IP Library Granted Patent US 11,789,814
Granted Patent B2
US 11,789,814 · App. 17/660,000 · Granted Oct 17, 2023

System and method for data protection in solid-state drives

Inventor: Shu Li (San Mateo, CA)
Assignee: Alibaba Group Holding Limited
G06F11/1068H03M13/154
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 11,789,814
App. No.
17/660,000
Granted
Oct 17, 2023
Kind
B2
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.

Claims (50)

1. 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.

2. The method of claim 1 , further comprising:

collecting ECC parities of the ECC codewords;

performing an ECC encoding on the collected ECC parities to generate a group parity; and

distributing a plurality of portions of the group parity across the plurality of SSDs.

3. The method of claim 2 , wherein collecting the ECC parities of the ECC codewords comprises:

collecting the ECC parities of the ECC codewords to one SSD of the plurality of SSDs.

4. The method of claim 1 , wherein distributing the plurality of portions of each EC codeword of the one or more EC codewords across the plurality of SSDs comprises:

partitioning each EC codeword into a plurality of EC data portions and a plurality of EC parity portions;

distributing the plurality of EC data portions of each EC codeword across a first set of SSDs; and

distributing the plurality of EC parity portions of each EC codeword across a second set of SSDs.

5. The method of claim 4 , wherein performing, at each SSD of the plurality of SSDs, the ECC encoding on portions of the one or more EC codewords distributed to the SSD comprises:

performing, at each SSD of the first set of SSDs, the ECC encoding on the EC data portions of the one or more EC codewords distributed to the SSD; and

performing, at each SSD of the second set of SSDs, the ECC encoding on the EC parity portions of the one or more EC codewords distributed to the SSD.

6. The method of claim 1 , wherein storing, in each SSD of the plurality of SSDs, the ECC codeword comprises:

storing the ECC codeword in a NAND IC of each SSD of the plurality of SSDs.

7. 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.

8. The apparatus of claim 7 , wherein the at least one processor is configured to execute the instructions to cause the apparatus to perform:

collecting ECC parities of the ECC codewords to one SSD of the plurality of SSDs;

performing an ECC encoding on the collected ECC parities to generate a group parity; and

distributing a plurality of portions of the group parity across the plurality of SSDs.

9. 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.

10. The non-transitory computer readable storage medium of claim 9 , wherein the set of instructions are executable by the one or more processing devices to cause the computer to perform:

collecting ECC parities of the ECC codewords to one SSD of the plurality of SSDs;

performing an ECC encoding on the collected ECC parities to generate a group parity; and

distributing a plurality of portions of the group parity across the plurality of SSDs.

11. The non-transitory computer readable storage medium of claim 9 , wherein the set of instructions are executable by the one or more processing devices to cause the computer to perform:

partitioning each EC codeword into a plurality of EC data portions and a plurality of EC parity portions;

distributing the plurality of EC data portions of each EC codeword across a first set of SSDs; and

distributing the plurality of EC parity portions of each EC codeword across a second set of SSDs.

12. The non-transitory computer readable storage medium of claim 11 , wherein the set of instructions are executable by the one or more processing devices to cause the computer to perform:

performing, at each SSD of the first set of SSDs, the ECC encoding on the EC data portions of the one or more EC codewords distributed to the SSD; and

performing, at each SSD of the second set of SSDs, the ECC encoding on the EC parity portions of the one or more EC codewords distributed to the SSD.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2026
From: ALIBABA GROUP HOLDING LIMITED
To: CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PRIVATE LIMITED
Reel/Frame 075499/0384 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2022
From: LI, SHU
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 059656/0078 →
Continuity (2)
Division 17026761 · Sep 21, 2020
Related Publication 20220245029A1 · Aug 4, 2022
Cited By (1)
US 12,602,167