JP2000285023A - ファイル制御装置 - Google Patents
ファイル制御装置Info
- Publication number
- JP2000285023A JP2000285023A JP11088073A JP8807399A JP2000285023A JP 2000285023 A JP2000285023 A JP 2000285023A JP 11088073 A JP11088073 A JP 11088073A JP 8807399 A JP8807399 A JP 8807399A JP 2000285023 A JP2000285023 A JP 2000285023A
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage device
- cache memory
- stored
- control unit
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
- G06F12/127—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning using additional replacement algorithms
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/122—Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
装置において、物理的に同一の記憶デバイスへのアクセ
ス競合を防止し、性能低下を回避することを目的とす
る。 【解決手段】新たなブロックをキャッシュメモリに追加
する際に、既存のブロックを追い出す必要が生じた場合
に、最もアクセス頻度の低い物理的な記憶デバイスに保
存されるデータの中の、最もアクセス頻度の低いブロッ
クを対象とする。このために、従来のデータ優先情報に
加えて、装置優先情報を備えることし、物理的な装置後
との優先順位を管理することとした。
Description
における外部記憶デバイスを制御するファイル制御装置
に関するものである。特に、複数のディスク型記憶デバ
イスの制御を司る制御装置に好適なファイル制御装置に
関する。
磁気ディスク装置などの記憶デバイスが使用されてい
る。記憶デバイスは固有の物理的な記憶容量を持ってい
る。計算機システムにおいては、一つの物理的な記憶デ
バイスが一つの論理的な記憶デバイスとして使用され
る。また、別の計算機システムでは、一つの物理的な記
憶デバイスが複数の論理的な記憶デバイスとして扱われ
る場合もある。あるいは逆に、複数の物理的な記憶デバ
イスが一つの論理的な記憶デバイスとして扱われる場合
もある。
理的な記憶デバイスの中に小容量の論理的な記憶デバイ
スが複数台存在するように見せかける構成を提供する。
また、ファイル制御装置は、小容量の記憶デバイスを複
数台組合せて、大容量の記憶デバイスが一台存在するよ
うに見せかける構成も提供する。
は、物理的な記憶デバイスの増設等が行われる際に、こ
れらをアクセスするソフトウェアの変更を防ぐためであ
る。
論理的にも一つの記憶デバイスとして使用されると、論
理的な記憶デバイスの容量は物理的な記憶デバイスの容
量に依存することとなる。このため、物理的な記憶デバ
イスの容量が変更される毎に、アクセスを制御するソフ
トウェアは修正される必要がある。そうでなければ、ソ
フトウェアは、新たな論理容量をもつ記憶デバイスへア
クセスすることができない。物理的な記憶デバイスが、
日々新たに開発され、多種多様なデバイスが存在する現
代において、これは深刻な問題である。
的な記憶デバイスの制御とが分離されれば、新たな容量
を持つ物理的な記憶デバイスが記憶装置に接続する際に
も、問題は発生しない。ファイル制御装置が、論理的
に、一定の記憶容量をもつ装置をエミュレーションする
ことで、記憶デバイスへのアクセスを制御するソフトウ
ェアは、新たな記憶デバイスを、従来の装置と同じもの
として扱うことができる。このため、ソフトウェアの修
正が不要になるという利点がある。
バイスの容量が増大するにつれ、一つの物理的な記憶デ
バイスの中に複数個の論理的な記憶デバイスをエミュレ
ーションして実現する方法が広く実施されるようになっ
てきた。
フトウェアは論理的な記憶デバイスをアクセス対象とし
ている。したがって、ソフトウェアは一つの物理的な記
憶デバイスに割り当てられた異なる複数個の論理的な記
憶デバイスを同時にアクセスすることがある。そうなる
と、同時には、一つの論理的な記憶デバイスの読み書き
だけが実行され、他の論理的な記憶デバイスに対するア
クセスは待たせられることとなる。
一つの記憶デバイスに対するアクセスは、同時には一つ
しか発行されない。したがって、物理的な記憶デバイス
と論理的な記憶デバイスとが一致していた場合は、この
ような"待ち"は発生しない。このため、複数個の論理的
な記憶デバイスが一つの記憶デバイスに構成される場合
(すなわち、物理的な記憶デバイスと論理的な記憶デバ
イスとが分離された場合)の方が、サーバからのアクセ
スに対して、性能が低下したように見える。
ために、ファイル制御装置は、通常、複数個の同時アク
セスを可能とするディスクキャッシュを備える。ディス
クキャッシュには論理的な記憶デバイスの内容の一部を
記憶しておく。
理的な記憶デバイスが割り当てられたとする。この場
合、二つの論理的な記憶デバイスに保存されているそれ
ぞれのデータが、両方ともディスクキャッシュ上に記憶
されていれば、いずれのデータも同時にアクセス可能と
なる。
されているデータがディスクキャッシュ上に記憶され、
他方の論理的な記憶デバイスに保存されているデータは
ディスクキャッシュ上に記憶されていないとする。この
場合、一方のデータはディスクキャッシュから転送され
る。それと同時に、ディスクキャッシュ上にデータが記
憶されていない他方のデータは物理ディスクから転送さ
れる。
することで、サーバは、物理的な記憶デバイスに割り当
てられた複数の論理的なデバイスに保存されているデー
タヘ、同時にアクセスできる可能性が高くなる。
ャッシュメモリとの間で、データの読み出し処理及びデ
ータの書き出し処理が同時に発生する場合が、著しく増
えることとなった。また、一つの物理的な記憶デバイス
に対するアクセスが集中する可能性も考えられる。
は、物理的な記憶デバイス上に複数個の論理的な記憶デ
バイスが存在することは考慮されていない。つまり、論
理的な記憶デバイスに関するアクセス頻度だけがディス
クキャッシュのデータ管理に使用されており、物理的な
記憶デバイスに関するアクセス頻度はデータ管理に使用
されていなかった。
るディスクキャッシュ制御では、キャッシュメモリを備
えることによる本来の効果が十分に発揮されない場合が
ある。
る。
(33−1及び33−2)、DIFM34が3個(34
−1〜34−3)、物理的な記憶デバイス21が3台
(21−1〜21−3)、キャッシュメモリ40ヘのア
クセスパス35は2個(36−1及び36−2)備わっ
ているものとする。また、一つの物理的な記憶デバイス
のそれぞれ(21−1〜21−3)に、二つの論理的な
記憶デバイス(50−1と51−1〜50−3と51−
3)が構成されている。
えられている制御部31は、制御記憶41を含む。制御
記憶41にはキャッシュデータ対応情報42が配置され
ている。キャッシュデータ対応情報42とは、あるデー
タについて、そのデータが記録されている記憶デバイス
内の位置(ブロック)と、そのデータのコピーが記憶さ
れているキャッシュメモリ内の位置との対応関係を示す
情報である。
データを管理するための、従来のデータ優先情報42の
イメージ図である。データ優先情報42は、ブロック単
位の管理を行うための情報である。ブロックとは、記憶
デバイスに保存されているデータの一部のコピーをい
う。このデータ優先情報は、例えば、優先度順にブロッ
クのエントリ60が並べられている構造となっている。
U(Least recently used)方式が使用されることが多
い。LRU方式とは、最も最近アクセスされたものに、
最も高い優先度を与え、最後にアクセスされてから最も
時間の経っているものに最も低い優先度を与える制御方
式をいう。
ス11(50−1)のブロックeのデータが、新たにキ
ャッシュメモリに記憶される。この場合、テーブル42
には、当該ブロックに対応した新しいエントリ60−1
が加えられる。すると、最も優先度の低いエントリ60
−2に対応した、論理的な記憶デバイス11(50−
1)のブロックaのデータがキャッシュメモリから追い
出される(図10中)。
追い出される」とは、当該データが、論理的に、キャッ
シュメモリに記憶されていない状態にされることを言
う。例えば、実際にはデータ自体をキャッシュメモリ上
に残したままで、ファイル制御装置が当該領域を空き領
域として認識する場合を含む。
モリに空き領域が不足した場合にのみ発生するものでは
ない。例えば、キャッシュメモリに空き領域が残存して
いても、記憶装置全体の性能向上のために、ファイル制
御装置が、定期的にキャッシュメモリからデータを追い
出すような制御を行うこともある。
1)のブロックfのデータが、新たにキャッシュメモリ
に記憶される。この場合、テーブル42には、当該ブロ
ックに対応した新たなエントリ60−3が加えられる。
すると、論理的な記憶デバイス12(51−1)のブロ
ックbのデータに対応したエントリ60−4が、データ
優先情報42から追い出される(図10右)。
イス11(50−1)のブロックaのデータも、論理的
な記憶デバイス12(51−1)のブロックbのデータ
も、どちらもキャッシュメモリには記憶されていない状
態である。(前述のように、キャッシュメモリに当該デ
ータ自体が存在する場合はある。しかし、ファイル制御
装置は、当該データの格納されているキャッシュメモリ
上の領域を空き領域と認識している。このため、ファイ
ル制御装置は、実際にはキャッシュメモリ上のデータに
アクセスすることはできない。したがって、これらのデ
ータは、論理的には、キャッシュメモリ上には記憶され
ていない状態となる。)この場合に、両ブロックへのア
クセスがサーバから同時に要求されると、物理的な記憶
デバイス1(21−1)へのアクセスが競合する。両者
は同じ物理的な記憶デバイス21−1へのアクセスとな
る。このため、どちらかのブロックヘのアクセスは他の
一万のアクセスが終了するまで待たされることになる。
ことを目的とする。
計算機システム全体の構成を示した図である。
サーバ10と記憶装置20からなる。記憶装置20は、
記憶デバイス21−1〜21−kとファイル制御装置3
0とから構成される。
み出しが要求されると、記憶装置20内に備えられたフ
ァイル制御装置30は、対象の記憶デバイスからデータ
を読み出してサーバ10ヘ送る。
きこみが要求されると、記憶装置20内に備えられたフ
ァイル制御装置30は、対象の記憶デバイスヘデータを
書き込む。
御装置にk台接続されている。サーバ10からデータの
書き込みが記憶装置20へ指示されると、記憶装置20
内に備えられたファイル制御装置30は、対象となる記
憶デバイスを選択し、当該記憶デバイスに書き込みが行
われる。
示した図である。
21−1〜21−k、記憶デバイス21−1〜21−k
を制御する装置はファイル制御装置30と呼ばれる。
ル制御装置30全体を制御する制御部31と、該制御部
31が管理するリソースの管理状況が記録される制御記
憶32と、サーバ10とのインタフェースを制御するモ
ジュールSIFM33と、記憶デバイス21とのインタ
フェースを制御するモジュールDIFM34とが含まれ
る。
記憶デバイス21のデータの一部を記憶するためのキャ
ッシュメモリ40が含まれる。
ることも可能である。記憶デバイス21の例としては磁
気ディスクや光ディスク等のディスク装置などが挙げら
れる。
求があった場合、ファイル制御装置30は、アクセス対
象のデータがキャッシュメモリ40に記憶されているか
否かをまず確かめる。
40に記憶されていれば、そのデータをサーバ10から
のアクセス要求に対して使用する。
40記憶されていない場合、サーバ10からのアクセス
内容に応じて次のような処理を行う。
ファイル制御装置30は、アクセス対象のデータを記憶
デバイス21から読み出してサーバ10ヘ転送する。こ
の時、ファイル制御装置30は、記憶デバイス21から
読み出されたデータをキャッシュメモリ40にも記憶し
ておく。ファイル制御装置30は次のアクセスに備え
る。
ファイル制御装置30は、書き込みデータをキャッシュ
メモリ40に書き込む。ファイル制御装置30は、キャ
ッシュメモリ40に書き込まれたデータを、適当な時期
に記憶デバイス21ヘ書き戻す。
イス全体21−1〜21−kの記憶容量より少ない。こ
のため、アクセスに応じて、ファイル制御装置30は、
キャッシュメモリ40内のデータの追い出しを行う必要
がある。新規なデータ記憶や、データの追い出しは、一
定のデータ単位で行われる。
で行われているものとする。最も優先度の高いエントリ
がテーブルの上位に配置されている。
ち、インタフェースSIFM33とキャッシュメモリ4
0ヘの経路35)が複数個あれば、サーバ10は、キャ
ッシュメモリ40内の複数のデータヘ同時にアクセスす
ることが可能となる。この時、同一の物理的な記憶デバ
イスに割り当てられている異なる論理的な記憶デバイス
に対するサーバ10からのアクセスに対しても、アクセ
ス対象のデータの少なくとも一方がキャッシュメモリ4
0上に存在すれば、サーバ10は同時にアクセスするこ
とが可能となる。
容の遷移を概念的に示した図である。
ータは、図4左側に示すような優先順で並んでいるとす
る。この場合に、論理的なデバイス11(50−1)の
ブロックeに対応する新しいエントリ60−1が、デー
タ優先情報42へ加えるられることを考える。
び論理的な記憶デバイス12(50−2)は、物理的な
記憶デバイス1(21−1)に含まれている。したがっ
て、この場合には、物理的な記憶デバイス1(21−
1)以外の物理的な記憶デバイスに保存されるブロック
のデータが、キャッシュメモリから追い出される。そう
すれば、論理的な記憶デバイス11(50−1)と論理
的な記憶デバイス12(50−2)のブロックのデータ
が追い出される可能性が減少する。
デバイス1に構成されている論理的な記憶デバイス以外
で最も優先度の低い、論理的な記憶デバイス22(51
−2)のブロックc(エントリ60−5)と論理的な記
憶デバイス21(50−2)のブロックd(エントリ6
0−6)jを先に追い出せば、データ優先情報42の内
容は、図4右側のように変化する。そうすれば、図4右
側の状態で、論理的な記憶デバイス50−1のブロック
aや、論理的な記憶デバイス51−1のブロックbへの
アクセス要求にも、ファイ制御装置30は、同時に応じ
ることが可能となる。
置は、論理的な記憶デバイスのブロックに対する管理
と、物理的な記憶デバイスに対する管理を併用すること
する。これにより、同時アクセスの可能性の低下が防止
される。
たものである。
スには、それぞれ二つの論理的な記憶デバイスが構成さ
れている。記憶装置20内にはSIFMが2個(33−
1及び33−2)、DIFMが3個(34−1〜34−
3)、物理的な記憶デバイスは3台(21−1〜21−
3)、キャッシュメモリ40ヘのアクセスバスは2個
(36−1及び36−2)が備わっているものとする。
御装置30の制御部31は、制御記憶41と演算処理部
45を含む。制御記憶41にはデータ優先情報(42−
1)、装置優先情報(42−2)、及びキャッシュデー
タ対応情報(42−3)が設けられている。演算処理部
45は、制御記憶に格納されたプログラムに従って動作
し、ファイル制御装置全体を制御する。
ルの一例を示した図である。
位の管理を行うためのテーブルである。このテーブルに
は、物理的な記憶デバイスのエントリが並べられてい
る。
る。一つのエントリは、一つの物理的な記憶デバイスの
情報を示している。
が付されている。これは、所定のメモリアドレスからの
オフセット値であることが多い。図では、エントリは三
つ作成されている。したがって、キャッシュメモリに記
憶されているデータの保存先となる物理的な記憶デバイ
スは、多くとも3台であることを意味する。
スの番号を示している。図のような状態であれば、エン
トリ0は物理的な記憶デバイス1についての情報であ
り、エントリ1は物理的な記憶デバイス2についての情
報であり、エントリ2は物理的な記憶デバイス3につい
ての情報である。
いエントリ番号を示しいてる。「後」は、当該エントリ
より一つ優先度の低いエントリ番号を示している。この
ため、最も優先度の高いエントリの「前」にはヌル値
(図では「*」で示されている。実際には、全てのビッ
トをオンにした値が用いられることが多い。)が設定さ
れている。また、最も優先度の低いエントリの「後」に
もヌル値が設定さている。
バイス1、デバイス3、デバイス2」であることが分か
る。
ブルの一例を示した図である。
うためのテーブルである。このテーブルには、ブロック
のエントリが並べられている。ブロックとは、記憶デバ
イスに保存されているデータの一部のコピーをいう。
一つのエントリである。ただし、一つのエントリは、一
つのブロックの情報を示している。
が付されている。これは、所定のメモリアドレスからの
オフセット値であることが多い。図では、エントリは4
つ作成されている。したがって、キャッシュメモリに記
憶されているブロックは4っつであることを意味する。
される物理的な記憶デバイスの番号を示している。「論
理デバイス番号」は、ブロックが保存される論理的な記
憶デバイスの番号を示している。他のテーブルを参照す
ることにより、「物理的な記憶デバイス」と「論理的な
記憶デバイス」との関係が明らかであれば、「論理デバ
イス番号」は、データ優先情報にとって必須の情報では
ない。しかし、本実施例では、データ優先情報が、「物
理的な記憶デバイス」と「論理的な記憶デバイス」との
関係をも示すものとする。
バイス11と12は、ともに物理的な記憶デバイス1に
構成されていることが、エントリ0及びエントリ1を参
照することで認識できる。また、論理的な記憶デバイス
21と22は、ともに物理的な記憶デバイス2に構成さ
れていることも、エントリ2及びエントリ3を参照する
ことで認識できる。
0に記憶されているブロックの番号(すなわち、論理的
な記憶デバイスに保存されている各データ毎に付されて
いる唯一な番号)を示している。
リ0は、『「物理的な記憶デバイス1」に構成されてい
る「論理的な記憶デバイス11」に保存されているブロ
ックa』ついての情報である。
様である。
理的な記憶デバイス21のブロックc、論理的な記憶デ
バイス22のブロックd、論理的な記憶デバイス12の
ブロックb、論理的な記憶デバイス11のブロックa」
であることが分かる。
読み出しを要求されたデータがキャッシュメモリ40に
記憶されていれば、キャッシュメモリ40からデータを
転送する。ファイル制御装置30は、サーバ10から読
み出しを要求されたデータがキャッシュメモリ40に記
憶されていなければ、記憶デバイスからデータを読み出
して転送する。
キャッシュメモリ40に記憶されいてれば、ファイル制
御装置30は、サーバ10が書き込みを要求したデータ
で、キャッシュメモリ40に記憶されいてるデータを更
新する。サーバ10が書き込みを要求したデータがキャ
ッシュメモリ40に記憶されていなければ、ファイル制
御装置30は、一旦、記憶デバイスから対象となるデー
タをキャッシュメモリ40内へ読み出して記録する。そ
の後、ファイル制御装置30は、サーバ10から転送さ
れたデータで、キャッシュメモリに記録されたデータを
更新する。
が書き込みを要求したデータを、記憶デバイスからデー
タを読み出すことなく、キャッシュメモリヘ直接書き込
む。
タは、例えば、そのデータを含むブロックがキャッシュ
メモリ上から追い出される時に、記憶デバイスヘ書き戻
される。
式で行われるとする。制御部31は、読み出しや書き込
みの要求があったブロックを含む物理的な記憶デバイス
のエントリに対し、装置優先情報(42−2)の中で最
も高い優先度を与える。
化したテーブルが図5(a)に示すような状態であった
場合に、物理的な記憶デバイス3にアクセスがあったと
する。この場合、物理的な記憶デバイス3に対応するエ
ントリ2に対して、最も高い優先度が与えられる。この
為に、制御部31は、当該エントリの「前」にヌル値
(*)を設定し、「後」に「0」を設定する。エントリ
0は、物理的な記憶デバイス3へのアクセスが発生する
以前に、最も優先順位の高かかったエントリである。制
御部31は、エントリ0の「前」には、「2」を設定す
る。エントリ2は、今回最も優先度を高くするエントリ
である。
「前」だったエントリ0の「後」に、エントリ2の元
「後」だったエントリ1を設定する。制御部31は、エ
ントリ2の元「後」だったエントリ1の「前」に、エン
トリ2の元「前」だったエントリ0を設定する。これ
で、優先順位の変更は終了する。
ーブルは、図5(b)のようになる。この状態では、優
先度は、高い順から「デバイス3、デバイス1、デバイ
ス2」となる。
の要求があったブロックのエントリに、データ優先情報
(42−1)の中で最も高い優先度を与える。
体化したテーブルが図6(a)に示すような状態であっ
た場合に、論理的な記憶デバイス11のブロックaにア
クセスがあったとする。
バイス11のブロックaに対応するエントリ0に最も高
い優先度を与える。この為に、制御部31は、当該エン
トリの「前」にヌル値(*)を設定し、「後」に「2」
を設定する。エントリ2は、論理的な記憶デバイス11
のブロックaへのアクセスが発生する以前に、最も優先
順位の高かかったエントリである。制御部31は、エン
トリ2の「前」には、「0」を設定する。エントリ0
は、今回最も優先度を高くするエントリである。
「前」だったエントリ1の「後」に、元エントリ0の
「後」だったヌル値(*)を設定する。これで、優先順
位の変更は終了する。
ーブルは、図6(b)のようになる。この状態では、優
先度は、高い順から「論理的な記憶デバイス11のブロ
ックa、論理的な記憶デバイス21のブロックc、論理
的な記憶デバイス22のブロックd、論理的な記憶デバ
イス12のブロックb」となっている。
る状態で、サーバ10からの読み出しや書き込み要求に
よって新たなブロックが必要となった場合には、制御部
31は、以下の処理を行う。
度の低い物理的な記憶デバイスのエントリを見つける。
本実施例にあっては、装置優先情報を具体化したテーブ
ルは図5(a)のような状態であるとする。この場合
は、対象となるブロックは、物理的な記憶デバイス2と
なる。
記憶デバイス2に保存される最も優先度の低いブロック
を、データ優先情報を参照することによって検出する。
本実施例にあっては、データ優先情報を具体化したテー
ブルは図6(a)のような状態であるとする。
低い順から検索する。最も優先度の低いエントリは、エ
ントリ0である。しかし、エントリ0は、物理的な記憶
デバイス1についてのエントリであるので、対象となら
ない。
である。これも、物理的な記憶デバイス1についてのエ
ントリであるので、対象とならない。
理的な記憶デバイス2につていのエントリである。した
がって、当該エントリに示されている論理的な記憶デバ
イス22ブロックdが追い出し対象となる。
が占めているキャッシュメモリを開放して、当該メモリ
を新たなブロックのために使用する。
るデータが更新されたものであれば、制御部31は、当
該データを記憶デバイスヘ書き戻す。
憶デバイスに含まれる論理的な記憶デバイスのブロック
が、キャッシュメモリから全て追い出されることとなっ
たする。この場合は、制御部31は、その物理的な記憶
デバイスのエントリを装置優先情報から追い出しすれ。
そうすれば、装置優先情報から無駄なエントリが省かれ
る。これにより、制御部31は、装置優先情報の検索時
間を短縮することができる。
を、追加する際に、対応する論理的な記憶デバイスを含
む物理的な記憶デバイスのエントリが、装置優先情報上
になかったとする。この場合は、制御部31は、物理的
な記憶デバイスのエントリを装置優先情報に追加する必
要がある。
ス要求を受け付けた場合の処理手順を図7のフローを用
いて説明する。
を、SIFMからの通知により検出する(S101)。
制御部31は、サーバから通知されるアクセス対象のデ
ータを認識する(S102)。制御部31は、アクセス
対象のデータがキャッシュメモリに記憶されているか否
かを、データ優先情報42−1を参照して判断する(S
103)。
に記憶されている場合は、制御部31は、データ優先情
報42−1を更新し(S104)し、装置優先情報42
−2を更新し(S105)、処理を終了する。本実施例
では、優先順位管理には、LRU制御が使用されている
こととしている。したがって、データ優先情報の更新と
は、具体的には、制御部31が、アクセス対象のデータ
の優先順位を最も高いものに変更することをいう。装置
優先情報の更新とは、具体的には、制御部31が、アク
セス対象のデータが保存される物理的な記憶装置の優先
順位を最も高いものに変更することをいう。以上で、制
御部の処理は終了する(S106)。
メモリに記憶されていない場合は、制御部31は、以下
のような、当該データをキャッシュメモリに登録する処
理を行う。
たにデータを登録することができるだけの未使用領域が
存在するか判断する(S201)。もし、未使用領域が
存在すれば、制御部31は、DIFMに対して、対象デ
ータを未使用領域のいずれかに記憶させることを指示す
る(S202)。データの記憶が終了した後、制御部3
1は、データ優先情報42−1を更新し(S203)
し、装置優先情報42−2を更新し(S204)、処理
を終了する。本実施例では、優先順位管理には、LRU
制御が使用されるととしている。したがって、データ優
先情報の更新とは、具体的には、制御部31が、アクセ
ス対象のデータを優先順位の最も高いものとしてテーブ
ルに追加することをいう。装置優先情報の更新とは、具
体的には、制御部31が、アクセス対象のデータが保存
される物理的な記憶デバイスを優先順位の最も高いもの
としてテーブルに追加することをいう。あるいは、既に
当該物理的な記憶デバイスが装置優先情報に登録されて
いる場合は、制御部31が、アクセス対象のデータが保
存される物理的な記憶デバイスに最も高い優先順位を与
えるこという。以上で、制御部31の処理は終了する
(S106)。
タを登録することができるだけの未使用領域が存在しな
い場合は、制御部31は、更に以下の処理を行う。
先度の最も低い物理的な記憶デバイスを追い出し対象デ
バイスに決定する(S301)。制御部31は、データ
優先情報を検索し、追い出し対象デバイスに決定された
物理的なデバイスに保存されるデータのうちで、優先度
の最も低いデータを検索し、追い出し対象データに決定
する(S302)。
ッシュメモリ上で更新されていないか(すなわちク、キ
ャッシュメモリに記憶されているデータと記憶デバイス
上のデータとが異なっていないか)を検証する。異なっ
ていれば、制御部31は、データの書き戻しが必要であ
ると判断する(S303)。制御部31は、データの書
き戻しが必要であると判断した場合は、DIFMに対し
て、当該データの書き戻しを指示する(S304)。
び装置優先情報42−2を更新(S305)し、処理を
終了する。本実施例では、優先順位管理に、LRU制御
が使用されることとしている。したがって、データ優先
情報の更新とは、具体的には、追い出し対象と決定され
たデータを、制御部31がテーブルから追い出すことを
いう。装置優先情報の更新とは、具体的には、追い出し
対象とされたデータが保存される物理的な記憶デバイス
のエントリを、制御部31がテーブルから追い出すこと
を言う。ただし、当該データが、当該データの保存され
ている物理的な記憶デバイスからキャッシュメモリに転
送されたデータの中で、最後のデータである場合に限
る。それ以外の場合は、装置優先情報の更新の必要はな
い。
了した後、対象のデータが専有していたキャッシュメモ
リを開放することで、対象のデータの追い出しを完了す
る(S306)。これにより、キャッシュメモリに未使
用領域が生成される。
データの追加と同様の処理が行われることとなるので、
詳細は省略する。
い出しが、キャッシュメモリへの新たなデータを記憶す
る際に発生する場合について述べた。しかし、本発明
は、このような場合の追い出しのみではなく、例えば、
制御部が定期的にキャッシュメモリからデータを追い出
す場合にも、適用できる。
01〜S306の処理を行えば良い。
装置は、物理的な記憶デバイスと論理的な記憶デバイス
とを完全に分離して制御している。したがって、実施例
1で示したように、一つの物理的な記憶デバイスに複数
の論理的な記憶デバイスを構築することが可能である。
記憶デバイスに複数の論理的な記憶デバイスを構築する
ことも可能である。図の場合、論理的な記憶デバイス5
0−2は、物理的な記憶デバイス21−2と21−3と
にまたがって構築されている。換言すれば、論理的な記
憶デバイス50−2に保存されるデータは、物理的な記
憶デバイス21−2と21−3との両方に分割されて記
録されているといえる。論理的な記憶デバイス51−2
も同様である。
用する場合にも、データ優先情報及び装置優先情報の概
念に変更を加える必要はない。データ優先情報及び装置
優先情報の取り扱いも変更する必要はない。
おける注意点を中心に説明する。
新する(S105)。装置優先情報の更新とは、制御部
31が、アクセス対象のデータが保存される物理的な記
憶装置に最も高い優先順位を与えることをいう。ここ
で、本実施例の場合は、論理的な記憶デバイスが決定さ
れても、物理的な記憶デバイスは一つに特定されない。
しかし、データ優先情報には、キャッシュメモリに記憶
されているデータが、どの物理的な記憶デバイスに保存
されているかが示されている。このため、アクセス対象
のデータが記憶されている物理的な記憶装置は、データ
優先情報を参照することで把握できる。
メモリに記憶されておらず、キャッシュメモリ内に、新
たにデータを登録することができるだけの未使用領域が
存在すれば、制御部31は、データの記憶が終了した
後、装置優先情報42−2を更新(S204)する。こ
の場合でも、制御部は、アクセス対象のデータが記憶さ
れている物理的な記憶装置はデータ優先情報を参照する
ことで把握できる。
出す場合には、制御部31は、装置優先情報42−2を
更新し(S305)し、処理を終了する。装置優先情報
の更新とは、追い出し対象とされたデータが保存される
物理的な記憶デバイスのエントリを、制御部31がテー
ブルから追い出すことを言う。ただし、当該データが、
当該データの保存されている物理的な記憶デバイスから
キャッシュメモリに転送されたデータの中で、最後のデ
ータである場合に限る。それ以外の場合は、装置優先情
報の更新の必要はない。この場合でも、制御部31は、
データ優先情報を参照することで、アクセス対象のデー
タが記憶されている物理的な記憶装置を把握できるた
め、本発明の目的は達成される。
ック管理を行うことによって、使用頻度が最も低い物理
的な記憶デバイスに保存されるデータの中で、最も使用
頻度の低いものから順に、キャッシュメモリから追い出
される。
デバイスに構築された論理的な記憶デバイスに保存され
るデータが、キャッシュメモリから追い出される可能性
を低くすることができる。このため、一つの物理的な記
憶デバイスに構築された複数の論理デバイスに対するデ
ータ読み出しの競合を回避することができる。
に際して、同一の物理的なデバイスに対する読み出しと
書き戻しとが、競合することを回避することができる。
アクセスの可能性を向上させ、データアクセスの効率化
を図ることができる。
した図である。
示す概念図である。
示した図である。
念図である。
Claims (3)
- 【請求項1】複数の記憶デバイスに接続され、当該記憶
デバイスに保存されている複数のデータを記憶するキャ
ッシュメモリと、 前記記憶デバイスとキャッシュメモリとの間でのデータ
転送を制御する制御部と、を備えたファイル制御装置で
あって、 前記制御部は、 前記複数のデータが記憶されているキャッシュメモリ内
の位置と当該複数のデータが保存されるべき前記記憶デ
バイス内の位置との関係を示すキャッシュデータ対応情
報と、前記キャッシュメモリに記憶されている複数のデ
ータについての優先順位を示すデータ優先情報と、前記
接続されている複数の物理的な記憶デバイスについての
優先順位を示す装置優先情報と、に従って前記記憶デバ
イスと当該キャッシュメモリとの間でのデータ転送を制
御すること、を特徴とするファイル制御装置。 - 【請求項2】前記制御部は、キャッシュメモリに記憶さ
れているデータを追い出す場合に、前記装置優先情報及
びデータ優先情報に従って、優先度が最も低い物理的な
記憶デバイスに保存されるべきデータの中で最も優先順
位の低いデータを対象とすること、を特徴とする請求項
1記載のファイル制御装置。 - 【請求項3】前記制御部は、キャッシュメモリへの新た
なデータの登録に伴ってキャッシュメモリに記憶されて
いるデータを追い出す場合に、前記キャッシュデータ対
応情報とデータ優先情報と装置優先情報とに従って、該
新たに登録されるデータが保存されていた記憶デバイス
とは物理的に異なる記憶デバイスに保存されるべきデー
タの中で最も優先順位の低いデータを対象とすること、
を特徴とする請求項1記載のファイル制御装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP08807399A JP3460617B2 (ja) | 1999-03-30 | 1999-03-30 | ファイル制御装置 |
| US09/531,104 US6748494B1 (en) | 1999-03-30 | 2000-03-17 | Device for controlling access to units of a storage device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP08807399A JP3460617B2 (ja) | 1999-03-30 | 1999-03-30 | ファイル制御装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2000285023A true JP2000285023A (ja) | 2000-10-13 |
| JP3460617B2 JP3460617B2 (ja) | 2003-10-27 |
Family
ID=13932694
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP08807399A Expired - Fee Related JP3460617B2 (ja) | 1999-03-30 | 1999-03-30 | ファイル制御装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US6748494B1 (ja) |
| JP (1) | JP3460617B2 (ja) |
Families Citing this family (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030236954A1 (en) * | 2002-06-20 | 2003-12-25 | International Business Machines Corporation | Method for configurable priority read order of mirrors from within a volume manager |
| JP2006215954A (ja) * | 2005-02-07 | 2006-08-17 | Hitachi Ltd | ストレージシステム及びストレージ装置のアーカイブ管理方法 |
| US7360043B1 (en) * | 2005-08-17 | 2008-04-15 | Sun Microsystems, Inc | Method and apparatus for efficiently determining rank in an LRU list |
| WO2008018115A1 (en) * | 2006-08-07 | 2008-02-14 | Mitsubishi Electric Corporation | Data transfer device, mobile terminal device, data ransfer method, and data transfer program |
| JP5699712B2 (ja) * | 2011-03-17 | 2015-04-15 | ソニー株式会社 | メモリ制御装置、メモリ装置、メモリ制御方法、及びプログラム |
| US20140115260A1 (en) * | 2012-10-18 | 2014-04-24 | Oracle International Corporation | System and method for prioritizing data in a cache |
| US9478274B1 (en) | 2014-05-28 | 2016-10-25 | Emc Corporation | Methods and apparatus for multiple memory maps and multiple page caches in tiered memory |
| US9535844B1 (en) * | 2014-06-30 | 2017-01-03 | EMC IP Holding Company LLC | Prioritization for cache systems |
| US10235054B1 (en) | 2014-12-09 | 2019-03-19 | EMC IP Holding Company LLC | System and method utilizing a cache free list and first and second page caches managed as a single cache in an exclusive manner |
| KR20160148952A (ko) * | 2015-06-17 | 2016-12-27 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
| US10552269B2 (en) * | 2017-08-31 | 2020-02-04 | International Business Machines Corporation | Backup optimization in hybrid storage environment |
| US11237730B2 (en) * | 2019-05-12 | 2022-02-01 | International Business Machines Corporation | Favored cache status for selected volumes within a storage system |
| US11176052B2 (en) | 2019-05-12 | 2021-11-16 | International Business Machines Corporation | Variable cache status for selected volumes within a storage system |
| US11163698B2 (en) | 2019-05-12 | 2021-11-02 | International Business Machines Corporation | Cache hit ratios for selected volumes using synchronous I/O |
| US11169919B2 (en) | 2019-05-12 | 2021-11-09 | International Business Machines Corporation | Cache preference for selected volumes within a storage system |
| US11151035B2 (en) | 2019-05-12 | 2021-10-19 | International Business Machines Corporation | Cache hit ratios for selected volumes within a storage system |
| US11327665B2 (en) * | 2019-09-20 | 2022-05-10 | International Business Machines Corporation | Managing data on volumes |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB9307359D0 (en) * | 1993-04-08 | 1993-06-02 | Int Computers Ltd | Cache replacement mechanism |
| JPH1165916A (ja) * | 1997-08-19 | 1999-03-09 | Hitachi Ltd | ネットワーク用キャッシュ管理方法 |
| EP1061449A4 (en) | 1998-02-04 | 2005-12-21 | Hitachi Ltd | CONTROL METHOD FOR PLATE CELL STORAGE, MEMORY PLATE ADJUSTMENT AND MEMORY DEVICE |
| US6339818B1 (en) * | 1999-06-24 | 2002-01-15 | International Business Machines Corporation | Method and system for dynamically locating frequently accessed memory regions or locations |
-
1999
- 1999-03-30 JP JP08807399A patent/JP3460617B2/ja not_active Expired - Fee Related
-
2000
- 2000-03-17 US US09/531,104 patent/US6748494B1/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP3460617B2 (ja) | 2003-10-27 |
| US6748494B1 (en) | 2004-06-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3460617B2 (ja) | ファイル制御装置 | |
| JP4065586B2 (ja) | リンクリスト形成方法 | |
| US4881163A (en) | Computer system architecture employing cache data line move-out queue buffer | |
| KR100617663B1 (ko) | 캐시 메모리 내 태그 액세스 및 데이터 액세스의 분리방법 및 장치 | |
| JP4298800B2 (ja) | キャッシュメモリにおけるプリフェッチ管理 | |
| EP0598535A1 (en) | Pending write-back controller for a cache controller coupled to a packet switched memory bus | |
| US20050154831A1 (en) | Source request arbitration | |
| JP2005533295A5 (ja) | ||
| JPH05303528A (ja) | ライトバック式ディスクキャッシュ装置 | |
| US7032093B1 (en) | On-demand allocation of physical storage for virtual volumes using a zero logical disk | |
| WO2015081889A1 (zh) | 一种缓存系统和方法 | |
| US20080301372A1 (en) | Memory access control apparatus and memory access control method | |
| JP2003228461A (ja) | ディスクアレイ装置のディスクキャッシュ管理方法 | |
| JPWO2010024071A1 (ja) | キャッシュメモリ、そのシステム、その利用方法及びその利用プログラム | |
| JP4189342B2 (ja) | ストレージ装置、ストレージコントローラ及びライトバックキャッシュ制御方法 | |
| JP2008512758A (ja) | 仮想アドレス・キャッシュに格納されたデータを共用する仮想アドレス・キャッシュ及び方法 | |
| JP2001249846A (ja) | キャッシュメモリ装置及びデータ処理システム | |
| WO2002027498A2 (en) | System and method for identifying and managing streaming-data | |
| US7805572B2 (en) | Cache pollution avoidance | |
| JP5168800B2 (ja) | マルチプロセッサシステム | |
| JP2000285022A (ja) | ディスク制御装置 | |
| WO2007099643A1 (ja) | マルチプロセッサシステム及びマルチプロセッサシステムの動作方法 | |
| KR100900012B1 (ko) | 정보 처리 시스템, 정보 처리 기판, 및 캐시 태그 및스누프 태그의 갱신 방법 | |
| JP2854668B2 (ja) | ディスク・キャッシュ制御方式 | |
| US20060143378A1 (en) | Information processing apparatus and control method for this information processing apparatus |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20030715 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080815 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090815 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090815 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100815 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110815 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120815 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120815 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130815 Year of fee payment: 10 |
|
| LAPS | Cancellation because of no payment of annual fees |