(57)【要約】【課題】増設される物理記憶装置が誤ったアドレスを取得しても、正常な他の物理記憶装置に影響を与えないようにする。【解決手段】ストレージシステムにおいて、コントローラに第一及び第二のループが接続され、既設記憶装置（増設される物理記憶装置である増設記憶装置以外の物理記憶装置）が、第一及び第二のループの少なくとも一方に接続されている。増設処理では、コントローラが、全ての既設記憶装置を第一のループから切断した後に、増設記憶装置を第一のループに接続する。コントローラは、その増設記憶装置が取得したアドレスを第一のループを介して取得し、そのアドレスの適否の判断である第一の適否判断を行う。第一の適否判断の結果が否定的となった場合、コントローラは、その取得されたアドレスを取得した増設記憶装置を閉塞する。（選択図：図２）
2011523108.tif 000002
【特許請求の範囲】
【請求項１】
コントローラと、
複数の物理記憶装置と、
前記コントローラに接続されて第一のループを構成する第一のスイッチ装置と、
前記コントローラに接続されて第二のループを構成する第二のスイッチ装置と
を備え、
前記第一のスイッチ装置は、前記コントローラから与えられた信号に応答して、物理記憶装置を前記第一のループに接続する、又は、物理記憶装置を前記第一のループから切断し、
前記第二のスイッチ装置は、前記コントローラから与えられた信号に応答して、物理記憶装置を前記第二のループに接続する、又は、物理記憶装置を前記第二のループから切断し、
各物理記憶装置は、アドレスを取得する機能を有しており、増設される物理記憶装置である増設記憶装置と、前記増設記憶装置以外の物理記憶装置である既設記憶装置とのいずれかであり、
前記コントローラが、
下記（１−１）乃至（１−４）で構成される第一の診断処理、
（１−１）全ての既設記憶装置を前記第一のループから切断する；
（１−２）増設記憶装置を前記第一のループに接続する；
（１−３）前記（１−２）で前記第一のループに接続された増設記憶装置が取得したアドレスを前記第一のループを介して取得する；
（１−４）前記（１−３）で取得されたアドレスの適否の判断である第一の適否判断を行う；
を実行し、前記第一の適否判断の結果が否定的となった場合、前記（１−３）で取得されたアドレスを取得した増設記憶装置を閉塞する、
ストレージシステム。
【請求項２】
前記コントローラが、
前記第一の診断処理を、前記第一の適否判断の結果が肯定的となった場合、前記第一の診断処理において前記（１−２）が行われていない未接続の増設記憶装置があれば、その未接続の物理記憶装置について、前記（１−２）を行い、
全ての増設記憶装置について前記第一の判断の結果が肯定的となった場合、下記（２−１）乃至（２−４）で構成される第二の診断処理、
（２−１）全ての既設記憶装置を前記第二のループから切断する；
（２−２）増設記憶装置を前記第二のループに接続する；
（２−３）前記（２−２）で前記第二のループに接続された増設記憶装置が取得したアドレスを前記第二のループを介して取得する；
（２−４）前記（２−３）で取得されたアドレスの適否の判断である第二の適否判断を行う；
を実行し、前記第二の適否判断の結果が否定的となった場合、前記（２−３）で取得されたアドレスを取得した増設記憶装置を閉塞し、一方、前記第二の適否判断の結果が肯定的となった場合、前記第二の診断処理において前記（２−２）が行われていない未接続の増設記憶装置があれば、その未接続の物理記憶装置について、前記（２−２）を行い、
前記第一の診断処理及び前記第二の診断処理のいずれかが未実施の増設記憶装置があれば、その未実施の増設記憶装置について、前記第一の診断処理及び前記第二の診断処理のうちの未実施の診断処理を行い、
前記第一の診断処理及び前記第二の診断処理が未実施の増設記憶装置が無く、且つ、前記第一の適否判断及び前記第二の適否判断のいずれかで否定的となった増設記憶装置が無ければ、全ての物理記憶装置を前記第一及び第二のループの両方に接続し、且つ、全ての増設記憶装置を既設記憶装置として管理することで、増設処理を完了する、
請求項１記載のストレージシステム。
【請求項３】
前記（１−１）において、全ての増設記憶装置が、前記第二のループから切断されており、全ての既設記憶装置が、前記第二のループに接続されており、
前記（２−１）において、全ての増設記憶装置が、前記第一のループから切断されており、全ての既設記憶装置が、前記第一のループに接続されており、
前記コントローラは、前記増設処理の最中に、Ｉ／Ｏコマンドを外部装置から受信した場合、そのＩ／Ｏコマンドに応答して、そのＩ／Ｏコマンドに従う論理物理記憶装置の基になっている既設記憶装置に、その既設記憶装置が接続されている前記第一のループ又は前記第二のループを介してＩ／Ｏを行う、
請求項２記載のストレージシステム。
【請求項４】
前記コントローラは、
（４−１）前記第一の適否判断の結果が否定的である場合、増設処理を続行するか否かの選択をユーザから受け付け、増設処理を続行することが選択された場合、否定的な適否判断結果となったアドレスを取得した増設記憶装置の取り外しとその増設記憶装置を再び取り付けることとがユーザに実行されたならば、その増設記憶装置について再び前記（１−２）を実行し、
（４−２）前記第二の適否判断の結果が否定的である場合、増設処理を続行するか否かの選択をユーザから受け付け、増設処理を続行することが選択された場合、否定的な適否判断結果となったアドレスを取得した増設記憶装置の取り外しとその増設記憶装置を再び取り付けることとがユーザに実行されたならば、その増設記憶装置について再び前記（２−２）を実行する、
請求項３記載のストレージシステム。
【請求項５】
前記コントローラは、
前記第一の適否判断では、下記（１Ａ）及び（１Ｂ）、
（１Ａ）前記（１−３）で取得されたアドレスが、増設記憶装置が取り付けられている位置にマッチしたアドレスであるか否か；
（１Ｂ）前記（１−３）で取得されたアドレスが、既設記憶装置のアドレス又は前記第一の適否判断の結果が肯定的であるアドレスと重複するか否か、
を判断し、
前記第二の適否判断では、下記（２Ａ）及び（２Ｂ）、
（２Ａ）前記（２−３）で取得されたアドレスが、増設記憶装置が取り付けられている位置にマッチしたアドレスであるか否か；
（２Ｂ）前記（２−３）で取得されたアドレスが、既設記憶装置のアドレス又は前記第二の適否判断の結果が肯定的であるアドレスと重複するか否か、
を判断する、
請求項４記載のストレージシステム。
【請求項６】
前記コントローラは、前記（１−２）及び前記（２−２）を、よりコントローラ側にある増設記憶装置から先に実行する、
請求項５記載のストレージシステム。
【請求項７】
前記コントローラは、
前記第一のスイッチ装置に接続される第一のアダプタと、
前記第二のスイッチ装置に接続される第二のアダプタと
を備え、
前記第一のアダプタが、前記第一の診断処理を実行し、
前記第二のアダプタが、前記第二の診断処理を実行する、
請求項６記載のストレージシステム。
【請求項８】
前記コントローラは、前記第一及び第二のアダプタの共有メモリを有し、
前記共有メモリが、
どれが既設記憶装置であるかを表す第一の情報と、
どれが増設記憶装置であるかを表す第二の情報と、
既設記憶装置が前記第一及び第二のループのうちのどちらに接続されているかを表す第三の情報と、
増設記憶装置毎に前記第一及び第二の適否判断の結果を表す第四の情報と
を記憶し、
前記第一及び第二のアダプタが、
（６−１）増設記憶装置が取り付けられた場合、その取り付けられた増設記憶装置について前記第一及び第二の適否判断の両方の結果が否定的であるよう前記第四の情報を更新し、
（６−２）前記第一又は第二の適否判断の結果が肯定的となった増設記憶装置について、前記第四の情報における、前記第一又は第二の適否判断の結果を、否定的から肯定的に更新し、
（６−３）前記第四の情報において、前記第一又は第二の適否判断の結果が否定的となっている増設記憶装置を、前記未接続又は前記未診断の増設記憶装置であると判断し、
（６−４）全ての既設記憶装置を前記第一又は第二のループに接続する、又は、全ての既設記憶装置を前記第一又は第二のループから切断した場合、前記第三の情報を更新し、前記第三の情報を基に、既設記憶装置に対する前記Ｉ／Ｏを前記第一及び第二のループのうちのどちらを介して行うかを判断し、
（６−５）増設処理の完了のために、前記第一の情報に、全ての増設記憶装置に関する情報を書込み、前記第二の情報から、全ての増設記憶装置に関する情報を消去する、
請求項７記載のストレージシステム。
【請求項９】
前記コントローラが、
前記第一の診断処理を、前記第一の適否判断の結果が肯定的となった場合、前記第一の診断処理において前記（１−２）が行われていない未接続の増設記憶装置があれば、その未接続の物理記憶装置について、前記（１−２）を行い、
全ての増設記憶装置について前記第一の判断の結果が肯定的となった場合、下記（８−１）乃至（８−４）で構成される第二の診断処理、
（８−１）全ての既設記憶装置を前記第二のループから切断する；
（８−２）増設記憶装置を前記第二のループに接続する；
（８−３）前記（８−２）で前記第二のループに接続された増設記憶装置が取得したアドレスを前記第二のループを介して取得する；
（８−４）前記（８−３）で取得されたアドレスの適否の判断である第二の適否判断を行う；
を実行し、前記第二の適否判断の結果が否定的となった場合、前記（８−３）で取得されたアドレスを取得した増設記憶装置を閉塞し、一方、前記第二の適否判断の結果が肯定的となった場合、前記第二の診断処理において前記（８−２）が行われていない未接続の増設記憶装置があれば、その未接続の物理記憶装置について、前記（８−２）を行う、
請求項１記載のストレージシステム。
【請求項１０】
前記コントローラは、
前記第一の診断処理及び前記第二の診断処理のいずれかが未実施の増設記憶装置があれば、その未実施の増設記憶装置について、前記第一の診断処理及び前記第二の診断処理のうちの未実施の診断処理を行い、
前記第一の診断処理及び前記第二の診断処理が未実施の増設記憶装置が無く、且つ、前記第一の適否判断及び前記第二の適否判断のいずれかで否定的となった増設記憶装置が無ければ、全ての物理記憶装置を前記第一及び第二のループの両方に接続し、且つ、全ての増設記憶装置を既設記憶装置として管理することで、増設処理を完了する、
請求項９記載のストレージシステム。
【請求項１１】
全ての既設記憶装置は、初期的に、前記第一及び第二のループの両方に接続されており、
全ての増設記憶装置は、初期的に、前記第一及び第二のループの両方から切断されており、
前記コントローラは、いずれかの増設記憶装置を前記第一及び第二のループのうちの一方に接続する前に、全ての既設記憶装置を前記第一及び第二のループのうちの一方から切断する、
請求項１、９又は１０記載のストレージシステム。
【請求項１２】
前記コントローラは、前記増設処理の最中に、Ｉ／Ｏコマンドを外部装置から受信した場合、そのＩ／Ｏコマンドに応答して、そのＩ／Ｏコマンドに従う論理物理記憶装置の基になっている既設記憶装置に、その既設記憶装置が接続されている前記第一のループ又は前記第二のループを介してＩ／Ｏを行う、
請求項１１記載のストレージシステム。
【請求項１３】
前記コントローラは、前記第一の適否判断の結果が否定的である場合、否定的な適否判断結果となったアドレスを取得した増設記憶装置の取り外しとその増設記憶装置を再び取り付けることとがユーザに実行されたならば、その再び取り付けられた増設記憶装置について再び前記（１−２）を実行する、
請求項１、９乃至１２のうちのいずれかに記載のストレージシステム。
【請求項１４】
前記コントローラは、前記第二の適否判断の結果が否定的である場合、否定的な適否判断結果となったアドレスを取得した増設記憶装置の取り外しとその増設記憶装置を再び取り付けることとがユーザに実行されたならば、その再び取り付けられた増設記憶装置について再び前記（８−２）を実行する、
請求項９乃至１３のうちのいずれかに記載のストレージシステム。
【請求項１５】
アドレスを取得する機能を有した物理記憶装置をストレージシステムに取り付ける際の増設処理の方法であって、
（１４−１）増設される物理記憶装置である増設記憶装置以外の物理記憶装置である既設記憶装置を全て第一のループから切断し、
（１４−２）増設記憶装置を前記第一のループに接続し、
（１４−３）前記（１４−２）で前記第一のループに接続された増設記憶装置が取得したアドレスを前記第一のループを介して取得し、
（１４−４）前記（１４−３）で取得されたアドレスの適否の判断である第一の適否判断を行い、
（１４−５）前記第一の適否判断の結果が否定的となった場合、前記（１４−３）で取得されたアドレスを取得した増設記憶装置を閉塞する、
方法。
【請求項１６】
全ての既設記憶装置は、初期的に、前記第一及び第二のループの両方に接続され、
全ての増設記憶装置は、初期的に、前記第一及び第二のループの両方から切断され、
いずれかの増設記憶装置を前記第一及び第二のループのうちの一方に接続する前に、全ての既設記憶装置を前記第一及び第二のループのうちの一方から切断する、
請求項１５記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムが有する複数の物理記憶装置のうちの障害が発生している物理記憶装置を検出する技術に関する。
【背景技術】
【０００２】
例えば、特許文献１に開示の技術が知られている。この技術によれば、ストレージシステムは、コントローラと、複数のＪＢＯＤ（Just a Bunch Of Disks）装置を備える。各ＪＢＯＤ装置は、ループで接続された複数のＨＤＤ（Hard Disk Drive）と、ＳＥＳ（SCSI （Small Computer System Interface） Enclosure Service）機能部と、ＩＤ設定部とを有する。
【０００３】
ＪＢＯＤ装置が増設された場合に、その増設されたＪＢＯＤ装置内のＩＤ設定部が、そのＪＢＯＤ装置内の各ＨＤＤに、ＩＤを割り当てる。増設されたＪＢＯＤ装置内のＳＥＳ機能部が、コントローラから送られたＩＤと、ＩＤ設定部からＨＤＤに割り当てられたＩＤとが一致するか否かを比較する。それらのＩＤが不一致の場合、不一致となったＩＤが割り当てられたＨＤＤが、ループから切断される。
【０００４】
【特許文献１】特開２００６−１３９７３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
自分のアドレスを取得する機能を有したＨＤＤが知られている。特許文献１に開示のディスクアレイ装置とは異なり、ＨＤＤによって取得されたアドレスを利用するストレージシステムがある。この種のストレージシステムでは、例えば、ＨＤＤは、そのＨＤＤが挿されたスロット（言い換えれば、ＨＤＤが接続されたコネクタ）の位置に応じた信号を受け、その信号を基に、自分のアドレスを取得する。
【０００６】
ストレージシステムに増設されるＨＤＤ（以下、増設ＨＤＤ）に障害が発生していると、その増設ＨＤＤが、正常な他のＨＤＤ（例えば、既設のＨＤＤ、或いは、他の増設ＨＤＤ）が取得したアドレスと一致するアドレスを取得してしまうことがある。この場合、ストレージシステムにおいて、複数のＨＤＤについて同一のアドレスが確定してしまうことになるが、そうすると、例えば、同一のアドレスを取得した正常な他のＨＤＤが閉塞して増設が異常終了してしまい、全ての増設ＨＤＤを一旦取り外して増設処理を最初からやり直す必要が生じる。
【０００７】
このような問題は、ＨＤＤとは異なる種類の物理記憶装置が増設される際にも有り得る問題である。
【０００８】
従って、本発明の目的は、増設される物理記憶装置が誤ったアドレスを取得しても、正常な他の物理記憶装置に影響を与えないようにすることにある。
【０００９】
本発明の更なる目的は、増設される物理記憶装置が誤ったアドレスを取得しても、正常な他の物理記憶装置に影響を与えることなく、増設を完了させられることにある。
【課題を解決するための手段】
【００１０】
ストレージシステムにおいて、コントローラに第一及び第二のループが接続され、既設記憶装置（増設される物理記憶装置である増設記憶装置以外の物理記憶装置）が、第一及び第二のループの少なくとも一方に接続されている。増設処理では、コントローラが、全ての既設記憶装置を第一のループから切断した後に、増設記憶装置を第一のループに接続する。コントローラは、その増設記憶装置が取得したアドレスを第一のループを介して取得し、そのアドレスの適否の判断である第一の適否判断を行う。第一の適否判断の結果が否定的となった場合、コントローラは、その取得されたアドレスを取得した増設記憶装置を閉塞する。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係る計算機システムの構成例を示す。
【図２】各ＤＫＡと各ＨＤＤ間のデータ転送経路の構成を示す。
【図３】既設テーブル２１の構成例を示す。
【図４】増設テーブル２３の構成例を示す。
【図５】アドレステーブル２５の構成例を示す。
【図６Ａ】障害診断中に表示された診断画面の一例を示す。
【図６Ｂ】障害診断が正常終了した場合に表示された診断画面の一例を示す。
【図６Ｃ】障害診断が異常終了した場合に表示された診断画面の一例を示す。
【図７】ループ参加処理の処理フローの第一部分を示す。
【図８】ループ参加処理の処理フローの第二部分を示す。
【図９】ループ参加処理の処理フローの残りの部分を示す。
【図１０】障害診断の処理フローを示す。
【図１１】アドレス診断の処理フローを示す。
【図１２】ＤＫＡで実行されるコンピュータプログラムの一例を示す。
【図１３】共有メモリで管理される情報の一例を示す。
【図１４】増設処理が終了したときの、ＨＤＤとループ０及びループ１との接続／切断の状態を示す。
【符号の説明】
【００１２】
２０…ストレージシステム
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して、本発明の一実施形態を説明する。
【００１４】
図１は、本発明の一実施形態に係る計算機システムの構成例を示す。
【００１５】
ストレージシステム２０に、通信ネットワーク（例えば、ＳＡＮ（Storage Area Network））２を介して、上位装置（例えば、サーバ等のホスト計算機）１が接続されている。ストレージシステム２０には、例えば、ＮＩＣ（Network Interface Card）６が設けられており、ＮＩＣ６に、ＬＡＮ（Local Area Network）ケーブル１６を介して、ＳＶＰ（Service Processor）１７が接続されている。
【００１６】
上位装置１は、例えば、ＣＰＵ（Central Processing Network）やメモリ等の情報処理資源を備えた計算機であり、例えば、パーソナルコンピュータ、ワークステーション、メインフレーム等である。本実施形態では、上位装置１（つまり、サーバ）は１つのみ記載したが、それより多くても差し支えない。
【００１７】
ストレージシステム２０は、例えば、アレイ状に配列された多数のハードディスクドライブ（以下、ＨＤＤ）１５を備えるＲＡＩＤ（Redundant Array of Independent (or Inexpensive) Disks）システムである。ストレージシステム２０は、コントローラ４と、ファイバパススイッチ（ＦＳＷ）９Ａ、９Ｂと、ＨＤＤ群１４とを有する。コントローラ４は、例えば、チャネルアダプタ（ＣＨＡ）３Ａ、３Ｂと、キャッシュメモリ（ＣＡＣＨＥ）５と、ディスクアダプタ（ＤＫＡ）７Ａ、７Ｂと、キャッシュスイッチ（ＣＳＷ）１１と、共有メモリ（ＳＭ）１３とを備えている。なお、ＣＨＡ、ＣＡＣＨＥ、ＤＫＡ、ＦＳＷ、ＣＳＷ及びＳＭは、図示と説明の都合上２つ或いは４つ記載されているが、それより多くても少なくても差し支えない。
【００１８】
ＣＨＡ３Ａ、３Ｂは、上位装置１とデータ通信を行うインタフェース装置である。ＣＨＡ３は、例えば、ＣＰＵ、メモリ、複数の通信ポート等を備えたマイクロコンピュータシステム（例えば、回路基盤）として構成することができる。通信ポートに、上位装置１が接続される。
【００１９】
ＣＡＣＨＥ５は、揮発性（又は不揮発性）のキャッシュメモリであり、ＣＨＡ３とＤＫＡ７との間で授受されるデータ（上位装置１から受けてＨＤＤ１５に書き込まれるデータ、或いは、ＨＤＤ１５から読み出されて上位装置１に提供されるデータ）を一時的に記憶する。
【００２０】
ＤＫＡ７Ａ、７Ｂは、ＨＤＤ１５との間のデータ通信を行うインタフェース装置である。ＤＫＡ７も、例えば、ＣＰＵ、メモリ、複数の通信ポート等を備えたマイクロコンピュータシステム（例えば、回路基盤）として構成することができる。ＤＫＡ７Ａ、７Ｂは、ＨＤＤ１５に対してデータの読み書きを行う。このデータの読み書きは、例えば、ファイバチャネル規格のＦＣ−ＡＬ（Fibre Channel Arbitrated Loop）によって定められるループを介して行われる。
【００２１】
ＦＳＷ９Ａ（９Ｂ）は、ＤＫＡ７Ａ（７Ｂ）に接続されるループを有する装置であり、ＤＫＡ７Ａ（７Ｂ）からの信号に応答して、ＨＤＤ１５をループに接続する、又は、ＨＤＤ１５をループから切断する。ＦＳＷ９Ａ（９Ｂ）は、ＤＫＡ７Ａ（７Ｂ）と接続されているＨＤＤ１５との通信を中継する。
【００２２】
ＣＳＷ１１は、ＣＨＡ３、ＣＡＣＨＥ５、ＤＫＡ７を相互に接続させる。ＣＳＷ１１は、例えば、高速スイッチング動作によってデータ転送を行う超高速クロスバススイッチ等のような高速バスとして構成することができる。符号３、５及び７に示す装置間におけるデータやコマンドの授受は、ＣＳＷ１１を介して行われる。また、ＣＳＷ１１は、ＣＡＣＨＥ５を制御するためのスイッチでもある。
【００２３】
ＳＭ１３は、例えば、揮発性（又は不揮発性）のメモリであり、ストレージシステム２０の制御のためにＣＨＡ３Ａ、３Ｂ及びＤＫＡ７Ａ、７Ｂによって参照される情報が格納される。格納される情報としては、例えば、指示テーブル、既設テーブル、増設テーブル、及びアドレステーブルがある。これらのテーブルについは後に詳述する。
【００２４】
ＨＤＤ群１４は、例えば、一又は複数のＲＡＩＤグループで構成されている（ＲＡＩＤグループは、パリティグループ或いはアレイグループと呼ばれることがある）。各ＲＡＩＤグループは、二以上のＨＤＤ１５で構成されている。ＲＡＩＤグループを構成する二以上のＨＤＤ１５の記憶空間を基に、一又は複数の論理的な記憶装置（以下、ＬＤＥＶ）が形成される。上位装置１からのＩ／Ｏコマンド（ライトコマンド又はリードコマンド）では、ＬＤＥＶに割り当てられたＬＵのＬＵＮと、ＣＨＡ３Ａ、３Ｂの通信ポートのポート番号とが指定される。そのポート番号及びＬＵＮに対応したＬＤＥＶに対して、Ｉ／Ｏ（Input/Output）が発生する。ＬＤＥＶにＩ／Ｏが発生するということは、ＬＤＥＶの基になっているＨＤＤ１５に対し、ＤＫＡ７Ａ（又は７Ｂ）によってＩ／Ｏが行われるということである。なお、ＨＤＤ１５に代えて、他種の物理記憶装置、例えば、フレキシブルディスク、磁気テープ、半導体メモリ（例えば、フラッシュメモリ）、光ディスク等が採用されてもよい。
【００２５】
ＳＶＰ１７は、ストレージシステム２０の保守管理（例えば、構成の設定やログの採取等）を行う上述した情報処理資源を備えた計算機である。ＳＶＰ１７は、ＳＶＰ１７を操作するユーザからの指令に基づき、内部ネットワーク８を介して、ＣＨＡ３Ａ、３ＢやＤＫＡ７Ａ、７Ｂと各種情報の授受を行う。ＳＶＰ１７は、情報を受信すると、その受信した情報をいわゆる可視情報として、モニタ（図示省略）等に出力する。なお、本実施形態では、ＳＶＰ１７は、ＬＡＮケーブル１６を介してストレージシステム２０に接続されるが、例えば、インターネット等の通信ネットワーク（図示省略）を介して、ストレージシステム２０に接続されても差し支えない。
【００２６】
図２は、各ＤＫＡと各ＨＤＤ間のデータ転送経路の構成を示す図である。
【００２７】
本実施形態において、各ＨＤＤ１５は、増設ＨＤＤと既設ＨＤＤのいずれかである。図２では、増設ＨＤＤにハッチングが施されている。「増設ＨＤＤ」とは、今回の増設処理において取り付けられるＨＤＤ（追加又は交換されるＨＤＤ）である。「既設ＨＤＤ」とは、増設ＨＤＤ以外のＨＤＤ、すなわち、今回の増設処理より前から設置されているＨＤＤである。図２の説明では、ＨＤＤ１５の数は６である。本実施形態では、ＨＤＤ１５へのデータの流れについての上流側から下流側にかけて、ＨＤＤ００、ＨＤＤ０１、ＨＤＤ０２、ＨＤＤ０３、ＨＤＤ０４及びＨＤＤ０５の順で、６台のＨＤＤ１５が並んでいる。
【００２８】
ＨＤＤ１５へのデータ転送経路は、二重化されている。すなわち、ループ１０Ａ及びループ１０Ｂのいずれかを介してＨＤＤ１５へのＩ／Ｏが可能となっている。以下、ループ１０Ａを「ループ０」と言い、ループ１０Ｂを「ループ１」と言う。それに伴い、ループ０に関わるＤＫＡ７Ａ及びＦＳＷ９Ａを、「ＤＫＡ０」及び「ＦＳＷ０」と言い、ループ１に関わるＤＫＡ７Ｂ及びＦＳＷ９Ｂを、「ＤＫＡ１」及び「ＦＳＷ１」と言う。
【００２９】
ＦＳＷ０は、ＰＢＣ（Port Bypass Circuit）０−００〜０−０５を有する。同様に、ＦＳＷ１は、ＰＢＣ１−００〜１−０５を有する。各ＰＢＣ０−００〜０−０５（１−００〜１−０５）は、ＨＤＤ００〜０５をループ０（ループ１）に接続するか或いはＨＤＤ００〜０５をバイパスするか（つまりＨＤＤ００〜０５をループ０（ループ１）から切断するか）を制御する回路である。各ＰＢＣ０−００〜０−５５（１−００〜１−０５）は、ＨＤＤ００〜０５のループ０（ループ１）に対する接続／切断を、ＤＫＡ０（ＤＫＡ１）からの信号に応答して切り替える。
【００３０】
ＤＫＡ０は、例えば、ストレージシステム２０の内部に設けられる回路基板（例えばバックプレーン）上のデータ転送路、または通信ケーブルを介して、ＦＳＷ０に接続されている。ループ０が、ＦＳＷ０にＤＫＡ０が接続されることで構成される。例えば、ＤＫＡ０が、ループ０を介して、既設ＨＤＤ０３にＩ／Ｏを行う際には、Ｉ／Ｏコマンドが、既設ＨＤＤ００を通過し、増設ＨＤＤ０１をバイパスし、既設ＨＤＤ０２を通過して、既設ＨＤＤ０３に到達するようになっている。
【００３１】
ＤＫＡ１も同様に、例えば、ストレージシステム２０の内部に設けられている回路基板（例えばバックプレーン）上のデータ転送路、または通信ケーブルを介して、ＦＳＷ１に接続されている。ループ１が、ＦＳＷ１にＤＫＡ１が接続されることで構成される。
【００３２】
本実施形態では、初期的に、全ての既設ＨＤＤがループ０及びループ１の両方に接続されており、全ての増設ＨＤＤがループ０及びループ１の両方から切断されている。
【００３３】
少なくとも一つの増設ＨＤＤがある場合に、増設処理が行われる。増設処理では、図２に示すように、ループ０及びループ１の一方のループが、既設ＨＤＤの接続用のループとなり、他方のループが、増設ＨＤＤの接続用のループとなる。他方のループについて障害診断が終了したら、それらが互いに切り替る。すなわち、一方のループが、増設ＨＤＤの接続用のループとなり、他方のループが、既設ＨＤＤの接続用のループとなる。
【００３４】
図２の例によれば、ループ０が、既設ＨＤＤの接続用のループであり、ループ１が、増設ＨＤＤの接続用のループである。具体的に言えば、既設ＨＤＤ００、０２及び０３は、既設ＨＤＤ００、０２及び０３とループ０との間に実線矢印で示す通り、ループ０に接続されており、既設ＨＤＤ００、０２及び０３とループ１との間に矢印が不図示である通り、ループ１から切断されている。また、増設ＨＤＤ０１が、増設ＨＤＤ０１とループ１との間に実線矢印で示す通り、ループ１に接続されており、増設ＨＤＤ０１とループ０との間に矢印が不図示である通り、ループ０から切断されている。
【００３５】
以上の構成により、ストレージシステム２０では、増設処理の最中であっても、上位装置１からＩ／Ｏコマンドを受け付けてそのＩ／Ｏコマンドを処理する。図２の例では、例えば、ＨＤＤ００の基になっているＬＤＥＶに対するＩ／Ｏが行われる場合、図２に一点鎖線で示すように、増設処理の最中に、ＤＫＡ０からループ０を介してＨＤＤ００にＩ／Ｏが行われる。
【００３６】
増設ＨＤＤの接続は、１台ずつ行われる。本実施形態では、ＤＫＡ０（ＤＡＫ１）からＨＤＤへのデータの流れにおいての上流側の増設ＨＤＤ（つまりコントローラ側の増設ＨＤＤ）から、順次に接続される。図２において、増設ＨＤＤ０４及び０５とループ１との間が点線矢印であるのは、未だループ１には接続されておらず、より上流にある増設ＨＤＤ０１についてのアドレス診断結果がＯＫとなった場合に、増設ＨＤＤ０４、０５の順で、ループ１に接続される。
【００３７】
なお、ループ１からの既設ＨＤＤ００、０２及び０３の切断は、いずれかの増設ＨＤＤ（例えば増設ＨＤＤ０１）がループ１に接続される前に行われる。なぜなら、ＨＤＤ００、０２及び０３がループ１に接続されたまま増設ＨＤＤ０１がループ１に接続され、増設ＨＤＤ０１が取得したアドレスが既設ＨＤＤ００、０２及び０３のいずれかのアドレスと重複してしまっていると、重複したアドレスを有する既設ＨＤＤ００、０２又は０３が閉塞されてしまうからである。言い換えれば、ループ１に接続された増設ＨＤＤ０１が取得したアドレスが既設ＨＤＤ００、０２及び０３のいずれかのアドレスと重複してしまっていても、重複したアドレスを有する既設ＨＤＤ００、０２又は０３が閉塞されてしまわないようにするためである。
【００３８】
本実施形態では、ＤＫＡ０（及びＤＫＡ１）によって、後に図７乃至図１１を参照して説明する処理が行われるが、それらの処理は、例えば、ＤＫＡ０（ＤＫＡ１）内のＣＰＵで、ＤＫＡ０（ＤＫＡ１）のメモリに記憶されているコンピュータプログラムが実行されることによって行われる。そのコンピュータプログラムとしては、例えば、図１２に示すように、図７乃至図９の処理を実行するループ参加制御プログラム２１１と、図１０及び図１１の処理を実行する障害診断プログラム２１２がある（図１２には、コンピュータプログラムを「ＰＧ」と略記している）。
【００３９】
ＤＫＡ０及びＤＫＡ１は、適宜、ＳＭ１３に記憶されている管理情報を参照する。管理情報としては、例えば、図１３に示すように、指示テーブル２０１と、既設テーブル２１と、増設テーブル２３と、アドレステーブル２５とがある。
【００４０】
指示テーブル２０１には、増設ＨＤＤの数、及び、増設ＨＤＤの実装位置を表す情報（例えば、ＨＤＤ位置番号（以下、ＨＤＤ位置＃））が記録される。これらの情報要素は、ＳＶＰ１７から入力された情報要素である。なお、ＨＤＤ位置としては、例えば、ＨＤＤ１５が挿されるスロットの番号、或いは、スロットに挿されたＨＤＤ１５が接続されるコネクタの番号等を採用することができる。
【００４１】
既設テーブル２１、増設テーブル２３及びアドレステーブル２５については、図３〜図５を参照して詳細に説明する。
【００４２】
図３は、既設テーブル２１の構成例を示す。
【００４３】
既設テーブル２１には、各既設ＨＤＤがループ０及びループ１に接続されているか否かが記録される。具体的には、既設テーブル２１には、既設ＨＤＤ毎（ＨＤＤ００、ＨＤＤ０２、及びＨＤＤ０３）に、例えば、ＨＤＤ位置＃と、ループ０接続状態情報と、ループ１接続状態情報とが記録される。ループ０接続状態情報は、ループ０に既設ＨＤＤが接続されているか否かを示す情報であり、ループ１接続状態情報は、ループ１に既設ＨＤＤが接続されているか否かを示す情報である。接続状態情報は、“ＯＮ”であれば接続を表し、“ＯＦＦ”ではあれば切断を表す。従って、図３の例によれば、既設ＨＤＤ００、０２及び０３が、ループ０に接続されており、ループ１から切断されていることがわかる。
【００４４】
接続状態情報が“ＯＮ”を表していれば、その情報に対応する既設ＨＤＤが、その情報に対応するループに接続されていることになる。一方で、接続状態情報が“ＯＦＦ”を表していれば、その情報に対応する既設ＨＤＤが、その情報に対応するループから切断されていることになる。
【００４５】
図４は、増設テーブル２３の構成例を示す。
【００４６】
増設テーブル２３には、各増設ＨＤＤのループ０及びループ１についてのアドレス診断結果が記録される。具体的には、増設テーブル２３には、増設ＨＤＤ毎（ＨＤＤ０１、ＨＤＤ０４、及びＨＤＤ０５）に、例えば、ＨＤＤ位置＃、ループ０診断結果情報、ループ１診断結果情報が記録される。ループ０診断結果情報は、ループ０についてのアドレス診断結果を表す情報である。ループ１診断結果情報は、ループ１についてのアドレス診断結果を表す情報である。診断結果情報が“ＯＮ”を表していれば、その情報に対応する増設ＨＤＤは、その情報に対応するループについてアドレス診断の結果がＯＫであるということを示す。一方、診断結果情報が“ＯＦＦ”を表していれば、その情報に対応する増設ＨＤＤは、その情報に対応するループについてアドレス診断の結果がＮＧであるということを示す。増設ＨＤＤが取り付けられた場合は、ループ０及びループ１のいずれの診断結果情報も“ＯＦＦ”である。
【００４７】
図５は、アドレステーブル２５の構成例を示す。
【００４８】
アドレステーブル２５には、ＨＤＤ位置毎に、ＨＤＤ位置＃と、取得されるべきアドレスと、実際に取得されたアドレスとが記録される。本実施形態では、ストレージシステム２０でのＨＤＤの実装位置毎に、その実装位置に取り付けられたＨＤＤによって取得されるべきアドレスが予め決まっている。
【００４９】
ＤＫＡ０（ＤＫＡ１）は、後述する障害診断に関する情報を、ＳＶＰ１７に送信し、ＳＶＰ１７が、例えば、図６Ａ〜図６Ｃに例示するような診断画面を表示することができる。
【００５０】
図６Ａは、障害診断中に表示された診断画面の一例を示す。
【００５１】
診断画面には、障害診断に関する情報として、下記４種類の情報、
（６Ａ−１）どちらのループについて障害診断が行われているかを示す情報（Loop）；
（６Ａ−２）現在アドレス診断が行われている増設ＨＤＤの位置＃（HDD Location）；
（６Ａ−３）障害診断の進捗を示す情報（Progress）；及び
（６Ａ−４）障害診断の状況を示す情報（Status）
が表示される。
【００５２】
ユーザは、図６Ａに示す診断画面を参照すれば、障害診断がループ０について行われていて、現在アドレス診断中の増設ＨＤＤは、ＨＤＤ位置＃“HDDR00-07”に取り付けられているＨＤＤであることがわかる。また、ループ０についての障害診断が全体の２５％終了しており、現在も診断継続中（“Running”）であることもわかる。
【００５３】
図６Ｂは、障害診断が正常終了した場合に表示された診断画面の一例である。
【００５４】
ユーザは、この画面を参照すれば、ループ１について行われた障害診断が正常終了したこと（Normal END）がわかる。
【００５５】
図６Ｃは、障害診断が異常終了した場合に表示された診断画面の一例である。
【００５６】
ユーザは、この画面を参照すれば、ループ０についての障害診断が全体の４０％まで終了した時点で、その障害診断が異常終了したこと（Abnormal END）がわかる。また、異常終了の原因となった増設ＨＤＤが、ＨＤＤ位置＃“HDDR00-07”に取り付けられているＨＤＤであることがわかる。
【００５７】
以下、本実施形態において行われる処理の流れを説明する。
【００５８】
図７乃至図９は、ＨＤＤを増設する際に行われるループ参加処理の処理フローを示す。ＤＫＡ０とＤＫＡ１とが適時連携することで、この処理フローが実現される。この処理フローは、前述したように、ＤＫＡ０（ＤＫＡ１）でループ参加制御プログラム２１１が実行されることで行われる。
【００５９】
初期的に、前述したように、全ての既設ＨＤＤ（００、０２、０３）が、ループ０及びループ１の両方に接続されており、全ての増設ＨＤＤ（０１、０４、０５）が、ループ０及びループ０の両方から切断されている。
【００６０】
ＤＫＡ０が、ループ０についての障害診断を実行する。この障害診断の処理フローは、後に図１０を参照して説明する（Ｓ５１）。なお、図示の「ｉ」は変数であり、「ｉ＝０」とは、ループ０についての障害診断が行われることを意味する。また、障害診断は、例えば、ループ参加制御プログラム２１１が障害診断プログラム２１２を呼び出すことにより行われる。
【００６１】
この障害診断が正常に終了すると、ＨＤＤ１５とループ０及びループ１との接続／切断の状態が、初期の状態に戻される。
【００６２】
すなわち、ＤＫＡ０が、ＦＳＷ０内のＰＢＣ０−０１、０−０４、０−０５に切断信号を送信することで、全ての増設ＨＤＤ（０１、０４、０５）をループ０から切断する（Ｓ５２）。
【００６３】
また、ＤＫＡ１が、ＦＳＷ１内のＰＢＣ１−００、１−０２、１−０３に接続信号を送信することで、全ての既設ＨＤＤ（００、０２、０３）をループ１に接続する（Ｓ５３）。
【００６４】
次に、ＤＫＡ１が、ループ１についての障害診断を実行する（Ｓ５４）。この障害診断の処理フローは、図１０を参照して説明する通りである。なお、図示の「ｉ＝１」とは、ループ１についての障害診断が行われることを意味する。
【００６５】
この障害診断が正常に終了すると、ＤＫＡ１は、増設テーブル２３を参照し、ループ０について“ＯＦＦ”があるか否かを判断する（Ｓ５５）。すなわち、ループ０について障害診断が未実施の増設ＨＤＤがあるか否かが判断される。なお、この段階で、ループ０について“ＯＦＦ”となるケースとしては、Ｓ５２乃至Ｓ５４において、増設ＨＤＤが新たに追加されたケースか、或いは、増設ＨＤＤが交換されたケースが考えられる。
【００６６】
Ｓ５５の判断の結果が否定的の場合（Ｓ５５：ＮＯ）、ＤＫＡ０は、全てのＨＤＤ１５（つまり、ＨＤＤ０１〜ＨＤＤ０６）をループ０に接続する（Ｓ５６）。また、ＤＫＡ１は、全てのＨＤＤ１５をループ１に接続する（Ｓ５７）。そして、ＤＫＡ０（ＤＫＡ１）は、全ての増設ＨＤＤを既設ＨＤＤとして管理する。具体的には、ＤＫＡ０（又はＤＫＡ１）が、増設ＨＤＤのＨＤＤ位置＃を、既設テーブル２１に登録し（Ｓ５８）、増設テーブル２３から、全ての増設ＨＤＤに関する情報を削除する。
【００６７】
Ｓ５５の判断の結果が肯定的の場合（Ｓ５５：ＮＯ）、図８に示すように、ＤＫＡ１は、ＨＤＤ１５とループ０及びループ１との接続／切断の状態を、初期の状態に戻す。すなわち、ＤＫＡ１が、全ての増設ＨＤＤをループ１から切断し（Ｓ６１）、その後、全ての既設ＨＤＤをループ１に接続する（Ｓ６２）。
【００６８】
次に、ＤＫＡ０が、ループ０についての障害診断を実行する（Ｓ６３）。この障害診断は、ループ０についての障害診断が未実施の増設ＨＤＤ（障害テーブル２３においてループ０について“ＯＦＦ”となっている増設ＨＤＤ）についてのみ行われる。
【００６９】
この障害診断が正常に終了すると、ＤＫＡ０は、増設テーブル２３を参照し、ループ１について“ＯＦＦ”があるか否かを判断する（Ｓ６４）。すなわち、ループ１について障害診断が未実施の増設ＨＤＤがあるか否かが判断される。なお、この段階で、ループ１について“ＯＦＦ”となるケースとしては、Ｓ６１乃至Ｓ６３において、増設ＨＤＤが新たに追加されたケースか、或いは、増設ＨＤＤが交換されたケースが考えられる。
【００７０】
Ｓ６４の判断の結果が否定的の場合（Ｓ６４：ＮＯ）、前述したＳ５６乃至Ｓ５９と同様の処理が行われる（Ｓ６５乃至Ｓ６８）。
【００７１】
Ｓ６４の判断の結果が肯定的の場合（Ｓ６４：ＹＥＳ）、図９に示すように、ＤＫＡ０は、ＨＤＤ１５とループ０及びループ１との接続／切断の状態を、初期の状態に戻す。すなわち、ＤＫＡ０は、全ての増設ＨＤＤ１５をループ０から切断し（Ｓ７１）、その後、全ての既設ＨＤＤをループ０に接続する（Ｓ７２）。
【００７２】
次に、ＤＫＡ１が、ループ１についての障害診断を実行する（Ｓ７３）。この障害診断は、ループ１についての障害診断が未実施の増設ＨＤＤ（障害テーブル２３においてループ１について“ＯＦＦ”となっている増設ＨＤＤ）についてのみ行われる。
【００７３】
この障害診断が正常に終了すると、ＤＫＡ０は、増設テーブル２３を参照し、ループ０について“ＯＦＦ”があるか否かを判断する（Ｓ７４）。すなわち、ループ０について障害診断が未実施の増設ＨＤＤがあるか否かが判断される。なお、この段階で、ループ０について“ＯＦＦ”となるケースとしては、Ｓ７１乃至Ｓ７３において、増設ＨＤＤが新たに追加されたケースか、或いは、増設ＨＤＤが交換されたケースが考えられる。
【００７４】
Ｓ７４の判断の結果が肯定的の場合（Ｓ７４：ＹＥＳ）、図８のＳ６１以降が行われる。
【００７５】
一方、Ｓ７４の判断の結果が否定的の場合（Ｓ７４：ＮＯ）、前述したＳ５６乃至Ｓ５９と同様の処理が行われる（Ｓ７５乃至Ｓ７８）。
【００７６】
図７乃至図９に示したループ参加処理が終了すると、ＨＤＤとループとの接続／切断状態は、例えば、図２に示した状態から図１４に示す状態に変わる。すなわち、全てのＨＤＤ００〜０５がループ０及びループ１の両方に接続され、且つ、全ての増設ＨＤＤ（０１、０４、０５）が既設ＨＤＤとなることで、６台のＨＤＤ００〜０６が既設ＨＤＤのみで構成される。
【００７７】
図１０は、障害診断の処理フローを示す。
【００７８】
ＤＫＡｉは、全ての既設ＨＤＤをループｉから切断する（Ｓ８１）。なお、「ｉ」とは、前述した変数であり、ｉに代入される値は、０又は１である。
【００７９】
次に、ＤＫＡｉは、既設テーブル２１における、既設ＨＤＤが接続されているループに対応した接続状態情報を、全て“ＯＮ”にする（Ｓ８２）。
【００８０】
次に、ＤＫＡｉは、ループｉに未接続の増設ＨＤＤのうち最も上流側の増設ＨＤＤをループｉに接続し、その増設ＨＤＤに、初期化コマンドを発行する（Ｓ８３）。「初期化コマンド」とは、ＨＤＤをループにリンクアップさせるためのコマンドである。「リンクアップ」とは、ループｉに接続されたＨＤＤとコントローラとがリンクすることである。
【００８１】
初期化コマンドに応答して増設ＨＤＤがリンクアップしてきた場合（Ｓ８４：ＹＥＳ）、ＤＫＡｉは、その増設ＨＤＤについてアドレス診断を実行する（Ｓ８５）。アドレス診断の処理フローは、後に図１１を参照して説明する。
【００８２】
次に、ＤＫＡｉは、Ｓ８５のアドレス診断の結果がＯＫか否かを、増設テーブル２３を参照することで判断する（Ｓ８６）。ここでは、アドレス診断の対象の増設ＨＤＤに関し、増設テーブル２３において、ループｉについて診断結果情報が“ＯＦＦ”となっていれば、診断結果がＮＧであり、診断結果情報が“ＯＮ”となっていれば、診断結果がＯＫであるということになる。
【００８３】
Ｓ８６の判断の結果が肯定的の場合（Ｓ８６：ＹＥＳ）、ＤＫＡｉが、増設テーブル２３を参照し、ループｉに未接続の他の増設ＨＤＤがあるか否かを判断する（Ｓ８７）。ここでは、増設テーブル２３において、ループｉについて診断結果情報“ＯＦＦ”があれば、ループｉに未接続の他の増設ＨＤＤがあり、ループｉについて診断結果情報“ＯＦＦ”が無ければ、ループｉに未接続の他の増設ＨＤＤが無いということになる。
【００８４】
Ｓ８７の判断の結果が肯定的の場合（Ｓ８７：ＹＥＳ）、ＤＫＡｉは、ループｉに未接続の他の増設ＨＤＤについて、Ｓ８３移行を実行する。
【００８５】
Ｓ８７の判断の結果が否定的の場合（Ｓ８７：ＮＯ）、ＤＫＡｉは、この障害診断を終了する。この場合、正常にこの障害診断を終了したことを表す情報がＤＫＡｉからＳＶＰ１７に送られ、例えば図６Ｂに示した診断画面が表示される。
【００８６】
さて、Ｓ８６の判断の結果が否定的の場合（Ｓ８６：ＮＯ）、ＤＫＡｉは、アドレス診断の結果がＮＧである増設ＨＤＤを閉塞する（Ｓ８８）。
【００８７】
次に、ＤＫＡｉは、その閉塞された増設ＨＤＤの取外しを許可し（例えば、特定のＬＥＤを点灯させ）（Ｓ８９）、ＳＶＰ１７に、増設ＮＧを知らせるメッセージを出力する（Ｓ９０）。その際、例えば、ＤＫＡｉは、増設処理を続行するか否かをＳＶＰ１７を通じてユーザに問い合せる。
【００８８】
ユーザは、増設処理を続行するか否かをＳＶＰ１７に入力する。ＤＫＡｉは、増設処理を続行するか否かの情報をＳＶＰ１７から受ける。ＤＫＡｉは、その情報を基に、増設処理を続行するか否かを判断する（Ｓ９１）。
【００８９】
Ｓ９１の判断の結果が否定的であれば（つまり増設処理を中止するのであれば）（Ｓ９１：ＮＯ）、ＤＫＡｉは、障害診断を異常終了とし、障害診断が異常終了となったことをＳＶＰ１７に通知する。この場合、例えば図６Ｃに示した診断画面が表示される。
【００９０】
Ｓ９１の判断の結果が肯定的であれば（つまり増設処理を続行するのであれば）（Ｓ９１：ＹＥＳ）、ＤＫＡｉは、ユーザに、アドレス診断の結果がＮＧとなった増設ＨＤＤの取り外し及び再取り付けを命ずる（Ｓ９２）。ユーザは、その増設ＨＤＤを一旦取り外し、その後、その増設ＨＤＤ（又は交換後の増設ＨＤＤ）を同じ実装位置に取り付ける。その後、その取り付けられた増設ＨＤＤを対象に、Ｓ８３以降の処理が行われる。
【００９１】
これらＳ８８〜Ｓ９２は、接続された増設ＨＤＤがリンクアップしてこないとき（Ｓ８４：ＮＯ）にも行われる。
【００９２】
図１１は、アドレス診断の処理フローを示す。
【００９３】
リンクアップした増設ＨＤＤが、自分のアドレスを取得する。ＤＫＡｉが、そのアドレスを、ループｉを介して、そのリンクアップしてきた増設ＨＤＤから取得する（Ｓ１０１）。
【００９４】
ＤＫＡｉは、アドレステーブル２５を参照し（Ｓ１０２）、Ｓ１０１で取得されたアドレスと重複するアドレスがアドレステーブル２５に存在するか否かを判断する（Ｓ１０３）。
【００９５】
Ｓ１０３の判断の結果が肯定的の場合（つまり重複するアドレスが存在する場合）（Ｓ１０３：ＹＥＳ）、ＤＫＡｉは、Ｓ１０１で取得されたアドレスを取得した増設ＨＤＤについて、増設テーブル２３における、ループｉに対応した診断結果情報を更新しない（Ｓ１０４）。このため、その診断結果情報は、“ＯＦＦ”のままである。言い換えれば、その増設ＨＤＤについて、アドレス診断の結果として、ＮＧが、増設テーブル２３に登録されたことになる。
【００９６】
Ｓ１０３の判断の結果が否定的の場合（つまり重複するアドレスが存在しない場合）（Ｓ１０３：ＮＯ）、ＤＫＡｉは、リンクアップしてきた増設ＨＤＤが所定のアドレスを取得したか否かの判断を行う（Ｓ１０５）。
【００９７】
Ｓ１０５の判断の結果が否定的であれば（すなわち、Ｓ１０１で取得されたアドレスが、その増設ＨＤＤの実装位置に対応した所定のアドレス（アドレステーブル２５に予め登録されている、取得されるべきアドレス）であれば）（Ｓ１０５：ＮＯ）、Ｓ１０４が行われる。
【００９８】
一方。Ｓ１０５の判断の結果が肯定的であれば（Ｓ１０５：ＹＥＳ）、ＤＫＡｉは、Ｓ１０１で取得されたアドレスを取得した増設ＨＤＤについて、増設テーブル２３における、ループｉに対応した診断結果情報を、“ＯＦＦ”から“ＯＮ”に更新する（Ｓ１０６）。言い換えれば、その増設ＨＤＤについて、アドレス診断の結果として、ＯＫが、増設テーブル２３に登録されたことになる。
【００９９】
以上、本実施形態によれば、二重化されているループ０及びループ１のうち、一方のループが、増設ＨＤＤ用のループとされ、他方のループが、既設ＨＤＤ用のループとされる。このため、増設ＨＤＤ用のループを介して、不適正なアドレス（アドレステーブル２５に登録済みのアドレスと重複するアドレス、又は、実装位置に応じた所定のアドレスではないアドレス）が取得されても、既設ＨＤＤに影響を与えることなく増設処理を行うことができる。
【０１００】
また、本実施形態によれば、障害のある増設ＨＤＤ（不適正なアドレスを取得した増設ＨＤＤ）が検出された場合、増設処理を続行するか否かの選択をユーザから受け付け、続行が選択された場合には、ユーザにその増設ＨＤＤの減設及び再増設を実行させて、図１０のＳ８３から処理をやり直す。言い換えれば、本実施形態では、障害のある増設ＨＤＤが検出されても、増設処理を最初からやり直さなくても済む。
【０１０１】
また、本実施形態では、ループ０及びループ１のいずれかに必ず既設ＨＤＤが接続されているため、増設処理のために上位装置１からのＩ／Ｏを止める必要が無い。
【０１０２】
以上、本発明の好適な実施形態を説明したが、本発明は、この実施形態に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【図１】
2011523108.tif 000003
【図２】
2011523108.tif 000004
【図３】
2011523108.tif 000005
【図４】
2011523108.tif 000006
【図５】
2011523108.tif 000007
【図６Ａ】
2011523108.tif 000008
【図６Ｂ】
2011523108.tif 000009
【図６Ｃ】
2011523108.tif 000010
【図７】
2011523108.tif 000011
【図８】
2011523108.tif 000012
【図９】
2011523108.tif 000013
【図１０】
2011523108.tif 000014
【図１１】
2011523108.tif 000015
【図１２】
2011523108.tif 000016
【図１３】
2011523108.tif 000017
【図１４】
2011523108.tif 000018
【国際調査報告】
2011523108.tif 000019
2011523108.tif 000020