JPH096678A - 階層記憶装置 - Google Patents

階層記憶装置

Info

Publication number
JPH096678A
JPH096678A JP7151729A JP15172995A JPH096678A JP H096678 A JPH096678 A JP H096678A JP 7151729 A JP7151729 A JP 7151729A JP 15172995 A JP15172995 A JP 15172995A JP H096678 A JPH096678 A JP H096678A
Authority
JP
Japan
Prior art keywords
access
storage device
speed
data
area
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.)
Pending
Application number
JP7151729A
Other languages
English (en)
Inventor
Kazuaki Kidokoro
和明 城所
Shiro Takagi
志郎 高木
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP7151729A priority Critical patent/JPH096678A/ja
Publication of JPH096678A publication Critical patent/JPH096678A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】階層的に接続される記憶装置を動的に使用状況
にあわせ、しかもコストを考慮して最適な容量配分で読
み書きを行う。 【構成】メモリ1、ハードディスク2、可搬型記憶媒体
ドライブ装置3、可搬型記憶媒体ライブラリ装置(オー
トチェンジャ)4の階層から構成する階層記憶装置にお
いて、上位2層のメモリ1とハードディスク2とは下位
の記録装置のキャッシュとして用いられる。転送制御部
8を介してアクセスされるアクセス履歴がメモリ1とハ
ードディスク2の管理テーブル30に記憶され、このア
クセス履歴を元に限定されたコスト内で可能な最適な階
層記憶装置の構成を、アクセス情報管理部12、拡張見
積部13、アクセス速度計算部14、記憶手段判断部1
5、及び圧縮領域管理部16とを用いて算出するように
したものである。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、アクセス速度の異る
記憶装置が階層的に接続され、各階層における記憶容量
の最適化、並びに各階層の記憶装置への読み書きを行う
階層記憶装置に関する。
【0002】
【従来の技術】近年、オフィス内で取り扱われるデータ
量が増大しており、これらの大量のデータを管理するた
めに、大容量記憶装置が必要とされている。しかし通
常、常に必要であるデータは大量のデータのうちのほん
の一部分だけであり、大部分のデータはほとんどアクセ
スされることがない。この場合、全てのデータを高速な
ハードディスク装置に保存するにはコストの面から適当
ではなく、安価に大きな記憶容量の得られる磁気テープ
や光ディスクのライブラリ装置を併用することが多い。
【0003】ライブラリ装置とは、可搬型記憶媒体を複
数枚格納する格納スロット部と、複数の記憶媒体ドライ
ブ部と、ドライブ部と格納スロット部間で記憶媒体を移
動させるアクセッサ部とからなる集合記憶装置である。
【0004】高価/高速な記憶装置と比較的安価/低速
な記憶装置を併用する場合、アクセスされる頻度の高い
一部分のデータを高速なメモリやハードディスクに記録
し、高速にアクセスされる必要がなくなったデータを比
較的低速な磁気テープや光ディスク装置に退避するとい
う記憶装置の階層構造が用いられる。このようにするこ
とで通常のデータアクセスの大部分が高速な記憶装置に
対して行われることとなり、アクセススピードを維持し
たままで安価に大容量の記憶容量を実現することが可能
である。
【0005】ライブラリ装置を用いて階層的に接続され
る階層記憶装置におけるデータの存在場所は、 場所A.メモリやハードディスクのような高速な記憶媒
体上 場所B.データを再生するドライブ装置に装填された可
搬型記憶媒体上 場所C.ライブラリ装置の記憶媒体格納部に格納された
可搬型記憶媒体上 のいずれかである。データへのアクセスが最も高速であ
るのは、データが場所Aにある場合であり、場所B、場
所Cの順にアクセスに時間がかかる。
【0006】データが場所Cにある場合、そのデータに
アクセスするためには、まずドライブ装置内に装填され
ている記憶媒体を取り外し、アクセスするデータの入っ
ている記憶媒体をライブラリ装置の格納部から移動して
ドライブ装置に装填し、それからデータを読み書きする
ことになる。これらの処理にかかる時間は、場所Aの場
合と比べて数百倍にもなる。
【0007】この主な原因は、記憶媒体を記憶媒体ドラ
イブ装置から取り外す前に行うスピンダウン処理、装填
後のスピンアップ処理などである。これらのことから、
アクセスされるデータが上位階層記憶内か、少なくとも
記憶媒体ドライブ装置に装填されている記憶媒体上にあ
ることが高速なアクセスのための重要な条件といえる。
【0008】ライブラリ装置へのアクセスを出来るだけ
防ぐためには、頻繁にアクセスされるデータが高速な記
憶装置内に配置されるように適切なデータ配置制御を行
うと共に、上位の高速な記憶装置が十分な容量を持って
いる必要がある。
【0009】データの配置制御には、LRUアルゴリズ
ムの他、過去のアクセス履歴を用いてより精度の高いデ
ータ配置を行うLRU−Kアルゴリズム(E.J.O'Neil,
P.E.O'Neil and G.Weikum:The LRU-K Replacement Algo
rithm For Database Disk Buffering:Proceedings of 1
993 ACM SIGMOD pp.297-306)等が知られている。
【0010】アクセス速度を速くするために上位の高速
記憶装置の容量を増やすと階層記憶装置を用いるメリッ
トであるコストが大きくなってしまうため、コストとア
クセスパターンを考慮して要求されるスループットを満
たすための最低限の量の高速記憶媒体を用いるのが望ま
しい。
【0011】しかし、アクセスパターンは記憶装置の使
用環境、使用目的、使用時間等により異なるため、上位
の高速記憶装置の容量配分は経験則に頼るところが大き
かった。そのため、不必要に大きな容量によりコストが
上昇したり、上位の高速記憶装置の記憶容量不足による
アクセス速度の低下が起こることがあった。また、動的
に変化するアクセスパターンのために、通常必要とされ
るよりも大きな記憶容量を準備しておく必要があった。
【0012】
【発明が解決しようとする課題】上記したように、アク
セス速度の異る記憶装置が階層的に接続される階層記憶
装置において、アクセスパターンが記憶装置の使用環
境、使用目的、使用時間等により異なるため上位の高速
記憶装置の容量配分は経験則に頼るところが大きく、そ
のため、不必要に大きな容量によりコストが上昇した
り、上位の高速記憶装置の記憶容量不足によるアクセス
速度の低下が起こることがあり、また、動的に変化する
アクセスパターンのために通常必要とされるよりも大き
な記憶容量を準備しておかなければならないという問題
があった。
【0013】そこで、この発明は、階層的に接続される
記憶装置を動的に使用状況にあわせ、しかもコストを考
慮して最適な容量配分で読み書きを行うことのできる階
層記憶装置を提供することを目的とする。
【0014】
【課題を解決するための手段】この発明の階層記憶装置
は、アクセス速度の異る複数の記憶装置が階層的に接続
されて構成される階層記憶装置において、上記階層記憶
装置を構成する複数の記憶装置へのデータのアクセス履
歴を記憶するアクセス記憶手段と、このアクセス記憶手
段に記憶されたアクセス履歴から各記憶装置へのアクセ
スの分布を計算し、上記階層記憶装置全体としてのアク
セス速度を計算するアクセス速度計算手段と、上記階層
記憶装置に対する拡張条件に応じて、上記階層記憶装置
を拡張するアクセス速度の異る記憶装置の可能な全ての
組み合わせ構成毎に、上記アクセス記憶手段に記憶され
ているアクセス履歴と上記アクセス速度計算手段とを用
いてアクセス速度を計算し、最もアクセス速度の速い上
記階層記憶装置を拡張するアクセス速度の異る記憶装置
の組み合わせ構成を見積もる拡張見積手段とから構成さ
れている。
【0015】この発明の階層記憶装置は、アクセス速度
の異る記憶装置が階層的に接続された階層記憶装置にお
いて、上記階層記憶装置へのデータのアクセス履歴を記
憶するアクセス記憶手段と、このアクセス記憶手段に記
憶されたアクセス履歴から各記憶装置へのアクセスの分
布を計算し、上記階層記憶装置全体としてのアクセス速
度を計算するアクセス速度計算手段と、このアクセス速
度計算手段で計算される上記階層記憶装置全体としての
アクセス速度を定期的に監視するアクセス速度監視手段
と、上記階層記憶装置に記憶されている圧縮されたデー
タへのアクセスがある場合には圧縮データを伸張して出
力し、圧縮領域へのデータの書き込みがある場合にはデ
ータを圧縮して書き込み、上記階層記憶装置の圧縮デー
タ領域へのアクセスを管理する圧縮領域管理手段と、上
記アクセス速度監視手段で監視されるアクセス速度に応
じて、上記圧縮領域管理手段による圧縮データ領域への
アクセス管理を制御する制御手段とから構成されてい
る。
【0016】この発明の階層記憶装置は、アクセス速度
の異る記憶装置が階層的に接続され、高速記憶装置を低
速大容量記憶装置のキャッシュとして用いる階層記憶装
置において、上記階層記憶装置へのデータのアクセス履
歴を記憶するアクセス記憶手段と、このアクセス記憶手
段に記憶されたアクセス履歴から各記憶装置へのアクセ
スの分布を計算し、上記階層記憶装置全体としてのアク
セス速度を計算するアクセス速度計算手段と、このアク
セス速度計算手段で計算される上記階層記憶装置全体と
してのアクセス速度を定期的に監視するアクセス速度監
視手段と、上記高速記憶装置に記憶されている圧縮され
たデータへのアクセスがある場合には圧縮データを伸張
して出力し、圧縮領域へのデータの書き込みがある場合
にはデータを圧縮して書き込み、上記高速記憶装置の圧
縮データ領域へのアクセスを管理する圧縮領域管理手段
と、上記低速大容量記憶装置へのアクセスが増加して上
記アクセス速度監視手段で監視されるアクセス速度が低
下している場合、上記高速記憶装置の記憶領域の一部ま
たは全部を上記圧縮領域管理手段を用いて圧縮領域とす
る制御を行う第1の制御手段と、上記高速記憶装置の記
憶領域に設定された圧縮領域へのアクセスがオーバーヘ
ッドになって上記アクセス速度監視手段で監視されるア
クセス速度が低下している場合、上記高速記憶装置の記
憶領域に設定された圧縮領域を上記圧縮領域管理手段を
用いて解除する制御を行う第2の制御手段とから構成さ
れている。
【0017】この発明の階層記憶装置の見積り方法は、
アクセス速度の異る複数の記憶装置が階層的に接続され
て構成される階層記憶装置において、上記階層記憶装置
に対する拡張条件に応じて、上記階層記憶装置を拡張す
るアクセス速度の異る記憶装置の可能な全ての組み合わ
せ構成毎に、記憶された上記階層記憶装置を構成する複
数の記憶装置へのデータのアクセス履歴から各記憶装置
へのアクセスの分布を計算して上記階層記憶装置全体と
してのアクセス速度を計算し、最もアクセス速度の速い
上記階層記憶装置を拡張するアクセス速度の異る記憶装
置の組み合わせ構成を見積もることを特徴とする。
【0018】この発明の階層記憶方法は、アクセス速度
の異る記憶装置が階層的に接続された階層記憶装置にお
いて、記憶された上記階層記憶装置へのデータのアクセ
ス履歴から各記憶装置へのアクセスの分布を計算して上
記階層記憶装置全体としてのアクセス速度を計算し、こ
の計算される上記階層記憶装置全体としてのアクセス速
度を定期的に監視し、上記階層記憶装置に記憶されてい
る圧縮されたデータへのアクセスがある場合には圧縮デ
ータを伸張して出力し、圧縮領域へのデータの書き込み
がある場合にはデータを圧縮して書き込み、上記階層記
憶装置の圧縮データ領域へのアクセスを管理し、上記定
期的に監視されるアクセス速度に応じて、上記圧縮デー
タ領域へのアクセス管理を制御することを特徴とする。
【0019】この発明の階層記憶方法は、アクセス速度
の異る記憶装置が階層的に接続され、高速記憶装置を低
速大容量記憶装置のキャッシュとして用いる階層記憶装
置において、記憶される上記階層記憶装置へのデータの
アクセス履歴から各記憶装置へのアクセスの分布を計算
して上記階層記憶装置全体としてのアクセス速度を計算
し、この計算される上記階層記憶装置全体としてのアク
セス速度を定期的に監視し、上記高速記憶装置に記憶さ
れている圧縮されたデータへのアクセスがある場合には
圧縮データを伸張して出力し、圧縮領域へのデータの書
き込みがある場合にはデータを圧縮して書き込み、上記
高速記憶装置の圧縮データ領域へのアクセスを管理し、
上記低速大容量記憶装置へのアクセスが増加して上記定
期的に監視されるアクセス速度が低下している場合、上
記高速記憶装置の記憶領域の一部または全部を圧縮領域
とする上記アクセス管理の制御を行い、上記高速記憶装
置の記憶領域に設定された圧縮領域へのアクセスがオー
バーヘッドになって上記定期的に監視されるアクセス速
度が低下している場合、上記高速記憶装置の記憶領域に
設定された圧縮領域を解除する上記アクセス管理の制御
を行うことを特徴とする。
【0020】
【作用】この発明は、アクセス速度の異る複数の記憶装
置が階層的に接続されて構成される階層記憶装置におい
て、上記階層記憶装置を構成する複数の記憶装置へのデ
ータのアクセス履歴をアクセス記憶手段に記憶し、記憶
されたアクセス履歴から各記憶装置へのアクセスの分布
を計算し、上記階層記憶装置全体としてのアクセス速度
をアクセス速度計算手段で計算し、上記階層記憶装置に
対する拡張条件に応じて、上記階層記憶装置を拡張する
アクセス速度の異る記憶装置の可能な全ての組み合わせ
構成毎に、上記アクセス記憶手段に記憶されているアク
セス履歴と上記アクセス速度計算手段とを用いてアクセ
ス速度を計算し、最もアクセス速度の速い上記階層記憶
装置を拡張するアクセス速度の異る記憶装置の組み合わ
せ構成を見積もるようにしたものである。
【0021】この発明は、アクセス速度の異る記憶装置
が階層的に接続された階層記憶装置において、上記階層
記憶装置へのデータのアクセス履歴を記憶し、記憶され
たアクセス履歴から各記憶装置へのアクセスの分布を計
算し、上記階層記憶装置全体としてのアクセス速度をア
クセス速度計算手段で計算し、計算される上記階層記憶
装置全体としてのアクセス速度を定期的にアクセス速度
監視手段で監視し、上記階層記憶装置に記憶されている
圧縮されたデータへのアクセスがある場合には圧縮デー
タを伸張して出力し、圧縮領域へのデータの書き込みが
ある場合にはデータを圧縮して書き込み、上記階層記憶
装置の圧縮データ領域へのアクセスを圧縮領域管理手段
で管理し、上記アクセス速度監視手段で監視されるアク
セス速度に応じて、上記圧縮領域管理手段による圧縮デ
ータ領域へのアクセス管理を制御するようにしたもので
ある。
【0022】
【実施例】以下、この発明の実施例について図面を参照
して説明する。図1は、この発明に係る階層記憶装置の
ソフトウエアの概略構成を示したものである。
【0023】すなわち、階層記憶装置における記憶手段
の階層は、メモリ1、ハードディスク2、可搬型記憶媒
体ドライブ装置3、可搬型記憶媒体ライブラリ装置(オ
ートチェンジャ)4とから構成されている。階層は、上
位であるほど高速であるが、上位ほど低容量でもあり、
上位2層のメモリ1とハードディスク2とは下位の記録
装置のキャッシュとして用いられる。
【0024】メモリ1、ハードディスク2には、後述す
る管理テーブル30が記憶されるようになっている。ラ
イブラリ装置4は、記憶媒体5を着脱可能に複数格納す
る格納部6、記憶媒体5を装填して情報の読み書きを行
う複数の可搬型記憶媒体ドライブ装置3、格納部6とド
ライブ装置3間で記憶媒体5を搬送する搬送部7を持つ
集合記憶装置である。ライブラリ装置4内で使用される
記憶媒体5は、可搬型でデータの書き込みだけでなく削
除も可能なものである。以下この可搬型書き込み可能記
憶媒体5をメディア5と表記する。
【0025】メディア5中の記憶領域は、図2に示すよ
うに一定単位のブロックに分けて管理されている。ま
た、各メディア5にはライブラリ装置4内で一意な番号
が割り当てられている。
【0026】階層記憶装置内のブロックへのアクセスは
全て転送制御部8を介して行われる。転送制御部8の受
け取った読み出し要求は、まず、キャッシュ管理部9で
処理される。キャッシュ管理部9は、アクセス対象のブ
ロックがメモリ1/ハードディスク2からなるキャッシ
ュに存在するかどうかを調べ、キャッシュ内に存在すれ
ばキャッシュ(メモリ1またはハードディスク2)から
データを転送する。キャッシュ内にブロックが存在しな
い場合にはアクセス要求はブロック管理部10に渡され
て処理される。
【0027】ブロック管理部10は、対象のブロックが
既にドライブ装置3に装填されているメディア5上にあ
る場合にはそれを読みだして転送する。読みだされたデ
ータは、同時にキャッシュ管理部9に渡され、メモリ1
/ハードディスク2からなるキャッシュ領域に記録され
る。
【0028】対象のブロックがライブラリ装置4の格納
部6に格納されているメディア5上にある場合にブロッ
ク管理部10は、ライブラリ装置制御部11を介して所
望のメディア5を搬送部7を用いてドライブ装置3に装
填し、データの読み出しを行う。この場合にも読みださ
れたデータは、キャッシュ領域に記録される。
【0029】アクセスがドライブ装置3に既に装填され
ているメディア5上のブロックに対する場合は、装填さ
れているメディア5に対してブロックの読み書きを行
う。ドライブ装置3内に装填されていないブロックへの
アクセスが発生した場合には、ライブラリ装置制御部1
1により所望のメディア5をドライブ装置3に装填した
上でアクセスを行う。
【0030】転送制御部8の受け取った要求がデータの
書き込み要求であった場合、キャッシュ管理部9は、キ
ャッシュ領域内(メモリ1/ハードディスク2)に空き
ブロック(空き領域)を見つけてそこに書き込む。空き
ブロックが見つからない場合にはキャッシュ領域内の適
当なブロックを解放して空きブロックとし、その空きブ
ロックを使用してそこに書き込む。
【0031】解放するブロックに下位のメディア5上に
記憶されていないデータが記憶されている場合は、ブロ
ックの解放を行う前にデータをメディア5に書き込む処
理を行う。
【0032】転送制御部8を介して行われる階層記憶装
置内のブロックへのアクセスは、全てアクセス情報管理
部12によって記録される。アクセス情報管理部12に
記録されたアクセス情報は、キャッシュ管理用及び階層
記憶装置へのアクセスパターンとして用いられる。キャ
ッシュの管理にはLRUアルゴリズムやLRU−Kアル
ゴリズムなどが用いられる。
【0033】LRU−Kアルゴリズムは、従来のLRU
アルゴリズムを拡張したものであり、過去のデータへの
アクセス時間を記録してデータのアクセス頻度の判断を
行うものである。LRU−KのKは、整数の値であり、
データに対し過去K回分のアクセス時間を保存すること
を示している。
【0034】データへのアクセス時間をキャッシュ管理
に用いることを考えると、処理のリトライや、データを
更新するために読み出し、その直後に書き込みを行うと
いった、一連の処理の中でバースト的に複数回発生する
アクセスは一度のアクセスとして処理した方が都合がよ
い。このため各データには、過去n回のアクセス時間
(H(n))の他に最終アクセス時間(L)が記録され
ており、LRU−Kアルゴリズムの管理データとしてデ
ータアクセスがバースト的なものかどうかを判断するた
めに「相関参照時間」という値が管理されている。
【0035】データにアクセスが発生すると、まず、最
終アクセス時間からそのアクセスまでに一定時間(相関
参照時間)が経過していることを確かめる。相関参照時
間内に起こったアクセスは最終アクセスと同一とみなさ
れるため履歴には残されず、最終アクセス時間だけが更
新される。相関参照時間以上離れたアクセスであれば現
時刻が1回前のアクセス履歴H(1)として記録され、
以前のアクセス履歴はH(1)をH(2)に、H(2)
をH(3)にと、1つずつ後ろにずらす形で更新され
る。
【0036】LRU−Kアルゴリズムでは、空き領域
(空きブロック)を確保するためにキャッシュからブロ
ックを追い出す必要が生ずると、キャッシュ内のブロッ
クの内、K回前のアクセスが最も古いブロック、すなわ
ち最も古いH(K)を持つものを選択してキャッシュか
ら追い出す。
【0037】階層記憶装置へのアクセスパターンを記録
するためには、ディスタンスストリングが用いられる。
階層記憶装置内のブロックは、各階層毎にブロック番号
のリストとして管理されている。ブロックを管理するリ
ストには、使用ブロックリストと未使用ブロックリスト
がある。使用ブロックリスト内のブロックは階層記憶装
置内のキャッシュ管理アルゴリズムに基づいて並べられ
ている。すなわち、使用ブロックリスト内のブロックの
順番は、最下位から下位階層に追い出される順番に等し
い。未使用ブロックリストは、空き領域として使用可能
なブロック番号を並べたものであり、その順序には意味
がない。
【0038】例えば、階層記憶装置内のキャッシュ管理
にLRUアルゴリズムを用いる場合、アクセスを受けた
ブロックのブロック番号は使用ブロックリストの最上位
に付け足される。ブロック番号が既に使用ブロックリス
ト内にあった場合、もとの位置のブロック番号は使用ブ
ロックリストの最上位に移動される。
【0039】新規書き込みにより空きブロックが必要と
なった場合には、未使用ブロックリストの最上位から取
り出されたブロックが空きブロックとして使用される。
もし未使用ブロックリスト内にブロックがない場合に
は、使用ブロックリストの最下位に位置するブロックを
解放して空きブロックとして使用する。新規に書き込ま
れたブロックのブロック番号は使用ブロックリストの最
上位に付け足される。
【0040】削除され、使われることのなくなったブロ
ックのブロック番号は、未使用ブロックリストの最下位
に付け足される。この場合、使用ブロックリスト内のブ
ロックはアクセスされた時間の新しい順に並んでおり、
キャッシュ領域から最初に追い出されるのはその階層記
憶装置内でアクセスされた時間が最も古いものである。
【0041】ディスタンスストリングとは、アクセスを
受けたブロックの階層記憶装置全体での使用ブロックリ
スト内での順番を記録した列である。あるブロックがア
クセスされると上位から順に使用ブロックリストが検索
され、所望のブロックの番号が見つかるとリスト最上位
からの位置(ディスタンス)が記録される。
【0042】使用ブロックリスト内にブロックが見つか
らない場合、そのブロックのディスタンスは「∞」であ
るとする。新規に書き込まれるブロックについてはディ
スタンスを記録しない。ディスタンスストリングの長さ
はディスタンスの記録を開始してからアクセスされたブ
ロック数である。今、最上位の記憶階層に含まれるブロ
ック数をNとするとディスタンスストリング内のNより
小さいディスタンスの出現回数は最上位の記憶階層にヒ
ットしたアクセスの回数である。また2番目の記憶階層
に含まれるブロック数をMとするとN+1〜M+Nまで
のディスタンスの出現回数が2番目の階層にヒットした
アクセスの回数である。アクセス速度の異る記憶装置が
階層的に接続される階層記憶装置でディスタンスストリ
ングを用いることにより、階層毎にアクセスされる確率
を動的に求めることが出来る。
【0043】拡張見積部13は、転送制御部8を介して
ユーザからの要求に答え、階層記憶装置の拡張すべき階
層と、拡張すべき容量を計算する。記憶階層を拡張すべ
きかどうかはアクセス情報管理部12に記録されたアク
セスパターンと拡張後のシステム構成を用いてアクセス
速度計算部14で階層記憶装置全体としてのアクセス速
度を計算して判断する。記憶装置のアクセス速度は各階
層のデータ転送速度と、過去のアクセス履歴から計算さ
れる各階層にデータが存在した割合とを掛け合わせて求
められる。
【0044】いま、 M:メモリ HD:ハードディスク MO:ドライブ装置3内に装填済みのメディア AC:ライブラリ装置(オートチェンジャ)4の格納部
6内のメディア Hx:階層xにヒットしたアクセスの回数 H:アクセス回数の総和 Sx:階層xのブロック転送速度 とすると階層記憶装置全体での転送速度Sは、 S=(HM ×SM +HHD×SHD+HMO×SMO+HAC×SAC)/H……(1) となる。
【0045】拡張見積部13は、ユーザから各階層ごと
の拡張にかかる金銭コストと、拡張に用いることの出来
る総費用額を受け取り、階層記憶装置を拡張するすべて
のパターンについて拡張後の階層記憶装置のアクセス速
度を計算し、同じ費用内で最もアクセス速度の速くなる
システム構成をユーザに提案する。
【0046】例えば、アクセスパターンが図3の(a)
のような場合、メモリキャッシュから追い出されたばか
りの位置のブロックに頻繁にアクセスが起こっているの
で少しでもメモリの容量を増やすのが効果的であり、図
3の(b)のような場合には、最も低速なライブラリ装
置4に多くアクセスが発生しているため、その上位であ
るドライブ装置3を増設するのが効果的である。
【0047】階層記憶装置の拡張を行わない場合でも、
階層間のアクセス速度が大きく異なる場合、上位の階層
でデータ圧縮を行うことによりみかけ上上位階層の容量
を増大し、下位階層へのアクセス回数を抑えることが出
来る。
【0048】記憶手段判断部15は、一定期間毎に最新
のアクセスパターンを用いて適当な記憶構成を判断す
る。記憶構成の変更にはアクセス速度計算部14により
階層の一部を圧縮した場合のアクセス速度が現在のアク
セス速度を上回るかどうかの判断を用いる。既に圧縮さ
れた記憶領域が存在する場合には、領域の圧縮を取りや
めた場合のアクセス速度も同時に見積り、圧縮データの
管理がアクセス速度低下の原因になっている場合には圧
縮された領域をもとに戻す。
【0049】記憶手段判断部15により、圧縮領域に指
定された記憶領域に対するアクセスは圧縮領域管理部1
6を介して行い、データの転送の前後に圧縮/伸張を行
う。図4は、この発明の実施例に係る階層記憶装置のシ
ステム構成を示すものである。すなわち、この階層記憶
装置は、CPU20、メインメモリ21、ハードディス
ク22、光ディスクドライブ装置23a〜23c、オー
トチェンジャ24、光ディスク25,…、格納スロット
26a〜26j、アクセッサ27、オートチェンジャ制
御部28、通信制御部29、及びシステムバス40とか
ら構成されている。
【0050】CPU20はキャッシュ管理部9、ブロッ
ク管理部10、アクセス情報管理部12、拡張見積部1
3、アクセス速度計算部14、記憶手段判断部15、圧
縮領域管理部16に対応し、メインメモリ21はメモリ
1に対応し、ハードディスク22はハードディスク3に
対応し、光ディスクドライブ装置23a〜23cは可搬
型記憶媒体ドライブ装置3に対応し、オートチェンジャ
24は可搬型記憶媒体ライブラリ装置4に対応し、光デ
ィスク25はメディア5に対応し、格納スロット26a
〜26jは格納部6に対応し、アクセッサ27は搬送部
7に対応し、オートチェンジャ制御部28はライブラリ
装置制御部11に対応し、通信制御部29は転送制御部
8に対応している。
【0051】CPU20は、階層記憶装置全体の動作を
制御するものであり、ハードディスク22に記憶された
プログラムをメインメモリ21上に読み出し、この内容
に従って各部を制御する。
【0052】メインメモリ21は、プログラムとデータ
を記憶するためのものである。データを記憶する領域の
一部はアクセス情報を記憶するために、一部は光ディス
ク25内の管理テーブル30を記憶するために、一部は
処理のワーキングエリアとして、残りはデータをキャッ
シングするために用いられる。
【0053】ハードディスク22は、制御プログラム
と、システムの処理開始時の管理テーブル30の内容を
記憶し、残りはデータをキャッシングするために用いら
れる。光ディスクドライブ装置23a,23b,23c
は、光ディスク25へのデータの書き込みと読み出しを
行うものであり、オートチェンジャ制御部28により3
台の光ディスクドライブ装置23a,23b,23cが
制御される。
【0054】オートチェンジャ24は、複数の格納スロ
ットル26a〜26j、複数の光ディスクドライブ23
a〜23c、及びアクセッサ27から構成され、オート
チェンジャ制御部28により制御される。
【0055】光ディスク25は、光磁気ディスクであ
り、データの追記だけでなくデータの削除及び変更も可
能である。格納スロット26a〜26jは、光ディスク
25を格納するためのもので、図4においては10枚の
光ディスク25を格納することができる。
【0056】アクセッサ27は、格納スロット26a〜
26jと光ディスクドライブ23a〜23c間で光ディ
スク25を搬送させるものであり、オートチェンジャ制
御部28によって制御される。
【0057】通信制御部29は,LANに接続してお
り、LANを通して外部装置から送信されてくるアクセ
ス要求を受信し、処理結果やデータを送信するものであ
る。システムバス40は、上記CPU20、メインメモ
リ21、ハードディスク22、オートチェンジャ制御部
28を介してオートチェンジャ24、及び通信制御部2
9とを接続している。
【0058】この階層記憶装置内のデータは、全て1K
バイト単位のブロックで管理されている。1枚の光ディ
スク25の容量は、256Mバイトで全部で10枚の光
ディスク25が管理されている。すなわち、階層記憶装
置全体では、10枚の光ディスク分の容量である2.5
Gバイトのデータを管理することができる。本実施例で
は、管理する2.5Gバイト分のブロックに装置内で一
意となる番号が付けられている。
【0059】次に、第1実施例を説明する。図5〜図1
0に実施例で用いられる管理テーブルを示す。上記管理
テーブル30は、ブロック管理テーブル31、ブロック
使用状況管理テーブル32、メディア管理テーブル3
3、ディスタンスストリング記録領域34、キャッシュ
管理テーブル35、管理用データ領域36、によって構
成されている。
【0060】図5は、階層記憶装置内の記憶ブロックを
管理するブロック管理テーブル31を示したもので、論
理ブロック番号、メディア番号、ブロック番号、ブロッ
ク使用部位が管理されている。階層記憶装置へのデータ
のリード/ライトは、論理ブロック番号を用いて行われ
る。論理ブロックにはそれぞれ装置内にあるメディア5
上のブロックが割当てられており、論理ブロックへのア
クセスはこのブロック管理テーブル31を介してメディ
ア番号とブロック番号からなる実際の記憶領域に変換さ
れる。
【0061】本発明では、ブロックが圧縮された状態で
記憶され、論理ブロックと対応するブロックが1対1に
対応しない場合があるため、これを一意に結び付けるた
めにブロック使用部位が用いられる。本実施例ではブロ
ックを圧縮記録するには、まず論理ブロックに対して圧
縮操作を行い、圧縮後のデータサイズがブロックの半分
以下になるならば物理ブロックを1/2に分割して用い
る。圧縮後のデータがブロックサイズの半分を越える場
合にはデータの圧縮は行わず、通常通りにブロック全体
を用いて記録操作を行う。
【0062】図6は、階層記憶装置内の記憶領域の使用
状況をブロック単位で管理するブロック使用状況管理テ
ーブル32を示したもので、メモリ1、ハードディスク
(HD)2、メディア5の識別番号を付されたメディア
1〜nの各ブロックの使用状況が管理される。ここで管
理されるブロックにはメディア5上のブロックに限ら
ず、キャッシュとして用いられるメモリ1上のブロック
や、ハードディスク2上のブロックも含まれる。上で述
べたように本実施例では圧縮操作により、ブロックを半
分に分けて使用することがあるので、1ブロックに対し
て2ビットを割当て、空きブロックには「00」、全体
が使用されているブロックには「11」を、上位半分の
み、または下位半分のみが用いられているブロックには
それぞれ「10」と「01」を記録することで使用状況
を管理する。
【0063】図7は、階層記憶装置内でのメディア5の
所在位置と、そのメディア5へのアクセス履歴、メディ
ア5上の空きブロック数を記録するメディア管理テーブ
ル33を示したもので、メディア番号、メディアの所在
位置、L、H(1)、H(2)、空きブロック数が管理
される。メディア番号は予めメディア5に割当てられた
番号であり、メディアの所在位置は予め割当てられた階
層記憶装置内での位置を示している。L、H(1)、H
(2)は、メディア5に対するアクセスをLRU−Kア
ルゴリズムで管理するためのものであり、各メディア5
にアクセスが発生するたびにこの領域が書き換えられ
る。
【0064】図8は、ディスタンスストリングを記録す
るために用いられるディスタンスストリング記録領域3
4を示したものである。この領域34はリング上になっ
ており、常に最後のアクセスから一定数前までのアクセ
スに対するディスタンスを記録している。図8の状態で
は最後に起こったアクセスのディスタンスは「3」であ
り、その前のアクセスのディスタンスは「1」、n回前
に起こったアクセスのディスタンスは「45」である。
【0065】アクセスが発生するとそのアクセスに対す
るディスタンスが計算され、ディスタンス先頭位置70
で指定される位置の1つ前、すなわち、最も古いディス
タンスを上書きして記録される。ディスタンス先頭位置
は最終アクセスに対するディスタンスを記録した位置を
指すように変更される。
【0066】図9は、キャッシュ領域に記録された論理
ブロックと、論理ブロックへのアクセス履歴を記録する
キャッシュ管理テーブル35を示したもので、pre
v、論理ブロック番号、next、L、H(1)、H
(2)、メモリブロック番号、使用部位、更新フラグが
記録されている。
【0067】論理ブロックはLRU−Kアルゴリズムで
管理され、キャッシュアウトされにくいものから最もキ
ャッシュアウト順位の高いものの順にリストで管理され
ている。LRU−Kアルゴリズムではキャッシュアウト
するブロックとしてH(K)の値が最も古い、すなわち
K回アクセスを受けるのに最も時間のかかったブロック
を選択するので、このリストはH(K)(本実施例では
K=2)の新しいものから順にリストに並べられてい
る。
【0068】prevはリスト上で前に存在するブロッ
クを記録したタグを指しており、nextはリストの次
のブロックのタグを指している。リストの先頭のブロッ
クのprevと、リストの終端のブロックのnextに
は「NULL」が記録されている。L、H(1)、H
(2)は、LRU−Kアルゴリズムでブロックへのアク
セス履歴を記録するために用いられるものである。
【0069】最初のリスト35aはメモリ1上のキャッ
シュブロックを管理するものであり、2つめのリスト3
5bはハードディスク2上のキャッシュブロックを管理
するためのものである。メモリキャッシュからキャッシ
ュアウトされたブロックは、ハードディスクキャッシュ
の先頭に書き込まれる。
【0070】ハードディスクキャッシュからキャッシュ
アウトされたブロックは、キャッシュ上から削除される
が、そのブロックに関するアクセス履歴は3つめのリス
ト35cの先頭に書き込まれて記録される。
【0071】ある論理ブロックにアクセスがあった場
合、この3つのリスト35a,35b,35cを順に検
索し、論理ブロック番号の見つかった位置がディスタン
スに相当する。例えば、メモリ1のキャッシュリスト3
5aでは先頭に30番の論理ブロックがあるので、もう
1度30番の論理ブロックへのアクセスが発生した場
合、そのアクセスのディスタンスは「1」であり、12
9番の論理ブロック番号へのアクセスだった場合にはア
クセスのディスタンスは「3」である。
【0072】メモリブロック番号は、論理ブロックが記
録されているキャッシュ上の位置を示している。使用部
位は、そのブロックが圧縮されており、ブロックの半分
以下のサイズしか占有していない場合に占有する部位を
示す。更新フラグは、キャッシュ上でデータへの書き込
みが行われ、メディア5に記録されたデータとキャッシ
ュ上のデータが一致しない状態になっていることを示す
のに用いられる。
【0073】図10は、階層記憶装置内で用いられる各
種管理用データを記録する管理用データ領域36を示し
たものである。すなわち、管理用データ領域36には、
相関参照時間1、相関参照時間2、予想圧縮比率、圧縮
/展開処理時間、メモリアクセス速度、HDアクセス速
度、ドライブ内メディアアクセス速度、AC内メディア
アクセス速度、メモリ拡張単位、HD拡張単位、ドライ
ブ拡張単位、メモリのコスト、HDのコスト、ドライブ
のコストとが記録されている。
【0074】以下、この実施例の処理を、図11〜図1
7に示すフローチャートを用いて説明する。図11は、
この実施例のメインフローを示すフローチャートであ
る。
【0075】図4のシステム構成において、階層記憶装
置のCPU20が処理を開始すると、まず、ハードディ
スク22に記録されているプログラムと管理データをメ
インメモリ21上に読み出し、階層記憶装置の初期化が
行われる(ST1)。
【0076】以下、図1に示す階層記憶装置のソフトウ
エアの概略構成を参照して説明する。階層記憶装置への
処理要求は全て転送制御部8を介して行われる。階層記
憶装置は要求を受け取ると(ST2)、それがブロック
のリード/上書き要求であった場合(ST3)、図9に
示したキャッシュ管理テーブル35を探索し、要求を受
けたブロックがキャッシュ領域に存在するかどうかを調
べ、同時にアクセスのディスタンスを調べて図8に示し
たディスタンスストリング記録領域34に記録する。
【0077】キャッシュ管理テーブル35にブロックが
存在しない場合のディスタンスは「∞」である。またこ
の時アクセスの履歴を残すためにキャッシュ管理テーブ
ル35を更新する(ST4)。
【0078】ブロックがメモリキャッシュ(リスト35
a)内にある場合、そのメモリ1上のブロックに対して
要求を処理し(ST14)、キャッシュ管理テーブル3
5に記録されたアクセス履歴を更新する(ST15)。
(この場合は既に更新済み) ブロックがハードディスクキャッシュ(リスト35b)
内にあった場合(ST6)、ハードディスクキャッシュ
内のデータをメモリ1上のワークエリアにコピーし、ハ
ードディスクキャッシュ内のデータを削除し、ハードデ
ィスク2上の領域を解放する(ST7)。
【0079】ブロックがメモリ/ハードディスクキャッ
シュに存在しなければ、ブロックにアクセスするにはメ
ディア5へのアクセスが必要である。ブロック管理テー
ブル31から所望のブロックの記録されたメディア5を
検索すると、メディア管理テーブル33のメディア5へ
のアクセス履歴を更新する(ST8)。所望のメディア
5が格納部6にある場合(ST9)、メディア5をドラ
イブ装置3に移動するためにメディア交換処理を行う
(ST10)。
【0080】次に、メモリキャッシュ上にブロックを記
録するための空き領域を見つける(ST11)。空き領
域がない場合、キャッシュ内のデータをキャッシュアウ
トすることによってメモリキャッシュ上に空き領域を作
成し(ST12)、その領域にデータをコピーし(ST
13)、メモリキャッシュ上で処理を実行する。
【0081】要求が新規書き込み要求であった場合(S
T16)には、ディスタンスストリングへの記録は行わ
ず、メモリキャッシュ上に空き領域を見つけて書き込み
処理を行う(ST11〜ST13)。
【0082】要求がデータ削除処理であった場合(ST
17)、キャッシュ管理テーブル35とブロック管理テ
ーブル31とから、該当するブロックを削除し、ブロッ
ク使用状況管理テーブル32の該当する領域を解放する
(ST18)。
【0083】要求が拡張見積要求であった場合(ST1
9)、拡張見積処理(ST20)を行い処理結果を上位
システムに転送する。要求が終了要求であれば(ST2
1)、キャッシュ上のデータと、メモリ1内の管理デー
タをハードディスク2の管理テーブル30に退避して処
理を終了する(ST22)。
【0084】メインフローとは別に一定時間毎に記憶手
段見積処理が起動し、それまでのアクセス履歴を用い
て、各階層での最適な記憶手段を判断する。図12は、
キャッシュ領域に空き領域を作成する処理のフローを示
したものである。
【0085】まず、メモリキャッシュ上に存在するブロ
ックの内、最終アクセス時間から相関参照時間1以上経
過したブロックのうち、リストの終端に最も近いブロッ
ク、すなわち、キャッシュアウト順位の最も高いブロッ
クを選択しブロックAとする(ST31)。管理用デー
タ領域36に記録されている相関参照時間1が経過して
いるかどうかを調べるのは、最近アクセスされたばかり
のブロックがすぐにキャッシュアウトされてしまうのを
防ぐためである。
【0086】ハードディスクキャッシュに空き領域があ
る場合には、そこにブロックAを記録し(ST38)、
ブロックAのH(2)に基づいてキャッシュ管理テーブ
ル35におけるハードディスク2のリスト35bの適当
な位置にブロックAのデータを記録する(ST39)。
ブロックAがハードディスクキャッシュに移動された
後、メモリキャッシュ、キャッシュ管理テーブル35に
おけるメモリ1のリスト35aからブロックAを削除
し、空き領域として使用する(ST40)。
【0087】ハードディスクキャッシュに空き領域が存
在しない場合、ハードディスクキャッシュに空き領域を
作成する処理を行う。まず、メモリキャッシュの場合と
同様に最終アクセス時間から、管理用データ領域36に
記録されている相関参照時間2以上経過したブロックの
みを対象に、最もキャッシュアウト順位の高いブロック
を選択し、ブロックBとする(ST33)。
【0088】アクセスを受けたブロックはまずメモリキ
ャッシュに記録され、メモリキャッシュからキャッシュ
アウトされて初めてハードディスクキャッシュに記録さ
れるため、相関参照時間2は相関参照時間1よりも大き
い値となるはずである。
【0089】ブロックBがキャッシュ上で更新されてお
り、ブロックBに対応するメディア5上の物理ブロック
に記録されているデータと異なるデータになっている場
合(ST34)、ブロックBがもともと記録されていた
メディア5がどれであるかに関わらず、既に装填されて
いるメディア5のうちから空き領域を選び、新規に書き
込みを行う(ST35)。もともとブロックBのあった
ブロックは空き領域として解放される(ST36)。
【0090】ブロックBがメディア5上のいずれかの位
置に記録されているならば、ハードディスクキャッシ
ュ、キャッシュ管理テーブル35におけるハードディス
ク2のリスト35bからブロックBを削除し、その領域
を空き領域として使用する(ST37)。
【0091】図13は、LRU−Kアルゴリズムを用い
たアクセス履歴記録の処理フローである。ブロックへの
アクセスが発生すると、キャッシュ管理テーブル35か
らそのブロックの管理データを検索し、最終アクセス時
間からそのアクセスまでに相関参照時間以上経過してい
るかどうかを調べる(ST51)。
【0092】相関参照時間以上が経過していた場合、H
(1)は今回のアクセス時間に更新され、H(2)には
更新前のH(1)の値に更新される(ST52)。最終
アクセス時間Lは、今回のアクセス時間に更新される
(ST53)。H(2)が更新されるので、キャッシュ
管理テーブル35内のリストがH(2)の新しいものか
ら順に並ぶように、ブロックのリスト上での位置が移動
される(ST54)。
【0093】相関参照時間が経過していなかった場合、
このアクセスは前回のアクセスと同一視されH(1)、
H(2)のアクセス履歴は更新されず、最終アクセス時
間Lだけが更新される。
【0094】図14は、アクセスパターンに基づいて階
層記憶装置の各階層の最適な記憶容量を計算する拡張見
積処理のフローを示したものである。まず、図10に示
した管理用データ領域36におけるメモリ1、ハードデ
ィスク2、ドライブ装置3の拡張単位(メモリ拡張単
位、HD拡張単位、ドライブ拡張単位)、メモリ1のコ
スト、ハードディスク(HD)2のコスト、ドライブ装
置3のコスト等の管理用データを用いて、与えられたコ
スト内で可能な拡張方法の組み合わせを全て作成する
(ST61)。
【0095】たとえば使用可能なコストが、10万円、
メモリ1のコストが10万円/MB、メモリ1の拡張単
位が1MB。ハードディスク2のコストが15万円/G
B、拡張単位が1GB。ドライブ装置3のコストが5万
円/台、拡張単位が1台であれば、メモリ1を1MB拡
張するか、ドライブ装置3を2台増設するかという2つ
の拡張案が作成される。
【0096】次に拡張後の組み合わせの階層記憶装置の
状態を用いてアクセス速度計算部14でアクセス速度を
計算する(ST62)。全ての組み合わせについてアク
セス速度を見積り、最もアクセス速度が速くなると予測
される組み合わせを上位システムに提案する(ST6
3)。
【0097】図15は、与えられた階層記憶装置の構成
と、それまでのアクセス履歴を用いてアクセス速度計算
部14でアクセス速度の見積りを計算する処理を示した
ものである。
【0098】アクセス速度を計算するパラメータとして
は各階層の記憶容量が与えられ、見積りに使用するデー
タとしては図10に示した管理用データ領域36の各階
層に存在するデータへの1ブロック当りの平均アクセス
速度(メモリアクセス速度、HDアクセス速度、ドライ
ブ内メディアアクセス速度、AC内メディア速度)と、
一部の記憶領域が圧縮されている場合のための圧縮/展
開処理時間が用意されている。これらのデータと、図8
に示すディスタンスストリングに記録されたアクセス履
歴を用いて階層記憶装置全体のアクセス速度を計算す
る。
【0099】階層記憶装置が受けたアクセスの内メモリ
キャッシュにあるデータへのアクセス回数を求めるに
は、ディスタンスストリング記録領域34に記録された
ディスタンスの内、メモリ1内のブロック数よりも小さ
いディスタンスの数を数えればよい。例えば、100ブ
ロックのメモリキャッシュを持っている階層記憶装置で
メモリキャッシュにヒットした場合のディスタンスは1
〜100の間の値をとるからである。これをHM とする
(ST71)。
【0100】同様にして、メモリブロック数から(メモ
リブロック数+ハードディスクブロック数)までのディ
スタンスの数がHHDであり、(メモリブロック数+ハー
ドディスクブロック数)から(メモリブロック数+ハー
ドディスクブロック数+ドライブ内ブロック数×ドライ
ブ数)までのディスタンスの数が装填されたメディア5
に対して行われたアクセスの数HMO、それ以外のディス
タンスの数がライブラリ装置(オートチェンジャ)4へ
のアクセスの回数HACである(ST72〜ST74)。
【0101】上述した式(1)にそれぞれ与えられたデ
ータを代入して階層記憶装置全体のアクセス速度を計算
する(ST75)。記憶領域が圧縮されている場合に
は、次の様に容量とアクセス速度を変更して計算を行
う。
【0102】管理用データ領域36における予想圧縮比
率は、データ圧縮を行う場合に圧縮後のデータサイズが
ブロックの半分以下になる割合である。いまメモリ1領
域の1/3が圧縮領域に指定され、その領域に記録され
るデータは圧縮処理を行われているとすると、圧縮され
て記録されるブロックの数は、 圧縮ブロック数=実際のメモリ容量×1/3×予想圧縮比率……(2) であり、メモリ1全体の容量は、 圧縮後の容量=実際のメモリ容量+圧縮ブロック数……(3) となる。またアクセス速度は、 圧縮アクセス速度={実際のアクセス速度×(実際のメモリ容量−圧縮ブロ ック数)+(実際のアクセス速度+圧縮/展開処理時間)×圧縮ブロック数×2 }/(圧縮後の容量)……(4) となる。
【0103】図16は、一定時間毎に起動され、アクセ
ス履歴を元に各階層での最適な記憶手段を見積り、必要
であれば、記憶領域の1部または全部を圧縮領域に指定
する処理のフローである。
【0104】まず、各階層毎に記憶領域をN分割する
(ST81)。Nはあらかじめ階層記憶装置に与えられ
ている値であり、本実施例では「3」であるとする。次
に分割して得られた領域の組み合わせを、各階層から選
ばれる分割領域が異なるように選ぶ(ST82)。例え
ば、{メモリ1とハードディスク1}、{メモリ1、メ
モリ2とハードディスク1とドライブ1とドライブ2}
のように領域の組み合わせが選ばれる。
【0105】選ばれた領域の組み合わせを圧縮領域とし
た場合、各領域の記憶容量はみかけ上(1+予想圧縮比
率)倍に増加する(ST83)。また、圧縮された部分
を持つ階層に対するアクセス速度は上記式(4)で与え
られる速度に変わる(ST84)。
【0106】これらの予想される記憶容量と、アクセス
速度を用いて、各組み合わせ毎に階層記憶装置全体とし
てのアクセス速度を計算し(ST85)、最もアクセス
速度の速くなる状態の組み合わせを選択する(ST8
6)。既に圧縮された領域が存在する場合にはその領域
の圧縮を取りやめた場合の組み合わせも考慮する。
【0107】選択された組み合わせは、次の記憶手段見
積処理まで保存されて使用される。圧縮領域に指定され
た領域への書き込みは図17に示す処理で圧縮して書き
込みが行われ、ブロック管理テーブル31やキャッシュ
管理テーブル35を調べてブロックの一部しか使用して
いないブロックがアクセスされた場合には、データの展
開処理を行う。
【0108】図17は、圧縮領域に指定された領域への
アクセスを行う処理を示したものである。アクセスを受
ける領域が圧縮領域でない場合には何も行わず、通常の
アクセス処理を行う(ST91)。
【0109】圧縮領域へのリード要求を処理する場合
(ST92)はブロック管理テーブル31やキャッシュ
管理テーブル35を検索し、対象のブロックが全ブロッ
クの一部しか使用しない場合(ST93)はデータ転送
に先んじてデータの展開処理を行う(ST94)。
【0110】圧縮領域への書き込み処理を行う場合、実
際のブロックを割当てる前にブロックの圧縮処理を行い
(ST95)、圧縮後のデータサイズがブロックの半分
以下であれば、1/2サイズのブロックを割当てて書き
込みを行う(ST97)。
【0111】圧縮処理を行ってもデータサイズがブロッ
クの半分以下にならない場合は、圧縮を行わず、1つの
ブロック全てを使って元のデータの書き込みを行う(S
T98)。
【0112】次に、第2実施例について説明する。本実
施例においては、ディスタンスストリングを記録する代
わりにLRU−Kで用いられるデータを記録し、ディス
タンスストリングを用いずに各階層の最適容量見積り処
理を行う。
【0113】図18は、階層記憶装置内のブロックのア
クセス間隔を記録するアクセス間隔記録領域37を示し
たものである。図8で示したディスタンスストリング記
録領域34の代わりに用いられる。第1実施例で行われ
るディスタンスを記録する代わりに、ブロックにアクセ
スが発生するたびに、現在時刻とアクセスを受けるブロ
ックのH(2)の差が記録される。記録領域の管理は第
1実施例の場合と同様である。
【0114】図19は、LRU−Kアルゴリズムを用い
て各階層の容量を決定する場合に用いる管理データ38
を示したものである。管理データ38は、所望メモリヒ
ット率、所望HDヒット率、メモリキャッシュアウト間
隔、HDキャッシュアウト間隔とから構成されている。
【0115】所望メモリヒット率と所望ハードディスク
(HD)ヒット率は予め与えられる値であり、アクセス
されるブロックがメモリキャッシュまたはハードディス
クキャッシュに存在する割合がこの値に近くなるように
各階層の記憶手段が変更される。
【0116】メモリキャッシュアウト間隔/ハードディ
スク(HD)キャッシュアウト間隔は、メモリキャッシ
ュ、またはハードディスクキャッシュからブロックのキ
ャッシュアウトが発生するたびに更新される値である。
キャッシュアウトが発生すると、 ブロックのキャッシュアウト間隔=アクセス時間−ブロックのH(2)…
(5) 新しいキャッシュアウト間隔=キャッシュアウト間隔+(キャッシュアウト間 隔−ブロックのキャッシュアウト間隔)/100……(6) として、メモリ/ハードディスクのキャッシュアウト間
隔を更新する。
【0117】本実施例では、階層記憶装置のアクセス速
度を見積もる代わりに、キャッシュ領域へのヒット率を
見積もることで、各階層の最適容量を計算する。すなわ
ち、上位からの要求によって、または一定時間ごとの最
適容量見積り処理の起動によって、記録されたアクセス
間隔のうち、メモリキャッシュアウト間隔以内のアクセ
ス間隔の、記録されたアクセス間隔全体に占める割合が
所望メモリヒット率より小さい場合には、メモリの拡
張、またはメモリ領域の一部/全部を圧縮領域に指定す
る。
【0118】計算した割合が所望メモリヒット率より大
きい場合には、以前の処理で圧縮領域に指定されていた
領域を通常領域に戻すことで圧縮/展開処理のオーバー
ヘッドを排除する。容量見積り処理でキャッシュ容量が
変化した場合、キャッシュアウト間隔を線形に変更して
用いる。すなわち、圧縮領域の指定により、メモリキャ
ッシュ領域が10%増加する場合にはメモリキャッシュ
アウト間隔も10%増加するものとして計算する。
【0119】ハードディスクキャッシュについても同様
で、記録されたアクセス間隔の内、ハードディスクキャ
ッシュアウト間隔以内、メモリキャッシュアウト間隔以
上の値の占める割合を所望ハードディスク(HD)ヒッ
ト率と比較して容量の操作を行う。
【0120】以上説明したように上記実施例によれば、
記憶装置に対するアクセス履歴を元に階層記憶装置の構
成を決定することが出来るので、記憶装置の拡張をアク
セスパターンにあわせて最適に行うことが出来る。
【0121】また、拡張のコストを考慮するので、限定
されたコスト内で可能な、最適な階層記憶構成を決定す
ることが出来る。また、アクセスパターンに対応してデ
ータを圧縮することにより、機器構成を変更することな
く階層の容量を最適な状態に近づけることが出来る。
【0122】データの圧縮を記憶領域の部分に限定して
行うことが出来るので、データ圧縮処理の負荷を小さく
抑えることが出来る。アクセス履歴を記録し、一定時間
毎にその時点でのアクセス履歴を用いて最適な記憶構成
を判断するため、動的なアクセスパターンの変化に対応
して、動的に各階層の記憶方法を変更することが出来
る。
【0123】
【発明の効果】以上詳述したようにこの発明によれば、
階層的に接続される記憶装置を動的に使用状況にあわ
せ、しかもコストを考慮して最適な容量配分で読み書き
を行うことのできる階層記憶装置を提供することができ
る。
【図面の簡単な説明】
【図1】この発明の実施例に係る階層記憶装置のソフト
ウエアの概略構成を示すブロック図。
【図2】光ディスク内の各ブロック単位の記憶領域を示
す図。
【図3】階層記憶装置に対するアクセスの分布例を示す
図。
【図4】この発明の実施例に係る階層記憶装置のシステ
ム構成を示すブロック図。
【図5】階層記憶装置内の記憶ブロックを管理するブロ
ック管理テーブルの記憶例を示す図。
【図6】階層記憶装置内の記憶領域の使用状況をブロッ
ク単位で管理するブロック使用状況管理テーブルの記憶
例を示す図。
【図7】階層記憶装置内のメディアの所在位置、そのメ
ディアへのアクセス履歴、メディア上の空きブロック数
を記録するメディア管理テーブルの記憶例を示す図。
【図8】ディスタンスストリングを記録するために用い
られるディスタンスストリング記録領域の記憶例を示す
図。
【図9】キャッシュ領域に記録された論理ブロックと、
論理ブロックへのアクセス履歴を記録するキャッシュ管
理テーブルの記憶例を示す図。
【図10】階層記憶装置内で用いられる各種管理用デー
タを記録する管理用データ領域の記憶例を示す図。
【図11】装置全体の処理を説明するためのフローチャ
ート。
【図12】キャッシュ領域に空き領域を作成する処理を
説明するためのフローチャート。
【図13】LRU−Kアルゴリズムを用いたアクセス履
歴記録の処理を説明するためのフローチャート。
【図14】アクセスパターンに基づいて階層記憶装置の
各階層の最適な記憶容量を計算する拡張見積処理を説明
するためのフローチャート。
【図15】与えられた階層記憶装置の構成と、それまで
のアクセス履歴を用いてアクセス速度の見積りを計算す
る処理を説明するためのフローチャート。
【図16】一定時間毎に起動され、アクセス履歴を元に
各階層での最適なデータ記録手段を見積り、必要であれ
ば、記憶領域の1部または全部を圧縮領域に指定する処
理を説明するためのフローチャート。
【図17】圧縮領域に指定された領域へのアクセスを行
う処理を説明するためのフローチャート。
【図18】階層記憶装置内のブロックのアクセス間隔を
記録するアクセス間隔記録領域の記憶例を示す図。
【図19】LRU−Kアルゴリズムを用いて各階層の容
量を決定する場合に用いる管理データの記憶例を示す
図。
【符号の説明】
1…メモリ 2、22…ハードディスク 3…可搬型記憶媒体ドライブ装置 4…可搬型記憶媒体ライブラリ装置 5…記憶媒体 6…格納部 7…搬送部 8…転送制御部 9…キャッシュ管理部 10…ブロック管理部 20…CPU 21…メインメモリ 30…管理テーブル

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 アクセス速度の異る複数の記憶装置が階
    層的に接続されて構成される階層記憶装置において、 上記階層記憶装置を構成する複数の記憶装置へのデータ
    のアクセス履歴を記憶するアクセス記憶手段と、 このアクセス記憶手段に記憶されたアクセス履歴から各
    記憶装置へのアクセスの分布を計算し、上記階層記憶装
    置全体としてのアクセス速度を計算するアクセス速度計
    算手段と、 上記階層記憶装置に対する拡張条件に応じて、上記階層
    記憶装置を拡張するアクセス速度の異る記憶装置の可能
    な全ての組み合わせ構成毎に、上記アクセス記憶手段に
    記憶されているアクセス履歴と上記アクセス速度計算手
    段とを用いてアクセス速度を計算し、最もアクセス速度
    の速い上記階層記憶装置を拡張するアクセス速度の異る
    記憶装置の組み合わせ構成を見積もる拡張見積手段と、 を具備したことを特徴とする階層記憶装置。
  2. 【請求項2】 前記階層記憶装置へのデータのアクセス
    履歴としてディスタンスストリングとLRU−Kアルゴ
    リズムとを用いることを特徴とする請求項1に記載の階
    層記憶装置。
  3. 【請求項3】 アクセス速度の異る記憶装置が階層的に
    接続された階層記憶装置において、 上記階層記憶装置へのデータのアクセス履歴を記憶する
    アクセス記憶手段と、 このアクセス記憶手段に記憶されたアクセス履歴から各
    記憶装置へのアクセスの分布を計算し、上記階層記憶装
    置全体としてのアクセス速度を計算するアクセス速度計
    算手段と、 このアクセス速度計算手段で計算される上記階層記憶装
    置全体としてのアクセス速度を定期的に監視するアクセ
    ス速度監視手段と、 上記階層記憶装置に記憶されている圧縮されたデータへ
    のアクセスがある場合には圧縮データを伸張して出力
    し、圧縮領域へのデータの書き込みがある場合にはデー
    タを圧縮して書き込み、上記階層記憶装置の圧縮データ
    領域へのアクセスを管理する圧縮領域管理手段と、 上記アクセス速度監視手段で監視されるアクセス速度に
    応じて、上記圧縮領域管理手段による圧縮データ領域へ
    のアクセス管理を制御する制御手段と、 を具備したことを特徴とする階層記憶装置。
  4. 【請求項4】 アクセス速度の異る記憶装置が階層的に
    接続され、高速記憶装置を低速大容量記憶装置のキャッ
    シュとして用いる階層記憶装置において、 上記階層記憶装置へのデータのアクセス履歴を記憶する
    アクセス記憶手段と、 このアクセス記憶手段に記憶されたアクセス履歴から各
    記憶装置へのアクセスの分布を計算し、上記階層記憶装
    置全体としてのアクセス速度を計算するアクセス速度計
    算手段と、 このアクセス速度計算手段で計算される上記階層記憶装
    置全体としてのアクセス速度を定期的に監視するアクセ
    ス速度監視手段と、 上記高速記憶装置に記憶されている圧縮されたデータへ
    のアクセスがある場合には圧縮データを伸張して出力
    し、圧縮領域へのデータの書き込みがある場合にはデー
    タを圧縮して書き込み、上記高速記憶装置の圧縮データ
    領域へのアクセスを管理する圧縮領域管理手段と、 上記低速大容量記憶装置へのアクセスが増加して上記ア
    クセス速度監視手段で監視されるアクセス速度が低下し
    ている場合、上記高速記憶装置の記憶領域の一部または
    全部を上記圧縮領域管理手段を用いて圧縮領域とする制
    御を行う第1の制御手段と、 上記高速記憶装置の記憶領域に設定された圧縮領域への
    アクセスがオーバーヘッドになって上記アクセス速度監
    視手段で監視されるアクセス速度が低下している場合、
    上記高速記憶装置の記憶領域に設定された圧縮領域を上
    記圧縮領域管理手段を用いて解除する制御を行う第2の
    制御手段と、 を具備したことを特徴とする階層記憶装置。
  5. 【請求項5】 アクセス速度の異る複数の記憶装置が階
    層的に接続されて構成される階層記憶装置において、 上記階層記憶装置に対する拡張条件に応じて、上記階層
    記憶装置を拡張するアクセス速度の異る記憶装置の可能
    な全ての組み合わせ構成毎に、記憶された上記階層記憶
    装置を構成する複数の記憶装置へのデータのアクセス履
    歴から各記憶装置へのアクセスの分布を計算して上記階
    層記憶装置全体としてのアクセス速度を計算し、最もア
    クセス速度の速い上記階層記憶装置を拡張するアクセス
    速度の異る記憶装置の組み合わせ構成を見積もることを
    特徴とする階層記憶装置の見積り方法。
  6. 【請求項6】 アクセス速度の異る記憶装置が階層的に
    接続された階層記憶装置において、 記憶された上記階層記憶装置へのデータのアクセス履歴
    から各記憶装置へのアクセスの分布を計算して上記階層
    記憶装置全体としてのアクセス速度を計算し、 この計算される上記階層記憶装置全体としてのアクセス
    速度を定期的に監視し、 上記階層記憶装置に記憶されている圧縮されたデータへ
    のアクセスがある場合には圧縮データを伸張して出力
    し、圧縮領域へのデータの書き込みがある場合にはデー
    タを圧縮して書き込み、上記階層記憶装置の圧縮データ
    領域へのアクセスを管理し、 上記定期的に監視されるアクセス速度に応じて、上記圧
    縮データ領域へのアクセス管理を制御することを特徴と
    する階層記憶方法。
  7. 【請求項7】 アクセス速度の異る記憶装置が階層的に
    接続され、高速記憶装置を低速大容量記憶装置のキャッ
    シュとして用いる階層記憶装置において、 記憶される上記階層記憶装置へのデータのアクセス履歴
    から各記憶装置へのアクセスの分布を計算して上記階層
    記憶装置全体としてのアクセス速度を計算し、 この計算される上記階層記憶装置全体としてのアクセス
    速度を定期的に監視し、 上記高速記憶装置に記憶されている圧縮されたデータへ
    のアクセスがある場合には圧縮データを伸張して出力
    し、圧縮領域へのデータの書き込みがある場合にはデー
    タを圧縮して書き込み、上記高速記憶装置の圧縮データ
    領域へのアクセスを管理し、 上記低速大容量記憶装置へのアクセスが増加して上記定
    期的に監視されるアクセス速度が低下している場合、上
    記高速記憶装置の記憶領域の一部または全部を圧縮領域
    とする上記アクセス管理の制御を行い、 上記高速記憶装置の記憶領域に設定された圧縮領域への
    アクセスがオーバーヘッドになって上記定期的に監視さ
    れるアクセス速度が低下している場合、上記高速記憶装
    置の記憶領域に設定された圧縮領域を解除する上記アク
    セス管理の制御を行うことを特徴とする階層記憶方法。
