Claims
- 1. A method for generating transaction identifiers, comprising:
generating a plurality of available transaction identifiers for use in identifying future transactions from a first bus; generating a new transaction identifier upon receipt of each received transaction from the first bus; and assigning one of the available transaction identifiers to each received transaction prior to generation of the new transaction identifier so that the received transaction communicated on a second bus is identified by the one transaction identifier.
- 2. The method of claim 1, further comprising tabulating information of each received transaction and its assigned transaction identifier.
- 3. The method of claim 1, the step of assigning further comprising recording use of each assigned transaction identifier.
- 4. The method of claim 3, the step of recording comprising setting a bit array that specifies assigned transaction identifiers.
- 5. The method of claim 4, the steps of generating comprising determining unassigned transaction identifiers in the bit array.
- 6. The method of 5, further comprising storing the available transaction identifiers in one or more buffers, wherein the step of determining comprises the step of determining which of the available transaction identifiers are in the buffers.
- 7. The method of claim 6, further comprising the step of retiring the assigned transaction identifier when its received transaction expires.
- 8. The method of claim 1, further comprising the step of retiring the one transaction identifier when the received transaction expires.
- 9. The method of claim 8, the step of retiring comprising the step of clearing a bit in a bit array.
- 10. The method of claim 1, the steps of generating occurring in a first clock domain, the step of assigning occurring in a second clock domain, and further comprising the step of synchronizing signals from the first clock domain to the second clock domain, the signals specifying the available transaction identifiers.
- 11. The method of claim 1, the steps of generating occurring in a first clock domain, the step of assigning occurring in a second clock domain, and further comprising the step of synchronizing signals from the second clock domain to the first clock domain, the signals specifying a received transaction and its assigned transaction identifier.
- 12. A system for generating transaction identifiers, comprising:
a transaction processor for receiving transactions and assigning an available transaction identifier to each of the received transactions; and a transaction ID generator for generating two or more available transaction identifiers and tracking assigned transaction identifiers, the transaction ID generator being responsive to a new transaction signal to generate a next available transaction identifier.
- 13. The system of claim 12, the transaction ID generator tabulating assigned transaction identifiers with each associated received transaction.
- 14. The system of claim 12, the transaction ID generator operating within a first clock domain, the transaction processor operating within a second clock domain, and further comprising a synchronizer for synchronizing signals between the first clock domain and the second clock domain, the signals from the first clock domain to the second clock domain specifying the available transaction identifiers, and the signals from the second clock domain to the first clock domain specifying a received transaction and its assigned transaction identifier.
- 15. The system of claim 12, the transaction ID generator comprising a bit array for storing the assigned transaction identifiers.
- 16. The system of claim 15, further comprising at least two buffers for storing the available transaction identifiers.
- 17. The system of claim 16, further comprising a priority encoder for determining a next available transaction identifier based upon values of the assigned transaction identifiers stored in the the bit array and stored available transaction identifiers in the buffers.
- 18. The system of claim 15, further comprising means for clearing an assigned transaction identifier in the bit array when its associated transaction expires.
- 19. The system of claim 12, the transaction processor connected to a first bus and a second bus, the transaction processor and transaction ID generator cooperating such that received transactions from the first bus have assigned transaction identifiers when communicated on the second bus.
- 20. A chipset for communicating transactions from a first bus to a second bus, comprising:
means for generating a plurality of available transaction identifiers for use in identifying presently unreceived transactions from the first bus; means for generating a new transaction identifier upon receipt of each received transaction from the first bus; and means for assigning one of the available transaction identifiers to each received transaction prior to generation of the new transaction identifier so that the received transaction communicated on the second bus is identified by the one transaction identifier.
RELATED APPLICATIONS
[0001] This application is related to the following commonly owned and co-filed U.S. patent applications, filed May 9, 2003 and incorporated herein by reference: SYSTEMS AND METHODS FOR DELETING TRANSACTIONS FROM MULTIPLE FAST DATA STREAMS (Attorney Docket 200300028); SYSTEMS AND METHODS TO INSERT BROADCAST TRANSACTIONS INTO A FAST DATA STREAM OF TRANSACTIONS (Attorney Docket 200300027); SYSTEMS AND METHODS FOR COMBINING A SLOW DATA STREAM AND A FAST DATA STREAM INTO A SINGLE FAST DATA STREAM (Attorney Docket 200300026); and SYSTEMS AND METHODS FOR INCREASING TRANSACTION ENTRIES IN A HARDWARE QUEUE (Attorney Docket 200300011).