Secure direct peer-to-peer memory access requests between devices
US-2022405212-A1 · Dec 22, 2022 · US
US2023350815A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2023350815-A1 |
| Application number | US-202318340120-A |
| Country | US |
| Kind code | A1 |
| Filing date | Jun 23, 2023 |
| Priority date | Jan 18, 2022 |
| Publication date | Nov 2, 2023 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Disclosed are various embodiments for various approaches for implementing trust domains to provide boundaries between PCIe devices connected to the same PCIe switch. A first trust identifier can be assigned to a first virtual machine hosted by the computing device. The first trust identifier can also be assigned to a first PCIe device assigned to the first virtual machine. Later, it can be determined that a second PCIe device connected to the PCIe switch is assigned a second trust identifier assigned to a second virtual machine. An Address Control Services (ACS) direct translated bit for peer-to-peer memory requests in the PCIe switch can be disabled in response to a determination that the second PCIe device is associated with the second trust identifier assigned to the second virtual machine.
Opening claim text (preview).
Therefore, the following is claimed: 1 . A system, comprising: a computing device comprising a processor, a memory, and a Peripheral Component Interconnect Express (PCIe) switch; and machine-readable instructions stored in the memory that, when executed by the processor, cause the computing device to at least: determine that a first PCIe device connected to the PCIe switch is assigned a first trust identifier assigned to a first virtual machine; determine that a second PCIe device connected to the PCIe switch is assigned a second trust identifier assigned to a second virtual machine; and disable an Address Control Services (ACS) direct translated bit for peer-to-peer memory requests in the PCIe switch in response to a determination that the second PCIe device is associated with the second trust identifier assigned to the second virtual machine. 2 . The system of claim 1 , wherein the machine-readable instructions further cause the computing device to at least: assign a default trust identifier to the first PCIe device in response to a power off of the virtual machine; determine that each PCIe device connected to the PCIe switch is assigned either the default trust identifier or the second trust identifier; and enable the ACS direct translated bit for peer-to-peer memory requests in the PCIe switch in response to a determination that the each PCIe device connected to the PCIe switch is assigned either the default trust identifier or the second trust identifier. 3 . The system of claim 1 , wherein the machine-readable instructions further cause the computing device to at least: assign a default trust identifier to the first PCIe device in response to a power off of the virtual machine; determine that a third PCIe device connected to the PCIe switch is assigned the first trust identifier and that the third PCIe device has Address Translation Services (ATS) enabled; determine that the ACS direct translated bit for peer-to-peer memory requests in the PCIe switch is currently enabled; and disable the ACS direct translated bit for peer-to-peer memory requests in the PCIe switch. 4 . The system of claim 1 , wherein the machine-readable instructions further cause the computing device to at least: detect that the first PCIe device has been unassigned from the first virtual machine; assign a default trust identifier to the first PCIe device in response to the first PCIe device being unassigned from the first virtual machine; determine that each PCIe device connected to the PCIe switch is assigned either the default trust identifier or the second trust identifier; and enable the ACS direct translated bit for peer-to-peer memory requests in the PCIe switch in response to a determination that the each PCIe device connected to the PCIe switch is assigned either the default trust identifier or the second trust identifier. 5 . The system of claim 1 , wherein the machine-readable instructions further cause the computing device to at least: detect that the first PCIe device has been unassigned from the first virtual machine; assign a default trust identifier to the first PCIe device in response to the first PCIe device being unassigned from the first virtual machine; determine that a third PCIe device connected to the PCIe switch is assigned the first trust identifier and that the third PCIe device has Address Translation Services (ATS) enabled; and determine that the ACS direct translated bit for peer-to-peer memory requests in the PCIe switch is currently enabled; and disable the ACS direct translated bit for peer-to-peer memory requests in the PCIe switch. 6 . The system of claim 1 , wherein the machine-readable instructions further cause the computing device to at least: detect that a third PCIe device has been assigned to the first virtual machine; determine that each PCIe device connected to the PCIe switch is assigned the first trust identifier; and enable an Address Control Services (ACS) direct translated bit for peer-to-peer memory requests in the PCIe switch in response a determination that each PCIe device connected to the PCIe switch is assigned the first trust identifier. 7 . The system of claim 1 , wherein assignment of the first trust identifier to the first virtual machine and the first PCIe device occurs in response to the first virtual machine being powered on. 8 . A method, comprising: determining that a first PCIe device connected to the PCIe switch is assigned a first trust identifier assigned to a first virtual machine; determining that a second PCIe device connected to the PCIe switch is assigned a second trust identifier assigned to a second virtual machine; and disabling an Address Control Services (ACS) direct translated bit for peer-to-peer memory requests in the PCIe switch in response to a determination that the second PCIe device is associated with the second trust identifier assigned to the second virtual machine. 9 . The method of claim 8 , further comprising: assigning a default trust identifier to the first PCIe device in response to powering off the virtual machine; determining that each PCIe device connected to the PCIe switch is assigned either the default trust identifier or the second trust identifier; and enabling the ACS direct translated bit for peer-to-peer memory requests in the PCIe switch in response to a determination that the each PCIe device connected to the PCIe switch is assigned either the default trust identifier or the second trust identifier. 10 . The method of claim 8 , further comprising: assigning a default trust identifier to the first PCIe device in response to powering off of the virtual machine; determining that a third PCIe device connected to the PCIe switch is assigned the first trust identifier and that the third PCIe device has Address Translation Services (ATS) enabled; determining that the ACS direct translated bit for peer-to-peer memory requests in the PCIe switch is currently enabled; and disabling the ACS direct translated bit for peer-to-peer memory requests in the PCIe switch. 11 . The method of claim 8 , further comprising: detecting that the first PCIe device has been unassigned from the first virtual machine; assigning a default trust identifier to the first PCIe device in response to the first PCIe device being unassigned from the first virtual machine; determining that each PCIe device connected to the PCIe switch is assigned either the default trust identifier or the second trust identifier; and enabling the ACS direct translated bit for peer-to-peer memory requests in the PCIe switch in response to a determination that the each PCIe device connected to the PCIe switch is assigned either the default trust identifier or the second trust identifier. 12 . The method of claim 8 , further comprising: detecting that the first PCIe device has been unassigned from the first virtual machine; assigning a default trust identifier to the first PCIe device in response to the first PCIe device being unassigned from the first virtual machine; determining that a third PCIe device connected to the PCIe switch is assigned the first trust identifier and that the third PCIe device has Address Translation Services (ATS) enabled; determining that the ACS direct translated bit for peer-to-peer memory requests in the PCIe switch is currently enabled; and disabling the ACS direct translated bit for peer-to-peer memory requests in the PCIe switch. 13 . The method of claim 8 , further comprising: detecting that a third PCIe device has been assigned to the first virtual machine; determining that each PCIe device connected to the
the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism · CPC title
for a module or a part of a module · CPC title
for multiple virtual address spaces, e.g. segmentation (G06F12/1036 takes precedence) · CPC title
being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus · CPC title
Hypervisor-specific management and integration aspects · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.