Flash Memory Refresh Techniques Triggered by Controlled Scrub Data Reads
First Claim
1. A method of operating a reprogrammable non-volatile memory system having at least one group of charge storage memory cells connected in strings that individually contain a plurality of series connected memory cells between ends of the stringsidentify those memory cells within the group adjacent ends of the strings to have a higher degree of vulnerability to being disturbed by a data read than other memory cells of the group not adjacent the ends of the strings,recognize when at least some of the memory cells of the group that are not adjacent the ends of the strings have been accessed and the data stored therein read in response to a command,subsequently scrub read data from at least some of the memory cells adjacent the ends of the strings of memory cells,determine a level of quality of the scrub read data and whether it is adequate, andif the level of quality of the scrub read data is determined not to be adequate, refresh the data stored in at least some of the memory cells of the group that are adjacent ends of the strings.
3 Assignments
0 Petitions
Accused Products
Abstract
The quality of data stored in individual blocks of memory cells of a flash memory system is monitored by a scrub read of only a small portion of a block, performed after data are read from less than all of a block in response to a read command from a host or memory controller. The small portion is selected for the scrub read because of its greater vulnerability than other portions of the block to being disturbed as a result of the commanded partial block data read. This then determines, as the result of reading a small amount of data, whether at least some of the data in the block was disturbed by the command data read to a degree that makes it desirable to refresh the data of the block.
-
Citations
30 Claims
-
1. A method of operating a reprogrammable non-volatile memory system having at least one group of charge storage memory cells connected in strings that individually contain a plurality of series connected memory cells between ends of the strings
identify those memory cells within the group adjacent ends of the strings to have a higher degree of vulnerability to being disturbed by a data read than other memory cells of the group not adjacent the ends of the strings, recognize when at least some of the memory cells of the group that are not adjacent the ends of the strings have been accessed and the data stored therein read in response to a command, subsequently scrub read data from at least some of the memory cells adjacent the ends of the strings of memory cells, determine a level of quality of the scrub read data and whether it is adequate, and if the level of quality of the scrub read data is determined not to be adequate, refresh the data stored in at least some of the memory cells of the group that are adjacent ends of the strings.
-
2. A method of operating a reprogrammable non-volatile memory system having at least one group of charge storage memory cells connected in a manner that accessing less than all of the memory cells in the group can disturb the levels of charge stored in other memory cells in the group, comprising:
-
recognize when less than all the memory cells of the group have been accessed and the data stored therein read in response to a command, determine whether some of the memory cells within the group have a higher degree of vulnerability to being disturbed by the commanded data read than other memory cells of the group, and, if so, identify the more vulnerable memory cells, subsequently scrub read data from at least some of the more vulnerable memory cells, determine a level of quality of the scrub read data and whether it is adequate, and if the level of quality of the scrub read data is determined not to be adequate, refresh the data stored in all the memory cells of the group. - View Dependent Claims (3)
-
-
4. A method of operating a reprogrammable non-volatile memory system having at least one group of charge storage memory cells connected in a manner that accessing less than all of the memory cells in the group can disturb the levels of charge stored in other memory cells in the group, comprising:
-
recognize when less than all the memory cells of the group have been accessed and the data stored therein read in response to a command, determine whether some of the memory cells within the group have a higher degree of vulnerability to being disturbed by the commanded data read than other memory cells of the group, and, if so, identify the more vulnerable memory cells, subsequently scrub read data from at least some of the more vulnerable memory cells, determine a level of quality of the scrub read data and whether it is adequate, and if the level of quality of the scrub read data is determined not to be adequate, refresh the data stored in the memory cells of the group, wherein determining a level of quality of the read data includes determining a number of bit errors in the scrub read data, and further wherein determining whether the quality of the scrub read data is adequate includes comparing the number of bit errors with a preset threshold.
-
-
5. A method operating a reprogrammable non-volatile memory system having at least one group of charge storage memory cells connected in a manner that accessing less than all of the memory cells in the group can disturb the levels of charge stored in other memory cells in the group, comprising:
-
recognize when less than all the memory cells of the group have been accessed and the data stored therein read in response to a command, determine whether some of the memory cells within the group have a higher degree of vulnerability to being disturbed by the commanded data read than other memory cells of the group, and, if so, identify the more vulnerable memory cells, subsequently scrub read data from at least some of the more vulnerable memory cells, determine a level of quality of the scrub read data and whether it is adequate, and if the level of quality of the scrub read data is determined not to be adequate, refresh the data stored in the memory cells of the group, wherein determining a level of quality of the scrub read data includes determining a first number of bit errors in at least some of the command read data and a second number of bit errors in at least some of the scrub read data, and further wherein determining whether the quality of the read data is adequate includes comparing the first and second numbers of bit errors. - View Dependent Claims (6)
-
-
7. A method of operating a reprogrammable non-volatile memory system having at least one group of charge storage memory cells connected in a manner that accessing less than all of the memory cells in the group can disturb the levels of charge stored in other memory cells in the group, comprising:
-
recognize when less than all the memory cells of the group have been accessed and the data stored therein read in response to a command, determine whether some of the memory cells within the group have a higher degree of vulnerability to being disturbed by the commanded data read than other memory cells of the group, and, if so, identify the more vulnerable memory cells, subsequently scrub read data from at least some of the more vulnerable memory cells, determine a level of quality of the scrub read data and whether it is adequate, and if the level of quality of the scrub read data is determined not to be adequate, refresh the data stored in the memory cells of the group, wherein identifying memory cells within the group that have a higher degree of vulnerability to being disturbed includes a consideration of the number of memory cells of the group accessed in response to the command and a sequence in which the memory cells of the group are accessed.
-
-
8. A method of operating a reprogrammable non-volatile memory system having at least one group of charge storage memory cells connected in a manner that accessing less than all of the memory cells in the group can disturb the levels of charge stored in other memory cells in the group, comprising:
-
recognize when less than all the memory cells of the group have been accessed and the data stored therein read in response to a command, determine whether some of the memory cells within the group have a higher degree of vulnerability to being disturbed by the commanded data read than other memory cells of the group, and, if so, identify the more vulnerable memory cells, subsequently scrub read data from at least some of the more vulnerable memory cells, determine a level of quality of the scrub read data and whether it is adequate, and if the level of quality of the scrub read data is determined not to be adequate, refresh the data stored in the memory cells of the group, wherein identifying memory cells within the group that have a higher degree of vulnerability to being disturbed includes a consideration of physical characteristics of the memory cells in different physical locations within the group.
-
-
9. A method of operating a reprogrammable non-volatile memory system having at least one group of charge storage memory cells connected in a manner that accessing less than all of the memory cells in the group can disturb the levels of charge stored in other memory cells in the group, comprising:
-
recognize when less than all the memory cells of the group have been accessed and the data stored therein read in response to a command, determine whether some of the memory cells within the group have a higher degree of vulnerability to being disturbed by the commanded data read than other memory cells of the group, and, if so, identify the more vulnerable memory cells, subsequently scrub read data from at least some of the more vulnerable memory cells, determine a level of quality of the scrub read data and whether it is adequate, and if the level of quality of the scrub read data is determined not to be adequate, refresh the data stored in the memory cells of the group, wherein identifying memory cells within the group that have a higher degree of vulnerability to being disturbed includes a consideration of patterns of data stored in the memory cells of the group.
-
-
10. A method of operating a reprogrammable non-volatile memory system having at least one group of charge storage memory cells connected in a manner that accessing less than all of the memory cells in the group can disturb the levels of charge stored in other memory cells in the group, comprising:
-
recognize when less than all the memory cells of the group have been accessed and the data stored therein read in response to a command, determine whether some of the memory cells within the group have a higher degree of vulnerability to being disturbed by the commanded data read than other memory cells of the group, and, if so, identify the more vulnerable memory cells, subsequently scrub read data from at least some of the more vulnerable memory cells, determine a level of quality of the scrub read data and whether it is adequate, and if the level of quality of the scrub read data is determined not to be adequate, refresh the data stored in the memory cells of the group, wherein identifying memory cells within the group that have a higher degree of vulnerability to being disturbed includes distinguishing between the memory cells that have been accessed in response to the command and other memory cells within the group.
-
-
11. A method of operating a reprogrammable non-volatile memory system having at least one group of charge storage memory cells connected in a manner that accessing less than all of the memory cells in the group can disturb the levels of charge stored in other memory cells in the group, comprising:
-
recognize when less than all the memory cells of the group have been accessed and the data stored therein read in response to a command, determine whether some of the memory cells within the group have a higher degree of vulnerability to being disturbed by the commanded data read than other memory cells of the group, and, if so, identify the more vulnerable memory cells, subsequently scrub read data from at least some of the more vulnerable memory cells, determine a level of quality of the scrub read data and whether it is adequate, and if the level of quality of the scrub read data is determined not to be adequate, refresh the data stored in the memory cells of the group, wherein it is determined that there are no memory cells within the group that have a higher degree of vulnerability to being disturbed by the commanded data read, and in response omits all of the subsequent scrub read, determination of the level of quality of the scrub read data and the data refresh.
-
-
12. A method of operating a reprogrammable non-volatile memory system having at least one group of charge storage memory cells connected in a manner that accessing less than all of the memory cells in the group can disturb the levels of charge stored in other memory cells in the group, comprising:
-
recognize when less than all the memory cells of the group have been accessed and the data stored therein read in response to a command, determine whether some of the memory cells within the group have a higher degree of vulnerability to being disturbed by the commanded data read than other memory cells of the group, and, if so, identify the more vulnerable memory cells, subsequently scrub read data from at least some of the more vulnerable memory cells, determine a level of quality of the scrub read data and whether it is adequate, and if the level of quality of the scrub read data is determined not to be adequate, refresh the data stored in the memory cells of the group, wherein recognizing when less than all the memory cells of the group are accessed includes recognizing when less than all the memory cells of the group are accessed for the purpose of reading data stored therein by a host or application being executed within the memory system.
-
-
13. A method of operating a reprogrammable non-volatile memory system having at least one group of charge storage memory cells connected in a manner that accessing less than all of the memory cells in the group can disturb the levels of charge stored in other memory cells in the group, comprising:
-
recognize when less than all the memory cells of the group have been accessed and the data stored therein read in response to a command, determine whether some of the memory cells within the group have a higher degree of vulnerability to being disturbed by the commanded data read than other memory cells of the group, and, if so, identify the more vulnerable memory cells, subsequently scrub read data from at least some of the more vulnerable memory cells, determine a level of quality of the scrub read data and whether it is adequate, and if the level of quality of the scrub read data is determined not to be adequate, refresh the data stored in the memory cells of the group, wherein the at least one group of memory cells are concurrently erasable prior to new data being written therein.
-
-
16. A method of operating a reprogrammable non-volatile memory system having at least one group of charge storage memory cells connected in a manner that accessing less than all of the memory cells in the group can disturb the levels of charge stored in other memory cells in the group, comprising:
-
recognize when less than all the memory cells of the group have been accessed and the data stored therein read in response to a command, determine whether some of the memory cells within the group have a higher degree of vulnerability to being disturbed by the commanded data read than other memory cells of the group, and, if so, identify the more vulnerable memory cells, subsequently scrub read data from at least some of the more vulnerable memory cells, determine a level of quality of the scrub read data and whether it is adequate, and if the level of quality of the scrub read data is determined not to be adequate, refresh the data stored in the memory cells of the group, wherein the refresh of the data stored in the memory cells of the group includes reading all the data stored in the group of memory cells, make any necessary corrections of erroneous bits of the read so read, and rewrite the corrected read data into another group of memory cells that has been erased.
-
-
17. In a reprogrammable non-volatile memory system having an array of memory cells with charge storage elements connected in series in a plurality of strings, the strings being individually connectable at first and second ends thereof to respective first and second voltage sources and having control gates connected in a direction extending across the plurality of strings to individually define pages of data storage capacity, the strings further being grouped into blocks of memory cell strings that are concurrently erasable, a method of operating the memory system, comprising:
-
recognize when data are read from one or more but less than all of the pages of a given block in response to a command, identify one or more pages of the given block that have a higher degree of vulnerability to being disturbed by the command data read than other pages of the given block, scrub read data stored in the identified one or more pages of the given block but not in the other pages of the given block, measure a number of bit errors in at least the scrub read data, determine from the number of bit errors whether a refresh of at least the scrub read data is necessary, and if a refresh of at least the scrub read data is determined to be necessary, refresh all the pages of the given block. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. In a reprogrammable non-volatile memory system having an array of memory cells organized into NAND strings and a system controller connected thereto, the memory cells individually including a transistor having a source and drain, a charge storage element and a control gate, each NAND string having a source end and a drain end and being formed by a series of charge storage transistors daisy-chained by the drain of one cells to the source the adjacent charge storage transistor and switchable to the source end by a source select transistor and switchable to the drain end by a drain select transistor, a method of operating the memory system, comprising:
-
identify the memory cells of the NAND strings to be in either a first group or a second group, the memory cells of the second group being adjacent to either the source select transistor or the drain select transistor and the memory cells of the first group being the complement of the second group, recognizing when, in response to a command, data are read from memory cells of the first group but not at least some of the second group, in response to such a recognition, scrub read data from at least some of the unread memory cells of the second group, thereafter measure a number of errors in the data read from memory cells of the second group, thereafter determine from the number of measured data errors whether a refresh of the scrub read data is necessary, and if so, refresh the data of memory cells in both of the first and second groups. - View Dependent Claims (29, 30)
-
Specification