JP2017168157A - 記録媒体管理装置、記録媒体管理方法及び記録媒体管理プログラム - Google Patents

記録媒体管理装置、記録媒体管理方法及び記録媒体管理プログラム Download PDF

Info

Publication number
JP2017168157A
JP2017168157A JP2016049803A JP2016049803A JP2017168157A JP 2017168157 A JP2017168157 A JP 2017168157A JP 2016049803 A JP2016049803 A JP 2016049803A JP 2016049803 A JP2016049803 A JP 2016049803A JP 2017168157 A JP2017168157 A JP 2017168157A
Authority
JP
Japan
Prior art keywords
hdd
sector
alternative
access
sectors
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.)
Pending
Application number
JP2016049803A
Other languages
English (en)
Inventor
長瀬 芳伸
Yoshinobu Nagase
芳伸 長瀬
一郎 宍戸
Ichiro Shishido
一郎 宍戸
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.)
JVCKenwood Corp
Original Assignee
JVCKenwood Corp
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 JVCKenwood Corp filed Critical JVCKenwood Corp
Priority to JP2016049803A priority Critical patent/JP2017168157A/ja
Publication of JP2017168157A publication Critical patent/JP2017168157A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

【課題】記録媒体について、不良の兆候のある箇所を早期に回復することでアクセス時間を正常化し、安定した動作を継続させることのできる記録媒体管理技術を提供する。
【解決手段】HDD故障予測装置100において、HDDコントローラ10は、HDD300に対する読み書きのコマンドをホスト200から受け取り、HDD300にデータを書き込んだり、HDD300からデータを読み出す。異常値DB記録部40は、記録媒体に対する書き込みにより変化し得る状態情報を記憶する。制御部30は、アクセス対象箇所をアクセスした際に書き込みにより変化し得る状態情報を取得し、アクセス対象箇所に対応づけて書き込みにより変化し得る状態情報を異常値DB記録部40に登録する。
【選択図】図1

Description

