Store-exclusive instruction conflict resolution

US9569365B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9569365-B2
Application numberUS-201214113723-A
CountryUS
Kind codeB2
Filing dateMay 21, 2012
Priority dateMay 27, 2011
Publication dateFeb 14, 2017
Grant dateFeb 14, 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.

A data processing system includes a plurality of transaction masters, each with an associated local cache memory and coupled to coherent interconnect circuitry. Monitoring circuitry within the coherent interconnect circuitry maintains a state variable (flag) in respect of each of the transaction masters to monitor whether an exclusive store access state is pending for that transaction master. When a transaction master is to execute a store-exclusive instruction, then a current value of the subject state variable for that transaction master is compared with a previous value of that variable stored when the exclusive store access was setup. If there is a match, then store-exclusive instruction is allowed to proceed and the state variables of all other transaction masters for which there is a pending exclusive store access state are changed. If there is not a match, then the execution of the store-exclusive instruction is marked as failing.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method managing data coherency within a data processing apparatus having a plurality of transaction masters connected via a coherent interconnect and including a subject transaction master, said method comprising performing in respect of each of said plurality of transaction masters serving as a subject transaction master the steps of: setting a subject state variable and a subject control value to match so as to indicate an exclusive store access state to subject data within a subject cache memory coupled to said subject transaction master; and in response to a store-exclusive instruction for execution by said subject transaction master: comparing a store address of a store data value associated with said store-exclusive instruction with addresses of data values stored within said subject cache memory to determine if said store data value is currently stored within said target cache memory and is valid; if said stored data value is not marked as valid within said subject cache memory, then marking as failed execution of said store-exclusive instruction; and if said stored data value is valid within said subject cache memory, then issuing a signal indicative of said store exclusive instruction to said coherent interconnect to trigger said coherent interconnect to perform the steps of: (i) comparing a current value of said subject state variable with said subject control value; (ii) if said current value does not match said subject control value, then marking as failed execution of said store-exclusive instruction; and (iii) if said current value does match said subject control value, then permitting execution of said store-exclusive instruction to pass and changing, for each other transaction master of said plurality of transaction masters using a current value of a state variable to track an exclusive store access state of said other transaction master and corresponding to said store address, one of said current value and a control value associated with said other transaction master such that a subsequent store-exclusive instruction for execution by said other transaction master and corresponding to said exclusive store access state will not be executed with success by said other transaction master; wherein if said stored data value is marked as valid and uniquely stored within said subject cache memory, then said store-exclusive instruction is permitted to execute without any dependence upon said subject control value and without issuing said store-exclusive instruction to said coherent interconnect. 2. The method as claimed in claim 1 , wherein said step of setting is performed in response to a load-exclusive instruction executed by said subject transaction master, said load-exclusive instruction loading a load data value to said subject cache memory coupled to said subject transaction master if said load data value is not already present within said subject cache memory. 3. The method as claimed in claim 1 , wherein if execution of said store-exclusive instruction is marked as failed, then a failure status is recorded and if execution of said store-exclusive instruction is permitted to pass, then a pass status is recorded. 4. The method as claimed in claim 1 , wherein said store-exclusive instruction performs a standard store operation if said data value is marked as valid and said current value matches said subject control value. 5. The method as claimed in claim 1 , wherein, if said current value does match said subject control value, then marking as invalid any data values stored in said other transaction masters of said plurality of transaction masters corresponding to said store address and if said current value does not match said subject control value, then not marking as invalid any data values stored in said other transaction masters of said plurality of transaction masters corresponding to said store address. 6. The method as claimed in claim 1 , comprising the step of storing within coherency control circuitry shared by said plurality of transaction masters at least one separate state variable tracking for each of said plurality of transaction masters one or more pending exclusive store access states. 7. The method as claimed in claim 6 , wherein said steps of comparing said current value with said subject control value and changing are performed by said coherency control circuitry. 8. The method as claimed in claim 7 , wherein said subject control value is a predetermined set value and said step of changing sets said current value of said state variable for each of said other transaction masters to a predetermined reset value. 9. The method as claimed in claim 6 , wherein said coherency control circuitry stores a plurality of separate state variables for each of said plurality of transaction masters, each of said plurality of state variables being associated with pending exclusive store access states of different address ranges. 10. The method as claimed in claim 9 , wherein each of said different address ranges is one of: (i) a fixed address range; or (ii) a programmable address range, said subject transaction master operating to transmit data indicative of said store address to said coherency control circuitry for comparison with said programmable address range. 11. The method as claimed in claim 1 , comprising the step of storing within coherency control circuitry shared by said plurality of transaction masters at least one counter value, wherein said counter value is said subject control value, said subject state variable comprises a sample of said counter value associated with said exclusive store access state and said step of changing is performed within said coherency control circuitry and changes said counter value. 12. The method as claimed in claim 11 , wherein said subject control value is stored within said subject cache memory. 13. The method as claimed in claim 11 , wherein said counter value is provided to said subject cache memory as one of: a sideband signal; an out-of-band signal; and a data payload within an in-band signal. 14. The method as claimed in claim 11 , wherein said counter value is sampled by said subject transaction master upon one of: an instruction is fetched by said subject transaction master from an address that previously contained one of a load-exclusive instruction or a store-exclusive instruction; decoding by said subject transaction master of one of a load-exclusive instruction or a store-exclusive instruction; or when said counter value has not been sampled for greater than a predetermined number of processing cycles. 15. The method as claimed in claim 11 , wherein said coherency control circuitry comprises a plurality of counters, each of said plurality of counters being associated with pending exclusive store access states of different address ranges. 16. A method as claimed in claim 15 , wherein each of said different address ranges is one of: (i) a fixed address range; or (ii) a programmable address range, said subject transaction master operating to transmit data indicative of said store address to said coherency control circuitry to select which of said plurality of counters is sampled to provide said subject control value. 17. A method as claimed in claim 1 , wherein said plurality of transaction masters comprise a cluster of transaction masters between which any overlapping exclusive store access states and store-exclusive instructions are arbitrated using said subject control value, said cluster is part of a system containing one or more further transaction maste

Assignees

Inventors

Classifications

  • Cache consistency protocols · CPC title

  • to perform operations on memory · CPC title

  • G06F9/3834Primary

    Maintaining memory consistency · CPC title

  • using directory methods · CPC title

  • with dedicated cache, e.g. instruction or stack · 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 US9569365B2 cover?
A data processing system includes a plurality of transaction masters, each with an associated local cache memory and coupled to coherent interconnect circuitry. Monitoring circuitry within the coherent interconnect circuitry maintains a state variable (flag) in respect of each of the transaction masters to monitor whether an exclusive store access state is pending for that transaction master. W…
Who is the assignee on this patent?
Biles Stuart David, Grisenthwaite Richard Roy, Mathewson Bruce James, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06F9/3834. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 14 2017 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).