KR20080100750A - Apparatus for reading data and method using the same - Google Patents

Apparatus for reading data and method using the same Download PDF

Info

Publication number
KR20080100750A
KR20080100750A KR1020070075857A KR20070075857A KR20080100750A KR 20080100750 A KR20080100750 A KR 20080100750A KR 1020070075857 A KR1020070075857 A KR 1020070075857A KR 20070075857 A KR20070075857 A KR 20070075857A KR 20080100750 A KR20080100750 A KR 20080100750A
Authority
KR
South Korea
Prior art keywords
data
voltage
memory cell
threshold voltage
boundary
Prior art date
Application number
KR1020070075857A
Other languages
Korean (ko)
Inventor
송승환
공준진
채동혁
이승재
박성정
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to JP2010508281A priority Critical patent/JP5385261B2/en
Priority to PCT/KR2008/000239 priority patent/WO2008140171A1/en
Priority to US12/007,921 priority patent/US7800954B2/en
Publication of KR20080100750A publication Critical patent/KR20080100750A/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

Landscapes

  • Read Only Memory (AREA)

Abstract

A data read apparatus and the method is provided to read data programmed in a memory cell by using two boundary voltages and decodes the read data, and then determines data in the memory cell. A data read apparatus and the method is comprised of steps: comparing the threshold voltage with the first boundary voltage of the memory cell(S610); comparing second boundary voltage having the voltage level higher than the threshold voltage with the first boundary voltage; determining data of the memory cell based on the comparison result of the threshold voltage and the first boundary voltage and threshold voltage and the second boundary voltage(S620); determining data of the memory cell; determining data of the memory cell as disable value if the threshold voltage is voltage between the second boundary voltage and the first boundary voltage(S630).

Description

데이터 읽기 장치 및 그 방법{APPARATUS FOR READING DATA AND METHOD USING THE SAME}Data reading device and its method {APPARATUS FOR READING DATA AND METHOD USING THE SAME}

본 발명은 데이터 읽기에 관한 것으로, 더욱 상세하게는 메모리 셀에 프로그램된 데이터를 두 경계 전압들을 이용하여 읽고 디코딩하여 메모리 셀의 데이터를 결정하는 데이터 읽기 장치 및 그 방법에 관한 것이다.The present invention relates to data reading, and more particularly, to a data reading apparatus and method for determining data of a memory cell by reading and decoding data programmed in a memory cell using two boundary voltages.

플래시 메모리 셀은 데이터를 프로그램할 때 플래시 메모리 셀의 문턱 전압 크기를 프로그램할 데이터에 맞게 조절한다. 즉, 플래시 메모리 셀의 문턱 전압 크기가 플래시 메모리 셀에 프로그램된 데이터를 의미한다.When programming data, the flash memory cell adjusts the threshold voltage of the flash memory cell to fit the data to be programmed. That is, the threshold voltage of the flash memory cell refers to data programmed into the flash memory cell.

플래시 메모리 셀에 프로그램된 데이터를 읽기 위해서는 플래시 메모리 셀의 문턱 전압과 기 설정된 하나 이상의 기준 전압 즉, 리드 레벨을 비교하여 플래시 메모리 셀의 데이터를 읽는다. 예를 들어, 플래시 메모리 셀이 SLC(single level cell) 방식으로 동작하고 기준 전압이 A라 가정하면, 읽혀진 플래시 메모리 셀의 문턱 전압이 기준 전압 A보다 작으면 플래시 메모리 셀에 프로그램된 데이터를 1로 읽고, 읽혀진 플래시 메모리 셀의 문턱 전압이 기준 전압 A보다 크면 플래시 메모리 셀에 프로그램된 데이터를 0으로 읽는다.To read data programmed in the flash memory cell, the data of the flash memory cell is read by comparing a threshold voltage of the flash memory cell with one or more preset reference voltages, that is, a read level. For example, assuming that a flash memory cell operates in a single level cell (SLC) scheme and that the reference voltage is A, if the threshold voltage of the read flash memory cell is less than the reference voltage A, the data programmed in the flash memory cell is set to 1. When the threshold voltage of the read and read flash memory cell is greater than the reference voltage A, the data programmed into the flash memory cell is read as zero.

하지만, 데이터가 프로그램된 플래시 메모리 셀의 문턱 전압은 차지 로스(charge loss) 및 플로팅 폴리 커플링(floating poly coupling) 등과 같은 여러 요인에 의해 다른 레벨의 문턱 전압으로 변하게 되는데, 플래시 메모리 셀의 문턱 전압이 기준 전압 부근까지 변하는 경우 읽혀진 플래시 메모리 셀의 데이터에 대한 신뢰도가 떨어지게 된다.However, the threshold voltage of a flash memory cell in which data is programmed is changed to a threshold voltage of a different level by various factors such as charge loss and floating poly coupling. If the voltage is changed to near this reference voltage, the reliability of the data of the read flash memory cell is lowered.

즉, 기준 전압 부근의 문턱 전압을 갖는 메모리 플래시 셀은 프로그램된 데이터가 1이지만 읽혀진 데이터는 0인 경우가 발생하고, 프로그램된 데이터가 0이지만 읽혀진 데이터는 1인 경우가 발생하여 기준 전압 부근에서 많은 오류가 발생하게 된다.In other words, a memory flash cell having a threshold voltage near a reference voltage may have a programmed data of 1 but a read data of 0, and a programmed data of 0 but a read data of 1 may occur. An error will occur.

본 발명은 상술한 바와 같은 종래기술의 문제점을 해결하기 위해 안출된 것으로서, 플래시 메모리 셀의 데이터를 나타내는 스테이트들 사이의 신뢰성이 떨어지는 전압 영역을 설정하고, 플래시 메모리 셀의 문턱 전압이 신뢰성이 떨어지는 전압 영역에 위치한 경우 판정 불가능 값으로 출력하는 데이터 읽기 방법을 제공하는 것을 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been made to solve the problems of the prior art as described above, and sets an unreliable voltage region between states representing data of a flash memory cell, and the threshold voltage of the flash memory cell is less reliable. An object of the present invention is to provide a data reading method for outputting an undetermined value when located in an area.

또한, 본 발명은 데이터 읽기 방법을 통해 읽혀진 플래시 메모리 셀들의 데이터들을 디코딩하여 판정 불가능 값이 포함된 메모리 셀들의 데이터들을 결정함으로써, 읽혀진 메모리 셀들의 데이터에 대한 신뢰성을 높이는 것을 목적으로 한다.In addition, an object of the present invention is to increase the reliability of the data of the read memory cells by decoding the data of the flash memory cells read through the data reading method and determining the data of the memory cells including the undeterminable value.

또한, 본 발명은 플래시 메모리 셀의 문턱 전압이 변하여 판정 불가능 값이 출력되더라도 디코딩 과정을 통해 신뢰성이 높은 데이터로 결정하는 것을 목적으로 한다.In addition, an object of the present invention is to determine the high reliability data through the decoding process even if the threshold voltage of the flash memory cell is changed to output an undeterminable value.

상기의 목적을 달성하고 종래기술의 문제점을 해결하기 위하여, 본 발명의 일 실시예에 따른 데이터 읽기 방법은 메모리 셀의 문턱 전압과 제1 경계 전압을 비교하는 단계, 상기 문턱 전압과 상기 제1 경계 전압보다 높은 전압 레벨을 가지는 제2 경계 전압을 비교하는 단계 및 상기 문턱 전압과 상기 제1 경계 전압의 비교 결과 및 상기 문턱 전압과 상기 제2 경계 전압의 비교 결과를 기초로 상기 메모리 셀의 데이터를 판정하는 단계를 포함한다.In order to achieve the above object and solve the problems of the prior art, the data reading method according to an embodiment of the present invention comprises the steps of comparing the threshold voltage and the first threshold voltage of the memory cell, the threshold voltage and the first boundary Comparing the second threshold voltage having a voltage level higher than the voltage; and comparing the threshold voltage with the first threshold voltage, and comparing the threshold voltage with the second threshold voltage. Determining.

이때, 상기 메모리 셀의 데이터를 판정하는 단계는 상기 문턱 전압이 상기 제1 경계 전압 및 상기 제2 경계 전압 사이의 전압이면 상기 메모리 셀의 데이터를 기 설정된 판정 불가능 값으로 판정할 수 있다.In this case, the determining of the data of the memory cell may determine the data of the memory cell as a predetermined non-determinable value if the threshold voltage is a voltage between the first and second threshold voltages.

이때, 상기 메모리 셀은 MLC(multi level cell) 방식의 메모리 셀이거나 SLC(single level cell) 방식의 메모리 셀일 수 있다.In this case, the memory cell may be a multi-level cell (MLC) type memory cell or a single level cell (SLC) type memory cell.

이때, 상기 제1 경계 전압 및 상기 제2 경계 전압은 상기 메모리 셀에 프로그램된 데이터를 구분하는 경계 영역들 사이의 기 결정된 두 전압들일 수 있다.In this case, the first boundary voltage and the second boundary voltage may be two predetermined voltages between boundary regions separating data programmed in the memory cell.

이때, 상기 데이터 읽기 방법은 판정된 복수 개의 메모리 셀들의 데이터들을 디코딩하는 단계 및 상기 디코딩을 통해 상기 메모리 셀들에 프로그램된 데이터들을 결정하는 단계를 더 포함할 수 있다.In this case, the data reading method may further include decoding data of the determined plurality of memory cells and determining data programmed in the memory cells through the decoding.

이때, 상기 디코딩하는 단계는 상기 메모리 셀들의 데이터들을 이용하여 거리 디코딩을 수행할 수 있다.In this case, the decoding may be a distance decoding using the data of the memory cells.

이때, 상기 디코딩하는 단계는 상기 메모리 셀들의 데이터들을 이용하여 신드롬을 계산하고, 상기 계산된 신드롬을 이용하여 디코딩을 수행할 수 있다.In this case, the decoding may include calculating a syndrome using data of the memory cells and decoding using the calculated syndrome.

