Block management for mass storage
First Claim
1. A method of storing information in nonvolatile memory comprising:
- receiving sectors of information for storage into the non-volatile memory, the non-volatile memory organized into blocks of sectors;
storing the received sectors of information into temporary blocks, starting with a block N, N being an integer value such that when block N is filled with the received sectors of information, any remaining received sectors of information that have not been stored within the block N prior to the block N becoming full, are stored in additional temporary blocks;
performing a ‘
clean-up’
operation; and
arranging the sectors in sequential order within blocks, each identified and accessed by a virtual logical block address generated by a controller, other than the temporary blocks.
8 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
18 Claims
-
1. A method of storing information in nonvolatile memory comprising:
-
receiving sectors of information for storage into the non-volatile memory, the non-volatile memory organized into blocks of sectors; storing the received sectors of information into temporary blocks, starting with a block N, N being an integer value such that when block N is filled with the received sectors of information, any remaining received sectors of information that have not been stored within the block N prior to the block N becoming full, are stored in additional temporary blocks; performing a ‘
clean-up’
operation; andarranging the sectors in sequential order within blocks, each identified and accessed by a virtual logical block address generated by a controller, other than the temporary blocks. - View Dependent Claims (2, 3)
-
-
4. A nonvolatile memory system comprising:
-
nonvolatile memory organized into blocks, each block including sector locations for storing sector information; and a controller coupled to the non-volatile memory for storing sector information of sectors, received from a host, to the non-volatile memory, the controller first for causing sector information to be temporarily stored in a first group of blocks and then for performing a ‘
clean-up’
operation to arrange the received sectors in sequential order within blocks other than the temporary blocks wherein the controller is configured to generate virtual logical block addresses that identifies a unique block. - View Dependent Claims (5, 6, 7, 8, 9)
-
-
10. A nonvolatile memory system comprising:
a controller for use with a host that is in communication with nonvolatile memory for storing sector information of sectors, received from the host, nonvolatile memory organized into blocks, each block including sector locations for storing sector information, the controller first for causing sector information to be temporarily stored in a first group of blocks and then for performing a ‘
clean-up’
operation to arrange the received sectors in sequential order within blocks other than the temporary blocks wherein the controller is configured to generate a virtual logical block address that identifies a unique block.- View Dependent Claims (11, 12, 13, 14, 16, 17, 18)
-
15. A controller for use in a nonvolatile memory system comprising:
a space manager for use with a host that is in communication with nonvolatile memory for storing sector information of sectors, received from the host, nonvolatile memory organized into blocks, each block including sector locations for storing sector information, the controller first for causing sector information to be temporarily stored in a first group of blocks and then for performing a ‘
clean-up’
operation to arrange the received sectors in sequential order within blocks, identified and accessed by virtual logical addresses, other than the temporary blocks, the controller configured to generate the virtual logical addresses.
Specification