SLAT Memory Slab Layout to Reduce Address Translation Lookups

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The inefficiencies in memory access within virtual machines due to the traversal of multiple hierarchical levels in the Second Layer Address Table (SLAT) lead to slower memory access times, discouraging the use of virtual machines despite their security benefits.

Innovation Solution

Implementing slabs of memory with uniform access permissions to allow direct identification by higher-level SLAT entries, thereby skipping lower-level table lookups and optimizing SLAT traversal.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If multiple hierarchical levels of SLAT tables are traversed to map virtual machine memory addresses to physical memory addresses, then memory address translation accuracy is improved, but memory access time increases

Engineering Contradiction:
Improvememory address translation accuracyVSAvoidmemory access time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the SLAT into multiple hierarchical levels (e.g., root table, level 1 tables, level 2 tables) where each level handles a portion of the address translation. This segmentation allows accurate translation of large address spaces while enabling parallel lookup paths that can be optimized to reduce traversal time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension to the address translation process by implementing alternative lookup paths, such as direct mapping for certain memory regions or using metadata caches that store frequently accessed translations. This adds dimensional flexibility to the translation process, allowing the system to choose faster paths when accuracy requirements are met.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If virtual machines are used to provide security benefits, then system security is improved, but memory access performance deteriorates

Engineering Contradiction:
Improvesystem securityVSAvoidmemory access performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs preliminary actions by pre-translating and caching memory address mappings in metadata structures before they are needed during runtime. This allows the system to maintain security through proper address translation while reducing the performance impact by having translations ready in advance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces intermediary data structures (metadata tables, caching mechanisms) that mediate between the virtual machine's memory access requests and the physical memory. These intermediaries enable security checks to be performed without requiring full traversal of the hierarchical SLAT for every access, thus maintaining security while improving performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If hierarchical SLAT tables are implemented to manage large memory spaces, then memory management capability is improved, but device complexity increases

Engineering Contradiction:
Improvememory management capabilityVSAvoidSLAT structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements universal data structures and algorithms that can handle different memory management scenarios with the same hierarchical SLAT framework. This multi-functionality allows the system to manage various types of memory (physical, virtual, shared) through a unified structure, reducing the apparent complexity despite the enhanced capabilities.

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

Solution Approach 2:

The patent introduces dynamic characteristics to the SLAT structure, allowing it to adapt its complexity based on runtime requirements. For example, certain hierarchical levels can be collapsed or bypassed when not needed, and the structure can be dynamically configured to optimize for specific workloads, making the complexity manageable while maintaining high adaptability.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12585595B2Faster computer memory access by reducing SLAT fragmentation
Publication Date: 2026.03.24 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12585595B2 patent drawing
  • US12585595B2 patent drawing
  • US12585595B2 patent drawing

AI summary

To increase the speed with which a Second Layer Address Table (SLAT) is traversed, memory having the same access permissions is contiguously arranged such that one or more hierarchical levels of the SLAT need not be referenced, thereby resulting in more efficient SLAT traversal. “Slabs” of memory are established whose memory range is sufficiently large that reference to a hierarchically lower level table can be skipped and a hierarchically higher level table's entries can directly identify relevant memory addresses. Such slabs are aligned to avoid smaller intermediate memory ranges. The loading of code or data into memory is performed based on a next available memory location within a slab having equivalent access permissions, or, if such a slab is not available, or if an existing slab does not have a sufficient quantity of available memory remaining, a new slab with the proper access permissions is established.