Flash memory management method that is resistant to data corruption by power loss
First Claim
Patent Images
1. A method of managing a memory that includes a plurality of pages, at least a portion of the pages having respective risk zones, the method comprising the steps of:
- (a) selecting at least one unwritten page for writing new data;
(b) for each said unwritten page whose risk zone includes at least one written page, copying each said written page to a log that is separate from said at least one unwritten page; and
(c) writing said new data to said at least one unwritten page.
4 Assignments
0 Petitions
Accused Products
Abstract
The present invention includes a method of managing page-based data storage media such as flash media, a system that uses the method, and a computer-readable storage medium bearing code for implementing the method. For each page, a corresponding risk zone, of other pages whose data are put at risk of corruption if writing to the page is interrupted, is identified. When a page is selected for writing new data, the written pages in its risk zone are copied to a log. As necessary, corrupt data are replaced with corresponding data from the log.
-
Citations
26 Claims
-
1. A method of managing a memory that includes a plurality of pages, at least a portion of the pages having respective risk zones, the method comprising the steps of:
-
(a) selecting at least one unwritten page for writing new data; (b) for each said unwritten page whose risk zone includes at least one written page, copying each said written page to a log that is separate from said at least one unwritten page; and (c) writing said new data to said at least one unwritten page. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A data storage system, comprising:
-
(a) a data storage medium including a plurality of pages, at least a portion of said pages having respective risk zones; (b) a log; and (c) a controller for writing new data to said plurality of pages by steps including; (i) selecting at least one unwritten page of said plurality of pages for writing said new data, said at least one unwritten page being separate from said log; (ii) for each said unwritten page whose risk zone includes at least one written page of said plurality of pages, copying each said written page to said log, and (iii) writing said new data to said at least one unwritten page of said plurality of pages. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23)
-
-
24. A computer-readable storage medium having computer-readable code embodied in the computer-readable storage medium, the computer readable code for writing new data to at least one of a plurality of pages, of a data storage medium, at least a portion of which have respective risk zones, the computer-readable code comprising:
-
(a) program code for selecting at least one unwritten page for writing the new data; (b) program code for, for each said unwritten page whose risk zone includes at least one written page, copying each said written page to a log that is separate from said at least one unwritten page; and (c) program code for writing the new data to said at least one unwritten page.
-
-
25. A method of managing a memory that includes a plurality of pages, at least a portion of the pages having respective risk zones, the method comprising the steps of:
-
(a) selecting at least one unwritten page for writing new data; (b) for each said unwritten page whose risk zone includes at least one written page, copying each said written page to a log; and (c) writing said new data to said at least one unwritten page; wherein said copying and said writing are effected using different respective writing modes; and
wherein said writing mode of said copying writes fewer bits to a cell of the memory than said writing mode of said writing.
-
-
26. A data storage system, comprising:
-
(a) a data storage medium including a plurality of pages, at least a portion of said pages having respective risk zones; (b) a log; and (c) a controller for writing new data to said plurality of pages by steps including; (i) selecting at least one unwritten page of said plurality of pages for writing said new data; (ii) for each said unwritten page whose risk zone includes at least one written page of said plurality of pages, copying each said written page to said log; and (iii) writing said new data to said at least one unwritten page of said plurality of pages; wherein said copying to said log and said writing to said at least one unwritten page are effected using different respective writing modes; and
wherein said writing mode of said copying to said log writes fewer bits to a cell of said data storage medium than said writing mode of said writing to said at least one unwritten page.
-
Specification