PIM ECC-Space Operations for Faster In-Memory Error Correction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

ECC decoding and encoding processes in CPUs add significant operation overhead, reducing the speed performance of data manipulation in memory devices, especially when processing ECC encoded data.

Innovation Solution

Implementing a PIM architecture with ECC-Space operations that allow direct manipulation of ECC encoded data within the memory device, using truncated ECC-Space operations and ECC algorithms to generate new ECC encoded data without the need for decoding, thereby improving data manipulation speed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If ECC decoding processes are performed in CPU, then data errors can be corrected, but operation overhead increases and processing speed decreases

Engineering Contradiction:
Improvedata error correction capabilityVSAvoiddata manipulation speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the ECC processing function from the CPU to a dedicated logic circuit within the memory device. The memory device is divided into separate functional components: ECC encoding logic, ECC decoding logic, and data processing logic. This segmentation allows ECC operations to be performed independently and in parallel with data processing, eliminating the bottleneck where the CPU must sequentially handle both data manipulation and error correction.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary logic circuit within the memory device that acts as a mediator between the CPU and the data storage system. This intermediary handles all ECC encoding and decoding operations, freeing the CPU from these time-consuming tasks. The logic circuit receives encoded data from the CPU, performs decoding when needed, and returns corrected data, thus improving overall system throughput without compromising error correction capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If ECC encoded data are decoded before processing, then accurate data manipulation can be performed, but operation overhead increases

Engineering Contradiction:
Improvedata manipulation accuracyVSAvoidtime for decoding and re-encoding
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-computing and storing syndrome values along with the ECC encoded data in the memory device. When data needs to be processed, the system performs a quick syndrome check to determine if errors are present, rather than performing full decoding. If no errors are detected, the data can be processed immediately. This preliminary error detection mechanism significantly reduces the time penalty associated with ECC processing while maintaining data accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the operational parameters of ECC processing by implementing truncated ECC-Space operations that work directly with encoded data without full decoding. The logic circuit performs operations on the encoded form of data using modified algorithms that are optimized for speed. This parameter change allows the system to maintain the benefits of error correction while reducing the time overhead by avoiding complete decoding and re-encoding cycles.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If PIM architecture with ECC-Space operations is implemented, then data manipulation speed improves, but device complexity increases

Engineering Contradiction:
Improvedata manipulation speedVSAvoidmemory device structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges the ECC processing functions with the memory device structure by integrating encoding and decoding logic circuits directly into the memory array. The ECC encoder, decoder, and data processing units are combined in a unified PIM architecture where data can be processed in-place without being transferred to external processors. This merging eliminates data transfer overhead and allows parallel processing of multiple data elements, significantly improving throughput despite the increased internal complexity of the memory device.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11237907B2Processing-in-memory instruction set with homomorphic error correction
Publication Date: 2022.02.01 TAIWAN SEMICONDUCTOR MANUFACTURING CO LTD
  • US11237907B2 patent drawing
  • US11237907B2 patent drawing
  • US11237907B2 patent drawing

AI summary

A method includes transmitting an ECC encoded first data and an ECC encoded second data from a memory to a logic circuit, and generating an ECC encoded output data by executing an ECC-Space operation using the ECC encoded first data as a first operand and the ECC encoded second data as a second operand. The ECC encoded first data and the ECC encoded second data are the corresponding results of encoding a first data and a second data with an ECC algorithm. The ECC-Space operation is translated from a two operands operation that is operative to transform the first data and the second data into a third data. The ECC encoded output data is identical to a result of encoding the third data with the ECC algorithm if the third data is encoded with the ECC algorithm.