(57)【要約】【課題】記憶効率がよくリアルタイム応答性のよい外部記憶装置システムを提供する。【解決手段】仮想ブロック領域１０４は、上位計算機が認識する仮想ブロックを一時記憶する。ディスク群１０５は、記憶制御部１０１内で認識する圧縮データが収容される実ブロックを格納する。仮想ブロック−実ブロック対応テーブル１０３は、仮想ブロックのアドレスと実ブロックのアドレスとの対応情報を格納する。制御部１０６は、上位からのリード／ライト要求に応答して要求された仮想ブロックが仮想ブロック領域１０４にあればその仮想ブロックについてリード／ライト応答する。仮想ブロック領域１０４になければディスク群１０５から読み込んだ実ブロックデータを仮想ブロック領域１０４内に展開した後にリード／ライト応答する。仮想ブロックにデータ更新が生じたとき、該当する実ブロックを更新する。【選択図】図１
2004013373.tif 000002
【特許請求の範囲】
【請求項１】
上位装置で認識可能な仮想ブロックを一時記憶するキャッシュ手段と、当該外部記憶装置システム内で認識する圧縮データが収容される実ブロックを格納する記憶装置と、前記仮想ブロックのアドレスと前記実ブロックのアドレスとの対応情報を格納する記憶手段と、前記上位装置からのリード／ライト要求に応答して要求された仮想ブロックが前記キャッシュ手段中にあれば前記キャッシュ手段中の仮想ブロックについてリード／ライトを行うよう制御する手段と、前記キャッシュ手段中になければ前記記憶手段を参照し要求された仮想ブロックに対応する実ブロックのデータを前記記憶装置から読み込み、前記キャッシュ手段中にデータ展開した仮想ブロックについてリード／ライトを行うよう制御する手段と、前記キャッシュ手段中の仮想ブロックにデータ更新が生じたとき当該仮想ブロックの圧縮データを含む対応する前記記憶装置中の実ブロックを更新するよう制御する手段とを有することを特徴とする外部記憶装置システム。
【請求項２】
さらに前記仮想ブロックをデータ圧縮／データ伸長するときの圧縮効率に基づく判定によって前記仮想ブロックをそのまま前記実ブロックとして前記記憶装置に格納するよう制御する手段を有することを特徴とする請求項１記載の外部記憶装置システム。
【請求項３】
前記記憶装置はディスクアレイ装置であることを特徴とする請求項１記載の外部記憶装置システム。
【請求項４】
上位装置との間で前記上位装置が認識可能な仮想ブロックをやり取りし、下位記憶装置との間で圧縮データが格納される実ブロックをリード／ライトする記憶制御装置であって、
前記仮想ブロックを一時記憶するキャッシュ手段と、前記仮想ブロックのアドレスと前記実ブロックのアドレスとの対応情報を格納する記憶手段と、前記上位装置からのリード／ライト要求に応答して要求された仮想ブロックが前記キャッシュ手段中にあれば前記キャッシュ手段中の仮想ブロックについてリード／ライトを行うよう制御する手段と、前記キャッシュ手段中になければ前記記憶手段を参照し要求された仮想ブロックに対応する実ブロックのデータを前記下位記憶装置から読み込み、前記キャッシュ手段中にデータ展開した仮想ブロックについてリード／ライトを行うよう制御する手段と、前記キャッシュ手段中の仮想ブロックにデータ更新が生じたとき当該仮想ブロックの圧縮データを含む対応する実ブロックを書き込むために前記下位記憶装置へ送る制御手段とを有することを特徴とする記憶制御装置。
【請求項５】
さらに前記仮想ブロックをデータ圧縮／データ伸長するときの圧縮効率に基づく判定によって前記仮想ブロックをそのまま前記実ブロックとして前記下位記憶装置へ送るよう制御する手段を有することを特徴とする請求項４記載の記憶制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ圧縮による記憶効率がよくリアルタイム応答性のよいストレージを提供する外部記憶装置システム及び記憶制御装置に関する。
【０００２】
【従来の技術】
外部記憶装置上の記憶スペースを有効に活用する技術として、データマイグレーション技術が広く研究・開発されている。この技術は、各データの利用頻度に応じてその格納場所を決めるものであり、利用頻度の低いデータを圧縮して非圧縮データの格納領域から圧縮データの格納領域へ移動するものである。この技術をディスクアレイ装置に適用したものとして、特開平５−７３２１３号公報に開示された発明がある。この発明は、ディスクとして非圧縮データを蓄積する活性記憶プールと、圧縮データを蓄積する非活性記憶プールを設ける。各プールは一定領域を持つ複数の論理ボリュームから構成される。ディスクアレイ装置内では、各論理ボリュームについて上位からのアクセス頻度により、アクセス頻度の少ない活性記憶プールのボリュームデータは圧縮され、非活性プールのボリュームデータに蓄積される。また非活性プールのボリュームデータに上位からアクセスが発生した場合、そのデータは活性プールのボリュームに一度展開された後、上位へ応答される。
【０００３】
【発明が解決しようとする課題】
上記従来技術によれば、外部記憶装置システムは、活性プール、非活性プールともにボリューム単位のデータ管理をするために、上位装置から非活性プール中のデータにアクセス要求があったとき、そのデータの格納されているボリュームを一度活性プールのボリュームに展開する必要がある。このため非活性プール中のデータのアクセス要求に対してリアルタイムで応答することは困難である。また活性プール中のデータは非圧縮データであり、記憶効率の点で問題があった。
【０００４】
本発明の目的は、記憶効率がよくリアルタイム応答性のよい外部記憶装置システム及び記憶制御装置を提供することにある。
【０００５】
【課題を解決するための手段】
本発明は、上位装置で認識可能な仮想ブロックを一時記憶するキャッシュ手段と、当該外部記憶装置システム内で認識する圧縮データが格納される実ブロックを格納する記憶装置と、仮想ブロックのアドレスと実ブロックのアドレスとの対応情報を格納する記憶手段と、上位装置からのリード／ライト要求に応答して要求された仮想ブロックがキャッシュ手段中にあればキャッシュ手段中の仮想ブロックについてリード／ライトを行うよう制御する手段と、キャッシュ手段中になければ上記の記憶手段を参照し要求された仮想ブロックに対応する実ブロックのデータを記憶装置から読み込み、キャッシュ手段中にデータ展開した仮想ブロックについてリード／ライトを行うよう制御する手段と、キャッシュ手段中の仮想ブロックにデータ更新が生じたとき当該仮想ブロックの圧縮データを含む対応する記憶装置中の実ブロックを更新するよう制御する手段とを有する外部記憶装置システムを特徴とする。
【０００６】
また外部記憶装置システムを記憶制御装置と下位記憶装置に区分したとき、該当するキャッシュ手段、記憶手段および制御手段を有する記憶制御装置を特徴とする。
【０００７】
【発明の実施の形態】
以下本発明の実施形態について図面を用いて説明する。
【０００８】
図１は、外部記憶装置システムの構成を示す図である。外部記憶装置システムは、記憶制御部１０１とディスク群１０５から構成される。記憶制御部１０１は、制御部１０６、キャッシュメモリ１０２、上位のホスト計算機とのインタフェース部およびディスク群１０５とのインタフェース部を有する記憶制御装置である。キャッシュメモリ１０２は、仮想ブロック−実ブロック対応テーブル１０３および仮想ブロック領域１０４を有する。ここで仮想ブロックはホスト計算機が認識可能なデータであり、実ブロックは外部記憶装置システム内で認識される通常圧縮されたデータである。仮想ブロック−実ブロック対応テーブル１０３は、仮想ブロックのアドレスと実ブロックのアドレスとの対応関係を記憶する。また仮想ブロック領域１０４は、キャッシュメモリ内に保存される仮想ブロックを格納する。
【０００９】
制御部１０６は、ホスト計算機からデータのリード要求を受けたとき、仮想ブロック−実ブロック対応テーブル１０３を参照し、要求されたデータが仮想ブロック領域１０４内にあればそのデータを応答する。また仮想ブロック領域１０４内になければ対応する実ブロックの圧縮データを仮想ブロック領域１０４に展開した後にそのデータを応答する。制御部１０６がホスト計算機からデータライト要求を受けたとき、仮想ブロック−実ブロック対応テーブル１０３を参照し、要求されたデータが仮想ブロック１０４内にあればそのデータを更新する。また仮想ブロック領域１０４内になければ対応する実ブロックの圧縮データを仮想ブロック領域１０４に展開した後にそのデータを更新する。制御部１０６は、複数のプロセッサとメモリから構成され、メモリ内のプログラムによって複数の処理を並行して実行することが可能である。
【００１０】
ディスク群１０５は、複数のディスクから成るディスクアレイを構成し、実ブロックを保存する。実ブロックは、論理ボリューム番号と実ブロック番号の組によってアドレスされる。ディスク群１０５は、記憶制御部１０１の下位記憶装置として独立した装置であってもよい。
【００１１】
図２は、仮想ブロック−実ブロック対応テーブル１０３のデータ構成を示す図である。仮想ブロック３０１は、ホスト計算機が認識する仮想ブロックのアドレスであり、論理ブロック番号−ブロック番号の形式で表現される。仮想ブロックは、非圧縮データあるいはホスト計算機による圧縮データを含む。実ブロック３０２は、ディスク上の実ブロック領域に記憶されるデータブロックのアドレスであり、論理ブロック番号−ブロック番号の形式で表現される。実ブロックは、記憶制御部１０１内で圧縮された圧縮データか又は圧縮されないデータを含む。展開先アドレス３０３は、実ブロックから展開された仮想ブロックの仮想ブロック領域１０４上のアドレスである。この例では仮想ブロックが仮想ブロック領域１０４上に展開されていないことを示している。圧縮／非圧縮フラグ３０４は、実ブロック３０２によってアドレス付けされる実ブロックが記憶制御部１０１による圧縮ブロックか非圧縮ブロックかを区分するフラグである。圧縮効率の悪い仮想ブロックは圧縮されず、そのまま実ブロックとなる。
【００１２】
本例では仮想ブロックのサイズと実ブロックのサイズは同じであり、ディスク群１０５のディスクアレイのストライプサイズに準じた６４ＫＢ程度のサイズとしている。しかしユーザはブロックサイズを任意に指定できる。また仮想ブロック３０１のブロック番号は０〜７ＦＦＦのように連続しているので、仮想ブロック３０１の欄を設けずに実ブロック３０２、展開先アドレス３０３及び圧縮／非圧縮フラグ３０４だけでテーブルを構成してもよい。その場合には、仮想ブロック・アドレスを対応する仮想ブロック−実ブロック対応テーブル１０３内メモリアドレスに変換することによって、目的のテーブル・エントリにアクセスできる。また仮想ブロック３０１と展開先アドレス３０３との対応を仮想ブロック−実ブロック対応テーブル１０３とは別のテーブルに設けてもよい。さらに仮想ブロック−実ブロック対応テーブル１０３をキャッシュメモリ１０２上に設ける代わりにディスク上に設けてもよい。
【００１３】
図３は、データ初期書き込み時の仮想ブロックデータと実ブロック中に格納されるデータの対応関係を説明する図である。仮想ブロック領域１０４中に格納される各仮想ブロックは、圧縮された場合にディスク上の実ブロック領域ではサイズの縮小された圧縮データとなる。このため１つの実ブロック中に複数の仮想ブロックの圧縮データを収容することが可能である。１０−０，１０−１，…は連続する仮想ブロック・アドレスであり、１Ａ−０，１Ａ−１，…は実ブロック・アドレスである。また１Ａ−０−０，１Ａ−０−１，…は同一実ブロック中の各圧縮データを区別するために付けられたシーケンス番号である。各実ブロックの後尾の斜線領域は未使用領域を示す。この例のように実ブロックの未使用領域に書き込めない圧縮データは次の実ブロックに書き込まれるため、１つの圧縮データが実ブロックの境界を跨ぐことはない。
【００１４】
図４は、ディスクリード時の制御部１０６の処理手順を示すフローチャートである。制御部１０６は、上位のホスト計算機からリード要求を受けると（ステップ２０１）、仮想ブロック−実ブロック対応テーブル１０３を参照し、指定された仮想ブロック・アドレスに対応する実ブロック・アドレス、展開先アドレスおよび圧縮／非圧縮フラグを取得する（ステップ２０２）。次に展開先アドレス３０３により要求されたデータが仮想ブロック領域１０４に展開済か否かを判定する（ステップ２０３）。展開先アドレス３０３に仮想ブロック領域１０４のアドレスが格納されていれば展開済、そうでなければ展開されていない。仮想ブロック領域１０４に展開済であれば、展開先アドレス３０３によって位置付けされる仮想ブロック領域１０４内格納場所から仮想ブロックを読み取り、そのデータをホスト計算機に応答する（ステップ２０４）。仮想ブロック領域１０４に展開済でなければ、実ブロック３０２で位置付けされる実ブロック領域より実ブロックを読み出し、必要に応じて伸長処理を行い、その結果を仮想ブロック領域１０４に展開する（ステップ２０５）。後述するように実ブロックの読み出しとデータ展開は並行して処理可能である。このときステップ２０５でデータ展開した少なくとも１つの仮想ブロックに対応する各展開先アドレス３０３に当該仮想ブロックの仮想ブロック領域１０４内格納アドレスを設定する。なお指定された仮想ブロックに対応する圧縮／非圧縮フラグ３０４が非圧縮を示していれば、読み出した実ブロックをそのまま仮想ブロックとする。次にデータ展開した仮想ブロックのうち指定された仮想ブロックをホスト計算機に応答する（ステップ２０６）。後述するように、ステップ２０５のデータ展開処理とステップ２０６の上位へのデータ応答は並行して処理可能である。
【００１５】
図５は、アドレス１０−０，１０−１及び１０−２の仮想ブロックの仮想ブロック領域１０４上のアドレスが各々＃００Ａ，＃００Ｂ及び＃００Ｃであることを示している。また図６は、これらの仮想ブロック領域１０４アドレスが仮想ブロック−実ブロック対応テーブル１０３の該当する展開先アドレス３０３に設定された状態を示している。この例では、制御部１０６は、仮想ブロック−実ブロック対応テーブル１０３を参照してアドレス１Ａ−０の実ブロックに収容した仮想ブロックの数を求め、その仮想ブロック数分の領域を仮想ブロック領域１０４上に確保する。アドレス＃００Ａ〜＃００Ｃをもつ領域が確保された領域である。次に実ブロック領域からアドレス１Ａ−０の実ブロック・データを読み出し、読み出し時に、確保した仮想ブロック領域１０４上の領域にデータ展開する。実ブロック・データの読み出しと仮想ブロック領域１０４へのデータ展開は並行して実行される。領域＃００Ａについてアドレス１０−０の仮想ブロックのデータ展開が終了した時点で該当する展開先アドレス３０３にアドレス＃００Ａを書き込む。領域＃００Ｂ及び＃００Ｃの処理についても同様である。
【００１６】
またアドレス１０−０の仮想ブロックが仮想ブロック領域１０４に格納完了したときにこの仮想ブロックを上位にデータ応答できるので、アドレス１０−１の仮想ブロックのデータ展開とアドレス１０−０の仮想ブロックの上位への応答は並行して実行される。
【００１７】
このようにして仮想ブロック領域１０４の終端まで仮想ブロックが格納された場合、後続の仮想ブロックについては仮想ブロック領域１０４の先頭から順次上書きされる。またディスク上の実ボリューム領域の一部を仮想ブロック領域のために割り当てることも可能である。
【００１８】
図７は、ディスクライト時の制御部１０６の処理手順を示すフローチャートである。制御部１０６は、上位のホスト計算機からライト要求を受けると（ステップ９０１）、仮想ブロック−実ブロック対応テーブル１０３を参照し、指定された仮想ブロック・アドレスに対応する実ブロック・アドレス、展開先アドレスおよび圧縮／非圧縮フラグを取得する（ステップ９０２）。次に展開先アドレスにより要求されたデータが仮想ブロック領域１０４に展開済か否かを判定する（ステップ９０３）。仮想ブロック領域１０４に展開済であれば、展開先アドレス３０３によって位置付けされる仮想ブロック領域１０４内の仮想ブロックを上位から受け取ったデータによって更新する（ステップ９０４）。仮想ブロック領域１０４に展開済でなければ、実ブロック３０２で位置付けされる実ブロック領域より実ブロックを読み出し、必要に応じて指定された仮想ブロックに対応する圧縮データを伸長して仮想ブロック領域１０４内に展開する（ステップ９０５）。このときデータ展開した少なくとも１つの仮想ブロックに対応する展開先アドレス３０３に当該仮想ブロックの仮想ブロック領域１０４内格納アドレスを設定する。なお指定された仮想ブロックに対応する圧縮／非圧縮フラグ３０４が非圧縮を示していれば、読み出した実ブロックをそのまま仮想ブロックとする。次にデータ展開された仮想ブロック領域１０４の仮想ブロックのうち指定された仮想ブロックを上位から受け取ったデータによって更新する（ステップ９０６）。
【００１９】
なお指定された仮想ブロックが新規データの場合には、当該仮想ブロックに対応する実ブロック３０２が設定されていないから、ステップ９０５の処理は、当該仮想ブロックに対応する展開先アドレス３０３に当該仮想ブロックの仮想ブロック領域１０４内格納アドレスを設定するだけである。またステップ９０６はこの格納場所に新規の仮想ブロックを書き込む処理となる。
【００２０】
次にステップ９０１〜９０６の処理と同期してあるいは非同期に仮想ブロック領域１０４で更新した仮想ブロックを必要に応じてデータ圧縮し、その圧縮データを実ブロック領域に書き込む（ステップ９０７）。言い換えれば記憶制御部１０１からディスク群１０５へ書き込むべき実ブロックを送る。このとき当該仮想ブロックに対応する実ブロック３０２に決定した実ブロック・アドレスを書き込む。また実ブロック領域に書き込まれたデータが圧縮データであるか非圧縮データであるかに応じて該当する圧縮／非圧縮フラグ３０４を設定する。後述するようにデータ圧縮処理と実ブロック書き込みは並行して処理可能である。
【００２１】
次にディスクライトが仮想ブロックのデータ書き換えである場合のステップ９０７の処理の詳細について説明する。制御部１０６は、仮想ブロック−実ブロック対応テーブル１０３を参照して更新される仮想ブロックと同一実ブロックに収容される少なくとも１つの仮想ブロックについて圧縮処理し、それら圧縮データを１つまたは複数の実ブロックに書き込み、圧縮された仮想ブロックに対応する実ブロック３０２が変更されるか否かに応じてその内容を更新またはそのままとする。
【００２２】
例えば図６に示す仮想ブロック−実ブロック対応テーブル１０３において、アドレス１０−２の仮想ブロックにデータ書き換え処理が発生した場合、仮想ブロック領域１０４上の＃００Ａ，＃００Ｂおよび＃００Ｃのそれぞれ格納されるアドレス１０−０〜１０−２の仮想ブロックについて圧縮処理を行う。これら圧縮データがアドレス１Ａ−０の実ブロックに収容できる場合には、その実ブロックに書き込む。
【００２３】
圧縮データ量がアドレス１Ａ−０の実ブロック容量を越える場合には、アドレス１０−０および１０−１の仮想ブロックの圧縮データをアドレス１Ａ−０の実ブロックに収容し、アドレス１０−２の仮想ブロックの圧縮データを新しい実ブロックに書き込む。図８は、各仮想ブロックの圧縮データが実ブロックに書き込まれた状態を示す。また図９は、新しい実ブロックの使用によってアドレス１０−２の仮想ブロックに対応する実ブロック３０２が更新された状態を示す。
【００２４】
上記データ書き換え時のディスク書き込み処理は、データ書き換えが発生したタイミングで実行してもよいし、仮想ブロック領域１０４が満杯になったとき次に上書きされる仮想ブロックについて実行してもよい。あるいはホスト計算機からのアクセスの少ない時に適時実行してもよい。仮想ブロック領域１０４上の仮想ブロックが上書きによって消去されるとき、対応する展開先アドレス３０３は削除される。
【００２５】
また上記データ書き換えが多くの仮想ブロックに対して発生した結果として、アドレスが連続した仮想ブロックに対してアドレスが不連続となる実ブロックが多数発生する場合がある。このような場合、上位からのアクセスが少ない時に実ボリューム中の実ブロックを順次仮想ブロック領域１０４にデータ展開し、再圧縮した後に実ブロックが連続アドレスとなるように実ボリュームの再配置を実施してもよい。
【００２６】
ステップ９０７のデータ圧縮処理と実ブロック書き込みをシリアルに行う方式と並行して行う方式がある。シリアル方式の場合には、メモリに圧縮データ量カウンタをもち、このカウンタにデータ圧縮した次の仮想ブロックのデータ量を加算できるか否か判定する。加算しても実ブロックの容量を越えない場合には加算し、その次の仮想ブロックのデータ圧縮を続ける。加算した場合に実ブロックの容量を越えるときには、カウンタに示されるデータ量の圧縮データを実ブロックに書き込み、次の実ブロック書き込みのためにカウンタをクリアして最後の圧縮データのデータ量を加算する。
【００２７】
データ圧縮処理と実ブロック書き込みを並行して行う場合には、メモリ上に実際の実ブロックに書き込んだデータの量を示すディスク記録量カウンタをもち、連続する仮想ブロックのデータ圧縮処理を並行して実行する。このときディスク記録量カウンタが実ブロックの容量に達したか否かを判定する。カウンタが実ブロックの容量に達したとき、最後の圧縮データの実ブロック書き込みを中止し、カウンタをクリアして最後の圧縮データを改めて次の実ブロックに書き込み開始する。
【００２８】
圧縮データ量カウンタとディスク記録量カウンタによる監視を併用することも可能である。すなわちデータ圧縮処理と実ブロック書き込みを並行して実行し、次の仮想ブロックのデータ圧縮が終了していれば圧縮データ量カウンタにこの圧縮データのデータ量を加算できるか否か判定する。加算できなければこの圧縮データを次の実ブロックに書き込む。一方ディスク記録量カウンタも監視し、この圧縮データのディスク書き込みによってこのカウンタが実ブロックの容量に達したか否かを判定する。ディスク記録量カウンタが実ブロックの容量に達したことを検出したとき、次の実ブロックに書き込み開始する。言い換えれば両カウンタのうちいずれか容量オーバーの検出の早い方に従って実ブロック書き込みを制御する。
【００２９】
仮想ブロックを圧縮して実ブロックに格納するか、原データのままで実ブロックに格納するかの判定は、圧縮効率に基づいて行われる。この圧縮効率を求めるために、次に示すように圧縮率と正規化伸長速度の２つのパラメータを用いることができる。
【００３０】
圧縮率を次式の通り定義する。
圧縮率α＝（圧縮データの容量）／（原データの容量）
また非圧縮データの読み出し時間の平均値をτとし、圧縮データの読み出し時間の平均値とその伸長処理時間との和を伸長時間Ｔとするとき、正規化伸長速度を次式の通り定義する。
正規化伸長速度β＝Ｔ／τ
単純に圧縮効率を算出する方式として、次式を定義する。
Φ＝Ｎ１＊α＋Ｎ２＊β
ここでＮ１，Ｎ２は、ユーザが指定する重み係数である。このΦを用いてΦが所定値以下である場合に仮想ブロックをデータ圧縮して実ブロックに格納し、そうでない場合には仮想ブロックをそのまま実ブロックに格納することができる。
【００３１】
また伸長時間Ｔに制限時間Ｔ１がある場合、
α＜１，Ｔ≦Ｔ１
の条件下では圧縮データを実ブロックに格納するようにしてもよい。
【００３２】
次に上記圧縮効率に基づく判定をリアルタイムでデータ圧縮処理に適用する実施例について述べる。まず仮想ブロックをデータ圧縮し、そのときの圧縮データの容量を計数する。圧縮データの容量が仮想ブロックの容量を越えるときには、無条件で仮想ブロックをそのまま実ブロックに格納する。圧縮データ容量が仮想ブロック容量を越えないときには、圧縮データを再び伸長して伸長処理時間を測定し、上記Φの式あるいは伸長時間Ｔの制限に従ってその仮想ブロックを圧縮するか否かを決定する。仮想ブロックのデータ圧縮処理と伸長処理を並行して実行することも可能である。
【００３３】
【発明の効果】
以上述べたように本発明によれば、記憶効率がよくリアルタイム応答性のよい外部記憶装置システム及び記憶制御装置を提供できる。またデータ圧縮効率によって実ブロックとして圧縮データまたは原データを格納することができる。
【図面の簡単な説明】
【図１】実施例の外部記憶装置システムの構成図である。
【図２】実施例の仮想ブロック−実ブロック対応テーブル１０３のデータ構成を示す図である。
【図３】仮想ブロックデータと実ブロックデータの対応関係を説明する図である。
【図４】実施例のディスクリード時の処理手順を示すフローチャートである。
【図５】仮想ブロックの展開先アドレスを例示する図である。
【図６】実施例の仮想ブロック−実ブロック対応テーブル１０３に仮想ブロックの展開先が設定された状態を示す図である。
【図７】実施例のディスクライト時の処理手順を示すフローチャートである。
【図８】仮想ブロックにデータ書き換えが発生し、実ブロックが分離された状態の例を説明する図である。
【図９】仮想ブロックのデータ書き換えの結果として実ブロックアドレスが更新された例を示す図である。
【符号の説明】
１０１…記憶制御部、１０２…キャッシュメモリ、１０３…仮想ブロック−実ブロック対応テーブル、１０４…仮想ブロック領域、１０５…ディスク群、１０６…制御部、３０１…仮想ブロック、３０２…実ブロック、３０３…展開先アドレス、３０４…圧縮／非圧縮フラグ
【図１】
2004013373.tif 000003
【図２】
2004013373.tif 000004
【図３】
2004013373.tif 000005
【図４】
2004013373.tif 000006
【図５】
2004013373.tif 000007
【図６】
2004013373.tif 000008
【図７】
2004013373.tif 000009
【図８】
2004013373.tif 000010
【図９】
2004013373.tif 000011