IP Library Granted Patent US 7,174,413
Granted Patent B2
US 7,174,413 · App. 11/278,417 · Granted Feb 6, 2007

Switching apparatus and method for providing shared I/O within a load-store fabric

View Patent ↗
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 7,174,413
App. No.
11/278,417
Granted
Feb 6, 2007
Kind
B2
Abstract

A method enabling I/O devices to be shared among multiple operating system domains, including first communicating with each of the operating system domains according to a protocol that provides exclusively for a single system domain ithin the load-store fabric; and second communicating with the shared I/O endpoint according to a variant of the protocol to enable the shared I/O endpoint to associate a prescribed operation with a corresponding one of the independent operating system domains. The second communicating includes encapsulating an OS domain header within a transaction layer packet that otherwise comports with the protocol, wherein the value of the OS domain header designates the corresponding one of the operating system domains; and via core logic within a swithching apparatus, mapping the independent operating system domains to the shared I/O endpoint.

Claims (29)

1. A method for interconnecting independent operating system domains to a shared I/O endpoint within a load-store fabric, comprising:

via first ports, first communicating with each of the independent operating system domains according to a protocol that provides exclusively for a single operating system domain within the load-store fabric;

via a second port, second communicating with the shared I/O endpoint according to a variant of the protocol to enable the shared I/O endpoint to associate a prescribed operation with a corresponding one of the independent operating system domains, said second communicating comprising:

encapsulating an OS domain header within a transaction layer packet that otherwise comports with the protocol, wherein the value of the OS domain header designates the corresponding one of the operating system domains; and

via core logic within a switching apparatus, mapping the independent operating system domains to the shared I/O endpoint.

2. The method as recited in claim 1 , further comprising:

over the load-store fabric, first interconnecting the independent operating system domains to the switching apparatus via the first ports; and

over the load-store fabric, second interconnecting the shared I/O endpoint to the switching apparatus via the second port.

3. The method as recited in claim 1 , wherein said first communicating comprises:

associating each of the operating system domains with a corresponding root complex.

4. The method as recited in claim 1 , wherein said first communicating comprises:

employing PCI Express as the protocol.

5. The method as recited in claim 4 , wherein said mapping comprises:

isolating transactions over a plurality of PCI Express bus hierarchies according to each of the operating system domains.

6. The method as recited in claim 5 , wherein said mapping further comprises:

routing the transactions in accordance with addressing mechanisms for a particular one of the plurality of PCI Express bus hierarchies, the particular one of said plurality of PCI Express bus hierarchies corresponding to the corresponding one of the operating system domains.

7. The method as recited in claim 1 , wherein said second communicating further comprises:

routing the transaction layer packet between the second port and the shared I/O endpoint.

8. The method as recited in claim 7 , wherein said second communicating further comprises:

within the I/O endpoint, detecting the OS domain header; and

performing the prescribed operation according to the protocol, wherein said

performing is accomplished exclusively for the corresponding one of the operating system domains.

9. The method as recited in claim 1 , wherein said second communicating comprises:

within the shared I/O endpoint, designating a transaction for a particular one of the operating system domains by embedding an OS domain header within a transaction layer packet; and

first transmitting the transaction layer packet to the second port.

10. The method as recited in claim 9 , wherein said second communicating comprises:

within the switching apparatus, detecting and removing the OS domain header from the transaction layer packet.

11. The method as recited in claim 10 , wherein said first communicating comprises:

second transmitting the transaction layer packet to the particular one of the operating system domains according to the protocol.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047422 FRAME: 0464. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 6, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048883/0702 →
MERGER Recorded Oct 5, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047422/0464 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2015
From: EMULEX CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 036942/0213 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2014
From: EMULEX DESIGN AND MANUFACTURING CORPORATION
To: EMULEX CORPORATION
Reel/Frame 032087/0842 →