Methods for checking dependencies of data units and apparatuses using the same

US10115176B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10115176-B2
Application numberUS-201615141750-A
CountryUS
Kind codeB2
Filing dateApr 28, 2016
Priority dateNov 17, 2015
Publication dateOct 30, 2018
Grant dateOct 30, 2018

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 memory-access completion notification associated with a data unit is received from a thread of a pixel shader. A processing status associated with the data unit is obtained from a window buffer. The processing status is updated to indicate that the data unit has not been processed by any thread. The updated processing status is written into the window buffer.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus for checking dependencies of a plurality of data units, comprising: a window buffer, comprising a plurality of cells, wherein each cell comprises a plurality of bits, wherein each bit indicates a processing status associated with one of the plurality of data units; a window checker, coupled to the window buffer, for receiving a memory-access request associated with a first data unit from a first thread, issuing a read request for reading a first cell containing the processing status associated with the first data unit, and issuing a write request for writing into the first cell to write the processing status associated with the first data unit, wherein the first thread reads attribute values associated with the first data unit from a memory when receiving an acknowledgement from the window checker indicating that the first data unit is not being processed by another thread; and a window releaser, coupled to the window buffer, for receiving a memory-access completion notification associated with a second data unit from a second thread, issuing a read request for reading a second cell containing the processing status associated with the second data unit, and issuing a write request for writing into the second cell to update the processing status associated with the second data unit to indicate that the second data unit is not being processed by any thread. 2. The apparatus of claim 1 , further comprising: an arbiter, coupled to the window buffer, for coordinating the read requests and the write requests from the window checker and the window releaser, reading the processing statuses from the plurality of cells to reply to the window checker or the window releaser, and writing the processing statuses into the plurality of cells and replying write-success messages to the window checker or the window releaser. 3. The apparatus of claim 2 , wherein when the window checker issues the read request for reading the first cell and the window releaser issues the read request for reading the second cell, and the first cell and the second cell are the same cell, the arbiter processes the read request issued by the window releaser. 4. The apparatus of claim 2 , wherein when the window checker issues the write request for writing into the first cell and the window releaser issues the read request for reading the second cell, and the first cell and the second cell are the same cell, the arbiter processes the write request issued by the window checker. 5. The apparatus of claim 2 , wherein when the window checker issues the read request for reading the first cell and the window releaser issues the write request for writing into the second cell, and the first cell and the second cell are the same cell, the arbiter processes the write request issued by the window releaser. 6. The apparatus of claim 2 , wherein when the first cell and the second cell are different cells, the arbiter processes the read request or the write request issued by the window checker when the read request or the write request issued by the window releaser was processed last time, and processes the read request or the write request issued by the window releaser when the read request or the write request issued by the window checker was processed last time. 7. The apparatus of claim 1 , wherein when the first data unit is being processed by another thread, the window checker issues the write request for writing into the first cell to write the processing status associated with the first data unit previously read by the read request issued by the window checker, wherein when the window releaser issues the write request for writing into the second cell to update the processing status associated with the second data unit, the processing statuses associated with the plurality of data units other than the second data unit are not modified in the second cell. 8. The apparatus of claim 1 , wherein the window checker issues the read request for reading the first cell and the write request for writing into the first cell in pairs, and the window releaser issues the read request for reading the second cell and the write request for writing into the second cell in pairs. 9. A method for checking dependencies of a plurality of data units by a window checker and a window releaser, wherein the window checker and the window releaser are coupled to a window buffer comprising a plurality of cells, wherein each cell comprises a plurality of bits, wherein each bit indicates a processing status associated with one of the plurality of data units, the method comprising: receiving, by the window checker, a memory-access request associated with a first data unit from a first thread; issuing, by the window checker, a read request for reading a first cell containing the processing status associated with the first data unit; issuing, by the window checker, a write request for writing into the first cell to write the processing status associated with the first data unit; receiving, by the window releaser, a memory-access completion notification associated with a second data unit from a second thread; issuing, by the window releaser, a read request for reading a second cell containing the processing status associated with the second data unit; and issuing, by the window releaser, a write request for writing into the second cell to update the processing status associated with the second data unit to indicate that the second data unit is not being processed by any thread, wherein the first thread reads attribute values associated with the first data unit from a memory when receiving an acknowledgement from the window checker indicating that the first data unit is not being processed by another thread. 10. The method of claim 9 , wherein the window buffer is further coupled to an arbiter for coordinating the read requests and the write requests from the window checker and the window releaser, reading the processing statuses from the plurality of cells to reply to the window checker or the window releaser, and writing the processing statuses into the plurality of cells and replying write-success messages to the window checker or the window releaser. 11. The method of claim 10 , wherein when the window checker issues the read request for reading the first cell and the window releaser issues the read request for reading the second cell, and the first cell and the second cell are the same cell, the arbiter processes the read request issued by the window releaser. 12. The method of claim 10 , wherein when the window checker issues the write request for writing into the first cell and the window releaser issues the read request for reading the second cell, and the first cell and the second cell are the same cell, the arbiter processes the write request issued by the window checker. 13. The method of claim 10 , wherein when the window checker issues the read request for reading the first cell and the window releaser issues the write request for writing into the second cell, and the first cell and the second cell are the same cell, the arbiter processes the write request issued by the window releaser. 14. The method of claim 10 , wherein when the first cell and the second cell are different cells, the arbiter processes the read request or the write request issued by the window checker when the read request or the write request issued by the window releaser was processed last time, and processes the read request or the write request issued by the window releaser when the read request or the write request issued by the window checker was processed last time. 15. The method o

Assignees

Inventors

Classifications

  • G06T1/20Primary

    Processor architectures; Processor configuration, e.g. pipelining · CPC title

  • Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title

  • Improving or facilitating administration, e.g. storage management · CPC title

  • G06T15/005Primary

    General purpose rendering architectures · CPC title

  • Single storage device · 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 US10115176B2 cover?
A memory-access completion notification associated with a data unit is received from a thread of a pixel shader. A processing status associated with the data unit is obtained from a window buffer. The processing status is updated to indicate that the data unit has not been processed by any thread. The updated processing status is written into the window buffer.
Who is the assignee on this patent?
Via Alliance Semiconductor Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06T1/20. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 30 2018 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).