Patentable/Patents/US-9740647
US-9740647

Migrating DMA mappings from a source I/O adapter of a computing system to a destination I/O adapter of the computing system

PublishedAugust 22, 2017
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

Migrating DMA mappings from a source I/O adapter of a computing system to a destination I/O adapter of the computing system, includes: collecting, by a hypervisor of the computing system, DMA mapping information, where the hypervisor supports operation of a logical partition executing on the computing system and the logical partition is configured for DMA operations with the source I/O adapter utilizing the DMA mapping information; configuring, by the hypervisor, the destination I/O adapter with DMA mappings based on the DMA mapping information collected by the hypervisor; placing, by the hypervisor, the source and destination I/O adapter in an error state; deconfiguring the source I/O adapter from the logical partition; and enabling the logical partition and destination I/O adapter to recover from the error state.

Patent Claims
20 claims

Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.

Claim 1

Original Legal Text

1. A method of migrating direct memory access (‘DMA’) mappings from a source input/output (‘I/O’) adapter of a computing system to a destination I/O adapter of the computing system, the method comprising: collecting, by a hypervisor of the computing system, DMA mapping information, wherein the hypervisor supports operation of a logical partition executing on the computing system and the logical partition is configured for DMA operations with the source I/O adapter utilizing the DMA mapping information; configuring, by the hypervisor, the destination I/O adapter with DMA mappings based on the DMA mapping information collected by the hypervisor; placing, by the hypervisor, the source and destination I/O adapter in an error state; deconfiguring the source I/O adapter from the logical partition; and enabling the logical partition and destination I/O adapter to recover from the error state.

Plain English Translation

A system migrates Direct Memory Access (DMA) mappings from a source I/O adapter to a destination I/O adapter. A hypervisor collects DMA mapping information used by a logical partition for DMA operations with the source I/O adapter. The hypervisor configures the destination I/O adapter with these DMA mappings. Both source and destination I/O adapters are placed in an error state by the hypervisor. The source I/O adapter is then deconfigured from the logical partition. Finally, the logical partition and the destination I/O adapter are enabled to recover from the error state, completing the DMA migration.

Claim 2

Original Legal Text

2. The method of claim 1 further comprising: updating, by the hypervisor, mappings of hypervisor calls from the logical partition to modify DMA address mappings to be directed to the destination I/O adapter.

Plain English Translation

In addition to the DMA migration process of claim 1, the hypervisor updates mappings of hypervisor calls originating from the logical partition. These updated mappings redirect DMA address modification requests to the destination I/O adapter. This ensures that all subsequent DMA operations from the logical partition are correctly routed to the new I/O adapter after the migration.

Claim 3

Original Legal Text

3. The method of claim 1 wherein: the source I/O adapter is a PCI express adapter; the DMA mapping information further comprises one or more data structures specifying: a size of a range allocated to the PCIe device for DMA operations; data from a PCIe configuration space including a requester identifier of the PCIe adapter; and logical addresses to physical memory address mappings, wherein each mapping represents a memory page and each mapping includes access permissions for the memory page.

Plain English Translation

