JPH06100986B2 - 記憶装置管理装置及び方法 - Google Patents

記憶装置管理装置及び方法

Info

Publication number
JPH06100986B2
JPH06100986B2 JP1123042A JP12304289A JPH06100986B2 JP H06100986 B2 JPH06100986 B2 JP H06100986B2 JP 1123042 A JP1123042 A JP 1123042A JP 12304289 A JP12304289 A JP 12304289A JP H06100986 B2 JPH06100986 B2 JP H06100986B2
Authority
JP
Japan
Prior art keywords
predetermined
counter
access
state
access request
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
JP1123042A
Other languages
English (en)
Other versions
JPH0247746A (ja
Inventor
ハロルド・スチュワート・ストーン
ジヨエル・レオナード・ウルフ
Original Assignee
インタ‐ナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
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 インタ‐ナシヨナル・ビジネス・マシーンズ・コーポレーシヨン filed Critical インタ‐ナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
Publication of JPH0247746A publication Critical patent/JPH0247746A/ja
Publication of JPH06100986B2 publication Critical patent/JPH06100986B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/885Monitoring specific for caches
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 A.産業上の利用分野 本発明は、ディスク制御装置の分野に属し、具体的には
参照された個々のディスク・セクタの数を時間の関数と
して計算することを対象とする。
B.従来技術 キャッシュ式ディスク制御装置は、そのキャッシュ・メ
モリを最適の性能が得られるように適切に管理しなけれ
ばならない。物理ディスクにアクセスする必要から生じ
る非常に大きな不利益を避けるため、活動データをでき
るだけ多くキャッシュ中に確保しておくことが、その目
的である。ディスク制御装置を対象とする特許が多数あ
るが、それぞれいくつかの利点と欠点を有する。
米国特許第4101969号明細書は、セクタ・パルスを監視
する手段を備えた2次記憶機構を対象としている。上記
特許によって解決される問題は、1個の応答子をもつバ
ス・トランザクッションに対する複数の応答子の検出で
ある。データを読み取るためにあるディスクを選択した
とき、ディスクは、まずヘッドを選択したトラックに移
動し、次いで、選択したセクタが回転してヘッド下方の
位置にくるのを待つ。セクタがヘッドに達すると、読取
りヘッドの下方を通過する情報がフィルタされ、整形さ
れてパルスになり、それがバスを介してホスト・コンピ
ュータへ報告される。2個以上のディスクが1個のデー
タ読取りコマンドに応答するときに、問題が生じる。こ
れは決して起こってはならないことであるが、装置が故
障した場合、あるいはバス上の雑音のための複数のディ
スクが選ばれた場合には、起こることがあり得る。上記
特許は、2台以上の駆動装置がトランザクッションに応
答してバスを介してパルスを報告しようと試みるのを監
視してこの状態を検出する機構を記憶している。1つの
ディスクまたはディスクの集まりに対する参照のアクテ
ィビティを記録することに関する教示はない。
米国特許第3577185号明細書は、記憶階層の制御及び測
定における置換アルゴリズムの効率を測定するオンライ
ン・システムを対象としている。この特許では、障害、
すなわち階層の高速メモリ内にないデータ・ブロックに
対する参照だけを判定する。上記特許では、測定期間中
に実際に使用した制御アルゴリズムではなく最適の制御
アルゴリズムを使用してもやはり起こったはずのどんな
障害が発生したかを決定すいる。最適の制御アルゴリズ
ムは、将来に関する完全な知識を必要とし、したがって
原理上実現不可能である。上記の発明は、実現可能なア
ルゴリズムが理論上の最適形にどれだけ近づけるかを決
定するのに必要な情報を提供する。この方法では、障害
の数及び障害の発生する率だけを記録する、障害がいつ
起こるかは重要ではなく、したがって記録されない。情
報は、置換アルゴリズムを評価するために使用され、性
能分析のため専用であると想定される。ディスクへのア
クセスのアクティビティの測定に関する示唆はない。
米国特許第4542452号明細書は、いわゆるファイル割当
て問題を解く試みを対象としている。換言すると、これ
はファイルを最適な形で装置(たとえば直接アクセス記
憶装置)上に配置しようとする試みたものである。最大
許容アクセス速度及び最大許容利用率が各装置ごとに既
知であるものと仮定されている。これらの数値を決める
方法は、示されていない。上記発明の最も簡単なバージ
ョンでは、ファイルをアクセス速度の頻度別に配列し直
し、装置を処理速度(すなわち、推定名目応答時間)別
に配列し直す。始めのn−1個(n=1という最初のケ
ースを含めて)のファイルがアルゴリズムによって装置
に割り当てられる。次いで、貧欲なアルゴリズムが、n
番目のファイル用に、アクセス速度及び利用度の制約に
反しない装置のうちから、できるだけ高速の装置を選び
出す。次いで、制約方程式が更新され、n+1番目のフ
ァイルで処理が続行する。このアルゴリズムに対する機
能拡張は、装置故障率やファイル形式別の応答時間優先
順位など、追加の制約をもつ。
米国特許第442936号明細書は、キャッシュの動的操作を
助けるものである。これは、キャッシュ・ミス、書込み
操作、及び最後に参照されたトラック(LTR)に関する
ある種の状況情報を監視することを探索している。次い
で、この情報を使って、直接アクセス記憶装置の記録を
いつキャッシュに入れるか、また時には、直接アクセス
記憶装置の記録をいつキャッシュからはずすかを決定す
る助けとする。簡単な例を挙げると、一連の要求中にト
ラックへの書込みがない場合、最後に参照されたトラッ
クの内容がキャッシュに入れられる。書込みがある場
合、最後に参照されたトラックの内容はキャッシュに入
れられない。読取りの際のキャッシュ・ミス率を減少さ
せるために、ある種のキャッシュ転送が禁止される。同
様な目的のために、さらに一連のキャッシュに入れるま
たはキャッシュからはずす決定が行なわれる。
C.発明が解決しようとする問題点 本発明の目的は、ディスク上の参照されたセクタ数を時
間の関数またはアクセス数の関数として計算し、これに
基づいてそのときのディスクに対する作業負荷に見合っ
たディスク管理方法を選定する装置及び方法を提供する
にある。
本発明の他の目的は、一連のディスク・アクセスのフッ
トプリント関数を計算し、これに基づき最適のディスク
管理方法を選択する装置及び方法を提供するにある。
D.問題点を解決するための手段 本発明によれば、ディスク制御装置は参照された個々の
セクタ数をアクセス数の関数としてまたは時間の関数と
して計算する、この計算結果はディスク・キャッシュを
最適化するためにキャッシュ管理アルゴリズムで使用さ
れる。参照された個々のセクタの数は、アクセス数の関
数として、または時間(実時間または仮想時間)の関数
としてディスク制御装置内の機構で計算される。これを
「フットプリント」関数と呼び、これはキャッシュ性能
を最適化するためのアルゴリズムに対する入力としてデ
ィスク制御装置で使用される。これにより、キャッシュ
管理アルゴリズムは、そのときの作業に見合ったディス
ク管理方法を選ぶことができる。
E.実施例 本発明は、ディスク・セクタへのアクセスを記録するこ
とにより、フットプリント関数を計算する機構からな
る。本発明では、ディスク・セクタとは、ディスク・シ
ステムにおける情報アクセスの基本単位(区画)であ
る。ディスク・システムの読み書きの度に、ディスク記
憶空間でセクタが指定される。書込み操作では、セクタ
を充填すべき情報がディスク記憶域に流れ、読取り操作
では、セクタに記憶された情報がディスク域から流れて
くる。ディスク記憶システムによっては、それぞれ多数
のセクタから構成される、シリンダやトラックと呼ばれ
るより大きな領域が、個々の操作によって読み書きでき
る。本発明の説明では、セクタ、クラスタ、シリンダ、
トラック、その他のディスク記録空間の単位を区別しな
いことにする。フットプリント関数は、任意の記憶域単
位で定義することができ、フットプリントの計算は、複
合区域へのアクセスをその複合区域内に含まれるより小
さな区域への一組の順次アクセスとして扱うだけで。様
々な記憶域単位に対する混合アクセスをサポートするシ
ステムに直接一般化することができる。
本発明によって作成されるフットプリント関数は、フッ
トプリント関数を時間の関数として指定する形状数の対
(時間i、サイズi)の数列である。フットプリントの
サイズとは、時間0以降にアクセスした個々のセクタの
数である。
記憶管理にとって最大の利益を得るには、記憶システム
全体に対するすべてのアクセスの集合体の挙動を記述す
るフットプリント関数とは全く別に、個々のデータ・セ
ットへのアクセス、または特定の処理によってもたらさ
れるアクセスに対するフットプリント関数を決定する必
要がある。したがって、本発明は参照ストリームから特
定のものを処理すべく選択するために、アクセス要求を
フィルタする手段を提供する。選択されなかった参照
は、フットプリントの計算には関与しない。
フットプリント関数は時間の関数として定義されるが、
ディスクへのアクセス合計数の関数として扱うことも可
能である。ディスク・アクセスが一様の率で行なわれる
場合には、この2つの形のフットプリントの測定で、ス
ケール・ファクタだけが異なる結果が得られる。時間を
基準にとると、本発明はX軸情報えお供給する実時間ク
ロックを必要とする。アクセス・カウントを基準として
使用する場合、本発明はアキュムレータが累積アクセス
をカウントすることを必要とする。以下では、フットプ
リント関数が時間の関数として生成されると仮定する
が、時間または合計カウントあるいはその両方がどれも
容易に生成できることに留意されたい。
本発明の概要を、第1図に示す。この図は、フットプリ
ントを計算する装置がアドレスのストリームを入力の1
つとして受け取り、その出力側でアドレス・ストリーム
のフットプリントを作成することを示している。この図
は、ディスク・キャッシュを管理する装置が使用する出
力を示す。これは、フットプリント・データの1つの可
能な使用法である。この図は、制御情報の入力をも示
す。モジュールを最初に始動させる際にそれをリセット
するのに制御情報が必要であり、任意選択で、モジュー
ルがフットプリント・データを集める際にその挙動を支
配する他の制御機能を含むこともできる。
第2図は、フットプリント・モジュールの内部構造を示
す。この図では、モジュールを、通常のマイクロプロセ
ッサ技術を用いて作成されたものとして記載している
が、通常の形の制御装置、メモリ、演算装置を有するど
の実施態様を用いてもよく、本明細書ではこれ以上詳し
くは述べない。論理ブロック2及び3は、データをディ
スク・システム中で外部モジュールと交換するための、
フットプリント・プロセッサ1の入力バッファと出力バ
ッファである。アドレス・ストリームは、入力バッファ
2を通過し、フットプリント関数の計算は出力バッファ
3に渡され、そこから他のモジュールに報告される。
論理ブロック4は、フットプリント関数の記録専用のメ
モリである。これは、通常のランダム・アクセス・コン
ピュータ・メモリとして実現することができる。アドレ
ス・ストリーム内に含まれるフットプリント情報を記録
するのに必要な情報を保持するのに充分な空間をプロセ
ッサ・メモリ・システム内で専用に使用する場合、フッ
トプリント・メモリ4は、フットプリント・プロセッサ
1内に含まれるメモリとは別のメモリである必要がな
い。
論理ブロック5は、情報を使ってアドレスのフィルタリ
ングを制御するフィルタ制御装置である。フットプリン
ト・プロセッサ1は、アドレスのサブセットを調べ、そ
のアドレスのサブセットに対するフットプリント、なら
びにアドレス・ストリーム全体に対するフットプリント
を計算することができる。この計算の目的は、アドレス
・ストリームの各主要構成要素の挙動の個別の特徴付け
が行なえるようにすることである。論理ブロック5は、
フットプリント・プロセッサ1がアドレス・ストリーム
をフィルタするのに使用する情報を記録する。これは通
常のコンピュータ・メモリでもよく、またフットプリン
ト・プロセッサ1のメモリ・システム内に組み込むこと
もできる。
論理ブロック6は、メモリを含み、アドレス・ストリー
ムに関連するクロック・カウンタを保持する。フットプ
リントは、仮想時間の関数として計算される。時間基準
は、論理ブロック6に記録される。時間は、次のいずれ
かの方式で維持できる。
1.実時間。この場合、論理ブロック内の実時間クロック
の各刻時ごとにクロック・カウンタが増分される。
2.アドレス・ストリーム参照カウント。この場合、全ア
ドレス・ストリーム中の各アドレスごとにカウンタが増
分される。
3.フィルタされたアドレス・ストリームの参照カウン
ト。この場合、全アドレス・ストリームに対するフィル
タ操作によって生成されるアドレスのサブセットにおけ
る各アドレスごとにカウンタが増分される。
クロック・カウンタ論理ブロック6は、計算中の各フッ
トプリント関数ごとに専用のカウンタを有する。このモ
ジュールは、多数のフットプリント関数を、現に活動中
の各アドレス・ストリーム・フィルタごとに1つずつ、
同時に記録することが可能である。この論理ブロック
は、通常のメモリとして実現できる。カウンタの値を増
加させるため、クロックがフットプリント・プロセッサ
1によって検索され、カウンタ・メモリで増分され復元
される。別法として、論理ブロック6を、論理ブロック
中にカウンタ論理機能を組み込んだカウンタの集合体と
して実現することもできる。このような実施態様のフッ
トプリント・プロセッサ1は、カウンタをリセットし、
増分し、任意の値をカウンタにロードし、カウンタの内
容を読み取る能力を備えていなければならない。
フットプリント・モジュールの基本動作を第3図に示
す。この図は、最高レベルの内部の制御流れを示す。こ
の図は、各アクセスがフットプリント計算装置に達する
とき、この装置が論理ブロック10中で、フットプリント
計算をこの時点で初期設定すべきかどうか決定すること
を示している。論理ブロック10の結果が初期設定を行な
わせる応答の場合には、論理ブロック20で、フットプリ
ント関数が初期設定される。論理ブロック20が必要でな
い場合には、それはスキップされる。どちらの場合で
も、次に論理ブロック30でアドレス・フィルタ動作が実
行される。各要求を解析して、その要求が特定の処理に
対するフットプリントの計算に関与するのか、それとも
その要求が無視できるのかを判定する。その要求が関与
する場合、論理ブロック40で、それを使ってフットプリ
ントを更新する。
論理ブロック50では、アクセスの履歴を解析して、アド
レス・フィルタを変更すべきかどうか判定する。本発明
では、このブロックで、それらがシステムにとって新し
いものであるため、その挙動が最近サンプリングされて
いないため、あるいはフットプリント関数の新たなサン
プリングを必要とする特徴的な処理の挙動に関する他の
何らかの理由から、さらに処理を解析する必要があるか
どうか決定する。そのような理由の1つは、処理挙動が
最近のアクセスで、過去に観察された挙動から変更され
ている可能性があることである。新しいプロセスに対す
るフットプリント関数を収集しなければならない場合、
アドレス・フィルタが変更される。
アドレス・フィルタの考えられるもう1つの変更は、あ
る処理がフットプリント解析から除去されることによる
ものである。それが起こるのは、一定数のアクセスが観
察された後、または他の何らかの類似の条件が事実とな
った後、解析の開始から一定の時間後である。
第4図ないし第9図は、第3図の論理ブロック10、20、
30、40、50の動作の拡大詳細図を示す。
第4図に、第3図の論理ブロック10の機能を詳しく示
す。フットプリント計算をいつ初期設定するかの決定
が、ブロック11、12、13、14で行なわれる。第4図に示
した各論理ブロックの目的は、現特性が長期平均特性か
ら、フットプリント収集の再初期設定が妥当となるのに
充分なほど、異なっているどうか判定することである。
たとえば、長期平均は、参照ストリームが1分間に10個
ないし20個の異なる処理識別子を含むことを示す。現履
歴は、最近の1分間に30個の異なる処理識別子が存在す
ることを示す。これは、ディスク・アクセスの特性が最
近に変化し、システムの現挙動を記述するために新しい
フットプリントを得るべきことを示唆している。
第4図の論理ブロック11で、ディスク・アクセス要求の
ストリームの1つまたは複数の特性の値を計算する。こ
こに示した例では、ブロック11は1分間当たりの異なる
処理識別子の数を計算し、短期平均と長期平均の両方な
らびに両者の差を生成する。両者の差は、ディスク・ア
クセス特性の定常性の推定値である。現アクセスが長期
平均と基本的に類似している場合には、アクセス要求は
時間が経過しても定常的であり、定常性推定値は小さ
い。現アクセスが長期平均とかなり異なる場合には、ア
クセス・ストリームが非定常的になり、定常性推定値は
大きな値をとってこのことを示す。論理ブロック12で、
定常性推定値をしきい値と比較する。推定値がしきい値
よりも大きい場合には、論理ブロック13で、初期設定が
必要だとの表示が生成され、第3図の論理ブロック20に
進む。推定値がしきい値よりも小さい場合には、論理ブ
ロック14で、正常脱出の表示が生成され、第3図の論理
ブロック30に進む。
第5図は、第3図の論理ブロック20を拡大して初期設定
処理を示す。論理ブロック21で、第4図の論理ブロック
13から初期設定が必要であるとの報告を受け取る。報告
に応答して、論理ブロック21で、全セクタ・ビットが0
にセットされる。これは、対応するセクタがアクセスさ
れていないことを示す。論理ブロック22で、指標iが0
にセットされる。この指標を使って、フットプリント内
でアクセスの合計数がカウントされる。指数がiからi
+1に変化するとき、フットプリント時間は時間iから
時間i+1に変わり、時間iの値に関連づけられ、フットプ
リント機構は、時間iまでにアクセスされたフットプリ
ント中の異なるセクタ数であるサイズiの値を捕捉す
る。
論理ブロック23で、クロックがリセットされ、フットプ
リントが実時間または仮想時間に基づき、かつアクセス
合計数によって測定できるようになる。論理ブロック24
で、フットプリント・カウントが0に初期設定される。
フットプリント・カウントとは、初期設定以降にアクセ
スされた独自セクタの数である。
フットプリント関数を、必ずしも時間の関数として測定
する必要はない。それをアクセス数の関数として測定す
ることも意味がある。その場合、アクセス・カウントを
フットプリント機構が維持しなければならない。アクセ
ス・カウントは、論理ブロック25でゼロに初期設定され
る。
第3図の論理ブロック30中のアドレス・フィルタ機構
を、第6図に示す。この図の各ブロックは、みな類似し
ている。たとえば論理ブロック31など典型的なブロック
では、アドレス・スーム中の次のアクセス要求を調べ
る。その要求があるフットプリント測定が特徴づけるい
くつかのテストを満足している場合、この処理から出
て、この要求を使ってフットプリント計算を更新する論
理ブロックに進む。
フィルタの1例として、特定のユーザの行なう全ディス
ク・アクセスのフットプリントを計算して、フィルタで
アクセス要求に関連するユーザIDを調べるようにするこ
とが望ましい。また、特定のファイルまたはデータベー
スへのアクセスのフットプリントを計算することも望ま
しい。この場合、フィルタは、各ディスク・アクセスを
より大きな何らかのデータ・オブジェクトと関連づけ、
特定のデータ・オブジェクトに対するアクセスを抽出す
る。
第6図は、各アクセスがせいぜい1個のフィルタに関与
するという状況を示す。たとえば、ある要求がフィルタ
1(属性テスト#1)ニよって除去される場合、この図
にはその要求をフィルタ2(属性テスト#2)に送る経
路は示されていない。本発明では、各属性テストが共通
要素をもたないことは不可欠でない。あるアクセスが複
数の属性テストを満足し、またあるアクセスがそのアク
セスによってフィルタ・テストが満足されるすべてのフ
ットプリント更新の成分となることも許容される。その
場合、第6図で、あるアクセスが特定のフィルタ・テス
ト、たとえば論理ブロック31を満足するとき、それが対
応するフットプリントを更新するのに使用され、追加の
テスト及び処理のために、次の論理ブロック、この場合
は論理ブロック32に戻される。
特定のフットプリントに対するあるアクセスの処理を、
第7図に示す。フットプリント・データをアクセス・カ
ウントの関数として収集する場合、ブロック41でアクセ
ス・カウントが更新される。フットプリント・データを
時間の関数として収集する場合には、この更新のための
適切な手段が第8図の説明で示してあり、第7図の論理
ブロック41は不要である。
第7図の説明を続けると、論理ブロック42で、アクセス
されたセクタのセクタ・ビットをテストして、それが新
しいアクセスかどうか判定する。そうでない場合には、
処理から出る。新しいアクセスである場合は、セクタ・
ビットが1にセットされて、後続のアクセスが新しいも
のでないことを示す。これは、論理ブロック43で行なわ
れる。ブロック44でフットプリント・カウンタが増分さ
れ、フットプリントの合計サイズが増大したことを示
す。
第7図に示した処理は、第6図に示した各フィルタごと
に行なわれる。セクタ・アクセスが複数のアクセス・フ
ィルタを満足する場合は、セクタは各フィルタに関連す
る異なるセクタ・ビットを有するはずであり、セクタ・
ビットを別々に初期設定すべきである。特定のフィルタ
に関連する全セクタ・ビットが同時に初期設定され、様
々なフィルタが異なる時に初期設定できる。
第8図は、フットプリントを時間の関数として捕捉する
方法を示す。この図は、たとえば周期的割込みの発生に
よって強制されるなど、周期的に発生する処理ステップ
を示す。論理ブロック45では、初期設定以降または最後
の臨界時間を経過して以降の経過時間を示す、クロック
・カウントが増分される。論理ブロック46で、カウンタ
をテストして、次の臨界時間に達したかどうか判定す
る。このブロックの目的は、フットプリント関数の完全
な詳細を生成するものではなく、フットプリント関数を
不連続な時点で抽出することである。その意図は、セー
ブすべきデータ数を減少させることにあるが、データを
減少させると、関数を選択可能な時間にわたって平均す
ることにより、データの統計的変動が滑らかになる傾向
がある。
クロック・カウントの現在値が臨界時間でない場合、論
理ブロック46で強制的に処理から出る。クロック・カウ
ントが臨界時間の場合は、論理ブロック47で、フットプ
リント・カウンタの現在値がサイズiの値として記憶さ
れる。論理ブロック49で、フットプリント関数を捕捉す
べき次の臨界時間の値が計算される。
フットプリント関数を時間の関数としてではなく、アク
セス数として捕捉する場合には、第8図をこの目的に合
わせて簡単に修正できる。論理ブロック46で、アクセス
・カウントをテストして、それが次の臨界アクセス・カ
ウントであるかどうか判定し、論理ブロック49で次の臨
界アクセス・カウントの値をセットする。この場合、論
理ブロック46、47、48、49に示した処理は、第7図の論
理ブロック41の処理の直後に完了する。
ただし、その処理は、ブロック割込みの存在によってで
なく、アクセスの存在によってトリガされる。
以上説明したフットプリント機構は、アクセス・ストリ
ーム上の当該フィルタによって決定される複数のアクセ
ス処理に対するフットプリントを、測定できる能力をも
つ。さらに、この機構は、各フィルタごとに定常性を測
定し、フィルタされたアクセス・ストリームが挙動の変
化を示す場合には、フットプリント関数を再初期設定す
る能力をもつ。
このフットプリント機構は、また、第9図に示すよう
に、測定処理にフィルタを加えたり、そこから取り除い
たりできる能力をもつ。当該のアドレス・ストリームが
非常に長時間にわたって不活動状態になるかまたは安定
性を示す場合には、長期にわたってフィルタを取り除く
ことが必要となることがある。論理ブロック51で、フィ
ルタが引続き必要かどうかを判定するために使用する推
定値を計算する。論理ブロック52で、この推定値をしき
い値と比較し、推定値がしきい値より上の場合には論理
ブロック53でフィルタを変更するかまたは取り除く。そ
うでない場合は、論理ブロック54で正常脱出を行なう。
第9図は、また、新しいフィルタを加える方法の構造を
も示す。論理ブロック51で、アクセス要求を解析して、
いずれかのサブセットをフィルタによって追跡すべきか
どうかを決定する。
アクセス要求の当該のどのサブセットについても、論理
ブロック51で生成された推定値がしきい値と比較され
る。推定値がしきい値を超えた場合、論理ブロック53で
フィルタを加える。推定値がしきい値より小さい場合に
は、論理ブロック54で正常脱出が行なわれる。
第9図に示した機構の使用例として、メモリ中の特定の
ファイルまたはデータ・オブジェクトに対するアクセス
のフットプリントを測定することが、興味がある。論理
ブロック51で、新たに参照されたオブジェクトに対する
アクセスの発生を観察することができる。アクセス率が
充分なしきい値に達したとき、またはアクセス合計数が
充分なしきい値に達したとき、このオブジェクトに対す
るアドレス・フィルタをフットプリント機構中に設ける
ことができる。
多くの可能な用途の1つを示すため、異なる時刻に2種
の異なる作業負荷で使用されるディスク・システムを考
える。その1つは、たとえば、照会作業負荷であり、も
う1つは主に遂次的な作業負荷である。照会作業負荷の
特徴は、頻繁に使用されるディレクトリ及び指標に対す
るアクセスがクラスタ化され、アクセスの小部分がラン
ダムに補助記憶機構全体にわたって分散される傾向があ
ることである。遂次的作業負荷では、ファイル全体がラ
ンダムに選択され、各ファイルが順次処理される傾向が
ある。
上記2種の作業負荷では、ディスク・キャッシュの最適
管理が異なる。本発明の目的は、どの作業負荷が現に実
行中かを決定するのに使用できるデータを作成し、また
システム負荷が一方から他方へ変化するとき、現作業負
荷が2つの混合となる期間を指示することにある。
フットプリント関数は、周期的に計算でき、ディスク・
キャッシュ管理装置から問い合わせることができる。フ
ットプリント関数が急速増加している場合、現作業負荷
は、各セクタをただ一度だけ調べる傾向のある遂次的作
業負荷であると推定される。フットプリント関数が緩慢
に増加する場合には、現作業負荷は、あるディレクトリ
及び指標に繰り返しアクセスする傾向のある照会作業負
荷であると推定される。フットプリント関数の値を使っ
て、所与の時間にどのディスク・キャッシュ管理方針を
呼び出すべきかを決定することができる。
F.発明の効果 本発明によれば、フットプリント関数を計算し、これに
基づいて記憶装置が現在処理している作業を推定し、そ
の作業に見合った記憶装置管理方法を採用するようにし
たので、複数の異なる作業負荷を異なる時間に処理する
記憶装置において、現在の作業負荷に適した記憶装置管
理方法を採用することができ、最適のキャッシュ管理が
得られる。
【図面の簡単な説明】
第1図は、フットプリント・モジュールの構成図であ
る。 第2図は、ディスク・アクセスのフットプリントを計算
するシステムの構成図である。 第3図は、本発明の全般的な流れ図である。 第4図は、いつ初期設定すべきかの決定を示す流れ図で
ある。 第5図は、初期設定機能の流れ図である。 第6図は、アドレス・ストリームのフィルタリングの流
れ図である。 第7図は、フィルタされたセクタ・アクセスでフットプ
リントを更新する機能の流れ図である。 第8図は、時間にフットプリントを更新する機能の流れ
図である。 第9図は、いつアドレス・フィルタを変更すべきかを決
定する機能の流れ図である。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】アドレス・ストリーム内の記憶装置アクセ
    ス・リクエストを調べて所定のタイプのアクセス・リク
    エストを判定する手段と、 前記記憶装置の各単位記憶空間内の所定のビットを、該
    単位記憶空間が未だアクセスされていないことを示す第
    1の状態に設定する手段と、 基準計数値に設定されたカウンタと、 前記所定のタイプのアクセス・リクエストに応答して前
    記単位記憶空間の1つにアクセスし、前記所定のビット
    が前記第1の状態であれば該ビットの状態を該単位記憶
    空間が既にアクセスされたことを示す第2の状態に変更
    する手段と、 前記単位空間への前記所定のタイプのアクセス・リクエ
    ストによるアクセスの結果前記所定のビットが前記第1
    の状態から前記第2の状態に変更されたことに応答し
    て、前記カウンタを増分し、これによりアクセスされた
    単位記憶空間の数を前記カウンタに保持する手段と、 前記カウンタが所定の値にまで増分されたことに応答し
    て前記所定のタイプのアクセス・リクエストに対して予
    め定められている記憶装置管理方法を選定する手段と、 よりなる記憶装置管理装置。
  2. 【請求項2】記憶装置と、 アドレス・ストリーム内の記憶装置アクセス・リクエス
    トを調べて所定のタイプのアクセス・リクエストを判定
    する手段と、 所定期間を表す計数値を与えるために単位時間を表すパ
    ルスを計数するクロック・カウンタと、 前記記憶装置の各単位記憶空間内の所定のビットを、該
    単位記憶空間が未だアクセスされていないことを示す第
    1の状態に設定する手段と、 基準計数値に設定されたアクセス・カウンタと、 前記所定のタイプのアクセス・リクエストに応答して前
    記単位記憶空間の1つにアクセスし、前記所定のビット
    が前記第1の状態であれば該ビットの状態を該単位記憶
    空間が既にアクセスされたことを示す第2の状態に変更
    する手段と、 前記単位空間への前記所定のタイプのアクセス・リクエ
    ストによるアクセスの結果前記所定のビットが前記第1
    の状態から前記第2の状態に変更されたことに応答し
    て、前記カウンタを増分し、これによりアクセスされた
    単位記憶空間の数を前記カウンタに保持する手段と、 前記クロック・カウンタが前記所定期間を表す前記計数
    値に達したとき前記アクセス・カウンタの計数値を調
    べ、前記所定期間中の前記所定のタイプのアクセス・リ
    クエストの数を判定する手段と、 前記アクセス・カウンタが前記所定期間中に所定の値に
    まで増分されたことに応答して前記所定のタイプのアク
    セス・リクエストに対して予め定められている記憶装置
    管理方法を選定する手段と、 よりなる記憶装置管理装置。
  3. 【請求項3】アドレス・ストリーム内の記憶装置アクセ
    ス・リクエストを調べて所定のタイプのアクセス・リク
    エストを判定する段階と、 記憶装置の各単位記憶空間内の所定のビットを、該単位
    記憶空間が未だアクセスされていないことを示す第1の
    状態に設定する段階と、 カウンタを基準計数値に設定する段階と、 前記所定のタイプのアクセス・リクエストに応答して前
    記単位記憶空間の1つにアクセスし、前記所定のビット
    が前記第1の状態であれば該ビットの状態を該単位記憶
    空間が既にアクセスされたことを示す第2の状態に変更
    する段階と、 前記単位空間への前記所定のタイプのアクセス・リクエ
    ストによるアクセスの結果前記所定のビットが前記第1
    の状態から前記第2の状態に変更されたことに応答し
    て、前記カウンタを増分し、これによりアクセスされた
    単位記憶空間の数を前記カウンタに保持する段階と、 前記カウンタが所定の値にまで増分されたことに応答し
    て前記所定のタイプのアクセス・リクエストに対して予
    め定められている記憶装置管理方法を選定する段階と、 よりなる記憶装置管理方法。
  4. 【請求項4】アドレス・ストリーム内の記憶装置アクセ
    ス・リクエストを調べて所定のタイプのアクセス・リク
    エストを判定する段階と、 所定期間を表す計数値を与えるために単位時間を表すパ
    ルスをクロック・カウンタで計数する段階と、 前記記憶装置の各単位記憶空間内の所定のビットを、該
    単位記憶空間が未だアクセスされていないことを示す第
    1の状態に設定する段階と、 アクセス・カウンタを基準計数値に設定する段階、 前記所定のタイプのアクセス・リクエストに応答して前
    記単位記憶空間の1つにアクセスし、前記所定のビット
    が前記第1の状態であれば該ビットの状態を該単位記憶
    空間が既にアクセスされたことを示す第2の状態に変更
    する段階と、 前記単位空間への前記所定のタイプのアクセス・リクエ
    ストによるアクセスの結果前記所定のビットが前記第1
    の状態から前記第2の状態に変更されたことに応答し
    て、前記カウンタを増分し、これによりアクセスされた
    単位記憶空間の数を前記カウンタに保持する段階と、 前記クロック・カウンタが前記所定期間を表す前記計数
    値に達したとき前記アクセス・カウンタの計数値を調
    べ、前記所定期間中の前記所定のタイプのアクセス・リ
    クエストの数を判定する段階と、 前記アクセス・カウンタが前記所定期間中に所定の値に
    まで増分されたことに応答して前記所定のタイプのアク
    セス・リクエストに対して予め定められている記憶装置
    管理方法を選定する段階と、 よりなる記憶装置管理方法。
JP1123042A 1988-07-26 1989-05-18 記憶装置管理装置及び方法 Expired - Lifetime JPH06100986B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/224,845 US5142670A (en) 1988-07-26 1988-07-26 Method and apparatus for calculating disk-access footprints for use in selecting a storage management method
US224845 1988-07-26

Publications (2)

Publication Number Publication Date
JPH0247746A JPH0247746A (ja) 1990-02-16
JPH06100986B2 true JPH06100986B2 (ja) 1994-12-12

Family

ID=22842475

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1123042A Expired - Lifetime JPH06100986B2 (ja) 1988-07-26 1989-05-18 記憶装置管理装置及び方法

Country Status (4)

Country Link
US (1) US5142670A (ja)
EP (1) EP0352462B1 (ja)
JP (1) JPH06100986B2 (ja)
DE (1) DE68924013T2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5410691A (en) * 1990-05-07 1995-04-25 Next Computer, Inc. Method and apparatus for providing a network configuration database
US5345584A (en) * 1991-03-11 1994-09-06 Laclead Enterprises System for managing data storage based on vector-summed size-frequency vectors for data sets, devices, and residual storage on devices
JPH0727442B2 (ja) * 1991-09-11 1995-03-29 インターナショナル・ビジネス・マシーンズ・コーポレイション データ記憶装置階層構造におけるヒット率を向上させる方法およびそのための装置
US6088767A (en) * 1993-04-30 2000-07-11 International Business Machines Corporation Fileserver buffer manager based on file access operation statistics
US5754889A (en) * 1993-12-22 1998-05-19 Adaptec, Inc. Auto write counter for controlling a multi-sector write operation in a disk drive controller
US5566317A (en) * 1994-06-14 1996-10-15 International Business Machines Corporation Method and apparatus for computer disk drive management
US5727167A (en) * 1995-04-14 1998-03-10 International Business Machines Corporation Thresholding support in performance monitoring
US5845318A (en) * 1996-10-28 1998-12-01 International Business Machines Corporation Dasd I/O caching method and application including replacement policy minimizing data retrieval and storage costs
US6065100A (en) * 1996-11-12 2000-05-16 Micro-Design International Caching apparatus and method for enhancing retrieval of data from an optical storage device
KR102737427B1 (ko) * 2019-10-31 2024-12-04 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3577185A (en) * 1969-10-02 1971-05-04 Ibm On-line system for measuring the efficiency of replacement algorithms
US3893084A (en) * 1973-05-01 1975-07-01 Digital Equipment Corp Memory access control system
US4092732A (en) * 1977-05-31 1978-05-30 International Business Machines Corporation System for recovering data stored in failed memory unit
US4101969A (en) * 1977-06-06 1978-07-18 Digital Equipment Corporation Secondary storage facility with means for monitoring sector pulses
US4110830A (en) * 1977-07-05 1978-08-29 International Business Machines Corporation Channel storage adapter
US4195340A (en) * 1977-12-22 1980-03-25 Honeywell Information Systems Inc. First in first out activity queue for a cache store
USRE31407E (en) * 1978-05-10 1983-10-04 Tesdata Systems Corporation Computer monitoring system
US4276595A (en) * 1978-06-30 1981-06-30 International Business Machines Corporation Microinstruction storage units employing partial address generators
JPS55154648A (en) * 1979-05-22 1980-12-02 Nec Corp Disc cash control system
US4509118A (en) * 1982-05-25 1985-04-02 Honeywell Information Systems Inc. Method and apparatus for defining magnetic disk track field lengths using a programmable counter
US4700294A (en) * 1982-10-15 1987-10-13 Becton Dickinson And Company Data storage system having means for compressing input data from sets of correlated parameters
US4631699A (en) * 1982-11-30 1986-12-23 Honeywell Information Systems Inc. Firmware simulation of diskette data via a video signal
US4641207A (en) * 1983-03-22 1987-02-03 Green George D Diagnostic device and method for examining the operation of a disk drive
US4623988A (en) * 1983-05-20 1986-11-18 Dictaphone Corporation Apparatus for monitoring and displaying activity of an information processing system
JPS6014360A (ja) * 1983-07-04 1985-01-24 Fujitsu Ltd デイスク・キヤツシユ制御装置
JPS60108964A (ja) * 1983-11-17 1985-06-14 Toshiba Corp 振込処理方式
JPH06100981B2 (ja) * 1983-12-28 1994-12-12 株式会社日立製作所 記憶階層制御方式
US4805090A (en) * 1985-09-27 1989-02-14 Unisys Corporation Peripheral-controller for multiple disk drive modules having different protocols and operating conditions
US4796220A (en) * 1986-12-15 1989-01-03 Pride Software Development Corp. Method of controlling the copying of software

Also Published As

Publication number Publication date
DE68924013D1 (de) 1995-10-05
US5142670A (en) 1992-08-25
EP0352462A2 (en) 1990-01-31
DE68924013T2 (de) 1996-04-18
EP0352462B1 (en) 1995-08-30
EP0352462A3 (en) 1991-07-17
JPH0247746A (ja) 1990-02-16

Similar Documents

Publication Publication Date Title
KR100655358B1 (ko) 디스크 어레이 기억장치에서의 볼륨 교환 방법
US6442650B1 (en) Maximizing sequential output in a disk array storage device
US8181161B2 (en) System for automatically collecting trace detail and history data
US6189071B1 (en) Method for maximizing sequential output in a disk array storage device
US9477407B1 (en) Intelligent migration of a virtual storage unit to another data storage system
US6711649B1 (en) Load balancing on disk array storage device
US6405282B1 (en) Method for analyzine disk seek times in a disk array storage device
WO1995002864A1 (en) Method and structure for evaluating and enhancing the performance of cache memory systems
JPH0524533B2 (ja)
TWI747199B (zh) 用以異常行為偵測或分析的共用儲存系統的方法與計算機儲存節點
JPH06100986B2 (ja) 記憶装置管理装置及び方法
JP2007058637A (ja) ストレージシステム、管理計算機及びデータ移動方法
US7257684B1 (en) Method and apparatus for dynamically altering accessing of storage drives based on the technology limits of the drives
US9317224B1 (en) Quantifying utilization of a data storage system by a virtual storage unit
JPH08147218A (ja) キャッシュ制御装置
JP4111910B2 (ja) ディスクキャッシュ装置
JP2001184175A (ja) ストレージ管理システム
JP6681369B2 (ja) 性能管理システム、管理装置および性能管理方法
Niu et al. Analytical modeling of smr drive under different workload environments
CN120723174B (zh) 数据存储方法、存储介质、电子设备和程序产品
CN120276943B (zh) 一种数据采样方法、存储介质、电子设备及程序产品
JPH0566975A (ja) フアイル再配置制御方式
Abhijith et al. The efficient use of Storage Resources in SAN for Storage Tiering and Caching
CN120508350A (zh) Java虚拟机的性能优化方法、装置、设备及介质
CN118672852A (zh) 一种面向分布式系统的存储测试方法