Patent ID: 7457888

Claim:
A method of delivering data from a data input to a data output within a system, comprising selecting a system performance parameter to be optimized in a system that allows data to be delivered in at least three different modes, receiving at the data input a sequence of discrete data words, determining an optimum mode of delivery of the data words to the data output so as to optimize the selected performance parameter, and delivering the data words from the data input to the data output in the determined optimum mode, wherein: when the selected performance parameter to be optimized is latency, the optimum mode comprises delivering each data word immediately after the data word is received at the data input; when the selected performance parameter to be optimized is bandwidth, the optimum mode comprises holding at least one of the data words first received at the data input in storage until additional data words comprising the data packet are received at the data input, delivering the data words from storage to the data output as the additional data words comprising the data packet are received at the data input with minimal time gaps between the data words, and delivering the additional data words directly from the data input to the data output immediately after the additional data words are received at the data input; and when the performance parameter to be optimized is safety, the optimum mode comprises holding each of the data words received in storage until all data words comprising the data packet have been received, and delivering the data words from storage to the data output with no time gaps between the data words.