본 발명의 일 실시예에 따른 데이터 읽기 장치는 메모리 셀, 상기 메모리 셀의 문턱 전압과 제1 경계 전압 및 상기 제1 경계 전압보다 높은 전압 레벨을 가지는 제2 경계 전압을 비교하고, 비교 결과에 따른 결과 값을 생성하는 전압 비교부 및 상기 전압 비교부로부터 입력된 상기 결과 값을 기초로 상기 메모리 셀의 데이터를 판정하는 데이터 읽기부를 포함한다.According to an embodiment of the present invention, a data reading apparatus compares a memory cell, a threshold voltage of the memory cell with a first threshold voltage, and a second threshold voltage having a voltage level higher than the first threshold voltage, A voltage comparator for generating a result value and a data read part for determining data of the memory cell based on the result value input from the voltage comparator.

이때, 상기 데이터 읽기 장치는 상기 데이터 읽기부에 의해 판정된 복수 개 의 메모리 셀들의 데이터들을 입력받아 디코딩하는 디코딩부 및 상기 디코딩부에 의해 디코딩된 상기 메모리 셀들의 데이터들을 입력받고, 상기 디코딩된 메모리 셀들의 데이터들을 통해 상기 메모리 셀들에 프로그램된 데이터들을 결정하는 데이터 결정부를 더 포함할 수 있다.In this case, the data reading device receives a decoding unit for receiving and decoding data of a plurality of memory cells determined by the data reading unit, and receives data of the memory cells decoded by the decoding unit, and receives the decoded memory. The apparatus may further include a data determiner configured to determine data programmed into the memory cells through data of cells.

본 발명의 일 실시예에 따른 데이터 읽기 장치 및 그 방법은, 플래시 메모리 셀의 데이터를 나타내는 스테이트들 사이의 신뢰성이 떨어지는 전압 영역을 설정하고, 플래시 메모리 셀의 문턱 전압이 신뢰성이 떨어지는 전압 영역에 위치한 경우 판정 불가능 값으로 출력하는 데이터 읽기 방법을 제공할 수 있다.According to an embodiment of the present invention, a data reading device and method thereof may be configured to set an unreliable voltage region between states representing data of a flash memory cell, and to set a threshold voltage of a flash memory cell in an unreliable voltage region. In this case, a data reading method for outputting an undetermined value can be provided.

또한, 본 발명은 데이터 읽기 방법을 통해 읽혀진 플래시 메모리 셀들의 데이터들을 디코딩하여 판정 불가능 값이 포함된 메모리 셀들의 데이터들을 결정함으로써, 읽혀진 메모리 셀들의 데이터에 대한 신뢰성을 높일 수 있다.In addition, the present invention can increase the reliability of the data of the read memory cells by decoding the data of the flash memory cells read through the data reading method and determining the data of the memory cells including the undeterminable value.

또한, 본 발명은 플래시 메모리 셀의 문턱 전압이 변하여 판정 불가능 값이 출력되더라도 디코딩 과정을 통해 신뢰성이 높은 데이터로 결정할 수 있다.In addition, according to the present invention, even when the threshold voltage of the flash memory cell is changed and an undeterminable value is output, the data may be determined to have high reliability through the decoding process.

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 데이터 읽기 장치에 대한 구성 블록도이다.1 is a block diagram illustrating a data reading apparatus according to an embodiment of the present invention.

도 1을 참조하면 데이터 읽기 장치는 전압 비교부(120) 및 데이터 읽기 부(130)를 포함한다.Referring to FIG. 1, a data reading apparatus includes a voltage comparator 120 and a data reading unit 130.

전압 비교부(120)는 메모리 셀(110)의 문턱 전압과 제1 경계 전압 및 제1 경계 전압보다 높은 전압 레벨을 가지는 제2 경계 전압을 비교하여 결과 값을 생성한다.The voltage comparator 120 compares the threshold voltage of the memory cell 110 with a second threshold voltage having a voltage level higher than the first threshold voltage and the first threshold voltage to generate a result value.

이때, 제1 경계 전압 및 제2 경계 전압은 메모리 셀에 프로그램된 데이터(0 또는 1)를 나타내는 스테이트들 사이의 프로그램된 데이터를 구분하는 경계 영역에 포함된 기 결정된 두 전압들일 수 있다. 여기서, 프로그램된 데이터를 구분하는 경계 영역은 데이터를 읽을 때 읽은 데이터를 신뢰할 수 없는 영역으로, 프로그램된 데이터를 구분하는 경계 영역은 적어도 하나 이상이 된다. 즉, 메모리 셀이 SLC(single level cell) 방식으로 동작하는 경우에는 프로그램된 데이터를 구분하는 경계 영역은 하나가 되고, 메모리 셀이 MLC(multi level cell) 방식으로 동작하는 경우에는 프로그램된 데이터를 구분하는 경계 영역은 둘 이상이 된다.In this case, the first boundary voltage and the second boundary voltage may be two predetermined voltages included in a boundary region that divides the programmed data between states representing data (0 or 1) programmed in the memory cell. Here, the boundary area for dividing the programmed data is an untrusted area for reading the data, and the boundary area for dividing the programmed data is at least one. In other words, when the memory cell operates in a single level cell (SLC) scheme, there is one boundary area that separates the programmed data, and when the memory cell operates in a multi level cell (MLC) scheme, the programmed data is divided. There is more than one boundary area.

여기서, 제1 경계 전압 및 제2 경계 전압은 메모리 셀로부터 데이터를 읽을 때 읽은 데이터를 신뢰할 수 없는 경계 영역의 최소 전압 및 최대 전압이 된다.Here, the first boundary voltage and the second boundary voltage become minimum and maximum voltages of the boundary region in which the read data is unreliable when reading data from the memory cell.

이때, 경계 영역은 상황에 따라 달라질 수 있지만, 차지 로스 및 플로팅 폴리 커플링 등에 의한 영향을 고려하여 설정될 수 있다.In this case, the boundary region may vary depending on the situation, but may be set in consideration of the influence due to the charge loss and the floating poly coupling.

이때, 메모리 셀(110)은 플래시 메모리 셀일 수 있고, NAND 플래시 메모리 셀 또는 NOR 플래시 메모리 셀일 수 있다.In this case, the memory cell 110 may be a flash memory cell and may be a NAND flash memory cell or a NOR flash memory cell.

이때, 메모리 셀(110)은 MLC(multi level cell) 방식의 메모리 셀이거나 SLC(single level cell) 방식의 메모리 셀일 수 있다.In this case, the memory cell 110 may be a multi-level cell (MLC) type memory cell or a single level cell (SLC) type memory cell.

데이터 읽기부(130)는 전압 비교부(120)로부터 생성된 결과 값을 입력받고, 그 입력된 결과 값을 기초로 메모리 셀의 데이터를 판정한다. 즉, 데이터 읽기부(130)는 결과 값을 기초로 메모리 셀의 데이터를 읽는다.The data reading unit 130 receives a result value generated from the voltage comparator 120 and determines data of the memory cell based on the input result value. That is, the data reading unit 130 reads data of the memory cell based on the result value.

이때, 데이터 읽기부(130)는 메모리 셀(110)의 문턱 전압이 제1 경계 전압 및 제2 경계 전압 사이의 전압이면 메모리 셀의 데이터를 판정 불가능 값으로 판정할 수 있다. 즉, 데이터 읽기부(130)는 전압 비교부(120)로부터 입력된 결과 값이 메모리 셀의 문턱 전압이 제1 경계 전압 및 제2 경계 전압 사이의 전압을 나타내는 결과 값이면 메모리 셀의 데이터를 0으로 확신하거나 1로 확신할 수 없기 때문에 0 또는 1이 아닌 특정 값으로 판정한다.In this case, if the threshold voltage of the memory cell 110 is a voltage between the first and second threshold voltages, the data read unit 130 may determine the data of the memory cell as an undeterminable value. That is, if the result value input from the voltage comparator 120 is a result value indicating that the threshold voltage of the memory cell is the voltage between the first and second threshold voltages, the data of the memory cell is 0. Because we can't be convinced or we can be convinced of 1, we decide with a certain value that is not 0 or 1.

여기서, 데이터 읽기부(130)에 의해 읽혀진 메모리 셀의 데이터가 판정 불가능 값으로 읽혀진 경우 판정 불가능 값은 본 발명에 따른 디코딩 과정을 통해 정확한 데이터로 결정된다.Here, when the data of the memory cell read by the data reading unit 130 is read as an undeterminable value, the undeterminable value is determined to be correct data through a decoding process according to the present invention.

도 2는 본 발명에 따른 데이터 읽기 장치를 설명하기 위한 일 예시도이다. 2 is an exemplary view for explaining a data reading apparatus according to the present invention.

여기서, 도2는 4 레벨로 동작하는 메모리 셀의 MSB(most significant bit) 데이터와 LSB(least significant bit) 데이터 중 LSB 데이터를 나타낸 것이다.2 shows LSB data of most significant bit (MSB) data and least significant bit (LSB) data of a memory cell operating at four levels.

도 2를 참조하면, 메모리 셀의 LSB 데이터 0과 1을 구분하는 경계 영역 사이의 두 경계 전압들을 이용하여 메모리 셀의 LSB 데이터를 읽는다.Referring to FIG. 2, the LSB data of the memory cell is read using two boundary voltages between the boundary regions separating the LSB data 0 and 1 of the memory cell.

즉, 메모리 셀의 데이터 11과 10 사이인 메모리 셀의 LSB 데이터 1과 0 사이의 제1 경계 전압(VSEN_1A) 및 제2 경계 전압(VSEN_1B) 그리고 메모리 셀의 데이터 00과 01 사이인 메모리 셀의 LSB 데이터 0과 1 사이의 제1 경계 전압(VSEN_3A) 및 제2 경계 전압(VSEN_3B)을 이용하여 메모리 셀의 LSB 데이터를 읽는다.That is, the first boundary voltage VSEN_1A and the second boundary voltage VSEN_1B between data 1 and 0 of the memory cell between data 11 and 10 of the memory cell, and the LSB of the memory cell between data 00 and 01 of the memory cell. The LSB data of the memory cell is read using the first threshold voltage VSEN_3A and the second threshold voltage VSEN_3B between data 0 and 1.