本発明は、記録媒体の管理技術に関する。
ハードディスクは円盤表面に微細な欠陥により不良セクタが発生して読み書きができなくなったり、ヘッド障害が原因で、リトライ動作を繰り返すことにより、データ転送速度が著しく低下することがある。また不良箇所が拡大してハードディスク自体が起動しなくなる障害が発生することもある。
特許文献1には、ハードディスクドライブのペンディングセクタ数を取得し、取得されたペンディングセクタ数が予め定められた閾値以上である場合に、ペンディングセクタのうち不良セクタであると判定されるセクタについて、読み取り先又は書き込み先を、代替セクタへ切り替える処理を行うようハードディスクドライブに指示することで読み取り又は書き込み処理の遅延を抑制する技術が開示されている。
特開2015−14824号公報
ハードディスクドライブのSMART(Self−Monitoring, Analysis and Reporting Technology)情報は、ハードディスクドライブの障害の早期発見を目的として、ハードディスクドライブの動作状態を示す各種の検査項目を数値化したものである。SMART情報は、ディスク全体の動作状態に関する情報を提供するものであり、ハードディスクの不良もしくは不良の兆候があるセクタを特定するものではない。
特許文献1で利用されているペンディングセクタ数についても、発生数を記録したものであり、ハードディスクの運用動作中に、ハードディスクドライブのペンディングセクタの位置をホスト側で把握する方法を提供するものではない。
本発明はこうした状況に鑑みてなされたものであり、その目的は、記録媒体について、不良の兆候のある箇所を早期に回復することでアクセス時間を正常化し、安定した動作を継続させることのできる記録媒体管理技術を提供することにある。
上記課題を解決するために、本発明のある態様の記録媒体管理装置は、記録媒体に対する書き込みにより変化し得る状態情報を記憶する状態情報記録部と、アクセス対象箇所をアクセスした際に前記書き込みにより変化し得る状態情報を取得し、前記アクセス対象箇所に対応づけて前記書き込みにより変化し得る状態情報を前記状態情報記録部に登録する制御部とを含む。
本発明の別の態様は、記録媒体管理方法である。この方法は、記録媒体に対する書き込みにより変化し得る状態情報を状態情報記録部に記憶するステップと、アクセス対象箇所をアクセスした際に前記書き込みにより変化し得る状態情報を取得し、前記アクセス対象箇所に対応づけて前記書き込みにより変化し得る状態情報を前記状態情報記録部に登録するステップとを含む。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、記録媒体について、不良の兆候のある箇所を早期に回復することでアクセス時間を正常化し、安定した動作を継続させることができる。
実施の形態1に係るHDD故障予測装置の構成図である。 図1のHDD故障予測装置による故障予測手順を示すフローチャートである。 図2のSMRT情報判定処理の詳細な手順を示すフローチャートである。 コマンド発行番号に対するアクセスパターンを説明する図である。 コマンド発行番号とSMART情報とを対応させて記録した異常値データベースを示す図である。 コマンド発行番号ごとに計数されるエラーカウンタを示す図である。 実施の形態2のHDD故障予測装置による故障予測手順を示すフローチャートである。 図7の故障予想処理の詳細な手順を示すフローチャートである。 図8のワーニング判定処理の詳細な手順を示すフローチャートである。 図8のエラー判定処理の詳細な手順を示すフローチャートである。 コマンド実行時間を測定するためのアクセスパターンを説明する図である。 図11のアクセスパターンにより実測されたコマンド実行時間を説明する図である。 図12Aの模式図を実測値によって示したグラフである。 コマンド発行番号をグループ化したセグメントにおける評価データと閾値データを説明する図である。 図14(a)は、HDD300の正常時のアクセス時間を示し、図14(b)は、HDD300の異常発生時のアクセス時間を示す図である。 図15(a)は、コマンド発行番号と閾値とを対応させて記録した異常値データベースを示し、図15(b)は、セグメント番号と閾値とを対応させて記録した異常値データベースを示す図である。 図16(a)は、コマンド発行番号ごとに計数されるワーニングカウンタを示し、図16(b)は、コマンド発行番号ごとに計数されるエラーカウンタを示す図である。 実施の形態3のワーニング判定処理の詳細な手順を示すフローチャートである。 実施の形態3の回復処理の詳細な手順を示すフローチャートである。 SMART情報の格納方法を説明する図である。
(実施の形態1)
代替セクタが発生することはHDDメーカーとして、回復不可能な障害が発生しているセクタを切り捨てて、新しい代替のセクタに切り替えるHDDが正常動作に戻るための機能回復の方法であり、代替セクタの発生そのものが悪いわけではない。実際、偶発的なセクタ破壊は運用初期においても見られる現象であり、このように単発的に発生するセクタ破壊については、使用者が代替セクタの発生を意識することなく、正常にHDDを使用し続けることができる。
しかしながら、例えば100セクタの書き込みにおいて代替セクタの発生個数がその1割に当たる10個もの発生が確認された場合、例えばヘッドの接触による物理的な障害の可能性が考えられ、これが予想された場合、さらにアクセスしたセクタに近接する近傍エリアでの障害発生が考えられ、障害が成長する可能性がある。
SMART情報には、代替セクタ数として発生個数が示されているだけであり、代替セクタの発生箇所や発生タイミングはわからない。そのため、SMART情報を単に参照するだけでは、代替セクタがどの領域にどのような要因で増加しているかを特定することはできず、障害の成長を予測することができない。そのため、例えば物理的破損により既に深刻な障害によって代替セクタが発生していても、HDDからデータを救い出せないまで症状が進行してしまう可能性がある。このように代替セクタの発生数だけに注目する手法では、HDDの障害の成長を高い精度で検出し、故障前にデータを救出することができないという問題があった。
この問題を解決するため、本実施の形態では、アクセス障害等の問題が起きてからの代替セクタ発生数に注目するのではなく、常にアクセスに対する代替セクタの発生状況を監視することにより、代替セクタの発生位置を特定し、ディスクにおける代替セクタの発生分布の作成を可能とし、その発生分布から故障の予測を行う方法を提案する。
図1は、実施の形態に係るHDD故障予測装置100の構成図である。HDD故障予測装置100は、ホスト200が使用するHDD300を駆動する機能とHDD300の故障を予測する機能とを備える。HDD故障予測装置100は、HDDコントローラ10、一時記憶部20、制御部30、および異常値DB記録部40を含む。これらの構成はハードウェア、ソフトウェア、あるいはその組合せによって実現することができる。なお、HDD故障予測装置100とホスト200とを一体的に構成することも可能である。また、HDD故障予測装置100とホスト200とHDD300とを一体的に構成してもよい。
HDDコントローラ10は、ハードディスクドライブのATA規格に基づき、HDD300に対する読み書きのコマンドをホスト200から受け取り、HDD300にデータを書き込んだり、HDD300からデータを読み出す。また、HDDコントローラ10は、SMART情報読み込みコマンドを発行する。一時記憶部20は、その転送データを特定容量単位にまとめるためにFIFO構造にて一時的に記憶する。
制御部30は、HDDコントローラ10により読み出されたSMART情報から代替セクタ数を抽出し、異常値DB記録部40に記録し、異常値DB記録部40に記録されているこれまでの代替セクタ数の変化からHDD300の寿命を判断する。
異常値DB記録部40は、SMART情報から抽出した代替セクタ数をコマンド発行番号ごとに登録する。
ホスト200は、図示しない表示部及び入力部を備える。ホスト200の入力部への入力は、HDD故障予測装置100の制御部30に伝達され、処理される。また、HDD故障予測装置100の制御部30は、ホスト200の表示部を制御する表示制御部としても機能する。
ホスト200がHDD300に対してデータの書き込みコマンドを発行すると、書き込まれるデータはHDDコントローラ10を経由して一時記憶部20に一時的に記憶される。一時的に記憶された書き込みデータが特定容量に達すると、HDDコントローラ10は時間軸上で古いデータから一定容量単位で図4に示すアクセスパターンに従い、HDD300に書き込む。
現在のコマンド発行番号のデータの書き込みに引き続き、SMART情報読み込みコマンドを発行し、HDD300からSMART情報を読み出し、SMART情報から代替セクタ数を抽出する。
その後、あらかじめ異常値DB記録部40に記憶された当該コマンド発行番号の以前の代替セクタ数を読み出し、HDD300から読み出した代替セクタ数と比較することにより、当該コマンド発行番号における代替セクタ数の変化を調べ、その変化が異常値とする閾値を超えていないかを確認し、HDD300から読み出したSMART情報を異常値DB記録部の以前のSMART情報に上書きする。
これをHDD全体に繰り返すことにより、HDD全体の代替セクタ発生分布を作成し、エラーカウンタが異常と判断する特定の閾値を超えていないことを確認する。このエラーカウンタの変化により故障予測を行い、寿命に達したことを予測したときはHDDの停止警告を発する。
本実施の形態のHDD故障予測装置100の目的は、ディスクにおける代替セクタの分布を常時把握し、故障を予測することである。個々のアクセスしたセクタそのものに代替セクタが発生したことに注目するのではなく、決められた特定容量でアクセスした領域において、アクセス量に対し、どの位の割合で代替セクタが発生し、代替セクタが発生しているエリアがディスク上にどのように分布しているかを情報として蓄積する。
これを通常のファイルシステムによるアクセスで行うと、1セクタ単位でアクセスして代替セクタの発生を監視し、アクセス毎に1セクタ単位でアクセス対象のセクタの情報を記録する必要があるので、HDD容量に比例した大きなサイズのテーブルを用意する必要がある。
その上、アクセス長も常に可変するため、長いデータ長のアクセスでは、そのアクセスから得られる情報が多いので、異常発生時の要因を予測しやすいが、短いデータ長のアクセスでは、アクセスから得られる情報が少ないので、異常が発生してもそこから障害の成長を予測することは難しくなり、毎回のアクセスに対して統一した故障予測の判断をすることが難しくなる。
特に上書きにより、長いデータ長のアクセスが行われた同じ領域に、短いデータ長のアクセスが行われた場合、異常セクタの変化の監視は短いデータ長の領域だけにしか行われないので、同じアクセスにもかかわらず、前にアクセスした残りの長いデータ長の異常セクタの変化は監視できない。そのため、前回の長いデータ長のアクセスでこの領域での代替セクタの発生が見られ、障害の成長が見られたとしてもその次の短いデータ長のアクセスによってそのアクセス内の代替セクタが正常範囲内とみなされると、障害の成長を見落とす可能性がある。
このような問題を回避し、代替セクタの変化量を正確に蓄積するために、一度にアクセスする容量(セクタ数)を固定し、アクセスの度に、代替セクタを監視する容量が変化しないようにする。この固定的な容量を「特定容量」と称する。本実施例では、特定容量を256セクタとするが、これに限定される訳ではなく、他のセクタ数を用いてもよい。また、各々のアクセスに使用する先頭LBA(Logical Block Address)に対応させて、1、2、3、...等の連番を付与したものをコマンド発行番号と称する。なお、以下の説明において、コマンド発行番号の代わりに、LBAを用いることも可能である。ただし、コマンド発行番号を用いた方が、格納や演算に必要なデータ容量を抑えることができる。
図4は、コマンド発行番号に対するアクセスパターンを説明する図である。図4に示すように、特定容量(256セクタ)単位でアクセスし、そのアクセス直後のSMART情報に含まれる代替セクタに関する情報を読み込むことにより、常に一定容量のアクセス領域に含まれる代替セクタ数の発生数の割合を測定する。コマンド発行番号ごとにアクセスする特定容量のディスク領域(セクタ)を「コマンド発行番号領域」と呼ぶ。
特定容量は、ディスク一周分のトラックに相当するセクタ数であってもよい。特定容量は、ディスクの最内周のセクタ数に合わせて決めてもよい。
特定容量単位のアクセスとしたことにより、代替セクタの監視テーブルのサイズを大幅に減らすことができるとともに、同一領域には同一量のアクセスを行うことから、常に同じセクタ数のアクセス領域における代替セクタ数の変化を監視することができるので、効率よく、正確に特定領域内の代替セクタ数の変化を確認することができる。
図4のアクセスパターンにしたがってディスクにアクセスするため、アクセスごとにコマンド発行番号に対応するディスクのアクセス領域がわかる。その上で、代替セクタがどのコマンド発行番号で発生したかがわかるので、代替セクタ数の変化をコマンド発行番号に対してプロットすることにより、代替セクタの発生がディスク上にどのように分布しているかを知ることができる。この代替セクタの分布の変化を監視することにより、HDDの故障予測を行う。
なお、SMART情報とは、代替セクタ数に代表されるHDDの異常の進行状態と、OFF/ON回数、電源ON時間、シーク時間等の実際の運用についての積算をHDDメーカーが用意した閾値とともにHDD内部のメモリ等に記憶したものであり、HDDの故障予測の指標として利用されている。
しかしながら、SMART情報の各種のパラメータ値がHDDの動作とどのような関係にあり、どのような範囲で変化するかは明確ではなく、SMART情報のパラメータ値がHDDメーカーが用意している閾値に達する前にHDDの障害が発生することが非常に多い。そのようなメーカーが決めた閾値に頼るだけでは運用上の故障予測が難しいことから、使用者側でパラメータ値の変化から導き出される閾値を別途用意して、故障予測を行ってきたのが実情である。本実施の形態では、SMART情報の代替セクタ数を独自の方法で評価することで故障予測を行っている。
図2は、HDD故障予測装置100による故障予測手順を示すフローチャートである。
図2のステップS201では、一時記憶部20からHDD300に転送する先頭のデータが、どのコマンド発行番号に該当するか特定する。例えば、一時記憶部20において、ホスト200からHDD300に通常書き込むのと同じLBAを用いて、転送すべきデータを管理し、転送時に先頭LBAを特定容量で割った値を算出してコマンド発行番号とすればよい。この特定したコマンド発行番号(データ転送に用いる先頭のコマンド発行番号)をiとする。
ステップS205では、一時記憶部20からHDD300に転送するデータ容量(書き込み容量)が、何個分のコマンド発行番号(特定容量)に相当するかを算出する。具体的には、データ容量を特定容量で除算し、その商と余りを算出する。そして、その商を書き込み回数Mとする。
HDD300への書き込みはセクタ単位で制御できるが、特定容量はそれ以上(ここでは256セクタ)であるため、最後の書き込みデータが特定容量以下の場合は、最後に書き込む特定容量内に既存のデータが存在する可能性がある。
そこでステップS210では、ステップS305で算出された余りが「0」であるか否かを判定する。すなわち、書き込み容量が特定容量で割り切れるか否かを判定する。その結果、割り切れない場合(余りが存在する場合)(S210のNO)、ステップS215に進む。ステップS215おいて、端数のデータに相当するM+1番目の書き込み領域に他のデータがあるかどうかを確認し、他のデータが存在する場合(S215のYES)、ステップS220において、その存在するデータを一時記憶部20に読み込み、M+1番目の書き込みデータに結合した後、M+1番目に書き込むデータとして用意してステップS225に進む。ステップS215において他のデータが存在しない場合(S215のNO)、書き込みデータを結合する必要はないので、そのままステップS225に進む。この結果、端数分につき書き込み回数が1つ増えるので、ステップS225においてMを1だけ加算し、ステップS230に進む。
ステップS210において書き込み容量が特定容量で割り切れる場合(S210のYES)、ステップS230に進む。
ステップS230において、図4に示すアクセスパターンにおける、コマンド発行番号iに対応する特定容量の書き込みを行う。
ステップS232において、コマンド発行番号iに対する書き込みを行った後のSMART情報をHDD300から読み取り、異常値DB記録部40に現在のSMART情報を登録する。図5に示すように異常値DB記録部には、それぞれのコマンド発行番号について、前にアクセスしたときに取得したSMART情報と現在のアクセスで取得したSMART情報が格納される。
ステップS235では、コマンド発行番号領域内のSMART情報の解析を行う。SMART情報判定処理については、図3のフローチャートを参照して後ほど詳しく説明する。
ステップS235で解析されたコマンド発行番号領域の代替セクタ発生の累計分布が閾値を超えるようなら、障害が進行していることを示す。ステップS235でこれまでの各セクタのSMART情報の代替セクタ発生の分布から盤面の傷等の物理的エラーを解析し、総合的に寿命の到来を検出し、寿命到来検出時は最終的にHDD300の停止警告を出すことにより、運用稼働中のHDD300からデータを退避させることを促す。
ステップS240において、ステップS235の処理で更新したHDDのエラーカウンタおよびSMART情報を表示する。ユーザ(操作者)は、これらのカウンタ値によってHDD300の状態を監視することができ、必要なときには操作者がこの数値から判断して、独自にHDD300を停止させることもできる。
ステップS245において、ステップS235の結果を受けて処理されたエラーカウンタが動作停止パラメータ値を超えたことが確認された場合(S245のYES)、故障予測処理を終了する。なお、ステップS245のYESの直後に、さらにユーザの注意を喚起するような警告メッセージを表示したり、故障予測処理を終了することを通知するメッセージを表示してもよい。
ステップS245がNOの場合は、ステップS250において、書き込み回数Mを1減算し、コマンド発行領域iはアクセスが次の領域に移るため、1加算する。
最後にステップS255において、書き込み回数Mが0より大きい場合(S255のYES)、所定回数の書き込みに達するまでステップS230〜ステップS250までの一連の処理を繰り返す。書き込み回数Mが0になった場合(S255のNO)、故障予測処理を終了する。
図3は、ステップS235のSMART情報判定処理の詳細な手順を示すフローチャートである。SMART情報判定処理では、コマンド発行番号におけるセクタの状態を解析する。セクタの状態を解析するためにSMART情報の特に代替セクタ数の変化に注目し、代替セクタ数の変化から、最終的にHDD300の故障予測を行う。
SMART情報判定処理は図6で示すコマンド発行番号ごとのエラーカウンタの値を加算することで行う。
所定数N個のコマンド発行番号ごとに、コマンド発行番号をグループ化する。以下では、このグループを「コマンド発行セグメント」あるいは単に「セグメント」と称する。また、所定数Nを「セグメント長」と称する。典型的には、N=30〜50とするのがよい。例えば、N=30とする場合、コマンド発行番号=1〜30をセグメント1、コマンド発行番号=31〜60をセグメント2、コマンド発行番号=61〜90をセグメント3とし、以下同様に、コマンド発行番号とセグメントを対応させる。
ステップS300において、前回コマンド発行番号iを実行したときのSMART情報(特に代替セクタ数)を異常値DB記録部40より読み出す。
ステップS305において、ステップS300で読み込んだ前回のSMART情報の代替セクタ数と図2のステップS232で読み込んだ現在のSMART情報の代替セクタ数を比較する。このとき、発生する可能性のある代替セクタ数の最大値はコマンド発行番号内のセクタ数である。
ステップS305で現在の代替セクタ数が前回の代替セクタ数よりも増えている、すなわち、新たな代替セクタの発生が確認された場合(S305のYES)、ステップS310において、現在のコマンド発行番号領域おける代替セクタ数が所定数(例えば5個)以上増加したか(新たに所定数以上の代替セクタが発生したか)否かの確認を行い、現在のコマンド発行番号によるアクセスだけで急激に代替セクタが増加していないか、調べる。
衝撃によるヘッドのスクラッチ傷が発生している場合、それを要因として、HDD300の盤面の同一円周上における連続するセクタについて代替セクタ数が急激に増える。そのため、ステップS310では、現在のコマンド発行番号によるアクセスだけで急激に代替セクタが発生していないかを確認する。傷による障害の場合、一時的には代替セクタの発生によりHDD300としての機能は回復するが、障害は今のコマンド発行番号以外にも及んでいる可能性が高いので、至急にHDDを停止させ、データを保護する策を取る必要がある。ステップS310で予め設定した閾値(例えば5個)以上の代替セクタの発生が確認された場合(S310のYES)、ステップS330でHDD停止勧告を発し、HDD300の使用を停止させる必要がある。
代替セクタ発生数の閾値は、連続するセクタが最も少ないディスク最内周で最小の傷が早期に発見できるようにHDD300ごとに変更することが望ましい。
現在のコマンド発行番号領域内で、閾値以上の急激な代替セクタの発生が確認できない場合(S310のNO)、ステップS315で現在のコマンド発行番号領域での代替セクタの発生数を、図6に示すエラーカウンタに登録する。
ステップS320において、アクセス対象のセグメントの前に10個のセグメント、後に10個のセグメントという近傍セグメントエリアにおいてゼロでないエラーカウンタが合計5個以上確認された場合(S320のYES)、近傍セグメントエリアにおいて遅延が拡大するものと判断し、ステップS330に進み、HDD停止の警告を発する。これは、近傍セグメントエリアにおいて複数個の代替セクタが含まれていれば、コマンド発行番号領域の障害が現在のコマンド発行番号領域の周辺に高密度に広がっていることを示すからである。
このように近傍セグメントエリアでHDD300のSMART情報を参照して障害の発生位置を評価することにより、障害の進行を捉え、故障を予測する。
アクセス対象のセグメントの前に10個、後に10個という隣接する近傍セグメントエリアのセグメント数と、近傍セグメントエリア内でのエラーカウンタが5個以上という閾値は、障害が予測できる代替セクタ発生の分布が明確に観察される値として特定されたものであるが、典型例であり、これ以外の値を用いてもよい。これらのパラメータの値はHDD300の容量で変化する。HDD300の最大容量が小さい場合、HDD300全体をアクセスするコマンド発行番号領域が小さいので、少しの変化で遅延アクセスエリアは拡散しやすいことから、これらのパラメータ値は小さくする必要がある。HDD300の最大容量が大きい場合、HDD300全体をアクセスするコマンド発行番号領域が大きいので、少しの変化では遅延アクセスエリアは拡散しにくいので、これらのパラメータ値は大きくする必要がある。
障害の広がりが検出された場合、物理的障害が現在評価しているコマンド発行番号領域にとどまらず、まだ評価していないコマンド発行番号領域にも広まっている可能性が高く、評価の進行過程で読み込みエラーまで発展し、データを読み出せなくなる恐れがあるため、早急にHDD停止勧告を発し、HDDの使用を停止させる必要がある。
このように、障害解析結果から障害の進行が解析でき、直ぐにでもHDDからデータを取り出す必要がある場合を除き、通常はエラーカウンタの更新を行い、ステップS325で全セグメントのエラーカウンタが所定数(例えば10個)を超えた場合(S325のYES)、ステップS330でHDDの停止警告を発する。
全セグメントを通して、エラーカウンタが10個以上という閾値は、障害に特定の広がりが見えない場合でも、HDD300上に代替セクタやアクセス遅延領域が点在して増加していく場合、障害が進行していることを示す値である。10個という閾値は、HDD300の容量当たりでの発生個数でホストのアクセスに障害を与え始める値の総数を示し、この値はHDD300の容量で変化する。所定数としてこれ以外の個数を用いてもよい。
以上述べたように、本実施の形態のHDD故障予測装置100による故障予測手順によれば、代替セクタの発生位置を明確にすることにより、代替セクタの発生位置とその発生個数から起きている障害に重み付けを行って深刻度を評価することができ、障害の進行を的確に捉えることができる。その結果、HDD300の故障を正確に予測することができ、HDD300内のデータの損失を防ぐことができる。
代替セクタの発生により機能回復した場合は、単発的であればHDD300の機能を正常化させた物としてそれ以降エラーカウントの累積は急激に進行しないが、近傍セグメントの連続した領域においてエラーカウントが増加するようなら、代替セクタの発生による傷やヘッド不良による書き込みミスが発生していると考えられる。このように、各セグメントにおけるSMART情報の代替セクタの発生数をエラーカウントとして捉えることによって、ディスク全体において、問題が発生しているセグメントの進行の分布を明確にすることが出来るので、その分布の進行状態から、HDD300の故障が近いことを判断することができる。
最終的にエラーカウンタは、代替セクタ数の変化で累計されたカウンタの値から、故障予測とする閾値を超えたことを判断し、HDD300に対し停止警告を表示灯などにより知らせるために用いられる。これは、ブザー等による警報であってもよく、本システムの停止機能と連動させてもよい。また、外部のシステムと連携し、エラーカウンタの値に応じて、HDD等の記憶装置の購入に係る情報(広告情報など)を表示したり、クラウド等を用いたバックアップサービスの利用を促したり、記憶装置の購入やバックアップサービスの利用を促進するための優待サービス(クーポン券の提示など)を実施してもよい。このように、必要度の高いユーザにピンポイントで適切な情報を提供することにより、ユーザの利便性が向上するとともに、関連商品やサービスの売上増加が期待できる。
(実施の形態2)
HDDは動作不具合を起こした場合、書き込まれたデータの保証がない。HDDの動作不具合は一旦起きてしまうと、基本的に内部データを読み出すことができないため、大きな損失が発生する。すなわち、故障であることを気がついた段階では、HDD内のどこかのデータを失うことを避けることができない。そこで、本発明の実施の形態に係るHDD故障予測装置100では、運用上のデータの読み出しが正常にできる限界としてのHDDの寿命を予測し、HDDの故障により、データを失うことを回避することを目的とする。
転送時間の比較によるHDDの寿命予測について、特開2011−68109号公報にはアクセス時間を評価する方法が記載されている。しかしながら、HDDの障害について、特に経年劣化に伴う内部パーツの摩耗から来る障害は、現在障害が発生している位置にとどまらず、時間とともに拡大する傾向があるので、その予兆を高い精度でとらえないと、時間の経過とともにHDDの内部データを失う可能性が高くなる。
特に、障害へと進行しつつあるエリアを再アクセスすることは重大な障害へ進展する可能性が高いので、障害の進行を予測できることは、その後のHDDの内部データの救済策を講じる手法を決める上で非常に重要な目安となってくる。
そこで、実施の形態2のHDD故障予測装置100では、特開2011−68109号公報では使用していなかったHDDのSMART情報を使用するとともに、特定のアクセスパターンによるアクセス時間の散布図にもとづいて、アクセス時間によって故障を予測する際に使用する閾値を決定することにより、故障予測の精度を上げる方法を採用する。
実施の形態2に係るHDD故障予測装置100の構成図は図1に示した実施の形態1に係るHDD故障予測装置100の構成図と同じである。ここでは、実施の形態1と共通する構成と動作の説明は適宜省略し、実施の形態1と異なる構成と動作について説明する。
制御部30は、HDDコントローラ10の書き込み時のコマンド実行時間(アクセス時間)を測定するとともに、HDDコントローラ10により読み出されたSMART情報から代替セクタ数を抽出し、アクセス時間と代替セクタ数の変化からHDD300の寿命を判断する。
異常値DB記録部40は、アクセス時間の異常を判定するための閾値を記憶するとともに、遅延アクセス発生時に遅延アクセスが起きたコマンド発行番号と遅延アクセス時間と遅延アクセス発生時のSMART情報をデータベースとして登録する。本実施例では後述するように、所定数のセクタ単位(特定容量単位)でHDD300にアクセスする。
ホスト200がHDD300に対してデータの書き込みコマンドを発行すると、書き込まれるデータはHDDコントローラ10を経由して一時記憶部20に一時的に記憶される。一時的に記憶された書き込みデータが所定の容量に達すると、HDDコントローラ10は時間軸上で古いデータから図11に示すアクセスパターンに従い、HDD300に書き込む。この処理の詳細については後述する。
このとき、制御部30は、HDDコントローラ10からデータがHDD300に書き込まれたときのコマンド実行時間(アクセス時間)を測定し、あらかじめ異常値DB記憶部に記憶された閾値を読み出し、現在のアクセス時間がこの閾値を超えているか否かを判定する。
アクセス時間が閾値を超えたことが確認された場合、制御部30は、アクセス時間が閾値を超えたLBAとアクセス時間とそのときのSMART情報を記憶し、後述のワーニング(警告)カウンタおよびエラーカウンタを計数して、ワーニングカウンタおよびエラーカウンタの推移によってHDD300の故障予測を行い、寿命に達したことを予測したときはHDDの停止警告を発する。
SMART情報のおける代替セクタ数は、HDDの障害を知る上で重要な値であるが、HDDのSMART情報において代替セクタ数は単に発生数を数値で示しているだけであり、代替セクタがどのセクタに発生したかをHDDの動作中にリアルタイムに知る方法はなかった。そのため、既存の技術ではSMART情報は、HDDの内部障害が発生した後の原因の解析に使われることがほとんどである。
実際の動作では、代替セクタはいきなり発生するわけではなく、HDDメーカー所定のリトライ回数を経て、本来書き込もうとしていたセクタに書き込めなかった場合、代替セクタが発生する。障害が進行する過程において、代替セクタが発生したセクタをアクセスすると、障害の予兆として、リトライが発生し、アクセス遅延が生じている。このリトライの過程で、データが読めて代替セクタが発生すればデータは守られるが、リトライを繰り返す過程でデータが読めなくなり、代替セクタへ移行できない場合もある。ここまで障害が進行すると、障害が発生したセクタに書かれていたデータが失われてしまう。
動作中のHDD内部において、その障害が発生しているセクタを特定して集計することにより、障害がどのセクタにおいて時間経過とともに進行しているかを知ることができ、障害の分布の集計から故障の到来を予測することが可能になる。
そこで、実施の形態2のHDD故障予測装置100では、あらかじめ特定の方法で決定されたHDDの正常動作時のアクセス時間の閾値を異常値DB記録部40に記録しておき、HDDのアクセス時間が正常動作時の閾値を越えたことをトリガーとして代替セクタ数に代表されるSMART情報を読み取り、前回、アクセス時間が閾値を超えたときのSMART情報と比較する。基本的に、閾値を超えてアクセス時間を要するセクタはアクセス異常を起こすことによって処理時間が余計にかかっていることから、HDD内部の制御システムはその異常内容をSMART情報として残している可能性が極めて高い。ただし、このように閾値を超えたアクセス時間がかかっても、そのセクタに何とかデータが書き込めた或いは読み込めた場合は、SMART情報に反映されない場合もある。
このように、アクセス時間が閾値を越えることは、HDD内部で正常時よりも何らかのアクセス遅延を起こす要因が発生していることを示している。しかしSMART情報の更新につながるアクセス時間の閾値などの情報は、HDDメーカー毎に異なり、必ずしも明確ではない。しかしながら、事前にHDDの正常動作時のアクセス時間の閾値を基準としてSMART情報の読み込みを行うならば、HDDメーカーから障害判定の閾値データを入手したり、事前の障害解析のような複雑なデータ解析をすることなく、HDDの故障予測ができるメリットがある。
このように、実施の形態2のHDD故障予測装置100は、HDDの正常動作時のアクセス時間の閾値を基準として、アクセス時間が閾値を超えた場合に、どのセクタでSMART情報が変化するかを把握して集計することにより、HDD内部の障害の進行をより正確に捉える。リアルタイムにSMART情報とセクタの状態を関連づけて障害発生の予兆をとらえるため、高い精度で故障予測することができる。
ここで、HDD300のアクセス時間の概要を説明する。図14(a)は、HDD300の正常時のアクセス時間を示し、図14(b)は、HDD300の異常発生時のアクセス時間を示す。
正常時のアクセス時間は、図14(a)に示すように、シーク時間、回転待ち時間、集束時間などのヘッド動作に依存する時間と、データ転送時間との合計で表わすことができる。
異常発生時のアクセス時間は、図14(b)に示すように、正常時のアクセス時間に加えて、代替セクタ発生時にはリトライ時間、代替セクタ処理時間等が加わるため、正常アクセス時の数十倍の処理時間を要する。よって、アクセス時間と代替セクタの変化には関連性があり、アクセス時間の伸びているセクタは、この直後に読み取るSMART情報で代替セクタが発生しているか、或いは、発生の可能性が高い。
HDD300は、一定速度でディスクが回転しているため、ヘッドが目標セクタにアクセスを行う際、アクセスタイミングによっては最大でディスク1周分の回転待ち時間が発生する。また、前回のアクセスが終了した時のヘッド位置によってこれからアクセスする位置までのシーク時間が変動するため、総合的なアクセス時間も変動する。その結果、アクセスに至るまでの集束時間も異なるため、工場出荷時と同じアクセス時間で対象セクタにアクセスできることはなく、アクセスごとにばらつく。そこで、本実施の形態では、図11に示すアクセスパターンを用いることにより、アクセス時間のばらつきに対処している。
図7は、HDD故障予測装置100による故障予測手順を示すフローチャートである。
ステップS401において、HDDコントローラ10は、図11のアクセスパターンに従いHDD300にアクセスし、制御部30は、そのときのコマンド実行時間を測定する。
図11に示すアクセスパターンでは、1つのコマンド発行番号に対応して、特定容量のデータが書き込まれるようになっている。本実施例では、特定容量を256セクタにしているが、それ以外のセクタ数を用いてもよく、これに限定される訳ではない。HDD300の場合、以前のアクセスが終了した時のヘッド位置が不特定であると、特にシーク時間にばらつきが生じ、相対的に正確なアクセス時間が測定できない。そこで図11に示すようにヘッドの位置をアクセス終了後、常に初期位置(ここではセクタ0の位置)にリセットしてから特定容量(256セクタ)の書き込みを順次行うことにより、より正確なアクセス時間の測定を可能としている。
図12Aは、図11のアクセスパターンにしたがってHDD300にアクセスしたときのアクセス時間の模式図である。横軸はコマンド発行番号、縦軸はコマンド発行番号ごとのアクセス時間である。図12Bは、図12Aの模式図を実測値によって示したグラフである。測定データをプロットすると、図12Bに示すような散布図が得られ、アクセス時間が右肩上がりの帯状に分布する。
HDD300の回転待ちと集束時間が無い理想的な状態であれば、アクセスターゲットとなるセクタに対するアクセス時間をプロットした散布図は、ほぼ1本の線になるはずである。しかしながら、これまで述べたようにディスクのアクセスについては常に回転待ちと集束時間についてばらつきが存在するので、図11のアクセスパターンで示す特定容量ごとのアクセス時間をプロットすると、実際は図12Bのように特定のばらつきを持った帯のような形をなし、コマンド発行番号とアクセス時間の間には強い相関がある。図12Bの帯全体の傾きは、図11で示すところのコマンド発行番号の増加に伴い、アクセス対象のセクタがヘッドのリセット位置から遠くなることによる主にシーク時間の増大が要因である。
なお、コマンド実行時間(アクセス時間)の測定は、HDD故障予測装置100で行ってもよいし、同じアクセスパターンを発生する外部機器で行ってもよい。
次にステップS402では、ステップS401で測定された散布図における帯の上端に相当する値を検出する。そして、この値をコマンド発行番号毎の閾値(故障予測閾値)として用いる。この値は、シーク時間、回転待ち時間、集束時間などのヘッド動作に依存する待ち時間が極大となる場合のアクセス時間であり、HDD300が正常である時は、アクセス時間がこの値以下に収まるという特徴がある。従って、この値を故障予測の閾値として用いることにより、アクセス時間がこの閾値を超えたら、HDD300のアクセスが正常でないことが把握できる。この閾値の具体的な検出方法については後述する。
次にステップS403では、ステップS402で算出した閾値を異常値DB記録部40に登録する。具体的には、図15(a)に示すように、コマンド発行番号と閾値とを対応させて記録する。
ステップS401〜ステップS403は、故障予測を行う事前処理あるいは初期設定処理である。
次にステップS404では、HDD300の使用時において故障予測動作を行う。制御部30がコマンド発行領域のアクセス時間が異常値DB記録部40に記録した閾値を超えていないかを監視し、閾値を超えたコマンド発行番号領域については異常値DB記録部40にコマンド発行番号とアクセス時間とSMART情報を記録する。現在のSMART情報は、前回、アクセス時間が閾値を超えたときのSMART情報と比較される。そのため、異常値DB記録部40には、前回、アクセス時間が閾値を超えたときのコマンド発行番号のSMART情報が一時的に記憶され、現在のコマンド発行番号のSMART情報との比較に用いられる。
制御部30は、異常値DB記録部40に記録されたワーニングカウンタとエラーカウンタを計数し、その結果、HDDにおけるアクセス時間が閾値を超えたセクタとそのセクタにおけるSMART情報の変化の分布が故障予測と判定されるレベルにまで達したとき、HDD300の停止警告を発し、処理を終了する。
ステップS401〜S403の処理において、制御部30は閾値算出部として動作する。閾値算出部は制御部30とは別の回路としてもよい。
なお、HDDの型番とファームウェアが同じであれば、図12Bの散布図の帯から得られる閾値は同じであるから、新たに閾値を作成する必要はないため、ステップS401〜ステップS403を省略し、他のHDDで測定した閾値を用いて、ステップS404の故障予測を開始することができる。他のHDDで測定した閾値を用いる場合、HDD故障予測装置100に閾値算出部を備える必要はない。
ここで、ステップS402の閾値を検出する方法を詳細に説明する。ステップS402の第1の方法を説明する。
図13に示すように、所定数N個のコマンド発行番号ごとに、コマンド発行番号をグループ化する。以下では、このグループを「コマンド発行セグメント」あるいは単に「セグメント」と称する。また、所定数Nを「セグメント長」と称する。ここで、所定数N(セグメント長)は、1つのセグメントにシーク時間、回転待ち時間、集束時間などのヘッド動作に依存する待ち時間が極大となる点が、おおよそ1つ以上含まれるように設定する。典型的には、N=30〜50とするのがよい。例えば、N=30とする場合、コマンド発行番号=1〜30をセグメント1、コマンド発行番号=31〜60をセグメント2、コマンド発行番号=61〜90をセグメント3とし、以下同様に、コマンド発行番号とセグメントを対応させる。
次に、セグメントごとにアクセス時間の最大値を検出する。そして、その最大値をそのセグメントにおける閾値とする。例えば、N=30であり、セグメント1の中で、コマンド発行番号=12において、アクセス時間が最大となり、最大値が30msecとなる場合、コマンド発行番号1〜30に対応する閾値を全て30msecとする。あるいは、各セグメントにおけるアクセス時間の最大値に所定倍率を乗じた値をそのセグメントの閾値としてもよい。例えば、所定倍率=1.2とし、最大値30msec×1.2=36msecを当該セグメントの閾値としてもよい。あるいは、各セグメントにおけるアクセス時間の最大値に所定値を加算した値を閾値としてもよい。例えば、所定値=5msecとし、最大値30msec+5msec=35msecを閾値としてもよい。
この第1の方法で算出した閾値は、1つのセグメントに対応するコマンド発行番号においては、全て同じ値となる。従って、ステップS403において、コマンド発行番号ごとに閾値を記録せずに、図15(b)に示すように、セグメント番号と閾値を対応させて記録してもよい。
ステップS402の第2の方法を説明する。まず、第1の方法と同様に、所定数のコマンド発行番号ごとにセグメントを形成する。このセグメントは、後続の処理ステップで使用するためのもので、ステップS402においては、セグメントを使用しない。
次に、あるコマンド発行番号(コマンド発行番号i)に対して、その前後の所定範囲のコマンド発行番号(i−w〜i+w)を対象にアクセス時間の最大値を検出する。すなわち、数式(1)に従って、コマンド発行番号iに対応する閾値θ[i]を算出する。ここで、a[i]はコマンド発行番号iに対応するコマンド実行時間(アクセス時間)であり、wは正の整数であり、maxは引数に指定された値の中から最大値を返す関数である。数式(1)によれば、(2w+1)個のコマンド発行番号を対象にして最大値を検出することになる。正の整数wは、(2w+1)個のコマンド発行番号の中に、アクセス時間の極大値が1つ以上含まれるように設定するとよい。典型的には、w=15〜25を用いるとよい。(2w+1)がセグメント長Nと同じであってもよいし、異なっていてもよい。ステップS401で測定に用いた最大のコマンド発行番号をPとすると、数式に従って、i=(w+1)〜(P−w)に対応する閾値θ[w+1]〜θ[P−w]を各々算出する。i=1〜wについては、θ[w+1]を流用し、i=(P−w+1)〜Pについては、θ[P−w]を流用すればよい。
Figure 2017168157
また、数式(1)に従って算出した値に、更に移動平均処理を行って、閾値を算出してもよい。例えば、数式(1)の左辺を一時変数μ[i]に代入し、数式(2)に従って、μ[i]の移動平均を算出して閾値θ[i]とする。ここで、ε[j]は数式(3)を満たす重み係数である。またLは正の整数であり、典型的には5〜10に設定するとよい。数式(2)に従って閾値を算出することにより、閾値の変化が滑らかになり、精度よく故障予測できる場合がある。
Figure 2017168157
Figure 2017168157
図8は、ステップS404で示した故障予想処理の詳細な手順を示すフローチャートである。
HDD300の故障は、特定容量単位で区切られたエリアのアクセス時間がどのくらいの遅延をもって図12Bで示す散布図の帯の上端である閾値を超えているか、そのアクセス遅延の発生がどのようにエリアをまたいで広がっているかによって予測する。
HDD300の閾値を超えたアクセス遅延の原因は、アクセス時に異常が発生したため、通常アクセス時の処理に加え、リトライや代替セクタ発生のような異常発生時の処理時間が加わることによる。
しかしながら、ある特定セクタだけの損傷による代替セクタの発生は、代替セクタが発生した時点だけ大きなアクセス遅延が発生するが、以後、同じセクタをアクセスしてもHDD300としては、正常動作に戻ったとして扱われ、再度同じ領域をアクセスしてもアクセス遅延が発生しなくなるという特徴がある。この場合、発生も単発で異常セクタの拡大は確認できず、そのとき発生した代替セクタ以上の拡大は見られない。これに対し、経年劣化によるアクセス遅延は、劣化が進行するとともにセグメント長で区切られたエリアの閾値を超える数がアクセスごとに徐々に増加していくが、そのパターンは特定できないため、セグメントで区切られたエリアの閾値の超え方の推移を異常値DB記録部40に登録することにより故障の予測を行う。
図8のステップS501では、一時記憶部20からHDD300に転送する先頭のデータが、どのコマンド発行番号に該当するか特定する。例えば、一時記憶部20において、ホスト200からHDD300に通常書き込むのと同じLBAを用いて、転送すべきデータを管理し、転送時に先頭LBAを特定容量で割った値を算出してコマンド発行番号とすればよい。この特定したコマンド発行番号(データ転送に用いる先頭のコマンド発行番号)をiとする。
ステップS505では、一時記憶部20からHDD300に転送するデータ容量(書き込み容量)が、何個分のコマンド発行番号(特定容量)に相当するかを算出する。具体的には、データ容量を特定容量で除算し、その商と余りを算出する。そして、その商を書き込み回数Mとする。
HDD300への書き込みはセクタ単位で制御できるが、特定容量はそれ以上(ここでは256セクタ)であるため、最後の書き込みデータが特定容量以下の場合は、最後に書き込む特定容量内に既存のデータが存在する可能性がある。
そこでステップS510では、ステップS505で算出された余りが「0」であるか否かを判定する。すなわち、書き込み容量が特定容量で割り切れるか否かを判定する。その結果、割り切れない場合(余りが存在する場合)(S510のNO)、ステップS515に進む。ステップS515において、端数のデータに相当するM+1番目の書き込み領域に他のデータがあるかどうかを確認し、他のデータが存在する場合(S515のYES)、ステップS520において、その存在するデータを一時記憶部20に読み込み、M+1番目の書き込みデータに結合した後、M+1番目に書き込むデータとして用意してステップS525に進む。ステップS515において他のデータが存在しない場合(S515のNO)、書き込みデータを結合する必要はないので、そのままステップS525に進む。この結果、端数分につき書き込み回数が1つ増えるので、ステップS525においてMを1だけ加算し、ステップS530に進む。
ステップS510において書き込み容量が特定容量で割り切れる場合(S510のYES)、ステップS530に進む。
ステップS530において、図11に示すアクセスパターンにおける、コマンド発行番号iに対応する特定容量の書き込みを行う。
ステップS535では、コマンド発行番号iに対応するコマンド実行時間a[i]が閾値θ[i]を超えたか否かを判定する。
HDD300のアクセス時間に対する特徴として、障害、劣化が進んでいないHDD300は、正常時の処理時間内にアクセスが終了するので、セグメントのアクセス時間は閾値内に収まる。しかしながら、経年劣化が進んだHDD300や障害発生したHDD300は、ヘッドの汚れ、内部での蓄積したほこりの影響、盤面上に発生した傷等により内部の障害が拡大し、その結果、HDD300の内部処理時間が障害に対応する処理を必要とし、正常処理時に比べて内部処理に時間を要するので、アクセス時間が決められた閾値を超え、書き込みアドレスに対するアクセス時間の遅延は拡大する。ステップS535ではこのような症状が起きていないかどうかを確認する。
コマンド実行時間が閾値を超えていない場合(S535のNO)、ステップS545に進む。ステップS545において、当該コマンド発行番号に対応する過去のワーニングがカウントされている場合(S545のYES)、アクセス時の一時的な要因があったとみなし、ステップS550においてコマンド発行番号領域のワーニングカウントを0に戻し、ステップS565に進む。
コマンド実行時間が閾値を超えた場合(S535のYES)、そのアクセス遅延時間がSMART情報に変化を与えるものかを確認するため、ステップS540でコマンド発行番号iに対するSMART情報を読み取り、異常値DB記録部40にSMART情報を記録する。
異常値DB記録部40におけるSMART情報を格納するメモリの構造を図19に示す。格納メモリAは常に、今処理を行っているSMART情報を格納し、格納メモリBには前回処理を行ったSMART情報を格納する。
具体的には、ステップS540でSMART情報を読み込む際に、まず格納メモリA内のデータ(前回読み込んだSMART情報)を、格納メモリBにコピーする。元々格納メモリBに格納されていたデータ(前々回読み込んだSMART情報)は、上書きされる。その後、今回読み込んだSMART情報を格納メモリAに格納する。
この後、ステップS543では、格納メモリA内の現在のSMART情報と、格納メモリB内の前回処理を行ったSMART情報とを比較し、SMART情報(ここでは代替セクタ数)に更新があったかどうかを確認し、更新がなければ(S543のNO)、ステップS555のワーニング判定処理を行い、更新があれば(S543のYES)、ステップS560のエラー判定処理を行う。
ここで、SMART情報に更新があった場合、今アクセスしたコマンド発行番号内のセクタにおいてSMART情報の更新であったことを示している。コマンド発行番号毎にアクセス時間が閾値を超えた場合に、SMART情報の変化を把握し、特定セグメント毎にワーニングカウンタとエラーカウンタを集計することで、異常と判断されるセクタがどのようにHDD上に分布しているかを解析する。
ステップS555において、致命的ではない障害を検出するワーニング判定処理を実行する。アクセス時間が閾値を超えながらSMART情報が更新されないような障害の場合、或いは、ステップS543においてSMART情報の中でも代替セクタ数以外の更新の場合は、致命的ではない障害と判断されるが、何らかの異常の発生を検出しているものはあるので、ワーニング処理を行ってワーニングカウンタを集計する。ワーニング判定処理については、図9のフローチャートを参照して後ほど詳しく説明する。
ステップS560において、致命的な障害を検出するエラー判定処理を実行する。ステップS560では、コマンド発行番号領域内に含まれる各セクタに注目してアクセス時間の遅延の実態を把握し、主にリアルタイムに取得できたSMART情報により各セクタの状態を解析する。特に各セクタにおける代替セクタ発生の分布から盤面の傷等の物理的エラーを解析し、ステップS555のワーニング判定処理の解析結果を含め、総合的に寿命の到来を検出し、寿命到来検出時は最終的にHDDの停止警告を出すことにより、運用稼働中のHDDからデータを退避させることを促す。エラー判定処理については、図10のフローチャートを参照して後ほど詳しく説明する。
ステップS565では、ステップS555およびステップS560の処理で更新したHDD300のワーニングカウンタ値およびエラーカウンタ値をSMART情報とともに表示する。ユーザ(操作者)は、これらのカウンタ値によってHDD300の状態を監視することができ、必要なときには操作者がこの数値から判断して、独自にHDD300を停止させることもできる。
ステップS570において、ステップS560の結果を受けて処理されたエラーカウンタが動作停止パラメータ値を超えたことが確認された場合(S570のYES)、故障予測処理を終了する。なお、ステップS570のYESの直後に、さらにユーザの注意を喚起するような警告メッセージを表示したり故障予測処理を終了することを通知するメッセージを表示してもよい。
HDD300へのデータ書き込み中はステップS555およびステップS560の処理をコマンド発行番号に対して行い、使用しているHDD300の故障予測を行う。このため、ステップS575で書き込み回数Mを1減算し、コマンド発行領域iはアクセスが次の領域に移るため、1加算する。
最後にステップS580において、書き込み回数Mが0より大きい場合(S580のYES)、所定回数の書き込みに達するまでステップS530〜ステップS575までの一連の処理を繰り返す。書き込み回数Mが0になった場合(S580のNO)、故障予測処理を終了する。
図9は、ステップS555のワーニング判定処理の詳細な手順を示すフローチャートである。ワーニング判定処理では、HDD内部においてSMART情報の代替セクタ数の変化では検出できない異常が発生しているエリアを特定し、異常発生エリアがどのように分布しているか(広がっているか)を判定する。
ワーニング判定は図16(a)で示すコマンド発行番号ごとのワーニングカウンタの値を加算することで行う。
ワーニング判定処理はアクセスしたコマンド発行番号のアクセス時間が閾値を超えた場合に行われるので、ステップS601において、ワーニングカウンタを1つ増やすとともに、コマンド発行番号とそのときのコマンド実行時間(アクセス時間)を異常値DB記録部40に登録する。
ステップS605において、障害の広がりを確実に検出するため、アクセス対象のセグメントの前に5個のセグメント、後に5個のセグメントを取った狭い近傍セグメントエリア(第1近傍セグメントエリア)において、図12Bの散布図の帯が閾値を超えて拡散しつつあるかどうかを確認する。具体的には、第1近傍セグメントエリアにおいて、ゼロでないワーニングカウンタが10個以上発生しているかどうかを判定する。ワーニングカウンタが10個以上確認された場合(S605のYES)、この近傍セグメントエリアにおいて遅延が拡大していると判定し、次のエラー判定処理でHDD300の停止の警告を発することができるよう、ステップS610でエラーカウンタに故障予測の閾値(ここでは10)を加算する。
ワーニング判定処理は、基本的に図8のステップS535で示すようにアクセス時間が閾値を超え、何らかのアクセス障害が発生しているが、ステップS543でSMART情報において代替セクタの発生が確認できない場合に行われる。
SMART情報の特に代替セクタの更新は、HDDの内部システムでも障害が発生していることを認識でき、代替セクタ数の集計により自らの異常を判断できる。ヘッドの接触などによる傷等の物理的に判断できる障害は、代替セクタ数の増加によりその発生を判断できる。しかし、寿命予測においては、一度アクセス遅延が発生し、以後アクセス時間の回復することがない幾つかのセクタを中心に、その近傍セクタにおいて、代替セクタの発生に至らないが、閾値を超えたアクセス時間の遅延が徐々に拡大し、あるときから急に代替セクタが拡大する特徴がある。そのため、セクタごとのアクセス遅延の分布を記録し、それがどのように図12Bの散布図の帯において閾値を超え、アクセス遅延が発生しているセクタが増えているかを判断する必要がある。
そこで、コマンド発行番号iのアクセス時間が閾値を超え代替セクタが発生していないことに加え、コマンド発行番号iの近傍セクタにおいて同様の挙動が見られるかを判定し、寿命に達する障害の進行を予測する。これは、個々のセクタのアクセス遅延はそれほどたいしたものではないが、コマンド発行番号iの近傍エリアで、多くのアクセス遅延が発生することは、このエリアのアクセスが完了する挙動が正常ではなく、少なくともアクセス時間を延長させる何らかの障害が進行していることを意味している。その近傍領域のアクセス遅延が発生しているセクタ(コマンド発行番号)の個数を用いて、精度良い判定ができるように、ステップS605では、近傍セグメントエリアとして同一セクタ数で区切った領域を使用する。ステップS605における、前に5個のセグメント、後に5個のセグメント、ワーニングカウンタが10個以上、といった所定数は一例であり、上述の値以外の所定数を用いてもよい。
ステップS615において、アクセス対象のセグメント内のN個のコマンド発行番号を見た場合に、ゼロでないワーニングカウンタが所定数(例えば2個)以上あれば、当該セグメントにおいて回復できないような障害が発生していると予想されるため、ステップS620においてエラーカウントを1加算し、エラー判定処理にエラーカウンタ値を渡す。この時点で、エラーが発生しているエリアの特定が可能となっていることから、問題エリアの使用を回避する等の処置によりHDD全体として延命へ導くことも可能である。
このようにワーニング判定処理では、ワーニングカウンタを加算することにより、エラーにカウントされない障害がHDD300に蓄積していることを判断することができる。また、一定のセグメントエリアでワーニングカウンタが所定数以上発生している場合は、ただちにエラーカウンタを加算することでエラー判定処理につなげることができる。
図10は、ステップS560のエラー判定処理の詳細な手順を示すフローチャートである。エラー判定処理では、SMART情報の代替セクタの発生を集計し、代替セクタの発生しているコマンド発行番号領域内のセクタの状態を主に解析する。
特にセクタの状態を解析するためにSMART情報の特に代替セクタ数の変化に注目し、この代替セクタの発生位置とアクセス時間が閾値を超えたコマンド発行番号領域の関係から、既に多くのアクセス遅延が発生しているコマンド発行番号のセグメントに代替セクタが発生しているのか、或いは、これまでアクセス遅延が発生していないような領域に代替セクタが発生しているのかを解析する。前者のように、既にアクセス時間が閾値を超えているセグメントに含まれるコマンド発行番号内に代替セクタが発生している場合は、故障に達しつつあることを判断し、最終的にHDDの故障予測を行う。後者のように、単独での代替セクタの発生は、セクタ自体の初期的な不良に見られるように、偶発的なセクタ破壊が起こったと予想されるので、HDDが正常に戻ったとして、HDDを正常に使用し続けることができる。
代替セクタの発生は、回復不可能な障害が発生しているセクタを切り捨てて、新しい代替セクタに切り替え、HDDが正常動作に戻るための機能回復の方法である。代替セクタの発生そのものが悪いわけではないので、代替セクタの発生位置とアクセス遅延しているコマンド発行番号の関連性を解析することにより、代替セクタの発生が故障に至るものであるかどうかを判断する。
エラー判定処理では、ワーニング判定処理でアクセス時間が閾値を超えたコマンド発行番号を集計し、エリアにおいてワーニングカウンタが一定値を越えた場合に、エラーカウントとして加算される。図8のステップS543で、前回のSMART情報と比較し、代替セクタ数が更新された場合は、ワーニング判定処理をスキップしてエラー判定処理が行われる。これは、代替セクタ発生は、HDD内部の異常が既にHDD本体が認識できるレベルまで達したことを意味し、できるだけ早くHDD停止等の判断を要するからであり、また、代替セクタが発生したのであれば、それまでに故障予測として判断できる、閾値を超えるコマンド発行番号の集計がとれているはずだからである。
エラー判定処理は図16(b)で示すコマンド発行番号ごとのエラーカウンタの値を加算することで行う。
ステップS710において、エラー判定として、最初に代替セクタだけに注目し、コマンド発行番号のアクセス遅延がそれほど発生していないにもかかわらず、代替セクタが急激に発生していないかを確認する。たとえば、衝撃によるヘッドのスクラッチ傷が発生する状況であれば、それを要因として、HDDの盤面の同一円周上における連続するセクタについて代替セクタ数が急激に増える。このように現在のコマンド発行番号によるアクセスだけで急激に代替セクタが発生していないかを確認する。
傷による障害の場合、一時的には代替セクタの発生によりHDDとしての機能は回復するが、障害は今のコマンド発行番号以外にも及んでいる可能性が高いので、至急にHDDを停止させ、データを保護する策を取る必要がある。そこで、ステップS710において新たに5個以上の代替セクタの発生が確認された場合(S710のYES)、ステップS730に進み、HDD停止勧告を発し、HDDの使用を停止させる。
ここで、代替セクタ発生数の閾値は、連続するセクタが最も少ないディスク最内周で最小の傷が早期に発見できるように、HDDごとに変更することが望ましい。
ステップS710において、現在のコマンド発行番号領域内で、5個以上という急激な代替セクタの発生が確認できない場合(S710のNO)、ステップS715に進み、今のコマンド発行番号領域での代替セクタの発生数をエラーカウンタに加算する。ここで、エラーカウンタは、図9のワーニング判定処理においても既に加算されている場合があり、エラー判定処理における代替セクタの発生個数によりさらに加算されて累積する。
次に、ステップS720において、アクセス対象のセグメントの前に10個のセグメント、後に10個のセグメントを取った第2近傍セグメントエリアにおいてゼロでないエラーカウンタが5個以上確認された場合(S720のYES)、第2近傍セグメントエリアにおいてアクセス遅延が拡大するものと判定し、ステップS730に進み、HDD停止の警告を発する。これは、ワーニング判定処理で集計した、アクセス時間が閾値を超えているセグメントに代替セクタが発生していることを意味する。このような場合、物理的障害が現在評価しているコマンド発行番号領域にとどまらす、まだ評価していないコマンド発行番号領域にも広がっている可能性が高く、評価の進行過程で読み込みエラーにまで発展し、データを読み出せなくなる恐れがあるため、早急にHDD停止警告を発し、HDDの使用を停止させる必要がある。
このように、第1近傍セグメントでの広い範囲での障害の広がりにより、アクセス遅延が図12Bの帯の上端という閾値を超え、障害が広がっていくことを確認するととともに、第2近傍セグメントによりその広がったエリアにおいてHDDのSMART情報により障害の発生の位置を特定することにより、障害の進行を正確にとらえ、故障を予測する。
アクセス対象のセグメントの前に10個、後に10個という隣接する第2近傍セグメントエリアのセグメント数と、第2近傍セグメントエリア内でのエラーカウンタが5個以上という数は、一例であり、これ以外の値を用いてもよい。これらの数はHDDの容量で変化する。HDDの最大容量が小さいとHDD全体をアクセスするコマンド発行番号領域が少ないので、少しの変化で図12Bの散布図の帯は閾値を超えて拡散することから、これらの値は小さくする必要があり、HDDの最大容量が大きいとHDD全体をアクセスするコマンド発行番号領域が多いので、少しの変化で帯は拡散しないので、これらの値は大きくする必要がある。
ステップS720において、第2近傍セグメントエリアにおけるゼロでないエラーカウンタが5個未満である場合(S720のNO)、ステップS725に進む。そして、ステップS725で全セグメントにおけるエラーカウンタの値の合計値が所定値(例えば10個)以上の場合(S725のYES)、ステップS730でHDDの停止警告を発する。
全セグメントにおけるエラーカウンタの値の合計値が10個(所定値)以上というのは、閾値を超えたアクセス時間の集計との関連性が見られない場合でも、HDD上に代替セクタやアクセス遅延領域が点在して増加していき、障害が進行していることを示す。ここで、10個という数は、あくまでも一例であるが、HDDの容量当たりでの発生個数でホストのアクセスに障害を与え始める値の総数を示し、この値はHDDの容量で変化する。なお、全セグメントにおけるエラーカウンタの値の合計値が所定値以上という条件の代わりに、全セグメントにおける、値が0より大きいエラーカウンタの数が所定数以上という条件を用いてもよい。
このように、障害解析結果から障害の進行が解析でき、直ぐにでもHDDからデータを取り出す必要がある場合を除き、ワーニング判定処理におけるエラーカウンタの加算や代替セクタ発生個数によるエラーカウンタの加算によってステップS725においてエラーカウンタが10を超えた時にステップS730でHDDの停止警告を発する。
以上述べたように、実施の形態2のHDD故障予測装置100による故障予測手順によれば、アクセス時間が閾値を超えた場合にのみSMART情報を読み込むため、不要なSMART情報読み込みコマンドを発行する必要がない。また、アクセス時間の閾値比較とSMART情報(特に代替セクタ数)の変化を組み合わせて異常検知するため、故障予測の精度が高くなる。
SMART情報が更新されていない場合でもワーニング判定処理およびエラー判定処理が行われるため、SMART情報が更新されないような軽度の異常の場合にも対処でき、故障予測の精度が向上する。また、SMART情報が更新されている場合には、ワーニング判定処理を飛ばしてエラー判定処理を行うため、重度の異常を効率よく検知することができる。
また、以下のように高い精度でHDD300の故障予測を行い、HDD300内のデータの損失を防ぐことができる。
パーティクルがヘッドの下に付加されることによる異常書き込みや、偶発的にヘッドがセクタにデータを完全に書き込めなかった時の書き損じが発生した場合、一時的にアクセス時間が閾値を超えるが、再度、同じコマンド発行番号領域を上書きすることによりアクセス時間が回復し、以後正常なアクセス時間で動作する。このような場合には、ワーニングカウンタがリセットされ、HDD300が正常動作に復帰したことが判断できる。
また、代替セクタの発生により機能回復した場合は、単発的であればHDD300の機能が正常化したとしてそれ以降エラーカウントの累積は進行しないが、近傍セグメントにおいて連続して代替セクタが発生すれば傷やヘッド不良による書き込みミスが発生していると考えられる。これらは、問題発生セクタと前後するセグメントにおいてエラーカウンタの発生が進行することによって、あるいはアクセス時間が代替セクタ発生予想閾値を超えた場合に代替セクタの発生と考えてエラーカウントが加算されることによって、HDD300の故障が近いことを判断することができる。
さらに、HDD300の寿命による故障については、ワーニングカウンタが登録されたアクセス時間が閾値を超える範囲が特定セグメントに前後して広がって発生しているかどうかを確認することで判断することができる。この場合、視覚的には図12Bの散布図が正常時と比較して広がりつつあることから判断することができる。
特に、ワーニングカウンタが登録されたコマンド発行番号領域の再アクセスにおいてワーニングカウンタが所定数(例えば2個)以上発生すれば、書き損じによる回復が見込まれず、このコマンド発行番号領域におけるデータの書き込み異常が考えられ、早期故障への発展が考えられることから、ワーニングカウンタからエラーカウンタへ移行することにより故障発生が近いことをより正確に判断することができる。
このようにワーニングカウンタを蓄積しエラーカウンタへ移行するとともに、ワーニングカウンタ発生位置におけるSMART情報から検出できるHDD自体の代替セクタ発生要因を解析することにより、一般的なHDD300の障害判断に加えて、時間をかけて進行する障害をより正確に判断することができるようになる。
最終的にエラーカウンタは、累計されたワーニングカウンタの値から、故障予測とする閾値を超えたことを判断し、HDD300に対し停止警告を表示灯などにより知らせるために用いられる。これは、ブザー等による警報であってもよく、本システムの停止機能と連動させてもよい。
このように、HDD300の正常動作時のアクセス最大時間から閾値を導くことにより、HDD300の正常時のアクセス時間の範囲がわかることから、アクセス時間が閾値を超えたコマンド発行番号領域において異常動作を正確に捉えることができ、HDD300の故障予測を高い精度で行うことができる。なお、本実施例では、SMART情報の中の代替セクタ数を用いて処理を行ったが、これは、記録媒体の不良の程度を示す指標であるともいえる。また、記録媒体の不良に係る対応処理で使用されたリソースの量を示す指標であるともいえる。代替セクタ数に限らず、このような指標を用いて、同様の処理を行うことが可能である。
実施の形態2のHDD故障予測装置100には以下の特徴がある。
運用時にも初期測定時とアクセス開始位置と転送容量が同じ条件となるように、コマンド発行番号単位(特定容量単位)でHDDにアクセスし、コマンド発行番号に対応するアクセス時間およびSMART情報の変化(特に代替セクタの増加)に基づいて、故障予測する。
アクセス時間が閾値を超えた場合、代替セクタ増加の有無を判定し、増加がある場合は、増加がない場合に比べて、警告報知に猶予を持たせる。すなわち、代替セクタが新規に割り当てられ、HDD全体の代替セクタ数が少ない場合は、警告を出さない。
近傍セグメントという狭い範囲に集中して代替セクタが発生した場合には、広い範囲に分散して発生した場合に比べて、深刻度の高い警告を報知する。
あるコマンド発行番号に対応するアクセス時間が閾値を超えた場合、そのコマンド発行番号に対応するワーニングカウンタを増やし、2回目以降にアクセス時間が閾値以下であれば、ワーニングカウンタをリセットする。これにより、一過性のアクセス遅延と、永続的なアクセス遅延を区別することができる。
初期測定時と運用時でアクセスに関する条件が同じになるように、HDDの各領域(コマンド発行番号)のアクセス時間の測定毎に、ヘッドの位置をリセットさせるアクセスパターンを用いて、アクセス時間の測定を行う。
HDDの各領域(コマンド発行番号)のアクセス時間を測定したデータに対して、複数の近傍する領域を対象に、アクセス時間の極大値(局所的な最大値)を算出し、それに基づき異常検出の閾値を設定する。
(実施の形態3)
実施の形態3のHDD故障予測装置100では、実施の形態2と同様に、HDDのSMART情報を使用するとともに、特定のアクセスパターンによるアクセス時間の散布図にもとづいて、アクセス時間によって故障を予測する際に使用する閾値を決定することにより、故障予測の精度を上げる方法を採用する。実施の形態3では、さらに、軽微な障害であれば、HDD固有の障害回復機能である代替セクタの発生を強制的に促し、HDDのアクセス機能を回復させる方法を採用する。
実施の形態3に係るHDD故障予測装置100の構成と動作は、制御部30によるステップS404の故障予測動作におけるステップS555のワーニング判定処理が異なり、回復フラグが設定され、回復処理がなされる点を除き、実施の形態2に係るHDD故障予測装置100の構成と動作と同じである。ここでは、実施の形態2と共通する構成と動作の説明は適宜省略し、実施の形態2と異なる構成と動作について説明する。
制御部30は、HDDコントローラ10からデータがHDD300に書き込まれたときのコマンド実行時間(アクセス時間)を測定し、あらかじめ異常値DB記憶部に記憶された閾値を読み出し、現在のアクセス時間がこの閾値を超えているか否かを判定する。
アクセス時間が閾値を超えたことが確認された場合、制御部30は、アクセス時間が閾値を超えたLBAとアクセス時間とそのときのSMART情報を記憶し、後述のワーニング(警告)カウンタおよびエラーカウンタを計数して、ワーニングカウンタおよびエラーカウンタの推移によってHDD300の故障予測を行い、寿命に達したことを予測したときはHDDの停止警告を発する。
さらに、制御部30は、アクセス時間が閾値を越えたLBAについて、障害要因により回復する可能性がある場合は、ホスト200にそのLBAを知らせる。ホスト200は、その情報を元に、障害が発生しているLBAに存在するデータを正常なエリアへコピーした後、通常のファイルアクセス動作の合間を縫って、障害が発生しているLBAに対して、図11のアクセスパターンに従い不特定データの書き込みを行い、代替セクタへの移行を強制的に促す。このとき、制御部30は、そのときのSMART情報とアクセス時間から、代替処理保留中のセクタ位置を確認できるとともに、代替セクタへ移行したことを確認でき、代替処理保留中のセクタから代替セクタへ強制的に移行することにより、HDDを正常動作に復帰させることができる。
SMART情報のおけるCurrent Pending Sector Count(以後、「代替処理保留中セクタ数」という)は、代替セクタスと同様にHDDの障害を知る上で重要な値である。実際のHDDの動作では、代替セクタがいきなり発生するわけではなく、多くの場合、障害の状態を監視するため、まず代替処理保留中セクタが発生する。そして、再度、そのセクタにアクセスしたときに、前回と同じレベルの障害が発生することが確認できれば、HDDは代替処理を行い、代替セクタを発生させる。しかし、代替セクタと同様に、SMART情報において代替処理保留中セクタ数は単に発生数を数値で示しているだけであり、代替処理保留中セクタがどのセクタに発生したかをHDDの動作中にリアルタイムに知る方法はなかった。既存の技術では、代替処理保留中セクタと代替セクタの関連性が不明であり、代替処理保留中セクタと代替セクタが同一セクタで起きているかどうかの判断もできなかった。そのため、既存の技術ではSMART情報は、HDDの内部障害が発生した後の原因の解析に使われることがほとんどである。
実際に書き込み障害が進行している場合、障害が起きて代替セクタはいきなり発生するわけではなく、HDDメーカー所定のリトライ回数を経て、本来書き込もうとしていたセクタに書き込めなかった場合、最初に代替処理保留中セクタとして保留され、再度のアクセス時にやはり書き込めない場合、代替セクタの発生へ移行する。代替処理保留中セクタへ移行した場合、HDDのシステムは、書き込むべきセクタのデータの全てに障害が発生しているわけではなく、まだ、書き込める可能性があると判断する余地があり、障害の初期的な症状と判断することもある。実際、代替処理保留中セクタに対して、読み書きを行っても、正常なセクタよりも長いアクセス時間を要することが多いが、正常なデータが読み書きできることもある。ただし、多くの場合、将来的にHDDに障害が発生し、代替セクタに移行するので、代替処理保留中セクタの発生を正確につかめば、HDDの故障をより正確に予測することができる。
また、HDDのシステムが書き込むセクタの情報を全く読み取れないような場合は、代替処理保留中のセクタに移行することなく、代替セクタへ移行するので、監視しているセクタが代替処理保留中セクタから代替セクタへ移行したのか、あるいは、いきなり代替セクタが発生したのかを把握することで、発生している障害のレベルを判断することができる。
このようなSMART情報の更新が、HDDのどのセクタで起こっているかを知ることができれば、動作中のHDD内部において、その障害が発生しているセクタを特定して集計することにより、障害がどのセクタにおいてどのような障害レベルで時間経過とともに進行しているかを知ることができ、障害の分布の集計から故障の到来を予測することが可能になる。
また、代替処理保留中セクタが発生しているときは、アクセス自体はできているとはいえ、HDDのアクセスが正常時の閾値を越えているため、非常に不安定な状態である。しかし、そのエリアが代替セクタへ移行すればアクセス時間は正常に復帰するので、代替処理保留中のセクタを早期に代替セクタへ移行できれば、再度その領域は正常に使うことができる。
そこで、代替処理保留中セクタが発生しているエリアのデータを待避させた後、強制的に代替処理保留中セクタが発生しているセクタに書き込みをかけることによって、代替セクタへ移行させ、アクセスの不安定な状態を解決し、HDDを正常動作へ戻すことができる。これを回復処理という。
回復処理は、代替処理保留中セクタが単独で発生する場合には有効であるが、狭いエリア内に複数個、代替セクタとともに代替処理保留中セクタが確認できたときは、代替セクタ数以上の障害が起きていることから、HDDの寿命として判断する。
このように、実施の形態3のHDD故障予測装置100は、HDDの正常動作時のアクセス時間の閾値を基準として、アクセス時間が閾値を超えた場合に、どのセクタでSMART情報が変化するかを把握して集計することにより、HDD内部の障害の進行をより正確に捉える。リアルタイムにSMART情報とセクタの状態を関連づけて障害発生の予兆をとらえるため、高い精度で故障予測することができる。
さらに、実施の形態3のHDD故障予測装置100では、リアルタイムでSMART情報が利用可能となることにより、どのセクタが代替処理保留中セクタであり、どの代替処理保留中セクタが代替セクタへ移行したかが分かる、そのため、SMART情報の代替処理保留中セクタ数を有効に利用して、アクセスが不安定な代替処理保留中セクタを強制的に代替セクタへ移行させ、正常動作へ復帰させることも可能となる。
HDD300のアクセス時間の概要は、図14(a)および図14(b)で説明した通りであるが、異常発生時のアクセス時間には、さらに代替処理保留中セクタ発生時の処理時間が加わる。アクセス時間と、代替処理保留中セクタおよび代替セクタの変化との間には関連性があり、アクセス時間の伸びているセクタは、この直後に読み取るSMART情報で代替処理保留中セクタまたは代替セクタが発生しているか、或いは、発生の可能性が高い。
HDD故障予測装置100による故障予測手順を示すフローチャートは、実施の形態2で説明した図7と同じであるが、ステップS404の故障予測動作には、回復動作が含まれ、故障予測動作の中で回復フラグが設定される。
ステップS404では、HDD300の使用時において故障予測動作を行う。制御部30がコマンド発行領域のアクセス時間が異常値DB記録部40に記録した閾値を超えていないかを監視し、閾値を超えたコマンド発行番号領域については異常値DB記録部40にコマンド発行番号とアクセス時間とSMART情報を記録する。図19で示す方法で現在のSMART情報は、前回、アクセス時間が閾値を超えたときのSMART情報と比較される。そのため、異常値DB記録部40には、前回、アクセス時間が閾値を超えたときのコマンド発行番号のSMART情報が一時的に記憶され、現在のコマンド発行番号のSMART情報との比較に用いられる。
制御部30は、異常値DB記録部40に記録されたワーニングカウンタとエラーカウンタを計数し、その結果、HDDにおけるアクセス時間が閾値を超えたセクタとそのセクタにおけるSMART情報の変化の分布が故障予測と判定されるレベルにまで達したとき、HDD300の停止警告を発し、処理を終了する。
また、SMART情報の変化の分布から障害が単体の代替処理保留中セクタの発生レベルにとどまり軽微である場合は、制御部30は、一度、その代替処理保留中セクタを利用しているデータを待避させた後、代替処理保留中セクタに任意のデータの書き込み動作を行い、代替処理保留中セクタを代替セクタへ強制的に移行させ、以後のHDDの動作を安定させる。
ステップS404の故障予想処理の詳細な手順を示すフローチャートは、実施の形態2で説明した図8と同じであるが、ステップS555のワーニング判定処理の詳細な手順が異なる。
ステップS555において、致命的ではない障害を検出するワーニング判定処理を実行する。アクセス時間が閾値を超えながらSMART情報が更新されないような障害の場合、或いは、ステップS543においてSMART情報の中でも代替セクタ数以外のデータが更新された場合は、致命的ではない障害と判断されるが、何らかの異常の発生を検出しているものはあるので、ワーニング処理を行ってワーニングカウンタを集計する。ワーニング判定処理で、代替処理保留中セクタの発生箇所において、HDDの機能を回復する可能性のあるセクタについては、強制的に代替セクタへの移行させる回復処理を行うために回復フラグを立てる。実施の形態3のワーニング判定処理については、図17のフローチャートを参照して詳しく説明する。
図17は、実施の形態3のワーニング判定処理の詳細な手順を示すフローチャートである。
ワーニング判定処理では、HDD内部において、SMART情報の代替処理保留中セクタ数の発生位置とアクセス時間が閾値を超えたセクタの発生位置の関連性を調べ、両者の発生位置の分布が重なるときには、エラー判定処理における故障予測の判断が通常より加速するようにエラーカウンタを加算する。
また、代替セクタ数や代替処理保留中セクタ数の変化では検出できない異常が発生しているエリアを特定し、異常が発生したコマンド発行番号のエリアを集計することにより、異常エリアがどのようにHDD上に分布しているかを判定する。
これらの結果から、代替処理保留中セクタが特定エリアに連続して発生しておらず、分布的にも集中しておらず、偶発的な障害と判断される場合、回復フラグを立てることで、代替処理保留中セクタの回復処理を促す。回復処理は後述するが、回復処理は、メインの故障予測処理とは独立して、HDDアクセスの空き時間を利用して実行される。
ワーニング判定は図16(a)で示すコマンド発行番号ごとのワーニングカウンタの値を加算することで行う。
ワーニング判定処理は、基本的に図8のステップS535で示すようにアクセス時間が閾値を超え、何らかのアクセス障害が発生しているが、ステップS543でSMART情報において代替セクタの発生が確認できない場合に行われ、障害発生時の緊急度が高い代替セクタの発生以外のイベントを処理する。
SMART情報の特に代替セクタの更新は、代替処理保留中セクタが代替セクタに移行したことによる場合と、いきなり代替セクタが発生するレベルの障害が発生したことによる場合とが考えられるが、そのどちらの場合でもHDDに極めて重大な障害を与えると認識できることから、ワーニング判定処理を行わず、直接エラー判定処理を行い、できるだけ、早急にHDDを停止させる等の処理を行う。
ワーニング判定処理では、代替処理保留中セクタの分布を記録し、どの代替処理保留中セクタが代替セクタへ移行しているかを集計することにより、HDD内部の障害の進行を判断し、集計の結果、分布の広がりが見えない、単独の代替処理保留中のセクタの発生については、代替処理保留中セクタに代替セクタへ強制的に移行させるために回復フラグをたて、HDDの性能を回復させる処理を促す。
寿命予測においては、近傍セクタにおいて代替セクタの発生に至らないが、閾値を超えたアクセス時間の遅延を起こしている代替処理保留中セクタが徐々に拡大し、あるときから、急速に代替処理保留中セクタが代替セクタへ移行し、急激に代替セクタが拡大する特徴がある。そのため、セクタごとのアクセス遅延の分布を記録し、それがどのように図12Bの散布図の帯において閾値を超え、代替処理保留中セクタが発生しているセクタが増えているかを判断する必要がある。
そこで、アクセス時間が閾値を越え代替セクタが発生していないことに加え、近傍セクタにおいて代替処理保留中セクタから代替セクタへの移行が見られないか、発生個数を集計して寿命に達する障害の進行を予測する。
これは、代替処理保留中セクタが発生した場合、アクセス時間が閾値を超えているが、HDDがまだ、致命的なエラーと判断しておらず、代替セクタへ移行するかどうかのHDD内部の判断の閾値まで達していない状態である。このようなセクタが近傍エリアに特定個数発生することは、エリア近傍のセクタが正常ではなく、代替処理保留中セクタが多く発生することは、それだけ多くの代替セクタが発生する可能性があることから、何らかの障害が進行していることを意味する。
しかしながら、1回の代替処理保留中セクタが次のアクセス時に必ず代替セクタに移行するとは限らないことから、1回目の閾値を超えたアクセスについては様子を見るために、ステップS810では、ワーニングカウンタが0であるか否か(既にワーニングカウンタが存在するかどうか)を判定する。
ワーニングカウンタが0でない場合(S810のNO)、2回目以降の同一セクタの処理であるから、ステップS815へ進む。ワーニングカウンタが0である場合(S810のYES)、ステップS820へ進む。
この後、ステップS815およびS820では、代替処理保留中セクタが前回より増加したかどうかを調べる。
ステップS815において代替処理保留中セクタが前回より増加していない場合(S815のNO)、ワーニングカウンタが存在し、新たに代替処理保留中セクタの発生がないので、この時点で確認できるセクタに関する情報だけでは、HDDの障害がどのように進んでいるかが判断できないので、ステップS825に進む。また、ステップS820において代替処理保留中セクタが前回より増加している場合(S820のYES)、ワーニングカウンタが存在せず、新たに代替処理保留中セクタが発生しているので、この時点で確認できるセクタに関する情報だけでは、HDDの障害がどのように進んでいるかが判断できないので、ステップS825に進む。
ステップS825では、第1近傍セグメント(アクセス対象のセグメントの前に5個のセグメント、後に5のセグメントの範囲)においてワーニングカウンタが3個以上、発生しているか否かを判定する。ステップS825がYESの場合は、図12Bの散布図において、アクセス時間が閾値を超えて帯の集束が拡散しつつある可能性が高い。前に5個のセグメント、後に5個のセグメントといった所定数は、異常を判断できる近傍セグメントエリアに含まれる、アクセス遅延が発生しているセクタ数の一例であり、上述の値以外の所定数を用いてもよい。
第1近傍セグメントにおいてワーニングカウンタが3個(値が0より大きいワーニングカウンタが3個)以上確認された場合(S825のYES)、第1近傍セグメントにおいて代替セクタに移行するような障害が拡大しているとして、ステップS835でエラーカウンタを1加算する。
ステップS845は、ワーニングカウンタが0であり(S810のYES)、代替処理保留中セクタが発生していない(S820のNO)場合と、ステップS825において、代替処理保留中セクタの発生位置とこれまでのワーニングカウンタの発生位置の関連性が見られない場合(S825のNO)に実行され、このときは、今調べているセクタのワーニングカウンタを1加算し、ワーニング判定処理を終了する。
ステップS815において、代替処理保留中セクタが前回より増加している場合(S815のYES)、ワーニングカウンタが0でないことから2回目以降のアクセス遅延の発生であり、新たな代替処理保留中セクタも発生していることから、障害が進行していると考えられ、ステップS830に進む。
ステップS830において、第1近傍セグメントにおいてワーニングカウンタが10個(所定数)以上発生しているかどうかを確認する。ステップS825においては、代替処理保留中セクタの発生とアクセス遅延の関連性が明確ではないため、障害の進行が緩やかであると判断した。しかし、ステップS830においては、代替処理保留中セクタの発生とアクセス遅延の関連性が明確であることから、アクセス遅延の発生が間違いなく代替処理保留中セクタによるものと判断される。そこで、第1近傍セグメントにおいて所定数以上の代替処理保留中セクタの発生が確認された場合(S830のYES)、その代替処理保留中セクタが代替セクタへ移行する可能性があるほどの障害が発生していると予想されるから、次のエラー判定処理でHDD停止の警告を発するよう、ステップS840でエラーカウンタを10加算する。
一方、このような特定エリアに集中するような代替処理保留中セクタの発生が見られない場合(S830のNO)、単独での代替処理保留中セクタの発生と考えられる。しかし、代替処理保留中セクタが発生した状態でのHDDの内部処理は、アクセスごとに代替セクタへ移行するべき状態かどうかの判断処理が増える分、アクセスに要する時間が増え、アクセス時間が閾値を越える可能性がある。また、実際に非常に不安定なデータ記憶状況にあるが、HDDの内部処理が代替セクタへ移行すべきと判断しない場合、アクセスごとリトライが発生し、HDDのアクセス時間が閾値を超え不安定な状態になる。そこで、このような単体での代替処理保留中セクタの発生が確認された場合、強制的に代替処理保留中セクタへの書き込み処理を行い、代替処理保留中セクタを代替セクタに移行させ、HDDの不安定な状態を解消する。ステップS850では、その処理を行うために回復フラグをセットする。回復処理については後に詳細を述べる。
ステップS560のエラー判定処理の詳細な手順を示すフローチャートは、実施の形態2で説明した図10と同じであるが、いくつか補足する。
前述のように、ワーニング判定処理のステップS830では、代替処理保留中セクタの発生とアクセス遅延の関連性が明確であることから、第1近傍セグメントおいて代替処理保留中のセクタから代替セクタへの移行が急速に進んでいる場合、エラーカウンタが10加算される。そのため、エラー判定処理では、ステップS730に進み、HDD停止勧告が発せられる。
ステップS720で用いられる、アクセス対象のセグメントの前に10個、後に10個という隣接する第2近傍セグメントエリアのセグメント数と、第2近傍セグメントエリア内でのエラーカウンタが5個以上という数は、極めて狭い範囲において、代替処理保留中セクタが代替セクタに移行していることを明確にするための値であり、HDDの代替処理保留中セクタが代替セクタへ移行する処理能力の違いにより変化する。代替処理保留中セクタから代替セクタへ移行する判断の閾値が低いHDDにおいては、この値を大きく取る必要があり、代替処理保留中セクタから代替セクタへ移行する判断の閾値が高いHDDにおいてはこの値を小さくすることができる。
ステップS710において、5個以上の代替セクタの発生が確認された場合、ステップS730に進み、HDD停止勧告を発し、HDDの使用を停止させるが、代替セクタの発生数が5個以上という閾値は、代替処理保留中セクタ数に応じて可変にしてもよい。たとえば、代替処理保留中セクタ数が10個未満である場合、代替セクタの発生数の閾値を10とし、代替処理保留中セクタ数が10個以上である場合、代替セクタの発生数の閾値を5としてもよい。代替処理保留中セクタ数が多くなるほど、代替セクタの発生数の閾値を下げて、HDD停止勧告が出やすくするためである。あるいは、代替処理保留中セクタ数と代替セクタ数を組み合わせた総合的な指標を算出し、その総合指標に応じてHDD停止勧告を発するようにしてもよい。たとえば、代替セクタ数をx、代替処理保留中セクタ数をyとして、総合指標z=αx+βyをステップS710の判定で用いてもよい。ここでα、βは0より大きい所定の値であり、典型的にはα>βを満たす。
図18は、回復処理の詳細な手順を示すフローチャートである。セクタ回復処理は故障予測処理とは別のタスク等の処理で行う。基本的に、故障予測処理は、ホスト200の読み書きのメイン処理の一環として行われるが、セクタ回復処理は、図17のステップS850において回復フラグが設定された場合に、回復フラグの監視を行っているタスクによって行われる。セクタ回復処理は、回復フラグが立っている間、故障予測処理とは非同期に行われる。
セクタ回復処理は、ホスト200からの読み書きのメイン処理の空き時間で行われ、本来の読み書き処理を妨害しない。基本的に、回復処理は、ホスト200の読み書きの処理と同様に特定容量単位で指定したセクタに書き込むだけであり、大きな処理時間を必要としない。
ステップS905では、HDDから回復処理を行うSMART情報を再度読み込み、これから強制書き込みを行うセクタ領域の代替処理保留中セクタ数と代替セクタ数を読み込む。
これから回復処理を行う領域にデータが存在する場合、データの待避処理が必要になる。ステップS910において、これから回復処理を行う領域にデータがあるかどうか確認し、回復すべき領域にデータが存在する場合(S910のYES)、ステップS915においてホスト200はデータの回避処理を行う。これは、同一HDD上の他の領域へのコピーでもいいし、他のメディアに対する待避でもよい。
この後、ステップS920において、これから行う強制書き込みの回数のカウンタをリセットし、ステップS925において、問題セクタに特定容量単位で書き込みを行う。
ステップS930において、書き込んだ後のSMART情報を読み込み、ステップS940において、読み込んだSMART情報の代替処理保留中セクタ数が0であるかどうかを調べる。代替処理保留中セクタが代替セクタへ移行するか、代替処理保留中セクタが一時的な異常に過ぎず正常セクタに復帰した場合、代替処理保留中セクタ数は0になる。
例えば、この領域中の代替処理保留中セクタ数が1であれば、書き込みにより代替セクタへ移行すれば、書き込み処理後のSMART情報の代替処理保留中セクタ数は1減るとともに、代替セクタが1増加する。代替処理保留中セクタの再アクセス時に当該セクタが正常セクタに復帰した場合、代替処理保留中のセクタ数は1減るが、代替セクタ数には変化がない。あるいは、HDDの内部処理上、代替処理へ移行するほどでもない軽微のエラー状態と判断された場合は、代替処理保留中セクタ数は変化せず、代替セクタ数にも変化はない。
代替処理保留中セクタが代替セクタへ移行するか、代替処理保留中セクタが正常復帰した場合(S940のYES)、ステップS950で回復フラグをクリアし、回復処理を終了する。なお、このとき発生した代替セクタは、エラー判定処理での判断に使用され、代替処理保留中セクタから代替セクタへ移行し正常アクセス時間に戻ったとしても、全体として、代替セクタが増加するようであれば、エラー判定処理のステップS730でHDDの停止警告を表示し、HDDの停止を促す。従って、代替処理保留中セクタの代替セクタへの移行も故障予測処理の一つとして動作する。
今回の書き込みで代替処理保留中セクタから代替セクタへの移行しなかった場合(S940のNO)、書き込みカウンタがまだ5に達していないなら(S945のNO)、ステップS935で書き込みカウンタに1加算し、ステップS925に戻り、再度、書き込み処理を行う。
ステップS945で書き込み回数が5に達した場合(S945のYES)、書き込み処理が5回行われたにも関わらず、代替処理保留中セクタから代替セクタへの移行が見られず、代替処理保留中セクタの移行処理が行われない致命的な障害が発生している可能性があるので、ステップS955に進み、エラー判定処理のステップS730で直ぐにHDDの停止警告表示処理がなされるように、エラーカウンタを10に設定し、回復処理を終了する。
強制書き込み回数の最大値はHDDの異常を認識するレベルによって変化する。代替処理保留中セクタは、基本的に、発生後の次のアクセスで発生時と同じレベル以上の障害が発生したときに代替セクタへ移行する。回復フラグが立つのは、当該領域に図17のワーニング判定処理でアクセス遅延が少なくとも2回発生し、2回目で代替処理保留中セクタの発生が確認できた場合であるから、その後の複数回の書き込みで正常に移行するとは考えにくい。このように判断されながら、代替セクタへ移行しないのは、例えば、既に代替セクタを使い切り、移行する代替セクタが既にない場合等が考えられ、代替セクタに移行ができないセクタを持つHDDは、非常に危険で、直ぐにでも停止警告表示処理を行う必要がある。従って、この危険度の判断を厳しくしたい場合、強制書き込み回数を少なくしてもよく、危険度の判断を緩和する場合は、強制書き込み回数を増やしてもよい。
以上述べたように、実施の形態3のHDD故障予測装置100による故障予測手順によれば、代替処理保留中セクタを強制的に代替セクタに移行させることでアクセス時間を正常化してHDDを安定化させることができる。さらに、高い精度でHDD300の故障予測を行い、HDD300内のデータの損失を防ぐことができる。
代替処理保留中セクタが発生しても代替セクタに移行して機能を回復した場合は、単発的であればHDD300の機能が正常化したとしてそれ以降エラーカウントの累積は進行しないが、近傍セグメントにおいて代替処理保留中セクタと代替セクタが連続して発生すれば傷やヘッド不良による書き込みミスが発生していると考えられる。これらは、問題発生セクタと前後するセグメントにおいてエラーカウンタの発生が進行することによって、あるいは代替処理保留中セクタおよび代替セクタの発生によりエラーカウントが加算されることによって、HDD300の故障が近いことを判断することができる。
また、代替処理保留中セクタの発生位置が分かることから、書き込みにより単発的な代替処理保留中セクタを直ちに代替セクタへ強制的に移行させ、以後のHDDの動作を安定させることができる。
さらに、HDD300の寿命による故障については、ワーニングカウンタが登録された代替処理保留中セクタとアクセス時間が閾値を超えるコマンド発行番号が特定セグメントに前後して広がって発生しているかどうかを確認することで判断することができる。この場合、視覚的には図12Bの散布図が正常時と比較して広がりつつあることから判断することができる。
特に、ワーニングカウンタが登録されたコマンド発行番号領域の複数個の代替処理保留中セクタとアクセス時間が閾値を越えたコマンド発行番号の分布の関連性が一致する場合、時間とともに急速に多くの代替セクタへ移行する障害の進行が考えられることから、ワーニングカウンタからエラーカウンタへの進行を早めることにより故障発生が近いことをより正確に判断することができる。
このようにワーニングカウンタを蓄積しエラーカウンタへ移行するとともに、ワーニングカウンタ発生位置におけるSMART情報から検出できるHDD自体の代替処理保留中のセクタや代替セクタ発生要因を解析することにより、一般的なHDD300の障害判断に加えて、時間をかけて進行する障害をより正確に判断することができるようになる。
以上述べたように、実施の形態3のHDD故障予測装置100による故障予測手順によれば、代替処理保留中セクタの障害発生レベルが軽微なものであれば、強制的に代替セクタへの移行を促し、HDDの安定した動作を継続させることができる。さらに、障害が発生しているセクタを特定することにより、高い精度でHDDの寿命を予測し、HDDの故障によってデータを失うことを回避することができる。
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。なお、本実施例では、SMART情報の中の代替処理保留中セクタ数および代替セクタ数を用いて処理を行ったが、これらは、記録媒体の不良または不良の兆候の程度を示す指標であるともいえる。つまり、不良の程度が相対的に軽い第1の指標(代替処理保留中セクタ数)と、不良の程度が相対的に重い第2の指標(代替セクタ数)を用いている。また、記録媒体に書き込みを行うことにより、第1の指標(代替処理保留中セクタ数)は、正常値に戻る場合がある。このような特性を持つ指標であれば、代替処理保留中セクタ数以外のデータを用いて同様な処理を行うことも可能である。
上記の説明では、ディスクの一例としてハードディスクを取り上げて故障予測技術を説明したが、本実施の形態の故障予測技術は、任意の磁気ディスク、あるいは、光ディスクにも適用することができる。また、本実施の形態の故障予測技術は、ディスクに限らず、メモリカードなどの記録媒体にも適用できる。
また、上記の説明では、ハードディスクを例に挙げてSMART情報から代替セクタ数の変化を検出したが、本実施の形態の故障予測技術をハードディスク以外の記録媒体に適用する場合は、SMART情報に代えて、記録媒体の信頼性を監視、分析するための任意の状態情報を利用し、アクセス領域の不良または不良の兆候を示す何らかの指標の変化を検出すればよい。
上記の説明ではリセットされることのあるワーニングカウンタと、リセットされることのないエラーカウンタを用いて故障予測を行ったが、ワーニングカウンタだけを用いてワーニングカウンタが所定数以上になるかどうかによって故障を判定してもよい。
10 HDDコントローラ、 20 一時記憶部、 30 制御部、 40 異常値DB記録部、 100 HDD故障予測装置、 200 ホスト、 300 HDD。

