JP4139675B2 - 仮想ボリュームの記憶領域割当方法、その装置及びプログラム - Google Patents

仮想ボリュームの記憶領域割当方法、その装置及びプログラム Download PDF

Info

Publication number
JP4139675B2
JP4139675B2 JP2002330323A JP2002330323A JP4139675B2 JP 4139675 B2 JP4139675 B2 JP 4139675B2 JP 2002330323 A JP2002330323 A JP 2002330323A JP 2002330323 A JP2002330323 A JP 2002330323A JP 4139675 B2 JP4139675 B2 JP 4139675B2
Authority
JP
Japan
Prior art keywords
size
storage area
area
allocated
free
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
JP2002330323A
Other languages
English (en)
Other versions
JP2004164370A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2002330323A priority Critical patent/JP4139675B2/ja
Priority to US10/607,027 priority patent/US7143262B2/en
Publication of JP2004164370A publication Critical patent/JP2004164370A/ja
Application granted granted Critical
Publication of JP4139675B2 publication Critical patent/JP4139675B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ストレージ仮想化システムにおいて仮想ボリュームに対する実ストレージ領域の割り当て技術に関する。
【0002】
【従来の技術】
ホスト計算機とネットワークで接続されたストレージ装置を仮想化してホスト計算機に見せる技術は、例えば特開2000−339098号公報(特許文献1)、米国特許第6,216,202号明細書(特許文献2)などに記載されている。
【0003】
また特開2001−350707号公報(特許文献3)には、実ストレージ又はその部分領域の性能の評価値とシステム管理者が指定する性能要求値とを比較し、その結果に基づいてストレージの領域をホスト計算機に割り当てる技術が示されている。
【0004】
さらに米国特許第6,131,150号明細書(特許文献4)は、buddyalgorithm (以下 B.A.と略記する)と呼ばれる技術を開示する。B.A.は、メモリの空き領域の断片化(フラグメンテーション)を防止するための方法である。メモリ領域を2のベキ乗数のサイズを単位として割り当てるよう管理することによって、メモリ解放時に隣接の空き領域と再統合することができるのでフラグメンテーションを防止できる。
【0005】
【特許文献1】
特開2000−339098号公報
【特許文献2】
米国特許第6,216,202号明細書
【特許文献3】
特開2001−350707号公報
【特許文献4】
米国特許第6,131,150号明細書
【0006】
【発明が解決しようとする課題】
ストレージの仮想化により、実ストレージ装置内の記憶領域(以下実領域と呼ぶ)の割当てと解放が頻繁に行われると、ストレージ装置内での空き領域が断片化する。その結果、一つの仮想ボリュームに割り当てる実領域の数が増加する。実領域の数の増加は、管理コストの増大や転送性能の低下、信頼性の低下の原因となる。特許文献1,2及び3に開示される仮想ボリュームの構成方法はフラグメンテーションの回避を考慮していない。第1の本発明が解決しようとする課題は、フラグメンテーションの回避である。
【0007】
一方、特許文献4に開示されるB.A.は、割り当てる領域のサイズが大きくなると効率が低下する。これは割当要求された領域のサイズとこのサイズを越える最小の2のベキ乗数のサイズとの差が無駄になるためである。ストレージの実領域割当では割り当てるサイズが比較的大きい場合があるので、この効率低下が問題になることがある。第2の本発明が解決しようとする課題は、ストレージの実記憶領域割当の効率低下の回避である。
【0008】
またストレージの仮想化システムでは実領域の割当ては、領域解放と比較しその頻度が多い。実領域の割当は仮想ボリュームの容量追加のたびに行われるが、解放は仮想ボリューム全体を解放するときに限られるためである。従って、連続の空き領域を増加させるためには、解放の時に領域が連続して解放される可能性が大きくなるように、割り当てる実領域を選択する必要がある。第3の本発明が解決しようとする課題は、連続して解放されるような実領域を選択することである。
【0009】
また仮想ボリュームに割り当てる実領域が複数ある場合は、それらの実領域は性能や信頼性が同等で、かつ負荷の集中を回避するために複数のストレージ装置に分散するように負荷分散を考慮したストレージ装置の選択を行うすることが望ましい。さらに作成した仮想ボリュームに後から実領域を追加するときも、負荷分散を考慮したストレージ装置の選択が望ましい。第4の本発明が解決しようとする課題は、負荷分散を考慮した実領域の選択である。
【0010】
本発明の目的は、上記課題のうちの少なくとも1つを解決する仮想ボリュームの記憶領域割当技術を提供することにある。
【0011】
【課題を解決するための手段】
少なくとも上記第2の課題を解決する本発明は、仮想ボリュームに対して少なくとも1台のストレージ装置の記憶領域のうちの空きの記憶領域を割り当てる技術において、要求サイズに対して残りサイズが指定された領域サイズ上限値未満となるまで空きの記憶領域から記憶領域を切り出して割り当て、残りサイズが領域サイズ上限値未満となったとき、この残りサイズについて残りサイズ以上の最小の2のベキ乗数のサイズの記憶領域を空きの記憶領域から切り出して割り当てる仮想ボリュームの記憶領域割当技術を特徴とする。さらに本発明は、上記第1の課題、第3の課題または第4の課題を解決するように構成される。
【0012】
【発明の実施の形態】
以下、本発明の実施形態について図面を用いて説明する。
【0013】
図1は、本発明に関係するシステム全体の構成を示す図である。システムは、少なくとも1台のホストプロセッサ12、少なくとも1台のストレージ装置13、仮想化スイッチ11及び管理コンソール14から構成される。仮想化スイッチ11は、図示するように伝送路によって他の装置と接続されており、他の装置と通信することができる。ホストプロセッサ12は、ストレージ装置に対するデータ読み書きを起動する計算機である。
【0014】
ストレージ装置13は、それ自身ストレージ制御部を備えたストレージサブシステムであり、少なくとも1つのLU(Logical Unit)131を有する。LU131は、ストレージ装置13内の記憶装置上に存在する少なくとも1つの実領域132から構成されており、ホストプロセッサ12など外部に対して論理的に独立した1つのストレージ装置を提供するものである。LU131は、論理ユニットであるが、通常RAIDグループなど物理的装置に対応する。実領域132は、LU131内の記憶領域を任意に区分する論理領域であり、連続したアドレスをもつ領域である。実領域132内の任意領域は、LUアドレスと実領域132内アドレスによってアクセスされる。
【0015】
仮想化スイッチ11とホストプロセッサ12との間および仮想化スイッチ11とストレージ装置13との間は、ファイバー・チャネルのような伝送路によって接続される。仮想化スイッチ11は、ホストプロセッサ12とストレージ装置13との間の伝送路に介入し、ホストプロセッサ12側の通信経路をストレージ装置13側の通信経路にスイッチする機能を有する。また仮想化スイッチ11は、ホストプロセッサ12に対して仮想ボリューム100を提供する。仮想ボリューム100は、少なくとも1つのLU131に属する実領域132を1つ以上集めて構成される仮想化された記憶装置である。仮想ボリューム100内の記憶領域全体には連続したアドレスが付されている。ホストプロセッサ12は、ストレージ装置13のLU131に直接アクセスする代わりに、仮想ボリューム100のアドレス及び仮想ボリューム100内記憶領域のアドレスを指定して仮想ボリューム100のデータを読み書きすることができる。
【0016】
管理コンソール14は、仮想ボリューム100を新規作成したりその記憶領域の構成を変更するためにシステム管理者によって使用される入出力装置であり、表示装置と入力装置を備える。
【0017】
図2は、仮想化スイッチ11の内部構成を示す図である。仮想化スイッチ11は、入力ポート240、出力ポート250、転送部230、処理部210および記憶部220から構成される。入力ポート240は、仮想化スイッチ11がホストプロセッサ12と通信するためのポートである。出力ポート250は、仮想化スイッチ11がストレージ装置13と通信するためのポートである。転送部230は、そのメモリ上に転送情報テーブル231を保持する。転送情報テーブル231は、各入力ポート240と通信可能なホストプロセッサ12、各出力ポート250と通信可能なストレージ装置13の対応情報を格納する。転送部230は、転送情報テーブル231を参照し、入力ポート240がホストプロセッサ12から受信した入出力要求を要求先のストレージ装置13が接続される出力ポート250へ転送する。また出力ポート250がストレージ装置13から受信した応答情報やデータを該当するホストプロセッサ12が接続される入力ポート240へ転送する。ただしホストプロセッサ12から受け取った入出力要求のうち仮想ボリューム100に対する入出力要求については、後述のアクセス変換部212の処理が介入し、その結果として決定されたストレージ装置13へ入出力要求を送信する。処理部210は、プロセッサとメモリとを備え、このプロセッサがメモリに格納されたプログラムを実行することによって以下に詳述する仮想化スイッチ11の機能を実現する。記憶部220は、処理部210が参照する管理テーブルやデータを格納する。
【0018】
図3は、処理部210および記憶部220の内部構成を示す図である。処理部210は、そのメモリ上に仮想ボリューム定義部211、アクセス変換部212、割当処理部213、実領域切出部214およびプール作成部215の各プログラムを格納し、そのプロセッサによってこれらプログラムを実行する。記憶部220は、仮想ボリューム管理テーブル221、実領域管理テーブル222、プール管理テーブル223、アクセス変換テーブル224および領域サイズ上限値225を記憶する。
【0019】
アクセス変換テーブル224は、仮想ボリューム100ごとに存在し、仮想ボリューム100上の記憶領域のアドレスとストレージ装置13内のLU131のアドレス及び実領域132内記憶領域のアドレスとの対応情報を保持するテーブルである。アクセス変換テーブル224は、仮想ボリューム100内の記憶領域の構成を変更したとき更新される。
【0020】
アクセス変換部212は、アクセス変換テーブル224を参照してホストプロセッサ12から受け取った仮想ボリューム100に対する入出力要求を対応するストレージ装置13およびLU131への入出力要求に変換する。なお各入力ポート240ごとに分散してアクセス変換テーブル224およびアクセス変換部212をもつと性能向上できる。
【0021】
実領域管理テーブル222は、LU131ごとに存在し、そのLU131に含まれる実領域132を管理するために使用されるテーブルである。各実領域管理テーブル222は、ストレージ装置ID321、LU−ID322、グループID323および実領域リスト324を格納する。ストレージ装置ID321は、当該LUを保持するストレージ装置13の識別子である。LU−ID322は当該LUの識別子である。グループID323は、ストレージ装置13側の複数のLU131を性能によってグループ化するときに当該LUが属するグループの識別子である。
【0022】
ここで言うグループは、複数のストレージ装置13あるいはLU131にかかるアクセス負荷を分散するときの記憶単位となるものである。例えばストレージ装置13が保持するLU131ごとあるいは実領域132ごとに負荷を分散できるなら、各LU131ごとあるいは負荷分散可能な実領域132ごとにグループを区分してよい。反対にストレージ装置13が負荷分散機能をもたない場合には、そのストレージ装置13が保持するLU131はすべて同一グループとなる。すなわち同一のグループに属する記憶装置あるいは記憶領域は、負荷分散のためにはそれ以上分割できない単位となる。負荷分散を要求する仮想ボリュームに対しては、1つの仮想ボリュームについて複数のグループが割り当てられる。
【0023】
実領域リスト324は、少なくとも1つのエントリ325から構成される。各エントリ325は、実領域132に対応して設けられ、領域ID、サイズ、仮想ボリューム識別子及び実領域の解放し易さの各項目から成る。領域IDは当該実領域132を特定するための識別子、サイズは当該実領域132のサイズである。仮想ボリューム識別子は、当該実領域132が割り当てられている仮想ボリュームの識別子である。実領域の解放のし易さは、その実領域が仮想ボリューム100に割り当てられた後にその実領域が解放し易いか否かのレベルあるいは優先度を示す情報である。その実領域132のデータを他の実領域132に移動する可能性が高い場合には解放し易い実領域132と言える。逆に移動する可能性が低い場合には解放し難い実領域132と言える。実領域リスト324内のエントリ325は、実領域132のアドレス順に配列されている。グループ内の実領域132のアドレスは連続しており、エントリ325はそのグループのすべての実領域を網羅する。実領域132が空きであるようなエントリは、その仮想ボリューム識別子が空となっている。
【0024】
仮想ボリューム管理テーブル221は、仮想ボリューム100ごとに存在し、識別子311、分割数312、要求性能313、割当てサイズ314、割当済実領域リスト315及び仮割当実領域リスト316を格納する。識別子311は、当該仮想ボリューム100の識別子である。分割数312は、当該ボリューム100を複数の領域に分割し、各々の領域へのアクセスを負荷分散する場合にその分散する領域の数である。要求性能313は、システム管理者が当該仮想ボリューム100に対して要求する性能と信頼性を示す数値である。性能はデータ転送速度によって表現される。また信頼性はランク付けされた信頼度である。割当てサイズ314は、割当処理において当該仮想ボリューム100に割り当てる実領域のサイズである。特許文献3には性能指標についての記載がある。割当済実領域リスト315は、当該仮想ボリューム100に割当済の実領域132の実領域ID317のリストである。仮割当実領域リスト316は、当該仮想ボリューム100に割り当てるために予約された実領域132の実領域ID317のリストである。
【0025】
プール管理テーブル223は、上記のグループごとに存在し、性能指標351、グループID323、空き領域の合計353および実領域リスト354を格納する。性能指標351は、当該プールを構成する実領域132の性能と信頼性を示す数値である。グループID323は、当該プールに対応するグループの識別子である。空き領域の合計353は、当該プールの空き領域の合計容量である。実領域リスト354は、当該プールを構成する空きの実領域132の識別子(実領域ID)のリストである。
【0026】
領域サイズ上限値225は、領域割当において許容し得る無駄になる実領域132のサイズの上限値を格納する。領域サイズ上限値225は、2のベキ乗数で設定される。領域サイズ上限値225は、システム管理者によって設定されるデータである。
【0027】
仮想ボリューム定義部211は、管理コンソール14を介してシステム管理者から仮想ボリューム100の割当要求と今回割り当てる実領域について、割当てサイズ314、分割数312および要求性能313を受け取り、仮想ボリューム管理テーブル221を新規作成または更新する。仮想ボリューム100の記憶容量を増やすときは仮想ボリューム管理テーブル221の更新となる。次に仮想ボリューム定義部211は、プール作成部215にプールの作成を依頼する。プール作成部215は、すべての実領域管理テーブル222について空きの実領域132を探し、グループごとにグループID323を作成し、各グループの空きの実領域132の識別子の集合を実領域リスト354に格納し、空き容量の合計353を設定する。またそのグループについてあらかじめ定義された性能指標351を設定する。すべてのプール管理テーブル223が作成された後、仮想ボリューム定義部211は、それらのプール群と、作成または更新された仮想ボリューム管理テーブル221を割当処理部213に渡し、実領域132の割当て処理を依頼する。
【0028】
図4は、割当処理部213の処理の流れを示すフローチャートである。まず割当処理部213は、当該仮想ボリューム管理テーブル221の割当済実領域リスト315と実領域管理テーブル222を参照して、当該仮想ボリューム100が割り当てられている実領域132のグループのグループID323を列挙する(ステップ2001)。仮想ボリューム100を新規に作成する場合には、列挙すべきグループID323がないので、何もしない。次に割当処理部213は、変数plに分割数312から列挙したグループの数(新規割当の場合は0)を差し引いた数を代入する(ステップ2002)。変数plは新たに探すプールの数を意味する。
【0029】
変数plが0を超える場合(ステップ2003Y)、割当処理部213は、ステップ2004からステップ2006までを実行して、実領域132を割当てるプールを選択する。すなわちまず割当処理部213は、要求仕様313とステップ2001で列挙したグループID323以外をもつプール管理テーブル223の性能指標351とを比較して要求仕様313を満たすプールを選択する(ステップ2004)。特許文献3には要求仕様と性能指標との比較の方法についての記載がある。次に選択したプールの数と変数plとを比較する(ステップ2005)。プールの数<plの場合(ステップ2005Y)には、プールの数が不足するのでステップ2013へ行く。プールの数≧plの場合(ステップ2005N)には空き容量の合計353が大きな順にpl個のプールを選択し(ステップ2006)、ステップ2013へ進む。ただしpl個のプールの空き容量の合計353をすべて加えた総容量が割当てサイズ314より小さい場合には、総容量が割当てサイズ314に達するまで、空き容量の合計353が大きい順にさらにプールを選択する。
【0030】
一方plが0を越えない場合(ステップ2003N)、割当処理部213は、ステップ2007からステップ2012までの処理を実行する。まず割当処理部213は、ステップ2001で列挙したグループID323を持つプール管理テーブル323、すなわちプール群を選択する(ステップ2007)。次に割当処理部213は、列挙したグループID323をもつ実領域管理テーブル222の実領域リスト324を探索し、すでに当該仮想ボリューム100に割り当てられた実領域132に隣接する連続空き領域を選択する(ステップ2008)。割り当てるべき空き領域が複数ある場合は、割当てサイズ314を適当に分割して各々を領域割当の対象とする。次に割当処理部213は、割当サイズと選択した連続空き領域群を指定して実領域切出部214を呼び出し、実領域切り出し処理を行う(ステップ2009)。その後、切り出された領域のリストを当該仮想ボリューム管理テーブル221の仮割当実領域リスト316に追加し、仮割当実領域リスト316を更新する(ステップ2010)。次に割当処理部213は、割当てサイズ314からステップ2009で割り当てた領域のサイズを差し引く(ステップ2011)。割当てサイズ314が0以下になれば(ステップ2012N)、処理を終了する。
【0031】
次に割当処理部213は、各プールに割り当てる領域のサイズを割り振る(ステップ2013)。割り振り方は等分でもよいし、そうでなくてもよい。対象となるプールは、ステップ2013に来るまでに選択したプールである。次に割当処理部213は、各プールについて実領域管理テーブル222を参照し、ステップ2013で割り振ったサイズを越える連続の空き領域群があるか否か判定する(ステップ2014)。空き領域がない場合には、最大の連続空き領域を選択する(ステップ2016)。空き領域がある場合は、その近傍の実領域132の解放のしやすさが最も小さい(最も解放され難い)空き領域群を選ぶ(ステップ2015)。空き領域に隣接する一方の実領域132が解放され難くく、他方の実領域132が解放され易い場合に、今回割り当てる領域を前者に隣接するように割り当てると、後者が解放されたときに統合される連続空き領域のサイズがより大きくなる。
【0032】
次に割当処理部213は、ステップ2015またはステップ2016で選択した実領域群132と割当てサイズを指定して実領域切出部214を呼び出し、実領域切り出し処理を行う(ステップ2017)。切り出された領域のリストを当該仮想ボリューム管理テーブル221の仮割当て実領域リスト316に追加し、仮割当実領域リスト316を更新する(ステップ2018)。次に割当処理部213は、割当てサイズ314からステップ2017で割り当てた領域のサイズを差し引く(ステップ2019)。割当てサイズ314が0を越えていれば(ステップ2020Y)、ステップ2013に戻る。割当てサイズが0以下になれば(ステップ2020N)、処理を終了する。
【0033】
上記割当処理部213の処理手順によれば、システム管理者が仮想ボリューム100の割当要求時に指定した割当てサイズ314、分割数312及び要求性能313のうち、割当てサイズ314を満足させることが最優先される。次いでステップ2004、2005により要求性能313を満足させることが優先される。分割数312を満足させることは最後の優先となる。また上記割当処理部213の処理手順によれば、ステップ2015の処理により、できるだけフラグメンテーションが起きないような実領域の割り当て方をする。
【0034】
図5は、第1の実施例において実領域切出部214の処理の流れを示すフローチャートである。まず実領域切出部214は、初期化処理として割り当てた実領域132を割当処理部213に返すためにメモリ上に設けた連絡領域であるリストを空に初期化し(ステップ2101)、変数sizeに渡されたサイズを格納する(ステップ2102)。次に実領域切出部214は、渡された連続空き空き領域群について、1つの空き領域の下位と上位に隣接する割当済の実領域132の解放されにくさを判定し、解放されにくい実領域132に隣接する空き領域を選択する(ステップ2103)。
【0035】
次に実領域切出部214は、ステップ2104から2116までを繰り返すことによってステップ2103で選択した空き領域について順に実領域132を切り出していく。まず実領域切出部214は、選択した空き領域のサイズがsize以下の場合には(ステップ2104N)、選択した空きの実領域132の全体を切り出すこととし、この実領域132とそのサイズをリストに登録する(ステップ2105)。ここで切り出すとは、実領域管理テーブル222の該当するエントリ325に仮想ボリュームの識別子を設定することである。以下切り出すとは、一般に実領域管理テーブル222の該当するエントリ325を割当済のエントリ325と空きのエントリ325とに分割し、必要な領域ID、サイズ及び仮想ボリューム100の識別子を設定することである。次にステップ2103と同様の処理によって渡された連続空き領域群について次の空き領域を選択する(ステップ2106)。次にsizeからステップ2105で登録した実領域132のサイズを差し引く(ステップ2107)。sizeが0になった場合(ステップ2108Y)には、ステップ2117へ進む。それ以外の場合はステップ2104に戻る。
【0036】
選択した空き領域のサイズがsizeより大きい場合(ステップ2104Y)には、ステップ2109からステップ2116までを実行し、選択された空き領域を分割して割り当てる実領域132を切り出す。まず実領域切出部214は、sizeが領域サイズ上限値225以上か否か判定する(ステップ2109)。sizeが領域サイズ上限値225以上の場合(ステップ2109Y)には、実領域切出部214は、選択した空き領域から領域サイズ上限値225の整数倍であってsizeを越えない最大の領域を切り出す(ステップ2110)。次に切り出した実領域132とそのサイズをリストに登録する(ステップ2111)。次にステップ2103と同様の処理によって渡された連続空き領域群について残りの空き領域を選択する(ステップ2112)。次にsizeからステップ2111で登録した実領域132のサイズを差し引く(ステップ2113)。ステップ2112において、残りの空き領域を選択することにより、今回のステップ2110で切出した実領域132と以降で実行するステップ2105、ステップ2115またはステップ2110で切り出す空き領域とは連続することになる。sizeが0になった場合(ステップ2114Y)には、ステップ2117へ進む。それ以外の場合は、ステップ2104に戻る。
【0037】
sizeが領域サイズ上限値225未満の場合(ステップ2109N)には、実領域切出部214は、B.A.で領域を切り出す(2115)。すなわちsizeをsize以上の最小の2のベキ乗数のサイズに切り上げる。そして選択された空き領域からこの切り上げたサイズの領域を切り出し、残りの領域があればそれを空き領域とする。次に実領域切出部214は、切り出した実領域132とそのサイズをリストに登録する(ステップ2116)。最後に実領域切出部214は、リストを割当処理部213に返して(ステップ2117)、処理を終了する。
【0038】
上記実施形態の割当処理部213及び領域切出部214によれば、実領域の割当に際して、空き容量の大きな順に空き領域を選択しかつ連続する空き領域を選択することによって、割当済領域のフラグメンテーションと空き領域のフラグメンテーションを回避でき、発明が解決しようとする4つの課題のうちの第1の課題を解決することができる。また空き領域から割り当てる実領域を切り出していき、残りサイズが領域サイズ上限値未満となったときに始めてB.A.を適用するので、領域の使用効率を向上させることができ、第2の課題を解決することができる。また隣接する割当済領域が解放しにくいような空き領域を選択し、解放されにくい割当済領域に隣接して実領域を割り当てることによって、連続して解放され空き領域を拡大させる可能性が大きくなり、第3の課題を解決することができる。また分割数312に応じて仮想ボリューム100を負荷分散可能な領域に分割することができるので仮想ボリューム100への負荷を分散させることができ、第4の課題を解決することができる。特に第1の実施例では、ステップ2110で選択した空き領域から領域サイズ上限値225の整数倍であって残りサイズを越えない最大の領域を切り出すので、空き領域の残りが領域サイズ上限値225未満になる可能性が生じ、領域の使用効率を向上させる第2の課題解決に寄与する。
【0039】
図6は、第2の実施例において実領域切出部214の処理の流れを示すフローチャートである。第2の実施例は、第1の実施例の実領域切出部214のステップ2110の代わりにステップ2120を実行する。ステップ2120では、実領域切出部214は、sizeを越えない最大の2のベキ乗数のサイズをもつ実領域132を切り出す。
【0040】
第2の実施例によれば、仮想ボリューム100に割り当てられる実領域は、領域サイズ上限値225を越える2ベキ乗数のサイズの複数の実領域132に分割され、一見すると割当済領域のフラグメンテーションが生じるように見える。しかし、ステップ2112により切り出した実領域132の隣の空き領域が必ず選択されるので、切り出された複数の領域は連続することになり、フラグメンテーションを回避できる。なお第2の実施例の場合も上述したように発明が解決しようとする4つの課題を解決していることが理解される。
【0041】
割当処理部213の処理が終了すると、仮想ボリューム定義部211は、新規作成又は更新された仮想ボリューム管理テーブル221の内容を管理コンソール14に表示する。システム管理者がこの表示内容を確認する。管理コンソール14を介して修正の入力があれば、仮想ボリューム定義部211は、この入力情報に基づいて当該仮想ボリューム管理テーブル221の実領域割当を修正する。
【0042】
以上の確認及び修正が済んだ後に、仮想ボリューム定義部211は、仮割当て実領域リスト316内の実領域ID317を実領域132のアドレス順にソートし、その結果の実領域ID317群を割当済実領域リスト315の末尾に移動する。次に当該仮想ボリューム100の新規作成又は更新に伴って対応するアクセス変換テーブル224を作成又は更新し、処理を終了する。
【0043】
仮割当て実領域リスト316内の実領域ID317をソートするのは、割当処理部213の処理と協調して仮想ボリューム100に割り当てた実領域132をなるべく連続させるためである。このソート処理により実領域132が連続すれば、対応付ける仮想ボリューム100上のアドレス範囲とストレージ装置13上の実領域132のアドレス範囲の組の数を減少させることができ、アドレス変換テーブル224のサイズを小さくすることができる。すなわち本発明が解決しようとする課題のうちの第1の課題の解決に寄与できる。
【0044】
図7は、本実施形態において仮想ボリュームに実領域を割り当てるときの原理を説明する図である。図7(a)は、ストレージ群A,B,Cがあり、その転送性能が各々80MB/s,60MB/s,40MB/sとする。また空き容量の合計が各々80GB,200GB,300GBとする。割当処理部213は、要求性能を満足する空き容量の合計が最も大きいストレージ群を選択する。例えば50MB/s以上の転送性能をもつ60GBの領域が要求されたとき、割当処理部213は、ストレージ群Bを選択する。またストレージ群Bの空き容量の中でできるだけ連続する大きい空き領域を選択する。これによって記憶領域のフラグメンテーションの回避が可能となる。
【0045】
図7(b)は、あるストレージ群上の連続領域において、解放しやすさが0.5と10.0の割当済領域の間に空き領域Aが存在し、解放しやすさが10.0と20.0の割当済領域の間に空き領域Bが存在している状態を示している。このとき割当処理部213は、解放のしやすさが最も小さい割当領域に隣接する空き領域Aを選択する。また実領域切出部214は、解放のしやすさが最も小さい割当領域に連続するように実領域を割り当てる。解放しやすさが10.0及び20.0の割当済領域が将来解放される可能性が高く、従って連続空き領域が拡大する可能性が大きいためである。
【0046】
図7(c)は、第1の実施例の効果を説明する図である。例えば256GB以上の連続空き領域があるとし、この領域に要求サイズが150GBの実領域を割り当てるものとする。領域サイズ上限値225は32GBとする。従来方式により、150GB以上で最小の2のベキ乗数のサイズの領域を割り当てるとすると、256GBの実領域を割り当てることになる。第1の実施例の実領域切出部214によれば、領域サイズ上限値225の整数倍で実領域を割り当てるために160GBの実領域の割当で済み、従来方式に比べて32GB×3=96GBの無駄な割当を回避できる。より詳細に言えば、1回目の割当で150GBを越えない32GB×4の領域を割り当て、2回目の割り当てで残り22GBについてB.A.を適用するので32GBの領域を割り当て、結局32GB×5=160GBの実領域を割り当てることになる。また160GBの領域は解放しにくい割り当て済領域に連続するように割り当てられるので、図の空き領域の左端又は右端に寄せて割り当てられる。また第1の実施例で無駄になる領域は常に領域サイズ上限値225未満であることが理解される。
【0047】
第2の実施例では、図7(c)について第1の実施例と割当方式が異なるだけである。第2の実施例ではまず150GBを越えない最大の2のベキ乗数のサイズの32GB×4の領域を割り当てると、残りサイズが22GBとなり、領域サイズ上限値225未満となり2回目の割当で残り22GBについてB.A.を適用するので32GBの領域を割り当て、結局32GB×5=160GBの実領域を割り当てることになり、その効果は第1の実施例の場合と変わらない。第2の実施例の場合も無駄になる領域は常に領域サイズ上限値225未満となることが理解される。
【0048】
図8を用いて本発明の第3の実施例について説明する。図8は、第3の実施例のシステム構成図である。図8の構成と図1の構成との違いは、仮想化スイッチ11がストレージ装置813に内蔵されていることである。すなわち仮想化スイッチ11とストレージ装置813は同じ筐体に格納されている。ストレージ装置813は、自身のLUを仮想化ボリューム100としてホストプロセッサ12がアクセスすることを可能にする。またストレージ装置813の仮想化スイッチ11には、他のストレージ装置13も接続可能である。仮想化スイッチ100は、上記第1または第2の実施例と同様の機能をもつので説明を省略する。第3の実施例によれば、仮想化機能と仮想ボリューム割当機能をもつストレージ装置813は、第1または第2の実施例と同様に本発明が解決しようとする課題を解決することができる。
【0049】
図9及び図10を用いて本発明の第4の実施例について説明する。図9は、第4の実施例のシステム構成図である。本実施例では、ストレージ装置13及び管理コンソール14はホストプロセッサ12に接続される。図9の構成と図1の構成との違いは、ホストプロセッサ12の処理部121および記憶部122を明示したことであり、処理部121および記憶部122は、そのプログラムを実行することによって仮想化スイッチ11が持つ仮想化機能を実現する。
【0050】
図10は、第4の実施例における記憶部122内のプログラム及びデータの構成を示している。図10の記憶部122は、図3の記憶部220と異なり、仮想ボリューム定義プログラム381、アクセス変換プログラム382、割当処理プログラム383、実領域切出プログラム384およびプール作成プログラム385を格納する。アクセス変換プログラム382は、処理部121によって記憶部122にロードして実行され、実行されるアプリケーションプログラムまたはファイルシステム制御プログラム(図示せず)が発行する仮想ボリューム100への入出力要求をストレージ装置13のLU131への入出力要求に変換する。
【0051】
仮想ボリューム定義プログラム381、割当処理プログラム383、実領域切出プログラム384およびプール作成プログラム385は、処理部121によって記憶部122にロードされて実行され、それぞれ図3に示す仮想ボリューム定義部211、割当処理部213、実領域切出部214およびプール作成部215が持つ機能を実現する。その他の構成及び機能は、上記第1または第2の実施例と同様なので説明を省略する。第4の実施例によれば、ホストプロセッサ12の上記プログラム実行によってストレージ装置13の仮想化機能と仮想ボリューム割当機能を実現でき、第1または第2の実施例と同様に本発明が解決しようとする課題を解決することができる。
【0052】
【発明の効果】
以上述べたように本発明によれば、記憶領域のフラグメンテーションを回避することができる。また記憶領域の使用効率を向上させることができる。また連続する空き領域のサイズを拡大することが可能となる。さらに負荷分散を考慮する記憶領域の割当が可能である。
【図面の簡単な説明】
【図1】実施形態のシステム構成図である。
【図2】実施形態の仮想化スイッチ11の内部構成を示す図である。
【図3】実施形態の処理部210および記憶部220の内部構成を示す図である。
【図4】実施形態の割当処理部213の処理の流れを示すフローチャートである。
【図5】第1の実施例の実領域切出部214の処理の流れを示すフローチャートである。
【図6】第2の実施例の実領域切出部214の処理の流れを示すフローチャートである。
【図7】実施形態の実領域割当の原理を説明する図である。
【図8】第3の実施例のシステム構成図である。
【図9】第4の実施例のシステム構成図である。
【図10】第4の実施例の記憶部122の内部構成を示す図である。
【符号の説明】
11:仮想化スイッチ、12:ホストプロセッサ、13:ストレージ装置、131:LU、132:実領域、211:仮想ボリューム定義部、213:割当処理部、214:実領域切出部、221:仮想ボリューム管理テーブル、222:実領域管理テーブル、223:プール管理テーブル、225:領域サイズ上限値。

