WO2008140171A1 - 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
WO2008140171A1
WO2008140171A1 PCT/KR2008/000239 KR2008000239W WO2008140171A1 WO 2008140171 A1 WO2008140171 A1 WO 2008140171A1 KR 2008000239 W KR2008000239 W KR 2008000239W WO 2008140171 A1 WO2008140171 A1 WO 2008140171A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
voltage
memory cell
boundary
threshold voltage
Prior art date
Application number
PCT/KR2008/000239
Other languages
French (fr)
Inventor
Seung-Hwan Song
Jun Jin Kong
Sung Chung Park
Dong Hyuk Chae
Seung Jae Lee
Dong Ku Kang
Original Assignee
Samsung Electronics Co., Ltd.
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
Priority claimed from KR1020070075857A external-priority patent/KR20080100750A/en
Application filed by Samsung Electronics Co., Ltd. filed Critical Samsung Electronics Co., Ltd.
Priority to JP2010508281A priority Critical patent/JP5385261B2/en
Publication of WO2008140171A1 publication Critical patent/WO2008140171A1/en

Links

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
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor

Definitions

  • the present invention relates to an apparatus and a method for reading data, and more particularly, to an apparatus and a method for reading data in which data programmed in a memory cell is read and decoded by using two boundary voltages, thereby determining data of the memory cell.
  • the size of a threshold voltage of a flash memory cell may be adjusted based on data to be programmed, when programming data.
  • the size of the threshold voltage of the flash memory denotes data programmed in the flash memory cell.
  • the threshold voltage of the flash memory cell may be compared with at least one reference voltage, such as a read level. For example, for a flash memory cell of a Single Level Cell (SLC) and a reference voltage is A, when a threshold voltage of a read flash memory cell is less than the reference voltage A, data programmed in the flash memory cell may be read as 1, and when the threshold voltage of the read flash memory cell is greater than the reference voltage A, data programmed in the memory cell may be read as 0.
  • SLC Single Level Cell
  • a threshold voltage of a flash memory cell in which data is programmed may be changed into a threshold voltage having a different level by different factors, such as charge loss, floating poly coupling, and other factors.
  • the threshold voltage of the flash memory cell when the threshold voltage of the flash memory cell is changed to be near the reference voltage, reliability may be reduced with respect to data of a read flash memory cell. For example, in a flash memory cell having a threshold voltage near the reference voltage, a number of errors may occur such that data may be read data as 0 even though programmed data is 1 , and conversely, data may be read data as 1 even though programmed data is 0. Disclosure of Invention
  • Example embodiments provide a method for reading data in which a voltage area having a deteriorated reliability between states indicating what the data of the flash memory should be determined as, and then when a threshold voltage of the flash memory cell is positioned at a voltage area having a deteriorated reliability, the data of the flash memory cell is outputted as a non-determinable value.
  • Example embodiments provide a method for reading data in which data of memory cells including a non-determinable value is determined by decoding data of flash memory cells having been read through the method for reading data, thereby increasing reliability with respect to data of read memory cells.
  • Example embodiments provide a method for reading data in which a non- determinable value is determined as data having a high reliability through a decoding process, even though the non-determinable value is outputted due to the change of the threshold voltage of the flash memory cell.
  • Example embodiments provide a method for reading data including comparing a threshold voltage of a memory cell with a first boundary voltage; comparing the threshold voltage with a second boundary voltage having a higher voltage level than that of the first boundary voltage; and determining data of the memory cell based on the compared results between the threshold voltage and the first boundary voltage, and between the threshold voltage and the second boundary voltage.
  • the determining of the data determines the data of the memory cell as a preset non-determinable value when the threshold voltage is between the first and the second boundary voltages.
  • the memory cell is of a Multi-Level Cell (MLC) method or a Single Level Cell (SLC) method.
  • MLC Multi-Level Cell
  • SLC Single Level Cell
  • the first and the second boundary voltages correspond to two predetermined voltages between boundary areas of identifying data programmed in the memory cell.
  • the method for reading data further includes decoding the determined data of a plurality of memory cells; and determining data programmed in the memory cells through the decoding.
  • the decoding performs a distance decoding by using the data of the memory cells.
  • the decoding calculates a syndrome by using the data of the memory cells, and performs a decoding by using the calculated syndrome.
  • Example embodiments provide an apparatus for reading data including a memory cell; a voltage comparing unit which compares a threshold voltage of the memory cell with a first boundary voltage, and compares another threshold voltage of the memory cell with a second boundary voltage having a higher voltage level than that of the first boundary voltage, and then generates a result value depending on the compared results; and a data read unit which determines the data of the memory cell based on the result value inputted from the voltage comparing unit.
  • the apparatus for reading data further includes a decoding unit which receives and decodes an input of data of a plurality of memory cells determined by the data read unit; and a data determining unit which receives an input of the data of the memory cells decoded by the decoding unit and determines data programmed in the memory cells through the decoded data of the memory cells.
  • FIG. 1 is a block diagram illustrating an apparatus for reading data according to example embodiments.
  • FIG. 2 is an example illustrating an apparatus for reading data according to example embodiments.
  • FIG. 3 is a configuration block diagram illustrating an apparatus for reading data according to example embodiments.
  • FIG. 4 illustrates an example distance between an available program code word and a read code word when a Hamming code is used as a code word to be programmed in memory cells and a read code word from the memory cells is " 1010XX1".
  • FIG. 5 illustrates an example syndrome when a Hamming code is used as a code word to be programmed in memory cells and a read code word from memory cells is " 1010X 1 X 2 I".
  • FIG. 6 is an operation flowchart illustrating a method for reading data according to example embodiments.
  • FIG. 7 is an operation flowchart illustrating a method for reading data according to example embodiments.
  • FIG. 8 is an operation flowchart illustrating operation S750 illustrated in FIG. 7, according to example embodiments.
  • FIG. 9 is an operation flowchart illustrating operation S750 illustrated in FIG. 7, according to example embodiments.
  • FIG. 10 is a diagram illustrating a soft decision value is additionally defined when comparing with FIG. 2, according to according to example embodiments.
  • FIG. 11 is a diagram illustrating a soft decision value is additionally defined when comparing with FIG. 2, according to according to example embodiments.
  • Mode for the Invention
  • Coupled to another element, it may be directly connected or coupled to the other element or intervening elements may be present. In contrast, when an element is referred to as being “directly connected” or “directly coupled” to another element, there are no intervening elements present.
  • Other words used to describe the relationship between elements should be interpreted in a like fashion (e.g., “between” versus “directly between”, “adjacent” versus “directly adjacent”, etc.).
  • FIG. 1 is a block diagram illustrating an apparatus for reading data according to example embodiments.
  • an apparatus for reading data may include a voltage comparing unit 120 and a data read unit 130.
  • the voltage comparing unit 120 may generate a comparison result by comparing a threshold voltage of a memory cell 110 with a first boundary voltage and a second boundary voltage having a higher voltage level than that of the first boundary voltage.
  • the first and the second boundary voltages may be included in a boundary area identifying data programmed between states indicative of data (either 0 or 1) programmed in the memory cell 110.
  • the boundary area identifying the programmed data may be an area where reliability is reduced with respect to read data, and accordingly, at least one boundary area exists.
  • the memory cell 110 is a Single Level Cell (SLC)
  • one boundary area identifying the programmed data may exist
  • the memory cell 110 is a Multi-Level Cell, at least two boundary areas may exist.
  • the first and the second boundary voltages may be minimum or maximum voltages of a boundary area where reliability of a read data is insufficient when reading data from the memory cell 110.
  • the boundary area may vary depending on given circumstances, however, may be determined in consideration of different factors, for example, charge loss, floating poly coupling, and the like.
  • the memory cell 110 may be a flash memory cell.
  • the flash memory cell may be either a NAND flash memory cell, a NOR flash memory cell.
  • the memory cell 110 may be either a Multi-Level Cell (MLC) or a Single Level Cell
  • the data read unit 130 may receive an input of a result value generated from the voltage comparing unit 120, and may determine data of a memory cell based on the inputted result value. For example, the data read unit 130 may read the data of the memory cell based on the result value.
  • the data read unit 130 may read data of the memory cell 110 as a non-determinable value when a threshold voltage of the memory cell 110 is between the first and the second boundary voltages. For example, the data read unit 130 may fail to determine data of the memory cell as either 0 or 1 , when a result value inputted from the voltage comparing unit 120 is a result value in which the threshold voltage of the memory cell 110 represents a voltage between the first and the second boundary voltages. Thus, the data read unit 130 determine the data of the memory cell as a specific value different from 0 or 1.
  • FIG. 2 is an example illustrating an apparatus for reading data according to an example embodiment.
  • FIG. 2 illustrates Least Significant Bit (LSB) data of a memory cell operating in four levels.
  • LSB data of the memory cell may be read by using two boundary voltages between boundary areas identifying the LSB data of the memory cell, that is, 0 and 1.
  • the LSB data of the memory cell is read by using a first boundary voltage (V SEN _ IA ) and a second boundary voltage (V SEN _ IB ) between 1 and 0 of the LSB data of the memory cell, that is, between binary 11 and binary 10 of data of the memory cell, and by using a first boundary voltage (V SEN 3A ) and a second boundary voltage (V SEN 3B ) between 0 and 1 of the LSB data of the memory cell, that is, between binary 00 and binary 01 of data of the memory cell.
  • the LSB data when a threshold voltage of a memory cell for reading LSB data is either less than V SENMA O ⁇ greater than V SEN _ 3B , the LSB data may be read as 1, and when the threshold voltage of the memory cell is a voltage between V SEN _ IB and V SEN _ 3A, the LSB data may be read as 0. [51] Also, when the threshold voltage of the memory cell is between either V SEN _ IA and V sENjB or V SEN _ 3A and V SEN _ 3B, the LSB data may be read as a specific value different from either 0 or 1.
  • FIG. 3 is a configuration block diagram illustrating an apparatus for reading data according to another example embodiment.
  • an apparatus for reading data may include a voltage comparing unit 320, a data read unit 330, a decoding unit 340, and/or a data determining unit 350.
  • the voltage comparing unit 320 may generate a comparison result by comparing threshold voltages of memory cells constituting a memory 310 with a first boundary voltage, and a second boundary voltage having a higher voltage level than that of the first boundary voltage, respectively.
  • the first and second boundary voltages may be between boundary areas identifying data programmed in respective memory cells.
  • the first and second boundary voltages may be minimum and maximum voltages of a boundary area where reliability of a read data is insufficient when reading data from a memory cell.
  • Memory cells may be flash memory cells. The flash memory cells may be either
  • NAND flash memory cells or NOR flash memory cells NAND flash memory cells or NOR flash memory cells.
  • Memory cells may be memory cells of either an MLC method or an SLC method.
  • the data read unit 330 may receive an input of a result value generated from the voltage comparing unit 320, and determine data of memory cells based on the inputted result value. [61] The data read unit 330 may read data of a memory cell as a non-determinable value when a result value represents a voltage between the first and the second boundary voltages according to the result value inputted from the voltage comparing unit 320.
  • the data read unit 330 may determine unreliable data of the memory cell as a specific value different from either 0 or 1.
  • the decoding unit 340 may decode data of memory cells determined by the data read unit 330.
  • the decoding unit 340 may perform a distance decoding by using remaining data except for data of non-determinable values from among data of the memory cells determined by the data read unit 340.
  • the decoding unit 340 may perform decoding by using a syndrome calculation in consideration of respective cases for data of non-determinable values from among data of memory cells determined by the data read unit 330.
  • the data determining unit 350 may determine data programmed in memory cells by using a decoded result obtained by the decoding unit 340.
  • the data determining unit 350 may determine data programmed in memory cells based on a distance calculated by a distance decoding, when the decoding unit 340 performs decoding through the distance decoding.
  • FIG. 4 illustrates a distance between an available program code word and a read code word when a Hamming code is used as a code word to be programmed in memory cells and a read code word from the memory cells is " 1010XX1".
  • X denotes a non-determinable value.
  • the decoding unit 340 may perform a calculation of a distance between available program code words with respect to the Hamming code and the read code word, that is, " 1010XX1", by disregarding data of positions corresponding to non-determinable values. [71] Through a distance calculation performed by using only data of remaining positions disregarding data of positions corresponding to the non-determinable values in the read code word, a distance between the read code word and available program code words may be calculated.
  • a distance between a second available program code word 410 that is, " 1010001 " and a read code word, that is, " 1010XX1”
  • remaining data when disregarding non-determinable values in the read code word are the same with those of the second available program code word, and accordingly, the distance is 0.
  • a distance between a third available program code word that is, " 1110010” and a read code word, that is, "1010XX1”
  • a first bit from a right-hand side and a second bit from a left-hand side from among remaining data when disregarding non-determinable values in the read code word are different from those of the third available program code word. Accordingly, the distance is 2.
  • the data determining unit 350 detects a code word having the least distance value from among the calculated distances, and determines the detected code word as a program code word.
  • the data determining unit 350 may determine data programmed in memory cells based on a syndrome calculated when the decoding unit 340 performs decoding by using a syndrome calculation.
  • FIG. 5 illustrates a syndrome when a Hamming code is used as a code word to be programmed in memory cells and a read code word from memory cells is " 1010X]X 2 1".
  • X 1 and X 2 denotes non-determinable values.
  • the decoding unit 340 may perform a syndrome calculation with respect to a read code word, that is, " 1010X 1 X 2 I".
  • a process of the syndrome calculation with respect to the read code word is well known by those skilled in the art and is therefore omitted here.
  • a syndrome (s) obtained by the syndrome calculation is " X 1 [O 1 1] + X 2 [I 1 I]".
  • syndromes are 000, 111,
  • the data determining unit 350 verifies erroneous patterns (e) based on syndromes calculated by the decoding unit 340, and determines a cord word programmed in memory cells based on a read code word and erroneous patterns.
  • the data determining unit 350 calculates available program code words (cp) based on the read code words corresponding to respective non-determinable values and the erroneous patterns, determines an available program code word, that is, " 1010001" having the greatest frequency from among the calculated available program code words as a program code word, and then determines data stored in memory cells as " 1010001".
  • FIG. 6 is an operation flowchart illustrating a method for reading data according to example embodiments.
  • a method for reading data compares a threshold voltage of a memory cell with a first boundary voltage, and compares the threshold voltage of the memory cell with a second boundary voltage having a higher voltage level than that of the first boundary voltage.
  • the first and the second boundary voltages may be two predetermined or given voltages between boundary areas identifying data to be programmed in the memory cell, that is, either 0 or 1.
  • the number of boundary areas identifying the programmed data may vary depending on operation methods of the memory cell. For example, when the memory cell is of an SLC method, the number of boundary areas identifying the programmed data is one, and when the memory cell is of an MLC method, the number thereof is at least two.
  • the first and the second boundary voltages are minimum and maximum voltages of a boundary area where reliability of a read data is insufficient when reading data between an area determining data programmed in the memory cell as 0 and an area determining data programmed in the memory cell as 1.
  • the boundary area may vary depending on given circumstances, however, may be set in consideration of different factors, for example, charge loss, floating poly coupling, and the like.
  • the memory cell may be a flash memory cell, and may be either a NAND flash memory or a NOR flash memory cell.
  • the memory cell may be of either an MLC method or an
  • operation S620 it is determined whether a threshold voltage of a memory cell is between the first and the second boundary voltages, and when the threshold voltage is between the first and the second boundary voltages in terms of the determined result, the data of the memory cell is read as a non-determinable value in operation S630.
  • the data of the memory is read as data determined by a voltage area where a corresponding threshold voltage is. For example, referring to FIG. 2, when the threshold voltage is either less than VS E NJ A or greater than VS E ⁇ B , LSB data of the memory cell is read as 1.
  • FIG. 7 is an operation flowchart illustrating a method for reading data according to example embodiments.
  • a method for reading data compares each threshold voltage of memory cells constituting a memory with a first boundary voltage, and compares each threshold voltage thereof with a second boundary voltage.
  • the first and the second boundary voltages may be two predetermined or given voltages between boundary areas identifying each data programmed in respective memory cells.
  • the first and the second boundary voltages are minimum and maximum voltages of a boundary area where reliability of a read data is insufficient when reading data between an area determining data programmed in the memory cell as 0 and an area determining data programmed in the memory cell as 1.
  • the memory cells may be flash memory cells, and may be either NAND flash memory cells, or NOR flash memory cells.
  • the memory cells may be of either an MLC method or an
  • threshold voltages of memory cells are determined whether they are between the first and the second boundary voltages, and when the threshold voltage is between the first and the second boundary voltages in terms of the determined result, data of a corresponding memory cell is read as a non-determinable value in operation S730.
  • operation S750 data of the read memory cells is decoded, and data of memory cells including a non-determinable value is determined through a decoding process.
  • the data of the read memory cells may perform a distance decoding by using remaining data when disregarding data of non-determinable values from among the data of the read memory cells.
  • the data of the read memory cells may perform decoding by using a syndrome calculation in consideration of respective cases for data of non-determinable values from among the data of the read memory cells.
  • FIG. 8 is an operation flowchart illustrating example embodiments of operation S750 illustrated in FIG. 7.
  • the determining of the data of the memory cells calculates a distance between code words in which data of memory cells is read, and predetermined available program code words.
  • the available program code words may vary depending on a code used when programming data in memory cells.
  • Operation S810 for calculating distances may be performed by using remaining data excluding non-determinable values included in the read code word.
  • the read code word is seven bits and two bits are undetermined, a distance between an available program code word and a read code word is calculated by using data of five bits.
  • an available program code word of a distance having a least value among the calculated distances is detected.
  • a code word having a greatest probability from among available program code words is detected.
  • the detected available program code word may be determined as a program code word stored in the memory cells, and data of the memory cells is determined.
  • FIG. 9 is an operation flowchart illustrating example embodiments of operation S750 illustrated in FIG. 7, in detail.
  • the determining of the data of the memory cells may calculate a syndrome with respect to read code words, that is, data of the memory cells.
  • syndromes with respect to respective cases of non-determinable values included in the calculated syndrome may be detected. For example, when two non-determinable values are included in a reception code word, four syndromes are detected.
  • available program code words may be calculated based on erroneous patterns and read code words. For example, when programming data in memory cells by using a Hamming code, available program code words may be calculated by performing an add operation between read code words applying either 0 or 1 to respective non-determinable values and corresponding erroneous patterns.
  • an available program code word having a greatest frequency from among the calculated available code words may be determined as a program code word stored in the memory cells, and data of the memory cells is determined.
  • FIG. 10 is a diagram illustrating a soft decision value according to example embodiments.
  • a method for reading data according to example embodiments will be described with reference to FIG. 10 and also, with reference to FIGS. 1 and 2.
  • the data read unit 130 receives an input of a result value generated from the voltage comparing unit 120, and determines data of a memory cell based on the inputted result value.
  • the data read unit 130 may determine data of the memory cell 110 as a non-determinable value when a threshold voltage of the memory cell 110 is between the first and the second boundary voltages, as previously described above.
  • the data read unit 130 generates a soft decision value depending on reliability of data and carries out an additional reading operation with respect to unreliable intervals, as necessary, to generate a more accurate soft decision value.
  • a process for improving the accuracy of read data in the unreliable interval may be performed even before the operation of decoding of data, thereby determining more accurate data of the memory cell.
  • the data read unit 130 may additionally carry out a reading operation in order to determine a more accurate position of the threshold voltage of the memory cell, since there is a possibility that the threshold voltage of the memory cell is between V SEN _ IA of a first boundary voltage and V SEN _ IB of a second boundary voltage.
  • the data read unit 130 determines the data of the memory cell as a specific soft decision value so that the specific soft decision value includes information where the threshold voltage is closer to the first boundary voltage than the second boundary voltage.
  • the data read unit 130 determines the data of the memory cell as a specific soft decision value so that the specific soft decision value includes information where the threshold voltage is closer to the second boundary voltage than the first boundary voltage.
  • the data read unit 130 reads information about which boundary voltage is closer to the threshold voltage, and decodes the read information, so that the accuracy of the data is improved.
  • V SEN _ IA of a first boundary voltage and V SEN _ IB of a second boundary voltage are the same as those descriptions above, and thus their repetitive explanations will be omitted.
  • FIG. 11 is diagram illustrating a soft decision value according to example em- bodiments.
  • a method for reading data according example embodiments will be described with reference to FIG. 11, and also, with reference to FIGS. 1, 2, and 10.
  • a soft decision value is 2 bits in FIG. 10
  • a soft decision value is 3 bits in FIG. 11.
  • FIG. 10 even though detailed explanation for the soft decision value of FIG. 11 will be omitted, example embodiments will be easily understood by those skilled in the art through the explanation of FIG. 10.
  • Soft decision values of 2 bits and 3 bits are used as examples, however, example embodiments are not limited thereto.
  • a soft decision value having a different number of bits (n>3) may also be used as an example.
  • the data reading method may be recorded in computer-readable media including program instructions to implement various operations embodied by a computer.
  • the media may also include, alone or in combination with the program instructions, data files, data structures, and the like.
  • the media and program instructions may be those specially designed and constructed for the purposes example embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts.
  • Examples of computer- readable media include magnetic media , for example, hard disks, floppy disks, and magnetic tape; optical media , for example, CD ROM disks and DVD; magneto-optical media , for example, optical disks; and hardware devices that are specially configured to store and perform program instructions, for example, read-only memory (ROM), random access memory (RAM), flash memory, and the like.
  • the media may also be a transmission medium , for example, optical or metallic lines, wave guides, etc. including a carrier wave transmitting signals specifying the program instructions, data structures, etc.
  • Examples of program instructions include both machine code , for example, produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter.
  • the described hardware devices may be configured to act as one or more software modules in order to perform the operations of example embodiments.
  • a voltage area having a deteriorated reliability between states indicating what the data of the flash memory should be determined as and then when a threshold voltage of the flash memory cell is positioned at a voltage area having a deteriorated reliability, the threshold voltage of the flash memory cell is outputted as a non-determinable value.
  • data of memory cells including a non- determinable value may be determined by decoding data of flash memory cells having been read through the method for reading data, thereby increasing reliability with respect to data of read memory cells.
  • a non-determinable value may be determined as data having a high or low value through a decoding process, even though a non- determinable value is output due to the change of the threshold voltage of the flash memory cell.

