System and method for tracking data stored in a flash memory device
First Claim
1. A method comprising:
- receiving a request to write data to a logical sector address of a flash memory medium;
selecting a physical sector address from a list of free physical sector addresses;
assigning the selected free physical sector address to the logical sector address forming a corresponding relationship between the addresses;
storing the corresponding relationship between the addresses in a data structure; and
writing the data into a physical sector of the flash memory medium at a location indicated by the selected free physical sector address.
2 Assignments
0 Petitions
Accused Products
Abstract
A flash driver tracks data stored in a flash memory device through the use of logical-to-physical sector mapping. The mapping is stored in a data structure and allows data to be written into the next free physical sector in the flash memory medium. Write operations complete quickly, because there is no need to perform an erase operation in order to write new data on to the flash memory medium. Data loss due to power interruption during a write operation is also minimized by the described implementations. The logical-to-physical sector mapping stored in data structure is backed-up on the flash memory medium. In the event there is a catastrophic power interruption, logical-to-physical sector mapping can easily be reestablished by scanning the backed-up mapping in the flash memory medium. The backed-up information can be stored in a spare portion of a NAND or NOR flash memory medium.
-
Citations
33 Claims
-
1. A method comprising:
-
receiving a request to write data to a logical sector address of a flash memory medium;
selecting a physical sector address from a list of free physical sector addresses;
assigning the selected free physical sector address to the logical sector address forming a corresponding relationship between the addresses;
storing the corresponding relationship between the addresses in a data structure; and
writing the data into a physical sector of the flash memory medium at a location indicated by the selected free physical sector address. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer-readable medium having computer-executable instructions for performing stops comprising:
-
receiving a request to write data to a logical sector address of a flash memory medium;
selecting a physical sector of the flash memory medium to store the data based on the ability of the physical sector to store the data without first being erased;
assigning a physical sector address of the selected physical sector to the logical sector address forming a corresponding relationship between the addresses;
storing the corresponding relationship between the addresses in a data structure;
writing the data into the physical sector, and writing the logical sector address in the physical sector of the flash memory medium along with the data. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A method comprising:
-
(a) receiving a request to write data to a logical sector address of a flash memory medium;
(b) assigning a physical sector address to the logical sector address forming a corresponding relationship between the addresses;
(c) storing the corresponding relationship between the addresses in a data structure;
(d) writing the data into a physical sector of the flash memory medium at a location indicated by the physical sector address;
(e) receiving a request to rewrite updated data to the logical sector address;
(f) assigning a new physical sector address to the logical sector address forming a corresponding relationship between the new physical sector address and the logical sector address;
(g) storing the corresponding relationship between the addresses from the aforementioned paragraph (f) in the data structure;
(h) writing the updated data into a physical sector of the flash memory medium at a location indicated by the new physical sector address; and
(i) marking the physical sector address from the aforementioned paragraph (b) as dirty. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A system, comprising:
-
flash medium logic, configured to store data in a physical sector of a flash memory medium;
a table, configured to map logical sector addresses received from a file system to physical sector addresses on the flash memory medium; and
flash abstraction logic, configured to ascertain a next free physical sector on a flash memory medium and assign an address associated with the free physical sector to a logical sector address associated with a write request received from the file system. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25)
-
-
26. A computer-readable medium for a flash driver, comprising computer-executable instructions that, when executed, direct the flash driver to:
-
receive a request to write data to a logical sector address of a flash memory medium;
selecting a physical sector address from a list of free physical sector addresses;
assign the selected physical sector address to the logical sector address forming a corresponding relationship between the addresses;
store the corresponding relationship between the addresses in a table; and
write the data into a physical sector of the flash memory medium at a location indicated by the physical sector address.
-
-
27. A computer-readable medium for a flash driver, comprising computer-executable instructions that, when executed, direct the flash driver to:
-
receive a request to write data to a logical sector address of a flash memory medium;
assign a physical sector address to the logical sector address forming a corresponding relationship between the addresses;
store the corresponding relationship between the addresses in a table;
write the data into a physical sector of the flash memory medium at a location indicated by the physical sector address;
write the logical sector address in the physical sector of the flash memory medium along with the data;
if the table is erased, then scan the flash memory medium to locate the logical sector address stored with the data;
assign the physical sector address containing the data to the logical sector address forming a reestablished corresponding relationship between the addresses; and
store the reestablished corresponding relationship between the addresses in a new table.
-
-
28. A system for tracking sectors in a flash memory medium, comprising:
-
means for receiving a request to retrieve data stored in the flash memory medium from a location indicated by a logical sector address;
means for locating a physical sector address corresponding to the specific logical sector address in a table; and
means for reading the data stored in the flash memory medium from the physical sector address located from the table. - View Dependent Claims (29, 30, 31, 32, 33)
-
Specification