JP4668645B2 - Dmaコントローラ及びデータ転送制御方法 - Google Patents
Dmaコントローラ及びデータ転送制御方法 Download PDFInfo
- Publication number
- JP4668645B2 JP4668645B2 JP2005049398A JP2005049398A JP4668645B2 JP 4668645 B2 JP4668645 B2 JP 4668645B2 JP 2005049398 A JP2005049398 A JP 2005049398A JP 2005049398 A JP2005049398 A JP 2005049398A JP 4668645 B2 JP4668645 B2 JP 4668645B2
- Authority
- JP
- Japan
- Prior art keywords
- transfer
- data transfer
- rank
- access
- master device
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Storage Device Security (AREA)
Description
これにより、CPUは、処理負荷の大きいデータ転送処理をDMAコントローラに依頼して、データ転送処理がDMAコントローラによって行われている間、他の処理を実行することができる。
DMAコントローラによるデータ転送は、CPUから入力された転送元と転送先のアドレスを参照して行われるので、入力されるアドレス信号にノイズ等が不正に混入されると、DMAコントローラによってアドレスが誤って認識されて本来転送されるべきでないアドレスにデータが転送されて、重要なデータが上書きされて消失したり、破壊されてしまったりする恐れがある。
前記DMAコントローラは、条件記憶手段を備え、前記データ転送方法は、前記マスターデバイスから送信された前記転送条件を前記条件記憶手段に格納する格納ステップと、
前記転送条件を送信した前記マスターデバイスに、前記転送条件の指定する転送先及び転送元のデータ格納領域を有する前記スレーブデバイスに当該マスターデバイスが保持しているアクセス判定ランクを送信させて、アクセスの許可を要求させる送信要求ステップと、前記スレーブデバイスによってアクセスを許可された場合に、前記データ転送を行わせるデータ転送制御ステップとを含むこととしてもよい。
ここで、前記データ転送制御手段は、前記転送条件において指定された転送元及び転送先のデータ格納領域の組が、前記スレーブデバイス間テーブルに含まれるか否かを判定するテーブル判定手段を有し、前記転送可否判定手段は、前記スレーブデバイス間テーブルに含まれない場合に、「転送不可」と判定することとしてもよい。
ここで、前記データ転送制御手段は、前記転送条件の指定する転送先及び転送元のデータ格納領域を有する前記スレーブデバイスから、保持しているアクセス判定ランクを取得する取得手段と、前記マスターデバイスのアクセス判定ランクと、取得したアクセス判定ランクとを比較する比較手段と、前記比較結果に基づいて前記データ転送の可否判定を行う転送可否判定手段とを有することとしてもよい。
こととしてもよい。
ここで、前記DMAコントローラは、複数のマスターデバイスと前記バスで接続され、
前記データ転送制御手段は、自装置が前記マスターデバイスからの前記転送条件の送信に応じてデータ転送を許可できる状態にあるか否かを示すフラグを設定するためのフラグ値を格納しているフラグ格納手段と、データ転送が行われている間、前記フラグを「不許可」に設定し、データ転送が完了すると、前記フラグを「許可」に設定するフラグ設定手段とを有し、前記転送可否判定手段は、前記マスターデバイスからの前記転送条件の送信時に前記フラグが、「不許可」に設定されている場合に、「転送不可」と判定する
こととしてもよい。
ここで、前記データ転送制御手段は、前記フラグが「許可」に設定されている場合に、前記バスに接続されているマスターデバイスから転送条件の送信があると、当該マスターデバイスの識別子を記憶するマスターデバイス記憶手段と、前記フラグが「不許可」に設定され、前記転送条件に基づくデータ転送が行われている間に、前記バスに接続されているマスターデバイスから新たな転送条件が送信された場合に、当該マスターデバイスの識別子がマスターデバイス記憶手段に記憶されているか否かを判定するマスターデバイス判定手段とを有し、前記転送可否判定手段は、前記マスターデバイスからの新たな転送条件の送信時に前記フラグが「不許可」に設定され、かつ、新たな転送条件を送信した前記マスターデバイスの識別子が前記マスターデバイス記憶手段に記憶されていない場合に、「転送不可」と判定することとしてもよい。
ここで、前記データ転送制御手段は、前記データ転送を行わせている間に、前記バスに接続されている前記マスターデバイス及び前記スレーブデバイスからのデータ転送中断要求を受取る中断要求受取手段と、データ転送中断要求の要求元がマスターデバイスであるか否かを判定する中断要求元判定手段と、前記要求元がマスターデバイスである場合に、前記要求元のアクセス判定ランクを受取り、前記要求元のアクセス判定ランクと前記受取手段が受取った前記マスターデバイスのアクセス判定ランクとの比較結果に基づいて、前記データ転送を中断させるか否かを判定する中断判定手段と中断させると判定された場合に、前記データ転送を中断させるデータ転送中断手段とを有することとしてもよい。
ここで、前記DMAコントローラは、予め設定された下限のアクセス判定ランクを記憶している下限ランク記憶手段と、前記転送条件を送信した前記マスターデバイスからアクセス判定ランクを受取り、記憶するランク記憶手段と前記転送条件を記憶する条件記憶手段とを備え、前記データ転送可否判定は、前記比較結果において、前記ランク記憶手段に記憶している前記マスターデバイスのアクセス判定ランクが前記転送条件の指定する転送先及び転送元のスレーブデバイスの保持しているアクセス判定ランクよりも小さくない場合に、「転送可」とされ、小さい場合に「転送不可」とされ、前記中断判定手段は、前記要求元のアクセス判定ランクが前記ランク記憶手段に記憶しているアクセス判定ランクよりも小さくない場合に、前記データ転送を中断させると判定し、前記データ転送制御手段は、中断させると判定した場合に、前記条件記憶手段に記憶している転送条件を削除する削除手段と、前記ランク記憶手段に記憶しているアクセス判定ランクに替えて下限のアクセス判定ランクを記憶させるランク切替手段とを有することとしてもよい。
ここで、前記データ転送可否判定は、前記比較結果において、前記マスターデバイスのアクセス判定ランクが前記転送条件の指定する転送先及び転送元のスレーブデバイスの保持しているアクセス判定ランクよりも小さくない場合に、「転送可」とされ、小さい場合に「転送不可」とされ、前記データ転送制御手段は、予め設定された上限のアクセス判定ランクを記憶している上限ランク記憶手段と、前記マスターデバイスのアクセス判定ランクと上限のアクセス判定ランクとを比較する比較手段とを有し、前記マスターデバイスのアクセス判定ランクの方が上限のアクセス判定ランクより大きくない場合に、前記データ転送可否判定結果が「転送可」である場合に、前記データ転送を行わせ、前記マスターデバイスのアクセス判定ランクの方が上限のアクセス判定ランクより大きい場合に、上限のアクセス判定ランクが、前記転送条件の指定する転送先及び転送元のスレーブデバイスの保持しているアクセス判定ランクより小さくない場合に、前記データ転送を行わせることとしてもよい。
ここで、前記DMAコントローラは、複数のマスターデバイスと前記バスで接続され、
前記データ転送制御手段は、前記マスターデバイスのアクセス判定ランクの方が上限のアクセス判定ランクより大きくない場合に、前記マスターデバイスのアクセス判定ランクを記憶し、前記マスターデバイスのアクセス判定ランクの方が上限のアクセス判定ランクより大きい場合に、上限のアクセス判定ランクを記憶するランク記憶手段を有し、
前記データ転送制御手段は、前記バスに接続されている他のマスターデバイスのアクセス判定ランクが前記ランク記憶手段に記憶しているアクセス判定ランクよりも小さい場合に、前記バスに接続されている他のマスターデバイスから送信される転送条件に基づくデータ転送を抑止させることとしてもよい。
ここで、前記データ転送制御手段は、前記バスに接続されている前記マスターデバイス及び前記スレーブデバイスからのデータ転送中断要求を受取る中断要求受取手段と、
データ転送中断要求の要求元がマスターデバイスであるか否かを判定する中断要求元判定手段と、前記要求元がマスターデバイスである場合に、前記要求元のアクセス判定ランクを受取り、前記要求元のアクセス判定ランクと前記ランク記憶手段に記憶している前記マスターデバイスのアクセス判定ランクとの比較結果に基づいて、前記データ転送を中断させるか否かを判定する中断判定手段と、中断させると判定された場合に、前記データ転送を中断させるデータ転送中断手段とを有することとしてもよい。
ここで、前記DMAコントローラは、前記転送条件を記憶する条件記憶手段を備え、前記中断判定手段は、前記要求元のアクセス判定ランクが記憶しているアクセス判定ランクよりも小さくない場合に、前記データ転送を中断させると判定し、前記データ転送制御手段は、中断させると判定した場合に、前記条件記憶手段に記憶している転送条件を削除する削除手段と、前記ランク記憶手段に記憶しているアクセス判定ランクに替えて上限のアクセス判定ランクを記憶させるランク切替手段とを有することとしてもよい。
ここで、前記スレーブデバイスは、アクセス要求元から送信されたアクセス判定ランクが、当該スレーブデバイスが保持しているアクセス判定ランクより小さくない場合に限り、アクセス要求元からのアクセスを許可し、前記データ転送制御手段は、前記スレーブデバイスのアクセス判定ランクより小さくない上限のアクセス判定ランクを記憶するランク記憶手段と、前記転送条件を記憶する条件記憶手段と、ランク記憶手段に記憶されている上限のアクセス判定ランクを、記憶している前記転送条件の指定する転送先及び転送元のデータ格納領域を有する前記スレーブデバイスに送信して、アクセスの許可を要求するアクセス要求手段とを有し、前記データ転送可否判定手段は、前記スレーブデバイスによるアクセス許否判定結果と前記比較手段による比較結果とに基づいて前記データ転送の可否判定を行うこととしてもよい。
ここで、前記データ転送制御手段は、前記バスに接続されている前記マスターデバイス及び前記スレーブデバイスからのデータ転送中断要求を受取る中断要求受取手段と、データ転送中断要求の要求元がマスターデバイスであるか否かを判定する中断要求元判定手段と、前記要求元がマスターデバイスである場合に、前記要求元のアクセス判定ランクを受取り、前記要求元のアクセス判定ランクと記憶している上限のアクセス判定ランクとの比較結果に基づいて、前記データ転送を中断させるか否かを判定する中断判定手段と中断させると判定された場合に、前記データ転送を中断させるデータ転送中断手段とを有することとしてもよい。
ここで、前記データ転送制御手段は、前記データ転送を中断させると判定した場合に、前記条件記憶手段に記憶している転送条件を削除する削除手段を有することとしてもよい。
ここで、前記データ転送制御手段は、前記マスターデバイスからの認証要求に応じて認証処理を行う認証手段と、前記マスターデバイスと前記スレーブデバイスの保持している各アクセス判定ランクよりも大きくない下限のアクセス判定ランクを記憶している下限ランク記憶手段とを有し、認証できた場合に、前記データ転送可否判定結果が「転送可」である場合に、前記データ転送を行わせ、認証できなかった場合に、下限のアクセス判定ランクが、前記転送条件の指定する転送先及び転送元のスレーブデバイスの保持しているアクセス判定ランクよりも小さくない場合に限り、前記データ転送を行わせることとしてもよい。
ここで、前記DMAコントローラは、前記マスターデバイスのアクセス判定ランクを記憶するランク記憶手段と前記転送条件を記憶する条件記憶手段とを備え、前記データ転送可否判定は、前記比較結果において、前記ランク記憶手段に記憶している前記マスターデバイスのアクセス判定ランクが前記転送条件の指定する転送先及び転送元のスレーブデバイスの保持しているアクセス判定ランクよりも小さくない場合に、「転送可」とされ、小さい場合に、「転送不可」とされ、前記中断判定手段は、前記要求元のアクセス判定ランクが記憶しているアクセス判定ランクよりも小さくない場合に、前記データ転送を中断させると判定し、前記データ転送制御手段は、中断させると判定された場合に、前記条件記憶手段に記憶している転送条件を削除する削除手段と、前記ランク記憶手段に記憶しているアクセス判定ランクに替えて下限のアクセス判定ランクを記憶させるランク切替手段とを有することとしてもよい。
ここで、前記データ転送制御手段は、データ転送を行う対象となる転送元及び転送先のデータ格納領域の組と当該組の転送先及び転送元のデータ格納領域を有する前記スレーブデバイスのアクセス判定ランクとの対応関係を示すスレーブデバイス間テーブルを記憶するテーブル記憶手段と、前記スレーブデバイス間テーブルにおいて、前記転送条件において指定された転送元及び転送先のデータ格納領域の属する組と対応付けられているアクセス判定ランクと前記マスターデバイスのアクセス判定ランクとの比較をする比較手段と前記比較結果に基づいて前記データ転送の可否判定を行う転送可否判定手段とを有することとしてもよい。
又、データ転送要求された転送元及び転送先のスレーブデバイスのアクセス判定ランクの大小関係に応じたきめの細かいデータ転送制御を行うことができる。
ここで、マスターデバイスとデータ格納領域を有する複数のスレーブデバイスにバスで接続され、マスターデバイスから送信される転送先及び転送元のデータ格納領域を指定する転送条件に基づいてデータ転送を行わせるDMAコントローラであって、前記マスターデバイスからの認証要求に応じて認証処理を行う認証手段と、認証できた場合に限り、前記データ転送を行わせるデータ転送制御手段とを備えることとしてもよい。
ここで、前記DMAコントローラは、認証できなかった前記マスターデバイスを記憶する認証不可マスターデバイス記憶手段を備え、前記認証手段は、認証要求した前記マスターデバイスが前記認証不可マスターデバイス記憶手段に記憶されていない場合に限り、認証要求した前記マスターデバイスの認証処理を実行することとしてもよい。
(実施形態1)
<構成>
図1は本発明の実施形態1に係る機密情報処理装置100の構成を示す機能ブロック図である。
なお、機密情報処理装置100は、外部インタフェースを介して外部装置と接続されることとしてもよい。
ランクバス102は、アクセス判定ランクを送受信するためのバスである。
ここで、「アクセス判定ランク」とは、機密情報処理装置100内の各デバイスへのアクセスを許可するか否かの判断基準となるランクを示す情報のことをいい、機密情報処理装置100内のDMAコントローラ104を除く各デバイスには、それぞれ固有のアクセス判定ランクが予め設定されている。以降、全ての実施形態において、アクセス判定ランクを「AR」と呼ぶ。
各マスターデバイスは、DMAコントローラ104にデータ転送要求を行うことにより、データ転送要求において、指定したデバイス間でのデータ転送をDMAコントローラ104に依頼する。
又、データ転送の対象となる各デバイス(具体的には、汎用記憶装置106、暗号処理装置107、機密情報記憶装置108であり、以降全ての実施形態において、これらを総称して「スレーブデバイス」と呼ぶ。)のデータ記憶領域には、アドレスが重複することなく、一意に付与され、DMAコントローラ104は、付与されているアドレスに基づいてスレーブデバイスを識別する。
DMAコントローラ104は、DMA設定レジスタ1041、ランク設定レジスタ1042、ランク下限レジスタ1043を有し、マスターデバイス103、105からのデータ転送要求に応じて、以下に説明するデータ転送制御処理Aを行う。
1.前処理
DMAコントローラ104は、データ転送要求に含まれるデータ転送条件をDMA設定レジスタ1041に格納することにより、データ転送条件をDMA設定レジスタ1041に設定し、データ転送要求をしたマスターデバイスから当該マスターデバイスのARを受取り、受取ったARをランク設定レジスタ1042に格納し、データ転送要求をしたマスターデバイスからデータ・アドレスバス101を獲得する。
2.転送処理
DMAコントローラ104は、以下の処理をデータ転送要求の指定するデータサイズのデータの転送が完了するまで繰り返す。
3.転送中断処理
DMAコントローラ104は、データ転送中に他のデバイスからの転送中断要求があると、要求元がマスターデバイスで、そのARがランク設定レジスタ1042に格納しているARよりも小さくない場合に限り、データ転送を中断し、DMA設定レジスタ1041に設定されているデータ転送条件を初期化してクリアし、ランク設定レジスタ1042のARを下限ARに設定する。
DMA設定レジスタ1041は、各マスターデバイスからのデータ転送要求に含まれるデータ転送条件(具体的には、転送元のデバイスのデータ記憶領域における読出開始アドレス、転送先のデバイスのデータ記憶領域における書込開始アドレス、転送データのデータサイズ)を格納する。
ランク下限レジスタ1043は、予め定められた下限ARを格納している。
汎用記憶装置106は、データ記憶領域とランクレジスタ1061を有し、データ記憶領域に機密性の低いデータを記憶している。
機密情報記憶装置108は、データ記憶領域とランクレジスタ1081を有し、データ記憶領域に暗号鍵などの機密性の高いデータを記憶している。
<動作>
次に、機密情報処理装置100の行うデータ転送処理Aの動作について説明する。
DMAコントローラ104は、マスターデバイス103、105の何れかのマスターデバイスからデータ転送要求を受取ると(ステップS201)、当該データ転送要求に含まれるデータ転送条件をDMA設定レジスタ1041に格納することにより、データ転送条件をDMA設定レジスタ1041に設定し(ステップS202)、データ転送要求をしたマスターデバイスに当該マスターデバイスのARの送信を指示し、マスターデバイスからARを受取ると(ステップS203)、受取ったARをランク設定レジスタ1042に格納し(ステップS204)、データ転送要求をしたマスターデバイスにデータ・アドレスバス101の解放を要求し、マスターデバイスからデータ・アドレスバス101を獲得し(ステップS205)、受取ったARをデータ転送要求の指定する転送元及び転送先のスレーブデバイスに送信してアクセスの許可を要求する(ステップS206)。
次にDMAコントローラ104は、他のデバイスから中断要求が有ったか否かを監視し(ステップS210)、中断要求が無い場合には(ステップS210:N)には、その時点においてDMA設定レジスタに格納されている転送データのデータサイズの値に基づいて、要求されたデータ転送が完了したか否かを判定し(ステップS216)、完了していない場合には(ステップS216:N)、ステップS206の処理に移行し、完了している場合には(ステップS216:Y)、処理を終了する。
(実施形態2)
<構成>
図3は本発明の実施形態2に係る機密情報処理装置200の構成を示す機能ブロック図である。
図3の機能ブロック図において、実施形態1の機密情報処理装置100と同一のデバイスについては、同一の番号を付している。以下、機密情報処理装置100と同一のデバイスについては、実施形態1において説明済みであるので説明を省略し、相違するデバイスについて説明する。
DMAコントローラ204は、DMA設定レジスタ1041、ランク設定レジスタ1042、ランク下限レジスタ1043、スレーブ間ランクテーブル格納部2041、比較部2042を有する。
ここで、「スレーブ間ランクテーブル」とは、転送元スレーブデバイスと転送先スレーブデバイスとの組毎にARとの対応関係を示すテーブルのことをいう。具体的には、スレーブ間ランクテーブルにおいて、転送元及び転送先のスレーブデバイスの各データ記憶領域に付与されているアドレスのアドレス範囲によって各スレーブデバイスが特定され、転送元及び転送先のアドレス範囲の組と当該組に対してARが対応付けられている。
比較部2042は、後述するデータ転送制御処理Bにおいて、データ転送要求をしたマスターデバイスから受取った当該マスターデバイスのARと、スレーブ間ランクテーブルにおいて、データ転送要求において指定される転送元の読出開始アドレスと転送先の書込開始アドレスがそれぞれアドレス範囲に含まれる組に対応するARとを大小比較する。
1.前処理
DMAコントローラ204は、データ転送要求に含まれるデータ転送条件をDMA設定レジスタ1041に格納することにより、データ転送条件をDMA設定レジスタ1041に設定し、データ転送条件の示す転送元の読出開始アドレスがスレーブ間ランクテーブルの転送元のアドレス範囲に、当該データ転送条件の示す転送先の書込開始アドレスがスレーブ間ランクテーブルの転送先のアドレス範囲にそれぞれ含まれる組が有るか否かを判定し、無い場合にはデータ転送制御処理Bを終了し、有る場合には、さらに読出開始アドレスと書込開始アドレスとデータ転送条件の示す転送データのデータサイズとに基づいて、当該データサイズのデータを全て読出すのに要するアドレス範囲(以下、「読出アドレス範囲」と呼ぶ。)と、当該データを全て書き込むのに要するアドレス範囲(以下、「書込アドレス範囲」と呼ぶ。)とを算出し、算出した読出アドレス範囲がスレーブ間ランクテーブルにおける該当する組の転送元のアドレス範囲内で、かつ、算出した書込アドレス範囲がスレーブ間ランクテーブルにおける該当する組の転送先のアドレス範囲内であるか否かを判定し、アドレス範囲内でない場合には、データ転送制御処理Bを終了し、アドレス範囲内である場合には、該当する組に対応付けられているARを特定し、データ転送要求したマスターデバイスから受取った当該マスターデバイスのARと特定したARとの大小比較を行い、受取ったARが特定したARよりも小さくない場合に受取ったARをランク設定レジスタ1042に格納し、データ転送要求したマスターデバイスからデータ・アドレスバス101を獲得する。
2.転送処理
DMAコントローラ204は、DMAコントローラ104の行う転送処理と同様の処理を行う。
3.転送中断処理
DMAコントローラ204は、DMAコントローラ104の行う転送処理と同様の処理を行う。
<動作>
次に、DMAコントローラ204の行うデータ転送制御処理Bの動作について説明する。
DMAコントローラ204は、マスターデバイス103、105の何れかのマスターデバイスからデータ転送要求を受取ると(ステップS501)、当該データ転送要求に含まれるデータ転送条件をDMA設定レジスタ1041に格納することにより、データ転送条件をDMA設定レジスタ1041に設定し(ステップS502)、データ転送条件の示す転送元の読出開始アドレスがスレーブ間ランクテーブル(以下、「ST」と略して呼ぶ。)の転送元のアドレス範囲に、データ転送条件の示す転送先の書込開始アドレスがSTの転送先のアドレス範囲にそれぞれ含まれる組が有るか否かを判定する(ステップS503)。
ステップS515〜ステップS522の処理は、図2のステップS210〜ステップS217の処理と同じであるので、説明を省略する。
(実施形態3)
<構成>
図7は本発明の実施形態3に係る機密情報処理装置300の構成を示す機能ブロック図である。
図7の機能ブロック図において、実施形態1の機密情報処理装置100と同一のデバイスについては、同一の番号を付している。以下、機密情報処理装置100と同一のデバイスについては、実施形態1において説明済みであるので説明を省略し、相違するデバイスについて説明する。
DMAコントローラ304は、DMA設定レジスタ1041、ランク設定レジスタ1042、ランク下限レジスタ1043、スレーブランクレジスタ3041、比較部3042を有する。
比較部3042は、後述するデータ転送制御処理Cにおいて、データの転送元及び転送先から受取ったARの大小比較と、データ転送要求したマスターデバイスから受取ったARとスレーブランクレジスタ3041に格納されているARとの大小比較をする。
1.前処理
DMAコントローラ304は、データ転送要求に含まれるデータ転送条件をDMA設定レジスタ1041に格納することにより、データ転送条件をDMA設定レジスタ1041に設定し、データ転送条件の示す転送元及び転送先のスレーブデバイスから各スレーブデバイスのARを受取り、受取ったARの大小比較を行い、大きい方のARをスレーブランクレジスタ3041に格納し、マスターデバイスから受取った当該マスターデバイスのARと格納しているARとの大小比較を行い、受取ったARが格納しているARよりも小さくない場合、受取ったARをランク設定レジスタ1042に格納し、データ転送要求したマスターデバイスからデータ・アドレスバス101を獲得する。
2.転送処理
DMAコントローラ304は、DMAコントローラ104の行う転送処理と同様の処理を行う。
3.転送中断処理
DMAコントローラ304は、DMAコントローラ104の行う転送処理と同様の処理を行う。
<動作>
次に、DMAコントローラ304の行うデータ転送制御処理Cの動作について説明する。
DMAコントローラ304は、マスターデバイス103、105の何れかのマスターデバイスからデータ転送要求を受取ると(ステップS701)、当該データ転送要求に含まれるデータ転送条件をDMA設定レジスタ1041に格納することにより、データ転送条件をDMA設定レジスタ1041に設定し(ステップS702)、データ転送条件の示す転送元からARを取得し(ステップS703)、取得したARをスレーブランクレジスタ3041(以下、略して「SR」と呼ぶ。)に格納する(ステップS704)。
(実施形態4)
<構成>
図9は本発明の実施形態4に係る機密情報処理装置400の構成を示す機能ブロック図である。
図9の機能ブロック図において、実施形態1の機密情報処理装置100と同一のデバイスについては、同一の番号を付している。以下、機密情報処理装置100と同一のデバイスについては、実施形態1において説明済みであるので説明を省略し、相違するデバイスについて説明する。
DMAコントローラ404は、複数のDMA設定レジスタ1041、ランク設定レジスタ1042、ランク下限レジスタ1043、DMA実行マスターレジスタ4041、ランク設定許可フラグレジスタ4042を有する。
ランク設定許可フラグレジスタ4042は、データ転送要求の受け入れ許否を示すランク設定許可フラグを設定するためのフラグ値を格納する。
ここで、ランク設定許可フラグとは、マスターデバイスからのデータ転送要求に応じてデータ転送を許可できる状態にあるか否かを示すフラグのことをいい、データ転送の実行中は、「不許可」を示すフラグ値に設定され、データ転送完了後、「許可」を示すフラグ値に設定されるフラグのことをいう。
1.前処理
DMAコントローラ404は、マスターデバイスからデータ転送要求を受け取ると、ランク設定許可フラグレジスタ4042に格納されているランク設定フラグが「許可」に設定されているか又はデータ転送要求したマスターデバイスの識別子がDMAマスター実行レジスタ4041に格納されている場合に限り、データ転送制御処理Dを続行し、ランク設定フラグを「不許可」に切替え、DMA実行マスターレジスタ4041にデータ転送要求したマスターデバイスの識別子を格納し、データ転送要求に含まれるデータ転送条件をDMA設定レジスタ1041に格納することにより、データ転送条件をDMA設定レジスタ1041に設定し、当該マスターデバイスのARを受取り、ランク設定レジスタ1042に格納し、データ転送要求したマスターデバイスからデータ・アドレスバス101を獲得する。
2.転送処理
DMAコントローラ404は、DMAコントローラ104の行う転送処理と同様の処理を行う。
3.転送中断処理
DMAコントローラ404は、DMAコントローラ104の行う転送処理と同様の処理を行う。
4.後処理
DMAコントローラ404は、2、3の処理完了後、DMA実行マスターレジスタ4041に格納されているマスターレジスタの識別子をクリアし、ランク設定許可フラグを「許可」に設定する。
<動作>
次に、機密情報処理装置400の行うデータ転送処理Dの動作について説明する。
DMAコントローラ404は、マスターデバイス103、105の何れかのマスターデバイスからデータ転送要求を受取ると(ステップS901)、ランク設定許可フラグレジスタ4042のランク設定許可フラグが「許可」に設定されている否かを判定し(ステップS902)、「許可」に設定されている場合には(ステップS902:Y)、ランク設定許可フラグを「不許可」に設定し(ステップS903)、DMA実行マスターレジスタ4041にデータ転送要求したマスターデバイスの識別子を格納し(ステップS904)、さらに、データ転送要求に含まれるデータ転送条件をDMA設定レジスタ1041に格納することにより、データ転送条件をDMA設定レジスタ1041に設定する(ステップS905)。
DMAコントローラ404は、ステップS912、ステップS918、ステップS921の何れかの処理の後、DMA実行マスターレジスタ4041に格納されているマスターレジスタの識別子をクリアし(ステップS919)、ランク設定許可フラグを「許可」に設定する(ステップS920)。
(実施形態5)
<構成>
図12は本発明の実施形態5に係る機密情報処理装置500の構成を示す機能ブロック図である。
図12の機能ブロック図において、実施形態1の機密情報処理装置100と同一のデバイスについては、同一の番号を付している。以下、機密情報処理装置100と同一のデバイスについては、実施形態1において説明済みであるので説明を省略し、相違するデバイスについて説明する。
DMAコントローラ504は、DMA設定レジスタ1041、ランク設定レジスタ1042、ランク下限レジスタ1043、認証処理部5041を有する。
認証処理部5041は、マスターデバイスからの認証要求に応じて認証処理を行う。ここでの認証処理は、例えば、チャレンジレスポンス認証方式により行うことができる。
1.前処理
DMAコントローラ504は、マスターデバイスから認証要求を受取ると、認証処理を実行し、認証できた場合には、マスターデバイスからのデータ転送要求に応じて、以後DMAコントローラ104の行う前処理と同様の前処理を行い、認証できなかった場合には、ランク設定レジスタ1042のARをランク下限レジスタ1043に格納されている下限ARに設定した後、マスターデバイスからのデータ転送要求に応じ、当該マスターデバイスからデータ・アドレスバス101を獲得する。
2.転送処理
DMAコントローラ504は、認証できた場合には、データ転送要求の指定する転送元及び転送先のスレーブデバイスに受取ったARを送信してアクセスの許可を要求し、認証できなかった場合には、ランク下限レジスタ1043に格納されている下限ARをデータ転送要求の指定する転送元及び転送先のスレーブデバイスに送信してアクセスの許可を要求し、以後DMA104の行う転送処理と同様の転送処理を行う。
3.転送中断処理
DMAコントローラ504は、DMAコントローラ104の行う転送処理と同様の処理を行う。
<動作>
次に、機密情報処理装置500の行うデータ転送処理Eの動作について説明する。
DMAコントローラ504は、マスターデバイスから認証要求を受取ると(ステップS1101)、認証処理を実行し(ステップS1102)、認証できた場合には(ステップS1103:Y)、マスターデバイスからデータ転送要求を受取り(ステップS1104)、当該データ転送要求に含まれるデータ転送条件をDMA設定レジスタ1041に格納することにより、データ転送条件をDMA設定レジスタ1041に設定し(ステップS1105)、データ転送要求をしたマスターデバイスに当該マスターデバイスのARの送信を指示し、マスターデバイスからARを受取ると(ステップS1106)、受取ったARをランク設定レジスタ1042に格納し(ステップS1107)、データ転送要求をしたマスターデバイスにデータ・アドレスバス101の解放を要求し、マスターデバイスからデータ・アドレスバス101を獲得し(ステップS1108)、ランク設定レジスタ1042に格納しているARをデータ転送条件において指定される転送元及び転送先のスレーブデバイスに送信してアクセスの許可を要求する(ステップS1109)。
(実施形態6)
<構成>
図14は本発明の実施形態6に係る機密情報処理装置600の構成を示す機能ブロック図である。
図14の機能ブロック図において、実施形態1の機密情報処理装置100と同一のデバイスについては、同一の番号を付している。以下、機密情報処理装置100と同一のデバイスについては、実施形態1において説明済みであるので説明を省略し、相違するデバイスについて説明する。
DMAコントローラ604は、DMA設定レジスタ1041、ランク設定レジスタ6042、認証処理部5041、拒否マスターリストレジスタ6041を有する。
拒否マスターリストレジスタ6041は、データ転送要求を拒否すべきマスターデバイスの識別子を格納している。
DMAコントローラ604は、マスターデバイス103、105の何れかのマスターデバイスからの認証要求に応じて以下に説明するデータ転送制御処理Fを行う。
1.前処理
DMAコントローラ604は、マスターデバイスから認証要求を受取り、認証要求元の識別子が拒否マスターリストレジスタに格納されている場合には、データ転送制御処理Fを終了し、格納されていない場合には、認証処理を実行し、認証できた場合には、マスターデバイスからのデータ転送要求を受取り、データ転送要求に含まれるデータ転送条件をDMA設定レジスタ1041に格納することにより、データ転送条件をDMA設定レジスタ1041に設定し、当該マスターデバイスからデータ・アドレスバス101を獲得し、認証できなかった場合には、認証要求元のマスターデバイスの識別子を拒否マスターリストレジスタに格納し、データ転送制御処理Fを終了する。
2.転送処理
DMAコントローラ604は、DMAコントローラ104の行う転送処理と同様の処理を行う。
3.転送中断処理
ランク設定レジスタ1042のARを下限ARに設定する処理をしないことを除いて、DMAコントローラ104の行う転送中断処理と同様の処理を行う。
<動作>
次に、機密情報処理装置600の行うデータ転送処理Fの動作について説明する。
DMAコントローラ604は、マスターデバイスから認証要求を受取ると(ステップS1301)、認証要求元の識別子が拒否マスターリストレジスタに格納されているか否かを判定し(ステップS1302)、格納されている場合には(ステップS1302:Y)、データ転送制御処理Fを終了し、格納されていない場合には(ステップS1302:N)、認証処理を実行し(ステップS1303)、認証できた場合には(ステップS1304:Y)、マスターデバイスからのデータ転送要求を受取り(ステップS1305)、データ転送要求に含まれるデータ転送条件をDMA設定レジスタ1041に格納することにより、データ転送条件をDMA設定レジスタ1041に設定し(ステップS1306)、当該マスターデバイスからデータ・アドレスバス101を獲得し(ステップS1307)、ランク設定レジスタ6042に格納しているARをデータ転送要求の指定する転送元及び転送先のスレーブデバイスに送信してアクセスの許可を要求する(ステップS1308)。
ステップS1308の処理以降のステップS1310〜ステップS1318の処理は、図2のステップS207〜ステップS214、ステップS216、ステップS217の処理と同じであるので説明を省略する。
(実施形態7)
<構成>
図16は本発明の実施形態7に係る機密情報処理装置700の構成を示す機能ブロック図である。
図16の機能ブロック図において、実施形態1の機密情報処理装置100と同一のデバイスについては、同一の番号を付している。以下、機密情報処理装置100と同一のデバイスについては、実施形態1において説明済みであるので説明を省略し、相違するデバイスについて説明する。
DMAコントローラ704は、DMA設定レジスタ1041、ランク設定レジスタ1042、ランク下限レジスタ1043、ランク上限レジスタ7041、比較部7042を有する。
ここで、「上限AR」とは、ARが不正操作によって不当に高く設定されたマスターデバイスからの不正アクセスを防止するために、機密情報処理装置700の管理者側によって設定される上限のARであって、例えば、機密情報処理装置700の出荷時において、各デバイスに設定されているARのうち、最大のARを上限ARとして設定することができる。
DMAコントローラ704は、以下に説明するデータ転送制御処理Gを行う。
1.前処理
DMAコントローラ704は、マスターデバイスから当該マスターデバイスのARを受取り、受取ったARとランク設定レジスタ1042に格納されているARとの大小比較を行い、大きくない場合には、データ転送制御処理Gを終了し、大きい場合に、さらに、受取ったARとランク上限レジスタ7041に格納されているARとの大小比較を行い、受取ったARが上限ARよりも大きい場合には、上限レジスタをランク設定レジスタ1042に格納し、大きくない場合には、受取ったARをランク設定レジスタ1042に格納し、マスターデバイスからのデータ転送要求を受取り、データ転送要求に含まれるデータ転送条件をDMA設定レジスタ1041に格納することにより、データ転送条件をDMA設定レジスタ1041に設定し、当該マスターデバイスからデータ・アドレスバス101を獲得する。
2.転送処理
DMAコントローラ704は、データ要求されたデータの転送完了後に後述するランク設定解除処理を行う点を除いて、DMAコントローラ104の行う転送処理と同様の処理を行う。
3.転送中断処理
ランク設定レジスタ1042のARを下限ARに設定する処理をしないことを除いて、DMAコントローラ104の行う転送中断処理と同様の処理を行う。
<動作>
次に、機密情報処理装置700の行うデータ転送処理Gの動作について説明する。
DMAコントローラ704は、マスターデバイスから当該マスターデバイスのARを受取り(ステップS1501)、受取ったARがランク設定レジスタ1042に格納しているARより小さくないか否かを判定し(ステップS1502)、小さい場合には(ステップS1502:N)、データ転送処理Gを終了し、小さくない場合には(ステップS1502:Y)、さらに、受取ったARがランク上限レジスタ7041に格納している上限ARより大きいか否かを判定し(ステップS1503)、受取ったARが上限ARよりも大きい場合には(ステップS1503:Y)、上限ARをランク設定レジスタ1042に格納し(ステップS1508)、大きくない場合には(ステップS1503:N)、受取ったARをランク設定レジスタ1042に格納し(ステップS1504)、マスターデバイスからのデータ転送要求を受取り(ステップS1505)、データ転送要求に含まれるデータ転送条件をDMA設定レジスタ1041に格納することにより、データ転送条件をDMA設定レジスタ1041に設定し(ステップS1506)、当該マスターデバイスからデータ・アドレスバス101を獲得し(ステップS1507)、ランク設定レジスタ1042に格納しているARをデータ転送要求の指定する転送元及び転送先のスレーブデバイスに送信してアクセスの許可を要求する(ステップS1509)。
DMAコントローラ704は、ステップS1516の処理の後、ランク設定レジスタ1042にランク上限レジスタ7041に格納している上限ARを格納する(ステップS1517)。
図18は、ランク設定解除処理の動作を示すフローチャートである。
DMAコントローラ704は、マスターデバイスからランク設定レジスタ1042に設定されているARのランク設定解除要求が有ると(ステップS1530:Y)、要求元のマスターデバイスのARがランク設定レジスタ1042に格納しているARより大きいか否かを判定し(ステップS1531)、大きい場合に(ステップS1531:Y)、ランク設定レジスタ1042に格納しているARをランク下限レジスタに格納している下限ARに設定する(ステップS1532)。
(実施形態8)
<構成>
図19は本発明の実施形態7に係る機密情報処理装置800の構成を示す機能ブロック図である。
図19の機能ブロック図において、実施形態1の機密情報処理装置100と同一のデバイスについては、同一の番号を付している。以下、機密情報処理装置100と同一のデバイスについては、実施形態1において説明済みであるので説明を省略し、相違するデバイスについて説明する。
DMAコントローラ804は、DMA設定レジスタ1041を有し、マスターデバイス103、105からのデータ転送要求に応じて、以下に説明するデータ転送制御処理Hを行う。
1.前処理
DMAコントローラ804は、データ転送要求に含まれるデータ転送条件をDMA設定レジスタ1041に格納することにより、データ転送条件をDMA設定レジスタ1041に設定し、データ転送要求をしたマスターデバイスからデータ・アドレスバス101を獲得し、当該マスターデバイスにARのデータ転送条件の指定する転送元及び転送先のスレーブデバイスへの送信を要求する。
2.転送処理
DMAコントローラ804は、DMAコントローラ104の行う転送処理と同様の処理を行う。
3.転送中断処理
ランク設定レジスタ1042のARを下限ARに設定する処理をしないことを除いて、DMAコントローラ804の行う転送中断処理と同様の処理を行う。
<動作>
次に、機密情報処理装置800の行うデータ転送処理Hの動作について説明する。
DMAコントローラ804は、マスターデバイス103、105の何れかのマスターデバイスからデータ転送要求を受取ると(ステップS1701)、当該データ転送要求に含まれるデータ転送条件をDMA設定レジスタ1041に格納することにより、データ転送条件をDMA設定レジスタ1041に設定し(ステップS1702)、データ転送要求をしたマスターデバイスにデータ・アドレスバス101の解放を要求し、マスターデバイスからデータ・アドレスバス101を獲得し(ステップS1703)、データ転送要求をしたマスターデバイスに当該マスターデバイスのARの送信を要求し(ステップS1704)、マスターデバイスにデータ転送要求の指定する転送元及び転送先のスレーブデバイスにARを送信させ、アクセスの許可を要求させる(ステップS1705)。
<補足>
以上、本発明の実施形態1〜8について説明したが、本発明はこれら実施形態に限られないことは勿論である。
(1)例えば、実施形態2における図5のステップS503において、判定が否定的である場合に、スレーブ間ランクテーブルにおいて、ARの示すランクが最大のARを特定し(ステップS1801)、ステップS506の処理に移行することとしてもよい。
上記の場合において、DMAコントローラ204の行うデータ転送制御処理B1の動作を図21及び図22に示す。
(2)又、実施形態2において、ランク設定レジスタ1042に予め定められたAR(例えば、各スレーブデバイスのARより小さくないAR)を格納しておき、図5のステップS510の処理を行うことなく、ステップS513の処理の代わりに、格納しているARをデータ転送要求の指定する転送元及び転送先のスレーブデバイスに送信してアクセスの許可を要求する(ステップS1901)こととしてもよい。
(3)又、実施形態2におけるスレーブ間ランクテーブルを、機密情報処理装置200の各スレーブデバイスの組毎に当該組のスレーブデバイスのARの大きい方のARを対応付けたテーブルとし、図5のステップS507とステップS508の処理の代わりに、データ転送要求をしたマスターデバイスから受取ったARが、上記テーブルにおいて、当該データ転送要求において指定されるスレーブデバイスの組に対応するARよりも小さくないか否かを判定する処理を行い、小さくない場合にステップS510以降の処理を行うこととしてもよい。
(4)又、実施形態3において、ランク設定レジスタ1042に、実施形態7において設定された上限ARを格納しておき、図8のステップ710を行うことなく、ステップS716の処理の代わりに、中断要求元のARがランク設定レジスタ1042に格納している上限ARより小さくないか否かを判定する(ステップS2001)こととしてもよい。
(5)又、実施形態5において、ランク設定レジスタ1042に予め定められたAR(例えば、各スレーブデバイスのARより小さくないAR)を格納しておき、図13のステップS1106、ステップS1107を行うことなく、ステップS1109の処理を行う代わりに、格納しているARをデータ転送要求の指定する転送元及び転送先のスレーブデバイスに送信してアクセスの許可を要求する(ステップS2101)こととし、S1103の判定が否定的である場合(ステップS1103:N)、DMAコントローラ504は、データ転送処理E1を終了することとしてもよい。
(6)又、実施形態7における図17のステップS1514の判定が否定的である場合に(ステップS1514:N)、DMAコントローラ704は、中断拒否する(図17、ステップS1519)代わりに、データ転送を中断し(ステップS1516)、ランク設定レジスタ1042にランク上限レジスタ7041に格納している上限ARを格納する(ステップS1517)こととし、さらに、ステップS1518において、データ転送が完了した場合に(ステップS1518:Y)、ステップS1520の処理を行う代わりに、DMA設定レジスタ1041に設定されているデータ転送条件を初期化してクリアし(ステップS2201)、ランク設定レジスタ1042のARをランク下限レジスタに格納している下限ARに設定する(ステップS2202)こととしてもよい。
(7)実施形態1〜8において、DMAコントローラが行うデータ転送制御処理は、1つのスレーブデバイス内におけるデータ転送制御処理であってもよい。又、スレーブデバイスの数は、2つ以上であってもよい。
(8)実施形態1〜8において、マスターデバイスの数は、2つに限らず、1つであってもよいし、2つ以上であってもよい。
(9)実施形態1〜8において、DMAコントローラのチャネルは、1つであってもよいし、複数であってもよい。又、DMA設定レジスタ、ランク設定レジスタは、DMAコントローラのチャネルに相当する数だけ設けることとしてもよいし、一部をチャネル間で共有することとしてもよい。
(10)実施形態1〜8において、機密情報処理装置を構成する各デバイスの保持するARは、不変であってもよいし、可変であってもよい。
(11)実施形態1〜8において、機密情報処理装置を構成する各デバイスは、個別のLSI(半導体集積回路)であってもよいし、任意のデバイス及びバスを1つのLSIとしてもよい。
(12)実施形態1〜8において、ARを各デバイス間で送信するのにランクバス102を用いたが、ARの送信は、データ・アドレスバスで行うこととしてもよい。
101 データ・アドレスバス
102 ランクバス
103 マスターデバイス
104、204、304、504、604、704、804 DMAコントローラ
105 マスターデバイス
106 汎用記憶装置
107 暗号処理装置
108 機密情報記憶装置
1031、1051、1061、1071、1081 ランクレジスタ
1041 DMA設定レジスタ
1042、6042 ランク設定レジスタ
1043 ランク下限レジスタ
2041 スレーブ間ランクテーブル格納部
2042、3042、7042 比較部
3041 スレーブランクレジスタ
4041 DMA実行マスターレジスタ
4042 ランク設定許可フラグレジスタ
5041 認証処理部
6041 拒否マスターリストレジスタ
7041 ランク上限レジスタ
Claims (24)
- マスターデバイスとデータ格納領域を有する複数のスレーブデバイスにバスで接続され、マスターデバイスから送信される転送先及び転送元のデータ格納領域を指定する転送条件に基づいてデータ転送を行わせるDMAコントローラであって、
前記マスターデバイスと前記スレーブデバイスは、データ転送可否の判定基準となるアクセス判定ランクを保持し、
前記DMAコントローラは、
前記マスターデバイスのアクセス判定ランクと、前記転送条件の指定する転送先及び転送元のスレーブデバイスの保持しているアクセス判定ランクとの比較結果に基づくデータ転送可否判定結果が「転送可」である場合に、前記データ転送を行わせ、前記データ転送可否判定結果が「転送不可」である場合に前記データ転送を抑止させるデータ転送制御手段
を備えることを特徴とするDMAコントローラ。 - 前記データ転送制御手段は、
データ転送を行う対象となる転送元及び転送先のデータ格納領域の組と当該組の転送先及び転送元のデータ格納領域を有する前記スレーブデバイスのアクセス判定ランクの内、大きい方のアクセス判定ランクとの対応関係を示すスレーブデバイス間テーブルを記憶するテーブル記憶手段と、
前記スレーブデバイス間テーブルにおいて、前記転送条件において指定された転送元及び転送先のデータ格納領域の属する組と対応付けられているアクセス判定ランクと前記マスターデバイスのアクセス判定ランクとの比較をする比較手段と
前記比較結果に基づいて前記データ転送の可否判定を行う転送可否判定手段と
を有することを特徴とする請求項1記載のDMAコントローラ。 - 前記データ転送制御手段は、前記転送条件において指定された転送元及び転送先のデータ格納領域の組が、前記スレーブデバイス間テーブルに含まれるか否かを判定するテーブル判定手段を有し、
前記転送可否判定手段は、前記スレーブデバイス間テーブルに含まれない場合に、「転送不可」と判定する
ことを特徴とする請求項2記載のDMAコントローラ。 - 前記データ転送制御手段は、
前記転送条件の指定する転送先及び転送元のデータ格納領域を有する前記スレーブデバイスから、保持しているアクセス判定ランクを取得する取得手段と、
前記マスターデバイスのアクセス判定ランクと、取得したアクセス判定ランクとを比較する比較手段と、
前記比較結果に基づいて前記データ転送の可否判定を行う転送可否判定手段と
を有することを特徴とする請求項1記載のDMAコントローラ。 - 前記スレーブデバイスは、アクセス要求元から送信されたアクセス判定ランクと当該スレーブデバイスが保持しているアクセス判定ランクとの比較結果に基づいてアクセス要求元からのアクセスの許否を判定し、
前記データ転送制御手段は、前記マスターデバイスのアクセス判定ランクを前記転送条件の指定する転送先及び転送元のデータ格納領域を有する前記スレーブデバイスに送信し、アクセスの許可を要求する要求手段を有し、
前記転送可否判定手段は、前記スレーブデバイスによるアクセス許否判定結果と前記比較手段による比較結果とに基づいて前記データ転送の可否判定を行う
ことを特徴とする請求項2〜4の何れかに記載のDMAコントローラ。 - 前記DMAコントローラは、複数のマスターデバイスと前記バスで接続され、
前記データ転送制御手段は、
自装置が前記マスターデバイスからの前記転送条件の送信に応じてデータ転送を許可できる状態にあるか否かを示すフラグを設定するためのフラグ値を格納しているフラグ格納手段と、
データ転送が行われている間、前記フラグを「不許可」に設定し、データ転送が完了すると、前記フラグを「許可」に設定するフラグ設定手段と
を有し、
前記転送可否判定手段は、前記マスターデバイスからの前記転送条件の送信時に前記フラグが、「不許可」に設定されている場合に、「転送不可」と判定する
ことを特徴とする請求項1記載のDMAコントローラ。 - 前記データ転送制御手段は、
前記フラグが「許可」に設定されている場合に、前記バスに接続されているマスターデバイスから転送条件の送信があると、当該マスターデバイスの識別子を記憶するマスターデバイス記憶手段と、
前記フラグが「不許可」に設定され、前記転送条件に基づくデータ転送が行われている間に、前記バスに接続されているマスターデバイスから新たな転送条件が送信された場合に、当該マスターデバイスの識別子がマスターデバイス記憶手段に記憶されているか否かを判定するマスターデバイス判定手段と
を有し、
前記転送可否判定手段は、前記マスターデバイスからの新たな転送条件の送信時に前記フラグが「不許可」に設定され、かつ、新たな転送条件を送信した前記マスターデバイスの識別子が前記マスターデバイス記憶手段に記憶されていない場合に、「転送不可」と判定する
ことを特徴とする請求項6記載のDMAコントローラ。 - 前記データ転送制御手段は、
前記データ転送を行わせている間に、前記バスに接続されている前記マスターデバイス及び前記スレーブデバイスからのデータ転送中断要求を受取る中断要求受取手段と、
データ転送中断要求の要求元がマスターデバイスであるか否かを判定する中断要求元判定手段と、
前記要求元がマスターデバイスである場合に、前記要求元のアクセス判定ランクを受取り、前記要求元のアクセス判定ランクと前記受取手段が受取った前記マスターデバイスのアクセス判定ランクとの比較結果に基づいて、前記データ転送を中断させるか否かを判定する中断判定手段と
中断させると判定された場合に、前記データ転送を中断させるデータ転送中断手段と
を有することを特徴とする請求項1〜7の何れかに記載のDMAコントローラ。 - 前記DMAコントローラは、予め設定された下限のアクセス判定ランクを記憶している下限ランク記憶手段と、
前記転送条件を送信した前記マスターデバイスからアクセス判定ランクを受取り、記憶するランク記憶手段と
前記転送条件を記憶する条件記憶手段と
を備え、
前記データ転送可否判定は、前記比較結果において、前記ランク記憶手段に記憶している前記マスターデバイスのアクセス判定ランクが前記転送条件の指定する転送先及び転送元のスレーブデバイスの保持しているアクセス判定ランクよりも小さくない場合に、「転送可」とされ、小さい場合に「転送不可」とされ、
前記中断判定手段は、前記要求元のアクセス判定ランクが前記ランク記憶手段に記憶しているアクセス判定ランクよりも小さくない場合に、前記データ転送を中断させると判定し、
前記データ転送制御手段は、
中断させると判定した場合に、前記条件記憶手段に記憶している転送条件を削除する削除手段と、
前記ランク記憶手段に記憶しているアクセス判定ランクに替えて下限のアクセス判定ランクを記憶させるランク切替手段と
を有することを特徴とする請求項8記載のDMAコントローラ。 - 前記データ転送可否判定は、前記比較結果において、前記マスターデバイスのアクセス判定ランクが前記転送条件の指定する転送先及び転送元のスレーブデバイスの保持しているアクセス判定ランクよりも小さくない場合に、「転送可」とされ、小さい場合に「転送不可」とされ、
前記データ転送制御手段は、
予め設定された上限のアクセス判定ランクを記憶している上限ランク記憶手段と、
前記マスターデバイスのアクセス判定ランクと上限のアクセス判定ランクとを比較する比較手段と
を有し、
前記マスターデバイスのアクセス判定ランクの方が上限のアクセス判定ランクより大きくない場合に、前記データ転送可否判定結果が「転送可」である場合に、前記データ転送を行わせ、
前記マスターデバイスのアクセス判定ランクの方が上限のアクセス判定ランクより大きい場合に、上限のアクセス判定ランクが、前記転送条件の指定する転送先及び転送元のスレーブデバイスの保持しているアクセス判定ランクより小さくない場合に、前記データ転送を行わせる
ことを特徴とする請求項1記載のDMAコントローラ。 - 前記DMAコントローラは、複数のマスターデバイスと前記バスで接続され、
前記データ転送制御手段は、前記マスターデバイスのアクセス判定ランクの方が上限のアクセス判定ランクより大きくない場合に、前記マスターデバイスのアクセス判定ランクを記憶し、
前記マスターデバイスのアクセス判定ランクの方が上限のアクセス判定ランクより大きい場合に、上限のアクセス判定ランクを記憶するランク記憶手段を有し、
前記データ転送制御手段は、前記バスに接続されている他のマスターデバイスのアクセス判定ランクが前記ランク記憶手段に記憶しているアクセス判定ランクよりも小さい場合に、前記バスに接続されている他のマスターデバイスから送信される転送条件に基づくデータ転送を抑止させる
ことを特徴とする請求項10記載のDMAコントローラ。 - 前記データ転送制御手段は、
前記バスに接続されている前記マスターデバイス及び前記スレーブデバイスからのデータ転送中断要求を受取る中断要求受取手段と、
データ転送中断要求の要求元がマスターデバイスであるか否かを判定する中断要求元判定手段と、
前記要求元がマスターデバイスである場合に、前記要求元のアクセス判定ランクを受取り、前記要求元のアクセス判定ランクと前記ランク記憶手段に記憶している前記マスターデバイスのアクセス判定ランクとの比較結果に基づいて、前記データ転送を中断させるか否かを判定する中断判定手段と、
中断させると判定された場合に、前記データ転送を中断させるデータ転送中断手段と
を有することを特徴とする請求項11に記載のDMAコントローラ。 - 前記DMAコントローラは、前記転送条件を記憶する条件記憶手段を備え、
前記中断判定手段は、前記要求元のアクセス判定ランクが記憶しているアクセス判定ランクよりも小さくない場合に、前記データ転送を中断させると判定し、
前記データ転送制御手段は、
中断させると判定した場合に、前記条件記憶手段に記憶している転送条件を削除する削除手段と、
前記ランク記憶手段に記憶しているアクセス判定ランクに替えて上限のアクセス判定ランクを記憶させるランク切替手段と
を有することを特徴とする請求項12記載のDMAコントローラ。 - 前記DMAコントローラは、前記マスターデバイスと前記スレーブデバイスの保持している各アクセス判定ランクよりも大きくない下限のアクセス判定ランクを記憶している下限ランク記憶手段を備え、
前記削除手段は、前記データ転送が完了した場合に、前記条件記憶手段に記憶している転送条件を削除し、
前記ランク切替手段は、前記ランク記憶手段に、記憶しているアクセス判定ランクに替えて下限のアクセス判定ランクを記憶させる
ことを特徴とする請求項13記載のDMAコントローラ。 - 前記スレーブデバイスは、アクセス要求元から送信されたアクセス判定ランクが、当該スレーブデバイスが保持しているアクセス判定ランクより小さくない場合に限り、アクセス要求元からのアクセスを許可し、
前記データ転送制御手段は、前記スレーブデバイスのアクセス判定ランクより小さくない上限のアクセス判定ランクを記憶するランク記憶手段と、
前記転送条件を記憶する条件記憶手段と、
ランク記憶手段に記憶されている上限のアクセス判定ランクを、記憶している前記転送条件の指定する転送先及び転送元のデータ格納領域を有する前記スレーブデバイスに送信して、アクセスの許可を要求するアクセス要求手段と
を有し、
前記データ転送可否判定手段は、前記スレーブデバイスによるアクセス許否判定結果と前記比較手段による比較結果とに基づいて前記データ転送の可否判定を行う
ことを特徴とする請求項2〜4の何れかに記載のDMAコントローラ。 - 前記データ転送制御手段は、
前記バスに接続されている前記マスターデバイス及び前記スレーブデバイスからのデータ転送中断要求を受取る中断要求受取手段と、
データ転送中断要求の要求元がマスターデバイスであるか否かを判定する中断要求元判定手段と、
前記要求元がマスターデバイスである場合に、前記要求元のアクセス判定ランクを受取り、前記要求元のアクセス判定ランクと記憶している上限のアクセス判定ランクとの比較結果に基づいて、前記データ転送を中断させるか否かを判定する中断判定手段と
中断させると判定された場合に、前記データ転送を中断させるデータ転送中断手段と
を有することを特徴とする請求項15記載のDMAコントローラ。 - 前記データ転送制御手段は、前記データ転送を中断させると判定した場合に、前記条件記憶手段に記憶している転送条件を削除する削除手段
を有することを特徴とする請求項16記載のDMAコントローラ。 - 前記データ転送制御手段は、
前記マスターデバイスからの認証要求に応じて認証処理を行う認証手段と、
前記マスターデバイスと前記スレーブデバイスの保持している各アクセス判定ランクよりも大きくない下限のアクセス判定ランクを記憶している下限ランク記憶手段と
を有し、
認証できた場合に、前記データ転送可否判定結果が「転送可」である場合に、前記データ転送を行わせ、
認証できなかった場合に、下限のアクセス判定ランクが、前記転送条件の指定する転送先及び転送元のスレーブデバイスの保持しているアクセス判定ランクよりも小さくない場合に限り、前記データ転送を行わせる
ことを特徴とする請求項1記載のDMAコントローラ。 - 前記データ転送制御手段は、
前記データ転送を行わせている間に、前記バスに接続されている前記マスターデバイス及び前記スレーブデバイスからのデータ転送中断要求を受取る中断要求受取手段と、
データ転送中断要求の要求元がマスターデバイスであるか否かを判定する中断要求元判定手段と、
前記要求元がマスターデバイスである場合に、前記要求元のアクセス判定ランクを受取り、前記要求元のアクセス判定ランクと前記受取手段が受取った前記マスターデバイスのアクセス判定ランクとの比較結果に基づいて、前記データ転送を中断させるか否かを判定する中断判定手段と、
中断させると判定された場合に、前記データ転送を中断させるデータ転送中断手段と
を有することを特徴とする請求項18記載のDMAコントローラ。 - 前記DMAコントローラは、
前記マスターデバイスのアクセス判定ランクを記憶するランク記憶手段と
前記転送条件を記憶する条件記憶手段と
を備え、
前記データ転送可否判定は、前記比較結果において、前記ランク記憶手段に記憶している前記マスターデバイスのアクセス判定ランクが前記転送条件の指定する転送先及び転送元のスレーブデバイスの保持しているアクセス判定ランクよりも小さくない場合に、「転送可」とされ、小さい場合に、「転送不可」とされ、
前記中断判定手段は、前記要求元のアクセス判定ランクが記憶しているアクセス判定ランクよりも小さくない場合に、前記データ転送を中断させると判定し、
前記データ転送制御手段は、
中断させると判定された場合に、前記条件記憶手段に記憶している転送条件を削除する削除手段と、
前記ランク記憶手段に記憶しているアクセス判定ランクに替えて下限のアクセス判定ランクを記憶させるランク切替手段と
を有することを特徴とする請求項19記載のDMAコントローラ。 - 前記データ転送制御手段は、
データ転送を行う対象となる転送元及び転送先のデータ格納領域の組と当該組の転送先及び転送元のデータ格納領域を有する前記スレーブデバイスのアクセス判定ランクとの対応関係を示すスレーブデバイス間テーブルを記憶するテーブル記憶手段と、
前記スレーブデバイス間テーブルにおいて、前記転送条件において指定された転送元及び転送先のデータ格納領域の属する組と対応付けられているアクセス判定ランクと前記マスターデバイスのアクセス判定ランクとの比較をする比較手段と
前記比較結果に基づいて前記データ転送の可否判定を行う転送可否判定手段と
を有することを特徴とする請求項1記載のDMAコントローラ。 - 前記スレーブデバイスは、アクセス要求元から送信されたアクセス判定ランクと当該スレーブデバイスが保持しているアクセス判定ランクとの比較結果に基づいてアクセス要求元からのアクセスの許否を判定し、
前記データ転送制御手段は、前記マスターデバイスのアクセス判定ランクを前記転送条件の指定する転送先及び転送元のデータ格納領域を有する前記スレーブデバイスに送信し、アクセスの許可を要求する要求手段と、
前記スレーブデバイスによるアクセス許否判定結果に基づいて前記データ転送の可否判定を行う転送可否判定手段と
を有することを特徴とする請求項1記載のDMAコントローラ。 - マスターデバイスとデータ格納領域を有する複数のスレーブデバイスにバスで接続され、マスターデバイスから送信される転送先及び転送元のスレーブデバイスのデータ格納領域を指定する転送条件に基づいて、転送元のデータ格納領域から転送先のデータ格納領域へのデータ転送を行わせるDMAコントローラに用いるデータ転送制御方法であって、
前記マスターデバイスと前記スレーブデバイスは、前記バスに接続されている他のデバイスからのアクセスを、前記スレーブデバイスが許可するか否かの判定基準となるアクセス判定ランクを保持し、
前記スレーブデバイスは、アクセス要求元から送信されたアクセス判定ランクと当該スレーブデバイスが保持しているアクセス判定ランクとの比較結果に基づいてアクセス要求元からのアクセスの許否を判定し、
前記DMAコントローラは、条件記憶手段を備え、
前記データ転送方法は、
前記マスターデバイスから送信された前記転送条件を前記条件記憶手段に格納する格納ステップと、
前記転送条件を送信した前記マスターデバイスに、前記転送条件の指定する転送先及び転送元のデータ格納領域を有する前記スレーブデバイスに当該マスターデバイスが保持しているアクセス判定ランクを送信させて、アクセスの許可を要求させる送信要求ステップと、
前記スレーブデバイスによってアクセスを許可された場合に、前記データ転送を行わせるデータ転送制御ステップと
を含むことを特徴とするデータ転送制御方法。 - マスターデバイスとデータ格納領域を有する複数のスレーブデバイスにバスで接続され、マスターデバイスから送信される転送先及び転送元のデータ格納領域を指定する転送条件に基づいてデータ転送を行わせるDMAコントローラに用いるデータ転送制御方法であって、
前記マスターデバイスと前記スレーブデバイスは、データ転送可否の判定基準となるアクセス判定ランクを保持し、
前記スレーブデバイスは、アクセス要求元から送信されたアクセス判定ランクと当該スレーブデバイスが保持しているアクセス判定ランクとの比較結果に基づいてアクセス要求元からのアクセスの許否を判定し、
前記データ転送制御方法は、
前記マスターデバイスのアクセス判定ランクを前記転送条件の指定する転送先及び転送元のデータ格納領域を有する前記スレーブデバイスに送信し、アクセスの許可を要求する要求ステップと、
前記スレーブデバイスによるアクセス許否判定結果に基づいて前記データ転送の可否判定を行い、判定結果が「転送可」である場合に、前記データ転送を行わせ、判定結果が「転送不可」である場合に前記データ転送を抑止させるデータ転送制御ステップと
を含むことを特徴とするデータ転送制御方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005049398A JP4668645B2 (ja) | 2005-02-24 | 2005-02-24 | Dmaコントローラ及びデータ転送制御方法 |
| US11/359,866 US7457891B2 (en) | 2005-02-24 | 2006-02-23 | DMA controller connected to master and slave device wherein a rank is used for judging data transfer permissibility |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005049398A JP4668645B2 (ja) | 2005-02-24 | 2005-02-24 | Dmaコントローラ及びデータ転送制御方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2006235982A JP2006235982A (ja) | 2006-09-07 |
| JP4668645B2 true JP4668645B2 (ja) | 2011-04-13 |
Family
ID=36972348
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2005049398A Expired - Fee Related JP4668645B2 (ja) | 2005-02-24 | 2005-02-24 | Dmaコントローラ及びデータ転送制御方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US7457891B2 (ja) |
| JP (1) | JP4668645B2 (ja) |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7386642B2 (en) * | 2005-01-28 | 2008-06-10 | Sony Computer Entertainment Inc. | IO direct memory access system and method |
| US7680972B2 (en) * | 2005-02-04 | 2010-03-16 | Sony Computer Entertainment Inc. | Micro interrupt handler |
| JP2006216042A (ja) * | 2005-02-04 | 2006-08-17 | Sony Computer Entertainment Inc | 割り込み処理のためのシステムおよび方法 |
| US7496695B2 (en) | 2005-09-29 | 2009-02-24 | P.A. Semi, Inc. | Unified DMA |
| US7721018B2 (en) * | 2006-08-24 | 2010-05-18 | Microchip Technology Incorporated | Direct memory access controller with flow control |
| US8510509B2 (en) * | 2007-12-18 | 2013-08-13 | International Business Machines Corporation | Data transfer to memory over an input/output (I/O) interconnect |
| US8711729B2 (en) * | 2008-01-11 | 2014-04-29 | Cisco Technology, Inc. | Host route convergence based on sequence values |
| US20090248910A1 (en) * | 2008-04-01 | 2009-10-01 | Apple Inc. | Central dma with arbitrary processing functions |
| KR101715866B1 (ko) * | 2010-08-26 | 2017-03-13 | 삼성전자주식회사 | 멀티셀 통신 시스템에서 협력 랭크에 기초하여 적응적으로 스케줄링을 수행하는 방법 및 장치 |
| US8849977B2 (en) * | 2012-03-09 | 2014-09-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and a control node in an overlay network |
| US9892077B2 (en) | 2013-10-07 | 2018-02-13 | Qualcomm Incorporated | Camera control interface slave device to slave device communication |
| US10043480B2 (en) * | 2014-08-29 | 2018-08-07 | Lattice Semiconductor Corporation | Inter-device conflict resolution on a multimedia link |
| US10860541B2 (en) | 2016-04-11 | 2020-12-08 | Johnson Controls Fire Protection LP | Fire detection system with distributed file system |
| US20170293478A1 (en) * | 2016-04-11 | 2017-10-12 | Tyco Fire & Security Gmbh | Fire detection system with automatic firmware updating |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH11282795A (ja) * | 1998-03-27 | 1999-10-15 | Nec Saitama Ltd | バス調停装置 |
| JP2001297054A (ja) * | 2000-04-11 | 2001-10-26 | Sharp Corp | Dmaの転送逸脱防止方法及びdmaコントローラ |
| US6772254B2 (en) * | 2000-06-21 | 2004-08-03 | International Business Machines Corporation | Multi-master computer system with overlapped read and write operations and scalable address pipelining |
| US6857035B1 (en) * | 2001-09-13 | 2005-02-15 | Altera Corporation | Methods and apparatus for bus mastering and arbitration |
| JP2003281076A (ja) * | 2002-03-27 | 2003-10-03 | Nec Microsystems Ltd | Dmaコントローラの不正アクセス検出装置、不正アクセス検出方法およびそのプログラム |
| US7139909B2 (en) * | 2003-10-16 | 2006-11-21 | International Business Machines Corporation | Technique for system initial program load or boot-up of electronic devices and systems |
-
2005
- 2005-02-24 JP JP2005049398A patent/JP4668645B2/ja not_active Expired - Fee Related
-
2006
- 2006-02-23 US US11/359,866 patent/US7457891B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2006235982A (ja) | 2006-09-07 |
| US7457891B2 (en) | 2008-11-25 |
| US20060206634A1 (en) | 2006-09-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4668645B2 (ja) | Dmaコントローラ及びデータ転送制御方法 | |
| CN108885672B (zh) | 访问管理方法、信息处理装置、程序及记录介质 | |
| CN104025544B (zh) | 机密信息泄露防止系统和机密信息泄露防止方法 | |
| EP2024864A1 (en) | Method and apparatus for creating and applying secure file identifier of rights object by using random numbers | |
| US9027154B2 (en) | Method, apparatus and system for managing document rights | |
| CN106934295A (zh) | 一种文档处理方法及装置 | |
| JP2006344212A (ja) | 電子文書のセキュアな印刷 | |
| JP2008001089A (ja) | 印刷プログラムおよび印刷装置 | |
| JP2014036335A (ja) | ジョブ処理システム、情報処理システム、ジョブ処理方法、情報処理方法、およびプログラム | |
| JP2005196257A (ja) | マイクロプロセッサ | |
| JP2009536393A (ja) | 保安データの安全な移動を提供する装置および方法 | |
| JP4735331B2 (ja) | 仮想マシンを利用した情報処理装置および情報処理システム、並びに、アクセス制御方法 | |
| US9530021B2 (en) | Portable recording medium, system including the portable recording medium, and data recovery method of the portable recording medium | |
| JP4289817B2 (ja) | 情報管理装置及び方法 | |
| JP2009230583A (ja) | ファイル共有方法及びシステム、並びに、サーバ装置、クライアント装置、及びプログラム | |
| JP4813768B2 (ja) | リソース管理装置、リソース管理プログラム、及び記録媒体 | |
| CN119483954A (zh) | 密码运算方法及密码芯片 | |
| JP4972692B2 (ja) | Dma制御装置およびデータ転送方法 | |
| JP6394995B2 (ja) | 画像形成装置 | |
| US9922199B2 (en) | Document security tool | |
| JP4801777B2 (ja) | 認証処理システム、及び認証処理方法、並びにプログラム | |
| JP2005173796A (ja) | 電子文書管理ソフトウエアにおけるドキュメントアクセス制御 | |
| JP2009053771A (ja) | 電子文書管理サーバ | |
| JP2019213017A (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム | |
| EP3054398B1 (en) | Method and system for performing secure i/o operation in a pluggable flash storage device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080107 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101014 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101019 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101213 |
|
| 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: 20110105 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110113 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140121 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |