(57)【要約】      （修正有）【課題】ディスクアレイコントローラに接続されたハードディスク装置について、ハードディスク装置の接続状態を変えずにハードディスク装置のファームウェアをアップデートすることができるとともに、障害の発生したハードディスク装置からデータ復旧のためにデータの吸出しをできるように、アレイコントローラに接続されるハードディスク装置に直接アクセス可能なアレイコントローラを提供する。【解決手段】ディスクアレイコントローラは、システム装置からアクセス可能なバスに複数のハードディスク装置を接続してアクセス制御をおこなうディスクコントローラを接続する構成とし、アレイディスクとして使用する設定の時は、プロセッサは、アレイ制御プログラムを実行してハードディスク装置を制御し、単体のディスクドライブとして使用する設定の時は、バスを介してシステム装置が複数のディスク装置を直接アクセス可能にするようにした。【選択図】図１
2007188372.tif 000002
【特許請求の範囲】
【請求項１】
複数のディスク装置を接続してアクセス制御をおこなうディスクコントローラと、
前記複数のディスク装置のアレイ処理をおこなうプロセッサと、
前記プロセッサが実行するアレイ制御プログラムを格納する第一の記録部と、
複数のディスク装置をアレイディスクとして使用するか単体のディスクドライブとして使用するかを設定する第二の記憶部と、
前記プロセッサと前記ディスクコントローラが接続されてシステム装置からアクセス可能なバスとを備え、
前記第二の記憶部にアレイディスクとして使用する情報が記憶されている場合には、前記プロセッサは、前記第一の記録部に可能されているアレイ制御プログラムに基づいて前記前記複数のディスク装置をアレイ制御し、前記第二の記憶部に単体のディスクドライブとして使用する情報が記憶されている場合には、前記バスを介してシステム装置が前記複数のディスク装置を直接アクセス可能にする
ことを特徴とするディスクアレイコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のハードディスク装置をディスクアレイとして制御するディスクアレイコントローラに関するものである。
【背景技術】
【０００２】
ディスクアレイ装置では、ディスクアレイコントローラ上のアレイ制御用ファームウェアにより、コントローラに接続された複数のハードディスク装置をアレイディスクとして処理している。この構成によりディスクアレイコントローラを接続するホストコンピュータからは、ディスク装置の構成を意識することなくひとつのボリュームとしてアクセスすることができるようにしている。つまり、ホストコンピュータから、アレイコントローラに接続するディスク装置を直接アクセスする必要がない構成となっている。
【０００３】
ディスクアレイを構成するハードディスク装置で障害が発生した場合には、アレイコントローラは、障害が発生したハードディスク装置を「故障」というステータス情報が書きこんで、そのハードディスク装置へ一切アクセスできないようアレイ制御用ファームウェアで制御している。
【０００４】
より具体的には、RAID1アレイでは、ハードディスク装置をミラーディスクとしてアレイコントローラが制御し、一方のハードディスク装置で障害が発生した場合には、他方のハードディスク装置のデータを使用するようにしている。また、RAID５アレイでは、複数のディスク装置のいずれかに冗長データを記憶しておき、いずれかのディスク装置で障害が発生した場合には、残りのディスク装置からデータを生成するようにしている。
【０００５】
上記のディスクアレイ装置は、例えば特許文献1に開示されている。
【０００６】
【特許文献１】特開平2-236714号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ディスクアレイ装置を構成する個々のハードディスク装置のファームウェアアップデートツールは、単体ディスクとして認識されているハードディスク装置を対象に通常は設計されている。すなわち、マザーボード上のディスクコネクタに接続されているようなハードディスク装置を対象としている。ディスクアレイコントローラに接続されたハードディスク装置は、ディスクアレイコントローラ上のファームウェアによりディスクアレイとして制御されている。このため、単体ディスクを対象としているハードディスク装置のファームウェアアップデートツールを適用することができない。このため従来は、ハードディスク装置のファームウェアアップデート作業時に、一時的にハードディスク装置をマザーボード上のディスクコネクタに接続し、アップデート完了後に再びディスクアレイコントローラにハードディスク装置を接続しなおすという手順を踏まなければならなかった。
【０００８】
また、ディスクアレイを構成するハードディスク装置は、障害時にアレイ制御用ファームウェアにより「故障」というステータス情報が書き込まれ、そのハードディスク装置へ一切アクセスできないようアレイ制御用ファームウェアが処理するが、実際にはハードディスク装置が完全に故障しておらず、まだ動作可能なケースがある。このようなハードディスク装置に対して「故障」ステータスを無視して認識する、すなわち、ディスクアレイとして制御しなければ、単体ディスクとしてアクセスできる。これは、アレイの状態のままではデータへアクセスできないが、アレイを構成するそれぞれのハードディスク装置について単体ディスクとして認識することで、「故障」登録されたハードディスク装置からデータを吸い出す事が可能になる事を意味する（アレイ制御用ファームウェアが何らかの理由により「故障」登録しているので、ハードディスク装置の全領域のデータを吸い出せる可能性は低いが、動作さえすれば部分的にでもデータを吸い出すことは可能なはずである）。RAID1アレイの場合、2台のハードディスク装置において同一のデータが記録されているので、2台のディスクとも「故障」登録された場合でも、どちらか一方が物理的に動作可能であれば、上記原理によりハードディスク装置からデータを吸い出し、データを救うことができる。
【０００９】
本発明の目的は、ディスクアレイコントローラに接続されたハードディスク装置について単体ディスクとしてアクセス可能にすることで、ハードディスク装置の接続状態を変えずにハードディスク装置のファームウェアをアップデートすることができるアレイコントローラを提供するである。
【００１０】
本発明の他の目的は、「故障」登録されたハードディスク装置から、データ復旧のためにデータの吸出しをできるように、アレイコントローラに接続されるハードディスク装置に直接アクセス可能なアレイコントローラを提供するである。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明のディスクアレイコントローラは、複数のディスク装置を接続してアクセス制御をおこなうディスクコントローラと、前記複数のディスク装置のアレイ処理をおこなうプロセッサと、前記プロセッサが実行するアレイ制御プログラムを格納する第一の記録部と、複数のディスク装置をアレイディスクとして使用するか単体のディスクドライブとして使用するかを設定する第二の記憶部と、前記プロセッサと前記ディスクコントローラが接続されてシステム装置からアクセス可能なバスとを備える構成とした。そして、前記第二の記憶部にアレイディスクとして使用する情報が記憶されている場合には、前記プロセッサは、前記第一の記録部に可能されているアレイ制御プログラムに基づいて前記前記複数のディスク装置をアレイ制御し、前記第二の記憶部に単体のディスクドライブとして使用する情報が記憶されている場合には、前記バスを介してシステム装置が前記複数のディスク装置を直接アクセス可能にするようにした。
【発明の効果】
【００１２】
本発明によれば、作業者はハードディスク装置の接続状態の変更や特別の操作無しで、ディスクアレイコントローラに接続されたハードディスク装置のファームウェアをアップデートすることができる。
【００１３】
また、RAID1アレイにおいて2台のハードディスク装置とも「故障」登録された場合に、どちらかのハードディスク装置が動作可能であれば、データ復旧のためにデータの吸出しをすることが可能となる。
【００１４】
さらに、ディスクアレイを構成するそれぞれのハードディスク装置について、マザーボードに接続された状態と同様にアクセスできるので、すなわち「アレイ」としてではなく「単体ディスク」として扱えるので、保守時や障害発生時におけるハードディスク装置単体へのアクセステスト等が実行できるようになる。
【発明を実施するための最良の形態】
【００１５】
以下図面を用いて実施例を説明する。図1は、実施例のディスクアレイコントローラが適用されるシステムの全体構成をしめす図である。ディスクアレイコントローラ１０１上のフラッシュROM１０３内に、アレイ制御用ファームウェア１０５をローカルRAM１０７へロードする/しないを決定するフラグ１０６を用意する。ディスクアレイコントローラ１０１上のディスクアレイコントローラBIOS１０４はシステムの電源投入時に本フラグ１０６を参照し、フラグ１０６が1の場合はアレイ制御用ファームウェア１０５をロードし、フラグ１０６が0の場合はアレイ制御用ファームウェア１０５をロードをスキップする（アレイ制御用ファームウェア１０５がロードされた場合は、ハードディスク装置１１６，１１７をディスクアレイとして扱う。逆にアレイ制御用ファームウェア１０５のロードがスキップされた場合は、ハードディスク装置１１６，１１７をアレイコントローラ１０１上のディスクコントローラチップ１１０が直接制御することになり、単体ディスクとして制御されることになる）。通常は、ハードディスク装置１１６，１１７をディスクアレイとして扱うためにフラグ１０６の値は1となっている。
【００１６】
ここで、ディスクコントローラチップ110は、ディスクアレイコントローラ101の内部バスに接続され、PCI-PCIバスブリッジを介して、システム装置（図示せず）からアクセス可能になっている。アレイ動作時には、CPU102がディスクコントローラチップ110を制御してアレイ処理をおこなう。
【００１７】
ハードディスク装置のファームウェアアップデートフロッピー（登録商標）ディスク２０１には、上記のフラグ１０６を書き換えるプログラム２０２を予め格納しておく。ハードディスク装置のファームウェアアップデートの際には、上記フラグ１０６の値を0に書き換え、ハードディスク装置１１６，１１７について2台とも単体ディスクとして扱われるようにする。このため、ハードディスク装置のファームウェアアップデートプログラム２０４はアレイコントローラ１０１に接続されたハードディスク装置１１６，１１７のファームウェアをアップデートすることができる。アップデート後は、プログラム２０２を実行させることによりフラグ１０６の値を1に書き換え、システム装置の再起動後に再びハードディスク装置１１６，１１７がディスクアレイとして認識されるようにする。
【００１８】
以上の手段を用いることにより、作業者はハードディスク装置１１６，１１７の接続状態の変更や特別の操作無しで、ディスクアレイコントローラ１０１に接続されたハードディスク装置１１６，１１７のファームウェアをアップデートすることができる。
【００１９】
上記のようなハードディスク装置のファームウェアをアップデートするケースとは別に、RAID1のディスクアレイにおいて、ディスクアレイを構成するハードディスク装置１１６，１１７が2台とも「故障」登録されたような場合には、ディスクアレイに対しアクセスできなくなり、結果としてハードディスク装置内のデータに完全にアクセス不可能となる。しかしながら、2台のハードディスク装置のいずれかが動作可能であれば、原理的にはそのディスク内のデータについてはアクセスできる可能性がある。
【００２０】
そこで、システム起動時にディスクアレイコントローラBIOS１０４がハードディスク装置１１６，１１７について2台とも「故障」登録されていることを認識した際には、アクセスするディスクを選択する画面を表示する。この時、選択されたハードディスク装置に対しては、アレイ制御用ファームウェア１０５をローカルRAM１０７へロードしないことで、単体ディスクとしてアクセスする。指定されなかったもう一方のハードディスク装置についてはアクセスする必要はないので（RAID1アレイ内にOSがインストールされている場合、両方のハードディスク装置が単体のディスクとして認識されるとOSのシステムドライブが2つ認識されることになり、レジストリ破壊が発生する。よってアクセスできないことが望ましい）、ディスクアレイコントローラBIOS１０４にて一切認識しないようにする。これにより、選択されたハードディスク装置のみにデータアクセスを可能な状態を作り出すことができる。
【図面の簡単な説明】
【００２１】
【図１】本発明装置の基本図である。
【図２】本発明装置を構成するフロッピーディスクの基本図である。
【図３】本発明装置が解決する課題Aの処理フロー図である。
【図４】本発明装置が解決する課題Bの処理フロー図である。
【符号の説明】
【００２２】
１０１・・・ディスクアレイコントローラ、
１０２・・・ディスクアレイ制御用ファームウェアを制御するCPU、
１０３・・・フラッシュROM、１０４・・・ディスクアレイコントローラBIOS、
１０５・・・ディスクアレイ制御用ファームウェア、
１０６・・・ファームウェアをロードする／しないを決定するフラグ、
１０７・・・ローカルRAM、１０８・・・キャッシュエンジン、１０９・・・キャッシュメモリ、
１１０・・・ディスクコントローラチップ、１１１・・・PCI-PCIブリッジ、
１１２・・・マザーボード上チップセット、１１３・・・メインCPU、
１１４・・・メインメモリ、１１５・・・フロッピーディスクドライブ、
１１６、１１７・・・ハードディスク装置、
２０１・・・ハードディスク装置ファームウェアアップデート用フロッピーディスク
２０２・・・ファームウェアロードフラグ書き換えプログラム、
２０３・・・ハードディスク装置用ファームウェア、
２０４・・・ハードディスク装置用ファームウェアアップデートプログラム
【図１】
2007188372.tif 000003
【図２】
2007188372.tif 000004
【図３】
2007188372.tif 000005
【図４】
2007188372.tif 000006