SSD ECC Allocation Across Pages for Cloud Storage Reliability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data protection approaches for cloud-based storage systems are sub-optimal for solid-state devices (SSDs) due to their unique failure mechanisms and performance characteristics, which differ from traditional hard disk drives and tape drives, leading to inefficiencies in error correction and increased risk of data loss.

Innovation Solution

The method dynamically selects and adapts error correcting code (ECC) approaches based on forensic data about the SSD, such as wear leveling and program disturb patterns, to distribute ECCs across multiple pages, reducing the risk of data loss and optimizing ECC generation and storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional fixed ECC approaches optimized for hard disk drives are used for SSDs, then data protection is provided, but the approach is sub-optimal due to different failure mechanisms, leading to increased risk of data loss

Engineering Contradiction:
Improvedata protectionVSAvoidadaptability to SSD failure modes
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamically variable ECC approaches that adapt to SSD-specific failure modes such as page-level failures and program disturb patterns. The system monitors SSD health metrics and dynamically adjusts ECC strength and distribution strategies, transitioning from fixed hard-disk-optimized ECC to adaptive ECC that responds to real-time SSD conditions, thereby resolving the contradiction between maintaining data protection and adapting to different failure mechanisms.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes key parameters including ECC code strength, ECC distribution patterns across pages, and threshold settings based on SSD wear indicators and failure patterns. By dynamically adjusting these parameters rather than using fixed values, the system optimizes data protection for SSD-specific failure modes while maintaining compatibility with existing storage architectures.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If stronger error correction is applied to protect against SSD failures, then data reliability improves, but computing overhead and storage capacity requirements increase

Engineering Contradiction:
Improvedata protectionVSAvoidcomputing overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies partial ECC protection strategically rather than uniformly across all data. It identifies critical data regions and applies stronger ECC only where needed based on SSD failure patterns, while using lighter protection for less critical data. This selective approach reduces overall computing overhead while maintaining adequate protection levels, resolving the contradiction between reliability and complexity.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system dynamically adjusts ECC strength parameters based on real-time SSD health metrics and failure patterns. When SSD degradation is detected, the system increases ECC strength for affected regions; when health is good, it reduces overhead. This adaptive parameter adjustment optimizes the balance between data protection and computing resource consumption.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If ECCs are stored in the same page as data in SSDs, then storage efficiency improves, but page-level failures cause complete data loss

Engineering Contradiction:
Improvestorage efficiencyVSAvoiddata protection
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent segments ECC codes from their associated data and stores them in separate pages rather than co-locating them. This segmentation strategy ensures that a page-level failure affects only the data page or the ECC page, not both simultaneously. The system maintains storage efficiency by using SSD pagination structures effectively while achieving spatial separation of data and its protective codes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces an intermediary mapping layer that tracks the relationship between data pages and their corresponding ECC pages. This intermediary structure allows the system to maintain logical associations between data and protection codes while physically separating their storage locations, thereby preventing complete data loss from single page failures while preserving storage efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11722158B2Cloud-based solid state device (SSD) with dynamically variable error correcting code (ECC) system
Publication Date: 2023.08.08 QUANTUM CORP
  • US11722158B2 patent drawing
  • US11722158B2 patent drawing
  • US11722158B2 patent drawing

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.