ECC Seed Generation via Offset Table Lookup

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing methods for drive processing are inefficient and costly, as they require re-linearization of drives to exclude unusable data blocks, which can take several hours and incur significant expenses.

Innovation Solution

The system accesses data blocks in an indexed sequence using cell numbers, retrieves offsets, generates ECC values, and verifies integrity by comparing generated and stored ECC values, allowing for selective omission of unusable blocks without re-linearization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If re-linearization is performed to exclude unusable data blocks, then data integrity is ensured, but processing time increases significantly

Engineering Contradiction:
Improvedata integrityVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-calculating and storing offset values in an offset table during drive manufacturing, before the drive is put into service. These offset values are used to generate ECC seeds on-the-fly during data operations, eliminating the need for time-consuming re-linearization processes later. The offset table is created once during manufacturing and then reused continuously, saving significant processing time while maintaining data integrity.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If re-linearization is performed to exclude unusable data blocks, then data integrity is ensured, but manufacturing cost increases

Engineering Contradiction:
Improvedata integrityVSAvoidmanufacturing cost
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent performs the linearization and offset calculation work once during manufacturing, storing the results in a compact offset table. This preliminary action eliminates the need for costly re-linearization operations that would otherwise be required during drive service or manufacturing corrections. The offset table serves as a permanent reference that enables efficient data block access without expensive reprocessing.

Inventive Principle:
Principle #10Preliminary action

3Manufacturing precision

If sequential indices are rewritten on all usable data blocks, then ECC information is updated correctly, but processing complexity increases

Engineering Contradiction:
ImproveECC information accuracyVSAvoidprocessing complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent segments the ECC generation process by separating the seed generation (using offset table lookups) from the actual ECC calculation. Instead of rewriting sequential indices on all data blocks, the system divides the drive into manageable segments and uses the offset table to provide correct seed values for each segment's ECC generation. This segmentation reduces processing complexity while maintaining ECC accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The offset table serves as an intermediary structure that mediates between the physical data block locations and the ECC generation process. Rather than directly managing sequential indices on all data blocks, the system uses the offset table as an intermediate lookup mechanism to retrieve the correct offset values needed for ECC seed generation, simplifying the overall processing complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9262264B2Error correction code seeding
Publication Date: 2016.02.16 SEAGATE TECH LLC
  • US9262264B2 patent drawing
  • US9262264B2 patent drawing
  • US9262264B2 patent drawing

AI summary

The technology disclosed herein provides a method of verifying data read from a data block when the cell number of the data block does not match an ECC value stored in the data block. In particular, the method includes accessing a data block in an indexed sequence of data blocks based on a cell number, wherein each data block in the indexed sequence includes a stored ECC value; retrieving an offset associated with the cell number of the data block; generating an ECC value based on the cell number and the offset; and determining whether the generated ECC value and the stored ECC value satisfy an integrity condition.