예를 들어, LSB 데이터를 읽기 위한 메모리 셀의 문턱 전압이 VSEN_1A보다 작거나 VSEN_3B보다 큰 경우에는 LBS 데이터를 1로 읽고, 메모리 셀의 문턱 전압이 VSEN_1B와 VSEN_3A사이의 전압인 경우에는 LSB 데이터를 0으로 읽는다.For example, when the threshold voltage of a memory cell for reading LSB data is less than VSEN_1A or greater than VSEN_3B, the LBS data is read as 1, and when the threshold voltage of the memory cell is a voltage between VSEN_1B and VSEN_3A, the LSB data is 0. Read with

반면, 메모리 셀의 문턱 전압이 VSEN_1A와 VSEN_1B사이의 전압이거나 VSEN_3A와 VSEN_3B사이의 전압인 경우에는 LSB 데이터를 0 또는 1이 아닌 특정 값으로 읽는다.On the other hand, when the threshold voltage of the memory cell is a voltage between VSEN_1A and VSEN_1B or a voltage between VSEN_3A and VSEN_3B, the LSB data is read as a specific value other than 0 or 1.

즉, 본 발명은 메모리 셀이 차지 로스 또는 플로팅 폴리 커플링 등에 의해 메모리 셀에 프로그램된 문턱 전압이 변하게 되어 메모리 셀의 데이터를 0 또는 1로 정확하게 읽을 수 없는 경우 판정 불가능한 값으로 읽고, 판정 불가능한 값을 디코딩 과정을 이용하여 0 또는 1로 결정한다.That is, according to the present invention, when the threshold voltage programmed in the memory cell is changed due to charge loss or floating polycoupling, and the data of the memory cell cannot be read accurately as 0 or 1, the present invention reads as an undeterminable value and cannot determine the value. Is determined to be 0 or 1 using the decoding process.

도 3은 본 발명의 다른 일 실시예에 따른 데이터 읽기 장치에 대한 구성 블록도이다.3 is a block diagram illustrating a data reading apparatus according to another embodiment of the present invention.

도 3을 참조하면, 데이터 읽기 장치는 전압 비교부(320), 데이터 읽기부(330), 디코딩부(340) 및 데이터 결정부(350)를 포함한다.Referring to FIG. 3, the data reader includes a voltage comparator 320, a data reader 330, a decoder 340, and a data determiner 350.

전압 비교부(320)는 메모리(310)를 구성하는 메모리 셀들 각각의 문턱 전압들과 제1 경계 전압 및 제1 경계 전압보다 높은 전압 레벨을 가지는 제2 경계 전압을 비교하여 결과 값을 생성한다.The voltage comparator 320 compares the threshold voltages of each of the memory cells constituting the memory 310 with a first threshold voltage and a second threshold voltage having a voltage level higher than the first threshold voltage to generate a result value.

이때, 제1 경계 전압 및 제2 경계 전압은 메모리 셀들 각각에 프로그램된 데이터들 각각을 구분하는 경계 영역 사이의 기 결정된 두 전압들일 수 있다.In this case, the first boundary voltage and the second boundary voltage may be two predetermined voltages between boundary regions that divide each of the data programmed in each of the memory cells.

여기서, 제1 경계 전압 및 제2 경계 전압은 메모리 셀로부터 데이터를 읽을 때 읽은 데이터를 신뢰할 수 없는 경계 영역의 최소 전압 및 최대 전압이 된다.Here, the first boundary voltage and the second boundary voltage become minimum and maximum voltages of the boundary region in which the read data is unreliable when reading data from the memory cell.

이때, 메모리 셀들은 플래시 메모리 셀들일 수 있고, NAND 플래시 메모리 셀들 또는 NOR 플래시 메모리 셀들일 수 있다.In this case, the memory cells may be flash memory cells, and may be NAND flash memory cells or NOR flash memory cells.

이때, 메모리 셀들은 MLC(multi level cell) 방식의 메모리 셀들이거나 SLC(single level cell) 방식의 메모리 셀들일 수 있다.In this case, the memory cells may be multi-level cell (MLC) type memory cells or single cell (SLC) type memory cells.

데이터 읽기부(330)는 전압 비교부(320)로부터 생성된 결과 값을 입력받고, 그 입력된 결과 값을 기초로 메모리 셀들의 데이터들을 판정한다.The data reader 330 receives a result value generated from the voltage comparator 320 and determines data of the memory cells based on the input result value.

이때, 데이터 읽기부(330)는 결과 값이 메모리 셀의 문턱 전압이 제1 경계 전압 및 제2 경계 전압 사이의 전압에 상응하는 결과 값이면 메모리 셀의 데이터를 판정 불가능 값으로 판정할 수 있다. 즉, 데이터 읽기부(330)는 신뢰할 수 없는 메모리 셀의 데이터에 대해서는 0 또는 1이 아닌 특정 값으로 판정한다.In this case, the data read unit 330 may determine the data of the memory cell as an undeterminable value if the result value corresponds to a result value corresponding to a voltage between the first and second threshold voltages of the memory cell. That is, the data reading unit 330 determines that the data of the unreliable memory cell is a specific value other than 0 or 1.

디코딩부(340)는 데이터 읽기부(330)에 의해 판정된 메모리 셀들의 데이터들을 디코딩한다.The decoding unit 340 decodes data of memory cells determined by the data reading unit 330.

이때, 디코딩부(340)는 데이터 읽기부(330)에 의해 판정된 메모리 셀들의 데이터들 중 판정 불가능 값의 데이터를 제외한 데이터들을 이용하여 거리 디코딩을 수행할 수 있다.In this case, the decoding unit 340 may perform distance decoding using data other than data of an undeterminable value among data of memory cells determined by the data reading unit 330.

이때, 디코딩부(340)는 데이터 읽기부(330)에 의해 판정된 메모리 셀들의 데이터들 중 판정 불가능 값의 데이터에 대한 각 경우를 고려한 신드롬 계산을 이용하여 디코딩을 수행할 수 있다.In this case, the decoding unit 340 may decode by using syndrome calculation considering each case of data of the undeterminable value among the data of the memory cells determined by the data reading unit 330.

데이터 결정부(350)는 디코딩부(340)에 의한 디코딩 결과를 이용하여 메모리 셀들에 프로그램된 데이터를 결정한다.The data determiner 350 determines the data programmed in the memory cells by using the decoding result of the decoder 340.

이때, 데이터 결정부(350)는 디코딩부(340)가 거리 디코딩을 통해 디코딩을 수행하는 경우 거리 디코딩에 의해 계산된 거리를 기초로 메모리 셀들에 프로그램된 데이터를 결정할 수 있다.In this case, the data determiner 350 may determine the data programmed in the memory cells based on the distance calculated by the distance decoding when the decoding unit 340 performs the decoding through the distance decoding.

거리 디코딩을 이용한 데이터 결정 과정에 대한 일 예를 도 4를 참조하여 설명하면 다음과 같다.An example of a data determination process using distance decoding will be described with reference to FIG. 4.

도 4는 메모리 셀들에 프로그램되는 코드 워드로서 해밍 코드가 사용되고 메모리 셀들로부터 읽혀진 코드 워드가 "1010XX1"인 경우 가능한 프로그램 코드 워드와 읽혀진 코드 워드의 거리를 나타낸 것이다.4 shows the distance between a possible program code word and a read code word when a Hamming code is used as the code word programmed into the memory cells and the code word read from the memory cells is "1010XX1".

여기서, X는 판정 불가능 값을 의미한다.Here, X means an undeterminable value.

도 4를 참조하면, 디코딩부(340)는 해밍 코드에 대한 가능한 프로그램 코드 워드들과 읽혀진 코드 워드 "1010XX1"의 거리 계산을 판정 불가능 값에 해당하는 위치의 데이터를 제외하여 수행한다.Referring to FIG. 4, the decoding unit 340 performs distance calculation between the possible program code words for the Hamming code and the read code word "1010XX1", excluding the data at a position corresponding to an undeterminable value.

즉, 읽혀진 코드 워드에서 판정 불가능 값에 해당하는 위치의 데이터를 제외한 나머지 위치의 데이터들만을 이용한 거리 계산을 통해 읽혀진 코드 워드와 가능한 프로그램 코드 워드들 간의 거리를 계산한다. 예를 들어, 두 번째 가능한 프로그램 코드 워드(410) "1010001"과 읽혀진 코드 워드 "1010XX1"의 거리를 계산하면 읽혀진 코드 워드에서 판정 불가능 값을 제외한 나머지 데이터들이 두 번째 가능한 프로그램 코드 워드의 데이터들과 동일하기 때문에 거리는 0이 된다. 또한, 세 번 째 가능한 프로그램 코드 워드 "1110010"과 읽혀진 코드 워드 "1010XX1"의 거리를 계산하면 읽혀진 코드 워드에서 판정 불가능 값을 제외한 나머지 데이터들 중 왼쪽 두 번째 비트와 오른쪽 첫 번째 비트가 세 번째 가능한 프로그램 코드 워드 데이터들과 다르기 때문에 거리는 2가 된다.That is, the distance between the read code word and the possible program code words is calculated through distance calculation using only the data of the remaining positions except the data of the position corresponding to the undeterminable value in the read code word. For example, calculating the distance between the second possible program code word 410 " 1010001 " and the read code word " 1010XX1, " Because they are the same, the distance is zero. In addition, if the distance between the third possible program code word "1110010" and the read code word "1010XX1" is calculated, the left second bit and the right first bit of the remaining data except the undeterminable value in the read code word are the third possible. The distance is two because it is different from the program code word data.

이와 같은 거리 계산 과정을 통해 읽혀진 코드 워드와 가능한 프로그램 코드 워드들 사이의 거리들이 계산되면 데이터 결정부(350)는 계산된 거리들 중 가장 작은 값을 갖는 코드 워드를 검출하고, 그 검출된 코드 워드를 프로그램 코드 워드로 결정한다. 즉, 도 4에서 계산된 거리가 0인 코드 워드 "1010001"을 프로그램 코드 워드로 결정한다. 이 경우 읽혀진 코드 워드의 판정 불가능 값들이 모두 0이 되어 메모리 셀들에 저장된 데이터들을 "1010001"로 결정하게 된다.When distances between the code word read through the distance calculation process and possible program code words are calculated, the data determination unit 350 detects the code word having the smallest value among the calculated distances, and the detected code word. Is determined as the program code word. That is, the code word "1010001" whose distance calculated in FIG. 4 is 0 is determined as the program code word. In this case, all of the undeterminable values of the read code word become 0, and the data stored in the memory cells are determined as "1010001".

