Maintaining an average erase count in a non-volatile storage system
First Claim
1. A data structure, the data structure being arranged in a system memory associated with a non-volatile memory system, the non-volatile memory system including a non-volatile memory which includes a plurality of blocks, the data structure comprising:
- a first indicator, the first indicator being arranged to provide an indication of a number of times each usable block of the plurality of blocks has been erased; and
a second indicator, the second indicator being arranged to indicate a total number of blocks included in the plurality of blocks.
4 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.
154 Citations
40 Claims
-
1. A data structure, the data structure being arranged in a system memory associated with a non-volatile memory system, the non-volatile memory system including a non-volatile memory which includes a plurality of blocks, the data structure comprising:
-
a first indicator, the first indicator being arranged to provide an indication of a number of times each usable block of the plurality of blocks has been erased; and
a second indicator, the second indicator being arranged to indicate a total number of blocks included in the plurality of blocks. - View Dependent Claims (2, 3, 4)
-
-
5. A non-volatile memory system comprising:
-
a non-volatile memory, the non-volatile memory including a plurality of blocks;
a system memory; and
means for indicating in the system memory an average number of times each block included in the plurality of blocks has been erased. - View Dependent Claims (6, 7, 8)
-
-
9. A method of 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, 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; and
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. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A method for substantially preparing an erased block for use from a non-volatile memory of a non-volatile memory system, the non-volatile memory including a plurality of blocks, wherein the plurality of blocks includes the erased block, the method comprising:
-
obtaining the erased block;
obtaining an indicator that characterizes a number of times each block in the plurality of blocks has been erased; and
storing the indicator that characterizes a number of times each block in the plurality of blocks has been erased in the erased block as an indication of a number of times the erased block has been erased. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
-
22. A non-volatile memory system comprising:
-
a non-volatile memory, the non-volatile memory including a number of blocks;
means for 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;
means for creating a sum of the erase counts for the number of blocks; and
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. - View Dependent Claims (23)
-
-
24. A non-volatile memory system comprising:
-
a non-volatile memory including a plurality of blocks;
means for obtaining an erased block from the plurality of blocks;
means for obtaining 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 the erased block as an indication of a number of times the erased block has been erased. - View Dependent Claims (25)
-
-
26. A memory system comprising
a non-volatile memory which includes a plurality of memory elements; -
code devices that obtain an erase count for each memory element of the number of memory elements, the erase count for each memory element of the number of memory elements being arranged to indicate a number of times each memory element of the number of memory elements has been erased, wherein the number of memory elements is a total number of usable memory elements within the non-volatile memory;
code devices that create a sum of the erase counts for the number of memory elements;
code devices that create the average erase count, the average erase count being arranged to indicate the average number of times each memory element of the number of memory elements has been erased, wherein the code devices that create the average erase count include code devices that substantially divide the sum by the number of memory elements; and
a memory area that stores the code devices. - View Dependent Claims (27, 28, 29, 30)
-
-
31. A memory system comprising:
-
a non-volatile memory, the non-volatile memory including a plurality of memory elements, wherein the plurality of memory elements includes the erased memory element;
code devices that obtain the erased memory element;
code devices that obtain an indicator that characterizes a number of times each memory element in the plurality of memory elements has been erased;
code devices that store the indicator that characterizes a number of times each memory element in the plurality of memory elements has been erased in the erased memory element as an indication of a number of times the erased memory element has been erased; and
a memory area that stores the code devices. - View Dependent Claims (32, 33, 34, 35)
-
-
36. A method for maintaining an average erase count within a memory system, the average erase count being arranged to indicate an average number of times each block of a number of blocks of a non-volatile memory associated with the memory system is erased, the memory system further including a system memory, the method comprising:
-
summing erase counts associated with each block of the number of blocks, each erase count being arranged to indicate a number of times an associated block of the number of blocks has been erased, wherein summing the erase counts creates a sum;
dividing the sum by the number of blocks, wherein dividing the sum by the number of blocks creates the average erase count; and
storing the average erase count into the system memory. - View Dependent Claims (37, 38, 39, 40)
-
Specification