Delivering interrupts through non-transparent bridges in a PCI-express network

US9645956B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9645956-B2
Application numberUS-201615287985-A
CountryUS
Kind codeB2
Filing dateOct 7, 2016
Priority dateNov 18, 2013
Publication dateMay 9, 2017
Grant dateMay 9, 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.

An apparatus for initialization. The apparatus includes a management I/O device controller for managing initialization of a plurality of I/O devices coupled to a PCI-Express (PCIe) fabric. The management I/O device controller is configured for receiving a request to register a target interrupt register address of a first worker computing resource, wherein the target interrupt register address is associated with a first interrupt generated by a first I/O device coupled to the PCIe fabric. A mapping module of the management I/O device controller is configured for mapping the target interrupt register address to a mapped interrupt register address of a domain in which the first I/O device resides. A translating interrupt register table includes a plurality of mapped interrupt register addresses in the domain that is associated with a plurality of target interrupt register addresses of a plurality of worker computing resources.

First claim

Opening claim text (preview).

The invention claimed is: 1. A management CPU in a PCI Express (PCIe) network, comprising: a memory; a processor for managing initialization of a plurality of I/O devices coupled to a PCIe fabric of the management CPU, wherein the PCIe fabric includes a non-transparent bridge (NTB) through which the PCIe fabric is coupled to a worker CPU of the PCIe network; the processor being configured to perform operations of: receiving a request from the worker CPU to enable a first I/O device in the PCIe fabric of the management CPU to send a first interrupt to the worker CPU, wherein the worker CPU has assigned a target interrupt register address for receiving the first interrupt; mapping the target interrupt register address to a mapped interrupt register address for use by the first I/O device in the PCIe fabric of the management CPU to sent the first interrupt to the worker CPU through the NTB; and sending an instruction to the first I/O device to register the mapped interrupt register address for the first interrupt in a I/O interrupt vector table of the first I/O device. 2. The management CPU of claim 1 , wherein the processor is further configured for determining, prior to sending the instruction to the first I/O device, whether space is available in the I/O interrupt vector table of the first I/O device for registering the mapped interrupt register address for the first interrupt. 3. The management CPU of claim 1 , wherein the processor is further configured for receiving from the worker CPU information related to a size of a target interrupt register of the worker CPU. 4. The management CPU of claim 1 , wherein the processor is further configured for sending an instruction to the I/O device to enable the first interrupt in the first I/O device, and sending a notification to the worker CPU indicating that the first interrupt has been enabled in the first I/O device. 5. The management CPU of claim 1 , wherein the first interrupt is a Message Signaled Interrupts eXtended (MSI-X) interrupt. 6. A PCI Express (PCIe) network, comprising: a management CPU; a worker CPU; a PCIe fabric of the management CPU, the PCIe fabric comprising a plurality of I/O devices and a non-transparent bridge (NTB) through which the PCIe fabric is coupled to the worker CPU; the management CPU is configured to perform operations of: receiving a request from the worker CPU to enable a first I/O device in the PCIe fabric of the management CPU to send a first interrupt to the worker CPU, wherein the worker CPU has assigned a target interrupt register address for receiving the first interrupt; mapping the target interrupt register address to a mapped interrupt register address for use by the first I/O device in the PCIe fabric of the management CPU to sent the first interrupt to the worker CPU through the NTB; and sending an instruction to the first I/O device to register the mapped interrupt register address for the first interrupt in a I/O interrupt vector table of the first I/O device. 7. The PCIe network of claim 6 , wherein the management CPU is further configured for determining, prior to sending the instruction to the first I/O device, whether space is available in the I/O interrupt vector table of the first I/O device for registering the mapped interrupt register address for the first interrupt. 8. The PCIe network of claim 6 , wherein the management CPU is further configured for receiving from the worker CPU information related to a size of a target interrupt register of the worker CPU. 9. The PCIe network of claim 6 , wherein the management CPU is further configured for sending an instruction to the I/O device to enable the first interrupt in the first I/O device, and sending a notification to the worker CPU indicating that the first interrupt has been enabled in the first I/O device. 10. The PCIe network of claim 6 , wherein the first interrupt is a Message Signaled Interrupts eXtended (MSI-X) interrupt. 11. A method performed by a management CPU in a PCI Express (PCIe) network, comprising: receiving a request from a worker CPU in the PCIe network to enable a first I/O device in a PCIe fabric of the management CPU to send a first interrupt to the worker CPU, wherein the PCIe fabric of the management CPU includes a non-transparent bridge (NTB) through which the PCIe fabric is coupled to the worker CPU, and wherein the worker CPU has assigned a target interrupt register address for receiving the first interrupt; mapping the target interrupt register address to a mapped interrupt register address for use by the first I/O device in the PCIe fabric of the management CPU to sent the first interrupt to the worker CPU through the NTB; and sending an instruction to the first I/O device to register the mapped interrupt register address for the first interrupt in a I/O interrupt vector table of the first I/O device. 12. The method of claim 11 , further comprising: determining, by the management CPU prior to sending the instruction to the first I/O device, whether space is available in the I/O interrupt vector table of the first I/O device for registering the mapped interrupt register address for the first interrupt. 13. The method of claim 11 , wherein the step of receiving the request from the worker CPU comprises receiving information related to a size of a target interrupt register of the worker CPU. 14. The method of claim 11 , further comprising: sending an instruction to the I/O device to enable the first interrupt in the first I/O device, and sending a notification to the worker CPU indicating that the first interrupt has been enabled in the first I/O device. 15. The method of claim 11 , wherein the first interrupt is a Message Signaled Interrupts eXtended (MSI-X) interrupt.

Assignees

Inventors

Classifications

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

  • G06F13/24Primary

    using interrupt (G06F13/32 takes precedence) · CPC title

  • with address mapping · CPC title

  • being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus · CPC title

  • Electrical coupling · 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 US9645956B2 cover?
An apparatus for initialization. The apparatus includes a management I/O device controller for managing initialization of a plurality of I/O devices coupled to a PCI-Express (PCIe) fabric. The management I/O device controller is configured for receiving a request to register a target interrupt register address of a first worker computing resource, wherein the target interrupt register address i…
Who is the assignee on this patent?
Futurewei Technologies Inc
What technology area does this patent fall under?
Primary CPC classification G06F13/24. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 09 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).