(57)【要約】  ＤＭＡチャネルをプロセッサの動作モードと非依存で使用可能にし、ＤＭＡ起動中（転送中）のＤＭＡ制御パラメータの保護を、プロセッサの動作モード遷移を出来る限り少なくした上で実現するＤＭＡ制御装置およびデータ転送方法を提供する。セキュアモードでｃｈ０ＤＭＡ制御レジスタ１１４へのアクセスをロックしてＤＭＡ起動要求する際に、ロック解除設定レジスタ１１８に対し、転送完了時にロック解除することを指示し、パラメータ制御部１１９はｃｈ０状態管理部１１６から転送完了通知を受けるとロック解除設定レジスタ１１８の設定に従い、ロック設定レジスタ１１５に対しロック解除を指示する。
2009028144.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサからＤＭＡ(Direct Memory Access)転送要求を受付けた場合に、ＤＭＡ制御レジスタに設定されているＤＭＡパラメータに従いデータ転送を行うＤＭＡ制御装置であって、
データ転送完了時にデータ転送完了通知を生成するチャネル状態管理部と、
データ転送中における前記ＤＭＡ制御レジスタへのアクセスを不可能にするレジスタアクセス制御部と、
データ転送完了時の前記ＤＭＡパラメータの取り扱いを指定するパラメータ制御レジスタと、を備え、
前記レジスタアクセス制御部は、前記パラメータ制御レジスタの設定と、前記チャネル状態管理部から供給された前記データ転送完了通知と、に基づいて、前記ＤＭＡ制御レジスタへのアクセスを制御するものであるＤＭＡ制御装置。
【請求項２】
請求項１記載のＤＭＡ制御装置であって、
前記ＤＭＡパラメータは、前記プロセッサから供給される転送元情報、転送先情報、および転送サイズを含むものであるＤＭＡ制御装置。
【請求項３】
請求項１記載のＤＭＡ制御装置であって、
前記パラメータ制御レジスタは、データ転送完了時に前記ＤＭＡ制御レジスタへのアクセスを可能にするとの前記ＤＭＡパラメータの取り扱いを指定するものを含むＤＭＡ制御装置。
【請求項４】
請求項１記載のＤＭＡ制御装置であって、
前記パラメータ制御レジスタは、データ転送完了時に前記ＤＭＡ制御レジスタをクリアするとの前記ＤＭＡパラメータの取り扱いを指定するものを含むＤＭＡ制御装置。
【請求項５】
請求項１記載のＤＭＡ制御装置であって、
前記ＤＭＡ制御レジスタを複数備え、
前記レジスタアクセス制御部は、前記複数のＤＭＡ制御レジスタのいずれを制御するかを指定するパラメータ制御対象選択レジスタを有し、前記パラメータ制御対象選択レジスタで指定されているＤＭＡ制御レジスタへのアクセスのみを制御するものであるＤＭＡ制御装置。
【請求項６】
請求項１記載のＤＭＡ制御装置であって、
前記プロセッサの動作モードを検出する動作モード検出部を備え、
前記レジスタアクセス制御部は、前記動作モード検出部が所定の動作モードを検出した場合に、前記ＤＭＡ制御レジスタへのアクセスを可または不可にする制御を行うものであるＤＭＡ制御装置。
【請求項７】
請求項６記載のＤＭＡ制御装置であって、
前記所定の動作モードが、前記プロセッサが秘匿な処理を実行するためのセキュアモードであるものであるＤＭＡ制御装置。
【請求項８】
請求項１記載のＤＭＡ制御装置であって、
前記レジスタアクセス制御部は、前記プロセッサから通知される動作モードを受付ける機能を有し、前記ＤＭＡ制御レジスタへのアクセスを不可能にする状態において、前記動作モードが、前記プロセッサが秘匿な処理を実行するためのセキュアモード以外の場合に、前記ＤＭＡ制御レジスタへのアクセスを可または不可にする制御を行うものであるＤＭＡ制御装置。
【請求項９】
セキュアモードおよび通常モードで動作するＤＭＡ制御装置がデータ転送を行うデータ転送方法であって、
前記セキュアモードで、ＤＭＡ制御レジスタにＤＭＡパラメータを設定するステップと、
前記セキュアモードで、前記ＤＭＡパラメータへのアクセスロックを設定するステップと、
前記セキュアモードで、データ転送完了時に、前記ＤＭＡパラメータへのアクセスロックを解除するように設定するステップと、
前記セキュアモードで、データ転送を開始するステップと、
前記通常モードで、データ転送完了を検出した場合に、前記ＤＭＡ制御レジスタへのアクセスロックを解除するステップと、を有するデータ転送方法。
【請求項１０】
セキュアモードおよび通常モードで動作するＤＭＡ制御装置がデータ転送を行うデータ転送方法であって、
前記セキュアモードで、ＤＭＡ制御レジスタにＤＭＡパラメータを設定するステップと、
前記セキュアモードで、前記ＤＭＡパラメータへのアクセスロックを設定するステップと、
前記セキュアモードで、データ転送完了時に、前記ＤＭＡパラメータを初期化するように設定するステップと、
前記セキュアモードで、データ転送を開始するステップと、
前記通常モードで、データ転送完了を検出した場合に、前記ＤＭＡパラメータを初期化するステップと、を有するデータ転送方法。
【請求項１１】
請求項９記載のデータ転送方法であって、
前記セキュアモードで、制御対象の前記ＤＭＡ制御レジスタを特定するステップと、
前記通常モードで、データ転送完了を検出した場合に、制御対象の前記ＤＭＡ制御レジスタのＤＭＡパラメータを初期化し、前記ＤＭＡ制御レジスタへのアクセスロックを解除するステップと、を有するデータ転送方法。
【請求項１２】
請求項９記載のデータ転送方法であって、
動作モードを検出するステップと、
検出した動作モードに応じて、前記ＤＭＡパラメータへのアクセスロックを設定／解除し、前記ＤＭＡパラメータを初期化するステップと、を有するデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＤＭＡ制御装置およびデータ転送方法に関し、特に、デジタルAV機器等向けシステムLSIにおけるセキュア機構実現に関するものである。
【背景技術】
【０００２】
現在、LSI（Large Scale Integrated circuit）の高機能化、高集積化が進む中、デジタルAV家電分野などで用いられるLSIでは、多種多様なアプリケーションの実行が行われる。その中で、コンテンツの著作権保護や個人情報の保護のため、秘匿データの暗号化、復号化処理をセキュアに実行することが必要不可欠である。【０００３】
その際、CPUの負荷を軽減するため、秘匿なデータを暗号化、復号化するためにＤＭＡ(Direct Memory Access)制御装置を用いてデータ転送を行うケースが一般的である。秘匿データを扱う転送は、不正に実行されることがないようにする必要がある。【０００４】
その実現手段の一つとして、保護されたプログラムのみが秘匿な処理の実行を行うセキュアモードを活用することが多くなっている。通常のアプリケーションは通常モードで実行し、秘匿性の高い処理を実行するときのみセキュアモードに遷移して必要な処理を行い、処理完了後に再度通常モードに復帰する。【０００５】
特許文献１には、制御レジスタへの設定により、ＤＭＡチャネルのリソースを割り当てるコンフィグレーションレジスタへの書き込みを不可能にすることで、予期せぬ設定変更に伴う誤動作を防止するための機構について開示されている。図６に、特許文献１記載の機構を一般的なＤＭＡ制御装置に適用した例を示す。【０００６】
まず、図６に示すＤＭＡ制御装置６０６の一般的な動作を説明する。ここではチャネル（ｃｈ）０からＮまであるＤＭＡチャネルの内、チャネル０（ｃｈ０）を例に説明する。【０００７】
ＤＭＡ制御装置６０６は、ＣＰＵ１０１からの指示により、周辺回路１０３とメモリ１０５間のデータ転送や、暗号エンジン１０２とメモリ１０５間のデータ転送を制御する。【０００８】
ＣＰＵ１０１は、チャネル０レジスタ制御部６１１＿０内のｃｈ０制御レジスタ１１４に転送元アドレス、転送先アドレスや転送サイズなどのＤＭＡ制御パラメータを設定した上で、起動要求レジスタ（ｒｅｇ０）にＤＭＡ起動つまり転送開始を指示する。【０００９】
ＤＭＡ制御装置６０６は、ＣＰＵ１０１からの要求を基にアドレスデコード部６１０で各制御レジスタへのアクセス要求を生成し、各チャネルのレジスタ制御部６１１＿０、６１１＿１、〜、６１１＿Ｎに出力する。【００１０】
チャネル０レジスタ制御部６１１＿０は、アドレスデコード部６１０からのアクセス要求に応じて、ｃｈ０制御レジスタ１１４へのアクセスを制御する。【００１１】
ＣＰＵ１０１から複数の起動要求レジスタ（ｒｅｇ０等）に対して転送開始要求（ＤＭＡ起動）が設定されると、調停部１１３は、起動された複数のチャネルの中でどのチャネルの転送を実行するかを選択する。そして、実行部１０８は、調停部１１３にて選択されたチャネルのＤＭＡ制御パラメータに基づいてデータ転送を行う。【００１２】
次に、特許文献１記載の機構を適用したＤＭＡ制御装置６０６における特徴を説明する。ＤＭＡ制御装置６０６は、ｃｈ０制御レジスタ１１４内にロック設定レジスタ（ｒｅｇｘ）６１５を備える。ロック設定レジスタ６１５に１が設定されると、アクセス制御部６１３がｃｈ０制御レジスタ１１４へのライトアクセスを禁止する。これにより、以降、誤ってｃｈ０制御レジスタ１１４を上書きしてしまうことを防ぐことができる。【００１３】
ＣＰＵ１０１は、上述の通り、コンテンツの著作権保護処理など秘匿性の高い処理を行う場合、セキュアモードに移行して処理を行うのが一般的である。セキュアモードで実行されるプログラムは、悪意のある者による改ざんや盗み見ができないように保護されている。【００１４】
そのため、ＣＰＵ１０１がセキュアモードで動作する場合、不正な処理が行われることはない。また、ＣＰＵ１０１は、ＤＭＡ制御装置６０６のレジスタにアクセスする時には、セキュアモードにおけるレジスタアクセスであることを通知するために、プロセッサ動作モード１０９を出力する。セキュアモードと通常モードとで、メモリやレジスタなどのハードウェア資源を共有する場合、モード移行する際にプログラムやデータの退避、復帰が必要となる。【００１５】
図７に、図６に示したＤＭＡ制御装置６０６の処理の一例を示すフローチャートを示す。【００１６】
ステップＳ２０１：ＣＰＵ１０１が秘匿なデータ転送を行うために、通常モードからセキュアモードに移行するための処理を実行する。【００１７】
ステップＳ２０２：セキュアモードにおいて、ＣＰＵ１０１がｃｈ０ＤＭＡ制御レジスタ１１４に対し、転送元アドレス、転送先アドレス、転送サイズなどのＤＭＡ制御パラメータを設定する。【００１８】
ステップＳ２０３：ＣＰＵ１０１がロック設定レジスタ６１５に１を設定することにより、ｃｈ０制御レジスタ１１４の起動要求レジスタ（ｒｅｇ０）以外へのライトアクセスを禁止する（アクセスをロックする）。【００１９】
ステップＳ２０５：チャネル０の起動要求レジスタ（ｒｅｇ０）に対し、転送開始を指示するために起動要求設定を行う。【００２０】
ステップＳ２０６：ＣＰＵ１０１が、セキュアモードから通常モードへの復帰処理を行う。【００２１】
ステップＳ７０８：ＤＭＡ転送完了通知を受けると、ＣＰＵ１０１が通常モードからセキュアモードへの移行処理を行う。【００２２】
ステップＳ７０９：セキュアモードにおいて、ＣＰＵ１０１がロック設定レジスタ６１５に０を設定することで、ｃｈ０制御レジスタ１１４へのアクセスロックを解除する。【００２３】
ステップＳ７１０：ＣＰＵ１０１がセキュアモードから通常モードへの復帰処理を行う。【００２４】
以上の処理により、秘匿なデータ転送を実行中のＤＭＡチャネル０に対し、悪意を持った者がＤＭＡパラメータを書き換えるなどの不正行為を防ぐことが可能となる。【００２５】
ここで、ＤＭＡ制御装置におけるチャネルとは、ＤＭＡパラメータを設定して転送を行うために必要なハードウェア資源のことを指す。チャネルが複数存在すると、複数のＤＭＡパラメータを設定、起動することが可能であり、ソフトウェア的には同時に複数種類の転送を実行することが可能となる。【００２６】
一般的に、ＤＭＡ制御装置は複数のチャネルを備えており、アプリケーションの実行状況に応じて、ソフトウェアが複数のＤＭＡ転送を起動し、ハードウェアが時分割もしくは並行にデータ転送制御を行う。
【特許文献１】特開平８−２４１２６６号公報
【発明の開示】
【発明が解決しようとする課題】
【００２７】
前記従来の構成では、プロセッサがセキュアモードでDMAチャネルのロック設定／解除設定することにより、1つのDMAチャネルをセキュアモード、通常モードで共用することが可能になる。しかしながら、モード遷移に伴うオーバーヘッドが処理性能劣化の要因になるという課題を有していた。【００２８】
本発明の目的は、前記従来の課題を解決するもので、ＤＭＡチャネルをプロセッサの動作モードと非依存で使用可能にし、ＤＭＡ起動中（データ転送中）のＤＭＡ制御パラメータの保護を、プロセッサの動作モード遷移を出来る限り少なくした上で実現するＤＭＡ制御装置およびデータ転送方法を提供することである。
【課題を解決するための手段】
【００２９】
本発明は、プロセッサからＤＭＡ(Direct Memory Access)転送要求を受付けた場合に、ＤＭＡ制御レジスタに設定されているＤＭＡパラメータに従いデータ転送を行うＤＭＡ制御装置であって、データ転送完了時にデータ転送完了通知を生成するチャネル状態管理部と、データ転送中における前記ＤＭＡ制御レジスタへのアクセスを不可能にするレジスタアクセス制御部と、データ転送完了時の前記ＤＭＡパラメータの取り扱いを指定するパラメータ制御レジスタと、を備え、前記レジスタアクセス制御部は、データ転送完了時の前記ＤＭＡパラメータの取り扱いを指定するパラメータ制御レジスタの設定と、前記チャネル状態管理部から供給された前記データ転送完了通知と、に基づいて、前記ＤＭＡ制御レジスタへのアクセスを制御するＤＭＡ(Direct Memory Access)制御装置を提供する。
【発明の効果】
【００３０】
本発明に係るＤＭＡ制御装置によれば、データ転送完了時のＤＭＡパラメータの取り扱いを指定し、データ転送完了時にＤＭＡパラメータを制御するので、ＤＭＡ起動中（データ転送中）においてＤＭＡ制御パラメータを保護する動作モードと保護を要しない動作モードとを含む複数の動作モードでＤＭＡチャネルを使用する場合であっても、ＤＭＡチャネルをプロセッサの動作モードと非依存で使用可能にすることを、プロセッサの動作モード遷移を出来る限り少なくした上で実現できる。
【図面の簡単な説明】
【００３１】
【図１】本発明の第１の実施の形態にかかるＤＭＡ制御回路を説明するための構成図
【図２】本発明の第１の実施の形態におけるＤＭＡ制御回路の処理例を示すフローチャート
【図３】本発明の第２の実施の形態にかかるＤＭＡ制御回路を説明するための構成図
【図４】本発明の第３の実施の形態にかかるＤＭＡ制御回路を説明するための構成図
【図５】本発明の第４の実施の形態にかかるＤＭＡ制御回路を説明するための構成図
【図６】従来のＤＭＡ制御回路を説明するための構成図
【図７】従来のＤＭＡ制御回路の処理例を示すフローチャート
【符号の説明】
【００３２】
１０１  ＣＰＵ
１０２  暗号エンジン
１０３  周辺回路
１０５  メモリ
１０６  ＤＭＡ制御装置
１０８  実行部
１１０  アドレスデコード部
１１１＿０  チャネル０レジスタ制御部
１１２  調停部
１１３  レジスタアクセス制御部
１１４  ｃｈ０ＤＭＡ制御レジスタ
１１５  ロック設定レジスタ
１１６  ｃｈ０状態管理部
１１８  ロック解除設定レジスタ
１１９  パラメータ制御部
３２０  パラメータクリア設定レジスタ
４２１  制御対象設定レジスタ
５２２  動作モード検出部
【発明を実施するための最良の形態】
【００３３】
以下、本発明の実施形態について、図面を参照して説明する。【００３４】
（実施の形態１）
本発明の第１の実施の形態であるＤＭＡ制御装置の構成および動作を、図１、図２を用いて、図６、図７に示す従来のＤＭＡ制御装置との差分を中心に説明する。図１、図２において、図６、図７と同じ構成要素については同じ符号を用い、説明を省略する。ここでもチャネル０からＮまであるＤＭＡチャネルの内、チャネル０を例に説明する。【００３５】
図１に示すＤＭＡ制御装置１０６は、プロセッサからＤＭＡ転送要求を受付けた場合に、ＤＭＡ制御レジスタに設定されているＤＭＡパラメータに従いデータ転送を行うものである。ＤＭＡ制御装置１０６は、チャネル状態を管理し、データ転送完了時にデータ転送完了通知を生成するｃｈ０状態管理部１１６と、データ転送完了時のＤＭＡパラメータの取り扱いを指定するｃｈ０パラメータ制御レジスタの設定と、ｃｈ０状態管理部１１６から供給されたデータ転送完了通知と、に基づいて、ｃｈ０ ＤＭＡ制御レジスタ１１４へのアクセスを制御する、パラメータ制御レジスタアクセス制御部１１７、ロック設定レジスタ（ｒｅｇｘ）１１５、パラメータ制御部１１９、およびアクセス制御部１１３と、を備える。【００３６】
第１の実施の形態であるＤＭＡ制御装置１０６は、データ転送完了時の前記ＤＭＡパラメータの取り扱いを指定するｃｈ０パラメータ制御レジスタとして、ＤＭＡ転送完了時にｃｈ０ＤＭＡ制御レジスタへのアクセスロックを解除することを指示するためのロック解除設定レジスタ１１８を備えている。【００３７】
このロック解除設定レジスタ１１８への設定値はパラメータ制御部１１９に通知される。パラメータ制御部１１９は、ＤＭＡチャネル０の状態を管理するｃｈ０状態管理部１１６からの状態情報に基づきｃｈ０ＤＭＡ制御レジスタ１１４を制御する。【００３８】
ｃｈ０状態管理部１１６は、停止状態、起動状態（データ転送中）などの状態を管理し、ＤＭＡ転送が完了したことをパラメータ制御部１１９に通知する。【００３９】
パラメータ制御部１１９は、ｃｈ０状態管理部１１６からＤＭＡ転送が完了したこと通知されると、ロック設定レジスタ１１５に対し、ロック解除を指示する（例えば、ロック設定レジスタに対し０を設定する）。【００４０】
ロック設定レジスタ１１５にロック解除指示が反映される（例えば、アクセス制御部１１３にロック設定レジスタの値０が通知される）と、アクセス制御部１１３は、それまで禁止していたｃｈ０ＤＭＡ制御レジスタ１１４へのアクセスを許可する。【００４１】
なお、アクセス制御部１１３は、ＣＰＵ１０１からの動作モード１０９がセキュアモードを示しているときにのみ、ロック設定レジスタ１１５、ロック解除設定レジスタ１１８へのアクセスを許可する。【００４２】
なお、アクセス制御部１１３は、動作モード１０９が通常モードを示している場合のみ、ｃｈ０ＤＭＡ制御レジスタ１１４へのアクセスを禁止しても良い。すなわち、アクセス制御部１１３は、ｃｈ０ＤＭＡ制御レジスタ１１４へのアクセスが禁止されている状態（例えば、ロック設定レジスタ１１５の値が１である状態）であっても、動作モード１０９がセキュアモードである場合には、ｃｈ０ＤＭＡ制御レジスタ１１４へのアクセスを許可しても良い。【００４３】
アクセス制御部１１３が行うアクセス禁止の処理は、ｃｈ０ＤＭＡ制御レジスタ１１４へのライトアクセスのみの禁止、もしくはライトアクセスとリードアクセス両方の禁止、のいずれでも良い。【００４４】
図２は、本実施の形態の処理例を示すフローチャートである。図７との差分を中心に説明する。
ステップＳ２０４：ＣＰＵ１０１は、セキュアモードでＤＭＡパラメータ設定（Ｓ２０２）、パラメータロック設定（Ｓ２０３）後、転送完了時にパラメータ制御部１１９が行うパラメータ制御として、ロック解除設定レジスタ１１８にｃｈ０ＤＭＡ制御レジスタ１１４へのアクセスロック解除を指示する。【００４５】
ステップＳ２０７：転送が完了すると、パラメータ制御部１１９は、ｃｈ０状態管理部１１６からの転送完了通知を受けてロック設定レジスタ１１５に０を設定してロックを解除する。ＣＰＵ１０１はＤＭＡ転送完了後、セキュアモードに移行する（図７：Ｓ７０８）ことがない。【００４６】
ロック解除のためにセキュアモードに移行することがないため、その後の通常モードへの復帰処理Ｓ７１０も不要である。【００４７】
以上により、プロセッサの動作モード遷移を抑えて、ＤＭＡ制御パラメータの保護および、通常モード、セキュアモードでのＤＭＡチャネル共用を実現することが可能となる。【００４８】
（実施の形態２）
本発明の第２の実施の形態であるＤＭＡ制御装置の構成および動作を、図３を用いて説明する。ここでは、第1の実施の形態であるＤＭＡ制御装置の構成と異なる点を中心に説明する。【００４９】
本実施の形態におけるＤＭＡ制御装置３０６は、ｃｈ０パラメータ制御レジスタとして、ＤＭＡ転送完了時にｃｈ０ＤＭＡ制御レジスタ１１４を初期化することを指示するためのパラメータクリア設定レジスタ３２０を備える。【００５０】
このパラメータクリア設定レジスタ３２０への設定値は、パラメータ制御部３１９に通知される。パラメータ制御部３１９は、ｃｈ０状態管理部１１６からＤＭＡ転送が完了したこと通知されるとｃｈ０ＤＭＡ制御レジスタ１１４を初期化する。【００５１】
この初期化機構を備えることで、秘匿データの転送完了後にｃｈ０ＤＭＡ制御レジスタ１１４へのアクセスロックを解除しても、通常モードの悪意を持ったプログラムにより、秘匿データの転送先情報などのＤＭＡ制御パラメータを盗み見られることを回避するために、プロセッサがセキュアモードに遷移してＤＭＡ制御パラメータをクリアする必要が無くなる。なお、ＤＭＡ転送中にｃｈ０ＤＭＡ制御レジスタ１１４へのアクセスロックをしていない場合にも、本実施形態の初期化機構は有効である。すなわち、本実施形態の初期化機構によれば、転送完了後にＤＭＡパラメータをクリアすることにより、プロセッサの動作モード遷移を出来る限り少なくした上で、転送完了時（IDLE時）における悪意を持った者による改ざん等を防ぐことができる。【００５２】
（実施の形態３）
本発明の第３の実施の形態であるＤＭＡ制御装置の構成および動作を、図４を用いて説明する。ここでは、第1、第２の実施の形態であるＤＭＡ制御装置の構成と異なる点を中心に説明する。【００５３】
本実施の形態におけるＤＭＡ制御装置４０６は、ｃｈ０パラメータ制御レジスタであるロック解除設定レジスタ１１８、パラメータクリア設定レジスタ３２０への設定によるパラメータ制御対象レジスタを特定するための制御対象設定レジスタ４２１を備える。【００５４】
この制御対象設定レジスタ４２１への設定値は、パラメータ制御部４１９に通知される。パラメータ制御部４１９は、ｃｈ０状態管理部１１６からＤＭＡ転送が完了したこと通知されると、制御対象設定レジスタ４２１への設定内容に基づき、複数あるｃｈ０ＤＭＡ制御レジスタ１１４の内、対象となるレジスタを初期化するとともに、ロック設定レジスタ４１５に対し、ロック解除の対象となるレジスタを通知する。【００５５】
ロック設定レジスタ４１５は、ｃｈ０ＤＭＡ制御レジスタ１１４のレジスタ毎にロック設定する手段を備える。アクセス制御部４１３は、ロック設定レジスタ４１５からのレジスタ毎のロック設定情報を受け、ロック解除されているレジスタに対してのみアクセスを許可する。【００５６】
この制御対象レジスタ設定機構を備えることで、セキュアモードでＤＭＡ転送した後、通常モードで一部のＤＭＡ制御パラメータを引き継いで転送を行う場合などに、パラメータ設定を簡略化できる。【００５７】
なお、制御対象設定レジスタ４２１はロック解除、パラメータクリアの両方を適用するように設定されものでも良く、個別に適用するよう設定するものでも良い。【００５８】
（実施の形態４）
本発明の第４の実施の形態であるＤＭＡ制御装置の構成および動作を、図５を用いて説明する。ここでは、第1〜３の実施の形態であるＤＭＡ制御装置の構成と異なる点を中心に説明する。【００５９】
本実施の形態におけるＤＭＡ制御装置５０６は、動作モード検出部５２２を備える。ロック設定レジスタ１１５、ロック解除設定レジスタ１１８、パラメータクリア設定レジスタ３２０への設定をＣＰＵ１０１がセキュアモードで設定するのではなく、動作モード検出部５２２がＣＰＵ１０１からのセキュアモードでのｃｈ０起動要求を検出するとアクセス制御部５１３、パラメータ制御部５１９に対して通知する。アクセス制御部５１３は、動作モード検出部５２２からの通知を受けると、ロック設定レジスタ１１５の値とは無関係にｃｈ０ＤＭＡ制御レジスタ１１４へのアクセスロック制御を行う。パラメータ制御部５１９は、動作モード検出部５２２からの通知を受けた場合に、ｃｈ０状態管理部１１６からＤＭＡ転送が完了したことが通知されると、ロック解除設定レジスタ１１８、パラメータクリア設定レジスタ３２０への設定とは無関係に、ｃｈ０ＤＭＡ制御レジスタ１１４の初期化、ロック設定レジスタ１１５へのロック解除設定を行う。【００６０】
この動作モード検出機構を備えることで、ロック設定、ロック解除設定、パラメータクリア設定を簡略化することができる。【００６１】
以上説明した各実施形態に係るＤＭＡ制御装置およびデータ転送方法によれば、プロセッサがセキュアモードでDMA転送を行う場合、転送完了後のモード遷移を削減できるため、秘匿な処理用のセキュアモードを備えたプロセッサを実装するデジタル機器全般に利用することができる。【００６２】
なお、以上説明した各実施の形態では、動作モードとして、プロセッサのセキュアモード、通常モードを例にセキュアモードでの処理内容を通常モードモードから見えなくする例を示したが、その他にも、動作モードとして、車のシステムにおいて、車の動作制御など人命に関わる重要データを扱う秘匿データ処理処理状態と、通信系の処理やレーンや物体の認識など一般の情報処理を行う通常データ処理状態を例にして、秘匿データ処理状態の処理内容を通常データ処理状態から見えなくするケースも考えられる。つまり、本発明は個人情報や課金情報などの秘匿性の高いデータを処理する動作モードの処理内容を、ネットワークで送受信するフリーなコンテンツ情報や、センサーやカメラなどから取得した周辺状況などの通常データを処理する動作モードから見えなくすることで、秘匿性を高めることができるデジタル機器全般への利用が想定される。【００６３】
本発明を詳細にまた特定の実施態様を参照して説明したが、本発明の精神と範囲を逸脱することなく様々な変更や修正を加えることができることは当業者にとって明らかである。【００６４】
本出願は、２００７年８月３０日出願の日本特許出願（特願２００７−２２３６０７）に基づくものであり、その内容はここに参照として取り込まれる。
【産業上の利用可能性】
【００６５】
本発明に係るＤＭＡ制御装置及びデータ転送方法は、データ転送完了時のＤＭＡパラメータの取り扱いを指定し、データ転送完了時にＤＭＡパラメータを制御するので、ＤＭＡ起動中（データ転送中）においてＤＭＡ制御パラメータを保護する動作モードと保護を要しない動作モードとを含む複数の動作モードでＤＭＡチャネルを使用する場合であっても、ＤＭＡチャネルをプロセッサの動作モードと非依存で使用可能にすることを、プロセッサの動作モード遷移を出来る限り少なくした上で実現できる効果を有し、デジタルAV機器や車載機器等向けシステムLSIにおけるＤＭＡ制御装置およびデータ転送方法等に有用である。
【図１】
2009028144.tif 000003
【図２】
2009028144.tif 000004
【図３】
2009028144.tif 000005
【図４】
2009028144.tif 000006
【図５】
2009028144.tif 000007
【図６】
2009028144.tif 000008
【図７】
2009028144.tif 000009
【手続補正書】
【提出日】平成22年2月23日(2010.2.23)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＤＭＡ制御装置およびデータ転送方法に関し、特に、デジタルAV機器等向けシステムLSIにおけるセキュア機構実現に関するものである。
【背景技術】
【０００２】
現在、LSI（Large Scale Integrated circuit）の高機能化、高集積化が進む中、デジタルAV家電分野などで用いられるLSIでは、多種多様なアプリケーションの実行が行われる。その中で、コンテンツの著作権保護や個人情報の保護のため、秘匿データの暗号化、復号化処理をセキュアに実行することが必要不可欠である。
【０００３】
その際、CPUの負荷を軽減するため、秘匿なデータを暗号化、復号化するためにＤＭＡ(Direct Memory Access)制御装置を用いてデータ転送を行うケースが一般的である。秘匿データを扱う転送は、不正に実行されることがないようにする必要がある。
【０００４】
その実現手段の一つとして、保護されたプログラムのみが秘匿な処理の実行を行うセキュアモードを活用することが多くなっている。通常のアプリケーションは通常モードで実行し、秘匿性の高い処理を実行するときのみセキュアモードに遷移して必要な処理を行い、処理完了後に再度通常モードに復帰する。
【０００５】
特許文献１には、制御レジスタへの設定により、ＤＭＡチャネルのリソースを割り当てるコンフィグレーションレジスタへの書き込みを不可能にすることで、予期せぬ設定変更に伴う誤動作を防止するための機構について開示されている。図６に、特許文献１記載の機構を一般的なＤＭＡ制御装置に適用した例を示す。
【０００６】
まず、図６に示すＤＭＡ制御装置６０６の一般的な動作を説明する。ここではチャネル（ｃｈ）０からＮまであるＤＭＡチャネルの内、チャネル０（ｃｈ０）を例に説明する。
【０００７】
ＤＭＡ制御装置６０６は、ＣＰＵ１０１からの指示により、周辺回路１０３とメモリ１０５間のデータ転送や、暗号エンジン１０２とメモリ１０５間のデータ転送を制御する。
【０００８】
ＣＰＵ１０１は、チャネル０レジスタ制御部６１１＿０内のｃｈ０制御レジスタ１１４に転送元アドレス、転送先アドレスや転送サイズなどのＤＭＡ制御パラメータを設定した上で、起動要求レジスタ（ｒｅｇ０）にＤＭＡ起動つまり転送開始を指示する。
【０００９】
ＤＭＡ制御装置６０６は、ＣＰＵ１０１からの要求を基にアドレスデコード部６１０で各制御レジスタへのアクセス要求を生成し、各チャネルのレジスタ制御部６１１＿０、６１１＿１、〜、６１１＿Ｎに出力する。
【００１０】
チャネル０レジスタ制御部６１１＿０は、アドレスデコード部６１０からのアクセス要求に応じて、ｃｈ０制御レジスタ１１４へのアクセスを制御する。
【００１１】
ＣＰＵ１０１から複数の起動要求レジスタ（ｒｅｇ０等）に対して転送開始要求（ＤＭＡ起動）が設定されると、調停部１１２は、起動された複数のチャネルの中でどのチャネルの転送を実行するかを選択する。そして、実行部１０８は、調停部１１２にて選択されたチャネルのＤＭＡ制御パラメータに基づいてデータ転送を行う。
【００１２】
次に、特許文献１記載の機構を適用したＤＭＡ制御装置６０６における特徴を説明する。ＤＭＡ制御装置６０６は、ｃｈ０制御レジスタ１１４内にロック設定レジスタ（ｒｅｇｘ）６１５を備える。ロック設定レジスタ６１５に１が設定されると、アクセス制御部６１３がｃｈ０制御レジスタ１１４へのライトアクセスを禁止する。これにより、以降、誤ってｃｈ０制御レジスタ１１４を上書きしてしまうことを防ぐことができる。
【００１３】
ＣＰＵ１０１は、上述の通り、コンテンツの著作権保護処理など秘匿性の高い処理を行う場合、セキュアモードに移行して処理を行うのが一般的である。セキュアモードで実行されるプログラムは、悪意のある者による改ざんや盗み見ができないように保護されている。
【００１４】
そのため、ＣＰＵ１０１がセキュアモードで動作する場合、不正な処理が行われることはない。また、ＣＰＵ１０１は、ＤＭＡ制御装置６０６のレジスタにアクセスする時には、セキュアモードにおけるレジスタアクセスであることを通知するために、プロセッサ動作モード１０９を出力する。セキュアモードと通常モードとで、メモリやレジスタなどのハードウェア資源を共有する場合、モード移行する際にプログラムやデータの退避、復帰が必要となる。
【００１５】
図７に、図６に示したＤＭＡ制御装置６０６の処理の一例を示すフローチャートを示す。
【００１６】
ステップＳ２０１：ＣＰＵ１０１が秘匿なデータ転送を行うために、通常モードからセキュアモードに移行するための処理を実行する。
【００１７】
ステップＳ２０２：セキュアモードにおいて、ＣＰＵ１０１がｃｈ０ＤＭＡ制御レジスタ１１４に対し、転送元アドレス、転送先アドレス、転送サイズなどのＤＭＡ制御パラメータを設定する。
【００１８】
ステップＳ２０３：ＣＰＵ１０１がロック設定レジスタ６１５に１を設定することにより、ｃｈ０制御レジスタ１１４の起動要求レジスタ（ｒｅｇ０）以外へのライトアクセスを禁止する（アクセスをロックする）。
【００１９】
ステップＳ２０５：チャネル０の起動要求レジスタ（ｒｅｇ０）に対し、転送開始を指示するために起動要求設定を行う。
【００２０】
ステップＳ２０６：ＣＰＵ１０１が、セキュアモードから通常モードへの復帰処理を行う。
【００２１】
ステップＳ７０８：ＤＭＡ転送完了通知を受けると、ＣＰＵ１０１が通常モードからセキュアモードへの移行処理を行う。
【００２２】
ステップＳ７０９：セキュアモードにおいて、ＣＰＵ１０１がロック設定レジスタ６１５に０を設定することで、ｃｈ０制御レジスタ１１４へのアクセスロックを解除する。
【００２３】
ステップＳ７１０：ＣＰＵ１０１がセキュアモードから通常モードへの復帰処理を行う。
【００２４】
以上の処理により、秘匿なデータ転送を実行中のＤＭＡチャネル０に対し、悪意を持った者がＤＭＡパラメータを書き換えるなどの不正行為を防ぐことが可能となる。
【００２５】
ここで、ＤＭＡ制御装置におけるチャネルとは、ＤＭＡパラメータを設定して転送を行うために必要なハードウェア資源のことを指す。チャネルが複数存在すると、複数のＤＭＡパラメータを設定、起動することが可能であり、ソフトウェア的には同時に複数種類の転送を実行することが可能となる。
【００２６】
一般的に、ＤＭＡ制御装置は複数のチャネルを備えており、アプリケーションの実行状況に応じて、ソフトウェアが複数のＤＭＡ転送を起動し、ハードウェアが時分割もしくは並行にデータ転送制御を行う。
【先行技術文献】
【特許文献】
【００２７】
【特許文献１】特開平８−２４１２６６号公報
【発明の概要】
【発明が解決しようとする課題】
【００２８】
前記従来の構成では、プロセッサがセキュアモードでDMAチャネルのロック設定／解除設定することにより、1つのDMAチャネルをセキュアモード、通常モードで共用することが可能になる。しかしながら、モード遷移に伴うオーバーヘッドが処理性能劣化の要因になるという課題を有していた。
【００２９】
本発明の目的は、前記従来の課題を解決するもので、ＤＭＡチャネルをプロセッサの動作モードと非依存で使用可能にし、ＤＭＡ起動中（データ転送中）のＤＭＡ制御パラメータの保護を、プロセッサの動作モード遷移を出来る限り少なくした上で実現するＤＭＡ制御装置およびデータ転送方法を提供することである。
【課題を解決するための手段】
【００３０】
本発明は、プロセッサからＤＭＡ(Direct Memory Access)転送要求を受付けた場合に、ＤＭＡ制御レジスタに設定されているＤＭＡパラメータに従いデータ転送を行うＤＭＡ制御装置であって、データ転送完了時にデータ転送完了通知を生成するチャネル状態管理部と、データ転送中における前記ＤＭＡ制御レジスタへのアクセスを不可能にするレジスタアクセス制御部と、データ転送完了時の前記ＤＭＡパラメータの取り扱いを指定するパラメータ制御レジスタと、を備え、前記レジスタアクセス制御部は、データ転送完了時の前記ＤＭＡパラメータの取り扱いを指定するパラメータ制御レジスタの設定と、前記チャネル状態管理部から供給された前記データ転送完了通知と、に基づいて、前記ＤＭＡ制御レジスタへのアクセスを制御するＤＭＡ(Direct Memory Access)制御装置を提供する。
【発明の効果】
【００３１】
本発明に係るＤＭＡ制御装置によれば、データ転送完了時のＤＭＡパラメータの取り扱いを指定し、データ転送完了時にＤＭＡパラメータを制御するので、ＤＭＡ起動中（データ転送中）においてＤＭＡ制御パラメータを保護する動作モードと保護を要しない動作モードとを含む複数の動作モードでＤＭＡチャネルを使用する場合であっても、ＤＭＡチャネルをプロセッサの動作モードと非依存で使用可能にすることを、プロセッサの動作モード遷移を出来る限り少なくした上で実現できる。
【図面の簡単な説明】
【００３２】
【図１】本発明の第１の実施の形態にかかるＤＭＡ制御回路を説明するための構成図
【図２】本発明の第１の実施の形態におけるＤＭＡ制御回路の処理例を示すフローチャート
【図３】本発明の第２の実施の形態にかかるＤＭＡ制御回路を説明するための構成図
【図４】本発明の第３の実施の形態にかかるＤＭＡ制御回路を説明するための構成図
【図５】本発明の第４の実施の形態にかかるＤＭＡ制御回路を説明するための構成図
【図６】従来のＤＭＡ制御回路を説明するための構成図
【図７】従来のＤＭＡ制御回路の処理例を示すフローチャート
【発明を実施するための形態】
【００３３】
以下、本発明の実施形態について、図面を参照して説明する。
【００３４】
（実施の形態１）
本発明の第１の実施の形態であるＤＭＡ制御装置の構成および動作を、図１、図２を用いて、図６、図７に示す従来のＤＭＡ制御装置との差分を中心に説明する。図１、図２において、図６、図７と同じ構成要素については同じ符号を用い、説明を省略する。ここでもチャネル０からＮまであるＤＭＡチャネルの内、チャネル０を例に説明する。
【００３５】
図１に示すＤＭＡ制御装置１０６は、プロセッサからＤＭＡ転送要求を受付けた場合に、ＤＭＡ制御レジスタに設定されているＤＭＡパラメータに従いデータ転送を行うものである。ＤＭＡ制御装置１０６は、チャネル状態を管理し、データ転送完了時にデータ転送完了通知を生成するｃｈ０状態管理部１１６と、データ転送完了時のＤＭＡパラメータの取り扱いを指定するｃｈ０パラメータ制御レジスタの設定と、ｃｈ０状態管理部１１６から供給されたデータ転送完了通知と、に基づいて、ｃｈ０ ＤＭＡ制御レジスタ１１４へのアクセスを制御する、パラメータ制御レジスタアクセス制御部１１７、ロック設定レジスタ（ｒｅｇｘ）１１５、パラメータ制御部１１９、およびアクセス制御部１１３と、を備える。
【００３６】
第１の実施の形態であるＤＭＡ制御装置１０６は、データ転送完了時の前記ＤＭＡパラメータの取り扱いを指定するｃｈ０パラメータ制御レジスタとして、ＤＭＡ転送完了時にｃｈ０ＤＭＡ制御レジスタへのアクセスロックを解除することを指示するためのロック解除設定レジスタ１１８を備えている。
【００３７】
このロック解除設定レジスタ１１８への設定値はパラメータ制御部１１９に通知される。パラメータ制御部１１９は、ＤＭＡチャネル０の状態を管理するｃｈ０状態管理部１１６からの状態情報に基づきｃｈ０ＤＭＡ制御レジスタ１１４を制御する。
【００３８】
ｃｈ０状態管理部１１６は、停止状態、起動状態（データ転送中）などの状態を管理し、ＤＭＡ転送が完了したことをパラメータ制御部１１９に通知する。
【００３９】
パラメータ制御部１１９は、ｃｈ０状態管理部１１６からＤＭＡ転送が完了したこと通知されると、ロック設定レジスタ１１５に対し、ロック解除を指示する（例えば、ロック設定レジスタに対し０を設定する）。
【００４０】
ロック設定レジスタ１１５にロック解除指示が反映される（例えば、アクセス制御部１１３にロック設定レジスタの値０が通知される）と、アクセス制御部１１３は、それまで禁止していたｃｈ０ＤＭＡ制御レジスタ１１４へのアクセスを許可する。
【００４１】
なお、アクセス制御部１１３は、ＣＰＵ１０１からの動作モード１０９がセキュアモードを示しているときにのみ、ロック設定レジスタ１１５、ロック解除設定レジスタ１１８へのアクセスを許可する。
【００４２】
なお、アクセス制御部１１３は、動作モード１０９が通常モードを示している場合のみ、ｃｈ０ＤＭＡ制御レジスタ１１４へのアクセスを禁止しても良い。すなわち、アクセス制御部１１３は、ｃｈ０ＤＭＡ制御レジスタ１１４へのアクセスが禁止されている状態（例えば、ロック設定レジスタ１１５の値が１である状態）であっても、動作モード１０９がセキュアモードである場合には、ｃｈ０ＤＭＡ制御レジスタ１１４へのアクセスを許可しても良い。
【００４３】
アクセス制御部１１３が行うアクセス禁止の処理は、ｃｈ０ＤＭＡ制御レジスタ１１４へのライトアクセスのみの禁止、もしくはライトアクセスとリードアクセス両方の禁止、のいずれでも良い。
【００４４】
図２は、本実施の形態の処理例を示すフローチャートである。図７との差分を中心に説明する。
ステップＳ２０４：ＣＰＵ１０１は、セキュアモードでＤＭＡパラメータ設定（Ｓ２０２）、パラメータロック設定（Ｓ２０３）後、転送完了時にパラメータ制御部１１９が行うパラメータ制御として、ロック解除設定レジスタ１１８にｃｈ０ＤＭＡ制御レジスタ１１４へのアクセスロック解除を指示する。
【００４５】
ステップＳ２０７：転送が完了すると、パラメータ制御部１１９は、ｃｈ０状態管理部１１６からの転送完了通知を受けてロック設定レジスタ１１５に０を設定してロックを解除する。ＣＰＵ１０１はＤＭＡ転送完了後、セキュアモードに移行する（図７：Ｓ７０８）ことがない。
【００４６】
ロック解除のためにセキュアモードに移行することがないため、その後の通常モードへの復帰処理Ｓ７１０も不要である。
【００４７】
以上により、プロセッサの動作モード遷移を抑えて、ＤＭＡ制御パラメータの保護および、通常モード、セキュアモードでのＤＭＡチャネル共用を実現することが可能となる。
【００４８】
（実施の形態２）
本発明の第２の実施の形態であるＤＭＡ制御装置の構成および動作を、図３を用いて説明する。ここでは、第1の実施の形態であるＤＭＡ制御装置の構成と異なる点を中心に説明する。
【００４９】
本実施の形態におけるＤＭＡ制御装置３０６は、ｃｈ０パラメータ制御レジスタとして、ＤＭＡ転送完了時にｃｈ０ＤＭＡ制御レジスタ１１４を初期化することを指示するためのパラメータクリア設定レジスタ３２０を備える。
【００５０】
このパラメータクリア設定レジスタ３２０への設定値は、パラメータ制御部３１９に通知される。パラメータ制御部３１９は、ｃｈ０状態管理部１１６からＤＭＡ転送が完了したこと通知されるとｃｈ０ＤＭＡ制御レジスタ１１４を初期化する。
【００５１】
この初期化機構を備えることで、秘匿データの転送完了後にｃｈ０ＤＭＡ制御レジスタ１１４へのアクセスロックを解除しても、通常モードの悪意を持ったプログラムにより、秘匿データの転送先情報などのＤＭＡ制御パラメータを盗み見られることを回避するために、プロセッサがセキュアモードに遷移してＤＭＡ制御パラメータをクリアする必要が無くなる。なお、ＤＭＡ転送中にｃｈ０ＤＭＡ制御レジスタ１１４へのアクセスロックをしていない場合にも、本実施形態の初期化機構は有効である。すなわち、本実施形態の初期化機構によれば、転送完了後にＤＭＡパラメータをクリアすることにより、プロセッサの動作モード遷移を出来る限り少なくした上で、転送完了時（IDLE時）における悪意を持った者による改ざん等を防ぐことができる。
【００５２】
（実施の形態３）
本発明の第３の実施の形態であるＤＭＡ制御装置の構成および動作を、図４を用いて説明する。ここでは、第1、第２の実施の形態であるＤＭＡ制御装置の構成と異なる点を中心に説明する。
【００５３】
本実施の形態におけるＤＭＡ制御装置４０６は、ｃｈ０パラメータ制御レジスタであるロック解除設定レジスタ１１８、パラメータクリア設定レジスタ３２０への設定によるパラメータ制御対象レジスタを特定するための制御対象設定レジスタ４２１を備える。
【００５４】
この制御対象設定レジスタ４２１への設定値は、パラメータ制御部４１９に通知される。パラメータ制御部４１９は、ｃｈ０状態管理部１１６からＤＭＡ転送が完了したこと通知されると、制御対象設定レジスタ４２１への設定内容に基づき、複数あるｃｈ０ＤＭＡ制御レジスタ１１４の内、対象となるレジスタを初期化するとともに、ロック設定レジスタ４１５に対し、ロック解除の対象となるレジスタを通知する。
【００５５】
ロック設定レジスタ４１５は、ｃｈ０ＤＭＡ制御レジスタ１１４のレジスタ毎にロック設定する手段を備える。アクセス制御部４１３は、ロック設定レジスタ４１５からのレジスタ毎のロック設定情報を受け、ロック解除されているレジスタに対してのみアクセスを許可する。
【００５６】
この制御対象レジスタ設定機構を備えることで、セキュアモードでＤＭＡ転送した後、通常モードで一部のＤＭＡ制御パラメータを引き継いで転送を行う場合などに、パラメータ設定を簡略化できる。
【００５７】
なお、制御対象設定レジスタ４２１はロック解除、パラメータクリアの両方を適用するように設定されものでも良く、個別に適用するよう設定するものでも良い。
【００５８】
（実施の形態４）
本発明の第４の実施の形態であるＤＭＡ制御装置の構成および動作を、図５を用いて説明する。ここでは、第１〜３の実施の形態であるＤＭＡ制御装置の構成と異なる点を中心に説明する。
【００５９】
本実施の形態におけるＤＭＡ制御装置５０６は、動作モード検出部５２２を備える。ロック設定レジスタ１１５、ロック解除設定レジスタ１１８、パラメータクリア設定レジスタ３２０への設定をＣＰＵ１０１がセキュアモードで設定するのではなく、動作モード検出部５２２がＣＰＵ１０１からのセキュアモードでのｃｈ０起動要求を検出するとアクセス制御部５１３、パラメータ制御部５１９に対して通知する。アクセス制御部５１３は、動作モード検出部５２２からの通知を受けると、ロック設定レジスタ１１５の値とは無関係にｃｈ０ＤＭＡ制御レジスタ１１４へのアクセスロック制御を行う。パラメータ制御部５１９は、動作モード検出部５２２からの通知を受けた場合に、ｃｈ０状態管理部１１６からＤＭＡ転送が完了したことが通知されると、ロック解除設定レジスタ１１８、パラメータクリア設定レジスタ３２０への設定とは無関係に、ｃｈ０ＤＭＡ制御レジスタ１１４の初期化、ロック設定レジスタ１１５へのロック解除設定を行う。
【００６０】
この動作モード検出機構を備えることで、ロック設定、ロック解除設定、パラメータクリア設定を簡略化することができる。
【００６１】
以上説明した各実施形態に係るＤＭＡ制御装置およびデータ転送方法によれば、プロセッサがセキュアモードでDMA転送を行う場合、転送完了後のモード遷移を削減できるため、秘匿な処理用のセキュアモードを備えたプロセッサを実装するデジタル機器全般に利用することができる。
【００６２】
なお、以上説明した各実施の形態では、動作モードとして、プロセッサのセキュアモード、通常モードを例にセキュアモードでの処理内容を通常モードモードから見えなくする例を示したが、その他にも、動作モードとして、車のシステムにおいて、車の動作制御など人命に関わる重要データを扱う秘匿データ処理状態と、通信系の処理やレーンや物体の認識など一般の情報処理を行う通常データ処理状態を例にして、秘匿データ処理状態の処理内容を通常データ処理状態から見えなくするケースも考えられる。つまり、本発明は個人情報や課金情報などの秘匿性の高いデータを処理する動作モードの処理内容を、ネットワークで送受信するフリーなコンテンツ情報や、センサーやカメラなどから取得した周辺状況などの通常データを処理する動作モードから見えなくすることで、秘匿性を高めることができるデジタル機器全般への利用が想定される。
【００６３】
本発明を詳細にまた特定の実施態様を参照して説明したが、本発明の精神と範囲を逸脱することなく様々な変更や修正を加えることができることは当業者にとって明らかである。
【００６４】
本出願は、２００７年８月３０日出願の日本特許出願（特願２００７−２２３６０７）に基づくものであり、その内容はここに参照として取り込まれる。
【産業上の利用可能性】
【００６５】
本発明に係るＤＭＡ制御装置及びデータ転送方法は、データ転送完了時のＤＭＡパラメータの取り扱いを指定し、データ転送完了時にＤＭＡパラメータを制御するので、ＤＭＡ起動中（データ転送中）においてＤＭＡ制御パラメータを保護する動作モードと保護を要しない動作モードとを含む複数の動作モードでＤＭＡチャネルを使用する場合であっても、ＤＭＡチャネルをプロセッサの動作モードと非依存で使用可能にすることを、プロセッサの動作モード遷移を出来る限り少なくした上で実現できる効果を有し、デジタルAV機器や車載機器等向けシステムLSIにおけるＤＭＡ制御装置およびデータ転送方法等に有用である。
【符号の説明】
【００６６】
１０１  ＣＰＵ
１０２  暗号エンジン
１０３  周辺回路
１０５  メモリ
１０６  ＤＭＡ制御装置
１０８  実行部
１１０  アドレスデコード部
１１１＿０  チャネル０レジスタ制御部
１１２  調停部
１１３  レジスタアクセス制御部
１１４  ｃｈ０ＤＭＡ制御レジスタ
１１５  ロック設定レジスタ
１１６  ｃｈ０状態管理部
１１８  ロック解除設定レジスタ
１１９  パラメータ制御部
３２０  パラメータクリア設定レジスタ
４２１  制御対象設定レジスタ
５２２  動作モード検出部
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プロセッサからＤＭＡ(Direct Memory Access)転送要求を受付けた場合に、ＤＭＡ制御レジスタに設定されているＤＭＡパラメータに従いデータ転送を行うＤＭＡ制御装置であって、
データ転送完了時にデータ転送完了通知を生成するチャネル状態管理部と、
データ転送中における前記ＤＭＡ制御レジスタへのアクセスを不可能にするレジスタアクセス制御部と、
データ転送完了時の前記ＤＭＡパラメータの取り扱いを指定するパラメータ制御レジスタと、を備え、
前記レジスタアクセス制御部は、前記パラメータ制御レジスタの設定と、前記チャネル状態管理部から供給された前記データ転送完了通知と、に基づいて、前記ＤＭＡ制御レジスタへのアクセスを制御するものであるＤＭＡ制御装置。
【請求項２】
請求項１記載のＤＭＡ制御装置であって、
前記ＤＭＡパラメータは、前記プロセッサから供給される転送元情報、転送先情報、および転送サイズを含むものであるＤＭＡ制御装置。
【請求項３】
請求項１記載のＤＭＡ制御装置であって、
前記パラメータ制御レジスタは、データ転送完了時に前記ＤＭＡ制御レジスタへのアクセスを可能にするとの前記ＤＭＡパラメータの取り扱いを指定するものを含むＤＭＡ制御装置。
【請求項４】
請求項１記載のＤＭＡ制御装置であって、
前記パラメータ制御レジスタは、データ転送完了時に前記ＤＭＡ制御レジスタをクリアするとの前記ＤＭＡパラメータの取り扱いを指定するものを含むＤＭＡ制御装置。
【請求項５】
請求項１記載のＤＭＡ制御装置であって、
前記ＤＭＡ制御レジスタを複数備え、
前記レジスタアクセス制御部は、前記複数のＤＭＡ制御レジスタのいずれを制御するかを指定するパラメータ制御対象選択レジスタを有し、前記パラメータ制御対象選択レジスタで指定されているＤＭＡ制御レジスタへのアクセスのみを制御するものであるＤＭＡ制御装置。
【請求項６】
請求項１記載のＤＭＡ制御装置であって、
前記プロセッサの動作モードを検出する動作モード検出部を備え、
前記レジスタアクセス制御部は、前記動作モード検出部が所定の動作モードを検出した場合に、前記ＤＭＡ制御レジスタへのアクセスを可または不可にする制御を行うものであるＤＭＡ制御装置。
【請求項７】
請求項６記載のＤＭＡ制御装置であって、
前記所定の動作モードが、前記プロセッサが秘匿な処理を実行するためのセキュアモードであるものであるＤＭＡ制御装置。
【請求項８】
請求項１記載のＤＭＡ制御装置であって、
前記レジスタアクセス制御部は、前記プロセッサから通知される動作モードを受付ける機能を有し、前記ＤＭＡ制御レジスタへのアクセスを不可能にする状態において、前記動作モードが、前記プロセッサが秘匿な処理を実行するためのセキュアモード以外の場合に、前記ＤＭＡ制御レジスタへのアクセスを可または不可にする制御を行うものであるＤＭＡ制御装置。
【請求項９】
セキュアモードおよび通常モードで動作するＤＭＡ制御装置がデータ転送を行うデータ転送方法であって、
前記セキュアモードで、ＤＭＡ制御レジスタにＤＭＡパラメータを設定するステップと、
前記セキュアモードで、前記ＤＭＡパラメータへのアクセスロックを設定するステップと、
前記セキュアモードで、データ転送完了時に、前記ＤＭＡパラメータへのアクセスロックを解除するように設定するステップと、
前記セキュアモードで、データ転送を開始するステップと、
前記通常モードで、データ転送完了を検出した場合に、前記ＤＭＡ制御レジスタへのアクセスロックを解除するステップと、を有するデータ転送方法。
【請求項１０】
セキュアモードおよび通常モードで動作するＤＭＡ制御装置がデータ転送を行うデータ転送方法であって、
前記セキュアモードで、ＤＭＡ制御レジスタにＤＭＡパラメータを設定するステップと、
前記セキュアモードで、前記ＤＭＡパラメータへのアクセスロックを設定するステップと、
前記セキュアモードで、データ転送完了時に、前記ＤＭＡパラメータを初期化するように設定するステップと、
前記セキュアモードで、データ転送を開始するステップと、
前記通常モードで、データ転送完了を検出した場合に、前記ＤＭＡパラメータを初期化するステップと、を有するデータ転送方法。
【請求項１１】
請求項９記載のデータ転送方法であって、
前記セキュアモードで、制御対象の前記ＤＭＡ制御レジスタを特定するステップと、
前記通常モードで、データ転送完了を検出した場合に、制御対象の前記ＤＭＡ制御レジスタのＤＭＡパラメータを初期化し、前記ＤＭＡ制御レジスタへのアクセスロックを解除するステップと、を有するデータ転送方法。
【請求項１２】
請求項９記載のデータ転送方法であって、
動作モードを検出するステップと、
検出した動作モードに応じて、前記ＤＭＡパラメータへのアクセスロックを設定／解除し、前記ＤＭＡパラメータを初期化するステップと、を有するデータ転送方法。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2009028144.tif 000010
【図２】
2009028144.tif 000011
【図３】
2009028144.tif 000012
【図４】
2009028144.tif 000013
【図５】
2009028144.tif 000014
【図６】
2009028144.tif 000015
【図７】
2009028144.tif 000016
【国際調査報告】
2009028144.tif 000017
2009028144.tif 000018