Dynamically assigning inactive pages not used in Reed-Solomon code in non-volatile solid-state storage array
First Claim
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.
8 Assignments
0 Petitions
Accused Products
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.
17 Citations
34 Claims
-
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; andassign 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
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; andassigning 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. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
Specification