(57)【要約】【課題】エラーに対して迅速かつ適切に対処することのできる制御技術を提供する。【解決手段】プロセッサと前記プロセッサに接続される周辺デバイスの間に配置されて前記周辺デバイスに対する制御タスクシーケンスを管理する制御装置において、前記プロセッサから前記周辺デバイスに送信される送信データと、前記送信データに応答して前記周辺デバイスから受け取った受信データを一時的に記憶する第１のメモリと、前記送信データと前記受信データにエラー訂正を行うエラー検出訂正回路と、前記エラー検出訂正回路によって訂正できなかったエラーを有する送信データまたは受信データに関する情報を記憶する第２のメモリと、前記第２のメモリに記憶された情報に基づいて、前記周辺デバイスから前記受信データを再取得する第１制御部と、を有する。【選択図】図２
2018077679.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサと前記プロセッサに接続される周辺デバイスの間に配置されて前記周辺デバイスに対する制御タスクシーケンスを管理する制御装置において、
前記プロセッサから前記周辺デバイスに送信される送信データと、前記送信データに応答して前記周辺デバイスから受け取った受信データを一時的に記憶する第１のメモリと、
前記送信データと前記受信データにエラー訂正を行うエラー検出訂正回路と、
前記エラー検出訂正回路によって訂正できなかったエラーを有する送信データまたは受信データに関する情報を記憶する第２のメモリと、
前記第２のメモリに記憶された情報に基づいて、前記周辺デバイスから前記受信データを再取得する第１制御部と、
を有することを特徴とする制御装置。
【請求項２】
前記送信データまたは前記受信データに前記エラー検出訂正回路によって訂正されなかったエラーが含まれるか否かを判断し、訂正されなかったエラーを含む送信データまたは受信データの前記第１のメモリ内での位置情報を、前記第２のメモリに書き込む第２制御部、
をさらに有することを特徴とする請求項１に記載の制御装置。
【請求項３】
前記第１のメモリは、受信データバッファを含み、
前記第１制御部は、前記送信データにエラーが無い場合に前記送信データを前記周辺デバイスに送信し、前記送信データに応答して前記周辺デバイスから送られてくる受信データと、前記送信データにエラーが無いことを示す送信データエラー情報を対応付けて、前記受信データバッファに保存する、
ことを特徴とする請求項１に記載の制御装置。
【請求項４】
前記第１のメモリは、受信データバッファを含み、
前記第１制御部は、前記送信データに前記エラー検出訂正回路によって訂正されなかったエラーが含まれる場合に、前記送信データを前記周辺デバイスに送信せずに、前記送信データにエラーが有ることを示す送信データエラー情報を前記受信データバッファに保存する、
ことを特徴とする請求項１に記載の制御装置。
【請求項５】
前記受信データバッファ内の情報に基づいて、前記送信データまたは前記受信データにエラーが含まれるか否かを判断する第２制御部、
をさらに有し、
前記第２制御部は、前記送信データと前記受信データの両方にエラーが無い場合に、当該受信データを前記プロセッサに転送し、前記受信データまたは前記送信データに前記エラー検出訂正回路によって訂正されなかったエラーが有る場合に、前記プロセッサにエラー情報を送信し、かつ前記第２のメモリにエラー情報を書き込む、
ことを特徴とする請求項３または４に記載の制御装置。
【請求項６】
前記第１のメモリは、送信データテーブルを含み、
前記制御装置は、前記送信データに前記エラー検出訂正回路によって訂正されなかったエラーが含まれる場合に、前記プロセッサから前記送信データを再度受け取り、再受信した送信データを前記送信データテーブルの対応する箇所に上書きすることを特徴とする請求項１に記載の制御装置。
【請求項７】
プロセッサと、
外部の伝送路に接続される周辺デバイスと、
前記プロセッサと前記周辺デバイスの間に配置されて、前記プロセッサと前記周辺デバイスとの間で送受信される制御信号を管理する制御装置と、
を有し、前記制御装置は、
前記プロセッサから前記周辺デバイスに送信される送信データと、前記送信データに応答して前記周辺デバイスから受け取った受信データを一時的に記憶する第１のメモリと、
前記送信データと前記受信データにエラー訂正を行うエラー検出訂正回路と、
前記エラー検出訂正回路によって訂正できなかったエラーを有する送信データまたは受信データに関する情報を記憶する第２のメモリと、
前記第２のメモリに記憶された情報に基づいて、前記周辺デバイスから前記受信データを再取得する第１制御部と、
を有することを特徴とする伝送装置。
【請求項８】
プロセッサと前記プロセッサに接続される周辺デバイスの間に配置されて前記周辺デバイスに対する制御タスクシーケンスを管理する制御装置で実行される制御方法であって、
前記プロセッサから前記周辺デバイスに送信される送信データと、前記送信データに応答して前記周辺デバイスから送られてくる受信データを第１のメモリに一時的に保存し、
前記送信データと前記受信データにエラー訂正を行い、
前記エラー訂正によって訂正できなかったエラーを有する送信データまたは受信データに関する情報を第２のメモリに記録し、
前記第２のメモリに記憶された情報に基づいて、前記周辺デバイスから前記受信データを再取得する、
ことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセッサと周辺デバイスの間で行われる制御技術に関する。
【背景技術】
【０００２】
ＣＰＵ（Central Processing Unit：中央処理装置）に複数の周辺デバイスが接続されている装置またはシステムでは、ＣＰＵと周辺デバイスの間に介在してタスクのシーケンスを制御する制御装置が用いられている（例えば、特許文献１参照）。制御装置は、ＣＰＵからの要求に従って周辺デバイスに順次制御命令を出力し、周辺デバイスから取得した情報をＣＰＵに供給する。
【０００３】
たとえば、ネットワークで用いられる伝送装置では、光部品等の周辺デバイスの状態を監視し、周辺デバイスのアラーム情報等を収集して障害の監視、予防、復旧、保全を行っている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２３４１１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＣＰＵと周辺デバイスの間に配置されてタスクシーケンスを制御する制御装置のメモリ領域でソフトエラーが発生した場合、エラーの発生自体を認識することが難しい。また、発生したエラーがすべて自動訂正可能なエラーであるとは限らず、エラーの検出と訂正が遅れて装置の信頼性が低下するおそれがある。
【０００６】
本発明は、エラーに対して迅速かつ適切に対処することのできる制御技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
一つの態様では、プロセッサと前記プロセッサに接続される周辺デバイスの間に配置されて前記周辺デバイスに対する制御タスクシーケンスを管理する制御装置において、
前記プロセッサから前記周辺デバイスに送信される送信データと、前記送信データに応答して前記周辺デバイスから受け取った受信データを一時的に記憶する第１のメモリと、
前記送信データと前記受信データにエラー訂正を行うエラー検出訂正回路と、
前記エラー検出訂正回路によって訂正できなかったエラーを有する送信データまたは受信データに関する情報を記憶する第２のメモリと、
前記第２のメモリに記憶された情報に基づいて、前記周辺デバイスから前記受信データを再取得する第１制御部と、
を有する。
【発明の効果】
【０００８】
上記構成により、エラー発生に対して迅速かつ適切に対処することが可能になる。
【図面の簡単な説明】
【０００９】
【図１】本発明の制御装置が適用されるネットワーク伝送装置の概略図である。
【図２】制御信号チップの構成例を示す図である。
【図３】送信データテーブルの一例を示す図である。
【図４】送信データの一例を示す図である。
【図５】受信データバッファの一例を示す図である。
【図６】リトライポインタ格納メモリの一例を示す図である。
【図７】制御デバイスの全体の処理フローを示す図である。
【図８】受信データの再取得のフローを示す図である。
【図９】リトライ制御部の動作フローである。
【図１０】送受信制御部で行われる動作フローである。
【図１１】受信バッファ読み出し時の制御デバイス１３の動作フローを示す。
【図１２】ネットワーク伝送装置内のインタフェースの例を示す図である。
【図１３】図１２の構成でのアラーム収集タイミングを示す図である。
【図１４】複数の光部品との接続例を示す図である。
【図１５】図１４の構成でのアラーム取集タイミングを示す図である。
【図１６】複数の光部品に対するエラーチェック制御を並列で行う例を示す図である。
【図１７】図１６の構成でのアラーム収集タイミングを示す図である。
【発明を実施するための形態】
【００１０】
実施形態では、伝送装置等の装置内部でＣＰＵと周辺部品の間のタスクシーケンスを制御する制御デバイスで、内部メモリに発生するソフトエラーを検出して迅速に対処する。伝送装置の動作に影響しない微細なエラーを自動的に訂正し、伝送装置の動作に影響するエラーに対しては、可能な限り制御デバイスの自律的な動作で再リードを行ってエラーを回復する。
【００１１】
図１は、実施形態の制御技術が適用されるネットワーク伝送装置１０の概略図である。ネットワーク伝送装置１０は、ＣＰＵ１１と、光部品２１ａ、２１ｂ、…（以下、適宜「光部品２１」と総称する）を有する。光部品２１は、たとえば光トランシーバ、光増幅器等の周辺デバイスであり、それぞれが光伝送路に接続されている。ＣＰＵ１１と光部品２１の間に、主信号チップ１２と制御デバイス１３が並列に配置されている。主信号チップ１２は、ＣＰＵ１１と光部品２１の間で送受信されるデータ信号を、ＣＰＵ１１と光部品２１での処理に適した形式に変換する。制御デバイス１３は本発明の制御装置に相当し、ＣＰＵ１１と光部品２１の間で送受信される制御信号または制御データを管理する。この意味で、制御デバイス１３を「制御信号チップ」と称してもよい。たとえば、制御デバイス１３はＣＰＵ１１から、光部品２１のアラーム情報の収集などの各種タスクの命令を受信し、光部品２１からアラーム情報等の制御データを取得してＣＰＵ１１に供給する。
【００１２】
標準的な規格として、ＣＰＵ１１と制御デバイス１３の間は高速インタフェースで接続され、制御デバイス１３と各光部品２１の間は低速インタフェースで接続されている。ＣＰＵ１１と光部品２１の間に制御デバイス１３を配置することで、制御デバイス１３から光部品２１への低速でのアクセス中に、ＣＰＵ１１は他の処理を実行することができる。制御デバイス１３の少なくとも一部は、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）等のロジックデバイスで実現されてもよい。ＣＰＵ１１は、ＬＳＩチップ等のパッケージで実現されてもよい。ネットワーク伝送装置１０は、サーバブレードやシステムボードとして実現されてもよい。
【００１３】
図２は、制御デバイス１３の構成例を示す。制御デバイス１３は、ＣＰＵ１１との接続をとる高速インタフェース（Ｉ／Ｆ）回路１３１と、光部品２１との接続をとる低速インタフェース（Ｉ／Ｆ）回路１３３と、エラーチェック制御回路１５と、セレクタ１３２を有する。セレクタ１３２は、エラーチェック制御回路１５からの入出力信号と内部バスからの入出力信号の間を切り替えて、いずれかの信号を各光部品２１に接続する。
【００１４】
エラーチェック制御回路１５は、ＥＣＣ（Error Correction Code；誤り訂正符号）挿入回路１５１、送信データテーブル１５２、エラー検出訂正回路１５３、送受信設定数メモリ１５４、ＥＣＣ挿入回路１５６、受信データバッファ１５８、エラー検出訂正回路１５９を有する。エラーチェック制御回路１５はまた、リトライ制御部１６０、リトライポインタ格納メモリ１５７、及び送受信制御部１５５を有する。
【００１５】
送受信設定数メモリ１５４は、光部品２１との間で送受信されるデータ数を「送受信設定数」として記憶する。送受信制御部１５５は、送受信設定数に基づいて、光部品２１への制御データの送信と、光部品２１からの制御データの受信を制御する。送受信設定数は、ネットワーク伝送装置１０の動作開始時にＣＰＵ１１から供給される。前回の通信時から変更がない場合は、設定変更は不要である。この場合は、送受信設定数メモリ１５４に現在設定されている送受信設定数分、送受信を行う。
【００１６】
送信データテーブル１５２は、たとえばＲＡＭ（Random Access Memory；ランダムアクセスメモリ）で形成され、ＣＰＵ１１から各光部品２１に送られる制御情報を送信データとして記憶する。制御情報には、制御対象の光部品２１が接続されるポート番号と、その光部品２１に要求されるタスクを指定するリードアドレスが含まれる。送信データテーブル１５２の構成例は後述する。
【００１７】
受信データバッファ１５８は、たとえばＲＡＭで形成され、光部品２１から取得したアラーム情報等の制御データを受信データとして記憶する。受信データバッファ１５８の構成例は後述する。
【００１８】
送信データテーブル１５２や受信データバッファ１５８に用いられるＲＡＭにソフトエラーが発生して記憶された情報が変化した場合、制御データに誤りが生じて正しい制御データを収集できなくなる可能性がある。ソフトエラーは、α線等の宇宙線の入射によって引き起こされる自然発生的なビット反転である。メモリの素子サイズは微細化を続けており、ソフトエラーの影響を受けやすくなっている。ＲＡＭの未使用領域にソフトエラーが生じた場合は、ネットワーク伝送装置１０の動作に直接影響しないが、使用時に備えて適正な状態に修正しておくことが望ましい。他方、ＲＡＭの使用領域にソフトエラーが生じたときは、ネットワーク伝送装置１０の動作に影響する蓋然性が高い。
【００１９】
実施形態では、送信データテーブル１５２の入力側にＥＣＣ挿入回路１５１を配置し、出力側にエラー検出訂正回路１５３を配置して、送信データテーブル１５２にソフトエラー耐性を持たせている。ネットワーク伝送装置１０の動作に影響しない軽微なテーブルエラーに起因する符号誤りは、エラー検出訂正回路１５３により自動修正される。同様に受信データバッファ１５８の入力側にＥＣＣ挿入回路１５６を配置し、出力側にエラー検出訂正回路１５９を配置して、受信データバッファ１５８にソフトエラー耐性を持たせている。ネットワーク伝送装置１０の動作に影響しない軽微なバッファエラーに起因する符号誤りは、エラー検出訂正回路１５９により自動修正される。
【００２０】
エラー検出訂正機能によりエラーが訂正されない場合は、送信データテーブル１５２と受信データバッファ１５８に格納された制御データ自体にエラーが生じている可能性が高い。この場合は、エラーが残っている制御データを正しいデータに書き換える。これを実現するために、実施形態の特徴として、制御デバイス１３に、リトライ制御部１６０と、リトライポインタ格納メモリ１５７と、送受信制御部１５５を設ける。
【００２１】
リトライ制御部１６０は、誤り訂正機能で訂正できなかったエラーが残っている送信データと受信データが書き込まれている箇所のポインタ情報を、リトライポインタ格納メモリ１５７に書き込む。リトライポインタ格納メモリ１５７は、送信データテーブル１５２や受信データバッファ１５８と比較して小容量であり、ＥＣＣ耐性が強く、たとえばフリップフロップで構成されている。送信データ及び受信データのエラー情報と、リトライポインタ格納メモリ１５７内に書き込まれたリトライポインタ情報は、ＣＰＵ１１に通知される。
【００２２】
自動訂正できなかったエラーを有する送信データについては、ＣＰＵ１１から再度の送信データを受け取って、送信データテーブル１５２のエラー発生箇所に正しい送信データを上書きする。送受信制御部１５５は、上書きされた送信データを光部品２１に送信し、光部品２１から再度、制御データを取得する。送信データにエラーはないが、受信データにエラーが生じている場合は、受信データバッファ１５８に生じているエラーが原因である可能性が高い。この場合は、ＣＰＵ１１からの再リード命令に応答して、リトライポインタ格納メモリ１５７を参照して送信データテーブル１５２を再リード（読み込み）し、受信データを再取得する。
【００２３】
このような制御デバイス１３の動作により、正しい制御要求が光部品２１に送信され、光部品２１から受信した正しい制御データをＣＰＵ１１に転送することができる。この動作の詳細については後述する。リトライ制御部１６０、リトライポインタ格納メモリ１５７、及び送受信制御部１５５を設けたことにより、送信データテーブル１５２と受信データバッファ１５８に記憶される情報は、ほぼリアルタイムで正しい状態に更新され保持されるという効果もある。
【００２４】
次に、制御デバイス１３での信号の流れを説明する。図中、＜初＞で示される情報は、ネットワーク伝送装置１０の動作開始時に送受信される情報であり、＜再＞で示される情報は再リード時に送受信される情報である。ネットワーク伝送装置１０の動作開始によって、光部品２１に送信されるべき全送信データと全ポインタがＣＰＵ１１から制御デバイス１３に入力される。各送信データにＥＣＣが挿入されて、送信データテーブル１５２の指定された領域に書き込まれる。
【００２５】
送受信制御部１５５は、送受信設定数メモリ１５４から読み出した設定数にしたがって送信データテーブル１５２の読み出し領域を指定する。送信データテーブル１５２から所定の数の送信データが読み出され、エラー検出訂正回路１５３でエラー検出と訂正を受ける。エラー検出訂正回路１５３は、送信データとエラー情報を送受信制御部１５５に出力する。
【００２６】
送受信制御部１５５は、エラーの無い送信データを低速Ｉ／Ｆ回路１３３に出力する。送信データは低速インタフェースで制御対象となる光部品２１に送信される。送受信制御部１５５は、光部品２１から送信データに応答する制御データを受信すると、受信データを、対応する送信データにエラーが無いことを示す送信エラー情報とともに、ＥＣＣ挿入回路１５６に供給する。ＥＣＣが挿入された受信データと「エラー無し」を示す送信データエラー情報は、受信データバッファ１５８に書き込まれる。
【００２７】
送信データにエラーが有る場合は、送受信制御部１５５は送信データを光部品２１に送らずに、「エラー有り」を示す送信データエラー情報を、受信データバッファ１５８の対応するポインタ箇所に書き込む。
【００２８】
設定数分の送受信が行われた後に、受信データバッファ１５８の各領域から受信データと送信データエラー情報が読み出され、エラー検出訂正回路１５９で誤り検出と訂正が行われる。エラー検出訂正回路１５９は、受信データにエラーが生じている場合に、訂正可能な範囲でエラー訂正を行って、受信データ、送信データエラー情報、および受信データにエラーが含まれるか否かを示す受信データエラー情報を、リトライ制御部１６０に供給する。リトライ制御部１６０は、これらの情報を、高速Ｉ／Ｆ回路１３１を介してＣＰＵ１１に出力し、かつ、エラーを含む送信データと受信データのポインタ情報をリトライポインタ格納メモリ１５７に書き込む。リトライポインタ格納メモリ１５７に書き込まれたポインタ情報は、エラー箇所ポインタ情報としてＣＰＵ１１に通知される。
【００２９】
制御デバイス１３は、エラーが生じている送信データと受信データについて、ＣＰＵ１１から再リード要求及び／またはエラー箇所の送信データを受信する。送信データテーブル１５２のエラー情報を含む箇所は、再受信された送信データで上書きされる。送受信制御部１５５は再リード要求に応じて送信データテーブル１５２の指定箇所から送信データを読み出して光部品２１に送信し、光部品２１からの受信データを再取得する。受信データの再取得時に、リトライポイント格納メモリ１５７内に記録されている当該受信データと関連するリトライポインタ情報は消去（クリア）される。リトライポインタ格納メモリ１５７がすべてクリアされるまで、あるいは、リトライポインタ数が所定の数以下になるまで処理を繰り返す。
【００３０】
処理を繰り返してもリトライポインタ格納メモリ１５７中のポインタ数がゼロあるいは所定数以下にならないということは、ソフトエラーの問題ではない可能性があるので、ＣＰＵ１１にアラームを通知してもよい。
【００３１】
図３は、送信データテーブル１５２の一例を示す。送信データテーブル１５２には、ポインタで示される領域ごとに、付加された誤り訂正符号（ＥＣＣ）と、送信データが記憶されている。後段のエラー検出訂正回路１５３は、送信データに所定の演算を行ってエラーの有無を確認し、エラーが検出されたときはＥＣＣを用いて訂正可能な範囲で送信データを復元する。
【００３２】
図４は、送信データの一例を示す。送信データは、制御対象である光部品２１が接続されるポート番号と、ＣＰＵ１１によって指示された制御タスクのアドレスと、要求される受信データの取得するためのコマンドを含む。
【００３３】
図５は受信データバッファ１５８の一例を示す。受信データバッファ１５８には、ポインタで示される領域ごとに、ＥＣＣを保存するフィールドと、送信データエラー情報を保存するフィールドと、受信データを保存するフィールドが設けられている。送信データエラー情報は、送受信制御部１５５によって挿入される。送信データにエラーがある場合は光部品２１からの受信データは取得されておらず、送信データエラー情報のみが書き込まれる。
【００３４】
図６は、リトライポインタ格納メモリ１５７の一例を示す。エラー箇所ポインタ情報はたとえば、送信データテーブル１５２及び受信データバッファ１５８の格納領域のポインタ番号（アドレス）を含む。リトライポインタ格納メモリ１５７に書き込まれる情報数（リトライポインタ数）は、想定されるエラー数に応じてあらかじめ決定されている。ひとつのエラー箇所についてポインタ情報が書き込まれる領域のサイズは、たとえば、送信データテーブル１５２と受信データバッファ１５８のポインタ数をＤとすると、ｌｏｇＤである。
【００３５】
図７は、制御デバイス１３の全体の処理フローを示す図である。ネットワーク伝送装置１０の動作開始により、ＣＰＵ１１から初期設定情報を取得する（Ｓ１１）。初期設定情報には、低速Ｉ／Ｆで送受信される数を示す送受信設定数が含まれる。
【００３６】
制御デバイス１３は、ＣＰＵ１１から、各光部品２１への制御要求を含む送信データを受け取り、送信データテーブル１５２に書き込む（Ｓ１２）。ＣＰＵ１１からの送信開始命令に応じて、送受信設定数分の送信データを送信データテーブル１５２から読み出し、エラー検出及び訂正を行って、エラーのない送信データを目的の光部品２１に送信する（Ｓ１３）。ここでのエラー検出及び訂正は、送信データテーブル１５２に書き込まれたことにより送信データに生じ得るエラーの検出と訂正である。送信データに応答して光部品２１から送られてくる制御データ（受信データ）を、送信データエラー情報とともに、受信データバッファ１５８に格納する（Ｓ１４）。受信データとともに格納される送信データエラー情報は、送信データにエラーがないことを示す情報である（たとえば、フラグビット「０」）。エラー訂正できず光部品２１に送信されなかった送信データについては、エラーが有ることを示す送信データエラー情報（たとえば、フラグビット「１」）が、受信データバッファ１５８の対応するポインタ位置に書き込まれる。
【００３７】
光部品２１との間で設定数分の送受信が完了すると、制御デバイス１３は、受信データバッファ１５８から順次受信データを読み出し、エラー検出及び訂正を行って、受信データをＣＰＵ１１に転送する（Ｓ１５）。ここでのエラー検出及び訂正は、受信データバッファ１５８に書き込まれたことにより生じ得るエラーの検出と訂正である。送信データにエラーが無く、かつ受信データにもエラーが無い場合に、光部品２１からの受信データがＣＰＵ１１に転送される。
【００３８】
制御デバイス１３は、訂正されなかったエラーを含む送信データと受信データのポインタ情報をリトライポインタ格納メモリ１５７に記録する（Ｓ１６）。エラー箇所を示すポインタ情報（リトライポインタ情報）はＣＰＵ１１に通知されてもよい。
【００３９】
設定数分の送信データについて処理がすべて完了すると、リトライポインタ格納メモリ１５７の占有状態に基づいて、エラー訂正できなかった送受信データがあるか否かが判断される（Ｓ１７）。訂正できなかったエラーが有る場合は、制御デバイス１３は、ＣＰＵ１１からの指示に基づいて、エラー箇所についてのみ受信データの再取得を試みる（Ｓ１８）。受信データの再取得の詳細は、図８を参照して後述する。リトライポインタ格納メモリ１５７に残るエラー情報が閾値（ゼロまたは正の整数）以下になるまで、ステップＳ１８を繰り返す（Ｓ１９）。閾値を超える数の送信データエラーまたは受信データエラーが残っている場合は、上述のように、ＣＰＵ１１にアラーム情報を供給してもよい。
【００４０】
これにより、軽微なエラーは自動修正し、ネットワーク伝送装置１０の動作に影響するエラーは、制御デバイス１３とＣＰＵ１１の連携による自律的な動作で迅速に修正することができる。また、制御デバイス１３が低速インタフェースで光部品２１と通信している期間（Ｓ１３とＳ１４の期間、及びＳ１８における再度の送受信の期間）は、ＣＰＵ１１は他の処理を行うことができ、ＣＰＵ１１の処理効率を維持することができる。
【００４１】
図８は、ステップＳ１８の具体的なフローを示す。光部品２１との間の送受信設定数分の送受信において、送信データにエラーが存在するとき、制御デバイス１３は、ＣＰＵ１１からエラー箇所の送信データを再度受信する（Ｓ１８１）。送信データにエラーが残っているということは、送信データテーブル１５２の使用領域にソフトエラーが発生している可能性が高い。この場合は、ＣＰＵ１１から再送された送信データを送信データテーブル１５２の対応する箇所に上書きする（Ｓ１８２）。ＣＰＵ１１からの再送受信開始指示に基づいて（Ｓ１８３）、更新された送信データを光部品２１に送信し、光部品２１から受信データを再取得する（Ｓ１８４）。更新された送信データは、リトライポインタ格納メモリ１５７のリトライポインタで指定される送信データテーブル１５２のポインタ箇所から読み出される。読み出された送信データはエラー検出及び訂正を受けるが、再書き込みされた送信データに訂正不可能なエラーが残る蓋然性は低い。
【００４２】
光部品２１から再取得した受信データにエラーが有るか否かが判断され（Ｓ１８５）、送信データエラーも受信データエラーもない場合は、再取得した受信データをＣＰＵ１１に送信する（Ｓ１８６）。送信データエラーまたは受信データエラーが有る場合は、エラー箇所のポインタ情報をリトライポインタ格納メモリ１５７に書き込む（Ｓ１８７）。
【００４３】
送信データエラーが残る、送信データテーブル１５２に記憶された送信データ自体を正しいデータで上書きすることで、正しい受信データを再取得できる。また、送信データテーブル１５２を適正な状態に維持することができる。
【００４４】
図９は、図７のステップＳ１５とＳ１６に関連するリトライ制御部１６０の動作フローである。リトライ制御部１６０は、エラー検出訂正回路１５９から、受信データと、送信データエラー情報と、受信データエラー情報を受け取る（Ｓ１５１）。訂正できなかった送信データエラーまたは受信データエラーがあるか否かを判断する（Ｓ１５２）。送信データエラーも受信データエラーも無い場合は、その受信データをＣＰＵ１１に送信する（Ｓ１５４）。
【００４５】
送信データエラーまたは受信データエラーが有る場合は、送信／受信エラーポインタ情報をリトライポインタ格納メモリ１５７に書き込み（Ｓ１５３）、送信／受信エラー情報をＣＰＵ１１に送信する（Ｓ１５５）。
【００４６】
図１０は、送受信制御部１５５の動作フローを示す。この動作フローは、送信データテーブル１５２にポインタ数分の送信データが書き込まれた後に、ＣＰＵ１１からの送信指示の受信によって開始される（Ｓ２１）。送受信制御部１５５は、ＣＰＵ１１からの送信指示が初回の送信開始指示か、再送信開始指示であるかを判断する（Ｓ２２）。初回の送信開始指示である場合は、送受信設定数メモリ１５４から送受信設定数を読み出し（Ｓ２３）、送信データテーブル１５２の最初のポインタから送受信設定数分のポインタまでを変数Ｘとして定める（Ｓ２４）。他方、再送信開始指示である場合は、リトライポインタ格納メモリ１５７にアクセスして（Ｓ２５）、格納されているポインタを変数Ｘとして定める（Ｓ２６）。Ｓ２２〜Ｓ２６までの処理ブロックＡは、どのテーブルまたはメモリからどのデータを読み出すかの情報抽出の過程である。
【００４７】
次に、変数ＸについてループＢの処理を行う。送信データテーブル１５２に現在の処理対象となるポインタを送り（Ｓ２８）、ポインタで示される領域に格納されている送信データと送信データエラー情報を読み出す（Ｓ２９）。送信データエラー情報をチェックしてエラーが訂正されずに残っているか否かを判断する（Ｓ３０）。送信データにエラーがない場合は、送信データを低速Ｉ／Ｆに出力し（Ｓ３１）、エラー無しを示す送信データエラー情報を、光部品２１から返って来る制御データ（受信データ）とともに、受信データバッファ１５８の対応するポインタ箇所に書き込む（Ｓ３２）。
【００４８】
ステップＳ３０で、送信データに訂正できなかったエラーが有る場合は、送信データを対応する光部品２１に送らずに、「エラー有り」を示す送信データエラー情報を受信データバッファ１５８の対応するポインタ箇所に書き込む（Ｓ３３）。ステップＳ３２またはＳ３３の後はＳ２８に戻って、すべての変数Ｘについて、Ｓ２８〜Ｓ３３のループＢを繰り返す（Ｘ＝Ｘ＋１）。ループＢが完了すると送受信完了通知をＣＰＵ１１に送る（Ｓ３５）。
【００４９】
図１１は、受信データバッファ１５８の読み出し時の制御デバイス１３の動作フローである。まず、光部品２１との間の低速Ｉ／Ｆによる送受信の完了を待つ（Ｓ４１）。低速Ｉ／Ｆでの送受信が完了すると、リトライポインタ格納メモリ１５７を読み出して（Ｓ４２）、格納されるリトライポインタが有るか否かを判断する（Ｓ４３）。リトライポインタ格納メモリ１５７内に記録された情報がないときは、初回の送受信完了後の状態である。この場合、送受信設定数メモリ１５４から送受信設定数を読み出し（Ｓ４４）、受信データバッファ１５８の最初のポインタから送受信設定数分のポインタまでを変数Ｙとして定める（Ｓ４５）。リトライポインタ格納メモリ１５７内にポインタ情報がある場合は、再リード時の読み出し処理である。この場合は、リトライポインタ格納メモリ１５７のポインタを変数Ｙとして定める（Ｓ４６）。変数Ｙとして取得されたポインタ情報は、リトライポインタ格納メモリ１５７からクリアされる（Ｓ４７）。ステップＳ４２〜Ｓ４７までの処理は、受信データバッファ１５８からどの受信データを読み出すかの情報を抽出する処理Ｃである。
【００５０】
変数Ｙが設定されたら、受信データバッファ１５８の読み出しループＤが実行される。リトライ制御部１６０は、受信データバッファ１５８の変数Ｙで示されるポインタ領域にアクセスし（Ｓ４８）、受信データと送信データエラー及び受信データエラー情報を読み出す（Ｓ４９）。変数Ｙの範囲内でステップＳ４８とＳ４９を繰り返す。変数Ｙの全範囲で受信データバッファ１５８からの読み出しが終わると、訂正できなかった送信データエラーまたは受信データエラーがあるか否かを判断する（Ｓ５０）。送信データエラーも受信データエラーもなければ、受信データをＣＰＵ１１に転送して（Ｓ５１）、ループＤの読み出し処理を終了する。送信データエラーまたは受信データエラーが有る場合は、リトライポインタ格納メモリ１５７にポインタ情報を書き込んで（Ｓ５２）、ループＤの読み出し処理を終了する。
【００５１】
図１２は、ネットワーク伝送装置１０内のインタフェース構成を示す図である。制御信号チップ、すなわち制御デバイス１３は、ＰＣＩｅ（PCI Express）、ＳＲＩＯ（Serial Rapid Input/Output）等の高速インターコネクト規格でＣＰＵ１１と接続されている。制御デバイス１３のエラーチェック制御回路１５は、Ｉ２Ｃ（Inter-Integrated Circuit）、ＭＤＩＯ（Management Data Input/Output）、ＳＰＩ（Serial Peripheral Interface）等の低速インタフェースで光部品２１と接続されている。
【００５２】
図１３は、図１２の構成における光部品２１からのアラーム収集タイミングを示す図である。横軸は時間、縦軸は通信量を示す。定期収集周期で、制御デバイス１３による低速インタフェースを介したアラーム収集の期間Ｐ１に、ＣＰＵ１１は他の処理を実行することができる。光部品２１からのアラーム収集後のタイミングＰ２で、ＣＰＵ１１は高速インタフェースで制御デバイス１３からアラーム情報を読み出す。この読み出しタイミングＰ２は、制御デバイス１３による受信データバッファ１５８の読み出しと、受信データ及び送信／受信データエラー情報のＣＰＵ１１への転送の期間と一致する。その後、次の定期収集情報の読み出しタイミングＰ２まで、ＣＰＵ１１は他の処理を実行することができる。受信データバッファ１５８に訂正されなかったエラーが存在する場合は、Ｐ２の後のタイミングＰ３で、送受信制御部１５５の自律的な動作で、エラーのあるアラーム情報のみを再取得する。
【００５３】
光部品２１からアラーム情報を取得するためのコマンド群（ポート番号とリードアドレスを含む）は、あらかじめ送信データとして送信データテーブル１５２に書き込まれている。定期収集周期は、ＣＰＵ１１で設定される送受信設定数によって決まり、リトライ制御部１６０の動作により、エラーのないアラーム情報がＣＰＵ１１に送られる。
【００５４】
送信データまたは受信データに訂正できないエラーが残っていても（たとえば、ＥＣＣ２ビットエラー）、リトライポインタ格納メモリ１５７を参照して、送受信制御部１５５が自律的にエラーが生じたアラーム情報のみを再収集する。
【００５５】
図１４は、複数の光部品との接続例を示す図である。エラーチェック制御回路１５と光部品２１ａ、２１ｂ、２１ｃのそれぞれは、低速インタフェースで接続されている。ひとつの光部品２１あたりの１回のアラーム読み出し量がそれほど多くない場合は、図１４のように複数の光部品のアラーム情報をまとめて収集することができる。
【００５６】
図１５は、図１４の構成における光部品２１ａ〜２１ｃからのアラーム収集タイミングを示す図である。定期収集周期において、光部品２１ａ、２１ｂ、２１ｃのそれぞれに、時分割でアラーム情報収集期間Ｐ１ａ、Ｐ１ｂ、Ｐ１ｃが割り当てられている。すべての光部品２１ａ〜２１ｃからのアラーム収集の終了後に、タイミングＰ２でＣＰＵ１１による読み出しが行われる。送信データまたは受信データにエラーが有る場合は、タイミングＰ３でアラーム情報の再取得（再リード）が行われる。
【００５７】
図１６は、複数の光部品２１ａ〜２１ｄに対するエラーチェック制御を並列で行う例を示す図である。制御デバイス１３は、複数のエラーチェック制御回路１５−１、１５−２を有する。エラーチェック制御回路１５−１と光部品２１ａ及び２１ｂの間は並列の低速インタフェースで接続され、エラーチェック制御回路１５−２と光部品２１ｃ及び２１ｄの間は並列の低速インタフェースで接続されている。
【００５８】
図１７は、図１６の構成でのアラーム収集タイミングを示す図である。エラーチェック制御回路１５−１により、光部品２１ａと２１ｂに対して時分割でアラーム収取が行われる（収集期間Ｐ１ａとＰ１ｂ）。エラーチェック制御回路１５−２により、光部品２１ｃと２１ｄに対して時分割でアラーム収取が行われる（収集期間Ｐ１ｃとＰ１ｄ）。これらの処理は並列で行われ、低速インタフェースでのトータルの通信量を増やすことができる。
【００５９】
以上述べたように、ＣＰＵ１１と光部品２１等の周辺デバイスの間でタスクシーケンスを制御する制御デバイス１３にエラーチェック制御回路１５を配置することで、軽微なテーブルエラーまたはバッファエラーを迅速に訂正する。エラー訂正できなかった場合も、制御デバイス１３の自律的な動作で正しい制御データを光部品から取得してＣＰＵ１１に供給することができる。
【００６０】
以上の説明に対し、以下の付記を呈示する。
（付記１）
プロセッサと前記プロセッサに接続される周辺デバイスの間に配置されて前記周辺デバイスに対する制御タスクシーケンスを管理する制御装置において、
前記プロセッサから前記周辺デバイスに送信される送信データと、前記送信データに応答して前記周辺デバイスから受け取った受信データを一時的に記憶する第１のメモリと、
前記送信データと前記受信データにエラー訂正を行うエラー検出訂正回路と、
前記エラー検出訂正回路によって訂正できなかったエラーを有する送信データまたは受信データに関する情報を記憶する第２のメモリと、
前記第２のメモリに記憶された情報に基づいて、前記周辺デバイスから前記受信データを再取得する第１制御部と、
を有することを特徴とする制御装置。
（付記２）
前記送信データまたは前記受信データに前記エラー検出訂正回路によって訂正されなかったエラーが含まれるか否かを判断し、訂正されなかったエラーを含む送信データまたは受信データの前記第１のメモリ内での位置情報を、前記第２のメモリに書き込む第２制御部、
をさらに有することを特徴とする付記１に記載の制御装置。
（付記３）
前記第１のメモリは、受信データバッファを含み、
前記第１制御部は、前記送信データにエラーが無い場合に前記送信データを前記周辺デバイスに送信し、前記送信データに応答して前記周辺デバイスから送られてくる受信データと、前記送信データにエラーが無いことを示す送信データエラー情報を対応付けて、前記受信データバッファに保存する、
ことを特徴とする付記１に記載の制御装置。
（付記４）
前記第１のメモリは、受信データバッファを含み、
前記第１制御部は、前記送信データに前記エラー検出訂正回路によって訂正されなかったエラーが含まれる場合に、前記送信データを前記周辺デバイスに送信せずに、前記送信データにエラーが有ることを示す送信データエラー情報を前記受信データバッファに保存する、
ことを特徴とする付記１に記載の制御装置。
（付記５）
前記受信データバッファ内の情報に基づいて、前記送信データまたは前記受信データにエラーが含まれるか否かを判断する第２制御部、
をさらに有し、
前記第２制御部は、前記送信データと前記受信データの両方にエラーが無い場合に、当該受信データを前記プロセッサに転送し、前記受信データまたは前記送信データに前記エラー検出訂正回路によって訂正されなかったエラーが有る場合に、前記プロセッサにエラー情報を送信し、かつ前記第２のメモリにエラー情報を書き込む、
ことを特徴とする付記３または４に記載の制御装置。
（付記６）
前記第１のメモリは、送信データテーブルを含み、
前記制御装置は、前記送信データに前記エラー検出訂正回路によって訂正されなかったエラーが含まれる場合に、前記プロセッサから前記送信データを再度受け取り、再受信した送信データを前記送信データテーブルの対応する箇所に上書きすることを特徴とする付記１に記載の制御装置。
（付記７）
前記第１制御部は、前記第２のメモリに記憶された情報に基づいて、前記送信データテーブルから更新された前記送信データを読み出して前記周辺デバイスに再送信し、前記周辺デバイスから前記受信データを再取得する、
ことを特徴とする付記６に記載の制御装置。
（付記８）
前記受信データの再取得時に、前記再取得される受信データに対応するエラー情報は前記第２のメモリから消去されることを特徴とする付記７に記載の制御装置。
（付記９）
前記第１制御部は、前記第２のメモリに書き込まれたエラー情報の数が所定の閾値以下になるまで、前記周辺デバイスから前記受信データの再取得を試みることを特徴とする付記８に記載の制御装置。
（付記１０）
前記プロセッサとの間を接続する高速インタフェース回路と、
前記周辺デバイスとの間を接続する低速インタフェース回路と、
をさらに有することを特徴とする付記１〜９の何れかに記載の制御装置。
（付記１１）
前記制御装置は、複数の前記周辺デバイスに並列に接続され、複数の前記周辺デバイスに対するエラーチェック制御を時分割で行い、複数の前記周辺デバイスに対するエラーチェック制御後に、前記プロセッサに受信データを転送することを特徴とする付記１〜１０の何れかに記載の制御装置。
（付記１２）
プロセッサと、
外部の伝送路に接続される周辺デバイスと、
前記プロセッサと前記周辺デバイスの間に配置されて、前記プロセッサと前記周辺デバイスとの間で送受信される制御信号を管理する制御装置と、
を有し、前記制御装置は、
前記プロセッサから前記周辺デバイスに送信される送信データと、前記送信データに応答して前記周辺デバイスから受け取った受信データを一時的に記憶する第１のメモリと、
前記送信データと前記受信データにエラー訂正を行うエラー検出訂正回路と、
前記エラー検出訂正回路によって訂正できなかったエラーを有する送信データまたは受信データに関する情報を記憶する第２のメモリと、
前記第２のメモリに記憶された情報に基づいて、前記周辺デバイスから前記受信データを再取得する第１制御部と、
を有することを特徴とする伝送装置。
（付記１３）
プロセッサと前記プロセッサに接続される周辺デバイスの間に配置されて前記周辺デバイスに対する制御タスクシーケンスを管理する制御装置で実行される制御方法であって、
前記プロセッサから前記周辺デバイスに送信される送信データと、前記送信データに応答して前記周辺デバイスから送られてくる受信データを第１のメモリに一時的に保存し、
前記送信データと前記受信データにエラー訂正を行い、
前記エラー訂正によって訂正できなかったエラーを有する送信データまたは受信データに関する情報を第２のメモリに記録し、
前記第２のメモリに記憶された情報に基づいて、前記周辺デバイスから前記受信データを再取得する、
ことを特徴とする制御方法。
【符号の説明】
【００６１】
１０  ネットワーク伝送装置（伝送装置）
１１  ＣＰＵ（プロセッサ）
１３  制御デバイス（制御装置）
１５  エラーチェック制御回路
２１  光部品(周辺デバイス)
１５２  送信データテーブル（第１のメモリ）
１５５  送受信制御部（第１制御部）
１５７  リトライポインタ格納メモリ（第２のメモリ）
１５８  受信データバッファ（第１のメモリ）
１６０  リトライ制御部（第２制御部）
【図１】
2018077679.tif 000003
【図２】
2018077679.tif 000004
【図３】
2018077679.tif 000005
【図４】
2018077679.tif 000006
【図５】
2018077679.tif 000007
【図６】
2018077679.tif 000008
【図７】
2018077679.tif 000009
【図８】
2018077679.tif 000010
【図９】
2018077679.tif 000011
【図１０】
2018077679.tif 000012
【図１１】
2018077679.tif 000013
【図１２】
2018077679.tif 000014
【図１３】
2018077679.tif 000015
【図１４】
2018077679.tif 000016
【図１５】
2018077679.tif 000017
【図１６】
2018077679.tif 000018
【図１７】
2018077679.tif 000019