Reserved slots in PowerBus attached units for off-chip traffic to reduce link congestion due to retries
Publication Date: 2015-Jan-30
The IP.com Prior Art Database
In a typical retry based bus protcol system, a retry request recieved by an agent is the major contributor in degrading the bus utilization, since the command has to be now reissued. This is especially true in the case of bus agents who are non local to the chip and are dependent on high speed links to propogate their system scope command requests. A lot of retries to off chip command requests can quickly lead to link congestion. This paper looks at a way to bring down the link congestion by introducing reservation slots for off chip command requests.
Page 01 of 6
Reserved slots in PowerBus attached units for off -chip traffic to reduce link congestion due to retries
In a typical retry based bus protocol system, a retry is received by a requestor for it's data request command due to the unavailability of the servicing bus agent. This is usually due to the input command queues being swamped by too many requests. A retry request results in the command being retried and further degrading the bus utilization. This degradation of utilization is more pronounced at multi-chip/system level (refer fig 0 and fig 1)command requests as the command have to make use of a high-speed link to get to the chip where it may unfortunately
get rejected. This results in degradation of the link efficiency, link congestion and power wastage.
This article deals with how best to reduce the effect of retries in a multi-chip system.
In a retry based system, the penalty for retries increases exponentially in the event that the command came from a requestor residing off-chip. Keeping this in mind, the idea would be to some how reduce the retries seen by commands that come from off-chip bus agents. The solution presented here is to have reservation slots in bus agent input command queues for off-chip request. As an example, let us look at the memory controller (fig 3) as the agent that has to service a request and an on-chip and off-chip processors as requestor's competing among themselves to get serviced. Each Memory controller has a read/write command queue maintained internally to receive the commands that would be serviced. When this queue becomes full, the
Page 02 of 6
Memory Controller can no longer receive anymore commands. Any further commands that come become retries to the requesting agent. When the commands being retried have an off-chip processor core as the requestor, this results in wasted link bandwidth and power in addition to the PowerBus bandwidth wastage that happen even for thr on-chip requestors. Hence it is clear that this penalty has to be reduced to reduce the cost of incurring a retry due to resource being full.
The proposal is to have reservation slots for off-chip commands in the read/write command queue in every Memory Controller. This helps in giving priority to off-chip requests thereby reducing the "higher penalty off-chip retries" in the system. This ideally increases the link utilization and leads to better bandwidth efficiency. The number of reserved slots is of essence.
The workloads on a large multi-chip system often tend to be dynamic in nature. Workloads may migrate acr...