IP Library Granted Patent US 7,565,463
Granted Patent B2
US 7,565,463 · App. 11/291,263 · Granted Jul 21, 2009

Scalable routing and addressing

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,565,463
App. No.
11/291,263
Granted
Jul 21, 2009
Kind
B2
Abstract

PCI Express transactions can be transmitted via a shared PCI Express infrastructure. At an infrastructure ingress point an additional header comprising at least a source identifier and a target identifier is generated for a transaction packet that comprises a header portion, a data portion and an end-to-end CRC portion. The transaction packet is then transmitted with the additional header from the ingress point to an egress point. At the egress point the additional header is removed. The additional header can further include a resource key. It can further include protection information such as a CRC.

Claims (24)

1. A method of routing transactions via a shared infrastructure, the method comprising:

at a first infrastructure point, generating an additional header packet comprising at least a source identifier and a target identifier for a transaction packet that comprises a header portion, a data portion and an end-to-end cyclic redundancy check (CRC) portion, wherein the additional header packet is generated as a packet separate from the transaction packet;

routing the transaction packet with the additional header packet from the first infrastructure point to a second point based on the routing information in the additional header packet, wherein the transaction packet is transmitted after the additional header packet and separately from the additional header packet, wherein an intermediate point is configured to route the transaction packet following the additional header packet based on the routing information in the additional header packet; and

at the second point, removing the additional header packet.

2. The method of claim 1 , wherein the additional header further includes at least one of:

a resource key; and

protection information.

3. The method of claim 2 , wherein the additional header includes a resource key that identifies access rights for a target resource.

4. The method of claim 2 , wherein the additional header includes protection information in the form of a CRC.

5. The method of claim 1 , wherein the additional header packet associated with the transaction packet is transmitted immediately prior to that transaction packet.

6. The method of claim 5 , wherein a port in the infrastructure is operable, on receipt of the additional header packet, to expect the transaction packet associated therewith as a next packet to be received.

7. The method of claim 1 , wherein the source identifier for the transaction packet is generated as a mapping of a requestor ID of the header portion of the transaction packet.

8. The method of claim 1 , wherein the target identifier for the transaction packet is generated as a mapping of the content of an address field of the header portion of the transaction packet.

9. The method of claim 1 , wherein the first infrastructure point is an ingress port of an interconnect apparatus.

10. The method of claim 9 , wherein the interconnect apparatus is a switch.

11. The method of claim 1 , wherein the first infrastructure point is a root complex.

12. The method of claim 1 , wherein the shared infrastructure is a shared Peripheral Component Interconnect (PCI) Express infrastructure and the transaction packet is a transaction layer packet.

13. An interconnect apparatus for a shared infrastructure, the interconnect apparatus comprising an additional header packet generator, the additional header packet generator being operable to receive a transaction packet including a header portion, a data portion and an end-to-end cyclic redundancy check (CRC) portion, the additional header packet generator being further operable to generate an additional header packet for the transaction packet, which additional header packet comprises at least a source identifier and a target identifier, wherein the additional header packet is generated as a packet separated from the transaction packet, wherein the transactional packet is transmitted after the additional header packet and separately from the header packet, and wherein an intermediate point is configured to route the transaction packet following the additional header packet based on the routing information in the additional header packet.

14. The interconnect apparatus of claim 13 , wherein the additional header packet associated with the transaction packet is for transmission immediately prior to that transaction packet.

15. The interconnect apparatus of claim 13 , wherein the additional header generator is operable to generate the additional header as a packet that carries the transaction packet.

16. The interconnect apparatus of claim 13 , comprising an ingress port, the additional header generator forming part of the ingress port.

17. The interconnect apparatus of claim 13 , wherein the interconnect apparatus is in the form of a switch.

18. The interconnect apparatus of claim 13 , wherein the interconnect apparatus supports a shared Peripheral Component Interconnect (PCI) Express infrastructure.

19. A computer system comprising, at an infrastructure ingress point, an additional header packet generator, the additional header packet generator being configured to receive a transaction packet including a header portion, a data portion and an end-to-end cyclic redundancy check (CRC) portion, the additional header packet generator being further configured to generate an additional header packet for the transaction packet, which additional header packet comprises at least a source identifier and a target identifier, wherein the additional header packet is generated as a packet separated from the transaction packet, wherein the transactional packet is transmitted after the additional header packet, and wherein an intermediate point is configured to route the transaction packet following the additional header packet based on the routing information in the additional header packet.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037304/0183 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2005
From: JOHNSEN, BJORN DAG; TORUDBAKKEN, OLA
To: SUN MICROSYSTEMS, INC.
Reel/Frame 017149/0912 →