Abstract

Disclosed are an apparatus and a method for reading data. The method for reading data according to example embodiments includes comparing a threshold voltage of a memory cell with a first boundary voltage, comparing the threshold voltage with a second boundary voltage having a higher voltage level than that of the first boundary voltage, and determining data of the memory cell based on the threshold voltage, the first boundary voltage, and the second boundary voltage.

Description

Description
APPARATUS FOR READING DATA AND METHOD USING
THE SAME
Technical Field
[1] The present invention relates to an apparatus and a method for reading data, and more particularly, to an apparatus and a method for reading data in which data programmed in a memory cell is read and decoded by using two boundary voltages, thereby determining data of the memory cell. Background Art
[2] The size of a threshold voltage of a flash memory cell may be adjusted based on data to be programmed, when programming data. For example, the size of the threshold voltage of the flash memory denotes data programmed in the flash memory cell.
[3] In order to read data programmed in the flash memory cell, the threshold voltage of the flash memory cell may be compared with at least one reference voltage, such as a read level. For example, for a flash memory cell of a Single Level Cell (SLC) and a reference voltage is A, when a threshold voltage of a read flash memory cell is less than the reference voltage A, data programmed in the flash memory cell may be read as 1, and when the threshold voltage of the read flash memory cell is greater than the reference voltage A, data programmed in the memory cell may be read as 0.
[4] However, a threshold voltage of a flash memory cell in which data is programmed may be changed into a threshold voltage having a different level by different factors, such as charge loss, floating poly coupling, and other factors. In this regard, when the threshold voltage of the flash memory cell is changed to be near the reference voltage, reliability may be reduced with respect to data of a read flash memory cell. For example, in a flash memory cell having a threshold voltage near the reference voltage, a number of errors may occur such that data may be read data as 0 even though programmed data is 1 , and conversely, data may be read data as 1 even though programmed data is 0. Disclosure of Invention
Technical Problem
[5] Example embodiments provide a method for reading data in which a voltage area having a deteriorated reliability between states indicating what the data of the flash memory should be determined as, and then when a threshold voltage of the flash memory cell is positioned at a voltage area having a deteriorated reliability, the data of the flash memory cell is outputted as a non-determinable value.
[6] Example embodiments provide a method for reading data in which data of memory cells including a non-determinable value is determined by decoding data of flash memory cells having been read through the method for reading data, thereby increasing reliability with respect to data of read memory cells.
[7] Example embodiments provide a method for reading data in which a non- determinable value is determined as data having a high reliability through a decoding process, even though the non-determinable value is outputted due to the change of the threshold voltage of the flash memory cell. Technical Solution
[8] Example embodiments provide a method for reading data including comparing a threshold voltage of a memory cell with a first boundary voltage; comparing the threshold voltage with a second boundary voltage having a higher voltage level than that of the first boundary voltage; and determining data of the memory cell based on the compared results between the threshold voltage and the first boundary voltage, and between the threshold voltage and the second boundary voltage.
[9] In example embodiments, the determining of the data determines the data of the memory cell as a preset non-determinable value when the threshold voltage is between the first and the second boundary voltages.
[10] In example embodiments, the memory cell is of a Multi-Level Cell (MLC) method or a Single Level Cell (SLC) method.
[11] In example embodiments, the first and the second boundary voltages correspond to two predetermined voltages between boundary areas of identifying data programmed in the memory cell.
[12] In example embodiments, the method for reading data further includes decoding the determined data of a plurality of memory cells; and determining data programmed in the memory cells through the decoding.
[13] In example embodiments, the decoding performs a distance decoding by using the data of the memory cells.
[14] In example embodiments, the decoding calculates a syndrome by using the data of the memory cells, and performs a decoding by using the calculated syndrome.
[15] Example embodiments provide an apparatus for reading data including a memory cell; a voltage comparing unit which compares a threshold voltage of the memory cell with a first boundary voltage, and compares another threshold voltage of the memory cell with a second boundary voltage having a higher voltage level than that of the first boundary voltage, and then generates a result value depending on the compared results; and a data read unit which determines the data of the memory cell based on the result value inputted from the voltage comparing unit.
[16] In example embodiments, the apparatus for reading data further includes a decoding unit which receives and decodes an input of data of a plurality of memory cells determined by the data read unit; and a data determining unit which receives an input of the data of the memory cells decoded by the decoding unit and determines data programmed in the memory cells through the decoded data of the memory cells. Brief Description of the Drawings
[17] The above and other features and advantages of example embodiments will become more apparent by describing them in detail with reference to the attached drawings. The accompanying drawings are intended to depict example embodiments and should not be interpreted to limit the intended scope of the claims. The accompanying drawings are not to be considered as drawn to scale unless explicitly noted.
[18] FIG. 1 is a block diagram illustrating an apparatus for reading data according to example embodiments.
[19] FIG. 2 is an example illustrating an apparatus for reading data according to example embodiments.
[20] FIG. 3 is a configuration block diagram illustrating an apparatus for reading data according to example embodiments.
[21] FIG. 4 illustrates an example distance between an available program code word and a read code word when a Hamming code is used as a code word to be programmed in memory cells and a read code word from the memory cells is " 1010XX1".
[22] FIG. 5 illustrates an example syndrome when a Hamming code is used as a code word to be programmed in memory cells and a read code word from memory cells is " 1010X1X2I".
[23] FIG. 6 is an operation flowchart illustrating a method for reading data according to example embodiments.
[24] FIG. 7 is an operation flowchart illustrating a method for reading data according to example embodiments.
[25] FIG. 8 is an operation flowchart illustrating operation S750 illustrated in FIG. 7, according to example embodiments.
[26] FIG. 9 is an operation flowchart illustrating operation S750 illustrated in FIG. 7, according to example embodiments.
[27] FIG. 10 is a diagram illustrating a soft decision value is additionally defined when comparing with FIG. 2, according to according to example embodiments.
[28] FIG. 11 is a diagram illustrating a soft decision value is additionally defined when comparing with FIG. 2, according to according to example embodiments. Mode for the Invention
[29] Detailed example embodiments are disclosed herein. However, specific structural and functional details disclosed herein are merely representative for purposes of de- scribing example embodiments. Example embodiments may, however, be embodied in many alternate forms and should not be construed as limited to only the embodiments set forth herein.
[30] Accordingly, while example embodiments are capable of various modifications and alternative forms, embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that there is no intent to limit example embodiments to the particular forms disclosed, but to the contrary, example embodiments are to cover all modifications, equivalents, and alternatives falling within the scope of example embodiments. Like numbers refer to like elements throughout the description of the figures.
[31] It will be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element, without departing from the scope of example embodiments. As used herein, the term "and/or" includes any and all combinations of one or more of the associated listed items.
[32] It will be understood that when an element is referred to as being "connected" or
"coupled" to another element, it may be directly connected or coupled to the other element or intervening elements may be present. In contrast, when an element is referred to as being "directly connected" or "directly coupled" to another element, there are no intervening elements present. Other words used to describe the relationship between elements should be interpreted in a like fashion (e.g., "between" versus "directly between", "adjacent" versus "directly adjacent", etc.).
[33] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises", "comprising,", "includes" and/or "including", when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
[34] It should also be noted that in some alternative implementations, the functions/acts noted may occur out of the order noted in the figures. For example, two figures shown in succession may in fact be executed substantially concurrently or may sometimes be executed in the reverse order, depending upon the functionality/acts involved.
[35] FIG. 1 is a block diagram illustrating an apparatus for reading data according to example embodiments. [36] Referring to FIG. 1, an apparatus for reading data may include a voltage comparing unit 120 and a data read unit 130.
[37] The voltage comparing unit 120 may generate a comparison result by comparing a threshold voltage of a memory cell 110 with a first boundary voltage and a second boundary voltage having a higher voltage level than that of the first boundary voltage.
[38] The first and the second boundary voltages may be included in a boundary area identifying data programmed between states indicative of data (either 0 or 1) programmed in the memory cell 110. In example embodiments, the boundary area identifying the programmed data may be an area where reliability is reduced with respect to read data, and accordingly, at least one boundary area exists. For example, when the memory cell 110 is a Single Level Cell (SLC), one boundary area identifying the programmed data may exist, and when the memory cell 110 is a Multi-Level Cell, at least two boundary areas may exist.
[39] The first and the second boundary voltages may be minimum or maximum voltages of a boundary area where reliability of a read data is insufficient when reading data from the memory cell 110.
[40] The boundary area may vary depending on given circumstances, however, may be determined in consideration of different factors, for example, charge loss, floating poly coupling, and the like.
[41] The memory cell 110 may be a flash memory cell. The flash memory cell may be either a NAND flash memory cell, a NOR flash memory cell.
[42] The memory cell 110 may be either a Multi-Level Cell (MLC) or a Single Level Cell
(SLC).
[43] The data read unit 130 may receive an input of a result value generated from the voltage comparing unit 120, and may determine data of a memory cell based on the inputted result value. For example, the data read unit 130 may read the data of the memory cell based on the result value.
[44] The data read unit 130 may read data of the memory cell 110 as a non-determinable value when a threshold voltage of the memory cell 110 is between the first and the second boundary voltages. For example, the data read unit 130 may fail to determine data of the memory cell as either 0 or 1 , when a result value inputted from the voltage comparing unit 120 is a result value in which the threshold voltage of the memory cell 110 represents a voltage between the first and the second boundary voltages. Thus, the data read unit 130 determine the data of the memory cell as a specific value different from 0 or 1.
[45] When the data of the memory cell having been read by the data read unit 130 is a non-determinable value, the non-determinable value may be changed into a determined value through a decoding process according to an example embodiment. [46] FIG. 2 is an example illustrating an apparatus for reading data according to an example embodiment. [47] FIG. 2 illustrates Least Significant Bit (LSB) data of a memory cell operating in four levels. [48] Referring to FIG. 2, the LSB data of the memory cell may be read by using two boundary voltages between boundary areas identifying the LSB data of the memory cell, that is, 0 and 1. [49] The LSB data of the memory cell is read by using a first boundary voltage (VSEN_IA) and a second boundary voltage (VSEN_IB) between 1 and 0 of the LSB data of the memory cell, that is, between binary 11 and binary 10 of data of the memory cell, and by using a first boundary voltage (VSEN 3A) and a second boundary voltage (VSEN 3B) between 0 and 1 of the LSB data of the memory cell, that is, between binary 00 and binary 01 of data of the memory cell. [50] For example, when a threshold voltage of a memory cell for reading LSB data is either less than VSENMA OΓ greater than VSEN_3B, the LSB data may be read as 1, and when the threshold voltage of the memory cell is a voltage between VSEN_IB and VSEN_3A, the LSB data may be read as 0. [51] Also, when the threshold voltage of the memory cell is between either VSEN_IA and V sENjB or VSEN_3A and VSEN_3B, the LSB data may be read as a specific value different from either 0 or 1. [52] According to an example embodiment, when data of a memory cell fails to be read as either 0 or 1 due to the change of a threshold voltage programmed in the memory cell by charge loss, floating poly coupling, and the like, the read data of the memory cell may be read as a non-determinable value, and the non-determinable value may be changed to either 0 or 1 through a decoding process. [53] FIG. 3 is a configuration block diagram illustrating an apparatus for reading data according to another example embodiment. [54] Referring to FIG. 3, an apparatus for reading data may include a voltage comparing unit 320, a data read unit 330, a decoding unit 340, and/or a data determining unit 350. [55] The voltage comparing unit 320 may generate a comparison result by comparing threshold voltages of memory cells constituting a memory 310 with a first boundary voltage, and a second boundary voltage having a higher voltage level than that of the first boundary voltage, respectively. [56] The first and second boundary voltages may be between boundary areas identifying data programmed in respective memory cells. [57] The first and second boundary voltages may be minimum and maximum voltages of a boundary area where reliability of a read data is insufficient when reading data from a memory cell. [58] Memory cells may be flash memory cells. The flash memory cells may be either
NAND flash memory cells or NOR flash memory cells.
[59] Memory cells may be memory cells of either an MLC method or an SLC method.
[60] The data read unit 330 may receive an input of a result value generated from the voltage comparing unit 320, and determine data of memory cells based on the inputted result value. [61] The data read unit 330 may read data of a memory cell as a non-determinable value when a result value represents a voltage between the first and the second boundary voltages according to the result value inputted from the voltage comparing unit 320.
The data read unit 330 may determine unreliable data of the memory cell as a specific value different from either 0 or 1. [62] The decoding unit 340 may decode data of memory cells determined by the data read unit 330. [63] The decoding unit 340 may perform a distance decoding by using remaining data except for data of non-determinable values from among data of the memory cells determined by the data read unit 340. [64] The decoding unit 340 may perform decoding by using a syndrome calculation in consideration of respective cases for data of non-determinable values from among data of memory cells determined by the data read unit 330. [65] The data determining unit 350 may determine data programmed in memory cells by using a decoded result obtained by the decoding unit 340. [66] The data determining unit 350 may determine data programmed in memory cells based on a distance calculated by a distance decoding, when the decoding unit 340 performs decoding through the distance decoding. [67] An example in association with a process for determining data through the distance decoding will be described below with reference to FIG. 4. [68] FIG. 4 illustrates a distance between an available program code word and a read code word when a Hamming code is used as a code word to be programmed in memory cells and a read code word from the memory cells is " 1010XX1". [69] X denotes a non-determinable value.
[70] Referring to FIG. 4, the decoding unit 340 may perform a calculation of a distance between available program code words with respect to the Hamming code and the read code word, that is, " 1010XX1", by disregarding data of positions corresponding to non-determinable values. [71] Through a distance calculation performed by using only data of remaining positions disregarding data of positions corresponding to the non-determinable values in the read code word, a distance between the read code word and available program code words may be calculated. For example, when calculating a distance between a second available program code word 410, that is, " 1010001 " and a read code word, that is, " 1010XX1", remaining data when disregarding non-determinable values in the read code word are the same with those of the second available program code word, and accordingly, the distance is 0. Also, when calculating a distance between a third available program code word, that is, " 1110010" and a read code word, that is, "1010XX1", a first bit from a right-hand side and a second bit from a left-hand side from among remaining data when disregarding non-determinable values in the read code word are different from those of the third available program code word. Accordingly, the distance is 2.
[72] When a distance between the read code word and available program code words through a distance calculation process as described above is calculated, the data determining unit 350 detects a code word having the least distance value from among the calculated distances, and determines the detected code word as a program code word.
[73] Specifically, in FIG. 4, a code word, that is, " 1010001" where a calculated distance is
0, is determined as the program code word. In this case, every non-determinable values of the read code word are 0, and thus, data stored in memory cells are determined as " 1010001".
[74] In example embodiments, the data determining unit 350 may determine data programmed in memory cells based on a syndrome calculated when the decoding unit 340 performs decoding by using a syndrome calculation.
[75] An example in association with a process for determining data through decoding by the syndrome calculation will be described below with reference to FIG. 5.
[76] FIG. 5 illustrates a syndrome when a Hamming code is used as a code word to be programmed in memory cells and a read code word from memory cells is " 1010X]X2 1".
[77] X1 and X2 denotes non-determinable values.
[78] Referring to FIG. 5, the decoding unit 340 may perform a syndrome calculation with respect to a read code word, that is, " 1010X1X2I". A process of the syndrome calculation with respect to the read code word is well known by those skilled in the art and is therefore omitted here.
[79] A syndrome (s) obtained by the syndrome calculation is " X1[O 1 1] + X2[I 1 I]".
[80] In the syndrome (s) calculated by the decoding unit 340, syndromes are 000, 111,
011, and 100 with respect to each available value, that is, 00, 01, 10, and 11 of X1 and X2, that is, non-determinable values.
[81] The data determining unit 350 verifies erroneous patterns (e) based on syndromes calculated by the decoding unit 340, and determines a cord word programmed in memory cells based on a read code word and erroneous patterns. In example embodiments, the data determining unit 350 calculates available program code words (cp) based on the read code words corresponding to respective non-determinable values and the erroneous patterns, determines an available program code word, that is, " 1010001" having the greatest frequency from among the calculated available program code words as a program code word, and then determines data stored in memory cells as " 1010001".
[82] FIG. 6 is an operation flowchart illustrating a method for reading data according to example embodiments.
[83] Referring to FIG. 6, in operation S610, a method for reading data compares a threshold voltage of a memory cell with a first boundary voltage, and compares the threshold voltage of the memory cell with a second boundary voltage having a higher voltage level than that of the first boundary voltage.
[84] In example embodiments, the first and the second boundary voltages may be two predetermined or given voltages between boundary areas identifying data to be programmed in the memory cell, that is, either 0 or 1.
[85] The number of boundary areas identifying the programmed data may vary depending on operation methods of the memory cell. For example, when the memory cell is of an SLC method, the number of boundary areas identifying the programmed data is one, and when the memory cell is of an MLC method, the number thereof is at least two.
[86] The first and the second boundary voltages are minimum and maximum voltages of a boundary area where reliability of a read data is insufficient when reading data between an area determining data programmed in the memory cell as 0 and an area determining data programmed in the memory cell as 1.
[87] In example embodiments, the boundary area may vary depending on given circumstances, however, may be set in consideration of different factors, for example, charge loss, floating poly coupling, and the like.
[88] In example embodiments, the memory cell may be a flash memory cell, and may be either a NAND flash memory or a NOR flash memory cell.
[89] In example embodiments, the memory cell may be of either an MLC method or an
SLC method.
[90] In operation S620, it is determined whether a threshold voltage of a memory cell is between the first and the second boundary voltages, and when the threshold voltage is between the first and the second boundary voltages in terms of the determined result, the data of the memory cell is read as a non-determinable value in operation S630.
[91] Conversely, in operation S640, when the threshold voltage is not between the first and the second boundary voltages in terms of the determined result of operation 620, the data of the memory is read as data determined by a voltage area where a corresponding threshold voltage is. For example, referring to FIG. 2, when the threshold voltage is either less than VSENJA or greater than VSEΓΌB, LSB data of the memory cell is read as 1.
[92] FIG. 7 is an operation flowchart illustrating a method for reading data according to example embodiments.
[93] Referring to FIG. 7, in operation S710, a method for reading data compares each threshold voltage of memory cells constituting a memory with a first boundary voltage, and compares each threshold voltage thereof with a second boundary voltage.
[94] In example embodiments, the first and the second boundary voltages may be two predetermined or given voltages between boundary areas identifying each data programmed in respective memory cells.
[95] The first and the second boundary voltages are minimum and maximum voltages of a boundary area where reliability of a read data is insufficient when reading data between an area determining data programmed in the memory cell as 0 and an area determining data programmed in the memory cell as 1.
[96] In example embodiments, the memory cells may be flash memory cells, and may be either NAND flash memory cells, or NOR flash memory cells.
[97] In example embodiments, the memory cells may be of either an MLC method or an
SLC method.
[98] In operation S720, threshold voltages of memory cells are determined whether they are between the first and the second boundary voltages, and when the threshold voltage is between the first and the second boundary voltages in terms of the determined result, data of a corresponding memory cell is read as a non-determinable value in operation S730.
[99] Conversely, in operation S740, when the threshold voltage of the memory cell fails to be between the first and the second boundary voltages in terms of the determined result of operation 720, data of a corresponding memory is read as data determined by a voltage area where a corresponding threshold voltage is.
[100] In operation S750, data of the read memory cells is decoded, and data of memory cells including a non-determinable value is determined through a decoding process.
[101] In example embodiments, the data of the read memory cells may perform a distance decoding by using remaining data when disregarding data of non-determinable values from among the data of the read memory cells.
[102] Also, the data of the read memory cells may perform decoding by using a syndrome calculation in consideration of respective cases for data of non-determinable values from among the data of the read memory cells.
[103] FIG. 8 is an operation flowchart illustrating example embodiments of operation S750 illustrated in FIG. 7.
[104] Referring to FIG. 8, in operation S810, the determining of the data of the memory cells calculates a distance between code words in which data of memory cells is read, and predetermined available program code words.
[105] In example embodiments, the available program code words may vary depending on a code used when programming data in memory cells.
[106] Operation S810 for calculating distances may be performed by using remaining data excluding non-determinable values included in the read code word. In example embodiments, when the read code word is seven bits and two bits are undetermined, a distance between an available program code word and a read code word is calculated by using data of five bits.
[107] In operation S820, an available program code word of a distance having a least value among the calculated distances is detected. In example embodiments, a code word having a greatest probability from among available program code words is detected.
[108] In operation S830, the detected available program code word may be determined as a program code word stored in the memory cells, and data of the memory cells is determined.
[109] FIG. 9 is an operation flowchart illustrating example embodiments of operation S750 illustrated in FIG. 7, in detail.
[110] Referring to FIG. 9, in operation S910, the determining of the data of the memory cells may calculate a syndrome with respect to read code words, that is, data of the memory cells.
[I l l] In operation S920, syndromes with respect to respective cases of non-determinable values included in the calculated syndrome may be detected. For example, when two non-determinable values are included in a reception code word, four syndromes are detected.
[112] In operation S930, erroneous patterns corresponding to respective syndromes may be identified based on the detected syndromes.
[113] In operation S940, available program code words may be calculated based on erroneous patterns and read code words. For example, when programming data in memory cells by using a Hamming code, available program code words may be calculated by performing an add operation between read code words applying either 0 or 1 to respective non-determinable values and corresponding erroneous patterns.
[114] In operation S950, an available program code word having a greatest frequency from among the calculated available code words may be determined as a program code word stored in the memory cells, and data of the memory cells is determined.
[115] FIG. 10 is a diagram illustrating a soft decision value according to example embodiments. Hereinafter, a method for reading data according to example embodiments will be described with reference to FIG. 10 and also, with reference to FIGS. 1 and 2.
[116] Referring to FIGS. 1 and 2, according to example embodiments, the data read unit 130 receives an input of a result value generated from the voltage comparing unit 120, and determines data of a memory cell based on the inputted result value. In example embodiments, the data read unit 130 may determine data of the memory cell 110 as a non-determinable value when a threshold voltage of the memory cell 110 is between the first and the second boundary voltages, as previously described above.
[117] However, according to example embodiments, the data read unit 130 generates a soft decision value depending on reliability of data and carries out an additional reading operation with respect to unreliable intervals, as necessary, to generate a more accurate soft decision value. Thus, a process for improving the accuracy of read data in the unreliable interval may be performed even before the operation of decoding of data, thereby determining more accurate data of the memory cell.
[118] For example, as illustrated in FIG. 10, the data read unit 130 may additionally carry out a reading operation in order to determine a more accurate position of the threshold voltage of the memory cell, since there is a possibility that the threshold voltage of the memory cell is between VSEN_IA of a first boundary voltage and VSEN_IB of a second boundary voltage. When the threshold voltage is similar to the first boundary voltage, the data read unit 130 determines the data of the memory cell as a specific soft decision value so that the specific soft decision value includes information where the threshold voltage is closer to the first boundary voltage than the second boundary voltage.
[119] Also, when the threshold voltage is closer to the second boundary voltage, the data read unit 130 determines the data of the memory cell as a specific soft decision value so that the specific soft decision value includes information where the threshold voltage is closer to the second boundary voltage than the first boundary voltage.
[120] In example embodiments, as illustrated in FIG. 10, when LSB data of a certain memory cell is 1 , a soft decision value is '11', and when the LSB data is 0, the soft decision value is '00'. In this regard, when a threshold voltage of the memory cell is closer to the first boundary voltage than the second boundary voltage, the data read unit 130 reads '10' as a soft decision value with respect to the data of the memory cell. Conversely, when the threshold voltage of the memory cell is closer to the second boundary voltage than the first boundary voltage, the data read unit 130 reads '01' as a soft decision value with respect to the data of the memory cell.
[121] Thus, when a threshold voltage is between the first and the second boundary voltages, that is, the threshold voltage is in an unreliable interval, the data read unit 130 reads information about which boundary voltage is closer to the threshold voltage, and decodes the read information, so that the accuracy of the data is improved.
[122] Also, explanations of another VSEN_IA of a first boundary voltage and VSEN_IB of a second boundary voltage are the same as those descriptions above, and thus their repetitive explanations will be omitted.
[123] FIG. 11 is diagram illustrating a soft decision value according to example em- bodiments. Hereinafter, a method for reading data according example embodiments will be described with reference to FIG. 11, and also, with reference to FIGS. 1, 2, and 10. For reference, when comparing FIG. 11 with FIG. 10, a soft decision value is 2 bits in FIG. 10, and a soft decision value is 3 bits in FIG. 11. Thus, even though detailed explanation for the soft decision value of FIG. 11 will be omitted, example embodiments will be easily understood by those skilled in the art through the explanation of FIG. 10.
[124] In example embodiments, as illustrated in FIG. 11, when LSB data of a certain memory cell is 1, a soft decision value is '111', and when the LSB data is 0, the soft decision value is 1OOO1. In this regard, when a threshold voltage of the memory cell is closer to the first boundary voltage than the second boundary voltage, the data read unit 130 reads '110' as a soft decision value with respect to the data of the memory cell. Conversely, when the threshold voltage of the memory cell is closer to the second boundary voltage than the first boundary voltage, the data read unit 130 reads '100' as a soft decision value with respect to the data of the memory cell. Also, when the threshold voltage is in a specific middle interval between the first and the second boundary voltages, the data read unit 130 reads '101' as a soft decision value with respect to the data of the memory cell.
[125] Soft decision values of 2 bits and 3 bits are used as examples, however, example embodiments are not limited thereto. A soft decision value having a different number of bits (n>3) may also be used as an example.
[126] The data reading method according to example embodiments may be recorded in computer-readable media including program instructions to implement various operations embodied by a computer. The media may also include, alone or in combination with the program instructions, data files, data structures, and the like. The media and program instructions may be those specially designed and constructed for the purposes example embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer- readable media include magnetic media , for example, hard disks, floppy disks, and magnetic tape; optical media , for example, CD ROM disks and DVD; magneto-optical media , for example, optical disks; and hardware devices that are specially configured to store and perform program instructions, for example, read-only memory (ROM), random access memory (RAM), flash memory, and the like. The media may also be a transmission medium , for example, optical or metallic lines, wave guides, etc. including a carrier wave transmitting signals specifying the program instructions, data structures, etc. Examples of program instructions include both machine code , for example, produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter. The described hardware devices may be configured to act as one or more software modules in order to perform the operations of example embodiments.
[127] As described above, according to example embodiments, a voltage area having a deteriorated reliability between states indicating what the data of the flash memory should be determined as, and then when a threshold voltage of the flash memory cell is positioned at a voltage area having a deteriorated reliability, the threshold voltage of the flash memory cell is outputted as a non-determinable value.
[128] According to example embodiments, data of memory cells including a non- determinable value may be determined by decoding data of flash memory cells having been read through the method for reading data, thereby increasing reliability with respect to data of read memory cells.
[129] According to example embodiments, a non-determinable value may be determined as data having a high or low value through a decoding process, even though a non- determinable value is output due to the change of the threshold voltage of the flash memory cell.
[130] Example embodiments having thus been described, it will be obvious that the same may be varied in many ways. Such variations are not to be regarded as a departure from the intended spirit and scope of example embodiments, and all such modifications as would be obvious to one skilled in the art are intended to be included within the scope of the following claims.

Claims

Claims
[ 1 ] A method for reading data, comprising: comparing a threshold voltage of a memory cell with a first boundary voltage; comparing the threshold voltage with a second boundary voltage having a higher voltage level than that of the first boundary voltage; and determining data of the memory cell based on the threshold voltage, the first boundary voltage, and the second boundary voltage.
[2] The method of claim 1, wherein the determining of the data determines the data of the memory cell based on the compared results between the threshold voltage and the first boundary voltage, and between the threshold voltage and the second boundary voltage.
[3] The method of claim 2, wherein the determining of the data determines the data of the memory cell as a preset non-determinable value when the threshold voltage is between the first and the second boundary voltages.
[4] The method of claim 2, wherein the memory cell is a flash memory cell.
[5] The method of claim 4, wherein the memory cell is of a Multi-Level Cell (MLC) method.
[6] The method of claim 4, wherein the memory cell is of a Single Level Cell (SLC) method.
[7] The method of claim 2, wherein the first and the second boundary voltages correspond to two voltages between boundary areas of identifying data programmed in the memory cell.
[8] The method of claim 2, further comprising: decoding the determined data of a plurality of memory cells; and determining data programmed in the memory cells through the decoding.
[9] The method of claim 8, wherein the decoding performs a distance decoding by using the data of the memory cells.
[10] The method of claim 8, wherein the decoding calculates a syndrome by using the data of the memory cells, and performs a decoding by using the calculated syndrome.
[11] A computer-readable recording medium storing a program for implementing the method of claim 2.
[12] The method of claim 1, wherein the determining of the data determines the data of the memory cell as a soft decision value based on whether the threshold voltage is similar to the first boundary voltage or to the second boundary voltage.
[13] The method of claim 12, wherein the determining determines the data of the memory cell as a specific soft decision value when the threshold voltage is closer to the first boundary voltage than the second boundary voltage so that the specific soft decision value includes information where the threshold voltage is closer to the first boundary voltage than the second boundary voltage.
[14] The method of claim 12, wherein the determining determines the data of the memory cell as a specific soft decision value when the threshold voltage is closer to the second boundary voltage than the first boundary voltage so that the specific soft decision value includes information where the threshold voltage is closer to the second boundary voltage than the first boundary voltage.
[15] The method of claim 12, further comprising: decoding the determined data of a plurality of memory cells; and determining data programmed in the memory cells through the decoding.
[16] A computer-readable recording medium storing a program for implementing the method of claim 12.
[17] An apparatus for reading data, comprising: a voltage comparing unit which compares a threshold voltage of a memory cell with a first boundary voltage, and compares another threshold voltage of the memory cell with a second boundary voltage having a higher voltage level than that of the first boundary voltage, and then generates a result value depending on the compared results; and a data read unit which determines the data of the memory cell based on the result value inputted from the voltage comparing unit.
[18] The apparatus of claim 17, wherein the data read unit determines the data of the memory cell as a preset non-determinable value when the threshold voltage represents a voltage between the first and the second boundary voltages according to the result value inputted from the voltage comparing unit.
[19] The apparatus of claim 18, wherein the memory cell is a flash memory cell.
[20] The apparatus of claim 19, wherein the memory cell is of a Multi-Level Cell
(MLC) method.
[21] The apparatus of claim 19, wherein the memory cell is of a Single Level Cell
(SLC) method.
[22] The apparatus of claim 18, further comprising: a decoding unit which receives and decodes an input of data of a plurality of memory cells determined by the data read unit; and a data determining unit which receives an input of the data of the memory cells decoded by the decoding unit and determines data programmed in the memory cells through the decoded data of the memory cells.
[23] The apparatus of claim 22, wherein the decoding unit performs a distance decoding by using the data of the memory cells.
[24] The apparatus of claim 22, wherein the decoding unit calculates a syndrome by using the data of the memory cells, and performs a decoding by using the calculated syndrome.
[25] The apparatus of claim 17, wherein the data read unit determines the data of the memory cell as a soft decision value based on whether the threshold voltage is approximate to the first boundary voltage or to the second boundary voltage.
[26] The apparatus of claim 25, wherein the data read unit determines the data of the memory cell as a specific soft decision value when the threshold voltage is closer to the first boundary voltage than the second boundary voltage so that the specific soft decision includes information where the threshold voltage is closer to the first boundary voltage than the second boundary voltage.
[27] The apparatus of claim 25, wherein the data read unit determines the data of the memory cell as a specific soft decision value, when the threshold voltage is closer to the second boundary voltage than the first boundary voltage so that the specific soft decision value includes information where the threshold voltage is closer to the second boundary voltage than the first boundary voltage.
[28] The apparatus of claim 25, further comprising: a decoding unit which receives and decodes an input of data of a plurality of memory cells determined by the data read unit; and a data determining unit which receives an input of the data of the memory cells decoded by the decoding unit and determines data programmed in the memory cells through the decoded data of the memory cells.
PCT/KR2008/000239 2007-05-14 2008-01-15 Apparatus for reading data and method using the same WO2008140171A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010508281A JP5385261B2 (en) 2007-05-14 2008-01-15 Data reading apparatus and method

