JPH1091519A - ハードディスクキャッシュの制御方法 - Google Patents

ハードディスクキャッシュの制御方法

Info

Publication number
JPH1091519A
JPH1091519A JP9107206A JP10720697A JPH1091519A JP H1091519 A JPH1091519 A JP H1091519A JP 9107206 A JP9107206 A JP 9107206A JP 10720697 A JP10720697 A JP 10720697A JP H1091519 A JPH1091519 A JP H1091519A
Authority
JP
Japan
Prior art keywords
hard disk
cache
data
interrupt
disk cache
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
JP9107206A
Other languages
English (en)
Inventor
Kichimo Ri
吉茂 李
Kenkichi Kin
憲吉 金
Jinchoru Shin
仁▲ちょる▼ 申
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JPH1091519A publication Critical patent/JPH1091519A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/20Driving; Starting; Stopping; Control thereof
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/311In host system

Abstract

(57)【要約】 【目的】 ハードディスクのアクセスを抑制して低電力
・高速化を図り、且つキャッシュとディスクのコヒーレ
ンシーを保てるキャッシ制御方法を提供する。 【構成】 ライトバックキャッシュ方式としたキャッシ
ュ制御方法において、ハードディスクの読出/書込時に
発生される読出/書込インタラプト、パワーオフやリセ
ット時に発生されるシステム管理インタラプト、及びプ
ログラム終了時に発生されるプログラム終了インタラプ
トのうちのいずれかが発生するとこれを識別し(段階S
210〜段階S220)、インタラプトの種類に応じて
段階S300〜S500の読出、書込、フラッシュ動作
を遂行する。ディスクキャッシュをライトバックで制御
することにより、ハードディスクのアクセス抑制で低電
力・高速化が図られ、尚且つパワーオフやリセット時、
或いはプログラム終了時にはキャッシュにある未書込の
書換えデータをハードディスクへ転送するようにしてあ
るので、キャッシュとディスクのコヒーレンシーを保つ
ことができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ハードディスクド
ライブのアクセス補助に使用されるハードディスクキャ
ッシュの制御方法に関するものである。
【0002】
【従来の技術】携帯用コンピュータシステムでは、1回
の充電でできるだけ長時間使用可能であることが要求さ
れる。そこで、1回の充電でできるだけ長く使用可能な
電源用バッテリの開発が進められると共に、コンピュー
タシステムの消費電力を減らす研究も進められている。
最近では、バッテリー自体の性能向上には限界が見えて
いるので、コンピュータシステムの低電力化の方が重要
となってきている。
【0003】コンピュータシステムの低電力化は、作動
していない周辺機器への電源供給を減少させたり、遮断
したりする手法や、最大性能を必要としない場合にはシ
ステム速度を緩める手法などで主に達成している。この
ような消費電力を減少させるための技術をAPM(Ad
vanced Power Management)と
言い、具体的には次のようなものがある。
【0004】まず、コンピュータシステムの最終アクセ
スから一定時間が経過した場合に自動的に動作周波数を
減少させることにより、消費電力を減らす機能がある。
また、画面の最終変化から一定時間が経過した場合やキ
ー入力が一定時間ない場合、自動的にLCD等の画面電
源の供給をカットする機能がある。そして、ハードディ
スクドライブをもつ場合、その最終アクセスから所定の
時間が経過すると自動的にドライブ内のモータを停止さ
せる機能がある。
【0005】ハードディスクをもつ場合、コンピュータ
システムの消費電力の大部分をハードディスクドライブ
が占めることになるので、ハードディスクドライブの低
電力化は非常に重要になる。ハードディスクドライブの
低電力化は一般的に、ハードディスクドライブの制御コ
マンドを利用してスピンドルモータやサーボモータを停
止させることにより行われている。これについて以下詳
しく説明する。
【0006】ハードディスクドライブのデータの読出/
書込速度は、メインメモリ(半導体メモリで構成)によ
る読出/書込速度よりも遅い。これは、ハードディスク
ドライブでは機械的動作が必須のためである。このよう
な速度差を補う目的でハードディスクキャッシュが導入
されている。このハードディスクキャッシュは、ハード
ディスクのアクセス速度を補うために設けられたメモリ
であり、システムのメインメモリの特定領域を当てて使
用したり、或いは、ハードディスクドライブのコントロ
ーラ内にキャッシュメモリを内蔵したハードウエア構成
としたりして設けられる。
【0007】図1に示すように、ハードディスクキャッ
シュ20はハードディスクドライブ10とメインメモリ
30との間に介在し、これを通じてデータの読出/書込
が実行されるようになっている。即ち、ハードディスク
ドライブ10からデータが読出されるときに、一般的に
はブロック単位で読出データがハードディスクキャッシ
ュ20に貯蔵される。これにより、次に同じデータを読
むときにはキャッシュヒットとなってハードディスクキ
ャッシュ20から読出せばよいので、ハードディスクド
ライブ10をアクセスする必要がなくなり、高速化を図
ることができる。
【0008】
【発明が解決しようとする課題】キャッシュ20を使用
する場合、大きく分けて2種類の書込アルゴリズムが適
用される。即ち、ライトスルーキャッシュ(write
through cache)アルコリズムとライト
バックキャッシュ(write back cach
e)アルコリズムである。
【0009】ライトスルーキャッシュは、キャッシュ使
用中にデータの書換えがあった場合は、その書換えデー
タをハードディスクへも随時書込むものである。これ
は、キャッシュ20のデータとハードディスクドライブ
10のデータとを常に一致させておくというコヒーレン
シー(coherency)を適用したアルゴリズムで
ある。
【0010】このようなライトスルーキャッシュでは、
ハードディスクドライブ10の低電力化と組み合わせた
ときに次のような不具合が発生することになる。即ち、
低電力化のためにハードディスクドライブ10のスピン
ドルモータ停止制御を行っている場合に、キャッシュ2
0のデータ書換えに伴ってそのデータを書込むためにス
ピンドルモードを動作させるときに問題が起きる。
【0011】図2のグラフ(縦軸:モータ駆動電流,横
軸:時間)に示してあるように、スピンドルモータが停
止後に最起動して通常回転速度で安定するまでの過渡期
間tsの間は、通常の駆動電流Isよりも多量の過渡電
流Itを消費することになる。つまり、この過渡期間t
sで過渡電流Itが消費される結果、消費電力抑制のた
めにスピンドルモータ停止制御をしていることが、逆に
消費電力増加の原因になってしまうのである。
【0012】一方、ライトバックキャッシュは、より高
速化を目指すために使用されるもので、キャッシュデー
タの書換えがあってもハードディスクへの転送は随時行
わずにキャッシュ20でのみ書換えを行っておいて、キ
ャッシュミスになったときに一括して書換えデータをハ
ードディスクへ転送し書込むようにするアルゴリズムで
ある。従って、データ書換えの度にハードディスクをア
クセスしなくてもよいので高速化を図れる。
【0013】しかし、このライトバックキャッシュで
は、コンピュータシステムのパワーオフやリセットがあ
ったときに問題がある。即ち、キャッシュ20に書換え
られたデータが存在してこれがまだハードディスクへ未
書込の場合にパワーオフやリセットがあれば、書換えデ
ータはすべて消えてしまうことになる。このために、よ
り高速化を実現できるにも関わらず、ライトバックキャ
ッシュよりもライトスルーキャッシュ方式の方が現在主
流になっている。
【0014】以上のような課題に着目して本発明は、ハ
ードディスクドライブの動作時間を極力抑えて消費電力
を抑制することのできるハードディスクキャッシュ制御
方法を提供する。また、パワーオフやリセットがあって
もキャッシュにある書換えデータを安全にハードディス
クへ残せるようなハードディスクキャッシュ制御方法を
提供する。
【0015】
【課題を解決するための手段】この目的のために本発明
によれば、ハードディスクの読出/書込データを一時的
に貯蔵するハードディスクキャッシュを備えたコンピュ
ータシステムのハードディスクキャッシュ制御方法にお
いて、ハードディスクの読出/書込時に発生される読出
/書込インタラプト、パワーオフ時やリセット時に発生
されるシステム管理インタラプト、及びプログラム終了
時に発生されるプログラム終了インタラプトのうちのい
ずれかが発生すると、これを受けて識別するインタラプ
ト識別段階と、識別したインタラプトが読出インタラプ
トであるとき、読出データがハードディスクキャッシュ
にあればこれを読出し、読出データがハードディスクキ
ャッシュになければハードディスクキャッシュ内の書換
えデータをハードディスクへ転送してフラッシュした後
にハードディスクからデータを読出す読出段階と、識別
したインタラプトが書込インタラプトであるとき、ハー
ドディスクキャッシュの状態を判断して空きがなければ
ハードディスクキャッシュ内の書換えデータをハードデ
ィスクへ転送してフラッシュし、書込データをハードデ
ィスクキャッシュへ書込む書込段階と、識別したインタ
ラプトがシステム管理インタラプト又はプログラム終了
インタラプトであるとき、ハードディスクキャッシュ内
の書換えデータをハードディスクへ転送してハードディ
スクキャッシュをフラッシュするフラッシュ段階と、を
実施することを特徴とする。
【0016】この場合、読出/書込インタラプト、シス
テム管理インタラプト、及びプログラム終了インタラプ
トを発生させてハードディスクキャッシュ制御を実行
し、ハードディスクキャッシュの各キャッシュセルに対
する制御情報をもつ制御情報領域を初期化する過程を含
む初期化段階をもたせることができる。
【0017】より具体的に読出段階は、読出データがハ
ードディスクキャッシュにあるかどうか判断する過程
と、ハードディスクキャッシュに読出データがない場合
に、ハードディスクキャッシュ内に書換えのあったキャ
ッシュセルが存在するかどうか確認する過程と、書換え
のあったキャッシュセルが存在すれば、そのデータをハ
ードディスクへ転送してフラッシュする過程と、ハード
ディスクからデータを読出してハードディスクキャッシ
ュへ転送する過程と、ハードディスクキャッシュに読出
データがある場合又はハードディスクからハードディス
クキャッシュへ読出データが転送されると、ハードディ
スクキャッシュからデータを読出す過程と、ハードディ
スクキャッシュのキャッシュセルに対する制御情報をも
つ制御情報領域を更新する過程と、を含むものとするこ
とができる。
【0018】また書込段階は、ハードディスクキャッシ
ュに新しいキャッシュセルを挿入することができるかど
うか判断する過程と、新しいキャッシュセルを挿入する
ことができない場合に、ハードディスクキャッシュ内に
書換えのあったキャッシュセルが存在するかどうか確認
する過程と、書換えのあったキャッシュセルが存在すれ
ば、そのデータをハードディスクへ転送してフラッシュ
する過程と、書込データをハードディスクキャッシュへ
書込む過程と、ハードディスクキャッシュのキャッシュ
セルに対する制御情報をもつ制御情報領域を更新する過
程と、を含むものとすることができる。
【0019】更にフラッシュ段階は、ハードディスクキ
ャッシュ内に書換えのあったキャッシュセルが存在する
かどうか確認する過程と、書換えのあったキャッシュセ
ルが存在すれば、そのデータをハードディスクへ転送し
てフラッシュする過程と、ハードディスクキャッシュの
キャッシュセルに対する制御情報をもつ制御情報領域を
初期化する過程と、を含むものとすることができる。
【0020】本発明によれば、ライトバックキャッシュ
方式を使用したハードディスクキャッシュの制御方法に
おいて、コンピュータシステムのパワーオフ時やリセッ
ト時に発生されるシステム管理インタラプトに応答し
て、キャッシュ内のディスク未書込の書換えデータをハ
ードディスクへ転送することを特徴とする。またこれに
加えて、実行中のプログラムが終了するときに発生され
るプログラム終了インタラプトにも応答してキャッシュ
内のディスク未書込の書換えデータをハードディスクへ
転送することを特徴とする。従って、ハードディスクキ
ャッシュをライトバックキャッシュアルゴリズムで制御
することにより、ハードディスクドライブのアクセス抑
制で低電力・高速化が図られ、尚且つパワーオフやリセ
ット時、或いはプログラム終了時にはハードディスクキ
ャッシュに存在する未書込の書換えデータをハードディ
スクへ転送するようにしてあるので、キャッシュデータ
とディスクデータのコヒーレンシーを保つことができ
る。
【0021】
【発明の実施の形態】図3〜図11を参照して本発明の
実施の形態につき具体的に説明する。即ち、ハードディ
スクキャッシュをライトバックキャッシュのアルゴリズ
ムを使用して制御し、そして、パワーオフやリセットの
ときに発生されるシステム管理インタラプト及びプログ
ラム終了のときに発生されるプログラム終了インタラプ
トを利用し、ハードディスクには未書込のハードディス
クキャッシュにある書換えデータをすべてハードディス
クへ転送し書込むキャッシュ制御方法である。
【0022】図3は、SMI発生部をもつコンピュータ
システムの一例を示したブロック図である。SMI発生
部60からSMI信号が発生されると、これに応答して
中央処理部(CPU)62が応答信号(SMIACK)
を出力する。すると、該当のSMI処理ルーチンが遂行
されることになる。また、ハードディスクキャッシュ6
8はハードディスクドライブ66とメインメモリ64と
の間に位置するようにされ、ハードディスクドライブ6
6の読出/書込データはハードディスクキャッシュ68
を介することになる。
【0023】システム管理インタラプト=SMI(Sy
stem ManagementInterrupt)
は、コンピュータシステムがパワーオフやリセットされ
るときに発生するインタラプトであり、SMIが発生し
た場合は、システムのソフト、ハード管理の各種作業が
実施される。上述したAPM機能もSMIを利用して作
動することができるようになっている。
【0024】この例のハードディスクキャッシュ制御方
法にはライトバックキャッシュアルゴリズムを適用して
いる。このアルゴリズムを適用した場合、ハードディス
クキャッシュ68には書換えデータが存在しいるがまだ
ハードディスクへの書込が終わっていない場合がある。
このときに、コンピュータシステムのパワーオフやリセ
ットがあるとデータが消えてしまうおれがあるので、こ
れを防止するために上記のSMIを利用する。つまり、
パワーオフやリセットがあってSMIが発生されれば、
その時点のハードディスクキャッシュ68の書換えデー
タをハードディスクドライブ66へ転送してハードディ
スクへ書込んだ後、SMIに対応した作業が遂行され
る。
【0025】また、実行中のプログラムが終了するとき
にもSMIのときと同様の制御が遂行される。即ち、実
行中のプログラムが終了するときにはプログラム終了イ
ンタラプトが発生するので、これを利用してキャッシュ
制御を実行する。そして、ハードディスクドライブ66
のデータ読出/書込のための読出/書込インタラプトで
もハードディスクキャッシュ68を制御する。
【0026】図4には、このコンピュータシステムの電
源装置のブロック図を示してある。この電源装置は、電
源供給部50、スイッチング部55、電源スイッチ5
6、電源制御部58から構成され、中央処理部60やハ
ードディスクドライブ66などへ電力供給する。また電
源制御部58は、SMI発生部60を兼ねている。この
電源装置は、中央処理部62に従い消費電力抑制機能を
実行する。
【0027】電源供給部50は、AC/DCコンバータ
52及びDC/DCコンバータ54で構成される。AC
/DCコンバータ52は、交流電源ACをAC/DC変
換して出力する。そしてDC/DCコンバータ54は、
AC/DCコンバータ52又はバッテリによる直流電源
から、コンピュータシステムに必要な各種レベルの電源
電圧V(V1 ,V2 ,VH )、例えば3Vや5V等を発
生する。また、内部にサーミスタ(thermisto
r)を備えており、バッテリの現在の電圧レベルを示し
たバッテリ電圧レベル信号を出力する。
【0028】スイッチング部55は、複数の電界効果ト
ランジスタ(FET)で構成され、電源制御部58によ
るスイッチング信号に従ってスイッチし、コンピュータ
システムの各部に電源電圧Vを供給する。電源スイッチ
56は、外部に露出して操作されるコンピュータシステ
ムの電源スイッチで、その操作に従いパワーオン/オフ
信号を電源制御部58へ提供する。
【0029】電源制御部58にはマイコンが使用されて
おり、DC/DCコンバータ54によるアナログのバッ
テリ電圧レベル信号からディジタルのバッテリデータを
生成する。そして、中央処理部62からバッテリデータ
要求があると、バッテリデータを中央処理部62へ出力
する。また、電源スイッチ56によるパワーオン信号が
入力されると、パワーオンのためのスイッチング信号を
スイッチング部55へ出力し、パワーオフ信号が入力さ
れる場合には、パワーオフSMI信号を中央処理部62
へ出力する。更に、バッテリがイジェクト(ejec
t)されてバッテリによる電源供給が中断された場合に
は、中央処理部62へバッテリイジェクトSMI信号を
出力する機能を付加的に含む。
【0030】以上のような構成のコンピュータシステム
におけるハードディスクキャッシュ制御について、以下
に順次説明する。
【0031】図5に、ハードディスクキャッシュ制御に
おける初期化段階のフローチャートを示してある。これ
は、例えばコンピュータシステムのパワーオン時に遂行
される。
【0032】まず、段階S100でコンピュータシステ
ムがパワーオンされると、パワーオンリセット(pow
er on reset)過程によってコンピュータシ
ステムが安定的な状態になる。続いて段階S110へ進
行し、コンピュータシステムに一般的に備えられている
BIOSによるハードウエアブーティング(booti
ng)過程が実施される。この立上過程はメーカーによ
り若干ことなるが、通常はPOST(Power On
Self Test)過程を含んでいる。そして、所
定の初期値に従いコンピュータシステムの各部が初期化
される。
【0033】BIOSによるハードウエアブーティング
過程が済むと、段階S120で、今度はOSによるソフ
トウエアブーティング過程が実行される。即ち、DOS
の場合であれば、ハードディスクブーティング過程の最
後で、BIOS−ROMにあるブートストラップ(bo
otstrap)ルーチンが実行され、ハードディスク
(或いはフレキシブルディスク)のブートセクター(b
oot sector)の内容がメインメモリにコピー
される。ブートセクターには、該セクターが入っていた
ディスクのソフトウエアブーティングに必要なファイル
の情報とブートストラッププログラムが入っている。ま
た、これ以外のブートストラッププログラムは、特定な
ファイル(MS−DOSであれはIO.SYSとMSD
OS.SYS)を探してメモリにロードされ、IO.S
YSによってOSブーティング過程が継続される。
【0034】この際に段階S130で、キャッシュ制御
プログラムがメインメモリにロードされ、続く段階S1
40で、キャッシュ制御プログラムによって所定の初期
化過程が行われる。即ち初期化段階S140では、コン
ピュータシステムのもつBIOSのインタラプト中、ハ
ードディスクドライブ66のデータ読出/書込のための
読出/書込インタラプト(BIOSインタラプト13
h)、パワーオフやリセット時のSMI、そしてプログ
ラム終了時のプログラム終了インタラプト(DOSイン
タラプト4ch)の発生に応答して、ハードディスクキ
ャッシュ68を制御する。つまり、これらのインタラプ
トを発生させてキャッシュ制御プログラムを実行し、各
キャッシュセルに対する制御情報をもっているハードデ
ィスクキャッシュ68の制御情報領域を初期化する。
【0035】初期化が済むと段階S150で、残ってい
るブーティング過程を更に進めてOSに応じたブーティ
ング過程を終了させ、そして段階S160で、ユーザー
の入力を待つ入力待機状態になる。
【0036】上記の初期化段階を終えると、メインメモ
リ64のメモリマップが図6に示す状態となる。この例
では、ディスクキャッシュ68としてメインメモリ64
の一部領域を使用してあり、そのメインメモリ領域90
のマップが図6に示されている。
【0037】メインメモリ領域90中の所定容量は、イ
ンタラプトベクトルテーブル(interrupt v
ector table)領域98とインタラプト処理
ルーチンのあるBIOS領域97に当てられている。そ
して、ハードディスクキャッシュ領域68と、キャッシ
ュ制御ドライバ領域92と、キャッシュ制御情報領域9
3と、が所定容量で設けられている。このうちキャッシ
ュ制御情報領域93は、図中に詳細を示してあるよう
に、ハードディスクキャッシュ領域68の各キャッシュ
セルのアドレス94と、キャッシュセルのデータが入っ
ているハードディスクのアドレス95と、キャッシュ制
御用の制御フラグ96と、が入れられる。ハードディス
クのアドレス95は、シリンダ95a、ヘッダ95b、
スタートセクター95c、エンドセクター95dで表示
するようにしている。また、制御フラグ96は、ハード
ディスクキャッシュ領域68にある各キャッシュセルの
状態、即ち、キャッシュセルの書換え有無、重複するハ
ードディスクのアドレス95をもつキャッシュセルであ
るか等を表示するフラグである。
【0038】以上のようなハードディスクキャッシュの
初期化が済み、コンピュータシステムの特定のプログラ
ムが実行されている過程で、ハードディスクキャッシュ
68は次のように制御される。これはキャッシュ制御ド
ライバ92により行われ、図7にそのフローチャートを
示してある。
【0039】段階S200で、プログラム立上げに従い
キャッシュ制御ドライバ92がメインメモリ領域90へ
ロードされ、図5の段階S140に相当するハードディ
スクキャッシュ68を制御するための初期化が実施され
る。このような初期化は、OSによるソフトウエアブー
ティングのときに遂行される。そして、段階S210に
おいて、プログラム実行中にハードディスクドライブ6
6をアクセスするために発生する読出/書込インタラプ
ト、パワーオフやリセットで発生するSMI、プログラ
ム終了で発生するプログラム終了インタラプトのうちの
いずれかがあると、それを受けて段階S220へ進む。
段階S220では、発生したインタラプトの種類を識別
してそれに対応した制御を遂行する。
【0040】段階S220でインタラプトが読出インタ
ラプトである場合は、段階S300へ進行して読出デー
タがハードディスクキャッシュ68にあるかまず判断
し、キャッシュヒットであればこれを読出す。一方、キ
ャッシュミスであれば、ハードディスクキャッシュ68
に書換えのあったキャッシュセルが存在すればそのデー
タをハードディスクドライブ66へ転送してディスクへ
書込み、そして、ハードディスクドライブ66から読出
されたデータをハードディスクキャッシュ68へ入れ
る。
【0041】段階S220でインタラプトが書込インタ
ラプトである場合は、段階S400へ進行してハードデ
ィスクキャッシュ68の空き状態を確認し、空きがない
ときには、書換えのあったキャッシュセルが存在すれば
そのデータをハードディスクへ転送してフラッシュ(f
lush)し、書込データをハードディスクキャッシュ
68へ入れる。
【0042】段階S220でインタラプトがSMI、或
いはプログラム終了インタラプトである場合は、段階S
500へ進行し、ハードディスクキャッシュ68に書換
えのあったキャッシュセルが存在すれば、その全キャッ
シュセルのデータをハードディスクへ書込む。
【0043】これら各段階S300〜S500が終われ
ば、段階S600でインタラプトリターンが行われる。
【0044】上記のようなキャッシュ制御過程につい
て、図8のメインメモリ領域90の説明図を参照して説
明する。
【0045】例えば一般プログラム領域99のプログラ
ム実行中に、ハードディスクドライブ66に対するデー
タ読出/書込を行うことになると、そのアクセスのため
の読出/書込インタラプト(BIOSインタラプト13
h)が発生する。すると、段階S10が進行して実行中
のプログラムは待機させられ、インタラプトベクトルテ
ーブル98で指示される所定の領域にある実行コードが
中央処理部62によって実行される。即ち、該当インタ
ラプト処理の実行コードがあるアドレスへジャンプする
ことになる。この場合、段階S20’のように当該イン
タラプト処理のためにBIOS領域97の該当処理ルー
チンへジャンプし、段階S20によってディスク制御ド
ライバ92のインタラプト受信段階S210以降へジャ
ンプするようになる。そして、該当するハードディスク
キャッシュ68の制御が実行され、段階S30でインタ
ラプトリターンとなる。
【0046】図9〜図11には、図7の段階S300,
S400,S500についての詳細が示されている。
【0047】図9は読出動作の読出段階S300の詳細
で、まず段階S310において、読出データがハードデ
ィスクキャッシュ68に存在するかどうかが判断され
る。ヒットであれば段階S350へ行って該当キャッシ
ュセルのデータを読出し、ミスであれば段階S320へ
進む。段階S320では、ハードディスクキャッシュ6
8に書換えのあったキャッシュセルが存在するかどうか
確認する。この確認は、制御フラグ96の該当フラグビ
ットによって行う。
【0048】書換えのあったキャッシュセルが存在する
場合は段階S330へ進行し、その書換えデータをハー
ドディスクへ転送してキャッシュセルをフラッシュした
後に段階S340へ進む。書換えたキャッシュセルがな
い場合はキャッシュセル置換アルゴリズムに従いキャッ
シュをフラッシュして段階S340へ進行し、そして段
階S340では、ハードディスクドライブ66から要求
データを読出して新しいキャッシュセルをハードディス
クキャッシュ68へ入れる。
【0049】続く段階S350では、段階S310のキ
ャッシュヒット又は段階S340の後にハードディスク
キャッシュ68からデータが読出され、そして、段階S
360で、ハードディスクキャッシュ68の各キャッシ
ュセルに対する制御情報をもつキャッシュ制御情報領域
93のアップデートを行う。
【0050】図10は書込動作の書込段階S400の詳
細で、まず段階S410において、ハードディスクキャ
ッシュ68に新しいキャッシュセルを入れられるかどう
か空き状態が判断される。もし空きがあれば、段階S4
40へ進んで新しいキャッシュセルを入れる。一方、空
きがなければ段階S420へ進み、ハードディスクキャ
ッシュ68に書換えのあったキャッシュセルが存在する
かどうか確認する。
【0051】書換えのあったキャッシュセルが存在すれ
ば段階S430へ進行し、該当キャッシュセルのデータ
をハードディスクへ転送してフラッシュした後に段階S
440へ進む。書換えのあったキャッシュセルが存在し
なければそのまま段階S440へ進み、この段階S44
0では、ハードディスクキャッシュに新しいキャッシュ
セルを入れることができれば新しいキャッシュセルを挿
入し、段階S420の判断に応じて書換えたキャッシュ
セルがなければ一番古いキャッシュセルを消去して、新
しいキャッシュセルを入れることができる。そして段階
S450で、キャッシュ制御情報領域93を更新する。
【0052】図11は、インタラプトがSMIやプログ
ラム終了インタラプトである場合のフラッシュ動作のフ
ラッシュ段階S500の詳細で、まず段階S510にお
いて、ハードディスクキャッシュ68のキャッシュセル
のうちに、書換えのあったキャッシュセルが存在するか
どうか判断する。書換えたものがなければ段階S530
へ進む。書換えたキャッシュセルがある場合は段階S5
20へ進行し、その全キャッシュセルのデータをハード
ディスクへ転送してハードディスクキャッシュをフラッ
シュする。そして段階S530では、キャッシュ制御情
報領域93を初期化する。
【0053】
【発明の効果】本発明のハードディスクキャッシュ制御
方法によると、ライトバックキャッシュ方式によりハー
ドディスクドライブのアクセス頻度が少なくなり、スピ
ンドルモータなどの駆動減少から消費電力が抑制され、
高速化も図られる。尚且つ、コンピュータシステムのパ
ワーオフやリセットの際にディスク未書込のデータが消
えてしまうことがなく、信頼性が高く実用化に適してい
る。
【図面の簡単な説明】
【図1】ハードディスクキャッシュについての説明図。
【図2】ハードディスク駆動用スピンドルモータの消費
電流変化を示したグラフ。
【図3】SMI発生部をもつコンピュータシステムのブ
ロック図。
【図4】コンピュータシステムの電源装置のブロック
図。
【図5】本発明のハードディスクキャッシュ制御方法に
係る初期化段階のフローチャート。
【図6】図5の初期化段階後のメインメモリのメモリマ
ップ。
【図7】本発明のハードディスクキャッシュ制御方法を
説明するフローチャート。
【図8】本発明のハードディスクキャッシュ制御を説明
したメインメモリのメモリマップ。
【図9】図7中の段階S300の詳細を説明するフロー
チャート。
【図10】図7中の段階S400の詳細を説明するフロ
ーチャート。
【図11】図7中の段階S500の詳細を説明するフロ
ーチャート。

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 ハードディスクの読出/書込データを一
    時的に貯蔵するハードディスクキャッシュを備えたコン
    ピュータシステムのハードディスクキャッシュ制御方法
    において、 ハードディスクの読出/書込時に発生される読出/書込
    インタラプト、パワーオフ時やリセット時に発生される
    システム管理インタラプト、及びプログラム終了時に発
    生されるプログラム終了インタラプトのうちのいずれか
    が発生すると、これを受けて識別するインタラプト識別
    段階と、 識別したインタラプトが読出インタラプトであるとき、
    読出データがハードディスクキャッシュにあればこれを
    読出し、読出データがハードディスクキャッシュになけ
    ればハードディスクキャッシュ内の書換えデータをハー
    ドディスクへ転送してフラッシュした後にハードディス
    クからデータを読出す読出段階と、 識別したインタラプトが書込インタラプトであるとき、
    ハードディスクキャッシュの状態を判断して空きがなけ
    ればハードディスクキャッシュ内の書換えデータをハー
    ドディスクへ転送してフラッシュし、書込データをハー
    ドディスクキャッシュへ書込む書込段階と、 識別したインタラプトがシステム管理インタラプト又は
    プログラム終了インタラプトであるとき、ハードディス
    クキャッシュ内の書換えデータをハードディスクへ転送
    してハードディスクキャッシュをフラッシュするフラッ
    シュ段階と、を実施することを特徴とするハードディス
    クキャッシュ制御方法。
  2. 【請求項2】 読出/書込インタラプト、システム管理
    インタラプト、及びプログラム終了インタラプトを発生
    させてハードディスクキャッシュ制御を実行し、ハード
    ディスクキャッシュの各キャッシュセルに対する制御情
    報をもつ制御情報領域を初期化する過程を含む初期化段
    階をもつ請求項1記載のハードディスクキャッシュ制御
    方法。
  3. 【請求項3】 読出段階は、読出データがハードディス
    クキャッシュにあるかどうか判断する過程と、ハードデ
    ィスクキャッシュに読出データがない場合に、ハードデ
    ィスクキャッシュ内に書換えのあったキャッシュセルが
    存在するかどうか確認する過程と、書換えのあったキャ
    ッシュセルが存在すれば、そのデータをハードディスク
    へ転送してフラッシュする過程と、ハードディスクから
    データを読出してハードディスクキャッシュへ転送する
    過程と、ハードディスクキャッシュに読出データがある
    場合又はハードディスクからハードディスクキャッシュ
    へ読出データが転送されると、ハードディスクキャッシ
    ュからデータを読出す過程と、ハードディスクキャッシ
    ュのキャッシュセルに対する制御情報をもつ制御情報領
    域を更新する過程と、を含む請求項1又は請求項2記載
    のハードディスクキャッシュ制御方法。
  4. 【請求項4】 書込段階は、ハードディスクキャッシュ
    に新しいキャッシュセルを挿入することができるかどう
    か判断する過程と、新しいキャッシュセルを挿入するこ
    とができない場合に、ハードディスクキャッシュ内に書
    換えのあったキャッシュセルが存在するかどうか確認す
    る過程と、書換えのあったキャッシュセルが存在すれ
    ば、そのデータをハードディスクへ転送してフラッシュ
    する過程と、書込データをハードディスクキャッシュへ
    書込む過程と、ハードディスクキャッシュのキャッシュ
    セルに対する制御情報をもつ制御情報領域を更新する過
    程と、を含む請求項1〜3のいずれか1項に記載のハー
    ドディスクキャッシュ制御方法。
  5. 【請求項5】 フラッシュ段階は、ハードディスクキャ
    ッシュ内に書換えのあったキャッシュセルが存在するか
    どうか確認する過程と、書換えのあったキャッシュセル
    が存在すれば、そのデータをハードディスクへ転送して
    フラッシュする過程と、ハードディスクキャッシュのキ
    ャッシュセルに対する制御情報をもつ制御情報領域を初
    期化する過程と、を含む請求項1〜4のいずれか1項に
    記載のハードディスクキャッシュの制御方法。
  6. 【請求項6】 ライトバックキャッシュ方式を使用した
    ハードディスクキャッシュの制御方法において、コンピ
    ュータシステムのパワーオフ時やリセット時に発生され
    るシステム管理インタラプトに応答して、キャッシュ内
    のディスク未書込の書換えデータをハードディスクへ転
    送するようにしたことを特徴とするハードディスクキャ
    ッシュの制御方法。
  7. 【請求項7】 実行中のプログラムが終了するときに発
    生されるプログラム終了インタラプトにも応答する請求
    項6記載のハードディスクキャッシュの制御方法。
