Deadlock-avoiding coherent system on chip interconnect

US9372808B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9372808-B2
Application numberUS-201314059732-A
CountryUS
Kind codeB2
Filing dateOct 22, 2013
Priority dateOct 24, 2012
Publication dateJun 21, 2016
Grant dateJun 21, 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.

This invention mitigates these deadlocking issues by a adding a separate non-blocking pipeline for snoop returns. This separate pipeline would not be blocked behind coherent requests. This invention also repartitions the master initiated traffic to move cache evictions (both with and without data) and non-coherent writes to the new non-blocking channel. This non-blocking pipeline removes the need for any coherent requests to complete before the snoop request can reach the memory controller. Repartitioning cache initiated evictions to the non-blocking pipeline prevents deadlock when snoop and eviction occur concurrently. The non-blocking channel of this invention combines snoop responses from memory controller initiated requests and master initiated evictions/non-coherent writes.

First claim

Opening claim text (preview).

What is claimed is: 1. An interface between a multi-core shared memory controller and one of a plurality of processing cores comprising: a read address bus adapted for receiving a read address from the processing core; a read data bus adapted for supplying read data from the interface to the processing core; a write address bus separate from said read address bus adapted for receiving a write address from the processing core; a write data bus separate from said read data bus adapted for supplying write data from the processing core to the interface; a snoop response bus adapted for supplying a snoop response signal from the processing core to the interface; a snoop data bus separate from said read data bus and from said write data bus adapted for supplying snoop data from the processing core to the interface; a first snoop address bus separate from said read address bus and from said write address bus adapted for supplying a snoop address from the interface to the processing core; a command address bus adapted for supplying one of a read data address from the processing core or a write data address from the processing core to the multi-core shared memory controller; a data bus adapted for one of (1) receiving read data from the multi-core shared memory controller, (2) supplying write data to the multi-core shared memory controller or (3) supplying snoop response data from the processing core to the multi-core shared memory controller; and a second snoop address bus separate from said first snoop address bus adapted for receiving a snoop address from the multi-core shared memory controller. 2. The interface of claim 1 , further comprising: a bus converter connected to said read address bus, said write address bus and said command address bus for converting said read address and said write address from the processing core from a first bus protocol to a second bus protocol supplied to said command address bus. 3. The interface of claim 1 , further comprising: an asynchronous crossing unit connecting a first clock domain including said read address, said write address, read data, said write data, said snoop response, said snoop data and said first snoop address from the processing core to a second clock domain including said command address, said data bus and said second snoop address.

Assignees

Inventors

Classifications

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

  • using switching circuits, e.g. switching matrix, connection or expansion network (G06F13/4009 takes precedence) · CPC title

  • Rule management · CPC title

  • Cache consistency protocols · CPC title

  • Multiplexed DMA (G06F13/30 takes precedence) · 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 US9372808B2 cover?
This invention mitigates these deadlocking issues by a adding a separate non-blocking pipeline for snoop returns. This separate pipeline would not be blocked behind coherent requests. This invention also repartitions the master initiated traffic to move cache evictions (both with and without data) and non-coherent writes to the new non-blocking channel. This non-blocking pipeline removes the ne…
Who is the assignee on this patent?
Texas Instruments Inc
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 Jun 21 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).