[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20090117172A - Memory device and memory data read method - Google Patents

Memory device and memory data read method Download PDF

Info

Publication number
KR20090117172A
KR20090117172A KR1020080043087A KR20080043087A KR20090117172A KR 20090117172 A KR20090117172 A KR 20090117172A KR 1020080043087 A KR1020080043087 A KR 1020080043087A KR 20080043087 A KR20080043087 A KR 20080043087A KR 20090117172 A KR20090117172 A KR 20090117172A
Authority
KR
South Korea
Prior art keywords
index information
data
voltage level
read
memory
Prior art date
Application number
KR1020080043087A
Other languages
Korean (ko)
Inventor
송승환
조경래
은희석
공준진
김종한
손홍락
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020080043087A priority Critical patent/KR20090117172A/en
Publication of KR20090117172A publication Critical patent/KR20090117172A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/30Power supply circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

PURPOSE: A memory device and a memory data reading method for MLC and MBC are provided to reduce time for search reading voltage level and read from the memory device by using writing voltage level. CONSTITUTION: A memory device(100) includes a memory cell array(110), a reading unit(120), and a controller(130). The memory cell array includes memory cells. The reading unit reads data from the memory cell array and uses the first reading voltage level. The reading unit produces the first index information based on data. The controller reads the second index information stored in the memory cell array.

Description

메모리 장치 및 메모리 데이터 읽기 방법 {MEMORY DEVICE AND MEMORY DATA READ METHOD}How to read memory device and memory data {MEMORY DEVICE AND MEMORY DATA READ METHOD}

본 발명은 메모리 장치의 데이터를 읽는 방법에 관한 것으로, 보다 상세하게는 멀티 레벨 셀(Multi-level Cell, MLC) 또는 멀티 비트 셀(Multi-Bit Cell, MBC) 메모리 장치의 데이터를 읽는 장치 및 방법에 관한 것이다.The present invention relates to a method of reading data of a memory device, and more particularly, to an apparatus and method of reading data of a multi-level cell (MLC) or a multi-bit cell (MBC) memory device. It is about.

싱글 레벨 셀(SLC: single-level cell) 메모리는 하나의 메모리 셀에 1비트의 데이터를 저장하는 메모리이다. 싱글 레벨 셀 메모리는 싱글 비트 셀(SBC: single-bit cell) 메모리로도 불린다. 싱글 레벨 셀 메모리의 메모리 셀(싱글 레벨 셀)에 데이터를 저장하는 과정은 프로그램 과정이라고도 불리며, 메모리 셀의 문턱 전압(threshold voltage)을 변화시킬 수 있다. 예를 들어, 싱글 레벨 셀에 논리 "1"의 데이터가 저장된 경우에는 싱글 레벨 셀은 1.0 Volt의 문턱 전압을 가질 수 있으며, 논리 "0"의 데이터가 저장된 경우에는 싱글 레벨 셀은 3.0 Volt의 문턱 전압을 가질 수 있다.Single-level cell (SLC) memory is a memory that stores one bit of data in one memory cell. Single level cell memory is also referred to as single-bit cell (SBC) memory. The process of storing data in a memory cell (single level cell) of a single level cell memory is also called a program process and may change a threshold voltage of the memory cell. For example, when data of logic "1" is stored in a single level cell, the single level cell may have a threshold voltage of 1.0 Volt. In case of data of logic "0", the single level cell has a threshold of 3.0 Volt. May have a voltage.

싱글 레벨 셀들 간의 미세한 전기적 특성의 차이로 인해 동일한 데이터가 프로그램된 싱글 레벨 셀들 각각에 형성된 문턱 전압은 일정한 범위의 산 포(distribution)를 가지게 된다. 예를 들어, 메모리 셀로부터 판독된 전압이 0.5-1.5 Volt인 경우에는 상기 메모리 셀에 저장된 데이터는 논리 "1"이고, 메모리 셀로부터 판독된 전압이 2.5-3.5 Volt인 경우에는 상기 메모리 셀에 저장된 데이터는 논리 "0"으로 판정될 수 있다. 메모리 셀에 저장된 데이터는 판독 동작 시 메모리 셀의 전류/전압의 차이에 의하여 구분된다.Due to the difference in minute electrical characteristics between the single level cells, the threshold voltage formed in each of the single level cells in which the same data is programmed has a range of distribution. For example, if the voltage read from the memory cell is 0.5-1.5 Volt, the data stored in the memory cell is logic " 1 ", and if the voltage read from the memory cell is 2.5-3.5 Volt, the data stored in the memory cell The data can be determined as logic "0". Data stored in the memory cell is distinguished by a difference in current / voltage of the memory cell during a read operation.

한편 메모리의 고집적화 요구에 응답하여 하나의 메모리 셀에 2비트 이상의 데이터를 프로그램할 수 있는 멀티 레벨 셀(MLC: multi-level cell) 메모리가 제안되었다. 멀티 레벨 셀 메모리는 멀티 비트 셀(MBC: multi-bit cell) 메모리로도 불린다. 그러나, 하나의 메모리 셀에 프로그램되는 비트의 수가 증가할수록 신뢰성은 떨어지고, 판독 실패율(read failure rate)은 증가하게 된다. 하나의 메모리 셀에 m개의 비트를 프로그램하려면, 2m개의 문턱 전압 중 어느 하나가 상기 메모리 셀에 형성되어야 한다. 메모리 셀들 간의 미세한 전기적 특성의 차이로 인해, 동일한 데이터가 프로그램된 메모리 셀들의 문턱 전압들은 일정한 범위의 산포(distribution)를 형성할 수 있다. 이 때, m개의 비트에 의해 생성될 수 있는 2m 개의 데이터 값 각각에 하나씩의 문턱 전압 산포가 대응할 수 있다.Meanwhile, a multi-level cell (MLC) memory capable of programming two or more bits of data in one memory cell has been proposed in response to a demand for high integration of memory. Multi-level cell memory is also called multi-bit cell (MBC) memory. However, as the number of bits programmed into one memory cell increases, the reliability decreases, and the read failure rate increases. In order to program m bits in one memory cell, any one of 2 m threshold voltages must be formed in the memory cell. Due to the difference in minute electrical characteristics between the memory cells, the threshold voltages of the memory cells in which the same data is programmed may form a range of distribution. In this case, one threshold voltage distribution may correspond to each of the 2 m data values that may be generated by the m bits.

그러나, 메모리의 전압 윈도우(voltage window)는 제한되어 있기 때문에, m이 증가함에 따라 인접한 비트들 간의 문턱 전압(threshold)의 2m개의 산포들 간의 거리는 줄어들고, 산포들 간의 거리가 더욱 줄어들면 산포들끼리 겹칠 수 있다. 산포들끼리 겹치면 판독 실패율이 증가할 수 있다.However, because the voltage window of the memory is limited, the distance between 2 m dispersions of the threshold voltage between adjacent bits decreases as m increases, and if the distance between the dispersions further decreases, May overlap. Overlapping spreads can increase the read failure rate.

본 발명의 실시예들에 따르면 최적의 읽기 전압 레벨을 탐색하는 시간을 단축할 수 있고, 최적의 읽기 전압 레벨을 이용하여 메모리 장치로부터 데이터를 읽을 수 있다.According to embodiments of the present invention, the time for searching for the optimal read voltage level can be shortened, and data can be read from the memory device using the optimal read voltage level.

본 발명의 일 실시예에 따른 메모리 장치는 복수의 메모리 셀들을 포함하는 메모리 셀 어레이, 제1 읽기 전압 레벨을 이용하여 상기 메모리 셀 어레이로부터 데이터를 읽고, 상기 읽은 데이터에 기초하여 제1 인덱스 정보를 생성하는 독출부, 및 상기 메모리 셀 어레이에 저장된 제2 인덱스 정보를 읽고, 상기 제1 인덱스 정보 및 상기 제2 인덱스 정보의 비교 결과에 기초하여 제2 읽기 전압 레벨을 생성할 지 여부를 결정하는 제어부를 포함할 수 있다.In an embodiment, a memory device may include a memory cell array including a plurality of memory cells, read data from the memory cell array using a first read voltage level, and read first index information based on the read data. A generating unit and a control unit which reads second index information stored in the memory cell array and determines whether to generate a second read voltage level based on a comparison result of the first index information and the second index information. It may include.

본 발명의 다른 실시예에 따른 메모리 데이터 읽기 방법은 제1 읽기 전압 레벨을 이용하여 메모리 셀 어레이로부터 데이터를 읽는 단계, 상기 읽은 데이터에 기초하여 제1 인덱스 정보를 생성하는 단계, 상기 메모리 셀 어레이에 저장된 제2 인덱스 정보를 읽는 단계, 상기 제1 인덱스 정보 및 상기 제2 인덱스 정보를 비교하는 단계, 및 상기 비교 결과에 기초하여 제2 읽기 전압 레벨을 생성할 지 여부를 결정하는 단계를 포함할 수 있다.According to another aspect of the present invention, a method of reading memory data may include reading data from a memory cell array using a first read voltage level, generating first index information based on the read data, and writing to the memory cell array. Reading stored second index information, comparing the first index information and the second index information, and determining whether to generate a second read voltage level based on the comparison result. have.

이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited or limited by the embodiments. Like reference numerals in the drawings denote like elements.

도 1은 본 발명의 일 실시예에 따른 메모리 장치(100)를 도시하는 도면이다.1 is a diagram illustrating a memory device 100 according to an embodiment of the present invention.

도 1을 참조하면, 메모리 장치(100)는 메모리 셀 어레이(110), 독출부(120), 및 제어부(130)를 포함한다.Referring to FIG. 1, the memory device 100 may include a memory cell array 110, a reader 120, and a controller 130.

메모리 셀 어레이(110)는 복수의 메모리 셀들을 포함한다. 메모리 셀 어레이(110)는 데이터 및 제2 인덱스 정보를 저장할 수 있다. 제2 인덱스 정보는 데이터에 대한 관리 정보를 포함할 수 있다.The memory cell array 110 includes a plurality of memory cells. The memory cell array 110 may store data and second index information. The second index information may include management information about the data.

독출부(120)는 제1 읽기 전압 레벨을 이용하여 메모리 셀 어레이(110)로부터 데이터를 읽는다. 독출부(120)는 상기 읽은 데이터에 기초하여 제1 인덱스 정보를 생성한다.The read unit 120 reads data from the memory cell array 110 using the first read voltage level. The reader 120 generates first index information based on the read data.

독출부(120)는 메모리 셀 어레이(110) 중 데이터가 저장된 메모리 셀의 문턱 전압을 제1 읽기 전압 레벨과 비교할 수 있다. 독출부(120)는 제1 읽기 전압 레벨보다 높은 문턱 전압을 가지는 메모리 셀에 저장된 데이터를 "0"으로 판정할 수 있고, 제1 읽기 전압 레벨보다 낮은 문턱 전압을 가지는 메모리 셀에 저장된 데이터를 "1"로 판정할 수 있다.The read unit 120 may compare the threshold voltage of the memory cell in which the data is stored in the memory cell array 110 with the first read voltage level. The read unit 120 may determine that data stored in the memory cell having the threshold voltage higher than the first read voltage level is "0", and read data stored in the memory cell having the threshold voltage lower than the first read voltage level. 1 "can be determined.

제어부(130)는 메모리 셀 어레이(110)에 저장된 제2 인덱스 정보를 읽는다. 제어부(130)는 제1 인덱스 정보 및 제2 인덱스 정보의 비교 결과에 기초하여 제2 읽기 전압 레벨을 생성할 지 여부를 결정한다.The controller 130 reads the second index information stored in the memory cell array 110. The controller 130 determines whether to generate a second read voltage level based on a comparison result of the first index information and the second index information.

제어부(130)는 제1 인덱스 정보 및 제2 인덱스 정보의 차이가 기준치 이상이면 제1 인덱스 정보 및 제2 인덱스 정보의 차이에 기초하여 제2 읽기 전압 레벨을 생성할 수 있다. 독출부(120)는 상기 생성된 제2 읽기 전압 레벨을 이용하여 메모 리 셀 어레이(110)로부터 데이터를 다시 읽을 수 있다. 독출부(120)는 상기 다시 읽은 데이터를 이용하여 상기 데이터를 업데이트할 수 있다. 독출부(120)는 상기 업데이트된 데이터에 기초하여 제1 인덱스 정보를 업데이트할 수 있다. 제어부(130)는 업데이트된 제1 인덱스 정보 및 제2 인덱스 정보의 비교 결과에 기초하여 제3 읽기 전압 레벨을 생성할 지 여부를 결정할 수 있다.If the difference between the first index information and the second index information is greater than or equal to the reference value, the controller 130 may generate a second read voltage level based on the difference between the first index information and the second index information. The reader 120 may read data from the memory cell array 110 again using the generated second read voltage level. The reader 120 may update the data using the read back data. The reader 120 may update first index information based on the updated data. The controller 130 may determine whether to generate the third read voltage level based on the comparison result of the updated first index information and the second index information.

메모리 장치(100)는 상기 업데이트된 제1 인덱스 정보 및 제2 인덱스 정보의 차이가 기준치 미만일 때까지 읽기 전압 레벨을 조정할 수 있다. 메모리 장치(100)는 상기 업데이트된 제1 인덱스 정보 및 제2 인덱스 정보의 차이가 기준치 미만일 때까지 상기 조정된 읽기 전압 레벨을 이용하여 데이터를 다시 읽고, 제1 인덱스 정보를 업데이트할 수 있다.The memory device 100 may adjust the read voltage level until the difference between the updated first index information and the second index information is less than a reference value. The memory device 100 may read data again using the adjusted read voltage level until the difference between the updated first index information and the second index information is less than a reference value, and update the first index information.

메모리 장치(100)는 상기 읽은 데이터에 기초하여 생성된 제1 인덱스 정보 및 메모리 셀 어레이(110)에 저장된 제2 인덱스 정보의 차이가 기준치 미만이 되도록 하는 읽기 전압 레벨을 탐색할 수 있다.The memory device 100 may search for a read voltage level such that a difference between the first index information generated based on the read data and the second index information stored in the memory cell array 110 is less than a reference value.

상기 탐색된 읽기 전압 레벨은 제2 인덱스 정보와 같거나 거의 유사한 제1 인덱스 정보가 생성되도록 하는 이상적인 읽기 전압 레벨일 수 있다. 메모리 장치(100)는 이상적인 읽기 전압 레벨을 탐색하는 데 소요되는 시간을 단축할 수 있다.The searched read voltage level may be an ideal read voltage level such that first index information that is about the same or substantially similar to the second index information is generated. The memory device 100 may shorten the time required to search for an ideal read voltage level.

제어부(130)는 제1 인덱스 정보 및 제2 인덱스 정보의 차이가 기준치 미만이면 상기 읽은 데이터를 출력하도록 독출부(120)를 제어할 수 있다.The controller 130 may control the reader 120 to output the read data when the difference between the first index information and the second index information is less than the reference value.

독출부(120)는 제1 읽기 전압 레벨보다 높은 문턱 전압을 가지는 메모리 셀 의 개수를 계산하고, 상기 계산된 메모리 셀의 개수를 제1 인덱스 정보로 생성할 수 있다. 제어부(130)는 제1 인덱스 정보가 제2 인덱스 정보보다 크면 제1 읽기 전압 레벨보다 높은 전압 레벨을 제2 읽기 전압 레벨로 설정할 수 있다. 제어부(130)는 제1 인덱스 정보가 제2 인덱스 정보보다 작으면 제1 읽기 전압 레벨보다 낮은 전압 레벨을 제2 읽기 전압 레벨로 설정할 수 있다.The read unit 120 may calculate the number of memory cells having a threshold voltage higher than the first read voltage level, and generate the calculated number of memory cells as first index information. If the first index information is greater than the second index information, the controller 130 may set a voltage level higher than the first read voltage level as the second read voltage level. If the first index information is smaller than the second index information, the controller 130 may set a voltage level lower than the first read voltage level as the second read voltage level.

다른 실시예에 따라서는 독출부(120)는 제1 읽기 전압 레벨보다 낮은 문턱 전압을 가지는 메모리 셀의 개수를 제1 인덱스 정보로 생성할 수도 있다. 이 때 제어부(130)는 제1 인덱스 정보가 제2 인덱스 정보보다 크면 제1 읽기 전압 레벨보다 낮은 전압 레벨을 제2 읽기 전압 레벨로 설정할 수 있다.According to another exemplary embodiment, the reader 120 may generate the number of memory cells having a threshold voltage lower than the first read voltage level as first index information. In this case, when the first index information is greater than the second index information, the controller 130 may set a voltage level lower than the first read voltage level as the second read voltage level.

도 2는 본 발명의 다른 실시예에 따른 메모리 장치(200)를 도시하는 도면이다.2 is a diagram illustrating a memory device 200 according to another embodiment of the present invention.

도 2를 참조하면, 메모리 장치(200)는 메모리 셀 어레이(210), 독출부(220) 및 제어부(230)를 포함하고, ECC(Error Control Codes or Error Control Coding) 디코더(240) 및 프로그래밍부(250)를 더 포함할 수 있다.2, the memory device 200 includes a memory cell array 210, a reader 220, and a controller 230, an error control code or error control coding (ECC) decoder 240, and a programming unit. 250 may further include.

메모리 셀 어레이(210)는 데이터가 저장된 데이터 저장부(211) 및 제2 인덱스 정보가 저장된 인덱스 저장부(212)를 포함할 수 있다.The memory cell array 210 may include a data storage 211 in which data is stored and an index storage 212 in which second index information is stored.

프로그래밍부(250)는 데이터를 데이터 저장부(211)에 프로그램하고, 데이터에 대응하는 제2 인덱스 정보를 인덱스 저장부(212)에 프로그램할 수 있다.The programming unit 250 may program data into the data storage unit 211, and program second index information corresponding to the data into the index storage unit 212.

메모리 셀의 문턱 전압을 변화시켜 데이터를 저장하는 과정을 프로그래밍이라 하기도 한다. 프로그래밍부(250)는 메모리 셀에 저장될 데이터에 기초하여 상 기 메모리 셀의 목표 문턱 전압 구간을 설정할 수 있다. 프로그래밍부(250)는 상기 메모리 셀의 문턱 전압이 상기 설정된 목표 문턱 전압 구간에 포함되도록 상기 메모리 셀의 문턱 전압을 변경시킬 수 있다.The process of storing data by changing the threshold voltage of the memory cell is also called programming. The programming unit 250 may set a target threshold voltage section of the memory cell based on data to be stored in the memory cell. The programming unit 250 may change the threshold voltage of the memory cell such that the threshold voltage of the memory cell is included in the set target threshold voltage section.

예를 들어 프로그래밍부(250)는 데이터 "1"이 저장될 메모리 셀에 대해서는 1 volt 이상 2 volt 이하의 목표 문턱 전압 구간을 설정할 수 있고, 데이터 "0"이 저장될 메모리 셀에 대해서는 3 volt 이상 4 volt 이하의 목표 문턱 전압 구간을 설정할 수 있다.For example, the programming unit 250 may set a target threshold voltage range of 1 volt or more and 2 volt or less for the memory cell in which the data “1” is to be stored, and 3 volt or more for the memory cell in which the data “0” is to be stored. You can set the target threshold voltage range below 4 volts.

프로그래밍부(250)는 데이터 "1"이 저장될 메모리 셀의 문턱 전압이 1 volt 이상 2 volt 이하의 목표 문턱 전압 구간에 포함되도록 데이터 "1"이 저장될 메모리 셀의 문턱 전압을 변경할 수 있다. 프로그래밍부(250)는 데이터 "0"이 저장될 메모리 셀의 문턱 전압이 3 volt 이상 4 volt 이하의 목표 문턱 전압 구간에 포함되도록 데이터 "0"이 저장될 메모리 셀의 문턱 전압을 변경할 수 있다.The programming unit 250 may change the threshold voltage of the memory cell in which the data “1” is to be stored such that the threshold voltage of the memory cell in which the data “1” is to be stored is included in a target threshold voltage section of 1 volt or more and 2 volt or less. The programming unit 250 may change the threshold voltage of the memory cell in which the data “0” is to be stored so that the threshold voltage of the memory cell in which the data “0” is to be stored is included in a target threshold voltage section of 3 volts to 4 volts.

실시예에 따라서는 프로그래밍부(250)는 검증 전압과의 비교에 의하여 메모리 셀의 문턱 전압을 변경시킬 수도 있다. 프로그래밍부(250)는 메모리 셀에 저장될 데이터에 기초하여 상기 메모리 셀에 대한 검증 전압을 설정할 수 있다.In some example embodiments, the programming unit 250 may change the threshold voltage of the memory cell by comparison with the verify voltage. The programming unit 250 may set a verify voltage for the memory cell based on data to be stored in the memory cell.

예를 들어 프로그래밍부(250)는 데이터 "1"이 저장될 메모리 셀에 대해서는 1 volt의 검증 전압을 설정할 수 있고, 데이터 "0"이 저장될 메모리 셀에 대해서는 3 volt의 검증 전압을 설정할 수 있다. 프로그래밍부(250)는 데이터 "1"이 저장될 메모리 셀이 1 volt의 검증 전압보다 높은 문턱 전압을 가지도록 데이터 "1"이 저장될 메모리 셀의 문턱 전압을 변경시킬 수 있다. 프로그래밍부(250)는 데이터 "0"이 저장될 메모리 셀이 3 volt의 검증 전압보다 높은 문턱 전압을 가지도록 데이터 "0"이 저장될 메모리 셀의 문턱 전압을 변경시킬 수 있다.For example, the programming unit 250 may set a verify voltage of 1 volt for a memory cell in which data "1" is to be stored, and set a verify voltage of 3 volt for a memory cell in which data "0" is to be stored. . The programming unit 250 may change the threshold voltage of the memory cell in which the data “1” is to be stored such that the memory cell in which the data “1” is to be stored has a threshold voltage higher than the verify voltage of 1 volt. The programming unit 250 may change the threshold voltage of the memory cell in which the data “0” is to be stored so that the memory cell in which the data “0” is to be stored has a threshold voltage higher than the verify voltage of 3 volts.

프로그래밍부(250)는 일정 시간 구간 동안 메모리 셀의 문턱 전압을 변경시킬 수 있는 조건 전압을 메모리 셀에 인가할 수 있다. 프로그래밍부(250)는 일정 시간 구간 후 상기 메모리 셀의 문턱 전압을 검증 전압 또는 목표 문턱 전압 구간과 비교하고, 상기 메모리 셀의 문턱 전압이 검증 전압보다 높거나 목표 문턱 전압 구간에 포함되는 경우 상기 메모리 셀에 대한 문턱 전압 변경을 중단할 수 있다.The programming unit 250 may apply a condition voltage to the memory cell to change the threshold voltage of the memory cell for a predetermined time period. The programming unit 250 compares the threshold voltage of the memory cell with a verify voltage or a target threshold voltage section after a predetermined time interval, and when the threshold voltage of the memory cell is higher than the verify voltage or included in the target threshold voltage section. The threshold voltage change for the cell can be stopped.

문턱 전압의 변화에 따라 데이터를 저장하는 메모리 장치(100, 200)의 메모리 셀은 컨트롤 게이트(control gate, CG) 및 플로팅 게이트(floating gate, FG)를 포함할 수 있으며 CG 및 FG 사이에는 절연체(insulator)가 삽입되고, FG 및 서브스트레이트(substrate) 간에도 절연체가 삽입될 수 있다.The memory cells of the memory devices 100 and 200 that store data according to the change of the threshold voltage may include a control gate (CG) and a floating gate (FG), and an insulator (CG and FG) may be formed between the memory cells. An insulator may be inserted, and an insulator may be inserted between the FG and the substrate.

메모리 셀에 데이터를 저장하는 프로그램 과정 또는 메모리 셀에 저장된 데이터를 소거하는(erase) 과정은 핫 캐리어 효과(hot carrier effect, HCE) 또는 F-N 터널링(Fowler-Nordheim Tunneling, F-N tunneling) 메커니즘에 의하여 수행될 수 있다.The program process of storing data in the memory cell or the process of erasing data stored in the memory cell may be performed by a hot carrier effect (HCE) or Fowler-Nordheim Tunneling (FN tunneling) mechanism. Can be.

특정한 바이어스 조건(bias condition) 하에서, 서브스트레이트 영역 중 FG에 가장 근접한 영역에는 채널이 형성될 수 있다. 채널은 서브스트레이트 영역의 소수 반송자(minority carrier)들이 밀집해서 생성되는 영역이며, 메모리 장치(100, 200)는 이들 소수 반송자들을 제어하여 메모리 셀에 데이터를 프로그램하거나 메모리 셀에 저장된 데이터를 소거할 수 있다.Under certain bias conditions, a channel may be formed in the region closest to the FG in the substrate region. A channel is an area in which minority carriers of a substrate area are densely formed. The memory devices 100 and 200 control these minority carriers to program data in a memory cell or erase data stored in the memory cell. can do.

서브스트레이트 영역의 소스(source), 드레인(drain) 및 CG에 특정한 바이어스가 인가되면, 채널의 소수 반송자들이 FG로 이동할 수 있다. 채널의 소수 반송자들이 FG로 이동하는 메커니즘으로 대표적인 것들로는 HCE 및 F-N 터널링이 있다.When specific bias is applied to the source, drain and CG of the substrate region, minority carriers in the channel may move to the FG. Representative mechanisms by which minority carriers in the channel move to the FG include HCE and F-N tunneling.

독출부(220)는 읽기 전압 레벨을 이용하여 데이터 저장부(211)로부터 데이터를 읽고, 상기 읽은 데이터에 기초하여 제1 인덱스 정보를 생성할 수 있다.The read unit 220 may read data from the data storage unit 211 using a read voltage level and generate first index information based on the read data.

제1 인덱스 정보는 데이터 저장부(211)의 메모리 셀들 중 읽기 전압 레벨보다 높은 문턱 전압을 가지는 메모리 셀들의 개수일 수 있다.The first index information may be the number of memory cells having a threshold voltage higher than a read voltage level among the memory cells of the data storage 211.

제어부(230)는 인덱스 저장부(212)에 저장된 제2 인덱스 정보를 읽고, 제1 인덱스 정보 및 제2 인덱스 정보를 비교할 수 있다. 제어부(230)는 인덱스 저장부(212)에 저장된 제2 인덱스 정보와 동일한 제1 인덱스 정보가 상기 읽은 데이터로부터 생성될 때까지 상기 읽기 레벨 전압을 조정할 수 있다. 제어부(230)는 제2 인덱스 정보와 동일 또는 매우 유사한 제1 인덱스 정보를 얻을 수 있는 최적의 읽기 레벨 전압을 탐색할 수 있다.The controller 230 may read the second index information stored in the index storage 212 and compare the first index information with the second index information. The controller 230 may adjust the read level voltage until the same first index information as the second index information stored in the index storage 212 is generated from the read data. The controller 230 may search for an optimal read level voltage capable of obtaining first index information that is the same as or very similar to the second index information.

ECC(Error Control Codes or Error Control Coding) 디코더(240)는 상기 읽은 데이터를 디코드하여 출력 데이터를 생성할 수 있다. 메시지(message)에 잉여 정보(redundant information)를 부가하여 코드워드(codeword)를 생성하는 과정을 ECC 인코딩(encoding)이라 하고, 코드워드로부터 메시지 및 잉여 정보를 분리하는 과정을 ECC 디코딩(decoding)이라 할 수 있다.An error control code or error control coding (ECC) decoder 240 may decode the read data and generate output data. The process of generating a codeword by adding redundant information to a message is called ECC encoding, and the process of separating a message and surplus information from a codeword is called ECC decoding. can do.

ECC 디코더(240)는 상기 읽은 데이터를 복수의 코드워드들로 분할할 수 있고, 코드워드들 각각을 디코드하여 메시지를 분리할 수 있다. 예를 들어 상기 읽 은 데이터가 1000 bits 이면 ECC 디코더(240)는 상기 읽은 데이터를 10개의 100 bit 코드워드들로 분할할 수 있다. 메시지 대 잉여 정보의 비율이 80 대 20이면 ECC 디코더(240)는 각 코드워드로부터 80 bit 메시지 및 20 bit 잉여 정보를 분리할 수 있다. ECC 디코더(240)는 분리된 메시지들을 결합하여 출력 데이터를 생성할 수 있다.The ECC decoder 240 may divide the read data into a plurality of codewords, and decode each of the codewords to separate a message. For example, if the read data is 1000 bits, the ECC decoder 240 may divide the read data into ten 100 bit codewords. If the ratio of message to surplus information is 80 to 20, the ECC decoder 240 may separate the 80 bit message and the 20 bit surplus information from each codeword. The ECC decoder 240 may combine the separated messages to generate output data.

(잉여 정보/메시지)의 비율이 클수록 ECC 디코더(240)가 정정할 수 있는 오류의 개수가 증가한다. ECC 디코더(240)의 종류에 따라서는 오류 정정 능력(error correcting capability)이 명시적으로 드러나는 경우가 있을 수 있다. 오류 정정 능력이 명시적으로 드러나는 ECC로는 블록 코드(block codes) 등이 있다. 블록 코드의 예로는, BCH(Bose, Ray-Chaudhuri, Hocquenghem) 코드 또는 리드 솔로몬 (Reed-Solomon) 코드 등이 있으며, 이에 대한 디코딩 기법으로 메짓(Meggitt) 디코딩 기법, 벌레캠프메시(Berlekamp-Massey) 디코딩 기법, 유클리드(Euclid) 디코딩 기법 등이 있다. 코드워드에 포함된 오류의 개수가 오류 정정 능력 이하이면 ECC 디코더(240)는 코드워드에 포함된 오류를 모두 정정할 수 있다.The larger the ratio of (redundant information / message), the greater the number of errors that the ECC decoder 240 can correct. Depending on the type of ECC decoder 240, an error correcting capability may be explicitly revealed. ECCs, in which error correction capabilities are explicitly revealed, include block codes. Examples of block codes are BCH (Bose, Ray-Chaudhuri, Hocquenghem) code or Reed-Solomon code. Decoding techniques, Euclid decoding techniques, and the like. If the number of errors included in the codeword is less than the error correction capability, the ECC decoder 240 may correct all the errors included in the codeword.

실시예에 따라서는 ECC 디코더(240)의 오류 정정 능력이 명시적으로 드러나지 않는 ECC 디코딩 기법이 이용될 수도 있다. ECC 디코더(240)의 입력 코드워드의 오류 비율이 임계값 이하이면 ECC 디코더(240)의 출력 메시지의 오류 비율이 현저하게 감소할 수 있다. 이 때 상기 임계값을 오류 정정 범위(error correcting range)라 부를 수도 있다.In some embodiments, an ECC decoding technique may be used in which the error correction capability of the ECC decoder 240 is not explicitly revealed. If the error rate of the input codeword of the ECC decoder 240 is less than or equal to the threshold value, the error rate of the output message of the ECC decoder 240 may be significantly reduced. In this case, the threshold may be referred to as an error correcting range.

제어부(230)는 ECC 디코더(240)의 오류 정정 능력에 기초하여 상기 기준치를 설정할 수 있다. 제어부(230)는 제1 인덱스 정보 및 제2 인덱스 정보의 차이가 상기 기준치 이상이면 제2 읽기 전압 레벨을 생성할 수 있다. 실시예에 따라서는 제어부(230)는 ECC 디코더(240)의 오류 정정 범위에 기초하여 상기 기준치를 설정할 수도 있다.The controller 230 may set the reference value based on the error correction capability of the ECC decoder 240. The controller 230 may generate a second read voltage level when a difference between the first index information and the second index information is greater than or equal to the reference value. According to an embodiment, the controller 230 may set the reference value based on the error correction range of the ECC decoder 240.

메모리 장치(200)는 ECC 디코더(240)의 오류 정정 능력 또는 오류 정정 범위에 기초하여 상기 기준치를 설정함으로써 최적의 읽기 전압 레벨을 탐색하는 시간을 단축할 수 있다. 상기 읽은 데이터는 제1 인덱스 정보 및 제2 인덱스 정보의 차이에 대응하는 오류를 포함할 수 있다. 제1 인덱스 정보 및 제2 인덱스 정보의 차이가 상기 기준치 미만이면 ECC 디코더(240)는 상기 읽은 데이터의 오류를 모두 정정하거나(오류 정정 능력이 명시적으로 드러나는 경우) 상기 읽은 데이터의 오류 비율을 현저하게 감소(오류 정정 능력이 명시적으로 드러나지 않는 경우) 킬 수 있다.The memory device 200 may shorten the time for searching for the optimal read voltage level by setting the reference value based on the error correction capability or the error correction range of the ECC decoder 240. The read data may include an error corresponding to a difference between the first index information and the second index information. If the difference between the first index information and the second index information is less than the reference value, the ECC decoder 240 corrects all of the errors of the read data (when the error correction capability is explicitly revealed) or notifies the error rate of the read data. Can be reduced (if the error correction capability is not explicitly revealed).

도 3은 본 발명의 또 다른 실시예에 따른 메모리 장치(300)를 도시하는 도면이다.3 is a diagram illustrating a memory device 300 according to another exemplary embodiment of the present invention.

도 3을 참조하면, 메모리 장치(300)는 메모리 셀 어레이(310), 독출부(320) 및 제어부(330)를 포함하고, 페이지 버퍼(340) 및 코드 메모리(350)를 더 포함할 수 있다.Referring to FIG. 3, the memory device 300 may include a memory cell array 310, a reader 320, and a controller 330, and may further include a page buffer 340 and a code memory 350. .

메모리 셀 어레이(310)는 복수의 메모리 셀들을 포함하고, 독출부(320)는 읽기 전압 레벨을 이용하여 메모리 셀 어레이(310)로부터 데이터를 읽는다. 독출부(320)는 상기 읽은 데이터에 기초하여 제1 인덱스 정보를 생성한다.The memory cell array 310 includes a plurality of memory cells, and the read unit 320 reads data from the memory cell array 310 using a read voltage level. The read unit 320 generates first index information based on the read data.

제어부(330)는 메모리 셀 어레이(310)에 저장된 제2 인덱스 정보를 읽고, 제1 인덱스 정보 및 제2 인덱스 정보를 비교한다.The controller 330 reads the second index information stored in the memory cell array 310 and compares the first index information with the second index information.

페이지 버퍼(340)는 상기 읽은 데이터를 저장할 수 있다. 제어부(330)는 제1 인덱스 정보 및 제2 인덱스 정보의 비교 결과에 기초하여 페이지 버퍼(340)에 저장된 데이터를 출력할 지 여부를 결정할 수 있다.The page buffer 340 may store the read data. The controller 330 may determine whether to output data stored in the page buffer 340 based on a result of comparing the first index information and the second index information.

제어부(330)는 제1 인덱스 정보가 제2 인덱스 정보와 같으면 상기 읽은 데이터에 오류가 없는 것으로 간주할 수 있고 페이지 버퍼(340)에 저장된 데이터를 출력하도록 페이지 버퍼(340)를 제어할 수 있다.If the first index information is equal to the second index information, the controller 330 may consider that the read data has no error and may control the page buffer 340 to output data stored in the page buffer 340.

제어부(330)는 제1 인덱스 정보가 제2 인덱스 정보와 다르면 상기 읽은 데이터에 오류가 있는 것으로 간주할 수 있고 페이지 버퍼(340)에 저장된 데이터를 출력하지 않도록 페이지 버퍼(340)를 제어할 수 있다.If the first index information is different from the second index information, the controller 330 may regard the read data as having an error and may control the page buffer 340 not to output data stored in the page buffer 340. .

실시예에 따라서는 제어부(330)는 제1 인덱스 정보가 제2 인덱스 정보와 매우 유사하면 상기 읽은 데이터에 오류가 매우 적은 것으로 간주할 수 있다. 이 때 제어부(330)는 제1 인덱스 정보 및 제2 인덱스 정보의 차이가 기준치 이하이면 페이지 버퍼(340)에 저장된 데이터를 출력하도록 페이지 버퍼(340)를 제어할 수 있다.According to an exemplary embodiment, if the first index information is very similar to the second index information, the controller 330 may consider that the read data has very few errors. In this case, the controller 330 may control the page buffer 340 to output data stored in the page buffer 340 when a difference between the first index information and the second index information is equal to or less than a reference value.

실시예에 따라서는 동시에 독출부(320)에 의하여 접근되는 메모리 셀들의 집합을 페이지(page)라 할 수 있다. 이 때 페이지 버퍼(340)는 페이지에 프로그램될 데이터를 저장하고, 프로그래밍 동작(programming operation)이 수행되는 동안 저장된 데이터를 유지할 수 있다. 페이지 버퍼(340)는 페이지에 포함되는 메모리 셀 들로부터 읽힌 데이터를 저장하고, 제어부(330)의 명령(command)에 따라 저장된 데이터를 출력할 수 있다.According to an exemplary embodiment, a set of memory cells that are simultaneously accessed by the reader 320 may be referred to as a page. In this case, the page buffer 340 may store data to be programmed in the page, and maintain the stored data while a programming operation is performed. The page buffer 340 may store data read from memory cells included in a page, and output the stored data according to a command of the controller 330.

코드 메모리(350)는 읽기 전압 레벨 코드를 저장할 수 있다. 읽기 전압 레벨은 디지털 아날로그 변환기(digital to analog converter, DAC)에 의하여 생성될 수 있다. DAC는 디지털 값에 대응하는 아날로그 전압 레벨을 생성할 수 있다. 예를 들어 DAC는 8 bit의 디지털 값을 이용하면 256 개의 아날로그 전압 레벨들을 생성할 수 있고, 읽기 전압 레벨은 상기 256 개의 아날로그 전압 레벨들 중 어느 하나일 수 있다. 읽기 전압 레벨 코드는 읽기 전압 레벨에 대응하는 디지털 값일 수 있다.The code memory 350 may store a read voltage level code. The read voltage level may be generated by a digital to analog converter (DAC). The DAC can generate analog voltage levels corresponding to digital values. For example, the DAC may generate 256 analog voltage levels using an 8 bit digital value, and the read voltage level may be any one of the 256 analog voltage levels. The read voltage level code may be a digital value corresponding to the read voltage level.

제어부(330)는 제1 인덱스 정보가 제2 인덱스 정보와 같으면 현재의 읽기 전압 레벨을 최적의 읽기 전압 레벨로 설정할 수 있다. 이 때 제어부(330)는 현재의 읽기 전압 레벨에 대응하는 읽기 전압 레벨 코드를 코드 메모리(350)에 저장할 수 있다.If the first index information is equal to the second index information, the controller 330 may set the current read voltage level to an optimal read voltage level. In this case, the controller 330 may store the read voltage level code corresponding to the current read voltage level in the code memory 350.

실시예에 따라서는 제어부(330)는 제1 인덱스 정보가 제2 인덱스 정보와 매우 유사하면 현재의 읽기 전압 레벨을 최적의 읽기 전압 레벨로 설정할 수 있다. 이 때 제어부(330)는 제1 인덱스 정보 및 제2 인덱스 정보의 차이가 기준치 이하이면 현재의 읽기 전압 레벨을 최적의 읽기 전압 레벨로 설정할 수 있다.According to an exemplary embodiment, if the first index information is very similar to the second index information, the controller 330 may set the current read voltage level to an optimal read voltage level. At this time, if the difference between the first index information and the second index information is less than the reference value, the controller 330 may set the current read voltage level to an optimal read voltage level.

제어부(330)는 제1 인덱스 정보가 제2 인덱스 정보와 다르면 현재의 읽기 전압 레벨을 조정하여 새로운 읽기 전압 레벨을 생성할 수 있다. 메모리 장치(300)는 제1 인덱스 정보가 제2 인덱스 정보와 같을 때까지 읽기 전압 레벨을 조정하여 최적의 읽기 전압 레벨을 탐색할 수 있다.If the first index information is different from the second index information, the controller 330 may generate a new read voltage level by adjusting the current read voltage level. The memory device 300 may search for an optimal read voltage level by adjusting the read voltage level until the first index information is equal to the second index information.

코드 메모리(350)는 제어부(330)에 의해 탐색된 최적의 읽기 전압 레벨에 대응하는 읽기 전압 레벨 코드를 저장할 수 있다.The code memory 350 may store a read voltage level code corresponding to the optimal read voltage level searched by the controller 330.

실시예에 따라서는 제어부(330)는 메모리 셀 어레이(310)의 메모리 셀들 각각에 대하여 최적의 읽기 전압 레벨을 탐색할 수 있다. 이 때 코드 메모리(350)는 메모리 셀 어레이(310)의 메모리 셀들 각각에 대하여 최적의 읽기 전압 레벨에 대응하는 읽기 전압 레벨 코드를 저장할 수 있다.In some embodiments, the controller 330 may search for an optimal read voltage level for each of the memory cells of the memory cell array 310. In this case, the code memory 350 may store a read voltage level code corresponding to an optimal read voltage level for each of the memory cells of the memory cell array 310.

실시예에 따라서는 제어부(330)는 워드 라인(word line)들 각각에 연결된 메모리 셀들에 대하여 최적의 읽기 전압 레벨을 탐색할 수 있다. 이 때 코드 메모리(350)는 상기 워드 라인들 각각에 대하여 최적의 읽기 전압 레벨에 대응하는 읽기 전압 레벨 코드를 저장할 수 있다. 메모리 장치(300)는 하나의 워드 라인에 연결된 메모리 셀들의 집합을 페이지로 설정할 수 있다. 메모리 장치(300)는 페이지에 포함되는 메모리 셀들에 대하여 동시에 프로그래밍 동작을 수행할 수 있고, 페이지에 포함되는 메모리 셀들로부터 동시에 데이터를 읽을 수 있다.In some embodiments, the controller 330 may search for an optimal read voltage level for memory cells connected to each of the word lines. In this case, the code memory 350 may store a read voltage level code corresponding to an optimal read voltage level for each of the word lines. The memory device 300 may set a set of memory cells connected to one word line as a page. The memory device 300 may simultaneously perform programming operations on memory cells included in a page, and simultaneously read data from memory cells included in the page.

실시예에 따라서는 제어부(330)는 메모리 셀 어레이(310) 내의 블록들 각각에 포함된 메모리 셀들에 대하여 최적의 읽기 전압 레벨을 탐색할 수 있다. 이 때 코드 메모리(350)는 상기 블록들 각각에 대하여 최적의 읽기 전압 레벨에 대응하는 읽기 전압 레벨 코드를 저장할 수 있다. 메모리 장치(300)는 하나의 블록에 포함된 메모리 셀들에 대하여 동시에 소거 동작(erase operation)을 수행할 수 있다.According to an exemplary embodiment, the controller 330 may search for an optimal read voltage level for memory cells included in each of the blocks in the memory cell array 310. In this case, the code memory 350 may store a read voltage level code corresponding to an optimal read voltage level for each of the blocks. The memory device 300 may simultaneously perform an erase operation on memory cells included in one block.

메모리 장치(300)는 코드 메모리(350)에 저장된 읽기 전압 레벨 코드에 대응 하는 읽기 전압 레벨을 디폴트(default) 읽기 전압 레벨로 설정할 수 있다. 메모리 장치(300)는 새로운 메모리 셀들에 대한 데이터 읽기 동작(data read operation)을 수행하는 동안 디폴트 읽기 전압 레벨을 이용하여 최초의 읽기 동작을 수행할 수 있다.The memory device 300 may set a read voltage level corresponding to a read voltage level code stored in the code memory 350 as a default read voltage level. The memory device 300 may perform an initial read operation using a default read voltage level while performing a data read operation on new memory cells.

도 4는 도 1의 메모리 장치(100)의 동작의 일 예를 도시하는 도면이다.4 is a diagram illustrating an example of an operation of the memory device 100 of FIG. 1.

도 4를 참조하면, 가로축은 메모리 셀의 문턱 전압을 나타내고, 세로축은 문턱 전압을 가지는 메모리 셀의 개수를 나타낸다.Referring to FIG. 4, the horizontal axis represents the threshold voltage of the memory cell, and the vertical axis represents the number of memory cells having the threshold voltage.

동일한 데이터가 저장된 메모리 셀들의 문턱 전압은 일정 범위의 문턱 전압 구간에 포함될 수 있다. 동일한 데이터가 저장된 메모리 셀들의 문턱 전압은 일정 범위의 산포(distribution)를 형성할 수 있다.Threshold voltages of memory cells that store the same data may be included in a threshold voltage section of a predetermined range. Threshold voltages of memory cells in which the same data are stored may form a distribution in a range.

데이터 A가 저장된 메모리 셀들의 문턱 전압은 산포(410)를 형성할 수 있다.Threshold voltages of memory cells in which data A is stored may form a distribution 410.

데이터 B가 저장된 메모리 셀들의 문턱 전압은 산포(420)를 형성할 수 있다.Threshold voltages of memory cells in which data B is stored may form a distribution 420.

데이터 A 및 데이터 B는 m(m은 양의 정수)비트의 데이터일 수 있다. 예를 들어 데이터 A는 2 비트 데이터 "10"일 수 있고, 데이터 B는 2 비트 데이터 "00"일 수 있다.Data A and data B may be m (m is a positive integer) bits of data. For example, data A may be two bit data "10" and data B may be two bit data "00".

시간의 경과에 따라 데이터 B가 저장된 메모리 셀들의 문턱 전압이 변화하여 산포(430)를 형성한다고 가정한다. 산포(430)에 대응하는 메모리 셀들의 개수는 산포(420)에 대응하는 메모리 셀들의 개수와 같다고 가정한다.It is assumed that a threshold voltage of memory cells in which data B is stored changes with time to form a distribution 430. Assume that the number of memory cells corresponding to spread 430 is equal to the number of memory cells corresponding to spread 420.

메모리 셀들의 문턱 전압이 시간의 경과에 따라 원치 않는 변화를 겪는 이유로 FG 커플링(coupling) 또는 전하 유실(charge loss) 등의 메커니즘이 있을 수 있 다.There may be a mechanism such as FG coupling or charge loss because the threshold voltage of the memory cells undergoes an unwanted change over time.

메모리 셀에 데이터를 프로그램하거나 메모리 셀에 저장된 데이터를 소거하는 과정은 HCE 또는 F-N 터널링에 의해 수행될 수 있음은 앞에서 설명한 바와 같다.As described above, the process of programming data in the memory cell or erasing data stored in the memory cell may be performed by HCE or F-N tunneling.

HCE는 F-N 터널링보다 빠른 시간 내에 FG로 많은 반송자들을 이동시킬 수 있으나, FG 및 서브스트레이트 간의 절연체에 상대적으로 큰 물리적인 데미지를 입힐 수 있다. F-N 터널링은 절연체에 비교적 작은 데미지를 입힐 수 있지만 메모리 셀에 데이터를 프로그램하고 메모리 셀에 저장된 데이터를 소거하는 횟수가 증가하면 이 때의 데미지도 무시될 수 없다.HCE can move many carriers to FG in less time than F-N tunneling, but can cause relatively large physical damage to the insulator between the FG and the substrate. F-N tunneling can cause relatively little damage to the insulator, but if the number of times of programming the data in the memory cell and erasing the data stored in the memory cell increases, the damage at this time cannot be ignored.

FG에 반송자가 축적되어 전하가 형성되면, 형성된 전하에 기초하여 메모리 셀의 데이터가 결정된다. 이 때, FG 주변의 절연체가 물리적인 데미지를 받으면 절연체에 반송자의 누설 경로(leaking path)가 생성될 수 있다.When carriers are accumulated in the FG and charges are formed, data of the memory cell is determined based on the formed charges. At this time, if the insulator around the FG receives physical damage, a leaking path of a carrier may be generated in the insulator.

FG에 충전된 전하는 방전 조건이 갖추어지기 전에는 FG에 유지되어야 하지만, 자연적인 확산 현상에 의하여 FG에 충전되어 있는 전하가 주위로 확산될 수도 있고, FG 주변의 절연체가 손상되어 전하의 누설 경로가 형성되면 FG에 충전된 전하가 유실될 수 있다. FG에 충전된 전하가 유실되는 메커니즘은 메모리 셀의 문턱 전압을 낮추는 경향이 있다.The charge charged in the FG must be maintained in the FG before the discharge condition is established, but due to the natural diffusion phenomenon, the charge charged in the FG may diffuse around, and the insulator around the FG is damaged to form a charge leakage path. The charge charged in the FG may be lost. The mechanism by which the charge charged in the FG is lost tends to lower the threshold voltage of the memory cell.

독출부(120)는 전압 레벨(440)을 제1 읽기 전압 레벨로 설정할 수 있다. 독출부(120)는 전압 레벨(440)을 이용하여 메모리 셀 어레이(110)로부터 데이터를 읽을 수 있다. 독출부(120)는 전압 레벨(440)보다 높은 문턱 전압을 가지는 메모리 셀들의 개수를 셀 수 있고, 상기 세어진 메모리 셀들의 개수를 제1 인덱스 정보로 생성할 수 있다.The reader 120 may set the voltage level 440 to the first read voltage level. The reader 120 may read data from the memory cell array 110 using the voltage level 440. The read unit 120 may count the number of memory cells having a threshold voltage higher than the voltage level 440, and generate the number of the counted memory cells as first index information.

독출부(120)는 데이터 B가 저장된 메모리 셀들의 문턱 전압의 변화를 인식하지 못하고 있으므로 산포(410) 및 산포(420)의 위치에 기초하여 전압 레벨(440)을 제1 읽기 전압 레벨로 설정할 수 있다.Since the read unit 120 does not recognize the change in the threshold voltage of the memory cells in which the data B is stored, the read unit 120 may set the voltage level 440 to the first read voltage level based on the positions of the dispersion 410 and the distribution 420. have.

산포 부분(431)은 산포(430)에 대응하는 메모리 셀들 중 전압 레벨(440)보다 낮은 문턱 전압을 가지는 메모리 셀들을 나타내고, 산포 부분(431)의 면적은 데이터 B가 저장된 메모리 셀들 중 전압 레벨(440)보다 낮은 문턱 전압을 가지는 메모리 셀들의 개수를 나타낸다.The spreading portion 431 represents memory cells having a threshold voltage lower than the voltage level 440 among the memory cells corresponding to the spreading 430, and the area of the spreading portion 431 represents the voltage level of the memory cells in which the data B is stored. The number of memory cells having a threshold voltage lower than 440 is shown.

산포 부분(432)은 산포(430)에 대응하는 메모리 셀들 중 전압 레벨(440)보다 높은 문턱 전압을 가지는 메모리 셀들을 나타내고, 산포 부분(432)의 면적은 데이터 B가 저장된 메모리 셀들 중 전압 레벨(440)보다 높은 문턱 전압을 가지는 메모리 셀들의 개수를 나타낸다.The spreading portion 432 represents memory cells having a threshold voltage higher than the voltage level 440 among the memory cells corresponding to the spreading 430, and the area of the spreading portion 432 represents a voltage level of the memory cells in which the data B is stored. The number of memory cells having a threshold voltage higher than 440 is shown.

독출부(120)는 산포 부분(432)에 대응하는 메모리 셀들의 개수를 제1 인덱스 정보로 생성할 수 있다. 제1 인덱스 정보는 산포 부분(432)의 면적에 대응할 수 있다.The reader 120 may generate the number of memory cells corresponding to the scattering part 432 as first index information. The first index information may correspond to the area of the scattering portion 432.

메모리 셀 어레이(110)에 저장된 제2 인덱스 정보는 산포(420)에 대응하는 메모리 셀들의 개수일 수 있다. 산포(430)에 대응하는 메모리 셀들의 개수는 산포(420)에 대응하는 메모리 셀들의 개수와 같다고 가정했으므로, 제2 인덱스 정보는 산포(430)의 면적에 대응할 수 있다.The second index information stored in the memory cell array 110 may be the number of memory cells corresponding to the dispersion 420. Since the number of memory cells corresponding to the spread 430 is assumed to be the same as the number of memory cells corresponding to the spread 420, the second index information may correspond to the area of the spread 430.

제1 인덱스 정보는 산포 부분(432)의 면적에 대응하고 제2 인덱스 정보는 산포(430)의 면적에 대응하므로 제어부(130)는 제1 인덱스 정보 및 제2 인덱스 정보의 차이에 기초하여 제2 읽기 전압 레벨을 설정할 수 있다.Since the first index information corresponds to the area of the scattering portion 432 and the second index information corresponds to the area of the scattering 430, the controller 130 may control the second index information based on the difference between the first index information and the second index information. You can set the read voltage level.

제1 인덱스 정보가 제2 인덱스 정보보다 작으면 제어부(130)는 전압 레벨(440)보다 낮은 전압 레벨(450)을 제2 읽기 전압 레벨로 설정할 수 있다.If the first index information is smaller than the second index information, the controller 130 may set the voltage level 450 lower than the voltage level 440 as the second read voltage level.

제어부(130)는 제2 인덱스 정보 및 제1 인덱스 정보의 차이인 산포 부분(431)의 면적에 기초하여 제1 읽기 전압 레벨 및 제2 읽기 전압 레벨의 차이를 조정할 수 있다. 제어부(130)는 산포 부분(431)의 면적이 클수록 제1 읽기 전압 레벨 및 제2 읽기 전압 레벨의 차이가 크도록 제2 읽기 전압 레벨을 선택할 수 있다.The controller 130 may adjust the difference between the first read voltage level and the second read voltage level based on the area of the dispersion portion 431 that is the difference between the second index information and the first index information. The controller 130 may select the second read voltage level such that the difference between the first read voltage level and the second read voltage level increases as the area of the scattering portion 431 increases.

제어부(130)는 산포 부분(431)의 면적에 따라 제2 읽기 전압 레벨을 선택할 수 있으나 제2 읽기 전압 레벨 및 제1 읽기 전압 레벨의 차이가 최대값보다 크지 않도록 제2 읽기 전압 레벨을 선택할 수 있다. 제2 읽기 전압 레벨 및 제1 읽기 전압 레벨의 차이가 너무 크면 읽기 전압 레벨의 궤적이 최적의 읽기 전압 레벨로 수렴(converge)하지 않고 발산(diverge)할 수 있기 때문이다. 메모리 장치(100)는 최적의 읽기 전압 레벨을 탐색할 수 있도록 읽기 전압 레벨의 변화의 최대값을 설정할 수 있다.The controller 130 may select the second read voltage level according to the area of the dispersion portion 431, but may select the second read voltage level so that the difference between the second read voltage level and the first read voltage level is not greater than the maximum value. have. This is because if the difference between the second read voltage level and the first read voltage level is too large, the trajectory of the read voltage level may diverge without converging to the optimal read voltage level. The memory device 100 may set a maximum value of the change of the read voltage level so as to search for the optimal read voltage level.

도 5는 도 1의 메모리 장치(100)의 동작의 다른 예를 도시하는 도면이다.5 is a diagram illustrating another example of an operation of the memory device 100 of FIG. 1.

도 5를 참조하면, 가로축은 메모리 셀의 문턱 전압을 나타내고, 세로축은 문턱 전압을 가지는 메모리 셀의 개수를 나타낸다.Referring to FIG. 5, the horizontal axis represents a threshold voltage of a memory cell, and the vertical axis represents the number of memory cells having a threshold voltage.

데이터 C가 저장된 메모리 셀들의 문턱 전압은 산포(510)를 형성할 수 있다.Threshold voltages of memory cells in which data C is stored may form a distribution 510.

데이터 D가 저장된 메모리 셀들의 문턱 전압은 산포(520)를 형성할 수 있다.Threshold voltages of memory cells in which data D is stored may form a distribution 520.

데이터 C 및 데이터 D는 m(m은 양의 정수)비트의 데이터일 수 있다. 예를 들어 데이터 C는 3 비트 데이터 "001"일 수 있고, 데이터 D는 3 비트 데이터 "011"일 수 있다.Data C and data D may be m (m is a positive integer) bits of data. For example, data C may be 3-bit data “001” and data D may be 3-bit data “011”.

시간의 경과에 따라 데이터 C가 저장된 메모리 셀들의 문턱 전압이 변화하여 산포(530)를 형성한다고 가정한다. 산포(530)에 대응하는 메모리 셀들의 개수는 산포(510)에 대응하는 메모리 셀들의 개수와 같다고 가정한다.It is assumed that a threshold voltage of memory cells in which data C is stored changes with time to form a distribution 530. Assume that the number of memory cells corresponding to spread 530 is equal to the number of memory cells corresponding to spread 510.

메모리 셀들의 문턱 전압이 시간의 경과에 따라 원치 않는 변화를 겪는 이유로 FG 커플링(coupling) 또는 전하 유실(charge loss) 등의 메커니즘이 있을 수 있음은 앞에서 설명한 바와 같다.As described above, there may be a mechanism such as FG coupling or charge loss because the threshold voltage of the memory cells undergoes an unwanted change over time.

FG 커플링이란, 중심 메모리 셀의 문턱 전압이 주변의 메모리 셀들의 문턱 전압의 변화량에 따라 영향 받는 현상을 말한다. 메모리 셀들의 FG들 간의 기생 커패시턴스(parasitic capacitance)의 커플링으로 인해 중심 메모리 셀의 문턱 전압이 영향 받는다.The FG coupling refers to a phenomenon in which the threshold voltage of the central memory cell is affected by the amount of change in the threshold voltage of neighboring memory cells. The threshold voltage of the central memory cell is affected by the coupling of parasitic capacitance between the FGs of the memory cells.

만일 프로그래밍 과정이 문턱 전압을 증가시키는 경우 중심 메모리 셀의 문턱 전압은 FG 커플링에 의해 원하는 값보다 증가하게 된다. FG 커플링과 같은 메커니즘에 의해, 메모리 셀들의 문턱 전압의 산포는 확산되는 경향을 가진다.If the programming process increases the threshold voltage, the threshold voltage of the central memory cell is increased by the FG coupling to a desired value. By mechanisms such as FG coupling, the distribution of threshold voltages of memory cells tends to spread.

멀티 비트 셀이 동작하는 전압 윈도우는 제한되어 있으므로, 문턱 전압의 산포가 확산될수록 문턱 전압의 산포가 겹칠 가능성이 높아지게 된다. 문턱 전압의 산포가 겹치는 정도가 심할수록 프로그래밍된 데이터를 정확하게 읽어내지 못하는 오류 비율(error rate)이 증가하게 된다.Since the voltage window in which the multi-bit cell operates is limited, the spread of the threshold voltages increases, so the probability of overlap of the threshold voltages increases. The deeper the overlap of threshold voltages, the higher the error rate of not being able to read the programmed data correctly.

독출부(120)는 전압 레벨(540)을 제1 읽기 전압 레벨로 설정할 수 있다. 독출부(120)는 전압 레벨(540)을 이용하여 메모리 셀 어레이(110)로부터 데이터를 읽을 수 있다. 독출부(120)는 전압 레벨(540)보다 높은 문턱 전압을 가지는 메모리 셀들의 개수를 셀 수 있고, 상기 세어진 메모리 셀들의 개수를 제1 인덱스 정보로 생성할 수 있다.The reader 120 may set the voltage level 540 to the first read voltage level. The reader 120 may read data from the memory cell array 110 using the voltage level 540. The read unit 120 may count the number of memory cells having a threshold voltage higher than the voltage level 540, and generate the number of the counted memory cells as first index information.

산포 부분(531)은 산포(530)에 대응하는 메모리 셀들 중 전압 레벨(540)보다 낮은 문턱 전압을 가지는 메모리 셀들을 나타내고, 산포 부분(531)의 면적은 데이터 C가 저장된 메모리 셀들 중 전압 레벨(540)보다 낮은 문턱 전압을 가지는 메모리 셀들의 개수를 나타낸다.The spreading portion 531 represents memory cells having a threshold voltage lower than the voltage level 540 among the memory cells corresponding to the spreading 530, and the area of the spreading portion 531 represents a voltage level of the memory cells in which the data C is stored. The number of memory cells having a threshold voltage lower than 540 is shown.

산포 부분(532)은 산포(530)에 대응하는 메모리 셀들 중 전압 레벨(540)보다 높은 문턱 전압을 가지는 메모리 셀들을 나타내고, 산포 부분(532)의 면적은 데이터 C가 저장된 메모리 셀들 중 전압 레벨(540)보다 높은 문턱 전압을 가지는 메모리 셀들의 개수를 나타낸다.The spreading portion 532 represents memory cells having a threshold voltage higher than the voltage level 540 among the memory cells corresponding to the spreading 530, and the area of the spreading portion 532 corresponds to the voltage level of the memory cells in which the data C is stored. The number of memory cells having a threshold voltage higher than 540 is shown.

독출부(120)는 산포 부분(532)에 대응하는 메모리 셀들의 개수 및 산포(520)에 대응하는 메모리 셀들의 개수의 합을 제1 인덱스 정보로 생성할 수 있다. 제1 인덱스 정보는 산포 부분(532)의 면적 및 산포(520)의 면적의 합에 대응할 수 있다.The reader 120 may generate, as first index information, the sum of the number of memory cells corresponding to the spreading portion 532 and the number of memory cells corresponding to the spreading 520. The first index information may correspond to the sum of the area of the scattering portion 532 and the area of the scattering 520.

메모리 셀 어레이(110)에 저장된 제2 인덱스 정보는 산포(520)에 대응하는 메모리 셀들의 개수일 수 있다. 따라서 제2 인덱스 정보는 산포(520)의 면적에 대응할 수 있다.The second index information stored in the memory cell array 110 may be the number of memory cells corresponding to the dispersion 520. Therefore, the second index information may correspond to the area of the dispersion 520.

제1 인덱스 정보는 산포 부분(532)의 면적 및 산포(520)의 면적의 합에 대응하고 제2 인덱스 정보는 산포(520)의 면적에 대응하므로 제어부(130)는 제1 인덱스 정보 및 제2 인덱스 정보의 차이에 기초하여 제2 읽기 전압 레벨을 설정할 수 있다.Since the first index information corresponds to the sum of the area of the scattering portion 532 and the area of the scattering 520, and the second index information corresponds to the area of the scattering 520, the controller 130 may control the first index information and the second. The second read voltage level may be set based on the difference in the index information.

제1 인덱스 정보가 제2 인덱스 정보보다 크면 제어부(130)는 전압 레벨(540)보다 높은 전압 레벨(550)을 제2 읽기 전압 레벨로 설정할 수 있다.If the first index information is greater than the second index information, the controller 130 may set a voltage level 550 higher than the voltage level 540 as the second read voltage level.

제어부(130)는 제2 인덱스 정보 및 제1 인덱스 정보의 차이인 산포 부분(532)의 면적에 기초하여 제1 읽기 전압 레벨 및 제2 읽기 전압 레벨의 차이를 조정할 수 있다. 제어부(130)는 산포 부분(532)의 면적이 클수록 제1 읽기 전압 레벨 및 제2 읽기 전압 레벨의 차이가 크도록 제2 읽기 전압 레벨을 선택할 수 있다.The controller 130 may adjust the difference between the first read voltage level and the second read voltage level based on the area of the dispersion portion 532 that is the difference between the second index information and the first index information. The controller 130 may select the second read voltage level such that the difference between the first read voltage level and the second read voltage level is larger as the area of the scattering portion 532 is larger.

도 6은 도 1의 메모리 장치(100)의 동작의 또 다른 예를 도시하는 도면이다.FIG. 6 is a diagram illustrating still another example of the operation of the memory device 100 of FIG. 1.

도 6을 참조하면, 가로축은 메모리 셀의 문턱 전압을 나타내고, 세로축은 문턱 전압을 가지는 메모리 셀의 개수를 나타낸다.Referring to FIG. 6, the horizontal axis represents the threshold voltage of the memory cell, and the vertical axis represents the number of memory cells having the threshold voltage.

데이터 E가 저장된 메모리 셀들의 문턱 전압은 산포(610)를 형성할 수 있다.Threshold voltages of memory cells in which data E is stored may form a distribution 610.

데이터 F가 저장된 메모리 셀들의 문턱 전압은 산포(620)를 형성할 수 있다.Threshold voltages of memory cells in which data F is stored may form a distribution 620.

데이터 E 및 데이터 F는 m(m은 양의 정수)비트의 데이터일 수 있다. 예를 들어 데이터 E는 4 비트 데이터 "0101"일 수 있고, 데이터 F는 4 비트 데이터 "0111"일 수 있다.Data E and data F may be m (m is a positive integer) bits of data. For example, data E may be 4-bit data “0101” and data F may be 4-bit data “0111”.

m이 클수록 산포들 간의 거리가 가까워지므로 m이 클수록 산포들이 서로 오버랩되는 경우가 있을 수 있다. 산포(610) 및 산포(620)는 서로 오버랩되는 경우가 도시된다.Since the distance between the dispersions increases as m increases, there may be a case where the spreads overlap with each other as m increases. The case where the spread 610 and the spread 620 overlap each other is shown.

제어부(130)는 읽기 전압 레벨보다 높은 문턱 전압을 가지는 메모리 셀들의 개수를 제1 인덱스 정보로 생성할 수 있다. 메모리 셀 어레이(110)에 저장된 제2 인덱스 정보는 데이터 F가 저장된 메모리 셀들의 개수일 수 있다. 이 때 제2 인덱스 정보는 산포(620)의 면적에 대응할 수 있다.The controller 130 may generate the number of memory cells having a threshold voltage higher than the read voltage level as first index information. The second index information stored in the memory cell array 110 may be the number of memory cells in which the data F is stored. In this case, the second index information may correspond to the area of the dispersion 620.

만일 독출부(120)가 전압 레벨(640)을 읽기 전압 레벨로 선택하면 독출부(120)는 데이터 E가 저장된 메모리 셀들 중 전압 레벨(640)보다 높은 문턱 전압을 가지는 메모리 셀들의 개수 및 데이터 F가 저장된 메모리 셀들 중 전압 레벨(640)보다 높은 문턱 전압을 가지는 메모리 셀들의 개수의 합을 제1 인덱스 정보로 생성할 수 있다.If the read unit 120 selects the voltage level 640 as the read voltage level, the read unit 120 may select the number of memory cells having a threshold voltage higher than the voltage level 640 and the data F of the memory cells in which the data E is stored. The sum of the number of memory cells having a threshold voltage higher than the voltage level 640 among the stored memory cells may be generated as first index information.

메모리 장치(100)가 읽기 전압 레벨보다 높은 문턱 전압을 가지는 메모리 셀들의 개수를 제1 인덱스 정보로 생성하면 도 6의 실시예의 경우 최적의 읽기 전압 레벨은 전압 레벨(640)로 설정될 수 있다.When the memory device 100 generates the number of memory cells having a threshold voltage higher than the read voltage level as the first index information, the optimal read voltage level may be set to the voltage level 640 in the embodiment of FIG. 6.

표본(sample)의 개수가 크면 산포는 메모리 셀이 상기 산포에 대응할 확률(probability)에 비례할 수 있다. 예를 들어 전압 레벨(640)의 문턱 전압을 가지는 메모리 셀이 산포(620)에 대응할 확률은 전압 레벨(640)의 문턱 전압을 가지는 메모리 셀이 산포(610)에 대응할 확률보다 높을 수 있다. 다시 말하면 전압 레 벨(640)의 문턱 전압을 가지는 메모리 셀이 데이터 F를 저장할 확률은 전압 레벨(640)의 문턱 전압을 가지는 메모리 셀이 데이터 E를 저장할 확률보다 높을 수 있다.If the number of samples is large, the spread may be proportional to the probability that a memory cell corresponds to the spread. For example, the probability that the memory cell having the threshold voltage of the voltage level 640 corresponds to the spread 620 may be higher than the probability that the memory cell having the threshold voltage of the voltage level 640 corresponds to the spread 610. In other words, the probability that the memory cell having the threshold voltage of the voltage level 640 stores the data F may be higher than the probability that the memory cell having the threshold voltage of the voltage level 640 stores the data E. FIG.

전압 레벨(630)의 문턱 전압을 가지는 메모리 셀이 데이터 E를 저장할 확률은 전압 레벨(630)의 문턱 전압을 가지는 메모리 셀이 데이터 F를 저장할 확률과 같을 수 있다.The probability that the memory cell having the threshold voltage of the voltage level 630 stores data E may be equal to the probability that the memory cell having the threshold voltage of the voltage level 630 stores data F.

메모리 셀이 전압 레벨(630)보다 높은 문턱 전압을 가지는 경우 상기 메모리 셀이 데이터 F를 저장할 확률은 상기 메모리 셀이 데이터 E를 저장할 확률보다 높을 수 있다. 메모리 셀이 전압 레벨(630)보다 낮은 문턱 전압을 가지는 경우 상기 메모리 셀이 데이터 E를 저장할 확률은 상기 메모리 셀이 데이터 F를 저장할 확률보다 높을 수 있다.When the memory cell has a threshold voltage higher than the voltage level 630, the probability that the memory cell stores the data F may be higher than the probability that the memory cell stores the data E. When the memory cell has a threshold voltage lower than the voltage level 630, the probability that the memory cell stores the data E may be higher than the probability that the memory cell stores the data F.

따라서 도 6의 실시예에서는 최적의 읽기 전압 레벨은 전압 레벨(630)일 수 있다. 메모리 장치(100)는 전압 레벨(630)을 최적의 읽기 전압 레벨로 선택하기 위하여 산포(610) 및 산포(620)의 형태에 기초하여 오프셋(offset)을 설정하고, 상기 설정된 오프셋에 기초하여 제2 인덱스 정보를 조정할 수 있다.Thus, in the embodiment of FIG. 6, the optimal read voltage level may be the voltage level 630. The memory device 100 sets an offset based on the shape of the spread 610 and the spread 620 to select the voltage level 630 as an optimal read voltage level, and based on the set offset, 2 You can adjust the index information.

독출부(120)가 읽기 전압 레벨보다 높은 문턱 전압의 개수를 제1 인덱스 정보로 생성하는 경우 메모리 장치(100)는 산포(610) 및 산포(620)과 같이 왼쪽으로 치우친 형태를 가지는 산포에 대해서는 양(+)의 오프셋을 설정할 수 있다. 반대로 오른쪽으로 치우친 형태를 가지는 산포에 대해서는 메모리 장치(100)는 음(-)의 오프셋을 설정할 수 있다.When the read unit 120 generates the number of threshold voltages higher than the read voltage level as the first index information, the memory device 100 may be configured with respect to a dispersion having a left biased form such as the spread 610 and the spread 620. You can set a positive offset. On the contrary, the memory device 100 may set a negative offset with respect to a dispersion having a right biased form.

메모리 장치(100)는 제2 인덱스 정보에 오프셋을 가산하여 조정된 제2 인덱스 정보를 생성하고, 상기 조정된 제2 인덱스 정보 및 제1 인덱스 정보를 비교하여 전압 레벨(630)을 최적의 읽기 전압 레벨로 선택할 수 있다.The memory device 100 generates the adjusted second index information by adding an offset to the second index information, compares the adjusted second index information with the first index information, and adjusts the voltage level 630 to an optimal read voltage. You can choose by level.

도 7은 본 발명의 또 다른 실시예에 따른 메모리 장치(700)를 도시하는 도면이다.7 is a diagram illustrating a memory device 700 according to another embodiment of the present invention.

도 7을 참조하면, 메모리 장치(700)는 메모리 셀 어레이(780), 독출부 1 (710), 독출부 2 (720), 카운터 1 (730), 카운터 2 (740), offset 조정부(750), 비교부(760) 및 전압 생성부(770)를 포함한다.Referring to FIG. 7, the memory device 700 includes a memory cell array 780, a read unit 1 710, a read unit 2 720, a counter 1 730, a counter 2 740, and an offset adjuster 750. And a comparator 760 and a voltage generator 770.

전압 생성부(770)는 읽기 전압 레벨을 설정하고, 상기 설정된 읽기 전압 레벨을 독출부 1 (710) 및 독출부 2 (720)로 전송할 수 있다.The voltage generator 770 may set a read voltage level and transmit the set read voltage level to the reader 1 710 and the reader 2 720.

독출부 1 (710)는 메모리 셀 어레이(780)로 데이터 읽기 요청 (data read request)을 전송하고, 메모리 셀 어레이(780)로부터 데이터를 읽는다. 이 때 독출부 1 (710)는 읽기 전압 레벨을 이용하여 데이터를 읽을 수 있다.The read unit 1 710 transmits a data read request to the memory cell array 780 and reads data from the memory cell array 780. In this case, the read unit 1 710 may read data using the read voltage level.

독출부 2 (720)는 메모리 셀 어레이(780)로 인덱스 정보 읽기 요청 (index information read request)을 전송하고, 메모리 셀 어레이(780)로부터 인덱스 정보를 읽는다.The read unit 2 720 transmits an index information read request to the memory cell array 780 and reads index information from the memory cell array 780.

카운터 1 (730)는 읽은 데이터로부터 문턱 전압 구간에 포함되는 메모리 셀의 개수를 세어 제1 인덱스 정보를 생성할 수 있다. 문턱 전압 구간은 읽기 전압 레벨에 의하여 구분되는 구간일 수 있다.The counter 1 730 may generate first index information by counting the number of memory cells included in the threshold voltage section from the read data. The threshold voltage section may be a section classified by the read voltage level.

카운터 2 (740)는 인덱스 정보로부터 문턱 전압 구간에 포함되는 메모리 셀 의 개수를 분리하여 제2 인덱스 정보를 생성할 수 있다.Counter 2 740 may generate second index information by separating the number of memory cells included in the threshold voltage section from the index information.

오프셋 조정부(750)는 제2 인덱스 정보에 오프셋을 가산하여 조정된 제2 인덱스 정보를 생성할 수 있다. 오프셋 조정부(750)는 문턱 전압의 산포의 형태에 기초하여 오프셋을 설정할 수 있다.The offset adjuster 750 may generate adjusted second index information by adding an offset to the second index information. The offset adjustment unit 750 may set the offset based on the form of the distribution of the threshold voltage.

비교부(760)는 제1 인덱스 정보 및 상기 조정된 제2 인덱스 정보를 비교할 수 있다. 비교부(760)는 제1 인덱스 정보 및 상기 조정된 제2 인덱스 정보가 같으면 현재의 읽은 데이터를 출력 데이터로 출력하도록 독출부 1 (710)를 제어할 수 있다. 비교부(760)는 제1 인덱스 정보 및 상기 조정된 제2 인덱스 정보가 같으면 다음 데이터를 읽도록 독출부 1 (710)를 제어하고 다음 인덱스 정보를 읽도록 독출부 2 (720)를 제어할 수 있다.The comparison unit 760 may compare first index information and the adjusted second index information. The comparator 760 may control the reader 1 710 to output current read data as output data when the first index information and the adjusted second index information are the same. The comparator 760 may control the reader 1 710 to read the next data and the reader 2 720 to read the next index information if the first index information and the adjusted second index information are the same. have.

비교부(760)는 제1 인덱스 정보 및 상기 조정된 제2 인덱스 정보가 다르면 제1 인덱스 정보 및 상기 조정된 제2 인덱스 정보의 차이를 전압 생성부(770)로 전송하고, 독출부 1 (710)가 메모리 셀 어레이(780)로부터 데이터를 다시 읽도록 독출부 1 (710)를 제어할 수 있다.The comparison unit 760 transmits the difference between the first index information and the adjusted second index information to the voltage generator 770 when the first index information and the adjusted second index information are different, and reads the first unit 710. Readout 1 710 may control the readout 1 710 to read data back from the memory cell array 780.

전압 생성부(770)는 제1 인덱스 정보 및 상기 조정된 제2 인덱스 정보의 차이에 기초하여 읽기 전압 레벨을 조정할 수 있고, 상기 조정된 읽기 전압 레벨을 독출부 1 (710)로 전송할 수 있다. 독출부 1 (710)는 메모리 셀 어레이(780)로 읽기 요청을 다시 전송하고 상기 조정된 읽기 전압 레벨을 이용하여 메모리 셀 어레이(780)로부터 데이터를 다시 읽을 수 있다.The voltage generator 770 may adjust the read voltage level based on the difference between the first index information and the adjusted second index information, and transmit the adjusted read voltage level to the reader 1 710. The read unit 1 710 may retransmit a read request to the memory cell array 780 and read data again from the memory cell array 780 using the adjusted read voltage level.

도 8은 도 7의 메모리 장치(700)의 다른 예를 상세히 도시하는 도면이다.FIG. 8 is a diagram illustrating another example of the memory device 700 of FIG. 7.

도 8을 참조하면, 전압 생성부(770)는 다중화기(multiplexer)(820)로부터 수신된 전압 레벨 코드에 대응하는 읽기 전압 레벨을 생성할 수 있다.Referring to FIG. 8, the voltage generator 770 may generate a read voltage level corresponding to a voltage level code received from a multiplexer 820.

비교부(760)는 제1 인덱스 정보 및 상기 조정된 제2 인덱스 정보의 차이에 기초하여 전압 레벨 코드를 생성할 수 있다. 다중화기(820)는 비교부(760)로부터 수신된 신호에 의하여 코드 메모리(810)로부터 수신된 전압 레벨 코드 및 비교부(760)로부터 수신된 전압 레벨 코드 중 어느 하나를 선택하여 전압 생성부(770)로 전송할 수 있다.The comparator 760 may generate a voltage level code based on the difference between the first index information and the adjusted second index information. The multiplexer 820 selects any one of a voltage level code received from the code memory 810 and a voltage level code received from the comparator 760 according to a signal received from the comparator 760 and generates a voltage generator ( 770.

비교부(760)는 제1 인덱스 정보가 상기 조정된 제2 인덱스 정보와 같거나 거의 유사하면 비교부(760)로부터 수신된 전압 레벨 코드를 저장하도록 코드 메모리(810)를 제어할 수 있다. 이 때 저장된 전압 레벨 코드에 대응하는 전압 레벨은 최적의 읽기 전압 레벨로 간주될 수 있다.The comparator 760 may control the code memory 810 to store the voltage level code received from the comparator 760 when the first index information is equal to or nearly similar to the adjusted second index information. At this time, the voltage level corresponding to the stored voltage level code may be regarded as an optimal read voltage level.

비교부(760)는 다음 데이터 읽기 동작 시 다중화기(820)가 코드 메모리(810)에 저장된 전압 레벨 코드(최적의 읽기 전압 레벨 코드에 대응한다)를 전압 생성부(770)로 전송하도록 다중화기(820)를 제어할 수 있다.The comparator 760 allows the multiplexer 820 to transmit a voltage level code (corresponding to an optimal read voltage level code) stored in the code memory 810 to the voltage generator 770 during a next data read operation. 820 may be controlled.

메모리 장치(700)는 이전에 탐색된 최적의 읽기 전압 레벨을 다음 데이터 읽기 동작 시 default 읽기 전압 레벨로 이용함으로써 최적의 읽기 전압 레벨을 탐색하는 시간을 단축할 수 있다.The memory device 700 may shorten the time for searching for the optimal read voltage level by using the previously found optimal read voltage level as the default read voltage level in the next data read operation.

도 9는 도 2의 메모리 장치(200)의 동작의 일 예를 도시하는 도면이다.9 is a diagram illustrating an example of an operation of the memory device 200 of FIG. 2.

도 9를 참조하면, 3 비트 데이터를 저장하는 멀티 비트 셀의 문턱 전압의 산포가 도시된다.Referring to FIG. 9, a distribution of threshold voltages of a multi-bit cell storing three bit data is shown.

메모리 셀 어레이(210)는 3 비트 데이터를 저장하는 멀티 비트 셀들을 포함할 수 있다.The memory cell array 210 may include multi-bit cells that store 3-bit data.

제1 그룹(910)은 제1 데이터 페이지가 프로그램된 후의 멀티 비트 셀들의 문턱 전압의 산포를 도시한다.The first group 910 shows the distribution of threshold voltages of the multi-bit cells after the first data page has been programmed.

산포(911)는 제1 데이터 페이지 "1"이 프로그램된 멀티 비트 셀들의 산포일 수 있다. 산포(912)는 제1 데이터 페이지 "0"이 프로그램된 멀티 비트 셀들의 산포일 수 있다.The spread 911 may be a spread of multi bit cells in which a first data page "1" is programmed. The spread 912 may be a spread of multi bit cells in which a first data page "0" is programmed.

프로그래밍부(250)는 제1 데이터 페이지에 기초하여 산포(911)에 대응하는 멀티 비트 셀들의 개수 및 산포(912)에 대응하는 멀티 비트 셀들의 개수를 셀 수 있다. 프로그래밍부(250)는 산포(911)에 대응하는 멀티 비트 셀들의 개수 및 산포(912)에 대응하는 멀티 비트 셀들의 개수를 제2 인덱스 정보로 생성하고, 멀티 비트 셀들에 제2 인덱스 정보를 프로그램할 수 있다.The programming unit 250 may count the number of multi-bit cells corresponding to the spread 911 and the number of multi-bit cells corresponding to the spread 912 based on the first data page. The programming unit 250 generates the number of multi-bit cells corresponding to the spread 911 and the number of multi-bit cells corresponding to the spread 912 as second index information and programs the second index information into the multi-bit cells. can do.

제1 데이터 페이지의 프로그래밍 동작이 수행된 후 제어부(230)는 제1 인덱스 정보 및 제2 인덱스 정보의 차이가 기준치 이하가 되도록 읽기 전압 레벨을 조정할 수 있다. 이 때 메모리 장치(200)는 산포(911) 및 산포(912) 사이의 전압 레벨을 읽기 전압 레벨로 설정할 수 있고, 제1 인덱스 정보가 읽기 전압 레벨보다 높은 문턱 전압을 가지는 멀티 비트 셀의 개수인 경우 제2 인덱스 정보는 산포(912)에 대응하는 멀티 비트 셀들의 개수일 수 있다.After the programming operation of the first data page is performed, the controller 230 may adjust the read voltage level such that a difference between the first index information and the second index information is equal to or less than a reference value. In this case, the memory device 200 may set the voltage level between the distribution 911 and the distribution 912 as the read voltage level, and the first index information is the number of multi-bit cells having a threshold voltage higher than the read voltage level. In this case, the second index information may be the number of multi-bit cells corresponding to the spread 912.

데이터 페이지들 각각의 프로그래밍 동작이 수행된 후 메모리 장치(200)는 제1 internal read 동작을 수행하여 프로그램된 멀티 비트 셀의 문턱 전압 상태를 식별할 수 있다. 예를 들어 산포(912)에 대응하는 멀티 비트 셀들은 제1 문턱 전압 상태를 가진다고 할 수 있다. 메모리 장치(200)는 동시에 프로그램되는 멀티 비트 셀들의 개수를 알고 있으므로 산포(912)에 대응하는 멀티 비트 셀들의 개수를 알면 산포(911)에 대응하는 멀티 비트 셀들의 개수를 계산할 수 있다.After the programming operation of each of the data pages is performed, the memory device 200 may perform a first internal read operation to identify a threshold voltage state of the programmed multi-bit cell. For example, the multi-bit cells corresponding to the distribution 912 may have a first threshold voltage state. Since the memory device 200 knows the number of multi-bit cells that are simultaneously programmed, when the number of multi-bit cells corresponding to the spread 912 is known, the memory device 200 may calculate the number of multi-bit cells corresponding to the spread 911.

프로그래밍부(250)는 제1 internal read 동작의 결과에 의하여 식별된 문턱 전압 상태 및 제2 데이터 페이지에 기초하여 멀티 비트 셀들의 목표 문턱 전압 상태를 설정할 수 있다. 예를 들어 제1 internal read 동작의 결과에 의하여 산포(911)에 대응하는 것으로 식별된 멀티 비트 셀들 중 제2 데이터 페이지 "1"이 프로그램될 멀티 비트 셀의 목표 문턱 전압 상태는 산포(921)이고, 산포(911)에 대응하는 멀티 비트 셀들 중 제2 데이터 페이지 "0"이 프로그램될 멀티 비트 셀의 목표 문턱 전압 상태는 산포(922)일 수 있다. 산포(912)에 대응하는 멀티 비트 셀들 중 제2 데이터 페이지 "1"이 프로그램될 멀티 비트 셀의 목표 문턱 전압 상태는 산포(923)이고, 산포(912)에 대응하는 멀티 비트 셀들 중 제2 데이터 페이지 "0"이 프로그램될 멀티 비트 셀의 목표 문턱 전압 상태는 산포(924)일 수 있다.The programming unit 250 may set a target threshold voltage state of the multi-bit cells based on the threshold voltage state and the second data page identified by the result of the first internal read operation. For example, the target threshold voltage state of the multi-bit cell in which the second data page “1” is to be programmed among the multi-bit cells identified as corresponding to the spread 911 by the result of the first internal read operation is the spread 921. The target threshold voltage state of the multi bit cell in which the second data page “0” is to be programmed among the multi bit cells corresponding to the distribution 911 may be the distribution 922. The target threshold voltage state of the multi-bit cell in which the second data page "1" of the multi-bit cells corresponding to the spread 912 is to be programmed is the spread 923, and the second data of the multi-bit cells corresponding to the spread 912. The target threshold voltage state of the multi-bit cell in which page " 0 " is to be programmed may be a distribution 924.

프로그래밍부(250)는 설정된 목표 문턱 전압 상태 중 산포(922)를 제2 문턱 전압 상태로, 산포(924)를 제3 문턱 전압 상태로 설정할 수 있다. 프로그래밍부(250)는 제2 문턱 전압 상태를 가지는 멀티 비트 셀들의 개수 및 제3 문턱 전압 상태를 가지는 멀티 비트 셀들의 개수를 제3 인덱스 정보로 생성할 수 있다. 프로그래밍부(250)는 제2 데이터 페이지 및 제3 인덱스 정보를 멀티 비트 셀들에 동시에 프로그램할 수 있다. 프로그래밍부(250)는 멀티 비트 셀들 각각의 문턱 전압이 목표 문턱 전압 상태에 대응하도록 멀티 비트 셀들 각각을 프로그램할 수 있다.The programming unit 250 may set the spread 922 to the second threshold voltage state and the spread 924 to the third threshold voltage state among the set target threshold voltage states. The programming unit 250 may generate the number of multi-bit cells having a second threshold voltage state and the number of multi-bit cells having a third threshold voltage state as third index information. The programming unit 250 may simultaneously program the second data page and the third index information into the multi-bit cells. The programming unit 250 may program each of the multi bit cells such that the threshold voltage of each of the multi bit cells corresponds to the target threshold voltage state.

제2 그룹(920)은 제2 데이터 페이지가 프로그램된 후의 멀티 비트 셀들의 문턱 전압의 산포를 도시한다. 데이터 "11"이 프로그램된 멀티 비트 셀들은 산포(921)에 대응하고, 데이터 "10"이 프로그램된 멀티 비트 셀들은 산포(922)에 대응하고, 데이터 "01"이 프로그램된 멀티 비트 셀들은 산포(923)에 대응하고, 데이터 "00"이 프로그램된 멀티 비트 셀들은 산포(924)에 대응할 수 있다.The second group 920 shows the distribution of threshold voltages of the multi-bit cells after the second data page has been programmed. Multi-bit cells programmed with data "11" correspond to spread 921, multi-bit cells programmed with data "10" correspond to spread 922, and multi-bit cells programmed with data "01" spread. Corresponding to 923, multi-bit cells programmed with data “00” may correspond to spread 924.

메모리 장치(200)는 제2 internal read 동작을 수행하여 멀티 비트 셀들의 문턱 전압 상태를 식별하고, 식별된 문턱 전압 상태 및 제3 데이터 페이지에 기초하여 멀티 비트 셀들의 목표 문턱 전압 상태를 설정할 수 있다.The memory device 200 may identify a threshold voltage state of the multi-bit cells by performing a second internal read operation, and set a target threshold voltage state of the multi-bit cells based on the identified threshold voltage state and the third data page. .

제3 그룹(930)은 제3 데이터 페이지가 프로그램된 후의 멀티 비트 셀들의 문턱 전압의 산포를 도시한다.The third group 930 shows the distribution of threshold voltages of the multi-bit cells after the third data page has been programmed.

데이터 "111"이 프로그램된 멀티 비트 셀들은 산포(931)에 대응하고, 데이터 "110"이 프로그램된 멀티 비트 셀들은 산포(932)에 대응하고, 데이터 "101"이 프로그램된 멀티 비트 셀들은 산포(933)에 대응하고, 데이터 "100"이 프로그램된 멀티 비트 셀들은 산포(934)에 대응할 수 있다. 데이터 "011"이 프로그램된 멀티 비트 셀들은 산포(935)에 대응하고, 데이터 "010"이 프로그램된 멀티 비트 셀들은 산포(936)에 대응하고, 데이터 "001"이 프로그램된 멀티 비트 셀들은 산포(937)에 대응하고, 데이터 "000"이 프로그램된 멀티 비트 셀들은 산포(938)에 대응할 수 있다.Multi-bit cells programmed with data "111" correspond to spread 931, multi-bit cells programmed with data "110" correspond to spread 932, and multi-bit cells programmed with data "101" spread Corresponding to 933, multi-bit cells programmed with data “100” may correspond to spread 934. Multi-bit cells programmed with data "011" correspond to spread 935, multi-bit cells programmed with data "010" correspond to spread 936, and multi-bit cells programmed with data "001" spread Corresponding to 937, multi-bit cells programmed with data “000” may correspond to spread 938.

메모리 장치(200)는 산포(912)에 대응하는 멀티 비트 셀들의 개수, 산 포(922)에 대응하는 멀티 비트 셀들의 개수, 산포(924)에 대응하는 멀티 비트 셀들의 개수를 인덱스 정보로 생성할 수 있다. 메모리 장치(200)는 산포(932)에 대응하는 멀티 비트 셀들의 개수, 산포(934)에 대응하는 멀티 비트 셀들의 개수, 산포(936)에 대응하는 멀티 비트 셀들의 개수, 산포(938)에 대응하는 멀티 비트 셀들의 개수를 인덱스 정보로 생성할 수 있다. 메모리 장치(200)는 7개의 산포들(912, 922, 924, 932, 934, 936, 938)에 대한 셀 정보를 이용하여 모든 산포들에 대한 셀 정보를 계산할 수 있다.The memory device 200 generates, as index information, the number of multi-bit cells corresponding to the spread 912, the number of multi-bit cells corresponding to the spread 922, and the number of multi-bit cells corresponding to the spread 924. can do. The memory device 200 may determine the number of multi-bit cells corresponding to the spread 932, the number of multi-bit cells corresponding to the spread 934, the number of multi-bit cells corresponding to the spread 936, and the spread 938. The number of corresponding multi-bit cells may be generated as index information. The memory device 200 may calculate cell information of all the dispersions by using the cell information of the seven distributions 912, 922, 924, 932, 934, 936, and 938.

예를 들어 메모리 장치(200)는 동시에 프로그램되는 멀티 비트 셀들의 개수, 산포(912)에 대응하는 멀티 비트 셀들의 개수, 산포(922)에 대응하는 멀티 비트 셀들의 개수, 및 산포(932)에 대응하는 멀티 비트 셀들의 개수에 기초하여 산포(931)에 대응하는 멀티 비트 셀들의 개수를 계산할 수 있다.For example, the memory device 200 may determine the number of multi-bit cells that are simultaneously programmed, the number of multi-bit cells corresponding to the spread 912, the number of multi-bit cells corresponding to the spread 922, and the spread 932. The number of multi-bit cells corresponding to the spread 931 may be calculated based on the number of corresponding multi-bit cells.

3개의 데이터 페이지들에 대한 프로그래밍 동작이 수행된 후 메모리 장치(200)는 인덱스 정보를 이용하여 최적의 읽기 전압 레벨들(941, 942, 943, 944, 947, 945, 946, 947)을 선택할 수 있다. 예를 들어 메모리 장치(200)는 산포(938)에 대응하는 멀티 비트 셀들의 개수에 기초하여 읽기 전압 레벨(947)을 산포(937) 및 산포(938) 사이의 최적의 읽기 전압 레벨로 선택할 수 있다.After the programming operation is performed on three data pages, the memory device 200 may select the optimal read voltage levels 941, 942, 943, 944, 947, 945, 946, and 947 using index information. have. For example, the memory device 200 may select the read voltage level 947 as an optimal read voltage level between the spread 937 and the spread 938 based on the number of multi-bit cells corresponding to the spread 938. have.

도 10은 본 발명의 또 다른 실시예에 따른 메모리 데이터 읽기 방법을 도시하는 도면이다.10 is a diagram illustrating a memory data reading method according to another embodiment of the present invention.

도 10을 참조하면, 메모리 데이터 읽기 방법은 제1 읽기 전압 레벨을 이용하여 메모리 셀 어레이로부터 데이터를 읽는다(S1010).Referring to FIG. 10, the memory data read method reads data from a memory cell array using a first read voltage level (S1010).

메모리 데이터 읽기 방법은 상기 읽은 데이터에 기초하여 제1 인덱스 정보를 생성한다(S1020).The memory data reading method generates first index information based on the read data (S1020).

메모리 데이터 읽기 방법은 메모리 셀 어레이에 저장된 제2 인덱스 정보를 읽는다(S1030).The memory data read method reads second index information stored in a memory cell array (S1030).

메모리 데이터 읽기 방법은 제1 인덱스 정보 및 제2 인덱스 정보를 비교한다(S1040). 메모리 데이터 읽기 방법은 단계(S1040)에서 제1 인덱스 정보가 제2 인덱스 정보와 같은지 여부를 판정한다. 메모리 데이터 읽기 방법은 제1 인덱스 정보 및 제2 인덱스 정보의 비교 결과에 기초하여 제2 읽기 전압 레벨을 생성할 지 여부를 결정할 수 있다.The memory data reading method compares the first index information and the second index information (S1040). The memory data reading method determines whether the first index information is the same as the second index information in step S1040. The memory data read method may determine whether to generate a second read voltage level based on a comparison result of the first index information and the second index information.

제1 인덱스 정보가 제2 인덱스 정보와 같으면 메모리 데이터 읽기 방법은 상기 읽은 데이터를 출력할 수 있다(S1060).If the first index information is the same as the second index information, the memory data reading method may output the read data (S1060).

제1 인덱스 정보가 제2 인덱스 정보와 다르면 메모리 데이터 읽기 방법은 제2 읽기 전압 레벨을 생성한다(S1050).If the first index information is different from the second index information, the memory data read method generates a second read voltage level (S1050).

메모리 데이터 읽기 방법은 생성된 제2 읽기 전압 레벨을 이용하여 메모리 셀 어레이로부터 데이터를 읽을 수 있다(S1010).The memory data read method may read data from the memory cell array using the generated second read voltage level (S1010).

본 발명의 실시예들은 메모리 셀의 문턱 전압을 변화시켜 데이터를 저장하는 메모리 장치에 적용될 수 있다. 이러한 종류의 메모리 장치의 예로는 플래시 메모리(flash memory), EEPROM(Electrically Erasable Programmable Read Only Memory) 등이 포함될 수 있다.Embodiments of the present invention can be applied to a memory device that stores data by changing a threshold voltage of a memory cell. Examples of this kind of memory device may include flash memory, electrically erasable programmable read only memory (EEPROM), and the like.

본 발명의 실시예들에 따른 메모리 데이터 읽기 방법은 다양한 컴퓨터 수단 을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Memory data reading method according to embodiments of the present invention is implemented in the form of program instructions that can be executed by various computer means may be recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

본 발명의 실시예들에 따른 플래시 메모리 장치 그리고/또는 메모리 컨트롤러는 다양한 형태들의 패키지를 이용하여 구현될 수 있다. 예를 들면, 본 발명의 실시예들에 따른 플래시 메모리 장치 그리고/또는 메모리 컨트롤러는 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP), 등과 같은 패키지들을 이용하여 구현될 수 있다.The flash memory device and / or the memory controller according to the embodiments of the present invention may be implemented using various types of packages. For example, a flash memory device and / or a memory controller according to embodiments of the present invention may be a package on package (PoP), ball grid arrays (BGAs), chip scale packages (CSPs), plastic leaded chip carrier (PLCC), Plastic Dual In-Line Package (PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board (COB), Ceramic Dual In-Line Package (CERDIP), Plastic Metric Quad Flat Pack (MQFP), Thin Quad Flatpack ( TQFP), Small Outline (SOIC), Shrink Small Outline Package (SSOP), Thin Small Outline (TSOP), Thin Quad Flatpack (TQFP), System In Package (SIP), Multi Chip Package (MCP), Wafer-level Fabricated Package (WFP), Wafer-Level Processed Stack Package (WSP), and the like.

플래시 메모리 장치와 메모리 컨트롤러는 메모리 카드를 구성할 수 있다. 이러한 경우, 메모리 컨트롤러는 USB, MMC, PCI-E, SATA, PATA, SCSI, ESDI, 그리고 IDE 등과 같은 다양한 인터페이스 프로토콜들 중 하나를 통해 외부(예를 들면, 호스트)와 통신하도록 구성될 수 있다.The flash memory device and the memory controller may constitute a memory card. In this case, the memory controller may be configured to communicate with an external (eg, host) via one of various interface protocols such as USB, MMC, PCI-E, SATA, PATA, SCSI, ESDI, IDE, and the like.

플래시 메모리 장치는 전력이 차단되어도 저장된 데이터를 유지할 수 있는 비휘발성 메모리 장치이다. 셀룰러 폰, PDA 디지털 카메라, 포터블 게임 콘솔, 그리고 MP3P와 같은 모바일 장치들의 사용 증가에 따라, 플래시 메모리 장치는 데이터 스토리지 뿐만 아니라 코드 스토리지로서 보다 널리 사용될 수 있다. 플래시 메모리 장치는, 또한, HDTV, DVD, 라우터, 그리고 GPS와 같은 홈 어플리케이션에 사용될 수 있다.The flash memory device is a nonvolatile memory device that can maintain stored data even when power is cut off. With the increasing use of mobile devices such as cellular phones, PDA digital cameras, portable game consoles, and MP3Ps, flash memory devices may become more widely used as code storage as well as data storage. Flash memory devices can also be used for home applications such as HDTV, DVD, routers, and GPS.

본 발명이 실시예들에 따른 컴퓨팅 시스템은 버스에 전기적으로 연결된 마이크로프로세서, 사용자 인터페이스, 베이스밴드 칩셋(baseband chipset)과 같은 모뎀, 메모리 컨트롤러, 그리고 플래시 메모리 장치를 포함한다. 플래시 메모리 장치에는 마이크로프로세서에 의해서 처리된/처리될 N-비트 데이터(N은 1 또는 그 보다 큰 정수)가 메모리 컨트롤러를 통해 저장될 것이다. 본 발명의 실시예들에 따른 컴퓨팅 시스템이 모바일 장치인 경우, 컴퓨팅 시스템의 동작 전압을 공급하기 위한 배터리가 추가적으로 제공될 것이다.The computing system according to the embodiments of the present invention includes a microprocessor, a user interface, a modem such as a baseband chipset, a memory controller, and a flash memory device electrically connected to a bus. The flash memory device will store, via the memory controller, N-bit data (N is an integer greater than or equal to 1) processed / to be processed by the microprocessor. When the computing system according to the embodiments of the present invention is a mobile device, a battery for supplying an operating voltage of the computing system will be further provided.

본 발명의 실시예들에 따른 컴퓨팅 시스템에는 응용 칩셋(application chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램, 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다. 메모리 컨트롤러와 플래시 메모리 장치는, 예를 들면, 데이터를 저장하는 데 비휘발성 메모리를 사용하는 SSD(Solid State Drive/Disk)를 구성할 수 있다.Those skilled in the art that the computing system according to the embodiments of the present invention may further be provided with an application chipset, a camera image processor (CIS), a mobile DRAM, and the like. Self-explanatory The memory controller and the flash memory device may, for example, constitute a solid state drive / disk (SSD) that uses nonvolatile memory to store data.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible.

그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined not only by the claims below but also by the equivalents of the claims.

도 1은 본 발명의 일 실시예에 따른 메모리 장치(100)를 도시하는 도면이다.1 is a diagram illustrating a memory device 100 according to an embodiment of the present invention.

도 2는 본 발명의 다른 실시예에 따른 메모리 장치(200)를 도시하는 도면이다.2 is a diagram illustrating a memory device 200 according to another embodiment of the present invention.

도 3은 본 발명의 또 다른 실시예에 따른 메모리 장치(300)를 도시하는 도면이다.3 is a diagram illustrating a memory device 300 according to another exemplary embodiment of the present invention.

도 4는 도 1의 메모리 장치(100)의 동작의 일 예를 도시하는 도면이다.4 is a diagram illustrating an example of an operation of the memory device 100 of FIG. 1.

도 5는 도 1의 메모리 장치(100)의 동작의 다른 예를 도시하는 도면이다.5 is a diagram illustrating another example of an operation of the memory device 100 of FIG. 1.

도 6은 도 1의 메모리 장치(100)의 동작의 또 다른 예를 도시하는 도면이다.FIG. 6 is a diagram illustrating still another example of the operation of the memory device 100 of FIG. 1.

도 7은 본 발명의 또 다른 실시예에 따른 메모리 장치(700)를 도시하는 도면이다.7 is a diagram illustrating a memory device 700 according to another embodiment of the present invention.

도 8은 도 7의 메모리 장치(700)의 다른 예를 상세히 도시하는 도면이다.FIG. 8 is a diagram illustrating another example of the memory device 700 of FIG. 7.

도 9는 도 2의 메모리 장치(200)의 동작의 일 예를 도시하는 도면이다.9 is a diagram illustrating an example of an operation of the memory device 200 of FIG. 2.

도 10은 본 발명의 또 다른 실시예에 따른 메모리 데이터 읽기 방법을 도시하는 도면이다.10 is a diagram illustrating a memory data reading method according to another embodiment of the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

110: 메모리 셀 어레이110: memory cell array

120: 독출부120: reader

130: 제어부130: control unit

Claims (21)

복수의 메모리 셀들을 포함하는 메모리 셀 어레이;A memory cell array including a plurality of memory cells; 제1 읽기 전압 레벨을 이용하여 상기 메모리 셀 어레이로부터 데이터를 읽고, 상기 읽은 데이터에 기초하여 제1 인덱스 정보를 생성하는 독출부; 및A read unit configured to read data from the memory cell array using a first read voltage level and to generate first index information based on the read data; And 상기 메모리 셀 어레이에 저장된 제2 인덱스 정보를 읽고, 상기 제1 인덱스 정보 및 상기 제2 인덱스 정보의 비교 결과에 기초하여 제2 읽기 전압 레벨을 생성할 지 여부를 결정하는 제어부A control unit that reads second index information stored in the memory cell array and determines whether to generate a second read voltage level based on a result of comparing the first index information and the second index information. 를 포함하는 메모리 장치.Memory device comprising a. 제1항에 있어서,The method of claim 1, 상기 제어부는The control unit 상기 제1 인덱스 정보 및 상기 제2 인덱스 정보의 차이가 기준치 이상이면 상기 제1 인덱스 정보 및 상기 제2 인덱스 정보의 차이에 기초하여 상기 제2 읽기 전압 레벨을 생성하고,Generating a second read voltage level based on a difference between the first index information and the second index information when a difference between the first index information and the second index information is equal to or greater than a reference value; 상기 독출부는The reading part 상기 생성된 제2 읽기 전압 레벨을 이용하여 상기 메모리 셀 어레이로부터 상기 데이터를 업데이트하고, 상기 업데이트된 데이터에 기초하여 상기 제1 인덱스 정보를 업데이트하는 메모리 장치.And update the data from the memory cell array using the generated second read voltage level, and update the first index information based on the updated data. 제2항에 있어서,The method of claim 2, 상기 읽은 데이터를 디코드하여 출력 데이터를 생성하는 오류 제어 코드 디코더Error control code decoder to decode the read data to produce output data 를 더 포함하고,More, 상기 제어부는The control unit 상기 오류 제어 코드 디코더의 오류 정정 범위 또는 오류 정정 능력에 기초하여 상기 기준치를 설정하는 메모리 장치.And setting the reference value based on an error correction range or an error correction capability of the error control code decoder. 제1항에 있어서,The method of claim 1, 상기 독출부는The reading part 상기 읽은 데이터에 기초하여 상기 제1 읽기 전압 레벨보다 높은 문턱 전압을 가지는 메모리 셀의 개수를 계산하고, 상기 계산된 메모리 셀의 개수를 상기 제1 인덱스 정보로 생성하는 메모리 장치.And counting the number of memory cells having a threshold voltage higher than the first read voltage level based on the read data, and generating the calculated number of memory cells as the first index information. 제4항에 있어서,The method of claim 4, wherein 상기 제어부는The control unit 상기 제1 인덱스 정보가 상기 제2 인덱스 정보보다 크면 상기 제1 읽기 전압 레벨보다 높은 전압 레벨을 상기 제2 읽기 전압 레벨로 설정하는 메모리 장치.And setting the voltage level higher than the first read voltage level as the second read voltage level when the first index information is greater than the second index information. 제4항에 있어서,The method of claim 4, wherein 상기 제어부는The control unit 상기 제1 인덱스 정보가 상기 제2 인덱스 정보보다 작으면 상기 제1 읽기 전압 레벨보다 낮은 전압 레벨을 상기 제2 읽기 전압 레벨로 설정하는 메모리 장치.And setting the voltage level lower than the first read voltage level as the second read voltage level when the first index information is smaller than the second index information. 제4항에 있어서,The method of claim 4, wherein 상기 제어부는The control unit 상기 제1 인덱스 정보 및 상기 제2 인덱스 정보의 차이에 기초하여 상기 제1 읽기 전압 레벨 및 상기 제2 읽기 전압 레벨의 차이를 조정하는 메모리 장치.And adjusting a difference between the first read voltage level and the second read voltage level based on a difference between the first index information and the second index information. 제4항에 있어서,The method of claim 4, wherein 상기 제어부는The control unit 상기 제1 읽기 전압 레벨 및 상기 제2 읽기 전압 레벨의 차이가 최대값보다 크지 않도록 상기 제2 읽기 전압 레벨을 설정하는 메모리 장치.And set the second read voltage level such that a difference between the first read voltage level and the second read voltage level is not greater than a maximum value. 제1항에 있어서,The method of claim 1, 상기 메모리 셀 어레이는The memory cell array 상기 데이터가 저장된 데이터 저장부; 및A data storage unit in which the data is stored; And 상기 저장된 데이터에 대응하는 상기 제2 인덱스 정보가 저장된 인덱스 저장부Index storage unit for storing the second index information corresponding to the stored data 를 포함하고,Including, 상기 메모리 장치는The memory device is 상기 데이터를 상기 데이터 저장부에 프로그램하고, 상기 제2 인덱스 정보를 상기 인덱스 저장부에 프로그램하는 프로그래밍부A programming unit configured to program the data into the data storage unit and program the second index information into the index storage unit. 를 더 포함하는 메모리 장치.The memory device further comprising. 제1항에 있어서,The method of claim 1, 상기 읽은 데이터를 저장하는 페이지 버퍼A page buffer to store the read data 를 더 포함하고,More, 상기 제어부는The control unit 상기 제1 인덱스 정보 및 상기 제2 인덱스 정보의 비교 결과에 기초하여 상기 페이지 버퍼에 저장된 데이터를 출력할 지 여부를 결정하는 메모리 장치.And determining whether to output data stored in the page buffer based on a result of the comparison between the first index information and the second index information. 제1항에 있어서,The method of claim 1, 읽기 전압 레벨 코드를 저장하는 코드 메모리Code memory to store read voltage level codes 를 더 포함하고,More, 상기 제어부는The control unit 상기 제1 인덱스 정보 및 상기 제2 인덱스 정보의 비교 결과에 기초하여 상기 제1 읽기 전압 레벨에 대응하는 읽기 전압 레벨 코드를 상기 코드 메모리에 저장할 지 여부를 결정하는 메모리 장치.And determining whether to store a read voltage level code corresponding to the first read voltage level in the code memory based on a comparison result of the first index information and the second index information. 제11항에 있어서,The method of claim 11, 상기 독출부는The reading part 상기 코드 메모리에 저장된 읽기 전압 레벨 코드에 대응하는 읽기 전압 레벨을 상기 제1 읽기 전압 레벨로 설정하는 메모리 장치.And a read voltage level corresponding to a read voltage level code stored in the code memory to the first read voltage level. 제1항에 있어서,The method of claim 1, 상기 제어부는The control unit 상기 메모리 셀들의 문턱 전압의 산포의 형태에 기초하여 오프셋을 설정하고, 상기 오프셋에 기초하여 상기 제2 인덱스 정보를 조정하고, 상기 제1 인덱스 정보 및 상기 조정된 제2 인덱스 정보의 비교 결과에 기초하여 상기 제2 읽기 전압 레벨을 생성할 지 여부를 결정하는 메모리 장치.Set an offset based on a shape of a distribution of threshold voltages of the memory cells, adjust the second index information based on the offset, and based on a comparison result of the first index information and the adjusted second index information To determine whether to generate the second read voltage level. 제1항에 있어서,The method of claim 1, 상기 제어부는The control unit 상기 복수의 메모리 셀들 각각에 대하여 개별적으로 제2 읽기 전압 레벨을 생성할 지 여부를 결정하는 메모리 장치.And determine whether to generate a second read voltage level separately for each of the plurality of memory cells. 제1항에 있어서,The method of claim 1, 상기 복수의 메모리 셀들 각각은 멀티 비트 데이터를 저장할 수 있는 멀티 비트 셀이고,Each of the plurality of memory cells is a multi-bit cell capable of storing multi-bit data, 상기 메모리 장치는The memory device is 제1 데이터 페이지에 기초하여 제1 문턱 전압 상태를 가지는 메모리 셀의 개수를 세어 상기 제2 인덱스 정보를 생성하고, 상기 복수의 메모리 셀들에 상기 제1 데이터 페이지 및 상기 제2 인덱스 정보를 프로그램하는 프로그래밍부Programming to generate the second index information by counting the number of memory cells having a first threshold voltage state based on a first data page, and programming the first data page and the second index information to the plurality of memory cells. part 를 더 포함하고,More, 상기 제어부는 상기 제1 인덱스 정보 및 상기 제2 인덱스 정보의 차이가 기준치 이하가 되도록 상기 제2 읽기 전압 레벨을 조정하고,The controller adjusts the second read voltage level such that a difference between the first index information and the second index information is equal to or less than a reference value, 상기 프로그래밍부는 상기 제2 인덱스 정보 및 제2 데이터 페이지에 기초하여 제2 문턱 전압 상태를 가지는 메모리 셀의 개수를 세어 제3 인덱스 정보를 생성하고, 상기 제2 데이터 페이지 및 상기 제3 인덱스 정보를 상기 복수의 메모리 셀들에 프로그램하는 메모리 장치.The programming unit generates third index information by counting the number of memory cells having a second threshold voltage state based on the second index information and the second data page, and generates the second data page and the third index information. A memory device for programming to a plurality of memory cells. 제1 읽기 전압 레벨을 이용하여 메모리 셀 어레이로부터 데이터를 읽는 단계;Reading data from the memory cell array using the first read voltage level; 상기 읽은 데이터에 기초하여 제1 인덱스 정보를 생성하는 단계;Generating first index information based on the read data; 상기 메모리 셀 어레이에 저장된 제2 인덱스 정보를 읽는 단계;Reading second index information stored in the memory cell array; 상기 제1 인덱스 정보 및 상기 제2 인덱스 정보를 비교하는 단계; 및Comparing the first index information and the second index information; And 상기 비교 결과에 기초하여 제2 읽기 전압 레벨을 생성할 지 여부를 결정하는 단계Determining whether to generate a second read voltage level based on the comparison result 를 포함하는 메모리 데이터 읽기 방법.Memory data reading method comprising a. 제16항에 있어서,The method of claim 16, 상기 제2 읽기 전압 레벨을 생성할 지 여부를 결정하는 단계는Determining whether to generate the second read voltage level is 상기 제1 인덱스 정보 및 상기 제2 인덱스 정보의 차이가 기준치 이상이면 상기 제1 인덱스 정보 및 상기 제2 인덱스 정보의 차이에 기초하여 상기 제2 읽기 전압 레벨을 생성하고,Generating a second read voltage level based on a difference between the first index information and the second index information when a difference between the first index information and the second index information is equal to or greater than a reference value; 상기 메모리 데이터 읽기 방법은The memory data read method is 상기 생성된 제2 읽기 전압 레벨을 이용하여 상기 메모리 셀 어레이로부터 상기 데이터를 업데이트하는 단계; 및Updating the data from the memory cell array using the generated second read voltage level; And 상기 업데이트된 데이터에 기초하여 상기 제1 인덱스 정보를 업데이트하는 단계Updating the first index information based on the updated data 를 더 포함하는 메모리 데이터 읽기 방법.Memory data read method comprising more. 제16항에 있어서,The method of claim 16, 상기 제1 인덱스 정보를 생성하는 단계는Generating the first index information 상기 읽은 데이터에 기초하여 상기 제1 읽기 전압 레벨보다 높은 문턱 전압을 가지는 메모리 셀의 개수를 계산하고, 상기 계산된 메모리 셀의 개수를 상기 제1 인덱스 정보로 생성하는 메모리 데이터 읽기 방법.And calculating the number of memory cells having a threshold voltage higher than the first read voltage level based on the read data, and generating the calculated number of memory cells as the first index information. 제16항에 있어서,The method of claim 16, 상기 제1 인덱스 정보 및 상기 제2 인덱스 정보의 차이가 기준치 미만이면 상기 제1 읽기 전압 레벨에 관련된 정보를 저장하는 단계Storing information related to the first read voltage level when a difference between the first index information and the second index information is less than a reference value; 를 더 포함하는 메모리 데이터 읽기 방법.Memory data read method comprising more. 제16항에 있어서,The method of claim 16, 제1 데이터 페이지에 기초하여 제1 문턱 전압 상태를 가지는 메모리 셀의 개수를 세어 상기 제2 인덱스 정보를 생성하는 단계;Generating the second index information by counting the number of memory cells having a first threshold voltage state based on a first data page; 상기 메모리 셀 어레이에 상기 제1 데이터 페이지 및 상기 제2 인덱스 정보를 프로그램하는 단계;Programming the first data page and the second index information in the memory cell array; 상기 제2 인덱스 정보 및 제2 데이터 페이지에 기초하여 제2 문턱 전압 상태를 가지는 메모리 셀의 개수를 세어 제3 인덱스 정보를 생성하는 단계; 및Generating third index information by counting the number of memory cells having a second threshold voltage state based on the second index information and the second data page; And 상기 제2 데이터 페이지 및 상기 제3 인덱스 정보를 상기 메모리 셀 어레이에 프로그램하는 단계Programming the second data page and the third index information into the memory cell array. 를 더 포함하는 메모리 데이터 읽기 방법.Memory data read method comprising more. 제16항 내지 제20항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.A computer-readable recording medium in which a program for executing the method of any one of claims 16 to 20 is recorded.
KR1020080043087A 2008-05-08 2008-05-08 Memory device and memory data read method KR20090117172A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080043087A KR20090117172A (en) 2008-05-08 2008-05-08 Memory device and memory data read method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080043087A KR20090117172A (en) 2008-05-08 2008-05-08 Memory device and memory data read method

Publications (1)

Publication Number Publication Date
KR20090117172A true KR20090117172A (en) 2009-11-12

Family

ID=41601688

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080043087A KR20090117172A (en) 2008-05-08 2008-05-08 Memory device and memory data read method

Country Status (1)

Country Link
KR (1) KR20090117172A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011094454A2 (en) * 2010-01-27 2011-08-04 Fusion-Io, Inc. Apparatus, system, and method for determining a read voltage threshold for solid-state storage media
US8854882B2 (en) 2010-01-27 2014-10-07 Intelligent Intellectual Property Holdings 2 Llc Configuring storage cells
US9111626B2 (en) 2012-10-25 2015-08-18 Samsung Electronics Co., Ltd. Semiconductor memory systems using regression analysis and read methods thereof
US9245653B2 (en) 2010-03-15 2016-01-26 Intelligent Intellectual Property Holdings 2 Llc Reduced level cell mode for non-volatile memory
US9330775B2 (en) 2013-01-14 2016-05-03 Samsung Electronics Co., Ltd. Flash memory, flash memory system and operating method of the same
US9412471B2 (en) 2013-03-15 2016-08-09 Samsung Electronics Co., Ltd. Method of reading data from a nonvolatile memory device, nonvolatile memory device, and method of operating a memory system
US9431123B2 (en) 2013-08-14 2016-08-30 Samsung Electronics Co., Ltd. Method controlling read sequence of nonvolatile memory device and memory system performing same
US9727250B2 (en) 2014-05-20 2017-08-08 Samsung Electronics Co., Ltd. Nonvolatile memory system and operation method of a memory controller that manages page serial numbers according to program elapsed times of pages
KR20200028492A (en) * 2017-08-04 2020-03-16 마이크론 테크놀로지, 인크 Memory device with read level calibration

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011094454A3 (en) * 2010-01-27 2011-11-24 Fusion-Io, Inc. Apparatus, system, and method for determining a read voltage threshold for solid-state storage media
US8854882B2 (en) 2010-01-27 2014-10-07 Intelligent Intellectual Property Holdings 2 Llc Configuring storage cells
WO2011094454A2 (en) * 2010-01-27 2011-08-04 Fusion-Io, Inc. Apparatus, system, and method for determining a read voltage threshold for solid-state storage media
US9245653B2 (en) 2010-03-15 2016-01-26 Intelligent Intellectual Property Holdings 2 Llc Reduced level cell mode for non-volatile memory
US9552887B2 (en) 2012-10-25 2017-01-24 Samsung Electronics Co., Ltd. Semiconductor memory systems using regression analysis and read methods thereof
US9111626B2 (en) 2012-10-25 2015-08-18 Samsung Electronics Co., Ltd. Semiconductor memory systems using regression analysis and read methods thereof
US9330775B2 (en) 2013-01-14 2016-05-03 Samsung Electronics Co., Ltd. Flash memory, flash memory system and operating method of the same
US9812213B2 (en) 2013-01-14 2017-11-07 Samsung Electronics Co., Ltd. Flash memory, flash memory system and operating method of the same
US9412471B2 (en) 2013-03-15 2016-08-09 Samsung Electronics Co., Ltd. Method of reading data from a nonvolatile memory device, nonvolatile memory device, and method of operating a memory system
TWI631564B (en) * 2013-03-15 2018-08-01 南韓商三星電子股份有限公司 Method of reading data from a nonvolatile memory device, nonvolatile memory device, and method of operating a memory system
US9431123B2 (en) 2013-08-14 2016-08-30 Samsung Electronics Co., Ltd. Method controlling read sequence of nonvolatile memory device and memory system performing same
US9727250B2 (en) 2014-05-20 2017-08-08 Samsung Electronics Co., Ltd. Nonvolatile memory system and operation method of a memory controller that manages page serial numbers according to program elapsed times of pages
KR20200028492A (en) * 2017-08-04 2020-03-16 마이크론 테크놀로지, 인크 Memory device with read level calibration

Similar Documents

Publication Publication Date Title
KR101423052B1 (en) Memory device and method of controlling read level
KR101506655B1 (en) Memory device and method of managing memory data error
KR101378349B1 (en) Memory device and memory data read method
KR101414494B1 (en) Memory device and memory data read method
US7872909B2 (en) Memory device and memory data read method
US8499217B2 (en) Memory device and error control codes decoding method
KR101434405B1 (en) Memory device and memory data read method
KR101665280B1 (en) Error correction operations in a memory device
KR101518199B1 (en) Error correction apparatus method there-of and memory device comprising the apparatus
KR20090117172A (en) Memory device and memory data read method
KR20100010664A (en) Memory device and method of programming data in memory device
KR20100013844A (en) Memory device and method of data decision of memory device
KR20160060917A (en) Non-volatile memory device and method of programing the same
KR20090099265A (en) Memory device and data decision method
KR20090123658A (en) Memory device and memory programming method
KR20090118396A (en) Memory device and memory programming method
KR20090078285A (en) Memory device and method of multi-bit programming
US20100027351A1 (en) Memory device and memory programming method
KR101437103B1 (en) Memory device and memory data read method
KR101400691B1 (en) Memory device and memory programming method

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination