Rotational use of memory to minimize write cycles
First Claim
Patent Images
1. A method for managing erasures on a flash memory device having addressable physical sections organized as blocks, the method comprising the steps of:
- a. identifying a first current block;
b. identifying a first available record in said first current block;
c. writing a first flag in a first header in said first available record;
d. writing data consecutively after said first header;
e. identifying a subsequent available record;
f. writing a second flag in a second header in said subsequent available record; and
g. writing a first pointer to said first header, wherein said first pointer indicates an address for superceded data.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method to minimize the number of erase cycles performed on a flash memory device to extend its useful life. A flash memory device has several areas where data is stored. Each area is referred to as a block. Memory usage is rotated between blocks to evenly distribute erase cycles.
-
Citations
20 Claims
-
1. A method for managing erasures on a flash memory device having addressable physical sections organized as blocks, the method comprising the steps of:
-
a. identifying a first current block;
b. identifying a first available record in said first current block;
c. writing a first flag in a first header in said first available record;
d. writing data consecutively after said first header;
e. identifying a subsequent available record;
f. writing a second flag in a second header in said subsequent available record; and
g. writing a first pointer to said first header, wherein said first pointer indicates an address for superceded data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for flash memory having addressable locations organized as blocks, comprising:
a. a flash driver having flash abstraction logic, said flash abstraction logic configured to;
i. identify a first current block;
ii. identify a first available record in said first current block;
iii. write a first flag in a first header in said first available record;
iv. write data consecutively after said first header;
v. identify a subsequent available record;
vi. write a second flag in a second header in said subsequent available record; and
vii. write a first pointer to said first header, wherein said first pointer indicates an address for superceded data. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
17. In a flash memory device having a first block and a second block, a method of rotating between the first memory block and the second memory block to extend the useful life of the flash memory, the method comprising the steps of:
-
a) erasing the first block and the second block;
b) identifying a first open record in the first block;
c) writing a previous header in said first open record;
d) writing data consecutively after said previous header;
e)) identifying a subsequent open record in the first block;
f) writing a subsequent header to said subsequent open record;
g) writing data consecutively after said subsequent header;
h) writing a data length variable to said previous header;
i) iteratively performing steps “
e,”
“
f,”
“
g,” and
“
h”
until there are no more open records in the first block; and
h) identifying a first open record in the second block. - View Dependent Claims (18, 19, 20)
-
Specification