JP2000285022A - ディスク制御装置 - Google Patents

ディスク制御装置

Info

Publication number
JP2000285022A
JP2000285022A JP11091104A JP9110499A JP2000285022A JP 2000285022 A JP2000285022 A JP 2000285022A JP 11091104 A JP11091104 A JP 11091104A JP 9110499 A JP9110499 A JP 9110499A JP 2000285022 A JP2000285022 A JP 2000285022A
Authority
JP
Japan
Prior art keywords
data
storage device
continuous
information
cache memory
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
JP11091104A
Other languages
English (en)
Inventor
Hiromi Kubota
裕美 久保田
Hideaki Omura
英明 大村
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP11091104A priority Critical patent/JP2000285022A/ja
Priority to US09/539,946 priority patent/US6360296B1/en
Publication of JP2000285022A publication Critical patent/JP2000285022A/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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • G06F12/127Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning using additional replacement algorithms
    • 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/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • 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

Abstract

(57)【要約】 【課題】デステージングは、そのデータが保存されるべ
き記憶デバイス上の位置を全く考慮せずに行われてい
る。このため、記憶デバイスへのデータの保存は、ラン
ダムな位置に対して発生する場合が多くなり、処理に多
大な時間と資源を費やすこととなってしまう。 【解決手段】キャッシュメモリ上のデータの更新処理が
行われる度に、更新処理の対象となったデータが保存さ
れる記憶デバイス上の領域が、連続した領域であるか否
かを判断する。そして、連続している場合には、当該更
新処理の対象となったデータを示す連続データ情報を作
成する。ファイル制御装置は、連続データ情報に示され
た情報にしたがってデステージを行うことで、連続した
領域に連続してデータを書きこむことが示される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、情報処理システム
における外部記憶デバイスを制御するファイル制御装置
に関するものである。特に、複数のディスク型記憶デバ
イスの制御を司る制御装置に好適なファイル制御装置に
関する。
【0002】
【従来の技術】ファイル制御装置は、通常、同一データ
に対して複数個の同時アクセスを可能とするディスクキ
ャッシュを備える。その目的は、アクセス性能低下を軽
減するためである。
【0003】ディスクキャッシュは、通常半導体メモリ
素子で構成される。このため、ディスクキャッシュに記
憶されたデータに対しては、ファイル制御装置は複数の
アクセスを受け付けることが可能となる。
【0004】また、ディスクキャッシュに記憶されたデ
ータに対しては、磁気ディスク等に対するような、アー
ムの位置付け待ち(以下、「ポジショニング待ち」とい
う。)や回転待ちが不要となる。このため、転送開始ま
での待ち時間も不要となる。
【0005】以上の理由により、ファイル制御装置は、
キャッシュメモリを備えることで、非常に高速な応答性
能を実現することが可能となる。
【0006】ディスクキャッシュには論理的な記憶デバ
イスの内容の一部が記憶される。
【0007】図8は、従来のファイル制御装置を示した
図である。
【0008】記憶装置20内にはSIFM33が2個
(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)が構成されている。
【0009】記憶装置20のファイル制御装置30に備
えられている制御部31は、制御記憶41を含む。制御
記憶41にはキャッシュデータ対応情報42が配置され
ている。キャッシュデータ対応情報42とは、あるデー
タについて、そのデータが記録されている記憶デバイス
内の位置(ブロック)と、そのデータのコピーが記憶さ
れているキャッシュメモリ内の位置との対応関係を示す
情報である。
【0010】図9は、キャッシュメモリに記憶されたデ
ータを管理するための、データ優先情報42のイメージ
図である。データ優先情報42は、ブロック単位の管理
を行うための情報である。ブロックとは、記憶デバイス
に保存されているデータの一部のコピーをいう。このデ
ータ優先情報は、例えば、優先度順にブロックのエント
リ60が並べられている構造となっている。
【0011】しかし、ディスクキャッシュの容量は、フ
ァイル制御装置に接続されている記憶デバイスの総量よ
りも遥かに小さい。このため、ディスクキャッシュに記
憶されるデータは、必要に応じて交換される。交換は、
キャッシュメモリに記憶されているデータの追い出し
(以下、「デステージング」という。)と、記憶デバイ
スからのデータの読みこみ(以下、「ステージング」と
いう。)によって行われる。
【0012】データ交換を行うための制御手段の一つと
して、LRU(Least recently used)方式が使用される
ことが多い。LRU方式とは、最も最近アクセスされた
ものに、最も高い優先度を与え、最後にアクセスされて
から最も時間の経っているものに最も低い優先度を与え
る制御方式をいう。
【0013】図9左側の状態で、論理的な記憶デバイス
11(50−1)のブロックeのデータが、新たにキャ
ッシュメモリに記憶される。この場合、テーブル42に
は、当該ブロックに対応した新しいエントリ60−1が
加えられる。すると、最も優先度の低いエントリ60−
2に対応した、論理的な記憶デバイス11(50−1)
のブロックaのデータがキャッシュメモリから追い出さ
れる(図9中)。
【0014】キャッシュメモリからのデータの追い出し
には、二種類処理が存在する。
【0015】第一の処理は、ファイル制御装置が、キャ
ッシュメモリに記憶されいてる対象データを、単に論理
的に無効とする処理である。第二の処理は、ファイル制
御装置がキャッシュメモリに記憶されいてる対象データ
を記憶デバイスに保存した後に、論理的に無効とする処
理である。
【0016】第一のデステージングは、キャッシュメモ
リに記憶されているデータの内容と、記憶デバイス上に
記憶されているデータの内容とが同一である場合に行わ
れる処理である。代表的な例としては、当該データがス
テージングされた後に、一度も更新されなかった場合を
挙げることができる。また、ステージングされた後に更
新された場合であっても、ファイル制御装置が定期的に
行う「キャッシュメモリ上のデータと記憶デバイス上の
データの同期化」が行われた後に、一度も更新されなか
った場合は、前者の処理が採られる。
【0017】ここで、「キャッシュメモリ上のデータと
記憶デバイス上のデータの同期化」とは、キャッシュメ
モリ上のデータの内容と記憶デバイス上のデータの内容
とを同一にする処理をいう。具体的には、キャッシュメ
モリ上で更新されたデータが、記憶デバイスに保存され
ることで行われる。
【0018】第二の処理は、キャッシュメモリに記憶さ
れているデータの内容と、記憶デバイス上に記憶されて
いるデータの内容とが異なる場合に行われる処理であ
る。代表的な例としては、ステージングされた後にキャ
ッシュメモリ上のデータが更新された場合であって、フ
ァイル制御装置が定期的に行う「キャッシュメモリ上の
データと記憶デバイス上のデータの同期化」が行われて
いない場合である。
【0019】デステージングは、キャッシュメモリに空
き領域が不足した場合にのみ発生するものではない。例
えば、キャッシュメモリに空き領域が残存していても、
記憶装置全体の性能向上のために、ファイル制御装置
が、定期的にキャッシュメモリからデータを追い出すよ
うな制御を行うこともある。
【0020】更に論理的な記憶デバイス12(51−
1)のブロックfのデータが、新たにキャッシュメモリ
に記憶される。この場合、テーブル42には、当該ブロ
ックに対応した新たなエントリ60−3が加えられる。
すると、論理的な記憶デバイス12(51−1)のブロ
ックbのデータに対応したエントリ60−4が、データ
優先情報42から追い出される(図9右)。
【0021】
【発明が解決しようとする課題】このように、デステー
ジングは、そのデータが保存されるべき記憶デバイス上
の位置を全く考慮せずに行われている。したがって、記
憶デバイスへのデータの保存は、ランダムな位置に対し
て発生する場合が多い。
【0022】記憶デバイスには、例えば磁気ディスク装
置や光ディスク装置等の回転式記憶媒体が使用されるこ
とが多い。このため、ランダムなアクセスを行うと、ア
クセスのたびに位置付け動作が必要となる。
【0023】そうなると、保存するデータ毎に、記憶デ
バイスのポジショニング等が必要となる。このため、デ
ステージングに多大な時間と資源が費やさせることとな
る。そして、このデステージングが、サーバ等からの通
常アクセスと競合して、ファイル制御装置全体としての
性能を低下させる原因となる。
【0024】
【課題を解決するための手段】本発明は、このような性
能低下を防止することを目的とする。本発明は、デステ
ージングがランダムアクセスとなる頻度を軽減すること
が可能なファイル制御装置を提供する。
【0025】このために、本発明では、キャッシュメモ
リ上のデータの更新処理が行われるたびに、更新処理の
対象となったデータが保存される記憶デバイス上の領域
が、直前の更新処理の対象となったデータが保存される
記憶デバイス上の領域に連続した領域であるか否かを判
断する。判断の結果、当該更新処理が連続した領域に行
われている場合には当該更新処理の対象となったデータ
を示す連続データ情報を作成する。連続データ情報に
は、最初に更新されたデータから連続性が断たれる最後
までのデータが示される。
【0026】図4に、この処理の概念図を示す。
【0027】上段にはデータ優先情報の遷移を、下段に
は連続データ情報の遷移を示す。状態は、それぞれ、左
側から右側へ遷移する。
【0028】データ優先情報は、当初、上段左側のよう
な状態であるとする。最も優先度の高いブロックは、記
憶デバイス21のブロックd(60−1)である。続い
て、記憶デバイス22のブロックc(60−2)が、登
録されている。この時点では、連続データ情報には、下
段左側(60−4)に示すように、何の情報も登録され
ていない。
【0029】この状態で、サーバから、記憶デバイス1
1のブロックaに対しての更新処理が行われた。続い
て、サーバから、記憶デバイス11のブロックb、ブロ
ックcについて更新処理が行われた。この時点で、デー
タ優先情報は、最も優先度の高い順に、「記憶デバイス
11のブロックc、同デバイスのブロックb、a」とな
っている(60−3)。連続データ情報には、相変わら
ず、下段中に示すように、何の情報も登録されていな
い。
【0030】ここで、サーバからの更新処理が終了す
る。ファイル制御装置は、更新されたブロック数を記憶
しておく。今回は、更新されたブロック数は、三つであ
る。
【0031】一連の更新処理は、現在のデータ優先情報
の最上位に位置付けられているデータで終わった。また
そのデータよりも、ファイル制御装置が計数した更新回
数分だけ、優先度の低いデータから始まった。
【0032】今回は、更新されたブロック数は三つであ
る。したがって、ファイル制御装置は、最上位から三つ
優先度の低いデータ、すなわち、記憶デバイス11のブ
ッロクaから更新処理が開始されたことが分かる。ファ
イル制御装置は、記憶デバイス11のブロックaから、
最も優先度の高いブロックまで、優先度の高いほうに記
憶されているデータのブロック番号を検索する。今回
は、「記憶デバイス11のブロックa、同デバイスのブ
ロックb、c」と登録されいてることが分かる。
【0033】ファイル制御装置は、更新されたブロック
が連続していた場合は、それらの全てのブロックを連続
データ情報に移動する。データ優先情報は、移動したデ
ータを除いて、再び、優先度の高い順に並び替えられ
る。結局、連続した更新処理が行われる前の状態に戻る
こととなる。この状態は、上段右側に示されている。
【0034】一方、連続データ情報には、データ優先情
報から移動されるデータをそのまま、登録する(60−
5)。この状態は、下段右側に示されている。
【0035】以上により、連続データ情報の作成がされ
る。
【0036】連続性を検出できない更新処理の場合は、
更新対象となったデータを従来通り、データ優先情報
に、優先度を最も高くして追加する。
【0037】ファイル制御装置は、何らかの要因で、キ
ャッシュメモリ上に格納されたデータのデステージング
が必要となった場合は、連続データ情報を参照する。フ
ァイル制御装置は、連続データ情報に従って、最も優先
度の低い連続データのデステージングを行う。
【0038】もちろん、デステージの対象とするデータ
は、常に連続データ情報に示されたデータである必要は
ない。例えば、データ優先情報に示されているデータと
連続データ情報に示されている一連のデータとの間の優
先順位を総合的に判断するための情報を更に持ち、両者
の中で、最も優先度の低いデータを対象としても問題は
ない。
【0039】具体的には、例えば、データ優先情報に、
連続データ用のエントリを作成しておくことで、統一的
な優先順位の管理が可能となる。この場合は、連続デー
タ情報に、対象データを移動した後に、データ優先情報
の最も優先度の高いエントリに、連続データ情報のエン
トリを指し示すポインタを追加することとなる。いずれ
を選択するかは、種々の要因により異なると考えられ
る。
【0040】デステージング情報が、図4の下段右側の
ような状態であれば、ファイル制御装置は、記憶デバイ
ス11のブロックaから同デバイスのブロックcまでの
データを連続してデステージングすることとなる。
【0041】ファイル制御装置は、連続データ情報に示
された一連のデータを連続して記憶デバイスに保存でき
るために、データ毎のポジショニングを行う必要がなく
なる。このため、ファイル制御装置は、最も効率良く高
速にデステージングを行うことが可能になる。
【0042】なお、以上の説明の中で、「データ」とし
て説明されているものは、論理的な一まとまりのデータ
群を意味するものである。したがって、例えば、必ずし
も、物理的あるいは論理的な磁気ディスクの1記憶単位
と、一対一に対応するものである必要はない。つまり、
「データ」の単位は、ファイル制御装置が最も制御しや
すい最低単位を意味するものであり、一定の値でありさ
えすれば、1トラックであっても、4ブロックであって
も、差しつかえない。
【0043】
【実施例】[実施の態様]図2は、本発明にかかる計算
機システム全体の構成を示した図である。
【0044】計算機システムは、データアクセスを行う
サーバ10と記憶装置20からなる。記憶装置20は、
記憶デバイス21−1〜21−kとファイル制御装置3
0とから構成される。
【0045】サーバ10から記憶装置20へデータの読
み出しが要求されると、記憶装置20内に備えられたフ
ァイル制御装置30は、対象の記憶デバイスからデータ
を読み出してサーバ10ヘ送る。
【0046】サーバ10から記憶装置20へデータの書
きこみが要求されると、記憶装置20内に備えられたフ
ァイル制御装置30は、対象の記憶デバイスヘデータを
書き込む。
【0047】図2では、記憶デバイス21はファイル制
御装置にk台接続されている。サーバ10からデータの
書き込みが記憶装置20へ指示されると、記憶装置20
内に備えられたファイル制御装置30は、対象となる記
憶デバイスを選択し、当該記憶デバイスに書き込みが行
われる。
【0048】図3は、記憶装置20のブロック構成例を
示した図である。
【0049】データを記憶しておく装置は記憶デバイス
21−1〜21−k、記憶デバイス21−1〜21−k
を制御する装置はファイル制御装置30と呼ばれる。
【0050】ファイル制御装置30の内部には、ファイ
ル制御装置30全体を制御する制御部31と、該制御部
31が管理するリソースの管理状況が記録される制御記
憶32と、サーバ10とのインタフェースを制御するモ
ジュールSIFM33と、記憶デバイス21とのインタ
フェースを制御するモジュールDIFM34とが含まれ
る。
【0051】さらにファイル制御装置30の内部には、
記憶デバイス21のデータの一部を記憶するためのキャ
ッシュメモリ40が含まれる。
【0052】SIFM33やDIFM34を複数個備え
ることも可能である。記憶デバイス21の例としては磁
気ディスクや光ディスク等のディスク装置などが挙げら
れる。
【0053】サーバ10から記憶装置20にアクセス要
求があった場合、ファイル制御装置30は、アクセス対
象のデータがキャッシュメモリ40に記憶されているか
否かをまず確かめる。
【0054】アクセス対象のデータがキャッシュメモリ
40に記憶されていれば、そのデータをサーバ10から
のアクセス要求に対して使用する。
【0055】アクセス対象のデータがキャッシュメモリ
40記憶されていない場合、サーバ10からのアクセス
内容に応じて次のような処理を行う。
【0056】アクセスがデータの読み出しである場合、
ファイル制御装置30は、アクセス対象のデータを記憶
デバイス21から読み出してサーバ10ヘ転送する。こ
の時、ファイル制御装置30は、記憶デバイス21から
読み出されたデータをキャッシュメモリ40にも記憶し
ておく。ファイル制御装置30は次のアクセスに備え
る。
【0057】アクセスがデータの書き込みである場合、
ファイル制御装置30は、書き込みデータをキャッシュ
メモリ40に書き込む。
【0058】キャッシュメモリ40の容量は、記憶デバ
イス全体21−1〜21−kの記憶容量より少ない。こ
のため、アクセスに応じて、ファイル制御装置30は、
キャッシュメモリ40内のデータのデステージングを行
う必要がある。
【0059】[実施例]図1は、本発明の実施例を示し
たものである。
【0060】本実施例では、一つの物理的な記憶デバイ
スには、それぞれ二つの論理的な記憶デバイスが構成さ
れている。記憶装置20内にはSIFMが2個(33−
1及び33−2)、DIFMが3個(34−1〜34−
3)、物理的な記憶デバイスは3台(21−1〜21−
3)、キャッシュメモリ40ヘのアクセスバスは2個
(36−1及び36−2)が備わっているものとする。
【0061】記憶装置20に備えられているファイル制
御装置30の制御部31は、連続情報生成部45−1
と、制御記憶41と演算処理部45を含む。連続情報生
成部45−1は、サーバから要求された一連の更新処理
の対象となったキャッシュ上のブロックが、記憶デバイ
ス上で連続したブッロクに対して行われたものか否かを
判断する。連続情報生成部45−1は、ブッロクが連続
していると判断した場合には、連続データ情報を生成す
る。連続データ情報には、一連の更新思慮の対象となっ
たブロックに関する情報が示されている。
【0062】制御記憶41にはデータ優先情報テーブル
(42−1)、連続データ情報テーブル(42−2)、
キャッシュデータ対応テーブル(42−3)、及び連続
カウンタ(42−4)が設けられている。演算処理部4
5は、制御記憶に格納されたプログラムに従って動作
し、ファイル制御装置全体を制御する。
【0063】図6は、連続データ情報を具体化したテー
ブルの一例を示した図である。
【0064】このテーブルは、ブロック単位の管理を行
うためのテーブルである。このテーブルには、ブロック
のエントリが並べられている。ブロックとは、記憶デバ
イスに保存されているデータの一部のコピーをいう。
【0065】図の構造では、一段が一つのエントリであ
る。
【0066】各エントリには、昇順に「エントリ番号」
が付されている。これは、所定のメモリアドレスからの
オフセット値であることが多い。図では、エントリは4
つ作成されている。したがって、キャッシュメモリに記
憶されているブロックは4っつであることを意味する。
【0067】「物理デバイス番号」は、ブロックが保存
される物理的な記憶デバイスの番号を示している。「論
理デバイス番号」は、ブロックが保存される論理的な記
憶デバイスの番号を示している。他のテーブルを参照す
ることにより、「物理的な記憶デバイス」と「論理的な
記憶デバイス」との関係が明らかであれば、「論理デバ
イス番号」は、データ優先情報にとって必須の情報では
ない。しかし、本実施例では、データ優先情報が、「物
理的な記憶デバイス」と「論理的な記憶デバイス」との
関係をも示すものとする。
【0068】図のような状態であれば、論理的な記憶デ
バイス11と12は、ともに物理的な記憶デバイス1に
構成されていることが、エントリ0及びエントリ1を参
照することで認識できる。また、論理的な記憶デバイス
21と22は、ともに物理的な記憶デバイス2に構成さ
れていることも、エントリ2及びエントリ3を参照する
ことで認識できる。
【0069】「ブロック番号」は、キャッシュメモリ4
0に記憶されているブロックの番号(すなわち、論理的
な記憶デバイスに保存されている各データ毎に付されて
いる唯一な番号)を示している。
【0070】図のような状態であれば、例えば、エント
リ0は、『「物理的な記憶デバイス1」に構成されてい
る「論理的な記憶デバイス11」に保存されているブロ
ックa』ついての情報である。
【0071】「前」は当該エントリより一つ優先度の高
いエントリ番号を示しいてる。「後」は、当該エントリ
より一つ優先度の低いエントリ番号を示している。この
ため、最も優先度の高いエントリの「前」にはヌル値
(図では「*」で示されている。実際には、全てのビッ
トをオンにした値が用いられることが多い。)が設定さ
れている。また、最も優先度の低いエントリの「後」に
もヌル値が設定さている。
【0072】図の状態では、優先度は、高い順から「論
理的な記憶デバイス21のブロックc、論理的な記憶デ
バイス22のブロックd、論理的な記憶デバイス12の
ブロックb、論理的な記憶デバイス11のブロックa」
であることが分かる。
【0073】ファイル制御装置30は、サーバ10から
読み出しを要求されたデータがキャッシュメモリ40に
記憶されていれば、キャッシュメモリ40からデータを
転送する。ファイル制御装置30は、サーバ10から読
み出しを要求されたデータがキャッシュメモリ40に記
憶されていなければ、記憶デバイスからデータを読み出
して転送する。
【0074】サーバ10が書き込みを要求したデータが
キャッシュメモリ40に記憶されいてれば、ファイル制
御装置30は、サーバ10が書き込みを要求したデータ
で、キャッシュメモリ40に記憶されいてるデータを更
新する。サーバ10が書き込みを要求したデータがキャ
ッシュメモリ40に記憶されていなければ、ファイル制
御装置30は、一旦、記憶デバイスから対象となるデー
タをキャッシュメモリ40内へ読み出して記録する。そ
の後、ファイル制御装置30は、サーバ10から転送さ
れたデータで、キャッシュメモリに記録されたデータを
更新する。
【0075】あるいはファイル制御装置30は、サーバ
が書き込みを要求したデータを、記憶デバイスからデー
タを読み出すことなく、キャッシュメモリヘ直接書き込
む。
【0076】キャッシュメモリ40内で更新されたデー
タは、例えば、そのデータを含むブロックがキャッシュ
メモリ上から追い出される時に、記憶デバイスヘ書き戻
される。
【0077】制御部31は、読み出しや書き込みの要求
があったブロックのエントリに、データ優先情報(42
−1)の中で最も高い優先度を与える。
【0078】例えば、データ優先情報(42−1)を具
体化したテーブルが図6(a)に示すような状態であっ
た場合に、論理的な記憶デバイス11のブロックaにア
クセスがあったとする。
【0079】この場合、制御部31は、論理的な記憶デ
バイス11のブロックaに対応するエントリ0に最も高
い優先度を与える。この為に、制御部31は、当該エン
トリの「前」にヌル値(*)を設定し、「後」に「2」
を設定する。エントリ2は、論理的な記憶デバイス11
のブロックaへのアクセスが発生する以前に、最も優先
順位の高かかったエントリである。制御部31は、エン
トリ2の「前」には、「0」を設定する。エントリ0
は、今回最も優先度を高くするエントリである。
【0080】次に、制御部31は、元エントリ0の
「前」だったエントリ1の「後」に、元エントリ0の
「後」だったヌル値(*)を設定する。これで、優先順
位の変更は終了する。
【0081】最終的には、装置優先情報を具体化したテ
ーブルは、図6(b)のようになる。この状態では、優
先度は、高い順から「論理的な記憶デバイス11のブロ
ックa、論理的な記憶デバイス21のブロックc、論理
的な記憶デバイス22のブロックd、論理的な記憶デバ
イス12のブロックb」となっている。
【0082】連続データ情報テーブルを具体化したテー
ブルは、本実施例においてはデータ優先情報テーブルと
同一の構成であるとする。したがって、その内容や操作
は、連続データ情報テーブルの場合と同様とする。ただ
し、本実施例は、連続データ情報テーブルの構成を限定
するものではない。連続データ情報テーブルの構成とし
ては、本実施例以外にも、例えば、各エントリを一連の
データについてのものとして、各エントリには連続した
データの始まりのブロックと終わりのブロックを示すよ
うに構成することも考えられる。
【0083】次に、実際にデータの更新処理が行われた
場合を説明する。動作は、図7のフローに示す。
【0084】当初のデータ優先情報テーブルは、図5上
段に示すような状態であったとする。連続データ情報テ
ーブルには、何の情報も示されていなかったとする。
【0085】この状態で、サーバ10からデータの更新
が要求される。更新は三つのブロックに対して行われ
た。当該データは、更新された順番に「物理的な記憶デ
バイス1ブロックa、物理的な記憶デバイス1ブロック
b、物理的な記憶デバイス1ブロックb」である。
【0086】制御部31は、サーバからデータの更新を
要求されるたびにデータ優先情報テーブルを更新する。
サーバからの3ブロックへの更新が終了した時点では、
優先情報データテーブルは、図5中段のような状態にな
っている。連続カウンタは、「3」になっている。
【0087】制御部31は、一連の更新処理が終了した
ので、当該更新処理が記憶デバイス上の連続したブロッ
クに対して行われたか否かを判断する。制御部31は、
連続カウンタを参照し、連続して更新されたブロックの
数を知る(S101)。制御部31は、データ優先情報
テーブルを参照し、今回の更新により登録された最初の
ブロックを対象のブロックに決定する(S102)。本
実施例では、再優先のブロックから三つ優先度の低い
「物理的な記憶デバイス1ブロックa」が対象となる。
制御部31は、対象のブロックのエントリを参照する
(S103)。
【0088】制御部は、次に、当該ブロックが最も優先
度の高いブロックであるか否かを判断する(S10
4)。
【0089】当該ブロックが最も優先度の高いブロック
でなければ、制御部31は、エントリの連続性の検査を
続行する必要がある。制御部31は、優先度の一つ高い
ブロックを参照する(S105)。制御部31は、優先
度の一つ高いブロックが、現在対象としているブロック
と連続か否か判断する(S106)。
【0090】連続でなければ、一連の更新処理は、連続
したブロックに対するものではなかったと判断し、処理
を終了する(S203)。
【0091】連続であれば、優先度の一つ高いブロック
を次なる対象のブロックと設定する(S107)。制御
部31は、対象となるブロックを参照し(S103)、
以上の処理を繰り返す。
【0092】一方、当該ブロックが最も優先度の高いブ
ロックであれば、テーブルの参照を終了する。また、最
も優先度の高いブロックまでエントリをたどれたという
ことは、対象となった全てのブロックが連続であったこ
とを意味する。したがて、制御部31は、連続データ情
報テーブルの生成を行う(S201)。
【0093】当初、連続データ情報テーブルには、何の
情報も示されていなかったと書いてしている。したがっ
て、連続データ情報テーブルには、今回連続的に更新さ
れたと判断したブロックのみが示されることとなる。こ
の状態の連続データ情報テーブルの一例を図5下段に示
す。
【0094】次に、制御部31は、データ優先情報テー
ブルから、連続データ情報テーブルに移動されたブロッ
クのエントリを削除する(S202)。したがって、デ
ータ優先情報テーブルは、今回の更新処理が行われる前
の、図5上段の状態に戻る。
【0095】本実施例では、更新処理においても、デー
タが連続的に更新された場合を想定した。しかし、例え
ば一連の更新処理の対象となったデータが結果として連
続している場合に、当該更新処理の対象となったデータ
を連続データ情報に追加することも考えられる。
【0096】例えば、サーバからの更新が、同一記憶デ
バイスに対して「ブロックa、ブロックc、ブロック
b」という順番で行われたとする。この場合、実際の更
新処理は連続的ではないが、結果として「ブロックaか
らブロックc」までの連続領域に対する更新がこおなわ
れている。したがって、これを連続データ情報に追加し
ても、本発明の効果を享受できる。
【0097】この場合は、連続データ情報への登録対象
となるか否かの判断は、例えば、一連の更新処理の対象
となったデータを並び替えて後で、前述した連続判断を
行えば良い。具体的には、図7の処理フローのS101
とS102との間に、当該処理を行うこととなる。
【0098】また、本実施例では、連続データ情報に登
録されている一組のデータの集合と、データ優先情報に
登録されている単一のデータとの間の優先順位管理につ
いては触れていない。しかし、これら一組のデータの集
合と、単一のデータとの間で、統一的な優先度管理を行
うことも考えられる。
【0099】例えば、データ優先情報に、連続データ用
のエントリを作成しておくことが考えられる。この場合
は、連続データ情報に対象データを移動した後に、デー
タ優先情報の最も優先度の高いエントリに、連続データ
情報のエントリを指し示すポインタを追加することとな
る。
【0100】他の例としては、データ優先情報の構造を
変更し、「ブロック番号」に二つの番号を示させるよう
な構造も考えられる。二つのブロック番号には、連続し
たデータの始まりのブロック番号と終わりのブロック番
号とが示される。単一のデータに関するエントリであれ
ば、二つのブロック番号が同一の値を示すようにしてお
けば良い。
【0101】この場合、制御部31は、前述した連続判
断の最後に、データ優先情報のエントリを編集する必要
がある。制御部31は、連続したデータを、連続データ
情報に移動してデータ優先情報から連続する一連のデー
タのに関する情報を削除する代わりに、データ優先情報
の最も優先度の高い位置に一連のデータの集合を示すエ
ントリを追加し、更新処理の最中に作成した、ここのデ
ータに関するエントリを削除する。
【0102】以上のような処理の具体手段としては、前
述したデータ優先情報の例と従来技術とから多種多様な
ものが考えられ、設計者がそれらの中から適宜選択し得
るものであると考える。
【0103】以上で、データの更新処理に伴う、本判明
の動作説明を終了する。
【0104】ところで、連続データ情報は、一連のデー
タの集合に関する情報を複数個示すことができる。した
がって、設計するに際しては、連続データ情報が、同一
データに関する情報を、重複して示すことのないように
気をつける必要がある。
【0105】例えば、更新処理を開始する前に、対象デ
ータが既に連続データ情報に登録されたとする。この場
合は、当該データの含まれる連続情報を、連続データ情
報から削除した後に、前述した処理を行えば、重複の回
避が可能となる。
【0106】この後、何らかの要因により、制御部31
が、デステージングを行う場合は、連続データ情報テー
ブルが参照される。本実施例では、三つのブロックが示
されている。したがって、制御部31は、三つのブロッ
クを一つのデータ単位として記憶デバイスに保存する。
例えば一つのデータが4キロバイトであるとするたと、
データの保存処理は、データ長13キロバイトの一度の
書きこみ処理で終了する。
【0107】一塊とみなされたデータは、例えば、一つ
のSCSIコマンドで記憶デバイスに保存することがで
きる。
【0108】また、連続データ参照テーブルを記憶デバ
イス毎に備えることとすれば、制御が更に容易になる。
【0109】
【発明の効果】本発明にかかるファイル制御装置では、
連続データ情報に従ってキャッシュメモリ上のデータを
記憶デバイスに保存するだけで、記憶デバイスのアーム
動作等のポジショニング処理を最小限にすることが可能
となる。また、デステージングに際して、データ優先情
報を検索して記憶デバイスに対するデータ保存の順番を
変更する等のオーバーヘッドも必要もない。
【0110】本発明は、記憶デバイスとして、RAID
1(多重化)が構成されている場合であっても、同様の
効果を奏する。例えば、RAID1では、多重化されて
いる一つの記憶デバイスに関して考えれば、通常の物理
ディスクの制御と何ら変わるものがない。
【0111】また、RAID0(ストライピング)が構
成されている場合であっても、一つの物理的な記憶デバ
イスについて考えれば、連続した領域にデータを記録す
ることが可能となる。更には、データを分散して格納し
ている全ての物理的な記憶デバイスに対して同時に書き
こみ処理ができるとう利点も享受できる。
【0112】特にRAID5(パリティ付ストライピン
グ)に関しては、データを分散して格納している全ての
物理的な記憶デバイスに対して同時に書きこみ処理がで
きるために、書きこみ前のパリティの読み出しが不要に
なり、記憶デバイスへのアクセス回数自体を減らすとい
う効果も期待できる。
【図面の簡単な説明】
【図1】本発明に係る記憶装置のブロック図である。
【図2】本発明にかかる計算機システム全体の構成を示
した図である。
【図3】記憶装置のブロック構成図である。
【図4】本発明にかかるデータ優先情報及び連続データ
情報の内容の遷移を示す概念図である。
【図5】データ優先情報及び連続データ情報の一実施例
を示した図である。
【図6】データ優先情報の一例を示した図である。
【図7】制御部の処理フローである。
【図8】従来のファイル記憶装置の詳細図である。
【図9】従来のデータリンクテーブルの内容の遷移を示
す概念図である。
【符号の説明】
10 サーバ 20 記憶装置 21 物理的な記憶デバイス 30 ファイル制御装置 31 制御部 32 制御記憶 40 キャッシュメモリ 41 制御記憶 42−1 データ優先情報 42−2 連続データ情報 42−3 キャッシュメモリ管理情報 45 演算処理部 50 論理的な記憶デバイス 51 論理的な記憶デバイス

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】記憶デバイスに接続され、当該記憶デバイ
    スに保存されているデータを記憶するキャッシュメモリ
    と、 前記記憶デバイスとキャッシュメモリとの間でのデータ
    転送を制御する制御部と、を備えたファイル制御装置で
    あって、 前記制御部は、上位装置からの更新処理の対象となるキ
    ャッシュメモリ上のデータが保存される記憶デバイス上
    の領域が連続している場合には、当該更新処理の対象と
    なった複数のデータに関連する連続データ情報を生成す
    る連続情報生成部を備え、キャッシュメモリに記憶され
    ているデータを記憶デバイスに保存する場合には、前記
    連続データ情報に従って、キャッシュメモリに記憶され
    ているデータを記憶デバイス上の連続した領域に連続し
    て保存すること、を特徴とするファイル制御装置。
  2. 【請求項2】前記記憶デバイスは、物理的な記憶デバイ
    スに構成される論理的な記憶デバイスであって、 前記制御部は、一つの物理的な記憶デバイスに構成され
    る複数の論理的な記憶デバイスに関する前記連続データ
    情報が存在する場合に、一の論理的な記憶デバイスに対
    するデータの保存を終了した後に、当該物理的な記憶デ
    バイスに構成される他の論理的な記憶デバイスに対する
    データの保存を行うこと、を特徴とする請求項1記載の
    ファイル制御装置。
  3. 【請求項3】記憶デバイスに接続され、当該記憶デバイ
    スに保存されているデータを記憶するキャッシュメモリ
    と、 キャッシュメモリに記憶されている複数のデータについ
    ての優先順位を示す情報であって、記憶デバイス上の領
    域で連続している複数のデータの集合に対しても一つの
    優先順位が割り当てられているデータ優先情報に従って
    前記記憶デバイスと当該キャッシュメモリとの間でのデ
    ータ転送を制御する制御部と、を備えたことを特徴とす
    るファイル制御装置。
  4. 【請求項4】記憶デバイスに接続され、当該記憶デバイ
    スに保存されているデータを記憶するキャッシュメモリ
    と、 キャッシュメモリに記憶されている複数のデータについ
    ての優先順位を示すデータ優先情報にしたがって、前記
    記憶デバイスとキャッシュメモリとの間でのデータ転送
    を制御する制御部と、を備えたファイル制御装置のデー
    タ優先情報の構造であって、 単一のデータに対して一つの優先順位が割り当てられて
    いるとともに、記憶デバイス上の領域で連続している複
    数のデータの集合に対しても一つの優先順位が割り当て
    られていること、を特徴とするファイル制御装置のデー
    タ優先情報の構造。
