(57)【特許請求の範囲】
【請求項１】
コンピュータ・システムにおいて、
アレイ・コントローラと、
前記アレイ・コントローラに接続され、第１の順番に配置されている複数のハード・ドライブを含んでいる記憶サブシステムであって、これらハード・ドライブにまたがって複数の論理ドライブ装置を指定可能であり、各論理ドライブ装置は、複数のハード・ドライブを含み、かつハード・ドライブの位置を昇順で指定した場合にのみ構成可能である、記憶サブシステムと
を備えており、
前記アレイ・コントローラは、
前記複数のハード・ドライブの識別番号、位置を示す位置番号、及びどの論理ドライブ装置に関連するかを示す情報を含む構成情報に基づき、前記複数のハード・ドライブが前記記憶サブシステムの中で前記第１の順番から第２の順番に配列変更されたかどうかを判定するよう構成され、
前記第２の順番に配列変更されたと判定した場合、前記複数のハード・ドライブの前記構成情報を、前記第２の順番となるように再編成するよう構成され、
再編成された前記構成情報に基づいて、第１の論理ドライブ装置に関連する複数のハード・ドライブが前記記憶サブシステム内に非昇順で配置されているかどうかを判定するように構成され、
前記第１の論理ドライブ装置に関連する前記複数のハード・ドライブが非昇順であると判定した場合、これらハード・ドライブが昇順に配置されるようにするための情報を、ユーザに提供するよう構成されている
ことを特徴とするコンピュータ・システム。
【請求項２】
請求項１記載のコンピュータ・システムにおいて、前記複数のハード・ドライブの各々は、前記構成情報を格納するための記憶領域を備えていることを特徴とするコンピュータ・システム。
【請求項３】
請求項１又は２記載のコンピュータ・システムにおいて、前記アレイ・コントローラは更に、
前記構成情報に基づいて、前記記憶サブシステムに第２の論理ドライブ装置が追加されたかどうかを判定するように構成されており、
前記第２の論理ドライブ装置が追加されたと判定した場合、前記構成情報を、前記第１の論理ドライブ装置及び前記第２の論理ドライブ装置それぞれにおける複数のハード・ドライブの配列を示すように再編成するよう構成されている
ことを特徴とするコンピュータ・システム。
【請求項４】
請求項１〜３いずれかに記載のコンピュータ・システムにおいて、前記アレイ・コントローラは、前記記憶サブシステムの電源投入時に、複数のハード・ドライブの配列変更が生じたかどうかを判定するように構成されていることを特徴とするコンピュータ・システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、アレイ・コントローラ及び記憶サブシステムを備えたコンピュータ・システムに関する。よりに詳しくは、本発明は、記憶サブシステム内での複数台のハード・ディスク・ドライブ（ｈａｒｄ  ｄｉｓｋ  ｄｒｉｖｅ）の配列変更及び自動的再構成（ｒｅｃｏｎｆｉｇｕｒａｔｉｏｎ）を、記憶内容を喪失することなく行えるようにした、アレイ・コントローラに関するものである。ここでいうハード・ディスク・ドライブの配列変更には、記憶サブシステム内での複数台のハード・ドライブの配列変更（ｒｅａｒｒａｎｇｅｍｅｎｔ）も含まれ、また、記憶サブシステムへの１台ないし複数台の論理ドライブ装置の追加も含まれ、更には、それらだけに限られずその他の配列変更も含まれる。
【０００２】
【従来の技術】
ドライブ・アレイとは、簡単にいえば、複数台のハード・ディスク・ドライブ等の物理ドライブの集合体であり、それらドライブを編成して１つの物理ドライブ・アレイとしたものである。１つのドライブ・アレイは、１つまたは複数の、論理ドライブ（論理ドライブ装置）と呼ばれる部分集合から成る。論理ドライブ装置は、ときに論理ボリュームと呼ばれることもある。１台の論理ドライブ装置は、そのドライブ・アレイに含まれている複数台の物理ドライブのうちの１台の物理ドライブ上に存在していることもあり、また、２台以上の物理ドライブにまたがって存在していることもある。ただしオペレーティング・システムは、複数台の物理ドライブにまたがって存在している論理ドライブ装置であっても、１つの連続した記憶空間として認識する。
【０００３】
記憶サブシステムに用いられる一般的なドライブ・アレイの一例を図１に示した。この図１のドライブ・アレイは、３台の物理ドライブにまたがって存在している１台の論理装置として構成されている。図２及び図３は、記憶サブシステムに用いられるドライブ・アレイの構成例として、更に別の例を示したものである。これらの図のうち、図２に示した記憶サブシステムは６台の物理ドライブから成り、それら６台の物理ドライブは、２台の論理ドライブ装置を備えた１つのドライブ・アレイを構成するように構成（ｃｏｎｆｉｇｕｒｅ）されている。図３に示した記憶サブシステムは、１つのドライブ・アレイを構成する３台の物理ドライブから成り、それら３台の物理ドライブにまたがって２台の論理ドライブ装置が存在している。当業者には容易に理解されるように、１つまたは複数の記憶サブシステムに含まれている１つまたは複数のドライブ・アレイの構成（ｃｏｎｆｉｇｕｒａｔｉｏｎ）に際しては、様々な形に構成することができる。
【０００４】
【発明が解決しようとする課題及び課題を解決するための手段】
本発明の１つの目的は、次のような記憶サブシステムを提供することにある。その記憶サブシステムとは、複数台のハード・ドライブを備えており、電源投入時に、この記憶サブシステムの複数のハード・ドライブ位置の間でそれら複数台のハード・ドライブが配列変更されたか否かを判定できるように構成されていると共に、ハード・ドライブ位置が変更されていたならばその新たなハード・ドライブ位置に応じて、この記憶サブシステムに含まれている複数台のハード・ドライブを自動的に再構成（ｒｅｃｏｎｆｉｇｕｒａｔｉｏｎ）することができるように構成されているものである。
【０００５】
本発明の更なる目的は、次のような記憶サブシステム及びアレイ・コントローラを提供することにある。それら記憶サブシステム及びアレイ・コントローラにおいては、記憶サブシステムが複数台のハード・ドライブを備えており、それらハード・ドライブが第１状態に構成されており、この第１状態とは、論理ドライブ装置を含んでいる状態である。また、アレイ・コントローラは、記憶サブシステムに新たな論理ドライブ装置が追加されたか否かを判定できるように構成されていると共に、記憶サブシステムに含まれている全てのハード・ドライブを第２状態に自動的に再構成することができるように構成されているものである。
【０００６】
【発明の実施の形態】
本発明の以上の目的及び利点、並びにその他の目的及び利点は、以下に示す、現時点で好適であると考えられる実施の形態についての説明を、添付図面と共に参照することによって、より明瞭に且つ容易に理解することができる。
【０００７】
アレイ・コントローラは、一般的に、１つまたは複数のドライブ・アレイに接続して、そのドライブ・アレイの制御や構成を実行するために用いられている。アレイ・コントローラは、ネットワーク・サーバやパーソナル・コンピュータに接続され、また、その他の様々な種類のコンピュータ・システムにも接続される。図４は、コンピュータ・システムの一部分を成しているサーバを示した図である。サーバは一般的に、中央処理装置（ＣＰＵ）、マザーボード、モニタ等で構成されている。
【０００８】
図４のサーバ１０は、様々な構成要素で構成されているが、それら構成要素のうちにでも特に、本発明にかかるアレイ・コントローラ１２を備えている。このアレイ・コントローラ１２は、サーバ１０のマザーボードに一体化した回路として構成してもよく、或いは、マザーボードとは別体の、回路カードないしサブシステムとして構成してもよい。アレイ・コントローラ１２は、その設計次第で、様々な方式のデータ及びデータ転送構成に対応させることができ、例えば、ＥＩＳＡ、ＰＣＩ、ＳＣＳＩ、ＩＤＥ、ＩＰＩ等々に対応可能なものとすることができる。これらのデータ転送方式ないしデータ・バス方式は、アレイ・コントローラ回路の設計の分野では周知のものである。
【０００９】
アレイ・コントローラ１２は、記憶サブシステム１４に接続されている。記憶サブシステム１４は、サーバ１０の中に構築してもよく、或いは、サーバ１０とは別体の装置の中に構築してもよい。記憶サブシステム１４は、通常は複数台のハード・ドライブ１６で構成される。それらハード・ドライブ１６は「ベイ」ないしスロットの中に装備される。図４に示した記憶サブシステム１４は、６つのベイを備えている。従ってこの記憶サブシステム１４には、最大で６台までの物理ドライブ１６を装備することができる。物理ドライブであるハード・ドライブ１６の容量は、一般的に入手可能なドライブ装置の容量でよく、例えば１ギガバイト、４ギガバイト、或いは９ギガバイト等でもよい。
【００１０】
アレイ・コントローラ１２を用いて、記憶サブシステム１４の全体で１台の論理装置を構成するようにすることも可能であり、或いは、物理ドライブのうちの２台の物理ドライブで１台の論理装置を構成し、残りの４台の物理ドライブでもう１台の論理装置を構成するようにすることも可能である。１台の論理装置（論理ドライブ装置）を構成するのに、１台のハード・ドライブで構成することもあれば、複数台のハード・ドライブで構成することもあり、更には、１台または複数台のハード・ドライブの一部分で構成することもあるが、いずれの場合にも、論理装置は、あたかも１台のハード・ドライブであるかのように取扱われる。
【００１１】
図５は、１つの記憶サブシステムの説明図である。この図５に示した記憶サブシステム１８は、本発明の幾つかの特徴的局面のうちの、１つを備えたものである。記憶サブシステムＡ（１８）は、７台の物理ドライブで構成された記憶サブシステムであり、それらのうち第１物理ドライブ〜第３物理ドライブで第０論理装置２０が構成されており、また第４物理ドライブ〜第７物理ドライブで第１論理装置２２が構成されている。
【００１２】
それら物理ドライブは、ハード・ドライブであってもよく、また、書換可能レーザ・ドライブや、テープ・ドライブ、或いは更にその他の適当な、任意の書換可能な記憶媒体であってもよい。この好適な実施の形態では、それら物理ドライブはハード・ドライブである。
【００１３】
図５は更に第１物理ドライブ２４の説明図の部分を含んでおり、これについて以下に説明する。ハード・ドライブの容量は、利用可能なデータ記憶空間の大きさで表される。ハード・ドライブは、セクタと呼ばれる記憶領域に分割することができる。その場合、１台のハード・ドライブに含まれるセクタの総数は、例えば３万セクタほどになることもある。ハード・ドライブにおいては、その記憶領域の一部分を、重要なシステム情報を記憶させるための予約領域とするということも行われている。この好適な実施の形態では、個々のハード・ドライブ２４の予約領域２６は、その大きさを１０８８セクタとしてあり、また、個々のハード・ドライブ２４の先頭の１０８８セクタをこの予約領域２６に割当ててある。予約領域２６の大きさ及び割当位置はこれらに限られず、様々な大きさとすることができ、ハード・ドライブ上の任意の位置に割当てることができ、更には、そのハード・ドライブとは別体の、データ情報格納用の略々同様の装置に割当てることも可能である。この実施の形態に関しては、予約領域２６のことを予約情報セクタ（ＲＩＳ）と呼ぶことにする。
【００１４】
ＲＩＳ２６に、物理ドライブ及び論理ドライブ装置についての構成情報を記憶させるようにしている。構成情報を生成して個々の物理ドライブのＲＩＳ２６に記憶させるのは、即ち格納するのは、アレイ・コントローラ１２である。ＲＩＳ２６には様々な種類の情報が格納され、それら情報には、例えば、パフォーマンス情報、フォールト・トレランス情報、ハードウェア・トポロジー情報、物理ドライブ番号、ドライブ位置番号、論理装置関連情報、それに、個々の物理ドライブがどの論理ドライブ装置に所属するか（１台の物理ドライブが同時に２台以上の論理ドライブ装置に所属することもある）を表す情報等があり、更にその他の情報も含まれる。
【００１５】
この実施の形態においては、記憶サブシステム１４に含まれている複数台の物理ドライブは、それら物理ドライブのＲＩＳ２６の内容が、物理ドライブ番号及びドライブ位置番号を表す情報以外は、互いに同一となるように構成されている。
【００１６】
本発明の第１の実施の形態では、アレイ・コントローラ１２が、記憶サブシステム１４に含まれている複数台の物理ドライブの位置が変更された（別のドライブ・ベイへ移動された）場合に、ソフトウェアとユーザとの間の情報交換を必要とすることなく、それら物理ドライブのＲＩＳ２６を自動的に再構成できるように構成されている。
【００１７】
これについて、図５の記憶サブシステムＡ（１８）及び記憶サブシステムＡ’（２８）と、図４とを参照して以下に説明する。ここでは、第４物理ドライブ及び第５物理ドライブを記憶サブシステムＡ（１８）から一旦取外して再装着する際に、物理ドライブ位置を間違えて装着したために、それまでは記憶サブシステムＡ（１８）として構成されていたものが、記憶サブシステムＡ’（２８）になったものとする。この場合、本発明のこの実施の形態にかかるアレイ・コントローラ１２は、それら物理ドライブのドライブ位置が、記憶サブシステム（１８、２８、１４）の内部で変化したことを認識する。アレイ・コントローラ１２は、この物理ドライブの移動を認識するために、システムの電源投入時に、個々の物理ドライブのＲＩＳ２６からの読取りを実行する。それらＲＩＳ２６から、ドライブ位置に対するドライブ番号が変化していることが分かる。続いて、この実施の形態のアレイ・コントローラ１２のファームウェアが、記憶サブシステム１４の再構成を自動的に実行し、この再構成によって、個々の物理ドライブのＲＩＳ２６が、ドライブ位置と物理ドライブ番号との関係を正しく表示するようにする。
【００１８】
この実施の形態は、物理ドライブ番号が記憶サブシステムの複数のドライブ位置（ベイ）の間でどのように置換された場合でも、記憶サブシステム１４に再構成を施すことができる。更に、この実施の形態は、論理装置が、記憶サブシステムの複数台の物理ドライブに対してどのように割当てられた場合でも、記憶サブシステム１４に再構成を施すことができるように構成されている。
【００１９】
例えば、ある１つの記憶サブシステムが６台の物理ドライブから成り、最初の状態では、それら６台の物理ドライブが、図１と図３を組合せたように構成されていて、第１ドライブ位置〜第３ドライブ位置に装着されている第１物理ドライブ〜第３物理ドライブで第０論理ドライブ装置が構成され、第４ドライブ位置〜第６ドライブ位置に装着されている第４物理ドライブ〜第６物理ドライブで第１論理ドライブ装置及び第２論理ドライブ装置が構成されていたものとする。そして、第１論理ドライブ装置及び第２論理ドライブ装置が、第４物理ドライブ〜第６物理ドライブを同等に分け合い、更に、以上の６台の物理ドライブのＲＩＳの内容が、物理ドライブ番号及びドライブ位置に関する情報を除いて互いに同一であったものとする。
【００２０】
更に、この記憶サブシステムの電源が落とされている間に、以上の６台の物理ドライブの位置が置換されたものとする。ここでは、第１、第２、第３物理ドライブが、夫々、第５、第２、第３ドライブ位置へ移動され、一方、第４、第５、第６物理ドライブが、夫々、第４、第６、第１ドライブ位置へ移動されたものとする。記憶サブシステムへ電源が再投入されたならば、この実施の形態におけるアレイ・コントローラは、個々の物理ドライブのＲＩＳからの読取りを実行してそれら物理ドライブのドライブ位置が変化しているか否かを判定する。アレイ・コントローラは、それら物理ドライブのＲＩＳから、ドライブ位置が置換される前のそれら物理ドライブの位置関係を表す情報を得る。この情報に基づいて、この実施の形態におけるアレイ・コントローラのファームウェアが、記憶サブシステムに含まれるそれらハード・ドライブ（物理ドライブ）の再構成を実行して、ドライブ位置が置換された後の正しい関係の情報をそれら物理ドライブに付与する。即ち、個々の物理ドライブのＲＩＳ部分が、アレイ・コントローラによって再構成され（この場合、少なくとも、個々の論理ドライブ装置に対応するドライブ位置を表したテーブルが更新される）、この再構成は、ユーザ（ネットワーク管理者）からの指示を必要とすることなく、即ち、ユーザの介在なしに実行される。こうして再構成が施された記憶サブシステムにおいては、第０論理装置が、第５、第２、及び第３ドライブ位置にまたがって存在し、第１論理装置及び第２論理装置が、第４、第６、及び第１ドライブ位置にまたがって存在することになる。
【００２１】
本発明の発明者が知る限りでは、現在、多くの記憶サブシステムにおいて、記憶サブシステムの中の複数の物理ドライブ位置にまたがって存在する論理ドライブ装置を構成する際に、その論理ドライブ装置に対応する複数の物理ドライブ位置を昇順で指定することが要求されている。例えば、１つの論理ドライブ装置に対応する複数の物理ドライブ位置を指定する際に、第１ドライブ位置、第３ドライブ位置、第７ドライブ位置という順序で指定することはできても、第３ドライブ位置、第１ドライブ位置、第７ドライブ位置という順序で指定することはできず、なぜならば、後者ではドライブ位置が昇順になっていないからである。そこで、本発明のこの実施の形態の別の特徴的局面として、この実施の形態のアレイ・コントローラのファームウェアが、ドライブ位置が置換されたならば、１台の論理ドライブ装置を構成している複数台の物理ドライブのドライブ位置が昇順になっているか否かを判定するようにしたということがある。そして、それらドライブ位置が昇順になっていなかったならば、この実施の形態では、その順序が許容されないものであることをユーザ（システム管理者）に通知できるようにしている。更に、ソフトウェアがシステム管理者に対して、どのようにすれば状況を回復できるかを提示するようにしてもよい。即ち、コンピュータ・システムがシステム管理者に対して、記憶サブシステムの複数のドライブ位置の間でハード・ドライブをどのように移動させれば、記憶サブシステムの複数のベイ位置に１台の論理装置に対応した複数台の物理ドライブを装着する際にはそれら物理ドライブを昇順に並べなければならないという標準的規約を満足することができるかを提示するようにしてもよい。
【００２２】
図６は、この実施の形態にかかるアレイ・コントローラのファームウェアが実行する個々のステップのロジックを示したフローチャートである。先ずステップＳ１０では、記憶サブシステム及び／またはアレイ・コントローラに電源が投入され、アレイ・コントローラが電源投入時自己診断テストを実行する。ステップＳ１２では、アレイ・コントローラが、それが接続されている記憶サブシステムに装着されている個々の物理ドライブの現在ドライブ位置を読取る。続いてステップＳ１４では、アレイ・コントローラが、ＲＩＳ（個々の物理ドライブの予約領域部分）からの読取りを実行して、記憶サブシステム及び／またはアレイ・コントローラの電源が落とされる前の個々の物理ドライブの位置である旧ドライブ位置を判別する。尚、ＲＩＳからの読取りと、ドライブ番号のチェックとの間には、その他のプロセスのステップが幾つか存在しており、それらプロセスには、例えば、整合性チェックを実行するプロセスや、カウンタ更新チェックを実行するプロセスが含まれ、更にその他のプロセスも含まれる。
【００２３】
ステップＳ１６では、アレイ・コントローラが、第１ドライブ位置についての調査を実行して、この第１ドライブ位置に装着されているハード・ドライブのドライブ番号を調べる。ステップＳ１８では、アレイ・コントローラのファームウェアが、第１ドライブ位置に現在装備されている物理ドライブが、記憶サブシステム及び／またはアレイ・コントローラの電源が落とされる前に第１ドライブ位置に装着されていた物理ドライブと同一のものであるか否かを判定する。即ち、現在ドライブ番号が旧ドライブ番号と同一であったならば、これに続いてステップＳ２０を実行し、このステップでは、現在ドライブ位置（ここでは、第１ドライブ位置）が、ハード・ドライブが装備されているドライブ位置のうちの最後のものか否かをファームウェアが判定する。もしそれが最後のものでなかったならば（即ち、他にも調査すべきドライブが存在していたならば）ファームウェアが、次のドライブ（ここでは、第２ドライブ位置に装着されているドライブ）の調査を開始する。ここでも、第１ドライブ位置の場合と同様に、第２ドライブ位置に現在装備されている物理ドライブが、電源が落とされる前に第２ドライブ位置に装着されていた物理ドライブと同一のものであるか否かを判定する。もし仮に、第２ドライブ位置に現在装備されている物理ドライブが、第２ドライブ位置に以前装備されていた物理ドライブと同一のものでなかったならば、全ての物理ドライブのＲＩＳに対して再構成を施して、この矛盾を解消する必要があり、これをステップＳ２６で実行する。
【００２４】
全てのドライブの調査が完了したならば、ファームウェアが、それら全てのディスクのＲＩＳ領域部分を更新し、即ちＲＩＳの内容に再構成を施すことで、記憶サブシステムに含まれている全てのハード・ドライブについて、論理装置と、ドライブ番号と、ドライブ位置との間の正しい関係が表示されるようにする。
【００２５】
以上の作業は、記憶サブシステム及び／またはアレイ・コントローラの電源が落とされる前に個々のドライブがどのドライブ位置に装着されていたかを判定し、その情報を、記憶サブシステム及び／またはアレイ・コントローラに電源が再投入されたときに個々のドライブが装備されているドライブ位置と比較し、もしドライブ位置に変化が生じていたならばその変化に応じて自動的にドライブを更新し、即ちドライブに再構成を施すという作業であるが、当業者であれば、この作業を達成するための様々なソフトウェア・アルゴリズムを作成することは容易である。そのための技法としては、ドライブ番号、ドライブ通し番号、ドライブ位置、それに論理装置の割当てを表す情報を、アレイ・コントローラに付属している非揮発性メモリに格納しておき、その非揮発性メモリ内のデータを、システムに電源が再投入されたときに個々のドライブのドライブ位置と比較して、必要ならば再構成を施すようにしてもよく、更にこれ以外の技法も採用可能であることはいうまでもない。従って、本発明は、記憶サブシステムに含まれている複数のドライブが配列変更されたか否かを判定する手段と、それらドライブの非構成データを喪失することなくそれらドライブに自動的に再構成を施す手段とを備えたものである。
【００２６】
本発明の実施の形態のもう１つの特徴的局面として、記憶サブシステムに１台ないし複数台の新たな論理ドライブ装置が追加されたならば、記憶サブシステム及びそれに付随したアレイ・コントローラに電源が投入されたときに、人手の介在を必要とすることなく、その記憶サブシステムに含まれるドライブに自動的に再構成が施されるということがある。換言すれば、アレイ・コントローラ回路のファームウェアが、記憶サブシステムに新たな論理ドライブ装置が追加されたことを自動的に認識し、そして、記憶サブシステムの再構成を実行する（例えば、構成情報を更新する）ことで、その新たな論理ドライブ装置を組み込むようにしている。本発明のこの特徴的局面を、ボリューム追加といい、また特に、オフライン・ボリューム追加という。
【００２７】
図７は、以上の実施の形態における現況の組込みを行うという特徴的局面を説明するための図である。アレイ・コントローラＡ（３０）は、記憶サブシステムＡ（３２）に接続されている。記憶サブシステムＡ（３２）は、３台のハード・ドライブ（第１、第２、及び第３ハード・ドライブ）によって、単一の論理ドライブ装置（第０論理ドライブ装置）３４を構成するように構成されている。第１、第２、及び第３ハード・ドライブは、夫々、第１、第２、及び第３ベイに装備されている。更に、別の論理ドライブ装置（第０’論理ドライブ装置）３６が、記憶サブシステムＢ（３８）の中に構成されている。この第０’論理ドライブ装置３６は、第１’ハード・ドライブ及び第２’ハード・ドライブによって構成されている。更に、第１’ハード・ドライブ及び第２’ハード・ドライブは、夫々、記憶サブシステムＢ（３８）の第２ベイと第３ベイとに装備されている。記憶サブシステムＢ（３８）は、アレイ・コントローラＢに接続されている。
【００２８】
ここで例えば、システム管理者が何らかの理由で、第０論理ドライブ装置３４と第０’論理ドライブ装置３６とをまとめて１つの記憶サブシステムの中に包含させたいと考えたものとする。この場合、本発明のこの実施の形態によれば、システム管理者は単に、記憶サブシステムＡ（３２）の電源を落とし、第０’論理ドライブ装置（３６）の全体を、記憶サブシステムＡ（３２）の空きベイへ移動させて装備するだけでよい。そのようにした状態を、図７の下側部分に示してあり、図示の如く、第１’ハード・ドライブと第２’ハード・ドライブとは、記憶サブシステムＡ（３２）の第５ベイと第６ベイとに装備されている。
【００２９】
記憶サブシステムＡ（３２）に電源が投入されたならば、アレイ・コントローラＡ（３０）が、記憶サブシステムＡ（３２）に含まれている個々のハード・ドライブの予約領域部分からの読取りを実行し、それによって、この記憶サブシステムＡ（３２）に新たな論理ドライブ装置（ここでは、第０’論理ドライブ装置３６）が追加されたと判定する。続いて、アレイ・コントローラＡ（３０）は、この記憶サブシステムＡ（３２）に含まれている個々のハード・ドライブの再構成を実行し、それによって、第０’論理ドライブ装置３６の組み込みが完了する。アレイ・コントローラＡ（３０）が実行するこの再構成は、電源投入時に自動的に実行されるものである。
【００３０】
既に述べたことであるが、記憶サブシステムＢ（３８）から記憶サブシステムＡ（３２）へ第０’論理ドライブ装置３６が移設される前の時点では、記憶サブシステムＡ（３２）の中に構成されている第０論理ドライブ装置３４に所属している複数台の物理ドライブのＲＩＳ部分（「オリジナルＲＩＳ部分」）は、物理ドライブ番号及びドライブ位置を表しているデータ以外は、互いに完全に同一になっている。更に、この第０論理ドライブ装置３４を構成しているそれら物理ドライブのＲＩＳ部分は、記憶サブシステムＡ（３２）の第４、第５、第６ベイには物理ドライブが装備されていないということを表示している。
【００３１】
そして、第０’論理ドライブ装置３６の全体が記憶サブシステムＡ（３２）に追加されて、記憶サブシステムＡ（３２）に電源が投入されたならば、アレイ・コントローラＡ（３０）が、記憶サブシステムＡ（３２）に含まれている個々の物理ドライブのＲＩＳ部分からの読取りを実行し、そして、それら物理ドライブのＲＩＳ部分に含まれているデータのうち、そのＲＩＳの書込みを行ったアレイ・コントローラのＩＤを表すデータ、ドライブ位置のデータ、論理ドライブ装置番号のデータ、及び物理ドライブ番号のデータのうちの何れか１つを、当該物理ドライブの、現在ドライブ位置及び物理ドライブ番号を表しているデータと比較する。この比較及び検証の作業が完了したならば、その時点で、アレイ・コントローラＡ（３０）は、記憶サブシステムＡ（３２）に含まれている全ての物理ドライブに対して適切に再構成を施すことができる状態になっており、その再構成によって、現在ドライブ位置、物理ドライブ番号、及び当該物理ドライブが所属する論理ドライブ装置が表示されるようになる。
【００３２】
容易に理解されるように、本発明のこの特徴的局面が機能するのは、記憶サブシステムに、論理ドライブ装置の全体が追加された場合である。また、本発明のこの特徴的局面が良好に機能するのは、その論理ドライブ装置が追加されることによって、その論理ドライブ装置に所属する物理ドライブと、その記憶サブシステムに元から存在していた物理ドライブとが、混成して配列される場合である。従って本発明は、オフライン・ドライブ移動と、オフライン論理ドライブ装置追加との両方を、システムへの電源投入時に自動的に実行するものであり、その際にデータが失われることがなく、またその際に人手の介在を必要としない。
【００３３】
本明細書において先に述べたように、本発明の発明者が知る限り、現在、多くの記憶サブシステムにおいて、１台の論理ドライブ装置に所属する複数台のハード・ドライブ（物理ドライブ）を記憶サブシステムの複数のベイに装備する際には、昇順で装備することが要求されている。これに関して発明者が特に述べておきたいことは、そのような複数台の物理ドライブを昇順で並べねばならないという要求それ自体は本発明にとって必要なものではないが、１台の論理ドライブ装置を所属する複数台の物理ドライブが記憶サブシステムの複数のベイ位置に昇順に並べられていることをチェックして確かめる機能をアレイ・コントローラ回路のファームウェアに組み込んでおいてもよいということである。
【００３４】
図８は、オフライン・ボリューム追加の方法の一例を示したフローチャートである。ステップＳ１００では、電源投入時自己診断テストが実行される。この電源投入時自己診断テストの実行中に、全てのハード・ドライブの予約領域部分からの読取りが行われ、そして様々な判定が実行される。電源投入時自己診断テストの実行中に完了されるそれら作業のうちには、コントローラＩＤデータが、現在、物理ドライブからの読取りを実行しているアレイ・コントローラによって書込まれたものか否かを判定する作業がある。この情報を利用することで、記憶サブシステムに新たな論理ドライブ装置が追加されたか否かを容易に判定することができる。電源投入時自己診断テストの実行中には更に、複数台のハード・ドライブの予約領域部分のうちのどの部分が互いに同一でどの部分が互いに異なっているかも調べられる。
【００３５】
ステップＳ１１２では、アレイ・コントローラがオフライン・ドライブ移動に関する機能を実行し、この作業は先に説明したようにして行われる。即ち、この時点で、ファームウェアが、複数台のハード・ドライブのうち、どのドライブが「オリジナルの」構成の一部を構成するドライブであるか、また、どのドライブが新たに追加されたドライブであるかを判定する。この判定を行うために、オリジナルの構成を表す情報のコピーを、アレイ・コントローラに付設されているメモリに格納するようにしている。このメモリを「グローバルＲＩＳ」と呼ぶことにする。
【００３６】
ステップＳ１１４では、ファームウェア及びハードウェアが、第１ドライブ位置のドライブの調査を実行する。ここでは、第１ドライブ位置のドライブの予約領域部分（ＲＩＳ）の有効性検証を実行する。ＲＩＳの有効性検証の方法には様々なものがあるが、その一例は、当該ＲＩＳの内容が、アレイの電源が落とされる前に現在アレイ・コントローラが書込んだＲＩＳの内容と同一であったならば（ただしドライブ位置及び物理ドライブ番号（ドライブＩＤ）を除く）、そのＲＩＳが有効であると判定するという方法である。またそのためには、例えば、当該ＲＩＳをグローバルＲＩＳと比較して、両者が同一であるか否かをチェックするようにすればよい。第１ドライブ位置のハード・ドライブ（物理ドライブ）のＲＩＳが有効であったならば、システムは続いてステップＳ１１８において、そのハード・ドライブ（物理ドライブ）が、記憶サブシステムに装備されている物理ドライブのうちの最後のものか否かを判定する。もしそのバード・ドライブが、記憶サブシステムの物理ドライブのうちの最後のものではなかったならば、ステップＳ１２０においてファームウェアが、次のドライブ位置にあるドライブの調査を実行する。続いてステップＳ１１６において、そのドライブのＲＩＳの有効性検証を実行し、以下、最後のドライブに至るまでこれを反復する。
【００３７】
ステップＳ１１６における有効性検証は、調査対象のハード・ドライブのＲＩＳが有効ＲＩＳであるか否かを判定するものである。これは、アレイ・コントローラの電源が落とされた時点ではそのハード・ドライブが存在していなかったということが、そのハード・ドライブの予約領域部分の情報から判明した場合である。そのような情報は、次のようなことを表す情報であり、それは、当該ＲＩＳとグローバルＲＩＳとが一致していないこと、或いは、当該ＲＩＳに、現在アレイ・コントローラとは異なったアレイ・コントローラのＩＤないしシグニチャが書込まれていること、或いは、記憶サブシステムに含まれているその他のハード・ドライブのＲＩＳの中に、当該ＲＩＳの論理ドライブ装置のボリューム番号が存在していないこと、或いは、当該ＲＩＳが、記憶サブシステムのその他のベイに装着されているハード・ドライブのＲＩＳと、ある重要な点において異なっていることである。
【００３８】
当該ハード・ドライブのＲＩＳが無効であると判定された場合には、続いてステップＳ１２２において、そのハード・ドライブのＲＩＳの内容を再び読取る。ここで読取った内容は、例えばアレイ・コントローラに付属するローカル・メモリに格納しておけばよい。続いてステップＳ１２４では、そのＲＩＳを、それまでに格納しておいた複数のＲＩＳの夫々と比較する。この比較ステップは、現在ハード・ドライブが、それまでに格納しておいた複数のＲＩＳのうちのいずれか１つに対応した論理ドライブ装置に所属するものか、それとも、新たな論理ドライブ装置に所属するものかを判定するためのステップである。
【００３９】
ステップＳ１２６では、論理ドライブ装置が完全なものか（即ち、論理ドライブ装置の全体が揃っているか）否かをシステムが判定する。論理ドライブ装置が完全なものか否かを判定するための方法の一例は、その論理ドライブ装置に所属する個々の物理ドライブのＲＩＳ部分を調査するというものである。ＲＩＳは、その他のドライブのうちのどのドライブがその論理ドライブと同じ論理ドライブ装置に所属しているのかを表示しており、また、その論理ドライブ装置に所属する複数の物理ドライブどうしの間の正しい順序も表示している。その論理ドライブ装置が完全なものであったならば（即ち、その論理ドライブ装置に所属する全ての物理ドライブが存在していたならば）、ステップＳ１２８において、その完全な論理ドライブ装置に関する情報を、新たな有効ＲＩＳの中に組み込む。この新たな有効ＲＩＳは、ボリューム追加の判定に関する全作業が完了したときに（これについては以下に説明する）、記憶サブシステムに含まれている全てのドライブにコピーされる。この後、ステップＳ１１８において、調査対象のドライブが、最後のドライブか否かを判定する。
【００４０】
一方、ステップＳ１２６において、論理ドライブ装置（ボリューム）が完全なものではないと判定されたならば、プログラムはそこから直接ステップＳ１１８へ進み、そこで、調査対象の物理ドライブが、記憶サブシステムに含まれている最後の物理ドライブか否かを判定する。
【００４１】
プログラムによる以上の作業が、記憶サブシステムに含まれている全ての物理ドライブについて完了したならば、続いてこのプログラムは、ステップＳ１３０へ進み、そこでは、記憶サブシステムに装備されている全てのハード・ドライブのＲＩＳが更新されて新たな有効ＲＩＳとされる。この新たな有効ＲＩＳには、追加されたことが判明した論理ドライブ装置や、記憶サブシステムの電源が落とされる前に存在していた論理ドライブ装置が、全てが含まれている。
【００４２】
尚、図８に示した以上のフローチャートは、記憶サブシステムに論理ドライブ装置（ボリューム）が追加されたか否かを判定するための様々な技法の一例として、ファームウェアによる技法を示したものである。このフローチャートに示した技法に対しては、小さな変更であるか大きな変更であるかを問わず、様々な変更を施すことができ、それによって、ボリューム追加が行われたことを自動的に判定して関連データの更新を行うための、以上に説明した機能と略々同一の機能を達成することのできる、様々な方法が可能となる。
【００４３】
【発明の効果】
以上から明らかなように、本発明の１つの具体的な実施の形態によれば、記憶サブシステムの電源が断たれている間に、その記憶サブシステム内の複数台のハード・ドライブ（物理ドライブ）のドライブ位置が変更（即ち「置換」）されたり、その記憶サブシステムに新たな完全なボリュームが追加されたならば、その記憶サブシステムに電源が再投入されたときに、その記憶サブシステムにドライブ移動やボリューム追加という変更が発生したということがその記憶サブシステムに付随するアレイ・コントローラによってを自動的に判定されるようにすることができる。
【００４４】
また、本発明の別の具体的な実施の形態によれば、論理ドライブ装置を、その論理ドライブ装置に所属する複数台の物理ドライブが正しく順序付けられた状態で、追加することが可能となる。即ち、この実施の形態では、論理ドライブ装置が追加されたか否かが判定されると共に、複数台の物理ドライブが正しい順序に並べられているか否かも判定される。
【００４５】
以上に本発明の好適な実施の形態を幾つか図示して説明したが、当業者には容易に理解されるように、それら実施の形態に対しては本発明の概念及び範囲から逸脱することなく様々な改変を加えることができ、また、本発明の範囲は請求項に記載したとおりのものである。
【図面の簡単な説明】
【図１】一般的なドライブ・アレイの一例を示した図である。
【図２】一般的なドライブ・アレイの別の一例を示した図である。
【図３】一般的なドライブ・アレイの更に別の一例を示した図である。
【図４】ドライブ・アレイに接続されたアレイ・コントローラの一例を示した図である。
【図５】記憶サブシステムの説明図である。
【図６】本発明の１つの実施の形態におけるオフライン・ドライブ移動を表したフローチャートである。
【図７】本発明の１つの実施の形態にかかるオフライン・ボリューム移動を説明するためのブロック図である。
【図８】  本発明の１つの実施の形態にかかるオフライン・ボリューム追加を表したフローチャートである。
【符号の説明】
１０  サーバ
１２  アレイ・コントローラ
１４  記憶サブシステム
１６  ハード・ドライブ
１８  記憶サブシステム
２０、２２  論理ドライブ装置
２６  ＲＩＳ
２８  記憶サブシステム
３０  アレイ・コントローラ
３２  記憶サブシステム
３４、３６  論理ドライブ装置
３８  記憶サブシステム
【図１】
0004354023.tif 000002
【図２】
0004354023.tif 000003
【図３】
0004354023.tif 000004
【図４】
0004354023.tif 000005
【図５】
0004354023.tif 000006
【図６】
0004354023.tif 000007
【図７】
0004354023.tif 000008
【図８】
0004354023.tif 000009