MANAGING FLASH MEMORY PROGRAM AND ERASE CYCLES IN THE TIME DOMAIN
First Claim
1. A system that facilitates management of a memory, comprising:
- the memory comprising a plurality of memory regions; and
a memory management component that determines if an operation is to be performed on a memory region of the plurality of memory regions based in part on a length of time since an erase cycle was performed on the memory region.
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 of a memory, comprising:
-
the memory comprising a plurality of memory regions; and a memory management component that determines if an operation is to be performed on a memory region of the plurality of memory regions based in part on a length of time since an erase cycle was performed on the memory region. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for managing a memory, comprising:
-
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 at least one memory region of a plurality of memory regions in the memory on which the operation is to be performed based in part on a length of time since an erase cycle was performed on the at least one memory region. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A system for managing memory regions in a memory, comprising:
-
means for selecting a type of data placement to be utilized during a write operation; means for counting a number of programming errors associated with at least one memory region of a plurality of memory regions in the memory; means for calculating an amount of time since an erase cycle has been performed on the at least one memory region; and means for choosing at least one memory region of the plurality of memory region on which to execute the write operation based in part on at least one of a period of time since an erase cycle has been performed on the memory region or a number of programming errors associated with the at least one memory region, or a combination thereof. - View Dependent Claims (20)
-
Specification