JP2000089985A - コンピュ―タのバッファキャッシュ管理方法 - Google Patents

コンピュ―タのバッファキャッシュ管理方法

Info

Publication number
JP2000089985A
JP2000089985A JP11234392A JP23439299A JP2000089985A JP 2000089985 A JP2000089985 A JP 2000089985A JP 11234392 A JP11234392 A JP 11234392A JP 23439299 A JP23439299 A JP 23439299A JP 2000089985 A JP2000089985 A JP 2000089985A
Authority
JP
Japan
Prior art keywords
buffer cache
buffer
header
request header
size
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
JP11234392A
Other languages
English (en)
Inventor
Kenji Ogawa
賢治 小川
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 JP11234392A priority Critical patent/JP2000089985A/ja
Publication of JP2000089985A publication Critical patent/JP2000089985A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】 フラッシュ動作中におけるシステムダウン時
のデータ損失の低減をは図る。 【解決手段】 不揮発性メモリ1とランダムアクセスメ
モリ2上に用意されたバッファキャッシュ8との間のデ
ータ転送をオペレーティングシステムで管理するバッフ
ァキャッシュ管理方法において、バッファキャッシュ8
の二次記録媒体への更新内容を反映するフラッシュ動作
をユーザの書き込み動作ごとに行う。また、オペレーテ
ィングシステムによる一括フラッシュ動作かユーザ指定
によるフラッシュ動作かを選択することにより、一括フ
ラッシュ動作に対する負荷が軽減でき、タイミングのよ
いフラッシュ動作ができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はコンピュータの不揮発
性メモリとランダムアクセスメモリ上に用意されたバッ
ファキャッシュとの間のデータ転送をオペレーティング
システムで管理する方法に関するものである。
【0002】
【従来の技術】従来、コンピュータにおいては、フロッ
ピーディスクやハードディスクなどのような不揮発性メ
モリを構成するディスクメモリ上のファイルへのアクセ
ス時間がコンピュータの性能を左右する重要な要因であ
った。そのため、ディスクメモリに記憶されたデータの
一部をランダムアクセスメモリ上に用意したバッファキ
ャッシュに読み込むことにより、以降のユーザによるア
クセスはバッファキャッシュを介して行う方法が採用さ
れている。
【0003】バッファキャッシュのサイズはコンピュー
タ内に1つ乃至数種類用意され、数種類のサイズが用意
された場合、ユーザはファイル内の最頻度アクセスサイ
ズでバッファキャッシュを選んでディスクメモリをファ
イルとして接続する。ユーザがアクセス要求を行った場
合の空きバッファキャッシュ割り当て方法はLRU(L
east Recently Used;最も昔にアク
セスされたバッファキャッシュを空きバッファキャッシ
ュとして新たなアクセス要求に割り当てるアルゴリズ
ム;最長不使用アルゴリズム)が一般的には採用され
る。
【0004】また、ディスクメモリとバッファキャッシ
ュとの間でデータ転送を行う以上何らかのタイミングで
バッファキャッシュ内のデータをディスクメモリに反映
するフラッシュ動作(sync動作)が必要になるが、
それには2つあり、1つはバッファキャッシュにデータ
を書き込むと同時にディスクメモリにも書き込むライト
スルー方法である。もう1つは周期的に起動するプログ
ラムがフラッシュするタイミングをシステムコールによ
りオペレーティングシステムに伝達し、オペレーティン
グシステムで一括してフラッシュする方法である。この
オペレーティングシステムによる場合、フラッシュする
データの重要性や順序については考慮されていないた
め、フラッシュ途中に電源断が発生すると、例えばファ
イルを構成するデータの一部が失われる場合から、ファ
イル構造を構成するデータを失うところのファイルの破
壊となる状況まで、ユーザが当該ファイルにおける被害
状況を予測したり、ユーザが被害の起こらないように制
御するのは困難である。
【0005】また、大容量半導体ディスクメモリの出現
により、同半導体ディスクメモリ上に構築されたファイ
ルへのアクセスについても、バッファキャッシュを介し
たアクセスとなるため、半導体ディスクメモリからバッ
ファキャッシュを経由してユーザバッファにコピーする
メモリ間コピーのオーバヘッドを生み出すことや、半導
体ディスクメモリ本体がバッテリバックアップ機能を持
っていても、バッファキャッシュ自身がバッテリバック
アップ機能を持っていないと、電源断時のデータ損失、
バッファキャッシュと媒体との間の一貫性問題などが解
決されない。
【0006】図7は1990年10月5日に共立出版株
式会社から発行されたMourice J.Bach著
「UNIXカーネルの設計」第32〜49頁に記載され
たバッファキャッシュ管理方法を示す図である。この図
7において、7はバッファヘッダ、8はバッファヘッダ
7上のポインタを操作することにより管理されるバッフ
ァキャッシュ、100は使用可能なバッファヘッダ7を
管理する自由リスト、101は自由リスト7の先頭と最
後とを保持する自由リストヘッダ、110はバッファキ
ャッシュ8に高速にアクセスするためのハッシュリス
ト、111はハッシュリスト110の先頭と最後とを管
理する待ち行列ヘッダである。
【0007】上記バッファヘッダ7は装置番号、ブロッ
ク番号、状態フィールドおよび各種ポインタを有する。
装置番号とブロック番号とはディスクメモリ上のデータ
位置を特定するためのものである。状態フィールドはバ
ッファキャッシュ8が使用中であるか、バッファキャッ
シュ8に変更が加えられたかなど、バッファキャッシュ
8の使用状態を示すものである。各種ポインタ中のバッ
ファキャッシュ8へのポインタはバッファヘッダ7を示
すものである。また、バッファヘッダ7は2つの管理構
造によって管理され、その1つが自由リスト100であ
り、もう1つがハッシュリスト110である。これら自
由リスト100およびハッシュリスト110は双方向の
リスト構造を有する。つまり、自由リスト100は前方
ポインタ102と後方ポインタ103を持っている。ハ
ッシュリスト110の待ち行列も図外の前方ポインタお
よび後方ポインタで管理される。
【0008】上記バッファキャッシュ8の割り当てを管
理するLRUについて説明する。ディスクメモリ本体の
ブロックの内容を含むバッファキャッシュ、すなわちデ
ィスクブロックに割り当てられたバッファキャッシュ8
は他のすべてのバッファキャッシュ8が使用されるま
で、他のディスクブロックに割り当てられることはな
い。オペレーティングシステムはバッファキャッシュ8
が使用された順番を保存するためにバッファキャッシュ
8の自由リスト100を管理する。オペレーティングシ
ステムが起動されたとき、すべてのバッファキャッシュ
8は自由リストヘッダ101に繋がれる。新しい空きバ
ッファキャッシュが必要な時には、オペレーティングシ
ステムは自由リストヘッダ101の先頭からバッファキ
ャッシュ8を取り出す。しかし、或る特定のディスクブ
ロックに割り付けられたバッファキャッシュ8が必要な
場合には、自由リスト100の途中から取り出して使用
する。
【0009】オペレーティングシステムがバッファキャ
ッシュ8を自由リストに戻す場合には自由リスト100
の最後に戻し、エラー発生時などの特別な場合には自由
リスト100の先頭に戻し、いずれの場合でも自由リス
ト100の途中に戻すことはない。したがって、自由リ
スト100の先頭のバッファキャッシュ8は自由リスト
100の後部にあるものより使用時期が古いことにな
る。また、自由リスト100上に空きバッファキャッシ
ュがない場合には、ユーザは空きバッファキャッシュが
できるまで待たされることになる。
【0010】オペレーティングシステムが特定のディス
クブロックに割り付けられたバッファキャッシュ8にア
クセスする際には、装置番号とブロック番号との組み合
わせで検索する。この場合、バッファキャッシュ8全体
を検索するのではなく、バッファヘッダ7を装置番号と
ブロック番号との関数としてハッシュされた個々の待ち
行列によって管理する。図7のハッシュリスト110で
はブロック番号を4で割った余り(mod)で4つの待
ち行列を作成した場合を例として図示してある。
【0011】オペレーティングシステムによる読み込み
動作は、目的とするディスクブロックのデータを保持し
たバッファキャッシュ8が待ち行列ヘッダ11にない場
合には、自由リスト100から空きバッファキャッシュ
を見つけだし、バッファヘッダ7の状態フィールドに使
用中の印を付けた後、該当するディスクブロックからバ
ッファキャッシュ8に一度読み込んだ後にユーザバッフ
ァへのコピーが行われる。逆に、目的とするディスクブ
ロックのデータを保持したバッファキャッシュ8が待ち
行列ヘッダ111上に存在する場合には、そのバッファ
キャッシュ8より読み込む。そして、読み込み後はバッ
ファヘッダ7の状態フィールドの使用中印を消去し、読
み込み後のバッファキャッシュ8を自由リスト100の
最後に繋ぐ。
【0012】オペレーティングシステムによる書き込み
動作も同様に、待ち行列ヘッダ111上に目的とするバ
ッファキャッシュ8が存在するかを捜索し、なければ空
きバッファキャッシュを自由リスト100から見つけだ
し、該当するディスクブロックからバッファキャッシュ
8に読み込んだ後、バッファキャッシュ8上で修正を行
い、バッファヘッダ7の状態フィールドに修正があった
ことを示す印を付し、修正後のバッファキャッシュ8を
自由リスト100の最後に繋ぐ。すなわち、ディスクメ
モリへの書き込みはすぐには行わない。
【0013】バッファキャッシュ8内のデータがディス
クメモリに書き込まれるのは以下の2つの場合である。
1つは、読み込みまたは書き込みにおいて自由リスト1
00上から空きバッファキャッシュを探す際に、バッフ
ァヘッダ7上の状態フィールドに修正を示す印の付けら
れたものが見つかった場合である。もう1つは、オペレ
ーティングシステムにて周期的にすべてのバッファヘッ
ダ7を捜索し、状態フィールドに修正を示す印の付けら
れたものを書き込む場合である。
【0014】したがって、書き込み動作の場合、バッフ
ァキャッシュ8上での修正と該当するディスクブロック
に修正内容を反映するフラッシュ動作とでは、時間的な
ずれを生じることとなり、この時間的なずれ中において
電源断やクラッシュによりオペレーティングシステムが
動作不能になると、バッファキャッシュ8とディスクブ
ロックとの間に矛盾を生じることになる。
【0015】
【発明が解決しようとする課題】上記従来のバッファキ
ャッシュ管理方法には下記のような問題点がある。 (1)バッファキャッシュ8を一括管理するため、バッ
ファキャッシュ8内のデータのディスクメモリへのフラ
ッシュ動作やバッファキャッシュ8を使用しないなどの
操作がファイルごとに制御できない。このため、重要な
ファイルとそれほど重要でないファイルとの優先度付け
ができない。 (2)総バッファキャッシュサイズが増加するに従い、
周期的に起動される一括ファイル動作の負荷およびフラ
ッシュ時間が増大する。
【0016】この発明は上記のような課題を解決するた
めになされたもので、第1の目的はシステムダウン時の
データ損失を低減することであり、第2の目的はタイミ
ングのよいフラッシュ動作を行わせることである。
【0017】
【課題を解決するための手段】請求項1に記載された第
1の発明に係るバッファキャッシュ管理方法は、フラッ
シュ動作の順序をユーザの書き込み動作ごとに行うもの
である。
【0018】請求項2に記載された第2の発明に係るバ
ッファキャッシュ管理方法は、オペレーティングシステ
ムによる一括フラッシュ動作かユーザ指定によるフラッ
シュ動作かを選択するものである。
【0019】
【作用】第1の発明のバッファキャッシュ管理方法は、
フラッシュ動作中の電源断などによるシステムダウン時
に、データ損失の影響が小さくなる。
【0020】第2の発明のバッファキャッシュ管理方法
は、ユーザがフラッシュ動作のタイミングを制御可能と
なり、一括フラッシュ動作に対する負荷が軽減し、ま
た、ユーザが書き込み動作完了にて明示的にフラッシュ
指示可能なため、タイミングのよいフラッシュ動作が提
供できる。
【0021】
【実施例】以下、この発明の各実施例を図1乃至図6を
用い、上記従来例と同一部分に同一符号を付して説明す
る。 実施例1.図1は実施例1のバッファキャッシュ管理方
法に使用するコンピュータを示す構成図、図2は実施例
1に使用するテーブルを示す構成図、図3は実施例1の
初期動作を示すフローチャート、図4は実施例1の読み
込み動作を示すフローチャート、図4は実施例1の書き
込み動作を示すフローチャート、図5は実施例1のフラ
ッシュ動作を示すフローチャートである。
【0022】図1において、1はランダムアクセスメモ
リを有するランダムメモリ装置であって、これには以下
に説明するテーブル類が配置される。2はハードディス
クなどのディスクメモリを有する不揮発性メモリ装置で
あって、これはデータを一定のサイズの塊、すなわちデ
ィスクブロック9ごとの塊としてブロック番号で管理す
る。3はバッファキャッシュ使用定義テーブルであっ
て、これはバッファキャッシュ8の使用基準をユーザが
定義するためのものである。4はファイル定義テーブル
であって、これはファイルの使用開始時(オープン時)
にファイルごとにバッファキャッシュ8の制御を行うた
めのものである。6は要求ヘッダであって、これはアク
セスサイズによってバッファキャッシュ8を制御するた
めのものである。5は要求ヘッダ6を管理するための要
求ヘッダ管理テーブルであって、これは3種類の双方向
のリストを構成するためのポインタ(大サイズ、小サイ
ズ、自由リスト)を保持する。7はバッファヘッダであ
る。上記バッファキャッシュ8とディスクブロック9と
の関係、自由リスト100およびハッシュリスト110
の使用方法は従来と同じである。
【0023】この実施例1における立ち上がり時の各種
テーブルの初期化を図2および図3を参照しつつ説明す
る。ユーザはバッファキャッシュ使用定義テーブル3
に、バッファキャッシュ8の使用基準となるアクセスサ
イズの上限値と下限値および要求ヘッダ6の個数を設定
する(ステップ300)。バッファキャッシュ使用定義
テーブル3における要求ヘッダ拡張サイズはアクセスサ
イズの下限値にもとづき要求ヘッダ6内に用意されるデ
ータ格納エリアのサイズを記入する。(ステップ30
1)。
【0024】そして、要求ヘッダ6をバッファキャッシ
ュ使用定義テーブル3内の要求ヘッダ6の数だけ用意す
る(ステップ302)。このとき、要求ヘッダ6内にお
けるデータ格納エリアのサイズはバッファキャッシュ使
用定義テーブル3内の要求ヘッダ拡張サイズに設定され
たサイズで用意されるが、データ格納エリアのサイズは
当該デバイスが読み書きを行う最低サイズ(ディスクブ
ロックサイズ)の整数倍に切り上げる。
【0025】引き続き、ランダムメモリ装置2のランダ
ムアクセスメモリ上に用意された要求ヘッダ6を要求ヘ
ッダ管理テーブル5(図1参照)内の自由リストポイン
タに接続する(ステップ303)。要求ヘッダ6どうし
の接続は要求ヘッダ6内の要求ヘッダ接続リスト上のポ
インタを用いて行う。未使用バッファキャッシュの接続
は要求ヘッダ6を介して行う。つまり、要求ヘッダ管理
テーブル5内の自由リスト次ポインタに接続された一番
目の要求ヘッダ6の要求サイズを総バッファキャッシュ
サイズにセットし、ランダムアクセスメモリ内に存在す
る空きバッファヘッダ7全部を要求ヘッダ6内のバッフ
ァヘッダ7への前方ポインタにすべて接続する(ステッ
プ304)。以上の操作によって、アクセス要求発生に
てコンピュータは未使用バッファキャッシュ獲得のため
には、要求ヘッダ管理テーブル5上の自由リスト次ポイ
ンタの先頭に接続された要求ヘッダ6に接続されている
バッファキャッシュ8を使用することになる。要求ヘッ
ダ6に空きがない場合については後述する。また、要求
ヘッダ6の獲得は要求ヘッダ管理テーブル5の自由リス
ト前ポインタより行う。
【0026】次に、読み込み動作および書き込み動作を
図4を用い説明する。読み込み動作が開始すると、要求
ヘッダ6を1つ取得する(ステップ401)。空き要求
ヘッダは要求ヘッダ管理テーブル5の要求ヘッダ6の自
由リスト前ポインタより取得する。そして、要求ヘッダ
6内に必要な記述として要求サイズと状態フラグへの使
用中フラグとのセットを行う(ステップ402)。引き
続き、要求ヘッダ6の接続を行う(ステップ403)。
すなわち、要求ヘッダ管理テーブル5への接続には、ラ
ンダムアクセスメモリに用意されたバッファキャッシュ
サイズを基準に行う。もし、要求サイズがバッファキャ
ッシュサイズより大きければ、要求ヘッダ管理テーブル
5内の大サイズ次ポインタから順に前ポインタに向けて
サイズが大きくなるように、すなわち、前ポインタに近
づくほど要求サイズが大きくなるように要求ヘッダ6を
接続する。また、要求サイズがバッファキャッシュサイ
ズより小さい場合には、小サイズポインタに接続する。
この場合には小サイズポインタ次ポインタから前ポイン
タに向けてサイズが小さくなるように要求ヘッダ6を接
続する。そして、必要なバッファキャッシュ8を準備す
る。つまり、要求ヘッダ管理テーブル5の自由リスト次
ポインタに接続された一番目の要求ヘッダ6にバッファ
キャッシュ8が存在するかどうかを要求ヘッダ6のサイ
ズにより調べ(ステップ404)、存在する場合には当
該要求ヘッダ6の状態フラグを使用中にセットし(ステ
ップ405)、必要な数を要求サイズから必要なブロッ
ク数だけ差し引いて(ステップ406)、必要個数分切
り離す(ステップ407)。最後まで、使用した場合に
は要求ヘッダ6の要求サイズを「0」にセットする。
【0027】ステップ404においてバッファキャッシ
ュ8が存在しない場合や必要個数分足りない場合には、
アクセス要求サイズに応じ(ステップ450)、要求ヘ
ッダ管理テーブル5のアクセス要求サイズがランダムメ
モリ装置2のランダムアクセスメモリに用意されたバッ
ファキャッシュサイズより大きい場合には、大サイズポ
インタ前ポインタすなわち保有するバッファヘッダ7の
数が大きい方から検索し(ステップ451)、アクセス
要求サイズがランダムアクセスメモリに用意されたバッ
ファキャッシュサイズより小さい場合には、小サイズポ
インタ前ポインタより検索する(ステップ452)。こ
の際、要求ヘッダ6内の状態フラグが使用中および修正
ありでないものを検索する。
【0028】結果として、該当する要求ヘッダ6の状態
フラグに使用中フラグをセットし(ステップ453)、
必要なバッファキャッシュ8の分を要求ヘッダ6内のサ
イズより差し引き(ステップ454)、要求ヘッダ6か
らバッファキャッシュ8を切り離し(ステップ45
5)、該当する要求ヘッダ6に接続されたバッファヘッ
ダ7の数が余った場合には、上記初期化と同様に、要求
ヘッダ管理テーブル5の自由リスト次ポインタの先頭に
追加し接続する(ステップ457)。足りない場合には
ステップ451またはステップ452より次の要求ヘッ
ダ6を検索し必要なサイズ分のバッファヘッダ7を確保
する。
【0029】確保したバッファヘッダ7は要求ヘッダ6
内のバッファヘッダ7への前方ポインタに接続する(ス
テップ408)。バッファヘッダ7どうしの接続には図
2のバッファヘッダ7の次バッファヘッダへのポインタ
により接続する。ディスクメモリからの読み込み終了
(ステップ409)にて、当該要求ヘッダ6の使用中フ
ラグをリセットする。
【0030】書き込み動作を説明する。アクセスに必要
な要求ヘッダ6および空きバッファキャッシュの取得は
上記ステップ401乃至408およびステップ450乃
至457に示す読み込み動作と同じである。よって、ス
テップ409でのバッファキャッシュ8への読み込み動
作終了後に、バッファキャッシュ8への修正を行い、要
求ヘッダ6内の状態フラグ中に修正ありフラグをセット
し(ステップ410)、書き込み完了後には同修正フラ
グをオフし(ステップ411)、使用中フラグをリセッ
トする(ステップ412)。
【0031】この実施例1ではバッファヘッダ7と要求
ヘッダ6とを分離した例を図示して説明したが、両テー
ブルを同一のテーブルとして構成しても同様の効果が得
られる。
【0032】また、バッファキャッシュ8の二次記録媒
体としての不揮発性メモリ装置1のディスクメモリへの
更新内容を反映するフラッシュ動作を図5を用い説明す
る。バッファキャッシュ8のフラッシュ動作は要求ヘッ
ダ6を要求ヘッダ管理テーブル5内の大サイズ次ポイン
タおよび小サイズ次ポインタより接続されている要求ヘ
ッダ6を検索し(ステップ800)、要求ヘッダ6内の
状態フラグに修正ありフラグがセットされているかを判
断する(ステップ801)。そして、修正ありフラグが
セットされていない場合には処理を行わず(ステップ8
02)、修正ありフラグがセットされている場合にはフ
ラッシュ動作を行い、要求ヘッダ6内へのバッファヘッ
ダ7への前方ポインタに接続されたバッファキャッシュ
8をまとめてディスクメモリに書き込み(ステップ80
3)、書き込む終了にて該当する要求ヘッダ6の状態フ
ラグから修正フラグをオフする(ステップ804)。結
果として、この実施例1によれば、要求ヘッダ6で管理
された書き込み動作単位にフラッシュ動作を行う、つま
り、フラッシュ動作がユーザの書き込み動作ごとに行わ
れるので、フラッシュ動作中の電源断などによるシステ
ムダウン時に、データ損失の影響を局所的なものとして
小さくすることができる。
【0033】実施例2.この実施例2は図6に示すよう
に、バッファキャッシュ8の不揮発性メモリ装置1のデ
ィスクメモリへの更新内容を反映するフラッシュ動作を
ファイルごとに自動的な一括フラッシュかフラッシュ動
作を操作者の指定で選択することを特徴とするものであ
るので、この実施例2のバッファキャッシュ管理方法に
使用するコンピュータの構成要素には図1の符号を使用
して説明する。
【0034】つまり、図6は実施例2のバッファキャッ
シュ管理方法を示すフローチャートである。図6に示す
ように、この実施例2では、ユーザがファイル使用開始
時(オープン動作)に、それ以降のファイルへの書き込
み動作によって発生する修正されたバッファキャッシュ
8のフラッシュ動作を選択して指定する。一括でフラッ
シュするなら、ファイル定義テーブル4内のsyncフ
ラグを「0」にリセットし、不要なら「1」にセットす
る。つまり、ファイルアクセス時にファイル定義テーブ
ル4のsyncフラグを参照し(ステップ900)、s
yncフラグが「1」にセットされていれば上記実施例
1の書き込み動作にて要求ヘッダ6を確保した後に要求
ヘッダ6内のsync可否フラグを「0」にセットする
(ステップ902)。結果として、この実施例2によれ
ば、ユーザがフラッシュ動作のタイミングを制御でき、
コンピュータでの一括フラッシュ動作に対する負荷が軽
減し、また、ユーザが書き込み動作完了にてフラッシュ
動作を指示することができる。
【0035】この実施例2の動作の結果として、上記実
施例1によるバッファキャッシュフラッシュ動作におい
て要求ヘッダ6にセットされたフラグチェックを行う。
つまり、上記フラグが「1」にセットされているときは
要求ヘッダ6が管理するバッファキャッシュ8について
はフラッシュ動作を一括では行わないことになる。この
場合、例えばユーザが明示的にフラッシュ時期とファイ
ルをオペレーティングシステムに指示するなどの方法が
考えられる。
【0036】
【発明の効果】第1の発明によれば、バッファキャッシ
ュのフラッシュ動作がまとまった書き込みごとに行われ
るようにしたので、フラッシュ動作中の電源断などによ
るシステムダウン時に、データ損失の影響が局所化され
るという効果がある。
【0037】第2の発明によれば、ユーザにて一括フラ
ッシュ動作かファイルタイミングかを指定するようにし
たので、ユーザがフラッシュ動作のタイミングを制御す
ることができ、一括フラッシュ動作に対する負荷が軽減
でき、また、タイミングのよいフラッシュ動作が提供で
きるという効果がある。
【図面の簡単な説明】
【図1】 実施例1に使用するコンピュータを示す構成
図である。
【図2】 実施例1のテーブルを示す構成図である。
【図3】 実施例1の初期動作を示すフローチャートで
ある。
【図4】 実施例1のアクセス動作を示すフローチャー
トである。
【図5】 実施例1を示すフローチャートである。
【図6】 実施例2を示すフローチャートである。
【図7】 従来例を示す構成図である。
【符号の説明】
1 ランダムメモリ装置、2 不揮発性メモリ装置、3
バッファキャッシュ使用定義テーブル、4 ファイル
定義テーブル、5 要求ヘッダ管理テーブル、6 要求
ヘッダ、7 バッファヘッダ 8 バッファキャッシ
ュ、9 ディスクブロック、100 自由リスト、10
1 自由リストヘッダ、102 自由リストの前方ポイ
ンタ、103 自由リストの後方ポインタ、110 待
ち行列リスト、111 待ち行列ヘッダ。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータの不揮発性メモリとランダ
    ムアクセスメモリ上に用意されたバッファキャッシュと
    の間のデータ転送をオペレーティングシステムで管理す
    るバッファキャッシュ管理方法において、バッファキャ
    ッシュの二次記録媒体への更新内容を反映するフラッシ
    ュ動作をユーザの書き込み動作ごとに行うことを特徴と
    するコンピュータのバッファキャッシュ管理方法。
  2. 【請求項2】 コンピュータの不揮発性メモリとランダ
    ムアクセスメモリ上に用意されたバッファキャッシュと
    の間のデータ転送をオペレーティングシステムで管理す
    るバッファキャッシュ管理方法において、オペレーティ
    ングシステムによる一括フラッシュ動作かユーザ指定に
    よるフラッシュ動作かを選択することを特徴とするコン
    ピュータのバッファキャッシュ管理方法。
