On-Demand Programmable Atomic Kernel Loading in Memory Controllers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In chiplet systems, preloading all Programmable Atomic Operator (PAO) kernels in Programmable Atomic Units (PAUs) results in wasted bandwidth, increased latency, and power consumption due to the potential unused kernels, as there is no guarantee that all PAOs will be used.

Innovation Solution

Implementing an on-demand mechanism for loading PAO kernels, where PAUs register for PAOs during initialization but only reserve space, and kernels are transferred and loaded only when requested, allowing PAUs to service future requests efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If all PAO kernels are preloaded in PAUs during initialization, then future PAO requests can be serviced efficiently, but bandwidth is wasted, latency increases, and power consumption increases due to loading unnecessary kernels

Engineering Contradiction:
ImprovePAO request servicing efficiencyVSAvoidbandwidth and power consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent applies preliminary action by having PAUs register for PAOs during initialization and reserve space for kernels, but not actually loading the kernels until they are requested. This partial preliminary action prepares the system for efficient future servicing while avoiding the waste of loading all possible kernels in advance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements partial action by loading only the specific PAO kernels that are actually requested, rather than loading all possible kernels. This ensures that resources are used efficiently and only necessary kernels occupy space in the PAU instruction memory.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If all PAO kernels are preloaded in PAUs, then system readiness is improved, but application initialization latency increases

Engineering Contradiction:
Improvesystem readinessVSAvoidapplication initialization latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary registration and space reservation during initialization, which maintains system readiness by knowing which kernels might be needed, while avoiding the time penalty of actually loading all kernels during initialization.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically loads kernels based on actual requests rather than statically preloading all kernels. This dynamic approach reduces initialization latency while maintaining readiness by loading kernels on-demand when they are actually needed.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If PAU instruction memory is allocated for all possible PAO kernels, then kernel loading capability is maximized, but memory resources are wasted

Engineering Contradiction:
Improvekernel loading capabilityVSAvoidmemory resources
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent segments the kernel loading process into registration/space reservation phase and actual loading phase. This allows the system to maintain the capability to load any registered kernel while only allocating actual memory resources for kernels that are requested, rather than pre-allocating for all possible kernels.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system takes partial action by allocating memory resources only for kernels that are actually requested and loaded, rather than allocating for all possible kernels. This maintains adaptability while conserving memory resources.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11698791B2On-demand programmable atomic kernel loading
Publication Date: 2023.07.11 MICRON TECHNOLOGY INC
  • US11698791B2 patent drawing
  • US11698791B2 patent drawing
  • US11698791B2 patent drawing

AI summary

Devices and techniques for on-demand programmable atomic kernel loading are described herein. A programmable atomic unit (PAU) of a memory controller can receive an invocation of a programmable atomic operator by the memory controller. The PAU can then perform a verification on a programmable atomic operator partition for the programmable atomic operator. Here, the programmable atomic operator partition is located in a memory of the PAU. The PAU can then signal a trap in response to the verification indicating that the programmable atomic operator partition is not prepared.