JP11091104A 1999-03-31 1999-03-31 ディスク制御装置 Pending JP2000285022A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP11091104A JP2000285022A (ja) 1999-03-31 1999-03-31 ディスク制御装置
US09/539,946 US6360296B1 (en) 1999-03-31 2000-03-31 Disk control apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11091104A JP2000285022A (ja) 1999-03-31 1999-03-31 ディスク制御装置

Publications (1)

Publication Number Publication Date
JP2000285022A true JP2000285022A (ja) 2000-10-13

Family

ID=14017227

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11091104A Pending JP2000285022A (ja) 1999-03-31 1999-03-31 ディスク制御装置

Country Status (2)

Country Link
US (1) US6360296B1 (ja)
JP (1) JP2000285022A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008004069A (ja) * 2006-06-20 2008-01-10 Korea Advanced Inst Of Science & Technol 行列ストライプキャッシュを利用したraidシステムの入出力性能を向上させる方法
JP2014519650A (ja) * 2011-05-23 2014-08-14 インターナショナル・ビジネス・マシーンズ・コーポレーション ストレージのためのトラックのキャッシュ管理するプログラム、システム、および方法
WO2019124320A1 (ja) * 2017-12-20 2019-06-27 Necプラットフォームズ株式会社 ストレージコントローラ、ストレージアレイ装置、データ格納方法、および記憶媒体

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7631149B2 (en) * 2006-07-24 2009-12-08 Kabushiki Kaisha Toshiba Systems and methods for providing fixed-latency data access in a memory system having multi-level caches
JP5006389B2 (ja) * 2007-04-16 2012-08-22 パナソニック株式会社 端末装置及び集積回路
US20090210622A1 (en) * 2008-02-19 2009-08-20 Stefan Birrer Compressed cache in a controller partition

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4523206A (en) * 1982-03-03 1985-06-11 Sperry Corporation Cache/disk system with writeback regulation relative to use of cache memory
US4506323A (en) * 1982-03-03 1985-03-19 Sperry Corporation Cache/disk file status indicator with data protection feature
US4875155A (en) * 1985-06-28 1989-10-17 International Business Machines Corporation Peripheral subsystem having read/write cache with record access
US5596736A (en) * 1992-07-22 1997-01-21 Fujitsu Limited Data transfers to a backing store of a dynamically mapped data storage system in which data has nonsequential logical addresses
US5526511A (en) * 1993-12-23 1996-06-11 Unisys Corporation Enhanced least recently used round robin cache management method and apparatus for allocation and destaging of cache segments
US5542066A (en) * 1993-12-23 1996-07-30 International Business Machines Corporation Destaging modified data blocks from cache memory
JP3030229B2 (ja) * 1994-06-20 2000-04-10 インターナショナル・ビジネス・マシーンズ・コーポレイション データを転送する方法及びデータ記憶システム
JPH10240450A (ja) * 1997-02-28 1998-09-11 Hitachi Ltd 記憶装置システム
US6192450B1 (en) * 1998-02-03 2001-02-20 International Business Machines Corporation Destage of data for write cache

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008004069A (ja) * 2006-06-20 2008-01-10 Korea Advanced Inst Of Science & Technol 行列ストライプキャッシュを利用したraidシステムの入出力性能を向上させる方法
JP4512111B2 (ja) * 2006-06-20 2010-07-28 コリア アドバンスト インスティテュート オブ サイエンス アンド テクノロジー 行列ストライプキャッシュを利用したraidシステムの入出力性能を向上させる方法
JP2014519650A (ja) * 2011-05-23 2014-08-14 インターナショナル・ビジネス・マシーンズ・コーポレーション ストレージのためのトラックのキャッシュ管理するプログラム、システム、および方法
WO2019124320A1 (ja) * 2017-12-20 2019-06-27 Necプラットフォームズ株式会社 ストレージコントローラ、ストレージアレイ装置、データ格納方法、および記憶媒体
JP2019113890A (ja) * 2017-12-20 2019-07-11 Necプラットフォームズ株式会社 ストレージコントローラ、ストレージアレイ装置、データ格納方法、およびプログラム
US11099985B2 (en) 2017-12-20 2021-08-24 Nec Platforms, Ltd. Storage controller, storage array device, data depositing method, and storage medium

