SoC Memory ECC Architecture for Faster Partial Writes and Bus Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional error correction codes in system-on-chips (SoCs) face issues such as high timing overhead, inefficient handling of partial writes, and neglect of crosstalk effects on long buses, which impact system performance and reliability, especially in mission-critical applications like automotive and medical systems.

Innovation Solution

The implementation of an electronic circuit with a memory circuit, address and data buffers, a control circuit, and error correcting code (ECC) mechanisms that include a multiplexer, comparing circuit, mixer circuit, and dual-ported parity memory to enhance throughput and reduce timing overhead, while also addressing crosstalk issues through Hsiao code-based ECC solutions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional ECC schemes based on Hamming codes are used, then error correction capability is provided, but timing overhead increases and system operating frequency is slowed down

Engineering Contradiction:
Improveerror correction capabilityVSAvoidtiming overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The memory system is segmented into multiple banks, allowing parallel ECC operations to be performed simultaneously across different banks. This segmentation enables the system to maintain error correction capability while reducing the timing overhead by distributing the ECC processing load across multiple independent units operating in parallel.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

ECC check bits are generated and stored in advance during write operations, and parity information is pre-computed and stored in dedicated parity memory. This preliminary action ensures that when read operations occur, the ECC verification can be performed immediately without adding significant timing overhead, as the necessary correction data is already prepared.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If pipelining techniques are used to reduce timing overhead, then throughput is improved, but CPU has to defer memory transactions until pipeline stages are cleared

Engineering Contradiction:
Improvetiming overheadVSAvoidthroughput
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

A dedicated ECC controller acts as an intermediary between the CPU and memory system, managing the pipeline stages and handling ECC operations independently. This intermediary allows the CPU to continue executing memory transactions without deferring, as the ECC controller handles the error correction tasks in parallel, thus maintaining both reduced timing overhead and high throughput.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system employs dynamic pipeline management where the ECC controller can adaptively control the flow of data through pipeline stages based on current system conditions. This dynamic approach allows the system to optimize between timing overhead and throughput by adjusting pipeline depth and stage execution timing according to workload characteristics.

Inventive Principle:
Principle #15Dynamics

3Difficulty of detecting and measuring

If conventional testing methods using ATPG or BIST techniques are used, then fault detection is performed, but crosstalk effects on long buses are ignored

Engineering Contradiction:
Improvefault detection capabilityVSAvoidcrosstalk detection
Core Design Contradiction:
Difficulty of detecting and measuringVSReliability

Solution Approach 1:

The testing system performs not only conventional gate-level and cell-level fault detection but also adds specific crosstalk detection capabilities. By implementing additional test patterns and monitoring mechanisms that specifically target crosstalk effects on long buses, the system achieves comprehensive fault detection without ignoring interconnect issues.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The ECC controller and testing infrastructure are designed with multi-functionality, serving both conventional error correction and crosstalk detection purposes. The same hardware resources are utilized to perform multiple functions including fault detection, crosstalk monitoring, and error correction, providing a unified approach to reliability enhancement.

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

4Ease of operation

If partial writes are handled using conventional methods, then memory access is performed, but throughput is impacted due to inefficient handling

Engineering Contradiction:
Improvepartial write capabilityVSAvoidthroughput
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system implements local quality by maintaining write buffers specifically for partial write operations and using address comparison logic to identify which portions of data need updating. This localized optimization allows partial writes to be handled efficiently by only processing the necessary data portions rather than entire memory words, thus improving throughput while maintaining ease of operation.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

Data is pre-buffered in write buffers before actual memory write operations. This preliminary buffering allows the system to prepare partial write data in advance, compare addresses efficiently, and execute writes only when necessary, thereby improving throughput by reducing redundant memory access operations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8438344B2Low overhead and timing improved architecture for performing error checking and correction for memories and buses in system-on-chips, and other circuits, systems and processes
Publication Date: 2013.05.07 TEXAS INSTRUMENTS INC
  • US8438344B2 patent drawing
  • US8438344B2 patent drawing
  • US8438344B2 patent drawing

AI summary

An electronic circuit (200) for use with an accessing circuit (110) that supplies a given address and a partial write data portion and also has dummy cycles. The electronic circuit (200) includes a memory circuit (230) accessible at addresses, an address buffer (410), a data buffer (440) coupled to the memory circuit (230), and a control circuit (246) operable in the dummy cycles to read data from the memory circuit (230) to the data buffer (440) from a next address location in the memory circuit (230) and to store that next address in the address buffer (410). The electronic circuit further includes a multiplexer (430), a comparing circuit (420) responsive to the given address and a stored address in the address buffer (410), to operate the multiplexer (430) to pass data from the data buffer (440) or to pass data from the memory circuit (230) instead; and a mixer circuit (450) operable to put the partial write data portion into the data taken from the selected one of the data buffer (440) or memory circuit (230). Other circuits, devices, systems, processes of operation and processes of manufacture are also disclosed.