JP11234392A 1999-08-20 1999-08-20 コンピュ―タのバッファキャッシュ管理方法 Pending JP2000089985A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11234392A JP2000089985A (ja) 1999-08-20 1999-08-20 コンピュ―タのバッファキャッシュ管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11234392A JP2000089985A (ja) 1999-08-20 1999-08-20 コンピュ―タのバッファキャッシュ管理方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP6102766A Division JPH07311710A (ja) 1994-05-17 1994-05-17 コンピュータのバッファキャッシュ管理方法

Publications (1)

Publication Number Publication Date
JP2000089985A true JP2000089985A (ja) 2000-03-31

Family

ID=16970288

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11234392A Pending JP2000089985A (ja) 1999-08-20 1999-08-20 コンピュ―タのバッファキャッシュ管理方法

Country Status (1)

Country Link
JP (1) JP2000089985A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7768521B2 (en) 2006-03-17 2010-08-03 Sony Corporation Image processing apparatus and image processing method
JP2012098931A (ja) * 2010-11-02 2012-05-24 Canon Inc 情報処理装置、情報処理方法及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7768521B2 (en) 2006-03-17 2010-08-03 Sony Corporation Image processing apparatus and image processing method
JP2012098931A (ja) * 2010-11-02 2012-05-24 Canon Inc 情報処理装置、情報処理方法及びプログラム

