JPH06348600A - ディスクキャッシュ装置 - Google Patents
ディスクキャッシュ装置Info
- Publication number
- JPH06348600A JPH06348600A JP5134256A JP13425693A JPH06348600A JP H06348600 A JPH06348600 A JP H06348600A JP 5134256 A JP5134256 A JP 5134256A JP 13425693 A JP13425693 A JP 13425693A JP H06348600 A JPH06348600 A JP H06348600A
- Authority
- JP
- Japan
- Prior art keywords
- data
- magnetic disk
- cache memory
- disk device
- writing
- 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
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
(57)【要約】
【目的】 磁気ディスク装置に対する書き込み処理時間
を短くする。 【構成】 キャッシュメモリを不揮発性半導体メモリで
構成し、データの書き込み時は不揮発性半導体キャッシ
ュメモリに書き込んだ後、ホストに対して終了報告を行
ない、この後に磁気ディスク装置に対して書き込みを行
う。
を短くする。 【構成】 キャッシュメモリを不揮発性半導体メモリで
構成し、データの書き込み時は不揮発性半導体キャッシ
ュメモリに書き込んだ後、ホストに対して終了報告を行
ない、この後に磁気ディスク装置に対して書き込みを行
う。
Description
【0001】
【産業上の利用分野】本発明は、ホストプロセッサとそ
の外部記憶である磁気ディスク装置との間に介在するデ
ィスクキャッシュ装置に関するものである。
の外部記憶である磁気ディスク装置との間に介在するデ
ィスクキャッシュ装置に関するものである。
【0002】
【従来の技術】従来において、磁気ディスク装置からホ
ストプロセッサに対するデータ転送速度を向上させるた
めに、磁気ディスク装置とホストプロセッサとの間にキ
ャッシュメモリを設け、磁気ディスク装置をアクセスし
てデータを読み出したならば、その読出しデータをホス
トプロセッサに転送すると同時にキャッシュメモリへも
書き込んでおき、次のアクセス時にアクセス対象のデー
タがキャッシュメモリに存在していた場合は、磁気ディ
スク装置をアクセスすることなく、キャッシュメモリか
ら該当データをホストプロセッサに転送するようにした
ディスクキャッシュ装置が知られている。
ストプロセッサに対するデータ転送速度を向上させるた
めに、磁気ディスク装置とホストプロセッサとの間にキ
ャッシュメモリを設け、磁気ディスク装置をアクセスし
てデータを読み出したならば、その読出しデータをホス
トプロセッサに転送すると同時にキャッシュメモリへも
書き込んでおき、次のアクセス時にアクセス対象のデー
タがキャッシュメモリに存在していた場合は、磁気ディ
スク装置をアクセスすることなく、キャッシュメモリか
ら該当データをホストプロセッサに転送するようにした
ディスクキャッシュ装置が知られている。
【0003】
【発明が解決しようとする課題】しかし、従来のディス
クキャッシュ装置にあっては、磁気ディスク装置にデー
タを書き込む時は、書き込み終了報告直後にシステム電
源が切断される可能性があるため、磁気ディスク装置に
書き込みを行なった後に終了報告を行なうようにしてい
る。このため、読出し時はキャッシュメモリから高速に
データを得ることができるが、書き込み時はキャッシュ
メモリがない場合と同じ速度でしかデータを書き込むこ
とができないという問題がある。
クキャッシュ装置にあっては、磁気ディスク装置にデー
タを書き込む時は、書き込み終了報告直後にシステム電
源が切断される可能性があるため、磁気ディスク装置に
書き込みを行なった後に終了報告を行なうようにしてい
る。このため、読出し時はキャッシュメモリから高速に
データを得ることができるが、書き込み時はキャッシュ
メモリがない場合と同じ速度でしかデータを書き込むこ
とができないという問題がある。
【0004】また、読み出し時にキャッシュメモリを使
用したとしても、システムの電源切断時にキャッシュメ
モリの内容は失われる。したがって、システムの電源の
投入及び切断を頻繁に行なう場合は、キャッシュメモリ
の利用効果が低減してしまうという問題がある。
用したとしても、システムの電源切断時にキャッシュメ
モリの内容は失われる。したがって、システムの電源の
投入及び切断を頻繁に行なう場合は、キャッシュメモリ
の利用効果が低減してしまうという問題がある。
【0005】さらに、消費電力を減らすために、磁気デ
ィスク装置へのアクセスが途絶えた場合は、システムの
電源を切断するようにした場合、電源が切断された状態
で磁気ディスク装置に対するアクセス要求が発生する
と、モータの回転が安定するまでの待ち時間が必要にな
り、高速に必要なデータを得ることができず、この場合
もキャッシュメモリの利用効果が低減してしまうという
問題がある。
ィスク装置へのアクセスが途絶えた場合は、システムの
電源を切断するようにした場合、電源が切断された状態
で磁気ディスク装置に対するアクセス要求が発生する
と、モータの回転が安定するまでの待ち時間が必要にな
り、高速に必要なデータを得ることができず、この場合
もキャッシュメモリの利用効果が低減してしまうという
問題がある。
【0006】なお、特開平4−205021号公報に記
載されるように、磁気ディスク装置の媒体不良が発生し
た場合に、その交替エリアを不揮発性メモリ上に確保
し、そこにデータを書き込む方法が提案されている。し
かし、この方法は、単に媒体不良に対する解決方法であ
って、媒体不良が発生しない場合は不揮発性メモリは何
等関与していない。このため、上記と同様の問題があ
る。
載されるように、磁気ディスク装置の媒体不良が発生し
た場合に、その交替エリアを不揮発性メモリ上に確保
し、そこにデータを書き込む方法が提案されている。し
かし、この方法は、単に媒体不良に対する解決方法であ
って、媒体不良が発生しない場合は不揮発性メモリは何
等関与していない。このため、上記と同様の問題があ
る。
【0007】本発明の第1の目的は、磁気ディスク装置
に対する書き込み処理時間を短くすることができるディ
スクキャッシュ装置を提供することにある。
に対する書き込み処理時間を短くすることができるディ
スクキャッシュ装置を提供することにある。
【0008】本発明の第2の目的は、システムの電源の
投入及び切断を頻繁に行なう場合においてもキャッシュ
メモリの利用効果を十分に発揮させることができるディ
スクキャッシュ装置を提供することにある。
投入及び切断を頻繁に行なう場合においてもキャッシュ
メモリの利用効果を十分に発揮させることができるディ
スクキャッシュ装置を提供することにある。
【0009】
【課題を解決するための手段】前記第1の目的を達成す
るために本発明は、バッテリーでバックアップされた不
揮発性半導体キャッシュメモリと、ホストプロセッサか
らのコマンドを解読し、ホストプロセッサから磁気ディ
スク装置へのデータ書き込み時には、前記不揮発性半導
体キャッシュメモリに書き込み、ホストプロセッサに対
して終了報告を行なった後、そのデータを磁気ディスク
装置に書き込む転送制御を行う制御手段とを設けたもの
である。
るために本発明は、バッテリーでバックアップされた不
揮発性半導体キャッシュメモリと、ホストプロセッサか
らのコマンドを解読し、ホストプロセッサから磁気ディ
スク装置へのデータ書き込み時には、前記不揮発性半導
体キャッシュメモリに書き込み、ホストプロセッサに対
して終了報告を行なった後、そのデータを磁気ディスク
装置に書き込む転送制御を行う制御手段とを設けたもの
である。
【0010】また、第2の目的を達成するために本発明
は、電源投入直後の処理が不揮発性半導体キャッシュメ
モリへの書き込み処理または不揮発性半導体キャッシュ
メモリに保持しているデータの読出し処理の場合は、磁
気ディスク装置の準備完了前に不揮発性半導体キャッシ
ュメモリとホストプロセッサとの間でデータ転送を開始
するように前記制御手段を構成したものである。
は、電源投入直後の処理が不揮発性半導体キャッシュメ
モリへの書き込み処理または不揮発性半導体キャッシュ
メモリに保持しているデータの読出し処理の場合は、磁
気ディスク装置の準備完了前に不揮発性半導体キャッシ
ュメモリとホストプロセッサとの間でデータ転送を開始
するように前記制御手段を構成したものである。
【0011】
【作用】上記手段によれば、ホストプロセッサから磁気
ディスク装置へのデータ書き込み時には、データは不揮
発性半導体キャッシュメモリにまず書き込まれる。そし
て、ホストプロセッサに対して終了報告を行なった後、
そのデータが磁気ディスク装置に転送されて書き込まれ
る。
ディスク装置へのデータ書き込み時には、データは不揮
発性半導体キャッシュメモリにまず書き込まれる。そし
て、ホストプロセッサに対して終了報告を行なった後、
そのデータが磁気ディスク装置に転送されて書き込まれ
る。
【0012】したがって、ホストプロセッサ側から見た
磁気ディスク装置に対する書き込み処理時間を短くする
ことができる。
磁気ディスク装置に対する書き込み処理時間を短くする
ことができる。
【0013】また、電源投入直後の処理が不揮発性半導
体キャッシュメモリへの書き込み処理または不揮発性半
導体キャッシュメモリに保持しているデータの読出し処
理の場合は、磁気ディスク装置の準備完了前に不揮発性
半導体キャッシュメモリとホストプロセッサとの間でデ
ータ転送を開始する。このため、システムの電源の投入
及び切断を頻繁に行なう場合においても、キャッシュメ
モリの利用効果を十分に発揮させることができる。
体キャッシュメモリへの書き込み処理または不揮発性半
導体キャッシュメモリに保持しているデータの読出し処
理の場合は、磁気ディスク装置の準備完了前に不揮発性
半導体キャッシュメモリとホストプロセッサとの間でデ
ータ転送を開始する。このため、システムの電源の投入
及び切断を頻繁に行なう場合においても、キャッシュメ
モリの利用効果を十分に発揮させることができる。
【0014】
【実施例】図1は本発明の一実施例を示すブロック図で
あり、この実施例のディスクキャッシュ装置は、ホスト
インタフェース1、ディスクインタフェース2、バッテ
リー3でバックアップされた不揮発性半導体キャッシュ
メモリ4、データの転送制御を行うプロセッサ5、制御
プログラムを格納したメモリ6、磁気ディスク装置の電
源制御部7で構成されている。
あり、この実施例のディスクキャッシュ装置は、ホスト
インタフェース1、ディスクインタフェース2、バッテ
リー3でバックアップされた不揮発性半導体キャッシュ
メモリ4、データの転送制御を行うプロセッサ5、制御
プログラムを格納したメモリ6、磁気ディスク装置の電
源制御部7で構成されている。
【0015】図2は、不揮発性半導体キャッシュメモリ
4の構成を示す図であり、プロセッサ5が処理を行なう
ためのスタックエリア41及びワークエリア42が設け
られ、さらに磁気ディスク装置との間で転送されるデー
タエリア43と、このデータエリア43内のデータの状
態および磁気ディスク装置内での格納アドレスを記憶す
るフラッグ/TAGエリア44が設けられている。
4の構成を示す図であり、プロセッサ5が処理を行なう
ためのスタックエリア41及びワークエリア42が設け
られ、さらに磁気ディスク装置との間で転送されるデー
タエリア43と、このデータエリア43内のデータの状
態および磁気ディスク装置内での格納アドレスを記憶す
るフラッグ/TAGエリア44が設けられている。
【0016】この場合、データエリア43およびフラッ
グ/TAGエリア44は、磁気ディスク装置との間で転
送されるデータ単位(セクタ単位)に設けられる。
グ/TAGエリア44は、磁気ディスク装置との間で転
送されるデータ単位(セクタ単位)に設けられる。
【0017】フラッグには、図3にしめすように、バリ
ッドフラッグ11、コヒーレンシーフラッグ12、交替
処理フラッグ13があり、これらのフラッグ11,1
2,13の組合せにより、データ43がどのような状態
にあるかを示す。
ッドフラッグ11、コヒーレンシーフラッグ12、交替
処理フラッグ13があり、これらのフラッグ11,1
2,13の組合せにより、データ43がどのような状態
にあるかを示す。
【0018】バリッドフラッグ11は、その内容が
「0」であれば、対応するデータ領域43内のデータが
無効であることを示し、「1」であれば有効であること
を示すものである。
「0」であれば、対応するデータ領域43内のデータが
無効であることを示し、「1」であれば有効であること
を示すものである。
【0019】コヒーレンシーフラッグ12は、その内容
が「0」であれば、対応するデータ領域43内のデータ
が磁気ディスク装置のデータと一致することを示し、
「1」であれば不一致であることを示すものである。
が「0」であれば、対応するデータ領域43内のデータ
が磁気ディスク装置のデータと一致することを示し、
「1」であれば不一致であることを示すものである。
【0020】交替処理フラッグ13は、その内容が
「0」であれば、対応するデータ領域43キャッシュメ
モリとして使用されていることを示し、「1」であれば
磁気ディスク装置の交替エリアとして使用されているこ
とを示すものである。
「0」であれば、対応するデータ領域43キャッシュメ
モリとして使用されていることを示し、「1」であれば
磁気ディスク装置の交替エリアとして使用されているこ
とを示すものである。
【0021】これらのフラッグ11,12,13の組合
せとデータエリア43内のデータの状態の関係を図4に
示す。
せとデータエリア43内のデータの状態の関係を図4に
示す。
【0022】一方、TAG14には、データが磁気ディ
スク装置上のどこに格納されているかを示すアドレス情
報が格納されるが、1データエリアのデータに対して、
1つのTAG14及び3ビットのフラッグ11,12,
13がある。
スク装置上のどこに格納されているかを示すアドレス情
報が格納されるが、1データエリアのデータに対して、
1つのTAG14及び3ビットのフラッグ11,12,
13がある。
【0023】図5〜図7はプロセッサ5の動作を示すフ
ローチャートである。以下、これらのフローチャートに
従って実施例の動作を説明する。
ローチャートである。以下、これらのフローチャートに
従って実施例の動作を説明する。
【0024】まず、プロセッサ5はホストインタフェー
ス1を通してホストプロセッサから磁気ディスク装置に
対する何等かのコマンドを受信した場合、電源制御部7
に電源投入コマンドを発行し、磁気ディスク装置の電源
を投入させる(ステップ51,52)。この後、コマン
ドの処理を行なう(ステップ53)。
ス1を通してホストプロセッサから磁気ディスク装置に
対する何等かのコマンドを受信した場合、電源制御部7
に電源投入コマンドを発行し、磁気ディスク装置の電源
を投入させる(ステップ51,52)。この後、コマン
ドの処理を行なう(ステップ53)。
【0025】受信したコマンドが書き込み処理の場合
は、図6のフローチャートに従って処理を行ない、読出
し処理の場合は、図7のフローチャートに従って処理を
行なう。
は、図6のフローチャートに従って処理を行ない、読出
し処理の場合は、図7のフローチャートに従って処理を
行なう。
【0026】しかし、コマンドが送られてきていない場
合は、キャッシュメモリ4の中のフラッグ11,12,
13をチェックし、データが磁気ディスク装置内のデー
タと異なるブロックを検索する。すなわち、図4の「状
態C」のデータエリア43を検索し(ステップ54)、
「状態C」のデータエリア43が見つかった場合は図8
のフローチャートに従い、当該エリアのデータを磁気デ
ィスク装置に書き込む(ステップ55)。
合は、キャッシュメモリ4の中のフラッグ11,12,
13をチェックし、データが磁気ディスク装置内のデー
タと異なるブロックを検索する。すなわち、図4の「状
態C」のデータエリア43を検索し(ステップ54)、
「状態C」のデータエリア43が見つかった場合は図8
のフローチャートに従い、当該エリアのデータを磁気デ
ィスク装置に書き込む(ステップ55)。
【0027】しかし、キャッシュメモリ4内のデータと
磁気ディスク装置内のデータが異なるブロックが存在し
ない場合は、電源制御部15に電源切断コマンドを発行
し、磁気ディスク装置の電源を切断し(ステップ5
6)、ホストプロセッサから送られてくる次のコマンド
を待つ。
磁気ディスク装置内のデータが異なるブロックが存在し
ない場合は、電源制御部15に電源切断コマンドを発行
し、磁気ディスク装置の電源を切断し(ステップ5
6)、ホストプロセッサから送られてくる次のコマンド
を待つ。
【0028】次に、ホストプロセッサから書き込みコマ
ンドが送られてきた場合の処理について図6のフローチ
ャートに従って説明する。
ンドが送られてきた場合の処理について図6のフローチ
ャートに従って説明する。
【0029】プロセッサ5は、書き込みコマンドをホス
トプロセッサから受け取ったならば、まず、キャッシュ
メモリ4内に書き込みを行なうデータエリア43が存在
するか検索する。この結果、TAG14に格納されたア
ドレスが書き込みアドレスと一致し、バリッドフラッグ
11または交替処理フラッグ13がセットされているデ
ータエリア43が存在する場合は、キャッシュヒットと
してそのデータエリア43に書き込みを行なう(ステッ
プ61,67)。
トプロセッサから受け取ったならば、まず、キャッシュ
メモリ4内に書き込みを行なうデータエリア43が存在
するか検索する。この結果、TAG14に格納されたア
ドレスが書き込みアドレスと一致し、バリッドフラッグ
11または交替処理フラッグ13がセットされているデ
ータエリア43が存在する場合は、キャッシュヒットと
してそのデータエリア43に書き込みを行なう(ステッ
プ61,67)。
【0030】キャッシュヒットしていない場合は、キャ
ッシュメモリ4内のデータが無効なデータエリア43ま
たはキャッシュメモリ4内のデータと磁気ディスク装置
内のデータが一致するデータエリアを検索する(ステッ
プ62)。この結果、バリッドフラッグ11と交替処理
フラッグ13がともにリセットされているデータエリア
43(A状態のデータエリア)が存在する場合は、その
データエリア43に対して書き込みを行なう(ステップ
67)。
ッシュメモリ4内のデータが無効なデータエリア43ま
たはキャッシュメモリ4内のデータと磁気ディスク装置
内のデータが一致するデータエリアを検索する(ステッ
プ62)。この結果、バリッドフラッグ11と交替処理
フラッグ13がともにリセットされているデータエリア
43(A状態のデータエリア)が存在する場合は、その
データエリア43に対して書き込みを行なう(ステップ
67)。
【0031】データが無効なデータエリアが存在しない
場合は、キャッシュメモリ4内のデータと磁気ディスク
装置内のデータが一致するデータエリア43を検索す
る。
場合は、キャッシュメモリ4内のデータと磁気ディスク
装置内のデータが一致するデータエリア43を検索す
る。
【0032】この結果、バリッドフラッグ11がセット
され、コヒーレンシーフラッグ12がリセットされてい
るデータエリア43(B状態のデータエリア)が存在す
る場合、その中で最も早い時期にアクセスされたデータ
エリア43に対して書き込みを行なう(ステップ6
7)。
され、コヒーレンシーフラッグ12がリセットされてい
るデータエリア43(B状態のデータエリア)が存在す
る場合、その中で最も早い時期にアクセスされたデータ
エリア43に対して書き込みを行なう(ステップ6
7)。
【0033】しかし、データが一致するデータエリア4
3が存在しない場合は、キャッシュメモリ4内のデータ
と磁気ディスク装置内のデータが不一致のデータエリア
43(C状態のデータエリア)を検索する(ステップ6
3)。この結果、コヒーレンシーフラッグ12がセット
され、交替処理フラッグ13がリセットされているデー
タエリア43が存在する場合は、その中で最も早い時期
にアクセスされたデータエリア43内のデータを図8の
処理フローに従って磁気ディスク装置に書き込み(ステ
ップ64)、交替処理を行なわなかった場合は、そのデ
ータエリア43に対して書き込みを行なう。
3が存在しない場合は、キャッシュメモリ4内のデータ
と磁気ディスク装置内のデータが不一致のデータエリア
43(C状態のデータエリア)を検索する(ステップ6
3)。この結果、コヒーレンシーフラッグ12がセット
され、交替処理フラッグ13がリセットされているデー
タエリア43が存在する場合は、その中で最も早い時期
にアクセスされたデータエリア43内のデータを図8の
処理フローに従って磁気ディスク装置に書き込み(ステ
ップ64)、交替処理を行なわなかった場合は、そのデ
ータエリア43に対して書き込みを行なう。
【0034】交替処理を行なった場合は、データが不一
致となっている他のデータエリア43を検索し、同様の
処理を行なう。データが不一致のデータエリア43が存
在しない場合は、キャッシュメモリ4はすべて交替エリ
アとして使用していると判断し、ホストプロセッサから
送られてくるデータは磁気ディスク装置に書き込む(ス
テップ69)。
致となっている他のデータエリア43を検索し、同様の
処理を行なう。データが不一致のデータエリア43が存
在しない場合は、キャッシュメモリ4はすべて交替エリ
アとして使用していると判断し、ホストプロセッサから
送られてくるデータは磁気ディスク装置に書き込む(ス
テップ69)。
【0035】キャッシュメモリ4にデータを書き込むと
きは、まず、バリッドフラッグ11とコヒーレンシーフ
ラッグ12をリセットし、データを書き込む(ステップ
66,67)。次にアドレスをTAG14に書き込み、
最後にバリッドフラッグ11とコヒーレンシーフラッグ
12をセットする(ステップ68)。
きは、まず、バリッドフラッグ11とコヒーレンシーフ
ラッグ12をリセットし、データを書き込む(ステップ
66,67)。次にアドレスをTAG14に書き込み、
最後にバリッドフラッグ11とコヒーレンシーフラッグ
12をセットする(ステップ68)。
【0036】各データエリア43に対してこの処理を繰
返し、ホストプロセッサから送られてくる全データエリ
ア43のデータをキャッシュメモリ4に書き込んだ後、
ホストプロセッサに対して終了報告を行なう。
返し、ホストプロセッサから送られてくる全データエリ
ア43のデータをキャッシュメモリ4に書き込んだ後、
ホストプロセッサに対して終了報告を行なう。
【0037】このようにすることにより、磁気ディスク
装置が準備中であるかないかに関わらず、ホストプロセ
ッサの書き込み処理時間を短くすることができる。
装置が準備中であるかないかに関わらず、ホストプロセ
ッサの書き込み処理時間を短くすることができる。
【0038】キャッシュメモリ4への書き込み途中で電
源断などの異常が発生した場合は、バリッドフラッグ1
1がリセットされたままになっているため、そのデータ
エリア43のデータは無効となる。
源断などの異常が発生した場合は、バリッドフラッグ1
1がリセットされたままになっているため、そのデータ
エリア43のデータは無効となる。
【0039】次に、ホストプロセッサから読出しコマン
ドが送られてきた場合は、書き込みの場合と同様に、ま
ず、キャッシュメモリ4内に読出しを行なうデータエリ
ア43が存在するか検索する(ステップ70)。この結
果、TAG14に格納されたアドレスが読出しアドレス
と一致し、バリッドフラッグ11または交替処理フラッ
グ13がセットされているデータエリア43が存在する
場合は、キャッシュヒットとしてそのデータエリア43
のデータをホストに転送する(ステップ76)。
ドが送られてきた場合は、書き込みの場合と同様に、ま
ず、キャッシュメモリ4内に読出しを行なうデータエリ
ア43が存在するか検索する(ステップ70)。この結
果、TAG14に格納されたアドレスが読出しアドレス
と一致し、バリッドフラッグ11または交替処理フラッ
グ13がセットされているデータエリア43が存在する
場合は、キャッシュヒットとしてそのデータエリア43
のデータをホストに転送する(ステップ76)。
【0040】しかし、キャッシュヒットしていない場合
は、磁気ディスク装置から該当データを読み出さなけれ
ばならないので、まず、その読出しデータを格納するデ
ータエリアがあるかどうかを検索する。具体的には、キ
ャッシュメモリ4内のデータが無効なデータエリア43
(A状態のデータエリア)またはキャッシュメモリ4内
のデータと磁気ディスク装置内のデータが一致するデー
タエリア43(B状態のデータエリア)を検索する(ス
テップ71)。
は、磁気ディスク装置から該当データを読み出さなけれ
ばならないので、まず、その読出しデータを格納するデ
ータエリアがあるかどうかを検索する。具体的には、キ
ャッシュメモリ4内のデータが無効なデータエリア43
(A状態のデータエリア)またはキャッシュメモリ4内
のデータと磁気ディスク装置内のデータが一致するデー
タエリア43(B状態のデータエリア)を検索する(ス
テップ71)。
【0041】この結果、バリッドフラッグ11と交替処
理フラッグ13がともにリセットされているデータエリ
ア43が存在する場合は、磁気ディスク装置から読出し
たデータをそのデータエリア43に書き込むと同時に、
ホストプロセッサに転送する(ステップ72)。
理フラッグ13がともにリセットされているデータエリ
ア43が存在する場合は、磁気ディスク装置から読出し
たデータをそのデータエリア43に書き込むと同時に、
ホストプロセッサに転送する(ステップ72)。
【0042】しかし、データが無効なデータエリア43
が存在しない場合は、キャッシュメモリ4内のデータと
磁気ディスク装置内のデータが一致するデータエリアを
検索する。この結果、バリッドフラッグ11がセットさ
れ、コヒーレンシーフラッグ12がリセットされている
データエリア43が存在する場合、その中で最も早い時
期にアクセスされたデータエリア43に対して磁気ディ
スク装置から読出したデータを書き込むと同時に、ホス
トプロセッサに転送する(ステップ72)。
が存在しない場合は、キャッシュメモリ4内のデータと
磁気ディスク装置内のデータが一致するデータエリアを
検索する。この結果、バリッドフラッグ11がセットさ
れ、コヒーレンシーフラッグ12がリセットされている
データエリア43が存在する場合、その中で最も早い時
期にアクセスされたデータエリア43に対して磁気ディ
スク装置から読出したデータを書き込むと同時に、ホス
トプロセッサに転送する(ステップ72)。
【0043】データが一致するデータエリア43が存在
しない場合は、キャッシュメモリ4を使用せず、磁気デ
ィスクから読出しデータをホストプロセッサに転送す
る。
しない場合は、キャッシュメモリ4を使用せず、磁気デ
ィスクから読出しデータをホストプロセッサに転送す
る。
【0044】磁気ディスク装置から読出したデータをキ
ャッシュメモリ4に書き込むときは、まず、バリッドフ
ラッグ11をリセットしてデータを書き込む(ステップ
73,74)。次に、アドレスをTAG14に書き込
み、最後にバリッドフラッグ11をセットする(ステッ
プ75)。
ャッシュメモリ4に書き込むときは、まず、バリッドフ
ラッグ11をリセットしてデータを書き込む(ステップ
73,74)。次に、アドレスをTAG14に書き込
み、最後にバリッドフラッグ11をセットする(ステッ
プ75)。
【0045】各データエリアに対してこの処理を繰返
し、磁気ディスク装置から読出したデータをキャッシュ
メモリ4に書き込む。
し、磁気ディスク装置から読出したデータをキャッシュ
メモリ4に書き込む。
【0046】キャッシュメモリ4への書き込み途中で電
源断などの異常が発生した場合は、バリッドフラッグ1
1がリセットされているため、そのデータエリア43の
データは無効となる。
源断などの異常が発生した場合は、バリッドフラッグ1
1がリセットされているため、そのデータエリア43の
データは無効となる。
【0047】次に、キャッシュメモリ4から磁気ディス
ク装置への書き込みは、キャッシュメモリ4内のデータ
と磁気ディスク装置内のデータが不一致で、キャッシュ
メモリ4を交替エリアとして使用していないデータエリ
ア43の中で、最も早い時期にアクセスされたデータエ
リア43から行なう(ステップ80)。
ク装置への書き込みは、キャッシュメモリ4内のデータ
と磁気ディスク装置内のデータが不一致で、キャッシュ
メモリ4を交替エリアとして使用していないデータエリ
ア43の中で、最も早い時期にアクセスされたデータエ
リア43から行なう(ステップ80)。
【0048】この場合、該当のデータエリア43と連続
するデータエリア43で磁気ディスク内のデータと不一
致のデータエリア43が存在する場合は、まとめて書き
込み処理を行なう。この場合、磁気ディスク装置に対す
る書き込みは、回転待ち及びシーク時間が短くなる順番
で行なうことによりアクセスタイムをさらに短くするこ
とができる。
するデータエリア43で磁気ディスク内のデータと不一
致のデータエリア43が存在する場合は、まとめて書き
込み処理を行なう。この場合、磁気ディスク装置に対す
る書き込みは、回転待ち及びシーク時間が短くなる順番
で行なうことによりアクセスタイムをさらに短くするこ
とができる。
【0049】次に、書き込み終了後は書き込み前のデー
タと書き込み後のデータとのベリファイを行ない(ステ
ップ81)、正常に書き込まれたことを確認した後、コ
ヒーレンシーフラッグ11をリセットする(ステップ8
2,85)。もし、ベリファイ処理で異常が検出された
場合は、書き込み処理から繰り返す(ステップ83)。
そして、予め設定された回数まで書き込みを行なって
も、正常に書き込めない場合は、エラーが発生するデー
タエリア43の交替処理フラッグ13をセットし、キャ
ッシュメモリ4を交替エリアとして使用する。
タと書き込み後のデータとのベリファイを行ない(ステ
ップ81)、正常に書き込まれたことを確認した後、コ
ヒーレンシーフラッグ11をリセットする(ステップ8
2,85)。もし、ベリファイ処理で異常が検出された
場合は、書き込み処理から繰り返す(ステップ83)。
そして、予め設定された回数まで書き込みを行なって
も、正常に書き込めない場合は、エラーが発生するデー
タエリア43の交替処理フラッグ13をセットし、キャ
ッシュメモリ4を交替エリアとして使用する。
【0050】一方、書き込み途中で電源が切断された場
合は、コヒーレンシーフラッグ11がセットされたまま
になっているので、電源再投入後に書き込まれる。
合は、コヒーレンシーフラッグ11がセットされたまま
になっているので、電源再投入後に書き込まれる。
【0051】以上のように本実施例においては、ホスト
プロセッサから磁気ディスク装置へのデータ書き込み時
には、データは不揮発性半導体キャッシュメモリ4にま
ず書き込まれる。そして、ホストプロセッサに対して終
了報告を行なった後、そのデータが磁気ディスク装ク装
置に転送されて書き込まれる。
プロセッサから磁気ディスク装置へのデータ書き込み時
には、データは不揮発性半導体キャッシュメモリ4にま
ず書き込まれる。そして、ホストプロセッサに対して終
了報告を行なった後、そのデータが磁気ディスク装ク装
置に転送されて書き込まれる。
【0052】したがって、ホストプロセッサ側から見た
磁気ディスク装置に対する書き込み処理時間を短くする
ことができる。
磁気ディスク装置に対する書き込み処理時間を短くする
ことができる。
【0053】また、電源投入直後の処理が不揮発性半導
体キャッシュメモリ4への書き込み処理または不揮発性
半導体キャッシュメモリ4に保持しているデータの読出
し処理の場合は、磁気ディスク装置の準備完了前に不揮
発性半導体キャッシュメモリ4とホストプロセッサとの
間でデータ転送を開始する。このため、システムの電源
の投入及び切断を頻繁に行なう場合においても、キャッ
シュメモリ4の利用効果を十分に発揮させることができ
る。
体キャッシュメモリ4への書き込み処理または不揮発性
半導体キャッシュメモリ4に保持しているデータの読出
し処理の場合は、磁気ディスク装置の準備完了前に不揮
発性半導体キャッシュメモリ4とホストプロセッサとの
間でデータ転送を開始する。このため、システムの電源
の投入及び切断を頻繁に行なう場合においても、キャッ
シュメモリ4の利用効果を十分に発揮させることができ
る。
【0054】また、キャッシュメモリ4を不揮発性と
し、磁気ディスク装置に対する書き込み時はキャッシュ
メモリ4に書き込んだ時点で終了報告し、その後に磁気
ディスク装置に書き込むため、書き込みの順番を最適と
なるように入れ替えることが可能となる。従って、磁気
ディスク装置に対する書き込みは、回転待ち及びシーク
時間が短くなる順番で行なうことにより、アクセスタイ
ムをさらに短くすることができる。
し、磁気ディスク装置に対する書き込み時はキャッシュ
メモリ4に書き込んだ時点で終了報告し、その後に磁気
ディスク装置に書き込むため、書き込みの順番を最適と
なるように入れ替えることが可能となる。従って、磁気
ディスク装置に対する書き込みは、回転待ち及びシーク
時間が短くなる順番で行なうことにより、アクセスタイ
ムをさらに短くすることができる。
【0055】また、書き込み処理と読出し処理が不規則
に発生した場合は、磁気ディスク装置からの読出し処理
を優先して行ない、読出し処理がないときにキャッシュ
メモリ4から磁気ディスクへの書き込みをまとめて行な
うことが可能となる。
に発生した場合は、磁気ディスク装置からの読出し処理
を優先して行ない、読出し処理がないときにキャッシュ
メモリ4から磁気ディスクへの書き込みをまとめて行な
うことが可能となる。
【0056】さらに、磁気ディスク装置に対する書き込
み途中で電源が切断された場合、電源投入後にホストプ
ロセッサからのアクセス要求が無い時に再度キャッシュ
メモリ4の内容を書き込むことにより、データを保証
し、信頼性を高めることができる。
み途中で電源が切断された場合、電源投入後にホストプ
ロセッサからのアクセス要求が無い時に再度キャッシュ
メモリ4の内容を書き込むことにより、データを保証
し、信頼性を高めることができる。
【0057】また、プロセッサ5が書き込み処理後にベ
リファイ、リトライ及び交替処理を実行するため、ホス
トプロセッサの処理を増やすことなく信頼性を向上させ
ることができる。
リファイ、リトライ及び交替処理を実行するため、ホス
トプロセッサの処理を増やすことなく信頼性を向上させ
ることができる。
【0058】さらに、磁気ディスク装置の不良が発生し
た場合、データが保存されているキャッシュメモリ4を
交替エリアとして使用するため、ホストプロセッサに対
して終了報告を行なった後にエラーが発生することはな
い。また、磁気ディスク装置に交替エリアがなくても交
替処理が可能となる。交替処理を行なったセクタを含む
連続セクタのアクセス時は、交替エリアをアクセスする
ための余分なシークが発生しないため、交替処理を行な
っていない場合と同様の速度での処理が可能となる。ま
た、交替エリアがなくなった場合は、キャッシュメモリ
4の空きエリアがなくなるため、磁気ディスク装置に直
接書き込みが行われる。従って、エラーがある場合は、
書き込み時間が延びるので、このことによってエラーの
有無を確認することができる。
た場合、データが保存されているキャッシュメモリ4を
交替エリアとして使用するため、ホストプロセッサに対
して終了報告を行なった後にエラーが発生することはな
い。また、磁気ディスク装置に交替エリアがなくても交
替処理が可能となる。交替処理を行なったセクタを含む
連続セクタのアクセス時は、交替エリアをアクセスする
ための余分なシークが発生しないため、交替処理を行な
っていない場合と同様の速度での処理が可能となる。ま
た、交替エリアがなくなった場合は、キャッシュメモリ
4の空きエリアがなくなるため、磁気ディスク装置に直
接書き込みが行われる。従って、エラーがある場合は、
書き込み時間が延びるので、このことによってエラーの
有無を確認することができる。
【0059】また、磁気ディスク装置をアクセスしない
場合は、電源を切断することにより、消費電力を節約す
ることができる。
場合は、電源を切断することにより、消費電力を節約す
ることができる。
【0060】
【発明の効果】以上説明したように本発明においては、
キャッシュメモリを不揮発性とし、かつ磁気ディスク装
置に対するデータの書き込み要求発生時は、不揮発性の
キャッシュメモリにデータを書き込んだ後にホストプロ
セッサに対して終了報告を行い、その後に磁気ディスク
装置に書き込むため、ホストプロセッサから磁気ディス
ク装置に対する書き込み処理時間を大幅に短縮すること
ができる。
キャッシュメモリを不揮発性とし、かつ磁気ディスク装
置に対するデータの書き込み要求発生時は、不揮発性の
キャッシュメモリにデータを書き込んだ後にホストプロ
セッサに対して終了報告を行い、その後に磁気ディスク
装置に書き込むため、ホストプロセッサから磁気ディス
ク装置に対する書き込み処理時間を大幅に短縮すること
ができる。
【0061】また、電源投入直後の処理が不揮発性のキ
ャッシュメモリの書き込み処理または不揮発性のキャッ
シュメモリに保持しているデータの読出し処理の場合
は、磁気ディスク装置の準備完了前に不揮発性のキャッ
シュメモリとホストプロセッサとの間でデータ転送を開
始するため、システムの電源の投入及び切断を頻繁に行
なう場合においても、キャッシュメモリの利用効果を十
分に発揮させることができる。
ャッシュメモリの書き込み処理または不揮発性のキャッ
シュメモリに保持しているデータの読出し処理の場合
は、磁気ディスク装置の準備完了前に不揮発性のキャッ
シュメモリとホストプロセッサとの間でデータ転送を開
始するため、システムの電源の投入及び切断を頻繁に行
なう場合においても、キャッシュメモリの利用効果を十
分に発揮させることができる。
【0062】さらに、不揮発性のキャッシュメモリに書
き込んだ時点で終了報告し、その後に磁気ディスク装置
に書き込むため、書き込みの順番を最適となるように入
れ替えることが可能となる。従って、磁気ディスク装置
に対する書き込みを、回転待ち及びシーク時間が短くな
る順番で行なうことにより、アクセスタイムをさらに短
くすることができる。
き込んだ時点で終了報告し、その後に磁気ディスク装置
に書き込むため、書き込みの順番を最適となるように入
れ替えることが可能となる。従って、磁気ディスク装置
に対する書き込みを、回転待ち及びシーク時間が短くな
る順番で行なうことにより、アクセスタイムをさらに短
くすることができる。
【0063】さらに、磁気ディスク装置に対する書き込
み途中で電源が切断された場合、電源投入後にホストプ
ロセッサからのアクセス要求が無い時に再度キャッシュ
メモリの内容を書き込むため、データを保証し、信頼性
を高めることができる。
み途中で電源が切断された場合、電源投入後にホストプ
ロセッサからのアクセス要求が無い時に再度キャッシュ
メモリの内容を書き込むため、データを保証し、信頼性
を高めることができる。
【0064】また、書き込み処理後にベリファイ、リト
ライ及び交替処理を実行するため、ホストプロセッサの
処理を増やすことなく信頼性を向上させることができ
る。
ライ及び交替処理を実行するため、ホストプロセッサの
処理を増やすことなく信頼性を向上させることができ
る。
【0065】また、磁気ディスク装置に交替エリアがな
くても交替処理が可能となり、データを保証することが
できる。そして、交替処理を行なったセクタを含む連続
セクタのアクセス時は、交替エリアをアクセスするため
の余分なシークが発生しないため、交替処理を行なって
いない場合と同様の速度で処理が可能となる。
くても交替処理が可能となり、データを保証することが
できる。そして、交替処理を行なったセクタを含む連続
セクタのアクセス時は、交替エリアをアクセスするため
の余分なシークが発生しないため、交替処理を行なって
いない場合と同様の速度で処理が可能となる。
【0066】さらに、磁気ディスク装置をアクセスしな
い場合は、その電源を切断するため、消費電力が低下す
るなどの効果が得られる。
い場合は、その電源を切断するため、消費電力が低下す
るなどの効果が得られる。
【図1】本発明の一実施例を示すブロック構成図であ
る。
る。
【図2】不揮発性半導体キャッシュメモリのデータ格納
構造を示す構成図である。
構造を示す構成図である。
【図3】フラッグ/TAGの詳細構成図である。
【図4】フラッグとデータの状態との対応関係を示す説
明図である。
明図である。
【図5】プロセッサの処理の概要を示すフローチャート
である。
である。
【図6】ホストからの書き込み要求に対する処理のフロ
ーチャートである。
ーチャートである。
【図7】ホストからの読出し要求に対する処理のフロー
チャートである。
チャートである。
【図8】キャッシュメモリからディスク装置への書き込
み処理を示すフローチャートである。
み処理を示すフローチャートである。
1…ホストインタフェース、2…ディスクインタフェー
ス、3…バックアップ電源、4…キャッシュメモリ、5
…プロセッサ。
ス、3…バックアップ電源、4…キャッシュメモリ、5
…プロセッサ。
Claims (8)
- 【請求項1】 ホストプロセッサとその外部記憶である
磁気ディスク装置との間に介在するディスクキャッシュ
装置であって、バッテリーでバックアップされた不揮発
性半導体キャッシュメモリと、ホストプロセッサからの
コマンドを解読し、ホストプロセッサから磁気ディスク
装置へのデータ書き込み時には、前記不揮発性半導体キ
ャッシュメモリに書き込み、ホストプロセッサに対して
終了報告を行なった後、そのデータを磁気ディスク装置
に書き込む転送制御を行う制御手段とを設けたことを特
徴とするディスクキャッシュ装置。 - 【請求項2】 前記制御手段は、電源投入直後の処理が
不揮発性半導体キャッシュメモリへの書き込み処理また
は不揮発性半導体キャッシュメモリに保持しているデー
タの読出し処理の場合は、磁気ディスク装置の準備完了
前に不揮発性半導体キャッシュメモリとホストプロセッ
サとの間でデータ転送を開始することを特徴とする請求
項1記載のディスクキャッシュ装置。 - 【請求項3】 前記制御手段は、不揮発性半導体キャッ
シュメモリから磁気ディスク装置への書き込みをホスト
プロセッサからのアクセスがない時に処理時間が短くな
る順番で行なうことを特徴とする請求項1記載のディス
クキャッシュ装置。 - 【請求項4】 前記制御手段は、不揮発性半導体キャッ
シュメモリから磁気ディスク装置への書き込みを行なう
前に電源が切断された場合は、電源の再投入後に磁気デ
ィスク装置に書き込みを行なうことを特徴とする請求項
1記載のディスクキャッシュ装置。 - 【請求項5】 前記制御手段は、不揮発性半導体キャッ
シュメモリ内のデータを、キャッシュフラッシュ要求及
び当該不揮発性半導体キャッシュメモリに対する書き込
み途中に電源が切れた場合のみ無効とすることを特徴と
する請求項1記載のディスクキャッシュ装置。 - 【請求項6】 前記制御手段は、不揮発性半導体キャッ
シュメモリのデータを磁気ディスク装置に書き込んだ
後、書き込んだデータと書き込み前のデータとの照合を
行ない、不一致の場合は再書き込みを繰返し、予め設定
した回数だけ再書き込みを行なっても不一致となる場合
は交替処理を行うことを特徴とする請求項1記載のディ
スクキャッシュ装置。 - 【請求項7】 前記制御手段は、不揮発性半導体キャッ
シュメモリ内のデータを磁気ディスク装置に書き込む
時、磁気ディスク装置の不良を検出した場合は不揮発性
半導体キャッシュメモリ内の書き込みを行なおうとした
データが入っていたエリアを前記不良の領域の交替エリ
アとして使用することを特徴とする請求項6記載のディ
スクキャッシュ装置。 - 【請求項8】 磁気ディスク装置に対してアクセスを行
わない場合は、電源を切断する電源制御手段をさらに設
けたことを特徴とする請求項1ないし7に記載のいずれ
かのディスクキャッシュ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5134256A JPH06348600A (ja) | 1993-06-04 | 1993-06-04 | ディスクキャッシュ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5134256A JPH06348600A (ja) | 1993-06-04 | 1993-06-04 | ディスクキャッシュ装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06348600A true JPH06348600A (ja) | 1994-12-22 |
Family
ID=15124052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5134256A Pending JPH06348600A (ja) | 1993-06-04 | 1993-06-04 | ディスクキャッシュ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH06348600A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998045771A1 (fr) * | 1997-04-07 | 1998-10-15 | Sony Corporation | Dispositif d'enregistrement et de reproduction |
US6981103B2 (en) | 2001-06-11 | 2005-12-27 | Nec Electronics Corporation | Cache memory control apparatus and processor |
JP2008165881A (ja) * | 2006-12-27 | 2008-07-17 | Toshiba Corp | 磁気ディスク装置およびその制御方法 |
JP2010176386A (ja) * | 2009-01-29 | 2010-08-12 | Yokogawa Electric Corp | 制御用コントローラ |
US9070417B1 (en) | 2014-07-14 | 2015-06-30 | Kabushiki Kaisha Toshiba | Magnetic disk device and method for executing write command |
-
1993
- 1993-06-04 JP JP5134256A patent/JPH06348600A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998045771A1 (fr) * | 1997-04-07 | 1998-10-15 | Sony Corporation | Dispositif d'enregistrement et de reproduction |
US6308007B1 (en) | 1997-04-07 | 2001-10-23 | Sony Corporation | Recording and reproducing device |
US6981103B2 (en) | 2001-06-11 | 2005-12-27 | Nec Electronics Corporation | Cache memory control apparatus and processor |
JP2008165881A (ja) * | 2006-12-27 | 2008-07-17 | Toshiba Corp | 磁気ディスク装置およびその制御方法 |
JP4675881B2 (ja) * | 2006-12-27 | 2011-04-27 | 株式会社東芝 | 磁気ディスク装置およびその制御方法 |
JP2010176386A (ja) * | 2009-01-29 | 2010-08-12 | Yokogawa Electric Corp | 制御用コントローラ |
US9070417B1 (en) | 2014-07-14 | 2015-06-30 | Kabushiki Kaisha Toshiba | Magnetic disk device and method for executing write command |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6799244B2 (en) | Storage control unit with a volatile cache and a non-volatile backup cache for processing read and write requests | |
US8862808B2 (en) | Control apparatus and control method | |
US7434095B2 (en) | Data reconstruction method and system wherein timing of data of data reconstruction is controlled in accordance with conditions when a failure occurs | |
US8812901B2 (en) | Methods and apparatus for marking writes on a write-protected failed device to avoid reading stale data in a RAID storage system | |
JPH07146820A (ja) | フラッシュメモリの制御方法及び、それを用いた情報処理装置 | |
JPH06309234A (ja) | ディスク制御装置 | |
JPH0728690A (ja) | フラッシュメモリシステム | |
JP2006099802A (ja) | 記憶制御装置およびキャッシュメモリの制御方法 | |
US20040133741A1 (en) | Disk array apparatus and data writing method used in the disk array apparatus | |
JPH06348600A (ja) | ディスクキャッシュ装置 | |
JPH07182250A (ja) | 磁気ディスクの自動交代処理方式 | |
JPH08190510A (ja) | 不良部分を含む半導体メモリを搭載可能な情報処理装置 | |
US20140281677A1 (en) | Error correction method and device and information storing device | |
JPH08115257A (ja) | 磁気ディスク制御装置 | |
JPH09212424A (ja) | ディスクキャッシュ及びディスクキャッシュ方法 | |
JPH0519981A (ja) | 光デイスク装置のデータ書込み正常終了判定方法 | |
JPH0744982A (ja) | データ記録再生装置及びデータ書込み制御方法 | |
JP3865530B2 (ja) | 不揮発性半導体メモリおよび半導体記憶装置 | |
JP3335969B2 (ja) | 磁気ディスク装置 | |
US20240264750A1 (en) | Atomic Operations Implemented using Memory Services of Data Storage Devices | |
JPH0793101A (ja) | データバックアップ装置 | |
JPS61210453A (ja) | デ−タ記憶装置 | |
CN100373354C (zh) | 识别磁盘高速缓存内容有效性的资料存取方法 | |
JPH10340215A (ja) | データバックアップ方式 | |
JPH0756693A (ja) | ディスク・アレイ装置とディスク書込み制御装置 |