JP7151729A 1995-06-19 1995-06-19 階層記憶装置 Pending JPH096678A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7151729A JPH096678A (ja) 1995-06-19 1995-06-19 階層記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7151729A JPH096678A (ja) 1995-06-19 1995-06-19 階層記憶装置

Publications (1)

Publication Number Publication Date
JPH096678A true JPH096678A (ja) 1997-01-10

Family

ID=15525022

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7151729A Pending JPH096678A (ja) 1995-06-19 1995-06-19 階層記憶装置

Country Status (1)

Country Link
JP (1) JPH096678A (ja)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10260890A (ja) * 1997-03-18 1998-09-29 Sharp Corp ハイパーテキストデータブラウジングシステム
US6145067A (en) * 1997-11-06 2000-11-07 Nec Corporation Disk array device
JP2001111602A (ja) * 1999-10-04 2001-04-20 Toshiba Corp データ提供装置及び方法
JP2006120162A (ja) * 2004-10-22 2006-05-11 Quantum Corp 異なる種類のデータ記憶媒体にデータを記憶するためのデータストレージシステムおよび方法、磁気テープに記憶されたデータの読取または変更を最適化する方法、ならびにコンピュータ読取可能な記憶媒体
JP2007305076A (ja) * 2006-05-15 2007-11-22 Hitachi Ltd バックアップ及び/又はリストアを行う記憶制御方法及びシステム
JP2010122814A (ja) * 2008-11-18 2010-06-03 Hitachi Ltd ストレージシステム及びストレージシステムの運用方法
JP2010282324A (ja) * 2009-06-03 2010-12-16 Fujitsu Ltd ストレージ制御装置、ストレージシステムおよびストレージ制御方法
JP2012103847A (ja) * 2010-11-09 2012-05-31 Nec Corp データベース移行管理装置及びその方法
JP2012515969A (ja) * 2009-01-23 2012-07-12 エルエスアイ コーポレーション アロケートオンライトのスナップショットを用いた、ダイナミックストレージ階層化のための方法及びシステム
US8262131B2 (en) * 2009-07-21 2012-09-11 Ford Global Technologies, Llc Automotive knee bolster system
JP2014016863A (ja) * 2012-07-10 2014-01-30 Nec Corp キャッシュ制御装置およびキャッシュ制御方法
WO2015145532A1 (ja) * 2014-03-24 2015-10-01 株式会社日立製作所 ストレージシステム及びデータ処理方法
WO2015145707A1 (ja) * 2014-03-28 2015-10-01 株式会社日立製作所 追記型記憶装置への書き込みデータ決定方法
US20160142335A1 (en) 2014-11-19 2016-05-19 Fujitsu Limited Storage management device, storage management method, and computer-readable recording medium
US9727247B2 (en) 2013-03-15 2017-08-08 Nec Corporation Storage device and method, and storage medium
US10037162B2 (en) 2015-06-15 2018-07-31 Fujitsu Limited Storage management device, storage management method, and computer-readable recording medium

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10260890A (ja) * 1997-03-18 1998-09-29 Sharp Corp ハイパーテキストデータブラウジングシステム
US6145067A (en) * 1997-11-06 2000-11-07 Nec Corporation Disk array device
JP2001111602A (ja) * 1999-10-04 2001-04-20 Toshiba Corp データ提供装置及び方法
JP2006120162A (ja) * 2004-10-22 2006-05-11 Quantum Corp 異なる種類のデータ記憶媒体にデータを記憶するためのデータストレージシステムおよび方法、磁気テープに記憶されたデータの読取または変更を最適化する方法、ならびにコンピュータ読取可能な記憶媒体
JP2007305076A (ja) * 2006-05-15 2007-11-22 Hitachi Ltd バックアップ及び/又はリストアを行う記憶制御方法及びシステム
JP2010122814A (ja) * 2008-11-18 2010-06-03 Hitachi Ltd ストレージシステム及びストレージシステムの運用方法
JP2012515969A (ja) * 2009-01-23 2012-07-12 エルエスアイ コーポレーション アロケートオンライトのスナップショットを用いた、ダイナミックストレージ階層化のための方法及びシステム
US8713267B2 (en) 2009-01-23 2014-04-29 Lsi Corporation Method and system for dynamic storage tiering using allocate-on-write snapshots
US8321628B2 (en) 2009-06-03 2012-11-27 Fujitsu Limited Storage system, storage control device, and method
JP2010282324A (ja) * 2009-06-03 2010-12-16 Fujitsu Ltd ストレージ制御装置、ストレージシステムおよびストレージ制御方法
US8262131B2 (en) * 2009-07-21 2012-09-11 Ford Global Technologies, Llc Automotive knee bolster system
JP2012103847A (ja) * 2010-11-09 2012-05-31 Nec Corp データベース移行管理装置及びその方法
JP2014016863A (ja) * 2012-07-10 2014-01-30 Nec Corp キャッシュ制御装置およびキャッシュ制御方法
US9727247B2 (en) 2013-03-15 2017-08-08 Nec Corporation Storage device and method, and storage medium
WO2015145532A1 (ja) * 2014-03-24 2015-10-01 株式会社日立製作所 ストレージシステム及びデータ処理方法
US10120601B2 (en) 2014-03-24 2018-11-06 Hitachi, Ltd. Storage system and data processing method
WO2015145707A1 (ja) * 2014-03-28 2015-10-01 株式会社日立製作所 追記型記憶装置への書き込みデータ決定方法
US20160142335A1 (en) 2014-11-19 2016-05-19 Fujitsu Limited Storage management device, storage management method, and computer-readable recording medium
US10277676B2 (en) 2014-11-19 2019-04-30 Fujitsu Limited Storage management device, storage management method, and computer-readable recording medium
US10037162B2 (en) 2015-06-15 2018-07-31 Fujitsu Limited Storage management device, storage management method, and computer-readable recording medium