JP9107206A 1996-04-24 1997-04-24 ハードディスクキャッシュの制御方法 Pending JPH1091519A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1996P12742 1996-04-24
KR1019960012742A KR0174711B1 (ko) 1996-04-24 1996-04-24 하드디스크 캐시의 제어방법

Publications (1)

Publication Number Publication Date
JPH1091519A true JPH1091519A (ja) 1998-04-10

Family

ID=19456612

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9107206A Pending JPH1091519A (ja) 1996-04-24 1997-04-24 ハードディスクキャッシュの制御方法

Country Status (3)

Country Link
US (1) US5937433A (ja)
JP (1) JPH1091519A (ja)
KR (1) KR0174711B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007065104A3 (en) * 2005-11-30 2008-08-21 Red Hat Inc Method to reduce risk of data loss

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2785693B1 (fr) * 1998-11-06 2000-12-15 Bull Sa Dispositif et procede de cache disque securise en ecriture pour disques durs de sous-systeme a memoire de masse
JP4325817B2 (ja) * 1999-04-05 2009-09-02 株式会社日立製作所 ディスクアレイ装置
JP2001022529A (ja) * 1999-06-30 2001-01-26 Internatl Business Mach Corp <Ibm> ディスクドライブ装置及びその制御方法
US6647499B1 (en) 2000-01-26 2003-11-11 International Business Machines Corporation System for powering down a disk storage device to an idle state upon trnsfer to an intermediate storage location accessible by system processor
JP4078010B2 (ja) * 2000-03-03 2008-04-23 株式会社日立グローバルストレージテクノロジーズ 磁気ディスク装置及び情報記録方法
KR100597733B1 (ko) 2002-01-03 2006-07-07 삼성전자주식회사 컴퓨터 시스템 및 그 부팅방법
JP4219633B2 (ja) * 2002-07-25 2009-02-04 株式会社日立製作所 記憶装置システムのデステージ方法、ディスク制御装置、記憶装置システム、及びプログラム
US7178047B2 (en) * 2003-01-31 2007-02-13 Microsoft Corporation Method to reduce or eliminate audio interference from computer components
US7299379B2 (en) * 2003-06-27 2007-11-20 Intel Corporation Maintaining cache integrity by recording write addresses in a log
US8392655B2 (en) * 2003-09-30 2013-03-05 Lenovo (Singapore) Pte Ltd. Apparatus for reducing accesses to levels of a storage hierarchy in a computing system
US20050097208A1 (en) * 2003-10-31 2005-05-05 International Business Machines Corporation Node removal using remote back-up system memory
JP4486348B2 (ja) * 2003-11-26 2010-06-23 株式会社日立製作所 ドライブの稼働時間を抑止するディスクアレイ
US20050144510A1 (en) * 2003-12-24 2005-06-30 Fernando Zayas Cache search accelerator
US7174471B2 (en) * 2003-12-24 2007-02-06 Intel Corporation System and method for adjusting I/O processor frequency in response to determining that a power set point for a storage device has not been reached
JP4518541B2 (ja) 2004-01-16 2010-08-04 株式会社日立製作所 ディスクアレイ装置及びディスクアレイ装置の制御方法
JP4634049B2 (ja) * 2004-02-04 2011-02-16 株式会社日立製作所 ディスクアレイ装置における異常通知制御
EP3001321B1 (en) * 2004-02-05 2018-07-11 BlackBerry Limited Memory controller interface
US7644239B2 (en) 2004-05-03 2010-01-05 Microsoft Corporation Non-volatile memory cache performance improvement
JP4373887B2 (ja) * 2004-09-30 2009-11-25 Okiセミコンダクタ株式会社 パケット処理方法
US7490197B2 (en) 2004-10-21 2009-02-10 Microsoft Corporation Using external memory devices to improve system performance
US20060136664A1 (en) * 2004-12-16 2006-06-22 Trika Sanjeev N Method, apparatus and system for disk caching in a dual boot environment
US7441081B2 (en) * 2004-12-29 2008-10-21 Lsi Corporation Write-back caching for disk drives
JP5036158B2 (ja) * 2005-10-05 2012-09-26 株式会社日立製作所 情報処理システム及び情報処理システムの制御方法
US8914557B2 (en) 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
KR100781520B1 (ko) * 2006-02-24 2007-12-03 삼성전자주식회사 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 이를위한 맵핑 정보 복구 방법
JP2007293987A (ja) * 2006-04-24 2007-11-08 Toshiba Corp 情報記録装置及びその制御方法
US7890780B2 (en) * 2008-02-15 2011-02-15 Dell Products L.P. Systems and methods for managing power for data storage devices
US7948211B2 (en) * 2008-04-18 2011-05-24 International Business Machines Corporation System and methods to extend the service life of portable devices
US9032151B2 (en) 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US7953774B2 (en) * 2008-09-19 2011-05-31 Microsoft Corporation Aggregation of write traffic to a data store
US10360143B2 (en) * 2010-07-01 2019-07-23 Qualcomm Incorporated Parallel use of integrated non-volatile memory and main volatile memory within a mobile device
US20150242155A1 (en) * 2012-08-27 2015-08-27 Samsung Electronics Co., Ltd. Method for protecting storage device data integrity in an external operating environment
US20140059291A1 (en) * 2012-08-27 2014-02-27 Kashif Memon Method for protecting storage device data integrity in an external operating environment
JP6101170B2 (ja) 2013-07-26 2017-03-22 株式会社日立製作所 計算機システム、キャッシュ管理方法、及び計算機
US10146293B2 (en) 2014-09-22 2018-12-04 Western Digital Technologies, Inc. Performance-aware power capping control of data storage devices
US9541988B2 (en) 2014-09-22 2017-01-10 Western Digital Technologies, Inc. Data storage devices with performance-aware power capping
US9965206B2 (en) 2015-10-23 2018-05-08 Western Digital Technologies, Inc. Enhanced queue management for power control of data storage device
CN113392408A (zh) * 2021-08-13 2021-09-14 北京信达环宇安全网络技术有限公司 Windows配置数据库防篡改方法、装置、电子设备及存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3502147A1 (de) * 1984-01-23 1985-08-08 Hitachi Microcomputer Engineering Ltd., Kodaira, Tokio/Tokyo Datenverarbeitungssystem mit verbesserter pufferspeichersteuerung
EP0189944B1 (en) * 1985-02-01 1993-05-12 Nec Corporation Cache memory circuit capable of processing a read request during transfer of a data block
JP2637788B2 (ja) * 1988-09-02 1997-08-06 株式会社日立製作所 ディスクキャッシュ制御方式および情報処理システム
US5257370A (en) * 1989-08-29 1993-10-26 Microsoft Corporation Method and system for optimizing data caching in a disk-based computer system
US5347642A (en) * 1989-11-30 1994-09-13 Nec Electronics Inc. Cache memory management unit
US5371872A (en) * 1991-10-28 1994-12-06 International Business Machines Corporation Method and apparatus for controlling operation of a cache memory during an interrupt
GB2273798A (en) * 1992-12-22 1994-06-29 Ibm Cache system for disk array.
US5551006A (en) * 1993-09-30 1996-08-27 Intel Corporation Low cost writethrough cache coherency apparatus and method for computer systems without a cache supporting bus
US5535358A (en) * 1993-12-27 1996-07-09 Matsushita Electric Industrial Co., Ltd. Cache memory control circuit and method for controlling reading and writing requests
US5696897A (en) * 1994-01-31 1997-12-09 Sun Microsystems, Inc. Method and apparatus for a multi-layer system quiescent suspend and resume operation
US5630142A (en) * 1994-09-07 1997-05-13 International Business Machines Corporation Multifunction power switch and feedback led for suspend systems
KR0139985B1 (ko) * 1995-01-06 1998-07-01 김광호 옵션 카드의 하이버네이션 시스템
US5559957A (en) * 1995-05-31 1996-09-24 Lucent Technologies Inc. File system for a data storage device having a power fail recovery mechanism for write/replace operations
US5822600A (en) * 1996-07-19 1998-10-13 Compaq Computer Corporation Dynamic hibernation time in a computer system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007065104A3 (en) * 2005-11-30 2008-08-21 Red Hat Inc Method to reduce risk of data loss

