説明

ストレージ装置及び充電制御方法

【課題】
バッテリの発熱を抑えながら停電に対するデータ保証を確実に行い得る信頼性の高いストレージ装置及び充電制御方法を提案する。
【解決手段】
停電からの復電後に、キャッシュメモリ部内の揮発性メモリに格納されたデータの全データ量を取得し、揮発性メモリに格納されたすべてのデータを揮発性メモリからキャッシュメモリ部内の不揮発性記憶媒体にバックアップするために必要な電力量を求め、当該電力量の電力をバッテリに充電するまでバッテリを急速充電し、当該電力量の電力をバッテリに充電した後は、急速充電時よりも低い充電電流で当該バッテリを低速充電するようした。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はストレージ装置及び充電制御方法に関し、特に、キャッシュメモリに格納されたデータを停電発生時に不揮発性記憶媒体に退避させる停電時バックアップ機能が搭載されたストレージ装置に適用して好適なものである。
【背景技術】
【0002】
従来、ストレージ装置においては、ハードディスク装置等の記憶デバイスが提供する記憶領域をホスト装置に提示し、ホスト装置からの要求に応じてかかる記憶領域にデータを読み書きする。このようなストレージ装置では、頻繁に使用されるデータに対するアクセス速度を向上させることなどを目的として、記憶デバイスに読み書きされるデータを揮発性メモリからなるキャッシュメモリに一時的に保存することが行われている。
【0003】
ところで、ストレージ装置において、データ保管は最も重要な性能である。停電等が発生した場合にもデータを保護することは当然であり、データ喪失は社会的な問題にも繋がる。このような事情に鑑み、近年では、停電が発生したときにバッテリによってキャッシュメモリ等に対する電源供給を行いながら、キャッシュメモリに格納されているデータを不揮発性メモリなどに退避(バックアップ)させる停電時バックアップ機能が搭載されたストレージ装置が製品化されている。
【0004】
この場合、上述のような停電時バックアップ機能により「確実なバックアップ」を行うためには、かかるバックアップに必要な電力量を常にバッテリが蓄えている必要があり、このため、例えば停電によりバッテリの蓄電量が用いられた後の復電時や、自然放電により蓄電量が低下した後に、停電に備えて少しでも早く必要量の電力を充電することが必要となる。
【0005】
なお、下記特許文献1には、例えばビデオカメラに用いられるバッテリの充電方式として、満充電までは所定レートの充電電流による急速充電を行い、その後は同じ所定レートのパルス状の充電電流による低速充電を行うことが開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平6−90531号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところが、ストレージ製品のバックアップ用バッテリとして広く用いられるニッケル水素(Ni-MH)電池は、満充電が近くなると発熱が大きくなり、満充電を超えて充電すると更に発熱が大きくなる特性を有する。
【0008】
バッテリの発熱は、バッテリの劣化を進行させるほか、バッテリの信頼性を低下させることとなる。さらには、バッテリから放射された熱はストレージ製品内に拡散されるため、ストレージ装置の信頼性を低下させることにも繋がるため、できる限りバッテリの発熱量を低減することが望ましい。
【0009】
この場合、この発熱量は、充電電流が高レートになるほど大きくなる。従って、発熱を抑止するためには極力低電流で充電するのが望ましい。しかしながら、バッテリの充電を定電流で行うと、充電時間が長くなり、上述のように急速充電を必要とするストレージ装置の充電方式としては、不適切な問題がある。
【0010】
一方、ストレージ製品の性能としては、記憶容量及びデータ速度で比較される。サイズや価格が許される限り性能を向上したいものである。従って、バッテリなど、直接的に性能と評価されないものについては、極力シンプルに構成することが必要となる。
【0011】
本発明は以上の点を考慮してなされたもので、バッテリの発熱を抑えながら停電に対するデータ保証を確実に行い得る信頼性の高いストレージ装置及び充電制御方法を提案しようとするものである。
【課題を解決するための手段】
【0012】
かかる課題を解決するため本発明においては、1又は複数の記憶デバイスを有する記憶デバイス部と、前記記憶デバイスが提供する記憶領域に読み書きするデータを一時的に格納するキャッシュメモリ部と、前記記憶デバイスに対するデータの読み書きを制御するコントロール部と、停電時に前記キャッシュメモリ部に駆動電力を供給するバッテリ電源部とを有するストレージ装置において、前記キャッシュメモリ部は、前記記憶装置が提供する記憶領域に読み書きするデータを一時的に格納する揮発性メモリと、前記揮発性メモリに格納された前記データを一時的にバックアップするための不揮発性記憶媒体と、前記揮発性メモリに対するデータの読み書きを制御すると共に、前記揮発性メモリに格納されたデータを必要に応じて前記不揮発性記憶媒体に退避させるメモリコントローラとを備え、前記バッテリ電源部は、バッテリと、前記バッテリの充放電を制御する充放電制御部とを備え、前記充放電制御部は、停電からの復電後に、前記メモリコントローラから通知される前記揮発性メモリに格納されたデータの全データ量を取得し、すべての当該データを前記揮発性メモリから前記不揮発性記憶媒体にバックアップするために必要な電力量を求め、当該電力量の電力を前記バッテリに充電するまで前記バッテリを急速充電し、当該電力量の電力を前記バッテリに充電した後は、前記急速充電時よりも低い充電電流で当該バッテリを低速充電することを特徴とする。
【0013】
また本発明においては、1又は複数の記憶デバイスを有する記憶デバイス部と、前記記憶デバイスが提供する記憶領域に読み書きするデータを一時的に格納するキャッシュメモリ部と、前記記憶デバイスに対するデータの読み書きを制御するコントロール部と、停電時に前記キャッシュメモリ部に駆動電力を供給するバッテリ電源部とを有するストレージ装置における充電制御方法において、前記キャッシュメモリ部は、前記記憶装置が提供する記憶領域に読み書きするデータを一時的に格納する揮発性メモリと、前記揮発性メモリに格納された前記データを一時的にバックアップするための不揮発性記憶媒体と、前記揮発性メモリに対するデータの読み書きを制御すると共に、前記揮発性メモリに格納されたデータを必要に応じて前記不揮発性記憶媒体に退避させるメモリコントローラとを有し、前記バッテリ電源部は、バッテリと、前記バッテリの充放電を制御する充放電制御部とを有し、停電からの復電後に、前記充放電制御部が、前記メモリコントローラから通知される前記揮発性メモリに格納されたデータの全データ量を取得する第1のステップと、前記充放電制御部が、前記揮発性メモリに格納されたすべてのデータを前記揮発性メモリから前記不揮発性記憶媒体にバックアップするために必要な電力量を求める第2のステップと、前記充放電制御部が、当該電力量の電力を前記バッテリに充電するまで前記バッテリを急速充電し、当該電力量の電力を前記バッテリに充電した後は、前記急速充電時よりも低い充電電流で当該バッテリを低速充電する第3のステップとを備えることを特徴とする。
【発明の効果】
【0014】
本発明によれば、バッテリの蓄電量が少なく、キャッシュメモリ部におけるデータのバックアップを保証できない期間を急速充電により短い期間に抑えながら、発熱量が大きい満充電近くでは低速充電によりバッテリの発熱量を抑えることができる。かくするにつき、バッテリの発熱を抑えながら停電に対するデータ保証を確実に行い得る信頼性の高いストレージ装置及び充電制御方法を実現できる。
【図面の簡単な説明】
【0015】
【図1】本実施の形態によるストレージ装置の概略構成を示すブロック図である。
【図2】キャッシュメモリ部の詳細構成を示すブロック図である。
【図3】バッテリ電源部の詳細構成を示すブロック図である。
【図4】キャッシュメモリ部に格納されたデータの全データ量の収集に関するバッテリ電源部のCPUの処理の説明に供するフローチャートである。
【図5】(A)−(D)は、充電制御処理の説明に供するグラフ及び波形図である。
【図6】バックアップ時必要電力量換算テーブルの構成を示す概念図である。
【図7】第1の充電制御処理の処理手順を示すフローチャートである。
【図8】第2の充電制御処理の処理手順を示すフローチャートである。
【図9】ライト性能制限処理の処理手順を示すフローチャートである。
【発明を実施するための最良の形態】
【0016】
以下図面について、本発明の一実施の形態を詳述する。
【0017】
(1)本実施の形態によるストレージ装置の構成
図1において、1は全体として本実施の形態によるストレージ装置を示す。このストレージ装置は、記憶領域を提供する記憶デバイス部2と、図示しないホスト装置からの要求に応じて記憶デバイス部2に対するデータの読み書きを制御するコントロール部3と、記憶デバイス部2及びコントロール部3に対して駆動電力を供給する電源部4とを備えて構成される。
【0018】
記憶デバイス部2は、1又は複数の記憶デバイス10と、DC/DCコンバータ11とを備える。
【0019】
記憶デバイス10は、例えばSCSI(Small Computer System Interface)ディスク等の高価なディスクや、SATA(Serial AT Attachment)ディスク又は光ディスク等の安価なディスクなどから構成される。1又は複数の記憶デバイス10により提供される物理的な記憶領域上に、1又は複数の論理的なボリューム(以下、これを論理ボリュームと呼ぶ)が設定される。そしてホスト装置からのデータは、この論理ボリューム内に所定大きさのブロック又はファイルを単位として記憶される。
【0020】
各論理ボリュームには、それぞれ固有の識別子(以下、これをLUN(Logical Unit number)と呼ぶ)が付与される。本実施の形態の場合、論理ボリュームに対するデータの入出力は、このLUNと、各論理ブロックにそれぞれ付与されるその論理ブロックに固有の番号(LBA:Logical Block Address)とを組み合わせたものをアドレスとして、当該アドレス及びデータ長を指定して行われる。
【0021】
DC/DCコンバータ11は、電源部4から与えられる駆動電圧を所定電圧に昇圧又は減圧し、かくして得られた所定電圧の駆動電圧を各記憶デバイス10に供給する。
【0022】
一方、コントロール部3は、コントローラ12及びキャッシュメモリ部13等の情報処理資源と、これらコントローラ12及びキャッシュメモリ部13にそれぞれ対応させて設けられたDC/DCコンバータ14,15を備えて構成される。
【0023】
コントローラ12は、ストレージ装置1全体の動作制御を司るプロセッサであり、その内部に各種制御プログラムを記憶保持するためのローカルメモリ(図示せず)を備える。ローカルメモリに格納された各種制御プログラムをコントローラ12が実行することにより、例えば記憶デバイス部2の記憶デバイス10に対するデータの読書き制御などの各種制御処理が行われる。キャッシュメモリ部13は、主としてホスト装置からのアクセス要求に応じて論理ボリューム(記憶デバイス10)に読み書きされるデータを一時的に保存するために用いられる。
【0024】
図2は、キャッシュメモリ部13の詳細構成を示す。この図2に示すように、キャッシュメモリ部13は、複数の揮発性メモリ30、メモリコントローラ31及びデータバックアップ部32から構成される。メモリコントローラ31は、各揮発性メモリ30に対してデータを読み書きする機能のほか、コントローラ12(図1)や後述するバッテリ電源部17(図1)の充放電制御部20(図1)と通信を行う通信機能を備える。またデータバックアップ部32は、例えばフラッシュメモリ等の不揮発性メモリから構成され、停電発生時に揮発性メモリに保存されているデータを退避させるために用いられる。
【0025】
DC/DCコンバータ14,15は、記憶デバイス部2のDC/DCコンバータ11と同様の機能を有するもので、それぞれ電源部4から与えられる駆動電圧を所定電圧に昇圧又は減圧し、かくして得られた所定電圧の駆動電圧を対応するコントローラ12や、キャッシュメモリ部13に供給する。
【0026】
電源部4は、AC/DCコンバータ16及びバッテリ電源部17を備えて構成される。AC/DCコンバータ16は、商用交流電源18から得られる100〔V〕の交流電圧を所定電圧の直流電圧に変換し、かくして得られた直流電圧を記憶デバイス部2のDC/DCコンバータ11と、コントロール部3のDC/DCコンバータ14,15と、バッテリ電源部17の充放電制御部20(図1)とにそれぞれ供給する。
【0027】
またバッテリ電源部17は、複数のバッテリを備えるバッテリ部19と、バッテリ部19の充放電を制御する充放電制御部20とから構成される。
【0028】
図3は、バッテリ部19及び充放電制御部20の詳細構成を示す。バッテリ部19は、電源部4(図1)からバッテリ電源部17の電力入出力端(図示せず)を介して直流電圧が印加される電源ラインLN1と、接地されたアースラインLN2との間に直列接続された複数のバッテリ40及び放電電流監視用抵抗R1と、バッテリ電圧センサ41、バッテリ温度センサ42及び放電電流センサ43を備えて構成される。
【0029】
バッテリ40は、例えばニッケル水素電池などから構成される。バッテリ電圧センサ41は、電源ラインLN1とバッテリ部19との接続中点におけるバッテリ部19の出力電圧を検出し、検出結果をバッテリ電圧検出信号として後述する充放電制御部20のCPU55に送信する。
【0030】
またバッテリ温度センサ42は、バッテリ40の温度を検出し、検出結果をバッテリ温度検出信号として充放電制御部20のCPU55に送信する。さらに放電電流センサ43は、停電発生時などにバッテリ部19から出力される放電電流の電流値を検出し、検出結果を放電電流検出信号として充放電制御部20のCPU55に送信する。
【0031】
充放電制御部20は、入力回路50、充電回路51、放電回路53、補助電源部54及びCPU(Central Processing Unit)55を備えて構成される。
【0032】
入力回路50は、電源ラインLN1上に介挿された突入電流防止回路60と、電源ラインLN1及びアースラインLN2間に直列接続された第1及び第2の分圧抵抗R2,R3と、停電検出用電圧センサ61とを備える。
【0033】
突入電流防止回路60は、CPU55から与えられる突入電流防止指令信号に基づいて駆動し、ストレージ装置1の電源投入時に入力する突入電流を抑制する。また停電検出用電圧センサ61は、第1及び第2の分圧抵抗R2,R3の接続中点の電圧を検出し、検出結果を電圧検出信号としてCPU55に送信する。
【0034】
充電回路51は、昇圧部70及び定電流部71から構成される。昇圧部70は、第1及び第2のコンデンサC1,C2、第1のコイルL1、ダイオードD1並びにMOS型のFET(Metal Oxide Semiconductor Field Effect Transistor)80からなる昇圧回路81と、第1及び第2の分圧抵抗R4,R5と、昇圧制御回路82とを備える。
【0035】
昇圧回路81を構成する第1及び第2のコンデンサC1,C2は、それぞれ電源ラインLN1及びアースラインLN2間にそれぞれ接続され、第1のコイルL1及び第1のダイオードD1は、電源ラインLN1における第1及び第2のコンデンサC1,C2間に直列に挿入されている。またMOS型FET80は、ドレインが電源ラインLN1における第1のコイルL1及び第1のダイオードD1の接続中点に接続されると共に、ソースがアースラインLN2と接続され、ゲートが昇圧制御回路82と接続されている。
【0036】
昇圧制御回路82は、電源ラインLN1における第1のダイオードD1及び第2のコンデンサC2の接続中点と、アースラインLN2との間に直列接続された第1及び第2の分圧抵抗R4,R5の接続中点の電圧を監視する。そして昇圧制御回路82は、CPU55からの充電指令信号に基づき、必要に応じて、かかる第1及び第2の分圧抵抗R3,R4の接続中点の電圧が予め定められた電圧となるように第1のMOS型FET82を高周波でオン/オフさせる。これにより入力回路50の出力電圧が昇圧部70において昇圧される。具体的に、昇圧制御回路82は、充電指示信号の信号レベルが論理「1」レベルのときには、MOS型FET80をオン動作(高周波でオン/オフ)させ、放電指令信号の信号レベルが論理「0」レベルのときには、MOS型FET80をオフさせる。
【0037】
定電流部71は、第2のコイルL2、電流検出用抵抗R6、第2及び第3のダイオードD2,D3並びにMOS型FET83からなる定電流回路84と、定電流制御回路85とを備える。第2のコイルL2、電流検出用抵抗R6及び第3のダイオードD3は、この順番で直列に接続されて電源ラインLN1に介挿されている。またMOS型FET83は、ドレインが電源ラインLN1における昇圧回路81の第1のダイオードD1及び第2のコンデンサC2の接続中点に接続されると共に、ドレインが第2のコイルL2と接続され、ゲートが定電流制御回路85と接続されている。さらに第2のダイオードD2は、電源ラインLN1におけるMOS型FET83のドレイン及び第2のコイルL2の接続中点と、アースラインLN2との間に接続されている。
【0038】
そして定電流制御回路85は、電流検出用抵抗R6の両端子の電圧をそれぞれ取得し、これら2つの電圧の電圧差が予め定められた複数の基準値のうちの充電指令信号により指定された値となるようにMOS型FET83を高周波でオン/オフさせる。具体的に、定電流制御回路85は、充電指示信号の信号レベルが論理「1」レベルのときには、MOS型FET83をオン動作(高周波でオン/オフ)させ、放電指令信号の信号レベルが論理「0」レベルのときには、MOS型FET83をオフさせる。これにより昇圧部70の出力電流が定電流部71において充電指令信号により指定された電流値に制御され、これが充電電流としてバッテリ部19に与えられる。また定電流制御回路85は、電流検出用抵抗R6の両端子間の電圧差に基づいて充電電流の電流値を求め、これを充電電流検出信号としてCPU55に送信する。
【0039】
放電回路53は、MOS型FET86、第4のダイオードD4及び出力制御回路87から構成される。MOS型FET86は、ソースがバッテリ部52のバッテリ群と電源ラインLN1との接続中点に接続され、ゲートが出力制御回路87に接続されている。またMOS型FET86のドレインは第4のダイオードD4を介してこのバッテリ電源部17の電力入出力端に接続されている。そして出力制御回路87は、CPU55から与えられる放電指令信号に基づいてMOS型FET86をオン/オフすることにより、バッテリ部19のバッテリ40に蓄積された電力の放電を開始又は停止させる。具体的に、出力制御回路87は、放電指令信号の信号レベルが論理「1」レベルのときには、MOS型FET86をオン動作させ、放電指令信号の信号レベルが論理「0」レベルのときには、MOS型FET86をオフさせる。
【0040】
補助電源部54は、電源部4のAC/DCコンバータ16から電源ラインLN1を介して与えられる駆動電圧を所定電圧に昇圧又は減圧してCPU55に給電する。
【0041】
CPU55は、入力回路50の停電検出用電圧センサ61から与えられる電圧検出信号に基づいて停電の有無を監視する。そしてCPU55は、例えば停電の発生を検出したときには、放電指令信号の信号レベルを論理「1」レベルに立ち上げることによりMOS型FET86をオン動作させ、これによりバッテリ部19からの放電を開始させる。またCPU55は、この後、電圧検出信号に基づいて停電からの復電を検出したときには、放電指令信号の信号レベルを論理「0」レベルに立ち下げることによりMOS型FET86をオフし、これによりバッテリ部19からの放電を停止させる。
【0042】
またCPU55は、バッテリ部19のバッテリ電圧センサ41から与えられるバッテリ電圧検出信号に基づいてバッテリ部19内の出力電圧を監視し、例えばバッテリ部19の出力電圧が所定電圧以下となったときには、充電指令信号の信号レベルを論理「1」レベルに立ち上げることによりMOS型FET80,83をオン動作させ、これによりバッテリ部19のバッテリ40に対する充電を開始させる。
【0043】
さらにCPU55は、バッテリ部19のバッテリ温度センサ42から与えられるバッテリ温度検出信号に基づいてバッテリ部19のバッテリ40の温度を監視し、当該温度が予め定められた所定温度を超えた場合には、充電指令信号の信号レベルを論理「0」レベルに立ち下げることによりMOS型FET80,83をオフさせ、これによりバッテリ部19のバッテリ40に対する充電を停止させる。
【0044】
さらにCPU55は、充電回路51から与えられる充電電流検出信号と、バッテリ部19の放電電流センサ43から与えられる放電電流検出信号とに基づいてバッテリ部19のバッテリ40の蓄電量を監視する。具体的に、CPU55は、充電電流の電流値及び時間の積算結果から放電電流の電流値及び時間の積算結果を減算することによりバッテリ部19の蓄電量を算出する。そしてCPU55は、バッテリ部19の蓄電量に基づき、必要に応じて充電指令信号の信号レベルを論理「1」レベルに立ち上げることによりMOS型FET80,83をオン動作させ、これによりバッテリ部19に対する充電を開始させる。
【0045】
(2)本実施の形態による充電制御処理
次に、ストレージ装置1に搭載された本実施の形態による充電制御機能について説明する。本ストレージ装置1には、コントロール部3(図1)のキャッシュメモリ部13に保持されたデータのデータ量に応じて、電源部4のバッテリ部19のバッテリ40に対する充電を、高電流で急速に行う急速充電と、低電流で低速に行う低速充電とで切り替えて行う点を充電制御機能が搭載されている点を特徴の1つとしている。
【0046】
この場合、本ストレージ装置1は、かかる低速充電時に、バッテリ部19のバッテリ40に対してパルス状の充電電流を印加することにより、平均すると充電電流が低電流となるように制御する。
【0047】
加えて、本ストレージ装置1は、バッテリ部19の蓄電量が、キャッシュメモリ部13に保持された全データをバックアップするのに必要とされる電力量に満たないときには、ホスト装置からのライト要求に対するライト性能を制限するライト性能制限機能が搭載されている点をもう1つの特徴としている。
【0048】
実際上、バッテリ電源部17の充放電制御部20のCPU55(図3)は、図4に示すように、キャッシュメモリ部13のメモリコントローラ31に対して、キャッシュメモリ部13の各揮発性メモリ30にそれぞれ格納されているデータの合計データ量を定期的に問い合わせる(SP1,SP3,SP5,……)。
【0049】
またキャッシュメモリ部13のメモリコントローラ31(図2)は、かかる問合わせに応じて、かかる合計データ量をキャッシュデータ量情報としてCPU55に通知する(SP2,SP4,SP6,……)。
【0050】
一方、CPU55は、図5(A)〜(C)に示すように、ストレージ装置1の起動時、充電指令信号の信号レベルを論理「1」レベルに立ち上げ、蓄電量が予め定められた値(例えば満充電の90パーセントの蓄電量)となるまで、バッテリ部19のバッテリ40に対して一定の高電流(例えば1〔A〕)による急速充電を実行させる(時刻t0〜時刻t1)。
【0051】
またCPU55は、この後、充電指令信号の信号レベルを、例えば1分間だけ論理「1」レベルに立ち上げ、その後の2分間は論理「0」レベルに立ち下げることを繰り返すことにより、充電指令信号の信号レベルをパルス状に変化させる。これによりCPU55は、バッテリ40に対して満充電となるまで、低電流(例えば平均が0.3〔A〕)による低速充電を実行させる(時刻t1〜時刻t2)。
【0052】
またCPU55は、バッテリ40が満充電となると(時刻t2)、充電指令信号の信号レベルを論理「1」レベルに立ち下げることにより充電を休止させ、この後はバッテリ部19の放電電流センサ43(図3)から与えられる放電電流検出信号に基づいてバッテリ部19の蓄電量を監視する(時刻t2〜時刻t3)。
【0053】
またCPU55は、この間、キャッシュメモリ部13のメモリコントローラ31から与えられるキャッシュデータ量情報に基づいて、そのときキャッシュメモリ部13の各揮発性メモリ30にそれぞれ格納されている全データをデータバックアップ部32(図2)に退避させるために必要な電力量(以下、これをバックアップ時必要電力量と呼ぶ)を求める。そしてCPU55は、上述のようにして求めた現在のバッテリ部19の蓄電量と、かかる現在のバックアップ時必要電力量とを比較する。
【0054】
そしてCPU55は、バッテリ部19の蓄電量がバックアップ時必要電力量を下回るタイミングで、時刻t1〜時刻t2と同様に充電指令信号の信号レベルをパルス状に変化させることにより、バッテリ部19のバッテリ40に対して低電流による低速充電を実行させ(時刻t3〜時刻t4)、やがてバッテリ40が満充電となると、充電指令信号の信号レベルを論理「1」レベルに立ち下げることにより、バッテリ40に対する充電を休止させる(時刻t4)。
【0055】
そして、CPU55は、やがて入力回路50(図3)から与えられる電圧検出信号に基づいて停電の発生を検出すると、放電指令信号の信号レベルを論理「1」レベルに立ち上げることにより、バッテリ部19のバッテリ40からの放電を開始させる(時刻t4)。またCPU55は、やがてキャッシュメモリ部13のメモリコントローラ31から、各揮発性メモリ30からデータバックアップ部32へのデータの退避が完了した旨の通知が与えられると、放電指令信号の信号レベルを論理「0」レベルに立ち下げることにより放電を停止させる(時刻t5)。
【0056】
さらにCPU55は、この後、入力回路50(図3)から与えられる電圧検出信号に基づいて停電からの復電を検出すると、充電指令信号の信号レベルを論理「1」レベルに立ち上げることにより、バッテリ部19のバッテリに対して高電流での急速充電を開始させる(時刻t6)。このときキャッシュメモリ部13のメモリコントローラ31は、停電発生時にデータバックアップ部32に退避させたデータを揮発性メモリ30に戻す処理を実行する。
【0057】
またCPU55は、キャッシュメモリ部13に対して各揮発性メモリ30にそれぞれ格納されているデータの合計データ量を問い合わせる処理を再開する。そしてCPU55は、キャッシュメモリ部13から送信されるキャッシュデータ量情報に基づいて現在のバックアップ時必要電力量を求め、バッテリ部19の蓄電量がバックアップ時必要電力量となるまで高電流による急速充電を実行させる(時刻t6〜時刻t7)。
【0058】
さらにCPU55は、やがてかかるバッテリ部19の蓄電量がバックアップ時必要電力量を超えると、充電指令信号の信号レベルを上述したパルス状に変化させることにより、充電モードを低電流による低速充電に切替えさせ、この後、バッテリ部19のバッテリ40が満充電となるまで低速充電を行わせる(時刻t7〜時刻t8)。
【0059】
次いで、CPU55は、バッテリ部19のバッテリ40が満充電となると、充電指令信号の信号レベルを論理「0」レベルに立ち下げることにより、バッテリ40に対する充電を休止させる(時刻t8)。
【0060】
この後、CPU55は、時刻t2〜時刻t3と同様に、バッテリ部19から与えられる電圧検出信号に基づいて現在のバッテリ部19の蓄電量を監視する。またCPU55は、これと併せて、キャッシュメモリ部13から与えられるキャッシュデータ量情報に基づいて現在のバックアップ時必要電力量を求める。そしてCPU55は、上述のようにして求めた現在のバッテリ部19の蓄電量と、かかるバックアップ時必要電力量とを比較する(時刻t8〜時刻t9)。
【0061】
そしてCPU55は、やがてバッテリ部19の蓄電量がバックアップ時必要電力量を下回るタイミングで、上述したパルス状の充電指令信号を充電回路51に送信することにより、バッテリ部19のバッテリ40に対して低電流での低速充電を開始させ(時刻t9)、この後、時刻t7〜時刻t9について上述した制御を繰り返す。
【0062】
以上のような本実施の形態による充電制御機能に基づく充電制御処理を実現するための手段として、かかるCPU55は、図6に示すようなバックアップ時必要電力量換算テーブル90を保持している。
【0063】
このバックアップ時必要電力量換算テーブル90は、キャッシュメモリ部13の各揮発性メモリ30にそれぞれ格納されているデータの全データ量に対するバックアップ時必要電力量をCPU55が換算するために利用するテーブルであり、図6に示すように、データ量欄90A及びバックアップ時必要電力量欄90Bから構成される。
【0064】
そしてデータ量欄90Aには、キャッシュメモリ部13の各揮発性メモリ30にそれぞれ格納されているデータの全データ量が例えば所定データ量刻みで順次格納され、バックアップ時必要電力量欄90Bには、予め計算又は実測により求められた、対応するデータ量のデータを揮発性メモリ30からデータバックアップ部32(図2)にバックアップするのに必要となる電力量が格納される。
【0065】
従って、例えば図6には、キャッシュメモリ部13の各揮発性メモリ30にそれぞれ格納されたデータの全データ量が「10〜20」〔GB〕のときには、「BB」〔W〕の電力量が必要となるのに対して、かかる全データ量が「20〜30」〔GB〕のときには、「CC」〔W〕の電力量が必要であることが示されている。
【0066】
(3)本実施の形態による充電制御処理に関するCPUの処理
次に、かかる本実施の形態による充電制御処理に関連する充放電制御部20(図1)のCPU55(図3)及びキャッシュメモリ部13(図1)のメモリコントローラ31(図2)の具体的な処理内容について説明する。
【0067】
(3−2)第1の充電制御処理
図7は、本実施の形態による充電制御機能に基づく充電制御処理のうち、ストレージ装置1の初期起動時や停電からの復電時におけるCPU55の具体的な処理内容を示す。
【0068】
CPU55は、ストレージ装置1が初期起動され又は停電から復電するとこの第1の充電制御処理を開始し、まず、今回の起動が初期起動時であるか否かを判断する(SP10)。そしてCPU55は、この判断において肯定結果を得ると、充電指令信号の信号レベルを論理「1」レベルに立ち上げることにより、バッテリ部19のバッテリ40に対して高電流による急速充電を行わせる(SP12)。
【0069】
そしてCPU55は、この後、充電回路51から与えられる充電電流検出信号に基づいて、急速充電を終了すべき状態(ここでは、バッテリ部19のバッテリ40の蓄電量が満充電の90%になった状態)となるのを待ち受け(SP13)、やがて急速充電を終了すべき状態となったことを確認すると、ステップSP14に進む。
【0070】
これに対してCPU55は、ステップSP10の判断において否定結果を得ると、キャッシュメモリ部13のメモリコントローラ31から与えられるキャッシュデータ量情報とに基づいて、バッテリ部19の蓄電量がバックアップ時必要電力量を超えているか否かを判断する(SP11)。
【0071】
そしてCPU55は、この判断において否定結果を得ると、ステップSP12に進み、これに対して肯定結果を得ると、充電指令信号の信号レベルをパルス状に変化させることにより、バッテリ部19のバッテリ40に対して低電流による低速充電を行わせる(SP14)。
【0072】
続いて、CPU55は、充電回路51からの充電電流検出信号に基づいてバッテリ部19のバッテリ40が満充電となるのを待ち受け(SP15)、やがてバッテリ40が満充電となったことを認識すると、充電指令信号を論理「0」レベルに立ち下げることによりバッテリ部19のバッテリ40に対する充電を休止させる(SP16)。
【0073】
この後、CPU55は、キャッシュメモリ部13に対して当該キャッシュメモリ部13の各揮発性メモリ30にそれぞれ格納されているデータの全データ量を定期的に問い合わせ、バッテリ部19においてバックアップ時必要電力量の電力を確保しているか否かを常時監視する(SP17)。そしてCPU55は、やがてバッテリ部19における自然放電等によりバッテリ部19における蓄電量がバックアップ時必要電力量を下回るタイミングで、ステップSP14に戻り、この後、ステップSP14〜ステップSP17の処理を繰り返す。
【0074】
(3−3)第2の充電制御処理
一方、図8は、バッテリ部19のバッテリ40の充電時又は充電休止時におけるCPU55の具体的な処理内容を示す。
【0075】
CPU55は、バッテリ部19のバッテリ40の充電を開始し又は当該充電を休止すると、この第2の充電制御処理を開始し、まず、停電検出用電圧センサ61から与えられる電圧検出信号に基づいて、停電発生の有無を監視する(SP20)。
【0076】
そしてCPU55は、やがて停電発生を検出すると、放電指令信号の信号レベルを論理「1」レベルに立ち上げることによりMOS型FET86をオン動作させて、バッテリ部19からの放電を開始させる(SP21)。これにより放電電流がDC/DCコンバータ15(図1)を介して駆動電流としてキャッシュメモリ部13に与えられる。そしてキャッシュメモリ部13のメモリコントローラ31(図2)は、この放電電流に基づいて駆動し、揮発性メモリ30に格納されているデータをデータバックアップ部32(図2)に退避させる。
【0077】
次いで、CPU55は、データバックアップの完了後にキャッシュメモリ部13のメモリコントローラ31からバックアップを完了した旨の通知を受信したか否かを判断し(SP22)、否定結果を得ると、例えばユーザ操作に応じてストレージ装置1のコントローラ12から放電を停止させるべき旨の命令(放電停止命令)が与えられたか否かを判断する(SP23)。
【0078】
またCPU55は、この判断において否定結果を得ると、現在のバッテリ部19の蓄電量が予め定められた所定電圧(放電終了電圧)に達したか否かを判断する(SP24)。そしてCPU55は、この判断において否定結果を得ると、入力回路50の停電検出用電圧センサ61から与えられる電圧検出信号に基づいて、復電したか否かを判断する(SP25)。
【0079】
さらにCPU55は、この判断において否定結果を得るとステップSP22に戻り、この後、ステップSP22、ステップSP23、ステップSP24又はステップSP25において肯定結果を得るまでステップSP22〜ステップSP25のループを繰り返す。
【0080】
そしてCPU55は、やがてステップSP22、ステップSP23、ステップSP24又はステップSP25のいずれかにおいて肯定結果を得ると、放電指令信号の信号レベルを論理「0」レベルに立ち下げることによりMOS型FET86をオフさせる(SP28)。これによりバッテリ部19からの放電が停止され、キャッシュメモリ部13に対する駆動電流の供給が停止される。そしてCPU55は、所定のシャットダウン処理を実行し(SP29)、この後、この第2の充電制御処理を終了する。
【0081】
(3−4)ライト性能制限処理
一方、図9は、ライト性能制限機能に関するキャッシュメモリ部13のメモリコントローラ31により実行されるライト性能制限処理の処理手順を示す。
【0082】
メモリコントローラ31は、ストレージ装置1の電源が投入されると、このライト性能制限処理を開始し、まず、バッテリ電源部17(図1)のCPU55に対して、バックアップ時必要電力量の電力がバッテリ部19に蓄電されているか否かを問い合わせる(SP30)。
【0083】
そしてメモリコントローラ31は、バックアップ時必要電力量の電力がバッテリ部19に蓄電されていないときには、現在、ライト性能を制限しているか否かを判断する(SP31)。そしてメモリコントローラ31は、この判断において肯定結果を得るとステップSP30に戻り、これに対して否定結果を得ると、コントローラ12(図1)に対してライト性能を制限するよう依頼する。かくしてコントローラ12は、この依頼に応じて、例えばホスト装置からのライト要求を一部受け付けない、又はライト要求に対する応答を遅くするなどしてライト性能を制限する。そしてメモリコントローラ31は、この後ステップSP30に戻る。
【0084】
一方、メモリコントローラ31は、ステップSP30の判断において肯定結果を得ると、現在、ライト性能を制限しているか否かを判断する(SP33)。そしてメモリコントローラ31は、この判断において肯定結果を得るとステップSP30に戻り、これに対して否定結果を得ると、コントローラ12に対してライト性能の制限を解除するよう依頼する。かくしてコントローラ12は、この依頼に応じて、ライト性能の制限を解除する。そしてメモリコントローラ31は、この後ステップSP30に戻る。
【0085】
(4)本実施の形態の効果
以上のように本実施の形態では、停電後の復電時、キャッシュメモリ部13に格納されているデータの全データ量と、そのときのバッテリ部19のバッテリ40の蓄電量とに基づいて、バッテリ部19における蓄電量がバックアップ時必要電力量を下回っている状態のときには高電流による急速充電を行い、その後、バッテリ部19における蓄電量がバックアップ時必要電力量を上回ったときには、低電流による低速充電を行う。
【0086】
従って、本ストレージ装置1によれば、図5(D)に示すように、バッテリ部19のバッテリ40の蓄電量が少なく、データのバックアップを保証できない期間を急速充電により短い期間に抑えながら、発熱量が大きい満充電近くでは低速充電によりバッテリ40の発熱量を抑えることができる。かくするにつき、バッテリ40の発熱を抑えながら停電に対するデータ保証を確実に行い得る信頼性の高いストレージ装置を実現できる。
【0087】
また本ストレージ装置1によれば、充電電流をパルス状にすることによって低電流を形成するようにしているため、例えば高電流によりバッテリ40を充電する充電回路51とは別個に低電流によりバッテリ40を充電するための充電回路を設ける必要がなく、その分、システム全体としての構成の複雑化を防止することができる。
【0088】
(5)他の実施の形態
なお上述の実施の形態においては、バッテリ電源部17を図3のように構成するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成を広く適用することができる。
【0089】
また上述の実施の形態においては、停電時に、キャッシュメモリ部13の揮発性メモリ30に格納されているデータのバックアップ先とするデータバックアップ部32を不揮発性メモリにより構成するようにした場合について述べたが、本発明はこれに限らず、例えばデータバックアップ部32をハードディスクや光ディスクなどの不揮発性記憶媒体から構成するようにしても良い。また記憶デバイス10が提供する記憶領域上に作成された特定の論理ボリュームをバックアップ先とするようにしても良い。
【0090】
さらに上述の実施の形態においては、キャッシュメモリ部13の揮発性メモリ30に格納されたデータをデータバックアップ部32にバックアップするのに必要な電力量を、図6について上述したバックアップ時必要電力量換算テーブル90を参照して求めるようにした場合について述べたが、本発明はこれに限らず、例えば所定の演算式を用いた演算により求めるようにしても良く、かかる電力量の求め方としては、この他種々の求め方を広く適用することができる。
【産業上の利用可能性】
【0091】
本発明は、キャッシュメモリに格納されたデータを停電発生時に不揮発性記憶媒体に退避させる停電時バックアップ機能が搭載されたストレージ装置に広く適用することができる。
【符号の説明】
【0092】
1……ストレージ装置、3……コントロール部、4……電源部、10……記憶デバイス、13……キャッシュメモリ部、17……バッテリ電源部、19……バッテリ部、20……充放電制御部、30……揮発性メモリ、31……メモリコントローラ、32……データバックアップ部、50……入力回路、51……充電回路、53……放電回路、55……CPU。

【特許請求の範囲】
【請求項1】
1又は複数の記憶デバイスを有する記憶デバイス部と、前記記憶デバイスが提供する記憶領域に読み書きするデータを一時的に格納するキャッシュメモリ部と、前記記憶デバイスに対するデータの読み書きを制御するコントロール部と、停電時に前記キャッシュメモリ部に駆動電力を供給するバッテリ電源部とを有するストレージ装置において、
前記キャッシュメモリ部は、
前記記憶装置が提供する記憶領域に読み書きするデータを一時的に格納する揮発性メモリと、
前記揮発性メモリに格納された前記データを一時的にバックアップするための不揮発性記憶媒体と、
前記揮発性メモリに対するデータの読み書きを制御すると共に、前記揮発性メモリに格納されたデータを必要に応じて前記不揮発性記憶媒体に退避させるメモリコントローラと
を備え、
前記バッテリ電源部は、
バッテリと、
前記バッテリの充放電を制御する充放電制御部と
を備え、
前記充放電制御部は、
停電からの復電後に、前記メモリコントローラから通知される前記揮発性メモリに格納されたデータの全データ量を取得し、すべての当該データを前記揮発性メモリから前記不揮発性記憶媒体にバックアップするために必要な電力量を求め、当該電力量の電力を前記バッテリに充電するまで前記バッテリを急速充電し、当該電力量の電力を前記バッテリに充電した後は、前記急速充電時よりも低い充電電流で当該バッテリを低速充電する
ことを特徴とするストレージ装置。
【請求項2】
前記充放電制御部は、
前記急速充電時には、一定電流値の充電電流を印加するようにして前記バッテリを急速充電し、前記低速充電時には、パルス状の充電電流を印加するようにして前記バッテリを低速充電する
ことを特徴とする請求項1に記載のストレージ装置。
【請求項3】
前記充放電制御部は、
前記ストレージ装置の初期起動時には、所定量の電力を充電するまで前記バッテリを急速充電し、当該バッテリに前記所定量の電力を充電した後は、当該バッテリを低速充電する
ことを特徴とする請求項1に記載のストレージ装置。
【請求項4】
前記メモリコントローラは、
前記キャッシュメモリ部の前記揮発性メモリに格納されている全データを前記不揮発性記憶媒体にバックアップするのに要する電力量が前記バッテリに蓄電されていないときには、ホスト装置からのライト要求に対するライト性能を制限する
ことを特徴とする請求項1に記載のストレージ装置。
【請求項5】
1又は複数の記憶デバイスを有する記憶デバイス部と、前記記憶デバイスが提供する記憶領域に読み書きするデータを一時的に格納するキャッシュメモリ部と、前記記憶デバイスに対するデータの読み書きを制御するコントロール部と、停電時に前記キャッシュメモリ部に駆動電力を供給するバッテリ電源部とを有するストレージ装置における充電制御方法において、
前記キャッシュメモリ部は、
前記記憶装置が提供する記憶領域に読み書きするデータを一時的に格納する揮発性メモリと、
前記揮発性メモリに格納された前記データを一時的にバックアップするための不揮発性記憶媒体と、
前記揮発性メモリに対するデータの読み書きを制御すると共に、前記揮発性メモリに格納されたデータを必要に応じて前記不揮発性記憶媒体に退避させるメモリコントローラと
を有し、
前記バッテリ電源部は、
バッテリと、
前記バッテリの充放電を制御する充放電制御部と
を有し、
停電からの復電後に、前記充放電制御部が、前記メモリコントローラから通知される前記揮発性メモリに格納されたデータの全データ量を取得する第1のステップと、
前記充放電制御部が、前記揮発性メモリに格納されたすべてのデータを前記揮発性メモリから前記不揮発性記憶媒体にバックアップするために必要な電力量を求める第2のステップと、
前記充放電制御部が、当該電力量の電力を前記バッテリに充電するまで前記バッテリを急速充電し、当該電力量の電力を前記バッテリに充電した後は、前記急速充電時よりも低い充電電流で当該バッテリを低速充電する第3のステップと
を備えることを特徴とする充電制御方法。
【請求項6】
前記第3のステップにおいて、前記充放電制御部は、
前記急速充電時に、一定電流値の充電電流を印加するようにして前記バッテリを急速充電し、前記低速充電時には、パルス状の充電電流を印加するようにして前記バッテリを低速充電する
ことを特徴とする請求項5に記載の充電制御方法。
【請求項7】
前記第3のステップにおいて、前記充放電制御部は、
前記ストレージ装置の初期起動時には、所定量の電力を充電するまで前記バッテリを急速充電し、当該バッテリに前記所定量の電力を充電した後は、当該バッテリを低速充電する
ことを特徴とする請求項5に記載の充電制御方法。
【請求項8】
前記第3のステップにおいて、前記メモリコントローラは、
前記キャッシュメモリ部の前記揮発性メモリに格納されている全データを前記不揮発性記憶媒体にバックアップするのに要する電力量が前記バッテリに蓄電されていないときには、ホスト装置からのライト要求に対するライト性能を制限する
ことを特徴とする請求項5に記載の充電制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−5170(P2012−5170A)
【公開日】平成24年1月5日(2012.1.5)
【国際特許分類】
【出願番号】特願2010−135057(P2010−135057)
【出願日】平成22年6月14日(2010.6.14)
【出願人】(000233033)日立コンピュータ機器株式会社 (253)
【Fターム(参考)】