Flash management techniques
First Claim
Patent Images
1. An article comprising a machine-readable storage medium containing instructions that if executed enable a system to:
- receive a write request to write data to a flash memory;
determine a sequence number using bidirectional counting, wherein a most significant bit of the sequence number is used to designate a current direction of the bidirectional counting;
receive a list of physical sectors for said write request;
compute a checksum for data to be stored in a last physical sector of the physical sectors for said write request;
write a first control sector with said sequence number to said flash memory, wherein the control sector is not a data sector;
write said checksum to said first control sector;
write said sequence number, an address for a logical sector, and said data to at least one physical sector corresponding to said logical sector, anddetermine whether said physical sector corresponding to said logical sector is dirty using said sequence number.
2 Assignments
0 Petitions
Accused Products
Abstract
Various flash management techniques may be described. An apparatus may comprise a processor, a flash memory coupled to the processor, and a flash management module. The flash management module may be executed by the processor to receive a write request to write data to the flash memory, write a first control sector with a sequence number to the flash memory, and write the sequence number, an address for a logical sector, and data to at least one physical sector corresponding to the logical sector of the flash memory. Other embodiments are described and claimed.
28 Citations
16 Claims
-
1. An article comprising a machine-readable storage medium containing instructions that if executed enable a system to:
-
receive a write request to write data to a flash memory; determine a sequence number using bidirectional counting, wherein a most significant bit of the sequence number is used to designate a current direction of the bidirectional counting; receive a list of physical sectors for said write request; compute a checksum for data to be stored in a last physical sector of the physical sectors for said write request; write a first control sector with said sequence number to said flash memory, wherein the control sector is not a data sector; write said checksum to said first control sector; write said sequence number, an address for a logical sector, and said data to at least one physical sector corresponding to said logical sector, and determine whether said physical sector corresponding to said logical sector is dirty using said sequence number. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method, comprising:
-
receiving a write request to write data to a flash memory; determining a sequence number using bidirectional counting, wherein a most significant bit of the sequence number is used to designate a current direction of the bidirectional counting; receiving a list of physical sectors for said write request; computing a checksum for data to be stored in a last physical sector of the physical sectors for said write request; writing a first control sector with said sequence number to said flash memory, wherein the control sector is not a data sector; writing said checksum to said first control sector; writing said sequence number, an address for a logical sector, and said data to at least one physical sector corresponding to said logical sector; and determining whether said physical sector corresponding to said logical sector is dirty using said sequence number. - View Dependent Claims (8, 9, 10, 11)
-
-
12. An apparatus, comprising:
-
a processor; a flash memory coupled to said processor; and a flash management module that when executed by said processor is arranged to; receive a write request to write data to said flash memory; determine a sequence number using bidirectional counting, wherein a most significant bit of the sequence number is used to designate a current direction of the bidirectional counting; receive a list of physical sectors for said write request; compute a checksum for data to be stored in a last physical sector of the physical sectors for said write request; write a first control sector with said sequence number to said flash memory, wherein the control sector is not a data sector; write said checksum to said first control sector, and write said sequence number, an address for a logical sector, and said data to at least one physical sector corresponding to said logical sector of said flash memory; said flash management module to determine whether said physical sector corresponding to said logical sector is dirty using said sequence number. - View Dependent Claims (13, 14, 15, 16)
-
Specification