Partitioned Register File With Dual Memory Structures

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Register file access energy consumption is a significant fraction of system energy usage due to the capacity constraints of existing memory technologies, necessitating a solution to reduce overall energy usage while maintaining or improving storage capacity.

Innovation Solution

Implementing a register file with a dual memory structure, comprising a low-energy array of latches and a high-capacity SRAM, and using a single logical namespace for both, where frequently accessed values are allocated to the low-energy structure and less frequently accessed values to the high-capacity SRAM, based on compiler-projected access frequencies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If a single memory structure is used for the register file, then the device complexity is reduced, but the access energy consumption increases due to capacity constraints

Engineering Contradiction:
Improveregister file access energyVSAvoidmemory structure complexity
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The register file is segmented into two distinct memory structures: a first memory structure with lower access energy and a second memory structure with higher storage capacity. This segmentation allows the system to optimize between energy consumption and storage capacity by dividing the register file functionality across two specialized structures rather than using a single compromise structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different regions of the register file are assigned different memory structures based on their access patterns. Frequently accessed registers are mapped to the low-energy first memory structure, while less frequently accessed registers are mapped to the high-capacity second memory structure. This local quality differentiation optimizes energy consumption for hot data while maintaining capacity for cold data.

Inventive Principle:
Principle #3Local quality

2Ease of operation

If a single logical namespace is used for both memory structures, then the ease of operation is improved, but the device complexity increases due to mapping requirements

Engineering Contradiction:
Improvecompiler allocation simplicityVSAvoidnamespace mapping complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent merges the namespace of both memory structures into a single logical namespace. This allows the compiler to allocate registers to a unified address space without needing to manage separate namespaces for different memory structures. The mapping between the single logical namespace and the two physical memory structures is handled by the processing unit, simplifying compiler allocation while maintaining operational ease.

Inventive Principle:
Principle #5Merging (Combining)

3Use of energy by moving object

If frequently accessed values are allocated to the low-energy structure, then the access energy is reduced, but the storage capacity for less frequently accessed values is limited

Engineering Contradiction:
Improveregister file access energyVSAvoidstorage capacity
Core Design Contradiction:
Use of energy by moving objectVSQuantity of substance

Solution Approach 1:

The system dynamically determines the number of register addresses per thread to map to each memory structure at runtime. This dynamic allocation allows the system to adapt to varying workloads and optimize the split between low-energy and high-capacity structures based on actual access patterns, rather than using a fixed static allocation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the allocation parameter from uniform distribution to frequency-based distribution. By using compiler-projected frequency of access as the allocation criterion, the system assigns more register addresses to the low-energy first memory structure for frequently accessed values, and fewer addresses to the second memory structure for less frequently accessed values, optimizing the energy-capacity tradeoff.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9489201B2Partitioned register file
Publication Date: 2016.11.08 NVIDIA CORP
  • US9489201B2 patent drawing
  • US9489201B2 patent drawing
  • US9489201B2 patent drawing

AI summary

A system includes a processing unit and a register file. The register file includes at least a first memory structure and a second memory structure. The first memory structure has a lower access energy than the second memory structure. The processing unit is configured to address the register file using a single logical namespace for both the first memory structure and the second memory structure.