Appeal No. 2007-0340 Application 10/057,259 first client 420 to proceed with its task (id. at 16:15-18. The fill code can constitute a notification to first client 420 that second client 430 failed to substantially provide the requested data (id. at 16:18-20). A timer 450 is used to determine how long a client has been idle (id. at 16:22-23). This timer can be a free-running timer that cycles away from a zero- point and back again approximately once during a predetermined period approximately equal to the latency period (id. at 17:2). As shown in the flow chart of Figure 5, if the timer detects (at 520) an entry in one of locations 410(l-m), it examines (at 550) the corresponding first timer flag 413(1-m) (id. at 405). If first timer flag 412(1-m) is not already in the set state, it is set by the timer (at 560) (id. at 5-7). If the first timer flag 412(1-m) has already been set, the timer sets (at 570) the second timer flag 413(1-m), thereby indicating that the corresponding data transaction may have been idle for substantially more than one timer cycle (id. at 18:8-13). Returning to Figure 4, each pair of first and second timer flags 413(1-m) and 414(1-m) is monitored by a corresponding logic gate 460(1-m), which asserts a positive signal whenever both flags have been set (id. at 18:17-20). The outputs of logic gates 460(1-m) are monitored by a multiplexer 470 and an arbiter 480 (Fig. 4). As shown in the flow chart of Figure 6, if multiplexer 470 detects (at 610) a positive assertion from first logic gate 460(1), the multiplexer transmits a positive assertion to the fill-code generator 490, which may then initiate (at 625) a data time-out sequence, such as creating (at 630) fill code to replace the data requested by first client 420 (id. at 19:4-10). 3Page: Previous 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Next
Last modified: September 9, 2013