図面 (/)

技術 ストレージシステムの信頼性検証プログラム、信頼性検証方法、信頼性検証装置、及びストレージシステム

出願人 富士通株式会社
発明者 中尾鷹詔
出願日 2015年2月2日 (4年6ヶ月経過) 出願番号 2015-018371
公開日 2016年8月8日 (3年0ヶ月経過) 公開番号 2016-143220
状態 特許登録済
技術分野 外部記憶装置との入出力 入出力制御 記憶装置の信頼性向上技術 デバッグ/監視 計算機における入出力系RAS エラーの検出訂正 デジタル計算機の試験診断
主要キーワード 繋ぎ直し 検証テーブル 識別過程 クラウドストレージ 半導体ドライブ 故障数 復元不可 状態遷移行列
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2016年8月8日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (20)

課題

ストレージシステム信頼性を容易に検証する。

解決手段

冗長化された複数の記憶装置をそなえるストレージシステムにおける、前記複数の記憶装置の各々の故障の有無を表すノード各記憶装置の故障の有無の組み合わせごとに有し前記複数のノード間での状態遷移を表すモデル21bを保持する保持部21と、前記モデル21bに基づき、前記複数のノードから互いに異なる複数の第1ノードを選択し、選択した前記複数の第1ノードについて、各第1ノードからの前記記憶装置の故障による状態遷移に関する情報を取得して、前記複数の第1ノードのうち、2以上の第1ノードの各々について取得した前記状態遷移に関する情報が所定の条件を満たす場合、前記2以上の第1ノードを1つの第1ノードに統合する統合部24と、前記統合後のモデル21cに基づき、前記ストレージシステムの信頼性に関する情報21dを算出する算出部25と、をそなえる。

概要

背景

冗長化された複数の記憶装置をそなえるストレージシステムでは、システム可用性指標としてのストレージシステム(複数の記憶装置)の信頼性の検証(評価)が行なわれることがある。信頼性とは、所定期間経過後のシステムが正常に動作している確率(データの復元が不可能となる記憶装置の故障が生じない確率)を表す情報である。信頼性は、例えば個々の記憶装置の故障及び故障からの復旧状態遷移を表すモデルを用いて求めることができる。このようなモデルとしては、マルコフモデルが知られている。

ストレージシステムの信頼性を検証する作業者は、例えばマルコフモデルを用いてストレージシステムにおける所定期間(例えば1年)経過後のディスク故障率の算出を行なうことにより、システムが正常に動作している確率を信頼性として算出することができる。

ところで、記憶装置の冗長化には、MDS(Maximum Distance Separable)符号を利用したものと、MDS符号とは異なる符号(以下、非MDS符号という)を利用したもの(例えば、下記特許文献1参照)とが知られている。

MDS符号では、例えばリードソロモン(Reed-Solomon;RS)符号のように、一定数ディスクが故障するまではデータの復元が可能であり、一定数のディスクが故障したときにデータの復元ができなくなる。図23に示すMDS符号が適用されたストレージシステムの例では、2つのディスクが故障しても復元可能であるが、3つのディスクが故障したときに復元不可能となりデータ損失が発生する。

非MDS符号では、復元不可能になる故障ディスク数が不定であり、復元不可能になる故障ディスク数が故障ディスクの組み合わせによって変化する。図24に示す非MDS符号が適用されたストレージシステムの例では、3つの故障(Aの符号が付されたディスクの故障)で復元できなくなる場合と、3つの故障(Bの符号が付されたディスクの故障)でも復元できる場合とが存在する。

ここで、MDS符号が適用され、m個のディスクが故障するとデータの復元が不可能となるストレージシステムについて、マルコフモデルを作成することを考える。ディスクの故障している数(0〜m)をそれぞれノードで表し、ディスクがn個故障しているときの、或る期間にディスクの故障する確率をλn、ディスクが復元する確率をμnとすると、マルコフモデルは図25に例示するものとなる。

図25に示すように、MDS符号では復元不可能になる故障ディスク数が一定であるため、故障及び復旧の状態遷移は故障ディスク数に沿って1次元的となる。なお、図25において、白背景のノードは当該ノードが表す数のディスクが故障してもデータの復元が可能であることを示し、網掛けのノードは当該ノードが表す数のディスクが故障するとデータの復元が不可能となることを示す。

一方、非MDS符号が適用され、故障したディスクによって復元できるか否かが変化するストレージシステムについて、マルコフモデルを作成することを考える。ディスク数を3とし、ディスクが故障しているか否かを全てのディスクについて組み合わせで表したものを各ノードとして、或る期間に或るディスクが故障する確率をλ、ディスクが復元する確率をμとすると、マルコフモデルは図26に例示するものとなる。なお、図26において、各ノードは各々のディスク(ディスク0〜2)について故障の有無を表したものとなる。

図26に示すように、非MDS符号では復元不可能になる故障ディスク数が不定であるため、マルコフモデルは、1つのディスクについて故障及び復旧の状態遷移が生じ得るノード間が接続されたモデルとなる。この場合、ノード間の状態遷移は故障するディスクに応じて分岐するため2次元的となる。

なお、図26において、各ノード内の○は対応するディスクが動作している(故障していない)ことを示し、×は対応するディスクが故障していることを示す。また、白背景のノードは当該ノードが表す故障ディスクの組み合わせでもデータの復元が可能であることを示し、網掛けのノードは当該ノードが表す故障ディスクの組み合わせではデータの復元が不可能であることを示す。

なお、関連する技術として、マルコフモデルに内在するグラフ同型モデルを識別して同型体を除去し、候補の数を非同型候補まで減少させる技術が知られている(例えば、下記特許文献2参照)。

概要

ストレージシステムの信頼性を容易に検証する。冗長化された複数の記憶装置をそなえるストレージシステムにおける、前記複数の記憶装置の各々の故障の有無を表すノードを各記憶装置の故障の有無の組み合わせごとに有し前記複数のノード間での状態遷移を表すモデル21bを保持する保持部21と、前記モデル21bに基づき、前記複数のノードから互いに異なる複数の第1ノードを選択し、選択した前記複数の第1ノードについて、各第1ノードからの前記記憶装置の故障による状態遷移に関する情報を取得して、前記複数の第1ノードのうち、2以上の第1ノードの各々について取得した前記状態遷移に関する情報が所定の条件を満たす場合、前記2以上の第1ノードを1つの第1ノードに統合する統合部24と、前記統合後のモデル21cに基づき、前記ストレージシステムの信頼性に関する情報21dを算出する算出部25と、をそなえる。

目的

本発明は、ストレージシステムの信頼性を容易に検証することを目的とする

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

コンピュータに、冗長化された複数の記憶装置をそなえるストレージシステムにおける、前記複数の記憶装置の各々の故障の有無を表すノード各記憶装置の故障の有無の組み合わせごとに有するモデルであって、前記複数のノード間での状態遷移を表す前記モデルを取得し、前記モデルに基づき前記複数のノードから互いに異なる複数の第1ノードを選択し、選択した前記複数の第1ノードについて、前記モデルに基づき各第1ノードからの前記記憶装置の故障による状態遷移に関する情報を取得し、前記複数の第1ノードのうち、2以上の第1ノードの各々について取得した前記状態遷移に関する情報が所定の条件を満たす場合、前記2以上の第1ノードを1つの第1ノードに統合し、前記2以上の第1ノードの統合後のモデルに基づき、前記ストレージシステムの信頼性に関する情報を算出する、処理を実行させることを特徴とする、ストレージシステムの信頼性検証プログラム

請求項2

前記コンピュータに、前記複数の第1ノードの選択から前記統合までの処理を、前記複数の第1ノードの組み合わせを変化させて順に実行し、前記複数の第1ノードの選択において、前記複数の第1ノードを、前記モデルにおける前記記憶装置の故障による状態遷移の末端のノードから順に選択する、処理を実行させることを特徴とする、請求項1記載の信頼性検証プログラム。

請求項3

前記コンピュータに、前記2以上の第1ノードのうちの前記1つの第1ノードに対して、前記2以上の第1ノードのうちの他の第1ノードに向かう前記記憶装置の故障による状態遷移を移動させ、前記他の第1ノードを削除することにより、前記2以上の第1ノードを1つの第1ノードに統合する、処理を実行させることを特徴とする、請求項1又は請求項2記載の信頼性検証プログラム。

請求項4

前記1つの第1ノードは、前記2以上の第1ノードの中で、前記モデルにおける前記記憶装置の故障による状態遷移の末端のノードに近いノードである、ことを特徴とする、請求項3記載の信頼性検証プログラム。

請求項5

前記状態遷移に関する情報は、前記第1ノードと、前記モデルにおける前記第1ノードから前記記憶装置の故障により状態遷移する末端のノードまでの1以上の第2ノードと、を含むノード群の少なくとも一部を表す情報であり、前記コンピュータに、前記2以上の第1ノードの各々に係るノード群を比較し、前記2以上のノード群が同一であると判定した場合に、前記2以上の第1ノードの各々について取得した前記状態遷移に関する情報が所定の条件を満たすと判定する、処理を実行させることを特徴とする、請求項1〜4のいずれか1項記載の信頼性検証プログラム。

