Unified i/o address translation data structure
AssigneeInternational Business Machines Corporation
InventorsTravis J. Pizel, Naveen Rathi, Swathi Madhuri Bhattiprolu
Life of this patent
Estimating the term…
Abstract
A processor establishes a unified input/output (I/O) translation table including a plurality of translation entries for translating between I/O addresses and memory addresses. I/O addresses specified by direct memory access (DMA) requests received from different I/O adapters each allocated to respective different logical partitions (LPARs) are translated by reference to translation entries in the unified I/O translation table. Physical memory of the data processing system is then accessed based on memory addresses determined by the translation.
Claims19
A method of data processing in a data processing system, the method comprising:
- a processor establishing a unified input/output (I/O) translation table, wherein the unified I/O translation table includes a plurality of translation entries for translating between I/O addresses and memory addresses;
- translating I/O addresses specified by direct memory access (DMA) requests received from different I/O adapters each allocated to respective different logical partitions (LPARs) by reference to translation entries in the unified I/O translation table;
- and
- performing accesses to physical memory of the data processing system based on memory addresses determined by the translating.
A data processing system, comprising:
- a processor core;
- physical memory communicatively coupled to the processor core, wherein the physical memory stores a unified input/output (I/O) translation table including a plurality of translation entries for translating between I/O addresses and memory addresses;
- one or more I/O host bridges communicatively coupled to the physical memory, wherein the one or more I/O host bridges are configured to perform:
- translating I/O addresses specified by direct memory access (DMA) requests received from different I/O adapters each allocated to respective different logical partitions (LPARs) by reference to translation entries in the unified I/O translation table;
- and
- performing accesses to physical memory of the data processing system based on memory addresses determined by the translating.
A program product, comprising:
- a storage device;
- and
- program code stored in the storage device that, when executed by a processor of a data processing system, causes the data processing system to perform:
- establishing a unified input/output (I/O) translation table, wherein the unified I/O translation table includes a plurality of translation entries for translating between I/O addresses and memory addresses;
- translating I/O addresses specified by direct memory access (DMA) requests received from different I/O adapters allocated to multiple different logical partitions (LPARs) by reference to translation entries in the unified I/O translation table;
- and
- performing accesses to physical memory of the data processing system based on memory addresses determined by the translating.
Dependencies are inferred from the claim text.