Claims
- 1. A data network node processing data comprising:
a. a divided aggregate data bus having an aggregate data bus width W; b. a divided shared memory store accessed via the aggregate data bus; c. a plurality of data bus connected devices; and d. a deterministic data bus arbitration schedule apportioning an aggregate bandwidth B of the aggregate data bus to the plurality of data bus connected devices whereby data processing latencies in arbitrating the access to the aggregate data bus for the plurality of data bus connected devices are reduced.
- 2. A data network node as claimed in claim 1, wherein the divided aggregate data bus further comprises at least two constituent data buses, each one of the constituent data buses having a data bus width w whereby the aggregate data bus retains the complexity of each individual constituent data bus while providing increased bandwidth B for processing data at the data network node without increasing an associated data bus clock frequency F.
- 3. A data network node as claimed in claim 2, wherein the divided shared memory store comprises at least two shared memory blocks, each shared memory block being accessible via a single corresponding constituent data bus.
- 4. A data network node as claimed in claim 1, wherein the plurality of data bus connected devices includes at least one data port enabling the conveyance of data between the data network node and an associated data transport network.
- 5. A data network node as claimed in claim 4, wherein the at least one data port comprises an input data port conveying incoming data to the data network node.
- 6. A data network node as claimed in claim 4, wherein the at least one data port comprises an output port conveying outgoing data from the data network node.
- 7. A data network node as claimed in claim 4, wherein the data network node comprises a data switching node forwarding data between a plurality of data ports.
- 8. A data network node as claimed in claim 7, wherein the shared memory store further comprises a switching database specifying routing information used in forwarding data between the plurality of data ports.
- 9. A data network node as claimed in claim 8, wherein the switching database is stored in each one of a plurality of shared memory blocks of the divided shared memory store whereby contention of access to the switching database is prevented.
- 10. A data network node as claimed in claim 7, wherein the data has a structure defined by data transport protocols which specifies the encapsulation of conveyed data into Protocol Data Unit (PDUs).
- 11. A data network node as claimed in claim 10, wherein the plurality of data bus connected devices includes at least one PDU classifier determining at least one data port for each PDU to be forwarded to.
- 12. A data network node as claimed in claim 1, wherein the data network node comprises a group of selectable pre-set data bus arbitration schedules enabling different bandwidth apportionments associated with the plurality of data bus connected devices.
- 13. A data network node as claimed in claim 1, wherein the plurality of data bus connected devices includes at least one data flow statistics generator monitoring data processed at the data network node.
- 14. A data network node as claimed in claim 1, wherein the plurality of data bus connected devices includes at least one supervisory processor running an associated protocol monitoring data processed at the data network node to update the deterministic data bus arbitration schedule in efficiently apportioning the aggregate bandwidth B between the plurality of data bus connected devices.
- 15. A data network node as claimed in claim 1, wherein the data network node comprises an associated management console for managing the operation of the data network node including the specification of the deterministic data bus arbitration to be used.
- 16. A data network node as claimed in claim 1, wherein a subgroup of data bus connected devices further comprises at least one Direct Memory Access (DMA) device for accessing the shared memory store.
- 17. A data network node as claimed in claim 16, wherein a DMA device is used for each direction of data transmission for data port data bus connected devices, to provide simultaneous reception and transmission of data therethrough.
- 18. A data network node as claimed in claim 1, wherein data bus connected devices are connected to the data bus via multiplexer/demultiplexer intermediaries to reduce noise in the data bus lines enabling a higher speed operation thereof.
- 19. A data network node as claimed in claim 2, wherein each data bus connected device further comprises at least one Direct Memory Access (DMA) device associated with each constituent data bus.
- 20. A data network node as claimed in claim 3, wherein the deterministic data bus arbitration schedule further comprises read memory access cycles grouped sequentially and write memory access cycles grouped sequentially whereby a number of changes between read memory access cycles and write memory access cycles is reduced thereby reducing associated memory access latencies incurred in changing therebetween.
- 21. A data network node as claimed in claim 1, wherein the deterministic data bus access schedule further comprises a time line for each constituent data bus.
- 22. A data network node as claimed in claim 1, wherein the deterministic data bus arbitration schedule comprises a time frame for each one of the constituent data buses, each time frame being cyclically paced through in coordinating access to the corresponding constituent data bus whereby the design of the data network node is simplified by using the deterministic arbitration schedule.
- 23. A data network node as claimed in claim 22, wherein the data network node further comprises at least one arbiter coordinating access to the aggregate data bus in accordance with the deterministic data bus access schedule.
- 24. A data network node as claimed in claim 22, wherein the data network node further comprises an arbiter for each constituent data bus, each arbiter coordinating access to a corresponding constituent data bus in accordance with the deterministic data bus access schedule.
- 25. A data network node as claimed in claim 22, wherein each time frame further comprises a plurality of time slots, the bandwidth B of the aggregate data bus being apportioned, in terms of the time slots, to the plurality of data bus connected devices, whereby the granularity of the bandwidth apportionment is controlled by the number of time slots per time frame.
- 26. A data network node as claimed in claim 25, wherein at least one time slot specifies the extent of a memory access cycle.
- 27. A data network node as claimed in claim 25, wherein at least one time slot corresponds to a plurality of memory access cycles.
- 28. A method of arbitrating access to a divided aggregate data bus for a plurality of data bus connected devices, the method comprising the steps of:
a. dividing a stream of data conveyed via a data bus connected device into an aggregate stream of data granules; b. coordinating the access to the aggregate data bus according to a deterministic data bus arbitration schedule; and c. conveying the aggregate stream of data granules over the aggregate data bus in accordance with the deterministic data bus arbitration schedule whereby the use of the deterministic data bus arbitration schedule reduces processing overheads associated with the arbitration of access to the aggregate data bus.
- 29. A method as claimed in claim 28, wherein the aggregate data bus is divided into at least two constituent data buses and the step of dividing the data stream into the aggregate stream of granules further includes a step of: further dividing the aggregate stream of data granules into at least two constituent streams of data granules, each constituent stream of data granules corresponding to a one constituent data bus.
- 30. A method as claimed in claim 29, wherein the step of coordinating the access to the aggregate data bus, the method further comprises a step of: scheduling the access to a one constituent data bus for the conveyance of at least one data granule from the corresponding constituent stream of data granules.
- 31. A method as claimed in claim 30, wherein the step of conveying the stream of data granules over the aggregate data bus, the method further comprises a step of: conveying data granules corresponding to the at least two constituent data buses in a sequence repeatedly cycling through the at least two constituent data buses.
- 32. A method as claimed in claim 29, wherein each one of the at least two constituent data buses has a constituent data bus width w and the step of dividing the data stream into the aggregate stream of data granules the method future comprises a step of: dividing the data stream into data granules, each data granule having a size equal to the data bus width w of each one of the at least two constituent data buses.
- 33. A method as claimed in claim 28, wherein a divided shared memory store is associated with the divided aggregate data bus, the divided aggregate data bus comprises at least two constituent data buses, the divided shared memory store comprises at least two shared memory blocks each of which is accessible via a one corresponding constituent data bus, the shared memory store further retrievably holding a database, the method further comprising a step of: storing the database in each one of the at least two shared memory blocks.
- 34. A method as claimed in claim 33, wherein the method further comprises a step of updating each copy of the database stored in each of the at least two shared memory blocks to prevent inaccuracies in the use thereof.
- 35. A method as claimed in claim 33, wherein the method further comprises a step of sequentially updating each copy of the database stored in each of the at least two shared memory blocks, the sequential update being performed between database access instances.
Parent Case Info
[0001] This application claims the benefit of U.S. Provisional Application No. 60/236,165, filed Sep. 29, 2000.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60236165 |
Sep 2000 |
US |