METHOD AND DEVICE FOR MANAGING A MEMORY
First Claim
1. A method for managing a memory, the memory comprising a set of units and a unit comprising a set of pages, wherein a unit of the set of units is erasable as a whole by a unit reclaiming process resulting in a free unit available for writing data to, and wherein data updates are performed by writing data updates out-of-place, wherein data updates to outdated data are written to a page different from a page containing the outdated data, and wherein the page containing the outdated data is invalid, while a page containing up-to-date data is a valid page, the method comprising:
- maintaining a first pool of units available for reclamation by the unit reclaiming process;
maintaining a second pool of units not available for reclamation by the unit reclaiming process;
moving a first unit from the first pool to the second pool in response to invalidating a first one of the pages contained in the first unit;
returning the first unit from the second pool to the first pool after a defined number of units of the set have been written; and
selecting a unit out of the first pool for reclamation by the unit reclaiming process.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for managing a memory is disclosed, the memory including a set of units and a unit comprising a set of pages, wherein a unit of the set of units is erasable as a whole by a unit reclaiming process resulting in a free unit available for writing data to. The method includes maintaining a first pool of units available for reclamation by the unit reclaiming process; maintaining a second pool of units not available for reclamation by the unit reclaiming process; moving a first unit from the first pool to the second pool in response to invalidating a first one of the pages contained in the first unit; returning the first unit from the second pool to the first pool after a defined number of units of the set have been written; and selecting a unit out of the first pool for reclamation by the unit reclaiming process.
33 Citations
19 Claims
-
1. A method for managing a memory, the memory comprising a set of units and a unit comprising a set of pages, wherein a unit of the set of units is erasable as a whole by a unit reclaiming process resulting in a free unit available for writing data to, and wherein data updates are performed by writing data updates out-of-place, wherein data updates to outdated data are written to a page different from a page containing the outdated data, and wherein the page containing the outdated data is invalid, while a page containing up-to-date data is a valid page, the method comprising:
-
maintaining a first pool of units available for reclamation by the unit reclaiming process; maintaining a second pool of units not available for reclamation by the unit reclaiming process; moving a first unit from the first pool to the second pool in response to invalidating a first one of the pages contained in the first unit; returning the first unit from the second pool to the first pool after a defined number of units of the set have been written; and selecting a unit out of the first pool for reclamation by the unit reclaiming process. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 11, 16, 17, 18, 19)
-
-
10. A method for managing a memory, the memory comprising a set of units and a unit comprising a set of pages, wherein a unit of the set of units is erasable as a whole by a unit reclaiming process resulting in a free unit available for writing data to, and wherein data updates are performed by writing data updates out-of-place, wherein data updates to outdated data are written to a page different from a page containing the outdated data, and wherein the page containing the outdated data is invalid, while a page containing up-to-date data is a valid page, the method comprising:
-
maintaining a first pool of units available for reclamation by the unit reclaiming process; maintaining a second pool of units not available for reclamation by the unit reclaiming process, which second pool comprises a First-In-First-Out buffer; moving a first unit from the first pool to the second pool in response to invalidating a first one of the pages contained in the first unit; in response to moving the first unit from the first pool to the second pool returning another unit from the second pool to the first pool; and selecting a unit out of the first pool for reclamation by the unit reclaiming process.
-
-
12. A memory controller for managing a memory comprising a set of units and a unit comprising a set of subunits, wherein a unit of the set of units is erasable as a whole by a unit reclaiming process resulting in a free unit available for writing data to, and wherein data updates are performed by writing data updates out-of-place, wherein data updates to outdated data are written to a subunit different from a subunit containing the outdated data;
- and wherein the subunit containing the outdated data is invalid, while a subunit containing up-to-date data is a valid subunit, wherein the memory controller is configured to;
maintain a first pool of units available for reclamation by the unit reclaiming process; maintain a second pool of units not available for reclamation by the unit reclaiming process; move a first unit from the first pool to the second pool in response to invalidating a first one of the pages contained in the first unit; return the first unit from the second pool to the first pool after a defined number of units of the set have been written; and select a unit out of the first pool for reclamation by the unit reclaiming process. - View Dependent Claims (13, 14, 15)
- and wherein the subunit containing the outdated data is invalid, while a subunit containing up-to-date data is a valid subunit, wherein the memory controller is configured to;
Specification