(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025003246
(43)【公開日】2025-01-09
(54)【発明の名称】ストレージシステム、学習モデル、及び学習モデルの生成方法
(51)【国際特許分類】
G06F 11/34 20060101AFI20241226BHJP
G06F 3/06 20060101ALI20241226BHJP
G06F 11/07 20060101ALI20241226BHJP
G06F 11/30 20060101ALI20241226BHJP
G06F 11/22 20060101ALI20241226BHJP
G06N 20/00 20190101ALI20241226BHJP
【FI】
G06F11/34 147
G06F3/06 304P
G06F3/06 304R
G06F3/06 304Z
G06F11/07 151
G06F11/30 140M
G06F11/22 675E
G06N20/00 130
【審査請求】有
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023117605
(22)【出願日】2023-07-19
(31)【優先権主張番号】P 2023103381
(32)【優先日】2023-06-23
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】524132520
【氏名又は名称】日立ヴァンタラ株式会社
(74)【代理人】
【識別番号】110002365
【氏名又は名称】弁理士法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】小竹 勇己
(72)【発明者】
【氏名】鹿野 晶滉
(72)【発明者】
【氏名】佐藤 篤
(72)【発明者】
【氏名】茂木 瑞穂
(72)【発明者】
【氏名】小林 実
【テーマコード(参考)】
5B042
5B048
【Fターム(参考)】
5B042GA34
5B042JJ06
5B042JJ23
5B042JJ29
5B042MA08
5B042MC33
5B048CC17
(57)【要約】
【課題】ストレージシステムにおけるドライブ装置の故障の予兆をより正確に検出する。
【解決手段】ストレージシステムSの制御装置1は、制御装置1による入出力に係るコマンドの実行に対するドライブ装置3の応答性能を評価するための学習モデル132Mを格納している。制御装置1は、ドライブ装置3の稼働情報を取得し、学習モデル132Mに対して、稼働情報に含まれるコマンドに関する所定の情報を入力する。制御装置1は、所定の情報の入力に対する学習モデル132Mによる応答性能に係る出力に基づいて、ドライブ装置3の故障の予兆を判定する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
データを格納するドライブ装置と、該ドライブ装置に対するデータの入出力を制御する制御装置と、を有するストレージシステムであって、
前記制御装置は、プロセッサと、メモリと、を有し、
前記メモリは、
前記制御装置による前記入出力に係るコマンドの実行に対する前記ドライブ装置の応答性能を評価するための学習モデルを格納し、
前記プロセッサは、
前記ドライブ装置の稼働情報を取得し、
前記学習モデルに対して、前記稼働情報に含まれる前記コマンドに関する所定の情報を入力し、
前記所定の情報の入力に対する前記学習モデルによる前記応答性能に係る出力に基づいて、前記ドライブ装置の故障の予兆を判定する
ことを特徴とするストレージシステム。
【請求項2】
請求項1に記載のストレージシステムであって、
前記所定の情報は、
前記コマンドのうちのリードコマンド及びライトコマンドのそれぞれの転送ブロック長とコマンド数を含み、
前記学習モデルは、
前記リードコマンド及び前記ライトコマンドの前記転送ブロック長と前記コマンド数から生成された説明変数と、第1転送ブロック長の該リードコマンドを第1コマンド数だけ測定用ドライブ装置へ送信し、第2転送ブロック長の該ライトコマンドを第2コマンド数だけ該測定用ドライブ装置へ送信した際に測定された該測定用ドライブ装置の前記応答性能を示す応答性能データから生成された目的変数と、を含んだ教師データの学習を実行済みであり、
前記応答性能データは、
前記リードコマンド及び前記ライトコマンドの実行に対する前記測定用ドライブ装置の応答時間、IOPS(Input/Output operations Per Second)、レイテンシ、又はスループットである
ことを特徴とするストレージシステム。
【請求項3】
請求項2に記載のストレージシステムであって、
前記教師データは、
前記第1転送ブロック長と前記第2転送ブロック長とが異なる前記リードコマンド及び前記ライトコマンドが前記測定用ドライブ装置へ送信され測定された前記応答性能データを含む
ことを特徴とするストレージシステム。
【請求項4】
請求項3に記載のストレージシステムであって、
前記教師データは、
前記第1転送ブロック長と前記第2転送ブロック長とが異なる前記リードコマンド及び前記ライトコマンドが所定時間にわたって前記測定用ドライブ装置へ継続して送信され測定された前記応答性能データを含む
ことを特徴とするストレージシステム。
【請求項5】
請求項2に記載のストレージシステムであって、
前記教師データは、
前記測定用ドライブ装置に対して負荷をかけないアイドリング期間が定期的に設けられた前記リードコマンド及び前記ライトコマンドが該測定用ドライブ装置へ送信され測定された前記応答性能データを含む
ことを特徴とするストレージシステム。
【請求項6】
請求項5に記載のストレージシステムであって、
前記教師データは、
前記アイドリング期間が定期的に設けられた前記リードコマンド及び前記ライトコマンドが所定時間にわたって前記測定用ドライブ装置へ継続して送信され測定された前記応答性能データを含む
ことを特徴とするストレージシステム。
【請求項7】
請求項2に記載のストレージシステムであって、
前記応答性能に係る出力は、前記応答性能データの評価閾値であり、
前記プロセッサは、
前記所定の情報に入力に対して前記学習モデルによって出力された前記評価閾値と、前記コマンドが実行された際の前記応答性能データの実測値と、の比較に基づいて、前記ドライブ装置の故障の予兆を判定する
ことを特徴とするストレージシステム。
【請求項8】
請求項2に記載のストレージシステムであって、
前記メモリは、
前記ドライブ装置のドライブ種別及び容量毎の前記教師データの学習を実行済みの該ドライブ種別及び容量毎の前記学習モデルから選択された前記学習モデルを格納し、
前記プロセッサは、
前記ドライブ装置の前記ドライブ種別及び容量に対応する前記学習モデルを選択し、
選択した前記学習モデルに対して、前記所定の情報を入力する
ことを特徴とするストレージシステム。
【請求項9】
請求項2に記載のストレージシステムであって、
前記所定の情報は、前記ドライブ装置の所定の性能統計情報を含み、
前記学習モデルは、
前記所定の性能統計情報を含んだ前記教師データの学習を実行済みである
ことを特徴とするストレージシステム。
【請求項10】
請求項9に記載のストレージシステムであって、
前記学習モデルは、
ネットワークを介して収集された他のストレージシステムが有する他の前記ドライブ装置の前記所定の性能統計情報を含んだ前記教師データの学習を実行済みである
ことを特徴とするストレージシステム。
【請求項11】
データを格納するドライブ装置と、該ドライブ装置に対するデータの入出力を制御する制御装置と、を有するストレージシステムにおいて、該入出力に係るリードコマンド及びライトコマンドに対する該ドライブ装置の応答性能を評価するための学習モデルであって、
前記リードコマンド及び前記ライトコマンドの転送ブロック長とコマンド数から生成された説明変数と、第1転送ブロック長の該リードコマンドを第1コマンド数だけ測定用ドライブ装置へ送信し、第2転送ブロック長の該ライトコマンドを第2コマンド数だけ該測定用ドライブ装置へ送信した際に測定された該測定用ドライブ装置の応答性能を示す応答性能データから生成された目的変数と、を含んだ教師データの学習を実行済みであり、
前記教師データは、
前記第1転送ブロック長と前記第2転送ブロック長とが異なる前記リードコマンド及び前記ライトコマンドが前記測定用ドライブ装置へ送信され測定された前記応答性能データ、
前記測定用ドライブ装置に対して負荷をかけないアイドリング期間が定期的に設けられた前記リードコマンド及び前記ライトコマンドが該測定用ドライブ装置へ送信され測定された前記応答性能データ、
前記第1転送ブロック長と前記第2転送ブロック長とが異なる前記リードコマンド及び前記ライトコマンドが所定時間にわたって前記測定用ドライブ装置へ継続して送信され測定された前記応答性能データ、
前記アイドリング期間が定期的に設けられた前記リードコマンド及び前記ライトコマンドが所定時間にわたって前記測定用ドライブ装置へ継続して送信され測定された前記応答性能データ、
のうちの1つ以上の前記応答性能データを含み、
前記制御装置によって前記ドライブ装置へ送信された前記リードコマンド及び前記ライトコマンドの転送ブロック長とコマンド数を入力として該ドライブ装置の応答性能を評価するための該応答性能の評価閾値を出力するように前記制御装置を機能させる
ことを特徴とする学習モデル。
【請求項12】
データを格納するドライブ装置と、該ドライブ装置に対するデータの入出力を制御する制御装置と、を有するストレージシステムにおいて、該入出力に係るリードコマンド及びライトコマンドに対する該ドライブ装置の応答性能を評価するための学習モデルの生成方法であって、
学習モデル生成装置が、
前記リードコマンド及び前記ライトコマンドの転送ブロック長とコマンド数を取得し、
前記転送ブロック長と前記コマンド数から特徴量を生成し、
前記特徴量から説明変数を生成し、
第1転送ブロック長の前記リードコマンドを第1コマンド数だけ測定用ドライブ装置へ送信し、第2転送ブロック長の前記ライトコマンドを第2コマンド数だけ該測定用ドライブ装置へ送信した際に測定された該測定用ドライブ装置の応答性能を示す応答性能データを取得し、
前記応答性能データから目的変数を生成し、
前記説明変数と前記目的変数を含んだ教師データの学習を実行する
各処理を含み、
前記教師データは、
前記第1転送ブロック長と前記第2転送ブロック長とが異なる前記リードコマンド及び前記ライトコマンドが前記測定用ドライブ装置へ送信され測定された前記応答性能データ、
前記測定用ドライブ装置に対して負荷をかけないアイドリング期間が定期的に設けられた前記リードコマンド及び前記ライトコマンドが該測定用ドライブ装置へ送信され測定された前記応答性能データ、
前記第1転送ブロック長と前記第2転送ブロック長とが異なる前記リードコマンド及び前記ライトコマンドが所定時間にわたって前記測定用ドライブ装置へ継続して送信され測定された前記応答性能データ、
前記アイドリング期間が定期的に設けられた前記リードコマンド及び前記ライトコマンドが所定時間にわたって前記測定用ドライブ装置へ継続して送信され測定された前記応答性能データ、
のうちの1つ以上の前記応答性能データを含む
ことを特徴とする学習モデルの生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ストレージシステム、学習モデル、及び学習モデルの生成方法に関する。
【背景技術】
【0002】
一般的に、ストレージシステムにおいて、ホストからのIO(Input Output)リクエスト(入出力リクエスト)に対するドライブ装置の応答性能が閾値を下回った場合に、故障の予兆が検出される。あるいはストレージシステムの同一RAID(Redundant Array of Inexpensive Disks)内に所属するドライブ装置の応答性能を比較し、相対的に遅延しているドライブ装置に故障の予兆が検出される。
【0003】
また機械学習モデルを用いて、ドライブ装置の故障の予兆の検出を行う従来技術がある(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述の従来技術は、ドライブ装置が同一のパリティグループに所属すればワークロードが同一になることを前提として、ドライブ装置の故障予兆を検出している。しかし近年普及してきているSDS等のように、ドライブ装置が同一のパリティグループに所属してもワークロードが異なる場合があるストレージシステムでは、ドライブ装置の故障の予兆を正確に検出できないという問題があった。SDSは、Software Defined Storageである。
【0006】
本発明は、上記事情に鑑みなされたものであり、ストレージシステムにおけるドライブ装置の故障の予兆をより正確に検出することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決する一態様として、データを格納するドライブ装置と、該ドライブ装置に対するデータの入出力を制御する制御装置と、を有するストレージシステムであって、前記制御装置は、プロセッサと、メモリと、を有し、前記メモリは、前記制御装置による前記入出力に係るコマンドの実行に対する前記ドライブ装置の応答性能を評価するための学習モデルを格納し、前記プロセッサは、前記ドライブ装置の稼働情報を取得し、前記学習モデルに対して、前記稼働情報に含まれる前記コマンドに関する所定の情報を入力し、前記所定の情報の入力に対する前記学習モデルによる前記応答性能に係る出力に基づいて、前記ドライブ装置の故障の予兆を判定することを特徴とする。
【発明の効果】
【0008】
本発明によれば、ストレージシステムにおけるドライブ装置の故障の予兆をより正確に検出できる。
【図面の簡単な説明】
【0009】
【
図1】実施形態1に係るストレージシステム及び学習モデル生成装置の構成を示す図。
【
図2】実施形態1に係る学習モデル管理テーブルの構成を示す図。
【
図3】実施形態1に係る学習モデルプールの構成を示す図。
【
図4】実施形態1に係る故障予兆判定結果テーブルの構成を示す図。
【
図5】実施形態1に係る応答性能測定IOパターンテーブルの構成を示す図。
【
図6】実施形態1に係るドライブ装置応答性能データテーブルの構成を示す図。
【
図7】実施形態1に係る制御装置の構成及び処理を示す図。
【
図8】実施形態1に係る学習モデル生成装置の構成及び処理を示す図。
【
図9】実施形態1に係るドライブ装置故障予兆判定処理を示すフローチャート。
【
図10】実施形態1に係る学習モデル生成処理を示すフローチャート。
【
図11A】リードコマンドとライトコマンドの1コマンドあたりの転送ブロック長を同一として取得した教師データのみを学習した学習モデル(比較例)の性能評価結果を説明するための図。
【
図11B】リードコマンドとライトコマンドの1コマンドあたりの転送ブロック長を異ならせて取得した教師データを含めて学習した学習モデル(実施形態1)の性能評価結果を説明するための図。
【
図12】正常なドライブ装置に対して、アイドリング期間を挿入していないリードコマンド及びライトコマンドと、アイドリング期間を挿入したリードコマンド及びライトコマンドと、を送信して取得した実際の応答性能を説明するための図。
【
図13】実施形態2に係る制御装置の構成及び処理を示す図。
【
図14】実施形態2に係る学習モデル生成装置の構成及び処理を示す図。
【発明を実施するための形態】
【0010】
実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また、実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0011】
以下の説明において各処理機能部を実現するプログラムは、プロセッサによって実行されることで、定められた処理を、適宜に記憶資源(例えば、メモリ)及び/又は通信インターフェースデバイス(例えば、ポート)を用いながら処理を行う。プロセッサは、例えばCPU(Central Processing Unit)である。このため、各処理機能部によって実行される処理は、プロセッサ又はそのプロセッサを有する計算機が行う処理としてもよい。
【0012】
以下の説明では、各種情報をテーブル形式で表すが、情報はテーブル形式に限らずCSV(Comma Separated Values)やその他の形式でもよい。各種情報は、データ形式に依存しないため、例えば「XXXテーブル」を「XXX情報」と呼ぶことができる。
【0013】
また各種情報における項目のうち、該当のレコードを他のレコードと区別するための情報を項目名に含む項目の「識別情報」「ID」「名」等の呼称は、相互に置き換えてもよい。例えば「ユーザID」を「ユーザ識別情報」と置き換えてもよい。
【0014】
[実施形態1]
(ストレージシステムS及び学習モデル生成装置4の構成)
図1は、実施形態1に係るストレージシステムS及び学習モデル生成装置4の構成を示す図である。
【0015】
ストレージシステムSは、制御装置1、ドライブ接続部2、及び1又は複数のドライブ装置3を有する。
【0016】
ドライブ接続部2は、制御装置1と複数のドライブ装置3を接続する。ドライブ接続部2は、PCIe Switch、SAS Expander等であるが、省略されてもよい。すなわちドライブ装置3が制御装置1のプロセッサ11に直結される構成でもよい。
【0017】
(制御装置1の構成)
制御装置1は、
図1に示すように、プロセッサ11、メモリ12、内部ストレージ13、及びIO(Input Output)ユニット14を有する。
【0018】
プロセッサ11は、メモリ12との協働によるプログラムの実行によって稼働情報取得部111、特徴量生成部112、故障予兆判定部113、及び学習モデル選択部114を実現する。
【0019】
メモリ12は、DRAM(Dynamic Random Access Memory)等の記憶装置であり、現在選択されている学習モデル132Mが格納されている。
【0020】
内部ストレージ13は、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の不揮発性の記憶装置である。内部ストレージ13は、学習モデル管理テーブル131(
図2)、学習モデルプール132(
図3)、及び故障予兆判定結果テーブル133(
図4)を格納する。
【0021】
(学習モデル管理テーブル131の構成)
図2は、実施形態1に係る学習モデル管理テーブル131の構成を示す図である。学習モデル管理テーブル131は、ドライブ装置3のドライブ種別及び容量の区分毎の学習モデル132M(
図3)を管理するテーブルであり、「ドライブ種別」「容量」「学習モデル番号」の列を有する。「ドライブ種別」は、ドライブ装置3の型番等の機種を特定する情報である。「容量」は、ドライブ装置3の記憶容量である。「学習モデル番号」は、学習モデル132Mの識別情報である。
【0022】
(学習モデルプール132の構成)
図3は、実施形態1に係る学習モデルプール132の構成を示す図である。学習モデルプール132は、ドライブ装置3のドライブ種別及び容量の区分毎の学習モデル132Mを管理するテーブルであり、「学習モデル番号」「モデルパラメータ」の列を有する。「学習モデル番号」は、学習モデル管理テーブル131の「学習モデル番号」と同様である。「モデルパラメータ」は、「学習モデル番号」で識別される学習モデル132Mのモデルパラメータである。
【0023】
(故障予兆判定結果テーブル133の構成)
図4は、実施形態1に係る故障予兆判定結果テーブル133の構成を示す図である。故障予兆判定結果テーブル133は、ドライブ装置3の故障予兆をドライブ装置3の稼働情報に基づいて判定した結果である。故障予兆判定結果テーブル133は、「ドライブ装置ID」「学習モデル番号」「コマンド情報」「評価閾値」「応答性能データの実測値」「故障予兆判定結果」の列を有する。
【0024】
「ドライブ装置ID」は、ドライブ装置3を識別する情報である。「学習モデル番号」は、故障予兆判定に用いられた学習モデル132Mを識別する情報である。「コマンド情報」は、該当の行に示される故障予兆判定に用いられたリードコマンド及びライトコマンドのそれぞれの転送ブロック長とコマンド数の情報である。
【0025】
「評価閾値」は、「学習モデル番号」の学習モデル132Mに対して「コマンド情報」に示すコマンドを入力して出力された、「ドライブ装置ID」のドライブ装置3の故障予兆を判定するためのドライブ装置3の応答性能データの閾値である。
【0026】
「応答性能データの実測値」は、「コマンド情報」に示すコマンドを該当のドライブ装置3へ実際に送信して測定されたドライブ装置3の応答性能データである。
【0027】
本実施形態では、応答性能は、ドライブ装置3の入出力コマンドに対する応答時間である。しかしこれに限らず、レイテンシ、IOPS(Input/Output operations Per Second)、スループット等でもよい。
【0028】
ドライブ装置3の応答時間データもしくはレイテンシが、「評価閾値」を超過した場合にはドライブ装置3は故障予兆があると判定され、「評価閾値」以下の場合にはドライブ装置3の故障予兆はないと判定される。あるいはドライブ装置3のIOPSもしくはスループットが、「評価閾値」未満の場合にはドライブ装置3は故障予兆があると判定され、「評価閾値」以上の場合にはドライブ装置3の故障予兆はないと判定される。
【0029】
「故障予兆判定結果」は、ドライブ装置3の故障予兆があると判定された場合に“1”、故障の予兆はないと判定された場合に“0”が格納される。
【0030】
図1の説明に戻る。IOユニット14は、Fiber ChannelやiSCSI、NVMe over fabric等をサポートするインターフェイスである。IOユニット14は、フロントエンドネットワークN1を介して、ホスト5との間で、ストレージシステムSに対する入出力コマンドと入出力コマンドに対するホスト5への応答を送受信する。
【0031】
(学習モデル生成装置4の構成)
学習モデル生成装置4は、
図1に示すように、プロセッサ41、メモリ42、及び内部ストレージ43を有する。学習モデル生成装置4は、ネットワーク(不図示)と接続して通信を行うための通信インターフェイス(不図示)や、半導体記憶媒体や磁気記憶媒体へのデータ書込みとデータ読出しを行う媒体読書装置(不図示)を有してもよい。
【0032】
プロセッサ41は、DRAM等の記憶装置であるメモリ42との協働によるプログラムの実行によって稼働情報取得部411、特徴量生成部412、及び学習モデル生成部413を実現する。稼働情報取得部411は、例えば測定用ドライブ装置3Aの応答性能を測定可能なベンチマークソフトによって実現される。
【0033】
内部ストレージ43は、HDDやSSD等の不揮発性の記憶装置であり、応答性能測定IOパターンテーブル431(
図5)及びドライブ装置応答性能データテーブル432(
図6)を格納する。
【0034】
(応答性能測定IOパターンテーブル431の構成)
図5は、実施形態1に係る応答性能測定IOパターンテーブル431の構成を示す図である。応答性能測定IOパターンテーブル431は、学習モデル132Mを学習するために教師データを生成する際に、学習モデル生成装置4に接続された1台の測定用ドライブ装置3Aに対して送信されるIOコマンドのパターンを列挙したリストである。測定用ドライブ装置3Aは、ドライブ装置3とドライブ種別及び容量の区分が同様であるが、応答性能の測定のために1台の測定用ドライブ装置3Aのみが学習モデル生成装置4に接続される。
【0035】
応答性能測定IOパターンテーブル431は、「番号」「IOパターン」の列を有する。「番号」は、IOパターンの識別情報である。「IOパターン」は、リードコマンド及びライトコマンドのそれぞれの転送ブロック長とコマンド送信回数の比率を含む。IOパターンには、リードコマンドとライトコマンドで転送ブロック長が同一のものと異なるものが含まれる。またIOパターンには、リードコマンドとライトコマンドでコマンド送信回数が同一のものと異なるものが含まれる。
【0036】
図5において例えば「番号」“2”の「IOパターン」は、“ランダムパターンの転送ブロック長が512KBのライトコマンドを75%だけ測定用ドライブ装置3Aへ送信する”ことを示す。また「番号」“2”の「IOパターン」は、“ランダムパターンの転送ブロック長が512KBのリードコマンドを25%だけ測定用ドライブ装置3Aへ送信する”ことを示す。“ライトコマンドを75%、リードコマンドを25%”のIOパターンは、例えば規定送信回数が合計1000回のコマンド送信であれば、ライトコマンドを750回送信し、リードコマンドを250回送信することを示す。
【0037】
(ドライブ装置応答性能データテーブル432の構成)
図6は、実施形態1に係るドライブ装置応答性能データテーブル432の構成を示す図である。ドライブ装置応答性能データテーブル432は、学習モデル132Mの教師データを生成する際に、測定用ドライブ装置3Aに対して送信されたIOパターンに対する測定用ドライブ装置3Aの応答性能データを対応付けて列挙したリストである。
【0038】
ドライブ装置応答性能データテーブル432は、「番号」「IOパターン」「応答性能データ」の列を有する。「番号」は、IOパターンの識別情報である。「IOパターン」は、応答性能測定IOパターンテーブル431において「番号」に対応する「IOパターン」である。「応答性能データ」は、該当の「IOパターン」の入出力コマンドを測定用ドライブ装置3Aへ送信した際に実際に測定された応答性能のデータの実測値である。
【0039】
図6において例えば「番号」“2”の「IOパターン」の入出力コマンドを測定用ドライブ装置3Aへ送信した際に測定された際の「応答性能データ」は、“最小110ms、平均160ms、最大210ms”である。すなわちライトコマンドとリードコマンドの送信回数の比率が75:25=3:1の「IOパターン」である場合、この複数回のコマンド送信に対する応答時間は、最小値が110ミリ秒、平均値が160ミリ秒、最大値が210ミリ秒である。後述の評価閾値として、複数のコマンド送信に対する応答性能を示す複数の応答性能データの各種統計値(本実施形態では一例として最小値、平均値、最大値)を採用することができる。
【0040】
図示を省略しているが、ドライブ装置応答性能データテーブル432には、「IOパターン」と共に対応するリード転送ブロック長、ライト転送ブロック長、リード・ライトコマンド数、及びドライブ種別・容量等を含む稼働情報が格納されている。
【0041】
(実施形態1に係る制御装置1の構成及び処理)
図7は、実施形態1に係る制御装置1の構成及び処理を示す図である。
図1及び
図7を参照しつつ、ドライブ装置3の故障予兆判定処理を説明する。
【0042】
制御装置1の稼働情報取得部111は、配下にあるドライブ装置3の稼働情報を、一定周期で(例えば3分毎に)取得する。稼働情報(稼働ログ)には、例えばホスト5から発行されたリードコマンド及びライトコマンドに係る転送ブロック長等が含まれる。
【0043】
稼働情報取得部111は、取得した稼働情報のうちのリード転送ブロック長111a、ライト転送ブロック長111b、及びリード・ライトコマンド数111cを特徴量生成部112へ入力する。また稼働情報取得部111は、取得した稼働情報のうちのドライブ種別・容量111dを学習モデル選択部114へ入力する。また稼働情報取得部111は、応答性能データ111eを故障予兆判定部113へ入力する。
【0044】
学習モデル選択部114は、入力されたドライブ種別・容量111dに応じた学習モデル132Mを学習モデルプール132から選択してメモリ12へ展開する。
【0045】
特徴量生成部112は、入力されたリード転送ブロック長111a、ライト転送ブロック長111b、及びリード・ライトコマンド数111cのそれぞれの特徴量を生成し、学習モデル132Mへ入力する。
【0046】
学習モデル132Mは、入力されたリード転送ブロック長111a、ライト転送ブロック長111b、及びリード・ライトコマンド数111cのそれぞれの特徴量に対して、応答性能データ111eの評価閾値を出力する。評価閾値は、故障予兆判定部113へ入力される。
【0047】
故障予兆判定部113は、入力された応答性能データ111eと、この応答性能データ111eの評価閾値とを比較する。故障予兆判定部113は、応答性能データ111eが評価閾値を超過している場合に、ドライブ装置3は故障の予兆があり、予め定めた近い将来に該当のドライブ装置3に故障が発生する可能性があると判定する。
【0048】
なお学習モデル132Mは、入力された稼働情報の特徴量と、応答性能データを入力とし、この応答性能データが故障予兆に該当するか(NG)、該当しないか(OK)の判定結果を出力してもよい。この場合故、障予兆判定部113は、学習モデル132Mの判定結果を、ドライブ装置3の故障予兆の判定結果として出力する。
【0049】
(実施形態1に係る学習モデル生成装置4の構成及び処理)
図8は、実施形態1に係る学習モデル生成装置4においての構成及び処理を示す図である。
図1及び
図8を参照しつつ、学習モデル生成処理を説明する。
【0050】
学習モデル生成装置4の稼働情報取得部411は、ユーザによって学習モデル132Mの学習開始が指示されると、ベンチマークソフトを起動して、次の処理を実行する。すなわち稼働情報取得部411は、応答性能測定IOパターンテーブル431に格納されているIOパターンの転送ブロック長が異なるリードコマンド及びライトコマンドを順次測定用ドライブ装置3Aへそれぞれ第1の送信期間にわたって送信する。そして稼働情報取得部411は、IOパターン毎に測定用ドライブ装置3Aの稼働情報を取得する。第1の送信期間は、10分未満の分単位の比較的短い時間(例えば5分)である。
【0051】
稼働情報取得部411が取得する稼働情報の項目は、ストレージシステムSの制御装置1の稼働情報取得部111が取得する稼働情報と同様である。稼働情報取得部411は、IOパターン毎に規定送信回数だけライトコマンド及びリードコマンドを送信する。稼働情報取得部411は、ライトコマンド及びリードコマンドに対する測定用ドライブ装置3Aの稼働情報を取得する。稼働情報取得部411は、IOパターン毎に、第1の送信期間にわたって送信したライトコマンド及びリードコマンドに対する応答性能データの最大値、最小値、平均値といった統計値を算出してドライブ装置応答性能データテーブル432に格納する。
【0052】
稼働情報取得部411は、ドライブ装置応答性能データテーブル432に格納されているIOパターン毎の稼働情報を特徴量生成部412へ入力する。ここで特徴量生成部412へ入力される稼働情報は、リード転送ブロック長411a、ライト転送ブロック長411b、及びリード・ライトコマンド数411cである。また稼働情報取得部411は、測定用ドライブ装置3Aのドライブ種別・容量411dと応答性能データ411eを、学習モデル生成部413へ入力する。
【0053】
特徴量生成部412は、入力されたIOパターン毎のリード転送ブロック長411a、ライト転送ブロック長411b、及びリード・ライトコマンド数411cの特徴量を生成し、学習モデル生成部413へ入力する。
【0054】
学習モデル生成部413は、入力されたドライブ種別・容量411d毎に、IOパターン毎のリード転送ブロック長411a、ライト転送ブロック長411b、及びリード・ライトコマンド数411cの特徴量と応答性能データ411eを学習する。そして学習モデル生成部413は、ドライブ種別・容量毎に、リード転送ブロック長、ライト転送ブロック長、及びリード・ライトコマンド数の特徴量を入力とし応答性能データの評価閾値を出力する学習モデル132Mを生成する。学習モデル生成部413は、生成した学習モデル132Mを学習モデルプール132へ格納する。
【0055】
(実施形態1に係るドライブ故障予兆判定処理)
図9は、実施形態1に係るドライブ故障予兆判定処理を示すフローチャートである。実施形態1に係るドライブ故障予兆判定処理は、ストレージシステムSの制御装置1によって一定周期で(例えば3分毎に)実行される。またドライブ故障予兆判定処理の実行時には、制御装置1の配下に接続されているドライブ装置3の各ドライブ種別及び容量毎の学習モデル132Mが学習モデルプール132に格納されているものとする。
【0056】
先ずステップS11では、制御装置1の稼働情報取得部111は、ドライブ装置3の稼働情報を取得する。
【0057】
次にステップS12では、制御装置1は、ステップS11で取得した稼働情報がストレージシステムSの応答遅延が発生したことを示すかを判定する。制御装置1は、稼働情報がストレージシステムSの応答遅延が発生したことを示す場合(ステップS12YES)にステップS13へ処理を移す。一方制御装置1は、稼働情報がストレージシステムSの応答遅延以外が発生したことを示す場合(ステップS12NO)にドライブ故障予兆判定処理を終了する。
【0058】
ステップS13では、制御装置1は、ステップS11で取得した稼働情報が応答遅延の発生原因がドライブ装置3であることを示すかを判定する。制御装置1は、稼働情報が応答遅延の発生原因がドライブ装置3であることを示す場合(ステップS13YES)にステップS14へ処理を移す。一方制御装置1は、稼働情報が応答遅延の発生原因がドライブ装置3以外であることを示す場合(ステップS13NO)にドライブ故障予兆判定処理を終了する。
【0059】
ステップS14では、制御装置1の特徴量生成部112は、ステップS11で取得した稼働情報に含まれるリード転送ブロック長、ライト転送ブロック長、及びリード・ライトコマンド数のそれぞれの特徴量を生成し、学習モデル132Mへ入力する。
【0060】
次にステップS15では、学習モデル選択部114は、ステップS11で取得した稼働情報の出力元であるドライブ故障予兆判定対象のドライブ装置3のドライブ種別及び容量に対応する学習モデル132Mを選択しメモリ12へ展開する。ドライブ故障予兆判定対象のドライブ装置3のドライブ種別及び容量に対応する学習モデル132Mが既にメモリ12へ展開済みの場合は、ステップS15は省略される。
【0061】
次にステップS16では、故障予兆判定部113は、学習モデル132Mに対してステップS14で生成した特徴量を入力し、学習モデル132Mから出力された応答性能データの評価閾値を取得する。
【0062】
次にステップS17では、故障予兆判定部113は、ステップS11で取得した稼働情報に含まれる応答性能データの実測値が、ステップS116で取得した応答性能データの評価閾値を超過したドライブ装置3が存在するかを判定する。故障予兆判定部113は、応答性能データの評価閾値を超過したドライブ装置3が存在する場合(ステップS17YES)にステップS18へ処理を移す。一方故障予兆判定部113は、応答性能データの評価閾値を超過したドライブ装置3が存在しない場合(ステップS17NO)にドライブ故障予兆判定処理を終了する。
【0063】
ステップS18では、故障予兆判定部113は、ステップS17で応答性能データの評価閾値を超過されたと判定したドライブ装置IDのドライブ装置3のデータをスペアのドライブ装置3へコピーする。もしくは制御装置1は、故障予兆の報知を、該当の稼働情報と共にストレージシステムSの管理端末(不図示)等へ出力する。ドライブ装置3の故障予兆を通知された管理端末等を操作するオペレータは、該当のドライブ装置IDのドライブ装置3の交換を保守要員に対して指示する。
【0064】
(実施形態1に係る学習モデル生成処理)
図10は、実施形態1に係る学習モデル生成処理を示すフローチャートである。学習モデル生成処理の実行時には、ドライブ種別及び容量毎のドライブ装置応答性能データテーブル432が生成されているとする。
【0065】
先ずステップS21では、学習モデル生成装置4の稼働情報取得部411は、ドライブ装置応答性能データテーブル432からリードコマンド及びライトコマンドの転送ブロック長とリード/ライトコマンド数等の稼働情報を取得する。
【0066】
次にステップS22では、学習モデル生成装置4の特徴量生成部412は、ステップS21で取得した稼働情報から特徴量を生成する。
【0067】
次にステップS23では、学習モデル生成装置4は、ステップS22で生成した特徴量から説明変数を生成する。
【0068】
次にステップS24では、稼働情報取得部411は、ドライブ装置応答性能データテーブル432から応答性能データの実測値を取得する。次にステップS25では、特徴量生成部412は、ステップS21で取得した応答性能データの実測値から目的変数を生成する。
【0069】
次にステップS26では、学習モデル生成装置4の学習モデル生成部413は、ステップS23で生成した説明変数と、ステップS25で生成した対応する目的変数と、を紐付けた教師データを学習して学習モデル132Mを生成する。学習モデル132Mは、説明変数と目的変数とを含んだ教師データの学習を実行済みとなる。
【0070】
なおステップS21~S23と、ステップS24~S25は、処理順序を入替えたり、並列に処理したりしてもよい。
【0071】
(実施形態1の効果)
実施形態1では、学習モデル132Mに対してドライブ装置3の稼働情報に含まれるライトコマンド及びリードコマンドに関する所定の情報を入力し、学習モデル132Mによる応答性能に係る出力に基づいてドライブ装置3の故障予兆を判定する。
【0072】
よって実施形態1によれば、ライトコマンド及びリードコマンドのパターンの違いに基づいて、ストレージシステムSにおけるドライブ装置3の故障予兆をより正確に検出できる。
【0073】
また実施形態1では、学習モデル132Mは、説明変数と目的変数とを含んだ教師データの学習を実行済みである。説明変数は、リードコマンド及びライトコマンドの転送ブロック長とコマンド数から生成されたものである。目的変数は、第1転送ブロック長のリードコマンドを第1コマンド数だけ、第2転送ブロック長のライトコマンドを第2コマンド数だけ測定用ドライブ装置3Aへ送信して測定された測定用ドライブ装置3Aの応答性能データから生成されたものである。応答性能データは、リードコマンド及びライトコマンドの実行に対する測定用ドライブ装置3Aの応答時間、IOPS、レイテンシ、又はスループットである。
【0074】
よって実施形態1によれば、リードコマンド及びライトコマンドの転送ブロック長とコマンド数と、応答性能データとのパターンの違いに基づいて、ストレージシステムSにおけるドライブ装置3の故障予兆をより正確に検出できる。
【0075】
また実施形態1では、学習モデル132Mは、転送ブロック長が異なるリードコマンド及びライトコマンドに対して測定された応答性能データを教師データとする学習が実行済みである。
【0076】
よって実施形態1によれば、リードコマンド及びライトコマンドのコマンド数の割合や負荷だけでなく、1コマンドあたりの転送ブロック長を異ならせて取得した教師データの学習モデルを用いて、ドライブ装置3の故障予兆をより正確に検出できる。
【0077】
また実施形態1では、学習モデル132Mは応答性能データの統計値に基づく評価閾値を出力し、評価閾値と、コマンドが実行された際の応答性能の実測値と、の比較に基づいて、ドライブ装置3の故障予兆が判定される。
【0078】
よって実施形態1によれば、学習モデル132Mによって出力された、統計処理された客観的な評価閾値に基づいて、ドライブ装置3の故障予兆の判定を統計的な観点から、より正確に実施することができる。
【0079】
また実施形態1では、ドライブ装置3のドライブ種別及び容量に対応する学習モデル132Mを選択し、選択した学習モデル132Mを用いて、ドライブ装置3の故障予兆が判定される。
【0080】
同一のパリティグループでワークロードが同一であっても、ドライブ装置の機種が異なると応答性能が顕著に異なる場合がある。このため、ドライブ種別及び容量を考慮せず学習モデルを生成し、故障予兆の判定を行うと、ドライブ装置の故障予兆を正確に検出できず、正常であるにも関わらず誤ってドライブ装置を閉塞されることがあった。これに対して実施形態1によれば、ドライブ種別及び容量の違いに基づいて、ドライブ装置3の故障予兆をより正確に検出できる。
【0081】
ここで、リードコマンドとライトコマンドの転送ブロック長を異ならせて取得した教師データを含めて学習することで、ドライブ装置の応答性能の遅延を判定するより良い学習モデルが構築される点について説明する。
【0082】
図11Aは、リードコマンドとライトコマンドの1コマンドあたりの転送ブロック長を同一として取得した教師データのみを学習した学習モデル(比較例)の性能評価結果を説明するための図である。
図11Bは、リードコマンドとライトコマンドの1コマンドあたりの転送ブロック長を異ならせて取得した教師データを含めて学習した学習モデル(実施形態1)の性能評価結果を説明するための図である。
図11A及び
図11Bは、学習モデル(比較例)と学習モデル(実施形態1)を用いて、ドライブ装置の応答性能を実際に判定した結果である。
【0083】
図11A及び
図11Bでは、第1軸に“Write BLK”(ライトデータの転送ブロック長)、第2軸に“Read BLK”(リードデータの転送ブロック長)、第3軸に“Average Latency”(平均応答遅延時間)をそれぞれ取った3次元空間に、“Write BLK”と“Read BLK”の各組合せに対応する“Average Latency”の判定閾値を“○”でプロットしている。また
図11A及び
図11Bでは、この3次元空間に、応答遅延が発生していない正常なドライブ装置の応答性能を“×”でプロットしている。第1軸及び第2軸は、所定ブロック長(例えば400ブロック)を1.0(基準)とし、基準に対する比率でライトデータ及びリードデータの各ブロック長を表している。
【0084】
例えば“Write BLK”が1.0、“Read BLK”が0.0~0.2程度の転送ブロック長の場合、
図11Aの図中の丸印で囲んだ部分に示すように、比較例では“×”のプロットで示す正常なドライブ装置の応答性能が“○”のプロットで示す応答遅延の判定閾値を超過している。すなわち正常なドライブ装置の応答性能を、応答遅延が発生しているとして誤検出している。
【0085】
一方“Write BLK”が1.0、“Read BLK”が0.0~0.2程度の転送ブロック長の場合、
図11Bの図中の丸印で囲んだ部分に示すように、実施形態1では“×”のプロットで示す正常なドライブ装置の応答性能が“○”のプロットで示す応答遅延の判定閾値を下回っている。すなわち正常なドライブ装置の応答性能を、応答遅延が発生していると誤検出していない。
【0086】
すなわち
図11A及び
図11Bによれば、学習モデル(実施形態1)は、学習モデル(比較例)と比較すると、応答遅延の判定閾値が適切に設定された、ドライブ装置の応答性能の遅延を判定するより良い学習モデルであることが分かる。
【0087】
(実施形態1の変形例)
上述の実施形態1では、学習モデル132Mの生成の際に、転送ブロック長が異なるリードコマンド及びライトコマンドを順次測定用ドライブ装置3Aへそれぞれ第1の送信期間にわたって送信し、稼働情報を取得するとした。しかしこれに限らず、測定用ドライブ装置3Aへ送信するリードコマンド及びライトコマンドの転送ブロック長が異なるか否かに関わらず、アイドリング期間が定期的に設けられたリードコマンド及びライトコマンドを送信してもよい。
【0088】
アイドリング期間とは、測定用ドライブ装置3Aに対して負荷をかけない例えば2秒といった30秒未満の期間である。“アイドリング期間が定期的に設けられたリードコマンド及びライトコマンド”とは、例えば30秒間隔で2秒のアイドリング期間が設けられているリードコマンド及びライトコマンドである。
【0089】
アイドリング期間が定期的に設けられたリードコマンド及びライトコマンドを測定用ドライブ装置3Aへ連続して印加することで、アイドリング期間がない場合と比較して、ドライブ装置の性能劣化がより顕著に稼働情報に顕れるという知見がある。よってアイドリング期間が設けられたリードコマンド及びライトコマンドを連続的に印加して取得した測定用ドライブ装置3Aの稼働情報を教師データとすることで、故障予兆の判定をより正確にできる学習モデル132Mを学習することができる。
【0090】
また上述の実施形態1における学習モデル132Mの生成のための教師データとなる稼働情報の取得に際し、アイドリング期間の有無に関わらず、リードコマンド及びライトコマンドの送信期間を、第1の送信期間に代えて第2の送信期間としてもよい。第2の送信期間は、例えば1万秒以上の万秒単位の期間である。第2の送信期間にわたる長時間の応答性能の測定によって取得された稼働情報に基づく教師データを用いることで、ドライブ装置の応答性能の短時間の揺らぎを吸収して、故障予兆の判定をより正確にできる学習モデル132Mを学習することができる。
【0091】
すなわち学習モデル132Mの教師データは、次の第1の応答性能データ、第2の応答性能データ、第3の応答性能データ、及び第4の応答性能データの少なくとも何れかの応答性能データを含む。
【0092】
第1の応答性能データは、転送ブロック長が異なるリードコマンド及びライトコマンドが測定用ドライブ装置3Aへ送信され測定された応答性能データである。第2の応答性能データは、アイドリング期間が定期的に設けられたリードコマンド及びライトコマンドが測定用ドライブ装置3Aへ送信され測定された応答性能データである。第3の応答データは、転送ブロック長が異なるリードコマンド及びライトコマンドが所定時間にわたって測定用ドライブ装置3Aへ継続して送信され測定された応答性能データである。第4の応答データは、アイドリング期間が定期的に設けられたリードコマンド及びライトコマンドが所定時間にわたって測定用ドライブ装置3Aへ継続して送信され測定された応答性能データである。
【0093】
ここで、ドライブ装置に定期的に負荷をかけないアイドリング期間をリードコマンド及びライトコマンドに挿入して取得した教師データを含めて学習することで、ドライブ装置の応答性能の遅延を判定するより良い学習モデルが構築される点について説明する。アイドリング期間を以下“Idle”と称す。
図12は、正常なドライブ装置に対して、アイドリング期間を挿入していないリードコマンド及びライトコマンドと、アイドリング期間を挿入したリードコマンド及びライトコマンドと、を送信して取得した実際の応答性能を説明するための図である。
図12では、横軸を“経過時間(sec)”、縦軸を“Latency(応答時間)”としている。
【0094】
アイドリング期間を挿入していないリードコマンド及びライトコマンドに対するドライブ装置の応答性能は、
図12中の“Idleなし”の破線のグラフで示される。またアイドリング期間を挿入したリードコマンド及びライトコマンドに対するドライブ装置の応答性能は、
図12中の“Idleあり”の実線のグラフで示される。
【0095】
図12に示されるように、正常なドライブ装置の“Latency”は、リードコマンド及びライトコマンドにIdleが挿入されているか否かによって大きく異なる。すなわち正常なドライブ装置の応答性能は、リードコマンド及びライトコマンドにIdleが挿入されることによって、より遅延が大きくなる。このことは、ドライブ装置の応答性能の低下を精度よく判定するためには、リードコマンド及びライトコマンドにIdleを挿入して取得された教師データを含めて学習された学習モデルを用いることが重要であることを裏付ける。すなわちリードコマンド及びライトコマンドにIdleを挿入して取得された教師データを含めて学習することで、ドライブ装置の応答性能の遅延を判定するより良い学習モデルが構築され得ることが分かる。
【0096】
また
図12に示されるように、ドライブ装置の応答性能は、短時間では変動が大きい。このためドライブ装置の応答性能の遅延を判定する学習モデルは、短時間の変動を除外するために一定以上の長時間にわたって測定された応答性能のデータを教師データとして用いて学習されることが適切であることが分かる。
【0097】
また少なくとも30秒以下のIdleが30秒間隔で挿入されると、Idleがなく連続でリードコマンド及びライトコマンドを印加した場合と比べて応答遅延が大きくなるという知見がある。この知見から、ドライブ装置の応答性能の遅延を判定する学習モデルを学習するための教師データを取得する際のリードコマンド及びライトコマンドへのIdleの適切な挿入方法の一例が与えられる。
【0098】
[実施形態2]
実施形態1では、稼働情報に含まれるリード転送ブロック長、ライト転送ブロック長、リード/ライトコマンド数、及び応答性能データに基づいて生成した学習モデル132Mを用いて、ドライブ装置3の故障予兆判定を行うとした。
【0099】
しかしこれに限らず、リード転送ブロック長、ライト転送ブロック長、リード/ライトコマンド数、及び応答性能データ以外の稼働情報に基づいて学習モデル132Mを生成し、ドライブ装置3の故障予兆判定を行ってもよい。
【0100】
(実施形態2に係る制御装置1Bの構成及び処理)
図13は、実施形態2に係る制御装置1Bの構成及び処理を示す図である。
【0101】
実施形態2に係る制御装置1Bの稼働情報取得部111Bが取得する稼働情報は、実施形態1に係る制御装置1の稼働情報取得部111が取得する稼働情報と比較して、次の稼働情報がさらに含まれる点が異なる。すなわち温度情報111f、エラー件数111g、タイムスタンプ111h、総ライト量111i、総リード量111j、使用可能スペア領域111k、及びアイドル時間111l等がさらに含まれる。これらの稼働情報は、例えばドライブ装置3のS.M.A.R.T.(Self-Monitoring Analysis and Reporting Technology)情報等の性能統計情報である。
【0102】
温度情報111fは、ドライブ装置3の装置温度である。エラー件数111gは、該当のライトコマンド又はリードコマンド実行時におけるエラー発生件数である。タイムスタンプ111hは、ドライブ装置3において該当のライトコマンド及びリードコマンドの実行日時である。総ライト量111iは、該当のライトコマンドの実行による総書込み容量である。総リード量111jは、該当のリードコマンドの実行による総読出し容量である。使用可能スペア領域111kは、該当のライトコマンド又はリードコマンド実行時におけるドライブ装置3の空き容量である。アイドル時間111lは、該当のライトコマンド又はリードコマンドに挿入されたアイドリング期間の長さ(例えば2秒)と挿入間隔(例えば30秒間隔)である。
【0103】
すなわち実施形態2では、学習モデル132MBは、実施形態1の稼働情報と比較して性能統計情報が追加された稼働情報の特徴量を説明変数とする教師データを学習した学習モデルである。また実施形態2では、実施形態1の稼働情報と比較して性能統計情報が追加された稼働情報の特徴量が学習モデル132MBへ入力され、この稼働情報の特徴量に対して応答性能データ111eの評価閾値が出力される。
【0104】
(実施形態2に係る学習モデル生成装置4Bの構成及び処理)
図14は、実施形態2に係る学習モデル生成装置4Bの構成及び処理を示す図である。
【0105】
実施形態2に係る学習モデル生成装置4Bの稼働情報取得部411Bは、ユーザによって学習モデル132MBの学習開始が指示されると、ベンチマークソフトを起動して、測定用ドライブ装置3Aの稼働情報を取得する。
【0106】
ここで実施形態2に係る学習モデル生成装置4Bの稼働情報取得部411Bが取得する稼働情報は、実施形態1に係る稼働情報と比較して、次の稼働情報がさらに含まれる点が異なる。すなわち温度情報411f、エラー件数411g、タイムスタンプ411h、総ライト量411i、総リード量411j、使用可能スペア領域411k、及びアイドル時間411l等がさらに含まれる。これらの稼働情報は、制御装置1Bの稼働情報取得部111Bが取得する稼働情報と同様に、例えばドライブ装置3の性能統計情報である。
【0107】
温度情報411f、エラー件数411g、タイムスタンプ411h、総ライト量411i、総リード量411j、使用可能スペア領域411k、及びアイドル時間411lは、温度情報111f~アイドル時間111lのそれぞれと同様である。
【0108】
すなわち実施形態2では、学習モデル132MBは、実施形態1の稼働情報と比較して性能統計情報が追加された稼働情報の特徴量を説明変数とし、応答性能データを目的変数とする教師データを学習して生成される。
【0109】
(実施形態2の効果)
実施形態2では、ドライブ装置3の故障予兆判定に用いられる稼働情報及び学習モデル132Mの生成時に学習される教師データは、ドライブ装置のS.M.A.R.T.情報などの性能統計情報を含む。
【0110】
よって実施形態2では、リード転送ブロック長、ライト転送ブロック長、及びリード/ライトコマンド数以外のドライブ装置3の稼働情報に基づいて、ドライブ装置3の故障予兆をより正確に検出することができる。
【0111】
(実施形態1及び2の変形例)
実施形態1及び2では、稼働情報取得部411,411Bは、測定用ドライブ装置3Aの稼働情報を取得し、ドライブ装置応答性能データテーブル432に格納するとした。
【0112】
しかし測定用ドライブ装置3Aの稼働情報に限らず、
図14に示すように、多数の他者のドライブ装置3又は測定用ドライブ装置3Aの稼働情報をインターネットN2等の公衆網を介して収集する。そしてドライブ種別・容量毎に稼働情報を稼働情報データベース6に蓄積する。学習モデル生成部413,413Bは、稼働情報データベース6に蓄積されているドライブ種別・容量毎の多数の他者のドライブ装置3又は測定用ドライブ装置3Aの稼働情報に基づく教師データを学習して学習モデル132M,132MBを生成してもよい。
【0113】
このように多数の他者のドライブ装置3又は測定用ドライブ装置3Aの稼働情報をインターネットN2等の公衆網を介して大量に収集して学習することで、学習モデル132MBのモデル精度を向上させ、ドライブ装置3の故障予兆をより正確に検出できる。
【0114】
以上、本願開示に係る実施形態について詳述したが、本願開示は上述の実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、上述の実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また上述の実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0115】
また上述の各構成、機能部や処理部等は、それらの一部又は全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また上述の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやHDD、SSD等の記憶装置、ICカード、SDカード、DVD等の記録媒体に置くことができる。
【0116】
また上述の各図において、制御線や情報線は説明上必要と考えられるものを示しており、必ずしも実装上の全ての制御線や情報線を示しているとは限らない。例えば、実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【0117】
また上述したストレージシステムS、制御装置1,1B、及び学習モデル生成装置4,4Bの各機能及びデータの配置形態は一例に過ぎない。各機能及びデータの配置形態は、ハードウェアやソフトウェアの性能、処理効率、通信効率等の観点から最適な配置形態へ変更し得る。
【符号の説明】
【0118】
S:ストレージシステム、1,1B:制御装置、3:ドライブ装置、3A:測定用ドライブ装置、4,4B:学習モデル生成装置、5:ホスト、11,41:プロセッサ、111a,411a:リード転送ブロック長、111b,411b:ライト転送ブロック長、111c,411c:ライトコマンド数、111d,411d:ドライブ種別・容量、111e,411e:応答性能データ、132M,132MB:学習モデル。