System and method for data protection in solid-state drives
AssigneeAlibaba Group Holding Limited
InventorShu Li
Life of this patent
Estimating the term…
Abstract
The present disclosure relates to a system and a method for data protection. In some embodiments, an exemplary method for data encoding includes: receiving a data bulk; performing an erasure coding (EC) encoding on the data bulk to generate one or more EC codewords; distributing a plurality of portions of each EC codeword of the one or more EC codewords across a plurality of solid-state drives (SSDs); performing, at each SSD of the plurality of SSDs, an error correction coding (ECC) encoding on portions of the one or more EC codewords distributed to the SSD to generate an ECC codeword; and storing, in each SSD of the plurality of SSDs, the ECC codeword.
Claims20
A method for data encoding, comprising:
- receiving a data bulk;
- performing an erasure coding (EC) encoding on the data bulk to generate one or more EC codewords;
- distributing a plurality of portions of each EC codeword of the one or more EC codewords across a plurality of solid-state drives (SSDs);
- performing, at each SSD of the plurality of SSDs, an error correction coding (ECC) encoding on portions of the one or more EC codewords distributed to the SSD to generate an ECC codeword;
- and
- storing, in each SSD of the plurality of SSDs, the ECC codeword.
An apparatus for data encoding, comprising:
- at least one memory for storing instructions;
- and
- at least one processor configured to execute the instructions to cause the apparatus to perform:
- receiving a data bulk;
- performing an erasure coding (EC) encoding on the data bulk to generate one or more EC codewords;
- distributing a plurality of portions of each EC codeword of the one or more EC codewords across a plurality of solid-state drives (SSDs);
- performing, at each SSD of the plurality of SSDs, an error correction coding (ECC) encoding on portions of the one or more EC codewords distributed to the SSD to generate an ECC codeword;
- and
- storing, in each SSD of the plurality of SSDs, the ECC codeword.
A non-transitory computer readable storage medium storing a set of instructions that are executable by one or more processing devices to cause a computer to perform:
- receiving a data bulk;
- performing an erasure coding (EC) encoding on the data bulk to generate one or more EC codewords;
- distributing a plurality of portions of each EC codeword of the one or more EC codewords across a plurality of solid-state drives (SSDs);
- performing, at each SSD of the plurality of SSDs, an error correction coding (ECC) encoding on portions of the one or more EC codewords distributed to the SSD to generate an ECC codeword;
- and
- storing, in each SSD of the plurality of SSDs, the ECC codeword.
A method for data decoding, comprising:
- initiating an error correction coding (ECC) decoding on an ECC codeword to generate decoded data;
- determining whether the ECC decoding on the ECC codeword has succeeded or failed;
- in response to a determination that the ECC decoding has failed, initiating an erasure coding (EC) decoding on a first EC codeword of a plurality of EC codewords, each EC codeword corresponding to an ECC data portion of the ECC codeword;
- determining whether the EC decoding on the first EC codeword has succeeded or failed;
- in response to a determination that the EC decoding has succeeded, resuming the ECC decoding on the ECC codeword;
- and
- in response to a determination that the ECC decoding has succeeded, outputting the decoded data.
Dependencies are inferred from the claim text.