説明

ストレージ装置、および同装置における実容量割当て方法、ならびに実容量割当てプログラム

【課題】 ディスク領域の利用効率を高める。
【解決手段】 仮想ボリューム制御部13は、仮想ボリューム11に対するホスト装置20からの書き込みデータ受信時、ゼロデータ判定部12によるゼロデータの判定結果を得、ゼロであれば物理ボリューム11への実容量割当てを禁止し、ゼロでなければ物理ボリューム11への実容量の割当て制御を行う。また、ホスト装置20から読み出し要求があった場合、実容量割当て済み領域であれば、物理ボリューム17からデータを読み出し、実容量未割当て領域であれば、ゼロデータ生成部16で生成したゼロデータをホスト装置20へ送信する制御を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ストレージ装置、および同装置における実容量割当て方法、ならびに実容量割当てプログラムに関し、例えば、ホスト装置からアクセスされるディスクアレイにおいて、ディスク容量の利用効率を高める技術に関する。
【背景技術】
【0002】
例えば、RAID(Redundant Arrays
of Inexpensive Disks)を構成するディスクアレイに仮想的なボリュームを構築し、実際に書き込みがあった領域に対してのみ実容量を割当てるストレージ装置が知られている。その具体的な内容は、以下にリストした特許文献1、2に詳細に開示されている。
【0003】
特許文献1、2に開示されたストレージ装置では、システム構成の大規模化、複数のホスト装置によるによる共有化等によりディスクアレイ内に複数の仮想ボリュームが構築されるようになれば、実際に書き込みがあった領域に対して割当てられる実容量が有効利用できなくなるといった課題がある。
【0004】
このため、特許文献3では、未使用領域と判定された領域に割当てられたエクステント(実容量に相当)を論理ディスクから開放し、物理ディスクを有効利用可能なディスクアレイ装置が提案されており、また、特許文献4では、書き込みデータをチェックし、デフォルトボイドデータパターンであればチャンク(実容量に相当)割当て行わないストレージシステムが提案されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−217689号公報
【特許文献2】特開2008−158661号公報
【特許文献3】特開2007−249728号公報
【特許文献4】特開2008−130080号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上述した特許文献2、3に開示されているように、仮想的なボリュームを構築し、実際に書き込みがあった領域に対してのみ実容量を割当てる機能を有するストレージ装置では、テープなどのバックアップデータからのリストア、あるいはボリュームの複製を作成する場合、有効データが格納されていない領域についても書き込みが行われてしまう。このため、無効なデータのために実容量を割当ててしまい、したがって、システムに実装されたディスク容量を無駄に消費してしまうという問題があった。
【0007】
その理由は、仮想ボリュームへの書き込みデータの内容がゼロの場合でも物理ボリュームへの実容量割当てが行われることにある。
【0008】
(発明の目的)
本発明の目的は、ディスク領域の利用効率を高めたストレージ装置、および同装置における実容量割当て方法、ならびに実容量割当てプログラムを提供することにある。
【課題を解決するための手段】
【0009】
本発明の第1のストレーシ装置は、仮想ボリュームを生成し、書き込みがあった領域に対して実容量を割当てるストレージ装置において、外部から仮想ボリュームへの書き込みがあった場合、その書き込みデータがゼロであるか否かを判定し、ゼロであった場合に書き込みがあった領域に対する実容量の割当てを禁止する制御手段、を含む。
【0010】
本発明の第2のストレージ装置における実容量割当て方法は、仮想ボリュームを生成し、書き込みがあった領域に対して実容量を割当てるストレージ装置における実容量割当て方法であって、外部から仮想ボリュームへの書き込みがあった場合に、その書き込みデータがゼロであるか否か判定し、ゼロであった場合に書き込みがあった領域に対する実容量の割当てを禁止する第1のステップ、を含む。
【0011】
本発明の第3の実容量割当てプログラムは、コンピュータ上で実行され、仮想ボリュームを生成し、書き込みがあった領域に対して実容量を割当てるストレージ装置の実容量割当てプログラムであって、コンピュータに、外部から仮想ボリュームへの書き込みがあった場合に、その書き込みデータがゼロであるか否か判定し、ゼロであった場合に書き込みがあった領域に対する実容量の割当てを禁止する第1の処理、を実行させる。
【発明の効果】
【0012】
本発明によれば、ディスク領域の利用効率を高めたストレージ装置、および同装置における実容量割当て方法、ならびに実容量割当てプログラムを提供することができる。
【0013】
その理由は、制御手段が、仮想ボリュームへの書き込みデータの内容がゼロの場合に、物理ボリュームへの実容量の割当てを禁止する制御を行うからである。
【図面の簡単な説明】
【0014】
【図1】本実施の形態によるストレージ装置の構成を示すブロック図である。
【図2】本実施の形態によるストレージ装置が有するデータ割当て管理テーブルのデータ構造の一例を示す図である。
【図3】本実施の形態によるストレージ装置の物理ボリュームへの実容量割当て処理を示すフローチャートである。
【図4】本実施の形態によるストレージ装置の物理ボリュームの開放処理を示すフローチャートである。
【図5】本発明の第2の実施の形態によるストレージ装置の物理ボリュームの開放処理を示すフローチャートである。
【発明を実施するための形態】
【0015】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【0016】
(第1の実施の形態の構成)
図1は、本実施の形態によるストレージ装置の構成を示すブロック図である。
【0017】
図1を参照すると、本実施の形態によるストレージ装置10は、ホスト装置20に接続され、仮想ボリューム11と、ゼロデータ判定部12と、仮想ボリューム制御部13と、データ転送制御部14と、キャッシュ15と、ゼロデータ生成部16と、物理ボリューム17とを含み、構成される。
【0018】
仮想ボリューム制御部13は、本実施の形態によるストレージ装置10の制御中枢となり、外部接続されるホスト装置20から、仮想ボリューム11への書き込み要求があった場合にそのデータ転送を制御すると共に、書き込みデータを記憶する領域を物理ボリューム17に割当てるために、仮想ボリューム11と物理ボリューム17のデータ割当て状況を管理するデータ割当てテーブル130を更新する機能を有する。
【0019】
仮想ボリューム制御部13が内蔵する上述したデータ割当てテーブル130は、物理割当て管理テーブル131(第1のデータ割当てテーブル)と、仮想割当て管理テーブル132(第2のデータ割当て管理テーブル)とにより構成され、そのデータ構造の一例が、図2(a)(b)にそれぞれ示されている。
【0020】
物理割当て管理テーブル131は、仮想ボリューム制御部13よって管理さる、物理ボリューム17の割当て状況を示す表データであり、図2(a)にそのデータ構造の一例が示されるように、物理ボリュームアドレス、割当て状況、仮想ボリューム番号および仮想ボリュームアドレスの各データフィールドにより構成される。
【0021】
また、仮想割当て管理テーブル132は、仮想ボリューム制御部13によって管理される、仮想ボリューム11の割当て状況を示す表データであり、図2(b)にそのデータ構造の一例が示されるように、仮想ボリュームアドレス、割当て状況および物理ボリュームアドレスの各データフィールドで構成される。なお、物理割当て管理テーブル131、仮想割当て管理テーブル132共に、割当てを行うデータサイズは任意のサイズで実現すればよい。
【0022】
データ転送制御部14は、仮想ボリューム制御部13からの指示により、キャッシュ15から物理ボリューム17へのデータ転送を制御し、また、後述するゼロデータ生成部16により生成さるゼロデータ、及び物理ボリューム17の有効データをキャッシュ15へデータ転送する機能を有する。
【0023】
キャッシュ15は、物理ボリューム17に格納されたディスク上の使用頻度の高いデータが格納されるバッファメモリであり、仮想ボリューム11と物理ボリューム17との間のデータ転送パスになる。
【0024】
ゼロデータ判定部12は、ホスト装置20から書き込み要求と共に受信する書き込みデータの内容が“ゼロ”であるかを判定する機能を有する。また、ゼロデータ生成部16は、ホスト装置20からの読み出し要求時、仮想ボリューム11への読み出しアドレスが物理ボリューム17へ未割当てであった場合に、ゼロデータを生成してキャッシュ15へ転送する機能を有する。
【0025】
このため、ゼロデータ判定部12は、上述した仮想ボリューム制御部13と協働して動作することにより、外部(ホスト装置20)から仮想ボリュームへの書き込みがあった場合、その書き込みデータがゼロであるか否か判定し、ゼロであった場合に書き込みがあった領域に対する実容量の割当てを禁止する制御手段として機能する。
【0026】
(第1の実施の形態の動作)
ここで、図3、図4を参照して、本実施の形態によるストレージ装置10の動作について説明する。
【0027】
まず、図3のフローチャートを参照しながら、仮想ボリューム制御部13による、物理ボリューム17への実容量割当て処理(S300)について説明する。図3によれば、ホスト装置20からストレージ装置10に対し、仮想ボリューム11へ書き込み要求があった場合(ステップS301“書き込み”)、その書き込みデータは、キャッシュ15へ転送される。このとき、仮想ボリューム制御部13は、ホスト装置20から仮想ボリューム11への書き込みアドレスの割当て状況を確認するため、データ割当てテーブル130(物理割当て管理テーブル131)の内容を参照する(ステップS302)。
【0028】
仮想ボリューム制御部13は、物理割当て管理テーブル131参照の結果、仮想ボリューム11への書き込みアドレスが物理ボリューム17へ未割当てであった場合(ステップS303“YES”)、割当て状況が“未割当て”の状態になっている物理ボリュームアドレスを検索する(ステッフS304)。そして、この検索にHITした場合に(ステップS305“YES”)、その割当て状況を“割当て済み”に更新すると共に(ステップS306)、実容量の割当てを行う物理ボリューム17の仮想ボリューム番号、および仮想ボリュームアドレスを記憶し、データ転送制御部14へ、キャッシュ15から物理ボリューム17へのデータ転送を指示する(ステップS307)。
【0029】
一方、ステップS303の未割当て判定処理で、仮想ボリューム11への書き込みアドレスが既に物理ボリューム17へ割当て済みであった場合(ステップS303“NO”)、仮想ボリューム制御部13は、物理割当て管理テーブル131の内容は更新せず、データ転送制御部14へ、キャッシュ15から物理ボリューム17へのデータ転送を指示する(ステップS307)。
【0030】
次に、ホスト装置20からストレージ装置10の仮想ボリューム11へ読み出し要求があった場合(ステップS301“読み出し”)、仮想ボリューム制御部13は、ホスト装置20から仮想ボリューム11への読み出しアドレスの割当て状況を確認するため、仮想割当て管理テーブル132の内容を参照する(ステップS308)。
【0031】
仮想割当て管理テーブル132参照の結果、仮想ボリューム11への読み出しアドレスが物理ボリューム17へ未割当てであった場合(ステップS309“YES”)、仮想ボリューム制御部13は、データ転送制御部14に対して、データ生成部16にキャッシュ15へのデータ転送を指示し、このときデータ生成部16は、生成したゼロデータをキャッシュ15へデータ転送する(ステップS310)。
【0032】
一方、仮想ボリューム11への読み出しアドレスが物理ボリューム18へ割当て済みであった場合(ステップS309“NO”)、仮想ボリューム制御部13は、データ転送制御部14に対し、物理ボリューム17からキャッシュ15へのデータ転送を指示する(ステップS311)。
【0033】
次に、本実施の形態における物理ボリュームの開放処理(S400)について、図4のフローチャートを参照しながら説明する。
【0034】
図4によれば、ストレージ装置10がホスト装置20から書き込み要求を受信した場合(ステップS401)、ゼロデータ判定部12は、同時に受信する仮想ボリューム11への書き込みデータを常に監視し、ここで、書き込みデータが“ゼロ”であることを検出すると(ステップS402“YES”)、そのことを仮想ボリューム制御部13に通知する。これを受けた仮想ボリューム制御部13は、物理割当て管理テーブル131の内容を参照し(ステップS403)、仮想ボリューム11への書き込みアドレスの割当て状況が“未割当て”であった場合(ステップS404“YES”)、先に無効データであることを示すゼロデータの通知を受けているため、物理ボリューム17への実容量の割当てを禁止し(ステップS405)、この領域の他への使用を開放する。
【0035】
一方、仮想ボリューム11への書き込みアドレスの割当て状況が“割当て済み”であった場合(ステップS404“NO”)、仮想ボリューム制御部13は、物理割当て管理テーブル131の割当て状況フィールドの内容を“未割当て”状態に更新する(ステップS406)。
【0036】
なお、ステップS402の書き込みデータゼロ判定処理で、書き込みデータがゼロでない有効データの場合(ステップS402“NO”)、仮想ボリューム制御部13は、図3に示した仮想ボリュームへの実容量割当て処理を実行する(ステップS300)。
【0037】
すなわち、本実施の形態によるストレージ装置10は、仮想ボリューム11に対するホスト装置20からの書き込みデータ受信時、仮想ボリューム制御部13による制御の下、ゼロデータ判定部12によるゼロデータの判定結果を得、ゼロであれば物理ボリューム11への実容量割当てを禁止し、ゼロでなければ実容量を割当てる制御を行う。また、ホスト装置20から読み出し要求があった場合、実容量割当て済み領域であれば、物理ボリューム17からデータを読み出し、実容量未割当て領域であれば、ゼロデータ生成部16で生成したゼロデータをホスト装置20へ送信する制御を行う。
【0038】
(第1の実施の形態による効果)
本実施の形態によるストレージ装置10では、制御手段が、外部から仮想ボリュームへの書き込みがあった場合、その書き込みデータがゼロであるか否か判定し、ゼロであった場合に書き込みがあった領域に対する実容量の割当てを禁止するように制御することで、データ記憶容量を削減することが可能になる。この結果、バックアップデータからのリストア時、ボリュームデータの複製時等、無駄にディスク容量を消費することを回避でき、その分の領域の使用を他へ開放することができる。
【0039】
その理由は、御手段が、仮想ボリュームへの書き込みデータの内容がゼロの場合に、物理ボリュームへの実容量の割当てを禁止するからである。
【0040】
(第2の実施の形態の構成)
上述した第1の実施の形態では、割当て済みの領域に対してゼロデータの書き込みが行われる場合の実容量割当て開放処理を、書き込みデータのゼロ判定により行うものとして説明したが、この書き込みとは非同期に動作するバックグランド処理にて、物理ボリュームのデータがゼロであるかを否かを判定し、ゼロである領域の割当てを開放することによって代替することも可能である。これを第2の実施の形態として以下に説明する。
【0041】
図5は、本発明の第2の実施の形態によるストレージ装置10の物理ボリュームの開放処理(S500)を示すフローチャートである。以下に説明する第2の実施の形態においても上述した第1の実施の形態同様、図1に示すストレージ装置10の構成、及び、図2に示すデータ割当てテーブル130のデータ構造を利用するものとする。
【0042】
図5によれば、仮想ボリューム制御部13は、まず、Pviを0に初期化する(ステップS501)。ここで、Pviは、物理ボリューム番号(アドレス)を指定するためにプログラム内に設定されるレジスタとする。続いて仮想ボリューム制御部13は、内蔵のタイマをスタートさせ、タイムアウト(T.O)を検出する(ステップS502)。ここで、タイマは、バックグラントで実行される物理ボリューム17への書き込みデータのゼロ判定の周期をカウントするために使用されるものであり、例えは1秒間隔を監視するものとする。
【0043】
仮想ボリューム制御部13は、T.Oを検出すると(ステップS502“YES”)、ゼロデータ判定部12を動作させ、ゼロデータ判定部12からその判定結果を取得する。仮想ボリューム制御部13は、ゼロデータ判定部12から、物理ボリューム番号0のアドレスに該当する物理ボリューム17のデータがゼロであることの通知を受けとると(ステップS503“YES”)、データ管理テーブル130(物理割当て管理テーブル131)の割当て状況のフィールドの内容を“未割当て”の状態に更新し、同物理ボリューム番号のアドレスに相当する実割当て領域の使用を他へ開放する(ステップS504)。そして、Pviを+1更新して(ステップS505)、ステップS502のT.O判定処理へ戻る。
【0044】
以降、次の物理ボリュームのゼロ判定を行ない(ステップS503)、その結果によっては物理割当て管理テーブル131の内容更新を行い(ステップS504)、Pviの更新を実行する処理(S505)を、Pviが、割当てられたデータサイズの全てをカウントするまでの間(ステップS506“YES”)、繰り返し実行する。
【0045】
一方、ステップS503の物理ボリューム17のゼロデータ判定処理で、ゼロデータ判定部12から物理ボリューム17のデータが有効データであることの通知を受けると(ステップS503“NO”)、仮想ボリューム制御部13は、ステップS504のデータ管理テーブル130の割当て状況のフィールドの更新処理をスキップしてPviを+1更新し(ステップS505)、ステップS502の判定処理以降の処理に戻り、次の物理ボリュームのゼロ判定を行う。以上の処理は、Pviが、割当てられたデータサイズの全てをカウントとするまでの間(ステップS506“YES”)、繰り返し実行される。
【0046】
(第2の実施の形態の効果)
本実施の形態では、制御手段が、ホスト装置20からの書き込み要求とは非同期に、物理ボリューム17への実容量割当て済みの領域への書き込みデータがゼロか否かを判定し、ゼロであった場合に、実容量割当て済みの領域を、未割当ての状態に更新設定することにより、データ記憶容量を削減することが可能になる。この結果、上述した第1の実施の形態同様、バックアップデータからのリストア時、ボリュームデータの複製時等、無駄にディスク容量を消費することを回避でき、その領域の使用を他へ開放することができる。
【0047】
その理由は、制御手段が、書き込みとは非同期に、物理ボリューム17のデータがゼロであるか否かを判定し、ゼロである領域の割当てを開放するからである。但し、上述した物理ボリューム17の開放処理は、バックグランドで行われるため、その間隔によっては第1の実施の形態に比べストレージ装置10(仮想ボリューム制御部13)の処理負担は少なからず増加することになる。
【0048】
なお、図1に示す制御手段(例えは、ゼロデータ判定部12と仮想ボリューム制御部13)が有する機能は、全てをソフトウェアによって実現しても、あるいはその少なくとも一部をハードウェアで実現してもよい。例えば、制御手段が、外部から仮想ボリュームへの書き込みがあった場合、その書き込みデータがゼロであるか否かを判定し、ゼロであった場合に書き込みがあった領域に対する実容量の割当てを禁止するデータ処理は、1または複数のプログラムによりコンピュータ上で実現してもよく、また、その少なくとも一部をハードウェアで実現してもよい。
【0049】
以上好ましい実施の形態と実施例をあげて本発明を説明したが、本発明は必ずしも、上述実施の形態及び実施例に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。
【産業上の利用可能性】
【0050】
本発明によれば、割当て済みの領域に対しゼロデータの書き込みが行われる場合の無効データの判定により、又は、書き込みとは非同期に、物理ボリュームのデータのゼロ判定により、ゼロである領域の割当てを開放することにより、ディスク容量の使用効率を高めることができるため、特に、システム構成の大規模化、複数のホスト装置によるによる共有化等により、ディスクアレイ内に複数の仮想ボリュームが構築されるシステムに利用して顕著な効果が得られる。
【符号の説明】
【0051】
10:ストレージ装置
11:仮想ボリューム
12:ゼーデータ判定部
13:仮想ボリューム制御部(制御手段)
14:データ転送制御部
15:キャッシュ
16:ゼロデータ生成部
17:物理ボリューム
20:ホスト装置
130:データ割当て管理テーブル
131:物理割当て管理テーブル
132:仮想割当て管理テーブル

