KR101540795B1 - Method for reading data stored in a flash memory according to a threshold voltage distribution and memory controller and system thereof - Google Patents

Method for reading data stored in a flash memory according to a threshold voltage distribution and memory controller and system thereof Download PDF

Info

Publication number
KR101540795B1
KR101540795B1 KR1020130022481A KR20130022481A KR101540795B1 KR 101540795 B1 KR101540795 B1 KR 101540795B1 KR 1020130022481 A KR1020130022481 A KR 1020130022481A KR 20130022481 A KR20130022481 A KR 20130022481A KR 101540795 B1 KR101540795 B1 KR 101540795B1
Authority
KR
South Korea
Prior art keywords
threshold voltage
memory cells
voltage distribution
numbers
threshold
Prior art date
Application number
KR1020130022481A
Other languages
Korean (ko)
Other versions
KR20140108046A (en
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 KR1020130022481A priority Critical patent/KR101540795B1/en
Publication of KR20140108046A publication Critical patent/KR20140108046A/en
Application granted granted Critical
Publication of KR101540795B1 publication Critical patent/KR101540795B1/en

Links

Images

Classifications

    • 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
    • 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/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

플래시 메모리에 저장된 데이터를 판독하기 위한 방법을 개시한다. 플래시 메모리는 복수의 메모리 셀을 포함하고, 각 메모리 셀은 특정한 임계 전압을 갖는다. 이 방법은, 메모리 셀들의 제1그룹의 임계 전압들을 나타내는 제1임계 전압 분포를 획득하는 단계와, 메모리 셀들의 제2그룹의 임계 전압들을 나타내는 제2임계 전압 분포를 획득하는 단계와, 플래시 메모리를 제어하여 제2임계 전압 분포에 따라 메모리 셀들의 제1그룹에 대하여 적어도 하나의 판독 동작을 수행하는 단계를 포함하고, 제2임계 전압 분포는 제1임계 전압 분포와 다르고, 메모리 셀들의 제1그룹은 메모리 셀들의 제2그룹의 적어도 일부를 포함한다.A method for reading data stored in a flash memory is disclosed. The flash memory includes a plurality of memory cells, and each memory cell has a specific threshold voltage. The method includes obtaining a first threshold voltage distribution representing a threshold voltage of a first group of memory cells, obtaining a second threshold voltage distribution representing a threshold voltage of a second group of memory cells, And performing at least one read operation for a first group of memory cells in accordance with a second threshold voltage distribution, wherein the second threshold voltage distribution is different from the first threshold voltage distribution, The group includes at least a portion of the second group of memory cells.

Description

임계 전압 분포에 따라 플래시 메모리에 저장된 데이터를 판독하는 방법과, 이를 위한 메모리 컨트롤러 및 시스템{METHOD FOR READING DATA STORED IN A FLASH MEMORY ACCORDING TO A THRESHOLD VOLTAGE DISTRIBUTION AND MEMORY CONTROLLER AND SYSTEM THEREOF}BACKGROUND OF THE INVENTION 1. Field of the Invention [0001] The present invention relates to a method of reading data stored in a flash memory according to a threshold voltage distribution,

본 발명에 개시된 실시예들은, 플래시 메모리에 저장된 데이터 판독에 관한 것으로서, 더욱 구체적으로, 플래시 메모리의 메모리 셀들로부터 판독되는 비트 시퀀스들의 이진 디지트 분포 특성을 참조함으로써 플래시 메모리에 저장된 데이터를 판독하는 방법 및 메모리 컨트롤러에 관한 것이다.The embodiments disclosed herein relate to reading data stored in a flash memory and more particularly to a method of reading data stored in a flash memory by referring to the binary digit distribution characteristics of bit sequences read from memory cells of the flash memory, Memory controller.

플래시 메모리는 데이터 저장을 위해 전기적으로 소거 및 프로그래밍될 수 있다. 플래시 메모리는 메모리 카드, 고체 드라이브, 휴대용 멀티미디어 플레이어 등에 널리 사용되고 있다. 플래시 메모리는 비휘발성 메모리이므로, 플래시 메모리에 저장되어 있는 정보를 유지하는 데 전력이 필요 없다. 또한, 플래시 메모리는 빠른 판독 액세스 및 더욱 양호한 내충격성을 제공한다. 이러한 특성들 때문에 플래시 메모리가 인기 있다.The flash memory can be electrically erased and programmed for data storage. Flash memory is widely used in memory cards, solid-state drives, and portable multimedia players. Since the flash memory is a non-volatile memory, no power is required to hold the information stored in the flash memory. In addition, flash memory provides fast read access and better impact resistance. Because of these characteristics, flash memory is popular.

플래시 메모리는 NOR형 플래시 메모리와 NAND형 플래시 메모리로 분류될 수 있다. NAND형 플래시 메모리에서는, 소거 및 프로그래밍 시간을 감소하였으며 셀당 칩 면적을 덜 필요로 하므로, NOR형 플래시 메모리보다 저장 밀도를 더욱 높이고 비트당 비용을 낮출 수 있다. 일반적으로, 플래시 메모리는 부동 게이트 트랜지스터로 제조된 메모리 셀들의 어레이에 데이터를 저장한다. 각 메모리 셀은, 부동 게이트 트랜지스터로 제조된 메모리 셀을 턴온하는 데 필요한 임계 전압을 구성하도록 부동 게이트 상의 전하의 수를 적절히 제어함으로써, 정보의 1비트 또는 정보의 1비트보다 많은 비트를 저장할 수 있다. 이러한 방식으로, 하나 이상의 소정의 제어 게이트 전압을 부동 게이트 트랜지스터의 제어 게이트에 인가하면, 부동 게이트 트랜지스터의 도전 상태가 부동 게이트 트랜지스터에 의해 저장된 이진 디지트(들)를 나타낸다.The flash memory can be classified into a NOR type flash memory and a NAND type flash memory. In NAND type flash memory, the erase and programming time are reduced and the chip area per cell is less, so the storage density can be further increased and the cost per bit can be lower than that of the NOR type flash memory. Generally, a flash memory stores data in an array of memory cells fabricated with floating gate transistors. Each memory cell can store more than one bit of information or more than one bit of information by appropriately controlling the number of charges on the floating gate to configure the threshold voltage needed to turn on the memory cells fabricated with floating gate transistors . In this manner, when one or more predetermined control gate voltages are applied to the control gate of the floating gate transistor, the conductive state of the floating gate transistor represents the binary digit (s) stored by the floating gate transistor.

그러나, 일부 요인들로 인해, 하나의 플래시 메모리 셀에 초기에 저장된 전하의 수는 영향을 받거나 외란을 받을 수 있다. 예를 들어, 플래시 메모리에서 발생하는 간섭은 기입(프로그램) 외란(disturbance), 판독 외란, 및/또는 보유 외란으로부터 발생할 것일 수 있다. 정보의 1비트보다 많은 비트를 각각 저장하는 메모리 셀들을 포함하는 NAND 플래시 메모리를 예로 들면, 하나의 물리 페이지는 다수의 논리 페이지를 포함하고, 논리 페이지들의 각각은 하나 이상의 제어 게이트 전압을 사용함으로써 판독된다. 예를 들어, 정보의 3비트를 저장하도록 구성된 하나의 플래시 메모리 셀에서는, 플래시 메모리 셀이 서로 다른 전하량들(즉, 서로 다른 임계 전압들)에 각각 대응하는 8개의 가능한 상태들(즉, 전하 레벨들) 중 하나를 가질 수 있다. 그러나, 프로그램/소거(P/E) 카운트 및/또는 보유 시간의 증가로 인해, 플래시 메모리 내의 메모리 셀들의 임계 전압 분포가 변경될 수 있다. 따라서, 초기 제어 게이트 전압 설정(즉, 임계 전압 설정)을 이용하여 메모리 셀로부터 저장된 비트들을 판독하게 되면, 변경된 임계 전압 분포로 인해, 저장되어 있는 정확한 정보를 획득하지 못할 수 있다.However, due to some factors, the number of charges initially stored in one flash memory cell may be affected or disturbed. For example, interference occurring in the flash memory may result from write (program) disturbance, read disturbance, and / or hold disturbance. For example, in a NAND flash memory that includes memory cells that each store more than one bit of information, one physical page includes a plurality of logical pages, each of which uses one or more control gate voltages do. For example, in one flash memory cell configured to store three bits of information, the flash memory cell has eight possible states corresponding to different amounts of charge (i. E., Different threshold voltages) ). ≪ / RTI > However, due to the increase of the program / erase (P / E) count and / or retention time, the threshold voltage distribution of the memory cells in the flash memory can be changed. Thus, reading the stored bits from the memory cell using the initial control gate voltage setting (i.e., threshold voltage setting) may fail to acquire accurate stored information due to the changed threshold voltage distribution.

본 발명의 예시적인 실시예들에 따르면, 상술한 문제점을 해결하고자, 임계 전압 분포를 참조함으로써 플래시 메모리에 저장된 데이터를 판독하기 위한 방법, 메모리 컨트롤러, 및 시스템을 제안한다.According to exemplary embodiments of the present invention, a method, a memory controller, and a system for reading data stored in a flash memory by referring to a threshold voltage distribution are proposed to solve the above-described problems.

본 발명의 일 양태에 따르면, 플래시 메모리에 저장된 데이터를 판독하기 위한 예시적인 방법을 개시한다. 플래시 메모리는 복수의 메모리 셀을 포함하고, 각 메모리 셀은 특정한 임계 전압을 갖는다. 예시적인 방법은, 메모리 셀들의 제1그룹의 임계 전압들을 나타내는 제1임계 전압 분포를 획득하는 단계와, 메모리 셀들의 제2그룹의 임계 전압들을 나타내는 제2임계 전압 분포를 획득하는 단계와, 플래시 메모리를 제어하여 제2임계 전압 분포에 따라 메모리 셀들의 제1그룹에 대하여 적어도 하나의 판독 동작을 수행하는 단계를 포함하고, 제2임계 전압 분포는 제1임계 전압 분포와 다르고, 메모리 셀들의 제1그룹은 메모리 셀들의 제2그룹의 적어도 일부를 포함한다.According to one aspect of the present invention, an exemplary method for reading data stored in a flash memory is disclosed. The flash memory includes a plurality of memory cells, and each memory cell has a specific threshold voltage. An exemplary method includes obtaining a first threshold voltage distribution representative of threshold voltages of a first group of memory cells, obtaining a second threshold voltage distribution representative of threshold voltages of a second group of memory cells, Controlling a memory to perform at least one read operation for a first group of memory cells according to a second threshold voltage distribution, wherein the second threshold voltage distribution is different from the first threshold voltage distribution, One group includes at least a portion of the second group of memory cells.

도 1은 본 발명의 예시적인 일 실시예에 따라 메모리 시스템을 도시한 도면;
도 2는 본 발명의 예시적인 일 실시예에 따라 LSB 데이터를 판독하는 데 사용되는 제어 게이트 전압에 대한 조절을 도시한 도면;
도 3은 본 발명의 예시적인 일 실시예에 따라 LSB 데이터를 판독하는 데 사용되는 더욱 양호한 제어 게이트 전압을 검색하도록 제어 게이트 전압의 시프트 방향(shifting direction)을 결정하는 동작을 도시한 도면;
도 4는 본 발명의 예시적인 다른 일 실시예에 따라 LSB 데이터를 판독하는 데 사용되는 제어 게이트 전압에 대한 조절을 도시한 도면;
도 5는 본 발명의 예시적인 일 실시예에 따라 타겟 물리 페이지 P_1의 LSB 데이터를 판독하는 데 사용되는 제어 게이트 전압에 대한 조절을 도시한 도면;
도 6은 본 발명의 예시적인 일 실시예에 따라 타겟 물리 페이지 P_1의 LSB 데이터를 판독하는 데 사용되는 더욱 양호한 제어 게이트 전압을 검색하도록 제어 게이트 전압의 시프트 방향을 결정하는 동작을 도시한 도면;
도 7a는 본 발명의 예시적인 일 실시예에 따라 LSB 데이터를 판독하는 데 사용되는 제어 게이트 전압에 대한 조절을 도시한 도면;
도 7b는 도 7a에 도시한 임계 전압 분포를 평균화함으로써 획득되는 임계 전압 분포를 도시한 도면;
도 7c는 도 7a에 도시한 임계 전압 분포의 정보의 일부를 선택함으로써 획득되는 임계 전압 분포를 도시한 도면;
도 8은 본 발명의 개념을 도시한 흐름도.
Figure 1 illustrates a memory system in accordance with an exemplary embodiment of the present invention;
Figure 2 illustrates the adjustment to the control gate voltage used to read LSB data in accordance with an exemplary embodiment of the present invention;
Figure 3 illustrates the operation of determining a shifting direction of a control gate voltage to retrieve a better control gate voltage used to read LSB data in accordance with an exemplary embodiment of the present invention;
Figure 4 illustrates an adjustment to the control gate voltage used to read LSB data in accordance with another exemplary embodiment of the present invention;
Figure 5 illustrates the adjustment to the control gate voltage used to read the LSB data of the target physical page P_1 in accordance with an exemplary embodiment of the present invention;
Figure 6 illustrates the operation of determining the shift direction of the control gate voltage to retrieve a better control gate voltage used to read the LSB data of the target physical page P_1 in accordance with an exemplary embodiment of the present invention;
FIG. 7A illustrates adjustment to the control gate voltage used to read LSB data in accordance with an exemplary embodiment of the present invention; FIG.
FIG. 7B shows a threshold voltage distribution obtained by averaging the threshold voltage distributions shown in FIG. 7A; FIG.
FIG. 7C shows a threshold voltage distribution obtained by selecting a part of the information of the threshold voltage distribution shown in FIG. 7A; FIG.
Figure 8 is a flow chart illustrating the concept of the present invention;

상세한 설명과 후속하는 청구범위에 걸친 일부 용어들은 특정 구성요소들을 가리키는 데 사용된다. 당업자라면 인식하듯이, 제조자는 구성요소를 서로 다른 명칭들로 가리킬 수 있다. 본 명세서는, 명칭은 다르지만 기능이 다르지 않은 구성요소들을 구분하려는 것이 아니다. 이하의 상세한 설명과 청구범위에서, "포함"(include, comprise)이라는 용어들은 개방형으로 사용되며, 이에 따라 "~을 포함하지만 이에 한정되지 않는다"는 의미로 해석되어야 한다. 또한, "연결"(couple)이라는 용어는 간접적이나 직접적인 전기적 접속을 의미하려는 것이다. 이에 따라, 한 장치가 다른 장치에 연결되면, 그 접속은, 직접적인 전기적 접속을 통한 것일 수 있고, 또는 다른 장치와 접속을 통한 간접적인 전기적 접속을 통한 것일 수도 있다.Certain terms, throughout the description and the claims which follow, are used to refer to particular elements. As those skilled in the art will appreciate, the manufacturer may refer to components by different names. The present specification does not intend to distinguish components having different names but different functions. In the following detailed description and the claims, the terms " include ", " include ", " include ", and " include " Also, the term "couple " refers to an indirect or direct electrical connection. Thus, if a device is connected to another device, the connection may be through a direct electrical connection, or it may be through an indirect electrical connection through a connection with another device.

