説明

ディスクアレイ装置

【課題】ホスト装置から開放要求を受信した時に開放可能な物理エクステントを開放することで、記憶容量を効率的に使用することを可能とするディスクアレイ装置を提供する。
【解決手段】記憶領域を複数に分割した物理エクステントを組み合わせることによって、論理ディスクを構成するディスクアレイ装置であって、外部装置から論理エクステントに対する書き込み要求の範囲及び開放要求の範囲を所定数格納する記憶部と、外部装置からの書き込み要求と開放要求とが所定数を超えた場合に、外部装置から開放要求を受信したとき、記憶部に格納された書き込み要求の範囲及び開放要求の範囲に基づいて、開放要求の対象の論理エクステントに対応する物理エクステントが開放可能であるか否かを判定する管理部と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、ディスクアレイ装置に関する
【背景技術】
【0002】
従来、ハードディスクドライブ(HDD)のような記憶装置を複数備え、アレイを構成
しているディスクアレイ装置において、ホスト装置がアクセスを行う論理ボリュームと、
その論理ボリュームを構成する1つ以上の記憶媒体から構成されるアレイとの対応関係は
固定的であって、システムによっては、実際に論理ボリュームとして使用されていない領
域の割合が高くなり、無駄が大きい。
【0003】
そのような問題に対し、アレイの物理領域をエクステントという一定サイズに区切って
管理し、論理ボリュームへのライトアクセスの際に、エクステントを仮想的に割り当てる
ことで、物理容量を削減するシンプロビジョニング(Thin Provisionin
g)という技術がある。
【0004】
シンプロビジョニングでは、物理エクステントの割り当てはホスト装置からの書き込み
を契機に行う。また、不要となった物理エクステントの開放は、ホスト装置からの開放コ
マンドで行う。開放コマンドは、例えばSCSIコマンドのWRITE SAME 16や
UNMAPコマンドである。
【0005】
物理エクステント開放の理想的な方法は、UNMAPコマンドによって示される論理ボ
リュームの記憶領域に対して割り当てられた物理エクステントが1セクタの精度で開放さ
れる方法である。しかしながら、このような方法は、物理エクステントと論理エクステン
トが1セクタの単位で対応付けられているか、ライトされた範囲を全て1セクタ単位で管
理しているかのいずれかを方法を実装しなければならず、膨大な管理情報の記憶領域が必
要であるという問題がある。
【0006】
このような問題に対して、特許文献1に示されるように、UNMAPコマンドにより指
定された記憶領域に0データをライトし、周期処理により物理エクステント内がALL0
であるかチェックを行い、ALL0の物理エクステントを見付けた場合にこの物理領域を
開放する技術がある。しかしながら、この方法では、物理エクステントの一箇所のみにラ
イトデータが存在し、UNMAP要求を受信した際にそのUNMAP範囲が当該ライトデ
ータの範囲であってもすぐに開放して再利用できるわけではない。このように上述の方法
では効率が悪い場合がある。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2008−217689号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明の実施形態が解決しようとする課題は、ホスト装置からの開放要求受信時に物理
エクステントを開放できるようにすることで、記憶装置の記憶容量を効率的に使用するこ
とを可能とするディスクアレイ装置を提供することである。
【課題を解決するための手段】
【0009】
実施形態のディスクアレイ装置は、記憶領域を複数に分割した物理エクステントを組み
合わせることによって、論理ディスクを構成するディスクアレイ装置であって、外部装置
から論理エクステントに対する書き込み要求の範囲及び開放要求の範囲を所定数格納する
記憶部と、外部装置からの書き込み要求と開放要求とが所定数を超えた場合に、外部装置
から開放要求を受信したとき、記憶部に格納された書き込み要求の範囲及び開放要求の範
囲に基づいて、開放要求の対象の論理エクステントに対応する物理エクステントが開放可
能であるか否かを判定する管理部と、を備える。
【図面の簡単な説明】
【0010】
【図1】第1の実施形態に係るディスクアレイ装置の全体構成を示す図。
【図2】第1の実施形態に係るディスクアレイ装置の機能構成を示す図。
【図3】第1の実施形態に係る論理ディスクの概念を示す図。
【図4】第1の実施形態に係る論理エクステント管理データ構造の一例を示す図。
【図5】第1の実施形態に係る物理エクステント管理データ構造の一例を示す図。
【図6】第1の実施形態に係る書き込み/消去範囲管理データ構造の一例を示す図。
【図7】第1の実施形態に係るディスクアレイ装置の動作の一例を示すフローチャート。
【図8】第1の実施形態に係るディスクアレイ装置の動作の一例を示すフローチャート。
【図9】第1の実施形態に係るディスクアレイ装置のゼロライト処理の概念を示す図。
【図10】第2の実施形態2に係る物理エクステント管理データ構造の一例を示す図
【図11】第2の実施形態2に係る書き込み/消去範囲リストの一例を示す図。
【図12】第2の実施形態2に係るフリーリストの一例を示す図
【図13】第2の実施形態に係るディスクアレイ装置の動作の一例を示すフローチャート。
【図14】第2の実施形態に係るディスクアレイ装置の動作の一例を示すフローチャート。
【発明を実施するための形態】
【0011】
本発明の実施形態について図面を参照して説明する。なお、同一の構成には同一の符号
を付与する。
【0012】
(第1の実施形態)
図1は、本実施形態のディスクアレイ装置100の全体構成を示すブロック図である。
図1に示すように、ディスクアレイ装置100は、記録装置20と当該記録装置20を制
御する制御部10とを備える。制御部10は、データ通信路30を介して接続されるホス
ト装置と記録装置20との間に介在して設けられる。
【0013】
記録装置20は、複数のHDD(Hard Disk Drive)21、22で構成さ
れるRAID(Redundant Arrays of Inexpensive Dis
ks)1とRAID2とを含んで構成される。なお、HDD21、22は、SSD(So
lid State Drive)でもよい。また、本実施形態では、RAID1に含まれ
るn個のHDDをHDD21(#1)〜(#n)と示す。同様にRAID2に含まれるn
個のHDDをHDD22(#1)〜(#n)と示す。
【0014】
ここではRAID1とRAID2とに含まれるHDDの個数が同一だが、異なる個数で
も良い。また、記録装置20に含まれるRAIDは2つでなくても良い。また、記録装置
20は、RAIDを構成せず、HDD21(#1)〜HDD21(#n)及びHDD22
(#1)〜(#n)の各記憶領域を連続した1つのRAIDとして構成してもよい。
【0015】
制御部10は、ホストインタフェース部(HOST I/F)11、CPU12、プロ
グラムメモリ13、キャッシュメモリ14、及びHDDインタフェース部(HDD I/
F)15を有している。
【0016】
HOST I/F部11は、外部接続されるホスト装置との間の通信を制御する。すな
わち、HOST I/F部11はデータ通信路30側との通信を制御する。また、HDD
I/F部15は記録装置20側の通信を制御する。
【0017】
CPU12は、プログラムメモリ13に格納されている各種プログラムを実行すること
により、制御部10における機能を実現する。なお、プログラムメモリ13には、上述の
プログラムを格納するための領域に加えて、CPU12が利用するデータ等を格納するた
めの領域も確保されている。
【0018】
キャッシュメモリ14は、データ通信路30を介して接続されるホスト装置または他の
データ記憶装置からディスクアレイ装置100内の記録装置20に対して発行される書き
込み/読み出し要求において、書き込みまたは読み出しされるデータを一時的に格納する

【0019】
なお、ディスクアレイ装置100において、外部の装置、例えばホスト装置からの入力
要求に対する書き込み処理は次のように行われる。まず、入力要求(以下書き込み要求と
いう)で指定された入力データ(以下、書き込みデータという)がキャッシュメモリ14
にエントリされた時点で、要求元のホスト装置に対して書き込み処理完了が通知される。
その後に、キャッシュメモリ14から記録装置20に対する実際のデータ書き込みが実行
される。
【0020】
また、ホスト装置からの読み出し要求に対する読み出し処理は次のように行われる。ま
ず、該当するデータがキャッシュメモリ14にエントリされているか否かが判定され、エ
ントリされていれば、そのデータがキャッシュメモリ14からデータ通信路30を介して
ホスト装置に返される。これに対し、該当するデータがキャッシュメモリ14にエントリ
されていないならば、そのデータが記録装置20からキャッシュメモリ14に読み出され
る。そして、読み出されたデータが要求元のホスト装置に対してデータ通信路30を介し
て送信される。
【0021】
図2に、本実施形態のディスクアレイ装置100の機能ブロック図を示す。図2に示し
た機能は、例えば制御部10のプログラムメモリ13に格納されるプログラムをCPU1
2が読み取って実行することによって実現される。
【0022】
図2に示すように、制御部10は、HOST I/F制御部111、キャッシュメモリ
管理部112、構成管理部113、論理/物理アドレス管理部114、RAID制御部1
15、及びHDD I/F制御部116を備え、記録装置20によって実現される論理デ
ィスク200と接続される。すなわち、論理ディスク200はHDD21(#1)〜(#
n)及びHDD22(#1)〜(#n)によって構成される。
【0023】
なお、本実施形態では論理ディスク200は1つだが、複数の論理ディスク200を構
成してもよい。
【0024】
HOST I/F制御部111は、ディスクアレイ装置100とホスト装置との間のイ
ンタフェース処理を担当する。キャッシュメモリ管理部112は、ホスト装置からキャッ
シュメモリに対するアクセスを管理する。
【0025】
構成管理部113は、論理ディスクとRAIDの構成のマッピングを管理する。例えば
、どのHDDの組み合わせでRAIDが構成されているか、どの論理ディスクにどのRA
IDが所属しているかなどを管理する。また、構成管理部113は、物理アドレスと論理
アドレスを変換するマッピング情報を管理している。マッピング情報は例えばHDD21
(1)にマッピング情報テーブル(図示しない)としてあらかじめ格納され、構成管理部
113よって更新される。
【0026】
論理/物理アドレス管理部114は、論理/物理エクステント管理データ記憶部120
と接続されている。論理/物理アドレス管理部114は、構成管理部113の管理してい
るマッピング情報に基づいて、論理ディスク200におけるアドレス(以下、論理アドレ
スという)とRAID1及び2におけるアドレス(以下、物理アドレスという)の変換を
行う。
【0027】
なお、RAIDのマッピング単位、すなわち、物理的なマッピング単位を物理エクステ
ントと呼ぶ。また、論理ディスクのマッピング単位、すなわち論理的なマッピング単位を
論理エクステントと呼ぶ。
【0028】
すなわち、論理/物理アドレス管理部114は、ホスト装置からアクセスされる論理デ
ィスク200と、HDD21(#1)〜(#n)によって構成されるRAID1及びHD
D22(#1)〜(#n)によって構成されるRAID2との対応関係をエクステント単
位で管理する論理/物理エクステント管理データを作成し、論理/物理エクステント管理
データ記憶部120に記憶する。
【0029】
HDD I/F制御部116は、論理ディスク200に対するホスト装置からのアクセ
スを制御する。
【0030】
ここで、図3を参照して、論理ディスク200の概念について説明する。図3に示すよ
うに、本実施形態に係る論理ディスク200は、HDD21(#1)〜(#n)の記憶領
域を連続した1つの記憶領域として定義するRAID1、もしくは、HDD22(#1)
〜(#n)の記憶領域を連続した1つの記憶領域として定義するRAID2の記憶領域を
一定サイズに分割した物理エクステント201と同一のサイズに分割された論理エクステ
ント211によって構成される。
【0031】
物理エクステント201は、ホスト装置からの書き込み要求を論理ディスク200が受
信した際に、論理/物理エクステント管理部114によって確保される。書き込み要求に
含まれる論理エクステント211と確保された物理エクステント201は対応付けられて
論理/物理エクステント管理記憶部120に記憶される。
【0032】
図3に示すように、本実施形態では、RAID1はm個の物理エクステント201(0
)〜物理エクステント201(m−1)を含む。RAID2はk個の物理エクステント2
01(0)〜物理エクステント201(k−1)を含む。論理ディスク200は、h個の
論理エクステント211(0)〜(h−1)を含む。
【0033】
論理/物理エクステント管理部114はRAID1の物理エクステント201(0)〜
(m−1)及びRAID2の物理エクステント201(0)〜(k−1)と論理エクステ
ント211(0)〜(h−1)との対応関係を管理する。
【0034】
すなわち、論理/物理エクステント管理部114は、当該対応関係を管理するための管
理データ(論理エクステント管理データ130及び物理エクステント管理データ140)
を作成し、論理/物理エクステント管理データ記憶部120に格納する。
【0035】
図4と図5を参照して、論理/物理エクステント管理データ記憶部120に格納された
論理エクステント管理データ130の構造と、物理エクステント管理データ140の構造
について説明する。
【0036】
図4に示すように、論理エクステント管理データ130は、論理ディスク番号131と
、論理エクステント番号132と、物理エクステントポインタ133とから構成されてい
る。論理エクステント番号132は論理エクステントの番号が格納される。物理エクステ
ントポインタ133は後述する物理エクステント管理データ140のアドレスが格納され
る。
【0037】
図3に示した論理ディスク200に含まれる論理エクステント211(0)は、RAI
D1に含まれる物理エクステント201(1)に対応する。本実施形態では論理ディスク
は1つなので、論理ディスク番号131は「1」が格納される。論理エクステント番号1
32は「0」、物理エクステントポインタ133は「1,1」が格納される。なお、物理
エクステントポインタ133の左はRAID番号が格納され、右には物理エクステント番
号が格納される。もしくは、物理エクステントポインタ133はRAID1の物理エクス
テント201(1)を示すアドレスが格納されても良い。
【0038】
また、図3に示した論理ディスク200に含まれる論理エクステント211(h−3)
は、RAID1の物理エクステント201(m−1)と対応する。この場合、論理ディス
ク番号131は「1」、論理エクステント番号132は「h−3」、物理エクステントポ
インタ133は「1,(m−1)」が格納される。
【0039】
また、図3に示した論理ディスク200に含まれる論理エクステント211(h−1)
は、RAID2の物理エクステント201(k−3)と対応する。この場合、論理ディス
ク番号131は「2」、論理エクステント番号132は「h−1」、物理エクステントポ
インタ133は「2,(k−3)」が格納される。
【0040】
すなわち、物理エクステント201が論理エクステント211に割り当てられている場
合は、物理エクステントポインタ133に後述する物理エクステント管理データ140を
指すメモリアドレスが保持されている。物理エクステント201が論理エクステント21
1に割り当てられていない場合は、物理エクステントポインタ133には「NULL」が
保持されている。
【0041】
論理/物理アドレス管理部114は、論理エクステント管理データ130の物理エクス
テントポインタ133に基づいて特定の論理エクステント211に対応する物理エクステ
ント管理データ140を取得する。
【0042】
なお、論理ディスクに何も物理エクステントが割り当てられていない場合は、論理エク
ステント管理データ130に含まれる物理リストポインタ133は全て「NULL」であ
る。ホスト装置からの書き込み要求を受信すると、構成管理部113は、論理エクステン
ト211に物理エクステント201の割り当てを行う。
【0043】
続いて、図5を参照して物理エクステント管理データ140について説明する。図5に
示したように、物理エクステント管理データ140は、RAID番号141、物理エクス
テント番号142、論理エクステントポインタ143、物理エクステント管理フラグ14
4、及び書き込み/消去範囲管理データ145によって構成されている。
【0044】
RAID番号141は、記録装置20を構成する各RAIDの番号を示す。物理エクス
テント番号142は各RAIDに含まれる物理エクステントの番号を示す。論理エクステ
ントポインタ144は、物理エクステント番号142が示す物理エクステントに割り当て
られている論理エクステントを示す。
【0045】
RAID番号141及び物理エクステント番号142に基づいて一意に特定される物理
エクステント201が、論理エクステントポインタ143に格納された論理エクステント
211に対応することを示す。論理エクステント211に物理エクステント201が割り
当てられていない場合、論理エクステントポインタ143は「NULL」である。
【0046】
すなわち、論理/物理アドレス管理部114は、物理エクステント管理データ140の
論理エクステントポインタ143に基づいて特定の物理エクステント201に対応する論
理エクステント211を取得する。
【0047】
物理エクステント管理フラグ144は、後述する書き込み/消去範囲管理データ145
に含まれる書き込み/消去範囲配列146に格納すべきデータ数が、書き込み/消去範囲
管理データ145に含まれる書き込み/消去範囲配列146の個数を超えたかどうかを示
すフラグである。
【0048】
書き込み/消去範囲管理データ145は、s個の配列データである書き込み/消去範囲
配列146[0]〜[s−1]によって構成されている。sは任意の自然数であり、あら
かじめ設定されている。
【0049】
書き込み/消去範囲管理データ145は、ホスト装置からの書き込み要求の範囲もしく
は開放要求の範囲が、それぞれの要求毎に書き込み/消去範囲配列146[0]〜[s−
1]のいずれか1つの配列に格納される。
【0050】
本実施形態では、物理エクステント管理フラグ144が「1」の場合、書き込み/消去
範囲管理データ145に含まれる書き込み/消去範囲配列146がすべて使用中である(
データが格納されている)とする。物理エクステント管理フラグ144が「0」の場合、
書き込み/消去範囲管理データ145に使用中でない書き込み/消去範囲配列146が存
在するとする。
【0051】
すなわち、論理/物理アドレス管理部114は、書き込み/消去範囲管理データ145
を用いてホスト装置からの書き込み要求の範囲もしくは開放要求の範囲を管理する。具体
的には、論理/物理アドレス管理部114は、ホスト装置から書き込み要求もしくは開放
要求を受信すると、書き込み/消去範囲管理データ145に含まれる書き込み/消去範囲
配列146[0]〜[s−1]のうち、未使用の配列に受信した書き込み要求もしくは開
放要求の範囲を格納する。
【0052】
図6を参照して書き込み/消去範囲管理データ145を構成する書き込み/消去範囲配
列146[0]〜[s−1]のデータ構造について説明する。
【0053】
図6に示すように、書き込み/消去範囲管理データ145を構成する書き込み/消去範
囲配列146には、書き込み/消去フラグ147、オフセット148、サイズ149が格
納される。
【0054】
書き込み/消去フラグ147は、この書き込み/消去フラグ147が含まれる書き込み
/消去範囲配列146に格納されるホスト装置からの要求が書き込み要求であるか、開放
要求であるかを示す。例えば書き込み要求の場合、書き込み/消去範囲フラグ146には
「0」が格納される。開放要求の場合、書き込み/消去範囲フラグ146には「1」が格
納される。
【0055】
オフセット148は、このオフセット148が含まれる書き込み/消去範囲配列146
を有する物理エクステント管理データ140の物理エクステント番号142によって特定
される物理エクステント201の先頭アドレスから、当該物理エクステント201におけ
る、このオフセット148が含まれる書き込み/消去範囲配列146に格納された書き込
み要求の範囲もしくは開放要求の範囲の先頭アドレスまでの距離を示す。すなわち、オフ
セット148はホスト装置からの書き込みもしくは消去されるデータの当該物理エクステ
ント201における開始位置のアドレスを示す。
【0056】
サイズ149は、ホスト装置から書き込みもしくは消去されるデータのサイズを示す。
例えばディスクアレイ装置100がホスト装置から書き込み要求を受信した場合、オフセ
ット148には物理エクステント番号142で示される物理エクステント201において
、書き込みを開始する位置のアドレスが格納され、サイズ149には、書き込まれるデー
タのサイズが格納される。
【0057】
また、ディスクアレイ装置100がホスト装置から開放要求を受信した場合、オフセッ
ト148には消去処理を開始する位置が格納され、サイズ149には、消去されるデータ
のサイズが格納される。
【0058】
図7を参照して、ホスト装置から書き込み要求を受信した場合の本実施形態のディスク
アレイ装置100の処理の動作について説明する。
【0059】
ディスクアレイ装置100のHOST I/F制御部111がホスト装置から書き込み
要求を受信すると、論理/物理アドレス管理部114は、論理/物理エクステント管理デ
ータ記憶部120から、この書き込み要求の範囲にあたる論理エクステント211の論理
エクステント管理データ130を抽出する(ステップS10)。検索は、例えはハッシュ
やツリー等に基づいて行われる。
【0060】
続いて、論理/物理アドレス管理部114は、ステップS10で抽出された論理エクス
テント管理データ130に対応する物理エクステント管理データ140に含まれる物理エ
クステントポインタ133がNULLかどうかを確認する(ステップS11)。なお、物
理エクステントポインタ133がNULLであるということは書き込み要求の対象の論理
エクステント211に物理エクステント201が未割り当てであるということである。
【0061】
物理リストポインタ133がNULLでない場合(ステップS11がYes)、すなわ
ち、既にホスト装置からの書き込み対象の論理エクステント211に物理エクステント2
01が割り当て済みである場合は、論理/物理アドレス管理部114は、物理エクステン
ト管理フラグ144をチェックする(ステップS12)。
【0062】
物理エクステント管理フラグ144が「1」であれば(ステップS12がNo)、制御
部10は、ホスト装置からの書き込み要求の範囲に基づいて記録装置20に書き込み処理
をして(ステップS15)終了する。
【0063】
物理エクステント管理フラグ144が「0」である場合(ステップS12がYes)、
論理/物理アドレス管理部114は、論理/物理アドレス管理部114は、割り当てられ
た物理エクステント201の管理データ140に未使用の書き込み/消去範囲配列146
があるかを確認する(ステップS13)。
【0064】
書き込み/消去範囲配列146が全て使用中である場合(ステップS13がNo)、論
理/物理アドレス管理部114は、書き込み/消去範囲管理データ145に含まれる書き
込み/消去範囲配列146に記録されているデータ初期化し、論理エクステント管理デー
タ140の物理エクステント管理フラグ144を1にセットする(ステップS14)。そ
の後、制御部10はホスト装置から受信した書き込み要求に基づいて、記録装置20に書
き込み処理を行い(ステップS15)、処理を終了する。
【0065】
未使用の書き込み/消去範囲配列146がある場合(ステップS13がYes)、論理
/物理アドレス管理部114は、当該未使用の書き込み/消去範囲配列146に、ホスト
装置からの書き込み要求の範囲を格納する(ステップS16)。未使用の書き込み/消去
範囲配列146が複数ある場合は、例えば一番若い書き込み/消去範囲配列146に記録
する。
【0066】
すなわち論理/物理アドレス管理部114は、書き込み/消去範囲配列146のオフセ
ット148に、ホスト装置からの書き込み要求先の論理エクステント211に割り当てら
れた物理エクステント201において、書き込みが行なわれる開始位置のアドレスを格納
する。サイズ149には、ホスト装置からの書き込み要求のデータサイズを格納する。
【0067】
その後、論理/物理アドレス管理部114は、書き込み/消去範囲配列146の書き込
み/消去フラグ147を、当該書き込み/消去配列146に格納されたデータが書き込み
処理のデータであることを示す「0」にセットし(ステップS17)、処理を終了する。
【0068】
物理エクステントポインタ133がNULLである場合(ステップS11がNo)、構
成管理部113は、フリーリスト(図示しない)等で管理された未使用物理エクステント
から1つの物理エクステントを確保する(ステップS18)。構成管理部113は、ステ
ップS12で確認した物理エクステントポインタ133に、ステップS13で確保した物
理エクステントのアドレスをセットする(ステップS19)。
【0069】
その際、論理/物理アドレス管理部114は、論理エクステント管理データ140の物
理エクステント管理フラグ144を「0」にする(ステップS20)。続いて、制御部1
0は、ホスト装置から受信した書き込み要求に基づいて、記録装置20に書き込み処理を
行う(ステップS21)。ステップS21における書き込み処理はステップS15と同様
の処理である。
【0070】
その後、論理/物理アドレス管理部114は、ステップS16及びステップS17の処
理に進み、処理を終了する。
【0071】
次に、図8を参照して、ホスト装置からデータの開放要求を受信した場合の本実施形態
のディスクアレイ装置100の動作について説明する。なお、本実施形態のデータの開放
要求は例えばUNMAPコマンドによって行なわれる。
【0072】
ホスト装置からUNMAPコマンドを受信した論理/物理アドレス管理部114は、UN
MAP範囲の論理エクステント管理データ130を取得する(ステップS30)。
【0073】
論理/物理アドレス管理部114は、取得した論理エクステント管理データ130に対応
する物理エクステント管理データ140に含まれる物理エクステント管理フラグ144が
0か否かをチェックする(ステップS31)。
【0074】
物理エクステント管理フラグ144が「1」である場合(ステップS31がNo)、すな
わち、書き込み/消去範囲管理データ145に含まれる書き込み/消去範囲配列146が
すべて使用中である場合、論理/物理アドレス管理部114は、UNMAP要求先の論理
エクステント211に割り当てられた物理エクステント211におけるUNMAP範囲に
ゼロライト処理を行う(ステップS39)。ゼロライト処理とは、ホスト装置から受信し
たUNMAP要求先の論理エクステント211に割り当てられた物理エクステント211
におけるUNMAP範囲すべてに「0」をライトする処理であり、既知技術のため詳細は
割愛する。
【0075】
物理エクステント管理フラグ144が「0」である場合(ステップS31がYes)、論
理/物理アドレス管理部114は、ステップS30で取得した論理エクステント管理デー
タ130に対応する物理エクステント管理データ140に未使用の書き込み/消去範囲配
列146があるかどうかを確認する(ステップS32)。
【0076】
未使用の書き込み/消去範囲配列146がある場合(ステップS32がYes)、論理/
物理アドレス管理部114は、当該書き込み/消去範囲配列146に、ステップS30で
取得した論理エクステント管理データ130に対応する物理エクステント管理データ14
0の物理エクステント番号133が示す物理エクステント201におけるUNMAP範囲
を格納する(ステップS33)。このとき、論理/物理アドレス管理部114は、該当す
る書き込み/消去範囲配列146の書き込み/消去フラグ147を「1」にする(ステッ
プS34)。
【0077】
ステップS33においてUNMAP範囲を記録後、もしくは、未使用の書き込み/消去範
囲配列146がない場合(ステップS32がNo)、論理/物理アドレス管理部114は
、ステップS30で受信したUNMAPコマンドによって物理エクステント201が開放
可能となったかを確認する(ステップS35)。
【0078】
物理エクステント201が開放可能となったかを確認する方法の概念図を図9に示す。図
9に示すように論理/物理アドレス管理部114は、例えば物理エクステントのセクタ数
分のビット数をもつビットマップを作成し、このビットマップをすべて1に初期化する。
【0079】
論理/物理アドレス管理部114は、書き込み/消去範囲管理データ145の書き込み/
消去範囲配列146を昇順に確認し、書き込み/消去フラグ147が0である場合、すな
わち対象の書き込み/消去範囲に格納された処理が書き込み処理である場合、対応するビ
ットを0に変更する。
【0080】
書き込み/消去フラグ147が1であれば対応するビットは1にする。最後の配列まで確
認を行い、その結果のビットマップがALL1になった場合は物理エクステントを開放可
能であると判定する。
【0081】
例えば、図9に示すような書き込み/消去範囲配列146[0]〜[2]が書き込み/消
去範囲管理データ145に存在するとする。上述のように書き込み/消去範囲配列146
[0]から順に書き込み/消去フラグ147、オフセット148、サイズ149に基づい
てビットマップを変更すると、書き込み/消去範囲配列146[2]を確認し終えた後の
ビットマップには「0」が存在している。このため、図9に示した配列の場合物理エクス
テントは開放可能ではない。
【0082】
図8の説明に戻る。確認の結果、物理エクステント201が開放可能と判定された場合(
ステップS36がYes)、論理/物理アドレス管理部114は、物理エクステント20
1を開放する(ステップS37)。
【0083】
物理エクステント201の開放は、物理/論理アドレス管理部114が、論理エクステン
ト管理データ130内の物理リストポインタをNULLにし、開放した物理エクステント
201の物理エクステント管理データ140をフリーリスト等で実装された、未割り当て
物理エクステント管理方法によるフリー状態に戻すことによって行なわれる。このとき物
理/論理アドレス管理部114は、構成管理部113に物理エクステントの開放要求を送
信する。構成管理部113は受信した開放要求に基づいて、当該物理エクステント201
を開放する。すなわち、構成管理部113は開放要求に基づいて、当該物理エクステント
201が開放された構成をマッピング情報テーブルに保存する。すなわち、当該物理エク
ステント201が未使用であることをマッピングする。
【0084】
物理エクステントが開放可能でない場合(ステップS36がNo)、論理/物理アドレ
ス管理部114は、物理エクステント管理フラグ144に「1」をセットする(ステップ
S38)。その後、論理/物理アドレス管理部114はゼロライト処理を行う(ステップ
S39)。ゼロライト処理は、書き込み/消去範囲管理データ145の配列[0]から[
s−1]を昇順でチェックし、時系列で後のライトによって上書きされた箇所以外の消去
範囲をゼロライトする処理である。このゼロライト処理は、ステップS35におけるエク
ステント開放チェックと同様に物理エクステントのセクタ数分のビットマップを作成し、
初期値をすべて0のビットパターンにして、1が残っている範囲をゼロライトするなどの
方法で実現する。
【0085】
以上、説明したように、本実施形態のディスクアレイ装置100は、ホスト装置から書
き込み要求もしくは開放要求を受信した場合、当該書き込み要求もしくは開放要求先の論
理エクステント211に割り当てられた物理エクステント201の管理データ140内に
未使用の書き込み/消去範囲配列146があれば、当該書き込み/消去範囲配列146に
受信した書き込み要求の範囲もしくは消去要求の範囲を格納する。
【0086】
また、本実施形態のディスクアレイ装置100は、ホスト装置から開放要求を受信した
場合、開放要求先の論理エクステント211に割り当てられた物理エクステント201が
開放可能か否かを判定する。
【0087】
判定の結果、開放可能であれば、構成管理部113が、当該開放要求先の論理エクステ
ント211に割り当てられた物理エクステント201を開放する。
【0088】
すなわち、本実施形態では、物理エクステント201は、物理エクステント201ごと
にあらかじめ設定された所定の数であるs回目までの書き込み要求もしくは開放要求を受
信するまで、受信した書き込み要求もしくは開放要求の範囲を当該物理エクステントの管
理データを用いて管理する。これにより、本実施形態のディスクアレイ装置100は、s
回目までの書き込み要求もしくは開放要求までは、開放要求に同期して物理エクステント
の開放を可能とする。このため、本実施形態のディスクアレイ装置100は、容量効率を
向上することが可能となる。
【0089】
(第2の実施形態)
本発明の第2の実施形態について図面を参照して説明する。なお、第1の実施形態と同
一の構成には同一の符号を付与する。
【0090】
本実施形態のディスクアレイ装置100は、第1の実施形態と機能構成は同一である。
本実施形態のディスクアレイ装置100は、フリーリストを用いた管理方式によって、書
き込み要求の範囲および開放要求の範囲を管理する。すなわち、本実施形態の論理/物理
アドレス管理部114は、フリーリストの管理方式を用いて論理エクステント211及び
物理エクステント201の確保や開放を行なう。すなわち、論理/物理アドレス管理部1
14はアロケータの機能を有する。
【0091】
したがって、論理/物理エクステント管理データ記憶部120に格納される物理エクス
テント管理データの構造が第1の実施形態と異なる。
【0092】
図10に、第2の実施形態における物理エクステント管理データ240の構造を示す。
【0093】
図10に示したように、物理エクステント管理データ240の構造は、RAID番号1
41、物理エクステント番号142、論理エクステントポインタ143、物理エクステン
ト管理フラグ144、書き込み/消去範囲リストポインタ245を含む構造である。
【0094】
RAID番号141、物理エクステント番号142、論理エクステントポインタ143
、物理エクステント管理フラグ144は、実施例1と同様であるため、説明は省略する。
【0095】
書き込み/消去範囲リストポインタ245は、ホスト装置からの書き込み要求もしくは
開放要求によって示される論理エクステント211に割り当てられた物理エクステント2
01において、書き込み範囲もしくは消去範囲を管理するための書き込み/消去範囲リス
ト246示すポインタである。書き込み/消去範囲リスト246のデータ構造を図11に
示す。
【0096】
図11に示すように書き込み/消去範囲リスト246は、ネクストポインタ247、オ
フセット148、サイズ149を含むデータ構造である。オフセット148とサイズ14
9については実施例1と同様であるため、説明は省略する。ネクストポインタ247は、
次の書き込み/消去範囲リスト246を示す。
【0097】
なお、本実施形態で管理する書き込み/消去範囲リスト246の個数は、論理ディスク
200ごとにあらかじめ設定されているとする。ここでは、書き込み/消去範囲リストの
個数をt個とする。
【0098】
図12に書き込み/消去範囲リスト246のうち、未使用のものを管理するフリーリス
ト251を示す。
【0099】
図12に示すように、フリーリスト251には、書き込み要求もしくは開放要求の範囲
が格納されていない、すなわち未使用の書き込み/消去範囲リスト246がリストヘッド
250を先頭にポインタで格納されている。
【0100】
論理/物理アドレス管理部114は、ホスト装置からの書き込み要求もしくは開放要求
を受信すると、フリーリスト251のリストヘッド250のポインタの指す先頭の書き込
み/消去範囲リスト246を確保する。そして、論理/物理アドレス管理部114は確保
した書き込み/消去範囲リスト246をフリーリストから外し、そのネクストポインタ2
47に基づいてリストヘッド250を更新する。確保した書き込み/消去範囲リスト24
6は、物理エクステント管理データ240の書き込み/消去範囲リストポインタを先頭と
するリストの最後尾に繋げる。
【0101】
フリーリスト251に格納された最後の書き込み/消去範囲リスト246のネクストポ
インタ247にはNULLが格納されている。すなわち、論理/物理アドレス管理部11
4は、フリーリスト251のリストヘッド250に格納されたネクストポインタ247が
NULLである場合に、これ以上未使用の書き込み/消去範囲リスト246は無いと判定
する。
【0102】
ここで、図13を参照して、第2の実施形態のディスクアレイ装置100がホスト装置
から書き込み要求を受信した際の処理について説明する。
【0103】
なお、図13に示した処理のうち、図7に示した処理と同様であるステップには同一の
番号を振っており、説明は省略する。そのため、図13のステップS113とステップS
116の処理について説明する。
【0104】
論理/物理アドレス管理部114は、書き込み/消去範囲のフリーリスト251に基づい
て、未使用の書き込み/消去範囲リスト246があるかを判定する(ステップS113)

【0105】
未使用の書き込み/消去範囲リスト246がある場合(ステップS113がYes)、論
理/物理アドレス管理部114は、未使用の書き込み/消去範囲リストをフリーリストか
ら外し、物理エクステント管理データ240のリストに繋げる。ホスト装置から受信した
書き込み要求の範囲を当該書き込み/消去範囲リスト246に格納し(ステップS116
)、書き込み処理を終了する。
【0106】
続いて、図14を参照して、ホスト装置から開放要求を受信した際のディスクアレイ装置
100の動作について説明する。図13と同様に、図14についてもステップS132と
ステップS133の処理について説明する。
【0107】
論理/物理アドレス管理部114は、フリーリスト251に基づいて、未使用の書き込み
/消去範囲リスト246があるか否かを判定する(ステップS132)。未使用の書き込
み/消去範囲リスト246がある場合(ステップS132がYes)、論理/物理アドレ
ス管理部114は、ホスト装置から受信した開放要求先の論理エクステント211に割り
当てられた物理エクステント201におけるUNMAP範囲を、フリーリストから獲得し
物理エクステント管理データ240に繋げた書き込み/消去範囲リスト246に格納する
(ステップS133)。
【0108】
続いて、論理/物理アドレス管理部114は、エクステント開放チェックを行う(ステッ
プS35)。ステップS35以降の処理は図8のステップS35以降の処理と同一である
ため、説明を省略する。
【0109】
なお、未使用の書き込み/消去範囲リスト246がない場合も(ステップS132がNo
)、論理/物理アドレス管理部114は、エクステント開放チェックを行う(ステップS
35)。
【0110】
なお、物理エクステント201あたりの書き込み/消去範囲リスト246のアロケートは
無制限に出来るとしても良いが、多数のライトが要求された場合に、少数の物理エクステ
ントで論理ディスク200あたりに設定されたt個の書き込み/消去範囲リスト246を
使い切る可能性がある。そのため、1つ物理エクステント毎にアロケート可能な書き込み
/消去範囲リスト246の個数に上限値を設けても良い。
【0111】
上述のように、本実施形態では、開放要求に同期して物理エクステント211を開放す
ることが可能となる。また、本実施形態では、フリーリスト方式でホスト装置からの書き
込要求の範囲及び開放要求の範囲を記録し、管理することによって、論理ディスク毎に所
定の回数の書き込み要求と開放要求を管理することが可能となる。このため、ホスト装置
の書き込み要求や開放要求が局所的であっても書き込み/消去範囲リストを管理すること
ができる。これにより記憶領域の使用効率が高いディスクアレイ装置を提供することが可
能である。
【0112】
以上、本発明の実施形態を説明したが、これら実施形態はあくまでも例として提示した
ものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、そ
の他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々
の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲
や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれ
る。
【符号の説明】
【0113】
10…制御部、11、HOST I/F部、12…CPU、13…プログラムメモリ、1
4…キャッシュメモリ、15…HDD I/F部、20…記録装置、21、22…HDD
、30…接続路、100…ディスクアレイ装置

【特許請求の範囲】
【請求項1】
記憶領域を複数に分割した物理エクステントを組み合わせることによって、論理ディス
クを構成するディスクアレイ装置であって、
前記外部装置から前記論理エクステントに対する書き込み要求の範囲及び開放要求の範
囲を所定数格納する記憶部と、
前記外部装置からの前記書き込み要求と前記開放要求とが前記所定数を超えた場合に、
前記外部装置から前記開放要求を受信したとき、前記記憶部に格納された前記書き込み要
求の範囲及び前記開放要求の範囲に基づいて、前記開放要求の対象の論理エクステントに
対応する前記物理エクステントが開放可能であるか否かを判定する管理部と、
を備えるディスクアレイ装置。
【請求項2】
前記記憶部は、前記書き込み/消去範囲配列に格納された前記書き込み要求の範囲及び
前記開放要求の範囲が前記所定数を超えたか否かを示すフラグを記憶する請求項1に記載
のディスクアレイ装置。
【請求項3】
記憶領域を複数に分割した物理エクステントを組み合わせることによって、論理ディス
クを構成するディスクアレイ装置であって、
前記外部装置から前記論理エクステントに対する書き込み要求の範囲及び開放要求の範
囲を所定数格納する管理リストと、当該管理リストのうち書き込み要求の範囲及び開放要
求の範囲が格納されていない管理リストを示すフリーリストとを格納する記憶部と、
前記外部装置からのアクセスが前記フリーリストに格納された管理リスト数を超えた場
合に、前記外部装置から開放要求を受信したとき、前記管理データに基づいて、開放対象
の論理エクステントに対応する前記物理エクステントが開放可能であるか否かを判定する
管理部と、
を備えるディスクアレイ装置。
【請求項4】
前記管理部の判定結果が開放可能な場合に当該物理エクステントを未使用とする開放部
を備える請求項1乃至請求項3のいずれか1項に記載のディスクアレイ装置。

【図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