JP5917784B1 - グラフィックス処理ユニットのためのハードウェアによるコンテンツ保護 - Google Patents
グラフィックス処理ユニットのためのハードウェアによるコンテンツ保護 Download PDFInfo
- Publication number
- JP5917784B1 JP5917784B1 JP2015557988A JP2015557988A JP5917784B1 JP 5917784 B1 JP5917784 B1 JP 5917784B1 JP 2015557988 A JP2015557988 A JP 2015557988A JP 2015557988 A JP2015557988 A JP 2015557988A JP 5917784 B1 JP5917784 B1 JP 5917784B1
- Authority
- JP
- Japan
- Prior art keywords
- gpu
- memory
- secure
- insecure
- mode
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims abstract description 101
- 230000015654 memory Effects 0.000 claims abstract description 474
- 238000000034 method Methods 0.000 claims abstract description 58
- 230000007704 transition Effects 0.000 claims description 16
- 238000007726 management method Methods 0.000 description 43
- 239000000872 buffer Substances 0.000 description 22
- 238000009877 rendering Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 13
- 238000013507 mapping Methods 0.000 description 11
- 230000009466 transformation Effects 0.000 description 11
- 238000005192 partition Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000000844 transformation Methods 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000002772 conduction electron Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 239000002159 nanocrystal Substances 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/74—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
- Image Generation (AREA)
Abstract
Description
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1] グラフィックス処理のための装置であって、
非安全モード及び安全モードの1つに従って、第1のメモリユニットにアクセスするように構成されたグラフィックス処理ユニット(GPU)を備え、前記GPUは、
前記GPUが前記非安全モードにあるとき、前記GPUが前記第1のメモリユニットの安全でない部分のみからデータを読み取ることを可能にするように構成され、及び前記GPUが前記安全モードにあるとき、前記GPUが前記第1のメモリユニットの安全な部分のみにデータを書き込むことを可能にするように構成されたメモリアクセスコントローラを備える、装置。
[C2] 前記メモリアクセスコントローラは、前記GPUが前記非安全モードにあるとき、前記GPUが前記第1のメモリユニットの前記安全でない部分のみにデータを書き込むことを可能にするように構成され、
前記メモリアクセスコントローラは、前記GPUが前記安全モードにあるとき、前記GPUが前記第1のメモリユニットの前記安全な部分及び前記安全でない部分からデータを読み取ることを可能にするように構成されている、C1に記載の装置。
[C3] 前記メモリアクセスコントローラは、安全なメモリ管理ユニットを利用することによって、前記第1のメモリユニットの前記安全な部分にデータを書き込むように構成され、前記安全なメモリ管理ユニットは、前記第1のメモリユニットの前記安全な部分に対するアドレス範囲を含む安全なページテーブルを利用し、
ここにおいて、前記メモリアクセスコントローラは、安全でないメモリマネージユニットを利用することによって、前記第1のメモリユニットの前記安全でない部分からデータを読み取るように構成され、前記安全でないメモリ管理ユニットは、前記第1のメモリユニットの前記安全でない部分に対するアドレス範囲を含む安全でないページテーブルを利用する、C1に記載の装置。
[C4] 前記メモリアクセスコントローラは、仮想メモリアドレスに従って、仮想メモリアドレスの範囲からデータを読み取り及び書き込み、ここにおいて、仮想メモリアドレスの前記範囲は、前記安全なメモリ管理ユニットによって利用される前記安全なページテーブルにおける入力に関連する仮想メモリアドレスの第1の範囲と、前記安全でないメモリ管理ユニットによって利用される前記安全でないページテーブルにおける入力に関連する仮想メモリアドレスの第2の範囲とを含む、C3に記載の装置。
[C5] グラフィックスドライバを記憶した第2のメモリユニットを更に備え、前記グラフィックスドライバは、安全モード又は非安全モードに前記GPUを配置するように構成される、C4に記載の装置。
[C6] 前記グラフィックスドライバは更に、前記GPUに、仮想メモリアドレスの前記第1の範囲と、仮想メモリアドレスの前記第2の範囲とを含む、仮想メモリアドレスの前記範囲を提供するように構成される、C5に記載の装置。
[C7] 前記安全なメモリ管理ユニットと、
前記安全でないメモリ管理ユニットと、
安全なオペレーティングシステム及び前記グラフィックスドライバを実行する中央処理装置(CPU)とを更に備え、前記安全なオペレーティングシステムは、前記安全なページテーブルを前記安全なメモリ管理ユニットに、及び前記安全でないページテーブルを前記安全でないメモリ管理ユニットに供給するように構成される、C6に記載の装置。
[C8] 前記GPUは更に、クリアレジスタ及び1つ以上の内部メモリを備え、ここにおいて、前記安全なオペレーティングシステムは、前記GPUが前記安全モードから前記非安全モードに遷移されるとき、前記GPUに、前記1つ以上の内部メモリからの少なくとも一部のコンテンツをクリア及び無効化することをさせる命令を、前記クリアレジスタに送信するように構成される、C7に記載の装置。
[C9] 前記GPUは更に、コマンドストリームレジスタ及び1つ以上の内部メモリを備え、ここにおいて、前記グラフィックスドライバは、前記GPUが前記安全モードから前記非安全モードに遷移されるとき、前記GPUに、前記1つ以上の内部メモリからの少なくとも一部のコンテンツをクリア及び無効化することをさせる命令を、前記コマンドストリームレジスタに送信するように構成される、C7に記載の装置。
[C10] 前記GPUは更に、
前記GPUが前記非安全モード又は前記安全モードにあるかに関わらず、前記第1のメモリの前記安全でない部分にデータを書き込むように構成された1つ以上のハードウェアブロックを備え、ここにおいて、前記1つ以上のハードウェアブロックは、前記第1のメモリユニットの前記安全な部分への読み取りアクセスを有しない、C1に記載の装置。
[C11] 前記1つ以上のハードウェアブロックは、フロントエンドコマンドプロセッサを含む、C10に記載の装置。
[C12] グラフィックス処理の方法であって、
グラフィックス処理ユニット(GPU)で、非安全モード及び安全モードの1つに従って、第1のメモリユニットにアクセスすることを備え、ここにおいて、アクセスすることは、
前記GPUが前記非安全モードにあるとき、前記GPUが前記第1のメモリユニットの安全でない部分のみからデータを読み取ることを可能にすることと、
前記GPUが前記安全モードにあるとき、前記GPUが前記第1のメモリユニットの安全な部分のみにデータを書き込むことを可能にすることとを備える、方法。
[C13] 前記GPUが前記非安全モードにあるとき、前記GPUが前記第1のメモリユニットの前記安全でない部分のみにデータを書き込むことを可能にすることと、
前記GPUが前記安全モードにあるとき、前記GPUが前記第1のメモリユニットの前記安全な部分及び前記安全でない部分からデータを読み取ることを可能にすることとを更に備える、C12に記載の方法。
[C14] 安全なメモリ管理ユニットを利用することによって、前記第1のメモリユニットの前記安全な部分にデータを書き込むことと、前記安全なメモリ管理ユニットは、前記第1のメモリユニットの前記安全な部分に対するアドレス範囲を含む安全なページテーブルを利用し、
安全でないメモリ管理ユニットを利用することによって、前記第1のメモリユニットの前記安全でない部分からデータを読み取ることと、前記安全でないメモリ管理ユニットは、前記第1のメモリユニットの前記安全でない部分に対するアドレス範囲を含む安全でないページテーブルを利用するを更に備える、C12に記載の方法。
[C15] 仮想メモリアドレスに従って、仮想メモリアドレスの範囲からデータを読み取り及び書き込むことを更に備え、ここにおいて、仮想メモリアドレスの前記範囲は、前記安全なメモリ管理ユニットによって利用される前記安全なページテーブルにおける入力に関連する仮想メモリアドレスの第1の範囲と、前記安全でないメモリ管理ユニットによって利用される前記安全でないページテーブルにおける入力に関連する仮想メモリアドレスの第2の範囲とを含む、C14に記載の方法。
[C16] グラフィックスドライバで、安全モード又は非安全モードに前記GPUを配置することを更に備える、C15に記載の方法。
[C17] 前記グラフィックスドライバで、仮想メモリアドレスの前記第1の範囲及び仮想メモリアドレスの前記第2の範囲を含む、仮想メモリアドレスの前記範囲を前記GPUに提供することを更に備える、C16に記載の方法。
[C18] 中央処理装置(CPU)上で実行する安全なオペレーティングシステムで、前記安全なページテーブルを前記安全なメモリ管理ユニットに、及び前記安全でないページテーブルを前記安全でないメモリ管理ユニットに供給することを更に備える、C17に記載の方法。
[C19] 前記GPUが前記安全モードから前記非安全モードに遷移されるとき、前記GPUに、1つ以上の内部メモリからの少なくとも一部のコンテンツをクリア及び無効化することをさせる命令を、前記安全なオペレーティングシステムから前記GPUのクリアレジスタに送信することを更に備える、C18に記載の方法。
[C20] 前記GPUが前記安全モードから前記非安全モードに遷移されるとき、前記GPUに、1つ以上の内部メモリからの少なくとも一部のコンテンツをクリア及び無効化することをさせる命令を、前記グラフィックスドライバから前記GPUのコマンドストリームレジスタに送信することを更に備える、C18に記載の方法。
[C21] 前記GPUが前記非安全モード又は前記安全モードにあるかに関わらず、前記GPUの1つ以上のハードウェアブロックで、前記第1のメモリの前記安全でない部分にデータを書き込むことを更に備え、ここにおいて、前記1つ以上のハードウェアブロックは、前記第1のメモリユニットの前記安全な部分への読み取りアクセスを有しない、C12に記載の方法。
[C22] 前記1つ以上のハードウェアブロックは、フロントエンドコマンドプロセッサを含む、C21に記載の方法。
[C23] グラフィックス処理に対して構成された装置であって、
グラフィックス処理ユニット(GPU)で、非安全モード及び安全モードの1つに従って、第1のメモリユニットにアクセスするための手段を備え、ここにおいて、前記アクセスするための手段は、
前記GPUが前記非安全モードにあるとき、前記GPUが前記第1のメモリユニットの安全でない部分のみからデータを読み取ることを可能にするための手段と、
前記GPUが前記安全モードにあるとき、前記GPUが前記第1のメモリユニットの安全な部分のみにデータを書き込むことを可能にするための手段とを備える、装置。
[C24] 前記GPUが前記非安全モードにあるとき、前記GPUが前記第1のメモリユニットの安全でない部分のみにデータを書き込むことを可能にするための手段と、
前記GPUが前記安全モードにあるとき、前記GPUが前記第1のメモリユニットの前記安全な部分及び前記安全でない部分からデータを読み取ることを可能にするための手段とを更に備える、C23に記載の装置。
[C25] 安全なメモリ管理ユニットを利用することによって、前記第1のメモリユニットの前記安全な部分にデータを書き込むための手段と、前記安全なメモリ管理ユニットは、前記第1のメモリユニットの前記安全な部分に対するアドレス範囲を含む安全なページテーブルを利用し、
安全でないメモリ管理ユニットを利用することによって、前記第1のメモリユニットの前記安全でない部分からデータを読み取るための手段と、前記安全でないメモリ管理ユニットは、前記第1のメモリユニットの前記安全でない部分に対するアドレス範囲を含む安全でないページテーブルを利用するを更に備える、C23に記載の装置。
[C26] 仮想メモリアドレスに従って、仮想メモリアドレスの範囲からデータを読み取り及び書き込むための手段を更に備え、ここにおいて、仮想メモリアドレスの前記範囲は、前記安全なメモリ管理ユニットによって利用される前記安全なページテーブルにおける入力に関連する仮想メモリアドレスの第1の範囲と、前記安全でないメモリ管理ユニットによって利用される前記安全でないページテーブルにおける入力に関連する仮想メモリアドレスの第2の範囲とを含む、C25に記載の装置。
[C27] グラフィックスドライバで、安全モード又は非安全モードに前記GPUを配置するための手段を更に備える、C26に記載の装置。
[C28] 前記グラフィックスドライバで、仮想メモリアドレスの前記第1の範囲及び仮想メモリアドレスの前記第2の範囲を含む、仮想メモリアドレスの前記範囲を前記GPUに提供するための手段を更に備える、C27に記載の装置。
[C29] 中央処理装置(CPU)上で実行する安全なオペレーティングシステムで、前記安全なページテーブルを前記安全なメモリ管理ユニットに、及び前記安全でないページテーブルを前記安全でないメモリ管理ユニットに供給するための手段を更に備える、C28に記載の装置。
[C30] 前記GPUが前記安全モードから前記非安全モードに遷移されるとき、前記GPUに、1つ以上の内部メモリからの少なくとも一部のコンテンツをクリア及び無効化することをさせる命令を、前記安全なオペレーティングシステムから前記GPUのクリアレジスタに送信するための手段を更に備える、C29に記載の装置。
[C31] 前記GPUが前記安全モードから前記非安全モードに遷移されるとき、前記GPUに、1つ以上の内部メモリからの少なくとも一部のコンテンツをクリア及び無効化することをさせる命令を、前記グラフィックスドライバから前記GPUのコマンドストリームレジスタに送信するための手段を更に備える、C29に記載の装置。
[C32] 前記GPUが前記非安全モード又は前記安全モードにあるかに関わらず、前記GPUの1つ以上のハードウェアブロックで、前記第1のメモリの前記安全でない部分にデータを書き込むための手段を更に備え、ここにおいて、前記1つ以上のハードウェアブロックは、前記第1のメモリユニットの前記安全な部分への読み取りアクセスを有しない、C23に記載の装置。
[C33] 前記1つ以上のハードウェアブロックは、フロントエンドコマンドプロセッサを含む、C32に記載の装置。
Claims (21)
- グラフィックス処理のための装置であって、
非安全モード及び安全モードの1つに従って、第1のメモリユニットにアクセスするように構成されたグラフィックス処理ユニット(GPU)を備え、前記GPUは、
前記GPUが前記非安全モードにあるとき、前記GPUが前記第1のメモリユニットの安全でない部分のみからデータを読み取ることを可能にするように構成され、及び前記GPUが前記安全モードにあるとき、前記GPUが前記第1のメモリユニットの安全な部分のみにデータを書き込むことを可能にするように構成されたメモリアクセスコントローラを備える、
ここにおいて、前記メモリアクセスコントローラは、安全なメモリ管理ユニットを利用することによって、前記第1のメモリユニットの前記安全な部分にデータを書き込むように構成され、前記安全なメモリ管理ユニットは、前記第1のメモリユニットの前記安全な部分に対する仮想メモリアドレスの第1の範囲を含む安全なページテーブルを利用し、
ここにおいて、前記メモリアクセスコントローラは、安全でないメモリマネージユニットを利用することによって、前記第1のメモリユニットの前記安全でない部分からデータを読み取るように構成され、前記安全でないメモリ管理ユニットは、前記第1のメモリユニットの前記安全でない部分に対する仮想メモリアドレスの第2の範囲を含む安全でないページテーブルを利用する、
装置。 - 前記メモリアクセスコントローラは、前記GPUが前記非安全モードにあるとき、前記GPUが前記第1のメモリユニットの前記安全でない部分のみにデータを書き込むことを可能にするように構成され、
前記メモリアクセスコントローラは、前記GPUが前記安全モードにあるとき、前記GPUが前記第1のメモリユニットの前記安全な部分及び前記安全でない部分からデータを読み取ることを可能にするように構成されている、請求項1に記載の装置。 - グラフィックスドライバを記憶した第2のメモリユニットを更に備え、前記グラフィックスドライバは、安全モード又は非安全モードに前記GPUを配置するように構成される、請求項1に記載の装置。
- 前記グラフィックスドライバは更に、前記GPUに、仮想メモリアドレスの前記第1の範囲と、仮想メモリアドレスの前記第2の範囲とを含む、仮想メモリアドレスの前記範囲を提供するように構成される、請求項3に記載の装置。
- 前記安全なメモリ管理ユニットと、
前記安全でないメモリ管理ユニットと、
安全なオペレーティングシステム及び前記グラフィックスドライバを実行する中央処理装置(CPU)とを更に備え、前記安全なオペレーティングシステムは、前記安全なページテーブルを前記安全なメモリ管理ユニットに、及び前記安全でないページテーブルを前記安全でないメモリ管理ユニットに供給するように構成される、請求項4に記載の装置。 - 前記GPUは更に、クリアレジスタ及び1つ以上の内部メモリを備え、ここにおいて、前記安全なオペレーティングシステムは、前記GPUが前記安全モードから前記非安全モードに遷移されるとき、前記GPUに、前記1つ以上の内部メモリからの少なくとも一部のコンテンツをクリア及び無効化することをさせる命令を、前記クリアレジスタに送信するように構成される、請求項5に記載の装置。
- 前記GPUは更に、コマンドストリームレジスタ及び1つ以上の内部メモリを備え、ここにおいて、前記グラフィックスドライバは、前記GPUが前記安全モードから前記非安全モードに遷移されるとき、前記GPUに、前記1つ以上の内部メモリからの少なくとも一部のコンテンツをクリア及び無効化することをさせる命令を、前記コマンドストリームレジスタに送信するように構成される、請求項5に記載の装置。
- 前記GPUは更に、
前記GPUが前記非安全モード又は前記安全モードにあるかに関わらず、前記第1のメモリの前記安全でない部分にデータを書き込むように構成された1つ以上のハードウェアブロックを備え、ここにおいて、前記1つ以上のハードウェアブロックは、前記第1のメモリユニットの前記安全な部分への読み取りアクセスを有しない、請求項1に記載の装置。 - 前記1つ以上のハードウェアブロックは、フロントエンドコマンドプロセッサを含む、請求項8に記載の装置。
- グラフィックス処理の方法であって、
グラフィックス処理ユニット(GPU)で、非安全モード及び安全モードの1つに従って、第1のメモリユニットにアクセスすることを備え、ここにおいて、アクセスすることは、
前記GPUが前記非安全モードにあるとき、前記GPUが前記第1のメモリユニットの安全でない部分のみからデータを読み取ることを可能にすることと、
前記GPUが前記安全モードにあるとき、前記GPUが前記第1のメモリユニットの安全な部分のみにデータを書き込むことを可能にすることとを備え、
安全なメモリ管理ユニットを利用することによって、前記第1のメモリユニットの前記安全な部分にデータを書き込むことと、前記安全なメモリ管理ユニットは、前記第1のメモリユニットの前記安全な部分に対する仮想メモリアドレスの第1の範囲を含む安全なページテーブルを利用し、
安全でないメモリ管理ユニットを利用することによって、前記第1のメモリユニットの前記安全でない部分からデータを読み取ることと、前記安全でないメモリ管理ユニットは、前記第1のメモリユニットの前記安全でない部分に対する仮想メモリアドレスの第2の範囲を含む安全でないページテーブルを利用する、
を備える、方法。 - 前記GPUが前記非安全モードにあるとき、前記GPUが前記第1のメモリユニットの前記安全でない部分のみにデータを書き込むことを可能にすることと、
前記GPUが前記安全モードにあるとき、前記GPUが前記第1のメモリユニットの前記安全な部分及び前記安全でない部分からデータを読み取ることを可能にすることとを更に備える、請求項10に記載の方法。 - グラフィックスドライバで、安全モード又は非安全モードに前記GPUを配置することを更に備える、請求項10に記載の方法。
- 前記グラフィックスドライバで、仮想メモリアドレスの前記第1の範囲及び仮想メモリアドレスの前記第2の範囲を含む、仮想メモリアドレスの前記範囲を前記GPUに提供することを更に備える、請求項12に記載の方法。
- 中央処理装置(CPU)上で実行する安全なオペレーティングシステムで、前記安全なページテーブルを前記安全なメモリ管理ユニットに、及び前記安全でないページテーブルを前記安全でないメモリ管理ユニットに供給することを更に備える、請求項13に記載の方法。
- 前記GPUが前記安全モードから前記非安全モードに遷移されるとき、前記GPUに、1つ以上の内部メモリからの少なくとも一部のコンテンツをクリア及び無効化することをさせる命令を、前記安全なオペレーティングシステムから前記GPUのクリアレジスタに送信することを更に備える、請求項14に記載の方法。
- 前記GPUが前記安全モードから前記非安全モードに遷移されるとき、前記GPUに、1つ以上の内部メモリからの少なくとも一部のコンテンツをクリア及び無効化することをさせる命令を、前記グラフィックスドライバから前記GPUのコマンドストリームレジスタに送信することを更に備える、請求項14に記載の方法。
- 前記GPUが前記非安全モード又は前記安全モードにあるかに関わらず、前記GPUの1つ以上のハードウェアブロックで、前記第1のメモリの前記安全でない部分にデータを書き込むことを更に備え、ここにおいて、前記1つ以上のハードウェアブロックは、前記第1のメモリユニットの前記安全な部分への読み取りアクセスを有しない、請求項10に記載の方法。
- 前記1つ以上のハードウェアブロックは、フロントエンドコマンドプロセッサを含む、請求項17に記載の方法。
- グラフィックス処理に対して構成された装置であって、
非安全モード及び安全モードの1つに従って、第1のメモリユニットにアクセスするための手段を備え、ここにおいて、前記アクセスするための手段は、
前記GPUが前記非安全モードにあるとき、前記GPUが前記第1のメモリユニットの安全でない部分のみからデータを読み取ることを可能にするための手段と、
前記GPUが前記安全モードにあるとき、前記GPUが前記第1のメモリユニットの安全な部分のみにデータを書き込むことを可能にするための手段とを備え、
安全なメモリ管理ユニットを利用することによって、前記第1のメモリユニットの前記安全な部分にデータを書き込むための手段と、前記安全なメモリ管理ユニットは、前記第1のメモリユニットの前記安全な部分に対する仮想メモリアドレスの第1の範囲を含む安全なページテーブルを利用し、
安全でないメモリ管理ユニットを利用することによって、前記第1のメモリユニットの前記安全でない部分からデータを読み取るための手段と、前記安全でないメモリ管理ユニットは、前記第1のメモリユニットの前記安全でない部分に対する仮想メモリアドレスの第2の範囲を含む安全でないページテーブルを利用する、
を備える、装置。 - 前記GPUが前記非安全モードにあるとき、前記GPUが前記第1のメモリユニットの安全でない部分のみにデータを書き込むことを可能にするための手段と、
前記GPUが前記安全モードにあるとき、前記GPUが前記第1のメモリユニットの前記安全な部分及び前記安全でない部分からデータを読み取ることを可能にするための手段とを更に備える、請求項19に記載の装置。 - 前記GPUが前記非安全モード又は前記安全モードにあるかに関わらず、前記第1のメモリの前記安全でない部分にデータを書き込むための手段を更に備え、ここにおいて、前記1つ以上のハードウェアブロックは、前記第1のメモリユニットの前記安全な部分への読み取りアクセスを有しない、請求項19に記載の装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/769,687 US8931108B2 (en) | 2013-02-18 | 2013-02-18 | Hardware enforced content protection for graphics processing units |
US13/769,687 | 2013-02-18 | ||
PCT/US2013/032984 WO2014126597A1 (en) | 2013-02-18 | 2013-03-19 | Hardware enforced content protection for graphics processing units |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5917784B1 true JP5917784B1 (ja) | 2016-05-18 |
JP2016516224A JP2016516224A (ja) | 2016-06-02 |
Family
ID=48045127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015557988A Active JP5917784B1 (ja) | 2013-02-18 | 2013-03-19 | グラフィックス処理ユニットのためのハードウェアによるコンテンツ保護 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8931108B2 (ja) |
EP (1) | EP2956881B1 (ja) |
JP (1) | JP5917784B1 (ja) |
KR (1) | KR101649089B1 (ja) |
CN (1) | CN104981811B (ja) |
WO (1) | WO2014126597A1 (ja) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9507961B2 (en) * | 2013-07-01 | 2016-11-29 | Qualcomm Incorporated | System and method for providing secure access control to a graphics processing unit |
US9672162B2 (en) * | 2013-08-16 | 2017-06-06 | Arm Limited | Data processing systems |
US9170957B2 (en) * | 2013-08-29 | 2015-10-27 | Qualcomm Incorporated | Distributed dynamic memory management unit (MMU)-based secure inter-processor communication |
US9569385B2 (en) * | 2013-09-09 | 2017-02-14 | Nvidia Corporation | Memory transaction ordering |
US10515231B2 (en) * | 2013-11-08 | 2019-12-24 | Symcor Inc. | Method of obfuscating relationships between data in database tables |
US9886736B2 (en) | 2014-01-20 | 2018-02-06 | Nvidia Corporation | Selectively killing trapped multi-process service clients sharing the same hardware context |
KR102218202B1 (ko) * | 2014-08-01 | 2021-02-23 | 삼성전자주식회사 | 반도체 장치 |
KR102297383B1 (ko) * | 2014-09-25 | 2021-09-03 | 삼성전자주식회사 | 보안 데이터 처리 |
US9690928B2 (en) * | 2014-10-25 | 2017-06-27 | Mcafee, Inc. | Computing platform security methods and apparatus |
US11010054B1 (en) * | 2015-06-10 | 2021-05-18 | EMC IP Holding Company LLC | Exabyte-scale data processing system |
US10503416B1 (en) | 2015-06-10 | 2019-12-10 | EMC IP Holdings Company LLC | Flash memory complex with a replication interface to replicate data to another flash memory complex of a data processing system |
US10713334B1 (en) | 2015-06-10 | 2020-07-14 | EMC IP Holding Company LLC | Data processing system with a scalable architecture over ethernet |
US10496284B1 (en) | 2015-06-10 | 2019-12-03 | EMC IP Holding Company LLC | Software-implemented flash translation layer policies in a data processing system |
US10515014B1 (en) | 2015-06-10 | 2019-12-24 | EMC IP Holding Company LLC | Non-uniform memory access (NUMA) mechanism for accessing memory with cache coherence |
US9767320B2 (en) * | 2015-08-07 | 2017-09-19 | Qualcomm Incorporated | Hardware enforced content protection for graphics processing units |
US10102391B2 (en) * | 2015-08-07 | 2018-10-16 | Qualcomm Incorporated | Hardware enforced content protection for graphics processing units |
GB2544452B (en) * | 2015-08-26 | 2019-09-11 | Advanced Risc Mach Ltd | Data processing systems |
US9734095B2 (en) | 2015-09-01 | 2017-08-15 | International Business Machines Corporation | Nonvolatile memory data security |
EP3246845B1 (en) | 2016-05-17 | 2018-12-05 | Inside Secure | Secure asset management system |
FR3054945B1 (fr) | 2016-08-05 | 2019-09-06 | Viaccess | Procede de lecture et de generation d'un flux video contenant des images compressees et chiffrees |
US10223292B2 (en) * | 2016-11-28 | 2019-03-05 | Microsoft Technology Licensing, Llc | Securing stream buffers |
US10848483B2 (en) * | 2016-12-08 | 2020-11-24 | Ricoh Company, Ltd. | Shared terminal, communication system, and display control method, and recording medium |
CN112506568A (zh) | 2016-12-31 | 2021-03-16 | 英特尔公司 | 用于异构计算的系统、方法和装置 |
JP2018181162A (ja) * | 2017-04-19 | 2018-11-15 | 富士通株式会社 | 情報処理装置、情報処理方法、及び情報処理システム |
FR3065607B1 (fr) | 2017-04-20 | 2019-06-14 | Viaccess | Procede de lecture d'un flux video |
US10614356B2 (en) * | 2017-04-24 | 2020-04-07 | International Business Machines Corporation | Local multicast in single-host multi-GPU machine for distributed deep learning systems |
US10824467B2 (en) * | 2018-08-07 | 2020-11-03 | Arm Limited | Data processing system with protected mode of operation for processing protected content |
US10534730B1 (en) * | 2018-12-20 | 2020-01-14 | Ati Technologies Ulc | Storing microcode for a virtual function in a trusted memory region |
US11347869B2 (en) | 2019-03-08 | 2022-05-31 | International Business Machines Corporation | Secure interface control high-level page management |
US11403409B2 (en) * | 2019-03-08 | 2022-08-02 | International Business Machines Corporation | Program interruptions for page importing/exporting |
US11206128B2 (en) | 2019-03-08 | 2021-12-21 | International Business Machines Corporation | Secure paging with page change detection |
KR20210125330A (ko) * | 2020-04-08 | 2021-10-18 | 삼성전자주식회사 | 보안 데이터 처리 방법 및 이를 지원하는 전자 장치 |
JP7164267B2 (ja) * | 2020-12-07 | 2022-11-01 | インテル・コーポレーション | ヘテロジニアスコンピューティングのためのシステム、方法及び装置 |
IL280027B1 (en) * | 2021-01-07 | 2024-09-01 | Sec Labs Ltd High | A device for improved secure mediation between console peripherals and host computers |
KR102346900B1 (ko) * | 2021-08-05 | 2022-01-04 | 주식회사 애자일소다 | 픽 앤 플레이스 시스템을 위한 심층 강화학습 장치 및 방법 |
FR3129505B1 (fr) * | 2021-11-25 | 2023-11-24 | Stmicroelectronics Grand Ouest Sas | Procédé d’exécution d’un programme logiciel par une unité de traitement comprenant une phase de compilation. |
US20230222010A1 (en) * | 2022-01-10 | 2023-07-13 | Nvidia Corporation | Application programming interface to indicate execution of graph nodes |
US20240111688A1 (en) * | 2022-09-30 | 2024-04-04 | Advanced Micro Devices, Inc. | Memory access engine |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4184201A (en) * | 1978-04-26 | 1980-01-15 | Sperry Rand Corporation | Integrating processor element |
US6986052B1 (en) * | 2000-06-30 | 2006-01-10 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition |
US7055038B2 (en) | 2001-05-07 | 2006-05-30 | Ati International Srl | Method and apparatus for maintaining secure and nonsecure data in a shared memory system |
US7065651B2 (en) | 2002-01-16 | 2006-06-20 | Microsoft Corporation | Secure video card methods and systems |
EP1495401B1 (en) * | 2002-04-18 | 2007-01-24 | Advanced Micro Devices, Inc. | Initialization of a computer system including a secure execution mode-capable processor |
KR20040000348A (ko) * | 2002-06-24 | 2004-01-03 | 마이크로소프트 코포레이션 | 비디오 카드 출력을 보호하기 위한 시스템 및 방법 |
RU2005115083A (ru) * | 2002-11-18 | 2006-01-20 | Арм Лимитед (Gb) | Переключение процессора между защищенным и незащищенным режимами |
US7474312B1 (en) * | 2002-11-25 | 2009-01-06 | Nvidia Corporation | Memory redirect primitive for a secure graphics processing unit |
US7444523B2 (en) * | 2004-08-27 | 2008-10-28 | Microsoft Corporation | System and method for using address bits to signal security attributes of data in the address space |
US7782329B2 (en) * | 2004-12-10 | 2010-08-24 | Rockwell Collins, Inc. | Method and apparatus for protected graphics generation |
GB0427973D0 (en) * | 2004-12-21 | 2005-01-26 | Falanx Microsystems As | Microprocessor systems |
DE602006009366D1 (de) * | 2005-12-14 | 2009-11-05 | Nvidia Corp | Chipsatzsicherheits-Offload-Engine |
US7610464B2 (en) * | 2006-02-22 | 2009-10-27 | Sony Computer Entertainment Inc. | Methods and apparatus for providing independent logical address space and access management |
US7809934B2 (en) | 2006-10-13 | 2010-10-05 | Texas Instruments Incorporated | Security measures for preventing attacks that use test mechanisms |
US20090079746A1 (en) * | 2007-09-20 | 2009-03-26 | Apple Inc. | Switching between graphics sources to facilitate power management and/or security |
US8478959B1 (en) * | 2007-11-13 | 2013-07-02 | Nvidia Corporation | Method and system for protecting content in graphics memory |
US20090150631A1 (en) | 2007-12-06 | 2009-06-11 | Clifton Labs, Inc. | Self-protecting storage device |
US8156565B2 (en) * | 2008-04-28 | 2012-04-10 | Microsoft Corporation | Hardware-based protection of secure data |
US8393008B2 (en) | 2008-05-21 | 2013-03-05 | Microsoft Corporation | Hardware-based output protection of multiple video streams |
US8243088B2 (en) * | 2009-02-26 | 2012-08-14 | Presagis | Two dimensional memory access controller |
WO2011074168A1 (ja) * | 2009-12-14 | 2011-06-23 | パナソニック株式会社 | 情報処理装置 |
US8296538B2 (en) * | 2010-02-17 | 2012-10-23 | Arm Limited | Storing secure mode page table data in secure and non-secure regions of memory |
JP5485055B2 (ja) | 2010-07-16 | 2014-05-07 | パナソニック株式会社 | 共有メモリシステム及びその制御方法 |
GB2482700A (en) * | 2010-08-11 | 2012-02-15 | Advanced Risc Mach Ltd | Memory access control |
GB2484717B (en) * | 2010-10-21 | 2018-06-13 | Advanced Risc Mach Ltd | Security provision for a subject image displayed in a non-secure domain |
US8943330B2 (en) * | 2011-05-10 | 2015-01-27 | Qualcomm Incorporated | Apparatus and method for hardware-based secure data processing using buffer memory address range rules |
US9086989B2 (en) * | 2011-07-01 | 2015-07-21 | Synopsys, Inc. | Extending processor MMU for shared address spaces |
US20130166922A1 (en) * | 2011-12-23 | 2013-06-27 | Ati Technologies Ulc | Method and system for frame buffer protection |
-
2013
- 2013-02-18 US US13/769,687 patent/US8931108B2/en active Active
- 2013-03-19 CN CN201380072797.XA patent/CN104981811B/zh active Active
- 2013-03-19 JP JP2015557988A patent/JP5917784B1/ja active Active
- 2013-03-19 EP EP13713702.2A patent/EP2956881B1/en active Active
- 2013-03-19 WO PCT/US2013/032984 patent/WO2014126597A1/en active Application Filing
- 2013-03-19 KR KR1020157025119A patent/KR101649089B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
US8931108B2 (en) | 2015-01-06 |
KR20150119278A (ko) | 2015-10-23 |
CN104981811B (zh) | 2017-09-29 |
EP2956881B1 (en) | 2017-03-08 |
KR101649089B1 (ko) | 2016-08-17 |
WO2014126597A1 (en) | 2014-08-21 |
CN104981811A (zh) | 2015-10-14 |
EP2956881A1 (en) | 2015-12-23 |
JP2016516224A (ja) | 2016-06-02 |
US20140237609A1 (en) | 2014-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5917784B1 (ja) | グラフィックス処理ユニットのためのハードウェアによるコンテンツ保護 | |
JP6385614B1 (ja) | グラフィックス処理ユニットのためのハードウェア強制コンテンツ保護 | |
KR101672150B1 (ko) | 페이지-폴트를 방지하기 위한 gpu 메모리 버퍼 프리-페치 및 프리-백 시그널링 | |
US10102391B2 (en) | Hardware enforced content protection for graphics processing units | |
JP5844485B2 (ja) | グラフィックス処理システムにおけるメモリアクセス帯域幅をデスティネーションアルファ値に基づいて減少させるための技法 | |
JP5847960B2 (ja) | グラフィックス処理における直接レンダリングとビニングとの間の切り換え | |
CN105556487B (zh) | 对页驻留的条件性页错误控制 | |
CN109978977B (zh) | 使用预取的图形数据执行基于图块的渲染的装置和方法 | |
JP6884766B2 (ja) | 帯域幅圧縮グラフィックスデータの記憶 | |
US9779471B2 (en) | Transparent pixel format converter |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160308 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160406 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5917784 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |