A system and method are disclosed for managing timeout in latency-critical systems. The method uses a global running timer by which each transaction is given a deadline when it enters the queue, calculated as: deadline = current time + timeout threshold of its QoS (quality of service). The deadline is stored with the corresponding transaction. The total trackable time is divided into 4 quadrants by its 2 most significant bits (MSB). Time wrapping beyond the saturation point is tracked separately from total trackable time. For transactions with deadlines behind the current time but ahead of the saturation point, their deadlines have expired, and these transactions are treated with highest priority. For transactions having deadlines ahead of the current time, their deadlines have not expired, and these transactions can be dispatched according to the bandwidth requirements for access. The current time is incremented at every clock cycle in a continuous progression. This method tracks deadlines of individual pending transactions using less power and cost than prior methods.
Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.
Yu, Shu-Yi, "Timeout Mechanism For Latency-Critical Systems", Technical Disclosure Commons, (December 07, 2017)