(57)【特許請求の範囲】
【請求項１】
ホストコンピューティングデバイスにおいて実装される方法であって、
ソースメモリから暗号化されたコンテンツを取得することと、前記暗号化されたコンテンツを復号化することと、前記復号化されたコンテンツを安全な宛先メモリに置くこととを含む、ダイレクトメモリアクセス（ＤＭＡ）動作（ＤＭＡ動作）の開始に応答して、安全な宛先アドレス範囲を確立することと、
前記ＤＭＡ動作を実装するＤＭＡモジュールに関するコントローラと前記ホストコンピューティングデバイスのオペレーティングシステムとの間で共有されるメモリの一部分から、前記安全な宛先メモリと関連し、前記コントローラによって構築される１または複数の宛先アドレスを受け取ることと、
前記コントローラが前記メモリの前記部分にフラグを立て、前記部分の前記ＤＭＡ動作との関連を表示することと、
前記安全な宛先アドレス範囲内にある前記１または複数の宛先アドレスに基づき、前記安全な宛先メモリに前記復号化されたコンテンツが置かれることを許可することと、を含む、方法。
【請求項２】
ホストコンピューティングデバイスにおいて実装される方法であって、
ソースメモリから暗号化されたコンテンツを取得することと、前記暗号化されたコンテンツを復号化することと、前記復号化されたコンテンツを安全な宛先メモリに置くこととを含む、ダイレクトメモリアクセスモジュール（ＤＭＡモジュール）により実行されるＤＭＡ動作の開始に応答して、安全な宛先アドレス範囲を確立することと、
前記ＤＭＡモジュールのコントローラにて、ホスト中央処理装置（ホストＣＰＵ）により実行されるオペレーティングシステムから、前記コントローラと前記オペレーティングシステムとの間で共有されるメモリの一部分を通じて、前記安全な宛先メモリと関連する１または複数の宛先アドレスを受け取ることと、
前記コントローラにて、前記１または複数の宛先アドレスが前記安全な宛先アドレス範囲内にあるか否かを検証することと、
前記コントローラにて、前記安全な宛先アドレス範囲内にある前記１または複数の宛先アドレスに基づき、前記安全な宛先メモリに前記復号化されたコンテンツが置かれることを前記ＤＭＡモジュールに許可することと、を含む、方法。
【請求項３】
正当な宛先先頭アドレスレジスタおよび正当な宛先末尾アドレスレジスタの両方を、前記ＤＭＡ動作を実装するＤＭＡモジュールに設定することによって、前記安全な宛先アドレス範囲を確立することを含む、請求項２に記載の方法。
【請求項４】
前記ＤＭＡ動作の完了に応答して、前記正当な宛先先頭アドレスレジスタおよび前記正当な宛先末尾アドレスレジスタを再設定することを含む、請求項３に記載の方法。
【請求項５】
前記１または複数の宛先アドレスを受け取ることは、前記ＤＭＡ動作を要請するアプリケーションによって生成される分散／収集リストの一部として宛先ＤＭＡテーブルを受け取ることを含み、前記分散／収集リストは前記ソースメモリに関連する１または複数のソースアドレスも含む、請求項２から４のいずれか一項に記載の方法。
【請求項６】
前記分散／収集リストに基づき、前記ＤＭＡモジュールにおいてソースアドレスおよび宛先アドレスレジスタを設定することと、前記ＤＭＡモジュールが、前記１または複数の宛先アドレスのうちの少なくとも１つの宛先アドレスが前記安全な宛先アドレス範囲外にあることに基づき、前記ソースアドレスおよび宛先アドレスレジスタの前記設定を停止させることとを含む、請求項５に記載の方法。
【請求項７】
前記ＤＭＡモジュールが前記少なくとも１つの宛先アドレスが不当な宛先アドレスであることを表示するために、前記ＤＭＡモジュールが誤った指示をコントローラに送ることを含む、請求項６に記載の方法。
【請求項８】
前記コントローラは前記メモリの前記部分にフラグを立て、前記部分の前記ＤＭＡ動作との関連を表示する、請求項２に記載の方法。
【請求項９】
前記コントローラは、正当な宛先先頭アドレスを設定し、正当な宛先末尾アドレスを設定して、前記安全な宛先アドレス範囲を確立する、請求項１、２および８のいずれか一項に記載の方法。
【請求項１０】
前記コントローラが前記メモリから１または複数のソースアドレスを受け取ることを含み、前記１または複数のソースアドレスは前記ＤＭＡ動作を要請するアプリケーションによって構築され、前記コントローラは前記１または複数のソースアドレスおよび前記１または複数の宛先アドレスの両方に基づき、前記ＤＭＡモジュールにおいて、ソースアドレスおよび宛先アドレスレジスタを設定し、前記コントローラは、前記１または複数の宛先アドレスのうちの少なくとも１つの宛先アドレスが前記安全な宛先アドレス範囲外にあることに基づき、前記ソースアドレスおよび宛先アドレスレジスタの前記設定を停止させる、請求項９に記載の方法。
【請求項１１】
前記安全な宛先範囲外である前記少なくとも１つの宛先アドレスに応答して、前記コントローラが、前記ＤＭＡ動作を要請する前記アプリケーションに誤った指示を送ることを含む、請求項１０に記載の方法。
【請求項１２】
前記コントローラが前記メモリから１または複数のソースアドレスを受け取ることを含み、前記１または複数のソースアドレスは前記ＤＭＡ動作を要請するアプリケーションによって構築され、前記コントローラは、前記１または複数のソースアドレスおよび前記１または複数の宛先アドレスの両方に基づき、また前記１または複数の宛先アドレスの中からのすべての前記宛先アドレスが前記安全な宛先アドレス範囲内であるかどうかに基づき、ソースアドレスおよび宛先アドレスレジスタを前記ＤＭＡモジュールにおいて設定する、請求項１、２、８、９、１０および１１のいずれか一項に記載の方法。
【請求項１３】
プロセッサ回路と、
前記プロセッサ回路に通信可能に連結されるメモリユニットとを備え、前記メモリユニットは、暗号化されたコンテンツをソースメモリから移動させ、前記暗号化されたコンテンツを復号化し、前記復号化されたコンテンツを安全な宛先メモリに置くダイレクトメモリアクセス（ＤＭＡ）動作（ＤＭＡ動作）の開始に応答して、安全な宛先アドレス範囲を確立するように、前記プロセッサ回路上で動作可能な宛先マネージャを記憶するように準備され、前記宛先マネージャは、前記安全な宛先メモリに関連する１または複数の宛先アドレスを受け取り、前記復号化されたコンテンツが、前記安全な宛先アドレス範囲内にある前記１または複数の宛先アドレスに基づいて、前記安全な宛先メモリに置かれることを許可するようにも動作可能であり、
前記宛先マネージャとオペレーティングシステムとの間で共有されるメモリの一部分から前記１または複数の宛先アドレスを受け取り、また前記１または複数の宛先アドレスを構築し、前記ＤＭＡ動作との前記部分の関連を表示する前記メモリの前記部分にフラグを立てる、前記宛先マネージャをさらに備える、装置。
【請求項１４】
プロセッサ回路と、
前記プロセッサ回路に連結されるダイレクトメモリアクセスモジュール（ＤＭＡモジュール）と、
前記プロセッサ回路に通信可能に連結されるメモリユニットとを備え、前記メモリユニットは、前記ＤＭＡモジュールにより実行され、暗号化されたコンテンツをソースメモリから移動させ、前記暗号化されたコンテンツを復号化し、前記復号化されたコンテンツを安全な宛先メモリに置くダイレクトメモリアクセス（ＤＭＡ）動作（ＤＭＡ動作）の開始に応答して、安全な宛先アドレス範囲を確立するように、前記プロセッサ回路上で動作可能な宛先マネージャを記憶するように準備され、前記宛先マネージャは、ホスト中央処理装置（ホストＣＰＵ）により実行されるオペレーティングシステムから、前記宛先マネージャと前記オペレーティングシステムとの間で共有されるメモリの一部分を通じて、前記安全な宛先メモリに関連する１または複数の宛先アドレスを受け取り、前記宛先マネージャは、前記１または複数の宛先アドレスが前記安全な宛先アドレス範囲内にあるか否かを検証するように更に動作可能であり、前記ＤＭＡモジュールに前記復号化されたコンテンツを、前記安全な宛先アドレス範囲内にある前記１または複数の宛先アドレスに基づいて、前記安全な宛先メモリに置くことを許可するようにも動作可能である、装置。
【請求項１５】
前記安全な宛先アドレス範囲を確立するために、前記ＤＭＡ動作を実装するＤＭＡモジュールにおいて、正当な宛先先頭アドレスレジスタおよび正当な宛先末尾アドレスレジスタの両方を設定する前記宛先マネージャを備える、請求項１４に記載の装置。
【請求項１６】
前記ＤＭＡ動作を要請するアプリケーションによって生成される分散／収集リストとして宛先ＤＭＡテーブル内に前記１または複数の宛先アドレスを受け取る前記宛先マネージャを備え、前記分散／収集リストは前記ソースメモリと関連する１または複数のソースアドレスも含む、請求項１４または１５に記載の装置。
【請求項１７】
前記分散／収集リストに基づき前記ＤＭＡモジュールにおいてソースアドレスおよび宛先アドレスレジスタを設定し、また前記安全な宛先アドレス範囲の外にある前記１または複数の宛先アドレスの中からの少なくとも１つの宛先アドレスを表示する、前記ＤＭＡモジュールからの誤った指示に基づき、前記ソースアドレスおよび宛先アドレスレジスタの前記設定を停止させる、前記宛先マネージャを備える、請求項１６に記載の装置。
【請求項１８】
前記ＤＭＡ動作との前記部分の関連を表示する前記メモリの前記部分にフラグを立てる、前記宛先マネージャを備える、請求項１４に記載の装置。
【請求項１９】
前記安全な宛先アドレス範囲を確立するために、正当な宛先先頭アドレスおよび正当な宛先末尾アドレスを設定する、前記宛先マネージャを備える、請求項１３、１４および１８のいずれか一項に記載の装置。
【請求項２０】
前記ＤＭＡ動作を実装するＤＭＡモジュールにおいて維持されるレジスタにおいて、正当な宛先先頭アドレスおよび正当な宛先末尾アドレスを設定する、前記宛先マネージャを備える、請求項１３、１４及び１９のいずれか一項に記載の装置。
【請求項２１】
前記メモリから１または複数のソースアドレスを受け取る前記宛先マネージャを備え、前記１または複数のソースアドレスは、前記ＤＭＡ動作を要請するアプリケーションによって構築され、前記宛先マネージャは、前記１または複数のソースアドレスおよび前記１または複数の宛先アドレスの両方に基づいて、前記ＤＭＡモジュールにおいてソースアドレスおよび宛先アドレスレジスタを設定し、前記宛先マネージャはまた、前記１または複数の宛先アドレスのうちの少なくとも１つの宛先アドレスが前記安全な宛先アドレス範囲外にあることに基づいて、前記ソースアドレスおよび宛先アドレスレジスタの前記設定を停止させる、請求項２０に記載の装置。
【請求項２２】
不当な宛先アドレスである前記少なくとも１つの宛先アドレスに応答して、前記ＤＭＡ動作を要請する前記アプリケーションに誤った指示を送る、前記宛先マネージャを備える、請求項２１に記載の装置。
【請求項２３】
前記安全な宛先メモリに置かれた前記復号化されたコンテンツの映像コンテンツ部分を視覚的に再生するための表示装置を備える、請求項１３から２２のいずれか一項に記載の装置。
【請求項２４】
ホストコンピューティングデバイスのダイレクトメモリアクセス（ＤＭＡ）システム（ＤＭＡシステム）に、
ソースメモリから暗号化されたコンテンツを取得することと、前記暗号化されたコンテンツを復号化することと、前記復号化されたコンテンツを安全な宛先メモリに置くこととを含む、ＤＭＡ動作の開始に応答して、安全な宛先アドレス範囲を確立する手順と、
前記ＤＭＡシステムと前記ホストコンピューティングデバイスのオペレーティングシステムとの間で共有されるメモリの一部分から、前記安全な宛先メモリと関連し、前記ＤＭＡシステムによって構築される１または複数の宛先アドレスを受け取る手順と、
前記メモリの前記部分にフラグを立てて、前記部分の前記ＤＭＡ動作との関連を表示する手順と、
前記安全な宛先アドレス範囲内にある前記１または複数の宛先アドレスに基づき、前記安全な宛先メモリに前記復号化されたコンテンツを置く手順と、
を実行させるためのプログラム。
【請求項２５】
ホストコンピューティングデバイスのダイレクトメモリアクセス（ＤＭＡ）システム（ＤＭＡシステム）に、
ソースメモリから暗号化されたコンテンツを取得することと、前記暗号化されたコンテンツを復号化することと、前記復号化されたコンテンツを安全な宛先メモリに置くこととを含む、前記ＤＭＡシステムのＤＭＡモジュールにより実行されるＤＭＡ動作の開始に応答して、安全な宛先アドレス範囲を確立する手順と、
前記ＤＭＡシステムにて、ホスト中央処理装置（ホストＣＰＵ）により実行されるオペレーティングシステムから、前記ＤＭＡシステムの宛先マネージャと前記オペレーティングシステムとの間で共有されるメモリの一部分を通じて、前記安全な宛先メモリと関連する１または複数の宛先アドレスを受け取る手順と、
前記ＤＭＡシステムにて、前記１または複数の宛先アドレスが前記安全な宛先アドレス範囲内にあるか否かを検証する手順と、
前記安全な宛先アドレス範囲内にある前記１または複数の宛先アドレスに基づき、前記ＤＭＡモジュールが前記安全な宛先メモリに前記復号化されたコンテンツを置く手順と、
を実行させるためのプログラム。
【請求項２６】
前記ＤＭＡシステムにさらに、
前記ＤＭＡ動作を実装するＤＭＡモジュールにおける正当な宛先先頭アドレスレジスタおよび正当な宛先末尾アドレスレジスタの両方を設定することによって、前記安全な宛先アドレス範囲を確立する手順と、を実行させるための、請求項２５に記載のプログラム。
【請求項２７】
前記ＤＭＡシステムにさらに、
前記１または複数の宛先アドレスを、前記ＤＭＡ動作を要請するアプリケーションによって生成される分散／収集リストの一部としてＤＭＡテーブル内に受け取る手順であって、前記分散／収集リストは前記ソースメモリに関連する１または複数のソースアドレスも含む、手順と、を実行させるための、請求項２６に記載のプログラム。
【請求項２８】
前記ＤＭＡシステムにさらに、
前記分散／収集リストに基づき、前記ＤＭＡモジュールのソースアドレスおよび宛先アドレスレジスタを設定する手順と、
前記１または複数の宛先アドレスのうち前記安全な宛先アドレス範囲外にある少なくとも１つの宛先アドレスを指示する前記ＤＭＡモジュールからの誤った指示に基づき、前記ソースアドレスおよび宛先アドレスレジスタの前記設定を停止する手順と、
を実行させるための、請求項２７に記載のプログラム。
【請求項２９】
前記ＤＭＡシステムに、
前記メモリの前記部分にフラグを立てて、前記部分の前記ＤＭＡ動作との関連を表示する手順を実行させるための、請求項２５に記載のプログラム。
【請求項３０】
前記ＤＭＡシステムにさらに、
正当な宛先末尾アドレスを設定することにより前記安全な宛先アドレス範囲を確立する手順と、を実行させるための、請求項２４、２５および２９のいずれか一項に記載のプログラム。
【請求項３１】
前記ＤＭＡシステムにさらに、
前記ＤＭＡ動作を要請するアプリケーションによって構築される１または複数のソースアドレスを前記メモリから受け取る手順と、
前記１または複数のソースアドレスおよび前記１または複数の宛先アドレスの両方に基づき、ソースアドレスおよび宛先アドレスレジスタを設定する手順と、
前記１または複数の宛先アドレスのうちの少なくとも１つの宛先アドレスが前記安全な宛先アドレス範囲外にあることに基づき、前記ソースアドレスおよび宛先アドレスレジスタの前記設定を停止する手順と、
を実行させるための、請求項３０に記載のプログラム。
【請求項３２】
前記ＤＭＡシステムにさらに、
前記少なくとも１つの宛先アドレスが前記安全な宛先範囲外であることに基づき、前記ＤＭＡ動作を要請する前記アプリケーションに誤った指示を送る手順と、
を実行させるための、請求項３１に記載のプログラム。
【請求項３３】
請求項２４から３２のいずれか一項に記載のプログラムを格納するコンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
著作権保護され得るストリーミング映像または音声コンテンツの閲覧および／または傾聴のために演算デバイスの使用が増え続けている。また、解像度の増えた映像／音声コンテンツがストリーミングされるにつれ、演算デバイスは保護されたコンテンツを一時的に記憶する必要があり得る。著作権保護されたコンテンツの所有者は、演算デバイスにストリーミングされたときに、そのコンテンツが著作権侵害されないこと、あるいは自由に複製されないことを確保するために、演算デバイスに要件を置き得る。これらの要件は、保護された再生を実行するように演算デバイスを構成することを含み得る。典型的に、保護された再生は、保護されたコンテンツの復号化と、復号化されたコンテンツを安全なメモリに置いて、演算デバイスのユーザに最終的に出力することを含む。しかしながら、安全なメモリ内にある間、復号化されたコンテンツは、演算デバイスのためのホストアプリケーション（例えば、オペレーティングシステム）にとってアクセス可能ではない。
【図面の簡単な説明】
【０００２】
【図１】演算プラットフォーム例を示す。
【０００３】
【図２】宛先マネージャの構成例のブロック図を示す。
【０００４】
【図３】安全なＤＭＡ動作の処理略図例を示す。
【０００５】
【図４】別の安全なＤＭＡ動作の処理略図例を示す。
【０００６】
【図５】安全なＤＭＡ動作の動作例の流れ図を示す。
【０００７】
【図６】システム例を示す。
【発明を実施するための形態】
【０００８】
本開示において企図されているように、保護された再生は、保護されたコンテンツの復号化と復号化されたコンテンツを安全なメモリへ置くことを含む。いくつかの例では、安全な処理装置（ＳＥＰ）サブシステムは、安全なダイレクトメモリアクセス（ＤＭＡ）動作を提供し得る。安全なＤＭＡ動作は、「隠れたＤＭＡ動作」と称され得る。現在の隠れたＤＭＡ動作は、ソースメモリから暗号化されたコンテンツを取得すること、および復号化されたコンテンツを安全な宛先メモリ内へ置くことを含む。これらの現在の隠れたＤＭＡ動作については、演算デバイスのためのホストまたはオペレーティングシステムは、復号化されたコンテンツがどの宛先アドレスに置かれるかに関しての制御を典型的に有する。しかしホストまたはオペレーティングシステムは、悪意のあるアプリケーションまたは符号によってハイジャックされ得る。このように、悪意のあるアプリケーションは、オペレーティングシステムをハイジャックし、復号化されたコンテンツを安全でない宛先メモリのための宛先アドレスへ方向転換し得る。悪意のあるアプリケーションまたは可能性としていずれのアプリケーションも、次いで、復号化されたコンテンツを自由に複製し得る。
【０００９】
いくつかの例では、安全なＤＭＡ動作のための技法が実装される。これらの例として、ＤＭＡ動作の開始に応答して、安全な宛先アドレス範囲が確立され得る。ＤＭＡ動作は、ソースメモリにおいて維持される暗号化されたコンテンツを取得することと、その暗号化されたコンテンツを復号化することと、その復号化されたコンテンツを安全な宛先メモリに置くこととを含み得る。安全な宛先アドレス範囲が確立されると、宛先ＤＭＡテーブルが受け取られ得るが、これは安全な宛先メモリと関連する１または複数の宛先アドレスを含むものである。復号化されたコンテンツが安全な宛先メモリに置かれることを許容することは、安全な宛先アドレス範囲内にある１または複数の宛先アドレスに基づき得る。
【００１０】
図１は演算プラットフォーム１００の例を示す。図１に示されるように、演算プラットフォーム１００は安全な処理（ＳＥＰ）サブシステム１１０、オペレーティングシステム１２０、共有メモリ１３０、ソースメモリ１４０、安全な宛先メモリ１５０、映像／音声サブシステム１６０、中央処理装置（ＣＰＵ）１７０、通信（コム）１８０、およびアプリケーション１９０を含む。また、図１に示されるように、いくつかのインターフェースが、演算プラットフォーム１００の要素を相互接続および／または通信可能に連結し得る。例えば、ユーザインターフェース１１５およびインターフェース１２５は、ユーザ（不図示）および／またはアプリケーション１９０がオペレーティングシステム１２０に連結することを許可し得る。また、インターフェース１３５は、オペレーティングシステム１２０が、ＳＥＰサブシステム１１０、共有メモリ１３０、ソースメモリ１４０、安全な宛先メモリ１５０、映像／音声サブシステム１６０、またはコム１８０等の、演算プラットフォーム１００の要素への、少なくとも限定されたアクセスを有することを許可し得る。インターフェース１５４は、演算プラットフォーム１００のハードウェアおよび／またはファームウェア要素が、例えばシステムバスまたは他のタイプの内部通信チャネルを介して、通信可能に互いに連結することを許可し得る。
【００１１】
いくつかの例では、図１に示されるように、ＳＥＰサブシステム１１０は、宛先マネージャ１１２、隠れたＤＭＡモジュール１１４、および安全なプロセッサ１１６を含み得る。宛先マネージャ１１２、隠れたＤＭＡモジュール１１４、および安全なプロセッサ１１６は、隠れたＤＭＡ動作を実施するように構成された論理および／または特徴を含み得る。隠れたＤＭＡ動作は、ソースメモリ（例えば、ソースメモリ１４０）において維持される暗号化されたコンテンツを取得することと、暗号化されたコンテンツを復号化することと、復号化されたコンテンツを安全な宛先メモリ（例えば、安全な宛先メモリ１５０）に置くこととを含み得る。
【００１２】
いくつかの例によれば、オペレーティングシステム１２０は、ＳＥＰサブシステム１１０と協働して、アプリケーション１９０が要請した可能性のあるコンテンツの保護された再生を許可し得る。これらの例として、アプリケーション１９０のユーザは、演算プラットフォーム１００に添付または連結された表示装置上で、ストリーミング映像を見る（例えば、ネットワーク資源または媒体サーバーを介して）ことを希望し得る。オペレーティングシステム１２０は、例えば、アプリケーション１９０がコム１８０を活用して、保護されたコンテンツをソースメモリ１４０に流すことを許可し得る。さらに以下に記述されるが、オペレーティングシステム１２０および／またはアプリケーション１９０は、暗号化されたコンテンツストリームの保護された再生を許可するために、ＳＥＰサブシステム１１０の要素によって実装される隠れたＤＭＡ動作を開始し得る。
【００１３】
いくつかの例によれば、共有メモリ１３０は、演算プラットフォーム１００のさまざまな要素（例えば、オペレーティングシステム１２０、ＳＥＰサブシステム１１０、アプリケーション１９０等）によって活用される多種多様なメモリ媒体を含み得る。これらの実装に関しては、共有メモリ１３０は、１または複数の揮発性メモリ、非揮発性メモリ、フラッシュメモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）、またはスタティックＲＡＭ（ＳＲＡＭ）を含み得るが、これらに限定されない。
【００１４】
いくつかの例では、ソースメモリ１４０および安全な宛先メモリ１５０は、１または複数の揮発性メモリ、非揮発性メモリ、フラッシュメモリ、ＲＡＭ、ＲＯＭ、または他のスタティックもしくはダイナミック記憶媒体を含むが、これらに限定されない、多種多様なメモリ媒体も含み得る。
【００１５】
いくつかの例によれば、映像／音声サブシステム１６０は、演算プラットフォーム１００を含む演算デバイスのユーザに映像／音声出力を提供するための、演算プラットフォーム１００の要素を含み得る。これらの要素は、音声／映像コントローラ、グラフィックプロセッサ等を含み得る。いくつかの例では、映像／音声サブシステム１６０は、安全な宛先メモリ１５０に関連する１または複数のメモリアドレスから映像／音声コンテンツを取得するように、オペレーティングシステム１２０によって指示され得る。
【００１６】
いくつかの例によれば、ＣＰＵ１７０は、演算プラットフォーム１００のための中央処理装置として実装され得る。ＣＰＵ１７０は、１または複数のプロセッサコアを有する、あるいは任意の数のプロセッサコアを有する任意の数のプロセッサを有する、１または複数の処理ユニットを含み得る。ＣＰＵ１７０は、例えば、マルチ処理ユニット、縮小命令セットコンピュータ（ＲＩＳＣ）、パイプラインを有するプロセッサ、複合命令セットコンピュータ（ＣＩＳＣ）、デジタル信号プロセッサ（ＤＳＰ）等の、任意のタイプの処理ユニットを含み得る。
【００１７】
いくつかの例では、コム１８０は、演算プラットフォーム１００が演算プラットフォーム１００に対して遠方にある要素と外部的に通信を行うこと（例えば、ストリーミング保護されたコンテンツを要請および受信すること）を可能とする論理および／または特徴を含み得る。これらの論理および／または特徴は、その１または複数の有線または無線ネットワークを介して、有線および／または無線通信チャネルを介して通信することを含み得る。そのようなネットワークを通じて通信を行うに際し、コム１８０は、任意のバージョンの１または複数の適用可能な通信またはネットワーク標準に従って動作し得る。
【００１８】
前述のように、インターフェース１５４は、演算プラットフォーム１００のハードウェアおよび／またはファームウェア要素が通信可能に互いに連結することを許可し得る。いくつかの例によれば、通信チャネルインターフェース１５４は、１または複数のプロトコルまたは標準に従って動作し得る。これらのプロトコルまたは標準は、１または複数の業界標準（後代および異形を含む）において記述され得、例えば、アイ・スクウェア・シー（Ｉ２Ｃ）仕様、システム・マネージメント・バス（ＳＭＢｕｓ）仕様、アクセラレーテッド・グラフィックス・ポート（ＡＧＰ）仕様、ペリフェラル・コンポーネント・インターコネクト・エクスプレス（ＰＣＩエクスプレス）仕様、ユニバーサル・シリアル・バス（ＵＳＢ）仕様、またはシリアル・アドバンスド・テクノロジー・アタッチメント（ＳＡＴＡ）仕様に関連するものである。しかしながら、本開示は前述の標準および関連プロトコルのみに限定されない。
【００１９】
いくつかの例では、演算プラットフォーム１００は、少なくとも演算デバイスの一部であり得る。演算デバイスの例としては、パーソナルコンピュータ（ＰＣ）、ラップトップコンピュータ、ウルトラ・ラップトップ・コンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、ハンドヘルドコンピュータ、パームトップコンピュータ、携帯情報端末（ＰＤＡ）、携帯電話、携帯電話／ＰＤＡ組合せ、テレビ、高機能デバイス（例えば、スマートフォン、高機能タブレット、または高機能テレビ）、モバイル・インターネット・デバイス（ＭＩＤ）、メッセージングデバイス、データ通信デバイス等が挙げられ得る。
【００２０】
図２は、宛先マネージャ１１２に関する体系例のブロック図を示す。図１において演算プラットフォーム１００について上述されたように、ＳＥＰサブシステム１１０は、宛先マネージャ１１２を含み得る。いくつかの例では、宛先マネージャ１１２は、安全なＤＭＡ動作を容易化するために構成または準備された、特徴および／または論理を含む。
【００２１】
図２の宛先マネージャ１１２の例としては、宛先論理２１０、制御論理２２０、メモリ２３０、および入力／出力（Ｉ／Ｏ）インターフェース２４０が挙げられる。図２において示されるように、宛先論理２１０は制御論理２２０、メモリ２３０、およびＩ／Ｏインターフェース２４０と連結され得る。宛先論理２１０は、１または複数の開始特徴２１１、範囲特徴２１３、設定特徴２１５、検証特徴２１７、もしくは表示特徴２１９、またはそれらの任意の妥当な組合せを含み得る。
【００２２】
いくつかの例では、図２に描写される要素は、本開示において記述されるように、宛先マネージャ１１２を支持または可能化するように構成される。所与の宛先マネージャ１１２は、図２に描写されるいくつかの、すべての、またはそれより多くの要素を含み得る。例えば、宛先論理２１０および制御論理２２０は、宛先マネージャ１１２の特徴を実装するために、多種多様な論理デバイスまたは実行可能コンテンツを別々にまたは集合的に代表し得る。論理デバイスの例としては、１または複数のマイクロプロセッサ、マイクロコントローラ、プロセッサ回路、安全なプロセッサ、フィールドプログラム式ゲートアレイ（ＦＰＧＡ）、アプリケーション固有集積回路（ＡＳＩＣ）、隠退したスレッドもしくはマルチコア／マルチスレッドマイクロプロセッサのコア、またはそれらの組合せが挙げられ得る。
【００２３】
いくつかの例では、図２に示されるように、宛先論理２１０は、開始特徴２１１、範囲特徴２１３、設定特徴２１５、検証特徴２１７、または表示特徴２１９を含む。宛先論理２１０は、動作を実施するために１または複数のこれらの特徴を使用するように構成され得る。例えば、開始特徴２１１は、隠れたＤＭＡ動作を始めるために、オペレーティングシステムまたはアプリケーションによる要請の開始に応答し得る。範囲特徴２１３は、安全な宛先メモリ内への復号化されたコンテンツを置くための安全な宛先アドレス範囲を確立し得る。設定特徴２１５は、ソースメモリから安全な宛先メモリへの保護されたコンテンツの移動を支援するために、隠れたＤＭＡモジュールにおいてソースおよび宛先レジスタを設定し得る。検証特徴２１７は、安全な宛先メモリと関連する宛先アドレスが安全な宛先アドレス範囲内にあるかどうかを判定し得る。表示特徴２１９は、隠れたＤＭＡ動作が、安全な宛先アドレスの範囲外にある１または複数の宛先アドレスの理由により停止された場合は、誤った指示をオペレーティングシステムまたはアプリケーションに送り得る。
【００２４】
いくつかの例では、制御論理２２０は、宛先マネージャ１１２の全体的動作を制御するように構成され得る。前述のように、制御論理２２０は、任意の多種多様な論理デバイスまたは実行可能コンテンツを代表し得る。いくつかの例として、制御論理２２０は、宛先マネージャ１１２の制御を実装するために、実行可能コンテンツまたは命令と一体で動作するように構成され得る。いくつかの代替例では、制御論理２２０の特徴および機能性は、宛先論理２１０内で実装され得る。
【００２５】
いくつかの例によれば、メモリ２３０は、制御論理２２０および／または宛先論理２１０による使用のために実行可能コンテンツまたは命令を記憶するように準備され得る。実行可能コンテンツまたは命令は、宛先マネージャ１１２の特徴または要素を実装または活動化するために使用され得る。以下にさらに記述されるが、メモリ２３０はまた、安全な宛先アドレス範囲を確立すること、ならびに隠れたＤＭＡモジュール１１４等のＤＭＡモジュールにおいてソースおよび宛先レジスタを設定することに関連する情報を少なくとも一時的に維持するようにも準備され得る。メモリ２３０はまた、安全な宛先メモリと関連する宛先アドレスを検証することに関連する情報を一時的に記憶するようにも準備され得る。
【００２６】
メモリ２３０は、１または複数の揮発性メモリ、非揮発性メモリ、フラッシュメモリ、プログラム式変数または状態、ＲＡＭ、ＲＯＭ、または他のスタティックもしくはダイナミック記憶媒体を含むが、これらに限定されない、多種多様なメモリ媒体を含み得る。
【００２７】
いくつかの例では、Ｉ／Ｏインターフェース２４０は、ローカル通信媒体、または図１に描かれる宛先マネージャ１１２と演算プラットフォーム１００の要素との間のリンクを介して、インターフェースを提供し得る。Ｉ／Ｏインターフェース２４０は、ローカル通信媒体またはリンク（例えば、Ｉ２Ｃ、ＳＭＢｕｓ、ＡＧＰ、ＰＣＩエクスプレス、ＵＳＢ、ＳＡＴＡ、等）を介して通信するために、さまざまな通信プロトコルに従って動作するインターフェースを含み得る。
【００２８】
図３は、安全なＤＭＡ動作の処理例３００を示す。いくつかの例では、図１に示される、または図２に記述される宛先マネージャ１１２は、処理３００を容易化するために論理および／または特徴を含み得る。また、図１に示される、隠れたＤＭＡモジュール１１４、安全なプロセッサ１１６、オペレーティングシステム１２０、共有メモリ１３０、ソースメモリ１４０、安全な宛先メモリ１５０、またはアプリケーション１９０もまた、処理３００の少なくともいくつかの動作を実装するように構成され得る。これらの例は、処理３００を実装するために前述の要素だけには限定されない。
【００２９】
処理例３．１（分散／収集リスト）から開始し、オペレーティングシステム１２０および／またはアプリケーション１９０は、分散／収集リストを生成または構築するように構成され得る。いくつかの例では、分散／収集リストはそれぞれ暗号化されたおよび復号化されたコンテンツに関してソースおよび宛先アドレスを表示し得る。これらの例として、アプリケーション１９０のユーザは、演算プラットフォーム１００に連結された表示装置上でストリーミング映像を見ることを希望し得る。オペレーティングシステム１２０は、例えばアプリケーション１９０が暗号化されたコンテンツをソースメモリ１４０に向けることを許可し得る。オペレーティングシステム１２０および／またはアプリケーション１９０は、次に、ソースメモリ１４０内にソースアドレスのリストを生成し、暗号化されたコンテンツがどこで維持されているかを表示し得る。オペレーティングシステム１２０および／またはアプリケーション１９０は、安全な宛先メモリ１５０に関連する宛先アドレスのリストを生成し、復号化されたコンテンツがどこに置かれるかも表示し得る。ソースまたは宛先リストは、分散／収集リストとも呼ばれ得、暗号化された／復号化されたコンテンツがソースメモリ１４０および／または安全な宛先メモリ１５０の非隣接部分から取得し得る可能性を反映する。また、これらの例として、オペレーティングシステム１２０および／またはアプリケーション１９０は、分散／収集リストを共有メモリ１３０内に少なくとも一時的に置き得る。
【００３０】
処理例３．２（隠れたＤＭＡ動作の開始）へと続き、オペレーティングシステム１２０および／またはアプリケーション１９０は、隠れたＤＭＡ動作を開始し得る。いくつかの例では、ＳＥＰサブシステム１１０における宛先マネージャ１１２は、隠れたＤＭＡ動作を始めるために、開始（例えば、開始特徴２１１を介して）に応答するために論理および／または特徴を含み得る。これらの例として、共有メモリ１３０内の分散／収集リストの存在は、オペレーティングシステム１２０および／またはアプリケーション１９０の隠れたＤＭＡ動作を開始する意図を表示し得る。
【００３１】
処理例３．３（正当な宛先範囲レジスタを設定）へと続き、宛先マネージャ１１２は隠れたＤＭＡ動作の開始に応答して、隠れたＤＭＡモジュール１１４（例えば、範囲特徴２１３を介して）において維持される正当な宛先範囲レジスタを設定するために論理および／または特徴を含み得る。いくつかの例では、隠れたＤＭＡモジュール１１４において維持される正当な宛先範囲レジスタは、復号化されたコンテンツが安全な宛先メモリ１５０に置かれ得る、安全な宛先アドレス範囲を確立するように設定され得る。これらの例に関し、宛先マネージャ１１２は隠れたＤＭＡモジュール１１４において維持される、正当な宛先先頭アドレスレジスタおよび正当な宛先末尾レジスタを設定し得る。例えば、それらのレジスタによって表示される先頭アドレスと終端アドレスとにある、またはその間にある、宛先アドレスは、安全な宛先アドレス範囲内であり、「正当な宛先アドレス」として見なされ得る。
【００３２】
処理例３．４（設定ソースおよび宛先レジスタの設定）へと続き、宛先マネージャ１１２は、共有メモリ１３０から分散／収集リストを受け取るため、ならびに分散／収集リストに基づいて隠れたＤＭＡモジュール１１４において維持されるソースおよび宛先アドレスレジスタを設定する（例えば、設定特徴２１５を介して）ことを始めるために、論理および／または特徴を含み得る。いくつかの例では、前述のように、分散／収集リストはソースメモリ１４０において維持される暗号化されたコンテンツに関連するソースアドレスを含み、また復号化されたコンテンツを安全な宛先メモリ１５０に置くための宛先アドレスも含む。
【００３３】
処理例３．５（検証）へと続き、隠れたＤＭＡモジュール１１４は、分散／収集リスト内に含まれる宛先アドレスを自動的に検証するように構成される。いくつかの例では、隠れたＤＭＡモジュール１１４は、宛先マネージャ１１２が各宛先アドレスレジスタの設定を試みると、個々の宛先アドレスを別個に検証し得る。例えば、隠れたＤＭＡモジュール１１４は、各宛先アドレスが安全な宛先アドレス範囲内であるかどうかを自動的に確認するように構成され得る。
【００３４】
処理例３．６（不当な宛先アドレスの場合はエラーを表示）へと移動し、隠れたＤＭＡモジュール１１４は、所与の宛先アドレスは安全な宛先アドレス範囲内ではないことを判定するために構成され得る。いくつかの例では、隠れたＤＭＡモジュール１１４は、所与の宛先アドレスが不当であると判定し得、そして隠れたＤＭＡモジュール１１４は、レジスタ設定処理を停止し、エラー信号を宛先マネージャ１１２へ送り得る。
【００３５】
処理例３．７（エラー／検証されない場合は隠れたＤＭＡ動作を停止）へと続き、宛先マネージャ１１２は、隠れたＤＭＡ動作を停止させる（例えば検証特徴２１７を介して）ように構成される論理および／または特徴を含み得る。いくつかの例では、隠れたＤＭＡ動作の停止時に、宛先マネージャ１１２は、オペレーティングシステム１２０および／またはアプリケーション１９０にエラーメッセージまたは表示を送り得る。これらの例として、エラーメッセージは、不当な宛先アドレスが分散／収集リスト内に含まれたことを表示し得る。
【００３６】
処理例３．８（すべての宛先アドレスが検証された場合、隠れたＤＭＡ動作を完了させる）へと移動し、隠れたＤＭＡモジュール１１４は、次に、前述のように設定されたソースアドレスレジスタに基づき、ソースメモリ１４０から暗号化されたコンテンツの移動を始め得る。いくつかの例では、ソースメモリ１４０から取得された暗号化されたコンテンツは、安全なプロセッサ１１６によって復号化され得、次に、やはり前述のように設定され、検証された宛先アドレスレジスタに基づき、隠れたＤＭＡモジュール１１４によって安全な宛先メモリ１５０内へ置かれる。
【００３７】
処理例３．９（正当な宛先範囲レジスタを消去）へと続き、宛先マネージャ１１２は、前述のように、隠れたＤＭＡモジュール１１４において設定された正当な宛先範囲レジスタを消去し得る。いくつかの例では、正当な宛先範囲レジスタは、隠れたＤＭＡ動作の完了に基づいて消去され得る。いくつかの他の例では、正当な宛先範囲レジスタは、エラーメッセージ（例えば、不当な宛先アドレス）に続いて、オペレーティングシステム１２０および／またはアプリケーション１９０が隠れたＤＭＡ動作を行う努力を断念した場合は、やはり消去され得る。これらの例として、宛先マネージャ１１２は、新規または修正済み分散／収集リストが時間の所与の期間（例えば、数秒または数分）内に生成されない場合には、オペレーティングシステム１２０および／またはアプリケーション１９０は、隠れたＤＭＡ動作を行う努力を断念したと想定し得る。
【００３８】
処理例３．１０（隠れたＤＭＡ動作の成功）へと移動し、宛先マネージャ１１２は、隠れたＤＭＡ動作の成功を表示するために（例えば、表示特徴２１９を介して）論理および／または特徴を含み得る。いくつかの例では、隠れたＤＭＡ動作の成功は、分散／収集リスト内に表示されたソース／宛先アドレスに従い、ソースメモリ１４０と安全な宛先メモリ１５０との間の保護されたコンテンツの移動を含み得る。これらの例として、すべての宛先アドレスは、安全な宛先アドレス範囲内であることが判定され、したがって、復号化されたコンテンツが安全な宛先メモリ１５０内に置かれる前に検証された。
【００３９】
図４は、別の安全なＤＭＡ動作の処理例４００を示す。いくつかの例では、図１に示される、または図２に記述されるように、宛先マネージャ１１２は処理４００を容易化すために論理および／または特徴を含み得る。また、隠れたＤＭＡモジュール１１４、安全なプロセッサ１１６、オペレーティングシステム１２０、共有メモリ１３０、ソースメモリ１４０、図１に示される安全な宛先メモリ１５０またはアプリケーション１９０は、処理４００の少なくともいくつかの動作を実装するようにも構成され得る。各例は、処理４００を実装するための前述の要素にのみは限定されない。
【００４０】
処理例４．１（ソースＤＭＡテーブル）から始めて、オペレーティングシステム１２０および／またはアプリケーション１９０は、ソースＤＭＡテーブルを生成または構築するように構成され得る。いくつかの例では、宛先マネージャ１１２は、処理３００のために前述のように分散／収集リストに含められるソース／宛先アドレスを維持するための十分なメモリ資源を有しないかもしれない。したがってこれらの例として、宛先マネージャ１１２は、共有メモリ１３０を活用してソース／宛先アドレスを維持し得る。暗号化されたコンテンツに関する１または複数のソースアドレスを表示するソースＤＭＡテーブルのみが、オペレーティングシステム１２０および／またはアプリケーション１９０によって構築され、共有メモリ１３０内に置かれる。宛先アドレスを保護するために、宛先マネージャ１１２は、以下に記述するように、宛先ＤＭＡテーブルを生成または構築し得る。
【００４１】
処理例４．２（隠れたＤＭＡ動作の開始）へと続き、オペレーティングシステム１２０および／またはアプリケーション１９０は、隠れたＤＭＡ動作を開始し得る。いくつかの例では、ＳＥＰサブシステム１１０における宛先マネージャ１１２は、隠れたＤＭＡ動作を始めるための開始に応答して（例えば、開始特徴２１１を介して）論理および／または特徴を含み得る。これらの例に関して、共有メモリ１３０内のソースＤＭＡテーブルの存在は、オペレーティングシステム１２０および／またはアプリケーション１９０の隠れたＤＭＡ動作の開始意図を表示し得る。
【００４２】
処理例４．３（宛先ＤＭＡテーブル／共有メモリフラグ）へと続き、宛先マネージャ１１２は、宛先ＤＭＡテーブルを構築し（例えば、開始特徴２１１を介して）、宛先ＤＭＡテーブルを共有メモリ１３０の一部分に置くように構成される論理および／または特徴を含み得る。また、宛先マネージャ１１２は、共有メモリ１３０の部分にフラグを立て、その部分の隠れたＤＭＡ動作との関連を表示し得る。いくつかの例では、共有メモリ１３０の部分にフラグを立てることは、これらの宛先アドレスがこれから検証されることをも表示し得る。
【００４３】
処理例４．４（正当な宛先範囲の設定）へと続き、宛先マネージャ１１２は、正当な宛先先頭アドレスおよび正当な宛先末尾アドレスを設定するように（例えば、範囲特徴２１３を介して）構成される論理および／または特徴を含み得る。いくつかの例では、処理３００における場合と異なり、宛先マネージャ１１２は、安全な宛先アドレス範囲を確立するために隠れたＤＭＡモジュール１１４においてレジスタを設定しない。その代わり、これらの例として、宛先マネージャ１１２は、それ自身が正当な宛先先頭および終端アドレス、安全なメモリ（例えば、メモリ２３０）を維持し得る。
【００４４】
処理例４．５（宛先アドレスを安全なメモリに複製）へと続き、宛先マネージャ１１２は、共有メモリ１３０内に維持される宛先ＤＭＡテーブルから宛先アドレスを複製し得る。いくつかの例では、１または複数の宛先アドレスが宛先マネージャ１１２の自身のもの、安全なメモリ（例えば、メモリ２３０）へ複製され得る。
【００４５】
処理例４．６（検証）へと続き、宛先マネージャ１１２は、その安全なメモリへ複製される宛先アドレス（例えば、検証特徴２１７を介して）を検証するための論理および／または特徴を含み得る。前述のように、宛先マネージャ１１２は、宛先アドレスの検証の必要性を表示するために、共有メモリ１３０の部分にフラグを立てる。いくつかの例では、フラグは、宛先マネージャ１１２に対して１または複数の複製された宛先アドレスの検証をチェックするように表示する。これらの例として、宛先マネージャ１１２は、１または複数の複製された宛先アドレスが安全な宛先アドレス範囲内であるかどうかを確認することによって、正当性を判定し得る。
【００４６】
処理例４．７（宛先アドレスが正当でない場合は、隠れたＤＭＡ動作を停止する）へと移動し、宛先マネージャ１１２は、共有メモリ１３０から複製された少なくとも１つの宛先アドレスが安全な宛先アドレス範囲内ではない場合には、隠れたＤＭＡ動作を停止し得る。いくつかの例では、安全な宛先アドレス範囲内ではない少なくとも１つの宛先アドレスは、不当な宛先アドレスとして帰結し得る。これらの例として、宛先マネージャ１１２はエラーメッセージをオペレーティングシステム１２０および／またはアプリケーション１９０に送り（例えば、表示特徴２１９を介して）、不当な宛先アドレスを表示する、論理および／または特徴を含み得る。
【００４７】
処理例４．８（隠れたＤＭＡレジスタを設定）へと移動して、宛先マネージャ１１２は、ソースおよび宛先レジスタを隠れたＤＭＡモジュール１１４においてプログラムまたは設定し得る。いくつかの例では、宛先マネージャ１１２は、宛先アドレスの検証に続き、これらのレジスタを設定し得る。これらの例として、ソースレジスタは、共有メモリ１３０内に維持されるソースＤＭＡテーブルに従って設定され得、宛先レジスタは、共有メモリ１３０内に維持される宛先アドレスに従って設定され得る。
【００４８】
処理例４．９（隠れたＤＭＡ動作の成功）に移動して、宛先マネージャ１１２は、隠れたＤＭＡ動作の成功を表示し得る。いくつかの例では、隠れたＤＭＡ動作の成功は、ソースおよび宛先ＤＭＡテーブル内に表示されるソース／宛先アドレスに従い、ソースメモリ１４０と安全な宛先メモリ１５０との間の保護されたコンテンツの移動を含み得る。これらの例として、すべての宛先アドレスは、安全な宛先アドレス範囲内であると判定され、したがって、復号化されたコンテンツが安全な宛先メモリ１５０内に置かれる前に検証された。
【００４９】
処理例４．１０（共有メモリフラグの除去）へと移動し、宛先マネージャ１１２は、隠れたＤＭＡ動作と部分の関連を表示するフラグを、共有メモリ１３０の部分から除去し得る。いくつかの例では、フラグの除去は、その後の隠れたＤＭＡ動作において、メモリの当該部分が新規ソースまたは宛先ＤＭＡテーブルで上書きされ得ることを表示し得る。いくつかの他の例では、エラーメッセージ（例えば、不当な宛先アドレス）に従ってオペレーティングシステム１２０および／またはアプリケーション１９０が隠れたＤＭＡ動作を行う努力を断念した場合は、共有メモリフラグも消去され得る。これらの例として、宛先マネージャ１１２は、隠れたＤＭＡ動作の再試行に対する要請が時間の所与の期間内に（例えば、数秒または数分）受け取れなかった場合は、オペレーティングシステム１２０および／またはアプリケーション１９０は隠れたＤＭＡ動作を行う努力を断念したと想定し得る。
【００５０】
図５は、安全なＤＭＡ動作の動作例の流れ図を示す。いくつかの例では、図１に示されるように演算プラットフォーム１００の要素は、図５に描かれる流れ図に関連する動作例を示すように使用され得る。図１および図２に示されるように、宛先マネージャ１１２は動作例を示すようにも使用され得る。しかし記述された方法は、演算プラットフォーム１００上の実装または宛先マネージャ１１２には限定されない。
【００５１】
開始からブロック５１０（隠れたＤＭＡ動作の開始）へ移動し、オペレーティングシステム１２０および／またはアプリケーション１９０は、処理３００または処理４００に関して前述されたように、隠れたＤＭＡ動作を開始し得る。いくつかの例では、ＳＥＰサブシステム１１０における宛先マネージャ１１２は、隠れたＤＭＡ動作を始めるための開始（例えば、開始特徴２１１を介して）に応答するために論理および／または特徴を含み得る。
【００５２】
ブロック５１０からブロック５２０（安全な宛先アドレス範囲の確立）へと移動し、宛先マネージャ１１２は、安全な宛先アドレス範囲を確立するように（例えば、範囲特徴２１３を介して）構成された論理および／または特徴を含み得る。いくつかの例では、宛先マネージャ１１２は隠れたＤＭＡモジュール１１４において維持される正当な宛先範囲レジスタの設定によって安全な宛先アドレス範囲を確立し得る。これらの例に関して、処理３００と類似して、宛先マネージャ１１２は、隠れたＤＭＡモジュール１１４において維持される正当な宛先先頭アドレスレジスタおよび正当な宛先末尾アドレスレジスタを設定し得る。他の例では、宛先マネージャ１１２は範囲レジスタの設定なしで、安全な宛先を確立し得る。これらの例として、処理４００と類似して、宛先マネージャ１１２は正当な宛先先頭アドレスおよび正当な宛先末尾アドレスを設定し、これらのアドレスを自分自身の、安全なメモリ（例えば、メモリ２３０）、に維持し得る。
【００５３】
ブロック５２０からブロック５３０（宛先ＤＭＡテーブルを受け取る）に進み、宛先マネージャ１１２は、宛先ＤＭＡテーブルを受け取るように（例えば、検証特徴２１７を介して）構成された論理および／または特徴を含み得る。いくつかの例では、宛先マネージャ１１２はオペレーティングシステム１２０および／またはアプリケーション１９０によって生成される分散／収集リストを介して宛先ＤＭＡテーブルを受け取り得る。他の例では、宛先ＤＭＡテーブルは共有メモリ１３０のフラグが立てられた部分に維持され得る。これらの他の例として、宛先マネージャ１１２は、宛先ＤＭＡテーブルを生成し、共有メモリのその部分にフラグを立てた可能性がある。宛先ＤＭＡテーブルは、次に、共有メモリ１３０のこのフラグを立てた部分から受け取られ得る。
【００５４】
ブロック５３０から決定ブロック５４０（宛先アドレス正当？）へ進み、宛先マネージャ１１２は受け取ったＤＭＡテーブル（例えば、検証特徴２１７を介して）に含まれる宛先アドレスを検証するように構成された論理および／または特徴を含み得る。いくつかの例では、宛先マネージャは、正当性を、宛先アドレスが前述のように確立された安全な宛先アドレス範囲内であるかどうかに基づき得る。宛先アドレスが安全な宛先アドレス範囲内ではない場合には、宛先アドレスは不当であると見なされ、処理はブロック５５０に移動する。さもなければ、処理はブロック５７０に移動する。
【００５５】
決定ブロック５４０からブロック５５０（隠れたＤＭＡ動作の停止）に移動し、宛先マネージャ１１２は、隠れたＤＭＡ動作を停止したか、または隠れたＤＭＡ動作が停止されたかどうかを判定するように構成された論理および／または特徴を含み得る。いくつかの例では、処理３００と類似して、隠れたＤＭＡモジュール１１４はエラー信号を宛先マネージャ１１２に送って、１または複数の宛先アドレスが不当であることを表示し得る。これらの例として、宛先マネージャ１１２は、エラー信号に基づいて隠れたＤＭＡ動作が停止されたと判定する。他の例では、処理４００と類似して、宛先マネージャ１１２は、１または複数の宛先アドレスが不当であるというそれ自身の判定に基づき、隠れたＤＭＡ動作を停止し得る。
【００５６】
ブロック５５０からブロック５６０（誤った指示を送る）に進み、宛先マネージャ１１２は、誤った指示をオペレーティングシステム１２０および／またはアプリケーション１９０へ送るように（例えば、表示特徴２１９を介して）構成された論理および／または特徴を含み得る。いくつかの例では、宛先マネージャ１１２は、隠れたＤＭＡ動作を再開するためにオペレーティングシステム１２０および／またはアプリケーション１９０をある時間の期間待ち、そして、隠れたＤＭＡ動作が再開始されていない場合には、正当な宛先範囲レジスタを消去するか、共有メモリフラグを除去し得る。処理は次に終了に至る。
【００５７】
決定ブロック５４０からブロック５７０（隠れたＤＭＡ動作の継続を許可）へと移動し、宛先マネージャ１１２は、隠れたＤＭＡ動作が継続することを許可するように構成された論理および／または特徴を含み得る。いくつかの例では、隠れたＤＭＡモジュール１１４はここで適用可能ソースおよび宛先アドレスレジスタセットを有し得る。これらの例として、ソースメモリ１４０から取得された暗号化されたコンテンツを安全なプロセッサ１１６によって復号化し、そして、設定ソースおよび宛先アドレスレジスタセットに基づき、隠れたＤＭＡモジュール１１４によって安全な宛先メモリ１５０内に置かれ得る。
【００５８】
ブロック５７０から決定ブロック５８０（隠れたＤＭＡ動作完了？）へと続き、宛先マネージャ１１２は、ソースメモリ１４０から取得されたすべての暗号化されたコンテンツが安全なプロセッサ１１６によって復号化され、隠れたＤＭＡモジュール１１４によって安全な宛先メモリ１５０内へその後に置かれたと判定するように構成される論理および／または特徴を含み得る。すべての暗号化されたコンテンツが復号化されなかった場合には、処理は決定ブロック５４０に戻る。さもなければ、正当な宛先範囲レジスタは消去されるか、または共有メモリフラグが除去され、処理は終了に至る。
【００５９】
図６は、演算デバイスに関するシステム例６００の図である。図６はシステム６００を示す図であり、さまざまな要素を含み得る。例えば、図６は、システム６００はプロセッサ６０２、チップセット６０４、入力／出力（Ｉ／Ｏ）デバイス６０６、ランダム・アクセス・メモリ（ＲＡＭ）（ダイナミックＲＡＭ（ＤＲＡＭ）等）６０８、および読み取り専用メモリ（ＲＯＭ）６１０、およびさまざまなプラットフォーム構成要素６１４（例えば、扇風機、直交流送風機、ヒートシンク、ＤＴＭシステム、冷却システム、筐体、換気口等）を含み得ることを示す。これらの要素は、ハードウェア、ソフトウェア、ファームウェア、または任意のそれらの組合せにより実装され得る。実施形態は、しかしながら、これらの要素に限定されない。
【００６０】
図６に示されるように、Ｉ／Ｏデバイス６０６、ＲＡＭ６０８、およびＲＯＭ６１０は、チップセット６０４を介してプロセッサ６０２と連結される。チップセット６０４は、バス６１２によりプロセッサ６０２と連結され得る。したがって、バス６１２は多数のラインを含み得る。さまざまな例では、チップセット６０４はプロセッサ６０２と一体化、またはそれと共にパッケージ化され得る。他の例が記述され、請求される。
【００６１】
プロセッサ６０２は１または複数のプロセッサコアを含む中央処理装置であり得、そして任意の数のプロセッサコアを含む任意の数のプロセッサを有し得る。プロセッサ６０２は、任意のタイプの処理ユニットを含み得、それらは例えば、ＣＰＵ、マルチ処理ユニット、縮小命令セットコンピュータ（ＲＩＳＣ）、パイプラインを有するプロセッサ、複合命令セットコンピュータ（ＣＩＳＣ）、デジタル信号プロセッサ（ＤＳＰ）、等である。
【００６２】
示されてはいないが、システム６００はさまざまなインターフェース回路を含み得、それらは、イーサネット（登録商標）インターフェースおよび／または汎用シリアルバス（ＵＳＢ）インターフェース、等である。いくつかの例示的実施形態では、Ｉ／Ｏデバイス６０６は、データおよびコマンドをシステム６００に入力するためのインターフェース回路と接続された１または複数の入力デバイスを含み得る。例えば、入力デバイスは、キーボード、マウス、タッチスクリーン、トラックパッド、トラックボール、トラックバー、音声認識システム、等を含み得る。同様に、Ｉ／Ｏデバイス６０６は、情報をオペレータに出力するためのインターフェース回路に接続された１または複数の出力デバイスを含み得る。例えば、出力デバイスは、１または複数の表示装置、印刷機、スピーカ、および／または所望により他の出力デバイスを含み得る。例えば、出力デバイスの１つは表示装置であり得る。表示装置はブラウン管（ＣＲＴ）、液晶ディスプレー（ＬＣＤ）、または任意の他のタイプの表示装置であり得る。
【００６３】
システム６００はネットワークへの接続を介して、他のデバイスとデータを交換するための有線または無線ネットワークインターフェースをも有し得る。ネットワーク接続は任意のタイプのネットワーク接続であり得、例えば、イーサネット（登録商標）接続、デジタル・サブスクライバ・ライン（ＤＳＬ）、電話回線、同軸ケーブル、等である。ネットワークは任意のタイプのネットワークであり得、例えば、インターネット、電話ネットワーク、ケーブルネットワーク、無線ネットワーク、パケット交換ネットワーク、回線切替ネットワーク、および／または等である。
【００６４】
さまざまな例は、ハードウェア要素、ソフトウェア要素、または両者の組合せを使用して実装され得る。ハードウェア要素の例は、プロセッサ、マイクロプロセッサ、回路、回路要素（例えば、トランジスタ、抵抗器、コンデンサ、インダクタ、等）、集積回路、アプリケーション固有集積回路（ＡＳＩＣ）、プログラム式論理デバイス（ＰＬＤ）、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラム式ゲートアレイ（ＦＰＧＡ）、論理ゲート、レジスタ、セミコンダクタデバイス、チップ、マイクロチップ、チップセット、等を含み得る。ソフトウェアの例は、ソフトウェア構成要素、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、機械プログラム、オペレーティング・システム・ソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、機能、方法、手順、ソフトウェアインターフェース、アプリケーション・プログラム・インターフェース（ＡＰＩ）、命令セット、演算コード、コンピュータコード、コードセグメント、コンピュータ・コード・セグメント、ワード、値、符号、または任意のそれらの組合せを含み得る。ある例がハードウェア要素および／またはソフトウェア要素を使用して実装されるかどうかの判定は、任意の数の要因により変わり得、これは例えば、望ましい演算レート、パワーレベル、熱耐久性、処理サイクル予算、入力データレート、出力データレート、メモリ資源、データバス速度および他の設計または性能上の制約である。
【００６５】
少なくとも１つの例の１または複数の態様は、機械可読媒体上に記憶される代表的命令によって実装され得、これはプロセッサ内のさまざまな論理を代表し、そして機械によって読み取られたとき、機械に対してここに記述される技法を実施するために論理を組立てるようにさせる。「ＩＰコア」として知られるそのような代表は、有形の機械可読媒体上に記憶され、そしてさまざまな顧客または製造施設へ供給されて、実際に論理またはプロセッサを形成する組立機械にロードされる。
【００６６】
さまざまな例は、ハードウェア要素、ソフトウェア要素、または両者の組合せを使用して実装され得る。いくつかの例では、ハードウェア要素は、デバイス、構成要素、プロセッサ、マイクロプロセッサ、回路、回路要素（例えば、トランジスタ、抵抗器、コンデンサ、インダクタ、等）、集積回路、アプリケーション固有集積回路（ＡＳＩＣ）、プログラム式論理デバイス（ＰＬＤ）、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラム式ゲートアレイ（ＦＰＧＡ）、メモリユニット、論理ゲート、レジスタ、セミコンダクタデバイス、チップ、マイクロチップ、チップセット、等を含み得る。いくつかの例では、ソフトウェア要素は、ソフトウェア構成要素、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、機械プログラム、オペレーティング・システム・ソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、機能、方法、手順、ソフトウェアインターフェース、アプリケーション・プログラム・インターフェース（ＡＰＩ）、命令セット、演算コード、コンピュータコード、コードセグメント、コンピュータ・コード・セグメント、ワード、値、符号、または任意のそれらの組合せを含み得る。ある例が、ハードウェア要素および／またはソフトウェア要素を使用して実装されるかどうかの判定は、任意の数の要因に従って変わり得、例えば、望ましい演算レート、パワーレベル、熱耐久性、処理サイクル予算、入力データレート、出力データレート、メモリ資源、データバス速度、および所与の実装に望まれる他の設計または性能制約である。
【００６７】
いくつかの例は、製造の品物を含み得る。製造の品物は、論理を記憶するための非一時的記憶媒体を含み得る。いくつかの例では、非一時的記憶媒体は、電子データを記憶可能な１または複数のタイプのコンピュータ可読記憶媒体を含み得、これには、揮発性メモリまたは非揮発性メモリ、除去可能または非除去可能メモリ、消去可能または非消去可能メモリ、書き換え可能または非書き換え可能メモリ、等が含まれる。いくつかの例では、論理はさまざまなソフトウェア要素を含み得、例えば、ソフトウェア構成要素、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、機械プログラム、オペレーティング・システム・ソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、機能、方法、手順、ソフトウェアインターフェース、アプリケーション・プログラム・インターフェース（ＡＰＩ）、命令セット、演算コード、コンピュータコード、コードセグメント、コンピュータ・コード・セグメント、ワード、値、符号、または任意のそれらの組合せである。
【００６８】
いくつかの例に従って、製造の品物は、コンピュータまたはシステムによって実行されたとき、コンピュータまたはシステムに対して記述された例に従って方法および／または動作を実施するようにさせる命令を記憶または維持する非一時的記憶媒体を含み得る。この命令は、任意の好適タイプのコードを含み得、例えば、ソースコード、コンパイル済みコード、解釈済コード、実行可能コード、スタティックコード、ダイナミックコード、等である。命令は、コンピュータに対して一定の機能を実施するように命じるための、事前定義コンピュータ言語、方法、または構文に従って実装され得る。命令は、任意の好適なハイレベル、ローレベル、オブジェクト指向、視覚的、コンパイル済み、および／または解釈済プログラミング言語を使用して実装され得る。
【００６９】
いくつかの例は、派生物と共に、表現「１つの例では」または「ある例」を使用して記述され得る。この用語は、例と共に記述された特定の特徴、構造、または特性は少なくとも１つの例に含まれることを意味する。明細書中のさまざまな場所において「１つの例では」という句の出現は、必ずしもすべてが同一例を参照しているのではない。
【００７０】
いくつかの例は、その派生物と共に、「連結され」および「接続され」という表現を使用して記述され得る。これらの用語は、必ずしも互いの同義語として意図されているのではない。例えば、用語「接続され」および／または「連結され」を使用する記述は、２つ以上の要素が互いに直接的な物理的または電気的接触にあることを表示し得る。用語「連結され」は、しかしながら、２つ以上の要素が互いに直接的には接触していないが、しかし依然として協働しているまたは互いに作用していることも意味し得る。
【００７１】
本開示の要約は、３７Ｃ．Ｆ．Ｒ．セクション１．７２（ｂ）に従って提供されることが強調されており、これは、読者が技術的開示の本質を素早く確かめることを可能とするための要約を要求している。それは請求項の範囲および意味を解釈または限定するために使用されないという理解の下で提示されている。さらに、先行する発明を実施するための形態において、さまざまな特徴が、開示を合理化する目的で１つの例の中にグループ化されていることを見ることができる。開示のこの方法は、請求された例は、各請求項において明示的に列挙されたよりも多くの特徴を必要とするという意図を反映しているものとして解釈されるべきではない。むしろ、以下の請求項が反映するように、発明の主題的事項は単一の開示例の全特徴より少ないところにある。したがって、以下の請求項はここにおいて発明を実施するための形態に組込まれ、各請求項は別の例として独自に立つ。付属請求項において、用語「含んでいる」および「その中で」は、それぞれ用語「備えている」および「その中における」と同等な平易な英語として使用される。さらに、用語「第１の」、「第２の」、「第３の」等は、単に表示として使用され、その目的物に対する数字的要件を課することは意図されていない。
【００７２】
主題は、構造的特徴および／または方法論的活動特有の言語で記述されてきたが、付属請求項において定義された主題は、必ずしも現実の特定の特徴または作用に限定されないことを理解されるべきである。むしろ、前述の特定の特徴および作用は請求項を実装する形式例として開示され得る。
本明細書によれば、以下の各項目に記載の構成もまた開示される。
［項目１］
ホストコンピューティングデバイスにおいて実装される方法であって、
ソースメモリから暗号化されたコンテンツを取得することと、前記暗号化されたコンテンツを復号化することと、前記復号化されたコンテンツを安全な宛先メモリに置くこととを含む、ダイレクトメモリアクセス（ＤＭＡ）動作（ＤＭＡ動作）の開始に応答して、安全な宛先アドレス範囲を確立することと、
前記安全な宛先メモリと関連する１または複数の宛先アドレスを受け取ることと、
前記安全な宛先アドレス範囲内にある前記１または複数の宛先アドレスに基づき、前記安全な宛先メモリに前記復号化されたコンテンツが置かれることを許可することと、を含む、方法。
［項目２］
正当な宛先先頭アドレスレジスタおよび正当な宛先末尾アドレスレジスタの両方を、前記ＤＭＡ動作を実装するＤＭＡモジュールに設定することによって、前記安全な宛先アドレス範囲を確立することを含む、項目１に記載の方法。
［項目３］
前記ＤＭＡ動作の完了に応答して、前記正当な宛先先頭アドレスレジスタおよび前記正当な宛先末尾アドレスレジスタを再設定することを含む、項目２に記載の方法。
［項目４］
前記１または複数の宛先アドレスを受け取ることは、前記ＤＭＡ動作を要請するアプリケーションによって生成される分散／収集リストの一部として宛先ＤＭＡテーブルを受け取ることを含み、前記分散／収集リストは前記ソースメモリに関連する１または複数のソースアドレスも含む、項目１に記載の方法。
［項目５］
前記分散／収集リストに基づき、前記ＤＭＡモジュールにおいてソースアドレスおよび宛先アドレスレジスタを設定することと、前記ＤＭＡモジュールが、前記１または複数の宛先アドレスのうちの少なくとも１つの宛先アドレスが前記安全な宛先アドレス範囲外にあることに基づき、前記ソースアドレスおよび宛先アドレスレジスタの前記設定を停止させることとを含む、項目４に記載の方法。
［項目６］
前記ＤＭＡモジュールが前記少なくとも１つの宛先アドレスが不当な宛先アドレスであることを表示するために、前記ＤＭＡモジュールが誤った指示をコントローラに送ることを含む、項目５に記載の方法。
［項目７］
前記ＤＭＡ動作を実装するＤＭＡモジュールに関するコントローラと前記ホストコンピューティングデバイスのオペレーティングシステムとの間で共有されるメモリの一部分から、前記１または複数の宛先アドレスを受け取ることを含み、前記１または複数の宛先アドレスは前記コントローラによって構築され、前記コントローラは前記メモリの前記部分にフラグを立て、前記部分の前記ＤＭＡ動作との関連を表示し、前記コントローラは、正当な宛先先頭アドレスを設定し、正当な宛先末尾アドレスを設定して、前記安全な宛先アドレス範囲を確立する、項目１に記載の方法。
［項目８］
前記コントローラが前記メモリから１または複数のソースアドレスを受け取ることを含み、前記１または複数のソースアドレスは前記ＤＭＡ動作を要請するアプリケーションによって構築され、前記コントローラは前記１または複数のソースアドレスおよび前記１または複数の宛先アドレスの両方に基づき、前記ＤＭＡモジュールにおいて、ソースアドレスおよび宛先アドレスレジスタを設定し、前記コントローラは、前記１または複数の宛先アドレスのうちの少なくとも１つの宛先アドレスが前記安全な宛先アドレス範囲外にあることに基づき、前記ソースアドレスおよび宛先アドレスレジスタの前記設定を停止させる、項目７に記載の方法。
［項目９］
前記安全な宛先範囲外である前記少なくとも１つの宛先アドレスに応答して、前記コントローラが、前記ＤＭＡ動作を要請する前記アプリケーションに誤った指示を送ることを含む、項目８に記載の方法。
［項目１０］
前記コントローラが前記メモリから１または複数のソースアドレスを受け取ることを含み、前記１または複数のソースアドレスは前記ＤＭＡ動作を要請するアプリケーションによって構築され、前記コントローラは、前記１または複数のソースアドレスおよび前記１または複数の宛先アドレスの両方に基づき、また前記１または複数の宛先アドレスの中からのすべての前記宛先アドレスが前記安全な宛先アドレス範囲内であるかどうかに基づき、ソースアドレスおよび宛先アドレスレジスタを前記ＤＭＡモジュールにおいて設定する、項目７に記載の方法。
［項目１１］
プロセッサ回路と、
前記プロセッサ回路に通信可能に連結されるメモリユニットとを備え、前記メモリユニットは、暗号化されたコンテンツをソースメモリから移動させ、前記暗号化されたコンテンツを復号化し、前記復号化されたコンテンツを安全な宛先メモリに置くダイレクトメモリアクセス（ＤＭＡ）動作（ＤＭＡ動作）の開始に応答して、安全な宛先アドレス範囲を確立するように、前記プロセッサ回路上で動作可能な宛先マネージャを記憶するように準備され、前記宛先マネージャは、前記安全な宛先メモリに関連する１または複数の宛先アドレスを受け取り、前記復号化されたコンテンツが、前記安全な宛先アドレス範囲内にある前記１または複数の宛先アドレスに基づいて、前記安全な宛先メモリに置かれることを許可するようにも動作可能である、装置。
［項目１２］
前記安全な宛先メモリに置かれた前記復号化されたコンテンツの映像コンテンツ部分を視覚的に再生するための表示装置を備える、項目１１に記載の装置。
［項目１３］
前記安全な宛先アドレス範囲を確立するために、前記ＤＭＡ動作を実装するＤＭＡモジュールにおいて、正当な宛先先頭アドレスレジスタおよび正当な宛先末尾アドレスレジスタの両方を設定する前記宛先マネージャを備える、項目１１に記載の装置。
［項目１４］
前記ＤＭＡ動作を要請するアプリケーションによって生成される分散／収集リストとして宛先ＤＭＡテーブル内に前記１または複数の宛先アドレスを受け取る前記宛先マネージャを備え、前記分散／収集リストは前記ソースメモリと関連する１または複数のソースアドレスも含む、項目１３に記載の装置。
［項目１５］
前記分散／収集リストに基づき前記ＤＭＡモジュールにおいてソースアドレスおよび宛先アドレスレジスタを設定し、また前記安全な宛先アドレス範囲の外にある前記１または複数の宛先アドレスの中からの少なくとも１つの宛先アドレスを表示する、前記ＤＭＡモジュールからの誤った指示に基づき、前記ソースアドレスおよび宛先アドレスレジスタの前記設定を停止させる、前記宛先マネージャを備える、項目１４に記載の装置。
［項目１６］
前記宛先マネージャとオペレーティングシステムとの間で共有されるメモリの一部分から前記１または複数の宛先アドレスを受け取り、また前記１または複数の宛先アドレスを構築し、前記ＤＭＡ動作との前記部分の関連を表示する前記メモリの前記部分にフラグを立てる、前記宛先マネージャを備える、項目１１に記載の装置。
［項目１７］
前記安全な宛先アドレス範囲を確立するために、正当な宛先先頭アドレスおよび正当な宛先末尾アドレスを設定する、前記宛先マネージャを備える、項目１６に記載の装置。
［項目１８］
前記ＤＭＡ動作を実装するＤＭＡモジュールにおいて維持されるレジスタにおいて、正当な宛先先頭アドレスおよび正当な宛先末尾アドレスを設定する、前記宛先マネージャを備える、項目１６に記載の装置。
［項目１９］
前記メモリから１または複数のソースアドレスを受け取る前記宛先マネージャを備え、前記１または複数のソースアドレスは、前記ＤＭＡ動作を要請するアプリケーションによって構築され、前記宛先マネージャは、前記１または複数のソースアドレスおよび前記１または複数の宛先アドレスの両方に基づいて、前記ＤＭＡモジュールにおいてソースアドレスおよび宛先アドレスレジスタを設定し、前記宛先マネージャはまた、前記１または複数の宛先アドレスのうちの少なくとも１つの宛先アドレスが前記安全な宛先アドレス範囲外にあることに基づいて、前記ソースアドレスおよび宛先アドレスレジスタの前記設定を停止させる、項目１７に記載の装置。
［項目２０］
不当な宛先アドレスである前記少なくとも１つの宛先アドレスに応答して、前記ＤＭＡ動作を要請する前記アプリケーションに誤った指示を送る、前記宛先マネージャを備える、項目１９に記載の装置。
［項目２１］
実行されたときに、ホストコンピューティングデバイスのダイレクトメモリアクセス（ＤＭＡ）システム（ＤＭＡシステム）に、
ソースメモリから暗号化されたコンテンツを取得することと、前記暗号化されたコンテンツを復号化することと、前記復号化されたコンテンツを安全な宛先メモリに置くこととを含む、ＤＭＡ動作の開始に応答して、安全な宛先アドレス範囲を確立する手順と、
前記安全な宛先メモリと関連する１または複数の宛先アドレスを受け取る手順と、
前記復号化されたコンテンツを、前記安全な宛先アドレス範囲内にある前記１または複数の宛先アドレスに基づき、前記安全な宛先メモリに置く手順と、を実行させる命令を含む記憶媒体を備える製品。
［項目２２］
前記ＤＭＡシステムに、
前記ＤＭＡ動作を実装するＤＭＡモジュールにおける正当な宛先先頭アドレスレジスタおよび正当な宛先末尾アドレスレジスタの両方を設定することによって、前記安全な宛先アドレス範囲を確立する手順と、を実行させる前記命令を含む、項目２１に記載の製品。
［項目２３］
前記ＤＭＡシステムに、
前記１または複数の宛先アドレスを、前記ＤＭＡ動作を要請するアプリケーションによって生成される分散／収集リストの一部としてＤＭＡテーブル内に受け取る手順であって、前記分散／収集リストは前記ソースメモリに関連する１または複数のソースアドレスも含む、手順と、を実行させる前記命令を含む、項目２２に記載の製品。
［項目２４］
前記ＤＭＡシステムに、
前記分散／収集リストに基づき、前記ＤＭＡモジュールのソースアドレスおよび宛先アドレスレジスタを設定する手順と、
前記１または複数の宛先アドレスのうち前記安全な宛先アドレス範囲外にある少なくとも１つの宛先アドレスを指示する前記ＤＭＡモジュールからの誤った指示に基づき、前記ソースアドレスおよび宛先アドレスレジスタの前記設定を停止する手順と、
を実行させる前記命令を含む、項目２３に記載の製品。
［項目２５］
前記ＤＭＡシステムに、
前記ＤＭＡシステムと前記ホストコンピューティングデバイスのオペレーティングシステムとの間で共有されるメモリの一部分から、前記１または複数の宛先アドレスを受け取る手順であって、前記１または複数の宛先アドレスは前記ＤＭＡシステムによって構築される、手順と、
前記メモリの前記部分にフラグを立てて、前記部分の前記ＤＭＡ動作との関連を表示する手順と、
を実行させる前記命令を含む、項目２１に記載の製品。
［項目２６］
前記ＤＭＡシステムに、
正当な宛先末尾アドレスを設定することにより前記安全な宛先アドレス範囲を確立する手順と、を実行させる前記命令を含む、項目２５に記載の製品。
［項目２７］
前記ＤＭＡシステムに、
前記ＤＭＡ動作を要請するアプリケーションによって構築される１または複数のソースアドレスを前記メモリから受け取る手順と、
前記１または複数のソースアドレスおよび前記１または複数の宛先アドレスの両方に基づき、ソースアドレスおよび宛先アドレスレジスタを設定する手順と、
前記１または複数の宛先アドレスのうちの少なくとも１つの宛先アドレスが前記安全な宛先アドレス範囲外にあることに基づき、前記ソースアドレスおよび宛先アドレスレジスタの前記設定を停止する手順と、
を実行させる前記命令を含む、項目２６に記載の製品。
［項目２８］
前記ＤＭＡシステムに、
前記少なくとも１つの宛先アドレスが前記安全な宛先範囲外であることに基づき、前記ＤＭＡ動作を要請する前記アプリケーションに誤った指示を送る手順と、
を実行させる前記命令を含む、項目２７に記載の製品。
【図１】
0005908991.tif 000002
【図２】
0005908991.tif 000003
【図３】
0005908991.tif 000004
【図４】
0005908991.tif 000005
【図５】
0005908991.tif 000006
【図６】
0005908991.tif 000007