IP Library Patent Application 14857355
Patent Application
App. No. 14/857,355

Peripheral Device Connection to Multiple Peripheral Hosts

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
14/857,355
Abstract

A communication system connects multiple host systems to a specific target device. As one example, the communication system may implement multiple peripheral component interface express (PCIe) bus links to the host systems that share a common downstream bus link to a specific target device. A multi-host bridge between the host systems and the specific target device may remap function requests from the host systems to unique function numbers, and may also perform flow control and other actions in support of communication between the multiple hosts and the specific target device.

Claims (83)

1 . A system comprising:

an upstream communication interface comprising:

a first host bus interface for a specific bus type, the first host bus interface configured to communicate with a first host system; and

a second host bus interface for the specific bus type, the second host bus interface configured to communicate with a second host system different than the first host system;

a downstream communication interface comprising:

a downstream device bus interface for the specific bus type, the downstream device bus interface configured to provide a downstream connection for the first host bus interface and the second host bus interface to a common instance of target device circuitry; and

communication circuitry between the upstream communication interface and the downstream communication interface, the communication circuitry configured to:

receive a first host request for a specific function number on the first host bus interface;

receive a second host request for the specific function number on the second host bus interface;

obtain a remapped host request by mapping the second host request to a different function number assigned to the second host system for the specific function number;

send the first host request to the target device circuitry; and

send the remapped host request to the target device circuitry.

2 . The system of claim 1 , where the communication circuitry is further configured to:

determine a range of device function numbers supported by the target device circuitry; and

store a mapping of the device function numbers to the first host bus interface and the second host bus interface.

3 . The system of claim 2 , where the mapping comprises:

a first sub-range of the device function numbers mapped to: the first host bus interface and a selected function range; and

a second sub-range of the device function numbers mapped to: the second host bus interface and also the selected function range.

4 . The system of claim 3 , where:

the first sub-range and the second sub-range are non-overlapping.

5 . The system of claim 1 , where the communication circuitry further comprises:

a first queue for the first host bus interface; and

a second queue for the second host bus interface.

6 . The system of claim 5 , where the communication circuitry is further configured to:

execute an arbitration between the first queue and the second queue for sending the first host request and the remapped host request to the target device circuitry.

7 . The system of claim 6 , where:

the arbitration comprises a weighted round-robin arbitration, with weights assigned responsive to bandwidth available to the first host bus interface and the second host bus interface.

8 . The system of claim 1 , where the communication circuitry is further configured to:

route a received device request received from the target device circuitry on the downstream communication interface to the upstream communication interface.

9 . The system of claim 8 , where the communication circuitry is further configured to:

obtain a remapped device request by mapping the received device request to: a different function number than originally specified with the device request, and to a specific one of the first host bus interface and second host bus interface.

10 . The system of claim 9 , where the communication circuitry is further configured to:

determine a range of device function numbers supported by the target device circuitry; and

store a mapping of the device function numbers to the first host bus interface and the second host bus interface.

11 . The system of claim 10 , where the mapping comprises:

a first sub-range of the device function numbers mapped to: the first host bus interface and a selected function range; and

a second sub-range of the device function numbers mapped to: the second host bus interface and also the selected function range.

12 . The system of claim 1 , where:

the specific bus type comprises peripheral component interconnect express (PCIe).

13 . A method comprising:

determining a range of device function numbers supported by a target device;

storing a mapping of the device function numbers to a first host bus interface and a second host bus interface, where the mapping comprises:

a first sub-range of the device function numbers mapped to: the first host bus interface and a selected function range; and

a second sub-range of the device function numbers mapped to: the second host bus interface and also the selected function range;

advertising the selected function range on the first host bus interface;

advertising the selected function range on the second host bus interface; and

directing host function requests received on the first host bus interface and the second host bus interface to the target device over a device bus interface.

14 . The method of claim 13 , further comprising:

directing a device function request received on the device bus interface to the first host bus interface or the second host bus interface, but not both.

15 . The method of claim 14 , further comprising:

determining a specified function number for the device function request; and

mapping the device function request to a mapped function number and to a specific host bus interface among the first and second host bus interfaces.

16 . The method of claim 15 , where mapping comprises:

mapping to the first host bus interface and retaining the specified function number unchanged as the mapped function number, when the specified function number is within the first sub-range.

17 . The method of claim 15 , where mapping comprises:

selecting the mapped function number from within the selected function range; and

mapping to the second host bus interface and changing the specified function number to the mapped function number, when the specified function number is within the second sub-range.

18 . The method of claim 13 , further comprising:

receiving a first host request for a specific function number within the selected function range on the first host bus interface;

receiving a second host request for the specific function number within the selected function range on the second host bus interface; and

obtaining a remapped host request by mapping the second host request to a different function number within the second sub-range; and

sending the first host request to the target device; and

sending the remapped host request to the target device.

19 . A system comprising:

an upstream communication interface comprising:

a first host bus interface for a specific bus type, the first host bus interface configured to communicate with a first host system; and

a second host bus interface for the specific bus type, the second host bus interface configured to communicate with a second host system different than the first host system;

a downstream communication interface comprising:

a downstream device bus interface for the specific bus type, the downstream device bus interface configured to provide a downstream connection for the first host bus interface and the second host bus interface to a common instance of target device circuitry;

downstream communication circuitry between the upstream communication interface and the downstream communication interface, the downstream communication circuitry configured to:

receive a first host request for a specific function number on the first host bus interface;

receive a second host request for the specific function number on the second host bus interface;

obtain a remapped host request by mapping the second host request to a different function number assigned to the second host system for the specific function number;

send the first host request to the target device circuitry;

send the remapped host request to the target device circuitry; and

upstream communication circuitry between the upstream communication interface and the downstream communication interface, the upstream circuitry configured to:

receive a device function request on the downstream communication interface; and

map the device function request to a selected host bus interface among the first host bus interface and the second host bus interface, and to the specific function number for the selected host bus interface.

20 . The system of claim 19 further comprising:

a mapping of device function numbers supported by the target device circuitry to the first host bus interface and the second host bus interface, where the mapping comprises:

a first sub-range of the device function numbers mapped to: the first host bus interface and a selected function range; and

a second sub-range of the device function numbers mapped to: the second host bus interface and also the selected function range;

the first and second sub-ranges replicating functionality provided by the selected function range.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE OF THE MERGER AND APPLICATION NOS. 13/237,550 AND 16/103,107 FROM THE MERGER PREVIOUSLY RECORDED ON REEL 047231 FRAME 0369. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 8, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048549/0113 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047231/0369 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2015
From: VERGHESE, SUSHIL PHILIP; KALIDINDI, SRIKRISHNA RAJU
To: BROADCOM CORPORATION
Reel/Frame 036597/0533 →