이때, 데이터 결정부(350)는 디코딩부(340)가 신드롬 계산을 이용하여 디코딩을 수행하는 경우 계산된 신드롬을 기초로 메모리 셀들에 프로그램된 데이터를 결정할 수 있다.In this case, the data determiner 350 may determine the data programmed in the memory cells based on the calculated syndrome when the decoding unit 340 performs decoding using the syndrome calculation.

신드롬 계산에 의한 디코딩을 통해 데이터 결정 과정에 대한 일 예를 도 5를 참조하여 설명하면 다음과 같다.An example of a data determination process through decoding by syndrome calculation will be described with reference to FIG. 5.

도 5는 메모리 셀들에 프로그램되는 코드 워드로서 해밍 코드가 사용되고 메모리 셀들로부터 읽혀진 코드 워드가 "1010X1X21"인 경우의 신드롬을 나타낸 것이다.FIG. 5 shows a syndrome when a Hamming code is used as the code word programmed into the memory cells and the code word read from the memory cells is "1010X1X21".

여기서, X1 및 X2는 판정 불가능 값들을 의미한다.Here, X1 and X2 mean undeterminable values.

도 5를 참조하면, 디코딩부(340)는 읽혀진 코드 워드 "1010X1X21"에 대한 신 드롬 계산을 수행한다. 여기서, 읽혀진 코드 워드에 대한 신드롬 계산 과정은 이 기술 분야에 종사하는 당업자에게 있어서 자명하기에 설명을 생략한다.Referring to FIG. 5, the decoding unit 340 performs syndrome calculation on the read code word “1010X1X21”. Here, the syndrome calculation process for the read code word is obvious to those skilled in the art and will not be described.

신드롬 계산에 의한 신드롬(s)은 " X1[0 1 1] + X2[1 1 1]"이 된다.The syndrome s by the syndrome calculation becomes "X1 [0 1 1] + X2 [1 1 1]".

디코딩부(340)에 의해 계산된 신드롬(s)은 판정 불가능 값들 X1 및 X2의 가능한 값들 00, 01, 10 및 11 각각에 대한 신드롬들은 000, 111, 011 및 100이 된다.The syndrome s calculated by the decoding unit 340 is the syndromes for the possible values 00, 01, 10 and 11 of the undeterminable values X1 and X2, respectively, 000, 111, 011 and 100.

데이터 결정부(350)는 디코딩부(340)에 의해 계산된 신드롬들을 기초로 에러 패턴들(e)을 확인하고, 읽혀진 코드 워드 및 에러 패턴들을 기초로 메모리 셀들에 프로그램된 코드 워드를 결정한다. 즉, 데이터 결정부(350)는 판정 불가능 값들 각각에 대응하는 읽혀진 코드 워드들 및 에러 패턴들을 기초로 가능한 프로그램 코드 워드들(cp)을 계산하고, 그 계산된 가능한 프로그램 코드 워드들 중 빈도수가 가장 높은 가능한 프로그램 코드 워드인 "1010001"을 프로그램 코드 워드로 결정하여 메모리 셀들에 저장된 데이터들을 "1010001"로 결정한다.The data determiner 350 checks the error patterns e based on the syndromes calculated by the decoder 340, and determines the code word programmed in the memory cells based on the read code word and the error patterns. That is, the data determination unit 350 calculates possible program code words cp based on the read code words and error patterns corresponding to each of the undeterminable values, and the frequency of the calculated possible program code words is the most. A high possible program code word "1010001" is determined as the program code word to determine the data stored in the memory cells as "1010001".

도 6은 본 발명의 일 실시예에 다른 데이터 읽기 방법에 대한 동작 흐름도이다.6 is an operation flowchart for a data reading method according to an embodiment of the present invention.

도 6을 참조하면, 데이터 읽기 방법은 메모리 셀의 문턱 전압과 제1 경계 전압 및 제1 경계 전압보다 높은 전압 레벨을 가지는 제2 경계 전압을 비교한다(S610).Referring to FIG. 6, the data read method compares a threshold voltage of a memory cell with a second boundary voltage having a voltage level higher than the first boundary voltage and the first boundary voltage (S610).

이때, 제1 경계 전압 및 제2 경계 전압은 메모리 셀에 프로그램될 수 있는 데이터인 0 또는 1을 구분하는 경계 영역 사이의 기 결정된 두 전압들일 수 있다.In this case, the first boundary voltage and the second boundary voltage may be two predetermined voltages between boundary regions for dividing 0 or 1 which are data that can be programmed in the memory cell.

여기서, 프로그램된 데이터를 구분하는 경계 영역의 수는 메모리 셀의 동작 방식에 따라 달라질 수 있다. 예컨대, 메모리 셀이 SLC(single level cell) 방식으로 동작하는 경우 프로그램된 데이터를 구분하는 경계 영역은 하나가 되고, 메모리 셀이 MLC(multi level cell) 방식으로 동작하는 경우에는 프로그램된 데이터를 구분하는 경계 영역은 둘 이상이 된다.Here, the number of boundary regions that divide the programmed data may vary according to an operation method of the memory cell. For example, when the memory cell operates in a single level cell (SLC) scheme, there is one boundary area for dividing the programmed data. When the memory cell operates in a multi level cell (MLC) scheme, the boundary region that divides the programmed data is divided. There is more than one boundary area.

여기서, 제1 경계 전압 및 제2 경계 전압은 메모리 셀에 프로그램된 데이터를 0으로 판단하는 영역 및 프로그램된 데이터를 1로 판단하는 영역 사이에서 데이터를 읽을 때 읽은 데이터를 신뢰할 수 없는 경계 영역의 최소 전압 및 최대 전압이 된다.Here, the first boundary voltage and the second boundary voltage are the minimum of the boundary region in which the read data is unreliable when reading data between the region in which the data programmed into the memory cell is determined to be 0 and the region in which the programmed data is determined to be 1. Voltage and maximum voltage.

이때, 경계 영역은 상황에 따라 달라질 수 있지만, 차지 로스 및 플로팅 폴리 커플링 등에 의한 영향을 고려하여 설정될 수 있다.In this case, the boundary region may vary depending on the situation, but may be set in consideration of the influence due to the charge loss and the floating poly coupling.

이때, 메모리 셀은 플래시 메모리 셀일 수 있고, 바람직하게는 NAND 플래시 메모리 셀 또는 NOR 플래시 메모리 셀일 수 있다.In this case, the memory cell may be a flash memory cell, and preferably, may be a NAND flash memory cell or a NOR flash memory cell.

이때, 메모리 셀은 MLC(multi level cell) 방식의 메모리 셀이거나 SLC(single level cell) 방식의 메모리 셀일 수 있다.In this case, the memory cell may be a multi level cell (MLC) type memory cell or a single level cell (SLC) type memory cell.

메모리 셀의 문턱 전압이 제1 경계 전압 및 제2 경계 전압 사이에 위치하는 지 판단하고(S620), 판단 결과 문턱 전압이 제1 경계 전압 및 제2 경계 전압 사이에 위치하면 메모리 셀의 데이터를 판정 불가능 값으로 읽는다(S630).It is determined whether the threshold voltage of the memory cell is located between the first threshold voltage and the second threshold voltage (S620). If the threshold voltage is between the first threshold voltage and the second threshold voltage, the data of the memory cell is determined. Read as an impossible value (S630).

반면, 단계 S620 판단 결과 문턱 전압이 제1 경계 전압 및 제2 경계 전압 사이에 위치하지 않으면 메모리 셀의 데이터를 해당 문턱 전압이 위치한 전압 영역으 로 설정된 데이터로 읽는다(S640). 예컨대, 도 2를 참조하면, 문턱 전압이 VSEN_1A보다 작거나 VSEN_3B보다 큰 경우에는 메모리 셀의 LSB 데이터를 1로 읽는다.On the other hand, if the threshold voltage is not located between the first and second threshold voltages as a result of determining in step S620, the data of the memory cell is read as data set to the voltage region in which the threshold voltage is located (S640). For example, referring to FIG. 2, when the threshold voltage is smaller than VSEN_1A or larger than VSEN_3B, the LSB data of the memory cell is read as one.

도 7은 본 발명의 다른 일 실시예에 따른 데이터 읽기 방법에 대한 동작 흐름도이다.7 is a flowchart illustrating a data reading method according to another embodiment of the present invention.

도 7을 참조하면, 데이터 읽기 방법은 메모리를 구성하는 메모리 셀들 각각의 문턱 전압들과 제1 경계 전압 및 제1 경계 전압보다 높은 전압 레벨을 가지는 제2 경계 전압을 비교한다(S710).Referring to FIG. 7, in the data reading method, threshold voltages of each of the memory cells constituting a memory are compared with a first boundary voltage and a second boundary voltage having a voltage level higher than the first boundary voltage (S710).

이때, 제1 경계 전압 및 제2 경계 전압은 메모리 셀들 각각에 프로그램된 데이터들 각각을 구분하는 경계 영역 사이의 기 결정된 두 전압들일 수 있다.In this case, the first boundary voltage and the second boundary voltage may be two predetermined voltages between boundary regions that divide each of the data programmed in each of the memory cells.

여기서, 제1 경계 전압 및 제2 경계 전압은 메모리 셀에 프로그램된 데이터를 0으로 판단하는 영역 및 프로그램된 데이터를 1로 판단하는 영역 사이에서 데이터를 읽을 때 읽은 데이터를 신뢰할 수 없는 경계 영역의 최소 전압 및 최대 전압이 된다.Here, the first boundary voltage and the second boundary voltage are the minimum of the boundary region in which the read data is unreliable when reading data between the region in which the data programmed into the memory cell is determined to be 0 and the region in which the programmed data is determined to be 1. Voltage and maximum voltage.

이때, 메모리 셀들은 플래시 메모리 셀들일 수 있고, 바람직하게는 NAND 플래시 메모리 셀들 또는 NOR 플래시 메모리 셀들일 수 있다.In this case, the memory cells may be flash memory cells, and may preferably be NAND flash memory cells or NOR flash memory cells.

