ECC Memory Partial Writes With Parallel Read-Modify-Write Paths

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing error-correcting code (ECC) memory systems face challenges in efficiently handling partial data writes, particularly in large memory systems, where serial calculations and high latency can hinder performance, especially in critical applications requiring high accuracy.

Innovation Solution

The implementation of a memory controller with parallel read and write paths that combine partial write data with read data to generate new error-correcting codes, allowing for concurrent error correction and data writing, thereby reducing latency and completing partial writes in two clock cycles, and employing pipelined-parallel operations to mitigate additional latency in high-frequency designs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If serial read-modify-write operations are used in ECC memory, then error correction accuracy is maintained, but write latency increases and productivity decreases

Engineering Contradiction:
Improveerror correction accuracyVSAvoidwrite operation speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The write operation is segmented into independent parallel paths: a fast path for error-free data that bypasses full read-modify-write sequence, and a slow path for error-corrected data that follows the complete read-modify-write sequence. This segmentation allows error-free writes to complete in one clock cycle while error-corrected writes use the traditional three-clock cycle sequence, thereby improving overall productivity without compromising reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Error correction is performed in advance during the read phase before the write operation initiates. The read data is corrected using ECC logic prior to being combined with new write data, so that when the write operation proceeds, the data is already validated and ready for immediate writing, reducing the total operation time.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If traditional read-modify-write sequence is used, then data accuracy is ensured, but timing requirements cannot be met in high-frequency designs

Engineering Contradiction:
Improvedata accuracyVSAvoidoperation frequency
Core Design Contradiction:
Manufacturing precisionVSSpeed

Solution Approach 1:

The write operation dynamically adapts its execution path based on error detection results. When no errors are detected in read data, the system takes a fast path that combines write data directly without full correction sequence. When errors are detected, the system automatically switches to the traditional read-modify-write sequence with ECC correction. This dynamic adaptation allows the system to meet tight timing requirements for error-free operations while maintaining data accuracy when errors are present.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the operational parameters (number of clock cycles, sequence of operations) based on the error state of the data. For error-free data, the operation completes in one clock cycle with simplified logic. For erroneous data, the system extends the operation to three clock cycles with full ECC correction logic, thereby adjusting parameters to meet timing requirements while ensuring data accuracy.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If error correction is performed before combining data, then correction logic is simplified, but latency increases and productivity decreases

Engineering Contradiction:
Improvecorrection logic complexityVSAvoidwrite operation throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The correction logic is segmented and applied selectively only to data paths that require it. Instead of applying correction logic to all write operations, the system segments the write path into error-free paths (bypassing correction logic) and error-corrected paths (applying correction logic). This segmentation reduces the overall complexity of correction logic while maintaining productivity by avoiding unnecessary correction steps for error-free data.

Inventive Principle:
Principle #1Segmentation

4Reliability

If full read-modify-write sequence is executed for all writes, then data integrity is guaranteed, but additional logic levels increase device complexity

Engineering Contradiction:
Improvedata integrityVSAvoidlogic levels
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system applies partial read-modify-write sequence only when necessary. Instead of executing the full three-clock cycle read-modify-write sequence for all write operations, the system performs the complete sequence only when errors are detected in read data. For error-free data, a simplified one-clock cycle path is used that combines write data directly without full correction sequence. This partial application of the rigorous sequence maintains data integrity for error cases while reducing device complexity by avoiding unnecessary logic levels for error-free cases.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10838808B2Error-correcting code memory
Publication Date: 2020.11.17 TEXAS INSTRUMENTS INC
  • US10838808B2 patent drawing
  • US10838808B2 patent drawing
  • US10838808B2 patent drawing

AI summary

In the described examples, a memory controller includes a read-modify-write logic module that receives a partial write data request for partial write data in error-correcting code (ECC) memory and combines the partial write data in the partial write data request with read data provided from the ECC memory to form combined data prior to correcting the read data. The memory controller also includes a write control module that controls the writing of the combined data to the ECC memory.