Inline ECC Function for System-on-Chip Networks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional error-correcting code (ECC) protection for dynamic random access memory (DRAM) is costly due to the need for additional components and interface pins, and bus structures in system-on-chip (SoC) integrated circuits can lead to signaling problems with increased integration, making them unsuitable for efficient data communication.

Innovation Solution

An inline error-correcting code (ECC) function integrated into a network-on-chip (NoC) system, which computes ECC data for read and write transactions and provides them to the memory controller, eliminating the need for additional ECC components on DRAM and allowing flexible storage of ECC data, thereby decoupling the DRAM controller from the ECC function.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional out-of-band ECC protection is implemented, then memory data protection is achieved, but additional DRAM components and interface IO pins are required, increasing cost

Engineering Contradiction:
Improvememory data protectionVSAvoidadditional components and interface pins
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges the ECC function with the NoC switch, integrating error correction capabilities directly into the network infrastructure. The NoC switch now performs both data routing and ECC computation/verification, eliminating the need for separate ECC components and reducing interface complexity.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The NoC switch is designed to perform multiple functions: data packet routing, ECC computation for write transactions, and ECC verification for read transactions. This multi-functionality eliminates the need for dedicated ECC hardware components while maintaining comprehensive memory protection.

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

2Device complexity

If bus structure is used for data communication in SoC, then simple architecture is maintained, but signaling problems occur with increased circuit integration

Engineering Contradiction:
Improvearchitecture simplicityVSAvoidsignaling problems
Core Design Contradiction:
Device complexityVSObject-affected harmful factors

Solution Approach 1:

The patent segments the monolithic bus structure into a distributed NoC architecture with multiple switches and point-to-point connections. This segmentation allows data to be routed through multiple smaller, manageable segments rather than a single complex bus, reducing signaling problems while maintaining architectural simplicity at each node.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The NoC switches act as intermediaries between master devices and memory controllers, replacing direct bus connections. These intermediary switches manage data flow, perform ECC operations, and route packets, eliminating the signaling conflicts that would occur in a high-integration direct bus architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If ECC function is integrated into NoC, then additional ECC components on DRAM are eliminated, but inline ECC computation must be performed for each transaction

Engineering Contradiction:
ImproveECC components on DRAMVSAvoidtransaction processing overhead
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The NoC switch performs ECC computation in advance during write transactions, calculating and storing ECC data before the actual memory write occurs. This preliminary action ensures that ECC protection is already in place when data is written, eliminating the need for separate ECC processing steps.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The NoC switch serves itself by performing both routing and ECC functions within the same hardware unit. The switch automatically computes ECC for outgoing writes and verifies ECC for incoming reads without requiring external ECC components, making the system self-sufficient and reducing overall complexity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10346346B1Inline ECC function for system-on-chip
Publication Date: 2019.07.09 XILINX INC
  • US10346346B1 patent drawing
  • US10346346B1 patent drawing
  • US10346346B1 patent drawing

AI summary

An example integrated circuit (IC) includes a network-on-chip (NoC), a master device coupled to the NoC, a memory controller coupled to the NoC configured to control a memory coupled to the IC, and an inline error-correcting code (ECC) circuit coupled to the NoC. The ECC circuit is configured to receive read and write transactions from the master device that target the memory, compute ECC data based on the read and write transactions, and provide outgoing transactions to the memory controller.