Direct logical block addressing flash memory mass storage architecture
First Claim
1. A storage device having nonvolatile memory coupled to a host, said nonvolatile memory for storing information, the host for generating a plurality of logical block addresses for use in storing or reading information in and from the nonvolatile memory, the storage device comprising:
- a. a volatile memory device having a plurality of volatile memory locations each of which is uniquely addressable by one of the logical block addresses, and wherein each of the volatile memory locations is configured to store a physical block address without requiring the storage of a corresponding logical block address;
b. one or more nonvolatile memory devices, coupled to the volatile memory, each of said one or more nonvolatile memory devices being organized into a plurality of nonvolatile data blocks, wherein each block is selectively programmable and erasable and further wherein each block is uniquely addressable by one of the physical block addresses, and further wherein the plurality of blocks including flag information, at least one flag information stored with each block in the one or more nonvolatile memory devices for indicating the status of the information stored in a data block; and
c. circuitry for receiving a block of data to be stored in the one or more nonvolatile memory devices, for receiving a target logical block address, for identifying a free particular block within the nonvolatile blocks having no data stored therein, and for storing the physical block address of the particular block in the volatile memory location that corresponds to the target logical block address, wherein the flag information stored in the one or more nonvolatile memory devices which correlate to the physical block addresses of the plurality of nonvolatile data blocks are copied to the volatile memory locations during power-up.
8 Assignments
0 Petitions
Accused Products
Abstract
A nonvolatile semiconductor mass storage system and architecture can be substituted for a rotating hard disk. The system and architecture avoid an erase cycle each time information stored in the mass storage is changed. Erase cycles are avoided by programming an altered data file into an empty mass storage block rather than over itself as a hard disk would. Periodically, the mass storage will need to be cleaned up. These advantages are achieved through the use of several flags, and a map to correlate a logical block address of a block to a physical address of that block. In particular, flags are provided for defective blocks, used blocks, and old versions of a block. An array of volatile memory is addressable according to the logical address and stores the physical address.
-
Citations
1 Claim
-
1. A storage device having nonvolatile memory coupled to a host, said nonvolatile memory for storing information, the host for generating a plurality of logical block addresses for use in storing or reading information in and from the nonvolatile memory, the storage device comprising:
-
a. a volatile memory device having a plurality of volatile memory locations each of which is uniquely addressable by one of the logical block addresses, and wherein each of the volatile memory locations is configured to store a physical block address without requiring the storage of a corresponding logical block address;
b. one or more nonvolatile memory devices, coupled to the volatile memory, each of said one or more nonvolatile memory devices being organized into a plurality of nonvolatile data blocks, wherein each block is selectively programmable and erasable and further wherein each block is uniquely addressable by one of the physical block addresses, and further wherein the plurality of blocks including flag information, at least one flag information stored with each block in the one or more nonvolatile memory devices for indicating the status of the information stored in a data block; and
c. circuitry for receiving a block of data to be stored in the one or more nonvolatile memory devices, for receiving a target logical block address, for identifying a free particular block within the nonvolatile blocks having no data stored therein, and for storing the physical block address of the particular block in the volatile memory location that corresponds to the target logical block address, wherein the flag information stored in the one or more nonvolatile memory devices which correlate to the physical block addresses of the plurality of nonvolatile data blocks are copied to the volatile memory locations during power-up.
-
Specification