(57)【特許請求の範囲】
【請求項１】
記憶制御部により制御される外部記憶ユニットと、オペレーティングシステムにより制御され前記外部記憶ユニットに対し遅延書き込みを行うキャッシュを備えるメイン処理ユニットとを含むデータ処理装置において、
前記記憶制御部は、
記憶制御部キャッシュメモリと、
前記外部記憶ユニットへ書き込み要求されたデータが前記メイン処理ユニットの前記キャッシュからのものか否かを、前記キャッシュから書き込み要求される前記データがブロック単位であるか否かに基づいて判定する判定手段と、
前記判定手段により前記キャッシュからのものでないと判定されたデータを前記記憶制御部キャッシュメモリに一時格納して前記外部記憶ユニットへの遅延書き込みを行う一方、前記判定手段により前記キャッシュからのものであると判定されたデータを前記記憶制御部キャッシュメモリを介さずに前記外部記憶ユニットへ書き込みを行う書き込み制御手段と、
を有することを特徴とするデータ処理装置。
【請求項２】
前記判定手段は、さらに前記データのデータサイズを考慮して前記判定を行うことを特徴とする請求項１記載のデータ処理装置。
【請求項３】
記憶制御部により制御される外部記憶ユニットと、オペレーティングシステムにより制御され前記外部記憶ユニットに対し遅延書き込みを行うキャッシュを備えるメイン処理ユニットとを含むデータ処理装置において、
前記記憶制御部は、
記憶制御部キャッシュメモリと、
前記外部記憶ユニットへ書き込み要求されたデータが前記メイン処理ユニットの前記キャッシュからのものか否かを、前記データのデータサイズに基づいて判定し、前記データサイズが所定の閾値未満である場合には前記キャッシュからのものでないと判定し、前記データサイズが所定の閾値以上である場合には、前記キャッシュからのものであると判定する判定手段と、
前記判定手段により前記キャッシュからのものでないと判定されたデータを前記記憶制御部キャッシュメモリに一時格納して前記外部記憶ユニットへの遅延書き込みを行う一方、前記判定手段により前記キャッシュからのものであると判定されたデータを前記記憶制御部キャッシュメモリを介さずに前記外部記憶ユニットへ書き込みを行う書き込み制御手段と、
を有することを特徴とするデータ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、外部記憶ユニット、例えばハードディスク装置を備えるデータ処理装置、特にその外部記憶ユニットへの遅延書き込みに関する。
【０００２】
【従来の技術】
磁気ディスク装置は、メモリに比べて単位容量当たりのコストが低いという長所を有する反面、その機械的動作に起因してアクセス時間がメモリに比べて長いという短所を有する。そのため、コンピュータシステムにおいては、主記憶を高価ではあるが高速の半導体メモリにて構成し、一方、磁気ディスク装置を外部記憶装置として用いるという階層記憶が用いられている。階層記憶においては、メモリと磁気ディスク装置とのアクセス速度差をディスクキャッシュ機構を用いて吸収することが行われる。
【０００３】
この従来より用いられているディスクキャッシュは、中央処理装置を含む本体上でオペレーティングシステム（Operating System：ＯＳ）により提供される。ディスクキャッシュ機構は、磁気ディスク装置へのアクセスがあったとき、アクセスされたアドレスのデータのコピーを主記憶上のディスクキャッシュに記憶する。そして、同じアドレスへの磁気ディスクアクセス要求があった場合、実際の磁気ディスクへはアクセスせずにメモリ上のディスクキャッシュへの読み書きで対応する。但し、磁気ディスクへの書き込み要求があった場合、実際の磁気ディスク上でのデータとディスクキャッシュのデータとが不整合となるため、所定のタイミングでディスクキャッシュの内容を磁気ディスクにまとめて書き込む動作を行う。
【０００４】
ここで、本体が不意に停止した場合には、ディスクキャッシュの内容が磁気ディスクに反映されず、両者間の不整合が生じるおそれがある。そこで、ＯＳのアプリケーションインターフェースにディスクキャッシュを経由しないディスクＩ／Ｏ要求の種別を設けて、重要なデータに関しては直接、磁気ディスク装置に書き込むことを可能としてその保護が図られている。
【０００５】
図５は、従来のコンピュータにおけるキャッシュ制御を説明するためのブロック図である。また図６は従来のコンピュータにおけるＯＳでのディスクＩ／Ｏ処理のフロー図であり、キャッシュ制御を説明するための図である。本体２にてＯＳ４の上で動作するアプリケーションプログラムが磁気ディスク装置６へのアクセスを要求した場合、その要求の種別が要求判定ロジック８により判定される（Ｓ３０）。要求判定ロジック８は、要求種別がディスクキャッシュを経由して行う通常Ｉ／Ｏ要求であるか、または利用せずに直接、ディスクコントローラ１０にＩ／Ｏ要求を出す直接アクセス要求であるかを判定する。例えばアプリケーションプログラムＡＰＰ１が出したアクセス要求が通常Ｉ／Ｏ要求であった場合、要求判定ロジック８での判定Ｓ３０に基づいて、ＯＳが提供するディスクキャッシュロジック１２を介してメモリ１４上のディスクキャッシュメモリとの間でデータの読み書きが行われ（Ｓ３２）、その完了を以て、ＡＰＰ１にＲＥＡＤ／ＷＲＩＴＥ完了が通知され（Ｓ３４）、ＡＰＰ１からのＲＥＡＤ／ＷＲＩＴＥ要求処理が終了する（Ｓ３６）。また、ディスクキャッシュロジック１２は、所定のタイミングでメモリ１４のディスクキャッシュの内容を磁気ディスク装置６へ反映させる。
【０００６】
一方、例えばアプリケーションプログラムＡＰＰ２が出したアクセス要求が直接アクセス要求であった場合、要求判定ロジック８での判定Ｓ３０に基づいて、ＯＳはディスクコントローラ１０へ直接にＩ／Ｏ要求を出して、ＡＰＰ２と磁気ディスク装置６との間の直接のデータの読み書きを実現する（Ｓ３８）。そしてその完了を以て、ＡＰＰ２にＲＥＡＤ／ＷＲＩＴＥ完了が通知され（Ｓ３４）、ＡＰＰ２からのＲＥＡＤ／ＷＲＩＴＥ要求処理が終了する（Ｓ３６）。
【０００７】
【発明が解決しようとする課題】
従来は、上述のように重要なデータの保護といった観点から、メモリ上のディスクキャッシュを利用せずに本体から直接に磁気ディスク装置にアクセスする場合があった。その場合、本体のアプリケーションからは磁気ディスク装置への実際のアクセス時間が見えることとなり、処理が迅速に行われないという問題があった。
【０００８】
本発明は上記問題点を解消するためになされたもので、本体の故障等の影響に起因して本体と磁気ディスク装置との記憶内容に不整合が生じることを回避しつつ、アクセス時間の低下が防止されるデータ処理装置を提供することを目的とする。
【０００９】
【課題を解決するための手段】
本発明に係るデータ処理装置は、記憶制御部が、記憶制御部キャッシュメモリと、前記外部記憶ユニットへ書き込み要求されたデータが前記メイン処理ユニットの前記キャッシュからのものか否かを、前記キャッシュから書き込み要求される前記データがブロック単位であるか否かに基づいて判定する判定手段と、前記判定手段により前記キャッシュからのものでないと判定されたデータを前記記憶制御部キャッシュメモリに一時格納して前記外部記憶ユニットへの遅延書き込みを行う一方、前記判定手段により前記キャッシュからのものであると判定されたデータを前記記憶制御部キャッシュメモリを介さずに前記外部記憶ユニットへ書き込みを行う書き込み制御手段とを有するものである。
【００１０】
本発明に係るデータ処理装置においては、前記判定手段がさらに前記データのデータサイズを考慮して前記判定を行うことを特徴とする。
【００１１】
本発明に係るデータ処理装置は、記憶制御部が、記憶制御部キャッシュメモリと、前記外部記憶ユニットへ書き込み要求されたデータが前記メイン処理ユニットの前記キャッシュからのものか否かを、前記データのデータサイズに基づいて判定し、前記データサイズが所定の閾値未満である場合には前記キャッシュからのものでないと判定し、前記データサイズが所定の閾値以上である場合には、前記キャッシュからのものであると判定する判定手段と、前記判定手段により前記キャッシュからのものでないと判定されたデータを前記記憶制御部キャッシュメモリに一時格納して前記外部記憶ユニットへの遅延書き込みを行う一方、前記判定手段により前記キャッシュからのものであると判定されたデータを前記記憶制御部キャッシュメモリを介さずに前記外部記憶ユニットへ書き込みを行う書き込み制御手段と、を有するものである。
【００１２】
【発明の実施の形態】
次に、本発明の実施形態について図面を参照して説明する。
【００１３】
図１は、本発明の実施の形態であるキャッシュ制御を説明するためのコンピュータシステムの概略のブロック図である。本コンピュータシステムの本体５０（メイン処理ユニット）は基本的に従来より用いられているものと同様である。すなわち、ＯＳ５２は図６のフロー図と基本的に同様の処理を行い、ディスクコントローラ５４（記憶制御部）を介して磁気ディスク装置５６（外部記憶ユニット）との間のデータの読み書きを行う。具体的には、ＯＳ５２の上で動作するアプリケーションプログラムが磁気ディスク装置５６へのアクセスを要求した場合、その要求の種別が要求判定ロジック５８により判定される（Ｓ３０）。要求判定ロジック５８は、要求種別がディスクキャッシュを経由して行う通常Ｉ／Ｏ要求であるか、または利用せずに直接、ディスクコントローラ５４にＩ／Ｏ要求を出す直接アクセス要求であるかを判定する。例えばアプリケーションプログラムＡＰＰ１が出したアクセス要求が通常Ｉ／Ｏ要求であった場合、要求判定ロジック５８での判定Ｓ３０に基づいて、ＯＳが提供するディスクキャッシュロジックであるＯＳキャッシュロジック６０を介してメモリ６２上のディスクキャッシュメモリとの間でデータの読み書きが行われ（Ｓ３２）、その完了を以て、ＡＰＰ１にＲＥＡＤ／ＷＲＩＴＥ完了が通知され（Ｓ３４）、ＡＰＰ１からのＲＥＡＤ／ＷＲＩＴＥ要求処理が終了する（Ｓ３６）。メモリ６２のディスクキャッシュの内容は、ＯＳキャッシュロジック６０に基づいて、所定のタイミングで磁気ディスク装置５６に対して遅延書き込みされ、その内容が磁気ディスク装置５６に反映される。
【００１４】
一方、例えばアプリケーションプログラムＡＰＰ２が出したアクセス要求が直接アクセス要求であった場合、要求判定ロジック５８での判定Ｓ３０に基づいて、ＯＳはディスクコントローラ５４へ直接にＩ／Ｏ要求を出してデータの読み書きを行う（Ｓ３８）。そしてその完了を以て、ＡＰＰ２にＲＥＡＤ／ＷＲＩＴＥ完了が通知され（Ｓ３４）、ＡＰＰ２からのＲＥＡＤ／ＷＲＩＴＥ要求処理が終了する（Ｓ３６）。
【００１５】
以上のように、本体５０からはＯＳ５２の制御に従って、磁気ディスク装置５６への書き込み要求が行われる。この書き込み要求はディスクコントローラ５４によって処理される。本コンピュータシステムの特徴はこのディスクコントローラ５４にある。
【００１６】
従来のディスクコントローラ１０は、ＯＳ４から書き込み要求があると、順次、磁気ディスク装置６にデータを書き込んでいた。これに対し、本システムは、ディスクコントローラ５４に記憶制御部キャッシュメモリ６４を備える。ディスクコントローラ５４の制御ロジック部６６は記憶制御部キャッシュメモリ６４を用いた制御を行うために、特徴判定ロジック６８とコントローラキャッシュロジック７０とを備えている。ここで特徴判定ロジック６８は、磁気ディスク装置５６へ書き込み要求されたデータがＯＳ５２のキャッシュからのものか否かを判定する判定手段であり、コントローラキャッシュロジック７０は、ＯＳ５２のキャッシュからのものでないと判定されたデータを記憶制御部キャッシュメモリ６４に一時格納して磁気ディスク装置５６への遅延書き込みを行う書き込み制御手段であり、これらの動作は後述する説明により明らかとなる。
【００１７】
図２はディスクコントローラ５４における磁気ディスク装置５６への書き込み制御を説明するためのフロー図である。制御ロジック部６６は、ＯＳ５２から磁気ディスク装置５６へのアクセス要求を受けると処理を開始する（Ｓ８０）。制御ロジック部６６ではまず特徴判定ロジック６８がそのアクセス要求のパラメータの特徴に基づいて、当該要求がＯＳ５２にてキャッシュされたデータの書き込み要求であるか否かを判定する（Ｓ８２）。
【００１８】
例えばアプリケーションプログラムＡＰＰ１の通常Ｉ／Ｏ要求に応じて、ＯＳ５２にてキャッシュされたデータを磁気ディスク装置５６へ反映させる場合、特徴判定ロジック６８での判定Ｓ８２に基づいて、制御ロジック部６６は直ちにＩ／Ｏ要求を出して磁気ディスク装置５６へアクセスする（Ｓ８４）。そしてその完了を以て、ＯＳ５２にＲＥＡＤ／ＷＲＩＴＥ完了が通知され（Ｓ８６）、ＯＳ５２からのＲＥＡＤ／ＷＲＩＴＥ要求処理が終了する（Ｓ８８）。
【００１９】
一方、アプリケーションプログラムＡＰＰ２の直接アクセス要求に応じて、ＯＳ５２が、ＯＳ５２のキャッシュを介さずに直接、磁気ディスク装置５６へデータを書き込みことを要求した場合、特徴判定ロジック６８での判定Ｓ８２に基づいて、コントローラキャッシュロジック７０を介して記憶制御部キャッシュメモリ６４との間でデータの読み書きが行われ（Ｓ９０）、その完了を以て、ＯＳ５２にＲＥＡＤ／ＷＲＩＴＥ完了が通知され（Ｓ８６）、ＯＳ５２からのＲＥＡＤ／ＷＲＩＴＥ要求処理が終了する（Ｓ８８）。記憶制御部キャッシュメモリ６４の内容は、コントローラキャッシュロジック７０に基づいて、所定のタイミングで磁気ディスク装置５６に対して遅延書き込みされ、その内容が磁気ディスク装置５６に反映される。
【００２０】
ＯＳ５２での従来のディスクキャッシュに加えて行われる上述のようなディスクコントローラ５４でのキャッシュにより、アプリケーションプログラムが直接アクセス要求したデータに関しては、本体５０に故障が生じても磁気ディスク装置５６に反映されるとともに、磁気ディスク装置５６へのアクセス時間の短縮が図られる。一方、ＯＳ５２にてキャッシュされたデータに関しては、そのＯＳ５２でのキャッシュによりアクセス速度が確保されるので、ディスクコントローラ５４でのキャッシュは特には必要ではない。よって、ＯＳ５２にてキャッシュされたデータに対するディスクコントローラ５４でのキャッシュを行わないこととすることで、記憶制御部キャッシュメモリ６４の所要量を抑制することができる。
【００２１】
次に、特徴判定ロジック６８について説明する。上述したように特徴判定ロジック６８はＯＳ５２からのアクセス要求のパラメータの特徴に基づいて、当該要求がＯＳ５２にてキャッシュされたデータの書き込み要求であるか否かを判定する判定手段である（Ｓ８２）。アクセス要求のパラメータとしては、磁気ディスク装置５６でのアクセスされる領域の開始アドレス及びデータ長がある。ＯＳ５２のキャッシュと磁気ディスク装置５６との読み書きに関するアクセス要求は、以下の特徴を有している。
【００２２】
（ｉ）ブロック単位での要求であるため、アクセス要求のパラメータの開始アドレスがブロックの倍数になっている。
【００２３】
（ii）ブロック単位での要求であるため、アクセス要求のパラメータのデータ長がブロックの倍数になっている。
【００２４】
(iii) ＯＳ５２のキャッシュの容量に応じたまとまったデータ量の要求であるため、アクセス要求のパラメータのデータ長が比較的大きい。
【００２５】
図３は、磁気ディスク装置５６の記憶領域とアクセス要求の例とを示す模式図である。上記（ｉ）〜(iii)の特徴の全てを有する磁気ディスク装置５６の記憶領域１００〜１０４が、ＯＳ５２のキャッシュにかかわるアクセス要求によってアクセスされるアドレス範囲の例である。例えばブロック長は２０４８バイトといった比較的大きなサイズである。一方、上記（ｉ）〜(iii)の特徴の少なくともいずれかを欠いた磁気ディスク装置５６の記憶領域１１０〜１１４が、ＯＳ５２のキャッシュを介さないアクセス要求によってアクセスされるアドレス範囲の例である。
【００２６】
図４は、特徴判定ロジック６８の処理のフロー図である。特徴判定ロジック６８は、まずＯＳ５２からのアクセス要求のパラメータが上記特徴(iii)を有するか否かを判断し（Ｓ１２０）、データ長が所定の閾値未満である場合には、ＯＳ５２のキャッシュを経由していないと判断する（Ｓ１２２）。一方、データ長が所定の閾値以上である場合には、次に同パラメータが上記特徴（ｉ）を有するか否かを判断し（Ｓ１２４）、アクセス開始アドレスがブロック長の倍数ではない場合には、ＯＳ５２のキャッシュを経由していないと判断する（Ｓ１２２）。一方、開始アドレスがブロック長の倍数である場合には、次に同パラメータが上記特徴（ii）を有するか否かを判断し（Ｓ１２６）、データ長がブロック長の倍数ではない場合には、ＯＳ５２のキャッシュを経由していないと判断する（Ｓ１２２）。一方、データ長がブロック長の倍数である場合には、上記特徴（ｉ）〜(iii)の全てが満たされたこととなるので、特徴判定ロジック６８は当該アクセス要求がＯＳ５２のキャッシュのデータを書き込む要求であると判断する（Ｓ１２８）。なお、図３に示す例では、条件(iii)のデータ長の閾値は２ブロックである。
【００２７】
上述したように、本実施の形態では、本体５０側からのデータ書き込み要求がＯＳ５２のキャッシュを介したデータに関するものか否かは、アクセス要求のパラメータの特徴に基づいてディスクコントローラ５４側にて判別することができる。この実施の形態では、本体５０のＯＳ５２の動作は基本的に従来と同様のままでよい。
【００２８】
なお、本発明の１つの特徴は、磁気ディスク装置５６への直接アクセス要求、すなわちＯＳ５２でキャッシュされていないデータを磁気ディスク装置５６へ書き込む要求に対して、ディスクコントローラ５４にキャッシュする手段を設けた点にある。この特徴を有する構成を、従来と異なる本体ＯＳにて実現することも可能である。例えば、ＯＳが、当該ＯＳのキャッシュからのデータに関する磁気ディスク装置５６へのアクセス要求と直接アクセス要求とを識別し得る情報をそれら各アクセス要求に付与し、ディスクコントローラ５４では、その識別情報に基づいて記憶制御部キャッシュメモリ６４への一時格納を行うか否かを制御するといった構成が可能である。
【００２９】
【発明の効果】
本発明のデータ処理装置によれば、磁気ディスク装置等の外部記憶ユニットを制御する記憶制御部に記憶制御部キャッシュメモリを備える。この記憶制御部キャッシュメモリは、外部記憶ユニットへ書き込み要求されたデータが本体ＯＳのキャッシュからのものでない場合に、当該データを一時格納して外部記憶ユニットへの遅延書き込みを行う。これにより、アプリケーションプログラムが直接アクセス要求したデータに関しては、そのデータ内容が、本体に故障等を生じた場合でも外部記憶ユニットに反映されるとともに、外部記憶ユニットへのアクセス時間の短縮が図られる。すなわち、本発明によれば、外部記憶ユニットへの直接アクセス要求が行われるデータの保護と、そのアクセス時間の短縮との双方が図られるという効果がある。
【図面の簡単な説明】
【図１】  本発明の実施の形態であるキャッシュ制御を説明するためのコンピュータシステムの概略のブロック図である。
【図２】  ディスクコントローラにおける磁気ディスク装置への書き込み制御を説明するためのフロー図である。
【図３】  磁気ディスク装置上の記憶領域とアクセス要求の例とを示す模式図である。
【図４】  特徴判定ロジックの処理のフロー図である。
【図５】  従来のコンピュータにおけるキャッシュ制御を説明するためのブロック図である。
【図６】  従来のコンピュータにおけるＯＳでのディスクＩ／Ｏ処理のフロー図であり、キャッシュ制御を説明するための図である。
【符号の説明】
５０  本体、５２  オペレーティングシステム（ＯＳ）、５４  ディスクコントローラ、５６  磁気ディスク装置、６２  メモリ、６４  記憶制御部キャッシュメモリ、６６  制御ロジック部、６８  特徴判定ロジック、７０  コントローラキャッシュロジック。
【図１】
0003710351.tif 000002
【図２】
0003710351.tif 000003
【図３】
0003710351.tif 000004
【図４】
0003710351.tif 000005
【図５】
0003710351.tif 000006
【図６】
0003710351.tif 000007