PCI Memory Mapping via Hypervisor for SR-IOV

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems face challenges in efficiently managing large Base Address Register (BAR) space requirements for Peripheral Component Interconnect (PCI) devices, particularly in Single Root I/O Virtualization (SR-IOV) environments with adjunct partitions, where page table data exceeds available memory space, leading to overhead and performance issues.

Innovation Solution

The method involves mapping BAR space for PCI devices using a page table and associating it with physical memory addresses to generate memory-mapped I/O (MMIO), with the option to invoke a hypervisor for read/write operations if the address is not in the MMIO, allowing for efficient memory management without requiring additional page table space and minimizing overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If page table data is expanded to accommodate large BAR space requirements for PCI devices, then the memory management capability is improved, but the available memory space is exhausted and overhead increases

Engineering Contradiction:
Improvememory management capabilityVSAvoidavailable memory space
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent segments the BAR space into multiple regions, with frequently accessed regions mapped to physical memory addresses and less frequently accessed regions handled through hypervisor invocations. This segmentation allows the system to manage large BAR spaces without requiring complete page table coverage, thus preserving available memory space while maintaining memory management capability for critical regions.

Inventive Principle:
Principle #1Segmentation

2Speed

If complete BAR space is mapped to physical memory addresses, then access speed is improved, but memory overhead and system complexity increase

Engineering Contradiction:
Improveaccess speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent applies local quality by providing high-speed direct memory access only to specific regions of BAR space that require frequent access, while other regions use the hypervisor-mediated access path. This selective mapping optimizes access speed for critical regions without incurring the overhead of mapping the entire BAR space, thus reducing system complexity while maintaining performance where needed.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10248468B2Using hypervisor for PCI device memory mapping
Publication Date: 2019.04.02 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10248468B2 patent drawing
  • US10248468B2 patent drawing
  • US10248468B2 patent drawing

AI summary

A method to manage peripheral component interconnect (PCI) memory includes accessing a page table that includes mapped data representing base address register (BAR) space and addresses of PCI devices. The method also includes determining whether a requested address of a PCI device has a corresponding entry in the page table. The method further includes invoking a hypervisor to perform a memory operation to obtain address information of the PCI device upon determining that the requested address does not have the corresponding entry in the page table.