Claims (18)

  1. 少なくとも1台のストレージ装置が有する全体の記憶領域のうちの空きの記憶領域を仮想ボリュームに割り当てる方法において、
    前記仮想ボリュームを管理する処理手段は、前記仮想ボリュームに対して割当要求された記憶領域サイズである第1のサイズを越えるサイズをもつ前記空きの記憶領域のサイズ情報を記憶手段から読み出し、
    前記第1のサイズが所定の領域サイズ上限値以上の場合、前記領域サイズ上限値の整数倍となる第2のサイズをもち前記第1のサイズ以下の最大の記憶領域を前記空きの記憶領域から切り出し、
    前記第1のサイズから前記第2のサイズを差し引いたサイズ、あるいは前記第1のサイズが前記領域サイズ上限値未満の場合、前記第1のサイズを残りサイズとし、
    前記残りサイズが前記領域サイズ上限値未満となる場合、前記処理手段は、前記残りサイズについて前記残りサイズ以上の最小の2のベキ乗数のサイズとなる第3のサイズの記憶領域を前記空きの記憶領域から切り出し、
    前記処理手段は、前記切り出された第2のサイズの記憶領域と、前記切り出された第3のサイズの記憶領域と、を前記割当要求された前記仮想ボリュームに割り当てることを特徴とする仮想ボリュームの記憶領域割当方法。
  2. 前記処理手段は、前記空きの記憶領域が複数の空き領域から成りかつ各空き領域が連続空き領域であるとき、最大サイズをもつ前記連続空き領域を割当対象として選択し、選択された連続空き領域から割り当てられるべき記憶領域を切り出して割り当てることを特徴とする請求項1記載の仮想ボリュームの記憶領域割当方法。
  3. 前記空きの記憶領域の両端に隣接し前記ストレージ装置が有する記憶領域の一部である記憶領域が割当済である場合に、前記処理手段は、両方の割当済領域のうち格納されるデータが他の記憶領域に移動する可能性がより低いことを意味する解放しにくい方の割当済領域に隣接するように前記空きの記憶領域から割り当てられるべき記憶領域を切り出して割り当てることを特徴とする請求項1記載の仮想ボリュームの記憶領域割当方法。
  4. 前記空きの記憶領域が互いに負荷分散可能な複数の空き領域のグループに区分される場合に、前記仮想ボリュームを負荷分散可能な複数の領域に分割して割り当てるよう要求されたとき、前記処理手段は、指定された分割数に基づいて前記割当要求された記憶領域のサイズを前記グループに分割して割り当てることを特徴とする請求項1記載の仮想ボリュームの記憶領域割当方法。
  5. 前記グループの数が前記分割数より多いときに、前記処理手段は、前記グループのうち前記分割数個のグループを空き領域の合計が大きい順に選び、選んだグループに前記割当要求された記憶領域のサイズを分割して割り当てることを特徴とする請求項4記載の仮想ボリュームの記憶領域割当方法。
  6. 前記処理手段は、前記残りサイズの割当の前に、前記第2のサイズの代わりに、前記空きの記憶領域から前記第1のサイズ以下の最大の2のベキ乗数となる第2のサイズをもつ記憶領域を切り出して割り当てることを特徴とする請求項1記載の仮想ボリュームの記憶領域割当方法。
  7. 仮想ボリューム上の記憶領域のアドレスとストレージ装置内の論理ユニットのアドレス及び前記論理ユニット内記憶領域のアドレスとの対応情報を格納するアクセス変換テーブル手段と、前記アクセス変換テーブル手段を参照して前記仮想ボリュームに対する入出力要求を前記ストレージ装置内の記憶領域に対する入出力要求に変換する手段とを有する仮想化装置において、
    前記仮想ボリュームに対して前記ストレージ装置が有する全体の記憶領域のうちの空きの記憶領域を割り当てる要求を受け付ける手段と、
    割当要求された記憶領域のサイズが所定の領域サイズ上限値以上の場合、前記領域サイズ上限値の整数倍となるサイズをもち前記割当要求された記憶領域のサイズ以下の最大の記憶領域を前記空きの記憶領域から切り出して前記仮想ボリュームに割り当てる第1の割当手段と、
    前記割当要求された記憶領域のサイズから前記第1の割当手段によって割り当てられた記憶領域のサイズを差し引いたサイズ、あるいは前記割当要求された記憶領域のサイズが前記領域サイズ上限値未満の場合、前記割当要求された記憶領域のサイズを残りサイズとして設定する手段と、
    前記残りサイズが前記領域サイズ上限値未満となったとき、前記残りサイズについて前記残りサイズ以上の最小の2のベキ乗数のサイズの記憶領域を前記空きの記憶領域から切り出して前記仮想ボリュームに割り当てる第2の割当手段と、
    割当要求に対して記憶領域の割当が済んだ後に、割当結果に基づいて前記アクセス変換テーブル手段の内容を更新する手段とを有することを特徴とする仮想化装置。
  8. さらに前記空きの記憶領域が複数の空き領域から成りかつ各空き領域が連続空き領域であるとき、最大サイズをもつ前記連続空き領域を割当対象として選択し、選択された連続空き領域から割り当てられるべき記憶領域を切り出して割り当てる手段を有することを特徴とする請求項7記載の仮想化装置。
  9. 前記空きの記憶領域の両端に隣接し前記ストレージ装置が有する記憶領域の一部である記憶領域が割当済である場合に、両方の割当済領域のうち格納されるデータが他の記憶領域に移動する可能性がより低いことを意味する解放しにくい方の割当済領域に隣接するように前記空きの記憶領域から割り当てられるべき記憶領域を切り出して割り当てる手段を有することを特徴とする請求項7記載の仮想化装置。
  10. 前記空きの記憶領域が互いに負荷分散可能な複数の空き領域のグループに区分される場合に、前記仮想ボリュームを負荷分散可能な複数の領域に分割して割り当てるよう要求されたとき、指定された分割数に基づいて前記割当要求された記憶領域のサイズを前記グループに分割して割り当てる手段を有することを特徴とする請求項7記載の仮想化装置。
  11. 前記グループの数が前記分割数より多いときに、前記グループのうち前記分割数個のグループを空き領域の合計が大きい順に選び、選んだグループに前記割当要求された記憶領域のサイズを分割して割り当てる手段を有することを特徴とする請求項10記載の仮想化装置。
  12. 請求項7に記載の仮想化装置を内蔵することを特徴とするストレージ装置。
  13. 仮想化装置またはホストプロセッサに、仮想ボリュームに対して少なくとも1台のストレージ装置が有する全体の記憶領域のうちの空きの記憶領域を割り当てる機能を実現させるためのプログラムにおいて、
    前記仮想化装置またはホストプロセッサに、割当要求された記憶領域のサイズが所定の領域サイズ上限値以上の場合、前記領域サイズ上限値の整数倍となるサイズをもち前記割当要求された記憶領域のサイズ以下の最大の記憶領域を前記空きの記憶領域から切り出して前記仮想ボリュームに割り当てる第1の割当機能、
    前記割当要求された記憶領域のサイズから前記第1の割当機能によって割り当てられた記憶領域のサイズを差し引いたサイズ、あるいは前記割当要求された記憶領域のサイズが前記領域サイズ上限値未満の場合、前記割当要求された記憶領域のサイズを残りサイズと して設定する機能、および
    前記残りサイズが前記領域サイズ上限値未満となったとき、前記残りサイズについて前記残りサイズ以上の最小の2のベキ乗数のサイズの記憶領域を前記空きの記憶領域から切り出して前記仮想ボリュームに割り当てる第2の割当機能を実現させるためのプログラム。
  14. さらに前記空きの記憶領域が複数の空き領域から成りかつ各空き領域が連続空き領域であるとき、最大サイズをもつ前記連続空き領域を割当対象として選択し、選択された連続空き領域から割り当てられるべき記憶領域を切り出して割り当てる機能を実現させるための請求項13記載のプログラム。
  15. 前記空きの記憶領域の両端に隣接し前記ストレージ装置が有する記憶領域の一部である記憶領域が割当済である場合に、両方の割当済領域のうち格納されるデータが他の記憶領域に移動する可能性がより低いことを意味する解放しにくい方の割当済領域に隣接するように前記空きの記憶領域から割り当てられるべき記憶領域を切り出して割り当てる機能を実現させるための請求項13記載のプログラム。
  16. 前記空きの記憶領域が互いに負荷分散可能な複数の空き領域のグループに区分される場合に、前記仮想ボリュームを負荷分散可能な複数の領域に分割して割り当てるよう要求されたとき、指定された分割数に基づいて前記割当要求された記憶領域のサイズを前記グループに分割して割り当てる機能を実現させるための請求項13記載のプログラム。
  17. 前記グループの数が前記分割数より多いときに、前記グループのうち前記分割数個のグループを空き領域の合計が大きい順に選び、選んだグループに前記割当要求された記憶領域のサイズを分割して割り当てる機能を実現させるための請求項16記載のプログラム。
  18. 実記憶領域を保持する少なくとも1台のストレージ装置と、前記ストレージ装置の前記実記憶領域に対するデータ読み書きを起動する少なくとも1台のホストプロセッサと、前記ホストプロセッサと前記ストレージ装置との間に介在し前記ホストプロセッサに対して仮想ボリュームを提供する仮想化装置と、前記仮想化装置に対して記憶領域の割当要求を発行する管理コンソールとを有するシステムにおいて、
    前記仮想化装置は、前記仮想ボリューム上の記憶領域のアドレスと前記ストレージ装置内の論理ユニットのアドレス及び前記論理ユニット内記憶領域のアドレスとの対応情報を格納するアクセス変換テーブル手段と、
    前記アクセス変換テーブル手段を参照して前記ホストプロセッサから受信した前記仮想ボリュームに対する入出力要求を前記ストレージ装置内の記憶領域に対する入出力要求に変換する手段と、
    前記仮想ボリュームに対して前記ストレージ装置が有する全体の記憶領域のうちの空きの記憶領域を割り当てる前記管理コンソールからの要求を受け付ける手段と、
    割当要求された記憶領域のサイズが所定の領域サイズ上限値以上の場合、前記割当要求された記憶領域のサイズ以下の最大の2のベキ乗数となるサイズをもつ記憶領域を前記空きの記憶領域から切り出して前記仮想ボリュームに割り当てる第1の割当手段と、
    前記割当要求された記憶領域のサイズから前記第1の割当手段によって割り当てられた記憶領域のサイズを差し引いたサイズ、あるいは前記割当要求された記憶領域のサイズが前記領域サイズ上限値未満の場合、前記割当要求された記憶領域のサイズを残りサイズとして設定する手段と、
    前記残りサイズが前記領域サイズ上限値未満となったとき、前記残りサイズについて前記残りサイズ以上の最小の2のベキ乗数のサイズの記憶領域を前記空きの記憶領域から切り出して前記仮想ボリュームに割り当てる第2の割当手段と、
    割当要求に対して記憶領域の割当が済んだ後に、割当結果に基づいて前記アクセス変換テーブル手段の内容を更新する手段とを有することを特徴とするシステム。
