Surface resource view hash for coherent cache operations in texture processing hardware

US9448935B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9448935-B2
Application numberUS-201314037212-A
CountryUS
Kind codeB2
Filing dateSep 25, 2013
Priority dateSep 25, 2013
Publication dateSep 20, 2016
Grant dateSep 20, 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.

Techniques are disclosed for performing memory access operations. A texture unit receives a memory access operation that includes a tuple associated with a first view in a plurality of views. The texture unit retrieves a first hash value associated with a first texture header in a plurality of texture headers, where the first texture header is related to the first view. The texture unit retrieves a second hash value associated with a second texture header in the plurality of texture headers, where the second texture header is related to a second view. The texture unit determines whether the first view is potentially aliased with the second view, based on the first and second hash values. If so, then the texture unit invalidates a cache entry in a cache memory associated with the second texture header. Otherwise, the texture unit maintains the cache entry.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method for performing memory access operations, the method comprising: retrieving a first hash value associated with a first texture header in a plurality of texture headers, wherein the first texture header is related to a first view in a plurality of views; retrieving a second hash value associated with a second texture header in the plurality of texture headers, wherein the second texture header is related to a second view in the plurality of views; determining whether at least a portion of the first view is potentially aliased with at least a portion of the second view, based on the first hash value and the second hash value; if at least a portion of the first view is potentially aliased with at least a portion of the second view, then invalidating a first cache entry in a cache memory associated with the second texture header, or if no portion of the first view is potentially aliased with any portion of the second view, then maintaining the first cache entry associated with the second texture header. 2. The method of claim 1 , wherein at least a portion of the first view is potentially aliased with at least a portion of the second view when the first hash value is equal to the second hash value. 3. The method of claim 1 , wherein the first hash value indicates that the first view is not aliased to any other view in the plurality of views. 4. The method of claim 1 , further comprising: retrieving a third hash value associated with a third texture header in the plurality of texture headers, wherein the third texture header is related to a third view in the plurality of views; determining that at least a portion of the first view is potentially aliased with at least a portion of the third view in a manner that causes no incoherency in the cache memory, based on at least one of the first hash value, the third hash value, the first texture header, and the third texture header; and maintaining the first cache entry associated with the third texture header. 5. The method of claim 1 , wherein the first hash value comprises a multi-bit field. 6. The method of claim 1 , wherein the first texture header comprises at least one of a texture identifier, a view type, a data size, a width, a height, a depth, a quantity of layers, a hash value, and a base address. 7. The method of claim 1 , wherein a first tuple included in a first memory access operation associated with the first view comprises at least one of a texture identifier, an index, an x-coordinate, a y-coordinate, a z-coordinate, and a layer number. 8. The method of claim 1 , further comprising receiving a first memory access operation associated with the first view; and receiving a second memory access operation associated with a third view in the plurality of views. 9. The method of claim 8 , further comprising: retrieving a third hash value associated with a third texture header in the plurality of texture headers, wherein the third texture header is related to the third view; determining whether all memory access operations related to the third view are to be treated as uncached, based on the third hash value; and if memory access operations related to the third view are to be treated as uncached, then updating only a first memory location, wherein the first memory location is specified by the second memory access operation, or if memory access operations related to the third view are not to be treated as uncached, then: updating the first memory location; and updating a second memory location in the cache memory, wherein the second memory location corresponds to the first memory location. 10. The method of claim 8 , further comprising: retrieving a third hash value associated with a third texture header in the plurality of texture headers, wherein the third texture header is related to the third view; retrieving a fourth hash value associated with a fourth texture header in the plurality of texture headers, wherein the fourth texture header is related to a fourth view in the plurality of views; determining that at least a portion of the third view is potentially aliased with at least a portion of the fourth view, based on the third hash value and the fourth hash value; determining that the second memory access operation causes no incoherency in the cache memory, based on at least one element in each of the second tuple and the fourth texture header; and maintaining the first cache entry associated the fourth texture header. 11. The method of claim 8 , further comprising: retrieving a third hash value associated with a third texture header in the plurality of texture headers, wherein the third texture header is related to the third view; retrieving a fourth hash value associated with a fourth texture header in the plurality of texture headers, wherein the fourth texture header is related to a fourth view in the plurality of views; determining that at least a portion of the third view is potentially aliased with at least a portion of the fourth view, based on the third hash value and the fourth hash value; retrieving a second cache entry associated with the fourth view; retrieving a third tuple associated with the second cache entry; determining that the second memory access operation causes no incoherency in the cache memory, based on at least one element in the second tuple and at least one element in the third tuple; and maintaining the second cache entry. 12. A subsystem comprising: a texture unit configured to: receive a first memory access operation that includes a first tuple associated with a first view in a plurality of views; retrieve a first hash value associated with a first texture header in a plurality of texture headers, wherein the first texture header is related to the first view; retrieve a second hash value associated with a second texture header in the plurality of texture headers, wherein the second texture header is related to a second view in the plurality of views; determine whether at least a portion of the first view is potentially aliased with at least a portion of the second view, based on the first hash value and the second hash value; if at least a portion of the first view is potentially aliased with at least a portion of the second view, then invalidate a first cache entry in a cache memory associated with the second texture header, or if no portion of the first view is potentially aliased with any portion of the second view, then maintain the first cache entry associated with the second texture header. 13. The subsystem of claim 12 , wherein at least a portion of the first view is potentially aliased with at least a portion of the second view when the first hash value is equal to the second hash value. 14. The subsystem of claim 12 , wherein the first hash value indicates that the first view is not aliased to any other view in the plurality of views. 15. The subsystem of claim 12 , wherein the texture unit is further configured to: retrieve a third hash value associated with a third texture header in the plurality of texture headers, wherein the third texture header is related to a third view in the plurality of views; determine that at least a portion of the first view is potentially aliased with at least a portion of the third view in a manner that causes no incoherency in the cache memory, based on at least one of the first hash value, the third hash value, the first texture header, and the third texture header; and maintain the first cache entry associated with the third texture header. 16. The subsystem of claim 12 , wherein

Assignees

Inventors

Classifications

  • involving hashing techniques, e.g. inverted page tables · CPC title

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

  • Image or video data · CPC title

  • Cache consistency protocols · 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 US9448935B2 cover?
Techniques are disclosed for performing memory access operations. A texture unit receives a memory access operation that includes a tuple associated with a first view in a plurality of views. The texture unit retrieves a first hash value associated with a first texture header in a plurality of texture headers, where the first texture header is related to the first view. The texture unit retriev…
Who is the assignee on this patent?
Nvidia Corp
What technology area does this patent fall under?
Primary CPC classification G06F12/0815. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 20 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).