ECC Proxy Circuit for Interconnect Error Correction in SoC

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In System-on-a-Chip (SoC) applications, errors introduced in interconnect circuitry between a bus master circuit and memory are not effectively remedied by existing error-correcting mechanisms, as these mechanisms are typically implemented within the memory controller and do not cover errors in the interconnect circuitry.

Innovation Solution

An Error Correction Code (ECC) proxy circuit is deployed between interconnects to generate and transmit ECCs for write transactions and supplement read transactions with ECC references, providing error detection and correction capabilities without the need for local ECC on the memory controller, thus covering errors in the interconnect circuitry.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If error-correcting mechanisms are implemented within the memory controller, then data integrity in memory is improved, but errors in interconnect circuitry remain uncovered

Engineering Contradiction:
Improvedata integrityVSAvoiderror coverage range
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

An ECC proxy circuit is introduced as an intermediary component between the bus master circuit and the memory. This proxy circuit receives transactions from the bus master, generates or retrieves ECC codes, and forwards them to the memory, thereby extending error correction coverage from just memory to include the interconnect circuitry without modifying the memory controller's internal structure

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If ECC proxy circuit is deployed between interconnects, then error detection and correction in interconnects is enabled, but device complexity increases

Engineering Contradiction:
Improveerror detection and correctionVSAvoidcircuit structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The ECC proxy circuit is designed to handle multiple functions: it processes both read transactions (by retrieving ECC codes from memory) and write transactions (by generating and storing ECC codes). This multi-functionality reduces the need for separate dedicated circuits for each operation, thereby limiting the increase in device complexity while achieving comprehensive error correction

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If ECC codes are generated and transmitted for all write transactions, then error correction capability is improved, but data transmission overhead increases

Engineering Contradiction:
Improveerror correction capabilityVSAvoiddata transmission volume
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

ECC codes are generated in advance during write transactions and stored in the memory at designated locations. This preliminary action allows the ECC codes to be readily available when read transactions occur, eliminating the need to re-transmit or re-generate them, thereby reducing redundant data transmission and minimizing overhead

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9632869B1Error correction for interconnect circuits
Publication Date: 2017.04.25 XILINX INC
  • US9632869B1 patent drawing
  • US9632869B1 patent drawing
  • US9632869B1 patent drawing

AI summary

In approaches for correction of errors introduced in an interconnect circuit, an ECC proxy circuit is coupled between a first interconnect and the second interconnect, and generates for each of the write transactions from a bus master circuit, a first ECC from and associated with data of the write transaction, and transmits the write transaction and associated first ECC on the second interconnect. The ECC proxy circuit also supplements each of the read transactions from the bus master circuit with a reference to a second ECC associated with data referenced by the read transaction. The ECC proxy circuit transmits the read transaction that references the second ECC on the second interconnect. At least one random access memory (RAM) is coupled to the ECC proxy circuit through the second interconnect. The RAM stores data of each write transaction and the first ECC.