JP2018077679A - 制御装置、伝送装置、及び制御方法 - Google Patents
制御装置、伝送装置、及び制御方法 Download PDFInfo
- Publication number
- JP2018077679A JP2018077679A JP2016219024A JP2016219024A JP2018077679A JP 2018077679 A JP2018077679 A JP 2018077679A JP 2016219024 A JP2016219024 A JP 2016219024A JP 2016219024 A JP2016219024 A JP 2016219024A JP 2018077679 A JP2018077679 A JP 2018077679A
- Authority
- JP
- Japan
- Prior art keywords
- error
- transmission data
- data
- transmission
- reception
- 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.)
- Pending
Links
Images
Landscapes
- Detection And Correction Of Errors (AREA)
- Retry When Errors Occur (AREA)
Abstract
【課題】エラーに対して迅速かつ適切に対処することのできる制御技術を提供する。【解決手段】プロセッサと前記プロセッサに接続される周辺デバイスの間に配置されて前記周辺デバイスに対する制御タスクシーケンスを管理する制御装置において、前記プロセッサから前記周辺デバイスに送信される送信データと、前記送信データに応答して前記周辺デバイスから受け取った受信データを一時的に記憶する第1のメモリと、前記送信データと前記受信データにエラー訂正を行うエラー検出訂正回路と、前記エラー検出訂正回路によって訂正できなかったエラーを有する送信データまたは受信データに関する情報を記憶する第2のメモリと、前記第2のメモリに記憶された情報に基づいて、前記周辺デバイスから前記受信データを再取得する第1制御部と、を有する。【選択図】図2
Description
本発明は、プロセッサと周辺デバイスの間で行われる制御技術に関する。
CPU(Central Processing Unit:中央処理装置)に複数の周辺デバイスが接続されている装置またはシステムでは、CPUと周辺デバイスの間に介在してタスクのシーケンスを制御する制御装置が用いられている(例えば、特許文献1参照)。制御装置は、CPUからの要求に従って周辺デバイスに順次制御命令を出力し、周辺デバイスから取得した情報をCPUに供給する。
たとえば、ネットワークで用いられる伝送装置では、光部品等の周辺デバイスの状態を監視し、周辺デバイスのアラーム情報等を収集して障害の監視、予防、復旧、保全を行っている。
CPUと周辺デバイスの間に配置されてタスクシーケンスを制御する制御装置のメモリ領域でソフトエラーが発生した場合、エラーの発生自体を認識することが難しい。また、発生したエラーがすべて自動訂正可能なエラーであるとは限らず、エラーの検出と訂正が遅れて装置の信頼性が低下するおそれがある。
本発明は、エラーに対して迅速かつ適切に対処することのできる制御技術を提供することを目的とする。
一つの態様では、プロセッサと前記プロセッサに接続される周辺デバイスの間に配置されて前記周辺デバイスに対する制御タスクシーケンスを管理する制御装置において、
前記プロセッサから前記周辺デバイスに送信される送信データと、前記送信データに応答して前記周辺デバイスから受け取った受信データを一時的に記憶する第1のメモリと、
前記送信データと前記受信データにエラー訂正を行うエラー検出訂正回路と、
前記エラー検出訂正回路によって訂正できなかったエラーを有する送信データまたは受信データに関する情報を記憶する第2のメモリと、
前記第2のメモリに記憶された情報に基づいて、前記周辺デバイスから前記受信データを再取得する第1制御部と、
を有する。
前記プロセッサから前記周辺デバイスに送信される送信データと、前記送信データに応答して前記周辺デバイスから受け取った受信データを一時的に記憶する第1のメモリと、
前記送信データと前記受信データにエラー訂正を行うエラー検出訂正回路と、
前記エラー検出訂正回路によって訂正できなかったエラーを有する送信データまたは受信データに関する情報を記憶する第2のメモリと、
前記第2のメモリに記憶された情報に基づいて、前記周辺デバイスから前記受信データを再取得する第1制御部と、
を有する。
上記構成により、エラー発生に対して迅速かつ適切に対処することが可能になる。
実施形態では、伝送装置等の装置内部でCPUと周辺部品の間のタスクシーケンスを制御する制御デバイスで、内部メモリに発生するソフトエラーを検出して迅速に対処する。伝送装置の動作に影響しない微細なエラーを自動的に訂正し、伝送装置の動作に影響するエラーに対しては、可能な限り制御デバイスの自律的な動作で再リードを行ってエラーを回復する。
図1は、実施形態の制御技術が適用されるネットワーク伝送装置10の概略図である。ネットワーク伝送装置10は、CPU11と、光部品21a、21b、…(以下、適宜「光部品21」と総称する)を有する。光部品21は、たとえば光トランシーバ、光増幅器等の周辺デバイスであり、それぞれが光伝送路に接続されている。CPU11と光部品21の間に、主信号チップ12と制御デバイス13が並列に配置されている。主信号チップ12は、CPU11と光部品21の間で送受信されるデータ信号を、CPU11と光部品21での処理に適した形式に変換する。制御デバイス13は本発明の制御装置に相当し、CPU11と光部品21の間で送受信される制御信号または制御データを管理する。この意味で、制御デバイス13を「制御信号チップ」と称してもよい。たとえば、制御デバイス13はCPU11から、光部品21のアラーム情報の収集などの各種タスクの命令を受信し、光部品21からアラーム情報等の制御データを取得してCPU11に供給する。
標準的な規格として、CPU11と制御デバイス13の間は高速インタフェースで接続され、制御デバイス13と各光部品21の間は低速インタフェースで接続されている。CPU11と光部品21の間に制御デバイス13を配置することで、制御デバイス13から光部品21への低速でのアクセス中に、CPU11は他の処理を実行することができる。制御デバイス13の少なくとも一部は、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等のロジックデバイスで実現されてもよい。CPU11は、LSIチップ等のパッケージで実現されてもよい。ネットワーク伝送装置10は、サーバブレードやシステムボードとして実現されてもよい。
図2は、制御デバイス13の構成例を示す。制御デバイス13は、CPU11との接続をとる高速インタフェース(I/F)回路131と、光部品21との接続をとる低速インタフェース(I/F)回路133と、エラーチェック制御回路15と、セレクタ132を有する。セレクタ132は、エラーチェック制御回路15からの入出力信号と内部バスからの入出力信号の間を切り替えて、いずれかの信号を各光部品21に接続する。
エラーチェック制御回路15は、ECC(Error Correction Code;誤り訂正符号)挿入回路151、送信データテーブル152、エラー検出訂正回路153、送受信設定数メモリ154、ECC挿入回路156、受信データバッファ158、エラー検出訂正回路159を有する。エラーチェック制御回路15はまた、リトライ制御部160、リトライポインタ格納メモリ157、及び送受信制御部155を有する。
送受信設定数メモリ154は、光部品21との間で送受信されるデータ数を「送受信設定数」として記憶する。送受信制御部155は、送受信設定数に基づいて、光部品21への制御データの送信と、光部品21からの制御データの受信を制御する。送受信設定数は、ネットワーク伝送装置10の動作開始時にCPU11から供給される。前回の通信時から変更がない場合は、設定変更は不要である。この場合は、送受信設定数メモリ154に現在設定されている送受信設定数分、送受信を行う。
送信データテーブル152は、たとえばRAM(Random Access Memory;ランダムアクセスメモリ)で形成され、CPU11から各光部品21に送られる制御情報を送信データとして記憶する。制御情報には、制御対象の光部品21が接続されるポート番号と、その光部品21に要求されるタスクを指定するリードアドレスが含まれる。送信データテーブル152の構成例は後述する。
受信データバッファ158は、たとえばRAMで形成され、光部品21から取得したアラーム情報等の制御データを受信データとして記憶する。受信データバッファ158の構成例は後述する。
送信データテーブル152や受信データバッファ158に用いられるRAMにソフトエラーが発生して記憶された情報が変化した場合、制御データに誤りが生じて正しい制御データを収集できなくなる可能性がある。ソフトエラーは、α線等の宇宙線の入射によって引き起こされる自然発生的なビット反転である。メモリの素子サイズは微細化を続けており、ソフトエラーの影響を受けやすくなっている。RAMの未使用領域にソフトエラーが生じた場合は、ネットワーク伝送装置10の動作に直接影響しないが、使用時に備えて適正な状態に修正しておくことが望ましい。他方、RAMの使用領域にソフトエラーが生じたときは、ネットワーク伝送装置10の動作に影響する蓋然性が高い。
実施形態では、送信データテーブル152の入力側にECC挿入回路151を配置し、出力側にエラー検出訂正回路153を配置して、送信データテーブル152にソフトエラー耐性を持たせている。ネットワーク伝送装置10の動作に影響しない軽微なテーブルエラーに起因する符号誤りは、エラー検出訂正回路153により自動修正される。同様に受信データバッファ158の入力側にECC挿入回路156を配置し、出力側にエラー検出訂正回路159を配置して、受信データバッファ158にソフトエラー耐性を持たせている。ネットワーク伝送装置10の動作に影響しない軽微なバッファエラーに起因する符号誤りは、エラー検出訂正回路159により自動修正される。
エラー検出訂正機能によりエラーが訂正されない場合は、送信データテーブル152と受信データバッファ158に格納された制御データ自体にエラーが生じている可能性が高い。この場合は、エラーが残っている制御データを正しいデータに書き換える。これを実現するために、実施形態の特徴として、制御デバイス13に、リトライ制御部160と、リトライポインタ格納メモリ157と、送受信制御部155を設ける。
リトライ制御部160は、誤り訂正機能で訂正できなかったエラーが残っている送信データと受信データが書き込まれている箇所のポインタ情報を、リトライポインタ格納メモリ157に書き込む。リトライポインタ格納メモリ157は、送信データテーブル152や受信データバッファ158と比較して小容量であり、ECC耐性が強く、たとえばフリップフロップで構成されている。送信データ及び受信データのエラー情報と、リトライポインタ格納メモリ157内に書き込まれたリトライポインタ情報は、CPU11に通知される。
自動訂正できなかったエラーを有する送信データについては、CPU11から再度の送信データを受け取って、送信データテーブル152のエラー発生箇所に正しい送信データを上書きする。送受信制御部155は、上書きされた送信データを光部品21に送信し、光部品21から再度、制御データを取得する。送信データにエラーはないが、受信データにエラーが生じている場合は、受信データバッファ158に生じているエラーが原因である可能性が高い。この場合は、CPU11からの再リード命令に応答して、リトライポインタ格納メモリ157を参照して送信データテーブル152を再リード(読み込み)し、受信データを再取得する。
このような制御デバイス13の動作により、正しい制御要求が光部品21に送信され、光部品21から受信した正しい制御データをCPU11に転送することができる。この動作の詳細については後述する。リトライ制御部160、リトライポインタ格納メモリ157、及び送受信制御部155を設けたことにより、送信データテーブル152と受信データバッファ158に記憶される情報は、ほぼリアルタイムで正しい状態に更新され保持されるという効果もある。
次に、制御デバイス13での信号の流れを説明する。図中、<初>で示される情報は、ネットワーク伝送装置10の動作開始時に送受信される情報であり、<再>で示される情報は再リード時に送受信される情報である。ネットワーク伝送装置10の動作開始によって、光部品21に送信されるべき全送信データと全ポインタがCPU11から制御デバイス13に入力される。各送信データにECCが挿入されて、送信データテーブル152の指定された領域に書き込まれる。
送受信制御部155は、送受信設定数メモリ154から読み出した設定数にしたがって送信データテーブル152の読み出し領域を指定する。送信データテーブル152から所定の数の送信データが読み出され、エラー検出訂正回路153でエラー検出と訂正を受ける。エラー検出訂正回路153は、送信データとエラー情報を送受信制御部155に出力する。
送受信制御部155は、エラーの無い送信データを低速I/F回路133に出力する。送信データは低速インタフェースで制御対象となる光部品21に送信される。送受信制御部155は、光部品21から送信データに応答する制御データを受信すると、受信データを、対応する送信データにエラーが無いことを示す送信エラー情報とともに、ECC挿入回路156に供給する。ECCが挿入された受信データと「エラー無し」を示す送信データエラー情報は、受信データバッファ158に書き込まれる。
送信データにエラーが有る場合は、送受信制御部155は送信データを光部品21に送らずに、「エラー有り」を示す送信データエラー情報を、受信データバッファ158の対応するポインタ箇所に書き込む。
設定数分の送受信が行われた後に、受信データバッファ158の各領域から受信データと送信データエラー情報が読み出され、エラー検出訂正回路159で誤り検出と訂正が行われる。エラー検出訂正回路159は、受信データにエラーが生じている場合に、訂正可能な範囲でエラー訂正を行って、受信データ、送信データエラー情報、および受信データにエラーが含まれるか否かを示す受信データエラー情報を、リトライ制御部160に供給する。リトライ制御部160は、これらの情報を、高速I/F回路131を介してCPU11に出力し、かつ、エラーを含む送信データと受信データのポインタ情報をリトライポインタ格納メモリ157に書き込む。リトライポインタ格納メモリ157に書き込まれたポインタ情報は、エラー箇所ポインタ情報としてCPU11に通知される。
制御デバイス13は、エラーが生じている送信データと受信データについて、CPU11から再リード要求及び/またはエラー箇所の送信データを受信する。送信データテーブル152のエラー情報を含む箇所は、再受信された送信データで上書きされる。送受信制御部155は再リード要求に応じて送信データテーブル152の指定箇所から送信データを読み出して光部品21に送信し、光部品21からの受信データを再取得する。受信データの再取得時に、リトライポイント格納メモリ157内に記録されている当該受信データと関連するリトライポインタ情報は消去(クリア)される。リトライポインタ格納メモリ157がすべてクリアされるまで、あるいは、リトライポインタ数が所定の数以下になるまで処理を繰り返す。
処理を繰り返してもリトライポインタ格納メモリ157中のポインタ数がゼロあるいは所定数以下にならないということは、ソフトエラーの問題ではない可能性があるので、CPU11にアラームを通知してもよい。
図3は、送信データテーブル152の一例を示す。送信データテーブル152には、ポインタで示される領域ごとに、付加された誤り訂正符号(ECC)と、送信データが記憶されている。後段のエラー検出訂正回路153は、送信データに所定の演算を行ってエラーの有無を確認し、エラーが検出されたときはECCを用いて訂正可能な範囲で送信データを復元する。
図4は、送信データの一例を示す。送信データは、制御対象である光部品21が接続されるポート番号と、CPU11によって指示された制御タスクのアドレスと、要求される受信データの取得するためのコマンドを含む。
図5は受信データバッファ158の一例を示す。受信データバッファ158には、ポインタで示される領域ごとに、ECCを保存するフィールドと、送信データエラー情報を保存するフィールドと、受信データを保存するフィールドが設けられている。送信データエラー情報は、送受信制御部155によって挿入される。送信データにエラーがある場合は光部品21からの受信データは取得されておらず、送信データエラー情報のみが書き込まれる。
図6は、リトライポインタ格納メモリ157の一例を示す。エラー箇所ポインタ情報はたとえば、送信データテーブル152及び受信データバッファ158の格納領域のポインタ番号(アドレス)を含む。リトライポインタ格納メモリ157に書き込まれる情報数(リトライポインタ数)は、想定されるエラー数に応じてあらかじめ決定されている。ひとつのエラー箇所についてポインタ情報が書き込まれる領域のサイズは、たとえば、送信データテーブル152と受信データバッファ158のポインタ数をDとすると、logDである。
図7は、制御デバイス13の全体の処理フローを示す図である。ネットワーク伝送装置10の動作開始により、CPU11から初期設定情報を取得する(S11)。初期設定情報には、低速I/Fで送受信される数を示す送受信設定数が含まれる。
制御デバイス13は、CPU11から、各光部品21への制御要求を含む送信データを受け取り、送信データテーブル152に書き込む(S12)。CPU11からの送信開始命令に応じて、送受信設定数分の送信データを送信データテーブル152から読み出し、エラー検出及び訂正を行って、エラーのない送信データを目的の光部品21に送信する(S13)。ここでのエラー検出及び訂正は、送信データテーブル152に書き込まれたことにより送信データに生じ得るエラーの検出と訂正である。送信データに応答して光部品21から送られてくる制御データ(受信データ)を、送信データエラー情報とともに、受信データバッファ158に格納する(S14)。受信データとともに格納される送信データエラー情報は、送信データにエラーがないことを示す情報である(たとえば、フラグビット「0」)。エラー訂正できず光部品21に送信されなかった送信データについては、エラーが有ることを示す送信データエラー情報(たとえば、フラグビット「1」)が、受信データバッファ158の対応するポインタ位置に書き込まれる。
光部品21との間で設定数分の送受信が完了すると、制御デバイス13は、受信データバッファ158から順次受信データを読み出し、エラー検出及び訂正を行って、受信データをCPU11に転送する(S15)。ここでのエラー検出及び訂正は、受信データバッファ158に書き込まれたことにより生じ得るエラーの検出と訂正である。送信データにエラーが無く、かつ受信データにもエラーが無い場合に、光部品21からの受信データがCPU11に転送される。
制御デバイス13は、訂正されなかったエラーを含む送信データと受信データのポインタ情報をリトライポインタ格納メモリ157に記録する(S16)。エラー箇所を示すポインタ情報(リトライポインタ情報)はCPU11に通知されてもよい。
設定数分の送信データについて処理がすべて完了すると、リトライポインタ格納メモリ157の占有状態に基づいて、エラー訂正できなかった送受信データがあるか否かが判断される(S17)。訂正できなかったエラーが有る場合は、制御デバイス13は、CPU11からの指示に基づいて、エラー箇所についてのみ受信データの再取得を試みる(S18)。受信データの再取得の詳細は、図8を参照して後述する。リトライポインタ格納メモリ157に残るエラー情報が閾値(ゼロまたは正の整数)以下になるまで、ステップS18を繰り返す(S19)。閾値を超える数の送信データエラーまたは受信データエラーが残っている場合は、上述のように、CPU11にアラーム情報を供給してもよい。
これにより、軽微なエラーは自動修正し、ネットワーク伝送装置10の動作に影響するエラーは、制御デバイス13とCPU11の連携による自律的な動作で迅速に修正することができる。また、制御デバイス13が低速インタフェースで光部品21と通信している期間(S13とS14の期間、及びS18における再度の送受信の期間)は、CPU11は他の処理を行うことができ、CPU11の処理効率を維持することができる。
図8は、ステップS18の具体的なフローを示す。光部品21との間の送受信設定数分の送受信において、送信データにエラーが存在するとき、制御デバイス13は、CPU11からエラー箇所の送信データを再度受信する(S181)。送信データにエラーが残っているということは、送信データテーブル152の使用領域にソフトエラーが発生している可能性が高い。この場合は、CPU11から再送された送信データを送信データテーブル152の対応する箇所に上書きする(S182)。CPU11からの再送受信開始指示に基づいて(S183)、更新された送信データを光部品21に送信し、光部品21から受信データを再取得する(S184)。更新された送信データは、リトライポインタ格納メモリ157のリトライポインタで指定される送信データテーブル152のポインタ箇所から読み出される。読み出された送信データはエラー検出及び訂正を受けるが、再書き込みされた送信データに訂正不可能なエラーが残る蓋然性は低い。
光部品21から再取得した受信データにエラーが有るか否かが判断され(S185)、送信データエラーも受信データエラーもない場合は、再取得した受信データをCPU11に送信する(S186)。送信データエラーまたは受信データエラーが有る場合は、エラー箇所のポインタ情報をリトライポインタ格納メモリ157に書き込む(S187)。
送信データエラーが残る、送信データテーブル152に記憶された送信データ自体を正しいデータで上書きすることで、正しい受信データを再取得できる。また、送信データテーブル152を適正な状態に維持することができる。
図9は、図7のステップS15とS16に関連するリトライ制御部160の動作フローである。リトライ制御部160は、エラー検出訂正回路159から、受信データと、送信データエラー情報と、受信データエラー情報を受け取る(S151)。訂正できなかった送信データエラーまたは受信データエラーがあるか否かを判断する(S152)。送信データエラーも受信データエラーも無い場合は、その受信データをCPU11に送信する(S154)。
送信データエラーまたは受信データエラーが有る場合は、送信/受信エラーポインタ情報をリトライポインタ格納メモリ157に書き込み(S153)、送信/受信エラー情報をCPU11に送信する(S155)。
図10は、送受信制御部155の動作フローを示す。この動作フローは、送信データテーブル152にポインタ数分の送信データが書き込まれた後に、CPU11からの送信指示の受信によって開始される(S21)。送受信制御部155は、CPU11からの送信指示が初回の送信開始指示か、再送信開始指示であるかを判断する(S22)。初回の送信開始指示である場合は、送受信設定数メモリ154から送受信設定数を読み出し(S23)、送信データテーブル152の最初のポインタから送受信設定数分のポインタまでを変数Xとして定める(S24)。他方、再送信開始指示である場合は、リトライポインタ格納メモリ157にアクセスして(S25)、格納されているポインタを変数Xとして定める(S26)。S22〜S26までの処理ブロックAは、どのテーブルまたはメモリからどのデータを読み出すかの情報抽出の過程である。
次に、変数XについてループBの処理を行う。送信データテーブル152に現在の処理対象となるポインタを送り(S28)、ポインタで示される領域に格納されている送信データと送信データエラー情報を読み出す(S29)。送信データエラー情報をチェックしてエラーが訂正されずに残っているか否かを判断する(S30)。送信データにエラーがない場合は、送信データを低速I/Fに出力し(S31)、エラー無しを示す送信データエラー情報を、光部品21から返って来る制御データ(受信データ)とともに、受信データバッファ158の対応するポインタ箇所に書き込む(S32)。
ステップS30で、送信データに訂正できなかったエラーが有る場合は、送信データを対応する光部品21に送らずに、「エラー有り」を示す送信データエラー情報を受信データバッファ158の対応するポインタ箇所に書き込む(S33)。ステップS32またはS33の後はS28に戻って、すべての変数Xについて、S28〜S33のループBを繰り返す(X=X+1)。ループBが完了すると送受信完了通知をCPU11に送る(S35)。
図11は、受信データバッファ158の読み出し時の制御デバイス13の動作フローである。まず、光部品21との間の低速I/Fによる送受信の完了を待つ(S41)。低速I/Fでの送受信が完了すると、リトライポインタ格納メモリ157を読み出して(S42)、格納されるリトライポインタが有るか否かを判断する(S43)。リトライポインタ格納メモリ157内に記録された情報がないときは、初回の送受信完了後の状態である。この場合、送受信設定数メモリ154から送受信設定数を読み出し(S44)、受信データバッファ158の最初のポインタから送受信設定数分のポインタまでを変数Yとして定める(S45)。リトライポインタ格納メモリ157内にポインタ情報がある場合は、再リード時の読み出し処理である。この場合は、リトライポインタ格納メモリ157のポインタを変数Yとして定める(S46)。変数Yとして取得されたポインタ情報は、リトライポインタ格納メモリ157からクリアされる(S47)。ステップS42〜S47までの処理は、受信データバッファ158からどの受信データを読み出すかの情報を抽出する処理Cである。
変数Yが設定されたら、受信データバッファ158の読み出しループDが実行される。リトライ制御部160は、受信データバッファ158の変数Yで示されるポインタ領域にアクセスし(S48)、受信データと送信データエラー及び受信データエラー情報を読み出す(S49)。変数Yの範囲内でステップS48とS49を繰り返す。変数Yの全範囲で受信データバッファ158からの読み出しが終わると、訂正できなかった送信データエラーまたは受信データエラーがあるか否かを判断する(S50)。送信データエラーも受信データエラーもなければ、受信データをCPU11に転送して(S51)、ループDの読み出し処理を終了する。送信データエラーまたは受信データエラーが有る場合は、リトライポインタ格納メモリ157にポインタ情報を書き込んで(S52)、ループDの読み出し処理を終了する。
図12は、ネットワーク伝送装置10内のインタフェース構成を示す図である。制御信号チップ、すなわち制御デバイス13は、PCIe(PCI Express)、SRIO(Serial Rapid Input/Output)等の高速インターコネクト規格でCPU11と接続されている。制御デバイス13のエラーチェック制御回路15は、I2C(Inter-Integrated Circuit)、MDIO(Management Data Input/Output)、SPI(Serial Peripheral Interface)等の低速インタフェースで光部品21と接続されている。
図13は、図12の構成における光部品21からのアラーム収集タイミングを示す図である。横軸は時間、縦軸は通信量を示す。定期収集周期で、制御デバイス13による低速インタフェースを介したアラーム収集の期間P1に、CPU11は他の処理を実行することができる。光部品21からのアラーム収集後のタイミングP2で、CPU11は高速インタフェースで制御デバイス13からアラーム情報を読み出す。この読み出しタイミングP2は、制御デバイス13による受信データバッファ158の読み出しと、受信データ及び送信/受信データエラー情報のCPU11への転送の期間と一致する。その後、次の定期収集情報の読み出しタイミングP2まで、CPU11は他の処理を実行することができる。受信データバッファ158に訂正されなかったエラーが存在する場合は、P2の後のタイミングP3で、送受信制御部155の自律的な動作で、エラーのあるアラーム情報のみを再取得する。
光部品21からアラーム情報を取得するためのコマンド群(ポート番号とリードアドレスを含む)は、あらかじめ送信データとして送信データテーブル152に書き込まれている。定期収集周期は、CPU11で設定される送受信設定数によって決まり、リトライ制御部160の動作により、エラーのないアラーム情報がCPU11に送られる。
送信データまたは受信データに訂正できないエラーが残っていても(たとえば、ECC2ビットエラー)、リトライポインタ格納メモリ157を参照して、送受信制御部155が自律的にエラーが生じたアラーム情報のみを再収集する。
図14は、複数の光部品との接続例を示す図である。エラーチェック制御回路15と光部品21a、21b、21cのそれぞれは、低速インタフェースで接続されている。ひとつの光部品21あたりの1回のアラーム読み出し量がそれほど多くない場合は、図14のように複数の光部品のアラーム情報をまとめて収集することができる。
図15は、図14の構成における光部品21a〜21cからのアラーム収集タイミングを示す図である。定期収集周期において、光部品21a、21b、21cのそれぞれに、時分割でアラーム情報収集期間P1a、P1b、P1cが割り当てられている。すべての光部品21a〜21cからのアラーム収集の終了後に、タイミングP2でCPU11による読み出しが行われる。送信データまたは受信データにエラーが有る場合は、タイミングP3でアラーム情報の再取得(再リード)が行われる。
図16は、複数の光部品21a〜21dに対するエラーチェック制御を並列で行う例を示す図である。制御デバイス13は、複数のエラーチェック制御回路15−1、15−2を有する。エラーチェック制御回路15−1と光部品21a及び21bの間は並列の低速インタフェースで接続され、エラーチェック制御回路15−2と光部品21c及び21dの間は並列の低速インタフェースで接続されている。
図17は、図16の構成でのアラーム収集タイミングを示す図である。エラーチェック制御回路15−1により、光部品21aと21bに対して時分割でアラーム収取が行われる(収集期間P1aとP1b)。エラーチェック制御回路15−2により、光部品21cと21dに対して時分割でアラーム収取が行われる(収集期間P1cとP1d)。これらの処理は並列で行われ、低速インタフェースでのトータルの通信量を増やすことができる。
以上述べたように、CPU11と光部品21等の周辺デバイスの間でタスクシーケンスを制御する制御デバイス13にエラーチェック制御回路15を配置することで、軽微なテーブルエラーまたはバッファエラーを迅速に訂正する。エラー訂正できなかった場合も、制御デバイス13の自律的な動作で正しい制御データを光部品から取得してCPU11に供給することができる。
以上の説明に対し、以下の付記を呈示する。
(付記1)
プロセッサと前記プロセッサに接続される周辺デバイスの間に配置されて前記周辺デバイスに対する制御タスクシーケンスを管理する制御装置において、
前記プロセッサから前記周辺デバイスに送信される送信データと、前記送信データに応答して前記周辺デバイスから受け取った受信データを一時的に記憶する第1のメモリと、
前記送信データと前記受信データにエラー訂正を行うエラー検出訂正回路と、
前記エラー検出訂正回路によって訂正できなかったエラーを有する送信データまたは受信データに関する情報を記憶する第2のメモリと、
前記第2のメモリに記憶された情報に基づいて、前記周辺デバイスから前記受信データを再取得する第1制御部と、
を有することを特徴とする制御装置。
(付記2)
前記送信データまたは前記受信データに前記エラー検出訂正回路によって訂正されなかったエラーが含まれるか否かを判断し、訂正されなかったエラーを含む送信データまたは受信データの前記第1のメモリ内での位置情報を、前記第2のメモリに書き込む第2制御部、
をさらに有することを特徴とする付記1に記載の制御装置。
(付記3)
前記第1のメモリは、受信データバッファを含み、
前記第1制御部は、前記送信データにエラーが無い場合に前記送信データを前記周辺デバイスに送信し、前記送信データに応答して前記周辺デバイスから送られてくる受信データと、前記送信データにエラーが無いことを示す送信データエラー情報を対応付けて、前記受信データバッファに保存する、
ことを特徴とする付記1に記載の制御装置。
(付記4)
前記第1のメモリは、受信データバッファを含み、
前記第1制御部は、前記送信データに前記エラー検出訂正回路によって訂正されなかったエラーが含まれる場合に、前記送信データを前記周辺デバイスに送信せずに、前記送信データにエラーが有ることを示す送信データエラー情報を前記受信データバッファに保存する、
ことを特徴とする付記1に記載の制御装置。
(付記5)
前記受信データバッファ内の情報に基づいて、前記送信データまたは前記受信データにエラーが含まれるか否かを判断する第2制御部、
をさらに有し、
前記第2制御部は、前記送信データと前記受信データの両方にエラーが無い場合に、当該受信データを前記プロセッサに転送し、前記受信データまたは前記送信データに前記エラー検出訂正回路によって訂正されなかったエラーが有る場合に、前記プロセッサにエラー情報を送信し、かつ前記第2のメモリにエラー情報を書き込む、
ことを特徴とする付記3または4に記載の制御装置。
(付記6)
前記第1のメモリは、送信データテーブルを含み、
前記制御装置は、前記送信データに前記エラー検出訂正回路によって訂正されなかったエラーが含まれる場合に、前記プロセッサから前記送信データを再度受け取り、再受信した送信データを前記送信データテーブルの対応する箇所に上書きすることを特徴とする付記1に記載の制御装置。
(付記7)
前記第1制御部は、前記第2のメモリに記憶された情報に基づいて、前記送信データテーブルから更新された前記送信データを読み出して前記周辺デバイスに再送信し、前記周辺デバイスから前記受信データを再取得する、
ことを特徴とする付記6に記載の制御装置。
(付記8)
前記受信データの再取得時に、前記再取得される受信データに対応するエラー情報は前記第2のメモリから消去されることを特徴とする付記7に記載の制御装置。
(付記9)
前記第1制御部は、前記第2のメモリに書き込まれたエラー情報の数が所定の閾値以下になるまで、前記周辺デバイスから前記受信データの再取得を試みることを特徴とする付記8に記載の制御装置。
(付記10)
前記プロセッサとの間を接続する高速インタフェース回路と、
前記周辺デバイスとの間を接続する低速インタフェース回路と、
をさらに有することを特徴とする付記1〜9の何れかに記載の制御装置。
(付記11)
前記制御装置は、複数の前記周辺デバイスに並列に接続され、複数の前記周辺デバイスに対するエラーチェック制御を時分割で行い、複数の前記周辺デバイスに対するエラーチェック制御後に、前記プロセッサに受信データを転送することを特徴とする付記1〜10の何れかに記載の制御装置。
(付記12)
プロセッサと、
外部の伝送路に接続される周辺デバイスと、
前記プロセッサと前記周辺デバイスの間に配置されて、前記プロセッサと前記周辺デバイスとの間で送受信される制御信号を管理する制御装置と、
を有し、前記制御装置は、
前記プロセッサから前記周辺デバイスに送信される送信データと、前記送信データに応答して前記周辺デバイスから受け取った受信データを一時的に記憶する第1のメモリと、
前記送信データと前記受信データにエラー訂正を行うエラー検出訂正回路と、
前記エラー検出訂正回路によって訂正できなかったエラーを有する送信データまたは受信データに関する情報を記憶する第2のメモリと、
前記第2のメモリに記憶された情報に基づいて、前記周辺デバイスから前記受信データを再取得する第1制御部と、
を有することを特徴とする伝送装置。
(付記13)
プロセッサと前記プロセッサに接続される周辺デバイスの間に配置されて前記周辺デバイスに対する制御タスクシーケンスを管理する制御装置で実行される制御方法であって、
前記プロセッサから前記周辺デバイスに送信される送信データと、前記送信データに応答して前記周辺デバイスから送られてくる受信データを第1のメモリに一時的に保存し、
前記送信データと前記受信データにエラー訂正を行い、
前記エラー訂正によって訂正できなかったエラーを有する送信データまたは受信データに関する情報を第2のメモリに記録し、
前記第2のメモリに記憶された情報に基づいて、前記周辺デバイスから前記受信データを再取得する、
ことを特徴とする制御方法。
(付記1)
プロセッサと前記プロセッサに接続される周辺デバイスの間に配置されて前記周辺デバイスに対する制御タスクシーケンスを管理する制御装置において、
前記プロセッサから前記周辺デバイスに送信される送信データと、前記送信データに応答して前記周辺デバイスから受け取った受信データを一時的に記憶する第1のメモリと、
前記送信データと前記受信データにエラー訂正を行うエラー検出訂正回路と、
前記エラー検出訂正回路によって訂正できなかったエラーを有する送信データまたは受信データに関する情報を記憶する第2のメモリと、
前記第2のメモリに記憶された情報に基づいて、前記周辺デバイスから前記受信データを再取得する第1制御部と、
を有することを特徴とする制御装置。
(付記2)
前記送信データまたは前記受信データに前記エラー検出訂正回路によって訂正されなかったエラーが含まれるか否かを判断し、訂正されなかったエラーを含む送信データまたは受信データの前記第1のメモリ内での位置情報を、前記第2のメモリに書き込む第2制御部、
をさらに有することを特徴とする付記1に記載の制御装置。
(付記3)
前記第1のメモリは、受信データバッファを含み、
前記第1制御部は、前記送信データにエラーが無い場合に前記送信データを前記周辺デバイスに送信し、前記送信データに応答して前記周辺デバイスから送られてくる受信データと、前記送信データにエラーが無いことを示す送信データエラー情報を対応付けて、前記受信データバッファに保存する、
ことを特徴とする付記1に記載の制御装置。
(付記4)
前記第1のメモリは、受信データバッファを含み、
前記第1制御部は、前記送信データに前記エラー検出訂正回路によって訂正されなかったエラーが含まれる場合に、前記送信データを前記周辺デバイスに送信せずに、前記送信データにエラーが有ることを示す送信データエラー情報を前記受信データバッファに保存する、
ことを特徴とする付記1に記載の制御装置。
(付記5)
前記受信データバッファ内の情報に基づいて、前記送信データまたは前記受信データにエラーが含まれるか否かを判断する第2制御部、
をさらに有し、
前記第2制御部は、前記送信データと前記受信データの両方にエラーが無い場合に、当該受信データを前記プロセッサに転送し、前記受信データまたは前記送信データに前記エラー検出訂正回路によって訂正されなかったエラーが有る場合に、前記プロセッサにエラー情報を送信し、かつ前記第2のメモリにエラー情報を書き込む、
ことを特徴とする付記3または4に記載の制御装置。
(付記6)
前記第1のメモリは、送信データテーブルを含み、
前記制御装置は、前記送信データに前記エラー検出訂正回路によって訂正されなかったエラーが含まれる場合に、前記プロセッサから前記送信データを再度受け取り、再受信した送信データを前記送信データテーブルの対応する箇所に上書きすることを特徴とする付記1に記載の制御装置。
(付記7)
前記第1制御部は、前記第2のメモリに記憶された情報に基づいて、前記送信データテーブルから更新された前記送信データを読み出して前記周辺デバイスに再送信し、前記周辺デバイスから前記受信データを再取得する、
ことを特徴とする付記6に記載の制御装置。
(付記8)
前記受信データの再取得時に、前記再取得される受信データに対応するエラー情報は前記第2のメモリから消去されることを特徴とする付記7に記載の制御装置。
(付記9)
前記第1制御部は、前記第2のメモリに書き込まれたエラー情報の数が所定の閾値以下になるまで、前記周辺デバイスから前記受信データの再取得を試みることを特徴とする付記8に記載の制御装置。
(付記10)
前記プロセッサとの間を接続する高速インタフェース回路と、
前記周辺デバイスとの間を接続する低速インタフェース回路と、
をさらに有することを特徴とする付記1〜9の何れかに記載の制御装置。
(付記11)
前記制御装置は、複数の前記周辺デバイスに並列に接続され、複数の前記周辺デバイスに対するエラーチェック制御を時分割で行い、複数の前記周辺デバイスに対するエラーチェック制御後に、前記プロセッサに受信データを転送することを特徴とする付記1〜10の何れかに記載の制御装置。
(付記12)
プロセッサと、
外部の伝送路に接続される周辺デバイスと、
前記プロセッサと前記周辺デバイスの間に配置されて、前記プロセッサと前記周辺デバイスとの間で送受信される制御信号を管理する制御装置と、
を有し、前記制御装置は、
前記プロセッサから前記周辺デバイスに送信される送信データと、前記送信データに応答して前記周辺デバイスから受け取った受信データを一時的に記憶する第1のメモリと、
前記送信データと前記受信データにエラー訂正を行うエラー検出訂正回路と、
前記エラー検出訂正回路によって訂正できなかったエラーを有する送信データまたは受信データに関する情報を記憶する第2のメモリと、
前記第2のメモリに記憶された情報に基づいて、前記周辺デバイスから前記受信データを再取得する第1制御部と、
を有することを特徴とする伝送装置。
(付記13)
プロセッサと前記プロセッサに接続される周辺デバイスの間に配置されて前記周辺デバイスに対する制御タスクシーケンスを管理する制御装置で実行される制御方法であって、
前記プロセッサから前記周辺デバイスに送信される送信データと、前記送信データに応答して前記周辺デバイスから送られてくる受信データを第1のメモリに一時的に保存し、
前記送信データと前記受信データにエラー訂正を行い、
前記エラー訂正によって訂正できなかったエラーを有する送信データまたは受信データに関する情報を第2のメモリに記録し、
前記第2のメモリに記憶された情報に基づいて、前記周辺デバイスから前記受信データを再取得する、
ことを特徴とする制御方法。
10 ネットワーク伝送装置(伝送装置)
11 CPU(プロセッサ)
13 制御デバイス(制御装置)
15 エラーチェック制御回路
21 光部品(周辺デバイス)
152 送信データテーブル(第1のメモリ)
155 送受信制御部(第1制御部)
157 リトライポインタ格納メモリ(第2のメモリ)
158 受信データバッファ(第1のメモリ)
160 リトライ制御部(第2制御部)
11 CPU(プロセッサ)
13 制御デバイス(制御装置)
15 エラーチェック制御回路
21 光部品(周辺デバイス)
152 送信データテーブル(第1のメモリ)
155 送受信制御部(第1制御部)
157 リトライポインタ格納メモリ(第2のメモリ)
158 受信データバッファ(第1のメモリ)
160 リトライ制御部(第2制御部)
Claims (8)
- プロセッサと前記プロセッサに接続される周辺デバイスの間に配置されて前記周辺デバイスに対する制御タスクシーケンスを管理する制御装置において、
前記プロセッサから前記周辺デバイスに送信される送信データと、前記送信データに応答して前記周辺デバイスから受け取った受信データを一時的に記憶する第1のメモリと、
前記送信データと前記受信データにエラー訂正を行うエラー検出訂正回路と、
前記エラー検出訂正回路によって訂正できなかったエラーを有する送信データまたは受信データに関する情報を記憶する第2のメモリと、
前記第2のメモリに記憶された情報に基づいて、前記周辺デバイスから前記受信データを再取得する第1制御部と、
を有することを特徴とする制御装置。 - 前記送信データまたは前記受信データに前記エラー検出訂正回路によって訂正されなかったエラーが含まれるか否かを判断し、訂正されなかったエラーを含む送信データまたは受信データの前記第1のメモリ内での位置情報を、前記第2のメモリに書き込む第2制御部、
をさらに有することを特徴とする請求項1に記載の制御装置。 - 前記第1のメモリは、受信データバッファを含み、
前記第1制御部は、前記送信データにエラーが無い場合に前記送信データを前記周辺デバイスに送信し、前記送信データに応答して前記周辺デバイスから送られてくる受信データと、前記送信データにエラーが無いことを示す送信データエラー情報を対応付けて、前記受信データバッファに保存する、
ことを特徴とする請求項1に記載の制御装置。 - 前記第1のメモリは、受信データバッファを含み、
前記第1制御部は、前記送信データに前記エラー検出訂正回路によって訂正されなかったエラーが含まれる場合に、前記送信データを前記周辺デバイスに送信せずに、前記送信データにエラーが有ることを示す送信データエラー情報を前記受信データバッファに保存する、
ことを特徴とする請求項1に記載の制御装置。 - 前記受信データバッファ内の情報に基づいて、前記送信データまたは前記受信データにエラーが含まれるか否かを判断する第2制御部、
をさらに有し、
前記第2制御部は、前記送信データと前記受信データの両方にエラーが無い場合に、当該受信データを前記プロセッサに転送し、前記受信データまたは前記送信データに前記エラー検出訂正回路によって訂正されなかったエラーが有る場合に、前記プロセッサにエラー情報を送信し、かつ前記第2のメモリにエラー情報を書き込む、
ことを特徴とする請求項3または4に記載の制御装置。 - 前記第1のメモリは、送信データテーブルを含み、
前記制御装置は、前記送信データに前記エラー検出訂正回路によって訂正されなかったエラーが含まれる場合に、前記プロセッサから前記送信データを再度受け取り、再受信した送信データを前記送信データテーブルの対応する箇所に上書きすることを特徴とする請求項1に記載の制御装置。 - プロセッサと、
外部の伝送路に接続される周辺デバイスと、
前記プロセッサと前記周辺デバイスの間に配置されて、前記プロセッサと前記周辺デバイスとの間で送受信される制御信号を管理する制御装置と、
を有し、前記制御装置は、
前記プロセッサから前記周辺デバイスに送信される送信データと、前記送信データに応答して前記周辺デバイスから受け取った受信データを一時的に記憶する第1のメモリと、
前記送信データと前記受信データにエラー訂正を行うエラー検出訂正回路と、
前記エラー検出訂正回路によって訂正できなかったエラーを有する送信データまたは受信データに関する情報を記憶する第2のメモリと、
前記第2のメモリに記憶された情報に基づいて、前記周辺デバイスから前記受信データを再取得する第1制御部と、
を有することを特徴とする伝送装置。 - プロセッサと前記プロセッサに接続される周辺デバイスの間に配置されて前記周辺デバイスに対する制御タスクシーケンスを管理する制御装置で実行される制御方法であって、
前記プロセッサから前記周辺デバイスに送信される送信データと、前記送信データに応答して前記周辺デバイスから送られてくる受信データを第1のメモリに一時的に保存し、
前記送信データと前記受信データにエラー訂正を行い、
前記エラー訂正によって訂正できなかったエラーを有する送信データまたは受信データに関する情報を第2のメモリに記録し、
前記第2のメモリに記憶された情報に基づいて、前記周辺デバイスから前記受信データを再取得する、
ことを特徴とする制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016219024A JP2018077679A (ja) | 2016-11-09 | 2016-11-09 | 制御装置、伝送装置、及び制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016219024A JP2018077679A (ja) | 2016-11-09 | 2016-11-09 | 制御装置、伝送装置、及び制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018077679A true JP2018077679A (ja) | 2018-05-17 |
Family
ID=62149151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016219024A Pending JP2018077679A (ja) | 2016-11-09 | 2016-11-09 | 制御装置、伝送装置、及び制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018077679A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11766861B2 (en) | 2020-10-14 | 2023-09-26 | Canon Kabushiki Kaisha | Ink jet printing apparatus |
-
2016
- 2016-11-09 JP JP2016219024A patent/JP2018077679A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11766861B2 (en) | 2020-10-14 | 2023-09-26 | Canon Kabushiki Kaisha | Ink jet printing apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI546814B (zh) | 具有錯誤校正邏輯之記憶體裝置 | |
EP3296885B1 (en) | Method of disconnecting link between pcie equipment and host and device utilizing same | |
US7725805B2 (en) | Method and information apparatus for improving data reliability | |
US9191030B2 (en) | Memory controller, data storage device, and memory controlling method | |
KR20120064462A (ko) | 메모리 컨트롤러, 이의 오류정정 방법, 및 이를 포함하는 메모리 시스템 | |
US8255601B2 (en) | Transmitting system, apparatus, and method | |
US20200174865A1 (en) | Controller, storage device having the controller, and method of operating the controller | |
JP5932947B2 (ja) | ホスト及びシステム | |
CN111176884A (zh) | 用于fpga配置存储器的sec校验方法和装置 | |
JP2018077679A (ja) | 制御装置、伝送装置、及び制御方法 | |
WO2024037076A1 (zh) | 数据交互方法、装置、***、电子设备和存储介质 | |
CN113806108A (zh) | 一种重传方法、内存控制器、处理器***及电子设备 | |
EP3125251A1 (en) | Hamming code-based data access method and integrated random access memory | |
US20160080111A1 (en) | Receiver, transmitter and data transmission system | |
JP6988092B2 (ja) | 並列処理装置およびバーストエラー再現方法 | |
JP4652315B2 (ja) | ディスク装置、データ転送システム及びそれに用いるデータ転送方法 | |
JP3683831B2 (ja) | データ処理システムにおけるチャネル回復のためのチェックポイント指定方法、装置およびプログラム記録媒体 | |
CN114518972B (zh) | 内存错误处理方法、装置、内存控制器及处理器 | |
US20080162959A1 (en) | Power source control circuit, power source control device, power source control system, and information processing device | |
JPS61290556A (ja) | メモリエラ−回復方式 | |
JP5278117B2 (ja) | バッファ縮退方式、装置及び方法 | |
CN112346922B (zh) | 服务器装置及其通讯协议方法 | |
KR101967955B1 (ko) | 에러 정정 전에 비휘발성 고체 상태 디바이스로부터 데이터를 송신하는 시스템 및 방법 | |
JP2016194839A (ja) | 制御装置および通信インタフェース回路 | |
JPH054266U (ja) | メモリ装置 |