【特許請求の範囲】
【請求項1】
仮想ボリュームを生成し、書き込みがあった領域に対して実容量を割当てるストレージ装置において、
外部から前記仮想ボリュームへの書き込みがあった場合、その書き込みデータがゼロであるか否かを判定し、ゼロであった場合に書き込みがあった領域に対する実容量の割当てを禁止する制御手段、
を備えたことを特徴とするストレージ装置。
【請求項2】
前記制御手段は、
前記書き込みとは非同期に、実容量割当て済みの領域への書き込みデータがゼロか否かを判定し、ゼロであった場合に、前記実容量割当て済みの領域を、未割当ての状態に更新設定することを特徴とする請求項1記載のストレージ装置。
【請求項3】
前記制御手段は、
前記物理ボリュームへの書き込みアドレスの割当て状況が記憶された第1のデータ割当て管理テーブルを有し、
外部から書き込み要求を受信すると前記第1のデータ割当て管理テーブルを参照し、
前記仮想ボリュームへの書き込みアドレスが物理ボリュームへ未割当てであった場合、前記割当て状況が未割当て状態になっている物理ボリュームの番号およびアドレスを検索し、該当の物理ボリュームの割当て状況を割当て済み状態に更新すると共に、該当の物理ボリュームへの前記書き込みデータの転送を指示し、
前記仮想ボリュームへの書き込みアドレスが前記物理ボリュームへ割当て済み常態になっていた場合、該当の物理ボリュームへの前記書き込みデータの転送を指示することを特徴とする請求項1記載のストレージ装置。
【請求項4】
前記制御手段は、
前記仮想ボリュームへの書き込みデータがゼロであった場合に前記第1のデータ割当て管理テーブルを参照し、
前記仮想ボリュームへの書き込みアドレスの割当て状況が未割当て状態になっていた場合に、前記書き込みデータの前記物理モジュールへの割当てを禁止し、
前記仮想ボリュームへの書き込みアドレスの割当て状況が割当て済み状態になっていた場合に、前記割当て状況を、未割当ての状態に更新設定することを特徴とする請求項3記載のストレージ装置。
【請求項5】
前記制御手段は、
前記仮想ボリュームへの読み出しアドレスの割当て状況が記憶された第2のデータ割当て管理テーブルを有し、
外部から読み出し要求を受信すると前記第2のデータ割当て管理テーブルを参照し、
前記仮想ボリュームへの読み出しアドレスが前記物理ボリュームへ未割当て状態になっていた場合、別途生成されるゼロデータの読み出しを指示し、
前記仮想ボリュームへの読み出しアドレスが前記物理ボリュームへ割当て済み状態になっていた場合に、該当する物理ボリュームからの読み出しデータの転送を指示することを特徴とする請求1記載のストレージ装置。
【請求項6】
前記制御手段は、
前記物理ボリュームへの書き込みアドレスの割当て状況が記憶された第1のデータ割当て管理テーブルを有し、
前記書き込みとは非同期に、実記憶容量割当て済みの領域への書き込みデータを参照し、ゼロであった場合に、前記第1のデータ割当て管理テーブルを参照し、前記仮想ボリュームへの書き込みアドレスの割当て状況が割当て済み状態になっている前記物理ボリュームを未割当て状態に更新することを特徴とする請求項2記載のストレージ装置。
【請求項7】
仮想ボリュームを生成し、書き込みがあった領域に対して実容量を割当てるストレージ装置における実容量割当て方法であって、
外部から前記仮想ボリュームへの書き込みがあった場合に、その書き込みデータがゼロであるか否か判定し、ゼロであった場合に書き込みがあった領域に対する実容量の割当てを禁止する第1のステップ、
を有することを特徴とするストレージ装置における実容量割当て方法。
【請求項8】
前記書き込みとは非同期に、実記量割当て済みの領域への書き込みデータがゼロか否かを判定し、ゼロであった場合に、前記実容量割当て済みの領域を、未割当ての状態に更新設定する第2のステップと、
を有することを特徴とする請求項7記載のストレージ装置における実容量割当て方法。
【請求項9】
前記第1のステップは、
外部から書き込み要求を受信すると、前記物理ボリュームへの書き込みアドレスの割当て状況が記憶された第1のデータ割当て管理テーブルを参照するサブステップと、
前記仮想ボリュームへの書き込みアドレスが物理ボリュームへ未割当てであった場合、前記割当て状況が未割当て状態になっている物理ボリュームの番号およびアドレスを検索し、該当の物理ボリュームの割当て状況を割当て済み状態に更新すると共に、該当の物理ボリュームへの前記書き込みデータの転送を指示するサブステップと、
前記仮想ボリュームへの書き込みアドレスが前記物理ボリュームへ割当て済み常態になっていた場合、該当の物理ボリュームへの前記書き込みデータの転送を指示するサブステップと、
を有することを特徴とする請求項7記載のストレージ装置における実容量割当て方法。
【請求項10】
前記第1のステップは、
前記仮想ボリュームへの書き込みデータがゼロであった場合に前記第1のデータ割当て管理テーブルを参照するサブステップと、
前記仮想ボリュームへの書き込みアドレスの割当て状況が未割当て状態になっていた場合に、前記書き込みデータの前記物理ボリュームへの割当てを禁止するサブステップと、
前記仮想ボリュームへの書き込みアドレスの割当て状況が割当て済み状態になっていた場合に、前記割当て状況を、未割当ての状態に更新設定するサブステップと、
を更に有することを特徴とする請求項9記載のストレージ装置における実容量割当て方法。
【請求項11】
前記第1のステップは、
外部から読み出し要求を受信すると、前記仮想ボリュームへの読み出しアドレスの割当て状況が記憶された第2のデータ割当て管理テーブルを参照するサブステップと、
前記仮想ボリュームへの読み出しアドレスが前記物理ボリュームへ未割当て状態になっていた場合、別途生成されるゼロデータの読み出しを指示するサブステップと、
前記仮想ボリュームへの読み出しアドレスが前記物理ボリュームへ割当て済み状態になっていた場合に、該当する物理ボリュームからの読み出しデータの転送を指示するサブステップと、
を有することを特徴とする請求7記載のストレージ装置における実容量割当て方法。
【請求項12】
前記第2のステップは、
前記書き込みとは非同期に、実記憶容量割当て済みの領域への書き込みデータがゼロか否かを判定するサブステップと、
ゼロであった場合に、前記物理ボリュームへの書き込みアドレスの割当て状況が記憶された第1のデータ割当て管理テーブルを参照し、前記仮想ボリュームへの書き込みアドレスの割当て状況が割当て済み状態になっている前記物理ボリュームを未割当ての状態に更新設定するサブステップと、
を有することを特徴とする請求項8記載のストレージ装置における実容量割当て方法。
【請求項13】
コンピュータ上で実行され、仮想ボリュームを生成し、書き込みがあった領域に対して実容量を割当てるストレージ装置の実容量割当てプログラムであって、
前記コンピュータに、
外部から前記仮想ボリュームへの書き込みがあった場合に、その書き込みデータがゼロであるか否か判定し、ゼロであった場合に書き込みがあった領域に対する実容量の割当てを禁止する第1の処理、
を実行させることを特徴とする実容量割当てプログラム。
【請求項14】
前記書き込みとは非同期に、実容量割当て済みの領域への書き込みデータがゼロか否かを判定し、ゼロであった場合に、前記実容量割当て済みの領域を未割当ての状態に更新設定する第2の処理、
を実行させることを特徴とする請求項13記載の実容量割当てプログラム。
【請求項15】
前記第1の処理は、
外部から書き込み要求を受信すると、前記物理ボリュームへの書き込みアドレスの割当て状況が記憶された第1のデータ割当て管理テーブルを参照する処理と、
前記仮想ボリュームへの書き込みアドレスが物理ボリュームへ未割当てであった場合、前記割当て状況が未割当て状態になっている物理ボリュームの番号およびアドレスを検索し、該当の物理ボリュームの割当て状況を割当て済み状態に更新すると共に、該当の物理ボリュームへの前記書き込みデータの転送を指示する処理と、
前記仮想ボリュームへの書き込みアドレスが前記物理ボリュームへ割当て済み常態になっていた場合、該当の物理ボリュームへの前記書き込みデータの転送を指示する処理と、
を含むことを特徴とする請求項13記載の実容量割当てプログラム。
【請求項16】
前記第1の処理は、
前記仮想ボリュームへの書き込みデータがゼロであった場合に前記第1のデータ割当て管理テーブルを参照する処理と、
前記仮想ボリュームへの書き込みアドレスの割当て状況が未割当て状態になっていた場合に、前記書き込みデータの前記物理ボリュームへの割当てを禁止する処理と、
前記仮想ボリュームへの書き込みアドレスの割当て状況が割当て済み状態になっていた場合に、前記割当て状況を、未割当ての状態に更新設定する処理と、
を更に含むことを特徴とする請求項15記載の実容量割当てプログラム。
【請求項17】
前記第1の処理は、
外部から読み出し要求を受信すると、前記仮想ボリュームへの読み出しアドレスの割当て状況が記憶された第2のデータ割当て管理テーブルを参照する処理と、
前記仮想ボリュームへの読み出しアドレスが前記物理ボリュームへ未割当て状態になっていた場合、別途生成されるゼロデータの読み出しを指示する処理と、
前記仮想ボリュームへの読み出しアドレスが前記物理ボリュームへ割当て済み状態になっていた場合に、該当する物理ボリュームからの読み出しデータの転送を指示する処理と、
を含むことを特徴とする請求13記載の実容量割当てプログラム。
【請求項18】
前記第2の処理は、
前記書き込みとは非同期に、実記憶容量割当て済みの領域への書き込みデータがゼロか否かを判定する処理と、
ゼロであった場合に、前記物理ボリュームへの書き込みアドレスの割当て状況が記憶された第1のデータ割当て管理テーブルを参照し、前記仮想ボリュームへの書き込みアドレスの割当て状況が割当て済み状態になっている前記物理ボリュームを未割当て状態に更新設定する処理と、
を含むことを特徴とする請求項14記載の実容量割当てプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate