Handling atomic operations for a non-coherent device
US-9223579-B2 · Dec 29, 2015 · US
US10318476B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10318476-B2 |
| Application number | US-201715604492-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 24, 2017 |
| Priority date | May 24, 2017 |
| Publication date | Jun 11, 2019 |
| Grant date | Jun 11, 2019 |
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.
Methods and systems for a networked computing system are provided. One method includes generating a first proxy endpoint by a non-transparent bridge (NTB) of a first pluggable compute module and a second proxy endpoint at a second pluggable module having a second NTB, based on a user defined topology; establishing a transaction layer packet (TLP) tunnel between the first proxy endpoint and the second proxy endpoint for peer to peer communication using a first stub endpoint of the first NTB and a second stub endpoint of the second NTB; and de-allocating the first proxy endpoint and the second proxy endpoint, when the topology is deactivated such that the first pluggable compute module and the second pluggable module are available for another user defined topology.
Opening claim text (preview).
What is claimed is: 1. A machine implemented method, comprising; generating a first proxy endpoint by a non-transparent bridge (NTB) of a first pluggable compute module and a second proxy endpoint at a second pluggable module having a second NTB, based on a user defined topology; establishing a transaction layer packet (TLP) tunnel between the first proxy endpoint and the second proxy endpoint for peer-to-peer communication using a first stub endpoint of the first NTB and a second stub endpoint of the second NTB; and de-allocating the first proxy endpoint and the second proxy endpoint, when the topology is deactivated such that the first pluggable compute module and the second pluggable module are available for another user defined topology. 2. The method of claim 1 , wherein the second pluggable module is a field programmable gate array (FPGA) module that is accessed by the first pluggable compute module using the TLP tunnel. 3. The method of claim 1 , wherein the second pluggable module is a graphics processor unit (GPU) module that is accessed by the first pluggable compute module using the TLP tunnel. 4. The method of claim 1 , wherein the second pluggable module is a network interface card that is accessed by the first pluggable compute module using the TLP tunnel. 5. The method of claim 1 , wherein the second pluggable module is a second pluggable compute module that is accessed by the first pluggable compute module using an Ethernet TLP tunnel to send and receive an Ethernet frame encapsulated in a TLP between the first pluggable compute module and the second pluggable compute module. 6. The method of claim 1 , wherein the peer-to-peer communication between the first proxy endpoint and the second proxy endpoint is based on a PCI-Express protocol. 7. The method of claim 1 , wherein the second pluggable module is a non-volatile memory of a storage system accessible by the first pluggable compute module via a non-volatile memory express (NVMe) translation. 8. A non-transitory machine-readable storage medium having stored thereon instructions for performing a method, comprising machine executable code which when executed by at least one machine, causes the machine to: generate a first proxy endpoint by a non-transparent bridge (NTB) of a first pluggable compute module and a second proxy endpoint at a second pluggable module having a second NTB, based on a user defined topology; establish a transaction layer packet (TLP) tunnel between the first proxy endpoint and the second proxy endpoint for peer-to-peer communication using a first stub endpoint of the first NTB and a second stub endpoint of the second NTB; and de-allocate the first proxy endpoint and the second proxy endpoint, when the topology is deactivated such that the first pluggable compute module and the second pluggable module are available for another user defined topology. 9. The non-transitory machine-readable storage medium of claim 8 , wherein the second pluggable module is a field programmable gate array (FPGA) module that is accessed by the first pluggable compute module using the TLP tunnel. 10. The non-transitory machine-readable storage medium of claim 8 , wherein the second pluggable module is a graphics processor unit (GPU) module that is accessed by the first pluggable compute module using the TLP tunnel. 11. The non-transitory machine-readable storage medium of claim 8 , wherein the second pluggable module is a network interface card that is accessed by the first pluggable compute module using the TLP tunnel. 12. The non-transitory machine-readable storage medium of claim 8 , wherein the second pluggable module is a second pluggable compute module that is accessed by the first pluggable compute module using an Ethernet TLP tunnel to send and receive an Ethernet frame encapsulated in a TLP between the first pluggable compute module and the second pluggable compute module. 13. The non-transitory machine-readable storage medium of claim 8 , wherein the peer-to-peer communication between the first proxy endpoint and the second proxy endpoint is based on a PCI-Express protocol. 14. The non-transitory machine-readable storage medium of claim 8 , wherein the second pluggable module is a non-volatile memory of a storage system accessible by the first pluggable compute module via an non-volatile memory express (NVMe) translation. 15. A method, comprising; generating, based on a first topology, a first proxy endpoint by a first bridge of a first pluggable compute module and a second proxy endpoint by a second bridge of a second pluggable module; establishing a communication tunnel between the first proxy endpoint and the second proxy endpoint for peer-to-peer communication using a first port of the first bridge and a second port of the second bridge; and de-allocating the first proxy endpoint and the second proxy endpoint, when the first topology is deactivated making the first pluggable compute module and the second pluggable module available for a second topology. 16. The method of claim 15 , wherein the second pluggable module is a field programmable gate array (FPGA) module accessed by the first pluggable compute module using the communication tunnel. 17. The method of claim 15 , wherein the second pluggable module is a graphics processor unit (GPU) module accessed by the first pluggable compute module using the communication tunnel. 18. The method of claim 15 , wherein the second pluggable module is a network interface card accessed by the first pluggable compute module using the communication tunnel. 19. The method of claim 15 , wherein the communication tunnel is a transaction layer protocol (TLP) tunnel. 20. The method of claim 15 , wherein the peer-to-peer communication between the first proxy endpoint and the second proxy endpoint uses a Peripheral Component Interconnect Express protocol. 21. The method of claim 15 , wherein the second pluggable module is a non-volatile memory of a storage system accessible by the first pluggable compute module via a Non-Volatile memory Express (NVMe) translation. 22. A method, comprising; generating, based on a first topology, a first proxy endpoint by a first device of a first pluggable compute module and a second proxy endpoint a second device of a second pluggable module; establishing a communication tunnel between the first proxy endpoint and the second proxy endpoint for peer-to-peer communication using a first port of the first device and a second port of the second device; and de-allocating the first proxy endpoint and the second proxy endpoint, when the first topology is deactivated making the first pluggable compute module and the second pluggable module available for a second topology. 23. The method of claim 22 , wherein the second pluggable module is a field programmable gate array (FPGA) module accessed by the first pluggable compute module using the communication tunnel. 24. The method of claim 22 , wherein the second pluggable module is a graphics processor unit (GPU) module accessed by the first pluggable compute module using the communication tunnel. 25. The method of claim 22 , wherein the second pluggable module is a network interface card accessed by the first pluggable compute module using the communication tunnel. 26. The method of claim 22 , wherein the first device is a non-transparent bridge (NTB). 27. The method of claim 22 , wherein the
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
Improving the reliability of storage systems · CPC title
using a handshaking protocol, e.g. RS232C link · CPC title
Direct connection machines, e.g. completely connected computers, point to point communication networks (coupling between buses G06F13/4004) · CPC title
PCI express · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.