Patent ID: 7493426

Claim:
A method for communicating between multiple components of a digital data device, comprising: defining a flow control protocol for at least one communications bus coupled to said multiple components of said digital data device, said flow control protocol providing independent flow control for each of a plurality of defined channels, wherein a respective discrete subset of at least one buffer for buffering said bus transactions is allocated to each said channel for use as a respective FIFO queue controlled according to said flow control protocol, each respective FIFO queue holding a respective plurality of bus transactions transmissible on said at least one communications bus, said flow control protocol further providing channel prioritization according to a plurality of programmable channel attributes, said channel attributes including, for each of a plurality of pairs of channels along a path between a pair of said multiple components, separate respective data identifying circumstances under which bus transactions in a first channel of the respective pair pass bus transactions in a second channel of the respective pair; programmatically defining at least some of said plurality of channel attributes; assigning a respective channel of said plurality of channels to each of a plurality of said bus transactions for transmission on said at least one communication bus; wherein said channel prioritization causes at least some bus transactions to pass other respective bus transactions assigned to different respective channels according to said plurality of programmable channel attributes; selecting bus transactions for transmission on said at least one communications bus according to said flow control protocol.