SSD Data Protection Using Distributed EC and Local ECC
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Solid-state drives (SSDs) face high error rates due to limited endurance and raw error rates, leading to read/write failures and data loss, which challenges data protection and correction.
Innovation Solution
Implementing a method that performs erasure coding (EC) on data bulk to generate EC codewords, distributes portions across multiple SSDs, and performs error correction coding (ECC) on each SSD to generate ECC codewords, enhancing data protection by combining EC and ECC encoding and decoding processes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If SSDs are used for secondary storage to achieve lower latency and greater transfer speed, then storage performance is improved, but high error rates lead to read/write failure and data loss
Solution Approach 1:
The data bulk is divided into multiple data portions that are distributed across different SSDs. Each data portion is independently encoded with ECC codes, and the system maintains multiple EC codewords. This segmentation allows the system to tolerate failures in individual SSDs while maintaining overall data reliability, resolving the contradiction between using fast SSDs and ensuring data reliability.
Solution Approach 2:
The system performs EC encoding on the data bulk before distribution to generate multiple EC codewords, and then performs ECC encoding on each data portion before storage. This preliminary error correction preparation ensures that even if errors occur during storage or retrieval, the data can be recovered, thus maintaining reliability while using high-speed SSDs.
2Reliability
If EC and ECC encoding processes are combined to enhance data protection, then data reliability is improved, but encoding complexity increases
Solution Approach 1:
The complex encoding process is divided into two independent stages: EC encoding performed on the data bulk to generate multiple EC codewords, and ECC encoding performed separately on each data portion. This segmentation of the encoding process makes the overall complex system more manageable and implementable, while still achieving enhanced data protection through the combination of both encoding methods.
Data Source
AI summary
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.


