(57)【特許請求の範囲】
【請求項１】
少なくとも１つの内部Ｉ/Ｏ母線に接続された複数の記憶ディスクを有するディスク・アレイ・データ記憶装置に対して記憶ディスクを非同期的に着脱する方法であって、
Ｉ/Ｏ母線に接続された他の記憶ディスクを有するディスク・アレイ・データ記憶装置のＩ/Ｏ母線に特定の記憶ディスクが着脱されたときを検出するステップと、
前記特定の記憶ディスクを着脱したＩ/Ｏ母線へのＩ/Ｏ要求の待ち行列を凍結するステップと、
前記Ｉ/Ｏ母線に接続されている他の記憶ディスクから前記特定の記憶ディスクを区別するステップと、
前記Ｉ/Ｏ母線に接続されている他の記憶ディスクへのＩ/Ｏ要求の待ち行列の凍結を解除するステップと、
を含む記憶ディスクを非同期に着脱する方法。
【請求項２】
Ｉ/Ｏ母線に接続されているすべての記憶ディスクの身元および存在場所を再確認するステップを含む、請求項１に記載の記憶ディスクを非同期に着脱する方法。
【請求項３】
前記記憶ディスクは関連する一連番号を有しており、
前記再確認するステップは、Ｉ/Ｏ母線に接続されているすべての記憶ディスクを再構成するステップと、Ｉ/Ｏ母線に接続されている記憶ディスクの一連番号を再確認するステップとを含む、請求項２に記載の記憶ディスクを非同期に着脱する方法。
【請求項４】
前記ディスク・アレイ・データ記憶装置は複数のＩ/Ｏ母線を備え、個々のＩ/Ｏ母線は複数の記憶ディスクと接続することができ、
前記方法は、
前記特定の記憶ディスクが着脱されたＩ/Ｏ母線を識別するステップと、
識別されたＩ/Ｏ母線と同じＩ/Ｏ母線に接続されている他の記憶ディスクから前記特定の記憶ディスクを区別するステップをさらに含む、請求項１に記載の記憶ディスクを非同期に着脱する方法。
【請求項５】
ディスク・アレイ・コントローラ、複数の記憶ディスク、および複数の内部Ｉ/Ｏ母線から構成され、個々のＩ/Ｏ母線が前記ディスク・アレイ・コントローラおよび１組の前記記憶ディスクを相互接続しＩ/Ｏ要求を転送することができるディスク・アレイ・データ記憶装置において、記憶ディスクを非同期的に取り付ける方法であって、
Ｉ/Ｏ母線との接続に関して前記記憶ディスクを表す装置ドライバーを、前記複数の記憶ディスクのそれぞれについて前記ディスク・アレイ・コントローラ内に設けるステップと、
前記ディスク・アレイ記憶装置のＩ/Ｏ母線の１つに新しい記憶ディスクが取り付けられるのを検出するステップと、
新しい記憶ディスクが取り付けられた前記１つのＩ/Ｏ母線へのＩ/Ｏ要求の待ち行列を凍結するステップと、
前記１つのＩ/Ｏ母線に接続されている他の記憶ディスクから前記新しい記憶ディスクを区別するステップと、
前記１つのＩ/Ｏ母線に接続されている他の記憶ディスクへのＩ/Ｏ要求の待ち行列の凍結を解除するステップと、
前記新しい記憶ディスクを含めた前記１つのＩ/Ｏ母線に接続されているすべての記憶ディスクの身元および存在場所を再確認するステップと、
前記新しい記憶ディスクの新しい装置ドライバーを作成するステップと、
を含む記憶ディスクを非同期的に取り付ける方法。
【請求項６】
ディスク・アレイ・コントローラ、複数の記憶ディスク、および複数の内部Ｉ/Ｏ母線から構成され、個々のＩ/Ｏ母線が前記ディスク・アレイ・コントローラおよび１組の前記記憶ディスクを相互接続しＩ/Ｏ要求を転送することができるディスク・アレイ・データ記憶装置において、記憶ディスクを非同期的に取り外す方法であって、
Ｉ/Ｏ母線との接続に関して前記記憶ディスクを表す装置ドライバーを、前記複数の記憶ディスクのそれぞれについて前記ディスク・アレイ・コントローラ内に設けるステップと、
前記ディスク・アレイ・データ記憶装置のＩ/Ｏ母線の１つから既設の記憶ディスクが取り外されるのを検出するステップと、
既設の記憶ディスクが取り外された前記１つのＩ/Ｏ母線へのＩ/Ｏ要求の待ち行列を凍結するステップと、
取り外された記憶ディスクを前記１つのＩ/Ｏ母線に接続されている他の記憶ディスクから区別するステップと、
前記ディスク・アレイ・コントローラ内で、前記取り外された記憶ディスクに対応する前記装置ドライバーを取り除くステップと、
前記１つのＩ/Ｏ母線へのＩ/Ｏ要求の待ち行列の凍結を解除するステップと、
を含む記憶ディスクを非同期的に取り外す方法。
【請求項７】
前記記憶ディスクにデータを冗長に格納するステップと、
前記記憶ディスクに格納されている冗長データを使用して、前記取り外された記憶ディスクにあった失われたデータを前記ディスク・アレイ・データ記憶装置の記憶ディスクに再構築するステップと、
をさらに含む請求項６に記載の方法。
【請求項８】
複数の記憶ディスクと、
個々のＩ/Ｏ母線が一組の記憶ディスクに接続されている複数のＩ/Ｏ母線と、
インターフェース用スロットで前記Ｉ/Ｏ母線に取り外し可能に接続され、個々の記憶ディスクをＩ/Ｏ母線の対応するインターフェース用スロットに非同期的に着脱することができる記憶ディスクと、
Ｉ/Ｏ母線との接続に関して前記記憶ディスクを表す複数の装置ドライバーと、
対応するＩ/Ｏ母線を通してＩ/Ｏ転送を管理するインターフェースドライバーであって、特定の記憶ディスクがＩ/Ｏ母線の１つのインターフェース用スロットに着脱されるとき、前記１つのＩ/Ｏ母線に対応するインターフェースドライバーが前記１つのＩ/Ｏ母線に接続されている組にある記憶ディスクに対応する装置ドライバーから来るＩ/Ｏ要求を凍結する、インターフェースドライバーと、
前記特定の記憶ディスクが前記１つのＩ/Ｏ母線に着脱されるとき前記ディスク・アレイ・データ記憶装置の動作を管理し、前記特定の記憶ディスクが着脱されたインターフェース用スロットを最初に決定し、次に前記インターフェースドライバーにＩ/Ｏ要求の凍結解除を指令して、該Ｉ/Ｏ要求を前記１つのＩ/Ｏ母線に接続されている記憶ディスクの組にある他の記憶ディスクに関連する装置ドライバーに戻す構成マネージャーと、
を含むディスク・アレイ・データ記憶装置。
【請求項９】
前記特定の記憶ディスクを前記１つのＩ/Ｏ母線から取り外したとき、前記構成マネージャーは該特定の記憶ディスクに対応する前記装置ドライバーを取り除き、
前記特定の記憶ディスクを前記１つのＩ/Ｏ母線に取り付けたとき、前記構成マネージャーは、前記１つのＩ/Ｏ母線のインターフェース用スロットへの接続に関して前記特定の記憶ディスクに対応する新しい装置ドライバーを作成する、請求項８に記載のディスク・アレイ・データ記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はディスク・アレイ・データ記憶装置に関し、更に詳細には、独立した記憶ディスクの非同期的着脱を管理する装置および方法に関する。
【０００２】
【従来の技術】
ディスク・アレイ・データ記憶装置は単一大容量記憶装置を形成するように構成され、調整されている多数の記憶ディスク駆動装置を備えている。ディスク・アレイは個々の記憶ディスクを受ける多数の機械的ベイまたはインターフェース用スロットを備えている。このような記憶装置の記憶容量は更に多数のディスクを装置に追加することにより、または現存ディスクを更に大きい容量のディスクと交換することにより拡張することができる。
【０００３】
【発明が解決しようとする課題】
従来のディスク・アレイ・データ記憶装置の或るものでは、装置が動作している間にユーザが追加記憶ディスクを接続、すなわち「ホットプラグ」することができるインターフェース用スロットが設けられている。「ホットプラグ」形態はユーザの観点からは便利であるが、データ記憶装置にとって幾つかの困難な制御問題を提起する。「ホットプラグ」中に生ずる一つの問題は、ユーザが各種インターフェース用スロット間で記憶ディスクを切り替えようとするときに発生する。たとえば、ユーザは一つのインターフェース用スロットにあったディスクを取り外し、それを他のインターフェース用スロットに差し込むことがある。これを行なうと、従来のディスク・アレイ装置は、データを正しくない記憶ディスクに書き込む。この問題に対する従来技術の解法は、単にインターフェース用スロット間で記憶ディスクをあちこちに動かさないという制限をユーザに課すことであった。従って、記憶ディスクを一旦スロットに割り当てると、記憶ディスクはそこにそのままになっている。
【０００４】
他の問題は、記憶ディスクをディスク・アレイから取り外す間のＩ/Ｏ要求の処理に関する。記憶ディスクをインターフェース用スロットとの結合から解除すると、従来の記憶装置は、典型的に「タイムアウト（時間切れ）」警告を戻し、Ｉ/Ｏ要求が失敗したことを示す。この警告は普通、記憶装置が機械的または他の記憶装置の問題のため現存する記憶ディスクにアクセスできないときに発生される。ここでは対照的に、アクセス失敗の理由は記憶ディスクがなくなっていることである。ここでのより適切な解釈は、Ｉ/Ｏ要求が失敗したということではなく、記憶装置が取り外されてしまっているということである。もしディスク・アレイが記憶装置がなくなっていることと現存する記憶ディスクに対するＩ/Ｏ要求が失敗したこととを区別することができれば役立つであろう。
【０００５】
多数の独立した記憶ディスクを備えている大きいディスク・アレイ記憶装置が直面している他の問題は、記憶ディスクの着脱が装置に結合している記憶ディスクの残りに及ぼす影響に関している。現在のディスク・アレイでは、記憶ディスクの着脱はディスク・アレイのすべての記憶ディスクに対するＩ/Ｏ活動を一時的に停止させる 。取付けたまたは取り外された記憶ディスクを識別するディスク・アレイを構成し、その記憶ディスクに関係するＩ/Ｏ活動を他のＩ/Ｏから切り離し、残りの記憶ディスクに活動を続けることができるようにすることが有利である。
【０００６】
【課題を解決するための手段】
以上のような従来技術の問題は、次の方法およびこれを実現するハードウェアによって解決される。少なくとも一つの内部Ｉ/Ｏ母線に接続された複数の記憶ディスクを有するディスク・アレイ・データ記憶装置に対して記憶ディスクを非同期的に着脱する際、特定の記憶ディスクが、上記ディスク・アレイ・データ記憶装置の上記Ｉ/Ｏ母線に取付けられたときまたはそれから取り外されたときに、これを検出し、特定の記憶ディスクを取付けまたは取り外したＩ/Ｏ母線に対するＩ/Ｏ要求の待ち行列を凍結し、特定の記憶ディスクを上記Ｉ/Ｏ母線に接続されている他の記憶ディスクから区別し、上記Ｉ/Ｏ母線に接続されている他の記憶ディスクに対する上記Ｉ/Ｏ要求の待ち行列の凍結を解除する。本発明の一面によるディスク・アレイ記憶装置は、多数の対応するＩ/Ｏ母線に結合された複数の記憶ディスクから成る多数の組を備えている。個々の記憶ディスクは、Ｉ/Ｏ母線の対応するインターフェース用スロットに独立におよび非同期的に着脱することができる。装置は、Ｉ/Ｏ母線のインターフェース用スロットとの接続に関して記憶ディスクを表す物理装置ドライバーを備えている。装置は、更に記憶ディスクに保持されているデータを表す物理装置マネージャーを備えている。
【０００７】
【発明の実施の形態】
インターフェース・ドライバーは、対応するＩ/Ｏ母線を通るＩ/Ｏ転送を管理するように設けられている。特定の記憶ディスクをＩ/Ｏ母線のインターフェース用スロットに取付けまたは取り外すと、Ｉ/Ｏ母線はリセットされる。これによりＩ/Ｏ母線に関する活動が停止し、進行中の活動が完了するのが防止される。Ｉ/Ｏ母線に対応するインターフェース・ドライバーが、Ｉ/Ｏ母線に接続されている組にある記憶ディスクを表す物理装置ドライバーに対するすべてのＩ/Ｏ要求を凍結する。
【０００８】
どのインターフェース用スロットに特定の記憶ディスクが取付けられまたは取り外されたかを決定するのに構成マネージャーが設けられている。記憶ディスクがＩ/Ｏ母線から取り外されていれば、構成マネージャーは取り外された記憶ディスクを表す物理装置ドライバーを取り除く。取り外された記憶ディスクに格納されていた紛失データを次に冗長データを使用して残りのディスクに再構築する。その後、取り外された記憶ディスクに対する物理装置ドライバーを取り除くことができる。
【０００９】
新しい記憶ディスクがＩ/Ｏ母線に取付けられてしまえば、構成マネージャー は、その接続に関し、インターフェース用スロットに取り付けられた記憶ディスクを表す新しい物理装置ドライバーを作る。新しい記憶ディスクのデータを表す新しい物理装置マネージャーも作られる。
【００１０】
構成マネージャーは、Ｉ/Ｏ母線に接続されているすべての記憶ディスクを再確認し、インターフェース・ドライバーに適切な処置を取る信号を発して、物理装置ドライバーにＩ/Ｏ要求を一斉に送る。Ｉ/Ｏ母線に対するＩ/Ｏ要求の待ち行列を最初に凍結し、次にＩ/Ｏ母線に取付けられているすべての記憶ディスクを、新しく取付けられたディスクを含んで、再確認することにより、装置はユーザ命令が間違った記憶ディスクにアクセスすることを効果的に禁止する。加えて、装置は、ディスク・アレイに残っている記憶ディスクに対するＩ/Ｏ活動が継続できるように新しく着脱された記憶ディスクを素早く識別し、分離する。
【００１１】
本発明の他の面によれば、記憶ディスクをディスク・アレイ・データ記憶装置に非同期的に着脱する方法が提供される。
【００１２】
【実施例】
本発明の好適実施例を、本発明を実用化する最良の態様を具現する例を描く図を参照して下に説明することにする。
【００１３】
図１は、ホスト・インターフェース母線16を経由してデータ記憶装置14に接続されているホストコンピュータ端子またはステーション12を備えているコンピュータ・システム10を示す。ホストコンピュータ・ステーション12には視覚表示モニタ18、中央処理装置（ＣＰＵ）20、およびキーボード22がある。
【００１４】
図２は冗長階層ディスク・アレイ記憶装置として具体化されているデータ記憶装置14の例示構造を示す。ディスク・アレイ記憶装置14には複数の記憶ディスク32、ディスク・アレイ30に結合して記憶ディスク32に関するデータの転送を調整するディスク・アレイ・コントローラ34、およびＲＡＩＤ管理システム36がある。
【００１５】
この例示構造では、ディスク・アレイ・コントローラ34はディスク・アレイ・コントローラＡ34aおよびディスク・アレイ・コントローラＢ34bから構成される二重コントローラとして実施されている。二重コントローラ34aおよび34bは一つのコントローラが使用不能になったとき連続バックアップおよび冗長性を提供することにより信頼性を高める。ディスク・アレイ・コントローラ34はホストインターフェース母線16を経由してホストコンピュータに結合されている。
【００１６】
ＲＡＩＤ管理システム36はインターフェース・プロトコル40を経由してディスク・アレイ・コントローラ34に結合して動作する。用語「ＲＡＩＤ」（独立ディスクの冗長・アレイ）は物理記憶容量の部分を使用してこの記憶容量の残りに格納されているユーザデータに関する冗長情報を格納するディスク・アレイを意味している。冗長情報は・アレイのメンバー・ディスクの一つまたはそれへのアクセス経路が故障した場合ユーザデータの再生を可能にする。
【００１７】
ＲＡＩＤシステムに関する更に詳細な説明は、ミネソタ州リノレークスのＲＡＩＤ Ａdvisory Ｂoard により1993年6月9日に発行されたＲＡＩＤＢook:Ａ Ｓource Ｂook for ＲＡＩＤ Ｔechnology という表題の本に見いだされる。
【００１８】
ＲＡＩＤ管理システム36は、別々の構成要素として具体化することができ、またはディスク・アレイ・コントローラ34またはホストコンピュータの中に構成してディスク記憶装置および信頼性レベルを制御し、各種信頼性記憶レベルの間でデータを転送するデータ・マネージャー手段とすることができる。これら信頼性記憶レベルは、好適にはミラーまたはパリティ冗長レベルであるが、冗長性が全く無い信頼性記憶レベルを備えることができる。
【００１９】
冗長階層ディスク・アレイ30を、その物理記憶空間および一つまたは複数の仮想記憶空間を含む、異なる記憶空間として特徴づけることができる。記憶装置のこれら各種のビューは、マッピング法を通して関連している。たとえば、ディスク・アレイの物理記憶空間は、各種データ信頼性レベルに従って記憶区域を描くＲＡＩＤレベル仮想記憶空間にマッピングすることができる。たとえば、ＲＡＩＤレベル仮想記憶空間内の或る区域を、ミラーまたはＲＡＩＤレベル１のような、第１の信頼性記憶レベルに割り当てることができ、他の区域を、パリティまたはＲＡＩＤレベル５のような、第２の信頼性記憶レベルに割り当てることができる。ＲＡＩＤレベルの仮想ビューは、隣接してアドレスし得る記憶空間を提示する第２のアプリケーション・レベルの仮想記憶空間にマッピングすることができる。記憶空間の物理構成およびＲＡＩＤビューは、ユーザに提示されるアプリケーション・ビューから隠されている。
【００２０】
メモリ・マップ・ストア42は、異なる記憶空間を互いにマッピングするのに使用される仮想マッピング情報の持続性のある記憶装置を提供する。メモリ・マッピング情報は、異なるビューの間の各種マッピング構成が変化するにつれてコントローラまたはＲＡＩＤ管理システムにより、連続的にまたは定期的に更新することができる。この構成では、メモリ・マップ・ストア42は、バッテリ支援ＲＡＭのような二つの不揮発性ＲＡＭ（ランダムアクセス記憶装置）42aおよび42bとして具体化されている。二重ＲＡＭ42aおよび42bはメモリ・マッピング情報の冗長記憶装置となる。
【００２１】
図３はディスク・アレイ・データ記憶装置の好適構造を示す。ディスク・アレイ・コントローラ34は、全般に数字38で参照している多数の内部Ｉ/Ｏ母線を経由してディス ク・アレイに結合されている。好適には、各Ｉ/Ｏ母線は、小型コンピュータシステム・インターフェース（ＳＣＳＩ）式母線である。各Ｉ/Ｏ母線は、一組の記憶ディス クに使用可能に接続されている。この例示構造では、ディスク・アレイ・データ記憶装置は12個の記憶ディスクを収容することができ、したがって12個の機械的ベイすなわちインターフェース用スロット50-61を備えている。４本のＳＣＳＩ I/Ｏ母線64-67が三つのインターフェース用スロットから成るそれぞれの組に結合されている。すなわち、Ｉ/Ｏ母線64は、インターフェース用スロット50-52に結合され、Ｉ/Ｏ母線65はインターフェース用スロット53-55に結合され、Ｉ/Ｏ母線66 はインターフェース用スロット56-58に結合され、Ｉ/Ｏ母線67はインターフェース用スロット59-61に結合されている。
【００２２】
記憶ディスクは、インターフェース用スロット50-61でI/Ｏ母線64-67に独立に取り外し可能に接続されている。各記憶ディスクをインターフェース用スロットに非同期的に着脱することができる。ディスク・アレイ・データ記憶装置は、それぞれインターフェース用スロット50-54および56-60に取り外し可能に接続されている10個の現存記憶ディスク70-79を備えているように図示されている。一旦インターフェース用スロット61を開くと、記憶ディスクを受けるのに利用できる。記憶ディスク80は、インターフェース用スロット55着脱されるように図示されている。記憶ディスクは、１から３ギガバイトの模範サイズを備えている。すべてのスロットが一杯になれば、データ記憶装置の模範的組合せ容量は12-36ギガバイトである。
【００２３】
I/Ｏ母線64-67を通るI/Ｏ転送を管理するのにインターフェース・ドライバー90 が設けられている。各母線に一つづつ好適に四つのインターフェース・ドライバーがある。インターフェース・ドライバー90は、ディスク・アレイ・コントローラ34に内在するファームウェアとして実施されている。
【００２４】
本発明のディスク・アレイ・データ記憶装置は、多数の物理装置ドライバー92および多数の物理装置マネージャー94を備えている。ディスク・アレイに接続することができる記憶ディスクに一つづつ好適に12個の物理装置ドライバーがある。物理装置ドライバー92はファームウェアの形の物体として実施され、I/Ｏ母線のインターフェース用スロットとのそれらの接続に関して記憶ディスクを表している。たとえば、一つの物理装置ドライバーは、I/Ｏ母線64のインターフェース用スロット52にどんなディスクが、この場合は、記憶ディスク72であるが、接続されているかを表している。
【００２５】
物理装置マネージャー94は、個々の記憶ディスクに保持されているデータを表すファームウェアの形を成す物体として実施されている。各記憶ディスクに一つづつと、装置から最近取り外されたたディスクのデータを一時的に表す余分の四つとで、16個の物理装置マネージャーがある。物理装置マネージャーは、同じ記憶ディスクを表す対応する物理装置ドライバーに関連している。ホストからの通常の読み書き要求の期間中、要求は、物理装置マネージャー94を通過し、物理装置ドライバー92へ、インターフェースドライバー90へ、および適切なI/Ｏ母線および記憶ディスクに伝えられる。
【００２６】
記憶ディスクがI/Ｏ母線に着脱される場合にディスク・アレイ・データ記憶装置の動作を管理するのに構成マネージャー96も設けられている。構成マネージャーは、新しく着脱された記憶ディスクを表す物理装置マネージャーおよび物理装置ドライバーの行動を制御する事象を計画するファームウェアの形を成す物体として実施されている。
【００２７】
説明を続ける目的で、図３の記憶ディスク80がインターフェース用スロット55に着脱されると想像しよう。記憶ディスクを着脱するという行為は従来の電気機械式技法によるリセット状態を発生させる。記憶ディスクおよびスロットのインターフェース用電気機械式装置は長さの異なる（典型的には２から３の異なる長さ）コネクタピンに関係している。取付け中、長い方のピンが最初に接触し、短い方のピンが続き、最終的にドライブが接続される。長い方のピンが挿入されてからリセット状態が発生し、I/Ｏ母線65に乗せられる。I/Ｏ母線65に乗っているリセット状態は、短いピンが挿入されて終了する。機械的多段挿入機構は、ディスク・アレイ・コントローラにより検知され、コントローラ内に割り込みを生ずる。リセットにより影響を受ける母線で進行中のI/Ｏが停止する。
【００２８】
取り外しには逆のプロセスが使用される。短い方のピンが最初取り外され、長い方のピンが続く。この機械的事象によりディスク取り外しを表すリセット状態が発生する。
【００２９】
図４は記憶ディスクを本発明に従ってディスク・アレイ・データ記憶装置に着脱する一般的方法を示す。ステップ100で、記憶ディスク80をI/Ｏ母線65のインターフェー ス用スロット55に取付けられまたはそれから取り外されているように検出する。検出したら、I/Ｏ母線65に対するI/Ｏ要求の待ち行列を凍結する（ステップ102）。他の三つのI/Ｏ母線64、66、および67に対するI/Ｏ要求は処理され続けることに注目されたい。
【００３０】
ステップ104で、ディスク・アレイ・コントローラは、新しく着脱された記憶ディスク80を 同じI/Ｏ母線65に接続されている他の記憶ディスク73および74から区別する。特定のディスクおよびインターフェース用スロットが識別されたら、記憶ディスク80が取り外されていれば、構成マネージャーは、そのディスクに対する物理装置ドライバーの削除を開始する（ステップ105）。次に、他の記憶ディスク73および74に対するI/Ｏ要求の待ち行列の凍結を解除し、それらを継続して使用できるようにする（ステップ106）。このようにして、本発明の方法は、着脱された唯一つの記憶ディスクの活動を効果的に識別し、分離する。他のディスクへのアクセスは最小限の中断で継続する。待ち行列の凍結が解除されてから、記憶ディスク80が取付けられていれば、構成マネージャーは、そのディスクに対する物理装置ドライバーを作り、物理装置ドライバーを使用できる態勢にすることを要求する。記憶ディスク80が使用できる態勢にあれば、構成マネージャーは、物理装置ドライバーを物理装置マネージャーと関連付ける。
【００３１】
記憶ディスクを非同期的に着脱する方法を次に別に、ただし更に詳細に、図３、図５、および図６を参照して説明することにする。
【００３２】
非同期的取付けの方法
図５は、記憶ディスクをディスク・アレイデータ記憶装置に非同期的に取付ける方法の好適ステップを示している。この説明について、記憶ディスク80は、I/Ｏ母線65のスロット55に取付けられようとしていると仮定する。図５は、I/Ｏ母線65用インターフェース・ドライバー（ＩＤ）90、記憶ディスク80をスロット55とのその接続に関して表す物理装置ドライバー（ＰＤＤ）92、記憶ディスク80に保持されているデータを表す物理装置マネージャー（ＰＤＭ）94、および構成マネージャー（ＣＦＭ）96を示している。プロセスは、ステップＡ1-Ａ16のように英数字で記してあり、文字「Ａ」は取付けプロセスを示している。図の表に、各ステップについての簡略な説明が示されている。
【００３３】
ステップＡ1で、記憶ディスク80がインターフェース用スロット55に挿入されたら 、リセット状態が電気機械式インターフェース構造により発生される。リセット状態は、I/Ｏ母線65を通してインターフェース・ドライバー（ＩＤ）に送られる。I/Ｏ母線65は、このようにして新しい記憶ディスクが取付けられる母線であり、他の三つの母線64、66、および67ではないとして直ちに識別される。ステップＡ2で、インターフェース・ドライバー（ＩＤ）はI/Ｏ母線65に対するI/Ｏ要求のすべての待ち行列を凍結する。インターフェース・ドライバーは、I/Ｏ要求を受け取り続けるが、それらを処理しない。進行中のI/Ｏおよび到着するI/Ｏは、インターフェース・ドライバー（ＩＤ）の待ち行列の中に凍結される。物理装置ドライバー（ＰＤＤ）は、凍結されていないそれ自身の待ち行列を維持している。それは、構成マネージャー（ＣＦＭ）および物理装置マネージャー（ＰＤＭ）からなおもI/Ｏを受け取り、I/Ｏ要求をインターフェース・ドライバー（ＩＤ）に送ることができる。インターフェース・ドライバー（ＩＤ）は、しかし、I/Ｏ要求を記憶ディスクに送らない。
【００３４】
ステップＡ3で、インターフェース・ドライバー（ＩＤ）は、構成マネージャー（ＣＦＭ）にリセット状態がI/Ｏ母線65で検出されていることを知らせる。構成マネージャー（ＣＦＭ）は、I/Ｏ母線65により支持されている三つのインターフェース用スロット53-55をすべて検査し、新しい記憶ディスク80を他の現存する記憶ディスク73および74から区別する。識別プロセスには、I/Ｏ母線65に取付けられている各記憶ディスクを、インターフェース・ドライバー（ＩＤ）を経由して各記憶ディスクから識別情報を繰り返し要求し且つ受け取る（ステップＡ5およびＡ6）ことにより走査する（ステップＡ4）ことが含まれている。三つのインターフェース接続すべてが走査されてから、構成マネージャーは、新しく取付けられた記憶ディスク80を特別に識別することができる（ステップＡ7）。
【００３５】
ステップＡ8で、構成マネージャー（ＣＦＭ）は、インターフェース・ドライバー（ＩＤ）にI/Ｏ母線65による他の記憶ディスク73および74に対するI/Ｏ要求の待ち行列を凍結解除することを知らせる。インターフェース・ドライバー（ＩＤ）は、物理装置ドライバー（ＰＤＤ）にホットリセット状態とともにこの待ち行列の放出状態を報せる（ステップＡ9）。ホットリセット状態は、同時にインターフェース・ドライバーにより取付けられた記憶ディスク73および74を表す他の物理装置ドライバー（図示せず）に送られ、ディスクを再構成させる。この後、制御情報の流れは主として構成マネージャー（ＣＦＭ）と物理装置ドライバー（ＰＤＤ ）との間で行われる。
【００３６】
ステップＡ10で、構成マネージャー（ＣＦＭ）は、I/Ｏ母線65によるインターフェース用スロット55に新しく取付けられた記憶ディスク80を表す新しい物理装置ドライバー（ＰＤＤ）を作る。新しい物理装置ドライバー（ＰＤＤ）は、チャンネルまたはI/Ｏ母線の番号およびインターフェース用スロットの番号で初期設定される（ステップＡ11）。構成マネージャー（ＣＦＭ）は、次に物理装置ドライバー（ＰＤＤ）に新しい記憶ディスク80を「回転する」すなわち動作開始を指令する（ステップＡ12）。物理装置ドライバー（ＰＤＤ）は、記憶ディスク80の独特のベンダー一連番号を構成マネージャー（ＣＦＭ）に戻し（ステップＡ13）、新しい記憶ディスクの回転を開始する（ステップＡ14）。記憶ディスク80の態勢が整ったことが決定されたら、ディスク・アレイ内で正しく動作するように構成される。
【００３７】
新しく追加される記憶ディスク80に関するステップＡ10-Ａ14と同時に、構成マネージャー（ＣＦＭ）は、やはりI/Ｏ母線65に接続されている他の二つの記憶ディスク73および74の身元および存在場所を再確認する。記憶ディスク73および74に対する物理装置ドライバー（図示せず）がホットリセット状態またはＳＣＳＩユニット注意を受け取ると、これら記憶ディスクを自動的に構成する。構成の一部として、物理装置ドライバー（ＰＤＤ）は記憶ディスクから一連番号を検索し、これを構成マネージャー（ＣＦＭ）に知らせる。このようにして、構成マネージャー（ＣＦＭ）は、I/Ｏ母線にある三つの記憶ディスクすべての一連番号を再確認して、同じスロットへの記憶ディスクの着脱のような、新しい記憶ディスクの取付けから生ずる新しい変化を検出する。
【００３８】
ステップＡ15で、物理装置ドライバー（ＰＤＤ）は、構成マネージャー（ＣＦＭ）に新しく取付けられた記憶ディスク80の回転および構成が完了したことを知らせる。その点で、構成マネージャーは、新しく取付けられた記憶ディスク80にあるデータを表す新しい物理装置マネージャー（ＰＤＭ）を作ることができる（ステップＡ16）。このステップは、特定の記憶ディスク80を一義的に表す物理装置マネージャー（ＰＤＭ）の変数の初期設定を伴う。
【００３９】
代わりに、構成マネージャー（ＣＦＭ）は、物理装置ドライバー（ＰＤＤ）を現存する物理装置マネージャー（ＰＤＭ）に関連付けることができる。これは、たとえば、新しい記憶ディスク80が他のインターフェース用スロットで装置に前から取付けけられており、そのディスクのデータ内容を表す物理装置マネージャー（ＰＤＭ）が既に存在しているときの状況である。データ記憶装置は、可能性のある１２の記憶ディスクに対して１６の物理装置マネージャー（ＰＤＭ）を備えることができることを想起されたい。余分の四つの物理装置マネージャー（ＰＤＭ）は、最も最近取り外された記憶ディスクにあるデータを表し続けることができる。
【００４０】
物理装置マネージャー（ＰＤＭ）が記憶ディスク80に割り当てられたら、記憶ディスク80にある空間は、今度はユーザに利用できるようになる。新しく挿入されたディスクが通常のアクセスに使用できないかまたは不適当であることが決定されれば、位置設定記号物理装置マネージャー（ＰＤＭ）が作られてディスクを診断用にホストに提示する。
【００４１】
本発明による装置および方法は、本発明の背景で上に説明した間違った記憶ディスクにデータを書き込むという従来技術の問題を有効に解決していることが注目される。本発明の装置および方法は、リセット状態を発生したI/Ｏ母線に対するI/Ｏ要求の待ち行列を直ちに凍結することを必要とする。その後、新しく取付けられた母線を含めて、I/Ｏ母線に新たに取付けられた記憶ディスクは、I/Ｏ要求が処理される前に、どの記憶ディスクがＩ/Ｏ母線に取付けられたかを二重チェックするために確認される。その結果、ユーザ命令が間違った記憶ディスクに到達することはありえない。
【００４２】
非同期的取り外しの方法
図６は、本発明の一局面により記憶ディスクをディスク・アレイデータ記憶装置から非同期的に取り外す方法の好適ステップを示す。この説明において、記憶ディスク80は、I/Ｏ母線65のスロット55から取り外されると仮定する。図６は、I/Ｏ母線65に対するインターフェース・ドライバー（ＩＤ）90、記憶ディスク80をそのスロット55との接続に関して表す物理装置ドライバー（ＰＤＤ）92、記憶ディスク80に保持されているデータを表す物理装置マネージャー（ＰＤＭ）94、および構成マネージャー（ＣＦＭ）96を図示している。プロセスにはステップＤ1-Ｄ15のように英数字が付けてあり、文字「Ｄ」は、取り外しプロセスを指している。各ステップの簡略な説明を表に示してある。
【００４３】
ステップＤ1-Ｄ7は、上に記したステップＡ1-Ａ7と本質的に同じである。手短に述べれば、ステップＤ1で、記憶ディスク80がインターフェース用スロット55から取り外されると、電気機械式インターフェース構造によりリセット状態が発生される。ステップＤ2で、インターフェース・ドライバー（ＩＤ）がI/Ｏ母線65に対するI/Ｏ要求の すべての待ち行列を凍結する。ステップＤ3で、インターフェース・ドライバー（ＩＤ）は構成マネージャー（ＣＦＭ）にリセット状態がI/Ｏ母線65で検出されていることを報せる。構成マネージャー（ＣＦＭ）はI/Ｏ母線65により支持されている三つのインターフェース用スロット53-55すべてを検査し、取り外された記憶ディスク80を他の現存する記憶ディスク73および74の間から識別する（ステップＤ4-Ｄ7）。
【００４４】
ステップＤ8で、構成マネージャー（ＣＦＭ）は、物理装置マネージャー（ＰＤＭ ）にその表されている記憶ディスク80がディスク・アレイから取り外されてしまっていることを知らせる。物理装置マネージャー（ＰＤＭ ）は、同じ取り外された記憶ディスクを表すその関連の物理装置ドライバー（ＰＤＤ）に対して提出されているI/Ｏ要求を停止するよう指令される。ステップＤ9で、構成マネージャー（ＣＦＭ）は、取り外された記憶ディスク80を表す物理装置ドライバー（ＰＤＤ）を除去するプロセスを開始する。物理装置ドライバー（ＰＤＤ）は、それ自身を進行中削除の状態に置き、インターフェース・ドライバーからの最終I/Ｏの放出を待つ（ステップＤ10-Ｄ11）。
【００４５】
ステップＤ12で、構成マネージャー（ＣＦＭ）は、インターフェース・ドライバー（ＩＤ）にI/Ｏ母線65にある記憶ディスクに対するI/Ｏ要求の待ち行列の凍結を解除することを報せる。インターフェース・ドライバー（ＩＤ）は、物理装置ドライバー（ＰＤＤ）にこの待ち行列の放出状態を報せる（ステップＤ13）。能動待ち行列が空になってから、物理装置ドライバー（ＰＤＤ）は、構成マネージャー（ＣＦＭ）に削除が完了したことを知らせる（ステップＤ14およびＤ15）。
【００４６】
すべての未回答I/Ｏ要求が、記憶ディスクがなくなっていることを既に知っている関連する物理装置マネージャー（ＰＤＭ ）に戻される。データは、I/Ｏ要求を完了するためにＲＡＩＤ管理システムを使用して再構成される。図２で上に説明した模範的なＲＡＩＤシステムのような冗長ディスク・アレイについては、取り外した記憶ディスク80にあるデータは、冗長データを使用して他の記憶ディスクに再構成することができる。取り外された記憶ディスクに対する物理装置マネージャー（ＰＤＭ）は、なくなっったドライブからのデータの割り当て解除を追跡するために再構成プロセスが終了するまで実行可能なままになっている。
【００４７】
本発明のプロセスを別々に説明してきたが、多数の取付けまたは取り外しが一つ以上の母線に関連して同時に発生する可能性がある。上に説明した同じ手順がこれらの状況に同様に適用される。
【００４８】
本発明を、その構造および方法の特徴に関して、多かれ少なかれ特有の言語で説明してきた。しかし、ここに開示した手段は、本発明を実行するのに好適な形であるにすぎず、本発明は、図示し説明した特定の形態に限定されないことを理解すべきである。それ故、本発明は、均等性の原理に従って適切に解釈される特許請求の範囲の範囲内でのあらゆる形態または修正に関して権利請求するものである。
【００４９】
本発明は、例として次の実施形態を含む。
(1)  少なくとも一つの内部Ｉ/Ｏ母線に接続された複数の記憶ディスクを有するディスク・アレイ・データ記憶装置に対して記憶ディスクを非同期的に着脱する方法であって、
特定の上記記憶ディスクが、上記ディスク・アレイ・データ記憶装置の上記Ｉ/Ｏ母線に取付けられたときまたはそれから取り外されたときに、これを検出するステップと、
上記特定の記憶ディスクを取付けまたは取り外した上記Ｉ/Ｏ母線に対するＩ/Ｏ要求の待ち行列を凍結するステップと、
上記特定の記憶ディスクを上記Ｉ/Ｏ母線に接続されている他の記憶ディスクから区別するステップと、
上記Ｉ/Ｏ母線に接続されている他の記憶ディスクに対する上記Ｉ/Ｏ要求の待ち行列の凍結を解除するステップと、
を含む記憶ディスクを非同期着脱する方法。
【００５０】
(2)  Ｉ/Ｏ母線に接続されているすべての記憶ディスクの身元および存在場所を再確認するステップを含む上記(1)に記載の方法。
(3)  記憶ディスクには関連する一連番号があり、上記再確認するステップは、Ｉ/Ｏ母線に接続されているすべての記憶ディスクを再構成するステップと、Ｉ/Ｏ母線に接続されている記憶ディスクの一連番号を再確認するステップとを含む蒸気(2)に記載の方法。
(4)  ディスク・アレイ・データ記憶装置は、多数のＩ/Ｏ母線（64-67）を備えており、個々のＩ/Ｏ母線は多数の記憶ディスク（70-80）と接続することができ、前記特定の記憶ディスク（80）が取付けられまたは取り外されたＩ/Ｏ母線（65）を識別するステップ、および前記特定の記憶ディスク（80）を同じ識別されたＩ/Ｏ母線（65）に接続されている他の記憶ディスク（73、74）から区別するステップを有する上記(1)に記載の方法。
【００５１】
(5)  記憶ディスクをディスク・アレイデータ記憶装置に非同期的に取付ける方法であって、ディスク・アレイデータ記憶装置（14）はディスク・アレイコントローラ（34）、複数の記憶ディスク（70-80）、および多数の内部Ｉ/Ｏ母線（64-67）から構成されており、個々のＩ/Ｏ母線はＩ/Ｏ要求をディスク・アレイコントローラと多数の記憶ディスクとの間で相互接続し、転送することができるものにおいて、
ディスク・アレイコントローラ（34）の内部にＩ/Ｏ母線へのそれらの接続に関して記憶ディスクを表す物理装置ドライバーを設けるステップ、
新しい記憶ディスク（80）がディスク・アレイデータ記憶装置のＩ/Ｏ母線（65）の一つに取付けられるときを検出するステップ、
新しい記憶ディスク（80）を取付ける前記一つのＩ/Ｏ母線（65）に対するＩ/Ｏ要求の待ち行列を凍結するステップ、
新しい記憶ディスク（80）を前記一つのＩ/Ｏ母線（65）に接続されている他の記憶ディスク（73、74）から区別するステップ、
前記一つのＩ/Ｏ母線（65）に接続されている他 の記憶ディスク（73、74）に対するＩ/Ｏ要求の待ち行列の凍結を解除するステップ、
新しい記憶ディスクを含んで、前記一つのＩ/Ｏ母線に接続されているすべての記憶ディスクの身元および存在場所を再確認するステップ、および
新しい記憶ディスクに対する新しい物理装置ドライバー（92）を作るステップ、から構成される方法。
(6)  更に下記追加ステップを備えている上記(5)に記載の方法：
ディスク・アレイコントローラ（34）の内部に記憶ディスクに保持されているデータを表す物理装置マネージャーを設けるステップ、および新しい物理装置ドライバー（92）を物理装置マネージャー（94）に関連づけるステップ。
【００５２】
(7)  記憶ディスクをディスク・アレイ・データ記憶装置から非同期的に取り外す方法であって、ディスク・アレイ・データ記憶装置（14）はディスク・アレイコントローラ（34）、複数の記憶ディスク（70-80）、および多数の内部Ｉ/Ｏ母線（64-67）から構成されており、個々のＩ/Ｏ母線はＩ/Ｏ要求をディスク・アレイコントローラと多数の記憶ディスクとの間で相互接続し、転送することができるものにおいて、
ディスク・アレイコントローラ（34）の内部にＩ/Ｏ母線へのそれらの接続に関して記憶ディスクを表す物理装置ドライバーを設けるステップ、
ディスク・アレイコントローラの内部に記憶ディスクに保持されているデータを表し、同じ記憶ディスクを表す対応する物理装置ドライバーと関連している物理装置マネージャーを設けるステップ、
現存する記憶ディスク（80）がディスク・アレイデータ記憶装置のＩ/Ｏ母線（65）の一つから取り外されるときを検出するステップ、
現存する記憶ディスク（80）が取り外される前記一つのＩ/Ｏ母線（65）に対するＩ/Ｏ要求の待ち行列を凍結するステップ、
取り外された記憶ディスク（80）を前記一つのＩ/Ｏ母線に接続されている他の記憶ディスク（73、74）から区別するステップ、
取り外された記憶ディスク（80）を表す物理装置マネージャー（94）に取り外された記憶ディスクが前記一つのＩ/Ｏ母線（65）から外されることを報せるステップ、
ディスク・アレイコントローラ（34）の内部で取り外された記憶ディスク（80）を表す物理装置ドライバー（92）を取り除くステップ、および
前記一つのＩ/Ｏ母線（65）に対 するＩ/Ｏ要求の待ち行列の凍結を解除するステップ、を含む方法。
(8)  更に下記追加ステップを備えている上記(7)に記載の方法：
データを記憶ディスクに冗長に格納するステップ、および
取り外された記憶ディスク（80）の紛失しているデータを記憶ディスクに格納されている冗長データを使用してディスク・アレイデータ記憶装置の記憶ディスク（70-79）に再構築するステップ。
【００５３】
(9)  ディスク・アレイ・データ記憶装置であって、
複数の記憶ディスク（70-80）、
個々のＩ/Ｏ母線が一組の記憶ディスクに接続されている多数のＩ/Ｏ母線（64-67）、
インターフェース用スロット（50-61）でＩ/Ｏ母線に取り外し可能に接続され、それにより個々の記憶ディスクをＩ/Ｏ母線の対応するインターフェース用スロットに非同期的に着脱することができる記憶ディスク、
Ｉ/Ｏ母線（64-67）のインターフェース用スロット（50-61）へのそれらの接 続に関して記憶ディスクを表す、対応する記憶ディスク用の複数の物理装置ドライバー（92）、
記憶ディスクに保持されているデータを表し、同じ記憶ディスクを表す対応する物理装置ドライバー（94）に関連している、対応する記憶ディスク用の複数の物理装置マネージャー（94）、
対応するＩ/Ｏ母線を通るＩ/Ｏ転送を管理するインターフェースドライバー（90）、から構成され、
特定の記憶ディスク（80）が一つのＩ/Ｏ母線（65）のインターフェース用スロット（55）に着脱されるとき、インターフェース用ドライバー（90）は前記一つのＩ/Ｏ母線（65）に接続されている組にある記憶ディスク（73、74、80）を表す物理装置ドライバー（92）から来るＩ/Ｏ要求を凍結する前記一つのＩ/Ｏ母線に対応し、更にデータ記憶装置は、前記特定の記憶ディスク（80）が一つのＩ/Ｏ母線（65）に着脱されるとき、ディスク・アレイデータ記憶装置の動作を管理する構成マネージャー（96）であって、最初、どのインターフェース用スロット（55）に特定の記憶ディスクが着脱されたかを決定し、次にインターフェースドライバー（90）にＩ/Ｏ要求の凍結解 除を指令し、Ｉ/Ｏ要求を前記一つのＩ/Ｏ母線（65 ）に接続されている記憶ディスクの組にある他の記憶ディスク（73、74）に関連する物理装置ドライバーに戻す構成マネージャー（96）を備えているディスク・アレイ・データ記憶装置。
(10)  前記特定の記憶ディスク（80）を前記一つのＩ/Ｏ母線（65）から取り外すと、構成マネージャー（96）が前記特定の記憶ディスクを表す物理装置ドライバー（92）を取り除き、前記特定の記憶ディスク（80）を前記一つのＩ/Ｏ母線（65）に取付けると、構成マネージャー（96）は新しい物理装置ドライバー（92）を作って前記特定の記憶ディスク（80）を前記一つのＩ/Ｏ母線（65）のインターフェース用スロット（55）へのその接続に関して表す、上記(9)に記載のディスク・アレイ・データ記憶装置。
【００５４】
本発明による装置および方法は、ユーザにI/Ｏ要求を直ちに処理できない理由の正確な説明を与えていることに注目されたい。記憶ディスクを取り外すと、記憶ディスクに対する物理装置ドライバー（ＰＤＤ）がI/Ｏ要求が放出される（ステップＤ13）前に削除される（ステップＤ9およびＤ10）。装置は、それ故ユーザに待ちを戻し、記憶ディスクがなくなっていることを示すが、上述のように冗長データを使用してI/Ｏ要求を処理し続ける。それ故、従来技術の装置と異なり、本発明の装置は、要求が故障ドライブまたは他のI/Ｏ問題のため拒絶されていることを示す紛らわしい「時間切れ」通知を戻さない。
【００５５】
本発明の他の利点は、取付けられたまたは取り外された記憶ディスクが素早く識別され、分離されるので、ディスク・アレイの残りの記憶ディスクへのI/Ｏ活動を続けることができるということである。これはディスク・アレイのすべての記憶ディスクへのI/Ｏ活動を一時的に停止する従来技術に対する改善である。
【００５６】
関連する物理装置ドライバーおよび物理装置マネージャーを組み合わせて使用すれば、本発明の更に他の利益がえられる。ユーザは、今や制限なしにディスクを一つのインターフェース用スロットから他のインターフェース用スロットへ自由に移動させることができる。記憶ディスクを第１のスロットから引き出すと、第１のスロットにある記憶ディスクを表す物理装置ドライバーが削除される。記憶ディスク用の物理装置マネージャーは、残る。ディスクを第２のスロットに挿入すると、第２のスロットにある記憶ディスクを表す新しい物理装置ドライバーが作られる。新しい物理装置ドライバーは、次に同じディスクに対する物理装置マネージャーに関連づけられ、すべてが正常動作の態勢が整う。
【００５７】
【発明の効果】
本発明の装置および方法は、それ故ユーザに莫大な柔軟性を与える。ユーザは、ディスク・ドライバーを追加または交換することができ、またはディスク・アレイへのそれらの接続をデータ内容および信頼性に影響を及ぼさずに再構成することができる。加えて、すべてのデータは、「ホットプロセス」中、アクセス可能のままである。
【図面の簡単な説明】
【図１】  本発明のディスク・アレイ・データ記憶装置に接続されたホストコンピュータ・ステーションの概念図。
【図２】  階層的ディスク・アレイとして具体化されたデータ記憶装置のブロック図。
【図３】  独立した記憶ディスクの接続および管理を示すブロック図。
【図４】  本発明の一面による記憶ディスクを非同期的に着脱する一般的なステップの流れ図。
【図５】  記憶ディスクをディスク・アレイに非同期的に取付ける好適な制御ステップを示すプロセス流れ図。
【図６】  記憶ディスクをディスク・アレイから非同期的に取り外す好適な制御ステップを示すプロセス流れ図。
【符号の説明】
14      ディスク・アレイデータ記憶装置
34      ディスク・アレイコントローラ
50-61    インターフェース用スロット
64-67    Ｉ/Ｏ母線
70-80    記憶ディスク
92      物理装置ドライバー
94      物理装置マネージャー
96      構成マネージャー
【図１】
0003759211.tif 000002
【図２】
0003759211.tif 000003
【図３】
0003759211.tif 000004
【図４】
0003759211.tif 000005
【図５】
0003759211.tif 000006
【図６】
0003759211.tif 000007