Block management for mass storage
First Claim
1. A controller configured to:
- associate a particular block of a first group of blocks of memory with a particular virtual logical block address (VLBA) if all sector information written or stored in the particular block is identified as current or new and is written or stored in accordance with a sequential ordering of logical block addresses (LBAs) associated with the sector information written or stored in the particular block; and
not write or store the sector information in sector locations of a second group of blocks when the sector information is written or stored in the particular block of memory of the first group of blocks and the sector information is identified as current or new,wherein the controller is further configured to re-arrange sectors into a sequential order.
6 Assignments
0 Petitions
Accused Products
Abstract
An embodiment of the present invention includes a nonvolatile memory system comprising nonvolatile memory for storing sector information, the nonvolatile memory being organized into blocks with each block including a plurality of sectors, each sector identified by a logical block address and for storing sector information. A controller is coupled to the nonvolatile memory for writing sector information to the latter and for updating the sector information, wherein upon updating sector information, the controller writes to the next free or available sector(s) of a block such that upon multiple re-writes or updating of sector information, a plurality of blocks are substantially filled with sector information and upon such time, the controller rearranges the updated sector information in sequential order based on their respective logical block addresses thereby increasing system performance and improving manufacturing costs of the controller.
261 Citations
15 Claims
-
1. A controller configured to:
-
associate a particular block of a first group of blocks of memory with a particular virtual logical block address (VLBA) if all sector information written or stored in the particular block is identified as current or new and is written or stored in accordance with a sequential ordering of logical block addresses (LBAs) associated with the sector information written or stored in the particular block; and not write or store the sector information in sector locations of a second group of blocks when the sector information is written or stored in the particular block of memory of the first group of blocks and the sector information is identified as current or new, wherein the controller is further configured to re-arrange sectors into a sequential order. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method comprising:
-
associating a particular block of a first group of blocks of memory with a particular virtual logical block address (VLBA) if all sector information written or stored in the particular block is identified as current or new and is written or stored in accordance with a sequential ordering of logical block addresses (LBAs) associated with the sector information written or stored in the particular block; not write or store the sector information in sector locations of a second group of blocks when the sector information is written or stored in the particular block of memory of the first group of blocks and the sector information is identified as current or new; and performing a clean-up operation when all blocks are filled with sector information, the clean-up operation comprising arranging sectors in sequential order within blocks. - View Dependent Claims (9)
-
-
10. A system comprising:
-
first and second groups of blocks of memory; and a controller configured to; associate a particular block of the first group of blocks of memory with a particular virtual logical block address (VLBA) if all sector information written or stored in the particular block is identified as current or new and is written or stored in accordance with a sequential ordering of logical block addresses (LBAs) associated with the sector information written or stored in the particular block; and not write or store the sector information in sector locations of a second group of blocks when the sector information is written or stored in the particular block of memory of the first group of blocks and the sector information is identified as current or new, wherein the controller is further configured to find sectors from temporary block locations. - View Dependent Claims (11, 12, 13)
-
-
14. A system comprising:
-
first and second groups of blocks of memory; and a controller configured to; associate a particular block of the first group of blocks of memory with a particular virtual logical block address (VLBA) if all sector information written or stored in the particular block is identified as current or new and is written or stored in accordance with a sequential ordering of logical block addresses (LBAs) associated with the sector information written or stored in the particular block; and not write or store the sector information in sector locations of a second group of blocks when the sector information is written or stored in the particular block of memory of the first group of blocks and the sector information is identified as current or new; wherein the controller comprises a space manager that is configured to not maintain track of information stored in nonvolatile memory on a sector-by-sector basis.
-
-
15. A system comprising:
-
first and second groups of blocks of memory; and a controller configured to; associate a particular block of the first group of blocks of memory with a particular virtual logical block address (VLBA) if all sector information written or stored in the particular block is identified as current or new and is written or stored in accordance with a sequential ordering of logical block addresses (LBAs) associated with the sector information written or stored in the particular block; and not write or store the sector information in sector locations of a second group of blocks when the sector information is written or stored in the particular block of memory of the first group of blocks and the sector information is identified as current or new; wherein the controller is further configured to move sectors from the temporary block locations.
-
Specification