Dual-Read ECC Error Detection for Hidden Storage Media Faults

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data integrity mechanisms, such as error correction codes (ECC) and data scrubbing, fail to effectively identify and address persistent errors in storage media, leading to potential data corruption and accumulation of errors over time, especially in large storage systems where errors may go unreported due to communication protocols like SATA that only report error correction failures.

Innovation Solution

A method and system that utilize two read commands, one without ECC and one with ECC, to detect and correct errors, and determine the location of corrected errors, enabling the identification of malfunctioning storage media by tracking repeated errors and reallocating data to alternative storage devices when error thresholds are exceeded.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If ECC is used to correct errors automatically, then data integrity is maintained, but error locations remain hidden and malfunctioning storage devices cannot be identified

Engineering Contradiction:
Improvedata integrityVSAvoiderror location information
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent introduces an intermediary mechanism (shadow ECC or alternative read paths) that allows error correction to occur while simultaneously preserving and reporting error location information. This mediator enables both functions - maintaining data integrity through correction and providing diagnostic information about error locations without which malfunctioning storage devices cannot be identified.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If data scrubbing is performed continuously, then errors are detected and corrected, but storage system productivity decreases due to repeated read operations

Engineering Contradiction:
Improveerror detection capabilityVSAvoiddata access efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements periodic data scrubbing operations rather than continuous scrubbing, scheduling error detection and correction at intervals that balance reliability maintenance with productivity preservation. This periodic approach allows the storage system to maintain error detection capability while minimizing the impact of repeated read operations on normal data access efficiency.

Inventive Principle:
Principle #19Periodic action

3Measurement precision

If multiple read commands are executed to detect errors, then error locations can be identified, but the time required for data access increases

Engineering Contradiction:
Improveerror location precisionVSAvoiddata access time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary error detection and correction operations during idle periods or background processes, so that when actual data access is required, the data is already verified and corrected. This preliminary action eliminates the need for time-consuming multiple read commands during critical data access operations, thereby maintaining both error location precision and fast data access times.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20130061087A1System and method for uncovering data errors
Publication Date: 2013.03.07 INFINIDAT LTD
  • US20130061087A1 patent drawing
  • US20130061087A1 patent drawing

AI summary

According to the presently disclosed subject matter there is provided inter alia, a method and system which enable to uncover errors which are correctable by a data integrity mechanism in a computer system. The same data is read with the help of two different types of read commands. The first command is a read command which does not implement an inherent ECC and therefore does not correct corrupted data. The second command is a read command which includes an ECC and is adapted to correct errors which are detected in the data which is being read. The data obtained by each of the two read commands is compared, and in cases where a difference is identified between the two data, it is determined that an error has been detected and corrected by the ECC.