(57)【要約】【課題】記憶媒体の記憶容量が大きい場合にも、記憶データの再構築処理に要する時間を最小化できる再構築技術を実現する。【解決手段】処理データの冗長記憶領域を有するデータ記憶装置における記憶データの再構築動作を制御する再構築制御方法として、初期化後にアクセスされた論理アドレスの最大値を読み出す処理と、障害部位の交換に伴う記憶データの再構築処理の実行時、論理アドレスの最大値を上限として再構築処理を実行する処理とを有するものを提案する。これにより、再構築すべき記憶データの存在しない論理アドレスに対するアクセスを無くすことができる。【選択図】図９
2006285802.tif 000002
【特許請求の範囲】
【請求項１】
処理データの冗長記憶領域を有するデータ記憶装置において、
初期化後にアクセスされた論理アドレスの最大値を記憶する最大アドレス記憶部と、
障害部位の交換に伴う記憶データの再構築処理の実行時、前記論理アドレスの最大値を上限として再構築処理を実行する再構築処理実行部と
を有することを特徴とするデータ記憶装置。
【請求項２】
請求項１に記載のデータ記憶装置において、
記憶データを再構築すべき記憶媒体が複数ある場合、当該複数の記憶媒体についての再構築処理を同時並列的に実行する
ことを特徴とするデータ記憶装置。
【請求項３】
処理データの冗長記憶領域を有するデータ記憶装置における記憶データの再構築動作を制御する再構築制御装置において、
初期化後にアクセスされた論理アドレスの最大値を記憶する最大アドレス記憶部と、
障害部位の交換に伴う記憶データの再構築処理の実行時、前記論理アドレスの最大値を上限として再構築処理を実行する再構築処理実行部と
を有することを特徴とする再構築制御装置。
【請求項４】
処理データの冗長記憶領域を有するデータ記憶装置における記憶データの再構築動作を制御する再構築制御方法において、
初期化後にアクセスされた論理アドレスの最大値を読み出す処理と、
障害部位の交換に伴う記憶データの再構築処理の実行時、前記論理アドレスの最大値を上限として再構築処理を実行する処理と
を有することを特徴とする再構築制御方法。
【請求項５】
処理データの冗長記憶領域を有するデータ記憶装置の処理動作を制御するコンピュータに、
初期化後にアクセスされた論理アドレスの最大値を読み出す処理と、
障害部位の交換に伴う記憶データの再構築処理の実行時、前記論理アドレスの最大値を上限として再構築処理を実行する処理と
を実行させることを特徴とするプログラム。
【請求項６】
処理データの冗長記憶領域を有するデータ記憶装置の処理動作を制御するコンピュータに、
初期化後にアクセスされた論理アドレスの最大値を読み出す処理と、
障害部位の交換に伴う記憶データの再構築処理の実行時、前記論理アドレスの最大値の範囲内で再構築処理を実行する処理と
を実行させることを特徴とするプログラムを記録した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の一つの形態は、処理データの冗長記憶領域を有するデータ記憶装置に関する。
また発明の一つの形態は、前述したデータ記憶装置における記憶データの再構築動作を制御する再構築制御装置に関する。
また発明の一つの形態は、前述したデータ記憶装置における記憶データの再構築動作を制御する再構築制御方法に関する。
また発明の一つの形態は、前述したデータ記憶装置における記憶データの再構築動作を実現するプログラム及び当該プログラムを格納する記憶媒体に関する。
【背景技術】
【０００２】
大量のディジタルデータを日常的に取り扱うデータ記憶装置には、処理データを高速に読み書きできる処理技術と可用性を実現する処理技術が採用されている。
例えば、処理データを高速に読み書きする処理技術には、ストライピング方式が採用されている。ストライピング方式とは、１つの処理データを複数の処理単位に分割し、これらを並列に配置した複数の記憶媒体に同時に読み書きする技術手法をいう。
また例えば、可用性を実現する処理技術には、冗長データの保存法式が採用されている。一例に、処理データの誤り訂正又は復旧に使用する誤り訂正符号（パリティコード）を保存する方法がある。他の一例に、ミラーリングと呼ばれる方法がある。
【０００３】
現在、大容量記憶装置の記憶媒体は、磁気記憶媒体（ハードディスク）が主流である。このため、前述したデータ記憶装置は、ディスクアレイ装置とも呼ばれている。なお、ディスクアレイ技術の可用性を高めたものをＲＡＩＤ（Redundant Arrays of Inexpensive Disks）という。出願人によるディスクアレイ装置の出願例を以下に示す。
【特許文献１】特開２０００−６６８４５号公報
【特許文献２】特開平１１−４５１５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、ディスクアレイ装置の稼働中には、処理データや冗長データを記憶する記憶媒体に何らかの障害が発生することがある。この場合、障害が発生した記憶媒体をシステムから切り離し、他の記憶媒体に交換する必要がある。この交換には、障害の発生した記憶媒体を物理的にディスクアレイ装置から切り離し、新たな記憶媒体を物理的に接続する方式と、障害の発生した記憶媒体を論理的にディスクアレイ装置から切り離し、予め搭載しておいた予備の記憶媒体を論理的に接続する方式とがある。
いずれの方式を採用する場合にも、交換前の記憶媒体に記憶されていた記憶データを、交換後の記憶媒体に再構築する必要がある。
【０００５】
図１に、既存の再構築処理イメージを示す。図１に示すように、再構築時にディスクアレイ装置の全記憶領域が記憶データの再構築のためにアクセスされる。
これは、既存の再構築処理では、過去にアクセスされた論理ブロック範囲を管理していないためである。従って、初期化から比較的短期間に障害が発生した場合にも、記憶領域の全領域（ＬＢＡ０〜ＬＢＡｍａｘ）が記憶データの再構築のためにアクセスされる（図２）。
しかし、今日のディスクアレイ装置の記憶容量は非常に大きい。これに伴って、再構築処理に要する時間も非常に長くなっている。
【課題を解決するための手段】
【０００６】
発明者は、以上の技術的課題に着目し、以下の処理機能を有する技術を提案する。
（１）初期化後にアクセスされた論理アドレスの最大値を読み出す処理
（２）障害部位の交換に伴う記憶データの再構築処理の実行時、前記論理アドレスの最大値を上限として再構築処理を実行する処理
なお、これらの処理機能は、ソフトウェア処理として実現しても良いし、ハードウェア処理として実現しても良い。また、これらの処理の一部をソフトウェア処理で実現し、残る一部をハードウェア処理で実現しても良い。
【発明の効果】
【０００７】
発明に係る技術の採用により、再構築処理時間の最適化を実現できる。すなわち、再構築すべき記憶データの存在しない論理アドレスに対するアクセスを無くすことができる。これにより、再構築処理に要する時間の大幅な短縮を実現できる。
【発明を実施するための最良の形態】
【０００８】
以下、発明に係る技術手法を採用するデータ記憶装置の実施形態例を説明する。
なお、本明細書で特に図示又は記載していない部分には、当該技術分野の周知又は公知技術を適用する。
また以下に説明する実施形態は、発明の一つの実施形態であって、これらに限定されない。
【０００９】
（Ａ）サーバーシステム
（Ａ−１）システム構成
図３に、サーバーシステム１の構成例を示す。サーバーシステム１は、ファイルサーバー３と制御端末５とで構成する。
ファイルサーバー３は、自身の管理するデータ記憶装置（データストレージ）をシステム上の他の端末と共有し、外部から利用できるようにするコンピュータをいう。もっとも、ファイルサーバー３の詳細な内部構成は、適用する業務内容や用途に応じて異なる。図３のファイルサーバー３は、２種類の入出力インターフェースを有するものとして表している。入出力データＳＩ、ＳＯを扱うインターフェースと、入出力データＳＮを扱うインターフェースの２つである。
制御端末５は、ファイルサーバー３の内部動作を制御するコンピュータである。
【００１０】
（Ａ−２）ファイルサーバー
図４に、ファイルサーバー３の内部構成例を示す。なお、図４は、システムが扱う処理データが、映像データや音響データ（音声データ、楽音データその他の音データ）の場合を表している。すなわち、ファイルサーバー３が、いわゆるＡＶサーバーの場合を表している。図４の場合、個別の外部機器とのＡＶデータの入出力はシリアルデータインターフェースＳＩ、ＳＯとファイバーチャネルインターフェースＦＣを通じて実行される。
このファイルサーバー３は、ファイルマネジャー１１、処理ユニット１３、転送マネジャー１５、ファイバーチャネルスイッチ１７、データストレージ１９で構成される。
ファイルマネジャー１１は、サーバー内におけるＡＶデータの入出力を管理するコンピュータである。
【００１１】
処理ユニット１３は、ＡＶデータの符号化処理と復号化処理を実行するデバイスである。例えば、既存の処理ボードやカードで構成する。処理ユニット１３には、シリアルデータインターフェースＳＩだけでなく、ファイバーチャネルインターフェースＦＣからのＡＶデータも入力される。同様に、処理済みのＡＶデータは、シリアルデータインターフェースＳＯだけでなく、ファイバーチャネルインターフェースＦＣからも出力される。なお、処理ユニット１３における処理動作は、制御端末５から与えられる制御信号ＣＮＴによって制御される。
転送マネジャー１５は、外部ネットワークとしてのファイバーチャネルＦＣとの間でＡＶデータの入出力を管理するコンピュータである。
【００１２】
ファイバーチャネルスイッチ１７は、内部ネットワークとしてのファイバーチャネルを通じて伝送されるＡＶデータの中継装置である。因みに、内部ネットワークとしてのファイバーチャネルには、処理ユニット１３、転送マネジャー１５、データストレージ１９が接続されている。
データストレージ１９は、ＡＶデータの蓄積に使用されるデータ記憶装置である。データストレージ１９が、特許請求の範囲におけるデータ記憶装置に対応する。データストレージ１９は、誤り訂正機能付きのディスクアレイ装置を使用する。この形態例では、冗長データとして誤り訂正符号を使用する場合について説明する。
【００１３】
（Ａ−３）データストレージ
データストレージ１９の詳細構成を説明する。図５に、ＲＡＩＤ３タイプのデータストレージ１９の概念構成を示す。この概念構成の場合、データストレージ１９は、アレイコントローラ２１と、５台のデータディスク装置と、１台のパリティディスク装置とで構成される。具体的には、６台のハードディスク装置で構成される。
アレイコントローラ２１は、入力データ（処理データ）を複数の処理単位Ｄ０、Ｄ１…ＤＮに分割し、５台のデータディスクに並列的に書き込む処理と、これら５台のデータディスクから対応する処理単位Ｄ０、Ｄ１…ＤＮを読み出して結合し、出力データ（処理データ）として出力する処理とを実行する。
【００１４】
この分割処理は、ストライピングと呼ばれる。なお、アレイコントローラ２１は、分割処理の際に誤り訂正符号（パリティデータ）を生成する。誤り訂正符号は、処理データの読み出し時に参照され、出力データの誤り訂正に使用される他、障害ディスクの交換時に記憶データを再構築するのにも使用される。図５では、固定のパリティディスクを使用する。
図６に、データストレージ１９のハードウェア構成例を示す。データストレージ１９は、入出力インターフェース３１、ＣＰＵ３３、ＲＡＭ３５、誤り訂正部３７、ＲＡＭ３９、ＳＣＳＩインターフェース４１で構成する。
【００１５】
入出力インターフェース３１は、データストレージ１９をファイバーチャネルに接続するインターフェースである。
ＣＰＵ３３は、データストレージ１９の動作を制御するコンピュータである。ＣＰＵ３３が提供する機能は、プログラムを通じて実現される。例えば、処理データの書き込み処理や読み出し処理、障害ディスクの交換に伴う記憶データの再構築処理が実現される。
ＲＡＭ３５は、ファイルマネジャー１１から与えられる処理データの入出力に伴うコマンド（入出力コマンド）を格納する記憶領域である。すなわち、ＲＡＭ３５は、コマンドキューとして機能する。
また、ＲＡＭ３５は、初期化されてから現在までにアクセスされた論理ブロックアドレスの最大値の記憶領域としも使用される。すなわち、ＲＡＭ３５は、最大アドレス記憶部としても機能する。
【００１６】
誤り訂正部３７は、処理データのスイッチング処理、誤り訂正符号の生成と誤り訂正処理を実行する処理デバイスである。なお、処理データ（処理単位）の出力先は、誤り訂正部３７に内蔵されたマトリクススイッチで切り替えられる。
例えば、入力データの書き込み時、マトリクススイッチは、入出力インターフェース３１から入力された処理データに誤り訂正符号を付してＲＡＭ３９に出力する。この後、マトリクススイッチは、ＲＡＭ３９から読み出した処理データをＳＣＳＩインターフェース４１に出力する。
また例えば、出力データの読み出し時、マトリクススイッチは、ＳＣＳＩインターフェース４１から入力された処理データを誤り訂正してＲＡＭ３９に出力する。この後、マトリクススイッチは、ＲＡＭ３９から読み出した処理データを入出力インターフェース３１に出力する。
【００１７】
また例えば、記憶データの再構築時、マトリクススイッチは、ＳＣＳＩインターフェース４１から入力された処理データをＲＡＭ３９に出力する。次に、マトリクススイッチは、ＲＡＭ３９から読み出した処理データから記憶データを再構築し、再構築された記憶データをＲＡＭ３９に出力する。この後、マトリクススイッチは、ＲＡＭ３９から読み出した処理データをＳＣＳＩインターフェース４１に出力する。
ＲＡＭ３９は、この誤り訂正処理の作業領域として使用される。
ＳＣＳＩインターフェース４１は、処理データの分割処理と結合処理を複数のディスク装置との間で実行するインターフェースである。例えば、ＳＡＳ（シリアルアタッチドＳＣＳＩ）を使用する。
ここでの誤り訂正部３７、ＲＡＭ３９、ＳＣＳＩインターフェース４１が図５のアレイコントローラ２１に対応する。
【００１８】
（Ｂ）再構築処理機能
図７に、ＣＰＵ３３によって実現される再構築制御装置５１の機能構成例を示す。この機能構成は、プログラム処理を通じて実現される。
再構築制御装置５１は、最大アドレス読出部５３、再構築処理実行部５５で構成される。
最大アドレス読出部５３は、再構築処理の実行に先立って、初期化後にアクセスされた論理ブロックアドレスの最大値Ｕ−ＬＢＡｍａｘを読み出す処理機能である。なお、最大値Ｕ−ＬＢＡｍａｘは、初期化後に実行された再構築処理の回数によらず継続的に更新される。
【００１９】
最大アドレス読出部５３は、この最大値Ｕ−ＬＢＡｍａｘを最大アドレス記憶部５７から読み出す。ここで、最大アドレス記憶部５７は、ＲＡＭ３５の一部の記憶領域として実現されている。
再構築処理実行部５５は、障害部位の交換に伴う記憶データの再構築処理の実行時、読み出された最大値Ｕ−ＬＢＡｍａｘを上限として再構築処理を実行する。図８に、過去にアクセスされた論理ブロックアドレスの最大値Ｕ−ＬＢＡｍａｘと、記憶媒体としてアクセス可能な論理ブロックアドレスの最大値ＬＢＡｍａｘとの関係を示す。
すなわち、再構築処理実行部５５は、アクセス可能な論理ブロックアドレスの全範囲を再構築処理に使用するのではなく、過去に使用された論理ブロックアドレスの最大値を上限として記憶データの再構築処理を実行する。
【００２０】
図９に、ディスクアレイ装置の再構築処理機能に関する処理手順例を示す。この再構築処理機能は、ＣＰＵ３３に常駐するプログラムにより実現される。
このプログラムは、常時、前回の初期化から現在までに使用された（アクセスされた）論理ブロックアドレスの最大値Ｕ−ＬＢＡｍａｘを記録する（Ｐ１）。最大値Ｕ−ＬＢＡｍａｘの更新は、上位の制御端末５から指定された論理ブロックアドレスが、記録されている最大値よりも大きい場合に実行される。
この後、プログラムは、記憶データの再構築が要求されているか否かを判定する（Ｐ２）。
【００２１】
この判定処理で否定結果が得られている間（否定結果が得られている間）、プログラムは、処理Ｐ１に戻る。すなわち、通常動作の実行中は、アクセスのあった論理ブロックアドレスを監視し、その最大値を超えるたびにＲＡＭ３５（最大アドレス記憶部５７）に記憶されている値を更新する。
これに対し、記憶データの再構築が要求されていると判定された場合、プログラムは、記録されている論理ブロックアドレスの最大値Ｕ−ＬＢＡｍａｘをＲＡＭ３５（最大アドレス記憶部５７）から読み出す（Ｐ３）。
【００２２】
この後、プログラムは、読み出された最大値Ｕ−ＬＢＡｍａｘを再構築処理でアクセスする論理ブロックアドレスの最大値（上限値）として、再構築処理を実行する。すなわち、記憶データの再構築に必要なデータ（処理単位）の読み出し処理、誤り訂正符号を用いたデータ再構築処理、再構築されたデータ（処理単位）の書き込み処理を実行する。
再構築処理の終了後は、処理Ｐ１に再び戻る。従って、再構築処理が数回実行された場合でも、記憶データが初期化されていない限り、論理ブロックアドレスの最大値Ｕ−ＬＢＡｍａｘは継続的に更新される。
図１０に、図９に示すプログラムによって実現される再構築処理のイメージを示す。
図１０に示すように、再構築処理時に使用される論理ブロックアドレスの範囲は、再構築処理前に使用されていた論理ブロックアドレスの範囲と一致している。従って、再構築すべき記憶データが記憶されていない領域は、再構築処理時にアクセスされない。
【００２３】
（Ｃ）効果
以上のように、この形態例に係る再構築技術を用いれば、再構築処理に要する時間の最適化を実現できる。特に、初期化後の早期に障害が発生し、ディスク装置の交換が必要になった場合には、交換するディスク装置の記憶容量が大きい場合にも短時間のうちに再構築処理を完了することができる。
この再構築処理時間の最適化は、入出力コマンドの実行遅延を最小化する上でも効果的である。例えば、再構築処理の実行は、入出力コマンドに割り込み実行されることがあるが、再構築処理が必要最小限の期間に完了できれば、割り込み期間を最小化できる。このことは、割り込みによる入出力コマンドの実行タイミングの遅延を最小化する上で有利である。
【００２４】
（Ｄ）他の実施形態
（ａ）前述の形態例では、再構築対象のディスク装置が１台の場合を前提として説明した。しかし、再構築対象のディスク装置が複数台の場合にも適用できる。
例えば、再構築対象のディスク装置が２台でも良い。図１１に、再構築処理例を示す。図１１は、６台のディスク装置で構成されるディスクアレイ装置において、ディスク装置ＨＤＤ５及び６の２台が故障した場合の再構築処理例を表している。図１１は、ディスク装置ＨＤＤ５用の記憶データとディスク装置ＨＤＤ６用の記憶データを交互に再構築して記録する方式を表している。
【００２５】
もっとも、図１２に示す再構築処理方法を採用しても良い。図１２も、ディスクアレイ装置が６台のディスク装置で構成される場合について表している。やはり、ディスク装置ＨＤＤ５及び６の２台が故障した場合の再構築処理例である。
図１２は、ディスク装置ＨＤＤ５用の記憶データとディスク装置ＨＤＤ６を同時に再構築し、並列的に記憶する方式を表している。
勿論、再構築処理時に使用される論理ブロックアドレスの範囲は、再構築処理前に使用されていた論理ブロックアドレスの範囲と一致する。
【００２６】
なお、図１３に、再構築処理の同時並行機能に対応するプログラム例を示す。このプログラムは、図９に示す処理Ｐ４において実行すれば良い。
まず、プログラムは、再構築対象とする記憶媒体が複数か否かを判定する（Ｐ１１）。
複数であった場合（肯定結果が得られた場合）、プログラムは、複数のディスク装置に対応する記憶データの再構築と書き込みを同時に実行する（Ｐ１２）。
単数であった場合（否定結果が得られた場合）、プログラムは、対応するディスク装置についてのみ記憶データの再構築と書き込みを同時に実行する（Ｐ１３）。
この処理機能をプログラムに搭載することにより、再構築処理に要する時間を交互に実行する場合の半分に短縮できる。この処理機能は、再構築するディスク装置の台数が多いほど効果が大きい。
【００２７】
（ｂ）前述の形態例では、ＲＡＩＤ３タイプのディスクアレイ装置でデータストレージを構成する場合について説明した。すなわち、処理データをバイト単位（処理単位）に分割すると共に、固定のパリティディスク装置を用意するディスクアレイ装置でデータストレージを構成する場合について説明した。
しかし、他のＲＡＩＤタイプのディスクアレイ装置でデータストレージを構成しても良い。
【００２８】
例えば、ＲＡＩＤ４タイプのディスクアレイ装置で構成しても良い。この場合、処理データはブロック単位（処理単位）に分割される。固定のパリティディスク装置を用いる点はＲＡＩＤ３タイプと同じである。
また例えば、ＲＡＩＤ５タイプのディスクアレイ装置で構成しても良い。この場合、パリティディスク装置として機能するディスク装置は、ブロック単位でシフトされる。
また例えば、ＲＡＩＤ１（ミラーリング）、ＲＡＩＤ１＋０（ミラーリング＋ストライピング）、その他の冗長性を有するディスクアレイ装置に広く適用できる。すなわち、冗長記憶領域を有するディスクアレイ装置に広く適用できる。
【００２９】
（ｃ）前述の形態例では、ディスクアレイ装置が６台のディスク装置で構成される場合について説明した。
しかし、ディスクアレイ装置を構成するディスク装置の台数はこれに限らない。
（ｄ）前述の形態例では、データ記憶装置を構成する記憶媒体に磁気ディスク装置（いわゆるハードディスク装置）を用いる場合について説明した。
しかし、データ記憶装置を構成する記憶媒体には他の種類の記憶媒体を適用しても良い。例えば、半導体メモリをアレイ状に配列して使用しても良い。この構成を採用すれば、より高速なデータの入出力が可能となる。
（ｅ）前述の形態例では、処理データの送受信に、ファイバーチャネルインターフェースＦＣを用いる場合について説明した。
しかし、他のＬＡＮインターフェースを用いても良い。
【００３０】
（ｆ）前述の形態例では、ファイバーチャネルに接続されるファイルサーバーについて説明した。すなわち、図４に示すように複数台のデータストレージを内蔵するような大型のストレージシステムについて説明した。
しかし、１台のデータストレージで構成されるストレージシステムにも同様に適用できる。なお、ストレージシステムは、放送サービス、データ配信サービス、通信サービス、医療データサーバ、行政機関、研究所、企業その他のデータ蓄積サーバー等の業務用システムのみならず、個人や家庭で用いられるシステムにも適用できる。
（ｇ）前述の実施形態には、発明の趣旨の範囲内で様々な変形例が考えられる。また、本明細書の記載に基づいて創作される各種の変形例及び応用例も考えられる。
【図面の簡単な説明】
【００３１】
【図１】記憶データの再構築処理イメージの従来例を示す図である。
【図２】従来例の再構築範囲を示す図である。
【図３】サーバーシステムの構成例を示す図である。
【図４】ファイルサーバーの内部構成例を示す図である。
【図５】データストレージの概念構成を示す図である。
【図６】データストレージのハードウェア構成例を示す図である。
【図７】再構築制御装置の機能構成例を示す図である。
【図８】形態例の再構築範囲を示す図である。
【図９】再構築処理機能の処理手順例を示す図である。
【図１０】記憶データの再構築処理イメージの形態例を示す図である。
【図１１】再構築対象のディスク装置が複数の場合の処理イメージ例を示す図である。
【図１２】再構築対象のディスク装置が複数の場合の処理イメージ例を示す図である。
【図１３】再構築対象のディスク装置が複数の場合に対応可能な再構築処理機能の処理手順例を示す図である。
【符号の説明】
【００３２】
３      ファイルサーバー
１９    データストレージ
５１    再構築制御装置
５３    最大アドレス読出部
５５    再構築処理実行部
５７    最大アドレス記憶部
【図１】
2006285802.tif 000003
【図２】
2006285802.tif 000004
【図３】
2006285802.tif 000005
【図４】
2006285802.tif 000006
【図５】
2006285802.tif 000007
【図６】
2006285802.tif 000008
【図７】
2006285802.tif 000009
【図８】
2006285802.tif 000010
【図９】
2006285802.tif 000011
【図１０】
2006285802.tif 000012
【図１１】
2006285802.tif 000013
【図１２】
2006285802.tif 000014
【図１３】
2006285802.tif 000015