Maintaining an average erase count in a non-volatile storage system
3 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus for maintaining an average erase count in a system memory of a non-volatile memory system are disclosed. According to one aspect of the present invention, a method for determining an average number of times each block of a number of blocks within a non-volatile memory of a memory system has been erased includes obtaining an erase count for each block that indicates a number of times each block has been erased. Once all the erase counts have been obtained, the erase counts are summed, and an average erase count that indicates the average number of times each block of the number of blocks has been erased is created by substantially dividing the sum by the number of blocks.
-
Citations
31 Claims
-
3-4. -4. (canceled)
-
5. A non-volatile memory system comprising:
-
a non-volatile memory, the non-volatile memory including a plurality of blocks, each block including a redundant area for storing overhead data comprising an erase count for that block;
a system memory, comprising a non-volatile memory location for storing a first indicator; and
means for storing, in the first indicator in the system memory, a value corresponding to an average number of times each block included in the plurality of blocks has been erased. - View Dependent Claims (1, 2, 8)
-
- 6. (canceled)
-
9. A method of managing a non-volatile memory of a memory system according to an average number of times each block of a number of blocks within the non-volatile memory has been erased, the method comprising:
-
obtaining an erase count for each block of the number of blocks, the erase count for each block of the number of blocks being arranged to indicate a number of times each block of the number of blocks has been erased, wherein the number of blocks is a total number of usable blocks within the non-volatile memory;
creating a sum of the erase counts for the number of blocks;
creating the average erase count, the average erase count being arranged to indicate the average number of times each block of the number of blocks has been erased, wherein creating the average erase count includes substantially dividing the sum by the number of blocks; and
storing an indicator of the average erase count in a non-volatile portion of a system memory of the memory system. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15-21. -21. (canceled)
-
22. A non-volatile memory system comprising:
-
a non-volatile memory, the non-volatile memory including a number of blocks, each block including a redundant area for storing overhead data comprising an erase count for that block;
a system memory, associated with the non-volatile memory, and having a non-volatile portion, means for obtaining an erase count for each block of the number of blocks from the redundant area of each block, the erase count for each block of the number of blocks being arranged to indicate a number of times each block of the number of blocks has been erased;
means for creating a sum of the erase counts for the number of blocks;
means for creating the average erase count, the average erase count being arranged to indicate the average number of times each block of the number of blocks has been erased, wherein the means for creating the average erase count include means for substantially dividing the sum by the number of blocks; and
means for storing a first indicator corresponding to the average erase count in the non-volatile portion of the system memory.
-
-
23. (canceled)
-
24. A non-volatile memory system comprising:
-
a non-volatile memory including a plurality of blocks, each of the plurality of blocks comprising an overhead portion;
a system memory, associated with the non-volatile memory, and having a non-volatile portion;
means for obtaining an erased block from the plurality of blocks;
means for obtaining, from the non-volatile portion of the system memory, an indicator that characterizes a number of times each block in the plurality of blocks has been erased; and
means for storing the indicator that characterizes a number of times each block in the plurality of blocks has been erased in overhead portion of the erased block as an indication of a number of times the erased block has been erased. - View Dependent Claims (25, 26, 28, 30)
-
-
27. (canceled)
-
29. (canceled)
-
31-40. -40. (canceled)
Specification