이때, 메모리 셀들은 MLC 방식의 메모리 셀들이거나 SLC 방식의 메모리 셀들일 수 있다.In this case, the memory cells may be MLC type memory cells or SLC type memory cells.

메모리 셀들의 문턱 전압들이 제1 경계 전압 및 제2 경계 전압 사이에 위치하는 지 판단하고(S720), 메모리 셀들 각각에 대한 판단 결과 메모리 셀의 문턱 전 압이 제1 경계 전압 및 제2 경계 전압 사이에 위치하면 해당 메모리 셀의 데이터를 판정 불가능 값으로 읽는다(S730).It is determined whether the threshold voltages of the memory cells are located between the first boundary voltage and the second boundary voltage (S720), and as a result of the determination of each of the memory cells, the threshold voltage of the memory cells is between the first boundary voltage and the second boundary voltage. If it is located at, the data of the corresponding memory cell is read as an undeterminable value (S730).

반면, 메모리 셀들 각각에 대한 단계 S720 판단 결과 메모리 셀의 문턱 전압이 제1 경계 전압 및 제2 경계 전압 사이에 위치하지 않으면 해당 메모리 셀의 데이터를 해당 메모리 셀의 문턱 전압이 위치한 전압 영역으로 설정된 데이터로 읽는다(S740). On the other hand, if the threshold voltage of the memory cell is not located between the first and second threshold voltages as a result of the determination of step S720 for each of the memory cells, the data of the memory cell is set to a voltage region in which the threshold voltage of the memory cell is located. Read in (S740).

읽혀진 메모리 셀들의 데이터들을 디코딩하고, 디코딩 과정을 통해 판정 불가능 값이 포함된 메모리 셀들의 데이터들을 결정한다(S750).The data of the read memory cells are decoded and the data of the memory cells including the undeterminable value are determined through the decoding process (S750).

이때, 읽혀진 메모리 셀들의 데이터들은 읽혀진 메모리 셀들의 데이터들 중 판정 불가능 값의 데이터를 제외한 데이터들을 이용하여 거리 디코딩을 수행할 수 있다.At this time, the data of the read memory cells may perform distance decoding using data other than data of an undeterminable value among the read data of the memory cells.

이때, 읽혀진 메모리 셀들의 데이터들은 읽혀진 메모리 셀들의 데이터들 중 판정 불가능 값의 데이터에 대한 각 경우를 고려한 신드롬 계산을 이용하여 디코딩을 수행할 수 있다.In this case, the data of the read memory cells may be decoded by using a syndrome calculation considering each case of undeterminable data among the read data of the memory cells.

도 8은 도 7에 도시한 단계 S750에 대한 일 실시예 동작 흐름도이다.FIG. 8 is a flowchart illustrating an embodiment of operation S750 shown in FIG. 7.

도 8을 참조하면, 메모리 셀들의 데이터들을 결정하는 단계는 메모리 셀들의 데이터들이 읽혀진 코드 워드와 기 결정된 가능한 프로그램 코드 워드들의 거리들을 계산한다(S810).Referring to FIG. 8, in the determining of the data of the memory cells, the distances of the code word from which the data of the memory cells are read and the predetermined possible program code words are calculated (S810).

이때, 가능한 프로그램 코드 워드들은 메모리 셀들에 데이터들을 프로그램할 때 사용하는 코드에 따라 달라질 수 있다.In this case, the possible program code words may vary depending on the code used to program the data in the memory cells.

여기서, 거리들을 계산하는 단계(S810)는 읽혀진 코드 워드에 포함된 판정 불가능 값을 제외한 데이터들을 이용하여 수행된다. 즉, 읽혀진 코드 워드가 7 bits이고 판정 불가능 값이 2 bits인 경우 5 bits의 데이터들을 이용하여 가능한 프로그램 코드 워드들과의 거리를 계산한다.Here, the calculating of the distances (S810) is performed using data except for the undeterminable value included in the read code word. That is, when the read code word is 7 bits and the undeterminable value is 2 bits, the distance from the possible program code words is calculated using 5 bits of data.

계산된 거리들 중 가장 작은 값을 갖는 거리의 가능한 프로그램 코드 워드를 검출한다(S820). 즉, 가능한 프로그램 코드 워드들 중 가능성이 가장 높은 코드 워드를 검출한다.A possible program code word having the smallest value among the calculated distances is detected (S820). That is, the most probable code word among the possible program code words is detected.

검출된 가능한 프로그램 코드 워드를 메모리 셀들에 저장된 프로그램 코드 워드로 결정하여 메모리 셀들의 데이터들을 결정한다(S830).The detected possible program code word is determined as the program code word stored in the memory cells to determine the data of the memory cells (S830).

도 9는 도 7에 도시한 단계 S750에 대한 다른 일 실시예 동작 흐름도이다.9 is a flowchart illustrating another operation of step S750 illustrated in FIG. 7.

도 9를 참조하면, 메모리 셀들의 데이터들을 결정하는 단계는 메모리 셀들의 데이터들인 읽혀진 코드 워드에 대한 신드롬을 계산한다(S910).Referring to FIG. 9, the determining of the data of the memory cells calculates a syndrome for the read code word that is the data of the memory cells (S910).

계산된 신드롬에 포함된 판정 불가능 값 각각의 경우에 대한 신드롬들을 검출한다(S920). 예컨대, 수신 코드 워드에 두 개의 판정 불가능 값들이 포함된 경우 4 개의 신드롬들을 검출한다.The syndromes for each case of the undeterminable value included in the calculated syndrome are detected (S920). For example, four syndromes are detected when two undeterminable values are included in a received code word.

검출한 신드롬들을 기초로 신드롬들 각각에 상응하는 에러 패턴들을 확인한다(S930).Based on the detected syndromes, error patterns corresponding to each of the syndromes are checked (S930).

에러 패턴들 및 읽혀진 코드 워드를 기초로 가능한 프로그램 코드 워드들을 계산한다(S940). 예컨대, 해밍 코드를 이용하여 메모리 셀들에 데이터들을 프로그램한 경우 판정 불가능 값들 각각에 0 또는 1을 적용한 읽혀진 코드 워드와 해당 에러 패턴의 덧셈 연산을 통해 가능한 프로그램 코드 워드를 계산한다.Possible program code words are calculated based on the error patterns and the read code word (S940). For example, when data are programmed into memory cells using a Hamming code, a program code word is calculated by adding a read code word to which 0 or 1 is applied to each of the undetermined values and an error operation of the corresponding error pattern.

계산된 가능한 코드 워드들 중 빈도수가 가장 높은 가능한 프로그램 코드 워드를 메모리 셀들에 저장된 프로그램 코드 워드로 결정하여 메모리 셀들의 데이터들을 결정한다(S950).The program code word having the highest frequency among the calculated possible code words is determined as the program code word stored in the memory cells to determine the data of the memory cells (S950).

도 10은 도 2와 비교할 때, 본 발명의 또 다른 일실시예에 따라 연성 결정값(soft decision value)을 추가적으로 정의하는 일도면이다. 이하, 도 10을 참조(도 1 및 도 2 보조 참조)하여, 본 발명에 따른 데이터 읽기 장치의 또 다른 일실시예를 설명하면 다음과 같다.FIG. 10 is a diagram further defining a soft decision value according to another embodiment of the present invention when compared with FIG. 2. Hereinafter, another embodiment of a data reading apparatus according to the present invention will be described with reference to FIG. 10 (see FIGS. 1 and 2).

도 1 및 도 2에 대한 설명에서, 본 발명의 일실시예로서, 데이터 읽기부(130)는 전압 비교부(120)로부터 생성된 결과값을 입력 받고, 그 입력된 결과값을 기초로 메모리 셀의 데이터를 판정하고, 이 때 메모리 셀(110)의 문턱 전압이 제1 경계 전압 및 제2 경계 전압 사이의 전압이면 메모리 셀의 데이터를 판정 불가능 값으로 판정할 수 있다고 설명하였다.1 and 2, as an embodiment of the present invention, the data reader 130 receives a result value generated from the voltage comparator 120, and based on the input result value, the memory cell. The data of the memory cell can be determined as an undeterminable value if the threshold voltage of the memory cell 110 is a voltage between the first and second threshold voltages.

다만, 본 발명의 다른 일실시예로서, 신뢰도에 따라 연성 결정값(soft decision value)을 생성하고, 필요에 따라 신뢰할 수 없는 구간에 대한 추가적인 리딩 오퍼레이션(reading operation)을 수행하여, 보다 정확한 연성 결정값을 생성하도록 하는 것이 가능하다. 따라서, 데이터의 디코딩 이전 단계에서도, 신뢰할 수 없는 구간에서 읽힌 데이터의 정확도를 높이는 프로세스를 수행함으로써, 최종적으로 메모리 셀의 데이터가 보다 정확하게 결정될 수 있는 장점이 있다.However, as another embodiment of the present invention, a soft decision value is generated according to reliability, and an additional reading operation is performed for an unreliable section as needed, thereby making more accurate soft decision. It is possible to generate a value. Therefore, even before the decoding of the data, by performing the process of increasing the accuracy of the data read in the unreliable interval, there is an advantage that the data of the memory cell can be finally determined more accurately.

예를 들어, 메모리 셀의 문턱 전압이 (제1 경계 전압)와 (제2 경계 전압) 사이의 전압일 수 있으므로, 보다 정확한 문턱 전압의 위치를 파악하기 위하여, 도 10에 도시된 바와 같이 리딩 오퍼레이션을 추가적으로 실시하여 상기 문턱 전압이 제1 경계 전압에 근사한 경우, 상기 문턱 전압이 제2 경계 전압 보다 제1 경계 전압에 더 근사하다는 정보가 포함되도록, 상기 데이터 읽기부(130)는 상기 메모리 셀의 데이터를 특정 연성 결정값으로 판정한다.For example, since the threshold voltage of the memory cell may be a voltage between the (first boundary voltage) and the (second boundary voltage), in order to determine a more accurate position of the threshold voltage, as shown in FIG. In addition, when the threshold voltage is close to the first threshold voltage, the data read unit 130 may include information indicating that the threshold voltage is closer to the first threshold voltage than the second threshold voltage. Determine the data as a specific soft decision value.

