(57)【要約】【課題】　キャッシュメモリバックアップ用バッテリの無駄な消耗を防ぎ、必要なときに確実にメモリのバックアップが行なわれるメモリのバックアップ。【解決手段】　通常動作時は、停電等の突然の主電源切断に備えて、キャッシュメモリ内のデータ保護のために主電源切断時にキャッシュメモリに電力供給するバッテリから前記キャッシュメモリへ電力を供給すべきバッテリバックアップオンの状態とし、主電源スイッチの操作によって主電源切断する場合には、前記キャッシュメモリ内のデータを前記磁気ディスク装置に書き込んだ後に、前記バッテリから前記キャッシュメモリへの電力供給を遮断すべきバッテリバックアップオフの状態とし、その後に主電源の電力供給を遮断するように制御すること。また、キャッシュメモリを幾つかの部分に分割し、それぞれに独立してバッテリバックアップのオンオフを可能にし、バックアップ期間の長期化を図る。【選択図】図２
2004078963.tif 000002
【特許請求の範囲】
【請求項１】
　磁気ディスク装置と上位計算機の主記憶装置との間の情報転送を制御する磁気ディスク制御機構と、前記上位計算機からのデータの書き込み及び読み出しを行うキャッシュメモリと、前記キャッシュメモリに電力を供給するバッテリと、主電源を切断する主電源スイッチと、を備えた磁気ディスク制御装置であって、
　前記磁気ディスク制御機構は、主電源からの電源切断があった場合に、前記バッテリから前記キャッシュメモリに電力を供給するように制御するとともに、
　前記主電源スイッチの操作によって主電源を切断する場合には、前記キャッシュメモリに格納された前記上位計算機から前記磁気ディスク装置への書き込みデータを前記磁気ディスク装置に書き込んだ後に前記バッテリから前記キャッシュメモリへの電力供給を止め、その後に前記主電源からの電力供給を遮断するように制御する
　ことを特徴とする磁気ディスク制御装置。
【請求項２】
　請求項１において、前記キャッシュメモリは、前記バッテリによってバックアップされる第１のメモリモジュールと、ライトデータを書き込んだ場合に前記バッテリから電力供給されるように前記磁気ディスク制御機構に制御される第２のメモリモジュールと、前記主電源から電力供給される第３のメモリモジュールと、を有することを特徴とする磁気ディスク制御装置。
【請求項３】
　請求項１において、前記キャッシュメモリは、前記バッテリによってバックアップされる第１のメモリモジュールと、前記主電源から電力供給される第２のメモリモジュールと、を有し、　前記磁気ディスク制御機構は、ライトデータを前記第１のメモリモジュールに格納し、リードデータを前記第２のメモリモジュールに格納し、前記第２のメモリモジュールが一杯になったときにリードデータを前記第１のメモリモジュールに格納するように制御する
　ことを特徴とする磁気ディスク制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明は、外部記憶装置としての磁気ディスク装置、上位計算機の主記憶装置およびこれらの２つの間でデータを高速転送するキャッシュメモリを備え、上記３つの記憶装置を制御する磁気ディスク制御機構を有する磁気ディスク制御装置のキャッシュメモリ内のデータ保護に関する。
【背景技術】
【０００２】
　磁気ディスクからの情報の読み出しおよび磁気ディスクへの情報の書き込み速度に比べ、ＲＡＭ（ランダムアクセスメモリ）によって構成されるキャッシュメモリに対する情報の読み書きは格段に早いため、キャッシュメモリを付加することにより、上位計算機からのアクセス時間を大幅に減少することが出来る。
【０００３】
　したがって、磁気ディスク装置から主記憶装置にデータを読み込む場合、磁気ディスク制御機構はキャッシュメモリに前記データがある場合は直接キャッシュメモリからデータ転送し、無い場合は命令受領後に一旦上位計算機とバスを開放し、磁気ディスクからキャッシュメモリにデータを書き込んだ後、再び上位計算機とバスを接続し、キャッシュメモリから主記憶装置にデータを転送し、また、主記憶装置から磁気ディスク装置に対しデータを書き込む場合、磁気ディスクに直接書き込むのではなく一旦このキャッシュメモリに書き込み、キャッシュメモリに書き込みが完了した時点で上位計算機に対して書き込み完了を報告し、上位計算機とバスを開放した後にデータを磁気ディスクに対し書き込むことにより上位計算機とバスの占有時間を短縮している。
【０００４】
　しかし、後者の方法だとキャッシュメモリに書き込んだ時点で上位計算機に対して書き込み完了報告をしているので実際に磁気ディスクには書き込みが完了していないうちにブレーカが落とされたり、コンセントが抜かれてしまった場合、または停電などによる突然の電源切断の場合などのときは、キャッシュメモリに使われるＲＡＭは揮発性のため、キャッシュメモリ内のみに書かれているデータは、消失してしまうことになる。
【０００５】
　このような場合に備えて、このキャッシュメモリのバックアップ用にバッテリを装備し、このキャッシュメモリにバッテリから直接電力を供給することにより、データを保護する方式が取られているが、従来技術では、キャッシュ内にデータがあるかないかをフラグより記憶し、バッテリバックアップをするかどうか判別していた。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
　従来の技術によれば、装置の電源をオフする場合にキャッシュメモリにデータが存在すれば、バッテリバックアップを行っていたが、主電源スイッチにより電源をオフする場合（電源がオフされることがまえもって分かる場合）にも、データをディスクに書かずにバックアップ状態になってしまい、バックアップバッテリーを使用し続けることになる。
【課題を解決するための手段】
【０００７】
　バッテリバックアップのオンオフを電気的に切り替え可能とし、通常動作時はバッテリバックアップオンとなるようにし、主電源スイッチによらない突然の電源切断の場合は常にバッテリバックアップをおこなうようにしておく。
【０００８】
　そして、通常の主電源スイッチによる電源オフの場合は、前述の磁気ディスク制御機構は、キャッシュメモリ内のデータのデステージング処理をおこない、キャッシュメモリ内にディスクに書き込んでいないデータが無いことを確認の後、プログラムにて電気的にバッテリバックアップをオフにする。
【０００９】
　また、キャッシュメモリバックアップ中に放電によりバッテリ電圧が低下しキャッシュメモリ内のデータを保持することが不可能となった場合、バックアップを中断することにより、バッテリの過放電を防止し、バッテリに再び充電して使用することが不可能になるのを防止することが出来る。
【００１０】
　本発明が以上のような構成を備えているので、キャッシュメモリ内にデータがある場合でも電源を落とす前にディスクに書き込みバッテリをオフすることにより、従来の方式に比べ、バックアップの回数を減らし、バッテリの寿命を延ばすことが出来る。
【発明の効果】
【００１１】
　本発明によれば、バッテリによるキャッシュメモリのバックアップのオンオフを必要なときに確実に行なうことが出来、消費電力の節約、バックアップ期間の長期化、バッテリの過放電防止等の効果がある。
【発明を実施するための最良の形態】
【００１２】
　図１に本発明の一実施形態を示す。１は主記憶装置、２は中央処理装置であり、主記憶装置１と中央処理装置２によって計算機本体３を構成している。Ｄ１，Ｄ２・・・Ｄｎはそれぞれ磁気ディスク装置、４はキャッシュメモリであり、５は主電源切断時用のバッテリである。６はこれらの磁気ディスク装置と主記憶装置１およびキャッシュメモリ４、との間の情報の転送を制御する磁気ディスク制御機構で、この磁気ディスク制御機構６とキャッシュメモリ４およびバッテリ５によって磁気ディスク制御装置７を構成している。また、このバッテリの電圧は磁気ディスク制御機構６により監視され、電圧低下時には充電される。
【００１３】
　磁気ディスク制御機構６は計算機３から磁気ディスクへの書き込み命令に対してその書き込みデータを磁気ディスク装置に対して高速に書き込むことの出来るキャッシュメモリ４に書き込み、キャッシュメモリ４に書き込みが完了した時点で計算機３に対して書き込み完了報告を行なうが、この時点ではまだ磁気ディスク装置にはデータは書かれていない。この状態のときのために、停電などで主電源スイッチによらない主電源の切断があった場合、バッテリにてキャッシュメモリのデータをバックアップする。
【００１４】
　キャッシュメモリ内に磁気ディスクに書き込んでいないデータが未だ存在する場合に、主電源の切断が主電源スイッチにより行なわれた場合、磁気ディスク制御機構６はすぐには電源を落とさずにキャッシュメモリ４内のデータを全て磁気ディスク装置に書き込んでから電源を落とす。この場合、キャッシュメモリから磁気ディスク装置へのデータ書き込みが完了しているので、バッテリによるキャッシュメモリのバックアップはする必要が無い。このときにキャッシュメモリのバックアップをすることは、バッテリを無駄に消費することになる。
【００１５】
　また、この状態が長時間続くとバッテリが過放電状態となり、再び充電して使用することが不可能になってしまう場合もある。したがって、このような場合には、磁気ディスク制御機構６は、キャッシュメモリ内のデータを全て磁気ディスクに書き込んだ後、バッテリのバックアップをオフにし、磁気ディスク装置および磁気ディスク制御装置の主電源をオフにする。
【００１６】
　図２は本発明のキャッシュメモリと磁気ディスク制御機構の一実施形態を示す。メモリモジュール３０，４０は一般のＤＲＡＭメモリモジュールであり、ＤＲＡＭをバッテリバックアップするための回路として、リフレッシュ回路２６と、セレクタ２３と、バッテリバックアップ管理メモリ２２と、ＲＡＳ・ＣＡＳ信号１６，１７，１８，１９をバッテリバックアップしないときにスタンバイ状態にするＮＡＮＤゲート２１と、を備えており、各回路がバッテリバックアップされている。
【００１７】
　主電源投入時はメモリ制御回路２０でＤＲＡＭのリードおよびライトを実施しており、メモリモジュールにライトキャッシュデータを書き込んだ場合にバッテリバックアップするようにバッテリバックアップ管理メモリ２２をセットし、ライトキャッシュデータを磁気ディスク装置に書き込んだ場合に前記バッテリバックアップ管理メモリ２２をリセットする。
【００１８】
　主電源オフ時はリフレッシュ回路２６でＣＢＲリフレッシュのパルスを発生し、セレクタ２３がリフレッシュ回路２６の出力を選択し、バッテリバックアップ管理メモリの信号２４，２５が１の場合にＮＡＮＤゲート２１がリフレッシュ信号をメモリモジュール３０，４０へ伝搬し、０の場合にＲＡＳ・ＣＡＳ信号１６，１７，１８，１９をＨｉｇｈレベルにしてメモリモジュール３０，４０をスタンバイ状態にしてリフレッシュしないこととなる。
【００１９】
　ここにおいて、バッテリバックアップ管理メモリの信号２４，２５は主電源が入っている場合は１で、主電源がオフの場合はメモリの内容によって左右され、ライトデータであれば１、データ無しまたはリードデータであれば０が出力される。これにより、ライトキャッシュデータが書き込まれているＤＲＡＭモジュールのみリフレッシュされ、残りのモジュールはスタンバイ状態となるため消費電力が少なくなり、バッテリの消費が少なくなる。また、本発明では電源ラインに余分な回路がなくＤＲＡＭのようにリフレッシュ等の瞬間に大きな電源電流が流れるメモリでは電源変動が少なくなる効果がある。
【００２０】
　図３は本発明のキャッシュメモリと磁気ディスク制御機構の他の実施形態のブロック図を示す。本実施形態では、メモリモジュールをバッテリバックアップするメモリモジュール３０と、メモリ制御回路２０でバッテリバックアップを制御できるメモリモジュール４０と、バッテリバックアップしないメモリモジュール５０と、に分けており、電源監視回路６１と時計６２を設けている。ここにおいて、ライトキャッシュデータが書き込まれているモジュールに対してはバッテリバックアップし、リードキャッシュデータが書き込まれているモジュールに対してはバッテリバックアップする必要がないことを前提としている。
【００２１】
　メモリ制御回路２０は電源監視回路が正常な電源電圧である場合は時計６２の値を見てバッテリバックアップを要するライトキャッシュの使用比率を決める。また、夜間および休日は使用比率が低く、停電時の復旧に時間を要するアプリケーションではライトキャッシュの使用比率を夜間および休日で低くするように自動的にまたは入力手段を介して手動的に設定する。この設定により、夜間および休日にメモリ制御回路２０はメモリモジュール４０をライトキャッシュとして使用せず、使用中に停電が発生した場合は消費電流が少ないためデータの消失を防ぐことができる。
【００２２】
　また、通常の動作ではメモリモジュール４０をライトキャッシュで使用できるので性能を維持できる。尚、本実施形態では必要なメモリモジュールだけバッテリバックアップの制御を可能にしているため全て同等のメモリモジュールを使用するよりバッテリバックアップの消費電力が少なく、ハード量が少なくなる効果がある。
【００２３】
　図４は本発明のキャッシュメモリと磁気ディスク制御機構の他の実施形態のブロック図を示し、図５は図４のメモリのメモリマップを示す。本実施形態ではメモリモジュールをバッテリバックアップするメモリモジュール３０，７０とバッテリバックアップしないメモリモジュール５０，８０に分ける。バッテリバックアップするメモリモジュールはライトキャッシュに使用し、バッテリバックアップしないメモリモジュールはリードキャッシュに使用する。
【００２４】
　すなわち、図５のメモリマップのアドレスｂからアドレスｄをライトキャッシュとして使用し、アドレスｄからアドレスｅをリードキャッシュとして使用する。これにより、バッテリバックアップの消費電流が少ないキャッシュメモリが構成できる。
【００２５】
　しかしながら、リードデータが多い場合には、キャッシュ能力が不足して性能がでない問題があるので図６に示すフローで処理する。即ち、図６のフロー処理によれば、キャッシュメモリへの書き込みデータを受け取ると、このデータがライトキャッシュデータかリードキャッシュデータかのデータの判断をし（第１ステップ）、仮りにリードデータであればまず一般電源メモリ（バッテリバックアップしないメモリ）が一杯か否かを判断し、一杯であれば次にバッテリバックアップメモリが一杯か否かを判断し、一杯でなければ前記バッテリバックアップメモリの一部をリードキャッシュメモリとして使用するものであり、更に、第１ステップで仮りにライトデータであればバッテリバックアップメモリが一杯か否かを判断し、一杯であったとしても、図５のアドレスｂｄ間にリードデータが存在するか否かを判断し、存在すればそのリードデータのアドレスメモリ上に前記ライトデータを上書きするものである。
【００２６】
　これにより、バッテリバックアップするメモリがライトキャッシュとして使用していないときにリードキャッシュとして使用する。即ち、図５のメモリマップのアドレスｂからアドレスｃをライトキャッシュとして使用し、アドレスｃからアドレスｅをリードキャッシュとして使用する。これにより、リードキャッシュを増やすことができ、性能を確保することが可能である。特に、登載しているメモリモジュールのアドレスを隣接させることによりアドレス空間を連続にできるので制御を容易する効果がある。
【図面の簡単な説明】
【００２７】
【図１】本発明の一実施形態のブロック図である。
【図２】本発明のキャッシュメモリと磁気ディスク制御機構の一実施形態のブロック図である。
【図３】本発明のキャッシュメモリと磁気ディスク制御機構の他の実施形態のブロック図である。
【図４】本発明のキャッシュメモリと磁気ディスク制御機構の更に他の実施形態のブロック図である。
【図５】図４のキャッシュメモリのメモリマップ図である。
【図６】図４のキャッシュメモリの動作フロー図である。
【符号の説明】
【００２８】
　１　主記憶装置
　２　中央処理装置
　３　計算機
　４　キャッシュメモリ
　５　バッテリ
　６　磁気ディスク制御機構
　７　磁気ディスク制御装置
　Ｄ１，Ｄ２，…Ｄｎ　ディスク装置１，ディスク装置２，…ディスク装置ｎ
　１０　バッテリバックアップ電源ライン
　１１　電源ライン
　１２　メモリバス
　１６，１８　ＣＡＳ信号
　１７，１９　ＲＡＳ信号
　２０　メモリ制御回路
　２１　ＮＡＮＤゲート
　２２　バッテリバックアップ管理メモリ
　２３　セレクタ
　２４，２５　バッテリバックアップ制御信号
　２６　リフレッシュ回路
　３０，４０，５０，７０，８０　メモリモジュール
　３５，３６，４５，４６　ＤＲＡＭ
　６１　電源監視回路
　６２　時計
【図１】
2004078963.tif 000003
【図２】
2004078963.tif 000004
【図３】
2004078963.tif 000005
【図４】
2004078963.tif 000006
【図５】
2004078963.tif 000007
【図６】
2004078963.tif 000008