Reclaiming units by searching units for a predetermined criterion and storing data from a valid subunit
First Claim
1. A method for managing a computerized memory for storing data, the memory comprising units, each of the units comprising subunits, the method comprising:
- searching amongst the units to identify a unit that matches a predetermined criterion;
responsive to identifying the unit that matches the predetermined criterion thereby forming an identified unit, stopping the search and rewriting data of valid subunits of the identified unit into at least one other unit, wherein the predetermined criterion comprises a number of valid subunits of the unit, a number of invalid subunits of the unit, a number of free subunits in the unit, an age of the unit, a time of a most recent write activity to the unit, a time of an earliest write activity to the unit, and a frequency of write activities to the unit; and
erasing the identified unit hereby making the identified unit available for reuse.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for managing write operations in memory. The method includes a memory including units, each of the units including subunits. Data updates are written “out-of-place”, in that new data does not overwrite the memory locations (subunits) where the data is currently stored. The at least one subunit containing the outdated data is marked as invalid. As a result, a subunit can contain up to date data in a valid subunit next to invalid subunits. For reclaiming units for erasure, it is searched amongst the units to identify a unit or units that match a predetermined criterion. The data of valid subunits of such identified unit is rewritten to another unit or units.
22 Citations
18 Claims
-
1. A method for managing a computerized memory for storing data, the memory comprising units, each of the units comprising subunits, the method comprising:
-
searching amongst the units to identify a unit that matches a predetermined criterion; responsive to identifying the unit that matches the predetermined criterion thereby forming an identified unit, stopping the search and rewriting data of valid subunits of the identified unit into at least one other unit, wherein the predetermined criterion comprises a number of valid subunits of the unit, a number of invalid subunits of the unit, a number of free subunits in the unit, an age of the unit, a time of a most recent write activity to the unit, a time of an earliest write activity to the unit, and a frequency of write activities to the unit; and erasing the identified unit hereby making the identified unit available for reuse. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer program product comprising a non-transitory computer readable storage medium having a computer readable program stored therein, wherein the computer readable program, when executed on a computer, causes the computer to:
-
search amongst units comprised within a memory to identify a unit that matches a predetermined criterion; responsive to identifying the unit that matches the predetermined criterion thereby forming an identified unit, stopping the search and rewriting data of valid subunits of the identified unit to subunits of at least one other unit, wherein the predetermined criterion comprises a number of valid subunits of the unit, a number of invalid subunits of the unit, a number of free subunits in the unit, arg age of the unit, a time of a most recent write activity to the unit, a time of an earliest write activity to the unit, and a frequency of write activities to the unit; and erase the identified unit thereby making the identified unit available for reuse.
-
-
16. A storage device, comprising:
-
a memory comprising units, each of the units comprising subunits, a subunit containing either up to date data being a valid subunit or outdated data being an invalid subunit; and a memory controller configured to; search amongst the units to identify a unit that matches a predetermined criterion; responsive to identifying the unit that matches the predetermined criterion thereby forming an identified unit, stop the search; rewrite data of valid subunits of the identified unit into subunits of at least one other unit, wherein the predetermined criterion comprises a number of valid subunits of the unit, a number of invalid subunits of the unit, a number of free subunits in the unit, an age of the unit, a time of a most recent write activity to the unit, a time of an earliest write activity to the unit, and a frequency of write activities to the unit; and erase the identified unit thereby making the identified unit available for reuse. - View Dependent Claims (17, 18)
-
Specification