Hardware enforced content protection for graphics processing units

US8931108B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-8931108-B2
Application numberUS-201313769687-A
CountryUS
Kind codeB2
Filing dateFeb 18, 2013
Priority dateFeb 18, 2013
Publication dateJan 6, 2015
Grant dateJan 6, 2015

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 graphics processing unit (GPU) is configured to access a first memory unit according to one of an unsecure mode and a secure mode. The GPU may include a memory access controller configured to allow the GPU to read data from only an unsecure portion of the first memory unit when the GPU is in the unsecure mode, and configured to allow the GPU to write data only to a secure portion of the first memory unit when the GPU is in the secure mode.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus for graphics processing comprising: a graphics processing unit (GPU) configured to access a first memory unit according to one of an unsecure mode and a secure mode, the GPU comprising: a memory access controller configured to allow the GPU to read data from only an unsecure portion of the first memory unit when the GPU is in the unsecure mode, and configured to allow the GPU to write data only to a secure portion of the first memory unit when the GPU is in the secure mode, wherein the memory access controller is configured to write data to the secure portion of the first memory unit by utilizing a secure memory management unit, the secure memory management unit utilizing a secure page table containing a first range of virtual memory addresses for the secure portion of the first memory unit, wherein the memory access controller is configured to read data from the unsecure portion of the first memory unit by utilizing an unsecure memory management unit, the unsecure memory management unit utilizing an unsecure page table containing a second range of virtual memory addresses for the unsecure portion of the first memory unit. 2. The apparatus of claim 1 , wherein: the memory access controller is configured to allow the GPU to write data to only the unsecure portion of the first memory unit when the GPU is in the unsecure mode, and the memory access controller is configured to allow the GPU to read data from the secure portion and the unsecure portion of the first memory unit when the GPU is in the secure mode. 3. The apparatus of claim 1 , further comprising: a second memory unit storing a graphics driver, the graphics driver configured to place the GPU in a secure mode or an unsecure mode. 4. The apparatus of claim 3 , wherein the graphics driver is further configured to provide the GPU the range of virtual memory addresses, including the first range of virtual memory addresses and the second range of virtual memory addresses. 5. The apparatus of claim 4 , further comprising: the secure memory management unit; the unsecure memory management unit; and a central processing unit (CPU) executing a secure operating system and the graphics driver, the secure operating system configured to supply the secure page table to the secure memory management unit and the unsecure page table to the unsecure memory management unit. 6. The apparatus of claim 5 , wherein the GPU further comprises a clear register and one or more internal memories, and wherein the secure operating system is configured to send an instruction to the clear register that causes the GPU to clear and invalidate at least some content from the one or more internal memories when the GPU is transitioned from the secure mode to the unsecure mode. 7. The apparatus of claim 5 , wherein the GPU further comprises a command stream register and one or more internal memories, and wherein the graphics driver is configured to send an instruction to the command stream register that causes the GPU to clear and invalidate at least some content from the one or more internal memories when the GPU is transitioned from the secure mode to the unsecure mode. 8. The apparatus of claim 1 , wherein the GPU further comprises: one or more hardware blocks configured to write data to the unsecure portion of the first memory regardless of whether the GPU is in the unsecure mode or the secure mode, wherein the one or more hardware blocks do not have read access to the secure portion of the first memory unit. 9. The apparatus of claim 8 , wherein the one or more hardware blocks includes a front end command processor. 10. A method of graphics processing comprising: accessing, with a graphics processing unit (GPU), a first memory unit according to one of an unsecure mode and a secure mode, wherein accessing comprises: allowing the GPU to read data from only an unsecure portion of the first memory unit when the GPU is in the unsecure mode, and allowing the GPU to write data only to a secure portion of the first memory unit when the GPU is in the secure mode; writing data to the secure portion of the first memory unit by utilizing a secure memory management unit, the secure memory management unit utilizing a secure page table containing a first range of virtual memory addresses for the secure portion of the first memory unit; and reading data from the unsecure portion of the first memory unit by utilizing an unsecure memory management unit, the unsecure memory management unit utilizing an unsecure page table containing a second range of virtual memory addresses for the unsecure portion of the first memory unit. 11. The method of claim 10 , further comprising: allowing the GPU to write data to only the unsecure portion of the first memory unit when the GPU is in the unsecure mode, and allowing the GPU to read data from the secure portion and the unsecure portion of the first memory unit when the GPU is in the secure mode. 12. The method of claim 10 , further comprising: placing the GPU in a secure mode or an unsecure mode with a graphics driver. 13. The method of claim 12 , further comprising: providing, with the graphics driver, the GPU with the range of virtual memory addresses, including the first range of virtual memory addresses and the second range of virtual memory addresses. 14. The method of claim 13 , further comprising: supplying, with a secure operating system executing on a central processing unit (CPU), the secure page table to the secure memory management unit and the unsecure page table to the unsecure memory management unit. 15. The method of claim 14 , further comprising: sending an instruction from the secure operating system to a clear register of the GPU that causes the GPU to clear and invalidate at least some content from one or more internal memories when the GPU is transitioned from the secure mode to the unsecure mode. 16. The method of claim 14 , further comprising: sending an instruction from the graphics driver to a command stream register of the GPU that causes the GPU to clear and invalidate at least some content from one or more internal memories when the GPU is transitioned from the secure mode to the unsecure mode. 17. The method of claim 10 , further comprising: writing data to the unsecure portion of the first memory, with one or more hardware blocks of the GPU, regardless of whether the GPU is in the unsecure mode or the secure mode, wherein the one or more hardware blocks do not have read access to the secure portion of the first memory unit. 18. The method of claim 17 , wherein the one or more hardware blocks includes a front end command processor. 19. An apparatus configured for graphics processing comprising: means for accessing a first memory unit according to one of an unsecure mode and a secure mode, wherein the means for accessing comprises: means for allowing the GPU to read data from only an unsecure portion of the first memory unit when the GPU is in the unsecure mode, and means for allowing the GPU to write data only to a secure portion of the first memory unit when the GPU is in the secure mode; means for writing data to the secure portion of the first memory unit by utilizing a secure memory management unit, the secure memory management unit utilizing a secure page table containing a first range of virtual memory addresses for the secure portion of the first memory unit, and means for reading data from the unsecure portion of the first memory unit by utilizing an unsecure memory management un

Assignees

Inventors

Classifications

  • G06F21/10Primary

    Protecting distributed programs or content, e.g. vending or licensing of copyrighted material (protection in video systems or pay television H04N7/16) {; Digital rights management [DRM]} · CPC title

  • G06F21/53Primary

    by executing in a restricted environment, e.g. sandbox or secure virtual machine · CPC title

  • Physics · mapped topic

  • Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems · CPC title

  • using page tables, e.g. page table structures · 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 US8931108B2 cover?
A graphics processing unit (GPU) is configured to access a first memory unit according to one of an unsecure mode and a secure mode. The GPU may include a memory access controller configured to allow the GPU to read data from only an unsecure portion of the first memory unit when the GPU is in the unsecure mode, and configured to allow the GPU to write data only to a secure portion of the first…
Who is the assignee on this patent?
Qualcomm Inc
What technology area does this patent fall under?
Primary CPC classification G06F21/10. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 06 2015 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).