본 발명의 일반적인 개념은 플래시 메모리에 저장된 데이터를 판독하는 것이다. 플래시 메모리는 복수의 메모리 셀을 포함하고, 각 메모리 셀은 특정한 임계 전압을 갖는다. 데이터는, 메모리 셀들의 제1그룹의 임계 전압들을 나타내는 제1임계 전압 분포를 획득하고, 메모리 셀들의 제2그룹의 임계 전압들을 나타내는 제2임계 전압 분포를 획득하고, 플래시 메모리를 제어하여 제2임계 전압 분포에 따라 메모리 셀들의 제1그룹에 대하여 적어도 하나의 판독 동작을 수행함으로써 판독되며, 제2임계 전압 분포는 제1임계 전압 분포와 다르며, 메모리 셀들의 제1그룹은 메모리 셀들의 제2그룹의 적어도 일부를 포함한다. 이에 따라, 판독 동작 동안 더욱 양호한 임계 전압을 활용할 수 있고, 비트 에러율을 감소할 수 있다. 추가 상세를 이하에서 설명한다.A general concept of the present invention is to read data stored in a flash memory. The flash memory includes a plurality of memory cells, and each memory cell has a specific threshold voltage. Data is obtained by obtaining a first threshold voltage distribution representing a threshold voltage of a first group of memory cells, obtaining a second threshold voltage distribution representing a threshold voltage of a second group of memory cells, Wherein the first threshold voltage distribution is read by performing at least one read operation on a first group of memory cells in accordance with a threshold voltage distribution, wherein the second threshold voltage distribution is different from the first threshold voltage distribution, At least a portion of the group. Thus, a better threshold voltage can be utilized during the read operation, and the bit error rate can be reduced. Additional details are described below.

첨부 도면에서 예시한 임계 전압 분포 및 이하에서 언급하는 제어 게이트 전압은 예시를 위한 것일 뿐이며 본 발명을 한정하려는 것이 아니라는 점에 주목한다. 또한, 간략성과 명확성을 위해, NAND형 플래시 메모리의 하나의 물리 페이지의 메모리 셀들에 의해 저장된 다중 비트들을 판독하는 것을 본 발명의 기술적 특징을 예시하기 위한 일례로 한다. 그러나, 플래시 메모리가 NAN형 플래시 메모리인지 다른 유형의 플래시 메모리(예를 들어, NOR형 플래시 메모리)인지에 상관없이, 더욱 평활한 임계 전압 분포에 따라 판독 동작을 수행할 수 있는 한 본 발명의 사상을 따른다.It should be noted that the threshold voltage distributions and the control gate voltages described below in the accompanying drawings are for illustrative purposes only and are not intended to limit the present invention. For simplicity and clarity, reading of multiple bits stored by memory cells of one physical page of a NAND flash memory is an example for illustrating the technical features of the present invention. However, as long as the read operation can be performed according to a smoother threshold voltage distribution regardless of whether the flash memory is a NAN type flash memory or another type of flash memory (for example, a NOR type flash memory) .

본 발명의 예시적인 일 실시예에 따라 메모리 시스템을 도시한 도면인 도 1을 참조한다. 예시적인 메모리 시스템(1000)은 메모리 컨트롤러(1200) 및 전술한 플래시 메모리(예를 들어, NAND형 플래시 메모리)(1100)를 포함한다. 타겟 물리 페이지 P_0의 메모리 셀들(M_0 내지 M_K)에 저장된 데이터를 판독하려면, 제어 게이트 전압 VG_0 내지 VG_N을 적절히 설정해야 한다. 예를 들어, 물리 페이지 P_1 내지 P_N의 모든 메모리 셀(부동 게이트 트랜지스터)(103)이 도전성을 갖는 것을 보장하도록 제어 게이트 전압 VG_1 내지 VG_N을 적절히 설정해야 한다. 메모리 셀들(103)의 각각이 N비트(예를 들어, 최소 유효 비트(LSB), 중간 유효 비트(CSB) 및 최대 유효 비트(MSB)를 포함하는 3비트)를 저장하도록 구성되는 경우에, 플래시 메모리(102)는 타겟 물리 페이지 P_0의 각 메모리 셀(103)의 N비트 모두를 식별하도록 제어 게이트 전압 VG_0 내지 (2N-1)의 전압 레벨을 설정한다. 본 예시적인 실시예에서, 메모리 셀(1110)의 각각은 최소 유효 비트(LSB), 중간 유효 비트(CSB) 및 최대 유효 비트(MSB)를 포함한 3비트를 저장하도록 구성된다. 따라서, 메모리 컨트롤러(1200)는, 8개의 제어 게이트 전압 VLSB, VCSB1, VCSB2, VMSB1, VMSB2, VMSB3 및 VMSB4를 결정하고, 플래시 메모리(1100)를 제어하여 이렇게 구성된 제어 게이트 전압들에 따라 판독 동작을 수행한다. 이하의 예시적인 실시예들에서, 판독 동작은 메모리 셀들의 LSB에 대하여 수행된다. 그러나, 이는 한정적인 것이 아니라 예시를 위한 것일 뿐이다.Reference is made to Figure 1, which is a drawing illustrating a memory system in accordance with an exemplary embodiment of the present invention. The exemplary memory system 1000 includes a memory controller 1200 and the flash memory (e.g., NAND type flash memory) 1100 described above. To read the data stored in the memory cells M_0 to M_K of the target physical page P_0, the control gate voltages VG_0 to VG_N must be properly set. For example, the control gate voltages VG_1 to VG_N must be set appropriately to ensure that all the memory cells (floating gate transistors) 103 of the physical pages P_1 to P_N have conductivity. In the case where each of the memory cells 103 is configured to store N bits (e.g., three bits including a least significant bit (LSB), a middle valid bit (CSB), and a most significant bit (MSB)), memory 102 sets the voltage level of the control gate voltage VG_0 to (2 N -1) to identify an N-bit all of the memory cells 103 of the targeted physical page P_0. In this exemplary embodiment, each of the memory cells 1110 is configured to store three bits including a least significant bit (LSB), a middle significant bit (CSB), and a most significant bit (MSB). Thus, the memory controller 1200 determines eight control gate voltages V LSB , V CSB1 , V CSB2 , V MSB1 , V MSB2 , V MSB3, and V MSB4 and controls the flash memory 1100 to control the control gate And performs a read operation in accordance with the voltages. In the following exemplary embodiments, a read operation is performed on the LSBs of the memory cells. However, this is only for illustrative purposes, not limiting.

