Low-Latency ECC Controller Interleaving Data Bytes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional ECC memory devices experience performance degradation and increased latency due to read-modify-write operations, and non-ECC systems face higher costs and power consumption when attempting to implement ECC functionality.

Innovation Solution

The implementation of a Low-Latency ECC (LL-ECC) controller that interleaves data and ECC bytes throughout a memory device, allowing direct writing of ECC code words and avoiding RMW operations, thereby enhancing data throughput and reducing access latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional ECC memory devices use read-modify-write operations to write partial data words, then error correction capability is maintained, but data throughput decreases and access latency increases

Engineering Contradiction:
Improveerror correction capabilityVSAvoiddata throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides the ECC code word into separate data bytes and ECC bytes, allowing independent writing of data while maintaining ECC integrity. This segmentation enables partial writes without requiring read-modify-write operations, thus improving throughput while preserving error correction capability

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent pre-calculates and stores ECC bytes alongside data bytes in the memory device, so that when data is written, the corresponding ECC bytes are already prepared and can be written simultaneously. This preliminary preparation eliminates the need for subsequent ECC recalculations and read-modify-write operations

Inventive Principle:
Principle #10Preliminary action

2Reliability

If traditional ECC memory devices provide 8-bit parity for data words, then error detection and correction are enabled, but device complexity and cost increase

Engineering Contradiction:
Improveerror detection and correctionVSAvoidinterface width and memory chip configuration
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the ECC functionality from the memory device itself and places it in the controller. The controller generates and manages ECC bytes independently, allowing the use of simpler non-ECC memory devices while maintaining ECC capability through software/firmware processing in the controller

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The controller acts as an intermediary between the system and the memory device, handling all ECC-related operations. This intermediary approach allows standard memory devices to be used while the controller provides the necessary ECC processing, reducing overall system complexity compared to dedicated ECC memory devices

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If ECC memory devices use wider interfaces to access data and ECC information simultaneously, then error correction is improved, but manufacturing cost increases

Engineering Contradiction:
ImproveECC protectionVSAvoidsystem component cost
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent uses inexpensive non-ECC memory devices combined with software-based ECC processing in the controller, rather than expensive dedicated ECC memory devices. This approach achieves sufficient ECC protection at a lower cost by using standard memory components with added computational functionality

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS8959417B2Providing low-latency error correcting code capability for memory
Publication Date: 2015.02.17 MARVELL ASIA PTE LTD
  • US8959417B2 patent drawing
  • US8959417B2 patent drawing
  • US8959417B2 patent drawing

AI summary

A memory controller provides low-latency error correcting code (ECC) capability for a memory. In some implementations, the controller is configured to receive a memory access command that includes an address and a length associated with data that is to be transferred to or from the memory device, and transfer one or more bytes of data and one or more bytes of ECC information to or from locations of the memory device associated with the address and the length.