Flash management techniques
First Claim
Patent Images
1. A method, comprising:
- performing a write transaction comprising;
writing a first control sector with a sequence number to a flash memory, wherein the control sector is not a data sector and wherein the sequence number is determined using bidirectional counting, wherein a most significant bit of the sequence number is used to designate a current direction of the bidirectional counting;
writing a checksum to the first control sector; and
writing the sequence number, an address for a logical sector, and data to at least one physical sector mapped to the logical sector;
determining whether the physical sector corresponding to the logical sector is dirty using the sequence number;
validating a checksum of a last write sector; and
compacting all blocks on the flash memory that contain the data written to the at least one physical sector, when the checksum of the last write sector fails, so that the write transaction is rolled back.
1 Assignment
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.
-
Citations
18 Claims
-
1. A method, comprising:
-
performing a write transaction comprising; writing a first control sector with a sequence number to a flash memory, wherein the control sector is not a data sector and wherein the sequence number is determined using bidirectional counting, wherein a most significant bit of the sequence number is used to designate a current direction of the bidirectional counting; writing a checksum to the first control sector; and writing the sequence number, an address for a logical sector, and data to at least one physical sector mapped to the logical sector; determining whether the physical sector corresponding to the logical sector is dirty using the sequence number; validating a checksum of a last write sector; and compacting all blocks on the flash memory that contain the data written to the at least one physical sector, when the checksum of the last write sector fails, so that the write transaction is rolled back. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An apparatus, comprising:
-
a processor; a flash memory coupled to the processor; and a flash management module that when executed by the processor is arranged to; perform a write transaction comprising; write a first control sector with a sequence number to the flash memory, wherein the control sector is not a data sector and wherein the sequence number is determined using bidirectional counting, wherein a most significant bit of the sequence number is used to designate a current direction of the bidirectional counting; write a checksum to the first control sector; and write the sequence number, an address for a logical sector, and data to at least one physical sector mapped to the logical sector; determine whether the physical sector corresponding to the logical sector is dirty using the sequence number; validate a checksum of a last write sector; and compact all blocks on the flash memory that contain the data written to the at least one physical sector, when the checksum of the last write sector fails, so that the write transaction is rolled back. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
Specification