In the DMA migration method of claim 1, the source I/O adapter is a PCI express adapter. The DMA mapping information includes data structures specifying the size of the memory range allocated to the PCIe device for DMA, data from the PCIe configuration space (including the adapter's requester ID), and logical-to-physical memory address mappings. Each mapping represents a memory page and includes the access permissions for that specific memory page. This detailed information is used to accurately configure the destination adapter.

Claim 4

Original Legal Text

4. The method of claim 3 wherein the PCIe adapter further comprises a single-root I/O virtualization adapter.

Plain English Translation

Expanding on claim 3, the PCI express adapter is a single-root I/O virtualization (SR-IOV) adapter. This means the adapter supports multiple virtual functions, allowing multiple logical partitions to share the physical adapter resources. The DMA migration process correctly handles the SR-IOV configuration, ensuring that each virtual function's DMA mappings are migrated appropriately.

Claim 5

Original Legal Text

5. The method of claim 1 further comprising, prior to recovering from the error state and during the configuration the destination I/O adapter with DMA mappings based on the DMA mapping information collected by the hypervisor, mirroring modifications to the DMA mapping information of the source I/O adapter to the DMA mappings of the destination I/O adapter.

Plain English Translation

As part of the DMA migration of claim 1, modifications made to the DMA mapping information of the source I/O adapter are mirrored to the DMA mappings of the destination I/O adapter. This mirroring occurs before recovering from the error state and during the configuration of the destination I/O adapter. This ensures data consistency and prevents data corruption during the transition.

Claim 6

Original Legal Text

6. The method of claim 1 wherein a management console is coupled to the computing system and the method further comprises: administering the migration of the DMA mappings from the source I/O adapter to the destination I/O adapter.

Plain English Translation

The DMA migration process of claim 1 includes a management console connected to the computing system. An administrator uses the management console to manage and control the migration of the DMA mappings from the source to the destination I/O adapter. This allows for centralized control and monitoring of the migration process.

Claim 7

Original Legal Text

7. The method of claim 1 further comprising: detecting, by the logical partition, the error state; and preventing, by the hypervisor, the logical partition from recovering from the error state until the source I/O adapter is deconfigured from the logical partition.

Plain English Translation

During the DMA migration described in claim 1, the logical partition detects that the source and destination I/O adapters have been placed into an error state. The hypervisor prevents the logical partition from automatically recovering from this error state. The hypervisor only allows the partition to recover *after* the source I/O adapter has been completely deconfigured from the logical partition. This prevents the partition from attempting to use the old adapter before the migration is complete.

Claim 8

Original Legal Text

8. An apparatus for migrating direct memory access (‘DMA’) mappings from a source input/output (‘I/O’) adapter of a computing system to a destination I/O adapter of the computing system, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of: collecting, by a hypervisor of the computing system, DMA mapping information, wherein the hypervisor supports operation of a logical partition executing on the computing system and the logical partition is configured for DMA operations with the source I/O adapter utilizing the DMA mapping information; configuring, by the hypervisor, the destination I/O adapter with DMA mappings based on the DMA mapping information collected by the hypervisor; placing, by the hypervisor, the source and destination I/O adapter in an error state; deconfiguring the source I/O adapter from the logical partition; and enabling the logical partition and destination I/O adapter to recover from the error state.

Plain English Translation

An apparatus migrates Direct Memory Access (DMA) mappings from a source I/O adapter to a destination I/O adapter. The apparatus includes a computer processor and memory. The memory stores instructions that, when executed, cause the apparatus to: collect DMA mapping information used by a logical partition for DMA operations with the source I/O adapter; configure the destination I/O adapter with these DMA mappings; place both I/O adapters in an error state; deconfigure the source I/O adapter from the logical partition; and enable the partition and the destination adapter to recover from the error state.

Claim 9

Original Legal Text

9. The apparatus of claim 8 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of: updating, by the hypervisor, mappings of hypervisor calls from the logical partition to modify DMA address mappings to be directed to the destination I/O adapter.

Plain English Translation

In addition to the DMA migration apparatus of claim 8, the apparatus executes instructions that update mappings of hypervisor calls originating from the logical partition. These mappings redirect DMA address modification requests to the destination I/O adapter. This ensures the apparatus correctly routes all future DMA operations to the new I/O adapter after migration.

Claim 10

Original Legal Text

10. The apparatus of claim 8 wherein: the source I/O adapter is a PCI express adapter; the DMA mapping information further comprises one or more data structures specifying: a size of a range allocated to the PCIe device for DMA operations; data from a PCIe configuration space including a requester identifier of the PCIe adapter; and logical addresses to physical memory address mappings, wherein each mapping represents a memory page and each mapping includes access permissions for the memory page.

Plain English Translation

In the DMA migration apparatus of claim 8, the source I/O adapter is a PCI express adapter. The DMA mapping information includes data structures specifying the size of the memory range allocated to the PCIe device for DMA, data from the PCIe configuration space (including the adapter's requester ID), and logical-to-physical memory address mappings. Each mapping includes the access permissions for the corresponding memory page.

Claim 11

Original Legal Text

11. The apparatus of claim 10 wherein the PCIe adapter further comprises a single-root I/O virtualization adapter.

Plain English Translation

Expanding on the DMA migration apparatus of claim 10, the PCI express adapter is a single-root I/O virtualization (SR-IOV) adapter. This means the adapter supports multiple virtual functions, allowing multiple logical partitions to share the physical adapter resources. The apparatus correctly handles the SR-IOV configuration, ensuring that each virtual function's DMA mappings are migrated appropriately.

Claim 12

Original Legal Text

12. The apparatus of claim 8 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of: prior to recovering from the error state and during the configuration the destination I/O adapter with DMA mappings based on the DMA mapping information collected by the hypervisor, mirroring modifications to the DMA mapping information of the source I/O adapter to the DMA mappings of the destination I/O adapter.

Plain English Translation

As part of the DMA migration apparatus of claim 8, the apparatus executes instructions to mirror modifications made to the DMA mapping information of the source I/O adapter to the DMA mappings of the destination I/O adapter. This mirroring occurs before recovering from the error state and during the configuration of the destination adapter, ensuring data consistency.

Claim 13

Original Legal Text

13. The apparatus of claim 8 wherein a management console is coupled to the computing system and the apparatus further comprises computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of: administering the migration of the DMA mappings from the source I/O adapter to the destination I/O adapter.

Plain English Translation

The DMA migration apparatus of claim 8 includes a management console connected to the computing system. The apparatus executes instructions that allow an administrator to use the console to manage the migration of DMA mappings from the source to the destination I/O adapter.

Claim 14

Original Legal Text

14. A computer program product for migrating direct memory access (‘DMA’) mappings from a source input/output (‘I/O’) adapter of a computing system to a destination I/O adapter of the computing system, the computer program product disposed upon a computer readable storage medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of: collecting, by a hypervisor of the computing system, DMA mapping information, wherein the hypervisor supports operation of a logical partition executing on the computing system and the logical partition is configured for DMA operations with the source I/O adapter utilizing the DMA mapping information; configuring, by the hypervisor, the destination I/O adapter with DMA mappings based on the DMA mapping information collected by the hypervisor; placing, by the hypervisor, the source and destination I/O adapter in an error state; deconfiguring the source I/O adapter from the logical partition; and enabling the logical partition and destination I/O adapter to recover from the error state.

Plain English Translation

A computer program product for migrating Direct Memory Access (DMA) mappings includes instructions on a computer-readable storage medium. When executed, these instructions cause a computer to: collect DMA mapping information used by a logical partition for DMA operations with the source I/O adapter; configure the destination I/O adapter with these DMA mappings; place both I/O adapters in an error state; deconfigure the source adapter from the logical partition; and enable the partition and the destination adapter to recover from the error state.

Claim 15

Original Legal Text

15. The computer program product of claim 14 further comprising computer program instructions that, when executed, cause the computer to carry out the step of: updating, by the hypervisor, mappings of hypervisor calls from the logical partition to modify DMA address mappings to be directed to the destination I/O adapter.

Plain English Translation

The computer program product of claim 14 also includes instructions that update mappings of hypervisor calls originating from the logical partition. These mappings redirect DMA address modification requests to the destination I/O adapter, ensuring future DMA operations are correctly routed after migration.

Claim 16

Original Legal Text

16. The computer program product of claim 14 wherein: the source I/O adapter is a PCI express adapter; the DMA mapping information further comprises one or more data structures specifying: a size of a range allocated to the PCIe device for DMA operations; data from a PCIe configuration space including a requester identifier of the PCIe adapter; and logical addresses to physical memory address mappings, wherein each mapping represents a memory page and each mapping includes access permissions for the memory page.

Plain English Translation

In the computer program product of claim 14, the source I/O adapter is a PCI express adapter. The DMA mapping information includes data structures specifying the size of the memory range allocated to the PCIe device, data from the PCIe configuration space (including the adapter's requester ID), and logical-to-physical memory address mappings, including access permissions for each memory page.

Claim 17

Original Legal Text

17. The computer program product of claim 16 wherein the PCIe adapter further comprises a single-root I/O virtualization adapter.

Plain English Translation

Expanding on the computer program product of claim 16, the PCI express adapter is a single-root I/O virtualization (SR-IOV) adapter, supporting multiple virtual functions for shared adapter resources. The computer program product correctly handles the SR-IOV configuration, ensuring correct DMA migration for each virtual function.

Claim 18

Original Legal Text

18. The computer program product of claim 14 further comprising computer program instructions that, when executed, cause the computer to carry out the step of: prior to recovering from the error state and during the configuration the destination I/O adapter with DMA mappings based on the DMA mapping information collected by the hypervisor, mirroring modifications to the DMA mapping information of the source I/O adapter to the DMA mappings of the destination I/O adapter.

Plain English Translation

As part of the computer program product of claim 14, the product includes instructions to mirror modifications made to the DMA mapping information of the source I/O adapter to the destination adapter's DMA mappings. This mirroring happens before recovery from the error state and while configuring the destination adapter to ensure data consistency.

Claim 19

Original Legal Text

19. The computer program product of claim 14 wherein a management console is coupled to the computing system and the apparatus further computer program instructions that, when executed, cause the computer to carry out the step of: administering the migration of the DMA mappings from the source I/O adapter to the destination I/O adapter.

Plain English Translation

The computer program product of claim 14 is used in a system with a management console. The product includes instructions that allow an administrator to manage the DMA mapping migration from the source to the destination I/O adapter using the console.

Claim 20

Original Legal Text

20. The computer program product of claim 14 further comprising computer program instructions that, when executed, cause the computer to carry out the step of: detecting, by the logical partition, the error state; and preventing, by the hypervisor, the logical partition from recovering from the error state until the source I/O adapter is deconfigured from the logical partition.

Plain English Translation

The computer program product of claim 14 also includes instructions to: Detect, by the logical partition, the error state of the adapters. Prevent, by the hypervisor, the logical partition from recovering from the error state until the source I/O adapter is deconfigured. This ensures that the migration is fully complete before the partition attempts to resume operation.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

October 21, 2016

Publication Date

August 22, 2017

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, FAQs, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Migrating DMA mappings from a source I/O adapter of a computing system to a destination I/O adapter of the computing system” (US-9740647). https://patentable.app/patents/US-9740647

© 2026 Nomic Interactive Technology LLC. Machine-readable context available at /api/llm-context/US-9740647. See llms.txt for full attribution policy.

Migrating DMA mappings from a source I/O adapter of a computing system to a destination I/O adapter of the computing system