IP Library Granted Patent US 8,365,041
Granted Patent B2
US 8,365,041 · App. 12/726,200 · Granted Jan 29, 2013

MLC self-raid flash data protection scheme

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,365,041
App. No.
12/726,200
Granted
Jan 29, 2013
Kind
B2
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.

Claims (33)

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:

choosing a parity sector in each page of the plurality of pages in the block;

assigning the pages of the block into two or more groups and selecting a page in each group as a parity page of the group;

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

calculating a group parity value of data stored in the pages of a respective group of the pages in the block and storing the group parity value in the parity page of the respective group.

2. The method of managing flash memory as in claim 1 , further comprising:

repeating said calculating a group parity value for each respective group of pages in the block.

3. The method of managing flash memory as in claim 2 , wherein the sectors of each page are each assigned a sector number, the method further comprising:

selecting a column parity page for the block and calculating, for each sector number, a column parity for all sectors of the sector number in the pages of the block.

4. The method as in claim 1 , wherein each multiple level cell is shared by at least two pages of the block.

5. The method as in claim 4 , wherein the pages sharing a respective multiple level cell are assigned to different groups.

6. The method as in claim 5 , wherein the groups are each assigned a group number and wherein the pages sharing the respective multiple level cell are assigned consecutive group numbers.

7. The method as in claim 6 , wherein one or more of the groups are assigned half the number of pages as assigned to each of the remainder of the groups of the block.

8. The method as in claim 1 , wherein each group consists of 8 pages.

9. A flash memory data storage system operable in accordance with the method of claim 1 .

10. A multiple level cell flash memory data storage device, comprising:

a flash memory array having a plurality of blocks, each block comprising an erase unit and having a plurality of pages, a respective block including a plurality of groups of pages, each group of pages including an assigned parity page;

each page of a respective block having a plurality of sectors, including an assigned parity sector;

wherein the device is operable, for a respective page,

to store data in data sectors of the respective page;

to store, in the assigned parity sector of the respective page, a sector parity value of data stored in sectors of the respective page; and

wherein the device is operable, for a respective group of pages,

to store data in data pages of the respective group of pages;

to store, in the parity page of the respective group, a group parity value of the data stored in the data pages of the respective group.

11. The multiple level cell flash memory data storage device of claim 10 , wherein the device is operable, for a second group of pages of the plurality of groups of pages, distinct from the respective group of pages:

to store data in data pages of the second group of pages;

to store, in the parity page of the second group of pages, a group parity value of the data stored in the data pages of the second group of pages.

12. The multiple level cell flash memory data storage device of claim 11 , wherein the sectors of each page are each assigned a sector number, and the device is operable, for the respective group of pages, to select a column parity page for the block and calculating, for each sector number, a column parity for all sectors of the sector number in the pages of the block.

13. The multiple level cell flash memory data storage device of claim 10 , wherein each group consists of 8 pages.

14. The multiple level cell flash memory data storage device of claim 10 , wherein each multiple level cell of the multiple level cell flash memory device is shared by at least two pages of the block.

15. The multiple level cell flash memory data storage device of claim 14 , wherein the pages sharing a respective multiple level cell are assigned to different groups.

16. The multiple level cell flash memory data storage device of claim 15 , wherein the groups are each assigned a group number and wherein the pages sharing the respective multiple level cell are assigned consecutive group numbers.

17. The multiple level cell flash memory data storage device of claim 16 , wherein one or more of the groups are assigned half the number of pages as assigned to each of the remainder of the groups of the block.

Assignments (9)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2024
From: SANDISK TECHNOLOGIES LLC
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 069796/0423 →
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038807/0850 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2016
From: SANDISK ENTERPRISE IP LLC
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 038295/0225 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 026781 FRAME 0135. ASSIGNOR(S) HEREBY CONFIRMS THE PATENT ASSIGNMENT. Recorded Aug 25, 2011
From: PLIANT TECHNOLOGY, LLC
To: SANDISK ENTERPRISE IP LLC
Reel/Frame 027190/0190 →
PATENT ASSIGNMENT Recorded Aug 19, 2011
From: PLIANT TECHNOLOGY, LLC
To: SANDISK PACIFIC HOLDCO, INC.
Reel/Frame 026781/0135 →
CONVERSION TO LLC Recorded Aug 18, 2011
From: PLIANT TECHNOLOGY, INC.
To: PLIANT TECHNOLOGY, LLC
Reel/Frame 026771/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2010
From: OLBRICH, AARON K.; PRINS, DOUG
To: PLIANT TECHNOLOGY, INC.
Reel/Frame 024097/0164 →