Managing flash memory based upon usage history
First Claim
1. A system that facilitates management and lifetime optimization of a memory, comprising:
- the memory comprising a plurality of memory regions;
a processor;
a computer readable storage medium operationally coupled to the processor and storing computer executable instructions, the computer executable instructions, when executed by the processor, implement components comprising;
a cycle interval management component that compiles a history of usage and operating conditions of a memory region of the plurality of memory regions and, based at least on the history of usage and operating conditions, identifies an additional period of time for which the memory region should be rested following an erase cycle, wherein the additional period of time the memory should be rested is in addition to a period of time the memory region rests after an erase cycle on the memory region is performed, anda memory management component that determines if an operation is to be performed on the memory region based in part on the additional period of time for which the memory region should be rested.
4 Assignments
0 Petitions
Accused Products
Abstract
A memory management component can track the amount of time between erase cycles for a particular memory region, and can manage memory region such that the regions are given sufficient time to rest and recover, or are given at least as much rest time as is practical, before being subject to an erase cycle. A reclamation management component can reclaim memory region that have invalid data stored therein, and can reclaim regions on a just-in-time basis when practical, and can determine which regions to reclaim based on various factors, such as the amount of time since a region was last erased, and the number of programming errors associated with a region. The memory management component can thereby optimize the useful life, minimize or reduce loss of margin in memory regions, and minimize or reduce programming errors of memory regions, of non-volatile (e.g., flash) memory.
-
Citations
20 Claims
-
1. A system that facilitates management and lifetime optimization of a memory, comprising:
-
the memory comprising a plurality of memory regions; a processor; a computer readable storage medium operationally coupled to the processor and storing computer executable instructions, the computer executable instructions, when executed by the processor, implement components comprising; a cycle interval management component that compiles a history of usage and operating conditions of a memory region of the plurality of memory regions and, based at least on the history of usage and operating conditions, identifies an additional period of time for which the memory region should be rested following an erase cycle, wherein the additional period of time the memory should be rested is in addition to a period of time the memory region rests after an erase cycle on the memory region is performed, and a memory management component that determines if an operation is to be performed on the memory region based in part on the additional period of time for which the memory region should be rested. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for managing and optimizing a memory, comprising:
-
employing a processor executing computer executable instructions stored on a computer readable storage medium to implement the following acts; compiling a history of usage and operating conditions for at least one memory region of a plurality of memory regions in the memory; determining a period of time for which the at least one memory region should be rested following an erase cycle in which the period of time is in addition to a rest period for the memory region in a dormant state, the dormant state is when the memory region is in the process of erasing or when the erase of the memory region has just been completed; initiating an operation associated with the memory, the operation is one of a write operation, a memory region reclaiming operation, or an erase cycle; and determining the at least one memory region of the plurality of memory regions in the memory on which the operation is to be performed based in part on the determined rest time period in addition to a rest period of the at least one memory region in a dormant state. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A system for managing memory regions in a memory, comprising:
-
a processor; a computer readable storage medium storing computer executable instructions, the computer executable instructions, when executed by the processor, implement components comprising; means for selecting, by the processor, a type of data placement to be utilized during a write operation; means for compiling, by the processor, a usage and operating condition history of at least one memory region in a plurality of memory regions in the memory; means for identifying, by the processor, a default period of time for which at least one memory region is rested following an erase cycle, such default period of time relates to a usage and operating condition history; means for determining, by the processor, an additional period of time for which the at least one memory region should be rested following an erase cycle based upon the usage and operating condition history, such additional period of time is in addition to the default period of time for which at least one memory region is rested following an erase cycle; means for calculating, by the processor, an amount of time since an erase cycle has been performed on the at least one memory region; means for determining, by the processor, whether the at least one memory region has rested for the determined rest period since the erase cycle was performed on the at least one memory region; and means for choosing, by the processor, at least one memory region of the plurality of memory regions on which to execute the write operation based in part on whether the at least one memory region has been sufficiently rested. - View Dependent Claims (20)
-
Specification