JP2846839B2 - データ記憶システム及び関連する方法 - Google Patents

データ記憶システム及び関連する方法

Info

Publication number
JP2846839B2
JP2846839B2 JP7113271A JP11327195A JP2846839B2 JP 2846839 B2 JP2846839 B2 JP 2846839B2 JP 7113271 A JP7113271 A JP 7113271A JP 11327195 A JP11327195 A JP 11327195A JP 2846839 B2 JP2846839 B2 JP 2846839B2
Authority
JP
Japan
Prior art keywords
data unit
disk
compressed
data
space
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 - Lifetime
Application number
JP7113271A
Other languages
English (en)
Other versions
JPH0850537A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0850537A publication Critical patent/JPH0850537A/ja
Application granted granted Critical
Publication of JP2846839B2 publication Critical patent/JP2846839B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

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
    • 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
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般に大容量記憶装置
の管理方法及び装置に関し、特に、大容量記憶装置のロ
グ構造ファイル・システム(log-structured file syst
em)に関する。
【0002】
【従来の技術】既知のタイプの標準ディスク制御装置は
データ圧縮をサポートしないが、ログ構造の最近のディ
スク制御装置はデータ圧縮をサポートできる。しかしな
がら、従来のログ構造ディスク制御装置は、記憶データ
をディスク上に不連続に順次記憶する。その結果、参照
の局所性が失われ、データベース・アプリケーションな
どの作業負荷に対する性能の劣化を招くことになる。
【0003】ログ構造ファイル・システム(以降LSF
Sとして参照する)は、M.Rosenblum及びJohn K.Oust
erhoutによる論文"The Design and Implementation of
a Log-Structured File System"(ACM Transactions on
Computer Systems、Vol.10、No.1、pages 26-52、1
992年2月)に述べられている。
【0004】要するに、LSFSはディスクにおける全
ての変更が、ログ式のファイル構造に順次書込まれるデ
ィスク記憶管理技術である。ログ式ファイル構造はディ
スク上の唯一の構造であり、ファイルがログから効率的
に読み戻されるように索引情報を含む。
【0005】LSFSアプローチの態様は、書込み処理
を高速化するために大きな自由域(free area)がディ
スク上に保持されることである。この大きな自由域を保
持するために、ログはセグメントに分割され、セグメン
ト・クリーナ(ガーベッジ・コレクタ)により、重度に
断片化されたセグメントからの生情報が圧縮され、それ
により続く書込みのためにセグメントが解放される。
【0006】LSFSの目的は、他のディスク管理技術
よりも大きなディスク・バンド幅率を用いることによ
り、ディスク書込みの効率を改善することである。すな
わち、ディスクに対して多数の小さな書込みを実施する
代わりに、データが記憶サブシステム・キャッシュまた
はバッファに収集され、ファイル・キャッシュが次に単
一の大きな入出力(ディスク書込み)オペレーションに
より、ディスクに書込まれる。しかしながら、セグメン
トは物理的には増分されながら書込まれる。
【0007】上述のように、こうしたLSFSの使用か
ら生じる1つの問題は、圧縮/短縮データが複数のディ
スク位置に分散されるので、シーク・アフィニティ(se
ek affinity)が低減し、応答時間が増加することであ
る。この問題は、レコードがディスクから読出され、更
新され、圧縮され、次にディスクに書戻されるときに特
に厄介である。
【0008】より詳細には、ディスク制御装置への読出
しまたは書込み要求は、通常、データが読み書きされる
物理アドレスにより達成される。例えば、既知のSCS
Iタイプのディスク制御装置への読出し/書込み要求
は、開始物理セクタ番号及び読み書きされるセクタ数に
より達成される。従来のディスク制御装置では、書込み
オペレーションは非圧縮データを制御装置に送信するよ
うに動作し、非圧縮データが指示されたセクタに記憶さ
れ、それにより指示セクタの以前の内容が置換される。
【0009】一方、データ圧縮をサポートするログ構造
ディスク制御装置は、次のように動作する。すなわち、
データ圧縮、より詳しくはデータ圧縮率がデータ依存で
あって、ディスク制御装置への書込みが指定場所に書込
まれるのではなく、以前に空であったディスク上の新た
な位置に書込まれる。ディスク制御装置はディスクをセ
グメントに分割し、それらの幾つかが"空(empty)"に
保持される。システムからの新たな書込みは、空セグメ
ント内に配置されるセクタに書込まれる。その結果、デ
ータの各書込みまたは更新により、データは新たな物理
位置に書込まれ、そのデータの以前の物理位置は順次ガ
ーベッジ・コレクト(不要情報整理)されて、将来の書
込みのために再使用される。更にログ構造ディスク制御
装置では、システムにより使用されるアドレスを、デー
タが実際にログ構造内において記憶される物理アドレス
にマップするために、ディレクトリが保持されなければ
ならない。
【0010】これは明らかに、データが常に指定場所に
おいて更新されて、システムからの要求内で指定される
アドレスが、データがディスク上において記憶されるア
ドレスと同一である従来のディスク制御装置のオペレー
ションとは異なる。
【0011】要するに、既知のタイプの従来のログ構造
ディスク制御装置は、データを指定場所において更新す
るのではなく、データの任意の一部の現在位置を見い出
すためのディレクトリを保持する。
【0012】データ圧縮技術は圧縮されるデータの影響
を受け易いため、レコードに対する比較的小さな変更に
よっても、圧縮イメージのサイズが以前の未変更の圧縮
イメージに対して拡大する可能性がある。指定場所での
更新機構が従来のログ構造ディスク制御装置で使用可能
であったとしても、圧縮データ・イメージがサイズ的に
拡大すると、LSFS内のその以前の位置に適合しなく
なりうる。この場合、圧縮データ・イメージをディスク
内の別の物理位置に再度書込む必要が生じる。その結
果、物理的及び論理的に連続なレコードのシーケンスが
断片化されて分散され、レコードへの続くアクセスに要
するシーク時間が増加することになる。
【0013】SLED(Single Large Expensive Disk
としても参照される)の代わりに、RAID(Redundan
t Array of Inexpensive Disks)を使用することも知ら
れている。これについてはD.A.Patterson、G.Gibson
及びR.H.Katzによる論文"ACase for Redundant Array
s of Inexpensive Disks(RAID)"(ACM SIGMOD Confer
ence、Chicago、IL、June 1-3、1988、pages 109-116)
に述べられている。RAIDアプローチの利点は、デー
タ・プロセッサのディスク・サブシステムがプロセッサ
・スピード及び主メモリ密度の向上に歩調を合わせて改
善される点である。しかしながら、著者はRAID記憶
システムの平均故障寿命(MTTF)が、単一のディス
クのMTTFをアレイ内のディスクの総数により除算す
ることにより与えられることを示している。RAIDシ
ステムにおいて重要なことは、エラー検出及び訂正情
報、冗長情報を含むチェック・ディスク、及びクラッシ
ュ回復技術の提供である。
【0014】Pettersonらの刊行物では、5つの異なる
レベルのRAIDが述べられる。レベル1はミラー式デ
ィスク(データ・ディスク及びチェック・ディスクの全
てのディスクが完全に冗長である)を用い、レベル2は
チェック・ディスクの数を低減するために、エラー訂正
情報としてハミング・コードを用い、レベル3はデータ
・ディスクの1グループにつき単一のチェック・ディス
クを使用し、レベル4では、独立の読出し/書込みオペ
レーションの使用により、個々の転送情報が複数のディ
スクに渡って分散されずに単一のディスク・ユニット内
に含まれ、レベル5(RAID5)では、データ及びデ
ータ保全(パリティ)情報の両方が、チェック・ディス
クを含む全てのディスクに渡って分散される。
【0015】
【発明が解決しようとする課題】本発明の目的は、大容
量記憶装置において使用される改善されたLSFSを提
供することである。
【0016】本発明の別の目的は、RAID大容量記憶
システムにおいて使用される改善されたLSFSを提供
することである。
【0017】更に本発明の別の目的は、圧縮データ・イ
メージのサイズの変化による参照の局所性の損失を実質
的に回避する一方で、指定場所におけるデータ圧縮及び
更新オペレーションをサポートする改善されたログ構造
ディスク制御方法を提供することである。
【0018】
【課題を解決するための手段】ディスク制御装置を動作
する本発明の方法により、また本方法により動作される
ディスク制御装置により、上述の問題が克服され、本発
明の目的が実現される。本方法は、圧縮データ単位に対
応する第1のディスク空間量として、そのデータ単位の
非圧縮サイズの第1の所定の割合を割当て、次に第1の
所定の割合よりも小さな第2の所定の割合だけ割当てを
増加して、割当てられるディスク空間の総量を獲得す
る。本発明の好適な実施例では、第1の所定の割合は約
30%であり、第2の所定の割合は約5%である。より
一般的には、第1の所定の割合はデータ単位の期待圧縮
率の関数であり、第2の所定の割合は、データ単位に対
して実行される更新オペレーションの結果としての、圧
縮データ単位のサイズの期待変化の関数である。
【0019】本方法は更に、データ単位に対して実行さ
れる更新オペレーションに応答して実行される以下のス
テップ、すなわち、更新されたデータ単位を圧縮するス
テップ、圧縮された更新データ単位のサイズを割当てら
れたディスク空間の総量と比較するステップ、及び、圧
縮された更新データ単位のサイズが割当てられたディス
ク空間の総量以下の場合、その圧縮更新データ単位を割
当てられたディスク空間に記憶するステップを含む。圧
縮更新データ単位のサイズが割当てられたディスク空間
の総量よりも大きい場合には、本方法はこの圧縮データ
単位を記憶するために、他のディスク空間を割当てる。
【0020】
【実施例】図1を参照すると、本発明により構成され、
動作されるデータ処理システム10のブロック図が示さ
れる。データ処理システム10は少なくとも1つのデー
タ・プロセッサ12を含む。データ・プロセッサ12に
は、データ・パス12b及び関連するディスク・データ
記憶システム14が双方向に接続される。ディスク・デ
ータ記憶システム14は、1乃至複数のディスク・ドラ
イブ・ユニットを含むことができる。例えば図示の実施
例では、ディスク・データ記憶システム14は第1のデ
ィスク・ドライブ・ユニット14a及び第2のディスク
・ドライブ・ユニット14bから構成される。各ディス
ク・ドライブ・ユニットは、各々が第1のデータ記憶面
15a及び第2のデータ記憶面15bを有する1乃至n
の個々のディスクを含む。
【0021】本発明の好適な実施例では、ディスク・デ
ータ記憶システム14は、上述のPatterson、Gibson及
びKatzによる論文で述べられるものと同様のRAIDシ
ステムとして構成され、動作される。ここでRAIDタ
イプのディスク・データ記憶システムの使用は、本発明
の実施を制限するものではないことを述べておく。
【0022】システム10は更に、本発明の教示により
動作するLSFSディスク・マネージャまたはログ構造
ディスク制御装置16を含む。ディスク・データ記憶シ
ステム14及びログ構造ディスク制御装置16の間に
は、必要なディスク装置ドライバ18が接続される。デ
ィスク装置ドライバ18はディスク・ユニットを読み書
きするために、ディスク・ユニット14a及び14bと
低レベルで対話する。ディスク装置ドライバ18の機能
を理解することは、本発明を理解する上で密接な関係は
ない。例えばディスク・ドライブ・ユニット14a及び
14b及びディスク装置ドライバ18は、全て既知のS
CSIバスなどのバス18aを介して接続される。
【0023】更にログ構造ディスク制御装置16には、
データ圧縮ユニット20、ディスク・データ記憶システ
ム14に書込まれるための非圧縮データを記憶するバッ
ファ22(バッファU)、及びデータ圧縮ユニット20
から出力される圧縮データを記憶するバッファ24(バ
ッファC)が接続される。ログ構造ディスク制御装置1
6は信号パス20aを介してデータ圧縮ユニット20に
問い合わせ、圧縮データ単位を構成するバイト数、及び
元の非圧縮データ単位のバイト数を判断する。データ圧
縮ユニット20がこの情報を提供しない場合には、本発
明の範囲において、バッファ22及び24にロードされ
るバイトをカウントするカウンタまたは類似の手段を使
用することが有効である。この情報にもとづき、ログ構
造ディスク制御装置16はバッファ24内の圧縮イメー
ジをディスク・データ記憶システム14に書込むべき
か、或いはバッファ22内の非圧縮データを書込むべき
かを判断する。
【0024】圧縮データ単位内のバイト数はデータ圧縮
率の関数である。ここではデータ圧縮率は、トラックま
たはレコードなどの任意のデータ単位における、非圧縮
データ(バイト)対圧縮データ(バイト)の比である。
例えば、非圧縮データが600バイトを含み、その圧縮
イメージが200バイトを含む場合、このデータ単位の
データ圧縮率は3:1である。
【0025】ここで、データ圧縮は、常に少ないバイト
の生成に帰する訳ではないことを述べておく。例えばあ
るデータでは、実際に"圧縮"イメージが非圧縮データよ
りも12%拡大することが知られている。この場合に
は、ログ構造ディスク制御装置16は圧縮データ単位を
バッファ24から書込むのではなく、非圧縮データ単位
をバッファ22からディスク・データ記憶システム14
に書込む。
【0026】LSFSディスク制御装置16はまた、L
SFSのための論理−物理ディスク・トラック変換ディ
レクトリを記憶するメモリ16aを含む。図2は、メモ
リ16aに記憶されるデータの典型的なフォーマットを
表す。圧縮データ単位に対応する空間をディスク・デー
タ記憶システム14に割当てるとき、ログ構造ディスク
制御装置16はメモリ16aをアクセスし、その入力
(エントリ)に物理ディスク位置に対応する論理トラッ
ク番号を記憶し、更に特定のシステム態様において要求
される他の情報も記憶する。一般にメモリ16aは、シ
ステム及びアプリケーションにより知られる論理データ
単位位置を、ログ構造ファイル・システム内の実際の物
理位置にマップするために使用される。
【0027】図示のように本発明の好適な実施例では、
ディスク・データ記憶システムはRAIDタイプのシス
テムである。ディスクへの書込みは、好適にはパリティ
・グループ・セグメントを、N個(例えば7個のデータ
・ディスクと1個のパリティ・ディスク)の全てのディ
スク上に書込む。図3は、ディスク・セグメント・カラ
ムにおけるm+1個の物理トラックの典型的なインタリ
ーブ・デプス(interleave depth)を表す。ここでイン
タリーブ・デプスは、L+1個の物理セクタのエクステ
ント(extent)として指定されてもよいことを述べてお
く。一般にインタリーブ・デプス"1"は、1つのパリテ
ィ・グループ・セグメントが1個の物理ディスク・トラ
ックを占有することを意味し、インタリーブ・デプス"
2"は、1つのパリティ・グループ・セグメントが2個
の物理ディスク・トラックを占有することを意味する。
【0028】本発明はトラックに関連して述べられる
が、他の単位についても同様に適用可能であることが理
解されよう。ディスク書込みまたは更新オペレーション
において、トラックは圧縮され、更新された圧縮トラッ
クが割当てられた位置内に適合する限り、この圧縮トラ
ックがディスク上の現在占有するのと同一の物理位置
(特定数の連続セクタ)に書込まれる。トラックは更新
される度に、以前とは異なるバイト数を占有しうる。な
ぜなら、達成される圧縮度合いが圧縮されるデータの値
の関数であるからである。トラックがもはや元々割当て
られた位置内に適合しない場合に限り、現在占有するも
のとは異なる位置に書込まれる。
【0029】本発明によれば、ログ構造ディスク制御装
置16が、(a)トラックに対して名目(非圧縮)トラ
ック・サイズの少なくとも30%を割当て、(b)また
そのトラックの圧縮サイズを越える所定の割合(5%)
の追加空間(埋込み空間(padding space))を割当て
れば、更新トラックが高い確率(99.9%)でそれら
の元の割当て位置に適合することが判明した。その結
果、シーク・アフィニティが保持され、トラックが頻繁
にそれらのディスク位置を変更することはない。
【0030】更に本発明の範囲によれば、トラックがそ
れらの元の割当て位置に適合しない場合に、元の割当て
位置からのトラックの低速な移送(migration)に起因
するシーク・アフィニティの損失を矯正するように、ト
ラックを周期的に再併合する。
【0031】本発明によれば、データを有するあらゆる
トラックは、ホーム・ロケーションを有する。新たな初
期化されたデータベース・レコードなどのデータを有さ
ないトラックは、最初にデータがそのトラックに書込ま
れるまで(最初の更新)、ホーム・ロケーションを有さ
ない。このことは、新たに生成されるトラックまたはブ
ロックが、通常、非常に高い圧縮率を有する傾向がある
埋込み文字により満たされているために都合がよい。例
えば、埋込み文字0016のシーケンスは、96:1の圧
縮率を示しうる。記憶域が初期化されていない論理ブロ
ックにもとづき割当てられる場合には、アプリケーショ
ンがデータをブロックに記憶するときに、ブロックを指
定場所において順次更新することは、困難もしくは不可
能である。
【0032】データ圧縮ユニット20及びメモリ16a
に記憶されるディレクトリ内の対応するトラック入力の
参照により、(圧縮を伴う)トラックの現サイズが、そ
のトラックが最初に書込まれたまたは後に移動されたホ
ーム・ロケーションにおいて確保された元の空間以下で
あると判断されると、圧縮トラック(または非圧縮トラ
ックの方が小さい場合には非圧縮トラック)が、ログ構
造ディスク制御装置16によりそのホーム・ロケーショ
ンに書戻される。それ以外では、オーバフロー指示が生
成され、トラックがディスク・データ記憶システム12
の自由空間(free space)内の新たな位置に書込まれ、
メモリ16aに記憶される論理−物理トラック変換ディ
レクトリが、それに従い更新される。自由空間リスト1
6bがこの目的のためにログ構造ディスク制御装置16
により保守される。自由空間リストは、もはや使用され
ない以前の割当て空間のガーベッジ・コレクションの間
に変更される。自由空間リスト16bを保守及び管理す
る好適な技術が知られている。
【0033】以上の説明から、本発明が、従来のディス
ク制御装置のオペレーションと同様に、指定場所での更
新が可能なように圧縮データを記憶するログ構造ディス
ク制御装置16を提供することが理解されよう。圧縮デ
ータがディスク上の元の割当て空間よりも大きいときに
発生するオーバフロー状態の場合に限り、ログ構造ディ
スク制御装置16はログ構造モードで動作して、圧縮ト
ラックを新たな位置に記憶し、それに従いメモリ16a
内のディレクトリを更新する。
【0034】本発明は圧縮率が、通常、約0.2乃至
0.4の範囲内であり、典型的には3.6:1であるこ
とを想定する。この想定の合理性が図4に関連して述べ
られる。図4は、多数の異なるアプリケーションにより
生成された多数の異なるレコードに対して得られたヒス
トグラムを表す。圧縮率の分布は、0.2乃至0.5の
範囲にはっきりしたピークを示す。その結果、上述の値
30%がトラックにおける最も確率の高い期待圧縮率に
もとづき得られることになる。
【0035】空間割当て時において、各論理ブロックに
対応する記憶域に埋込み空間を追加する点に関しては、
任意のブロックが実質的に更新された後に、使用可能な
空間に適合しなくなる確率を受諾可能なレベル(例えば
1%)に低減することを目的とする。
【0036】平均値以下に圧縮されるブロックは、更新
時に拡大する強い傾向を示すことが判明した。このため
に本発明の態様によれば、割当て時に想定される記憶要
求は、好適には常に名目ブロック・サイズの少なくとも
30%に相当する。追加の埋込み空間(例えば5%)
が、次にこの想定記憶サイズに追加される。
【0037】名目サイズの30%以上を占有するブロッ
クについては、続く更新の結果、この記憶要求がどの程
度の量を増減しそうであるかを考慮する必要がある。図
5及び図6は、更新オペレーションにおいて測定された
増減に関する観測レベルを、それぞれバイト及び圧縮率
により表したヒストグラムである。
【0038】これらの図から、名目サイズの30%未満
を占有するブロック(単一のハッチングで示される)
は、更新の結果拡大する強い傾向を示す。しかしなが
ら、30%以上を占有するブロック(クロス・ハッチン
グで示される)は、平均的には拡大も縮小もしない。こ
の点で、更新によるサイズの平均変化は、これらのブロ
ックに対して、おおよそ1.5バイトであることが判明
した。
【0039】結果的に、更新ブロックがその割当て空間
に再度適合する高い確率(例えば99%)を保証するた
めに、各ブロックの割当て空間として、(a)トラック
に対して名目(非圧縮)トラック・サイズの少なくとも
30%を割当て、(b)そのトラックの圧縮サイズを越
える5%の埋込み空間を割当てる。
【0040】本発明が更に次のステップを含むディスク
制御装置の動作方法を教示することも理解されよう。す
なわち、圧縮データ単位に対応する第1のディスク空間
量として、そのデータ単位の非圧縮サイズの第1の所定
の割合を割当て、次に第1の所定の割合よりも小さな第
2の所定の割合だけ割当てを増加して、割当てられるデ
ィスク空間の総量を獲得する。好適な実施例では、第1
の所定の割合は約30%であり、第2の所定の割合は約
5%である。より一般的には、第1の所定の割合はデー
タ単位の期待圧縮率の関数であり、第2の所定の割合
は、データ単位に対して実行される更新オペレーション
の結果としての、圧縮データ単位のサイズの期待変化の
関数である。
【0041】本方法は更に、データ単位に対して実行さ
れる更新オペレーションに応答して実行される以下のス
テップ、すなわち、更新されたデータ単位を圧縮するス
テップ、圧縮された更新データ単位を割当てられたディ
スク空間の総量と比較するステップ、及び圧縮された更
新データ単位のサイズが割当てられたディスク空間の総
量以下の場合、その圧縮更新データ単位を割当てられた
ディスク空間に記憶するステップを含む。圧縮更新デー
タ単位のサイズが割当てられたディスク空間の総量より
も大きい場合には、本方法はこの圧縮データ単位を記憶
するために、他のディスク空間を割当てる。
【0042】本発明は好適な実施例にもとづき述べられ
てきたが、当業者には本発明の精神及び範囲から逸脱す
ることなしに、その形態及び詳細に関する様々な変更が
可能であることが理解されよう。
【0043】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0044】(1)データ単位がディスクに書込まれる
以前に前記データ単位を圧縮するデータ圧縮ユニット
と、圧縮されたデータ単位を前記ディスクに書込むため
の前記ディスク内の空間を割当てる、前記ディスクに接
続されるディスク制御装置であって、前記ディスク制御
装置が、前記圧縮データ単位のサイズを前記データ単位
に対応して以前に割当てられた空間量と比較し、前記圧
縮データ単位が前記データ単位に対応して以前に割当て
られた前記空間量よりも大きい場合に、ログ構造形式で
前記ディスクを管理する手段を含む、前記ディスク制御
装置と、を含む、データ記憶システム。 (2)非圧縮データ単位を記憶する第1のバッファと、
圧縮データ単位を記憶する第2のバッファと、を含み、
前記ディスク制御装置が前記圧縮データ単位及び前記非
圧縮データ単位内のバイト数に応答して、前記ディスク
に最小のバイト数を書込むように、前記第1のバッファ
または前記第2のバッファのいずれかの内容を選択的に
前記ディスクに書込む、前記(1)記載のデータ記憶シ
ステム。 (3)ディスク制御装置を動作する方法であって、圧縮
データ単位に対応する第1のディスク空間量として、前
記データ単位の非圧縮サイズの第1の所定の割合を割当
てるステップと、前記第1の所定の割合よりも小さな第
2の所定の割合だけ割当てを増加して、割当てられるデ
ィスク空間の総量を獲得するステップと、を含む、動作
方法。 (4)前記第1の所定の割合が約30%であり、前記第
2の所定の割合が約5%である、前記(3)記載の動作
方法。 (5)前記第1の所定の割合が前記データ単位の期待圧
縮率の関数であり、前記第2の所定の割合が、前記デー
タ単位に対して実行される更新オペレーションの結果の
前記圧縮データ単位のサイズの期待変化の関数である、
前記(3)記載の動作方法。 (6)前記データ単位に対して実行される更新オペレー
ションに応答して、前記更新データ単位を圧縮するステ
ップと、前記圧縮更新データ単位のサイズを、割当てら
れたディスク空間の総量と比較するステップと、前記圧
縮更新データ単位の前記サイズが前記割当てディスク空
間の総量以下の場合に、前記圧縮更新データ単位を前記
割当てディスク空間に記憶するステップと、前記圧縮更
新データ単位の前記サイズが前記割当てディスク空間の
総量よりも大きい場合に、前記圧縮データ単位に対応し
て他のディスク空間を割当てるステップと、を含む、前
記(3)記載の動作方法。 (7)前記第1の所定の割合が前記データ単位の最も確
率の高いデータ圧縮率にもとづき、前記第2の所定の割
合が前記データ単位に対して実行される更新オペレーシ
ョンの結果の前記圧縮データ単位の最も確率の高いサイ
ズ変化にもとづく、前記(3)記載の動作方法。 (8)ディスク制御装置を動作する方法であって、圧縮
データ単位に対応して第1のディスク空間量を割当てる
ステップであって、前記第1のディスク空間量が前記デ
ータ単位の非圧縮サイズの第1の割合に相当し、前記第
1の割合が前記データ単位の最も確率の高いデータ圧縮
率の関数である、前記割当てステップと、前記第1の割
合よりも小さな第2の割合だけ前記第1のディスク空間
量を増加して、割当てられるディスク空間の総量を獲得
するステップであって、前記第2の割合が前記データ単
位に対して実行される更新オペレーションの結果の前記
圧縮データ単位の最も確率の高いサイズ変化の関数であ
る、前記増加ステップと、を含む、動作方法。
【0045】
【発明の効果】以上説明したように、本発明によれば、
大容量記憶装置において使用される改善されたLSFS
を提供することができる。
【0046】更に本発明によれば、RAID大容量記憶
システムにおいて使用される改善されたLSFSを提供
することができる。
【0047】更に本発明によれば、圧縮データ・イメー
ジのサイズの変化による参照の局所性の損失を実質的に
回避する一方で、指定場所におけるデータ圧縮及び更新
オペレーションをサポートする改善されたログ構造ディ
スク制御方法を提供することができる。
【図面の簡単な説明】
【図1】本発明により構成され動作されるデータ処理シ
ステムのブロック図である。
【図2】論理−物理トラック変換ディレクトリのフォー
マットを表す図である。
【図3】RAID記憶システム内のNディスク上に書込
まれる典型的セグメントを表す図である。
【図4】転送による個々の圧縮比のヒストグラムを表す
グラフを示す図である。
【図5】更新による圧縮バイトの変化のヒストグラムを
表すグラフを示す図である。
【図6】更新による圧縮比の変化のヒストグラムを表す
グラフを示す図である。
【符号の説明】
10 データ処理システム 12 データ・プロセッサ 12b データ・パス 14 ディスク・データ記憶システム 14a 第1のディスク・ドライブ・ユニット 14b 第2のディスク・ドライブ・ユニット 15a 第1のデータ記憶面 15b 第2のデータ記憶面 16 ログ構造ディスク制御装置 16a メモリ 16b 自由空間リスト 18 ディスク装置ドライバ 20 データ圧縮ユニット 20a 信号パス 22、24 バッファ
フロントページの続き (72)発明者 ジャイシェンカー・エム・メノン アメリカ合衆国95120、カリフォルニア 州サン・ホセ、ステアリング・ゲート・ ドライブ 1095 (56)参考文献 特開 平2−108119(JP,A) 特開 平4−242424(JP,A) 特開 平5−189157(JP,A) 特開 平6−214722(JP,A) 特開 平6−266510(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 3/06 301

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】データ単位がディスクに書込まれる以前に
    前記データ単位を圧縮するデータ圧縮ユニットと、 圧縮されたデータ単位を前記ディスクに書込むための前
    記ディスク内の空間を割当てる、前記ディスクに接続さ
    れるディスク制御装置であって、該ディスク制御装置
    が、前記圧縮データ単位のサイズを前記データ単位に対
    応して以前に割当てられた空間量と比較し、前記圧縮デ
    ータ単位が前記データ単位に対応して以前に割当てられ
    た前記空間量よりも大きい場合に、ログ構造形式で前記
    ディスクを管理する手段を含む、前記ディスク制御装置
    と、 を含む、データ記憶システム。
  2. 【請求項2】非圧縮データ単位を記憶する第1のバッフ
    ァと、 圧縮データ単位を記憶する第2のバッファと、 を含み、前記ディスク制御装置が前記圧縮データ単位及
    び前記非圧縮データ単位内のバイト数に応答して、前記
    ディスクに最小のバイト数を書込むように、前記第1の
    バッファまたは前記第2のバッファのいずれかの内容を
    選択的に前記ディスクに書込む、 請求項1記載のデータ記憶システム。
  3. 【請求項3】ディスク制御装置を動作する方法であっ
    て、 圧縮データ単位に対応する第1のディスク空間量とし
    て、前記データ単位の非圧縮サイズの第1の所定の割合
    を割当てるステップと、 前記第1の所定の割合よりも小さな第2の所定の割合だ
    け割当てを増加して、割当てられるディスク空間の総量
    を獲得するステップと、 を含む、動作方法。
  4. 【請求項4】前記第1の所定の割合が約30%であり、
    前記第2の所定の割合が約5%である、請求項3記載の
    動作方法。
  5. 【請求項5】前記第1の所定の割合が前記データ単位の
    期待圧縮率の関数であり、前記第2の所定の割合が、前
    記データ単位に対して実行される更新オペレーションの
    結果の前記圧縮データ単位のサイズの期待変化の関数で
    ある、請求項3記載の動作方法。
  6. 【請求項6】前記データ単位に対して実行される更新オ
    ペレーションに応答して、前記更新データ単位を圧縮す
    るステップと、 前記圧縮更新データ単位のサイズを、割当てられたディ
    スク空間の総量と比較するステップと、 前記圧縮更新データ単位の前記サイズが前記割当てディ
    スク空間の総量以下の場合に、前記圧縮更新データ単位
    を前記割当てディスク空間に記憶するステップと、 前記圧縮更新データ単位の前記サイズが前記割当てディ
    スク空間の総量よりも大きい場合に、前記圧縮データ単
    位に対応して他のディスク空間を割当てるステップと、 を含む、請求項3記載の動作方法。
  7. 【請求項7】前記第1の所定の割合が前記データ単位の
    最も確率の高いデータ圧縮率にもとづき、前記第2の所
    定の割合が前記データ単位に対して実行される更新オペ
    レーションの結果の前記圧縮データ単位の最も確率の高
    いサイズ変化にもとづく、請求項3記載の動作方法。
  8. 【請求項8】ディスク制御装置を動作する方法であっ
    て、 圧縮データ単位に対応して第1のディスク空間量を割当
    てるステップであって、前記第1のディスク空間量が前
    記データ単位の非圧縮サイズの第1の割合に相当し、前
    記第1の割合が前記データ単位の最も確率の高いデータ
    圧縮率の関数である、前記割当てステップと、 前記第1の割合よりも小さな第2の割合だけ前記第1の
    ディスク空間量を増加して、割当てられるディスク空間
    の総量を獲得するステップであって、前記第2の割合が
    前記データ単位に対して実行される更新オペレーション
    の結果の前記圧縮データ単位の最も確率の高いサイズ変
    化の関数である、前記増加ステップと、 を含む、動作方法。
JP7113271A 1994-05-11 1995-05-11 データ記憶システム及び関連する方法 Expired - Lifetime JP2846839B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/241,987 US5574952A (en) 1994-05-11 1994-05-11 Data storage system and method for operating a disk controller including allocating disk space for compressed data
US241987 2002-09-11

Publications (2)

Publication Number Publication Date
JPH0850537A JPH0850537A (ja) 1996-02-20
JP2846839B2 true JP2846839B2 (ja) 1999-01-13

Family

ID=22913010

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7113271A Expired - Lifetime JP2846839B2 (ja) 1994-05-11 1995-05-11 データ記憶システム及び関連する方法

Country Status (3)

Country Link
US (1) US5574952A (ja)
EP (1) EP0682306A3 (ja)
JP (1) JP2846839B2 (ja)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5915129A (en) * 1994-06-27 1999-06-22 Microsoft Corporation Method and system for storing uncompressed data in a memory cache that is destined for a compressed file system
US5828877A (en) * 1994-07-14 1998-10-27 Dell Usa, L.P. Circuit and method for optimizing creation of a compressed main memory image
US5752250A (en) * 1994-12-02 1998-05-12 Fujitsu Limited Instance updating method and apparatus therefor
JP2831602B2 (ja) 1995-01-13 1998-12-02 富士通株式会社 圧縮データ管理装置及び圧縮データ管理方法
US5671390A (en) * 1995-05-23 1997-09-23 International Business Machines Corporation Log structured array storage subsystem using LSA directory and LSA sub-directory stored in different storage media
GB9606927D0 (en) 1996-04-02 1996-06-05 Memory Corp Plc Data storage devices
US6301432B2 (en) * 1996-04-12 2001-10-09 Sony Corporation Data recording/reproducing apparatus with a plurality of recording/reproducing units and capable of data recovery
US6021408A (en) * 1996-09-12 2000-02-01 Veritas Software Corp. Methods for operating a log device
US6023744A (en) * 1997-03-07 2000-02-08 Microsoft Corporation Method and mechanism for freeing disk space in a file system
US6067199A (en) 1997-06-30 2000-05-23 Emc Corporation Method and apparatus for increasing disc drive performance
JP3580982B2 (ja) * 1997-04-30 2004-10-27 パイオニア株式会社 情報記録方法及び装置
US6092163A (en) * 1998-12-04 2000-07-18 W. Quinn Associates, Inc. Pageable filter driver for prospective implementation of disk space quotas
US6058462A (en) * 1998-01-23 2000-05-02 International Business Machines Corporation Method and apparatus for enabling transfer of compressed data record tracks with CRC checking
US6256705B1 (en) 1998-06-05 2001-07-03 International Business Machines Corporation System and method for organizing data stored in a log structured array
US6324621B2 (en) * 1998-06-10 2001-11-27 International Business Machines Corporation Data caching with a partially compressed cache
US9361243B2 (en) 1998-07-31 2016-06-07 Kom Networks Inc. Method and system for providing restricted access to a storage medium
US6449607B1 (en) * 1998-09-11 2002-09-10 Hitachi, Ltd. Disk storage with modifiable data management function
US6624761B2 (en) 1998-12-11 2003-09-23 Realtime Data, Llc Content independent data compression method and system
US6504495B1 (en) * 1999-02-17 2003-01-07 Arm Limited Clipping data values in a data processing system
US6604158B1 (en) 1999-03-11 2003-08-05 Realtime Data, Llc System and methods for accelerated data storage and retrieval
US6601104B1 (en) 1999-03-11 2003-07-29 Realtime Data Llc System and methods for accelerated data storage and retrieval
US6336164B1 (en) 1999-05-12 2002-01-01 International Business Machines Corporation Method and system for preventing deadlock in a log structured array
US6490664B1 (en) 1999-06-14 2002-12-03 International Business Machines Corporation Method and system for handling destage requests during shut-down in a log-structured array
US6513093B1 (en) 1999-08-11 2003-01-28 International Business Machines Corporation High reliability, high performance disk array storage system
US6748457B2 (en) 2000-02-03 2004-06-08 Realtime Data, Llc Data storewidth accelerator
US20030191876A1 (en) 2000-02-03 2003-10-09 Fallon James J. Data storewidth accelerator
US7417568B2 (en) 2000-10-03 2008-08-26 Realtime Data Llc System and method for data feed acceleration and encryption
US9143546B2 (en) 2000-10-03 2015-09-22 Realtime Data Llc System and method for data feed acceleration and encryption
US8692695B2 (en) 2000-10-03 2014-04-08 Realtime Data, Llc Methods for encoding and decoding data
US6820182B1 (en) * 2000-10-18 2004-11-16 International Business Machines Corporation Support for exhaustion recovery in a data processing system with memory mirroring
US7386046B2 (en) 2001-02-13 2008-06-10 Realtime Data Llc Bandwidth sensitive data compression and decompression
EP1251460A1 (en) * 2001-04-19 2002-10-23 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Adaptive method for allocation of random access memory
WO2002086817A1 (en) * 2001-04-19 2002-10-31 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive memory allocation
US6851021B2 (en) * 2001-08-03 2005-02-01 International Business Machines Corporation Methods and systems for efficiently managing persistent storage
JP3595540B2 (ja) * 2002-01-29 2004-12-02 株式会社関西総合環境センター 育苗用の開放型空調装置
US7460684B2 (en) 2003-06-13 2008-12-02 Nielsen Media Research, Inc. Method and apparatus for embedding watermarks
US7292729B2 (en) * 2004-05-07 2007-11-06 International Business Machines Corporation Device, system, and method for contiguous compressed data
CN1993700B (zh) 2004-07-02 2012-03-14 尼尔逊媒介研究股份有限公司 用于进行压缩数字位流的混合的方法及装置
EP2095560B1 (en) 2006-10-11 2015-09-09 The Nielsen Company (US), LLC Methods and apparatus for embedding codes in compressed audio data streams
US8312210B2 (en) * 2008-01-03 2012-11-13 Michael Thomas Benhase Apparatus, system, and method for storing and retrieving compressed data
US7958310B2 (en) * 2008-02-27 2011-06-07 International Business Machines Corporation Apparatus, system, and method for selecting a space efficient repository
US9304898B2 (en) * 2011-08-30 2016-04-05 Empire Technology Development Llc Hardware-based array compression
CN102662890A (zh) * 2012-02-28 2012-09-12 南京大学 一种高效的数据流存储方法
CN103473258A (zh) * 2013-06-01 2013-12-25 西安邮电大学 云存储文件系统
CN103500077B (zh) * 2013-10-16 2016-08-10 北京国双科技有限公司 文件存储方法和装置
US9229860B2 (en) 2014-03-26 2016-01-05 Hitachi, Ltd. Storage system
US10067833B2 (en) * 2014-07-31 2018-09-04 Hitachi, Ltd. Storage system
JP6403162B2 (ja) * 2015-07-23 2018-10-10 東芝メモリ株式会社 メモリシステム
US10346435B2 (en) 2015-10-23 2019-07-09 Oracle International Corporation System and method for improved performance in a multidimensional database environment
EP3365810B1 (en) 2015-10-23 2021-08-18 Oracle International Corporation System and method for automatic inference of a cube schema from a tabular data for use in a multidimensional database environment
US10936574B2 (en) 2015-10-23 2021-03-02 Oracle International Corporation System and method for use of lock-less techniques with a multidimensional database
US10318498B2 (en) 2015-10-23 2019-06-11 Oracle International Corporation System and method for parallel support of multidimensional slices with a multidimensional database
US11226987B2 (en) * 2015-10-23 2022-01-18 Oracle International Corporation System and method for in-place data writes to reduce fragmentation in a multidimensional database environment
US10467251B2 (en) 2015-10-23 2019-11-05 Oracle International Corporation System and method for automatic dependency analysis for use with a multidimensional database
US11520760B2 (en) 2015-10-23 2022-12-06 Oracle International Corporation System and method for providing bottom-up aggregation in a multidimensional database environment
US10838982B2 (en) 2015-10-23 2020-11-17 Oracle International Corporation System and method for aggregating values through risk dimension hierarchies in a multidimensional database environment
US10733155B2 (en) 2015-10-23 2020-08-04 Oracle International Corporation System and method for extracting a star schema from tabular data for use in a multidimensional database environment
US10909134B2 (en) 2017-09-01 2021-02-02 Oracle International Corporation System and method for client-side calculation in a multidimensional database environment
US10983972B2 (en) 2017-09-08 2021-04-20 Oracle International Corporation System and method for slowing changing dimension and metadata versioning in a multidimensional database environment
US11042569B2 (en) 2017-09-29 2021-06-22 Oracle International Corporation System and method for load, aggregate and batch calculation in one scan in a multidimensional database environment
US11593402B2 (en) 2017-09-29 2023-02-28 Oracle International Corporation System and method for enabling multiple parents with weights in a multidimensional database environment
US11188554B2 (en) 2018-07-19 2021-11-30 Oracle International Corporation System and method for real time data aggregation in a virtual cube in a multidimensional database environment
US11422881B2 (en) 2018-07-19 2022-08-23 Oracle International Corporation System and method for automatic root cause analysis and automatic generation of key metrics in a multidimensional database environment
US11200223B2 (en) 2018-10-18 2021-12-14 Oracle International Corporation System and method for dependency analysis in a multidimensional database environment
JP2022163604A (ja) * 2021-04-14 2022-10-26 株式会社日立製作所 分散ストレージシステム及び記憶制御方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5247646A (en) * 1986-05-15 1993-09-21 Aquidneck Systems International, Inc. Compressed data optical disk storage system
JPH0815263B2 (ja) * 1986-12-12 1996-02-14 株式会社日立製作所 データ圧縮復元方法
US5237675A (en) * 1990-06-04 1993-08-17 Maxtor Corporation Apparatus and method for efficient organization of compressed data on a hard disk utilizing an estimated compression factor
AU8089391A (en) * 1990-06-04 1991-12-31 Maxtor Corporation Apparatus and method for efficient organization of compressed data on a hard disk
US5237460A (en) * 1990-12-14 1993-08-17 Ceram, Inc. Storage of compressed data on random access storage devices
US5490260A (en) * 1990-12-14 1996-02-06 Ceram, Inc. Solid-state RAM data storage for virtual memory computer using fixed-sized swap pages with selective compressed/uncompressed data store according to each data size
US5179378A (en) * 1991-07-30 1993-01-12 University Of South Florida Method and apparatus for the compression and decompression of data using Lempel-Ziv based techniques
US5459842A (en) * 1992-06-26 1995-10-17 International Business Machines Corporation System for combining data from multiple CPU write requests via buffers and using read-modify-write operation to write the combined data to the memory
US5394534A (en) * 1992-09-11 1995-02-28 International Business Machines Corporation Data compression/decompression and storage of compressed and uncompressed data on a same removable data storage medium
US5357614A (en) * 1992-09-17 1994-10-18 Rexon/Tecmar, Inc. Data compression controller

Also Published As

Publication number Publication date
US5574952A (en) 1996-11-12
EP0682306A2 (en) 1995-11-15
JPH0850537A (ja) 1996-02-20
EP0682306A3 (en) 1996-02-28

Similar Documents

Publication Publication Date Title
JP2846839B2 (ja) データ記憶システム及び関連する方法
US6000009A (en) Method and apparatus for allocation of disk memory space for compressed data records
US8914597B2 (en) Data archiving using data compression of a flash copy
US6898668B2 (en) System and method for reorganizing data in a raid storage system
JP2902970B2 (ja) ディスク・アレイにデータを書き込むためのシステムおよび関連する方法
US6052799A (en) System and method for recovering a directory for a log structured array
JP2784430B2 (ja) ディスク・サブシステム及びそのデータ記憶方法
US7584229B2 (en) Method and system for priority-based allocation in a storage pool
US6941420B2 (en) Log-structure array
US5682499A (en) Directory rebuild method and apparatus for maintaining and rebuilding directory information for compressed data on direct access storage device (DASD)
US6151685A (en) System and method for recovering a segment directory for a log structured array
US20110022811A1 (en) Information backup/restoration processing apparatus and information backup/restoration processing system
US5644791A (en) System for storing pointers to initial sectors of variable length n units and storing second pointers within the initial sector of the n unit
US20130185503A1 (en) Method for metadata persistence
US7421537B2 (en) Migrating data between storage volumes
US8694563B1 (en) Space recovery for thin-provisioned storage volumes
JPH086728A (ja) データ処理システムおよびその操作方法
KR20000022716A (ko) 로그 구조화 목표 저장장치를 사전에 구성하여 볼륨을 효율적으로 복사하는 방법 및 장치
US10459807B2 (en) Determining modified portions of a RAID storage array
JP2021114164A (ja) ストレージ装置及びストレージ制御方法
JP3669103B2 (ja) 記憶装置および記憶装置サブシステム
EP0720085A2 (en) Compression monitoring system for controlling physical space allocation in a logically-mapped data store
US12073081B2 (en) Priority based raid (redundant array of independent disks) rebuild for a data storage system
CN115686366A (zh) 一种基于raid的写数据缓存加速方法
US20190205044A1 (en) Device for restoring lost data due to failure of storage drive