반면, 상기 리딩 오퍼레이션을 추가적으로 실시하여 상기 문턱 전압이 제2 경계 전압에 근사한 경우, 상기 문턱 전압이 제1 경계 전압 보다 제2 경계 전압에 더 근사하다는 정보가 포함되도록, 상기 데이터 읽기부(130)는 상기 메모리 셀의 데이터를 특정 연성 결정값으로 판정한다.On the other hand, if the threshold voltage is approximated to the second threshold voltage by additionally performing the reading operation, the data reading unit 130 includes information indicating that the threshold voltage is closer to the second threshold voltage than the first threshold voltage. Determines the data of the memory cell as a specific soft decision value.

보다 구체적으로 예를 들어, 도 10에 도시된 바와 같이, 임의의 메모리 셀의 LSB 데이터가 1일 때의 연성 결정값이 11로 설계되었고 LSB 데이터가 0 일 때의 연성 결정값이 ‘00’으로 설계된 경우, 상기 메모리 셀의 문턱 전압이 제2 경계 전압 보다 제1 경계 전압에 더 근사한 경우, 상기 데이터 읽기부(130)는 상기 메모리 셀의 데이터에 대한 연성 결정값으로 ‘10’을 읽는다. 반면, 상기 메모리 셀의 문턱 전압이 제1 경계 전압 보다 제2 경계 전압에 더 근사한 경우, 상기 데이터 읽기부(130)는 상기 메모리 셀의 데이터에 대한 연성 결정값으로 ‘01’을 읽는다.More specifically, for example, as shown in FIG. 10, the soft decision value when the LSB data of any memory cell is 1 is designed to 11 and the soft decision value when the LSB data is 0 is set to '00'. In the design, when the threshold voltage of the memory cell is closer to the first boundary voltage than the second boundary voltage, the data reading unit 130 reads '10' as a soft decision value for the data of the memory cell. On the other hand, when the threshold voltage of the memory cell is closer to the second boundary voltage than the first boundary voltage, the data reading unit 130 reads '01' as a soft decision value for the data of the memory cell.

따라서, 문턱 전압이 제1 경계 전압과 제2 경계 전압사이에 존재하는 경우, 즉 신뢰할 수 없는 구간에 존재하는 경우에도, 상기 문턱 전압이 어느 경계 전압에 근사한지에 대한 정보를 읽어서, 디코딩함으로써, 데이터의 정확도를 보다 제고할 수 있는 본 발명의 특유의 장점이 있다.Therefore, even when the threshold voltage is present between the first and second threshold voltages, i.e., when the threshold voltage is present in an unreliable section, the information on which threshold voltage is close to the threshold voltage is read and decoded, thereby providing data. There is a unique advantage of the present invention that can further improve the accuracy of.

한편, 다른 제1 경계 전압(VSEN _3A)과 제2 경계 전압(VSEN _3B)에 대해서도 상술한 동일한 설명이 적용되고, 이에 대한 설명을 생략하여도 당업자라면 전술한 설명을 통해 본 발명을 충분히 이해할 수 있는 바, 중복되는 설명은 생략하도록 하겠다.Meanwhile, the same descriptions described above also apply to the other first threshold voltage V SEN _3A and the second threshold voltage V SEN _3B , and even if the description is omitted, those skilled in the art will fully understand the present invention through the above description. As can be appreciated, duplicate descriptions will be omitted.

도 11은 도 2와 비교할 때, 본 발명의 또 다른 일실시예에 따라 연성 결정값(soft decision value)을 추가적으로 정의하는 다른 일도면이다. 이하, 도 11을 참조(도 1, 도 2 및 도 10 보조 참조)하여, 본 발명에 따른 데이터 읽기 장치의 또 다른 일실시예를 설명하면 다음과 같다. 참고적으로, 도 11과 도 10을 비교할 때, 도 10은 연성 결정값을 2비트로 정의한 것이고, 도 11은 연성 결정값을 3비트로 정의한 것인 바, 상세한 설명은 생략하여도 전술한 도 10에 대한 설명을 통해 당업자라면 본 발명을 용이하게 이해할 수가 있다.FIG. 11 is another diagram further defining a soft decision value according to another embodiment of the present invention when compared with FIG. 2. Hereinafter, another embodiment of a data reading apparatus according to the present invention will be described with reference to FIG. 11 (see FIGS. 1, 2, and 10). For reference, when comparing FIG. 11 and FIG. 10, FIG. 10 defines a soft determination value as 2 bits, and FIG. 11 defines a soft determination value as 3 bits, and detailed description thereof will be omitted. Those skilled in the art can easily understand the present invention through the description.

보다 구체적으로 예를 들어, 도 11에 도시된 바와 같이, 임의의 메모리 셀의 LSB 데이터가 1일 때의 연성 결정값이 ‘111’로 설계되었고 LSB 데이터가 0일 때의 연성 결정값이 ‘000’으로 설계된 경우, 상기 메모리 셀의 문턱 전압이 제2 경계 전압 보다 제1 경계 전압에 더 근사한 특정 범위에 속하는 경우, 상기 데이터 읽기부(130)는 상기 메모리 셀의 데이터에 대한 연성 결정값으로 ‘110’을 읽는다. 반면, 상기 메모리 셀의 문턱 전압이 제1 경계 전압 보다 제2 경계 전압에 더 근사한 특정 범위에 속하는 경우, 상기 데이터 읽기부(130)는 상기 메모리 셀의 데이터에 대한 연성 결정값으로 ‘100’을 읽는다. 한편, 상기 메모리 셀의 문턱 전 압이 제1 경계 전압과 제2 경계 전압과 동일한 정도의 특정 범위에 속하는 경우에는, 상기 데이터 읽기부(130)는 상기 메모리 셀의 데이터에 대한 연성 결정값으로 ‘101’을 읽는다.More specifically, for example, as shown in FIG. 11, the soft determination value when the LSB data of any memory cell is 1 is designed as '111' and the soft determination value when the LSB data is 0 is '000'. When the threshold voltage of the memory cell belongs to a specific range that is closer to the first threshold voltage than the second threshold voltage, the data reading unit 130 may be configured as a soft decision value for the data of the memory cell. Read 110 ' On the other hand, when the threshold voltage of the memory cell falls within a specific range that is closer to the second boundary voltage than the first boundary voltage, the data read unit 130 sets '100' as a soft decision value for the data of the memory cell. Read. On the other hand, when the threshold voltage of the memory cell is within a specific range of the same degree as the first threshold voltage and the second threshold voltage, the data reading unit 130 is a soft decision value for the data of the memory cell ' Read 101 '.

지금까지, 2비트와 3비트의 연성 결정값을 예시하여 설명하였지만, 본 발명의 권리범위가 이에 한정되는 것은 아니며, 다른 수치의 비트의 연성 결정값을 설계하는 것도 가능하다.The soft decision values of two bits and three bits have been described so far, but the scope of the present invention is not limited thereto, and it is also possible to design soft decision values of bits having other numerical values.

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

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

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

도 1은 본 발명의 일 실시예에 따른 데이터 읽기 장치에 대한 구성 블록도이다.1 is a block diagram illustrating a data reading apparatus according to an embodiment of the present invention.

도 2는 본 발명에 따른 데이터 읽기 장치를 설명하기 위한 일 예시도이다. 2 is an exemplary view for explaining a data reading apparatus according to the present invention.

도 3은 본 발명의 다른 일 실시예에 따른 데이터 읽기 장치에 대한 구성 블록도이다.3 is a block diagram illustrating a data reading apparatus according to another embodiment of the present invention.

도 4는 메모리 셀들에 프로그램되는 코드 워드로서 해밍 코드가 사용되고 메모리 셀들로부터 읽혀진 코드 워드가 "1010XX1"인 경우 가능한 프로그램 코드 워드와 읽혀진 코드 워드의 거리를 나타낸 것이다.4 shows the distance between a possible program code word and a read code word when a Hamming code is used as the code word programmed into the memory cells and the code word read from the memory cells is "1010XX1".

도 5는 메모리 셀들에 프로그램되는 코드 워드로서 해밍 코드가 사용되고 메모리 셀들로부터 읽혀진 코드 워드가 "1010X1X21"인 경우의 신드롬을 나타낸 것이다.FIG. 5 shows a syndrome when a Hamming code is used as the code word programmed into the memory cells and the code word read from the memory cells is "1010X1X21".

도 6은 본 발명의 일 실시예에 다른 데이터 읽기 방법에 대한 동작 흐름도이다.6 is an operation flowchart for a data reading method according to an embodiment of the present invention.

도 7은 본 발명의 다른 일 실시예에 따른 데이터 읽기 방법에 대한 동작 흐름도이다.7 is a flowchart illustrating a data reading method according to another embodiment of the present invention.

도 8은 도 7에 도시한 단계 S750에 대한 일 실시예 동작 흐름도이다.FIG. 8 is a flowchart illustrating an embodiment of operation S750 shown in FIG. 7.

도 9는 도 7에 도시한 단계 S750에 대한 다른 일 실시예 동작 흐름도이다.9 is a flowchart illustrating another operation of step S750 illustrated in FIG. 7.

도 10은 도 2와 비교할 때, 본 발명의 또 다른 일실시예에 따라 연성 결정값(soft decision value)을 추가적으로 정의하는 일도면이다.FIG. 10 is a diagram further defining a soft decision value according to another embodiment of the present invention when compared with FIG. 2.

도 11은 도 2와 비교할 때, 본 발명의 또 다른 일실시예에 따라 연성 결정값(soft decision value)을 추가적으로 정의하는 다른 일도면이다.FIG. 11 is another diagram further defining a soft decision value according to another embodiment of the present invention when compared with FIG. 2.

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

120, 320: 전압 비교부120, 320: voltage comparator

130, 330: 데이터 읽기부130, 330: data reading section

340: 디코딩부340: decoding unit

350: 데이터 결정부350: data determination unit

Claims (27)

