JPH1145210A - ディスクキャッシュ装置、ディスクキャッシュ方法及びディスクキャッシュプログラムを記録した記録媒体 - Google Patents

ディスクキャッシュ装置、ディスクキャッシュ方法及びディスクキャッシュプログラムを記録した記録媒体

Info

Publication number
JPH1145210A
JPH1145210A JP9203001A JP20300197A JPH1145210A JP H1145210 A JPH1145210 A JP H1145210A JP 9203001 A JP9203001 A JP 9203001A JP 20300197 A JP20300197 A JP 20300197A JP H1145210 A JPH1145210 A JP H1145210A
Authority
JP
Japan
Prior art keywords
cache
disk
data
write
nonvolatile 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
JP9203001A
Other languages
English (en)
Inventor
Takafumi Ito
隆文 伊藤
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP9203001A priority Critical patent/JPH1145210A/ja
Publication of JPH1145210A publication Critical patent/JPH1145210A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】不揮発性メモリをキュッシュとして用い、その
キャッシュデータの書き戻し(ライトバック)の方式を
工夫することで、見かけ上のディスクアクセス性能をさ
らに向上させると共に、ユーザの使い勝手をさらに向上
させる。 【解決手段】FlashEEPROMカード22をキャ
ッシュとして用いる。シイテムの稼働状態を判断し、シ
ステムがアイドル状態にあるとき、FlashEEPR
OMカード22からハードディスク装置23へ書き戻し
ていないデータを検出し、システムがアイドル状態にあ
るとき、データの書き戻し処理をバックグランド処理で
実行し、キャッシュとディスクとのデータの不一致を解
消しておく。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、例えばパーソナル
コンピュータ等で用いられるディスクキャッシュ装置に
係り、特に不揮発性メモリを用いたディスクキャッシュ
装置、ディスクキャッシュ方法及びディスクキャッシュ
プログラムを記録した記録媒体に関する。
【0002】
【従来の技術】半導体メモリを用いたディスクキャッシ
ュ装置は、ハードディスクと主メモリとの間のデータ転
送の際に用いられるものであり、ハードディスクからの
書き込み情報や読み込み情報を、主メモリとは別の半導
体メモリに一時記憶しておくことで、ハードディスクア
クセスの見かけ上の速度を上げる技術である。
【0003】この種の従来技術としては、特開平8−6
3396号公報に記載のディスクキャッシュ装置(以
下、従来技術1と称す)や特開平9−34805公報に
記載の半導体ディスク装置(以下、従来技術2と称す)
などがある。
【0004】従来技術1では、ICメモリカードの一部
を不揮発性メモリとして用い、そこにディスクキャッシ
ュメモリの制御情報を設定することで、システムに最適
な制御を行うことが開示されている。
【0005】また、従来技術2では、キャッシュメモリ
とハードディスクと電池とを有する半導体ディスク装置
において、電池の障害が検出されたときに、書き込みデ
ータをキャッシュメモリとハードディスクの両方に書き
込む(ライトスルー)ことが開示されている。
【0006】
【発明が解決しようとする課題】上述した従来技術1、
2では、主にディスクデータのキャッシュを担う半導体
キャッシュ自体は、いずれもDRAM等の揮発性メモリ
を前提としている。この場合、キャッシュメモリとして
揮発性メモリを用いた構成では、電源がOFFされる前
に、キャッシュの内容を必ずハードディスクに書き戻す
必要がある。
【0007】一方、近年、FlashEEPROMな
ど、安価で大容量の不揮発性メモリが開発されてきた。
このような不揮発性メモリをキャッシュに利用した場合
には、電源がOFFされる前にキャッシュの内容をハー
ドディスクに書き戻すことは必ずしも必要ないという長
所があるが、その長所を十分活用するためには種々の工
夫をする余地がある。
【0008】本発明は上記のような点に鑑みなされたも
ので、電源OFFの前にハードディスクに書き戻すこと
を必ずしも必要としない不揮発性メモリをキュッシュと
して用い、そのキャッシュデータの書き戻し(ライトバ
ック)の方式を工夫することで、見かけ上のディスクア
クセス性能をさらに向上させると共に、ユーザの使い勝
手をさらに向上させるようにしたディスクキャッシュ装
置、ディスクキャッシュ方法及びディスクキャッシュプ
ログラムを記録した記録媒体を提供することを目的とす
る。
【0009】
【課題を解決するための手段】本発明の請求項1では、
不揮発性メモリとディスク装置とを備えたディスクキャ
ッシュ装置において、システムの稼働状態を判断する稼
働状態判断手段と、この稼働状態判断手段によって判断
される上記システムの稼働状態に応じて、上記不揮発性
メモリから上記ディスク装置へ書き戻していないデータ
を検出し、上記システムがアイドル状態にあるときに、
データの書き戻し処理をバックグランド処理で実行する
キャッシュ制御手段とを具備したことを特徴とする。
【0010】このような構成によれば、システムの空き
時間を利用して、キャッシュデータの書き戻しをバック
グランド処理で行う。これにより、実際のディスクアク
セスの際にキャッシュの内容をキャッシュに書き戻す回
数が少なくなり、アクセス性能が向上する。また、不揮
発性メモリをキャッシュに用いているため、上記の書き
戻し動作をすべて終了していない状態でも装置の電源を
オフすることができ、消費電力の軽減や電源オフの際の
処理時間の軽減に効果がある。
【0011】また、本発明の請求項2では、上記請求項
1のディスクキャッシュ装置において、電源の状態を判
断する電源状態判断手段をさらに具備し、上記キャッシ
ュ制御手段は、この電源状態判断手段によって判断され
る上記電源の状態に応じて上記データの書き戻し処理を
実行するか否かを決定することを特徴とする。
【0012】このような構成によれば、電源の状態に応
じて、電源供給に余裕のある場合にはキャッシュデータ
の書き戻し処理を実行することで、アクセス性能を向上
させることができ、電源供給に余裕のない場合には上記
書き戻し処理をせずに消費電力を抑えることができる。
【0013】また、本発明の請求項3では、上記請求項
1のディスクキャッシュ装置において、性能重視モード
または消費電力モードを設定するモード設定手段をさら
に具備し、上記キャッシュ制御手段は、上記モード設定
手段によって上記性能重視モードが設定された場合に上
記データの書き戻し処理を実行し、上記消費電力モード
が設定された場合に上記データの書き戻し処理を実行し
ないことを特徴とする。
【0014】このような構成によれば、電力消費は大き
くても極力キャッシュ性能を高くするか(性能重視モー
ド)、キャッシュ性能は低くても電力消費を抑えるか
(消費電力モード)をユーザが選択することができる。
【0015】また、本発明の請求項4では、上記請求項
1のディスクキャッシュ装置において、上記キャッシュ
制御手段は、システム起動時または終了時に、上記不揮
発性メモリ内の全てのデータを上記ディスク装置に一括
に書き戻すことを特徴とする。
【0016】このような構成によれば、システム起動時
または終了時に、キャッシュとディスクとのデータ不一
致を解消することができる。また、本発明の請求項5で
は、上記請求項1のディスクキャッシュ装置において、
上記キャッシュ制御手段は、上記不揮発性メモリまたは
上記ディスク装置を装置本体から取り外すとき、上記デ
ータの書き戻し処理を実行し、書き戻し終了後、上記不
揮発性メモリまたは上記ディスク装置の取り外しを許可
することを特徴とする。
【0017】このような構成によれば、不揮発性メモリ
またはディスク装置を装置本体から取り外すときに、キ
ャッシュとディスクとのデータ不一致を解消してから、
取り外しを行うことができる。
【0018】
【発明の実施の形態】以下、図面を参照しながら本発明
の一実施形態を説明する。図1は本発明の一実施形態に
係るディスクキャッシュ装置の構成を示すブロック図で
ある。なお、本装置は、例えば磁気ディスク等の記録媒
体に記録されたプログラムを読み込み、このプログラム
によって動作が制御されるコンピュータによって実現さ
れる。
【0019】図1に示すように、本装置はCPU11を
備えている。このCPU11は、システム全体の制御を
行うものであり、プログラムの起動により、システムバ
ス10を介して接続された各回路を制御する。システム
バス10には、DRAM12、LCDコントローラ1
4、VRAM15、キーボード16、マウス17、電源
マイコン18、PCカードI/F21、ハードディスク
装置(HDD)23が接続されている。
【0020】DRAM12は、主メモリとして使用され
る揮発性のメモリである。LCDコントローラ14は、
VRAM15の内容をLCD13に表示させる。VRA
M15は、LCD13に表示する内容を保持するメモリ
である。
【0021】キーボード16は、データの入力を指示を
行うための入力装置である。マウス17は、ポインティ
ングデバイスとして機能する。電源マイコン18は、電
源状態の監視や充電などの電源関係の制御を行う。この
電源マイコン18には、電源回路19、電池20が接続
されている。電源回路19は、電池20あるいはAC電
源からシステム全体の動作に必要な電源電圧を作り出し
て各回路に供給する。電池20は、充電可能な二次電池
である。
【0022】PCカードI/F21は、各種のPCカー
ドを接続でき、そのPCカードとの間でデータの入出力
制御を行う。ここでは、FlashEEPROMカード
22が接続される。このFlashEEPROMカード
22は、FlashEEPROMによる大容量の不揮発
性メモリを内蔵しており、本実施形態ではディスクキャ
ッシュとして機能する。ハードディスク装置23は、各
種データを記憶するための外部記憶装置である。
【0023】図2にディスクキャッシュとして用いるF
lashEEPROMカード22内のキャッシュのデー
タ構造を示す。FlashEEPROMカード22に
は、図2に示すようなキャッシュブロックが複数個存在
し、それぞれのブロックがハードディスク装置23内の
1つのクラスタをキャッシュする。
【0024】図中31はF-Use領域であり、ここに
使用/未使用を示すフラグが記憶される。ここでは、F
-Useフラグが“1”のとき「使用」、F-Useフラ
グが“0”のとき「未使用」を示す。
【0025】32はF-New領域であり、ここに更新
/未更新を示すフラグがセットされる。ここでは、F-
Newフラグが“1”のとき「更新」、F-Newフラ
グが“0”のとき「未更新」を示す。なお、F-New
=1のときには、キャッシュデータが更新されていて、
そのデータがハードディスクのデータと不一致であるこ
とを意味する。
【0026】33はアクセス時刻領域であり、ここに当
該キャッシュブロックを最後にアクセスした時刻が記憶
される。34はクラスタ番号領域であり、ここに当該キ
ャッシュブロックにキャッシュされているデータがハー
ドディスクのどのクラスタに対応するかを示すクラスタ
番号が記憶される。
【0027】35はクラスタデータ領域であり、ここに
キャッシュしたハードディスクのクラスタデータが記憶
される。次に、同実施形態の動作を説明する。
【0028】まず、ディスクキャッシュの基本的な動作
を説明する。 (a)ディスクデータのリード 図3はハードディスク装置23の指定されたクラスタか
らDRAM12の指定されたアドレスにデータを転送す
る場合の動作を示すフローチャートである。CPU11
は、読み込むべきハードディスク装置23のクラスタが
FlashEEPROMカード22にキャッシュされて
いるかどうかを、以下のように調べる。
【0029】すなわち、F-Use=1、かつ、クラス
タ番号が指定クラスタと一致するキャッシュブロックが
あれば、そのブロックにキャッシュされていると判断す
る(ステップA11のYes)。キャッシュされていれ
ば、キャッシュ中のクラスデータをDRAM12の指定
アドレスに転送する(ステップA12)。さらに、その
キャッシュブロックのアクセス時刻を更新する(ステッ
プA13)。
【0030】一方、キャッシュされていなければ(ステ
ップA11のNo)、使用するキャッシュブロックを決
定する(ステップA14)。このキャッシュブロックの
決定方法については、後に図5を参照して説明する。
【0031】次に、ハードディスク装置23の指定クラ
スタのデータを上記決定したキャッシュブロックに転送
し(ステップA15)、当該キャッシュブロックのクラ
スタ番号およびアクセス時間を更新する(ステップA1
6)。その際、F-Useに“1”をセットすること
で、当該キャッシュブロックを使用したことを定義して
おき、F-Newに“0”をセットすることで、ディス
クデータと一致していることを定義しておく(ステップ
A17)。
【0032】次に、キャッシュしたデータをFlash
EEPROMカード22からDRAM12の指定位置に
転送する(ステップA18)。 (b)ディスクデータのライト 図4はハードディスク装置23の指定されたクラスタヘ
DRAM12の指定されたアドレスからデータを転送す
る場合の動作を示すフローチャートである。CPU11
はEEPROMカード22にキャッシュされているかど
うかを、以下のように調べる。
【0033】すなわち、F-Use=1、かつ、クラス
タ番号が指定クラスタと一致するキャッシュブロックが
あれば、そのブロックにキャッシュされていると判断す
る。(ステップB11のYes)。キャッシュされてい
れば、そのキャッシュブロックヘDRAM12の指定ア
ドレスからデータを転送し(ステップB12)、アクセ
ス時刻を更新する(ステップB13)。その際、当該キ
ャッシュブロックのF-Newに“1”をセットする
(ステップB14)。
【0034】F-New=1にすることで、このキャッ
シュブロックはハードディスクのデータと内容が一致し
ていないことが示される。つまり、このクラスタをキャ
ッシュから除去するときには、ハードディスク装置23
への書き戻し(ライトバック)が必要となる。
【0035】一方、キャッシュされていなければ(ステ
ップB11のNo)、使用するキャッシュブロックを決
定する(ステップA15)。このキャッシュブロックの
決定方法については、後に図5を参照して説明する。
【0036】次に、DRAM12の指定アドレスのデー
タを上記決定したキャッシュブロックに転送し(ステッ
プB16)、当該キャッシュブロックのクラスタ番号お
よびアクセス時間を更新する(ステップA17)。その
際、F-Useに“1”をセットすることで、当該キャ
ッシュブロックを使用したことを定義しておき、F-
ewに“1”をセットすることで、ディスクデータと一
致していないことを定義しておく(ステップA18)。
【0037】(c)キャッシュブロックの決定 図5はリード/ライトしようとするハードディスク装置
23のクラスタがキャッシュされていないとき、そのク
ラスタデータをキャッシュするためのキャッシュブロッ
クを決定する場合の動作を示すフローチャートである。
CPU11はFlashEEPROMカード22未使用
のキャッシュブロックがあるか否かを、以下のように調
べる。
【0038】すなわち、F-Use=0のブロックを検
索し、該当するブロックがあれば(ステップC11のY
es)、その中の任意のブロックを新たなキャッシュブ
ロックとして決定する(ステップC12)。
【0039】一方、未使用のブロックがなければ(ステ
ップC11のNo)、全てブロックの中でアクセス時刻
が最も古いブロック(つまり、最近アクセスされていな
いブロック)を検出し(ステップC13)、それを新た
なキャッシュブロックとして決定する(ステップC1
6)。
【0040】その際、上記決定したキャッシュブロック
のF-Newフラグが“1”であれば(ステップC14
のYes)、キャッシュとディスクのデータが不一致で
あることから、そのキャッシュデータをハードディスク
装置23に書き戻して、キャッシュとディスクとのデー
タ不一致を解消しておく(ステップC15)。
【0041】次に、本発明のキャッシュデータの書き戻
し処理(ライトバック)について説明する。 (d)バックグラウンド処理でのキャッシュデータの書
き戻し 図6はキャッシュデータの書き戻し処理の動作を示すフ
ローチャートである。なお、ここでの処理は、実際のア
プリケーションソフトウェアの動作のバックグラウンド
処理として実行される。すなわち、マルチタスクOS
(operating system)においては、OSが管理する裏の
タスクとして動作する。
【0042】また、書き戻しの動作モードとして、「性
能重視」,「消費電力重視」,「自動」の3つモードが
ある。「性能重視」モードは、キャッシュの書き戻し処
理を実行することにより、キャッシュとディスクとの整
合性を優先して確保する。「消費電力重視」モードは、
キャッシュの書き戻し処理を実行しないことにより、電
力の消費を防ぐ。「自動」モードは、電源の状態に応じ
てキャッシュの書き戻し処理を実行するか否かを決定す
る。ユーザは、例えばモード設定画面等を表示して、こ
れらのモードの中から1つのモードを予め選択してお
く。
【0043】以下、各モードに分けて、それぞれの動作
を説明する。 <「性能重視」モードの場合> OSは、システムがアイドル状態であるかどうかをチェ
ックする(ステップD11)。アイドル状態とは、シス
テムがキー入力、マウス入力待ちの状態であり、OSが
裏のタスクを実行しても、ユーザが実行中のアプリケー
ションソフト等の実行における性能低下につながらない
状態のことである。アイドル状態でなければ(ステップ
D11のNo)、他の処理を行う(ステップD12)。
【0044】一方、アイドル状態において、「性能重
視」モードが設定されている場合には(ステップD15
のYes)、各キャッシュブロックをチェックし、F-
Newフラグが“1”のものを検索する(ステップD1
6)。そして、そのキャッシュブロックのデータをディ
スク装置23に書き戻すことにより、キャッシュとディ
スクとのデータ不一致を解消しておく(ステップD1
7)。その際、当該キャッシュブロックのF-Newフ
ラグを“0”にセットしておく(ステップD18)。
【0045】このように、「性能重視」モードでは、シ
ステムの空き時間を利用してキャッシュとディスクとの
データ不一致を解消できる。これにより、上記(c)の
キャッシュブロックの決定で述べた、キャッシュのクラ
スタの入れ替えの際に、キャッシュのデータをディスク
装置23に書き戻す回数を減らすことができ、ディスク
アクセスの性能を向上させるというメリットがある。
【0046】言い換えれば、システムの空き時間を利用
して、キャッシュデータの書き戻し(ライトバック)を
裏タスクで行っておくことにより、通常のディスクアク
セス時(アプリ実行時)に行うデータの書き戻し動作を
減らすことができ、その結果として、スループットの向
上を図ることができるものである。
【0047】ただし、論理的には書き戻す必要のないキ
ャッシュのデータもディスク装置23に書き戻すことに
なるので、余分のディスクアクセスが増えて、消費電力
が増えるというデメリットがある。特に、バッテリ駆動
のときには、消費電力が大きな問題となるため、このよ
うな場合には次に述べるような「消費電力重視」モード
が有効となる。
【0048】<「消費電力重視」モードの場合>OS
は、システムがアイドル状態であるかどうかをチェック
する(ステップD11)。アイドル状態とは、システム
がキー入力、マウス入力待ちの状態であり、OSが裏の
タスクを実行しても、ユーザが実行中のアプリケーショ
ンソフト等の実行における性能低下につながらない状態
のことである。アイドル状態でなければ(ステップD1
1のNo)、他の処理を行う(ステップD12)。
【0049】一方、アイドル状態において、「消費電力
重視」モードが設定されている場合には(ステップD1
5のNo)、アイドル状態であっても、キャッシュデー
タのディスクへの書き戻しは行わない。つまり、キャッ
シュデータのディスクへの書き戻しは、アプリ起動時に
必要に応じて行うことになる。
【0050】このように、「消費電力重視」モードで
は、システムの空き時間を利用したキャッシュデータの
書き戻しは行わないので、性能向上にはつながらないも
のの、不必要なディスクアクセスを行わない分、消費電
力を抑えられるというメリットがある。
【0051】<「自動」モードの場合>OSは、システ
ムがアイドル状態であるかどうかをチェックする(ステ
ップD11)。アイドル状態とは、システムがキー入
力、マウス入力待ちの状態であり、OSが裏のタスクを
実行しても、ユーザが実行中のアプリケーションソフト
等の実行における性能低下につながらない状態のことで
ある。アイドル状態でなければ(ステップD11のN
o)、他の処理を行う(ステップD12)。
【0052】一方、アイドル状態において、「自動」モ
ードが設定されている場合には(ステップD13のYe
s)、OSは電源マイコン18を介して電源の状態をチ
ェックする。これは、AC電源が正常に供給されている
かどうか、あるいは、電池20の残量が十分あるかどう
かをチェックすることである(ステップD14)。
【0053】その結果、AC電源が正常に供給されてい
るか、あるいは、電池20の残量が十分ある場合には
(ステップD14のYes)、電力消費に問題ないと判
断し、OSは上述した「性能重視」モードのときと同様
の処理を行う。
【0054】すなわち、キャッシュブロックをチェック
し、F-Newフラグが“1”のものがあれば(ステッ
プD16のYes)、そのキャッシュのデータをディス
ク装置23に書き戻し、キャッシュとディスクとのデー
タ不一致を解消しておく(ステップD17)。その際、
当該キャッシュブロックのF-Newフラグを“0”に
セットしておく(ステップD18)。
【0055】また、AC電源が正常に供給されていない
場合、あるいは、電池20の残量が不十分の場合には
(ステップD14のNo)、上記のようなキャッシュデ
ータの書き戻しは行われない。
【0056】このように、「自動」モードでは、電源供
給に余裕がある場合に、システムの空き時間を利用した
キャッシュデータの書き戻し(ライトバック)を実行し
て、キャッシュ性能の向上を図る。
【0057】なお、本発明では、不揮発性メモリをキャ
ッシュとして使用しているので、電源をOFFしてもキ
ャッシュの内容は失われない。従って、電源マイコン1
8が電源スイッチOFFの状態を検出して、OSが電源
OFFの処理を実行する際も、キャッシュの内容はその
まま残し、ディスクの内容とキャッシュの内容とが不一
致なデータの書き戻し処理は行わないままで、電源をO
FFにしても問題はない。
【0058】(e)システム起動時または終了時のキャ
ッシュデータの一括書き戻し 上述したように、本発明では不揮発性メモリをキャッシ
ュとして使用しているので、電源をOFFにしてもキャ
ッシュの内容は失われない。しかし、電源をONしたと
きに、キャッシュとディスクの内容とが不一致のままで
ある可能性がある。
【0059】そこで、電源ON時つまりシステム起動時
にキャッシュデータを一括してハードディスク装置23
に書き戻すことにより、その後のキャッシュのアクセス
性能の向上を図る。また、データ保持の安全性をより考
慮するならば、電源OFF時(システム終了時)にもキ
ャッシュデータのディスク装置23への一括書き戻しを
実行しておいた方が好ましい。特に、キャッシュメモリ
が取り外し可能なメディアで、ロック機構がない場合に
は必要となる。
【0060】以下、このような場合のキャッシュデータ
の一括書き戻しの処理について説明する。図7はシステ
ム起動時または終了時のキャッシュデータの一括書き戻
し処理の動作を示すフローチャートである。システム起
動時または終了時において、OSは以下のような処理を
実行する。
【0061】すなわち、まず、上記同様に動作モード
(「性能重視」モード,「消費電力重視」モード,「自
動」モード)と電源状態に応じてキャッシュデータの書
き戻しを実行するかどうかを決定する(ステップE11
〜E13)。
【0062】その結果、「自動」モードが設定されてお
り、AC電源が正常に供給されているか、あるいは、電
池20の残量が十分ある場合(ステップD12のYe
s)、または、「性能重視」モードが設定されている場
合に(ステップE13)、OSは、ハードディスク装置
23に書き戻していないキャッシュブロック(F-Ne
w=1のキャッシュブロック)を検出する(ステップE
14)。
【0063】その結果、書き戻していないキャッシュブ
ロックがあれば(ステップE14のYes)、その全て
のキャッシュブロックのデータをハードディスク装置2
3の対応するクラスタに一括して書き戻す(ステップE
15)。その際、全てのキャッシュブロックのF-Ne
wフラグを“0”にセットしておく(ステップE1
6)。
【0064】(f)取り外し時のキャッシュデータの書
き戻し キャッシュメディア、または、ハードディスクが取り外
し可能なデバイスである場合において、これらを装置本
体から取り外す際には、キャッシュとディスクとのデー
タの不一致を解消しておく必要がある。
【0065】以下、FlashEEPROMカード22
を装置本体から取り外す場合のキャッシュデータの一括
書き戻しの処理について説明する。図8はカード取り外
し時のキャッシュデータの一括書き戻し処理の動作を示
すフローチャートである。例えばキーボード16を通じ
てユーザがFlashEEPROMカード22の取り外
しを指示したとすると、OSは以下のような処理を実行
する。
【0066】すなわち、OSは、まず、書き戻していな
いキャッシュブロック(F-New=1のキャッシュブ
ロック)を検出する(ステップF11)。そして、書き
戻していないキャッシュブロックがあれば(ステップF
11のYes)、その全てのキャッシュブロックのデー
タをハードディスク装置23の対応するクラスタに一括
して書き戻す(ステップF12)。その際、全てのキャ
ッシュブロックのF−Newフラグを“0”にセットし
ておく(ステップF13)。
【0067】書き戻しが終了したら、OSはFlash
EEPROMカード22の取り外しを許可し、そのメッ
セージを表示する(ステップF14)。なお、電源をO
FFしてもロック状態が保持されるような機械的なロッ
ク機構があればより安全である。
【0068】また、ハードディスク装置23がリムーバ
ルな構成の場合についても同様である。このように、不
揮発性メモリをキュッシュとして用い、そのキャッシュ
データの書き戻し(ライトバック)の方式を工夫するこ
とで、見かけ上のディスクアクセス性能をさらに向上さ
せることができ、また、ユーザの使い勝手をさらに向上
させることができるものである。
【0069】なお、上記実施形態では、キャッシュにF
lashEEPROMカード22、補助記憶装置にハー
ドディスク装置23を用いる例を示したが、不揮発で、
アクセスが高速で、低消費電力のデバイスであれば、キ
ャッシュとして使用することができる。
【0070】また、不揮発性メモリによるキャッシュと
して、リムーバルなICカードの例を示したが、本体内
蔵型の固定デバイスであっても良い。また、ハードディ
スク装置23の代わりに他の大容量記憶装置、例えば光
ディスク装置を使用する例も考えられる。
【0071】いずれも場合も、上記手法を適用すること
ができ、同様の効果が得られるものである。また、上記
実施形態では、バックグラウンド処理でのキャッシュデ
ータの書き戻し処理をシステムがアイドル状態のときに
行うようにしたが、これに限るものではなく、例えばア
プリによるCPUの使用負荷が軽いときなど、システム
の空き時間を利用できる状態であれば、どのような状態
であっても良い。
【0072】また、上述した実施形態において記載した
手法は、コンピュータに実行させることのできるプログ
ラムとして、例えば磁気ディスク(フロッピーディス
ク、ハードディスク等)、光ディスク(CD−ROM、
DVD等)、半導体メモリなどの記録媒体に書き込んで
各種装置に適用したり、通信媒体により伝送して各種装
置に適用することも可能である。本装置を実現するコン
ピュータは、記録媒体に記録されたプログラムを読み込
み、このプログラムによって動作が制御されることによ
り、上述した処理を実行する。
【0073】
【発明の効果】以上のように本発明の請求項1によれ
ば、システムの空き時間を利用して、キャッシュデータ
の書き戻しをバックグランド処理で行うことにより、実
際のディスクアクセスの際にキャッシュの内容をキャッ
シュに書き戻す回数が少なくなり、アクセス性能が向上
する。また、不揮発性メモリをキャッシュに用いている
ため、上記の書き戻し動作をすべて終了していない状態
でも装置の電源をオフすることができ、消費電力の軽減
や電源オフの際の処理時間の軽減に効果がある。
【0074】また、本発明の請求項2によれば、電源の
状態に応じて、電源供給に余裕のある場合にはキャッシ
ュデータの書き戻し処理を実行することで、アクセス性
能を向上させることができ、電源供給に余裕のない場合
には上記書き戻し処理をせずに消費電力を抑えることが
できる。
【0075】また、本発明の請求項3によれば、電力消
費は大きくても極力キャッシュ性能を高くするか(性能
重視モード)、キャッシュ性能は低くても電力消費を抑
えるか(消費電力モード)をユーザが選択することがで
きる。
【0076】また、本発明の請求項4によれば、システ
ム起動時または終了時に、キャッシュとディスクとのデ
ータ不一致を解消することができる。また、本発明の請
求項5によれば、不揮発性メモリまたはディスク装置を
装置本体から取り外すときに、キャッシュとディスクと
のデータ不一致を解消してから、取り外しを行うことが
できる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るディスクキャッシュ
装置の構成を示すブロック図。
【図2】同実施形態におけるキャッシュのデータ構造を
示す図。
【図3】同実施形態におけるハードディスク装置の指定
されたクラスタからDRAMの指定されたアドレスにデ
ータを転送する場合の動作を示すフローチャート。
【図4】同実施形態におけるハードディスク装置の指定
されたクラスタヘDRAMの指定されたアドレスからデ
ータを転送する場合の動作を示すフローチャート。
【図5】同実施形態におけるキャッシュブロックを決定
する場合の動作を示すフローチャート。
【図6】同実施形態におけるキャッシュデータの書き戻
し処理の動作を示すフローチャート。
【図7】同実施形態におけるシステム起動時または終了
時のキャッシュデータの一括書き戻し処理の動作を示す
フローチャート。
【図8】同実施形態におけるカード取り外し時のキャッ
シュデータの一括書き戻し処理の動作を示すフローチャ
ート。
【符号の説明】
10…システムバス 11…CPU 12…DRAM 13…LCD 14…LCDコントローラ 15…VRAM 16…キーボード 17…マウス 18…電源マイコン 19…電源回路 20…電池 21…PCカードI/F 22…FlashEEPROMカード

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 不揮発性メモリとディスク装置とを備え
    たディスクキャッシュ装置において、 システムの稼働状態を判断する稼働状態判断手段と、 この稼働状態判断手段によって判断される上記システム
    の稼働状態に応じて、上記不揮発性メモリから上記ディ
    スク装置へ書き戻していないデータを検出し、上記デー
    タの書き戻し処理をバックグランド処理で実行するキャ
    ッシュ制御手段とを具備したことを特徴とするディスク
    キャッシュ装置。
  2. 【請求項2】 電源の状態を判断する電源状態判断手段
    をさらに具備し、 上記キャッシュ制御手段は、この電源状態判断手段によ
    って判断される上記電源の状態に応じて上記データの書
    き戻し処理を実行するか否かを決定することを特徴とす
    る請求項1記載のディスクキャッシュ装置。
  3. 【請求項3】 性能重視モードまたは消費電力モードを
    設定するモード設定手段をさらに具備し、 上記キャッシュ制御手段は、上記モード設定手段によっ
    て上記性能重視モードが設定された場合に上記データの
    書き戻し処理を実行し、上記消費電力モードが設定され
    た場合に上記データの書き戻し処理を実行しないことを
    特徴とする請求項1記載のディスクキャッシュ装置。
  4. 【請求項4】 上記キャッシュ制御手段は、システム起
    動時または終了時に、上記不揮発性メモリ内の全てのデ
    ータを上記ディスク装置に一括に書き戻すことを特徴と
    する請求項1記載のディスクキャッシュ装置。
  5. 【請求項5】 上記キャッシュ制御手段は、上記不揮発
    性メモリまたは上記ディスク装置を装置本体から取り外
    すとき、上記データの書き戻し処理を実行し、書き戻し
    終了後、上記不揮発性メモリまたは上記ディスク装置の
    取り外しを許可することを特徴とする請求項1記載のデ
    ィスクキャッシュ装置。
  6. 【請求項6】 不揮発性メモリとディスク装置とを用い
    たディスクキャッシュ方法であって、 システムの稼働状態を判断し、 その稼働状態に応じて、上記不揮発性メモリから上記デ
    ィスク装置へ書き戻していないデータを検出し、 上記システムがアイドル状態にあるときに、データの書
    き戻し処理をバックグランド処理で実行することを特徴
    とするディスクキャッシュ方法。
  7. 【請求項7】 不揮発性メモリとディスク装置とを用い
    たディスクキャッシュのためのプログラムを記録した記
    録媒体であって、 システムの稼働状態を判断させる手順と、 その稼働状態に応じて、上記不揮発性メモリから上記デ
    ィスク装置へ書き戻していないデータを検出させる手順
    と、 上記システムがアイドル状態にあるときに、データの書
    き戻し処理をバックグランド処理で実行させる手順とを
    コンピュータに実行させるためのプログラムを記録した
    コンピュータ読み取り可能な記録媒体。
