Peripheral component interconnect express (PCIe) ping in a switch-based environment

US9563591B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9563591-B2
Application numberUS-201414198911-A
CountryUS
Kind codeB2
Filing dateMar 6, 2014
Priority dateMar 6, 2014
Publication dateFeb 7, 2017
Grant dateFeb 7, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A sideband PCI Express (PCIe) packet initiator in a distributed PCIe switch fabric verifies a PCIe connection between a host device and a PCIe endpoint device without having to power on the host device. The packet initiator assembles a PCIe test packet that acts as a ping for testing reachability of the endpoint device, from the perspective of the host device. The test packet may also verify configurations and settings of the path to the endpoint device. The distributed switch fabric is configured to compare completion data with expected results to verify the PCIe connection, without having to boot the host device.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer program product for verifying connections of a distributed switch comprising a plurality of switch modules, the computer program product comprising: a computer-readable storage medium having computer-readable program code embodied therewith, the computer-readable program code comprising: computer-readable program code, executable by a processor, configured to receive an indication to verify a connection from a host device to an endpoint device, wherein the host device is connected to an upstream port of a first switch module of the plurality of switch modules, and the endpoint device is connected to a downstream port of the distributed switch; computer-readable program code configured to transmit a test packet from the upstream port of the first switch module to the downstream port of the distributed switch without powering on the host device, wherein transmitting the test packet comprises generating the test packet which includes a first data field identifying the upstream port of the first switch module as a source and a second data field identifying the endpoint device as a destination; computer-readable program code configured to receive a response packet from the downstream port, wherein the response packet comprises completion data resulting from processing the test packet; and computer-readable program code configured to, responsive to determining the completion data matches one or more values expected to be received in response to the test packet, determine the connection has been established between the host device connected to the upstream port and the endpoint device connected to the downstream port of the distributed switch. 2. The computer program product of claim 1 , wherein the first data field is a requester identifier associated with the upstream port and the second data field is a completer identifier associated with the endpoint device. 3. The computer program product of claim 1 , wherein the test packet is generated by a packet initiator module not directly connected to a physical interface of the host device. 4. The computer program product of claim 1 , further comprising: computer-readable program code configured to, responsive to determining the completion data does not match the one or more expected values, generate an error associated with the connection between the host device and the endpoint device. 5. The computer program product of claim 1 , further comprising: computer-readable program code configured to, responsive to determining the response packet comprises a requester identifier associated with the upstream port, store the completion data of the response packet in a memory register of the first switch module. 6. The computer program product of claim 1 , wherein the computer-readable program code configured to determine the completion data matches the one or more expected values further comprises: computer-readable program code configured to modify the completion data based on a mask value associated with the test packet; and computer-readable program code configured to compare the modified completion data with the one or more expected values. 7. The computer program product of claim 1 , wherein the upstream port and the downstream port of the distributed switch are configured to establish the connections according to a predefined interface, wherein the predefined interface is a Peripheral Component Interconnect Express (PCIe) interface, and wherein the test packet includes a PCIe configuration transaction for the endpoint device. 8. An apparatus comprising: a plurality of switch modules having a plurality of ports, each switch module having at least one port for establishing connections according to a predefined interface; a computer processor; and a memory storing management firmware, which, when executed on the computer processor, performs an operation comprising: receiving an indication to verify a connection from a host device to an endpoint device, wherein the host device is connected to an upstream port of a first switch module of the plurality of switch modules, and the endpoint device is connected to a downstream port of the apparatus, transmitting a test packet from the upstream port of the first switch module to the downstream port without powering on the host device, wherein the transmitting the test packet comprises generating the test packet which includes a first data field identifying the upstream port of the first switch module as a source and a second data field identifying the endpoint device as a destination, receiving a response packet from the downstream port, wherein the response packet comprises completion data resulting from processing the test packet, and responsive to determining the completion data matches one or more values expected to be received in response the test packet, determining the connection has been established between the host device connected to the upstream port and the endpoint device connected to the downstream port. 9. The apparatus of claim 8 , wherein the first data field is a requester identifier associated with the upstream port and the second data field is a completer identifier associated with the endpoint device. 10. The apparatus of claim 8 , wherein the test packet is generated by a packet initiator module not directly connected to a physical interface of the host device. 11. The apparatus of claim 8 , wherein the operation further comprises: responsive to determining the completion data does not match the one or more expected values, generating an error associated with the connection between the host device and the endpoint device. 12. The apparatus of claim 8 , wherein the operation further comprises: responsive to determining the response packet comprises a requester identifier associated with the upstream port, storing the completion data of the response packet in a memory register of the first switch module. 13. The apparatus of claim 8 , wherein determining the completion data matches the one or more expected values further comprises: modifying the completion data based on a mask value associated with the test packet; and comparing the modified completion data with the one or more expected values. 14. The apparatus of claim 8 , wherein the predefined interface is a Peripheral Component Interconnect Express (PCIe) interface, and wherein the test packet includes a PCIe configuration transaction for the endpoint device.

Assignees

Inventors

Classifications

  • using switching circuits, e.g. switching matrix, connection or expansion network (G06F13/4009 takes precedence) · CPC title

  • PCI express · CPC title

  • Power saving in modem or I/O interface · CPC title

  • Energy efficient computing, e.g. low power processors, power management or thermal management · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9563591B2 cover?
A sideband PCI Express (PCIe) packet initiator in a distributed PCIe switch fabric verifies a PCIe connection between a host device and a PCIe endpoint device without having to power on the host device. The packet initiator assembles a PCIe test packet that acts as a ping for testing reachability of the endpoint device, from the perspective of the host device. The test packet may also verify co…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F13/4022. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 07 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).