JP2018523876A - グラフィックス処理ユニットのためのハードウェア強制コンテンツ保護 - Google Patents
グラフィックス処理ユニットのためのハードウェア強制コンテンツ保護 Download PDFInfo
- Publication number
- JP2018523876A JP2018523876A JP2018505701A JP2018505701A JP2018523876A JP 2018523876 A JP2018523876 A JP 2018523876A JP 2018505701 A JP2018505701 A JP 2018505701A JP 2018505701 A JP2018505701 A JP 2018505701A JP 2018523876 A JP2018523876 A JP 2018523876A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- secure
- gpu
- resource
- unit
- 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.)
- Ceased
Links
- 238000012545 processing Methods 0.000 title claims abstract description 97
- 230000015654 memory Effects 0.000 claims abstract description 714
- 238000000034 method Methods 0.000 claims abstract description 64
- 230000004044 response Effects 0.000 claims description 43
- 230000007704 transition Effects 0.000 claims description 10
- 238000012546 transfer Methods 0.000 claims description 4
- 239000000872 buffer Substances 0.000 description 25
- 238000010586 diagram Methods 0.000 description 18
- 238000009877 rendering Methods 0.000 description 18
- 238000013507 mapping Methods 0.000 description 14
- 230000009466 transformation Effects 0.000 description 13
- 238000007726 management method Methods 0.000 description 12
- 238000000844 transformation Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000002772 conduction electron Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process 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
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 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
- 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
- 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/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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
- Image Generation (AREA)
Abstract
Description
4 ユーザ入力インターフェース
6 中央処理ユニット(CPU)
7 GPUドライバ、グラフィックスドライバ
8 メモリコントローラ
10 システムメモリ
11A メモリユニット
11N メモリユニット
12 グラフィックス処理ユニット(GPU)
14 グラフィックスメモリ
15 フレームバッファ
16 ディスプレイインターフェース
18 ディスプレイ
20 バス、システムバス
22 バス、メモリバス
24 ソフトウェアアプリケーション
26 グラフィックスAPI
30 グラフィックス処理パイプライン、グラフィックス3D処理パイプライン
32 コマンドエンジン
34 ジオメトリ処理ステージ
36 ラスタ化ステージ
38 ピクセル処理パイプライン
39 汎用シェーダ
40 IOMMU
42 仮想ページ
44 物理ページ
44A 部分
44B 部分
50 メモリコントローラ
51 非セキュアIOMMU
52 セキュアIOMMU
53 メモリアクセスコントローラ
54 セキュアオペレーティングシステム(OS)
56 非セキュアメモリ
57 セキュアメモリ
60 VBIF
61 L2キャッシュ
62 コマンドプロセッサ(CP)
65 頂点フェッチ復号(VFD)ユニット
66 高レベルシーケンサ(HLSQ)
67 頂点シェーダ(VS)
68 ピクセルシェーダ(PS)
69 レンダバックエンド(RB)
70 グラフィックスメモリ(GMEM)
71 GPUハードウェアブロック
72 他のレジスタ
73 クライアント
74 クリアレジスタ
76 レジスタ
100 メモリコントローラ
102 非セキュアコンテキストバンク
104 非セキュアPTエントリ
105 セキュアコンテキストバンク
106 非セキュアPTエントリ
108 セキュアPTエントリ
Claims (30)
- グラフィックス処理のための装置であって、
非セキュアモードおよびセキュアモードのうちの1つと、複数のメモリリソースの各々に関連付けられたそれぞれのリソース記述子とに従って、第1のメモリユニットにアクセスするように構成されるグラフィックス処理ユニット(GPU)を備え、前記GPUは、
前記複数のメモリリソースの各々に関連付けられた前記それぞれのリソース記述子を読み取るように構成されるメモリアクセスコントローラを備え、
前記メモリアクセスコントローラは、前記第1のメモリユニットへのメモリトランザクションについての要求を受信するように構成され、
前記メモリアクセスコントローラは、前記要求に応答して、前記GPUが前記セキュアモードに従って動作しているとき、前記それぞれのリソース記述子がセキュアリソース記述子である前記複数のメモリリソースのうちのメモリリソースに関するすべてのメモリ読取りおよび書込みトランザクションを前記第1のメモリユニットのセキュア部分に向けるように構成され、
前記メモリアクセスコントローラは、前記要求に応答して、前記GPUが前記セキュアモードに従って動作しているとき、前記それぞれのリソース記述子が非セキュアリソース記述子である前記複数のメモリリソースのうちのメモリリソースに関するすべてのメモリ読取りトランザクションを前記第1のメモリユニットの非セキュア部分に向けるように構成され、
前記メモリアクセスコントローラは、前記要求に応答して、前記GPUが前記セキュアモードに従って動作しているとき、前記それぞれのリソース記述子が前記非セキュアリソース記述子である前記複数のメモリリソースのうちのメモリリソースに関するすべてのメモリ書込みトランザクションを取り下げるように構成される、
装置。 - 前記メモリアクセスコントローラは、前記要求に応答して、前記GPUが前記非セキュアモードに従って動作しているとき、前記それぞれのリソース記述子が前記非セキュアリソース記述子である前記複数のメモリリソースのうちのメモリリソースに関するメモリ読取りおよび書込みトランザクションを前記第1のメモリユニットの非セキュア部分に向けるようにさらに構成され、
前記メモリアクセスコントローラは、前記要求に応答して、前記GPUが前記非セキュアモードに従って動作しているとき、前記それぞれのリソース記述子が前記セキュアリソース記述子である前記複数のメモリリソースのうちのメモリリソースに関するメモリ読取りおよび書込みトランザクションを取り下げるようにさらに構成される、
請求項1に記載の装置。 - 前記メモリアクセスコントローラは、セキュアメモリ管理ユニットを使用して前記第1のメモリユニットの前記セキュア部分にデータを書き込むように構成され、前記セキュアメモリ管理ユニットは、前記第1のメモリユニットの前記セキュア部分についてのアドレス範囲を含むセキュアページテーブルを使用し、
前記メモリアクセスコントローラは、非セキュアメモリ管理ユニットを使用して前記第1のメモリユニットの前記非セキュア部分からデータを読み取るように構成され、前記非セキュアメモリ管理ユニットは、前記第1のメモリユニットの前記非セキュア部分についてのアドレス範囲を含む非セキュアページテーブルを使用する、
請求項1に記載の装置。 - 前記メモリアクセスコントローラは、仮想メモリアドレスの範囲からの仮想メモリアドレスに従ってデータを読み取りかつ書き込み、前記仮想メモリアドレスの範囲は、前記セキュアメモリ管理ユニットによって使用される前記セキュアページテーブル中のエントリに関する仮想メモリアドレスの第1の範囲、および前記非セキュアメモリ管理ユニットによって使用される前記非セキュアページテーブル中のエントリに関する仮想メモリアドレスの第2の範囲を含む、請求項3に記載の装置。
- グラフィックスドライバを記憶する第2のメモリユニットであって、前記グラフィックスドライバは、前記GPUをセキュアモードまたは非セキュアモードに置くように構成される第2のメモリユニットをさらに備える、請求項4に記載の装置。
- 前記セキュアメモリ管理ユニットと、
前記非セキュアメモリ管理ユニットと、
セキュアオペレーティングシステムおよび前記グラフィックスドライバを実行する中央処理ユニット(CPU)であって、前記セキュアオペレーティングシステムは、前記セキュアページテーブルを前記セキュアメモリ管理ユニットに、かつ前記非セキュアページテーブルを前記非セキュアメモリ管理ユニットに供給するように構成される中央処理ユニットと
をさらに備える、請求項5に記載の装置。 - 前記GPUはクリアレジスタおよび1つまたは複数の内部メモリをさらに備え、前記セキュアオペレーティングシステムは、前記GPUが前記セキュアモードから前記非セキュアモードに遷移されると、前記GPUに少なくとも何らかのコンテンツを前記1つまたは複数の内部メモリからクリアかつ無効にさせる命令を前記クリアレジスタに送信するように構成される、請求項6に記載の装置。
- 前記GPUはコマンドストリームレジスタおよび1つまたは複数の内部メモリをさらに備え、前記グラフィックスドライバは、前記GPUが前記セキュアモードから前記非セキュアモードに遷移されると、前記GPUに少なくとも何らかのコンテンツを前記1つまたは複数の内部メモリからクリアかつ無効にさせる命令を前記コマンドストリームレジスタに送信するように構成される、請求項6に記載の装置。
- 前記GPUは、
前記GPUが前記非セキュアモードにあるか、または前記セキュアモードにあるかにかかわらず、前記第1のメモリの前記非セキュア部分にデータを書き込むように構成される1つまたは複数のハードウェアブロックであって、前記1つまたは複数のハードウェアブロックは、前記第1のメモリユニットの前記セキュア部分への読取りアクセスを有さない、ハードウェアブロック
をさらに備える、請求項1に記載の装置。 - 前記1つまたは複数のハードウェアブロックはフロントエンドコマンドプロセッサを含む、請求項9に記載の装置。
- 複数のメモリリソースのそれぞれのメモリリソースについてのそれぞれのリソース記述子を読み取るステップと、
第1のメモリユニットへのメモリトランザクションについての要求を受信するステップと、
前記要求に応答して、グラフィックス処理ユニット(GPU)がセキュアモードに従って動作しているとき、前記それぞれのリソース記述子がセキュアリソース記述子である前記複数のメモリリソースのうちのメモリリソースに関するメモリ読取りおよび書込みトランザクションを前記第1のメモリユニットのセキュア部分に向けるステップと、
前記要求に応答して、前記GPUが前記セキュアモードに従って動作しているとき、前記それぞれのリソース記述子が非セキュアリソース記述子である前記複数のメモリリソースのうちのメモリリソースに関するメモリ読取りトランザクションを前記第1のメモリユニットの非セキュア部分に向けるステップと、
前記要求に応答して、前記GPUが前記セキュアモードに従って動作しているとき、前記それぞれのリソース記述子が前記非セキュアリソース記述子である前記複数のメモリリソースのうちのメモリリソースに関するメモリ書込みトランザクションを取り下げるステップと
を含む、方法。 - 前記要求に応答して、前記GPUが前記非セキュアモードに従って動作しているとき、前記それぞれのリソース記述子が前記非セキュアリソース記述子である前記複数のメモリリソースのうちのメモリリソースに関するメモリ読取りおよび書込みトランザクションを前記第1のメモリユニットの非セキュア部分に向けるステップと、
前記要求に応答して、前記GPUが前記非セキュアモードに従って動作しているとき、前記それぞれのリソース記述子が前記セキュアリソース記述子である前記複数のメモリリソースのうちのメモリリソースに関するメモリ読取りおよび書込みトランザクションを取り下げるステップと
をさらに含む、請求項11に記載の方法。 - セキュアメモリ管理ユニットを使用して前記第1のメモリユニットの前記セキュア部分にデータを書き込むステップであって、前記セキュアメモリ管理ユニットは、前記第1のメモリユニットの前記セキュア部分についてのアドレス範囲を含むセキュアページテーブルを使用する、ステップと、
非セキュアメモリ管理ユニットを使用して前記第1のメモリユニットの前記非セキュア部分からデータを読み取るステップであって、前記非セキュアメモリ管理ユニットは、前記第1のメモリユニットの前記非セキュア部分についてのアドレス範囲を含む非セキュアページテーブルを使用する、ステップと
をさらに含む、請求項11に記載の方法。 - 仮想メモリアドレスの範囲からの仮想メモリアドレスに従ってデータを読み取りかつ書き込むステップであって、前記仮想メモリアドレスの範囲は、前記セキュアメモリ管理ユニットによって使用される前記セキュアページテーブル中のエントリに関する仮想メモリアドレスの第1の範囲、および前記非セキュアメモリ管理ユニットによって使用される前記非セキュアページテーブル中のエントリに関する仮想メモリアドレスの第2の範囲を含む、ステップ
をさらに含む、請求項13に記載の方法。 - 前記GPUをセキュアモードまたは非セキュアモードに置くステップをさらに含む、請求項14に記載の方法。
- 前記セキュアページテーブルを前記セキュアメモリ管理ユニットに、および前記非セキュアページテーブルを前記非セキュアメモリ管理ユニットに供給するステップ
をさらに含む、請求項15に記載の方法。 - 前記GPUのクリアレジスタに命令を送信するステップと、
前記命令に応答して、前記GPUが前記セキュアモードから前記非セキュアモードに遷移されると、少なくとも何らかのコンテンツを前記1つまたは複数の内部メモリからクリアかつ無効にするステップと
をさらに含む、請求項16に記載の方法。 - 前記GPUのコマンドストリームレジスタに命令を送信するステップと、
前記命令に応答して、前記GPUが前記セキュアモードから前記非セキュアモードに遷移されると、少なくとも何らかのコンテンツを前記1つまたは複数の内部メモリからクリアかつ無効にするステップと
をさらに含む、請求項16に記載の方法。 - 前記GPUが前記非セキュアモードにあるか、または前記セキュアモードにあるかにかかわらず、前記GPUの1つまたは複数のハードウェアブロックから、前記第1のメモリの前記非セキュア部分にデータを書き込むステップであって、前記1つまたは複数のハードウェアブロックは、前記第1のメモリユニットの前記セキュア部分への読取りアクセスを有さない、ステップ
をさらに含む、請求項11に記載の方法。 - 前記1つまたは複数のハードウェアブロックはフロントエンドコマンドプロセッサを含む、請求項19に記載の方法。
- グラフィックス処理のための装置であって、
複数のメモリリソースのそれぞれのメモリリソースについてのそれぞれのリソース記述子を読み取るための手段と、
第1のメモリユニットへのメモリトランザクションについての要求を受信するための手段と、
前記要求に応答して、グラフィックス処理ユニット(GPU)がセキュアモードに従って動作しているとき、前記それぞれのリソース記述子がセキュアリソース記述子である前記複数のメモリリソースのうちのメモリリソースに関するメモリ読取りおよび書込みトランザクションを前記第1のメモリユニットのセキュア部分に向けるための手段と、
前記要求に応答して、前記GPUが前記セキュアモードに従って動作しているとき、前記それぞれのリソース記述子が非セキュアリソース記述子である前記複数のメモリリソースのうちのメモリリソースに関するメモリ読取りトランザクションを前記第1のメモリユニットの非セキュア部分に向けるための手段と、
前記要求に応答して、前記GPUが前記セキュアモードに従って動作しているとき、前記それぞれのリソース記述子が前記非セキュアリソース記述子である前記複数のメモリリソースのうちのメモリリソースに関するメモリ書込みトランザクションを取り下げるための手段と
を備える、装置。 - 前記要求に応答して、前記GPUが前記非セキュアモードに従って動作しているとき、前記それぞれのリソース記述子が前記非セキュアリソース記述子である前記複数のメモリリソースのうちのメモリリソースに関するメモリ読取りおよび書込みトランザクションを前記第1のメモリユニットの非セキュア部分に向けるための手段と、
前記要求に応答して、前記GPUが前記非セキュアモードに従って動作しているとき、前記それぞれのリソース記述子が前記セキュアリソース記述子である前記複数のメモリリソースのうちのメモリリソースに関するメモリ読取りおよび書込みトランザクションを取り下げるための手段と
をさらに備える、請求項21に記載の装置。 - セキュアメモリ管理ユニットを使用して前記第1のメモリユニットの前記セキュア部分にデータを書き込むための手段であって、前記セキュアメモリ管理ユニットは、前記第1のメモリユニットの前記セキュア部分についてのアドレス範囲を含むセキュアページテーブルを使用する、手段と、
非セキュアメモリ管理ユニットを使用して前記第1のメモリユニットの前記非セキュア部分からデータを読み取るための手段であって、前記非セキュアメモリ管理ユニットは、前記第1のメモリユニットの前記非セキュア部分についてのアドレス範囲を含む非セキュアページテーブルを使用する、手段と
をさらに備える、請求項21に記載の装置。 - 仮想メモリアドレスの範囲からの仮想メモリアドレスに従ってデータを読み取りかつ書き込むための手段であって、前記仮想メモリアドレスの範囲は、前記セキュアメモリ管理ユニットによって使用される前記セキュアページテーブル中のエントリに関する仮想メモリアドレスの第1の範囲、および前記非セキュアメモリ管理ユニットによって使用される前記非セキュアページテーブル中のエントリに関する仮想メモリアドレスの第2の範囲を含む、手段
をさらに含む、請求項23に記載の装置。 - 前記GPUをセキュアモードまたは非セキュアモードに置くための手段
をさらに備える、請求項24に記載の装置。 - 命令を記憶するコンピュータ可読記憶媒体であって、前記命令は、実行されると、1つまたは複数のプロセッサに、
複数のメモリリソースのそれぞれのメモリリソースについてのそれぞれのリソース記述子を読み取ることと、
第1のメモリユニットへのメモリトランザクションについての要求を受信することと、
前記要求に応答して、グラフィックス処理ユニット(GPU)がセキュアモードに従って動作しているとき、前記それぞれのリソース記述子がセキュアリソース記述子である前記複数のメモリリソースのうちのメモリリソースに関するメモリ読取りおよび書込みトランザクションを前記第1のメモリユニットのセキュア部分に向けることと、
前記要求に応答して、前記GPUが前記セキュアモードに従って動作しているとき、前記それぞれのリソース記述子が非セキュアリソース記述子である前記複数のメモリリソースのうちのメモリリソースに関するメモリ読取りトランザクションを前記第1のメモリユニットの非セキュア部分に向けることと、
前記要求に応答して、前記GPUが前記セキュアモードに従って動作しているとき、前記それぞれのリソース記述子が前記非セキュアリソース記述子である前記複数のメモリリソースのうちのメモリリソースに関するメモリ書込みトランザクションを取り下げることと
を行わせる、コンピュータ可読記憶媒体。 - 前記命令は、前記1つまたは複数のプロセッサに、
前記要求に応答して、前記GPUが前記非セキュアモードに従って動作しているとき、前記それぞれのリソース記述子が前記非セキュアリソース記述子である前記複数のメモリリソースのうちのメモリリソースに関するメモリ読取りおよび書込みトランザクションを、前記第1のメモリユニットの非セキュア部分に向けることと、
前記要求に応答して、前記GPUが前記非セキュアモードに従って動作しているとき、前記それぞれのリソース記述子が前記セキュアリソース記述子である前記複数のメモリリソースのうちのメモリリソースに関するメモリ読取りおよび書込みトランザクションを取り下げることと
をさらに行わせる、請求項26に記載のコンピュータ可読記憶媒体。 - 前記命令は、前記1つまたは複数のプロセッサに、
セキュアメモリ管理ユニットを使用して前記第1のメモリユニットの前記セキュア部分にデータを書き込むことであって、前記セキュアメモリ管理ユニットは、前記第1のメモリユニットの前記セキュア部分についてのアドレス範囲を含むセキュアページテーブルを使用する、書き込むことと、
非セキュアメモリ管理ユニットを使用して前記第1のメモリユニットの前記非セキュア部分からデータを読み取ることであって、前記非セキュアメモリ管理ユニットは、前記第1のメモリユニットの前記非セキュア部分についてのアドレス範囲を含む非セキュアページテーブルを使用する、読み取ることと
をさらに行わせる、請求項26に記載のコンピュータ可読記憶媒体。 - 前記命令は、前記1つまたは複数のプロセッサに、
仮想メモリアドレスの範囲からの仮想メモリアドレスに従ってデータを読み取りかつ書き込むことであって、前記仮想メモリアドレスの範囲は、前記セキュアメモリ管理ユニットによって使用される前記セキュアページテーブル中のエントリに関する仮想メモリアドレスの第1の範囲、および前記非セキュアメモリ管理ユニットによって使用される前記非セキュアページテーブル中のエントリに関する仮想メモリアドレスの第2の範囲を含む、読み取りかつ書き込むこと
をさらに行わせる、請求項28に記載のコンピュータ可読記憶媒体。 - 前記命令は、前記1つまたは複数のプロセッサに、
前記GPUをセキュアモードまたは非セキュアモードにさらに置かせる、請求項29に記載のコンピュータ可読記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/821,174 US10102391B2 (en) | 2015-08-07 | 2015-08-07 | Hardware enforced content protection for graphics processing units |
US14/821,174 | 2015-08-07 | ||
PCT/US2016/043903 WO2017027196A1 (en) | 2015-08-07 | 2016-07-25 | Hardware enforced content protection for graphics processing units |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018523876A true JP2018523876A (ja) | 2018-08-23 |
JP2018523876A5 JP2018523876A5 (ja) | 2019-01-24 |
Family
ID=56609956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018505701A Ceased JP2018523876A (ja) | 2015-08-07 | 2016-07-25 | グラフィックス処理ユニットのためのハードウェア強制コンテンツ保護 |
Country Status (7)
Country | Link |
---|---|
US (1) | US10102391B2 (ja) |
EP (1) | EP3332346B1 (ja) |
JP (1) | JP2018523876A (ja) |
KR (1) | KR20180036970A (ja) |
CN (1) | CN107851138A (ja) |
BR (1) | BR112018002466A2 (ja) |
WO (1) | WO2017027196A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3050847B1 (fr) * | 2016-05-02 | 2019-04-05 | Morpho | Procede d'optimisation d'ecritures en memoire dans un dispositif |
US10380039B2 (en) * | 2017-04-07 | 2019-08-13 | Intel Corporation | Apparatus and method for memory management in a graphics processing environment |
KR102569086B1 (ko) * | 2017-11-20 | 2023-08-22 | 상하이 캠브리콘 인포메이션 테크놀로지 컴퍼니 리미티드 | 태스크 병렬 처리 방법, 장치, 시스템, 기억 매체 및 컴퓨터 기기 |
WO2020154924A1 (zh) * | 2019-01-29 | 2020-08-06 | 华为技术有限公司 | 电子设备和地址访问方法 |
CN114041133A (zh) * | 2019-06-21 | 2022-02-11 | 华为技术有限公司 | 一种集成芯片及数据处理方法 |
CN110706147B (zh) * | 2019-09-29 | 2023-08-11 | 阿波罗智联(北京)科技有限公司 | 图像处理的环境确定方法、装置、电子设备和存储介质 |
US11379135B2 (en) * | 2020-08-04 | 2022-07-05 | Honeywell International Inc. | Memory protection unit |
CN113344764B (zh) * | 2021-05-11 | 2024-04-19 | 中天恒星(上海)科技有限公司 | 安全图形处理器、处理器芯片、显示卡、装置、方法及存储介质 |
US20230153146A1 (en) * | 2021-11-12 | 2023-05-18 | Nvidia Corporation | Direct user mode work submission in secure computing enabled processors |
CN114995912A (zh) * | 2022-06-09 | 2022-09-02 | 江苏安超云软件有限公司 | 支持gpu多模式运行的方法和装置、电子设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014126597A1 (en) * | 2013-02-18 | 2014-08-21 | Qualcomm Incorporated | Hardware enforced content protection for graphics processing units |
US20150052325A1 (en) * | 2013-08-16 | 2015-02-19 | Arm Limited | Data processing systems |
Family Cites Families (53)
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 |
JP4564756B2 (ja) | 2002-04-18 | 2010-10-20 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | セキュア実行モードで動作し得るプロセッサを含むコンピュータシステムの初期化方法 |
EP1495394B1 (en) | 2002-04-18 | 2008-07-23 | Advanced Micro Devices, Inc. | A computer system including a secure execution mode - capable cpu and a security services processor connected via a secure communication path |
KR20040000348A (ko) | 2002-06-24 | 2004-01-03 | 마이크로소프트 코포레이션 | 비디오 카드 출력을 보호하기 위한 시스템 및 방법 |
RU2005115083A (ru) | 2002-11-18 | 2006-01-20 | Арм Лимитед (Gb) | Переключение процессора между защищенным и незащищенным режимами |
GB0226906D0 (en) * | 2002-11-18 | 2002-12-24 | Advanced Risc Mach Ltd | Virtual to physical memory address mapping within a system having a secure domain and a non-secure domain |
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 |
US7502928B2 (en) * | 2004-11-12 | 2009-03-10 | Sony Computer Entertainment Inc. | Methods and apparatus for secure data processing and transmission |
US7782329B2 (en) | 2004-12-10 | 2010-08-24 | Rockwell Collins, Inc. | Method and apparatus for protected graphics generation |
US8473750B2 (en) | 2004-12-15 | 2013-06-25 | Nvidia Corporation | Chipset security offload engine |
GB0427973D0 (en) | 2004-12-21 | 2005-01-26 | Falanx Microsystems As | Microprocessor systems |
EP1801725B1 (en) | 2005-12-14 | 2009-09-23 | Nvidia Corporation | Chipset security 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 |
US9424430B2 (en) | 2006-05-24 | 2016-08-23 | Safend Ltd. | Method and system for defending security application in a user's computer |
US20080077793A1 (en) | 2006-09-21 | 2008-03-27 | Sensory Networks, Inc. | Apparatus and method for high throughput network security systems |
US7809934B2 (en) | 2006-10-13 | 2010-10-05 | Texas Instruments Incorporated | Security measures for preventing attacks that use test mechanisms |
US7681077B1 (en) * | 2006-11-03 | 2010-03-16 | Nvidia Corporation | Graphics system with reduced shadowed state memory requirements |
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 |
US8578483B2 (en) | 2008-07-31 | 2013-11-05 | Carnegie Mellon University | Systems and methods for preventing unauthorized modification of an operating system |
US8243088B2 (en) | 2009-02-26 | 2012-08-14 | Presagis | Two dimensional memory access controller |
JP5631334B2 (ja) | 2009-12-14 | 2014-11-26 | パナソニック株式会社 | 情報処理装置 |
EP3009941B1 (en) | 2009-12-14 | 2017-07-26 | Citrix Systems Inc. | Methods and systems for communicating between trusted and non-trusted virtual machines |
US20110202740A1 (en) * | 2010-02-17 | 2011-08-18 | Arm Limited | Storing secure page table data in secure and non-secure regions of memory |
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 | パナソニック株式会社 | 共有メモリシステム及びその制御方法 |
US20120036308A1 (en) * | 2010-08-06 | 2012-02-09 | Swanson Robert C | Supporting a secure readable memory region for pre-boot and secure mode operations |
GB2482700A (en) | 2010-08-11 | 2012-02-15 | Advanced Risc Mach Ltd | Memory access control |
US20120079270A1 (en) | 2010-09-29 | 2012-03-29 | Navin Patel | Hardware-Assisted Content Protection for Graphics Processor |
CN101950262B (zh) * | 2010-10-20 | 2011-09-28 | 深圳市开立科技有限公司 | 在嵌入式系统中实现安全模式的方法及装置 |
GB2484717B (en) | 2010-10-21 | 2018-06-13 | Advanced Risc Mach Ltd | Security provision for a subject image displayed in a non-secure domain |
WO2012128681A1 (en) * | 2011-03-22 | 2012-09-27 | Telefonaktiebolaget L M Ericsson (Publ) | Method for switching between virtualized and non-virtualized system operation |
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 |
US8631212B2 (en) * | 2011-09-25 | 2014-01-14 | Advanced Micro Devices, Inc. | Input/output memory management unit with protection mode for preventing memory access by I/O devices |
JP5664530B2 (ja) | 2011-11-17 | 2015-02-04 | トヨタ自動車株式会社 | 制御装置およびメモリ保護装置の動作確認方法 |
US20130166922A1 (en) * | 2011-12-23 | 2013-06-27 | Ati Technologies Ulc | Method and system for frame buffer protection |
GB2501274B (en) | 2012-04-17 | 2020-05-13 | Advanced Risc Mach Ltd | Management of data processing security in a secondary processor |
US20130305388A1 (en) | 2012-05-10 | 2013-11-14 | Qualcomm Incorporated | Link status based content protection buffers |
WO2014028663A2 (en) * | 2012-08-15 | 2014-02-20 | Synopsys, Inc. | Protection scheme for embedded code |
US9633230B2 (en) | 2012-10-11 | 2017-04-25 | Intel Corporation | Hardware assist for privilege access violation checks |
US9245129B2 (en) * | 2013-03-15 | 2016-01-26 | Nvidia Corporation | System and method for protecting data by returning a protect signal with the data |
JP6067449B2 (ja) | 2013-03-26 | 2017-01-25 | 株式会社東芝 | 情報処理装置、情報処理プログラム |
US9507961B2 (en) | 2013-07-01 | 2016-11-29 | Qualcomm Incorporated | System and method for providing secure access control to a graphics processing unit |
US9483653B2 (en) | 2014-10-29 | 2016-11-01 | Square, Inc. | Secure display element |
US9767320B2 (en) | 2015-08-07 | 2017-09-19 | Qualcomm Incorporated | Hardware enforced content protection for graphics processing units |
-
2015
- 2015-08-07 US US14/821,174 patent/US10102391B2/en active Active
-
2016
- 2016-07-25 CN CN201680042506.6A patent/CN107851138A/zh active Pending
- 2016-07-25 KR KR1020187003427A patent/KR20180036970A/ko not_active Application Discontinuation
- 2016-07-25 WO PCT/US2016/043903 patent/WO2017027196A1/en active Application Filing
- 2016-07-25 EP EP16747953.4A patent/EP3332346B1/en not_active Not-in-force
- 2016-07-25 JP JP2018505701A patent/JP2018523876A/ja not_active Ceased
- 2016-07-25 BR BR112018002466A patent/BR112018002466A2/pt not_active Application Discontinuation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014126597A1 (en) * | 2013-02-18 | 2014-08-21 | Qualcomm Incorporated | Hardware enforced content protection for graphics processing units |
US20150052325A1 (en) * | 2013-08-16 | 2015-02-19 | Arm Limited | Data processing systems |
Also Published As
Publication number | Publication date |
---|---|
KR20180036970A (ko) | 2018-04-10 |
WO2017027196A1 (en) | 2017-02-16 |
US20170039381A1 (en) | 2017-02-09 |
EP3332346A1 (en) | 2018-06-13 |
US10102391B2 (en) | 2018-10-16 |
EP3332346B1 (en) | 2021-02-24 |
CN107851138A (zh) | 2018-03-27 |
BR112018002466A2 (pt) | 2018-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6385614B1 (ja) | グラフィックス処理ユニットのためのハードウェア強制コンテンツ保護 | |
JP5917784B1 (ja) | グラフィックス処理ユニットのためのハードウェアによるコンテンツ保護 | |
US10102391B2 (en) | Hardware enforced content protection for graphics processing units | |
US9134954B2 (en) | GPU memory buffer pre-fetch and pre-back signaling to avoid page-fault | |
JP5844485B2 (ja) | グラフィックス処理システムにおけるメモリアクセス帯域幅をデスティネーションアルファ値に基づいて減少させるための技法 | |
JP5866457B2 (ja) | オーバドロー・トラッカを用いたグラフィック処理におけるダイレクト・レンダリングとビニングとの切替 | |
US9311743B2 (en) | Selectively merging partially-covered tiles to perform hierarchical z-culling | |
CN109978977B (zh) | 使用预取的图形数据执行基于图块的渲染的装置和方法 | |
JP2016534486A (ja) | ページ常駐に関する条件付きページフォールト制御 | |
US9779471B2 (en) | Transparent pixel format converter | |
US20240220425A1 (en) | Reserving a secure address range |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180208 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181206 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181206 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20181206 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20190221 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190304 |
|
A045 | Written measure of dismissal of application [lapsed due to lack of payment] |
Free format text: JAPANESE INTERMEDIATE CODE: A045 Effective date: 20190729 |