Supporting multicast in NoC interconnect

US9590813B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9590813-B1
Application numberUS-201615265590-A
CountryUS
Kind codeB1
Filing dateSep 14, 2016
Priority dateAug 7, 2013
Publication dateMar 7, 2017
Grant dateMar 7, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Example implementations are directed to more efficiently delivering a multicast message to multiple destination components from a source component. Multicast environment is achieved with transmission of a single message from a source component, which gets replicated in the NoC during routing towards the destination components indicated in the message. Example implementations further relate to an efficient way of implementing multicast in any given NoC topology, wherein one or more multicast trees in the given NoC topology are formed and one of these trees are used for routing a multicast message to its intended destination components mentioned therein.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: configuring each port of each of a plurality of nodes of a Network on Chip (NoC) with a filter in a form of a filter bit vector representing a multicast tree from one or more multicast trees of the NoC, wherein each bit of the filter bit-vector is indicative of whether a corresponding destination bit from a destination bit-vector of a multicast message is to be filtered, and configuring each of the plurality of nodes of the NoC to execute a process for receipt of the multicast message, the process comprising: selecting a port configured with a filter representing the multicast tree from the one or more multicast trees directed to the received multicast message, the selecting conducted based on an application of logic between a destination bit-vector of the multicast message and the filter bit-vector; and transmitting the multicast message through the selected port. 2. The method of claim 1 , wherein the selecting based on an application of logic between the destination bit-vector of the multicast message and the filter bit-vector comprises comparing each bit of the destination bit-vector to each bit of the filter bit-vector, and selecting the port having at least one matching bit. 3. The method of claim 1 , wherein the configuring each port of the each of the plurality of nodes of a NoC with the filter comprises implementing the filter for each pair of input ports and output ports. 4. The method of claim 1 , further comprising selecting the multicast tree from the one or more multicast trees for the each port based on at least one of a distance of a destination node, a bandwidth attribute and a latency attribute. 5. The method of claim 1 , further comprising configuring an aggregation node from the plurality of nodes, to aggregate a plurality of messages from the plurality of nodes to form the multicast message. 6. The method of claim 1 , wherein the one or more multicast trees are generated by: generating a minimum spanning tree for each of the plurality of nodes; generating subsets from the generated minimum spanning trees; and combining edges of the minimum spanning trees for each subset to form one of the one or more multicast trees. 7. A non-transitory computer readable medium storing instructions for executing a process, the instructions comprising: configuring each port of each of a plurality of nodes of a Network on Chip (NoC) with a filter in a form of a filter bit vector representing a multicast tree from one or more multicast trees of the NoC, wherein each bit of the filter bit-vector is indicative of whether a corresponding destination bit from a destination bit-vector of a multicast message is to be filtered, and configuring each of the plurality of nodes of the NoC to execute a process for receipt of the multicast message, the process comprising: selecting a port configured with a filter representing the multicast tree from the one or more multicast trees directed to the received multicast message, the selecting conducted based on an application of logic between a destination bit-vector of the multicast message and the filter bit-vector; and transmitting the multicast message through the selected port. 8. The non-transitory computer readable medium of claim 7 , wherein the selecting based on an application of logic between the destination bit-vector of the multicast message and the filter bit-vector comprises comparing each bit of the destination bit-vector to each bit of the filter bit-vector, and selecting the port having at least one matching bit. 9. The non-transitory computer readable medium of claim 7 , wherein the configuring each port of the each of the plurality of nodes of a NoC with the filter comprises implementing the filter for each pair of input ports and output ports. 10. The non-transitory computer readable medium of claim 7 , the instructions further comprising selecting the multicast tree from the one or more multicast trees for the each port based on at least one of a distance of a destination node, a bandwidth attribute and a latency attribute. 11. The non-transitory computer readable medium of claim 7 , the instructions further comprising configuring an aggregation node from the plurality of nodes, to aggregate a plurality of messages from the plurality of nodes to form the multicast message. 12. The non-transitory computer readable medium of claim 7 wherein the one or more multicast trees are generated by: generating a minimum spanning tree for each of the plurality of nodes; generating subsets from the generated minimum spanning trees; and combining edges of the minimum spanning trees for each subset to form one of the one or more multicast trees. 13. A Network on Chip (NoC), comprising: a plurality of nodes, each port of the plurality of nodes configured with a filter in a form of a filter bit vector representing a multicast tree from one or more multicast trees of the NoC, wherein each bit of the filter bit-vector is indicative of whether a corresponding destination bit from a destination bit-vector of a multicast message is to be filtered, and each of the plurality of nodes of the NoC are configured to: select a port configured with a filter representing the multicast tree from the one or more multicast trees directed to the received multicast message, the selecting conducted based on an application of logic between a destination bit-vector of the multicast message and the filter bit-vector; and transmit the multicast message through the selected port. 14. The NoC of claim 13 , wherein the plurality of nodes are configured to select based on the application of logic between the destination bit-vector of the multicast message and the filter bit-vector by comparing each bit of the destination bit-vector to each bit of the filter bit-vector, and selecting the port having at least one matching bit. 15. The NoC of claim 13 , wherein the filter is implemented for each pair of input ports and output ports. 16. The NoC of claim 13 , wherein the multicast tree from the one or more multicast trees is configured for the each port based on at least one of a distance of a destination node, a bandwidth attribute and a latency attribute. 17. The NoC of claim 13 , wherein the plurality of nodes further comprises an aggregation node configured to aggregate a plurality of messages from the plurality of nodes to form the multicast message. 18. The NoC of claim 13 , wherein the one or more multicast trees are generated by a process comprising: generating a minimum spanning tree for each of the plurality of nodes; generating subsets from the generated minimum spanning trees; and combining edges of the minimum spanning trees for each subset to form one of the one or more multicast trees.

Assignees

Inventors

Classifications

  • with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains · CPC title

  • with management of multicast group membership · CPC title

  • characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability (for optimising operational conditions of wireless networks H04W24/02) · CPC title

  • by tagging of packets, e.g. using discard eligibility [DE] bits · CPC title

  • Integrated on microchip, e.g. switch-on-chip · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9590813B1 cover?
Example implementations are directed to more efficiently delivering a multicast message to multiple destination components from a source component. Multicast environment is achieved with transmission of a single message from a source component, which gets replicated in the NoC during routing towards the destination components indicated in the message. Example implementations further relate to a…
Who is the assignee on this patent?
Netspeed Systems
What technology area does this patent fall under?
Primary CPC classification H04L12/1886. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Mar 07 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).