IP Library Granted Patent US 7,424,566
Granted Patent B2
US 7,424,566 · App. 11/280,152 · Granted Sep 9, 2008

Method, system, and apparatus for dynamic buffer space allocation

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,424,566
App. No.
11/280,152
Granted
Sep 9, 2008
Kind
B2
Abstract

An interconnect apparatus provides for the buffering of information in respective transaction buffers according to transaction type. An additional buffer is dynamically assignable to one of the transaction buffers where additional capacity is required by that transaction buffer.

Claims (18)

1. An interconnect apparatus comprising a transaction buffer mechanism including a plurality of transaction buffers, each transaction buffer being operable to buffer transaction packets of a respective type, and a reserve buffer shared between the plurality of transaction buffers, wherein when a transaction buffer is full of buffered transaction packets or when the transaction buffer is not full of buffered transaction packets but the transaction buffer mechanism determines that the transaction buffer may become full of buffered transaction packets, the transaction buffer mechanism is configured to dynamically assign the reserve buffer to the full transaction buffer to store subsequently arriving transaction packets for the full transaction buffer.

2. The interconnect apparatus of claim 1 , wherein one transaction buffer is operable to buffer posted transaction packets.

3. The interconnect apparatus of claim 1 , wherein one transaction buffer is operable to buffer non-posted transaction packets.

4. The interconnect apparatus of claim 1 , wherein one transaction buffer is operable to buffer completion transaction packets.

5. The interconnect apparatus of claim 1 , wherein each transaction buffer has a size insufficient to support streaming of packets, but wherein a combination of the capacity of a transaction buffer and the reserve buffer when assigned thereto is sufficient to support packet streaming.

6. The interconnect apparatus of claim 1 , comprising control logic for allocating the reserve buffer to a transaction buffer where additional capacity is required by that transaction buffer.

7. The interconnect apparatus of claim 1 , comprising control logic for allocating the reserve buffer to a transaction buffer in response to detecting a packet streaming condition.

8. The interconnect apparatus of claim 1 , wherein the control logic is configured to report the allocation of the reserve buffer to a transaction buffer as a release of credit for that transaction buffer.

9. The interconnect apparatus of claim 1 , operable under a PCI Express protocol.

10. The interconnect apparatus of claim 1 , wherein the interconnect apparatus comprises a switch.

11. The interconnect apparatus of claim 1 in the form of an integrated circuit.

12. A computer system comprising a transaction buffer mechanism including a plurality of transaction buffers, each transaction buffer being operable to buffer transaction packets of a respective type, and a reserve buffer shared between the plurality of transaction buffers, wherein when a transaction buffer is full of buffered transaction packets or when the transaction buffer is not full of buffered transaction packets but the transaction buffer mechanism determines that the transaction buffer may become full of buffered transaction packets, the transaction buffer mechanism is configured to dynamically assign the reserve buffer to the full transaction buffer to store subsequently arriving transaction packets for the full transaction buffer.

13. A method of operating an interconnect apparatus comprising a transaction buffer mechanism including a plurality of transaction buffers, the method comprising each transaction buffer buffering transaction packets of a respective type, and when a transaction buffer is full of buffered transaction packets or when the transaction buffer is not full of buffered transaction packets but the transaction buffer may become full of buffered transaction packets, dynamically assigning a reserve buffer that is shared among the transaction buffers to the full transaction buffer to store subsequently arriving transaction packets for the full transaction buffer.

14. The method of claim 13 , wherein posted transactions are buffered in a first transaction buffer, non-posted transaction packets are buffered in a second transaction buffer, and completed transaction packets are buffered in a third transaction buffer.

15. The method of claim 13 , wherein each transaction buffer has a size insufficient to support streaming of packets, but wherein a combination of the capacity of a transaction buffer and the reserve buffer when assigned thereto is sufficient to support packet streaming.

16. The method of claim 13 , wherein the reserve buffer is allocated to a transaction buffer in response to detecting a packet streaming condition.

17. The method of claim 13 , wherein the allocation of the reserve buffer to a transaction buffer appears to external devices as a release of credit for that transaction buffer.

18. The method of claim 13 , operable under a PCI Express protocol.

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 037303/0349 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2005
From: MANULA, BRIAN EDWARD; SANDVEN, MAGNE VIGULF; BOZKAYA, ALI
To: SUN MICROSYSTEMS, INC.
Reel/Frame 017130/0023 →