請求項6

冗長化された複数の記憶装置をそなえるストレージシステムにおける、前記複数の記憶装置の各々の故障の有無を表すノードを各記憶装置の故障の有無の組み合わせごとに有するモデルであって、前記複数のノード間での状態遷移を表す前記モデルを取得し、前記モデルに基づき前記複数のノードから互いに異なる複数の第1ノードを選択し、選択した前記複数の第1ノードについて、前記モデルに基づき各第1ノードからの前記記憶装置の故障による状態遷移に関する情報を取得し、前記複数の第1ノードのうち、2以上の第1ノードの各々について取得した前記状態遷移に関する情報が所定の条件を満たす場合、前記2以上の第1ノードを1つの第1ノードに統合し、前記2以上の第1ノードの統合後のモデルに基づき、前記ストレージシステムの信頼性に関する情報を算出する、ことを特徴とする、ストレージシステムの信頼性検証方法。

請求項7

冗長化された複数の記憶装置をそなえるストレージシステムにおける、前記複数の記憶装置の各々の故障の有無を表すノードを各記憶装置の故障の有無の組み合わせごとに有するモデルであって、前記複数のノード間での状態遷移を表す前記モデルを保持する保持部と、前記保持部が保持する前記モデルに基づき、前記複数のノードから互いに異なる複数の第1ノードを選択し、選択した前記複数の第1ノードについて、各第1ノードからの前記記憶装置の故障による状態遷移に関する情報を取得して、前記複数の第1ノードのうち、2以上の第1ノードの各々について取得した前記状態遷移に関する情報が所定の条件を満たす場合、前記2以上の第1ノードを1つの第1ノードに統合する統合部と、前記統合部による前記2以上の第1ノードの統合後のモデルに基づき、前記ストレージシステムの信頼性に関する情報を算出する算出部と、をそなえることを特徴とする、ストレージシステムの信頼性検証装置

請求項8

冗長化された複数の記憶装置をそなえるストレージシステムであって、前記ストレージシステムの信頼性を検証する信頼性検証装置をさらにそなえ、前記信頼性検証装置が、前記ストレージシステムにおける、前記複数の記憶装置の各々の故障の有無を表すノードを各記憶装置の故障の有無の組み合わせごとに有するモデルであって、前記複数のノード間での状態遷移を表す前記モデルを保持する保持部と、前記保持部が保持する前記モデルに基づき、前記複数のノードから互いに異なる複数の第1ノードを選択し、選択した前記複数の第1ノードについて、各第1ノードからの前記記憶装置の故障による状態遷移に関する情報を取得して、前記複数の第1ノードのうち、2以上の第1ノードの各々について取得した前記状態遷移に関する情報が所定の条件を満たす場合、前記2以上の第1ノードを1つの第1ノードに統合する統合部と、前記統合部による前記2以上の第1ノードの統合後のモデルに基づき、前記ストレージシステムの信頼性に関する情報を算出する算出部と、をそなえることを特徴とする、ストレージシステム。

技術分野

0001

本発明は、ストレージシステム信頼性検証プログラム、信頼性検証方法、信頼性検証装置、及び同装置をそなえるストレージシステムに関する。

背景技術

0002

冗長化された複数の記憶装置をそなえるストレージシステムでは、システム可用性指標としてのストレージシステム(複数の記憶装置)の信頼性の検証(評価)が行なわれることがある。信頼性とは、所定期間経過後のシステムが正常に動作している確率(データの復元が不可能となる記憶装置の故障が生じない確率)を表す情報である。信頼性は、例えば個々の記憶装置の故障及び故障からの復旧状態遷移を表すモデルを用いて求めることができる。このようなモデルとしては、マルコフモデルが知られている。

0003

ストレージシステムの信頼性を検証する作業者は、例えばマルコフモデルを用いてストレージシステムにおける所定期間(例えば1年)経過後のディスク故障率の算出を行なうことにより、システムが正常に動作している確率を信頼性として算出することができる。

0004

ところで、記憶装置の冗長化には、MDS(Maximum Distance Separable)符号を利用したものと、MDS符号とは異なる符号(以下、非MDS符号という)を利用したもの(例えば、下記特許文献1参照)とが知られている。

0005

MDS符号では、例えばリードソロモン(Reed-Solomon;RS)符号のように、一定数ディスクが故障するまではデータの復元が可能であり、一定数のディスクが故障したときにデータの復元ができなくなる。図23に示すMDS符号が適用されたストレージシステムの例では、2つのディスクが故障しても復元可能であるが、3つのディスクが故障したときに復元不可能となりデータ損失が発生する。

0006

非MDS符号では、復元不可能になる故障ディスク数が不定であり、復元不可能になる故障ディスク数が故障ディスクの組み合わせによって変化する。図24に示す非MDS符号が適用されたストレージシステムの例では、3つの故障(Aの符号が付されたディスクの故障)で復元できなくなる場合と、3つの故障(Bの符号が付されたディスクの故障)でも復元できる場合とが存在する。

0007

ここで、MDS符号が適用され、m個のディスクが故障するとデータの復元が不可能となるストレージシステムについて、マルコフモデルを作成することを考える。ディスクの故障している数(0〜m)をそれぞれノードで表し、ディスクがn個故障しているときの、或る期間にディスクの故障する確率をλn、ディスクが復元する確率をμnとすると、マルコフモデルは図25に例示するものとなる。

0008

図25に示すように、MDS符号では復元不可能になる故障ディスク数が一定であるため、故障及び復旧の状態遷移は故障ディスク数に沿って1次元的となる。なお、図25において、白背景のノードは当該ノードが表す数のディスクが故障してもデータの復元が可能であることを示し、網掛けのノードは当該ノードが表す数のディスクが故障するとデータの復元が不可能となることを示す。

0009

一方、非MDS符号が適用され、故障したディスクによって復元できるか否かが変化するストレージシステムについて、マルコフモデルを作成することを考える。ディスク数を3とし、ディスクが故障しているか否かを全てのディスクについて組み合わせで表したものを各ノードとして、或る期間に或るディスクが故障する確率をλ、ディスクが復元する確率をμとすると、マルコフモデルは図26に例示するものとなる。なお、図26において、各ノードは各々のディスク(ディスク0〜2)について故障の有無を表したものとなる。

0010

図26に示すように、非MDS符号では復元不可能になる故障ディスク数が不定であるため、マルコフモデルは、1つのディスクについて故障及び復旧の状態遷移が生じ得るノード間が接続されたモデルとなる。この場合、ノード間の状態遷移は故障するディスクに応じて分岐するため2次元的となる。

0011

なお、図26において、各ノード内の○は対応するディスクが動作している(故障していない)ことを示し、×は対応するディスクが故障していることを示す。また、白背景のノードは当該ノードが表す故障ディスクの組み合わせでもデータの復元が可能であることを示し、網掛けのノードは当該ノードが表す故障ディスクの組み合わせではデータの復元が不可能であることを示す。

0012

なお、関連する技術として、マルコフモデルに内在するグラフ同型モデルを識別して同型体を除去し、候補の数を非同型候補まで減少させる技術が知られている(例えば、下記特許文献2参照)。

先行技術

0013

特表2007−529062号公報
特表2014−515131号公報

発明が解決しようとする課題

0014

図27は、MDS符号が適用されたストレージシステム及び非MDS符号が適用されたストレージシステムのそれぞれについてのマルコフモデルの規模の比較例を示す図である。図27に示すように、ディスクの数をmとすると、MDS符号のノード数はmであるのに対し、非MDS符号のノード数は2mとなる。また、状態遷移の数(図25及び図26における矢印の数)を示すエッジ数は、MDS符号では2mであるのに対し、非MDS符号では2mm/2となる。

0015

図27に示すように、冗長化されたストレージシステムの信頼性を算出するにあたって、非MDS符号が適用されたストレージシステムのように規模の大きいモデルになると、演算量が増大し、演算時間が増加してしまう。又は演算を行なうPC(Personal Computer)やサーバ等の情報処理装置の性能によっては演算を行なうこと自体が困難となってしまう。

0016

このため、マルコフモデルが使用される場面は、単純なモデルを構築できるMDS符号を利用した冗長化構成や、非MDS符号を利用した冗長化構成であっても小規模なモデルを構築できる冗長化構成に制限されてしまう。

0017

1つの側面では、本発明は、ストレージシステムの信頼性を容易に検証することを目的とする。

課題を解決するための手段

0018

