US20100290282A1 - Method and system for adaptively finding reference voltages for reading data from a mlc flash memory - Google Patents

Method and system for adaptively finding reference voltages for reading data from a mlc flash memory Download PDF

Info

Publication number
US20100290282A1
US20100290282A1 US12/464,240 US46424009A US2010290282A1 US 20100290282 A1 US20100290282 A1 US 20100290282A1 US 46424009 A US46424009 A US 46424009A US 2010290282 A1 US2010290282 A1 US 2010290282A1
Authority
US
United States
Prior art keywords
threshold voltage
flash memory
initial
voltages
data
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
US12/464,240
Other versions
US7848152B1 (en
Inventor
Chien-Fu Huang
Ming-Hung Chou
Han-Lung Huang
Shih-Keng Cho
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Corp
Skymedi Corp
Original Assignee
Fujifilm Corp
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 Fujifilm Corp filed Critical Fujifilm Corp
Priority to US12/464,240 priority Critical patent/US7848152B1/en
Assigned to SKYMEDI CORPORATION reassignment SKYMEDI CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CHO, SHIH-KENG, CHOU, MING-HUNG, HUANG, CHIEN-FU, HUANG, HAN-LUNG
Priority to TW098119665A priority patent/TWI370459B/en
Priority to US12/915,573 priority patent/US8355285B2/en
Publication of US20100290282A1 publication Critical patent/US20100290282A1/en
Application granted granted Critical
Publication of US7848152B1 publication Critical patent/US7848152B1/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel programming verification
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/563Multilevel memory reading aspects
    • G11C2211/5634Reference cells

Definitions

  • the present invention generally relates to multi-level cell (MLC) flash memory, and more particularly to method and system for adaptively finding reference voltages for reading data from the MLC flash memory.
  • MLC multi-level cell
  • Flash memory is a non-volatile solid state memory device that can be electrically erased and reprogrammed, and is a specific type of electrically erasable programmable read-only memory (EEPROM) device.
  • EEPROM electrically erasable programmable read-only memory
  • Conventional flash memory stores a single bit of information in each memory cell such that each memory cell can be programmed to assume two possible states.
  • the conventional flash memory is thus commonly referred to as single-level cell (SLC) flash memory or single-bit cell (SBC) flash memory.
  • SLC single-level cell
  • SBC single-bit cell
  • Modern flash memory is capable of storing two or more bits of information in each memory cell such that each memory cell can be programmed to assume more than two possible states.
  • the modern flash memory is thus commonly referred to as multi-level cell (MLC) flash memory or multi-bit cell (MBC) flash memory.
  • MLC multi-level cell
  • MLC multi-bit cell
  • FIG. 1 shows a common distribution of the threshold voltage for a typical MLC flash memory (a three-bit cell flash memory is exemplified here).
  • the entire voltage range (e.g., Vmin through Vmax) is divided into a number of regions (e.g., eight regions in the example), each region corresponding to one state.
  • the number of cells of each threshold voltage is collected as illustrated.
  • the threshold voltage of a cell is compared to reference voltages (e.g., V 1 , V 2 , etc. in the figure) to determine its state. For example, if the threshold voltage of a cell is within the reference voltages V 4 and V 5 , the “011” state is thus determined and read from the flash memory.
  • the reference voltages for reading data from the traditional MLC flash memory are constant.
  • the threshold voltage distribution (e.g., the distribution in FIG. 1 ) may probably change after the flash memory has been subject to a predetermined number of program/erase cycles or/and a predetermined data retention time has elapsed.
  • the initial distribution represented by the (dotted) curve 20 with reference voltage V 4 may be suffered from retention issue after a long time not going through program/erase cycle, and therefore drifted downward to a shifted distribution represented by the (solid) curve 22 with a new reference voltage V 4 ′. Errors probably incur if the reference voltage V 4 of the initial distribution 20 is still used (while the new reference voltage V 4 ′ is unknown) to read data from the flash memory.
  • an initial threshold voltage distribution includes data pairs ⁇ N,V>, each including normalized number N of cells of the flash memory and corresponding threshold voltage V in the initial threshold voltage distribution.
  • the normalized number N 1 of the cells corresponding to a given threshold voltage V 1 in a shifted threshold voltage distribution to be determined is obtained.
  • initial reference voltage or voltages of the initial threshold voltage distribution are shifted with an amount approximate to difference between the threshold voltage V 2 and the given threshold voltage V 1 , thereby resulting in new reference voltage or voltages for reading the data from the MLC flash memory.
  • total number N of cells of the flash memory above a reference threshold voltage of a reference state in an initial threshold voltage distribution is provided. Subsequently, search to find a threshold voltage Va corresponding to a state above which totals number of the cells is approximate to the total number N. Finally, initial reference voltage or voltages of the initial threshold voltage distribution are shifted with an amount approximate to difference between the threshold voltage Va and the reference threshold voltage, thereby resulting in new reference voltage or voltages for reading the data from the MLC flash memory.
  • FIG. 1 shows a common distribution of the threshold voltage for a typical MLC flash memory
  • FIG. 2 shows that a portion of the threshold voltage distribution in FIG. 1 changes after the flash memory has been subject to program/erase cycles or/and data retention time has elapsed;
  • FIG. 3A shows an exemplary threshold voltage distribution of a MLC flash memory, illustrating the aspect according to the first embodiment of the present invention
  • FIG. 3B shows a flow diagram corresponding to the aspect of the first embodiment of FIG. 3A ;
  • FIG. 4A shows an exemplary threshold voltage distribution of a MLC flash memory, illustrating the aspect according to the second embodiment of the present invention
  • FIG. 4B shows a flow diagram corresponding to the aspect of the second embodiment of FIG. 4A ;
  • FIG. 5 shows a block diagram illustrating a memory system for adaptively finding proper reference voltages for reading data from a MLC flash memory according to one embodiment of the present invention.
  • FIG. 3A shows an exemplary threshold voltage distribution of a multi-level cell (MLC) flash memory, illustrating the aspect according to the first embodiment of the present invention.
  • FIG. 3B shows a flow diagram corresponding to the aspect of the first embodiment.
  • (solid) curve 300 represents the initial distribution of the threshold voltage of a state of the flash memory.
  • Another (dotted) curve 302 in FIG. 3A represents a threshold voltage distribution after the flash memory has been subject to a predetermined number of program/erase cycles or/and a predetermined data retention time has elapsed.
  • the curve 302 is supposed to shift or drift downward (e.g., leftward in the figure) as shown due to the cycle/retention issue after a long time not going through program/erase cycle. It is noted that only one state is shown while other states are omitted in the figure for brevity.
  • the flash memory is requested by a read command (the step 31 )
  • the number of cells for example, N 1
  • a threshold voltage for example, V 1
  • N 1 the number of cells of a state or states from a spare area of the flash memory which we store at program phase. If the number of cells at that state is N, the value N 1 is normalized (in the step 32 ) to be N 1 /N.
  • normalized ⁇ N,V> data of the initial distribution represented by the curve 300 are retrieved.
  • the known normalized ⁇ N,V> data is stored beforehand, for example, in a look up table (LUT), where N represents the normalized number of cells and V represents the corresponding threshold voltage.
  • the step 34 compare the normalized ⁇ N 1 ,V 1 > of the shifted distribution 302 with the normalized ⁇ N,V> of the initial distribution 300 in order to find the threshold voltage V 2 in the initial threshold voltage distribution 300 which has a corresponding normalized number N 2 of cells approximate the value N 1 .
  • the search for finding the threshold voltage V 2 may utilize a conventional search method.
  • the term “approximate” may mean that the number to be searched is within a predetermined range of a target value N 1 , and may include the case in which the searched number is equal to the target value.
  • a new reference voltage for reading data from the MLC flash memory due to the cycle/retention issue is obtained by shifting the original reference voltage downward with the amount of the difference of V 2 and V 1 (i.e., V 2 ⁇ V 1 ).
  • all reference voltages are shifted with the same amount V 2 ⁇ V 1 .
  • different reference voltage is shifted with different amount. For example, if the calculated shift amount for the reference voltage V 7 is 1 volts, then the shift amount for the reference voltage V 6 may be 0.9 volts, and the shift amount for the reference voltage V 5 may be 0.8 volts.
  • FIG. 4A shows an exemplary threshold voltage distribution of a MLC flash memory, illustrating the aspect according to the second embodiment of the present invention.
  • FIG. 4B shows a flow diagram corresponding to the aspect of the second embodiment.
  • (solid) curves 400 represent the initial distribution of the threshold voltage of the states of the flash memory.
  • Another (dotted) curves 402 in the FIG. 4A represent a threshold voltage distribution after the flash memory has been subject to a predetermined number of program/erase cycles or/and a predetermined data retention time has elapsed.
  • the curves 402 are supposed to shift or drift downward (e.g., leftward in the figure) as shown due to the cycle/retention issue after a long time not going through program/erase cycle.
  • the step 41 after the flash memory is requested by a read command (the step 41 ), the total number Na of the cells above a specific state (e.g., above the threshold voltage Va) of the shifted distribution 402 is obtained (the step 42 ). Subsequently, search to find a reference state (such as the program verify voltage Vpv in FIG. 4A ), above which the total number N of cells is equal or approximate to Na.
  • the number N is compared with the number Na (the step 45 ). If the difference (N ⁇ Na) is not less than a predetermined value m (such as the acceptable error tolerance) and the maximum world line voltage has not been reached (the step 46 ), next word line voltage is then set (the step 47 ).
  • the steps 44 - 45 iterate until the difference (N ⁇ Na) is less than the predetermined m (the step 45 ) or the maximum world line voltage has been reached (the step 46 ).
  • a new reference voltage for reading data from the MLC flash memory due to the cycle/retention issue is obtained by shifting the original reference voltage downward with the amount of the difference of Vpv and Va (i.e., Vpv ⁇ Va). In one exemplary embodiment, all reference voltages are shifted with the same amount Vpv-Va. In another exemplary embodiment, different reference voltage is shifted with different amount.
  • the embodiments of the present invention associate a first threshold voltage (e.g., V 2 in FIG. 3A or Vpv in FIG. 4A ) in the initial distribution with a second threshold voltage (e.g., V 1 in FIG. 3A or Va in FIG. 4A ) in a shifted distribution to be determined, such that the information (e.g., the normalized number N 1 of cells in FIG. 3A or the total number Na of cells above a state in FIG. 4A ) corresponding to the second threshold voltage is approximate to the information corresponding to the first threshold voltage.
  • a first threshold voltage e.g., V 2 in FIG. 3A or Vpv in FIG. 4A
  • a second threshold voltage e.g., V 1 in FIG. 3A or Va in FIG. 4A
  • the difference between the first threshold voltage and the second threshold voltage is then determined and subsequently utilized to correct the reference voltage(s) of the initial threshold voltage distribution due to the cycle/retention issue. It is worthy of noting that, as the effort to obtain the information and determine the difference concerns only basic calculations, the embodiments of the present invention may not only effectively but also economically find proper reference voltages for reading data from a MLC flash memory without much latency.
  • FIG. 5 shows a block diagram illustrating a memory system 5 for adaptively finding proper reference voltages for reading data from a MLC flash memory according to one embodiment of the present invention.
  • the memory system 5 may be adapted to the first embodiment (Fir. 3 A/B) or the second embodiment (FIG. 4 A/B).
  • the memory system 5 includes a flash memory 50 and a memory controller 52 .
  • Data may be written (programmed) to or read from the flash memory 50 from/to a host (not shown) through the memory controller 52 .
  • the flash memory 50 the data being written to or read from the memory cells (not shown) of the flash memory 50 may be temporarily stored in a page buffer 500 , and operation and timing of the flash memory 50 is managed by control logic 502 .
  • a data buffer 520 is used for temporarily storing data and for interfacing with the flash memory 50
  • control logic 522 is used for managing the operation and timing of the memory controller 52 .
  • the memory controller 52 further includes a data pair ⁇ N,V> generator 524 that generates the normalized number N 1 of cells corresponding to respective threshold voltage V 1 (in the first embodiment) or generates the total number Na of cells above respective state (in the second embodiment).
  • the memory controller 52 also includes a reference voltage decision device 528 that associates a first threshold voltage (e.g., V 2 in FIG. 3A or Vpv in FIG. 4A ) in the initial distribution with a second threshold voltage (e.g., V 1 in FIG. 3A or Va in FIG. 4A ) in a shifted distribution to be determined, such that the information (e.g., the normalized number N 1 of cells in FIG. 3A or the total number Na of cells above a state in FIG.
  • the blocks ( 500 - 528 ) of the memory system 5 may be implemented using hardware technique (such as circuit) or software technique (such as program run on a microcontroller) or their combination.

Abstract

A method and system for adaptively finding reference voltages for reading data from a multi-level cell (MLC) flash memory is disclosed. According to one embodiment, information about an initial threshold voltage distribution is firstly provided. A first threshold voltage in the initial threshold voltage distribution is then associated with a second threshold voltage in a shifted threshold voltage distribution to be determined, such that the information corresponding to the first threshold voltage is approximate to the information corresponding to the second threshold voltage. Accordingly, initial reference voltage or voltages of the initial threshold voltage distribution are shifted with an amount approximate to difference between the first threshold voltage and the second threshold voltage, thereby resulting in new reference voltage or voltages for reading the data from the MLC flash memory.

Description

    BACKGROUND OF THE INVENTION
  • 1. Field of the Invention
  • The present invention generally relates to multi-level cell (MLC) flash memory, and more particularly to method and system for adaptively finding reference voltages for reading data from the MLC flash memory.
  • 2. Description of the Prior Art
  • Flash memory is a non-volatile solid state memory device that can be electrically erased and reprogrammed, and is a specific type of electrically erasable programmable read-only memory (EEPROM) device. Conventional flash memory stores a single bit of information in each memory cell such that each memory cell can be programmed to assume two possible states. The conventional flash memory is thus commonly referred to as single-level cell (SLC) flash memory or single-bit cell (SBC) flash memory. Modern flash memory is capable of storing two or more bits of information in each memory cell such that each memory cell can be programmed to assume more than two possible states. The modern flash memory is thus commonly referred to as multi-level cell (MLC) flash memory or multi-bit cell (MBC) flash memory.
  • In the MLC flash memory, data of different state are written to the flash memory (which is commonly referred as programming the flash memory) by storing different amount of charge in the floating gate of the flash memory. As the charge in the floating gate specifically determines the corresponding threshold voltage, the data can then be read from the MLC flash memory according to their different threshold voltage. Due to variations among the memory cells during the manufacture, operation or according to other factors, the threshold voltage of each state is not a constant value but a range. FIG. 1 shows a common distribution of the threshold voltage for a typical MLC flash memory (a three-bit cell flash memory is exemplified here). The entire voltage range (e.g., Vmin through Vmax) is divided into a number of regions (e.g., eight regions in the example), each region corresponding to one state. The number of cells of each threshold voltage is collected as illustrated. When the flash memory is being read, the threshold voltage of a cell is compared to reference voltages (e.g., V1, V2, etc. in the figure) to determine its state. For example, if the threshold voltage of a cell is within the reference voltages V4 and V5, the “011” state is thus determined and read from the flash memory.
  • The reference voltages for reading data from the traditional MLC flash memory are constant. In practice, however, the threshold voltage distribution (e.g., the distribution in FIG. 1) may probably change after the flash memory has been subject to a predetermined number of program/erase cycles or/and a predetermined data retention time has elapsed. For example, as shown in FIG. 2 (in which only two states are concerned and shown for illustrative purpose), the initial distribution represented by the (dotted) curve 20 with reference voltage V4 may be suffered from retention issue after a long time not going through program/erase cycle, and therefore drifted downward to a shifted distribution represented by the (solid) curve 22 with a new reference voltage V4′. Errors probably incur if the reference voltage V4 of the initial distribution 20 is still used (while the new reference voltage V4′ is unknown) to read data from the flash memory.
  • For the reason that conventional MLC flash memory could probably result in read errors due to cycle/retention issue, a need has arisen to propose some novel schemes to obtain proper reference voltages for reading data from the MLC flash memory.
  • SUMMARY OF THE INVENTION
  • In view of the foregoing, it is an object of the present invention to provide system and method for effectively and economically finding proper reference voltages for reading data from a MLC flash memory without errors due to cycle/retention issue.
  • According to one embodiment, an initial threshold voltage distribution is provided that includes data pairs <N,V>, each including normalized number N of cells of the flash memory and corresponding threshold voltage V in the initial threshold voltage distribution. The normalized number N1 of the cells corresponding to a given threshold voltage V1 in a shifted threshold voltage distribution to be determined is obtained. Subsequently, search to find, in the initial threshold voltage distribution, a threshold voltage V2 which has a corresponding normalized number of cells approximate to the number N1. Finally, initial reference voltage or voltages of the initial threshold voltage distribution are shifted with an amount approximate to difference between the threshold voltage V2 and the given threshold voltage V1, thereby resulting in new reference voltage or voltages for reading the data from the MLC flash memory.
  • According to another embodiment, total number N of cells of the flash memory above a reference threshold voltage of a reference state in an initial threshold voltage distribution is provided. Subsequently, search to find a threshold voltage Va corresponding to a state above which totals number of the cells is approximate to the total number N. Finally, initial reference voltage or voltages of the initial threshold voltage distribution are shifted with an amount approximate to difference between the threshold voltage Va and the reference threshold voltage, thereby resulting in new reference voltage or voltages for reading the data from the MLC flash memory.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 shows a common distribution of the threshold voltage for a typical MLC flash memory;
  • FIG. 2 shows that a portion of the threshold voltage distribution in FIG. 1 changes after the flash memory has been subject to program/erase cycles or/and data retention time has elapsed;
  • FIG. 3A shows an exemplary threshold voltage distribution of a MLC flash memory, illustrating the aspect according to the first embodiment of the present invention;
  • FIG. 3B shows a flow diagram corresponding to the aspect of the first embodiment of FIG. 3A;
  • FIG. 4A shows an exemplary threshold voltage distribution of a MLC flash memory, illustrating the aspect according to the second embodiment of the present invention;
  • FIG. 4B shows a flow diagram corresponding to the aspect of the second embodiment of FIG. 4A; and
  • FIG. 5 shows a block diagram illustrating a memory system for adaptively finding proper reference voltages for reading data from a MLC flash memory according to one embodiment of the present invention.
  • DETAILED DESCRIPTION OF THE INVENTION
  • FIG. 3A shows an exemplary threshold voltage distribution of a multi-level cell (MLC) flash memory, illustrating the aspect according to the first embodiment of the present invention. FIG. 3B shows a flow diagram corresponding to the aspect of the first embodiment. In FIG. 3A, (solid) curve 300 represents the initial distribution of the threshold voltage of a state of the flash memory. Another (dotted) curve 302 in FIG. 3A represents a threshold voltage distribution after the flash memory has been subject to a predetermined number of program/erase cycles or/and a predetermined data retention time has elapsed. The curve 302 is supposed to shift or drift downward (e.g., leftward in the figure) as shown due to the cycle/retention issue after a long time not going through program/erase cycle. It is noted that only one state is shown while other states are omitted in the figure for brevity.
  • In the embodiment, after the flash memory is requested by a read command (the step 31), we can get from the flash memory the number of cells (for example, N1) at a threshold voltage (for example, V1). What we can also get from the flash memory is the number of cells of a state or states from a spare area of the flash memory which we store at program phase. If the number of cells at that state is N, the value N1 is normalized (in the step 32) to be N1/N.
  • Subsequently, in the step 33, normalized <N,V> data of the initial distribution represented by the curve 300 are retrieved. The known normalized <N,V> data is stored beforehand, for example, in a look up table (LUT), where N represents the normalized number of cells and V represents the corresponding threshold voltage.
  • Next, in the step 34, compare the normalized <N1,V1> of the shifted distribution 302 with the normalized <N,V> of the initial distribution 300 in order to find the threshold voltage V2 in the initial threshold voltage distribution 300 which has a corresponding normalized number N2 of cells approximate the value N1. The search for finding the threshold voltage V2 may utilize a conventional search method. In the embodiment, the term “approximate” may mean that the number to be searched is within a predetermined range of a target value N1, and may include the case in which the searched number is equal to the target value.
  • Finally, in the step 35, a new reference voltage for reading data from the MLC flash memory due to the cycle/retention issue is obtained by shifting the original reference voltage downward with the amount of the difference of V2 and V1 (i.e., V2−V1). In one exemplary embodiment, all reference voltages are shifted with the same amount V2−V1. In another exemplary embodiment, different reference voltage is shifted with different amount. For example, if the calculated shift amount for the reference voltage V7 is 1 volts, then the shift amount for the reference voltage V6 may be 0.9 volts, and the shift amount for the reference voltage V5 may be 0.8 volts.
  • FIG. 4A shows an exemplary threshold voltage distribution of a MLC flash memory, illustrating the aspect according to the second embodiment of the present invention. FIG. 4B shows a flow diagram corresponding to the aspect of the second embodiment. In FIG. 4A, (solid) curves 400 represent the initial distribution of the threshold voltage of the states of the flash memory. Another (dotted) curves 402 in the FIG. 4A represent a threshold voltage distribution after the flash memory has been subject to a predetermined number of program/erase cycles or/and a predetermined data retention time has elapsed. The curves 402 are supposed to shift or drift downward (e.g., leftward in the figure) as shown due to the cycle/retention issue after a long time not going through program/erase cycle.
  • In the embodiment, after the flash memory is requested by a read command (the step 41), the total number Na of the cells above a specific state (e.g., above the threshold voltage Va) of the shifted distribution 402 is obtained (the step 42). Subsequently, search to find a reference state (such as the program verify voltage Vpv in FIG. 4A), above which the total number N of cells is equal or approximate to Na. The search for finding the reference state may be implemented, in the embodiment, by performing the steps 43-48. Specifically speaking, in the step 43, the first (i.e., i=0) word line voltage is set, followed by retrieving known <N,V> data, in which N represents the total number of cells above certain state (the step 44).
  • Afterwards, the number N is compared with the number Na (the step 45). If the difference (N−Na) is not less than a predetermined value m (such as the acceptable error tolerance) and the maximum world line voltage has not been reached (the step 46), next word line voltage is then set (the step 47). The steps 44-45 iterate until the difference (N−Na) is less than the predetermined m (the step 45) or the maximum world line voltage has been reached (the step 46). At that time, a new reference voltage for reading data from the MLC flash memory due to the cycle/retention issue is obtained by shifting the original reference voltage downward with the amount of the difference of Vpv and Va (i.e., Vpv−Va). In one exemplary embodiment, all reference voltages are shifted with the same amount Vpv-Va. In another exemplary embodiment, different reference voltage is shifted with different amount.
  • According to the first embodiment (FIG. 3A/B) and the second embodiment (FIG. 4A/B) discussed above, the embodiments of the present invention associate a first threshold voltage (e.g., V2 in FIG. 3A or Vpv in FIG. 4A) in the initial distribution with a second threshold voltage (e.g., V1 in FIG. 3A or Va in FIG. 4A) in a shifted distribution to be determined, such that the information (e.g., the normalized number N1 of cells in FIG. 3A or the total number Na of cells above a state in FIG. 4A) corresponding to the second threshold voltage is approximate to the information corresponding to the first threshold voltage. The difference between the first threshold voltage and the second threshold voltage is then determined and subsequently utilized to correct the reference voltage(s) of the initial threshold voltage distribution due to the cycle/retention issue. It is worthy of noting that, as the effort to obtain the information and determine the difference concerns only basic calculations, the embodiments of the present invention may not only effectively but also economically find proper reference voltages for reading data from a MLC flash memory without much latency.
  • FIG. 5 shows a block diagram illustrating a memory system 5 for adaptively finding proper reference voltages for reading data from a MLC flash memory according to one embodiment of the present invention. The memory system 5 may be adapted to the first embodiment (Fir. 3A/B) or the second embodiment (FIG. 4A/B). The memory system 5 includes a flash memory 50 and a memory controller 52. Data may be written (programmed) to or read from the flash memory 50 from/to a host (not shown) through the memory controller 52. Regarding the flash memory 50, the data being written to or read from the memory cells (not shown) of the flash memory 50 may be temporarily stored in a page buffer 500, and operation and timing of the flash memory 50 is managed by control logic 502. Regarding the memory controller 52, a data buffer 520 is used for temporarily storing data and for interfacing with the flash memory 50, and control logic 522 is used for managing the operation and timing of the memory controller 52.
  • The memory controller 52 further includes a data pair <N,V> generator 524 that generates the normalized number N1 of cells corresponding to respective threshold voltage V1 (in the first embodiment) or generates the total number Na of cells above respective state (in the second embodiment). The memory controller 52 also includes a reference voltage decision device 528 that associates a first threshold voltage (e.g., V2 in FIG. 3A or Vpv in FIG. 4A) in the initial distribution with a second threshold voltage (e.g., V1 in FIG. 3A or Va in FIG. 4A) in a shifted distribution to be determined, such that the information (e.g., the normalized number N1 of cells in FIG. 3A or the total number Na of cells above a state in FIG. 4A) corresponding to the first threshold voltage is approximate to the information corresponding to the second threshold voltage. The difference between the first threshold voltage and the second threshold voltage is then determined by the reference voltage decision device 528. In addition, what might also be required, for the first embodiment only, is a look up table (LUT) 526 for pre-storing the known normalized <N,V> data of the initial distribution. The amount approximate to the difference is subsequently utilized to correct the initial reference voltage(s) due to the cycle/retention issue. It is appreciated by those skilled in the pertinent technical field that the blocks (500-528) of the memory system 5 may be implemented using hardware technique (such as circuit) or software technique (such as program run on a microcontroller) or their combination.
  • Although specific embodiments have been illustrated and described, it will be appreciated by those skilled in the art that various modifications may be made without departing from the scope of the present invention, which is intended to be limited solely by the appended claims.

Claims (16)

1. A method for adaptively finding reference voltages for reading data from a multi-level cell (MLC) flash memory, the method comprising:
providing given information about an initial threshold voltage distribution;
associating a first threshold voltage in the initial threshold voltage distribution and a second threshold voltage in a shifted threshold voltage distribution to be determined, such that the information corresponding to the first threshold voltage is approximate to the information corresponding to the second threshold voltage; and
shifting initial reference voltage or voltages of the initial threshold voltage distribution with an amount approximate to difference between the first threshold voltage and the second threshold voltage, thereby resulting in new reference voltage or voltages for reading the data from the MLC flash memory.
2. The method of claim 1, wherein the information is a normalized number of cells of the flash memory corresponding to the first threshold voltage.
3. The method of claim 1, wherein the information is total number of cells of the flash memory above a reference state corresponding to the first threshold voltage.
4. The method of claim 3, wherein the first threshold voltage is a program verify voltage.
5. A method for adaptively finding reference voltages for reading data from a MLC flash memory, the method comprising:
providing an initial threshold voltage distribution that includes data pairs <N,V>, each including normalized number N of cells of the flash memory and corresponding threshold voltage V in the initial threshold voltage distribution;
obtaining normalized number N1 of the cells corresponding to a given threshold voltage V1 in a shifted threshold voltage distribution to be determined;
searching to find, in the initial threshold voltage distribution, a threshold voltage V2 which has a corresponding normalized number of cells approximate to the normalized number N1; and
shifting initial reference voltage or voltages of the initial threshold voltage distribution with an amount approximate to difference between the threshold voltage V2 and the given threshold voltage V1, thereby resulting in new reference voltage or voltages for reading the data from the MLC flash memory.
6. The method of claim 5, further comprising a step of subjecting the flash memory to a predetermined number of program or erase cycles or for a predetermined data retention elapsed time.
7. The method of claim 5, wherein the initial threshold voltage distribution is stored in a look up table.
8. A method for adaptively finding reference voltages for reading data from a MLC flash memory, the method comprising:
providing total number N of cells of the flash memory above a reference threshold voltage of a reference state in an initial threshold voltage distribution;
searching to find a threshold voltage Va corresponding to a state above which totals number of the cells is approximate to the total number N; and
shifting initial reference voltage or voltages of the initial threshold voltage distribution with an amount approximate to difference between the threshold voltage Va and the reference threshold voltage, thereby resulting in new reference voltage or voltages for reading the data from the MLC flash memory.
9. The method of claim 8, further comprising a step of subjecting the flash memory to a predetermined number of program or erase cycles or for a predetermined data retention elapsed time.
10. The method of claim 8, wherein the reference state corresponds to a program verify voltage during a program phase.
11. A system for adaptively finding reference voltages for reading data from a MLC flash memory, the system comprising:
a data pair generator for providing information about an initial threshold voltage distribution; and
a reference voltage decision device that associates a first threshold voltage in the initial threshold voltage distribution and a second threshold voltage in a shifted threshold voltage distribution to be determined, such that the information corresponding to the first threshold voltage is approximate to the information corresponding to the second threshold voltage;
wherein initial reference voltage or voltages of the initial threshold voltage distribution are then shifted with an amount approximate to difference between the first threshold voltage and the second threshold voltage, thereby resulting in new reference voltage or voltages for reading the data from the MLC flash memory.
12. The system of claim 11, further comprising a look up table (LUT) for storing the initial threshold voltage distribution.
13. The system of claim 11, further comprising a data buffer for storing the data and for interfacing with the flash memory.
14. The system of claim 11, wherein the information is a normalized number of cells of the flash memory corresponding to the first threshold voltage.
15. The system of claim 11, wherein the information is total number of cells of the flash memory above a reference state corresponding to the first threshold voltage.
16. The system of claim 15, wherein the first threshold voltage is a program verify voltage.
US12/464,240 2009-05-12 2009-05-12 Method and system for adaptively finding reference voltages for reading data from a MLC flash memory Active 2029-07-09 US7848152B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US12/464,240 US7848152B1 (en) 2009-05-12 2009-05-12 Method and system for adaptively finding reference voltages for reading data from a MLC flash memory
TW098119665A TWI370459B (en) 2009-05-12 2009-06-12 Method and system for adaptively finding reference voltages for reading data from a mlc flash memory
US12/915,573 US8355285B2 (en) 2009-05-12 2010-10-29 Method and system for adaptively finding reference voltages for reading data from a MLC flash memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/464,240 US7848152B1 (en) 2009-05-12 2009-05-12 Method and system for adaptively finding reference voltages for reading data from a MLC flash memory

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/915,573 Division US8355285B2 (en) 2009-05-12 2010-10-29 Method and system for adaptively finding reference voltages for reading data from a MLC flash memory

Publications (2)

Publication Number Publication Date
US20100290282A1 true US20100290282A1 (en) 2010-11-18
US7848152B1 US7848152B1 (en) 2010-12-07

Family

ID=43068396

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/464,240 Active 2029-07-09 US7848152B1 (en) 2009-05-12 2009-05-12 Method and system for adaptively finding reference voltages for reading data from a MLC flash memory
US12/915,573 Active 2030-01-20 US8355285B2 (en) 2009-05-12 2010-10-29 Method and system for adaptively finding reference voltages for reading data from a MLC flash memory

Family Applications After (1)

Application Number Title Priority Date Filing Date
US12/915,573 Active 2030-01-20 US8355285B2 (en) 2009-05-12 2010-10-29 Method and system for adaptively finding reference voltages for reading data from a MLC flash memory

Country Status (2)

Country Link
US (2) US7848152B1 (en)
TW (1) TWI370459B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120084503A1 (en) * 2010-10-01 2012-04-05 Canon Kabushiki Kaisha Disk control apparatus, disk control method, and storage medium storing disk control program
GB2498875A (en) * 2012-01-30 2013-07-31 HGST Netherlands BV Data read of a drift tolerant moving baseline data encoded multi-level memory cell (MLC)
US8792272B2 (en) 2012-01-30 2014-07-29 HGST Netherlands B.V. Implementing enhanced data partial-erase for multi-level cell (MLC) memory using threshold voltage-drift or resistance drift tolerant moving baseline memory data encoding
US8861276B2 (en) 2011-06-21 2014-10-14 Samsung Electronics Co., Ltd. Nonvolatile memory device, memory system comprising same, and method of operating same

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8351258B1 (en) 2010-01-22 2013-01-08 Marvell International Ltd. Adapting read reference voltage in flash memory device
US8531888B2 (en) * 2010-07-07 2013-09-10 Marvell World Trade Ltd. Determining optimal reference voltages for progressive reads in flash memory systems
US20130006896A1 (en) * 2011-06-28 2013-01-03 Seagate Technology Llc Training Datasets for Memory Devices
US8913437B2 (en) * 2011-12-15 2014-12-16 Marvell World Trade Ltd. Inter-cell interference cancellation
US8797805B2 (en) * 2011-12-22 2014-08-05 Micron Technology, Inc. Methods and apparatuses for determining threshold voltage shift
US8848453B2 (en) 2012-08-31 2014-09-30 Micron Technology, Inc. Inferring threshold voltage distributions associated with memory cells via interpolation
US8984369B2 (en) 2012-11-21 2015-03-17 Micron Technology, Inc. Shaping codes for memory
US9076545B2 (en) 2013-01-17 2015-07-07 Sandisk Tecnologies Inc. Dynamic adjustment of read voltage levels based on memory cell threshold voltage distribution
TWI515743B (en) 2013-11-20 2016-01-01 旺宏電子股份有限公司 Method, electronic device and controller for recovering array of memory cells
KR102174030B1 (en) 2014-05-13 2020-11-05 삼성전자주식회사 Storage device including nonvolatile memory device and read method thereof
KR102238592B1 (en) 2014-08-08 2021-04-09 삼성전자주식회사 Method of setting default read voltage of non-volatile memory device and method of reading data of non-volatile memory device
US9852799B2 (en) 2014-11-19 2017-12-26 Sandisk Technologies Llc Configuration parameter management for non-volatile data storage
KR102397016B1 (en) 2014-11-24 2022-05-13 삼성전자주식회사 Operatiing method of nonvolatile memory system
KR102284658B1 (en) 2015-03-19 2021-08-02 삼성전자 주식회사 Non-volatile memory device, Memory system including the same, and Method of operating the same
CN111105835B (en) * 2019-12-03 2022-03-18 长江存储科技有限责任公司 Method for determining read reference voltage of memory

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080181010A1 (en) * 2007-01-25 2008-07-31 Macronix International Co., Ltd. Flash memory and method for determining logic states thereof
US20080205136A1 (en) * 2007-02-22 2008-08-28 Hynix Semiconductor Inc. Read method of memory device
US20080263266A1 (en) * 2007-04-23 2008-10-23 Sandisk Il Ltd. Adaptive dynamic reading of flash memories
US20090290426A1 (en) * 2008-05-20 2009-11-26 Violante Moschiano Charge loss compensation during programming of a memory device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008111058A2 (en) 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080181010A1 (en) * 2007-01-25 2008-07-31 Macronix International Co., Ltd. Flash memory and method for determining logic states thereof
US20080205136A1 (en) * 2007-02-22 2008-08-28 Hynix Semiconductor Inc. Read method of memory device
US20080263266A1 (en) * 2007-04-23 2008-10-23 Sandisk Il Ltd. Adaptive dynamic reading of flash memories
US20090290426A1 (en) * 2008-05-20 2009-11-26 Violante Moschiano Charge loss compensation during programming of a memory device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120084503A1 (en) * 2010-10-01 2012-04-05 Canon Kabushiki Kaisha Disk control apparatus, disk control method, and storage medium storing disk control program
US8861276B2 (en) 2011-06-21 2014-10-14 Samsung Electronics Co., Ltd. Nonvolatile memory device, memory system comprising same, and method of operating same
GB2498875A (en) * 2012-01-30 2013-07-31 HGST Netherlands BV Data read of a drift tolerant moving baseline data encoded multi-level memory cell (MLC)
US8792272B2 (en) 2012-01-30 2014-07-29 HGST Netherlands B.V. Implementing enhanced data partial-erase for multi-level cell (MLC) memory using threshold voltage-drift or resistance drift tolerant moving baseline memory data encoding
US9208871B2 (en) 2012-01-30 2015-12-08 HGST Netherlands B.V. Implementing enhanced data read for multi-level cell (MLC) memory using threshold voltage-drift or resistance drift tolerant moving baseline memory data encoding

Also Published As

Publication number Publication date
TWI370459B (en) 2012-08-11
TW201040982A (en) 2010-11-16
US20110038209A1 (en) 2011-02-17
US7848152B1 (en) 2010-12-07
US8355285B2 (en) 2013-01-15

Similar Documents

Publication Publication Date Title
US7848152B1 (en) Method and system for adaptively finding reference voltages for reading data from a MLC flash memory
US8072805B2 (en) Method and system of finding a read voltage for a flash memory
US11150808B2 (en) Flash memory system
US8130544B2 (en) Method of reducing bit error rate for a flash memory
US8472280B2 (en) Alternate page by page programming scheme
US7643348B2 (en) Predictive programming in non-volatile memory
CN103069494B (en) Natural threshold voltage distribution compression in nonvolatile memory
US7602652B2 (en) Systems for programming differently sized margins and sensing with compensations at select states for improved read operations in non-volatile memory
US8107287B2 (en) Method of programming nonvolatile memory device
CN101079322B (en) Multi-bit memory device and memory system
US8464135B2 (en) Adaptive flash interface
US7782667B2 (en) Method of operating a flash memory device
US20080253193A1 (en) Non-Volatile Memory with Predictive Programming
US9384839B2 (en) Write sequence providing write abort protection
US20100034021A1 (en) Method of controlling operation of flash memory device
US9053011B2 (en) Selective protection of lower page data during upper page write
US8923071B2 (en) Method of programming a multi-bit per cell non-volatile memory
US8279676B2 (en) Method of operating nonvolatile memory device
US7907445B2 (en) Method and system for obtaining a reference block for a MLC flash memory

Legal Events

Date Code Title Description
AS Assignment

Owner name: SKYMEDI CORPORATION, TAIWAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HUANG, CHIEN-FU;CHOU, MING-HUNG;HUANG, HAN-LUNG;AND OTHERS;REEL/FRAME:022672/0656

Effective date: 20090415

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2552)

Year of fee payment: 8

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2553); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

Year of fee payment: 12