JPS58161060A - キヤツシユ・メモリ−空間の適合領域区分方法 - Google Patents

キヤツシユ・メモリ−空間の適合領域区分方法

Info

Publication number
JPS58161060A
JPS58161060A JP57208381A JP20838182A JPS58161060A JP S58161060 A JPS58161060 A JP S58161060A JP 57208381 A JP57208381 A JP 57208381A JP 20838182 A JP20838182 A JP 20838182A JP S58161060 A JPS58161060 A JP S58161060A
Authority
JP
Japan
Prior art keywords
regions
region
storage
area
frame
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
JP57208381A
Other languages
English (en)
Inventor
リチヤ−ド・エル・ク−ルソン
ロナルド・エル・ブリツケンスタツフ
ピ−・デ−ビツド・ドツド
ロバ−ト・ジエイ・モレノ
デイ−ン・ピ−・キナ−ド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Storage Technology Corp
Original Assignee
Storage Technology 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 Storage Technology Corp filed Critical Storage Technology Corp
Publication of JPS58161060A publication Critical patent/JPS58161060A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/312In storage controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/601Reconfiguration of cache memory
    • 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/99956File allocation

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の属する技術分野〕 本発明は、データの記憶管理および制御技術に関する。
特に、本発明は、種々のテープの長期磁気記憶装置と関
連して使用されるソリッド・ステート・メモリーがメモ
リー・システムに入れられろ種々の要求にも拘らず有効
なキャッシュ・メモリーの使用を確保するように選択さ
れたサイズのブロック即ち「領域」に再分割することが
できるメモリー・システムに関スル。
〔従来技術および本発明の詳細な説明〕本発明は、主と
して長期磁気ディスク記憶媒体に対する付属物として使
用されるように構成されたソリッド・ステートOキャッ
シュ・メモリー・サブシステムに関するものである。こ
のキャッシュ・メモリーは、キャッシュ・メモリー・シ
ステムが上位コンピュータに対してプラグ・コンパチビ
リティを有しかつソフトウェア互換性を有するように、
このようなソリッド・ステート・メモリー・サブシステ
ムと共に使用するようには特に構成さえtない従来のデ
ータ伝送チャネルの外部で接続されている。特に、本発
明は参考のため本文に′引用する1981年11月27
日出願の係属中のツシュ・メモリー・サツシステムに従
って作動するように構成される。この出願は、記憶ディ
レクタに対し作用的に接続され、この記憶ディレクタが
更に一端部において上位コンピュータと他端部において
制御モジュールとの間に接続されたキャッシュOメモリ
ー・サブシステムについて記述スる。更に、この制御モ
ジュールは実際のディスク・ドライノと接続する。当技
術においては周知の如く、前記ディレクタは上位コンピ
ュータを制御モジュールとインターフェースするように
作用しこの制御モジュールは更に前記ディレクタをディ
スク・ドライブとインターフェースする。この制御モジ
ュールはディスク・ドライブの特定の形式に従って選択
されるが、ディレクタは種々の形式の制御モジュールと
、従って種々の形式のディスク・ドライブと共に使用す
ることがでとる。本発明のこのような用途においては、
キャッシュはディレクタにより種々の種類のディスク・
ドライブと共に使用されるようになっている。
以上述べた係属中の米国特許出願の発明におけろソリッ
ド・ステート・キャッシュ・メモリーサツシステムの横
部は、このあるデータに対する実際の上位コンピュータ
の要求に先立ってF位コ、ンピュータにより呼出される
ものとして判定されたあるデータを記憶することである
。この判定は、これもまた参考のため本文に引用する1
981年11月27日出願の別の係属中の米国特許出願
第325.350号において開示された発明に従ってな
される5本発明の望ましい一実施態様においては、デー
タの特定のブロックが上位コンピュータにより呼出され
ようとすることを一旦判定するとデータの前記ブロック
を含むディスク・トラック全体が、上位コンピュータに
よる呼出しを見越してキャッシュ・メモリーに一時的に
記憶するため持込まれる。キャッシュ・メモリー・サブ
システムはあるトラックに記憶された様々な量のデータ
を更に有する種々の形式のディスク・ドライブと共働す
るようになってなげればならない限り、種々のサイズの
ディスクのドラックがその内部にトラック単位で記憶さ
れるという事実にも拘らず可能である程度にキャッシュ
・メモリーが有効となる装置を設けなければならな馳。
例えば、もしキャッシュ・メモリー全体が200キロバ
イト(以下本文においては、200kbと記す)のデー
タを保有するものとすれば、このようなトラックの10
トラツクがキャッシュに対応することになろう。換言す
れば、このキャッシュは10個の20kbの「フレーム
」に分割することができるのである。例えば、全部で1
0のフレームが一杯となって別のトラックをキャッシュ
することが望ましい場合、キャッシュ管理装置は単に1
つのフレーム、例えば最近はとんど使用されなかったデ
ータを保有するフレームの割当てを解除してこのフレー
ムを新たなトラックに割当てることもできる。
しかし、もし別の形式の例えば25 kbのサイズのト
ラックを有するディスク・ドライブに記憶されたデータ
のステージング操作が必要とされるならば、25kbの
トラックを収容するため2つの隣接する2 0 kbの
フレームの割当てを解除することが必要となり、このた
め15kbの空間が無駄になる。仮に2つの隣接するフ
レームの割当て解除が有効データの損失なしに可能であ
ったとしても、空間の無駄は明らかに望ましいことでは
ない。一方もしソリッド・ステート・メモリー全体が1
つのサイズの唯1本のトラックの記憶のための1つの再
分割部分即ち「領域」に分割され、また別の再分割部分
が別のサイズのトラックの記憶域と比例するならば、メ
モリーの個々の領域は充分な割当てが可能となろう。し
かし、この解決法の使用は2つのサイズのトラックの相
対的な活動状態が時間に関して一定となることを再前提
としこれはこの場合には期待できない。このように、キ
ャッシュを最も有効に使用するためには、ソリッド・ス
テート・メモリーの全領域がキャッシュにより保持され
るどんなトラ゛ツク・サイズに対してアクセス可能であ
ることが望ましい。最優に、全てのトラック・サイズを
非常圧小さな均一サイズの「ページ」、例えばフレーム
内で略々均等に適合する2kb に分割することもでき
る。しかしこの方法は構成のため複雑なハードウェアを
必要とし、更に個々のディスクのトラックが必然的にキ
ャッシュの各部分において記憶されようとする傾向を有
するためキャッシュの効率を付加的に低減させることに
なり、その結果更に多(のサポートを要し、例えば、あ
るトラックの各部分の数多くの記憶場所の呼戻しを惹起
することになる。
従って、本発明の目的はソリッド・ステート・キャッシ
ュ・メモリーにおいて使用可能な記憶域が最も有効に使
用できる装置の提供にある。
本発明の別の目的はソリッド・ステート・キャッシュ・
メモリー・サブシステムが種々のサイズのデータ・レコ
ードの記憶のため有効に作動できる方法の提供にある。
本発明の更に別の目的は、使用可能な記憶空間を完全に
使用するように、実際の使用に従って複数のクラスの領
域に前身て分割されたキャッシュ・メモリーを「適正に
」即ち「動的に」再構成するための装置の提供にある。
前述の当技術の要望事項および本発明の諸口的は、ソ1
1ツド・ステート・メモリーが領域に再分割される本発
明によって満たされるのである。この領域のサイズは、
例えば1つのクラスの装置からの6つの50 kbのト
ラックが別のクラスからの2つの75 kbのトラック
と同じ150 kbの領域内に適合するように、その内
部に記憶することを要するトラック・サイズの各々の略
々整数倍となるように選択される。従って、個々の領域
はある1つの形式の素子からのトラックの記憶のため割
当てられ、次いで個々のトラックが書込まれるトラック
・サイズのフレームに分割される。領域の使用に関して
は統計が行なわれる。もしある特定形式の素子からステ
ージ操作されたデータが他を支配することを表示するな
らば、使用可能な総記憶空間の有効使用を確保するため
別の領域が第2の素子形式から第1の素子形式へ再割当
てされる。このように、同じ記憶領域における種々のト
ラック・サイズの混在のための断片化が避けられるので
ある。
〔図面による説明〕一 本発明については図面を照合すれば更によく理解されよ
う。
前述の如く、本発明の適合領域の区分方法は、上位コン
ピュータによるその呼出しを予期してデ、イスク・メモ
リー上に記憶されるデータを保有するように操作される
ソリッド・ステート・キャッシュ・メモリー・サブシス
テムにおいて使用されるように構成されている。
第1図はこのようなシステムの簡単なブロック図を示し
ている。上位コンピュータ10は記憶ディレクタ16に
対して従来のチャネル・インターフェース12により接
続されている。この記憶ディレクタは更に、図示の如(
異なる形式のものでよいディスク・ドライブ14をそれ
自体が制御する複数の制御モジュール18に対してイン
ターフェースする。特に、ディスク14の1つのあるト
ラック上に記憶されたデータ量は変動し得る。例えば、
参考のため本文に引用する1981年11月27日出願
の減属中の米国特許出願第325.350号によるキャ
ッシュ管理装置24によってソリツド・ステート・キャ
ッシュ・メモリーのアレー22におけるあるトラックの
全内容を記憶することが望ましいとする判定が行なわれ
る時、ディスク14上のトラックの長さに対してサイズ
において対応するキャッシュの多数の場所、即ちキャッ
シュの場所のあるrフレーム」がこのデータに対して割
当てられなげればならない。キャッシュ管理装置により
、ある特定のトラックをキャッシュ・アレー22におけ
るあるフレームにステージング操作することが必要な時
、1つのフレームがこのトラックに対して割当てられ、
操作が進行する。
本発明は、このキャッシュ・アレー22の再分割部分即
ち「領域」への有効な分割に関するものである。この値
域のサイズは、種々の長さのディスク・トラックの略々
全数が各領域における「フレーム」に適合するように選
択されている。このように、この領域のある特定のトラ
ック長さに対する割当ての後、この領域はトラックの長
さと対応するサイドの「フレーム」に分割されるのであ
る。
ある時一点においては、−ある特定の長さのトラックに
対して割当てられた全ての領域の使用頻度が大きいが他
の形式のディスクのトラックに対して割当てられたもの
はそれ程ではないことを予期することができる。本発明
の重要な特質によれば、この領域は、異なる形式のディ
スク・メモリー素子に格納されたデータを保持するよう
に有効に再割当てすることができるように全てが同じサ
イズとなるように選択されている。これら領域は、使用
状態に従って異なるサイズのフレームに「動的に」再区
分される。このため、この領域サイズはこれら領域が種
々のサイズの整数個のフレームを保有するように選択さ
れている。第2図はこれを如何にして行なうかを示す一
例を示している。この場合、領域のサイズは略々256
 kb である。
ある望ましい実施態様においては、キャッシュは略々3
メガバイトの総容量に対してこのような領域を12保有
している。6つの可能な領域の再分割の手法が第2図に
示されている。
第2A図は、本発明の譲受人であるStorageTe
chnology社が市販するモデル8650デイスク
・ドライブと共に使用される領域に対し適合し得る方式
を示し、この場合には各トラックは19,069バイト
、プラス「見出し」情報を識別する数ノミイトを保有し
ている。このようなトラックの内見出しを有する13ト
ラツクが256 kbの領域内に適合する。Stora
ge Technology社のモデル8375デイス
ク・ドライブは約37.000バイトのトラック・サイ
ズを有する。第2B図に示されるように、見出しを有す
るこのように37.000kbの6つのトラックが25
6kbの領域内に適合する0最後に、Storage 
Technology 社のモデル8580デイスク・
ドライブは47.476バイトのトラック・サイズを有
する。第2C図は見出し付きのこのようなフレームが5
つ256kbの領域サイズに充分適合することを啄して
いる。
本発明によれば、キャッシュの空間割当ての動的な再分
割は使用頻度に従って行なわれる。このため、ひどい断
片化を生じることなく高い記憶効率が可能となる。断片
化は、使用可能なフレームのサイズと使用可能なフレー
ムに記憶されるべきトラック・サイズとの間の対応の欠
如による空間の無駄である。ひどい断片化状感は、必要
に応じて再フレーミングによっである素子から他の素子
へ再割当てを行なうことが可能であるために避けられる
。一時に1つの領域しか再割当てが行なわれず、このた
めキャッシュ全体の構成を無効にする必要を排除するこ
とにより安定化および簡素化が提供される。「領域使用
頻度カウント」を保持してどのクラスの領域が大きな使
用頻度を有するかを追跡する。これにより、領域のその
時の割当てが如何なる特定の時点においてもシステムの
使用頻度に関して最も効率的であるかを判定することを
可能にする。これについては第6図および第4図に関し
て以下に論述する。
アドレス指定されなければならない事前の問題はフレー
ムの割当て、即ち、最適のフレームを選んでキャッシュ
Oアレーに対してステージング操作を行なうためあるト
ラックを割当てることである。この「最適なフレーム」
は、どれかのトラック忙その時割当てが行なわれないも
のである。しかし、もしフレームが全く自由状態になけ
れば、あるフレームがその時割当てられていたトラック
からこのフレームを「取外し」、ステージ操作を行なう
べき新たなトラックに対して再割当てされなければなら
ない。この取外しに最適のフレームは、上位コンピュー
タによりもはや読出されないものである。上位コン上0
ユータにより以前として読出されつ、つあるフレームは
、データが読出される前にフレームが取外されるならば
トラックのステージング操作に費やされるオーバーヘッ
ドは回復されない故に、取外すべきではない。本発明の
現在望ましい実施態様においては、フレームの割当ては
「最近はとんど使用されないJ (LRlJ)手法を用
いて実施される。このLRU法はフレームのリストによ
って構成される。このリストは、最も後で使用されたフ
レームが配される頂部と、最近使用されなかったフレー
ムおよび自由状態にあるフレームに対応する底部とを有
する。このためあるフレームが使用されると、即ちステ
ージング操作または読出し力で行なわれる時、その名前
が前されると、これはリストの底部に移動される。この
状態は、上位コンピュータが書込み操作をこれから前記
フレームの内容がステージング操作されたディスクにお
ける領域に送る時に生じて前記フレームにおけるデータ
を無効化し、あるいは全てのレコードが前記トラックか
ら読出された時に生じる。このようrtc、前記リスト
の底部は自由状態のフレームまたは最近はとんど使用さ
れなかったフレームを保有し、このリストの底部にある
フレームは一般にステージ操作されるトラックへの割当
てに最適のものである。熱論、フレームが割当てられる
時、このフレームは前記リストの頂部に移動されてこれ
が最も最近使用されたことを表示するO しかし、仮にLRU法によっても、もし1つ以上のクラ
スの異なるサイズの領域がキャッシュ・メモリーに存在
するならば、第1の形式のものは第2の形式のものより
も遥かに頻繁に使用されることになり、その結果第1の
領域形式は、例えば第2の領域形式のリストよりも比較
的少ない自由状態のフレームを有することになる。一般
に、システムの性能は、第2の形式の記憶域から第1の
形式の記憶域に領域を再割当てすることにより改善する
ことができる。この領域の再割当て法はキャッシュ空間
の有効な使用を可能にする。ある特定の素子に適するフ
レームに対する需要は時と共に変化するため、領域を需
要に基づいた素子形式への動的な割当ておよび割当て解
除を行なうことが特に望ましい。本発明の重要な特質は
適合即ち動的な領域割当て手法に関し、望ましい実施態
様においては、本発明は異なるトラック記憶容量を有す
る2つの形式のディスク記憶素子を支持するものであり
、1つのキャッシュにおいて6つ以上のクラスの領域を
提供することも可能であるが、例えば、素子形式Aから
素子形式Bへの領域の再割当てを行なうこ、とができる
。このように、キャッシュ空間は入出力動作に比例して
割当てられるものである。
本発明の現在望ましい実施態様によれば、領域割当て決
定法により3つの問題点が考えられろ。
即ち、 領域の切換え頻度はどの程度か? 何時領域の切換えを行なうか? どの領域を切換えるか? である。第1の問題に関して、現在望ましい実施態様に
おいては領域の切換えは1000 回のステージング操
作毎に1回程度、即ち1000回毎に1つのデータ・ト
ラックがキャッシュ・メモリ    □−に読込まれる
のである。本発明の比較的大きな実施態様の場合には、
上記の頻度は略々60乃至60秒毎に生じることが予測
される。
第2の問題は何時領域の切換えを行なうかの問題である
。この判定は、素子形式Bに対する素子形式Aのキャッ
シュ入出力アクテイビテイ化量の不平衡状態に基づかな
ければならない。この入出力アクティビティの適当な測
定方法は、各素子形式に対して割当てられた領域に対す
るステージ操作をカウントすることである。このステー
ジ操作カウント比率は理想的なFフレーム使用可能」率
と等しくなければならない。更に、フレームの使用可能
率は、領域当りのフレーム数が既知のため理想的な「割
当てられた領域」比率の計算に使用することができる。
もし実際の領域の割当て比率が理想的な領域割当て率と
異なるならば、これが領域を切換えるべき時間である。
このように、単に領域形式のアクティビティを測定する
場合とは対照的に種々のフレームの相対的サイズについ
ての配慮が取除かれる。
第6の最も難しい問題はどの領域を切換えるべきかの判
定である。多くの最近使用されたフレームを有する領域
は明らかに切換えのための良好な候補ではない。切換え
に最適な領域は、その代り多くの古い自由状態のフレー
ムを有する領域である。2つの代替的な場合が考えられ
る。第1に、前述のLFtUリストは各領域のフレーム
の相対的な履歴を示すから、このリストはどの領域を切
換えるかの決定のため使用することができる。前述のリ
ストにおける予め定めた数のフレームの走査を行なうこ
とができ−この領域に帰属するフレームがリスト上に見
出された時各領域に対するカウンタな増進させる。従っ
て、この走査の終りにおける最も小さなカウントを有す
る領域は、その時はとんど活動状態にないものである。
この走査はリストの頂部に対して限定すべきであるが、
これはここでアクティビティが生じる場所であるためで
ある。これが古い無効なフレームが集まる場所であるた
め、このリストの最下位が最も有利に索引することがで
きる。しかし、もし唯1つの活動状態ノフレームしか多
数の古いフレームと同じ領域にない場合には、好ましか
らざる領域再割当て操作により充分に無効化されよう。
2番目の代替策は、最近はとんど使用されなかったフレ
ームのリストを検査する代りに各領域に対するステージ
ング操作をカウントすることである。これにより再び相
対的なアクティビティの表示が得られることになろう。
このように、本発明による領域切換え法は2つの部分を
有することが明らかであろう。即ち、領域を1つのクラ
スから他のクラスに切換えることが望ましいかどうかを
判定する判断部分と、切換えるべき領域を決定する実際
の切換え部分である。
特定の望ましい実施態様においては、この判断部分は実
行時間を節減するため駆動される表でありこれは即ち素
子がONになる時、その結果の再割当ての決定がその時
単に複雑な計算を要さずに索引法によることができるよ
うな相対的なアクティビティ・しばルを変更するため領
域の理想的な割当てを表示する索引表が生成されて記憶
される。
領域の切換え操作が2つの素子形式の間に生じる本発明
の望ましい実施態様において使用可能なこのような領域
切換え決定表を第3図に示す。
この表は事後工MPL時間に(即ち、素子の最初のロー
ディングと同時に)全ての可能な領域切換え決定の実施
により構成され、これによりこの決定が実際に行なわれ
る時計算時間を短縮する。この決定は、このように、例
えば素子形式Aに対して割当てられた領域数および「領
域使用頻度」−形式Aの素子からの実際のステージング
操作を表わす数−に基づく特定の時点の簡単な表の索引
となるのである。第6図の実施態様においては、この表
は素子形式Aの領域に対するステージング操作の相対数
を表わす水平軸に沿った零と15(即ち、16進数にお
けるF)との間の数を示している。各欄はこのためAの
使用頻度数を表わす。この表は、その各々がある時点に
おいて素子Aに対して割当てられた領域数を表わすある
時点における1つの水平方向の「行」により構成される
。このように、各行毎、即ちA型の素子に対して割当て
られた各領域数毎に、理想的な目標の素子Aの使用頻度
が存在する。このため、木表は素子Aに割当てられた領
域の数とある時点における段階Aの相対数との間の相互
関係を提供する。もしこの対応が見出されなげれば、領
域の切換え操作を実施すべきことは明らかである。目標
の素子Aの使用頻度は、理想的なキャッシュの区分が下
記の状態において達成されるという前提に基づいて計算
される。即ち、 フレームA ステージA フレームB ステージB 「目標Aステージ」なる用語を定義することができるが
、これはもしステージング操作がキャッシュの割当てと
均衡していた場合に素子形式Aに対して割当てられた領
域について生じることになるステージ数である。これは
、実際のフレームAの使用頻度と比較することができる
目標Aフレーム使用頻度をもたらし、どれだけの頻度で
実際のステージ・アクティビティを理想とされる頻度と
比較するかを決定する。このよ5に、第3はの表におい
ては、各水平方向の行はある素子に対して割当てられた
ある領域数を表わす。この目標A使用頻度はこの時この
行について同じである。3つの表示の内の1つがこの時
実際の使用による前記性の各位置に対して充填される。
もし実際の素子Aの使用頻度が目標素子A使用頻度より
も大きければB対Aの領域の再割当てが継続中である、
即ち望ましいことを表示する小さなaで埋められ、これ
により、もしAフレームの割当てに対する要求がその時
の割当てに基づいて満たすことができなければ、フレー
ムのBからAへの切換えが受入れるべき動作であること
を表示する。同様に、もし素子Aの使用頻度が目標素子
Aの使用頻度よりも小さければ、継続中のAからBへの
切換えを表示する小さなりで埋められる。さもなければ
、「切換え要求がない」条件を示すnが充填される。
表■から判るように、各行に対する列のいくつかの典型
的な列6は切換えが継続中でないことを示すnを有する
。これは、生じることが予期できる短い期間にわたる領
域形式当りのステージ数の統計的な賓動の故の不必要な
領域の切換えを阻止するために望ましいが、領域の再割
当てが要求されることは表示しない。このように、列に
おける複数のnが本発明による領域の切換えに対する擬
似的な減衰効果を生じるのである。
前述の如く、領域の切換えは1つのフレームに対する要
求に基づき、また統計保持操作において生じた「領域切
換え存続中」の値に基づいて開始される。その後、もし
データが一時保管され適正な素子形式に対するフレーム
が自由状態でなく、また適正な素子形式のフレームを提
供することになる領域切換え操作の続行中であれば、こ
の領域切換え操作が開始されるのである。
領域切換え操作において実施される最初のタスクは、切
換えのためにはどの領域が最適であるかの判定である。
「出発点」の素子形式の最近はとんど使用されないリス
トを走査して、最近はとんど使用されなかったリストの
頂部の半分において最も少ないフレームをどの領域が有
するかを判定する。もしこの領域が更に「使用中」もし
くは「進行中のステージ」なる表示を付したフレームを
持たなければ、これが切換えのため最適のものであると
される。さもなければ、最近はとんど使用されないリス
トの頂部における次に頻度の少ないフレームを有する領
域が選択される。一旦ある領域が切換えのため選択され
ると、この領域は新たな素子形式に変換される。この領
域に属する全ての有効フレームは割当てが解除される。
この領域における全てのフレームは「出発点の」素子形
式の最近はとんど使用されないリストから外される。新
たな領域と適合する新たなフレーム数は新たな素子の形
式の最近はとんど使用されないリストの底部に関連付け
られる。最後に、キャッシュ・アレーに対する新たなポ
インタが新たな素子形式のフレーム・サイズに従って各
フレームに対して割当てられる。このように、領域変換
ルーチンが終了すると、新たなフレームが新たな素子形
式の最近はとんど使用されないフレーム・リストの底部
に置かれて自由状態である旨の表示がなされる。
第4図は、本発明による判定法を示す概略図である。前
述の如く、プログラムの初期ロードにおいて、本発明に
よる判定法を示す概略図である。
前述の如く、初期プログラム・ローディング即ち30の
rIMPL時間」においては、本表はブロック62にお
ける如く全ての可能な判定により書込まれ、次いで本表
は第6図の如く示されろ。この情報はその時領域切書込
判定モジ・ニールろ4により使用可能である。この判定
法はまた、領域の使用状態がその時領域の割当てと対応
するかどうかについて表示するブロック66における如
き領域の切換え情況値が与えられろ。従って、参考のた
め本文に引用する1981年11月27日出願の係属中
の米国特許出願第、325.650号にオ6いて論述さ
れるように、キャッシュ管理装置24によりブロック3
8における如くステージ要求が有効化されると同時に、
領域の切換え統計情報が検査されて切換えるべき領域が
存在するならばどの領域を切換えるべきかについて判定
する。典型的には、この操作は例えば1000ステージ
毎に実施される。もし第6図のブロックろ2における如
く表のアクセスによりある不平衡状態が検出されると、
切換えが継続中である旨のフラッグがセットされる。然
る後、1つのフレームがあるデータ・レコードに対する
割当て要求と同時に、もし自由状態のフレームが得られ
ず、またもし適当な切換えが継続中であれば、最近はと
んど使用されない領域が前述の如(ブロック14に示さ
れるように切換えられろ。このようにブロック46にお
いて変換された領域はこの時新たな素子形式、例えば形
式Aに割当てられ、木表はこの事実を反映するためブロ
ック48において更新され、使用可能なフレームの登録
簿も同様にブロック50において更新されるのである。
本文に付属書Aとして添付され参考のため本文に引用さ
れているのは、本発明の装置の実施のため使用される方
法の詳細な記述である「モジュール:領域の切換え法」
なる題名の文献である。この文献は主として擬似コード
と呼ばれる従来の速記言語の形態で書かれ、その文法は
これもまた本文に添付されて参考として引用された付属
書A−1としてrCHINOOK Pseudo Go
de Conventions jと題された文献にお
いて説明されている。解説要の擬似コード文法書と共に
付属書類Aの領域切換え法の文献を読めば、当業者なら
ば本発明の方法の実施に何等の困難もないであろう。
当業者は、本文に述べた本発明の技術的要件および諸口
的を充足するソリッド・ステート・メモリーを分割する
ための領域区分システムについての記述であることが認
識されよう。特に、共通にアクセスされるデータ量、例
えばトラックが充分に適合するサイズを有する領域の使
用により、古いレコードを新たなデータにより重ね書き
する際に断片化を生じることなくデータの有効な格納を
行なうものである。特に、適合する領域切換え法の提供
により、仮に相対的な領域の使用状態が時間的に変化す
る場合でも、メモリーの有効な使用を可能にするもので
ある。更に、本発明の方法は特定、的に本文に記述した
2つの素子の実施態様を越える摘要性を有するものであ
ること、また従って本文に述べた本発明の内容はその範
囲を限定するものと考えるべきものではなくその単なる
例示であり、本発明の範囲は頭書の特許請求の範囲によ
ってのみ更に適正に限定されるものであることが理解さ
れよう。
【図面の簡単な説明】
第1図は本発明のシステムを示すブロック図、第2図は
個々の領域をその内部に記憶することを要するトラック
・サイズに従って再分割することができる方法を示す図
、第6図はある特定q時点においてどの領域を切換える
かを判定する再使用される領域切換え判定表を示す図、
および第4図は領域切換え判定を実際の切換え操作の実
施のため使用する方法および手順が進行するに伴って制
御表の更新の方法を示す図である。 10・・・上位コンピュータ、12・・・チャネル・イ
ンターフェース、14・・・ディスク・ト9ライブ、1
6・・・記憶ディレクタ、18・・・制御モジュール、
20・・・キャッシュ・メモリー・サブシステム、22
・・・キャッシュ・アレー、24・・・キャッシュ管理
装置。 特許出願人 ストレージ・テクノロジー・コーポレーシ
ョン (外4名) −二rυ、f −二U勾、2 n神、J 第1頁の続き 0発 明 者 ロパート・ジエイ・モレノアメリカ合衆
国コロラド州8030 3ボールダー・ホルメス・ブレ イス5169 0発 明 者 ディーン・ピー・キナードアメリカ合衆
国コロラド州8050 10ングモント・ゴマンチ・ロ ード8922

Claims (1)

  1. 【特許請求の範囲】 1、 複数のクラスの記憶素子とは異なる予め定めた長
    さで受取るデータの記憶のための領域にメモリー・アレ
    ーを分割する方法において、前記アレーを、これに記憶
    したデータの前記の予め定めた長さの実質的に整数倍で
    あるサイズの領域に再分割する工程を含むことを特徴と
    する方法。 2、前記領域が初期化段階において1つのクラスの素子
    に割当てられることを特徴とする特許請求の範囲第1項
    記載の方法。 ろ、前記領域の割当てが時間的経過に従っである素子ク
    ラスから他の素子クラスへ変更することができ、この変
    更は前記領域の相対的な使用状態に対するある特定の素
    子形式に対し割当てられた領域数の化上に従って制御さ
    れることを特徴とする特許請求の範囲第2項記載の方法
    。 4、前記のデータの予め定めた長さは磁気ディスク記憶
    媒体に記憶される完全なデータ、・トラックと相等する
    ことを特徴とする特許請求の等間第1項記載の方法。 5、複数の異なる予め定めた長さのデータ・レコードの
    記憶のため使用されるべき記憶場所のアレーを構成する
    方法において、 前記の全ての複数の子め定めたデータ長さの実質的に整
    数倍である領域サイズを決定し、前記アレーをこのよう
    に決定した領域に分割し前記領域の各々を前記の予め定
    めたデータ長さの1つに割当てる工程を含むことを特徴
    とする方   −法。 6、前記領域の各々の割当ては時間的に前記領域のクラ
    スの各々の使用状態に従って変動することができること
    を特徴とする特許請求の範囲第5項記載の方法。
JP57208381A 1981-11-27 1982-11-27 キヤツシユ・メモリ−空間の適合領域区分方法 Pending JPS58161060A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US325351 1981-11-27
US06/325,351 US4430712A (en) 1981-11-27 1981-11-27 Adaptive domain partitioning of cache memory space

Publications (1)

Publication Number Publication Date
JPS58161060A true JPS58161060A (ja) 1983-09-24

Family

ID=23267530

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57208381A Pending JPS58161060A (ja) 1981-11-27 1982-11-27 キヤツシユ・メモリ−空間の適合領域区分方法

Country Status (4)

Country Link
US (1) US4430712A (ja)
EP (1) EP0080877A3 (ja)
JP (1) JPS58161060A (ja)
CA (1) CA1198813A (ja)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4503501A (en) * 1981-11-27 1985-03-05 Storage Technology Corporation Adaptive domain partitioning of cache memory space
CA1253627A (en) * 1982-11-09 1989-05-02 Paul B. Brown Dynamic addressing for variable track length cache memory
JPS59100964A (ja) * 1982-12-01 1984-06-11 Hitachi Ltd ディスク制御システム及びその並列データ転送方法
US4499539A (en) * 1982-12-20 1985-02-12 International Business Machines Corporation Method and apparatus for limiting allocated data-storage space in a data-storage unit
US4724518A (en) * 1983-07-29 1988-02-09 Hewlett-Packard Company Odd/even storage in cache memory
US4875155A (en) * 1985-06-28 1989-10-17 International Business Machines Corporation Peripheral subsystem having read/write cache with record access
GB2184267A (en) * 1985-12-13 1987-06-17 Hitachi Ltd File allocation
US5283791A (en) * 1988-08-02 1994-02-01 Cray Research Systems, Inc. Error recovery method and apparatus for high performance disk drives
US5218689A (en) * 1988-08-16 1993-06-08 Cray Research, Inc. Single disk emulation interface for an array of asynchronously operating disk drives
US4947319A (en) * 1988-09-15 1990-08-07 International Business Machines Corporation Arbitral dynamic cache using processor storage
JP2804115B2 (ja) * 1988-09-19 1998-09-24 株式会社日立製作所 ディスクファイルシステム
US4905141A (en) * 1988-10-25 1990-02-27 International Business Machines Corporation Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification
EP0389151A3 (en) * 1989-03-22 1992-06-03 International Business Machines Corporation System and method for partitioned cache memory management
US5394531A (en) * 1989-04-03 1995-02-28 International Business Machines Corporation Dynamic storage allocation system for a prioritized cache
DE69128741T2 (de) * 1990-05-18 1998-07-16 Koninkl Philips Electronics Nv Mehrstufiger Befehlscachespeicher und Verwendungsverfahren dafür
US5276832A (en) * 1990-06-19 1994-01-04 Dell U.S.A., L.P. Computer system having a selectable cache subsystem
US5875464A (en) * 1991-12-10 1999-02-23 International Business Machines Corporation Computer system with private and shared partitions in cache
US5367653A (en) * 1991-12-26 1994-11-22 International Business Machines Corporation Reconfigurable multi-way associative cache memory
FR2688612A1 (fr) * 1992-03-13 1993-09-17 Inst Nat Rech Inf Automat Dispositif d'antememoire.
JP2772205B2 (ja) * 1992-09-22 1998-07-02 北海道日本電気ソフトウェア株式会社 データ領域生成方式
US6081623A (en) * 1995-10-11 2000-06-27 Citrix Systems, Inc. Method for lossless bandwidth compression of a series of glyphs
US6016535A (en) * 1995-10-11 2000-01-18 Citrix Systems, Inc. Method for dynamically and efficiently caching objects by subdividing cache memory blocks into equally-sized sub-blocks
US5914906A (en) 1995-12-20 1999-06-22 International Business Machines Corporation Field programmable memory array
US5802003A (en) * 1995-12-20 1998-09-01 International Business Machines Corporation System for implementing write, initialization, and reset in a memory array using a single cell write port
US6034945A (en) * 1996-05-15 2000-03-07 Cisco Technology, Inc. Method and apparatus for per traffic flow buffer management
US6057857A (en) 1996-06-12 2000-05-02 Citrix Systems, Inc. Method for the lossless compression of lines in a distributed computer system
US5826006A (en) * 1996-09-30 1998-10-20 International Business Machines Corporation Method and apparatus for testing the data output system of a memory system
US5689514A (en) * 1996-09-30 1997-11-18 International Business Machines Corporation Method and apparatus for testing the address system of a memory system
US6487202B1 (en) 1997-06-30 2002-11-26 Cisco Technology, Inc. Method and apparatus for maximizing memory throughput
US6430191B1 (en) 1997-06-30 2002-08-06 Cisco Technology, Inc. Multi-stage queuing discipline
US6526060B1 (en) 1997-12-05 2003-02-25 Cisco Technology, Inc. Dynamic rate-based, weighted fair scheduler with explicit rate feedback option
US6370622B1 (en) 1998-11-20 2002-04-09 Massachusetts Institute Of Technology Method and apparatus for curious and column caching
US6775292B1 (en) 2000-01-24 2004-08-10 Cisco Technology, Inc. Method for servicing of multiple queues carrying voice over virtual circuits based on history
US7142558B1 (en) 2000-04-17 2006-11-28 Cisco Technology, Inc. Dynamic queuing control for variable throughput communication channels
US7127525B2 (en) * 2000-05-26 2006-10-24 Citrix Systems, Inc. Reducing the amount of graphical line data transmitted via a low bandwidth transport protocol mechanism
US7275135B2 (en) * 2001-08-31 2007-09-25 Intel Corporation Hardware updated metadata for non-volatile mass storage cache
US20030074524A1 (en) 2001-10-16 2003-04-17 Intel Corporation Mass storage caching processes for power reduction
US20050138296A1 (en) * 2003-12-18 2005-06-23 Coulson Richard L. Method and system to alter a cache policy
US7877547B2 (en) * 2004-12-29 2011-01-25 International Business Machines Corporation Method, system and circuit for efficiently managing a cache storage device
US8423673B2 (en) 2005-03-14 2013-04-16 Citrix Systems, Inc. Method and apparatus for updating a graphical display in a distributed processing environment using compression
US8171169B2 (en) * 2005-03-14 2012-05-01 Citrix Systems, Inc. Method and apparatus for updating a graphical display in a distributed processing environment
US9514055B2 (en) * 2009-12-31 2016-12-06 Seagate Technology Llc Distributed media cache for data storage systems
US9223710B2 (en) 2013-03-16 2015-12-29 Intel Corporation Read-write partitioning of cache memory

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5228231A (en) * 1975-06-23 1977-03-03 Ibm Storage device
JPS55157054A (en) * 1979-05-25 1980-12-06 Nec Corp Disc cash unit

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3840863A (en) * 1973-10-23 1974-10-08 Ibm Dynamic storage hierarchy system
GB2052118A (en) * 1979-06-04 1981-01-21 Memorex Corp Disc Cache Subsystem

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5228231A (en) * 1975-06-23 1977-03-03 Ibm Storage device
JPS55157054A (en) * 1979-05-25 1980-12-06 Nec Corp Disc cash unit

Also Published As

Publication number Publication date
EP0080877A3 (en) 1985-06-26
CA1198813A (en) 1985-12-31
EP0080877A2 (en) 1983-06-08
US4430712A (en) 1984-02-07

Similar Documents

Publication Publication Date Title
JPS58161060A (ja) キヤツシユ・メモリ−空間の適合領域区分方法
US4503501A (en) Adaptive domain partitioning of cache memory space
US6473830B2 (en) System and method for organizing data stored in a log structured array
EP0120330B1 (en) Digital computing apparatus and method for operating the same
US5530850A (en) Data storage library array with log-structured file system which allows simultaneous write and garbage collection
US6988165B2 (en) System and method for intelligent write management of disk pages in cache checkpoint operations
KR100324867B1 (ko) 압축레코드저장을위한메모리공간할당방법및메모리공간을할당하도록컴퓨터를제어하는메모리매체
US6185665B1 (en) File management apparatus, file management method, and recording medium containing file management program
US5666560A (en) Storage method and hierarchical padding structure for direct access storage device (DASD) data compression
US5345575A (en) Write optimized disk storage device
EP0747806B1 (en) Data compression method and structure for a direct access storage device
US20050021900A1 (en) Magnetic disk unit, file management system, and file management method
USRE36989E (en) Virtual storage system and method
US20240094936A1 (en) Storage system, memory management method, and management node
GB2377049A (en) Billing for utilisation of a data storage array
KR20100077156A (ko) 씬 프로비저닝 이송 및 스크러빙 방법
US6223267B1 (en) Dynamically allocable RAM disk
US4580211A (en) Method for controlling storage of data sets in memory unit
US9009440B2 (en) Adjustment of data storage capacity provided by a storage system
US5761710A (en) Information apparatus with cache memory for data and data management information
JP4585052B2 (ja) データ記録システム
JPH08101783A (ja) ファイルシステム
KR102482191B1 (ko) 하이브리드 메모리 장치 및 이의 관리 방법
JPH0282332A (ja) 索引ファイルのインデックス用入出力バッファ方式
JP6273678B2 (ja) ストレージ装置