1つの態様では、本件のストレージシステムの信頼性検証プログラムは、コンピュータに以下の処理を実行させるものである。この処理は、冗長化された複数の記憶装置をそなえるストレージシステムにおける、前記複数の記憶装置の各々の故障の有無を表すノードを各記憶装置の故障の有無の組み合わせごとに有するモデルであって、前記複数のノード間での状態遷移を表す前記モデルを取得することを含む。また、この処理は、前記モデルに基づき前記複数のノードから互いに異なる複数の第1ノードを選択し、選択した前記複数の第1ノードについて、前記モデルに基づき各第1ノードからの前記記憶装置の故障による状態遷移に関する情報を取得することを含む。さらに、この処理は、前記複数の第1ノードのうち、2以上の第1ノードの各々について取得した前記状態遷移に関する情報が所定の条件を満たす場合、前記2以上の第1ノードを1つの第1ノードに統合することを含む。また、この処理は、前記2以上の第1ノードの統合後のモデルに基づき、前記ストレージシステムの信頼性に関する情報を算出することを含む。

発明の効果

0019

1つの側面では、ストレージシステムの信頼性を容易に検証することができる。

図面の簡単な説明

0020

一実施形態の一例としてのストレージシステムの構成例を示す図である。
図1に示すクライアント装置機能構成例を示す図である。
一実施形態に係るマルコフモデルの一例をグラフ形式で示す図である。
一実施形態に係るマルコフモデルの一例をテーブル形式で示す図である。
子グラフの抽出例を示す図である。
子グラフの同型の判定例を示す図である。
ノードへの通し番号の設定例を説明する図である。
図7に示すマルコフモデルの一例をテーブル形式で示す図である。
同型の子グラフの削除例を説明する図である。
図9に示す処理を配列に対して行なう例を説明する図である。
同型の子グラフの削除例を説明する図である。
図11に示す処理を配列に対して行なう例を説明する図である。
同型の子グラフの削除例を説明する図である。
図13に示す処理を配列に対して行なう例を説明する図である。
図7に示すマルコフモデルの圧縮結果例を示す図である。
図15に示す圧縮結果に基づく検証手法に用いられる検証テーブルの一例を示す図である。
圧縮の有無に応じたマルコフモデルのノード数の比較例を示す図である。
圧縮の有無に応じたストレージシステムの信頼性の検証結果の比較例を示す図である。
非圧縮のマルコフモデルに基づく検証手法に用いられる検証テーブルの一例を示す図である。
一実施形態に係るクライアント装置の動作例を説明するフローチャートである。
一実施形態に係るクライアント装置による単純化処理の動作例を説明するフローチャートである。
一実施形態に係るクライアント装置のハードウェア構成例を示す図である。
MDS符号が適用されたストレージシステムの例を示す図である。
非MDS符号が適用されたストレージシステムの例を示す図である。
MDS符号が適用されたストレージシステムのマルコフモデルの例を示す図である。
非MDS符号が適用されたストレージシステムのマルコフモデルの例を示す図である。
MDS符号及び非MDS符号それぞれについてのマルコフモデルの規模の比較例を示す図である。

実施例

0021

以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。なお、以下の実施形態で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。

0022

〔1〕一実施形態
〔1−1〕ストレージシステムの構成例
図1は、一実施形態の一例としてのストレージシステム1の構成例を示す図である。ストレージシステム1は、例示的に、クライアント装置2、1以上(図1では2つ)のストレージ装置3a及び3b、及びネットワーク5をそなえる。以下、ストレージ装置3a及び3bを区別しない場合には単にストレージ装置3と表記する。

0023

ストレージシステム1は、ストレージ装置3の記憶領域を例えばクライアント装置2を介して利用者に提供するものである。ストレージシステム1としては、分散ストレージのようなクラウドストレージシステムであってもよいし、社内向けのようにストレージ装置3の設置場所や利用者が制限されたプライベートなストレージシステムであってもよく、その他種々のストレージシステムであってよい。

0024

クライアント装置2は、ネットワーク5に接続され、例えばストレージシステム1の利用者によるストレージ装置3へのアクセスに用いられる端末である。クライアント装置2としては、PCやサーバ等の種々の情報処理装置が挙げられる。

0025

また、一実施形態に係るクライアント装置2は、ストレージ(複数の記憶装置4)の信頼性を検証する信頼性検証装置の機能をそなえることができる。なお、信頼性検証装置の機能を実現する装置は、クライアント装置2のようなネットワーク5に接続された装置に限られるものではなく、ストレージシステム1外部の図示しない情報処理装置であってもよい。以下の説明ではクライアント装置2が信頼性検証装置の機能をそなえるものとするが、当該機能を他の情報処理装置がそなえる場合には当該他の情報処理装置に後述するクライアント装置2の処理を実行させればよい。

0026

ストレージ装置3aは、複数(図1では4つ)の記憶装置4a〜4dをそなえ、ストレージ装置3bは、複数(図1では4つ)の記憶装置4e〜4hをそなえる。以下、記憶装置4a〜4hを区別しない場合には単に記憶装置4と表記する。ストレージ装置3は、非MDS符号を利用して複数の記憶装置4を冗長化し、クライアント装置2からのアクセスに応じて複数の記憶装置4へのデータの書き込み又は読み出し等の指示を行なう。ストレージ装置3としては、例えばディスクアレイ装置が挙げられる。

0027

なお、非MDS符号としては、Repairable Fountain Code,Regenerating Codes,Network Coding for Distributed Storage Systems,Hierarchical Codes,及びPartial MDS等の種々の手法が挙げられる。このような非MDS符号は、ストレージ装置等のメーカにより独自に開発されることが多く、上記で例示したもの以外にも種々の手法が存在し得る。一実施形態においてストレージ装置3が複数の記憶装置4を冗長化する手法としては、上記で例示したものに限定されるものではなく、非MDS符号である種々の手法が挙げられる。

0028

記憶装置4は、種々のデータやプログラム等を格納するハードウェアである。記憶装置4としては、例えばHDD(Hard Disk Drive)等の磁気ディスク装置SSD(Solid State Drive)等の半導体ドライブ装置、フラッシュメモリ等の不揮発性メモリ等の各種装置が挙げられる。

0029

なお、記憶装置4では、一定確率で故障が発生することがあり、故障の発生した記憶装置4がストレージ装置3によるリカバリ等により一定確率で復旧することもある。記憶装置4の故障としては、例えば記憶装置4の内部の障害、記憶装置4とストレージ装置3との接続障害、ストレージ装置3のインタフェースアプリケーションの障害等のほか、記憶装置4のセクタα波ヒットビット反転することによる一時的なエラー等も含まれる。

0030

ネットワーク5は、クライアント装置2及びストレージ装置3等が接続されるLAN(Local Area Network)又はSAN(Storage Area Network)等のネットワークである。ネットワーク5はイントラネットを形成してもよいし、図示しないスイッチ等を介してインターネットに接続されてもよい。

0031

〔1−2〕クライアント装置の構成例
次に、図2を参照して、一実施形態に係るクライアント装置2の構成例を説明する。クライアント装置2は、信頼性検証装置の機能として、ストレージシステムの信頼性の算出を行なう。

0032

ここで、上述のように、ストレージシステム1は非MDS符号を利用しているため、マルコフモデルを用いたストレージシステムの信頼性の算出を行なう場合、演算時間の増加や演算が困難になるといった事態が生じ得る。そこで、一実施形態に係るクライアント装置2は、非MDS符号ストレージシステム1のマルコフモデルを単純化して規模を縮小することで、演算量を減少させてストレージシステムの信頼性を容易に算出することができる。

0033

このため、クライアント装置2は、例示的に、保持部21、情報取得部22、モデル生成部23、単純化処理部24、検証処理部25、及び結果出力部26をそなえる。

0034

保持部21は、データを記憶する記憶装置の一例であり、図2に例示するように、構成情報21a、モデル情報21b、単純化モデル情報21c、及び検証結果21dを保持する。

0035

情報取得部22は、クライアント装置2に入力されるストレージシステム1の構成情報21aを取得し、保持部21に格納する。構成情報21aとしては、ストレージシステム1がそなえる記憶装置4の数や冗長化構成に関する情報であり、後述するマルコフモデルの生成に用いられる。例えばストレージシステムの信頼性の検証を実施する作業者は、構成情報21aを事前調査、決定しておき、当該構成情報21aをクライアント装置2のインタフェース部2d、入出力部2e、又は読取部2f(図22参照)等を介してクライアント装置2に入力することが好ましい。

0036

モデル生成部23は、保持部21に格納された構成情報21aに基づきストレージシステムのマルコフモデルを生成し、生成したマルコフモデルをモデル情報21bとして保持部21に格納する。なお、構成情報21aに基づくマルコフモデルの生成は、既知の種々の手法により行なうことが可能であり、その詳細な説明は省略する。

0037

なお、構成情報21a及びモデル情報21bの少なくとも一方が例えばクライアント装置2の使用者により予め保持部21に設定される場合には、上述した情報取得部22及びモデル生成部23の少なくとも一方の機能を省略してもよい。

0038

以下、説明の簡略化のため、ストレージシステム1が3つの記憶装置4(例えば記憶装置4a、4b、4c)をそなえ、モデル生成部23が生成するマルコフモデルの形態(グラフ)が図3に示すものであるとする。図3に示すように、或る期間に全ての記憶装置4の各々は確率λで故障し、全ての故障している記憶装置4の各々は確率μで復旧するものとする。また、復元不可能なノードは完全に故障した状態として扱い、他のノードへの遷移を持たないものとする。

