(57)【要約】  搭載ディスク台数に制限がある環境であってもＲＡＩＤグループを容易に変更させる。データ読込部は、対象ストライプにある第一のＲＡＩＤグループのデータ記憶領域からデータを読み込むとともに、対象ストライプにある第二のＲＡＩＤグループのデータ記憶領域からデータを読み込む。パリティ生成部は、データ読込部によって読み込まれたデータを用いて、二つのパリティを生成する。パリティ書込部は、パリティ生成部によって生成された二つのパリティのうちの一方のパリティを、対象ストライプにある第一のＲＡＩＤグループのパリティ記憶領域に書き込むとともに、他方のパリティを、対象ストライプにある第二のＲＡＩＤグループのパリティ記憶領域に書き込む。
2008152708.tif 000002
【特許請求の範囲】
【請求項１】
二つのＲＡＩＤ（Redundant  Array  of  Inexpensive  Disks）グループを一つのＲＡＩＤグループに変換するＲＡＩＤグループ変換装置であって、
前記二つのＲＡＩＤグループに属する複数の記録媒体から、ストライプごとにパリティ以外のデータを読み込むデータ読込手段と、
前記データ読込手段によって読み込まれた同一のストライプに属する前記データを用いて、二つのパリティを生成するパリティ生成手段と、
前記パリティ生成手段によって生成された前記二つのパリティを、前記同一のストライプに属するパリティ記憶領域にそれぞれ書き込むパリティ書込手段と、
を備えることを特徴とするＲＡＩＤグループ変換装置。
【請求項２】
前記二つのＲＡＩＤグループは、複数の記録媒体にそれぞれ同一のデータを記憶させる第一のＲＡＩＤレベルおよびストライプごとに一つのパリティを有する第二のＲＡＩＤレベルのいずれかで管理されている二つのＲＡＩＤグループであり、前記一つのＲＡＩＤグループは、ストライプごとに二つのパリティを有する第三のＲＡＩＤレベルで管理されるＲＡＩＤグループであり、
前記二つのＲＡＩＤグループに、前記第一のＲＡＩＤレベルで管理されているＲＡＩＤグループが含まれている場合に、当該第一のＲＡＩＤレベルで管理されているＲＡＩＤグループに属する複数の記録媒体のうち、一の記録媒体を、パリティを記憶するパリティ専用記録媒体として仮に設定する仮設定手段と、
をさらに備えることを特徴とする請求項１記載のＲＡＩＤグループ変換装置。
【請求項３】
前記第一のＲＡＩＤレベルはＲＡＩＤ１であり、前記第二のＲＡＩＤレベルはＲＡＩＤ４またはＲＡＩＤ５であり、前記第三のＲＡＩＤレベルはＲＡＩＤ６であることを特徴とする請求項２記載のＲＡＩＤグループ変換装置。
【請求項４】
前記二つのＲＡＩＤグループごとのディスク容量は、他方のＲＡＩＤグループに属する複数の記録媒体に記憶されているデータおよびパリティの全データ使用量よりも大きいことを特徴とする請求項１〜３のいずれか１つに記載のＲＡＩＤグループ変換装置。
【請求項５】
前記二つのＲＡＩＤグループごとの前記全データ使用量が異なる場合に、当該全データ使用量が小さい方のＲＡＩＤグループに属する複数の記録媒体に、所定のデータを記憶させることで、前記二つのＲＡＩＤグループごとの前記全データ使用量を合致させることを特徴とする請求項４記載のＲＡＩＤグループ変換装置。
【請求項６】
二つのＲＡＩＤグループを一つのＲＡＩＤグループに変換するＲＡＩＤグループ変換方法であって、
前記二つのＲＡＩＤグループに属する複数の記録媒体から、ストライプごとにパリティ以外のデータを読み込むデータ読込ステップと、
前記データ読込ステップにおいて読み込まれた同一のストライプに属する前記データを用いて、二つのパリティを生成するパリティ生成ステップと、
前記パリティ生成ステップにおいて生成された前記二つのパリティを、前記同一のストライプに属するパリティ記憶領域にそれぞれ書き込むパリティ書込ステップと、
を含むことを特徴とするＲＡＩＤグループ変換方法。
【請求項７】
前記二つのＲＡＩＤグループは、複数の記録媒体にそれぞれ同一のデータを記憶させる第一のＲＡＩＤレベルおよびストライプごとに一つのパリティを有する第二のＲＡＩＤレベルのいずれかで管理されている二つのＲＡＩＤグループであり、前記一つのＲＡＩＤグループは、ストライプごとに二つのパリティを有する第三のＲＡＩＤレベルで管理されるＲＡＩＤグループであり、
前記二つのＲＡＩＤグループに、前記第一のＲＡＩＤレベルで管理されているＲＡＩＤグループが含まれている場合に、当該第一のＲＡＩＤレベルで管理されているＲＡＩＤグループに属する複数の記録媒体のうち、一の記録媒体を、パリティを記憶するパリティ専用記録媒体として仮に設定する仮設定ステップと、
をさらに含むことを特徴とする請求項６記載のＲＡＩＤグループ変換方法。
【請求項８】
前記第一のＲＡＩＤレベルはＲＡＩＤ１であり、前記第二のＲＡＩＤレベルはＲＡＩＤ４またはＲＡＩＤ５であり、前記第三のＲＡＩＤレベルはＲＡＩＤ６であることを特徴とする請求項７記載のＲＡＩＤグループ変換方法。
【請求項９】
前記二つのＲＡＩＤグループごとのディスク容量は、他方のＲＡＩＤグループに属する複数の記録媒体に記憶されているデータおよびパリティの全データ使用量よりも大きいことを特徴とする請求項６〜８のいずれか１つに記載のＲＡＩＤグループ変換方法。
【請求項１０】
前記二つのＲＡＩＤグループごとの前記全データ使用量が異なる場合に、当該全データ使用量が小さい方のＲＡＩＤグループに属する複数の記録媒体に、所定のデータを記憶させることで、前記二つのＲＡＩＤグループごとの前記全データ使用量を合致させることを特徴とする請求項９記載のＲＡＩＤグループ変換方法。
【請求項１１】
二つのＲＡＩＤグループを一つのＲＡＩＤグループに変換するＲＡＩＤグループ変換プログラムであって、
前記二つのＲＡＩＤグループに属する複数の記録媒体から、ストライプごとにパリティ以外のデータを読み込むデータ読込手順と、
前記データ読込手順によって読み込まれた同一のストライプに属する前記データを用いて、二つのパリティを生成するパリティ生成手順と、
前記パリティ生成手順によって生成された前記二つのパリティを、前記同一のストライプに属するパリティ記憶領域にそれぞれ書き込むパリティ書込手順と、
をコンピュータに実行させることを特徴とするＲＡＩＤグループ変換プログラム。
【請求項１２】
前記二つのＲＡＩＤグループは、複数の記録媒体にそれぞれ同一のデータを記憶させる第一のＲＡＩＤレベルおよびストライプごとに一つのパリティを有する第二のＲＡＩＤレベルのいずれかで管理されている二つのＲＡＩＤグループであり、前記一つのＲＡＩＤグループは、ストライプごとに二つのパリティを有する第三のＲＡＩＤレベルで管理されるＲＡＩＤグループであり、
前記二つのＲＡＩＤグループに、前記第一のＲＡＩＤレベルで管理されているＲＡＩＤグループが含まれている場合に、当該第一のＲＡＩＤレベルで管理されているＲＡＩＤグループに属する複数の記録媒体のうち、一の記録媒体を、パリティを記憶するパリティ専用記録媒体として仮に設定する仮設定手順と、
をさらにコンピュータに実行させることを特徴とする請求項１１記載のＲＡＩＤグループ変換プログラム。
【請求項１３】
前記第一のＲＡＩＤレベルはＲＡＩＤ１であり、前記第二のＲＡＩＤレベルはＲＡＩＤ４またはＲＡＩＤ５であり、前記第三のＲＡＩＤレベルはＲＡＩＤ６であることを特徴とする請求項１２記載のＲＡＩＤグループ変換プログラム。
【請求項１４】
前記二つのＲＡＩＤグループごとのディスク容量は、他方のＲＡＩＤグループに属する複数の記録媒体に記憶されているデータおよびパリティの全データ使用量よりも大きいことを特徴とする請求項１１〜１３のいずれか１つに記載のＲＡＩＤグループ変換プログラム。
【請求項１５】
前記二つのＲＡＩＤグループごとの前記全データ使用量が異なる場合に、当該全データ使用量が小さい方のＲＡＩＤグループに属する複数の記録媒体に、所定のデータを記憶させることで、前記二つのＲＡＩＤグループごとの前記全データ使用量を合致させることを特徴とする請求項１４記載のＲＡＩＤグループ変換プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＲＡＩＤ（Redundant  Array  of  Inexpensive  Disks）グループを他のＲＡＩＤグループに変換させるのに有用なＲＡＩＤグループ変換装置、ＲＡＩＤグループ変換方法およびＲＡＩＤグループ変換プログラムに関し、特に、二つのＲＡＩＤグループを一つのＲＡＩＤグループに変換させることができるＲＡＩＤグループ変換装置、ＲＡＩＤグループ変換方法およびＲＡＩＤグループ変換プログラムに関する。
【背景技術】
【０００２】
情報技術が進歩するのに従ってコンピュータシステムで取り扱われる情報が増大し、この情報を格納するディスクの大容量化が急速に進んでいる。ディスクの大容量化に伴ってディスク故障時に受けるデータ損失等の被害はますます大きくなっている。ディスク故障によるデータ損失を防止するための技術として、ＲＡＩＤがある。このＲＡＩＤには、いくつかのレベルがあり、現在最も一般的に採用されているレベルのＲＡＩＤ１、ＲＡＩＤ４およびＲＡＩＤ５は、ＲＡＩＤグループに属する１ディスク分の故障に耐えることができる。これに対して、ＲＡＩＤ６は、ストライプごとに二つのパリティを持つことによってＲＡＩＤグループに属する二ディスク分の故障にまで耐えることができる。したがって、１ディスク分の故障に耐え得るＲＡＩＤ１、ＲＡＩＤ４およびＲＡＩＤ５レベルでディスクを管理するよりも、二ディスク分の故障にまで耐え得るＲＡＩＤ６レベルでディスクを管理する方が、複数あるディスクの対故障性を高めることができる。【０００３】
それゆえに、ＲＡＩＤ１、ＲＡＩＤ４およびＲＡＩＤ５レベルで管理されているＲＡＩＤグループを、ＲＡＩＤ６レベルのＲＡＩＤグループに容易に変更することができれば、複数あるディスクの対故障性を容易に高めることが可能となる。従来、ＲＡＩＤレベルを変更する技術として、新たにディスクを追加してＲＡＩＤレベルを変更する技術（下記特許文献１参照）や、別途用意したＲＡＩＤグループにデータを移行させることでＲＡＩＤレベルを変更する技術（下記特許文献２参照）がある。
【特許文献１】特開２００６−１２０１２０号公報
【特許文献２】特開２００６−３１８０１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、特許文献１に開示されている技術では、新たにディスクを追加する必要があり、特許文献２に開示されている技術では、変更後のＲＡＩＤグループのデータを格納するための領域を予めディスク内に用意しておかなければならない。したがって、これらの従来技術では、ディスクを購入する余裕がない場合や、装置内にディスクを搭載するスペースがない場合等のように、搭載ディスク台数に制限がある環境下においては、ＲＡＩＤグループを変更させることができないという問題がある。【０００５】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、搭載ディスク台数に制限がある環境であってもＲＡＩＤグループを容易に変換させることができるＲＡＩＤグループ変換装置、ＲＡＩＤグループ変換方法およびＲＡＩＤグループ変換プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するため、本発明は、二つのＲＡＩＤグループを一つのＲＡＩＤグループに変換するＲＡＩＤグループ変換装置であって、二つのＲＡＩＤグループに属する複数の記録媒体から、ストライプごとにパリティ以外のデータを読み込むデータ読込手段と、データ読込手段によって読み込まれた同一のストライプに属するデータを用いて、二つのパリティを生成するパリティ生成手段と、パリティ生成手段によって生成された二つのパリティを、同一のストライプに属するパリティ記憶領域にそれぞれ書き込むパリティ書込手段と、を備えることを特徴とする。【０００７】
また、本発明は、二つのＲＡＩＤグループを一つのＲＡＩＤグループに変換するＲＡＩＤグループ変換方法であって、二つのＲＡＩＤグループに属する複数の記録媒体から、ストライプごとにパリティ以外のデータを読み込むデータ読込ステップと、データ読込ステップにおいて読み込まれた同一のストライプに属するデータを用いて、二つのパリティを生成するパリティ生成ステップと、パリティ生成ステップにおいて生成された二つのパリティを、同一のストライプに属するパリティ記憶領域にそれぞれ書き込むパリティ書込ステップと、を含むことを特徴とする。【０００８】
また、本発明は、二つのＲＡＩＤグループを一つのＲＡＩＤグループに変換するＲＡＩＤグループ変換プログラムであって、二つのＲＡＩＤグループに属する複数の記録媒体から、ストライプごとにパリティ以外のデータを読み込むデータ読込手順と、データ読込手順によって読み込まれた同一のストライプに属するデータを用いて、二つのパリティを生成するパリティ生成手順と、パリティ生成手順によって生成された二つのパリティを、同一のストライプに属するパリティ記憶領域にそれぞれ書き込むパリティ書込手順と、をコンピュータに実行させることを特徴とする。【０００９】
これらの発明によれば、二つのＲＡＩＤグループに属する複数の記録媒体からストライプごとに読み込んだデータを用いて二つのパリティを生成し、この二つのパリティを上記ストライプごとにあるパリティ記憶領域に書き込むことで、ストライプごとに二つのパリティを有する一つのＲＡＩＤグループに変換させることができるため、ディスクを追加することなく、かつデータ部分を移行することなくＲＡＩＤグループを容易に変換させることができる。【００１０】
また、本発明は、上記発明において、上記二つのＲＡＩＤグループは、複数の記録媒体にそれぞれ同一のデータを記憶させる第一のＲＡＩＤレベルおよびストライプごとに一つのパリティを有する第二のＲＡＩＤレベルのいずれかで管理されている二つのＲＡＩＤグループであり、上記一つのＲＡＩＤグループは、ストライプごとに二つのパリティを有する第三のＲＡＩＤレベルで管理されるＲＡＩＤグループであり、上記二つのＲＡＩＤグループに、第一のＲＡＩＤレベルで管理されているＲＡＩＤグループが含まれている場合に、当該第一のＲＡＩＤレベルで管理されているＲＡＩＤグループに属する複数の記録媒体のうち、一の記録媒体を、パリティを記憶するパリティ専用記録媒体として仮に設定する仮設定手段と、をさらに備えることを特徴とする。【００１１】
また、本発明は、上記発明において、上記第一のＲＡＩＤレベルはＲＡＩＤ１であり、上記第二のＲＡＩＤレベルはＲＡＩＤ４またはＲＡＩＤ５であり、上記第三のＲＡＩＤレベルはＲＡＩＤ６であることを特徴とする。【００１２】
また、本発明は、上記発明において、上記二つのＲＡＩＤグループごとのディスク容量は、他方のＲＡＩＤグループに属する複数の記録媒体に記憶されているデータおよびパリティの全データ使用量よりも大きいことを特徴とする。【００１３】
また、本発明は、上記発明において、上記二つのＲＡＩＤグループごとの全データ使用量が異なる場合に、当該全データ使用量が小さい方のＲＡＩＤグループに属する複数の記録媒体に、所定のデータを記憶させることで、二つのＲＡＩＤグループごとの全データ使用量を合致させることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、二つのＲＡＩＤグループに属する複数の記録媒体からストライプごとに読み込んだデータを用いて二つのパリティを生成し、この二つのパリティを上記ストライプごとにあるパリティ記憶領域に書き込むことで、ストライプごとに二つのパリティを有する一つのＲＡＩＤグループに変換させることができるため、ディスクを追加することなく、かつデータ部分を移行することなくＲＡＩＤグループを容易に変換させることができる。すなわち、本発明によれば、搭載ディスク台数に制限がある環境であってもＲＡＩＤグループを容易に変換させることができるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】図１は、ＲＡＩＤ装置の構成図である。
【図２】図２は、データ読込部のデータ読込機能を説明するための模式図である。
【図３】図３は、パリティ生成部のパリティ生成機能を説明するための模式図である。
【図４】図４は、パリティ書込部のパリティ書込機能を説明するための模式図である。
【図５】図５は、ＲＡＩＤグループ変換処理の処理手順を示すフローチャートである。
【図６】図６は、変形例における制御部の機能構成図である。
【図７】図７は、ＲＡＩＤグループ変換プログラムを実行するコンピュータの機能構成図である。
【符号の説明】
【００１６】
１    ＲＡＩＤ装置
２    サーバ
１０    ＣＭ
１１    制御部
１２    記憶部
２０    ＣＡ
３０    ＤＡ
４０    ディスク
１１１    データ読込部
１１２    パリティ生成部
１１３    パリティ書込部
１１４    仮設定部
１０００    コンピュータ
１０１０    ＣＰＵ
１０２０    入力装置
１０３０    モニタ
１０４０    媒体読取装置
１０５０    通信装置
１０６０    ＲＡＭ
１０６１    ＲＡＩＤグループ変換プロセス
１０７０    ハードディスク装置
１０７１    ＲＡＩＤグループ変換プログラム
１０７２    ＲＡＩＤグループ変換用データ
１０８０    バス
【発明を実施するための最良の形態】
【００１７】
以下に添付図面を参照して、この発明に係るＲＡＩＤグループ変換装置、ＲＡＩＤグループ変換方法およびＲＡＩＤグループ変換プログラムの好適な実施形態を詳細に説明する。
【実施例】
【００１８】
まず、本実施例におけるＲＡＩＤ装置の構成について説明する。図１は、ＲＡＩＤ装置の構成図である。ＲＡＩＤ装置１は、ＲＡＩＤグループに属する複数のディスク（記録媒体）を管理する記憶装置である。ここで、ＲＡＩＤは、ディスクを管理するための技術であり、ディスク故障によるデータ損失を防ぐとともに処理性能を向上させるための技術である。ＲＡＩＤには、ＲＡＩＤ０〜ＲＡＩＤ６までのレベルがある。【００１９】
例えば、ＲＡＩＤ１は、データを二台のディスクに同時に書き込むレベルであり、ミラーリングとも呼ばれている。ＲＡＩＤ４は、複数のディスクにわたってデータを帯状に記憶させるストライピングにパリティ専用ディスクを追加したものであり、ストライプごとに一つのパリティを配置する。ＲＡＩＤ５は、ＲＡＩＤ４におけるパリティ専用ディスクへのＩ／Ｏ集中を回避させるために、ストライプごとに一つ配置されるパリティを全てのディスクに分散して配置させた点でＲＡＩＤ４と異なる。ＲＡＩＤ６は、ストライプごとに２つのパリティを生成し、それぞれを異なるディスクに分散して配置させることで、同一ＲＡＩＤグループ内の二台のディスク故障まで救済できるようにしたものである。【００２０】
本実施例におけるＲＡＩＤ装置は、ＲＡＩＤ１、ＲＡＩＤ４およびＲＡＩＤ５の各ＲＡＩＤレベルのうちのいずれかのＲＡＩＤレベルで管理されている二つのＲＡＩＤグループを、ＲＡＩＤ６で管理する一つのＲＡＩＤグループに変換するＲＡＩＤグループ変換機能を有する点に特徴がある。本実施例では、説明の便宜のために、ＲＡＩＤ５で管理されている二つのＲＡＩＤグループを、ＲＡＩＤ６で管理する一つのＲＡＩＤグループに変換する場合について説明する。なお、変換前の二つのＲＡＩＤグループのＲＡＩＤレベル（ＲＡＩＤ１、ＲＡＩＤ４、ＲＡＩＤ５）の組み合わせや、二つのＲＡＩＤグループを構成するディスク数については適宜設計可能である。【００２１】
図１に示すように、ＲＡＩＤ装置１は、サーバ２との接続を制御するＣＡ(Channel  Adapter)２０と、ディスク４０に記憶されているデータのＩ／Ｏ等を制御するＣＭ（Controller  Module）１０と、ＣＭ１０とディスク４０との間の接続を制御するＤＡ(Device  Adapter)３０と、ＲＡＩＤグループに属するディスク４０とを有する。ＣＭ１０は、制御部１１と、記憶部１２とを有する。制御部１１は、データ読込部１１１と、パリティ生成部１１２と、パリティ書込部１１３とを有する。【００２２】
データ読込部１１１は、二つのＲＡＩＤグループに属する複数のディスクから、ストライプごとにパリティ以外のデータを読み込む。図２を参照して具体的に説明する。図２は、データ読込部のデータ読込機能を説明するための模式図である。同図には、ＲＡＩＤ５で管理される二つのＲＡＩＤグループ４０Ａ、４０Ｂに含まれる一のストライプＳＴに属するデータのうち、パリティＰ１１、Ｐ２１以外のデータＤ１１、Ｄ１２、Ｄ１３、Ｄ２１、Ｄ２２、Ｄ２３が、記憶部１２のデータバッファ領域１２１に一時的に記憶された状態が示されている。つまり、データ読込部１１１は、二つのＲＡＩＤグループ４０Ａ、４０Ｂに属する複数のディスク４０から、一のストライプＳＴに属するパリティＰ１１、Ｐ２１以外のデータＤ１１、Ｄ１２、Ｄ１３、Ｄ２１、Ｄ２２、Ｄ２３を読み込む。データ読込先のストライプＳＴは、ＲＡＩＤグループ４０Ａ、４０Ｂ内にある全ストライプを対象にして順次選択される。【００２３】
パリティ生成部１１２は、データ読込部１１１によって読み込まれた同一のストライプに属するデータを用いて、二つのパリティ（例えば、水平パリティＰと重み付けパリティＱ）を生成する。図３を参照して具体的に説明する。図３は、パリティ生成部のパリティ生成機能を説明するための模式図である。同図には、記憶部１２のデータバッファ領域１２１に記憶されたデータＤ１１、Ｄ１２、Ｄ１３、Ｄ２１、Ｄ２２、Ｄ２３を用いて二つのパリティＰ０１、Ｐ０２が生成され、記憶部１２のパリティバッファ領域１２２Ａ、１２２Ｂにそれぞれが一時的に記憶された状態が示されている。つまり、パリティ生成部１１２は、データ読込部１１１によって読み込まれた一のストライプＳＴに属するデータＤ１１、Ｄ１２、Ｄ１３、Ｄ２１、Ｄ２２、Ｄ２３を用いて、二つのパリティＰ０１、Ｐ０２を生成する。【００２４】
パリティ書込部１１３は、パリティ生成部１１２によって生成された二つのパリティを、パリティの生成元データを記憶するデータ記憶領域と同一のストライプにあるパリティ記憶領域に書き込む。図４を参照して具体的に説明する。図４は、パリティ書込部のパリティ書込機能を説明するための模式図である。同図には、ＲＡＩＤ５で管理される二つのＲＡＩＤグループ４０Ａ、４０Ｂに含まれる一のストライプＳＴに属する記憶領域のうち、パリティＰ１１、Ｐ２１が記憶されているパリティ記憶領域に、パリティ生成部１１２によって生成された二つのパリティＰ０１、Ｐ０２をそれぞれ書き込む状態が示されている。つまり、パリティ書込部１１３は、パリティ生成部１１２によって生成された二つのパリティＰ０１、Ｐ０２を、このパリティＰ０１、Ｐ０２の生成元であるデータＤ１１、Ｄ１２、Ｄ１３、Ｄ２１、Ｄ２２、Ｄ２３を記憶するデータ記憶領域と同一のストライプにあるパリティ記憶領域にそれぞれ書き込む。【００２５】
ここで、本実施例におけるＲＡＩＤグループ変換処理を実行するためには、変換前の二つのＲＡＩＤグループごとのディスク容量が、他方のＲＡＩＤグループに属する複数のディスクに記憶されているデータおよびパリティの全データ使用量よりも大きいことが前提条件となる。これは、二つのＲＡＩＤグループから一つのＲＡＩＤグループに変換する場合には、二つのＲＡＩＤグループのそれぞれが有するストライプ数のうち、全データ使用量が多いほうのストライプ数が、変換後のＲＡＩＤグループのストライプ数になるためである。すなわち、一方のディスク容量が他方の全データ使用量よりも小さい場合には、変換後のＲＡＩＤグループが必要とする全てのストライプを形成することができなくなるためである。【００２６】
また、二つのＲＡＩＤグループごとの全データ使用量が異なる場合には、全データ使用量が小さい方のＲＡＩＤグループに属する複数のディスクに、所定のデータを記憶させることで、二つのＲＡＩＤグループごとの全データ使用量を合致させる必要がある。二つのＲＡＩＤグループの同一のストライプにあるデータを用いてパリティを生成する必要があるため、二つのＲＡＩＤグループごとの全データ使用量を合致させる必要があるためである。所定のデータは、空データであってもよいし、全データ使用量を合致させるために用いたデータであることを認識できるようにした特定のデータであってもよい。【００２７】
次に、図５を参照して、本実施例のＲＡＩＤ装置１における処理手順について説明する。図３は、ＲＡＩＤグループ変換処理の処理手順を示すフローチャートである。この処理手順では、ＲＡＩＤ５で管理される二つのＲＡＩＤグループ４０Ａ、４０Ｂを、ＲＡＩＤ６で管理される一つのＲＡＩＤグループに変換する際の手順について説明する。【００２８】
最初に、ＲＡＩＤ装置１の制御部１１は、変換の対象となる対象ストライプを特定し（ステップＳ１０１）、対象ストライプに排他を設定する（ステップＳ１０２）。続いて、ＲＡＩＤ装置１のデータ読込部１１１は、対象ストライプにある第一のＲＡＩＤグループ４０Ａのデータ記憶領域からデータを読み込む（ステップＳ１０３）とともに、対象ストライプにある第二のＲＡＩＤグループ４０Ｂのデータ記憶領域からデータを読み込む（ステップＳ１０４）。【００２９】
続いて、ＲＡＩＤ装置１のパリティ生成部１１２は、上記ステップＳ１０３およびＳ１０４でデータ読込部１１１によって読み込まれたデータを用いて、二つのパリティを生成する（ステップＳ１０５）。【００３０】
続いて、ＲＡＩＤ装置１のパリティ書込部１１３は、上記ステップＳ１０５でパリティ生成部１１２によって生成された二つのパリティのうちの一方のパリティを、対象ストライプにある第一のＲＡＩＤグループ４０Ａのパリティ記憶領域に書き込む（ステップＳ１０６）とともに、他方のパリティを、対象ストライプにある第二のＲＡＩＤグループ４０Ｂのパリティ記憶領域に書き込む（ステップＳ１０７）。【００３１】
続いて、ＲＡＩＤ装置１の制御部１１は、対象ストライプの排他を解除し（ステップＳ１０８）、全てのストライプの変換が終了したか否かを判定する（ステップＳ１０９）。この判定がＮＯである場合（ステップＳ１０９；ＮＯ）には、処理を上記ステップＳ１０１に移行させ、ＹＥＳである場合（ステップＳ１０９；ＹＥＳ）には、ＲＡＩＤグループ変換処理を終了させる。【００３２】
上述してきたように、本実施例のＲＡＩＤ装置１では、ＲＡＩＤ５で管理される二つのＲＡＩＤグループ４０Ａ、４０Ｂに属する複数のディスク４０からストライプＳＴごとに読み込んだデータを用いて二つのパリティを生成し、この二つのパリティを上記ストライプＳＴごとにあるパリティ記憶領域に書き込むことで、ＲＡＩＤ６で管理される一つのＲＡＩＤグループに変換させることができる。【００３３】
したがって、新たにディスクを追加することなくＲＡＩＤ５で管理されるＲＡＩＤグループをＲＡＩＤ６で管理されるＲＡＩＤグループに変換することができるため、搭載ディスク台数に制限がある環境であってもＲＡＩＤグループを変換させることができる。【００３４】
また、データ部分を移行することなくＲＡＩＤグループを変換させることができるため、手間をかけることなく容易にＲＡＩＤグループの変換を行うことができる。【００３５】
なお、上述した実施例においては、ＲＡＩＤ５で管理されている二つのＲＡＩＤグループを、ＲＡＩＤ６で管理する一つのＲＡＩＤグループに変換する場合について説明しているが、上述したように、変換前の二つのＲＡＩＤグループのＲＡＩＤレベル（ＲＡＩＤ１、ＲＡＩＤ４、ＲＡＩＤ５）は、任意に組み合わせ可能である。ここで、変換前の二つのＲＡＩＤグループに、ＲＡＩＤ１で管理されるＲＡＩＤグループが含まれる場合には、以下のようにすることで、上述したＲＡＩＤ５の場合と同様にＲＡＩＤグループ変換処理を行うことができる。【００３６】
ＲＡＩＤ１ではパリティが用いられていないため、ＲＡＩＤ１で管理されている二つのディスクのうち、一方のディスクをパリティ専用ディスクに仮設定することで、上述したＲＡＩＤ５の場合と同様にＲＡＩＤグループ変換処理を行うことができる。図６を参照して、本変形例における制御部１１の機能構成について説明する。図６は、変形例における制御部の機能構成図である。同図に示すように、本変形例における制御部１１は、ＲＡＩＤ１で管理されている二つのディスクのうち、一方のディスクをパリティ専用ディスクに仮設定する仮設定部１１４を有する点で、上述した実施例における制御部１１の機能構成と異なる。仮設定部１１４以外の機能構成は、実施例における各機能構成と同様であるため、その説明を省略する。【００３７】
最後に、図１に示した実施例におけるＲＡＩＤ装置１の構成は、本発明の要旨を逸脱しない範囲で種々に変更することができる。例えば、ＲＡＩＤ装置１の制御部１１の機能をソフトウェアとして実装し、これをコンピュータで実行することにより、ＲＡＩＤ装置１と同等の機能を実現することもできる。以下に、制御部１１の機能をソフトウェアとして実装したＲＡＩＤグループ変換プログラム１０７１を実行するコンピュータの一例を示す。【００３８】
図７は、ＲＡＩＤグループ変換プログラムを実行するコンピュータの機能構成図である。このコンピュータ１０００は、各種演算処理を実行するＣＰＵ（Central  Processing  Unit）１０１０と、ユーザからのデータの入力を受け付ける入力装置１０２０と、各種情報を表示するモニタ１０３０と、記録媒体からプログラム等を読み取る媒体読取装置１０４０と、ネットワークを介して他のコンピュータとの間でデータの授受をおこなう通信装置１０５０と、各種情報を一時記憶するＲＡＭ（Random  Access  Memory）１０６０と、ハードディスク装置１０７０とをバス１０８０で接続して構成される。【００３９】
そして、ハードディスク装置１０７０には、図１に示した制御部１１と同様の機能を有するＲＡＩＤグループ変換プログラム１０７１と、ＲＡＩＤグループ変換プログラム１０７１によって用いられる各種データに対応するＲＡＩＤグループ変換用データ１０７２とが記憶される。なお、ＲＡＩＤグループ変換用データ１０７２を、適宜分散させ、ネットワークを介して接続された他のコンピュータに記憶させておくこともできる。【００４０】
そして、ＣＰＵ１０１０がＲＡＩＤグループ変換プログラム１０７１をハードディスク装置１０７０から読み出してＲＡＭ１０６０に展開することにより、ＲＡＩＤグループ変換プログラム１０７１は、ＲＡＩＤグループ変換プロセス１０６１として機能するようになる。そして、ＲＡＩＤグループ変換プロセス１０６１は、ＲＡＩＤグループ変換用データ１０７２から読み出した情報等を適宜ＲＡＭ１０６０上の自身に割り当てられた領域に展開し、この展開したデータ等に基づいて各種データ処理を実行する。【００４１】
なお、ＲＡＩＤグループ変換プログラム１０７１は、必ずしもハードディスク装置１０７０に格納されている必要はなく、ＣＤ−ＲＯＭ等の記録媒体に記憶されたこのプログラムを、コンピュータ１０００が読み出して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等を介してコンピュータ１０００に接続される他のコンピュータ（またはサーバ）等にこのプログラムを記憶させておき、コンピュータ１０００がこれらからプログラムを読み出して実行するようにしてもよい。
【産業上の利用可能性】
【００４２】
以上のように、本発明にかかるＲＡＩＤグループ変換装置、ＲＡＩＤグループ変換方法およびＲＡＩＤグループ変換プログラムは、ＲＡＩＤグループを他のＲＡＩＤグループに変換させるのに有用であり、特に、二つのＲＡＩＤグループを一つのＲＡＩＤグループに変換させることに適している。
【図１】
2008152708.tif 000003
【図２】
2008152708.tif 000004
【図３】
2008152708.tif 000005
【図４】
2008152708.tif 000006
【図５】
2008152708.tif 000007
【図６】
2008152708.tif 000008
【図７】
2008152708.tif 000009
【手続補正書】
【提出日】平成21年9月24日(2009.9.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
二つのＲＡＩＤ（Redundant Array of Inexpensive Disks）グループを一つのＲＡＩＤグループに変換するＲＡＩＤグループ変換装置であって、
前記二つのＲＡＩＤグループに属する複数の記録媒体から、ストライプごとにパリティ以外のデータを読み込むデータ読込手段と、
前記データ読込手段によって読み込まれた同一のストライプに属する前記データを用いて、二つのパリティを生成するパリティ生成手段と、
前記パリティ生成手段によって生成された前記二つのパリティを、前記同一のストライプに属するパリティ記憶領域にそれぞれ書き込むパリティ書込手段と、
を備えることを特徴とするＲＡＩＤグループ変換装置。
【請求項２】
前記二つのＲＡＩＤグループは、複数の記録媒体にそれぞれ同一のデータを記憶させる第一のＲＡＩＤレベルおよびストライプごとに一つのパリティを有する第二のＲＡＩＤレベルのいずれかで管理されている二つのＲＡＩＤグループであり、前記一つのＲＡＩＤグループは、ストライプごとに二つのパリティを有する第三のＲＡＩＤレベルで管理されるＲＡＩＤグループであり、
前記二つのＲＡＩＤグループに、前記第一のＲＡＩＤレベルで管理されているＲＡＩＤグループが含まれている場合に、当該第一のＲＡＩＤレベルで管理されているＲＡＩＤグループに属する複数の記録媒体のうち、一の記録媒体を、パリティを記憶するパリティ専用記録媒体として仮に設定する仮設定手段と、
をさらに備えることを特徴とする請求項１記載のＲＡＩＤグループ変換装置。
【請求項３】
前記第一のＲＡＩＤレベルはＲＡＩＤ１であり、前記第二のＲＡＩＤレベルはＲＡＩＤ４またはＲＡＩＤ５であり、前記第三のＲＡＩＤレベルはＲＡＩＤ６であることを特徴とする請求項２記載のＲＡＩＤグループ変換装置。
【請求項４】
前記二つのＲＡＩＤグループごとのディスク容量は、他方のＲＡＩＤグループに属する複数の記録媒体に記憶されているデータおよびパリティの全データ使用量よりも大きいことを特徴とする請求項１〜３のいずれか１つに記載のＲＡＩＤグループ変換装置。
【請求項５】
前記二つのＲＡＩＤグループごとの前記全データ使用量が異なる場合に、当該全データ使用量が小さい方のＲＡＩＤグループに属する複数の記録媒体に、所定のデータを記憶させることで、前記二つのＲＡＩＤグループごとの前記全データ使用量を合致させることを特徴とする請求項４記載のＲＡＩＤグループ変換装置。
【請求項６】
二つのＲＡＩＤグループを一つのＲＡＩＤグループに変換するＲＡＩＤグループ変換方法であって、
前記二つのＲＡＩＤグループに属する複数の記録媒体から、ストライプごとにパリティ以外のデータを読み込むデータ読込ステップと、
前記データ読込ステップにおいて読み込まれた同一のストライプに属する前記データを用いて、二つのパリティを生成するパリティ生成ステップと、
前記パリティ生成ステップにおいて生成された前記二つのパリティを、前記同一のストライプに属するパリティ記憶領域にそれぞれ書き込むパリティ書込ステップと、
を含むことを特徴とするＲＡＩＤグループ変換方法。
【請求項７】
二つのＲＡＩＤグループを一つのＲＡＩＤグループに変換するＲＡＩＤグループ変換プログラムであって、
前記二つのＲＡＩＤグループに属する複数の記録媒体から、ストライプごとにパリティ以外のデータを読み込むデータ読込手順と、
前記データ読込手順によって読み込まれた同一のストライプに属する前記データを用いて、二つのパリティを生成するパリティ生成手順と、
前記パリティ生成手順によって生成された前記二つのパリティを、前記同一のストライプに属するパリティ記憶領域にそれぞれ書き込むパリティ書込手順と、
をコンピュータに実行させることを特徴とするＲＡＩＤグループ変換プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＲＡＩＤ（Redundant Array of Inexpensive Disks）グループを他のＲＡＩＤグループに変換させるのに有用なＲＡＩＤグループ変換装置、ＲＡＩＤグループ変換方法およびＲＡＩＤグループ変換プログラムに関し、特に、二つのＲＡＩＤグループを一つのＲＡＩＤグループに変換させることができるＲＡＩＤグループ変換装置、ＲＡＩＤグループ変換方法およびＲＡＩＤグループ変換プログラムに関する。
【背景技術】
【０００２】
情報技術が進歩するのに従ってコンピュータシステムで取り扱われる情報が増大し、この情報を格納するディスクの大容量化が急速に進んでいる。ディスクの大容量化に伴ってディスク故障時に受けるデータ損失等の被害はますます大きくなっている。ディスク故障によるデータ損失を防止するための技術として、ＲＡＩＤがある。このＲＡＩＤには、いくつかのレベルがあり、現在最も一般的に採用されているレベルのＲＡＩＤ１、ＲＡＩＤ４およびＲＡＩＤ５は、ＲＡＩＤグループに属する１ディスク分の故障に耐えることができる。これに対して、ＲＡＩＤ６は、ストライプごとに二つのパリティを持つことによってＲＡＩＤグループに属する二ディスク分の故障にまで耐えることができる。したがって、１ディスク分の故障に耐え得るＲＡＩＤ１、ＲＡＩＤ４およびＲＡＩＤ５レベルでディスクを管理するよりも、二ディスク分の故障にまで耐え得るＲＡＩＤ６レベルでディスクを管理する方が、複数あるディスクの対故障性を高めることができる。
【０００３】
それゆえに、ＲＡＩＤ１、ＲＡＩＤ４およびＲＡＩＤ５レベルで管理されているＲＡＩＤグループを、ＲＡＩＤ６レベルのＲＡＩＤグループに容易に変更することができれば、複数あるディスクの対故障性を容易に高めることが可能となる。従来、ＲＡＩＤレベルを変更する技術として、新たにディスクを追加してＲＡＩＤレベルを変更する技術（下記特許文献１参照）や、別途用意したＲＡＩＤグループにデータを移行させることでＲＡＩＤレベルを変更する技術（下記特許文献２参照）がある。
【特許文献１】特開２００６−１２０１２０号公報
【特許文献２】特開２００６−３１８０１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、特許文献１に開示されている技術では、新たにディスクを追加する必要があり、特許文献２に開示されている技術では、変更後のＲＡＩＤグループのデータを格納するための領域を予めディスク内に用意しておかなければならない。したがって、これらの従来技術では、ディスクを購入する余裕がない場合や、装置内にディスクを搭載するスペースがない場合等のように、搭載ディスク台数に制限がある環境下においては、ＲＡＩＤグループを変更させることができないという問題がある。
【０００５】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、搭載ディスク台数に制限がある環境であってもＲＡＩＤグループを容易に変換させることができるＲＡＩＤグループ変換装置、ＲＡＩＤグループ変換方法およびＲＡＩＤグループ変換プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するため、本発明は、二つのＲＡＩＤグループを一つのＲＡＩＤグループに変換するＲＡＩＤグループ変換装置であって、二つのＲＡＩＤグループに属する複数の記録媒体から、ストライプごとにパリティ以外のデータを読み込むデータ読込手段と、データ読込手段によって読み込まれた同一のストライプに属するデータを用いて、二つのパリティを生成するパリティ生成手段と、パリティ生成手段によって生成された二つのパリティを、同一のストライプに属するパリティ記憶領域にそれぞれ書き込むパリティ書込手段と、を備えることを特徴とする。
【０００７】
また、本発明は、二つのＲＡＩＤグループを一つのＲＡＩＤグループに変換するＲＡＩＤグループ変換方法であって、二つのＲＡＩＤグループに属する複数の記録媒体から、ストライプごとにパリティ以外のデータを読み込むデータ読込ステップと、データ読込ステップにおいて読み込まれた同一のストライプに属するデータを用いて、二つのパリティを生成するパリティ生成ステップと、パリティ生成ステップにおいて生成された二つのパリティを、同一のストライプに属するパリティ記憶領域にそれぞれ書き込むパリティ書込ステップと、を含むことを特徴とする。
【０００８】
また、本発明は、二つのＲＡＩＤグループを一つのＲＡＩＤグループに変換するＲＡＩＤグループ変換プログラムであって、二つのＲＡＩＤグループに属する複数の記録媒体から、ストライプごとにパリティ以外のデータを読み込むデータ読込手順と、データ読込手順によって読み込まれた同一のストライプに属するデータを用いて、二つのパリティを生成するパリティ生成手順と、パリティ生成手順によって生成された二つのパリティを、同一のストライプに属するパリティ記憶領域にそれぞれ書き込むパリティ書込手順と、をコンピュータに実行させることを特徴とする。
【０００９】
これらの発明によれば、二つのＲＡＩＤグループに属する複数の記録媒体からストライプごとに読み込んだデータを用いて二つのパリティを生成し、この二つのパリティを上記ストライプごとにあるパリティ記憶領域に書き込むことで、ストライプごとに二つのパリティを有する一つのＲＡＩＤグループに変換させることができるため、ディスクを追加することなく、かつデータ部分を移行することなくＲＡＩＤグループを容易に変換させることができる。
【００１０】
また、本発明は、上記発明において、上記二つのＲＡＩＤグループは、複数の記録媒体にそれぞれ同一のデータを記憶させる第一のＲＡＩＤレベルおよびストライプごとに一つのパリティを有する第二のＲＡＩＤレベルのいずれかで管理されている二つのＲＡＩＤグループであり、上記一つのＲＡＩＤグループは、ストライプごとに二つのパリティを有する第三のＲＡＩＤレベルで管理されるＲＡＩＤグループであり、上記二つのＲＡＩＤグループに、第一のＲＡＩＤレベルで管理されているＲＡＩＤグループが含まれている場合に、当該第一のＲＡＩＤレベルで管理されているＲＡＩＤグループに属する複数の記録媒体のうち、一の記録媒体を、パリティを記憶するパリティ専用記録媒体として仮に設定する仮設定手段と、をさらに備えることを特徴とする。
【００１１】
また、本発明は、上記発明において、上記第一のＲＡＩＤレベルはＲＡＩＤ１であり、上記第二のＲＡＩＤレベルはＲＡＩＤ４またはＲＡＩＤ５であり、上記第三のＲＡＩＤレベルはＲＡＩＤ６であることを特徴とする。
【００１２】
また、本発明は、上記発明において、上記二つのＲＡＩＤグループごとのディスク容量は、他方のＲＡＩＤグループに属する複数の記録媒体に記憶されているデータおよびパリティの全データ使用量よりも大きいことを特徴とする。
【００１３】
また、本発明は、上記発明において、上記二つのＲＡＩＤグループごとの全データ使用量が異なる場合に、当該全データ使用量が小さい方のＲＡＩＤグループに属する複数の記録媒体に、所定のデータを記憶させることで、二つのＲＡＩＤグループごとの全データ使用量を合致させることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、二つのＲＡＩＤグループに属する複数の記録媒体からストライプごとに読み込んだデータを用いて二つのパリティを生成し、この二つのパリティを上記ストライプごとにあるパリティ記憶領域に書き込むことで、ストライプごとに二つのパリティを有する一つのＲＡＩＤグループに変換させることができるため、ディスクを追加することなく、かつデータ部分を移行することなくＲＡＩＤグループを容易に変換させることができる。すなわち、本発明によれば、搭載ディスク台数に制限がある環境であってもＲＡＩＤグループを容易に変換させることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１５】
以下に添付図面を参照して、この発明に係るＲＡＩＤグループ変換装置、ＲＡＩＤグループ変換方法およびＲＡＩＤグループ変換プログラムの好適な実施形態を詳細に説明する。
【実施例】
【００１６】
まず、本実施例におけるＲＡＩＤ装置の構成について説明する。図１は、ＲＡＩＤ装置の構成図である。ＲＡＩＤ装置１は、ＲＡＩＤグループに属する複数のディスク（記録媒体）を管理する記憶装置である。ここで、ＲＡＩＤは、ディスクを管理するための技術であり、ディスク故障によるデータ損失を防ぐとともに処理性能を向上させるための技術である。ＲＡＩＤには、ＲＡＩＤ０〜ＲＡＩＤ６までのレベルがある。
【００１７】
例えば、ＲＡＩＤ１は、データを二台のディスクに同時に書き込むレベルであり、ミラーリングとも呼ばれている。ＲＡＩＤ４は、複数のディスクにわたってデータを帯状に記憶させるストライピングにパリティ専用ディスクを追加したものであり、ストライプごとに一つのパリティを配置する。ＲＡＩＤ５は、ＲＡＩＤ４におけるパリティ専用ディスクへのＩ／Ｏ集中を回避させるために、ストライプごとに一つ配置されるパリティを全てのディスクに分散して配置させた点でＲＡＩＤ４と異なる。ＲＡＩＤ６は、ストライプごとに２つのパリティを生成し、それぞれを異なるディスクに分散して配置させることで、同一ＲＡＩＤグループ内の二台のディスク故障まで救済できるようにしたものである。
【００１８】
本実施例におけるＲＡＩＤ装置は、ＲＡＩＤ１、ＲＡＩＤ４およびＲＡＩＤ５の各ＲＡＩＤレベルのうちのいずれかのＲＡＩＤレベルで管理されている二つのＲＡＩＤグループを、ＲＡＩＤ６で管理する一つのＲＡＩＤグループに変換するＲＡＩＤグループ変換機能を有する点に特徴がある。本実施例では、説明の便宜のために、ＲＡＩＤ５で管理されている二つのＲＡＩＤグループを、ＲＡＩＤ６で管理する一つのＲＡＩＤグループに変換する場合について説明する。なお、変換前の二つのＲＡＩＤグループのＲＡＩＤレベル（ＲＡＩＤ１、ＲＡＩＤ４、ＲＡＩＤ５）の組み合わせや、二つのＲＡＩＤグループを構成するディスク数については適宜設計可能である。
【００１９】
図１に示すように、ＲＡＩＤ装置１は、サーバ２との接続を制御するＣＡ(Channel Adapter)２０と、ディスク４０に記憶されているデータのＩ／Ｏ等を制御するＣＭ（Controller Module）１０と、ＣＭ１０とディスク４０との間の接続を制御するＤＡ(Device Adapter)３０と、ＲＡＩＤグループに属するディスク４０とを有する。ＣＭ１０は、制御部１１と、記憶部１２とを有する。制御部１１は、データ読込部１１１と、パリティ生成部１１２と、パリティ書込部１１３とを有する。
【００２０】
データ読込部１１１は、二つのＲＡＩＤグループに属する複数のディスクから、ストライプごとにパリティ以外のデータを読み込む。図２を参照して具体的に説明する。図２は、データ読込部のデータ読込機能を説明するための模式図である。同図には、ＲＡＩＤ５で管理される二つのＲＡＩＤグループ４０Ａ、４０Ｂに含まれる一のストライプＳＴに属するデータのうち、パリティＰ１１、Ｐ２１以外のデータＤ１１、Ｄ１２、Ｄ１３、Ｄ２１、Ｄ２２、Ｄ２３が、記憶部１２のデータバッファ領域１２１に一時的に記憶された状態が示されている。つまり、データ読込部１１１は、二つのＲＡＩＤグループ４０Ａ、４０Ｂに属する複数のディスク４０から、一のストライプＳＴに属するパリティＰ１１、Ｐ２１以外のデータＤ１１、Ｄ１２、Ｄ１３、Ｄ２１、Ｄ２２、Ｄ２３を読み込む。データ読込先のストライプＳＴは、ＲＡＩＤグループ４０Ａ、４０Ｂ内にある全ストライプを対象にして順次選択される。
【００２１】
パリティ生成部１１２は、データ読込部１１１によって読み込まれた同一のストライプに属するデータを用いて、二つのパリティ（例えば、水平パリティＰと重み付けパリティＱ）を生成する。図３を参照して具体的に説明する。図３は、パリティ生成部のパリティ生成機能を説明するための模式図である。同図には、記憶部１２のデータバッファ領域１２１に記憶されたデータＤ１１、Ｄ１２、Ｄ１３、Ｄ２１、Ｄ２２、Ｄ２３を用いて二つのパリティＰ０１、Ｐ０２が生成され、記憶部１２のパリティバッファ領域１２２Ａ、１２２Ｂにそれぞれが一時的に記憶された状態が示されている。つまり、パリティ生成部１１２は、データ読込部１１１によって読み込まれた一のストライプＳＴに属するデータＤ１１、Ｄ１２、Ｄ１３、Ｄ２１、Ｄ２２、Ｄ２３を用いて、二つのパリティＰ０１、Ｐ０２を生成する。
【００２２】
パリティ書込部１１３は、パリティ生成部１１２によって生成された二つのパリティを、パリティの生成元データを記憶するデータ記憶領域と同一のストライプにあるパリティ記憶領域に書き込む。図４を参照して具体的に説明する。図４は、パリティ書込部のパリティ書込機能を説明するための模式図である。同図には、ＲＡＩＤ５で管理される二つのＲＡＩＤグループ４０Ａ、４０Ｂに含まれる一のストライプＳＴに属する記憶領域のうち、パリティＰ１１、Ｐ２１が記憶されているパリティ記憶領域に、パリティ生成部１１２によって生成された二つのパリティＰ０１、Ｐ０２をそれぞれ書き込む状態が示されている。つまり、パリティ書込部１１３は、パリティ生成部１１２によって生成された二つのパリティＰ０１、Ｐ０２を、このパリティＰ０１、Ｐ０２の生成元であるデータＤ１１、Ｄ１２、Ｄ１３、Ｄ２１、Ｄ２２、Ｄ２３を記憶するデータ記憶領域と同一のストライプにあるパリティ記憶領域にそれぞれ書き込む。
【００２３】
ここで、本実施例におけるＲＡＩＤグループ変換処理を実行するためには、変換前の二つのＲＡＩＤグループごとのディスク容量が、他方のＲＡＩＤグループに属する複数のディスクに記憶されているデータおよびパリティの全データ使用量よりも大きいことが前提条件となる。これは、二つのＲＡＩＤグループから一つのＲＡＩＤグループに変換する場合には、二つのＲＡＩＤグループのそれぞれが有するストライプ数のうち、全データ使用量が多いほうのストライプ数が、変換後のＲＡＩＤグループのストライプ数になるためである。すなわち、一方のディスク容量が他方の全データ使用量よりも小さい場合には、変換後のＲＡＩＤグループが必要とする全てのストライプを形成することができなくなるためである。
【００２４】
また、二つのＲＡＩＤグループごとの全データ使用量が異なる場合には、全データ使用量が小さい方のＲＡＩＤグループに属する複数のディスクに、所定のデータを記憶させることで、二つのＲＡＩＤグループごとの全データ使用量を合致させる必要がある。二つのＲＡＩＤグループの同一のストライプにあるデータを用いてパリティを生成する必要があるため、二つのＲＡＩＤグループごとの全データ使用量を合致させる必要があるためである。所定のデータは、空データであってもよいし、全データ使用量を合致させるために用いたデータであることを認識できるようにした特定のデータであってもよい。
【００２５】
次に、図５を参照して、本実施例のＲＡＩＤ装置１における処理手順について説明する。図３は、ＲＡＩＤグループ変換処理の処理手順を示すフローチャートである。この処理手順では、ＲＡＩＤ５で管理される二つのＲＡＩＤグループ４０Ａ、４０Ｂを、ＲＡＩＤ６で管理される一つのＲＡＩＤグループに変換する際の手順について説明する。
【００２６】
最初に、ＲＡＩＤ装置１の制御部１１は、変換の対象となる対象ストライプを特定し（ステップＳ１０１）、対象ストライプに排他を設定する（ステップＳ１０２）。続いて、ＲＡＩＤ装置１のデータ読込部１１１は、対象ストライプにある第一のＲＡＩＤグループ４０Ａのデータ記憶領域からデータを読み込む（ステップＳ１０３）とともに、対象ストライプにある第二のＲＡＩＤグループ４０Ｂのデータ記憶領域からデータを読み込む（ステップＳ１０４）。
【００２７】
続いて、ＲＡＩＤ装置１のパリティ生成部１１２は、上記ステップＳ１０３およびＳ１０４でデータ読込部１１１によって読み込まれたデータを用いて、二つのパリティを生成する（ステップＳ１０５）。
【００２８】
続いて、ＲＡＩＤ装置１のパリティ書込部１１３は、上記ステップＳ１０５でパリティ生成部１１２によって生成された二つのパリティのうちの一方のパリティを、対象ストライプにある第一のＲＡＩＤグループ４０Ａのパリティ記憶領域に書き込む（ステップＳ１０６）とともに、他方のパリティを、対象ストライプにある第二のＲＡＩＤグループ４０Ｂのパリティ記憶領域に書き込む（ステップＳ１０７）。
【００２９】
続いて、ＲＡＩＤ装置１の制御部１１は、対象ストライプの排他を解除し（ステップＳ１０８）、全てのストライプの変換が終了したか否かを判定する（ステップＳ１０９）。この判定がＮＯである場合（ステップＳ１０９；ＮＯ）には、処理を上記ステップＳ１０１に移行させ、ＹＥＳである場合（ステップＳ１０９；ＹＥＳ）には、ＲＡＩＤグループ変換処理を終了させる。
【００３０】
上述してきたように、本実施例のＲＡＩＤ装置１では、ＲＡＩＤ５で管理される二つのＲＡＩＤグループ４０Ａ、４０Ｂに属する複数のディスク４０からストライプＳＴごとに読み込んだデータを用いて二つのパリティを生成し、この二つのパリティを上記ストライプＳＴごとにあるパリティ記憶領域に書き込むことで、ＲＡＩＤ６で管理される一つのＲＡＩＤグループに変換させることができる。
【００３１】
したがって、新たにディスクを追加することなくＲＡＩＤ５で管理されるＲＡＩＤグループをＲＡＩＤ６で管理されるＲＡＩＤグループに変換することができるため、搭載ディスク台数に制限がある環境であってもＲＡＩＤグループを変換させることができる。
【００３２】
また、データ部分を移行することなくＲＡＩＤグループを変換させることができるため、手間をかけることなく容易にＲＡＩＤグループの変換を行うことができる。
【００３３】
なお、上述した実施例においては、ＲＡＩＤ５で管理されている二つのＲＡＩＤグループを、ＲＡＩＤ６で管理する一つのＲＡＩＤグループに変換する場合について説明しているが、上述したように、変換前の二つのＲＡＩＤグループのＲＡＩＤレベル（ＲＡＩＤ１、ＲＡＩＤ４、ＲＡＩＤ５）は、任意に組み合わせ可能である。ここで、変換前の二つのＲＡＩＤグループに、ＲＡＩＤ１で管理されるＲＡＩＤグループが含まれる場合には、以下のようにすることで、上述したＲＡＩＤ５の場合と同様にＲＡＩＤグループ変換処理を行うことができる。
【００３４】
ＲＡＩＤ１ではパリティが用いられていないため、ＲＡＩＤ１で管理されている二つのディスクのうち、一方のディスクをパリティ専用ディスクに仮設定することで、上述したＲＡＩＤ５の場合と同様にＲＡＩＤグループ変換処理を行うことができる。図６を参照して、本変形例における制御部１１の機能構成について説明する。図６は、変形例における制御部の機能構成図である。同図に示すように、本変形例における制御部１１は、ＲＡＩＤ１で管理されている二つのディスクのうち、一方のディスクをパリティ専用ディスクに仮設定する仮設定部１１４を有する点で、上述した実施例における制御部１１の機能構成と異なる。仮設定部１１４以外の機能構成は、実施例における各機能構成と同様であるため、その説明を省略する。
【００３５】
最後に、図１に示した実施例におけるＲＡＩＤ装置１の構成は、本発明の要旨を逸脱しない範囲で種々に変更することができる。例えば、ＲＡＩＤ装置１の制御部１１の機能をソフトウェアとして実装し、これをコンピュータで実行することにより、ＲＡＩＤ装置１と同等の機能を実現することもできる。以下に、制御部１１の機能をソフトウェアとして実装したＲＡＩＤグループ変換プログラム１０７１を実行するコンピュータの一例を示す。
【００３６】
図７は、ＲＡＩＤグループ変換プログラムを実行するコンピュータの機能構成図である。このコンピュータ１０００は、各種演算処理を実行するＣＰＵ（Central Processing Unit）１０１０と、ユーザからのデータの入力を受け付ける入力装置１０２０と、各種情報を表示するモニタ１０３０と、記録媒体からプログラム等を読み取る媒体読取装置１０４０と、ネットワークを介して他のコンピュータとの間でデータの授受をおこなう通信装置１０５０と、各種情報を一時記憶するＲＡＭ（Random Access Memory）１０６０と、ハードディスク装置１０７０とをバス１０８０で接続して構成される。
【００３７】
そして、ハードディスク装置１０７０には、図１に示した制御部１１と同様の機能を有するＲＡＩＤグループ変換プログラム１０７１と、ＲＡＩＤグループ変換プログラム１０７１によって用いられる各種データに対応するＲＡＩＤグループ変換用データ１０７２とが記憶される。なお、ＲＡＩＤグループ変換用データ１０７２を、適宜分散させ、ネットワークを介して接続された他のコンピュータに記憶させておくこともできる。
【００３８】
そして、ＣＰＵ１０１０がＲＡＩＤグループ変換プログラム１０７１をハードディスク装置１０７０から読み出してＲＡＭ１０６０に展開することにより、ＲＡＩＤグループ変換プログラム１０７１は、ＲＡＩＤグループ変換プロセス１０６１として機能するようになる。そして、ＲＡＩＤグループ変換プロセス１０６１は、ＲＡＩＤグループ変換用データ１０７２から読み出した情報等を適宜ＲＡＭ１０６０上の自身に割り当てられた領域に展開し、この展開したデータ等に基づいて各種データ処理を実行する。
【００３９】
なお、ＲＡＩＤグループ変換プログラム１０７１は、必ずしもハードディスク装置１０７０に格納されている必要はなく、ＣＤ−ＲＯＭ等の記録媒体に記憶されたこのプログラムを、コンピュータ１０００が読み出して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）等を介してコンピュータ１０００に接続される他のコンピュータ（またはサーバ）等にこのプログラムを記憶させておき、コンピュータ１０００がこれらからプログラムを読み出して実行するようにしてもよい。
【産業上の利用可能性】
【００４０】
以上のように、本発明にかかるＲＡＩＤグループ変換装置、ＲＡＩＤグループ変換方法およびＲＡＩＤグループ変換プログラムは、ＲＡＩＤグループを他のＲＡＩＤグループに変換させるのに有用であり、特に、二つのＲＡＩＤグループを一つのＲＡＩＤグループに変換させることに適している。
【図面の簡単な説明】
【００４１】
【図１】図１は、ＲＡＩＤ装置の構成図である。
【図２】図２は、データ読込部のデータ読込機能を説明するための模式図である。
【図３】図３は、パリティ生成部のパリティ生成機能を説明するための模式図である。
【図４】図４は、パリティ書込部のパリティ書込機能を説明するための模式図である。
【図５】図５は、ＲＡＩＤグループ変換処理の処理手順を示すフローチャートである。
【図６】図６は、変形例における制御部の機能構成図である。
【図７】図７は、ＲＡＩＤグループ変換プログラムを実行するコンピュータの機能構成図である。
【符号の説明】
【００４２】
１    ＲＡＩＤ装置
２    サーバ
１０    ＣＭ
１１    制御部
１２    記憶部
２０    ＣＡ
３０    ＤＡ
４０    ディスク
１１１    データ読込部
１１２    パリティ生成部
１１３    パリティ書込部
１１４    仮設定部
１０００    コンピュータ
１０１０    ＣＰＵ
１０２０    入力装置
１０３０    モニタ
１０４０    媒体読取装置
１０５０    通信装置
１０６０    ＲＡＭ
１０６１    ＲＡＩＤグループ変換プロセス
１０７０    ハードディスク装置
１０７１    ＲＡＩＤグループ変換プログラム
１０７２    ＲＡＩＤグループ変換用データ
１０８０    バス
【国際調査報告】
2008152708.tif 000010
2008152708.tif 000011
2008152708.tif 000012