Distributed ECC for Parallel Storage Data Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Hard disk drives (HDDs) face performance issues due to increased areal density, which can lead to prolonged I/O operations, and traditional error correction codes require reading entire tracks to recover data, making them unreliable in case of head failures.

Innovation Solution

Implementing a distributed error correction scheme across multiple storage media surfaces and transducer heads, where a codeword is split across multiple tracks, allowing for simultaneous writing and reading, and using error correction codes with greater write durability to ensure data recovery even if one head fails.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional track-based ECC is used, then data recovery is possible, but the entire track must be read which reduces I/O performance

Engineering Contradiction:
Improvedata recovery capabilityVSAvoidI/O performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The codeword is segmented and distributed across multiple tracks on different storage media surfaces. Each transducer head writes and reads a portion of the codeword from its assigned surface, allowing parallel processing and eliminating the need to read entire tracks for ECC operations.

Inventive Principle:
Principle #1Segmentation

2Productivity

If multiple transducer heads operate simultaneously, then I/O performance increases, but the complexity of error correction coding increases

Engineering Contradiction:
ImproveI/O performanceVSAvoidECC complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The distributed ECC scheme across multiple surfaces and heads uses a unified coding structure where the same error correction principles apply regardless of which heads or surfaces are involved. This modular approach allows the system to scale to any number of heads while maintaining consistent error correction capabilities.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Quantity of substance

If areal density is increased, then storage capacity increases, but I/O access speed per unit capacity decreases

Engineering Contradiction:
Improvestorage capacityVSAvoidI/O access speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent transitions from single-surface sequential access to multi-surface parallel access, adding a dimensional aspect to data retrieval. By distributing codewords across multiple storage media surfaces and accessing them simultaneously through multiple heads, the system achieves parallelism that compensates for reduced access speed per unit capacity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

4Device complexity

If a single head is used, then device complexity is low, but data is unrecoverable if the head fails

Engineering Contradiction:
Improvehead configurationVSAvoiddata recoverability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The system prepares for potential head failure by distributing redundant error correction information across multiple surfaces and heads before any failure occurs. This proactive redundancy ensures that if any single head fails, the distributed ECC structure allows recovery of the complete codeword from the remaining operational heads.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS11157364B1Distributed error correction coding for parallel storage devices
Publication Date: 2021.10.26 SEAGATE TECH LLC
  • US11157364B1 patent drawing
  • US11157364B1 patent drawing
  • US11157364B1 patent drawing

AI summary

ECC is used to for controlling errors in blocks of data by including a measure of redundancy within the data for recovering one or more unreadable portions of the data. A codeword includes at least a message and one or more additional ECC blocks. In the event of an unreadable sector, the ECC is decoded and used to recover the erroneous or missing portion(s) of the message. With disc access parallelism, ECCs can now be distributed across data storage surfaces and/or multiple storage platters. Distribution of ECCs increases the likelihood of recovering data from a head failure or from burst errors on a data storage surface and adds the option to decode parity after only 1/n revolutions.