Instruction Storage Circuit Error Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computer systems face performance issues due to persistent data integrity errors in instructions retrieved from memory, leading to repeated pipeline flushes and potential timeouts, as malfunctioning data storage cells cannot be repaired, causing processors to become stuck in loops of error correction and refetching.

Innovation Solution

An instruction storage circuit detects data integrity errors, generates a corrected version of the error-generating instruction, and stores it in an error storage, allowing the processor to refetch the corrected instruction instead of the potentially damaged original, preventing repeated pipeline flushes and reducing memory latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the processor refetches instructions from the original memory location after a pipeline flush, then it may retrieve the corrected instruction, but it risks repeatedly fetching the same erroneous instruction from malfunctioning data storage cells

Engineering Contradiction:
Improveinstruction integrityVSAvoidprocessor throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces an intermediary buffer between the instruction memory and the processor pipeline. When an error is detected in a fetched instruction, the corrected instruction is stored in this buffer. Upon pipeline flush and refetch, the intermediary buffer supplies the corrected instruction instead of re-fetching from the potentially faulty memory location, thus mediating between the unreliable memory and the processor to prevent repeated errors while maintaining throughput.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the processor implements error detection and correction mechanisms, then instruction reliability improves, but system complexity increases due to additional circuits and protocols

Engineering Contradiction:
Improvedata integrityVSAvoiderror handling circuitry
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by performing error detection and correction before the instruction enters the main execution pipeline. The fetch stage includes error detection logic that identifies corrupted instructions upfront, and correction mechanisms are activated in advance. This preliminary handling prevents erroneous instructions from propagating through the pipeline, reducing the need for complex error recovery circuits in later stages.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by creating a corrected copy of the erroneous instruction and storing it in a buffer. Instead of modifying the original instruction in memory or implementing complex real-time correction circuits, the system fetches the instruction, detects errors, generates a corrected copy, and uses this copy for execution. This copying approach simplifies the error handling logic while maintaining reliability.

Inventive Principle:
Principle #26Copying

3Reliability

If the processor flushes the pipeline upon detecting an error, then it prevents execution of corrupted instructions, but it causes loss of time and reduces instruction throughput

Engineering Contradiction:
Improvecorrect instruction executionVSAvoidpipeline flush duration
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary error detection during the fetch stage, before the instruction advances through multiple pipeline stages. By detecting errors early and having corrected instructions ready in an intermediary buffer, the system minimizes the pipeline flush duration. When an error is detected, only the affected pipeline stages need to be flushed rather than the entire pipeline, reducing time loss while ensuring correct instruction execution.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11740973B2Instruction error handling
Publication Date: 2023.08.29 CADENCE DESIGN SYST INC
  • US11740973B2 patent drawing
  • US11740973B2 patent drawing
  • US11740973B2 patent drawing

AI summary

An instruction storage circuit within a processor that includes an instruction memory and a memory control circuit. The instruction memory is configured to store instructions of a program for the processor. The memory control circuit is configured to receive a particular instruction from the instruction memory, detect a data integrity error in the particular instruction, and generate and store a corrected version of the particular instruction in an error storage circuit within the instruction memory. A flush of an execution pipeline may be performed in response to the error. In response to a refetch of the particular instruction after the pipeline flush, the instruction storage circuit may be configured to cause the particular instruction to be provided from the error storage circuit to the execution pipeline to permit forward progress of the processor.