JP2004078398A - 仮想ボリューム管理方式 - Google Patents
仮想ボリューム管理方式 Download PDFInfo
- Publication number
- JP2004078398A JP2004078398A JP2002235603A JP2002235603A JP2004078398A JP 2004078398 A JP2004078398 A JP 2004078398A JP 2002235603 A JP2002235603 A JP 2002235603A JP 2002235603 A JP2002235603 A JP 2002235603A JP 2004078398 A JP2004078398 A JP 2004078398A
- Authority
- JP
- Japan
- Prior art keywords
- management table
- physical
- virtual volume
- logical
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
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)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】論理テーブルは、メモリ122上に配置される上位層論理テーブル131とディスク123〜125上に配置される下位層論理テーブル141〜143とからなる階層構造をとり、仮想ボリュームの各部分に対応する物理領域の各部分がどこにあるかを記憶する。物理テーブルは、メモリ122上に配置される上位層物理テーブル132とディスク123〜125上に配置される下位層物理テーブル144〜146とからなる階層構造をとり、物理領域の各部分の割り当て状態を記憶する。コントローラ121は、下位層論理テーブル141〜143/下位層物理テーブル144〜146の一部/全部をメモリ122にコピーして仮想ボリュームの管理を行う。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は、ディスクアレイ装置における有用な技術のひとつとして知られている仮想ボリューム技術を実現するための仮想ボリューム管理方式(ディスクアレイ装置における仮想ボリューム管理方式)に関する。
【0002】
【従来の技術】
ディスクアレイ装置においては、ボリュームという論理的なデータ記憶空間によってホストアクセス(ホストコンピュータからのアクセス)を制御する。ディスクアレイ装置内部では、ボリュームにライトされたデータが実際にディスクのどこかに保持されるので、ボリューム内の領域のアドレスとディスク内の領域のアドレスとの関係は、ディスクアレイ装置で管理情報として記憶されている。
【0003】
仮想ボリューム技術とは、「ボリュームが構築された時点でボリュームの全領域を実装済みのディスクの物理領域に割り当ててしまうのではなくて、ボリュームが構築された時点ではディスクの物理領域を割り当てずに、それ以降の処理で必要に応じてボリュームの領域を物理領域に割り当てる技術」をいう。
【0004】
この仮想ボリューム技術による第1の利点は、物理容量よりも大きなボリュームを構築することが可能になることである。アプリケーションとしては、大容量の論理空間を定義したいが、その全容量が必ずしも同時に必要ではなく、実際に必要な容量はわずかな容量ですむ場合がある。そのようなアプリケーションでは、大容量の論理空間を定義するのに、それに見合った物理容量が必要ないのであれば、コスト削減につながる。
【0005】
また、仮想ボリューム技術による第2の利点は、後から物理領域への割り当てを動的に変更することが容易にできるということである。ホストアクセスの傾向によってディスク負荷を分散する場合や、ディスクを後から増設した場合等に、物理領域の割り当ての動的な変更を容易に行うことができれば、性能問題の解決策の一助となる。
【0006】
以下に、上記のような仮想ボリューム技術を実現するための仮想ボリューム管理方式の中で現在よく知られた方式を、図12〜図15を用いて説明する。
【0007】
図12は、ディスクアレイ装置の物理的なイメージを示すブロック図である。ホスト21に接続されているディスクアレイ装置22には、ディスク223〜226が搭載されている。ディスク223〜226では、同図に示すように、物理空間が一定の物理エクステントと呼ぶ大きさに区切られて管理されている。
【0008】
また、図13は、ディスクアレイ装置の論理的なイメージを示すブロック図である。ホスト21から見ると、ディスクアレイ装置22にはボリューム227〜228が存在するように見える。ボリューム227〜228は、ディスクアレイ装置22の内部の管理としては、同図に示すように、論理エクステントと呼ぶ大きさに区切られて管理されている。
【0009】
ここで、論理エクステントと物理エクステントとは同一の大きさであり、一対一対応となるが、仮想ボリューム技術ではこの対応付けを必要に応じて行い、必要のない場合には対応付けがないままのエクステントが存在することになる。これらの対応付けを管理する手段として、メモリ部222に、当該対応付けを示す管理テーブルが設けられることになる。この管理テーブルとしては、例えば、図14に示すような論理テーブルと、図15に示すような物理テーブルとが、存在する。
【0010】
図14の論理テーブルは、各論理エクステント(エクステント番号(図中のエクステント#0〜エクステント#4)で識別される論理エクステント)毎に、その論理エクステントが物理エクステントに割り当てられているか否かを示す有効フラグと、割り当て先の物理アドレスを示す割り当て物理アドレスとを管理する。
【0011】
また、図15の物理テーブルは、各物理エクステント(エクステント番号(図中のエクステント#0〜エクステント#4)で識別される物理エクステント)毎に、リンクポインタを管理する。この物理テーブルは、全ての物理エクステントについて、各物理エクステントが割り当て済みか否かを管理するために、割り当て済みでないエクステント(空きエクステント)をリンクによって管理する(空きエクステントカウンタ,空きエクステント先頭リンクポインタ,およびリンクポインタを使って管理する)。
【0012】
【発明が解決しようとする課題】
上記に示すような従来の仮想ボリューム管理方式によって、ディスクアレイ装置における仮想ボリューム技術は実現可能となるが、この従来技術においては、上記で示すような管理テーブル(例えば、図14に示すような論理テーブルおよび図15に示すような物理テーブル)を記憶するために、十分な容量のメモリを搭載していることが条件となる。
【0013】
ここで、管理テーブルの大きさは、上記で示すように、論理ボリュームの大きさと物理容量の大きさとに比例して大きくなる。したがって、構築する論理ボリュームの容量を拡大したり、搭載する物理容量を拡大したりするほど、メモリの容量が多く必要になり、コストアップにつながる。
【0014】
逆に、コストアップを回避するためにメモリの容量を固定するためには、仮想ボリュームとして使用できる論理容量や物理容量を制限することが必要になる。仮想ボリュームの容量が制限されるということは、仮想ボリューム技術の本来の特徴である「低コストで大容量のボリュームを定義すること」や、「性能問題の発生しないディスク増設を実現すること」等の利点を十分に達成できないことになる。
【0015】
上記のように、仮想ボリューム技術を十分有効に活用するためには、「コスト的な制限なく、大容量の論理空間・物理空間を制御できること」が望まれる。しかしながら、従来の仮想ボリューム管理方式では、このような要請に的確に応えることができないという問題点があった。
【0016】
本発明の目的は、上述の点に鑑み、ディスクアレイ装置において仮想ボリューム技術を実現するに際して、その管理情報の扱いを工夫すること(管理テーブルの全管理データをディスクドライブに配置し、そのうち必要な部分をその都度部分的にメモリ上の固定領域に入れ替えること)で、仮想ボリュームの管理情報処理におけるディスクアクセスのためのオーバヘッドを可能な範囲で最小限に抑えながら、少ない容量のメモリで大容量の仮想ボリュームを定義することができる仮想ボリューム管理方式を提供することにある。
【0017】
すなわち、本発明の特徴は、仮想ボリュームの管理に必要な管理テーブル(論理テーブルおよび物理テーブル)を階層的に管理し、「上位層(上位階層)の管理テーブルの情報はメモリに常駐させ、下位層(下位階層)の管理テーブルの情報の実体をディスク上に置きながら必要に応じてメモリに読み込む」というキャッシュ制御を行うことにある。これにより、頻繁にアクセスされる管理テーブル内のデータがメモリ上に存在する場合が多くなり、仮想ボリュームに関する管理情報の処理に置いてメモリアクセスだけですむ場合が多くなり、ディスクアクセスまで行わなければならない場合が少なくなるため、平均的には管理情報が全てメモリ上に有る場合に近い処理時間となる。その結果、限られた容量のメモリで、より大容量の仮想ボリュームを実現することが可能になる。
【0018】
【課題を解決するための手段】
本発明の仮想ボリューム管理方式は、ホストからのアクセスが行われるディスクアレイ装置において、一定の大きさの複数の管理テーブルバッファを備える管理テーブルバッファ領域とその管理テーブルバッファ領域の管理を行うメモリ管理テーブルとからなるメモリ上のキャッシュ制御領域と、メモリ上に配置される上位層論理テーブルとディスク上に配置される下位層論理テーブルとからなる階層構造をとっており、上位層論理テーブルが下位層論理テーブル中の各管理テーブルブロックの前記キャッシュ制御領域上の所在位置とディスク上の所在位置とを管理しており、仮想ボリューム(論理ボリューム)における各論理エクステントが割り当てられているディスク上の物理エクステントがどこに存在するかを示す情報(割り当てられていないということを示す情報を含む)を記憶する論理テーブルと、メモリ上に配置される上位層物理テーブルとディスク上に配置される下位層物理テーブルとからなる階層構造をとっており、上位層物理テーブルが下位層物理テーブル中の各管理テーブルブロックの前記キャッシュ制御領域上の所在位置とディスク上の所在位置とを管理しており、各物理エクステントの割り当て状態を示す情報を記憶する物理テーブルと、下位層論理テーブル/下位層物理テーブルへのアクセスが必要な場合に、上記の管理テーブルバッファを獲得して、アクセスが必要な下位層論理テーブル/下位層物理テーブル中の管理テーブルブロックのデータ(下位層論理テーブル/下位層物理テーブルの部分データ)を当該管理テーブルバッファにコピーし、アクセスが終わった後もそのままそのデータをその管理テーブルバッファに記憶しておくことにより、前記キャッシュ制御領域とディスク上の管理テーブルブロックが格納されている領域との間でのキャッシュ制御(「必要なデータを読み込むこと」および「更新されたデータを書き込むこと」を内容とするキャッシュ制御)を行うコントローラとを有する。
【0019】
また、本発明の仮想ボリューム管理方式は、上記の特徴に加えて、下位層論理テーブル/下位層物理テーブルへのアクセスが必要な場合に必要な部分のデータをコピーするための管理テーブルバッファが余っていないときに、アクセス時点が最も古い管理テーブルバッファにおける追い出し処理(キャッシュ制御の一部としてメモリ上の古いデータを新しいデータで追い出す処理)によって、上記のデータのコピーを実現するコントローラを有することを特徴とするように構成することも可能である。
【0020】
ここで、本発明の仮想ボリューム管理方式は、例えば、下位層論理テーブルが構築されていないこと示す情報(全ての有効フラグにおける無効を示す情報)を持つ上位層論理テーブルを構築することによって仮想ボリュームの構築を行う仮想ボリューム構築手段と、ホストからのライト要求に係るアクセスに応じて仮想ボリュームライト処理(後述の図7に示す処理)を行い、ホストからのリード要求に係るアクセスに応じて仮想ボリュームリード処理(後述の図8に示す処理)を行う仮想ボリュームリードライト手段と、前記仮想ボリュームリードライト手段からの要求(図7中のステップA3またはステップA8を実行するための要求)に応じて空き物理エクステント獲得処理(後述の図10に示す処理)を行う空き物理エクステント獲得手段と、前記仮想ボリュームリードライト手段や前記空き物理エクステント獲得手段からの要求(図7中のステップA5もしくは図8中のステップB3または図10中のステップD3を実行するための要求)に応じて空き管理テーブルバッファ獲得処理(後述の図9に示す処理)を行う空き管理テーブルバッファ獲得手段とを備え、これらの手段によって仮想ボリュームの管理のためのキャッシュ制御を実現するコントローラを有するように構成することが考えられる。
【0021】
なお、本発明の仮想ボリューム管理方式は、より一般的には、ホストからのアクセスが行われるディスクアレイ装置において、メモリ上に配置される上位層論理テーブルとディスク上に配置される下位層論理テーブルとからなる階層構造をとっており、仮想ボリュームの各部分に対応する物理領域の各部分がどこにあるかを記憶する論理テーブルと、メモリ上に配置される上位層物理テーブルとディスク上に配置される下位層物理テーブルとからなる階層構造をとっており、物理領域の各部分の割り当て状態を記憶する物理テーブルと、下位層論理テーブル/下位層物理テーブルの一部/全部をメモリにコピーして仮想ボリュームの管理を行うコントローラとを有する構成であると表現することができる。
【0022】
また、本発明は、一定の大きさの複数の管理テーブルバッファを備える管理テーブルバッファ領域とその管理テーブルバッファ領域の管理を行うメモリ管理テーブルとからなるメモリ上のキャッシュ制御領域,メモリ上に配置される上位層論理テーブルとディスク上に配置される下位層論理テーブルとからなる階層構造をとっており、上位層論理テーブルが下位層論理テーブル中の各管理テーブルブロックの前記キャッシュ制御領域上の所在位置とディスク上の所在位置とを管理しており、仮想ボリュームにおける各論理エクステントが割り当てられているディスク上の物理エクステントがどこに存在するかを示す情報を記憶する論理テーブル,およびメモリ上に配置される上位層物理テーブルとディスク上に配置される下位層物理テーブルとからなる階層構造をとっており、上位層物理テーブルが下位層物理テーブル中の各管理テーブルブロックの前記キャッシュ制御領域上の所在位置とディスク上の所在位置とを管理しており、各物理エクステントの割り当て状態を示す情報を記憶する物理テーブルを有するディスクアレイ装置内のコントローラを、下位層論理テーブル/下位層物理テーブルへのアクセスが必要な場合に、上記の管理テーブルバッファを獲得して、アクセスが必要な下位層論理テーブル/下位層物理テーブル中の管理テーブルブロックのデータを当該管理テーブルバッファにコピーし、アクセスが終わった後もそのままそのデータをその管理テーブルバッファに記憶しておくことにより、前記キャッシュ制御領域とディスク上の管理テーブルブロックが格納されている領域との間でのキャッシュ制御を行うように機能させる(当該機能に加えて、下位層論理テーブル/下位層物理テーブルへのアクセスが必要な場合に必要な部分のデータをコピーするための管理テーブルバッファが余っていないときに、アクセス時点が最も古い管理テーブルバッファにおける追い出し処理によって、上記のデータのコピーを実現するように機能させることも考えられる)ためのプログラムの態様で実現することも可能である。
【0023】
【発明の実施の形態】
次に、本発明について図面を参照して詳細に説明する。
【0024】
(1) 第1の実施の形態
【0025】
図1は、本発明の第1の実施の形態に係る仮想ボリューム管理方式が適用されるコンピュータシステムの構成を示すブロック図である。
【0026】
図1を参照すると、このコンピュータシステムは、ホスト(ホストコンピュータ)11と、ディスクアレイ装置12とを含んで構成されている。
【0027】
ディスクアレイ装置12は、コントローラ121と、メモリ122と、ディスク(物理ディスク)123〜125とを含んで構成されている(ディスクの数が3に限定されないことはいうまでもない)。
【0028】
コントローラ121は、仮想ボリューム構築手段1と、仮想ボリュームリードライト手段2と、空き管理テーブルバッファ獲得手段3と、空き物理エクステント獲得手段4とを含んで構成されている。
【0029】
メモリ122には、上位層論理テーブル131と、上位層物理テーブル132と、メモリ管理テーブル133と、管理テーブルバッファ領域134とが存在する。
【0030】
ディスク123には、下位層論理テーブル141と、下位層物理テーブル144とが存在する。また、ディスク124には、下位層論理テーブル142と、下位層物理テーブル145とが存在する。さらに、ディスク125には、下位層論理テーブル143と、下位層物理テーブル146とが存在する。
【0031】
上記のように、上位層論理テーブル131および上位層物理テーブル132は、メモリ122上に存在するため、コントローラ121からの高速なアクセスが可能である。
【0032】
一方、下位層論理テーブル141〜143および下位層物理テーブル144〜146は、ディスク123〜125上に存在し、部分的に、その内容が管理テーブルバッファ領域134にコピーされる。管理テーブルバッファ領域134の状態は、メモリ管理テーブル133において管理される。すなわち、メモリ管理テーブル133と管理テーブルバッファ領域134とによって、下位層テーブル(下位層論理テーブル141〜143および下位層物理テーブル144〜146)のキャッシュ制御が行われる(メモリ管理テーブル133と管理テーブルバッファ領域134とによりキャッシュ制御領域が形成される)。
【0033】
図2〜図6は、本発明の仮想ボリューム管理方式の特徴をなす仮想ボリューム管理テーブル(上位層/下位層の論理テーブル/物理テーブル)を説明するための図である。
【0034】
本実施の形態、ひいては本発明では、論理テーブルは、2階層の階層構造で構築されている。
【0035】
下位層論理テーブル141〜143は、従来技術における論理テーブルと同じものであり、各論理エクステントについて、割り当て先の物理エクステントを管理するための情報を保持している。この下位層論理テーブル141〜143は、ディスク123〜125上の物理エクステントに保存され、その一部のみが(管理テーブルブロックという単位で)必要に応じてメモリ122上に読み出される。ここで、下位層論理テーブル141〜143は、一定の大きさに分割されている(この分割単位が管理テーブルブロックに該当する)。
【0036】
上位層論理テーブル131は、管理テーブルブロックを単位として、その管理テーブルブロックがディスク123〜125上のどの位置に保存されているか、また、メモリ122上のどの位置に保存されているか、を管理する。
【0037】
また、本実施の形態、ひいては本発明では、物理テーブルも、2階層の階層構造で構築されており(下位層物理テーブル144〜146と上位層物理テーブル132とが存在する)、上述の論理テーブルと同様な管理を行っている。
【0038】
メモリ122上には、下位層テーブルの管理テーブルブロックを一時的に保存する領域(管理テーブルバッファ領域134)と、それを管理する領域(メモリ管理テーブル133)とが存在する。必要に応じて、ディスク123〜125から管理テーブルブロックが読み出されてメモリ122に格納される。上記の領域(下位層テーブルを一時的に保存する領域)の大きさは、一定であるので、空き領域がない場合には追い出し制御が行われるが、頻繁に使用する管理テーブルブロックがメモリ122上に存在していることで、ディスクアクセスが必要になるケースは少ない。
【0039】
図2は、上位層論理テーブル131の詳細な構成を示す図である。
【0040】
上位層論理テーブル131は、メモリ122上に存在し、各ボリューム(仮想ボリューム)における各管理テーブルブロック(ボリューム番号(図中のボリューム#0,#1,…)および管理テーブルブロック番号(図中の管理テーブルブロック#0,#1,…)で識別される論理テーブル上の管理テーブルブロック)毎に、有効フラグと、割り当て物理アドレスと、メモリ有効フラグと、割り当てメモリアドレスとを管理する。
【0041】
ある管理テーブルブロックに対する有効フラグは、その管理テーブルブロックがディスク123〜125上に存在するか否かを示す(存在する場合にフラグオンとなる)。
【0042】
ある管理テーブルブロックに対する割り当て物理アドレスは、その管理テーブルブロックがディスク123〜125上に存在する場合(有効フラグがフラグオンの場合)に、その管理テーブルブロックのディスク123〜125上のアドレスを示す。
【0043】
ある管理テーブルブロックに対するメモリ有効フラグは、その管理テーブルブロックがメモリ122上に存在するか否かを示す(存在する場合にフラグオンとなる)。
【0044】
ある管理テーブルブロックに対する割り当てメモリアドレスは、その管理テーブルブロックがメモリ122上に存在する場合(メモリ有効フラグがフラグオンの場合)に、その管理テーブルブロックのメモリ122上のアドレスを示す。
【0045】
図3は、下位層論理テーブル141〜143の詳細な構成を示す図である。
【0046】
下位層論理テーブル141〜143は、各ボリューム(仮想ボリューム)における各論理エクステント(ボリューム番号(図中のボリューム#0,#1,…)およびエクステント番号(図中のエクステント#0,#1,…)で識別される論理エクステント)毎に、有効フラグと、割り当て物理アドレスとを管理する。
【0047】
なお、このテーブルは、図3の全体のイメージのままでは存在せず、ディスク123〜125上に分散して配置されている。また、その一部が必要に応じてメモリ122上のキャッシュ制御領域にコピーされている。このコピーの際等に取り扱われる下位層論理テーブル141〜143内のデータの分割単位を、管理テーブルブロック(論理テーブル上の管理テーブルブロック)と呼ぶ。
【0048】
ここでは、エクステント#0から#N−1(Nは正整数)までのテーブル(データ)をまとめて管理テーブルブロック#0と呼び、エクステント#Nから#2N−1までのテーブル(データ)をまとめて管理テーブルブロック#1と呼ぶこととする。
【0049】
ある論理エクステントに対する有効フラグは、その論理エクステントが物理エクステントに割り当てられているか否かを示す(割り当てられている場合にフラグオンとなる)。
【0050】
ある論理エクステントに対する割り当て物理アドレスは、その論理エクステントが物理エクステントに割り当てられている場合に、その物理エクステントのアドレスを示す。
【0051】
図4は、上位層物理テーブル132の詳細な構成を示す図である。
【0052】
上位層物理テーブル132は、メモリ122上に存在し、各ディスクにおける各管理テーブルブロック(ディスク番号(図中のディスク#0,#1,…)および管理テーブルブロック番号(図中の管理テーブルブロック#0,#1,…)で識別される物理テーブル上の管理テーブルブロック)毎に、リンクポインタと、メモリ有効フラグと、割り当てメモリアドレスとを管理する。また、空き管理テーブルブロックリンクの管理ために、空き管理テーブルブロックカウンタおよび空き管理テーブルブロック先頭リンクポインタを有している。
【0053】
リンクポインタは、空き管理テーブルブロック先頭リンクポインタとともに、空き管理テーブルブロックリンクを形成する。この空き管理テーブルブロックリンクは、自己(物理テーブル上の管理テーブルブロック)に含まれる物理エクステントのなかにひとつでも論理エクステントに割り当てられていない物理エクステントが存在する管理テーブルブロックのみで形成されるリンクである。
【0054】
空き管理テーブルブロックカウンタは、空き管理テーブルブロックリンクを形成する管理テーブルブロックの数を管理する。
【0055】
ある管理テーブルブロックに対するメモリ有効フラグは、その管理テーブルブロックがメモリ122上に存在するか否かを示す(存在する場合にフラグオンとなる)。
【0056】
ある管理テーブルブロックに対する割り当てメモリアドレスは、その管理テーブルブロックがメモリ122上に存在する場合(メモリ有効フラグがフラグオンの場合)に、その管理テーブルブロックのメモリ122上のアドレスを示す。
【0057】
図5は、下位層物理テーブル144〜146の詳細な構成を示す図である。
【0058】
下位層物理テーブル144〜146は、各ディスクにおける各物理エクステント(ディスク番号(図中のディスク#0,#1,…)およびエクステント番号(図中のエクステント#0,#1,…)で識別される物理エクステント)毎に、リンクポインタを管理する。また、空きエクステントリンクの管理ために、空きエクステントカウンタおよび空きエクステント先頭リンクポインタを有している。
【0059】
なお、このテーブルも、下位層論理テーブル141〜143と同様に、図5の全体のイメージのままでは存在せず、ディスク123〜125上に分散して配置されている。また、その一部がメモリ122上のキャッシュ制御領域にコピーされている。このコピーの際等に取り扱われる下位層物理テーブル144〜146内のデータの分割単位を、管理テーブルブロック(物理テーブル上の管理テーブルブロック)と呼ぶ。
【0060】
ここでは、エクステント#0から#M−1(Mは正整数)までのテーブル(データ)をまとめて管理テーブルブロック#0と呼び、エクステント#Mから#2M−1までのテーブル(データ)をまとめて管理テーブルブロック#1と呼ぶこととする。
【0061】
リンクポインタは、空きエクステント先頭リンクポインタとともに、空きエクステントリンクを形成する。この空きエクステントリンクは、論理エクステントが割り当てられていない物理エクステントのみで形成されるリンクである。
【0062】
空きエクステントカウンタは、空きエクステントリンクを形成する物理エクステントの数を管理する。
【0063】
図6は、メモリ122上のキャッシュ制御領域(メモリ管理テーブル133および管理テーブルバッファ領域134)の詳細な構成を示す図である。
【0064】
管理テーブルバッファ領域134は、管理テーブルブロック(論理テーブル上の管理テーブルブロックまたは物理テーブル上の管理テーブルブロック)を格納するための領域であり、複数の管理テーブルバッファ(図中の管理テーブルバッファ(#0),管理テーブルバッファ(#1),…)を備えている。
【0065】
メモリ管理テーブル133は、各管理テーブルバッファ(管理テーブルバッファ番号(図中の管理テーブルバッファ#0,#1,…)で識別される管理テーブルバッファ)毎に、順方向リンクポインタと、逆方向リンクポインタと、テーブル種別と、管理ブロック情報とを管理する。また、空き管理テーブルバッファリンクの管理ために、空き管理テーブルバッファカウンタ,空き管理テーブルバッファ先頭リンクポインタ,および空き管理テーブルバッファ最後尾リンクポインタを有しており、使用中管理テーブルバッファリンクの管理ために、使用中管理テーブルバッファカウンタ,使用中管理テーブルバッファ先頭リンクポインタ,および使用中管理テーブルバッファ最後尾リンクポインタを有している。
【0066】
順方向リンクポインタおよび逆方向リンクポインタは、空き管理テーブルバッファ先頭リンクポインタおよび空き管理テーブルバッファ最後尾リンクポインタとともに空き管理テーブルバッファリンクを形成するか、または、使用中管理テーブルバッファ先頭リンクポインタおよび使用中管理テーブルバッファ最後尾リンクポインタとともに使用中管理テーブルバッファリンクを形成する。
【0067】
空き管理テーブルバッファカウンタは、空き管理テーブルバッファリンクに含まれる管理テーブルバッファの数を管理する。また、使用中管理テーブルバッファカウンタは、使用中管理テーブルバッファリンクに含まれる管理テーブルバッファの数を管理する。
【0068】
ある管理テーブルバッファに対するテーブル種別は、その管理テーブルバッファに、論理テーブル上の管理テーブルブロックが格納されているか物理テーブル上の管理テーブルブロックが格納されているかを示す。
【0069】
ある管理テーブルバッファに対する管理ブロック情報は、その管理テーブルバッファに格納されている管理テーブルブロックの管理テーブルブロック番号を示す。
【0070】
図7は、本実施の形態に係る仮想ボリューム管理方式における仮想ボリュームライト処理を示す流れ図である。この処理は、上位層論理テーブルメモリ有効フラグチェックステップA1と、上位層論理テーブル有効フラグチェックステップA2と、空き物理エクステント獲得処理ステップA3と、管理テーブルブロック作成ステップA4と、空き管理テーブルバッファ獲得処理ステップA5と、管理テーブルブロック読み出しステップA6と、論理エクステント有効フラグチェックステップA7と、空き物理エクステント獲得処理ステップA8と、データ書き込みステップA9とからなる。
【0071】
図8は、本実施の形態に係る仮想ボリューム管理方式における仮想ボリュームリード処理を示す流れ図である。この処理は、上位層論理テーブルメモリ有効フラグチェックステップB1と、上位層論理テーブル有効フラグチェックステップB2と、空き管理テーブルバッファ獲得処理ステップB3と、管理テーブルブロック読み出しステップB4と、論理エクステント有効フラグチェックステップB5と、ダミーデータ作成ステップB6と、データ読み出しステップB7とからなる。
【0072】
図9は、本実施の形態に係る仮想ボリューム管理方式における空き管理テーブルバッファ獲得処理を示す流れ図である。この処理は、空き管理テーブルバッファカウンタチェックステップC1と、使用中管理テーブルバッファリンク除去ステップC2と、管理テーブルバッファ関係情報削除ステップC3と、空き管理テーブルバッファリンク除去ステップC4と、管理テーブルバッファ新規関係情報構築ステップC5と、使用中管理テーブルバッファリンク挿入ステップC6とからなる。
【0073】
図10は、本実施の形態に係る仮想ボリューム管理方式における空き物理エクステント獲得処理を示す流れ図である。この処理は、ディスク選択ステップD1と、上位層物理テーブルメモリ有効フラグチェックステップD2と、空き管理テーブルバッファ獲得処理ステップD3と、管理テーブルブロック読み出しステップD4と、空きエクステントリンク除去ステップD5とからなる。
【0074】
次に、図1〜図10を参照して、上記のように構成された本実施の形態に係る仮想ボリューム管理方式の全体の動作について詳細に説明する。
【0075】
第1に、仮想ボリューム構築処理時の動作について説明する。
【0076】
ディスクアレイ装置12上のコントローラ121内の仮想ボリューム構築手段1は、仮想ボリュームの構築を、図2に示すような上位層論理テーブル131を構築することによって行う。
【0077】
この時点では、下位層論理テーブル141〜143が構築されていないので、上位層論理テーブル131中の有効フラグは全て無効となっている。
【0078】
ここまでの処理(有効フラグが全て無効の上位層論理テーブル131を構築する処理)により、仮想ボリュームの構築は完了する。
【0079】
なお、ここまでの処理は全てメモリ122上の操作で実現できるので、この仮想ボリューム構築処理は、高速に実施することが可能となる。
【0080】
第2に、ボリューム(仮想ボリューム)に対するリードライト処理時の動作について説明する。
【0081】
まず、仮想ボリュームライト処理時の動作フローについて説明する(図7参照)。
【0082】
ホスト11からディスクアレイ装置12に対してライト対象の論理エクステントのアドレス(論理アドレス)が指定されてアクセスが行われた場合に、仮想ボリュームライト処理が始まる。すなわち、コントローラ121内の仮想ボリュームリードライト手段2は、以下に示すような処理を行う。
【0083】
まず、上位層論理テーブル131において、当該アドレスの論理エクステントを含む管理テーブルブロックに対するメモリ有効フラグをチェックし、フラグオンであるか否か(そのメモリ有効フラグが有効であるか無効であるか)を判定する(ステップA1)。
【0084】
ステップA1で「そのメモリ有効フラグが無効である」と判定した場合には、必要な管理テーブルブロックがメモリ122上に存在しないことを意味しているので、次に、上位層論理テーブル131において、当該管理テーブルブロックに対する有効フラグをチェックし、フラグオンであるか否か(その有効フラグが有効であるか無効であるか)を判定する(ステップA2)。
【0085】
ステップA2で「その有効フラグが有効である」と判定した場合には、必要な管理テーブルブロックがディスク123〜125上に存在することを意味しているので、当該管理テーブルブロックをメモリ122に転送するための空き管理テーブルバッファ獲得処理を行わせる(ステップA5)。なお、この空き管理テーブルバッファ獲得処理については、後で詳しく説明する。
【0086】
ステップA5の空き管理テーブルバッファ獲得処理でメモリ122上の管理テーブルバッファ領域134内の管理テーブルバッファを獲得したら、当該管理テーブルバッファに、ディスク123〜125上の下位層論理テーブル141〜143から、当該管理テーブルブロックの読み出し処理を実行する(ステップA6)。
【0087】
ステップA6の読み出し処理(管理テーブルバッファへの当該管理テーブルブロックの転送処理)が終了した場合または先述のステップA1で「そのメモリ有効フラグが有効である」と判定した場合(必要な管理テーブルブロックがメモリ122上の管理テーブルバッファ領域134内の管理テーブルバッファに存在していた場合)には、メモリ122上の管理テーブルバッファ領域134内の当該管理テーブルバッファにおける当該管理テーブルブロック(メモリ122上に転送された下位層論理テーブル141〜143の部分データ)中の当該論理エクステント(アクセス対象の論理エクステント)に対する有効フラグをチェックし、その有効フラグが有効であるか無効であるかを判定する(ステップA7)。
【0088】
ステップA7で「その有効フラグが無効である」と判定した場合には、これからライトしようとしている論理エクステントがまだ物理エクステントに割り当てられていないことを意味しているので、空き物理エクステント獲得処理を行わせる(ステップA8)。なお、この空き物理エクステント獲得処理については、後で詳しく説明する。
【0089】
また、ステップA2で「その有効フラグが無効である」と判定した場合(必要な管理テーブルブロックがディスク123〜125上にも存在しない場合)にも、当該管理テーブルブロックの構築を実施しなければならないので、空き物理エクステント獲得処理を行わせる(ステップA3)。
【0090】
ステップA3で空き物理エクステントを獲得したら、論理テーブル上の管理テーブルブロック(下位層論理テーブル141〜143内の当該管理テーブルブロック)をその物理エクステント上に作成する(下位層論理テーブル141〜143内の管理テーブルブロックの作成処理を行う)(ステップA4)。
【0091】
さらに、この場合には、これからライトしようとしている論理エクステントがまだ物理エクステントに割り当てられていないので、空き物理エクステント獲得処理を行う(ステップA8)。
【0092】
ステップA8の空き物理エクステント獲得処理が終了した場合または先述のステップA7で「その有効フラグ(アクセス対象の論理エクステントに対する有効フラグ)が有効である」と判定した場合には、当該論理エクステントは物理エクステントに割り当てられており、これからデータをライトしようとしている論理エクステントがどの物理エクステントに割り当てられているかが分かっているので、ディスク123〜125上の当該物理エクステントにライト対象のデータを書き込む(ステップA9)。これによって、仮想ボリュームライト処理が完了する。
【0093】
次に、仮想ボリュームリード処理時の動作フローについて説明する(図8参照)。
【0094】
仮想ボリュームリード処理のフロー(図8のフロー)は、仮想ボリュームライト処理のフロー(図7のフロー)とほとんど同じであるので、異なる部分のみを説明する。
【0095】
両処理が異なる点は、ホスト11から指定されたアドレスで特定される論理エクステントが物理エクステントに割り当てられていない場合(そのようなアドレスに対するライト要求/リード要求が発生した場合)の対応である。
【0096】
仮想ボリュームリード処理の場合には、通常、このようなアドレスはホスト11から見て有意なデータが存在しないので、リードすることには意味がない。しかし、仮にリードされた場合には、ダミーデータを返せばよい。したがって、仮想ボリュームライト処理の時とは違い、この時点での物理エクステントの割り当て処理(図7中のステップA3,ステップA4,およびステップA8)は行われない。
【0097】
すなわち、仮想ボリュームリードライト手段2は、図8のフローにおいては、図7におけるステップA3,ステップA4,およびステップA8に対応する処理を行わない。一方、図8のフローにおける特有の処理として、ダミーデータ作成処理(ステップB6)を実行し、指定されたアドレスで特定される論理エクステントが物理エクステントに割り当てられていない場合に、ダミーデータをホスト11に返却する。
【0098】
なお、仮想ボリュームライト処理と仮想ボリュームリード処理との間の処理内容の違い(ライト処理かリード処理かの違い)に基づき、図7のフローにおける「データのディスクへの書き込み」(ステップA9参照)が、図8のフローにおいては「データのディスクからの読み出し」(ステップB7参照)に変わっている。
【0099】
第3に、空き管理テーブルバッファ獲得処理時の動作について説明する(図9参照)。
【0100】
コントローラ121内の空き管理テーブルバッファ獲得手段3は、先述のステップA5もしくはステップB3または後述のステップD3における空き管理テーブルバッファ獲得処理として、以下に示すような処理を行う。
【0101】
処理を開始すると、メモリ管理テーブル133内の空き管理テーブルバッファカウンタをチェックし、その値が0(ゼロ)でないかどうかの判定によって、空き管理テーブルバッファの有無を判定する(ステップC1)。
【0102】
ステップC1で「空き管理テーブルバッファが存在しない(空き管理テーブルバッファカウンタの値がゼロである)」と判定した場合には、全ての管理テーブルバッファが別の管理テーブルブロックで埋まってしまっていることを意味するため、追い出し処理を行わなければならない。そこで、LRU(Least Reacently Used)リンクである使用中管理テーブルバッファリンクの最後尾に存在する管理テーブルバッファを当該使用中管理テーブルバッファリンクからはずす(ステップC2)。
【0103】
次に、当該管理テーブルバッファの関係情報を削除する(ステップC3)。すなわち、当該管理テーブルバッファに格納されていた管理テーブルブロックに対応する上位層テーブル(上位層論理テーブル131または上位層物理テーブル132)におけるメモリ有効フラグを無効にする。
【0104】
一方、ステップC1で「空き管理テーブルバッファが存在する(空き管理テーブルバッファカウンタの値がゼロではない)」と判定した場合には、追い出し処理は必要ないので、空き管理テーブルバッファを空き管理テーブルバッファリンクからはずす(ステップC4)。
【0105】
次に、ステップC3またはステップC4で獲得した管理テーブルバッファの新規関係情報を構築する(ステップC5)。すなわち、当該管理テーブルバッファに格納される管理テーブルブロックに対応する情報を以下のaおよびbに示すように設定する。
【0106】
a.上位層テーブル(上位層論理テーブル131または上位層物理テーブル132)において、当該管理テーブルブロックに対応するメモリ有効フラグを有効とし、当該管理テーブルブロックに対応する割り当てメモリアドレスをセットする。
【0107】
b.メモリ管理テーブル133において、当該管理テーブルブロックに対応するテーブル種別および管理ブロック情報をセットする。
【0108】
その上で、当該管理テーブルバッファをLRUリンクである使用中管理テーブルバッファリンクの先頭に挿入する(ステップC6)。これによって、空き管理テーブルバッファ獲得処理が完了する。
【0109】
第4に、空き物理エクステント獲得処理時の動作について説明する(図10参照)。
【0110】
コントローラ121内の空き物理エクステント獲得手段4は、ステップA3またはステップA8における空き物理エクステント獲得処理として、以下に示すような処理を行う。
【0111】
処理を開始すると、上位層物理テーブル132内の空き管理テーブルブロックカウンタをチェックする(ディスクが複数有ればこの空き管理テーブルブロックカウンタも複数有るので、複数の空き管理テーブルブロックカウンタをチェックする)。そして、当該チェックに基づいて、割り当て量が全てのディスク123〜125の各々に公平に分散するように、ディスクの選択を行う(ステップD1)。通常は、割り当て量が最も少ない(空き管理テーブルブロックカウンタの値が最も大きい)ディスクを選択する。
【0112】
次に、上位層物理テーブル132における当該ディスク(ステップD1で選択したディスク)に関する空き管理テーブルブロックリンクの先頭にリンクされている管理テーブルブロックをチェックし、当該管理テーブルブロックのメモリ有効フラグが有効であるか無効であるかを判定する(ステップD2)。
【0113】
ステップD2で「当該管理テーブルブロックのメモリ有効フラグが無効である」と判定した場合には、当該管理テーブルブロックがメモリ122上に存在しないことを意味しているので、読み出し処理が必要となる。したがって、この場合には、空き管理テーブルバッファ獲得処理を行わせ(ステップD3)、ステップD3で獲得した管理テーブルバッファに当該管理テーブルブロックの読み出し(転送)を行う(ステップD4)。
【0114】
一方、ステップD2で「当該管理テーブルブロックのメモリ有効フラグが有効である」と判定した場合またはステップD4の管理テーブルブロックの読み出しが終了した場合には、当該管理テーブルブロックに関する空きエクステントリンクの先頭にリンクされている物理エクステントを空きエクステントリンクからはずすことにより、下位層物理テーブル144〜146において空き物理エクステントを獲得する(ステップD5)。これによって、空き物理エクステント獲得処理が完了する。
【0115】
(2) 第2の実施の形態
【0116】
図11は、本発明の第2の実施の形態の構成を示すブロック図である。
【0117】
図11を参照すると、本発明の第2の実施の形態は、図1に示した第1の実施の形態に係る仮想ボリューム管理方式に対して、仮想ボリューム管理制御プログラム1100を備える点が異なっている。
【0118】
仮想ボリューム管理制御プログラム1100は、ディスクアレイ装置12内のコントローラ121に読み込まれ、当該コントローラ121の動作を仮想ボリューム構築手段1,仮想ボリュームリードライト手段2,空き管理テーブルバッファ獲得手段3,および空き物理エクステント獲得手段4として制御する。仮想ボリューム管理制御プログラム1100の制御によるコントローラ121の動作は、上位層論理テーブル131,上位層物理テーブル132,メモリ管理テーブル133,および管理テーブルバッファ領域134を有することとなるメモリ122ならびに下位層論理テーブル141〜143および下位層物理テーブル144〜146を格納することとなるディスク123〜125が存在することを前提として、第1の実施の形態におけるコントローラ121(仮想ボリューム構築手段1,仮想ボリュームリードライト手段2,空き管理テーブルバッファ獲得手段3,および空き物理エクステント獲得手段4)の動作と全く同様になるので、その詳しい説明を割愛する。
【0119】
【発明の効果】
以上説明したように、本発明によると、以下に示すような効果が生じる。
【0120】
本発明の第1の効果は、仮想ボリュームの管理に不可欠な管理テーブル(下位層論理テーブルおよび下位層物理テーブル)をディスク上に配置し、その一部だけをメモリ上で管理することにより、高価な大容量のメモリを実装しなくても大容量の仮想ボリューム空間を実現することが可能になるということにある。
【0121】
ここで、一般に、管理情報をディスク上に配置する場合には、管理情報の参照においてオーバヘッドが発生することになる。しかし、本発明では、管理情報を管理テーブルブロックと呼ぶブロック(分割単位)に区切って、限られたメモリ領域(キャッシュ制御領域)を使用したキャッシュ管理を行うことにより、全ての管理情報のうちよく参照される部分がメモリ上に存在することになる。
【0122】
すなわち、本発明の第2の効果は、上記のようなオーバヘッドの問題が生じないということにある。この結果として、特に問題なく、「大容量のメモリを使用せずに大容量の仮想ボリュームを実現することが可能になる」という上記の第1の効果を挙げることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係る仮想ボリューム管理方式が適用されるコンピュータシステムの構成を示すブロック図である。
【図2】図1中の上位層論理テーブルの詳細な構成を示す図である。
【図3】図1中の下位層論理テーブルの詳細な構成を示す図である。
【図4】図1中の上位層物理テーブルの詳細な構成を示す図である。
【図5】図1中の下位層物理テーブルの詳細な構成を示す図である。
【図6】図1中のメモリ管理テーブルおよび管理テーブルバッファ領域の詳細な構成を示す図である。
【図7】図1に示す仮想ボリューム管理方式における仮想ボリュームライト処理を示す流れ図である。
【図8】図1に示す仮想ボリューム管理方式における仮想ボリュームリード処理を示す流れ図である。
【図9】図1に示す仮想ボリューム管理方式における空き管理テーブルバッファ獲得処理を示す流れ図である。
【図10】図1に示す仮想ボリューム管理方式における空き物理エクステント獲得処理を示す流れ図である。
【図11】本発明の第2の実施の形態の構成を示すブロック図である。
【図12】従来の仮想ボリューム管理方式を説明するためのブロック図である。
【図13】従来の仮想ボリューム管理方式を説明するためのブロック図である。
【図14】従来の仮想ボリューム管理方式における論理テーブルの構成を示す図である。
【図15】従来の仮想ボリューム管理方式における物理テーブルの構成を示す図である。
【符号の説明】
1 仮想ボリューム構築手段
2 仮想ボリュームリードライト手段
3 空き管理テーブルバッファ獲得手段
4 空き物理エクステント獲得手段
11 ホスト
12 ディスクアレイ装置
121 コントローラ
122 メモリ
123,124,125 ディスク
131 上位層論理テーブル
132 上位層物理テーブル
133 メモリ管理テーブル
134 管理テーブルバッファ領域
141,142,143 下位層論理テーブル
144,145,146 下位層物理テーブル
1100 仮想ボリューム管理制御プログラム
Claims (8)
- ホストからのアクセスが行われるディスクアレイ装置において、メモリ上に配置される上位層論理テーブルとディスク上に配置される下位層論理テーブルとからなる階層構造をとっており、仮想ボリュームの各部分に対応する物理領域の各部分がどこにあるかを記憶する論理テーブルと、
メモリ上に配置される上位層物理テーブルとディスク上に配置される下位層物理テーブルとからなる階層構造をとっており、物理領域の各部分の割り当て状態を記憶する物理テーブルと、
下位層論理テーブル/下位層物理テーブルの一部/全部をメモリにコピーして仮想ボリュームの管理を行うコントローラと
を有することを特徴とする仮想ボリューム管理方式。 - ホストからのアクセスが行われるディスクアレイ装置において、一定の大きさの複数の管理テーブルバッファを備える管理テーブルバッファ領域とその管理テーブルバッファ領域の管理を行うメモリ管理テーブルとからなるメモリ上のキャッシュ制御領域と、
メモリ上に配置される上位層論理テーブルとディスク上に配置される下位層論理テーブルとからなる階層構造をとっており、上位層論理テーブルが下位層論理テーブル中の各管理テーブルブロックの前記キャッシュ制御領域上の所在位置とディスク上の所在位置とを管理しており、仮想ボリュームにおける各論理エクステントが割り当てられているディスク上の物理エクステントがどこに存在するかを示す情報を記憶する論理テーブルと、
メモリ上に配置される上位層物理テーブルとディスク上に配置される下位層物理テーブルとからなる階層構造をとっており、上位層物理テーブルが下位層物理テーブル中の各管理テーブルブロックの前記キャッシュ制御領域上の所在位置とディスク上の所在位置とを管理しており、各物理エクステントの割り当て状態を示す情報を記憶する物理テーブルと、
下位層論理テーブル/下位層物理テーブルへのアクセスが必要な場合に、上記の管理テーブルバッファを獲得して、アクセスが必要な下位層論理テーブル/下位層物理テーブル中の管理テーブルブロックのデータを当該管理テーブルバッファにコピーし、アクセスが終わった後もそのままそのデータをその管理テーブルバッファに記憶しておくことにより、前記キャッシュ制御領域とディスク上の管理テーブルブロックが格納されている領域との間でのキャッシュ制御を行うコントローラと
を有することを特徴とする仮想ボリューム管理方式。 - 下位層論理テーブル/下位層物理テーブルへのアクセスが必要な場合に必要な部分のデータをコピーするための管理テーブルバッファが余っていないときに、アクセス時点が最も古い管理テーブルバッファにおける追い出し処理によって、上記のデータのコピーを実現するコントローラを有することを特徴とする請求項2記載の仮想ボリューム管理方式。
- 各ボリュームにおける各管理テーブルブロック毎に、有効フラグと割り当て物理アドレスとメモリ有効フラグと割り当てメモリアドレスとを管理する上位層論理テーブルと、
各ボリュームにおける各論理エクステント毎に、有効フラグと割り当て物理アドレスとを管理する下位層論理テーブルと、
各ディスクにおける各管理テーブルブロック毎に、リンクポインタとメモリ有効フラグと割り当てメモリアドレスとを管理し、また、空き管理テーブルブロックリンクの管理ために、空き管理テーブルブロックカウンタおよび空き管理テーブルブロック先頭リンクポインタを有している上位層物理テーブルと、
各ディスクにおける各物理エクステント毎に、リンクポインタを管理し、また、空きエクステントリンクの管理ために、空きエクステントカウンタおよび空きエクステント先頭リンクポインタを有している下位層物理テーブルと、
各管理テーブルバッファ毎に、順方向リンクポインタと逆方向リンクポインタとテーブル種別と管理ブロック情報とを管理し、また、空き管理テーブルバッファリンクの管理ために、空き管理テーブルバッファカウンタ,空き管理テーブルバッファ先頭リンクポインタ,および空き管理テーブルバッファ最後尾リンクポインタを有しており、使用中管理テーブルバッファリンクの管理ために、使用中管理テーブルバッファカウンタ,使用中管理テーブルバッファ先頭リンクポインタ,および使用中管理テーブルバッファ最後尾リンクポインタを有しているメモリ管理テーブルと、複数の管理テーブルバッファを有する管理テーブルバッファ領域とからなるキャッシュ制御領域と
を備えることを特徴とする請求項3記載の仮想ボリューム管理方式。 - 下位層論理テーブルが構築されていないこと示す情報を持つ上位層論理テーブルを構築することによって仮想ボリュームの構築を行う仮想ボリューム構築手段と、
ホストからのライト要求に係るアクセスに応じて仮想ボリュームライト処理を行い、ホストからのリード要求に係るアクセスに応じて仮想ボリュームリード処理を行う仮想ボリュームリードライト手段と、
前記仮想ボリュームリードライト手段からの要求に応じて空き物理エクステント獲得処理を行う空き物理エクステント獲得手段と、
前記仮想ボリュームリードライト手段や前記空き物理エクステント獲得手段からの要求に応じて空き管理テーブルバッファ獲得処理を行う空き管理テーブルバッファ獲得手段とを備え、
これらの手段によって仮想ボリュームの管理のためのキャッシュ制御を実現するコントローラを有することを特徴とする請求項4記載の仮想ボリューム管理方式。 - 一定の大きさの複数の管理テーブルバッファを備える管理テーブルバッファ領域とその管理テーブルバッファ領域の管理を行うメモリ管理テーブルとからなるメモリ上のキャッシュ制御領域,メモリ上に配置される上位層論理テーブルとディスク上に配置される下位層論理テーブルとからなる階層構造をとっており、上位層論理テーブルが下位層論理テーブル中の各管理テーブルブロックの前記キャッシュ制御領域上の所在位置とディスク上の所在位置とを管理しており、仮想ボリュームにおける各論理エクステントが割り当てられているディスク上の物理エクステントがどこに存在するかを示す情報を記憶する論理テーブル,およびメモリ上に配置される上位層物理テーブルとディスク上に配置される下位層物理テーブルとからなる階層構造をとっており、上位層物理テーブルが下位層物理テーブル中の各管理テーブルブロックの前記キャッシュ制御領域上の所在位置とディスク上の所在位置とを管理しており、各物理エクステントの割り当て状態を示す情報を記憶する物理テーブルを有するディスクアレイ装置内のコントローラを、下位層論理テーブル/下位層物理テーブルへのアクセスが必要な場合に、上記の管理テーブルバッファを獲得して、アクセスが必要な下位層論理テーブル/下位層物理テーブル中の管理テーブルブロックのデータを当該管理テーブルバッファにコピーし、アクセスが終わった後もそのままそのデータをその管理テーブルバッファに記憶しておくことにより、前記キャッシュ制御領域とディスク上の管理テーブルブロックが格納されている領域との間でのキャッシュ制御を行うように機能させるためのプログラム。
- コントローラを、請求項6に記載したように機能させることに加えて、下位層論理テーブル/下位層物理テーブルへのアクセスが必要な場合に必要な部分のデータをコピーするための管理テーブルバッファが余っていないときに、アクセス時点が最も古い管理テーブルバッファにおける追い出し処理によって、上記のデータのコピーを実現するように機能させるための請求項6記載のプログラム。
- 各ボリュームにおける各管理テーブルブロック毎に、有効フラグと割り当て物理アドレスとメモリ有効フラグと割り当てメモリアドレスとを管理する上位層論理テーブル,各ディスクにおける各管理テーブルブロック毎に、リンクポインタとメモリ有効フラグと割り当てメモリアドレスとを管理し、また、空き管理テーブルブロックリンクの管理ために、空き管理テーブルブロックカウンタおよび空き管理テーブルブロック先頭リンクポインタを有している上位層物理テーブル,ならびに各管理テーブルバッファ毎に、順方向リンクポインタと逆方向リンクポインタとテーブル種別と管理ブロック情報とを管理し、また、空き管理テーブルバッファリンクの管理ために、空き管理テーブルバッファカウンタ,空き管理テーブルバッファ先頭リンクポインタ,および空き管理テーブルバッファ最後尾リンクポインタを有しており、使用中管理テーブルバッファリンクの管理ために、使用中管理テーブルバッファカウンタ,使用中管理テーブルバッファ先頭リンクポインタ,および使用中管理テーブルバッファ最後尾リンクポインタを有しているメモリ管理テーブルと、複数の管理テーブルバッファを有する管理テーブルバッファ領域とからなるキャッシュ制御領域を有することとなるメモリと、各ボリュームにおける各論理エクステント毎に、有効フラグと割り当て物理アドレスとを管理する下位層論理テーブル,および各ディスクにおける各物理エクステント毎に、リンクポインタを管理し、また、空きエクステントリンクの管理ために、空きエクステントカウンタおよび空きエクステント先頭リンクポインタを有している下位層物理テーブルを格納することとなるディスクとが存在するディスクアレイ装置内のコントローラを、下位層論理テーブルが構築されていないこと示す情報を持つ上位層論理テーブルを構築することによって仮想ボリュームの構築を行う仮想ボリューム構築手段,ホストからのライト要求に係るアクセスに応じて仮想ボリュームライト処理を行い、ホストからのリード要求に係るアクセスに応じて仮想ボリュームリード処理を行う仮想ボリュームリードライト手段,前記仮想ボリュームリードライト手段からの要求に応じて空き物理エクステント獲得処理を行う空き物理エクステント獲得手段,および前記仮想ボリュームリードライト手段や前記空き物理エクステント獲得手段からの要求に応じて空き管理テーブルバッファ獲得処理を行う空き管理テーブルバッファ獲得手段として機能させ、これらの手段によって仮想ボリュームの管理のためのキャッシュ制御を実現させるための請求項7記載のプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002235603A JP4612269B2 (ja) | 2002-08-13 | 2002-08-13 | 仮想ボリューム管理方式 |
US10/635,529 US7434026B2 (en) | 2002-08-13 | 2003-08-07 | Disk array device and virtual volume management method using a logical table and a physical table |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002235603A JP4612269B2 (ja) | 2002-08-13 | 2002-08-13 | 仮想ボリューム管理方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004078398A true JP2004078398A (ja) | 2004-03-11 |
JP4612269B2 JP4612269B2 (ja) | 2011-01-12 |
Family
ID=31884385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002235603A Expired - Fee Related JP4612269B2 (ja) | 2002-08-13 | 2002-08-13 | 仮想ボリューム管理方式 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7434026B2 (ja) |
JP (1) | JP4612269B2 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005267599A (ja) * | 2004-03-18 | 2005-09-29 | Hitachi Ltd | ストレージエリアネットワークとネットワークアタチドストレージの混在環境でのデータの書き込み保護 |
JP2006107257A (ja) * | 2004-10-07 | 2006-04-20 | Hitachi Ltd | ストレージ装置 |
JP2006163801A (ja) * | 2004-12-07 | 2006-06-22 | Canon Inc | 情報記録再生装置 |
JP2006350418A (ja) * | 2005-06-13 | 2006-12-28 | Hitachi Ltd | 記憶制御装置及びその制御方法 |
JP2007279898A (ja) * | 2006-04-04 | 2007-10-25 | Toshiba Corp | ストレージシステム及び同システムに適用されるアクセス処理方法 |
US7966470B2 (en) | 2008-02-25 | 2011-06-21 | Fujitsu Limited | Apparatus and method for managing logical volume in distributed storage systems |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006048313A (ja) * | 2004-08-04 | 2006-02-16 | Hitachi Ltd | 複数の管理者から管理されるストレージシステムの管理方法 |
US7802148B2 (en) * | 2005-02-23 | 2010-09-21 | Broadcom Corporation | Self-correcting memory system |
JP4836533B2 (ja) * | 2005-09-27 | 2011-12-14 | 株式会社日立製作所 | ストレージシステムにおけるファイルシステムマイグレーション方法、ストレージシステム及び管理計算機 |
US20070079098A1 (en) * | 2005-10-03 | 2007-04-05 | Hitachi, Ltd. | Automatic allocation of volumes in storage area networks |
JP4900784B2 (ja) | 2006-04-13 | 2012-03-21 | 株式会社日立製作所 | ストレージシステム及びストレージシステムのデータ移行方法 |
JP2008117094A (ja) * | 2006-11-02 | 2008-05-22 | Hitachi Ltd | ストレージシステム、ストレージ装置及びストレージ管理方法 |
WO2012147135A1 (en) | 2011-04-28 | 2012-11-01 | Hitachi, Ltd. | Data storage system and management method therefor |
JP6056856B2 (ja) * | 2012-06-25 | 2017-01-11 | 富士通株式会社 | ストレージ制御装置、情報処理装置、ストレージ制御プログラム、及びストレージ制御方法 |
US9942324B2 (en) * | 2015-08-05 | 2018-04-10 | Futurewei Technologies, Inc. | Rebalancing and elastic storage scheme with elastic named distributed circular buffers |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07210332A (ja) | 1994-01-13 | 1995-08-11 | Fuji Xerox Co Ltd | ディスクアレイ装置 |
JP4439096B2 (ja) | 2000-08-28 | 2010-03-24 | 株式会社東芝 | メモリカード及び同カードに適用されるアドレス変換方法 |
-
2002
- 2002-08-13 JP JP2002235603A patent/JP4612269B2/ja not_active Expired - Fee Related
-
2003
- 2003-08-07 US US10/635,529 patent/US7434026B2/en not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005267599A (ja) * | 2004-03-18 | 2005-09-29 | Hitachi Ltd | ストレージエリアネットワークとネットワークアタチドストレージの混在環境でのデータの書き込み保護 |
JP2006107257A (ja) * | 2004-10-07 | 2006-04-20 | Hitachi Ltd | ストレージ装置 |
JP4574315B2 (ja) * | 2004-10-07 | 2010-11-04 | 株式会社日立製作所 | ストレージ装置およびストレージ装置における構成管理方法 |
JP2006163801A (ja) * | 2004-12-07 | 2006-06-22 | Canon Inc | 情報記録再生装置 |
JP2006350418A (ja) * | 2005-06-13 | 2006-12-28 | Hitachi Ltd | 記憶制御装置及びその制御方法 |
JP4723921B2 (ja) * | 2005-06-13 | 2011-07-13 | 株式会社日立製作所 | 記憶制御装置及びその制御方法 |
JP2007279898A (ja) * | 2006-04-04 | 2007-10-25 | Toshiba Corp | ストレージシステム及び同システムに適用されるアクセス処理方法 |
US7707381B2 (en) | 2006-04-04 | 2010-04-27 | Kabushiki Kaisha Toshiba | Storage system for processing access request from host and method for doing the same |
US7966470B2 (en) | 2008-02-25 | 2011-06-21 | Fujitsu Limited | Apparatus and method for managing logical volume in distributed storage systems |
Also Published As
Publication number | Publication date |
---|---|
JP4612269B2 (ja) | 2011-01-12 |
US20040039875A1 (en) | 2004-02-26 |
US7434026B2 (en) | 2008-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3308554B2 (ja) | 制御装置及び制御装置の制御方法 | |
US5765201A (en) | Changing page size in storage media of computer system | |
US20080235477A1 (en) | Coherent data mover | |
US20100325374A1 (en) | Dynamically configuring memory interleaving for locality and performance isolation | |
JP2004078398A (ja) | 仮想ボリューム管理方式 | |
JP2014174992A (ja) | システム・リブートを通じて改善されたキャッシュ・ランプアップを達成するためにキャッシュ・ストアを管理するためのシステム、方法、およびコンピュータ可読媒体 | |
JP3872968B2 (ja) | コンピュータ・システムにおいてメモリを動的に再割当てするシステムおよび方法 | |
US7734842B2 (en) | Computer-implemented method, apparatus, and computer program product for managing DMA write page faults using a pool of substitute pages | |
JP2003337727A (ja) | キャッシュ制御プログラム | |
JPH02228745A (ja) | 入出力キヤツシユ | |
US7032093B1 (en) | On-demand allocation of physical storage for virtual volumes using a zero logical disk | |
JP3460617B2 (ja) | ファイル制御装置 | |
US6931471B2 (en) | Method, apparatus, and computer program product for migrating data subject to access by input/output devices | |
US6782444B1 (en) | Digital data storage subsystem including directory for efficiently providing formatting information for stored records | |
WO1998026352A1 (fr) | Procede de commande de prelecture de fichiers dans un systeme d'ordinateur | |
JPH11203056A (ja) | 入出力制御装置及びアレイディスク装置 | |
JP2018106573A (ja) | ストレージ制御装置及び制御プログラム | |
JP7132491B2 (ja) | メモリ制御装置、メモリ制御プログラムおよびメモリ制御方法 | |
JPH07244642A (ja) | 並列処理計算機 | |
CN111480151A (zh) | 将高速缓存线从共用存储器页面冲洗到存储器 | |
JPH08314639A (ja) | 情報記録再生装置 | |
JP4792065B2 (ja) | データ記憶方法 | |
US11875051B2 (en) | Contiguous data storage using group identifiers | |
JP2000285022A (ja) | ディスク制御装置 | |
US6594726B1 (en) | Digital data storage subsystem including arrangement for efficiently controlling fast write storage operation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040427 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20050128 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060830 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060912 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061113 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070926 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20071026 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20071026 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20080604 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20090508 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100820 |
|
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: 20101015 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131022 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4612269 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 |