(57)【特許請求の範囲】
【請求項１】
圧縮データを書込み可能な圧縮データ領域と、
オリジナル圧縮データに対応するオリジナル記憶空間を越える更新圧縮データを含む圧縮データ例外を書込み可能な例外領域と、前記圧縮データ例外の位置を保持するディレクトリ・テーブルと、を有する例外管理領域と、
を含み、各々が固定論理サイズを有する複数の圧縮グループを備えた直接アクセス記憶装置(DASD)。
【請求項２】
前記圧縮グループが複数のページを有する請求項１記載の直接アクセス記憶装置。
【請求項３】
前記圧縮ページが、ホスト・システム・ページ・サイズに等しい論理サイズを有する請求項１記載の直接アクセス記憶装置。
【請求項４】
少なくとも一つの前記圧縮データ領域の各々は固定数のDASDセクタを有する請求項１記載の直接アクセス記憶装置。
【請求項５】
少なくとも一つの前記圧縮データ領域の各々が可変数の前記圧縮ページを有する請求項２記載の直接アクセス記憶装置。
【請求項６】
前記例外領域が前記ディレクトリ・テーブルを含む請求項２記載の直接アクセス記憶装置。
【請求項７】
前記圧縮グループが可変数の少なくとも一つの前記圧縮データ領域を含む請求項１記載の直接アクセス記憶装置。
【請求項８】
前記圧縮ページが隣接する圧縮領域にまたがる請求項２記載の直接アクセス記憶装置。
【請求項９】
前記圧縮グループのサイズが、前記圧縮ページ論理サイズ及び４キロバイトの前記ホスト・システム・ページ・サイズを含む１メガバイトである請求項３記載の直接アクセス記憶装置。
【請求項１０】
直接アクセス記憶装置(DASD)を各圧縮グループが固定論理サイズを有する複数の圧縮グループに分割するステップと、
前記各圧縮グループ内に少なくとも一つの圧縮データ領域と例外管理領域とを割り当てるステップと、
前記複数の圧縮グループ中の少なくとも一つの前記圧縮データ領域に対して関連圧縮データを書込み及び読取りするステップと、
オリジナル圧縮データに対応するオリジナル記憶領域を越える更新圧縮データを含む圧縮データ例外を前記例外管理領域の例外領域に対して書込み及び読取りするステップと、
前記各圧縮グループの前記例外管理領域内の対応するディレクトリ・テーブルへ書込むステップとを含む固定ブロック方式の直接アクセス記憶装置(DASD)の圧縮データ記憶方法。
【請求項１１】
少なくとも一つの前記圧縮データ領域に対して関連圧縮データを書込むステップが、ホスト・コンピュータから受け取ったデータを圧縮しかつ圧縮データ長を識別するステップを含む請求項１０記載の圧縮データ記憶方法。
【請求項１２】
少なくとも一つの前記圧縮データ領域に対して関連圧縮データを書込むステップが、ホスト・コンピュータから受け取ったデータのホスト論理ブロック・アドレスを用いて前記圧縮グループの一つを識別するステップを含む請求項１１記載の圧縮データ記憶方法。
【請求項１３】
少なくとも一つの前記圧縮データ領域に対して関連圧縮データを書込むステップが、圧縮グループ・ディレクトリと前記ホスト論理ブロック・アドレスを用いてDASD論理ブロック・アドレスを計算し、前記圧縮グループ・ディレクトリと前記識別した圧縮データ長を用いてDASDブロック数を計算することを含む請求項１２記載の圧縮データ記憶方法。
【請求項１４】
前記圧縮データ例外を前記例外管理領域へ書込むステップが、
ホスト・コンピュータから受け取ったデータを圧縮しかつ圧縮データ長を識別するステップと、
前記圧縮グループの一つをホスト・コンピュータから受け取ったデータのホスト論理ブロック・アドレスを用いて識別するステップと、
圧縮ブロック・ディレクトリと前記論理ブロック・アドレスを用いてDASD例外領域論理ブロック・アドレスを計算するステップと、
前記圧縮グループ・ディレクトリと前記識別した圧縮データ長を用いてDASDブロック数を計算するステップとを含む請求項１０記載の圧縮データ記憶方法。
【請求項１５】
前記例外管理領域の例外領域に書込まれた圧縮データ例外に起因する識別された圧縮グループ内の断片化を修正する背景スイープ・オペレーションを定期的に実行するステップを含む請求項１０記載の圧縮データ記憶方法。
【請求項１６】
前記背景スイープ・オペレーションを実行するステップが、
圧縮グループに必要なDASD物理記憶空間の量をオリジナル圧縮グループ・ディレクトリを用いて識別するステップと、
前記識別された圧縮グループの全ての圧縮データをホスト論理ブロック・アドレスの昇順に再配列すると共に前記例外領域を空にした新圧縮グループの新圧縮グループ・ディレクトリを作成するステップと、
前記オリジナル圧縮データ・ディレクトリを用いて前記識別された圧縮グループの全てのデータを集めるステップと、
前記作成された新圧縮グループ・ディレクトリを用いて前記新圧縮グループの全てのデータを記憶するステップとを含む請求項１５記載の圧縮データ記憶方法。
【請求項１７】
圧縮データの読取り及び書込みを行うシステムであって、
直接アクセス記憶装置記憶管理機能と論理ブロック・アドレスを記憶する論理ディレクトリとを含み、直接アクセス記憶装置にデータを供給しかつ受け取るホスト・コンピュータと、
各々固定論理サイズを有する複数の圧縮グループを有する直接アクセス記憶装置と、
前記ホスト・コンピュータに接続されてデータを受け取りかつ圧縮し、この圧縮データを前記直接アクセス記憶装置に書込み、そして前記圧縮データを前記直接アクセス記憶装置から読取りかつ復元し、このデータを前記ホスト・コンピュータに供給する記憶制御装置とを備え、
前記各圧縮グループは、
圧縮データを書込み可能な圧縮データ領域と、
オリジナル圧縮データに対応するオリジナル記憶空間を越える更新圧縮データを含む圧縮データ例外を書込み可能な例外領域と前記圧縮データ例外の位置を保持するディレクトリ・テーブルと、を有する例外管理領域とを有する圧縮データの読取り及び書込みシステム。
【請求項１８】
前記記憶制御装置は、圧縮グループ・ディレクトリ・キャッシュを備えかつ前記ホスト・コンピュータから論理ブロック・アドレスを受け取る請求項１７記載の圧縮データの読取り及び書込みシステム。
【請求項１９】
前記記憶制御装置が前記受け取ったホスト・コンピュータの論理ブロック・アドレスを用いて前記直接アクセス記憶装置内の論理ブロック・アドレスを識別する圧縮管理ロジックを有する請求項１８記載の圧縮データの読取り及び書込みシステム。
【請求項２０】
前記例外領域に書込まれた前記圧縮データ例外に起因する識別された圧縮グループ内の断片化を修正する背景スイープ・オペレーションを定期的に実行する手段を有する請求項１７記載の圧縮データの読取り及び書込みシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、固定ブロック方式(FBA)の直接アクセス記憶装置(DASD)用データ圧縮方法及びその構造に関する。
【０００２】
【従来の技術】
コンピュータは、それ自体にデータを読み書きできる媒体を備えた補助記憶装置を有する場合が多い。ディスク駆動装置又はDASDは、積層された通常回転する固定磁気ディスクを組込んでおり、そのディスク表面に磁気的にデータを記憶させるために用いられる。データは、ディスク表面に配せられた半径方向に離隔したデータ情報トラックに記録される。経路上を駆動軸に向かう方向又はその反対方向に駆動され変換ヘッドは、データをディスクに書込み、そこから読取る。データ・シリンダは、ディスク表面の積層に対応する一組のデータ情報トラックを含む。固定ブロック方式(FBA)のDASDでは、データ情報トラックが同じサイズのセグメント即ちセクタに分割されている。各セクタには、番号即ち論理ブロック・アドレス(LBA)が割り当てられている。一般に、データファイルは連続したLBAを用いて書込まれかつ読取られる。LBAは、開始LBAから途切れることなく連続する論理データ表面のデータ情報トラックに従っている。ファイルからのデータのブロックが、DASD上の異なる場所にある不連続な使用可能セクタに書込まれるとき、断片化(fragmentation)が発生する。
【０００３】
DASDの使用可能なデータ保存容量が比較的限られている場合は、圧縮技術を用いてデータを保存することができる。しかしながら、DASDを効果的に使用するためには、応答時間が予測可能でありかつ迅速でなければならない。この応答時間の一貫性は非常に重要な考慮すべき問題である。負荷の大きい作業の場合、少なくとも応答時間が予測可能でなければならない。バッチ処理では、通常、業務は背景アプリケーションを実行させるために低システム負荷の所与のウィンドウによって行う。
これらのアプリケーションの時間要求に一貫性が無くかつ予測できないならば、作業フローをスケジューリングすることは難しく、その結果システムが大きな過負荷を被るような時間ウィンドウとなる可能性がある。
【０００４】
データ圧縮を行わない場合は、DASDの動作特性は一貫性と動作予測性の測定用尺度となり得る。商用システムでデータ圧縮が可能な場合は、応答時間の一貫性がデータ圧縮を行わないDASDサブシステムと類似しなければならない。
【０００５】
固定ページ・サイズを有するシステム上のDASDにデータ圧縮手法を適用すれば、時間の経過と共に更新されるに従って、引き続きサイズが変化し得る可変サイズの圧縮ページとなる。これらの圧縮ページが固定ブロック方式(FBA)即ち固定セクタ・サイズを採用したDASD上に記憶される場合、このサイズの変動を管理する機構が必要である。現状の手法では、通常、圧縮データが引き続いて更新されるに従って大きくなり、最初の記憶領域に入らなくなった事態に直面した場合は、DASD上の所与の不連続領域にデータを移動する。この結果、更新された圧縮ページがより大きな連続したデータ・ブロックの一部であるとき、断片化が生じる。データが断片化すると、後の時点でデータが連続的にアクセスされるに連れ、性能上の大きな変動を引き起こすことがある。アクチュエータが、異なるトラックにあるページにアクセスするために無秩序に動くことにより、機械的シーク時間が増加する結果、性能低化が起こる場合がある。現在まで、このような圧縮データ特性は、IBM AS/400商用システム等の高性能コンピュータシステムでデータ圧縮を行うことができない主要な原因であった。
【０００６】
従って圧縮しないDASDサブシステムに類似した性能と応答時間の一貫性を有する改良されたデータ圧縮方法及び構造が強く望まれている。
【０００７】
【発明が解決しようとする課題】
本発明の重要な目的は、直接アクセス記憶装置(DASD)のための改良されたデータ圧縮方法、及びその構造を提供することであり、従来技術のもつ多くの欠点を解決する方法並びにその構造を提供することである。
【０００８】
【課題を解決するための手段】
簡単に説明すると、本発明の目的は直接アクセス記憶装置(DASD)用データ圧縮方法及び圧縮データ構造を提供することである。DASDは、複数の圧縮グループに分割される。各圧縮グループは、固定論理サイズを有する。各圧縮グループ内に、ディレクトリ・テーブルが書込まれる。各圧縮グループは、少なくとも１つの圧縮データを書込める圧縮データ領域並びに圧縮データ例外(exception)を書込める例外領域を有する。圧縮データ例外には、オリジナル（元の）圧縮データに対応するオリジナル記憶空間を超える更新圧縮データが含まれる。
【０００９】
【発明の実施の形態】
図１は、本発明によるデータ圧縮方法を実施するシステム１０の例を示すブロック図である。図示のように、システム１０には、データ処理システム又はホスト・システム１２がある。ホスト・システム１２は、アプリケーション・オペレーティング・システム１４、ファイル・システム１６、及び、少なくとも１つのDASDにデータを記憶させるための直接アクセス記憶装置(DASD)用データ記憶管理機能１８を有する。DASD記憶管理機能１８は、関連するDASD、即ちDASD36に格納されるデータの論理ブロック・アドレスを記憶する論理ディレクトリ２０を有する。
【００１０】
DASD36上のデータにアクセスする場合は、DASDに書込むときにデータを圧縮し、またDASDから読出すときに圧縮データを復元する記憶制御装置２２を通してアクセスする。記憶制御装置２２は、圧縮復元機能ブロック２４、データを記憶するデータ・バッファ２６、アドレス変換を行う圧縮管理論理ブロック２８、及び記憶制御装置２２で作成されるDASDディレクトリのキャッシュ・ディレクトリ・エレメントを記憶するために用いられる物理ディレクトリ・キャッシュ３０を有する。記憶制御装置２２は、ホスト・システム１２からデータ・ページを受け取り、それを圧縮し圧縮データ・ページを作成しセクタに保存する。この際、ディレクトリの復元を起こさせる圧縮ヘッダをそれに追加する。DASDのデータの物理的な場所が圧縮管理ロジック２８により決められると、圧縮データが装置バス・インターフェース３２を介してDASDへ渡されるか又はDASDから受信される。
【００１１】
DASD３６には、複数の可変長圧縮グループ３８があり、各圧縮グループには関連のホスト・システム・データが保存される。各圧縮グループには、オリジナルの及び更新された圧縮データを記憶する圧縮データ領域４０、元の割当空間より大きい更新圧縮データを記憶する例外領域４２、及び圧縮データ・グループ内のデータの場所を決めるディレクトリ・テーブル又はマイクロ・テーブル４４が有る。この圧縮データ領域４０は多数のデータ領域５０からなる。本発明の特徴は、関連するデータの空間関係が各圧縮グループ３８内で必要な空間管理パラメータと共に保持されるようにDASD３６上の圧縮データが構成されることである。この圧縮データの構造は商用環境において一貫性のある性能を提供し、その結果として、データ圧縮を使用することによる性能に対する影響を最小限に留めることとなる。
【００１２】
ここで図２を参照しながら、データ圧縮構造の実施例を説明する。
DASDでのデータは多数の有限ブロック又は、圧縮グループ３８（ＣＧ０−ＣＧＮ）に分割される。本発明の圧縮データ階層構造において各圧縮グループ３８は、その内部に柔軟に割り当てられる空間を有する統合単位として管理される。各圧縮グループ３８内のデータは、ホスト・システム１２から見ると、記憶されたデータの圧縮特性に依って物理サイズが変化する固定アドレス範囲として表される。圧縮グループ３８のサイズは特定のサイズに限定されていない。しかしながら、そのサイズがホスト・システム１２が割り当てたブロック・サイズの多くのものに等しいか、又はそれらより大きくなるように選ばれた場合にデータ記憶効率が良くなる。その圧縮グループ・サイズは、システム・ページ・サイズと比較して、大きくなるべきである。圧縮グループ・サイズは一般にファイル・システム記憶管理用の割当て及びアクセスのパターンに合うように選ばれる。IBM AS/400  コンピュータシステム１２では、圧縮グループ・サイズは４キロバイトのシステム・ページ・サイズを含む１メガバイトに選択されている。圧縮グループ３８内ではデータは、システム・アドレス指定モデルにより記述される順序で順次記憶される。各システム・データ・ページは、個別にこのグループ内で圧縮されその圧縮サイズに等しい物理的記憶領域に保存される。圧縮グループ３８が、互いの間に関して何らかの記憶領域関係を維持するような要求はない。
【００１３】
各圧縮グループ３８は、可変数の圧縮領域５０からなるため、物理サイズは変化する。図示のように、各圧縮グループ３８は、物理的に整数個（ＣＲ０ーＣＲＭ）の圧縮領域５０からなる。圧縮領域５０は、ディスク空間の管理に簡便な細分性(granularity)を付与するために用いられる。セクタを含めどのような大きさでも使用できるが、DASD36上の機能的に独立した最少アドレス指定可能なデータ領域、ディスク形状に合う圧縮領域５０のサイズを選ぶとすれば、例えば、トラックサイズ又はその他の履行依存なサイズが有利である。圧縮領域５０を使用すれば、それを効率的に履行するのに役立つけれども、その使用は任意である。
【００１４】
図２において、例外管理領域(EXCP)には、例外領域４２及びマイクロテーブル・ディレクトリ４４が備わっている。EXCP領域は、現在割当てられている空間に入りきれない圧縮ページ及びディレクトリデータのために圧縮グループ内に予め規定された空間である。このEXCP領域は整数個の圧縮領域からなる。EXCP領域が有ると、圧縮グループ３８内におけるデータの順次保存に関しては好ましくない場合もあるが、例外領域４２が有るので、更新データが元の記憶空間及び隣接するファイル・データから遠く離れて記憶されないように保証される。多くの場合、小型コンピュータ・システム・インターフェース(SCSI)のSKIP READ及びSKIP WRITEコマンドを使えば一つのオペレーションでその隣接するページと一緒に例外領域記憶データが得られる。このSCSI SKIP READコマンド及びSKIP WRITEコマンドは、読取り又は書込みを行うために選択されたセクタをセットすると共にその他のセクタをスキップさせるため「０」にセットするべくスキップ・マスクを利用する。こうすることができない場合でも、EXCP領域が近接しているのでシークタイムは長くはならない。各ブロック内のデータの位置を見出すのに役立つディレクトリ情報は、各圧縮グループ３８にデータと共に保持される。同様にディレクトリ情報がその関連データと隣接しているため、そのディレクトリにアクセスしなければならないとき、DASDのシークを最少にすることができる。実際には、ディレクトリ情報も記憶制御装置２２にキャッシュされることにより、圧縮グループ・マイクロ・テーブル・ディレクトリ４４のディレクトリ情報の更新時間を最小化できる。
【００１５】
各圧縮領域５０は、多数の圧縮テーブル５２（ＣＰ１−ＣＰＪ）を含む。圧縮ページ５２のサイズはシステム・ページ・サイズと同じであれば有利である。こうすれば、DASDサブシステム制御装置２２がホスト・システム１２にそのデータの一部だけが変更されている場合に、圧縮ページ５２に対して、読取り、変更、及び書込みのオペレーションを行う必要がなくなる。圧縮領域５０は可変数の圧縮ページ５２を格納する固定数の物理セクタ５４からなる。圧縮ページ５２の物理サイズは、特定の圧縮比に依って１からｎの物理セクタ５４（ＰＳ０〜ＰＳｉ）となる。圧縮ページ５２は、圧縮グループ３８内で圧縮領域５０にまたがることもあり得る。
【００１６】
物理セクタ５４には圧縮データ５６及び制御情報のための任意の物理セクタ・ヘッダ５８が含まれる。
【００１７】
ここで、図３は、ブロック３００から始まる一連の読出し操作の例のフローチャートである。最初にブロック３０２において、ホスト・コンピュータ１２からの読取りコマンドが記憶制御装置２２に読込まれる。ブロック３０４において記憶制御装置２２は、ホスト論理ブロック・アドレス(LBA)の上位ビットを用いて圧縮グループを決める。ブロック３０６において記憶制御装置２２は、物理論理キャッシュ３０があればそれから、又はDASDから直接圧縮グループの位置を求める。
【００１８】
次に、記憶制御装置２２は、読取り対象のページの物理オフセットと長さを決める。ブロック３０８において記憶制御装置２２は、圧縮グループ・ディレクトリ及びホスト論理ブロック・アドレスの下位ビット、例えば、インデックスとしてDASD論理ブロック・アドレスを計算する。そして圧縮グループ・ディレクトリを使って例外領域４２のLBAを計算する。例外付きシングル及び多重ページ読取りオペレーションによって、ブロック３１０において、圧縮グループ・ディレクトリ及びホスト論理ブロック・アドレスの下位ビット、例えば、インデックスとして例外領域４２のLBAを計算し、圧縮グループ・ディレクトリを用いて装置例外領域ブロック数を計算する。それからブロック３１２において記憶制御装置２２は、算出された装置論理ブロック・アドレス、装置ブロック数、装置例外領域論理ブロック・アドレス、及び装置例外領域ブロック数を用いて１又は複数の装置オペレーションを作成する。読取りオペレーションに例外が含まれかつその例外がSCSIスキップ・オペレーションの期間内にあるときは、記憶制御装置２２はこのオペレーションのスキップ読取りコマンドを出す。またこの例外がSCSIスキップ・オペレーションの期間内にないときは、記憶制御装置は二つのオペレーションを発生する。また記憶制御装置２２はそのコマンド又はオペレーションをDASD３６へ送り、ブロック３１４においてデータを受けとり復元する。これをもって、読取りシーケンスを終了する。
【００１９】
図４は、ブロック４００に始まる書込みシーケンスの例を示している。先ず、ブロック４０２において、記憶制御装置２２はホスト・コンピュータ１２から書込み命令を受け取る。ブロック４０４において記憶制御装置２２は、書込むデータを圧縮し、圧縮長を決める。それからブロック４０６において記憶制御装置２２は、ホスト論理ブロック・アドレスの上位ビットを用いて圧縮グループ３８を決める。そしてブロック４０８において記憶制御装置２２はディレクトリ３０の圧縮グループの位置を見つけ、開始物理アドレス又はDASD論理ブロック・アドレスを決める。ブロック４１０において記憶制御装置２２は、例えばインデックスとして圧縮グループ・ディレクトリ３０及びホスト論理ブロック・アドレスを用いて開始物理アドレス又はDASD論理ブロック・アドレスを算出し、圧縮グループ・ディレクトリ及び圧縮データ長を用いてブロック数を算出する。圧縮ホスト・ページが使用可能な物理記憶領域に入らない場合は、記憶制御装置２２は圧縮グループ・ディレクトリ及びホスト論理ブロック・アドレスの下位ビットを用いて、例えば、インデックスとして例外領域論理ブロック・アドレスを算出する。またブロック４１２において記憶制御装置２２は、圧縮グループ・ディレクトリ及び圧縮データ長を使って装置例外領域ブロック数を算出する。
【００２０】
ブロック４１４において記憶制御装置２２は、装置論理ブロック・アドレスの算出値、装置ブロック数、装置例外領域論理ブロック・アドレス、及び装置例外領域ブロック数を用いて装置オペレーションを発生する。次にブロック４１６において、この記憶制御装置２２は圧縮グループ・ディレクトリ３０を更新する。ブロック４１８において記憶制御装置２２は、コマンド又はオペレーションを装置３６に送り圧縮データを与える。これで書込みシーケンスを終了する。
【００２１】
圧縮グループ３８内では局所的に断片化が起こる場合がある。しかし関連データが物理的に一つの圧縮グループ３８にあるので断片化が大局的に起こることはない。局所的な断片化があっても所望の期間毎に圧縮グループ内で一掃(sweep)される。このスイープ・シーケンスは、定期的に局所的断片化を調整するのに必要な背景オペレーションを行う。
【００２２】
図５は、記憶された圧縮データの局所的断片化の修正のために起動された一連のステップを例示した流れ図である。先ずブロック５０２において記憶制御装置２２は、圧縮グループ・ディレクトリを用いて、特定の圧縮グループ３８を保持するのに必要な物理装置空間の量を決める。そしてブロック５０４において記憶制御装置２２は、装置３６に物理空間を割り当てこの圧縮グループ３８を保持する。次にブロック５０６において記憶制御装置２２は、ホスト論理ブロック・アドレスの昇順に全ての圧縮データを並べ替えかつ、例外領域４２を空にして新しい圧縮グループ・ディレクトリを作成する。ブロック５０８において記憶制御装置２２は、元の圧縮グループ・ディレクトリを用いて元の圧縮グループの全てのデータを集める読取りオペレーションを発生する。それからブロック５１０において記憶制御装置２２は、新圧縮グループ・ディレクトリを用いて新圧縮グループ書込みオペレーションを発生する。ブロック５１２において記憶制御装置２２は、装置３６にオペレーションを送り圧縮データを受け取る。ブロック５１４において記憶制御装置２２は、装置３６にオペレーションを送り圧縮データを与える。ブロック５１６において記憶制御装置２２は、装置３６の元の圧縮グループ物理空間を割当解除し、圧縮されたDASDのディレクトリを更新する。これでスイープ・シーケンスを終了する。
【００２３】
まとめとして、本発明の構成に関して以下のこと項を開示する。
【００２４】
（１）各々が固定論理サイズを有する複数の圧縮グループと、前記圧縮グループの各々の中に書込まれたディレクトリ・テーブルとを含み、各圧縮グループは圧縮データを書込み可能な少なくとも１つの圧縮データ領域を有し、各圧縮グループはさらに、オリジナル圧縮データに対応するオリジナル記憶空間を越える更新圧縮データを含む圧縮データ例外を書込み可能な例外領域を有することを特徴とする、直接アクセス記憶装置(DASD)のデータ圧縮構造。
（２）前記圧縮グループが複数のページを有する上記（１）に記載の直接アクセス記憶装置の圧縮データ構造。
（３）前記圧縮ページが、ホスト・システム・ページ・サイズに等しい論理サイズを有する上記（１）に記載の直接アクセス記憶装置の圧縮データ構造。
（４）前記少なくとも一つの圧縮データ領域の各々は固定数のDASDセクタを有する上記（１）に記載の直接アクセス記憶装置の圧縮データ構造。
（５）前記少なくとも一つの圧縮データ領域の各々が可変数の前記圧縮ページを有する上記（２）に記載の直接アクセス記憶装置の圧縮データ構造。
（６）前記例外領域が前記ディレクトリ・テーブルを含む上記（２）に記載の直接アクセス記憶装置の圧縮データ構造。
（７）前記圧縮グループが可変数の前記少なくとも一つの圧縮データ領域を含む上記（１）に記載の直接アクセス記憶装置の圧縮データ構造。
（８）前記圧縮ページが隣接する圧縮領域にまたがる上記（２）に記載の直接アクセス記憶装置の圧縮データ構造。
（９）前記圧縮グループのサイズが、前記圧縮ページ論理サイズ及び４キロバイトの前記ホスト・システム・ページ・サイズを含む１メガバイトである上記（３）に記載の直接アクセス記憶装置の圧縮データ構造。
（１０）直接アクセス記憶装置(DASD)を各圧縮グループが固定論理サイズを有する複数の圧縮グループに分割するステップと、各圧縮グループ内に少なくとも一つの圧縮データ領域及び例外領域を割り当てるステップと、前記複数の圧縮グループの一つの前記少なくとも一つの圧縮データ領域に対して関連圧縮データを書込み及び読取りするステップと、オリジナル圧縮データに対応するオリジナル記憶領域を越える更新圧縮データを含む圧縮データ例外を前記例外領域に対して書込み及び読取りするステップと、前記各圧縮グループの前記例外領域内の対応するディレクトリ・テーブルへ書込むステップとを含む固定ブロック方式の直接アクセス記憶装置(DASD)の圧縮データ記憶方法。
（１１）前記少なくとも一つの圧縮データ領域に対して関連圧縮データを書込むステップが、ホスト・コンピュータから受け取ったデータを圧縮しかつ圧縮データ長を識別するステップを含む上記（１０）に記載の圧縮データ記憶方法。
（１２）前記少なくとも一つの圧縮データ領域に対して関連圧縮データを書込むステップが、ホスト・コンピュータから受け取ったデータのホスト論理ブロック・アドレスを用いて前記圧縮グループの一つを識別するステップを含む上記（１１）に記載の圧縮データ記憶方法。
（１３）前記少なくとも一つの圧縮データ領域に対して関連圧縮データを書込むステップが、圧縮グループ・ディレクトリと前記ホスト論理ブロック・アドレスを用いてDASD論理ブロック・アドレスを計算し、前記圧縮グループ・ディレクトリと前記識別した圧縮データ長を用いてDASDブロック数を計算することを含む上記（１２）に記載の圧縮データ記憶方法。
（１４）前記圧縮データ例外を前記例外領域へ書込むステップが、ホスト・コンピュータから受け取ったデータを圧縮しかつ圧縮データ長を識別するステップと、前記圧縮グループの一つをホストコンピュータから受け取ったデータのホスト論理ブロック・アドレスを用いて識別するステップと、圧縮ブロック・ディレクトリと前記論理ブロック・アドレスを用いてDASD例外領域論理ブロック・アドレスを計算するステップと、前記圧縮グループ・ディレクトリと前記識別した圧縮データ長を用いてDASDブロック数を計算するステップとを含む上記（１０）に記載の圧縮データ記憶方法。
（１５）例外領域に書込まれた圧縮データ例外に起因する識別された圧縮グループ内の断片化を修正する背景スイープ・オペレーションを定期的に実行するステップを含む上記（１０）に記載の圧縮データ記憶方法。
（１６）前記背景スイープ・オペレーションを実行するステップが、圧縮グループに必要なDASD物理記憶空間の量をオリジナル圧縮グループ・ディレクトリを用いて識別するステップと、前記識別された圧縮グループの全ての圧縮データをホスト論理ブロック・アドレスの昇順に再配列すると共に前記例外領域を空にした新圧縮グループの新圧縮グループ・ディレクトリを作成するステップと、前記オリジナル圧縮データ・ディレクトリを用いて前記識別された圧縮グループの全てのデータを集めるステップと、前記作成された新圧縮グループ・ディレクトリを用いて前記新圧縮グループの全てのデータを記憶するステップとを含む上記（１５）に記載の圧縮データ記憶方法。
（１７）圧縮データの読取り及び書込みを行うシステムであって、直接アクセス記憶装置記憶管理機能と論理ブロック・アドレスを記憶する論理ディレクトリとを含み、直接アクセス記憶装置にデータを供給しかつ受け取るホスト・コンピュータと、各々固定論理サイズを有する複数の圧縮グループを有する直接アクセス記憶装置と、前記ホスト・コンピュータに接続されてデータを受け取りかつ圧縮し、この圧縮データを前記直接アクセス記憶装置に書込み、そして該圧縮データを該直接アクセス記憶装置から読取りかつ復元し、このデータを前記ホスト・コンピュータに供給する記憶制御装置と、前記各圧縮グループ内に書込まれたディレクトリ・テーブルとを有し、上記各圧縮グループが、圧縮データを書込み可能な少なくとも一つの圧縮データ領域を有し、上記各圧縮グループが、オリジナル圧縮データに対応するオリジナル記憶空間を越える更新圧縮データ例外を書込み可能な例外領域を有する圧縮データの読取り及び書込みシステム。
（１８）前記記憶制御装置は、圧縮グループ・ディレクトリ・キャッシュを備えかつ前記ホスト・コンピュータから論理ブロック・アドレスを受け取る上記（１７）に記載の圧縮データの読取り及び書込みシステム。
（１９）前記記憶制御装置が前記受け取ったホスト・コンピュータの論理ブロック・アドレスを用いて前記直接アクセス記憶装置内の論理ブロック・アドレスを識別する圧縮管理ロジックを有する上記（１８）に記載の圧縮データの読取り及び書込みシステム。
（２０）前記例外領域に書込まれた前記圧縮データ例外に起因する識別された圧縮グループ内の断片化を修正する背景スイープ・オペレーションを定期的に実行する手段を有する上記（１７）に記載の圧縮データの読取り及び書込みシステム。
【図面の簡単な説明】
【図１】本発明の直接アクセス記憶装置(DASD)とデータ圧縮構造を統合化した記憶制御装置を例示したブロックダイアグラムである。
【図２】本発明のデータ圧縮構造の実施例を示したブロックダイアグラムである。
【図３】本発明の図１のDASD圧縮システムにおける実施例のフローチャートである。
【図４】本発明の図１のDASD圧縮システムにおける実施例のフローチャートである。
【図５】本発明の図１のDASD圧縮システムにおける実施例のフローチャートである。
【符号の説明】
１２      ホストシステム
１４      アプリケーション・オペレーティングシステム
１６      ファイルシステム
１８      ＤＡＳＤ記憶管理機能
２０      論理ディレクトリ
２２      記憶制御装置
２４      圧縮復元機能ブロック
２６      データバッファ
２８      圧縮管理論理ブロック
３０      物理ディレクトリキャッシュ
３２      装置バスインタフェース
３６      ＤＡＳＤ
３８      圧縮グループ
４０      圧縮データ領域
４２      例外領域
４４      マイクロテーブル
【図１】
0003869886.tif 000002
【図２】
0003869886.tif 000003
【図３】
0003869886.tif 000004
【図４】
0003869886.tif 000005
【図５】
0003869886.tif 000006