(57)【要約】  ノイズフィルタリングシステムは、ストレージプロトコルアプリケーションのためのシリアル及びパラレルインタフェースの物理レイヤにおける適応的ノイズフィルタリングを提供する。本システムは、ホットプラグとホットリムーバルの双方のアプリケーションのための適応的ノイズフィルタリングを提供する。【特許請求の範囲】
【請求項１】
通信リンク上の信号同期のロスの後に信号同期を検出し、前記通信リンクを介した通信を有効にする前に信号同期を検出した後に動的に調整可能な回復時間を待機するノイズフィルタリングシステムを有する装置。
【請求項２】
前記ノイズフィルタリングシステムは、同期ロス満了時間より短い満了時間を有する同期回復タイマーを有し、
前記動的に調整可能な回復時間は、前記同期回復タイマーが満了した回数を選択することに基づき調整可能である、請求項１記載の装置。
【請求項３】
前記ノイズフィルタリングシステムはさらに、前記同期回復タイマーに接続され、前記動的に調整可能な回復時間を管理するノイズフィルタリング状態マシーンを有する、請求項２記載の装置。
【請求項４】
前記動的に調整可能な回復時間は、同期ロス満了時間より短い、請求項１記載の装置。
【請求項５】
前記通信リンクを介した通信は、ＳＡＴＡ（Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）プロトコルを用いて実行される、請求項１記載の装置。
【請求項６】
前記ノイズフィルタリングシステムに接続され、複数のノイズフィルタリングシステムの信号同期をモニタするモニタをさらに有し、
前記複数のノイズフィルタリングシステムのそれぞれは、複数の通信リンクの１つにおける信号同期のロスの後、信号同期を検出する、請求項１記載の装置。
【請求項７】
前記ノイズフィルタリングシステムは、前記通信リンクを介した通信を管理するプロトコルレイヤへの同期ロスの表示を提供する、請求項１記載の装置。
【請求項８】
通信リンク上の信号同期のロス後に信号同期を検出するステップと、
前記通信リンクを介した通信が有効になる前、信号同期の検出後に動的に調整可能な回復時間を待機するステップと、
を有する方法。
【請求項９】
前記動的に調整可能な回復時間は、同期回復タイマーが満了した回数に基づき調整可能であり、
前記同期回復タイマーは、同期ロス満了時間より短い満了時間を有する、請求項８記載の方法。
【請求項１０】
前記動的に調整可能な回復時間は、前記同期回復タイマーに接続されるノイズフィルタリング状態マシーンにより管理される、請求項９記載の方法。
【請求項１１】
前記動的に調整可能な回復時間は、同期ロス満了時間より短い、請求項８記載の方法。
【請求項１２】
前記通信リンクを介した通信は、ＳＡＴＡ（Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）プロトコルを用いて実行される、請求項８記載の方法。
【請求項１３】
複数のノイズフィルタリングシステムに対して複数の通信リンク上の信号同期をモニタするステップをさらに有し、
前記複数のノイズフィルタリングシステムのそれぞれは、複数の通信リンクの１つにおける信号同期のロス後に信号同期を検出する、請求項８記載の方法。
【請求項１４】
前記通信リンクを介した通信を管理するプロトコルレイヤに同期ロスの表示を提供するステップをさらに有する、請求項８記載の方法。
【請求項１５】
関連する情報を有するマシーンアクセス可能な媒体を有する物であって、
前記情報は、アクセスされるとマシーンに、
通信リンク上の信号同期のロス後に信号同期を検出するステップと、
前記通信リンクを介した通信の回復前、信号同期の検出後に動的に調整可能な回復時間を待機するステップと、
実行させる物。
【請求項１６】
前記動的に調整可能な回復時間は、同期回復タイマーが満了した回数を選択することに基づき調整可能であり、
前記同期回復タイマーは、同期ロス満了時間より短い満了時間を有する、請求項１５記載の物。
【請求項１７】
前記動的に調整可能な回復時間は、同期ロス満了時間より短い、請求項１５記載の物。
【請求項１８】
ディスクドライブと、
通信リンク上の信号同期のロスの後に信号同期を検出し、前記通信リンクを介した通信の回復前に信号同期を検出した後に動的に調整可能な回復時間を待機するノイズフィルタリングシステムを有するホストバスアダプタと、
を有するシステム。
【請求項１９】
前記ノイズフィルタリングシステムは、同期ロス満了時間より短い満了時間を有する同期回復タイマーを有し、
前記動的に調整可能な回復時間は、前記同期回復タイマーが満了した回数を選択することに基づき調整可能である、請求項１８記載のシステム。
【請求項２０】
前記ノイズフィルタリングシステムはさらに、前記同期回復タイマーに接続され、前記動的に調整可能な回復時間を管理するノイズフィルタリング状態マシーンを有する、請求項１８記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、シリアルプロトコルに関し、より詳細には、シリアルインタフェースを介し受信する予想外のノイズのフィルタリングに関する。
【背景技術】
【０００２】
ＳＡＴＡ（Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）装置は、それらの小さな設置面積のためモバイルコンピュータにおいて一般に使用される。しかしながら、ＳＡＴＡ装置は、メカニカルな振動により、またＳＡＴＡコネクタの挙動を介し発生しうるノイズの影響を受ける。例えば、モバイルコンピュータがデスク上に置かれると、メカニカルな振動は、同期の信号ロスを誤って検出させる可能性のあるＳＡＴＡインタフェース上の故障（ｇｌｉｔｃｈ）／ノイズを生じさせるかもしれない。故障やノイズは、同期ロスの誤った検出を生じさせるＳＡＴＡ装置のホットプラグ（ｈｏｔ−ｐｌｕｇ）及びホットリムーバル（ｈｏｔ−ｒｅｍｏｖａｌ）により生成されるかもしれない。
【０００３】
ＳＡＴＡアーキテクチャは、動作状態となるようＳＡＴＡリンクを初期化するため電源オン又はリセットした後に物理リセットシーケンスを実行する物理レイヤを含む。ＳＡＴＡリンクが動作状態となった後、物理レイヤはまた、ＳＡＴＡリンクにおいてノイズを検出することにより同期ロスを検出すると、物理リセットシーケンスを実行する。物理リセットシーケンスにより実行される処理は、セーブされていないデータを失わせるかもしれない。
【０００４】
同期ロスの誤った検出に対して保護するため、ＳＡＴＡホストは、典型的には、一定期間だけ物理リセットシーケンスの起動を遅延させる。典型的には、この一定期間は、ＳＡＴＡインタフェース上の断続的なノイズが物理リセットシーケンスを起動させないことを確実にするよう選択される。しかしながら、この一定期間が長すぎる場合、ＳＡＴＡホストは、通常動作を再開する前であってＳＡＴＡ上のノイズの検出後に必要以上に長時間待機することとなる。
【図面の簡単な説明】
【０００５】
請求対象の各実施例の特徴は、以下の詳細な説明に進むに従って、また同様の番号が同様のパーツを示す図面を参照することにより明らかとなるであろう。
【図１】図１は、ホストと装置の間のリンク上のノイズ又は同期ロスによる同期外れ期間と同期回復期間のパターンを示す。
【図２】図２は、本発明の原理によるノイズフィルタリングシステムの実施例を有するシステムのブロック図である。
【図３】図３は、本発明の原理によるノイズフィルタリングシステムの実施例を含む図２に示されるホストアダプタの実施例のブロック図である。
【図４】図４は、図３に示されるノイズフィルタリング状態マシーンの状態図である。
【図５】図５は、本発明の原理によるノイズフィルタリング状態マシーンの実施例のフロー図である。
【図６】図６は、ＬＯＳタイマーとＷＲＳタイマーの満了時間を示すタイミング図である。
【図７】図７は、同期ロス中にＳＡＴＡフレームとＦＩＳの処理をサスペンドするため、ＳＡＴＡプロトコルのトランスポートプロトコルレイヤにより実行される方法の実施例を示すフロー図である。
【図８】図８は、装置のホットリムーバルのケースにおけるＳＡＴＡ物理インタフェースの状態を示す。
【図９】図９は、装置のホットプラグのケースにおけるＳＡＴＡ物理インタフェースの状態を示す。
【図１０】図１０は、コネクタ上のピンのいくつかがコネクタ上の他のピンの前に挿入／削除される、装置へのマルチラインＳＡＴＡコネクタの挿入／抽出を示す。
【図１１】図１１は、複数のＳＡＴＡラインの状態をモニタする中央モニタを有するシステムのブロック図である。  以下の詳細な説明は請求対象の例示的な実施例に対する参照を行うが、多数の代替、変更及び変形が当業者に明らかになるであろう。従って、請求対象は広くみなされ、添付した請求項によってのみ規定されるものである。
【発明を実施するための形態】
【０００６】
ＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  Ｓｍａｌｌ）コンピュータシステムインタフェースやＳＡＴＡ（Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）などの多数のシリアルストレージプロトコルセットが存在する。あるバージョンのＳＡＴＡプロトコルは、シリアルＡＴＡワーキンググループにより２００３年１月７日に公表された“Ｓｅｒｉａｌ  ＡＴＡ：Ｈｉｇｈ  Ｓｐｅｅｄ  Ｓｅｒｉａｌｉｚｅｄ  ＡＴ  Ａｔｔａｃｈｍｅｎｔ”のＲｅｖｉｓｉｏｎ  １．０ａ（以降、“ＳＡＴＡ規格”と呼ぶ）に記載されている。あるバージョンのＳＡＳプロトコルは、ＡＮＳＩ（Ａｍｅｒｉｃａｎ  Ｎａｔｉｏｎａｌ  Ｓｔａｎｄａｒｄｓ  Ｉｎｓｔｉｔｕｔｅ）により２００３年９月１８日に公表された“Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ−Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ−１．１”，Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  Ａｍｅｒｉｃａｎ  Ｎａｔｉｏｎａｌ  Ｓｔａｎｄａｒｄ  ｏｆ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｍｍｉｔｔｅｅ  Ｆｏｒ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ  Ｓｔａｎｄａｒｄｓ（ＩＮＣＩＴＳ）Ｔ１０  Ｔｅｃｈｎｉｃａｌ  Ｃｏｍｍｉｔｔｅｅ，Ｐｒｏｊｅｃｔ  Ｔ１０／１５６２−Ｄ，Ｒｅｖｉｓｉｏｎ  １（以降、“ＳＡＳ規格”と呼ぶ）に記載されている。
【０００７】
本発明の実施例は、ＳＡＴＡプロトコルについて説明される。ＳＡＴＡプロトコルなどのストレージプロトコルは、記憶装置とホストバスアダプタ（コントローラ又はホストアダプタ）２３０との間のアクティブな通信をサポートする。コネクション型通信においてホストバスアダプタと記憶装置との間に接続が確立されると、ホストバスアダプタには、記憶装置における保留中のすべてのコマンドが完了するまで、記憶装置への排他的アクセスが与えられる。
【０００８】
ＳＡＴＡプロトコルアーキテクチャは、物理、リンク、トランスポート及びアプリケーションの４つのレイヤを規定する。物理レイヤ機能は、物理リセットシーケンス（ＯＯＢ（Ｏｕｔ  Ｏｆ  Ｂａｎｄ）シーケンス）とスピードネゴシエーションシーケンスを用いて実行されるリンクレベルリセット、初期化及びスピードネゴシエーションを含む。スピードネゴシエーションシーケンスは、ＯＯＢシーケンスの終了後に開始される。
【０００９】
物理リセットシーケンスは、電源オン、ハードリセット又はアプリケーションレイヤからのリクエストに応答して、ＳＡＴＡ物理レイヤにより発信される。物理レイヤは、リンク上での同期ロスの検出に応答して、ホストアダプタと記憶装置（ストレージ周辺装置）との間のリンクをリセットするため、物理リセットシーケンスを実行するかもしれない。リンク上の同期ロスは、リンク上のノイズ又は故障の検出によるものであるかもしれない。
【００１０】
リンクレイヤは、情報（データ及び制御）が８ｂ／１０ｂ符号化を用いて１０ビットキャラクタに符号化される符号化方式を規定する。８ｂ／１０ｂ符号化では、８ビットが同時に１０ビットキャラクタに符号化され、その後に物理リンクを介し逐次的にビット単位で送信される。８情報ビットと制御変数（値Ｄデータ、値Ｋ制御）が１０ビットキャラクタに符号化される。
【００１１】
８ビットキャラクタは、ｄｗｏｒｄと呼ばれる４つの８ビットキャラクタシーケンスにグループ化される。プリミティブは、第１キャラクタが制御キャラクタであるｄｗｏｒｄである。例えば、物理レイヤにより使用されるＡＬＩＧＮプリミティブは、第１の８ビットキャラクタがＫ２８．５制御キャラクタであるｄｗｏｒｄである。
【００１２】
トランスポートレイヤは、送信のためＦＩＳ（Ｆｒａｍｅ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｔｒｕｃｔｕｒｅ）を構成し、受信したＦＩＳを分解する。ＦＩＳは、フレームのユーザペイロードである。ＦＩＳに加えて、フレームは、プリミティブ（ＳＯＦＰ（Ｓｔａｒｔ  ｏｆ  Ｆｒａｍｅ）、ＥＯＦＰ（Ｅｎｄ  ｏｆ  Ｆｒａｍｅ））、及びＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ））を有する。
【００１３】
ＯＯＢシーケンスは、通常のデータストリームには現れない信号パターンである複数のＯＯＢ信号を有する。ＯＯＢ信号は、アイドル時間と後続するバースト時間を有する。アイドル時間中、物理リンクはＤ．Ｃ．アイドルを搬送し、バースト時間中、物理リンクは信号遷移を搬送する。
【００１４】
ＯＯＢ信号を送信するため、送信装置は、（１）アイドル時間にはＤ．Ｃ．アイドルを送信し、（２）バースト時間にはＡＬＩＧＮプリミティブのＯＯＢバーストを送信するというシーケンスを６回送信する。Ｄ．Ｃ．アイドルは、ＯＯＢ信号のアイドル時間中に使用される約０ボルト（ピーク・ツー・ピーク）の差動信号レベルである。ＯＯＢ信号は、ＡＬＩＧＮプリミティブのＯＯＢバースト間のアイドル時間の長さに基づき規定される。ＳＡＴＡは、ＣＯＭＩＮＩＴ、ＣＯＭＲＥＳＥＴ及びＣＯＭＷＡＫＥの各ＯＯＢ信号を規定する。
【００１５】
同期ロス（ＬＯＳ）を検出すると、ＳＡＴＡホスト又はＳＡＴＡ装置は、ＯＯＢ（Ｏｕｔ−Ｏｆ−Ｂａｎｄ）シーケンス化を開始するかもしれない。ＳＡＴＡホストの物理レイヤは、ＣＯＭＲＥＳＥＴのＯＯＢ信号を発信することによって、ＯＯＢシーケンス化を開始する。ＳＡＴＡホストに接続されるＳＡＴＡ装置は、ＣＯＭＩＮＩＴのＯＯＢ信号を発信することによって、ＯＯＢシーケンス化を開始する。ＳＡＴＡホストにより発信されるＣＯＭＲＥＳＥＴのＯＯＢ信号は、すべての内部状態をリセットする。
【００１６】
ＳＡＴＡホスト／装置に対するＯＯＢシーケンスでは、ＳＡＴＡ装置は、ＳＡＴＡホストから受信されるＣＯＭＲＥＳＥＴのＯＯＢ信号に応答して、ＣＯＭＩＮＩＴのＯＯＢ信号により応答する。その後、ＳＡＴＡホストとＳＡＴＡ装置は、ＣＯＭＷＡＫＥのＯＯＢ信号を交換する。ＣＯＭＲＥＳＥＴのＯＯＢ信号がＳＡＴＡホストから発信され、ＳＡＴＡ装置においてハードリセットが強制される。ＳＡＴＡホストがＣＯＭＲＥＳＥＴのＯＯＢ信号をリリースした後、ＳＡＴＡ装置は、ＳＡＴＡホストにＳＡＴＡ装置との通信を再初期化させるＣＯＭＩＮＩＴを発信する。ＳＡＴＡ装置はまた、ＳＡＴＡホストからハードリセットを要求するためのＣＯＭＩＮＩＴのＯＯＢ信号を発信するようにしてもよい。
【００１７】
図１は、ＳＡＴＡホストとＳＡＴＡ装置との間のＳＡＴＡリンク上のノイズ又は同期ロスによる同期（ｓｙｎｃ）外れ期間と同期回復期間とのパターンを示す。ＳＡＴＡ装置は、ディスクドライブ、フラッシュカード、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）ドライブ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｄｉｓｋ）ドライブ又はテープドライブであるかもしれない。ＳＡＴＡホストとＳＡＴＡ装置との間のリンクは、同期回復期間中はＳＡＴＡホストとＳＡＴＡ装置との間で交換可能な制御及びデータによって安定的である。
【００１８】
典型的には、同期外れ期間が検出されると、プロセッサに同期ロス状態を処理するよう通知するため、インタラプトが発せられるかもしれない。各インタラプトは、プロセッサ処理サイクルを利用し、他のリンク／レーン上の他のＳＡＴＡ装置のためのタスク処理を取り扱うのに利用可能な処理サイクルを減少させる。
【００１９】
ノイズ／故障による一時的に不安定な期間中における物理リセットシーケンスの開始を最小限にするため、各ホスト装置は、“同期ロス”期間を追跡するため装置に固有のタイムアウトタイマーを規定する。簡単化のため、それは同期ロス（ＬＯＳ）タイマーとして規定される。ＬＯＳタイマーは、最初の同期外れ期間を検出すると、デフォルトの一定の期間（ＬＯＳ期間）Ｔ１に設定される。ノイズ又は一時的な同期ロスによる同期外れ期間は、典型的には、Ｔ１期間中に生じる。このため、リンク上のすべての通信は、Ｔ１期間中は不可とされる。ノイズによる誤ったアラームを自動的にフィルタリングすることによって、インタラプトの回数を減少させることができ、これにより、他のレーンのタスク処理を処理するための処理サイクルをより多く提供することができる。
【００２０】
図１を参照するに、同期外れ１００ａ，１００ｂ及び１００ｃは、Ｔ１期間中には無視される。しかしながら、一定のＬＯＳ期間は、典型的には、必要以上に長くなり、ＳＡＴＡホストとＳＡＴＡ装置との間のＳＡＴＡリンク上のスループットを低下させる。例えば、ＳＡＴＡリンク上の通信は、Ｔ１期間中に同期外れ期間１００ａが１つしかない場合であっても、Ｔ１では不可とされる。
【００２１】
図２は、本発明の原理によるノイズフィルタリングシステム２３２の実施例を含むシステム２００のブロック図である。システム２００は、中央処理ユニット（ＣＰＵ）２０１と、ＭＣＨ（Ｍｅｍｏｒｙ  Ｃｏｎｔｒｏｌｌｅｒ  Ｈｕｂ）２０２と、ＩＣＨ（Ｉ／Ｏ  Ｃｏｎｔｒｏｌｌｅｒ  Ｈｕｂ）２０４とを有する。ＭＣＨ２０２は、ＣＰＵ２０１とメモリ２０８との間の通信を制御する。
【００２２】
ＣＰＵ２０１は、シングルコアＩｎｔｅｌ（登録商標）Ｐｅｎｔｉｕｍ  ＩＶ（登録商標）プロセッサ、シングルコアＩｎｔｅｌ  Ｃｅｌｅｒｏｎプロセッサ、ＸＳｃａｌｅ（登録商標）プロセッサ、Ｉｎｔｅｌ（登録商標）Ｐｅｎｔｉｕｍ（登録商標）  Ｄ、Ｉｎｔｅｌ（登録商標）Ｘｅｏｎ（登録商標）プロセッサ、又はＩｎｔｅｌ（登録商標）Ｃｏｒｅ（登録商標）Ｄｕｏプロセッサなどの複数のプロセッサの何れか１つ又は他のプロセッサであってもよい。
【００２３】
メモリ２０８は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｉｚｅｄ  ＤＲＡＭ）、ＤＤＲ２（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ  ２）ＲＡＭ、ＲＤＲＡＭ（Ｒａｍｂｕｓ  ＤＲＡＭ）又は他の何れかのタイプのメモリであるかもしれない。
【００２４】
ＩＣＨ２０４は、ＤＭＩ（Ｄｉｒｅｃｔ  Ｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）などの高速チップ・ツー・チップインターコネクト２１４を用いてＭＣＨ２０２に接続されてもよい。ＤＭＩは、２つの一方向レーンを介し２ギガビット／秒のコンカレント転送レートをサポートする。ＣＰＵ２０１とＭＣＨ２０２は、システムバス２１６を介し通信する。
【００２５】
ＩＣＨ２０４は、ＩＣＨ２０４に接続された記憶装置２３６との通信を制御するためのＳＡＴＡホストアダプタ（コントローラ又はホストバスアダプタ）２３０を有する。ホストアダプタ２３０は、ＳＡＴＡ環境において同期ロスを検出すると、物理リセットシーケンスを開始するか決定する前に、動的な遅延期間を提供するためＳＡＴＡプロトコルレイヤ（トランスポートレイヤ（ＴＬ）、リンクレイヤ（ＬＬ）、物理及びＯＯＢ状態マシーン）２３４と関連して動作するノイズフィルタリングシステム２３２の実施例を有する。
【００２６】
図３は、本発明の原理によるノイズフィルタリングシステムの実施例を含む図２に示されるホストアダプタ２３０の実施例のブロック図である。
【００２７】
ノイズフィルタリングシステムは、ＷＳＲ（Ｗａｉｔ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｒｅｃｏｖｅｒｙ）タイマー３０６とＬＯＳ（Ｌｏｓｓ  Ｏｆ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ）タイマー３０４とに接続されるノイズフィルタリング状態マシーン３０２を有する。ノイズフィルタリングシステム３０２は、ＳＡＴＡ環境において同期ロスを検出すると、物理リセットシーケンスを開始するか決定する前に、動的な遅延期間を提供するためＳＡＴＡプロトコルレイヤ（トランスポートレイヤ３０８、リンクレイヤ３１０、物理及びＯＯＢ状態マシーン３１２）と関連して動作する。
【００２８】
ノイズフィルタリングシステム２３０は、長いノイズ回復時間を大きく短縮する。同期ロスを検出すると、予想されないノイズ／故障がフィルタリング排除され、物理レイヤリセットシーケンスの開始が回避される。動的遅延期間は、ストレージ環境における同期ロスに応答して、装置のリセットを開始するか、又は通常動作を回復するか判断するため提供される。ノイズによる同期ロスの場合、動的遅延期間は、一定のＬＯＳ遅延期間の利用よりはるかに早く通常動作の再開を可能にする。
【００２９】
動的遅延期間は、シリアルストレージプロトコルアプリケーションにおいてノイズフィルタリングを実行する適応的な方法を提供する動的な“同期外れ”サンプリングシステムを介して提供される。これは、“同期外れ”サンプリングによるノイズの少ないインタラプトされた環境におけるシステムの回復期間が、すべての環境についてデフォルトの一定のＬＯＳ遅延を利用する変わりに、ノイズの大きなインタラプトされた環境におけるシステムより迅速に通常動作を再開することを可能にする。
【００３０】
図示された実施例では、ＬＯＳタイマー満了時間（ｅｘｐｉｒａｔｉｏｎ  ｔｉｍｅ）は、大部分のホスト装置において典型的に規定される時間に比較的に近く、またＷＳＲタイマー満了時間より実質的に長くなるよう選択される。ＷＳＲタイマー３０４（ナノ秒の範囲での時間を有する）は、ノイズフィルタリング状態マシーンと共に、デフォルトＬＯＳタイマー３０６（ミリ秒の範囲での時間を有する）により提供される通常動作を再開するための時間を大きく短縮する。
【００３１】
ノイズフィルタリング状態マシーン３０２は、記憶装置２３２からのノイズ／故障と同期ロスをモニタする（図２）。例えば、ＳＡＴＡインタフェースでは、同期ロスが物理レイヤにおけるＰＨＹＲＤＹ信号の状態により決定可能である。ＰＨＹＲＤＹ信号の状態は、物理レイヤがそれの受信機への入力信号との同期を維持し、それの送信装置を介し有効な信号を送信している。ＳＡＳインタフェースでは、ＤＷＳ（ＤＷＯＲＤ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｓｔａｔｅ  Ｍａｃｈｉｎｅ）ロストメッセージは、同期が失われたことを示す。ＤＷＳロストメッセージとＰＨＹＲＤＹ信号は、記憶装置からの同期ロスを示すのに利用可能である。
【００３２】
ノイズ／故障又は同期ロスを検出すると、ノイズフィルタリング状態マシーン３０２は、ＬＯＳタイマー３０４を有効にし、サスペンドリクエストをトランスポートプロトコルレイヤ３０８に送信し、規定されたすべての状態マシーンのアイドル又はデフォルト状態に遷移するリクエストをリンクプロトコルレイヤ３１０に送信する。同期ロスによって、ノイズフィルタリング状態マシーン３０２はまた、内部信号を物理ＯＯＢ状態マシーンに送信してもよい。例えば、一実施例では、内部信号はＳＡＴＡ仕様に規定されるＨＲＥＳＥＴ信号であってもよく、他の実施例では、内部信号はユーザにより規定された信号であってもよい。
【００３３】
トランスポートプロトコルレイヤ３０８がサスペンドされ、リンクプロトコルレイヤ３１０がアイドル状態４００にある場合が、図４に関して説明される状態図に示されるが、物理ＯＯＢ状態マシーン３１２は、ノイズフィルタリング状態マシーン３０２からのＯＯＢシーケンスをスタートさせるリクエストを待機する。ＯＯＢシーケンスは、装置ハードリセットを実行するため、ＣＯＭＲＥＳＥＴ信号を装置に発信させる。
【００３４】
ノイズフィルタリング状態マシーン３０２はまた、ＷＳＲタイマー３０６をスタートさせ、ＷＳＲタイマー３０６がＮ回満了したことをモニタする。ＷＳＲタイマー３０６がＮ回満了した後に同期ロスがない場合、各プロトコルレイヤの動作をサスペンドさせたトランスポートレイヤ３０８、リンクプロトコルレイヤ３１０及び物理ＯＯＢ状態マシーン３１２に対する信号をデアサートすることによって、通常動作が再開される。ＷＳＲタイマー３０６がＮ回満了した後、又はＬＯＳタイマー３０４がＷＳＲタイマー３０６がＮ回満了する前に満了した後に同期ロスがある場合、ノイズフィルタリング状態マシーン３０２は、スタートＯＯＢシーケンス化リクエストを物理ＯＯＢ状態マシーン３１２に送信し、リセット状態４０６に移行するリクエストをリンクプロトコルレイヤ３１０に送信し、リセットするリクエストをトランスポートプロトコルレイヤ３０８に送信する。
【００３５】
従って、ノイズフィルタリング状態マシーン３０２は、ホストバスアダプタ２３０（図２）がＯＯＢシーケンス化を開始し、予想しないノイズ又は外部の干渉によるＣＯＭＲＥＳＥＴ信号（装置に対するハードリセットである）を発信するのを回避する。さらに、ＷＳＲタイマー３０６の満了時間は、ＬＯＳタイマー３０４の満了時間よりはるかに短く、すべてのプロトコルレイヤがＬＯＳタイマーの満了時間を待機するよりはるかに速く通常動作を再開することが可能となる。
【００３６】
図４は、図３に示されるノイズフィルタリングの状態図である。図４は、図３に関して説明される。ノイズフィルタリング状態マシーン３０２は、アイドル４００、変更４０４、待機４０２及びリセット４０６の４つの状態を有する。ノイズフィルタリング状態マシーン３０２は、同期ロスが検出されるまで、アイドル状態４００において待機する。
【００３７】
同期ロスを検出すると、ノイズフィルタリング状態マシーン３０２は、変更状態４０４に入る。変更状態４０４に入ると、ノイズフィルタリング状態マシーン３０２は、アイドル状態４００に入るためのアイドル状態リクエストをリンクプロトコルレイヤ３１０に発信し、潜在的な同期ロスが検出されたことを示すためのサスペンドリクエストをトランスポートプロトコルレイヤ３０８に発信する。ノイズフィルタリング状態マシーン３０２からサスペンドリクエストを受信すると、トランスポートプロトコルレイヤ３０８は、図７に関して以降に説明される処理を実行する。ＬＯＳタイマー３０４は、“同期ロス”が単に故障又はノイズによるものである場合、ＣＯＭＲＥＳＥＴのＯＯＢ信号を発信するのを保留するためスタートされる。
【００３８】
また、ＷＳＲタイマー３１６が有効とされる。ＷＳＲタイマーの満了時間はＬＯＳタイマーの経過値よりはるかに短く、ＬＯＳタイマーの経過値に基づくチェックのみの場合より、早く断続的問題となるかチェックすることが可能となる。ＬＯＳタイマーが期限がきたことを検出すると、ノイズフィルタリング状態マシーン３０２はリセット状態４０６に移行する。ＷＳＲタイマー３１６の経過後に信号同期が回復したことを検出すると、ノイズフィルタリング状態マシーン３０２は待機［Ｎ］状態４０２に移行する。
【００３９】
待機［Ｎ］状態４０２は、Ｎ個の待機状態を有する。これらＮ個の待機状態のそれぞれにおいて、ＷＳＲタイマー３０６がスタートされ、ＷＳＲタイマーの期限が切れた後に信号同期がチェックされる。同期ロスが検出されない場合、ノイズフィルタリング状態マシーンは待機［Ｎ］状態４０２に留まり、次の連続する待機状態に移行する。同期ロスが検出された場合、ノイズフィルタリング状態マシーンは、同期ロスが検出されなくなるまで、変更状態４０４に戻る。ＷＳＲタイマー３０６が待機［Ｎ］状態４０２において期限が切れた後、同期ロスが検出されない場合、ノイズフィルタリング状態マシーン３０２は、アイドル状態４００に移行し、通常動作が再開される。Ｎ個の待機状態の１つにいる間にＬＯＳタイマー３０４が期限が切れた場合、ノイズフィルタリング状態マシーン３０２は、リセット状態４０６に移行する。
【００４０】
リセット状態４０６では、物理リセットシーケンスのＯＯＢシーケンスは、装置のハードリセットを実行するよう初期化される。ＯＯＢシーケンスが終了した後、ノイズフィルタリング状態マシーン３０２はアイドル状態４００に移行する。
【００４１】
図５は、本発明の原理によるノイズフィルタリング状態マシーン３０２の実施例のフロー図である。図５は、図３，４，６に関連して説明される。
【００４２】
ブロック５００において、ノイズフィルタリング状態マシーン３０２は、ＬＯＳタイマー３０４とＷＳＲタイマー３０６の双方がクリア及び不可とされることによって、アイドル状態４００にある。図３に示されるＳＡＴＡプロトコルレイヤ３０８，３１０，３１２は、ＳＡＴＡ装置とホストとの間のＳＡＴＡインタフェースを介した通信を処理する。処理はブロック５０２に続く。
【００４３】
ブロック５０２において、装置のホットアンプラグ（リムーバル）又は装置のホットプラグによるノイズ又は故障（誤った電子信号）による同期ロスがある場合、処理はブロック５０４に続く。同期ロスは、典型的には、ＰＨＹＲＤＹ信号などを介し、物理レイヤを通じて検出される。また、ＲＤ（Ｒｕｎｎｉｎｇ  Ｄｉｓｐａｒｉｔｙ）エラー、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）エラー、１０ｂ・ツー・８ｂデコードエラー、無効なｄｗｏｒｄエラーなどのエラーが、可能性のある同期ロスを示すかもしれない。同期ロスが検出されない場合、処理はブロック５００に続く。
【００４４】
ブロック５０４において、ノイズフィルタリング状態マシーン３０２は、変更状態４０４に入る。変更状態４０４において、ＬＯＳタイマー３０４は、物理リセットシーケンスのスタートを遅延させるため、有効及びスタートされる。物理リセットシーケンスをスタートさせるためのＣＯＭＲＥＳＥＴ  ＯＯＢ信号の発信は、“同期ロス”が単に故障やノイズなどの短い期間を有する断続的問題によるものである場合、ＬＯＳタイマーの経過タイマーにより遅延される。ＷＳＲタイマー３０６が有効とされる、すなわち、これが変更状態４０４に入った最初のものであるかに応じてスタート又は再スタートされる。ＷＳＲタイマー３０６は、ＬＯＳタイマー３０４の満了時間よりはるかに短い満了時間に設定される。例えば、一実施例では、ＬＯＳタイマー３０４は、ミリ秒の範囲内の期間に設定され、ＷＳＲタイマーの満了期間は１０〜１００ナノ秒の範囲内にある。ＷＳＲタイマーが終了した後、処理はブロック５０６に続く。
【００４５】
ブロック５０６において、ｄｗｏｒｄ同期が回復された場合、処理はブロック５０８に続く。例えば、図１に示されるように、同期ロスが短時間の間、すなわち、同期外れ期間又は“不良期間”であるかもしれないノイズにより引き起こされる場合、この“不良期間”が同期回復期間又は“良好期間”に続く。ノイズがもはや存在しないことを保証するため、Ｎ個のＷＳＲタイマー満了期間においてさらなるチェックが実行される。
【００４６】
図６は、ＬＯＳタイマー３０４とＷＲＳタイマー３０６の満了時間を示すタイミング図である。図６を参照するに、時点６００において、同期ロスがあり、ノイズフィルタリング状態マシーン３０２が変更状態４０４に入り、ＬＯＳタイマー３０４とＷＳＲタイマー３０６がクリア及び有効とされる。
【００４７】
図５を参照するに、ブロック５０６において、ｄｗｏｒｄ同期が回復された場合、又はＮ回のＷＳＲタイマー満了期間の間に“不良期間”が出現した場合、ｄｗｏｄ同期を再チェックする前にもう１回ＷＳＲタイマー満了期間を待機するため、ＷＳＲタイマー３０６を再スタートさせるよう処理はブロック５０６に続く。
【００４８】
図６を参照するに、ＷＳＲタイマー３０６が時点６０２において期限が切れるとき、同期はまだ回復されておらず、このため、ノイズフィルタリング状態マシーンは変更状態４０４に留まり、ＷＳＲタイマー３０６を再スタートさせる。
【００４９】
図５を参照するに、ブロック５０８において、ノイズフィルタリング状態マシーン３０２は待機状態１に入る。図６を参照するに、時点６０４において、同期が回復されている。図５を参照するに、待機状態１において、ノイズフィルタリング状態マシーン３０２はＷＳＲタイマー３０６を再スタートさせる。処理はブロック５１０に続く。
【００５０】
ブロック５１０において、ｄｗｏｒｄ同期が回復されている場合、処理は、待機状態２に入るためブロック５１２に続く。同期が失われている場合、ノイズフィルタリング状態マシーン３０２がもう１つのＷＳＲタイマー満了期間を待機するため変更状態４０４に戻ることによって、処理はブロック５０４に続く。
【００５１】
ブロック５１２において、ノイズフィルタリング状態マシーン３０２は待機状態２に入る。待機状態２において、ノイズフィルタリング状態マシーン３０２はＷＳＲタイマーを再スタートさせる。処理は、ブロック５１４に続く。
【００５２】
ブロック５１４において、ｄｗｏｒｄ同期が回復されている場合、処理は、次の待機状態に入るためブロック５１６に続き、図示された実施例では、次の待機状態は待機状態Ｎである。ＷＳＲタイマー３０６が最後に満了してから同期が失われた場合、処理は、ＷＳＲタイマー３０６が再び満了するまで待機するため、ノイズフィルタリング状態マシーン３０２を変更状態４０４に戻すことによって、ブロック５０４に続く。
【００５３】
ブロック５１６において、ノイズフィルタリング状態マシーン３０２は、待機状態Ｎに入り、ＷＳＲタイマー３０６を再スタートさせる。処理は、ブロック５１８に続く。
【００５４】
ブロック５１８において、ｄｗｏｒｄ同期が回復期間、すなわち、Ｎ個の待機状態の間に、各待機状態がＷＳＲタイマー満了期間を待機することによって回復されたか判断するため、チェックが行われる。パフォーマンスを最適化するための状態数（Ｎ）が、装置が設置されているシステムのタイプに基づき動的に選択されるかもしれない。
【００５５】
例えば、典型的には、サーバシステムはモバイルシステムより良好な装置のホットプラグ／リムーバルのためのメカニカル設計を有する。サーバシステムのホットプラグ／リムーバルアプリケーションでは、ディスクはキャニスタ又はキャリアに固定され、ホットプラグ又はリムーバルを実行する際にコネクタとの直接的な物理的接触がなされる場合よりノイズが小さくなる可能性のあるストレージシステムのバックプレーンに挿入／抽出されるようにしてもよい。モバイルシステムでは、より大きな干渉を受ける可能性があるため、より多数の待機状態が要求されるかもしれない。従って、サーバシステムでは、選択された待機状態の個数（Ｎの値）は、モバイルシステムより小さくなるかもしれない。
【００５６】
その場合、同期ロスを引き起こす信号が安定化され、ｄｗｏｒｄ同期が回復されている。ＳＡＴＡインタフェースでは、ＰＨＹＲＤＹの状態から物理レイヤによって、ｄｗｏｒｄ同期が決定されてもよい。ＳＡＳインタフェースでは、ｄｗｏｒｄ同期の回復は、ＤＷＳ（Ｄｗｏｒｄ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｓａｔｅ  Ｍａｃｈｉｎｅ）リセットメッセージによって示されるかもしれない。ノイズフィルタリング状態マシーン３０２は、アイドル状態４００へのブロック５００に戻り、ＬＯＳタイマー３０４とＷＳＲタイマー３０６の両方をクリア及び不可にし、すべてのＳＡＴＡプロトコルレイヤを通常動作に再開させる。
【００５７】
図６を参照するに、時点６０６において、同期が回復され、トランスポートプロトコルレイヤ３０８、リンクプロトコルレイヤ３１０及び物理ＯＯＢ状態マシーン３１２が、時点５０８におけるＬＯＳタイマーの満了を待機するよりはるかに早く通常動作に戻る。図５を参照するに、Ｎ個の待機状態の後に同期ロスが検出された場合、処理はブロック５０４に続く。
【００５８】
ブロック５２０において、ノイズフィルタリング状態マシーン３０２は、ＬＯＳタイマー３０４が満了したかチェックする。ＬＯＳタイマー３０４が満了した場合、同期ロスはノイズ、故障又は装置リムーバルによる一時的なものでない可能性があり、物理リセットシーケンスが同期を回復させるため求められるかもしれない。ＬＯＳタイマー３０４が満了した場合、物理リセットシーケンスをスタートさせるため、処理はブロック５２２に続く。ＬＯＳタイマー３０４が満了していない場合、処理はブロック５２０に続く。
【００５９】
ブロック５２２において、回復できない同期ロスが存在する。ノイズフィルタリング状態マシーン３０２は、リセット状態４０６に入り、ＯＯＢシーケンス化をスタートし、ＣＯＭＲＥＳＥＴのＯＯＢ信号を装置に発信するリクエストを物理ＯＯＢ状態マシーン３１２に発信する。リセット状態４０６に入ると、ノイズフィルタリング状態マシーン３０２は、各自のリセット状態に入るリクエストをリンクプロトコルレイヤ３１０とトランスポートプロトコルレイヤ３０８に発信する。処理は、ＬＯＳタイマー３０４とＷＳＲタイマー３０６の両方をリセット（クリア）するため、ブロック５００に続く。
【００６０】
図６に関して説明されるノイズフィルタリング状態マシーン３０２におけるＮ個の待機状態は、回復のための最小の期間を測定するための実施例の一例である。他の実施例では、Ｎ個の待機状態は、ＷＳＲタイマー３０６が満了する度にカウンタがインクリメントされることによって、カウンタを用いて実現されてもよい。このカウンタは、それが満了値に到達するまで、ＷＳＲタイマーが満了する度にインクリメントされ続ける。カウンタがデフォルトカウントになく、同期ロスが再び検出される間、カウンタはデフォルトカウントにリセットされる。
【００６１】
図７は、同期ロス中にＳＡＴＡフレームとＦＩＳの処理をサスペンドするため、ＳＡＴＡプロトコルのトランスポートプロトコルレイヤ３０８により実行される方法の実施例を示すフロー図である。
【００６２】
ブロック７００において、トランスポートプロトコルレイヤ３０８は、ノイズフィルタリング状態マシーン３０２からサスペンドリクエストを受信するのを待機する。サスペンドリクエストが受信された場合、処理はブロック７０２に続く。
【００６３】
ブロック７０２において、トランスポートプロトコルレイヤ３０８は、受信したＳＡＴＡフレーム／ＦＩＳ（Ｆｒａｍｅ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｔｒｕｃｔｕｒｅ）の処理を中止し、ＳＡＴＡフレーム／ＦＩＳの送信を中止する。処理はブロック７０４に続く。
【００６４】
ブロック７０４において、トランスポートプロトコルレイヤ３０８は、装置（リモートノード）に対して関連するすべてのコンテクスト及び情報を一時的にサスペンドする。処理は、ブロック７０６に続く。
【００６５】
ブロック７０６において、トランスポートプロトコルレイヤ３０８は、以前に記憶された“良好”な点に基づき、バッファオフセット、残りのデータ転送カウント、状態などの適切なタスクコンテクストを書き込むことによって、同期が回復された後にサスペンドされているタスクをリトライするため、以前に記録された“良好な点”にロールバックする。影響を受けた入出力（ＩＯ）タスク（処理）がリトライ可能でない場合、トランスポートプロトコルレイヤはＩＯタスクをアボートする。処理はブロック７０８に続く。
【００６６】
ブロック７０８において、トランスポートプロトコルレイヤ３０８は、ノイズフィルタリング状態マシーン３０２から“同期ロス回復”状態を待機する。同期が回復された場合、処理はブロック７１０に続く。そうでない場合、処理はブロック７１２に続く。
【００６７】
ブロック７１０において、トランスポートプロトコルレイヤ３０８は、ドライバなどの上位レイヤにアボートされたＩＯタスクを再開し、装置（リモートノード）との通信を再開し、通常処理を継続するよう通知する。
【００６８】
ブロック７１２において、ノイズフィルタリング状態マシーン３０２から回復された“リセット”リクエストにより示されるように、同期は回復されなかった。トランスポートプロトコルレイヤ３０８は、装置ドライバなどの上位レイヤに当該イベントを通知し、物理ＯＯＢ状態マシーンによりリセットされるリモートノードのキュー及びリソースをクリーンアップする。
【００６９】
ノイズフィルタリングシステムは、現在の通信が一時的にサスペンドされ、リンク及びトランスポートプロトコルレイヤが適切なアクションをとるよう通知し、ファームウェアが破損したＩＯタスクをリトライするよう通知する。システムパフォーマンスは、ノイズフィルタリングシステムとトランスポートプロトコルレイヤ及びリンクプロトコルレイヤとの間にインタフェースを設けることによって増大し、これにより、一時的な同期ロスによるインタラプトの回数が減少される。同期ロスにより影響を受けないＩＯタスクは、同期回復後に再開されてもよい。存在する場合、損傷したＩＯタスクのみがアボートされているため、ノイズ又は外部の干渉により影響を受けない他のタスクは、ホストシステムにより処理され続ける。
【００７０】
ノイズフィルタリングシステムは、ホットスワップ、すなわち、装置のホットアンプラグ（ホットリムーバル）と装置のホットプラグの両方のイベントをサポートするのに利用されるかもしれない。ホットスワップ又はホットプラグは、ホストシステムの動作中にホストシステムから記憶装置などの装置を削除又は置換することを可能にする。記憶装置は、ホストシステムの以降のリブートを必要とすることなく、ホストシステムにプラグインされてもよく、又はホストシステムからアンプラグされてもよい。ホットスワップを含むシリアルストレージプロトコルは、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ及びＳＡＴＡを含む。
【００７１】
図８は、装置のホットリムーバルのケースにおけるＳＡＴＡ物理インタフェースの状態を示す。時点８００において、ＳＡＴＡインタフェースは同期して、通常動作する。時点８０２において、インタフェース分離期間が始まる。インタフェース分離期間中、ノイズが導入され、信号同期が交互に“オン”と“オフ”とされるかもしれない。図３に関して示されるノイズフィルタリング状態マシーンは、ホストがＣＯＭＲＥＳＥＴのＯＯＢ信号をＳＡＴＡ装置に早く発信しすぎることを回避する。時点８０４において、装置が削除されると、信号ロスが検出される。
【００７２】
図９は、装置のホットプラグのケースにおけるＳＡＴＡ物理インタフェースの状態を示す。時点９００において、装置はホストシステムに付属されていないため、ＳＡＴＡインタフェースを介し受信される信号はない。時点９０２において、インタフェース加入期間が始まる。インタフェース加入期間中、ノイズが導入され、信号同期が交互に同期と同期外れとされるかもしれない。ノイズフィルタリング状態マシーン３０２は、インタフェース加入期間中のインタラプトを回避する。時点９０４において、信号は、ＰＨＹＲＤＹ信号により示されるように同期され、すなわち、ＤＷＯＲＤ同期があり、ＳＡＴＡインタフェースは通常動作する。
【００７３】
ホットプラグ又はホットリムーバル動作中、故障又はノイズが生成されるかもしれない。例えば、ＳＡＴＡのＢＩＳＴ（Ｂｕｉｌｔ  ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）モードは、ＳＡＴＡ装置をテストするため利用されるかもしれない。ＳＡＴＡのＢＩＳＴモードは、ＣＯＭＲＥＳＥＴの受信又は電力ロスとなるまで、ＳＡＴＡ装置がＳＡＴＡのＢＩＳＴモードに留まることを求める。しかしながら、ＳＡＴＡ装置がＳＡＴＡのＢＩＳＴモードにある間、ＳＡＴＡ装置はシステムからアンプラグされ、装置の必要な測定を実行するため、テスト装置がシステムにプラグインされるかもしれない。装置のリムーバル処理中、ＳＡＴＡコネクタに接触すると、故障が生じるかもしれない。典型的には、ホストバスアダプタは、同期ロスとしてノイズを検出し、ＣＯＭＲＥＳＥＴを発信するかもしれない。残念ながら、ＳＡＴＡ装置は、装置リムーバルの終了前にＣＯＭＲＥＳＥＴを受信するかもしれず、これにより、装置がＳＡＴＡのＢＩＳＴモードから抜け出し、ＳＡＴＡ装置をテストすることが困難になる。
【００７４】
ＳＡＴＡシステムにおける装置ホットリムーバルイベントでは、ノイズフィルタリングシステムは、ＳＡＴＡホスト又はＳＡＴＡ装置がＣＯＭＲＥＳＥＴなどのＳＡＴＡのＯＯＢ信号を早く発信しすぎることを回避するかもしれない。装置ホットプラグイベントでは、ホットプラグイン処理におけるノイズによる動的に調整された待機期間は、より少ない誤った同期検出を提供し、これにより、ホットプラグイベント中のファームウェアインタラプトを減少させる。
【００７５】
ＳＡＴＡホストバスアダプタとＳＡＴＡ装置との間の１つのＳＡＴＡリンクのノイズフィルタリングシステムの実施例が説明された。ホストバスアダプタは複数のＳＡＴＡ装置に接続され、ホストバスアダプタから各ＳＡＴＡ装置への複数のＳＡＴＡリンクを接続するため、標準的なケーブル／コネクタアセンブリが利用可能である。
【００７６】
図１０は、コネクタ上のピンの一部がコネクタ上の他のピンの前に挿入／削除される装置へのマルチレーンＳＡＴＡコネクタ１０００の挿入／抽出を示す。図６に示されるように、ケーブル１００６に接続されるルチレーンＳＡＴＡコネクタ１００は、装置１００４上のコネクタ１００２に９０度の角度では挿入又は抽出されないかもしれない。このため、コネクタ１００２上の一部のピン１００８はマルチレーンＳＡＴＡコネクタ１０００と確立された接触を有し、他のピン１００８は確立された接触を有しないかもしれない。これは、ＳＡＴＡレーンの一部におけるノイズを生じさせ、その他のＳＡＴＡレーンにはノイズを生じさせない。
【００７７】
図１１は、複数のＳＡＴＡレーンの状態をモニタする中央モニタを有するシステムのブロック図である。図１１に示されるように、ノイズフィルタリングシステムが、図３に関して説明されるように各レーン上のノイズ及び故障をモニタするため設けられる。
【００７８】
中央モニタ１１００は、各ノイズフィルタリングシステムが各ＳＡＴＡ装置に関連付けされる複数のノイズフィルタリングシステム１１０２−１，１１０２−２，．．．，１１０２−Ｎからの信号状態をモニタする。中央モニタ１１００は、すべてのレーンがホットプラグイベントのケースにおいて“検出された信号”を有するとき、又はホットリムーバルイベントのケースにおいて“失われた信号”を有するときを決定する。
【００７９】
ホットプラグイベント又はホットリムーバルイベントを検出すると、中央モニタ１１００は、検出されたイベントに対して適切な処理を実行する。例えば、中央モニタ１１００は、ファームウェアに装置との接続が挿入又は固定された、又は装置との接続が各接続を抽出することにより削除されたことを通知するかもしれない。中央モニタ１１００の使用を通じて、ホットプラグ／ホットリムーバルがまた、ＳＡＳワイドポートとパラレルＡＴＡインタフェースなどのマルチピン／ポート構成によりサポートされる。
【００８０】
大部分のホスト装置は、装置のハードリセットを実行するためＯＯＢ信号を発信する前に、同期ロスによる装置に固有の一定の待機時間を規定する。ノイズフィルタリングシステムは、この一定の待機時間を減少させることによって、長時間のノイズ回復時間を大きく短縮する。潜在的な時間の節約は、選択されたノイズインタラプション期間に応じて、ミリ秒から秒の範囲まで可能である。
【００８１】
本発明がＳＡＴＡプロトコルを用いた実施例に対して説明されたが、本発明はＳＡＴＡプロトコルに限定されるものでない。本発明の実施例は、ホットプラグ／ホットリムーバルが使用される、及び／又はノイズのあるフィルタリングの要求が存在する同様のアプリケーションに利用されるかもしれない。
【００８２】
例えば、本発明は、ＳＡＳ、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ（ＦＣ）、パラレルＡＴＡ、パラレルＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）又は同様のプロトコルについて利用可能である。あるバージョンのＦＣプロトコルは、２００５年８月９日の仕様書のＡＮＳＩ規格Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  Ｐｈｙｓｉｃａｌ  ａｎｄ  Ｓｉｇｎａｌｉｎｇ  Ｉｎｔｅｒｆａｃｅ−２（ＦＣ−ＦＳ−２）に記載されている。
【００８３】
本発明の実施例に関する方法はコンピュータ利用可能な媒体を有するコンピュータプログラムプロダクトにより実現可能であることが、当業者に明らかになるであろう。例えば、このようなコンピュータ利用可能な媒体は、コンピュータ可読プログラムコードを格納するＣＤ  ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）ディスク、従来のＲＯＭ装置又はコンピュータディスケットなどの読み取り専用記憶装置から構成されるかもしれない。
【００８４】
本発明の実施例が特にそれらを参照して図示及び説明されたが、添付した請求項に含まれる本発明の実施例の範囲から逸脱することなく、形式及び詳細について各種変更が可能であることは当業者に理解されるであろう。
【図１】
2010501960.tif 000002
【図２】
2010501960.tif 000003
【図３】
2010501960.tif 000004
【図４】
2010501960.tif 000005
【図５】
2010501960.tif 000006
【図６】
2010501960.tif 000007
【図７】
2010501960.tif 000008
【図８】
2010501960.tif 000009
【図９】
2010501960.tif 000010
【図１０】
2010501960.tif 000011
【図１１】
2010501960.tif 000012
【国際調査報告】
2010501960.tif 000013
2010501960.tif 000014