CRC Generation Device for Storage Error Correction Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for calculating Cyclic Redundancy Check (CRC) values for errorless recording sequences from playback sequences with errors require recalculating CRC values after error correction, leading to increased latency due to the need to retain playback sequences in a buffer, especially when error sequences are reversed.

Innovation Solution

A CRC generation device that includes a CRC generation unit for the playback sequence, an error detection unit for generating an error sequence in reverse order, a CRC reverse operation unit for converting the error sequence to regular order, and a third CRC generation unit for calculating a CRC value equivalent to the errorless recording sequence using the first and second CRC values, thereby reducing latency by independent operation of CRC conversion information retention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If CRC value is recalculated after error correction processing, then CRC value for errorless recording sequence can be obtained, but data transfer latency becomes large

Engineering Contradiction:
ImproveCRC value accuracyVSAvoiddata transfer latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent pre-calculates and stores CRC values for all possible error sequences in a lookup table before actual data processing. When errors are detected, the system directly retrieves the pre-computed CRC value from the table and performs XOR operation, eliminating the need to wait for error correction processing to complete. This preliminary preparation resolves the contradiction by making CRC calculation independent of the error correction timeline.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the CRC calculation process into independent components: generating CRC for playback sequence, detecting errors, retrieving corresponding error sequence CRC from lookup table, and performing XOR operation. This segmentation allows CRC calculation to proceed in parallel with error correction processing rather than sequentially waiting for it to complete, thereby reducing latency while maintaining accuracy.

Inventive Principle:
Principle #1Segmentation

2Reliability

If playback sequence is retained in buffer for CRC recalculation, then CRC value can be recalculated, but device complexity increases

Engineering Contradiction:
ImproveCRC value accuracyVSAvoidbuffer requirement
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates a lookup table that contains pre-computed CRC values for all possible error sequences. Instead of buffering the actual playback sequence data, the system buffers only the error pattern information and retrieves corresponding pre-computed CRC values from the lookup table. This copying approach replaces complex data buffering with simpler pattern matching and table lookup operations.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9092354B2Storage device, CRC generation device, and CRC generation method
Publication Date: 2015.07.28 KK TOSHIBA
  • US9092354B2 patent drawing
  • US9092354B2 patent drawing
  • US9092354B2 patent drawing

AI summary

According to one embodiment, storage device, a CRC generator device and a CRC generation method includes A storage device includes: a storage unit 1, a data reading unit 2, and a CRC generation device 3. The CRC generation device 3 includes a CRC generation unit 31 generates a first CRC value; an ECC unit 32 detects an error sequence in a reverse order; a CRC reverse operation unit 33 calculates a CRC reverse operation result for the error sequence; a CRC generation shift register group 34 to retain CRC conversion information; an error sequence CRC generation unit 35 obtains a second CRC value; and an XOR unit 36 obtains a CRC value for an errorless recording sequence.