Patent ID: 7487267

Claim:
A method for managing dependencies between split command and data transactions comprising the steps of: receiving command transactions from a split-transaction serial link and writing the command transactions into a command array; receiving data transactions from the split-transaction serial link and writing the data transactions into a data array; defining a marker for marking both command transactions and data transactions including, when in a state for receiving commands, receiving a command, and writing the command into the command array unmarked; and receiving a data header, marking the data header and writing the data header into a data array and transitioning to a state for receiving data headers; said state for receiving commands being an initial state, when in said state for receiving data headers, receiving a data header, and writing the data header into a data array unmarked; and receiving a command, marking the command and writing the command into the command array, whereby a command is marked if the previous transaction written was a data header and transition to a state for receiving commands; and maintaining a marked command counter of each marked command sent to a command bus relative to sending marked data to a data bus including; providing a maximum counter value equal to a number of entries in the data array; providing an initial counter value of zero; and incrementing a count in the marked command counter with each marked command sent; and sending the marked data after each older command transaction has been sent.