Direct logical block addressing flash memory mass storage architecture
First Claim
1. A method comprising:
- attempting to locate a free location in memory;
if a free location in the memory is located, storing a data file in the located location, setting a first flag associated with the located location, and updating a map correlating a logical address associated with the data file to a physical address associated with the located location; and
if a free location in memory is not located, erasing a data file stored in a used location in the memory having a set second flag associated therewith;
wherein updating the map comprises storing the physical address of the located location without storing the corresponding logical address associated with the data file.
7 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.
264 Citations
25 Claims
-
1. A method comprising:
-
attempting to locate a free location in memory; if a free location in the memory is located, storing a data file in the located location, setting a first flag associated with the located location, and updating a map correlating a logical address associated with the data file to a physical address associated with the located location; and if a free location in memory is not located, erasing a data file stored in a used location in the memory having a set second flag associated therewith; wherein updating the map comprises storing the physical address of the located location without storing the corresponding logical address associated with the data file. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method comprising:
-
attempting to locate a free location in memory; if a free location in the memory is located, storing a data file in the located location, setting a first flag associated with the located location, and updating a logical to physical address map with a physical address of the located location; and if a free location in memory is not located, erasing a data file stored in a used location in the memory having a set second flag associated therewith; wherein updating the logical to physical address map comprises storing the physical address without storing a logical address corresponding to the stored physical address. - View Dependent Claims (19)
-
-
20. A method comprising:
-
reading a flag associated with a location in nonvolatile memory; reading a logical address associated with the location in the nonvolatile memory; and storing a physical address associated with the location in the nonvolatile memory in a location in volatile memory associated with the read logical address responsive to the read flag; wherein the physical address is stored in the location in volatile memory without storing the read logical address in the location in volatile memory. - View Dependent Claims (21, 22, 23, 24, 25)
-
Specification