Sector-Level Data Block Reconstruction via Checksum Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data replication schemes, such as RAID-5, are inadequate in detecting and correcting silent data corruption on a per-sector basis, particularly when a disk fails or data becomes corrupted without the file system being aware, leading to potential data loss.

Innovation Solution

A method and system for reconstructing a logical block by identifying identical and non-identical sectors across multiple copies, combining them to form a reconstructed block, calculating a checksum, and determining its validity against a stored checksum, allowing for the detection and correction of corrupted data blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional RAID-5 replication schemes are used, then data availability is improved through redundancy, but the system cannot detect or correct silent data corruption on a per-sector basis

Engineering Contradiction:
Improvedata availabilityVSAvoiddetection precision
Core Design Contradiction:
ReliabilityVSMeasurement precision

Solution Approach 1:

The patent segments data into sectors within blocks and maintains multiple copies of each sector across different blocks. This allows individual sector-level corruption detection and repair without affecting the entire block, enabling precise measurement of data integrity while maintaining availability through distributed redundancy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements checksums for each sector and block that provide feedback on data integrity. When corruption is detected, the system can identify the specific corrupted sectors and use backup copies to repair them, thus maintaining both availability and detection precision.

Inventive Principle:
Principle #23Feedback

2Reliability

If multiple copies of data blocks are maintained for replication, then data integrity is improved, but the complexity of managing and reconstructing corrupted blocks increases

Engineering Contradiction:
Improvedata integrityVSAvoidreconstruction complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

By dividing blocks into sectors and maintaining copies at the sector level, the patent simplifies reconstruction to a process of copying intact sectors from backup blocks. This modular approach reduces the complexity of managing multiple copies compared to block-level replication, as only the minimal necessary sectors need to be copied during repair operations.

Inventive Principle:
Principle #1Segmentation

3Reliability

If per-sector replication is implemented, then detection and correction of corrupted sectors is improved, but storage space requirements increase

Engineering Contradiction:
Improvecorruption detection capabilityVSAvoidstorage space
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent applies replication only where needed - maintaining multiple copies of sectors that are prone to corruption or have failed checksums, while single-copy sectors use minimal storage. This localized replication approach provides strong corruption detection capability for critical data while minimizing overall storage space requirements compared to universal block-level replication.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS7716519B2Method and system for repairing partially damaged blocks
Publication Date: 2010.05.11 ORACLE AMERICAN INC
  • US7716519B2 patent drawing
  • US7716519B2 patent drawing
  • US7716519B2 patent drawing

AI summary

A method for reconstructing a logical block, wherein the logical block comprises a first set of sectors. The method including obtaining a copy of the logical block comprising a second set of sectors, determining which of the sectors in the first set of sectors are identical to sectors in the second set of sectors to obtain identical sectors, selecting a first combination of non-identical sectors from the first set of sectors and the second set of sectors, combining a copy of each of the identical sectors with the first combination of non-identical sectors to obtain a first reconstructed logical block, calculating a first checksum for the first reconstructed logical block, and determining whether the first calculated checksum is equal to the stored checksum associated with the first logical block.