ECC Update Architecture for Lower Memory Bandwidth Overhead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing error correction code (ECC) systems require significant bandwidth and memory access for updating ECC totals, leading to inefficiency and high ECC overhead, especially when data strings are combined, as the entire ECC must be recalculated upon any update to a single portion of the data string.

Innovation Solution

A system and method that allow for efficient calculation of new ECC totals by using an encoder unit to perform protection scheme conversions and updates, enabling write-only operations for ECC updates, reducing the need for read-modify-write operations and minimizing ECC overhead through the use of masks and XOR operations to recalculate ECC totals only for changed data ways.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data strings are combined to reduce ECC overhead percentage, then ECC overhead percentage decreases, but bandwidth demand increases due to required recalculation of entire ECC upon any update

Engineering Contradiction:
ImproveECC overhead percentageVSAvoidbandwidth demand
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments the combined ECC calculation into individual way-specific ECC calculations. Instead of treating the entire combined data string as a single unit requiring full recalculation, the system calculates ECC separately for each way (WAY0, WAY1, WAY2, WAY3) and maintains individual ECC totals for each segment. This allows selective updating of only the affected way's ECC rather than recalculating the entire combined ECC.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary action by pre-calculating and storing individual way ECC values (WAY0_ECC, WAY1_ECC, WAY2_ECC, WAY3_ECC) before combining them. When an update occurs, the system only needs to recalculate the ECC for the specific way that changed, then combine it with the pre-existing ECC values of unchanged ways, rather than recalculating the entire combined ECC from scratch.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If entire ECC is recalculated upon update to maintain correctness, then error detection reliability is maintained, but memory access bandwidth increases due to read-modify-write operations

Engineering Contradiction:
Improveerror detection reliabilityVSAvoidmemory access bandwidth
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides the ECC calculation into segment-specific operations where each way has its own ECC calculation and tracking. The system maintains separate ECC totals for each way (WAY0_ECC, WAY1_ECC, WAY2_ECC, WAY3_ECC) rather than a single combined ECC. This segmentation enables selective updating of only the modified way's ECC segment without accessing or modifying other way segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediary structures (separate ECC total registers for each way and individual way ECC calculation units) that mediate between the data ways and the combined ECC output. These intermediaries allow the system to maintain overall ECC correctness while avoiding direct read-modify-write operations on the entire combined ECC, by instead performing targeted updates on individual way ECC values.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Quantity of substance

If more data bits are combined to lower ECC overhead, then ECC overhead percentage decreases, but system complexity increases due to coordinated updates across multiple ways

Engineering Contradiction:
ImproveECC overhead percentageVSAvoidsystem complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent segments the ECC management system into independent way-specific units, each with its own ECC calculation and tracking logic. This segmentation actually reduces system complexity compared to managing a single large combined ECC, because each segment can be independently calculated, updated, and verified without coordinating changes across all other segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a universal ECC calculation mechanism that works identically for each way regardless of the total number of ways combined. The same ECC calculation logic applies to WAY0, WAY1, WAY2, WAY3, and any additional ways, making the system scalable and reducing complexity through repetition of a standardized pattern rather than requiring unique coordination logic for each combination.

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

Data Source

PatentUS11385957B2System for memory access bandwidth management using ECC
Publication Date: 2022.07.12 ARTERIS INC
  • US11385957B2 patent drawing
  • US11385957B2 patent drawing
  • US11385957B2 patent drawing

AI summary

A system, and corresponding method, is described for updating or calculating ECC where the transaction volume is significantly reduced from a read-modify-write to a write, which is more efficient and reduces demand on the data access bandwidth. The invention can be implemented in any chip, system, method, or HDL code that perform protection schemes and require ECC calculation, of any kind. Embodiments of the invention enable IPs that use different protections schemes to reduce power consumption and reduce bandwidth access to more efficiently communicate or exchange information.