JPH09244931A - リアルタイムファイルシステム - Google Patents

リアルタイムファイルシステム

Info

Publication number
JPH09244931A
JPH09244931A JP8049089A JP4908996A JPH09244931A JP H09244931 A JPH09244931 A JP H09244931A JP 8049089 A JP8049089 A JP 8049089A JP 4908996 A JP4908996 A JP 4908996A JP H09244931 A JPH09244931 A JP H09244931A
Authority
JP
Japan
Prior art keywords
cache
priority
buffer
block
flush
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
JP8049089A
Other languages
English (en)
Inventor
Hisayoshi Kurosawa
寿好 黒澤
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP8049089A priority Critical patent/JPH09244931A/ja
Publication of JPH09244931A publication Critical patent/JPH09244931A/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)【要約】 (修正有) 【課題】 リアルタイムオペレーティングシステムのフ
ァイルシステムにおいて、高い優先度プロセスのファイ
ルアクセスに対して、低い優先度プロセスの影響を排除
する。 【解決手段】 ファイル管理からの要求に応じて、キャ
ッシュバッファの確保および開放を処理するファイルキ
ャッシュ制御手段、主記憶上に領域を持つキャッシュバ
ッファ本体およびキャッシュバッファ内の各バッファブ
ロックを管理するためのデータ構造を格納するキャッシ
ュ保持手段、前記キャッシュバッファ内のバッファブロ
ックを管理するためのリストへのポインタの配列、キャ
ッシュバッファ中において外部記憶装置に対して書き出
しを必要とするバッファブロックをある規則に基づいた
順番で随時書き出していくキャッシュフラッシュ手段を
有し、プロセスがファイルアクセスする際に使用するキ
ャッシュを、該プロセスの優先度に応じたキャッシュバ
ッファからのみ使用する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、外部記憶装置上
のデータファイルへの書き出し、及び読み込み処理の高
速化を目的としたファイルキャッシュバッファの制御方
式に関する。
【0002】
【従来の技術】従来、ファイルキャッシュバッファの制
御方式としては、「UNIX 4.3BSDの設計と実
装」(中村明他訳、平成3年6月30日 丸善株式会社
出版)の7.5節「バッファ管理」(p.217〜p.
222)に記載されているオペレーティングシステム解
説等で見られるように、システムで1つのバッファプー
ルを持ち、このバッファプールを外部記憶装置のブロッ
クサイズに対応した大きさに分割し、これを使用中・未
使用に分けて、それぞれのブロックをリストでつないで
管理していた。
【0003】
【発明が解決しようとする課題】従来のファイルシステ
ムは以上のようにして構成されていたので、システム全
体としてのパフォーマンスを向上させることはできて
も、優先度の高い処理が必ずしも高速に完了するとは限
らず、一旦ファイルアクセスを開始すると、低優先度の
処理の頻繁なファイルアクセスに起因するファイルキャ
ッシュバッファ資源の枯渇により、資源回復までに長時
間の待ち合わせを余儀なくされる可能性があるという問
題点があった。
【0004】この発明は、上記のような問題点を解決す
るためになされたもので、高優先度処理に対しても高い
応答性能を有するリアルタイムファイルシステムを提供
することを目的とする。
【0005】
【課題を解決するための手段】第1の発明に係わるリア
ルタイムファイルシステムは、プロセススケジューリン
グを有するオペレーティングシステム制御下において動
作し、プロセスの実行・停止を司るプロセス制御手段
と、プロセスに割り付る優先度を保持するプロセス優先
度テーブルと、キャッシュバッファの確保・解放を司る
キャッシュ制御手段と、キャッシュバッファを主記憶上
に保持するキャッシュ保持手段と、キャッシュバッファ
の使用状況を周期的にチェックしてフラッシュ制御処理
を行うキャッシュフラッシュ手段とを有するリアルタイ
ムファイルシステムにおいて、プロセス優先度の数と同
じ数に分割されたキャッシュバッファと、キャッシュバ
ッファを構成する各ブロックを、使用中のブロックリス
ト及び未使用状態のブロックリストの組みとして管理す
る使用中・フリー状態リストを備え、プロセスがファイ
ルアクセスする際に、プロセスの優先度に対応したキャ
ッシュバッファを使用するようにしたものである。
【0006】第2の発明に係わるリアルタイムファイル
システムは、プロセススケジューリングを有するオペレ
ーティングシステム制御下において動作し、プロセスの
実行・停止を司るプロセス制御手段と、プロセスに割り
付る優先度を保持するプロセス優先度テーブルと、キャ
ッシュバッファの確保・解放を司るキャッシュ制御手段
と、キャッシュバッファを主記憶上に保持するキャッシ
ュ保持手段と、キャッシュバッファの使用状況を周期的
にチェックしてフラッシュ制御処理を行うキャッシュフ
ラッシュ手段とを有するリアルタイムファイルシステム
において、プロセス優先度の数が各々に分割されたキャ
ッシュバッファ数より多い場合において異なる優先度を
有する複数のプロセスを1つのキャッシュバッファと対
応付けるプロセス優先度対応手段と、各キャッシュバッ
ファはこれを構成する各ブロックを、使用中のブロック
リスト及び未使用状態のブロックリストの組みとして管
理する使用中・フリー状態リストを備え、プロセスがフ
ァイルアクセスする際に、プロセスの優先度に基づいて
プロセス優先度対応手段で規定されるキャッシュバッフ
ァを使用するようにしたものである。
【0007】第3の発明は第1の発明または第2の発明
に係わるリアルタイムファイルシステムにおいて、プロ
セス優先度の高いプロセスがファイルアクセスしている
場合に、該プロセスよりもプロセス優先度の低いプロセ
スに対応したキャッシュバッファを構成する未使用状態
のブロックをも利用するようにしたものである。
【0008】第4の発明は第3の発明に係わるリアルタ
イムファイルシステムにおいて、優先度の低いプロセス
に対応したキャッシュバッファを利用可能なプロセスの
優先度に対して上限値を設けるようにしたものである。
【0009】第5の発明は第1の発明または第2の発明
に係わるリアルタイムファイルシステムにおいて、プロ
セス識別情報、優先度、予約数、及び予約されたブロッ
ク情報からなる予約構成手段を備え、ファイルアクセス
時において上記構成手段にて予約されたブロックから優
先的に使用するようにしたものである。
【0010】第6の発明は第1の発明乃至第5の発明に
係わるリアルタイムファイルシステムにおいて、キャッ
シュバッファ対応にキャッシュバッファのフラッシュ周
期情報を格納したキャッシュフラッシュ周期表を備え、
キャッシュフラッシュ手段は定期的に起動されるプロセ
スとして構成し、キャッシュバッファのフラッシュ動作
をキャッシュフラッシュ周期表に基づいて周期的に実行
するようにしたものである。
【0011】第7の発明は第1の発明乃至第5の発明に
係わるリアルタイムファイルシステムにおいて、各キャ
ッシュバッファを構成するブロック対応にカウンタ値格
納域を設け、ブロックが未使用状態から使用中に遷移し
たときに使用中状態リストに接続するとともに、該ブロ
ックに対応したカウンタ値格納域に初期値を設定し、キ
ャッシュフラッシュ手段はフラッシュプロセスとして構
成されて、定期的に起動されるごとに該カウンタ値を更
新し、カウンタ値が一定のしきい値以上になった場合に
フラッシュするようにしたものである。
【0012】第8の発明は第1の発明乃至第5の発明に
係わるリアルタイムファイルシステムにおいて、キャッ
シュフラッシュ手段はキャッシュブロックをフラッシュ
するフラッシュプロセスをキャッシュブロック対応に備
え、フラッシュプロセスの優先度をキャッシュブロック
に対応したプロセス優先度に基づいて決定し、プロセス
スケジューリングすることによりキャッシュフラッシュ
処理を行うようにしたものである。
【0013】
【発明の実施の形態】 実施の形態1.本発明の第1の実施形態について、図1
乃至図6に基づいて説明する。図1は第1の実施形態に
おけるファイルキャッシュバッファの管理機構を示すブ
ロック図である。図において、101は計算機システム
における論理的実行単位であるプロセスの生成・削除・
CPUスケジューリング等を司るプロセス制御手段、1
02は生成されたプロセスに付与されてCPUスケジュ
ーリングの際にプロセスの実行順序を決定するプロセス
優先度テーブル、103はファイル管理からの要求に応
じてキャッシュバッファの確保および開放処理を行うキ
ャッシュ制御手段である。また、104は主記憶上に領
域を持つキャッシュバッファ本体およびキャッシュバッ
ファ内の各バッファブロックを管理するためのデータ構
造を格納するキャッシュ保持手段、105は前記キャッ
シュバッファ内の各バッファブロックを管理するための
リストへのポインタの配列、106はキャッシュバッフ
ァ中において外部記憶装置に対し書き出しを必要とする
バッファブロックをある規則に基づいて随時書き出して
行くキャッシュフラッシュ手段である。
【0014】図2は図1におけるプロセス優先度テーブ
ル102とファイルキャッシュバッファとの関係を示す
図であり、図において102および105は図1におけ
るものと同等要素を示す。201はファイルキャッシュ
バッファ本体であり、いくつものバッファブロックがプ
ロセス優先度の数であるNと同数だけグループ化されて
いて、各々のグループ毎に該グループに属するバッファ
ブロックの使用中、未使用のキューからなるリストへの
ポインタ105が割り当てられている。ポインタ配列1
05は、使用中のバッファブロック(201で網掛けさ
れたバッファブロック)、および未使用のバッファブロ
ック(201で白枠だけのバッファブロック)をつなげ
たリストの先頭を示す2つのポインタ対から構成されて
いる。また、各リストとも終端はリストの終了を示
す、”null”を差す値が格納されている。
【0015】次に動作について、図3乃至図6に示すフ
ローチャートに沿って説明する。図3はファイルからの
データ読み出し処理の流れを示すフローチャートであ
り、プログラムからファイルのデータ読み出しが指示さ
れると、先ずステップ301にてファイルキャッシュバ
ッファ201内に既にデータが保持されているか否かを
チェックする。ここでチェック方法については、本発明
の主要部分とは直接関りがないため特にフローチャート
では示さないが、キャッシュバッファ201内の使用中
の全てのバッファブロックを逐次的に走査してもよく、
あるいは、より効率よくチェックするためにハッシュ方
法と呼ばれる検索手段を用いてもよい。次に、ステップ
302ではキャッシュサーチの結果(ステップ301)
に基づいて、ファイルキャッシュバッファ201内に目
的のバッファブロックが存在したか否かを判定する。目
的のバッファブロックが存在した場合(これをキャッシ
ュヒットと呼ぶ)はステップ303へ進み、バッファブ
ロック内のデータを読み出してファイルの読み出し処理
は終了する。ステップ302にて、目的のバッファブロ
ックが存在しなかった場合(これをミスヒットと呼ぶ)
には、ステップ304へ進み、キャッシュ保持手段10
4を通して新しいバッファブロックを確保し、ファイル
の実体が格納されている外部記憶装置からデータを読み
出して、確保したバッファブロックへデータを格納する
(ステップ305)。次に、ステップ305で新たなデ
ータが格納されたバッファブロックを使用中リストにつ
なげる(ステップ306)。これによって、ステップ3
02においてヒットした場合と同じ状態となり、ステッ
プ303にてデータをキャッシュから読み出して一連の
ファイルの読み出し処理を終了する。
【0016】次に、ファイルへのデータ書き出し処理に
ついて、図4のフローチャートに沿って説明する。プロ
グラムからファイルへのデータ書き出しが指示される
と、まずステップ301へ進む。ステップ301〜30
4、ステップ306は、図3と同じであるため説明を省
略する。ステップ302で、ファイルキャッシュにヒッ
トした場合にはステップ401へ進む。ステップ302
にてキャッシュにミスヒットした場合には、ステップ3
04で新たなバッファブロックを確保し、使用中リスト
へつなげ(ステップ306)、ステップ401へ進む。
ステップ401で、書き込みデータを確保したバッファ
ブロックに書き込んだ後、ファイルへのデータ書き出し
を行って一連の処理を終了する。
【0017】次に、図3および図4におけるステップ3
04のキャッシュバッファブロックの新規確保の処理に
ついて、図5のフローチャートに基づいて詳しく説明す
る。ファイルの読み込み、書き出し処理において新たな
バッファブロックが必要となると、現在CPUで実行さ
れているプロセスの優先度を得る(ステップ501)。
通常のオペレーティングシステムでは、現在どのような
プロセスが実行されているかについて常にデータ領域中
に保持されており、このデータ領域からプロセス優先度
nを得ることができる。次にステップ502では、ステ
ップ501で得た優先度nのプロセス用のファイルキャ
ッシュバッファを管理するリストへのポインタを得る。
本実施形態ではリストの配列105は1つの優先度に対
して1つ割り当てられているため、リストの配列105
のn番目の使用中リスト/フリーリストの組が優先度n
のプロセス用のファイルキャッシュバッファを管理する
ことになる。次にステップ503ではステップ502に
てチェックしたフリーリストにバッファブロックがつな
がれているか否かを判定する。もしフリーリストにバッ
ファブロックがつながっているならば、ステップ504
へ進み、フリーリストの先頭につながれたバッファブロ
ックをリストからはずし、新たなバッファブロックとし
て、ファイルの読み出し、書き込み処理へ受け渡し、バ
ッファブロックの確保処理を終了する。ステップ503
にてフリーリストにバッファブロックが一つもつながれ
ていない場合には、ステップ505へ進む。ステップ5
05ではステップ502で得たn番目の使用中リストを
走査し、その中から適切なバッファブロックをフラッシ
ュして、ステップ506へ進む。フラッシュ対象となる
バッファブロックは、一般にはLRU(Least R
ecently Used)アルゴリズムで求められて
いる。次にステップ506で、ステップ505にてフラ
ッシュしたバッファブロックをフリーリストにつなげた
後、ステップ502へ戻り、再度フリーリストのチェッ
クを実施する。この時、ステップ503では常に”ブロ
ック有り”と判定され、ステップ504にてバッファブ
ロックの確保処理を終了する。
【0018】次に、ファイルキャッシュのフラッシュ処
理について詳しく説明する。フラッシュ処理は、一般に
は独立したプロセスで実行される(従来例に挙げたUN
IXオペレーティングシステムではデーモンと呼んでい
る)。このプロセスは一定の時間間隔で、低優先度で実
行されるのが普通であり、他のプロセスから見るとCP
Uの空き時間を利用してシステムが自動的にキャッシュ
をフラッシュしているように見られる。図5のフローチ
ャートのステップ505は、上記プロセスとして実行さ
れるフラッシュ処理に相当する。
【0019】以下、プロセスとして実行されるフラッシ
ュ処理について、図6のフローチャートに基づいて説明
する。まず、ステップ601にて変数iを1に初期化し
た後、変数iが上限値N以下であるかをチェックする
(ステップ602)。この上限値Nは図1におけるプロ
セス優先度の最大値Nおよび使用中リスト/フリーリス
トの組の個数Nに等しい。ステップ601で変数iを初
期化した直後では、必ず上限値N以下であるため、ステ
ップ603へ進む。ステップ603では、i番目の使用
中リスト/フリーリストの組を得、使用中リストの先頭
のバッファブロックを求めて、ステップ604に進む。
ステップ604ではステップ603で求めたバッファブ
ロックがフラッシュの対象か否かをチェックする。使用
中リストは、単純なLRUでは最近にアクセスされた時
間の逆順(つまり、リストの先頭のバッファブロックほ
ど長時間アクセスがされていない)にソートされている
のが普通であるので、チェックしたバッファブロックが
フラッシュの対象でなければ、上記使用中リストにつな
がれた他のバッファブロックもまたフラッシュの対象で
はないことになる。そのためステップ605に進み、変
数iを1だけインクリメントさせてステップ602にも
どり、次の使用中リストのチェックを行う。一方、ステ
ップ604で、バッファブロックがフラッシュの対象で
あると判定された場合にはステップ606へ進み、使用
中リストから該バッファブロックをはずす。該バッファ
ブロックは使用中リストの先頭であるため、該バッファ
ブロックをはずすことにより、使用中リストの中で最も
最近使用されていなかったバッファブロックが更新され
ることになる。次にステップ607では、ステップ60
6にて使用中リストからはずしたバッファブロックのフ
ラッシュ処理を実行し、ステップ608にて該バッファ
ブロックをフリーリストの最後尾につなげた後、ステッ
プ603へ進み、再度i番目の使用中リストの先頭をチ
ェックする。ステップ603、604、606、60
7、608の処理を繰り返し、i番目の使用中リストの
先頭のバッファブロックがフラッシュ対象でなくなれば
ステップ604にてステップ605へ分岐し、変数iが
インクリメントされた後ステップ602へ進む。N個の
使用中リスト全てに対して、ステップ602からステッ
プ608までの処理がなされると、ステップ602にて
変数iが上限値Nよりも大きくなり、キャッシュフラッ
シュの処理が終了する。
【0020】実施の形態2.次に本発明の第2の実施形
態について、図7乃至図9に基づいて説明する。図7は
本実施形態におけるファイルキャッシュバッファの管理
機構についてのブロック図である。701はN個のプロ
セス優先度をM個の組にグループ化するための対応表、
105は図1におけるものと同じデータ構造であるが、
使用中リスト/フリーリストの組がM個である点におい
て図1におけるものとは異なる。尚、図において、10
1から104、106は図1と同等の構成要素を示す。
【0021】図8は図7におけるプロセス優先度テーブ
ル102、およびファイルキャッシュバッファの関係を
示す図であり、図において102、105および701
は図7におけるものと、また201は図2におけるもの
に同じである。
【0022】次に動作について説明する。ファイルから
の読み出し、ファイルへの書き込みおよびキャッシュの
フラッシュ処理は実施形態1で説明したものと同じであ
る。ここでは、キャッシュバッファの確保処理につい
て、図9のフローチャートに基づいて説明する。ファイ
ルからの読み出しおよびファイルへの書き込み処理によ
り新たなキャッシュブロックの確保要求が生じるとステ
ップ501へ進み、実施形態1で説明したようにして実
行中のプロセスの優先度nを得る。次に、ステップ90
1にて、対応表701を用いて優先度nからグループ番
号mを求める。この対応表は図7および図8の701に
示すように対応表のn番目のエントリに格納されている
値がグループ番号に相当している。次にステップ902
では、ステップ901で求めたグループ番号mにより、
m番目の使用中リスト/フリーリストの組のフリーリス
トを得る。以降、ステップ503からステップ506は
実施形態1と同じ処理であるため説明を省略する。
【0023】実施の形態3.次に、本発明の第3の実施
形態について図10について説明する。本実施形態にお
けるファイルキャッシュバッファの管理機構についての
ブロック図、およびプロセス優先度テーブルとファイル
キャッシュバッファとの関係図は、実施形態1の図1お
よび図2と同様である。
【0024】次に動作について説明する。ファイルから
の読み出し、ファイルへの書き込みおよびキャッシュの
フラッシュ処理については実施形態1で説明したものと
同じである。ここでは、キャッシュバッファの確保処理
について図10のフローチャートに沿って説明する。フ
ァイルからの読み出しおよびファイルへの書き込み処理
より新たなキャッシュブロックの確保要求が生じるとス
テップ501へ進み、実施形態1で説明したようにCP
Uが実行中のプロセスの優先度nを得る。次にステップ
1001にて優先度nの値を変数iに写し、ステップ1
002にてi番目のフリーリストをチェックし、ステッ
プ503にてフリーリストにバッファブロックがつなが
れているか否かを判定する。ステップ503で、フリー
リストにバッファブロックがつながれていた場合はステ
ップ504に進み、実施形態1の場合と同じ処理とな
り、バッファの確保処理を終了する。一方、ステップ5
03にてi番目のフリーリストにバッファブロックがつ
ながれていなかった場合には、ステップ1003に進
み、変数iが優先度の上限値Nより大きいか否かをチェ
ックする。初めてこのステップが処理される場合は、変
数iはステップ501で得た優先度nに等しいため必ず
上限値N以下であり、ステップ1004へ進む。ステッ
プ1004では変数iを1だけインクリメントし、ステ
ップ1002へ戻る。以降ステップ1002からステッ
プ1004を繰り返し、ステップ503にてバッファブ
ロックがつながれているフリーリストを走査する。n番
目以上のフリーリストの全てにバッファブロックがつな
がれていない場合には、ステップ1003にて変数iが
優先度の上限値Nに等しくなり、ステップ505へ進
む。ステップ505およびステップ506は実施形態1
に同じであり、キャッシュをフラッシュすることにより
フリーリストにつながれたバッファブロックを作成す
る。次にステップ1001に進み、再度n番目のフリー
リストからバッファブロックの探索を始め、ステップ5
06にてフリーリストにつながれたバッファブロックを
見つけ、処理を終了する。
【0025】実施の形態4.次に、本発明の第4の実施
形態について図11、図12に基づいて説明する。図1
1は本実施形態におけるファイルキャッシュバッファの
管理機構を示すブロック図である。図において、110
1は下位優先度用のバッファブロックを使用可能なプロ
セス優先度の上限値を格納した横取り優先度格納域であ
る。尚、101から106は図1と同等の構成要素を示
す。
【0026】次に動作について説明する。ファイルから
の読み出し、ファイルへの書き込みおよびキャッシュの
フラッシュ処理は実施形態1で説明したものと同じであ
る。ここでは、キャッシュバッファの確保処理について
図12のフローチャートに沿って説明する。ファイルか
らの読み出しおよびファイルへの書き込み処理により新
たなキャッシュブロックの確保要求が生じるとステップ
501へ進む。ステップ501からステップ1004ま
では実施形態3と同じなので、説明は省略する。ステッ
プ1003にて変数iが上限値N未満の場合ステップ1
201へ進み、ステップ501で得た優先度nと横取り
優先度格納域1101に納められた値Xとを比較する。
もし、プロセス優先度nがXよりも大きければステップ
505へ進み、ステップ505、506にてキャッシュ
のフラッシュを行い、ステップ1001に戻り、再度バ
ッファブロックの確保を行う。ステップ1201にて、
もしプロセス優先度nがXよりも小さければ、下位優先
度用のバッファブロックも利用可能であるため、ステッ
プ1004へ進み、実施形態3と同じく、iをインクリ
メントしながら下位のフリーリストを走査していく。な
お数値が低い程、優先度は高いものと仮定している。
【0027】実施の形態5.次に、本発明の第5の実施
形態について図13乃至図15に基づいて説明する。図
13は第5の実施形態におけるファイルキャッシュバッ
ファの管理機構を示すブロック図である。図において、
1301はファイルへのアクセスを予定しているプロセ
スから、ファイルオープン時のパラメータまたは特別な
規約に基づいた方法により、事前に通知されたバッファ
ブロック予約指示に従って確保されたバッファブロック
の予約状況を保持するキャッシュ予約表である。尚、1
01から106は図1と同等の構成要素を示す。
【0028】図14は図13におけるキャッシュ予約表
1301のデータ形式例を示す図である。本実施形態に
おけるデータ形式では、生成されたプロセスをシステム
内で一意に識別可能な番号で表現したプロセス名と、該
プロセスの優先度、該プロセスから事前に予約を要求さ
れたバッファブロックの個数、およびプロセスからの要
求に基づいてオペレーティングシステムが確保したバッ
ファブロックの番号一覧に関するデータから構成されて
いる。
【0029】次に動作について説明する。ファイルから
の読み出し、ファイルへの書き込みおよびキャッシュの
フラッシュ処理については実施形態1で説明したものと
同じである。ここでは、キャッシュバッファの確保処理
について図15のフローチャートに基づいて説明する。
ファイルからの読み出しおよびファイルへの書き込み処
理により新たなキャッシュブロックの確保要求が生じる
とステップ1501へ進む。ステップ1501では、実
施形態1のステップ501で優先度nを得る処理と同じ
方法で、実行中のプロセスのプロセス名pを得る。通常
のオペレーティングシステムでは、このプロセス名はプ
ロセスIDに等しい。次にステップ1502にて、キャ
ッシュ予約表1301のプロセス名の部分をサーチし、
ステップ1501にて得たプロセス名pがバッファブロ
ックの予約をしているか否かをチェックする。ステップ
1502にて、もしプロセス名pがキャッシュ予約表1
301中に保持されていなければ、ステップ501へ進
み、実施形態1で説明したと同じようにバッファブロッ
クの確保処理を行う。一方、ステップ1502にて、プ
ロセス名pがキャッシュ予約表1301内に保持されて
いた場合はステップ1503へ進み、キャッシュ予約表
中のプロセス名pに一致したカラムの予約数の値を1だ
けデクリメントし、ステップ1504にて上記カラムの
予約ブロック一覧から先頭のバッファブロック番号を削
除し、削除した番号のバッファブロックを新たに確保し
たバッファブロックとすることにより、バッファブロッ
クの確保処理を終了する。
【0030】実施の形態6.次に、本発明の第6の実施
の形態について、図16、図17に基づいて説明する。
図16は第6の実施形態におけるファイルキャッシュバ
ッファの管理機構を示すブロック図である。図におい
て、1601は使用中/フリーリストの組に1対1に対
応して、各組に対する自動フラッシュ機能の実行周期時
間を格納したフラッシュ周期表である。尚、101から
106は、図1の同等番号相当の構成要素を示す。
【0031】次に動作について説明する。ファイルから
の読み出し、ファイルへの書き込みおよびキャッシュバ
ッファの確保処理については、実施の形態1で説明した
ものと同じである。ここでは、キャッシュのフラッシュ
処理について、図17のフローチャートに基づいて説明
する。ステップ601からステップ608は実施形態1
で説明した処理と同じである。ステップ602におい
て、変数iが優先度の上限値Nに未だ達していなければ
ステップ1701に進み、フラッシュ周期表1601の
i番目のエントリに格納された周期Iを得て、ブロック
iのフラッシュ処理を実行する周期時間であるか否かを
チェックする。周期時間であるか否かの具体的な確認方
法としては、キャッシュフラッシュ手段106内にフラ
ッシュ処理が起動された回数を保持するカウンタを設
け、i番目の周期時間Iで前記カウンタ値を除し、割り
切れた時、即ち前記カウンタ値が周期時間Iの整数倍に
なればフラッシュを実行すべき周期時間になったとして
判断すればよい。また、フラッシュ周期表1601の各
エントリに周期初期値を設け、ステップ1701では周
期時間Iを1だけデクリメントし、その結果が0になれ
ばフラッシュ処理を実行すべき周期時間になったと判断
してもよい。次に、フラッシュ処理を実行する周期時間
であると判断されると(ステップ1701)、ステップ
603以降でi番目のキャッシュバッファのフラッシュ
処理を実行する。この時のフラッシュ処理は実施形態1
で説明した動作と同じであるため省略する。ステップ1
701にて、未だ周期時間に達していないと判断された
場合はステップ605に進み、次のキャッシュバッファ
をチェックをするために変数iをインクリメントし、ス
テップ602へ戻る。以上のステップを繰り返し、フラ
ッシュ周期表1601の全てのエントリに対して周期時
間をチェックし、フラッシュ対象ブロックであればステ
ップ603以降のフラッシュ処理を実行し、ステップ6
02にて変数iがNよりも大きくなった時点で、一連の
フラッシュ処理を終了する。
【0032】尚、本実施形態では、フラッシュの周期的
な実行をフラッシュ周期表1601なるテーブルを持
ち、この周期表を毎回走査することにより実現している
が、実施形態1で示したフラッシュ処理をプロセスにて
実現し、周期表1601のエントリ毎に前記プロセスを
独立して作成し、それぞれをオペレーティングシステム
の下で、対応する周期で実行させてもよい。
【0033】実施の形態7.次に、本発明の第7の実施
形態について、図18乃至図21に基づいて説明する。
図18は第7の実施形態におけるファイルキャッシュバ
ッファの管理機構を示すブロック図である。図におい
て、1801は使用中/フリーリストの組に1対1に対
応して、各組に対するLRUキャッシュフラッシュアル
ゴリズムにおける初期カウンタ値を保持するLRUカウ
ンタ表である。尚、101から106は図1の相当番号
の構成要素と同一であることを示す。
【0034】図19は図18における使用中/フリーリ
ストの組の1つを詳細に記述した図であり、キャッシュ
ブロック確保処理において、バッファブロックがフリー
リストから使用中リストに写される時の状態を示してい
る。図において、105nはn番目の使用中/フリーリ
ストを示し、1801nはLRUカウンタ表のn番目の
エントリを示す。1901a〜dは現在優先度nのプロ
セスによって使用されているキャッシュブロックであ
り、次のキャッシュブロックを指し示すポインタnex
tとLRUアルゴリズムにてフラッシュ対象か否かを判
定するためのカウンタcounterとキャッシュデー
タを保持するdata−areaから構成されている。
1902a〜dは現在キャッシュとしては使われていな
いキャッシュブロックであり、ポインタnextでリス
トを構成している。
【0035】次に、動作について説明する。ファイルか
らの読み出し、ファイルへの書き込み処理は実施形態1
で説明したものと同じである。ここでは、キャッシュバ
ッファの確保処理について、図20のフローチャートに
沿って説明する。ファイルからの読み出しおよびファイ
ルへの書き込み処理により新たなキャッシュブロックの
確保要求が発生するとステップ501へ進む。ステップ
501からステップ506までは実施形態1と同じなの
で説明は省略する。ステップ503にて、n番目のフリ
ーリストにバッファブロックが存在した場合は、ステッ
プ504でバッファブロックをフリーリストからはず
し、ステップ2001へ進み、LRUカウンタ表180
1のn番目のエントリであるLRU初期カウンタ180
1nの初期カウンタ値iを得る。次に、ステップ200
2で初期カウンタ値iを先に、ステップ504でフリー
リストからはずしたバッファブロックのcounter
領域へ写して、バッファブロックの確保処理を終了した
後、ファイルからの読み出しおよびファイルへの書き込
み処理へ戻ってデータを格納し、使用中リストにつな
ぐ。
【0036】次に、キャッシュのフラッシュ処理につい
て、図21のフローチャートに沿って説明する。ファイ
ルキャッシュのフラッシュ処理が開始されると、ステッ
プ601が実行される。ステップ601からステップ6
05までは実施形態1と同じ処理であるため説明は省略
する。次にステップ603で、i番目の使用中リストが
nullでなければステップ2101へ進み、ステップ
604でチェックしたバッファブロックのcounte
r値を1だけインクリメントする。次にステップ210
2では、インクリメントしたcounter値とキャッ
シュフラッシュの対象として判断する基準値とを比較す
る。 ここで、counter値がしきい値よりも小さ
ければ、まだフラッシュすべきバッファブロックではな
いと判断してステップ2103に進み、next領域か
ら次のバッファブロックを得てステップ604へ戻る。
一方、ステップ2102にて、counter値がしき
い値を越えていた場合には、該バッファブロックはフラ
ッシュの対象であると判断してステップ606へ進む。
ステップ606からステップ608は、実施形態1で説
明したものと同じ処理であり、バッファブロックのフラ
ッシュ、使用中リストからフリーリストへの移動処理を
行ってステップ2103へ進み、次のバッファブロック
のチェックのためステップ604へ戻る。ステップ60
4からステップ2103をi番目の使用中リストの全て
のバッファブロックに対して実行するとステップ605
へ進み、i+1番目の使用中リストにつながれたバッフ
ァブロックの処理に入る。以上、ステップ602から2
103を繰り返すことにより、全ての使用中リストにつ
ながれた全てのバッファブロックをチェックすることに
なり、しきい値より大きいcounter値を持つバッ
ファブロックは全てフラッシュされ、一連のキャッシュ
フラッシュ処理を終了する。
【0037】以上のキャッシュフラッシュ処理を周期的
に実行することにより、ファイルキャッシュバッファ内
には、常にフラッシュのしきい値より大きなcount
er値を持つバッファブロックは存在せず、count
er値が大きい、すなわち、より最近アクセスされてい
ないバッファブロックからフラッシュの対象となってい
く。
【0038】なお、本実施形態は説明しなかったが、図
3および図4のフローチャートに示したファイルからの
読み出し、ファイルへの書き込み処理において、キャッ
シュへヒットした場合には、上記バッファブロックのc
ounter値は当然に初期値へ戻される。
【0039】実施の形態8.次に、本発明の第8の実施
形態について図22、図23に基づいて説明する。図2
2は第8の実施形態におけるファイルキャッシュバッフ
ァの管理機構を示すブロック図である。図において、2
201は使用中/フリーリストの組に1対1に対応して
作成されたキャッシュフラッシュ処理を実行するプロセ
スに設定されたプロセス優先度を保持するキャッシュフ
ラッシュ優先度表である。キャッシュフラッシュ優先度
表2201に付けられた添字1、2、・・・、Nは、使
用中/フリーリストの組に付けられた添字と同じ番号の
ものであり、例えば1番目および2番目の使用中/フリ
ーリストに対応したキャッシュのフラッシュ処理をする
プロセスは、優先度3に設定されており、また3番目お
よび4番目の使用中/フリーリストに対応したキャッシ
ュフラッシュ処理プロセスは優先度5に設定されてい
る。尚、101から106は実施形態1の相当番号と同
一の構成要素を示す。
【0040】次に動作について説明する。図23は、図
22におけるキャッシュフラッシュ優先度表2201に
基づいて優先度を設定されたキャッシュフラッシュ処理
プロセスのスケジューリングの順番を示したものであ
る。図において優先度3のキャッシュフラッシュ処理プ
ロセスとは、キャッシュフラッシュ優先度表2201よ
り、1番目および2番目の使用中/フリーリストの組に
対応したキャッシュのフラッシュ処理を実行するプロセ
スであり、同様に優先度5のキャッシュフラッシュ処理
プロセスは、3番目および4番目の使用中/フリーリス
トに対応したキャッシュフラッシュ処理を実行するプロ
セスである。
【0041】また、図において、レディーキューとはC
PUの割り当てを待つプロセスのリストの先頭を指すポ
インタで、通常のリアルタイムシステムでは、プロセス
のリストは優先度の高い順にソーティングされてリンク
されているので、現在実行中のプロセスがCPUを解放
した場合には、プロセス制御手段101はこのレディー
キューの先頭プロセスを次に実行するプロセスとしてス
ケジューリングする。このため、プロセスの実行順序
は、優先度1のプロセス→優先度2のプロセス→優先度
3のプロセス→優先度3のキャッシュフラッシュ処理プ
ロセス→・・・・となり、図23におけるレディーキュ
ーにつながれた順番にプロセスは実行されていく。
【0042】この結果、1番目および2番目の使用中リ
ストにつながれたバッファブロックのフラッシュ処理
は、優先度3のキャッシュフラッシュ処理として実行さ
れるので優先度4を持つプロセスよりも先に実行される
が、優先度3を持つプロセスの処理の妨害はしないよう
になっている。同様にして、3番目および4番目の使用
中リストにつながれたバッファブロックは実行優先度5
のキャッシュフラッシュ処理として実行されるので、優
先度6のプロセスに先立ちフラッシュされるが、5以上
の優先度を持つ全てのプロセスが処理された後にのみ実
行されることになる。
【0043】なお、キャッシュフラッシュ優先度表22
01に従って優先度を設定されたキャッシュフラッシュ
プロセスの処理は、対応する使用中リストにつながれた
バッファブロックに対してのみ実行されが、図6のフロ
ーチャートにおけるステップ603から608に示す処
理と同様であるため説明は省略する。
【0044】
【発明の効果】以上のように本発明によれば、ファイル
キャッシュバッファをプロセスの優先度と対応付け、優
先度nのプロセスが使用するキャッシュバッファを、該
優先度に対応付けられたキャッシュバッファのみにした
ので、異なる優先度を持つプロセスとの間でキャッシュ
競合が発生せず、特に優先度の高いプロセスのファイル
アクセス性能を向上させることができるという効果を奏
する。
【0045】また、本発明によれば、ファイルキャッシ
ュバッファグループを縮退化させてプロセス優先度の数
と同じに分割したので、優先度の高いプロセスのファイ
ルアクセスが優先度の低いプロセス処理によって妨害さ
れることなく、しかも高優先度プロセスに対応したキャ
ッシュバッファを大きく取ることができるという効果が
ある。
【0046】また、本発明によれば、高優先度のプロセ
スのファイルアクセスに対して、低優先度に対応付けら
れたキャッシュバッファをも利用可能としたので、高優
先度のプロセスが低い優先度のプロセスによって妨害さ
れることなく、且つ使用可能なキャッシュバッファをよ
り多く割り当てることができる。
【0047】また、本発明によれば、低い優先度に対応
付けられたキャッシュバッファを利用可能なプロセスに
対して優先度での上限値を設けたので、一定の優先度以
上の高いプロセスのみが低優先度用のキャッシュバッフ
ァを利用することができ、該高優先度プロセスが低優先
度のプロセスに妨害されることなく、且つ低優先度のプ
ロセスも円滑に実行できるという効果がある。
【0048】また、本発明によれば、プロセスのファイ
ルへのアクセスに対して事前に該プロセス専用のキャッ
シュバッファを予約することができるようにしたので、
高優先度のプロセスがより低い優先度のプロセスに妨害
されないという効果を保持するとともに、同じ優先度の
プロセスの処理にも影響を受けないようにすることがで
きる。
【0049】また、本発明によれば、フラッシュ処理
を、より高い優先度に対応付けられたキャッシュバッフ
ァほど短周期で実行させるようにしたので、高優先度の
プロセスが使用するキャッシュバッファほど、バッファ
ブロックの利用効率を高めることができる。
【0050】さらに、本発明によれば、キャッシュフラ
ッシュ対象の判断基準となるカウント値に、より高い優
先度のプロセスに対応付けられたキャッシュバッファほ
ど大きな初期値を設けるようにしたので、優先度の高い
プロセスに対応したキャッシュバッファほどシステム内
に存続できる時間が短くなり、キャッシュバッファブロ
ックの利用効率を高めることができる。
【0051】加えて、本発明によれば、キャッシュバッ
ファのフラッシュ処理をプロセスとして実現してスケジ
ューリングし、より高い優先度に対応するフラッシュ処
理ほど高優先度値を設定するようにしたので、高優先度
のキャッシュバッファのフラッシュ処理が低い優先度の
フラッシュ処理によって妨害されることなく、キャッシ
ュ確保からキャッシュフラッシュに至るまで低い優先度
のプロセスの影響を排除することができるという効果が
ある。
【図面の簡単な説明】
【図1】 本発明の第1の実施形態におけるファイルキ
ャッシュバッファの管理機構を示す図。
【図2】 本発明の第1の実施形態におけるプロセス優
先度とバッファブロックの関係を示す図。
【図3】 本発明の第1の実施形態におけるファイル読
み出し処理を示すフローチャート。
【図4】 本発明の第1の実施形態におけるファイル書
き込み処理を示すフローチャート。
【図5】 本発明の第1の実施形態におけるバッファブ
ロック確保処理を示すフローチャート。
【図6】 本発明の第1の実施形態におけるキャッシュ
フラッシュ処理を示すフローチャート。
【図7】 本発明の第2の実施形態におけるファイルキ
ャッシュバッファの管理機構を示す図。
【図8】 本発明の第2の実施形態におけるプロセス優
先度とバッファブロックの関係を示す図。
【図9】 本発明の第2の実施形態におけるバッファブ
ロック確保処理を示すフローチャート。
【図10】 本発明の第3の実施形態におけるバッファ
ブロック確保処理を示すフローチャート。
【図11】 本発明の第4の実施形態におけるファイル
キャッシュバッファの管理機構を示す図。
【図12】 本発明の第4の実施形態におけるバッファ
ブロック確保処理を示すフローチャート。
【図13】 本発明の第5の実施形態におけるファイル
キャッシュバッファの管理機構を示す図。
【図14】 本発明の第5の実施形態におけるキャッシ
ュ予約表構成図。
【図15】 本発明の第5の実施形態におけるバッファ
ブロック確保処理を示すフローチャート。
【図16】 本発明の第6の実施形態におけるファイル
キャッシュバッファの管理機構を示す図。
【図17】 本発明の第6の実施形態におけるキャッシ
ュフラッシュ処理を示すフローチャート。
【図18】 本発明の第7の実施形態におけるファイル
キャッシュバッファの管理機構を示す図。
【図19】 本発明の第7の実施形態における使用中/
フリーリストの構成例を示す図。
【図20】 本発明の第7の実施形態におけるバッファ
ブロック確保処理を示すフローチャート。
【図21】 本発明の第7の実施形態におけるキャッシ
ュフラッシュ処理を示すフローチャート。
【図22】 本発明の第8の実施形態におけるファイル
キャッシュバッファの管理機構を示す図。
【図23】 本発明の第8の実施形態におけるプロセス
スケジューリングの順序を示す図。
【符号の説明】
101 プロセス制御手段、102 プロセス優先度テ
ーブル、103 キャッシュ制御手段、104 キャッ
シュ保持手段、105 使用中/フリーリストの組、1
06 キャッシュフラッシュ手段、201 バッファブ
ロック、701プロセス優先度対応表、1101 横取
り優先度上限値、1301 キャッシュ予約表、160
1 キャッシュフラッシュ周期表、1801 LRUカ
ウンタ初期値表、1901 使用中バッファブロック、
1902 フリーバッファブロック、2201 キャッ
シュフラッシュ優先度表。

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 プロセススケジューリングを有するオペ
    レーティングシステム制御下において動作し、プロセス
    の実行・停止を司るプロセス制御手段と、プロセスに割
    り付る優先度を保持するプロセス優先度テーブルと、キ
    ャッシュバッファの確保・解放を司るキャッシュ制御手
    段と、キャッシュバッファを主記憶上に保持するキャッ
    シュ保持手段と、キャッシュバッファの使用状況を周期
    的にチェックしてフラッシュ制御処理を行うキャッシュ
    フラッシュ手段とを有するリアルタイムファイルシステ
    ムにおいて、 上記リアルタイムファイルシステムは、プロセス優先度
    の数と同じ数に分割されたキャッシュバッファと、 上記各キャッシュバッファはこれを構成する各ブロック
    を、使用中のブロックリスト及び未使用状態のブロック
    リストの組みとして管理する使用中・フリー状態リスト
    を備え、 プロセスがファイルアクセスする際に、該プロセスの優
    先度に対応したキャッシュバッファを使用するようにし
    たことを特徴とするリアルタイムファイルシステム。
  2. 【請求項2】 プロセススケジューリングを有するオペ
    レーティングシステム制御下において動作し、プロセス
    の実行・停止を司るプロセス制御手段と、プロセスに割
    り付る優先度を保持するプロセス優先度テーブルと、キ
    ャッシュバッファの確保・解放を司るキャッシュ制御手
    段と、キャッシュバッファを主記憶上に保持するキャッ
    シュ保持手段と、キャッシュバッファの使用状況を周期
    的にチェックしてフラッシュ制御処理を行うキャッシュ
    フラッシュ手段とを有するリアルタイムファイルシステ
    ムにおいて、 上記リアルタイムファイルシステムは、プロセス優先度
    の数が各々に分割されたキャッシュバッファ数より多い
    場合において異なる優先度を有する複数のプロセスを1
    つのキャッシュバッファと対応付けるプロセス優先度対
    応手段と、 上記各キャッシュバッファはこれを構成する各ブロック
    を、使用中のブロックリスト及び未使用状態のブロック
    リストの組みとして管理する使用中・フリー状態リスト
    を備え、 プロセスがファイルアクセスする際に、該プロセスの優
    先度に基づいてプロセス優先度対応手段で規定されるキ
    ャッシュバッファを使用するようにしたことを特徴とす
    るリアルタイムファイルシステム。
  3. 【請求項3】 プロセス優先度の高いプロセスがファイ
    ルアクセスしている場合において、該プロセスよりもプ
    ロセス優先度の低いプロセスに対応したキャッシュバッ
    ファを構成する未使用状態のブロックをも利用するよう
    にしたことを特徴とする請求項1または請求項2に記載
    のリアルタイムファイルシステム。
  4. 【請求項4】 優先度の低いプロセスに対応したキャッ
    シュバッファを利用可能なプロセスの優先度に対して上
    限値を設けるようにしたことを特徴とする請求項3記載
    のリアルタイムファイルシステム。
  5. 【請求項5】 プロセス識別情報、優先度、予約数、及
    び予約されたブロック情報からなる予約構成手段を備
    え、 ファイルアクセス時において上記構成手段にて予約され
    たブロックから優先的に使用するようにしたことを特徴
    とする請求項1または請求項2に記載のリアルタイムフ
    ァイルシステム。
  6. 【請求項6】 キャッシュバッファ対応にキャッシュバ
    ッファのフラッシュ周期情報を格納したキャッシュフラ
    ッシュ周期表を備え、 上記キャッシュフラッシュ手段は定期的に起動されるプ
    ロセスとして構成されて、 キャッシュバッファのフラッシュ動作をキャッシュフラ
    ッシュ周期表に基づいて周期的に実行するようにしたこ
    とを特徴とする請求項1乃至請求項5に記載のリアルタ
    イムファイルシステム。
  7. 【請求項7】 各キャッシュバッファを構成するブロッ
    ク対応にカウンタ値格納域を設け、 ブロックが未使用状態から使用中に遷移したときに使用
    中状態リストに接続するとともに、該ブロックに対応し
    たカウンタ値格納域に初期値を設定し、 キャッシュフラッシュ手段はフラッシュプロセスとして
    構成され、定期的に起動されるごとに該カウンタ値を更
    新し、カウンタ値が一定のしきい値以上になった場合に
    フラッシュするようにしたことを特徴とする請求項1乃
    至請求項5に記載のリアルタイムファイルシステム。
  8. 【請求項8】 上記キャッシュフラッシュ手段はキャッ
    シュブロックをフラッシュするフラッシュプロセスをキ
    ャッシュブロック対応に備え、 該フラッシュプロセスの優先度をキャッシュブロックに
    対応したプロセス優先度に基づいて決定し、プロセスス
    ケジューリングすることによりキャッシュフラッシュ処
    理を行うようにしたことを特徴とする請求項1乃至請求
    項5に記載のリアルタイムファイルシステム。
