Synchronizing transactions for a single master over multiple busses

US9495318B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9495318-B2
Application numberUS-201314089237-A
CountryUS
Kind codeB2
Filing dateNov 25, 2013
Priority dateNov 25, 2013
Publication dateNov 15, 2016
Grant dateNov 15, 2016

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.

Embodiments of a bridge unit and system are disclosed that may allow for processing fence commands send to multiple bridge units. Each bridge unit may process a respective portion of a plurality of transactions generated by a master unit. The master unit may be configured to send a fence command to each bridge unit, which may stall the processing of the command. Each bridge unit may be configured to determine if all transactions included in its respective portion of the plurality of transactions has completed. Once each bridge unit has determined that all other bridge units have received the fence command and that all other bridge units have completed their respective portions of the plurality of transactions that were received prior to receiving the fence command, all bridge units may execute the fence command.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus, comprising: a master unit configured to generate a plurality of transactions; a first bridge unit coupled to the master unit, wherein the first bridge unit is configured to process a first portion of the plurality of transactions; and a second bridge unit coupled to the master unit, wherein the second bridge unit is configured to process a second portion of the plurality of transactions; wherein the master unit is further configured to transmit a fence command to the first bridge unit and the second bridge unit; wherein the first bridge unit is configured to: stall the processing of the received fence command; and execute the fence command responsive to a determination that the first portion and the second portion of the plurality of transactions have completed; wherein the second bridge unit is configured to: stall the processing of the received fence command; and execute the fence command responsive to a determination that the first portion and the second portion of the plurality of transactions have completed. 2. The apparatus of claim 1 , wherein to stall the processing of the received fence command, the first bridge unit is further configured to assert a first fence received signal, and wherein to stall the processing of the received fence command the second bridge unit is further configured to assert a second fence received signal. 3. The apparatus of claim 1 , wherein to stall the processing of the received fence command the first bridge unit is further configured to assert a first stall signal responsive to a determination that at least one transaction of the first portion of the plurality of transactions is pending, and wherein to stall the processing of the received fence command the second bridge unit is further configured to assert a second stall signal responsive to a determination that at least one transaction of the second portion of the plurality of transactions is pending. 4. The apparatus of claim 1 , wherein to stall the processing of the received fence command, the first bridge unit is further configured to assert a first fence received signal, and wherein to stall the processing of the received fence command the second bridge unit is further configured to assert a second fence received signal, and wherein the first bridge unit is further configured to de-assert the fence received command response to a determination the first fence command has been processed, and wherein the second bridge unit is further configured to de-assert the second fence received command responsive to the determination the second fence command has been processed. 5. The apparatus of claim 1 , wherein to determine the first portion of the plurality of transactions has completed the first bridge unit is further configured to check a value of a first counter, wherein the first counter is configured to track a number of outstanding transactions of the first portion of the plurality of transactions, and wherein to determine the second portion of the plurality of transactions has completed the second bridge unit is further configured to check a value of a second counter, wherein the second counter is configured to track a number of outstanding transactions of the second portion of the plurality of transactions. 6. The apparatus of claim 1 , wherein each transaction of the first portion of the plurality of transactions is encoded with a first communication protocol, and wherein each transaction of the second portion of the plurality of transactions is encoded with a second communication protocol. 7. The apparatus of claim 1 , wherein the first bridge unit is further configured to process the first portion and the second portion of the plurality of transactions, and wherein a fence received signal input of the first bridge unit is coupled to a logic 1 level and a stall signal input of the first bridge unit is coupled to a logic 0 level. 8. A method, comprising: processing, by each bridge unit of a plurality of bridge units, a respective portion of a plurality of transactions; receiving a fence command by each bridge unit of the plurality of bridge units; stalling, by each bridge unit of the plurality of bridge units, the processing of the received fence command; and executing, by each bridge unit of the plurality of bridge units, the received fence command responsive to a determination that each bridge unit has received the fence command and processed its respective portion of the plurality of transactions; wherein each transaction of the respective portion of the plurality of transactions is encoded with a respective communication protocol, and wherein processing, by each bridge unit of the plurality of bridge units, the respective portion of the plurality of transactions comprises translating the respective communication protocol to a different communication protocol. 9. The method of claim 8 , wherein receiving the fence command by each bridge unit of the plurality of bridge units comprises asserting a fence received signal by each bridge unit of the plurality of bridge units. 10. The method of claim 8 , wherein stalling, by each bridge unit of the plurality of bridge units, the processing of the received fence command comprises sending a respective stall signal by a given bridge unit of the plurality of bridge units responsive to a determination that the given bridge unit has not completed processing its respective portion of the plurality of transactions. 11. The method of claim 8 , wherein receiving the fence command by each bridge unit of the plurality of bridge units comprises asserting a fence received signal by each bridge unit of the plurality of bridge units, and further comprising de-asserting, by each bridge unit of the plurality of bridge units, the respective fence received signal responsive to the completion of the received fence command. 12. The method of claim 8 , wherein stalling, by each bridge unit of the plurality of bridge units, the processing of the received fence command comprises sending a respective stall signal by a given bridge unit of the plurality of bridge units responsive to a determination that the given bridge unit has not completed processing its respective portion of the plurality of transactions, and wherein sending the respective stall signal by the given bridge unit of the plurality of bridge units comprises checking a counter. 13. The method of claim 12 , wherein processing, by each bridge unit of the plurality of bridge units, the respective portion of the plurality of transactions comprises: incrementing the counter responsive to receiving a given transaction of the respective portion of the plurality of transactions; and decrementing the counter responsive to the given transaction of the respective portion of the plurality of transactions completing. 14. A system, comprising: a master unit configured to generate a plurality of transactions, wherein each transaction of a first portion of the plurality of transactions is encoded with a first communication protocol, and wherein each transaction of a second portion of the plurality of transactions is encoded with a second communication protocol; a first bridge unit coupled to the master unit via a first communication bus, wherein the first bridge unit is configured to: receive the first portion of the plurality of transactions via the first communication bus; and process a first portion of the plurality of transactions; and a second bridge unit coupled to the master unit via a second communication bus, wherein the second bridge unit is configured to: receive the second portion of the plurality of transactio

Assignees

Inventors

Classifications

  • G06F13/405Primary

    where the bridge performs a synchronising function · CPC title

  • with centralised access control · CPC title

  • using bus bridges (G06F13/4022 takes precedence) · CPC title

  • using independent requests or grants, e.g. using separated request and grant lines · 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 US9495318B2 cover?
Embodiments of a bridge unit and system are disclosed that may allow for processing fence commands send to multiple bridge units. Each bridge unit may process a respective portion of a plurality of transactions generated by a master unit. The master unit may be configured to send a fence command to each bridge unit, which may stall the processing of the command. Each bridge unit may be configur…
Who is the assignee on this patent?
Apple Inc
What technology area does this patent fall under?
Primary CPC classification G06F13/405. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 15 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).