JP2008042851A - ループ状ネットワーク・システム及びデータ記憶装置 - Google Patents
ループ状ネットワーク・システム及びデータ記憶装置 Download PDFInfo
- Publication number
- JP2008042851A JP2008042851A JP2006218499A JP2006218499A JP2008042851A JP 2008042851 A JP2008042851 A JP 2008042851A JP 2006218499 A JP2006218499 A JP 2006218499A JP 2006218499 A JP2006218499 A JP 2006218499A JP 2008042851 A JP2008042851 A JP 2008042851A
- Authority
- JP
- Japan
- Prior art keywords
- node
- error
- signal
- loop network
- hdd
- 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
- Information Transfer Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
【課題】ファイバ・チャネル上のデバイス自信がエラーの原因となっているデバイスを特定すると共に、エラー原因となっている2台のデバイス間でのエラー回復を行う。
【解決手段】本発明の一形態のFC−ALシステムにおいて、HDD−Nがインターフェース・エラーを検出すると、エラーが発生したノードを特定するための信号を送信する。各HDDは、転送された信号に自身のエラー情報をセットして下流側に転送する。HDD−Nは、戻ってきた信号のエラー情報を解析し、そのエラー情報に基づいてインターフェース・エラーを起こしたHDDを特定する。さらに、特定された二つのHDDは、内部のパラメータの適正値を学習し、各HDD個々に適正な値を設定する。
【選択図】図2
【解決手段】本発明の一形態のFC−ALシステムにおいて、HDD−Nがインターフェース・エラーを検出すると、エラーが発生したノードを特定するための信号を送信する。各HDDは、転送された信号に自身のエラー情報をセットして下流側に転送する。HDD−Nは、戻ってきた信号のエラー情報を解析し、そのエラー情報に基づいてインターフェース・エラーを起こしたHDDを特定する。さらに、特定された二つのHDDは、内部のパラメータの適正値を学習し、各HDD個々に適正な値を設定する。
【選択図】図2
Description
本発明は、ループ状ネットワーク・システム及びデータ記憶装置に関し、特にループ状ネットワークにおけるエラーに対応した処理に関する。
現在、記憶装置等のインターフェースにおいては、取り扱うデータの大容量化に伴い、データ転送の高速化、ホスト・コントローラ1台あたりの接続装置台数の増加、そして接続距離の増加が望まれている。これらの要求を満たすため、近年ファイバ・チャネル仲裁型ループ(Fibre Channel Arbitrated Loop:FC−AL)というインターフェースの利用が増加している。FC−ALは、ループ上のシリアルインターフェースであり、データをシリアルに高速転送することができる。
FC−ALにおいて、特定のデバイス(ノード)間の通信データは、ループ・ネットワーク上の他のデバイスを介して転送される。このため、FC−ALを使用して構成されたネットワーク・システムにおいて、データ転送中にデバイスのいずれかでエラーが発生した場合、全てのデバイスにおいてエラーが発生したように見えてしまう。FC−AL上に多くのデバイスが存在する場合、どのデバイスがエラーの原因なのかを特定するためには1台ずつループから切り離さなければならない。これを人が行う場合には、大きな手間と時間が必要となる。
このため、エラーが発生したデバイスをホスト・コントローラが自動で特定する手法が、例えば特許文献1に開示されている。特許文献1におけるディスク・アレイ接続システムは、FC−ALコンセントレータ内にイニシエータ・ホストと複数のターゲット・ディスク・アレイとを接続するためのスイッチ回路を有する。エラーが発生した場合に、FC−ALループにおいてコンセントレータ内でスイッチを切替えることでループをいったん切断し、イニシエータ・ホストとディスク・アレイ・デバイスとを1台ずつ順に接続して調査していき、エラー発生デバイスを特定する。エラー発生デバイスを特定した後にそのデバイスをループから切離し、他のデバイスでループを構築する。
特開平11−353126号公報
上述のように、FC−AL上のあるデバイスが、インターフェース・エラー、例えば、同期エラーを起因とするフレームCRCエラーを検出したとき、FC−AL上に多くのデバイスが存在する場合、どのデバイスがエラーの原因なのかを特定するためには1台ずつループから切り離さなければならない。この作業を、特許文献1に示すようにホストを含む上位システムが行うか、あるいは人が行うことになる。しかし、上位システムが行うにしてもこの処理は複雑な仕組みと処理が必要となり、また、人が行う場合には多大な手間と時間を要する。
あるいは、FC−ALに接続されるデバイスは、その内部のパラメータの設定値を固定で持っている。従って、各デバイス個々のハードウェアの差に対して対応できず、個々のハードウェアに最適なパラメータ設定値になっていない場合がある。これがFC−ALに接続されているデバイスから他のデバイスへの信号伝送における同期エラーのような、インターフェース・エラーの一因となることがわかった。
本発明の一態様は、ループ状ネットワークと、そのループ状ネットワークに接続された第1のノード及び他の複数のノードと、を有するループ状ネットワーク・システムである。前記第1のノードは、前記ループ状ネットワーク上のインターフェース・エラーを検出すると、そのインターフェース・エラーが発生したノードを特定するための信号を送信する。前記他の複数ノードのそれぞれは、受信した前記信号に自身のエラー情報をセットして送信する。前記第1のノードは、戻ってきた前記信号に含まれるエラー情報に基づいて前記インターフェース・エラーの原因なっているノードを特定する。これによって、エラー・ノードを効率的に特定することができる。
好ましくは、前記第1のノードは前記信号を前記ループ状ネットワークに送信し、前記他の複数ノードのそれぞれは受信した前記信号に自身のエラー情報をセットして前記ループ状ネットワークの下流に順次転送する。これによって、他の伝送路を使用することなくエラー・ノードを特定することができる。さらに、前記他の複数のノードのそれぞれは、前記信号における異なる位置のエリアにエラー情報を順次セットし、前記第1のノードは、エラー情報がセットされている位置及び前記ループ状ネットワークにおける各ノードの位置を示すマップを参照して、前記インターフェース・エラーの原因なっているノードを特定する。さらに、前記信号は、カウンタ・フィールドを有し、前記他の複数のノードのそれぞれは、前記カウンタ・フィールドを参照して特定した前記信号内のエリアにそのエラー情報をセットし、さらに、前記カウンタ・フィールドの値をカウントして転送する。これによって、エラー情報を収集する信号をシンプルな構成とすることができる。
好ましくは、前記第1のノードは前記インターフェース・エラーの原因なっている送信側ノードと受信側ノードとを特定し、前記送信側ノードは前記受信側ノードに前記ループ状ネットワークを介してデータを送信してその送信に関するパラメータの調整を行う。あるいは、前記第1のノードは、前記インターフェース・エラーの原因なっている送信側ノードと受信側ノードとを特定し、前記受信側ノードは前記送信側ノードから前記ループ状ネットワークを介してデータを受信してその受信に関するパラメータの調整を行う。これによって、エラー回復をすることができる。
前記エラー情報は、前記他の複数のノードのそれぞれにおける、予め定められたエラーの過去の発生回数であり、前記第1のノードは、前記発生回数が最も大きいノードを前記インターフェース・エラーの原因なっているノードと特定する。これによって、エラー・ノードをより正確に特定することができる。
本発明の他の態様は、ループ状ネットワークに接続されるデータ記憶装置であって、前記ループ状ネットワーク上のインターフェース・エラーを検出する検出部と、前記インターフェース・エラーが発生したノードを特定するための信号を送信する送信部と、戻ってきた前記信号に含まれる前記ループ状ネットワークに接続された他のデータ記憶装置の各エラー情報に基づいて前記インターフェース・エラーの原因なっているデータ記憶装置を特定する特定部を有するものである。これによって、エラー・ノードを効率的に特定することができる。
本発明の他の態様に係るループ状ネットワーク・システムは、ループ状ネットワークと、前記ループ状ネットワークに接続された第1のノードと、前記第1のノードの下流側において隣接する第2のノードと、を有する。前記第1のノードは、前記第2のノードにテスト信号を送信し、前記第1のノード及び/もしくは前記第2のノードは、前記テスト信号の通信において互いの通信に関するパラメータを調整する。これによって、二つのノード間のインターフェース・エラーの発生を抑制することができる。
前記第1のノードもしくは前記第2のノードは、互いのデータ通信において予め設定されたエラー基準を超えた場合に、前記テスト信号の通信によるパラメータ調整の開始を決定することができる。
本発明によれば、複数のノードが接続されたループ状ネットワーク・システムにおいて、効果的なエラー対応処理を行うことができる。
以下に、本発明を適用可能な実施の形態が説明される。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。又、各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略されている。以下においては、データ記憶装置の一例であるハードディスク・ドライブ(HDD)を例として、本発明の実施形態を説明する。ノードの一例であるHDDはループ状ネットワークに接続され、ループ状ネットワークと各ノードとが、ループ状ネットワーク・システムを構成する。
本形態の特徴点は、ループ状ネットワークに接続された複数のHDDからインターフェース・エラーを起こしたHDDを特定する処理、あるいはインターフェース・エラーを起こしたHDDのエラー回復処理にあるが、最初に、ノードの一例であるHDDの構成を説明する。図1は、HDD1の全体構成を模式的に示すブロック図である。図1に示すように、HDD1は、エンクロージャ10内に、データを記憶するディスクの一例である磁気ディスク11、ヘッド素子部12、アーム電子回路(アームエレクトロニクス:AE)13、スピンドル・モータ(SPM)14、ボイス・コイル・モータ(VCM)15、そしてアクチュエータ16を備えている。
HDD1は、エンクロージャ10の外側に固定された回路基板20を備えている。回路基板20上には、リード・ライト・チャネル(RWチャネル)21、モータ・ドライバ・ユニット22、ハードディスク・コントローラ(HDC)とMPUの集積回路(以下、HDC/MPU)23、RAM24及びEEPROM25などの各ICを備えている。尚、各回路構成は一つのICに集積すること、あるいは、複数のICに分けて実装することができる。
SPM14は、そこに固定されている磁気ディスク11を、所定の角速度で回転する。HDC/MPU23からの制御データに従って、モータ・ドライバ・ユニット22がSPM14を駆動する。本例の磁気ディスク11は、データを記録する記録面を両面に備え、各記録面に対応するヘッド素子部12が設けられている。各ヘッド素子部12はスライダ(不図示)に固定されている。また、スライダは、ヘッド移動機構の一例であるアクチュエータ16に固定されている。データのリード及びライト時において、スライダは回転する磁気ディスク11上を浮上する。アクチュエータ16はVCM15に連結され、回動軸を中心に回動することによって、ヘッド素子部12(及びスライダ)を磁気ディスク11上において半径方向に移動する。
モータ・ドライバ・ユニット22は、HDC/MPU23からの制御データに従ってVCM15を駆動する。ヘッド素子部12には、典型的には、ライト・データに応じて電気信号を磁界に変換するライト素子及び磁気ディスク11からの磁界を電気信号に変換するリード素子を備えている。なお、磁気ディスク11は、1枚以上あればよく、記録面は磁気ディスク11の片面あるいは両面に形成することができる。また、本発明をリード素子のみを備えるデータ記憶装置に適用することができる。
AE13は、複数のヘッド素子部12の中からデータ・アクセスが行われる1つのヘッド素子部12を選択し、選択されたヘッド素子部12により再生される再生信号を一定のゲインで増幅(プリアンプ)し、RWチャネル21に送る。また、RWチャネル21からの記録信号を選択されたヘッド素子部12に送る。RWチャネル21は、ライト処理において、HDC/MPU23から供給されたライト・データをコード変調し、更にコード変調されたライト・データをライト信号に変換してAE13に供給する。リード処理において、RWチャネル21はAE13から供給されたリード信号を一定の振幅となるように増幅し、取得したリード信号からデータを抽出し、デコード処理を行う。読み出されるデータは、ユーザ・データとサーボ・データを含む。デコード処理されたリード・データは、HDC/MPU23に供給される。
HDC/MPU23において、MPUはRAM24にロードされたマイクロ・コードに従って動作する。HDD1の起動に伴い、RAM24には、MPU上で動作するマイクロ・コードの他、制御及びデータ処理に必要とされるデータが磁気ディスク11あるいはHDC/MPU23内のROMなどからロードされる。また、必要な各パラメータが、EEPROM25からRAM24にロードされる。HDCはロジック回路として構成され、MPUと一体的に様々な処理を実行する。例えば、HDC/MPU23は、コマンド実行順序の管理、ヘッド素子部12のポジショニング制御、インターフェース制御、ディフェクト管理などのデータ処理に関する必要な処理を行う。本形態のHDC/MPU23は、特に、HDD1が参加するループ状ネットワークにおけるインターフェース処理及び内部処理を実行する。
次に、本発明のループ状ネットワーク・システムを、図2に示すような、ファイバ・チャネル・アービトレイティッドループ・システム(FC−ALシステム)を利用して説明する。図2はファイバ・チャネルの同一ループ上に、ノードとして複数台のHDD1(HDD−A1a、HDD−B1b、HDD−C1c、・・・、HDD−N1d、HDD−O1e、・・・)が存在する状態を示している。各HDDは、ループ状ネットワークであるFC−ALにおいてデータ通信を行うポート(Port)を有しており、各ポートはトランスミッタTx及びレシーバRxを有している。各HDD内のHDC/MPU23が、ポートとして機能する。
FC−ALシステムにおいては、ループ状に接続されたノードとノードとが調停(Arbitration)信号をやりとりすることによって1:1の調停が成立し、それらノードのポートがオープンとなって通信が行われる。例えば、図2に示すHDD−A1aとHDD−N1dとの通信であれば、HDD−A1aから送信された調停信号がHDD−B1b、HDD−C1c、・・・を通ってHDD−N1dに到達し、更に、HDD−O1e、・・・を通ってHDD−A1aに戻った時点でHDD−A1aとHDD−N1dとの間に調停が成立する。HDD−A1aとHDD−N1dとのポートがオープンとなり、データ通信が可能となる。FC−ALにおいては、このようにデータ転送方向は一方向となる。
この様なFC−ALシステムにおいて、HDD−A1aとHDD−N1dとの間で調停が成立し、HDD−A1aからHDD−N1dへユーザ・データを送信する場合を考える。HDD−A1aからHDD−N1dへデータを送信において、ユーザ・データは、HDD−B1b、HDD−C1c、・・・を通ってHDD−N1dに到達する。さらに、HDD−N1dは、ユーザ・データの受信に応答して、応答信号をHDD−A1aに送信する。応答信号は受信したデータの状態によって異なり、HDD−O1e、・・・を通ってHDD−A1aに到達する。
HDD−A1aとHDD−N1dとの間のデータ通信において、ネットワーク上のエラーのために、正常にデータが転送されない場合がある。ここで、ノード間におけるユーザ・データや制御信号の伝送におけるエラーをインターフェース・エラーと呼ぶ。例えば、HDD−A1aからHDD−N1dまでの間に含まれる各ノード間に同期のずれがあると、HDD−A1aから送信されたデータのビットが、ノード間の同期エラーによって、HDD−N1dに到達するまでに変化することがある。転送データにはCRCが付加されており、HDD−N1dはそのCRCを参照することで、フレームCRCエラーが起き、不正確なデータを受信したことを検出することができる。
また、HDD−N1dからHDD−A1aまでの間に含まれる各ノード間に同期のずれがあると、HDD−A1aから送信されたデータがHDD−N1dに正確に伝送された場合でも、HDD−N1dからHDD−A1aに対して送信される応答信号のビットがHDD−A1aに到達するまでにノード間の同期エラーによって変化し、認識できない可能性もある。
本形態のFC−ALシステムにおいては、特定のノードのポートがインターフェース・エラーを検出すると、そのポートが、エラーが発生したノードを特定するための信号を送信する。この信号は、各ノード(ポート)のエラー情報を収集する役割を有する。具体的には、各ノードのポートは、転送された信号に自身のエラー情報をセットして下流側に転送する。最初に上記のエラー情報を収集する信号を送信したポートは、戻ってきた信号のエラー情報を解析し、そのエラー情報に基づいてインターフェース・エラーを起こしたポートを特定する。
ここで、FC−ALシステムにおいて使用されている同期(Sync)信号のエラー数は、各ポートがセットするエラー情報として、好ましい例である。FC−ALシステムにおいては、各ポート間で通信が行われていない場合に、待機(Idle)信号が伝送路上を伝送されている。この待機信号には信号の同期を確認するための同期(Sync)信号が含まれている。
各ポートは待機信号を受信する度に、この同期信号が正しく受信できているかをチェックする。即ち、同期信号としての所定のビット列が、受信した待機信号の中に同期信号として含まれているか否かをチェックする。そして、各ポートは、同期信号を正しく受信できていない回数のカウント値(Loss of Sync)をエラー情報としてRAM24等の内部の記憶媒体に保持している。以下においては、エラー情報としてこのカウント値(Loss of Sync)を使用する例について説明する。
本形態においては、さらに、インターフェース・エラーの原因と特定された二つのポート間において、FC−AL上の通信に関するパラメータ調整を行う。具体的には、送信側ポートは送信に関するパラメータを調整し、受信側ポートは受信に関するパラメータを調整する。これによって、特定されたポート間におけるインターフェース・エラーの再発を抑制することができる。通信に関するパラメータとしては、例えば、EqualizerやPre-emphasis等、ポートが行う波形調整に関するパラメータが挙げられる。
図3、図4に示す一連のフローチャートを用いて、本形態に係るエラー対応処理の具体的な例について説明する。図3におけるステップS101からステップS105までが、エラー・ノードの特定処理に関し、それ以降のステップは、エラー・ノード間におけるパラメータ調整処理に関する。本例においては、HDD−N1dがインターフェース・エラーを検出し、エラー・ノードとして、HDD−B1bとHDD−C1cとが特定される。なお、以下における各HDDの処理は、HDD内のHDC/MPU23が実行する。HDD−N1dにおいて、HDC/MPU23は、インターフェース・エラーを検出する検出部及びエラー・ノードを特定する特定部として機能する。
図3に示すように、インターフェース・エラーをファイバ・チャネル上のHDD−N1dが検出(S101)する。例えば、上記例のように、HDD−A1aから送信されたデータにおいてHDD−N1dがフレームCRCエラーを検出すると、HDD−N1dは、各ノードのポートが持っているエラー情報を収集するためのエラー情報収集信号A(以下、信号A)をFC−ALの下流に送信する(S102)。
この信号A301の基本構造を図5に示す。信号A301は、エラー情報収集信号であることを意味する識別子302、有効なエラー情報の個数を示すカウンタ値を格納するフィールド303、および各デバイスがエラー情報を入れるためのエリア304を有する。エラー情報を入れるためのエリア304はノード毎にあり、FC−AL上に存在し得る最大数分の情報(最大エリア数)を格納することができる。
各ポートは、信号A301を受信すると、自身が持っているエラー情報(Loss of Sync)を、エラー情報を入れるためのエリア304内における空いているエリアに、順次格納していく。具体的には、空いているエリアの内の最も順序の小さいエリアに格納する。各ポートは、有効なエラー情報の個数を示すカウンタ303の値を参照して、エラー情報を格納するエリアを決定する。さらに、各ポートは、エラー情報を格納した後に、有効なエラー情報の個数を示すカウンタ303の値をインクリメントして、次のポートに転送して行く(S103)。
例えばエラーを検出したHDD−N1dから送信された信号A301はHDD−N1dの下流のHDD−O1eに受け取られる。このとき、エラー情報の個数を示すカウンタ303の値はゼロである。HDD−O1eは受信した信号A301のカウンタ303の値がゼロなので、エラー情報を入れるエリア304の最初(1番目)のエリア304aに、自身のエラー情報を格納する。エラー情報を有効なエラー情報の個数を示すエリア303の値を1つ増やして次のポートに送信する。次のポートは、エリア304の2番目のエリア304bに自身のエラー情報を格納する。さらに、有効なエラー情報の個数を示すカウンタ303の値をインクリメントして2とし、次の下段のポートに送信する。このようにして、最終的にはFC−AL上の全ノードのエラー情報が信号A301に入り、HDD−N1dに戻ってくる(S104)。
HDD−N1dは信号A301のエラー情報とループ初期化の時に入手したポジション・マップから、エラー情報であるLoss of Syncのカウント値が一番大きいポートのネットワーク・アドレスを特定する(S105)。信号Aはネットワーク上のポート順番に従って、各エラー情報を格納している。ポジション・マップは、各ポートのネットワーク・アドレスとFC−AL上の位置とを対応づけるマップである。これらから、HDD−N1dは、Loss of Syncのカウント値が一番大きいポートのネットワーク・アドレスを特定することができる。以下において、HDD−C1cのエラー・カウント(Loss of Sync)が一番大きい例について、以下説明する。
HDD−C1cのエラー・カウントが一番大きい原因としては、HDD−C1cのレシーバRx202、あるいは、その上流のHDD−B1bのトランシーバTx201の送受信に関するパラメータ設定が適切ではない可能性がある。HDD−N1dは、ループ初期化処理において入手したポジション・マップから、HDD−C1cの上流の隣接ノードとしてHDD−B1bを特定することができる。HDD−N1dはHDD−C1cの上流のHDD−B1bに対して、エラー・ノード指定信号B(以下、信号B)401を送信する(S106)。
信号Bは、HDD−B1bのTx201、もしくはHDD−C1cのRx202に問題がある疑いがあることを示し、それらの間でエラー回復処理を開始することを指示する命令となる。信号B401の基本構造を図6に示す。信号B401は、当該信号であることを意味する識別子402、Txに問題がある可能性があるノード(ポート)のアドレス403、Rxに問題がある可能性があるノードのアドレス404を有する。
Txに問題があるノードのアドレス403が示すノード、本例においてHDD−B1bがこの信号B401を受信すると、HDD−B1bは信号B内のRxに問題があるノードのアドレス304のノード、本例においてHDD−C1cに対して、パラメータ調整を開始することを示す信号C(以下、信号C)を送る(S107)。この信号Cは、HDD−B1bが送信側のパラメータ調整を開始することを示し、識別子のみで構成する。
HDD−C1cから信号Cに対する応答信号を受信すると、HDD−B1bは、EqualizerやPre-emphasis等の送信に関するパラメータを、予め決められた設定値の組み合わせに変更して、テスト信号Dを送信する(S108)。HDD−B1bは、予め複数の組み合わせを有している。なお、テスト信号Dも、識別子のみで構成する。HDD−C1cはこのテスト信号Dを正常に認識できた場合、応答信号EをHDD−B1bに送信する。この応答信号Eも識別子のみで構成する。
HDD−B1bはテスト信号Dを送信後、予め設定された時間以内にHDD−C1cから応答信号Eを受け取るかどうかをチェックする(S109)。所定時間内に応答信号Eを受け取らなければ(S109におけるN)、HDD−B1bはこの送受信に関するパラメータの設定は不適と判断し、別のパラメータ・セットに変えて、テスト信号Dを再度送信する。所定時間内に応答信号Eを受け取った場合(S109におけるY)、HDD−B1bは、その時のパラメータ・セットの設定をRAM24上の候補テーブルに登録しておく(S110)。この動作を繰り返してHDD−C1cから応答信号Eが戻ってくるパラメータ・セットを探す。このHDD−B1bのTx201の調整は、設定可能なパラメータ・セット全てについて実施する(S111)。
複数の組み合わせの設定で応答信号Eを受信した場合は(S112におけるY)、HDD−B1bは、候補テーブルに登録されているパラメータ・セットの内、予め設定された基準に従った最適パラメータ・セットを選択する(S113)。例えば、候補パラメータ・セットの内、中間のパラメータ値を有するパラメータ・セットを選択する。例えば、特定のパラメータについて連続する複数の値が存在する場合、最大最小値以外の値を有するパラメータ・セットを選択する。また、好ましくは、最大値と最小値の中心に相当する値を選択する。例えば、パラメータ・セットが1、2、3、・・・、n、・・・とあり、パラメータ・セットの番号に従って各パラメータが単調増加もしくは単調減減少するとする。パラメータ・セットのうち3、4、5でテスト信号Dが正常に認識できた場合には、パラメータ・セット4を採用する。
この好ましいパラメータの採用方法の例について、図7を用いて更に説明する。図7は、変更すべきパラメータがパラメータ1とパラメータ2との2つである場合に、(パラメータ1、パラメータ2)とすると、(a_1、a_2)、(b_1、b_2)、(c_1、c_2)、(d_1、d_2)で囲まれる範囲501においてHDD−C1cから信号Eが戻ってきた場合を示している。この様な場合に、範囲501の略中心であり、パラメータ1、パラメータ2の値共に範囲501の境界までマージンが最も大きい(e_1、e_2)のパラメータの組み合わせ502を用いる。HDD−B1bは、選択したパラメータ・セットをEEPROM25に保存する。
HDD−B1bの送受信に関するパラメータで設定可能な組み合わせの全てが試されてもHDD−C1cから応答信号Eを受信しなかった場合(S112におけるN)、HDDD−C1cのRx202に問題がある可能性が高い。そこで、HDD−B1bは、送信に関するパラメータを調整前のもとの設定に戻し(S114)、HDD−C1cに送受信に関するRxパラメータ調整を開始させることを指示する信号Fを送信する(S115)。この受信側パラメータ調整開始信号Fも識別子のみで構成する。HDD−C1cはこの信号Fを受信すると、自身の送受信に関するRxパラメータの設定を変更して(S116)、正常に信号を受信できるパラメータ設定を探す。
HDD−C1cのRxパラメータの最適化においては、HDD−C1cがパラメータの組み合わせを変えながら、HDD−B1bからの信号を正確に受信できているかどうかをチェック(S117)し、受信できた場合(S117におけるY)は、その時のパラメータ・セットの設定を候補テーブルに登録する(S118)。ここで、HDD−C1cが受信するHDD−B1bからの信号は特別な信号を必要とせず、テスト信号として、Idle信号のような通常のFC−ALのカレント・フィル・ワードを使用することができる。
上流のTx201のパラメータ調整の場合は、下流のノードからの応答信号Eによって正確に送信されたか否かを判断する。受信した応答信号Eがどのパラメータ設定において送信された信号に対する応答信号か区別する必要があるため、特別なテスト信号Dを用いて、パラメータ毎に識別子を付加する。
しかしながら、Rx202の場合は、パラメータを変更するノード自身が、信号を受信できたか否か判断できるため、Tx201の場合のように、パラメータ・セット毎の識別子等が不要であり、テスト信号としてIdle信号等を受信するのみで良い。なお、Idle信号等のカレント・フィル・ワードとは異なるテスト用の信号を用いても良い。
このような、パラメータ動作を繰り返して受信できるパラメータ・セットの設定を変更出来る全設定について実施する(S119)。複数の候補パラメータ・セットが存在する場合、HDD−C1cは、上記のHDD−B1bと同様の手法で、最適なパラメータ・セットを選択する。選択したパラメータ・セットは、EEPROM25に保存される。HDD−C1cの送受信に関するパラメータ調整が完了すると、HDD−C1cが調整完了信号Gを送信(S120)し、FC−AL上の全ノードに調整作業が完了したことを知らせる。
以上のように、本実施形態により、ファイバ・チャネル上のデバイス自信がエラーの原因となっているデバイスを特定すると共に、エラー原因となっている2台のデバイス間でデバイス内部のパラメータの適正値を学習し、各デバイス個々に適正な値を設定することができる。
ここで、上記のHDD−B1bとHDD−C1cとの間におけるパラメータ調整を、HDD−N1dによるエラー・ノード特定処理とは独立に行ってもよい。例えば、HDD−C1cが、Loss of Syncのカウント値が予め設定された基準値を超えたことを以って、パラメータ調整の開始を決定する。この場合、エラー原因となっているノードは自ノードであるので、信号A301を発信することなく、パラメータ調整を開始することを示す信号を発信すれば良い。
具体的には、Loss of Syncのカウント値が基準値を超えると、HDD−C1cは、HDD−B1bにパラメータ調整処理の開始を指示する信号を送信する。HDD−B1bとHDD−C1cとは、上述の処理方法と同様に、それぞれの送受信パラメータの調整を実行する。なお、設計によって、HDD−B1bが所定基準に従ってパラメータ調整処理の開始を決定するように構成してもよい。
なお、上記の説明においては、Rx202のパラメータ設定の調整を開始する際、Tx201側のパラメータ設定を元の設定値に戻してから行っているが、Tx201とRx202との各パラメータ・セットで設定可能な組み合わせを全て試してもよい。この場合、Tx201側のパラメータで設定可能な組み合わせの全てが試された後、Rx202のパラメータ・セットを変更して、再度信号Dを送信しながらTx201側のパラメータの調整を実施する。このようにしてTx201とRx202とのパラメータ設定の全ての組み合わせについて試すことができる。
また、上記の説明においては、図2に示すように一の伝送路を有するFC−ALシステムを例として説明したが、二重以上の多重化された伝送路を有するFC−ALシステム、あるいは、FC−AL以外のプロトコルに従う伝送路を有するシステムに用いることもできる。特に、エラー箇所の特定及びエラーの回復処理を、エラーが検出された伝送路とは異なる伝送路を通して行うことにより、より確実にエラー箇所の特定及びエラーの回復を図ることができる。
また、上記の説明においては、同期信号が正しく受信できていない回数のカウント値(Loss of Sync)をエラー情報としてRAM24やEEPROM25等の内部の記憶媒体に保持している例を説明したが、これ以外にも、受信されるべきタイミングにおいて信号が受信されない回数のカウント値(Loss of Signal)をエラー情報としても良い。上記例は、複数のパラメータからなるパラメータ・セットを変更したが、一つのパラメータのみを調整するようにしてもよい。
以上、本発明を好ましい実施形態を例として説明したが、本発明が上記の実施形態に限定されるものではない。当業者であれば、上記の実施形態の各要素を、本発明の範囲において容易に変更、追加、変換することが可能である。例えば、本発明は、データ記憶装置をノードとするループ状ネットワーク・システムに好適であるが、他の装置をループ状ネットワークにノードとして接続することができる。
1、1a、1b、1c、1d HDD、10 エンクロージャ、11 磁気ディスク
12 ヘッド素子部、13 アーム・エレクトロニクス、14 スピンドル・モータ
15 ボイス・コイル・モータ、16 アクチュエータ、20 回路基板
21 リード・ライト・チャネル、22 モータ・ドライバ・ユニット
23 ハードディスク・コントローラ/MPU、24 RAM、25 EEPROM
201 トランシーバ、202 レシーバ、301 エラー情報収集信号
401 エラー・ノード指定信号
12 ヘッド素子部、13 アーム・エレクトロニクス、14 スピンドル・モータ
15 ボイス・コイル・モータ、16 アクチュエータ、20 回路基板
21 リード・ライト・チャネル、22 モータ・ドライバ・ユニット
23 ハードディスク・コントローラ/MPU、24 RAM、25 EEPROM
201 トランシーバ、202 レシーバ、301 エラー情報収集信号
401 エラー・ノード指定信号
Claims (10)
- ループ状ネットワークと、そのループ状ネットワークに接続された第1のノード及び他の複数のノードと、を有するループ状ネットワーク・システムであって、
前記第1のノードは、前記ループ状ネットワーク上のインターフェース・エラーを検出すると、そのインターフェース・エラーが発生したノードを特定するための信号を送信し、
前記他の複数ノードのそれぞれは、受信した前記信号に自身のエラー情報をセットして送信し、
前記第1のノードは、戻ってきた前記信号に含まれるエラー情報に基づいて前記インターフェース・エラーの原因なっているノードを特定する、
システム。 - 前記第1のノードは、前記信号を前記ループ状ネットワークに送信し、
前記他の複数ノードのそれぞれは、受信した前記信号に自身のエラー情報をセットして前記ループ状ネットワークの下流に順次転送する、
請求項1に記載のループ状ネットワーク・システム。 - 前記第1のノードは、前記インターフェース・エラーの原因なっている送信側ノードと受信側ノードとを特定し、
前記送信側ノードは前記受信側ノードに前記ループ状ネットワークを介してデータを送信し、その送信に関するパラメータの調整を行う、
請求項1に記載のループ状ネットワーク・システム。 - 前記第1のノードは、前記インターフェース・エラーの原因なっている送信側ノードと受信側ノードとを特定し、
前記受信側ノードは前記送信側ノードから前記ループ状ネットワークを介してデータを受信し、その受信に関するパラメータの調整を行う、
請求項1に記載のループ状ネットワーク・システム。 - 前記他の複数のノードのそれぞれは、前記信号における異なる位置のエリアにエラー情報を順次セットし、
前記第1のノードは、エラー情報がセットされている位置及び前記ループ状ネットワークにおける各ノードの位置を示すマップを参照して、前記インターフェース・エラーの原因なっているノードを特定する、
請求項2に記載のループ状ネットワーク・システム。 - 前記信号は、カウンタ・フィールドを有し、
前記他の複数のノードのそれぞれは、前記カウンタ・フィールドを参照して特定した前記信号内のエリアにそのエラー情報をセットし、さらに、前記カウンタ・フィールドの値をカウントして転送する、
請求項5に記載のループ状ネットワーク・システム。 - 前記エラー情報は、前記他の複数のノードのそれぞれにおける、予め定められたエラーの過去の発生回数であり、
前記第1のノードは、前記発生回数が最も大きいノードを前記インターフェース・エラーの原因なっているノードと特定する、
請求項1に記載のループ状ネットワーク・システム。 - ループ状ネットワークに接続されるデータ記憶装置であって、
前記ループ状ネットワーク上のインターフェース・エラーを検出する検出部と、
前記インターフェース・エラーが発生したノードを特定するための信号を送信する送信部と、
戻ってきた前記信号に含まれる前記ループ状ネットワークに接続された他のデータ記憶装置の各エラー情報に基づいて、前記インターフェース・エラーの原因なっているデータ記憶装置を特定する特定部と、
を有するデータ記憶装置。 - ループ状ネットワークと、
前記ループ状ネットワークに接続された第1のノードと、
前記第1のノードの下流側において隣接する第2のノードと、を有し、
前記第1のノードは、前記第2のノードにテスト信号を送信し、
前記第1のノード及び/もしくは前記第2のノードは、前記テスト信号の通信において互いの通信に関するパラメータを調整する、
ループ状ネットワーク・システム。 - 前記第1のノードもしくは前記第2のノードは、互いのデータ通信において予め設定されたエラー基準を超えた場合に、前記テスト信号の通信によるパラメータ調整の開始を決定する、
請求項9に記載のループ状ネットワーク・システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006218499A JP2008042851A (ja) | 2006-08-10 | 2006-08-10 | ループ状ネットワーク・システム及びデータ記憶装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006218499A JP2008042851A (ja) | 2006-08-10 | 2006-08-10 | ループ状ネットワーク・システム及びデータ記憶装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008042851A true JP2008042851A (ja) | 2008-02-21 |
Family
ID=39177326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006218499A Pending JP2008042851A (ja) | 2006-08-10 | 2006-08-10 | ループ状ネットワーク・システム及びデータ記憶装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008042851A (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015000252A (ja) * | 2013-06-17 | 2015-01-05 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP2015000250A (ja) * | 2013-06-17 | 2015-01-05 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP2015000248A (ja) * | 2013-06-17 | 2015-01-05 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP2015000253A (ja) * | 2013-06-17 | 2015-01-05 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP2015000249A (ja) * | 2013-06-17 | 2015-01-05 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP2015000251A (ja) * | 2013-06-17 | 2015-01-05 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP2015167332A (ja) * | 2014-03-04 | 2015-09-24 | 三菱電機株式会社 | 通信システムおよび伝送路パラメータ設定方法 |
US9830293B2 (en) | 2014-08-11 | 2017-11-28 | Fujitsu Limited | Information processing apparatus, storage system, and computer-readable non-transitory storage medium storing communication control program |
US10353788B2 (en) | 2016-06-29 | 2019-07-16 | Fujitsu Limited | Processing method, communication system, and recording medium |
-
2006
- 2006-08-10 JP JP2006218499A patent/JP2008042851A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015000252A (ja) * | 2013-06-17 | 2015-01-05 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP2015000250A (ja) * | 2013-06-17 | 2015-01-05 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP2015000248A (ja) * | 2013-06-17 | 2015-01-05 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP2015000253A (ja) * | 2013-06-17 | 2015-01-05 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP2015000249A (ja) * | 2013-06-17 | 2015-01-05 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP2015000251A (ja) * | 2013-06-17 | 2015-01-05 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP2015167332A (ja) * | 2014-03-04 | 2015-09-24 | 三菱電機株式会社 | 通信システムおよび伝送路パラメータ設定方法 |
US9830293B2 (en) | 2014-08-11 | 2017-11-28 | Fujitsu Limited | Information processing apparatus, storage system, and computer-readable non-transitory storage medium storing communication control program |
US10353788B2 (en) | 2016-06-29 | 2019-07-16 | Fujitsu Limited | Processing method, communication system, and recording medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008042851A (ja) | ループ状ネットワーク・システム及びデータ記憶装置 | |
US6691198B1 (en) | Automatically transmitting scheduling data from a plurality of storage systems to a network switch for scheduling access to the plurality of storage systems | |
US7401171B2 (en) | Methods and structure for SAS expander initiating communication to a SAS initiator to identify changes in the SAS domain | |
JP2006099665A (ja) | データ記憶装置及びそのシリアル・インターフェース部のパワー・セーブ・モードの制御方法 | |
EP3544239B1 (en) | Controller area network (can) device and method for operating a can device | |
US7733590B2 (en) | Optimal synchronization mark/address mark construction | |
US20060129703A1 (en) | Data storage device and control method for power-save modes thereof | |
KR20010032197A (ko) | 온-칩 메모리에서 데이터 보전을 위해 crc를 사용하는방법 및 장치 | |
JP2011521488A (ja) | 適応リンクパートナ送信機を等化するための方法及び装置 | |
JP2008197780A (ja) | ディスクドライブの自動認識設定装置 | |
TW201138365A (en) | Host initiated connection to a device | |
KR20120019407A (ko) | 직렬 연결 scsi 확장자 및 이를 통한 데이터 전송 방법 | |
US7133956B2 (en) | Electronic device with serial ATA interface and signal amplitude adjusting method | |
US7143202B2 (en) | Dual serial port data acquisition interface assembly for a data storage device | |
US7486461B2 (en) | Magnetic disk device and read/write method | |
CN113778926A (zh) | 电子设备以及其控制方法 | |
USRE49408E1 (en) | Universal SFP support | |
KR101696136B1 (ko) | 통신 시스템에서 송신기 등화를 구성하기 위한 기술 | |
JP2005209281A (ja) | データ記憶装置、記憶装置の制御方法及び磁気ディスク駆動装置 | |
US8068747B2 (en) | Device and method for detecting position of unit mounted in image forming apparatus | |
US6732201B2 (en) | Hardware speed selection behind a disk array controller | |
JP3800516B2 (ja) | 外部記憶装置、制御方法、外部記憶装置システム、プログラム、及び記録媒体 | |
JP7125596B2 (ja) | 情報処理装置および通信制御プログラム | |
US7515528B2 (en) | Host fail-over switch presence detection compatible with existing protocol and host controllers | |
JP2008118436A (ja) | ループ状ネットワーク・システム、それに含まれる装置及びその装置においてネットワークへの接続状態を判定する方法 |