Hardware Architecture State Checkpointing via Stack

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing checkpointed register files in computer hardware architectures require additional ports and control logic, leading to increased complexity and power consumption due to the need for en-masse copying of bits during runahead mode transitions.

Innovation Solution

Implementing a non-checkpointed RAM with separate normal and runahead stacks or queues, where only critical pointers are saved and restored, reducing the need for extensive copying and minimizing power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a checkpointed register file is used to save and recover hardware architecture state, then the state can be accurately restored after runahead mode, but the device complexity increases due to additional ports and control logic

Engineering Contradiction:
Improvestate restoration accuracyVSAvoidregister file complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The register file is divided into two separate structures: a normal register file for standard operations and a stack-based checkpoint structure for save/restore operations. This segmentation allows each structure to be optimized independently, with the checkpoint stack requiring only minimal additional logic compared to the existing normal register file.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The stack-based checkpoint structure uses the same basic stack operations (push, pop, peek) that are already universally used in CPU architecture for other purposes. This multi-functionality allows the checkpoint mechanism to reuse existing control logic and data paths, reducing the need for dedicated checkpoint-specific hardware.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If all functional bits are copied to checkpointed bits during runahead mode entry, then the complete state is preserved, but power consumption increases due to substantial current draw

Engineering Contradiction:
Improvestate preservation completenessVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The invention extracts only the essential state information needed for restoration from the complete register file state. By using a stack-based approach, only the critical checkpoint information (return addresses, saved registers) is copied, rather than duplicating the entire register file state.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of performing a complete copy of all functional bits, the invention performs a partial copy of only the necessary state elements onto the checkpoint stack. This partial action is sufficient for state restoration while significantly reducing the number of bit copies and associated power consumption.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If en-masse copying of bits is performed during checkpoint operations, then complete state restoration is enabled, but localized voltage drops occur due to substantial current draw

Engineering Contradiction:
Improverestoration accuracyVSAvoidvoltage drops
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The invention extracts minimal checkpoint data from the register file and stores it on the stack, rather than performing en-masse copying. This extraction approach limits the current draw to only the essential state elements, preventing localized voltage drops in the register file interconnect.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The stack structure serves as an intermediary between the register file and the checkpoint restore operation. By mediating the state transfer through the stack, the invention avoids direct en-masse copying between register files, thereby reducing current draw and voltage drops in the interconnect structure.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Adaptability or versatility

If checkpointed RAM with additional ports is used, then checkpoint and recover control signals can be accommodated, but manufacturing cost increases

Engineering Contradiction:
Improvecontrol signal accommodationVSAvoidmanufacturing cost
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The checkpoint functionality is implemented using the existing stack data structure that is already part of standard CPU architecture. This universal approach allows the same stack hardware to serve multiple purposes (return address management, exception handling, and checkpointing), eliminating the need for specialized checkpointed RAM with additional ports.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The checkpoint functionality is merged with the existing stack operations rather than being implemented as a separate hardware structure. By combining checkpoint save/restore operations with standard stack push/pop/peek operations, the invention uses existing manufacturing processes and hardware resources, reducing production costs.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9424138B2Checkpointing a computer hardware architecture state using a stack or queue
Publication Date: 2016.08.23 NVIDIA CORP
  • US9424138B2 patent drawing
  • US9424138B2 patent drawing
  • US9424138B2 patent drawing

AI summary

Various embodiments relating to saving and recovering a hardware architecture state are provided. In one embodiment, during a first mode of operation, entries in a first portion of a random-access memory (RAM) are manipulated. A current version of less than all of the entries of the first portion is saved to a checkpointed version in response to a checkpoint event that triggers operation in a second mode of operation. During the second mode of operation, entries in a second portion of the RAM are manipulated. The checkpointed version of less than all of the entries of the first portion is recovered as the current version in response to a restore event that triggers resumption of operation in the first mode.