Data Cache Controller with Dual-Channel ECC Latency Bypass

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cache latency is increased due to the need for error correction in volatile memory-based caches, as the cache controller must first check for errors before processing data, leading to delays in data transmission between the central processing unit (CPU) and the cache.

Innovation Solution

A method and apparatus where the data cache controller transmits data to the CPU through separate channels, with one channel for initial data transmission and another for error-corrected data, allowing the CPU to manage error correction and channel switching based on error signals, thereby reducing cache latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If error correction is performed before data transmission, then data reliability is improved, but cache latency increases

Engineering Contradiction:
Improvedata reliabilityVSAvoidcache latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the data transmission path into two separate channels: a first channel for transmitting data without error correction, and a second channel for transmitting data with error correction. This segmentation allows the system to bypass error correction when data is reliable, reducing latency while maintaining reliability options when needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary error detection by the cache controller before data transmission. When no error is detected, the system prepares to transmit data through the faster first channel. This preliminary check enables the system to avoid the time-consuming error correction process when unnecessary, while still being prepared to handle errors efficiently.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If error correction is always performed, then data accuracy is improved, but processing speed decreases

Engineering Contradiction:
Improvedata accuracyVSAvoidprocessing speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The patent implements a dynamic data transmission mechanism where the system adaptively selects between two transmission channels based on real-time error detection results. The cache controller dynamically determines whether to use the error-corrected second channel or the faster first channel, making the system flexible and responsive to actual data conditions rather than following a fixed protocol.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the operational parameters of data transmission by introducing two distinct transmission modes with different error correction levels. The system can switch between these modes by changing parameters such as the selected data channel and error correction intensity, allowing optimization of both accuracy and speed based on specific operational requirements.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8645791B2Data cache controller, devices having the same, and method of operating the same
Publication Date: 2014.02.04 SAMSUNG ELECTRONICS CO LTD
  • US8645791B2 patent drawing
  • US8645791B2 patent drawing
  • US8645791B2 patent drawing

AI summary

An method of operating a data cache controller is provided. The method includes transmitting first data output from a data cache to a central processing unit (CPU) core with a first latency and transmitting second data to the CPU core with a second latency greater than the first latency. The first latency is a delay between a read request to the data cache and transmission of the first data according to execution of a first instruction fetched from an instruction cache, and the second latency is a delay between a read request to the data cache and transmission of the second data according to execution of a second instruction fetched from the instruction cache.