JP6477320B2 - 記憶装置制御装置、記憶装置制御方法、および記憶装置制御プログラム - Google Patents

記憶装置制御装置、記憶装置制御方法、および記憶装置制御プログラム Download PDF

Info

Publication number
JP6477320B2
JP6477320B2 JP2015143119A JP2015143119A JP6477320B2 JP 6477320 B2 JP6477320 B2 JP 6477320B2 JP 2015143119 A JP2015143119 A JP 2015143119A JP 2015143119 A JP2015143119 A JP 2015143119A JP 6477320 B2 JP6477320 B2 JP 6477320B2
Authority
JP
Japan
Prior art keywords
storage device
storage
storage devices
hdd
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015143119A
Other languages
English (en)
Other versions
JP2017027215A (ja
Inventor
光 大島
光 大島
敏夫 安武
敏夫 安武
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015143119A priority Critical patent/JP6477320B2/ja
Priority to US15/208,024 priority patent/US9910750B2/en
Publication of JP2017027215A publication Critical patent/JP2017027215A/ja
Application granted granted Critical
Publication of JP6477320B2 publication Critical patent/JP6477320B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、記憶装置制御装置、記憶装置制御方法、および記憶装置制御プログラムに関する。
従来、複数の記憶装置を組み合わせて仮想的なディスクとして運用するRAID(Redundant Arrays of Inexpensive Disks)技術がある。また、RAIDレベルが1以上のディスクは冗長性を有しており、いくつかの記憶装置が故障しても他の記憶装置からデータを復元することができる。しかし、冗長性を失った上で、さらにもう1つ以上の記憶装置が故障した状態、いわゆるマルチデッドとなると、データを復元することができなくなる。また、記憶装置は、経年劣化による故障予測機能として、SMART(Self−Monitoring Analysis and Reporting Technology)機能を有することがある。
関連する先行技術として、例えば、複数のディスクのうちの1つのディスクに、冗長アレイの複数のディスクのうちの1つのディスクによる自己監視、分析、レポーティングテクノロジー(SMART)データを要求するものがある。また、データディスクおよびスペアディスクのSMART情報を入手しデータディスクのうち故障発生の可能性が高いデータディスクを予測し、故障発生の可能性が高いデータディスクのデータをスペアディスクへコピーする技術がある。
特表2008−509474号公報 特開2010−128773号公報
しかしながら、従来技術によれば、SMART機能を用いてマルチデッドの発生を予測して、マルチデッドを発生させる2以上の記憶装置を交換する際に、マルチデッドが発生する場合がある。具体的には、マルチデッドを発生させる2以上の記憶装置のうち、ある記憶装置を交換している間に、他の記憶装置が故障すると、マルチデッドが発生することになる。
1つの側面では、本発明は、マルチデッドの発生を抑制する2以上の記憶装置の各記憶装置の交換順序を決定できる記憶装置制御装置、記憶装置制御方法、および記憶装置制御プログラムを提供することを目的とする。
本発明の一側面によれば、RAIDグループを形成する複数の記憶装置の各記憶装置から、各記憶装置の記憶領域を分割した分割領域のうち代替処理を行った分割領域の数を含む状態情報を読み出し、読み出した各記憶装置の状態情報を参照して、複数の記憶装置から交換対象となる2以上の記憶装置があるか否かを判定し、2以上の記憶装置があると判定した場合、2以上の記憶装置の各記憶装置の状態情報に含まれる代替処理を行った分割領域の数の時系列変化に基づいて、2以上の記憶装置の各記憶装置の交換順序を決定する記憶装置制御装置、記憶装置制御方法、および記憶装置制御プログラムが提案される。
本発明の一態様によれば、マルチデッドの発生を抑制する2以上の記憶装置の各記憶装置の交換順序を決定できるという効果を奏する。
図1は、本実施の形態にかかる記憶装置制御装置101の動作例を示す説明図である。 図2は、RAIDシステム200の構成例を示す説明図である。 図3は、RAIDカード207の機能構成例を示す説明図である。 図4は、機能構成上での動作例を示す説明図(その1)である。 図5は、機能構成上での動作例を示す説明図(その2)である。 図6は、機能構成上での動作例を示す説明図(その3)である。 図7は、情報保存テーブル331の記憶内容の一例を示す説明図である。 図8は、監視処理手順の一例を示すフローチャートである。 図9は、SMART情報収集各種テーブル比較前処理手順の一例を示すフローチャートである。 図10は、変動時刻保存テーブル332の更新例を示す説明図である。 図11は、残存寿命テーブル333の更新例を示す説明図である。 図12は、早期交換係数テーブル更新処理手順の一例を示すフローチャートである。 図13は、早期交換係数テーブル334の更新例を示す説明図である。 図14は、更新前後の残存寿命テーブル333の記憶内容の一例を示す説明図である。 図15は、代替処理済のセクタの数の時系列変化の一例を示す説明図である。
以下に図面を参照して、開示の記憶装置制御装置、記憶装置制御方法、および記憶装置制御プログラムの実施の形態を詳細に説明する。
図1は、本実施の形態にかかる記憶装置制御装置101の動作例を示す説明図である。記憶装置制御装置101は、複数の記憶装置102を制御するコンピュータである。ここで、記憶装置は、データを記憶する装置である。例えば、記憶装置102は、HDD(Hard Disk Drive)やSSD(Solid State Drive)である。
また、記憶装置制御装置101は、RAID技術により複数の記憶装置102を組み合わせて仮想的なディスクを提供する。記憶装置制御装置101は、ハードウェアによりRAID技術を実現する装置でもよいし、ソフトウェアによりRAID技術を実現する装置でもよい。また、RAID技術には、仮想的なディスクの形成の仕方を表すRAIDレベルが存在する。ここで、本実施の形態では、RAID1以上のRAIDレベルを対象とする。また、RAID1+5というように、RAIDレベルを組み合わせたレベルを対象としてもよい。
RAID1以上のRAIDレベルにより形成された仮想的なディスクは冗長性を有しており、いくつかの記憶装置が故障しても他の記憶装置からデータを復元することができる。ここで、1つの仮想的なディスクを形成する記憶装置のグループを、RAIDグループと呼ぶ。例えば、同一のRAIDグループに含まれる2つの記憶装置から形成されるRAID1の仮想的なディスクでは、2つの記憶装置のうちのいずれか一方の記憶装置が故障しても、他方の記憶装置からデータを復元することができる。また、同一のRAIDグループに含まれる3つの記憶装置から形成されるRAID5の仮想的なディスクでは、3つの記憶装置のうちの1つの記憶装置が故障しても、残余の2つの記憶装置からデータを復元することができる。また、同一のRAIDグループに含まれる4つの記憶装置から形成されるRAID6の仮想的なディスクでは、4つの記憶装置のうちの2つの記憶装置が故障しても、残余の2つの記憶装置からデータを復元することができる。
しかしながら、RAID1、5であれば2つ以上、RAID6であれば3つ以上の記憶装置が同時に故障した状態、いわゆるマルチデッドとなると、データを復元することができなくなる。運用開始時期や劣化速度、RAID構成によってマルチデッドとなる確率は異なるが、マルチデッドが発生した場合、データ回復ができない。
例えば、マルチデッドの発生を抑制する方法として、SMART機能を用いてマルチデッドの発生を予測して、マルチデッドの発生前に、マルチデッドを発生させる2以上の記憶装置を交換することが考えられる。ここで、SMART機能は、記憶装置が有することがある経年劣化による故障予測機能である。例えば、SMART機能を有する記憶装置は、自身の装置の状態を示す状態情報の要求を送信すると、状態情報を要求元に送信する。以下、状態情報を、「SMART情報」と称する。
SMART情報には、例えば、記憶装置の記憶領域を分割した分割領域のうち代替処理を行った分割領域の数が含まれる。ここで、分割領域は、記憶領域における最小の記憶単位である。以下、分割領域を、「セクタ」と称する。セクタのサイズは、例えば、記憶装置がHDDであれば、512[バイト]や4096[バイト]である。また、代替処理とは、読み書きが行えなくなった不良セクタの代わりに、代替用のセクタを割り当てる処理である。
しかしながら、SMART機能を用いてマルチデッドの発生を予測して、マルチデッドの発生前にマルチデッドを発生させる2以上の記憶装置を交換する際、マルチデッドが発生する場合がある。例えば、SMART監視において、SMARTエラー通知を行う時期が重なった場合には、マルチデッドが発生するリスクがある。例えば、マルチデッドを発生させる2以上の記憶装置のうち、ある記憶装置を交換している間に、他の記憶装置が故障すると、マルチデッドが発生することになる。
そこで、本実施の形態では、SMART情報から2以上の記憶装置が故障すると判定した場合、代替処理済のセクタの数が急増した記憶装置から順に交換する交換順序を決定する方法について説明する。ここで、図1を用いて、記憶装置制御装置101の動作を説明する。記憶装置制御装置101は、複数の記憶装置102として、記憶装置102#0〜#3を1つのRAIDグループとして制御する。また、記憶装置制御装置101は、記憶装置102#0〜#3により、RAID5による仮想的なディスクを形成しているものとする。そして、記憶装置102#0〜#3は、SMART機能を有するものとする。なお、記憶装置102#0〜#3が、SMART機能とは別に、状態情報を送信する機能を有していれば、本実施の形態では、前述のSMART機能とは別の状態情報を送信する機能を用いてもよい。
まず、記憶装置制御装置101は、記憶装置102#0〜#3のそれぞれから、SMART情報111#0〜#3を読み出す。次に、記憶装置制御装置101は、読み出したSMART情報111#0〜#3を参照して、マルチデッドを発生させる可能性がある、交換対象となる2以上の記憶装置102があるか否かを判定する。例えば、記憶装置制御装置101は、SMART情報111に含まれる代替処理済のセクタの数が所定の閾値より多い記憶装置が2以上ある場合、交換対象となる2以上の記憶装置があると判定する。
また、記憶装置制御装置101は、SMART情報111に含まれる代替処理済のセクタの数以外の情報を参照して、交換対象となる2以上の記憶装置があるか否かを判定してもよい。具体的には、例えば、SMART情報111には、記憶装置102における代替可能なセクタの最大の数に対する代替可能なセクタの数の割合を示す未使用率と、記憶装置102の仕様に応じた未使用率に対する閾値を含む。
以下、未使用率を、SMART機能で呼称されている代替処理済のセクタの数(Reallocated Sectors Count)における現在の値(Value)、以下、単に、「現在の値」と呼称する。同様に、代替処理済のセクタの数を、SMART機能で呼称されている代替処理済のセクタの数における生の値(Raw)、以下、単に、「生の値」と呼称する。また、以下、単に、「閾値」と記載した場合には、SMART機能で呼称されている代替処理済のセクタの数における閾値(Threshold)のことを示す。
図1におけるグラフ112#0〜#3は、SMART情報111#0〜#3からそれぞれ得られた記憶装置102#0〜#3における現在の値と閾値との関係を示す。ここで、グラフ112#0〜#3内の棒グラフの長さが、現在の値の大きさを示す。また、記憶装置102#0〜#3における閾値は、図1に示すように、記憶装置102の仕様に応じた値であり、記憶装置102の製造元が独自に設定するものなので一様ではない。
そして、記憶装置制御装置101は、現在の値から閾値を減じた値に基づいて、交換対象となる2以上の記憶装置102があるか否かを判定する。ここで、現在の値から閾値を減じた値を、「残存寿命」と定義する。例えば、記憶装置制御装置101は、残存寿命が5[%]等の所定の閾値以下となる記憶装置102が2以上ある場合、交換対象となる2以上の記憶装置102があると判定する。
図1の例では、説明の簡略化のため、グラフ112#0〜#3内に、残存寿命を、「大」、「中」、「小」という3段階で示す。残存寿命のより詳細な例については、図11で示す。図1の例では、記憶装置102#0、#1の残存寿命が「小」であり、記憶装置102#2の残存寿命が「中」であり、記憶装置102#3の残存寿命が「大」である。従って、記憶装置制御装置101は、残存寿命が「小」である記憶装置102#0、#1を交換対象とし、交換対象となる2以上の記憶装置があると判定する。
次に、記憶装置制御装置101は、2以上の記憶装置があると判定した場合、2以上の記憶装置102のそれぞれのSMART情報111に含まれる生の値の時系列変化に基づいて、2以上の記憶装置102のそれぞれの交換順序を決定する。ここで、生の値の時系列変化に基づく理由としては、生の値が急増した記憶装置は、早く故障する可能性が高いという特徴があるためである。代替処理済のセクタの数の時系列変化の一例について、図15で示す。例えば、記憶装置制御装置101は、2以上の記憶装置102の生の値の直近の時間における変化量が大きい記憶装置から順に、2以上の記憶装置102のそれぞれの交換順序を決定する。
また、図1の例では、記憶装置制御装置101は、生の値が更新された時刻が新しい順に、2以上の記憶装置102のそれぞれの交換順序を決定する。図1で示す例では、記憶装置102#0の生の値の更新時刻が2015/03/03 14:30であり、記憶装置102#1の生の値の更新時刻が2015/02/21 21:15である。従って、記憶装置制御装置101は、生の値が更新された時刻が最新である記憶装置102#0の交換順序を1番目として決定し、記憶装置102#1の交換順序を2番目として決定する。これにより、記憶装置102の管理者が早く故障する可能性が高い記憶装置102#0から先に交換することになり、記憶装置制御装置101は、マルチデッドの発生を抑制することができる。次に、記憶装置制御装置101をRAIDカードに適用した例を、図2を用いて説明する。
図2は、RAIDシステム200の構成例を示す説明図である。図2において、RAIDシステム200は、CPU(Central Processing Unit)201と、ROM(Read−Only Memory)202と、RAM(Random Access Memory)203と、を含む。また、RAIDシステム200は、ディスクドライブ204およびディスク205と、通信インターフェース206と、RAIDカード207と、HDD#0〜#3とを含む。また、CPU201〜ディスクドライブ204、通信インターフェース206、RAIDカード207はバス211によってそれぞれ接続される。ここで、RAIDカード207は、図1で示した記憶装置制御装置101に相当する。また、HDD#0〜#3は、図1で示した記憶装置102に相当する。RAIDシステム200は、例えば、サーバや、パーソナル・コンピュータである。例えば、RAIDシステム200がサーバである場合、RAIDシステム200は、RAIDシステム200を利用する利用者に、HDD#0〜#3から形成された仮想的なディスクを提供する。
CPU201は、RAIDシステム200の全体の制御を司る演算処理装置である。また、RAIDシステム200は、複数のCPUを有してもよい。ROM202は、ブートプログラムなどのプログラムを記憶する不揮発性メモリである。RAM203は、CPU201のワークエリアとして使用される揮発性メモリである。
ディスクドライブ204は、CPU201の制御に従ってディスク205に対するデータのリードおよびライトを制御する制御装置である。ディスクドライブ204には、例えば、磁気ディスクドライブ、光ディスクドライブ、ソリッドステートドライブなどを採用することができる。ディスク205は、ディスクドライブ204の制御で書き込まれたデータを記憶する不揮発性メモリである。例えばディスクドライブ204が磁気ディスクドライブである場合、ディスク205には、磁気ディスクを採用することができる。また、ディスクドライブ204が光ディスクドライブである場合、ディスク205には、光ディスクを採用することができる。また、ディスクドライブ204がソリッドステートドライブである場合、ディスク205には、半導体素子によって形成された半導体メモリ、いわゆる半導体ディスクを採用することができる。
通信インターフェース206は、ネットワークと内部のインターフェースを司り、他の装置からのデータの入出力を制御する制御装置である。具体的に、通信インターフェース206は、通信回線を通じてネットワークを介して他の装置に接続される。通信インターフェース206には、例えば、モデムやLAN(Local Area Network)アダプタなどを採用することができる。
RAIDカード207は、RAID技術をハードウェアにより実現する装置である。具体的には、RAIDカード207は、HDD#0〜#3により仮想的なディスクを形成する。また、RAIDカード207は、パリティの計算を行う。RAIDカード207の機能構成については、図3で説明する。また、RAIDシステム200の管理者が、RAIDシステム200を直接操作する場合、RAIDシステム200は、ディスプレイ、キーボード、マウスといったハードウェアを有してもよい。
図3は、RAIDカード207の機能構成例を示す説明図である。RAIDカード207は、RAIDコントローラ301と、主記憶部302とを有する。RAIDコントローラ301は、RAIDカード207を制御する。RAIDコントローラ301は、RAID構成管理部311と、SMARTエラー監視部312と、SMART情報処理部313と、SMART情報比較部314と、残存寿命算出部315と、同時故障判定部316と、早期交換係数付加部317とを有する。RAID構成管理部311は、読出部318を含む。また、同時故障判定部316は、判定部319と決定部320とを含む。
また、主記憶部302は、RAID構成情報保存メモリ321と、RAID設定情報保存メモリ322と、SMART情報管理テーブル323とを有する。SMART情報管理テーブル323は、情報保存テーブル331A、331Bと、変動時刻保存テーブル332と、残存寿命テーブル333と、早期交換係数テーブル334とを有する。
RAID構成管理部311は、HDD#0〜#3のRAID構成管理および基本制御を行う。SMARTエラー監視部312は、HDD#0〜#3がSMARTエラーを発生していないかをRAID構成管理部311経由で定期的に監視する。SMART情報処理部313は、HDD#0〜#3の故障予知に用いる一部のSMART情報および一部のSMART情報111の閾値を、情報保存テーブル331A、Bに定期的に交互に保存する。SMART情報比較部314は、情報保存テーブル331A、Bのいずれか一方の更新時に、情報保存テーブル331A、Bを比較し、比較して得た差分と差分検出時の時刻とを変動時刻保存テーブル332に更新保存する。
残存寿命算出部315は、情報保存テーブル331A、Bのうち現在の情報が保存されたテーブルを参照し、HDD#0〜#3内で仕様が異なる場合でも故障監視の基準値を均一化するための残存寿命を算出し、残存寿命テーブル333に保存する。
同時故障判定部316は、HDDの残存寿命が5[%]等の所定の閾値を下回ったHDDが2つ以上ある場合、同じRAID構成内のHDDかを確認し、かつ、残存寿命テーブル333を比較して同時期に故障するか判定する。
早期交換係数付加部317は、同時故障判定部316で同時期に故障すると判定された場合、同時期の故障を回避させるために、残存寿命テーブル333を更新する早期交換係数を求める。具体的には、早期交換係数付加部317は、先に交換させるHDDの早期交換係数に、例えば、−2[%]等の所定値を付加する。
読出部318は、HDD#0〜#3から、SMART情報111#0〜#3を読み出す。判定部319は、読出部318が読み出したSMART情報111#0〜#3を参照して、HDD#0〜#3から交換対象となる2以上のHDDがあるか否かを判定する。具体的には、例えば、判定部319は、読出部318が読み出したSMART情報111#0〜#3から計算できる残存寿命が例えば5[%]以下となるHDDが2以上ある場合、2以上のHDDがあると判定する。または、判定部319は、読出部318が読み出したSMART情報111#0〜#3に含まれる生の値が所定の閾値以上となるHDDが2以上ある場合、2以上のHDDがあると判定してもよい。
また、SMART情報111に、代替可能なセクタの数と、HDDの仕様に応じた代替可能なセクタの数に対する閾値が含まれているとする。この場合、判定部319は、読出部318が読み出したSMART情報111に含まれる代替可能なセクタの数が閾値以上となるHDDが2以上ある場合、2以上のHDDがあると判定してもよい。また、判定部319は、代替可能なセクタの数から現在の値を求めるとともに、代替可能なセクタの数に対する閾値から現在の値に対する閾値を求めてもよい。そして、判定部319は、求めた現在の値から閾値を減じることにより残存寿命を算出し、算出した残存寿命が例えば5[%]以下となるHDDが2以上ある場合、2以上のHDDがあると判定してもよい。
また、判定部319は、残存寿命同士の差分が、HDDを交換する作業にかかる所定の所要時間をHDDで代替処理が発生する時間間隔の平均値と代替可能なセクタの最大の数とで割った値以下である場合、交換対象となる2以上のHDDがあると判定する。例えば、HDDを交換する作業にかかる所定の所要時間が、20時間であるとする。さらに、HDDで代替処理が発生する時間間隔の平均値が、1時間であるとする。さらに、代替可能なセクタの最大の数が、2000であるとする。この場合、判定部319は、残存寿命同士の差分が、20/1/2000=0.01=1[%]以下である場合、交換対象となる2以上のHDDがあると判定する。HDDを交換する作業にかかる所定の所要時間やHDDで代替処理が発生する時間間隔の平均値は、HDD#0〜#3の管理者等により設定される。また、HDDで代替処理が発生する時間間隔の平均値は、RAIDカード207が情報保存テーブル331や変動時刻保存テーブル332等を参照して求めておいてもよい。
以下の説明では、残存寿命同士の差分が1[%]以下である場合には、「残存寿命が同値とみなせる」と呼称する。
また、SMART情報111に、代替可能なセクタの数と、HDDの仕様に応じた代替可能なセクタの数に対する閾値が含まれているとする。この場合、判定部319は、代替可能なセクタの数から閾値を減じた値同士の差分が、HDDを交換する作業にかかる所定の所要時間を、HDDで代替処理が発生する時間間隔の平均値で割った値以下である場合、交換対象となる2以上のHDDがあると判定する。
決定部320は、判定部319が交換対象の2以上のHDDがあると判定した場合、SMART情報111に含まれる生の値の時系列変化に基づいて、交換対象の2以上のHDDのそれぞれの交換順序を決定する。例えば、決定部320は、直近の時間における生の値が変化した時刻が新しいHDDから順に、交換対象の2以上のHDDのそれぞれの交換順序を決定する。または、決定部320は、直近の時間における生の値が変化した時刻が古いHDDの交換順序が後になるように、交換対象の2以上のHDDのそれぞれの交換順序を決定してもよい。
また、決定部320は、交換対象の2以上のHDDのそれぞれの交換順序について、ある程度幅のある順序を決定してもよい。例えば、判定部319が、HDD#0、#1、#3という、交換対象の2以上のHDDがあると判定したとする。そして、生の値の更新時刻が、HDD#0が最も新しく、HDD#1、#3がHDD#0より古い時刻でありほぼ同時刻であったとする。この場合、決定部320は、HDD#0の交換順序を1番目、HDD#1の交換順序を2番目か3番目、HDD#3の交換順序を2番目か3番目というように決定してもよい。
また、決定部320は、2以上のHDDのうち生の値が変化した時刻が最も新しいHDDを特定する。そして、決定部320は、特定したHDDにおける現在の値から閾値より大きい値を減じた値と、特定したHDDを除く残余のHDDにおける現在の値から閾値を減じた値との大小関係に基づいて、2以上のHDDのそれぞれの交換順序を決定してもよい。ここで、閾値より大きい値は、例えば、閾値に、早期交換係数付加部317で説明した所定値を加えた値である。言い換えれば、決定部320は、特定したHDDの残存寿命から早期交換係数付加部317が付加した所定値を加えた値と、特定したHDDを除く残余のHDDの残存寿命との大小関係に基づいて、2以上のHDDのそれぞれの交換順序を決定する。
また、SMART情報111に、代替可能なセクタの数と、HDDの仕様に応じた代替可能なセクタの数に対する閾値が含まれているとする。そして、判定部319が、交換対象となる2以上のHDDがあると判定したとする。この場合、決定部320は、代替可能なセクタの数の時系列変化に基づいて、交換対象の2以上のHDDのそれぞれの交換順序を決定する。
なお、決定部320は、決定した交換順序を、CPU201に通知する。CPU201は、HDD#0〜#3の管理者が閲覧可能なディスプレイやプリンタ等に決定した交換順序を出力する。
RAID構成情報保存メモリ321は、RAID構成情報を保存するメモリである。RAID設定情報保存メモリ322は、RAID設定を保存するメモリである。情報保存テーブル331A、Bは、HDD#0〜#3の故障予知に用いる一部のSMART情報111#0〜#3および一部のSMART情報111#0〜#3の閾値と、更新した時刻とを保存するテーブルである。変動時刻保存テーブル332は、情報保存テーブル331A、Bの比較結果として差分を検出した際の時刻をHDDごとに保存するテーブルである。残存寿命テーブル333は、HDD#0〜#3内で仕様が異なる場合でも故障監視の基準値を均一化するための残存寿命をHDDごとに保存するテーブルである。早期交換係数テーブル334は、残存寿命テーブル333を更新する早期交換係数をHDDごとに保存するテーブルである。早期交換係数の初期値は0である。次に、機能構成上での動作例について、図4〜図6を用いて説明する。
図4は、機能構成上での動作例を示す説明図(その1)である。SMARTエラー監視部312は、各HDDが通知するSMARTによるエラーの監視を行う。さらに、SMARTエラー監視部312は、図4の(1)の処理として示すように、各HDDのSMART情報111およびSMART情報111の閾値の収集をSMART情報処理部313に定期的に依頼する。依頼を受けたSMART情報処理部313は、図4の(2)の処理として示すように、SMART情報管理テーブル323内の情報保存テーブル331A、Bに各HDDの現在のSMART情報111と前回のSMART情報111とを交互に保存する。また、SMART情報比較部314は、図4の(3)で示すように、情報保存テーブル331A、Bを更新時に比較し、差分を検出した場合に差分を検出した時刻を変動時刻保存テーブル332に保存する。
図5は、機能構成上での動作例を示す説明図(その2)である。図4の(3)の処理完了後、残存寿命算出部315は、図5の(1)の処理として示すように、情報保存テーブル331A、Bのうちの現在のSMART情報111と、早期交換係数テーブル334とに基づいて、残存寿命を算出する。図5の(1)の処理により、RAIDカード207は、各HDD内で仕様が異なる場合でも故障監視の基準値を均一化させることができる。残存寿命算出部315は、算出した残存寿命に早期交換係数付加部317で付加した残存寿命で残存寿命テーブル333を更新する。なお、各HDDの初期状態として、残存寿命テーブル333の早期交換係数付加部317で付加される値は0である。そして、時間経過に伴い、同時期に故障を回避させるために0より小さい値が付加される。
次に、同時故障判定部316は、図5の(2)の処理として示すように、同時に故障しそうな2以上のHDDを判定する。もし、同時故障判定部316で同時期に故障すると判定された場合、早期交換係数付加部317が同時期に故障を回避させるため、同時故障判定部316は、早期交換係数を付加するHDDを決定する。例えば、同時故障判定部316は、変動時刻保存テーブル332のSMART情報111の故障時間遷移から故障が加速しているHDDに対して所定値を付加する。
図6は、機能構成上での動作例を示す説明図(その3)である。図5の(2)の処理完了後、早期交換係数付加部317は、図6の(1)の処理として示すように、早期交換係数テーブル334を更新する。そして、SMARTエラー監視部312は、図6の(2)の処理として示すように、SMARTエラー情報を収集し、CPU201等に通知する。
図7は、情報保存テーブル331の記憶内容の一例を示す説明図である。図7に示す情報保存テーブル331A、Bは、各HDDのSMART情報111のうちの代替処理済セクタ数と、更新時刻とを記憶する。代替処理済セクタ数は、現在の値と、閾値と、生の値とを有する。
現在の値は、図1で説明したように、HDDにおける代替可能なセクタの最大の数に対する代替可能なセクタの数の割合を示す。なお、HDDが消耗していくにつれ、現在の値は100%から小さくなる。
閾値は、SMARTエラーを通知するか否かの判断基準として、現在の値と比較する値である。一般的なHDDの仕様として、HDDは、現在の値が閾値未満となった場合、SMARTエラーを通知する。従って、現在の値から閾値を減算した残存寿命が重要なものとなる。
生の値は、図1で説明したように、代替処理済のセクタの数を示す。ここで、代替処理の対象となった読み書きできなくなったセクタが再び読み書きできるようになることはない。従って、生の値は、代替処理を行った回数とも一致する。なお、HDDが消耗していくにつれ、生の値は0から大きくなる。また、図7に示す生の値は便宜上10進数表記とする。
例えば、図7に示す情報保存テーブル331Aは、例えば、HDD#0について、現在の値が40.5[%]、閾値が36[%]、生の値が1309であることを示す。また、図7に示す情報保存テーブル331Aは、HDD#0〜#3の代替処理済セクタ数の更新時刻が2015/03/03 14:30であることを示す。次に、図8を用いて、監視処理のフローチャートを説明する。
図8は、監視処理手順の一例を示すフローチャートである。監視処理は、RAIDの運用を開始したら常に行われる処理である。また、監視処理は、RAIDカード207の各部が協働して実行する。
RAIDカード207は、SMART情報収集各種テーブル比較前処理を実行する(ステップS801)。SMART情報収集各種テーブル比較前処理については、図9で説明する。ステップS801終了後、同時故障判定部316は、残存寿命テーブル333のうち、残存寿命が5%以下のHDDがあるか否かを判定する(ステップS802)。残存寿命が5%以下のHDDがある場合(ステップS802:Yes)、同時故障判定部316は、残存寿命が同値とみなせるHDDが2つ以上あるか否かを判定する(ステップS803)。残存寿命が同値とみなせるHDDが2つ以上ある場合(ステップS803:Yes)、同時故障判定部316は、残存寿命が同値とみなせる2つ以上のHDDが冗長構成ペアの組み合わせか否かを判定する(ステップS804)。
残存寿命が同値とみなせる2つ以上のHDDが冗長構成ペアの組み合わせである場合(ステップS804:Yes)、早期交換係数付加部317は、早期交換係数テーブル更新処理を実行する(ステップS805)。早期交換係数テーブル更新処理については、図12で説明する。そして、RAIDカード207は、ステップS803の処理に移行する。
一方、残存寿命が5%以下のHDDがない場合(ステップS802:No)、SMARTエラー監視部312は、残存寿命が0以下となったHDDが存在するか否かを判断する(ステップS806)。残存寿命が同値とみなせるHDDが1つである場合、または、残存寿命が同値とみなせる2つ以上のHDDが冗長構成ペアの組み合わせでない場合(ステップS803、S804:No)も同様に、SMARTエラー監視部312は、ステップS806の処理を実行する。
残存寿命が0以下となったHDDが存在する場合(ステップS806:Yes)、SMARTエラー監視部312は、HDD#0〜#3の管理者に残存寿命が0以下となったHDDの交換指示を通知する(ステップS807)。そして、ステップS807の処理終了後、または、残存寿命が0以下となったHDDが存在しない場合(ステップS806:No)、RAIDカード207は、インターバル時間として、15分間待機する(ステップS808)。そして、RAIDカード207は、ステップS801の処理に移行する。ここで、ステップS808の処理における15分間という待ち時間は、代替処理済セクタ数の変動は最短でも1時間程度で発生すると考慮して、余裕をもって設定した時間である。
図9は、SMART情報収集各種テーブル比較前処理手順の一例を示すフローチャートである。SMART情報収集各種テーブル比較前処理は、SMART情報を比較する前に、各種テーブルとして、情報保存テーブル331〜残存寿命テーブル333を更新する処理である。
SMART情報処理部313は、各HDDから、SMART情報111を読み出す(ステップS901)。次に、SMART情報処理部313は、情報保存テーブル331A、Bの古い方、すなわち、更新時刻が古い方の各HDDのSMART情報111を、読み出したSMART情報111で更新する(ステップS902)。このとき、SMART情報処理部313は、更新した情報保存テーブル331の更新時刻も現時刻で更新する。次に、SMART情報比較部314は、情報保存テーブル331の生の値に更新があったHDDがあるか否かを判断する(ステップS903)。
情報保存テーブル331の生の値に更新があったHDDがある場合(ステップS903:Yes)、SMART情報比較部314は、変動時刻保存テーブル332における更新があったHDDの更新時刻を更新する(ステップS904)。具体的な変動時刻保存テーブル332の更新例については、図10で示す。
ステップS904の処理終了後、または、情報保存テーブル331の生の値に更新があったHDDがない場合(ステップS903:No)、SMART情報比較部314は、各HDDについて、SMART情報の現在の値から閾値を減算し、各HDDの早期交換付加係数を加算する(ステップS905)。そして、残存寿命算出部315は、残存寿命テーブル333の各HDDの残存寿命を、各HDDについて算出した値で更新する(ステップS906)。具体的な残存寿命テーブル333の更新例については、図11で示す。ステップS906の処理終了後、RAIDカード207は、SMART情報収集各種テーブル比較前処理を終了する。
図10は、変動時刻保存テーブル332の更新例を示す説明図である。図10では、図7で説明した更新後の情報保存テーブル331Aの各HDDの生の値と、情報保存テーブル331Bの各HDDの生の値と、変動時刻保存テーブル332とを示す。
図10で示す例では、2015/03/03 14:30に情報保存テーブル331Aを更新した後、SMART情報比較部314は、情報保存テーブル331の生の値に更新があったHDDがあるか否かを判断する。図10の例では、HDD#0の生の値に更新があったため、SMART情報比較部314は、変動時刻保存テーブル332におけるHDD#0の更新時刻を、情報保存テーブル331Aを更新した時刻を示す文字列「2015/03/03 14:30」で更新する。図10の例では、更新した箇所を網掛けで示す。
図11は、残存寿命テーブル333の更新例を示す説明図である。図11では、図7で説明した更新後の情報保存テーブル331Aの各HDDの現在の値および閾値と、早期交換係数テーブル334と、残存寿命テーブル333とを示す。図11で示す早期交換係数テーブル334の各HDDの早期交換係数は0とする。
残存寿命算出部315は、各HDDについて、現在の値から閾値を減算し、減算して得た値に、早期交換係数を加算することにより、残存寿命を算出し、残存寿命テーブル333を更新する。例えば、図11の例では、残存寿命算出部315は、HDD#0について、現在の値となる40.5から閾値となる36を減算し、減算して得た値となる4.5に、早期交換係数となる0を加算することにより、残存寿命となる4.5を算出する。
図12は、早期交換係数テーブル更新処理手順の一例を示すフローチャートである。早期交換係数テーブル更新処理は、早期交換係数テーブル334を更新する処理である。ここで、早期交換係数テーブル更新処理の対象となるHDDは、ステップS804の処理において、残存寿命が同値とみなせるHDDである。そして、早期交換係数テーブル更新処理の対象となるHDDは、2つ以上となる。
早期交換係数付加部317は、変動時刻保存テーブル332の変動時刻が同値か否かを判断する(ステップS1201)。変動時刻保存テーブル332の変動時刻が同値である場合(ステップS1201:Yes)、早期交換係数付加部317は、早期交換係数の小さいHDDの早期交換係数に所定値を付加する(ステップS1202)。一方、変動時刻保存テーブル332の変動時刻が異なる場合(ステップS1201:No)、早期交換係数付加部317は、変動時刻が最新のHDDの早期交換係数に所定値を付加する(ステップS1203)。
ここで、ステップS1202およびS1203における所定値は、例えば、−2[%]である。−2[%]の妥当性について記載する。まず、予備セクタは、少ないものでは10進数で2000セクタ程度ある。また、通常のケースでは1セクタにつき1日以上、消耗が激しいケースでは1セクタにつき1時間で代替処理が発生すると考えられる。消耗が激しいケースにおいて、SMARTエラーの発生の時間差を最低でも1日程度確保したい場合、誤差1%以内、すなわち、2000*0.01*1[時間]=20時間程度で同値とみなして判定し、オフセットを付加するのが良い。また、早期交換係数に所定値として−2[%]を付加することにより、SMARTエラーに対して最低でも40時間の時間差が発生する。1日以上のマージンを設けることにより、運用保守において、マルチデッドを発生させる前に十分な作業ができることになる。
なお、ステップS802における早期交換係数を付加させる閾値の残存寿命5%以下の設定では、数値上は最大−6%だが、残存寿命が負の値となるため、実質最大−5%の早期交換係数を付加することになる。1日1セクタの置換が発生すると仮定すると、100日交換時期が早くなるといえ、消耗の早いHDDで短くとも3〜4年程度運用することを考えると寿命は無視していないといえるレベルである。
ステップS1202、またはステップS1203の処理終了後、早期交換係数付加部317は、付加した値で早期交換係数テーブル334を更新する(ステップS1204)。早期交換係数テーブル334の更新例については、図13で説明する。
次に、早期交換係数付加部317は、各HDDについて、SMART情報111の現在の値から閾値を減算し、更新した早期交換係数テーブル334の各HDDの早期交換付加係数を加算する(ステップS1205)。そして、早期交換係数付加部317は、残存寿命テーブル333の各HDDの残存寿命を、各HDDについて算出した値で更新する(ステップS1206)。残存寿命テーブル333の更新例については、図14で説明する。ステップS1206の処理終了後、RAIDカード207は、早期交換係数テーブル更新処理を終了する。
図13は、早期交換係数テーブル334の更新例を示す説明図である。図13では、図10で示した変動時刻保存テーブル332と、早期交換係数テーブル334とを示す。図13の例では、早期交換係数付加部317は、変動時刻が最新のHDDとなるHDD#0の早期交換係数を、所定値として−2[%]付加する。
図14は、更新前後の残存寿命テーブル333の記憶内容の一例を示す説明図である。図14では、早期交換係数テーブル334の値の更新前の残存寿命テーブル333と、図13で説明した更新後の早期交換係数テーブル334と、早期交換係数テーブル334の値により更新後の残存寿命テーブル333’とを示す。
図14の例では、早期交換係数付加部317は、例えば、HDD#0について、SMART情報111の現在の値40.5から閾値36を減算し、更新した早期交換係数テーブル334のHDD#0の早期交換付加係数−2を加算し、2.5を得る。得られた値は、更新前の残存寿命テーブル333の値から、早期交換係数テーブル334の値を減じた値となる。なお、図14の例では、残存寿命が0[%]以下のHDDはないため、SMARTエラー監視部312は、HDDの交換指示を通知しない。これにより、同時期に寿命が訪れたであろうHDD#0、#1の交換時期を分散させることができる。
ここで、より複雑な状況として、ステップS803の処理において、残存寿命が同値とみなせるHDDが3つあった場合について説明する。まず、1回目のステップS803の処理において、残存寿命テーブル333の各値が以下のようになったとする。また、変動時刻保存テーブル332については、図10で示した値と同値であるとする。また、1回目のステップS803の処理前の段階で、早期交換係数テーブル334の各値は0であるとする。
HDD#0:4.5
HDD#1:3.6
HDD#2:31.4
HDD#3:4.0
この場合、同時故障判定部316は、残存寿命が同値とみなせるHDDとして、HDD#0、#1、#3があると判定する。従って、早期交換係数付加部317は、ステップS805の処理である早期交換係数テーブル更新処理において、HDD#0、#1、#3のうちHDD#0の更新時刻が最新であるとして、HDD#0の早期交換係数に所定値として−2[%]を付加する。そして、早期交換係数付加部317は、更新した早期交換係数テーブル334を用いて、以下のように残存寿命テーブル333を更新する。
HDD#0:2.5
HDD#1:3.6
HDD#2:31.4
HDD#3:4.0
ステップS805の処理終了後、2回目のステップS803の処理において、同時故障判定部316は、残存寿命が同値とみなせるHDDとして、HDD#1、#3があると判定する。ステップS805の処理である早期交換係数テーブル更新処理において、HDD#1、#3のうちHDD#1の更新時刻が最新であるとして、HDD#1の早期交換係数に所定値として−2[%]を付加する。そして、早期交換係数付加部317は、更新した早期交換係数テーブル334を用いて、以下のように残存寿命テーブル333を更新する。
HDD#0:2.5
HDD#1:1.6
HDD#2:31.4
HDD#3:4.0
ステップS805の処理終了後、3回目のステップS803の処理において、同時故障判定部316は、残存寿命が同値とみなせるHDDとして、HDD#0、#1があると判定する。ステップS805の処理である早期交換係数テーブル更新処理において、HDD#0、#1のうちHDD#0の更新時刻が最新であるとして、HDD#0の早期交換係数に所定値として−2[%]を付加する。これにより、HDD#0の早期交換係数は、−4[%]となる。そして、早期交換係数付加部317は、更新した早期交換係数テーブル334を用いて、以下のように残存寿命テーブル333を更新する。
HDD#0:0.5
HDD#1:1.6
HDD#2:31.4
HDD#3:4.0
ステップS805の処理終了後、4回目のステップS803の処理において、同時故障判定部316は、残存寿命が同値とみなせるHDDがないと判定する。この場合、RAIDカード207は、交換順序を、残存寿命の小さい順に、HDD#0、#1、#3とする。
図15は、代替処理済のセクタの数の時系列変化の一例を示す説明図である。故障予知として、代替処理済のセクタの数の急増が明確な指標となる。代替処理済セクタ数が急増した状態で運用した例を、下記参考文献1、2内に示す。
(参考文献1:CDIをアップデート − 周回遅れの日記、[平成27年6月2日検索]、インターネット<http://d.hatena.ne.jp/hinkyaku49/20131018/1382104290>)
(参考文献2:白黒ニャンコ毛玉団 ≫ Blog Archive ≫ 代替処理済増加中:、[平成27年6月2日検索]、インターネット<http://majimegawa.com/blog/nyanko/archives/1630>)
図15で示すグラフ1501は、HDD#A、#Bの代替処理回数の時系列変化を模式的に示したものである。グラフ1501の横軸は、HDD#A、#Bを使用開始してからの日数を示す。グラフ1501の縦軸は、代替処理回数を示す。そして、グラフ1501では、HDD#Aの代替処理回数の時系列変化を、実線の曲線で示し、HDD#Bの代替処理回数の時系列変化を、破線の曲線で示す。
グラフ1501が示すように、HDD#Aの代替処理回数が100回から200回に増加するまでにかかる日数は、HDD#Bの代替処理回数が100回から200回に増加するまでにかかる日数より短い。また、HDD#Aは、使用開始してから56日で代替処理回数が400回に到達しているのに対し、HDD#Bは、使用開始してから58日で代替処理回数が400回に到達している。このように、HDD#AとHDD#Bとを比較すると、増加頻度が早いHDD#Aがより速く故障しそうであり危険であるとして、早期交換係数付加部317は、HDD#Aを早期交換係数の付加先として決定する。
以上説明したように、RAIDカード207は、SMART情報111から2以上のHDDが故障すると判定した場合、SMART情報111に含まれる生の値が急増したHDDから順に交換する交換順序を決定する。これにより、HDD#0〜#3の管理者が早く故障する可能性が高いHDDから先に交換することになり、RAIDカード207は、マルチデッドの発生を抑制することができる。また、RAIDカード207は、マルチデッドの発生を抑制することにより、RAIDシステム200の障害が発生することを抑制することができる。また、RAIDカード207は、予兆監視によってHDDごとに交換時期を順序づけて予防交換することで、マルチデッドの発生のリスクを分散できる。また、マルチデッドの発生を抑制するため、RAIDカード207は、冗長性を確保することができる。
また、RAIDカード207は、HDD#0〜#3におけるSMART情報111に含まれる現在の値から閾値を減じた残存寿命に基づいて、交換対象となる2以上のHDDをあるか否かを判定してもよい。これにより、RAIDカード207は、HDDの製造元が設定した閾値を用いて判定することができるため、HDD#0〜#3の仕様が異なる場合でも故障監視の基準値を均一化することができる。
また、RAIDカード207は、残存寿命同士の差分が、HDDを交換する作業にかかる所定の所要時間をHDDで代替処理が発生する時間間隔の平均値と代替可能なセクタの最大の数とで割った値以下ならば、交換対象となる2以上のHDDがあるとしてもよい。これにより、RAIDカード207は、HDDを交換する作業にかかる所定の所要時間内に、2以上のHDDが故障することを抑制することができる。
また、RAIDカード207は、生の値が変化した時刻が最も新しいHDDの残存寿命から所定値を加えた値と、特定したHDDを除く残余のHDDの残存寿命との大小関係に基づいて、2以上のHDDのそれぞれの交換順序を決定してもよい。これにより、RAIDカード207は、生の値が変化した時刻が最も新しく、最も故障する可能性が高いHDDの残存寿命を小さくして、より早く交換されるようにすることができる。
また、RAIDカード207は、SMART情報111に含まれる現在の値の代わりに代替可能なセクタの数を用い、SMART情報111に含まれる閾値の代わりに、代替可能なセクタの数に対する閾値を用いてもよい。SMART情報111に含まれる現在の値や閾値を用いることにより、RAIDカード207は、HDD#0〜#3の管理者が閾値を設定することなく、SMART情報111に含まれる情報を用いてマルチデッドの発生を抑制することができる。
また、本実施の形態で説明したRAIDカード207は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGA(Field Programmable Gate Array)などのPLD(Programmable Logic Device)によっても実現することができる。具体的には、例えば、上述したRAIDカード207のRAIDコントローラ301をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより、RAIDカード207を製造することができる。
なお、ソフトウェアにより本実施の形態を実現する際、本実施の形態で説明した記憶装置制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。また、本記憶装置制御プログラムは、ハードディスク、フレキシブルディスク、CD−ROM(Compact Disc−Read Only Memory)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本記憶装置制御プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)RAIDグループを形成する複数の記憶装置の各記憶装置から、前記各記憶装置の記憶領域を分割した分割領域のうち代替処理を行った分割領域の数を含む状態情報を読み出す読出部と、
前記読出部が読み出した前記各記憶装置の状態情報を参照して、前記複数の記憶装置から交換対象となる2以上の記憶装置があるか否かを判定する判定部と、
前記判定部が前記2以上の記憶装置があると判定した場合、前記2以上の記憶装置の各記憶装置の状態情報に含まれる前記代替処理を行った分割領域の数の時系列変化に基づいて、前記2以上の記憶装置の各記憶装置の交換順序を決定する決定部と、
を有することを特徴とする記憶装置制御装置。
(付記2)前記状態情報は、さらに、前記各記憶装置における代替可能な分割領域の数と、前記各記憶装置の仕様に応じた前記代替可能な分割領域の数に対する閾値とを含み、
前記判定部は、
前記各記憶装置の前記状態情報に含まれる前記各記憶装置における代替可能な分割領域の数から前記閾値を減じた値に基づいて、前記複数の記憶装置から交換対象となる2以上の記憶装置があるか否かを判定する、
ことを特徴とする付記1に記載の記憶装置制御装置。
(付記3)前記判定部は、
前記各記憶装置における代替可能な分割領域の数から前記閾値を減じた値同士の差分が、記憶装置を交換する作業にかかる所定の所要時間を前記各記憶装置で代替処理が発生する時間間隔の平均値で割った値以下である場合、交換対象となる2以上の記憶装置があると判定する、
ことを特徴とする付記2に記載の記憶装置制御装置。
(付記4)前記決定部は、
前記判定部が前記2以上の記憶装置があると判定した場合、前記2以上の記憶装置のうち前記代替処理を行った分割領域の数が変化した時刻が最も新しい記憶装置における代替可能な分割領域の数から前記閾値より大きい値を減じた値と、前記2以上の記憶装置のうち前記最も新しい記憶装置を除く記憶装置における代替可能な分割領域の数から前記閾値を減じた値との大小関係に基づいて、前記2以上の記憶装置の各記憶装置の交換順序を決定する、
ことを特徴とする付記2または3に記載の記憶装置制御装置。
(付記5)前記状態情報は、さらに、前記各記憶装置における代替可能な分割領域の最大の数に対する代替可能な分割領域の数の割合を示す未使用率と、前記各記憶装置の仕様に応じた前記未使用率に対する閾値とを含み、
前記判定部は、
前記各記憶装置の前記状態情報に含まれる前記各記憶装置における前記未使用率から前記未使用率に対する閾値を減じた値に基づいて、前記複数の記憶装置から交換対象となる2以上の記憶装置があるか否かを判定する、
ことを特徴とする付記1〜4のいずれか一つに記載の記憶装置制御装置。
(付記6)コンピュータが、
RAIDグループを形成する複数の記憶装置の各記憶装置から、前記各記憶装置の記憶領域を分割した分割領域のうち代替処理を行った分割領域の数を含む状態情報を読み出し、
読み出した前記各記憶装置の状態情報を参照して、前記複数の記憶装置から交換対象となる2以上の記憶装置があるか否かを判定し、
前記2以上の記憶装置があると判定した場合、前記2以上の記憶装置の各記憶装置の状態情報に含まれる前記代替処理を行った分割領域の数の時系列変化に基づいて、前記2以上の記憶装置の各記憶装置の交換順序を決定する、
処理を実行することを特徴とする記憶装置制御方法。
(付記7)コンピュータに、
RAIDグループを形成する複数の記憶装置の各記憶装置から、前記各記憶装置の記憶領域を分割した分割領域のうち代替処理を行った分割領域の数を含む状態情報を読み出し、
読み出した前記各記憶装置の状態情報を参照して、前記複数の記憶装置から交換対象となる2以上の記憶装置があるか否かを判定し、
前記2以上の記憶装置があると判定した場合、前記2以上の記憶装置の各記憶装置の状態情報に含まれる前記代替処理を行った分割領域の数の時系列変化に基づいて、前記2以上の記憶装置の各記憶装置の交換順序を決定する、
処理を実行させることを特徴とする記憶装置制御プログラム。
101 記憶装置制御装置
102 記憶装置
111 SMART情報
200 RAIDシステム
301 RAIDコントローラ
302 主記憶部
311 RAID構成管理部
312 SMARTエラー監視部
313 SMART情報処理部
314 SMART情報比較部
315 残存寿命算出部
316 同時故障判定部
317 早期交換係数付加部
318 読出部
319 判定部
320 決定部
321 RAID構成情報保存メモリ
322 RAID設定情報保存メモリ
323 SMART情報管理テーブル
331 情報保存テーブル
332 変動時刻保存テーブル
333 残存寿命テーブル
334 早期交換係数テーブル

Claims (6)

  1. RAIDグループを形成する複数の記憶装置の各記憶装置から、前記各記憶装置の記憶領域を分割した分割領域のうち代替処理を行った分割領域の数を含む状態情報を読み出す読出部と、
    前記読出部が読み出した前記各記憶装置の状態情報を参照して、前記複数の記憶装置から交換対象となる2以上の記憶装置があるか否かを判定する判定部と、
    前記判定部が前記2以上の記憶装置があると判定した場合、前記2以上の記憶装置の各記憶装置の状態情報に含まれる前記代替処理を行った分割領域の数の時系列変化に基づいて、前記2以上の記憶装置の各記憶装置の交換順序を決定する決定部と、
    を有することを特徴とする記憶装置制御装置。
  2. 前記状態情報は、さらに、前記各記憶装置における代替可能な分割領域の数と、前記各記憶装置の仕様に応じた前記代替可能な分割領域の数に対する閾値とを含み、
    前記判定部は、
    前記各記憶装置の前記状態情報に含まれる前記各記憶装置における代替可能な分割領域の数から前記閾値を減じた値に基づいて、前記複数の記憶装置から交換対象となる2以上の記憶装置があるか否かを判定する、
    ことを特徴とする請求項1に記載の記憶装置制御装置。
  3. 前記判定部は、
    前記各記憶装置における代替可能な分割領域の数から前記閾値を減じた値同士の差分が、記憶装置を交換する作業にかかる所定の所要時間を前記各記憶装置で代替処理が発生する時間間隔の平均値で割った値以下である場合、交換対象となる2以上の記憶装置があると判定する、
    ことを特徴とする請求項2に記載の記憶装置制御装置。
  4. 前記決定部は、
    前記判定部が前記2以上の記憶装置があると判定した場合、前記2以上の記憶装置のうち前記代替処理を行った分割領域の数が変化した時刻が最も新しい記憶装置における代替可能な分割領域の数から前記閾値より大きい値を減じた値と、前記2以上の記憶装置のうち前記最も新しい記憶装置を除く記憶装置における代替可能な分割領域の数から前記閾値を減じた値との大小関係に基づいて、前記2以上の記憶装置の各記憶装置の交換順序を決定する、
    ことを特徴とする請求項2または3に記載の記憶装置制御装置。
  5. コンピュータが、
    RAIDグループを形成する複数の記憶装置の各記憶装置から、前記各記憶装置の記憶領域を分割した分割領域のうち代替処理を行った分割領域の数を含む状態情報を読み出し、
    読み出した前記各記憶装置の状態情報を参照して、前記複数の記憶装置から交換対象となる2以上の記憶装置があるか否かを判定し、
    前記2以上の記憶装置があると判定した場合、前記2以上の記憶装置の各記憶装置の状態情報に含まれる前記代替処理を行った分割領域の数の時系列変化に基づいて、前記2以上の記憶装置の各記憶装置の交換順序を決定する、
    処理を実行することを特徴とする記憶装置制御方法。
  6. コンピュータに、
    RAIDグループを形成する複数の記憶装置の各記憶装置から、前記各記憶装置の記憶領域を分割した分割領域のうち代替処理を行った分割領域の数を含む状態情報を読み出し、
    読み出した前記各記憶装置の状態情報を参照して、前記複数の記憶装置から交換対象となる2以上の記憶装置があるか否かを判定し、
    前記2以上の記憶装置があると判定した場合、前記2以上の記憶装置の各記憶装置の状態情報に含まれる前記代替処理を行った分割領域の数の時系列変化に基づいて、前記2以上の記憶装置の各記憶装置の交換順序を決定する、
    処理を実行させることを特徴とする記憶装置制御プログラム。
JP2015143119A 2015-07-17 2015-07-17 記憶装置制御装置、記憶装置制御方法、および記憶装置制御プログラム Active JP6477320B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015143119A JP6477320B2 (ja) 2015-07-17 2015-07-17 記憶装置制御装置、記憶装置制御方法、および記憶装置制御プログラム
US15/208,024 US9910750B2 (en) 2015-07-17 2016-07-12 Storage controlling device, storage controlling method, and non-transitory computer-readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015143119A JP6477320B2 (ja) 2015-07-17 2015-07-17 記憶装置制御装置、記憶装置制御方法、および記憶装置制御プログラム

Publications (2)

Publication Number Publication Date
JP2017027215A JP2017027215A (ja) 2017-02-02
JP6477320B2 true JP6477320B2 (ja) 2019-03-06

Family

ID=57776588

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015143119A Active JP6477320B2 (ja) 2015-07-17 2015-07-17 記憶装置制御装置、記憶装置制御方法、および記憶装置制御プログラム

Country Status (2)

Country Link
US (1) US9910750B2 (ja)
JP (1) JP6477320B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9830107B2 (en) * 2016-04-29 2017-11-28 Netapp, Inc. Drive wear-out prediction based on workload and risk tolerance
US10365958B2 (en) * 2016-09-13 2019-07-30 Hewlett Packard Enterprise Development Lp Storage drive management to fail a storage drive based on adjustable failure criteria
US10572323B1 (en) * 2017-10-24 2020-02-25 EMC IP Holding Company LLC Predicting physical storage unit health
EP3747008A4 (en) * 2018-01-31 2021-09-15 Hewlett-Packard Development Company, L.P. FORECASTING THE LIFETIME OF A HARD DISK DRIVE
US11442826B2 (en) * 2019-06-15 2022-09-13 International Business Machines Corporation Reducing incidents of data loss in raid arrays having the same raid level
US11556257B2 (en) * 2020-08-14 2023-01-17 Micron Technology, Inc. Selectable wear life indicator based on data retention
US11809716B2 (en) * 2022-01-20 2023-11-07 Dell Products L.P. Prediction and prioritization of solid-state drives replacement

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0651915A (ja) * 1992-08-03 1994-02-25 Hitachi Ltd ディスク装置およびディスクアレイ管理方式
US7373559B2 (en) * 2003-09-11 2008-05-13 Copan Systems, Inc. Method and system for proactive drive replacement for high availability storage systems
US7313721B2 (en) 2004-06-21 2007-12-25 Dot Hill Systems Corporation Apparatus and method for performing a preemptive reconstruct of a fault-tolerant RAID array
JP4863814B2 (ja) * 2006-08-04 2012-01-25 株式会社日立製作所 記憶媒体グループの故障を抑えるストレージシステム
JP2008148226A (ja) * 2006-12-13 2008-06-26 Canon Inc Hdd自己診断機能を利用した縮退動作を行う画像形成装置
JP2010128773A (ja) 2008-11-27 2010-06-10 Nec Fielding Ltd ディスクアレイ装置、そのディスク管理方法及びそのディスク管理プログラム
JP5887757B2 (ja) * 2011-08-17 2016-03-16 富士通株式会社 ストレージシステム、ストレージ制御装置およびストレージ制御方法
US8935568B2 (en) * 2012-07-27 2015-01-13 Dell Products, Lp System and method of replicating virtual machines for live migration between data centers
US9483361B2 (en) * 2013-05-08 2016-11-01 Commvault Systems, Inc. Information management cell with failover management capability
US20150205667A1 (en) * 2014-01-23 2015-07-23 DSSD, Inc. Method and system for service-aware data placement in a storage system

Also Published As

Publication number Publication date
US20170017557A1 (en) 2017-01-19
JP2017027215A (ja) 2017-02-02
US9910750B2 (en) 2018-03-06

Similar Documents

Publication Publication Date Title
JP6477320B2 (ja) 記憶装置制御装置、記憶装置制御方法、および記憶装置制御プログラム
US7890791B2 (en) Disk array device, operating method thereof and program-storing medium
CN111104342B (zh) 用于存储的方法、电子设备和计算机程序产品
CN110737390B (zh) 用于管理存储系统的方法、设备和计算机程序产品
US10438140B2 (en) Information processing apparatus, visit plan creating method, and storage medium
EP2806362A1 (en) Information processing device, control circuit, computer-readable recording medium for control program, and control method
CN111104051B (zh) 用于管理存储系统的方法、设备和计算机程序产品
US10176065B2 (en) Intelligent failure prediction and redundancy management in a data storage system
CN110413198B (zh) 用于管理存储系统的方法、设备和计算机程序产品
CN109445681B (zh) 数据的存储方法、装置和存储系统
US20190384508A1 (en) Method, electronic device and computer program product for maintenance of component in storage system
US8762773B2 (en) Processing apparatus, data migration method, and computer-readable recording medium having data migration program recorded thereon
JP2016161990A (ja) 誤り訂正機能による寿命予測を有する制御装置
CN112748856A (zh) 管理盘的方法、电子设备和计算机程序产品
JP2015138372A (ja) 書込検査プログラム,情報処理装置,及び書込検査方法
CN111104047B (zh) 管理冗余磁盘阵列的方法、设备和计算机可读存储介质
JP5849491B2 (ja) ディスク制御装置、ディスク装置異常検出方法、及びプログラム
WO2019054434A1 (ja) 故障予兆検出装置、故障予兆検出方法、及び、故障予兆検出プログラムが格納された記録媒体
US20210342085A1 (en) Method for storage management, device and computer program product
US20160188254A1 (en) Lifecycle management of solid state memory adaptors
CN113391945A (zh) 用于存储管理的方法、电子设备以及计算机程序产品
JP6036736B2 (ja) キャッシュ装置、ストレージ装置、キャッシュ制御方法、及びストレージ制御プログラム
JP6558012B2 (ja) ストレージ管理装置、ストレージシステム、ストレージ管理方法及びプログラム
EP3547139B1 (en) System and method of assessing and managing storage device degradation
CN112506420A (zh) 在存储系统中管理擦洗操作的方法、设备和产品

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180413

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181219

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190121

R150 Certificate of patent or registration of utility model

Ref document number: 6477320

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150