Variable SSD ECC Layout for Page-Level Failure Protection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional data protection approaches optimized for hard disk drives and tape drives are sub-optimal for solid state devices (SSDs) due to their distinct failure mechanisms and operational characteristics, leading to inefficiencies in error correction and increased risk of data loss.
Innovation Solution
The implementation of a dynamically variable error correcting code (ECC) system that adapts to the specific characteristics of SSDs by dynamically selecting an ECC approach based on forensic data and data set attributes, distributing ECCs across multiple pages, and using hybrid rateless Reed-Solomon codes to mitigate the risk of data loss from page-level failures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional fixed ECC approaches optimized for hard disk drives are used for SSDs, then data protection is provided, but the error correction efficiency is sub-optimal and data loss risk increases due to mismatched failure patterns
Solution Approach 1:
The patent implements dynamically variable ECC that adapts to SSD-specific failure patterns. The system monitors error rates and failure modes in real-time, adjusting ECC parameters such as code strength, redundancy levels, and correction algorithms to match current SSD conditions, thereby optimizing error correction efficiency while maintaining data protection.
Solution Approach 2:
The patent changes key ECC parameters including code rate, block size, and correction capability based on SSD wear level and error characteristics. As the SSD deteriorates or exhibits different failure patterns, the system modifies these parameters to maintain optimal error correction performance, unlike fixed ECC approaches that remain static.
2Reliability
If higher levels of data protection are provided through increased redundancy, then error correction capability improves, but computing overhead and storage cost increase
Solution Approach 1:
The patent applies partial redundancy by providing ECC protection only where and when needed based on actual error rates and failure patterns. Instead of uniformly applying maximum redundancy across all data, the system dynamically adjusts the level of protection, applying stronger ECC only to vulnerable regions or data types, thereby reducing overall computing overhead while maintaining adequate error correction capability.
3Speed
If SSDs use page-level read/write operations, then storage speed improves, but failure risk increases because a single bad page can corrupt entire pages of data
Solution Approach 1:
The patent segments data and ECC codes across multiple pages within a block. Instead of storing all ECC codes for a block on a single page (which would lose all protection if that page fails), the system distributes ECC codes across multiple pages, ensuring that failure of one page does not compromise the entire block's data integrity while maintaining page-level operational speed.
Data Source
AI summary
Example apparatus and methods control an error correcting code (ECC) approach for data stored on a solid state device (SSD). The control may be based on a property (e.g., reliability, error state, speed) of an SSD, or on an attribute of the data to be stored. Approaches including a hybrid rateless Reed-Solomon ECC approach or a fountain code ECC approach may be selected. Example apparatus and methods may store padded portions of an ECC at different locations in an SSD. Example apparatus and methods may dynamically generate performance test data about the SSD, and dynamically control the ECC approach based on the performance test data. Different types or numbers of ECC may be produced, stored, and provided for different data sets stored at different SSDs or at different physical locations within an SSD. The SSD may be local, or may be part of a cloud-based storage system.


