US2009157919A1PendingUtilityA1
Read control in a computer i/o interconnect
Est. expiryDec 18, 2027(~1.4 yrs left)· nominal 20-yr term from priority
G06F 13/385G06F 13/4022
42
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
In one embodiment, a method for controlling reads in a computer input/output (I/O) interconnect is provided. A read request is received over the computer I/O interconnect from a first device, the request requesting data of a first size. Then it is determined whether fulfilling the read request would cause the total size of a completion queue to exceed a first predefined threshold. If fulfilling the read request would cause the total size of the completion queue to exceed the first predefined threshold, then the read request is temporarily restricted from being forwarded upstream
Claims
exact text as granted — not AI-modified1 . A method for controlling reads in a computer input/output (I/O) interconnect, the method comprising:
receiving a read request over the computer I/O interconnect from a first device, the request requesting data of a first size; determining whether fulfilling the read request would cause the total size of a completion queue to exceed a first predefined threshold; and temporarily restricting the read request from being forwarded upstream if fulfilling the read request would cause the total size of the completion queue to exceed the first predefined threshold.
2 . The method of claim 1 , wherein the determining includes adding the first size to a read counter and comparing the read counter to the first predetermined threshold.
3 . The method of claim 2 , further comprising, if fulfilling the read request would not cause the total size of the completion queue to exceed the first predefined threshold:
forwarding the read request upstream; and adding the first size to the read counter.
4 . The method of claim 3 , further comprising:
when the read request is fulfilled, subtracting the first size from the read counter.
5 . The method of claim 1 , wherein the method is performed in a root complex.
6 . The method of claim 1 , wherein the first predetermined threshold is set based on a size of memory available for the completion queue and a typical round trip time from read to completion from the upstream read request queue.
7 . The method of claim 1 , wherein the method is performed in a switch.
8 . The method of claim 7 , wherein the first predetermined threshold is determined by dividing the memory size available for the completion queue by the number of ports of the switch that are connected to aggressive reading devices.
9 . The method of claim 1 , wherein the method is performed in a memory controller.
10 . The method of claim 1 , further comprising:
receiving a read request over the computer I/O interconnect from a second device; determining whether fulfilling the read request from the second would cause the total size of the completion queue to exceed a first predefined threshold; and if the read request from the second device would not cause the total size of the completion queue to exceed the first predefined threshold, determining if forwarding the read request upstream would cause the rate at which read requests are forwarded upstream to exceed a drain rate of the completion queue by more than a second predefined threshold; and temporarily restricting the read request from the second device from being forwarded upstream if forwarding the read request from the second device upstream would cause the rate at which read requests are forwarded upstream to exceed a drain rate of the completion queue by more than the second predefined threshold.
11 . The method of claim 10 , wherein the second predefined threshold is expressed as a multiplication factor between the rate at which read requests are forwarded upstream and the drain rate of the completion queue.
12 . A method for controlling reads in a computer I/O interconnect, the method comprising:
receiving a read request over the computer I/O interconnect from a first device; determining if forwarding the read request upstream would cause the rate at which read requests are forwarded upstream to exceed a drain rate of a completion queue by more than a predefined threshold; and temporarily restricting the read request from being forwarded upstream if forwarding the read request upstream would cause the rate at which read requests are forwarded upstream to exceed a drain rate of the completion queue by more than the predefined threshold.
13 . The method of claim 12 , wherein the predefined threshold is expressed as a multiplication factor between the rate at which read requests are forwarded upstream and the drain rate of the completion queue.
14 . A system comprising:
an interface; and one or more components configured to:
receive a read request over the computer I/O interconnect from a first device, the request requesting data of a first size;
determine whether fulfilling the read request would cause the total size of a completion queue to exceed a first predefined threshold; and
temporarily restrict the read request from being forwarded upstream if fulfilling the read request would cause the total size of the completion queue to exceed the first predefined threshold.
15 . The system of claim 14 , further comprising:
a switch; a root complex coupled to the switch; a memory controller coupled to the root complex; and a memory coupled to the memory controller.
16 . The system of claim 15 , wherein the one or more components are located in the memory controller.
17 . The system of claim 15 , wherein the one or more components are located in the root complex.
18 . The system of claim 15 , wherein the one or more components are located in the switch.
19 . A system comprising:
an interface; and one or more processors configured to:
receive a read request over the computer I/O interconnect from a first device;
determine if forwarding the read request upstream would cause the rate at which read requests are forwarded upstream to exceed a drain rate of a completion queue by more than a predefined threshold; and
temporarily restrict the read request from being forwarded upstream if forwarding the read request upstream would cause the rate at which read requests are forwarded upstream to exceed a drain rate of the completion queue by more than the predefined threshold.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.