Applications Claiming Priority (4)

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

Publications (1)

Publication Number Publication Date
WO2008140171A1 true WO2008140171A1 (en) 2008-11-20

Family

ID=40002347

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2008/000239 WO2008140171A1 (en) 2007-05-14 2008-01-15 Apparatus for reading data and method using the same

Country Status (2)

Country Link
US (1) US7800954B2 (en)
WO (1) WO2008140171A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010123236A (en) * 2008-08-08 2010-06-03 Marvell World Trade Ltd Accessing memory using fractional reference voltage

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101775660B1 (en) 2011-09-29 2017-09-07 삼성전자주식회사 Method of reading memory cells with different threshold voltages without variation of word line voltage and nonvolatile memory device using the same
KR20200142219A (en) 2019-06-12 2020-12-22 삼성전자주식회사 Electronic device and method of utilizing storage space thereof
CN113129993A (en) * 2020-01-16 2021-07-16 华邦电子股份有限公司 Memory device and data reading method thereof
US11127473B1 (en) * 2020-04-14 2021-09-21 Winbond Electronics Corp. Memory apparatus and data reading method thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5539690A (en) * 1994-06-02 1996-07-23 Intel Corporation Write verify schemes for flash memory with multilevel cells
US7170791B2 (en) * 2003-05-20 2007-01-30 Sharp Kabushiki Kaisha Programming verification method of nonvolatile memory cell, semiconductor memory device, and portable electronic apparatus having the semiconductor memory device
US20070171744A1 (en) * 2005-12-28 2007-07-26 Nima Mokhlesi Memories with alternate sensing techniques

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW367503B (en) * 1996-11-29 1999-08-21 Sanyo Electric Co Non-volatile semiconductor device
JP4246831B2 (en) 1999-02-08 2009-04-02 株式会社東芝 Data identification method for semiconductor integrated circuit device
JP4068863B2 (en) 2002-03-08 2008-03-26 富士通株式会社 Nonvolatile multilevel semiconductor memory
US6992932B2 (en) * 2002-10-29 2006-01-31 Saifun Semiconductors Ltd Method circuit and system for read error detection in a non-volatile memory array
DE60317768T2 (en) * 2003-04-10 2008-11-27 Stmicroelectronics S.R.L., Agrate Brianza Method for reading out a non-volatile memory device and associated device
KR100729357B1 (en) 2005-08-25 2007-06-15 삼성전자주식회사 Flash memory device capable of improving read speed

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5539690A (en) * 1994-06-02 1996-07-23 Intel Corporation Write verify schemes for flash memory with multilevel cells
US7170791B2 (en) * 2003-05-20 2007-01-30 Sharp Kabushiki Kaisha Programming verification method of nonvolatile memory cell, semiconductor memory device, and portable electronic apparatus having the semiconductor memory device
US20070171744A1 (en) * 2005-12-28 2007-07-26 Nima Mokhlesi Memories with alternate sensing techniques

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010123236A (en) * 2008-08-08 2010-06-03 Marvell World Trade Ltd Accessing memory using fractional reference voltage
JP2014160534A (en) * 2008-08-08 2014-09-04 Marvell World Trade Ltd Memory access utilizing partial reference voltage
US8867268B2 (en) 2008-08-08 2014-10-21 Marvell World Trade Ltd. Accessing memory using reference voltages

