Methods of managing blocks in nonvolatile memory
First Claim
Patent Images
1. A method of operating a non-volatile memory system having memory cells grouped into blocks of memory cells that are erased together prior to reprogramming data into pages of the blocks, the blocks being identified by physical block addresses, comprising:
- storing data received by the memory system in a plurality of the blocks,maintaining a plurality of records for corresponding ones of the plurality of blocks, the records individually including values of a at least first, second and third descriptors of different aspects of the data stored in one of the plurality of blocks to which the record pertains as identified by the address of the block, the first descriptor being an amount of valid data in the corresponding block, the second descriptor being an amount of erased capacity of the corresponding block and the third descriptor being an amount of obsolete data in the corresponding block,maintaining a first list that includes pointers by the addresses of the plurality of blocks, the pointers individually pointing to the location within the memory system of one of the records for one of the blocks in response to receiving the address of said one block, and further wherein the pointers are placed in the list of pointers in order of the addresses of their respective plurality of blocks,maintaining a second list that includes addresses of the plurality of blocks whose corresponding records contain values of at least the first and second descriptors, wherein the addresses of the plurality of blocks in the second list are placed in an order of values of the first descriptor in their corresponding records,maintaining a third list that includes addresses of the plurality of blocks whose corresponding records contain values of at least the first and third descriptors, wherein the addresses of the plurality of blocks in the third list are placed in an order of values of the first descriptor in their corresponding records, andperforming an operation of the memory system on data stored in individual ones of the plurality of blocks in the second list in the order in which they appear in the second list.
3 Assignments
0 Petitions
Accused Products
Abstract
In a nonvolatile memory system that includes a block-erasable memory array, records are individually maintained for certain classifications of blocks. One or more lists may be maintained for the blocks, an individual list ordered according to a descriptor value. Such ordered lists allow rapid identification of a block by descriptor value.
-
Citations
5 Claims
-
1. A method of operating a non-volatile memory system having memory cells grouped into blocks of memory cells that are erased together prior to reprogramming data into pages of the blocks, the blocks being identified by physical block addresses, comprising:
-
storing data received by the memory system in a plurality of the blocks, maintaining a plurality of records for corresponding ones of the plurality of blocks, the records individually including values of a at least first, second and third descriptors of different aspects of the data stored in one of the plurality of blocks to which the record pertains as identified by the address of the block, the first descriptor being an amount of valid data in the corresponding block, the second descriptor being an amount of erased capacity of the corresponding block and the third descriptor being an amount of obsolete data in the corresponding block, maintaining a first list that includes pointers by the addresses of the plurality of blocks, the pointers individually pointing to the location within the memory system of one of the records for one of the blocks in response to receiving the address of said one block, and further wherein the pointers are placed in the list of pointers in order of the addresses of their respective plurality of blocks, maintaining a second list that includes addresses of the plurality of blocks whose corresponding records contain values of at least the first and second descriptors, wherein the addresses of the plurality of blocks in the second list are placed in an order of values of the first descriptor in their corresponding records, maintaining a third list that includes addresses of the plurality of blocks whose corresponding records contain values of at least the first and third descriptors, wherein the addresses of the plurality of blocks in the third list are placed in an order of values of the first descriptor in their corresponding records, and performing an operation of the memory system on data stored in individual ones of the plurality of blocks in the second list in the order in which they appear in the second list. - View Dependent Claims (2, 3, 4)
-
-
5. A method of operating a non-volatile memory system having memory cells grouped into blocks of memory cells that are erased together prior to reprogramming data into pages of the blocks, the blocks being identified by physical block addresses, comprising:
-
storing data received by the memory system in a plurality of the blocks, maintaining a plurality of records for the plurality of blocks, the records individually including an indication of an amount of valid data, an amount of obsolete data and an amount of erased capacity within an individual one of the plurality of blocks to which the record pertains as identified by the address of the block, maintaining a first list that includes pointers by the addresses of the plurality of blocks, the pointers individually pointing to the location within the memory system of one of the records for one of the blocks in response to receiving the address of said one block, and further wherein the pointers are placed in the list of pointers in order of the addresses of their respective plurality of blocks, maintaining a second list of addresses of the plurality of blocks whose corresponding records contain positive values of at least valid data and erased capacity, wherein the addresses of the plurality of blocks in the second list are placed in an order of amounts of valid data in their corresponding records, maintaining a third list of addresses of the plurality of blocks whose corresponding records contain positive values of at least valid data and obsolete data but no amount of erased capacity, wherein the addresses of the plurality of blocks in the third list are placed in an order of amounts of valid data in their corresponding records, and accessing the blocks whose addresses are on the second and third lists for performing an operation of the memory system on data stored in individual ones of the plurality of blocks in the order in which they appear in the second and third lists.
-
Specification