Similar Documents

Publication Publication Date Title
US7085895B2 (en) Apparatus, system, and method flushing data from a cache to secondary storage
US5893139A (en) Data storage device and storage method in which algorithms are provided for calculating access frequencies of data
JPH0877073A (ja) 集合光ディスク装置
JPH096678A (ja) 階層記憶装置
US5537568A (en) System for dynamically controlling cache manager maintaining cache index and controlling sequential data access
JP3086773B2 (ja) 光ディスク装置
US5734861A (en) Log-structured disk array with garbage collection regrouping of tracks to preserve seek affinity
JP2831602B2 (ja) 圧縮データ管理装置及び圧縮データ管理方法
JP3898782B2 (ja) 情報記録再生装置
US4974197A (en) Batching data objects for recording on optical disks with maximum object count
JPH0644137A (ja) 動的マップド・データ蓄積システムにおける補助記憶装置へのデータ転送のための方法および装置
JPH0571976B2 (ja)
JPH05307440A (ja) データ記憶フォーマット変換方式及びその変換方法及びアクセス制御装置及びデータアクセス方法
JP2002342037A (ja) ディスク装置
US5420983A (en) Method for merging memory blocks, fetching associated disk chunk, merging memory blocks with the disk chunk, and writing the merged data
US5671390A (en) Log structured array storage subsystem using LSA directory and LSA sub-directory stored in different storage media
US20070174550A1 (en) Data area managing method in information recording medium and information processor employing data area managing method
JPH08263335A (ja) データ記憶装置
US6532513B1 (en) Information recording and reproduction apparatus
JP3184054B2 (ja) 集合型データ処理装置及び集合型データ処理装置のコンパクション方法
JPH0934791A (ja) 情報記憶装置
JPH06332622A (ja) 情報処理装置
JP3282525B2 (ja) データ管理装置及びネットワークデータ管理システム
JP2854668B2 (ja) ディスク・キャッシュ制御方式
JPH06214720A (ja) ディスク記憶装置のデータ更新方法