Data-Path Checksum Protection for LBA Error Differentiation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage systems in disk drives face challenges in reliably detecting and correcting errors during read and write operations, particularly due to issues with cyclic redundancy check (CRC) limitations and the inability to differentiate between LBA errors and random errors, which can lead to irrecoverable data corruption.

Innovation Solution

A system comprising a host FIFO module, a first encoder module, a control module, and a second encoder module that generates and compares checksums to detect and correct errors, including embedding the host logical block address (HLBA) in checksums and using encoder/decoder pairs to ensure data integrity across the write and read data-paths.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If CRC is used for error detection, then error detection capability is provided, but LBA errors cannot be differentiated from random errors

Engineering Contradiction:
Improveerror detection capabilityVSAvoiderror type differentiation
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent segments the error detection process into two distinct parts: CRC checking for random errors and LBA verification for address errors. By separating these functions and using different verification methods for each, the system can differentiate between LBA errors and random errors, resolving the limitation of traditional CRC-only approaches.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary LBA verification mechanism that works alongside CRC. This intermediary check specifically targets address-related errors, allowing the system to distinguish between LBA errors and random data errors without compromising the existing CRC error detection capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If encoder/decoder pairs are used for error correction, then data integrity is improved, but system complexity increases

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

Solution Approach 1:

The patent applies preliminary error correction by appending LBA information to data blocks before writing to disk. This preliminary action enables the decoder to verify both data integrity and address correctness during the read operation, improving data integrity without requiring complex real-time correction mechanisms.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by maintaining redundant LBA information alongside data blocks. This copied information serves as a reference for verification during read operations, enabling error detection and correction without adding complex processing logic to the original data path.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8484537B1Systems and methods for data-path protection
Publication Date: 2013.07.09 MARVELL ASIA PTE LTD
  • US8484537B1 patent drawing
  • US8484537B1 patent drawing
  • US8484537B1 patent drawing

AI summary

A system including a first buffer module, a first encoder module, a control module, and a second buffer module. The first buffer module receives (i) a first block and (ii) a first logical block address (LBA) for the first block from a host, where the first block includes first data. The first encoder module generates a first checksum based on (i) the first data and (ii) the first LBA. The control module generates a second block, where the second block includes (i) the first data, (ii) the first LBA, and (iii) the first checksum. The second buffer module receives a third block from the first buffer module, where the third block includes a second LBA. The second buffer module determines whether the third block is different than the first block depending on whether the second LBA in the third block is different than the first LBA in the second block.