Two-Level ECC Check-Bit Sharing for Low-Latency Memory Arrays

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory systems face challenges in protecting data integrity due to bit corruption caused by environmental and internal factors, requiring efficient error correction mechanisms that balance error detection and correction capabilities with overhead and latency considerations.

Innovation Solution

A two-level error correction code (ECC) system is implemented, comprising a first level ECC for error detection in smaller words and a second level ECC for error correction in larger words, with shared check bits to minimize overhead and latency, using a memory controller that includes first and second level ECC circuits to manage data integrity across memory arrays.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a single-level ECC system is used for error correction in large words, then error correction capability is provided, but overhead and latency increase

Engineering Contradiction:
Improveerror correction capabilityVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The ECC system is divided into two levels: first level ECC circuits operate on smaller words (e.g., 64 bits) for fast error correction, while second level ECC circuits operate on larger words (e.g., 512 bits) for comprehensive error correction. This segmentation allows the system to handle small errors quickly at the first level, reducing overall latency while maintaining strong error correction capability for larger errors at the second level.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The first level ECC provides partial error correction for smaller words, handling the majority of error cases that occur in practice. This partial action at the first level reduces the burden on the second level, allowing the system to achieve full error correction capability without requiring the second level to process every error, thereby reducing latency.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If a single-level ECC system is used for error correction in large words, then error correction capability is provided, but overhead increases

Engineering Contradiction:
Improveerror correction capabilityVSAvoidoverhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The ECC functionality is segmented into two levels with different correction capabilities. The first level handles common single-bit errors with minimal overhead, while the second level provides additional correction capability for multi-bit errors. This segmentation reduces total overhead compared to implementing a single-level ECC system with full correction capability for all error types.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The two-level ECC system provides multi-functionality: the first level ECC circuits handle fast correction for small words, while the second level ECC circuits provide comprehensive correction for large words. This universal approach allows the same memory system to efficiently handle both small and large word errors, reducing the need for separate specialized systems.

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

3Reliability

If two-level ECC is implemented without sharing check bits, then error detection and correction are provided, but overhead and latency increase

Engineering Contradiction:
Improveerror detection and correctionVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The first and second level ECC systems are merged through shared check bits. The check bits generated by the first level ECC for smaller words are also utilized by the second level ECC for larger words. This merging eliminates redundant check bit generation and storage, reducing overhead and access latency while maintaining comprehensive error detection and correction capabilities.

Inventive Principle:
Principle #5Merging (Combining)

4Reliability

If two-level ECC is implemented without sharing check bits, then error detection and correction are provided, but overhead increases

Engineering Contradiction:
Improveerror detection and correctionVSAvoidoverhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The first and second level ECC systems share check bits, merging their functionality. The check bits generated at the first level for smaller data blocks are reused by the second level for larger blocks, eliminating redundant check bit storage and reducing memory overhead. This merging reduces the total number of check bits required while maintaining comprehensive error detection and correction.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20240388311A1Two-level error correcting code with sharing of check-bits
Publication Date: 2024.11.21 TAIWAN SEMICONDUCTOR MANUFACTURING CO LTD
  • US20240388311A1 patent drawing
  • US20240388311A1 patent drawing
  • US20240388311A1 patent drawing

AI summary

A memory device includes: a memory device configured to store data bits to be written to the memory device; and a memory controller. The memory controller includes: a first level error correction code (ECC) circuit coupled to the memory device, wherein the first level ECC circuit is configured to generate a first plurality of first level check bits corresponding to the data bits based on a first error detection scheme; and a second level ECC circuit coupled to the memory device, wherein the second level ECC circuit is configured to generate a second plurality of second level check bits corresponding to both the data bits and the first plurality of first level check bits based on a first error correction scheme.