説明

データ記憶装置及びスライス割り当て方法

【課題】単一の論理ディスクに対する複数のシーケンシャルライトの性能の低下を防止できるようにする。
【解決手段】構成管理部260は、RAIDアレイ120-0〜120-5のそれぞれの記憶領域を一定サイズの物理スライスに分割して管理し、これらの物理スライスのうちの一部の物理スライスの群を論理ディスクの論理スライスの群に割り当てる。割り当て要求部242は論理ディスクに対する複数のシーケンシャルライトの実行時に、複数のシーケンシャルライトのそれぞれについて、論理ディスク内の書き込み先となる論理スライスに対する、RAIDアレイ120-0〜120-5のうちの異なるディスクアレイ内の物理スライスの再割り当てを構成管理部260に要求する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のディスクアレイのそれぞれの記憶領域が一定サイズの物理スライスに分割して管理され、これらの物理スライスのうちの一部の物理スライスの群が論理ディスクの論理スライスの群に割り当てられるデータ記憶装置に係り、特に、当該論理ディスクに対する複数のシーケンシャルライトの実行時に、当該論理ディスク内のライト先となる論理スライスに物理スライスを再割り当てするまたは新規に割り当てるデータ記憶装置及びスライス割り当て方法に関する。
【背景技術】
【0002】
従来から1つまたは複数のディスクアレイを備えたデータ記憶装置が知られている。一般にディスクアレイは、複数のハードディスクドライブ(HDD)を用いて構成される。また、データ記憶装置を利用するホスト装置から認識可能な論理ディスクは、単一または少数のディスクアレイから構築されるのが一般的である。
【0003】
特許文献1は、ディスクアレイに対するシーケンシャルライトの実行時に、並列動作するドライブの数をできるだけ多くすることができる、ドライブ内の領域割り当て技術(以下、従来技術と称する)を開示している。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平8−185275号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし従来技術では、単一または少数のディスクアレイから構築される論理ディスクに対して複数のシーケンシャルライトが実行される場合、ディスクアレイ内の同一のドライブに対する複数のライトが発生する。ドライブの物理的性質上、当該ドライブへの複数のライトを同時に実行することはできず、当該ドライブへのライトアクセスがランダムになる。このように従来技術では、論理ディスクに対して複数のシーケンシャルライトが実行される場合、当該複数のシーケンシャルライト相互の影響で、当該複数のシーケンシャルライトの各々はシーケンシャル性が失われ、性能を低下させる要因となっていた。
【0006】
本発明は上記事情を考慮してなされたものでその目的は、単一の論理ディスクに対する複数のシーケンシャルライトの実行時に、当該複数のシーケンシャルライトのそれぞれについて、当該論理ディスク内の書き込み先となる論理スライスに対し、異なるディスクアレイ内の物理スライスを再割り当てするまたは新規に割り当てることにより、単一の論理ディスクに対する複数のシーケンシャルライトの性能の低下を防止できるデータ記憶装置及スライス割り当て方法を提供することにある。
【課題を解決するための手段】
【0007】
本発明の1つの観点によれば、複数のディスクアレイを備えたデータ記憶装置が提供される。このデータ記憶装置は、前記複数のディスクアレイのそれぞれの記憶領域を一定サイズの物理スライスに分割して管理すると共に、これらの物理スライスのうちの一部の物理スライスの群を論理ディスクの論理スライスの群に割り当てる構成管理手段と、前記論理ディスクに対する複数のシーケンシャルライトの実行時に、前記複数のシーケンシャルライトのそれぞれについて、前記論理ディスク内の書き込み先となる論理スライスに対する、前記複数のディスクアレイのうちの異なるディスクアレイ内の物理スライスの再割り当てまたは新規割り当てを前記構成管理手段に要求する割り当て要求手段とを具備することを特徴とする。
【発明の効果】
【0008】
本発明によれば、論理ディスクに対する複数のシーケンシャルライトの実行時に、当該複数のシーケンシャルライトのそれぞれについて、当該論理ディスク内のライト先となる論理スライスに対し、異なるディスクアレイ内の物理スライスを再割り当てするまたは新規に割り当てる構成とすることにより、同一論理ディスクに対する複数のシーケンシャルライトの性能の低下を防止できる
【図面の簡単な説明】
【0009】
【図1】本発明の一実施形態に係るデータ記憶装置の概略構成を示すブロック図。
【図2】図1に示される制御装置のモジュール構成を主として示すブロック図。
【図3】RAIDアレイ内の物理スライスと論理ディスク内の論理スライスとの関係の一例を示す図。
【図4】図2に示される論理ディスク管理テーブルの各エントリに保持される論理ディスク管理データのデータ構造例を示す図。
【図5】図2に示されるスライス管理テーブルの各エントリに保持されるスライス管理データのデータ構造例を示す図。
【図6】図2に示されるプール管理テーブルの各エントリに保持されるプール管理データのデータ構造例を示す図。
【図7】論理ディスクが2つのRAIDアレイ内の一部のスライスの集合から構成されている場合における、論理ディスク管理データ及びスライス管理データの一例を示す図。
【図8】シーケンシャルライトの3つのパターンを説明するための図。
【図9】RAIDアレイにおける、複数の記憶媒体、ストライプ及びストライプグループの関係を示す図。
【図10】シーケンシャルライトと、当該シーケンシャルライトにおける後追い吐き出し処理とを説明するための図。
【図11】同実施形態で適用されるIO特性判定処理の手順を示すフローチャート。
【図12】シーケンシャル判定テーブルのデータ構造の一例を示す図。
【図13】同実施形態で適用される性能最適化処理の手順を示すフローチャート。
【図14】同実施形態で適用されるスライス入れ替え処理の手順を示すフローチャート。
【図15】同実施形態における論理スライスへの物理スライスの再割り当ての動作の流れを説明するための図。
【図16】同実施形態における論理スライスへの物理スライスの再割り当ての動作の流れを説明するための図。
【図17】同実施形態の変形例における論理スライスへの物理スライスの新規割り当ての動作の流れを説明するための図。
【図18】同実施形態の変形例における論理スライスへの物理スライスの新規割り当ての動作の流れを説明するための図。
【発明を実施するための形態】
【0010】
以下、本発明の実施の形態につき図面を参照して説明する。
図1は本発明の一実施形態に係るデータ記憶装置10の概略構成を示すブロック図である。
図1に示されるデータ記憶装置10は、制御装置11と、複数の記憶媒体12とから構成される。制御装置11はデータ通信路20を介して接続されるホスト装置と記憶媒体12との間に介在して設けられる。記憶媒体12は、例えばハードディスクドライブのディスクである。
【0011】
制御装置11は、ホストインタフェース部(HOST I/F)111、CPU112、プログラムメモリ113、キャッシュメモリ114及びHDDインタフェース部(HDD I/F)115を有している。なお、データ通信路20を介してデータ記憶装置10に接続されるものとしては、ホスト装置となるコンピュータまたはその集合体の他、他のデータ記憶装置も想定される。
【0012】
ホストインタフェース部111及びHDDインタフェース部115は、それぞれ外部接続される装置との間の通信を制御する。ホストインタフェース部111はデータ通信路20側の通信を司る。HDDインタフェース部115は記憶媒体12側の通信を司る。
【0013】
CPU112は、制御装置11における必要処理を実行するものであり、プログラムメモリ113には、そのための各種プログラムが格納されている。本実施形態で適用される、後述するスライス割り当てのための手法(より詳細には、論理ディスク内のライト先となる論理スライスに物理スライスを再割り当てするまたは新規に割り当てるための手法)は、このプログラムメモリ113(コンピュータ読み取り可能な記憶媒体)に格納されているプログラムをCPU112が読み取って実行することによって実現されるものとする。プログラムメモリ113には、上述のプログラムを格納するための領域に加えて、CPU112が利用するデータ等を格納するための領域、更には後述する構成管理用記憶部270及びシーケンシャル判定データ記憶部274(図2参照)のための領域も確保されている。
【0014】
キャッシュメモリ114は、データ通信路20を介して接続されるホスト装置(或いは他のデータ記憶装置)からデータ記憶装置10内の記憶媒体12に対して発行される入出力要求に対するバッファの役目を提供する。キャッシュメモリ114は、ある論理的な単位に分割されて管理されている。この分割された単位で自由にキャッシュメモリ114内の記憶位置に対応させて、その記憶位置のデータをキャッシュメモリ114に格納することができる。この分割された1つの単位をキャッシュブロックと呼ぶ。
【0015】
ここで、キャッシュメモリ114は、例えば16KB(キロバイト)単位のキャッシュブロックに分割されている。各キャッシュブロックは、例えばセットアソシアティブ方式によるメモリマッピングで管理される。キャッシュメモリ114上では、リードキャッシュ(RDC)とライトバックキャッシュ(WBC)の2種類のデータが管理される。ホスト装置からのリード/ライトアクセスに応じて各エントリがサーチされ、対象となるキャッシュブロックとホスト装置または記憶媒体12との間でデータ転送が行われる。
【0016】
例えば、ホスト装置から記憶媒体12へのデータ書き込み処理は、キャッシュメモリ114を用いて次のように行われる。まず、入出力要求で指定されたデータがキャッシュメモリ114にエントリされた時点で、要求元のホスト装置に対して書き込み処理完了が通知される。その後に、キャッシュメモリ114から記憶媒体12に対する実際のデータ書き込みが実行される。
【0017】
一方、記憶媒体12からのデータ読み込み処理は、次のように行われる。まず、該当するデータがキャッシュメモリ114にエントリ(キャッシュ)されているか否かが判定され、エントリされていれば、そのデータがキャッシュメモリ114からデータ通信路20を介してホスト装置に返される。これに対し、該当するデータがキャッシュメモリ114にエントリされていないならば、データが記憶媒体12からキャッシュメモリ114に読み出されて、しかる後に、要求元のホスト装置に対して読み出されたデータがデータ通信路20を介して返される。
【0018】
図2は、図1に示される制御装置11のプログラムメモリ113に格納されるプログラムをCPU112が読み取って実行することによって実現されるモジュール構成を主として示すブロック図である。
【0019】
ホストインタフェース制御部(HOST I/F制御部)210は、ホスト装置(または他のデータ記憶装置)との間のインタフェース処理を担当する。IO(入出力)管理部220は、IOアクセス管理及びIOアクセス領域制御を実行する。
【0020】
キャッシュ管理部230は、キャッシュメモリ114におけるIOアクセス管理を実行する。IO特性判定部240は、シーケンシャル性検出部241及び割り当て要求部242を含む。シーケンシャル性検出部241は、ホスト装置からのIO要求を監視することによりIOアクセスの統計情報を取得し、当該統計情報に基づいてIOアクセスのシーケンシャル性を検出する。シーケンシャル性検出部241はIOアクセスのシーケンシャル性を検出した場合、シーケンシャルライトであれば後追い吐き出し要求を、シーケンシャルリードであればデータ先読み要求を、IO管理部220に領域を指定して発行する。割り当て要求部242は、同一論理ディスクに対する複数のシーケンシャルライトの実行時に、当該複数のシーケンシャルライトのそれぞれについて、論理ディスク内の書き込み先となる論理スライスに対する、異なるディスクアレイ内の物理スライスの再割り当てを構成管理部260に要求する。論理スライス及び物理スライスについては後述する。
【0021】
論理/物理アドレス管理部250は論理アドレスから物理アドレスへの変換及び物理アドレスから論理アドレスへの変換を行う。構成管理部260は論理アドレスと物理アドレスとのマッピングを管理する。構成管理用記憶部270は、論理ディスク管理テーブル271、スライス管理テーブル272及びプール管理テーブル273を格納する。これらテーブル271〜273の詳細については後述する。
【0022】
シーケンシャル判定データ記憶部274は、論理ディスク毎にシーケンシャル判定テーブル275を格納する。シーケンシャル判定テーブル275の各エントリはシーケンシャル判定データを保持するのに用いられる。シーケンシャル判定データはホスト装置から要求されたIOアクセスの統計情報であり、対応する論理ディスクに対するライトのシーケンシャル性の、IO特性判定部240内のシーケンシャル性検出部241による判定に用いられる。
【0023】
本実施形態において、複数の記憶媒体12は、例えばディスクアレイ120-0〜120-5を構成する。ディスクアレイ120-0〜120-5の各々は、RAID(Redundant Arrays of Independent Disks,Redundant Arrays of Inexpensive Disks)構成の記憶媒体12の集合である。そこで、ディスクアレイ120-0〜120-5をRAIDアレイ120-0〜120-5と称する。RAIDアレイ120-0〜120-5は、例えば固有のRAIDアレイ番号0〜5によって識別される。ここで、RAIDアレイ120-0〜120-5の集合をプール121と称する。RAIDアレイ120-i(i=0,1…5)の記憶領域は、一定のサイズDの部分領域(以下、物理スライスと称する)に分割して管理される。1つ以上のRAIDアレイ120-i内の任意の物理スライスの集合は、ホスト装置から認識可能な論理ディスクを構成する。
【0024】
RAID制御部280はRAIDアレイ120-iを記憶媒体12の集合として管理する。RAID制御部280は、IO特性判定部240内のシーケンシャル性検出部241からの要求に応じて、RAIDアレイ120-iとの間のディスクデータの転送を制御する。HDDインタフェース制御部(HDD I/F制御部)290は、RAID制御部280からの要求に応じて、RAIDアレイ120-i内のディスクデータ転送の対象となる、1つ以上の記憶媒体12へのアクセスを制御する。
【0025】
上述したように、シーケンシャル性検出部241はホスト装置からのIO要求を監視する。ホスト装置からのIO要求の列がライト要求の列であるものとする。シーケンシャル性検出部241は、ライト要求の列に基づいてライト要求アドレスに関する統計情報を取得し、当該統計情報に基づいてIOアクセスのシーケンシャル性を検出する。従来技術ではシーケンシャル性検出部241は、シーケンシャル性を検出した場合に、ホスト装置からのIO要求で指定されたライト要求アドレスの後を追うように、RAIDアレイ120-iに対してキャッシュメモリ114上の未保存データの書き込みを要求する。ところが従来技術では、ホスト装置からのシーケンシャルライトが複数存在する場合、RAIDアレイ120-iを構成する個々の記憶媒体12にとって、シーケンシャル性検出部241から要求される書き込みのための論理アドレスが、シーケンシャルライト相互間でシーケンシャルではなくなり、性能が低下するおそれがあった。
【0026】
図3は、RAIDアレイ内のスライスと論理ディスクとの関係の一例を示す。
【0027】
図3において、論理ディスク300の論理的な記憶領域は、RAIDアレイ120-iと同様に、一定サイズDの部分領域(以下、論理スライスと称する)310に分割して管理される。論理ディスク300内の各論理スライス310には、当該論理ディスク300上の論理アドレス(LBA)の順にシーケンス番号(以下、論理スライス番号と称する)が割り当てられる。
【0028】
図3の例では、論理ディスク300内の論理スライス310の集合の一部には、RAIDアレイ120-0内の物理スライス320の集合の一部がスライス単位で割り当てられ、論理ディスク300内の論理スライス310の集合の残りには、RAIDアレイ120-1内の物理スライス320の集合の一部がスライス単位で割り当てられている。この論理ディスク300の状態を、論理ディスク300がRAIDアレイ120-0及び120-1内の一部の物理スライス320の集合から構成されていると称する。論理ディスク300を識別するための論理ディスク番号は0であり、RAIDアレイ120-0,120-1を識別するためのRAIDアレイ番号は、それぞれ0,1であるものとする。
【0029】
図3において、RAIDアレイ120-0の記憶領域はN+1個の物理スライス320に分割して管理され、RAIDアレイ120-1の記憶領域はM+1個の物理スライス320に分割して管理されている。RAIDアレイ120-0内のN+1個の物理スライス320には、当該RAIDアレイ120-0上の物理アドレスの順に物理スライス番号0〜Nが割り当てられ、RAIDアレイ120-1内のM+1個の物理スライス320には、当該RAIDアレイ120-1上の物理アドレスの順に物理スライス番号0〜Mが割り当てられている。
【0030】
図3の例では、論理ディスク300内の論理スライス番号が0の論理スライス310には、RAIDアレイ120-0内の物理スライス番号が0の物理スライス320が割り当てられ、論理ディスク300内の論理スライス番号が1の論理スライス310には、RAIDアレイ120-1内の物理スライス番号が0の物理スライス320が割り当てられている。
【0031】
図4は論理ディスク管理テーブル271の各エントリに保持される論理ディスク管理データのデータ構造例を示す。論理ディスク管理テーブル271は、図1に示すデータ記憶装置10が有する全ての論理ディスク内の全論理スライスの数に一致するエントリを有する。
【0032】
図4に示すように、論理ディスク管理データ(第1の管理データ)は、論理ディスク内の論理スライスについて、論理ディスク番号、論理スライス番号、物理リストポインタ(第1のポインタ)及び物理ミラーリストポインタ(第2のポインタ)から構成される。論理ディスク番号は、対応する論理スライスが属する論理ディスクを識別するための番号であり、論理スライス番号は当該論理ディスク内で当該論理スライスを識別するための番号である。
【0033】
物理リストポインタは、対応する論理スライスに割り当てられている物理スライスを指し示す。より詳細には物理リストポインタは、対応する論理スライスに割り当てられている物理スライスに関する、スライス管理テーブル272内のスライス管理データを指し示す。つまり、物理リストポインタには、対応する論理スライスに割り当てられている物理スライスに関するスライス管理データが繋がれる。
【0034】
物理ミラーリストポインタは、対応する物理リストポインタで指し示される物理スライスのミラーとして用いられる物理スライスを指し示す。より詳細には物理ミラーリストポインタは、対応する物理リストポインタで指し示される物理スライスのミラーとして用いられる物理スライスに関する、スライス管理テーブル272内のスライス管理データを指し示す。つまり、物理ミラーリストポインタには、対応する物理リストポインタで指し示される物理スライスのミラーとして用いられる物理スライスに関するスライス管理データが繋がれる。このミラーとして用いられる物理スライスは、対応する物理リストポインタによって指し示される物理スライス(つまり対応する論理スライスに割り当てられている物理スライス)に代えて再割り当てされた物理スライスである。
【0035】
図5はスライス管理テーブル272の各エントリに保持されるスライス管理データのデータ構造例を示す。スライス管理テーブル272は、図1に示すデータ記憶装置10が有する全てのRAIDアレイ120-0〜120-5内の全物理スライスの数に一致するエントリを有する。
【0036】
図5に示すように、スライス管理データ(第2の管理データ)は、RAIDアレイ番号、物理スライス番号及び論理リストポインタ(第3のポインタ)から構成される。RAIDアレイ番号は、対応する物理スライスが属するRAIDアレイを識別するための番号であり、物理スライス番号は当該RAIDアレイ内で当該物理スライスを識別するための番号である。
【0037】
論理リストポインタは、対応する物理スライスが割り当てられている論理スライスに関する、論理ディスク管理テーブル271内の論理ディスク管理データを指し示す。つまり、論理リストポインタには、対応する物理スライスが割り当てられている論理スライスに関する論理ディスク管理データが繋がれる。
【0038】
図6はプール管理テーブル273の各エントリに保持されるプール管理データのデータ構造例を示す。データ記憶装置10が1つのプール121を有する本実施形態では、プール管理テーブル273は1つのエントリを有する。
【0039】
図6に示すように、プール管理データ(第3の管理データ)は、プール番号、所属RAIDアレイ番号配列、所属論理ディスク番号配列及びフリーリストから構成される。プール番号は、対応するプールを識別するための番号である。所属RAIDアレイ番号配列は、対応するプールに属する全てのRAIDアレイを識別するためのRAIDアレイ番号のリストであり、所属論理ディスク番号配列は、対応するプールに属するRAIDアレイ群により構成される全ての論理ディスクを識別するための論理ディスク番号のリストである。フリーリストは、所属RAIDアレイ番号配列で示されるRAIDアレイの群に属する全ての物理スライスのうち、未使用の物理スライスに関するスライス管理データを保持する。
【0040】
図7は、論理ディスク300が図3に示すようにRAIDアレイ120-0及び120-1内の一部のスライス310の集合から構成されている場合における、論理ディスク管理データ及びスライス管理データの一例を示す。
【0041】
次に、データ記憶装置10における動作について説明する。
【0042】
構成管理部260は、複数の記憶媒体12を用いてRAIDアレイ120-iを構築する際、当該RAIDアレイ120-iの記憶領域を、予め定められたサイズDの物理スライスに分割して、その物理スライスに当該RAIDアレイ120-i上の物理アドレスの順に物理スライス番号を割り当てることにより、サイズDの物理スライスの集合を定義する。構成管理部260は、定義した物理スライスの集合における物理スライス毎にスライス管理データを生成し、プール管理テーブル273のフリーリストに繋ぐ。このフリーリストに繋がれたスライス管理データは、未使用の物理スライスのスライス管理データとして管理される。
【0043】
構成管理部260は、例えばホスト装置から図3に示されるような論理ディスク番号が0の論理ディスク300の作成が指定された場合、当該ホスト装置によって指定された容量分の物理スライスを、プール管理データのフリーリストに繋がれている未使用の物理スライスのスライス管理データに基づいて確保する。構成管理部260は、確保した物理スライス毎に、その物理スライスのスライス管理データをスライス管理テーブル272に登録すると共に、指定された論理ディスク300の論理ディスク管理データを生成して論理ディスク管理テーブル271に登録する。このとき構成管理部260は、論理ディスク管理データの物理リストポインタに、確保した物理スライスのスライス管理データを繋ぐと共に、当該スライス管理データの論理リストポインタに当該論理ディスク管理データを繋ぐ。これにより、指定された容量分の物理スライスの各々が、当該物理スライスと同一サイズの論理ディスク300内の論理スライスに割り当てられる。
【0044】
なお、構成管理部260が指定された容量分の物理スライスを確保するのに、何らポリシーに従うことなく任意の物理スライスを選別してもよい。また、RAIDアレイ120-iが適用するRAIDレベル等の信頼性や、RAIDアレイ120-iを構成する記憶媒体12の種別、当該記憶媒体12(ここではディスク)の内周側領域または外周側領域等の性能に関する要素を用いて、特定のポリシーに従ってスライスを選別してもよい。論理ディスク管理データにスライス管理データを繋ぐ方法は、論理ディスクの論理アドレスから当該論理アドレスが割り当てられているRAIDアレイ120-iの物理アドレスに変換できるならば、どのような方法でもよい。例えば、ハッシュやツリー形式にするなど、線形リストより高速に変換可能な別の手段で実現してもよい。
【0045】
論理/物理アドレス管理部250は、ホストインタフェース制御部210がホスト装置からのIO要求を受信した際には、論理ディスク管理テーブル271内の論理ディスク管理データ及びスライス管理テーブル272内のスライス管理データを用いて、当該IO要求で指定された論理ディスク300の論理アドレスに対応する物理スライスを判定する。論理/物理アドレス管理部250は、判定した物理スライスのスライス管理データ内のRAIDアレイ番号と物理スライス番号とから、指定された論理ディスク300の論理アドレスをRAIDアレイ120-iの物理アドレスに変換し、当該物理アドレスの物理スライスを対象とするIO処理を、RAID制御部280に対して要求する。
【0046】
一般に、シーケンシャルライトには、パターンP0〜P2の3つのパターンがある。この3つのパターンP0〜P2について、図8を参照して説明する。
パターンP0の特徴は、ホスト装置からのデータライトを指定するIO要求が、wt0〜wt2であるものとすると、先行するIO要求wtj(j=0,1)の終了論理アドレスLBAejに対して、後続するIO要求wtj+1の開始論理アドレスLBAsj+1が連続している点にある。一般に、IO要求wtjは、開始論理アドレスLBAsjとアクセスサイズの情報とを含む。終了論理アドレスLBAejは、“開始論理アドレスLBAsj+アクセスサイズ”の演算によって算出できる。
【0047】
パターンP1の特徴は、ホスト装置からのデータライトを指定するIO要求が、wt3〜wt5であるものとすると、先行するIO要求wtj(j=3,4)の終了論理アドレスLBAejに対して、後続するIO要求wtj+1の開始論理アドレスLBAsj+1が連続していないものの、開始論理アドレスLBAsj+1の方が終了論理アドレスLBAejよりも大きく、且つその論理アドレスの差分Δの絶対値|Δ|が許容差分を示す閾値未満である点にある。パターンP2の特徴は、ホスト装置からのデータライトを指定するIO要求が、wt6〜wt8であるものとすると、先行するIO要求wtj(j=6,7)の終了論理アドレスLBAejに対して、後続するIO要求wtj+1の開始論理アドレスLBAsj+1が連続していないものの、開始論理アドレスLBAsj+1の方が終了論理アドレスLBAejよりも小さく、且つその論理アドレスの差分の絶対値|Δ|が閾値未満である点にある。
【0048】
つまり本実施形態では、先行するIO要求の終了論理アドレス(開始論理アドレス+アクセスサイズ)と、後続するIO要求の開始論理アドレスとの差分Δの絶対値|Δ|が閾値未満である場合に、シーケンシャルであると判定される。
【0049】
RAIDアレイ120-iは、前述したように複数の記憶媒体12から構成される。RAIDアレイ120-i内の複数の記憶媒体12のそれぞれの記憶領域は、ストライプと称する一定サイズのデータ区分を単位に分割して管理される。RAIDアレイ120-i内の複数の記憶媒体12の物理アドレスが同一のストライプをまとめたものをストライプグループと称する。スライスのサイズとストライプグループのサイズとの間には、
スライスのサイズ≫ストライプグループのサイズ
のような関係がある。
図9は、RAIDアレイ120-iにおける、複数の記憶媒体12、ストライプ及びストライプグループの関係を示す。
【0050】
さて本実施形態では、シーケンシャル性検出部241によってIOアクセスのシーケンシャル性が検出された場合、シーケンシャルライトであれば、シーケンシャル性検出部241からIO管理部220に、後追い吐き出し要求が発行される。すると、IO管理部220の管理の下で、後追い吐き出し処理が行われる。
【0051】
シーケンシャルライトにおける後追い吐き出し処理とは、ホスト装置からのシーケンシャルライトでキャッシュメモリ114に書き込まれたデータの当該キャッシュメモリ114からRAIDアレイ120-iへの書き出しを、当該シーケンシャルライトの後を追うようにストライプグループサイズ毎に行うことで、効率良くキャッシュメモリ114の空きブロックを確保する手法である。例えばRAIDアレイ120-iがRAID5を適用する場合、当該RAIDアレイ120-iにデータをライトするためには、パリティデータを格納しているストライプへのリードアクセス及びライトアクセスを含めて、2回のリードアクセスと2回のライトアクセスが必要となる。このような非効率なディスクI/O(記憶媒体がディスクの場合)を、上述の後追い吐き出し処理によって抑止することにより、記憶媒体12への書き出しを高速に行うことができる。
【0052】
図10は、ホスト装置からのライトがシーケンシャルライトであると判定された場合における、当該シーケンシャルライトと、当該シーケンシャルライトにおける後追い吐き出し処理とを示す。図10から明らかなように、後追い吐き出し処理は、ストライプグループSTRGRP0,STRGRP1,…のようにストライプグループサイズ毎に行われる。
【0053】
次に、IO特性判定部240によるIO特性判定処理について、図11のフローチャートを参照して説明する。
IO特性判定部240内のシーケンシャル性検出部241は、以下に述べるように、ホスト装置から要求されたライトの履歴をシーケンシャル判定データとして取得して、当該シーケンシャル判定データに基づいてシーケンシャル性を判定する。シーケンシャル性にはシーケンシャルリードとシーケンシャルライトの2種類がある。ここでは、本発明に関係するシーケンシャルライト、つまりライトのシーケンシャル性の判定についてのみ説明する。
【0054】
まず、ホストインタフェース制御部210がホスト装置からIO要求としてライト要求を受信したものとする(ステップ1101)。このライト要求は、ライト先の論理ディスクを指定する論理ディスク番号、ライト先の開始論理アドレス(以下、LBAまたは開始LBAと称する)及びアクセスサイズの情報を含む。シーケンシャル性検出部241は、ホストインタフェース制御部210によって受信されたライト要求(以下、最新のライト要求と称する)の指定する論理ディスク番号及びLBAに対応するシーケンシャル判定テーブル275内のエントリが存在するかを判定する(ステップ1102)。
【0055】
図12は、シーケンシャル判定データ記憶部274に格納されるシーケンシャル判定テーブル275のデータ構造の一例を示す。図12に示すように、シーケンシャル判定テーブル275は、論理ディスク番号フィールドと複数のエントリとを有する。論理ディスク番号フィールドは論理ディスクの論理ディスク番号を保持し、複数のエントリの各々はシーケンシャル判定データを保持するのに用いられる。シーケンシャル判定データは、開始LBA、最新LBA、書き込みLBA、アクセスサイズ、ヒット回数、最適化フラグ、RAIDアレイ番号、入れ替え済みスライス番号の各情報から構成される。
【0056】
シーケンシャル判定データ中の開始LBAは、最初にシーケンシャルライトが判定されるまでは、対応するライト要求の開始LBAを示し、最初にシーケンシャルライトが判定された後は当該判定されたシーケンシャルライトの先頭のLBAを示す。最新LBAは、シーケンシャルライトに対応する受信済みのライト要求の列における最後尾のライト要求のLBAを示し、書き込みLBAは、対応するシーケンシャルライトにおける後追い吐き出し処理で吐き出しの対象となっている最新のストライプグループのLBAを示す。アクセスサイズは、シーケンシャルライトに対応する受信済みのライト要求の列における最後尾のライト要求の指定するアクセスサイズを示す。ヒット回数、最適化フラグ、RAIDアレイ番号、入れ替え済みスライス番号については後述する。
【0057】
本実施形態では、指定の論理ディスク番号を含むシーケンシャル判定テーブル275のエントリ群の中に、シーケンシャル判定データ中の最新LBA及びアクセスサイズから算出される終了論理アドレス“最新LBA+アクセスサイズ”と最新のライト要求の指定するLBAとの差分Δの絶対値|Δ|が閾値未満となるエントリが存在する場合に、最新のライト要求の指定する論理ディスク番号及びLBAに対応するエントリが存在すると判定される(ステップ1102のYes)。ステップ1102の判定がYesの場合、シーケンシャル性検出部241は、最新のライト要求の指定するライトが、該当するシーケンシャル判定テーブル275のエントリの情報(シーケンシャル判定データ)で示されるライトに対してシーケンシャル性を有する後続ライトであると判定する。
【0058】
もし、最新のライト要求の指定する論理ディスク番号及びLBAに対応するシーケンシャル判定テーブル275のエントリが存在しないならば(ステップ1102のNo)、シーケンシャル性検出部241は、シーケンシャル判定テーブル275の空きエントリが存在しないかを判定する(ステップ1103)。もし、シーケンシャル判定テーブル275の空きエントリが存在するならば(ステップ1103のNo)、シーケンシャル性検出部241はステップ1104に進む。このステップ1104においてシーケンシャル性検出部241は、シーケンシャル判定テーブル275の空きエントリにシーケンシャル判定データを設定する。この空きエントリに設定されるシーケンシャル判定データは、開始LBA及び最新LBAとして最新のライト要求の指定するLBAを含み、アクセスサイズとして当該最新のライト要求の指定するアクセスサイズを含む。また空きエントリに設定されるシーケンシャル判定データの最適化フラグは“0”に、ヒット回数は1にそれぞれ設定される。ステップ1104が実行されると、IO特性判定部240によるIO特性判定処理は終了する。
【0059】
一方、最新のライト要求の指定する論理ディスク番号及びLBAに対応するシーケンシャル判定テーブル275のエントリが存在するならば(ステップ1102のYes)、シーケンシャル性検出部241は、当該テーブル275のエントリに設定されているシーケンシャル判定データの最新LBA及びアクセスサイズを、それぞれ当該最新のライト要求の指定するLBA及びアクセスサイズに更新すると共に、ヒット回数を1インクリメントする(ステップ1105)。ヒット回数は、当該ヒット回数を含むシーケンシャル判定テーブル275のエントリで示されるライトに対してシーケンシャル性を有する後続ライトであると判定された回数を示す。このようにヒット回数は、シーケンシャル判定テーブル275のエントリを参照することによってシーケンシャルライトが判定された回数を示しており、当該シーケンシャルライトの進捗の度合いを示す。
【0060】
次にシーケンシャル性検出部241は、インクリメント後のヒット回数が閾値を越えたかを判定する(ステップ1106)。もし、インクリメント後のヒット回数が閾値を越えていないならば(ステップ1106のNo)、IO特性判定部240によるIO特性判定処理は終了する。
【0061】
これに対し、インクリメント後のヒット回数が閾値を越えているならば(ステップ1106のYes)、シーケンシャル性検出部241は、最新のライト要求の指定するアクセスがストライプグループサイズ境界を越えているかを、当該最新のライト要求の指定するLBAに対応する物理アドレスに基づいて判定する(ステップ1107)。そこでシーケンシャル性検出部241はステップ1107を実行する際に、最新のライト要求の指定するLBAに対応するRAIDアレイ120-iの物理アドレスを論理/物理アドレス管理部250に問い合わせる。
【0062】
すると論理/物理アドレス管理部250は、LBAからRAIDアレイ120-iの物理アドレスへの変換を実行して、当該物理アドレスをシーケンシャル性検出部241に応答する。この論理/物理アドレス管理部250によるLBAから物理アドレスへの変換の詳細は後述する。シーケンシャル性検出部241は、論理/物理アドレス管理部250によって変換された物理アドレスに基づいて、ステップ1107の判定を行う。もし、最新のライト要求の指定するアクセスがストライプグループサイズ境界を越えていないならば(ステップ1107のNo)、IO特性判定部240によるIO特性判定処理は終了する。
【0063】
これに対し、最新のライト要求の指定するアクセスがストライプグループサイズ境界を越えているならば(ステップ1107のYes)、シーケンシャル性検出部241は、上述のシーケンシャル判定テーブル275のエントリに設定されているシーケンシャル判定データ中の最適化フラグが“1”にセットされているかを判定する(ステップ1108)。もし、最適化フラグが“1”にセットされていないならば(ステップ1108のNo)、つまり最適化フラグが最適化未実行を示す初期値“0”にリセットされているならば、当該IO特性判定部240における後述する性能最適化処理を起動する(ステップ1109)。
【0064】
これに対し、最適化フラグが“1”にセットされているならば(ステップ1108のYes)、IO特性判定部240内では、シーケンシャル性検出部241から割り当て要求部242に制御が渡される。すると割り当て要求部242は、スライス入れ替え処理を行う必要があるかを判定する(ステップ1110)。このステップ1110の判定は、先のステップ1105で更新された最新LBAが入れ替え済みスライス番号の示す論理スライスの位置に到達したかをチェックすることによって行われる。入れ替え済みスライス番号は、既に物理スライスが入れ替え済みの論理スライスの列の最後尾の論理スライスを示す。最新LBAが、この最後尾の論理スライスの位置に到達すると、当該最後尾の論理スライスに後続する論理スライスに割り当てられている物理スライスを入れ替える必要が生じる(ステップ1110のYes)。この場合、割り当て要求部242は、構成管理部260による後述するスライス入れ替え処理を起動する(ステップ1111)。
【0065】
ステップ111が実行されると、割り当て要求部242からシーケンシャル性検出部241に制御が戻される。するとシーケンシャル性検出部241は、後追い吐き出しの実行をIO管理部220に要求する(ステップ1112)。この要求では、後追い吐き出しの対象となるストライプグループが、対応するシーケンシャル判定テーブル275のエントリに設定されているシーケンシャル判定データ中の書き込みLBAによって指定される。これによりIO管理部220は、シーケンシャルライトが通り過ぎたストライプグループのデータのうち、キャッシュメモリ114上の未だRAIDアレイ120-iに書き出されていない、いわゆるライトバックデータを、当該RAIDアレイ120-iに書き出すための処理を実行する。シーケンシャルライトが通り過ぎたストライプグループとは、当該シーケンシャルライトにおける開始LBAから最新LBAまでの範囲に対応するストライプグループを指す。シーケンシャル判定データ中の書き込みLBAは、後追い吐き出しの実行の都度更新される。
【0066】
また、シーケンシャル性検出部241は、性能最適化処理を起動した場合(ステップ1109)と、最新LBAが既に物理スライスが入れ替え済みの論理スライスの列の最後尾の論理スライスの位置に到達していない場合(ステップ1110のNo)にも、後追い吐き出しの実行をIO管理部220に要求する(ステップ1112)。
ステップ1112が実行されると、IO特性判定部240によるIO特性判定処理は終了する。
【0067】
さてシーケンシャル性検出部241は、上記ステップ1103で、シーケンシャル判定テーブル275の空きエントリが存在していないと判定した場合、ライト要求の指定する論理ディスク番号に対応付けられているシーケンシャル判定テーブル275のエントリの群のうち、最低優先度のシーケンシャル判定テーブル275のエントリを空きエントリとするための置換対象として決定する。本実施形態では、シーケンシャル判定データ記憶部274に格納されているシーケンシャル判定テーブル275のエントリの群の優先度は、LRU(Least Recently Used)ルールに従って管理される。このため最も以前に使用されたシーケンシャル判定テーブル275のエントリが置換対象となる。なお、シーケンシャル判定テーブル275のエントリの群の優先度を、LRUルール以外のアルゴリズムで管理することも可能である。
【0068】
シーケンシャル性検出部241は、最低優先度のシーケンシャル判定テーブル275のエントリに設定されているシーケンシャル判定データ中の最適化フラグが“1”にセットされているかを判定する(ステップ1113)。もし、最適化フラグが“1”にセットされていないならば(ステップ1113のNo)、シーケンシャル性検出部241は最低優先度のシーケンシャル判定テーブル275のエントリを空きのエントリとして、上記ステップ1104を実行する。これに対し、最適化フラグが“1”にセットされているならば(ステップ1113のYes)、シーケンシャル性検出部241は、構成管理部260による後述するリカバリ処理を起動して(ステップ1114)、上記ステップ1104を実行する。
【0069】
次に、ステップ1109で起動される性能最適化処理について、図13のフローチャートを参照して説明する。
シーケンシャル性検出部241は、ステップ1108で判定された最適化フラグを含むシーケンシャル判定テーブル275のエントリの示す書き込みLBAの位置から後追い吐き出し実行中のシーケンシャルライトの数(以下、値Aと称する)を、シーケンシャル判定データ記憶部274に格納されているシーケンシャル判定テーブル275のエントリの群に基づいて算出する。シーケンシャル性検出部241は、この値Aが2以上であるかを判定する。即ちシーケンシャル性検出部241は、書き込みLBAの位置から複数の後追い吐き出しが実行中であるかを判定する(ステップ1301)。
【0070】
もし、書き込みLBAの位置から複数の後追い吐き出しが実行中である場合(ステップ1301のYes)、シーケンシャル性検出部241は、対応する複数のシーケンシャルライトを示すシーケンシャル判定テーブル275のエントリの群の中に、最適化フラグが“1”にセットされていないシーケンシャルライト、つまり最適化が実行されていないシーケンシャルライトを示すエントリが存在するかを判定する(ステップ1302)。もし、このようなエントリが存在するならば(ステップ1302のYes)、シーケンシャル性検出部241は、構成管理部260に問い合わせることにより、当該構成管理部260から、プール121に属する全てのRAIDアレイ120-iのRAIDアレイ番号の配列を取得する(ステップ1303)。つまり構成管理部260は、シーケンシャル性検出部241からの問い合わせに従い、プール管理テーブル273を参照することにより、所属RAIDアレイ番号配列を取得して、シーケンシャル性検出部241に通知する。
【0071】
シーケンシャル性検出部241は、取得した所属RAIDアレイ番号配列で示されるRAIDアレイ120-iの群の中に、最適化で未選択のRAIDアレイが存在するかを判定する(ステップ1304)。もし、未選択のRAIDアレイが存在するならば(ステップ1304のYes)、シーケンシャル性検出部241はそのRAIDアレイを選択する(ステップ1305)。シーケンシャル性検出部241は、選択したRAIDアレイのRAIDアレイ番号を、ステップ1113で判定された最適化フラグを含むシーケンシャル判定テーブル275のエントリに保持すると共に、当該最適化フラグを“1”にセットして(ステップ1306)、性能最適化処理を終了する。この最適化フラグが“1”にセットされたシーケンシャル判定テーブル275のエントリのデータ(つまりシーケンシャル判定データ)は、対応するシーケンシャルライトにおける書き込み先となる論理スライスに既に割り当てられている物理スライスが当該データ中のRAIDアレイ番号のRAIDアレイに属していない場合、当該RAIDアレイ番号のRAIDアレイに属する物理スライスに再割り当てすべきことを示す。
【0072】
次に、ステップ1111で起動されるスライス入れ替え処理について、図14のフローチャートを参照して説明する。
割り当て要求部242は構成管理部260によるスライス入れ替え処理を起動する際に、物理スライスの入れ替えの対象となる論理ディスク及び当該論理ディスク内の論理スライスの、それぞれ論理ディスク番号及び論理スライス番号と、入れ替え先のRAIDアレイのRAIDアレイ番号とを構成管理部260に渡す。入れ替えの対象となる論理スライスの論理スライス番号は、ステップ1110で判定された入れ替え済みスライス番号に1を加算することによって取得される。つまり割り当て要求部242は、スライス入れ替え処理のための論理ディスク番号、論理スライス番号及びRAIDアレイ番号を構成管理部260に対して指定して、当該構成管理部260によるスライス入れ替え処理を起動する。
【0073】
すると構成管理部260は、指定された論理ディスク番号から、当該論理ディスク番号の論理ディスクを構成するRAIDアレイ120-iの群が含まれるプール121のプール番号を特定する(ステップ1401)。このステップ1401は、プール管理テーブル273を参照して、指定された論理ディスク番号を所属論理ディスク番号配列内に含むプール管理データを検索することにより、実現される。
【0074】
次に構成管理部260は、指定された論理スライス番号の論理スライスに、現在何れのRAIDアレイの物理スライスが割り当てられているかを特定し、その物理スライスを含むRAIDアレイが、指定されたRAIDアレイ番号のRAIDアレイと同一でないかを判定する(ステップ1402)。もし、同一であるならば(ステップ1402のNo)、構成管理部260は、物理スライスの入れ替えは不要であるとして、スライス入れ替え処理を終了する。
【0075】
これに対して同一でないならば(ステップ1402のYes)、構成管理部260はステップ1401で特定したプール番号のプール121に関するプール管理データのフリーリスト内に、指定されたRAIDアレイの物理スライスのスライス管理データが存在するかを判定する(ステップ1403)。もし、存在するならば(ステップ1403のYes)、構成管理部260は、該当する物理スライスのスライス管理データを上記フリーリストから取り外して、論理ディスク管理テーブル271に保持されている、指定された論理ディスク番号、論理スライス番号を含む論理ディスク管理データの物理ミラーリストポインタに、当該スライス管理データを繋ぐ(ステップ1404)。この時点でシーケンシャルライトは、指定された論理スライスの1つ前に到達している。したがって、指定された論理スライスの2つ前の論理スライスは、既にシーケンシャルライト済みの状態にある。この状態を、シーケンシャルライトが論理スライス(より詳細には、指定された論理スライスの2つ前の論理スライス)を通り過ぎていると表現する。
【0076】
そこで構成管理部260は、シーケンシャルライトが通り過ぎている論理スライスの論理ディスクデータ内の物理ミラーリストポインタに、物理スライスのスライス管理データが繋がっているかを判定する(ステップ1405)。もし、繋がっているならば(ステップ1405のYes)、つまり物理ミラーリストポインタがNULLでないならば、構成管理部260は当該物理ミラーリストポインタと対をなす物理リストポインタに繋がっている物理スライスのスライス管理データを、プール管理データ構造のフリーリストに繋ぎ直す(ステップ1406)。これにより、物理リストポインタに繋がっていたスライス管理データによって管理される物理スライスは、未使用の物理スライスとしてプール121に返却されたことになる。ステップ1406において構成管理部260は、上記物理ミラーリストポインタに繋がっている物理スライスのスライス管理データを、当該物理ミラーリストポインタと対をなす物理リストポインタに移す。構成管理部260はステップ1406を実行すると、スライス入れ替え処理を終了する。
【0077】
次に論理/物理アドレス管理部250によるLBAから物理アドレスへの変換について説明する。
論理/物理アドレス管理部250は、LBAから物理アドレスへの変換に際し、当該LBA(以下、対象LBAと称する)の指す領域を含む論理スライスに対応する論理ディスク管理テーブル271内の論理ディスク管理データを参照する。そして論理/物理アドレス管理部250は、この論理スライスに対応する論理ディスク管理データ内の物理ミラーリストポインタがNULLでない場合、当該論理スライスのシーケンシャルライトがどこまで進捗しているかを、シーケンシャル性検出部241に問い合わせる。もし対象LBAの指す領域が、シーケンシャルライトが通り過ぎている領域であった場合、論理/物理アドレス管理部250は対象LBAを、物理ミラーリストポインタに繋がっているスライス管理データに基づいて、当該スライス管理データによって管理される物理スライスの物理アドレスに変換する。これに対し、対象LBAの指す領域が、シーケンシャルライトが通り過ぎている領域でない場合、構成管理部260は、物理リストポインタに繋がっているスライス管理データに基づいて、当該スライス管理データによって管理される物理スライスの物理アドレスに変換する。
【0078】
次に構成管理部260によるリカバリ処理について説明する。
シーケンシャル性検出部241は構成管理部260によるリカバリ処理を起動する際に、リカバリの対象となる論理ディスク及び当該論理ディスク内の論理スライスの、それぞれ論理ディスク番号及び論理スライス番号と、どこまでライトが進んだかを示すライト進捗情報とを構成管理部260に対して指定して、当該構成管理部260によるリカバリ処理を起動する。
【0079】
すると構成管理部260は、指定された論理ディスク番号及び論理スライス番号に対応する論理ディスク管理データを参照する。そして構成管理部260は、この論理ディスク管理データの物理リストポインタに繋がれているスライス管理データからコピー元の物理スライスを特定し、当該論理ディスク管理データの物理ミラーリストポインタに繋がれているスライス管理データからコピー先の物理スライスを特定する。次に構成管理部260は、ライト進捗情報に基づき、指定された論理スライスの最後尾まで、コピー元物理スライスからコピー先物理スライスへのデータのコピーを行う。コピー元とコピー先は逆でも良い。従って、コピー量が少ない方向等の特定のポリシを用いてコピー方向を決定しても当然良い。コピー機能自体は、レプリケーションや、スライスの移動で使われる既に知られた機能であるため、詳細は省略する。構成管理部260はコピーを完了すると、コピー先の物理スライスのスライス管理データを物理リストポインタに移し、物理ミラーリストポインタをNULLに設定する。これによりリカバリ処理は終了する。
【0080】
以上に述べた論理スライスへの物理スライスの再割り当ての動作の流れについて、図15及び図16を参照して説明する。
ホスト装置からのライト要求で指定されるアクセスサイズは、一般にスライスサイズよりも極めて小さい。本実施形態では、スライスサイズは512MB(メガバイト)である。これに対し、アクセスサイズは最大でも高々1MBである。このため、例えばスライスサイズを越えるストリームデータを論理ディスク300にライトする場合、ホスト装置からデータ記憶装置10の制御装置11に対して複数のライト要求が順次送られる。
【0081】
図15及び図16の例では、論理スライス番号が0の論理スライス310から始まる論理アドレスが連続する複数の論理スライス310へのストリームデータのライトのための複数の第1のライト要求がホスト装置から制御装置11に1要求ずつ順に送られると共に、論理スライス番号がpの論理スライス310から始まる論理アドレスが連続する複数の論理スライス310へのストリームデータのライトのための複数の第2のライト要求が当該ホスト装置(または他のホスト装置)から制御装置11に1要求ずつ順に送られるものとする。以下の説明では、論理スライス番号がq(q=0,1,…)の論理スライス310を、論理スライス310(q)と表現する。
【0082】
上述の複数の第1のライト要求(つまり第1のライト要求の列)における先頭の第1のライト要求が制御装置11に送られた段階では、この先頭の第1のライト要求に対応するシーケンシャル判定データ(以下、第1のシーケンシャル判定データと称する)が、シーケンシャル判定テーブル275の空きエントリに保持される。この第1のシーケンシャル判定データの開始LBA及び最新LBAには、先頭の第1のライト要求の開始LBAが設定される。
【0083】
同様に、複数の第2のライト要求(つまり第2のライト要求の列)における先頭の第2のライト要求が制御装置11に送られた段階では、この先頭第2のライト要求に対応するシーケンシャル判定データ(以下、第2のシーケンシャル判定データと称する)が、シーケンシャル判定テーブル275の空きエントリに保持される。この第2のシーケンシャル判定データの開始LBA及び最新LBAには、先頭の第2のライト要求の開始LBAが設定される。
【0084】
シーケンシャル性検出部241は、第1のライト要求の列における2番目以降の第1のライト要求が制御装置11に送られる都度、当該2番目以降の第1のライト要求と第1のシーケンシャル判定データとに基づきシーケンシャル性(以下、第1のシーケンシャルライトと称する)を判定する。同様にシーケンシャル性検出部241は、第2のライト要求の列における2番目以降の第2のライト要求が制御装置11に送られる都度、当該2番目以降の第2のライト要求と第2のシーケンシャル判定データとに基づきシーケンシャル性(以下、第2のシーケンシャルライトと称する)を判定する。
【0085】
図15(a)は、図3と同様に、論理ディスク300内の論理スライス310の集合に、RAIDアレイ120-0及び120-1内のそれぞれ一部の物理スライス320の集合が割り当てられている状態を示す。論理ディスク300内の白抜きの矩形で示される各論理スライス310は、当該論理スライス310にRAIDアレイ120-0内の物理スライス320が割り当てられていることを示し、論理ディスク300内のハッチングが施された矩形で示される各論理スライス310は、当該論理スライス310にRAIDアレイ120-1内の物理スライス320が割り当てられていることを示す。
【0086】
複数の第1のライト要求及び複数の第2のライト要求がそれぞれ指定するライトデータは、キャッシュ管理部230によって所定サイズのブロック単位でキャッシュメモリ114に一時格納される。また、第1のシーケンシャルライトにおける後追い吐き出し処理と第2のシーケンシャルライトにおける追い吐き出し処理とが、それぞれ第1及び第2のシーケンシャルライトを追いかけるように、ストライプグループサイズを単位に並行して実行される。これら2つの後追い吐き出し処理は、論理的には論理ディスク300内の論理スライス310(0)から始まる論理アドレスが連続する複数の論理スライス310及び論理スライス310(p)から始まる論理アドレスが連続する複数の論理スライス310に対して行われるが、物理的には同一または異なるRAIDアレイ内の対応する物理スライスに対して行われる。
【0087】
ここで、第1及び第2のシーケンシャルライトにおける後追い吐き出し処理が同一のRAIDアレイ内の物理スライスに対してなされるものとする。この場合、たとえ対象となるストライプグループが異なっていても、当該RAIDアレイを構成する記憶媒体12の物理的性質から、当該RAIDアレイに対する第1及び第2のシーケンシャルライトにおける後追い吐き出し処理を同時に行うことはできない。
【0088】
まず説明の簡略化のために、第1及び第2のシーケンシャルライトが、ストライプグループサイズを単位に交互に行われる場合を想定する。また、論理スライス310(0)及び310(p)に、それぞれ同一のRAIDアレイ内の第1及び第2の物理スライスが割り当てられているものとする。この場合、第1の物理スライス内と第2の物理スライス内では、見かけ上シーケンシャルライトとなるものの、アクセス先が第1の物理スライスと第2の物理スライスとの間で頻繁に切り替えられる。このため、実際にはシーケンシャルではなくなる。
【0089】
そこで本実施形態では、後追い吐き出し処理の高速化のために、論理スライスへの物理スライスの再割り当てを行う。
まず図15(a)の状態で、第1及び第2のシーケンシャルライトが判定され、図15(b)に示すように論理スライス310(0),310(p)へのライトが進捗したものとする。ここでは、論理スライス310(p)へのライトの方がより進捗しているものとする。
【0090】
第1のシーケンシャルライトにおける次のライト先は論理スライス310(1)であり、第2のシーケンシャルライトにおける次のライト先は論理スライス310(p+1)である。論理スライス310(1)及び310(p+1)には、それぞれ同一RAIDアレイ120-1内の異なる物理スライス320が割り当てられている。
【0091】
割り当て要求部242は、第1のシーケンシャルライト及び第2のシーケンシャルライトの各々について、論理ディスク300内で現在ライト処理中の論理スライス310(0),310(p)に後続する論理スライス310(1),310(p+1)に割り当てられている物理スライス320が属するRAIDアレイのRAIDアレイ番号(以下、RAIDアレイ番号A,Bと称する)を、構成管理部260への問い合わせによって取得する。割り当て要求部242は、取得したRAIDアレイ番号A,Bを比較する。図15(b)の例では、RAIDアレイ番号A,Bは、いずれもRAIDアレイ120-1を示す“1”である。
【0092】
この例のように、RAIDアレイ番号A,Bが同一(A=B=1)であるならば、割り当て要求部242は、現在ライト処理中の論理スライス310(0),310(p)のいずれか一方、例えばライトがより進捗している論理スライス310(p)に後続する論理スライス310(p+1)に対する物理スライス320の再割り当てを、構成管理部260に対して要求する。このとき割り当て要求部242は、RAIDアレイ番号A(=B=1)以外の、未選択のRAIDアレイ120-iのRAIDアレイ番号Cを、構成管理部260に対して指定する。ここでは、RAIDアレイ番号Cが、RAIDアレイ120-0を示す“0”であるものとする。
【0093】
このため図15(b)の例では、構成管理部260は論理スライス310(p+1)に対し、現在RAIDアレイ120-1内の物理スライス320(以下、旧物理スライス320(old)と称する)が割り当てられている状態で、矢印151で示すように、RAIDアレイ120-0内の未使用の物理スライス320(以下、新物理スライス320(new)と称する)を割り当てる。これらの新旧2つの物理スライスによって、相互の差分が管理される。つまり、新物理スライス320(new)が割り当てられた段階では、旧物理スライス320(old)のみに有効なデータが格納されている。その後、ライトデータの書き込みが新物理スライス320(new)の開始位置から開始されると、新物理スライス320(new)の開始位置から最新のライトデータの書き込みが完了した位置までの領域のデータと、当該書き込みが完了した位置に対応する旧物理スライス320(old)内の位置から当該旧物理スライス320(old)の終端までの領域のデータとにより、論理スライス310(p+1)のデータが表される。このように、1つの論理スライスに対して、異なる2つのRAIDアレイ内の物理スライスが同時に割り当てられている状態をミラー状態と呼ぶ。
【0094】
以後、割り当て要求部242は、シーケンシャルライトが各論理スライス310の開始位置に達した時点で次の論理スライス310への物理スライス320の割り当てを構成管理部260に要求する。つまり割り当て要求部242は、第1のシーケンシャルライトの場合、上記次の論理スライス310に割り当てられている物理スライス320が属するRAIDアレイのRAIDアレイ番号がRAIDアレイ番号A(=1)以外であるならば、未選択のRAIDアレイのRAIDアレイ番号A(=1)、つまりRAIDアレイ120-1のRAIDアレイ番号“1”を構成管理部260に対して指定することにより、当該次の論理スライス310に対する物理スライス320の再割り当てを当該構成管理部260に要求する。同様に第2のシーケンシャルライトの場合、割り当て要求部242は、上記次の論理スライス310に割り当てられている物理スライス320が属するRAIDアレイのRAIDアレイ番号がRAIDアレイ番号C(=0)以外であるならば、未選択のRAIDアレイのRAIDアレイ番号C(=0)、つまりRAIDアレイ120-0のRAIDアレイ番号“0”を構成管理部260に対して指定することにより、当該次の論理スライス310に対する物理スライス320の再割り当てを当該構成管理部260に要求する。
【0095】
図16(a)は、論理スライス310(0)へのライトが進捗した結果、当該論理スライス310(0)へのライトが完了し、最新LBA(つまり第1のシーケンシャルライト)が次の論理スライス310(1)の開始位置に達した状態を示す。第1のシーケンシャルライトにおける論理スライス310(1)の次のライト先は論理スライス310(2)である。この論理スライス310(2)には、RAIDアレイ番号がA(=1)以外のRAIDアレイ120-0内の物理スライス320が割り当てられている。この場合、割り当て要求部242は、RAIDアレイ120-0以外のRAIDアレイのRAIDアレイ番号、例えばRAIDアレイ120-1のRAIDアレイ番号を構成管理部260に対して指定することにより、論理スライス310(2)に対する物理スライス320の再割り当てを当該構成管理部260に要求する。
【0096】
すると構成管理部260は論理スライス310(2)に対し、現在RAIDアレイ120-0内の物理スライス320が割り当てられている状態で、図16(a)において矢印161で示すように、RAIDアレイ120-1内の未使用の物理スライス320を割り当てる。
【0097】
図16(a)はまた、論理スライス310(p+1)へのライトが進捗した結果、当該論理スライス310(p+1)へのライトが完了し、最新LBA(つまり第2のシーケンシャルライト)が次の論理スライス310(p+2)の開始位置に達した状態をも示す。論理スライス310(p+2)の次の論理スライス310(p+3)には、RAIDアレイ番号がC(=0)以外のRAIDアレイ120-1内の物理スライス320が割り当てられている。この場合、割り当て要求部242は、RAIDアレイ120-1以外のRAIDアレイのRAIDアレイ番号、例えばRAIDアレイ120-0のRAIDアレイ番号を構成管理部260に対して指定することにより、論理スライス310(p+3)に対する物理スライス320の再割り当てを当該構成管理部260に要求する。
【0098】
すると構成管理部260は、論理スライス310(p+3)に対し、現在RAIDアレイ120-1内の物理スライス320が割り当てられている状態で、図16(a)において矢印162で示すように、RAIDアレイ120-0内の未使用の物理スライス320を割り当てる。また構成管理部260は、論理スライス310(p+1)に割り当てられていた旧物理スライス320(old)を、図16(a)において矢印163で示すように、RAIDアレイ120-1内の未使用の物理スライス320として(プール121に)返却する。
【0099】
図16(b)は、論理スライス310(2)へのライトが進捗した結果、当該論理スライス310(2)へのライトが完了し、最新LBAが次の論理スライス310(3)の開始位置に達した状態を示す。論理スライス310(3)の次の論理スライス310(4)には、RAIDアレイ番号がA(=1)以外のRAIDアレイ120-0内の物理スライス320が割り当てられている。この場合、割り当て要求部242は、RAIDアレイ120-0以外のRAIDアレイのRAIDアレイ番号、例えばRAIDアレイ120-1のRAIDアレイ番号を構成管理部260に対して指定することにより、論理スライス310(4)に対する物理スライス320の再割り当てを当該構成管理部260に要求する。
【0100】
すると構成管理部260は論理スライス310(4)に対し、現在RAIDアレイ120-0内の物理スライス320が割り当てられている状態で、図16(b)において矢印164で示すように、RAIDアレイ120-1内の未使用の物理スライス320を割り当てる。また構成管理部260は、論理スライス310(2)に割り当てられていた旧物理スライス320を、図16(b)において矢印165で示すように、RAIDアレイ120-0内の未使用の物理スライス320として(プール121に)返却する。
【0101】
本実施形態によれば、複数のシーケンシャルライトの進行に伴い、自律的に相互のライトデータを異なるRAIDアレイに格納していくことが可能になる。これにより、複数のシーケンシャルライトの処理時に、相互の後追い吐き出しが干渉して記憶媒体12へのアクセスがランダムになることによる性能低下を防止することができる。
【0102】
[変形例]
次に上記実施形態の変形例について説明する。
上記実施形態では、論理ディスク300の作成時に、当該論理ディスク300内の全ての論理スライスに対して物理スライスが割り当てられる。これに対し、本変形例では、論理ディスク300は仮想的に構成されており、当該論理ディスク300内の論理スライスへのライトが最初に要求された時点で、当該論理スライスに物理スライスが新規に割り当てられる。このため本変形例では、論理ディスク300の作成時には、当該論理ディスク300に対応する論理ディスク管理テーブル271内の論理ディスク管理データの物理リストポインタは、物理ミラーリストポインタと同様にNULLに設定される。
【0103】
本変形例では、論理ディスク300内の論理スライスに対する物理スライスの割り当てに際し、シーケンシャル判定テーブル275内エントリの最適化フラグが“1”にセットされているかが判定される(図11のステップ1108参照)。もし、最適化フラグが“1”にセットされているならば、構成管理部260は、割り当て要求部242によって指定されたRAIDアレイ番号のRAIDアレイ内の未使用の物理スライスを、プール管理テーブル273に保持されるプール管理データ内のフリーリストに基づいて確保して、該当する論理スライスに割り当てる。これにより、図11のステップ1110及びステップ1111(つまりスライス入れ替え処理)を不要とすることができる。
【0104】
本変形例において割り当て要求部242は、シーケンシャル性検出部241が複数のシーケンシャルライト、例えば第1及び第2のシーケンシャルライトを検出した場合、構成管理部260に対して、第1のシーケンシャルライト及び第2のシーケンシャルライトのそれぞれについて、論理ディスク300内で現在ライト処理中の論理スライスに後続する論理スライスに、それぞれ異なるRAIDアレイ内の第1の物理スライス及び第2の物理スライスを新規に割り当てることを要求する。この要求に際し、割り当て要求部242は構成管理部260に対して、異なるRAIDアレイ番号(以下、RAIDアレイ番号A,Bと称する)を指定する。
【0105】
構成管理部260は、割り当て要求部242からの要求に従い、指定されたRAIDアレイ番号A,BのRAIDアレイからそれぞれ新たに未使用の物理スライスを取得して、その物理スライスを現在ライト処理中の論理スライスに後続する論理スライスに割り当てる。
【0106】
以後、割り当て要求部242は、各論理スライスの開始位置に達した時点で次の論理スライスに割り当てられている物理スライスの割り当てを構成管理部260に要求する。つまり割り当て要求部242は、第1のシーケンシャルライトの場合、RAIDアレイ番号AのRAIDアレイ内の物理スライスの割り当てを、当該RAIDアレイ番号Aを指定することにより、構成管理部260に対して要求する。また割り当て要求部242は、第2のシーケンシャルライトの場合、RAIDアレイ番号BのRAIDアレイ内の物理スライスの割り当てを、当該RAIDアレイ番号Bを指定することにより、構成管理部260に対して要求する。
【0107】
次に本変形例における論理スライスへの物理スライスの割り当ての動作の流れについて、図17及び図18を参照して説明する。
図17及び図18の例においても、図15及び図16の例と同様に、論理スライス310(0)から始まる論理アドレスが連続する複数の論理スライス310へのストリームデータのライトのための複数の第1のライト要求がホスト装置から制御装置11に1要求ずつ順に送られると共に、論理スライス310(p)から始まる論理アドレスが連続する複数の論理スライス310へのストリームデータのライトのための複数の第2のライト要求が当該ホスト装置(または他のホスト装置)から制御装置11に1要求ずつ順に送られるものとする。
【0108】
図17(a)は、上記複数の第1及び第2のライト要求のうちのそれぞれ先頭の第1及び第2のライト要求がホスト装置から制御装置11に送られた状態を示す。このとき論理ディスク300内の少なくとも論理スライス310(0)及び310(p)は、当該論理ディスク300が作成されたときと同一の状態にあるものとする。つまり図17(a)の状態では、論理スライス310(0)及び310(p)には、物理スライス320は割り当てられていない。そこで本変形例では、論理ディスク300内の論理スライス310に最初にライトが要求された時点で、当該論理スライス310に物理スライス320が割り当てられる。
【0109】
上記複数の第1及び第2のライト要求のうちの先頭の第1及び第2のライト要求がホスト装置から制御装置11に送られた状態では、シーケンシャル性検出部241はシーケンシャル性を判定できない。このような場合、割り当て要求部242は論理スライス310(0)及び310(p)に対する任意の物理スライス320の割り当てを、構成管理部260に対して要求する。
【0110】
すると構成管理部260は、論理スライス310(0)及び310(p)にそれぞれ割り当てるべき物理スライス320を、プール管理テーブル273に保持されるプール管理データ内のフリーリストに繋がれている未使用の物理スライス320のスライス管理データに基づいて確保する。ここでは、RAIDアレイ120-0内の2つの物理スライス320が確保されたものとする。
【0111】
このとき構成管理部260は、該当する2つの物理スライス320のスライス管理データを上記フリーリストから取り外して、論理ディスク管理テーブル271に保持されている、論理ディスク300の論理ディスク番号及び論理スライス310(0)の論理スライス番号を含む論理ディスク管理データ、並びに論理ディスク300の論理ディスク番号及び論理スライス310(p)の論理スライス番号を含む論理ディスク管理データのそれぞれの物理リストポインタに、当該スライス管理データを繋ぐ。つまり構成管理部260は、確保した物理スライス320毎に、その物理スライス320のスライス管理データを上記フリーリストから取り外してスライス管理テーブル272に登録すると共に、論理ディスク管理テーブル271に登録されている論理スライス310(0)及び310(p)に関する論理ディスク管理データの物理リストポインタに、確保した物理スライス320のスライス管理データを繋ぐ。これにより図17(a)の例では、矢印171及び172で示されるように、論理スライス310(0)及び310(p)に、RAIDアレイ120-0内の物理スライス320がそれぞれ割り当てられる。
【0112】
このような状態で、シーケンシャル性検出部241が、論理スライス310(0)内の領域へのデータのライトのための少なくとも2つの第1のライト要求に基づいて第1のシーケンシャルライトを判定する一方、論理スライス310(p)内の領域へのデータのライトのための少なくとも2つの第2のライト要求に基づいて第2のシーケンシャルライトを判定したものとする。また、論理スライス310(0)及び310(p)に対するライトがそれぞれ進捗したものとする。
【0113】
すると、割り当て要求部242は構成管理部260に対して、第1のシーケンシャルライト及び第2のシーケンシャルライトのそれぞれについて、論理ディスク300内で現在ライト処理中の論理スライス310(0)及び310(p)に後続する論理スライス310(1)及び310(p+1)に、それぞれRAIDアレイ番号がA及びBのRAIDアレイ内の物理スライス320を割り当てることを要求する。
【0114】
構成管理部260は、割り当て要求部242からの要求に従い、指定されたRAIDアレイ番号A,BのRAIDアレイからそれぞれ新たに未使用の物理スライス320を取得して、その物理スライス320を論理スライス310(1)及び310(p+1)に割り当てる。ここでは、RAIDアレイ番号がA,BのRAIDアレイはRAIDアレイ120-0及び120-1であるものとする。この場合、RAIDアレイ120-0及び120-1から取得された未使用の物理スライス320が、図17(b)において矢印173及び174で示されるように、それぞれ論理スライス310(1)及び310(p+1)に割り当てられる。
【0115】
その後、論理スライス310(0)及び310(p)に対するライトがそれぞれ進捗して、第1及び第2のシーケンシャルライトが次の論理スライス310(1)及び310(p+1)の開始位置に達すると、構成管理部260は割り当て要求部242からの要求に応じて、RAIDアレイ120-0及び120-1から未使用の物理スライス320を取得する。構成管理部260は取得した物理スライス320を、図18(a)において矢印181及び182で示されるように、それぞれ論理スライス310(1)及び310(p+1)に後続する論理スライス310(2)及び310(p+2)に割り当てる。
【0116】
その後、論理スライス310(1)及び310(p+1)に対するライトがそれぞれ進捗して、第1及び第2のシーケンシャルライトが次の論理スライス310(2)及び310(p+2)の開始位置に達すると、構成管理部260は割り当て要求部242からの要求に応じて、RAIDアレイ120-0及び120-1から未使用の物理スライス320を取得する。構成管理部260は取得した物理スライス320を、図18(b)において矢印183及び184で示されるように、それぞれ論理スライス310(2)及び310(p+2)に後続する論理スライス310(3)及び310(p+3)に割り当てる。
【0117】
本変形例によれば、複数のシーケンシャルライトの進行に伴い、自律的に相互のライトデータを異なるRAIDアレイに格納していくことが可能になる。これにより、複数のシーケンシャルライトの処理時に、記憶媒体12へのアクセスがランダムになることによる性能低下をすることができる。また上記実施形態と異なり、スライス入れ替え処理を不要とすることができる。
【0118】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0119】
10…データ記憶装置、11…制御装置、12…記憶媒体、20…データ通信路、112…CPU、113…プログラムメモリ、114…キャッシュメモリ、120-0〜120-5…RAIDアレイ(ディスクアレイ)、121…プール、210…ホストインタフェース制御部、220…IO管理部、230…キャッシュ管理部、240…IO特性判定部、241…シーケンシャル性検出部、242…割り当て要求部、250…論理/物理アドレス管理部、260…構成管理部、270…構成管理用記憶部、271…論理ディスク管理テーブル、272…スライス管理テーブル、273…プール管理テーブル、274…シーケンシャル判定データ記憶部、275…シーケンシャル判定テーブル、280…RAID制御部、290…HDDインタフェース制御部、300…論理ディスク、310…論理スライス、320…物理スライス。