Claims (10)

  1. 記録媒体に対する書き込みにより変化し得る状態情報を記憶する状態情報記録部と、
    アクセス対象箇所をアクセスした際に前記書き込みにより変化し得る状態情報を取得し、前記アクセス対象箇所に対応づけて前記書き込みにより変化し得る状態情報を前記状態情報記録部に登録する制御部とを含むことを特徴とする記録媒体管理装置。
  2. 前記制御部は、前記記録媒体に対する所定のアクセスパターンによって前記アクセス対象箇所を特定容量単位でアクセスした際に前記書き込みにより変化し得る状態情報を取得することを特徴とする請求項1に記載の記録媒体管理装置。
  3. 前記制御部は、新たに取得した前記書き込みにより変化し得る状態情報が、前回取得した前記書き込みにより変化し得る状態情報と比較して更新があった場合、当該アクセス対象箇所に対して強制的な書き込みを行う回復処理を実行することを特徴とする請求項1または2に記載の記録媒体管理装置。
  4. 前記書き込みにより変化し得る状態情報は、代替処理保留セクタ数であり、前記制御部は、当該アクセス対象箇所の代替保留セクタ数がゼロになれば、前記回復処理を終了することを特徴とする請求項3に記載の記録媒体管理装置。
  5. 前記制御部は、前記アクセス対象箇所をアクセスした際に代替セクタ数を取得し、前記アクセス対象箇所に対応づけて前記代替セクタ数を前記状態情報記録部に登録する請求項1から4のいずれかに記載の記録媒体管理装置。
  6. 前記制御部は、新たに取得した前記代替セクタ数が、前回取得した前記代替セクタ数と比較して更新があった場合、当該アクセス対象箇所に対応づけられたエラーカウンタを加算し、前記エラーカウンタに基づいて異常検出するエラー判定処理を実行することを特徴とする請求項5に記載の記録媒体管理装置。
  7. 前記制御部は、前記アクセス対象箇所を含む近傍エリアにおいて前記代替セクタ数の更新があった箇所が所定数を超える場合に、異常検出することを特徴とする請求項6に記載の記録媒体管理装置。
  8. 前記制御部は、新たに取得した前記代替セクタ数が、前回取得した前記代替セクタ数と比較して更新がなかった場合でも、前記エラーカウンタよりも異常検出に係る影響力の弱い当該アクセス対象箇所に対応づけられた警告カウンタを加算し、前記アクセス対象箇所を含む近傍エリアにおける前記警告カウンタが所定の条件を満たす場合に前記エラーカウンタを加算する警告判定処理を実行することを特徴とする請求項6または7に記載の記録媒体管理装置。
  9. 記録媒体に対する書き込みにより変化し得る状態情報を状態情報記録部に記憶するステップと、
    アクセス対象箇所をアクセスした際に前記書き込みにより変化し得る状態情報を取得し、前記アクセス対象箇所に対応づけて前記書き込みにより変化し得る状態情報を前記状態情報記録部に登録するステップとを含むことを特徴とする記録媒体管理方法。
  10. 記録媒体に対する書き込みにより変化し得る状態情報を状態情報記録部に記憶するステップと、
    アクセス対象箇所をアクセスした際に前記書き込みにより変化し得る状態情報を取得し、前記アクセス対象箇所に対応づけて前記書き込みにより変化し得る状態情報を前記状態情報記録部に登録するステップとをコンピュータに実行させることを特徴とする記録媒体管理プログラム。