0039

なお、図3は、マルコフモデルを状態遷移の把握が容易なグラフの形式表現したものであるが、クライアント装置2等の情報処理装置では、マルコフモデルが図4に例示するような配列(状態遷移行列)として管理されてよい。

0040

マルコフモデルを配列で表す場合、図4のテーブルに例示するように、縦軸が状態の遷移元のノード、横軸が状態の遷移先のノードとなり、遷移元ノード及び遷移先ノード交点に状態遷移の確率が設定される。なお、ノードの状態が遷移しない確率(遷移元ノードと遷移先ノードとが同じ場合の確率;図4のテーブルにおける空白部分)は1.0からノードが他のノードに遷移する確率の合計を減算したものとなる。例えばノード(○○○)の状態が遷移しない確率は、1.0−(λ(ノード(○○×)に遷移する確率)+λ(ノード(○×○)に遷移する確率)+λ(ノード(×○○)に遷移する確率))=1.0−3λとなる。

0041

このように、マルコフモデルは、冗長化された複数の記憶装置4をそなえるストレージシステム1における、複数の記憶装置4の各々の故障の有無を表すノードを各記憶装置4の故障の有無の組み合わせごとに有するモデルであって、複数のノード間での状態遷移を表すモデルであるといえる。

0042

単純化処理部24は、モデル生成部23が生成したモデル情報21bを単純化(圧縮)アルゴリズムを用いて単純化し、モデルの規模を縮小した単純化モデル情報21cを生成し、保持部21に格納する。単純化アルゴリズムは以下の処理を含んでよい。

0043

(1)単純化処理部24が、或るノード(ここでは便宜上ノードsと表記)とノードsから記憶装置4が故障することで遷移し得るノードとを含むグラフ(ノードsの子グラフ)を抜き出す

0044

例えば図5に示すように、単純化処理部24により抜き出されるノード(○○×)の子グラフには、ノードs(○○×)、ノード(○××)、ノード(×○×)、及びノード(×××)、並びにこれらのノード間のエッジが含まれる。このとき単純化処理部24は、比較のために異なる2つのノードの子グラフを抜き出す。

0045

(2)抜き出した2つの子グラフg1、g2が同型の子グラフである場合、単純化処理部24は、一方の子グラフを他方の子グラフで置換する。換言すれば、単純化処理部24は、2つの同型の子グラフを1つの子グラフに集約するのである。ここで、同型の子グラフと判定するための条件として、一方の子グラフのノードを他方の子グラフのノードで置換しても同一のグラフ(子グラフ)となることが挙げられる。なお、置換可能なノードは復元可能なノード同士又は復元不可能なノード同士とする。また、同一のグラフとは、例えば子グラフのノードの置換前後で故障による状態遷移(エッジ)が同一であることを含む。

0046

例えば図6に示すように、ノード(○××)の子グラフとノード(××○)の子グラフとは、いずれも復元可能なノード(○××,××○)から復元不可能なノード(×××)へ状態遷移するグラフを表している。従って、図6の例では単純化処理部24は、ノード(○××)の子グラフとノード(××○)の子グラフとが同型であると判断する。このとき、単純化処理部24は一方の子グラフを他方の子グラフで置換するが、詳細な手法については後述する。

0047

単純化処理部24は、上記(1)及び(2)に例示する単純化アルゴリズムに基づいて、モデル情報21bを単純化した単純化モデル情報21cを生成することができる。なお、単純化処理部24による処理の詳細は後述する。

0048

なお、上記(2)において、単純化処理部24が同型と判断した子グラフを置換(1つに集約)することを許容する理由として、マルコフモデルのようなモデルでは、記憶装置4の状態遷移の確率λ、μが小さいことが挙げられる。すなわち、λ、μが小さいため複数回に亘ってノード間で状態が遷移する確率は非常に小さくなり、1つのグラフの中での狭い領域で一致したグラフ(子グラフ)を同一と見做しても、計算結果が概ね一致するからである。

0049

検証処理部25は、単純化処理部24が生成(修正)した単純化モデル情報21cに基づいて、ストレージシステムの信頼性の検証(評価)を行なう。

0050

例えば検証処理部25は、単純化モデル情報21cに基づいて、所定期間経過後にストレージにおいて復元不可能な故障が発生していない(継続して稼働している)確率を算出する。この確率は、ストレージシステムの信頼性を表す値(信頼性に関する情報)であるといえる。そして、検証処理部25は、算出結果を検証結果21dとして保持部21に格納する。なお、検証処理部25による処理の詳細は後述する。

0051

結果出力部26は、検証処理部25による検証結果21dを作業者へ出力する。例えば結果出力部26は、検証結果21dをクライアント装置2のインタフェース部2dや読取部2f(図22参照)を介してクライアント装置2の外部の装置に出力したり、入出力部2e(図22参照)としてのモニタに表示することができる。なお、検証結果21dの出力の手法としては上述したものに限定されるものではなく、種々の手法を用いることができる。

0052

以下、図7図16を参照しながら、単純化処理部24及び検証処理部25の詳細について説明する。

0053

(単純化処理部24の説明)
まず、単純化処理部24による単純化処理の詳細について説明する。単純化処理部24は、上記(1)及び(2)に例示する単純化アルゴリズムに基づく単純化処理において、例えば以下の(i)〜(iv)の処理を実行する。

0054

(i)単純化処理部24がモデル情報21bに対して記憶装置4の故障数の多いノードから順に各ノードに通し番号(ノード番号)を設定する。

0055

例えば単純化処理部24は、図7に示すように、図3のマルコフモデルにおける記憶装置4の故障数の最も多いノードからもっとも少ないノードへ、ノード(×××)、ノード(○××)、・・・、ノード(○○×)、・・・、ノード(○○○)の順に、通し番号0〜7を設定する。なお、ノードに通し番号が設定された場合の配列は図8に示すものとなる。以下、通し番号(ノード番号)0〜7のノードをそれぞれノード0、ノード1、・・・、ノード7と表記する。

0056

(ii)単純化処理部24が互いに異なる2つのノードを選択し、当該2つのノードの子グラフが同型であるか否かを判定する。

0057

例えば単純化処理部24は、図8のテーブルにおいて2つのノードを選択し、選択した2つのノード(選択ノード;第1ノード)の各々について、選択ノードからの状態遷移先のノード(遷移先ノード;第2ノード)を検索する。このとき単純化処理部24は、テーブルにおいて、選択ノードのノード番号に対応する遷移元ノード番号の行を参照し、当該行に故障の確率(例えばλを含む値)が設定されているか否かを判断すればよい。当該行に故障の確率が設定されている場合、単純化処理部24は、当該故障の確率が設定されている個所(列)に対応する遷移先ノード番号を取得することで、遷移先ノードを検出することができる。

0058

2つの選択ノードについて遷移先ノードの検索を行なうと、単純化処理部24は、2つの選択ノードについて検出した遷移先ノードの数を比較して両者が一致するか否かを判断する。両者が一致しない場合、例えば2つの選択ノードのうちのいずれかに遷移先ノードが存在しない、又は2つの選択ノードからの遷移先ノードの数が一致しない場合には、単純化処理部24はこの時点で2つの子グラフが同型ではないと判定することができる。

0059

一例として、選択ノードがノード0及びノード1である場合、図8に示すように遷移元ノード0の行にはλが設定されておらず(遷移先ノードの数=0)、遷移元ノード1の行には遷移先ノード0の列にλが設定されている(遷移先ノードの数=1)。この場合、選択ノード0及び1については遷移先ノードの数が一致していないため、単純化処理部24はノード0の子グラフとノード1の子グラフとは同型ではないと判定する。

0060

一方、2つの選択ノードからの遷移先ノードの数が一致する場合、単純化処理部24は、2つの選択ノードの遷移先ノードの各々から遷移する“次の遷移先ノード”の検索、及び2つの選択ノードに係る当該“次の遷移先ノード”の数の比較・一致判断を、故障による状態遷移の末端の遷移先ノードに達するまで再帰的に実行する。なお、末端の遷移先ノードとは、そのノードから故障により状態遷移する遷移先ノードが存在しないノードであり、復元不可能なノードとなる。

0061

なお、“次の遷移先ノード”の検索は、選択ノードからの遷移先ノードの検索の場合と同様である。例えば単純化処理部24は、テーブルにおいて、遷移先ノードのノード番号に対応する遷移元ノード番号の行を参照し、当該行に故障の確率が設定されている個所(列)に対応する遷移先ノード番号を取得すればよい。

0062

