FRACTIONAL REDUNDANT ARRAY OF SILICON INDEPENDENT ELEMENTS
First Claim
1. A method comprising:
- computing one or more portions of higher-level redundancy information based at least in part on a plurality of portions of data storage information;
storing the portions of higher-level redundancy information and the portions of data storage information in portions of one or more non-volatile memory devices; and
wherein the computing comprises accumulating a weighted sum of a respective non-zero unique constant value for each of the portions of data storage information multiplied by contents of the portions of data storage information as at least a portion of the portions of higher-level redundancy information.
5 Assignments
0 Petitions
Accused Products
Abstract
Higher-level redundancy information computation enables a Solid-State Disk (SSD) controller to provide higher-level redundancy capabilities to maintain reliable operation in a context of failures of non-volatile (e.g. flash) memory elements during operation of an SSD implemented in part by the controller. For example, a first computation is an XOR, and a second computation is a weighted-sum. Various amounts of storage are dedicated to storing the higher-level redundancy information, such as amounts equivalent to an integer multiple of flash die (e.g. one, two, or three entire flash die), and such as amounts equivalent to a fraction of a single flash die (e.g. one-half or one-fourth of a single flash die).
74 Citations
22 Claims
-
1. A method comprising:
-
computing one or more portions of higher-level redundancy information based at least in part on a plurality of portions of data storage information; storing the portions of higher-level redundancy information and the portions of data storage information in portions of one or more non-volatile memory devices; and wherein the computing comprises accumulating a weighted sum of a respective non-zero unique constant value for each of the portions of data storage information multiplied by contents of the portions of data storage information as at least a portion of the portions of higher-level redundancy information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method comprising:
-
writing a respective first page to each of a first block of each of a plurality of non-volatile memory devices; writing a respective second page to each of a second block of each of the plurality of non-volatile memory devices; wherein the first blocks are distinct from the second blocks; and wherein the respective first pages and the respective second pages taken together are a group of pages, and one or more of the pages of the group contains redundancy of an erasure-correcting code protecting all of the pages of the group. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A system comprising:
-
a plurality of non-volatile memory devices, each of the non-volatile memory devices comprising a plurality of blocks, each of the blocks comprising a plurality of pages; an erasure-correcting code generator operable to generate one or more pages of redundant data protecting a respective plurality of pages of user data, the one or more pages of redundant data and the respective plurality of pages of user data forming a codeword of an erasure-correcting code; wherein the one or more pages of redundant data and the respective plurality of pages of user data are each compatible with being stored into a separate respective one of the pages of at least some of the blocks such that more than one of the non-volatile memory devices contains more than one of the one or more pages of redundant data and the respective plurality of pages of user data, and such that none of the at least some of the blocks contains more than one of the one or more pages of redundant data and the respective plurality of pages of user data; and wherein a failure of at least one of the at least some of the blocks is correctable by the erasure-correcting code. - View Dependent Claims (20, 21, 22)
-
Specification