JP8049089A 1996-03-06 1996-03-06 リアルタイムファイルシステム Pending JPH09244931A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8049089A JPH09244931A (ja) 1996-03-06 1996-03-06 リアルタイムファイルシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8049089A JPH09244931A (ja) 1996-03-06 1996-03-06 リアルタイムファイルシステム

Publications (1)

Publication Number Publication Date
JPH09244931A true JPH09244931A (ja) 1997-09-19

Family

ID=12821381

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8049089A Pending JPH09244931A (ja) 1996-03-06 1996-03-06 リアルタイムファイルシステム

Country Status (1)

Country Link
JP (1) JPH09244931A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005122235A (ja) * 2003-10-14 2005-05-12 Hitachi Ltd 通信バッファ予約機能を備えるストレージ装置およびシステム
JP2005339299A (ja) * 2004-05-28 2005-12-08 Hitachi Ltd ストレージ装置のキャッシュ制御方法
JP2006119786A (ja) * 2004-10-20 2006-05-11 Hitachi Ltd ストレージ装置のリソース割り当て方法及びストレージ装置
US7647455B2 (en) 2004-04-15 2010-01-12 Sony Corporation Information processing apparatus and method, program, and program recording medium
JP2010160544A (ja) * 2009-01-06 2010-07-22 Core Micro Systems Inc キャッシュメモリシステム及びキャッシュメモリの制御方法
JP2016131037A (ja) * 2010-09-15 2016-07-21 ピュア・ストレージ・インコーポレイテッド ソリッドステートドライブ(ssd)環境におけるi/oのスケジューリング
US10452289B1 (en) 2010-09-28 2019-10-22 Pure Storage, Inc. Dynamically adjusting an amount of protection data stored in a storage system
US11614893B2 (en) 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
US12008266B2 (en) 2010-09-15 2024-06-11 Pure Storage, Inc. Efficient read by reconstruction

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005122235A (ja) * 2003-10-14 2005-05-12 Hitachi Ltd 通信バッファ予約機能を備えるストレージ装置およびシステム
US7647455B2 (en) 2004-04-15 2010-01-12 Sony Corporation Information processing apparatus and method, program, and program recording medium
JP2005339299A (ja) * 2004-05-28 2005-12-08 Hitachi Ltd ストレージ装置のキャッシュ制御方法
JP2006119786A (ja) * 2004-10-20 2006-05-11 Hitachi Ltd ストレージ装置のリソース割り当て方法及びストレージ装置
JP4625675B2 (ja) * 2004-10-20 2011-02-02 株式会社日立製作所 ストレージ装置のリソース割り当て方法及びストレージ装置
JP2010160544A (ja) * 2009-01-06 2010-07-22 Core Micro Systems Inc キャッシュメモリシステム及びキャッシュメモリの制御方法
JP2016131037A (ja) * 2010-09-15 2016-07-21 ピュア・ストレージ・インコーポレイテッド ソリッドステートドライブ(ssd)環境におけるi/oのスケジューリング
US10126982B1 (en) 2010-09-15 2018-11-13 Pure Storage, Inc. Adjusting a number of storage devices in a storage system that may be utilized to simultaneously service high latency operations
US10353630B1 (en) 2010-09-15 2019-07-16 Pure Storage, Inc. Simultaneously servicing high latency operations in a storage system
US11614893B2 (en) 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
US12008266B2 (en) 2010-09-15 2024-06-11 Pure Storage, Inc. Efficient read by reconstruction
US10452289B1 (en) 2010-09-28 2019-10-22 Pure Storage, Inc. Dynamically adjusting an amount of protection data stored in a storage system
US11435904B1 (en) 2010-09-28 2022-09-06 Pure Storage, Inc. Dynamic protection data in a storage system
US11797386B2 (en) 2010-09-28 2023-10-24 Pure Storage, Inc. Flexible RAID layouts in a storage system