JP9203001A 1997-07-29 1997-07-29 ディスクキャッシュ装置、ディスクキャッシュ方法及びディスクキャッシュプログラムを記録した記録媒体 Pending JPH1145210A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9203001A JPH1145210A (ja) 1997-07-29 1997-07-29 ディスクキャッシュ装置、ディスクキャッシュ方法及びディスクキャッシュプログラムを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9203001A JPH1145210A (ja) 1997-07-29 1997-07-29 ディスクキャッシュ装置、ディスクキャッシュ方法及びディスクキャッシュプログラムを記録した記録媒体

Publications (1)

Publication Number Publication Date
JPH1145210A true JPH1145210A (ja) 1999-02-16

Family

ID=16466696

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9203001A Pending JPH1145210A (ja) 1997-07-29 1997-07-29 ディスクキャッシュ装置、ディスクキャッシュ方法及びディスクキャッシュプログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JPH1145210A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6772233B2 (en) 2000-12-27 2004-08-03 Fujitsu Limited Data storage device
JP2009032305A (ja) * 2007-07-24 2009-02-12 Toshiba Corp 情報記録装置及びその制御方法
JP2009294764A (ja) * 2008-06-03 2009-12-17 Canon Inc 情報処理装置及びその制御方法
JP2010238338A (ja) * 2009-03-31 2010-10-21 Sharp Corp ドライブ装置、情報記録装置、データ記録方法、データ記録プログラム、及びコンピュータ読み取り可能な記録媒体
CN116880774A (zh) * 2023-09-06 2023-10-13 麒麟软件有限公司 一种Linux系统下的脏页回写方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6772233B2 (en) 2000-12-27 2004-08-03 Fujitsu Limited Data storage device
JP2009032305A (ja) * 2007-07-24 2009-02-12 Toshiba Corp 情報記録装置及びその制御方法
JP2009294764A (ja) * 2008-06-03 2009-12-17 Canon Inc 情報処理装置及びその制御方法
JP2010238338A (ja) * 2009-03-31 2010-10-21 Sharp Corp ドライブ装置、情報記録装置、データ記録方法、データ記録プログラム、及びコンピュータ読み取り可能な記録媒体
CN116880774A (zh) * 2023-09-06 2023-10-13 麒麟软件有限公司 一种Linux系统下的脏页回写方法
CN116880774B (zh) * 2023-09-06 2023-11-28 麒麟软件有限公司 一种Linux系统下的脏页回写方法

