IDT Switch Core
Notes
PES64H16G2 User Manual
If read requests are injected sporadically or at a low rate, then buffering within the switch may be used to
accommodate short lived contention and allow completions to endpoints to proceed without interfering. If
read requests are injected at a high rate, then no amount of buffering in the switch will prevent completions
from interfering.
PCIe has no end-to-end QoS mechanisms. Therefore, it is common for Endpoints to be designed to
inject requests into a fabric at high rates. Request metering is a congestion avoidance mechanism that
limits the request injection rate into a fabric. Although this example illustrates the effect of a static rate
mismatch in an I/O connectivity application, similar situations may occur in system interconnect applica-
tions.
The request metering operation is illustrated Figure 3.4. Figure 3.4(a) shows requests injection without
request metering. Figure 3.4(b) shows requests injection with request metering. Request metering is imple-
mented by logic at the interface between the IFB and the switch core arbiter. When a request reaches the
head of the non-posted IFB queue, request metering logic examines the request and estimates the amount
of time that the associated completion TLPs will consume on the endpoint link (i.e., completion transfer
time). The request is then allowed to proceed and a timer is initiated with the estimated completion transfer
time. The next request from that IFB is not allowed to proceed until the timer has expired.
Time
Completion Transfer Time
Request
3
Time
Root
(x8)
Switch Core
Endpoint A
EFB
Endpoint A
Endpoint B
(x1)
Figure 3.3 PCIe Switch Static Rate Mismatch
Request
Request
Request
3
2
(a) Request Injection without Request Metering
Estimate of Request 2
Request
2
(b) Request Injection with Request Metering
Figure 3.4 PCIe Switch Static Rate Mismatch
3 - 9
Root Port
IFB
Endpoint B
EFB
(x8)
1
Estimate of Request 1
Completion Transfer Time
Request
1
April 5, 2013
Need help?
Do you have a question about the 89HPES64H16G2 and is the answer not in the manual?