MLC SELF-RAID FLASH DATA PROTECTION SCHEME
First Claim
1. A method of managing a multiple level cell flash memory that is logically organized to include a block having a plurality of pages, each page including a plurality of sectors, the method comprising:
- (a) choosing a parity sector in each page;
(b) assigning the pages of the block into one or more groups and selecting a parity page in each group;
(c) for each page, calculating a sector parity value for data stored in the sectors of the page and storing the sector parity value into the parity sector of the page; and
(d) calculating a group parity value of data stored in the pages of the group and storing the group parity value in the parity page.
6 Assignments
0 Petitions
Accused Products
Abstract
A two-dimensional self-RAID method of protecting page-based storage data in a MLC multiple-level-cell flash memory device. The protection scheme includes reserving one parity sector across each data page, reserving one parity page as the column parity, selecting a specific number of pages to form a parity group, writing into the parity page a group parity value for data stored in the pages of the parity group. The parity sector represents applying a RAID technique in a first dimension. The group parity represents applying a RAID technique in a second dimension. Data protection is achieved because a corrupted data sector can likely be recovered by the two dimensional RAID data.
142 Citations
22 Claims
-
1. A method of managing a multiple level cell flash memory that is logically organized to include a block having a plurality of pages, each page including a plurality of sectors, the method comprising:
-
(a) choosing a parity sector in each page; (b) assigning the pages of the block into one or more groups and selecting a parity page in each group; (c) for each page, calculating a sector parity value for data stored in the sectors of the page and storing the sector parity value into the parity sector of the page; and (d) calculating a group parity value of data stored in the pages of the group and storing the group parity value in the parity page. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 19)
-
-
9. A method of managing a multiple level cell flash memory that is organized logically into one or more blocks each having a plurality of pages, each page including a plurality of sectors, the method comprising:
-
(a) selecting from the blocks a parity block; (b) choosing a parity sector in each page; (c) assigning the pages of the block into a plurality of groups; (d) for each page, calculating a sector parity value for data stored in the sectors in each page and storing the sector parity value in the parity sector; (e) prior to completing data writing into all pages of a group, calculating a subset group parity for a subset of pages in the group; and (f) storing the subset group parity in the parity block. - View Dependent Claims (10, 11, 13, 14, 15, 16, 17, 18, 20)
-
-
21. A method of managing a multiple level cell flash memory that is organized logically into blocks each including a plurality of pages, each page including a plurality of sequentially numbered sectors, the method comprising:
-
(a) programming and erasing data on a page at a predetermined speed; (b) detecting an error rate for each page of a block and identifying a group of high error pages based on the error rates; and (c) applying a speed slower than the predetermined speed in programming and erasing data on the identified high error pages.
-
-
22. A method of managing a multiple level cell flash memory that includes a sense circuitry, comprising:
-
(a) detecting charge levels of the multiple level cells using a first sense voltage, and compiling a first correlation table between the first sense voltage and each of the charge level of each of the multiple level cell; (b) selecting a second sense voltage that is lower than the first sense voltage and detecting charge levels of the multiple level cells using the second sense voltage, and compiling a correlation table between the second sense voltage and each of the charge level of each of the multiple level cells; (c) replace the first correlation table by the second correlation table.
-
Specification