메모리 컨트롤러(1200)는 플래시 메모리(1100)의 액세스(판독/기입)를 제어하도록 구현된다. 본 예시적인 실시예에서, 메모리 컨트롤러(1200)는, 제어 유닛(1212), 카운팅 유닛(1214), 비교 유닛(1216)을 내부에 포함하는 제어 로직(1210)과, 저장 장치(예를 들어, 메모리 장치)(1222)를 구비하는 수신 회로(1220)와, ECC 검출기(1232), ECC 정정기(1234)를 내부에 포함하는 ECC 회로(1230)를 포함하지만, 이러한 예로 한정되지는 않는다. 명확성과 간략성을 위해 본 발명의 기술적 특징에 관한 요소들만이 도 1에 도시되어 있다는 점에 주목한다. 즉, 메모리 컨트롤러(1200)는 다른 기능을 지원하는 추가 요소들을 포함해도 된다. 전술한 바와 같이, 플래시 메모리(1100)에 포함된 메모리 셀들(1110)의 임계 전압 분포는, 판독 외란, 기입/프로그램 외란, 및/또는 보유 외란 등의 일부 요인들로 인해 변경될 수 있다. 당업자에게 알려져 있듯이, ECC 정보(예를 들어, ECC 코드)를 저장하는 데 하나의 물리 페이지의 메모리 셀들(1110)의 일부를 활용한다. 따라서, ECC 회로(1230)는 하나의 물리 페이지로부터 판독되는 판독 정보(예를 들어, 코드워드)에 대하여 ECC 동작을 수행하도록 동작가능하다. 더욱 구체적으로, ECC 검출기(1232)는 판독 정보의 정확성을 체크하고, 이에 따라 체크된 판독 정보에 발생한 에러 비트들의 존재를 검출한다. ECC 정정기(1234)는, ECC 검출기(1232)에 의해 통지받으면, 체크된 판독 정보에서 발견된 에러 비트들을 정정하도록 동작가능하다. 그러나, 판독 정보에 존재하는 에러 비트들의 수가 ECC 정정기(1234)에 의해 정정될 수 있는 에러 비트들의 최대수를 초과하면, ECC 정정기(1234)는 판독 정보가 정정불가능한 에러 비트들을 포함한다고 나타낸다. 따라서, 제어 로직(1210)은, 임계 전압 추적 메커니즘이 ECC 회로(1230)에 의해 수행되는 ECC 패리티 체크를 통과할 수 있는 판독 정보를 결정할 수 있게 한다. 상세는 이하에서 설명한다.The memory controller 1200 is implemented to control access (read / write) of the flash memory 1100. In this exemplary embodiment, memory controller 1200 includes control logic 1210 that includes control unit 1212, a counting unit 1214, a comparison unit 1216 therein, a storage device (e.g., Memory device) 1222 and an ECC circuit 1230 that includes an ECC detector 1232 and an ECC corrector 1234, but is not limited to this example. It should be noted that for clarity and simplicity only the elements of the technical features of the present invention are shown in FIG. That is, the memory controller 1200 may include additional elements that support other functions. As described above, the threshold voltage distribution of the memory cells 1110 included in the flash memory 1100 can be changed due to some factors, such as read disturbance, write / program disturbance, and / or hold disturbance. As is known to those skilled in the art, some of the memory cells 1110 of one physical page are utilized to store ECC information (e.g., ECC codes). Thus, the ECC circuit 1230 is operable to perform ECC operations on read information (e.g., code words) read from one physical page. More specifically, the ECC detector 1232 checks the accuracy of the read information and thus detects the presence of error bits generated in the checked read information. The ECC corrector 1234 is operable, when notified by the ECC detector 1232, to correct error bits found in the checked read information. However, if the number of error bits present in the read information exceeds the maximum number of error bits that can be corrected by the ECC corrector 1234, the ECC corrector 1234 indicates that the read information contains uncorrectable error bits. Thus, the control logic 1210 enables the threshold voltage tracking mechanism to determine the read information that can pass the ECC parity check performed by the ECC circuit 1230. [ Details will be described below.

본 예시적인 실시예에서, ECC 회로(1230)는 Bose-Chaudhuri-Hocquenghem (BCH) 디코더일 수 있다. 제어 로직(1210)은, 플래시 메모리(1100)를 제어하여 타겟 물리 페이지 P_0의 메모리 셀들(M_0 내지 M_K)의 각각에 대하여 복수의 판독 동작을 수행하고, 비트 시퀀스 BS_0 내지 BS_K의 이진 디지트 분포 특성에 따라 메모리 셀들(M_0 내지 M_K)의 판독 정보를 결정하도록 구성된다. 판독 동작들은, 더욱 양호한 제어 게이트 전압(들)을 검색하는 데 사용되는 제어 게이트 전압 시프트 방향(들)을 결정하는 데 사용되는, 적어도, 제1판독 동작, 제2판독 동작, 및 제3판독 동작을 포함한다. 추가 상세는 이하에서 설명한다.In the present exemplary embodiment, the ECC circuit 1230 may be a Bose-Chaudhuri-Hocquenghem (BCH) decoder. The control logic 1210 controls the flash memory 1100 to perform a plurality of read operations on each of the memory cells M_0 to M_K of the target physical page P_0 and to determine the binary digit distribution characteristics of the bit sequences BS_0 to BS_K Thereby determining the read information of the memory cells M_0 to M_K. The read operations include at least a first read operation, a second read operation, and a third read operation, which are used to determine the control gate voltage shift direction (s) used to retrieve the better control gate voltage (s) . Additional details are described below.

도 2를 도 3과 함께 참조한다. 도 2는 본 발명의 일 실시예에 따라 LSB 데이터를 판독하는 데 사용되는 제어 게이트 전압에 대한 조절을 도시한 도면이다. 도 3은 본 발명의 일 실시예에 따라 LSB 데이터를 판독하는 데 사용되는 더욱 양호한 제어 게이트 전압을 검색하도록 제어 게이트 전압의 시프트 방향을 결정하는 동작을 도시한 도면이다. 임계 전압 분포의 변경으로 인해, LSB=1을 저장하도록 초기에 각각 프로그래밍된 일부 메모리 셀들의 임계 전압들은 V5 내지 V9의 전압 영역에 분포되어 있고, 전하 레벨 L4가 LSB=0을 저장하도록 초기에 각각 프로그래밍된 일부 메모리 셀들의 임계 전압들은 V1 내지 V5의 전압 영역에 분포되어 있다. 타겟 물리 페이지 P_0의 판독 정보에 존재하는 에러 비트들의 최소수를 가지려면, LSB 데이터를 판독하기 위한 제어 게이트 전압을 도 2에 도시한 V5로 설정하는 것이 바람직하다. 제어 유닛(1212)에 의해 초기 제어 게이트 전압 VLSB가 V7로 설정되고 초기 제어 게이트 전압 VLSB에 따라 플래시 메모리(1100)가 메모리 셀들(M_0 내지 M_K)에 대하여 제1판독 동작을 수행하면, 판독 정보(즉, 비트 시퀀스들 BS_0 내지 BS_K의 제1비트들로 이루어진 제1코드워드 CW_1)에 존재하는 에러 비트들의 수는 ECC 회로(1230)에 의해 정정될 수 있는 에러 비트들의 최대수를 초과한다. 따라서, 이에 따라 임계 전압 추적 메커니즘이 활성화된다. 이어서, 제어 유닛(1212)은, V7보다 낮은 V6을 이용한 제1판독 동작에 의해 채용되는 초기 제어 게이트 전압 VLSB를, 메모리 컨트롤러(1200)가 플래시 메모리(1100)를 제어하여 조절할 수 있는 최소 스텝 사이즈 ΔV로 갱신한다. 이어서, 제어 유닛(1212)은, 플래시 메모리를 제어하여, 갱신된 제어 게이트 전압 VLSB'에 따라 메모리 셀들(M_0 내지 M_K)에 대하여 제2판독 동작을 수행한다. 따라서, 비트 시퀀스들 BS_0 내지 BS_K의 제2비트들로 이루어진 제2코드워드 CW_2가 수신 회로(1220)에 의해 수신된다. 제1코드워드 CW_1이 저장 장치(1222)에 버퍼링되고, 저장 장치(1222)에 버퍼링된 제1코드워드 CW_1의 비트들이 제2코드워드 CW_2의 인입 비트들에 의해 오버라이트(overwrite)되기 전에 비교 유닛(1216)에 하나씩 송신된다는 점에 주목한다. 비교 유닛(1216)은, 제1코드워드 CW_1의 비트들(즉, 비트 시퀀스들 BS_0 내지 BS_K의 제1비트들)을 제2코드워드 CW_2의 비트들(즉, 비트 시퀀스들 BS_0 내지 BS_K의 제2비트들)과 비교하도록 구성된다. 비교 결과는, 제1이진 디지트(예를 들어, "1")로부터 제2이진 디지트(예를 들어, "0")로의 천이로 인해 어떤 비트 위치에서 하나의 제1비트 플리핑(flipping)이 발생하는지를 나타낸다. 카운팅 유닛(1214)은 비교 유닛(1216)과 제어 유닛(1212)에 연결되고, 제1코드워드 CW_1과 제2코드워드 CW_2 간의 제1비트 플리핑의 수를 카운팅하도록 구성된다. 즉, 카운팅 유닛(1214)은, 비트 시퀀스들 BS_0 내지 BS_K의 제1비트들과 제2비트들 간의 제1비트 플리핑의 수를 카운팅함으로써 제1카운터 수 N1을 생성하고, 하나의 비트 시퀀스의 제1비트 및 제2비트가 제1이진 디지트(예를 들어, "1") 및 제2이진 디지트(예를 들어, "0")를 각각 갖는 경우 하나의 제1비트 플리핑이 발생한다.2 together with FIG. 2 is a diagram illustrating the adjustment to the control gate voltage used to read LSB data in accordance with one embodiment of the present invention. 3 is a diagram illustrating an operation for determining a shift direction of a control gate voltage to retrieve a better control gate voltage used to read LSB data in accordance with an embodiment of the present invention. Due to the change in the threshold voltage distribution, the threshold voltages of some memory cells initially programmed to store LSB = 1 are distributed in the voltage range of V5 to V9, and the charge level L4 is initially set to The threshold voltages of some programmed memory cells are distributed in the voltage range of V1 to V5. In order to have the minimum number of error bits present in the read information of the target physical page P_0, it is preferable to set the control gate voltage for reading LSB data to V5 shown in Fig. When the initial control gate voltage V LSB is set to V7 by the control unit 1212 and the flash memory 1100 performs the first read operation with respect to the memory cells M_0 to M_K in accordance with the initial control gate voltage V LSB , The number of error bits present in the information (i. E., The first codeword CW_1 made up of the first bits of the bit sequences BS_0 through BS_K) exceeds the maximum number of error bits that can be corrected by the ECC circuit 1230 . Thus, the threshold voltage tracking mechanism is activated accordingly. The control unit 1212 then sets the initial control gate voltage V LSB employed by the first read operation using V6 lower than V7 to the minimum control gate voltage V LSB that the memory controller 1200 can control by controlling the flash memory 1100 And updates it to the size? V. Then, the control unit 1212, and controls the flash memory, and performs the second read operation on the memory cells (M_0 to M_K) according to the updated control gate voltage V LSB '. Thus, the second code word CW_2, which is made up of the second bits of the bit sequences BS_0 through BS_K, is received by the receiving circuit 1220. The first codeword CW_1 is buffered in the storage 1222 and the comparison is performed before the bits of the first codeword CW_1 buffered in the storage 1222 are overwritten by the incoming bits of the second codeword CW_2 Unit 1216. < / RTI > The comparison unit 1216 compares the bits of the first codeword CW_1 (i.e., the first bits of the bit sequences BS_0 through BS_K) with the bits of the second codeword CW_2 (i.e., the bits of the bit sequences BS_0 through BS_K 2 bits). The result of the comparison is that one first bit flipping at a bit position due to a transition from a first binary digit (e.g., "1") to a second binary digit (eg, "0" . The counting unit 1214 is connected to the comparison unit 1216 and the control unit 1212 and is configured to count the number of first bit flipping between the first codeword CW_1 and the second codeword CW_2. That is, the counting unit 1214 generates a first number of counters N1 by counting the number of first bit flipping between the first and second bits of the bit sequences BS_0 through BS_K, One first bit flipping occurs when the first bit and the second bit each have a first binary digit (e.g., "1") and a second binary digit (e.g., "0 &

이어서, 제어 유닛(1212)은, V7보다 높은 V8을 이용한 제2판독 동작에 의해 채용되는 현재의 제어 게이트 전압 VLSB'을 갱신한 후, 플래시 메모리를 제어하여, 갱신된 제어 게이트 전압 VLSB"에 따라 메모리 셀들(M_0 내지 M_K)에 대하여 제3판독 동작을 수행한다. 따라서, 비트 시퀀스들 BS_0 내지 BS_K의 제3비트들로 이루어진 제3코드워드 CW_3이 수신 회로(1220)에 의해 수신된다. 저장 장치(1222)에 초기에 버퍼링된 제1코드워드 CW_1은 제2코드워드 CW_2에 의해 오버라이트되고, 또한, 저장 장치(1222)에 버퍼링된 제2코드워드 CW_2의 비트들은 제3코드워드 CW_3의 인입 비트들에 의해 오버라이트되기 전에 비교 유닛(1216)에 하나씩 송신된다는 점에 주목한다. 비교 유닛(1216)은 또한 제2코드워드 CW_2의 비트들(즉, 비트 시퀀스들 BS_0 내지 BS_K의 제2비트들)을 제3코드워드 CW_3의 비트들(즉, 비트 시퀀스들 BS_0 내지 BS_K의 제3비트들)과 비교하도록 구성된다. 비교 결과는, 제2이진 디지트(예를 들어, "0")로부터 제1이진 디지트(예를 들어, "1")로의 천이로 인해 어떤 비트 위치에서 제2비트 플리핑이 발생하는지를 나타낸다. 카운팅 유닛(1214)은 또한 제2코드워드 CW_2와 제3코드워드 CW_3 간의 제2비트 플리핑의 수를 카운팅하도록 구성된다. 즉, 카운팅 유닛(1214)은, 비트 시퀀스들 BS_0 내지 BS_K의 제2비트들과 제3비트들 간의 제2비트 플리핑의 수를 카운팅함으로써 제2카운터 수 N2를 생성하고, 하나의 비트 시퀀스의 제2비트 및 제3비트가 제2이진 디지트(예를 들어, "0") 및 제1이진 디지트(예를 들어, "1")를 각각 갖는 경우 하나의 제2비트 플리핑이 발생한다.Then, the control unit 1212 updates the current control gate voltage V LSB 'employed by the second read operation using V8 higher than V7, and then controls the flash memory so that the updated control gate voltage V LSB ' The third code word CW_3, which is made up of the third bits of the bit sequences BS_0 through BS_K, is received by the receiving circuit 1220. [ The first codeword CW_1 initially buffered in the storage device 1222 is overwritten by the second codeword CW_2 and the bits of the second codeword CW_2 buffered in the storage device 1222 are overwritten by the third codeword CW_3 The comparison unit 1216 also receives the bits of the second codeword CW_2 (i.e., the bits of the bit sequences BS_0 through BS_K) before being overwritten by the incoming bits of the second codeword CW_2. 2 bits) of the third codeword CW_3 (I.e., the third bits of the bit sequences BS_0 through BS_K). The result of the comparison is that the first binary digit from the second binary digit (e.g., "0"Quot; 1 "). The counting unit 1214 also counts the number of second bit flipping between the second codeword CW_2 and the third codeword CW_3 The counting unit 1214 generates a second number of counters N2 by counting the number of second bit flipping between the second and third bits of the bit sequences BS_0 to BS_K, (E.g., " 0 ") and a first binary digit (e.g.," 1 ") of the second bit of the bit sequence of the first bit Lt; / RTI >

제어 유닛(1212)은, 카운팅 유닛(1214)으로부터 생성된 제1카운터 수 N1과 제2카운터 수 N2를 수신한 후, 제1카운터 수 N1과 제2카운터 수 N2를 참조함으로써 ECC 패리티 체크를 통과할 수 있는 판독 정보를 결정한다. 예를 들어, 제어 유닛(1212)은 제1카운터 수 N1과 제2카운터 수 N2에 따라 제어 게이트 전압의 시프트 방향 DS를 결정한다. 더욱 구체적으로, 도 2에서 알 수 있는 바와 같이, 제1카운터 수 N1은 V7로부터 V6으로의 제어 게이트 전압의 시프트로 인해 새롭게 식별된 0들의 총 수를 나타내고, 제2카운터 수 N2는 V6으로부터 V8로의 제어 게이트 전압의 시프트로 인해 새롭게 식별된 1들의 총 수를 나타낸다. 따라서, 수 N2-N1은 V7로부터 V8로의 제어 게이트 전압의 시프트로 인해 발생한 1들의 총 수를 나타낸다. 본 예시적인 실시예에서, N2-N1은 N1보다 크며, 이는 논리 "1"과 "0"에 대응하는 임계 전압 분포의 로컬 최소값(local minimum)이 초기 제어 게이트 전압 VLSB의 좌측에 위치함을 의미한다. 이러한 관찰에 기초하여, 제어 유닛(1212)은 이에 따라 시프트 방향 DS를 판정한다. 또한, 제1카운터 수 N1은 임계 전압이 V7과 V6 사이에 있는 메모리 셀들의 수를 나타낸다. 수 N2-N1은 임계 전압이 V7과 V8 사이에 있는 메모리 셀들의 수를 나타낸다. 제1카운터 수 N1과 수 N2-N1은 메모리 셀들(M_0 내지 M_K)의 일부의 임계 전압 분포를 나타낸다.The control unit 1212 receives the first number of counters N1 and the second number of counters N2 generated by the counting unit 1214 and then passes the ECC parity check by referring to the first number of counters N1 and the second number of counters N2 And determines readable information. For example, the control unit 1212 determines the shift direction DS of the control gate voltage according to the first number of counters N1 and the second number of counters N2. More specifically, as can be seen in Figure 2, the first number of counts N1 represents the total number of newly identified zeros due to the shift of the control gate voltage from V7 to V6 and the second number of counts N2 represents V6 to V8 Lt; RTI ID = 0.0 > 1 < / RTI > Thus, the number N2-N1 represents the total number of ones caused by the shift of the control gate voltage from V7 to V8. In this exemplary embodiment, N2-N1 is greater than N1, which indicates that the local minimum of the threshold voltage distribution corresponding to logic "1" and "0" is located to the left of the initial control gate voltage VLSB it means. Based on this observation, the control unit 1212 determines the shift direction DS accordingly. In addition, the first number of counters N1 represents the number of memory cells whose threshold voltages are between V7 and V6. The number N2-N1 represents the number of memory cells whose threshold voltage is between V7 and V8. The first number of counters N1 and the number N2-N1 represent the threshold voltage distributions of some of the memory cells M_0 to M_K.

시프트 방향 DS가 결정된 후, 제어 로직(1210)은 시프트 방향 DS에 따라 새로운 제어 게이트 전압을 결정한다. 새로운 제어 게이트 전압을 타겟 물리 페이지 P_0의 메모리 셀들(M_0 내지 M_K)의 각각의 제어 게이트에 인가함으로써 획득되는 판독 정보(즉, 새로운 코드워드)가 ECC 패리티 체크를 통과하면, 이는 ECC 회로(1230)에 의해 처리된 코드워드에 에러가 없음을 의미한다. 시프트 방향 DS에 따라 제어 게이트 전압을 갱신하는 제어 유닛(1212)에 의해 LSB 데이터가 성공적으로 결정되면, 제어 유닛(1212)은, 현재 사용되는 제어 게이트 전압을 물리 페이지 P_0에 대하여 수행되는 다음 LSB 판독 동작에 의해 사용될 초기 제어 게이트 전압으로서 기록한다.After the shift direction DS is determined, the control logic 1210 determines a new control gate voltage in accordance with the shift direction DS. If the read information (i.e., the new code word) obtained by applying the new control gate voltage to each control gate of the memory cells M_0 to M_K of the target physical page P_0 passes the ECC parity check, Means that there is no error in the codeword processed by the codeword. If the LSB data is successfully determined by the control unit 1212 that updates the control gate voltage in accordance with the shift direction DS, the control unit 1212 compares the currently used control gate voltage with the next LSB reading performed on the physical page P_0 As an initial control gate voltage to be used by the operation.

그러나, 새로운 제어 게이트 전압을 물리 페이지 P_0의 메모리 셀들(M_0 내지 M_K)의 각각의 제어 게이트에 인가함으로써 획득되는 판독 정보(즉, 새로운 코드워드)가 ECC 패리티 체크를 통과하지 못하면, 이는 ECC 회로(1230)에 의해 처리되는 코드워드가 여전히 정정 불가능한 에러 비트들을 포함하고 있으며, 제어 로직(1210)이 시프트 방향 DS에 따라 다른 제어 게이트 전압을 결정한다는 것을 의미한다. 시프트 방향 DS에 따라 제어 게이트 전압을 갱신하는 것은, 코드워드에 에러가 없거나 코드워드에 있는 모든 에러 비트들을 정정할 수 있을 때까지 중단하지 않는다. ECC 회로(예를 들어, BCH 디코더)(1230)는 에러 정정 기능을 갖는다는 점에 주목한다. 따라서, 제어 유닛(1212)은 시프트 방향 DS에 따라 제어 게이트 전압을 최적의 값 V5로 정확하게 시프트할 필요가 없다.However, if the read information (i.e., the new code word) obtained by applying the new control gate voltage to the respective control gates of the memory cells M_0 to M_K of the physical page P_0 does not pass the ECC parity check, 1230 includes still uncorrectable error bits and the control logic 1210 determines a different control gate voltage in accordance with the shift direction DS. Updating the control gate voltage in accordance with the shift direction DS does not stop until there is no error in the codeword or all the error bits in the codeword can be corrected. It is noted that the ECC circuit (e.g., BCH decoder) 1230 has an error correction function. Therefore, the control unit 1212 does not need to accurately shift the control gate voltage to the optimum value V5 in accordance with the shift direction DS.

전술한 예시적인 실시예에서, 제어 유닛(1212)은 플래시 메모리(1100)를 제어하여, 초기 제어 게이트 전압 VLSB를 활용하는 제1판독 동작, 더욱 낮은 제어 게이트 전압 VLSB'을 활용하는 제2판독 동작, 및 더욱 높은 제어 게이트 전압 VLSB"을 활용하는 제3판독 동작을 순차적으로 수행한다. 따라서, 초기 제어 게이트 전압 VLSB, 더욱 낮은 제어 게이트 전압 VLSB', 및 더욱 높은 제어 게이트 전압 VLSB"이 메모리 셀들(M_0 내지 M_K)의 각각의 제어 게이트에 순차적으로 인가된다. 그러나, 이는 예시일 뿐이며, 본 발명을 한정하려는 것이 아니다.In the exemplary embodiment described above, the control unit 1212 controls the flash memory 1100 to perform a first read operation utilizing the initial control gate voltage V LSB , a second read operation utilizing the lower control gate voltage V LSB ' And a third read operation utilizing a higher control gate voltage V LSB ". Thus, the initial control gate voltage V LSB , the lower control gate voltage V LSB ', and the higher control gate voltage V LSB "are sequentially applied to the respective control gates of the memory cells M_0 to M_K. However, this is merely an example, and is not intended to limit the present invention.

전술한 바와 같이, 플래시 메모리(1100)에 포함된 메모리 셀들(1110)의 임계 전압 분포는, 판독 외란, 기입/프로그램 외란, 및/또는 보유 외란 등의 일부 요인들로 인해 변경될 수 있다. 일부 상황에서, 메모리 셀들의 임계 전압 분포는 비균일한 분포로 변경될 수 있다. 도 4는 본 발명의 다른 일 실시예에 따라 LSB 데이터를 판독하는 데 사용되는 제어 게이트 전압에 대한 조절을 도시한 도면이다. 도 4에 도시한 바와 같이, 물리 페이지 P_1의 메모리 셀들(M_0 내지 M_K)의 임계 전압 분포는 균일하지 않다. 메모리 셀들을 판독하기 위한 최적의 제어 게이트 전압이 V5일 수도 있다. 다시 말하면, 제어 게이트 전압 V5를 메모리 셀들의 임계 전압 분포의 글로벌 최소값(global minimum)으로서 간주할 수 있다. 그러나, 전압 V6 내지 V8 간의 비균일한 분포로 인해, 최적의 제어 게이트 전압 V5를 검색하지 못할 수도 있다. 제어 게이트 전압 V1 내지 V9의 각 전압차는, 메모리 컨트롤러(1200)가 플래시 메모리(1100)를 제어하여 조절할 수 있는 최소 스텝 사이즈(step size; ΔV)라는 점에 주목한다. 전술한 임계 전압 추적 메커니즘의 개념에 따르면, 제1카운터 수 N1, 제2카운터 수 N2, 및 물리 페이지 P_1의 메모리 셀들의 수 N2-N1을 각각 검색할 수 있다. 제1카운터 수 N1은, 임계 전압이 V6 내지 V7 사이에 위치하는 물리 페이지 P_1의 메모리 셀들의 수를 나타낸다. 수 N2-N1은, 임계 전압이 V7 내지 V8 사이에 위치하는 물리 페이지 P_1의 메모리 셀들의 수를 나타낸다. 제1카운터 수 N1과 수 N2-N1은, 임계 전압이 V6 내지 V8 사이에 위치하는 물리 페이지 P_1의 메모리 셀들의 임계 전압 분포를 나타낸다. 또한, 전술한 임계 전압 추적 메커니즘의 개념에 따르면, 시프트 방향 DS를 우측 방향으로, 즉, 초기 제어 게이트 전압 VLSB보다 높아지는 전압 방향으로 잘못 결정할 수 있다. 따라서, 시프트 방향 DS에 따라 제어 게이트 전압을 갱신하는 것은 에러 없는 코드워드 또는 정정가능한 코드워드를 획득하는 데 유용하지 않다. 정정가능한 코드워드를 획득할 수 없으므로, 제어 유닛(1212)은 제어 게이트 전압을 초기 전압 VLSB보다 높은 전압들(예를 들어, V8, V9 등)로 조절하고, 대응하는 판독 정보를 반복해서 획득한다. ECC 실패(정정불가능)가 여러 번(예를 들어, 3회) 발생한 후, 제어 유닛(1222)은, 시프트 방향 DS에 따른 제어 게이트 전압의 조절(초기 전압 VLSB보다 높은, 예를 들어, V8, V9 등의 전압으로의 조절)을 중단하고, 임계 전압 추적 메커니즘의 후속 스테이지로 진입한다. 추가 상세는 이하에서 설명한다.As described above, the threshold voltage distribution of the memory cells 1110 included in the flash memory 1100 can be changed due to some factors, such as read disturbance, write / program disturbance, and / or hold disturbance. In some situations, the threshold voltage distribution of the memory cells may be changed to a non-uniform distribution. 4 is a diagram illustrating the adjustment to the control gate voltage used to read LSB data in accordance with another embodiment of the present invention. As shown in Fig. 4, the threshold voltage distribution of the memory cells M_0 to M_K of the physical page P_1 is not uniform. The optimal control gate voltage for reading the memory cells may be V5. In other words, the control gate voltage V5 can be regarded as the global minimum of the threshold voltage distribution of the memory cells. However, due to the non-uniform distribution between the voltages V6 to V8, the optimal control gate voltage V5 may not be detected. Note that each voltage difference of the control gate voltages V1 to V9 is the minimum step size ([Delta] V) that the memory controller 1200 can control by controlling the flash memory 1100. [ According to the concept of the above-described threshold voltage tracking mechanism, it is possible to retrieve the first number of counters N1, the second number of counters N2, and the number of memory cells N2-N1 of the physical page P_1, respectively. The first counter number N1 represents the number of memory cells of the physical page P_1 where the threshold voltage is between V6 and V7. The number N2-N1 represents the number of memory cells of the physical page P_1 where the threshold voltage is between V7 and V8. The first counter number N1 and the number N2-N1 represent the threshold voltage distributions of the memory cells of the physical page P_1 where the threshold voltage is between V6 and V8. Further, according to the above-described concept of the threshold voltage tracking mechanism, it is possible to erroneously determine the shift direction DS to the right direction, i.e., the voltage direction higher than the initial control gate voltage V LSB . Therefore, updating the control gate voltage in accordance with the shift direction DS is not useful for obtaining an error-free code word or a correctable code word. Not able to obtain a correctable code word, the control unit 1212 to control the control gate voltage to a voltage higher than the initial voltage V LSB (e.g., V8, V9 and the like), obtained by repeating the read information corresponding do. After the ECC failure (uncorrectable) occurs several times (e.g., three times), the control unit 1222 adjusts the control gate voltage in accordance with the shift direction DS (higher than the initial voltage V LSB , e.g., V8 , V9, etc.) and enters a subsequent stage of the threshold voltage tracking mechanism. Additional details are described below.

도 5를 도 6과 함께 참조한다. 도 5는 본 발명의 일 실시예에 따라 타겟 물리 페이지 P_1의 LSB 데이터를 판독하는 데 사용되는 제어 게이트 전압에 대한 조절을 도시한 도면이다. 도 6은 본 발명의 일 실시예에 따라 타겟 물리 페이지 P_1의 LSB 데이터를 판독하는 데 사용되는 더욱 양호한 제어 게이트 전압을 검색하도록 제어 게이트 전압의 시프트 방향을 결정하는 동작을 도시한 도면이다. 타겟 물리 페이지 P_1의 판독 정보에 존재하는 에러 비트들의 최소수를 가지려면, LSB 데이터를 판독하기 위한 제어 게이트 전압을 설정하는 것이 바람직하다. 최종 알려진 시프트 방향 DS는 정정가능한 코드워드를 검색하는 데 유용하지 못하다. 이에 따라, 제어 유닛(1212)은 임계 전압 분포의 비균일한 영향을 제거하도록 임계 전압 추적 메커니즘의 후속 스테이지에서 제어 게이트 전압 조절의 스텝 사이즈를 증가한다. 초기 제어 게이트 전압 VLSB는 제어 유닛(1212)에 의해 V7로 설정되고, 플래시 메모리(1100)는 초기 제어 게이트 전압 VLSB에 따라 물리 페이지 P_1의 메모리 셀들(M_0 내지 M_K)에 대하여 제1판독 동작을 수행하고, 비트 시퀀스들 BS_0 내지 BS_K의 제1비트들로 이루어진 제1코드워드 CW_1'을 획득한다. 다음으로, 제어 유닛(1212)은, V7보다 낮은 V5를 이용한 제1판독 동작에 의해 채용된 초기 제어 게이트 전압 VLSB를 최소 스텝 사이즈 ΔV의 2배, 즉, 2ΔV로 갱신한다. 제어 유닛(1212)은 플래시 메모리(1100)를 제어하여, 갱신된 제어 게이트 전압 VLSB'에 따라 메모리 셀들(M_0 내지 M_K)에 대하여 제2판독 동작을 수행한다. 따라서, 비트 시퀀스들 BS_0 내지 BS_K의 제2비트들로 이루어진 제2코드워드 CW_2'가 수신 회로(1220)에 의해 수신된다. 제1코드워드 CW_1'은 저장 장치(1222)에 버퍼링되고, 저장 장치(1222)에 버퍼링된 제1코드워드 CW_1'의 비트들은 제2코드워드 CW_2'의 인입 비트들에 의해 오버라이트되기 전에 비교 유닛(1216)에 하나씩 송신된다는 점에 주목한다. 비교 유닛(1216)은, 제1코드워드 CW_1'의 비트들(즉, 비트 시퀀스들 BS_0 내지 BS_K의 제1비트들)을 제2코드워드 CW_2'의 비트들(즉, 비트 시퀀스들 BS_0 내지 BS_K의 제2비트들)과 비교하도록 구성된다. 비교 결과는, 제1이진 디지트(예를 들어, "1")로부터 제2이진 디지트(예를 들어, "0")로의 천이로 인해 어느 비트 위치에서 하나의 제1비트 플리핑이 발생하는지를 나타낸다. 카운팅 유닛(1214)은 비교 유닛(1216)과 제어 유닛(1212)에 연결되고, 제1코드워드 CW_1'과 제2코드워드 CW_2' 간의 제1비트 플리핑의 수를 카운팅하도록 구성된다. 즉, 카운팅 유닛(1214)은, 비트 시퀀스들 BS_0 내지 BS_K의 제1비트들과 제2비트들 간의 제1비트 플리핑의 수를 카운팅함으로써 제1카운터 수 A1을 생성하고, 하나의 비트 시퀀스의 제1비트 및 제2비트가 제1이진 디지트(예를 들어, "1") 및 제2이진 디지트(예를 들어, "0")를 각각 갖는 경우에 하나의 제1비트 플리핑이 발생한다.5 with reference to FIG. 5 is a diagram illustrating the adjustment to the control gate voltage used to read the LSB data of the target physical page P_1 in accordance with one embodiment of the present invention. 6 is a diagram illustrating the operation of determining the shift direction of the control gate voltage to retrieve the better control gate voltage used to read the LSB data of the target physical page P_1 in accordance with one embodiment of the present invention. In order to have the minimum number of error bits present in the read information of the target physical page P_1, it is desirable to set the control gate voltage for reading the LSB data. The last known shift direction DS is not useful for retrieving a correctable codeword. Thus, the control unit 1212 increases the step size of the control gate voltage regulation in a subsequent stage of the threshold voltage tracking mechanism to eliminate non-uniform effects of the threshold voltage distribution. The initial control gate voltage V LSB is set to V7 by the control unit 1212 and the flash memory 1100 performs a first read operation for the memory cells M_0 through M_K of the physical page P_1 in accordance with the initial control gate voltage V LSB And obtains a first code word CW_1 'consisting of the first bits of the bit sequences BS_0 to BS_K. Next, the control unit 1212 updates the initial control gate voltage V LSB employed by the first read operation using V5 lower than V7 to twice the minimum step size DELTA V, i.e., 2 DELTA V. The control unit 1212 controls the flash memory 1100, and performs a second read operation on the memory cells (M_0 to M_K) according to the updated control gate voltage V LSB '. Thus, a second codeword CW_2 'comprised of the second bits of the bit sequences BS_0 through BS_K is received by the receiving circuit 1220. [ The first codeword CW_1 'is buffered in the storage 1222 and the bits of the first codeword CW_1' buffered in the storage 1222 are compared before being overwritten by the incoming bits of the second codeword CW_2 ' Unit 1216. < / RTI > The comparison unit 1216 compares the bits of the first codeword CW_1 '(i.e., the first bits of the bit sequences BS_0 through BS_K) with the bits of the second codeword CW_2' (i.e., the bit sequences BS_0 through BS_K The second bits of < / RTI > The result of the comparison indicates whether a first bit flipping occurs at which bit position due to a transition from a first binary digit (e.g., "1") to a second binary digit (e.g., "0 & . The counting unit 1214 is coupled to the comparison unit 1216 and the control unit 1212 and is configured to count the number of first bit flipping between the first codeword CW_1 'and the second codeword CW_2'. That is, the counting unit 1214 generates a first number of counts A1 by counting the number of first bit flipping between the first and second bits of the bit sequences BS_0 to BS_K, One first bit flipping occurs when the first bit and the second bit each have a first binary digit (e.g., "1") and a second binary digit (e.g., "0 & .

다음에, 제어 유닛(1212)은, V7보다 높은 V9를 이용한 제2판독 동작에 의해 채용되는 현재의 제어 게이트 전압 VLSB'을 최소 스텝 사이즈 ΔV의 2배(즉, 2ΔV)로 갱신한 후, 플래시 메모리를 제어하여, 갱신된 제어 게이트 전압 VLSB"에 따라 메모리 셀들(M_0 내지 M_K)에 대하여 제3판독 동작을 수행한다. 따라서, 비트 시퀀스들 BS_0 내지 BS_K의 제3비트들로 이루어진 제3코드워드 CW_3'이 수신 회로(1220)에 의해 수신된다. 저장 장치(1222)에 초기에 버퍼링된 제1코드워드 CW_1'이 제2코드워드 CW_2'에 의해 오버라이트되며, 또한, 저장 장치(1222)에 버퍼링된 제2코드워드 CW_2'의 비트들이 제3코드워드 CW_3'의 인입 비트들에 의해 오버라이트되기 전에 비교 유닛(1216)에 하나씩 송신된다는 점에 주목한다. 비교 유닛(1216)은, 또한, 제2코드워드 CW_2'의 비트들(즉, 비트 시퀀스들 BS_0 내지 BS_K의 제2비트들)을 제3코드워드 CW_3'의 비트들(즉, 비트 시퀀스들 BS_0 내지 BS_K의 제3비트들)과 비교하도록 구성된다. 비교 결과는, 제2이진 디지트(예를 들어, "0")로부터 제1이진 디지트(예를 들어, "1")로의 천이로 인해 어느 비트 위치에서 제2비트 플리핑이 발생하는지를 나타낸다. 카운팅 유닛(1214)은 또한 제2코드워드 CW_2'와 제3코드워드 CW_3' 간의 제2비트 플리핑의 수를 카운팅하도록 구성된다. 즉, 카운팅 유닛(1214)은, 비트 시퀀스들 BS_0 내지 BS_K의 제2비트들과 제3비트들 간의 제2비트 플리핑의 수를 카운팅함으로써 제2카운트 수 A2를 생성하고, 하나의 비트 시퀀스의 제2비트 및 제3비트가 제2이진 디지트(예를 들어, "0") 및 제1이진 디지트(예를 들어, "1")를 각각 갖는 경우에 하나의 제2비트 플리핑이 발생한다.Next, the control unit 1212 updates the current control gate voltage V LSB 'adopted by the second read operation using V9 higher than V7 to twice the minimum step size DELTA V (i.e., 2 DELTA V) and controls the flash memory, the update control gate voltage V LSB "memory cells according to (M_0 to M_K) to the third read operation is performed. Thus, the bit sequences BS_0 to claim 3 consisting of the third bit of BS_K against The codeword CW_3 'is received by the receiving circuitry 1220. The first codeword CW_1' initially buffered in the storage device 1222 is overwritten by the second codeword CW_2 ', and the storage device 1222 ) Are transmitted one by one to the comparison unit 1216 before the bits of the second codeword CW_2 'buffered in the third codeword CW_3' are overwritten by the incoming bits of the third codeword CW_3 '. [ Also, the bits of the second codeword CW_2 '(i.e., the bit sequences BS_0 (I.e., the second bits of BS_K to BS_K) with the bits of the third code word CW_3 '(i.e., the third bits of the bit sequences BS_0 to BS_K). The result of the comparison is a second binary digit (E.g., "0") to a first binary digit (eg, "1"). The counting unit 1214 also indicates which bit position the second bit flipping occurs at. The counting unit 1214 is configured to count the number of second bit flip-flops between the second bits of the bit sequences BS_0 to BS_K and the second bits of the third bits of the second code word CW_3 ' (E.g., "0") and a first binary digit (e.g., " 0 ") of the one bit sequence by generating a second count number A2 by counting the number of bit flipping For example, "1 "), respectively, one second bit flipping occurs.

제어 유닛(1212)은, 카운팅 유닛(1214)으로부터 발생하는 제1카운터 수 A1과 제2카운터 수 A2를 수신한 후, 제1카운터 수 A1과 제2카운터 수 A2를 참조함으로써 ECC 패리티 체크를 통과할 수 있는 판독 정보를 결정한다. 예를 들어, 제어 유닛(1212)은 제1카운터 수 A1과 제2카운터 수 A2에 따라 제어 게이트 전압의 시프트 방향 DS를 결정한다. 더욱 구체적으로, 도 5에서 알 수 있는 바와 같이, 제1카운터 수 A1은 제어 게이트 전압이 V7로부터 V5로 천이됨으로 인해 새롭게 식별된 0들의 총 수를 나타내고, 제2카운터 수 A2는 제어 게이트 전압이 V5로부터 V9로 천이됨으로 인해 새롭게 식별된 1들의 총 수를 나타낸다. 따라서, 수 A2-A1은 제어 게이트 전압이 V7로부터 V9로 시프트함으로 인해 발생하는 1들의 총 수를 나타낸다. 본 예시적인 실시예에서, 수 A2-A1은 A1보다 크며, 이는 논리 "1"과 "0"에 대응하는 임계 전압 분포의 로컬 최소값이 초기 제어 게이트 전압 VLSB의 좌측에 위치함을 의미한다. 이러한 관찰에 기초하여, 제어 유닛(1212)은 이에 따라 시프트 방향 DS를 판정한다. 또한, 제1카운터 수 A1은 임계 전압이 V7 내지 V5 사이에 있는 메모리 셀들의 수를 나타낸다. 수 A2-A1은 임계 전압이 V7 내지 V9 사이에 있는 메모리 셀들의 수를 나타낸다. 제1카운터 수 A1과 수 A2-A1은 물리 페이지 P_1의 메모리 셀들(M_0 내지 M_K)의 일부의 임계 전압 분포를 나타낸다. 최소 스텝 사이즈 ΔV(도 4 참조)로 획득된 임계 전압 분포와 최소 스텝 사이즈의 2배인 2ΔV(도 5 참조)로 획득된 임계 전압 분포는 서로 다르다는 점에 주목한다. 2ΔV로 획득된 임계 전압 분포(소위 제2임계 전압 분포)는 ΔV로 획득된 임계 전압 분포(소위 제1임계 전압 분포)보다 평활하다. 제1임계 전압 분포는 임계 전압이 V6 내지 V8 사이에 있는 메모리 셀들의 제1그룹의 임계 전압들을 나타낸다. 제2임계 전압 분포는 임계 전압이 V5 내지 V9 사이에 있는 메모리 셀들의 제2그룹의 임계 전압들을 나타낸다. 메모리 셀들의 제1그룹은 메모리 셀들의 제2그룹을 포함한다.The control unit 1212 receives the first count number A1 and the second count number A2 generated from the counting unit 1214 and then passes the ECC parity check by referring to the first count number A1 and the second count number A2 And determines readable information. For example, the control unit 1212 determines the shift direction DS of the control gate voltage in accordance with the first number of counters A1 and the second number of counters A2. More specifically, as can be seen in FIG. 5, the first number of counts A1 represents the total number of newly identified 0's due to the control gate voltage transitioning from V7 to V5, and the second number of counts A2 is the control gate voltage Represents the total number of newly identified ones due to transition from V5 to V9. Hence, the number A2-A1 represents the total number of 1's caused by the shift of the control gate voltage from V7 to V9. In this exemplary embodiment, the number A2-A1 is greater than A1, which means that the local minimum value of the threshold voltage distribution corresponding to logic "1" and "0" is located to the left of the initial control gate voltage VLSB . Based on this observation, the control unit 1212 determines the shift direction DS accordingly. Also, the first number of counts A1 indicates the number of memory cells having the threshold voltage between V7 and V5. Number A2-A1 indicates the number of memory cells having a threshold voltage between V7 and V9. The first number of counters A1 and the number A2-A1 represent a threshold voltage distribution of a part of the memory cells M_0 to M_K of the physical page P_1. Note that the threshold voltage distribution obtained by the minimum step size DELTA V (see Fig. 4) and the threshold voltage distribution obtained by 2 DELTA V (see Fig. 5) which are twice the minimum step size are different from each other. (So-called second threshold voltage distribution) obtained by 2? V is smoother than the threshold voltage distribution (so-called first threshold voltage distribution) obtained by? V. The first threshold voltage distribution represents the threshold voltages of the first group of memory cells having a threshold voltage between V6 and V8. The second threshold voltage distribution represents a threshold voltage of the second group of memory cells having a threshold voltage between V5 and V9. The first group of memory cells includes a second group of memory cells.

제어 게이트 전압을 조절하는 데 사용되는 스텝 사이즈를 결정하는 데 있어서, 판독될 메모리 셀들의 프로그램/소거 카운트(P/E 사이클)를 참조할 수 있다. 일반적으로 말하면, 더욱 높은 P/E 사이클을 갖는 메모리 셀들에서는 비균일한 임계 전압 영향이 더욱 악화된다. 그 영향을 제거하도록 이에 대응하여 스텝 사이즈를 증가해야 한다. 제어 유닛(1212)은, 제어 로직(1210)의 룩업 테이블로부터 타겟 메모리 셀들의 프로그램/소거 카운트를 검색할 수 있고, 이에 따라 임계 전압 추적 메커니즘에서 사용되는 제어 게이트 전압 조절의 스텝 사이즈를 결정할 수 있다. 스텝 사이즈는 타겟 메모리 셀들의 다른 특성에 따라 결정될 수 있다는 점에 주목한다.In determining the step size used to regulate the control gate voltage, the program / erase count (P / E cycle) of the memory cells to be read may be referred to. Generally speaking, non-uniform threshold voltage effects are exacerbated in memory cells with higher P / E cycles. The step size must be increased correspondingly to eliminate the influence. The control unit 1212 may retrieve the program / erase counts of the target memory cells from the look-up table of the control logic 1210 and thus determine the step size of the control gate voltage regulation used in the threshold voltage tracking mechanism . Note that the step size may be determined according to other characteristics of the target memory cells.

제2임계 전압 분포에 따라 획득되는 정확한 시프트 방향 DS가 결정된 후, 제어 로직(1210)은 정확한 시프트 방향 DS에 따라 새로운 제어 게이트 전압을 결정한다. 정확한 시프트 방향 DS에 따라 정정가능한 코드워드를 검색할 수 있다. 정확한 시프트 방향 DS에 따라 정정가능한 코드워드를 획득하기 위한 메커니즘은 전술한 예시와 마찬가지이다(도 2와 도 3 및 관련 예시 참조). 따라서, 추가 설명을 생략한다.After the correct shift direction DS obtained in accordance with the second threshold voltage distribution is determined, the control logic 1210 determines a new control gate voltage in accordance with the correct shift direction DS. It is possible to retrieve a correctable codeword according to an accurate shift direction DS. The mechanism for obtaining a correctable codeword according to the correct shift direction DS is the same as the above-mentioned example (see FIGS. 2 and 3 and related examples). Therefore, further explanation is omitted.

도 7a는 본 발명의 일 실시예에 따라 LSB 데이터를 판독하는 데 사용되는 제어 게이트 전압에 대한 조절을 도시한 도면이다. 임계 전압 분포의 변경으로 인해, LSB=1을 저장하도록 초기에 각각 프로그래밍된 일부 메모리 셀들의 임계 전압들이 전압 영역 V5 내지 V11에 분포되며, LSB=0을 저장하도록 초기에 각각 프로그래밍된 일부 메모리 셀들의 임계 전압들이 전압 영역 V1 내지 V5에 분포된다. 타겟 물리 페이지 P_2의 판독 정보에 존재하는 에러 비트들의 최소수를 가지려면, LSB 데이터를 판독하기 위한 제어 게이트 전압을 도 7a에 도시한 V5로 설정하는 것이 바람직하다. 초기 제어 게이트 전압 VLSB0이 제어 유닛(1212)에 의해 V7로 설정되고 플래시 메모리(1100)가 초기 제어 게이트 전압 VLSB0에 따라 물리 페이지 P_2의 메모리 셀들(M_0 내지 M_K)에 대하여 제1판독 동작을 수행하면, 판독 정보(즉, 비트 시퀀스들 BS_0 내지 BS_K의 제1비트들로 이루어진 제1코드워드 CW_1)에 존재하는 에러 비트들의 수가 ECC 회로(1230)에 의해 정정될 수 있는 에러 비트들의 최대수를 초과한다. 따라서, 이에 따라 임계 전압 추적 메커니즘을 활성화한다. 다음으로, 제어 유닛(1212)은, V7보다 낮은 V6(VLSB1)을 이용한 제1판독 동작에 의해 채용되는 초기 제어 게이트 전압 VLSB0을, 메모리 컨트롤러(1200)가 플래시 메모리(1100)를 제어하여 조절할 수 있는 최소 스텝 사이즈 ΔV로 갱신한다. 이어서, 제어 유닛(1212)은 플래시 메모리를 제어하여, 갱신된 제어 게이트 전압 VLSB1에 따라 물리 페이지 P_2의 메모리 셀들(M_0 내지 M_K)에 대하여 제2판독 동작을 수행한다. 따라서, 비트 시퀀스들 BS_0 내지 BS_K의 제2비트들로 이루어진 제2코드워드 CW_2가 수신 회로(1220)에 의해 수신된다. 제1코드워드 CW_1이 저장 장치(1222)에 버퍼링되고, 저장 장치(1222)에 버퍼링된 제1코드워드 CW_1의 비트들이 제2코드워드 CW_2의 인입 비트들에 의해 오버라이트되기 전에 비교 유닛(1216)에 하나씩 송신된다는 점에 주목한다. 비교 유닛(1216)은, 제1코드워드 CW_1의 비트들(즉, 비트 시퀀스들 BS_0 내지 BS_K의 제1비트들)을 제2코드워드 CW_2의 비트들(즉, 비트 시퀀스들 BS_0 내지 BS_K의 제2비트들)과 비교하도록 구성된다. 비교 결과는, 제1이진 디지트(예를 들어, "1")로부터 제2이진 디지트(예를 들어, "0")로의 천이로 인해 어느 비트 위치에서 하나의 제1비트 플리핑이 발생하는지를 나타낸다. 카운팅 유닛(1214)은 비교 유닛(1216)과 제어 유닛(1212)에 연결되고, 제1코드워드 CW_1과 제2코드워드 CW_2 간의 제1비트 플리핑의 수를 카운팅하도록 구성된다. 즉, 카운팅 유닛(1214)은, 비트 시퀀스들 BS_0 내지 BS_K의 제1비트들과 제2비트들 간의 제1비트 플리핑의 수를 카운팅함으로써 제1카운터 수 B1을 생성하고, 하나의 비트 시퀀스의 제1비트 및 제2비트가 제1이진 디지트(예를 들어, "1") 및 제2이진 디지트(예를 들어, "0")를 각각 갖는 경우에, 하나의 제1비트 플리핑이 발생한다.7A is a diagram illustrating the adjustment to the control gate voltage used to read LSB data according to one embodiment of the present invention. Due to the change in the threshold voltage distribution, the threshold voltages of some memory cells, initially programmed to store LSB = 1, are distributed in voltage regions V5 to V11, and some of the memory cells initially programmed to store LSB = The threshold voltages are distributed in the voltage regions V1 to V5. In order to have the minimum number of error bits present in the read information of the target physical page P_2, it is preferable to set the control gate voltage for reading the LSB data to V5 shown in Fig. 7A. The initial control gate voltage V LSB0 is set to V7 by the control unit 1212 and the flash memory 1100 performs a first read operation for the memory cells M_0 through M_K of the physical page P_2 in accordance with the initial control gate voltage V LSB0 The number of error bits present in the read information (i. E., The first codeword CW_1 consisting of the first bits of the bit sequences BS_0 through BS_K) can be corrected by the ECC circuit 1230 to the maximum number of error bits . Thus activating the threshold voltage tracking mechanism accordingly. Next, the control unit 1212 controls the flash memory 1100 so that the memory controller 1200 controls the initial control gate voltage V LSB0 employed by the first read operation using V6 (V LSB1 ) lower than V7 And updates it with the adjustable minimum step size? V. The control unit 1212 then controls the flash memory to perform a second read operation on the memory cells M_0 to M_K of the physical page P_2 in accordance with the updated control gate voltage VLSB1 . Thus, the second code word CW_2, which is made up of the second bits of the bit sequences BS_0 through BS_K, is received by the receiving circuit 1220. The first codeword CW_1 is buffered in the storage 1222 and the comparison unit 1216 determines whether the bits of the first codeword CW_1 buffered in the storage 1222 are overwritten by the incoming bits of the second codeword CW_2 ) Are transmitted one by one. The comparison unit 1216 compares the bits of the first codeword CW_1 (i.e., the first bits of the bit sequences BS_0 through BS_K) with the bits of the second codeword CW_2 (i.e., the bits of the bit sequences BS_0 through BS_K 2 bits). The result of the comparison indicates whether a first bit flipping occurs at which bit position due to a transition from a first binary digit (e.g., "1") to a second binary digit (e.g., "0 & . The counting unit 1214 is connected to the comparison unit 1216 and the control unit 1212 and is configured to count the number of first bit flipping between the first codeword CW_1 and the second codeword CW_2. That is, the counting unit 1214 generates a first number of counters B1 by counting the number of first bit flipping between the first and second bits of the bit sequences BS_0 to BS_K, If the first bit and the second bit each have a first binary digit (e.g., "1") and a second binary digit (e.g., "0 & do.

다음에, 제어 유닛(1212)은, V7보다 높은 V8을 이용한 제2판독 동작에 의해 채용되는 현재의 제어 게이트 전압 VLSB1을 갱신한 후, 플래시 메모리를 제어하여, 갱신된 제어 게이트 전압 VLSB2에 따라 물리 페이지 P_2의 메모리 셀들(M_0 내지 M_K)에 대하여 제3판독 동작을 수행한다. 따라서, 물리 페이지 P_2의 비트 시퀀스들 BS_0 내지 BS_K의 제3비트들로 이루어진 제3코드워드 CW_3이 수신 회로(1220)에 의해 수신된다. 저장 장치(1222)에 초기에 버퍼링된 제1코드워드 CW_1이 제2코드워드 CW_2에 의해 오버라이트되고, 또한, 저장 장치(1222)에 버퍼링된 제2코드워드 CW_2의 비트들이 제3코드워드 CW_3의 인입 비트들에 의해 오버라이트되기 전에 비교 유닛(1216)에 하나씩 송신된다는 점에 주목한다. 비교 유닛(1216)은, 또한, 제2코드워드 CW_2의 비트들(즉, 비트 시퀀스들 BS_0 내지 BS_K의 제2비트들)을 제3코드워드 CW_3의 비트들(즉, 비트 시퀀스들 BS_0 내지 BS_K의 제3비트들)과 비교하도록 구성된다. 비교 결과는, 제2이진 디지트(예를 들어, "0")로부터 제1이진 디지트(예를 들어, "1")로의 천이로 인해 어느 비트 위치에서 제2비트 플리핑이 발생하는지를 나타낸다. 카운팅 유닛(1214)은 또한 제2코드워드 CW_2와 제3코드워드 CW_3 간의 제2비트 플리핑의 수를 카운팅하도록 구성된다. 즉, 카운팅 유닛(1214)은, 비트 시퀀스들 BS_0 내지 BS_K의 제2비트들과 제3비트들 간의 제2비트 플리핑의 수를 카운팅함으로써 제1카운터 수 B2를 생성하고, 하나의 비트 시퀀스의 제2비트 및 제3비트가 제2이진 디지트(예를 들어, "0") 및 제1이진 디지트(예를 들어, "1")를 각각 갖는 경우에, 하나의 제2비트 플리핑이 발생한다.Next, the control unit 1212 updates the current control gate voltage V LSB1 , which is employed by the second read operation using V8 higher than V7, and then controls the flash memory to update the control gate voltage V LSB2 And then performs a third read operation on the memory cells M_0 to M_K of the physical page P_2. Thus, the third code word CW_3, which is made up of the third bits of the bit sequences BS_0 through BS_K of the physical page P_2, is received by the receiving circuit 1220. The first codeword CW_1 initially buffered in the storage device 1222 is overwritten by the second codeword CW_2 and the bits of the second codeword CW_2 buffered in the storage device 1222 are overwritten by the third codeword CW_3 Are sent one by one to the comparison unit 1216 before being overwritten by the incoming bits of < RTI ID = 0.0 > The comparison unit 1216 also compares the bits of the second codeword CW_2 (i.e., the second bits of the bit sequences BS_0 through BS_K) with the bits of the third codeword CW_3 (i.e., the bit sequences BS_0 through BS_K The third bits of < / RTI > The result of the comparison indicates how the second bit flipping occurs at which bit position due to the transition from the second binary digit (e.g., "0") to the first binary digit (e.g., "1"). The counting unit 1214 is also configured to count the number of second bit flipping between the second codeword CW_2 and the third codeword CW_3. That is, the counting unit 1214 generates a first number of counters B2 by counting the number of second bit flipping between the second and third bits of the bit sequences BS_0 to BS_K, In the case where the second and third bits each have a second binary digit (e.g., "0") and a first binary digit (e.g., "1 & do.

도 7a에서 알 수 있듯이, 제1카운터 수 B1은 제어 게이트 전압이 V7로부터 V6으로 시프트됨으로 인해 새롭게 식별된 0들의 총 수를 나타내고, 제2카운터 수 B2'은 제어 게이트 전압이 V6으로부터 V8로 시프트됨으로 인해 새롭게 식별된 1들의 총 수를 나타낸다. 따라서, 수 B2'-B1은 제어 게이트 전압이 V7로부터 V8로 시프트되어 발생하는 1들의 총 수를 나타낸다. 제1카운터 수 B1은 제어 게이트 전압 영역 V7 내지 V6에 매핑되고, 임계 전압들이 전압 영역 V7 내지 V6 간에 위치하는 메모리 셀들의 수를 나타낸다. 수 B2'-B1은, 도 7a에 B2로서 도시한 바와 같이, 제어 게이트 전압 영역 V7 내지 V8에 매핑되고, 임계 전압들이 전압 영역 V7 내지 V8 간에 위치하는 메모리 셀들의 수를 나타낸다. 본 실시예의 교시에 따르면, 제어 로직(1210)에 의해 제어 게이트 전압을 VLSB3, VLSB4, VLSB5, VLSB6, VLSB7로부터 VLSB8로 어떻게 조절할 것인지 그리고 각각의 특정한 제어 게이트 전압 영역에 매핑되는 수 B3, B4, B5, B6, B7, B8을 어떻게 획득할지를 당업자라면 쉽게 이해할 수 있다. 따라서, 추가 예시는 생략한다. 수 B1, B2, B3, B4, B5, B6, B7, B8의 세트 및 특정한 제어 게이트 전압 범위들과의 대응하는 매핑 관계를, 임계 전압들이 V3 내지 V11 사이에 위치하는 메모리 셀들의 제1임계 전압 분포로서 간주할 수 있고 제어 로직(1210)에 저장할 수 있다는 점에 주목한다. 본 실시예에서 제어 게이트 전압들을 조절하는 수는 한정적이 아니라 일례일 뿐이다. 당업자라면 필요에 따라 제어 게이트 전압들을 조절하는 수를 결정할 수 있다.7A, the first counter number B1 represents the total number of newly identified 0's due to the shift of the control gate voltage from V7 to V6, and the second counter number B2 'indicates that the control gate voltage is shifted from V6 to V8 The total number of newly identified ones. Thus, the number B2'-B1 represents the total number of ones generated by shifting the control gate voltage from V7 to V8. The first number of counters B1 is mapped to the control gate voltage regions V7 to V6 and represents the number of memory cells in which the threshold voltages are located between the voltage regions V7 to V6. The number B2'-B1 is mapped to the control gate voltage regions V7 to V8, as shown by B2 in Fig. 7A, and represents the number of memory cells in which the threshold voltages are located between the voltage regions V7 to V8. According to the teachings of this embodiment, how the control logic 1210 controls the control gate voltage from VLSB3 , VLSB4 , VLSB5 , VLSB6 , VLSB7 to VLSB8, and how it is mapped to each particular control gate voltage region B3, B4, B5, B6, B7, B8 can be easily understood by those skilled in the art. Therefore, further examples are omitted. The corresponding mapping relationship with the set of numbers B1, B2, B3, B4, B5, B6, B7, B8 and the specific control gate voltage ranges is defined as the first threshold voltage It can be regarded as a distribution and stored in the control logic 1210. The number of controlling the control gate voltages in this embodiment is only an example, not a limitation. Those skilled in the art will be able to determine the number to control the control gate voltages as needed.

도 7b를 도 7a와 함께 참조한다. 도 7b는 도 7a에 도시한 임계 전압 분포를 평균화함으로써 획득되는 임계 전압 분포를 도시한 도면이다. 도 7a에 도시한 임계 전압 분포(제1임계 전압 분포)는 균일하지 않으므로, 제1임계 전압 분포를 활용하여 물리 페이지 P_2에 대하여 판독 동작을 수행하기 위한 제어 게이트 전압을 결정하는 것은 정정가능한 코드워드를 획득하지 못할 수 있다. 따라서, 제어 로직은, 비균일한 영향을 제거하도록 제1임계 전압 분포에 대하여 평균화 연산으로서 수행하고, 더욱 평활한 임계 전압 분포(제2임계 전압 분포)를 획득한다. 추가 상세는 이하에서 설명한다.7B together with FIG. 7A. FIG. 7B is a diagram showing a threshold voltage distribution obtained by averaging the threshold voltage distribution shown in FIG. 7A. FIG. Since the threshold voltage distribution (first threshold voltage distribution) shown in FIG. 7A is not uniform, the determination of the control gate voltage for performing the read operation with respect to the physical page P_2 utilizing the first threshold voltage distribution, May not be obtained. Thus, the control logic performs as an averaging operation on the first threshold voltage distribution to eliminate non-uniform effects and obtains a smoother threshold voltage distribution (second threshold voltage distribution). Additional details are described below.

도 7b에 도시한 바와 같이, 제2임계 전압 분포는 수 C1, C2, C3, C4, C5, C6의 세트를 포함한다. 각각의 수는 특정한 제어 게이트 전압 영역에 매핑된다. 수 C1은 제어 게이트 전압 영역 V7 내지 V6에 매핑되고, 임계 전압들이 전압 영역 V7 내지 V6 사이에 위치하는 메모리 셀들의 수를 나타낸다. 마찬가지로, 수 C2는 제어 게이트 전압 영역 V7 내지 V8에 매핑되고, 임계 전압들이 전압 영역 V7 내지 V8 사이에 위치하는 메모리 셀들의 수를 나타내며, 다른 것도 마찬가지 방식이다. 제어 로직(1210)은 B1, B2, B3을 평균화함으로써 수 C1을 획득한다. 제1임계 전압 분포에서, 수 B1은 전압 영역 V6 내지 V7에 매핑된다. 수 B1의 전압 영역 매핑 관계는 수 C1의 전압 영역 매핑 관계와 동일하다. 수 B2는 전압 영역 V7 내지 V8, 즉, 수 C1의 전압 영역(즉, V6 내지 V7)에 이웃하는 전압 범위에 매핑된다. 수 B3은 전압 영역 V5 내지 V6, 즉, 수 C1의 전압 영역(즉, V6 내지 V7)에 이웃하는 다른 전압 범위에 매핑된다. 수 C2, C3, C4, C5, C6은 제어 로직(1210)에 의해 마찬가지 방식으로 획득될 수 있다.As shown in FIG. 7B, the second threshold voltage distribution includes a set of numbers C1, C2, C3, C4, C5, and C6. Each number is mapped to a specific control gate voltage region. The number C1 is mapped to the control gate voltage regions V7 to V6 and represents the number of memory cells in which the threshold voltages are located between the voltage regions V7 to V6. Similarly, the number C2 is mapped to the control gate voltage regions V7 to V8 and represents the number of memory cells in which the threshold voltages are located between the voltage regions V7 to V8, and the other is the same way. Control logic 1210 obtains number C1 by averaging B1, B2, B3. In the first threshold voltage distribution, the number B1 is mapped to the voltage regions V6 to V7. The voltage region mapping relationship of the number B1 is the same as the voltage region mapping relation of the number C1. The number B2 is mapped to a voltage range neighboring the voltage range V7 to V8, that is, the voltage range of the number C1 (i.e., V6 to V7). The number B3 is mapped to voltage ranges V5 to V6, i.e., other voltage ranges neighboring the voltage range of the number C1 (i.e., V6 to V7). The numbers C2, C3, C4, C5, and C6 may be obtained in a similar manner by the control logic 1210. [

전술한 실시예와는 여러 면에서 다르게 제1임계 전압 분포로부터 더욱 평활한 제2임계 전압 분포를 획득할 수 있다는 점에 주목한다. 예를 들어, 수 C1은 수 B1 내지 B5, B1 내지 B2, 또는 B1과 B3을 평균화함으로써 획득될 수 있다. 대안으로, 제어 로직(1210)은 수들 B1 내지 B8에 대하여 누적 합 연산(running sum operation)을 수행하여 수들 C1 내지 C6을 획득할 수 있다. 예를 들어, 수 C1은 수들 B1 내지 B3을 합산함으로써 획득될 수 있다. 수 C2는 수들 B1, B2, B4를 합산함으로써 획득될 수 있고, 다른 수도 마찬가지 방식으로 획득될 수 있다. 제1임계 전압 연산에 대하여 평균화 연산 또는 누적 합 연산을 수행함으로써 제2임계 전압 분포를 결정할 수 있다는 점에 주목한다. 다시 말하면, 제2임계 전압 분포는, 제1임계 전압 분포의 정보(예를 들어, 메모리 셀들의 수 및 매핑 관계)를 처리함으로써 획득된다.Note that a smoother second threshold voltage distribution can be obtained from the first threshold voltage distribution in a number of ways from the above embodiment. For example, the number C1 can be obtained by averaging the numbers B1 to B5, B1 to B2, or B1 and B3. Alternatively, the control logic 1210 may perform a running sum operation on the numbers B1 through B8 to obtain the numbers C1 through C6. For example, the number C1 may be obtained by summing the numbers B1 to B3. The number C2 may be obtained by summing the numbers B1, B2, B4, and the other number may be obtained in a similar manner. Note that the second threshold voltage distribution can be determined by performing an averaging operation or a cumulative sum operation on the first threshold voltage operation. In other words, the second threshold voltage distribution is obtained by processing information of the first threshold voltage distribution (e.g., the number of memory cells and the mapping relationship).

또한, 도 7c를 도 7a와 함께 참조한다. 도 7c는 도 7a에 도시한 임계 전압 분포의 정보의 일부를 선택함으로써 획득되는 임계 전압 분포를 도시한 도면이다. 더욱 평활한 임계 전압 분포는, 제1임계 전압 분포의 정보의 일부를 선택함으로써 획득될 수 있다. 도 7c에 도시한 바와 같이, 더욱 평활한 제2임계 전압 분포는 D1, D2, D3, D4의 세트를 포함한다. 각 수는 특정한 제어 게이트 전압 영역에 매핑된다. 수 D1은 제어 게이트 전압 영역 V7 내지 V6에 매핑되고, 임계 전압들이 임계 전압 V7 내지 V6 사이에 위치하는 메모리 셀들의 수를 나타낸다. 마찬가지로, 수 D2는 제어 게이트 전압 영역 V8 내지 V9에 매핑되고, 임계 전압들이 임계 전압 V8 내지 V9 사이에 위치하는 메모리 셀들의 수를 나타내며, 다른 수도 동일한 방식으로 가능하다. 제어 로직(1210)은 B1을 D1로서 선택함으로써 수 D1과 매핑 관계를 획득한다. 제어 로직(1210)은 B4를 D2로서 선택함으로써 수 D2와 매핑 관계를 획득하고, 다른 것도 동일한 방식으로 가능하다. B1, B4, B5, B8의 세트는, 제1임계 전압 분포로부터의 불연속 전압 이격에 의해 선택될 수 있다.Reference is also made to Fig. 7C together with Fig. 7A. FIG. 7C is a diagram showing a threshold voltage distribution obtained by selecting a part of the information of the threshold voltage distribution shown in FIG. 7A. FIG. A smoother threshold voltage distribution can be obtained by selecting a portion of the information of the first threshold voltage distribution. As shown in Fig. 7C, the smoother second threshold voltage distribution includes a set of D1, D2, D3, and D4. Each number is mapped to a specific control gate voltage region. The number D1 is mapped to the control gate voltage regions V7 to V6 and represents the number of memory cells in which the threshold voltages are located between the threshold voltages V7 to V6. Likewise, the number D2 is mapped to the control gate voltage regions V8 to V9 and represents the number of memory cells in which the threshold voltages are located between the threshold voltages V8 to V9, and the other numbers are possible in the same way. The control logic 1210 obtains the mapping relationship with the number D1 by selecting B1 as D1. The control logic 1210 obtains the mapping relationship with the number D2 by selecting B4 as D2, and the other is possible in the same manner. The set of B1, B4, B5, B8 can be selected by the discontinuous voltage separation from the first threshold voltage distribution.

더욱 평활한 임계 전압 분포를 획득하기 위해서는, 제1임계 전압을 획득하기 위한 스텝 사이즈를 조절할 수도 있다. 다시 말하면, 제어 로직(1210)은, 도 5에 도시한 개념과 관련 예시에 따라 제1임계 전압 분포를 획득하기 위한 스텝 사이즈를 조절할 수 있고, 전술한 실시예들에서 예시한 개념에 따라 제2임계 전압 분포를 획득하도록 제1임계 전압 분포를 평활화할 수 있다.In order to obtain a smoother threshold voltage distribution, the step size for obtaining the first threshold voltage may be adjusted. In other words, the control logic 1210 can adjust the step size to obtain the first threshold voltage distribution according to the concept shown in Fig. 5 and the related example, and according to the concept illustrated in the above embodiments, The first threshold voltage distribution can be smoothed to obtain a threshold voltage distribution.

도 7b와 도 7c에 도시한 바와 같이, 제2임계 전압 분포는 평활하고 균일하다. 제어 로직(1210)은 제2임계 전압 분포로부터 정확한 시프트 방향 DS를 획득할 수 있다. 임계 전압 분포에 따라 정확한 시프트 방향을 획득하는 개념은 전술한 실시예들과 마찬가지이다. 따라서, 추가 예시는 생략한다.As shown in Figs. 7B and 7C, the second threshold voltage distribution is smooth and uniform. Control logic 1210 may obtain an accurate shift direction DS from the second threshold voltage distribution. The concept of obtaining an accurate shift direction in accordance with the threshold voltage distribution is the same as in the above-described embodiments. Therefore, further examples are omitted.

제2임계 전압 분포에 따라 정확한 시프트 방향 DS를 결정한 후, 제어 로직(1210)은, 정확한 시프트 방향 DS에 따라 물리 페이지 P_2에 대하여 판독 동작을 수행하기 위한 새로운 제어 게이트 전압을 결정한다. 정정가능한 코드워드는 정확한 시프트 방향 DS에 따라 검색될 수 있다. 정확한 시프트 방향 DS에 따라 정정가능한 코드워드를 획득하기 위한 메커니즘은 전술한 예시와 마찬가지이다(도 2와 도 3 및 관련 예시를 참조). 따라서, 추가 예시는 생략한다.After determining the correct shift direction DS according to the second threshold voltage distribution, the control logic 1210 determines a new control gate voltage for performing a read operation on the physical page P_2 in accordance with the correct shift direction DS. The correctable codeword can be retrieved according to the correct shift direction DS. The mechanism for obtaining a correctable codeword according to the correct shift direction DS is the same as the above-mentioned example (see FIGS. 2 and 3 and related examples). Therefore, further examples are omitted.

대안으로, 제어 로직(1210)은, 제2임계 전압 분포의 최소수에 따라 물리 페이지 P_2에 대하여 판독 동작을 수행하기 위한 새로운 제어 게이트 전압을 결정할 수 있다. 예를 들어, 도 7b에 도시한 제2임계 전압 분포의 최소수는 C5이다. 따라서, 제어 로직(1210)은, 최소수 C5에 매핑된 전압 영역에 따라 물리 페이지 P_2에 대하여 판독 동작을 수행하기 위한 새로운 제어 게이트 전압을 결정할 수 있다. 최소수 C5는 전압 영역 V4 내지 V5에 매핑된다. 새로운 제어 게이트 전압은 V4나 V5로서 또는 전압 영역 V4 내지 V5에 인접하는 다른 전압으로서 결정될 수 있다.Alternatively, the control logic 1210 may determine a new control gate voltage for performing a read operation on the physical page P_2 according to the minimum number of second threshold voltage distributions. For example, the minimum number of second threshold voltage distributions shown in FIG. 7B is C5. Thus, the control logic 1210 may determine a new control gate voltage for performing a read operation on the physical page P_2 in accordance with the voltage region mapped to the minimum number C5. The minimum number C5 is mapped to the voltage regions V4 to V5. The new control gate voltage may be determined as V4 or V5 or as another voltage adjacent to the voltage regions V4 to V5.

도 8은 본 발명의 개념을 도시한 흐름도이다. 이하의 흐름에서의 단계들의 순서는 한정적인 것이 아니라 본 발명의 예시적인 일 실시예이다. 흐름도(800)는 다음과 같은 단계들을 포함한다.8 is a flow chart showing the concept of the present invention. The order of steps in the following flows is not limiting, but is an exemplary embodiment of the present invention. The flowchart 800 includes the following steps.

단계 810: 플래시 메모리를 제어하여 초기 제어 게이트 전압에 따라 메모리 셀들 중 일부에 대하여 제1판독 동작을 수행한다.Step 810: The flash memory is controlled to perform a first read operation with respect to some of the memory cells according to the initial control gate voltage.

단계 820: 플래시 메모리를 제어하여, 제1판독 동작의 판독 정보가 정정불가인 동안 메모리 셀들 중 그 일부에 대하여 복수의 판독 동작을 수행한다.Step 820: The flash memory is controlled to perform a plurality of read operations for a part of the memory cells while the read information of the first read operation is uncorrectable.

단계 830: 복수의 판독 동작의 판독 정보에 따라 제1임계 전압 분포를 획득한다.Step 830: Obtain the first threshold voltage distribution in accordance with the read information of the plurality of read operations.

단계 840: 제2임계 전압 분포를 획득하도록 제1임계 전압 분포를 평활화한다.Step 840: Smoothing the first threshold voltage distribution to obtain a second threshold voltage distribution.

단계 850: 플래시 메모리를 제어하여 제2임계 전압 분포에 따라 메모리 셀들 중 그 일부에 대하여 제2판독 동작을 수행한다.Step 850: Control the flash memory to perform a second read operation on a portion of the memory cells according to a second threshold voltage distribution.

단계 810에서, 제어 로직(1210)은, 플래시 메모리(1100)를 제어하여, 초기 제어 게이트 전압, 예를 들어, VLSB0에 따라 플래시 메모리(1100)의 메모리 셀들 중 일부, 예를 들어, 물리 페이지 P_1에 대하여 제1판독 동작을 수행한다. 제1판독 동작의 판독 정보가 정정불가인 동안, 단계 820에서, 제어 로직(1210)은 플래시 메모리(1100)를 제어하여 물리 페이지 P_1에 대하여 복수의 판독 동작을 수행한다. 판독 정보가 정정불가이므로, 판독 동작을 수행하여 정확한(정정가능한) 판독 정보를 획득하도록 더욱 양호한 제어 게이트 전압을 검색해야 한다. 단계 830에서, 제어 로직(1210)은 복수의 판독 동작의 판독 정보에 따라 제1임계 전압 분포를 획득한다. 그러나, 제1임계 전압 분포는 균일하지 않을 수 있다. 따라서, 단계 840에서, 더욱 평활한 제2임계 전압 분포를 획득하도록 제어 로직(1210)에 의해 제1임계 전압 분포를 처리해야 한다. 제2임계 전압 분포가 획득되므로, 이에 따라 제어 게이트 전압을 조절하기 위한 시프트 방향을 결정할 수 있고, 또는 제2임계 전압 분포의 최소값에 따라 더욱 양호한 제어 게이트 전압을 획득할 수 있다. 단계 850에서, 제어 로직(1210)은, 플래시 메모리(1100)를 제어하여 제2임계 전압 분포에 따라 물리 페이지 P_1에 대하여 제2판독 동작을 수행한다. 따라서, 정확한(정정가능한) 판독 정보를 획득할 수 있다.In step 810, the control logic 1210 controls the flash memory 1100 to control some of the memory cells of the flash memory 1100, e. G. , A physical page And performs a first read operation with respect to P_1. While the read information of the first read operation is uncorrectable, in step 820, the control logic 1210 controls the flash memory 1100 to perform a plurality of read operations with respect to the physical page P_1. Since the read information is uncorrectable, a better control gate voltage must be retrieved to perform read operations to obtain correct (correctable) read information. In step 830, the control logic 1210 obtains a first threshold voltage distribution in accordance with the read information of the plurality of read operations. However, the first threshold voltage distribution may not be uniform. Thus, at step 840, the first threshold voltage distribution should be processed by the control logic 1210 to obtain a smoother second threshold voltage distribution. The second threshold voltage distribution is obtained, so that the shift direction for adjusting the control gate voltage can be determined, or a better control gate voltage can be obtained according to the minimum value of the second threshold voltage distribution. In step 850, the control logic 1210 controls the flash memory 1100 to perform a second read operation on the physical page P_1 according to the second threshold voltage distribution. Thus, correct (correctable) readout information can be obtained.

당업자라면, 본 발명의 교시를 유지하면서 장치와 방법을 다양하게 수정 및 변경할 수 있음을 쉽게 알 것이다. 이에 따라, 상술한 개시 내용은 청구범위의 경계에 의해서만 한정되는 것으로 해석되어야 한다.It will be readily apparent to those skilled in the art that various modifications and variations can be made in the device and method while retaining the teachings of the invention. Accordingly, the disclosure should be construed as limited only by the boundaries of the claims.

Claims (13)

특정 임계 전압을 각각 갖는 복수의 메모리 셀을 포함하는 플래시 메모리에 저장된 데이터를 판독하기 위한 방법으로서,
상기 메모리 셀들 중 제1그룹의 메모리 셀들의 임계 전압들을 나타내는 제1임계 전압 분포를 획득하는 단계;
상기 메모리 셀들 중 제2그룹의 메모리 셀들의 임계 전압들을 나타내는 제2임계 전압 분포를 획득하는 단계; 및
상기 플래시 메모리를 제어하여 상기 제2임계 전압 분포에 따라 상기 메모리셀들 중 상기 제 1그룹에 대하여 적어도 하나의 판독 동작을 수행하는 단계를 포함하되,
상기 제2임계 전압 분포는 상기 제1임계 전압 분포와 다르며, 상기 메모리셀들 중 상기 제1그룹은 상기 메모리 셀들 중 상기 제2그룹의 적어도 일부를 포함하는 것인 데이터 판독 방법.
A method for reading data stored in a flash memory comprising a plurality of memory cells each having a specific threshold voltage,
Obtaining a first threshold voltage distribution representative of the threshold voltages of the first group of memory cells;
Obtaining a second threshold voltage distribution representative of threshold voltages of memory cells of a second one of the memory cells; And
And controlling the flash memory to perform at least one read operation for the first one of the memory cells according to the second threshold voltage distribution,
Wherein the second threshold voltage distribution is different from the first threshold voltage distribution and wherein the first one of the memory cells comprises at least a portion of the second one of the memory cells.
제1항에 있어서, 상기 제1임계 전압 분포의 스텝 사이즈는 상기 제2임계 전압 분포의 스텝 사이즈보다 작은 것인 데이터 판독 방법.2. The method according to claim 1, wherein the step size of the first threshold voltage distribution is smaller than the step size of the second threshold voltage distribution. 제1항에 있어서, 상기 제2임계 전압 분포는 상기 제1임계 전압 분포의 정보의 적어도 일부를 포함하는 것인 데이터 판독 방법.2. The method of claim 1, wherein the second threshold voltage distribution comprises at least a portion of information of the first threshold voltage distribution. 제3항에 있어서, 상기 제1임계 전압 분포는 수의 제1세트(first set of number)를 포함하고, 상기 수의 제1세트의 각 수는 각각의 특정한 전압 영역에 매핑되며, 상기 제2임계 전압 분포는 수의 제2세트를 포함하고, 상기 수의 제2세트의 각 수는 상기 특정한 전압 영역에 매핑되며,
상기 메모리 셀들 중 상기 제2그룹의 메모리 셀들의 임계 전압들을 나타내는 제2임계 전압 분포를 획득하는 단계는 상기 수의 제1세트를 평균화하여 상기 수의 제2세트를 획득하는 단계를 더 포함하고,
상기 수의 제 1세트는 임계전압이 상기 제 1임계 전압 분포 내에 위치하는 메모리 셀들의 수로 정의되고,
상기 수의 제 2세트는 임계전압이 상기 제 2임계 전압 분포 내에 위치하는 메모리 셀들의 수로 정의되는 것인 데이터 판독 방법.
4. The method of claim 3, wherein the first threshold voltage distribution comprises a first set of numbers, each number of the first set of numbers is mapped to a respective specific voltage range, The threshold voltage distribution comprising a second set of numbers, each number of the second set of numbers being mapped to the specific voltage range,
Wherein obtaining a second threshold voltage distribution representing threshold voltages of the memory cells of the second group of memory cells further comprises averaging the first set of numbers to obtain a second set of the numbers,
Wherein the first set of numbers is defined as the number of memory cells in which the threshold voltage is within the first threshold voltage distribution,
Wherein the second set of numbers is defined as the number of memory cells in which the threshold voltage is within the second threshold voltage distribution.
제3항에 있어서, 상기 제1임계 전압 분포는 수의 제1세트를 포함하고, 상기 수의 제1세트의 각 수는 각각의 특정한 전압 영역에 매핑되며, 상기 제2임계 전압 분포는 수의 제2세트를 포함하고, 상기 수의 제2세트의 각 수는 상기 특정한 전압 영역에 매핑되며,
상기 메모리 셀들 중 상기 제2그룹의 메모리 셀들의 임계 전압들을 나타내는 제2임계 전압 분포를 획득하는 단계는 상기 수의 제1세트에 대하여 누적 합 연산을 수행하여 상기 수의 제2세트를 획득하는 단계를 더 포함하고,
상기 수의 제 1세트는 임계전압이 상기 제 1임계 전압 분포 내에 위치하는 메모리 셀들의 수로 정의되고,
상기 수의 제 2세트는 임계전압이 상기 제 2임계 전압 분포 내에 위치하는 메모리 셀들의 수로 정의되는 것인 데이터 판독 방법.
4. The method of claim 3, wherein the first threshold voltage distribution comprises a first set of numbers, each number of the first set of numbers is mapped to a respective specific voltage range, A second set, each number of the second set of numbers being mapped to the specific voltage range,
Wherein obtaining a second threshold voltage distribution representing threshold voltages of the memory cells of the second group of memory cells comprises performing a cumulative sum operation on the first set of numbers to obtain a second set of numbers Further comprising:
Wherein the first set of numbers is defined as the number of memory cells in which the threshold voltage is within the first threshold voltage distribution,
Wherein the second set of numbers is defined as the number of memory cells in which the threshold voltage is within the second threshold voltage distribution.
제3항에 있어서, 상기 제1임계 전압 분포는 수의 제1세트를 포함하고, 상기 수의 제1세트의 각 수는 각각의 특정한 전압 영역에 매핑되며, 상기 제2임계 전압 분포는 수의 제2세트를 포함하고, 상기 수의 제2세트의 각 수는 상기 특정한 전압 영역에 매핑되며,
상기 메모리셀들 중 상기 제2그룹의 메모리 셀들의 임계 전압들을 나타내는 제2임계 전압 분포를 획득하는 단계는 상기 수의 제1세트의 일부를 상기 수의 제2세트로서 선택하는 단계를 더 포함하고,
상기 수의 제 1세트는 임계전압이 상기 제 1임계 전압 분포 내에 위치하는 메모리 셀들의 수로 정의되고,
상기 수의 제 2세트는 임계전압이 상기 제 2임계 전압 분포 내에 위치하는 메모리 셀들의 수로 정의되는 것인 데이터 판독 방법.
4. The method of claim 3, wherein the first threshold voltage distribution comprises a first set of numbers, each number of the first set of numbers is mapped to a respective specific voltage range, A second set, each number of the second set of numbers being mapped to the specific voltage range,
Wherein obtaining a second threshold voltage distribution representative of threshold voltages of the memory cells of the second group of memory cells further comprises selecting a portion of the first set of numbers as the second set of numbers ,
Wherein the first set of numbers is defined as the number of memory cells in which the threshold voltage is within the first threshold voltage distribution,
Wherein the second set of numbers is defined as the number of memory cells in which the threshold voltage is within the second threshold voltage distribution.
제1항에 있어서, 상기 메모리 셀들 중 상기 제1그룹의 메모리 셀들의 임계 전압들을 나타내는 제1임계 전압 분포를 획득하는 단계는 상기 메모리 셀들 중 상기 제1그룹의 메모리 셀들의 특성에 따라 상기 제1임계 전압 분포를 획득하기 위한 스텝 사이즈를 결정하는 단계를 더 포함하는 것인 데이터 판독 방법.2. The method of claim 1, wherein obtaining a first threshold voltage distribution representative of threshold voltages of the first group of memory cells comprises applying a first threshold voltage distribution to the first group of memory cells, And determining a step size to obtain a threshold voltage distribution. 제7항에 있어서, 상기 특성은 상기 메모리 셀들 중 상기 제1그룹의 메모리 셀들의 프로그램/소거 카운트를 포함하는 것인 데이터 판독 방법.8. The method of claim 7, wherein the characteristic comprises a program / erase count of the first group of memory cells. 제1항에 있어서, 상기 플래시 메모리를 제어하여 상기 제2임계 전압 분포에 따라 상기 메모리 셀들 중 상기 제1그룹의 메모리 셀들에 대하여 적어도 하나의 판독 동작을 수행하는 단계는, 상기 제2임계 전압 분포에 따라 시프트 방향을 결정하는 단계; 및 상기 시프트 방향에 따라 상기 판독 동작을 수행하기 위한 제어 게이트 전압을 조절하는 단계를 더 포함하는 것인 데이터 판독 방법.2. The method of claim 1, wherein controlling the flash memory to perform at least one read operation on the first group of memory cells of the memory cells according to the second threshold voltage distribution comprises: Determining a shift direction according to the shift direction; And adjusting a control gate voltage for performing the read operation in accordance with the shift direction. 제1항에 있어서, 상기 플래시 메모리를 제어하여 상기 제2임계 전압 분포에 따라 상기 메모리 셀들 중 상기 제1그룹의 메모리 셀들에 대하여 적어도 하나의 판독 동작을 수행하는 단계는, 상기 제2임계 전압 분포에 따라 특정한 임계 전압 영역에 매핑되는 최소수를 결정하는 단계; 및 상기 특정한 임계 전압 영역에 따라 상기 판독 동작을 수행하기 위한 제어 게이트 전압을 조절하는 단계를 더 포함하는 것인 데이터 판독 방법.2. The method of claim 1, wherein controlling the flash memory to perform at least one read operation on the first group of memory cells of the memory cells according to the second threshold voltage distribution comprises: Determining a minimum number to be mapped to a specific threshold voltage region according to the threshold voltage; And adjusting a control gate voltage for performing the read operation in accordance with the particular threshold voltage region. 특정한 임계 전압을 각각 갖는 복수의 메모리 셀을 포함하는 플래시 메모리에 저장된 데이터를 판독하기 위한 메모리 컨트롤러로서,
상기 메모리 셀들 중 제1그룹의 메모리 셀들의 임계 전압들을 나타내는 제1임계 전압 분포를 획득하고, 상기 메모리 셀들 중 제2그룹의 메모리 셀들의 임계 전압들을 나타내는 제2임계 전압 분포를 획득하며, 상기 플래시 메모리를 제어하여 상기 제2임계 전압 분포에 따라 상기 메모리 셀들 중 상기 제1그룹의 메모리 셀들에 대하여 적어도 하나의 판독 동작을 수행하기 위한 제어 로직을 포함하되,
상기 제2임계 전압 분포는 상기 제1임계 전압 분포와 다르며, 상기 메모리 셀들 중 상기 제1그룹은 상기 메모리셀들 중 상기 제2그룹의 적어도 일부를 포함하는 것인 메모리 컨트롤러.
A memory controller for reading data stored in a flash memory including a plurality of memory cells each having a specific threshold voltage,
Obtaining a first threshold voltage distribution representing threshold voltages of a first group of memory cells and obtaining a second threshold voltage distribution representing threshold voltages of memory cells of a second group of memory cells, And control logic for controlling the memory to perform at least one read operation for the first group of memory cells of the memory cells according to the second threshold voltage distribution,
Wherein the second threshold voltage distribution is different from the first threshold voltage distribution and wherein the first one of the memory cells comprises at least a portion of the second one of the memory cells.
특정한 임계 전압을 각각 갖는 복수의 메모리 셀을 포함하는 플래시 메모리에 저장된 데이터를 판독하기 위한 시스템으로서,
상기 메모리 셀들 중 제1그룹의 메모리 셀들의 임계 전압들을 나타내는 제1임계 전압 분포를 획득하고, 상기 메모리 셀들 중 제2그룹의 메모리 셀들의 임계 전압들을 나타내는 제2임계 전압 분포를 획득하며, 상기 플래시 메모리를 제어하여 상기 제2임계 전압 분포에 따라 상기 메모리 셀들 중 상기 제1그룹의 메모리 셀들에 대하여 적어도 하나의 판독 동작을 수행하기 위한 제어 로직을 포함하되,
상기 제2임계 전압 분포는 상기 제1임계 전압 분포와 다르며, 상기 메모리 셀들 중 상기 제1그룹은 상기 메모리 셀들 중 상기 제2그룹의 적어도 일부를 포함하는 것인 시스템.
A system for reading data stored in a flash memory comprising a plurality of memory cells each having a particular threshold voltage,
Obtaining a first threshold voltage distribution representing threshold voltages of a first group of memory cells and obtaining a second threshold voltage distribution representing threshold voltages of memory cells of a second group of memory cells, And control logic for controlling the memory to perform at least one read operation for the first group of memory cells of the memory cells according to the second threshold voltage distribution,
Wherein the second threshold voltage distribution is different from the first threshold voltage distribution and wherein the first one of the memory cells comprises at least a portion of the second one of the memory cells.
특정한 임계 전압을 각각 갖는 복수의 메모리 셀을 포함하는 플래시 메모리에 저장된 데이터를 판독하기 위한 방법으로서,
상기 플래시 메모리를 제어하여 초기 제어 게이트 전압에 따라 상기 메모리 셀들의 일부에 대하여 제1판독 동작을 수행하는 단계;
상기 플래시 메모리를 제어하여 상기 제1판독 동작의 판독 정보가 정정불가능한 동안에 상기 메모리 셀들의 상기 일부에 대하여 복수의 판독 동작을 수행하는 단계;
상기 복수의 판독 동작의 판독 정보에 따라 제1임계 전압 분포를 획득하는 단계;
상기 제1임계 전압 분포를 평활화하여 제2임계 전압 분포를 획득하는 단계; 및
상기 플래시 메모리를 제어하여 상기 제2임계 전압 분포에 따라 상기 메모리 셀들의 상기 일부에 대하여 제2판독 동작을 수행하는 단계를 포함하는 데이터 판독 방법.
A method for reading data stored in a flash memory comprising a plurality of memory cells each having a particular threshold voltage,
Controlling the flash memory to perform a first read operation on a portion of the memory cells according to an initial control gate voltage;
Controlling the flash memory to perform a plurality of read operations on the portion of the memory cells while the read information of the first read operation is uncorrectable;
Obtaining a first threshold voltage distribution in accordance with read information of the plurality of read operations;
Smoothing the first threshold voltage distribution to obtain a second threshold voltage distribution; And
And controlling the flash memory to perform a second read operation on the portion of the memory cells according to the second threshold voltage distribution.
KR1020130022481A 2013-02-28 2013-02-28 Method for reading data stored in a flash memory according to a threshold voltage distribution and memory controller and system thereof KR101540795B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130022481A KR101540795B1 (en) 2013-02-28 2013-02-28 Method for reading data stored in a flash memory according to a threshold voltage distribution and memory controller and system thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130022481A KR101540795B1 (en) 2013-02-28 2013-02-28 Method for reading data stored in a flash memory according to a threshold voltage distribution and memory controller and system thereof

Publications (2)

Publication Number Publication Date
KR20140108046A KR20140108046A (en) 2014-09-05
KR101540795B1 true KR101540795B1 (en) 2015-07-30

Family

ID=51755427

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130022481A KR101540795B1 (en) 2013-02-28 2013-02-28 Method for reading data stored in a flash memory according to a threshold voltage distribution and memory controller and system thereof

Country Status (1)

Country Link
KR (1) KR101540795B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022039929A1 (en) * 2020-08-17 2022-02-24 Micron Technology, Inc. Threshold voltage distribtution adjustment for buffer

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116564391B (en) * 2023-03-17 2024-03-01 平头哥(成都)半导体有限公司 Storage control chip, solid state disk and flash memory read voltage determining method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090088851A (en) * 2006-09-27 2009-08-20 쌘디스크 코포레이션 Memory with cell population distribution assisted read margining
KR20100010746A (en) * 2008-07-23 2010-02-02 삼성전자주식회사 Flash memory system configuring reading voltage level and configuration method of reading voltage level
KR20110004100A (en) * 2009-07-07 2011-01-13 삼성전자주식회사 Read method of non-volatile memory device and memory system having the same
JP2011527067A (en) * 2008-06-30 2011-10-20 サンディスク コーポレイション Reduction of read disturb in non-volatile memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090088851A (en) * 2006-09-27 2009-08-20 쌘디스크 코포레이션 Memory with cell population distribution assisted read margining
JP2011527067A (en) * 2008-06-30 2011-10-20 サンディスク コーポレイション Reduction of read disturb in non-volatile memory
KR20100010746A (en) * 2008-07-23 2010-02-02 삼성전자주식회사 Flash memory system configuring reading voltage level and configuration method of reading voltage level
KR20110004100A (en) * 2009-07-07 2011-01-13 삼성전자주식회사 Read method of non-volatile memory device and memory system having the same

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022039929A1 (en) * 2020-08-17 2022-02-24 Micron Technology, Inc. Threshold voltage distribtution adjustment for buffer
US11288160B2 (en) 2020-08-17 2022-03-29 Micron Technology, Inc. Threshold voltage distribution adjustment for buffer
US11663104B2 (en) 2020-08-17 2023-05-30 Micron Technology, Inc. Threshold voltage distribution adjustment for buffer

Also Published As

Publication number Publication date
KR20140108046A (en) 2014-09-05

Similar Documents

Publication Publication Date Title
US11139032B2 (en) Method and apparatus for reading data stored in flash memory by referring to binary digit distribution characteristics of bit sequences read from flash memory
US11031087B2 (en) Method for reading data stored in a flash memory according to a voltage characteristic and memory controller thereof
US9177664B2 (en) Method, memory controller and system for reading data stored in flash memory
US9286972B2 (en) Method, memory controller and system for reading data stored in flash memory
CN107240419B (en) Method, memory controller and system for reading data stored in flash memory
KR101540795B1 (en) Method for reading data stored in a flash memory according to a threshold voltage distribution and memory controller and system thereof

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180608

Year of fee payment: 4