(57)【要約】【課題】ホスト装置によらないで、正常に接続処理を行うことができるストレージ装置を提供する。【解決手段】ストレージ装置２は、タイミング制御部４と、接続処理部６とを有する。接続処理部６は、接続シーケンスに従ってホスト装置３との接続処理を行う。タイミング制御部４は、接続シーケンスの実行時間を制御する。タイミング制御部４は、接続シーケンスにおいてホスト装置３に対してホスト装置３との接続処理を行うための制御信号を送信し得るタイミングとなってから予め定められた設定時間が経過した後で、ホスト装置３に対して制御信号を送信するように、接続処理部６を制御する。【選択図】図１
2019101487.tif 000002
【特許請求の範囲】
【請求項１】
予め定められた接続シーケンスに従ってホスト装置との接続処理を行う接続処理部と、
前記接続シーケンスにおいて前記ホスト装置に対して前記ホスト装置との接続処理を行うための第１の制御信号を送信し得るタイミングとなってから予め定められた設定時間が経過した後で、前記ホスト装置に対して前記第１の制御信号を送信するように、前記接続処理部を制御するタイミング制御部と
を有するストレージ装置。
【請求項２】
前記ホスト装置から受信された第２の制御信号の精度を判定する信号判定部
をさらに有し、
前記タイミング制御部は、前記信号判定部によって前記第２の制御信号の精度が良好であると判定された場合に、前記設定時間が経過した後で、前記ホスト装置に対して前記第１の制御信号を送信するように、前記接続処理部を制御する
請求項１に記載のストレージ装置。
【請求項３】
前記ホスト装置との物理通信が確立したことを示す物理通信確立状態が喪失した場合に、予め定められた条件に応じて、前記第１の制御信号を再送信するように制御を行う再送信制御部
をさらに有する請求項２に記載のストレージ装置。
【請求項４】
前記再送信制御部は、前記ホスト装置からの信号が安定したと判定されたときに、前記第１の制御信号を再送信するように制御を行う
請求項３に記載のストレージ装置。
【請求項５】
前記設定時間は、前記ストレージ装置が接続され得るホスト装置ごとに設定されている
請求項１に記載のストレージ装置。
【請求項６】
前記ストレージ装置は、ＳＡＴＡ（Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）規格に従って、前記ホスト装置との間でデータを送受信し、
前記タイミング制御部は、前記ストレージ装置がＣＯＭＩＮＩＴを送信し得るタイミングとなってから前記設定時間が経過した後で、前記ＣＯＭＩＮＩＴを前記ホスト装置に送信するように、制御を行う
請求項１に記載のストレージ装置。
【請求項７】
前記ストレージ装置は、ＳＡＴＡ規格に従って、前記ホスト装置との間でデータを送受信し、
前記タイミング制御部は、前記ストレージ装置がＣＯＭＷＡＫＥを送信し得るタイミングとなってから前記設定時間が経過した後で、前記ＣＯＭＷＡＫＥを前記ホスト装置に送信するように、制御を行う
請求項１に記載のストレージ装置。
【請求項８】
前記ストレージ装置は、ＳＡＴＡ規格に従って、前記ホスト装置との間でデータを送受信し、
前記タイミング制御部は、前記ストレージ装置がＡＴＡ  Ｔａｓｋ  Ｒｅｇｉｓｔｅｒ情報を送信し得るタイミングとなってから前記設定時間が経過した後で、前記ＡＴＡ  Ｔａｓｋ  Ｒｅｇｉｓｔｅｒ情報を前記ホスト装置に送信するように、制御を行う
請求項１に記載のストレージ装置。
【請求項９】
前記タイミング制御部は、ハードウェア回路で構成されている
請求項１に記載のストレージ装置。
【請求項１０】
ホスト装置と、
前記ホスト装置と接続されるストレージ装置と
を有し、
前記ストレージ装置は、
予め定められた接続シーケンスに従って前記ホスト装置との接続処理を行う接続処理部と、
前記接続シーケンスにおいて前記ホスト装置に対して前記ホスト装置との接続処理を行うための第１の制御信号を送信し得るタイミングとなってから予め定められた設定時間が経過した後で、前記ホスト装置に対して前記第１の制御信号を送信するように、前記接続処理部を制御するタイミング制御部と
を有する
ストレージシステム。
【請求項１１】
前記ストレージ装置は、
前記ホスト装置から受信された第２の制御信号の精度を判定する信号判定部
をさらに有し、
前記タイミング制御部は、前記信号判定部によって前記第２の制御信号の精度が良好であると判定された場合に、前記設定時間が経過した後で、前記ホスト装置に対して前記第１の制御信号を送信するように、前記接続処理部を制御する
請求項１０に記載のストレージシステム。
【請求項１２】
前記ストレージ装置は、
前記ホスト装置との物理通信が確立したことを示す物理通信確立状態が喪失した場合に、予め定められた条件に応じて、前記第１の制御信号を再送信するように制御を行う再送信制御部
をさらに有する
請求項１１に記載のストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置及びストレージシステムに関し、例えばホスト装置と接続可能なストレージ装置及びストレージ装置を有するストレージシステムに関する。
【背景技術】
【０００２】
ドライブ装置等のストレージ装置は、それ自体が単独で使用されることはなく、ホスト装置（ホスト）と接続されて使用される。ストレージ装置としては、例えば、光ディスク記録再生装置及びハードディスク装置等のデバイスがある。ホスト装置としては、例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、レコーダー及びプレーヤー等がある。
【０００３】
ディスクから読み込んだデータのストレージ装置からホスト装置への送信、又は、ディスクに書き込むデータのストレージ装置におけるホスト装置からの受信は、インタフェース（Ｉ／Ｆ）を介して行われる。このようなインタフェース規格の一つとして、例えば、ＳＡＴＡ（Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ；シリアルＡＴＡ）がある。
【０００４】
この技術に関連し、特許文献１は、ホスト装置から送信された要求データに応じて、当該要求データによって要求された処理を実行するストレージ装置を開示する。特許文献１にかかるストレージ装置は、ストレージと、プロセッサと、代替処理部とを有する。プロセッサは、ストレージの制御を含む第１の処理と、ホスト装置から送信された要求データに応じて要求データに応答する応答データをホスト装置に送信する第２の処理と、を実行する。代替処理部は、ホスト装置から送信される要求データのうち、所定の要求データについて、プロセッサを代替して第２の処理を実行する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−１３３５１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ストレージ装置とホスト装置とを接続する際に、ホスト装置からの物理接続要求に対して、ストレージ装置はＳＡＴＡ規格で定められた物理接続シーケンスを実行する。このシーケンスの実行後、ストレージ装置からは、自身の動作準備ができたことを示す情報が送信される。ホスト装置は、受信された情報を認識して、ストレージ装置が制御可能と判断する。しかしながら、ＳＡＴＡ規格では、この物理接続シーケンスの実行後、動作準備完了を示す情報を送信するタイミングについて規定されていない。そして、ホスト装置ごとに、ストレージ装置から情報を適切に受信できるタイミングが異なることがある。このため、ホスト装置毎に、正常に接続処理が行われないおそれがある。
【０００７】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００８】
一実施の形態によれば、ストレージ装置は、予め定められた接続シーケンスに従ってホスト装置との接続処理を行う接続処理部と、前記接続シーケンスにおいて前記ホスト装置に対して前記ホスト装置との接続処理を行うための第１の制御信号を送信し得るタイミングとなってから予め定められた設定時間が経過した後で、前記ホスト装置に対して前記第１の制御信号を送信するように、前記接続処理部を制御するタイミング制御部とを有するストレージ装置である。
【０００９】
なお、上記実施の形態の装置を方法やシステムに置き換えて表現したもの、該装置または該装置の一部の処理をコンピュータに実行せしめるプログラム、該装置を備えた撮像装置なども、本態様としては有効である。
【発明の効果】
【００１０】
前記一実施の形態によれば、ホスト装置によらないで、正常に接続処理を行うことができる。
【図面の簡単な説明】
【００１１】
【図１】本実施の形態にかかるストレージシステムの概要を示す図である。
【図２】ＯＯＢシーケンスの手順を示す図である。
【図３】実施の形態１にかかるストレージシステムの構成図である。
【図４】実施の形態１にかかるタイマ制御回路の構成を示す図である。
【図５】実施の形態１にかかる信号監視回路の構成を示す図である。
【図６】実施の形態１にかかるストレージ装置の起動シーケンスにおける処理を示すフローチャートである。
【図７】実施の形態１にかかるＯＯＢシーケンス判定回路の処理を示すフローチャートである。
【図８】実施の形態１にかかる起動シーケンサ管理回路の処理を示すフローチャートである。
【図９】実施の形態２にかかるストレージシステムの構成図である。
【図１０】実施の形態２にかかるＰＨＹＲＤＹ喪失判定回路の構成を示す図である。
【図１１】実施の形態２にかかるストレージ装置の起動シーケンスにおける処理を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、実施形態について、図面を参照しながら説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【００１３】
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部または全部の変形例、応用例、詳細説明、補足説明等の関係にある。また、以下の実施の形態において、要素の数等（個数、数値、量、範囲等を含む）に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
【００１４】
さらに、以下の実施の形態において、その構成要素（動作ステップ等も含む）は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数等（個数、数値、量、範囲等を含む）についても同様である。
【００１５】
また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００１６】
説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、ＣＰＵ、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【００１７】
（実施の形態の概要）
本実施の形態の説明に先立って、本実施の形態の概要について説明する。
図１は、本実施の形態にかかるストレージシステム１の概要を示す図である。ストレージシステム１は、デバイスであるストレージ装置２とホストであるホスト装置３とを有する。ストレージ装置２及びホスト装置３は、例えばＳＡＴＡ規格のインタフェースによって相互に接続される。
【００１８】
ストレージ装置２は、ストレージを有するドライブ装置である。ストレージは、例えば、光ディスク、ハードディスク、又は、メモリ等である。つまり、ストレージ装置２は、例えば、光ディスクドライブ（ＯＤＤ；Ｏｐｔｉｃａｌ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ハードディスクドライブ（ＨＤＤ；Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ；）、又は、ソリッドステートドライブ（ＳＳＤ；Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等である。
【００１９】
ホスト装置３は、例えば、ＰＣ、レコーダー、プレーヤー、又は、ゲーム機器等である。ホスト装置３は、任意の処理を要求する制御信号をストレージ装置２に送信し、ストレージ装置２の実施結果を取得する装置である。また、ホスト装置３は、ＳＡＴＡ規格に準拠した接続シーケンスに応じて、ストレージ装置２との接続処理を行う。
【００２０】
ストレージ装置２は、ＳＡＴＡ規格に準拠した接続シーケンスに応じて、ホスト装置３との接続処理を行う。ストレージ装置２は、ホスト装置３から送信された制御信号（要求データ）に応じて、制御信号によって要求された接続処理等の処理を実行する。制御信号は、例えば、ＯＯＢ（Ｏｕｔ  Ｏｆ  Ｂａｎｄ）信号、Ａｌｉｇｎ及びＦＩＳ（Ｆｒａｍｅ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｔｒｕｃｔｕｒｅ）信号等である。ＯＯＢ信号は、例えば、ＣＯＭＲＥＳＥＴ、ＣＯＭＩＮＩＴ及びＣＯＭＷＡＫＥ等である。任意の処理を要求するＦＩＳは、例えば、ＡＴＡ／ＡＴＡＰＩコマンドを示すＦＩＳである。ストレージ装置２は、例えば、ホスト装置３からの要求に応じて、ストレージ装置２のリセットや、ストレージに対する読み書き等のＳＡＴＡ規格で規定された処理を実行する。
【００２１】
ストレージ装置２は、タイミング制御部４と、信号判定部５と、接続処理部６とを有する。接続処理部６は、接続シーケンスに従ってホスト装置３との接続処理を行う。タイミング制御部４は、接続シーケンスの実行時間を制御する。タイミング制御部４は、接続シーケンスにおいてホスト装置３に対してホスト装置３との接続処理を行うための制御信号（第１の制御信号）を送信し得るタイミングとなってから予め定められた設定時間が経過した後で、ホスト装置３に対して第１の制御信号を送信するように、接続処理部６を制御する。
【００２２】
信号判定部５は、ホスト装置３から受信された制御信号（第２の制御信号）の精度を判定する。タイミング制御部４は、信号判定部５によって第２の制御信号の精度が良好であると判定された場合に、設定時間が経過した後で、ホスト装置３に対して第１の制御信号を送信するように、接続処理部６を制御する。
【００２３】
ここで、ＳＡＴＡ規格では、３つの層によってデータを転送する制御が行われる。３つの層として、トランスポート層（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ）、リンク層（Ｌｉｎｋ  Ｌａｙｅｒ）及び物理層（ＰＨＹ  Ｌａｙｅｒ）が規定されている。トランスポート層は、ＦＩＳの生成、及び、順序（プロトコル）の制御を行う。リンク層は、伝送路のアービトレーション、フロー制御、並びに、ＦＩＳ及び制御コードのビット列への変換(８／１０ｂ変換)を行う。物理層は、ビット列をシリアル変換して転送する。つまり、実際の通信は、物理層において行われる。
【００２４】
ここで、ストレージ装置２とホスト装置３との間の動作について説明する。まず、物理層で行われる接続シーケンスについて説明する。
図２は、ＯＯＢシーケンスの手順を示す図である。まず、ホスト装置３が、「Ｈｏｓｔ  ＣＯＭＲＥＳＥＴ」信号を送信する。ストレージ装置２は、「Ｈｏｓｔ  ＣＯＭＲＥＳＥＴ」を受信すると、ホスト装置３に対して「Ｄｅｖｉｃｅ  ＣＯＭＩＮＩＴ」信号を送信する。ホスト装置３は、「Ｄｅｖｉｃｅ  ＣＯＭＩＮＩＴ」信号を受信すると、ストレージ装置２に対して「Ｈｏｓｔ  ＣＯＭＷＡＫＥ」信号を送信する。ストレージ装置２は、「Ｈｏｓｔ  ＣＯＭＷＡＫＥ」信号を受信すると、ホスト装置３に対して「Ｄｅｖｉｃｅ  ＣＯＭＷＡＫＥ」信号を出力する。この後、ホスト装置３とストレージ装置２とで互いにＡｌｉｇｎ期間に同期を取り、データ転送が始まる。
【００２５】
なお、ＯＯＢシーケンスでは、信号が存在する「バースト区間」と、信号が存在しない「スケルチ区間」とに分かれる。ＯＯＢ信号の検出は、「バースト区間」と「スケルチ区間」とを検出することで行なわれる。このＯＯＢシーケンスでは、ホスト装置３及びストレージ装置２のどちらかから、相手側に対してＯＯＢ信号に応じた特定のパターン（ＯＯＢパターン）を送信する。受信側では送信されてきたＯＯＢパターンを認識して、ＯＯＢ信号を特定する処理が行われる。
【００２６】
次に、トランスポート層で行われる動作について説明する。ストレージ装置２は、トランスポート層で管理されるＦＩＳの種類によって、その動作が制御される。ＦＩＳが送信中か、又は、受信中か等の管理は、リンク層において、プリミティブ（Ｐｒｉｍｉｔｉｖｅ）と呼ばれる制御コードによって行われる。
具体的に、ストレージ装置２とホスト装置３との間におけるＦＩＳの送受信例について説明する。ここでは、ホスト装置３からストレージ装置２にＦＩＳを送信する場合について説明する。
【００２７】
ＦＩＳの転送が行われる前は、ホスト装置３とストレージ装置２との間で、ＳＹＮＣ  Ｐｒｉｍｉｔｉｖｅが送受信されている。ＳＹＮＣ  Ｐｒｉｍｉｔｉｖｅは、バスがアイドル状態であることを示すプリミティブである。ホスト装置３は、ＦＩＳを送信する場合、ＦＩＳの送信要求となるＸ＿ＲＤＹ  Ｐｒｉｍｉｔｉｖｅをストレージ装置２に送信する。ストレージ装置２は、ホスト装置３からＸ＿ＲＤＹ  Ｐｒｉｍｉｔｉｖｅを受信した場合、ＦＩＳの受信許可を通知するＲ＿ＲＤＹ  Ｐｒｉｍｉｔｉｖｅをホスト装置３に送信する。これによって、ストレージ装置２が受信許可状態となるため、ホスト装置３は、ＦＩＳのストレージ装置２への送信を開始する。
【００２８】
ストレージ装置２は、ホスト装置３からＦＩＳを正常に受信した場合、Ｒ＿ＩＰ  Ｐｒｉｍｉｔｉｖｅをホスト装置３に送信する。これによって、ＦＩＳの送信が終了するため、ホスト装置３は、ＦＩＳの送信終了を通知するＷＴＲＭ  Ｐｒｉｍｉｔｉｖｅをストレージ装置２に送信する。ストレージ装置２は、ホスト装置３からＷＴＲＭ  Ｐｒｉｍｉｔｉｖｅを受信した場合、受信完了を通知するＲ＿ＯＫ  Ｐｒｉｍｉｔｉｖｅをホスト装置３に送信する。この後は、再び、ホスト装置３とストレージ装置２とで、ＳＹＮＣ  Ｐｒｉｍｉｔｉｖｅの送受信を開始する。そして、ホスト装置３及びストレージ装置２は、次のＦＩＳの送受信を待つことになる。
【００２９】
以上に、ホスト装置３からストレージ装置２にＦＩＳが送信される場合について説明したが、ＦＩＳの送信方向が変わった場合には、それに合わせて、上記の各プリミティブが逆方向に送信されることになる。
【００３０】
通常、ストレージ装置２は、ホスト装置３からのリセット及びＡＴＡ／ＡＴＡＰＩコマンド発行等の要求に応じて、要求されたデータやＡＴＡ  Ｔａｓｋ  Ｒｅｇｉｓｔｅｒの内容を示す情報（以下、「ＡＴＡ  Ｔａｓｋ  Ｒｅｇｉｓｔｅｒ情報」とする）をホスト装置３に送信する。このようなホスト装置３からの要求は、ＳＡＴＡ規格で定められた仕様に基づいて行われる。この仕様では、ホスト装置３は、ストレージ装置２からの応答を待って、ストレージ装置２に対する新たな要求を発行するものとして規定されている。
【００３１】
ここで、ＳＡＴＡ規格では、ストレージ装置２が制御信号（ＯＯＢ信号、ＦＩＳ信号等）を送信するタイミングについて規定されていない。したがって、ホスト装置３ごとに、ストレージ装置から制御信号を適切に受信できるタイミングが異なる可能性がある。したがって、各ホスト装置３において想定されていないタイミングでストレージ装置２から制御信号を受信しても、その信号を正しく認識できないおそれがある。この結果、ホスト装置３及びストレージ装置２で扱うデータに齟齬が生じてしまい、ホスト装置３又はストレージ装置２が正常に動作できなくなってしまうというおそれがある。
【００３２】
これに対し、上記のように、本実施の形態にかかるストレージ装置２は、接続シーケンスにおいてホスト装置３に対してホスト装置３との接続処理を行うための制御信号を送信し得るタイミングとなってから予め定められた設定時間が経過した後で、ホスト装置３に対して第１の制御信号を送信するように、構成されている。これにより、ストレージ装置２は、ホスト装置３が第１の制御信号を適切に受信できるタイミングで、第１の制御信号を送信することができる。したがって、ストレージ装置２が適切にホスト装置３に認識され得る。よって、本実施の形態にかかるストレージ装置２は、正常に接続処理を行うことが可能となる。
【００３３】
また、上記のように、本実施の形態にかかるストレージ装置２は、ホスト装置３から受信された第２の制御信号の精度が良好であると判定された場合に、設定時間が経過した後で、ホスト装置３に対して第１の制御信号を送信するように構成されている。これにより、ストレージ装置２は、正しい制御信号に応じた処理を行うことができる。したがって、ストレージ装置２が適切にホスト装置３に認識され得る。よって、本実施の形態にかかるストレージ装置２は、正常に接続処理を行うことが可能となる。
【００３４】
（実施の形態１）
次に、実施の形態１について説明する。
図３は、実施の形態１にかかるストレージシステム１の構成図である。ストレージシステム１は、ストレージ装置２及びホスト装置３を有する。ストレージ装置２は、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）１０、メモリ１１、ドライバ１２及びメカユニット１３を有する。ＬＳＩ１０は、ＣＰＵ２０及びＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）２１を有する。ＤＳＰ２１は、ＯＯＢシーケンス判定回路３０、プリミティブ・ＦＩＳ送信／受信制御回路３１、起動シーケンサ管理回路３２、タイマ制御回路４０、及び信号監視回路５０を有する。なお、本実施の形態では、ストレージ装置２が光ディスクドライブである場合について例示する。しかしながら、ストレージ装置２は光ディスクドライブに限定されない。
【００３５】
ＬＳＩ１０は、ＳＡＴＡ規格における制御で使用されるＡＴＡ  Ｔａｓｋ  Ｒｅｇｉｓｔｅｒ（図示せず）、ディスクから取得した信号に対する処理の機能、及び、メモリ制御用の機能等を有する。メモリ１１は、ＣＰＵ２０によって実行されるプログラム、ＣＰＵ２０が演算するデータ、ディスクから取得したデータ等が格納される。
【００３６】
ドライバ１２は、ＣＰＵ２０から出力された制御情報に基づいて、メカユニット１３を制御する。ドライバ１２は、メカユニット１３の制御内容を示す制御情報をメカユニット１３に出力することによって、メカユニット１３を制御する。ドライバ１２は、例えば、光ディスク（図示せず）に対するレンズの位置を制御する。メカユニット１３は、ＣＰＵ２０及びドライバ１２から出力された制御情報に基づいて、光ディスクに対するデータの読み書きを行う。
【００３７】
ＣＰＵ２０は、ホスト装置３に対してデータを送受信する処理、及び、光ディスクを制御する処理を実行する。ＣＰＵ２０は、ホスト装置３に対してデータを送受信する処理をＣＰＵ２０に実行させるプログラムと、光ディスクを制御する処理をＣＰＵ２０に実行させるプログラムと、を実行することによって、これらの処理を実行する。例えば、ＣＰＵ２０は、ホスト装置３からＡＴＡ／ＡＴＡＰＩコマンドを示すＦＩＳを受信した場合に、そのＦＩＳが示すＡＴＡ／ＡＴＡＰＩコマンドに応答するＦＩＳを生成してホスト装置３に送信する。具体的には、ＣＰＵ２０は、生成したＦＩＳと共に、生成したＦＩＳの送信を要求する制御情報をプリミティブ・ＦＩＳ送信／受信制御回路３１に出力することによって、プリミティブ・ＦＩＳ送信／受信制御回路３１からホスト装置３にＦＩＳを送信する。
【００３８】
また、ＣＰＵ２０は、メカユニット１３を制御する。ＣＰＵ２０は、メカユニット１３の制御内容を示す制御情報を、メカユニット１３に出力する。ＣＰＵ２０は、例えば、メカユニット１３によって光ディスクに対して照射される光の強度、レンズの傾きを調整する。
【００３９】
ＤＳＰ２１は、ストレージ装置２の起動シーケンスにおける処理、及び、データの送受信処理等を実行する。ＤＳＰ２１は、ＣＰＵ２０の処理を代替し得る。また、ＯＯＢシーケンス判定回路３０、プリミティブ・ＦＩＳ送信／受信制御回路３１、及び起動シーケンサ管理回路３２は、図１に示した接続処理部６に対応する。
【００４０】
ＯＯＢシーケンス判定回路３０は、ＯＯＢシーケンスの進行度合いを監視する。ＯＯＢシーケンス判定回路３０は、ＯＯＢシーケンスの進行度合いに応じて、ＯＯＢ信号及びＡｌｉｇｎを生成してホスト装置３に送信する。ＯＯＢシーケンス判定回路３０は、生成したＯＯＢ信号又はＡｌｉｇｎと共に、生成したＯＯＢ信号又はＡｌｉｇｎの送信を要求するＯＯＢ信号・プリミティブ情報を、プリミティブ・ＦＩＳ送信／受信制御回路３１に出力する。これにより、プリミティブ・ＦＩＳ送信／受信制御回路３１は、ホスト装置３に対して、ＯＯＢ信号又はＡｌｉｇｎを送信する。
【００４１】
プリミティブ・ＦＩＳ送信／受信制御回路３１は、ホスト装置３に対して、ＯＯＢ信号、プリミティブ及びＦＩＳ等のデータの送受信を行う。プリミティブ・ＦＩＳ送信／受信制御回路３１は、ＣＰＵ２０から出力された制御情報に基づいて、ＦＩＳをホスト装置３に送信する。プリミティブ・ＦＩＳ送信／受信制御回路３１は、ＯＯＢシーケンス判定回路３０から出力されたＯＯＢ信号・プリミティブ情報に基づいて、ＯＯＢ信号又はＡｌｉｇｎをホスト装置３に送信する。プリミティブ・ＦＩＳ送信／受信制御回路３１は、起動シーケンサ管理回路３２から出力されたＦＩＳ情報に基づいて、ＦＩＳをホスト装置３に送信する。
【００４２】
起動シーケンサ管理回路３２は、ストレージ装置２の起動シーケンスの進行度合いを監視する。起動シーケンサ管理回路３２は、ＯＯＢシーケンスの進行度合いに応じて、ストレージ装置２の動作モードの移行、ＦＩＳの生成、及び、生成したＦＩＳのホスト装置３への送信を実行する。起動シーケンサ管理回路３２は、生成したＦＩＳと共に、生成したＦＩＳの送信を要求するＦＩＳ情報をプリミティブ・ＦＩＳ送信／受信制御回路３１に出力する。これにより、プリミティブ・ＦＩＳ送信／受信制御回路３１は、ホスト装置３にＦＩＳを送信する。
【００４３】
ここで、シリアルＡＴＡのインタフェース規格においては、物理層で通信確立を実行した際、ＡＴＡ  Ｔａｓｋ  Ｒｅｇｉｓｔｅｒ情報がストレージ装置２からホストに送信される必要がある。この情報の送信の手順について説明する。まず、ホスト装置３から、シリアル信号が、プリミティブ・ＦＩＳ送信／受信制御回路３１に入力される。プリミティブ・ＦＩＳ送信／受信制御回路３１は、シリアル信号に対して１０ｂ／８ｂ変換を行い、プリミティブ／ＦＩＳの形式に変換する。さらに、プリミティブ・ＦＩＳ送信／受信制御回路３１は、変換された情報をＣＰＵ２０に通知する。ＣＰＵ２０は、通知された情報に応じて、ＡＴＡ／ＡＴＡＰＩプロトコルに沿った制御を、プリミティブ・ＦＩＳ送信／受信制御回路３１に対して行う。ＣＰＵ２０は、ＳＡＴＡ物理層でＯＯＢシーケンスの終了（ホストからのＡｌｉｇｎ受信）を判定する。この判定の結果、ＣＰＵ２０は、ＯＯＢシーケンスの終了を検出すると、プリミティブ・ＦＩＳ送信／受信制御回路３１を制御して、ホスト装置３に対してＡＴＡ  Ｔａｓｋ  Ｒｅｇｉｓｔｅｒ情報の送信を行う。
【００４４】
上記のように、ＯＯＢシーケンス判定回路３０は、ＯＯＢシーケンスの開始／終了の監視を行う。また、起動シーケンサ管理回路３２は、上記のように、ＯＯＢシーケンス判定回路３０による監視に関する情報（監視情報）を管理する。また、ホスト装置３は、監視情報に基づいて、ストレージ装置２と正常に接続できたか否かを判断する。そして、ホスト装置３は、ストレージ装置２との接続後の動作（ストレージ装置２への指令等）を制御する。
【００４５】
タイマ制御回路４０は、図１に示したタイミング制御部４に対応する。タイマ制御回路４０は、後述するように、接続シーケンスの実行時間を制御する。タイマ制御回路４０は、ストレージ装置２がＣＯＭＩＮＩＴを送信し得るタイミングとなってから、予め定められた待機時間（設定時間）が経過した後で、ＣＯＭＩＮＩＴをホスト装置３に送信するように、制御を行う。また、タイマ制御回路４０は、ストレージ装置２がＣＯＭＷＡＫＥ（Ａｌｉｇｎ，Ｓｙｎｃ  Ｐｒｉｍｉｔｉｖｅ）を送信し得るタイミングとなってから、予め定められた待機時間（設定時間）が経過した後で、ＣＯＭＷＡＫＥ（Ａｌｉｇｎ，Ｓｙｎｃ  Ｐｒｉｍｉｔｉｖｅ）をホスト装置３に送信するように制御を行う。言い換えると、タイマ制御回路４０は、ＯＯＢシーケンスの開始及び終了のタイミングを制御している。
【００４６】
さらに、タイマ制御回路４０は、ストレージ装置２がＡＴＡ  Ｔａｓｋ  Ｒｅｇｉｓｔｅｒ情報を送信し得るタイミングとなってから、予め定められた待機時間が経過した後で、ホスト装置３に対してＡＴＡ  Ｔａｓｋ  Ｒｅｇｉｓｔｅｒ情報を送信するように制御を行う。言い換えると、タイマ制御回路４０は、ＡＴＡ  Ｔａｓｋ  Ｒｅｇｉｓｔｅｒ情報の送信のタイミングを制御している。
【００４７】
図４は、実施の形態１にかかるタイマ制御回路４０の構成を示す図である。タイマ制御回路４０は、入力データ情報判断部４２、経過時間監視部４４、入力データ情報判断部４６、及び、経過時間監視部４８を有する。入力データ情報判断部４２及び経過時間監視部４４は、ＯＯＢシーケンスにおけるＣＯＭＩＮＩＴ及びＣＯＭＷＡＫＥの送信タイミングを制御する。入力データ情報判断部４６及び経過時間監視部４８は、ＡＴＡ  Ｔａｓｋ  Ｒｅｇｉｓｔｅｒ情報の送信タイミングを制御する。
【００４８】
入力データ情報判断部４２は、プリミティブ・ＦＩＳ送信／受信制御回路３１から、プリミティブ・ＦＩＳ情報を受信する。入力データ情報判断部４２は、プリミティブ・ＦＩＳ情報を受信した時間を示す時間情報を、経過時間監視部４４に出力する。また、入力データ情報判断部４２は、ＳＡＴＡ規格に従って、受信したプリミティブ・ＦＩＳ情報が適正なものであるか否かを判断する。入力データ情報判断部４２は、情報が適正であると判断された場合は、受信したプリミティブ・ＦＩＳ情報を、経過時間監視部４４に出力する。一方、入力データ情報判断部４２は、情報が適正でないと判断された場合は、ＳＡＴＡ規格に準拠したプリミティブ・ＦＩＳ情報を、経過時間監視部４４に出力する。
【００４９】
経過時間監視部４４は、受信されたプリミティブ・ＦＩＳ情報が適正な情報である場合であって、ホスト装置３からＣＯＭＲＥＳＥＴが送信されたことを示す場合、入力データ情報判断部４２から出力された時間情報に示された時間から、予め定められた設定時間Ｔ１が経過したかを監視する。設定時間Ｔ１は、ホスト装置３ごとに定められる待機時間である。設定時間Ｔ１は、ホスト装置３において、ＣＯＭＲＥＳＥＴを送信してからＣＯＭＩＮＩＴを受信できる期間に対応する。経過時間監視部４４は、設定時間Ｔ１が経過すると、ＣＯＭＩＮＩＴをホスト装置３に送信する旨を指示する制御指示情報を、プリミティブ・ＦＩＳ送信／受信制御回路３１に送信する。
【００５０】
また、経過時間監視部４４は、受信されたプリミティブ・ＦＩＳ情報が適正な情報である場合であって、ホスト装置３からＣＯＭＷＡＫＥが送信されたことを示す場合、入力データ情報判断部４２から出力された時間情報に示された時間から、予め定められた設定時間Ｔ２が経過したかを監視する。設定時間Ｔ２は、ホスト装置３ごとに定められる待機時間である。設定時間Ｔ２は、ホスト装置３において、ＣＯＭＷＡＫＥを送信してからデバイス側（ストレージ装置２）からのＣＯＭＷＡＫＥ（「Ｄｅｖｉｃｅ  ＣＯＭＷＡＫＥ」）を受信できる期間に対応する。経過時間監視部４４は、設定時間Ｔ２が経過すると、ＣＯＭＷＡＫＥをホスト装置３に送信する旨を指示する制御指示情報を、プリミティブ・ＦＩＳ送信／受信制御回路３１に送信する。
【００５１】
入力データ情報判断部４６は、起動シーケンサ管理回路３２から、シーケンス情報を受信する。入力データ情報判断部４６は、シーケンス情報を受信した時間を示す時間情報を、経過時間監視部４８に出力する。また、入力データ情報判断部４６は、ＳＡＴＡ規格に従って、受信したシーケンス情報が適正なものであるか否かを判断する。入力データ情報判断部４６は、情報が適正であると判断された場合は、受信したシーケンス情報を、経過時間監視部４８に出力する。一方、入力データ情報判断部４６は、情報が適正でないと判断された場合は、ＳＡＴＡ規格に準拠したシーケンス情報を、経過時間監視部４８に出力する。
【００５２】
経過時間監視部４８は、受信されたシーケンス情報が適正な情報である場合であって、ストレージ装置２がＡＴＡ  Ｔａｓｋ  Ｒｅｇｉｓｔｅｒ情報を送信し得るタイミングとなったことを示す場合、入力データ情報判断部４６から出力された時間情報に示された時間から、予め定められた設定時間Ｔ３が経過したかを監視する。設定時間Ｔ３は、ホスト装置３ごとに定められる待機時間である。設定時間Ｔ３は、ホスト装置３において、Ａｌｉｇｎを送信しデバイス側（ストレージ装置２）からＳＹＮＣ  Ｐｒｉｍｉｔｉｖｅ受信してから、ＡＴＡ  Ｔａｓｋ  Ｒｅｇｉｓｔｅｒ情報を受信できる期間に対応する。経過時間監視部４８は、設定時間Ｔ３が経過すると、ＡＴＡ  Ｔａｓｋ  Ｒｅｇｉｓｔｅｒ情報をホスト装置３に送信する旨を指示する制御指示情報を、起動シーケンサ管理回路３２に送信する。
【００５３】
なお、設定時間Ｔ１〜Ｔ３は、ストレージ装置２が接続され得るホスト装置３ごとに設定されている。したがって、設定時間Ｔ１〜Ｔ３は、ストレージ装置２が接続されるホスト装置３に応じて切り替え可能である。例えば、ストレージ装置２がホストＡに接続される場合の設定時間Ｔ１は、ホストＢに接続される場合の設定時間Ｔ１と異なり得る。したがって、本実施の形態にかかるストレージ装置２は、任意のホスト装置３と正常に接続可能となる。
【００５４】
また、図４に示したタイマ制御回路４０は、２つの入力データ情報判断部４２，４６と、２つの経過時間監視部４４，４８とを有するが、このような構成に限られない。入力データ情報判断部及び経過時間監視部は、それぞれ１つでもよい。この場合、１つの経過時間監視部は、異なる設定時間Ｔ１〜Ｔ３を記憶していている。なお、図４に示すように、ＯＯＢシーケンスにおけるＣＯＭＩＮＩＴ及びＣＯＭＷＡＫＥの送信タイミングと、ＡＴＡ  Ｔａｓｋ  Ｒｅｇｉｓｔｅｒ情報の送信タイミングとで、タイマ制御を行う構成要素を分けた方が、処理が簡素となり得る。
【００５５】
信号監視回路５０は、図１に示した信号判定部５に対応する。信号監視回路５０は、ホスト装置３から受信されたプリミティブ情報の信号の精度を判定する。例えば規格外のホスト装置３からプリミティブ情報を受信する際、信号のふらつきが発生する可能性がある。この信号がふらつく現象を、チャタリングという。信号にチャタリングが発生すると、信号の精度が劣化するため、信号を正確に検出できない。具体的には、信号にチャタリングが発生すると、信号の０，１を正確に判定できない。この結果、ホスト装置３及びストレージ装置２で扱うデータに齟齬が生じてしまい、ホスト装置３又はストレージ装置２が正常に動作できなくなってしまう可能性がある。
【００５６】
信号監視回路５０は、信号のチャタリングの判定を行う。信号監視回路５０は、ＯＯＢシーケンスの終了後、信号にチャタリングが発生している間は、ストレージ装置２がＡＴＡ  Ｔａｓｋ  Ｒｅｇｉｓｔｅｒ情報を送信しないように、プリミティブ・ＦＩＳ送信／受信制御回路３１を制御する。言い換えると、信号監視回路５０は、ＡＴＡ  Ｔａｓｋ  Ｒｅｇｉｓｔｅｒ情報の送信タイミングを制御している。
【００５７】
図５は、実施の形態１にかかる信号監視回路５０の構成を示す図である。信号監視回路５０は、入力データ保持部５２、信号パターンマッチング部５４、ジャンクデータ除去部５６、及び比較部５８を有する。入力データ保持部５２は、プリミティブ情報をプリミティブ・ＦＩＳ送信／受信制御回路３１から受信し、受信されたプリミティブ情報を保持する。
【００５８】
信号パターンマッチング部５４は、受信されたプリミティブ情報に関する信号パターンと予め記憶された信号パターンとのパターンマッチングを行い、信号が何の信号であるかを判定する。さらに、信号パターンマッチング部５４は、予め記憶された信号パターンとパターンマッチングを行うことで、信号の正当性（規格に準拠しているか否か）を判定する。これにより、信号パターンマッチング部５４は、より精度のよい信号を判定する。
【００５９】
ジャンクデータ除去部５６は、信号状況を安定させるために送信されたジャンクデータを除去する。比較部５８は、前回の入力データと今回の入力データとを比較する。そして、信号パターンマッチング部５４の判定の結果、精度が良好であると判定されなかった場合に、比較部５８は、前回のプリミティブ情報を、プリミティブ・ＦＩＳ送信／受信制御回路３１に送信する。一方、信号パターンマッチング部５４の判定の結果、精度が良好であると判定された場合に、比較部５８は、今回のプリミティブ情報、つまり良好な精度のプリミティブ情報を、プリミティブ・ＦＩＳ送信／受信制御回路３１に送信する。
【００６０】
次に、図６〜図８を参照して、実施の形態１にかかるストレージシステム１の処理について説明する。図６は、実施の形態１にかかるストレージ装置２の起動シーケンスにおける処理を示すフローチャートである。図７は、実施の形態１にかかるＯＯＢシーケンス判定回路３０の処理を示すフローチャートである。図８は、実施の形態１にかかる起動シーケンサ管理回路３２の処理を示すフローチャートである。
【００６１】
まず、ストレージ装置２及びホスト装置３は、相互に接続されて起動された場合、ＳＡＴＡの通信を確立するために、指定時間が経過した後（ステップＳ１２のＹＥＳ）、ＯＯＢシーケンスを開始する（ステップＳ１４）。そして、ストレージ装置２は、ホスト装置３においてＯＯＳシーケンスの実行が終了し得る状態となった後、指定時間が経過したか否かを判定する（ステップＳ１６）。
【００６２】
具体的には、ＯＯＢシーケンス判定回路３０は、ＯＯＢシーケンス管理番号がどのような値となっているかを判定する（ステップＳ１００）。ここでは、ＯＯＢシーケンス管理番号の初期値が”０”である場合について説明する。ＯＯＢシーケンス管理番号は、例えば、ＯＯＢシーケンス判定回路３０が有する記憶装置に格納される。記憶装置は、例えば、メモリ又はレジスタ等である。ＯＯＢシーケンス管理番号は、例えば、ストレージ装置２の起動時に、ＯＯＢシーケンス判定回路３０によって初期値に初期化される。
【００６３】
ＯＯＢシーケンス管理番号が”０”である場合、ＯＯＢシーケンス判定回路３０は、ＯＯＢシーケンスが開始されたか否かを判定する。具体的には、ＯＯＢシーケンス判定回路３０は、ホスト装置３からＣＯＭＲＥＳＥＴが送信されたか否かを判定する（ステップＳ１０１）。ホスト装置３からＣＯＭＲＥＳＥＴが送信されていない場合（Ｓ１０１のＮＯ）、ＯＯＢシーケンス判定回路３０は、ホスト装置３からＣＯＭＲＥＳＥＴが送信されたか否かの判定を継続して実行する（Ｓ１０１）。
【００６４】
一方、ホスト装置３からＣＯＭＲＥＳＥＴが送信された場合（Ｓ１０１のＹＥＳ）、タイマ制御回路４０は、設定時間Ｔ１が経過したか否かを判定する（Ｓ１２）。設定時間Ｔ１が経過していない場合（Ｓ１２のＮＯ）、タイマ制御回路４０は、ＣＯＭＩＮＩＴを送信しないで待機するように制御を行う。一方、設定時間Ｔ１が経過した場合（Ｓ１２のＹＥＳ）、タイマ制御回路４０は、ＣＯＭＩＮＩＴを送信するように制御を行う。
【００６５】
これにより、ＯＯＢシーケンス判定回路３０は、ＣＯＭＩＮＩＴをホスト装置３に送信する（ステップＳ１０２）。具体的には、ＯＯＢシーケンス判定回路３０は、ＣＯＭＩＮＩＴの送信を要求するＯＯＢ信号・プリミティブ情報をプリミティブ・ＦＩＳ送信／受信制御回路３１に出力する。プリミティブ・ＦＩＳ送信／受信制御回路３１は、ＯＯＢシーケンス判定回路３０からのＯＯＢ信号・プリミティブ情報に応じて、ＣＯＭＩＮＩＴをホスト装置３に送信する。ＯＯＢシーケンス判定回路３０は、起動シーケンス管理番号を”０”にする（ステップＳ１０３）。また、ＯＯＢシーケンス判定回路３０は、ＯＯＢシーケンス管理番号を”１”に更新する（ステップＳ１０４）。ＯＯＢシーケンス判定回路３０は、更新後の起動シーケンス管理番号及びＯＯＢシーケンス管理番号を、起動シーケンサ管理回路３２に出力する。
【００６６】
一方、起動シーケンサ管理回路３２は、起動シーケンス管理番号がどのような値となっているかを判定する（ステップＳ２００）。ここで、起動シーケンス管理番号の初期値が”０”である場合について説明する。起動シーケンス管理番号は、例えば、起動シーケンス管理番号が有する記憶装置に格納される。起動シーケンス管理番号は、例えば、ストレージ装置２の起動時や、ホストとの通信が確立した後、ホストとの通信が遮断された場合に、起動シーケンサ管理回路３２によって初期値に初期化される。
【００６７】
起動シーケンス管理番号が”０”である場合、起動シーケンサ管理回路３２は、ＯＯＢシーケンスが開始されたか否かを判定する（ステップＳ２０２）。具体的には、ＯＯＢシーケンス管理番号が”１”となったか否かを判定する。ＯＯＢシーケンス管理番号が”１”となっていない場合（Ｓ２０２のＮＯ）、起動シーケンサ管理回路３２は、ＯＯＢシーケンスが開始されたか否かの判定を継続して実行する（Ｓ２０２）。
【００６８】
一方、ＯＯＢシーケンス管理番号が”１”となった場合（Ｓ２０２のＹＥＳ）、起動シーケンサ管理回路３２は、本動作が通信確立判定処理であると認識し、起動シーケンス管理番号を”１”に更新する（ステップＳ２０３）。ここで、起動シーケンサ管理回路３２は、ＯＯＢシーケンス判定回路３０から”１”に更新されたＯＯＢシーケンス管理番号が出力された場合、ＯＯＢシーケンス管理番号が”１”となったと判定する。
【００６９】
Ｓ１０４の実行後、ＯＯＢシーケンス判定回路３０は、再び、ＯＯＢシーケンス管理番号を判定する（Ｓ１００）。ＯＯＢシーケンス管理番号が”１”である場合、ＯＯＢシーケンス判定回路３０は、ホスト装置３からＣＯＭＷＡＫＥが送信されたか否かを判定する（ステップＳ１０５）。ホスト装置３からＣＯＭＷＡＫＥが送信されていない場合（Ｓ１０５のＮＯ）、ＯＯＢシーケンス判定回路３０は、ホスト装置３からＣＯＭＷＡＫＥが送信されたか否かの判定を継続して実行する（Ｓ１０５）。
【００７０】
一方、ホスト装置３からＣＯＭＷＡＫＥが送信された場合（Ｓ１０５のＹＥＳ）、タイマ制御回路４０は、設定時間Ｔ２が経過したか否かを判定する（Ｓ１６）。設定時間Ｔ２が経過していない場合（Ｓ１６のＮＯ）、タイマ制御回路４０は、ＣＯＭＷＡＫＥを送信しないで待機するように制御を行う。一方、設定時間Ｔ２が経過した場合（Ｓ１６のＹＥＳ）、タイマ制御回路４０は、ＣＯＭＷＡＫＥを送信するように制御を行う。
【００７１】
これにより、ＯＯＢシーケンス判定回路３０は、ＣＯＭＷＡＫＥをホスト装置３に送信する（ステップＳ１０６）。具体的には、ＯＯＢシーケンス判定回路３０は、ＣＯＭＷＡＫＥの送信を要求するＯＯＢ信号・プリミティブ情報をプリミティブ・ＦＩＳ送信／受信制御回路３１に出力する。プリミティブ・ＦＩＳ送信／受信制御回路３１は、ＯＯＢシーケンス判定回路３０からのＯＯＢ信号・プリミティブ情報に応じて、ＣＯＭＷＡＫＥをホスト装置３に送信する。
【００７２】
また、ＯＯＢシーケンス判定回路３０は、Ａｌｉｇｎをホスト装置３に送信する（ステップＳ１０７）。具体的には、ＯＯＢシーケンス判定回路３０は、Ａｌｉｇｎの送信を要求するＯＯＢ信号・プリミティブ情報をプリミティブ・ＦＩＳ送信／受信制御回路３１に出力する。プリミティブ・ＦＩＳ送信／受信制御回路３１は、ＯＯＢシーケンス判定回路３０からのＯＯＢ信号・プリミティブ情報に応じて、Ａｌｉｇｎをホスト装置３に送信する。そして、ＯＯＢシーケンス判定回路３０は、ＯＯＢシーケンス管理番号を”２”に更新する（ステップＳ１０８）。ＯＯＢシーケンス判定回路３０は、更新後のＯＯＢシーケンス管理番号を起動シーケンサ管理回路３２に出力する。
【００７３】
ＯＯＢシーケンス判定回路３０は、再び、ＯＯＢシーケンス管理番号を判定する（Ｓ１００）。ＯＯＢシーケンス管理番号が”２”である場合、ＯＯＢシーケンス判定回路３０は、ホスト装置３からＡｌｉｇｎが送信されたか否かを判定する（ステップＳ１０９）。ホスト装置３からＡｌｉｇｎが送信されていない場合（Ｓ１０９のＮＯ）、ＯＯＢシーケンス判定回路３０は、ホスト装置３からＡｌｉｇｎが送信されたか否かの判定を継続して実行する（Ｓ１０９）。
【００７４】
ホスト装置３からＡｌｉｇｎが送信された場合（Ｓ１０９のＹＥＳ）、ＯＯＢシーケンスが完了したことになる。その場合、ＯＯＢシーケンス判定回路３０は、ＳＹＮＣ  Ｐｒｉｍｉｔｉｖｅのホスト装置３への送信を開始する（ステップＳ１８、ステップＳ１１０のＹＥＳ）。具体的には、ＯＯＢシーケンス判定回路３０は、ＳＹＮＣ  Ｐｒｉｍｉｔｉｖｅの送信の開始を要求するＯＯＢ信号・プリミティブ情報をプリミティブ・ＦＩＳ送信／受信制御回路３１に出力する。プリミティブ・ＦＩＳ送信／受信制御回路３１は、ＯＯＢシーケンス判定回路３０からのＯＯＢ信号・プリミティブ情報に応じて、ＳＹＮＣ  Ｐｒｉｍｉｔｉｖｅのホスト装置３への送信を開始する。そして、ＯＯＢシーケンス判定回路３０は、ＯＯＢシーケンス管理番号を”３”に更新する（ステップＳ１１１）。ＯＯＢシーケンス判定回路３０は、更新後のＯＯＢシーケンス管理番号を起動シーケンサ管理回路３２に出力する。
【００７５】
一方、起動シーケンサ管理回路３２は、Ｓ２０３の処理を実行後、再び、起動シーケンス管理番号を判定する（Ｓ２００）。起動シーケンス管理番号が”１”である場合、起動シーケンサ管理回路３２は、ＯＯＢシーケンスが終了したか否かを判定する（ステップＳ２０４）。具体的には、起動シーケンサ管理回路３２は、ＯＯＢシーケンス管理番号が”３”となったか否かを判定する。ＯＯＢシーケンス管理番号が”３”となっていない場合、起動シーケンサ管理回路３２は、ＯＯＢシーケンスが終了したか否かの判定を継続して実行する（Ｓ２０４）。
【００７６】
ＯＯＢシーケンス管理番号が”３”となった場合（Ｓ２０４のＹＥＳ）、起動シーケンサ管理回路３２は、ストレージ装置２の動作モードを、Ｘ＿ＲＤＹ  Ｐｒｉｍｉｔｉｖｅを無視するモードに設定する（ステップＳ２０、ステップＳ２０５）。具体的には、起動シーケンサ管理回路３２は、ＯＯＢシーケンス判定回路３０から”３”に更新されたＯＯＢシーケンス管理番号が出力された場合、ＯＯＢシーケンス管理番号が”３”となったと判定する。これにより、起動シーケンサ管理回路３２は、ＯＯＢシーケンスが終了したと判定する。そして、ＯＯＢシーケンス完了後にストレージ装置２からの必要な応答が終了するまで、ホスト装置３からの要求を全て拒否するために、ホスト装置３からＸ＿ＲＤＹ  Ｐｒｉｍｉｔｉｖｅが送信されてきても、ストレージ装置２からＲ＿ＲＤＹ  Ｐｒｉｍｉｔｉｖｅを送信しないモードに移行する。
【００７７】
このタイミングで、信号監視回路５０は、信号の判定を行う（ステップＳ２２）。具体的には、信号監視回路５０は、信号にチャタリング（ふらつき）が発生しているか否かを判定する。言い換えると、信号監視回路５０は、信号の精度が良好であるか否かを判定する。信号にチャタリングが発生していると判定された場合（Ｓ２２のＮＯ）、信号監視回路５０は、処理を待機する。なお、チャタリングの判定の回数又はチャタリングの判定の時間が予め定められた値を超えた場合に、接続処理のリセット（ＣＯＭＩＮＩＴの送信）を行ってもよい。
【００７８】
信号にチャタリングが発生していないと判定されると（Ｓ２２のＹＥＳ）、タイマ制御回路４０は、設定時間Ｔ３が経過したか否かを判定する（ステップＳ２４）。設定時間Ｔ３が経過していない場合（Ｓ２４のＮＯ）、タイマ制御回路４０は、ＡＴＡ  Ｔａｓｋ  Ｒｅｇｉｓｔｅｒ情報（Ｒｅｇｉｓｔｅｒ  ＦＩＳ）を送信しないで待機するように制御を行う。一方、設定時間Ｔ３が経過した場合（Ｓ２４のＹＥＳ）、タイマ制御回路４０は、ＡＴＡ  Ｔａｓｋ  Ｒｅｇｉｓｔｅｒ情報（Ｒｅｇｉｓｔｅｒ  ＦＩＳ）を送信するように制御を行う。
【００７９】
これにより、起動シーケンサ管理回路３２は、ＡＴＡ  Ｔａｓｋ  Ｒｅｇｉｓｔｅｒ情報を含むＦＩＳ（以下、「Ｒｅｇｉｓｔｅｒ  ＦＩＳ」とも言う）をホスト装置３に送信する（ステップＳ２６、ステップＳ２０６）。具体的には、起動シーケンサ管理回路３２は、Ｒｅｇｉｓｔｅｒ  ＦＩＳの送信を要求するＦＩＳ情報をプリミティブ・ＦＩＳ送信／受信制御回路３１に出力する。プリミティブ・ＦＩＳ送信／受信制御回路３１は、起動シーケンサ管理回路３２からのＦＩＳ情報に応じて、Ｒｅｇｉｓｔｅｒ  ＦＩＳをホスト装置３に送信する。起動シーケンサ管理回路３２は、起動シーケンス管理番号を”２”に更新する（ステップＳ２０７）。
【００８０】
起動シーケンサ管理回路３２は、再び、起動シーケンス管理番号を判定する（Ｓ２００）。起動シーケンス管理番号が”２”である場合、起動シーケンサ管理回路３２は、Ｒｅｇｉｓｔｅｒ  ＦＩＳの送信が正常に完了したか否かを判定する（ステップＳ２８、ステップＳ２０８）。具体的には、起動シーケンサ管理回路３２は、Ｒｅｇｉｓｔｅｒ  ＦＩＳの受信が完了したときにホスト装置３から送信されるＲ＿ＯＫ  Ｐｒｉｍｉｔｉｖｅをプリミティブ・ＦＩＳ送信／受信制御回路３１が受信したか否かを判定する。
【００８１】
Ｒ＿ＯＫ  Ｐｒｉｍｉｔｉｖｅが受信されていない場合（Ｓ２８のＮＯ、Ｓ２０８のＮＯ）、起動シーケンサ管理回路３２は、Ｒｅｇｉｓｔｅｒ  ＦＩＳの送信が正常に完了したか否かの判定を継続して実行する（Ｓ２０８）。一方、Ｒ＿ＯＫ  Ｐｒｉｍｉｔｉｖｅが受信された場合（Ｓ２８のＹＥＳ、Ｓ２０８のＹＥＳ）、起動シーケンサ管理回路３２は、ストレージ装置２の動作モードを、Ｘ＿ＲＤＹ  Ｐｒｉｍｉｔｉｖｅの応答を許可するモードに設定する（ステップＳ３０、ステップＳ２０９）。具体的には、ホスト装置３からの要求を許可にするために、ホスト装置３からＸ＿ＲＤＹ  Ｐｒｉｍｉｔｉｖｅが送信された場合に、ストレージ装置２からＲ＿ＲＤＹ  Ｐｒｉｍｉｔｉｖｅを送信するモードに移行する。
【００８２】
起動シーケンサ管理回路３２は、ＯＯＢシーケンス管理番号を”０”に更新する（ステップＳ２１０）。また、起動シーケンサ管理回路３２は、起動シーケンス管理番号を”０”に更新する（ステップＳ２１１）。ＯＯＢシーケンス管理番号の初期化は、例えば、起動シーケンサ管理回路３２がＯＯＢシーケンス管理番号の初期化を要求する初期化要求情報をＯＯＢシーケンス判定回路３０に出力し、ＯＯＢシーケンス判定回路３０がその初期化要求情報に応じて実行する。
【００８３】
このようにすることで、ストレージ装置２は、次のＳＡＴＡの通信確立に備える。再度、ステップＳ１２から処理が実行して通信を確立するケースとしては、例えば、ストレージ装置２及びホスト装置３が再接続された場合や、ホスト装置３がストレージ装置２の不正な動作を検出してＣＯＭＲＥＳＥＴによってストレージ装置２をリセットする場合等がある。ホスト装置３は、例えば、ストレージ装置２から所定の時間の間、応答がない場合にストレージ装置２をリセットする。
【００８４】
そして、起動シーケンサ管理回路３２は、ＳＡＴＡ通信確立処理及びＡＴＡ  Ｔａｓｋ  Ｒｅｇｉｓｔｅｒ情報（Ｒｅｇｉｓｔｅｒ  ＦＩＳ）の送信が終了したことを通知する終了通知情報を、ＣＰＵ２０に出力する。ＣＰＵ２０は、起動シーケンサ管理回路３２から出力された終了通知情報に応じて、ホスト装置３に対してデータを送受信する処理の実行を開始する。また、ＣＰＵ２０は、終了通知情報の通知後に、再度、ストレージ装置２の起動シーケンスを実行する場合、ＤＳＰ２１に対して、上述した起動シーケンスにおける処理の実行を指示する指示情報を送信する。ＤＳＰ２１は、ＣＰＵ２０から出力された指示情報に応じて、上述した起動シーケンスを実行する。
【００８５】
実施の形態１にかかるストレージ装置２は、接続シーケンスにおいてホスト装置３に対してホスト装置３との接続処理を行うための制御信号を送信し得るタイミングとなってから予め定められた設定時間が経過した後で、ホスト装置３に対して制御信号（ＣＯＭＩＮＩＴ、ＣＯＭＷＡＫＥ、及びＡＴＡ  Ｔａｓｋ  Ｒｅｇｉｓｔｅｒ情報）を送信するように、構成されている。これにより、ストレージ装置２は、ホスト装置３が制御信号を適切に受信できるタイミングで、制御信号を送信することができる。したがって、ストレージ装置２が適切にホスト装置３に認識され得る。よって、本実施の形態にかかるストレージ装置２は、正常に接続処理を行うことが可能となる。
【００８６】
また、実施の形態１にかかるストレージ装置２は、ホスト装置３から受信された制御信号の精度が良好であると判定された場合に、設定時間が経過した後で、ホスト装置３に対して制御信号（ＡＴＡ  Ｔａｓｋ  Ｒｅｇｉｓｔｅｒ情報）を送信するように構成されている。これにより、ストレージ装置２は、正しい制御信号に応じた処理を行うことができる。したがって、ストレージ装置２が適切にホスト装置３に認識され得る。よって、本実施の形態にかかるストレージ装置２は、正常に接続処理を行うことが可能となる。
【００８７】
また、実施の形態１にかかるストレージ装置２は、タイマ制御回路４０が、ＣＯＭＩＮＩＴ、ＣＯＭＷＡＫＥ、及びＡＴＡ  Ｔａｓｋ  Ｒｅｇｉｓｔｅｒ情報の送信タイミングを制御するように構成されている。これにより、実施の形態１にかかるストレージ装置２は、ＳＡＴＡ規格を用いた場合であっても、ホスト装置３がＣＯＭＩＮＩＴ、ＣＯＭＷＡＫＥ、及びＡＴＡ  Ｔａｓｋ  Ｒｅｇｉｓｔｅｒ情報を適切に受信できるタイミングで、それぞれＣＯＭＩＮＩＴ、ＣＯＭＷＡＫＥ、及びＡＴＡ  Ｔａｓｋ  Ｒｅｇｉｓｔｅｒ情報を送信することができる。したがって、ストレージ装置２が適切にホスト装置３に認識され得る。よって、実施の形態１にかかるストレージ装置２は、ＳＡＴＡ規格を用いた場合であっても、正常に接続処理を行うことが可能となる。
【００８８】
また、実施の形態１にかかるタイマ制御回路４０は、ＬＳＩ１０においてハードウェア回路で構成されている。これにより、実施の形態１にかかるストレージ装置２は、ソフトウェアで制御情報の送信タイミングを制御する場合と比較して、より細かく時間を設定することができる。したがって、正常に接続されるホスト装置３を増加させることができる。
【００８９】
（実施の形態２）
次に、実施の形態２について説明する。実施の形態２にかかるストレージ装置２は、ホスト装置３との物理接続の確立したことを示す物理接続状態が喪失した場合の処理を行う点で、実施の形態１にかかるストレージ装置２と異なる。
【００９０】
図９は、実施の形態２にかかるストレージシステム１の構成図である。実施の形態２にかかるストレージシステム１は、ストレージ装置２及びホスト装置３を有する。なお、図９において、ドライバ１２及びメカユニット１３の図示は省略されている。
【００９１】
ストレージ装置２のＤＳＰ２１は、ＯＯＢシーケンス判定回路３０、プリミティブ・ＦＩＳ送信／受信制御回路３１、起動シーケンサ管理回路３２、タイマ制御回路４０、信号監視回路５０を有する。実施の形態２にかかるＤＳＰ２１は、さらに、ＰＨＹＲＤＹ喪失判定回路６０（通信確立状態判定部）と、ＣＯＭＩＮＩＴ再送信判定回路７０（再送信制御部）とを有する。ＰＨＹＲＤＹ喪失判定回路６０及びＣＯＭＩＮＩＴ再送信判定回路７０以外の構成要素については、実施の形態１にかかるものと実質的に同様であるので、説明を省略する。なお、ＰＨＹＲＤＹ喪失判定回路６０とＣＯＭＩＮＩＴ再送信判定回路７０とにより、再送信制御回路８０（再送信制御部）を構成する。再送信制御回路８０は、ＣＯＭＩＮＩＴの再送信を制御する。
【００９２】
ＰＨＹＲＤＹ喪失判定回路６０は、ＰＨＹＲＤＹの状態の監視を行う。「ＰＨＹＲＤＹ」は、物理通信が確立したことを示す信号である。ＯＯＢシーケンスの終了（ホスト装置３からＡｌｉｇｎが）後、ＰＨＹＲＤＹが送信されている物理通信確立状態では、データの送受信が可能となる。一方、ホスト装置３とストレージ装置２との間の通信に異常が発生すること等によって、ＰＨＹＲＤＹが喪失した場合、つまり物理接続状態が喪失した場合、データ通信が遮断した状態となる。したがって、ＰＨＹＲＤＹ喪失判定回路６０は、ＰＨＹＲＤＹが喪失したか否かを判定することで、物理通信確立状態を判定する。ＰＨＹＲＤＹ喪失判定回路６０は、判定結果を、ＣＯＭＩＮＩＴ再送信判定回路７０に出力する。
【００９３】
ＣＯＭＩＮＩＴ再送信判定回路７０は、ＣＰＵ２０によって指定された条件に応じて、ＣＯＭＩＮＩＴを再送信するか否かを判定する。そして、ＣＯＭＩＮＩＴ再送信判定回路７０は、条件に合致する場合に、ＣＯＭＩＮＩＴを再送信するように制御を行う。つまり、再送信制御回路８０は、物理通信確立状態が喪失したときに、予め定められた条件に応じて、ＣＯＭＩＮＩＴを再送信するように制御を行う。再送信制御回路８０は、ＰＨＹＲＤＹが喪失したと判定した場合であっても、再通信接続要求であるＣＯＭＩＮＩＴを直ちに送信しないように制御を行う。これにより、対向側であるホスト装置３によって、再接続処理が実行される。
【００９４】
図１０は、実施の形態２にかかるＰＨＹＲＤＹ喪失判定回路６０の構成を示す図である。ＰＨＹＲＤＹ喪失判定回路６０は、入力データ保持部６２と、経過時間監視部６４と、入力情報変動率判定部６６とを有する。
【００９５】
入力データ保持部６２は、起動シーケンサ管理回路３２から、制御情報を受信する。また、入力データ保持部６２は、ＯＯＢシーケンス判定回路３０から、プリミティブ情報を受信する。入力データ保持部６２は、プリミティブ情報を保持する。また、入力データ保持部６２は、制御情報から、現在の動作状態を判定する。具体的には、入力データ保持部６２は、入力されたデータから、ＰＨＹＲＤＹが喪失されたか否かを判定する。ＰＨＹＲＤＹが喪失された場合、つまりデータが受信できない状態の場合、入力データ保持部６２は、制御情報から、ストレージ装置２が起動中であるのか又は実行中であるのかを判定する。
【００９６】
ストレージ装置２が起動中である場合、入力データ保持部６２は、時間情報及び制御情報を、経過時間監視部６４に出力する。ここで、時間情報は、入力データ保持部６２が制御情報を受信した時間を示す。一方、ストレージ装置２が実行中である場合、入力データ保持部６２は、前回のプリミティブ情報及び今回のプリミティブ情報を、入力情報変動率判定部６６に出力する。
【００９７】
経過時間監視部６４は、ストレージ装置２が起動中である場合の処理を行う。経過時間監視部６４は、入力データ保持部６２から出力された時間情報に示された時間から、予め定められた設定時間Ｔ４が経過したかを監視する。設定時間Ｔ４は、信号が安定するまでどれだけ待機するかを示す時間である。経過時間監視部６４は、設定時間Ｔ４が経過すると、ＰＨＹＲＤＹが喪失したことを示すＰＨＹＲＤＹ喪失情報を、ＣＯＭＩＮＩＴ再送信判定回路７０に送信する。つまり、経過時間監視部６４は、設定時間Ｔ４が経過するまで、ＰＨＹＲＤＹ喪失情報をＣＯＭＩＮＩＴ再送信判定回路７０に送信しないで待機する。
【００９８】
入力情報変動率判定部６６は、ストレージ装置２が実行中である場合の処理を行う。入力情報変動率判定部６６は、前回のプリミティブ情報と今回のプリミティブ情報との変動率が予め定められた閾値Ｔｈ１以上であるか否かを判定する。なお、入力情報変動率判定部６６は、変動率が高い信号パターンを記憶しておき、その信号パターンとの比較によって、変動率が高いことを判定してもよい。前回のプリミティブ情報と今回のプリミティブ情報との変動率が閾値Ｔｈ１以上である場合、入力情報変動率判定部６６は、ＰＨＹＲＤＹ喪失情報をＣＯＭＩＮＩＴ再送信判定回路７０に送信しないで待機する。そして、前回のプリミティブ情報と今回のプリミティブ情報との変動率が閾値Ｔｈ１未満となった場合に、入力情報変動率判定部６６は、ＰＨＹＲＤＹ喪失情報をＣＯＭＩＮＩＴ再送信判定回路７０に送信する。
【００９９】
したがって、ＣＯＭＩＮＩＴ再送信判定回路７０は、ストレージ装置２の起動中又は実行中において、ストレージ装置２において信号が安定した可能性があるときに、ＰＨＹＲＤＹ喪失情報を受信する。このとき、ＣＯＭＩＮＩＴ再送信判定回路７０は、予め定められた条件に従って、ＣＯＭＩＮＩＴを再送信するか否かを判定する。例えば、ＣＯＭＩＮＩＴ再送信判定回路７０は、ＣＯＭＩＮＩＴの再送信を行う旨の機能を使用するという条件が設定されている場合は、ＣＯＭＩＮＩＴを再送信する。一方、ＣＯＭＩＮＩＴ再送信判定回路７０は、この機能を使用しないという条件が設定されている場合は、ＣＯＭＩＮＩＴを再送信しない。
【０１００】
次に、図１１を参照して、実施の形態２にかかるストレージシステム１の処理について説明する。図１１は、実施の形態２にかかるストレージ装置２の起動シーケンスにおける処理を示すフローチャートである。なお、図１１は、実施の形態２にかかるＰＨＹＲＤＹ喪失判定をストレージ装置２の起動時に行うフローを示している。しかしながら、図１０を用いて説明したように、実施の形態２にかかるＰＨＹＲＤＹ喪失判定は、ストレージ装置２の起動後の実行中においてもなされ得る。
【０１０１】
ステップＳ３１２〜ステップＳ３２４の処理は、図６に示したＳ１２〜Ｓ２４の処理にそれぞれ対応するので、説明を省略する。また、ステップＳ３３６〜ステップＳ３４０の処理は、図６に示したＳ２６〜Ｓ３０の処理にそれぞれ対応するので、説明を省略する。
【０１０２】
設定時間Ｔ３が経過した場合（Ｓ３２４のＹＥＳ）、ＰＨＹＲＤＹ喪失判定回路６０は、ＰＨＹＲＤＹ喪失情報を送信するか否かを判定する（ステップＳ３２６）。具体的には、ＰＨＹＲＤＹ喪失判定回路６０は、ＰＨＹＲＤＹが喪失したか否かを判定する。そして、ＰＨＹＲＤＹ喪失判定回路６０は、ＰＨＹＲＤＹが喪失したと判定された場合に、上述したように、ＰＨＹＲＤＹ喪失情報を送信するか否かを判定する。
【０１０３】
ＰＨＹＲＤＹ喪失情報を出力しないと判定された場合（Ｓ３２６のＮＯ）、処理はＳ３３６に進む。一方、ＰＨＹＲＤＹ喪失情報を出力すると判定された場合（Ｓ３２６のＹＥＳ）、ＰＨＹＲＤＹ喪失判定回路６０は、ＰＨＹＲＤＹ喪失情報を、ＣＯＭＩＮＩＴ再送信判定回路７０に送信する。そして、ＣＯＭＩＮＩＴ再送信判定回路７０は、予め定められた条件に応じて、ＣＯＭＩＮＩＴを再送信するか否かを判定する（ステップＳ３２８）。ＣＯＭＩＮＩＴ再送信判定回路７０は、ＣＯＭＩＮＩＴを再送信すると判定された場合（Ｓ３２８のＹＥＳ）、ＣＯＭＩＮＩＴを再送信するように制御を行う（ステップＳ３３０）。一方、ＣＯＭＩＮＩＴを再送信しないと判定された場合（Ｓ３２８のＮＯ）、処理はＳ３３６に進む。
【０１０４】
ＳＡＴＡ規格では、通常、ＰＨＹＲＤＹが喪失すると、直ぐに接続をリセットして、再度、ＯＯＢシーケンスをやり直して、ＳＡＴＡの物理通信確立を行うように規定されている。具体的には、ストレージ装置２は、ＰＨＹＲＤＹの喪失を検出すると、すぐに、ＣＯＭＩＮＩＴをホスト装置３に送信して、通信確立の要求を行う。
【０１０５】
ＰＨＹＲＤＹの監視は、ストレージ装置２及びホスト装置３の両方で行われる。したがって、ストレージ装置２でＰＨＹＲＤＹが喪失したと判定された場合であっても、ホスト装置３では、ＰＨＹＲＤＹが喪失していないと判定されることがある。この場合、ホスト装置３にＣＯＭＩＮＩＴが送信されたとしても、適切に再接続処理が行われない可能性がある。
【０１０６】
具体的には、ＰＨＹＲＤＹがＬＯＷ（喪失）とＨＩＧＨとを繰り返すような、ＰＨＹＲＤＹの信号の状態が安定しない場合、ＰＨＹＲＤＹがＬＯＷになったからといって直ぐにストレージ装置２からＣＯＭＩＮＩＴを再送信してＯＯＢシーケンスを開始しても、再度通信確立が喪失してしまうので、ＯＯＢシーケンスを何度も繰り返すこととなる。なお、シリアル信号はアナログ回路で生成されるので、アナログ回路の基板の部品等により、不安定になることがある。一方で、時間が経過すると、信号が安定することがある。したがって、通信確立が喪失してしまうごとにＯＯＢシーケンスを何度も繰り返すことは、無駄な処理となるおそれがある。
【０１０７】
一方、実施の形態２にかかる再送信制御回路８０は、ＰＨＹＲＤＹが喪失した場合であっても、再通信接続要求であるＣＯＭＩＮＩＴを直ちに送信しないように制御を行う。これにより、信号が安定したときに、対向側であるホスト装置３によって、直ぐに再接続処理が実行され得る。したがって、ＯＯＢシーケンス等の接続処理が、最低限の回数（例えば１回）でなされ得る。したがって、実施の形態２にかかるストレージ装置２は、再接続処理の際にホスト装置３と接続され易くなる。したがって、実施の形態２にかかるストレージ装置２は、再接続に要する時間の増大を抑制することが可能となる。
【０１０８】
また、実施の形態２にかかる再送信制御回路８０は、ＰＨＹＲＤＹが喪失した場合、ホスト装置３からの信号が安定したと判定されたときに、ＣＯＭＩＮＩＴを再送信するように制御を行う。これにより、ストレージ装置２からも、適切に再接続処理を行うことが可能となる。
【０１０９】
（変形例）
なお、本実施の形態は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述した実施の形態にかかるフローチャートにおいて、各処理の順序は、適宜、変更可能である。
【０１１０】
また、上述した実施の形態では、ストレージ装置２とホスト装置３との間のインタフェース規格がＳＡＴＡである場合について例示したが、本実施の形態は、ＳＡＴＡ規格以外のインタフェース規格に対しても適用され得る。例えば、本実施の形態は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）又はＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）に対しても、適用され得る。
【０１１１】
また、本実施の形態にかかるストレージ装置２は、信号判定部５（信号監視回路５０）を有するとしたが、このような構成に限られない。本実施の形態において、信号判定部５（信号監視回路５０）は、必ずしも必須の構成要素ではない。しかしながら、ストレージ装置２は、信号判定部５（信号監視回路５０）を有することによって、ホスト装置３から受信された制御信号の精度が良好であると判定された場合に、ホスト装置３に対して制御信号を送信するように構成される。これにより、ストレージ装置２は、正しい制御信号に応じた処理を行うことができる。
【０１１２】
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【０１１３】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
【符号の説明】
【０１１４】
１  ストレージシステム
２  ストレージ装置
３  ホスト装置
４  タイミング制御部
５  信号判定部
６  接続処理部
３０  ＯＯＢシーケンス判定回路
３１  プリミティブ・ＦＩＳ送信／受信制御回路
３２  起動シーケンサ管理回路
４０  タイマ制御回路
４２  入力データ情報判断部
４４  経過時間監視部
４６  入力データ情報判断部
４８  経過時間監視部
５０  信号監視回路
５２  入力データ保持部
５４  信号パターンマッチング部
５６  ジャンクデータ除去部
５８  比較部
６０  ＰＨＹＲＤＹ喪失判定回路
６２  入力データ保持部
６４  経過時間監視部
６６  入力情報変動率判定部
７０  ＣＯＭＩＮＩＴ再送信判定回路
８０  再送信制御回路
【図１】
2019101487.tif 000003
【図２】
2019101487.tif 000004
【図３】
2019101487.tif 000005
【図４】
2019101487.tif 000006
【図５】
2019101487.tif 000007
【図６】
2019101487.tif 000008
【図７】
2019101487.tif 000009
【図８】
2019101487.tif 000010
【図９】
2019101487.tif 000011
【図１０】
2019101487.tif 000012
【図１１】
2019101487.tif 000013