(57)【要約】【課題】動作効率を向上できるデータ転送システムを提供する。【解決手段】１つの実施形態によれば、第１の速度でデータをそれぞれ転送する複数のラインを有するバスと、前記バスに接続された複数のマスタ装置と、前記バスに接続されたスレーブ装置とを備え、前記スレーブ装置は、前記バスにそれぞれ接続され、前記バスを介して前記マスタ装置から転送指示をそれぞれ前記第１の速度で受信する複数のスレーブインターフェースと、前記複数のマスタ装置の間における処理内容の関連性に依存した順番で前記複数のマスタ装置が優先順位付けされた優先順位情報に従って、前記複数のスレーブインターフェースで受信した転送指示の処理順を決定する調停部と、前記調停部により決定された処理順に従い、転送指示に応じた外部との間のデータ転送処理を前記第１の速度より速い第２の速度で行う処理部とを有することを特徴とするデータ転送システムが提供される。【選択図】図１
2012128627.tif 000002
【特許請求の範囲】
【請求項１】
第１の速度でデータをそれぞれ転送する複数のラインを有するバスと、
前記バスに接続された複数のマスタ装置と、
前記バスに接続されたスレーブ装置と、
を備え、
前記スレーブ装置は、
前記バスにそれぞれ接続され、前記バスを介して前記マスタ装置から転送指示をそれぞれ前記第１の速度で受信する複数のスレーブインターフェースと、
前記複数のマスタ装置の間における処理内容の関連性に依存した順番で前記複数のマスタ装置が優先順位付けされた優先順位情報に従って、前記複数のスレーブインターフェースで受信した転送指示の処理順を決定する調停部と、
前記調停部により決定された処理順に従い、転送指示に応じた外部との間のデータ転送処理を前記第１の速度より速い第２の速度で行う処理部と、
を有する
ことを特徴とするデータ転送システム。
【請求項２】
第１の速度でデータをそれぞれ転送する複数のラインを有するバスと、
前記バスに接続された複数のマスタ装置と、
前記バスに接続されたスレーブ装置と、
を備え、
前記スレーブ装置は、
前記バスにそれぞれ接続され、前記バスを介して前記マスタ装置から転送指示をそれぞれ前記第１の速度で受信する複数のスレーブインターフェースと、
前記マスタ装置の処理能力の高い順番で前記複数のマスタ装置が優先順位付けされた優先順位情報に従って、前記複数のスレーブインターフェースで受信した転送指示の処理順を決定する調停部と、
前記調停部により決定された処理順に従い、転送指示に応じた外部との間のデータ転送処理を前記第１の速度より速い第２の速度で行う処理部と、
を有する
ことを特徴とするデータ転送システム。
【請求項３】
第１の速度でデータをそれぞれ転送する複数のラインを有するバスと、
前記バスに接続された複数のマスタ装置と、
前記バスに接続されたスレーブ装置と、
を備え、
前記スレーブ装置は、
前記バスにそれぞれ接続され、前記バスを介して異なる前記マスタ装置から転送指示をそれぞれ前記第１の速度で受信する複数のスレーブインターフェースと、
前記複数のスレーブインターフェースをラウンドロビンで選択することにより、前記複数のスレーブインターフェースで受信した転送指示の処理順を決定する調停部と、
前記調停部により決定された処理順に従い、転送指示に応じた外部との間のデータ転送処理を前記第１の速度より速い第２の速度で行う処理部と、
を有する
ことを特徴とするデータ転送システム。
【請求項４】
第１の速度でデータをそれぞれ転送する複数のラインを有するバスと、
前記バスに接続された複数のマスタ装置と、
前記バスに接続されたスレーブ装置と、
を備え、
前記スレーブ装置は、
前記バスにそれぞれ接続され、前記バスを介して前記マスタ装置から転送指示をそれぞれ前記第１の速度で受信する複数のスレーブインターフェースと、
直前に処理された転送指示を記憶する記憶部と、
前記記憶部に記憶された転送指示との関係を考慮しながら、前記複数のスレーブインターフェースで受信した転送指示のそれぞれについてデータ転送処理の処理速度を判定する判定部と、
前記判定部により判定された結果に応じて、前記複数のスレーブインターフェースで受信した転送指示の処理順を決定する決定部と、
前記決定部により決定された処理順に従い、転送指示に応じた外部との間のデータ転送処理を前記第１の速度より速い第２の速度で行う処理部と、
を有する
ことを特徴とするデータ転送システム。
【請求項５】
前記判定部は、前記複数のスレーブインターフェースで受信した転送指示のうち、前記記憶部に記憶された転送指示のアドレスに近いアドレスの転送指示についての処理速度を、前記記憶部に記憶された転送指示のアドレスから遠いアドレスの転送指示についての処理速度に比べて、速い速度に判定し、
前記決定部は、処理速度の速い転送指示が処理速度の遅い転送指示よりも優先されるように、転送指示の処理順を決定する
ことを特徴とする請求項４に記載のデータ転送システム。
【請求項６】
前記複数のマスタ装置は、
転送指示としてリード指示をライト指示より多く出す第１のマスタ装置と、
転送指示としてライト指示をリード指示より多く出す第２のマスタ装置と、
を有し、
前記判定部は、前記記憶部に記憶された転送指示がライト指示である場合、前記第１のマスタ装置から受信した転送指示についての処理速度を前記第２のマスタ装置から受信した転送指示についての処理速度に比べて速い速度に判定し、前記記憶部に記憶された転送指示がリード指示である場合、前記第２のマスタ装置から受信した転送指示についての処理速度を前記第１のマスタ装置から受信した転送指示についての処理速度に比べて速い速度に判定し、
前記決定部は、処理速度の速い転送指示が処理速度の遅い転送指示よりも優先されるように、転送指示の処理順を決定する
ことを特徴とする請求項４に記載のデータ転送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、データ転送システムに関する。
【背景技術】
【０００２】
複数のマスタが低速バス及びメモリコントローラを介して高速メモリに接続されたシステムでは、高速メモリに接続されたメモリコントローラ内のメモリＩ／Ｆに対して、高速メモリに対応した高速な動作速度で（効率よく）動作することが求められている。しかし、このシステムでは、複数のマスタからメモリコントローラへ同時に転送指示（高速メモリへのアクセス要求）が出された場合、バスに接続されたメモリコントローラ内のスレーブインターフェースが低速バスと同様に低速で動作するため、メモリコントローラ内のメモリＩ／Ｆが高速メモリとの間でデータ転送処理を行わない空き時間が発生する傾向にある。これにより、システムの動作効率が低下する傾向にある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１２７０２２号公報
【特許文献２】特開平７−３６８１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
１つの実施形態は、例えば、動作効率を向上できるデータ転送システムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
１つの実施形態によれば、第１の速度でデータをそれぞれ転送する複数のラインを有するバスと、前記バスに接続された複数のマスタ装置と、前記バスに接続されたスレーブ装置とを備え、前記スレーブ装置は、前記バスにそれぞれ接続され、前記バスを介して前記マスタ装置から転送指示をそれぞれ前記第１の速度で受信する複数のスレーブインターフェースと、前記複数のマスタ装置の間における処理内容の関連性に依存した順番で前記複数のマスタ装置が優先順位付けされた優先順位情報に従って、前記複数のスレーブインターフェースで受信した転送指示の処理順を決定する調停部と、前記調停部により決定された処理順に従い、転送指示に応じた外部との間のデータ転送処理を前記第１の速度より速い第２の速度で行う処理部とを有することを特徴とするデータ転送システムが提供される。
【図面の簡単な説明】
【０００６】
【図１】第１の実施形態にかかるデータ転送システムの構成を示す図。
【図２】第１の実施形態における優先指定テーブルの構成を示す図。
【図３】第１の実施形態にかかるデータ転送システムの動作を示すフローチャート。
【図４】第１の実施形態にかかるデータ転送システムの動作を示すタイミングチャート。
【図５】第２の実施形態にかかるデータ転送システムの構成を示す図。
【図６】第３の実施形態にかかるデータ転送システムの構成を示す図。
【図７】第３の実施形態における判定テーブルの構成を示す図。
【図８】比較例にかかるデータ転送システムの構成を示す図。
【図９】比較例にかかるデータ転送システムの動作を示すタイミングチャート。
【発明を実施するための形態】
【０００７】
以下に添付図面を参照して、実施形態にかかるデータ転送システムを詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。
【０００８】
（第１の実施形態）
第１の実施形態にかかるデータ転送システム１について図１を用いて説明する。図１は、第１の実施形態にかかるデータ転送システム１の構成を示す図である。
【０００９】
データ転送システム１は、バス１０、複数のマスタ装置２１〜２４、及びスレーブ装置３０を備える。
【００１０】
バス１０は、複数のマスタ装置２１〜２４とスレーブ装置３０とを接続しており、複数のマスタ装置２１〜２４とスレーブ装置３０との間の通信を媒介している。バス１０は、第１の速度でデータをそれぞれ転送する複数のライン１１〜１４を有する。バス１０は、例えば、ＡＨＢ（Ａｄｖａｎｃｅｄ  Ｈｉｇｈ−Ｐｅｒｆｏｒｍａｎｃｅ  Ｂｕｓ）規格に従ったバスであり、第１の速度は、例えば、１００ＭＨｚである。すなわち、バス１０に供給されるバスクロック（図４参照）の周波数は、例えば、１００ＭＨｚである。また、バス１０は、セクタ（５１２Ｂ）単位でデータを転送する。
【００１１】
複数のマスタ装置２１〜２４は、バス１０に接続されている。各マスタ装置２１〜２４は、スレーブ装置３０に対して、バス１０を介したデータ転送を能動的に行う主体として機能する。すなわち、各マスタ装置２１〜２４は、バス１０を介して転送指示をスレーブ装置３０へ送信する。
【００１２】
マスタ装置２１は、例えば、ＳＡＴＡＩ／Ｆである。すなわち、マスタ装置２１は、ホスト装置ＨＡから外部バス（ＳＡＴＡ）経由で受信した命令やデータなどを高速メモリＭ１に書き込むための転送指示（ライト指示）をバス１０経由でスレーブ装置３０へ送信したり、ホスト装置ＨＡへ送信すべきデータを高速メモリＭ１から読み出すための転送指示（リード指示）をバス１０経由でスレーブ装置３０へ送信したりする。マスタ装置２１は、バス１０経由で受信したデータなどを外部バス（ＳＡＴＡ）経由でホスト装置ＨＡへ送信する。
【００１３】
マスタ装置２２は、例えば、ＣＰＵである。すなわち、マスタ装置２２は、データ転送システム１の各構成要素を統括的に制御するもので、ホスト装置ＨＡからマスタ装置（ＳＡＴＡＩ／Ｆ）２１及びバス１０経由で命令を受けた場合に、その命令に従った制御を行う。例えば、マスタ装置２２は、マスタ装置（ＮＡＮＤコントローラ）２４と協働して、ホスト装置ＨＡから命令に従って、ＮＡＮＤ型フラッシュメモリ（以下、ＮＡＮＤメモリと略す）Ｍ２から読み出したデータを高速メモリＭ１に書き込むための転送指示（ライト指示）をバス１０経由でスレーブ装置３０へ送信したり、ＮＡＮＤメモリＭ２へ書き込むべきデータを高速メモリＭ１から読み出すための転送指示（リード指示）をバス１０経由でスレーブ装置３０へ送信したりする。
【００１４】
マスタ装置２３は、例えば、ＥＣＣモジュールである。すなわち、マスタ装置２３は、マスタ装置（ＣＰＵ）２２やマスタ装置（ＮＡＮＤコントローラ）２４と協働して、ＥＣＣ処理（誤り訂正処理）を行ったデータを高速メモリＭ１に書き込むための転送指示（ライト指示）をバス１０経由でスレーブ装置３０へ送信したり、ＥＣＣ処理（誤り訂正処理）を行うべきデータを高速メモリＭ１から読み出すための転送指示（リード指示）をバス１０経由でスレーブ装置３０へ送信したりする。
【００１５】
マスタ装置２４は、例えば、ＮＡＮＤコントローラである。すなわち、マスタ装置２４は、ＮＡＮＤメモリＭ２と高速メモリＭ１との間のデータ転送を制御する。例えば、マスタ装置２４は、マスタ装置（ＣＰＵ）２２と協働して、ＮＡＮＤメモリＭ２から読み出したデータを高速メモリＭ１に書き込むための転送指示（ライト指示）をバス１０経由でスレーブ装置３０へ送信したり、ＮＡＮＤメモリＭ２へ書き込むべきデータを高速メモリＭ１から読み出すための転送指示（リード指示）をバス１０経由でスレーブ装置３０へ送信したりする。
【００１６】
なお、データ転送システム１、高速メモリＭ１、及びＮＡＮＤメモリＭ２は、ホスト装置ＨＡに対する外部記憶媒体として機能するものであり、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）である。ホスト装置ＨＡは、例えば、パーソナルコンピュータ又はＣＰＵコアを含む。
【００１７】
高速メモリＭ１は、例えば、ホスト装置ＨＡとＮＡＮＤメモリＭ２との間でのデータ転送用のキャッシュ領域として、並びに、マスタ装置（ＣＰＵ）２２が使用する作業領域として機能する。高速メモリＭ１は、例えば、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、又はＦｅＲＡＭ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＭＲＡＭ（Ｍａｇｎｅｔｏｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＰＲＡＭなど（Ｐｈａｓｅ  Ｃｈａｎｇｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を含む。特に、高速メモリＭ１は、例えば、ＤＤＲ３−ＳＤＲＡＭであってもよい。
【００１８】
ＮＡＮＤメモリＭ２は、複数のメモリセルがマトリクス状に配列されたメモリセルアレイを有し、個々のメモリセルは上位ページ及び下位ページを使用して多値記憶が可能である。ＮＡＮＤメモリＭ２では、データの消去がブロック単位で行われるのに対して、データの書き込み及び読み出しがページ単位で行われる。ブロックは、複数のページをひとまとめにした単位である。また、ＮＡＮＤメモリＭ２では、マスタ装置（ＣＰＵ）２２による内部的なデータ管理がクラスタ単位で行われ、データの更新がセクタ単位で行われる。この実施の形態では、ページは、複数のクラスタをひとまとめにした単位であるとし、クラスタは、複数のセクタをひとまとめにした単位であるとする。セクタは、ホスト装置ＨＡからのデータの最小アクセス単位であり、例えば、５１２Ｂのサイズを有する。ホスト装置ＨＡは、セクタ単位のＬＢＡ（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓｉｎｇ）によってアクセスするデータを指定する。
【００１９】
また、複数のマスタ装置２１〜２４は、上記の他に、ＤＭＡコントローラや暗号化モジュールなどを含んでいても良い。
【００２０】
スレーブ装置３０は、バス１０に接続されている。スレーブ装置３０は、マスタ装置２１〜２４からの転送指示を受動的に待ち、マスタ装置２１〜２４によるデータ転送のサービスを受ける。すなわち、スレーブ装置３０は、各マスタ装置２１〜２４から転送指示を受信する。
【００２１】
スレーブ装置３０は、例えば、メモリコントローラである。すなわち、スレーブ装置３０は、各マスタ装置２１〜２４から受信した転送指示に応じて、高速メモリＭ１へのデータの書き込みや高速メモリＭ１からのデータの読み出しを制御する。
【００２２】
次に、スレーブ装置３０の構成について図１及び図２を用いて説明する。図２は、第１の実施形態における優先指定テーブル３４ａの構成を示す図である。
【００２３】
スレーブ装置３０は、図１に示すように、複数のスレーブインターフェース３１、３２、記憶部３４、調停部３３、及びメモリ制御ブロック３５を有する。
【００２４】
複数のスレーブインターフェース３１、３２は、それぞれ、バス１０に接続されている。すなわち、スレーブインターフェース３１はバス１０の各ライン１１〜１４に接続されているとともに、スレーブインターフェース３２はバス１０の各ライン１１〜１４に接続されている。
【００２５】
各スレーブインターフェース３１、３２は、互いに独立して異なるマスタ装置２１〜２４との通信を確立する。各スレーブインターフェース３１、３２は、マスタ装置２１〜２４から転送指示を第１の速度で受信する。第１の速度は、例えば、１００ＭＨｚである。すなわち、各スレーブインターフェース３１は、クロックとして、バス１０に供給されるものと同じバスクロックが供給される。各スレーブインターフェース３１に供給されるバスクロック（図４参照）の周波数は、例えば、１００ＭＨｚである。また、各スレーブインターフェース３１、３２は、マスタ装置２１〜２４からデータをセクタ（５１２Ｂ）単位で受信したり、マスタ装置２１〜２４へデータをセクタ（５１２Ｂ）単位で送信したりする。
【００２６】
記憶部３４は、優先指定テーブル（優先順位情報）３４ａを記憶する。優先指定テーブル３４ａは、例えば、予め決定された複数のマスタ装置２１〜２４の間の優先順位を指定するテーブルであり、複数のマスタ装置２１〜２４の間における処理内容の関連性に依存した順番で複数のマスタ装置２１〜２４が優先順位付けされたテーブルである。
【００２７】
具体的には、優先指定テーブル３４ａは、図２に示すように、識別子欄３４ａ１及び優先順位欄３４ａ２を含む。識別子欄３４ａ１には、各マスタ装置２１〜２４の識別子ＩＤ２１〜ＩＤ２４が記録されている。優先順位欄３４ａ２には、対応するマスタ装置２１〜２４の優先順位ＰＲ２１〜ＰＲ２４が記録されている。各マスタ装置２１〜２４の優先順位ＰＲ２１〜ＰＲ２４は、それぞれ、複数のマスタ装置２１〜２４の間における（重視している一連の処理における）処理内容の関連性に依存した順番で決定されたものである。
【００２８】
調停部３３は、記憶部３４に記憶された優先指定テーブル３４ａを参照し、優先指定テーブル３４ａに従って、複数のスレーブインターフェース３１、３２で受信した転送指示の処理順を決定する。
【００２９】
具体的には、調停部３３は、複数のスレーブインターフェース３１、３２からメモリ制御ブロック３５への転送指示を調停する。すなわち、調停部３３は、優先指定テーブル３４ａに従って、複数のスレーブインターフェース３１、３２で受信した転送指示の処理順を決定する。すなわち、調停部３３は、優先指定テーブル３４ａにおける優先順位の高いものから低いものを順番に選択することをサイクリックに（ラウンドロビン的に）行いながら、複数のスレーブインターフェース３１、３２で受信した転送指示に対して選択されたマスタ装置の順番で処理順を決定する。
【００３０】
そして、調停部３３は、複数のスレーブインターフェース３１、３２で受信された複数の転送指示をその決定した処理順にアクセス権を与えて順次にメモリ制御ブロック３５へ供給する。
【００３１】
メモリ制御ブロック３５は、調停部３３により決定された処理順に従い、転送指示に応じた高速メモリ（外部）Ｍ１との間のデータ転送処理を第２の速度で行う。
【００３２】
具体的には、メモリ制御ブロック３５は、調停部３３から供給された転送指示に応じたデータ転送処理を行う。
【００３３】
例えば、メモリ制御ブロック３５は、転送指示がライト指示である場合、そのライト指示に従って、所定のデータを高速メモリＭ１へ書き込む。あるいは、例えば、メモリ制御ブロック３５は、転送指示がリード指示である場合、そのリード指示に従って、所定のデータを高速メモリＭ１から読み出す。
【００３４】
なお、高速メモリＭ１は、例えば、ＤＤＲ３−ＳＤＲＡＭである場合、最低動作周波数が３３３ＭＨｚである。すなわち、高速メモリＭ１に供給されるメモリクロック（図４参照）の周波数は、例えば、３３３ＭＨｚである。
【００３５】
そこで、メモリ制御ブロック３５は、高速メモリＭ１に対応した高速な動作速度で動作することが求められている。すなわち、第２の速度は、第１の速度（例えば、１００ＭＨｚ）より速い速度であり、例えば、１３３ＭＨｚである。すなわち、メモリ制御ブロック３５に供給されるクロック（図示せず）の周波数は、例えば、１３３ＭＨｚである。
【００３６】
次に、データ転送システム１の動作について図３を用いて説明する。図３は、データ転送システム１の動作を示すフローチャートである。
【００３７】
ステップＳ１の前に、予め、記憶部３４は、優先指定テーブル（優先順位情報）３４ａを記憶する。優先指定テーブル３４ａは、例えば、予め決定された複数のマスタ装置２１〜２４の間の優先順位を指定するテーブルであり、複数のマスタ装置２１〜２４の間における処理内容の関連性に依存した順番で複数のマスタ装置２１〜２４が優先順位付けされたテーブルである。
【００３８】
具体的には、優先指定テーブル３４ａは、図２に示すように、識別子欄３４ａ１及び優先順位欄３４ａ２を含む。識別子欄３４ａ１には、各マスタ装置２１〜２４の識別子ＩＤ２１〜ＩＤ２４が記録されている。優先順位欄３４ａ２には、各マスタ装置２１〜２４の優先順位ＰＲ２１〜ＰＲ２４が記録されている。各マスタ装置２１〜２４の優先順位ＰＲ２１〜ＰＲ２４は、それぞれ、複数のマスタ装置２１〜２４の間における（重視している一連の処理における）処理内容の関連性に依存した順番で決定されたものである。
【００３９】
例えば、マスタ装置（ＣＰＵ）２２がマスタ装置（ＮＡＮＤコントローラ）２４と協働して、ＮＡＮＤメモリＭ２から読み出した（複数のセクタを含む）クラスタ単位のデータを高速メモリＭ１へ書き込んだり、あるいは、ＮＡＮＤメモリＭ２へ書き込むべきクラスタ単位のデータを高速メモリＭ１から読み出したりする一連の処理を重視している場合を考える。この場合、一連の処理において、マスタ装置（ＣＰＵ）２２による処理とマスタ装置（ＮＡＮＤコントローラ）２４による処理とが、交互に行われる関係にある。このような処理内容の関連性に依存した順番として、マスタ装置２１、２２、２３、２４の優先順位は、例えば、優先順位ＰＲ２１＝１、優先順位ＰＲ２２＝２、優先順位ＰＲ２３＝３、優先順位ＰＲ２４＝４と決定される（図２参照）。
【００４０】
ステップＳ１では、スレーブ装置３０の各スレーブインターフェース３１、３２が、互いに独立して異なるマスタ装置２１〜２４との通信を確立する。複数のスレーブインターフェース３１、３２は、同時に受信されたとみなせる所定の時間内に、異なるマスタ装置２１〜２４から転送指示をそれぞれ第１の速度で受信する。第１の速度は、例えば、１００ＭＨｚである。
【００４１】
例えば、複数のスレーブインターフェース３１、３２は、同時に受信されたとみなせる所定の時間内に、マスタ装置２２、２４から転送指示をそれぞれ受信する。
【００４２】
ステップＳ２では、調停部３３が、記憶部３４に記憶された優先指定テーブル３４ａを参照し、優先指定テーブル３４ａに従って、複数のスレーブインターフェース３１、３２で受信した転送指示の処理順を決定する。
【００４３】
具体的には、調停部３３は、複数のスレーブインターフェース３１、３２で受信された転送指示を調停する。すなわち、調停部３３は、優先指定テーブル３４ａに従って、複数のスレーブインターフェース３１、３２で受信した転送指示の処理順を決定する。すなわち、調停部３３は、優先指定テーブル３４ａにおける優先順位の高いものから低いものを順番に選択することをサイクリックに（ラウンドロビン的に）行いながら、複数のスレーブインターフェース３１、３２で受信した転送指示に対して選択されたマスタ装置の順番で処理順を決定する。
【００４４】
そして、調停部３３は、複数のスレーブインターフェース３１、３２で受信された複数の転送指示をその決定した処理順にアクセス権を与えて順次にメモリ制御ブロック３５へ供給する。
【００４５】
例えば、優先指定テーブル３４ａにおいて、マスタ装置２１、２２、２３、２４の優先順位が、それぞれ、優先順位ＰＲ２１＝１、優先順位ＰＲ２２＝２、優先順位ＰＲ２３＝３、優先順位ＰＲ２４＝４と決定されている場合を考える。このとき、同時に受信されたとみなせる所定の時間内に、マスタ装置２２からの転送指示がスレーブインターフェース３１で受信され、マスタ装置２４からの転送指示がスレーブインターフェース３２で受信されたら、調停部３３は、優先指定テーブル３４ａを参照することにより、受信タイミングの順番に関わらず、マスタ装置２２からの転送指示とマスタ装置２４からの転送指示とを交互に選択するように転送指示の処理順を決定する。
【００４６】
ステップＳ３では、メモリ制御ブロック３５が、調停部３３により決定された処理順に従い、転送指示に応じた高速メモリ（外部）Ｍ１との間のデータ転送処理を第２の速度で行う。
【００４７】
具体的には、メモリ制御ブロック３５は、調停部３３から供給された転送指示をアクセス権が与えられた転送指示として、その供給された転送指示に応じたデータ転送処理を行う。
【００４８】
例えば、メモリ制御ブロック３５は、調停部３３により決定された処理順に従い、マスタ装置２２からの転送指示に応じたデータとマスタ装置２４からの転送指示に応じたデータとを交互に高速メモリＭ１へ書き込む。あるいは、例えば、メモリ制御ブロック３５は、調停部３３により決定された処理順に従い、マスタ装置２２からの転送指示に応じたデータとマスタ装置２４からの転送指示に応じたデータとを交互に高速メモリＭ１から読み出す。
【００４９】
ここで、仮に、図８に示すように、データ転送システム９００において、スレーブ装置（メモリコントローラ）９３０が１つのスレーブインターフェース９３１及びメモリ制御ブロック９３５を有する場合について考える。このとき、高速メモリＭ１は、例えば、ＤＤＲ３−ＳＤＲＡＭであれば、最低動作周波数が３３３ＭＨｚである。すなわち、図９に示すように、高速メモリＭ１に供給されるメモリクロックの周波数は、例えば、３３３ＭＨｚである。そこで、メモリ制御ブロック９３５は、高速メモリＭ１に対応した高速な動作速度（例えば、１３３ＭＨｚ）で動作する。この場合でも、図９に示すように、スレーブインターフェース９３１に供給されるバスクロックの周波数は、例えば、１００ＭＨｚである。
【００５０】
すなわち、スレーブインターフェース９３１がメモリ制御ブロック９３５より低速（第１の速度）で動作するため、スレーブ装置（メモリコントローラ）９３０内のメモリ制御ブロック９３５が高速メモリＭ１との間でデータ転送処理を行わない空き時間が発生する傾向にある。例えば、図９に示すように、スレーブインターフェース９３１がマスタ装置２２の転送指示、マスタ装置２４の転送指示を順に受信する場合、メモリ制御ブロック９３５がマスタ装置２２の転送指示の処理を完了した時点で、スレーブインターフェース９３１によるマスタ装置２４の転送指示の受信処理がまだ始まっていない。このため、メモリ制御ブロック９３５は、時間Ｔ９０３だけ待ってからマスタ装置２４の転送指示を受けてマスタ装置２４の転送指示の処理を行う。これにより、データ転送システム９００全体としてみた場合に、マスタ装置２２の転送指示及びマスタ装置２４の転送指示の処理時間Ｔ９０１が長くなる傾向にあるので、データ転送システム９００の動作効率が低下する傾向にある。
【００５１】
それに対して、第１の実施形態では、データ転送システム１において、スレーブ装置（メモリコントローラ）３０が複数のスレーブインターフェース３１、３２、調停部３３、及びメモリ制御ブロック３５を有する。複数のスレーブインターフェース３１、３２は、図４に示すように、複数のマスタ装置２１〜２４から転送指示を並行して低速（第１の速度）で受信する。調停部３３は、複数のマスタ装置２１〜２４の間における処理内容の関連性に依存した順番で複数のマスタ装置２１〜２４が予め優先順位付けされた優先指定テーブル３４ａに従って、複数のスレーブインターフェース３１、３２で受信した転送指示の処理順を決定する。メモリ制御ブロック３５は、調停部３３により決定された処理順に従い、転送指示に応じた高速メモリ（外部）Ｍ１との間のデータ転送処理を高速（第１の速度より速い第２の速度）で行う。
【００５２】
すなわち、複数のスレーブインターフェース３１、３２がメモリ制御ブロック３５より低速（第１の速度）であるが互いに並行して受信動作を行うため、スレーブ装置（メモリコントローラ）３０内のメモリ制御ブロック３５が高速メモリＭ１との間でデータ転送処理を行わない空き時間を低減できる。複数のマスタ装置２１〜２４からの転送指示を並行して受け付けることで、バス１０の速度が遅い場合でも、スレーブ装置（メモリコントローラ）３０に対して次に処理すべき転送指示を投入することができる。例えば、図４に示すように、スレーブインターフェース３１がマスタ装置２２の転送指示を受信する処理と、スレーブインターフェース３２がマスタ装置２４の転送指示を受信する処理とが並行して行われる場合、メモリ制御ブロック３５がマスタ装置２２の転送指示の処理を完了した時点で、スレーブインターフェース３２によるマスタ装置２４の転送指示の受信処理がすでに始まっている。このため、メモリ制御ブロック３５は、直ちに（図９に示す時間Ｔ９０３だけ待つことなく）マスタ装置２４の転送指示を受けてマスタ装置２４の転送指示の処理を行う。これにより、データ転送システム１全体としてみた場合に、マスタ装置２２の転送指示及びマスタ装置２４の転送指示の処理時間Ｔ１が短くできる（図９に示す処理時間Ｔ９０１に比べて図４に示す時間Ｔ２だけ短縮できる）ので、データ転送システム１の動作効率を向上できる。
【００５３】
あるいは、仮に、データ転送システム１において、調停部３３が、複数のスレーブインターフェース３１、３２で受信した転送指示が受信された順番に処理されるように転送指示の処理順を決定する場合について考える。この場合、複数のマスタ装置２１〜２４の間における処理内容の関連性を無視した順番で転送指示の処理順が決定される傾向にある。
【００５４】
例えば、マスタ装置（ＣＰＵ）２２がマスタ装置（ＮＡＮＤコントローラ）２４と協働して、ＮＡＮＤメモリＭ２から読み出した（複数のセクタを含む）クラスタ単位のデータを高速メモリＭ１へ書き込んだり、あるいは、ＮＡＮＤメモリＭ２へ書き込むべきクラスタ単位のデータを高速メモリＭ１から読み出したりする一連の処理を重視している場合を考える。この一連の処理において、マスタ装置（ＣＰＵ）２２による処理とマスタ装置（ＮＡＮＤコントローラ）２４による処理とが、交互に行われる関係にある。この場合でも、複数のスレーブインターフェース３１、３２がマスタ装置２２の転送指示を連続的に複数受信した後にマスタ装置２４の転送指示を連続的に複数受信すると、調停部３３が、マスタ装置２２の複数の転送指示の後にマスタ装置２４の複数の転送指示が来るように、転送指示の処理順を決定する。これにより、メモリ制御ブロック３５は、マスタ装置２２の複数の転送指示における最初の転送指示を処理した後に、マスタ装置２２の次以降の転送指示を保持する処理を行う必要があるとともに、マスタ装置２４の複数の転送指示における最初の転送指示を受けるまで所定の時間待つ必要がある。そして、メモリ制御ブロック３５は、マスタ装置２２の次以降の転送指示を保持しながら、マスタ装置２４の最初の転送指示を受けて処理することになる。すなわち、データ転送システム１全体としてみた場合に、マスタ装置２２の複数の転送指示及びマスタ装置２４の複数の転送指示の処理時間が長くなる傾向にあるので、データ転送システム１の動作効率が低下する傾向にある。
【００５５】
それに対して、第１の実施形態では、調停部３３が、複数のマスタ装置２１〜２４の間における処理内容の関連性に依存した順番で複数のマスタ装置２１〜２４が予め優先順位付けされた優先指定テーブル３４ａに従って、複数のスレーブインターフェース３１、３２で受信した転送指示の処理順を決定する。メモリ制御ブロック３５は、調停部３３により決定された処理順に従い、転送指示に応じた高速メモリ（外部）Ｍ１との間のデータ転送処理を高速（第１の速度より速い第２の速度）で行う。
【００５６】
例えば、上記のような、マスタ装置（ＣＰＵ）２２による処理とマスタ装置（ＮＡＮＤコントローラ）２４による処理とが、交互に行われる関係にある一連の処理を重視している場合に、複数のスレーブインターフェース３１、３２がマスタ装置２２の転送指示を連続的に複数受信した後にマスタ装置２４の転送指示を連続的に複数受信したときでも、調停部３３が、マスタ装置２２の転送指示とマスタ装置２４の転送指示とが交互に行われるように、転送指示の処理順を決定する。これにより、メモリ制御ブロック３５は、マスタ装置２２の複数の転送指示における最初の転送指示を処理した後に、マスタ装置２２の次以降の転送指示を保持する処理を行う必要がなく、マスタ装置２４の複数の転送指示における最初の転送指示を受けるまで所定の時間待つ必要がない。そして、メモリ制御ブロック３５は、マスタ装置２２の次以降の転送指示を保持せずに、マスタ装置２４の最初の転送指示を受けて処理することになる。すなわち、データ転送システム１全体としてみた場合に、マスタ装置２２の複数の転送指示及びマスタ装置２４の複数の転送指示の処理時間を短縮できるので、データ転送システム１の動作効率を向上できる。
【００５７】
なお、スレーブ装置３０は、２個より多くのスレーブインターフェースを有していても良い。
【００５８】
また、スレーブ装置３０において、記憶部３４に記憶された優先指定テーブル３４ａは、例えば、マスタ装置２１〜２４の処理能力の高い順番で複数のマスタ装置２１〜２４が優先順位付けされたテーブルであってもよい。この場合、調停部３３は、優先指定テーブル３４ａにおける優先順位の高いものから低いもの（複数のマスタ装置２１〜２４における処理能力の高いものから低いもの）を順番に選択することをサイクリックに（ラウンドロビン的に）行いながら、複数のスレーブインターフェース３１、３２で受信した転送指示に対して選択されたマスタ装置の順番で処理順を決定する。
【００５９】
例えば、マスタ装置２１の処理能力＞マスタ装置２２の処理能力＞マスタ装置２３の処理能力＞マスタ装置２４の処理能力である場合、優先指定テーブル３４ａにおいて、マスタ装置２１、２２、２３、２４の優先順位が、それぞれ、優先順位ＰＲ２１＝１、優先順位ＰＲ２２＝２、優先順位ＰＲ２３＝３、優先順位ＰＲ２４＝４と予め決定されている場合を考える。このとき、同時に受信されたとみなせる所定の時間内に、マスタ装置２２からの転送指示がスレーブインターフェース３１で受信され、マスタ装置２４からの転送指示がスレーブインターフェース３２で受信されたら、調停部３３は、優先指定テーブル３４ａを参照することにより、受信タイミングの順番に関わらず、マスタ装置２２からの転送指示とマスタ装置２４からの転送指示とを交互に選択するように（処理能力の高いマスタ装置と低いマスタ装置とを交互に選択するように）転送指示の処理順を決定する。
【００６０】
そして、例えば、調停部３３は、複数のスレーブインターフェース３１、３２で受信された複数の転送指示をその決定した処理順にアクセス権を与えて順次にメモリ制御ブロック３５へ供給する。
【００６１】
さらに、メモリ制御ブロック３５は、調停部３３により決定された処理順に従い、マスタ装置２２からの転送指示に応じたデータとマスタ装置２４からの転送指示に応じたデータとを交互に高速メモリＭ１へ書き込む。あるいは、メモリ制御ブロック３５は、調停部３３により決定された処理順に従い、マスタ装置２２からの転送指示に応じたデータとマスタ装置２４からの転送指示に応じたデータとを交互に高速メモリＭ１から読み出す。
【００６２】
このように、メモリ制御ブロック３５は、複数のマスタ装置２１〜２４における処理能力の高いものから低いものを順番にサイクリックに（ラウンドロビン的に）処理することになる。これにより、データ転送システム１全体としてみた場合に、複数のマスタ装置２１〜２４の転送指示を処理する際における負荷を平均化することができるので、データ転送システム１の動作効率を向上できる。
【００６３】
（第２の実施形態）
次に、第２の実施形態にかかるデータ転送システム１００について図５を用いて説明する。図５は、第２の実施形態にかかるデータ転送システム１００の構成を示す図である。
【００６４】
データ転送システム１００は、スレーブ装置１３０を備える。スレーブ装置１３０は、記憶部３４（図１参照）を有せず、調停部１３３を有する。調停部１３３は、複数のスレーブインターフェース３１、３２をラウンドロビンで選択することにより、複数のスレーブインターフェース３１、３２で受信した転送指示の処理順を決定する。
【００６５】
例えば、バス１０の使用権を調停する回路（図示せず）は、（複数のスレーブインターフェース３１、３２における同時に受信したとみなせる）所定の時間内において、バス１０の使用権を異なるマスタ装置２１〜２４に割り当てる。複数のスレーブインターフェース３１、３２は、この所定の時間内に、異なるマスタ装置２１〜２４から転送指示を受信する。このとき、調停部１３３は、複数のスレーブインターフェース３１、３２をラウンドロビンで選択し、選択されたスレーブインターフェース３１、３２で受信された転送指示を次に処理するように、転送指示の処理順を決定する。
【００６６】
そして、例えば、調停部１３３は、複数のスレーブインターフェース３１、３２で受信された複数の転送指示をその決定した処理順にアクセス権を与えて順次にメモリ制御ブロック３５へ供給する。
【００６７】
さらに、メモリ制御ブロック３５は、調停部１３３により決定された処理順に従い、マスタ装置２２からの転送指示に応じたデータとマスタ装置２４からの転送指示に応じたデータとを交互に高速メモリＭ１へ書き込む。あるいは、メモリ制御ブロック３５は、調停部１３３により決定された処理順に従い、マスタ装置２２からの転送指示に応じたデータとマスタ装置２４からの転送指示に応じたデータとを交互に高速メモリＭ１から読み出す。
【００６８】
このように、メモリ制御ブロック３５は、複数のマスタ装置２１〜２４における直前に選択されていないもの順番にサイクリックに（ラウンドロビン的に）処理することになる。これにより、データ転送システム１００全体としてみた場合に、複数のマスタ装置２１〜２４の転送指示を処理する際における負荷を平均化することができるので、データ転送システム１００の動作効率を向上できる。
【００６９】
（第３の実施形態）
次に、第３の実施形態にかかるデータ転送システム２００について図６を用いて説明する。図６は、第３の実施形態にかかるデータ転送システム２００の構成を示す図である。
【００７０】
データ転送システム２００は、スレーブ装置２３０を備える。スレーブ装置２３０は、記憶部２３６、判定部２３７、決定部２３８、及びレジスタ２３９を有する。
【００７１】
記憶部２３６は、メモリ制御ブロック３５により転送指示が処理された際に、その処理した転送指示をメモリ制御ブロック３５から受ける。そして、記憶部２３６は、次の転送指示がメモリ制御ブロック３５により処理されるまで、直前に処理された転送指示を記憶する。
【００７２】
また、レジスタ２３９は、メモリ制御ブロック３５により処理された転送指示の内容をメモリ制御ブロック３５から受ける。そして、レジスタ２３９は、メモリ制御ブロック３５により処理された転送指示の内容を記憶する。このとき、レジスタ２３９は複数の記憶単位を含んでいる。そして、メモリ制御ブロック３５は、レジスタ２３９における各記憶単位のアドレス空間と、高速メモリＭ１の各メモリセルのアドレス空間とを、連続したアドレス空間として認識している。
【００７３】
判定部２３７は、記憶部２３６に記憶された転送指示との関係を考慮しながら、複数のスレーブインターフェース３１、３２で受信した転送指示のそれぞれについてデータ転送処理の処理速度を判定する。
【００７４】
具体的には、判定部２３７は、複数のスレーブインターフェース３１、３２で受信した転送指示のうち、記憶部２３６に記憶された転送指示のアドレスに近いアドレスの転送指示についての処理速度を、記憶部に記憶された転送指示のアドレスから遠いアドレスの転送指示についての処理速度に比べて、速い速度に判定する。
【００７５】
すなわち、直前にメモリ制御ブロック３５により処理された転送指示の内容がレジスタ２３９に記憶されているので、記憶部２３６に記憶された転送指示のアドレスに近いアドレスの転送指示であれば、メモリ制御ブロック３５は、レジスタ２３９にアクセスすることにより、高速メモリＭ１にアクセスすることなく、転送指示を高速に処理できると推定される。また、記憶部２３６に記憶された転送指示のアドレスに近いアドレスの転送指示であれば、直前のアドレスからのアドレス値のカウントアップ／カウントダウン動作も少なくてすむので、この観点からも、転送指示を高速に処理できると推定される。すなわち、高速メモリＭ１がＳＤＲＡＭである場合を例とすると、連続したアドレス（ＲＡＳが変わらないような）を継続させた方が、高速メモリＭ１に対するコマンド発行サイクルが減り、アクセスレイテンシを低下させることができる。
【００７６】
そこで、判定部２３７は、記憶部２３６に記憶された転送指示のアドレスに近いアドレスの転送指示についての処理速度を、記憶部に記憶された転送指示のアドレスから遠いアドレスの転送指示についての処理速度に比べて、速い速度に判定する。
【００７７】
例えば、複数のスレーブインターフェース３１、３２は、同時に受信されたとみなせる所定の時間内に、マスタ装置２１のリード指示とマスタ装置２２のライト指示とを受信した場合について考える。判定部２３７は、記憶部２３６に記憶された転送指示のアドレスに対して、マスタ装置２２のライト指示のアドレスの方がマスタ装置２１のリード指示のアドレスよりも近いと判定したとする。このとき、判定部２３７は、マスタ装置２２のライト指示の処理速度ＰＳ２を、マスタ装置２１のリード指示の処理速度ＰＳ１より速い速度（ＰＳ１＜ＰＳ２）に判定する。そして、判定部２３７は、判定結果を示す判定テーブル２３７ａ（図７参照）を動的に生成し決定部２３８に供給する。
【００７８】
具体的には、判定テーブル２３７ａは、図７に示すように、転送指示欄２３７ａ１及び処理速度欄２３７ａ２を含む。転送指示欄２３７ａ１には、各転送指示を識別するための情報（例えば、「マスタ装置２１のリード指示」、「マスタ装置２２のライト指示」）が記録されている。処理速度欄２３７ａ２には、対応する転送指示の処理速度ＰＳ１、ＰＳ２が記録されている。各転送指示の処理速度ＰＳ１、ＰＳ２は、記憶部２３６に記憶された転送指示との関係を考慮しながら決定されたものである。
【００７９】
決定部２３８は、判定テーブル２３７ａ（図７参照）の情報を判定部２３７から受ける。決定部２３８は、判定部２３７により判定された結果を示す判定テーブル２３７ａに応じて、複数のスレーブインターフェース３１、３２で受信した転送指示の処理順を決定する。具体的には、決定部２３８は、処理速度の速い転送指示が処理速度の遅い転送指示よりも優先されるように、転送指示の処理順を決定する。
【００８０】
例えば、決定部２３８は、判定テーブル２３７ａにより、マスタ装置２２のライト指示の処理速度ＰＳ２がマスタ装置２１のリード指示の処理速度ＰＳ１より速い（ＰＳ１＜ＰＳ２）ことが示されている場合、マスタ装置２２のライト指示がマスタ装置２１のリード指示よりも優先されるように、転送指示の処理順を決定する。
【００８１】
このとき、決定部２３８は、その決定した転送指示の処理順により調停部３３の決定した処理順を変更する（順番を入れ替える）ように、メモリ制御ブロック３５経由で調停部３３に変更要求を供給する。これに応じて、調停部３３は、調停部３３の決定した転送指示の処理順を、決定部２３８の決定した転送指示の処理順により変更して、変更後の転送処理の処理順にアクセス権を与えて順次にメモリ制御ブロック３５へ供給する。
【００８２】
そして、メモリ制御ブロック３５は、決定部２３８により決定された処理順に従い、転送指示に応じた高速メモリＭ１との間のデータ転送処理を行う。すなわち、メモリ制御ブロック３５は、決定部２３８により決定された処理順に従って調停部３３により変更された処理順に従って、転送指示に応じた高速メモリＭ１との間のデータ転送処理を行う。
【００８３】
このように、メモリ制御ブロック３５は、直前に処理された転送指示から見てアドレスの近い転送指示を優先的に処理することになる。これにより、データ転送システム２００全体としてみた場合に、マスタ装置２１の転送指示及びマスタ装置２２の転送指示の処理時間を短縮できるので、データ転送システム２００の動作効率を向上できる。
【００８４】
なお、複数のマスタ装置２１〜２４は、転送指示としてリード指示をライト指示より多く出す第１のマスタ装置と、転送指示としてライト指示をリード指示より多く出す第２のマスタ装置とを有していてもよい。例えば、複数のマスタ装置２１〜２４は、第１のマスタ装置としてマスタ装置２１を有し、第２のマスタ装置としてマスタ装置２２を有していても良い。この場合、判定部２３７は、記憶部２３６に記憶された転送指示がライト指示である場合、第１のマスタ装置から受信した転送指示についての処理速度を第２のマスタ装置から受信した転送指示についての処理速度に比べて速い速度に判定する。
【００８５】
例えば、判定部２３７は、記憶部２３６に記憶された転送指示がライト指示である場合、マスタ装置２１のリード指示の処理速度ＰＳ１を、マスタ装置２２のライト指示の処理速度ＰＳ２より速い速度（ＰＳ１＞ＰＳ２）に判定する（図７参照）。そして、決定部２３８は、判定テーブル２３７ａにより、マスタ装置２１のリード指示の処理速度ＰＳ１がマスタ装置２２のライト指示の処理速度ＰＳ２より速い（ＰＳ１＞ＰＳ２）ことが示されていることに応じて、マスタ装置２１のリード指示がマスタ装置２２のライト指示よりも優先されるように、転送指示の処理順を決定する。
【００８６】
あるいは、例えば、判定部２３７は、記憶部２３６に記憶された転送指示がリード指示である場合、マスタ装置２２のライト指示の処理速度ＰＳ２を、マスタ装置２１のリード指示の処理速度ＰＳ１より速い速度（ＰＳ１＜ＰＳ２）に判定する（図７参照）。そして、決定部２３８は、判定テーブル２３７ａにより、マスタ装置２２のライト指示の処理速度ＰＳ２がマスタ装置２１のリード指示の処理速度ＰＳ１より速い（ＰＳ１＜ＰＳ２）ことが示されていることに応じて、マスタ装置２２のライト指示がマスタ装置２１のリード指示よりも優先されるように、転送指示の処理順を決定する。
【００８７】
そして、メモリ制御ブロック３５は、決定部２３８により決定された処理順に従い、転送指示に応じた高速メモリＭ１との間のデータ転送処理を行う。すなわち、メモリ制御ブロック３５は、決定部２３８により決定された処理順に従って調停部３３により変更された処理順に従って、転送指示に応じた高速メモリＭ１との間のデータ転送処理を行う。
【００８８】
このように、メモリ制御ブロック３５は、直前に処理された転送指示から見て転送方向が逆の転送指示を優先的に処理することになる。すなわち、バス１０の使用権を調停する回路（図示せず）は、（複数のスレーブインターフェース３１、３２における同時に受信したとみなせる）所定の時間内において、バス１０の使用権を異なるマスタ装置２１〜２４に割り当てている。このため、直前に処理された転送指示から見て転送方向が逆の転送指示を優先的に処理することは、直前に処理された転送指示と異なるマスタ装置の転送指示を優先的に処理することに相当する。例えば、直前に処理されたのがマスタ装置２１の転送指示（リード処理）であれば次にマスタ装置２２の転送指示（ライト処理）を優先して処理し、直前に処理されたのがマスタ装置２２の転送指示（ライト処理）であれば次にマスタ装置２１の転送指示（リード処理）を優先して処理する。これにより、マスタ装置２１の転送指示（リード処理）とマスタ装置２２の転送指示（ライト処理）とを部分的に並行させながら処理することができる。すなわち、データ転送システム２００全体としてみた場合に、マスタ装置２１の転送指示及びマスタ装置２２の転送指示の処理時間を短縮できるので、データ転送システム２００の動作効率を向上できる。
【００８９】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００９０】
１、１００、２００、９００  データ転送システム、１０  バス、２１〜２４  マスタ装置、３０、１３０、２３０、９３０  スレーブ装置、３１、３２、９３１  スレーブインターフェース、３３、１３３  調停部、３４  記憶部、３５、９３５  メモリ制御ブロック、２３６  記憶部、２３７  判定部、２３８  決定部、２３９  レジスタ、ＨＡ  ホスト装置、Ｍ１  高速メモリ、Ｍ２  ＮＡＮＤメモリ。
【図１】
2012128627.tif 000003
【図２】
2012128627.tif 000004
【図３】
2012128627.tif 000005
【図４】
2012128627.tif 000006
【図５】
2012128627.tif 000007
【図６】
2012128627.tif 000008
【図７】
2012128627.tif 000009
【図８】
2012128627.tif 000010
【図９】
2012128627.tif 000011