JP4905810B2 - ストレージ装置、領域割り当て方法、及びプログラム - Google Patents

ストレージ装置、領域割り当て方法、及びプログラム Download PDF

Info

Publication number
JP4905810B2
JP4905810B2 JP2008256756A JP2008256756A JP4905810B2 JP 4905810 B2 JP4905810 B2 JP 4905810B2 JP 2008256756 A JP2008256756 A JP 2008256756A JP 2008256756 A JP2008256756 A JP 2008256756A JP 4905810 B2 JP4905810 B2 JP 4905810B2
Authority
JP
Japan
Prior art keywords
area
disk
data
allocation
policy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008256756A
Other languages
English (en)
Other versions
JP2010086420A (ja
Inventor
貴之 福谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2008256756A priority Critical patent/JP4905810B2/ja
Publication of JP2010086420A publication Critical patent/JP2010086420A/ja
Application granted granted Critical
Publication of JP4905810B2 publication Critical patent/JP4905810B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ストレージ装置に構成された仮想的な論理ディスクの領域割り当て方法、この方法を実行可能なストレージ装置及びプログラムに関する。
複数の物理ディスクの集合によってRAIDを構成し、これを大容量ディスクとして扱い、その中に複数の論理ディスクを作成する、ディスクアレイ装置を代表とするストレージ装置がある。近年、ストレージ装置の分野では、シン・プロビジョニング技術が注目されている。
シン・プロビジョニング技術は、物理ディスク群からディスクプール領域を構成し、ディスクプール領域から論理ディスクを構成するストレージ装置において、論理ディスクの容量を仮想化し、データの書き込みに応じてオンデマンドで領域を割り当てる技術である。そして、シン・プロビジョニング技術は、容量効率、導入/運用の簡易化、エコの観点から需要が増える傾向にある。
但し、従来のシン・プロビジョニング技術を利用していないストレージ装置の運用と比較すると、シン・プロビジョニング技術を利用したストレージ装置では、性能劣化が生じてしまう。よって、性能劣化を防ぐような技術が要件として求められている。この点について以下に説明する。
シン・プロビジョニング技術を利用していない従来からのストレージ装置では、論理ディスクの構成時に物理ディスクの領域が割り当てられる。これに対して、シン・プロビジョニング技術を利用したストレージ装置では、論理ディスクに対するデータの書き込みに応じて領域が割り当てられる。
よって、データの書き込み要求があったタイミングで論理ディスクに対する領域の割り当て状況が確認され、また、未割り当ての領域が存在する場合は、領域を割り当てる動作が必要となる。このため、シン・プロビジョニング技術を利用したストレージ装置では、I/Oレスポンスが劣化するという問題がある。
また、シン・プロビジョニング技術を利用したストレージ装置は、各ホスト計算機から書き込み要求があったタイミングで、領域を確保する。このため、書き込みによる割り当ての順序に従って、各論理ディスクに領域を割り当てるので、ディスクプールの領域が、連続で確保されず断片化される場合がある。そして、このことによっても、I/Oレスポンスが劣化するという問題が生じてしまう。
I/Oレスポンスの劣化を防ぐ技術として、ディスクプール領域から割り当てる論理領域の割り当て単位を論理ディスク毎に指定し、性能が優先される論理ディスクに対しては、割り当て単位を大きくすることで、割り当てた領域の断片化を防ぐ公知の技術がある。しかし、上記の技術では、ディスクプール内に構築された論理ディスクの数だけ割り当て単位の設定が必要になるため、管理コストがかかるという別の問題が生じてしまう。
これらの課題を解決する技術として、特許文献1に開示されている技術が挙げられる。特許文献1に開示された技術では、先ず、割り当て単位の異なる複数のディスクプール領域が作成される。そして、ホスト計算機から論理ディスクに対して書き込み要求があった際に、書き込み要求があったI/Oサイズに応じて、割り当てが行われる最適なディスクプール領域が選択され、割り当てサイズが決定される。このため、特許文献1に開示された技術によれば、性能劣化(I/Oレスポンス)が防止されると考えられる。
特開2007−265270号公報
しかしながら、特許文献1に開示された技術には、以下の問題が存在する。1点目は、運用形態に応じ、一つの論理ディスクに対し異なるI/Oパターンがある場合に、I/Oサイズに応じて割り当てが行われると、最初の書き込み時のI/Oパターンを基準にして割り当てが行われているため、必ずしも最適な割り当てが行われない点である。この場合、I/Oレスポンスの劣化が生じてしまう。
2点目は、I/Oサイズに応じて割り当てが行われ、I/Oサイズが大きい場合に必ず大きなディスクプール領域が割り当てられるため、性能よりも容量効率を重視する運用には、対応できない点である。この場合は、容積効率が低下してしまう。
本発明の目的は、上記問題を解消し、シン・プロビジョニング技術を適用した際に、一つの論理ディスクに対して異なるI/Oパターンが存在している場合のI/Oレスポンスの劣化を低減し、且つ、容積効率の向上を図り得る、ストレージ装置、記憶領域割り当て方法、及びプログラムを提供することにある。
上記目的を達成するため、本発明におけるストレージ装置は、物理ディスク群で形成されたディスクプール内に、仮想的な論理ディスクを構築する、ストレージ装置であって、
外部のホスト計算機からデータの書き込み要求に応じて、前記データを書き込むためのデータ領域を前記ディスクプール内に確保して、前記データの書き込みを行い、且つ、前記データのI/Oパターンを判別する、データ書き込み部と、
前記データ書き込み部による前記データ領域の確保の際に、前記データ書き込み部が、ディスクプール領域の割り当てを要求した場合に、前記論理ディスクに設定されている割り当てポリシーに従って、前記データ領域として使用される前記ディスクプール領域を割り当る、ディスクプール領域割り当て部と、
前記データ書き込み部によって判別された前記I/Oパターンに応じて、前記論理ディスクに設定されている割り当てポリシーを変更する、割り当てポリシー管理部とを備える、ことを特徴とする。
また、上記目的を達成するため、本発明における領域割り当て方法は、物理ディスク群で形成されたディスクプール内に、仮想的な論理ディスクを構築する際にディスクプール領域を割り当てるための、領域割り当て方法であって、
(a)外部のホスト計算機からデータの書き込み要求に応じて、前記データを書き込むためのデータ領域を前記ディスクプール内に確保して、前記データの書き込みを行う、ステップと、
(b)前記データのI/Oパターンを判別する、ステップと、
(c)前記(a)のステップにおける前記データ領域の確保の際に、ディスクプール領域の割り当てが必要となった場合に、前記論理ディスクに設定されている割り当てポリシーに従って、前記データ領域として使用される前記ディスクプール領域を割り当る、ステップと、
(d)前記(a)のステップで判別された前記I/Oパターンに応じて、前記論理ディスクに設定されている割り当てポリシーを変更する、ステップとを備える、ことを特徴とする。
更に、上記目的を達成するため、本発明におけるプログラムは、物理ディスク群で形成されたディスクプール内に、仮想的な論理ディスクを構築する際に、ディスクプール領域の割り当てを、コンピュータに実行させるためのプログラムであって、
前記コンピュータに、
(a)外部のホスト計算機からデータの書き込み要求に応じて、前記データを書き込むためのデータ領域を前記ディスクプール内に確保して、前記データの書き込みを行う、ステップと、
(b)前記データのI/Oパターンを判別する、ステップと、
(c)前記(a)のステップにおける前記データ領域の確保の際に、ディスクプール領域の割り当てが必要となった場合に、前記論理ディスクに設定されている割り当てポリシーに従って、前記データ領域として使用される前記ディスクプール領域を割り当る、ステップと、
(d)前記(a)のステップで判別された前記I/Oパターンに応じて、前記論理ディスクに設定されている割り当てポリシーを変更する、ステップとを実行させる、ことを特徴とする。
以上のように本発明によれば、シン・プロビジョニング技術を適用した際に、一つの論理ディスクに対して異なるI/Oパターンが存在している場合のI/Oレスポンスの劣化を低減できる。また、本発明によれば、容積効率の向上を図ることもできる。
(実施の形態)
以下、本発明の実施の形態におけるストレージ装置、領域割り当て方法、及びプログラムについて、図1〜図10を参照しながら説明する。最初に、本発明の実施の形態におけるストレージ装置の構成について、図1〜図6を用いて説明する。
図1は、本発明の実施の形態におけるストレージ装置の構成を示すブロック図である。図2は、図1に示す論理ディスク領域管理テーブルの一例を示す図である。図3は、図1に示すディスクプール領域管理テーブルの一例を示す図である。図4は、図1に示す割り当てポリシー管理テーブルの一例を示す図である。図5は、図1に示す割り当てポリシー設定テーブルの一例を示す図である。図6は、図1に示すI/Oパターン積算テーブルの一例を示す図である。
図1に示すストレージシステムは、本実施の形態におけるストレージ装置100と、ホスト計算機300と、ホスト計算機310と、ホスト計算機320とで構成される。ストレージ装置100は、シン・プロビジョニング技術を利用している。ストレージ装置100は、物理ディスク群110からディスクプール200を構成し、ディスクプール200内に仮想的な論理ディスク(論理ディスク群120)を構築する。
ホスト計算機300、310、320は、SAN環境でストレージ装置100に接続されている。ホスト計算機300、310、320は、ストレージ装置100上に構築された仮想的な論理ディスク群120を利用する。
また、図1に示すように、ストレージ装置100は、データ書き込み部130と、ディスクプール領域割り当て部140と、割り当てポリシー管理部150とを備えている。このうち、データ書き込み部130は、外部のホスト計算機300、310、320からのデータの書き込み要求に応じて、データを書き込むためのデータ領域をディスクプール200内に確保して、データの書き込みを実行する。また、データ書き込み部130は、データの書き込み要求があると、データのI/Oパターンを判別する。
ディスクプール領域割り当て部140は、データ書き込み部130によるデータ領域の確保の際に、論理ディスク120a〜120cに設定されている割り当てポリシーに従って、データ領域として使用されるディスクプール領域を割り当る。また、ディスクプール領域割り当て部140による割り当ては、データ書き込み部130が、ディスクプール領域の割り当てを要求した場合に行われる。
割り当てポリシー管理部150は、データ書き込み部130によって判別されたI/Oパターン(例えば、シーケンシャルI/OとランダムI/O)に応じて、論理ディスク120a〜120cに設定されている割り当てポリシーを変更する。なお、図1においては、論理ディスクとしては、三つの論理ディスクが示されているが、本実施の形態において、論理ディスクの個数は限定されるものではない。
このように、ストレージ装置100においては、論理ディスクに設定した割り当てポリシーに応じて、ディスクプール領域が割り当てられ、この割り当てポリシーは、I/Oパターンに応じて変更される。よって、ストレージ装置100によれば、一つの論理ディスクに対して異なるI/Oパターンが存在している場合であっても、最適な割り当てが行われ、I/Oレスポンスの劣化が低減される。
また、ストレージ装置100では、I/Oパターンに応じて、割り当てポリシーが設定されるので、I/Oサイズが大きい場合であっても、小さなディスクプール領域を割り当てることができる。よって、ストレージ装置100によれば、容積効率の向上も図られる。
ここで、ストレージ装置100の構成について、更に具体的に説明する。ストレージ装置100は、更に、データ領域再配置部160、論理ディスク領域管理テーブル170、ディスクプール領域管理テーブル180、割り当てポリシー管理テーブル190、I/Oパターン積算テーブル210、及び割り当てポリシー設定テーブル220を備えている。
本実施の形態では、データ書き込み部130は、ホスト計算機300、310、320からデータの書き込み要求があると、先ず、論理ディスク領域管理テーブル170(図2参照)を参照し、データの書き込みが可能な領域(データ領域)の有無を確認する。
図2に示す論理ディスク領域管理テーブル170は、ストレージ装置100が保有するテーブルである。論理ディスク領域管理テーブル170は、論理ディスクID、論理ディスクアドレス、及び割り当て物理ブロックIDを項目として構築されている。つまり、論理ディスク領域管理テーブル170は、仮想的な論理ディスクの一意の番号と、ディスクプール領域が割り当たっている論理ディスクのアドレスと、その論理ディスクに割り当たっている物理ブロックのIDとを一覧にしたテーブルである。
また、論理ディスク120a〜120cに、書き込み可能な領域がない場合は、データ書き込み部130は、ディスクプール200から領域を確保するよう、ディスクプール領域割り当て部140に割り当てを要求する。更に、データ書き込み部130は、ディスクプール領域割り当て部140がディスクプール領域をいずれかの論理ディスク(120a〜120c)に割り当てることにより、データ領域が確保されると、この論理ディスクに対してデータの書き込みを実行する。
また、データ書き込み部130は、本実施の形態では、その後、書き込むデータのI/OサイズとI/Oパターン(アクセス方法)を判別し、I/Oパターン積算テーブル210(図6参照)を更新する。
図6に示すI/Oパターン積算テーブル210は、ストレージ装置100が保有するテーブルである。I/Oパターン積算テーブル210は、I/Oサイズ、I/Oパターン(アクセス方法)、及びディスクプール200に構成される論理ディスク(LD01〜LD03)を項目として構築されている。I/Oパターン積算テーブル210は、論理ディスク毎にデータの書き込みが合った場合のI/Oパターンをカウントして得られた一覧である。
ディスクプール領域割り当て部140は、ストレージ装置100上で動作している。ディスクプール領域割り当て部140は、本実施の形態では、データ書き込み部130からディクスプール領域の割り当て要求を受けると、割り当てポリシー管理テーブル190(図4参照)を参照する。そして、ディスクプール領域割り当て部140は、これを参照しながら各論理ディスク(120a〜120c)に設定されているディスクプール200の割り当てポリシーに従って、データ領域を割り当てる。その後、ディスクプール領域割り当て部140は、論理ディスク領域管理テーブル170(図2参照)とディスクプール領域管理テーブル180(図3参照)とを更新する。
図4に示す割り当てポリシー管理テーブル190は、ストレージ装置100が保有するテーブルである。割り当てポリシー管理テーブル190は、論理ディスクID、割り当てポリシー、割り当てポリシー毎に設定された割り当て単位を項目として構築されている。また、割り当て単位は、一回の割り当て時に割り当て可能なディスクプール領域の大きさを意味している。割り当てポリシー管理テーブル190は、論理ディスク毎に設定された割り当てポリシーと、割り当て単位との組み合わせを一覧にしたテーブルである。
また、図4に示すように、本実施の形態では、割り当てポリシーとして、割り当て単位が異なる、二つの割り当てポリシー(速度重視または容量重視)が設定される。速度重視における割り当て単位は、容量重視における割り当て単位よりも大きく設定されている、各割り当てポリシーと割り当て単位との関係は、図5に示す割り当てポリシー設定テーブル220の通りである。図5に示す割り当てポリシー設定テーブル220は、割り当てポリシーと割り当て単位との組み合わせを一覧にしたテーブルである。
図3に示すディスクプール領域管理テーブル180も、ストレージ装置100が保有するテーブルである。ディスクプール領域管理テーブル180は、物理ブロックID、ディスクプールアドレス、割り当て論理ディスクID、及び割り当てフラグを項目として構築されている。ディスクプール領域管理テーブル180は、物理ディスクIDが、どのアドレスを論理ブロック(120a〜120d)に割り当てられており、物理ディスクを構成する各物理ブロックが割り当て済みであるかどうかを一覧にしたテーブルである。
割り当てポリシー管理部150は、ストレージ装置100上で動作している。割り当てポリシー管理部150は、本実施の形態では、定期的に、I/Oパターン積算テーブル210(図6参照)と、割り当てポリシー管理テーブル190(図4参照)とを参照する。そして、割り当てポリシー管理部150は、I/Oパターンの種類毎に積算された数と、設定された閾値とを比較し、比較結果に基づいて、論理ディスク(120a〜120c)に設定されている割り当てポリシーを変更する。なお、図6において、「★」は、閾値となっていることを示している。
具体的には、割り当てポリシー管理部150は、I/Oパターンの積算数が、予め設定された閾値を上回っている論理ディスクがあった場合は、割り当てポリシーを一時的に変更して、割り当て単位を変更する。例えば、図6に示すLD01の割り当てポリシーが容量重視に設定されている場合に、I/Oサイズが1以下で、I/Oパターンがランダムに設定された「I/O」の積算数が、閾値の「25」となったとする。この場合、割り当てポリシー管理部150はLD01の割り当てポリシーを速度重視に変更し、割り当て単位を大きくする。この結果、I/Oレスポンスの低下が抑制される。変更後、割り当てポリシー管理部150は、割り当てポリシー管理テーブル190を更新する。
また、割り当てポリシー管理部150は、I/Oパターンの積算数が閾値を下回った場合は、論理ディスクの割り当てポリシーを再度変更して、割り当て単位を元に戻す。その後、割り当てポリシー管理部150は、割り当てポリシー管理テーブル190を再度更新する。
データ領域再配置部160は、ストレージ装置100上で動作し、定期的に論理ディスク領域管理テーブル170(図2参照)と割り当てポリシー管理テーブル190(図4参照)とを参照し、ディスクプール領域を使用するデータ領域を再配置する。
データ領域再配置部160は、割り当てポリシーが速度重視に設定されている論理ディスクの場合、不連続の複数の物理ブロックそれぞれに割り当てられている複数のデータ領域が、連続する複数の物理ブロックそれぞれに割り当てられるように、複数のデータ領域を再配置する、
具体的には、データ領域再配置部160は、割り当てポリシーが速度重視に設定されている場合、データ領域として、論理ディスクの物理ブロックIDが不連続に割り当てられ、更に、連続化可能な割り当て単位が存在するかどうか判定する。存在する場合は、データ領域再配置部160は、ディスクプール領域割り当て部140にディスクプール領域の割り当てを要求する。そして、データ領域再配置部160は、割り当てた領域に、元のデータをコピーし、コピー前のデータ領域を削除することで、不連続なデータ領域を連続なデータ領域とする。
また、データ領域再配置部160は、割り当てポリシーが容量重視に設定されている論理ディスクの場合、連続している複数の物理ブロックそれぞれに割り当てられている各データ領域中に、解放可能な領域が存在するかどうかを判定する。そして、解放可能な領域が存在する場合は、データ領域再配置部160は、これをディスクプール領域とする。
具体的には、データ領域再配置部160は、割り当てポリシーが容量重視に設定されている場合において、速度重視の場合の割り当て単位でデータ領域が連続で割り当たっている、物理ブロックIDを判定の対象とする。そして、データ領域再配置部160は、判定の対象となるデータ領域を、容量重視の場合の割り当て単位で分割し、この場合に解放できるディスクプール領域が存在するかどうかを判定する。そして、存在している場合は、データ領域再配置部160は、その領域を解放しディスクプール200に戻すことで、その領域を再利用可能にする。
次に、ストレージ装置100の各部の機能について、各部の連係を中心に、時系列に沿って説明する。先ず、ディスクプール200に仮想的な論理ディスク群120が構築される。この場合、ストレージ装置100のディスクプール領域割り当て部140は、構築した仮想的な論理ディスク(120a〜120c)毎に割り当てポリシーを設定する。
新しい仮想的な論理ディスク群120に対し、ホスト計算機300、310、320からデータの書き込みが実施されると、データ書き込み部130は、ディスクプール領域管理テーブル180(図3参照)を参照する。そして、データ書き込み部130は、書き込み可能なディスクプール領域の有無を判定する。
書き込むためのディスクプール領域が存在しない場合は、データ書き込み部130は、ディスクプール領域割り当て部140に対して、ディスクプール領域の割り当てを要求する。ディスクプール領域の割り当て要求を受けたディスクプール領域割り当て部140は、割り当てポリシー管理テーブル190(図4参照)を参照し、割り当てポリシーに設定されている割り当て単位分のディスクプール領域を割り当てる。
ディスクプール領域の割り当てが実施されると、ディスクプール領域割り当て部140は、ディスクプール領域管理テーブル180(図3参照)と、論理ディスク領域管理テーブル170(図2参照)とを更新する。そして、ディスクプール領域割り当て部140は、ディスクプール領域を割り当てたことを、データ書き込み部130に通知する。
ディスクプール領域割り当て部140から領域を確保したことを受け、データ書き込み部130は、確保された領域にデータを書き込む。そして、データ書き込み部130は、書き込みを行ったデータのI/Oサイズや、I/Oパターン(アクセス方法)を含む特性をI/Oパターン積算テーブル210に登録する。
また、ストレージ装置100が上述した動作を行うと同時に、割り当てポリシー管理部150が、定期的にI/Oパターン積算テーブル210を監視する。割り当てポリシー管理部150は、積算数の閾値の設定を含むI/Oパターンの判別方法を用いて、予め設定された割り当てポリシーがI/Oパターンと整合しなくなり、更に、I/Oパターンに起因して閾値変更の必要性が生じているかどうかを判定する。閾値変更の必要性が生じている場合は、割り当てポリシー管理部150は、割り当てポリシー管理テーブル190の割り当て単位を一時的に変更する。
更に、割り当て単位が一時的に変更された状態で、積算数が閾値を下回った場合は、割り当てポリシー管理部150は、割り当て単位を元に戻す動作を実行する。また、割り当てポリシー管理部150は、定期的にI/Oパターン積算テーブル210をリセットする。
また、データ領域再配置部160は、定期的に動作する。そして、データ領域再配置部160は、論理ディスク(120a〜120c)の割り当てポリシーが速度重視であり、論理ディスク(120a〜120c)の物理ブロックIDが不連続に割り当てられ、連続化可能な割り当て単位がある場合は、連続な物理ブロックをデータ領域に割り当て、データを再配置する。
更に、データ領域再配置部160は、論理ディスクの割り当てポリシーが容量重視である場合に、速度重視のときの割り当て単位でデータ領域が連続で割り当てられた物理ブロックIDが存在するかどうか判定する。存在する場合は、データ領域再配置部160は、容量重視のときの割り当て単位で分割すると、ディスクプール領域として解放できるデータ領域が存在するかどうかを更に判定する。存在する場合は、データ領域再配置部160は、このデータ領域を元のディスクプール領域に戻し、最適なディスクプール運用が実施可能となる。
次に、本発明の実施の形態における領域割り当て方法について図7〜図10を用いて説明する。本実施の形態における領域割り当て方法は、図1に示した本実施の形態におけるストレージ装置を動作させることによって実施される。このため、本実施の形態における領域割り当て方法は、適宜図1〜図6を参酌しながら、ストレージ装置100の動作と共に説明する。
図7は、ストレージ装置を構成するデータ書き込み部の動作を示すフロー図である。図8は、ストレージ装置を構成するディスクプール領域割り当て部の動作を示すフロー図である。図9は、ストレージ装置を構成する割り当てポリシー管理部の動作を示すフロー図である。図10は、ストレージ装置を構成するデータ領域再配置部の動作を示すフロー図である。
最初に、図7を用いて、データ書き込み部130による処理について説明する。データ書き込み部130は、ホスト計算機300、310、320からのデータ書き込み要求を受けると、動作する。そして、図7に示すように、データ書き込み部130は、論理ディスク領域管理テーブル170を参照(S22)し、データの書き込み要求があった論理ディスクに書き込みを行うためのディスクプール領域があるかどうかを確認する(S24)。
ステップS24において、データの書き込む領域がないことを判断した、データ書き込み部130は、ディスクプール領域割り当て部140に対し、データを書き込むためのディスクプール領域の割り当て要求を行う(S26)。
次に、データ書き込み部130は、ディスクプール領域割り当て部140より、データ書き込むためのディスクプール領域を確保した通知を受けると、論理ディスクに対し、データの書き込みを実施する。(S28)
その後、データの書き込みを完了したデータ書き込み部130は、書き込みを行ったデータのI/O特性をI/Oパターン積算テーブル210に追加し(S30)、処理を終了する。
続いて、図8を用いて、ディスクプール領域割り当て部140による処理について説明する。ディスクプール領域割り当て部140は、データ書き込み部130によるディスクプール領域の割り当て要求(S26)、又は、後述するデータ領域再配置部160によるディスクプール領域の割り当て要求が行われると、動作を開始する。
図8に示すように、先ず、ディスクプール領域割り当て部140は、ディスクプール領域の割り当て要求を受けると、割り当てポリシー管理テーブル190を参照する(S42)。次に、ディスクプール領域割り当て部140は、要求があった論理ディスクに設定されている割り当てポリシーに従い、これに、ディスクプール領域を割り当てる(S44)。
次に、領域を割り当てたディスクプール領域割り当て部140は、論理ディスク領域管理テーブル170(図2参照)とディスクプール領域管理テーブル180(図3参照)とを更新する(S46)。そして、ディスクプール領域割り当て部140は処理を終了する。
続いて、図9を用いて、割り当てポリシー管理部150による処理について説明する。割り当てポリシー管理部150は、利用者からの要求に応じて、または定期的に動作を行う。
図9に示すように、先ず、割り当てポリシー管理部150は、I/Oパターン積算テーブル210(図6参照)と割り当てポリシー管理テーブル190(図4参照)とを参照する(S62)。次に、割り当てポリシー管理部150は、I/Oパターン積算テーブル210に設定された閾値を上回っている論理ディスクの有無を確認する(S64)。
I/Oパターン積算テーブル210に設定された閾値を上回る論理ディスクが存在する場合、割り当てポリシー管理部150は、割り当て単位を変更し(S66)、割り当てポリシー管理テーブル190を更新する(S68)。
続いて、図10を用いてデータ領域再配置部160による処理について説明する。データ領域再配置部160は、利用者からの要求に応じて、または定期的に動作を行う。図10に示すように、先ず、データ領域再配置部160は、論理ディスク領域管理テーブル170(図2参照)と割り当てポリシー管理テーブル190(図4参照)とを参照する(S82)。次に、データ領域再配置部160は、論理ディスク毎に割り当てポリシーが速度重視か容量重視かを判断する(S84)。
ステップS84で論理ディスクの割り当てポリシーが速度重視に設定されている場合、データ領域再配置部160は、論理ディスク内に、連続していない物理ブロックが、速度重視の割り当てポリシーに設定された割り当て単位の分だけ存在しているかを確認する(S86)。
ステップS86で存在していない場合は、データ領域再配置部160は、再配置できる領域がないと判断し、動作を停止、処理を終了する。一方、ステップS86で存在している場合は、データ領域再配置部160は、連続していない物理ブロックを連続化することができると判断し、ディスクプール領域割り当て部140にディスクプール領域の割り当て要求を行う(S88)。
そして、データ領域再配置部160は、割り当てた領域にデータをコピーすることで、データを不連続な物理ブロックから連続な物理ブロックに再配置する(S90)。ステップS90による再配置の完了後、データ領域再配置部160は、再配置前のデータ領域を解放し、ディスクプール領域に戻す(S92)。そして、データ領域再配置部160は、論理ディスク領域管理テーブル170を更新し(S94)、処理を終了する。
また、ステップS84で論理ディスクの割り当てポリシーが容量重視に設定されている場合、データ領域再配置部160は、連続して確保されている物理ブロックに解放可能な領域が存在するかどうかを確認する(S96)。具体的には、データ領域再配置部160は、連続した物理ブロックを容量重視の割り当てポリシーに設定された割り当て単位にて分割した際に、解放できる領域があるかどうかを確認する。
ステップS96で解放可能な物理ブロックが存在する場合は、データ領域再配置部160は、解放可能な物理ブロックを解放し、ディスクプール領域に戻し(S98)、論理ディスク領域管理テーブル170を更新する(S100)。一方、ステップS96で解放できる領域が存在しない場合は、データ領域再配置部160は、動作を停止し、処理を終了する。
また、本実施の形態におけるプログラムは、コンピュータに、図7に示すステップS22〜S30、図8に示すステップS42〜S46、図9に示すステップS62〜S68、図10に示すステップS82〜S100を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行すると、コンピュータは、ストレージ装置100として機能する。この場合、コンピュータのCPU(central processing unit)は、データ書き込み部130、ディスクプール領域割り当て部140、割り当てポリシー管理部150、データ領域再配置部160部として機能し、処理を行なう。
更に、本実施の形態では、論理ディスク領域管理テーブル170、ディスクプール領域管理テーブル180、割り当てポリシー管理テーブル190、I/Oパターン積算テーブル210、及び割り当てポリシー設定テーブル220は、コンピュータに備えられたハードディスク等の記憶装置に、これらを構成するデータファイルを格納することによって、実現できる。また、これらのテーブルは、データファイルが格納された記録媒体をコンピュータと接続された読取装置に搭載することによっても実現できる。
以上のように本実施の形態によれば、以下の効果を得ることができる。先ず、本実施の形態では、一つの論理ディスクに対し異なるI/Oパターンがある場合でも、論理ディスクに設定した割り当てポリシーに応じて、ディスクプールの領域の割り当てサイズが割り当てられる。よって、本実施の形態によれば、シーケンシャルI/Oの多い論理ディスクに対しては、大きな割り当て単位の領域を割り当てることができるので、領域の断片化が抑制され、シーケンシャルI/Oのレスポンスの劣化が低減される。
つまり、本実施の形態におけるストレージ装置100は、データ書き込み時のI/Oサイズと共に、I/Oパターン(例えば、シーケンシャルI/OとランダムI/O)を判別できる。そして、論理ディスクに対する割り当てポリシーの設定により、シーケンシャルI/Oには、割り当てポリシーに応じた割り当て単位での割り当てが可能となるからである。
また、本実施の形態では、論理ディスクに設定した割り当てポリシーに応じて、ディスクプールの領域の割り当てサイズを選択することによる容量効率の向上が可能となる。つまり、論理ディスク毎に、容量優先か速度優先かの割り当てポリシーを設定しておき、容量を優先する場合は、I/Oサイズの大きい場合でも、小さいサイズでデータ領域が割り当てられ、不要な割り当てが行われないからである。
更に、本実施の形態では、論理ディスクに設定した割り当てポリシーは、論理ディスクに書き込まれるデータのI/Oサイズ及びI/Oパターンによって切り替えられるため、論理ディスク毎に割り当て単位を設定する場合の管理コストが低減される。
また、本実施の形態は、速度重視に設定された論理ディスクに対して、不連続な物理ブロックが割り当てられている場合は、連続な物理ブロックにデータ領域を再配置して、シーケンシャルI/Oのレスポンスの劣化を低減することができる。
更に、本実施の形態は、割り当てポリシーが容量重視に設定された論理ディスクに対して、連続した大きな割り当て単位が割り当てられている場合は、物理ブロックを容量重視の割り当て単位まで分割することができる。これにより、未使用領域があった場合は、領域を解放して、ディスクプールに戻すことができるので、容量効率の向上が図られる。
以上のように、本発明は、ストレージ装置、これを利用したストレージシステムに適用でき、産業上の利用可能性を有している。
図1は、本発明の実施の形態におけるストレージ装置の構成を示すブロック図である。 図2は、図1に示す論理ディスク領域管理テーブルの一例を示す図である。 図3は、図1に示すディスクプール領域管理テーブルの一例を示す図である。 図4は、図1に示す割り当てポリシー管理テーブルの一例を示す図である。 図5は、図1に示す割り当てポリシー設定テーブルの一例を示す図である。 図6は、図1に示すI/Oパターン積算テーブルの一例を示す図である。 図7は、ストレージ装置を構成するデータ書き込み部の動作を示すフロー図である。 図8は、ストレージ装置を構成するディスクプール領域割り当て部の動作を示すフロー図である。 図9は、ストレージ装置を構成する割り当てポリシー管理部の動作を示すフロー図である。 図10は、ストレージ装置を構成するデータ領域再配置部の動作を示すフロー図である。
符号の説明
100 ストレージ装置
110 物理ディスク群
120 論理ディスク群
120a、120b、120c 論理ディスク
130 データ書き込み部
140 ディスクプール領域割り当て部
150 割り当てポリシー管理部
160 データ領域再配置部
170 論理ディスク領域管理テーブル
180 ディスクプール領域管理テーブル
190 割り当てポリシー管理部
200 ディスクプール
210 I/Oパターン積算テーブル
220 割り当てポリシー設定テーブル
300、310、320 ホスト計算機

Claims (15)

  1. 物理ディスク群で形成されたディスクプール内に、仮想的な論理ディスクを構築する、ストレージ装置であって、
    外部のホスト計算機からデータの書き込み要求に応じて、前記データを書き込むためのデータ領域を前記ディスクプール内に確保して、前記データの書き込みを行い、且つ、前記データのI/Oパターンを判別する、データ書き込み部と、
    前記データ書き込み部による前記データ領域の確保の際に、前記データ書き込み部が、ディスクプール領域の割り当てを要求した場合に、前記論理ディスクに設定されている割り当てポリシーに従って、前記データ領域として使用される前記ディスクプール領域を割り当る、ディスクプール領域割り当て部と、
    前記データ書き込み部によって判別された前記I/Oパターンに応じて、前記論理ディスクに設定されている割り当てポリシーを変更する、割り当てポリシー管理部とを備える、ことを特徴とするストレージ装置。
  2. 前記割り当てポリシーとして、一回の割り当て時に割り当て可能な前記ディスクプール領域の大きさが異なる、第1のポリシーまたは第2のポリシーが設定され、
    前記第1のポリシーにおいて一回の割り当て時に割り当て可能な前記ディスクプール領域は、前記第2のポリシーにおいて一回の割り当て時に割り当て可能な前記ディスクプール領域よりも大きく設定されている、請求項1に記載のストレージ装置。
  3. 前記データ書き込み部が、前記I/Oパターンの判別の度に、判別された前記I/Oパターンの数をその種類毎に積算し、
    前記割り当てポリシー管理部が、前記I/Oパターンの種類毎に積算された数と、設定された閾値とを比較し、比較結果に基づいて、前記論理ディスクに設定されている割り当てポリシーを変更する、請求項1または2に記載のストレージ装置。
  4. 前記論理ディスクが複数構築され、前記物理ディスクが複数の物理ブロックを有し、
    当該ストレージ装置が、更に、前記ディスクプール領域を使用する前記データ領域を再配置するデータ領域再配置部を備え、
    前記データ領域再配置部は、前記第1のポリシーが設定されている論理ディスクに対しては、連続していない複数の物理ブロックそれぞれに割り当てられている複数のデータ領域が、連続する複数の物理ブロックそれぞれに割り当てられるように、前記複数のデータ領域を再配置する、請求項1〜3のいずれかに記載のストレージ装置。
  5. 前記データ領域再配置部が、前記第2のポリシーが設定されている論理ディスクに対しては、連続している複数の物理ブロックそれぞれに割り当てられている各データ領域中に、解放可能な領域が存在するかどうかを判定し、解放可能な領域が存在する場合は、これをディスクプール領域とする、請求項4に記載のストレージ装置。
  6. 物理ディスク群で形成されたディスクプール内に、仮想的な論理ディスクを構築する際にディスクプール領域を割り当てるための、領域割り当て方法であって、
    (a)外部のホスト計算機からデータの書き込み要求に応じて、前記データを書き込むためのデータ領域を前記ディスクプール内に確保して、前記データの書き込みを行う、ステップと、
    (b)前記データのI/Oパターンを判別する、ステップと、
    (c)前記(a)のステップにおける前記データ領域の確保の際に、ディスクプール領域の割り当てが必要となった場合に、前記論理ディスクに設定されている割り当てポリシーに従って、前記データ領域として使用される前記ディスクプール領域を割り当る、ステップと、
    (d)前記(a)のステップで判別された前記I/Oパターンに応じて、前記論理ディスクに設定されている割り当てポリシーを変更する、ステップとを備える、ことを特徴とする領域割り当て方法。
  7. 前記割り当てポリシーとして、一回の割り当て時に割り当て可能な前記ディスクプール領域の大きさが異なる、第1のポリシーまたは第2のポリシーが設定され、
    前記第1のポリシーにおいて一回の割り当て時に割り当て可能な前記ディスクプール領域は、前記第2のポリシーにおいて一回の割り当て時に割り当て可能な前記ディスクプール領域よりも大きく設定されている、請求項6に記載の領域割り当て方法。
  8. (e)前記(a)のステップにおける判別の度に、判別された前記I/Oパターンの数をその種類毎に積算する、ステップを、更に備え、
    前記(b)のステップにおいて、前記(e)のステップで、種類毎に積算された前記I/Oパターンの数と、設定された閾値とを比較し、比較結果に基づいて、前記論理ディスクに設定されている割り当てポリシーを変更する、請求項6または7に記載の領域割り当て方法。
  9. 前記論理ディスクが複数構築され、前記物理ディスクが複数の物理ブロックを有し、
    (f)前記ディスクプール領域を使用する前記データ領域を再配置する、ステップを、更に備え、
    前記(f)のステップにおいて、前記第1のポリシーが設定されている論理ディスクに対しては、連続していない複数の物理ブロックそれぞれに割り当てられている複数のデータ領域が、連続する複数の物理ブロックそれぞれに割り当てられるように、前記複数のデータ領域を再配置する、請求項6〜8のいずれかに記載の領域割り当て方法。
  10. 前記(f)のステップにおいて、前記第2のポリシーが設定されている論理ディスクに対しては、連続している複数の物理ブロックそれぞれに割り当てられている各データ領域中に、解放可能な領域が存在するかどうかを判定し、解放可能な領域が存在する場合は、これをディスクプール領域とする、請求項9に記載の領域割り当て方法。
  11. 物理ディスク群で形成されたディスクプール内に、仮想的な論理ディスクを構築する際に、ディスクプール領域の割り当てを、コンピュータに実行させるためのプログラムであって、
    前記コンピュータに、
    (a)外部のホスト計算機からデータの書き込み要求に応じて、前記データを書き込むためのデータ領域を前記ディスクプール内に確保して、前記データの書き込みを行う、ステップと、
    (b)前記データのI/Oパターンを判別する、ステップと、
    (c)前記(a)のステップにおける前記データ領域の確保の際に、ディスクプール領域の割り当てが必要となった場合に、前記論理ディスクに設定されている割り当てポリシーに従って、前記データ領域として使用される前記ディスクプール領域を割り当る、ステップと、
    (d)前記(a)のステップで判別された前記I/Oパターンに応じて、前記論理ディスクに設定されている割り当てポリシーを変更する、ステップとを実行させる、ことを特徴とするプログラム。
  12. 前記割り当てポリシーとして、一回の割り当て時に割り当て可能な前記ディスクプール領域の大きさが異なる、第1のポリシーまたは第2のポリシーが設定され、
    前記第1のポリシーにおいて一回の割り当て時に割り当て可能な前記ディスクプール領域は、前記第2のポリシーにおいて一回の割り当て時に割り当て可能な前記ディスクプール領域よりも大きく設定されている、請求項11に記載のプログラム。
  13. (e)前記(a)のステップにおける判別の度に、判別された前記I/Oパターンの数をその種類毎に積算する、ステップを、更に前記コンピュータに実行させ、
    前記(b)のステップにおいて、前記(e)のステップで、種類毎に積算された前記I/Oパターンの数と、設定された閾値とを比較し、比較結果に基づいて、前記論理ディスクに設定されている割り当てポリシーを変更する、請求項11または12に記載のプログラム。
  14. 前記論理ディスクが複数構築され、前記物理ディスクが複数の物理ブロックを有し、
    (f)前記ディスクプール領域を使用する前記データ領域を再配置する、ステップを、更に前記コンピュータに実行させ、
    前記(f)のステップにおいて、前記第1のポリシーが設定されている論理ディスクに対しては、連続していない複数の物理ブロックそれぞれに割り当てられている複数のデータ領域が、連続する複数の物理ブロックそれぞれに割り当てられるように、前記複数のデータ領域を再配置する、請求項11〜13のいずれかに記載のプログラム。
  15. 前記(f)のステップにおいて、前記第2のポリシーが設定されている論理ディスクに対しては、連続している複数の物理ブロックそれぞれに割り当てられている各データ領域中に、解放可能な領域が存在するかどうかを判定し、解放可能な領域が存在する場合は、これをディスクプール領域とする、請求項14に記載のプログラム。
JP2008256756A 2008-10-01 2008-10-01 ストレージ装置、領域割り当て方法、及びプログラム Expired - Fee Related JP4905810B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008256756A JP4905810B2 (ja) 2008-10-01 2008-10-01 ストレージ装置、領域割り当て方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008256756A JP4905810B2 (ja) 2008-10-01 2008-10-01 ストレージ装置、領域割り当て方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2010086420A JP2010086420A (ja) 2010-04-15
JP4905810B2 true JP4905810B2 (ja) 2012-03-28

Family

ID=42250283

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008256756A Expired - Fee Related JP4905810B2 (ja) 2008-10-01 2008-10-01 ストレージ装置、領域割り当て方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP4905810B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5079841B2 (ja) * 2010-04-15 2012-11-21 株式会社日立製作所 ThinProvisioningに従う仮想的な論理ボリュームに対するデータのライトを制御する方法及びストレージ装置
JP5614213B2 (ja) * 2010-10-01 2014-10-29 日本電気株式会社 記憶領域提供装置、記憶領域提供方法、及び、記憶領域提供プログラム
CN101976223B (zh) * 2010-10-09 2012-12-12 成都市华为赛门铁克科技有限公司 自动精简配置方法和装置
US9552160B2 (en) 2011-06-27 2017-01-24 International Business Machines Corporation Preserving data availability and I/O performance when creating virtual raid volumes
JP5849794B2 (ja) 2012-03-16 2016-02-03 富士通株式会社 ストレージ制御装置、ストレージ制御方法、及びストレージ制御プログラム
WO2014002162A1 (ja) 2012-06-25 2014-01-03 富士通株式会社 ストレージ制御装置、情報処理装置、ストレージ制御プログラム、及びストレージ制御方法
JP5355764B2 (ja) * 2012-08-29 2013-11-27 株式会社日立製作所 ThinProvisioningに従う仮想的な論理ボリュームに対するデータのライトを制御する方法及びストレージ装置
JP2016012166A (ja) 2014-06-27 2016-01-21 富士通株式会社 ストレージ管理装置,ストレージ管理プログラム,及び制御方法
JP7027947B2 (ja) * 2018-02-22 2022-03-02 オムロン株式会社 I/o管理装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7814128B2 (en) * 2003-05-30 2010-10-12 Symantec Operating Corporation Multi-volume file support
JP2006146661A (ja) * 2004-11-22 2006-06-08 Nec Corp レプリケーションシステム、方法、レプリカストレージ、およびプログラム
JP4890033B2 (ja) * 2006-01-19 2012-03-07 株式会社日立製作所 記憶装置システム及び記憶制御方法
JP4927412B2 (ja) * 2006-02-10 2012-05-09 株式会社日立製作所 記憶制御方法及びその制御方法

Also Published As

Publication number Publication date
JP2010086420A (ja) 2010-04-15

Similar Documents

Publication Publication Date Title
JP4905810B2 (ja) ストレージ装置、領域割り当て方法、及びプログラム
EP3869316B1 (en) Hybrid storage
JP4684864B2 (ja) 記憶装置システム及び記憶制御方法
JP6286478B2 (ja) 記憶デバイスおよび記憶空間割当方法
KR102170539B1 (ko) 저장 장치에 의해 데이터를 저장하기 위한 방법 및 저장 장치
EP3617867B1 (en) Fragment management method and fragment management apparatus
US20140254042A1 (en) Dynamic allocation of lba to un-shingled media partition
WO2013018132A1 (en) Computer system with thin-provisioning and data management method thereof for dynamic tiering
US8751547B2 (en) Multiple file system and/or multi-host single instance store techniques
US9201787B2 (en) Storage device file system and block allocation
JP6459644B2 (ja) ストレージ制御装置、制御システム及び制御プログラム
US20070204119A1 (en) Storage control device, and data migration method using storage control device
WO2018050006A1 (zh) 在基于闪存的存储介质中写入存储数据的方法和装置
JP2008015769A (ja) ストレージシステム及び書き込み分散方法
JP4992835B2 (ja) ディスク記憶装置およびプログラム
JP2010009548A (ja) 記憶装置、制御装置、記憶システム、および記憶方法
CN103294604A (zh) 闪存器件和使用闪存器件的电子设备
CN103761053A (zh) 一种数据处理方法和装置
CN115686385B (zh) 一种数据存储方法、装置、计算机设备及存储介质
KR20110087272A (ko) 볼륨 조각 할당 방법, 볼륨 조각 할당 시스템 및 raid
US9547450B2 (en) Method and apparatus to change tiers
KR102063281B1 (ko) 파일에 접근하기 위한 방법과 장치, 및 저장 시스템
JP5594647B2 (ja) ストレージ装置及びその制御方法
US11144445B1 (en) Use of compression domains that are more granular than storage allocation units
Khouzani et al. Architecting data placement in SSDs for efficient secure deletion implementation

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111215

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111228

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150120

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4905810

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees