(57)【要約】【課題】メモリ制御装置において、ＢＵＤの冗長性を維持する。【解決手段】ストレージ制御装置１におけるバックアップ対象データを、書き込み可能回数に制限があるメモリデバイス２０を複数使用して書き込む制御を行なうメモリ制御装置１０であって、メモリ２０の稼動状態と、バックアップ対象データの重要度とに基づき、複数のメモリ２０のうち一部のメモリに対して書き込み制限を行なう制御部を備える。【選択図】図１
2020135819.tif 000002
【特許請求の範囲】
【請求項１】
ストレージ制御装置におけるバックアップ対象データを、書き込み可能回数に制限があるメモリデバイスを複数使用して書き込む制御を行なうメモリ制御装置であって、
前記メモリの稼動状態と、前記バックアップ対象データの重要度とに基づき、複数のメモリのうち一部のメモリに対して書き込み制限を行なう制御部
を備える
ことを特徴とする、メモリ制御装置。
【請求項２】
前記制御部は、前記一部のメモリに対して書き込む前記バックアップデータの量と、前記複数のメモリのうち前記一部のメモリ以外のメモリに対して書き込む前記バックアップデータの量とを異なるように書き込み制限を行なう、
ことを特徴とする、請求項１記載のメモリ制御装置。
【請求項３】
前記制御部は、前記メモリ制御装置が備える揮発性メモリに格納されている前記バックアップ対象データを前記メモリにバックアップする、
ことを特徴とする、請求項１又は２記載のメモリ制御装置。
【請求項４】
少なくとも、前記メモリの稼働時間と、前記メモリの累積書き込み量とに基づき、前記メモリの前記稼動状態を判定する状態判定部
を備える
ことを特徴とする、請求項１〜３のいずれか一項に記載のメモリ制御装置。
【請求項５】
少なくとも、前記メモリの記憶領域における前記バックアップ対象データの書き込み先アドレスと、前記バックアップ対象データの種別とに基づき、前記バックアップ対象データの前記重要度を判断する重要度判断部
を備える
ことを特徴とする、請求項１〜４のいずれか一項に記載のメモリ制御装置。
【請求項６】
メモリ制御装置のプロセッサに、
ストレージ制御装置におけるバックアップ対象データを、書き込み可能回数に制限があるメモリデバイスを複数使用して書き込む制御を行なうメモリ制御装置が、前記メモリの稼動状態と、前記バックアップ対象データの重要度とに基づき、複数のメモリのうち一部のメモリに対して書き込み制限を行なう処理を実行させる、
ことを特徴とする、メモリ制御プログラム。
【請求項７】
ストレージ制御装置におけるバックアップ対象データを、書き込み可能回数に制限があるメモリデバイスを複数使用して書き込む制御を行なうメモリ制御装置が、前記メモリの稼動状態と、前記バックアップ対象データの重要度とに基づき、複数のメモリのうち一部のメモリに対して書き込み制限を行なう処理
を備える、
ことを特徴とする、メモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ制御装置、メモリ制御プログラム、及びメモリ制御方法に関する。
【背景技術】
【０００２】
複数のストレージ制御装置（ＣＭ；Controller Module）を冗長化して備えるストレージシステムでは、各ＣＭが、当該ストレージシステムについてのログ情報（システムログともいう）等のデータをメモリに保存する。そして、これらのＣＭは、各メモリに保存されたデータを、例えば、所定のタイミングで、各ＣＭに１つ以上備えられたバックアップ装置（ＢＵＤ；Backup Device）に冗長化して保存する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２００８−５３９５３３号公報
【特許文献２】特開２０１４−３２５８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述したようなストレージシステムでは、各ＣＭがそれぞれのＢＵＤに対してほぼ均一にデータを書き込むため、これら複数のＢＵＤがほぼ同じタイミングで書き込み寿命（例えば、書き込み制限回数）を超える場合がある。この場合、ＢＵＤの冗長性を喪失するという課題がある。
【０００５】
１つの側面では、ＢＵＤの冗長性を維持することを目的とする。
【課題を解決するための手段】
【０００６】
ストレージ制御装置におけるバックアップ対象データを、書き込み可能回数に制限があるメモリデバイスを複数使用して書き込む制御を行なうメモリ制御装置であって、前記メモリの稼動状態と、前記バックアップ対象データの重要度とに基づき、複数のメモリのうち一部のメモリに対して書き込み制限を行なう制御部を備える。
【発明の効果】
【０００７】
一実施形態によれば、ＢＵＤの冗長性を維持することができる。
【図面の簡単な説明】
【０００８】
【図１】実施形態の一例としてのストレージシステムのハードウェア構成を例示する図である。
【図２】実施形態の一例としてのストレージシステムにおけるＣＭのハードウェア構成を例示する図である。
【図３】実施形態の一例としてのストレージシステムにおけるＣＭの機能構成を例示する図である。
【図４】実施形態の一例としてのストレージシステムにおけるＢＵＤ状態判定情報を例示する図である。
【図５】実施形態の一例としてのストレージシステムにおける書き込み制御情報を例示する図である。
【図６】実施形態の一例としてのストレージシステムにおける重要度判断用情報を例示する図である。
【図７】実施形態の一例としてのストレージシステムにおけるＢＵＤの記憶領域の使用例を示す図である。
【図８】実施形態の一例としてのストレージシステムにおけるＢＵＤへの書き込み制御処理を例示する図である。
【図９】実施形態の一例としてのストレージシステムにおける書き込み対象データの重要度判断処理を例示する図である。
【図１０】実施形態の一例としてのストレージシステムにおける寿命予測処理を例示する図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図等はない。例えば、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。なお、以下の実施形態で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。
【００１０】
〔１〕一実施形態
〔１−１〕一実施形態に係るストレージシステムのハードウェア構成例
図１は、実施形態の一例としてのストレージシステム１のハードウェア構成を例示する図である。
【００１１】
この図１に例示するように、ストレージシステム１は、２つ以上のＣＭ（ＣＭ１０−０，・・・，ＣＭ１０−ｎ；ｎは１以上の整数）、及び、１つ以上のサーバ装置（サーバ装置３０−０，・・・，サーバ装置３０−ｍ；ｍは０以上の整数）を備える。また、ストレージシステム１は、複数のＨＤＤ（Hard Disk Drive）５０、及び、ＣＭ間通信スイッチ６０を備える。
【００１２】
複数のＣＭ１０−０，・・・，ＣＭ１０−ｎは、それぞれ、ＣＭ＃０,・・・，ＣＭ＃ｎとも表される。以下、複数のＣＭ１０−０〜１０−ｎを特に区別しない場合には、ＣＭ１０と表記する。なお、“＃”に続く数字（０，・・・，ｎ）は、識別子（ＩＤ）ともいい、ＣＭ１０の特定に用いる。
【００１３】
これらのＣＭ１０はストレージ制御装置であり、各ＨＤＤ５０に対するデータの入出力（リードやライト）を制御する。ＣＭ１０はサーバ装置３０に対してＨＤＤ５０の記憶領域を提供する。
【００１４】
１つ以上のサーバ装置３０−０，・・・，サーバ装置３０−ｍは、それぞれ、サーバ装置＃０,・・・，サーバ装置＃ｍとも表される。以下、サーバ装置３０−０〜３０−ｍを特に区別しない場合には、サーバ装置３０と表記する。なお、“＃”に続く数字（０，・・・，ｍ）は、識別子ともいい、サーバ装置３０の特定に用いる。また、図１には、１つのＣＭ１０（例えば、ＣＭ＃０）が１つのサーバ装置３０（例えば、サーバ装置＃０）と接続される場合を例示したが、これに限られない。
【００１５】
このサーバ装置３０は、サーバ機能を有するコンピュータであり、ＢＵＤ２０やＨＤＤ５０に対するデータアクセス要求を各ＣＭ１０に対して送信する。なお、サーバ装置３０は、自身が接続されるＣＭ１０に対して、当該ＣＭ１０以外のＣＭ１０に備えられる（自身が接続されるＣＭ１０以外のＣＭ１０の配下にある）ＢＵＤ２０やＨＤＤ５０に対するデータアクセス要求を送信してもよい。
【００１６】
ＣＭ間通信スイッチ６０は、ＣＭ１０から通信要求を受信し、例えば、当該要求に含まれる通信先のＣＭ１０の識別子を検出して、要求元のＣＭ１０と通信先のＣＭ１０との間の経路の接続を行なう。また、ＣＭ間通信スイッチ６０は、データのリード要求やライト要求（データアクセス要求）を、一方のＣＭ１０から他方のＣＭ１０に対して転送する。
【００１７】
各ＣＭ１０は、記憶装置であるＢＵＤ２０を１つ以上備える。図１は、各ＣＭ１０がそれぞれ２つのＢＵＤ２０を備える場合を例示している。この図１に示すように、ストレージシステム１は、ＢＵＤ＃０（２０−０）〜ＢＵＤ＃ｍ（２０−ｍ；ｍは０以上の整数）を備える。また、ＢＵＤ２０−０，・・・，ＢＵＤ２０−ｍは、それぞれ、ＢＵＤ＃０,・・・，ＢＵＤ＃ｍとも表される。以下、ＢＵＤ２０−０〜２０−ｍを特に区別しない場合には、ＢＵＤ２０と表記する。なお、“＃”に続く数字（０，・・・，ｍ）は、識別子ともいい、ＢＵＤ２０の特定に用いる。
【００１８】
ＢＵＤ２０は、例えば、ＳＳＤ(Solid State Drive)であり、不揮発性の半導体メモリを記憶素子として備える。なお、ＢＵＤ２０はＳＳＤに限定されるものではなく種々変形して実施することができる。
【００１９】
ＨＤＤ５０は、磁気ディスク装置である。図１においては、各ＣＭ１０が２つ以上のＨＤＤ５０を備える例を示している。
【００２０】
本ストレージシステム１では、物理ドライブであるこれらのＨＤＤ５０のいずれか複数を組み合わせて仮想的な論理ドライブを構成することにより、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）を構成してもよい。
【００２１】
なお、この図１では、各ＣＭ１０が、２つのＢＵＤ２０を備える例を示しているが、これに限定されない。ＣＭ１０は１つもしくは３つ以上のＢＵＤ２０を備えてもよい。また、各ＣＭ１０に接続されるＨＤＤ５０の数も適宜変更して実施することができる。
【００２２】
また、ＣＭ１０は図示しないネットワークを介して、例えば、システム管理者が用いる図示しない管理端末と接続されてもよい。
【００２３】
〔１−２〕一実施形態に係るストレージシステムにおけるＣＭのハードウェア構成例
図２は、実施形態の一例としてのストレージシステム１におけるＣＭ１０（ＣＭ＃０）のハードウェア構成を例示する図である。
【００２４】
この図２を用いて、図１に示すＣＭ１０のハードウェア構成を説明する。本実施形態では、図１に例示する複数のＣＭ１０のそれぞれが、図２に示すハードウェア構成を備えるものとする。
【００２５】
ＣＭ１０は、例示的に、ＣＰＵ（Central Processing Unit）１１、記憶部１２、メモリ１３、ＩＦ（Interface）部１４、入出力部１５、及び、表示部１６を備えてよい。
【００２６】
ＣＰＵ１１は、後述する記憶部１２に格納されるＯＳ（Operating System）や制御プログラム９０（後述）を実行し、例えば、サーバ装置３０からの指示に応じ、例えば、ＢＵＤ２０を制御する演算処理装置（プロセッサ）である。
【００２７】
記憶部１２は、種々のデータやプログラム等を格納するハードウェアの一例である。例えば、記憶部１２は、ＣＭ１０の二次記憶装置として使用されてよく、ＯＳやファームウェア、アプリケーション等のプログラム、及び各種データが格納されてよい。この記憶部１２としては、例えば、ＨＤＤの他、ＳＳＤやＳＣＭ（Storage Class Memory）等の他の記憶装置であってもよい。記憶部１２は、ＣＭ１０の各種機能の全部若しくは一部を実現するプログラム（後述する制御プログラム９０）を格納してもよい。
【００２８】
メモリ１３は、種々のデータやプログラム等を格納するハードウェアの一例である。メモリ１３としては、ＲＡＭ（Random Access Memory）等の揮発性メモリや、フラッシュメモリ、ＳＣＭ、ＲＯＭ（Read Only Memory）等の不揮発性メモリが挙げられる。また、メモリ１３は、制御プログラム９０を格納してもよい。メモリ１３のＲＡＭは一次記憶メモリあるいはワーキングメモリとして利用してもよい。
【００２９】
ＩＦ部１４は、他のＣＭ１０、サーバ装置３０、及び、図示しない管理装置との間の接続及び通信の制御等を行なう通信インタフェースの一例である。例えば、ＩＦ部１４は、図示しない管理装置を接続するためのアダプタ（ポート）を備えてもよい。ＩＦ部１４は、例えば、ＰＣＩｅ（Peripheral Component Interconnect Express）インタフェースや光通信インタフェースを備えてもよい。なお、制御プログラム９０は、図示しないネットワークから当該ＩＦ部１４を介してダウンロードされてもよい。
【００３０】
入出力部１５は、例えば、マウス、キーボード、タッチパネル、操作ボタン等の入力装置、の少なくともいずれか一つを含んでよい。
【００３１】
表示部１６は、例えば、ディスプレイや、プロジェクタ、スピーカ、プリンタ等の出力装置の少なくともいずれか一つを含んでよい。
【００３２】
上述したＣＭ１０のハードウェア構成は例示である。したがって、ＣＭ１０内でのハードウェアの増減（例えば、任意のブロックの追加や省略）、分割、任意の組み合わせでの統合等は適宜行なわれてもよい。
【００３３】
〔１−３〕一実施形態にストレージシステムにおける機能構成例
本ストレージシステムに係るＣＭ１０の機能構成について、図３を用いて説明する。
【００３４】
図３は、図１に示す実施形態の一例としてのＣＭ１０の機能構成を例示する図である。本実施形態では、図１に例示する複数のＣＭ１０のそれぞれが、図３に示す機能構成を備えるものとする。
【００３５】
図３に例示するように、ＣＭ１０は、例示的に、ＣＭ間通信部４１、書き込み制限ＢＵＤ決定部４２、重要度判断部４３、ステータス取得部４４、書き込みモード決定部４５、状態判定部４６、及び、書き込み実行部４７を備えてもよい。
【００３６】
ＣＭ間通信部４１は、他のＣＭ１０（のＣＭ間通信部４１）と通信を行ない、当該ストレージシステム１を構成する各ＣＭ１０の稼動状況と、各ＣＭが備えるＢＵＤ２０の稼働状況とを取得する。本実施形態において、ＣＭ１０の稼動状況とは、例えば、当該ＣＭ１０が稼働中又は故障中であるかを示す情報であり、ＢＵＤ２０の稼働状況とは、例えば、当該ＢＵＤ２０が稼働中又は故障中であるかを示す情報である。
【００３７】
書き込み制限ＢＵＤ決定部４２は、当該ストレージシステム１に備えられた複数のＢＵＤ２０２０中において、データの書き込み量を制限する（少なくする）ＢＵＤである書き込み制限ＢＵＤ２０を決定する。
【００３８】
この書き込み制限ＢＵＤ決定部４２は、当該ストレージシステム１において稼働中のＢＵＤ２０の台数を判断する。
【００３９】
書き込み制限ＢＵＤ決定部４２は、本ストレージシステム１で２台以上のＢＵＤ２０が稼働中であると判断した場合、これら複数のＢＵＤ２０の中から１台だけ、データの書き込みが制限されないＢＵＤである通常書き込みＢＵＤ２０を決定する。例えば、書き込み制限ＢＵＤ決定部４２は、稼働中のＢＵＤ２０のうち、最も小さい識別子（本例では０）をもつＢＵＤ２０（ＢＵＤ＃０）を通常書き込みＢＵＤ２０に決定する。
【００４０】
なお、３台以上のＢＵＤ２０が稼働中である（と判断した）場合にも、これらのＢＵＤ２０の中から１台だけを通常書き込みＢＵＤ２０として決定することが望ましい。これは、データの書き込みが制限されないＢＵＤを１台に抑えることにより、当該ストレージシステム１全体におけるＢＵＤ２０への書き込み量を削減し、ＢＵＤ２０の寿命を長くするためである。
【００４１】
また、書き込み制限ＢＵＤ決定部４２は、当該ＢＵＤ２０に対する書き込み内容を制限する（少なくする）ＢＵＤである書き込み制限ＢＵＤ２０を決定する。本実施形態において、書き込み制限ＢＵＤ決定部４２は、通常書き込みＢＵＤ２０以外のＢＵＤ２０（本例ではＢＵＤ＃１〜＃ｍ）を書き込み制限ＢＵＤ２０に決定する。
【００４２】
書き込み制限ＢＵＤ２０に書き込むデータ（データ量）を制限することにより、この書き込み制限ＢＵＤ２０においては、通常書き込みＢＵＤ２０よりも累積書き込み量が限界値に到達するまでにかかる時間を遅らせ、その寿命を長くする。その結果、書き込み制限ＢＵＤ２０においては、交換や故障までにかかる時間を通常書き込みＢＵＤ２０よりも長くすることができる。このように、ストレージシステム１に備えられた冗長構成を実現する複数のＢＵＤ２０にて通常書き込みＢＵＤ２０と書き込み制限ＢＵＤ２０とを設けることで、ＢＵＤ２０の故障発生やメンテナンス作業実施のタイミングに差異を生じさせることができる。すなわち、ＢＵＤ２０の冗長性を維持することができる。
【００４３】
重要度判断部４３は、ＢＵＤ２０に対して書き込まれるデータ、すなわち、書き込み対象データの重要度を判定する。重要度判断部４３は、書き込み対象データに対して、例えば、「Ｈ」（高い）、「Ｍ」（中程度）、及び、「Ｌ」（低い）の３種類のうちのいずれかの重要度を判定（決定）する。この重要度を判定するための具体的な処理については後述する。なお、本実施形態におけるＢＵＤ２０に対する書き込み対象データとは、例えば、メモリ１３上のデータであり、当該ストレージシステム１のログ情報やバックアップデータである。
【００４４】
また、後述の如く、重要度判断部４３は、ＢＵＤ２０への書き込み先アドレスや、当該書き込み対象データの種別に基づいて書き込み対象データの重要度を判定する。そのため、重要度判断部４３は、ＢＵＤ２０への書き込み先アドレスや、当該書き込み対象データの種別を取得する。
【００４５】
このデータの種別は、例えば、システムログ，故障判定・異常検出ログ，書き込みモード遷移ログ，環境温度電圧，外部接続変化である。重要度判断部４３は、例えば、当該書き込み対象データに含まれるフラグに基づき当該データの種別を取得してもよい。また、重要度判断部４３は、当該書き込みデータに含まれている特定のデータに基づいて、データの種別を判定してもよく、種々変形して実施することができる。また、書き込み対象データの種別を取得する手法は公知であるためここでは説明を省略する。
【００４６】
ステータス取得部４４は、自身が属するＣＭ１０に備えられる各ＢＵＤ２０の稼働時間を、例えば、記憶部１２に格納して管理する。そして、ステータス取得部４４は、記憶部１２に格納した各ＢＵＤ２０の稼働時間を、適宜、取得することができる。
【００４７】
また、ステータス取得部４４は、自身が属するＣＭ１０に備えられる各ＢＵＤ２０にアクセスし、当該ＢＵＤ２０の累積書き込み量（例えば、ディスクの使用量）を取得する。そして、ステータス取得部４４は、取得したＢＵＤ２０の累積書き込み量を、例えば、記憶部１２に格納して管理する。なお、本実施形態において、ステータスとは、各ＢＵＤ２０の累積書き込み量、及び、各ＢＵＤ２０の稼働時間である。
【００４８】
書き込みモード決定部４５は、書き込み制限ＢＵＤ２０に書き込むデータの量をどのように制限するかを示す書き込みモードを決定する。書き込みモード決定部４５は、書き込みモードを、例えば、「正常モード」、「予兆回避モード」、及び、「故障回避モード」の３種類のうちから決定する。これらの書き込みモードは、書き込み制限ＢＵＤ２０に対する書き込みを制限するための指標である。したがって、書き込みモード決定部４５により書き込み制限ＢＵＤ２０に対する書き込みモードが変更されると、当該書き込み制限ＢＵＤ２０に対して書き込まれるデータの内容（種別）が変更される。したがって、ＢＵＤ２０に対して書き込まれるデータ量が変更される。なお、通常書き込みＢＵＤ２０に対しては、書き込みモードは設定されないものとする。
【００４９】
これらの書き込みモードについてそれぞれ説明する。「正常モード」とは、ＢＵＤ２０へのデータの書き込みを制限することなく、すべての（種別の）データを書き込むモードである。ＢＵＤ２０の累積書き込み量が、設計段階における当該ＢＵＤ２０の書き込み量の限界値に到達するまでにまだ余裕がある場合には、書き込みモード決定部４５は「正常モード」を設定して、特に制限を設けずに当該ＢＵＤ２０へ書き込みを行なう。この「正常モード」を設定して書き込みを行なう具体的な手法については後述する。なお、なお、通常書き込みＢＵＤ２０に対しては、この「正常モード」と同じデータが書き込まれる。
【００５０】
一方、「予兆回避モード」、及び、「故障回避モード」は、ＢＵＤ２０へのデータの書き込みを制限するモード（書き込み制限モード）の一例である。
【００５１】
「故障回避モード」は、書き込み対象データのうち、「予兆回避モード」よりも少ない種別のデータをＢＵＤ２０に書き込むモードである。また、「予兆回避モード」は、書き込み対象データのうち、「正常モード」よりも少ない種別のデータを書き込むが、「故障回避モード」よりも多くの種別のデータを書き込むモードである。これらの「故障回避モード」、又は、「予兆回避モード」を設定して書き込みを行なう具体的な手法については後述する。書き込み対象データの量は、「正常モード」，「予兆回避モード」，「故障回避モード」の順で少なくなる。
【００５２】
状態判定部４６は、当該ＢＵＤ２０の状態を判定する。状態判定４６は、ＢＵＤ２０の稼働時間と累積書き込み量とに基づき、当該ＢＵＤ２０の状態を、「正常状態」、「故障予測状態」、「故障予兆予測状態」、及び、「故障状態」の４種類の状態のうちから判定（決定）する。
【００５３】
この状態判定部４６は、図４に例示するようなＢＵＤ状態判定情報７０を参照して当該ＢＵＤ２０の状態を判定する。
【００５４】
図４は、実施形態の一例とストレージシステム１におけるＢＵＤ状態判定情報７０を例示する図である。
【００５５】
図４に例示するＢＵＤ状態判定情報７０は、ＢＵＤ２０の稼働時間（横軸）、及び、ＢＵＤ２０の累積書き込み量（縦軸）の２つのパラメータとＢＵＤ２０の状態との関係を示す。
【００５６】
なお、この図４の横軸における「設計寿命」は、設計段階における当該ＢＵＤ２０の書き込み寿命を示すものである。ＢＵＤ２０の稼働時間がこの書き込み寿命に至ると、例えば、当該ＢＵＤ２０の交換時期が到来したことがわかる。
【００５７】
また、この図４の縦軸における「限界値」は、例えば、設計段階における当該ＢＵＤ２０の書き込み量の限界値を示すものである。なお、ＢＵＤ２０におけるこの限界値以上のデータの書き込みは保証されない。
【００５８】
また、図４に例示するように、ＢＵＤ２０の稼働時間（横軸）とＢＵＤ２０の累積書き込み量（縦軸）との関係に応じ、当該ＢＵＤ２０の状態（稼動状態）を、「正常状態」、「故障予測状態」、「故障予兆予測状態」、及び、「故障状態」の４つの状態に分類する。
【００５９】
具体的には、図４に例示するＢＵＤ状態判定情報７０は、右上がりの一次関数直線Ｌ１と、この一次関数直線Ｌ１の上方に位置する右上がりの一次関数直線Ｌ２とを備える。そして、一次関数直線Ｌ１の下方位置において一次関数直線Ｌ１と横軸とで挟まれる領域が「正常状態」に相当する。
【００６０】
また、一次関数直線Ｌ２の上方位置において一次関数直線Ｌ２と縦軸とで挟まれる領域が「故障予測状態」に相当する。さらに、一次関数直線Ｌ１の上方位置、且つ、一次関数直線Ｌ２の下方位置において、一次関数直線Ｌ１と一次関数直線Ｌ２とで挟まれる領域が「故障予兆予測状態」に相当する。以下に、これらの各状態の判定手法について説明する。
【００６１】
状態判定部４６は、ＢＵＤ２０の稼働時間とＢＵＤ２０の累積書き込み量とに基づいて図４に例示するＢＵＤ状態判定情報７０を参照することで、ＢＵＤ２０の状態を判定する。状態判定部４６は、ＢＵＤ２０の累積書き込み量と稼働時間との組み合せが、ＢＵＤ状態判定情報７０中におけるいずれの領域に属するかに応じて、ＢＵＤ２０の状態を決定する。
【００６２】
状態判定部４６によるＢＵＤ２０の状態の判定方法を、ＢＵＤ２０の稼働時間がｘ年（ｘは０以上，ただし、ｘ（年）は設計寿命未満）である場合を例にとり説明する。
【００６３】
図４に示す例において、累積書き込み量が例えばａ（ＧＢ）未満である場合、状態判定部４６は、当該ＢＵＤ２０の状態が「正常状態」であると判定する。ただし、ａは０以上、且つ、後述するｂ未満である。
【００６４】
また、累積書き込み量が例えばｃ（ＧＢ）以上である場合、状態判定部４６は、当該ＢＵＤ２０の状態が「故障状態」、すなわち、書き込み寿命に到達していると判定する。ただし、ｃは０以上、且つ、限界値未満である。
【００６５】
また、図４に例示するように、累積書き込み量が例えばｂ（ＧＢ）以上、且つ、ｃ（ＧＢ）未満である場合、状態判定部４６は、当該ＢＵＤ２０の状態が「故障予測状態」、すなわち、上述した「故障状態」に到達する前の状態であると判定する。ただし、ｂは０以上、且つ、ｃ未満である。このように、状態判定部４６がＢＵＤ２０の状態を「故障予測状態」と判定した場合には、当該ＢＵＤ２０の寿命がもうすぐ書き込み寿命に到達することが予測できる。
【００６６】
また、累積書き込み量が例えばａ（ＧＢ）以上、且つ、ｂ（ＧＢ）未満である場合、状態判定部４６は、当該ＢＵＤ２０の状態が「故障予兆予測状態」、すなわち、「正常状態」ではなく、且つ、上述した「故障予測状態」に到達する前の状態であると判定する。このように、状態判定部４６がＢＵＤ２０の状態を「故障予兆予測状態」と判定した場合には、当該ＢＵＤ２０の寿命がすぐに書き込み寿命に到達するわけではないが、正常と判断される状態を過ぎていると予測できる。
【００６７】
このように、状態判定部４６は、図４に例示するＢＵＤ状態判定情報７０を参照して、自身が属するＣＭ１０に備えられる各ＢＵＤ２０の状態を判定する。なお、図４に例示したＢＵＤ２０の状態は一態様にすぎず、その趣旨を逸脱しない範囲で種々変形して実施することができる。
【００６８】
また、図４に例示したＢＵＤ状態判定情報７０は一態様にすぎず、その趣旨を逸脱しない範囲で種々変形して実施することができる。すなわち、図４に例示したＢＵＤ状態判定情報７０は、便宜上、ＢＵＤ２０の稼働時間と累積書き込み量とＢＵＤ２０の状態との関係をグラフとして表しているに過ぎず、適宜変更して実施することができる。
【００６９】
書き込み実行部４７は、ＢＵＤ２０へのデータの書き込みを行なう。書き込み実行部４７は、書き込み制御情報７２（図５参照）を参照し、書き込みモードと、書き込み対象データの重要度とに基づき、書き込み制御パターンを決定する。書き込み制御パターンは、書き込み制限ＢＵＤ２０に対する書き込み対象データの書き込みを通常書き込みを行なうか書き込み抑止を行なうかを示す。この書き込み制御情報７２については図５を用いて後述する。書き込み実行部４７は、決定した書き込み制御パターンに応じて、書き込み制限ＢＵＤ２０に対する書き込み対象データの書き込みを行なう。
【００７０】
図５は、書き込み制御情報７２を例示する図である。この図５に例示する書き込み制御情報７２は、書き込みモードによって、書き込み対象データを書き込み制限ＢＵＤ２０へ書き込むか否かが異なることを示している。さらに、図５に例示する書き込み制御情報７２は、書き込み対象データの重要度によっても、書き込み制限ＢＵＤ２０への書き込みを行なうか否かが異なることを示している。
【００７１】
書き込みモードが「正常モード」である場合、書き込み実行部４７は、書き込み対象データの重要度がいずれであるかに関わらず、当該書き込み対象データを書き込み制限ＢＵＤ２０に書き込む。書き込みモードが「正常モード」である場合、書き込み制限ＢＵＤ２０の累積書き込み量が限界値に至るまでに余裕があると判断できるため、制限を設けずに書き込み制限ＢＵＤ２０へ書き込みを行なう。
【００７２】
書き込みモードが「故障回避モード」である場合、書き込み実行部４７は、書き込み対象データの重要度が「Ｈ」のデータのみを書き込み制限ＢＵＤ２０に書き込む（通常書き込みを行なう）。ここで、図６を用いて、書き込み制限ＢＵＤ２０への書き込みについて説明する。
【００７３】
図６は、一実施形態に係るストレージシステム１における重要度判断用情報７１を例示する図であり、図７は、ＢＵＤ２０の記憶領域の使用例を示す図である。
【００７４】
図７に例示するＢＵＤ２０の記憶領域は、例示的に、ファームウェア格納領域２０１、ログ情報格納領域２０２、バックアップ領域２０３、及び、空き領域２０４を備える。なお、本実施形態では、図１に例示する複数のＢＵＤ２０の記憶領域のそれぞれが、図７に示す各領域を備えるものとする。
【００７５】
ファームウェア格納領域２０１は、ＣＭ１０の機能を実現するべくＣＰＵ１１が実行するファームウェアが格納される領域である。
【００７６】
ログ情報格納領域２０２は、ＣＭ１０のメモリ１３に格納されるデータのうち、ログ情報が格納（バックアップ）される領域である。
【００７７】
バックアップ領域２０３は、ＣＭ１０のメモリ１３に格納されるデータのうち、バックアップ対象のデータであって、ログ情報を除くデータが格納される領域である。このログ情報を除くバックアップ対象のデータを、バックアップデータという。
【００７８】
空き領域２０４は、データが格納されていない（未使用の）バッファ領域である。
【００７９】
上述した、ファームウェア格納領域２０１、ログ情報格納領域２０２、バックアップ領域２０３、及び、空き領域２０４の各領域は、ＢＵＤ２０の記憶領域のアドレス（開始アドレス）に基づき区分けされる。したがって、ＢＵＤ２０への書き込み要求に含まれる書き込み先アドレスを参照することで、当該書き込み要求の書き込み対象のデータを特定することができる。
【００８０】
図６に例示する重要度判断用情報７１は、書き込み先領域と、書き込み対象データの種別と、書き込み対象データの重要度とを対応付けて示している。
【００８１】
具体的には、図６に例示する重要度判断用情報７１は、書き込み先領域がファームウェア格納領域２０１またはバックアップ領域２０３であるデータが重要度「Ｈ」であることを示す（矢印Ｒ１参照）。また、書き込み先領域がログ情報格納領域２０２であり、且つ、書き込み対象データの種別が故障判定ログ，異常検出ログおよび書き込みモード遷移ログのいずれかであるデータが重要度「Ｍ」であることを示す（矢印Ｒ２参照）。さらに、書き込み先領域がログ情報格納領域２０２であり、且つ、書き込み対象データの種別が環境温度，電圧，外部接続の変化を示すログのいずれかであるデータが重要度「Ｌ」であることを示す（矢印Ｒ３参照）。
【００８２】
したがって、例えば、図５に例示する書き込み制御情報７２において、「故障回避モード」の場合には、書き込み実行部４７は、重要度「Ｈ」のデータを書き込み制限ＢＵＤ２０に書き込む。すなわち、書き込み実行部４７は、重要度判断用情報７１を参照して、書き込み先アドレスが、ファームウェア格納領域２０１（図７参照）、又は、バックアップ領域２０３（図７参照）を示すデータのみを書き込み制限ＢＵＤ２０に書き込む。
【００８３】
そして、この「故障回避モード」においては、図５に示すように、書き込み実行部４７は、書き込み対象データの重要度が「Ｍ」及び「Ｌ」のデータについては、書き込み制限ＢＵＤ２０への書き込みを抑止する（書き込みは行なわない）。すなわち、書き込み実行部４７は、「故障回避モード」の場合、書き込み対象データの種別が、故障判定ログ、異常検出ログ、及び、書き込みモード遷移ログであるデータ（重要度「Ｍ」のデータ）については、書き込み制限ＢＵＤ２０への書き込みを抑止する。
【００８４】
同様に、この「故障回避モード」においては、書き込み実行部４７は、書き込み対象データの種別が、環境温度、電圧、及び、外部接続の変化を示すログであるデータ（重要度「Ｌ」のデータ）についても、書き込み制限ＢＵＤ２０への書き込みを抑止する。これは、書き込みモードが「故障回避モード」である場合には、すぐに「故障状態」（書き込み寿命）に到達する可能性があるため、重要度の高いデータのみを迅速に書き込み制限ＢＵＤ２０に書き込ませるためである。
【００８５】
一方、図５に例示する書き込み制御情報７２において、書き込みモードが「予兆回避モード」である場合、書き込み実行部４７は、書き込み対象データの重要度が「Ｈ」及び「Ｍ」のデータのみを書き込み制限ＢＵＤ２０に書き込む（通常書き込みを行なう）。ここで、図６を参照すると、「予兆回避モード」の場合には、書き込み実行部４７は、書き込み先アドレスが、ファームウェア格納領域２０１、又は、バックアップ領域２０３を示すデータ（重要度「Ｈ」のデータ）を書き込み制限ＢＵＤ２０に書き込む。また、書き込み実行部４７は、書き込み対象データの種別が、故障判定ログ、異常検出ログ、及び、書き込みモード遷移ログであるデータ（重要度「Ｍ」のデータ）についても、書き込み制限ＢＵＤ２０に書き込む。
【００８６】
そして、この「予兆回避モード」においては、図５に示すように、書き込み実行部４７は、書き込み対象データの重要度が「Ｌ」のデータについては、書き込み制限ＢＵＤ２０への書き込みを抑止する（書き込みは行なわない）。すなわち、書き込み実行部４７は、書き込み対象データの種別が、環境温度、電圧、及び、外部接続の変化を示すログであるデータ（重要度「Ｌ」のデータ）について、書き込み制限ＢＵＤ２０への書き込みを抑止する。これは、書き込みモードが「予兆回避モード」である場合、「故障回避モード」よりも故障状態に到達するまでに余裕があると判断できるため、「故障回避モード」よりも緩い書き込み制限を設けたためである。
【００８７】
〔１−４〕一実施形態にストレージシステムにおけるＢＵＤへの書き込み制御の処理
上述の如く構成された実施形態の一例として、ストレージシステム１におけるＢＵＤ２０への書き込み制御の処理を、上述の図４〜図７、図９、及び、図１０を参照しながら、図８に示すフローチャート（ステップＳ１〜Ｓ８）に従って説明する。
【００８８】
図８は、一実施形態に係るストレージシステム１におけるＢＵＤ２０への書き込み制御の処理を説明するためのフローチャートである。
【００８９】
図９は、一実施形態に係るストレージシステム１における書き込み対象データの重要度判断する処理を説明するためのフローチャート（ステップＴ１〜Ｔ６）である。
【００９０】
図１０は、一実施形態に係るストレージシステム１における寿命を予測する処理を説明するためのフローチャート（ステップＱ１〜Ｑ５）である。
【００９１】
なお、図８に示すＢＵＤ２０への書き込み処理は、ＣＭ１０が、例えば、所定の間隔が経過する毎に自律的に開始されるものであってもよいが、これに限られない。例えば、この図８に示す処理は、外部電源の喪失によりストレージシステム１を動作停止させる場合、ＣＭ１０が、メモリ１３上のデータをＢＵＤ２０へ格納させるＩ／Ｏ（Input / Output）指示をサーバ装置３０から受信したことを契機として開始されてもよい。
【００９２】
なお、本実施形態において、ＣＭ１０が、当該ストレージシステム１のログ情報やバックアップデータを所定のタイミングで自身のメモリ１３に自律的に格納するものとしているが、これに限られない。例えば、ＣＭ１０が、当該ストレージシステム１のログ情報やバックアップデータをメモリ１３へ格納させるＩ／Ｏ指示をサーバ装置３０から受信したことを契機として、これらの情報を自身のメモリ１３に格納してもよい。
【００９３】
ステップＳ１において、ＣＭ１０のＣＭ間通信部４１が、他のＣＭ１０（他のＣＭ１０のＣＭ間通信部４１）と通信を行ない、当該ストレージシステム１を構成する各ＣＭ１０の稼動状況と、各ＣＭの備えるＢＵＤ２０の稼働状況とを取得する。
【００９４】
ＣＭ間通信部４１は、ＣＭ１０の稼動状況として、例えば、当該ストレージシステム１を構成する複数のＣＭ１０のそれぞれについて稼働中又は故障中のいずれの状態であるかを取得する。また、ＣＭ間通信部４１は、ＢＵＤ２０の稼働状況として、例えば、各ＣＭ１０が備えるＢＵＤ２０のそれぞれについて、稼働中又は故障中のいずれの状態であるかを取得する。
【００９５】
続くステップＳ２において、ＣＭ１０の書き込み制限ＢＵＤ決定部４２は、上述のステップＳ１にて取得したＢＵＤ２０の稼動状況に基づき、当該ストレージシステム１において何台のＢＵＤ２０が稼働中であるかを判断する。
【００９６】
書き込み制限ＢＵＤ決定部４２が、２台以上のＢＵＤ２０が稼働中であると判断した場合（ステップＳ２における“２台以上”ルート）、処理がステップＳ３に移行する。
【００９７】
続くステップＳ３において、書き込み制限ＢＵＤ決定部４２は、上述したステップＳ１にて取得した稼働中のＢＵＤ２０のうち、最も小さい識別子をもつＢＵＤ２０を通常書き込みＢＵＤ２０に決定する。
【００９８】
また、このステップＳ３において、書き込み制限ＢＵＤ決定部４２は、上述したステップＳ１にて取得した稼働中のＢＵＤ２０のうち、通常書き込みＢＵＤ２０以外のＢＵＤ２０を書き込み制限ＢＵＤ２０に決定する。
【００９９】
例えば、図１に例示するストレージシステム１において、ＣＭ＃０〜ＣＭ＃ｎがすべて稼働中であり、これらのＣＭ１０がそれぞれ備えるＢＵＤ＃０〜ＢＵＤ＃ｍもすべて稼働中である場合を例にとり説明する。この場合、書き込み制限ＢＵＤ決定部４２は、最も小さい識別子をもつＢＵＤ２０であるＢＵＤ＃０を通常書き込みＢＵＤ２０に決定し、ＢＵＤ＃１〜ＢＵＤ＃ｍ（ＢＵＤ＃０以外）を書き込み制限ＢＵＤ２０に決定する。
【０１００】
続くステップＳ４において、重要度判断部４３は、書き込み対象のデータについての重要度を判定する。
【０１０１】
このステップＳ４における処理の詳細を、図９に示すフローチャート（ステップＴ１〜Ｔ６）に従って具体的に説明する。
【０１０２】
図９に示すステップＴ１において、重要度判断部４３は、ＢＵＤ２０への書き込み先アドレスを取得する。
【０１０３】
このステップＴ１では、当該ストレージシステム１のログ情報やバックアップデータをＣＭ１０が自身のＢＵＤ２０に自律的に格納する場合、ＣＭ１０自身が指定したＢＵＤ２０の書き込み先アドレスを取得してもよい。また、サーバ装置３０がＣＭ１０に対して上記情報をＢＵＤ２０に格納するようＣＭ１０に指示する場合、ＣＭ１０は、当該指示に含まれる書き込み先アドレスを取得してもよい。
【０１０４】
続くステップＴ２において、重要度判断部４３は、ＢＵＤ２０への書き込み対象データの種別を取得する。このステップＴ２では、重要度判断部４３は、上述したように、例えば、書き込み対象データに含まれるフラグに基づき当該データの種別を取得してもよい。
【０１０５】
続くステップＴ３において、重要度判断部４３は、ステップＴ１にて取得した書き込み先アドレスと、ステップＴ２にて取得した書き込み対象データの種別とに基づき、図６に例示する重要度判断用情報７１を用いて、書き込み対象データの重要度を判断する。
【０１０６】
重要度判断部４３は、ステップＴ１で取得した書き込み先アドレスが、図７に例示するＢＵＤ２０の各領域のうち、ファームウェア格納領域２０１、ログ情報格納領域２０２、及び、バックアップ領域２０３のいずれに含まれるかを判断する。
【０１０７】
また、重要度判断部４３は、ステップＴ２で取得した書き込み対象データの種別が、図６に例示する、故障判定ログ、異常検出ログ、及び、書き込みモード遷移ログのうちのいずれかであるかを判断する。これらの故障判定ログ、異常検出ログ、及び、書き込みモード遷移ログは、ログ情報に含まれるものである。
【０１０８】
また、重要度判断部４３は、ステップＴ２で取得した書き込み対象データの種別が、図６に例示する、環境の温度（環境温度）、電圧、及び、外部接続の変化（例えば、ケーブルの切断）示すログのうちのいずれかであるかを判断する。これらの環境の温度や電圧を示すログ、及び、外部接続の変化を示すログは、当該ストレージシステム１のログ情報に含まれるものである。
【０１０９】
重要度判断用情報７１を参照した結果、ステップＴ１で取得した書き込み先アドレスが、ファームウェア格納領域２０１かバックアップ領域２０３を示す場合、重要度判断部４３は書き込み対象データの重要度を「Ｈ」（高い）と判断する（ステップＴ４参照）。このように、書き込み先アドレスが、ファームウェア格納領域２０１、又は、バックアップ領域２０３を示す場合、重要度判断部４３は、書き込み対象データの種別を問わず、重要度が「Ｈ」（高い）と判断する（図６の矢印“Ｒ１”参照）。
【０１１０】
また、重要度判断用情報７１を参照した結果、ステップＴ１で取得した書き込み先アドレスがログ情報格納領域２０２を示す場合、重要度判断部４３は、ステップＴ２にて取得した当該書き込み対象データの種別を用いて重要度を決定する。具体的に、重要度判断部４３は、書き込み対象データの種別が、故障判定ログ、異常検出ログ、及び、書き込みモード遷移ログのうちのいずれかである場合、書き込み対象データの重要度を「Ｍ」（中程度）と判断する（ステップＴ５，図６の矢印“Ｒ２”参照）。
【０１１１】
一方、重要度判断部４３は、書き込み対象データの種別が、環境温度、電圧、及び、外部接続の変化を示すログのうちのいずれかである場合、当該書き込み対象データの重要度を「Ｌ」（低い）と判断する（ステップＴ６，図６の矢印“Ｒ３”参照）。
【０１１２】
このように、重要度判断部４３は、書き込み先アドレスがログ情報格納領域２０２を示す場合、書き込み対象データの種別に応じて、当該書き込み対象データの重要度を「Ｍ」、又は、「Ｌ」と判断する。その後、処理を終了する。
【０１１３】
次に、図８についての説明に戻ると、ステップＳ４において、上述した図９のステップＴ１〜Ｔ６を経て、重要度判断部４３は、書き込み対象データの重要度を、「Ｈ」、「Ｍ」、及び、「Ｌ」のうちのいずれかと判断する。
【０１１４】
続くステップＳ５において、ＣＭ１０の書き込みモード決定部４５は、ステータス取得部４４からステータスを取得し、この取得したステータスに基づき書き込みモードを決定する。なお、ここでいうステータスとは、各ＢＵＤ２０の累積書き込み量、及び、各ＢＵＤ２０の稼働時間である。
【０１１５】
このステップＳ５における処理の詳細を、図１０に示すフローチャート（ステップＱ１〜Ｑ５）に従って具体的に説明する。
【０１１６】
図１０に示すステップＱ１において、書き込みモード決定部４５は、ステータス取得部４４から、ステータスとして、各ＢＵＤ２０の累積書き込み量、及び、各ＢＵＤ２０の稼働時間を取得する。
【０１１７】
具体的には、ステータス取得部４４は、自身が属するＣＭ１０に備えられる各ＢＵＤ２０から、当該ＢＵＤ２０の累積書き込み量（例えば、ディスクの使用量）を取得する。
【０１１８】
また、ステータス取得部４４は、自身が属するＣＭ１０に備えられる各ＢＵＤ２０の稼働時間（例えば、新規導入時からの経過時間）を取得する。本実施形態において、ステータス取得部４４は、自身が属するＣＭ１０に備えられる各ＢＵＤ２０の稼働時間を記憶部１２に格納して管理するものとし、このステップＱ１では、ステータス取得部４４が管理している各ＢＵＤ２０の稼働時間を参照する。
【０１１９】
なお、各ＢＵＤ２０の稼働時間は他の機能構成部（例えば、状態判定部４６）により管理されてもよいし、サーバ装置３０において管理されてもよい。ステータス取得部４４は、これらの他の機能構成部やサーバ装置３０等から各ＢＵＤ２０の稼働時間を取得してもよい。
【０１２０】
続くステップＱ２において、状態判定部４６は、図４に例示するようなＢＵＤ状態判定情報７０を参照して、自身が属するＣＭ１０に備えられる各ＢＵＤ２０の状態を判定する。
【０１２１】
このようにして、図１０のステップＱ２に示す処理では、状態判定部４６は、ＢＵＤ状態判定情報７０を参照して、自身が属するＣＭ１０に備えられる各ＢＵＤ２０の状態を判定する。
【０１２２】
次に、図１０の説明に戻り、ステップＱ２に示す処理において、状態判定部４６が、ＢＵＤ２０の状態を「故障状態」と判定した場合（ステップＱ２における“正常状態”ルート）、処理がステップＱ３に移行する。そして、ステップＱ３において、書き込みモード決定部４５は、書き込みモードを「正常モード」に決定する。
【０１２３】
また、状態判定部４６が、ＢＵＤ２０の状態を「故障予兆予測状態」と判定した場合（ステップＱ２における“故障予兆予測状態”ルート）、処理がステップＱ４に移行する。そして、ステップＱ４において、書き込みモード決定部４５は、書き込みモードを「予兆回避モード」に決定する。
【０１２４】
一方、状態判定部４６が、ＢＵＤ２０の状態を「故障予測状態」と判定した場合（ステップＱ２における“故障予測状態”ルート）、処理がステップＱ５に移行する。そして、ステップＱ５において、書き込みモード決定部４５は、書き込みモードを「故障回避モード」に決定する。そして、処理を終了する。
【０１２５】
なお、上述のように、「故障回避モード」では、「予兆回避モード」より多くの種別の書き込みデータを制限するが、これは、「故障回避モード」と決定された場合、当該ＢＵＤ２０の寿命が「予兆回避モード」の場合よりも早く書き込み寿命に到達するからである。
【０１２６】
次に、図８についての説明に戻り、ステップＳ５において、上述した図１０（ステップＱ１〜Ｑ５）に従って、書き込みモードを決定する。これは、上述のステップＳ３において決定した書き込み制限ＢＵＤ２０に対する書き込みモードを選択するものである。したがって、本実施形態においては、通常書き込みＢＵＤ２０については、特に制限を設けずに通常通り書き込みを行なうものとする。
【０１２７】
続くステップＳ６において、書き込み実行部４７は、各ＢＵＤ２０への書き込みを指示する。ここでは、上述のステップＳ３において決定した書き込み制限ＢＵＤ２０に対し、上述のステップＳ５にて決定した書き込みモードのもと、当該ＢＵＤ２０に対して書き込みを行なう。なお、上述したとおり、本実施形態においては、上述のステップＳ３にて決定した通常書き込みＢＵＤ２０については、書き込み実行部４７は、特に制限を設けずに通常通り書き込みを行なう。
【０１２８】
ここで、書き込み実行部４７は、上述のステップＳ５にて決定した書き込みモードと、上述のステップＳ４にて決定した書き込み対象データの重要度とに基づき、書き込み制限ＢＵＤ２０に対し、当該書き込み対象データを通常通り書き込むか抑止するかを決定する。この通常通りの書き込みを行なうか、又は、当該書き込みを抑止するか（書き込みを行なわない）を決定する際、例えば、図５に例示する書き込み制御情報７２を参照する。
【０１２９】
ステップＳ６では、書き込み実行部４７は、書き込み制御情報７２を参照し、上述のステップＳ５にて決定した書き込みモードが「正常モード」である場合、書き込み対象データの重要度に関わらず、当該書き込み対象データを書き込み制限ＢＵＤ２０に書き込む。ここでは、書き込みモードが「正常モード」である場合、書き込み制限ＢＵＤ２０の累積書き込み量が限界値に至るまでに余裕があると判断できるため、制限を設けずに書き込み制限ＢＵＤ２０へ書き込みを行なう。
【０１３０】
また、上述のステップＳ５にて決定した書き込みモードが「故障回避モード」である場合、書き込み実行部４７は、書き込み対象データの重要度が「Ｈ」のデータのみを書き込み制限ＢＵＤ２０に書き込む（通常書き込みを行なう）。ここで、図６を参照すると、「故障回避モード」の場合には、書き込み先アドレスが、ファームウェア格納領域２０１、又は、バックアップ領域２０３を示すデータのみを書き込み制限ＢＵＤ２０に書き込む。
【０１３１】
そして、書き込み実行部４７は、書き込み対象データの重要度が「Ｍ」及び「Ｌ」のデータについては、書き込み制限ＢＵＤ２０への書き込みを抑止する（書き込みは行なわない）。ここで、図６を参照すると、「故障回避モード」の場合、書き込み対象データの種別が、故障判定ログ、異常検出ログ、及び、書き込みモード遷移ログであるデータ（重要度「Ｍ」のデータ）については、書き込み制限ＢＵＤ２０への書き込みを抑止する。
【０１３２】
同様に、書き込み対象データの種別が、環境温度、電圧、及び、外部接続の変化を示すログであるデータ（重要度「Ｌ」のデータ）についても、書き込み制限ＢＵＤ２０への書き込みを抑止する。これは、書き込みモードが「故障回避モード」である場合には、すぐに「故障状態」（書き込み寿命）に到達する可能性があるため、重要度の高いデータのみを書き込み制限ＢＵＤ２０に書き込ませるためである。
【０１３３】
また、上述のステップＳ５にて決定した書き込みモードが「予兆回避モード」である場合、書き込み実行部４７は、書き込み対象データの重要度が「Ｈ」及び「Ｍ」のデータのみを書き込み制限ＢＵＤ２０に書き込む（通常書き込みを行なう）。ここで、図６を参照すると、「予兆回避モード」の場合には、書き込み先アドレスが、ファームウェア格納領域２０１、又は、バックアップ領域２０３を示すデータ（重要度「Ｈ」のデータ）を書き込み制限ＢＵＤ２０に書き込む。同時に、書き込み対象データの種別が、故障判定ログ、異常検出ログ、及び、書き込みモード遷移ログであるデータ（重要度「Ｍ」のデータ）についても、書き込み制限ＢＵＤ２０に書き込む。
【０１３４】
そして、書き込み実行部４７は、書き込み対象データの重要度が「Ｌ」のデータについては、書き込み制限ＢＵＤ２０への書き込みを抑止する（書き込みは行なわない）。すなわち、書き込み実行部４７は、書き込み対象データの種別が、環境温度、電圧、及び、外部接続の変化を示すログであるデータ（重要度「Ｌ」のデータ）について、書き込み制限ＢＵＤ２０への書き込みを抑止する。
【０１３５】
なお、このステップＳ６において、書き込み制限ＢＵＤ２０が複数台ある場合、書き込み実行部４７は、これらの各書き込み制限ＢＵＤ２０に対して同様に書き込みを行なうものとする。
【０１３６】
上述のステップＳ２において、ＣＭ１０の書き込み制限ＢＵＤ決定部４２が、１台のＢＵＤ２０が稼働中であると判断した場合（ステップＳ２における“１台”ルート）、処理がステップＳ７に移行する。
【０１３７】
続くステップＳ７において、状態判定部４６は、稼働中である１台のＢＵＤ２０に対して通常通り書き込みを行なうことを決定し、処理がステップＳ６に移行する。
【０１３８】
なお、ステップＳ１〜Ｓ６を経た後に２台以上のＢＵＤ２０が稼動していると判断した後、さらにステップＳ２に戻った結果、稼働中のＢＵＤ２０が１台に減ったとする。この場合、ステップＳ７では、前回設定していた書き込み制限を解除して、稼働中である１台のＢＵＤ２０に対して通常通り書き込みを行なうものとする。
【０１３９】
続くステップＳ６において、書き込み実行部４７は、稼働中である１台のＢＵＤ２０に対して通常通り書き込みを行なう。すなわち、書き込み実行部４７は、特に制限を設けずに通常通り書き込みを行なう。
【０１４０】
一方、ステップＳ２において、ＣＭ１０の書き込み制限ＢＵＤ決定部４２が、稼働中のＢＵＤ２０がない（０台である）と判断した場合（ステップＳ２における“０台”ルート）、処理がステップＳ８に移行する。
【０１４１】
続くステップＳ８において、書き込み実行部４７は、書き込み対象のＢＵＤ２０が存在しないため（書き込み付加）、書き込みを行なわない。そして、処理が終了する。
【０１４２】
このように、上述のステップＳ１〜Ｓ３を経て、複数のＢＵＤ２０が稼動している場合、書き込み制限ＢＵＤ２０と通常書き込みＢＵＤ２０とを設ける（ステップＳ３）。そして、通常書き込みＢＵＤ２０には通常行なう書き込みと同等量のデータを書き込む一方で、書き込み制限ＢＵＤ２０には、通常書き込みＢＵＤ２０よりも少ないデータを書き込ませる。これにより、通常書き込みＢＵＤ２０が故障状態に到達しても、書き込み制限ＢＵＤ２０がほぼ同時に故障状態に到達することを避けることができる。その結果、複数のＢＵＤ２０が故障状態に到達するまでの時間をずらす（不均一化する）ことができる。
【０１４３】
また、上述のステップＳ４〜Ｓ６を経て、書き込み制限ＢＵＤ２０の状態（ステップＳ５）と、書き込み対象データの重要度（ステップＳ５）とに基づき、書き込み処理モードを決定し（ステップＳ５）、データを制限して書き込みを実行する（ステップＳ６）。これにより、ＢＵＤ２０の状態に、すなわち、当該ＢＵＤ２０が故障状態に到達するまでの余裕に応じて書き込みを制御することができる。
【０１４４】
〔２〕効果
上述のように、一実施形態に係るストレージシステム１では、複数のＢＵＤ２０が稼動している場合、書き込み制限ＢＵＤ２０と通常書き込みＢＵＤ２０とをそれぞれ設ける。これにより、複数のＢＵＤ２０間において、故障状態に到達するまでの時間をずらす（不均一化する）ことができる。
【０１４５】
したがって、複数のＢＵＤ２０がほぼ同じタイミングで交換や故障することを避け、ＢＵＤ２０の冗長性を維持することができる。
【０１４６】
また、一実施形態に係るストレージシステム１において、書き込み制限ＢＵＤ２０の状態と、書き込み対象データの重要度とに基づき、書き込み処理モードを設定して書き込みを制限する。これにより、ＢＵＤ２０の状態が故障状態に近いほど、書き込むデータ量を制限する一方で、重要度の高いデータについては引き続き書き込みを行なうことで、重要度の高いデータのバックアップを確実に実施することができ、信頼性を向上させることができる。
【０１４７】
また、一実施形態に係るストレージシステム１において、揮発性メモリであるメモリ１３に格納されているデータを、ＢＵＤ２０にバックアップすることができる。
【０１４８】
また、一実施形態に係るストレージシステム１において、ＢＵＤ２０の累積書き込み量だけでなく、ＢＵＤ２０の稼働時間にも基づき、当該ＢＵＤ２０の稼動状態を判定する。これにより、単にＢＵＤ２０の累積書き込み量だけからＢＵＤ２０の稼働状況を判定するよりも、例えば、経年劣化のようなＢＵＤ２０の故障の一因も併せて考慮することができ、信頼性を向上させることができる。
【０１４９】
また、一実施形態に係るストレージシステム１において、書き込み先アドレスだけでなく、書き込み対象データの種別をも考慮して、書き込み対象データの重要度を判断する。これにより、書き込み先アドレスがログ情報格納領域２０２である場合であっても、当該領域に格納されるログ情報の種別に応じて異なる重要度を設定することができ、例えば、故障判定ログについては中程度の重要度であると判断することが可能となる。
【０１５０】
〔３〕その他
上述した一実施形態及び変形例に係る技術は、以下のように変形、変更して実施することができる。
【０１５１】
上述した一実施形態では、ＣＭ間通信部４１が、他のＣＭ１０から稼動情報を取得するものとしたが、プライマリのＣＭ１０を設け、このプライマリＣＭ１０にて稼働状況を一元管理してもよい。その場合、各ＣＭ１０は、プライマリのＣＭ１０とのみ通信することにより、すべてのＣＭ１０の稼働状況を把握できるものとしてもよい。
【０１５２】
上述した一実施形態において、書き込み制限ＢＵＤ決定部４２は、最も小さい識別子をもつＢＵＤ２０を通常書き込みＢＵＤ２０に決定したが、これに限られない。例えば、書き込み制限ＢＵＤ決定部４は、予め通常書き込みＢＵＤ２０を決定しておいてもよい。また、上述した一実施形態では、書き込み制限ＢＵＤ決定部４２は、１台のＢＵＤ２０を通常書き込みＢＵＤ２０に決定したが、これに限らない。例えば、複数台のＢＵＤ２０を通常書き込みＢＵＤ２０に決定してもよい。
【０１５３】
上述した一実施形態において、書き込み制限ＢＵＤ決定部４２は、通常書き込みＢＵＤ２０以外のＢＵＤ２０を書き込み制限ＢＵＤ２０に決定したが、これに限られない。また、書き込み制限ＢＵＤ決定部４２は、予め書き込み制限ＢＵＤ２０を決定しておいてもよい。
【０１５４】
上述した一実施形態において、書き込み制限ＢＵＤ２０が複数台ある場合、書き込み実行部４７は、これらの各書き込み制限ＢＵＤ２０に対して同様に書き込みを行なうものとしたが、これに限られない。例えば、書き込み実行部４７は、これら複数の書き込み制限ＢＵＤ２０に対してそれぞれ異なる書き込み制限のもと書き込みを行なってもよい。
【０１５５】
〔４〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
【０１５６】
（付記１）
ストレージ制御装置におけるバックアップ対象データを、書き込み可能回数に制限があるメモリデバイスを複数使用して書き込む制御を行なうメモリ制御装置であって、
前記メモリの稼動状態と、前記バックアップ対象データの重要度とに基づき、複数のメモリのうち一部のメモリに対して書き込み制限を行なう制御部
を備える
ことを特徴とする、メモリ制御装置。
【０１５７】
（付記２）
前記制御部は、前記一部のメモリに対して書き込む前記バックアップデータの量と、前記複数のメモリのうち前記一部のメモリ以外のメモリに対して書き込む前記バックアップデータの量とを異なるように書き込み制限を行なう、
ことを特徴とする、付記１記載のメモリ制御装置。
【０１５８】
（付記３）
前記制御部は、前記メモリ制御装置が備える揮発性メモリに格納されている前記バックアップ対象データを前記メモリにバックアップする、
ことを特徴とする、付記１又は２記載のメモリ制御装置。
【０１５９】
（付記４）
少なくとも、前記メモリの稼働時間と、前記メモリの累積書き込み量とに基づき、前記メモリの前記稼動状態を判定する状態判定部
を備える
ことを特徴とする、付記１〜３のいずれか一項に記載のメモリ制御装置。
【０１６０】
（付記５）
少なくとも、前記メモリの記憶領域における前記バックアップ対象データの書き込み先アドレスと、前記バックアップ対象データの種別とに基づき、前記バックアップ対象データの前記重要度を判断する重要度判断部
を備える
ことを特徴とする、付記１〜４のいずれか一項に記載のメモリ制御装置。
【０１６１】
（付記６）
メモリ制御装置のプロセッサに、
ストレージ制御装置におけるバックアップ対象データを、書き込み可能回数に制限があるメモリデバイスを複数使用して書き込む制御を行なうメモリ制御装置が、前記メモリの稼動状態と、前記バックアップ対象データの重要度とに基づき、複数のメモリのうち一部のメモリに対して書き込み制限を行なう処理を実行させる、
ことを特徴とする、メモリ制御プログラム。
【０１６２】
（付記７）
前記一部のメモリに対して書き込む前記バックアップデータの量と、前記複数のメモリのうち前記一部のメモリ以外のメモリに対して書き込む前記バックアップデータの量とを異なるように書き込み制限を行なう処理を前記プロセッサに実行させる、
ことを特徴とする、付記６記載のメモリ制御プログラム。
【０１６３】
（付記８）
前記メモリ制御装置が備える揮発性メモリに格納されている前記バックアップ対象データを前記メモリにバックアップする処理を前記プロセッサに実行させる、
ことを特徴とする、付記６又は７記載のメモリ制御プログラム。
【０１６４】
（付記９）
少なくとも、前記メモリの稼働時間と、前記メモリの累積書き込み量とに基づき、前記メモリの稼動状態を判定する処理を前記プロセッサに実行させる、
ことを特徴とする、付記６〜８のいずれか一項に記載のメモリ制御プログラム。
【０１６５】
（付記１０）
少なくとも、前記メモリの記憶領域における前記バックアップ対象データの書き込み先アドレスと、前記バックアップ対象データの種別とに基づき、前記バックアップ対象データの前記重要度を判断する処理を前記プロセッサに実行させる、
ことを特徴とする、付記６〜９のいずれか一項に記載のメモリ制御プログラム。
【０１６６】
（付記１１）
ストレージ制御装置におけるバックアップ対象データを、書き込み可能回数に制限があるメモリデバイスを複数使用して書き込む制御を行なうメモリ制御装置が、前記メモリの稼動状態と、前記バックアップ対象データの重要度とに基づき、複数のメモリのうち一部のメモリに対して書き込み制限を行なう処理
を備える、
ことを特徴とする、メモリ制御方法。
【０１６７】
（付記１２）
前記一部のメモリに対して書き込む前記バックアップデータの量と、前記複数のメモリのうち前記一部のメモリ以外のメモリに対して書き込む前記バックアップデータの量とを異なるように書き込み制限を行なう処理
を備える、
ことを特徴とする、付記１１記載のメモリ制御方法。
【０１６８】
（付記１３）
前記メモリ制御装置は、前記メモリ制御装置が備える揮発性メモリに格納されている前記バックアップ対象データを前記メモリにバックアップする処理
を備える、
ことを特徴とする、付記１１又は１２記載のメモリ制御方法。
【０１６９】
（付記１４）
前記メモリ制御装置は、少なくとも、前記メモリの稼働時間と、前記メモリの累積書き込み量とに基づき、前記メモリの前記稼動状態を判定する処理
を備える、
ことを特徴とする、付記１１〜１３のいずれか一項に記載のメモリ制御方法。
【０１７０】
（付記１５）
前記メモリ制御装置は、少なくとも、前記メモリの記憶領域における前記バックアップ対象データの書き込み先アドレスと、前記バックアップ対象データの種別とに基づき、前記バックアップ対象データの前記重要度を判断する処理
を備える、
ことを特徴とする、付記１１〜１４のいずれか一項に記載のメモリ制御方法。
【符号の説明】
【０１７１】
１    ストレージシステム
１０    ＣＭ（メモリ制御装置）
２０    ＢＵＤ（書き込み可能回数に制限があるメモリデバイス）
３０    サーバ装置
１１    ＣＰＵ
１２    記憶部
１３    メモリ（揮発性メモリ）
１４    ＩＦ部
１５    入出力部
１６    表示部
４１    ＣＭ間通信部
４２    書き込み制限ＢＵＤ決定部
４３    重要度判断部
４４    ステータス取得部
４５    書き込みモード決定部
４６    状態判定部
４７    書き込み実行部（制御部）
５０    ＨＤＤ
６０    ＣＭ間通信スイッチ
７０    ＢＵＤ状態判定情報
７１    重要度判断用情報
７２    書き込み制御情報
９０    制御プログラム
２０１    ファームウェア格納領域
２０２    ログ情報書き込み領域
２０３    バックアップ領域
２０４    空き領域
【図１】
2020135819.tif 000003
【図２】
2020135819.tif 000004
【図３】
2020135819.tif 000005
【図４】
2020135819.tif 000006
【図５】
2020135819.tif 000007
【図６】
2020135819.tif 000008
【図７】
2020135819.tif 000009
【図８】
2020135819.tif 000010
【図９】
2020135819.tif 000011
【図１０】
2020135819.tif 000012