説明

データ処理システムおよびその操作方法

【目的】 データ処理装置(12)と、ディスク・データ記憶サブシステム(14)と、ディスク・マネージャ(16)とを有するデータ処理システム(10)を操作するための装置および方法を提供する。
【構成】 本方法は、(a)ディスク・データ記憶システムを、第一の区画(28)と第二の区画(30)を含む複数の区画に区分するステップと、(b)格納されるときにそれぞれが第一の所定のしきい値を超えるアクセス活動値を有する論理トラックなどの複数のデータ単位で構成されたセグメントを格納するためにログ構造ファイル・システム(LSFS)として少なくとも第一の区画を管理するステップと、(c)格納されるときにそれぞれが第一の所定のしきい値より小さいアクセス活動値を有する複数の非活動データ単位で構成されたセグメントを第二の区画内に格納するステップとを含む。

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般的には大量記憶装置を管理するための方法および装置に関し、より具体的には大量記憶装置用のログ構造ファイル・システムに関する。
【0002】
【従来の技術】ログ構造ファイル・システム(log-structured file system、以下、本明細書ではLSFSという)については、"The Design and Implementation of a Log-Structured File System"という論文(ACM Transactions on Computer Systems,Vol. 10, No. 1, 1992年2月, pp. 26-52)においてM. RosenblumおよびJohn K.Ousterhoutによって説明されている。
【0003】簡単に説明すると、LSFSとは、ディスクに対して行ったすべての修正をログ状のファイル構造に順次書き込む、ディスク記憶装置管理の技法である。このログ状のファイル構造はディスク上にある唯一の構造体で、ログから効率よくファイルを読み出せるように索引情報が収容されている。
【0004】LSFS手法の1つの特徴は、書込み処理を高速化するために大規模な空き領域をディスク上に維持している点である。この大規模な空き領域を維持するために、ログを複数のセグメントに分割し、セグメント・クリーナを使用して過度に断片化したセグメントから有効な情報を圧縮し、それにより今後の書込みに備えてセグメントを解放する。
【0005】LSFSの目的は、他のディスク管理技法よりディスク帯域幅の使用率を増やすことでディスク書込みの効率を改善することにある。つまり、ディスクに対して小規模の書込みを数多く実行するのではなく、データを記憶サブシステムのキャッシュまたはバッファに収集し、1回の大量入出力(ディスク書込み)操作でファイル・キャッシュをディスクに書き出すのである。しかし、セグメントの物理的な書込みは、段階的に増量しながら続行することができる。
【0006】このようなLSFSを使用した結果、圧縮/短縮したデータが複数のディスク位置に分散する恐れがあり、そのため、シーク・アフィニティ(seek affinity)が低下し、応答時間が長くなるという問題が発生する。
【0007】LSFSの使用時には、「ガーベージコレクション」(GC)とも呼ばれるセグメント・クリーニングに関するもう1つの問題が発生する。より具体的には、ディスクが一杯になればなるほど、GCのために必要なディスク活動が増加し、それによりシステム要求に対応するためにディスクを使用できる時間が減少する点である。
【0008】前述の論文で提案されている、空き空間管理のための2つのメカニズムには、ログが活動ブロックをスキップし、すでに削除または上書きが行われたファイル・ブロックを上書きするというスレッド化ログと、ログの末尾にあるディスク・セクションを読み取って、新しいデータとともにそのセクションの活動ブロックを新たに生成した空間に再書込みすることでログ空間を生成するという複写短縮技法の使用が含まれる。しかし、どちらの手法でも、大量のディスク資源を管理機能に割り振らなければならず、それによりディスク記憶サブシステムのパフォーマンスが悪影響を受けてしまう。
【0009】1枚の大型ディスク(単一大型高価格ディスクすなわちSLEDともいう)の代わりに、"A Case for Redundant Arrays of Inexpensive Disks(RAID)"という論文(ACM SIGMOD Conference, Chicago, IL, 1988年6月1〜3日, pp.109-116)においてD.A.Patterson、G.Gibson、およびR.H.Katzが説明している低価格ディスクの冗長アレイ(RAID)を使用する方法も当技術分野では既知の方法である。RAID手法の利点は、RAIDを使用することでデータ処理装置のディスク・サブシステムがプロセッサの速度やメイン・メモリの密度の改良の連続に遅れずに対応できる点である。しかし、上記の著者によれば、RAID記憶システムの平均故障時間(MTTF)は1枚のディスクのMTTFをアレイ内のディスクの総数で割ったもので示される。たとえば、1つのアレイが1000枚のディスクで構成されている場合、各ディスクのMTTFが30000時間であれば、アレイのMTTFはわずか30時間になり、1日より若干長い程度になる。このため、RAIDシステムで考慮すべき重要な点は、エラー検出訂正情報、冗長情報を収めたチェック・ディスク、クラッシュ回復技法を装備することである。
【0010】上記の論文では、5つのレベルのRAIDが論じられている。レベル1ではミラー・ディスク(データ・ディスクとチェック・ディスクの両方を含むすべてのディスクの完全冗長)を使用し、レベル2ではチェック・ディスクの枚数を減らすためにエラー訂正情報用のハミング・コードを使用し、レベル3ではデータ・ディスク・グループごとに1枚のチェック・ディスクを使用し、レベル4では個々の転送情報を単一ディスク装置に収容して複数のディスクに分散しないようにした、独立読取り/書込み操作を使用し、レベル5(RAID5)ではデータとデータ保全性(パリティ)情報を、チェック・ディスクを含むすべてのディスクに分散する。
【0011】
【発明が解決しようとする課題】本発明の一目的は、大量記憶装置で使用するための改良されたLSFSを提供することにある。
【0012】本発明の他の目的は、RAID大量記憶システムを備えた改良されたLSFSを提供することにある。
【0013】本発明の他の目的は、RAID3またはRAID5大量記憶システムを備えた改良されたLSFSを提供することにあり、このLSFSは、最大パフォーマンスが得られるように管理されている活動区画と、最大記憶容量が得られるように管理されている非活動区画とを含む、複数の区画を有する。
【0014】本発明の他の目的は、RAIDタイプの大量記憶システムを備えた改良されたLSFSを提供することにあり、このLSFSは、LSFSとして管理されている活動区画と、アクセス方式が把握している物理的なデータ位置で管理されている非活動区画とを含む、複数の区画を有する。
【0015】
【課題を解決するための手段】上記およびその他の問題の克服と、本発明の目的の実現は、データ処理装置、ディスク・データ記憶サブシステム、およびディスク・マネージャを有するデータ処理システムを操作する方法と、これらを有するように構築されたデータ処理システムによって達成される。本方法は、(a)ディスク・データ記憶システムを、第一の区画と第二の区画を含む複数の区画に区分するステップと、(b)格納されるときにそれぞれが第一の所定のしきい値を超えるアクセス活動値を有する複数の活動データ単位で構成されたセグメントを格納するためにログ構造ファイル・システムとして少なくとも第一の区画を管理するステップと、(c)格納されるときにそれぞれが第一の所定のしきい値より小さいアクセス活動値を有する複数の非活動データ単位で構成されたセグメントを第二の区画内に格納するステップとを含む。
【0016】本発明の好ましい実施例では、第一の区画に格納されるセグメントは、少なくとも1枚のディスクの少なくとも一方の表面上の物理的に隣接するトラックに格納され、物理的に隣接するトラックは最初のトラックから始まり、最初のトラックは前記表面上のすべてのトラックのほぼ中央に位置し、物理的に隣接する残りのトラックは最初のトラックの両側に整列している。
【0017】一般にガーベージコレクションと呼ばれる、活動区画内にクリア・トラックを形成する方法では、占有セグメントとクリア・セグメントを示すセグメント・レコードを第一の区画内に保管する。このセグメント・レコードは、各占有セグメントごとに、そのセグメントの構成要素である各有効データ単位のアクセス活動値の合計を表す合計値を含み、そのセグメントの構成要素である有効データ単位の数を表す占有値をさらに含む。ここで言及し、以下の本発明の説明で言及する合計値は、単純合計または平均値のいずれでもよいことに留意されたい。クリア・セグメントの数が所定の値より小さいという条件に応じて、本方法は、(a)第一の区画の占有セグメントにアクセスして第一の所定のしきい値より小さい合計値を有するセグメントを突き止めるステップと、(b)突き止められたセグメントの有効データ単位のうち、第一の所定のしきい値より大きいアクセス活動値を有する有効データ単位があれば、それを第一のバッファに格納するステップと、(c)突き止められたセグメントの有効データ単位のうち、第一の所定のしきい値より小さいアクセス活動値を有する有効データ単位があれば、それを第二のバッファに格納するステップとを実行する。占有セグメントのすべてが、第一の所定のしきい値より大きい合計値を有すると判別されたという条件に応じて、本方法は、(d)第一の区画の占有セグメントにアクセスして第二の所定のしきい値より小さい占有値を有するセグメントを突き止めるステップと、(e)突き止められたセグメントの有効データ単位のうち、第一の所定のしきい値より大きいアクセス活動値を有する有効データ単位があれば、それを第一のバッファに格納するステップと、(f)突き止められたセグメントの有効データ単位のうち、第一の所定のしきい値より小さいアクセス活動値を有する有効データ単位があれば、それを第二のバッファに格納するステップとを実行する。
【0018】本発明の上記およびその他の特徴は、添付図面とともに本発明の詳細な説明を読めば、さらに明確になる。
【0019】
【実施例】図1のブロック図について説明するが、同図は本発明により構築および操作されるデータ処理システム10を示している。システム10はデータ処理装置12を含む。データ処理装置12には、データ経路12bと、関連のディスク・データ記憶システム14が両方向に結合されている。ディスク・データ記憶システム14は、1つまたは複数のディスク装置で構成することができる。たとえば、図示の実施例では、ディスク・データ記憶システム14が第一のディスク装置14aと第二のディスク装置14bとで構成されている。各ディスク装置は、それぞれが第一のデータ記憶面15aと第二のデータ記憶面15bとを有する、1〜n枚の個別ディスクで構成することができる。
【0020】本発明の好ましい実施例のディスク・データ記憶システム14は、本明細書の従来の技術の項で参照したPatterson、Gibson、Katzの論文に記載されているRAID5システムに多少似ているRAIDシステムとして構成され、操作される。ただし、RAIDタイプのディスク・データ記憶システムを使用することが本発明を実施する際に制限として解釈されないことに留意されたい。
【0021】システム10は、本発明の教示により動作するLSFSディスク制御装置またはマネージャ16をさらに含む。ディスク・データ記憶システム14とLSFSディスク・マネージャ16との間には、必要なディスク・デバイス・ドライバ18が結合されている。このドライバ18は、ディスク装置14aおよび14bの読み書きを可能にするためにロー・レベルでディスク装置と対話する。ドライバ18の機能を理解することと、本発明を理解することとは、密接な関係があるわけではない。一例にすぎないが、ディスク14aおよび14bとドライバ18はいずれも、周知のSCSIバスなどのバス18aによって接続することができる。
【0022】ディスク・マネージャ16は、関連のキャッシュ・メモリ16bを含む。このキャッシュ・メモリ16bは、不揮発性記憶装置(NVS)で構成することができる。
【0023】LSFSディスク・マネージャ16には、活動区画書込みバッファ20、ガーベージコレクション(GC)読取りバッファ21、非活動区画書込みバッファ22、活動パラメータしきい値(APT)レジスタ24、占有パラメータしきい値(OPT)レジスタ26、活動区画データ構造を格納するバッファ28、および非活動区画データ構造を格納するバッファ30も結合されている。この説明で言及するバッファは、データが入っているものもあれば、実際のデータの位置を指すポインタで構成されるものもある。構成要素20〜30は、以下に詳しく説明するように本発明の教示によって使用される。データ構造28および30は、ディスク・データ記憶システム14の区分をモデル化するもので、物理ディスク14aおよび14bから分離した個別エンティティとして存在することはできない。データ構造28および30のフォーマット例を図7に示すが、同図の占有フィールドにはセグメント内の有効論理トラックの数が格納され、活動フィールドにはそのセグメント内の有効論理トラック活動値の合計が格納される。これらの値は、後述するように、不要部分の整理時に使用される。LSFSディスク・マネージャ16は、LSFSに関する論理物理アクセス変換データを格納するためのメモリ16aも含んでいる。メモリ16a内に格納されるデータのフォーマット例は図8に示されている。
【0024】始めに、本発明の各種要素を紹介するが、詳細説明は後述する。
【0025】第一の要素は、各区画に格納されたデータの活動特性によって区別される複数ディスク区画の使用に関係するものである。ここで使用するように、2区画LSFS(活動と非活動)は複数区画LSFSの一例にすぎない。
【0026】第二の要素は、ガーベージコレクション(GC)の開始位置であり、すべての書込みが行われる書込み先である、ディスクの目標位置(トラック00と呼ばれる)の使用にできるだけ密接に関係するものである。
【0027】第三の要素は、GCを実行する際にディスク・データ記憶システム14から読み出されるデータの再配置の基準として、「論理装置活動」を使用する場合に関係するものである。活動とは、論理アクセス単位の読み書きを同時にまたは個別に行う際の頻度を基準とした、その論理アクセス単位に関連する相対的な数値である。また、図1にADP25として示した「活動減衰パラメータ」も論理装置活動に関連するが、このパラメータは現行活動との相対重要度の点で過去の活動に許される減衰速度を示すものである。ADP25は、ディスク・データ記憶システム14に対する要求の数を基準にする場合もあれば、発生時刻を基準にする場合もある。このため、アクセスされていない論理装置の活動値を下げるために、ディスク・データ記憶システム14へのアクセスが行われるたびにADP25を使用するか、所定の時間内にアクセスされなかった論理装置の活動値を下げるために、単位時間当たり1回ずつADP25を使用することができる。いずれの場合も、この活動値は、特定の論理装置に関連する読取り活動または書込み活動の量(頻度)を反映したものになる。
【0028】第四の要素は、一度にLSFSに書き込まれたRAIDパリティ・グループ・セグメントのうち、ディスク・データ記憶システム14内に格納されているものについて、「占有パラメータ」を使用することに関係する。図9にさらに明確に示されているように、パリティ・グループ・セグメントは、1つのパリティ・グループに属し、そのパリティ・グループを構築するそれぞれのディスク装置グループの物理トラック、たとえば、物理トラック17に対応することができる。たとえば、各ディスク・ドライブが8枚のディスクを有し、ドライブごとのディスク面が合計16になるようなディスク・ドライブが8台ある場合、128のディスク面のそれぞれにある同一番号の物理トラックにパリティ・グループ・セグメントが1つずつ対応することができる。圧縮された書込みデータは、パリティ・グループ・セグメント全体を一度に書き込めるようになるまでバッファされ、それにより、ディスク・システムへのアクセス回数が削減される。対応するパリティ情報も指定のチェック・ディスク・ドライブに書き込まれるが、そのドライブは書き込まれる各パリティ・グループ・セグメントごとに変わる可能性がある。この場合、物理トラックと論理トラックが区別されることに留意されたい。つまり、データ圧縮が行われるため、1つの物理トラックがn個の論理トラックで構成される場合がある。たとえば、平均圧縮率が3であれば、各物理トラックに3つの論理トラックを格納することができる。
【0029】図9には、ディスク1セグメント列のインタリーブ深度がm+1個の物理トラックである場合が示されている。この場合、L+1個の物理セクタからなるエクステントとしてインタリーブ深度を指定できることにも留意されたい。一般に、インタリーブ深度が1であると、1つのパリティ・グループ・セグメントが1つの物理トラックを占有し、インタリーブ深度が2であると、1つのパリティ・グループ・セグメントが2つの物理トラックを占有することを意味する。
【0030】占有パラメータは、固定データ・ブロック(すなわち、パリティ・ブロック以外)のうち、パリティ・グループ・セグメント内の有効論理トラックが占有している部分であると定義されている。
【0031】第四の要素は、パリティ・グループ・セグメントを構成するすべての論理トラックの有効論理トラック活動値の合計である「活動パラメータ」を使用することに関係する。
【0032】第五の関連要素は、活動パラメータおよび占有パラメータとしてそれぞれAPT24およびOPT26のしきい値を使用することに関係する。これらのしきい値に達すると、関連のディスク管理活動が開始される。
【0033】所与の時点で一部のデータが「終始活動状態」であるのに対し、ディスク上のデータの大部分が15分または1日などの所定の期間に一度もアクセスされない点が、多くのデータ処理アプリケーションの特徴の1つであることに留意されたい。本発明では、データ活動のこの不均衡を利点として使用している。より具体的には、ディスク上の1つの区画(ここでは「活動」区画という)を「活動」データの目標にする。「活動」データとしての資格のないデータは、第二の区画である「非活動」区画に置かれる。本発明の第一の実施例では、活動区画と非活動区画の両方をLSFSとして管理する。
【0034】本発明の第一の実施例によると、データをこのように区分したために、最適パフォーマンスが得られるようにLSFSディスク・マネージャ16が活動データを管理できるようになる。活動データは通常、全ディスク空間のごく一部に相当するので、パフォーマンスを目的とした管理に付随してデータ記憶効率が低下しても、その低下は許容できる程度のものである。非活動区画は、最大記憶容量が得られるように管理することが好ましい。非活動データに関連するディスク活動は全ディスク活動のごく一部に相当するので、記憶効率を目的とした管理に付随してパフォーマンスが低下しても、その低下は許容できる程度のものである。
【0035】「活動」データが「非活動」データになる速度ならびにその反対の速度が、ディスク・データ記憶システム14への総アクセス速度より低ければ、データを活動区画と非活動区画に区分する方が有利である。これが該当するのは、各種のアプリケーションを多数使用する場合であると思われる。
【0036】図9のディスクNを示す図2に示されているように、2区画LSFSでは、ディスク・ドライブ・ユニット14aおよび14bのそれぞれの中央物理トラックの中心に活動区画があると見なすことができる。物理的にディスク・ドライブ・ユニット14a、14bの「中央」にあるこのトラックは、活動区画の「目標」トラックと呼ばれ、トラック番号00が割り当てられている。つまり、物理シリンダ00〜zzを有するディスクの場合、セグメント00のセグメント列Nは物理的には物理シリンダ#zz/2に位置する。トラック番号01(セグメント列N+1)は物理的に次のトラックであり、トラック番号02(セグメント列N+2)は物理的に直前のトラックであり、ディスクの中央から外側に向かって順に番号が付けられている。ディスク・マネージャ16が「新規」または「更新済み」データの完全パリティ幅セグメントをアセンブルすると、そのセグメントにはデータの書込み先になる最低番号のクリア・トラックが与えられる。このため、「新規」または「更新済み」データは必ずディスク面15aおよび15bの物理的中心にできるだけ接近して書き込まれる。非活動区画の目標トラック(またはシリンダ列)は、その区画で最低番号が付けられたトラックになる。この技法により、非活動区画に関連するトラックは、各ディスク表面の内周領域および外周領域に物理的に位置するが、この位置では通常、シーク時間が長くなる。
【0037】書込みのために完全パリティ幅トラック(セグメント)が解放されると、ディスク・マネージャ14は、このトラックを置き換えるためにGCを開始する時期かどうか、ならびに何を基準にしてGC用のトラックを選択すべきかについて判定を行う。活動区画データ構造28に反映されるように、GCを開始するかどうかは、「活動」区画内に残っているクリア・トラック(セグメント)の数によって決まる。
【0038】たとえば、活動区画内のトラック(セグメント)の10%を「クリア」として書込みに備えることが管理目標である場合、ならびに「クリア」トラックの数がこのしきい値(CLRTRKthresh)未満に低下した場合、1つの「正味」トラックをクリアするためにGCが開始される。1つの「正味」トラックをクリアするということは、このように(GCバッファ21に)読み込まれた有効データを再書込みする場合にGC処理によって1つの「正味」クリア・トラック(セグメント)が得られるように、十分な数のトラックについてGC操作を行わなければならないことを意味する。
【0039】どのトラックについてGC操作(つまり、これらのトラックの有効データをバッファに読み込むこと)を行うかは、活動区画に関する2つの基準によって決まる。第一の基準は、上記の活動パラメータである全トラック(セグメント)活動と、関連の活動パラメータしきい値24とを組み合わせたものである。
【0040】図3の論理流れ図を参照すると、まず、トラック00からトラック(セグメント)活動の探索が行われる(ブロックA)。有効論理トラック活動(図7のセグメント占有/活動テーブルに示すもの)の合計がAPT24で指定した値未満になるような最初のトラック(セグメント)についてGC操作が行われる(ブロックB)。活動区画のサイズも積極的に管理されている場合は、APT24によるトラック(セグメント)のGC操作を行うと、活動区画のサイズがトラック(セグメント)1つ分減少する。つまり、活動区画28の最後のトラック(セグメント)番号がnからn−1に減少する(ブロックC)。このGC操作の結果、さらにトラックのGS操作を行う必要があれば、後述のトラック占有しきい値に応じてそのGC操作が行われる。
【0041】活動区画でGC操作の対象となるトラック(セグメント)を選択する際に活動パラメータしきい値未満のものが検出されない場合、または1つのトラック(セグメント)についてすでにGC操作を行ったが、1つの正味トラックを得るためにさらにトラック(セグメント)のGC操作が必要である場合は、GC操作の対象となる次のトラック(セグメント)を選択する際にOPT26を使用する。占有値(図7のセグメント占有/活動テーブルに示されているもの)がOPT26未満になっているトラック(セグメント)を探すために、もう一度トラック(セグメント)番号00から探索が行われる(ブロックD)。活動区画で該当するものが検出されないと、ブロックEで活動区画の最後のトラック(セグメント)番号がnからn+1に増え(区画境界を積極的に管理していると想定する)、トラック(セグメント)n+1についてGC操作が行われる。クリーン空間の1つの正味トラックが得られるまで、後者の処理が繰り返される。
【0042】前述の通り、サイズ、トラック(セグメント)活動、トラック(セグメント)占有の点について、活動区画の管理が行われる。この処理によって、非活動データが活動区画から除去されると同時に、最小占有率がOPT26によってほぼ決まるようなトラック占有率の分布が作成される。この分布を達成するために必要に応じて活動区画のサイズが調整される。
【0043】したがって、システム・ディスク要求のどの部分がディスク・データ記憶システム14の活動区画になるかは、APT24の値によって設定される。活動区画への書込みに関連するGCオーバヘッドの量は、活動区画に関するOPT26の値によって設定される。また、OPT26は、非活動区画を基準にして活動区画のサイズを決定する主な要素でもある。所与の作業負荷のデータをこのように活動データと非活動データに分割すると、ディスク活動の大部分は活動区画に物理的に隣接するトラックに集中し、その結果、シーク・アフィニティによる応答時間パフォーマンスが向上する。
【0044】これまで、ディスク・データ記憶システム14に「新規」または「更新済み」データを書き込む活動を中心に説明してきた。しかし、GC処理によって収集してGCバッファ21に格納した有効データは、最終的にディスクに再書込みしなければならない。この有効データは、GC操作中に活動基準に応じて2つのGCバッファ21aおよび21bにアセンブルされる。その活動値がAPT24以上であるか未満であるかに応じて、各圧縮単位が活動GCバッファ21aまたは非活動GCバッファ21bに置かれる。この説明では、最小分割不能データ単位のレベルでの分類処理を使用する。この分類は、宛先区画を決定するために論理装置または「近隣装置」の平均活動を使用することで論理的な関連性を保つように実行することもできる。バッファ21aおよび21bからの完全パリティ幅書込みが蓄積されると、新規または更新書込みについて前述したように、その書込みが活動区画と非活動区画に書き込まれる。条件によっては、新規および更新書込みから活動区画を宛先とするデータと、GC操作後のデータを組み合わせた方が有利な場合もある。
【0045】非活動GCバッファ21bから非活動ディスク区画にデータを書き込む処理は、非活動区画にデータを入力する唯一の手段である。非活動区画にデータを書き込む際にトラックのクリアが必要であれば、このクリア用のGCの目標は、非活動区画だけになる。このため、図1にOPTin27として示されている、非活動区画に関する独立した占有しきい値パラメータを使用する方が好ましい。一般に、非活動区画の有効記憶容量を改善するには、OPTin27の値が、活動区画に関連するOPT26の値より大きいことが好ましい。前に示したように、非活動区画はシステム10の記憶容量の大部分に相当する。
【0046】これまで、(1)「新規」または「更新済み」書込み、(2)GCによって収集された「活動」データ、および(3)GCによって収集された「非活動」データに関するディスク・マネージャ16の操作について説明してきた。ほとんどすべてのデータが同時に読取りアクティブかつ書込みアクティブになっている場合、上記3つの操作でディスク管理機能を十分包含することができる。しかし、大量のデータについて読取り専用活動が行われるような場合には、ここで「読取りアクティブ」データと呼ぶもう1つのケースを考慮する方が有用である。
【0047】読取りアクティブ・データは、読取りミスヒット操作でキャッシュ16bにステージングされてから更新(書込み)が行われずにキャッシュ16bに格納されるデータ(「クリーン」キャッシュ項目)と見なされる。読取りアクティブ・データというカテゴリの維持は、キャッシュ・データ置換機構(図示せず)によってキャッシュで置き換えられる前の任意の時点で、活動区画と非活動区画との境界を決定する活動しきい値を基準にしてその活動値が評価されることを意味する。図4の論理流れ図に示すように、ディスク・データ記憶システム14内の対応するデータが非活動区画にある場合(ブロックA)、ならびにその活動値が活動区画のAPT24の値を超えている場合(ブロックB)には、「更新」書込みのデステージと同じように「クリーン」キャッシュ項目の破棄が処理される(ブロックC)。その結果、そのデータが活動LSFSディスク区画に移動される。ディスク上のデータがすでに活動区画に入っている場合には、「クリーン」キャッシュ項目が従来通り破棄されるだけで、ディスクには書き戻されない(ブロックD)。
【0048】データ管理に「読取りアクティブ」カテゴリを使用するかどうかの判定は、作業負荷環境の機能の1つである。この「読取りアクティブ」カテゴリを使用すると、「大部分読取り」環境でのパフォーマンスを強化することができる。しかし、「読取りアクティブ」カテゴリを使用することで、一部の読取りに書込み操作と同じオーバヘッドが発生するようになる。その結果、場合によっては、読取り専用データを活動ディスク区画に配置転換する際に付随してディスク使用率が上昇するが、その上昇に見合った応答時間利得が得られない場合もある。
【0049】これまでの本発明の説明では、LSFSを管理する処理において活動データを物理的に分離することでシーク・アフィニティが強化されることを実証してきた。しかし、この処理では、順次書き込まれた論理トラックが実際に物理ディスク14aおよび14b上に順次存在すると保証されているわけではないことに留意されたい。この問題を部分的に解決する方法として、RAID5で使用されていることが分かっている1つの手順がある。この手順では、キャッシュ16bからの書込みデステージによって、同一論理シリンダまたは他の装置上の他の書込みを探すためにキャッシュ16bの探索も開始される。このため、同一論理装置上で保留中の他の書込みがまとめてデステージされる。
【0050】本発明の他の態様によれば、上記の技法に加え、キャッシュ・デステージの移動先である書込みバッファ20が1つのパリティアレイ・トラック(セグメント)の数倍の大きさになっている。書込みバッファ20がパリティアレイ・トラック(セグメント)の容量の5倍などのトリガしきい値まで一杯になると、論理的順次データを検出してそれをディスクに同期書込みしやすくするために、バッファされた書込みデータ(図8を参照)について論理装置別の分類と論理トラック別の順序付けが行われる。つまり、最長順次シリーズが最初に書き出されるのである。書込みバッファ20が拡張されているため、圧縮した論理トラックを物理トラックに効率よくパッキングしやすくなっている。
【0051】本発明の特徴の1つであるLSFS管理の別の態様は、物理ディスクのアイドル時間を使用してデータ管理を行うことである。前述の通り、書込み操作によって使用可能なクリア・トラックの数がCLRTRKthresh値(たとえば、10%)未満に低下すると、GCが開始される。この手法は、「要求駆動(demand driven)」GCと呼ばれることもある。
【0052】本発明の他の態様では、全ディスク活動を検査するためのユーティリティ・ルーチンを使用している。パリティアレイ・グループ内の現在の活動が装置の大半がアイドル状態またはその他の判定基準に達するようなものであると判定されると、1つのパリティアレイ・トラック(セグメント)のGCがアイドル・グループに待ち行列化される。ここではこれを「時間駆動」GCという。アイドルしきい値の一例としては、1つのセグメントの物理記憶域を構成するディスクの半数またはそれ以上に未解決の実行すべき作業が存在しない場合が挙げられる。この点については、応答が保留中かどうかを把握しているので、装置が要求の対応に使用されているかどうかをディスク・マネージャ16が把握する。時間駆動モードのGC用に選択されたパリティアレイ・トラック(セグメント)は、要求駆動モードと同じ基準で選択されるが、トラック(セグメント)占有しきい値(OPT26)を使用する場合、占有しきい値の上限(OPTup)29に達するまではGC用として最低占有トラック(セグメント)が選択される。占有しきい値の上限および下限の値としては、たとえば、25%と75%などがそれぞれ使用される。
【0053】要約すると、これまでに説明した本発明の実施例では、RAID5パリティアレイ・ディスク記憶システム上でログ構造ファイル・システムを管理することができ、応答時間パフォーマンスと有効記憶容量をかなり独立して最適化することができる。これは、複数の区画に対して独立した管理基準を使用することと、活動区画および非活動区画のサイズの自己調整を可能にするようなパリティアレイ・セグメント活動、占有パラメータ、およびしきい値を特定して使用することで達成される。
【0054】本発明の複数区画LSFSの第一の実施例について説明してきたので、次に複数区画LSFSの第二の実施例について説明する。第二の実施例では、第一の活動区画が前述のように管理されるのに対し、第二の非活動区画は非LSFS方式で管理される。この場合、すべての物理データ位置をアクセス方式が把握している。このような第二の実施例に至る動機の基礎となっているのはいくつかの観察結果である。
【0055】第一に、レコードレベルのキャッシュ・アプリケーションでは、レコードより大きい「近隣」装置レベルでデータの管理を行う必要がある場合、アクセス資源やキャッシュ空間の点で効率が低下する恐れがある。しかし、システム全体をレコード・レベルで管理する場合は、論理物理再配置テーブル・サイズ(図8)が不経済なほど大きくなることが考えられる。
【0056】第二に、大型逐次アクセスの場合も、通常は論理グループとしてアクセスされるデータが物理的にディスク上に分散していると、効率が低下する恐れがある。
【0057】第三に、半導体記憶装置に論理物理配置ディレクトリ(図8のメモリ16a)を保管するということは、キャッシュ16bのサイズと同程度の大型半導体記憶装置が必要になることを意味する。このディレクトリの一部だけを半導体メモリに保管し、残りをディスクに保管することも可能であるが、ディレクトリの必要部分をディスクから取り出す際に、パフォーマンスが犠牲になる。
【0058】第四に、セグメント占有率が高くなると、同所更新よりLSFSの効率が低下する恐れがある。
【0059】このような影響を克服し軽減するために、本発明のこの態様では区分ログ構造ファイル・システムも使用している。このファイル・システムでは、活動データを1つの区画28に保管し、非活動データをそれよりかなり大きいもう1つの区画30に保管するように両方の区画が管理される。しかし、両方の区画をログ構造ファイルとして管理するのではなく、活動区画28だけをログ構造ファイルとして管理し、大きい方の非活動区画30は、すべての物理データ位置をアクセス方式が把握している従来の方法で管理される。しかも、活動および非活動を含むすべてデータには、非活動区画30でのホーム位置が1つずつ割り振られている。実際には、非活動区画30が圧縮データを含むRAID5アレイとして実施されている。この圧縮データのフォーマットは、圧縮データのほとんどの更新と拡張部分を所定の場所に収容できるように予備の空間を供給するための装備を含むことが好ましい。
【0060】図5は、データを純粋LSFSとして管理する場合と同所更新機能を備えたLSFSとして管理する場合の相対的な装置使用率を比較した結果を示している。具体的に図5に示されているのは、装置当たり3.7GBの物理記憶容量を備えた装置からなるRAID5(7+P)アレイ上の2区分ログ構造ファイルから得られた結果である。
【0061】ここで使用する不要部分の整理(GC)とは、ログ構造ファイル方式によって更新され他の位置に再書込みされる過程で大部分のデータが無効にされるように、トラック(セグメント)から疎有効データを読み取ることを意味する。
【0062】より具体的には、図5は、要求率が4要求/秒/GBで読取り/書込み比が3のときの、2区画ログ構造RAID5(7+P)アレイの有効記憶容量と装置使用率を示している。活動区画28でのGCの占有しきい値は横座標に示されている。非活動区画30のGCしきい値は80%であると想定する。図示の同所更新装置の使用率はOPT26に関連するものではないが、2区分ログ構造アレイで得られるものと同じ有効容量に相当するものとして示されている。同図から、GCの占有しきい値が低い値であるとログ構造アレイの装置使用率が低下し、占有しきい値が高い値であると同所更新装置使用率が低下することが分かるだろう。
【0063】図5には、活動区画28でのGCの占有しきい値を25%としてログ構造アレイ記憶システム14を管理すると、正味装置使用率が0.47になることが示されている。この数値には、第二の非活動区画でのGCの占有しきい値80%が含まれている。しかし、GCの占有しきい値が80%の場合、同所更新方法を使用していれば、非活動区画でのGCの効率が実際にはさらに上昇した可能性があることに留意されたい。したがって、活動区画28を完全ログ構造アレイとして管理し、非活動区画30を圧縮データの同所更新アレイとして管理する方法が、所与のアプリケーションへの装置使用率を最小限にするために最適な方式であることは明らかである。
【0064】この管理方式による有効容量の意味するところは、図6のグラフから予測することができる。また、図6のような考慮事項から判断すると、図5について示した操作ポイントの場合、このデータ管理方式を使用したために、ディスク・データ記憶システム14の潜在記憶域のほぼ25%が永続データの格納に使用できないことが分かる。潜在記憶域の75%を達成するには、圧縮データ(75%)のすべてを取り、その圧縮データに第二の非活動区画30での固定記憶位置を与えればよいはずである。この場合、最初に割り振られたデータ・エクステントが一杯になったときに再割振りしやすくするために、非活動区画の圧縮データ・フィールドにギャップが残ると同時に、割振り分同士の間にもギャップが残る。
【0065】一例として、第二の区画のデータ・フィールドのギャップと割振り分同士の間のギャップのためのオーバヘッドによって、ディスクが一杯になったと見なされたときにさらに10%の追加記憶空間が必要になると想定することができる。この場合、活動データ区画用のログ構造ファイルとして管理可能なディスク空間の15%が残される。
【0066】より具体的には、図6は、2区画ログ構造アレイ装置のトラック占有に関する概念図を示している。非活動区画30は0〜77%のトラックを含み、活動区画28は77〜90%のトラックを含み、90〜100%のトラックは両方の区画用のクリア・トラックとして管理予約されている。同図によれば、活動区画28がGC占有しきい値25%になるように管理され、非活動区画30がしきい値80%になるように管理されている。2つの曲線の下にある領域は、ディスク・データ記憶システム14の有効記憶容量を表している。
【0067】本発明のこの実施例の管理方式では、すべての新規書込みおよび更新書込みと不要部分の整理によって回復された活動データを収集するために、活動区画28を使用している。データが非活動になった場合に限り、このデータを使用して第二の区画の固定位置データの更新が行われる。読取りアクティブ・データが活動区画28に複写されると、ディスク上にはデータの有効コピーが2つできあがる可能性がある。一般に、アドレス指定されたデータが活動区画28で検出できない場合に限り、第二の区画30へのアクセスが行われるはずである(2通りの例外については後述する)。
【0068】たとえば、スキップ順次方式でデータにアクセスするためにデータベース・アプリケーションが必要な場合、レコードレベルのキャッシュ・アプリケーションが発生する。このようなアプリケーションの場合、読取りモードと書込みモードのどちらでもディスク・マネージャ16が第二の区画のデータに直接アクセスした方が効率がよくなるのは明らかである。このため、レコードレベルのアプリケーションは、(ディスク要求でレコードレベル・アクセス・ビットを使用するなどの方法で)ディスク・マネージャ16に信号を出して第二の区画に直接アクセスする必要があることを通知できることが好ましい。当然のことながら、要求されたデータの一部がキャッシュ16bまたは活動区画28に最新の形式で存在する場合に、第二の区画30のデータではなく、キャッシュ16bまたは活動区画28のデータがアクセスされるような装備がディスク・マネージャ16に用意されている。
【0069】また、読取りモードと書込みモードのどちらでも、第二の(非LSFS)区画30から直接アクセスする場合、大型データ・ブロックの逐次データ・アクセスを行う方が効率がよいことも明らかである。この場合、前述のレコードレベル・アプリケーションと同様に信号線12cが使用される。
【0070】前述の第一の実施例の場合と同様、活動区画のデータの近隣単位ごとにアクセス活動レコードが保管される。これは、第一の活動区画28を複数区画ファイルのログ構造区画として適切に管理するのに必要である。しかし、第二の区画30の近隣単位についても活動レコードが保管される。活動区画28用に割り振られたトラックに最も近い空間が大部分の活動データに対して割り振られるように第二の区画30のデータの記憶レイアウトにこの活動レコードを使用し、それにより、第二の区画へのシークのパフォーマンスを強化することができる。
【0071】本発明の第二の実施例には次のような固有の利点がある。第一に、装置使用率の低下を達成できる。装置使用率が低下したため、応答時間の短縮またはディスク容量の拡大あるいはその両方が達成される。第二に、ディスクの「レイアウト・マップ」を格納するのに必要なメモリ容量が削減される。つまり、LSFSとして管理される第一の区画に格納される活動データが比較的少量である場合だけ、トラックまたはレコード・レイアウトが必要になるため、メモリ16aのサイズを縮小することができる。非活動データは、トラックなどの非常に粗い細分性で表すことができる。第三に、論理的に隣接するデータの物理的隣接性が比較的容易に維持され、第四に、活動データが増えてもシーク距離が短縮される。
【0072】本発明の好ましい実施例に関連して具体的に本発明を示し説明してきたが、当業者には、本発明の範囲および精神を逸脱せずに形式および細部の変更が可能であることが理解されるだろう。
【0073】まとめとして、本発明の構成に関して以下の事項を開示する。
【0074】(1)データ処理装置とディスク・データ記憶サブシステムとを含むデータ処理システムにおいて、前記データ処理装置から前記ディスク・データ記憶サブシステムへのアクセスを制御するために前記ディスク・データ記憶サブシステムに結合されたディスク・マネージャであって、格納されるときにそれぞれが第一の所定のしきい値を超えるアクセス活動値を有する複数の活動データ単位で構成されたセグメントを格納するための第一の区画と、格納されるときにそれぞれが第一の所定のしきい値より小さいアクセス活動値を有する複数の非活動データ単位で構成されたセグメントを格納するための第二の区画とを有するログ構造ファイル・システムとして前記ディスク・データ記憶サブシステムを管理するディスク・マネージャを含む、データ処理システム。
(2)第一の区画内に格納されるセグメントが少なくとも1枚のディスクの少なくとも一方の表面上の物理的に隣接するトラックに格納され、物理的に隣接するトラックが最初のトラックから始まり、最初のトラックが表面上のすべてのトラックのほぼ中央に位置し、物理的に隣接する残りのトラックが最初のトラックの両側に配列されることを特徴とする、上記(1)に記載のデータ処理システム。
(3)前記ディスク・マネージャが、第一の区画内の占有セグメントとクリア・セグメントを示すセグメント・レコードを保管するための手段をさらに含み、このセグメント・レコードが、各占有セグメントごとに、そのセグメントの構成要素である有効データ単位のそれぞれのアクセス活動値の合計または平均値である組合せを表す合計値を含み、クリア・セグメントの数が所定の値より小さいという条件に応じて、第一の区画の占有セグメントにアクセスして第一の所定のしきい値より小さい組合せ値を有するセグメントを突き止め、突き止められたセグメントの有効データ単位のうち、第一の所定のしきい値より大きいアクセス活動値を有する有効データ単位があれば、それを第一のバッファに格納し、突き止められたセグメントの有効データ単位のうち、第一の所定のしきい値より小さいアクセス活動値を有する有効データ単位があれば、それを第二のバッファに格納するための手段をさらに含むことを特徴とする、上記(1)に記載のデータ処理システム。
(4)セグメント・レコードが、各占有セグメントごとに、そのセグメントの構成要素である有効データ単位の数を表す占有値をさらに含み、前記ディスク・マネージャが、第一の区画の占有セグメントにアクセスして第二の所定のしきい値より小さい占有値を有するセグメントを突き止め、突き止められたセグメントの有効データ単位のうち、第一の所定のしきい値より大きいアクセス活動値を有する有効データ単位があれば、それを第一のバッファに格納し、突き止められたセグメントの有効データ単位のうち、第一の所定のしきい値より小さいアクセス活動値を有する有効データ単位があれば、それを第二のバッファに格納するため、すべての占有セグメントが第一の所定のしきい値より大きい組合せ値を有するという条件に応答することを特徴とする、上記(3)に記載のデータ処理システム。
(5)前記ディスク・マネージャが、第一のバッファからのデータ単位を第一の区画に書き込み、第二のバッファからのデータ単位を第二の区画に書き込むための手段をさらに含むことを特徴とする、上記(4)に記載のデータ処理システム。
(6)データ単位のそれぞれが、論理トラック1つ分の圧縮データで構成されることを特徴とする、上記(4)に記載のデータ処理システム。
(7)前記ディスク・マネージャが、アクセスされない各データ単位ごとに活動アクセス値を定期的に減少させるための手段を含むことを特徴とする、上記(1)に記載のデータ処理システム。
(8)前記データ処理装置と前記ディスク・マネージャとの間に挿入されたデータ・キャッシュをさらに含み、前記ディスク・マネージャが前記データ・キャッシュからのデータ単位のデステージに応答し、デステージされたデータ単位はデータ・キャッシュ内に格納されている間に変更されておらず、デステージされたデータ単位が第二の区画内のデータ単位に対応するかどうかを判定し、該当する場合には、対応するデータ単位のアクセス活動値が第一の所定のしきい値より大きいかどうかを判定し、該当する場合には、デステージされたデータ単位を第一の区画内に格納することを特徴とする、上記(1)に記載のデータ処理システム。
(9)データ単位のそれぞれが1つの論理トラックで構成され、前記データ処理装置と前記ディスク・マネージャとの間に挿入されたデータ・キャッシュと、前記ディスク・データ記憶サブシステムに書き込まれる前に前記データ・キャッシュからデステージされたデータを格納するための書込みバッファとをさらに含み、前記書込みバッファが1つのセグメントのサイズを超えるサイズを有し、前記ディスク・マネージャが、少なくとも論理トラック番号順に前記データ単位を順序づけるために前記デステージされたデータ単位を前記書込みバッファに分類するための手段を含むことを特徴とする、上記(1)に記載のデータ処理システム。
(10)前記ディスク・マネージャが、第一の区画内の占有セグメントとクリア・セグメントを示すセグメント・レコードを保管するための手段をさらに含み、このセグメント・レコードが、各占有セグメントごとに、そのセグメントの構成要素である有効データ単位のそれぞれのアクセス活動値の組合せを表す組合せ値と、そのセグメントの構成要素である有効データ単位の数を表す占有値とを含み、ディスクがアイドル状態であるという条件に応じて、活動区画のどのセグメントが第一の所定のしきい値より小さい最小組合せアクセス活動値(最小活動セグメント)を有するかを判定し、最小活動セグメントの有効データ単位のうち、第一の所定のしきい値より大きいアクセス活動値を有する有効データ単位があれば、それを第一のバッファに格納し、最小活動セグメントの有効データ単位のうち、第一の所定のしきい値より小さいアクセス活動値を有する有効データ単位があれば、それを第二のバッファに格納するための手段をさらに含み、最小活動セグメントが第一の所定のしきい値より大きい組合せ値を有する場合には、最小活動セグメントの占有値が第二の所定のしきい値より小さいかどうかをまず判定し、該当する場合には、突き止められたセグメントの有効データ単位のうち、第一の所定のしきい値より大きいアクセス活動値を有する有効データ単位があれば、それを収集して(読み取って)第一のバッファに格納し、突き止められたセグメントの有効データ単位のうち、第一の所定のしきい値より小さいアクセス活動値を有する有効データ単位があれば、それを第二のバッファに格納することを特徴とする、上記(1)に記載のデータ処理システム。
(11)データ処理装置とディスク・データ記憶サブシステムとを含むデータ処理システムにおいて、前記データ処理装置から前記ディスク・データ記憶サブシステムへのアクセスを制御するために前記ディスク・データ記憶サブシステムに結合されたディスク・マネージャであって、格納されるときにそれぞれが第一の所定のしきい値を超えるアクセス活動値を有する複数の活動データ単位で構成されたセグメントを格納するためにログ構造ファイル・システムとして操作される第一の区画を有するように前記ディスク・データ記憶サブシステムを管理し、格納されるときにそれぞれが第一の所定のしきい値より小さいアクセス活動値を有する複数の非活動データ単位で構成されたセグメントを格納するために第二の区画を有するように前記ディスク・データ記憶サブシステムをさらに管理するディスク・マネージャを含み、第二の区画がログ構造ファイル・システム以外のものとして操作されることを特徴とする、データ処理システム。
(12)すべての活動データ単位とすべての非活動データ単位に対し、第二の区画内の記憶位置が1つずつ割り当てられることを特徴とする、上記(11)に記載のデータ処理システム。
(13)前記ディスク・マネージャが、前記第一の区画からではなく、前記第二の区画からデータ単位にアクセスするために、前記データ処理装置によって生成された信号に応答することを特徴とする、上記(11)に記載のデータ処理システム。
(14)更新済みデータ単位を第二の区画内の別の位置に再書込みせずに、前記データ単位の更新とサイズ拡大を可能にする未使用記憶位置を含めるために、前記非活動データ単位が前記第二の区画内に格納されることを特徴とする、上記(11)に記載のデータ処理システム。
(15)データ処理装置と、ディスク・データ記憶サブシステムと、ディスク・マネージャとを含むデータ処理サブシステムを操作する方法において、ディスク・データ記憶システムを、第一の区画と第二の区画を含む複数の区画に区分するステップと、格納されるときにそれぞれが第一の所定のしきい値を超えるアクセス活動値を有する複数の活動データ単位で構成されたセグメントを格納するためにログ構造ファイル・システムとして少なくとも前記第一の区画を管理するステップと、格納されるときにそれぞれが第一の所定のしきい値より小さいアクセス活動値を有する複数の非活動データ単位で構成されたセグメントを第二の区画内に格納するステップとを含む方法。
(16)第一の区画内に格納されるセグメントが少なくとも1枚のディスクの少なくとも一方の表面上の物理的に隣接するトラックに格納され、物理的に隣接するトラックが最初のトラックから始まり、最初のトラックが表面上のすべてのトラックのほぼ中央に位置し、物理的に隣接する残りのトラックが最初のトラックの両側に配列されることを特徴とする、上記(15)に記載の方法。
(17)第一の区画内の占有セグメントとクリア・セグメントを示すセグメント・レコードを保管するステップであって、このセグメント・レコードが、各占有セグメントごとに、そのセグメントの構成要素である有効データ単位のそれぞれのアクセス活動値の組合せを表す組合せ値を含み、そのセグメントの構成要素である有効データ単位の数を表す占有値をさらに含むステップと、クリア・セグメントの数が所定の値より小さいという条件に応答するステップと、第一の区画の占有セグメントにアクセスして第一の所定のしきい値より小さい合計値を有するセグメントを突き止めるステップと、突き止められたセグメントの有効データ単位のうち、第一の所定のしきい値より大きいアクセス活動値を有する有効データ単位があれば、それを第一のバッファに格納するステップと、突き止められたセグメントの有効データ単位のうち、第一の所定のしきい値より小さいアクセス活動値を有する有効データ単位があれば、それを第二のバッファに格納するステップと、占有セグメントのすべてが、第一の所定のしきい値より大きい組合せ値を有すると判別されたという条件に応答するステップと、第一の区画の占有セグメントにアクセスして第二の所定のしきい値より小さい占有値を有するセグメントを突き止めるステップと、突き止められたセグメントの有効データ単位のうち、第一の所定のしきい値より大きいアクセス活動値を有する有効データ単位があれば、それを第一のバッファに格納するステップと、突き止められたセグメントの有効データ単位のうち、第一の所定のしきい値より小さいアクセス活動値を有する有効データ単位があれば、それを第二のバッファに格納するステップとをさらに含むことを特徴とする、上記(15)に記載の方法。
(18)第一のバッファからのデータ単位を第一の区画に書き込むステップと、第二のバッファからのデータ単位を第二の区画に書き込むステップとをさらに含むことを特徴とする、上記(17)に記載の方法。
(19)アクセスされない各データ単位ごとに活動アクセス値を定期的に減少させるステップをさらに含むことを特徴とする、上記(15)に記載の方法。
(20)データ処理装置とディスク・マネージャとの間に挿入されたデータ・キャッシュをさらに含み、データ・キャッシュからのデータ単位のデステージに応答し、デステージされたデータ単位はデータ・キャッシュ内に格納されている間に変更されておらず、デステージされたデータ単位が第二の区画内のデータ単位に対応するかどうかを判定し、該当する場合には、対応するデータ単位のアクセス活動値が第一の所定のしきい値より大きいかどうかを判定し、該当する場合には、デステージされたデータ単位を第一の区画内に格納するステップを実行することを特徴とする、上記(15)に記載の方法。
(21)データ単位のそれぞれが1つの論理トラックで構成され、データ処理装置とディスク・マネージャとの間に挿入されたデータ・キャッシュと、ディスク・データ記憶サブシステムに書き込まれる前にデータ・キャッシュからデステージされたデータを格納するための書込みバッファとをさらに含み、前記書込みバッファが1つのセグメントのサイズを超えるサイズを有し、少なくとも論理トラック番号順に前記データ単位を順序づけるためにデステージされたデータ単位を書込みバッファに分類するステップをさらに含むことを特徴とする、上記(15)に記載の方法。
(22)第一の区画内の占有セグメントとクリア・セグメントを示すセグメント・レコードを保管するステップであって、このセグメント・レコードが、各占有セグメントごとに、そのセグメントの構成要素である有効データ単位のそれぞれのアクセス活動値の組合せを表す組合せ値を含み、そのセグメントの構成要素である有効データ単位の数を表す占有値をさらに含むステップとディスクがアイドル状態であると判定されたという条件に応答するステップと、最小活動セグメントが第一の所定のしきい値より小さい組合せ値を有するかどうかを判定するステップと、該当する場合には、収集されたセグメントの有効データ単位のうち、第一の所定のしきい値より大きいアクセス活動値を有する有効データ単位があれば、それをディスクから読み取って第一のバッファに格納するステップと、アイドル・セグメントの有効データ単位のうち、第一の所定のしきい値より小さいアクセス活動値を有する有効データ単位があれば、それをディスクから読み取って第二のバッファに格納するステップと、第一の所定のしきい値より小さい組合せ値を有していない最小活動セグメントに応答するステップと、最小活動セグメントが第二の所定のしきい値より小さい占有値を有するかどうかを判定するステップと、該当する場合には、収集されたセグメントの有効データ単位のうち、第一の所定のしきい値より大きいアクセス活動値を有する有効データ単位があれば、それをディスクから読み取って第一のバッファに格納するステップと、収集されたセグメントの有効データ単位のうち、第一の所定のしきい値より小さいアクセス活動値を有する有効データ単位があれば、それをディスクから読み取って第二のバッファに格納するステップとをさらに含むことを特徴とする、上記(15)に記載の方法。
(23)第二の区画がログ構造ファイル・システム以外のものとして操作され、すべての活動データ単位とすべての非活動データ単位に対し、第二の区画内の記憶位置が1つずつ割り当てられることを特徴とする、上記(15)に記載の方法。
(24)第二の区画がログ構造ファイル・システム以外のものとして操作され、データ処理装置によって生成されたメッセージに応じて、前記第一の区画からではなく、前記第二の区画からデータ単位にアクセスすることを特徴とする、上記(15)に記載の方法。
(25)第二の区画がログ構造ファイル・システム以外のものとして操作され、更新済みデータ単位を第二の区画内の別の位置に再書込みせずに、データ単位の更新とサイズ拡大を可能にする未使用記憶位置を含めるために、非活動データ単位が第二の区画内に格納されることを特徴とする、上記(15)に記載の方法。
【0075】
【発明の効果】本発明の実施により、(1)大量記憶装置で使用するための改良されたLSFS、(2)RAID大量記憶システムを備えた改良されたLSFS、(3)最大パフォーマンスが得られるように管理されている活動区画と、最大記憶容量が得られるように管理されている非活動区画とを含む、複数の区画を有するような、RAID3またはRAID5大量記憶システムを備えた改良されたLSFS、および(4)LSFSとして管理されている活動区画と、アクセス方式が把握している物理的なデータ位置で管理されている非活動区画とを含む、複数の区画を有するような、RAIDタイプの大量記憶システムを備えた改良されたLSFSを提供することができる。
【図面の簡単な説明】
【図1】本発明により構築および操作されるデータ処理システムを示すブロック図である。
【図2】ディスクの一部を示し、本発明のLSFS管理システムの特徴であるトラック構成を示す図である。
【図3】本発明の特徴である不要部分の整理方法を示す論理流れ図である(図で「トラック」と言う場合、「セグメント」を意味するものと解釈してもよい)。
【図4】クリーン・キャッシュ項目のデステージが行われた場合に活動区画にデータを追加する方法を示す論理流れ図である。
【図5】2区画純粋LSFS技法と現場更新機能を有するLSFSの装置使用率を示すグラフである。
【図6】2区画LSFSアレイ装置のトラック占有を示すグラフである。
【図7】セグメント占有/活動テーブルのフォーマットを示す図である。
【図8】論理物理トラック・ディレクトリのフォーマットを示す図である。
【図9】RAID記憶システムのN枚のディスクに書き込まれたセグメントを示し、さらに1枚のディスク内の単一セグメント列のセクタを示す図である。
【符号の説明】
10 データ処理システム
12 データ処理装置
12b データ経路
14 ディスク・データ記憶システム
14a 第一のディスク装置
14b 第二のディスク装置
15a 第一のデータ記憶面
15b 第二のデータ記憶面
16 LSFSディスク制御装置またはマネージャ
16a メモリ
16b キャッシュ・メモリ
18 ディスク・デバイス・ドライバ
18a バス
20 活動区画書込みバッファ
21 ガーベージコレクション(GC)読取りバッファ
22 非活動区画書込みバッファ
24 活動パラメータしきい値(APT)レジスタ
26 占有パラメータしきい値(OPT)レジスタ
28 活動区画データ構造を格納するバッファ
30 非活動区画データ構造を格納するバッファ