JP2002330323A 2002-11-14 2002-11-14 仮想ボリュームの記憶領域割当方法、その装置及びプログラム Expired - Fee Related JP4139675B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002330323A JP4139675B2 (ja) 2002-11-14 2002-11-14 仮想ボリュームの記憶領域割当方法、その装置及びプログラム
US10/607,027 US7143262B2 (en) 2002-11-14 2003-06-27 Method, apparatus and program for allocating storage area to virtual volume

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002330323A JP4139675B2 (ja) 2002-11-14 2002-11-14 仮想ボリュームの記憶領域割当方法、その装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2004164370A JP2004164370A (ja) 2004-06-10
JP4139675B2 true JP4139675B2 (ja) 2008-08-27

Family

ID=32290093

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002330323A Expired - Fee Related JP4139675B2 (ja) 2002-11-14 2002-11-14 仮想ボリュームの記憶領域割当方法、その装置及びプログラム

Country Status (2)

Country Link
US (1) US7143262B2 (ja)
JP (1) JP4139675B2 (ja)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4160817B2 (ja) * 2002-11-05 2008-10-08 株式会社日立製作所 ディスクサブシステム、計算機システム、それを管理するためのストレージ管理方法、および、管理プログラム
JP4226350B2 (ja) 2003-02-17 2009-02-18 株式会社日立製作所 データ移行方法
US6968440B2 (en) * 2003-05-09 2005-11-22 Hewlett-Packard Development Company, L.P. Systems and methods for processor memory allocation
JP4380240B2 (ja) * 2003-07-01 2009-12-09 株式会社日立製作所 ヒントに基づく記憶領域の割当と性能保証方法、記憶装置及び管理プログラム
JP4253224B2 (ja) * 2003-07-02 2009-04-08 株式会社日立製作所 アドレス管理方法および装置
WO2005006175A1 (ja) * 2003-07-10 2005-01-20 Fujitsu Limited 複数の論理ユニットをグループ化する方法、受信した要求の処理方法、複数の論理ユニットをグループ化する装置及び、受信した要求の処理装置
JP4455153B2 (ja) * 2004-05-14 2010-04-21 株式会社日立製作所 記憶装置管理方法およびシステム
US7761284B2 (en) * 2004-08-30 2010-07-20 Overland Storage, Inc. Tape emulating disk based storage system and method with automatically resized emulated tape capacity
JP4646574B2 (ja) 2004-08-30 2011-03-09 株式会社日立製作所 データ処理システム
US7346733B2 (en) * 2004-09-09 2008-03-18 Hitachi, Ltd. Storage apparatus, system and method using a plurality of object-based storage devices
JP2006127028A (ja) * 2004-10-27 2006-05-18 Hitachi Ltd 記憶システム及び記憶制御装置
JP2006185118A (ja) * 2004-12-27 2006-07-13 Tb Tech Co Ltd ストレージ管理
JP4555703B2 (ja) * 2005-02-23 2010-10-06 株式会社日立製作所 領域集合設定方法、および、ネットワークシステム
US20060288155A1 (en) * 2005-06-03 2006-12-21 Seagate Technology Llc Storage-centric computer system
JP4720303B2 (ja) * 2005-06-08 2011-07-13 株式会社日立製作所 ストレージシステムを含む計算機システムの構成管理方法
JP2007293738A (ja) * 2006-04-27 2007-11-08 Hitachi Ltd ストレージシステムおよびストレージシステムの情報処理方法
JP4943081B2 (ja) * 2006-07-27 2012-05-30 株式会社日立製作所 ファイル格納制御装置及び方法
JP4813385B2 (ja) * 2007-01-29 2011-11-09 株式会社日立製作所 ストレージシステムの複数の論理リソースを制御する制御装置
JP5069011B2 (ja) * 2007-01-29 2012-11-07 株式会社日立製作所 ストレージモジュール及び容量プール空き容量調整方法
JP2007257667A (ja) * 2007-06-19 2007-10-04 Hitachi Ltd データ処理システム
JP5238235B2 (ja) * 2007-12-07 2013-07-17 株式会社日立製作所 管理装置及び管理方法
JP5298594B2 (ja) * 2008-03-26 2013-09-25 富士通株式会社 割当制御プログラム、割当制御装置、および割当制御方法
US8886909B1 (en) 2008-03-31 2014-11-11 Emc Corporation Methods, systems, and computer readable medium for allocating portions of physical storage in a storage array based on current or anticipated utilization of storage array resources
US8443369B1 (en) 2008-06-30 2013-05-14 Emc Corporation Method and system for dynamically selecting a best resource from each resource collection based on resources dependencies, prior selections and statistics to implement an allocation policy
JP5534135B2 (ja) * 2009-03-31 2014-06-25 日本電気株式会社 情報処理装置、情報処理方法、及びプログラム
JP2010250477A (ja) * 2009-04-14 2010-11-04 Fujitsu Ltd ストレージ制御プログラム、ストレージシステム、ストレージ制御装置、およびストレージ制御方法
US8122219B2 (en) 2009-07-22 2012-02-21 International Business Machines Corporation Storage allocation
US20110153929A1 (en) * 2009-12-22 2011-06-23 International Business Machines Corporation Disk memory utilization management using available slot clusters
US8924681B1 (en) * 2010-03-31 2014-12-30 Emc Corporation Systems, methods, and computer readable media for an adaptative block allocation mechanism
US8407445B1 (en) 2010-03-31 2013-03-26 Emc Corporation Systems, methods, and computer readable media for triggering and coordinating pool storage reclamation
US8443163B1 (en) 2010-06-28 2013-05-14 Emc Corporation Methods, systems, and computer readable medium for tier-based data storage resource allocation and data relocation in a data storage array
US9311002B1 (en) 2010-06-29 2016-04-12 Emc Corporation Systems, methods, and computer readable media for compressing data at a virtually provisioned storage entity
US8745327B1 (en) 2011-06-24 2014-06-03 Emc Corporation Methods, systems, and computer readable medium for controlling prioritization of tiering and spin down features in a data storage system
US10203876B2 (en) 2013-11-22 2019-02-12 Nec Corporation Storage medium apparatus, method, and program for storing non-contiguous regions
JP2015114808A (ja) * 2013-12-11 2015-06-22 富士通株式会社 ストレージ制御装置、制御方法、及びプログラム
US10469580B2 (en) * 2014-12-12 2019-11-05 International Business Machines Corporation Clientless software defined grid
US10554749B2 (en) 2014-12-12 2020-02-04 International Business Machines Corporation Clientless software defined grid
JP6383861B2 (ja) * 2015-03-27 2018-08-29 株式会社日立製作所 ストレージ管理計算機
US10921991B1 (en) 2016-12-20 2021-02-16 Amazon Technologies, Inc. Rule invalidation for a block store management system
US10809920B1 (en) 2016-12-20 2020-10-20 Amazon Technologies, Inc. Block store management for remote storage systems
US10185507B1 (en) 2016-12-20 2019-01-22 Amazon Technologies, Inc. Stateless block store manager volume reconstruction
US11507283B1 (en) 2016-12-20 2022-11-22 Amazon Technologies, Inc. Enabling host computer systems to access logical volumes by dynamic updates to data structure rules
US10268593B1 (en) * 2016-12-20 2019-04-23 Amazon Technologies, Inc. Block store managamement using a virtual computing system service
CN110609656B (zh) * 2018-06-15 2023-05-30 伊姆西Ip控股有限责任公司 存储管理方法、电子设备和计算机程序产品

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4758946A (en) * 1986-04-09 1988-07-19 Elxsi Page mapping system
US5390315A (en) * 1992-06-15 1995-02-14 International Business Machines Corporation Allocation of uniform contiguous blocks of DASD storage by maintaining both a bit and a bit map record of available storage
US6131150A (en) * 1993-10-05 2000-10-10 Digital Equipment Corporation Scaled memory allocation system
US5784699A (en) * 1996-05-24 1998-07-21 Oracle Corporation Dynamic memory allocation in a computer using a bit map index
US5832525A (en) * 1996-06-24 1998-11-03 Sun Microsystems, Inc. Disk fragmentation reduction using file allocation tables
US5897661A (en) * 1997-02-25 1999-04-27 International Business Machines Corporation Logical volume manager and method having enhanced update capability with dynamic allocation of storage and minimal storage of metadata information
JP3726484B2 (ja) * 1998-04-10 2005-12-14 株式会社日立製作所 記憶サブシステム
US6216202B1 (en) * 1998-06-30 2001-04-10 Emc Corporation Method and apparatus for managing virtual storage devices in a storage system
IE20000203A1 (en) 1999-03-25 2001-02-21 Converge Net Technologies Inc Storage domain management system
US6826580B2 (en) * 2000-01-20 2004-11-30 Emc Corporation Distributed storage resource management in a storage area network
JP2001236249A (ja) * 2000-02-24 2001-08-31 Nec Corp メモリ管理装置およびメモリ管理方法
US6718404B2 (en) * 2000-06-02 2004-04-06 Hewlett-Packard Development Company, L.P. Data migration using parallel, distributed table driven I/O mapping
JP2001350707A (ja) 2000-06-06 2001-12-21 Hitachi Ltd 情報処理システム、記憶装置の割り当て方法
WO2002065275A1 (en) * 2001-01-11 2002-08-22 Yottayotta, Inc. Storage virtualization system and methods
JP4175788B2 (ja) * 2001-07-05 2008-11-05 株式会社日立製作所 ボリューム制御装置
US6851082B1 (en) * 2001-11-13 2005-02-01 Network Appliance, Inc. Concentrated parity technique for handling double failures and enabling storage of more than one parity block per stripe on a storage device of a storage array
US7548975B2 (en) * 2002-01-09 2009-06-16 Cisco Technology, Inc. Methods and apparatus for implementing virtualization of storage within a storage area network through a virtual enclosure
JP2003296037A (ja) * 2002-04-05 2003-10-17 Hitachi Ltd 計算機システム
JP2004013547A (ja) * 2002-06-07 2004-01-15 Hitachi Ltd データ割当方法、情報処理システム
JP2005309644A (ja) * 2004-04-20 2005-11-04 Hitachi Ltd リソース制御方法及びそのシステム