また、2つの選択ノードに係る“次の遷移先ノード”の数の比較・一致判断も、上述した2つの選択ノードからの遷移先ノードの数の比較・一致判断の場合と同様である。例えば単純化処理部24は、2つの選択ノードに係る“次の遷移先ノード”の数が一致しない場合、この時点で2つの子グラフが同型ではないと判定すればよい。一方、両者が一致する場合、単純化処理部24は、比較・一致判断を行なった“次の遷移先ノード”の他に、検出されたが比較・一致判断を行なっていない“次の遷移先ノード”が存在すれば当該“次の遷移先ノード”について上記比較・一致判断を実行すればよい。また、他に比較・一致判断を行なっていない“次の遷移先ノード”が存在しなければ、単純化処理部24は、当該“次の遷移先ノード”からの遷移先ノードを検索すればよい。

0063

以上の処理により、単純化処理部24は、2つの子グラフについて選択ノード(第1ノード)及び全ての遷移先ノード(第2ノード)の検索、及び比較・一致判断を実行し、2つの子グラフのノードの状態遷移(エッジ)の関係が同一であると判断すれば、2つの子グラフが同型であると判定する。なお、2つの子グラフのノードの状態遷移(エッジ)の関係が同一であるとは、比較・一致判断を行なった全てのノードにおいて遷移先ノードの数が2つの子グラフ間で同じであり、2つの子グラフのノードの接続形態が同一であることをいう。

0064

一例として、選択ノードがノード1及びノード3である場合、図8に示すように遷移元ノード1の行には遷移先ノード0の列にλが設定され(遷移先ノードの数=1)、遷移元ノード3の行にも遷移先ノード0の列にλが設定されている(遷移先ノードの数=1)。この場合、選択ノード1及び3は遷移先ノードの数が一致しているため、単純化処理部24は2つの遷移先ノード0について“次の遷移先ノード”を検索する。

0065

ノード0には“次の遷移先ノード”が存在しないため(遷移先ノードの数=0)、単純化処理部24は、選択ノード1の遷移先ノードの数と選択ノード3の遷移先ノードの数とが一致していると判断する。また、ノード0からの遷移先ノードは存在しないため、単純化処理部24は(故障による)状態遷移の末端の遷移先ノードに達した(全ての比較・一致判断で“一致”と判定した)と判断する。これにより、単純化処理部24は選択ノード1の子グラフと選択ノード3の子グラフとが同型であると判定することができる。なお、このとき選択ノード1の子グラフはノード1及びノード0であり、選択ノード3の子グラフはノード3及びノード0となる。

0066

なお、2つの選択ノードからの遷移先ノードの数がともに0で一致する場合、単純化処理部24は、これらの選択ノードが単独で子グラフを形成し、2つの子グラフが同型であると判定する。

0067

一例として、選択ノードがノード0及びノード2である場合、図8に示すように遷移元ノード0の行にはλが設定されておらず(遷移先ノードの数=0)、遷移元ノード2の行にもλが設定されていない(遷移先ノードの数=0)。この場合、選択ノード0及び2は遷移先ノードの数が0で一致しているため、単純化処理部24は2つの選択ノード0及びノード2がそれぞれ単独で子グラフを形成し、2つの子グラフが同型であると判定することができる。

0068

このように、単純化処理部24は、1以上のノードの集合ノード群)である子グラフを抽出しながら子グラフの少なくとも一部について段階的に比較・一致判断を行なうため、2つの子グラフが同型でないという判定を早期に行なうことができる。これにより、同型でないと判定した2つの子グラフの抽出を抑止できるため、単純化処理を高速化することができる。

0069

なお、単純化処理部24は、異なる2つの選択ノードとして、ノード番号の小さいノードを選択することが好ましい。ここで、ノード番号の小さいノードとは、マルコフモデルにおける記憶装置4の故障による状態遷移の末端のノードである。上記検索及び比較・一致判断ではノードの遷移先を順に辿る処理となるため、ノード番号の小さい2つのノードを選択ノードとして選択することで、処理時間が比較的短い末端の遷移先ノードから処理を行なうことができる。

0070

また、2つの子グラフの比較・一致判断は、上述のように2つの子グラフのノードの識別過程で行なってもよいし、2つの子グラフ内のノードを全て識別してから行なってもよい。例えば単純化処理部24は、2つの選択ノードの各々について、上述した手法により選択ノードから(故障による)状態遷移の末端の遷移先ノードまでを選択ノードの子グラフとして識別(抽出)する。そして、単純化処理部24は、2つの子グラフのノードの状態遷移(エッジ)の関係が同一であると判断すれば、2つの子グラフが同型であると判定する。

0071

さらに、2つの子グラフが同型であるか否かの判定において、単純化処理部24は記憶装置4の復旧の確率μについては考慮しなくてよい。グラフにおいて復元可能なノード間の状態遷移には、基本的に故障の確率λと復旧の確率μとが含まれるため(図7のλ及びμの矢印参照)、子グラフが同型であるか否かの判断には故障の確率λについて考慮すれば十分だからである。

0072

なお、上述した前提により、復元可能なノードと復元不可能なノードとの間の状態遷移には復元可能なノードから復元不可能なノードへの故障の確率λのみが含まれ、逆方向への復旧の確率μは含まれない。このことは、単純化処理部24が復元不可能なノードを識別するための判断基準として用いられてもよい。換言すれば、単純化処理部24は、或るノードに対応する遷移元ノード番号の行に他のノードへの復旧の確率(μを含む値)が含まれない場合に、当該或るノードが末端の遷移先ノードであると判断することができる。

0073

(iii)上記(ii)の判定の結果、2つの子グラフが同型であれば、単純化処理部24は一方の子グラフを他方の子グラフに重ね合わせ、当該一方の子グラフを削除する(同型の2つの選択ノードを1つに統合する)。

0074

例えば単純化処理部24は、同型であると判定した2つの子グラフのうちの一方の子グラフの選択ノードに遷移するエッジを全て他方の子グラフの選択ノードに設定し直し、一方の子グラフの選択ノードと当該選択ノードから遷移するエッジとを削除する。なお、削除する一方の子グラフは、ノード番号の大きい選択ノードの子グラフであることが好ましい。上述のように、上記検索及び比較・一致判断ではノードの遷移先を順に辿る処理となるため、ノード番号の大きいノードの子グラフを削除することで、以降の処理にかかる処理時間を短くすることができる。

0075

一例として、単純化処理部24がノード0の子グラフとノード2の子グラフとが同型であると判定した場合の処理について説明する。

0076

単純化処理部24は、図9に示すように、ノード番号の大きい選択ノード2に遷移していたエッジを残った選択ノード0に繋ぎ直し図9の符号(a)参照)、選択ノード2を削除する(図9の符号(b)参照)。これにより、ノード4及びノード6から選択ノード2への状態遷移が選択ノード0への状態遷移に置き換えられ、ノード4及びノード6からの状態遷移が不要となった選択(遷移先)ノード2が削除される。

0077

単純化処理部24が図9に示す処理を配列に対して行なう例を図10に示す。単純化処理部24は、図10上段の符号(a)に示すように、遷移先ノード2の列のうちの2か所に設定された故障の確率(λ)を、同じ行(遷移元ノード4及び6)の遷移先ノード0の列に移動(加算)する。また、単純化処理部24は、図10の上段の符号(b)に示すように、選択ノード2についてテーブルから遷移元ノード2の行と遷移先ノード2の列とを削除する。

0078

なお、ノード2の子グラフの削除後のテーブルは、図10下段に示すように、遷移元ノード4及び6の状態遷移先が遷移先ノード2から遷移先ノード0に切り替えられ、選択ノード2が削除されたテーブルとなる。

0079

(iv)単純化処理部24が、上記(ii)及び(iii)の一連の処理を全てのノードについて行なうまで繰り返す。

0080

例えば単純化処理部24は、2つの選択ノードの全ての組み合わせについて、ノード番号の小さいノードから順に上記(ii)及び(iii)の処理、つまり2つの選択ノード(第1ノード)の選択から選択ノードの統合までの処理を、2つの選択ノードの組み合わせを変化させて順に実行する。

0081

以下、図9及び図10に示すようにノード2がノード0に統合された状態において、単純化処理部24が更に上記(ii)の処理を実行した結果、ノード1の子グラフとノード3の子グラフとが同型であると判定した場合の上記(iii)の処理について説明する。

0082

単純化処理部24は、図11に示すように、ノード番号の大きい選択ノード3に遷移していたエッジを残った選択ノード1に繋ぎ直し(図11の符号(d)参照)、選択ノード3を削除する(図11の符号(e)参照)。また、単純化処理部24は、削除した選択ノード3から遷移するエッジを削除する(図11の符号(f)参照)。これにより、ノード5及びノード6から選択ノード3への状態遷移が選択ノード1への状態遷移に置き換えられ、ノード5及びノード6からの状態遷移並びにノード0への状態遷移が不要となった選択(遷移先)ノード3が削除される。

0083

単純化処理部24が図11に示す処理を配列に対して行なう例を図12に示す。単純化処理部24は、図12の上段の符号(d)に示すように、遷移先ノード3の列のうちの2か所に設定された故障の確率λを、同じ行(遷移元ノード5及び6)の遷移先ノード1の列に移動(加算)する。なお、遷移元ノード5の行と遷移先ノード1の列との交点には既に故障の確率λが設定されている。この場合、単純化処理部24は、当該交点に設定されているλに、遷移先ノード3の列に設定された故障の確率λを加算した2λを算出し、当該交点に2λを設定する。

0084

また、単純化処理部24は、図12の上段の符号(e)に示すように、選択ノード3についてテーブルから遷移元ノード3の行と遷移先ノード3の列とを削除する。なお、この処理により、図12の上段の符号(f)に示すように、選択ノード3から遷移先ノード0への状態遷移(故障の確率λ)、並びに遷移元ノード5及び6への状態遷移(復旧の確率μ)がそれぞれ削除され、選択ノード3から遷移するエッジの削除も行なわれる。

0085

なお、ノード3の子グラフの削除後のテーブルは、図12の下段に示すように、遷移元ノード5及び6の状態遷移先が遷移先ノード3から遷移先ノード1に切り替えられ、選択ノード3が削除されたテーブルとなる。

0086

次に、図11及び図12に示すようにノード3がノード1に統合された状態において、単純化処理部24が更に上記(ii)の処理を実行した結果、ノード4の子グラフとノード5の子グラフとが同型であると判定した場合の上記(iii)の処理について説明する。

0087

単純化処理部24は、図13に示すように、ノード番号の大きい選択ノード6に遷移していたエッジを残った選択ノード4に繋ぎ直し(図13の符号(g)参照)、選択ノード6を削除する(図13の符号(h)参照)。また、単純化処理部24は、削除した選択ノード6から遷移するエッジを削除する(図13の符号(i)参照)。これにより、ノード7から選択ノード6への状態遷移が選択ノード4への状態遷移に置き換えられ、ノード7からの状態遷移並びにノード1及びノード0への状態遷移が不要となった選択(遷移先)ノード6が削除される。

0088

単純化処理部24が図13に示す処理を配列に対して行なう例を図14に示す。単純化処理部24は、図14の上段の符号(g)に示すように、遷移先ノード6の列に設定された故障の確率λを、同じ行(遷移元ノード7)の遷移先ノード4の列に移動(加算)する。なお、遷移元ノード7の行と遷移先ノード4の列との交点には既に故障の確率λが設定されている。この場合、単純化処理部24は、当該交点に設定されているλに、遷移先ノード6の列に設定された故障の確率λを加算した2λを算出し当該交点に2λを設定する。

0089

また、単純化処理部24は、図12の上段の符号(h)に示すように、選択ノード6についてテーブルから遷移元ノード6の行と遷移先ノード6の列とを削除する。なお、この処理により、図14の上段の符号(i)に示すように、選択ノード6から遷移先ノード0及び1への状態遷移(故障の確率λ)、並びに遷移元ノード7への状態遷移(復旧の確率μ)がそれぞれ削除され、選択ノード6から遷移するエッジの削除も行なわれる。

0090

なお、ノード6の子グラフの削除後のテーブルは、図14の下段に示すように、遷移元ノード7の状態遷移先が遷移先ノード6から遷移先ノード4に切り替えられ、選択ノード4が削除されたテーブルとなる。

0091

以上の処理により、単純化処理部24が上記(ii)及び(iii)の一連の処理を全てのノードについて行なうまで繰り返すことで、モデル情報21bの単純化処理が完了する。例えば図7及び図8に示すマルコフモデルは、単純化処理の完了により図15に示すマルコフモデルにまで単純化(圧縮)される。

0092

単純化処理部24は、以上の処理によって単純化処理を完了すると、単純化したマルコフモデルを単純化モデル情報21c(図15の配列)として保持部21に格納する。なお、単純化処理部24は、新たに単純化モデル情報21cを生成する代わりに、単純化処理の過程でモデル情報21bを修正(加工)することで、修正したモデル情報21bを単純化モデル情報21cとして扱ってもよい。

0093

なお、ここまで、単純化処理部24は単純化処理において2つの選択ノードを選択するものとして説明したが、これに限定されるものではない。例えば単純化処理部24は、3つ以上の選択ノードを選択し、これらの選択ノードのうちの2つ以上の選択ノードの子グラフが同型であると判断した場合、当該2つ以上の選択ノードを統合することとしてもよい。

0094

以上のように、単純化処理部24は、以下の処理を実行する統合部の一例であるといえる。すなわち、統合部の一例としての単純化処理部24は、モデル情報21bに基づき、複数のノードから互いに異なる複数の第1ノードを選択し、選択した複数の第1ノードについて、各第1ノードからの記憶装置4の故障による状態遷移に関する情報を取得する。また、統合部の一例としての単純化処理部24は、複数の第1ノードのうち、2以上の第1ノードの各々について取得した状態遷移に関する情報が所定の条件を満たす場合、2以上の第1ノードを1つの第1ノードに統合するのである。

0095

(検証処理部25の説明)
検証処理部25は、例えば以下の検証アルゴリズムに基づいて、ストレージシステムの信頼性の検証処理を行なう。

0096

検証アルゴリズムは、以下の処理を含んでよい。例えば、検証処理部25は、単純化モデル情報21cに基づき、図16に示すように或るタイミングで各ノードに存在する確率を一次元配列で表現した検証テーブルを生成する。そして、検証処理部25は、状態遷移行列(図15のテーブル)に従って或る期間(単位時間)ごとに一次元配列を更新していき、所定期間(例えば1年)経過後に復元可能なノードに存在する確率を算出する。

0097

例えば検証処理部25は、いずれの記憶装置4にも故障が発生していない初期状態を、全ての記憶装置4が動作している状態(ノード7)とする。また、検証処理部25は、時間0から或る期間経過後のタイミングである時間1について、ノード7からノード4、ノード5に遷移する確率に従って一次元配列を更新する。さらに、検証処理部25は、時間1から或る期間経過後のタイミングである時間2について、ノード4、5、7から各ノードに遷移する確率に従って一次元配列を更新する。

0098

このように、検証処理部25は、初期状態から或る期間(単位時間)ごとのタイミングで一次元配列を更新し、タイミングが所定期間に達したときの確立を求めるのである。

0099

一例として、検証処理部25は、図16に示すように、単純化モデル情報21cに含まれるノード番号を用いて検証テーブルに項目(ノード番号)を作成する。また、検証処理部25は、初期状態では全ての記憶装置4が正常に稼働していることを前提としているため、時間(時刻)0のエントリ(一次元配列)に対して、ノード0、ノード1、ノード4、及びノード5には0を、ノード(○○○)に対応するノード7には1.0(100%)を設定する。なお、検証テーブルにおいて各ノードに設定される値は、或る時間(タイミング)において、複数の記憶装置4がそのノードの表す故障の状態(組み合わせ)になっている確率を示す値である。

0100

次いで、検証処理部25は時間1のエントリを生成(検証テーブルを更新)する。図15に示すように、ノード7の遷移先ノードはノード4(故障の確率=2λ)及びノード5(故障の確率=λ)であるため、検証処理部25は、図16に示すように、時間1のエントリに対して、ノード4には2λを、ノード5にはλを設定する。また、ノード7が或る期間経過後もノード7である(状態が遷移しない)確率は、ノード7から他のノードに状態遷移する確率を1.0から減算したものとなる。このため検証処理部25は、時間1のエントリに対して、ノード7には1.0−(2λ+λ)=1.0−3λを設定する。

0101

次に、検証処理部25は時間2のエントリを生成(検証テーブルを更新)する。図15に示すように、ノード0にはノード1(時間1での確率=0)及びノード4(時間1での確率=2λ)からそれぞれ故障の確率λで状態遷移が生じ得る。但し、時間1でのノード1の確率は0であるため、時間2でノード1からノード0に状態遷移する確率は0である。一方、時間1でのノード4の確率は2λであるため、時間2でノード4からノード0に状態遷移する確率は、直前の時間1でのノード4の確率(2λ)に、時間1から時間2までの間にノード4からノード0に状態遷移する確率(λ)を乗じた値となる。なお、ノード0は復旧不可能なノードであるため、ノード0が或る時間経過後もノード0である確率は1.0(100%)である。しかし、時間1でのノード0の確率は0であるため、ノード0が時間2でもノード0である確率は0×1.0=0となる。

0102

このため、検証処理部25は、図16に示すように、時間2のエントリに対して、ノード0にはノード4から遷移する確率として2λ×λ=2λ2を設定する一方、ノード1から遷移する確率及びノード0が時間2でもノード0である確率には、それぞれ0×λ=0、0×1.0=0を設定する。

0103

また、図15に示すように、ノード1にはノード4(時間1での確率=2λ)から故障の確率λで状態遷移が生じ、ノード5(時間1での確率=λ)から故障の確率2λで状態遷移が生じ得る。時間2でノード4からノード1に状態遷移する確率は、ノード0での計算と同様に2λ×λ=2λ2と算出される。また、時間2でノード5からノード1に状態遷移する確率も、λ×2λ=2λ2と算出される。このため、検証処理部25は、図16に示すように、時間2のエントリに対して、ノード1にはノード4及びノード5から遷移する確率としてそれぞれ2λ2を設定する一方、ノード1が時間2でもノード1である確率には0を設定する。

0104

さらに、図15に示すように、ノード4にはノード1(時間1での確率=0)から復旧の確率μで状態遷移が生じ、ノード7(時間1での確率=1.0−3λ)から故障の確率2λで状態遷移が生じ得る。但し、時間1でのノード1の確率は0であるため、時間2でノード1からノード4に状態遷移する確率は0である。一方、時間2でノード7からノード4に状態遷移する確率は、上記の計算と同様に(1.0−3λ)×2λ=2λ(1.0−3λ)と算出される。また、ノード4が時間2でもノード4である確率は、時間1でのノード4の確率2λと、ノード4から他のノードに状態遷移する確率を1.0から減算した値とを乗じたものとなる。すなわち、ノード4が時間2でもノード4である確率は、2λ×(1−(ノード2へ遷移する確率(2λ)+ノード7へ遷移する確率(μ)))=2λ(1−(2λ+μ))と算出される。

0105

このため、検証処理部25は、図16に示すように、時間2のエントリに対して、ノード4にはノード1及びノード7から遷移する確率としてそれぞれ0及び2λ(1.0−3λ)を設定する一方、ノード4が時間2でもノード4である確率には2λ(1−(2λ+μ))を設定する。

0106

なお、ノード5についても、ノード4と基本的に同様である。例えば検証処理部25は、図16に示すように、時間2のエントリに対して、ノード5にはノード1及びノード7から遷移する確率としてそれぞれ0及びλ(1.0−3λ)を設定する一方、ノード5が時間2でもノード5である確率にはλ(1−(2λ+μ))を設定する。

0107

また、図15に示すように、ノード7にはノード4(時間1での確率=2λ)及びノード5(時間1での確率=λ)からそれぞれ復旧の確率μで状態遷移が生じ得る。時間2でノード4及びノード5からノード7に状態遷移する確率は、上記の計算と同様に、それぞれ2λ×μ=2λμ、λ×μ=λμと算出される。また、ノード7が時間2でもノード7である確率は、時間1でのノード7の確率(1.0−3λ)と、ノード7から他のノードに状態遷移する確率を1.0から減算した値とを乗じたものとなる。すなわち、ノード7が時間2でもノード7である確率は、(1.0−3λ)×(1.0−3λ)=(1.0−3λ)2と算出される。

0108

このため、検証処理部25は、図16に示すように、時間2のエントリに対して、ノード7にはノード4及びノード5から遷移する確率としてそれぞれ2λμ、λμを設定する一方、ノード7が時間2でもノード7である確率として(1.0−3λ)2を設定する。

0109

時間3以降のタイミングについても同様に、検証処理部25は各ノードの確率を算出し、検証テーブルに設定する。

0110

以上のように、検証処理部25は、或る期間ごとに、複数の記憶装置4が各ノードの表す故障の状態(組み合わせ)になっている確率を算出し、検証テーブルを生成(更新)する。これにより、信頼性の検証を行ないたい所定期間(例えば1年)経過後の各ノードの確率を算出することができる。

0111

そして、検証処理部25は、或る期間の累積により所定期間に達したときの各ノードの確率を、復元不可能なノードの確率を除いて合計する。この合計の確率は、所定期間経過後にストレージにおいて復元不可能な故障が発生していない(継続して稼働している)確率であり、ストレージシステムの信頼性を表す値であるといえる。図16の例では、検証処理部25は、1年後の各ノードの確率a、b、e、f、及びhを、復元不可能なノード0の確率aを除いて合計し、ストレージシステムの信頼性を表す値としてb+e+f+hを算出する。

0112

なお、検証処理部25は、ストレージシステムの信頼性の算出を行なうと、算出結果を検証結果21dとして保持部21に格納する。このとき検証処理部25は、上述した検証に用いた検証テーブルを検証結果21dに含めてもよい。

0113

以上のように、検証処理部25は、2以上の第1ノードの統合後の単純化モデル情報21cに基づき、ストレージシステム1の信頼性に関する情報を算出する算出部の一例であるといえる。

0114

〔1−3〕マルコフモデルの単純化による検証処理への影響
以上のように、一実施形態に係る信頼性検証装置の一例としてのクライアント装置2によれば、非MDS符号が適用されたストレージシステム1のマルコフモデルを単純化(圧縮)することにより、ストレージシステムの信頼性の算出の演算時間を短縮することができる。

0115

ここで、非MDS符号のマルコフモデルの単純化の有無による記憶装置の数とノード数との関係の一例を図17に示す。

0116

図17に示すように、マルコフモデルを圧縮しない場合、ノード数は記憶装置の数に対して指数関数的に増加する。一方、マルコフモデルを一実施形態の手法により圧縮した場合には、非圧縮の場合と比べてノード数の上昇率が大幅に減少し、記憶装置の数が増加した場合でもモデルの規模を小さく抑えることができる。

0117

例えば記憶装置の数が13の場合、非圧縮のマルコフモデルではノード数が8192であるが、圧縮したマルコフモデルではノード数が66となる。これは、記憶装置の数が6の場合の非圧縮のマルコフモデルのノード数の64と同程度である。このように、クライアント装置2は、マルコフモデルを一実施形態の手法により圧縮することで、非圧縮の場合と比較して記憶装置の数が倍程度のマルコフモデルについても、信頼性を容易に検証することが可能となる。

0118

図16に示すマルコフモデルを圧縮した場合の検証テーブルとの対比例として、非圧縮のマルコフモデルを用いて検証を行なう場合の検証テーブルを図19に示す。図16及び図19の比較によっても明らかなように、圧縮の有無によってノード数及びエッジ数が異なるため、初期状態に近い時間2のタイミングでも演算量が倍程度異なる。このように、マルコフモデルの圧縮によってノード数を減少させることは、演算時間の短縮に大きく寄与することがわかる。

0119

また、図18に例示するように、マルコフモデルを圧縮した場合、非圧縮の場合と比較して、算出される年間ディスク故障率の誤差は1%を大きく下回っている。このように、圧縮したマルコフモデルに基づき信頼性の検証を行なっても、実用には十分といえる結果が得られることがわかる。

0120

なお、非圧縮のマルコフモデルにおいては、記憶装置の数が15以上の場合には、年間ディスク故障率を算出することが困難になっている。これは、記憶装置の数が15以上の場合には、図17に示すようにノード数が3万を超え、年間ディスク故障率の演算処理に非常に多くの時間がかかるためである。

0121

一方、マルコフモデルを圧縮した場合には、記憶装置の数が20の場合でも年間ディスク故障率を算出することができる。このように、マルコフモデルを一実施形態の手法により圧縮することで、非圧縮の場合では演算が困難な一定の規模以上の非MDS符号を用いたストレージシステムの信頼性の近似解導出することが可能となる。

0122

このように、一実施形態に係るクライアント装置2は、マルコフモデルの相似性やノードの状態遷移の確率が非常に小さいことを利用し、マルコフモデルを単純化(マルコフモデルの規模を縮小)することで、ストレージシステムの信頼性を算出するためのシミュレーションを行なうことができる。

0123

〔1−4〕動作例
次に、上述の如く構成された一実施形態に係る信頼性検証装置の一例としてのクライアント装置2の動作例を、図20及び図21を参照して説明する。

0124

はじめに、図20を参照して、信頼性検証装置の一例としてのクライアント装置2による全体の処理について説明する。

0125

まず、クライアント装置2の情報取得部22は、ストレージシステム1の構成情報21aを取得し、保持部21に格納する(ステップS1)。モデル生成部23は、保持部21に格納された構成情報21aに基づいてマルコフモデル(図3及び図4参照)を生成し、モデル情報21bとして保持部21に格納する(ステップS2)。

0126

次に、単純化処理部24は、保持部21に格納されたモデル情報21bに対して、単純化アルゴリズムを用いたマルコフモデルの単純化処理を実施し(ステップS3)、単純化処理において単純化モデル情報21cを保持部21に格納する。検証処理部25は、保持部21に格納された単純化モデル情報21cに基づいて、ストレージシステムの信頼性の検証処理を実施し(ステップS4)、検証処理において検証結果を検証結果21dとして保持部21に格納する。

0127

最後に、結果出力部26は、保持部21に格納された検証結果21dを作業者に出力し(ステップS5)、処理が終了する。

0128

次に、図21を参照して、信頼性検証装置の一例としてのクライアント装置2によるマルコフモデルの単純化処理について説明する。なお、前提としてモデル情報21b(マルコフモデル)は図3及び図4に例示するものであるとする。

0129

まず、単純化処理部24は、保持部21からモデル情報21bを取得(参照)し(ステップS11)、記憶装置4の故障数の多いノードから順に、ノードに通し番号(ノード番号)を設定する(ステップS12)。例えばノード番号は、ノード0、ノード1、・・・、ノード7のように設定される(図7及び図8参照)。また、単純化処理部24は、2つのノード(選択ノード)を選択するための変数としてi=0、j=1を定義する(ステップS13)。

