Prioritized conflict handling in a system

US9619303B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9619303-B2
Application numberUS-201214368474-A
CountryUS
Kind codeB2
Filing dateApr 11, 2012
Priority dateApr 11, 2012
Publication dateApr 11, 2017
Grant dateApr 11, 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 controller has a cache to store data associated with an address that is subject to conflict resolution. A conflict resolution queue stores information relating to plural transactions, and logic reprioritizes the plural transactions in the conflict resolution queue to change a priority of a first type of transaction with respect to a priority of second type of transaction.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: receiving an incoming transaction; determining if the incoming transaction has an address conflict with any in-progress transaction or a pending transaction in a conflict resolution queue; if the incoming transaction has an address conflict and is a remote write transaction, processing the incoming transaction; if the incoming transaction has an address conflict and is not a remote write transaction, adding the incoming transaction to the conflict resolution queue; for each respective transaction in the conflict resolution queue, including the incoming transaction: if the respective transaction does not have an address conflict with any in-progress transaction and the respective transaction is not a local snoop transaction, processing the respective transaction; if the respective transaction is a local snoop transaction and a defer time of the local snoop transaction is greater than a threshold or there is no conflicting read transaction in the conflict resolution queue, processing the respective transaction; and if the respective transaction is a local snoop transaction and the defer time of the local snoop transaction is less than the threshold and there is a conflicting read transaction in the conflict resolution queue, incrementing the defer time of the respective transaction and retaining the respective transaction in the conflict resolution queue. 2. The method of claim 1 , wherein processing the respective transaction comprises returning remote read data from a conflict data cache without sending the respective transaction to a memory controller. 3. The method of claim 1 , wherein if the incoming transaction has an address conflict and is a remote write transaction, processing the incoming transaction comprises writing data to a conflict data cache. 4. A system comprising: a processor comprising a memory controller; a memory to store data accessible by the memory controller; a local agent controller separate from the memory and coupled to the memory controller, the local agent controller to: receive an incoming transaction; determine if the incoming transaction has an address conflict with any in-progress transaction or a pending transaction in a conflict resolution queue; if the incoming transaction has an address conflict and is a remote write transaction, process the incoming transaction; if the incoming transaction has an address conflict and is not a remote write transaction, add the incoming transaction to the conflict resolution queue; for each respective transaction in the conflict resolution queue, including the incoming transaction: if the respective transaction does not have an address conflict with any in-progress transaction and the respective transaction is not a local snoop transaction, process the respective transaction; if the respective transaction is a local snoop transaction and a defer time of the local snoop transaction is greater than a threshold or there is no conflicting read transaction in the conflict resolution queue, process the respective transaction; and if the respective transaction is a local snoop transaction and the defer time of the local snoop transaction is less than the threshold and there is a conflicting read transaction in the conflict resolution queue, increment the defer time of the respective transaction and retain the respective transaction in the conflict resolution queue. 5. The system of claim 4 , wherein the local agent controller is to process the respective transaction by returning remote read data from a conflict data cache without sending the respective transaction to a memory controller. 6. The system of claim 4 , wherein the local agent controller is to process the incoming transaction by writing data to a conflict data cache if the incoming transaction has an address conflict and is a remote write transaction. 7. A local agent controller comprising logic to: receive an incoming transaction; determine if the incoming transaction has an address conflict with any in-progress transaction or a pending transaction in a conflict resolution queue; if the incoming transaction has an address conflict and is a remote write transaction, process the incoming transaction; if the incoming transaction has an address conflict and is not a remote write transaction, add the incoming transaction to the conflict resolution queue; for each respective transaction in the conflict resolution queue, including the incoming transaction: if the respective transaction does not have an address conflict with any in-progress transaction and the respective transaction is not a local snoop transaction, process the respective transaction; if the respective transaction is a local snoop transaction and a defer time of the local snoop transaction is greater than a threshold or there is no conflicting read transaction in the conflict resolution queue, process the respective transaction; and if the respective transaction is a local snoop transaction and the defer time of the local snoop transaction is less than the threshold and there is a conflicting read transaction in the conflict resolution queue, increment the defer time of the respective transaction and retain the respective transaction in the conflict resolution queue. 8. The local agent controller of claim 7 , comprising further logic to process the respective transaction by returning remote read data from a conflict data cache without sending the respective transaction to a memory controller. 9. The local agent controller of claim 7 , comprising further logic to process the incoming transaction by writing data to a conflict data cache if the incoming transaction has an address conflict and is a remote write transaction.

Assignees

Inventors

Classifications

  • for main memory peripheral accesses (e.g. I/O or DMA) · CPC title

  • using a bus scheme, e.g. with bus monitoring or watching means · CPC title

  • Latency reduction · CPC title

  • Instruction code · CPC title

  • G06F9/528Primary

    by using speculative mechanisms · 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 US9619303B2 cover?
A controller has a cache to store data associated with an address that is subject to conflict resolution. A conflict resolution queue stores information relating to plural transactions, and logic reprioritizes the plural transactions in the conflict resolution queue to change a priority of a first type of transaction with respect to a priority of second type of transaction.
Who is the assignee on this patent?
Ray Harvey, Wesneski Christopher, Warner Craig, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06F12/0831. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 11 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).