Pipelined ECC Processing Circuit for Single-Cycle Data Correction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing error correction schemes in processing systems, such as micro-controllers, introduce additional propagation delays due to complex combinational logic circuits, limiting the clock frequency and overall system performance.

Innovation Solution

Implement a pipelined architecture in the error detection and correction circuit, utilizing a multiplexer and control circuits to manage read requests and error signals, allowing data correction within one clock cycle while reducing propagation delays.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If complex combinational logic circuits are used for error correction, then error detection and correction capability is improved, but propagation delay increases and clock frequency is limited

Engineering Contradiction:
Improveerror detection and correction capabilityVSAvoidclock frequency
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The error correction circuit is divided into multiple pipeline stages, with each stage performing a specific function (error detection, syndrome calculation, correction). This segmentation allows parallel processing of different parts of the data, reducing the overall propagation delay while maintaining comprehensive error correction capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Error detection and syndrome calculation are performed in advance during the pipeline stages before the final correction step. By preparing error correction information beforehand, the circuit avoids lengthy sequential processing, enabling faster clock frequencies while maintaining reliable error correction.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If complex combinational logic circuits are used for error correction, then error detection and correction capability is improved, but propagation delay increases

Engineering Contradiction:
Improveerror detection and correction capabilityVSAvoidpropagation delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The circuit is segmented into pipeline stages that process different aspects of error correction simultaneously. This parallel processing approach reduces the critical path delay while maintaining full error correction capability, directly addressing the propagation delay issue.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The circuit transitions from a static combinational logic structure to a dynamic pipelined architecture with registered stages. This dynamic structure allows the circuit to reset and reprocess data in discrete time intervals, reducing the effective propagation delay for each data word while maintaining comprehensive error correction.

Inventive Principle:
Principle #15Dynamics

3Speed

If pipelined architecture is implemented, then clock frequency and processing speed are improved, but circuit complexity increases

Engineering Contradiction:
Improveclock frequencyVSAvoidcircuit complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

While segmentation into pipeline stages does increase structural complexity, it modularizes the circuit into reusable units. Each pipeline stage can be independently optimized and verified, making the overall complex circuit more manageable and potentially more efficient in terms of area utilization compared to a monolithic design.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12386546B2Processing system, related integrated circuit, device and method
Publication Date: 2025.08.12 STMICROELECTRONICS SRL
  • US12386546B2 patent drawing
  • US12386546B2 patent drawing
  • US12386546B2 patent drawing

AI summary

A slave provides second data bits and ECC bits in response to a master read request. First data bits are generated by selecting between the second data bits and third data bits produced from error correcting the second data bits. The third data bits are generated with a delay of one clock cycle with respect to the second data bits. If an address of the read request is stored to a memory, a control signal is set indicating that the first data bits are invalid and this drives selection of the third data bits (with the first data bits now being valid in a following clock cycle). If an error signal is asserted when the address is not stored to the memory, action is taken to store the address to the memory and a further control signal is set to indicate that the read request should be repeated.