Storage Controller Error Correction Logic for Dispersed Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage systems face performance reduction due to the need for recalculating error correcting codes when only part of the data is updated, especially when using multiple error correcting codes, which increases the time required for data reading and recalculation, leading to significant performance degradation.

Innovation Solution

A storage controller that manages error correcting codes by storing a second error correcting code corresponding to multiple pieces of unit data, allowing error correction on arbitrary plural pieces of unit data stored in discontinuous physical addresses, and includes an address managing portion to skip unnecessary error correction processing based on an error correction flag, thereby reducing recalculation overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a second error correcting code is added to reinforce data holding characteristics, then data reliability is improved, but device complexity increases

Engineering Contradiction:
Improvedata holding characteristicsVSAvoiderror correcting code structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The error correction system is segmented into two distinct layers: a first error correcting code applied to individual unit data blocks, and a second error correcting code applied to multiple unit data blocks collectively. This segmentation allows each code to operate independently on its designated data scope, reinforcing reliability without requiring a complete redesign of the error correction system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of error correction by applying the second error correcting code across multiple data blocks simultaneously, rather than just within single blocks. This multi-block dimension enables correction of errors that span across block boundaries, enhancing reliability while maintaining manageable complexity through structured organization.

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

2Reliability

If error correcting code recalculation is performed whenever part of the data is updated, then data integrity is maintained, but productivity deteriorates

Engineering Contradiction:
Improvedata integrityVSAvoiddata update speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements local quality by enabling selective recalculation of the second error correcting code based on which specific data blocks have been updated. Instead of recalculating the entire code set, only the portions corresponding to modified blocks are updated, maintaining data integrity while significantly reducing the overhead of error correction recalculation during data updates.

Inventive Principle:
Principle #3Local quality

3Reliability

If data is copied to continuous physical address space to enable error correction, then error correction capability is improved, but productivity decreases due to copy overhead

Engineering Contradiction:
Improveerror correction capabilityVSAvoiddata access speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The second error correcting code is designed to handle multiple data blocks simultaneously, creating a universal error correction mechanism that works across dispersed physical addresses. This multi-functionality eliminates the need for data copying to continuous addresses, as the error correction system can operate effectively on data stored in its original dispersed location, thereby maintaining high data access speed while providing robust error correction.

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

Data Source

PatentUS8898541B2Storage controller, storage device, information processing system, and storage controlling method
Publication Date: 2014.11.25 SONY GROUP CORP
  • US8898541B2 patent drawing
  • US8898541B2 patent drawing
  • US8898541B2 patent drawing

AI summary

A storage controller includes an error correcting code managing portion, an address managing portion and an error correcting portion. The error correcting code managing portion manages a correspondence relationship between predetermined plural pieces of unit data, and a second error code corresponding to the plural pieces of unit data every entry when plural pieces of unit data and a second error correcting code are stored in a storage portion. The address managing portion manages a correspondence relationship between logical addresses and the entries in the error correcting code managing portion. The error correcting portion acquires the entry in the error correction managing portion corresponding to the logical address as an object of read from the address managing portion, and carries out error correction based on the plural pieces of unit data managed in the entry concerned, and the second error correcting code.