KR20090117172A - Memory device and memory data read method - Google Patents
Memory device and memory data read method Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1068—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1072—Adding 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5621—Digital 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/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/30—Power 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
Description
본 발명은 메모리 장치의 데이터를 읽는 방법에 관한 것으로, 보다 상세하게는 멀티 레벨 셀(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
도 1을 참조하면, 메모리 장치(100)는 메모리 셀 어레이(110), 독출부(120), 및 제어부(130)를 포함한다.Referring to FIG. 1, the
메모리 셀 어레이(110)는 복수의 메모리 셀들을 포함한다. 메모리 셀 어레이(110)는 데이터 및 제2 인덱스 정보를 저장할 수 있다. 제2 인덱스 정보는 데이터에 대한 관리 정보를 포함할 수 있다.The
독출부(120)는 제1 읽기 전압 레벨을 이용하여 메모리 셀 어레이(110)로부터 데이터를 읽는다. 독출부(120)는 상기 읽은 데이터에 기초하여 제1 인덱스 정보를 생성한다.The read
독출부(120)는 메모리 셀 어레이(110) 중 데이터가 저장된 메모리 셀의 문턱 전압을 제1 읽기 전압 레벨과 비교할 수 있다. 독출부(120)는 제1 읽기 전압 레벨보다 높은 문턱 전압을 가지는 메모리 셀에 저장된 데이터를 "0"으로 판정할 수 있고, 제1 읽기 전압 레벨보다 낮은 문턱 전압을 가지는 메모리 셀에 저장된 데이터를 "1"로 판정할 수 있다.The
제어부(130)는 메모리 셀 어레이(110)에 저장된 제2 인덱스 정보를 읽는다. 제어부(130)는 제1 인덱스 정보 및 제2 인덱스 정보의 비교 결과에 기초하여 제2 읽기 전압 레벨을 생성할 지 여부를 결정한다.The
제어부(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
메모리 장치(100)는 상기 업데이트된 제1 인덱스 정보 및 제2 인덱스 정보의 차이가 기준치 미만일 때까지 읽기 전압 레벨을 조정할 수 있다. 메모리 장치(100)는 상기 업데이트된 제1 인덱스 정보 및 제2 인덱스 정보의 차이가 기준치 미만일 때까지 상기 조정된 읽기 전압 레벨을 이용하여 데이터를 다시 읽고, 제1 인덱스 정보를 업데이트할 수 있다.The
메모리 장치(100)는 상기 읽은 데이터에 기초하여 생성된 제1 인덱스 정보 및 메모리 셀 어레이(110)에 저장된 제2 인덱스 정보의 차이가 기준치 미만이 되도록 하는 읽기 전압 레벨을 탐색할 수 있다.The
상기 탐색된 읽기 전압 레벨은 제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
제어부(130)는 제1 인덱스 정보 및 제2 인덱스 정보의 차이가 기준치 미만이면 상기 읽은 데이터를 출력하도록 독출부(120)를 제어할 수 있다.The
독출부(120)는 제1 읽기 전압 레벨보다 높은 문턱 전압을 가지는 메모리 셀 의 개수를 계산하고, 상기 계산된 메모리 셀의 개수를 제1 인덱스 정보로 생성할 수 있다. 제어부(130)는 제1 인덱스 정보가 제2 인덱스 정보보다 크면 제1 읽기 전압 레벨보다 높은 전압 레벨을 제2 읽기 전압 레벨로 설정할 수 있다. 제어부(130)는 제1 인덱스 정보가 제2 인덱스 정보보다 작으면 제1 읽기 전압 레벨보다 낮은 전압 레벨을 제2 읽기 전압 레벨로 설정할 수 있다.The
다른 실시예에 따라서는 독출부(120)는 제1 읽기 전압 레벨보다 낮은 문턱 전압을 가지는 메모리 셀의 개수를 제1 인덱스 정보로 생성할 수도 있다. 이 때 제어부(130)는 제1 인덱스 정보가 제2 인덱스 정보보다 크면 제1 읽기 전압 레벨보다 낮은 전압 레벨을 제2 읽기 전압 레벨로 설정할 수 있다.According to another exemplary embodiment, the
도 2는 본 발명의 다른 실시예에 따른 메모리 장치(200)를 도시하는 도면이다.2 is a diagram illustrating a
도 2를 참조하면, 메모리 장치(200)는 메모리 셀 어레이(210), 독출부(220) 및 제어부(230)를 포함하고, ECC(Error Control Codes or Error Control Coding) 디코더(240) 및 프로그래밍부(250)를 더 포함할 수 있다.2, the
메모리 셀 어레이(210)는 데이터가 저장된 데이터 저장부(211) 및 제2 인덱스 정보가 저장된 인덱스 저장부(212)를 포함할 수 있다.The
프로그래밍부(250)는 데이터를 데이터 저장부(211)에 프로그램하고, 데이터에 대응하는 제2 인덱스 정보를 인덱스 저장부(212)에 프로그램할 수 있다.The
메모리 셀의 문턱 전압을 변화시켜 데이터를 저장하는 과정을 프로그래밍이라 하기도 한다. 프로그래밍부(250)는 메모리 셀에 저장될 데이터에 기초하여 상 기 메모리 셀의 목표 문턱 전압 구간을 설정할 수 있다. 프로그래밍부(250)는 상기 메모리 셀의 문턱 전압이 상기 설정된 목표 문턱 전압 구간에 포함되도록 상기 메모리 셀의 문턱 전압을 변경시킬 수 있다.The process of storing data by changing the threshold voltage of the memory cell is also called programming. The
예를 들어 프로그래밍부(250)는 데이터 "1"이 저장될 메모리 셀에 대해서는 1 volt 이상 2 volt 이하의 목표 문턱 전압 구간을 설정할 수 있고, 데이터 "0"이 저장될 메모리 셀에 대해서는 3 volt 이상 4 volt 이하의 목표 문턱 전압 구간을 설정할 수 있다.For example, the
프로그래밍부(250)는 데이터 "1"이 저장될 메모리 셀의 문턱 전압이 1 volt 이상 2 volt 이하의 목표 문턱 전압 구간에 포함되도록 데이터 "1"이 저장될 메모리 셀의 문턱 전압을 변경할 수 있다. 프로그래밍부(250)는 데이터 "0"이 저장될 메모리 셀의 문턱 전압이 3 volt 이상 4 volt 이하의 목표 문턱 전압 구간에 포함되도록 데이터 "0"이 저장될 메모리 셀의 문턱 전압을 변경할 수 있다.The
실시예에 따라서는 프로그래밍부(250)는 검증 전압과의 비교에 의하여 메모리 셀의 문턱 전압을 변경시킬 수도 있다. 프로그래밍부(250)는 메모리 셀에 저장될 데이터에 기초하여 상기 메모리 셀에 대한 검증 전압을 설정할 수 있다.In some example embodiments, the
예를 들어 프로그래밍부(250)는 데이터 "1"이 저장될 메모리 셀에 대해서는 1 volt의 검증 전압을 설정할 수 있고, 데이터 "0"이 저장될 메모리 셀에 대해서는 3 volt의 검증 전압을 설정할 수 있다. 프로그래밍부(250)는 데이터 "1"이 저장될 메모리 셀이 1 volt의 검증 전압보다 높은 문턱 전압을 가지도록 데이터 "1"이 저장될 메모리 셀의 문턱 전압을 변경시킬 수 있다. 프로그래밍부(250)는 데이터 "0"이 저장될 메모리 셀이 3 volt의 검증 전압보다 높은 문턱 전압을 가지도록 데이터 "0"이 저장될 메모리 셀의 문턱 전압을 변경시킬 수 있다.For example, the
프로그래밍부(250)는 일정 시간 구간 동안 메모리 셀의 문턱 전압을 변경시킬 수 있는 조건 전압을 메모리 셀에 인가할 수 있다. 프로그래밍부(250)는 일정 시간 구간 후 상기 메모리 셀의 문턱 전압을 검증 전압 또는 목표 문턱 전압 구간과 비교하고, 상기 메모리 셀의 문턱 전압이 검증 전압보다 높거나 목표 문턱 전압 구간에 포함되는 경우 상기 메모리 셀에 대한 문턱 전압 변경을 중단할 수 있다.The
문턱 전압의 변화에 따라 데이터를 저장하는 메모리 장치(100, 200)의 메모리 셀은 컨트롤 게이트(control gate, CG) 및 플로팅 게이트(floating gate, FG)를 포함할 수 있으며 CG 및 FG 사이에는 절연체(insulator)가 삽입되고, FG 및 서브스트레이트(substrate) 간에도 절연체가 삽입될 수 있다.The memory cells of the
메모리 셀에 데이터를 저장하는 프로그램 과정 또는 메모리 셀에 저장된 데이터를 소거하는(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
서브스트레이트 영역의 소스(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
제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
제어부(230)는 인덱스 저장부(212)에 저장된 제2 인덱스 정보를 읽고, 제1 인덱스 정보 및 제2 인덱스 정보를 비교할 수 있다. 제어부(230)는 인덱스 저장부(212)에 저장된 제2 인덱스 정보와 동일한 제1 인덱스 정보가 상기 읽은 데이터로부터 생성될 때까지 상기 읽기 레벨 전압을 조정할 수 있다. 제어부(230)는 제2 인덱스 정보와 동일 또는 매우 유사한 제1 인덱스 정보를 얻을 수 있는 최적의 읽기 레벨 전압을 탐색할 수 있다.The
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)
ECC 디코더(240)는 상기 읽은 데이터를 복수의 코드워드들로 분할할 수 있고, 코드워드들 각각을 디코드하여 메시지를 분리할 수 있다. 예를 들어 상기 읽 은 데이터가 1000 bits 이면 ECC 디코더(240)는 상기 읽은 데이터를 10개의 100 bit 코드워드들로 분할할 수 있다. 메시지 대 잉여 정보의 비율이 80 대 20이면 ECC 디코더(240)는 각 코드워드로부터 80 bit 메시지 및 20 bit 잉여 정보를 분리할 수 있다. ECC 디코더(240)는 분리된 메시지들을 결합하여 출력 데이터를 생성할 수 있다.The
(잉여 정보/메시지)의 비율이 클수록 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 디코더(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
제어부(230)는 ECC 디코더(240)의 오류 정정 능력에 기초하여 상기 기준치를 설정할 수 있다. 제어부(230)는 제1 인덱스 정보 및 제2 인덱스 정보의 차이가 상기 기준치 이상이면 제2 읽기 전압 레벨을 생성할 수 있다. 실시예에 따라서는 제어부(230)는 ECC 디코더(240)의 오류 정정 범위에 기초하여 상기 기준치를 설정할 수도 있다.The
메모리 장치(200)는 ECC 디코더(240)의 오류 정정 능력 또는 오류 정정 범위에 기초하여 상기 기준치를 설정함으로써 최적의 읽기 전압 레벨을 탐색하는 시간을 단축할 수 있다. 상기 읽은 데이터는 제1 인덱스 정보 및 제2 인덱스 정보의 차이에 대응하는 오류를 포함할 수 있다. 제1 인덱스 정보 및 제2 인덱스 정보의 차이가 상기 기준치 미만이면 ECC 디코더(240)는 상기 읽은 데이터의 오류를 모두 정정하거나(오류 정정 능력이 명시적으로 드러나는 경우) 상기 읽은 데이터의 오류 비율을 현저하게 감소(오류 정정 능력이 명시적으로 드러나지 않는 경우) 킬 수 있다.The
도 3은 본 발명의 또 다른 실시예에 따른 메모리 장치(300)를 도시하는 도면이다.3 is a diagram illustrating a
도 3을 참조하면, 메모리 장치(300)는 메모리 셀 어레이(310), 독출부(320) 및 제어부(330)를 포함하고, 페이지 버퍼(340) 및 코드 메모리(350)를 더 포함할 수 있다.Referring to FIG. 3, the
메모리 셀 어레이(310)는 복수의 메모리 셀들을 포함하고, 독출부(320)는 읽기 전압 레벨을 이용하여 메모리 셀 어레이(310)로부터 데이터를 읽는다. 독출부(320)는 상기 읽은 데이터에 기초하여 제1 인덱스 정보를 생성한다.The
제어부(330)는 메모리 셀 어레이(310)에 저장된 제2 인덱스 정보를 읽고, 제1 인덱스 정보 및 제2 인덱스 정보를 비교한다.The
페이지 버퍼(340)는 상기 읽은 데이터를 저장할 수 있다. 제어부(330)는 제1 인덱스 정보 및 제2 인덱스 정보의 비교 결과에 기초하여 페이지 버퍼(340)에 저장된 데이터를 출력할 지 여부를 결정할 수 있다.The
제어부(330)는 제1 인덱스 정보가 제2 인덱스 정보와 같으면 상기 읽은 데이터에 오류가 없는 것으로 간주할 수 있고 페이지 버퍼(340)에 저장된 데이터를 출력하도록 페이지 버퍼(340)를 제어할 수 있다.If the first index information is equal to the second index information, the
제어부(330)는 제1 인덱스 정보가 제2 인덱스 정보와 다르면 상기 읽은 데이터에 오류가 있는 것으로 간주할 수 있고 페이지 버퍼(340)에 저장된 데이터를 출력하지 않도록 페이지 버퍼(340)를 제어할 수 있다.If the first index information is different from the second index information, the
실시예에 따라서는 제어부(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
실시예에 따라서는 동시에 독출부(320)에 의하여 접근되는 메모리 셀들의 집합을 페이지(page)라 할 수 있다. 이 때 페이지 버퍼(340)는 페이지에 프로그램될 데이터를 저장하고, 프로그래밍 동작(programming operation)이 수행되는 동안 저장된 데이터를 유지할 수 있다. 페이지 버퍼(340)는 페이지에 포함되는 메모리 셀 들로부터 읽힌 데이터를 저장하고, 제어부(330)의 명령(command)에 따라 저장된 데이터를 출력할 수 있다.According to an exemplary embodiment, a set of memory cells that are simultaneously accessed by the
코드 메모리(350)는 읽기 전압 레벨 코드를 저장할 수 있다. 읽기 전압 레벨은 디지털 아날로그 변환기(digital to analog converter, DAC)에 의하여 생성될 수 있다. DAC는 디지털 값에 대응하는 아날로그 전압 레벨을 생성할 수 있다. 예를 들어 DAC는 8 bit의 디지털 값을 이용하면 256 개의 아날로그 전압 레벨들을 생성할 수 있고, 읽기 전압 레벨은 상기 256 개의 아날로그 전압 레벨들 중 어느 하나일 수 있다. 읽기 전압 레벨 코드는 읽기 전압 레벨에 대응하는 디지털 값일 수 있다.The
제어부(330)는 제1 인덱스 정보가 제2 인덱스 정보와 같으면 현재의 읽기 전압 레벨을 최적의 읽기 전압 레벨로 설정할 수 있다. 이 때 제어부(330)는 현재의 읽기 전압 레벨에 대응하는 읽기 전압 레벨 코드를 코드 메모리(350)에 저장할 수 있다.If the first index information is equal to the second index information, the
실시예에 따라서는 제어부(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
제어부(330)는 제1 인덱스 정보가 제2 인덱스 정보와 다르면 현재의 읽기 전압 레벨을 조정하여 새로운 읽기 전압 레벨을 생성할 수 있다. 메모리 장치(300)는 제1 인덱스 정보가 제2 인덱스 정보와 같을 때까지 읽기 전압 레벨을 조정하여 최적의 읽기 전압 레벨을 탐색할 수 있다.If the first index information is different from the second index information, the
코드 메모리(350)는 제어부(330)에 의해 탐색된 최적의 읽기 전압 레벨에 대응하는 읽기 전압 레벨 코드를 저장할 수 있다.The
실시예에 따라서는 제어부(330)는 메모리 셀 어레이(310)의 메모리 셀들 각각에 대하여 최적의 읽기 전압 레벨을 탐색할 수 있다. 이 때 코드 메모리(350)는 메모리 셀 어레이(310)의 메모리 셀들 각각에 대하여 최적의 읽기 전압 레벨에 대응하는 읽기 전압 레벨 코드를 저장할 수 있다.In some embodiments, the
실시예에 따라서는 제어부(330)는 워드 라인(word line)들 각각에 연결된 메모리 셀들에 대하여 최적의 읽기 전압 레벨을 탐색할 수 있다. 이 때 코드 메모리(350)는 상기 워드 라인들 각각에 대하여 최적의 읽기 전압 레벨에 대응하는 읽기 전압 레벨 코드를 저장할 수 있다. 메모리 장치(300)는 하나의 워드 라인에 연결된 메모리 셀들의 집합을 페이지로 설정할 수 있다. 메모리 장치(300)는 페이지에 포함되는 메모리 셀들에 대하여 동시에 프로그래밍 동작을 수행할 수 있고, 페이지에 포함되는 메모리 셀들로부터 동시에 데이터를 읽을 수 있다.In some embodiments, the
실시예에 따라서는 제어부(330)는 메모리 셀 어레이(310) 내의 블록들 각각에 포함된 메모리 셀들에 대하여 최적의 읽기 전압 레벨을 탐색할 수 있다. 이 때 코드 메모리(350)는 상기 블록들 각각에 대하여 최적의 읽기 전압 레벨에 대응하는 읽기 전압 레벨 코드를 저장할 수 있다. 메모리 장치(300)는 하나의 블록에 포함된 메모리 셀들에 대하여 동시에 소거 동작(erase operation)을 수행할 수 있다.According to an exemplary embodiment, the
메모리 장치(300)는 코드 메모리(350)에 저장된 읽기 전압 레벨 코드에 대응 하는 읽기 전압 레벨을 디폴트(default) 읽기 전압 레벨로 설정할 수 있다. 메모리 장치(300)는 새로운 메모리 셀들에 대한 데이터 읽기 동작(data read operation)을 수행하는 동안 디폴트 읽기 전압 레벨을 이용하여 최초의 읽기 동작을 수행할 수 있다.The
도 4는 도 1의 메모리 장치(100)의 동작의 일 예를 도시하는 도면이다.4 is a diagram illustrating an example of an operation of the
도 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
데이터 B가 저장된 메모리 셀들의 문턱 전압은 산포(420)를 형성할 수 있다.Threshold voltages of memory cells in which data B is stored may form a
데이터 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
메모리 셀들의 문턱 전압이 시간의 경과에 따라 원치 않는 변화를 겪는 이유로 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
독출부(120)는 데이터 B가 저장된 메모리 셀들의 문턱 전압의 변화를 인식하지 못하고 있으므로 산포(410) 및 산포(420)의 위치에 기초하여 전압 레벨(440)을 제1 읽기 전압 레벨로 설정할 수 있다.Since the
산포 부분(431)은 산포(430)에 대응하는 메모리 셀들 중 전압 레벨(440)보다 낮은 문턱 전압을 가지는 메모리 셀들을 나타내고, 산포 부분(431)의 면적은 데이터 B가 저장된 메모리 셀들 중 전압 레벨(440)보다 낮은 문턱 전압을 가지는 메모리 셀들의 개수를 나타낸다.The spreading
산포 부분(432)은 산포(430)에 대응하는 메모리 셀들 중 전압 레벨(440)보다 높은 문턱 전압을 가지는 메모리 셀들을 나타내고, 산포 부분(432)의 면적은 데이터 B가 저장된 메모리 셀들 중 전압 레벨(440)보다 높은 문턱 전압을 가지는 메모리 셀들의 개수를 나타낸다.The spreading
독출부(120)는 산포 부분(432)에 대응하는 메모리 셀들의 개수를 제1 인덱스 정보로 생성할 수 있다. 제1 인덱스 정보는 산포 부분(432)의 면적에 대응할 수 있다.The
메모리 셀 어레이(110)에 저장된 제2 인덱스 정보는 산포(420)에 대응하는 메모리 셀들의 개수일 수 있다. 산포(430)에 대응하는 메모리 셀들의 개수는 산포(420)에 대응하는 메모리 셀들의 개수와 같다고 가정했으므로, 제2 인덱스 정보는 산포(430)의 면적에 대응할 수 있다.The second index information stored in the
제1 인덱스 정보는 산포 부분(432)의 면적에 대응하고 제2 인덱스 정보는 산포(430)의 면적에 대응하므로 제어부(130)는 제1 인덱스 정보 및 제2 인덱스 정보의 차이에 기초하여 제2 읽기 전압 레벨을 설정할 수 있다.Since the first index information corresponds to the area of the
제1 인덱스 정보가 제2 인덱스 정보보다 작으면 제어부(130)는 전압 레벨(440)보다 낮은 전압 레벨(450)을 제2 읽기 전압 레벨로 설정할 수 있다.If the first index information is smaller than the second index information, the
제어부(130)는 제2 인덱스 정보 및 제1 인덱스 정보의 차이인 산포 부분(431)의 면적에 기초하여 제1 읽기 전압 레벨 및 제2 읽기 전압 레벨의 차이를 조정할 수 있다. 제어부(130)는 산포 부분(431)의 면적이 클수록 제1 읽기 전압 레벨 및 제2 읽기 전압 레벨의 차이가 크도록 제2 읽기 전압 레벨을 선택할 수 있다.The
제어부(130)는 산포 부분(431)의 면적에 따라 제2 읽기 전압 레벨을 선택할 수 있으나 제2 읽기 전압 레벨 및 제1 읽기 전압 레벨의 차이가 최대값보다 크지 않도록 제2 읽기 전압 레벨을 선택할 수 있다. 제2 읽기 전압 레벨 및 제1 읽기 전압 레벨의 차이가 너무 크면 읽기 전압 레벨의 궤적이 최적의 읽기 전압 레벨로 수렴(converge)하지 않고 발산(diverge)할 수 있기 때문이다. 메모리 장치(100)는 최적의 읽기 전압 레벨을 탐색할 수 있도록 읽기 전압 레벨의 변화의 최대값을 설정할 수 있다.The
도 5는 도 1의 메모리 장치(100)의 동작의 다른 예를 도시하는 도면이다.5 is a diagram illustrating another example of an operation of the
도 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
데이터 D가 저장된 메모리 셀들의 문턱 전압은 산포(520)를 형성할 수 있다.Threshold voltages of memory cells in which data D is stored may form a
데이터 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
메모리 셀들의 문턱 전압이 시간의 경과에 따라 원치 않는 변화를 겪는 이유로 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
산포 부분(531)은 산포(530)에 대응하는 메모리 셀들 중 전압 레벨(540)보다 낮은 문턱 전압을 가지는 메모리 셀들을 나타내고, 산포 부분(531)의 면적은 데이터 C가 저장된 메모리 셀들 중 전압 레벨(540)보다 낮은 문턱 전압을 가지는 메모리 셀들의 개수를 나타낸다.The spreading
산포 부분(532)은 산포(530)에 대응하는 메모리 셀들 중 전압 레벨(540)보다 높은 문턱 전압을 가지는 메모리 셀들을 나타내고, 산포 부분(532)의 면적은 데이터 C가 저장된 메모리 셀들 중 전압 레벨(540)보다 높은 문턱 전압을 가지는 메모리 셀들의 개수를 나타낸다.The spreading
독출부(120)는 산포 부분(532)에 대응하는 메모리 셀들의 개수 및 산포(520)에 대응하는 메모리 셀들의 개수의 합을 제1 인덱스 정보로 생성할 수 있다. 제1 인덱스 정보는 산포 부분(532)의 면적 및 산포(520)의 면적의 합에 대응할 수 있다.The
메모리 셀 어레이(110)에 저장된 제2 인덱스 정보는 산포(520)에 대응하는 메모리 셀들의 개수일 수 있다. 따라서 제2 인덱스 정보는 산포(520)의 면적에 대응할 수 있다.The second index information stored in the
제1 인덱스 정보는 산포 부분(532)의 면적 및 산포(520)의 면적의 합에 대응하고 제2 인덱스 정보는 산포(520)의 면적에 대응하므로 제어부(130)는 제1 인덱스 정보 및 제2 인덱스 정보의 차이에 기초하여 제2 읽기 전압 레벨을 설정할 수 있다.Since the first index information corresponds to the sum of the area of the
제1 인덱스 정보가 제2 인덱스 정보보다 크면 제어부(130)는 전압 레벨(540)보다 높은 전압 레벨(550)을 제2 읽기 전압 레벨로 설정할 수 있다.If the first index information is greater than the second index information, the
제어부(130)는 제2 인덱스 정보 및 제1 인덱스 정보의 차이인 산포 부분(532)의 면적에 기초하여 제1 읽기 전압 레벨 및 제2 읽기 전압 레벨의 차이를 조정할 수 있다. 제어부(130)는 산포 부분(532)의 면적이 클수록 제1 읽기 전압 레벨 및 제2 읽기 전압 레벨의 차이가 크도록 제2 읽기 전압 레벨을 선택할 수 있다.The
도 6은 도 1의 메모리 장치(100)의 동작의 또 다른 예를 도시하는 도면이다.FIG. 6 is a diagram illustrating still another example of the operation of the
도 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
데이터 F가 저장된 메모리 셀들의 문턱 전압은 산포(620)를 형성할 수 있다.Threshold voltages of memory cells in which data F is stored may form a
데이터 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
제어부(130)는 읽기 전압 레벨보다 높은 문턱 전압을 가지는 메모리 셀들의 개수를 제1 인덱스 정보로 생성할 수 있다. 메모리 셀 어레이(110)에 저장된 제2 인덱스 정보는 데이터 F가 저장된 메모리 셀들의 개수일 수 있다. 이 때 제2 인덱스 정보는 산포(620)의 면적에 대응할 수 있다.The
만일 독출부(120)가 전압 레벨(640)을 읽기 전압 레벨로 선택하면 독출부(120)는 데이터 E가 저장된 메모리 셀들 중 전압 레벨(640)보다 높은 문턱 전압을 가지는 메모리 셀들의 개수 및 데이터 F가 저장된 메모리 셀들 중 전압 레벨(640)보다 높은 문턱 전압을 가지는 메모리 셀들의 개수의 합을 제1 인덱스 정보로 생성할 수 있다.If the
메모리 장치(100)가 읽기 전압 레벨보다 높은 문턱 전압을 가지는 메모리 셀들의 개수를 제1 인덱스 정보로 생성하면 도 6의 실시예의 경우 최적의 읽기 전압 레벨은 전압 레벨(640)로 설정될 수 있다.When the
표본(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
전압 레벨(630)의 문턱 전압을 가지는 메모리 셀이 데이터 E를 저장할 확률은 전압 레벨(630)의 문턱 전압을 가지는 메모리 셀이 데이터 F를 저장할 확률과 같을 수 있다.The probability that the memory cell having the threshold voltage of the
메모리 셀이 전압 레벨(630)보다 높은 문턱 전압을 가지는 경우 상기 메모리 셀이 데이터 F를 저장할 확률은 상기 메모리 셀이 데이터 E를 저장할 확률보다 높을 수 있다. 메모리 셀이 전압 레벨(630)보다 낮은 문턱 전압을 가지는 경우 상기 메모리 셀이 데이터 E를 저장할 확률은 상기 메모리 셀이 데이터 F를 저장할 확률보다 높을 수 있다.When the memory cell has a threshold voltage higher than the
따라서 도 6의 실시예에서는 최적의 읽기 전압 레벨은 전압 레벨(630)일 수 있다. 메모리 장치(100)는 전압 레벨(630)을 최적의 읽기 전압 레벨로 선택하기 위하여 산포(610) 및 산포(620)의 형태에 기초하여 오프셋(offset)을 설정하고, 상기 설정된 오프셋에 기초하여 제2 인덱스 정보를 조정할 수 있다.Thus, in the embodiment of FIG. 6, the optimal read voltage level may be the
독출부(120)가 읽기 전압 레벨보다 높은 문턱 전압의 개수를 제1 인덱스 정보로 생성하는 경우 메모리 장치(100)는 산포(610) 및 산포(620)과 같이 왼쪽으로 치우친 형태를 가지는 산포에 대해서는 양(+)의 오프셋을 설정할 수 있다. 반대로 오른쪽으로 치우친 형태를 가지는 산포에 대해서는 메모리 장치(100)는 음(-)의 오프셋을 설정할 수 있다.When the
메모리 장치(100)는 제2 인덱스 정보에 오프셋을 가산하여 조정된 제2 인덱스 정보를 생성하고, 상기 조정된 제2 인덱스 정보 및 제1 인덱스 정보를 비교하여 전압 레벨(630)을 최적의 읽기 전압 레벨로 선택할 수 있다.The
도 7은 본 발명의 또 다른 실시예에 따른 메모리 장치(700)를 도시하는 도면이다.7 is a diagram illustrating a
도 7을 참조하면, 메모리 장치(700)는 메모리 셀 어레이(780), 독출부 1 (710), 독출부 2 (720), 카운터 1 (730), 카운터 2 (740), offset 조정부(750), 비교부(760) 및 전압 생성부(770)를 포함한다.Referring to FIG. 7, the
전압 생성부(770)는 읽기 전압 레벨을 설정하고, 상기 설정된 읽기 전압 레벨을 독출부 1 (710) 및 독출부 2 (720)로 전송할 수 있다.The
독출부 1 (710)는 메모리 셀 어레이(780)로 데이터 읽기 요청 (data read request)을 전송하고, 메모리 셀 어레이(780)로부터 데이터를 읽는다. 이 때 독출부 1 (710)는 읽기 전압 레벨을 이용하여 데이터를 읽을 수 있다.The
독출부 2 (720)는 메모리 셀 어레이(780)로 인덱스 정보 읽기 요청 (index information read request)을 전송하고, 메모리 셀 어레이(780)로부터 인덱스 정보를 읽는다.The
카운터 1 (730)는 읽은 데이터로부터 문턱 전압 구간에 포함되는 메모리 셀의 개수를 세어 제1 인덱스 정보를 생성할 수 있다. 문턱 전압 구간은 읽기 전압 레벨에 의하여 구분되는 구간일 수 있다.The
카운터 2 (740)는 인덱스 정보로부터 문턱 전압 구간에 포함되는 메모리 셀 의 개수를 분리하여 제2 인덱스 정보를 생성할 수 있다.
오프셋 조정부(750)는 제2 인덱스 정보에 오프셋을 가산하여 조정된 제2 인덱스 정보를 생성할 수 있다. 오프셋 조정부(750)는 문턱 전압의 산포의 형태에 기초하여 오프셋을 설정할 수 있다.The offset
비교부(760)는 제1 인덱스 정보 및 상기 조정된 제2 인덱스 정보를 비교할 수 있다. 비교부(760)는 제1 인덱스 정보 및 상기 조정된 제2 인덱스 정보가 같으면 현재의 읽은 데이터를 출력 데이터로 출력하도록 독출부 1 (710)를 제어할 수 있다. 비교부(760)는 제1 인덱스 정보 및 상기 조정된 제2 인덱스 정보가 같으면 다음 데이터를 읽도록 독출부 1 (710)를 제어하고 다음 인덱스 정보를 읽도록 독출부 2 (720)를 제어할 수 있다.The
비교부(760)는 제1 인덱스 정보 및 상기 조정된 제2 인덱스 정보가 다르면 제1 인덱스 정보 및 상기 조정된 제2 인덱스 정보의 차이를 전압 생성부(770)로 전송하고, 독출부 1 (710)가 메모리 셀 어레이(780)로부터 데이터를 다시 읽도록 독출부 1 (710)를 제어할 수 있다.The
전압 생성부(770)는 제1 인덱스 정보 및 상기 조정된 제2 인덱스 정보의 차이에 기초하여 읽기 전압 레벨을 조정할 수 있고, 상기 조정된 읽기 전압 레벨을 독출부 1 (710)로 전송할 수 있다. 독출부 1 (710)는 메모리 셀 어레이(780)로 읽기 요청을 다시 전송하고 상기 조정된 읽기 전압 레벨을 이용하여 메모리 셀 어레이(780)로부터 데이터를 다시 읽을 수 있다.The
도 8은 도 7의 메모리 장치(700)의 다른 예를 상세히 도시하는 도면이다.FIG. 8 is a diagram illustrating another example of the
도 8을 참조하면, 전압 생성부(770)는 다중화기(multiplexer)(820)로부터 수신된 전압 레벨 코드에 대응하는 읽기 전압 레벨을 생성할 수 있다.Referring to FIG. 8, the
비교부(760)는 제1 인덱스 정보 및 상기 조정된 제2 인덱스 정보의 차이에 기초하여 전압 레벨 코드를 생성할 수 있다. 다중화기(820)는 비교부(760)로부터 수신된 신호에 의하여 코드 메모리(810)로부터 수신된 전압 레벨 코드 및 비교부(760)로부터 수신된 전압 레벨 코드 중 어느 하나를 선택하여 전압 생성부(770)로 전송할 수 있다.The
비교부(760)는 제1 인덱스 정보가 상기 조정된 제2 인덱스 정보와 같거나 거의 유사하면 비교부(760)로부터 수신된 전압 레벨 코드를 저장하도록 코드 메모리(810)를 제어할 수 있다. 이 때 저장된 전압 레벨 코드에 대응하는 전압 레벨은 최적의 읽기 전압 레벨로 간주될 수 있다.The
비교부(760)는 다음 데이터 읽기 동작 시 다중화기(820)가 코드 메모리(810)에 저장된 전압 레벨 코드(최적의 읽기 전압 레벨 코드에 대응한다)를 전압 생성부(770)로 전송하도록 다중화기(820)를 제어할 수 있다.The
메모리 장치(700)는 이전에 탐색된 최적의 읽기 전압 레벨을 다음 데이터 읽기 동작 시 default 읽기 전압 레벨로 이용함으로써 최적의 읽기 전압 레벨을 탐색하는 시간을 단축할 수 있다.The
도 9는 도 2의 메모리 장치(200)의 동작의 일 예를 도시하는 도면이다.9 is a diagram illustrating an example of an operation of the
도 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
제1 그룹(910)은 제1 데이터 페이지가 프로그램된 후의 멀티 비트 셀들의 문턱 전압의 산포를 도시한다.The
산포(911)는 제1 데이터 페이지 "1"이 프로그램된 멀티 비트 셀들의 산포일 수 있다. 산포(912)는 제1 데이터 페이지 "0"이 프로그램된 멀티 비트 셀들의 산포일 수 있다.The
프로그래밍부(250)는 제1 데이터 페이지에 기초하여 산포(911)에 대응하는 멀티 비트 셀들의 개수 및 산포(912)에 대응하는 멀티 비트 셀들의 개수를 셀 수 있다. 프로그래밍부(250)는 산포(911)에 대응하는 멀티 비트 셀들의 개수 및 산포(912)에 대응하는 멀티 비트 셀들의 개수를 제2 인덱스 정보로 생성하고, 멀티 비트 셀들에 제2 인덱스 정보를 프로그램할 수 있다.The
제1 데이터 페이지의 프로그래밍 동작이 수행된 후 제어부(230)는 제1 인덱스 정보 및 제2 인덱스 정보의 차이가 기준치 이하가 되도록 읽기 전압 레벨을 조정할 수 있다. 이 때 메모리 장치(200)는 산포(911) 및 산포(912) 사이의 전압 레벨을 읽기 전압 레벨로 설정할 수 있고, 제1 인덱스 정보가 읽기 전압 레벨보다 높은 문턱 전압을 가지는 멀티 비트 셀의 개수인 경우 제2 인덱스 정보는 산포(912)에 대응하는 멀티 비트 셀들의 개수일 수 있다.After the programming operation of the first data page is performed, the
데이터 페이지들 각각의 프로그래밍 동작이 수행된 후 메모리 장치(200)는 제1 internal read 동작을 수행하여 프로그램된 멀티 비트 셀의 문턱 전압 상태를 식별할 수 있다. 예를 들어 산포(912)에 대응하는 멀티 비트 셀들은 제1 문턱 전압 상태를 가진다고 할 수 있다. 메모리 장치(200)는 동시에 프로그램되는 멀티 비트 셀들의 개수를 알고 있으므로 산포(912)에 대응하는 멀티 비트 셀들의 개수를 알면 산포(911)에 대응하는 멀티 비트 셀들의 개수를 계산할 수 있다.After the programming operation of each of the data pages is performed, the
프로그래밍부(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
프로그래밍부(250)는 설정된 목표 문턱 전압 상태 중 산포(922)를 제2 문턱 전압 상태로, 산포(924)를 제3 문턱 전압 상태로 설정할 수 있다. 프로그래밍부(250)는 제2 문턱 전압 상태를 가지는 멀티 비트 셀들의 개수 및 제3 문턱 전압 상태를 가지는 멀티 비트 셀들의 개수를 제3 인덱스 정보로 생성할 수 있다. 프로그래밍부(250)는 제2 데이터 페이지 및 제3 인덱스 정보를 멀티 비트 셀들에 동시에 프로그램할 수 있다. 프로그래밍부(250)는 멀티 비트 셀들 각각의 문턱 전압이 목표 문턱 전압 상태에 대응하도록 멀티 비트 셀들 각각을 프로그램할 수 있다.The
제2 그룹(920)은 제2 데이터 페이지가 프로그램된 후의 멀티 비트 셀들의 문턱 전압의 산포를 도시한다. 데이터 "11"이 프로그램된 멀티 비트 셀들은 산포(921)에 대응하고, 데이터 "10"이 프로그램된 멀티 비트 셀들은 산포(922)에 대응하고, 데이터 "01"이 프로그램된 멀티 비트 셀들은 산포(923)에 대응하고, 데이터 "00"이 프로그램된 멀티 비트 셀들은 산포(924)에 대응할 수 있다.The
메모리 장치(200)는 제2 internal read 동작을 수행하여 멀티 비트 셀들의 문턱 전압 상태를 식별하고, 식별된 문턱 전압 상태 및 제3 데이터 페이지에 기초하여 멀티 비트 셀들의 목표 문턱 전압 상태를 설정할 수 있다.The
제3 그룹(930)은 제3 데이터 페이지가 프로그램된 후의 멀티 비트 셀들의 문턱 전압의 산포를 도시한다.The
데이터 "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
예를 들어 메모리 장치(200)는 동시에 프로그램되는 멀티 비트 셀들의 개수, 산포(912)에 대응하는 멀티 비트 셀들의 개수, 산포(922)에 대응하는 멀티 비트 셀들의 개수, 및 산포(932)에 대응하는 멀티 비트 셀들의 개수에 기초하여 산포(931)에 대응하는 멀티 비트 셀들의 개수를 계산할 수 있다.For example, the
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
도 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
도 2는 본 발명의 다른 실시예에 따른 메모리 장치(200)를 도시하는 도면이다.2 is a diagram illustrating a
도 3은 본 발명의 또 다른 실시예에 따른 메모리 장치(300)를 도시하는 도면이다.3 is a diagram illustrating a
도 4는 도 1의 메모리 장치(100)의 동작의 일 예를 도시하는 도면이다.4 is a diagram illustrating an example of an operation of the
도 5는 도 1의 메모리 장치(100)의 동작의 다른 예를 도시하는 도면이다.5 is a diagram illustrating another example of an operation of the
도 6은 도 1의 메모리 장치(100)의 동작의 또 다른 예를 도시하는 도면이다.FIG. 6 is a diagram illustrating still another example of the operation of the
도 7은 본 발명의 또 다른 실시예에 따른 메모리 장치(700)를 도시하는 도면이다.7 is a diagram illustrating a
도 8은 도 7의 메모리 장치(700)의 다른 예를 상세히 도시하는 도면이다.FIG. 8 is a diagram illustrating another example of the
도 9는 도 2의 메모리 장치(200)의 동작의 일 예를 도시하는 도면이다.9 is a diagram illustrating an example of an operation of the
도 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)
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)
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 |
-
2008
- 2008-05-08 KR KR1020080043087A patent/KR20090117172A/en not_active Application Discontinuation
Cited By (13)
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 |