Power efficient snoop filter design for mobile platform

US10346307B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10346307-B2
Application numberUS-201615353627-A
CountryUS
Kind codeB2
Filing dateNov 16, 2016
Priority dateSep 28, 2016
Publication dateJul 9, 2019
Grant dateJul 9, 2019

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 method includes: receiving a coherent request from a requester; looking up a state array of a snoop filter table corresponding to an index identified by the coherent request; determining state information corresponding to the coherent request; and determining to access one or more address tag arrays of the snoop filter table based on one or more of the state information, the requester, and a type of the coherent request.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: receiving a coherent request from a requester; looking up a state array of a snoop filter table corresponding to an index identified by the coherent request; determining state information corresponding to the coherent request; and determining to access one or more address tag arrays of the snoop filter table based on one or more of the state information, the requester, and a type of the coherent request, wherein the state information identifies a state for the coherent request, and wherein the state array storing the state information is stored separately from the one or more address tag arrays in the snoop filter table. 2. The method of claim 1 , wherein the requester is one of a CPU, a GPU, and an I/O device. 3. The method of claim 2 , wherein the I/O device is one of an ISA device, a PCI device, a PCI-X device, a PCI Express device, a USB device, an ATA device, a SCSI device, and an InfiniBand device. 4. The method of claim 1 , further comprising: checking whether a valid entry corresponding to the coherent request exists in the snoop filter table; and determining not to access the one or more address tag arrays if there is no valid entry. 5. The method of claim 1 , further comprising: checking whether a valid entry corresponding to the coherent request exists in the snoop filter table; and determining to access the one or more address tag arrays corresponding to the valid entry. 6. The method of claim 5 , further comprising: determining that the coherent request is an eviction request; checking if there is a valid entry in the snoop filter table from the requester; and looking up only an address tag array for the valid entry of the requester. 7. The method of claim 6 , further comprising: checking if the address tag array exits in the one or more address tag arrays; and clearing the state array corresponding to the eviction request. 8. The method of claim 5 , further comprising: determining that the coherent request is not an eviction request; checking if there is a valid entry in the snoop filter table from a different requester; and looking up the one or more address tag arrays except an address tag array corresponding to the requester. 9. A snoop filter comprising: a snoop filter table comprising a state array and a plurality of address tag arrays; and a logic configured to: receive a coherent request from a requester; look up the state array of the snoop filter table corresponding to an index identified by the coherent request; determine a state information corresponding to the coherent request; and determine to access one or more of the plurality of address tag arrays of the snoop filter table based on one or more of the state information, the requester, and a type of the coherent request, wherein the state information identifies a state for the coherent request, and wherein the state array storing the state information is stored separately from the one or more address tag arrays in the snoop filter table. 10. The snoop filter of claim 9 , wherein the requester is one of a CPU, a GPU, and an I/O device. 11. The snoop filter of claim 10 , wherein the I/O device is one of an ISA device, a PCI device, a PCI-X device, a PCI Express device, a USB device, an ATA device, a SCSI device, and an InfiniBand device. 12. The snoop filter of claim 9 , wherein the logic is further configured to: check whether a valid entry corresponding to the coherent request exists in the snoop filter table; and determine not to access the one or more address tag arrays if there is no valid entry. 13. The snoop filter of claim 9 , wherein the logic is further configured to: check whether a valid entry corresponding to the coherent request exists in the snoop filter table; and determine to access the one or more address tag arrays corresponding to the valid entry. 14. The snoop filter of claim 13 , wherein the logic is further configured to: determine that the coherent request is an eviction request; check if there is a valid entry in the snoop filter table from the requester; and look up only an address tag array for the valid entry of the requester. 15. The snoop filter of claim 14 , wherein the logic is further configured to: check if the address tag array exits in the one or more address tag arrays; and clear the state array corresponding to the eviction request. 16. The snoop filter of claim 13 , wherein the logic is further configured to: determine that the coherent request is not an eviction request; check if there is a valid entry in the snoop filter table from a different requester; and look up the one or more address tag arrays except an address tag array corresponding to the requester. 17. A snoop filter table comprising a state array and a plurality of address tag arrays, wherein the state array stores state information that identifies a state for a coherent request received from a requester, wherein the plurality of address tag arrays stores address tag information, and wherein the state array is separate from the plurality of address tag arrays. 18. The snoop filter table of claim 17 , wherein the state information includes a pending state, an invalid state, a shared state, an exclusive state, and a modified state. 19. The method of claim 1 , wherein the state information includes a pending state, an invalid state, a shared state, an exclusive state, and a modified state. 20. The snoop filter of claim 9 , wherein the state information includes a pending state, an invalid state, a shared state, an exclusive state, and a modified state.

Assignees

Inventors

Classifications

  • Coherency control relating to peripheral accessing, e.g. from DMA or I/O device · CPC title

  • with cache invalidating means (G06F12/0815 takes precedence) · CPC title

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

  • adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel · CPC title

  • Cross-Sectional Technologies · mapped topic

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 US10346307B2 cover?
A method includes: receiving a coherent request from a requester; looking up a state array of a snoop filter table corresponding to an index identified by the coherent request; determining state information corresponding to the coherent request; and determining to access one or more address tag arrays of the snoop filter table based on one or more of the state information, the requester, and a …
Who is the assignee on this patent?
Samsung Electronics Co Ltd
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 Jul 09 2019 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 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).