JP4220726B2 - 外部記憶装置システム及び記憶制御装置 - Google Patents

外部記憶装置システム及び記憶制御装置 Download PDF

Info

Publication number
JP4220726B2
JP4220726B2 JP2002163786A JP2002163786A JP4220726B2 JP 4220726 B2 JP4220726 B2 JP 4220726B2 JP 2002163786 A JP2002163786 A JP 2002163786A JP 2002163786 A JP2002163786 A JP 2002163786A JP 4220726 B2 JP4220726 B2 JP 4220726B2
Authority
JP
Japan
Prior art keywords
data
block
virtual block
virtual
real
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
JP2002163786A
Other languages
English (en)
Other versions
JP2004013373A5 (ja
JP2004013373A (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 JP2002163786A priority Critical patent/JP4220726B2/ja
Publication of JP2004013373A publication Critical patent/JP2004013373A/ja
Publication of JP2004013373A5 publication Critical patent/JP2004013373A5/ja
Application granted granted Critical
Publication of JP4220726B2 publication Critical patent/JP4220726B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、データ圧縮による記憶効率がよくリアルタイム応答性のよいストレージを提供する外部記憶装置システム及び記憶制御装置に関する。
【0002】
【従来の技術】
外部記憶装置上の記憶スペースを有効に活用する技術として、データマイグレーション技術が広く研究・開発されている。この技術は、各データの利用頻度に応じてその格納場所を決めるものであり、利用頻度の低いデータを圧縮して非圧縮データの格納領域から圧縮データの格納領域へ移動するものである。この技術をディスクアレイ装置に適用したものとして、特開平5−73213号公報に開示された発明がある。この発明は、ディスクとして非圧縮データを蓄積する活性記憶プールと、圧縮データを蓄積する非活性記憶プールを設ける。各プールは一定領域を持つ複数の論理ボリュームから構成される。ディスクアレイ装置内では、各論理ボリュームについて上位からのアクセス頻度により、アクセス頻度の少ない活性記憶プールのボリュームデータは圧縮され、非活性プールのボリュームデータに蓄積される。また非活性プールのボリュームデータに上位からアクセスが発生した場合、そのデータは活性プールのボリュームに一度展開された後、上位へ応答される。
【0003】
【発明が解決しようとする課題】
上記従来技術によれば、外部記憶装置システムは、活性プール、非活性プールともにボリューム単位のデータ管理をするために、上位装置から非活性プール中のデータにアクセス要求があったとき、そのデータの格納されているボリュームを一度活性プールのボリュームに展開する必要がある。このため非活性プール中のデータのアクセス要求に対してリアルタイムで応答することは困難である。また活性プール中のデータは非圧縮データであり、記憶効率の点で問題があった。
【0004】
本発明の目的は、記憶効率がよくリアルタイム応答性のよい外部記憶装置システム及び記憶制御装置を提供することにある。
【0005】
【課題を解決するための手段】
本発明は、上位装置で認識可能な仮想ブロックを一時記憶するキャッシュ手段と、当該外部記憶装置システム内で認識する圧縮データが格納される実ブロックを格納する記憶装置と、仮想ブロックのアドレスと実ブロックのアドレスとの対応情報を格納する記憶手段と、上位装置からのリード/ライト要求に応答して要求された仮想ブロックがキャッシュ手段中にあればキャッシュ手段中の仮想ブロックについてリード/ライトを行うよう制御する手段と、キャッシュ手段中になければ上記の記憶手段を参照し要求された仮想ブロックに対応する実ブロックのデータを記憶装置から読み込み、キャッシュ手段中にデータ展開した仮想ブロックについてリード/ライトを行うよう制御する手段と、キャッシュ手段中の仮想ブロックにデータ更新が生じたとき当該仮想ブロックの圧縮データを含む対応する記憶装置中の実ブロックを更新するよう制御する手段とを有する外部記憶装置システムを特徴とする。
【0006】
また外部記憶装置システムを記憶制御装置と下位記憶装置に区分したとき、該当するキャッシュ手段、記憶手段および制御手段を有する記憶制御装置を特徴とする。
【0007】
【発明の実施の形態】
以下本発明の実施形態について図面を用いて説明する。
【0008】
図1は、外部記憶装置システムの構成を示す図である。外部記憶装置システムは、記憶制御部101とディスク群105から構成される。記憶制御部101は、制御部106、キャッシュメモリ102、上位のホスト計算機とのインタフェース部およびディスク群105とのインタフェース部を有する記憶制御装置である。キャッシュメモリ102は、仮想ブロック−実ブロック対応テーブル103および仮想ブロック領域104を有する。ここで仮想ブロックはホスト計算機が認識可能なデータであり、実ブロックは外部記憶装置システム内で認識される通常圧縮されたデータである。仮想ブロック−実ブロック対応テーブル103は、仮想ブロックのアドレスと実ブロックのアドレスとの対応関係を記憶する。また仮想ブロック領域104は、キャッシュメモリ内に保存される仮想ブロックを格納する。
【0009】
制御部106は、ホスト計算機からデータのリード要求を受けたとき、仮想ブロック−実ブロック対応テーブル103を参照し、要求されたデータが仮想ブロック領域104内にあればそのデータを応答する。また仮想ブロック領域104内になければ対応する実ブロックの圧縮データを仮想ブロック領域104に展開した後にそのデータを応答する。制御部106がホスト計算機からデータライト要求を受けたとき、仮想ブロック−実ブロック対応テーブル103を参照し、要求されたデータが仮想ブロック104内にあればそのデータを更新する。また仮想ブロック領域104内になければ対応する実ブロックの圧縮データを仮想ブロック領域104に展開した後にそのデータを更新する。制御部106は、複数のプロセッサとメモリから構成され、メモリ内のプログラムによって複数の処理を並行して実行することが可能である。
【0010】
ディスク群105は、複数のディスクから成るディスクアレイを構成し、実ブロックを保存する。実ブロックは、論理ボリューム番号と実ブロック番号の組によってアドレスされる。ディスク群105は、記憶制御部101の下位記憶装置として独立した装置であってもよい。
【0011】
図2は、仮想ブロック−実ブロック対応テーブル103のデータ構成を示す図である。仮想ブロック301は、ホスト計算機が認識する仮想ブロックのアドレスであり、論理ブロック番号−ブロック番号の形式で表現される。仮想ブロックは、非圧縮データあるいはホスト計算機による圧縮データを含む。実ブロック302は、ディスク上の実ブロック領域に記憶されるデータブロックのアドレスであり、論理ブロック番号−ブロック番号の形式で表現される。実ブロックは、記憶制御部101内で圧縮された圧縮データか又は圧縮されないデータを含む。展開先アドレス303は、実ブロックから展開された仮想ブロックの仮想ブロック領域104上のアドレスである。この例では仮想ブロックが仮想ブロック領域104上に展開されていないことを示している。圧縮/非圧縮フラグ304は、実ブロック302によってアドレス付けされる実ブロックが記憶制御部101による圧縮ブロックか非圧縮ブロックかを区分するフラグである。圧縮効率の悪い仮想ブロックは圧縮されず、そのまま実ブロックとなる。
【0012】
本例では仮想ブロックのサイズと実ブロックのサイズは同じであり、ディスク群105のディスクアレイのストライプサイズに準じた64KB程度のサイズとしている。しかしユーザはブロックサイズを任意に指定できる。また仮想ブロック301のブロック番号は0〜7FFFのように連続しているので、仮想ブロック301の欄を設けずに実ブロック302、展開先アドレス303及び圧縮/非圧縮フラグ304だけでテーブルを構成してもよい。その場合には、仮想ブロック・アドレスを対応する仮想ブロック−実ブロック対応テーブル103内メモリアドレスに変換することによって、目的のテーブル・エントリにアクセスできる。また仮想ブロック301と展開先アドレス303との対応を仮想ブロック−実ブロック対応テーブル103とは別のテーブルに設けてもよい。さらに仮想ブロック−実ブロック対応テーブル103をキャッシュメモリ102上に設ける代わりにディスク上に設けてもよい。
【0013】
図3は、データ初期書き込み時の仮想ブロックデータと実ブロック中に格納されるデータの対応関係を説明する図である。仮想ブロック領域104中に格納される各仮想ブロックは、圧縮された場合にディスク上の実ブロック領域ではサイズの縮小された圧縮データとなる。このため1つの実ブロック中に複数の仮想ブロックの圧縮データを収容することが可能である。10−0,10−1,…は連続する仮想ブロック・アドレスであり、1A−0,1A−1,…は実ブロック・アドレスである。また1A−0−0,1A−0−1,…は同一実ブロック中の各圧縮データを区別するために付けられたシーケンス番号である。各実ブロックの後尾の斜線領域は未使用領域を示す。この例のように実ブロックの未使用領域に書き込めない圧縮データは次の実ブロックに書き込まれるため、1つの圧縮データが実ブロックの境界を跨ぐことはない。
【0014】
図4は、ディスクリード時の制御部106の処理手順を示すフローチャートである。制御部106は、上位のホスト計算機からリード要求を受けると(ステップ201)、仮想ブロック−実ブロック対応テーブル103を参照し、指定された仮想ブロック・アドレスに対応する実ブロック・アドレス、展開先アドレスおよび圧縮/非圧縮フラグを取得する(ステップ202)。次に展開先アドレス303により要求されたデータが仮想ブロック領域104に展開済か否かを判定する(ステップ203)。展開先アドレス303に仮想ブロック領域104のアドレスが格納されていれば展開済、そうでなければ展開されていない。仮想ブロック領域104に展開済であれば、展開先アドレス303によって位置付けされる仮想ブロック領域104内格納場所から仮想ブロックを読み取り、そのデータをホスト計算機に応答する(ステップ204)。仮想ブロック領域104に展開済でなければ、実ブロック302で位置付けされる実ブロック領域より実ブロックを読み出し、必要に応じて伸長処理を行い、その結果を仮想ブロック領域104に展開する(ステップ205)。後述するように実ブロックの読み出しとデータ展開は並行して処理可能である。このときステップ205でデータ展開した少なくとも1つの仮想ブロックに対応する各展開先アドレス303に当該仮想ブロックの仮想ブロック領域104内格納アドレスを設定する。なお指定された仮想ブロックに対応する圧縮/非圧縮フラグ304が非圧縮を示していれば、読み出した実ブロックをそのまま仮想ブロックとする。次にデータ展開した仮想ブロックのうち指定された仮想ブロックをホスト計算機に応答する(ステップ206)。後述するように、ステップ205のデータ展開処理とステップ206の上位へのデータ応答は並行して処理可能である。
【0015】
図5は、アドレス10−0,10−1及び10−2の仮想ブロックの仮想ブロック領域104上のアドレスが各々#00A,#00B及び#00Cであることを示している。また図6は、これらの仮想ブロック領域104アドレスが仮想ブロック−実ブロック対応テーブル103の該当する展開先アドレス303に設定された状態を示している。この例では、制御部106は、仮想ブロック−実ブロック対応テーブル103を参照してアドレス1A−0の実ブロックに収容した仮想ブロックの数を求め、その仮想ブロック数分の領域を仮想ブロック領域104上に確保する。アドレス#00A〜#00Cをもつ領域が確保された領域である。次に実ブロック領域からアドレス1A−0の実ブロック・データを読み出し、読み出し時に、確保した仮想ブロック領域104上の領域にデータ展開する。実ブロック・データの読み出しと仮想ブロック領域104へのデータ展開は並行して実行される。領域#00Aについてアドレス10−0の仮想ブロックのデータ展開が終了した時点で該当する展開先アドレス303にアドレス#00Aを書き込む。領域#00B及び#00Cの処理についても同様である。
【0016】
またアドレス10−0の仮想ブロックが仮想ブロック領域104に格納完了したときにこの仮想ブロックを上位にデータ応答できるので、アドレス10−1の仮想ブロックのデータ展開とアドレス10−0の仮想ブロックの上位への応答は並行して実行される。
【0017】
このようにして仮想ブロック領域104の終端まで仮想ブロックが格納された場合、後続の仮想ブロックについては仮想ブロック領域104の先頭から順次上書きされる。またディスク上の実ボリューム領域の一部を仮想ブロック領域のために割り当てることも可能である。
【0018】
図7は、ディスクライト時の制御部106の処理手順を示すフローチャートである。制御部106は、上位のホスト計算機からライト要求を受けると(ステップ901)、仮想ブロック−実ブロック対応テーブル103を参照し、指定された仮想ブロック・アドレスに対応する実ブロック・アドレス、展開先アドレスおよび圧縮/非圧縮フラグを取得する(ステップ902)。次に展開先アドレスにより要求されたデータが仮想ブロック領域104に展開済か否かを判定する(ステップ903)。仮想ブロック領域104に展開済であれば、展開先アドレス303によって位置付けされる仮想ブロック領域104内の仮想ブロックを上位から受け取ったデータによって更新する(ステップ904)。仮想ブロック領域104に展開済でなければ、実ブロック302で位置付けされる実ブロック領域より実ブロックを読み出し、必要に応じて指定された仮想ブロックに対応する圧縮データを伸長して仮想ブロック領域104内に展開する(ステップ905)。このときデータ展開した少なくとも1つの仮想ブロックに対応する展開先アドレス303に当該仮想ブロックの仮想ブロック領域104内格納アドレスを設定する。なお指定された仮想ブロックに対応する圧縮/非圧縮フラグ304が非圧縮を示していれば、読み出した実ブロックをそのまま仮想ブロックとする。次にデータ展開された仮想ブロック領域104の仮想ブロックのうち指定された仮想ブロックを上位から受け取ったデータによって更新する(ステップ906)。
【0019】
なお指定された仮想ブロックが新規データの場合には、当該仮想ブロックに対応する実ブロック302が設定されていないから、ステップ905の処理は、当該仮想ブロックに対応する展開先アドレス303に当該仮想ブロックの仮想ブロック領域104内格納アドレスを設定するだけである。またステップ906はこの格納場所に新規の仮想ブロックを書き込む処理となる。
【0020】
次にステップ901〜906の処理と同期してあるいは非同期に仮想ブロック領域104で更新した仮想ブロックを必要に応じてデータ圧縮し、その圧縮データを実ブロック領域に書き込む(ステップ907)。言い換えれば記憶制御部101からディスク群105へ書き込むべき実ブロックを送る。このとき当該仮想ブロックに対応する実ブロック302に決定した実ブロック・アドレスを書き込む。また実ブロック領域に書き込まれたデータが圧縮データであるか非圧縮データであるかに応じて該当する圧縮/非圧縮フラグ304を設定する。後述するようにデータ圧縮処理と実ブロック書き込みは並行して処理可能である。
【0021】
次にディスクライトが仮想ブロックのデータ書き換えである場合のステップ907の処理の詳細について説明する。制御部106は、仮想ブロック−実ブロック対応テーブル103を参照して更新される仮想ブロックと同一実ブロックに収容される少なくとも1つの仮想ブロックについて圧縮処理し、それら圧縮データを1つまたは複数の実ブロックに書き込み、圧縮された仮想ブロックに対応する実ブロック302が変更されるか否かに応じてその内容を更新またはそのままとする。
【0022】
例えば図6に示す仮想ブロック−実ブロック対応テーブル103において、アドレス10−2の仮想ブロックにデータ書き換え処理が発生した場合、仮想ブロック領域104上の#00A,#00Bおよび#00Cのそれぞれ格納されるアドレス10−0〜10−2の仮想ブロックについて圧縮処理を行う。これら圧縮データがアドレス1A−0の実ブロックに収容できる場合には、その実ブロックに書き込む。
【0023】
圧縮データ量がアドレス1A−0の実ブロック容量を越える場合には、アドレス10−0および10−1の仮想ブロックの圧縮データをアドレス1A−0の実ブロックに収容し、アドレス10−2の仮想ブロックの圧縮データを新しい実ブロックに書き込む。図8は、各仮想ブロックの圧縮データが実ブロックに書き込まれた状態を示す。また図9は、新しい実ブロックの使用によってアドレス10−2の仮想ブロックに対応する実ブロック302が更新された状態を示す。
【0024】
上記データ書き換え時のディスク書き込み処理は、データ書き換えが発生したタイミングで実行してもよいし、仮想ブロック領域104が満杯になったとき次に上書きされる仮想ブロックについて実行してもよい。あるいはホスト計算機からのアクセスの少ない時に適時実行してもよい。仮想ブロック領域104上の仮想ブロックが上書きによって消去されるとき、対応する展開先アドレス303は削除される。
【0025】
また上記データ書き換えが多くの仮想ブロックに対して発生した結果として、アドレスが連続した仮想ブロックに対してアドレスが不連続となる実ブロックが多数発生する場合がある。このような場合、上位からのアクセスが少ない時に実ボリューム中の実ブロックを順次仮想ブロック領域104にデータ展開し、再圧縮した後に実ブロックが連続アドレスとなるように実ボリュームの再配置を実施してもよい。
【0026】
ステップ907のデータ圧縮処理と実ブロック書き込みをシリアルに行う方式と並行して行う方式がある。シリアル方式の場合には、メモリに圧縮データ量カウンタをもち、このカウンタにデータ圧縮した次の仮想ブロックのデータ量を加算できるか否か判定する。加算しても実ブロックの容量を越えない場合には加算し、その次の仮想ブロックのデータ圧縮を続ける。加算した場合に実ブロックの容量を越えるときには、カウンタに示されるデータ量の圧縮データを実ブロックに書き込み、次の実ブロック書き込みのためにカウンタをクリアして最後の圧縮データのデータ量を加算する。
【0027】
データ圧縮処理と実ブロック書き込みを並行して行う場合には、メモリ上に実際の実ブロックに書き込んだデータの量を示すディスク記録量カウンタをもち、連続する仮想ブロックのデータ圧縮処理を並行して実行する。このときディスク記録量カウンタが実ブロックの容量に達したか否かを判定する。カウンタが実ブロックの容量に達したとき、最後の圧縮データの実ブロック書き込みを中止し、カウンタをクリアして最後の圧縮データを改めて次の実ブロックに書き込み開始する。
【0028】
圧縮データ量カウンタとディスク記録量カウンタによる監視を併用することも可能である。すなわちデータ圧縮処理と実ブロック書き込みを並行して実行し、次の仮想ブロックのデータ圧縮が終了していれば圧縮データ量カウンタにこの圧縮データのデータ量を加算できるか否か判定する。加算できなければこの圧縮データを次の実ブロックに書き込む。一方ディスク記録量カウンタも監視し、この圧縮データのディスク書き込みによってこのカウンタが実ブロックの容量に達したか否かを判定する。ディスク記録量カウンタが実ブロックの容量に達したことを検出したとき、次の実ブロックに書き込み開始する。言い換えれば両カウンタのうちいずれか容量オーバーの検出の早い方に従って実ブロック書き込みを制御する。
【0029】
仮想ブロックを圧縮して実ブロックに格納するか、原データのままで実ブロックに格納するかの判定は、圧縮効率に基づいて行われる。この圧縮効率を求めるために、次に示すように圧縮率と正規化伸長速度の2つのパラメータを用いることができる。
【0030】
圧縮率を次式の通り定義する。
圧縮率α=(圧縮データの容量)/(原データの容量)
また非圧縮データの読み出し時間の平均値をτとし、圧縮データの読み出し時間の平均値とその伸長処理時間との和を伸長時間Tとするとき、正規化伸長速度を次式の通り定義する。
正規化伸長速度β=T/τ
単純に圧縮効率を算出する方式として、次式を定義する。
Φ=N1*α+N2*β
ここでN1,N2は、ユーザが指定する重み係数である。このΦを用いてΦが所定値以下である場合に仮想ブロックをデータ圧縮して実ブロックに格納し、そうでない場合には仮想ブロックをそのまま実ブロックに格納することができる。
【0031】
また伸長時間Tに制限時間T1がある場合、
α<1,T≦T1
の条件下では圧縮データを実ブロックに格納するようにしてもよい。
【0032】
次に上記圧縮効率に基づく判定をリアルタイムでデータ圧縮処理に適用する実施例について述べる。まず仮想ブロックをデータ圧縮し、そのときの圧縮データの容量を計数する。圧縮データの容量が仮想ブロックの容量を越えるときには、無条件で仮想ブロックをそのまま実ブロックに格納する。圧縮データ容量が仮想ブロック容量を越えないときには、圧縮データを再び伸長して伸長処理時間を測定し、上記Φの式あるいは伸長時間Tの制限に従ってその仮想ブロックを圧縮するか否かを決定する。仮想ブロックのデータ圧縮処理と伸長処理を並行して実行することも可能である。
【0033】
【発明の効果】
以上述べたように本発明によれば、記憶効率がよくリアルタイム応答性のよい外部記憶装置システム及び記憶制御装置を提供できる。またデータ圧縮効率によって実ブロックとして圧縮データまたは原データを格納することができる。
【図面の簡単な説明】
【図1】実施例の外部記憶装置システムの構成図である。
【図2】実施例の仮想ブロック−実ブロック対応テーブル103のデータ構成を示す図である。
【図3】仮想ブロックデータと実ブロックデータの対応関係を説明する図である。
【図4】実施例のディスクリード時の処理手順を示すフローチャートである。
【図5】仮想ブロックの展開先アドレスを例示する図である。
【図6】実施例の仮想ブロック−実ブロック対応テーブル103に仮想ブロックの展開先が設定された状態を示す図である。
【図7】実施例のディスクライト時の処理手順を示すフローチャートである。
【図8】仮想ブロックにデータ書き換えが発生し、実ブロックが分離された状態の例を説明する図である。
【図9】仮想ブロックのデータ書き換えの結果として実ブロックアドレスが更新された例を示す図である。
【符号の説明】
101…記憶制御部、102…キャッシュメモリ、103…仮想ブロック−実ブロック対応テーブル、104…仮想ブロック領域、105…ディスク群、106…制御部、301…仮想ブロック、302…実ブロック、303…展開先アドレス、304…圧縮/非圧縮フラグ

Claims (6)

  1. 上位装置で認識可能な仮想ブロックを一時記憶するキャッシュ手段と、当該外部記憶装置システム内で認識するデータが収容される実ブロックを格納する記憶装置と、前記仮想ブロックのアドレスと前記実ブロックのアドレスとの対応情報を格納する記憶手段と、前記上位装置からのリード/ライト要求に応答して要求された仮想ブロックが前記キャッシュ手段中にあれば前記キャッシュ手段中の仮想ブロックについてリード/ライトを行うよう制御する手段と、前記キャッシュ手段中になければ前記記憶手段を参照し要求された仮想ブロックに対応する実ブロックのデータを前記記憶装置から読み込み、読み込まれた実ブロックのデータが圧縮データであればデータ伸長し、非圧縮データであればその非圧縮データのままで前記キャッシュ手段中に格納した仮想ブロックについてリード/ライトを行うよう制御する手段と、前記キャッシュ手段中の仮想ブロックにデータ更新が生じたとき、前記仮想ブロックのデータ圧縮率とデータ圧縮後の実ブロックをデータ伸長するときのデータ伸長時間に基づいて前記仮想ブロックのデータを圧縮するか否か判定し、圧縮の場合には前記仮想ブロックに対応する実ブロックのデータを圧縮データによって更新し、非圧縮の場合には前記仮想ブロックに対応する実ブロックのデータを非圧縮データによって更新するよう制御する手段とを有することを特徴とする外部記憶装置システム。
  2. 前記データを圧縮するか否かの判定は、圧縮データの容量と原データの容量との比である圧縮率が1未満であり、かつ圧縮データの読み出し時間の平均値とその伸長処理時間との和である伸長時間が所定の制限時間以下の条件を満足する場合にはデータ圧縮し、該条件を満足しない場合にはデータ圧縮しないと判定するものであることを特徴とする請求項1記載の外部記憶装置システム。
  3. 前記記憶装置はディスクアレイ装置であることを特徴とする請求項1記載の外部記憶装置システム。
  4. 上位装置との間で前記上位装置が認識可能な仮想ブロックをやり取りし、下位記憶装置との間で実ブロックをリード/ライトする記憶制御装置であって、
    前記仮想ブロックを一時記憶するキャッシュ手段と、前記仮想ブロックのアドレスと前記実ブロックのアドレスとの対応情報を格納する記憶手段と、前記上位装置からのリード/ライト要求に応答して要求された仮想ブロックが前記キャッシュ手段中にあれば前記キャッシュ手段中の仮想ブロックについてリード/ライトを行うよう制御する手段と、前記キャッシュ手段中になければ前記記憶手段を参照し要求された仮想ブロックに対応する実ブロックのデータを前記下位記憶装置から読み込み、読み込まれた実ブロックのデータが圧縮データであればデータ伸長し、非圧縮データであればその非圧縮データのままで前記キャッシュ手段中に格納した仮想ブロックについてリード/ライトを行うよう制御する手段と、前記キャッシュ手段中の仮想ブロックにデータ更新が生じたとき、前記仮想ブロックのデータ圧縮率とデータ圧縮後の実ブロックをデータ伸長するときのデータ伸長時間に基づいて前記仮想ブロックのデータを圧縮するか否か判定し、圧縮の場合には前記仮想ブロックに対応する実ブロックのデータを圧縮データによって更新し、非圧縮の場合には前記仮想ブロックに対応する実ブロックのデータを非圧縮データによって更新するために前記下位記憶装置へ送る制御手段とを有することを特徴とする記憶制御装置。
  5. 前記データを圧縮するか否かの判定は、圧縮データの容量と原データの容量との比である圧縮率が1未満であり、かつ圧縮データの読み出し時間の平均値とその伸長処理時間との和である伸長時間が所定の制限時間以下の条件を満足する場合にはデータ圧縮し、該条件を満足しない場合にはデータ圧縮しないと判定するものであることを特徴とする請求項4記載の記憶制御装置。
  6. 上位のホスト計算機で認識可能な仮想ブロックを一時記憶するキャッシュメモリ上の仮想ブロック領域と、
    当該外部記憶装置システム内で認識するデータが収容される実ブロックを格納するディスク装置と、
    前記仮想ブロックのアドレスと前記実ブロックのアドレスとの対応情報と、前記仮想ブロックに対応して当該仮想ブロックが前記仮想ブロック領域に展開されている場合に展開先のアドレスと、前記仮想ブロックに対応する前記実ブロックが圧縮データか非圧縮データかを示すフラグとを格納する前記キャッシュメモリ上の仮想ブロック−実ブロック対応テーブルと、
    プロセッサとメモリを含む制御部とを有し、前記制御部が前記メモリ内のプログラムを実行することによって、
    前記ホスト計算機からのディスクリード/ライト要求に応答して、前記仮想ブロック−実ブロック対応テーブルを参照し要求された仮想ブロックが前記仮想ブロック領域中にあれば前記仮想ブロック領域中の仮想ブロックについてリード/ライトを実行し、
    前記仮想ブロック領域中になければ前記仮想ブロック−実ブロック対応テーブルから取得される要求された仮想ブロックに対応する実ブロックのデータを前記ディスク装置から読み込み、前記フラグに基づいて読み込まれた実ブロックのデータが圧縮データであればデータ伸長し、非圧縮データであればその非圧縮データのままで前記仮想ブロック領域中に格納した仮想ブロックについてリード/ライトを実行し、
    前記仮想ブロック領域中の仮想ブロックにデータライトが生じたとき、前記仮想ブロックのデータ圧縮率とデータ圧縮後の実ブロックをデータ伸長するときのデータ伸長時間に基づいて前記仮想ブロックのデータを圧縮するか否か判定し、圧縮の場合には前記仮想ブロックに対応する実ブロックのデータを圧縮データによってディスクライトし、非圧縮の場合には前記仮想ブロックに対応する実ブロックのデータを非圧縮データによってディスクライトするよう制御することを特徴とする外部記憶装置システム。
JP2002163786A 2002-06-05 2002-06-05 外部記憶装置システム及び記憶制御装置 Expired - Fee Related JP4220726B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002163786A JP4220726B2 (ja) 2002-06-05 2002-06-05 外部記憶装置システム及び記憶制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002163786A JP4220726B2 (ja) 2002-06-05 2002-06-05 外部記憶装置システム及び記憶制御装置

Publications (3)

Publication Number Publication Date
JP2004013373A JP2004013373A (ja) 2004-01-15
JP2004013373A5 JP2004013373A5 (ja) 2005-10-13
JP4220726B2 true JP4220726B2 (ja) 2009-02-04

Family

ID=30432112

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002163786A Expired - Fee Related JP4220726B2 (ja) 2002-06-05 2002-06-05 外部記憶装置システム及び記憶制御装置

Country Status (1)

Country Link
JP (1) JP4220726B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4392338B2 (ja) * 2004-12-20 2009-12-24 富士通株式会社 データ管理方法及び装置並びに階層型記憶装置
JP4615337B2 (ja) * 2005-03-16 2011-01-19 株式会社日立製作所 ストレージシステム
JP5112003B2 (ja) * 2007-10-19 2013-01-09 株式会社日立製作所 ストレージ装置及びこれを用いたデータ格納方法
WO2015075837A1 (ja) * 2013-11-25 2015-05-28 株式会社日立製作所 ストレージ装置及びその制御方法
JP6212137B2 (ja) * 2013-12-12 2017-10-11 株式会社日立製作所 ストレージ装置及びストレージ装置の制御方法
WO2015162755A1 (ja) * 2014-04-24 2015-10-29 株式会社日立製作所 データを圧縮して格納するストレージ装置
JP6429963B2 (ja) * 2017-09-14 2018-11-28 株式会社日立製作所 ストレージ装置及びストレージ装置の制御方法

Also Published As

Publication number Publication date
JP2004013373A (ja) 2004-01-15

Similar Documents

Publication Publication Date Title
US5778411A (en) Method for virtual to physical mapping in a mapped compressed virtual storage subsystem
JP3271668B2 (ja) ホストプロセッサメモリを使用した大容量記憶装置機能の構成
US6665772B1 (en) Data storage method and device for storing streaming and non-streaming data in common memory space
JP3532413B2 (ja) 圧縮データ・レコードの格納のためにディスク記憶空間を割振るための方法及びデータ処理システム
US6857047B2 (en) Memory compression for computer systems
US6745282B2 (en) Compressed data managing apparatus and method therefor to manage compressed data of a disk storage
KR100216146B1 (ko) 직접 액세스 저장장치의 데이터 압축 방법 및 압축 데이터 구조
RU2642349C1 (ru) Способ для сохранения данных посредством устройства хранения данных и устройство хранения данных
JP2010102715A (ja) ディスクベースのファイルシステムのための大きなブロック割当て
JPH05204561A (ja) フラッシュメモリを記憶媒体とした半導体ディスク
JPH0675897A (ja) 分割を許容するバッファ・メモリ管理方法及びその装置
JPH08241241A (ja) 制約された仮想メモリ環境におけるメモリのパフォーマンスをページング活動の縮小によって改善するための方法及びシステム
JP4220726B2 (ja) 外部記憶装置システム及び記憶制御装置
JP4308152B2 (ja) メモリを予約するための方法、システム、および製品
US7000077B2 (en) Device/host coordinated prefetching storage system
JP3627915B2 (ja) ブートブロックフラッシュメモリ制御回路、およびそれを備えたicメモリカードと半導体記憶装置、並びにブートブロックフラッシュメモリの消去方法
JP2003167781A (ja) 磁気ディスク装置およびデータ読み出し制御方法
EP0694831A2 (en) Computer system having storage unit provided with data compression function andmethod of management of storage area thereof
CN117472285A (zh) 固态硬盘用智能运行加速方法、计算机设备及存储介质
JP2001188658A (ja) ディスク制御システムおよびデータ再配置方法
JPH0115903B2 (ja)
US20230021108A1 (en) File storage
US7318131B2 (en) CPU-containing LSI, and optical disk device and LSI device with the same
JPH05150913A (ja) フラツシユメモリを記憶媒体としたシリコンデイスク
JPH1011337A (ja) 記憶装置におけるデータ制御方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050603

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050603

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050603

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080129

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080324

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

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

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

Free format text: PAYMENT UNTIL: 20111121

Year of fee payment: 3

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121121

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121121

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131121

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees