Method and apparatus for extending PCIe domain

US9690739B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9690739-B2
Application numberUS-201514752099-A
CountryUS
Kind codeB2
Filing dateJun 26, 2015
Priority dateDec 31, 2013
Publication dateJun 27, 2017
Grant dateJun 27, 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 method for extending a Peripheral Component Interconnect Express (PCIe) domain. A configuration space address can be allocated to a PCIe device in an extended domain from a memory address of a root complex endpoint device, a correspondence between the configuration space address and a bus number/device number/function number (BDF) can be established, and a bus number can be allocated from a second bus set of the extended domain to a PCIe device discovered in the extended domain, where the bus number is used for determining the BDF of the PCIe device discovered in the extended domain, so as to access, according to the correspondence between the configuration space address and the BDF and by using the BDF of the PCIe device discovered in the extended domain, a configuration space register of the PCIe device discovered in the extended domain.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for extending a Peripheral Component Interconnect Express (PCIe) domain, wherein the method is implemented in a system comprising a primary domain and an extended domain, wherein the primary domain comprises a first root complex and a first PCIe device, wherein the first PCIe device in the primary domain has a first bus set, wherein the extended domain comprises a root complex endpoint device and a second PCIe device, wherein the second PCIe device in the extended domain has a second bus set, wherein the first bus set is different from the second bus set, wherein the root complex endpoint device comprises the first PCIe device in the primary domain and a second root complex in the extended domain, and wherein the method comprises: allocating a configuration space address to the second PCIe device in the extended domain from a memory address of the root complex endpoint device; establishing a correspondence between the configuration space address and a bus number/device number/function number (BDF); and allocating, from the second bus set, a bus number to the second PCIe device discovered in the extended domain, wherein the bus number is used for determining the BDF of the second PCIe device discovered in the extended domain so as to implement, according to the correspondence between the configuration space address and the BDF and by using the BDF of the second PCIe device discovered in the extended domain, configuration space access of the second PCIe device discovered in the extended domain. 2. The method according to claim 1 , wherein the method further comprises: allocating, from the memory address of the root complex endpoint device, a first memory-mapped input/output address to the second PCIe device discovered in the extended domain; and allocating, according to the first memory-mapped input/output address, a second memory-mapped input/output address to the second PCIe device discovered in the extended domain, so as to implement, according to a mapping between the first memory-mapped input/output address and the second memory-mapped input/output address, memory-mapped input/output access of the second PCIe device discovered in the extended domain. 3. The method according to claim 2 , wherein the allocating, according to the first memory-mapped input/output address, a second memory-mapped input/output address to the second PCIe device discovered in the extended domain comprises: establishing the mapping between the first memory-mapped input/output address and the second memory-mapped input/output address; and allocating, according to the mapping between the first memory-mapped input/output address and the second memory-mapped input/output address, the second memory-mapped input/output address to the second PCIe device discovered in the extended domain. 4. The method according to claim 3 , wherein the method further comprises determining a size of a base address register of the second PCIe device discovered in the extended domain, wherein allocating the first memory-mapped input/output address to the second PCIe device discovered in the extended domain comprises allocating, according to the size of the base address register of the second PCIe device discovered in the extended domain, the first memory-mapped input/output address to the second PCIe device discovered in the extended domain. 5. The method according to claim 3 , wherein the method further comprises: establishing and saving a correspondence between an identifier of the second PCIe device discovered in the extended domain and the first memory-mapped input/output address of the second PCIe device discovered in the extended domain, so as to obtain, according to the identifier of the second PCIe device discovered in the extended domain, the first memory-mapped input/output address of the second PCIe device discovered in the extended domain, to perform memory-mapped input/output access. 6. The method according to claim 1 , wherein the method further comprises: allocating a first message signaled interrupts address to the second PCIe device in the extended domain from the memory address of the root complex endpoint device; and allocating a second message signaled interrupts address to the second PCIe device in the extended domain according to the first message signaled interrupts address, so as to implement message signaled interrupts access of the second PCIe device in the extended domain according to a mapping between the first message signaled interrupts address and the second message signaled interrupts address. 7. The method according to claim 1 , wherein the method further comprises: allocating a first direct memory access address to the second PCIe device in the extended domain from the memory address of the root complex endpoint device; and allocating a second direct memory access address to the second PCIe device in the extended domain according to the first direct memory access address, so as to implement direct memory access of the second PCIe device in the extended domain according to a mapping between the first direct memory access address and the second direct memory access address. 8. A method for accessing a Peripheral Component Interconnect Express (PCIe) domain, wherein the method is implemented in a system comprising a primary domain and an extended domain, wherein the primary domain comprises a first root complex and a first PCIe device, wherein the first PCIe device in the primary domain has a first bus set, wherein the extended domain comprises a root complex endpoint device and a second PCIe device, wherein the second PCIe device in the extended domain has a second bus set, wherein the first bus set is different from the second bus set, and wherein the root complex endpoint device comprises the PCIe device in the primary domain and a second root complex in the extended domain, and wherein the method comprises: receiving, by the root complex endpoint device, an access packet, wherein the access packet is a packet for mutual communication between the primary domain and the extended domain, and wherein the access packet carries a message body and an access target address; performing, by the root complex endpoint device, address translation on the access target address according to an address mapping to obtain a translated access target address, wherein the address mapping is pre-saved in the root complex endpoint device; and sending, by the root complex endpoint device, an analog access packet corresponding to the access packet, wherein the analog access packet carries the message body and the translated access target address. 9. The method according to claim 8 , wherein the access target address is a configuration space address of the second PCIe device in the extended domain, wherein the address mapping is a correspondence between the configuration space address and a bus number/device number/function number BDF of the second PCIe device in the extended domain, and wherein performing, by the root complex endpoint device, the address translation on the access target address according to the address mapping, to obtain the translated access target address comprises performing, by the root complex endpoint device, address translation on the configuration space address of the second PCIe device in the extended domain according to the correspondence between the configuration space address and the BDF of the second PCIe device in the extended domain, to obtain the BDF of the second PCIe device in the extended domain. 10. The method according to claim 8 , wherein the access target address is a first memory-mapped input/output address of the second PCIe device in the extended domain, wherein the address mapping is

Assignees

Inventors

Classifications

  • with address mapping · CPC title

  • Peripheral component interconnect [PCI] · CPC title

  • PCI express · CPC title

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

  • where the bus bridge performs an extender function · 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 US9690739B2 cover?
A method for extending a Peripheral Component Interconnect Express (PCIe) domain. A configuration space address can be allocated to a PCIe device in an extended domain from a memory address of a root complex endpoint device, a correspondence between the configuration space address and a bus number/device number/function number (BDF) can be established, and a bus number can be allocated from a s…
Who is the assignee on this patent?
Huawei Tech Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F13/4045. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 27 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).