Also Published As

Publication number Publication date
US6360296B1 (en) 2002-03-19

Similar Documents

Publication Publication Date Title
US5717893A (en) Method for managing a cache hierarchy having a least recently used (LRU) global cache and a plurality of LRU destaging local caches containing counterpart datatype partitions
JP3697149B2 (ja) キャッシュ・メモリを管理する方法
EP0077453B1 (en) Storage subsystems with arrangements for limiting data occupancy in caches thereof
EP0077452B1 (en) Data promotion in storage subsystems
US6311252B1 (en) Method and apparatus for moving data between storage levels of a hierarchically arranged data storage system
US5742933A (en) Rotary memory storage device with cache control method and apparatus
JP3586887B2 (ja) 情報記録再生装置およびデータキャッシュ方法
JP2007041904A (ja) ストレージ装置、ディスクキャッシュ制御方法及びディスクキャッシュの容量割当方法
US5420983A (en) Method for merging memory blocks, fetching associated disk chunk, merging memory blocks with the disk chunk, and writing the merged data
JPH05303528A (ja) ライトバック式ディスクキャッシュ装置
JP3460617B2 (ja) ファイル制御装置
JPS63186348A (ja) 1回書込み多数回読取記憶媒体の効用を高める装置および方法
JP4612269B2 (ja) 仮想ボリューム管理方式
US6782444B1 (en) Digital data storage subsystem including directory for efficiently providing formatting information for stored records
JPH11288387A (ja) ディスクキャッシュ装置
US6532513B1 (en) Information recording and reproduction apparatus
JP2000285022A (ja) ディスク制御装置
JPH044617B2 (ja)
JP3335919B2 (ja) ディスクキャッシュ制御装置
JP3083530B2 (ja) キャッシュメモリのデータ管理方法およびキャッシュ制御装置
JP2854668B2 (ja) ディスク・キャッシュ制御方式
JP2854667B2 (ja) ディスク・キャッシュ制御方式
JP2782842B2 (ja) ディスクキャッシュ装置
JPH07248973A (ja) バックアップ処理方法
JPH07334425A (ja) ディスクキャッシュ制御方式

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20030819