Memory Route Tables Using Index Offset Information

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory management systems are inefficient in routing memory access requests due to the rigid association of route tables with specific memory access types, leading to wasted capacity and complexity in system firmware, especially as server system-on-chip (SOC) architectures integrate diverse memory devices and require flexible interleave modes and granularities.

Innovation Solution

The implementation of index offset information to decouple route tables from specific memory access types, allowing entries to represent different memory access types and allocate entries based on sets of resources, thereby reducing unused space and simplifying the programming of route tables.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If route tables are rigidly associated with specific memory access types, then the routing process is simple, but the route table capacity is wasted and system firmware becomes complex

Engineering Contradiction:
Improverouting simplicityVSAvoidroute table capacity utilization
Core Design Contradiction:
Ease of manufactureVSQuantity of substance

Solution Approach 1:

The route table entries are designed to be universally applicable across multiple memory access types (DDR4, DDR5, CXL, HBM) rather than being dedicated to a single type. Each entry can represent different memory access types through configuration, allowing the same route table structure to serve multiple functions and reduce capacity waste.

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

Solution Approach 2:

The routing process is segmented into two independent stages: first determining the route table index from the physical address, then determining the specific memory access type from the route table entry. This segmentation allows flexibility in memory access type assignment without complicating the overall routing structure.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If route tables are rigidly associated with specific memory access types, then the route table structure is simple, but the system firmware programming becomes complex and error-prone

Engineering Contradiction:
Improveroute table structureVSAvoidfirmware programming
Core Design Contradiction:
Device complexityVSEase of operation

Solution Approach 1:

The route table automatically provides the memory access type information through its entries, eliminating the need for complex firmware programming to manually configure and track which memory access type corresponds to which route table entry. The system self-manages the mapping between routes and memory types.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

A single route table structure serves multiple memory access types, simplifying the firmware programming by removing the need to maintain separate route tables or complex mapping logic for different memory types.

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

3Quantity of substance

If route tables are decoupled from specific memory access types using index offset information, then route table capacity utilization improves, but the routing process becomes more complex

Engineering Contradiction:
Improveroute table capacity utilizationVSAvoidrouting process
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The routing process is divided into distinct segments: address-based index determination, route table entry retrieval, and memory access type identification. Each segment performs a specific function, making the overall complex process manageable and modular.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The route table entry acts as an intermediary that connects the physical address to the specific memory access type. Instead of directly mapping addresses to memory types, the route table entry mediates this relationship, providing flexibility while maintaining a structured process.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Adaptability or versatility

If route tables are decoupled from specific memory access types, then flexibility in supporting diverse memory devices improves, but the route table allocation becomes more complex

Engineering Contradiction:
Improvememory device support flexibilityVSAvoidroute table allocation
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The route table is designed as a universal structure that can accommodate multiple memory device types (DDR4, DDR5, CXL, HBM) and interleave modes through configurable entries, rather than requiring separate dedicated tables for each memory type.

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

Solution Approach 2:

The route table allocation is made dynamic and flexible, allowing entries to be assigned to different memory access types based on system configuration rather than being statically bound. This enables adaptive support for diverse memory devices while maintaining a unified allocation mechanism.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP4198744B1Accessing a memory using index offset information
Publication Date: 2024.06.19 INTEL CORP
  • EP4198744B1 patent drawingFigure 1
  • EP4198744B1 patent drawingFigure 2A
  • EP4198744B1 patent drawingFigure 2B

AI summary

Techniques and mechanisms for identifying a memory access resource which is to be a target of an access request. In an embodiment, a processor comprises route tables which are to provide entries corresponding to different respective memory access resources which are coupled to the processor. The processor further comprises a list of items which each correspond to a different respective range of addresses, wherein the items each include an identifier of a respective route table, and an identifier of a respective index offset. Based on an address of the access request, a decoder circuit of the processor searches the list to identify a corresponding one of the items. In another embodiment, the decoder circuit accesses a route table entry, based on the search, to determine how the access request is to be directed to a particular memory access resource.