(57)【特許請求の範囲】
【請求項１】
それぞれ異なるデバイス識別子を格納する複数の記憶デバイスと、
前記複数の記憶デバイスに対して、記憶情報の読み出し又は書込みを指示するアレイコントロールモジュールと、を有し、
前記複数の記憶デバイスとアレイコントロールモジュールとは、取り外し可能に接続され、
前記アレイコントロールモジュールは、前記複数の記憶デバイスの一部または全部を一つの論理的ボリュームとして管理し、更に、前記論理的ボリュームを構成する複数の記憶デバイスに記憶情報を分散して格納し又は前記論理的ボリュームを構成する複数の記憶デバイスに分散して格納されている記憶情報を読み出して結合するアレイ記憶システムであって、
前記複数の記憶デバイスは、前記論理的ボリュームを構成する複数の記憶デバイスに格納されているデバイス識別子と、前記論理的ボリュームを構成する各記憶デバイスの位置関係とを関連付けた論理的識別子を有し、
前記論理的ボリュームを構成すべき各記憶デバイスの中に、その論理的ボリュームを構成する記憶デバイスではないものが含まれていることを、前記デバイス識別子と、前記論理的識別子から得られるデバイス識別子とを比較することにより決定する決定手段と、
前記決定手段が、一つの論理的ボリュームの中に前記論理的ボリュームを構成すべきでない記憶デバイスが含まれていることを決定した場合にその事象を通報する通報手段と、
を備えてなるアレイ記憶システム。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、アレイ記憶システムに係り、特に、論理的ボリュームを構成する複数の記憶デバイスを含む記憶デバイスアレイにおいて各記憶デバイスがその論理的ボリュームの正しいメンバーであるか否かを決定するアレイコントロールモジュールを備えたアレイ記憶システムに関する。
以下の説明では、記憶装置を記憶デバイスとも称する。
【０００２】
【従来の技術】
大規模な周辺装置としての記憶システムは、数多くの業務および技術へのソフトウエアの適用に対して有利である。かかるシステムの１つの形態においては、記憶装置アレイを協同して定める多数の独立した記憶装置に対して記憶されるべきデータを分布させることによって、記憶が達成される。かかる個々の記憶装置は、他の装置の中で、磁気的および光学的ディスクの駆動装置を含みうる。かかる記憶システムは大きな記憶容量を有している。ホストシステムとともに、これらの記憶システムは高いデータ伝送速度に寄与している。データの信頼度もまた記憶装置アレイを用いることにより達成される。
【０００３】
大きな記憶容量は、例えば５．２５インチの磁気ディスクの駆動装置のような、多数の比較的安価な記憶装置を用いることによって達成される。高いデータ伝送速度は、個々の記憶装置が１つ又はそれ以上の論理的ボリューム又は集団にグループ化されるようにシステムを形成することによって達成される。論理的ボリュームは、それが多数の物理的に独立した記憶装置で構成されていても、該ホストシステムには単一の大規模な記憶ユニットとして現れる。該記憶装置アレイは典型的には、１つの論理的ボリューム内でのすべての記憶装置が、データ伝送において同時に関連させられうるようにするためのハードウエアとソフトウエアとを含んでいる。すなわち各記憶装置は、該論理的ボリュームへの読み書きが該論理的ボリューム内での各記憶装置への読み書きによって達成されるような唯一のデータ接続部を有している。このことは、大量のデータが該記憶装置アレイから迅速に読出され又は該記憶装置アレイに迅速に書込まれることを許容する。高いデータの信頼度は、パリティ情報の使用のような、冗長的な記憶データに対するハードウエア素子およびソフトウエア処理を、故障した記憶装置に対する置換体として使用されうる１つ又はそれ以上の特別な記憶装置とともに利用することによって達成されうる。故障した装置でのデータは、該故障した装置が置換されるまで、パリティ情報を用いることによって再構成され、置換した記憶装置に転送される。
【０００４】
記憶装置アレイと関連して生ずる要求は、各論理的ボリュームにおける正しい記憶装置の順序又は配列が知られ、かつ維持されなければならないことである。該記憶装置アレイは、ホストシステムによってほん訳しうるデータの単一の流れと、論理的ボリュームからの又は論理的ボリュームへの多重の並列的なデータの流れとの間での変換において、記憶装置のこの順序又はシーケンスを使用する。記憶装置のこの順序付けは、記憶装置アレイから再生されるデータが、論理的ボリュームにおける記憶装置からの並列的なデータ転送を介して、ホストシステムで受け入れ可能な情報の単一の流れに変換されることを許容する。
【０００５】
個々の記憶装置の置換が必要となりうることから、発生可能でありかつ補償されなければならない多数のシステム保全上の事態が存在する。例えば、１つの論理的ボリュームの一部である記憶装置が偶然に他の論理的ボリューム内に置かれる可能性があり、この場合には該１つの論理的ボリューム内のデータを読出しえなくする。他の例としては、１つの論理的ボリューム内での記憶装置が不正に変換され、その結果、該記憶装置によって供給されるデータが正しいデータ接続部を介して受け入れられなくなり、したがって正しく変換されえない。より特定的には、連続的に転送されたデータバイトが別のディスクに記憶されることが知られている。例えば固定された大きさのデータブロックに対して、バイト１はディスク１に記憶され、バイト２はディスク２に記憶され、バイトｎはディスクｎに記憶され、バイト（ｎ＋１）はディスク１などに記憶される。多重のディスクからの記憶データを正しく再集するためには、分配されたデータを有する同じディスクがアクセスされることが重大である。もし例えばディスク２が、ディスク２の記憶データを有していない他のディスクによって置換されたならば、かかるディスクからの異なったデータによってはデータが正確に再集されえないという問題点が生ずる。同様に、もしディスク１と２の物理的位置および接続が切り換えられたならば、該データは正確には再集されえない。
【０００６】
【発明が解決しようとする課題】
かかる問題は、記憶装置アレイにおける各記憶装置が正しい位置（ロケーション）に置かれているかどうかを自動的に決定するためのメカニズムが欠如していることに起因して発生する。
かかる技術的背景にもとづいて、本発明は、上記したアレイ記憶装置が論理的にグループ化され、かつ各論理的ボリューム内で正しい整列状態にあるという確認がなされうるような処理手順をそなえさせるようにしたものである。
【０００７】
【課題を解決するための手段】
かかる課題を解決するために本発明においては、各記憶デバイスが記憶デバイスアレイ内において正しい物理的位置にあることを確認するためのアレイコントロールモジュールを備えたアレイ記憶システムが提供される。すなわち、各記憶デバイスが、その所属する論理的ボリュームに対して正しい物理的位置に設置されているかどうかの決定がなされる。本発明はディスク駆動装置に対しての適用性を有しているが、他の記憶装置とも関連させうる。
【０００８】
すなわち、本発明により提供されるものは、それぞれ異なるデバイス識別子を格納する複数の記憶デバイスと、
複数の記憶デバイスに対して、記憶情報の読み出し又は書込みを指示するアレイコントロールモジュールと、を有し、
複数の記憶デバイスとアレイコントロールモジュールとは、取り外し可能に接続され、
アレイコントロールモジュールは、複数の記憶デバイスの一部または全部を一つの論理的ボリュームとして管理し、更に、論理的ボリュームを構成する複数の記憶デバイスに記憶情報を分散して格納し又は論理的ボリュームを構成する複数の記憶デバイスに分散して格納されている記憶情報を読み出して結合するアレイ記憶システムであって、
複数の記憶デバイスは、論理的ボリュームを構成する複数の記憶デバイスに格納されているデバイス識別子と、論理的ボリュームを構成する各記憶デバイスの位置関係とを関連付けた論理的識別子を有し、
論理的ボリュームを構成すべき各記憶デバイスの中に、その論理的ボリュームを構成する記憶デバイスではないものが含まれていることを、デバイス識別子と、論理的識別子から得られるデバイス識別子とを比較することにより決定する決定手段と、
決定手段が、一つの論理的ボリュームの中に論理的ボリュームを構成すべきでない記憶デバイスが含まれていることを決定した場合にその事象を通報する通報手段と、
を備えてなるアレイ記憶システムである。
記憶装置の各論理的ボリュームに対して、論理的識別子（logical identifier）が生成され、各記憶装置に記憶される。このことを行うために、本発明では各記憶装置と単一的にかつ永久的に関連付けられるデバイス識別子（device identifier ）が使用される。デバイス識別子は記憶装置（記憶デバイス）から読出されうる。好適な実施例においては、デバイス識別子は、既知の位置において記憶されている記憶装置のシリアル番号である。ある与えられた論理的ボリュームに対して、論理的識別子はそのボリュームに対する個々のデバイス識別子から構成される。すなわち、ある論理的ボリュームでの各記憶装置に対する論理的識別子は同一であり、その論理的ボリュームに対するすべてのデバイス識別子の組合せを含んでいる。論理的識別子はまたシステム・オペレーションの状態（ステータス）に関する情報を提供する制御情報又はバイトを含んでいる。１例として、データが置換した記憶装置に再構成されているときには、論理的識別子の制御バイトは、かかるデータの再構成がなされていることを示す情報を含んでいる。その結果、仮にパワーの浪費が生じ、次いでパワーが制御バイトを含む論理的識別子を読出すことによって回復されたならば、システムはパワーの浪費に先立ってその状態を決定し、正しい動作を回復することにその情報を使用することができる。
【０００９】
ある論理的なボリュームに対する論理的識別子とデバイス識別子のチエックに関しては、例えばパワー回復後に所定の事象又は条件が発生したとき、論理的ボリュームに対するすべての記憶装置の論理的識別子が読出される。もしすべての論理的識別子が互いに対応しており、かつ正しい数の論理的識別子が読出されたならば、該論理的ボリュームは正しい記憶装置を有するという決定がなされる。かかる記憶装置が該論理的ボリューム内に正しく配列されているかどうかをチエックするために、各記憶装置に対して、それ自身のデバイス識別子と論理的識別子の対応する部分又はセグメントとの間での比較がなされる。もし各記憶装置に対して、デバイス識別子と論理的識別子の所定部分で検出される情報との間での対応関係がとれていれば、各デバイス識別子は該論理的ボリュームにおいて正しい物理的位置にあることが決定される。一方、もし対応関係がとれていなければ、上記対応関係の欠如をユーザに知らせるためのメッセージ又はエラー指示が発生される。
【００１０】
正しい論理的識別子およびデバイス識別子に対するチエックに加えて、本発明ではまた、各ボリューム即ち記憶装置の集団に対する論理的識別子を発生させ、また更新させる。論理的識別子のかかる更新又は書込みは、ある所定の条件又は事象のもとで発生する。例えば、特定の論理的ボリュームでの置換した記憶装置に対してデータを再構成している間、記憶システムの状態をパワー浪費からの回復に対して維持させるために、この特定の論理的ボリュームに対する論理的識別子が、置換した記憶装置のデバイス識別子を含む各デバイス識別子を読出すことによって発生される。加えて、論理的識別子の制御バイトは、置換した記憶装置へのデータの再構成がなされていることに対する情報を含んでいる。更新された論理的識別子が発生された後、その特定の論理的ボリュームに対する各記憶装置への書込みがなされる。他の事象又は条件は、その状態の連続性を維持することが重要であるようなシステム・オペレーション又はコマンドを含む論理的識別子の書込み又は更新を始めることができることも理解されるべきである。
【００１１】
【作用】
上述した概要をもとにして、本発明による数多くの顕著な特徴が容易に認識されうる。ディスク駆動装置やそれらに付属するディスクのような正しい記憶装置が、パワーが回復しているときのような、所定の条件や事象が発生した後に、正しい位置にあるかどうかを決定するためのチエックがなされる。もし正しい記憶装置が特定の論理的ボリュームに対する正しい物理的位置になければ、故障が発生したことを示すメッセージが発生される。それに加えて、ある論理的ボリュームに対する新しい論理的識別子を更新し又は書込むことができるので、例えば記憶装置の置換のような、ある事象や条件の発生に応じて、更新された正しい論理的識別子が各記憶装置に記憶される。各論理的識別子は、記憶デバイス識別子と全システムの動作に関する情報を提供する制御ビットとの組合せを含んでいる。もしパワーが浪費され次いで回復されたならば、パワーが浪費されたときのシステムの状態を決定することにおいて、特定の論理的ボリュームに対する論理的識別子のチエックがなされうる。このようにして、記憶装置アレイと関連する故障の許容限界が一層高められる。
【００１２】
本発明による他の利点は、添付図面を参照してなされる以下の説明によって明確にされる。
【００１３】
【実施例】
図１には、本発明を実施するためのシステムブロック図が示されている。該システムは、あるバンド巾を有するデータ接続部を介してアレイ記憶システム１４にデータを転送しまた該システム１４からのデータを受け入れるホストシステム１０を含んでいる。例えば、該バンド巾は４バイトであり、該データブロックのサイズは４０９６バイトであり、３６ＭＢ／秒の割合でデータ転送がなされる。ホストシステム１０は該アレイ記憶システム１４へのデータを発生しまた該システム１４からのデータを要求するコンピュータを有する多数のコンピュータ装置の１つを含むことができる。例えば、ホストシステム１０は、きわめて大容量の光学的記憶ユニットを、処理又は計算ユニットとともに含むことができ、このようにしてかかるホストシステム１０は記憶装置アレイの性能を利用する必要が生ずる。あるいは該ホストシステム１０は分配されたコンピュータのネットワークであってもよく、この場合、該アレイ記憶システム１４への、また該システム１４からのデータの読み書きに対する要求は、ネットワーク・アクセスによって種々のコンピュータから生ずる。
【００１４】
また該図１には、該アレイ記憶システム１４がいくつかの装置、すなわち、アレイコントロールモジュール（ＡＣＭ）１８、複数個のデバイスコントローラ２０ａ〜２０ｊ、およびそれに対応する数の記憶装置（記憶デバイス）２４ａ〜２４ｊで構成されることが示されている。アレイコントロールモジュール１８は、アレイ記憶システム１４の全体の制御を司どる。特に該アレイコントロールモジュール１８は、記憶装置２４とホストシステム１０との間でのデータの分配と再集とを制御する。各デバイスコントロール２０ａ〜２０ｊは、それぞれに接続される記憶装置（記憶デバイス）２４ａ〜２４ｊへのデータの読み書きを制御する。すなわち、デバイスコントローラ２０ａ〜２０ｊは、対応する記憶装置（記憶デバイス）２４ａ〜２４ｊでのデータに対する正確な物理的位置を決定する。記憶装置２４ａ〜２４ｊは、ホストシステム１０による相続く使用に対して書込まれるデータを記憶する。１具体例としては、各記憶装置は、例えば５．２５インチの磁気ディスク駆動装置のような、１つ又はそれ以上のディスクを含むディスク駆動装置であるが、他の記憶装置も該アレイ記憶システムを構成することができる。
【００１５】
アレイコントロールモジュール（ＡＣＭ）１８は、ホストシステム１０によって使用されるデータフォーマットに、また該データフォーマットからデータを変換する機能を有する。１つの具体例においては、ホストシステム１０は、４個の並列接続部を介して４キロバイトのデータブロックを並列形態で送受信し、該ＡＣＭ１８は、そのデータを５１２バイトの８ブロックに変換する。該データは各デバイスコントローラ２０ａ〜２０ｈに並列的に送られる。例えば、第１のデータバイトはデバイスコントローラ２０ａに送られ、第２のデータバイトはデバイスコントローラ２０ｂに送られる。図１に示される実施例においては、デバイスコントローラ２０ｉは記憶装置２４ｉと情報伝達を行い、記憶装置２４ａ〜２４ｈ上のデータから発生されるパリティデータを記憶する。デバイスコントローラ２０ｊは記憶装置２４ｊと情報伝達を行い、記憶装置２４ｊはスペアの記憶装置として機能し、他の記憶装置の１つが故障したときに利用される。該ＡＣＭ１８はまた、全体のアレイ記憶システム１４の状態をモニタし制御する計算能力を有するプロセッサ３２を含んでいる。ステータス記憶ユニット３６もまた該ＡＣＭ１８の１部であり、システム動作の間、該アレイ記憶システム１４と関連したステータス情報を記憶する。
【００１６】
該ＡＣＭ１８の動作の１例として、ホストシステム１０がアレイ記憶システム１４にデータ書込みを要求する場合を考える。該書込み要求はプロセッサ３２によって実行される制御プロセスでなされる。このプロセスでは、該アレイ記憶システム１４が、実行されるべき書込み要求を許容するのに適した状態にあるかどうかを決定するために、ステータス記憶ユニット３６への質問がなされる。もしこのプロセスで書込み要求が許可されたならば、データがホストシステム１０によってアレイコントロールユニット２８に書込まれる。書込み処理中であることを示すステータス情報がステータス記憶ユニット３６に書込まれる。アレイコントロールユニット２８内のデータは次いで、デバイスコントローラ２０への分配のために、所望のデータフォーマットに変換される。プロセッサ３２で実行される制御プロセスは次いで書込みコマンドを所定のデバイスコントローラ２０に送る。各デバイスコントローラ２０は、自身に割当てられたデータを対応する正しい記憶デバイス２４に書込むようにする。つづいて、書込み動作の完了を示すメッセージが制御プロセスに送られる。読出し動作も同様に行われるが、この場合、該ＡＣＭ１８は、ホストシステム１０への正しいデータフォーマットでの転送のために、所定の記憶デバイス２４から読出されたデータを再集する。
【００１７】
また図１には、単一の論理的ボリューム４０が示されている。該論理的ボリューム４０は記憶デバイス２４ａ〜２４ｊに割当てられた所定の物理的位置（ロケーション）を有し、該物理的位置は所定のデバイスコントローラ２０ａ〜２０ｊに知られている。アレイ記憶システム１４へのデータ書込みは、該論理的ボリューム４０にのみデータを書込む。アレイ記憶システム１４の他の具体例においては、多重の論理的ボリュームが含まれる。このような場合には、各デバイスコントローラ２０ａ〜２０ｊは、１個より多い記憶装置を制御する。このような具体例においては、デバイスコントローラ２０は、どの論理的ボリュームが読出し又は書込みに関係すべきかを決定する。１つの論理的ボリュームにおける記憶装置２４の数は可変とされうることもまた理解されるべきである。アレイコントロールモジール１８のデータ分配能力は、論理ボリューム当りに置かれる記憶装置２４の数に依存する。図示の実施例においては、８個のデータ記憶装置２４ａ〜２４ｈが示されており、更にパリティ記憶装置２４ｉとスペアの記憶装置２４ｊが示されている。より少ない又はより多いデータ記憶装置が利用されうる。それに伴って、１個より多いパリティ記憶装置が、１個より多いスペアの記憶装置とともに設けられうる。
【００１８】
他の実施例においては、第２のアレイ記憶システム１４が設けられる。この実施例においては、ホストシステム１０は、両方のアレイ記憶システム１４を用いて、論理的ボリュームからの読出しあるいは書込みを行うことができる。更にもし第１のアレイ記憶システムのデバイスコントローラを用いて、特定の論理的ボリュームをアクセスする際に故障が発生した場合には、第２のアレイ記憶システムがその論理的ボリュームの同じ記憶デバイスをアクセスするように利用されることができる。
【００１９】
記憶デバイス２４に対するデータの構成が実質的に変化しうることもまた留意されるべきである。１つの実施例においては、ホストシステム１０からの固定されたサイズのデータブロック内での連続したバイトが、２個又はそれ以上の異なったデバイスコントローラに分配され、このようにして２個又はそれ以上の異なった記憶デバイスに書込まれる。このデータ構成においては、その１具体例として、４０９６バイトのデータブロックを送信するホストシステム１０が設けられる。このブロックは次いで１０個の記憶デバイス２４ａ〜２４ｊを有する論理的ボリュームを用いて分配される。これらの記憶デバイス２４ａ〜２４ｈのうちの８個はほぼ５１２バイトのブロックにデータを記憶し、第１の記憶デバイス２４ａにおいては４０９６バイトのうち１番目、９番目、１７番目などのバイトを記憶する。９番目の記憶デバイス２４ｉは、論理的ボリューム４０に接続された記憶デバイス２４又はデバイスコントローラ２０の１つが故障した場合に、データの再構成を許容する冗長な情報を記憶する。好適な実施例においては、冗長な情報は、記憶されたデータを用いて発生されるパリティバイトの形式とされる。１０番目の記憶デバイス２４ｊはスペアの記憶デバイスとして用いられる。１０番目の記憶デバイス２４ｊは、論理的ボリューム４０に対するいくつかの故障した記憶デバイス２４からの再構成されたデータを記憶するために用いられる特別のデバイスである。第２のデータ構成においては、ホストシステム１０のデータブロックは、連続したバイトでの固定したサイズのサブブロックに分配される。各サブブロックは論理的ボリューム内での記憶デバイスに書込まれる。
【００２０】
アレイ記憶システム１４の使用において、データの完全さが危なくされるような場合が生じうる。特に、論理的ボリューム４０での１つ又はそれ以上の記憶デバイス２４が不正の物理的位置にあることがある。１つのケースとして、記憶デバイス２４の論理的ボリューム２４がその特定の論理的ボリュームに対する正しい位置選定によって設けられているにも拘らず、該記憶デバイス２４のうちの２個が、例えば偶然にスイッチされたなどの理由によって、そのボリューム内で２つの不正な物理的位置に置かれることがある。第２に、不正な記憶デバイス２４が該論理的ボリューム４０内に設けられてしまうことがある。
【００２１】
論理的ボリューム内において、すべての記憶デバイスが正しい位置にあるか否かを決定するために、本発明では予め記憶され、つづいて決定される情報が利用される。予め記憶される情報には、記憶デバイス２４の各々に対する“デバイス識別子”（ｄｅｖｉｃｅ  ｉｄｅｎｔｉｆｉｅｒ  ）を含んでいる。該デバイス識別子は記憶デバイス２４の各々に対して唯１つのそして永久的な識別コードである。好適には、該デバイス識別子は、特定の記憶デバイスに対するシリアル番号である。また上記した決定される情報には、各論理的ボリューム４０に対する“論理的識別子”（ｌｏｇｉｃａｌ  ｉｄｅｎｔｉｆｉｅｒ）を含んでいる。好適な実施例においては、該論理的ボリューム４０においての各記憶デバイス２４は同じ論理的識別子を有する。この論理的識別子は、特定の論理的ボリューム４０での各記憶デバイス２４に対するデバイス識別子を含んでいる。例えば１０個の記憶デバイスの場合には、該論理的識別子は、該論理的ボリューム４０内にあるすべての記憶デバイス２４に対する該記憶デバイス２４のシリアル番号を含んでいる。該論理的識別子は好適にはまた、アレイ記憶システム１４の動作と関連する状態を表示する制御情報バイトを含んでいる。論理的ボリューム４０に対する論理的識別子の発生と使用については、デバイス識別子の使用と併せて後で詳細に記述される。
【００２２】
論理的ボリューム４０における正しい記憶デバイス２４に対するチエックに加えて、本発明ではまた、各論理的ボリューム４０の論理的識別子、特に制御情報バイトを用いることによって、故障の許容限界設定処理がなされる。このことは要約すれば、ある状況が生じ又はある条件が発生したときにはいつでも、論理的ボリューム４０に対する論理的識別子を更新し又は書込むことによって達成される。
【００２３】
正しい記憶デバイス２４が論理的ボリューム４０内に見出されかつ正しく配列されているか否かの決定、および論理的識別子が特定の論理的ボリューム４０に対する各記憶デバイス２４で更新され、また書込まれるべきか否かの決定を開始する状況の説明に関して、以下に図２乃至図４を参照してなされる。
先ずステップ５０を参照すると、特定の事象がモニタされ、上記ＡＣＭ１８がパワー・オンとされたか否かが判別される。この事象の発生にもとづいて、論理的ボリューム４０での記憶デバイス２４ａ〜２４ｊの何れかが、（１）取り除かれ又は使用不能とされ、それによって該論理的ボリューム４０に対して使用可能な記憶デバイス２４が十分でなくなったかどうか、（２）間違った論理的ボリュームに置かれていないかどうか、（３）正しい論理的ボリューム４０に置かれているが該特定の論理的ボリューム４０内で間違った位置に接続されていないかどうかのチエックをすることが決定される。ステップ５４では、アレイ記憶システム１４の各論理的ボリュームが、図５乃至図７に示されるステップを用いてチエックされる。図５乃至図７の各ステップは後で詳細に記述される。ステップ５０と同様に、ステップ５８において、単一の記憶デバイスがパワー・オンとされたか否かが判別される。もしパワー・オンとされていれば、ステップ６２に示されるように、図５乃至図７の各ステップがまた実行される。図２乃至図４の各ステップのつづきとして、論理的識別子が発生され又は更新されるような他の状態が検出されうる。ステップ６６では、データの完全さに影響を及ぼすような、また論理的識別子を書込むことが有利であるような、いくつかのアレイ記憶システムの状況又は事象がモニタされる。好適な実施例においては、ある状況がモニタ用に、また所定の行動をとるために特定される。これらの事象又は状況として、（１）“アタッチ”コマンドの発行、および（２）初期化、構成変更、又はデータ再構成動作の存在がある。これらはユーザ入力装置、例えばターミナル６０によってアレイ記憶システム１４と影響し合うユーザによって開始されうる。
【００２４】
発行されるアタッチコマンドに関しては、ステップ７０でその発生がチエックされる。かかる場合にはステップ７４で、アタッチコマンドが実行される。アタッチコマンドの実行後に、ステップ７８が実行され、その結果として論理的識別子が、該アタッチコマンドと関連している特定の論理的ボリューム４０に対する各記憶デバイス２４に書込まれる。新しい論理的識別子の書込みにあたっては、図８および図９に示されるステップが実行される。図８および図９の各ステップについては、後で詳細に説明される。
【００２５】
アタッチコマンドは記憶デバイス２４をデータの受入れと記憶のために準備させる。この準備は、トラックおよびセクターの欠陥マップを読出して更新することを含んでいる。アタッチコマンドが発行されるときには、異なる記憶デバイスが論理的ボリューム４０に含まれていたという事実が示される。したがって論理的識別子は、論理的ボリューム４０の記憶デバイス２４において更新されなければならない。更新された論理的識別子は、この異なる記憶デバイスのデバイス識別子を含むべきである。
【００２６】
図２乃至図４に示されるステップ８６においては、特定の論理的ボリュームに対する論理的識別子の書込みを要求するような特定のオペレーショナルな事象が発生しているかどうかの判別がなされる。該ステップ８６として、初期化、自動的なデータ再構成、又は構成変更が生じているかどうかのチエックがなされることが示されている。
【００２７】
初期化動作は、記憶デバイス２４ａ〜２４ｊが欠陥マップを更新することによって、また記憶デバイス２４でのデータ記憶の割当てによって、データの読み書きに対して準備されることにおいて、アタッチコマンドの実行と類似している。しかし、初期化動作は特定の論理的ボリュームのすべての記憶デバイスに関係している。ステップ９０では、論理的識別子が、ステップ９４で示されるような初期化の実行に先立って書込まれる。このことは、初期化の実行中に発生するかも知れない停電の場合に重要である。すなわち、初期化の前に、論理的識別子の制御情報が、初期化が処理されるべきことを示すために更新される。もしステップ９４の実行中に停電とその後のパワー回復とが生じたならば、システムは初期化が該停電時に処理されていたことを判別することができる。電力の回復に伴って、該初期化が再開され完了されうる。論理的識別子を用いてこのステータス情報をチエックすることによって、不正な欠陥および記憶割当て情報が正当なものとして、また誤まって利用されているものとして解釈されうる。初期化処理の完了に伴って、特定の論理的ボリュームに対する論理的識別子が、ステップ９８に示されるように再び書込まれ又は更新される。論理的識別子内の制御情報は、このステータス情報を含むように再度更新されなければならない。
【００２８】
自動的なデータ再構成と関連して上記ステップ８６を参照すると、図２乃至図４に示される処理は、初期化動作と関連して既に記述したのと同じステップを含んでいるようにみえる。自動的なデータ再構成は、例えば、故障した記憶デバイス上のデータをスペアの記憶デバイス２４ｊに再構成することを含んでいる。このことは典型的には、同じ論理的ボリューム４０での正当な記憶デバイス２４に存在するデータとともに、記憶デバイス２４ｉに記憶されているパリティデータを用いることによって達成される。データ再構成に関するステータス情報は、データ再構成動作に先立って論理的識別子内に保持されるべきである。例えば停電のような、アレイ記憶システム１４と関連した故障事故の際には、電力回復に伴って、論理的識別子内の制御情報が読出され、データ再構成がなされていたという趣旨の情報を提供する。このような場合には、アレイ記憶システム１４は、直ちにデータ再構成動作を再開するか、又は該システムの能力に応じた動作をつづけることができる。初期化に関しては、データ再構成に伴って、該特定の論理的ボリューム４０に対する論理的識別子が再び更新され、該動作が完了した事実を表わすために各記憶デバイス２４に書込まれる。初期化に関しては、データ再構成の完了に伴って制御情報が修正されるので、論理的識別子が変化する。
【００２９】
構成変更動作は、故障した記憶デバイスに対して置換した記憶デバイス上にデータを記憶させることに関している。好適な実施例においては、この動作はスペアの記憶デバイス２４ｊを含むすべての記憶デバイスが該置換したデバイスにデータを書込むことに利用されることにおいて、データ再構成動作に類似している。他の２つの動作に関しては、動作の実行前と実行後に論理的識別子を更新することが有利である。
【００３０】
これらの３つの動作（オペレーション）に関しての図２乃至図４の各ステップを要約すると、ステップ８６ではそれらのうちの１つが呼び出されたかどうかが判別される。もしそうであれば、ステップ９０で、該オペレーションが適用される論理的ボリューム４０の記憶デバイス２４に新しい論理的識別子が書き込まれる。新しい論理的識別子は、その特定のオペレーションと関連したステータス情報を含み、故障後におけるアレイ記憶システム１４の回復の間に使用される。かかるステータス情報は論理的識別子の制御情報バイトの中に見出される。特定の論理的ボリューム４０に対する各記憶デバイス２４への論理的識別子の書込みのステップは、図８および図９に示されている。ステップ９４は特定のオペレーションの実行に関している。ステップ９８は論理的識別子が再び更新されることを示している。すなわち、論理的識別子の制御情報バイトは、該オペレーションが完了した事実を表わすために修正される。
【００３１】
論理的識別子とデバイス識別子のチエックに関し、図５乃至図７を参照して、特定の論理的ボリューム４０に正しく配置されている正しい記憶デバイス２４に対するチエックにおいて、かかる識別子の使用について以下に説明される。
前述したように図２乃至図４の各ステップに応じて、正しい記憶デバイス２４が特定の論理的ボリューム４０内に見出されるか否かのチエックがなされるべき事象が発生し又は状態が存在したという判別がなされた。この点に関し、かかるチエックによってなされる目的は、（１）特定の論理的ボリューム４０に対する位置に、正しい数の記憶デバイスがあるかどうかを判別すること、（２）すべての記憶デバイス２４が特定の論理的ボリューム４０の一部であるかどうかを判別すること、および（３）もしそうであれば、このような記憶デバイス２４がその正しい物理的位置にあるかどうかを判別することである。図５乃至図７に示される以下のステップはこのような目的を達成するために実行される。
【００３２】
先ずステップ１００では、第１の記憶デバイス２４ａからの論理的識別子が読出され、記憶位置又はレジスタに記憶される。この記憶領域は“論理的識別子”として規定されうる。論理的ボリューム４０に対する記憶デバイス２４ａ〜２４ｊの順序は、データが上記ＡＣＭ１８によって論理的ボリューム４０に分配されるとき使用される順序に対応することが理解されるべきである。この順序はまた、論理的識別子と関連したデバイス識別子に対しても同じ順序又は配列でなければならない。すなわちデバイス識別子は、それらが唯一的に関連している記憶デバイス２４ａ〜２４ｊの順序にしたがって連続して配列される。
【００３３】
ステップ１０４では次の記憶デバイス（例えば２４ｂ）からの論理的識別子が記憶位置又はレジスタに読出され、“次の論理的識別子”として規定されうる。ステップ１０８では、上記“論理的識別子”および“次の論理的識別子”に記憶された識別子情報が同じであるかどうかの判別がなされる。もし同じでなければ、記憶デバイス２４ａと２４ｂは同じ論理的ボリューム４０に所属していない。このような場合には、ステップ１１２で、これらの２つの記憶デバイスが同じ論理的ボリュームに属していないことを示すメッセージ又は応答ステータスが発生される。
【００３４】
もしこれらの２つの記憶領域が同じ論理的識別子を有していれば、ステップ１１６で、該論理的ボリューム４０に他の記憶デバイス２４があるかどうか判別される。もしそうであれば、ステップ１０４が再度実行され、“次の論理的識別子”に記憶されるこの新しい値が、“論理的識別子”の記憶位置における論理的識別子と同一であるかどうかの判別がなされる。もしそうであれば、ステップ１１６で、その論理的識別子が“論理的識別子”として特定される記憶位置又はレジスタにおいて見出される論理的識別子と比較されなかったような他の記憶デバイス２４があるかどうかの判別が再度なされる。上述したことから理解されるように、上記処理にはステップ１０４，１０８，および１１６を通る連続的なループを含んでおり、各論理的識別子が論理的ボリューム４０での次の未読出の記憶デバイス２４から繰返し読出され、該論理的識別子がすべて同じであるかどうかの判別がなされる。
【００３５】
上述のループに対して２つの出口がある。ステップ１０８では、上記“論理的識別子”と“次の論理的識別子”の内容が同じでないという比較結果が示される。このような場合には、第１の記憶デバイス２４ａの論理識別子と最も最近に読出された論理的識別子とが同じでないという結論が導かれる。ステップ１０８の判定がノウであればステップ１１２に進み、論理的ボリューム４０の一部として物理的に接続される記憶デバイスがこの特定の論理的ボリュームに属していないことを示すメッセージ又は応答ステータスが発生される。ステップ１１６では、論理的ボリューム４０に対する記憶デバイス２４から読出されるべき未読出の論理的識別子がなければ、上記ループが終結する。この場合には、これらのデバイスに対するすべての論理的識別子は同一である。更に、論理的識別子の読出の間、特定の論理的ボリューム４０に対するデバイスコントローラ２０へのすべてのポート又は接続もまた本質的にチエックされるので、記憶デバイス２４の数が正しいという決定もなされる。すなわちもし記憶デバイスが欠如しているならば、このことが、その位置又は接続部にあるべき記憶デバイスの論理的識別子の読出しがなされたときに決定される。一旦論理的識別子が比較され、それらがすべて同じである場合には、ステップ１１６の判別がノウとなり、その結果記憶デバイス２４が論理的ボリューム４０内で正しい位置にあるかどうかの決定がなされうる。
【００３６】
ステップ１２０では、第１のデバイス識別子（例えば記憶デバイス２４ａに対する）が論理的識別子から得られ、記憶ロケーション又はレジスタに記憶され、“期待されたデバイス識別子”として規定されうる。ステップ１２４では、デバイス識別子が記憶デバイス２４ａから読出され、記憶ロケーションに記憶され、  “実際のデバイス識別子”として規定されうる。ステップ１２８では、“期待されたデバイス識別子”および“実際のデバイス識別子”として記憶された内容が同じであるかどうかの比較又は判別がなされる。もしこの条件が満たされなければ、この第１の比較された記憶デバイスは、論理的識別子において指定されたような、論理的ボリューム４０における正しい位置にない。この場合には、ステップ１３２で、この記憶デバイスが正しい位置にないことを示すメッセージ又は応答ステータスを発生する。論理的識別子におけるデバイス識別子と本質的に関係した比較をすることと関連して、論理的ボリューム内におけるその位置がある。すなわち、論理的識別子はデバイス識別子の既知の連続したアクセスにより発生されるので、第１又は次のデバイス識別子が論理的識別子の一部又はセグメントから読出されるときは、この特定の部分又はセグメントは、特定の論理的ボリューム４０に対する既知のデバイス記憶位置に対応する。
【００３７】
もしステップ１２８の判定がイエスであればステップ１３６に進み、他の比較がなされるべきか否か、すなわち、論理的識別子内に他のデバイス識別子があるかどうかの判別がなされる。
もしステップ１３６の判定がイエスであれば、ステップ１２０と１２４が再度実行される。今回は、ステップ１２０において、“期待されたデバイス識別子”が次の記憶デバイス（例えば記憶デバイス２４ｂ）に対応する識別子情報を有する。ステップ１２４では、“実際のデバイス識別子”が論理的ボリュームの第２の記憶デバイス（記憶デバイス２４ｂ）から読出されるデバイス識別子を有する。ステップ１２０と１２４とが再び実行された後、実際のデバイス識別子と期待されたデバイス識別子とが同一であるか否かの判別がステップ１２８でなされる。もし同一でなければ、ステップ１３２で、期待された情報と実際の情報との対応関係が欠如していることを示すメッセージが発生される。もしステップ１２８の判定がイエスであれば、ステップ１３６で、他の実際のデバイス識別子が、論理的識別子内に見出されるような、期待されたデバイス識別子と比較される必要があるかどうかを決定する。もし必要があれば、ステップ１２０，１２４，および１２８で記述したプロセスがつづけられる。
【００３８】
実際のデバイス識別子と期待されたデバイス識別子との間でのすべての比較がなされた後、ステップ１３６で、すべての比較がなされており、論理的識別子とデバイス識別子のすべての部分で対応がとれていることの決定がなされる。ステップ１４０では、記憶デバイス２４が正しく、かつ論理的ボリューム４０内でそれらの正しい物理的位置にあることを示す出力メッセージ又は応答ステータスが提供される。
【００３９】
上述した決定又は判別に関するステップに関連して、論理的識別子がデバイス識別子から発生されるので、論理的識別子内に見出されるデバイス識別子より多い実際の記憶デバイス２４はありえないことが認識されるべきである。もしそのような場合があったならば、論理的識別子は特定の論理的ボリュームでのすべてのデバイス識別子から発生されるので、該論理的識別子が不正に発生されたことを意味する。論理的識別子内での記憶デバイスの数は記憶デバイスの実際の数より多くないことがステップ１０４，１０８，１１６で予め決定されていることもまた理解されるべきである。すなわち、実際の記憶デバイスの数は論理的識別子における記憶デバイスの数に対応することが決定されている。もし実際の記憶デバイスの数が論理的識別子内に見出される記憶デバイスの数より小さければ、ステップ１１２でエラー指示がなされる。
【００４０】
図８および図９には、論理的識別子を書込み又は更新するためのステップが示されている。前述したように、論理的識別子が更新され又は書込まれるべき事象が発生し又は条件が存在するという決定がなされた。一旦このような決定がなされると、ステップ１６０が実行される。特に、論理的ボリューム４０における各記憶デバイス２４ａ〜２４ｊからのデバイス識別子について、所定の順序にしたがった反復した読出しがある。このデバイス識別子の連続的な読出しの結果、記憶デバイス２４に関する位置情報が得られる。すなわち、論理的識別子を発生するとき、デバイス識別子が既知の所定の順序において論理的ボリュームに対して得られる。したがって論理的識別子が、該識別子の次のセグメント又は部分をデバイス識別子と比較するためにアクセスされるとき、どの記憶デバイス位置がそのセグメントにあてはまるかが知られる。更にステップ１６４では、所定の制御情報が読出され又は得られる。この情報を読出した後、ステップ１６８では、論理的識別子が、該論理的識別子の一部である制御バイトに含まれる制御情報とともに、論理的ボリューム４０内のデバイス識別子を用いて発生される。前述したように、該制御情報バイトは、アレイ記憶システム１４が故障した場合の復旧を援助するために用いられるステータス情報をアレイ記憶システム１４に提供する。最後に、ステップ１７２では、論理的識別子が論理的ボリューム４０の各記憶デバイス２４ａ〜２４ｊに書込まれる。論理的識別子は、各記憶デバイス２４ａ〜２４ｊ上の指定された記憶位置に書込まれる。
【００４１】
上述した本発明の説明は、図示された実施例にもとづいてなされたが、かかる実施例によって本発明が限定されるものではなく、本発明の範囲を逸脱しない範囲で、他の変形例をも含むように解釈されるべきである。
【００４２】
【発明の効果】
本発明によれば、記憶アレイ内における各記憶デバイスが、該アレイ内で正しい物理的ロケーションに置かれているか否かを、確実に判別決定することができる。
【図面の簡単な説明】
【図１】本発明に用いられる基本的ハードウエア素子を示すブロック図である。
【図２】論理的識別子およびデバイス識別子の読出し、又は論理的識別子の書込みの開始に関するステップをフローチャートで示す図である。
【図３】論理的識別子およびデバイス識別子の読出し、又は論理的識別子の書込みの開始に関するステップをフローチャートで示す図である。
【図４】論理的識別子およびデバイス識別子の読出し、又は論理的識別子の書込みの開始に関するステップをフローチャートで示す図である。
【図５】論理的識別子およびデバイス識別子のチエック又は読出しに関するステップをフローチャートで示す図である。
【図６】論理的識別子およびデバイス識別子のチエック又は読出しに関するステップをフローチャートで示す図である。
【図７】論理的識別子およびデバイス識別子のチエック又は読出しに関するステップをフローチャートで示す図である。
【図８】論理的識別子の更新又は書込みに関するステップをフローチャートで示す図である。
【図９】論理的識別子の更新又は書込みに関するステップをフローチャートで示す図である。
【符号の説明】
１０…ホストシステム
１４…アレイ記憶システム
１８…アレイコントロールモジュール
２０ａ〜２０ｊ…デバイスコントローラ
２４ａ〜２４ｊ…記憶デバイス
２８…アレイコントロールユニット
３２…プロセッサ
３６…ステータス記憶ユニット
４０…論理的ボリューム
【図１】
0003631442.tif 000002
【図２】
0003631442.tif 000003
【図３】
0003631442.tif 000004
【図４】
0003631442.tif 000005
【図５】
0003631442.tif 000006
【図６】
0003631442.tif 000007
【図７】
0003631442.tif 000008
【図８】
0003631442.tif 000009
【図９】
0003631442.tif 000010