Peripheral component interconnect express (PCIe) device enumeration via a PCIe switch

US10824581B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10824581-B2
Application numberUS-201715634396-A
CountryUS
Kind codeB2
Filing dateJun 27, 2017
Priority dateJun 27, 2017
Publication dateNov 3, 2020
Grant dateNov 3, 2020

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.

Described herein are enhancements for managing multi-host Peripheral Component Interconnect Express (PCIe) switching. In one implementation, a PCIe switch coupled to a host processing system and PCIe slots may receive enumeration requests from the host processing system to identify available PCIe devices. In response to the enumeration requests, the PCIe switch may transfer responses to the host processing system indicating device identifier information for PCIe devices associated with the PCIe slots even if one or more of the PCIe devices is not currently installed.

First claim

Opening claim text (preview).

What is claimed is: 1. A Peripheral Component Interconnect Express (PCIe) switch configured to be communicatively coupled to a host processing system and to a plurality of PCIe slots, the PCIe switch comprising: one or more non-transitory computer-readable storage media; a processing system operatively coupled with the one or more computer-readable storage media; and program instructions stored on the one or more computer-readable storage media that, when read and executed by the processing system, direct the processing system to at least: receive at least one PCIe enumeration request from the host processing system to identify available PCIe devices, in response to the at least one PCIe enumeration request, transfer one or more responses to the host processing system indicating device identifier information for a plurality of PCIe devices corresponding to the plurality of PCIe slots, wherein: at least one PCIe device of the plurality of PCIe devices is not installed in an unoccupied PCIe slot of the plurality of PCIe slots, and the device identifier information includes device identifier information for the at least one PCIe device expected to be installed in the unoccupied PCIe slot, to enable the host processing system to allocate addressing resources for the at least one PCIe device that is not yet installed in the unoccupied PCIe slot. 2. The PCIe switch of claim 1 , wherein the device identifier information comprises a vendor identifier and a device identifier for the at least one PCIe device. 3. The PCIe switch of claim 1 , wherein the one or more responses further indicate whether the at least one PCIe device is currently installed in any PCIe slot of the plurality of PCIe slots. 4. The PCIe switch of claim 1 , wherein the program instructions further direct the processing system to: receive a write command from the host processing system directed at a target PCIe device of the plurality of PCIe devices, wherein the write command provides configuration data for the target PCIe device; cache the write command; identify whether the target PCIe device is installed in a PCIe slot of the plurality of PCIe slots; and responsive to the target PCIe device being installed in a PCIe slot, forward the write command to the target PCIe device. 5. The PCIe switch of claim 4 , wherein the program instructions further direct the processing system to: responsive to the target PCIe device not being installed in a PCIe slot, identify an installation of the target PCIe device in an available PCIe slot of the plurality of PCIe slots; and in response to the installation, forward the write command to the installed target PCIe device. 6. The PCIe switch of claim 4 , wherein the write command comprises memory address allocation for the host processing system. 7. The PCIe switch of claim 1 , wherein the plurality of PCIe devices comprises a data storage device. 8. The PCIe switch of claim 1 , wherein the plurality of PCIe devices comprises a graphics processing unit. 9. A computing system comprising: a plurality of Peripheral Component Interconnect Express (PCIe) slots; and a PCIe switch communicatively coupled to the plurality of PCIe slots via PCIe lanes, the PCIe switch configured to: receive at least one PCIe enumeration request from a host processing system to identify available PCIe devices; in response to the at least one PCIe enumeration request, transfer one or more responses to the host processing system indicating device identifier information for a plurality of PCIe devices corresponding to the plurality of PCIe slots, wherein: at least one PCIe device of the plurality of PCIe devices is not installed in an unoccupied PCIe slot of the plurality of PCIe slots, and the device identifier information includes device identifier information for the at least one PCIe device expected to be installed in the unoccupied PCIe slot, to enable the host processing system to allocate addressing resources for the at least one PCIe device that is not yet installed in the unoccupied PCIe slot; and in response to the at least one PCIe device being installed in the previously unoccupied PCIe slot, providing an indication to the host processing system that the at least one PCIe device has been made available. 10. The computing system of claim 9 , wherein the device identifier information comprises a vendor identifier and a device identifier for the at least one PCIe device. 11. The computing system of claim 9 , wherein the one or more responses further indicate whether the at least one PCIe device is currently installed in any PCIe slot of the plurality of PCIe slots. 12. The computing system of claim 9 , wherein the PCIe switch is further configured to: receive a write command from the host processing system directed at a target PCIe device of the plurality of PCIe devices, wherein the write command provides configuration data for the target PCIe device; cache the write command; identify whether the target PCIe device is installed in a PCIe slot of the plurality of PCIe slots; and responsive to the target PCIe device being installed in a PCIe slot, forward the write command to the target PCIe device. 13. The computing system of claim 12 , wherein the PCIe switch is further configured to: responsive to the target PCIe device not being installed in a PCIe slot, identify an installation of the target PCIe device in an available PCIe slot of the plurality of PCIe slots; and in response to the installation, forward the write command to the installed target PCIe device. 14. The computing system of claim 12 , wherein the write command comprises memory address allocation for the host processing system. 15. The computing system of claim 9 , wherein the plurality of PCIe devices comprises a data storage device. 16. The computing system of claim 9 , wherein the plurality of PCIe devices comprises a graphics processing unit. 17. A computing system comprising: a host processing system; a plurality of Peripheral Component Interconnect Express (PCIe) slots; and a PCIe switch communicatively coupled to the plurality of PCIe slots and to the host processing system via PCIe lanes, the PCIe switch configured to: receive at least one PCIe enumeration request from the host processing system to identify available PCIe devices; and in response to the at least one PCIe enumeration request, transfer one or more responses to the host processing system indicating device identifier information for a plurality of PCIe devices corresponding to the plurality of PCIe slots, wherein: at least one PCIe device of the plurality of PCIe devices is not installed in an unoccupied PCIe slot of the plurality of PCIe slots, and the device identifier information includes device identifier information for the at least one PCIe device expected to be installed in the unoccupied PCIe slot, to enable the host processing system to allocate addressing resources for the at least one PCIe device that is not yet installed in the unoccupied PCIe slot; and the host processing system is configured to allocate addressing resources for the at least one PCIe device that is not yet installed in the unoccupied PCIe slot. 18. The computing system of claim 17 , wherein the plurality of PCIe devices comprises a data storage device. 19. The computing system of claim 17 , wherein the plurality of PCIe devices comprises a graphics processing unit. 20. The computing system of claim 17 , wherein the PCIe switch is further configured to: receive a write comman

Assignees

Inventors

Classifications

  • on a serial bus, e.g. I2C bus, SPI bus (on daisy chain buses G06F13/4247) · CPC title

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

  • using an embedded synchronisation · CPC title

  • PCI express · 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 US10824581B2 cover?
Described herein are enhancements for managing multi-host Peripheral Component Interconnect Express (PCIe) switching. In one implementation, a PCIe switch coupled to a host processing system and PCIe slots may receive enumeration requests from the host processing system to identify available PCIe devices. In response to the enumeration requests, the PCIe switch may transfer responses to the hos…
Who is the assignee on this patent?
Western Digital Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F13/4282. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 03 2020 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 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).