Similar Documents

Publication Publication Date Title
EP0533805B1 (en) Method for efficient non-virtual main memory management
US5093912A (en) Dynamic resource pool expansion and contraction in multiprocessing environments
US4967353A (en) System for periodically reallocating page frames in memory based upon non-usage within a time period or after being allocated
US7673105B2 (en) Managing memory pages
US5892921A (en) Prestaging method, buffer management method and file system
US20110119674A1 (en) Scheduling method, scheduling apparatus and multiprocessor system
KR101150661B1 (ko) 정보 처리 장치 및 메모리 영역 관리 방법
JP2703494B2 (ja) スワップ・ブロック組立方法及びメモリ管理機構
US5715447A (en) Method of and an apparatus for shortening a lock period of a shared buffer
US7882285B2 (en) Buffer cache management to prevent deadlocks
JPH09244931A (ja) リアルタイムファイルシステム
JP3034873B2 (ja) 情報処理装置
US5678024A (en) Method and system for dynamic performance resource management within a computer based system
CN108459825B (zh) 一种存储系统服务质量控制方法和装置
JP2004030567A (ja) キューを維持するための方法及び装置
US6574718B2 (en) Excessive spin detection and avoidance for systems using a least recently used page replacement algorithm
JP2002278778A (ja) 対称型マルチプロセッサシステムにおけるスケジュール装置
JP2000339214A (ja) 実時間メモリ管理システム、及び実時間メモリ管理方法
EP0551528A1 (en) Method and apparatus for reducing lock period of shared buffer
JPH1091515A (ja) データバッファ管理装置
JPS63211041A (ja) データのブロツクの転送方法
JP3022829B2 (ja) 記憶装置の自動割り当て装置
JPS63292456A (ja) 複数媒体収納型デ−タ記録装置の媒体割り当て制御方式
JPH03177946A (ja) 磁気ディスクバッファキャッシュ制御方式
JPH076045A (ja) 多重処理システムにおけるメモリ管理方法