(57)【特許請求の範囲】
【請求項１】
１又は複数の記憶デバイスを有する記憶デバイス部と、前記記憶デバイスが提供する記憶領域に読み書きするデータを一時的に格納するキャッシュメモリ部と、前記記憶デバイスに対するデータの読み書きを制御するコントロール部と、停電時に前記キャッシュメモリ部に駆動電力を供給するバッテリ電源部とを有するストレージ装置において、
前記キャッシュメモリ部は、
前記記憶装置が提供する記憶領域に読み書きするデータを一時的に格納する揮発性メモリと、
前記揮発性メモリに格納された前記データを一時的にバックアップするための不揮発性記憶媒体と、
前記揮発性メモリに対するデータの読み書きを制御すると共に、前記揮発性メモリに格納されたデータを必要に応じて前記不揮発性記憶媒体に退避させるメモリコントローラと
を備え、
前記バッテリ電源部は、
バッテリと、
前記バッテリの充放電を制御する充放電制御部と
を備え、
前記充放電制御部は、
停電からの復電後に、前記メモリコントローラから通知される前記揮発性メモリに格納されたデータの全データ量を取得し、すべての当該データを前記揮発性メモリから前記不揮発性記憶媒体にバックアップするために必要な電力量を求め、当該電力量の電力を前記バッテリに充電するまで前記バッテリを急速充電し、当該電力量の電力を前記バッテリに充電した後は、前記急速充電時よりも低い充電電流で当該バッテリを低速充電する
ことを特徴とするストレージ装置。
【請求項２】
前記充放電制御部は、
前記急速充電時には、一定電流値の充電電流を印加するようにして前記バッテリを急速充電し、前記低速充電時には、パルス状の充電電流を印加するようにして前記バッテリを低速充電する
ことを特徴とする請求項１に記載のストレージ装置。
【請求項３】
前記充放電制御部は、
前記ストレージ装置の初期起動時には、所定量の電力を充電するまで前記バッテリを急速充電し、当該バッテリに前記所定量の電力を充電した後は、当該バッテリを低速充電する
ことを特徴とする請求項１に記載のストレージ装置。
【請求項４】
前記メモリコントローラは、
前記キャッシュメモリ部の前記揮発性メモリに格納されている全データを前記不揮発性記憶媒体にバックアップするのに要する電力量が前記バッテリに蓄電されていないときには、ホスト装置からのライト要求に対するライト性能を制限する
ことを特徴とする請求項１に記載のストレージ装置。
【請求項５】
１又は複数の記憶デバイスを有する記憶デバイス部と、前記記憶デバイスが提供する記憶領域に読み書きするデータを一時的に格納するキャッシュメモリ部と、前記記憶デバイスに対するデータの読み書きを制御するコントロール部と、停電時に前記キャッシュメモリ部に駆動電力を供給するバッテリ電源部とを有するストレージ装置における充電制御方法において、
前記キャッシュメモリ部は、
前記記憶装置が提供する記憶領域に読み書きするデータを一時的に格納する揮発性メモリと、
前記揮発性メモリに格納された前記データを一時的にバックアップするための不揮発性記憶媒体と、
前記揮発性メモリに対するデータの読み書きを制御すると共に、前記揮発性メモリに格納されたデータを必要に応じて前記不揮発性記憶媒体に退避させるメモリコントローラと
を有し、
前記バッテリ電源部は、
バッテリと、
前記バッテリの充放電を制御する充放電制御部と
を有し、
停電からの復電後に、前記充放電制御部が、前記メモリコントローラから通知される前記揮発性メモリに格納されたデータの全データ量を取得する第１のステップと、
前記充放電制御部が、前記揮発性メモリに格納されたすべてのデータを前記揮発性メモリから前記不揮発性記憶媒体にバックアップするために必要な電力量を求める第２のステップと、
前記充放電制御部が、当該電力量の電力を前記バッテリに充電するまで前記バッテリを急速充電し、当該電力量の電力を前記バッテリに充電した後は、前記急速充電時よりも低い充電電流で当該バッテリを低速充電する第３のステップと
を備えることを特徴とする充電制御方法。
【請求項６】
前記第３のステップにおいて、前記充放電制御部は、
前記急速充電時に、一定電流値の充電電流を印加するようにして前記バッテリを急速充電し、前記低速充電時には、パルス状の充電電流を印加するようにして前記バッテリを低速充電する
ことを特徴とする請求項５に記載の充電制御方法。
【請求項７】
前記第３のステップにおいて、前記充放電制御部は、
前記ストレージ装置の初期起動時には、所定量の電力を充電するまで前記バッテリを急速充電し、当該バッテリに前記所定量の電力を充電した後は、当該バッテリを低速充電する
ことを特徴とする請求項５に記載の充電制御方法。
【請求項８】
前記第３のステップにおいて、前記メモリコントローラは、
前記キャッシュメモリ部の前記揮発性メモリに格納されている全データを前記不揮発性記憶媒体にバックアップするのに要する電力量が前記バッテリに蓄電されていないときには、ホスト装置からのライト要求に対するライト性能を制限する
ことを特徴とする請求項５に記載の充電制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はストレージ装置及び充電制御方法に関し、特に、キャッシュメモリに格納されたデータを停電発生時に不揮発性記憶媒体に退避させる停電時バックアップ機能が搭載されたストレージ装置に適用して好適なものである。
【背景技術】
【０００２】
従来、ストレージ装置においては、ハードディスク装置等の記憶デバイスが提供する記憶領域をホスト装置に提示し、ホスト装置からの要求に応じてかかる記憶領域にデータを読み書きする。このようなストレージ装置では、頻繁に使用されるデータに対するアクセス速度を向上させることなどを目的として、記憶デバイスに読み書きされるデータを揮発性メモリからなるキャッシュメモリに一時的に保存することが行われている。
【０００３】
ところで、ストレージ装置において、データ保管は最も重要な性能である。停電等が発生した場合にもデータを保護することは当然であり、データ喪失は社会的な問題にも繋がる。このような事情に鑑み、近年では、停電が発生したときにバッテリによってキャッシュメモリ等に対する電源供給を行いながら、キャッシュメモリに格納されているデータを不揮発性メモリなどに退避（バックアップ）させる停電時バックアップ機能が搭載されたストレージ装置が製品化されている。
【０００４】
この場合、上述のような停電時バックアップ機能により「確実なバックアップ」を行うためには、かかるバックアップに必要な電力量を常にバッテリが蓄えている必要があり、このため、例えば停電によりバッテリの蓄電量が用いられた後の復電時や、自然放電により蓄電量が低下した後に、停電に備えて少しでも早く必要量の電力を充電することが必要となる。
【０００５】
なお、下記特許文献１には、例えばビデオカメラに用いられるバッテリの充電方式として、満充電までは所定レートの充電電流による急速充電を行い、その後は同じ所定レートのパルス状の充電電流による低速充電を行うことが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平６−９０５３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところが、ストレージ製品のバックアップ用バッテリとして広く用いられるニッケル水素（Ni-MH）電池は、満充電が近くなると発熱が大きくなり、満充電を超えて充電すると更に発熱が大きくなる特性を有する。
【０００８】
バッテリの発熱は、バッテリの劣化を進行させるほか、バッテリの信頼性を低下させることとなる。さらには、バッテリから放射された熱はストレージ製品内に拡散されるため、ストレージ装置の信頼性を低下させることにも繋がるため、できる限りバッテリの発熱量を低減することが望ましい。
【０００９】
この場合、この発熱量は、充電電流が高レートになるほど大きくなる。従って、発熱を抑止するためには極力低電流で充電するのが望ましい。しかしながら、バッテリの充電を定電流で行うと、充電時間が長くなり、上述のように急速充電を必要とするストレージ装置の充電方式としては、不適切な問題がある。
【００１０】
一方、ストレージ製品の性能としては、記憶容量及びデータ速度で比較される。サイズや価格が許される限り性能を向上したいものである。従って、バッテリなど、直接的に性能と評価されないものについては、極力シンプルに構成することが必要となる。
【００１１】
本発明は以上の点を考慮してなされたもので、バッテリの発熱を抑えながら停電に対するデータ保証を確実に行い得る信頼性の高いストレージ装置及び充電制御方法を提案しようとするものである。
【課題を解決するための手段】
【００１２】
かかる課題を解決するため本発明においては、１又は複数の記憶デバイスを有する記憶デバイス部と、前記記憶デバイスが提供する記憶領域に読み書きするデータを一時的に格納するキャッシュメモリ部と、前記記憶デバイスに対するデータの読み書きを制御するコントロール部と、停電時に前記キャッシュメモリ部に駆動電力を供給するバッテリ電源部とを有するストレージ装置において、前記キャッシュメモリ部は、前記記憶装置が提供する記憶領域に読み書きするデータを一時的に格納する揮発性メモリと、前記揮発性メモリに格納された前記データを一時的にバックアップするための不揮発性記憶媒体と、前記揮発性メモリに対するデータの読み書きを制御すると共に、前記揮発性メモリに格納されたデータを必要に応じて前記不揮発性記憶媒体に退避させるメモリコントローラとを備え、前記バッテリ電源部は、バッテリと、前記バッテリの充放電を制御する充放電制御部とを備え、前記充放電制御部は、停電からの復電後に、前記メモリコントローラから通知される前記揮発性メモリに格納されたデータの全データ量を取得し、すべての当該データを前記揮発性メモリから前記不揮発性記憶媒体にバックアップするために必要な電力量を求め、当該電力量の電力を前記バッテリに充電するまで前記バッテリを急速充電し、当該電力量の電力を前記バッテリに充電した後は、前記急速充電時よりも低い充電電流で当該バッテリを低速充電することを特徴とする。
【００１３】
また本発明においては、１又は複数の記憶デバイスを有する記憶デバイス部と、前記記憶デバイスが提供する記憶領域に読み書きするデータを一時的に格納するキャッシュメモリ部と、前記記憶デバイスに対するデータの読み書きを制御するコントロール部と、停電時に前記キャッシュメモリ部に駆動電力を供給するバッテリ電源部とを有するストレージ装置における充電制御方法において、前記キャッシュメモリ部は、前記記憶装置が提供する記憶領域に読み書きするデータを一時的に格納する揮発性メモリと、前記揮発性メモリに格納された前記データを一時的にバックアップするための不揮発性記憶媒体と、前記揮発性メモリに対するデータの読み書きを制御すると共に、前記揮発性メモリに格納されたデータを必要に応じて前記不揮発性記憶媒体に退避させるメモリコントローラとを有し、前記バッテリ電源部は、バッテリと、前記バッテリの充放電を制御する充放電制御部とを有し、停電からの復電後に、前記充放電制御部が、前記メモリコントローラから通知される前記揮発性メモリに格納されたデータの全データ量を取得する第１のステップと、前記充放電制御部が、前記揮発性メモリに格納されたすべてのデータを前記揮発性メモリから前記不揮発性記憶媒体にバックアップするために必要な電力量を求める第２のステップと、前記充放電制御部が、当該電力量の電力を前記バッテリに充電するまで前記バッテリを急速充電し、当該電力量の電力を前記バッテリに充電した後は、前記急速充電時よりも低い充電電流で当該バッテリを低速充電する第３のステップとを備えることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、バッテリの蓄電量が少なく、キャッシュメモリ部におけるデータのバックアップを保証できない期間を急速充電により短い期間に抑えながら、発熱量が大きい満充電近くでは低速充電によりバッテリの発熱量を抑えることができる。かくするにつき、バッテリの発熱を抑えながら停電に対するデータ保証を確実に行い得る信頼性の高いストレージ装置及び充電制御方法を実現できる。
【図面の簡単な説明】
【００１５】
【図１】本実施の形態によるストレージ装置の概略構成を示すブロック図である。
【図２】キャッシュメモリ部の詳細構成を示すブロック図である。
【図３】バッテリ電源部の詳細構成を示すブロック図である。
【図４】キャッシュメモリ部に格納されたデータの全データ量の収集に関するバッテリ電源部のＣＰＵの処理の説明に供するフローチャートである。
【図５】（Ａ）−（Ｄ）は、充電制御処理の説明に供するグラフ及び波形図である。
【図６】バックアップ時必要電力量換算テーブルの構成を示す概念図である。
【図７】第１の充電制御処理の処理手順を示すフローチャートである。
【図８】第２の充電制御処理の処理手順を示すフローチャートである。
【図９】ライト性能制限処理の処理手順を示すフローチャートである。
【発明を実施するための最良の形態】
【００１６】
以下図面について、本発明の一実施の形態を詳述する。
【００１７】
（１）本実施の形態によるストレージ装置の構成
図１において、１は全体として本実施の形態によるストレージ装置を示す。このストレージ装置は、記憶領域を提供する記憶デバイス部２と、図示しないホスト装置からの要求に応じて記憶デバイス部２に対するデータの読み書きを制御するコントロール部３と、記憶デバイス部２及びコントロール部３に対して駆動電力を供給する電源部４とを備えて構成される。
【００１８】
記憶デバイス部２は、１又は複数の記憶デバイス１０と、ＤＣ／ＤＣコンバータ１１とを備える。
【００１９】
記憶デバイス１０は、例えばＳＣＳＩ（Small Computer System Interface）ディスク等の高価なディスクや、ＳＡＴＡ（Serial AT Attachment）ディスク又は光ディスク等の安価なディスクなどから構成される。１又は複数の記憶デバイス１０により提供される物理的な記憶領域上に、１又は複数の論理的なボリューム（以下、これを論理ボリュームと呼ぶ）が設定される。そしてホスト装置からのデータは、この論理ボリューム内に所定大きさのブロック又はファイルを単位として記憶される。
【００２０】
各論理ボリュームには、それぞれ固有の識別子（以下、これをＬＵＮ（Logical Unit number）と呼ぶ）が付与される。本実施の形態の場合、論理ボリュームに対するデータの入出力は、このＬＵＮと、各論理ブロックにそれぞれ付与されるその論理ブロックに固有の番号（ＬＢＡ：Logical Block Address）とを組み合わせたものをアドレスとして、当該アドレス及びデータ長を指定して行われる。
【００２１】
ＤＣ／ＤＣコンバータ１１は、電源部４から与えられる駆動電圧を所定電圧に昇圧又は減圧し、かくして得られた所定電圧の駆動電圧を各記憶デバイス１０に供給する。
【００２２】
一方、コントロール部３は、コントローラ１２及びキャッシュメモリ部１３等の情報処理資源と、これらコントローラ１２及びキャッシュメモリ部１３にそれぞれ対応させて設けられたＤＣ／ＤＣコンバータ１４，１５を備えて構成される。
【００２３】
コントローラ１２は、ストレージ装置１全体の動作制御を司るプロセッサであり、その内部に各種制御プログラムを記憶保持するためのローカルメモリ（図示せず）を備える。ローカルメモリに格納された各種制御プログラムをコントローラ１２が実行することにより、例えば記憶デバイス部２の記憶デバイス１０に対するデータの読書き制御などの各種制御処理が行われる。キャッシュメモリ部１３は、主としてホスト装置からのアクセス要求に応じて論理ボリューム（記憶デバイス１０）に読み書きされるデータを一時的に保存するために用いられる。
【００２４】
図２は、キャッシュメモリ部１３の詳細構成を示す。この図２に示すように、キャッシュメモリ部１３は、複数の揮発性メモリ３０、メモリコントローラ３１及びデータバックアップ部３２から構成される。メモリコントローラ３１は、各揮発性メモリ３０に対してデータを読み書きする機能のほか、コントローラ１２（図１）や後述するバッテリ電源部１７（図１）の充放電制御部２０（図１）と通信を行う通信機能を備える。またデータバックアップ部３２は、例えばフラッシュメモリ等の不揮発性メモリから構成され、停電発生時に揮発性メモリに保存されているデータを退避させるために用いられる。
【００２５】
ＤＣ／ＤＣコンバータ１４，１５は、記憶デバイス部２のＤＣ／ＤＣコンバータ１１と同様の機能を有するもので、それぞれ電源部４から与えられる駆動電圧を所定電圧に昇圧又は減圧し、かくして得られた所定電圧の駆動電圧を対応するコントローラ１２や、キャッシュメモリ部１３に供給する。
【００２６】
電源部４は、ＡＣ／ＤＣコンバータ１６及びバッテリ電源部１７を備えて構成される。ＡＣ／ＤＣコンバータ１６は、商用交流電源１８から得られる１００〔Ｖ〕の交流電圧を所定電圧の直流電圧に変換し、かくして得られた直流電圧を記憶デバイス部２のＤＣ／ＤＣコンバータ１１と、コントロール部３のＤＣ／ＤＣコンバータ１４，１５と、バッテリ電源部１７の充放電制御部２０（図１）とにそれぞれ供給する。
【００２７】
またバッテリ電源部１７は、複数のバッテリを備えるバッテリ部１９と、バッテリ部１９の充放電を制御する充放電制御部２０とから構成される。
【００２８】
図３は、バッテリ部１９及び充放電制御部２０の詳細構成を示す。バッテリ部１９は、電源部４（図１）からバッテリ電源部１７の電力入出力端（図示せず）を介して直流電圧が印加される電源ラインＬＮ１と、接地されたアースラインＬＮ２との間に直列接続された複数のバッテリ４０及び放電電流監視用抵抗Ｒ１と、バッテリ電圧センサ４１、バッテリ温度センサ４２及び放電電流センサ４３を備えて構成される。
【００２９】
バッテリ４０は、例えばニッケル水素電池などから構成される。バッテリ電圧センサ４１は、電源ラインＬＮ１とバッテリ部１９との接続中点におけるバッテリ部１９の出力電圧を検出し、検出結果をバッテリ電圧検出信号として後述する充放電制御部２０のＣＰＵ５５に送信する。
【００３０】
またバッテリ温度センサ４２は、バッテリ４０の温度を検出し、検出結果をバッテリ温度検出信号として充放電制御部２０のＣＰＵ５５に送信する。さらに放電電流センサ４３は、停電発生時などにバッテリ部１９から出力される放電電流の電流値を検出し、検出結果を放電電流検出信号として充放電制御部２０のＣＰＵ５５に送信する。
【００３１】
充放電制御部２０は、入力回路５０、充電回路５１、放電回路５３、補助電源部５４及びＣＰＵ（Central Processing Unit）５５を備えて構成される。
【００３２】
入力回路５０は、電源ラインＬＮ１上に介挿された突入電流防止回路６０と、電源ラインＬＮ１及びアースラインＬＮ２間に直列接続された第１及び第２の分圧抵抗Ｒ２，Ｒ３と、停電検出用電圧センサ６１とを備える。
【００３３】
突入電流防止回路６０は、ＣＰＵ５５から与えられる突入電流防止指令信号に基づいて駆動し、ストレージ装置１の電源投入時に入力する突入電流を抑制する。また停電検出用電圧センサ６１は、第１及び第２の分圧抵抗Ｒ２，Ｒ３の接続中点の電圧を検出し、検出結果を電圧検出信号としてＣＰＵ５５に送信する。
【００３４】
充電回路５１は、昇圧部７０及び定電流部７１から構成される。昇圧部７０は、第１及び第２のコンデンサＣ１，Ｃ２、第１のコイルＬ１、ダイオードＤ１並びにＭＯＳ型のＦＥＴ（Metal Oxide Semiconductor Field Effect Transistor）８０からなる昇圧回路８１と、第１及び第２の分圧抵抗Ｒ４，Ｒ５と、昇圧制御回路８２とを備える。
【００３５】
昇圧回路８１を構成する第１及び第２のコンデンサＣ１，Ｃ２は、それぞれ電源ラインＬＮ１及びアースラインＬＮ２間にそれぞれ接続され、第１のコイルＬ１及び第１のダイオードＤ１は、電源ラインＬＮ１における第１及び第２のコンデンサＣ１，Ｃ２間に直列に挿入されている。またＭＯＳ型ＦＥＴ８０は、ドレインが電源ラインＬＮ１における第１のコイルＬ１及び第１のダイオードＤ１の接続中点に接続されると共に、ソースがアースラインＬＮ２と接続され、ゲートが昇圧制御回路８２と接続されている。
【００３６】
昇圧制御回路８２は、電源ラインＬＮ１における第１のダイオードＤ１及び第２のコンデンサＣ２の接続中点と、アースラインＬＮ２との間に直列接続された第１及び第２の分圧抵抗Ｒ４，Ｒ５の接続中点の電圧を監視する。そして昇圧制御回路８２は、ＣＰＵ５５からの充電指令信号に基づき、必要に応じて、かかる第１及び第２の分圧抵抗Ｒ３，Ｒ４の接続中点の電圧が予め定められた電圧となるように第１のＭＯＳ型ＦＥＴ８２を高周波でオン／オフさせる。これにより入力回路５０の出力電圧が昇圧部７０において昇圧される。具体的に、昇圧制御回路８２は、充電指示信号の信号レベルが論理「１」レベルのときには、ＭＯＳ型ＦＥＴ８０をオン動作（高周波でオン／オフ）させ、放電指令信号の信号レベルが論理「０」レベルのときには、ＭＯＳ型ＦＥＴ８０をオフさせる。
【００３７】
定電流部７１は、第２のコイルＬ２、電流検出用抵抗Ｒ６、第２及び第３のダイオードＤ２，Ｄ３並びにＭＯＳ型ＦＥＴ８３からなる定電流回路８４と、定電流制御回路８５とを備える。第２のコイルＬ２、電流検出用抵抗Ｒ６及び第３のダイオードＤ３は、この順番で直列に接続されて電源ラインＬＮ１に介挿されている。またＭＯＳ型ＦＥＴ８３は、ドレインが電源ラインＬＮ１における昇圧回路８１の第１のダイオードＤ１及び第２のコンデンサＣ２の接続中点に接続されると共に、ドレインが第２のコイルＬ２と接続され、ゲートが定電流制御回路８５と接続されている。さらに第２のダイオードＤ２は、電源ラインＬＮ１におけるＭＯＳ型ＦＥＴ８３のドレイン及び第２のコイルＬ２の接続中点と、アースラインＬＮ２との間に接続されている。
【００３８】
そして定電流制御回路８５は、電流検出用抵抗Ｒ６の両端子の電圧をそれぞれ取得し、これら２つの電圧の電圧差が予め定められた複数の基準値のうちの充電指令信号により指定された値となるようにＭＯＳ型ＦＥＴ８３を高周波でオン／オフさせる。具体的に、定電流制御回路８５は、充電指示信号の信号レベルが論理「１」レベルのときには、ＭＯＳ型ＦＥＴ８３をオン動作（高周波でオン／オフ）させ、放電指令信号の信号レベルが論理「０」レベルのときには、ＭＯＳ型ＦＥＴ８３をオフさせる。これにより昇圧部７０の出力電流が定電流部７１において充電指令信号により指定された電流値に制御され、これが充電電流としてバッテリ部１９に与えられる。また定電流制御回路８５は、電流検出用抵抗Ｒ６の両端子間の電圧差に基づいて充電電流の電流値を求め、これを充電電流検出信号としてＣＰＵ５５に送信する。
【００３９】
放電回路５３は、ＭＯＳ型ＦＥＴ８６、第４のダイオードＤ４及び出力制御回路８７から構成される。ＭＯＳ型ＦＥＴ８６は、ソースがバッテリ部５２のバッテリ群と電源ラインＬＮ１との接続中点に接続され、ゲートが出力制御回路８７に接続されている。またＭＯＳ型ＦＥＴ８６のドレインは第４のダイオードＤ４を介してこのバッテリ電源部１７の電力入出力端に接続されている。そして出力制御回路８７は、ＣＰＵ５５から与えられる放電指令信号に基づいてＭＯＳ型ＦＥＴ８６をオン／オフすることにより、バッテリ部１９のバッテリ４０に蓄積された電力の放電を開始又は停止させる。具体的に、出力制御回路８７は、放電指令信号の信号レベルが論理「１」レベルのときには、ＭＯＳ型ＦＥＴ８６をオン動作させ、放電指令信号の信号レベルが論理「０」レベルのときには、ＭＯＳ型ＦＥＴ８６をオフさせる。
【００４０】
補助電源部５４は、電源部４のＡＣ／ＤＣコンバータ１６から電源ラインＬＮ１を介して与えられる駆動電圧を所定電圧に昇圧又は減圧してＣＰＵ５５に給電する。
【００４１】
ＣＰＵ５５は、入力回路５０の停電検出用電圧センサ６１から与えられる電圧検出信号に基づいて停電の有無を監視する。そしてＣＰＵ５５は、例えば停電の発生を検出したときには、放電指令信号の信号レベルを論理「１」レベルに立ち上げることによりＭＯＳ型ＦＥＴ８６をオン動作させ、これによりバッテリ部１９からの放電を開始させる。またＣＰＵ５５は、この後、電圧検出信号に基づいて停電からの復電を検出したときには、放電指令信号の信号レベルを論理「０」レベルに立ち下げることによりＭＯＳ型ＦＥＴ８６をオフし、これによりバッテリ部１９からの放電を停止させる。
【００４２】
またＣＰＵ５５は、バッテリ部１９のバッテリ電圧センサ４１から与えられるバッテリ電圧検出信号に基づいてバッテリ部１９内の出力電圧を監視し、例えばバッテリ部１９の出力電圧が所定電圧以下となったときには、充電指令信号の信号レベルを論理「１」レベルに立ち上げることによりＭＯＳ型ＦＥＴ８０，８３をオン動作させ、これによりバッテリ部１９のバッテリ４０に対する充電を開始させる。
【００４３】
さらにＣＰＵ５５は、バッテリ部１９のバッテリ温度センサ４２から与えられるバッテリ温度検出信号に基づいてバッテリ部１９のバッテリ４０の温度を監視し、当該温度が予め定められた所定温度を超えた場合には、充電指令信号の信号レベルを論理「０」レベルに立ち下げることによりＭＯＳ型ＦＥＴ８０，８３をオフさせ、これによりバッテリ部１９のバッテリ４０に対する充電を停止させる。
【００４４】
さらにＣＰＵ５５は、充電回路５１から与えられる充電電流検出信号と、バッテリ部１９の放電電流センサ４３から与えられる放電電流検出信号とに基づいてバッテリ部１９のバッテリ４０の蓄電量を監視する。具体的に、ＣＰＵ５５は、充電電流の電流値及び時間の積算結果から放電電流の電流値及び時間の積算結果を減算することによりバッテリ部１９の蓄電量を算出する。そしてＣＰＵ５５は、バッテリ部１９の蓄電量に基づき、必要に応じて充電指令信号の信号レベルを論理「１」レベルに立ち上げることによりＭＯＳ型ＦＥＴ８０，８３をオン動作させ、これによりバッテリ部１９に対する充電を開始させる。
【００４５】
（２）本実施の形態による充電制御処理
次に、ストレージ装置１に搭載された本実施の形態による充電制御機能について説明する。本ストレージ装置１には、コントロール部３（図１）のキャッシュメモリ部１３に保持されたデータのデータ量に応じて、電源部４のバッテリ部１９のバッテリ４０に対する充電を、高電流で急速に行う急速充電と、低電流で低速に行う低速充電とで切り替えて行う点を充電制御機能が搭載されている点を特徴の１つとしている。
【００４６】
この場合、本ストレージ装置１は、かかる低速充電時に、バッテリ部１９のバッテリ４０に対してパルス状の充電電流を印加することにより、平均すると充電電流が低電流となるように制御する。
【００４７】
加えて、本ストレージ装置１は、バッテリ部１９の蓄電量が、キャッシュメモリ部１３に保持された全データをバックアップするのに必要とされる電力量に満たないときには、ホスト装置からのライト要求に対するライト性能を制限するライト性能制限機能が搭載されている点をもう１つの特徴としている。
【００４８】
実際上、バッテリ電源部１７の充放電制御部２０のＣＰＵ５５（図３）は、図４に示すように、キャッシュメモリ部１３のメモリコントローラ３１に対して、キャッシュメモリ部１３の各揮発性メモリ３０にそれぞれ格納されているデータの合計データ量を定期的に問い合わせる（ＳＰ１，ＳＰ３，ＳＰ５，……）。
【００４９】
またキャッシュメモリ部１３のメモリコントローラ３１（図２）は、かかる問合わせに応じて、かかる合計データ量をキャッシュデータ量情報としてＣＰＵ５５に通知する（ＳＰ２，ＳＰ４，ＳＰ６，……）。
【００５０】
一方、ＣＰＵ５５は、図５（Ａ）〜（Ｃ）に示すように、ストレージ装置１の起動時、充電指令信号の信号レベルを論理「１」レベルに立ち上げ、蓄電量が予め定められた値（例えば満充電の９０パーセントの蓄電量）となるまで、バッテリ部１９のバッテリ４０に対して一定の高電流（例えば１〔Ａ〕）による急速充電を実行させる（時刻ｔ０〜時刻ｔ１）。
【００５１】
またＣＰＵ５５は、この後、充電指令信号の信号レベルを、例えば１分間だけ論理「１」レベルに立ち上げ、その後の２分間は論理「０」レベルに立ち下げることを繰り返すことにより、充電指令信号の信号レベルをパルス状に変化させる。これによりＣＰＵ５５は、バッテリ４０に対して満充電となるまで、低電流（例えば平均が0.3〔Ａ〕）による低速充電を実行させる（時刻ｔ１〜時刻ｔ２）。
【００５２】
またＣＰＵ５５は、バッテリ４０が満充電となると（時刻ｔ２）、充電指令信号の信号レベルを論理「１」レベルに立ち下げることにより充電を休止させ、この後はバッテリ部１９の放電電流センサ４３（図３）から与えられる放電電流検出信号に基づいてバッテリ部１９の蓄電量を監視する（時刻ｔ２〜時刻ｔ３）。
【００５３】
またＣＰＵ５５は、この間、キャッシュメモリ部１３のメモリコントローラ３１から与えられるキャッシュデータ量情報に基づいて、そのときキャッシュメモリ部１３の各揮発性メモリ３０にそれぞれ格納されている全データをデータバックアップ部３２（図２）に退避させるために必要な電力量（以下、これをバックアップ時必要電力量と呼ぶ）を求める。そしてＣＰＵ５５は、上述のようにして求めた現在のバッテリ部１９の蓄電量と、かかる現在のバックアップ時必要電力量とを比較する。
【００５４】
そしてＣＰＵ５５は、バッテリ部１９の蓄電量がバックアップ時必要電力量を下回るタイミングで、時刻ｔ１〜時刻ｔ２と同様に充電指令信号の信号レベルをパルス状に変化させることにより、バッテリ部１９のバッテリ４０に対して低電流による低速充電を実行させ（時刻ｔ３〜時刻ｔ４）、やがてバッテリ４０が満充電となると、充電指令信号の信号レベルを論理「１」レベルに立ち下げることにより、バッテリ４０に対する充電を休止させる（時刻ｔ４）。
【００５５】
そして、ＣＰＵ５５は、やがて入力回路５０（図３）から与えられる電圧検出信号に基づいて停電の発生を検出すると、放電指令信号の信号レベルを論理「１」レベルに立ち上げることにより、バッテリ部１９のバッテリ４０からの放電を開始させる（時刻ｔ４）。またＣＰＵ５５は、やがてキャッシュメモリ部１３のメモリコントローラ３１から、各揮発性メモリ３０からデータバックアップ部３２へのデータの退避が完了した旨の通知が与えられると、放電指令信号の信号レベルを論理「０」レベルに立ち下げることにより放電を停止させる（時刻ｔ５）。
【００５６】
さらにＣＰＵ５５は、この後、入力回路５０（図３）から与えられる電圧検出信号に基づいて停電からの復電を検出すると、充電指令信号の信号レベルを論理「１」レベルに立ち上げることにより、バッテリ部１９のバッテリに対して高電流での急速充電を開始させる（時刻ｔ６）。このときキャッシュメモリ部１３のメモリコントローラ３１は、停電発生時にデータバックアップ部３２に退避させたデータを揮発性メモリ３０に戻す処理を実行する。
【００５７】
またＣＰＵ５５は、キャッシュメモリ部１３に対して各揮発性メモリ３０にそれぞれ格納されているデータの合計データ量を問い合わせる処理を再開する。そしてＣＰＵ５５は、キャッシュメモリ部１３から送信されるキャッシュデータ量情報に基づいて現在のバックアップ時必要電力量を求め、バッテリ部１９の蓄電量がバックアップ時必要電力量となるまで高電流による急速充電を実行させる（時刻ｔ６〜時刻ｔ７）。
【００５８】
さらにＣＰＵ５５は、やがてかかるバッテリ部１９の蓄電量がバックアップ時必要電力量を超えると、充電指令信号の信号レベルを上述したパルス状に変化させることにより、充電モードを低電流による低速充電に切替えさせ、この後、バッテリ部１９のバッテリ４０が満充電となるまで低速充電を行わせる（時刻ｔ７〜時刻ｔ８）。
【００５９】
次いで、ＣＰＵ５５は、バッテリ部１９のバッテリ４０が満充電となると、充電指令信号の信号レベルを論理「０」レベルに立ち下げることにより、バッテリ４０に対する充電を休止させる（時刻ｔ８）。
【００６０】
この後、ＣＰＵ５５は、時刻ｔ２〜時刻ｔ３と同様に、バッテリ部１９から与えられる電圧検出信号に基づいて現在のバッテリ部１９の蓄電量を監視する。またＣＰＵ５５は、これと併せて、キャッシュメモリ部１３から与えられるキャッシュデータ量情報に基づいて現在のバックアップ時必要電力量を求める。そしてＣＰＵ５５は、上述のようにして求めた現在のバッテリ部１９の蓄電量と、かかるバックアップ時必要電力量とを比較する（時刻ｔ８〜時刻ｔ９）。
【００６１】
そしてＣＰＵ５５は、やがてバッテリ部１９の蓄電量がバックアップ時必要電力量を下回るタイミングで、上述したパルス状の充電指令信号を充電回路５１に送信することにより、バッテリ部１９のバッテリ４０に対して低電流での低速充電を開始させ（時刻ｔ９）、この後、時刻ｔ７〜時刻ｔ９について上述した制御を繰り返す。
【００６２】
以上のような本実施の形態による充電制御機能に基づく充電制御処理を実現するための手段として、かかるＣＰＵ５５は、図６に示すようなバックアップ時必要電力量換算テーブル９０を保持している。
【００６３】
このバックアップ時必要電力量換算テーブル９０は、キャッシュメモリ部１３の各揮発性メモリ３０にそれぞれ格納されているデータの全データ量に対するバックアップ時必要電力量をＣＰＵ５５が換算するために利用するテーブルであり、図６に示すように、データ量欄９０Ａ及びバックアップ時必要電力量欄９０Ｂから構成される。
【００６４】
そしてデータ量欄９０Ａには、キャッシュメモリ部１３の各揮発性メモリ３０にそれぞれ格納されているデータの全データ量が例えば所定データ量刻みで順次格納され、バックアップ時必要電力量欄９０Ｂには、予め計算又は実測により求められた、対応するデータ量のデータを揮発性メモリ３０からデータバックアップ部３２（図２）にバックアップするのに必要となる電力量が格納される。
【００６５】
従って、例えば図６には、キャッシュメモリ部１３の各揮発性メモリ３０にそれぞれ格納されたデータの全データ量が「10〜20」〔GB〕のときには、「BB」〔Ｗ〕の電力量が必要となるのに対して、かかる全データ量が「20〜30」〔GB〕のときには、「CC」〔Ｗ〕の電力量が必要であることが示されている。
【００６６】
（３）本実施の形態による充電制御処理に関するＣＰＵの処理
次に、かかる本実施の形態による充電制御処理に関連する充放電制御部２０（図１）のＣＰＵ５５（図３）及びキャッシュメモリ部１３（図１）のメモリコントローラ３１（図２）の具体的な処理内容について説明する。
【００６７】
（３−２）第１の充電制御処理
図７は、本実施の形態による充電制御機能に基づく充電制御処理のうち、ストレージ装置１の初期起動時や停電からの復電時におけるＣＰＵ５５の具体的な処理内容を示す。
【００６８】
ＣＰＵ５５は、ストレージ装置１が初期起動され又は停電から復電するとこの第１の充電制御処理を開始し、まず、今回の起動が初期起動時であるか否かを判断する（ＳＰ１０）。そしてＣＰＵ５５は、この判断において肯定結果を得ると、充電指令信号の信号レベルを論理「１」レベルに立ち上げることにより、バッテリ部１９のバッテリ４０に対して高電流による急速充電を行わせる（ＳＰ１２）。
【００６９】
そしてＣＰＵ５５は、この後、充電回路５１から与えられる充電電流検出信号に基づいて、急速充電を終了すべき状態（ここでは、バッテリ部１９のバッテリ４０の蓄電量が満充電の90％になった状態）となるのを待ち受け（ＳＰ１３）、やがて急速充電を終了すべき状態となったことを確認すると、ステップＳＰ１４に進む。
【００７０】
これに対してＣＰＵ５５は、ステップＳＰ１０の判断において否定結果を得ると、キャッシュメモリ部１３のメモリコントローラ３１から与えられるキャッシュデータ量情報とに基づいて、バッテリ部１９の蓄電量がバックアップ時必要電力量を超えているか否かを判断する（ＳＰ１１）。
【００７１】
そしてＣＰＵ５５は、この判断において否定結果を得ると、ステップＳＰ１２に進み、これに対して肯定結果を得ると、充電指令信号の信号レベルをパルス状に変化させることにより、バッテリ部１９のバッテリ４０に対して低電流による低速充電を行わせる（ＳＰ１４）。
【００７２】
続いて、ＣＰＵ５５は、充電回路５１からの充電電流検出信号に基づいてバッテリ部１９のバッテリ４０が満充電となるのを待ち受け（ＳＰ１５）、やがてバッテリ４０が満充電となったことを認識すると、充電指令信号を論理「０」レベルに立ち下げることによりバッテリ部１９のバッテリ４０に対する充電を休止させる（ＳＰ１６）。
【００７３】
この後、ＣＰＵ５５は、キャッシュメモリ部１３に対して当該キャッシュメモリ部１３の各揮発性メモリ３０にそれぞれ格納されているデータの全データ量を定期的に問い合わせ、バッテリ部１９においてバックアップ時必要電力量の電力を確保しているか否かを常時監視する（ＳＰ１７）。そしてＣＰＵ５５は、やがてバッテリ部１９における自然放電等によりバッテリ部１９における蓄電量がバックアップ時必要電力量を下回るタイミングで、ステップＳＰ１４に戻り、この後、ステップＳＰ１４〜ステップＳＰ１７の処理を繰り返す。
【００７４】
（３−３）第２の充電制御処理
一方、図８は、バッテリ部１９のバッテリ４０の充電時又は充電休止時におけるＣＰＵ５５の具体的な処理内容を示す。
【００７５】
ＣＰＵ５５は、バッテリ部１９のバッテリ４０の充電を開始し又は当該充電を休止すると、この第２の充電制御処理を開始し、まず、停電検出用電圧センサ６１から与えられる電圧検出信号に基づいて、停電発生の有無を監視する（ＳＰ２０）。
【００７６】
そしてＣＰＵ５５は、やがて停電発生を検出すると、放電指令信号の信号レベルを論理「１」レベルに立ち上げることによりＭＯＳ型ＦＥＴ８６をオン動作させて、バッテリ部１９からの放電を開始させる（ＳＰ２１）。これにより放電電流がＤＣ／ＤＣコンバータ１５（図１）を介して駆動電流としてキャッシュメモリ部１３に与えられる。そしてキャッシュメモリ部１３のメモリコントローラ３１（図２）は、この放電電流に基づいて駆動し、揮発性メモリ３０に格納されているデータをデータバックアップ部３２（図２）に退避させる。
【００７７】
次いで、ＣＰＵ５５は、データバックアップの完了後にキャッシュメモリ部１３のメモリコントローラ３１からバックアップを完了した旨の通知を受信したか否かを判断し（ＳＰ２２）、否定結果を得ると、例えばユーザ操作に応じてストレージ装置１のコントローラ１２から放電を停止させるべき旨の命令（放電停止命令）が与えられたか否かを判断する（ＳＰ２３）。
【００７８】
またＣＰＵ５５は、この判断において否定結果を得ると、現在のバッテリ部１９の蓄電量が予め定められた所定電圧（放電終了電圧）に達したか否かを判断する（ＳＰ２４）。そしてＣＰＵ５５は、この判断において否定結果を得ると、入力回路５０の停電検出用電圧センサ６１から与えられる電圧検出信号に基づいて、復電したか否かを判断する（ＳＰ２５）。
【００７９】
さらにＣＰＵ５５は、この判断において否定結果を得るとステップＳＰ２２に戻り、この後、ステップＳＰ２２、ステップＳＰ２３、ステップＳＰ２４又はステップＳＰ２５において肯定結果を得るまでステップＳＰ２２〜ステップＳＰ２５のループを繰り返す。
【００８０】
そしてＣＰＵ５５は、やがてステップＳＰ２２、ステップＳＰ２３、ステップＳＰ２４又はステップＳＰ２５のいずれかにおいて肯定結果を得ると、放電指令信号の信号レベルを論理「０」レベルに立ち下げることによりＭＯＳ型ＦＥＴ８６をオフさせる（ＳＰ２８）。これによりバッテリ部１９からの放電が停止され、キャッシュメモリ部１３に対する駆動電流の供給が停止される。そしてＣＰＵ５５は、所定のシャットダウン処理を実行し（ＳＰ２９）、この後、この第２の充電制御処理を終了する。
【００８１】
（３−４）ライト性能制限処理
一方、図９は、ライト性能制限機能に関するキャッシュメモリ部１３のメモリコントローラ３１により実行されるライト性能制限処理の処理手順を示す。
【００８２】
メモリコントローラ３１は、ストレージ装置１の電源が投入されると、このライト性能制限処理を開始し、まず、バッテリ電源部１７（図１）のＣＰＵ５５に対して、バックアップ時必要電力量の電力がバッテリ部１９に蓄電されているか否かを問い合わせる（ＳＰ３０）。
【００８３】
そしてメモリコントローラ３１は、バックアップ時必要電力量の電力がバッテリ部１９に蓄電されていないときには、現在、ライト性能を制限しているか否かを判断する（ＳＰ３１）。そしてメモリコントローラ３１は、この判断において肯定結果を得るとステップＳＰ３０に戻り、これに対して否定結果を得ると、コントローラ１２（図１）に対してライト性能を制限するよう依頼する。かくしてコントローラ１２は、この依頼に応じて、例えばホスト装置からのライト要求を一部受け付けない、又はライト要求に対する応答を遅くするなどしてライト性能を制限する。そしてメモリコントローラ３１は、この後ステップＳＰ３０に戻る。
【００８４】
一方、メモリコントローラ３１は、ステップＳＰ３０の判断において肯定結果を得ると、現在、ライト性能を制限しているか否かを判断する（ＳＰ３３）。そしてメモリコントローラ３１は、この判断において肯定結果を得るとステップＳＰ３０に戻り、これに対して否定結果を得ると、コントローラ１２に対してライト性能の制限を解除するよう依頼する。かくしてコントローラ１２は、この依頼に応じて、ライト性能の制限を解除する。そしてメモリコントローラ３１は、この後ステップＳＰ３０に戻る。
【００８５】
（４）本実施の形態の効果
以上のように本実施の形態では、停電後の復電時、キャッシュメモリ部１３に格納されているデータの全データ量と、そのときのバッテリ部１９のバッテリ４０の蓄電量とに基づいて、バッテリ部１９における蓄電量がバックアップ時必要電力量を下回っている状態のときには高電流による急速充電を行い、その後、バッテリ部１９における蓄電量がバックアップ時必要電力量を上回ったときには、低電流による低速充電を行う。
【００８６】
従って、本ストレージ装置１によれば、図５（Ｄ）に示すように、バッテリ部１９のバッテリ４０の蓄電量が少なく、データのバックアップを保証できない期間を急速充電により短い期間に抑えながら、発熱量が大きい満充電近くでは低速充電によりバッテリ４０の発熱量を抑えることができる。かくするにつき、バッテリ４０の発熱を抑えながら停電に対するデータ保証を確実に行い得る信頼性の高いストレージ装置を実現できる。
【００８７】
また本ストレージ装置１によれば、充電電流をパルス状にすることによって低電流を形成するようにしているため、例えば高電流によりバッテリ４０を充電する充電回路５１とは別個に低電流によりバッテリ４０を充電するための充電回路を設ける必要がなく、その分、システム全体としての構成の複雑化を防止することができる。
【００８８】
（５）他の実施の形態
なお上述の実施の形態においては、バッテリ電源部１７を図３のように構成するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成を広く適用することができる。
【００８９】
また上述の実施の形態においては、停電時に、キャッシュメモリ部１３の揮発性メモリ３０に格納されているデータのバックアップ先とするデータバックアップ部３２を不揮発性メモリにより構成するようにした場合について述べたが、本発明はこれに限らず、例えばデータバックアップ部３２をハードディスクや光ディスクなどの不揮発性記憶媒体から構成するようにしても良い。また記憶デバイス１０が提供する記憶領域上に作成された特定の論理ボリュームをバックアップ先とするようにしても良い。
【００９０】
さらに上述の実施の形態においては、キャッシュメモリ部１３の揮発性メモリ３０に格納されたデータをデータバックアップ部３２にバックアップするのに必要な電力量を、図６について上述したバックアップ時必要電力量換算テーブル９０を参照して求めるようにした場合について述べたが、本発明はこれに限らず、例えば所定の演算式を用いた演算により求めるようにしても良く、かかる電力量の求め方としては、この他種々の求め方を広く適用することができる。
【産業上の利用可能性】
【００９１】
本発明は、キャッシュメモリに格納されたデータを停電発生時に不揮発性記憶媒体に退避させる停電時バックアップ機能が搭載されたストレージ装置に広く適用することができる。
【符号の説明】
【００９２】
１……ストレージ装置、３……コントロール部、４……電源部、１０……記憶デバイス、１３……キャッシュメモリ部、１７……バッテリ電源部、１９……バッテリ部、２０……充放電制御部、３０……揮発性メモリ、３１……メモリコントローラ、３２……データバックアップ部、５０……入力回路、５１……充電回路、５３……放電回路、５５……ＣＰＵ。
【図１】
0005419805.tif 000002
【図２】
0005419805.tif 000003
【図３】
0005419805.tif 000004
【図４】
0005419805.tif 000005
【図５】
0005419805.tif 000006
【図６】
0005419805.tif 000007
【図７】
0005419805.tif 000008
【図８】
0005419805.tif 000009
【図９】
0005419805.tif 000010