Similar Documents

Publication Publication Date Title
TWI407300B (zh) 電源管理控制器與方法
JP2988866B2 (ja) コンピュータシステム
US6594723B1 (en) Method and apparatus for updating data in nonvolatile memory
US5928365A (en) Computer system using software controlled power management method with respect to the main memory according to a program's main memory utilization states
US5937433A (en) Method of controlling hard disk cache to reduce power consumption of hard disk drive used in battery powered computer
US20050044332A1 (en) Systems and methods for storing data on computer systems
EP0910016A2 (en) Apparatus and method for suspending and resuming software applications on a computer
CN101246389A (zh) 提供从休眠状态瞬时接通恢复的计算系统节电方法和装置
US6438708B1 (en) Information processing apparatus that can hold internal information
US5590340A (en) Apparatus and method for suspending and resuming software application on a computer
JPH07200112A (ja) 情報処理システム
JPH0528039A (ja) 記憶装置
JP2000182381A (ja) 一括消去型不揮発性メモリ
US6851012B2 (en) Information processing system, information processing method and readable-by-computer recording medium
KR19980023759A (ko) 휴대형 단말기기의 메모리 관리방법
JPH1145210A (ja) ディスクキャッシュ装置、ディスクキャッシュ方法及びディスクキャッシュプログラムを記録した記録媒体
JP2003085041A (ja) ディスクキャッシュシステム
JP2002099390A (ja) ディスク制御装置
EP1408406B1 (en) Arithmetic unit with reduced startup time and method of loading data
JPH11259162A (ja) サスペンド/レジューム方法
JP2003122644A (ja) 計算機及びその記憶装置
JP2000081921A (ja) コンピュ―タシステム
JP3022011B2 (ja) データバックアップシステム
JPH0944417A (ja) 情報処理システム及びその制御方法
JPH10254780A (ja) ディスクキャッシュ制御方式