메모리 셀의 문턱 전압과 제1 경계 전압을 비교하는 단계;Comparing the threshold voltage of the memory cell with the first boundary voltage; 상기 문턱 전압과 상기 제1 경계 전압보다 높은 전압 레벨을 가지는 제2 경계 전압을 비교하는 단계; 및Comparing the threshold voltage with a second threshold voltage having a voltage level higher than the first threshold voltage; And 상기 문턱 전압과 상기 제1 경계 전압의 비교 결과 및 상기 문턱 전압과 상기 제2 경계 전압의 비교 결과를 기초로 상기 메모리 셀의 데이터를 판정하는 단계Determining data of the memory cell based on a result of comparing the threshold voltage with the first threshold voltage and a result of comparing the threshold voltage with the second threshold voltage; 를 포함하는 데이터 읽기 방법.Data reading method comprising a. 제1항에 있어서,The method of claim 1, 상기 메모리 셀의 데이터를 판정하는 단계는Determining data of the memory cell 상기 문턱 전압이 상기 제1 경계 전압 및 상기 제2 경계 전압 사이의 전압이면 상기 메모리 셀의 데이터를 기 설정된 판정 불가능 값으로 판정하는 것을 특징으로 하는 데이터 읽기 방법.And when the threshold voltage is a voltage between the first threshold voltage and the second threshold voltage, determining the data of the memory cell as a predetermined undeterminable value. 제1항에 있어서,The method of claim 1, 상기 메모리 셀은The memory cell is 플래시 메모리 셀인 것을 특징으로 하는 데이터 읽기 방법.A method of reading data, characterized in that it is a flash memory cell. 제3항에 있어서,The method of claim 3, 상기 메모리 셀은The memory cell is MLC(multi level cell) 방식의 메모리 셀인 것을 특징으로 하는 메모리 셀의 데이터 읽기 방법.A method of reading data of a memory cell, characterized in that it is a MLC (multi level cell) memory cell. 제3항에 있어서,The method of claim 3, 상기 메모리 셀은The memory cell is SLC(single level cell) 방식의 메모리 셀인 것을 특징으로 하는 데이터 읽기 방법.A data reading method, characterized in that the memory cell of the SLC (single level cell) method. 제1항에 있어서,The method of claim 1, 상기 제1 경계 전압 및 상기 제2 경계 전압은The first boundary voltage and the second boundary voltage are 상기 메모리 셀에 프로그램된 데이터를 구분하는 경계 영역들 사이의 기 결정된 두 전압들인 것을 특징으로 하는 데이터 읽기 방법.And two predetermined voltages between boundary regions separating data programmed into the memory cell. 제1항에 있어서,The method of claim 1, 상기 데이터 읽기 방법은The data reading method is 판정된 복수 개의 메모리 셀들의 데이터들을 디코딩하는 단계; 및Decoding the data of the determined plurality of memory cells; And 상기 디코딩을 통해 상기 메모리 셀들에 프로그램된 데이터들을 결정하는 단계Determining data programmed into the memory cells through the decoding 를 더 포함하는 것을 특징으로 하는 데이터 읽기 방법.Data reading method further comprising a. 제7항에 있어서,The method of claim 7, wherein 상기 디코딩하는 단계는The decoding step 상기 메모리 셀들의 데이터들을 이용하여 거리 디코딩을 수행하는 것을 특징으로 하는 데이터 읽기 방법.And performing distance decoding using the data of the memory cells. 제7항에 있어서,The method of claim 7, wherein 상기 디코딩하는 단계는The decoding step 상기 메모리 셀들의 데이터들을 이용하여 신드롬을 계산하고, 상기 계산된 신드롬을 이용하여 디코딩을 수행하는 것을 특징으로 하는 데이터 읽기 방법.And calculating a syndrome using the data of the memory cells and decoding using the calculated syndrome. 제1항 내지 제9항 중 어느 하나의 항의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.A computer-readable recording medium having recorded thereon a program for executing the method of any one of claims 1 to 9. 메모리 셀;Memory cells; 상기 메모리 셀의 문턱 전압과 제1 경계 전압 및 상기 제1 경계 전압보다 높은 전압 레벨을 가지는 제2 경계 전압을 비교하고, 비교 결과에 따른 결과 값을 생성하는 전압 비교부; 및A voltage comparison unit comparing the threshold voltage of the memory cell with a first threshold voltage and a second threshold voltage having a voltage level higher than the first threshold voltage, and generating a result value according to a comparison result; And 상기 전압 비교부로부터 입력된 상기 결과 값을 기초로 상기 메모리 셀의 데이터를 판정하는 데이터 읽기부A data reading unit determining data of the memory cell based on the result value input from the voltage comparing unit 를 포함하는 데이터 읽기 장치.Data reading device comprising a. 제11항에 있어서,The method of claim 11, 상기 데이터 읽기부는The data reading unit 상기 전압 비교부로부터 입력된 상기 결과 값이 상기 문턱 전압이 상기 제1 경계 전압 및 상기 제2 경계 전압 사이의 전압을 나타내는 결과 값이면 상기 메모리 셀의 데이터를 기 설정된 판정 불가능 값으로 판정하는 것을 특징으로 하는 데이터 읽기 장치.The data of the memory cell is determined to be a non-determinable value if the result value input from the voltage comparator is a result value indicating that the threshold voltage is a voltage between the first and second threshold voltages. Data read device. 제11항에 있어서,The method of claim 11, 상기 메모리 셀은The memory cell is 플래시 메모리 셀인 것을 특징으로 하는 데이터 읽기 장치.A data reading device, characterized in that it is a flash memory cell. 제13항에 있어서,The method of claim 13, 상기 메모리 셀은The memory cell is MLC(multi level cell) 방식의 메모리 셀인 것을 특징으로 하는 메모리 셀의 데이터 읽기 장치.An apparatus for reading data of a memory cell, characterized in that the memory cell is a multi-level cell (MLC) method. 제13항에 있어서,The method of claim 13, 상기 메모리 셀은The memory cell is SLC(single level cell) 방식의 메모리 셀인 것을 특징으로 하는 데이터 읽기 장치.A data reading device, characterized in that the memory cell of the SLC (single level cell) method. 제11항에 있어서,The method of claim 11, 상기 데이터 읽기부에 의해 판정된 복수 개의 메모리 셀들의 데이터들을 입력받아 디코딩하는 디코딩부; 및A decoding unit which receives and decodes data of a plurality of memory cells determined by the data reading unit; And 상기 디코딩부에 의해 디코딩된 상기 메모리 셀들의 데이터들을 입력받고, 상기 디코딩된 메모리 셀들의 데이터들을 통해 상기 메모리 셀들에 프로그램된 데이터들을 결정하는 데이터 결정부A data determination unit which receives data of the memory cells decoded by the decoding unit and determines data programmed in the memory cells through the data of the decoded memory cells 를 더 포함하는 것을 특징으로 하는 데이터 읽기 장치.Data reading apparatus further comprises a. 제16항에 있어서,The method of claim 16, 상기 디코딩부는The decoding unit 상기 메모리 셀들의 데이터들을 이용하여 거리 디코딩을 수행하는 것을 특징으로 하는 데이터 읽기 장치.And performing distance decoding using the data of the memory cells. 제16항에 있어서,The method of claim 16, 상기 디코딩부는The decoding unit 상기 메모리 셀들의 데이터들을 이용하여 신드롬을 계산하고, 상기 계산된 신드롬을 이용하여 디코딩을 수행하는 것을 특징으로 하는 데이터 읽기 장치.And calculating a syndrome using data of the memory cells and decoding using the calculated syndrome. 메모리 셀의 문턱 전압과 제1 경계 전압을 비교하는 단계;Comparing the threshold voltage of the memory cell with the first boundary voltage; 상기 문턱 전압과 상기 제1 경계 전압보다 높은 전압 레벨을 가지는 제2 경계 전압을 비교하는 단계; 및Comparing the threshold voltage with a second threshold voltage having a voltage level higher than the first threshold voltage; And 상기 문턱 전압이 제1 경계 전압 또는 상기 제2 경계 전압과 근사(近似)한 정도에 따라 상기 메모리 셀의 데이터를 특정 연성 결정값(soft decision value)으로 판정하는 단계Determining the data of the memory cell as a specific soft decision value according to the extent to which the threshold voltage is close to the first boundary voltage or the second boundary voltage. 를 포함하여 이루어 지는 것을 특징으로 하는 데이터 읽기 방법.Data reading method characterized in that is made, including. 제19항에 있어서,The method of claim 19, 상기 판정하는 단계는,The determining step, 상기 문턱 전압이 제2 경계 전압 보다 제1 경계 전압과 더 근사한 경우, 상기 문턱 전압이 제2 경계 전압 보다 제1 경계 전압에 더 근사하다는 정보가 포함되도록, 상기 메모리 셀의 데이터를 특정 연성 결정값으로 판정하는 것을 특징으로 하는 데이터 읽기 방법.When the threshold voltage is closer to the first boundary voltage than the second boundary voltage, the data of the memory cell is determined to have a specific softness determination value to include information indicating that the threshold voltage is closer to the first boundary voltage than the second boundary voltage. The data reading method, characterized in that the determination. 제19항에 있어서,The method of claim 19, 상기 판정하는 단계는,The determining step, 상기 문턱 전압이 제1 경계 전압 보다 제2 경계 전압과 더 근사한 경우, 상기 문턱 전압이 제1 경계 전압 보다 제2 경계 전압에 더 근사하다는 정보가 포함되 도록, 상기 메모리 셀의 데이터를 특정 연성 결정값으로 판정하는 것을 특징으로 하는 데이터 읽기 방법.If the threshold voltage is closer to the second boundary voltage than the first boundary voltage, the data of the memory cell is determined to be specific softened to include information indicating that the threshold voltage is closer to the second boundary voltage than the first boundary voltage. A data reading method, characterized in that determined by the value. 제19항에 있어서,The method of claim 19, 상기 데이터 읽기 방법은,The data reading method, 판정된 복수 개의 메모리 셀들의 데이터들을 디코딩 하는 단계; 그리고Decoding the data of the determined plurality of memory cells; And 상기 디코딩을 통해 상기 메모리 셀들에 프로그램된 데이터들을 결정하는 단계Determining data programmed into the memory cells through the decoding 를 더 포함하여 이루어 지는 것을 특징으로 하는 데이터 읽기 방법.Data reading method characterized in that it further comprises. 제19항 내지 제22항 중 어느 하나의 항의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.A computer-readable recording medium having recorded thereon a program for executing the method of any one of claims 19 to 22. 소정의 메모리 셀의 문턱 전압과 제1 경계 전압 및 상기 제1 경계 전압 보다 높은 전압 레벨을 가지는 제2 경계 전압을 비교하고, 비교 결과에 따른 결과값을 생성하는 전압 비교부; 및A voltage comparison unit comparing a threshold voltage of a predetermined memory cell with a first threshold voltage and a second threshold voltage having a voltage level higher than the first threshold voltage, and generating a result value according to a comparison result; And 상기 문턱 전압이 제1 경계 전압 또는 상기 제2 경계 전압과 근사(近似)한 정도에 따라 상기 메모리 셀의 데이터를 특정 연성 결정값(soft decision value)으로 판정하는 데이터 읽기부A data reading unit determining data of the memory cell as a specific soft decision value according to a degree in which the threshold voltage approximates a first boundary voltage or the second boundary voltage. 를 포함하여 이루어 지는 것을 특징으로 하는 데이터 읽기 장치.Data reading device, characterized in that comprises a. 제24항에 있어서,The method of claim 24, 상기 데이터 읽기부는,The data reading unit, 상기 문턱 전압이 제2 경계 전압 보다 제1 경계 전압과 더 근사한 경우, 상기 문턱 전압이 제2 경계 전압 보다 제1 경계 전압에 더 근사하다는 정보가 포함되도록, 상기 메모리 셀의 데이터를 특정 연성 결정값으로 판정하는 것을 특징으로 하는 데이터 읽기 장치.When the threshold voltage is closer to the first boundary voltage than the second boundary voltage, the data of the memory cell is determined to have a specific softness determination value to include information indicating that the threshold voltage is closer to the first boundary voltage than the second boundary voltage. The data reading device, characterized in that the determination. 제24항에 있어서,The method of claim 24, 상기 데이터 읽기부는,The data reading unit, 상기 문턱 전압이 제1 경계 전압 보다 제2 경계 전압과 더 근사한 경우, 상기 문턱 전압이 제1 경계 전압 보다 제2 경계 전압에 더 근사하다는 정보가 포함되도록, 상기 메모리 셀의 데이터를 특정 연성 결정값으로 판정하는 것을 특징으로 하는 데이터 읽기 장치.When the threshold voltage is closer to the second boundary voltage than the first boundary voltage, the data of the memory cell is determined to have a specific softness determination value to include information indicating that the threshold voltage is closer to the second boundary voltage than the first boundary voltage. The data reading device, characterized in that the determination. 제24항에 있어서,The method of claim 24, 상기 데이터 읽기부에 의해 판정된 복수 개의 메모리 셀들의 데이터들을 입력 받아 디코딩 하는 디코딩부; 그리고A decoding unit which receives and decodes data of a plurality of memory cells determined by the data reading unit; And 상기 디코딩부에 의해 디코딩된 상기 메모리 셀들의 데이터들을 입력 받고, 상기 디코딩된 메모리 셀들의 데이터들을 통해 상기 메모리 셀들에 프로그램된 데 이터들을 결정하는 데이터 결정부A data determination unit which receives data of the memory cells decoded by the decoding unit and determines data programmed in the memory cells through the data of the decoded memory cells 를 더 포함하여 이루어 지는 것을 특징으로 하는 데이터 읽기 장치.Data reading device, characterized in that further comprises a.
KR1020070075857A 2007-05-14 2007-07-27 Apparatus for reading data and method using the same KR20080100750A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010508281A JP5385261B2 (en) 2007-05-14 2008-01-15 Data reading apparatus and method
PCT/KR2008/000239 WO2008140171A1 (en) 2007-05-14 2008-01-15 Apparatus for reading data and method using the same
US12/007,921 US7800954B2 (en) 2007-05-14 2008-01-17 Apparatus for reading data and method using the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20070046622 2007-05-14
KR1020070046622 2007-05-14