Also Published As

Publication number Publication date
KR0174711B1 (ko) 1999-04-15
KR970071684A (ko) 1997-11-07
US5937433A (en) 1999-08-10

Similar Documents

Publication Publication Date Title
JPH1091519A (ja) ハードディスクキャッシュの制御方法
EP1306758B1 (en) Computer system having resume function and method therefor
TWI407300B (zh) 電源管理控制器與方法
US7058831B2 (en) System and method for transitioning a system comprising a microcontroller into a low power state in response to a first sleep type which is not recognized by part of the system and a second sleep type which is recognized by part of the system
TWI528162B (zh) 電腦系統及其作業系統切換方法
JP3266560B2 (ja) 情報処理システム及びその制御方法
US6807630B2 (en) Method for fast reinitialization wherein a saved system image of an operating system is transferred into a primary memory from a secondary memory
US20040015941A1 (en) Information-processing apparatus equipped with nonvolatile memory device and firmware-updating method for use in the apparatus
JP4175838B2 (ja) 待機モード付情報処理装置およびその待機モード開始方法と待機モード解除方法
US8245055B2 (en) Method for firmware control invocation from power management
JP2549034B2 (ja) 記憶装置
US20010001879A1 (en) Method and apparatus for saving device state while a computer system is in sleep mode
US20070038850A1 (en) System boot and resume time reduction method
JPH1097353A (ja) コンピュータシステム及び同システムに適用するレジューム処理方法
US6405320B1 (en) Computer system performing machine specific tasks before going to a low power state
US5680540A (en) Suspend-to-disk system for removable hard drive
JPH0744437A (ja) 情報処理システム
JPH07200112A (ja) 情報処理システム
US20180095693A1 (en) Information processing apparatus, information processing system, and method for controlling information processing apparatus
JP4155545B2 (ja) コンピュータシステムおよびデータ転送制御方法
JP2688164B2 (ja) 情報処理システム
EP1037133A1 (en) Method and apparatus for alternation between instances of operating systems in computer systems
JPH0784848A (ja) 情報処理システム
JP2003085041A (ja) ディスクキャッシュシステム
JP3702233B2 (ja) 情報処理システムおよびプログラム実行モード制御方法

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20040630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040706

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040707

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041130

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050621