JP5357333B2 - データ転送制御装置とその集積回路とデータ転送制御方法、データ転送終了通知装置とその集積回路とデータ転送終了通知方法、およびデータ転送制御システム - Google Patents

データ転送制御装置とその集積回路とデータ転送制御方法、データ転送終了通知装置とその集積回路とデータ転送終了通知方法、およびデータ転送制御システム Download PDF

Info

Publication number
JP5357333B2
JP5357333B2 JP2012519204A JP2012519204A JP5357333B2 JP 5357333 B2 JP5357333 B2 JP 5357333B2 JP 2012519204 A JP2012519204 A JP 2012519204A JP 2012519204 A JP2012519204 A JP 2012519204A JP 5357333 B2 JP5357333 B2 JP 5357333B2
Authority
JP
Japan
Prior art keywords
data transfer
transfer control
information
order
control information
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
Application number
JP2012519204A
Other languages
English (en)
Other versions
JPWO2011155096A1 (ja
Inventor
雄策 太田
昌明 原田
悟 栗木
聡己 天野
英樹 谷口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2012519204A priority Critical patent/JP5357333B2/ja
Publication of JPWO2011155096A1 publication Critical patent/JPWO2011155096A1/ja
Application granted granted Critical
Publication of JP5357333B2 publication Critical patent/JP5357333B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Description

本発明は、複数のデータ転送の制御に関する。
従来から、SDXCやUSB、SATA等の高速IOインターフェースと主記憶装置へのとの間で複数のチャネルを用いて並列にDMA(Direct Memory Access)転送を行う情報処理装置が提供されている。これにより、DMA転送のスループットの低下を抑制している。
複数のデータ転送を並列に行う装置として、複数のディスク装置が一定時間毎に交互にデータ転送を行うディクスアレイ装置が提案されている(特許文献1参照)。
特許文献1に記載された技術をDMA転送に適用して、例えば、図26に示すように、3つのチャネルCH1,CH2,CH3が一定時間毎に交互にデータ転送を行う構成とすることで、オーバヘッド(DMA設定処理、DMA終端処理)の影響を除去し、DMA転送のスループットの低下を抑制することができる。
ところが、特許文献1に記載された技術を適用したDMA転送の場合、図27に示すように、転送されるデータのサイズが転送機会毎に異なると、いずれかのDMAチャネルCH1,CH2,CH3で、DMA転送期間終了後に待ち時間が発生してしまいスループットが低下するおそれがあった。
これに対して、従来から、3つのDMAチャネルCH1,CH2,CH3が互いに無関係にDMA転送を連続して行う構成が提供されている。
このような構成として、例えば、図28に示すように、DMAコントローラ1030が、各DMAチャネルCH1,CH2,CH3毎に、バッファ6050に格納されているディスクリプタ(転送制御情報)D1,D2,D3,D4を読み出してデータ転送を行う構成がある。
ここで、バッファ6050には、アドレスの小さい格納領域から順番にディスクリプタD1,D2,D3,D4,・・・が格納されており、ディスクリプタD1,D2,D3,D4,・・・は、リードポインタRPの値に従ってアドレスの小さい格納領域に格納されたものから順番に読み出されていく。また、DMAコントローラ1030は、例えば、ディスクリプタD3に基づくデータ転送が終了すると、バッファ6050のリードポインタRPの値をディスクリプタD4が格納されている格納領域のアドレス(x0004)で更新する。次に、DMAコントローラ1030は、リードポインタRPが示すアドレスの格納領域に格納されているディスクリプタD4を取得してディスクリプタD4に基づくデータ転送を開始する。
そして、CPU1000は、バッファ6050のリードポインタRPの値を参照して全てのデータが転送されたか否かを確認する。例えば、図29に示す場合、CPU1000は、時刻Tdにリードポインタの値がディスクリプタD4の格納領域のアドレスに更新されたことをもって、ディスクリプタD1乃至D4に基づくDMA転送が完了したと認識する。
特開平4−238527号公報
しかしながら、図30に示す場合、CPU1000は、時刻Tdにリードポインタの値がディスクリプタD4の格納領域のアドレスに更新されたことをもって、ディスクリプタD1,D2,D3,D4に基づく全てのDMA転送が完了したものと認識してしまう。そうすると、CPU1000は、ディスクリプタD3に基づくDMA転送が完了していないにも関わらず、ディスクリプタD1,D2,D3,D4全てに基づくDMA転送が完了したと認識して処理を開始することで、誤動作するおそれがあった。
本構成は上記事由に鑑みてなされたものであり、データ転送のスループットの大幅な向上を実現しつつ、複数のデータの転送終了を認識してから当該複数のデータを用いて処理を行う処理装置の誤動作を防止することを目的とする。
上記課題を解決するために、本発明に係るデータ転送制御装置は、所定の読み出し順序で読み出される複数の転送制御情報と所定の読み出し順序を管理する管理情報とを保持する転送制御情報管理手段から1つの転送制御情報を読み出し、当該転送制御情報に基づいて複数のデータ転送チャネルのいずれか1つで行われるデータ転送を制御するデータ転送制御装置であって、転送制御情報管理手段から転送制御情報を読み出す転送制御情報読出手段と、転送制御情報読出手段により読み出された転送制御情報の読み出し順序を示す順序情報を保持する順序情報保持手段と、転送制御情報に基づいたデータ転送が終了したことを認識する転送終了認識手段と、他のデータ転送制御装置それぞれが保持する順序情報を他のデータ転送制御装置から取得する順序情報取得手段と、自らが保持する順序情報が示す読み出し順序と他のデータ転送制御装置それぞれが保持する順序情報が示す読み出し順序との前後関係を判別する前後関係判別手段と、転送終了認識手段によりデータ転送が終了したことが認識され、且つ前後関係判別手段により自らが保持する順序情報が示す読出し順序が他のデータ転送制御装置それぞれが保持する順序情報が示す読み出し順序よりも前方と判別されると、管理情報を更新する管理情報更新手段とを備える。
上記構成によれば、転送終了認識手段によりデータ転送が終了したことが認識され、且つ前後関係判別手段により自らの保持する順序情報が示す読出し順序が他のデータ転送装置それぞれが保持する順序情報が示す読み出し順序よりも前方と判別されると、管理情報を更新する管理情報更新手段を備えることにより、各データ転送制御装置が、他のデータ転送制御装置とは独立して順次データ転送を実行でき、転送待ち時間の発生を防止しながらも、管理情報に基づいて所定の読み出し順序を参照して複数のデータの転送が終了したか否かを認識できるので、データ転送のスループットの大幅な向上を実現するとともに、複数のデータ全ての転送終了を認識してから当該複数のデータを用いて処理を行う処理装置の誤動作を防止することができる。
また、本発明に係るデータ転送制御装置は、管理情報が、自らが保持する順序情報および他のデータ転送制御装置それぞれが保持する順序情報が示す読み出し順序の中で最も前方の読み出し順序よりも前方の読み出し順序を示す実行済み順序情報を含んで構成され、管理情報更新手段が、前後関係判別手段により自らが保持する順序情報が示す読出し順序が他のデータ転送制御装置が保持する順序情報が示す読み出し順序よりも前方と判別されると、自らが保持する順序情報を用いて実行済み順序情報を更新するものであってもよい。
本構成によれば、管理情報が、自らが保持する順序情報および他のデータ転送制御装置それぞれが保持する順序情報が示す読み出し順序の中で最も前方の読み出し順序よりも前方の読み出し順序を示す実行済み順序情報を含んで構成され、管理情報更新手段が、自らが保持する順序情報を用いて実行済み順序情報を更新することにより、最初から実行済み順序情報が示す読み出し順序までの間の順序で読み出された転送制御情報の中に、まだ実行が終了していないデータ転送に対応する転送制御情報が混在することを防止できるので、最初のデータ転送から実行済み順序情報に対応するデータ転送まで確実に完了していることが保証されるので、実行済み順序情報のみに基づいて処理を行う処理装置の誤動作を防止することができる。
また、本発明に係るデータ転送制御装置は、管理情報更新手段が、前後関係判別手段により自らが保持する順序情報が示す読み出し順序が他のデータ転送制御装置それぞれが保持する順序情報が示す読み出し順序よりも前方ではないと判別されると、実行済み順序情報を自らが保持する順序情報を用いて更新しないものであってもよい。
本構成によれば、実行済み順序情報が、まだ実行完了されていない転送制御情報に対応する順序情報を追い越してしまうことを防止できる。
また、本発明に係るデータ転送制御装置は、自らが保持する順序情報および他のデータ転送制御装置それぞれが保持する順序情報の中で最後の読み出し順序を示す最新順序情報を抽出する最新順序情報抽出手段を備え、転送制御情報読出手段が、転送終了認識手段によりデータ転送の終了が認識されると、転送制御情報管理手段から最新順序情報が示す読み出し順序で読み出される転送制御情報の次に読み出される転送制御情報を取得するものであってもよい。
本構成によれば、自らが保持する自らが保持する順序情報および他のデータ転送制御装置から取得する他のデータ転送制御装置それぞれが保持する順序情報の中で最後の読み出し順序を示す順序情報である最新順序情報を抽出する最新順序情報抽出手段を備え、転送制御情報読出手段が、転送終了認識手段によりデータ転送の終了が認識されると、転送制御情報管理手段から最新順序情報が示す読み出し順序で読み出される転送制御情報の次に読み出される転送制御情報を取得することにより、転送制御情報読出手段が、実行が終了したデータ転送に対応した転送制御情報を誤って読み出すことを防止することができるので、無駄なデータ転送の発生を防止することができる。
また、本発明に係るデータ転送制御装置は、管理情報が、転送制御情報管理手段に最後に格納された転送制御情報の読み出し順序を示す最終順序情報を含んで構成され、最終順序情報を取得する最終順序情報取得手段と、最終順序情報と最新順序情報抽出手段により抽出される最新順序情報とを比較する最終順序比較手段とを備え、転送制御情報読出手段が、最終順序比較手段により最終順序情報が示す読み出し順序と最新順序情報が示す読み出し順序とが等しいと判定されると、転送制御情報管理手段から最新順序情報が示す転送制御情報の次に読み出される転送制御情報を取得する動作を行わないものであってもよい。
本構成によれば、転送制御情報読出手段が、新たな転送制御情報が転送制御情報管理手段に格納されていないにも関わらず、転送制御情報を読み出す動作を行うことを防止することができるので、無駄な処理や誤った転送制御情報を取得してしまうことを防止することができる。
また、本発明に係るデータ転送制御装置は、最終順序情報の更新を検出する最終順序情報更新検出手段を備え、転送制御情報読出手段は、前後関係判別手段が最新順序情報が示す読み出し順序と最終順序情報が示す読み出し順序とが等しいと判別した場合において、最終順序情報更新検出手段により最終順序情報の更新が検出されると、転送制御情報管理手段から最新順序情報が示す読み出し順序で読み出される転送制御情報の次に読み出される前記転送制御情報を取得する動作を行うものであってもよい。
本構成によれば、転送制御情報読出手段は、前後関係判別手段が最新順序情報が示す読み出し順序と最終順序情報が示す読み出し順序とが等しいと判別した場合において、最終順序情報更新検出手段により最終順序情報の更新が検出されると、転送制御情報管理手段から最新順序情報が示す読み出し順序で読み出される転送制御情報の次に読み出される前記転送制御情報を取得する動作を行うことにより、転送制御情報読出手段が、新たな転送制御情報が格納されると直ちに当該転送制御情報を取得する動作を行うことができるので、データ転送の効率を向上させることができる。
また、本発明に係るデータ転送制御装置は、自らが保持する順序情報が、自らが読み出す転送制御情報の格納領域のアドレスを示し自らが保持するローカルリードポインタであり、他のデータ転送制御装置それぞれが保持する順序情報が、他のデータ転送制御装置が読み出す転送制御情報の格納領域のアドレスを示し他のデータ転送制御装置それぞれが保持するローカルリードポインタであり、管理情報が、転送制御情報管理手段に最後に格納された転送制御情報の格納領域のアドレスを示すライトポインタと、自らの保持するローカルリードポインタが示すアドレスと他のデータ転送制御装置それぞれが保持するローカルリードポインタが示すアドレスの中で最も前方のアドレスの転送制御情報よりも読み出し順序が前方の転送制御情報が格納された格納領域のアドレスを示すグローバルリードポインタとを含んで構成されるものであってもよい。
本構成によれば、前後関係判別手段が、自らの保持するローカルリードポインタの値と、他のデータ転送制御装置それぞれが保持するローカルリードポインタの値に従って転送制御情報の読み出し順序の前後関係を判断することができる。
また、本発明に係るデータ転送制御装置は、転送制御情報管理手段が、リングバッファにより構成され、管理情報は、ライトポインタの値を更新する際、更新前のライトポインタの値が更新後のライトポインタの値よりも大きいとイネーブル状態に設定され、リードポインタを更新する際、更新前のグローバルリードポインタの値が更新後のグローバルリードポインタの値よりも大きいとディセーブル状態に設定されるオーバラップフラグを含んで構成されるものであってもよい。
また、本発明に係るデータ転送制御装置は、前後関係判別手段は、前後関係判別手段は、ライトポインタの値と、自らが保持するローカルリードポインタの値および他のデータ転送制御装置それぞれが保持するローカルリードポインタの値との大小関係を比較し、自らが保持するローカルリードポインタの示すアドレスの格納領域に格納された転送制御情報の読み出し順序と、他のデータ転送制御装置それぞれが保持するローカルリードポインタが示すアドレスの格納領域に格納された転送制御情報の読出し順序との前後関係を判別するものであってもよい。
本構成によれば、転送制御情報管理手段として、リングバッファを使用することができる。また、自らの保持するローカルリードポインタが示す読み出し順序と、他のデータ転送制御装置それぞれが保持するローカルリードポインタが示す読み出し順序との前後関係の判別を適切に行うことができる。
また、本発明に係るデータ転送制御装置は、管理情報更新手段が、グローバルリードポインタの値を更新する場合、更新前のグローバルリードポインタの値が、更新後のグローバルリードポインタの値よりも大きいとオーバラップフラグをディセーブル状態に設定するものであってもよい。
本構成によれば、転送制御情報管理手段として、リングバッファを使用することができる。また、リングバッファ上でのグローバルリードポインタの更新を適切に行うことができる。
また、本発明に係るデータ転送制御装置は、転送制御情報管理手段が、アドレスが連続した複数の格納領域にアドレスの小さい格納領域から順番に転送制御情報が格納されてなるバッファから構成されるものであってもよい。
本構成によれば、転送制御情報管理手段の構成を簡単にすることができる。
また、本発明に係るデータ転送制御装置は、前後関係判別手段が、自らの保持するローカルリードポインタの値が、他のデータ転送制御装置それぞれが保持するローカルリードポインタの値よりも小さい場合、自らの保持するローカルリードポインタが示すアドレスの格納領域に格納された転送制御情報の読み出し順序が他のデータ転送制御装置それぞれが保持するローカルリードポインタが示すアドレスの格納領域に格納された転送制御情報の読み出し順序よりも前方と判別するものであってもよい。
本構成によれば、前後関係判別手段で行われる処理を簡素化することができる。
また、本発明に係るデータ転送制御装置は、管理情報更新手段が、前後関係判別手段により自らの保持するローカルリードポインタが示すアドレスの格納領域に格納された転送制御情報の読み出し順序が他のデータ転送制御装置それぞれが保持するローカルリードポインタが示すアドレスの格納領域に格納された転送制御情報の読出し順序よりも前方と判別されると、グローバルリードポインタの値を自らの保持するローカルリードポインタの値を用いて更新するものであってもよい。
本構成によれば、バッファ上でのグローバルリードポインタを更新を適切に行うことができる。
また、本発明に係るデータ転送制御装置は、最新順序情報抽出手段が、自らの保持するローカルリードポインタおよび他のデータ転送制御装置それぞれが保持するローカルリードポインタの中から、読み出し順序が最後の転送制御情報が格納された格納領域のアドレスを示す最新リードポインタを抽出するものであって、所定の閾値と最新リードポインタの値とを比較する閾値比較手段を備え、転送制御情報読出手段が、閾値比較手段により所定の閾値と最新リードポインタの値とが等しいと判定されると、最新リードポインタの示すアドレスの格納領域に格納された転送制御情報の次に読み出される転送制御情報を取得する動作を行わないものであってもよい。
本構成によれば、最新リードポインタの示すアドレスがライトポインタの示すアドレスに一致するまで転送制御情報が読み出されるのを待つまでもなく、所定の閾値に到達した時点で、データ転送を停止することができる。
また、本発明のデータ転送制御装置は、所定の閾値が、グローバルリードポインタの値に対して予め定められた一定の値を加算してなるものであってもよい。
本構成によれば、所定の閾値に等しい数の転送制御情報が読み出されるごとにデータ転送を停止することができる。
また、本発明のデータ転送制御装置は、所定の閾値が、ライトポインタの値に対して予め定められた一定の値を減算してなるものであってもよい。
本構成によれば、未実行の転送制御情報数が所定の閾値に到達した時点でデータ転送を停止することができる。
また、本発明に係るデータ転送制御装置は、転送制御情報が、少なくともデータ転送の転送先アドレスおよび転送するデータのサイズを含むものであってもよい。
本構成によれば、データ転送先のアドレス指定してデータ転送を行うことができるので、転送先をより細かく指定することができる。
また、本発明に係るデータ転送制御装置は、転送制御情報読出手段による転送制御情報の取得が完了すると転送制御情報取得完了信号を送出する転送制御情報取得完了通知手段を備えるものであってもよい。
本構成によれば、転送制御情報読出手段が転送制御情報を取得したことを確認してからデータ転送を行うことができるので、誤動作を抑制することができる。
また、本発明に係るデータ転送制御装置は、転送終了認識手段が、データ転送が正常終了したか異常終了したかを認識し、転送制御情報読出手段が、転送終了認識手段によりデータ転送が正常終了したと認識されると新たに転送制御情報を取得する動作を行い、転送終了認識手段によりデータ転送が異常終了したと認識されると新たに転送制御情報を取得する動作を行わないものであってもよい。
本構成によれば、データ転送が異常終了した場合であって、当該データ転送に対応する転送制御情報に基づくデータ転送を再度行う必要が生じた場合に対応することができる。
また、本発明に係るデータ転送制御装置は、所定の読み出し順序で読み出される複数の転送制御情報と所定の読み出し順序を管理する管理情報とを保持する転送制御情報管理手段から1つの転送制御情報を読み出し、当該転送制御情報に基づいて複数のデータ転送チャネルを介した複数のデータ転送のいずれか1つを制御するデータ転送制御装置であって、転送制御情報管理手段から転送制御情報を読み出す転送制御情報読出手段と、転送制御情報読出手段が読み出す転送制御情報の読み出し順序を示す順序情報を保持する順序情報保持手段と、転送制御情報に基づいたデータ転送が終了したことを認識する転送終了認識手段と、転送制御情報に基づいたデータ転送が終了したか否かを示すデータ転送終了フラグを保持するフラグ保持手段と、転送終了認識手段によりデータ転送の終了が認識されると、データ転送終了フラグを更新するフラグ更新手段を備えるものであってもよい。
本構成によれば、転送制御情報に基づいたデータ転送が終了したか否かを示すデータ転送終了フラグを保持するフラグ保持手段と、転送終了認識手段によりデータ転送の終了が認識されると、データ転送終了フラグを更新するフラグ更新手段を備えることにより、データ転送終了フラグを確認すれば、実行が終了したデータ転送を把握することができる。
また、本発明に係るデータ転送終了通知装置は、複数のデータ転送チャネルを介して並列に実行される複数のデータ転送のうちいずれか1つのデータ転送を対応する転送制御情報に基づいて制御する複数のデータ転送制御装置に共通に接続され且つ少なくとも1つのデータ転送制御装置に対して当該データ転送制御装置が制御するデータ転送が終了したことを通知するデータ転送終了通知装置であって、少なくとも1つのデータ転送の終了を検知する転送終了検知手段と、転送終了検知手段が少なくとも1つのデータ転送の終了を検知すると、対応するデータ転送制御装置に対して所定のタイミングで転送終了通知信号を送出する転送終了通知手段とを備えるものであってもよい。
本構成によれば、転送終了検知手段が少なくとも1つのデータ転送の終了を検知すると、対応するデータ転送制御装置に対して所定のタイミングで転送終了通知信号を送出することにより、転送終了通知信号を送出するタイミングを適宜設定して、複数のデータ転送制御装置における転送制御情報の取得動作が互いに排他的に行われるようにすることができるので、複数のデータ転送制御装置により競合して1つの転送制御情報を取得する動作が行われることを防止できる。
また、本発明に係るデータ転送終了通知装置は、複数のデータ転送チャネルが、予め優先度が設定されてなり、転送終了検知手段が複数のデータ転送の終了を同時に検知したときに、転送終了通知手段に対して、最も優先度の高いデータ転送チャネルに対応するデータ転送制御装置のみに対して転送終了通知信号を送出させる優先度判断部を備えるものであってもよい。
本構成によれば、複数のデータ転送チャネルが、予め優先度が設定されてなり、転送終了検知手段が複数のデータ転送の終了を同時に検知したときに、転送終了通知手段に対して、最も優先度の高いデータ転送チャネルに対応するデータ転送制御装置に対して転送終了通知信号を送出させる優先度判断部を備えることにより、複数のデータ転送制御装置における転送制御情報の取得動作が互いに排他的に行われるので、複数のデータ転送制御装置が競合して1つの転送制御情報を取得する動作を行うことを防止できる。
また、本発明に係るデータ転送終了通知装置は、データ転送制御装置から転送制御情報の取得が完了したことを認識する転送制御情報取得完了認識手段を備え、転送終了通知手段が、転送制御情報取得完了認識手段により一のデータ転送制御装置において転送制御情報の取得が完了したことが認識されるまで、他のデータ転送制御装置に対して転送終了通知信号を送出しないものであってもよい。
本構成によれば、一のデータ転送制御装置における転送制御情報の取得動作中に他のデータ転送制御装置により転送制御情報の取得動作がなされることを防止できるので、複数のデータ転送制御装置による転送制御情報の取得動作が競合することをより確実に防止することができる。
また、本発明に係るデータ転送終了通知装置は、転送終了検知手段が、データ転送が正常終了したか異常終了したかを検知し、対応するデータ転送制御装置に対して終了結果通知信号を送出する終了結果検知手段を備えるものであってもよい。
本構成によれば、データ転送が異常終了した場合に当該データ転送を再度実行することができる。
また、本発明に係るデータ転送終了通知装置は、終了結果検知手段が、転送されるデータにチェックサムエラーが発生すると、データ転送が異常終了したと検知するものであってもよい。
本構成によれば、簡単な方法でデータ転送が異常終了したことを検知できる。
また、本発明は、所定の読み出し順序で読み出される複数の転送制御情報と所定の読み出し順序を管理する管理情報とを保持する転送制御情報管理手段から1つの転送制御情報を読み出し、当該転送制御情報に基づいて複数のデータ転送チャネルのいずれか1つで行われるデータ転送を制御するデータ転送制御用集積回路であって、転送制御情報管理手段から転送制御情報を読み出す転送制御情報読出手段と、転送制御情報読出手段が読み出す転送制御情報の読み出し順序を示す自らが保持する順序情報を保持する順序情報保持手段と、転送制御情報に基づいたデータ転送が終了したことを認識する転送終了認識手段と、他のデータ転送制御装置それぞれが保持する他のデータ転送制御装置それぞれが保持する順序情報を他のデータ転送制御装置から取得する順序情報取得手段と、自らが保持する順序情報が示す読み出し順序と、他のデータ転送制御装置それぞれが保持する順序情報が示す読み出し順序との前後関係を判別する前後関係判別手段と、転送終了認識手段によりデータ転送が終了したことが認識され、且つ前後関係判別手段により自らが保持する順序情報が示す読出し順序が他のデータ転送制御装置それぞれが保持する順序情報が示す読み出し順序よりも前方と判別されると、管理情報を更新する管理情報更新手段とを備えるデータ転送制御用集積回路でもよい。
本構成によれば、小型化を図ることができる。
また、本発明は、所定の読み出し順序で読み出される複数の転送制御情報と所定の読み出し順序を管理する管理情報とを保持する転送制御情報管理手段から1つの転送制御情報を読み出し、当該転送制御情報に基づいて複数のデータ転送チャネルのいずれか1つで行われるデータ転送を制御するデータ転送制御方法であって、転送制御情報管理手段から転送制御情報を読み出す転送制御情報読出ステップと、転送制御情報読出手段が読み出す転送制御情報の読み出し順序を示す自らが保持する順序情報を保持する順序情報保持ステップと、転送制御情報に基づいたデータ転送が終了したことを認識する転送終了認識手段と、他のデータ転送制御装置それぞれが保持する他のデータ転送制御装置それぞれが保持する順序情報を他のデータ転送制御装置から取得する順序情報取得ステップと、自らが保持する順序情報が示す読み出し順序と、他のデータ転送制御装置それぞれが保持する順序情報が示す読み出し順序との前後関係を判別する前後関係判別ステップと、転送終了認識手段によりデータ転送が終了したことが認識され、且つ前後関係判別手段により自らが保持する順序情報が示す読出し順序が他のデータ転送制御装置それぞれが保持する順序情報が示す読み出し順序よりも前方と判別されると、管理情報を更新する管理情報更新ステップとを含むことを特徴とするデータ転送制御方法であってもよい。
本構成によれば、各データ転送制御装置が、他のデータ転送制御装置とは独立して順次データ転送を実行でき、転送待ち時間の発生を防止しながらも、管理情報に基づいて所定の読み出し順序を参照して複数のデータ全ての転送が終了したか否かを認識できるので、データ転送のスループットの大幅な向上を実現するとともに、複数のデータ全ての転送終了を認識してから当該複数のデータを用いて処理を行う処理装置の誤動作を防止することができる。
また、本発明は、複数のデータ転送チャネルを介して並列に実行される複数のデータ転送のうちいずれか1つのデータ転送を対応する転送制御情報に基づいて制御する複数のデータ転送制御装置に共通に接続され且つ少なくとも1つのデータ転送制御装置に対して当該データ転送制御装置が制御するデータ転送が終了したことを通知するデータ転送終了通知用集積回路であって、少なくとも1つのデータ転送の終了を検知する転送終了検知手段と、転送終了検知手段が少なくとも1つのデータ転送の終了を検知すると、対応するデータ転送制御装置に対して転送終了通知信号を送出する転送終了通知手段とを備えるデータ転送終了通知用集積回路でもよい。
本構成によれば、小型化を図ることができる。
また、本発明は、複数のデータ転送チャネルを介して並列に実行される複数のデータ転送のうちいずれか1つのデータ転送を対応する転送制御情報に基づいて制御する複数のデータ転送制御装置に共通に接続され且つ少なくとも1つのデータ転送制御装置に対して当該データ転送制御装置が制御するデータ転送が終了したことを通知するデータ転送終了通知方法であって、少なくとも1つのデータ転送の終了を検知する転送終了検知ステップと、転送終了検知手段が少なくとも1つのデータ転送の終了を検知すると、対応するデータ転送制御装置に対して転送終了通知信号を送出する転送終了通知ステップとを含むデータ転送終了通知方法であってもよい。
本構成によれば、転送終了通知信号を送出するタイミングを適宜設定して、複数のデータ転送制御装置における転送制御情報の取得動作が互いに排他的に行われるようにすることができるので、複数のデータ転送制御装置により競合して1つの転送制御情報を取得する動作が行われることを防止できる。
また、本発明は、所定の読み出し順序で読み出される複数の転送制御情報と所定の読み出し順序を管理する管理情報とを保持する転送制御情報管理手段から1つの転送制御情報を読み出し、当該転送制御情報に基づいて複数のデータ転送チャネルのいずれか1つで行われるデータ転送を制御するデータ転送制御装置と、複数のデータ転送制御装置に共通に接続され且つ少なくとも1つのデータ転送制御装置に対して当該データ転送制御装置が制御するデータ転送が終了したことを通知するデータ転送終了通知装置とから構成されるデータ転送制御システムであって、転送制御情報の読み出し順序を示す自らが保持する順序情報を保持する順序情報保持手段と、転送制御情報管理手段から自らが保持する順序情報が示す読み出し順序で転送制御情報を読み出す転送制御情報読出手段と、転送制御情報に基づいたデータ転送が終了したことを認識する転送終了認識手段と、他のデータ転送制御装置それぞれが保持する他のデータ転送制御装置それぞれが保持する順序情報を他のデータ転送制御装置から取得する順序情報取得手段と、自らが保持する順序情報が示す読み出し順序と、他のデータ転送制御装置それぞれが保持する順序情報が示す読み出し順序との前後関係を判別する前後関係判別手段と、転送終了認識手段によりデータ転送が終了したことが認識され、且つ前後関係判別手段により自らが保持する順序情報が示す読出し順序が他のデータ転送制御装置それぞれが保持する順序情報が示す読み出し順序よりも前方と判別されると、管理情報を更新する管理情報更新手段とを有するデータ転送制御装置と、少なくとも1つのデータ転送の終了を検知する転送終了検知手段と、転送終了検知手段が少なくとも1つのデータ転送の終了を検知すると、対応するデータ転送制御装置に対して転送終了通知信号を送出する転送終了通知手段とを有するデータ転送終了通知装置とを備えることを特徴とするデータ転送制御システムであってもよい。
本構成によれば、各データ転送制御装置が、他のデータ転送制御装置とは独立して順次データ転送を実行でき、転送待ち時間の発生を防止しながらも、管理情報に基づいて所定の読み出し順序を参照して複数のデータ全ての転送が終了したか否かを認識できるので、データ転送のスループットの大幅な向上を実現するとともに、複数のデータ全ての転送終了を認識してから当該複数のデータを用いて処理を行う処理装置の誤動作を防止することができる。また、転送終了通知信号を送出するタイミングを適宜設定して、複数のデータ転送制御装置における転送制御情報の取得動作が互いに排他的に行われるようにすることができるので、複数のデータ転送制御装置により競合して1つの転送制御情報を取得する動作が行われることを防止できる。
実施の形態1に係るデータ転送制御装置で使用されるディスクリプタの概念図である。 実施の形態1に係る情報処理システムの構成図である。 実施の形態1に係るリングバッファの動作説明図である。 実施の形態1に係るリングバッファの管理情報の説明図である。 実施の形態1に係るライトポインタおよびオーバーラップフラグの動作説明図である。 実施の形態1に係るグローバルリードポインタおよびオーバーラップフラグの動作説明図である。 実施の形態1に係るデータ転送制御装置の構成図である。 実施の形態1に係る前後関係判別部の動作説明図である。 実施の形態1に係るローカルリードポインタおよびグローバルリードポインタの動作を説明する図である。 実施の形態1に係るローカルリードポインタおよびグローバルリードポインタの動作を説明する図である。 実施の形態1に係る最新リードポインタ抽出部の動作説明図である。 実施の形態1に係るディスクリプタ取得部の動作説明図である。 実施の形態1に係るデータ転送終了通知装置の構成図である。 実施の形態1に係る情報処理システムの動作を示すシーケンス図である。 実施の形態1に係るリングバッファの管理情報のタイムチャートである。 実施の形態1に係るリングバッファの管理情報の変化を説明した図である。 実施の形態1に係るデータ転送制御装置の動作に関するフローチャートである。 実施の形態1に係るデータ転送終了通知装置の動作に関するフローチャートである。 実施の形態2に係る情報処理システムの構成図である。 実施の形態2に係るデータ転送制御装置の構成図である。 実施の形態2に係る情報処理システムの動作を示すシーケンス図である。 変形例に係る情報処理システムの構成図である。 変形例に係るデータ転送終了通知装置の構成図である。 変形例に係るバッファの構成図である。 変形例に係るLSIをセット製品へ展開した例のイメージ図である。 従来例のDMA転送のタイムチャートである。 従来例のDMA転送のタイムチャートである。 他の従来例の情報処理システムの一部の構成図である。 他の従来例のDMA転送のタイムチャートである。 他の従来例のDMA転送のタイムチャートである。
<実施の形態1>
<1>データ
本実施の形態に係るデータ転送制御装置1061,1062,1063は、転送制御情報としてディスクリプタD3010を用いる。ディスクリプタD3010は、図1に示すように、転送元アドレスD3011、転送先アドレスD3012および転送するデータのサイズD3013より構成されている。転送元アドレスD3011および転送先アドレスD3012には、後述のIOバッファ1074または主記憶装置1010上のアドレスが設定される。転送するデータのサイズD3013には、バイト単位で表されたサイズ情報が設定されている。
<2>構成
<2−1>システム全体の構成
本実施の形態に係るデータ転送制御装置1061,1062,1063を含む情報処理システムのブロック図を図2に示す。
情報処理システムは、図2に示すように、SDXC対応のデバイス(以下、SDXCデバイスと称す。)1080が接続されるSDXCインターフェース1070と、主記憶装置1010と、CPU1000と、DMA(Direct Memory Access)転送を司る機構であるDMAコントローラ1030と、メモリコントローラ1020と、複数(図2に示す例では3つ)のデータ転送制御装置1061,1062,1063と、データ転送終了通知装置1040と、各データ転送制御装置1061,1062,1063で使用するディスクリプタを保持するリングバッファ1050とを含んで構成される。
3つのデータ転送制御装置1061,1062,1063と、データ転送終了通知装置1040とからデータ転送制御システム106が構成されている。
SDXCインターフェース1070は、SDXCデバイス1080から入力されるデータ、或るいは、SDXCデバイス1080に出力するデータを一時的に保存しておくためのIOバッファ1074を備える。SDXCインターフェース1070は、IOバッファ1074に保存されたデータをDMAコントローラ1030に3つの論理チャネルCH1,CH2,CH3を介して並列に転送できる。なお、SDXCデバイス1080としては、例えばWLANのような通信デバイスや、あるいはSDメモリカードのようなリムーバブルメディアがある。
DMAコントローラ1030は、IOバッファから論理チャネルCH1,CH2,CH3を介してメモリコントローラ1020にデータを転送する機能、およびメモリコントローラ1020から論理チャネルCH1,CH2,CH3を介してIOバッファ1074にデータを転送する機能を有する。
DMAコントローラ1030は、論理チャネルCH1,CH2,CH3毎にデータ転送の終了を検知し、データ転送終了通知装置1040に対してデータ転送が終了したことを通知する転送終了通知信号を送出する。転送終了通知信号には、データ転送が正常に終了したことを通知する正常終了通知信号と、データ転送に異常が発生したことを通知する異常終了通知信号とが含まれる。DMAコントローラ1030には、各論理チャネルCH1,CH2,CH3毎に、転送されたデータのチェックサムを計算するチェックサム計算部(図示せず)が設けられており、チェックサム計算部による計算結果が転送されたデータに含まれるチェックサム期待値に一致しなかった場合(チェックサムエラーが発生した場合)には、異常終了通知信号をデータ転送終了信号に含ませる。
メモリコントローラ1020は、DMAコントローラ1030から3つの論理チャネルCHS1,CHS2,CHS3を介して並列に転送されてくる複数のデータを主記憶装置1010に書き込んでいく。また、メモリコントローラ1020は、主記憶装置1010から複数のデータを読み込み、論理チャネルCHS1,CHS2,CHS3を介してDMAコントローラ1030に対して並列に転送する。
CPU1000は、後述のグローバルリードポインタRPgの値から、処理に必要なデータが全て主記憶装置1010に転送されたことを認識すると、主記憶装置1010にアクセスして処理を実行する。CPU1000は、データの転送を制御するためのディスクリプタD3010を生成し、リングバッファ1050に格納する機能も有する。
<2−2>リングバッファの構成
リングバッファ1050はDRAM(Dynamic Random Access Memory)やSRAM(Static RAM)等のメモリにより実現されており、3つのデータ転送制御装置1061,1062,1063により読み出される複数のディスクリプタD3010を記憶する。リングバッファ1050は、図2に示すように、最大で12個のディスクリプタD3010を記憶できる。なお、リングバッファ1050が、転送制御情報管理手段に相当する。
各ディスクリプタD3010は、FIFO方式で読み出し及び格納が行われる。
本実施の形態のリングバッファ1050では、ディスクリプタD3010が、CPU1000によりリングバッファ1050上におけるアドレスが最小の格納領域M51から、よりアドレスの大きい格納領域M52,M53,・・・へ順番に格納されている。そして、アドレスが最小の格納領域M51に格納されたディスクリプタD3010aから、順番に読み出される。
また、本実施の形態のリングバッファ1050では、後述のライトポインタWPの示すアドレスが後述のローカルリードポインタRPl1,RPl2,RPl3の示すアドレスのいずれよりも大きい場合、あるいは、後述のライトポインタWPの示すアドレスが後述のローカルリードポインタRPl1,RPl2,RPl3の示すアドレスのいずれよりも小さい場合には、ローカルリードポインタRPl1,RPl2,RPl3が示すアドレスの中で、アドレスの小さい格納領域に格納されているディスクリプタD3010ほど読み出し順序が前方となる。
一方、ローカルリードポインタRPllの示すアドレスだけがライトポインタWPの示すアドレスよりも大きく、他のローカルリードポインタRPl2,RPl3の示すアドレスがライトポインタWPの示すアドレスよりも小さい場合には、ローカルリードポインタRPl1の示すアドレスの格納領域に格納されているディスクリプタD3010の読み出し順序が前方になる。
つまり、ライトポインタの示すアドレスより大きいアドレスを示すローカルリードポインタが存在する場合は、ライトポインタの示すアドレスより大きいアドレスを示すローカルリードポインタの中で、最も小さいアドレスを示すローカルリードポインタの示すアドレスの格納領域に格納されているディスクリプタD3010の読み出し順序が最も前方になり、ライトポインタの示すアドレスより大きいアドレスを示すローカルリードポインタが存在しない場合は、全てのローカルリードポインタの中で、最も小さいアドレスを示すローカルリードポインタの示すアドレスに格納されているディスクリプタD3010の読み出し順序が最も前方になる。
図3(a)に示す例では、CPU1000により、初めに最小のアドレス“x0001”の格納領域M51にディスクリプタD3010aが格納され、その後、アドレス“x0002”の格納領域M52、アドレス“x0003”の格納領域M53、アドレス“x0004”の格納領域M54の順番でディスクリプタD3010b,D3010c,D3010dが格納される。一方、図3(b)に示すように、各データ転送制御装置1061,1062,1063は、最初に格納されたディスクリプタD3010aから順番に読み出す。
<2−2−1>管理情報
リングバッファ1050は、管理情報として、ライトポインタWPとグローバルリードポインタRPgとオーバーラップフラグORFとを保持する。ライトポインタWP、グローバルリードポインタRPおよびオーバラップフラグORFは、メモリ上の変数や、レジスタにより実現されている。
ライトポインタWPは、リングバッファ1050へ新たなディスクリプタD3010が格納されると更新される。図4に示すように、格納領域M61に新たなディスクリプタD3010dが格納されると、ライトポインタWPの値は、格納領域M62のアドレス“x0011”に更新される。ライトポインタWPが示す値よりも大きいアドレスの格納領域M62は、空き領域になっている。なお、ライトポインタWPは、最終順序情報に相当する。
グローバルリードポインタRPgは、図4に示すように、後述のローカルリードポインタRPl1,RPl2,RPl3のうち値が最小のローカルリードポインタ(図4ではRPl1)が示すディスクリプタD3010aよりも読み出し順序が前方のディスクリプタD3010eが格納された格納領域M52のアドレスを示す。
このグローバルリードポインタRPgは、複数のデータ転送のうちどこまで確実に終了しているかを表すことになる。グローバルリードポインタRPgが、ディスクリプタD3010eが格納された格納領域M52のアドレスを示していれば、ディスクリプタd3010eの読み出し順序よりも読み出し順序が前方のディスクリプタD3010に基づくデータ転送が全て終了している。
オーバラップフラグORFは、図5に示すように、新たなディスクリプタD3010dが格納領域M51に格納され、ライトポインタWPの値が更新される際、更新前のライトポインタWPの値(図5では、“x0012”)が更新後のライトポインタWPの値(図5では“x0001”)よりも大きいと、“1”(イネーブル状態)に設定される。
一方、図6に示すように、データ転送制御装置1061,1062,1063のいずれかにより、グローバルリードポインタRPgが更新される際、更新前のリードポインタの値(図6では“x0012”)が更新後のリードポインタの値(図6では“x0001”)よりも大きいと、オーバラップフラグORFは、“0”(ディセーブル状態)に設定される。
<2−3>データ転送制御装置の構成
データ転送制御装置1061は、SDXCインターフェース1070とDMAコントローラ1030との間で論理チャネルCH1を介したデータ転送を制御する。なお、データ転送制御装置1062,1063の構成は、データ転送制御装置1061の構成と同じなので説明を省略する。
データ転送制御装置1061は、図7に示すように、ディスクリプタ取得部5008と、ローカルリードポインタ保持部5007と、転送終了通知信号受信部5000と、ローカルリードポインタ取得部5001と、前後関係判別部5003と、リードポインタ更新部5004と、最新リードポインタ抽出部5005と、ライトポインタ取得部5002と、ライトポインタ更新確認部5006と、ディスクリプタ取得完了通知部5009と、データ転送制御装置1061,1062,1063は、転送終端部5011と、ディスクリプタ設定部5010と、データ転送起動要求受信部5012とを含んで構成される。
<2−3−1>ライトポインタ取得部
ライトポインタ取得部5002は、リングバッファ1050からライトポインタWPの値を取得する。なお、ライトポインタ取得部5002は、最終順序情報取得手段に相当する。
<2−3−2>ローカルリードポインタ保持部
ローカルリードポインタ保持部5007は、図8(a),(b)に示すように、当該ローカルリードポインタ保持部5007が属するデータ転送制御装置1061が使用するディスクリプタD3010aが格納されている格納領域M51(M57)を示すローカルリードポインタ(第1のローカルリードポインタ)RPl1を保持する。なお、ローカルリードポインタ保持部5007が、順序情報保持手段に相当する。
<2−3−3>転送終了通知信号受信部
転送終了通知信号受信部5000は、データ転送終了通知装置1040から送出される転送終了通知信号を受信するとディスクリプタD3010aに基づくデータ転送が終了したことを認識する。なお、転送終了通知信号受信部5000は、転送終了認識手段に相当する。
更に、転送終了通知信号受信部5000は、転送終了通知信号に含まれる異常終了信号または正常終了信号に基づいて、データ転送が正常終了したか異常終了したかを認識することができる。
転送終了通知信号受信部5000は、受信したデータ転送終了通知信号に異常終了信号が含まれる場合、異常終了信号をディスクリプタ取得完了通知部5009および転送終端部5011に対して出力し、一方、データ転送終了通知信号に正常終了信号が含まれる場合、正常終了信号をディスクリプタ取得完了通知部5009、転送終端部5011およびローカルリードポインタ取得部5001に対して出力する。
<2−3−4>ローカルリードポインタ取得部
ローカルリードポインタ取得部5001は、他のデータ転送制御装置1062,1063が保持するローカルリードポインタ(第2のローカルリードポインタ)RPl2,RPl3の値を取得する。このローカルリードポインタRPl2,RPl3は、他のデータ転送制御装置1062,1063それぞれが使用するディスクリプタD3010b,D3010cが格納されている格納領域M52,M53を示す。なお、ローカルリードポインタ取得部5001が、順序情報取得手段に相当する。
ローカルリードポインタ取得部5001は、転送終了通知信号受信部5000から正常終了信号を受信したときに、他のデータ転送制御装置1062,1063からローカルリードポインタRPl2,RPl3の値を取得する。
<2−3−5>前後関係判別部
前後関係判別部5003は、ローカルリードポインタRPl1の値とローカルリードポインタRPl2,RPl3の値それぞれとを比較して、ディスクリプタD3010a,D3010b,D3010cそれぞれの読み出し順序の前後関係を判別する。なお、前後関係判別部5003は、前後関係判別手段に相当する。
また、前後関係判別部5003は、ライトポインタWPの値と最新リードポインタ抽出部5005(詳細を後述)により抽出される最新リードポインタの値とを比較する最終順序比較手段としても機能する。
ところで、前後関係判別部5003は、まず、ライトポインタWPの値とローカルリードポインタRPl1,RPl2,RPl3の値との大小関係を比較した後に、ローカルリードポインタRPl1,RPl2,RPl3の値に基づいて、ローカルリードポインタRPl1が示すアドレスの格納領域に格納されたディスクリプタD3010aの読み出し順序と、ローカルリードポインタRPl2,RPl3それぞれが示すアドレスの格納領域に格納されたディスクリプタD3010b,D3010cの読み出し順序の前後関係を判別する。
ここで、前後関係判別部5003は、ライトポインタWPの値とローカルリードポインタRPl1,RPl2,RPl3の値とを大小関係を比較して、ライトポインタWPの示すアドレスより大きいアドレスを示すローカルリードポインタが存在する場合は、ローカルリードポインタローカルリードポインタRPl1,RPl2,RPl3が示すアドレスのうちライトポインタWPの示すアドレスより大きいアドレスの中で、最も小さいアドレスの格納領域に格納されているディスクリプタの読み出し順序を最も前方と判別する。
一方、ライトポインタWPの示すアドレスより大きいアドレスを示すローカルリードポインタが存在しない場合は、ローカルリードポインタRPl1,RPl2,RPl3が示す全てのアドレスの中で最も小さいアドレスに格納されているディスクリプタD3010の読み出し順序が最も前方と判別する。
例えば、図8(a)に示すように、リングバッファ1050が、最大で12個のディスクリプタD3010を格納できるだけの格納領域M51,M52,・・・,M62を有するとする。この場合、ライトポインタWPの値が“x0005”、ローカルリードポインタRPl1の値が“x0001”、ローカルリードポインタRPl2の値が“x0002”、ローカルリードポインタRPl3の値が“x0004”であるとすると、ローカルリードポインタRPl1,RPl2,RPl3の値はいずれもライトポインタWPの値よりも小さいので、ローカルリードポインタRPl1,RPl2,RPl3の示すアドレスの中で最も小さいアドレス“x0001”に格納されたディスクリプタD3010aの読み出し順序が最も前方と判別する。
一方、図8(b)に示すように、ライトポインタWPの値が“x0004”、ローカルリードポインタRPl1の値が“x0011”、ローカルリードポインタRPl2の値が“x0012”、ローカルリードポインタRPl3の値が“x0002”であるとすると、ローカルリードポインタRPl1,RPl2の値がライトポインタWPの値よりも大きく、ローカルリードポインタRPl3の値がライトポインタWPの値よりも小さいので、ローカルリードポインタRPl1,RPl2の示すアドレスの中で最も小さいアドレス“x0011”に格納されたディスクリプタD3010aの読み出し順序が最も前方と判別する。
<2−3−6>リードポインタ更新部
リードポインタ更新部5004は、転送終了通知信号受信部5000によりディスクリプタD3010aに基づくデータ転送の終了が認識されると、ローカルリードポインタRPl1が示すディスクリプタD3010aの読出し順序が、他のデータ転送制御装置1062,1063それぞれが保持するローカルリードポインタRPl2,RPl3が示すディスクリプタD3010b,D3010cの読み出し順序よりも前方であれば、グローバルリードポインタRPgの値をローカルリードポインタRPl1の値を用いて更新する。
このことを図9で説明すると、ライトポインタWPの値が“x0005”、ローカルリードポインタRPl1の値が“x00011”、ローカルリードポインタRPl2の値が“x0012”、ローカルリードポインタRPl3の値が“x0003”であるとする。この場合、ライトポインタWPの値とローカルリードポインタRPl1の値との差は、“6”であり、ライトポインタWPの値とローカルリードポインタRPl2の値との差は、“5”であり、ライトポインタWPの値とローカルリードポインタRPl3の値との差は、“2”となる。
すると、前後関係判別部5003は、ローカルリードポインタRPl1が示すディスクリプタD3010aの読み出し順序がローカルリードポインタRPl2,RPl3が示すディスクリプタD3010b,D3010cの読出し順序よりも前方と判別する。
このときリードポインタ更新部5004は、ディスクリプタD3010aに基づくデータ転送の終了が認識されると、グローバルリードポインタRPgの値“x0010”をローカルリードポインタRPl1の値“x0011”を用いて更新する。
一方、リードポインタ更新部5004は、転送終了通知信号受信部5000によりディスクリプタD3010aに基づくデータ転送の終了が認識されたときにおいて、前後関係判別部5003によりデータ転送制御装置1061が保持するディスクリプタD3010aの読み出し順序が他のデータ転送制御装置1062,1063が保持するディスクリプタD3010b,D3010cの読出し順序よりも前方ではないと判別された場合、グローバルリードポインタRPgの値をローカルリードポインタRPl1の値を用いて更新をしない。
このことを図10で説明すると、ライトポインタWPの値が“x0005”、ローカルリードポインタRPl1の値が“x0004”、ローカルリードポインタRPl2の値が“x0012”、ローカルリードポインタRPl3の値が“x0003”であるとすると、ライトポインタWPの値とローカルリードポインタRPl1の値との差は、“1”であり、ライトポインタWPの値とローカルリードポインタRPl2の値との差は、“5”であり、ライトポインタWPの値とローカルリードポインタRPl3の値との差は、“2”となる。
この場合、前後関係判別部5003は、ローカルリードポインタRPl1が示すディスクリプタD3010aの読み出し順序がローカルリードポインタRPl2,RPl3が示すディスクリプタD3010b,D3010cの読出し順序よりも前方ではないと判別するので、リードポインタ更新部5004は、グローバルリードポインタRPgの値“x0011”をローカルリードポインタRPl1の値“x0004”を用いて更新をしない。
また、リードポインタ更新部5004は、図6(a)(b)に示すように、グローバルリードポインタRPgの値を更新する際、更新前のグローバルリードポインタRPgの値“x0012”が、更新後のグローバルリードポインタRPgの値“x0001”よりも大きいとオーバラップフラグORFを“0”(ディセーブル状態)に設定する。
<2−3−7>最新リードポインタ抽出部
最新リードポインタ抽出部5005は、ローカルリードポインタ保持部5007が保持するローカルリードポインタRPl1の値、およびローカルリードポインタ取得部5001が他のデータ転送制御装置1062,1063から取得するローカルリードポインタRPl2,RPl3の値を比較するローカルリードポインタ比較手段(図示せず)を備え、ローカルリードポインタRPl1,RPl2,RPl3の値同士を比較して、ローカルリードポインタRPl1,RPl2,RPl3の中から、ライトポインタWPの値との差が最も小さいローカルリードポインタを最新リードポインタとして抽出する。
このことを図11(a)で説明すると、ライトポインタWPの値が“x0010”、ローカルリードポインタRPl1の値が“x0003”、ローカルリードポインタRPl2の値が“x0004”、ローカルリードポインタRPl3の値が“x0006”であるとすると、ライトポインタWPの値とローカルリードポインタRPl1の値との差は、“7”であり、ライトポインタWPの値とローカルリードポインタRPl2の値との差は、“6”であり、ライトポインタWPの値とローカルリードポインタRPl3の値との差は、“4”となる。
この場合、ローカルリードポインタ比較手段は、ローカルリードポインタRPl3の値とライトポインタWPの値との相対的な差が最も小さいと判断するので、最新リードポインタ抽出部5005は、ローカルリードポインタRPl3を最新リードポインタとして抽出する。
また、図11(b)で説明すると、ライトポインタWPの値が“x0005”、ローカルリードポインタRPl1の値が“x0011”、ローカルリードポインタRPl2の値が“x0012”、ローカルリードポインタRPl3の値が“x0003”であるとすると、ライトポインタWPの値とローカルリードポインタRPl1の値との差は、“6”であり、ライトポインタWPの値とローカルリードポインタRPl2の値との差は、“5”であり、ライトポインタWPの値とローカルリードポインタRPl3の値との差は、“2”となる。
この場合、ローカルリードポインタ比較手段は、ローカルリードポインタRPl3の値とライトポインタWPの値との相対的な差が最も小さいと判断するので、最新リードポインタ抽出部5005は、ローカルリードポインタRPl3を最新リードポインタとして抽出する。
<2−3−8>ライトポインタ更新確認部
ライトポインタ更新確認部5006は、リングバッファ1050に新たなディスクリプタD3010が格納されたときに生じるライトポインタWPの値の更新を検出する。なお、ライトポインタ更新確認部5006は、最終順序情報更新検出手段に相当する。
<2−3−9>ディスクリプタ取得部
ディスクリプタ取得部5008は、ローカルリードポインタ保持部5007に保持されているローカルリードポインタRPl1の値に従って、リングバッファ1050上における当該ローカルリードポインタRPl1の示す格納領域に格納されているディスクリプタD3010a(図7参照)を取得する動作を行い、ディスクリプタD3010aの取得が完了すると、ディスクリプタ取得完了信号をディスクリプタ取得完了通知部5009に対して出力する。なお、ディスクリプタ取得部5008は、転送制御情報読出手段に相当する。
ディスクリプタ取得部5008は、転送終了通知信号受信部5000によりデータ転送が正常終了したと認識されると新たに第3のディスクリプタD3010を取得する動作を行い、転送終了通知信号受信部5000によりデータ転送が異常終了したと認識されると、新たに第3のディスクリプタD3010を取得する動作を行わない。
更に、ディスクリプタ取得部5008は、前後関係判別部5003によりライトポインタWPの値と最新リードポインタの値とが等しく、且つ、オーバーラップフラグORFが“0”(ディセーブル)に設定されていると判定されると、新たにディスクリプタD3010を取得する動作を行わない。
このことを図12(a)で説明すると、ディスクリプタD3010bに基づくデータ転送の終了が認識されたときであって、ライトポインタWPの値と最新リードポインタの値とが同じと判定された場合、最新リードポインタ抽出部5005はローカルリードポインタ保持部5007が保持するローカルリードポインタRPl2の値を更新せず、ディスクリプタ取得部5008が、ディスクリプタD3010を取得する動作を行わないようにしている。このようにして、ディスクリプタ取得部5008が、すでに実行が終了したデータ転送に対応するディスクリプタD3010を取得してしまうことを防止している。
ライトポインタWPの値と最新リードポインタの値とが等しいと判定された後において、図12(b)に示すように、CPU1000から新たなディスクリプタD3010eが格納され、ライトポインタ更新確認部5006がライトポインタWPの値の更新を検出すると、ディスクリプタ取得部5008は、最新リードポインタであるローカルリードポインタRPl3が示す格納領域M55に格納されたディスクリプタD3010cの次にリングバッファ1050から読み出される新たなディスクリプタD3010eを取得する動作が可能となる。
<2−3−10>ディスクリプタ取得完了通知部
ディスクリプタ取得完了通知部5009は、ディスクリプタ取得部5008によるディスクリプタD3010aの取得が完了し、ディスクリプタ取得部5008からディスクリプタ取得完了信号が入力され、更に、ローカルリードポインタ保持部5007が保持するローカルリードポインタRPl1の値が更新されると、転送制御情報取得完了信号であるディスクリプタ取得完了通知信号を送出する転送制御情報取得完了通知手段を構成する。
<2−3−11>転送終端部
転送終端部5011は、DMAコントローラ1030とSDXCインターフェース1070との間で論理チャネルCH1,CH2,CH3を介して行われるデータ転送の終端処理を行う。例えば、転送終端部5011は、DMAコントローラ1030が保持する制御レジスタのうち、データ転送制御を行うデータ転送が行われた論理チャネルCH1,CH2,CH3に対応する制御レジスタにデータ転送の終了を示す規定値の書き込みや、CPUに対する転送終了割り込み処理を行う。
<2−3−12>ディスクリプタ設定部
ディスクリプタ設定部5010は、データ転送起動要求受信部5012から起動要求信号を受信すると、ディスクリプタ取得部5008が取得したディスクリプタD3010の示す情報に基づいて、DMAコントローラ1030およびSDXCインターフェース1070に対して、データ転送の設定を行い、DMAコントローラ1030にデータ転送を開始させる。
<2−3−13>データ転送起動要求受信部
データ転送起動要求受信部5012は、DMAコントローラ1030、又はSDXCインターフェース1070から送出されるデータ転送起動要求信号を受信すると、ディスクリプタ設定部5010に対して起動要求信号を出力する。
<2−4>データ転送終了通知装置の構成
データ転送終了通知装置1040は、図13に示すように、3つの論理チャネルCH1,CH2,CH3を介して並列に実行される複数のデータ転送のうちいずれか1つのデータ転送を対応するディスクリプタD3010に基づいて制御する3つのデータ転送制御装置1061,1062,1063に共通に接続されている。ここで、データ転送終了通知装置1040は、DMAコントローラ1030からデータ転送が終了したことの通知を受けると、データ転送制御装置1061,1062,1063に対してデータ転送が終了したことを通知する。
また、データ転送終了通知装置1040は、図13に示すように、3つの論理チャネル転送終了検知部4011,4012,4013と、3つの論理チャネル転送終了通知部4031,4032,4033と、優先度判断部4020と、ディスクリプタ取得完了通知信号受信部4041,4042,4043とを含んで構成される。
ここで、論理チャネル転送終了検知部4011、論理チャネル転送終了通知部4031およびディスクリプタ取得完了通知信号受信部4041は、論理チャネルCH1を介したデータ転送の制御に関連する。また、論理チャネル転送終了検知部4012、論理チャネル転送終了通知部4032およびディスクリプタ取得完了通知信号受信部4042は、論理チャネルCH2を介したデータ転送の制御に関連する。更に、論理チャネル転送終了検知部4013、論理チャネル転送終了通知部4033およびディスクリプタ取得完了通知信号受信部4043は、論理チャネルCH3を介したデータ転送の制御に関連する。
<2−4−1>論理チャネル転送終了通知部
論理チャネル転送終了通知部4031は、論理チャネル転送終了検知部4011がDMAコントローラ1030からデータ転送が終了した旨の通知を受けると、対応するデータ転送制御装置1061に対して転送終了通知信号を送出する転送終了通知手段を構成する。なお、論理チャネル転送終了通知部4032は、論理チャネル転送終了検知部4012がDMAコントローラ1030からデータ転送が終了した旨の通知を受けると、対応するデータ転送制御装置1062に対して転送終了通知信号を送出し、論理チャネル転送終了通知部4033は、論理チャネル転送終了検知部4013がDMAコントローラ1030からデータ転送が終了した旨の通知を受けると、対応するデータ転送制御装置1063に対して転送終了通知信号を送出する。
<2−4−2>ディスクリプタ取得完了通知信号受信部
ディスクリプタ取得完了通知信号受信部4041は、データ転送制御装置1061からディスクリプタ取得完了通知信号を受信すると、ディスクリプタD3010の取得が完了したことを認識する転送制御情報取得完了認識手段を構成する。なお、ディスクリプタ取得完了通知信号受信部4042は、データ転送制御装置1062からディスクリプタ取得完了通知信号を受信すると、ディスクリプタD3010の取得が完了したことを認識し、ディスクリプタ取得完了通知信号受信部4043は、データ転送制御装置1063からディスクリプタ取得完了通知信号を受信すると、ディスクリプタD3010の取得が完了したことを認識する。
<2−4−3>論理チャネル転送終了検知部
論理チャネル転送終了検知部4011,4012,4013は、DMAコントローラ1030から論理チャネルCH1,CH2,CH3毎に送出されるデータ転送終了通知信号のうち少なくとも1つのデータ転送終了通知信号を受信することにより、少なくとも1つのデータ転送の終了を検知する転送終了検知手段を構成する。また、各論理チャネル転送終了検知部4011,4012,4013は、データ転送終了通知信号を受信すると、優先度判断部4020に対して当該データ転送終了通知信号を出力する。
また、論理チャネル転送終了検知部4011,4012,4013は、データ転送が正常終了したか異常終了したかを検知し、論理チャネル転送終了通知部4031,4032,4033に対して、対応するデータ転送制御装置1061,1062,1063に終了結果通知信号を送出させる終了結果検知手段(図示せず)を備える。
ここで、終了結果検知手段は、転送されるデータにチェックサムエラーが発生すると、データ転送が異常終了したと検知する。
<2−4−4>優先度判断部
優先度判断部4020は、3つの論理チャネル終了検知部4011,4012,4013において2以上のデータ転送の終了を同時に検知したときに、論理チャネル転送終了通知部4031,4032,4033に対して、最も優先度の高い論理チャネルCH1,CH2,CH3に対応するデータ転送制御装置1061,1062,1063にのみ対して転送終了通知信号を送出させる。
ここで、優先度判断部4020は、予め論理チャネルCH1,CH2,CH3間での優先度に関する情報を保持しており、優先度判断部4020は、2つ以上の論理チャネルのデータ転送終了通知信号が同時に優先度判断部4020に入力された場合、自らが保持する優先度に従って、最も優先順位の高い論理チャネル(例えば、論理チャネルCH1)に対応する論理チャネル転送終了通知部4031のみに転送終了通知信号を出力させる。ここにおいて、優先度判断部4020は、各論理チャネル転送終了検知部4011,4012,4013から入力されるデータ転送終了検知信号の有無を優先度の高い論理チャネルCH1から順番に確認していき、データ転送終了検知信号の入力があったことが確認された時点で、当該データ転送終了検知信号を対応する論理チャネル転送終了通知部(例えば、論理チャネル転送終了通知部4031)に送出する。
ここにおいて、優先度判断部4020は、例えば、論理チャネル転送終了通知部4031に対して、データ転送終了通知信号を出力した後、ディスクリプタ取得完了通知信号受信部4041からのディスクリプタ取得完了通知信号を受信するまで、他の論理チャネル転送終了通知部4032,4033に対してデータ転送終了通知信号を送出させないようになっている。
<3>動作
次に、本実施の形態に係る情報処理システムの中で、本実施の形態の特徴となるデータ転送制御装置およびデータ転送終了通知装置の動作について説明する。
<3−1>全体動作
DMAコントローラ1030、データ転送終了通知装置1040、リングバッファ1050および3つのデータ転送制御装置1061,1062,1063相互間のシーケンス図を図14に示し、図14に示すシーケンスで動作が行われた場合における各チャネルCH1,CH2,CH3の状態、各データ転送制御装置1061,1062,1063が保持するローカルリードポインタRPl1,RPl2,RPl3の値、およびグローバルリードポインタRPgの値の経時変化を表すタイムチャートを図15に示す。また、リングバッファ1050の状態を図16に示す。以下、図14から図16に基づいて説明する。
時刻T1で、DMAコントローラ1030からデータ転送終了通知装置1040に対してチャネルCH2でのデータ転送が終了した旨が通知されると、データ転送終了通知装置1040は、データ転送制御装置1062に対して、転送終了通知信号を送出する。
転送終了通知信号を受信したデータ転送制御装置1062は、データ転送制御装置1061からローカルリードポインタRPl1の値を取得し,データ転送制御装置1063からローカルリードポインタRPl3の値を取得する。
そして、データ転送制御装置1062が備える前後関係判別部が、ローカルリードポインタRPl1,RPl2,RPl3が示すディスクリプタD3010a1,D3010b1,D3010c1の読み出し順序の前後関係を判別する。図15、図16に示すように、時刻T1では、ローカルリードポインタRPl1,RPl2,RPl3の値の中でローカルリードポインタRPl2の値が最小ではない。よって、データ転送装置1062が備えるリードポインタ更新部は、グローバルリードポインタRPgの値を更新しない。
次に、前後関係判別部が、最新リードポインタの値とライトポインタWPの値とを比較して、最新リードポインタの値とライトポインタWPの値とが一致していないことを確認すると、最新リードポインタ抽出部が、最新リードポインタであるローカルリードポインタRPl3が示すアドレス“x0007”の次のアドレス“x0008”で、ローカルリードポインタ保持部が保持するローカルリードポインタRPl2の値を更新する。その後、ディスクリプタ取得部は、ローカルリードポインタRPl2の示す値に従って、格納領域M58に格納されているディスクリプタD3010b2を取得する動作を行う。
一方、前後関係判別部が、最新リードポインタの値とライトポインタWPの値とを比較して、最新リードポインタの値とライトポインタWPの値とが一致していることを確認すると、最新リードポインタ抽出部5005は、ローカルリードポインタ保持部が保持するローカルリードポインタRPl2の値を更新しない。従って、ディスクリプタ取得部は、ディスクリプタを取得する動作を行わない。この場合、ディスクリプタ取得部は、ライトポインタWPの値の更新が確認された後に、ディスクリプタを取得する動作を行う。
その後、ディスクリプタ取得部が、ディスクリプタD3010b2の取得を完了すると、ディスクリプタ取得完了通知部が、ディスクリプタ取得完了通知信号をデータ転送終了通知装置1040に送出する。
続いて、ディスクリプタ設定部が、取得したディスクリプタD3010b2に基づいてDMAコントローラ1030を設定する。
時刻T2で、DMAコントローラ1030からデータ転送終了通知装置1040に対してチャネルCH1でのデータ転送が終了した旨が通知されると、データ転送終了通知装置1040は、データ転送制御装置1061に対して、転送終了通知信号を送出する。
転送終了通知信号を受信したデータ転送制御装置1061は、データ転送制御装置1062からローカルリードポインタRPl2の値“x0008”を取得し,データ転送制御装置1063からローカルリードポインタRPl3の値“x0007”を取得する。
そして、前後関係判別部5003が、ローカルリードポインタRPl1,RPl2,RPl3が示すディスクリプタD3010a1,D3010b2,D3010c1の読み出し順序の前後関係を判別する。図15、図16に示すように、時刻T2では、ローカルリードポインタRPl1の値は、ローカルリードポインタRPl2、RPl3の値のいずれよりも小さいので、グローバルリードポインタRPgの値をローカルリードポインタRPl1の値“x0003”で更新する。
次に、前後関係判別部5003が、最新リードポインタの値とライトポインタWPの値とを比較して、最新リードポインタの値とライトポインタWPの値とが一致していないことを確認すると、最新リードポインタ抽出部5005が、最新リードポインタであるローカルリードポインタRPl2が示すアドレス“x0008”の次のアドレス“x0009”で、ローカルリードポインタ保持部5007が保持するローカルリードポインタRPl1の値を更新する。その後、ディスクリプタ取得部5008は、ローカルリードポインタRPl1の示す値に従って、格納領域M59に格納されているディスクリプタD3010a2を取得する動作を行う。
一方、前後関係判別部5003が、最新リードポインタの値とライトポインタWPの値とを比較して、最新リードポインタの値とライトポインタWPの値とが一致していることを確認すると、最新リードポインタ抽出部5005は、ローカルリードポインタ保持部5007が保持するローカルリードポインタRPl1の値を更新しない。従って、ディスクリプタ取得部5008は、ディスクリプタを取得する動作を行わない。この場合、ディスクリプタ取得部5008は、ライトポインタWPの値の更新が確認された後に、ディスクリプタを取得する動作を行う。
その後、ディスクリプタ取得部5008が、ディスクリプタD3010a2の取得を完了すると、ディスクリプタ取得完了通知部5009が、ディスクリプタ取得完了通知信号をデータ転送終了通知装置1040に送出する。
続いて、ディスクリプタ設定部5010が、取得したディスクリプタD3010a2に基づいてDMAコントローラ1030を設定する。
時刻T4で、DMAコントローラ1030からデータ転送終了通知装置1040に対してチャネルCH3でのデータ転送が終了した旨が通知されると、データ転送終了通知装置1040は、データ転送制御装置1063に対して、転送終了通知信号を送出する。
転送終了通知信号を受信したデータ転送制御装置1063は、データ転送制御装置1061からローカルリードポインタRPl1の値“x0009”を取得し,データ転送制御装置1062からローカルリードポインタRPl2の値“x0010”を取得する。
そして、データ転送制御装置1063が備える前後関係判別手段が、ローカルリードポインタRPl1,RPl2,RPl3が示すディスクリプタD3010a2,D3010b3,D3010c1の読み出し順序の前後関係を判別する。図15、図16に示すように、時刻T4では、ローカルリードポインタRPl3の値は、ローカルリードポインタRPl1、RPl2の値のいずれよりも小さいので、グローバルリードポインタRPgの値をローカルリードポインタRPl3の値“x0007”で更新する。
次に、前後関係判別部が、最新リードポインタの値とライトポインタWPの値とを比較して、最新リードポインタの値とライトポインタWPの値とが一致していないことを確認すると、最新リードポインタ抽出部が、最新リードポインタであるローカルリードポインタRPl2が示すアドレス“x0010”の次のアドレス“x0011”で、ローカルリードポインタ保持部が保持するローカルリードポインタRPl3の値を更新する。その後、ディスクリプタ取得部は、ローカルリードポインタRPl3の示す値に従って、格納領域M61に格納されているディスクリプタD3010c2を取得する動作を行う。
一方、前後関係判別部が、最新リードポインタの値とライトポインタWPの値とを比較して、最新リードポインタの値とライトポインタWPの値とが一致していることを確認すると、最新リードポインタ抽出部は、ローカルリードポインタ保持部が保持するローカルリードポインタRPl3の値を更新しない。従って、ディスクリプタ取得部は、ディスクリプタを取得する動作を行わない。この場合、ディスクリプタ取得部は、ライトポインタWPの値の更新が確認された後に、ディスクリプタを取得する動作を行う。
その後、ディスクリプタ取得部が、ディスクリプタD3010c2の取得を完了すると、ディスクリプタ取得完了通知部が、ディスクリプタ取得完了通知信号をデータ転送終了通知装置1040に送出する。
続いて、ディスクリプタ設定部が、取得したディスクリプタD3010c2に基づいてDMAコントローラ1030を設定する。
<3−2>データ転送制御装置の動作
本実施の形態に係るデータ転送制御装置1061の動作について図17に基づいて更に詳細に説明する。
まず、転送終了通知信号受信部5000が、データ転送終了通知装置1040から送出される転送終了通知信号を受信したか否かを判断し(ステップS7010)、転送終了通知信号の入力がない場合には、ステップS7010の直前の段階に移行する。一方、ステップS7010において、転送終了通知信号受信部500が転送終了通知信号を受信すると、ステップS7011に移行する。
次に、転送終了通知信号受信部5000が、転送終了通知信号に正常終了信号および異常終了信号のいずれが含まれるかを判断し(ステップS7011)、異常終了信号が含まれる(正常終了しなかった)と判断すると、異常終了信号に係るデータ転送を再度行うために、ディスクリプタ取得完了通知部5009に対して、当該異常終了信号に係るデータ転送に対応するディスクリプタD3010の取得が完了したことを通知するディスクリプタ取得完了通知信号を送出させる(ステップS7021)
一方、ステップS7011において、転送終了通知信号受信部5000が、正常終了信号が含まれる(正常終了した)と判断すると、ローカルリードポインタ取得部5001が、を他のデータ転送制御装置1062,1063それぞれからローカルリードポインタRPl2,RPl3の値を取得するとともに(ステップS7012)、ライトポインタ取得部5002が、ライトポインタWPの値を確認する(ステップS7013)。
ここで、転送終端部5011は、ステップS7011においてデータ転送が正常終了したか異常終了したかを判別した後に、その判別結果に応じて、対応する論理チャネルCH1を介して行われるデータ転送の終端処理を行う。
その後、前後関係判別部5003が、ライトポインタWPの値に対するローカルリードポインタRPl1,RPl2,RPl3の値それぞれの差を互いに比較して、ローカルリードポインタRPl1が示すディスクリプタD3010の読み出し順序が、ローカルリードポインタRPl2,RPl3が示すディスクリプタD3010の読み出し順序よりも前方であるか否かを判別する(ステップS7014)。
ここで、ローカルリードポインタRPl1が示すディスクリプタD3010の読み出し順序が、ローカルリードポインタRPl2,RPl3が示すディスクリプタD3010の読み出し順序よりも前方ではないと判別されると(ステップS7014:No)、ステップS7016に移行する。
一方、ローカルリードポインタRPl1が示すディスクリプタD3010の読み出し順序が、ローカルリードポインタRPl2,RPl3が示すディスクリプタD3010の読み出し順序よりも前方と判別されると(ステップS7014:Yes)、グローバルリードポインタRPgの値をローカルリードポインタRPl1の値を用いて更新し(ステップS7015)、ステップS7016に移行する。
ステップS7016では、最新リードポインタ抽出部5005が、ローカルリードポインタRPl1,RPl2,RPl3が示すディスクリプタD3010の中でリングバッファ1050から最後に読み出されたディスクリプタD3010が格納されていた格納領域を示すローカルリードポインタを最新リードポインタとして抽出する(ステップS7016。
そして、前後関係判別部5003が、ライトポインタWPの値と最新リードポインタの値とが等しいか否かを判別し(ここでは、オーバーラップフラグORFの状態も参照して判別が行われる)(ステップS7017)、ライトポインタWPの値と最新リードポインタの値とが等しくないと判断すると(ステップS7014:No)、最新リードポインタ抽出部5005が、最新リードポインタの値が示すアドレスの次のアドレスをローカルリードポインタ保持部5007に通知する。
最新リードポインタの値が示すアドレスの次のアドレスの通知を受けたローカルリードポインタ保持部5007は、自らが保持するローカルリードポインタRPl1の値を通知されたアドレスで更新する(ステップS7019)。
一方、ステップS7017において、前後関係判別部5003が、ライトポインタWPの値と最新リードポインタの値とが等しいと判断すると(ステップS7014:Yes)、ライトポインタ更新確認部5006が、ライトポインタWPの値が更新されたか否かを判断し(ステップS7015)、ライトポインタWPの値が更新されていないと判断すると(S7015:No)、再び、ステップS7015の前段階に移行する。
一方、ライトポインタ更新確認部5006が、ライトポインタWPの値が更新されたと判断すると(S7015:Yes)、最新リードポインタ抽出部5005が、最新リードポインタの値が示すアドレスの次のアドレスをローカルリードポインタ保持部5007に通知する。
最新リードポインタの値が示すアドレスの次のアドレスの通知を受けたローカルリードポインタ保持部5007は、自らが保持するローカルリードポインタRPl1の値を通知されたアドレスで更新する(ステップS7019)。
そして、ディスクリプタ取得部5008が、ローカルリードポインタ保持部5007が保持するローカルリードポインタRPl1の値に従って、新たなディスクリプタD3010を取得する(ステップS7020)。その後、ディスクリプタ取得完了通知部5009が、データ転送終了通知装置1040に対してディスクリプタ取得が完了したことを通知するディスクリプタ取得完了通知信号を送出する(ステップS7021)。
次に、データ転送起動要求受信部5012が、DMAコントローラ1030又はSDXCインターフェース1070から送出されるデータ転送起動要求信号を受信したか否かを判断し(ステップS7022)、データ転送起動要求信号を受信してないと判断すると(ステップS7022:No)、再び、ステップS7022の直前の段階に移行する。
一方、データ転送起動要求受信部5012が、データ転送起動要求信号を受信したと判断すると(ステップS7022:Yes)、ディスクリプタ設定部5010が、ディスクリプタ取得部5008が取得したディスクリプタD3010の内容に従って、DMAコントローラ1030およびSDXCインターフェース1070の制御レジスタにDMA転送を開始するための規定値を書き込むことで、対応する論理チャネルCH1を介したデータ転送を開始させる。その後、ステップS7010から処理を再開する。
<3−3>データ転送終了通知装置の動作
本実施の形態に係るデータ転送終了通知装置1040の動作について図18に基づいて更に詳細に説明する。ここでは、各論理チャネルCH1,CH2,CH3間での優先度が、論理チャネルCH1が最も高く、以降論理チャネルCH2、論理チャネルCH3の順番で低くなるものとして説明する。
まず、優先度判断部4020は、論理チャネルCH1について、データ転送終了通知信号の有無を確認するように設定される(ステップS6011)。
次に、優先度判断部4020が、論理チャネル転送終了検知部4011から入力される論理チャネルCH1に係るデータ転送終了検知信号の有無を判断し(ステップS6012)、論理チャネル転送終了検知部4011からデータ転送終了通知信号が入力されていないと判断すると(ステップS6011:No)、データ転送終了通知信号の有無を確認したのが優先度の最も低い論理チャネルCH3であるか否かを判断する(ステップS6015)。
ここでは、論理チャネルCH1について確認したのであるから、データ転送終了通知信号の有無を確認したのが優先度の最も低い論理チャネルCH3ではないと判断し(ステップS6015:No)、優先度判断部4020は、論理チャネルCH1の次に優先度が高い論理チャネルCH2について、データ転送終了通知信号の入力有無を確認するように設定される(ステップS6016)。その後、優先度判断部4020が、論理チャネルCH2に係るデータ転送終了検知信号の有無を判断する(ステップS6012)。
一方、ステップS6012において、優先度判断部4020が、論理チャネル転送終了検知部4011から論理チャネルCH1に係るデータ転送終了検知信号が入力されていると判断すると(ステップS6012:Yes)、論理チャネル転送終了通知部4031に、データ転送制御装置1061へ転送終了通知信号を送出させる(ステップS6013)。
その後、優先度判断部4020は、データ転送制御装置1061からディスクリプタ取得完了通知信号受信部4041を介してディスクリプタ取得完了通知信号が入力されたか否かを判断し(ステップS6014)、ディスクリプタ取得完了通知信号を受信していないと判断すると(ステップS6014:No)、再び、ステップS6014の直前の段階に移行する。
一方、ディスクリプタ取得完了通知信号を受信したと判断すると(ステップS6014:Yes)、優先度判断部4020は、ディスクリプタ取得完了通知信号に対応する論理チャネルが最も優先度の低い論理チャネルCH3であるか否かを判断し(ステップS6015)、該当しないと判断すれば、優先度判断部4020は、次に優先度の高い論理チャネルCH2についてデータ転送終了通知信号の入力有無を確認するように設定される(ステップS6016)。
以後、以下のフローを繰り返すことになる。
優先度判断部4020が、論理チャネルCH1(2または3)について、論理チャネル転送終了検知部401i(i=2または3)へのデータ転送終了通知信号の入力有無を確認し(ステップS6012)、論理チャネル転送終了検知部401iからデータ転送終了通知信号が入力されていないと判断すると(ステップS6012:No)、データ転送終了通知信号の入力有無を確認した論理チャネルCHiが最も優先度の低い論理チャネルCH3に該当するか判断する(ステップS6015)。該当する場合は、処理を終了し、ステップS6011から処理を再開する。
一方、該当しない場合、優先度判断部4020は、論理チャネルCHiの次に優先度が高い論理チャネルCHi+1について、論理チャネル転送終了検知部401(i+1)へのデータ転送終了通知信号の有無を確認するように設定される(ステップS6016)。
ステップS6012において、優先度判断部4020が、論理チャネル転送終了検知部4011から論理チャネルCH1に係るデータ転送終了検知信号が入力されていると判断すると(ステップS6012:Yes)、論理チャネル転送終了通知部4031に、データ転送制御装置1061へ転送終了通知信号を送出させる(ステップS6013)。
その後、優先度判断部4020は、データ転送制御装置1061からディスクリプタ取得完了通知信号受信部4041を介してディスクリプタ取得完了通知信号が入力されたか否かを判断し(ステップS6014)、ディスクリプタ取得完了通知信号を受信していないと判断すると(ステップS6014:No)、再び、ステップS6014の直前の段階に移行する。
一方、ディスクリプタ取得完了通知信号を受信したと判断すると(ステップS6014:Yes)、優先度判断部4020は、データ転送終了通知信号の入力があった論理チャネルCHiが最も優先度の低い論理チャネルCH3であるか否かを判断し(ステップS6015)、該当しないと判断すれば、優先度判断部4020は、次に優先度の高い論理チャネルCHi+1についてデータ転送終了通知信号の入力有無を確認するように設定される(ステップS6016)。
<実施の形態2>
以下、本実施の形態について説明する。なお、動作は実施の形態1と同様なので説明を省略する。
<1>構成
本実施の形態に係るデータ転送制御装置2061,2062,2063を含む情報処理システムのブロック図を図19に示す。情報処理システムは、図2に示す構成と略同じであり、図19に示すように、データ転送制御装置2061,2062,2063それぞれが、データ転送終了フラグF1,F2,F3を保持している点、リングバッファ5050が、管理情報として、グローバルリードポインタRPgを保持していない点が相違する。なお、図2と同様の構成については同一の符号を付して説明を省略する。
CPU1000は、データ転送制御装置2061,2062,2063それぞれにアクセスして、各データ転送制御装置2061,2062,2063が保持するローカルリードポインタRPl1,RPl2,RPl3の値と、データ転送終了フラグF1,F2,F3を取得する。そして、CPU1000は、リングバッファ5050上のローカルリードポインタRPl1,RPl2,RPl3が示す格納領域に格納されたディスクリプタD3010に基づくデータ転送が終了しているか否かをデータ転送終了フラグF1,F2,F3の値で判断する。
<1−1>データ転送制御装置
データ転送制御装置1061は、ディスクリプタ取得部5008と、ローカルリードポインタ保持部5007と、転送終了通知信号受信部5000と、データ転送終了フラグ保持部5204と、フラグ更新手段5205と、ローカルリードポインタ設定部5206とを含んで構成される。なお、ディスクリプタ取得部5008、ローカルリードポインタ保持部5007、転送終了通知信号受信部5000、ローカルリードポインタ取得部5001、前後関係判別部5003、最新リードポインタ抽出部5005、ライトポインタ取得部5002、ライトポインタ更新確認部5006、ディスクリプタ取得完了通知部5009、ディスクリプタ設定部5010およびデータ転送起動要求受信部5012の構成は、前述の実施の形態と同様なので、説明を省略する。
フラグ保持部5204は、データ転送終了フラグF1を保持する。フラグ保持部5204は、保持するデータ転送終了フラグF1の内容をCPU1000により参照される。
フラグ更新部5205は、転送終了通知信号受信部5000によりローカルリードポインタRPl1が示す格納領域に格納されたディスクリプタD3010に基づくデータ転送が終了すると、データ転送終了フラグF1を更新する。
ローカルリードポインタ設定部5206は、リングバッファ5050上に記憶されたディスクリプタD3010のうちまだ実行が終了していないディスクリプタD3010が格納された格納領域のアドレスを取得して、ローカルリードポインタRPl1の値を取得したアドレスの値に設定する。
<2>動作
次に、本実施の形態に係るデータ転送制御装置を含む情報処理システムの全体動作について説明する。
CPU1000、DMAコントローラ1030、データ転送終了通知装置1040、リングバッファ1050および3つのデータ転送制御装置2061,2062,2063相互間のシーケンス図を図21に示す。以下、図21に基づいて説明する。
時刻T21で、DMAコントローラ1030からデータ転送終了通知装置1040に対してチャネルCH1でのデータ転送が終了した旨が通知されると、データ転送終了通知装置1040は、データ転送制御装置2061に対して、転送終了通知信号を送出する。
転送終了通知信号を受信したデータ転送制御装置2061は、データ転送終了フラグF1の値を“1”に設定する。
そして、CPU1000が、データ転送制御装置2061から、ローカルリードポインタRPl1の値およびデータ転送終了フラグF1の値を取得する。また、データ転送制御装置2061は、リングバッファ5050からまだ実行が終了していないデータ転送に対応するディスクリプタD3010を取得する。
その後、取得したディスクリプタD3010に基づいてDMAコントローラ1030を設定する。
時刻T22で、DMAコントローラ1030からデータ転送終了通知装置1040に対してチャネルCH2でのデータ転送が終了した旨が通知されると、データ転送終了通知装置1040は、データ転送制御装置2062に対して、転送終了通知信号を送出する。
転送終了通知信号を受信したデータ転送制御装置2062は、データ転送終了フラグF2の値を“1”に設定する。
そして、CPU1000が、データ転送制御装置2062から、ローカルリードポインタRPl1の値およびデータ転送終了フラグF2の値を取得する。また、データ転送制御装置2062は、リングバッファ5050からまだ実行が終了していないデータ転送に対応するディスクリプタD3010を取得する。
その後、取得したディスクリプタD3010に基づいてDMAコントローラ1030を設定する。
時刻T23で、DMAコントローラ1030からデータ転送終了通知装置1040に対してチャネルCH3でのデータ転送が終了した旨が通知されると、データ転送終了通知装置1040は、データ転送制御装置2063に対して、転送終了通知信号を送出する。
転送終了通知信号を受信したデータ転送制御装置2063は、データ転送終了フラグF3の値を“1”に設定する。
そして、CPU1000が、データ転送制御装置2063から、ローカルリードポインタRPl1の値およびデータ転送終了フラグF1の値を取得する。また、データ転送制御装置2061は、リングバッファ5050からまだ実行が終了していないデータ転送に対応するディスクリプタD3010を取得する。
その後、取得したディスクリプタD3010に基づいてDMAコントローラ1030を設定する。
CPU1000は、各データ転送終了フラグF1,F2,F3およびローカルリードポインタRPl1,RPl2,RPl3の値に基づいて、必要なデータ転送が全て完了したことを認識すると、転送された複数のデータを用いて処理を開始する。このとき、CPU1000は、データ転送終了フラグF1,F2,F3の値全てを“0”に戻す。
<変形例>
(1)実施の形態1では、DMAコントローラ1030とSDXCインターフェース1070とが3つの論理チャネルCH1,CH2,CH3により接続され、論理チャネルCH1,CH2,CH3毎に3つのデータ転送制御装置1061,1062,1063を備える例について説明したが、これに限定されるものではなく、例えば、図22に示すように、DMAコントローラ1030とSDXCインターフェース1070とが4つ以上の論理チャネルCH1,CH2,・・・,CHnにより接続され、論理チャネルCH1,CH2,・・・,CHn毎に4つ以上のデータ転送制御装置1061,1062,・・・,106nを備えたものであってもよい。また、DMAコントローラ1030とSDXCインターフェース1070とが2つの論理チャネル(図示せず)により接続され、論理チャネル毎に2つのデータ転送制御装置(図示せず)を備えるものであってもよい。
(2)実施の形態1および2では、データ転送終了通知装置1040が、3つの論理チャネルCH1,CH2,CH3を介して並列に実行される複数のデータ転送のうちいずれか1つのデータ転送を対応する転送制御情報に基づいて制御する複数のデータ転送制御装置に共通に接続されており、DMAコントローラ1030からデータ転送制御装置1061,1062,1063nのいずれかに対してデータ転送制御装置1061,1062,1063が制御するデータ転送が終了したことを通知する例について説明したが、これに限定されるものではなく、例えば、図23に示すように、DMAコントローラ1030とSDXCインターフェース1070とが3つの論理チャネルCH1,CH2,CH3により接続され、データ転送終了通知装置1040が、4つ以上のデータ転送制御装置に共通に接続され、DMAコントローラ1030からデータ転送制御装置1061,1062,・・・,106nのいずれかに対してデータ転送制御装置1061,1062,・・・,106nが制御するデータ転送が終了したことを通知するものであってもよい。また、DMAコントローラ1030とSDXCインターフェース1070とが2つの論理チャネル(図示せず)により接続され、データ転送終了通知装置1040が、2つのデータ転送制御装置(図示せず)に共通に接続され、DMAコントローラ1030から2つのデータ転送制御装置のいずれかに対してデータ転送制御装置が制御するデータ転送が終了したことを通知するものであってもよい。
(3)実施の形態1では、転送制御情報管理手段が、リングバッファ1050により構成される例について説明したが、これに限定されるものではなく、例えば、転送制御情報管理手段が、図24に示すように、アドレス(x0001,x0002,・・・.x0014,・・・)が連続した複数の格納領域M251,M252,・・・,M264,・・・から構成されたバッファ2050よりなるものであってもよい。
また、本変形例では、前後関係判別部5003が、ローカルリードポインタRPl1の値が、ローカルリードポインタRPl2,RPl3の値よりも小さい場合、ローカルリードポインタRPl1の示すディスクリプタD3010aの読み出し順序が、ローカルリードポインタRPl2,RPl3の示すディスクリプタD3010b,D3010cの読み出し順序よりも前方と判別する。
本変形例によれば、前後関係判別部5003は、ローカルリードポインタRPl1が示すディスクリプタD3010の読み出し順序と、ローカルリードポインタRPl2が示すディスクリプタD3010の読み出し順序と、ローカルリードポインタRPl3が示すディスクリプタD3010の読み出し順序との間での前後関係の判別を、ローカルリードポインタRPl1,RPl2,RPl3の値の大小関係のみから行うことができる。
ローカルリードポインタRPl1,RPl2,RPl3がインクリメントされていく場合、ローカルリードポインタRPl1の値よりもローカルリードポインタRPl2,RPl3の値の方が大きいと、ローカルリードポインタRPl1の示すディスクリプタD3010の読み出し順序が、ローカルリードポインタRPl2,RPl3の示すディスクリプタD3010b,D3010cの読み出し順序よりも前方と判別される。
一方、ローカルリードポインタRPl1,RPl2,RPl3がデクリメントされていく場合、ローカルリードポインタRPl1の値よりもローカルリードポインタRPl2,RPl3の値の方が小さいと、ローカルリードポインタRPl1の示すディスクリプタD3010aの読み出し順序が、ローカルリードポインタRPl2,RPl3の示すディスクリプタD3010b,D3010cの読み出し順序よりも前方と判別される。
つまり、本変形例によれば、前後関係判別部5003は、ローカルリードポインタRPl1,RPl2,RPl3それぞれが示すディスクリプタD3010a,D3010b,D3010cの読み出し順序の前後関係の判別に当たって、ライトポインタWPを参酌する必要がなくなる。
なお、本変形例では、転送制御情報管理手段として、格納領域M251,M252,・・・のアドレスが連続なバッファ2050を用いる例について説明したが、これに限定されず、M251,M252,・・・のアドレスが不連続なバッファでもよい。また、本変形例では、各データ転送制御装置1061,1062,1063が、バッファ2050の開始アドレスやサイズといったバッファ情報を格納したバッファ情報格納部を備えるものであってもよい。
更に、本変形例では、格納領域M251,M252,・・・の中にアドレスが不連続なものを含むバッファ2050を用いるものであって、例えば、格納領域M251と格納領域M252との間のアドレスが不連続である場合に、格納領域M251にディスクリプタD3010をキューイングした際のライトポインタWPの移動位置を示すような機能を有するアドレスポインタを管理情報に含む構成であってもよい。
(4)実施の形態1では、ディスクリプタ取得部5008が、ローカルリードポインタ保持部5007に保持されているローカルリードポインタRPl1の値に従って、リングバッファ1050上における当該ローカルリードポインタRPl1の示す格納領域に格納されているディスクリプタD3010a(図7参照)を取得する動作を行う例について説明したが、これに限定されるものではなく、例えば、ディスクリプタ取得部5008が、ディスクリプタD3010aの取得を完了すると、取得したディスクリプタD3010の格納領域のアドレスでローカルリードポインタRPl1の値を更新するようにしてもよい。
このとき、ディスクリプタ取得部5008は、ライトポインタ取得部5002から取得したライトポインタWPの値と、最新リードポインタ抽出部5005により抽出される最新リードポインタの値とからリングバッファ2050上における取得すべきディスクリプタD3010の格納領域を特定するようにすればよい。
(4)実施の形態1では、最新リードポインタ抽出部5005が、ローカルリードポインタRPl1,RPl2,RPl3の値同士を比較して、ローカルリードポインタRPl1,RPl2,RPl3の中から、ライトポインタWPの値との差が最も小さいローカルリードポインタを最新リードポインタとして抽出し、前後関係判別部5003が、ライトポインタWPの値と最新リードポインタの値とが等しいと判定すると、ディスクリプタ取得部5008が、新たにディスクリプタD3010を取得する動作を行わない例について説明したが。これに限定されるものではなく、例えば、所定の閾値と最新リードポインタの値とを比較する閾値比較手段(図示せず)を備え、ディスクリプタ取得部5008が、閾値比較手段により所定の閾値と最新リードポインタの値とが等しいと判定されると、最新リードポインタの示すディスクリプタD3010の次に読み出される新たなディスクリプタD3010を取得する動作を行わないようにしてもよい。
また、本変形例では、当該所定の閾値をデータ転送制御装置1061,1062,1063毎に別の値に設定してもよいし、或いは、全てのデータ転送制御装置1061,1062,1063で共通の値に設定してもよい。
また、本変形例では、所定の閾値が、グローバルリードポインタRPgの値に対して予め定められた一定の値を加算してなるものであってもよい。
更に、本変形例では、所定の閾値が、ライトポインタWPの値に対して予め定められた一定の値を減算してなるものであってもよい。
なお、本変形例では、閾値比較手段が、最新リードポインタの値が当該所定の閾値と等しいことを検出すると、最新リードポインタの値と所定の閾値とが等しい状態であることをCPU1000に通知してディスクリプタD3010のリングバッファ1050への格納を要求する格納要求部(図示せず)を備えるものであってもよい。
(5)実施の形態1および2では高速IOインターフェースとしてSDXCインターフェース1070が用いられる例について説明したが、これに限定されず、例えば、USBやSATAなど、その他のIOインターフェースであってもよい。
(6)実施の形態1および2では、複数のデータ転送制御装置1061,1062,1063が、SDXCインターフェース1070に設けられたIOバッファ1074と主記憶装置1010との間のデータ転送を制御する例について説明したが、これに限定されず、2つの一般的な格納領域(例えば、DRAM、SRAM等)の間でのデータ転送を制御するものであってもよい。
(7)実施の形態1および2では、SDXCインターフェース1070に設けられたIOバッファ1074と主記憶装置1010との間で複数の論理チャネルCH1,CH2,CH3を介して複数のデータ転送が並列に行われる例について説明したが、これに限定されるものではなく、例えば、複数の物理チャネル(図示せず)を介して複数のデータ転送が並列に行われるものであってもよい。
(8)実施の形態1および2ではディスクリプタD3010が、転送元アドレス、転送先アドレス、転送するデータのサイズを含んで構成される例について説明したが、転送元アドレス、転送先アドレス、転送サイズこれに限定されず、例えば、ディスクリプタD3010が転送元アドレスを含まないものであってもよい。
(9)実施の形態1および2では、ディスクリプタD3010が、更に、間欠転送を行うか否かを指定するための情報、間欠転送を行う場合における1回当たりの転送するデータのサイズおよび論理チャネルを用いたDMA転送を行うか否かを指定するための情報等からなる転送モード情報を含む構成であってもよい。
(10)実施の形態1および2では、ディスクリプタD3010が、転送元アドレス、転送先アドレス、転送するデータのサイズを含んで構成される例について説明したが、これに限定されるものではなく、ディスクリプタD3010が、SDXCデバイス1080に対して発行するIOコマンド種別やコマンドの引数を含んで構成されるものであってもよい。
(11)実施の形態1および2では、リングバッファ1050,5050がメモリで実現される場合を例に説明したが、これに限定されず、例えばリングバッファ1050がレジスタファイルで構成されてなるものであってもよい。また、実施の形態1では、リングバッファ1050,5050が12個のディスクリプタD3010を格納する例について説明したが、これに限定されるものではなく、13個以上のディスクリプタD3010、或いは、11個以下のディスクリプタD3010を格納するものであってもよい。
(12)実施の形態1および2では、リングバッファ1050,5050へのディスクリプタD3010の格納がCPU1000により行われる例について説明したが、これに限定されず、例えば、CPU1000がまずリングバッファ1050,5050以外の所定のバッファ(図示せず)に格納し、当該所定のバッファに格納されたディスクリプタD3010をリングバッファ1050,5050に転送する専用のモジュール(図示せず)を備えたものであってもよい。
(13)実施の形態1では、ライトポインタWP、グローバルリードポインタRPg、ローカルリードポインタRPl1,RPl2がインクリメントされていく例について説明したが、これに限定されず、例えば、ライトポインタWP、グローバルリードポインタRPgおよびローカルリードポインタRPl1,RPl2,RPl3がデクリメントされていくものであってもよい。
(14)実施の形態1では、DMAコントローラ1030に各論理チャネルCH1,CH2,CH3毎に、転送されたデータのチェックサムを計算するチェックサム計算部(図示せず)が設けられ、チェックサム計算部による計算結果が転送されたデータに含まれるチェックサム期待値に一致しなかった場合(チェックサムエラーが発生した場合)に、異常終了通知信号をデータ転送終了信号に含ませる例について説明したが、これに限定されるものではなく、例えば、DMAコントローラ1030に転送されたデータのハッシュ値を計算するハッシュ値計算部(図示せず)が設けられ、ハッシュ計算部による計算結果が転送されたデータのハッシュ値の期待値と一致しなかった場合に、異常終了通知信号をデータ転送終了信号に含ませるものであってもよい。
あるいは、各データ転送制御装置1061,1062,1063毎にデータ転送時間をカウントするタイマ(図示せず)が設けられ、転送終了通知信号受信部5000が、データ転送が所定の時間内に終了しなかったときに、データ転送がタイムアウトエラーによる異常終了をしたと認識するものであってもよい。
(15)実施の形態1および2では、各論理チャネルCH1,CH2,CH3の優先度が予め定められてなる例について説明したが、これに限定されず、例えば、論理チャネルCH1,CH2,CH3の優先度を設定するレジスタ等を設けて、当該レジスタをCPU1000が、任意のタイミングで更新するものであってもよい。
(16)実施の形態1および2では、データ転送終了通知装置1040が論理チャネルCH1,CH2,CH3毎に対応する論理チャネル転送終了検知部4011,4012,4013を備え、論理チャネルCH1,CH2,CH3毎に各別に転送終了通知信号を受信する例について説明したが、これに限定されず、例えば、データ転送終了通知装置1040が、各論理チャネルCH1,CH2,CH3に対して、転送終了か転送中かをポーリングで順番に確認していく1つの論理チャネル転送終了検知部(図示せず)を備えたものであってもよい。
(17)実施の形態1および2では、転送終端部5011が、各論理チャネルCH1,CH2,CH3からの割り込みをクリアする例について説明したが、これに限定されず、例えば、転送終端部5011が、対応する論理チャネルCH1,CH2,CH3に対してデータ転送の終了が確認された旨を通知するものであってもよい。
(18)実施の形態1では、ディスクリプタ取得部5008が、最新リードポインタの値がライトポインタWPの値と等しいと新たにディスクリプタD3010を取得する動作を行わない例について説明したが、更に、最新リードポインタの値とライトポインタWPの値が等しい状態であることをCPU1000に通知してディスクリプタD3010のリングバッファ1050への格納を要求する格納要求部(図示せず)を備えるものであってもよい。
これにより、CPU1000からリングバッファ1050へのディスクリプタD3010の格納待ち時間を縮小することができるから、情報処理システム全体の処理効率の向上を図ることができる。
(19)前述の実施の形態1は、SDXCインターフェース1070と、主記憶装置1010と、DMAコントローラ1030と、メモリコントローラ1020と、3つのデータ転送制御装置1061,1062,1063と、データ転送終了通知装置1040と、リングバッファ1050とが1つの半導体集積回路に集積されてなるLSIとして実現してもよい。或いは、3つのデータ転送制御装置1061,1062,1063、データ転送終了通知装置1040を個別にLSIで実現してもよい。
本変形例に係るLSIは、図25に示すように、CPU1000とともに回路基盤901に搭載された形で、例えば、デジタルテレビ910、放送受信装置(蓄積再生装置)911、携帯電話機912、デジタルカメラ913、自動車915に搭載される車載端末914に適用される。
(20)前述では、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現しても良い。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適応などが可能性として有り得る。
本構成は、複数のデータ転送を実行する場合において効率的な転送制御が実現できる。特に、各データ転送において転送サイズが異なる場合や、転送異常が発生し、繰り返し同一転送を行う場合について、従来技術に比べてデータ転送待ち時間を大幅に短縮でき、データ転送スループットの飛躍的な向上に奏功する。従って、SDXCやUSB、SATAなどに代表される高速IOインターフェースと主記憶との間のデータ転送を行うような集積回路製品に有効である。その他、記憶領域間の複数のデータ転送を行うような集積回路製品、家電製品、パーソナルコンピュータ、および携帯電話などにも有効である。
1040 データ転送終了通知装置
1050 リングバッファ
1061,1062,1063 データ転送制御装置
4011,4012,4013 論理チャネル転送終了検知部
4020 優先度判断部
4031,4032,4033 論理チャネル転送終了通知部
4041,4042,4043 ディスクリプタ取得完了通知信号受信部
5000 転送終了通知信号受信部
5001 ローカルリードポインタ取得部
5002 ライトポインタ取得部
5003 前後関係判別部
5004 リードポインタ更新部
5005 最新リードポインタ抽出部
5006 ライトポインタ更新確認部
5007 ローカルリードポインタ保持部
5008 ディスクリプタ取得部
5009 ディスクリプタ取得完了通知部
5010 ディスクリプタ設定部
5011 転送終端部
5012 データ転送起動要求受信部
D3010,D3010a,D3010b,D3010c,D3010d,D3010e ディスクリプタ
D3011 転送元アドレス
D3012 転送先アドレス
D3014 転送サイズ
M51,M52,・・・,M58,M251,M252,・・・,M264 格納領域
ORF オーバーラップフラグ
RPg グローバルリードポインタ
RPl1 ローカルリードポインタ(第1のローカルリードポインタ)
RPl2,RPl3 ローカルリードポインタ(第2のローカルリードポインタ)

Claims (30)

  1. 複数のデータ転送チャネルで行われるデータ転送を制御するためにデータ転送チャネル毎に設けられた複数のデータ転送制御装置のうちの任意の1つのデータ転送制御装置であり、且つ、所定の読み出し順序で読み出される複数の転送制御情報と所定の読み出し順序を管理する管理情報とを保持する転送制御情報管理手段から1つの転送制御情報を読み出し、当該転送制御情報に基づいて1のデータ転送チャネルで行われるデータ転送を制御するデータ転送制御装置であって、
    前記転送制御情報管理手段から前記転送制御情報を読み出す転送制御情報読出手段と、
    前記転送制御情報読出手段により読み出された前記転送制御情報の読み出し順序を示す順序情報を保持する順序情報保持手段と、
    前記転送制御情報に基づいたデータ転送が終了したことを認識する転送終了認識手段と、
    他のデータ転送制御装置それぞれが保持する順序情報を他のデータ転送制御装置から取得する順序情報取得手段と、
    自らが保持する順序情報が示す読み出し順序と、他のデータ転送制御装置それぞれが保持する順序情報が示す読み出し順序との前後関係を判別する前後関係判別手段と、
    前記転送終了認識手段により前記データ転送が終了したことが認識され、且つ前記前後関係判別手段により前記自らが保持する順序情報が示す読出し順序が前記他のデータ転送制御装置それぞれが保持する順序情報が示す読み出し順序よりも前方と判別されると、前記管理情報を更新する管理情報更新手段とを備える
    ことを特徴とするデータ転送制御装置。
  2. 前記管理情報は、前記自らが保持する順序情報および前記他のデータ転送制御装置それぞれが保持する順序情報が示す読み出し順序の中で最も前方の読み出し順序よりも前方の読み出し順序を示す実行済み順序情報を含んで構成され、
    前記管理情報更新手段は、前記前後関係判別手段により前記自らが保持する順序情報が示す読出し順序が前記他のデータ転送制御装置それぞれが保持する順序情報が示す読み出し順序よりも前方と判別されると、前記自らが保持する順序情報を用いて前記実行済み順序情報を更新する
    ことを特徴とする請求項1記載のデータ転送制御装置。
  3. 前記管理情報更新手段は、前記前後関係判別手段により前記自らが保持する順序情報が示す読み出し順序が前記他のデータ転送制御装置それぞれが保持する順序情報が示す読み出し順序よりも前方ではないと判別されると、前記実行済み順序情報を前記自らが保持する順序情報を用いて更新しないこと
    を特徴とする請求項2に記載のデータ転送制御装置。
  4. 前記自らが保持する順序情報および前記他のデータ転送制御装置それぞれが保持する順序情報の中で最後の読み出し順序を示す最新順序情報を抽出する最新順序情報抽出手段を備え、
    前記転送制御情報読出手段は、前記転送終了認識手段により前記データ転送の終了が認識されると、前記転送制御情報管理手段から前記最新順序情報が示す読み出し順序で読み出される前記転送制御情報の次に読み出される前記転送制御情報を取得する
    ことを特徴とする請求項2に記載のデータ転送制御装置。
  5. 前記管理情報は、前記転送制御情報管理手段に最後に格納された転送制御情報の読み出し順序を示す最終順序情報を含んで構成され、
    前記最終順序情報を取得する最終順序情報取得手段と、
    前記最終順序情報と前記最新順序情報抽出手段により抽出される前記最新順序情報とを比較する最終順序比較手段と
    を備え、
    前記転送制御情報読出手段は、前記最終順序比較手段により前記最終順序情報が示す読み出し順序と前記最新順序情報が示す読み出し順序とが等しいと判定されると、前記転送制御情報管理手段から前記最新順序情報が示す前記転送制御情報の次に読み出される前記転送制御情報を取得する動作を行わない
    ことを特徴とする請求項4記載のデータ転送制御装置。
  6. 前記最終順序情報の更新を検出する最終順序情報更新検出手段を備え、
    前記転送制御情報読出手段は、前記前後関係判別手段が、前記最新順序情報が示す読み出し順序と前記最終順序情報が示す読み出し順序とが等しいと判別した場合において、前記最終順序情報更新検出手段により前記最終順序情報の更新が検出されると、前記転送制御情報管理手段から前記最新順序情報が示す読み出し順序で読み出される転送制御情報の次に読み出される前記転送制御情報を取得する動作を行う
    ことを特徴とする請求項5記載のデータ転送制御装置。
  7. 前記自らが保持する順序情報は、自らが読み出す前記転送制御情報の格納領域のアドレスを示す自らが保持するローカルリードポインタであり、
    前記他のデータ転送制御装置それぞれが保持する順序情報は、他のデータ転送制御装置が読み出す前記転送制御情報の格納領域のアドレスを示す他のデータ転送制御装置それぞれが保持するローカルリードポインタであり、
    前記管理情報は、前記転送制御情報管理手段に最後に格納された転送制御情報の格納領域のアドレスを示すライトポインタと、前記自らが保持するローカルリードポインタが示すアドレスと前記他のデータ転送制御装置それぞれが保持するローカルリードポインタが示すアドレスの中で最も読み出し順序が前方の前記転送制御情報よりも読み出し順序が前方の前記転送制御情報が格納された格納領域のアドレスを示すグローバルリードポインタとを含んで構成される
    ことを特徴とする請求項2記載のデータ転送制御装置。
  8. 前記転送制御情報管理手段は、リングバッファにより構成され、
    前記管理情報は、前記ライトポインタの値を更新する際、更新前のライトポインタの値が更新後のライトポインタの値よりも大きいとイネーブル状態に設定され、前記リードポインタを更新する際、更新前のグローバルリードポインタの値が更新後のグローバルリードポインタの値よりも大きいとディセーブル状態に設定されるオーバラップフラグを含んで構成される
    ことを特徴とする請求項7記載のデータ転送制御装置。
  9. 前記前後関係判別手段は、前記ライトポインタの値と、前記自らが保持するローカルリードポインタの値および前記他のデータ転送制御装置それぞれが保持するローカルリードポインタの値との大小関係を比較し、前記自らが保持するローカルリードポインタの示すアドレスの格納領域に格納された前記転送制御情報の読み出し順序と、前記他のデータ転送制御装置それぞれが保持するローカルリードポインタが示すアドレスの格納領域に格納された前記転送制御情報の読出し順序との前後関係を判別する
    ことを特徴とする請求項8記載のデータ転送制御装置。
  10. 前記管理情報更新手段は、前記グローバルリードポインタの値を更新する場合、更新前の前記グローバルリードポインタの値が、更新後の前記グローバルリードポインタの値よりも大きいと前記オーバラップフラグをディセーブル状態に設定する
    ことを特徴とする請求項8に記載のデータ転送制御装置。
  11. 前記転送制御情報管理手段は、アドレスが連続した複数の格納領域にアドレスの小さい格納領域から順番に転送制御情報が格納されてなるバッファから構成される
    ことを特徴とする請求項7に記載のデータ転送制御装置。
  12. 前記前後関係判別手段は、前記自らが保持するローカルリードポインタの値が、前記他のデータ転送制御装置が保持するローカルリードポインタの値よりも小さい場合、前記自らが保持するローカルリードポインタが示すアドレスの格納領域に格納された前記転送制御情報の読み出し順序が前記他のデータ転送制御装置それぞれが保持するローカルリードポインタが示すアドレスの格納領域に格納された前記転送制御情報の読み出し順序よりも前方と判別する
    ことを特徴とする請求項11に記載のデータ転送制御装置。
  13. 前記管理情報更新手段は、前記前後関係判別手段により前記自らが保持するローカルリードポインタが示すアドレスの格納領域に格納された前記転送制御情報の読み出し順序が前記他のデータ転送制御装置それぞれが保持するローカルリードポインタが示すアドレスの格納領域に格納された前記転送制御情報の読出し順序よりも前方と判別されると、前記グローバルリードポインタの値を前記自らが保持するローカルリードポインタの値を用いて更新する
    ことを特徴とする請求項11に記載のデータ転送制御装置。
  14. 前記最新順序情報抽出手段は、前記自らが保持するローカルリードポインタおよび前記他のデータ転送制御装置それぞれが保持するローカルリードポインタの中から、読み出し順序が最後の転送制御情報が格納された格納領域のアドレスを示す最新リードポインタを抽出するものであって、
    所定の閾値と前記最新リードポインタの値とを比較する閾値比較手段を備え、
    前記転送制御情報読出手段は、前記閾値比較手段により前記所定の閾値と前記最新リードポインタの値とが等しいと判定されると、前記最新リードポインタの示すアドレスの格納領域に格納された前記転送制御情報の次に読み出される前記転送制御情報を取得する動作を行わない
    ことを特徴とする請求項7記載のデータ転送制御装置。
  15. 前記所定の閾値は、前記グローバルリードポインタの値に対して予め定められた一定の値を加算してなる
    ことを特徴とする請求項14記載のデータ転送制御装置。
  16. 前記所定の閾値は、前記ライトポインタの値に対して予め定められた一定の値を減算してなる
    ことを特徴とする請求項14記載のデータ転送制御装置。
  17. 前記転送制御情報は、少なくともデータ転送の転送先アドレスおよび転送するデータのサイズを含む
    ことを特徴とする請求項1に記載のデータ転送制御装置。
  18. 前記転送制御情報読出手段による前記転送制御情報の取得が完了すると転送制御情報取得完了信号を送出する転送制御情報取得完了通知手段を備える
    ことを特徴とする請求項1に記載のデータ転送制御装置。
  19. 前記転送終了認識手段は、前記データ転送が正常終了したか異常終了したかを認識し、
    前記転送制御情報読出手段は、前記転送終了認識手段により前記データ転送が正常終了したと認識されると新たに前記転送制御情報を取得する動作を行い、前記転送終了認識手段により前記データ転送が異常終了したと認識されると新たに前記転送制御情報を取得する動作を行わない
    ことを特徴とする請求項1記載のデータ転送制御装置。
  20. 複数のデータ転送チャネルで行われるデータ転送を制御するためにデータ転送チャネル毎に設けられた複数のデータ転送制御装置のうちの任意の1つのデータ転送制御装置であり、且つ、所定の読み出し順序で読み出される複数の転送制御情報と所定の読み出し順序を管理する管理情報とを保持する転送制御情報管理手段から1つの転送制御情報を読み出し、当該転送制御情報に基づいて1のデータ転送チャネルで行われるデータ転送を制御するデータ転送制御装置であって、
    前記転送制御情報管理手段から転送制御情報を読み出す転送制御情報読出手段と、
    前記転送制御情報読出手段が読み出す前記転送制御情報の読み出し順序を示す順序情報を保持する順序情報保持手段と、
    前記転送制御情報に基づいたデータ転送が終了したことを認識する転送終了認識手段と、
    前記転送制御情報に基づいたデータ転送が終了したか否かを示すデータ転送終了フラグを保持するフラグ保持手段と、
    前記転送終了認識手段により前記データ転送の終了が認識されると、前記データ転送終了フラグを更新するフラグ更新手段よりなる
    ことを特徴とするデータ転送制御装置。
  21. 複数のデータ転送チャネルを介して並列に実行される複数のデータ転送のうちいずれか1つのデータ転送を対応する転送制御情報に基づいて制御するデータ転送装置が複数あり、当該複数のデータ転送制御装置に共通に接続され且つ少なくとも1つのデータ転送制御装置に対して当該データ転送制御装置が制御するデータ転送が終了したことを通知するデータ転送終了通知装置であって、
    少なくとも1つのデータ転送の終了を検知する転送終了検知手段と、
    転送終了検知手段が少なくとも1つのデータ転送の終了を検知すると、対応するデータ転送制御装置に対して、他のデータ転送制御装置が制御するデータ転送が行われているか否かに関わらず、所定のタイミングで転送終了通知信号を送出する転送終了通知手段と
    を備えることを特徴とするデータ転送終了通知装置。
  22. 複数の前記データ転送チャネルが、予め優先度が設定されてなり、
    前記転送終了検知手段が複数のデータ転送の終了を同時に検知したときに、転送終了通知手段に対して、最も優先度の高い前記データ転送チャネルに対応する前記データ転送制御装置のみに対して前記転送終了通知信号を送出させる優先度判断部を備える
    ことを特徴とする請求項21記載のデータ転送終了通知装置。
  23. 前記データ転送制御装置から前記転送制御情報の取得が完了したことを認識する転送制御情報取得完了認識手段を備え、
    前記転送終了通知手段は、前記転送制御情報取得完了認識手段により一のデータ転送制御装置において前記転送制御情報の取得が完了したことが認識されるまで、他のデータ転送制御装置に対して前記転送終了通知信号を送出しない
    ことを特徴とする請求項21記載のデータ転送終了通知装置。
  24. 前記転送終了検知手段は、前記データ転送が正常終了したか異常終了したかを検知し、対応する前記データ転送制御装置に対して終了結果通知信号を送出する終了結果検知手段を備える
    ことを特徴とする請求項21に記載のデータ転送終了通知装置。
  25. 前記終了結果検知手段は、転送されるデータにチェックサムエラーが発生すると、データ転送が異常終了したと検知する
    ことを特徴とする請求項24記載のデータ転送終了通知装置。
  26. 複数のデータ転送チャネルで行われるデータ転送を制御するためにデータ転送チャネル毎に設けられた複数のデータ転送制御装置のうちの任意の1つのデータ転送制御用集積回路であり、且つ、所定の読み出し順序で読み出される複数の転送制御情報と所定の読み出し順序を管理する管理情報とを保持する転送制御情報管理手段から1つの転送制御情報を読み出し、当該転送制御情報に基づいて1のデータ転送チャネルで行われるデータ転送を制御するデータ転送制御用集積回路であって、
    前記転送制御情報管理手段から前記転送制御情報を読み出す転送制御情報読出手段と、
    前記転送制御情報読出手段が読み出す前記転送制御情報の読み出し順序を示す順序情報を保持する順序情報保持手段と、
    前記転送制御情報に基づいたデータ転送が終了したことを認識する転送終了認識手段と、
    他のデータ転送制御装置それぞれが保持する第2の順序情報を他のデータ転送制御装置から取得する順序情報取得手段と、
    自らが保持する順序情報が示す読み出し順序と、他のデータ転送制御装置それぞれが保持する順序情報が示す読み出し順序との前後関係を判別する前後関係判別手段と、
    前記転送終了認識手段により前記データ転送が終了したことが認識され、且つ前記前後関係判別手段により前記自らが保持する順序情報が示す読出し順序が前記他のデータ転送制御装置それぞれが保持する順序情報が示す読み出し順序よりも前方と判別されると、前記管理情報を更新する管理情報更新手段とを備える
    ことを特徴とするデータ転送制御用集積回路。
  27. 複数のデータ転送チャネルで行われるデータ転送を制御するためにデータ転送チャネル毎に設けられた複数のデータ転送制御装置のうちの任意の1つのデータ転送制御装置のデータ転送制御方法であり、且つ、所定の読み出し順序で読み出される複数の転送制御情報と所定の読み出し順序を管理する管理情報とを保持する転送制御情報管理手段から1つの転送制御情報を読み出し、当該転送制御情報に基づいて1のデータ転送チャネルで行われるデータ転送を制御するデータ転送制御方法であって、
    前記転送制御情報管理手段から前記転送制御情報を読み出す転送制御情報読出ステップと、
    前記転送制御情報読出手段が読み出す前記転送制御情報の読み出し順序を示す順序情報を保持する順序情報保持ステップと、
    前記転送制御情報に基づいたデータ転送が終了したことを認識する転送終了認識手段と、他のデータ転送制御装置それぞれが保持する順序情報を他のデータ転送制御装置から取得する順序情報取得ステップと、
    自らが保持する順序情報が示す読み出し順序と、他のデータ転送制御装置それぞれが保持する順序情報が示す読み出し順序との前後関係を判別する前後関係判別ステップと、
    前記転送終了認識手段により前記データ転送が終了したことが認識され、且つ前記前後関係判別手段により前記自らが保持する順序情報が示す読出し順序が前記他のデータ転送制御装置それぞれが保持する順序情報が示す読み出し順序よりも前方と判別されると、前記管理情報を更新する管理情報更新ステップと
    を含むことを特徴とするデータ転送制御方法。
  28. 複数のデータ転送チャネルを介して並列に実行される複数のデータ転送のうちいずれか1つのデータ転送を対応する転送制御情報に基づいて制御するデータ転送装置が複数あり、当該複数のデータ転送制御装置に共通に接続され且つ少なくとも1つのデータ転送制御装置に対して当該データ転送制御装置が制御するデータ転送が終了したことを通知するデータ転送終了通知用集積回路であって、
    少なくとも1つのデータ転送の終了を検知する転送終了検知手段と、
    前記転送終了検知手段が少なくとも1つのデータ転送の終了を検知すると、対応する前記データ転送制御装置に対して、他のデータ転送制御装置が制御するデータ転送が行われているか否かに関わらず、所定のタイミングで転送終了通知信号を送出する転送終了通知手段とを備える
    ことを特徴とするデータ転送終了通知用集積回路。
  29. 複数のデータ転送チャネルを介して並列に実行される複数のデータ転送のうちいずれか1つのデータ転送を対応する転送制御情報に基づいて制御するデータ転送装置が複数あり、当該複数のデータ転送制御装置に共通に接続され且つ少なくとも1つのデータ転送制御装置に対して当該データ転送制御装置が制御するデータ転送が終了したことを通知するデータ転送終了通知方法であって、
    少なくとも1つのデータ転送の終了を検知する転送終了検知ステップと、
    前記転送終了検知手段が少なくとも1つのデータ転送の終了を検知すると、対応する前記データ転送制御装置に対して、他のデータ転送制御装置が制御するデータ転送が行われているか否かに関わらず、所定のタイミングで転送終了通知信号を送出する転送終了通知ステップとを含む
    ことを特徴とするデータ転送終了通知方法。
  30. 複数のデータ転送チャネルで行われるデータ転送を制御するためにデータ転送チャネル毎に設けられた複数のデータ転送制御装置のうちの任意の1つのデータ転送制御装置であり、且つ、所定の読み出し順序で読み出される複数の転送制御情報と所定の読み出し順序を管理する管理情報とを保持する転送制御情報管理手段から1つの転送制御情報を読み出し、当該転送制御情報に基づいて1のデータ転送チャネルで行われるデータ転送を制御するデータ転送制御装置と、複数のデータ転送制御装置に共通に接続され且つ少なくとも1つのデータ転送制御装置に対して当該データ転送制御装置が制御するデータ転送が終了したことを通知するデータ転送終了通知装置とから構成されるデータ転送制御システムであって、
    前記転送制御情報管理手段から前記転送制御情報を読み出す転送制御情報読出手段と、
    前記転送制御情報読出手段が読み出す前記転送制御情報の読み出し順序を示す順序情報を保持する順序情報保持手段と、
    前記転送制御情報に基づいたデータ転送が終了したことを認識する転送終了認識手段と、他のデータ転送制御装置それぞれが保持する順序情報を他のデータ転送制御装置から取得する順序情報取得手段と、
    自らが保持する順序情報が示す読み出し順序と、他のデータ転送制御装置それぞれが保持する順序情報が示す読み出し順序との前後関係を判別する前後関係判別手段と、
    前記転送終了認識手段により前記データ転送が終了したことが認識され、且つ前記前後関係判別手段により前記自らが保持する順序情報が示す読出し順序が前記他のデータ転送制御装置それぞれが保持する順序情報が示す読み出し順序よりも前方と判別されると、前記管理情報を更新する管理情報更新手段とを有するデータ転送制御装置と、
    少なくとも1つのデータ転送の終了を検知する転送終了検知手段と、
    前記転送終了検知手段が少なくとも1つのデータ転送の終了を検知すると、対応する前記データ転送制御装置に対して、他のデータ転送制御装置が制御するデータ転送が行われているか否かに関わらず、所定のタイミングで転送終了通知信号を送出する転送終了通知手段とを有するデータ転送終了通知装置とを備える
    ことを特徴とするデータ転送制御システム。
JP2012519204A 2010-06-11 2011-01-25 データ転送制御装置とその集積回路とデータ転送制御方法、データ転送終了通知装置とその集積回路とデータ転送終了通知方法、およびデータ転送制御システム Expired - Fee Related JP5357333B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012519204A JP5357333B2 (ja) 2010-06-11 2011-01-25 データ転送制御装置とその集積回路とデータ転送制御方法、データ転送終了通知装置とその集積回路とデータ転送終了通知方法、およびデータ転送制御システム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2010134558 2010-06-11
JP2010134558 2010-06-11
PCT/JP2011/000372 WO2011155096A1 (ja) 2010-06-11 2011-01-25 データ転送制御装置とその集積回路とデータ転送制御方法、データ転送終了通知装置とその集積回路とデータ転送終了通知方法、およびデータ転送制御システム
JP2012519204A JP5357333B2 (ja) 2010-06-11 2011-01-25 データ転送制御装置とその集積回路とデータ転送制御方法、データ転送終了通知装置とその集積回路とデータ転送終了通知方法、およびデータ転送制御システム

Publications (2)

Publication Number Publication Date
JPWO2011155096A1 JPWO2011155096A1 (ja) 2013-08-01
JP5357333B2 true JP5357333B2 (ja) 2013-12-04

Family

ID=45097719

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012519204A Expired - Fee Related JP5357333B2 (ja) 2010-06-11 2011-01-25 データ転送制御装置とその集積回路とデータ転送制御方法、データ転送終了通知装置とその集積回路とデータ転送終了通知方法、およびデータ転送制御システム

Country Status (3)

Country Link
US (1) US8959261B2 (ja)
JP (1) JP5357333B2 (ja)
WO (1) WO2011155096A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013129031A1 (ja) * 2012-02-29 2013-09-06 三菱電機株式会社 データ転送装置、データ転送方法及びデータ転送プログラム
DE112013006940B4 (de) 2013-04-10 2022-11-17 Mitsubishi Electric Corporation Datenübertragungsgerät und Datenübertragungsverfahren
US9465880B2 (en) * 2013-05-14 2016-10-11 International Business Machines Corporation Optimizing storage in a publish / subscribe environment
JP6381270B2 (ja) * 2014-04-22 2018-08-29 キヤノン株式会社 情報処理装置、情報処理方法、システム
JP2018116550A (ja) * 2017-01-19 2018-07-26 Necプラットフォームズ株式会社 転送制御装置
CN112040502B (zh) * 2020-08-31 2024-02-23 广东电网有限责任公司广州供电局 一种pdc测试数据传输方法及装置
CN117312200B (zh) * 2023-11-27 2024-02-02 沐曦集成电路(南京)有限公司 基于环形缓冲区的多通道数据dma系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03158952A (ja) * 1989-11-17 1991-07-08 Hitachi Ltd Dmaコントローラおよび情報処理システム
JP2007249635A (ja) * 2006-03-16 2007-09-27 Nec Corp データ転送装置及びデータ転送方法
JP2008108066A (ja) * 2006-10-25 2008-05-08 Toshiba Corp リングバッファメモリ制御装置、及びリングバッファメモリの制御方法
JP2008293484A (ja) * 2007-04-27 2008-12-04 Panasonic Corp バッファメモリ共有装置
JP2009277096A (ja) * 2008-05-15 2009-11-26 Fuji Xerox Co Ltd Dma制御システム、印刷装置、および転送指示プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04238527A (ja) 1991-01-23 1992-08-26 Matsushita Electric Ind Co Ltd データ転送方法
JPH05134965A (ja) 1991-11-12 1993-06-01 Canon Inc データ転送制御装置
US6631434B1 (en) * 1999-11-15 2003-10-07 Hewlett-Packard Development Company, L.P. Dynamic early indication system for a computer
US7664127B1 (en) * 2005-04-05 2010-02-16 Sun Microsystems, Inc. Method for resolving mutex contention in a network system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03158952A (ja) * 1989-11-17 1991-07-08 Hitachi Ltd Dmaコントローラおよび情報処理システム
JP2007249635A (ja) * 2006-03-16 2007-09-27 Nec Corp データ転送装置及びデータ転送方法
JP2008108066A (ja) * 2006-10-25 2008-05-08 Toshiba Corp リングバッファメモリ制御装置、及びリングバッファメモリの制御方法
JP2008293484A (ja) * 2007-04-27 2008-12-04 Panasonic Corp バッファメモリ共有装置
JP2009277096A (ja) * 2008-05-15 2009-11-26 Fuji Xerox Co Ltd Dma制御システム、印刷装置、および転送指示プログラム

Also Published As

Publication number Publication date
US8959261B2 (en) 2015-02-17
WO2011155096A1 (ja) 2011-12-15
US20120233372A1 (en) 2012-09-13
JPWO2011155096A1 (ja) 2013-08-01

Similar Documents

Publication Publication Date Title
JP5357333B2 (ja) データ転送制御装置とその集積回路とデータ転送制御方法、データ転送終了通知装置とその集積回路とデータ転送終了通知方法、およびデータ転送制御システム
USRE49875E1 (en) Memory system having high data transfer efficiency and host controller
US10372641B2 (en) Communication system, communication system control method, and program
US20100122006A1 (en) Interrupt detection apparatus and information processing system
EP2312457B1 (en) Data processing apparatus, data processing method and computer-readable medium
US9473273B2 (en) Memory system capable of increasing data transfer efficiency
KR101112666B1 (ko) 디스크립터 전송 장치, i/o 컨트롤러, 및 디스크립터 전송 방법
US20150261631A1 (en) Memory system and memory controller
US11586564B2 (en) Head of line entry processing in a buffer memory device
US11360529B2 (en) Signal processing system, signal processing circuit, and reset control method
CN110647493B (zh) 一种数据传输方法、处理器和pcie系统
US8713205B2 (en) Data transfer device and data transfer method
JP5334173B2 (ja) データ転送システム及びリトライ制御方法
US11127466B2 (en) Read data sorting method and storage device for sequentially transmitting read data of continuous logic block addresses to host
US20170024301A1 (en) Cross-component status indicators
JP2005301714A (ja) マルチcpuシステム、そのデータ転送方法、及びそのプログラム
JP6940283B2 (ja) Dma転送制御装置、dma転送制御方法、及び、dma転送制御プログラム
JP2017199287A (ja) 情報処理装置および情報処理方法
JP2005128931A (ja) Dma転送装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130517

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: 20130806

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130829

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