0130

次に、単純化処理部24は、マルコフモデルのテーブルを参照し、ノードiが削除済みであるか否かを判断する(ステップS14)。ノードiが削除済みではない場合(ステップS14のNoルート)、単純化処理部24は、ノードjが削除済みであるか否かを判断する(ステップS15)。ノードjが削除済みではない場合(ステップS15のNoルート)、単純化処理部24は、ノードiの子グラフとノードjの子グラフとが同型であるか否かを判定する(ステップS16)。

0131

判定の結果、ノードiの子グラフとノードjの子グラフとが同型である場合(ステップS17及びステップS17のYesルート)、単純化処理部24は、マルコフモデルのテーブルに対して、ノードjに遷移するエッジを全てノードiに設定し直す。また、単純化処理部24は、テーブルに対して、ノードjとノードjから遷移するエッジとを削除する(ステップS18)。

0132

そして、単純化処理部24は、変数jに1を加算(インクリメント)し(ステップS19)、jが通し番号(ノード番号)の最大値(この場合、7)を超えたか否かを判断する(ステップS20)。jが通し番号を超えていない場合(ステップS20のNoルート)、処理がステップS15に移行する。一方、jが通し番号を超えた場合(ステップS20のYesルート)、処理がステップS21に移行する。

0133

なお、ステップS15においてノードjが削除済みである場合(ステップS15のYesルート)、及びステップS17においてノードiの子グラフとノードjの子グラフとが同型ではない場合(ステップS17のNoルート)、処理がステップS19に移行する。また、ステップS14において、ノードiが削除済みの場合(ステップS14のYesルート)、処理がステップS21に移行する。

0134

ステップS21では、単純化処理部24は、変数iに1を加算(インクリメント)する。次いで、単純化処理部24は、ステップS21で1を加算したiにさらに1を加算した値を変数jに設定する(ステップS22)。

0135

そして、単純化処理部24は、ステップS21及びS22の処理によりjが通し番号の最大値(この場合、7)を超えたか否かを判断する(ステップS23)。jが通し番号の最大値を超えていない場合(ステップS23のNoルート)、処理がステップS14に移行する。一方、jが通し番号の最大値を超えた場合(ステップS23のYesルート)、単純化処理部24は、ステップS17において生成(修正)したテーブルを単純化モデル情報21cとして例えば保持部21へ出力(格納)し(ステップS24)、処理が終了する。

0136

以上の処理により、単純化処理部24は、ノード番号の小さいノードから順に、全てのノードの組み合わせで2つのノード(選択ノード)を選択することができる。また、単純化処理部24は、2つの選択ノードの子グラフが同型であるか否かを判定し、同型である場合にノード番号の大きいノードの子グラフを他方の子グラフに統合することができる。

0137

〔2〕ハードウェア構成例
図22に示すように、上述した一実施形態に係るクライアント装置2は、CPU2a、メモリ2b、記憶部2c、インタフェース部2d、入出力部2e、及び読取部2fをそなえることができる。

0138

CPU2aは、種々の制御や演算を行なう演算処理装置プロセッサ)の一例である。CPU2aは、対応する各ブロック2b〜2fと接続され、メモリ2b、記憶部2c、記録媒体2g、又は図示しないROM(Read Only Memory)等に格納されたプログラムを実行することにより、種々の機能を実現することができる。

0139

メモリ2bは、種々のデータやプログラムを格納する記憶装置である。CPU2aは、プログラムを実行する際に、メモリ2bにデータやプログラムを格納し展開する。なお、メモリ2bとしては、例えばRAM(Random Access Memory)等の揮発性メモリが挙げられる。

0140

記憶部2cは、種々のデータやプログラム等を格納するハードウェアである。記憶部2cとしては、例えばHDD等の磁気ディスク装置、SSD等の半導体ドライブ装置、フラッシュメモリやROM等の不揮発性メモリ等の各種装置が挙げられる。なお、図2に示す保持部21は、メモリ2b又は記憶部2cにより実現されてよい。

0141

例えば、記憶部2cは、信頼性検証装置としてのクライアント装置2の各種機能の全部もしくは一部を実現する信頼性検証プログラム200を格納することができる。

0142

インタフェース部2dは、有線又は無線による、ネットワーク5や他の情報処理装置等との間の接続及び通信の制御等を行なう通信インタフェースである。インタフェース部2dとしては、例えば、LAN、SAN、FC(Fibre Channel)、インフィニバンド(InfiniBand)等の種々のインタフェースに準拠したアダプタが挙げられる。例えば、CPU2aは、インタフェース部2d及びネットワーク5を介して取得した信頼性検証プログラム200を記憶部2cに格納してもよい。

0143

入出力部2eは、マウスキーボードタッチパネル音声操作のためのマイク等の入力装置(操作部)、並びにディスプレイスピーカー、及びプリンタ等の出力装置(出力部、表示部)の少なくとも一方を含むことができる。例えば、入力装置は作業者によるクライアント装置2の各種操作や構成情報21a(又はモデル情報21b)等のデータの入力等の作業に用いられてよく、出力装置は検証結果21dや各種通知等の出力(表示)に用いられてよい。

0144

読取部2fは、コンピュータ読取可能な記録媒体2gに記録されたデータやプログラムを読み出す装置である。この記録媒体2gには信頼性検証プログラム200が格納されてもよい。

0145

例えば、CPU2aは、記憶部2c又は記録媒体2gに格納された信頼性検証プログラム200を、メモリ2b等の記憶装置に展開して実行することにより、信頼性検証装置としてのクライアント装置2の機能を実現することができる。

0146

なお、記録媒体2gとしては、例えばフレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク等の光ディスクや、USB(Universal Serial Bus)メモリやSDカード等のフラッシュメモリが挙げられる。なお、CDとしては、CD−ROM、CD−R(CD-Recordable)、CD−RW(CD-Rewritable)等が挙げられる。また、DVDとしては、DVD−ROM、DVD−RAM、DVD−R、DVD−RW、DVD+R、DVD+RW等が挙げられる。

0147

上述した各ブロック2a〜2f間はそれぞれバスで相互に通信可能に接続される。また、クライアント装置2の上述したハードウェア構成は例示である。従って、クライアント装置2内でのハードウェアの増減(例えば任意のブロックの追加や省略)、分割、任意の組み合わせでの統合、バスの追加又は省略等は適宜行なわれてもよい。

0148

〔3〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、かかる特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。

0149

例えば、図2に示すクライアント装置2の各機能ブロックは、任意の組み合わせで併合してもよく、分割してもよい。

0150

また、上述した説明では、ノード番号を記憶装置4の故障数が多い順に設定するものとしたが、これに限定されるものではなく、他の順序であってもよい。また、複数のノードからノードを選択する順序を決定できるのであれば、ノード番号に代えて任意の文字列が用いられてもよい。

0151

さらに、クライアント装置2において検証処理部25及び結果出力部26の機能を省略してもよい。この場合、クライアント装置2は、モデル情報21bのマルコフモデルを単純化して規模を縮小し、最適化した単純化モデル情報21cを生成するモデルの最適化装置(又はモデルの分析装置)として位置付けることができる。このとき、クライアント装置2は、検証処理部25及び結果出力部26の機能をそなえる他の検証装置(例えば信頼性検証装置)に対して、最適化した単純化モデル情報21cを出力すればよい。

0152

1ストレージシステム
2クライアント装置(信頼性検証装置)
3,3a,3bストレージ装置
4,4a〜4h記憶装置
5ネットワーク
21 保持部
21a構成情報
21bモデル情報
21c単純化モデル情報
21d 検証結果
22情報取得部
23モデル生成部
24 単純化処理部
25検証処理部
26結果出力部

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

  • 三菱電機株式会社の「 コントローラシステム」が 公開されました。( 2019/06/27)

    【課題・解決手段】コントローラシステムは、コントローラ(1)と、コントローラ(1)と通信可能に接続された複数の入出力制御装置(4)と、複数の入出力制御装置(4)に接続されたセンサ機器(5)とを備える。... 詳細

  • 株式会社日立製作所の「 データリバランスを制御するシステムおよび方法」が 公開されました。( 2019/06/24)

    【課題・解決手段】データリバランス制御システムは、計算機システムに含まれる1以上の計算機に接続され圧縮機能を有する記憶デバイスを少なくとも1つ含んだ複数の記憶デバイスに対応した複数の物理容量を示す情報... 詳細

  • 株式会社日立製作所の「 ストレージ装置及びストレージ装置の制御方法」が 公開されました。( 2019/06/24)

    【課題・解決手段】フラッシュメモリモジュールは、記憶領域を提供するフラッシュメモリと、記憶領域に対するデータの書き込み及び読み出しを制御するコントローラと、記憶領域に書き込むデータを一時的に記憶するバ... 詳細

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