【特許請求の範囲】
【請求項1】データ処理装置とディスク・データ記憶サブシステムとを含むデータ処理システムにおいて、前記データ処理装置から前記ディスク・データ記憶サブシステムへのアクセスを制御するために前記ディスク・データ記憶サブシステムに結合されたディスク・マネージャであって、格納されるときにそれぞれが第一の所定のしきい値を超えるアクセス活動値を有する複数の活動データ単位で構成されたセグメントを格納するための第一の区画と、格納されるときにそれぞれが第一の所定のしきい値より小さいアクセス活動値を有する複数の非活動データ単位で構成されたセグメントを格納するための第二の区画とを有するログ構造ファイル・システムとして前記ディスク・データ記憶サブシステムを管理するディスク・マネージャを含む、データ処理システム。
【請求項2】第一の区画内に格納されるセグメントが少なくとも1枚のディスクの少なくとも一方の表面上の物理的に隣接するトラックに格納され、物理的に隣接するトラックが最初のトラックから始まり、最初のトラックが表面上のすべてのトラックのほぼ中央に位置し、物理的に隣接する残りのトラックが最初のトラックの両側に配列されることを特徴とする、請求項1に記載のデータ処理システム。
【請求項3】前記ディスク・マネージャが、第一の区画内の占有セグメントとクリア・セグメントを示すセグメント・レコードを保管するための手段をさらに含み、このセグメント・レコードが、各占有セグメントごとに、そのセグメントの構成要素である有効データ単位のそれぞれのアクセス活動値の合計または平均値である組合せを表す合計値を含み、クリア・セグメントの数が所定の値より小さいという条件に応じて、第一の区画の占有セグメントにアクセスして第一の所定のしきい値より小さい組合せ値を有するセグメントを突き止め、突き止められたセグメントの有効データ単位のうち、第一の所定のしきい値より大きいアクセス活動値を有する有効データ単位があれば、それを第一のバッファに格納し、突き止められたセグメントの有効データ単位のうち、第一の所定のしきい値より小さいアクセス活動値を有する有効データ単位があれば、それを第二のバッファに格納するための手段をさらに含むことを特徴とする、請求項1に記載のデータ処理システム。
【請求項4】セグメント・レコードが、各占有セグメントごとに、そのセグメントの構成要素である有効データ単位の数を表す占有値をさらに含み、前記ディスク・マネージャが、第一の区画の占有セグメントにアクセスして第二の所定のしきい値より小さい占有値を有するセグメントを突き止め、突き止められたセグメントの有効データ単位のうち、第一の所定のしきい値より大きいアクセス活動値を有する有効データ単位があれば、それを第一のバッファに格納し、突き止められたセグメントの有効データ単位のうち、第一の所定のしきい値より小さいアクセス活動値を有する有効データ単位があれば、それを第二のバッファに格納するため、すべての占有セグメントが第一の所定のしきい値より大きい組合せ値を有するという条件に応答することを特徴とする、請求項3に記載のデータ処理システム。
【請求項5】前記ディスク・マネージャが、第一のバッファからのデータ単位を第一の区画に書き込み、第二のバッファからのデータ単位を第二の区画に書き込むための手段をさらに含むことを特徴とする、請求項4に記載のデータ処理システム。
【請求項6】データ単位のそれぞれが、論理トラック1つ分の圧縮データで構成されることを特徴とする、請求項4に記載のデータ処理システム。
【請求項7】前記ディスク・マネージャが、アクセスされない各データ単位ごとに活動アクセス値を定期的に減少させるための手段を含むことを特徴とする、請求項1に記載のデータ処理システム。
【請求項8】前記データ処理装置と前記ディスク・マネージャとの間に挿入されたデータ・キャッシュをさらに含み、前記ディスク・マネージャが前記データ・キャッシュからのデータ単位のデステージに応答し、デステージされたデータ単位はデータ・キャッシュ内に格納されている間に変更されておらず、デステージされたデータ単位が第二の区画内のデータ単位に対応するかどうかを判定し、該当する場合には、対応するデータ単位のアクセス活動値が第一の所定のしきい値より大きいかどうかを判定し、該当する場合には、デステージされたデータ単位を第一の区画内に格納することを特徴とする、請求項1に記載のデータ処理システム。
【請求項9】データ単位のそれぞれが1つの論理トラックで構成され、前記データ処理装置と前記ディスク・マネージャとの間に挿入されたデータ・キャッシュと、前記ディスク・データ記憶サブシステムに書き込まれる前に前記データ・キャッシュからデステージされたデータを格納するための書込みバッファとをさらに含み、前記書込みバッファが1つのセグメントのサイズを超えるサイズを有し、前記ディスク・マネージャが、少なくとも論理トラック番号順に前記データ単位を順序づけるために前記デステージされたデータ単位を前記書込みバッファに分類するための手段を含むことを特徴とする、請求項1に記載のデータ処理システム。
【請求項10】前記ディスク・マネージャが、第一の区画内の占有セグメントとクリア・セグメントを示すセグメント・レコードを保管するための手段をさらに含み、このセグメント・レコードが、各占有セグメントごとに、そのセグメントの構成要素である有効データ単位のそれぞれのアクセス活動値の組合せを表す組合せ値と、そのセグメントの構成要素である有効データ単位の数を表す占有値とを含み、ディスクがアイドル状態であるという条件に応じて、活動区画のどのセグメントが第一の所定のしきい値より小さい最小組合せアクセス活動値(最小活動セグメント)を有するかを判定し、最小活動セグメントの有効データ単位のうち、第一の所定のしきい値より大きいアクセス活動値を有する有効データ単位があれば、それを第一のバッファに格納し、最小活動セグメントの有効データ単位のうち、第一の所定のしきい値より小さいアクセス活動値を有する有効データ単位があれば、それを第二のバッファに格納するための手段をさらに含み、最小活動セグメントが第一の所定のしきい値より大きい組合せ値を有する場合には、最小活動セグメントの占有値が第二の所定のしきい値より小さいかどうかをまず判定し、該当する場合には、突き止められたセグメントの有効データ単位のうち、第一の所定のしきい値より大きいアクセス活動値を有する有効データ単位があれば、それを収集して(読み取って)第一のバッファに格納し、突き止められたセグメントの有効データ単位のうち、第一の所定のしきい値より小さいアクセス活動値を有する有効データ単位があれば、それを第二のバッファに格納することを特徴とする、請求項1に記載のデータ処理システム。
【請求項11】データ処理装置とディスク・データ記憶サブシステムとを含むデータ処理システムにおいて、前記データ処理装置から前記ディスク・データ記憶サブシステムへのアクセスを制御するために前記ディスク・データ記憶サブシステムに結合されたディスク・マネージャであって、格納されるときにそれぞれが第一の所定のしきい値を超えるアクセス活動値を有する複数の活動データ単位で構成されたセグメントを格納するためにログ構造ファイル・システムとして操作される第一の区画を有するように前記ディスク・データ記憶サブシステムを管理し、格納されるときにそれぞれが第一の所定のしきい値より小さいアクセス活動値を有する複数の非活動データ単位で構成されたセグメントを格納するために第二の区画を有するように前記ディスク・データ記憶サブシステムをさらに管理するディスク・マネージャを含み、第二の区画がログ構造ファイル・システム以外のものとして操作されることを特徴とする、データ処理システム。
【請求項12】すべての活動データ単位とすべての非活動データ単位に対し、第二の区画内の記憶位置が1つずつ割り当てられることを特徴とする、請求項11に記載のデータ処理システム。
【請求項13】前記ディスク・マネージャが、前記第一の区画からではなく、前記第二の区画からデータ単位にアクセスするために、前記データ処理装置によって生成された信号に応答することを特徴とする、請求項11に記載のデータ処理システム。
【請求項14】更新済みデータ単位を第二の区画内の別の位置に再書込みせずに、前記データ単位の更新とサイズ拡大を可能にする未使用記憶位置を含めるために、前記非活動データ単位が前記第二の区画内に格納されることを特徴とする、請求項11に記載のデータ処理システム。
【請求項15】データ処理装置と、ディスク・データ記憶サブシステムと、ディスク・マネージャとを含むデータ処理サブシステムを操作する方法において、ディスク・データ記憶システムを、第一の区画と第二の区画を含む複数の区画に区分するステップと、格納されるときにそれぞれが第一の所定のしきい値を超えるアクセス活動値を有する複数の活動データ単位で構成されたセグメントを格納するためにログ構造ファイル・システムとして少なくとも前記第一の区画を管理するステップと、格納されるときにそれぞれが第一の所定のしきい値より小さいアクセス活動値を有する複数の非活動データ単位で構成されたセグメントを第二の区画内に格納するステップとを含む方法。
【請求項16】第一の区画内に格納されるセグメントが少なくとも1枚のディスクの少なくとも一方の表面上の物理的に隣接するトラックに格納され、物理的に隣接するトラックが最初のトラックから始まり、最初のトラックが表面上のすべてのトラックのほぼ中央に位置し、物理的に隣接する残りのトラックが最初のトラックの両側に配列されることを特徴とする、請求項15に記載の方法。
【請求項17】第一の区画内の占有セグメントとクリア・セグメントを示すセグメント・レコードを保管するステップであって、このセグメント・レコードが、各占有セグメントごとに、そのセグメントの構成要素である有効データ単位のそれぞれのアクセス活動値の組合せを表す組合せ値を含み、そのセグメントの構成要素である有効データ単位の数を表す占有値をさらに含むステップと、クリア・セグメントの数が所定の値より小さいという条件に応答するステップと、第一の区画の占有セグメントにアクセスして第一の所定のしきい値より小さい合計値を有するセグメントを突き止めるステップと、突き止められたセグメントの有効データ単位のうち、第一の所定のしきい値より大きいアクセス活動値を有する有効データ単位があれば、それを第一のバッファに格納するステップと、突き止められたセグメントの有効データ単位のうち、第一の所定のしきい値より小さいアクセス活動値を有する有効データ単位があれば、それを第二のバッファに格納するステップと、占有セグメントのすべてが、第一の所定のしきい値より大きい組合せ値を有すると判別されたという条件に応答するステップと、第一の区画の占有セグメントにアクセスして第二の所定のしきい値より小さい占有値を有するセグメントを突き止めるステップと、突き止められたセグメントの有効データ単位のうち、第一の所定のしきい値より大きいアクセス活動値を有する有効データ単位があれば、それを第一のバッファに格納するステップと、突き止められたセグメントの有効データ単位のうち、第一の所定のしきい値より小さいアクセス活動値を有する有効データ単位があれば、それを第二のバッファに格納するステップとをさらに含むことを特徴とする、請求項15に記載の方法。
【請求項18】第一のバッファからのデータ単位を第一の区画に書き込むステップと、第二のバッファからのデータ単位を第二の区画に書き込むステップとをさらに含むことを特徴とする、請求項17に記載の方法。
【請求項19】アクセスされない各データ単位ごとに活動アクセス値を定期的に減少させるステップをさらに含むことを特徴とする、請求項15に記載の方法。
【請求項20】データ処理装置とディスク・マネージャとの間に挿入されたデータ・キャッシュをさらに含み、データ・キャッシュからのデータ単位のデステージに応答し、デステージされたデータ単位はデータ・キャッシュ内に格納されている間に変更されておらず、デステージされたデータ単位が第二の区画内のデータ単位に対応するかどうかを判定し、該当する場合には、対応するデータ単位のアクセス活動値が第一の所定のしきい値より大きいかどうかを判定し、該当する場合には、デステージされたデータ単位を第一の区画内に格納するステップを実行することを特徴とする、請求項15に記載の方法。
【請求項21】データ単位のそれぞれが1つの論理トラックで構成され、データ処理装置とディスク・マネージャとの間に挿入されたデータ・キャッシュと、ディスク・データ記憶サブシステムに書き込まれる前にデータ・キャッシュからデステージされたデータを格納するための書込みバッファとをさらに含み、前記書込みバッファが1つのセグメントのサイズを超えるサイズを有し、少なくとも論理トラック番号順に前記データ単位を順序づけるためにデステージされたデータ単位を書込みバッファに分類するステップをさらに含むことを特徴とする、請求項15に記載の方法。
【請求項22】第一の区画内の占有セグメントとクリア・セグメントを示すセグメント・レコードを保管するステップであって、このセグメント・レコードが、各占有セグメントごとに、そのセグメントの構成要素である有効データ単位のそれぞれのアクセス活動値の組合せを表す組合せ値を含み、そのセグメントの構成要素である有効データ単位の数を表す占有値をさらに含むステップとディスクがアイドル状態であると判定されたという条件に応答するステップと、最小活動セグメントが第一の所定のしきい値より小さい組合せ値を有するかどうかを判定するステップと、該当する場合には、収集されたセグメントの有効データ単位のうち、第一の所定のしきい値より大きいアクセス活動値を有する有効データ単位があれば、それをディスクから読み取って第一のバッファに格納するステップと、アイドル・セグメントの有効データ単位のうち、第一の所定のしきい値より小さいアクセス活動値を有する有効データ単位があれば、それをディスクから読み取って第二のバッファに格納するステップと、第一の所定のしきい値より小さい組合せ値を有していない最小活動セグメントに応答するステップと、最小活動セグメントが第二の所定のしきい値より小さい占有値を有するかどうかを判定するステップと、該当する場合には、収集されたセグメントの有効データ単位のうち、第一の所定のしきい値より大きいアクセス活動値を有する有効データ単位があれば、それをディスクから読み取って第一のバッファに格納するステップと、収集されたセグメントの有効データ単位のうち、第一の所定のしきい値より小さいアクセス活動値を有する有効データ単位があれば、それをディスクから読み取って第二のバッファに格納するステップとをさらに含むことを特徴とする、請求項15に記載の方法。
【請求項23】第二の区画がログ構造ファイル・システム以外のものとして操作され、すべての活動データ単位とすべての非活動データ単位に対し、第二の区画内の記憶位置が1つずつ割り当てられることを特徴とする、請求項15に記載の方法。
【請求項24】第二の区画がログ構造ファイル・システム以外のものとして操作され、データ処理装置によって生成されたメッセージに応じて、前記第一の区画からではなく、前記第二の区画からデータ単位にアクセスすることを特徴とする、請求項15に記載の方法。
【請求項25】第二の区画がログ構造ファイル・システム以外のものとして操作され、更新済みデータ単位を第二の区画内の別の位置に再書込みせずに、データ単位の更新とサイズ拡大を可能にする未使用記憶位置を含めるために、非活動データ単位が第二の区画内に格納されることを特徴とする、請求項15に記載の方法。

【図1】
image rotate


【図2】
image rotate


【図3】
image rotate


【図8】
image rotate


【図4】
image rotate


【図5】
image rotate


【図6】
image rotate


【図7】
image rotate


【図9】
image rotate