SSD Parity Management for Unrecoverable Read Error Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Solid state drives (SSDs) using nonvolatile memory devices face challenges in correcting and managing data errors, particularly when errors occur that cannot be recovered by conventional error correction codes, leading to potential data loss and system instability.

Innovation Solution

Incorporating a parity management system within the SSD controller that detects errors, generates and stores parity data, and uses exclusive OR operations to recover data, allowing for correction of recoverable errors and notification of uncorrectable errors, thereby enhancing data integrity and reliability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional error correction codes are used in SSDs, then simple errors can be corrected, but uncorrectable errors lead to data loss and system instability

Engineering Contradiction:
Improvedata integrityVSAvoiderror management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by detecting errors early during read operations and immediately initiating recovery procedures using parity data before data loss occurs. The controller proactively manages error-prone blocks by registering them in bad block tables and attempting recovery, preventing uncorrectable errors from propagating.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Parity data acts as an intermediary element that mediates between stored data and error correction needs. The parity information stored separately from user data serves as a backup resource that enables recovery of corrupted data without requiring complex real-time correction algorithms during normal operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If parity data is generated and stored for error recovery, then data reliability improves, but storage capacity is reduced

Engineering Contradiction:
Improveerror recovery capabilityVSAvoidusable storage capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system applies partial action by generating parity data only for specific blocks that require error recovery capability, rather than for all stored data. This selective approach provides error recovery where needed while minimizing the impact on overall storage capacity.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If error recovery procedures are implemented, then data loss is prevented, but processing time increases

Engineering Contradiction:
Improvedata recovery successVSAvoiderror handling time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Error recovery resources (parity data) are prepared in advance during the write operation, so that when read errors occur, the recovery process can proceed immediately without delay. The parity information is pre-computed and stored, enabling fast recovery operations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8650463B2Solid state drive and method of controlling an error thereof
Publication Date: 2014.02.11 SAMSUNG ELECTRONICS CO LTD
  • US8650463B2 patent drawing
  • US8650463B2 patent drawing
  • US8650463B2 patent drawing

AI summary

The present general inventive concept relates to a solid state drive and a method of controlling an error thereof. A flash translation layer includes a parity managing module to correct errors. A block address of a storage medium including error data that can be recovered is managed through the parity managing module. Parity data of a block including error data is generated through the parity managing module. The generated parity data is managed through the parity managing module. The generated parity data can be stored in an assigned area of the storage medium. When data of a block managed by the parity managing module is not recovered by an error correction code unit, error data is recovered with reference to the generated parity data.