IP Library Granted Patent US 7,734,847
Granted Patent B2
US 7,734,847 · App. 12/113,035 · Granted Jun 8, 2010

Apparatus to maximize buffer utilization in an I/O controller

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,734,847
App. No.
12/113,035
Granted
Jun 8, 2010
Kind
B2
Abstract

An apparatus and method for maximizing buffer utilization in an I/O controller using credit management logic contained within the I/O controller. The credit management logic keeps track of the number of memory credits available in the I/O controller and communicates to a chipset connected to the I/O controller the amount of available memory credits. The chipset may then send an amount of data to the I/O controller equivalent to or less than the communicated available amount of memory credits to reduce the occurrence of a “retry” event. The amount of available memory credits is determined by comparing the available memory in each buffer within the I/O controller and designating that the “available” amount of memory for the I/O controller is an amount equivalent to the amount of memory contained in the buffer with the least amount of available memory. This “available” amount of I/O controller memory may then be converted into memory credits and communicated to the chipset.

Claims (24)

1. An apparatus comprising:

credit management logic to communicate to a chipset an available amount of memory credits in an input/output (I/O) controller, the available amount of memory credits determined by a least amount of memory available in a plurality of buffers;

a first buffer of a first memory size in the plurality of buffers contained within the I/O controller coupled to, and in communication with the credit management logic; and

a second buffer of a second memory size in the plurality of buffers contained within the I/O controller coupled to, and in communication with the credit management logic.

2. The apparatus of claim 1 , wherein the first buffer and the second buffer are the same size.

3. The apparatus of claim 2 , wherein the first buffer and the second buffer are 64 bytes to 64 kilobytes in size.

4. The apparatus of claim 1 , wherein the first buffer and the second buffer are different sizes.

5. The apparatus of claim 4 , wherein the first buffer and the second buffer are 64 bytes to 64 kilobytes in size.

6. The apparatus of claim 1 , further comprising:

a transaction layer containing the credit management logic; and

an internal switch to divide data received from the chipset between one of the first buffer, the second buffer and both the first and second buffers.

7. The apparatus of claim 1 , wherein the I/O controller is one of a bridge, a switch, an endpoint and a root complex.

8. A system comprising:

a peripheral component interconnect (PCI) link;

a first input/output (I/O) bus;

a second I/O bus; and

an I/O controller coupled to the PCI link, the first I/O bus and the second I/O bus, the I/O controller comprising:

credit management logic to communicate to the PCI link an available amount of memory credits in the I/O controller, the available amount of memory credits determined by a least amount of memory available in a plurality of buffers,

a first buffer of a first memory size in the plurality of buffers coupled to and in communication with the credit management logic, the PCI link and the first I/O bus, and

a second buffer of a second memory size in the plurality of buffers couple to and in communication with the credit management logic, the PCI link and the second I/O bus.

9. The system of claim 8 , wherein the first buffer and the second buffer are the same size.

10. The system of claim 9 , wherein the first buffer and the second buffer are 64 bytes to 64 kilobytes in size.

11. The apparatus of claim 8 , wherein the first buffer and the second buffer are different sizes.

12. The apparatus of claim 11 , wherein the first buffer and the second buffer are 64 bytes to 64 kilobytes in size.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2022
From: INTEL CORPORATION
To: TAHOE RESEARCH, LTD.
Reel/Frame 061175/0176 →