Similar Documents

Publication Publication Date Title
JP7115899B2 (ja) ハイブリッドメモリにおける書き込み及びフラッシュ支援のためのメモリモジュール及びその動作方法
KR101717644B1 (ko) 고체-상태 저장 디바이스 상에서 데이터를 캐싱하는 장치, 시스템, 및 방법
US7325110B2 (en) Method for acquiring snapshot
US7472230B2 (en) Preemptive write back controller
JP4186509B2 (ja) ディスクシステムとそのキャッシュ制御方法
US20090157946A1 (en) Memory having improved read capability
CN105339910B (zh) 在混合驱动器中的虚拟nand容量扩展
US20110055297A1 (en) Access module, information recording module, controller, and information recording system
JPS5845611A (ja) 周辺メモリ・システム
JP7500311B2 (ja) メモリシステム及び情報処理システム
US11341042B2 (en) Storage apparatus configured to manage a conversion table according to a request from a host
JP2017107318A (ja) メモリシステム、情報処理装置および処理方法
US7487298B2 (en) Disk array device, method for controlling the disk array device and storage system
US20110238915A1 (en) Storage system
JP2010152747A (ja) ストレージシステム、ストレージのキャッシュ制御方法、及びキャッシュ制御プログラム
JPH06332625A (ja) ファイルのデータ多重化方法及びデータ処理システム
JP4189342B2 (ja) ストレージ装置、ストレージコントローラ及びライトバックキャッシュ制御方法
JP2008090378A (ja) ハイブリッドファイルシステム、オペレーティングシステム、キャッシュ制御方法および記録媒体
JP2000089985A (ja) コンピュ―タのバッファキャッシュ管理方法
JP2000305818A (ja) チップカードのメモリ断片化解消(デフラグ)
JP7450735B2 (ja) 確率的データ構造を使用した要求の低減
JP3882461B2 (ja) 記憶装置システム及びそのバックアップ取得方法
JP6640940B2 (ja) メモリシステムの制御方法
JP4076316B2 (ja) 不揮発性キャッシュメモリを用いたデータ書き込みシステム
CN115686349A (zh) 维持数据一致性的存储系统及其操作方法

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040106