Also Published As

Publication number Publication date
US7800954B2 (en) 2010-09-21
US20080285340A1 (en) 2008-11-20

Similar Documents

Publication Publication Date Title
US8200607B2 (en) Memory devices and data decision methods
EP1440447B1 (en) Error management for writable tracking storage units storing reference values
KR101413137B1 (en) Memory device and memory programming method
US8621334B1 (en) Log-likelihood-ratio (LLR) table calibration
US9367389B2 (en) Recovery strategy that reduces errors misidentified as reliable
US9990247B2 (en) Write mapping to mitigate hard errors via soft-decision decoding
US8499217B2 (en) Memory device and error control codes decoding method
JP5432189B2 (en) Apparatus and method for hybrid detection of memory data
KR101434405B1 (en) Memory device and memory data read method
US20150220391A1 (en) Identification and mitigation of hard errors in memory systems
JP5773367B2 (en) Memory device and memory programming method
WO2009048214A1 (en) Apparatus and method of multi-bit programming
WO2014130556A1 (en) Method and system for improving data integrity in non-volatile storage
KR20110092091A (en) Flash memory device and reading method thereof
JP2011514618A (en) Memory device and method
WO2008156238A1 (en) Method and apparatus for controlling reading level of memory cell
WO2008140171A1 (en) Apparatus for reading data and method using the same
WO2009107917A1 (en) Apparatus for determining number of bits to be stored in memory cell
US11024391B1 (en) System and method for estimating uninformed log-likelihood ratio (LLR) for NAND flash memories
US20160179619A1 (en) Read-detection in multi-level cell memory
US9477540B2 (en) Multi-stage codeword detector
US20210067178A1 (en) Method for selectively inverting words to be written to a memory and device for implementing same
KR20080107921A (en) Apparatus for programming a data of memory cell considering floating poly coupling and method using the same
KR20080100750A (en) Apparatus for reading data and method using the same

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08704778

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010508281

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08704778

Country of ref document: EP

Kind code of ref document: A1