(57)【特許請求の範囲】
【請求項１】
複数の上位装置に接続され、フレームの送受により前記上位装置とのデータ転送を行うデータ転送制御装置において、
自動データ転送中に前記上位装置よりデータフレーム以外の例外フレームを受信したときは自動データ転送を中断して受信した例外フレームの内容を解析する解析手段と、
該解析手段で解析した解析結果により中断した自動データ転送を再開し、または自動データ転送を終了させる制御手段を備えたことを特徴とするデータ転送制御装置。
【請求項２】
前記例外フレームの受信により、前記上位装置に対してデータ転送が正常に終了したこと、データ転送中に例外フレームを受信したこと、またはデータ転送が異常終了したことを通知する通知手段を備えたことを特徴とする請求項１記載のデータ転送制御装置。
【請求項３】
前記上位装置からの前記例外フレームを格納しておく例外フレーム格納領域を設けて、実行中の処理完了後に通常のフレームとして取り扱うことを特徴とする請求項１記載のデータ転送制御装置。
【請求項４】
自動データ転送中に前記上位装置より追加データを要求されたときは、その転送要求数を転送カウンタに加算する転送カウンタ加算手段を備えたことを特徴とする請求項１記載のデータ転送制御装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、上位装置とシリアルインタフェースにより接続され、フレームの送受によりデータ転送を行うデータ転送制御装置に関する。
近年、コンピュータシステムは単一システムでの高速処理が可能だけでなく、複数のコンピュータシステムを接続して、複数システムによる連携処理が可能となっている。
【０００２】
複数のコンピュータシステムを接続する場合、そのシステムの規模や接続されるシステムの物理的な距離が異なるため、その接続装置やデータの送受信を行うプロトコルも高速データ転送技術の一つとなっている。
このような、システムの規模や接続されるシステムの物理的な距離の問題に比較的左右されることなくデータ転送を行うインタフェースとして、光信号を使用した方法がある。比較的安価な設備により光信号を発生させることが可能であり、ファイバーケーブルのような軽量の電送設備により離れたシステム間を接続することが可能であるため、従来より使用されている電気信号を利用したシステム間接続に変わって注目され、近年発達を続けている技術でもある。
【０００３】
シリアルインタフェースを利用したデータ転送プロトコルとしてはさまざまな方法が開発研究されており、基本的にはある特定の固まりを一つの意味のある情報として、送信・受信装置間のインターロック制御によりデータの転送を可能とする。
このインターロック制御は、送信・受信装置がそれぞれ相手側からの情報を受信し、その応答を相手側に送信することによりデータ転送を行うため大量のデータを効率よく転送する手段が必要となる。
【０００４】
そこで、自動データ転送機能によりインターロック制御を実施せずにデータを連続して転送を実施するが、データ転送中に上位装置の故障や不具合により一時的に例外的な情報が送信された場合、実行中のデータ転送処理を停止して異常を上位装置へ通知後、再びデータ転送を最初から開始して、正常終了を期待していた。
【０００５】
しかしながら、再びデータ転送を最初から開始すると、リカバリに時間がかかる。このようなリカバリ時間を短縮することができるデータ転送制御装置の開発が要望されていた。
【０００６】
【従来の技術】
従来のデータ転送制御装置としては、例えばデータ転送経路切換装置を介して複数の上位装置に接続されるとともに、複数のディスク装置を接続し、上位装置との間でフレームの送受によりデータの転送を行うものがある。
例えば、上位装置よりリード転送を要求するフレームが送出されると、アドレス比較回路でアドレス（ソースアドレスとターゲットアドレス）が一致していることを確認してから、マイクロプロセッサは転送カウンタに転送要求数をセットし、コントロールデータバッファにデータフレームであることを示す制御情報をセットし、アドレスデータバッファに転送先上位装置のアドレスをセットし、データバッファに転送するデータをセットし、転送の準備が完了すると、自動データ転送フラグをセットし、上位装置にデータを自動転送する。
【０００７】
自動転送とは、自動データ転送フラグをセットして自動データ転送モードで連続してデータを転送することで、例えば４キロバイトの転送要求数があったときは、１キロバイトずつ４回に分けて連続してデータを転送する。
大量のデータの転送を行う場合には、上位装置の処理能力を越えないようにデータを分割して転送することが必要とされる。この場合には、一度のフレームで転送される最大長をフレーム最大長カウンタにセットし、自動データ転送において次に送出するフレームまでの時間をインターバルカウンタにセットして、データをいくつかのフレームに分割して送出する。
【０００８】
また、自動データ転送中に上位装置から新たなフレームによって追加のデータを要求された場合には、フレーム検出回路からの割込通知によりマイクロプロセッサに追加のデータの要求を保持しておき、追加要求前のデータがすべて上位装置に転送されて転送カウンタがリセットされ、自動データ転送フラグがリセットされた後に、マイクロプロセッサは追加データの転送要求数を新たに転送カウンタにセットし、データバッファ、アドレスバッファ、コントロールバッファにより、新たにフレームを生成し、自動データ転送フラグをセットし、上位装置への追加データの転送を開始する。
【０００９】
ここで、一時的なデータ転送経路切換装置の故障により、所定の上位装置とのデータ転送中に、他の上位装置からの何らかの要求を示すフレームがデータ転送制御装置に送られてきたとする。フレーム検出回路によりフレームが検出され、アドレス比較回路によりソースアドレスの異常が検出され、アドレス異常フラグがセットされ、マイクロプロセッサは例外フレームを受信する。この場合にはマイクロプロセッサは転送中断フラグをセットし、実行中のデータ転送処理を停止し、異常を上位装置に通知する。その後、再びデータ転送を最初から開始し、正常終了を期待する。
【００１０】
例外フレームとは、所定の上位装置との自動データ転送中に、その所定の上位装置から送られる何らかの要求を示すフレーム（データ転送のみに用いられるデータフレームをのぞく）、他の上位装置から送られてくる何らかの要求を示すフレームのことであり、データ転送経路切換装置の故障により送信されてくる。
例外フレームの内容は、上位装置からの何らかの要求であり、例えば、上位装置の内部のハードウェアの故障によりデータ転送ができないこと、新たなデータ転送要求などである。
【００１１】
【発明が解決しようとする課題】
このような従来のデータ転送制御装置にあっては、データ転送経路切換装置の故障や不具合により例外フレームが送信されてきた場合、転送中断フラグをセットして実行中のデータ転送処理を中止し、異常を上位装置に通知後、再びデータ転送を最初から開始するようになっているため、現在実行中のデータ転送処理に対するリカバリ時間がかかるという問題があった。
【００１２】
また、自動データ転送中に上位装置から追加データの要求があったときは、割込通知によりマイクロプロセッサに追加データの要求を保持しておき、データ転送が終了したとき転送カウンタをリセットし、自動データ転送フラグをリセットし、その後、追加データの転送要求数を転送カウンタにセットし、新たに追加データ転送のフレームを生成して追加データの転送を行うようにしていたため、追加データの転送効率が悪いという問題もあった。
【００１３】
本発明は、このような従来の問題点に鑑みてなされたものであって、例外フレームを受信した場合でもデータ転送を再開し現在実行中のデータ転送処理のリカバリ時間を短縮することができ、また、追加データの転送要求があったときは転送カウンタを加算して効率的に追加データの転送を行うことができるデータ転送制御装置を提供することを目的とする。
【００１４】
【課題を解決するための手段】
図１は本発明の原理説明図である。
本発明は、複数の上位装置１，２に接続され、フレームの送受により前記上位装置１，２とのデータ転送を行うデータ転送制御装置４において、自動データ転送中に前記上位装置１，２より例外フレームを受信したときは自動データ転送を中断して受信した例外フレームの内容を解析する解析手段３９Ａと、
該解析手段３９Ａで解析した解析結果により中断した自動データ転送を再開し、または自動データ転送を終了させる制御手段３９Ｂを備えている。
【００１５】
また、本発明は、前記例外フレームの受信により、前記上位装置１，２に対してデータ転送が正常に終了したこと、データ転送中に例外フレームを受信したことまたはデータ転送が異常終了したことを通知する通知手段３９Ｃを備えている。
また、本発明は、前記上位装置１，２からの前記例外フレームを格納しておく例外フレーム格納領域４０Ａを設けて、実行中の処理完了後に通常のフレームとして取り扱うようにしている。
【００１６】
また、本発明は、自動データ転送中に前記上位装置１，２より追加データを要求されたときは、その転送要求数を転送カウンタに加算する転送カウンタ加算手段４２を備えている。
【００１７】
【作用】
このような構成を備えた本発明のデータ転送制御装置によれば、自動データ転送中に上位装置１，２より例外フレームを受信したときは受信した例外フレームの内容を解析し、解析結果により実行中の自動データ転送に影響を及ぼすものでないと判断した場合には、転送中断を停止して自動データ転送を再開し、実行中の自動データ転送に影響を及ぼすものと判断された場合には自動データ転送を終了させるようにしたため、現在実行中のデータ転送処理に対するリカバリ時間を短縮することができる。
【００１８】
また、本発明においては、例外フレームの受信により、上位装置１，２に対してデータ転送が正常に終了したこと、データ転送中に例外フレームを受信したこと、またはデータ転送が異常終了したことを通知するようにしたため、上位装置１，２においても例外フレームが生じた場合の状況を知ることができ、例外フレームの発生に対処することができる。
【００１９】
また、本発明においては、上位装置１，２からの例外フレームを格納しておく例外フレーム格納領域４０Ａを設けるようにしたため、実行中の処理完了後に通常のフレームとして取り扱うことができ、従来のような時間のロスがなくなる。また、本発明においては、自動データ転送中に上位装置１，２より追加データを要求されたときは、その転送要求数を転送カウンタに加算するようにしたため、転送カウンタをリセットし、自動データ転送フラグをリセットし、新たにフレームを生成する必要がないので、追加データ転送の効率を高めることができる。
【００２０】
【実施例】
以下、本発明の実施例を図面に基づいて説明する。
図２〜図５は本発明の一実施例を示す図である。
図２は本発明の一実施例を示す全体構成図である。
図２において、１，２はホストコンピュータよりなる上位装置であり、上位装置１，２にはデータ転送経路切換装置３を介してデータ転送制御装置（以下、制御装置という）４が接続されている。また、制御装置４にはデータを蓄積する複数のディスク装置５，６がそれぞれ接続されている。
【００２１】
データ転送経路切換装置３の作用により、制御装置４は複数の上位装置１，２とそれぞれ個別にデータ転送が可能となっている。一連の転送処理は、どちらか一方の上位装置１，２からの要求がデータ転送経路切換装置３を介して制御装置４に送信され、一連の転送処理の終了は、制御装置４から処理報告を該上位装置１，２に送信することにより行われる。つまり、上位装置１と２とが同時に制御装置４との転送を実施しないよう、データ転送経路切換装置３により制御されている。
【００２２】
次に、図３は制御装置４のブロック図である。
図３において、２１はシリアルパラレル変換部であり、シリアルパラレル変換部２１は上位装置１，２から送信されるシリアルデータをパラレルデータに変換する。
２２はフレーム検出回路であり、フレーム検出回路２２は識別子によりフレームの受信を検出する。
【００２３】
フレームは図４に示すようなフレームフォーマットを有し、フレーム開始識別子１１、ソースアドレス１２、ターゲットアドレス１３、フレームタイプコード１４、データブロック１５およびフレーム終了識別子１６により構成される。
すなわち、フレームは、その先頭にフレーム開始識別子１１と後尾にフレーム終了識別子１６を有し、これらの識別子１１，１６で挟まれた一連のデータ群が電送路上の意味のあるデータとして認識される。
【００２４】
フレームは、送信側装置のＩＤを示すソースアドレス１２、受信側装置のＩＤ示すターゲットアドレス１３、当該フレームが制御情報を含むものか、単なるデータを含むものかを示すフレームタイプコード１４、フレームタイプコード１４により指示された実際の制御情報またはデータが格納されているデータブロック１５を有する。
【００２５】
２３はアドレスデータバッファであり、アドレスデータバッファ２３にはフレームに格納されているアドレス情報であるソースアドレス１２およびターゲットアドレス１３が格納される。アドレスデータバッファ２３はＭＰＵバス４３を介してマイクロプロセッサ３９により制御される。
２４はアドレス比較回路であり、アドレス比較回路２４は予め上位装置１，２との間で確定されたアドレス情報が設定され、アドレスデータバッファ２３からのアドレス情報との比較を行う。アドレス比較回路２４もＭＰＵバス４３を介してマイクロプロセッサ３９により制御される。
【００２６】
３３はアドレス有効フラグであり、アドレス有効フラグ３３はマイクロプロセッサ３９によってセットされ、アドレス比較回路２４を有効にする。
３２はアドレス異常フラグであり、アドレス異常フラグ３２はアドレス比較回路２４による比較結果が異常であることをＭＰＵバス４３を介してマイクロプロセッサ３９に通知する。
【００２７】
２５はコントロールデータバッファであり、コントロールデータバッファ２５にはフレーム内の制御情報が格納される。格納された制御情報はＭＰＵバス４３を介してマイクロプロセッサ３９に通知される。
２７はデータバッファであり、データバッファ２７にはフレーム内のデータが格納される。データバッファ２７へのデータの入力およびデータバッファ２７からのデータの出力はＭＰＵバス４３を介してマイクロプロセッサ３９により制御される。
【００２８】
２６はセレクタであり、セレクタ２６はデータバッファ２７のデータの入出力方向を切り換える。すなわち、セレクタ２６の切換えにより上位装置１，２からのデータがデータバッファ２７に入力し、また、ディスク装置５，６からデータバッファ２７に格納されたデータが上位装置１，２に出力される。
シリアルパラレル変換部２１、フレーム検出回路２２、アドレスデータバッファ２３、アドレス比較回路２４、アドレス有効フラグ３３、アドレス異常フラグ３２、コントロールデータバッファ２５、データバッファ２７およびセレクタ２６が全体としてフレーム受信部４４を構成している。
【００２９】
２８はアドレスデータバッファであり、アドレスデータバッファ２８にはＭＰＵバス４３を介してマイクロプロセッサ３９により上位装置１，２に対して送信するアドレス情報（ソースアドレス１２およびターゲットアドレス１３）が格納される。
２９はコントロールデータバッファであり、コントロールデータバッファ２９にはＭＰＵバス４３を介してマイクロプロセッサ３９により上位装置１，２に対して送信する制御情報が格納される。
【００３０】
３０はフレーム生成回路であり、フレーム生成回路３０はフレーム開始識別子１１およびフレーム終了識別子１６を付加してフレームを生成する。
３１はパラレルシリアル変換部であり、パラレルシリアル変換部３１はパラレルデータをシリアルデータに変換して上位装置１，２に送信する。
データバッファ２７、アドレスデータバッファ２８、コントロールデータバッファ２９、フレーム生成回路３０およびパラレルシリアル変換部３１は全体としてフレーム送信部４５を構成している。
【００３１】
４１はデータ転送制御部であり、データ転送制御部４１は転送カウンタ３５、自動データ転送フラグ３４、転送中断フラグ３６、フレーム最大長カウンタ３８、インターバルカウンタ３７および転送カウンタ加算手段としての転送カウンタ加算部４２により構成されている。
上位装置１，２に対してデータバッファ２７内のデータを転送するときは、転送カウンタ３５にマイクロプロセッサ３９によって上位装置１，２から要求された転送要求数がセットされる。
【００３２】
転送カウンタ３５はデータの転送により減算され、セットされた転送要求数がゼロになると、リセットされる。自動データ転送フラグ３４はマイクロプロセッサ３９によりセットされると、上位装置１，２への自動データ転送が開始される。
また、自動データ転送フラグ３４はマイクロプロセッサ３９によりリセットされると、上位装置１，２への自動データ転送が終了する。
【００３３】
大量のデータの転送を行う場合、上位装置１，２の処理能力を越えないようにデータを分割して転送することが必要とされる場合がある。このために、フレーム最大長カウンタ３８とインターバルカウンタ３７を設け、フレーム最大長カウンタ３８にはマイクロプロセッサ３９により一度のフレームで転送される最大長をセットし、インターバルカウンタ３７には自動データ転送において次に送出するフレームまでの時間をセットする。
【００３４】
転送カウンタ加算部４２は、追加データの要求により転送要求数を転送カウンタ３５に加算する。したがって、追加データの要求があった場合に、転送カウンタ３５はリセットされず、また、自動データ転送フラグ３４もリセットされず、新たにフレームも生成されないので、追加データ分の自動転送を効率的に行うことができる。
【００３５】
上位装置１，２から受信したフレームに追加データ要求を示すコードが格納されている場合を除き、フレーム検出回路２２によるフレーム受信によりマイクロプロセッサ３９に対して割込みが通知される。
マイクロプロセッサ３９で所定の上位装置１ではなく他の上位装置２からの例外フレームを受信したときは、転送中断フラグ３６は、マイクロプロセッサ３９によりセットされ、自動データ転送は一時的に中断され、例外フレームの内容解析結果により実行中の自動データ転送に影響がないと判断された場合には、マイクロプロセッサ３９によりリセットされ、自動データ転送が再開される。
【００３６】
自動データ転送中に上位装置１，２から受信したフレームに追加データ要求が格納されているときは、フレーム受信の割込みによるマイクロプロセッサ３９へ通知は実施されず、データ転送制御部４１内の転送カウンタ加算部４２に通知される。
マイクロプロセッサ３９は、自動データ転送中に上位装置１，２より例外フレームを受信したときは受信したフレームの内容を解析する解析手段３９Ａおよび解析手段３９Ａで解析した解析結果により、実行中の自動データ転送に影響を及ぼすものでないと判断した場合、転送中断フラグ３６をリセットして、中断されていた自動データ転送を再開し、自動データ転送に影響を及ぼすものであると判断した場合には、自動データ転送フラグ３４をリセットして、自動データ転送を終了させる制御手段３９Ｂとしての機能を有する。
【００３７】
また、マイクロプロセッサ３９は、例外フレームの受信後、一連のデータ処理が行われている所定の上位装置１に対して、データ転送が正常に終了したことを通知し、例外フレームを送信してきた上位装置２に対してはデータ転送中に例外フレームを受信したことを通知し、データ転送が異常終了したときは、それを上位装置１，２に通知する通知手段３９Ｃとしての機能を有する。
【００３８】
４０はコントロールストレージメモリであり、コントロールストレージメモリ４０内にマイクロプログラムが格納される。コントロールストレージメモリ４０には上位装置１，２からの例外フレームを格納しておく例外フレーム格納領域４０Ａが設けられ、要求を一時的に保留し、現在実行中の処理完了後に通常のフレームと同様に取り扱うことができるようにしている。
【００３９】
また、コントロールストレージメモリ４０内には、実行中の自動データ転送に影響を及ぼすものでないと判断される例外フレームの内容、例えば単なるデータ転送要求などが予め格納され、また、自動データ転送に影響を及ぼすものであると判断される例外フレームの内容、例えば上位装置１，２の内部のハードウェアの故障や、データ転送経路切換装置３の内部のハードウェアの故障などが予め格納されている。マイクロプロセッサ３９は、受信した例外フレームの内容を解析し、コントロールストレージメモリ４０内の例外フレームの内容と照合し、自動データ転送を再開するか、自動データ転送を終了させるかを決定する。
【００４０】
次に、動作を説明する。
例えば、初めて接続された上位装置１と制御装置４は、お互いのＩＤを知るためにアドレス情報の設定動作を行う。制御装置４は上位装置１に対してアドレス情報を要求するフレームを送出し、上位装置１からのアドレス情報を獲得する。まず、マイクロプロセッサ３９はコントロールデータバッファ２９にアドレス獲得を要求するコードをセットし、上位装置１へ転送するアドレス情報としては未定義アドレス（たとえば‘ＦＥ’）をセットして、上位装置１へフレーム送出を開始する。
【００４１】
マイクロプロセッサ３９によりフレームの送出が指示されると、フレームの先頭にフレーム開始識別子１１を付加し、ソースアドレス１２、ターゲットアドレス１３、制御情報に引き続きフレーム終了識別子１６を付加して、パラレルシリアル変換部３１を介して上位装置１へシリアルデータを転送する。
このときのフレームは、図５（Ａ）に示され、ソースアドレス１２には未定義アドレスＦＥ、ターゲットアドレス１３には上位装置１のアドレス、フレームタイプコード１４には制御情報であることを示すコード、データブロック１５にはアドレス獲得を要求するコードがそれぞれ格納されている。
【００４２】
このフレームが上位装置１に送出されると、上位装置１からは、図５（Ｂ）に示すようなフレームが送出されてくる。
ソースアドレス１２には上位装置１のアドレス、ターゲットアドレス１３には制御装置４のアドレス、フレームタイプコード１４には制御情報であることを示すコード、データブロック１５には定義されたアドレス情報がそれぞれ格納されている。
【００４３】
上位装置１からアドレス情報が格納されたフレームが送出されてくると、まず、シリアルパラレル変換部２１でシリアルデータをパラレルデータに変換し、フレーム検出回路２２でフレーム開始識別子１１によりフレームの先頭であることを検出し、フレーム受信動作を開始する。
アドレス情報がアドレスデータバッファ２３に格納され、フレームタイプコード１４が制御情報であることを示していることを認識し、その内容がコントロールデータバッファ２５に格納される。
【００４４】
フレーム検出回路２２によりフレーム終了識別子１６が検出されると、割込みによりマイクロプロセッサ３９への通知を行う。割込みによりフレームの受信を通知されたマイクロプロセッサ３９は、制御情報の内容を解析し、アドレス情報をアドレスデータバッファ２３から獲得することによって、アドレス情報の設定動作を完了する。
【００４５】
上位装置１とのアドレス情報設定動作が完了すると、マイクロプロセッサ３９はアドレス比較回路２４へ該アドレス情報をセットして、アドレス有効フラグ３３をセットする。
該アドレス有効フラグ３３がセットされると、以降、上位装置１，２から転送されたフレームの受信を開始される毎に、フレーム内に格納されているアドレス情報との比較を実施する。アドレス情報の異常を検出した場合には、アドレスデータ異常フラグ３２がセットされる。
【００４６】
以上で述べたように、フレームの送信に必要な情報をマイクロプロセッサ３９が予め指定されたバッファ２８，２９へデータを格納し、フレームを生成して上位装置１，２への送出を行い、上位装置１，２から転送されたフレームを認識すると割込みによりマイクロプロセッサ３９により通知を行い、その内容を実施することで、インターロック制御を行う。
【００４７】
すなわち、マイクロプロセッサ３９は、コントロールデータバッファ２５に格納されたフレームの内容を読み取り、そのフレームの内容を実施する。この場合、送信・受信装置はそれぞれ相手側からの情報を受信し、その応答を相手側に送信するインターロック制御を行う。
次に、大量のデータを連続して転送を行う実施例について説明する。
【００４８】
以下は制御装置４から上位装置１に対してデータを送出する転送（リード転送）について説明する。アドレス情報の獲得動作完了後、上位装置１からリード転送を要求するコマンドを含むフレームが送出される。
このフレームは、図５（Ｃ）に示すように、ソースアドレス１２には上位装置１のアドレス、ターゲットアドレス１３には制御装置４のアドレス、フレームタイプコード１４には制御情報であることを示すコード、データブロック１５には所定バイトのリード命令コードがそれぞれ格納されている。
【００４９】
制御装置４は、リードデータ転送要求が受け付け可能状態であるならば、上位装置１に対してコマンド受け付けを示すフレームを送出し、リードデータ転送動作の準備を開始する。
このフレームは、図５（Ｄ）に示すように、ソースアドレス１２には制御装置４のアドレス、ターゲットアドレス１２には上位装置１のアドレス、フレームタイプコード１４には制御情報であることを示すコード、データブロック１５にはコマンド受け付けＯＫであることを示すコードがそれぞれ格納されている。フレーム開始識別子１１およびフレーム終了識別子１６は、フレーム生成回路３０で付加される。
【００５０】
マイクロプロセッサ３９は転送カウンタ３５に先行するコマンドで指示された転送要求数をセットして、コントロールデータバッファ２９へデータフレームであるコードをセットし、データバッファ２７へ転送するデータをセットする。転送の準備が完了すると自動データ転送フラグ３４をセットし、上位装置への自動データ転送を開始する。
【００５１】
このフレームは、図５（Ｅ）に示すように、ソースアドレス１２には制御装置４のアドレス、ターゲットアドレス１３には上位装置１のアドレス、フレームタイプコード１４にはデータであることを示すコード、データブロック１５には所定バイトのデータがそれぞれ格納されている。
大量のデータの転送を行う場合、上位装置１がフレーム内のデータを一時的に格納するためのデータバッファの大きさや、上位装置１のデータ処理時間のために、上位装置１の処理能力を越えないようにデータを分割して転送することが必要とされることがある。
【００５２】
そこで、フレーム最大長カウンタ３８とインターバルカウンタ３７を設け、フレーム最大長カウンタ３８には一度のフレームで転送される最大長をセットし、インターバルカウンタ３７には自動データ転送において次に送出するフレームまでの時間をセットし、データをいくつかのフレームに分割して送出する。
例えば、上位装置１から合計１００バイトのデータがコマンドによって要求された場合、上位装置１の一時的なデータ格納が５０バイトしか確保できない場合には、転送カウンタ３５に１００、フレーム最大長カウンタ３８に５０、およびインターバルカウンタ３７に処理に十分な時間、例えば２秒を設定して自動データ転送を開始する。
【００５３】
制御装置４では、以下の方法により、最初にコマンドにより指示されたデータに引き続き、連続して新たに要求されるデータを転送することが可能となる。つまり、合計１００バイトのデータが最初のコマンドによって要求された自動データ転送において、自動データ転送中に新たなコマンドによって１００バイトの追加データが要求された場合には、自動データ転送を再起動させることなく合計２００バイトのデータ転送が可能となる。
【００５４】
自動データ転送フラグ３４がセットされた後、当該自動データ転送フラグ３４がリセットされる前に、上位装置１からのフレームを受信し、当該フレームに追加データ要求を示すコードが格納されていることを認識すると、当該フレームに格納されている転送要求数を転送カウンタ３５に加算する。
転送カウンタ３５への加算が完了すると、引き続き新たに要求された追加転送分のデータを上位装置１に対して送出する。ここで、自動データ転送中に上位装置１から受信したフレームが追加データ要求を示すコードが格納されていた場合には、フレーム受信の割り込みによるマイクロプロセッサ３９への通知は実施されない。
【００５５】
この追加データ要求のフレームは、図５（Ｆ）に示すように、ソースアドレス１２には上位装置１のアドレス、ターゲットアドレス１３には制御装置４のアドレス、フレームタイプコード１４には制御情報であることを示すコード、データブロック１５には１００バイトの追加データ要求を示すコードがそれぞれ格納されている。
【００５６】
このフレームは、フレーム検出回路２２のフレーム受信の割込みによりマイクロプロセッサ３９には通知されず、データ転送制御部４１内に設けられた転送カウンタ加算部４２に通知され、転送カウンタ加算部４２は転送要求数を転送カウンタ３５に加算する。こうして、要求された追加データは上位装置１に自動転送される。
【００５７】
追加データが要求されても転送カウンタ３５はリセットされず、自動データ転送フラグ３４もリセットされず、新たにフレームも生成されない。
したがって、追加データの転送をより効率的に行うことができる。
以上が、自動データ転送による大量のデータの送出実施例である。
ここで、図２に示すように、複数の上位装置１，２がデータ転送経路切換装置３に接続されていた場合、通常の一連のデータ転送処理は、常に上位装置１対制御装置４、または上位装置２対制御装置４とのどちらか一方で行われるはずであるが、一時的なデータ転送経路切換装置３の故障により、上位装置１との自動データ転送中に、上位装置２からの何らかの要求を示すフレーム（例外フレーム）が制御装置４へ送出されてしまうことが考えられる。
【００５８】
この例外フレームは、図５（Ｇ）に示すように、ソースアドレス１２には上位装置１のアドレスが格納される代りに上位装置２のアドレスが格納されている。ターゲットアドレス１３には、制御装置４のアドレス、フレームタイプコード１４には制御情報であることを示すコード、データブロック１５には命令コードが格納されている。
【００５９】
上位装置１へのリードデータ転送中に上位装置２からのフレームを制御装置４が検出したとすると、フレーム検出後、アドレス比較回路２４によりソースアドレス１２の異常が検出され、アドレス異常フラグ３２をセットし、マイクロプロセッサ３９に対して例外フレームの受信通知を行う。
自動データ転送は本例外フレームの受信により送信中のフレームを送出後、一時的にデータの転送を中断し、転送中断フラグ３６をセットする。
【００６０】
例外フレーム受信を通知されたマイクロプロセッサ３９は、解析手段３９Ａで受信されたフレームの内容をコントロールデータバッファ２５から獲得し、該フレームの内容解析結果によりコントロールストレージメモリ４０に予め格納してある例外フレームの内容と照合して、実行中の自動データ転送に影響を及ぼすものではないと判断された場合、転送中断フラグ３６をリセットすることにより、中断されていた自動データ転送を再開させることが可能である。
【００６１】
この場合の例外フレームとしては、例えば上位装置２へのデータ転送命令や上位装置２の内部ハードウェアの故障通知などがある。
また、自動データ転送に影響を及ぼすような例外フレームの受信と判断された場合には、自動データ転送フラグ３４をリセットすることにより、自動データ転送を終了する。
【００６２】
この場合の例外フレームとしては、例えばデータ転送経路切換装置３の故障が発生したことを通知するものなどがある。
前記では、上位装置１との自動データ転送中に上位装置２から例外フレームを受信した場合について述べたが、上位装置１との自動データ転送中に同じ上位装置１から例外フレームを受信した場合も同様に処理される。
【００６３】
上位装置１との自動データ転送中にデータフレーム（データを格納している）をのぞく他のフレーム（これが例外フレーム）、例えば上位装置１の内部のハードウェアが故障したことを通知する例外フレームを受信した場合には、実行中の自動データ転送に影響を及ぼすと判断して、自動データ転送を終了させる。また、受信した例外フレームが新たなデータ転送要求であるときは、実行中の自動データ転送に影響を及ぼすものではないと判断して、自動データ転送を再開させる。
【００６４】
正常に自動データ転送が完了した場合には、正常データ転送完了を示すフレームを上位装置１へ送出し、上位装置１とのデータ転送中に例外フレームを認識したことを通知するフレームを上位装置２へ送出する。
また、自動データ転送を異常終了した場合には、上位装置２からの例外フレーム受信によりデータ転送が異常終了したことを上位装置１，２それぞれに通知するフレームを送出する。
【００６５】
上記実施例では、上位装置１からのリードデータ転送要求に対する自動データ転送中に、上位装置２から受信したフレームを例外フレームとして取り扱ったが、制御装置４内部に、接続されている上位装置１，２毎にそれぞれの上位装置１，２からの要求を格納するためにコントロールストレージメモリ４０内に設けた例外フレーム格納領域４０Ａに要求を一時的に保留し、現在実行中の処理完了後に通常の要求フレームと同様に取り扱うことが可能である。
【００６６】
または、上記実施例では、制御装置４から上位装置１へデータを転送するリード転送について説明したが、データの転送方法が異なるライト転送も同様に実施することができる。
また、追加データの転送カウンタ３５に対する加算は、転送カウンタ加算部４２により行うようにしたが、これに限らず、マイクロプロセッサ３９によって行うようにしても良い。
【００６７】
【発明の効果】
以上説明してきたように、データ転送経路切換装置の故障や不具合によって誤って送信されてきた例外フレームを検出した場合、例外フレームの内容を解析し、解析結果により実行中の自動データ転送に影響を及すものでないと判断した場合には、転送中断フラグをリセットして、自動データ転送を再開するようにしたため、現在実行中の処理に対するリカバリ時間を短縮することができる。
【００６８】
また、自動データ転送中に追加データ要求が上位装置から送出されてきた場合、追加転送要求数を転送カウンタに加算するようにしたため、追加データの自動転送を効率的に行うことができる。
【図面の簡単な説明】
【図１】本発明の原理説明図
【図２】本発明の一実施例を示す全体構成図
【図３】制御装置のブロック図
【図４】フレームフォーマットを示す図
【図５】各フレームの内容を示す図
【符号の説明】
１，２：上位装置
３：データ転送経路切換装置
４：データ転送制御装置
５，６：ディスク装置
１１：フレーム開始識別子
１２：ソースアドレス
１３：ターゲットアドレス
１４：フレームタイプコード
１５：データブロック
１６：フレーム終了識別子
２１：シリアルパラレル変換部
２２：フレーム検出回路
２３：アドレスデータバッファ
２４：アドレス比較回路
２５：コントロールデータバッファ
２６：セレクタ
２７：データバッファ
２８：アドレスデータバッファ
２９：コントロールデータバッファ
３０：フレーム生成回路
３１：パラレルシリアル変換部
３２：アドレス異常フラグ
３３：アドレス有効フラグ
３４：自動データ転送フラグ
３５：転送カウンタ
３６：転送中断フラグ
３７：インターバルカウンタ
３８：フレーム最大長カウンタ
３９：マイクロプロセッサ
３９Ａ：解析手段
３９Ｂ：制御手段
３９Ｃ：通知手段
４０：コントロールストレージメモリ
４０Ａ：例外フレーム格納領域
４１：データ転送制御部
４２：転送カウンタ加算部（転送カウンタ加算手段）
４３：ＭＰＵバス
４４：フレーム受信部
４５：フレーム送信部
【図１】
0003650151.tif 000002
【図２】
0003650151.tif 000003
【図３】
0003650151.tif 000004
【図４】
0003650151.tif 000005
【図５】
0003650151.tif 000006