On-Chip ECC Memory Write Path for Low-Power Reliable Burst Writes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory devices face challenges in achieving low power consumption while maintaining reliability through error-correcting code (ECC) operations, often resulting in either large data sizes that increase chip size and power consumption or inadequate overhead that compromises reliability.

Innovation Solution

A memory device configuration that includes a data latch, codeword corrector, data buffer, and codeword encoder to correct errors and optimize ECC operations, allowing for efficient writing and reading of data with reduced overhead, enabling faster burst write operations similar to SRAM or DRAM performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If larger data size is used to reduce ECC overhead and increase code rate, then power consumption and chip size increase, but if smaller data size is used to reduce chip size and power consumption, then ECC overhead increases and reliability requirements become harder to meet

Engineering Contradiction:
ImproveECC reliabilityVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent segments the write operation into multiple phases: receiving user data in a data buffer, reading existing data from the memory array, correcting errors in the read data using ECC, and then writing the corrected data back to the array. This segmentation allows error correction to be performed on smaller chunks of data rather than requiring the entire data set to be processed simultaneously, reducing the instantaneous power consumption and chip size requirements while maintaining reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary error correction by reading data from the memory array and correcting errors using ECC before the actual write operation completes. The corrected data is stored in a data buffer, and only after verification is the data written to the memory array. This preliminary action ensures reliability is maintained while allowing the write operation to be optimized for lower power consumption.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If traditional ECC operations are used to ensure data reliability, then power consumption increases, but if power consumption is reduced, then reliability through ECC operations is compromised

Engineering Contradiction:
Improvedata reliabilityVSAvoidenergy loss
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent implements continuous error correction during the write operation by reading data, correcting errors, and writing corrected data in an overlapping manner. The data buffer allows the correction process to continue while the write operation progresses, ensuring continuous useful action without interruption. This maintains data reliability while optimizing energy usage by avoiding redundant correction operations.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The memory device performs self-correction of errors by automatically detecting and correcting errors in the read data using ECC before writing to the array. This self-service mechanism eliminates the need for external error correction operations, reducing energy loss while maintaining data reliability. The system serves itself by incorporating correction functionality within the write path.

Inventive Principle:
Principle #25Self-service

3Productivity

If error correction is performed during write operations, then write speed decreases, but if write speed is increased, then error correction may be compromised

Engineering Contradiction:
Improvewrite speedVSAvoiderror correction capability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements dynamic error correction by adjusting the correction process based on the write operation status. The data buffer allows flexible timing where correction can be performed at optimal moments without strictly sequential processing. This dynamic approach enables faster burst write operations similar to SRAM or DRAM performance while maintaining error correction capability through the codeword corrector and encoder components.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent performs preliminary error correction by reading and correcting data before the write operation completes. The corrected data is prepared in advance in the data buffer, allowing the actual write to proceed at high speed without waiting for correction to finish. This preliminary action separates the correction timeline from the write timeline, enabling both high write speed and reliable error correction.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8751905B2Memory with on-chip error correction
Publication Date: 2014.06.10 AVALANCHE TECHNOLOGY INC
  • US8751905B2 patent drawing
  • US8751905B2 patent drawing
  • US8751905B2 patent drawing

AI summary

A memory device is configured to correct errors in codewords written to a memory array. Errors, if any, in a first codeword are corrected and a codeword corrector output is generated including a corrected first codeword. A data buffer receives the codeword corrector output and a first user data associated with the addressed page and generates a data buffer output including the corrected first codeword, as modified by the first user data, defined as a first codeword output. A codeword encoder receives the data buffer output and encodes the first codeword output to generate an encoded first codeword output included in a codeword encoder output. A write buffer receives the codeword encoder output and saves the same for writing to the memory array. Writing to the memory array is performed while receiving a second user data, which has a second codeword associated therewith, and correcting the second codeword.