Monitoring entropic conditions of a flash memory device as an indicator for invoking erasure operations
DC CAFCFirst Claim
1. A method for managing erasures on a flash memory device having addressable physical sectors organized as blocks, comprising:
- tracking how many physical sectors are free to receive data;
tracking how many physical sectors contain data that is dirty;
comparing whether the physical sectors that are free to receive data outnumber the physical sectors that contain data that is dirty; and
executing an erase operation of one or more blocks when the physical sectors that contain data that is dirty outnumber the physical sectors that are free to receive data.
2 Assignments
Litigations
0 Petitions
Accused Products
Abstract
Erase operations are performed on a flash memory device by monitoring the entropic nature of the flash memory device. In one implementation, flash abstraction logic, tracks how many physical sectors are free to receive data; track how many physical sectors contain data that is dirty, and compare whether the physical sectors that are free to receive data outnumber the physical sectors that contain data that is dirty. A compactor performs an erase operation of one or more blocks when the physical sectors that contain data that is dirty outnumber the physical sectors that are free to receive data. In another implementation, the flash abstraction logic tracks how many physical sector addresses are free to receive data, and track when the physical sector addresses that are free to receive data are insufficient in quantity to receive write requests from a file system. The compactor executes an erase operation of one or more blocks if the physical sector addresses that are free to receive data are insufficient in quantity.
71 Citations
26 Claims
-
1. A method for managing erasures on a flash memory device having addressable physical sectors organized as blocks, comprising:
-
tracking how many physical sectors are free to receive data;
tracking how many physical sectors contain data that is dirty;
comparing whether the physical sectors that are free to receive data outnumber the physical sectors that contain data that is dirty; and
executing an erase operation of one or more blocks when the physical sectors that contain data that is dirty outnumber the physical sectors that are free to receive data. - View Dependent Claims (2, 3, 4, 5)
tracking when the physical sectors that are free to receive data are insufficient in quantity to receive write requests from a file system; and
executing a second erase operation of one or more blocks if the physical sectors that are free to receive data are insufficient in quantity.
-
-
4. The method as recited in claim 3, further comprising scheduling the execution of the second erase operation as high priority thread.
-
5. One or more computer-readable media comprising computer executable instructions that, when executed, perform the method as recited in claim 1.
-
6. A method for managing erasures on a flash memory device having addressable physical sectors organized as blocks, comprising:
-
tracking how many physical sectors are free to receive data;
tracking when the physical sectors that are free to receive data are insufficient in quantity to receive write requests from a file system; and
executing an erase operation of one or more blocks if the physical sectors that are free to receive data are insufficient in quantity. - View Dependent Claims (7, 8, 9, 10)
tracking how many physical sectors contain data that is dirty;
comparing whether the physical sectors that are free to receive data outnumber the physical sectors that contain data that is dirty; and
executing a second erase operation of one or more blocks when the physical sectors that contain data that is dirty outnumber the physical sectors that are free to receive data.
-
-
9. The method as recited in claim 8, further comprising:
- scheduling the execution of the second erase operation as a low priority thread.
-
10. One or more computer-readable media comprising computer executable instructions that, when executed, perform the method as recited in claim 6.
-
11. A system for flash memory having addressable locations organized as blocks, comprising:
-
flash abstraction logic, configured to track how many physical sectors are free to receive data;
track how many physical sectors contain data that is dirty, and compare whether the physical sectors that are free to receive data outnumber the physical sectors that contain data that is dirty; and
a compactor, configured to perform an erase operation of one or more blocks when the physical sectors that contain data that is dirty outnumber the physical sectors that are free to receive data. - View Dependent Claims (12, 13, 14)
track when the physical sector addresses that are free to receive data are insufficient in quantity to receive write requests from a file system; - and
the compactor is further configured to execute an erase operation of one or more blocks if the physical sector addresses that are free to receive data are insufficient in quantity.
-
-
15. A system for flash memory having addressable locations organized as blocks, comprising:
-
flash abstraction logic configured to track how many physical sector addresses are free to receive data, and track when the physical sector addresses that are free to receive data are insufficient in quantity to receive write requests from a file system; and
a compactor, configured to execute an erase operation of one or more blocks if the physical sector addresses that are free to receive data are insufficient in quantity. - View Dependent Claims (16, 17, 18)
the compactor, is further configured to perform an erase operation of one or more blocks when the physical sectors that contain data that is dirty outnumber the physical sectors that are free to receive data.
-
-
18. The system as recited in claim 15, wherein the compactor performs the erase operation as a high priority thread.
-
19. One or more computer-readable media comprising computer-executable instructions that, when executed by a computer, causes the computer to:
-
organize a flash memory having addressable locations into blocks;
track how many physical sectors are free to receive data;
track how many physical sectors contain data that is dirty;
compare whether the physical sectors that are free to receive data outnumber the physical sectors that contain data that is dirty; and
perform an erase operation of one or more blocks when the physical sectors that contain data that is dirty outnumber the physical sectors that are free to receive data. - View Dependent Claims (20, 21, 22)
advance through a sequence of the physical sector addresses; and
if a particular physical sector address corresponding to a physical sector in the memory contains valid data, to move the valid data to a physical sector address corresponding to a physical sector in the memory that is free to receive data before performing the erase operation.
-
-
21. One or more computer-readable media as recited in claim 19, wherein the computer treats the erase operation as low priority thread.
-
22. One or more computer-readable media as recited in claim 19, that causes the computer to:
- further track how many physical sector addresses are free to receive data, track when the physical sector addresses that are free to receive data are insufficient in quantity to receive write requests from a file system; and
perform an erase operation of one or more blocks if the physical sector addresses that are free to receive data are insufficient in quantity.
- further track how many physical sector addresses are free to receive data, track when the physical sector addresses that are free to receive data are insufficient in quantity to receive write requests from a file system; and
-
23. One or more computer-readable media comprising computer-executable instructions that, when executed by a computer, causes the computer to:
-
organize a flash memory having addressable locations into blocks;
track how many physical sector addresses are free to receive data;
track when the physical sector addresses that are free to receive data are insufficient in quantity to receive write requests from a file system; and
execute an erase operation of one or more blocks if the physical sector addresses that are free to receive data are insufficient in quantity. - View Dependent Claims (24, 25, 26)
advance through a sequence of the physical sector addresses; and
if a particular physical sector address corresponding to a physical sector in the memory contains valid data, to move the valid data to a physical sector address corresponding to a physical sector in the memory that is free to receive data before performing the erase operation.
-
-
25. One or more computer-readable media as recited in claim 23, that causes the computer to further track how many physical sectors are free to receive data;
- track how many physical sectors contain data that is dirty, and compare whether the physical sectors that are free to receive data outnumber the physical sectors that contain data that is dirty; and
perform an erase operation of one or more blocks when the physical sectors that contain data that is dirty outnumber the physical sectors that are free to receive data.
- track how many physical sectors contain data that is dirty, and compare whether the physical sectors that are free to receive data outnumber the physical sectors that contain data that is dirty; and
-
26. One or more computer-readable media as recited in claim 23, wherein the computer treats the erase operation as a high priority thread.
Specification