(57)【特許請求の範囲】
【請求項１】
プロセッサにより生成され、主メモリの所定の領域に割り当てられるスケジューリングテーブルに設定された、次にアクセスされるテーブルへの第１のポインタと、入出力データバッファへの第２のポインタを含むアドレス情報に従い、前記第２のポインタが示す入出力データバッファの転送データを読み出し、前記読み出した転送データを、前記プロセッサに入出力バス経由で接続される入出力モジュールへ転送するデータ転送装置であって、
前記転送に先立ち、
前記スケジューリングテーブルの先頭位置に予め設定された前記第１のポインタが示す前記入出力データバッファの転送データが目的のデータであることを示す第１の特定の情報と、前記入出力データバッファの先頭位置に予め設定された前記第１の特定の情報とを照合し、
更に、前記スケジューリングテーブルの任意の位置に予め設定された、前記第２のポインタが所望の位置にあることを示す第２の特定の情報と、前記入出力データバッファの任意の位置に予め設定された前記第２の特定の情報とを照合し、
共に一致した場合に前記転送を許可する制御部、
を有することを特徴とするデータ転送装置。
【請求項２】
前記プロセッサが有する内部バスにＤＭＡコントローラが接続され、
前記制御部は、
前記第１の特定の情報を照合した結果、一致が確認されると、前記ＤＭＡコントローラに対し、転送元になる前記主メモリのアドレスと、転送先になる前記入出力モジュールのアドレスと、前記転送される入出力データの転送量とからなる、前記プロセッサにより生成されるパラメータを設定し、
前記パラメータが設定された前記ＤＭＡコントローラは、
前記読み出された転送データのＤＭＡ転送に先立ち、
前記スケジューリングテーブルの先頭位置に予め設定された前記第１のポインタが示す前記入出力データバッファの転送データが目的のデータであることを示す第１の特定の情報と、前記入出力データバッファの先頭位置に予め設定された前記第１の特定の情報とを照合し、
更に、前記スケジューリングテーブルの任意の位置に予め設定された、前記第２のポインタが所望の位置にあることを示す第２の特定の情報と、前記入出力データバッファの任意の位置に予め設定された前記第２の特定の情報とを照合し、
共に一致した場合に、前記パラメータにしたがうＤＭＡ転送を開始することを特徴とする請求項１記載のデータ転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特に、分散型制御システム（ＤＣＳ：Distributed Control
System）や、安全計装システム（ＳＩＳ：safety Instrument System）に用いて好適な、データ転送装置に関する。
【背景技術】
【０００２】
二重照合方式（ペア＆スペア）に代表される高信頼性技術は、上記したＤＣＳや、ＳＩＳを支える重要な要素技術になっている。ＤＣＳに実装されているプロセッサモジュールの内部構成を図４に示す。図４に示すプロセッサモジュール１００によれば、制御中枢となるプロセッサ１０１（ＭＰＵ：Micro Processer Unit）はペア構成になっており、ペアのＭＰＵがそれぞれ演算を実行し、照合器により、双方の演算結果を常に照合して、結果が正しいか否かを判定しており、ハードウェア故障や一過性エラーによる演算ミスを検出できる仕組みになっている。
【０００３】
また、不図示のプロセス入出力装置（ＰＩＯ：Process Input-Output
Device）は、プロセッサ１０１との通信を行うバスインタフェースモジュール、各種プロセス入出力信号を制御する入出力モジュール等、複数のモジュールによって構成される。プロセッサモジュール１００には、拡張ノードも接続可能であり、この場合、不図示の入出力モジュールは、ＩＯ通信コントローラ１０４に接続される。その各入出力モジュール間のデータ転送を行う入出力バスがＩＯバス１０５である（例えば、非特許文献１参照）。
【０００４】
また、近年、上記したペア＆スペア方式に加え、プロセッサモジュール１００の入出力処理機能を分散したＩＯコプロセッサ方式が採用されている。ＩＯコプロセッサ方式を実現するＩＯコプロ回路１０３は、プロセッサ同様に制御中枢となるＭＰＵ、およびＲＡＭ、ＲＯＭのメモリが内蔵される。ＩＯコプロ回路１０３は、従来、プロセッサ１０１が実行していた入出力通信処理機能を担う入出力処理装置であり、この場合、プロセッサ１０１は、入出力処理で浪費していた処理能力を本来の演算制御に集中させることができる。
【０００５】
ところで、ＩＯコプロ回路１０３は一般的に安価な回路構成であるため、プロセッサ１０１とは異なり、シングルプロセッサでＥＣＣ（Error Checking and Correcting Code ）等のメモリチェック機能を持たない構成になっている。そのため、データの信頼性が確保できない問題があり、ＩＯコプロ回路１０３が入出力パケットを生成すると信頼性が確保できない。このため、入出力モジュールへの通信に必要な入出力パケットは、ペア構成のＭＰＵ（プロセッサ１０１）が生成するようにしている。ＭＰＵで生成された入出力パケットは主メモリ１０２に記憶される。入出力パケットが記憶される主メモリ１０２にはＥＣＣ機能が付加されているため、ビット化けや読み書き時の一過性エラーの検出・訂正が可能であり、その結果、データインテグリティを確保し、誤出力を防止することができる。主メモリに記憶された入出力パケットは、ＩＯ通信コントローラ１０４に転送され、ＩＯバス１０５を介して入出力モジュールへ送信される。
【０００６】
主メモリ１０２から入出力モジュール（ＩＯ通信コントローラ１０４）に転送される入出力パケットの流れを図５に示す。主メモリ１０２上に記憶される入出力パケットは、スケジューリングテーブル１０２ａに記憶されるアドレスと、入出力データバッファ１０２ｂに記憶される入出力データとから構成される。スケジューリングテーブル１０２ａは、入出力モジュールの定周期アクセスを要求するために主メモリ１０２の作業領域に確保されるアドレステーブルであり、プロセッサ１０１によって割り当てられ記憶される。スケジューリングテーブル１０２ａには、次にアクセスされるテーブルへのポインタと、入出力データバッファポインタを含むアドレス情報が設定され、入出力データバッファポインタが指した入出力データバッファの入出力データがＩＯ通信コントローラ１０４へ送られる仕組みになっている。
【０００７】
図５において、所望のデータ（ＩＯＭパケット）を主メモリ１０２からＩＯ通信コントローラ１０４に転送するために、ＩＯコプロ回路１０３は、まず、スケジューリングテーブル１０２ａの先頭アドレス（先頭ポインタ）を内蔵するＲＡＭに読み込み、読み込んだアドレスから演算が行われる。そしてＩＯコプロ回路１０３は、演算から導き出されたデータバッファポインタを内蔵ＲＡＭに読み込む。続いてＩＯコプロ回路１０３は、ＤＭＡコントローラ（ＤＭＡＣ１０６）に対してＤＭＡ転送の起動要求を発行する。このとき、ＩＯコプロ回路１０３は、読み込んだデータバッファポインタから、主メモリ１０２におけるどの領域のデータをＩＯ通信コントローラ１０４に転送するか、ＩＯ通信コントローラ１０４のどの領域をどれくらいのサイズで使うかを示すパラメータをＤＭＡＣ１０６にセットする。その後、ＤＭＡＣ１０６によってデータバッファポインタが示すデータが、主メモリ１０２からＩＯ通信コントローラ１０４にダイレクトメモリアクセス転送される。
【先行技術文献】
【特許文献】
【０００８】
【非特許文献１】横河技報Ｖｏｌ．４８、 Ｎｏ４（２００４年）、頁３５〜３８「ＣＥＮＴＵＭ ＣＳ３０００ Ｒ３ コンパクトステーションＦＦＣＳ」
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上記した従来のデータ転送の流れによれば、ＩＯ通信コントローラ１０４に送られるデータは、スケジューリングテーブル１０２ａ内のデータバッファポインタによって指定されるが、このテーブルデータや入出力データを読み込む際に、ポインタがＩＯコプロ回路１０３に内蔵されるＲＡＭに一旦保持される。しかしながら、ＩＯコプロ回路１０３は、一般的に安価な回路で構成されるため、ＥＣＣ機能が付加されていないのが一般的である。そのため、ＩＯコプロ回路１０３が、ポインタを内部に読み込んだ際、内蔵ＲＡＭエラー等によってポインタの内容が変化した場合、エラーの検出・訂正ができない。したがって、次にアクセスすべきテーブルやデータを正しく指定することができず、その結果、誤った入出力データを転送してしまう。
【００１０】
本発明は上記した課題を解決するためになされたものであり、スケジューリングテーブルや入出力データバッファからデータを読みこむ際に、一過性の入出力エラーが発生しても誤った入出力データの転送を無くし、信頼性の高い入出力データの転送を可能にしたデータ転送装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記した課題を解決するために本発明は、プロセッサにより生成され、主メモリの所定の領域に割り当てられるスケジューリングテーブルに設定された、次にアクセスされるテーブルへの第１のポインタと、入出力データバッファへの第２のポインタを含むアドレス情報に従い、前記第２のポインタが示す入出力データバッファの転送データを読み出し、前記読み出した転送データを、前記プロセッサに入出力バス経由で接続される入出力モジュールへ転送するデータ転送装置であって、前記転送に先立ち、前記スケジューリングテーブルの先頭位置に予め設定された前記第１のポインタが示す前記入出力データバッファの転送データが目的のデータであることを示す第１の特定の情報と、前記入出力データバッファの先頭位置に予め設定された前記第１の特定の情報とを照合し、更に、前記スケジューリングテーブルの任意の位置に予め設定された、前記第２のポインタが所望の位置にあることを示す第２の特定の情報と、前記入出力データバッファの任意の位置に予め設定された前記第２の特定の情報とを照合し、共に一致した場合に前記転送を許可する制御部、を有することを特徴とする。
【００１２】
本発明によれば、制御部は、スケジューリングテーブルと入出力データバッファの両方に設けられた、転送データが目的のデータであることを示す第１の特定の情報、または第２のポインタが所望の位置にあることを示す第２の特定の情報に不一致が発生した場合、その入出力データの転送を禁止する。このため、スケジューリングテーブルや入出力データバッファからデータを読み込む際に、一過性の入出力エラーが発生しても誤った入出力データの送信は行なわれず、したがって、信頼性の高いデータ転送が可能になる。
【００１３】
本発明において、前記プロセッサが有する内部バスにＤＭＡコントローラが接続され、前記制御部は、前記第１の特定の情報を照合した結果、一致が確認されると、前記ＤＭＡコントローラに対し、転送元になる前記主メモリのアドレスと、転送先になる前記入出力モジュールのアドレスと、前記転送される入出力データの転送量とからなる、前記プロセッサにより生成されるパラメータを設定し、前記パラメータが設定された前記ＤＭＡコントローラは、前記読み出された転送データのＤＭＡ転送に先立ち、前記スケジューリングテーブルの先頭位置に予め設定された前記第１のポインタが示す前記入出力データバッファの転送データが目的のデータであることを示す第１の特定の情報と、前記入出力データバッファの先頭位置に予め設定された前記第１の特定の情報とを照合し、更に、前記スケジューリングテーブルの任意の位置に予め設定された、前記第２のポインタが所望の位置にあることを示す第２の特定の情報と、前記入出力データバッファの任意の位置に予め設定された前記第２の特定の情報とを照合し、共に一致した場合に、前記パラメータにしたがうＤＭＡ転送を開始することを特徴とする。
【００１４】
本発明によれば、スケジューリングテーブルと入出力データバッファの両方に、転送データが目的のデータであることを示す第１の特定の情報と、第２のポインタが所望の位置にあることを示す第２の特定の情報とを設け、その照合を、制御部とＤＭＡコントローラの両方で行なうことにより、データの信頼性を確保することができる。仮に、入出力エラーが発し、照合の結果、スケジューリングテーブルや入出力データバッファに設けられた第１の特定の情報、または第２の特定の情報に不一致が発生した場合、これらデータは主メモリから入出力モジュールへ転送されることはない。したがって、データの誤転送を防止することが出来、より一層、信頼性の高いデータ転送が可能になる。
【発明の効果】
【００１５】
本発明によれば、スケジューリングテーブルや入出力データバッファからデータを読みこむ際に、一過性の入出力エラーが発生しても誤った入出力データの転送を無くし、信頼性の高い入出力データの転送を可能にしたデータ転送装置を提供することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施の形態に係るデータ転送装置の構成を示すブロック図である。
【図２】本発明の実施の形態に係るデータ転送装置の動作を主メモリ上に展開して示した動作概念図である。
【図３】本発明の実施の形態に係るデータ転送装置の動作を示すフローチャートである。
【図４】従来のデータ転送装置の動作の流れを示す図である。
【図５】従来のデータ転送装置の動作を主メモリ上に展開して示した動作概念図である。
【発明を実施するための形態】
【００１７】
以下、添付図面を参照して本発明を実施するための実施の形態（以下、単に本実施形態という）について詳細に説明する。
【００１８】
（実施形態の構成）
図１は、本実施形態に係るデータ転送装置の構成を示すブロック図であり、データ転送装置として、ＤＣＳのプロセッサモジュール１０を例示している。図１によれば、プロセッサモジュール１０は、プロセッサ１１と、主メモリ１２と、ＩＯコプロ回路１３と、ＩＯ通信コントローラ１４と、ＤＭＡＣ１５とが、アドレス、データ、コントロールのためのラインが複数本で構成されるＣＰＵバス１６（内部バス）経由で接続され、構成される。また、ＩＯ通信コントローラ１４には、更に、ＩＯバス１７（入出力バス）経由で、複数の入出力モジュール１８ａ〜１８ｎ（ＩＯＭ＃１〜ＩＯＭ＃ｎ）が接続される。
【００１９】
プロセッサ１１は、ＭＰＵ１１ａ、１１ｂがペア構成になっており、ペアのＭＰＵ１１ａ、１１ｂがそれぞれ演算を実行し、照合器１１ｃにより、双方の演算結果を常に照合して、結果が正しいか否かを判定しており、ハードウェア故障や一過性エラーによる演算ミスを検出できる仕組みになっている。ＩＯコプロ回路１３は、従来、プロセッサ１１が実行していた入出力通信処理機能を担う入出力処理装置であり、この場合、プロセッサ１１は、入出力処理で浪費していた処理能力を本来の演算制御に集中させることができる。
【００２０】
主メモリ１２の所定の領域（作業領域）に割り当てられ記憶される入出力データ（ＩＯＭパケット）は、例えば、図２にそのデータ構造の一例が示されるように、スケジューリングテーブル１２ａに記憶されるポインタを含むアドレスデータと、入出力データバッファ１２ｂに記憶される転送データとからなる。
【００２１】
スケジューリングテーブル１２ａは、入出力モジュール１８ａ〜１８ｎの定周期アクセスを要求するために確保されるテーブルであり、プロセッサ１１によって主メモリ１２の所定の領域に割り当てられる。スケジューリングテーブル１２ａには、次にアクセスされるテーブルへのポインタ（第１のポインタ）と、入出力データバッファポインタを含むアドレス情報が設定される他に、先頭アドレス位置に、読み出したデータが目的のデータであることを示すマーク（第１の特定の情報）と、任意の位置に、入出力データバッファポインタ（第２のポインタ）が所望の位置にあることを示すＩＤ（第２の特定の情報）とが設定される。また、入出力データバッファ１２ｂには、入出力データバッファポインタが指す入出力データバッファ毎に入出力データが設定される他に、その先頭アドレス位置に、読み出したデータが目的のデータであることを示すマーク（第１の特定の情報）と、任意の位置に、ポインタが所望の位置にあることを示すＩＤ（第２の特定の情報）とが設定される。
【００２２】
なお、上記したマークとＩＤは、入出力データの転送に先立ち、プロセッサ１１により生成される。また、ここで、生成される情報を、マークとＩＤに区別した理由は、使用目的が異なるためである。すなわち、一方（マーク）は、読み出したデータが目的のデータであること、他方（ＩＤ）は、入出力データバッファポインタが所望の位置にあることを確認するために使用されるものである。このため、マークとＩＤによらず、上記の目的のために使用されるデータであればその種類は問わない。
【００２３】
ＩＯコプロ回路１３は、プロセッサ１１により生成され、主メモリ１２の所定の領域に割り当てられるスケジューリングテーブル１２ａに記憶されたポインタが示す入出力データバッファ１２ｂの入出力データを読み出し、当該読み出したデータを、プロセッサ１１にＩＯバス１７（入出力バス）経由で接続される入出力モジュール１８ａ〜１８ｎへデータ転送する入出力処理装置である。
【００２４】
ＩＯコプロ回路１３は、データ転送に先立ち、スケジューリングテーブル１２ａの先頭位置に予め設定された、読み出したデータが目的のデータであることを示すマーク（第１の特定の情報）を照合し、更に、入出力データバッファポインタが所望の位置にあることを示すＩＤ（第２の特定の情報）を照合し、共に一致した場合にデータ転送を許可する、例えば、ＭＰＵで構成される制御部１３０を内蔵する。制御部１３０は、更に、マーク、ＩＤ照合の結果、両方の一致が確認されると、ＣＰＵバス１６経由で接続されるＤＭＡＣ１５に対し、転送元の主メモリ１２のアドレスと、転送先の入出力モジュール１８ａ〜１８ｎのアドレスと、入出力データの転送量とからなるパラメータを設定する。
【００２５】
ＩＯ通信コントローラ１４は、プロセッサ１１と、ＩＯバス１７を介して接続される入出力モジュール１８ａ〜１８ｎとの間で通信を行う入出力コントローラである。
【００２６】
ＤＭＡＣ１５は、上記したＩＯコプロ回路１３の制御部１３０によるマーク、ＩＤ照合の結果、両方の一致が確認されると、制御部１３０により、転送元の主メモリ１２のアドレスと、転送先の入出力モジュール１８ａ〜１８ｎのアドレスと、転送される入出力データの転送量とからなる、プロセッサ１１によって生成されるパラメータが設定され、主メモリ１２とＩＯ通信コントローラ１４間でダイレクトメモリアクセス転送を行う。ＤＭＡＣ１５は、読み出された入出力データのＤＭＡ転送に先立ち、スケジューリングテーブル１２ａの先頭位置に予め設定された、読み出した転送データが目的のデータであることを示すマーク（第１の特定の情報）と、入出力データバッファ１２ｂの先頭位置に予め設定されたマーク（第１の特定の情報）とを照合し、更に、スケジューリングテーブル１２ａの任意の位置に予め設定された、入出力データバッファポインタが所望の位置にあることを示すＩＤ（第２の特定の情報）と、入出力データバッファ１２ｂの任意の位置に予め設定されたＩＤ（第２の特定の情報）とを照合し、共に一致した場合にのみ先に受信したパラメータにしたがうＤＭＡ転送を開始する。
【００２７】
入出力モジュール１８ａ〜１８ｎは、ＩＯ通信コントローラ１４にＩＯバス１７経由で接続されるプロセス入出力装置であり、プロセッサ１１との通信を行うバスインタフェースモジュール、各種プロセス入出力信号を制御する入出力モジュール等、複数のモジュールによって構成される。
【００２８】
（実施形態の動作）
以下、図２に示す動作概念図、および図３に示すフローチャートを参照しながら、図１に示す本実施形態に係るデータ転送装置の動作について詳細に説明する。
【００２９】
図２に示されるように、本実施形態に係るデータ転送装置は、プロセッサ１１が、主メモリ１２からＩＯ通信コントローラ１４を介した入出力モジュール１８ａ〜１８ｎへのデータ転送に先立ち、マーク（第１の特定の情報）とＩＤ（第２の特定の情報）を生成し、主メモリ１２の所定の領域に割り当てられるスケジューリングテーブル１２ａと入出力データバッファ１２ｂに記憶する。ここでマークは、スケジューリングテーブル１２ａ、入出力データバッファ１２ｂ共に、先頭位置に、ＩＤは任意の位置にそれぞれ割り当てられ記憶される。
【００３０】
そして、ＩＯコプロ回路１３が、スケジューリングテーブル１２ａと入出力データバッファ１２ｂに記憶されたマークを照合することにより、読み出したデータ（スケジューリングテーブルに記憶されたポインタが示す入出力データバッファのデータ）が目的のデータであることの正当性を判定する。また、スケジューリングテーブル１２ａと入出力データバッファ１２ｂの任意のアドレス位置に記憶されたＩＤを照合することで、ポインタが所望の位置にあることを確認する。そして、ＤＭＡＣ１５が、スケジューリングテーブル１２ａと入出力データバッファ１２ｂに記憶されたマークを照合することにより、読み出したデータ（スケジューリングテーブルに記憶されたポインタが示す入出力データバッファのデータ）が目的のデータであることの正当性を判定する。そして、スケジューリングテーブル１２ａと入出力データバッファ１２ｂの任意のアドレス位置に記憶されたＩＤを照合することで、入出力データバッファポインタが所望の位置にあることを確認してＩＯ通信コントローラ１４へのＤＭＡ転送を許可し、入出力データの信頼性を確保するものである。
【００３１】
具体的な動作について、図３に示すフローチャートを参照しながら説明する。まず、プロセッサ１１は転送データ（ＩＯＭパケット）を生成し（ステップＳ１０１）、主メモリ１２の作業領域に割り当てたスケジューリンクテーブル１０２ａ、入出力データバッファ１０２ｂにその該当データを記憶する（ステップＳ１０２）。このとき、マーク、ＩＤも生成して所定の領域に記憶する。これらデータはＥＣＣ付きで記憶される。
【００３２】
続いて、ＩＯコプロ回路１３（制御部１３０）は、主メモリ１２に記憶されたスケジューリングテーブル１２ａや入出力データバッファ１２ｂへの入出力データバッファポインタを内蔵のＲＡＭに読み込む（ステップＳ１０３）。続いて制御部１３０は、読み込んだポインタが示す入出力データが、正しいデータであるか否かを確認するために、スケジューリングテーブル１０２ａと入出力データバッファ１０２ｂのそれぞれの先頭位置に記憶されたマークを照合する（ステップＳ１０４）。また、スケジューリングテーブル１０２ａと入出力データバッファ１０２ｂのそれぞれの任意の位置に記憶されたＩＤを照合する（ステップＳ１０５）。これら照合の結果、マーク、ＩＤ共に一致すると（ステップＳ１０６“ＹＥＳ”）、制御部１３０は、ＤＭＡＣ１５に対し、プロセッサ１１により生成される、転送元（主メモリ１２）と転送先（ＩＯ通信コントローラ１４に接続される入出力モジュール１８ａ〜１８ｎ）のアドレスと、データ量を示すデータとからなるパラメータを設定し、ＤＭＡＣ１５にＤＭＡ転送の起動を要求する信号を出力する（ステップＳ１０７）。照合の結果、マークまたはＩＤのいずれか一つでも不一致の場合（ステップＳ１０６“ＮＯ”）、ＤＭＡ転送の起動を要求する信号は出力されない。
【００３３】
ＤＭＡＣ１５は、ＤＭＡ転送に先立ち、スケジューリングテーブル１０２ａと入出力データバッファ１０２ｂのそれぞれの先頭位置に記憶されたマークを照合して転送データが正しいデータであることを判定する（ステップＳ１０８）。続いて、スケジューリングテーブル１０２ａと入出力データバッファ１０２ｂのそれぞれの任意の領域に記憶されたＩＤを照合し（ステップＳ１０９）、入出力データバッファポインタが正しい位置を示すデータであるか否かを判定する。照合の結果、マーク、ＩＤ共に一致すると（ステップＳ１１０“ＹＥＳ”）、主メモリ１２からＩＯ通信コントローラ１４へのＤＭＡ転送が許可され、ＤＭＡ転送が開始される（ステップＳ１１１）。照合の結果、マークまたはＩＤのいずれかが不一致と判定されれば（ステップＳ１１０“ＮＯ”）、誤った入出力データであるとしてＤＭＡ転送は禁止される。
【００３４】
このように、ＩＯコプロ回路１３（制御部１３０）とＤＭＡＣ１５の両方で二重に入出力データの照合を行なうことで、仮に、マークやＩＤが一致していないのにＩＯコプロ回路１３が正しいデータであると判定しても、ＤＭＡＣ１５でその間違いを発見することができる。したがって、誤った入出力データの転送を回避することができる。このため、マークとＩＤの両方を照合し、さらに、ＩＯコプロ回路１３とＤＭＡＣ１５で二重に入出力データの正当性を判定することで、誤ったデータの送信を防ぐことができ、データの信頼性を確保することができる。また、これにより、例え、主メモリ１２にＥＣＣ機能が付与されていなくてもデータの誤りを検出でき、誤送信は回避されるため、簡易的にデータの信頼性を上げることが可能となる。
【００３５】
（実施形態の効果）
本実施形態に係るデータ転送装置（プロセッサモジュール１０）によれば、ＩＯコプロ回路１３が内蔵する制御部１３０は、主メモリ１２上の所定の領域に割り当てられるスケジューリングテーブル１２ａと入出力データバッファ１２ｂの両方に記憶された、転送データが目的のデータであることを示すマーク（第１の特定の情報）、または入出力データバッファポインタが所望の位置にあることを示すＩＤ（第２の特定の情報）に不一致が発生した場合、その入出力データの転送を禁止する。このため、スケジューリングテーブル１２ａや入出力データバッファ１２ｂからデータを読みこむ際に一過性の入出力エラーが発生しても誤った入出力データの送信は行なわれず、したがって、信頼性の高いデータ転送が可能になる。
【００３６】
また、本実施形態に係るデータ転送装置（プロセッサモジュール１０）によれば、プロセッサ１１が、転送データが目的のデータであることを示すマーク（第１の特定の情報）と、入出力データバッファポインタが所望の位置にあることを示すＩＤ（第２の特定の情報）を生成し、主メモリ１２の所定の領域に割り当てられるスケジューリングテーブルと入出力データバッファの両方に予め記憶しておき、その照合を、ＩＯコプロ回路１３とＤＭＡＣ１５で二重に行なうことにより、一層、データの信頼性を確保することができる。
【００３７】
仮に、入出力エラーが発生し、照合の結果、スケジューリングテーブルや入出力データバッファに記憶されたマークまたはＩＤが不一致の場合、入出力データは主メモリ１２からＩＯ通信コントローラ１４経由で入出力モジュール１８ａ〜１８ｎへ転送されることはない。したがって、入出力データの誤転送を防止することが出来、より一層信頼性の高いデータ転送が可能になる。
【００３８】
以上、本発明の好ましい実施形態について詳述したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されないことは言うまでもない。上記実施形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。またその様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【符号の説明】
【００３９】
１０・プロセッサモジュール、１１・・プロセッサ、１２・・主メモリ、１２ａ・・スケジューリングテーブル、１２ｂ・・入出力データバッファ、１３・・ＩＯコプロ回路（入出力処理装置）、１４・・ＩＯ通信コントローラ、１５・・ＤＭＡコントローラ（ＤＭＡＣ）、１６・・内部バス（ＣＰＵバス）、１７・・ＩＯバス（入出力バス）、１８（１８ａ〜１８ｎ）・・入出力モジュール
【図１】
0005966266.tif 000002
【図２】
0005966266.tif 000003
【図３】
0005966266.tif 000004
【図４】
0005966266.tif 000005
【図５】
0005966266.tif 000006