Pipelined Product-Code Decoding for Continuous Tape Data Streaming

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional tape drive architectures face delays in data streaming due to iterative decoding processes, which are not optimized for high-throughput data reading, leading to potential errors and reduced performance in error correction.

Innovation Solution

A pipeline architecture utilizing discrete hardware buffers and a controller to perform iterative decoding operations, specifically loading and decoding data across multiple buffers using C1 and C2 decoders, allowing for continuous data streaming and reduced latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If iterative decoding is performed repeatedly on the same data, then error correction reliability is improved, but data reading speed and throughput deteriorate

Engineering Contradiction:
Improveerror correction reliabilityVSAvoiddata reading speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides the data processing into multiple segments using separate buffers (buffer 1, buffer 2, buffer 3, buffer 4) for different decoding stages. Each buffer holds data at a specific stage of the iterative decoding process, allowing parallel processing of different data segments simultaneously. This segmentation enables the system to maintain high throughput while performing repeated decoding operations on different portions of data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a temporal dimension to the decoding process by implementing a pipeline architecture where data flows through multiple decoding stages sequentially in time. The iterative decoding is transformed from a serial repeated process into a parallel pipeline where different iterations occur at different time stages, allowing continuous data streaming while maintaining error correction reliability.

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

2Measurement precision

If data is held in buffers for multiple decoding iterations, then decoding accuracy is improved, but data streaming continuity deteriorates

Engineering Contradiction:
Improvedecoding accuracyVSAvoiddata streaming continuity
Core Design Contradiction:
Measurement precisionVSDuration of action of moving object

Solution Approach 1:

The patent prepares multiple buffers in advance with data at different decoding stages before actual decoding is needed. Buffer 1 contains original data, buffer 2 contains data after first decoding iteration, buffer 3 after second iteration, and buffer 4 after third iteration. This preliminary preparation allows the system to immediately stream decoded data without waiting for iterations to complete, maintaining streaming continuity while achieving high decoding accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent ensures continuous data streaming by overlapping buffer operations. While one buffer is being read for decoding, another buffer is being written with decoded data from the previous iteration. This continuous overlap of read and write operations across multiple buffers eliminates idle time and maintains uninterrupted data flow, achieving both high decoding accuracy and streaming continuity.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS9564925B1Pipelined architecture for iterative decoding of product codes
Publication Date: 2017.02.07 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9564925B1 patent drawing
  • US9564925B1 patent drawing
  • US9564925B1 patent drawing

AI summary

In one embodiment, a method includes loading first data into a first buffer of an interposer during a first time period and loading second data into a second buffer of the interposer and performing a first decoding operation on the first data using a first decoder during a second time period. The method includes loading third data into a third buffer of the interposer, performing the first decoding operation on the second data using the first decoder, and performing a second decoding operation on the first data using a second decoder during a third time period. Moreover, the method includes loading fourth data into a fourth buffer of the interposer, performing the first decoding operation on the third data using the first decoder, and performing the second decoding operation on the second data during a fourth time period. The first and second decoding operations are C1 or C2 decoding operations.