IP Library Granted Patent US 9,026,893
Granted Patent B1
US 9,026,893 · App. 13/713,561 · Granted May 5, 2015

Dynamically assigning inactive pages not used in Reed-Solomon code in non-volatile solid-state storage array

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 9,026,893
App. No.
13/713,561
Granted
May 5, 2015
Kind
B1
Abstract

A data storage device is disclosed comprising non-volatile solid-state array comprising M storage elements for storing data protected by Reed-Solomon (R-S) code, each storage element comprising multiple blocks, each block comprising multiple pages for storing data. The data storage device further comprises a controller in communication with the storage array and defining a superblock comprising logical grouping of M blocks, each located in different storage element, and multiple superpages in each superblock, each superpage comprising M pages, each located in a different storage element. The controller generates, for each superpage, at least one R-S code parity page for protecting data pages in the superpage, where number of data pages and the at least one parity page is equal to M−1. The controller assigns one page in each superpage as an inactive page not used in the R-S code, where at least two inactive pages are in different storage elements.

Claims (42)

1. A data storage device comprising:

a non-volatile solid-state storage array comprising M storage elements for storing data protected by a Reed-Solomon code, each storage element comprising a plurality of blocks, and each block comprising a plurality of pages for storing data;

a controller in communication with the non-volatile solid-state storage array and operable to:

define a superblock comprising a logical grouping of M blocks, wherein each block in the superblock is located in a different storage element, wherein each superblock comprises a plurality of superpages, wherein each superpage comprises a logical grouping of M pages, and wherein each page in a superpage is in a different storage element;

generate, for each superpage, at least one Reed-Solomon code parity page protecting data pages in the superpage, wherein the number of data pages and the at least one parity page is equal to M−1; and

assign one page in each superpage as an inactive page not used in the Reed-Solomon code, wherein at least two of the inactive pages are in different storage elements.

2. The data storage device as recited in claim 1 , wherein the controller is further operable to move the inactive page in at least one superpage from a first location in a first storage element to a second location in a second storage element.

3. The data storage device as recited in claim 2 , wherein the controller is operable to move the inactive page in at least one superpage during a wear leveling operation.

4. The data storage device as recited in claim 2 , wherein the controller is operable to move the inactive page in at least one superpage during a garbage collection operation.

5. The data storage device as recited in claim 2 , wherein the controller is operable to move the inactive page in at least one superpage during an error handling operation.

6. The data storage device as recited in claim 1 , wherein the controller is further operable to track the location of the inactive page in each superpage.

7. The data storage device as recited in claim 6 , wherein the controller is operable to track the location of the inactive page in each superpage by using a tracking table.

8. The data storage device as recited in claim 1 , wherein the controller is operable to assign a defective page in a superpage as the inactive page.

9. The data storage device as recited in claim 1 , wherein the controller is operable to assign a page having a quality level below a threshold in a superpage as the inactive page.

10. The data storage device as recited in claim 1 , wherein at least two inactive pages in at least two superpages in a superblock are in different storage elements.

11. The data storage device as recited in claim 1 , wherein all of the inactive pages in all of the superpages in a superblock are in the same storage element.

12. The data storage device as recited in claim 1 , wherein the storage element comprises a die.

13. The data storage device as recited in claim 1 , wherein the storage element comprises a plane, and wherein at least two planes are located in one die.

14. The data storage device as recited in claim 1 , wherein M is equal to 256.

15. The data storage device as recited in claim 1 , wherein the Reed-Solomon code comprises 8-bit symbols.

16. The data storage device as recited in claim 1 , further comprising magnetic media for storing data.

17. The data storage device as recited in claim 1 , wherein the inactive page is assigned in each and every superpage within the super block.

18. The data storage device as recited in claim 1 , wherein the inactive page is dynamically assigned to each superpage regardless of whether a defect occurs in the superpage.

19. A method of operating a data storage device, the data storage device comprising a non-volatile storage array comprising M storage elements for storing data protected by a Reed-Solomon code, each storage element comprising a plurality of blocks, and each block comprising a plurality of pages for storing data, the method comprising:

defining a superblock comprising a logical grouping of M blocks, wherein each block in the superblock is located in a different storage element, wherein each superblock comprises a logical grouping of M pages, and wherein each page in a superpage is in a different storage element;

generating, for each superpage, at least one Reed-Solomon code parity page protecting data pages in the superpage, wherein the number of data pages and the at least one parity page is equal to M−1; and

assigning one page in each superpage as an inactive page not used in the Reed-Solomon code, wherein at least two of the inactive pages are in different storage elements.

20. The method as recited in claim 19 , further comprising moving the inactive page in at least one superpage from a first location in a first storage element to a second location in a second storage element.

21. The method as recited in claim 20 , wherein the inactive page in at least one superpage is moved during a wear leveling operation.

22. The method as recited in claim 20 , wherein the inactive page in at least one superpage is moved during a garbage collection operation.

23. The method as recited in claim 20 , wherein the inactive page in at least one superpage is moved during an error handling operation.

24. The method as recited in claim 19 , further comprising tracking the location of the inactive page in each superpage.

25. The method as recited in claim 24 , wherein tracking the location of the inactive page in each superpage comprises using a tracking table.

26. The method as recited in claim 19 , further comprising assigning a defective page in a superpage as the inactive page.

27. The method as recited in claim 19 , further comprising assigning a page having a quality level below a threshold in a superpage as the inactive page.

28. The method as recited in claim 19 , wherein at least two inactive pages in at least two superpages in a superblock are in different storage elements.

29. The method as recited in claim 19 , wherein all of the inactive pages in all of the superpages in a superblock are in the same storage element.

30. The method as recited in claim 19 , wherein the storage element comprises a die.

31. The method as recited in claim 19 , wherein the storage element comprises a plane, and wherein at least two planes are located in one die.

32. The method as recited in claim 19 , wherein M is equal to 256.

33. The method as recited in claim 19 , wherein the Reed-Solomon code comprises 8-bit symbols.

34. The method as recited in claim 19 , wherein the data storage device further comprises magnetic media for storage data.

Assignments (13)
SECURITY AGREEMENT (SUPPLEMENTAL) Recorded Nov 14, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 069411/0208 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2024
From: SANDISK TECHNOLOGIES, INC.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 069168/0273 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
RELEASE OF SECURITY INTEREST AT REEL 038744 FRAME 0481 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058982/0556 →
RELEASE OF SECURITY INTEREST Recorded Mar 5, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 045501/0714 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038744/0481 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038744/0281 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038722/0229 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2012
From: SYU, MEI-MAN L.; PAJARO, CLIFF
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 029467/0411 →