Patent ID: 9294301
Filing Date: 2016-03-22
CPC Classification: H04L

Claim Text:
1. An interconnect configured to route data packets between a plurality of initiators and at least one recipient along a plurality of paths, said data packets comprising an identifier identifying said initiator and data, said interconnect comprising: a plurality of routers, said routers comprising at least two inputs for receiving said data packets from at least two different paths and an output for outputting said received data packets; at least one of said routers comprising an arbiter configured to select between contending data packets input to said at least one router from said different paths to be output at said output; said arbiter comprising a history buffer for storing said identifiers identifying said initiators of a plurality of recently output data packets; said arbiter comprising selection circuitry configured to select one of said contending data packets to be output in dependence upon said initiators of said contending data packets and said initiators identified in said history buffer, such that a probability of a data packet being selected increases with the number of data packets selected since a data packet from the same initiator was selected; wherein said arbiter is configured to access weighting indicators indicative of a weighting of at least some of said plurality of initiators, said selection circuitry being configured to select data packets from initiators with a higher weighting disproportionately more frequently than said selection circuitry selects data packets from initiators with a lower weighting; wherein said arbiter further comprises a low priority store for storing identifiers identifying initiators currently having a low priority, said arbiter comprising a device for updating a value indicative of a number of data packets selected from each of said initiators, said arbiter being configured to add said initiator to said low priority store in response to said value for said initiator reaching a predetermined value, said arbiter being configured to preferentially select data packets from initiators not in said low priority store over data packets from sources in said low priority store; wherein in response to all of said initiators being added to said low priority store, said low priority store and said values are cleared; and wherein said predetermined value is dependent on said weighting of said initiator.