| CPC G06F 3/0659 (2013.01) [G06F 3/0604 (2013.01); G06F 3/0679 (2013.01)] | 14 Claims |

|
10. A controller, configured to:
measure a length of a temporal gap between a first read burst and a second read burst from a memory of a storage device, wherein the first read burst and the second read burst are consecutive, the first read burst is in response to a first read command received by the memory and the second read burst is in response to a second read command received by the memory;
generate a state code according to the length, wherein the state code has a first value when the length is zero, a second value when the length is equal to or shorter than a threshold time length but is non-zero, and a third value when the length is greater than the threshold time length; and
control output of a differential receiver in the storage device according to the state code;
wherein the controller comprises a counter configured to count the time period, the output is from a differential receiver in the storage device, and the controller is further configured to: at each toggling of an input of the differential receiver, set the counter to a next count value based on the state code and a current count value of the counter,
wherein (A) the next count value is a length of the second read burst when the current count value is a first predefined number and the state code has the first value; (B) the next count value is the length of the second read burst plus the fixed threshold time length when the current count value is the first predefined number and the state code has the second value; (C) the next count value is a second predefined number when the current count value is the first predefined number and the state code has the third value; (D) the next count value is the length of the second read burst when the current count value is the second predefined number; and (E) the next count value is the current count value minus a step, when the current count value is neither the first predefined number nor the second predefined number;
wherein the time period begins at the end of the first read burst and ends when the next count value is not greater than the length of the second read burst and does not equal the second predefined number.
|