JP2016049803A 2016-03-14 2016-03-14 記録媒体管理装置、記録媒体管理方法及び記録媒体管理プログラム Pending JP2017168157A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016049803A JP2017168157A (ja) 2016-03-14 2016-03-14 記録媒体管理装置、記録媒体管理方法及び記録媒体管理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016049803A JP2017168157A (ja) 2016-03-14 2016-03-14 記録媒体管理装置、記録媒体管理方法及び記録媒体管理プログラム

Publications (1)

Publication Number Publication Date
JP2017168157A true JP2017168157A (ja) 2017-09-21

Family

ID=59909077

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016049803A Pending JP2017168157A (ja) 2016-03-14 2016-03-14 記録媒体管理装置、記録媒体管理方法及び記録媒体管理プログラム

Country Status (1)

Country Link
JP (1) JP2017168157A (ja)

Similar Documents

Publication Publication Date Title
JP2017037626A (ja) 故障予測装置、故障予測方法及び故障予測プログラム
US7359134B2 (en) Data save processing method for disk storage device and disk storage system
JP2005322399A (ja) 磁気ディスク記憶装置におけるトラック・データ完全性の維持方法
JP6078984B2 (ja) 処理装置,処理方法,処理プログラム及び管理装置
CN108073486B (zh) 一种硬盘故障的预测方法和装置
CN107179968B (zh) 信息存储装置、故障预测装置及故障预测方法
JP5488709B2 (ja) ストレージ制御装置における基準時間設定方法
US6154858A (en) In situ method and apparatus for detecting surface defects to identify handling damage in a disk drive
US20210225405A1 (en) Hard disk drive lifetime forecasting
US7506224B2 (en) Failure recovering method and recording apparatus
US7461298B2 (en) Method and apparatus for diagnosing mass storage device anomalies
JP6610825B2 (ja) 故障予測装置、故障予測方法及び故障予測プログラム
JP4627327B2 (ja) 異常判定装置
JP2017168157A (ja) 記録媒体管理装置、記録媒体管理方法及び記録媒体管理プログラム
JP2012038362A (ja) ハードディスク故障予兆検出方法
JP2880701B2 (ja) ディスクサブシステム
JP2004118397A (ja) 磁気ディスク装置の障害発生予測システム
US8711417B2 (en) Information processing apparatus, method for controlling information processing apparatus, and storage medium
JP6524848B2 (ja) 故障予測装置、故障予測方法及び故障予測プログラム
JP2007335013A (ja) 制御装置および記憶装置
JP5313101B2 (ja) 情報管理プログラム、情報管理方法、及び、情報管理装置
CN104572380B (zh) 一种检测磁盘的方法和装置
JP2007164823A (ja) 記憶装置
JP5273185B2 (ja) 記録媒体制御システム、記録媒体制御方法、記録媒体制御プログラム
JP2016207237A (ja) ハードディスク管理装置、ハードディスク装置、ハードディスク管理方法およびハードディスク管理用プログラム