Publications (1)

Publication Number Publication Date
KR20080100750A true KR20080100750A (en) 2008-11-19

Family

ID=40287177

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070075857A KR20080100750A (en) 2007-05-14 2007-07-27 Apparatus for reading data and method using the same

Country Status (2)

Country Link
JP (1) JP5385261B2 (en)
KR (1) KR20080100750A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8116141B2 (en) 2008-10-27 2012-02-14 Samsung Electronics Co., Ltd. Method analyzing threshold voltage distribution in nonvolatile memory

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013041634A (en) * 2011-08-11 2013-02-28 Fujitsu Ltd Nonvolatile semiconductor memory device
JP2017107620A (en) * 2015-12-07 2017-06-15 ルネサスエレクトロニクス株式会社 Semiconductor device and nonvolatile memory

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56143599A (en) * 1980-04-10 1981-11-09 Toshiba Corp Check system for fault of p-rom
JPH02146200A (en) * 1988-11-28 1990-06-05 Nec Corp Eeprom device
JPH03142800A (en) * 1989-10-27 1991-06-18 Nec Corp Electrically erasable and writable programmable read only memory
JP3450456B2 (en) * 1994-08-31 2003-09-22 株式会社東芝 Semiconductor storage device
FR2728380A1 (en) * 1994-12-20 1996-06-21 Sgs Thomson Microelectronics METHOD FOR WRITING DATA IN A CORRESPONDING ELECTRICALLY PROGRAMMABLE MEMORY AND MEMORY
JPH08297987A (en) * 1995-04-26 1996-11-12 Toshiba Corp Nonvolatile semiconductor memory
JPH10222989A (en) * 1996-09-18 1998-08-21 Nippon Steel Corp Multiple-value semiconductor storage, its writing method and reading method, and storage medium
JPH10255487A (en) * 1997-03-10 1998-09-25 Fujitsu Ltd Semiconductor memory
JP2002230984A (en) * 2001-02-05 2002-08-16 Fujitsu Ltd Non-volatile semiconductor memory
JP2003100095A (en) * 2001-09-21 2003-04-04 Hitachi Ltd Semiconductor integrated circuit device
JP2003297099A (en) * 2002-03-29 2003-10-17 Mitsubishi Electric Corp Nonvolatile semiconductor memory device
US6751766B2 (en) * 2002-05-20 2004-06-15 Sandisk Corporation Increasing the effectiveness of error correction codes and operating multi-level memory systems by using information about the quality of the stored data
JP3745709B2 (en) * 2002-06-28 2006-02-15 インターナショナル・ビジネス・マシーンズ・コーポレーション Encoding device, decoding device, encoding method, decoding method, program, program recording medium, and data recording medium
JP2005011386A (en) * 2003-06-16 2005-01-13 Renesas Technology Corp Error correction apparatus
US7372731B2 (en) * 2003-06-17 2008-05-13 Sandisk Il Ltd. Flash memories with adaptive reference voltages
JP2005078721A (en) * 2003-09-01 2005-03-24 Nippon Telegr & Teleph Corp <Ntt> Error correcting method and memory circuit
US7012835B2 (en) * 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
JP2005173860A (en) * 2003-12-10 2005-06-30 Sony Corp Data storage device, method for processing stored data, and computer program
JP4534639B2 (en) * 2004-07-15 2010-09-01 ソニー株式会社 Semiconductor memory device
JP2006331497A (en) * 2005-05-24 2006-12-07 Denso Corp Semiconductor device
JP2006338789A (en) * 2005-06-02 2006-12-14 Renesas Technology Corp Nonvolatile semiconductor memory device
JP4796360B2 (en) * 2005-09-07 2011-10-19 富士通セミコンダクター株式会社 Redundant replacement method, semiconductor memory device, and information processing device
KR100804793B1 (en) * 2005-10-07 2008-02-20 삼성전자주식회사 Method for updating Check Node in Low Density Parity Check Decoder

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8116141B2 (en) 2008-10-27 2012-02-14 Samsung Electronics Co., Ltd. Method analyzing threshold voltage distribution in nonvolatile memory

Also Published As

Publication number Publication date
JP5385261B2 (en) 2014-01-08
JP2010527094A (en) 2010-08-05

Similar Documents

Publication Publication Date Title
US9367389B2 (en) Recovery strategy that reduces errors misidentified as reliable
KR101413137B1 (en) Memory device and memory programming method
US9990247B2 (en) Write mapping to mitigate hard errors via soft-decision decoding
US8898553B1 (en) Log-likelihood-ratio (LLR) table calibration
TWI594256B (en) Method for performing memory access management, and associated memory device and controller thereof
JP5502064B2 (en) Memory device and data determination method
KR100907218B1 (en) Apparatus for controlling read level and method using the same
JP5324652B2 (en) Memory device and error control code decoding method
US8797795B2 (en) Methods and apparatus for intercell interference mitigation using modulation coding
JP2011514618A (en) Memory device and method
JP2013122804A (en) Semiconductor storage device
US20140026003A1 (en) Flash memory read error rate reduction
US10176867B2 (en) Estimation of level-thresholds for memory cells
JP2011519107A (en) Apparatus and method for hybrid detection of memory data
KR20090093695A (en) Apparatus for determining number of bits of data storing in memory
JP2011512611A (en) Memory data detection device for controlling a reference voltage based on an error of stored data
US11024391B1 (en) System and method for estimating uninformed log-likelihood ratio (LLR) for NAND flash memories
US7800954B2 (en) Apparatus for reading data and method using the same
US10963338B1 (en) System and method for decoder assisted dynamic log-likelihood ratio (LLR) estimation for NAND flash memories
US10607709B1 (en) System and method for efficient read-flow by inter-cell interference decoupling for NAND flash memories
KR20080100750A (en) Apparatus for reading data and method using the same
KR100892583B1 (en) Apparatus for programming a data of memory cell considering floating poly coupling and method using the same
US10614897B1 (en) System and method for high performance sequential read by decoupling of inter-cell interference for NAND flash memories
US9009576B1 (en) Adaptive LLR based on syndrome weight
KR101267798B1 (en) Apparatus for controlling read level and method using the same

Legal Events

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