US2009157919A1PendingUtilityA1

Read control in a computer i/o interconnect

42
Assignee: PLX TECHNOLOGY INCPriority: Dec 18, 2007Filed: Apr 18, 2008Published: Jun 18, 2009
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-modified
1 . 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.