Patent ID: 7496109

Claim:
A method, comprising: calculating a variation between an input data rate and a pre-determined output data rate, the input data rate being based on a number of data read requests, wherein calculating the variation comprises updating a counter value representative of the variation, wherein calculating the variation further comprises: determining a difference between a total bit group of data received from an input first-in-first-out (FIFO) and a pre-determined output data bus width; and subtracting the difference from the counter value to update the counter value; and compensating for the variation by modifying the number of data read requests, and wherein compensating for the variation comprises: masking a data read request to be transmitted to the input FIFO when the counter value is either equal to or less than a lower threshold value, wherein the lower threshold value is one of the negative value or positive value of the pre determined output data bus width; and generating an additional data read request to be transmitted to the input FIFO when the counter value is either equal to or greater than an upper threshold value, wherein the upper threshold value is the other one of the positive value or negative value of the pre-determined output data bus width.