Dynamic higher-level redundancy mode management with independent silicon elements
First Claim
1. A method comprising:
- computing k redundant data portions to protect n-k data information portions;
storing each of the k redundant data portions and each of the n-k data information portions in separate corresponding areas, each of the corresponding areas in a respective one of n physical devices, the k redundant portions including a first parity code data and a second parity code data both associated with a first data information portion of the data information portions, the first parity code data and the second parity code data stored separately and computed using different coding, wherein the first parity code data and the second parity code data are stored on different physical devices of the n physical devices, wherein the first parity code data is computed using multiple exclusive-OR (XOR) operations, wherein the second parity code data is computed as a weighted sum of data, where weights are selected as index values;
subsequent to a failure such that one of the corresponding areas is no longer usable, computing j redundant data portions to protect n-1-j data information portions; and
wherein j<
=k.
7 Assignments
0 Petitions
Accused Products
Abstract
A Solid-State Disk (SSD) controller enables dynamic higher-level redundancy mode management with independent silicon elements to provide graceful degradation as non-volatile (e.g. flash) memory elements fail during operation of an SSD implemented by the controller. Higher-level error correction provides correction of lower-level uncorrectable errors. If a failure of one of the non-volatile memory elements is detected, then the higher-level error correction is dynamically transitioned from operating in a current mode to operating in a new mode. The transition includes one or more of reducing free space available on the SSD, rearranging data storage of the SSD, recovering/storing failed user data (if possible), and determining/storing revised higher-level error correction information. Operation then continues in the new mode. If another failure of the non-volatile memory elements is detected, then another transition is made to another new mode.
59 Citations
14 Claims
-
1. A method comprising:
-
computing k redundant data portions to protect n-k data information portions; storing each of the k redundant data portions and each of the n-k data information portions in separate corresponding areas, each of the corresponding areas in a respective one of n physical devices, the k redundant portions including a first parity code data and a second parity code data both associated with a first data information portion of the data information portions, the first parity code data and the second parity code data stored separately and computed using different coding, wherein the first parity code data and the second parity code data are stored on different physical devices of the n physical devices, wherein the first parity code data is computed using multiple exclusive-OR (XOR) operations, wherein the second parity code data is computed as a weighted sum of data, where weights are selected as index values; subsequent to a failure such that one of the corresponding areas is no longer usable, computing j redundant data portions to protect n-1-j data information portions; and wherein j<
=k. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An apparatus comprising:
-
a set of n physical storage devices; and a controller coupled to each of physical storage device of the set of n physical storage devices over an interface, the controller configured to; compute k redundant data portions to protect n-k data information portions; store each of the k redundant data portions and each of the n-k data information portions in separate corresponding areas, each of the corresponding areas in a respective one of the n physical storage devices, the k redundant portions including a first parity code data and a second parity code data both associated with a first data information portion of the data information portions, the first parity code data and the second parity code data stored separately and computed using different coding, the first parity code data and the second parity code data stored on different physical storage devices of the n physical storage devices, the first parity code data computed using multiple exclusive-OR (XOR) operations, the second parity code data computed as a weighted sum of data, where weights are selected as index values; and subsequent to a failure such that one of the corresponding areas is no longer usable, compute j redundant data portions to protect n-1-j data information portions, wherein j<
=k. - View Dependent Claims (11, 12, 13, 14)
-
Specification