Method of handling transactions, corresponding system and computer program product
AssigneesSTMicroelectronics (Grenoble 2) SAS, STMicroelectronics S.r.l.
InventorsDaniele Mangano, Ignazio Antonino Urzi
Life of this patent
Estimating the term…
Abstract
A system, such as a System-on-Chip includes an interface component or PLUG which generates transactions over an IP block, such as an interconnect serving one or more clients via virtual channels. The client or clients are mapped onto the virtual channels via client/virtual channel mappings. The virtual channels are provided as a first set of virtual channels in the interface component which cooperate with a second set of virtual channels in the IP block. First and second client/virtual channel mappings for the first set of virtual channels and the second set of virtual channels are provided. The first and second client/virtual channel mappings are separately programmable and mutually decoupled from one another.
Claims19
A system, comprising:
- an interface component;
- an IP block having a message transfer interface block, the IP block associated with a plurality of N clients;
- a logical network, the logical network configurable as a plurality of virtual channels, the plurality of virtual channels including a first set of internal virtual channels in said interface component and a second set of system virtual channels in said IP block, the first set of internal virtual channels and second sets of system virtual channels configured for separate programming;
- an arbitration unit configured to apply an arbitration procedure to a plurality of data transfers, each data transfer associated with a different client, when the plurality of data transfers are communicated via the same internal virtual channel;
- at least one quality of service block associated with each internal virtual channel, each quality of service block having a plurality of registers associated with the arbitration procedure;
- and
- a virtualization unit having the at least one quality of service block and at least one service mapper logic unit, wherein each virtual channel of the plurality of virtual channels is associated with a designated quality of service logic block, wherein each individual client of the plurality of N clients is associated with an individual service mapper logic unit, and wherein each quality of service logic block is arranged to provide selection information that prioritizes one of the plurality of N clients.
A method of arbitrating traffic between a plurality of clients, comprising:
- providing an interface component;
- providing an IP block having a message transfer interface block, the IP block associate with the plurality of clients;
- providing a plurality of virtual channels in a logical network, the plurality of virtual channels including a first set of internal virtual channels in said interface component and a second set of system virtual channels in said IP block;
- separately programming the first set of internal virtual channels and the second set of system virtual channels;
- with an arbitration unit, applying an arbitration procedure to a plurality of data transfers, each data transfer associated with a different client, when the plurality of data transfers are communicated via the same internal virtual channel;
- and
- providing, with a virtualization unit, selection information that prioritizes traffic between ones of the plurality of clients, wherein the virtualization unit has at least one quality of service block and at least one service mapper logic unit, wherein each virtual channel of the plurality of virtual channels is associated with a designated quality of service logic block, wherein each individual client of the plurality of clients is associated with an individual service mapper logic unit, and wherein each designated quality of service logic block is arranged to provide selection information that prioritizes one of the plurality of clients.
A non-transitory computer readable medium containing instructions to control at least one computing device, the instructions including software code portions to implement a method, the acts of the method comprising:
- establishing a plurality of virtual channels in a logical network, the plurality of virtual channels including a first set of internal virtual channels in an interface component and a second set of system virtual channels in an IP block, the IP block associated with a plurality of clients;
- arbitrating data passed between ones of the plurality of clients by applying an arbitration procedure to a plurality of data transfers communicated via the same internal virtual channel, each data transfer associated with a different client;
- associating each virtual channel of the plurality of virtual channels with a designated quality of service logic block;
- and
- associating each individual client of the plurality of clients with an individual service mapper logic unit wherein the arbitrating is based on selection information provided by one of the designated quality of service logic blocks that prioritizes one of the plurality of clients.
Dependencies are inferred from the claim text.