Also Published As

Publication number Publication date
JP2004164370A (ja) 2004-06-10
US20040098537A1 (en) 2004-05-20
US7143262B2 (en) 2006-11-28

Similar Documents

Publication Publication Date Title
JP4139675B2 (ja) 仮想ボリュームの記憶領域割当方法、その装置及びプログラム
US11372544B2 (en) Write type based crediting for block level write throttling to control impact to read input/output operations
US7107323B2 (en) System and method of file distribution for a computer system in which partial files are arranged according to various allocation rules
US8041685B2 (en) Method of changing system configuration in shared-nothing database management system
US8051243B2 (en) Free space utilization in tiered storage systems
JP2858795B2 (ja) 実記憶割り当て方法
JPH0659957A (ja) データを記憶するファイル・システム及び記憶空間を割り当てる方法
JP6067819B1 (ja) 階層化ストレージシステム、ストレージコントローラ、並びに重複排除及びストレージ階層化のための方法
JP5080611B2 (ja) ThinProvisioningが適用されたストレージ装置
JP2004070403A (ja) ファイル格納先ボリューム制御方法
US8136116B2 (en) Device allocation utilizing job information, storage system with a spin control function, and computer thereof
JP7467593B2 (ja) リソース割振り方法、記憶デバイス、および記憶システム
JP4748950B2 (ja) 記憶領域管理方法及びシステム
WO2008006674A1 (en) Reserve pool management in virtualized storage systems
WO2024078429A1 (zh) 内存管理方法、装置、计算机设备及存储介质
JP2003131908A (ja) 記憶制御装置
KR20180100475A (ko) 하이브리드 데이터 룩-업 방법
US20080109630A1 (en) Storage system, storage unit, and storage management system
JPWO2013161073A1 (ja) データ管理システム及び方法
JP5183363B2 (ja) 論理ボリュームのデータ移動方法とストレージシステムおよび管理計算機
US20190332261A1 (en) Storage system, method of controlling storage system, and management node
CN116483740B (zh) 内存数据的迁移方法、装置、存储介质及电子装置
JP5730446B1 (ja) トライアル領域を備えた階層化ストレージシステム、ストレージコントローラ及びプログラム
US20160364400A1 (en) Management server which outputs file relocation policy, and storage system
US20140304226A1 (en) Storage system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070918

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071116

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071211

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080304

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080416

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: 20080513

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: 20080609

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110613

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110613

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120613

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120613

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130613

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees