(57)【要約】【課題】バッテリの長寿命化をはかる。【解決手段】ストレージ装置１は、記憶部１ｂと、同記憶部１ｂのデータをキャッシュデータとして保持するキャッシュメモリ１２と、通常動作時に充電されるキャパシタ１５と、通常動作時に充電されるバッテリ３０と、制御部１０ａとを有する。前記制御部１０ａは、キャパシタ１５からの給電によりキャッシュデータをキャッシュメモリ１２に保持する第１処理と、バッテリ３０からの給電によりキャッシュデータをキャッシュメモリ１２から不揮発メモリ１３へ書き込む第２処理とを実行させるもので、第１処理の実行後に所定条件を満たした場合に第２処理を実行させる。【選択図】図１
2014215661.tif 000002
【特許請求の範囲】
【請求項１】
記憶部と、前記記憶部のデータをキャッシュデータとして保持するキャッシュメモリとを有するストレージ装置であって、
前記ストレージ装置の通常動作時に充電されるキャパシタと、
前記ストレージ装置の通常動作時に充電されるバッテリと、
前記キャパシタからの給電により前記キャッシュデータを前記キャッシュメモリに保持する第１処理と、前記バッテリからの給電により前記キャッシュデータを前記キャッシュメモリから不揮発メモリへ書き込む第２処理とを実行させる制御部とを、有し、
前記制御部は、前記第１処理の実行後に所定条件を満たした場合に前記第２処理を実行させる、ストレージ装置。
【請求項２】
前記制御部は、停電通知を受けると前記第１処理を実行させる、請求項１記載のストレージ装置。
【請求項３】
前記制御部は、前記第１処理の実行後に前記キャパシタの出力電圧が所定値を下回っても、もしくは、前記第１処理の実行後に所定時間が経過しても、停電状態が解消されていない場合に前記第２処理を実行させる、請求項２記載のストレージ装置。
【請求項４】
前記制御部は、第１制御部と、第２制御部とを含み、
前記第１制御部は、前記停電通知を受けると前記第１処理の実行指示を行なう一方、前記第１処理の実行後に前記所定条件を満たした場合に前記第２処理の実行指示を行ない、
前記第２制御部は、前記第１制御部から前記第１処理の実行指示を受けると前記第１処理を実行する一方、前記第１処理の実行指示を受けた後に前記第１制御部から前記第２処理の実行指示を受けると前記第２処理を実行する、請求項２または請求項３に記載のストレージ装置。
【請求項５】
前記キャパシタは、前記第１処理の実行時に、前記キャッシュメモリおよび前記第１制御部に給電する、請求項４記載のストレージ装置。
【請求項６】
前記バッテリは、前記第２処理の実行時に、前記キャッシュメモリ，前記第１制御部，前記第２制御部および前記不揮発メモリに給電する、請求項４または請求項５に記載のストレージ装置。
【請求項７】
前記第１制御部は、前記第１制御部の動作電圧と前記キャッシュメモリの下限動作電圧との高い方に基づき前記所定値を設定する、請求項４〜請求項６のいずれか一項に記載のストレージ装置。
【請求項８】
前記制御部は、前記第１処理の実行中に停電復旧通知に応じて前記ストレージ装置が起動される際に、前記キャッシュメモリにおける前記キャッシュデータを前記記憶部に書き込む、請求項２〜請求項７のいずれか一項に記載のストレージ装置。
【請求項９】
前記制御部は、前記第２処理の実行後に停電復旧通知に応じて前記ストレージ装置が起動される際に、前記不揮発メモリにおける前記キャッシュデータを、前記キャッシュメモリに書き戻した後、前記キャッシュメモリから前記記憶部に書き込む、請求項２〜請求項８のいずれか一項に記載のストレージ装置。
【請求項１０】
記憶部と、前記記憶部のデータをキャッシュデータとして保持するキャッシュメモリとを有するストレージ装置の制御装置であって、
前記ストレージ装置の通常動作時に充電されるキャパシタからの給電により前記キャッシュデータを前記キャッシュメモリに保持する第１処理と、前記ストレージ装置の通常動作時に充電されるバッテリからの給電により前記キャッシュデータを前記キャッシュメモリから不揮発メモリへ書き込む第２処理とを実行させる制御部を、有し、
前記制御部は、前記第１処理の実行後に所定条件を満たした場合に前記第２処理を実行させる、制御装置。
【請求項１１】
記憶部と、前記記憶部のデータをキャッシュデータとして保持するキャッシュメモリとを有するストレージ装置の制御装置として機能するコンピュータに、
前記キャッシュデータのバックアップを行なう際に、前記ストレージ装置の通常動作時に充電されるキャパシタからの給電により前記キャッシュデータを前記キャッシュメモリに保持する第１処理の実行後に所定条件を満たした場合に、前記ストレージ装置の通常動作時に充電されるバッテリからの給電により前記キャッシュデータを前記キャッシュメモリから不揮発メモリへ書き込む第２処理を実行させる、制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置、制御装置、および制御プログラムに関する。
【背景技術】
【０００２】
近年、様々なデータが電子化されコンピュータ上で扱われるようになるに従い、コンピュータとは独立して大量のデータを効率よく格納することのできるディスクアレイ装置等のストレージ装置の重要性が増してきている。ディスクアレイ装置では、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）技術を導入することにより、単純なディスク装置に比べて信頼性が高められている。また、一般に、キャッシュメモリを内蔵することにより、データへのアクセス時間が短縮されている。
【０００３】
ＲＡＩＤ技術では、例えば、複数のディスクに同じデータを記憶させる手法（ＲＡＩＤ−１）や、パリティ情報をディスクに分散して記憶させる手法（ＲＡＩＤ−５）などにより信頼性が高められている。これ以外にも、ディスクにブロックチェックコード（Block Check Code）と呼ばれる情報を書き込んでデータ保護を行なう方法や、２つのキャッシュメモリで同じデータを保存する方法（ミラーリング）などによって、信頼性を向上させることが知られている。
【０００４】
上述のような論理的なデータ保護に加え、物理的，電気的な面での信頼性を高めるための工夫を施す必要がある。その工夫の一つとして、停電時に処理中のデータを失わないようにする技術も知られている。停電時においてディスクアレイ装置に適用される技術の概要は、以下の通りである。ディスクアレイ装置が停電を検出すると、コントローラ（ＣＭ：Controller Module）は、実行中の処理を中止し、電力停止によって消えてしまう、揮発性キャッシュメモリ内のデータ（キャッシュデータ）を保護する。ここで、データ保護動作は、次の２つの方式に大別される。
【０００５】
(1) メモリバックアップ方式
メモリバックアップ方式は、停電時にキャッシュメモリを低電力モード（セルフリフレッシュ等）へ遷移させ、消費電力を抑えた状態でキャッシュメモリにバッテリから電力を供給し続ける方式である。メモリバックアップ方式では、キャッシュメモリに電力を供給し続けなければならないため、キャッシュメモリにおいてデータをバックアップ保持することのできる期間は数日間である。したがって、長期間に亘って外部電源が遮断される場合、バックアップデータを損失してしまう可能性がある。しかしながら、低い電圧（例えば１．８Ｖ程度）かつ小電流の放電でキャッシュメモリにデータをバックアップさせることができるため、バッテリを小型化することができる。
【０００６】
(2) キャッシュディステージ（destage）方式
キャッシュディステージ方式は、停電時にバッテリから電力を供給し、キャッシュメモリ内のデータを不揮発メモリへ書き込む（ディステージする）方式である。キャッシュディステージ方式では、キャッシュデータを不揮発メモリへ書き込むため、キャッシュデータをバックアップ保持することのできる期間に制限はない。ただし、キャッシュデータを不揮発メモリへ書き込むバックアップ処理に要する時間は、キャッシュメモリの容量や、書込先の不揮発メモリの台数に依存し、数十秒から数分に及ぶことがある。そして、キャッシュディステージ方式では、メモリバックアップ方式に比べ、バックアップ処理に際し電力を供給すべき回路の数が多い。このため、キャッシュデータを不揮発メモリへ書き込む際に高い電圧（例えば１２Ｖ程度）かつ大電流の放電が必要となり、バッテリが大きくなってしまう。
【０００７】
ここで、図１５〜図１８を参照しながら、上述のようなメモリバックアップ方式やキャッシュディステージ方式を適用されたストレージ装置の電源系統について、具体的に説明する。なお、図１５および図１６は、それぞれ、メモリバックアップ方式を適用されたストレージ装置の通常動作時および停電時における電源系統を示す図である。また、図１７および図１８は、それぞれ、キャッシュディステージ方式を適用されたストレージ装置の通常動作時および停電時における電源系統を示す図である。
【０００８】
図１５〜図１８に示すＣＥ（Controller Enclosure）は、不図示のホストコンピュータ（以下、単に「ホスト」という）と不図示のＤＥ（Disk Enclosure）との間に介装され、ストレージ装置における資源の管理等を行なう。ＣＥには、それぞれＣＭ＃０，ＣＭ＃１として示される２つのＣＭと、それぞれＰＳＵ＃０，ＰＳＵ＃１として示される２つのＰＳＵ（Power Supply Unit）と、それぞれＢＢＵ＃０〜ＢＢＵ＃２として示される３つのＢＢＵ（Battery Backup Unit）とが備えられている。
【０００９】
ＰＳＵは、通常動作時に、装置外部から供給される外部電源によりシステム電源を生成し、各ＣＭへのシステム電源の供給を行なって装置を稼動すると同時に、各ＢＢＵの充電を行なう。ＢＢＵ＃０〜ＢＢＵ＃２は、停電発生時に各ＣＭへの電力供給を行なう。そして、ＢＢＵ＃０〜ＢＢＵ＃２は、それぞれＢＣＵ＃０〜ＢＣＵ＃２として示されるＢＣＵ（Battery Control Unit）と、それぞれＢＴＵ＃０〜ＢＴＵ＃２として示されるＢＴＵ（Battery Unit）とを有している。各ＢＣＵは各ＢＴＵの充放電を制御する。
【００１０】
また、各ＣＭは、ＣＰＵ（Central Processing Unit），キャッシュメモリ（Cache），不揮発メモリ，ファン（FAN），ホストインターフェイス（Host I/F），ディスクインターフェイス（Disk I/F）を有する。ＣＰＵは、ＯＳ（Operating System）等に従って処理を実行し各種制御を行なうもので、不揮発メモリに保存されるプログラムを実行することで各種機能を果たす。不揮発メモリは、上記プログラムのほか各種情報を保存する。キャッシュメモリは、利用頻度の高いデータをキャッシュデータとして一次格納しておく領域である。ファンはＣＰＵを冷却する。ホストＩ／Ｆは、ホストとＣＰＵとの間におけるインタフェース制御を行ない、ホストとＣＰＵとの間でデータ通信を行なう。ディスクＩ／Ｆは、ＤＥのディスクとＣＰＵとの間におけるインタフェース制御を行ない、ＤＥのディスクとＣＰＵとの間でデータ通信を行なう。
【００１１】
メモリバックアップ方式を適用されたストレージ装置の通常動作時における電源系統では、図１５において実線矢印で示すように、２つのＰＳＵが、外部電源によりシステム電源を生成し、各ＣＭへのシステム電源の供給を行なって装置を稼動するとともに各ＢＢＵの充電を行なう。このとき、各ＣＭでは、ＣＰＵ，不揮発メモリ，キャッシュメモリ，ファン，ホストＩ／Ｆ，ディスクＩ／Ｆの全てに電力が供給される。一方、停電が発生し外部電源が遮断され２つのＰＳＵからシステム電源が供給されなくなると、図１６において実線矢印で示すように、３つのＢＢＵからの放電により、各ＣＭ内におけるバックアップ対象のキャッシュメモリに対する給電が行なわれる。これにより、キャッシュメモリに保持されたデータ保護のためのバックアップ処理が実行される。
【００１２】
キャッシュディステージ方式を適用されたストレージ装置の通常動作時における電源系統では、図１７において実線矢印で示すように、メモリバックアップ方式と同様、２つのＰＳＵが、各ＣＭへのシステム電源の供給を行なって装置を稼動するとともに各ＢＢＵの充電を行なう。このとき、各ＣＭでは、ＣＰＵ，不揮発メモリ，キャッシュメモリ，ファン，ホストＩ／Ｆ，ディスクＩ／Ｆの全てに電力が供給される。一方、停電が発生し外部電源が遮断され２つのＰＳＵからシステム電源が供給されなくなると、図１８において実線矢印で示すように、３つのＢＢＵからの放電により、各ＣＭ内におけるバックアップ対象のＣＰＵ，不揮発メモリ，キャッシュメモリ，ファンに対する給電が行なわれる。そして、給電中に、キャッシュメモリ内のデータを不揮発メモリへ書き込むキャッシュディステージ処理が実行される。
【００１３】
このように、メモリバックアップ方式の場合、バックアップ時（停電時）におけるＢＢＵによるバックアップ対象はキャッシュメモリだけであり、ＣＰＵ，不揮発メモリ，ファン，ホストＩ／Ｆ，ディスクＩ／Ｆはバックアップ非対象である。一方、キャッシュディステージ方式の場合、バックアップ時（停電時）におけるＢＢＵによるバックアップ対象はＣＰＵ，不揮発メモリ，キャッシュメモリ，ファンであり、ホストＩ／Ｆ，ディスクＩ／Ｆはバックアップ非対象である。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２００５−１０９７２号公報
【特許文献２】特開２００５−３４６３２１号公報
【特許文献３】特開２００７−２６４７５５号公報
【特許文献４】特開２００９−５４５１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
ところで、停電は、ほとんどの場合、数秒〜数分程度の短期間で復旧するが、震災などにより長期間（例えば数日間）に亘って続くことがある。メモリバックアップ方式では、上述したように、バッテリを小型化することができるが、バックアップ期間が数日間であるため、震災などにより数日間に亘って停電が続くと、バックアップデータを損失する可能性がある。このため、基幹システムにメモリバックアップ方式を適用することは好ましくない。したがって、基幹システムでは、バックアップデータを不揮発メモリで保存するキャッシュディステージ方式を用いることが有効である。
【００１６】
キャッシュディステージ方式では、バッテリとして、鉛(Pb)蓄電池やニッケル・水素(Ni-MH:Nickel Metal Hydride)充電池などの、エネルギ量の大きい二次電池を採用することが一般的である。しかしながら、このような二次電池は、充放電を繰り返すと寿命が短くなるため、装置の稼働寿命（例えば５年程度）を満足できない場合がある。つまり、復旧する停電が発生する都度、二次電池が充放電を行なっていると、いざ長期間に亘る停電が発生した時に、二次電池が、キャッシュデータを不揮発メモリへ書き込むための高電圧かつ大電流の放電を行なえず、キャッシュデータをバックアップできなくなる場合がある。
【００１７】
一つの側面で、本発明は、バッテリの長寿命化をはかることを目的とする。
なお、前記目的に限らず、後述する発明を実施するための最良の形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本件の他の目的の一つとして位置付けることができる。
【課題を解決するための手段】
【００１８】
本件のストレージ装置は、記憶部と、同記憶部のデータをキャッシュデータとして保持するキャッシュメモリと、前記ストレージ装置の通常動作時に充電されるキャパシタと、前記ストレージ装置の通常動作時に充電されるバッテリと、制御部とを有する。同制御部は、前記キャパシタからの給電により前記キャッシュデータを前記キャッシュメモリに保持する第１処理と、前記バッテリからの給電により前記キャッシュデータを前記キャッシュメモリから不揮発メモリへ書き込む第２処理とを実行させるもので、前記第１処理の実行後に所定条件を満たした場合に前記第２処理を実行させる。
【発明の効果】
【００１９】
一実施形態によれば、バッテリの長寿命化をはかることができる。
【図面の簡単な説明】
【００２０】
【図１】本実施形態のストレージ装置および制御装置のハードウエア構成および機能構成を示すブロック図である。
【図２】本実施形態の制御装置における電源系統の詳細な構成を示すブロック図である。
【図３】本実施形態のキャッシュメモリにおけるＥＥＰＲＯＭに保存されているデータを示すブロック図である。
【図４】本実施形態のＰＬＤ（第１制御部）におけるＥＥＰＲＯＭに保存されているデータを示すブロック図である。
【図５】本実施形態の電圧設定レジスタに設定されるデータの例を示す図である。
【図６】本実施形態の停電判定レジスタに設定されるデータの例を示す図である。
【図７】本実施形態のキャッシュ動作電圧判別テーブルの例を示す図である。
【図８】本実施形態のストレージ装置（制御装置）の通常動作時における電源系統を示す図である。
【図９】本実施形態のストレージ装置（制御装置）の短時間停電（メモリバックアップ処理）時における電源系統を示す図である。
【図１０】本実施形態のストレージ装置（制御装置）の長時間停電（キャッシュディステージ処理）時における電源系統を示す図である。
【図１１】本実施形態のストレージ装置（制御装置）の起動時の動作を説明するフローチャートである。
【図１２】本実施形態のストレージ装置（制御装置）の停電時の動作を説明するフローチャートである。
【図１３】本実施形態のストレージ装置（制御装置）の停電時の動作を説明するフローチャートである。
【図１４】本実施形態のストレージ装置（制御装置）の長時間停電時の動作を説明するタイミングチャートである。
【図１５】メモリバックアップ方式を適用されたストレージ装置の通常動作時における電源系統を示す図である。
【図１６】メモリバックアップ方式を適用されたストレージ装置の停電時における電源系統を示す図である。
【図１７】キャッシュディステージ方式を適用されたストレージ装置の通常動作時における電源系統を示す図である。
【図１８】キャッシュディステージ方式を適用されたストレージ装置の停電時における電源系統を示す図である。
【発明を実施するための形態】
【００２１】
以下、図面を参照して実施の形態を説明する。
〔１〕本実施形態の構成
まず、図１〜図１０を参照しながら、本実施形態のストレージ装置１および制御装置１ａのハードウエア構成および機能構成について説明する。
【００２２】
図１は、本実施形態のストレージ装置１および制御装置１ａのハードウエア構成および機能構成を示すブロック図である。
図１に示すように、本実施形態のストレージ装置１は、例えばディスクアレイ装置（ＲＡＩＤ(Redundant Arrays of Inexpensive Disks)装置）であって、ホスト２からの各種要求を受け、当該要求に応じた各種処理を行なう。ストレージ装置１は、ＣＥ（Controller Enclosure；制御装置）１ａとＤＥ（Disk Enclosure；記憶部）１ｂとを有している。
【００２３】
〔１−１〕本実施形態のストレージ装置および制御装置（ＣＥ）のハードウエア構成
ＣＥ１ａは、ホスト２とＤＥ１ｂとの間に介装され、ストレージ装置１における資源の管理等を行なう。ＣＥ１ａには、それぞれＣＭ＃０，ＣＭ＃１として示される２つのＣＭ１０と、それぞれＰＳＵ＃０，ＰＳＵ＃１として示される２つのＰＳＵ２０と、それぞれＢＢＵ＃０〜ＢＢＵ＃２として示される３つのＢＢＵ（バッテリ）３０とが備えられている。
【００２４】
ＰＳＵ２０は、通常動作時に、装置外部から供給される外部電源によりシステム電源を生成し、各ＣＭ１０へのシステム電源の供給を行なって装置１を稼動すると同時に、各ＢＢＵ３０および後述のキャパシタ１５の充電を行なう。ＢＢＵ３０は、停電発生時（特に本実施形態では後述の長時間停電（キャッシュディステージ処理）時）に、各ＣＭ１０におけるバックアップ対象(2)（後述）への電力供給を行なう。ＢＢＵ＃０〜ＢＢＵ＃２は、図８〜図１０に示すように、それぞれＢＣＵ＃０〜ＢＣＵ＃２として示されるＢＣＵ３１と、それぞれＢＴＵ＃０〜ＢＴＵ＃２として示されるＢＴＵ（バッテリ）３２とを有している。各ＢＣＵ３１は、各ＢＴＵ３２の充放電を制御する。各ＢＴＵ３２は、鉛蓄電池，ニッケル・水素充電池などの二次電池である。
【００２５】
図１では、ＣＭ＃０の構成のみが示されているが、ＣＭ＃１もＣＭ＃０と同様に構成される。なお、ＣＭ１０の数は２に限定されるものではなく１または３以上備えられてもよい。ＤＥ１ｂは、複数のディスク１ｃを有する。各ディスク１ｃは、例えばＨＤＤ（Hard Disk Drive）であり、ホスト２によってアクセスされ利用されるユーザデータや、各種制御情報などを格納・記憶する。本実施形態では、ＤＥ１ｂにディスク（ＨＤＤ）１ｃが備えられているが、ディスク１ｃに代えてＳＳＤ（Solid State Device）等が備えられてもよい。
【００２６】
各ＣＭ１０は、ＣＰＵ１１，キャッシュメモリ１２，不揮発メモリ１３，ファン１４，キャパシタ（Capacitor）１５，ＰＬＤ（Programmable Logic Device）１６，ホストＩ／Ｆ１７，ディスクＩ／Ｆ１８を有する。
ＣＰＵ１１は、ＯＳ等に従って処理を実行し各種制御を行なうもので、不揮発メモリ１３に保存されるプログラムを実行することで各種機能を果たす。特に、ＣＰＵ１１は、後述する第２制御部としての機能を果たし、ＰＬＤ１６とともに、後述する制御部１０ａを構成する。
【００２７】
キャッシュメモリ１２は、利用頻度の高いデータをキャッシュデータとして一次格納しておく領域であり、高速ＤＩＭＭ（Double Inline Memory Module）を用いる。キャッシュメモリ１２は、揮発メモリであるため、停電時に仕掛かり中のデータを保持するためには、キャッシュデータを不揮発領域に退避させるか、キャッシュメモリ１２に対する給電を継続的に行なう必要がある。
【００２８】
また、キャッシュメモリ１２には、図３に示すように、不揮発記憶領域としてＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory）１２ａがそなえられており、ＥＥＰＲＯＭ１２ａには、キャッシュメモリ１２の個体情報１２ｂが保存されている。キャッシュメモリ１２の個体情報１２ｂは、例えば、最高周波数（例えば1333MHz）や、ＤＲＡＭ（Dynamic Random Access Memory）のデバイスタイプや、モジュールタイプである。なお、図３は、本実施形態のキャッシュメモリ１２におけるＥＥＰＲＯＭ１２ａに保存されているデータを示すブロック図である。
【００２９】
不揮発メモリ１３は、上記プログラムのほか各種情報を保存するほか、後述の長時間停電（キャッシュディステージ処理）時に、キャッシュメモリ１２に保存されているキャッシュデータを書き込まれて保存する。
ファン１４は、通常動作時および後述の長時間停電（キャッシュディステージ処理）時に電源供給を受けて駆動され、ＣＰＵ１１を冷却する。
【００３０】
キャパシタ１５は、通常動作時にＰＳＵ２０によって充電され、停電発生時（特に本実施形態では後述の短時間停電（メモリバックアップ処理）時）に、各ＣＭ１０におけるバックアップ対象(1)（後述）への電力供給を行なう。キャパシタ１５は、ＥＤＬＣ（Electric Double-Layer Capacitor；電気二重層キャパシタ），ＬＩＣ（Lithium Ion Capacitor；リチウムイオンキャパシタ）などである。
【００３１】
ＰＬＤ１６は、２種類のバックアップ用電源であるキャパシタ１５とＢＢＵ３０とを使い分ける制御論理を有するもので、後述する第１制御部としての機能を果たし、ＣＰＵ１１とともに、後述する制御部１０ａを構成する。ＰＬＤ１６には、図４に示すように、不揮発記憶領域としてＥＥＰＲＯＭ１６ａがそなえられており、ＥＥＰＲＯＭ１６ａには、動作電圧情報１６ｂ，電圧設定レジスタ１６ｃ，停電判定レジスタ１６ｄ，キャッシュ動作電圧判別テーブル１６ｅが保存されている。図４は、本実施形態のＰＬＤ１６におけるＥＥＰＲＯＭ１６ａに保存されているデータを示すブロック図である。動作電圧情報１６ｂは、ＰＬＤ１６の動作電圧を含む。電圧設定レジスタ１６ｃおよび停電判定レジスタ１６ｄに設定される具体的なデータについては、それぞれ図５および図６を参照しながら後述する。キャッシュ動作電圧判別テーブル１６ｅについては、図７を参照しながら後述する。
【００３２】
ホストＩ／Ｆ１７は、ホスト２とＣＰＵ１１との間におけるインタフェース制御を行ない、ホスト２とＣＰＵ１１との間でデータ通信を行なう。ディスクＩ／Ｆ１８は、ＤＥ１ｂのディスク１ｃとＣＰＵ１１との間におけるインタフェース制御を行ない、ＤＥ１ｂのディスク１ｃとＣＰＵ１１との間でデータ通信を行なう。
【００３３】
次に、図２を参照しながら、本実施形態のＣＥ１ａ（各ＣＭ１０）における電源系統の詳細な構成について説明する。図２は、本実施形態のＣＥ１ａ（各ＣＭ１０）における電源系統の詳細な構成を示すブロック図である。
【００３４】
図２に示すように、ホストＩ／Ｆ１７およびディスクＩ／Ｆ１８は、停電時にキャパシタ１５やＢＢＵ３０による給電（バックアップ）を受けないバックアップ非対象に属している。ホストＩ／Ｆ１７およびディスクＩ／Ｆ１８は、通常動作時にＤＤＣ（DC (Direct Current) to DC Converter；直流／直流電圧変換器）１９ｅを介して電源供給を受けて動作する。ＤＤＣ１９ｅは、通常動作時に、ＰＳＵ２０からの電圧(12V in)を入力され、所定電圧に変換してからホストＩ／Ｆ１７およびディスクＩ／Ｆ１８へ給電する。また、ＤＤＣ１９ｅは、停電時に、ＰＳＵ２０，キャパシタ１５およびＢＢＵ３０のいずれからも給電されず、ホストＩ／Ｆ１７およびディスクＩ／Ｆ１８は、バックアップされない状態つまり停止状態になる。
【００３５】
キャパシタ１５は、バックアップ非対象に属し、通常動作時（装置起動時）にＤＤＣ１９ｄを介して電源供給を受けて充電される。ＤＤＣ１９ｄは、通常動作時（装置起動時）に、ＰＳＵ２０からの電圧(12V in)を入力され、所定電圧に変換してからキャパシタ１５へ給電する。また、キャパシタ１５は、後述の短時間停電（メモリバックアップ処理）時に後述のバックアップ対象(1)への給電（電圧VCAP）を行ない、後述の長時間停電（キャッシュディステージ処理）時には放電を停止される。
【００３６】
キャッシュメモリ１２およびＰＬＤ１６は、後述の短時間停電（メモリバックアップ処理）時に給電を受けるバックアップ対象(1)と、後述の長時間停電（キャッシュディステージ処理）時に給電を受けるバックアップ対象(2)との両方に属している。キャッシュメモリ１２およびＰＬＤ１６は、それぞれ、ＤＤＣ１９ａおよび１９ｂを介して電源供給を受けて動作する。
【００３７】
つまり、ＤＤＣ１９ａは、通常動作時に、ＰＳＵ２０からの電圧(12V in)を入力され、所定電圧に変換してからキャッシュメモリ１２へ給電する。また、ＤＤＣ１９ａは、後述の短時間停電（メモリバックアップ処理）時に、キャパシタ１５からの電圧VCAPを入力され、ＰＬＤ１６によって設定される下限動作電圧（後述）に変換してからキャッシュメモリ１２へ給電する。さらに、ＤＤＣ１９ａは、後述の長時間停電（キャッシュディステージ処理）時に、ＢＢＵ３０からの電圧VBATを入力され、ＰＬＤ１６によって設定される下限動作電圧に変換してからキャッシュメモリ１２へ給電する。
【００３８】
同様に、ＤＤＣ１９ｂは、通常動作時に、ＰＳＵ２０からの電圧(12V in)を入力され、所定電圧に変換してからＰＬＤ１６へ給電する。また、ＤＤＣ１９ｂは、後述の短時間停電（メモリバックアップ処理）時に、キャパシタ１５からの電圧VCAPを入力され、所定電圧に変換してからＰＬＤ１６へ給電する。さらに、ＤＤＣ１９ｂは、後述の長時間停電（キャッシュディステージ処理）時に、ＢＢＵ３０からの電圧VBATを入力され、所定電圧に変換してからＰＬＤ１６へ給電する。
【００３９】
ＣＰＵ１１および不揮発メモリ１３は、バックアップ対象(2)に属し、通常動作時にＤＤＣ１９ｃを介して電源供給を受けて動作する。つまり、ＤＤＣ１９ｃは、通常動作時に、ＰＳＵ２０からの電圧(12V in)を入力され、所定電圧に変換してからＣＰＵ１１および不揮発メモリ１３へ給電する。また、ＤＤＣ１９ｃは、後述の長時間停電（キャッシュディステージ処理）時に、ＢＢＵ３０からの電圧VBATを入力され、所定電圧に変換してからＣＰＵ１１および不揮発メモリ１３へ給電する。さらに、ＤＤＣ１９ｃは、後述の短時間停電（メモリバックアップ処理）時に、ＰＳＵ２０，キャパシタ１５およびＢＢＵ３０のいずれからも給電されず、ＣＰＵ１１および不揮発メモリ１３は、バックアップされない状態つまり停止状態になる。
【００４０】
ファン１４は、バックアップ対象(2)に属し、通常動作時に、ＰＳＵ２０からの給電（電圧12V in）を受けて駆動され、ＣＰＵ１１を冷却する。また、ファン１４は、後述の長時間停電（キャッシュディステージ処理）時に、ＢＢＵ３０からの給電（電圧VBAT）を受けて駆動され、ＣＰＵ１１を冷却する。一方、ファン１４は、後述の短時間停電（メモリバックアップ処理）時に、ＰＳＵ２０，キャパシタ１５およびＢＢＵ３０のいずれからも給電されず、バックアップされない状態つまり停止状態になる。
【００４１】
〔１−２〕本実施形態のストレージ装置および制御装置（ＣＥ）の機能構成
次に、図１〜図１０を参照しながら、本実施形態のストレージ装置１およびＣＥ１ａの機能構成について説明する。
【００４２】
本実施形態のストレージ装置１およびＣＥ１ａでは、停電発生時の装置動作が２段階の処理に分けられている。つまり、停電発生時には、ＥＤＬＣやＬＩＣなどのキャパシタ１５を用いメモリバックアップ方式によってキャッシュデータを保護する。そして、停電発生後（メモリバックアップ方式によるデータ保護の開始後）に、キャパシタ１５の出力電圧が所定値を下回っても、もしくは、所定時間が経過しても停電状態が解消されいなければ、鉛蓄電池，ニッケル・水素充電池などのＢＢＵ３０（ＢＴＵ３２）を用いキャッシュディステージ方式によってキャッシュデータを保護する。このような処理を実現するため、本実施形態のストレージ装置１およびＣＥ１ａは、以下のような機能構成を有している。
【００４３】
ＣＰＵ１１およびＰＬＤ１６は、停電に伴うキャッシュデータのバックアップを行なう際に、第１処理（メモリバックアップ処理）と第２処理（キャッシュディステージ処理）とのいずれか一方を実行させる制御部１０ａとして機能する。ここで、第１処理としてのメモリバックアップ処理は、キャパシタ１５からの給電によりキャッシュデータをキャッシュメモリ１２に保持する処理である。また、第２処理としてのキャッシュディステージ処理は、ＢＢＵ３０（ＢＴＵ３２）からの給電によりキャッシュデータをキャッシュメモリ１２から不揮発メモリ１３へ書き込む処理である。
【００４４】
このとき、制御部１０ａは、ＰＳＵ２０から停電通知を受けるとメモリバックアップ処理を実行させ、メモリバックアップ処理の実行後（停電発生後）に所定条件を満たした場合にキャッシュディステージ処理を実行させる。前記所定条件としては、メモリバックアップ処理の実行後にキャパシタ１５の出力電圧が所定値以下になっても、もしくは、メモリバックアップ処理の実行後に所定時間が経過しても、停電状態が解消されていないことが設定される。なお、前記所定条件は、メモリバックアップ処理の実行後にキャパシタ１５の出力電圧が所定値以下になり、且つ、メモリバックアップ処理の実行後に所定時間が経過しても、停電状態が解消されていないこととしてもよい。
【００４５】
そして、本実施形態において、制御部１０ａは、前述したようにＣＰＵ（第２制御部）１１とＰＬＤ（第１制御部）１６とによって構成される。
ＰＬＤ（第１制御部）１６は、キャパシタ１５とＢＢＵ３０とを使い分ける制御論理を有し、ＰＳＵ２０から停電通知を受けるとメモリバックアップ処理の実行指示をＣＰＵ１１に対し行なう。また、ＰＬＤ１６は、メモリバックアップ処理の実行後に前記所定条件を満たした場合にキャッシュディステージ処理の実行指示をＣＰＵ１１に対し行なう。
【００４６】
ＰＬＤ１６は、キャパシタ１５の出力電圧に基づき前記所定条件の判断を行なう場合、キャパシタ１５の出力電圧を監視する機能を有する。このとき、ＰＬＤ１６は、後述するように、ＰＬＤ１６の動作電圧とキャッシュメモリ１２の下限動作電圧との高い方に基づき前記所定値を算出して電圧設定レジスタ１６ｃ（図４，図５参照）に設定する。また、ＰＬＤ１６は、メモリバックアップ処理の実行後の経過時間に基づき前記所定条件の判断を行なう場合、メモリバックアップ処理の実行時に計時を開始しメモリバックアップ処理の実行後の経過時間を計時するタイマ機能を有する。
【００４７】
ＣＰＵ１１による第２制御部としての機能は、ファームウエア（FW）によって実現される。ＣＰＵ（第２制御部）１１は、ＰＬＤ１６からメモリバックアップ処理の実行指示を受けるとメモリバックアップ処理を実行する一方、メモリバックアップ処理の実行指示を受けた後にＰＬＤ１６からキャッシュディステージ処理の実行指示を受けるとキャッシュディステージ処理を実行する。
【００４８】
また、ＣＰＵ１１は、メモリバックアップ処理の実行中に停電復旧通知に応じてストレージ装置１が起動される際に、キャッシュメモリ１２におけるキャッシュデータをＤＥ１ｂ（ディスク１ｃ）に書き込む処理を実行する。さらに、ＣＰＵ１１は、キャッシュディステージ処理の実行後に停電復旧通知に応じてストレージ装置１が起動される際に、不揮発メモリ１３におけるキャッシュデータを、キャッシュメモリ１２に書き戻した後、キャッシュメモリ１２からＤＥ１ｂ（ディスク１ｃ）に書き込む処理を実行する。
【００４９】
ここで、図２および図８〜図１０を参照しながら、通常動作時，メモリバックアップ処理の実行時およびキャッシュディステージ処理の実行時のそれぞれにおける、電源供給対象（バックアップ対象）について説明する。なお、図８は、本実施形態のストレージ装置１（ＣＥ１ａ）の通常動作時における電源系統を示す図である。図９は、本実施形態のストレージ装置１（ＣＥ１ａ）の短時間停電（メモリバックアップ処理）時における電源系統を示す図である。図１０は、本実施形態のストレージ装置１（ＣＥ１ａ）の長時間停電（キャッシュディステージ処理）時における電源系統を示す図である。
【００５０】
通常動作時には、図８において実線矢印で示すように、ＰＳＵ２０からの電源（図２の電圧12V in参照）が、各ＣＭ１０におけるＣＰＵ１１，キャッシュメモリ１２，不揮発メモリ１３，ファン１４，キャパシタ１５，ＰＬＤ１６，ホストＩ／Ｆ１７およびディスクＩ／Ｆ１８と、各ＢＢＵ３０とに対して供給される。これにより、ＣＰＵ１１，キャッシュメモリ１２，不揮発メモリ１３，ファン１４，ＰＬＤ１６，ホストＩ／Ｆ１７およびディスクＩ／Ｆ１８は通常通り動作するとともに、キャパシタ１５および各ＢＢＵ３０への充電が行なわれる。
【００５１】
メモリバックアップ処理の実行時には、図９に示すように、ＢＢＵ３０の放電が停止されるとともに、キャパシタ１５からの電源（図２の電圧VCAP参照）が、各ＣＭ１０におけるバックアップ対象(1)に含まれるキャッシュメモリ１２およびＰＬＤ１６に対して供給される。これにより、ＣＰＵ１１によってメモリバックアップ処理が実行され、キャッシュメモリ１２は、ＰＬＤ１６によって管理されながらキャッシュデータを保持する。なお、各ＢＢＵ３０の放電停止処理は、例えば、ＰＳＵ２０からの停電通知を受けたＢＣＵ３１によって実行されるてもよい。
【００５２】
キャッシュディステージ処理の実行時には、図１０に示すように、ＰＬＤ１６からの放電停止指示によってキャパシタ１５の放電が停止されるとともに、ＰＬＤ１６からの放電指示によって各ＢＢＵ３０の放電が開始される。そして、各ＢＢＵ３０からの電源（図２の電圧VBAT参照）が、各ＣＭ１０におけるバックアップ対象(2)に含まれるＣＰＵ１１，キャッシュメモリ１２，不揮発メモリ１３，ファン１４およびＰＬＤ１６に対し供給される。これにより、ＣＰＵ１１によってキャッシュディステージ処理が実行され、キャッシュメモリ１２から不揮発メモリ１３へのキャッシュデータの書込みが行なわれる。なお、ＰＬＤ１６は、キャッシュメモリ１２から不揮発メモリ１３へのキャッシュデータの書込み状態を監視しており、キャッシュデータの全てが不揮発メモリ１３に書き込まれると、ＰＬＤ１６からの放電停止指示によって各ＢＢＵ３０の放電は停止される。
【００５３】
なお、上述の機能を実現するために、ＰＬＤ１６は、前述したように、ＥＥＰＲＯＭ１６ａにおける動作電圧情報１６ｂ，電圧設定レジスタ１６ｃ，停電判定レジスタ１６ｄおよびキャッシュ動作電圧判別テーブル１６ｅを用いる。ここで、図５〜図７を参照しながら、動作電圧情報１６ｂ，電圧設定レジスタ１６ｃ，停電判定レジスタ１６ｄおよびキャッシュ動作電圧判別テーブル１６ｅについて説明する。図５は、本実施形態の電圧設定レジスタ１６ｃに設定されるデータの例を示す図であり、図６は、本実施形態の停電判定レジスタ１６ｄに設定されるデータの例を示す図であり、図７は、本実施形態のキャッシュ動作電圧判別テーブル１６ｅの例を示す図である。
【００５４】
動作電圧情報１６ｂは、前述したように、ＰＬＤ１６の動作電圧（例えば1.2V）を含み、後述する最低動作電圧（所定値）を算出する際に用いられる。
キャッシュ動作電圧判別テーブル１６ｅは、ＰＬＤ１６のＥＥＰＲＯＭ１６ａに予め格納されている。キャッシュ動作電圧判別テーブル１６ｅにおいては、図７に示すように、キャッシュメモリ１２のデバイスタイプやモジュールタイプ（モジュール電圧）毎に、通常動作電圧（キャッシュ動作電圧）と下限動作電圧（キャッシュ動作電圧）とが対応付けられて保存されている。通常動作電圧および下限動作電圧については、図５を参照しながら後述する。なお、下限動作電圧は、ＥＥＰＲＯＭ１６内のカスタマユーザデータ領域に書き込んでおいてもよい。
【００５５】
ＰＬＤ１６は、装置起動時に、キャッシュメモリ１２のＥＥＰＲＯＭ１２ａから個体情報１２ｂを読み出す。そして、ＰＬＤ１６は、個体情報１２ｂに含まれるデバイスタイプやモジュールタイプに基づきテーブル１６ｅを検索し、キャッシュメモリ１２のデバイスタイプやモジュールタイプに応じた通常動作電圧と下限動作電圧とを読み出して電圧設定レジスタ１６ｃに設定する。例えば、キャッシュメモリ１２のデバイスタイプがDDR3_SDRAMでキャッシュメモリ１２のモジュールタイプ（モジュール電圧）が1.5V, 1.35V, 1.25Vである場合、図７に示すテーブル１６ｅから通常動作電圧1.5Vと下限動作電圧1.25Vとが検索され電圧設定レジスタ１６ｃに設定される。
【００５６】
電圧設定レジスタ１６ｃは、図５に示すように、ＰＬＤ１６によって、後述する通常動作電圧，下限動作電圧および最低動作電圧を設定される。通常動作電圧および下限動作電圧は、上述のごとくＰＬＤ１６によってテーブル１６ｅから読み出されたものである。図５に示す電圧設定レジスタ１６ｃでは、通常動作電圧，下限動作電圧および最低動作電圧として、それぞれ、例えば1.5V (10110010), 1.25V (10011001), 1.55V (10110111)が設定されている。
【００５７】
通常動作電圧は、図５の備考欄に示すように、キャッシュメモリ１２を高性能モード（通常動作モード）で動作させる際に用いられる電圧である。高性能モードは、キャッシュメモリ１２の動作電圧を最大にすることで、キャッシュメモリ１２が最高動作周波数で動作するモードである。通常動作時に、ＰＬＤ１６は、入力電圧（図２の12V in参照）を通常動作電圧（所定電圧）に変換するようにＤＤＣ１９ａに指示する。
【００５８】
下限動作電圧は、図５の備考欄に示すように、キャッシュメモリ１２を省電力モード（制限動作モード）で動作させる際に用いられる電圧である。省電力モードは、キャッシュメモリ１２の動作周波数を低くすることで、キャッシュメモリ１２の動作電圧を低くして消費電力を抑えるモードである。停電時に、ＰＬＤ１６は、入力電圧（図２のVCAPまたはVBAT参照）を下限動作電圧（所定電圧）に変換するようにＤＤＣ１９ａに指示する。
【００５９】
最低動作電圧は、キャパシタ１５の出力電圧に基づきメモリバックアップモードからキャッシュディステージモードへの切替えタイミングを判断する際の比較基準である所定値として用いられる。最低動作電圧は、ＰＬＤ１６によってＥＥＰＲＯＭ１６ａから読み出されたＰＬＤ１６の動作電圧（動作電圧情報１６ｂ）と、キャッシュメモリ１２の下限動作電圧との高い方に基づき、ＰＬＤ１６によって算出される。例えば、ＰＬＤ１６の動作電圧が1.2Vであり、図５に示すようにキャッシュメモリ１２の下限動作電圧が1.25Vである場合、ＰＬＤ１６は、これらの動作電圧のうちの高い方の値1.25Vに、ＤＤＣ１９ａの電圧変換分の値（例えば+0.3V）を加算した値1.55Vを、最低動作電圧として算出し、図５に示すように電圧設定レジスタ１６ｃに設定する。ＰＬＤ１６は、キャパシタ１５の出力電圧が最低動作電圧を下回った時点を、メモリバックアップモードからキャッシュディステージモードへの切替えタイミングと判断する。
【００６０】
停電判定レジスタ１６ｄには、ＰＬＤ１６が図１１〜図１３に示す手順で処理を行なう際に、図６に示すように、ＰＬＤ１６によって、装置状態を示す４ビットデータが更新・設定される。ＣＰＵ（第２制御部）１１は、後述するように、適宜、ＰＬＤ１６における停電判定レジスタ１６ｄの４ビットデータを参照・確認することで装置状態を認識しながら、図１１〜図１３に示す手順で処理を行なう。
【００６１】
なお、図６には、停電判定レジスタ１６ｄに設定されうる４種類の４ビットデータの例が示されている。４ビットデータの先頭ビットは、入力電源状態を示し、‘０’の場合、入力電源（外部電源）が正常であることを示し、‘１’の場合、入力電源が停電状態であることを示す。４ビットデータの２番目のビットは、停電発生履歴を示し、‘０’の場合、停電が未発生であることを示し、‘１’の場合、停電が発生したことを示す。４ビットデータの３番目／４番目のビットは、起動モードを示し、‘００’の場合、通常起動であることを示し、‘０１’の場合、メモリバックアップモードからキャッシュディステージモードへ遷移する際の起動であることを示し、‘１０’の場合、メモリバックアップモードからの起動であることを示し、‘１１’の場合、キャッシュディステージモード後の起動であることを示す。
【００６２】
したがって、４ビットデータ“００００”は通常起動を示す。４ビットデータ“１１０１”は、停電が長時間続いたため、メモリバックアップモードからキャッシュディステージモードへ遷移する際の起動であることを示す。４ビットデータ“０１１０”は、短時間停電から復電し、メモリバックアップモードからの起動であることを示す。４ビットデータ“０１１１は、長時間停電から復電し、キャッシュディステージモード後の起動であることを示す。
【００６３】
また、図６には示していないが、４ビットデータ“１１１０”は、ＰＳＵ２０から停電通知信号を受けるとＰＬＤ１６によって設定され、短時間停電中であり未だ復電していない状態を示す。４ビットデータ“１１１１”は、キャッシュディステージモードでキャッシュデータの不揮発メモリ１３への書込みを完了しＢＢＵ３０の放電停止指示を行なった際にＰＬＤ１６によって設定され、長時間停電中であり未だ復電していない状態を示す。
【００６４】
〔２〕本実施形態のストレージ装置および制御装置の動作
次に、上述のごとく構成された本実施形態のストレージ装置１およびＣＥ（制御装置）１ａの動作について、図１１〜図１４を参照しながら説明する。
【００６５】
〔２−１〕起動時の動作
図１１に示すフローチャート（ステップＳ１〜Ｓ５）に従って、本実施形態のストレージ装置１およびＣＥ１ａの起動時の動作について説明する。
装置起動時には、ＰＬＤ１６は、まず、ＰＬＤ１６のＥＥＰＲＯＭ１６ａに格納された動作電圧情報１６ｂに含まれる自己動作電圧（例えば1.2V）を参照・確認する（ステップＳ１）。
【００６６】
また、ＰＬＤ１６は、キャッシュメモリ１２のＥＥＰＲＯＭ１２ａにおける個体情報１２ｂを確認し、個体情報１２ｂに含まれる情報に基づきテーブル１６ｅを検索し、キャッシュメモリ１２の通常動作電圧と下限動作電圧とを確認し読み出して電圧設定レジスタ１６ｃに設定する（ステップＳ２）。ここでは、例えば、通常動作電圧として1.5V (10110010)が、下限動作電圧として1.25V (10011001)が設定される。
【００６７】
さらに、ＰＬＤ１６は、メモリバックアップモード（メモリバックアップ処理）からキャッシュディステージモード（キャッシュディステージ処理）へ遷移するタイミングを判断する基準となるキャパシタ１５の出力電圧（最低動作電圧）を決定し電圧設定レジスタ１６ｃに設定する（ステップＳ３）。ここでは、前述したように、最低動作電圧は、ＥＥＰＲＯＭ１６ａから読み出されたＰＬＤ１６の自己動作電圧（例えば1.2V）と、電圧設定レジスタ１６ｃに設定されたキャッシュメモリ１２の下限動作電圧（例えば1.25V）との高い方の値に、ＤＤＣ１９ａの電圧変換分の一定値（例えば+0.3V）を加算した値（例えば1.55V）として算出される。
【００６８】
この後、ＣＰＵ１１は、ＰＬＤ１６内の停電判定レジスタ１６ｄを参照し、今回の起動は、通常時の起動であるか、キャッシュディステージ後の起動であるかを判断する（ステップＳ４）。このとき、ＣＰＵ１１は、停電判定レジスタ１６ｄにおける４ビットデータ“００００”である場合、今回の起動は通常時の起動であると判断して装置起動処理を完了する。この場合、前回の停止処理は正常に行なわれ、キャッシュデータのディスク１ｃへの書込みは停止処理前に完了している。このため、後述する停電時の動作とは異なり、起動時にキャッシュデータのディスク１ｃへの書込みを行なう必要はない。
【００６９】
一方、ＣＰＵ１１は、停電判定レジスタ１６ｄにおける４ビットデータ“０１１１”である場合、今回の起動は、停電からの復電後でキャッシュディステージ後の起動であると判断する。そして、ＣＰＵ１１は、不揮発メモリ１３に格納されたキャッシュデータを有効データとして扱いキャッシュメモリ１２にリストアした後、キャッシュメモリ１２に書き戻されたキャッシュデータをディスク１ｃに書き込み（ステップＳ５）、装置起動処理を完了する。なお、ＣＰＵ１１がキャッシュデータのディスク１ｃへの書込みを完了すると、ＰＬＤ１６は、停電判定レジスタ１６ｄにおける４ビットデータを“０１１１”から“００００”に更新設定する。
【００７０】
装置起動処理を完了すると、ストレージ装置１は、通常動作を開始する。そして、ＰＳＵ２０は、図８に示すように、装置外部から供給される外部電源によりシステム電源を生成し、各ＣＭ１０へのシステム電源の供給を行なって装置１を稼動する。これと同時に、ＰＳＵ２０は、各ＢＢＵ３０およびキャパシタ１５の充電を行なう。
【００７１】
〔２−２〕停電時の動作
次に、図１２および図１３に示すフローチャート（ステップＳ１０〜Ｓ２８）に従って、本実施形態のストレージ装置１およびＣＥ１ａの停電時の動作について説明する。
ストレージ装置１において停電が発生し（ステップＳ１０）、ＰＳＵ２０に外部電源が供給されなくなると、ＰＳＵ２０は、停電通知信号を、ＰＬＤ１６，ＢＢＵ３０などに通知する（ステップＳ１１）。
【００７２】
ＰＬＤ１６は、ＰＳＵ２０から停電通知信号を受信すると、停電判定レジスタ１６ｄにおける４ビットデータを“００００”から“１１１０”に更新設定し、メモリバックアップ処理の実行指示をＣＰＵ１１に対して行なう（ステップＳ１２）。
【００７３】
ＣＰＵ１１は、ＰＬＤ１６からメモリバックアップ処理の実行指示を受けると、メモリバックアップ処理を実行し、装置１をメモリバックアップモードへ移行させる（ステップＳ１３）。これに伴い、図９に示すように、ＢＢＵ３０への充電が停止されるとともに、キャパシタ１５の放電が開始され、キャパシタ１５からの電源（図２の電圧VCAP参照）が、バックアップ対象(1)に含まれるキャッシュメモリ１２およびＰＬＤ１６に対して供給される。これにより、ＣＰＵ１１によってメモリバックアップ処理が実行され、キャッシュメモリ１２は、ＰＬＤ１６によって管理されながらキャッシュデータを保持する。このとき、ＰＬＤ１６は、ＤＤＣ１９ａを用い、キャッシュメモリ１２への供給電源電圧を、電圧設定レジスタ１６ｃに設定された下限動作電圧に変更し（ステップＳ１４）、消費電力を抑えている。なお、ＰＬＤ１６は、前記タイマ機能を用いる場合、ステップＳ１３でのメモリバックアップモードへの移行時（もしくはステップＳ１２での停電通知信号の受信時）に、前記タイマ機能による計時を開始する。
【００７４】
この後、ＰＬＤ１６は、ＰＳＵ２０から停電復旧の通知を受けたか否かを監視し（ステップＳ１５）、停電復旧の通知を受けていない場合（ステップＳ１５のＮＯルート）、以下の判定を行なう（ステップＳ１６）。つまり、ＰＬＤ１６は、キャパシタ１５の出力電圧が、電圧設定レジスタ１６ｃに設定された最低動作電圧（所定値）を下回ったか、もしくは、上記タイマ機能による計時結果が所定時間を経過（タイムアウト）したかを判定する。
【００７５】
キャパシタ１５の出力電圧が最低動作電圧以上の場合、もしくは、上記タイマ機能による計時結果が所定時間を経過していない場合（ステップＳ１６のＮＯルート）、ＰＬＤ１６は、ステップＳ１５の処理に戻り、メモリバックアップモードを維持しながら、ＰＳＵ２０から停電復旧の通知を受けたか否かを監視する。
【００７６】
キャパシタ１５の出力電圧が最低動作電圧以上のまま、もしくは、上記タイマ機能による計時結果が所定時間を経過しないまま、停電状態の解消に伴いＰＬＤ１６がＰＳＵ２０から停電復旧の通知を受けると（ステップＳ１５のＹＥＳルート）、ＰＬＤ１６およびＣＰＵ１１は、以下の処理（ステップＳ１７〜Ｓ２０）を行なう。
【００７７】
つまり、ＰＬＤ１６は、停電判定レジスタ１６ｄにおける４ビットデータ“１１１０”を、短時間停電から復電し、メモリバックアップモードからの起動であることを示す“０１１０”に更新設定する。また、ＰＬＤ１６は、ＤＤＣ１９ａを用い、キャッシュメモリ１２への供給電源電圧を、電圧設定レジスタ１６ｃに設定された通常動作電圧に変更する（ステップＳ１７）。この後、ＰＬＤ１６は、装置１を起動させる（ステップＳ１８）。これに伴い、ＣＰＵ１１は、ＰＬＤ１６の停電判定レジスタ１６ｄを参照し、４ビットデータが、停電復帰（メモリバックアップモードからの起動）であることを示す“０１１０”であることを認識する（ステップＳ１９）。そして、ＣＰＵ１１は、キャッシュメモリ１２上のキャッシュデータをそのまま有効データとして扱い、ディスク１ｃへの書込みを行なう（ステップＳ２０）。この後、ＰＬＤ１６は、停電判定レジスタ１６ｄにおける４ビットデータを“０１１０”から“００００”に更新設定し、ストレージ装置１は、停電に対応する処理を終了し、図８に示すような通常動作を再開する。
【００７８】
一方、メモリバックアップ処理の実行後にキャパシタ１５の出力電圧が所定値を下回っても、もしくは、メモリバックアップ処理の実行後に所定時間が経過しても、停電状態が解消されていない場合（ステップＳ１６のＹＥＳルート）、ＰＬＤ１６は、以下の処理を行なってメモリバックアップモードからキャッシュディステージモードへ移行する（ステップＳ２１）。
【００７９】
つまり、ＰＬＤ１６は、停電判定レジスタ１６ｄにおける４ビットデータを“１１１０”から“１１０１”に更新設定し、キャッシュディステージ処理の実行指示をＣＰＵ１１に対して行なう。また、ＰＬＤ１６は、各ＢＢＵ３０に対し放電開始を指示し、キャパシタ１５からの放電を停止し、ファン１４の回転開始を指示する。これにより、図１０に示すように、キャパシタ１５の放電が停止され、各ＢＢＵ３０の放電が開始され、各ＢＢＵ３０からの電源（図２の電圧VBAT参照）が、バックアップ対象(2)に含まれるＣＰＵ１１，キャッシュメモリ１２，不揮発メモリ１３，ファン１４およびＰＬＤ１６に対し供給される。ここで、ファン１４を駆動するのは、キャッシュディステージ処理では、ＣＰＵ１１が起動され発熱量が多くなるためである。
【００８０】
ＣＰＵ１１が起動されファームウエアが立ち上がる。そして、ＣＰＵ１１は、ＰＬＤ１６からキャッシュディステージ処理の実行指示を受けると、ＥＥＰＲＯＭ１６ａ内の停電判定レジスタ１６ｄを参照し、４ビットデータが、メモリバックアップモードからキャッシュディステージモードへの移行に伴う起動であることを示す“１１０１”であることを認識する（ステップＳ２２）。この後、ＣＰＵ１１は、キャッシュディステージ処理を実行し、キャッシュデータをキャッシュメモリ１２から不揮発メモリ１３へ書き込む（ステップＳ２３）。
【００８１】
ＣＰＵ１１は、キャッシュデータの書込みの完了を監視し（ステップＳ２４）、キャッシュデータの書込みが完了しない場合（ステップＳ２４のＮＯルート）、ステップＳ２３の処理に戻り、キャッシュデータをキャッシュメモリ１２から不揮発メモリ１３へ書き込む。そして、ＣＰＵ１１がキャッシュデータの書込みを完了すると（ステップＳ２４のＹＥＳルート）、ＰＬＤ１６は、停電判定レジスタ１６ｄにおける４ビットデータを、“１１０１”から、長時間停電中であり未だ復電していない状態を示す“１１１１”に更新設定する。そして、ＰＬＤ１６は、各ＢＢＵ３０に対して放電停止を指示する（ステップＳ２５）。
【００８２】
各ＢＢＵ３０は、全てのＣＭ１０（本実施形態では２つのＣＭ１０）から放電停止指示を受けたか否かを判断する（ステップＳ２６）。各ＢＢＵ３０は、全てのＣＭ１０から放電停止指示を受けるまで待機し（ステップＳ２６のＮＯルート）、全てのＣＭ１０から放電停止指示を受けると（ステップＳ２６のＹＥＳルート）、各ＢＢＵ３０は放電を停止し（ステップＳ２７）、ストレージ装置１は停止状態になる（ステップＳ２８）。なお、この後、長時間停電状態が解消されると、停電判定レジスタ１６ｄにおける４ビットデータは、適切なタイミングで“１１１１”から“０１１１”に更新設定され、図１１に示すフローチャートに従ってストレージ装置１は再起動される。
【００８３】
ついで、図１４に示すタイミングチャートを参照しながら、本実施形態のストレージ装置１およびＣＥ１ａの長時間停電時の動作について説明する。なお、図１４において、符号Ｓ１１〜Ｓ１６およびＳ２１〜Ｓ２７は、それぞれ、図１２および図１３におけるステップ番号Ｓ１１〜Ｓ１６およびＳ２１〜Ｓ２７に対応している。
【００８４】
図１４に示すように、ストレージ装置１において停電が発生し、ＰＳＵ２０に外部電源が供給されなくなると、ＰＳＵ２０は停電通知信号をＰＬＤ１６に通知する（Ｓ１１）。ＰＬＤ１６は、ＰＳＵ２０から停電通知信号を受信すると、メモリバックアップ処理の実行指示をＣＰＵ１１に対して行なう（Ｓ１２）。
【００８５】
ＣＰＵ１１は、ＰＬＤ１６からメモリバックアップ処理の実行指示を受けると、通常動作からメモリバックアップモードへ移行する（Ｓ１３）。これに伴い、キャッシュメモリ１２は、高性能モード（通常動作）からセルフリフレッシュモードへ移行し、キャパシタ１５から給電されＰＬＤ１６によって管理されながらキャッシュデータを保持する。このとき、ＣＰＵ１１，不揮発メモリ１３，ファン１４，キャパシタ１５，ホストＩ／Ｆ１７およびディスクＩ／Ｆ１８に対する電源供給は停止されている。なお、セルフリフレッシュモードは、クロックを非活性にして消費電力を低く抑え、装置内部のリフレッシュカウンタを用いて自動的にリフレッシュ動作を実行するモードであり、データを保持する必要はあるが、キャッシュメモリ１２に長時間アクセスしない場合に有効なモードである。
【００８６】
ＰＬＤ１６は、メモリバックアップ処理の実行指示をＣＰＵ１１に対して行なうと、ＤＤＣ１９ａを用い、キャッシュメモリ１２への供給電源電圧を、通常動作電圧から下限動作電圧に変更する（Ｓ１４）。この後、ＰＬＤ１６は、ＰＳＵ２０から停電復旧の通知を受けたかと、キャパシタ１５の出力電圧が最低動作電圧を下回ったかとを監視する（Ｓ１５，Ｓ１６）。
【００８７】
そして、ＰＬＤ１６は、キャパシタ１５の出力電圧が最低動作電圧を下回ってもＰＳＵ２０から停電復旧の通知がない場合、メモリバックアップモードからキャッシュディステージモードへ移行し、ＣＰＵ１１や各ＢＢＵ３０に対する指示を行なう（Ｓ２１）。これに伴い、各ＢＢＵ３０は、各ＣＭ１０におけるＣＰＵ１１，キャッシュメモリ１２，不揮発メモリ１３，ファン１４およびＰＬＤ１６に対する給電を開始し、ＣＰＵ１１が起動されるとともに（Ｓ２１）、キャッシュメモリ１２は、セルフリフレッシュモードから省電力モード（制限動作）へ移行する。なお、キャッシュメモリ１２への供給電源電圧は、ＢＢＵ３０からの電源（電圧VBAT）を入力されるＤＤＣ１９ａによって、下限動作電圧に維持される。このとき、ホストＩ／Ｆ１７およびディスクＩ／Ｆ１８に対する電源供給は停止されている。
【００８８】
また、ＣＰＵ１１は、停電判定レジスタ１６ｄを参照し、４ビットデータが、メモリバックアップモードからキャッシュディステージモードへの移行に伴う起動であることを示す“１１０１”であることを確認する（Ｓ２２）。この後、ＣＰＵ１１は、キャッシュディステージ処理を実行し、キャッシュデータをキャッシュメモリ１２から不揮発メモリ１３へ書き込む（Ｓ２３）。ＣＰＵ１１がキャッシュデータの書込みを完了すると（Ｓ２４）、ＰＬＤ１６は、各ＢＢＵ３０に対し放電停止を指示する（Ｓ２５）。そして、全てのＣＭ１０から放電停止指示を受けると、各ＢＢＵ３０は放電を停止し、ストレージ装置１は停止状態になる。
【００８９】
〔３〕まとめ
本実施形態のストレージ装置１およびＣＥ１ａによれば、二次電池（バッテリ）であるＢＢＵ３０（ＢＴＵ３２）の長寿命化をはかることができる。ほとんどの停電では、メモリバックアップ方式によるキャッシュデータの保護中に停電解除（復電）することが可能であるため、二次電池の放電（ＢＢＵ３０の放電）によって実行されるキャッシュディステージ方式へ移行することがない。つまり、短時間停電の際には、ＢＢＵ３０の放電を行なうことなくキャパシタ１５の給電によるメモリバックアップ方式が実行され、ＢＢＵ３０の放電によるキャッシュディステージ方式は長時間停電の際にのみ実行される。したがって、ＢＢＵ３０の充放電回数を少なくすることができ、ＢＢＵ３０の長寿命化を実現できる。これにより、定期保守によってバッテリ（ＢＴＵ３２）を交換する間隔を長くすることができ、保守コストが削減される。
【００９０】
また、本実施形態では、数秒〜数分程度で復旧する短時間停電の場合、キャパシタ１５の放電によってモリバックアップ方式が実行される。キャパシタ１５の再充電に要する時間は数十秒〜１分程度であり、停電から復帰後の再充電は短時間で済み、ストレージ装置１の起動中にキャパシタ１５への充電を完了することができる。したがって、キャッシュメモリ１２がライトスルー（Write Through）状態になるのを確実に回避することができる。なお、ライトスルー状態では、キャッシュメモリ１２に保持されたデータの保証ができない状態であるため、ホスト２からのデータをディスク１ｃに書き込むまでホスト２に対する処理完了通知が行なわれない。そのため、ライトバック（Write Back）状態に比べ処理速度が大幅に低下する。
【００９１】
さらに、本実施形態のストレージ装置１およびＣＥ１ａは、基幹システム以外のシステムに適用される場合、ＢＢＵ３０を取り外しキャパシタ１５によるメモリバックアップ処理のみを行なうモデルとして提供・運用することができる。したがって、ユーザのシステム構成に応じたストレージ装置１およびＣＥ１ａを提供でき、設備コストを削減することができる。
【００９２】
またさらに、本実施形態では、ＣＰＵ１１およびＰＬＤ１６を用いてメモリバックアップ方式とキャッシュディステージ方式との２つのうちのいずれか一方を選択的に切り替えて実行することができる。このため、キャパシタ１５またはＢＢＵ３０（ＢＴＵ３２）において故障が発生しても、ストレージ装置１はライトバック状態を継続することが可能である。
【００９３】
〔４〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
【００９４】
上述した制御部１０ａ，ＣＰＵ（第２制御部）１１およびＰＬＤ（第１制御部）１６としての機能の全部もしくは一部は、コンピュータ（ＣＰＵ，情報処理装置，各種端末を含む）が所定のアプリケーションプログラムを実行することによって実現される。
【００９５】
また、上記アプリケーションプログラムは、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷなど），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋Ｒ，ＤＶＤ＋ＲＷなど），ブルーレイディスク等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。
【００９６】
ここで、コンピュータとは、ハードウエアとＯＳとを含む概念であり、ＯＳの制御の下で動作するハードウエアを意味している。また、ＯＳが不要でアプリケーションプログラム単独でハードウエアを動作させるような場合には、そのハードウエア自体がコンピュータに相当する。ハードウエアは、少なくとも、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取る手段とをそなえている。上記アプリケーションプログラムは、上述のようなコンピュータに、制御部１０ａ，ＣＰＵ（第２制御部）１１およびＰＬＤ（第１制御部）１６としての機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくＯＳによって実現されてもよい。
【００９７】
〔５〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
（付記１）
記憶部と、前記記憶部のデータをキャッシュデータとして保持するキャッシュメモリとを有するストレージ装置であって、
前記ストレージ装置の通常動作時に充電されるキャパシタと、
前記ストレージ装置の通常動作時に充電されるバッテリと、
前記キャパシタからの給電により前記キャッシュデータを前記キャッシュメモリに保持する第１処理と、前記バッテリからの給電により前記キャッシュデータを前記キャッシュメモリから不揮発メモリへ書き込む第２処理とを実行させる制御部とを、有し、
前記制御部は、前記第１処理の実行後に所定条件を満たした場合に前記第２処理を実行させる、ストレージ装置。
【００９８】
（付記２）
前記制御部は、停電通知を受けると前記第１処理を実行させる、付記１記載のストレージ装置。
【００９９】
（付記３）
前記制御部は、前記第１処理の実行後に前記キャパシタの出力電圧が所定値を下回っても、もしくは、前記第１処理の実行後に所定時間が経過しても、停電状態が解消されていない場合に前記第２処理を実行する、付記２記載のストレージ装置。
【０１００】
（付記４）
前記制御部は、第１制御部と、第２制御部とを含み、
前記第１制御部は、前記停電通知を受けると前記第１処理の実行指示を行なう一方、前記第１処理の実行後に前記所定条件を満たした場合に前記第２処理の実行指示を行ない、
前記第２制御部は、前記第１制御部から前記第１処理の実行指示を受けると前記第１処理を実行する一方、前記第１処理の実行指示を受けた後に前記第１制御部から前記第２処理の実行指示を受けると前記第２処理を実行する、付記２または付記３に記載のストレージ装置。
【０１０１】
（付記５）
前記キャパシタは、前記第１処理の実行時に、前記キャッシュメモリおよび前記第１制御部に給電する、付記４記載のストレージ装置。
【０１０２】
（付記６）
前記バッテリは、前記第２処理の実行時に、前記キャッシュメモリ，前記第１制御部，前記第２制御部および前記不揮発メモリに給電する、付記４または付記５に記載のストレージ装置。
【０１０３】
（付記７）
前記第１制御部は、前記第１制御部の動作電圧と前記キャッシュメモリの下限動作電圧との高い方に基づき前記所定値を設定する、付記４〜付記６のいずれか一項に記載のストレージ装置。
【０１０４】
（付記８）
前記制御部は、前記第１処理の実行中に停電復旧通知に応じて前記ストレージ装置が起動される際に、前記キャッシュメモリにおける前記キャッシュデータを前記記憶部に書き込む、付記２〜付記７のいずれか一項に記載のストレージ装置。
【０１０５】
（付記９）
前記制御部は、前記第２処理の実行後に停電復旧通知に応じて前記ストレージ装置が起動される際に、前記不揮発メモリにおける前記キャッシュデータを、前記キャッシュメモリに書き戻した後、前記キャッシュメモリから前記記憶部に書き込む、付記２〜付記８のいずれか一項に記載のストレージ装置。
【０１０６】
（付記１０）
記憶部と、前記記憶部のデータをキャッシュデータとして保持するキャッシュメモリとを有するストレージ装置の制御装置であって、
前記ストレージ装置の通常動作時に充電されるキャパシタからの給電により前記キャッシュデータを前記キャッシュメモリに保持する第１処理と、前記ストレージ装置の通常動作時に充電されるバッテリからの給電により前記キャッシュデータを前記キャッシュメモリから不揮発メモリへ書き込む第２処理とを実行させる制御部を、有し、
前記制御部は、前記第１処理の実行後に所定条件を満たした場合に前記第２処理を実行させる、制御装置。
【０１０７】
（付記１１）
前記制御部は、停電通知を受けると前記第１処理を実行させる、付記１０記載の制御装置。
【０１０８】
（付記１２）
前記制御部は、前記第１処理の実行後に前記キャパシタの出力電圧が所定値を下回っても、もしくは、前記第１処理の実行後に所定時間が経過しても、停電状態が解消されていない場合に前記第２処理を実行させる、付記１１記載の制御装置。
【０１０９】
（付記１３）
前記制御部は、第１制御部と、第２制御部とを含み、
前記第１制御部は、前記停電通知を受けると前記第１処理の実行指示を行なう一方、前記第１処理の実行後に前記所定条件を満たした場合に前記第２処理の実行指示を行ない、
前記第２制御部は、前記第１制御部から前記第１処理の実行指示を受けると前記第１処理を実行する一方、前記第１処理の実行指示を受けた後に前記第１制御部から前記第２処理の実行指示を受けると前記第２処理を実行する、付記１１または付記１２に記載の制御装置。
【０１１０】
（付記１４）
前記キャパシタは、前記第１処理の実行時に、前記キャッシュメモリおよび前記第１制御部に給電する、付記１３記載の制御装置。
【０１１１】
（付記１５）
前記バッテリは、前記第２処理の実行時に、前記キャッシュメモリ，前記第１制御部，前記第２制御部および前記不揮発メモリに給電する、付記１３または付記１４に記載の制御装置。
【０１１２】
（付記１６）
前記第１制御部は、前記第１制御部の動作電圧と前記キャッシュメモリの下限動作電圧との高い方に基づき前記所定値を設定する、付記１３〜付記１５のいずれか一項に記載の制御装置。
【０１１３】
（付記１７）
前記制御部は、前記第１処理の実行中に停電復旧通知に応じて前記ストレージ装置が起動される際に、前記キャッシュメモリにおける前記キャッシュデータを前記記憶部に書き込む、付記１１〜付記１６のいずれか一項に記載の制御装置。
【０１１４】
（付記１８）
前記制御部は、前記第２処理の実行後に停電復旧通知に応じて前記ストレージ装置が起動される際に、前記不揮発メモリにおける前記キャッシュデータを、前記キャッシュメモリに書き戻した後、前記キャッシュメモリから前記記憶部に書き込む、付記１１〜付記１７のいずれか一項に記載の制御装置。
【０１１５】
（付記１９）
記憶部と、前記記憶部のデータをキャッシュデータとして保持するキャッシュメモリとを有するストレージ装置の制御装置として機能するコンピュータに、
前記キャッシュデータのバックアップを行なう際に、前記ストレージ装置の通常動作時に充電されるキャパシタからの給電により前記キャッシュデータを前記キャッシュメモリに保持する第１処理の実行後に所定条件を満たした場合に、前記ストレージ装置の通常動作時に充電されるバッテリからの給電により前記キャッシュデータを前記キャッシュメモリから不揮発メモリへ書き込む第２処理を実行させる、制御プログラム。
【０１１６】
（付記２０）
停電通知を受けると前記第１処理を前記コンピュータに実行させる、付記１９記載の制御プログラム。
【符号の説明】
【０１１７】
１    ストレージ装置
１ａ    ＣＥ（制御装置）
１ｂ    ＤＥ（記憶部）
１ｃ    ディスク（記憶部）
２    ホスト
１０    ＣＭ
１０ａ    制御部
１１    ＣＰＵ（第２制御部）
１２    キャッシュメモリ（Cache）
１３    不揮発メモリ
１３ａ    ＥＥＰＲＯＭ
１３ｂ    個体情報
１４    ファン（FAN）
１５    キャパシタ（Capacitor）
１６    ＰＬＤ（第１制御部）
１６ａ    ＥＥＰＲＯＭ
１６ｂ    動作電圧情報
１６ｃ    電圧設定レジスタ
１６ｄ    停電判定レジスタ
１６ｅ    キャッシュ動作電圧判別テーブル
１７    ホストインターフェイス（Host I/F）
１８    ディスクインターフェイス（Disk I/F）
１９ａ〜１９ｅ    ＤＤＣ（直流／直流コンバータ）
２０    ＰＳＵ
３０    ＢＢＵ（バッテリ，二次電池）
３１    ＢＣＵ
３２    ＢＴＵ（バッテリ二次電池）
【図１】
2014215661.tif 000003
【図２】
2014215661.tif 000004
【図３】
2014215661.tif 000005
【図４】
2014215661.tif 000006
【図５】
2014215661.tif 000007
【図６】
2014215661.tif 000008
【図７】
2014215661.tif 000009
【図８】
2014215661.tif 000010
【図９】
2014215661.tif 000011
【図１０】
2014215661.tif 000012
【図１１】
2014215661.tif 000013
【図１２】
2014215661.tif 000014
【図１３】
2014215661.tif 000015
【図１４】
2014215661.tif 000016
【図１５】
2014215661.tif 000017
【図１６】
2014215661.tif 000018
【図１７】
2014215661.tif 000019
【図１８】
2014215661.tif 000020