【特許請求の範囲】
【請求項1】
複数のディスクアレイを備えたデータ記憶装置において、
前記複数のディスクアレイのそれぞれの記憶領域を一定サイズの物理スライスに分割して管理すると共に、これらの物理スライスのうちの一部の物理スライスの群を論理ディスクの論理スライスの群に割り当てる構成管理手段と、
前記論理ディスクに対する複数のシーケンシャルライトの実行時に、前記複数のシーケンシャルライトのそれぞれについて、前記論理ディスク内の書き込み先となる論理スライスに対する、前記複数のディスクアレイのうちの異なるディスクアレイ内の物理スライスの再割り当てまたは新規割り当てを前記構成管理手段に要求する割り当て要求手段と
を具備することを特徴とするデータ記憶装置。
【請求項2】
前記論理ディスクの論理スライスの群には、当該論理ディスクの作成時に、前記複数のディスクアレイの物理スライスのうちの一部の物理スライスの群が前記構成管理手段によって割り当てられ、
前記割り当て要求手段は、前記複数のシーケンシャルライトのそれぞれについて書き込み先となる論理スライスに既に割り当てられている物理スライスが同一のディスクアレイに属する場合、当該書き込み先となる論理スライスに対する、前記複数のディスクアレイのうちの異なるディスクアレイ内の物理スライスの再割り当てを、前記書き込み先となる論理スライスと再割り当てに用いられるべき物理スライスが属するディスクアレイとを指定することによって前記構成管理手段に要求し、
前記構成管理手段は、前記指定された論理スライスに既に割り当てられている物理スライスが属するディスクアレイが前記指定されたディスクアレイと異なる場合、前記指定されたディスクアレイ内の未使用の物理スライスを再割り当てする
ことを特徴とする請求項1記載のデータ記憶装置。
【請求項3】
ホスト装置からのライト要求で指定されたデータを一時格納するためのキャッシュメモリと、
前記論理ディスクに対する複数のシーケンシャルライトの実行によって前記キャッシュメモリに格納されたデータを、シーケンシャルライト別に、前記一定サイズよりも小さいサイズのストライプグループを単位に、前記複数のディスクアレイのうちの対応する論理スライスに割り当てられているディスクアレイ内の物理スライスに書き込むための後追い吐き出し処理を行う入出力管理手段とを更に具備し、
前記構成管理手段は、第1の論理スライスに第1の物理スライスが割り当てられている状態で、前記第1の論理スライスに第2の物理スライスが再割り当てされ、しかる後に前記キャッシュメモリに格納されたデータが前記第2の物理スライスに書き込まれた場合、前記第2の物理スライスへのデータの書き込みが完了した後に、前記第1の物理スライスを任意の論理スライスに割り当て可能な未使用状態に設定する
ことを特徴とする請求項2記載のデータ記憶装置。
【請求項4】
前記論理ディスクを構成する論理スライス毎に、当該論理スライスを管理するための第1の管理データであって、当該論理スライスに割り当てられている物理スライスを指し示す第1のポインタ及び当該論理スライスに再割り当てされた物理スライスを指し示す第2のポインタとを含む第1の管理データを保持する論理ディスク管理テーブルと、
前記複数のディスクアレイを構成する物理スライス毎に、当該物理スライスを管理するための第2の管理データであって、当該物理スライスが属するディスクアレイを示すディスクアレイ情報及び当該物理スライスが割り当てられている論理スライスを指し示す第3のポインタを含む第2の管理データを保持するスライス管理テーブルと、
前記複数のディスクアレイを構成する物理スライスのうち、未使用状態にある物理スライスを管理するための第3の管理データであって、当該物理スライスが属するディスクアレイを示すディスクアレイ情報を含む第3の管理データを保持するプール管理テーブルとを更に具備し、
前記構成管理手段は、前記指定された論理スライスに再割り当てすべき前記未使用の物理スライスの前記第3の管理データを前記プール管理テーブルから選択して前記第2の管理データとして前記スライス管理テーブルに登録し直すと共に、前記指定された論理スライスを指し示すように当該登録し直された第2の管理データの前記第3のポインタを設定し、且つ前記指定された論理スライスの前記第1の管理データの前記第2のポインタを前記再割り当てすべき物理スライスを指し示すように設定する
ことを特徴とする請求項3記載のデータ記憶装置。
【請求項5】
前記論理ディスクの作成時、当該論理ディスクの論理スライスの群には物理スライスの群が割り当てられておらず、
前記割り当て要求手段は、前記複数のシーケンシャルライトのそれぞれについて書き込み先となる論理スライスに対する、前記複数のディスクアレイのうちの異なるディスクアレイ内の物理スライスの新規割り当てを、前記書き込み先となる論理スライスと割り当てに用いられるべき物理スライスが属するディスクアレイとを指定することによって前記構成管理手段に要求し、
前記構成管理手段は、前記指定された論理スライスに前記指定されたディスクアレイ内の未使用の物理スライスを新規に割り当てる
ことを特徴とする請求項1記載のデータ記憶装置。
【請求項6】
一定サイズの物理スライスに分割して管理される複数のディスクアレイと、割り当て要求手段と、構成管理手段とを備えたデータ記憶装置におけるスライス割り当て方法であって、
前記論理ディスクに対する複数のシーケンシャルライトの実行時に、前記複数のシーケンシャルライトのそれぞれについて、前記論理ディスク内の書き込み先となる論理スライスに対する、前記複数のディスクアレイのうちの異なるディスクアレイ内の物理スライスの再割り当てまたは新規割り当てを前記割り当て要求手段が前記構成管理手段に要求するステップと、
前記割り当て要求手段による要求に応じて、前記構成管理手段が、前記複数のシーケンシャルライトのそれぞれについて、前記論理ディスク内の書き込み先となる論理スライスに対し、前記複数のディスクアレイのうちの異なるディスクアレイ内の未使用の物理スライスを再割り当てするまたは新規に割り当てるステップと
を具備することを特徴とするスライス割り当て方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2012−14450(P2012−14450A)
【公開日】平成24年1月19日(2012.1.19)
【国際特許分類】
【出願番号】特願2010−150410(P2010−150410)
【出願日】平成22年6月30日(2010.6.30)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(301063496)東芝ソリューション株式会社 (1,478)
【Fターム(参考)】