Read Scrub with Adaptive Counter Management
First Claim
1. A method of operating a non-volatile memory circuit having a plurality of blocks formed according to a NAND type architecture in which memory cells of a block are formed along a plurality of word lines, and in which the word lines of a block are written in sequence from a first end to a second end thereof, the method comprising:
- maintaining, for blocks in which one or more but less than all of the word lines have been written, first and second read counts, where the first read count tracks the cumulative number of reads for all word lines of the corresponding block, where the second read count tracks the cumulative number of reads to one or more of the last word lines in the write sequence of the corresponding block that is written at the time at which the read is performed, and wherein the first and second read counts are reset after an erase operation to the corresponding block; and
in response to either of the first or second read counts of a block reaching a respective first or second count threshold, marking the corresponding block for a data relocation operation.
2 Assignments
0 Petitions
Accused Products
Abstract
A number of complimentary techniques for the read scrub process using adaptive counter management are presented. In one set of techniques, in addition to maintaining a cumulative read counter for a block, a boundary word line counter can also be maintained to track the number of reads to most recently written word line or word lines of a partially written block. Another set of techniques used read count threshold values that vary with the number of program/erase cycles that a block has undergone. Further techniques involve setting the read count threshold for a closed (fully written) block based upon the number reads it experienced prior to being closed. These techniques can also be applied at a sub-block, zone level.
35 Citations
35 Claims
-
1. A method of operating a non-volatile memory circuit having a plurality of blocks formed according to a NAND type architecture in which memory cells of a block are formed along a plurality of word lines, and in which the word lines of a block are written in sequence from a first end to a second end thereof, the method comprising:
-
maintaining, for blocks in which one or more but less than all of the word lines have been written, first and second read counts, where the first read count tracks the cumulative number of reads for all word lines of the corresponding block, where the second read count tracks the cumulative number of reads to one or more of the last word lines in the write sequence of the corresponding block that is written at the time at which the read is performed, and wherein the first and second read counts are reset after an erase operation to the corresponding block; and in response to either of the first or second read counts of a block reaching a respective first or second count threshold, marking the corresponding block for a data relocation operation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of operating a non-volatile memory circuit having a plurality of blocks in which memory cells of a block are formed along a plurality of word lines, the method comprising:
-
maintaining for each of the blocks an experience count tracking the number program-erase cycles that the block has undergone; maintaining for each of the blocks a first read count tracking the cumulative number of reads for all word lines of the block since the block was last erased; in response to incrementing one of the first read counts, performing a comparison of the incremented first read count to one of a plurality of first read count thresholds, wherein the first read count threshold used for the comparison is dependent upon the experience count of the corresponding block; and in response to the incremented first read count reaching the used first read count threshold, marking the corresponding block for a data relocation operation. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method of operating a rewritable non-volatile memory circuit formed of a plurality of blocks each having multiple memory cells, comprising:
-
maintaining for partially written blocks a corresponding first read count, where the first read count tracks the cumulative number of reads of the corresponding block, and wherein the first read count is reset after an erase operation to the corresponding block; and in response to a previously partially written block becoming fully written; determining a corresponding closed block threshold for the block, wherein the corresponding closed block threshold is dependent upon the value of the corresponding first read count at the time at which the block becomes fully written; resetting the corresponding first read count, where the first read count subsequently tracks the cumulative number of the number of reads to the corresponding block; and in response to the first read count of the corresponding block reaching the corresponding closed block threshold, marking the block for a data relocation operation. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A method of operating a non-volatile memory circuit having a plurality of blocks formed according to a NAND type architecture in which memory cells of a block are formed along a plurality of word lines, and in which the word lines of a block are written in sequence from a first end to a second end thereof, the method comprising:
-
maintaining a plurality of first read counts, where each of the first read count tracks the cumulative number of reads to a corresponding subset of word lines of the corresponding block, wherein each of the subsets is a plurality of adjacent word lines, and wherein the first read counts are reset after an erase operation to the corresponding block; and in response to any of the first read counts of a block reaching a respective one of a plurality of first thresholds, marking the corresponding block for a data relocation operation. - View Dependent Claims (33, 34, 35)
-
Specification