Memory with Block-Erasable Location
First Claim
1. An apparatus comprising:
- a non-volatile main memory that comprises a plurality of physical blocks of memory locations, the main memory supporting erasing of at least a physical block at a time;
a mapping control circuit configured to maintain pointing information stored in the main memory, the stored pointing information comprising pointers to use blocks that are in use for particular functions and pointers to free blocks that are free for future use for the particular functions, the mapping control circuit being configured to provide a substitute block, from the free blocks that the pointers point to, as substitute for at least part of a selected one of the used blocks, and to write an updated version of the pointing information to the main memory only after using at least two of the free blocks as substitute blocks at least after using one combination of at least two of the free blocks, the mapping control circuit being configured to use at least one of the pointers to free blocks from the stored pointer information, at least on start up, to access at least one of the free blocks to determine whether the at least one of the free blocks has been used as a substitute for a particular one of the used blocks and, if so, to use the at least one of the free blocks as substitute block for the particular one of the used blocks after start up.
10 Assignments
0 Petitions
Accused Products
Abstract
A non-volatile main memory (10) comprises a plurality of physical blocks of memory locations. Pointing information (112a-c, 114a-c) is stored in the main memory (10), the pointing information comprising pointers (112a-c) to used blocks in use for particular functions and pointers (114a-c) to free blocks that are free for future use for the particular functions. The free blocks to replace selected ones of the used blocks. After this happens an updated version of the pointing information may be written to the main memory only after using at least two of the free blocks as replacements. On start up at least one of the pointers (114a-c) to the free blocks is used to access at least one of the free blocks and to determining whether the accessed free block has been used as a replacement for a particular one of the used blocks. If so, the free block is used instead of the particular one of the used blocks.
-
Citations
18 Claims
-
1. An apparatus comprising:
-
a non-volatile main memory that comprises a plurality of physical blocks of memory locations, the main memory supporting erasing of at least a physical block at a time; a mapping control circuit configured to maintain pointing information stored in the main memory, the stored pointing information comprising pointers to use blocks that are in use for particular functions and pointers to free blocks that are free for future use for the particular functions, the mapping control circuit being configured to provide a substitute block, from the free blocks that the pointers point to, as substitute for at least part of a selected one of the used blocks, and to write an updated version of the pointing information to the main memory only after using at least two of the free blocks as substitute blocks at least after using one combination of at least two of the free blocks, the mapping control circuit being configured to use at least one of the pointers to free blocks from the stored pointer information, at least on start up, to access at least one of the free blocks to determine whether the at least one of the free blocks has been used as a substitute for a particular one of the used blocks and, if so, to use the at least one of the free blocks as substitute block for the particular one of the used blocks after start up. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method of operating a non-volatile main memory that comprises a plurality of physical blocks of memory locations, the main memory supporting erasing of at least a physical block at a time, the method comprising:
-
store pointing information in the main memory, the pointing information comprising pointers to used blocks in use for particular functions and pointers to free blocks that are free for future use for the particular functions, using the free blocks to replace selected ones of the used blocks; writing an updated version of the pointing information to the main memory only after using at least two of the free blocks as replacements at least after using one combination of at least two of the free blocks, using at least one of the pointers to the free blocks, selectively at least on start up, to access at least one of the free blocks determining, selectively at least on start up, whether the accessed free block has been used as a replacement for a particular one of the used blocks and, if so, using the free block instead of the particular one of the used blocks.
-
Specification