JP2880701B2 - ディスクサブシステム - Google Patents

ディスクサブシステム

Info

Publication number
JP2880701B2
JP2880701B2 JP9130883A JP13088397A JP2880701B2 JP 2880701 B2 JP2880701 B2 JP 2880701B2 JP 9130883 A JP9130883 A JP 9130883A JP 13088397 A JP13088397 A JP 13088397A JP 2880701 B2 JP2880701 B2 JP 2880701B2
Authority
JP
Japan
Prior art keywords
error
log information
failure
command
error rate
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.)
Expired - Lifetime
Application number
JP9130883A
Other languages
English (en)
Other versions
JPH10320131A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP9130883A priority Critical patent/JP2880701B2/ja
Publication of JPH10320131A publication Critical patent/JPH10320131A/ja
Application granted granted Critical
Publication of JP2880701B2 publication Critical patent/JP2880701B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はディスクサブシステ
ム、特にサーバシステムやパーソナルコンピュータなど
のコンピュータに使用されるハードディスクドライブ
(以下、「HDD」)の故障によるシステムダウンの未
然防止のために、HDDの故障の発生を予知し、アラー
ムの発生をする機能を有するディスクサブシステムに関
する。
【0002】
【従来の技術】図13は、従来のディスクサブシステム
のブロック構成図である。ディスクサブシステムは、一
般に実際にデータを記憶するHDD1と、ホストシステ
ム3からの命令を受けてHDD1に対してリード、ライ
ト、シーク等のコマンドを発行するコントローラ2とを
有する。
【0003】コントローラ2において、コマンド発行回
路4は、ホストシステム3からの命令を受けてHDD1
にコマンドを発行するための回路である。インタフェー
ス回路5は、接続したHDD1との間で信号のやり取り
を行うための回路である。ライトデータバッファ6は、
インタフェース回路5を介してHDD1に送出するデー
タを一時的に保存するための記憶手段である。リードデ
ータバッファ7は、インタフェース回路5を介してHD
D1から送られてきたデータを一時的に記録するための
記憶手段である。ステータスバッファ8は、インタフェ
ース回路5を介してHDD1から送られてきたステータ
スレジスタの内容を一時的に記録するための記憶手段で
ある。不揮発性のエラーメモリ9は、HDD1からのロ
グ情報に含まれるエラー回数を記録する。不揮発性のデ
ータメモリ10は、HDD1からのログ情報に含まれる
データ転送量を記録するための記憶手段である。エラー
レート算出回路11は、エラー回数とデータ転送量から
エラーレートを算出するための回路である。エラーレー
ト比較回路12は、エラーレート算出回路11が算出し
たエラーレートと、HDD1の装置仕様や稼働実績に準
拠し交換対象基準として予め設定してあるエラーレート
値(スレッシュホールド値)とを比較するための回路で
ある。アラーム信号生成回路13は、エラーレート比較
回路12が比較した結果、既定のエラーレート値を越え
ている場合にアラーム信号を発生するための回路であ
る。アラーム通知回路14は、アラーム信号生成回路1
3のアラーム信号に基づき表示や音出力等でアラームの
通知を行うための回路である。
【0004】一方、HDD1において、メモリ15は、
HDD1において発生したエラー発生回数、リード/ラ
イトデータ転送量を記録するための記憶手段である。制
御回路16は、HDD1の動作、すなわちデータを実際
に記憶する磁気円板17に対してデータの書込み/読出
しを行うヘッド18の動作制御を行うための回路であ
り、エラー検出回路19、ライトデータ転送量カウンタ
20、リードデータ転送量カウンタ21、書込み回路2
2及び読出し回路23を有している。このうち、エラー
検出回路19は、HDD1において発生したエラーを検
出するための回路である。書込み回路22は、コントロ
ーラ2から送られてきたデータ(書込みデータ)の変調
及び増幅を行うための回路である。読出し回路23は、
磁気円板17から読み出したデータ(読出しデータ)の
増幅及び復調を行うための回路である。ライトデータ転
送量カウンタ20は、磁気円板17への書込みデータの
ビット(ライトデータビット)の数をカウントする。リ
ードデータ転送量カウンタ21は、磁気円板17からの
読出しデータのビット(リードデータビット)の数をカ
ウントする。そして、ステータスレジスタ24は、HD
D1においてコントローラ2から送られてきたコマンド
の命令通りに実行できたかのステータスを一時保存する
ための記憶手段である。インタフェース回路25は、接
続されたコントローラ2との間で信号のやり取りを行う
ための回路である。
【0005】通常、ディスクサブシステムのコントロー
ラ2は、ホストシステムからの命令に基づきリード/ラ
イト/シーク等のコマンドをHDD1に発行する。例え
ば、ライトコマンド発行時、HDD1は、インタフェー
ス回路25を経由してコントローラ2から書込みデータ
を受け取り、書込み回路22、ヘッド18を介して磁気
円板17に記憶する。しかし、HDD1の計時変化、磨
耗、磁気円板17やヘッド18に塵埃が付着した等の原
因により磁気円板17が傷ついたり、回転異常が発生し
たりして目的のアドレスへの位置決めができなかった
り、リード/ライトできないなどの障害が発生し、いず
れ故障に至る場合がある。これらの故障は、突然発生す
るのではなく事前にその兆候が現れることが一般的であ
る。従って、その兆候を常時監視することによって故障
の予知を行うことができる。
【0006】次に、故障を予知してアラームを発生する
までの従来における動作を、指定アドレスからのデータ
読出しを例にして説明する。
【0007】図13において、コントローラ2は、HD
D1に対してインタフェース回路5,25を介してリー
ドコマンドを発行する。HDD1は、コントローラ2か
ら受け取ったリードコマンドで指定された転送量の読出
しデータを指定された磁気円板17上のアドレスから読
み出す。
【0008】そして、読出しデータは、HDD1からコ
ントローラ2に転送されるが、このときデータ転送量が
リードデータ転送量カウンタ21でカウントされ、メモ
リ15に記録される。読出しデータは、インタフェース
回路25,5を介してリードデータバッファ7に蓄えら
れる。このリードコマンドの実行の過程は、HDD1の
エラー検出回路19がエラーチェックを行い、エラーが
あった場合はリトライが行われる。このリトライにより
エラーが救済できない場合はエラー有りと、救済された
場合はエラー無と判断される。なお、コマンドの実行の
結果としては、エラーが発生することなく正常終了をコ
ントローラ2に返す場合、エラーが発生したもののリト
ライを行うことによって結果的にはエラーが救済できた
場合及びエラーが発生しリトライをしたもののリカバリ
ができず、結果としてエラーが救済できない場合があ
る。エラー検出回路19によるエラーチェックの結果
は、ステータスとしてメモリ15に記録されると共にス
テータスレジスタ24に一時保持され、その後、コント
ローラ2に通知される。これによって、コントローラ2
は、リードコマンドによるデータの授受の完了後にその
ステータスを参照することによってリードコマンド実行
時のエラーの有無並びにエラーの内容を知ることができ
る。ここで、エラーが検出されると、コントローラ2
は、リードコマンドを再度発行したりする。
【0009】ところで、コントローラ2は、定期的にH
DD1のメモリ15からエラー回数及びデータ転送量を
HDD1から読み出し、エラーメモリ9及びデータメモ
リ10にそれぞれ記録する。エラー算出回路11は、エ
ラーメモリ9に保持されているエラー回数が増加する度
にHDD1から読み出しているエラー回数及びデータ転
送量からエラーレート(=エラー回数/データ転送量)
を算出し、エラーレート比較回路12に通知する。エラ
ーレート比較回路12は、エラーレート算出回路11か
ら受け取った算出値と予め保持したスレッシュホールド
値とを比較する。
【0010】図14は、横軸をエラーレート算出回数、
縦軸を算出結果(エラーレート値)とし、エラーレート
とスレッシュホールド値との関係を示した図であるが、
エラーレート比較回路12は、エラーレート算出回路1
1からエラーレートを受け取る度に行うエラーレートチ
ェックにおいてそのエラーレートがスレッシュホールド
値を越えたときにアラームを出すようにする。すなわ
ち、エラーレート算出回路11の算出結果が予め設定さ
れたスレッシュホールド値より大きければHDD1は故
障する可能性が有りと判断し、その旨の信号をアラーム
信号生成回路13に送出する。アラーム信号生成回路1
3は、当該信号を受け取ると、アラーム信号を発生す
る。アラーム通知回路14は、アラーム信号を受け取る
と、所定のランプ表示をしたり、あるいはホストシステ
ムにアラーム信号を送出し、CRT等に表示させたりす
ることができる。
【0011】このようにして、従来の装置がHDD1に
発生する可能性のある故障を予知し、アラームを発生す
ると、管理者等は、HDD1の故障前にHDD1の交換
を行っていた。なお、データ書込みにおいてもリードデ
ータ転送量カウンタ21の代わりにライトドデータ転送
量カウンタ20がカウントしたデータ転送量に基づき上
記と同様の処理を行うことによって故障の予知をするこ
とができる。
【0012】
【発明が解決しようとする課題】しかしながら、従来の
ディスクサブシステムでは、実際のコマンド実行に基づ
き算出したエラーレートがスレッシュホールド値を越え
た場合にアラームを発生するように動作していたので、
一時的なノイズや一過性の振動、衝撃、温度変化等本来
的に故障とは無関係な原因によりエラーレートが一時的
に悪化するような場合にもエラーレートがスレッシュホ
ールド値を越えてしまい、無用なHDD交換が行われる
場合があった。すなわち、エラーレートがスレッシュホ
ールド値を越えたことのみで故障の予告を送出している
ため、一時的なノイズ等で誤判定されるという問題があ
った。
【0013】本発明は以上のような問題を解決するため
になされたものであり、その目的は、一時的なノイズ、
一過性の振動、衝撃、温度変化等本来的に故障とは無関
係な原因に基づく誤判定を防止するディスクサブシステ
ムを提供することにある。
【0014】
【課題を解決するための手段】以上のような目的を達成
するために、第1の発明に係るディスクサブシステム
は、データを記録するハードディスクドライブと、ホス
トシステムからの命令を受けて前記ハードディスクドラ
イブに対してディスクアクセスのためのコマンドを発行
するコントローラとを有し、前記コマンド実行中に前記
ハードディスクドライブが取得するエラー情報、データ
転送量等のログ情報に基づき前記ハードディスクドライ
ブの故障の兆候を検出し予知した故障発生の通知を行う
ディスクサブシステムにおいて、前記コントローラは、
前記ハードディスクドライブで発生しうる故障原因毎
に、故障に至るまでに発生しうるエラーの発生比率をモ
デル化したエラーパターンを予め保持する故障パターン
テーブルと、コマンドの発行に伴い収集されたログ情報
を記録するログ情報履歴記憶手段と、前記ログ情報履歴
記憶手段に保持されたログ情報に基づくエラー集計結果
が前記故障パターンテーブルに設定したいずれかのエラ
ーパターンに類似しているかどうかの判定を行う故障パ
ターン判定手段と、前記ログ情報履歴記憶手段に保持さ
れたログ情報に基づきエラーレートを算出するエラーレ
ート算出手段と、前記エラーレート算出手段が算出した
エラーレートと予め設定されたスレッシュホールド値と
の比較を行うエラーレート比較手段とを有し、比較した
前記エラー集計結果と前記エラーパターンが類似してい
ると判定され、かつ、算出したエラーレートが前記スレ
ッシュホールド値を越えた場合に前記ハードディスクド
ライブの故障の兆候有りと判断するものである。
【0015】第2の発明に係るディスクサブシステム
は、第1の発明において、前記ハードディスクドライブ
は、受け取ったコマンドに基づきデータアクセスをした
結果として少なくともデータ転送量、エラー発生時のデ
ィスクアドレス、エラー内容及びリトライ回数を含めた
エラー発生回数をログ情報として収集する制御手段と、
収集したログ情報を一時記憶するログ情報記憶手段とを
有するものである。
【0016】第3の発明に係るディスクサブシステム
は、第2の発明において、前記コントローラは、前記ハ
ードディスクドライブから送られてきたログ情報に基づ
き得られた、データ転送量、エラー内容毎のエラー発生
回数、ディスクアドレス毎のエラー内容、リトライ回数
及びコマンド実行回数をログ情報収集毎に前記ログ情報
履歴記憶手段に保持し、前記故障パターン判定手段は、
前記ログ情報履歴記憶手段に保持されたログ情報から得
られたエラー集計結果と前記故障パターンテーブルに設
定されたエラーパターンとを比較することによって類似
判断を行うものである。
【0017】第4の発明に係るディスクサブシステム
は、第1の発明において、前記エラーレート算出手段
は、リトライ回数をデータ転送量で除算することによっ
てエラーレートを算出するものである。
【0018】第5の発明に係るディスクサブシステム
は、第4の発明において、前記コントローラは、前記コ
マンドの実行時間を測定し、そのコマンド実行時間をロ
グ情報として前記ログ情報履歴記憶手段に記憶させる実
行時間測定手段と、前記ログ情報履歴記憶手段に保持さ
れているログ情報に基づき故障の兆候度合いを示す危険
度係数を算出する危険度係数算出手段とを有し、前記エ
ラーレート比較手段は、前記危険度係数を前記エラーレ
ートに乗じた結果と前記スレッシュホールド値との比較
を行うものである。
【0019】第6の発明に係るディスクサブシステム
は、第5の発明において、前記危険度係数算出手段は、
現時点におけるログ情報に基づき算出した平均コマンド
実行時間を、前記ハードディスクドライブの使用開始時
点におけるログ情報に基づき算出した平均コマンド実行
時間で除算することによって危険度係数を算出するもの
である。
【0020】第7の発明に係るディスクサブシステム
は、第2の発明において、前記コントローラは、所定の
コマンドを前記ハードディスクドライブに発行すること
によって前記ログ情報記憶手段に一時記憶されているロ
グ情報を収集するものである。
【0021】
【発明の実施の形態】以下、図面に基づいて、本発明の
好適な実施の形態について説明する。なお、従来例と同
じ構成要素には同じ符号を付ける。
【0022】図1は、本発明に係るディスクサブシステ
ムの一実施の形態を示したブロック構成図である。本実
施の形態におけるディスクサブシステムは、一般に実際
にデータを記憶するHDD31と、ホストシステム3か
らの命令を受けてHDD31に対してリード、ライト、
シーク等のコマンドを発行するコントローラ32とを有
する。
【0023】コントローラ32において、コマンド発行
回路33は、ホストシステム3からの命令を受けてHD
D31にコマンドを発行するための回路である。インタ
フェース回路5は、接続したHDD31との間で信号の
やり取りを行うための回路である。ライトデータバッフ
ァ6は、インタフェース回路5を介してHDD31に送
出するデータを一時的に保存するための記憶手段であ
る。リードデータバッファ7は、インタフェース回路5
を介してHDD31から送られてきたデータを一時的に
記録するための記憶手段である。ステータスバッファ8
は、インタフェース回路5を介してHDD31から送ら
れてきたステータスレジスタの内容を一時的に記録する
ための記憶手段である。不揮発性のエラーメモリ34及
びデータメモリ35は、コマンドの発行に伴いHDD3
1又はコントローラ32で収集されたログ情報を記録す
るログ情報履歴記憶手段として設けられている。このう
ち、エラーメモリ34は主にエラーに関するログ情報
を、データメモリ35はそれ以外のログ情報やログ情報
の履歴を保持する。故障パターンテーブル36は、HD
D31で発生しうる故障原因毎に、故障に至るまでに発
生しうるエラーの発生比率をモデル化したエラーパター
ンを予め保持する。故障パターンテーブル36の内容の
詳細は後述する。故障パターン判定回路37は、故障パ
ターン判定手段として設けられ、ログ情報に基づくエラ
ー集計結果が故障パターンテーブル36に設定したいず
れかのエラーパターンに類似しているかどうかの判定を
行う。エラーレート算出回路38は、エラーレート算出
手段として設けられ、ログ情報に基づきエラーレートを
算出する。危険度係数設定回路39は、危険度係数算出
手段として設けられ、データメモリ35に保持されてい
るログ情報に基づき故障の兆候度合いを示す危険度係数
を算出する。エラーレート比較回路40は、エラーレー
ト比較手段として設けられ、エラーレート算出回路38
が算出したエラーレートと予め設定されたスレッシュホ
ールド値との比較を行う。このスレッシュホールド値
は、HDD31の装置仕様や稼働実績に準拠し交換対象
基準として予め設定してあるエラーレート値である。実
行時間測定回路41は、実行時間測定手段として設けら
れ、各コマンドの実行時間を測定する。アラーム信号生
成回路13は、エラーレート比較回路40が比較した結
果、既定のエラーレート値を越えている場合にアラーム
信号を発生するための回路である。アラーム通知回路1
4は、アラーム信号生成回路13のアラーム信号に基づ
き表示や音出力等でアラームの通知を行うための回路で
ある。
【0024】一方、HDD31において、インタフェー
ス回路25は、接続されたコントローラ32との間で信
号のやり取りを行うための回路である。制御回路42
は、HDD31の動作、すなわちデータを実際に記憶す
る磁気円板17に対してデータの書込み/読出しを行う
ヘッド18の動作制御を行うための回路である。HDD
31における制御手段として設けられた制御回路42
は、内部にライトデータ転送量カウンタ20、リードデ
ータ転送量カウンタ21、コマンド回数カウンタ43及
びリトライ回数カウンタ44を搭載し、受け取ったコマ
ンドに基づきデータアクセスをした結果として少なくと
もデータ転送量、エラーが発生したディスクアドレス、
エラー内容及びリトライ回数を含めたエラー発生回数を
ログ情報として収集する。また、制御回路42は、その
他にエラー検出回路19、書込み回路22及び読出し回
路23を有している。このうち、エラー検出回路19
は、HDD31において発生したエラーを検出するため
の回路である。書込み回路22は、コントローラ32か
ら送られてきたデータ(書込みデータ)の変調及び増幅
を行うための回路である。読出し回路23は、磁気円板
17から読み出したデータ(読出しデータ)の増幅及び
復調を行うための回路である。ライトデータ転送量カウ
ンタ20は、磁気円板17への書込みデータのビット
(ライトデータビット)の数をカウントするためのカウ
ンタである。リードデータ転送量カウンタ21は、磁気
円板17からの読出しデータのビット(リードデータビ
ット)の数をカウントするためのカウンタである。コマ
ンド回数カウンタ43は、実行したコマンドの数をカウ
ントするためのカウンタである。リトライ回数カウンタ
44は、磁気円板17に対するデータアクセスが正常に
できなかった際に行うデータアクセスのリトライの回数
をカウントするためのカウンタである。また、メモリ4
5は、ログ情報記憶手段として設けられ、HDD31に
おいて発生したエラー発生回数、リード/ライトデータ
転送量など制御回路42において収集されたログ情報を
記録する。そして、ステータスレジスタ24は、HDD
31においてコントローラ32から送られてきたコマン
ドの命令通りに実行できたかのステータスを一時保存す
るための記憶手段である。
【0025】以上の構成を有する本実施の形態において
特徴的なことは、実際のコマンド実行に基づき算出した
エラーレートと予め設定したスレッシュホールド値との
比較処理に基づく故障予知を行うだけでなく、HDD3
1が故障に至るまでに発生しうるエラーの発生比率をモ
デル化したエラーパターンを故障原因毎に予め保持して
おき、この各エラーパターンと収集したログ情報に基づ
き得られたエラー集計結果との比較処理を行い、エラー
集計結果がモデル化したエラーパターンと類似する場合
のみ故障の兆候の可能性有りと判断するようにしたこと
である。これにより、一時的なノイズ、一過性の振動、
衝撃、温度変化等本来的に故障の兆候とはいえない事象
によって誤った故障予知を行うことの防止をすることが
できる。
【0026】次に、本実施の形態における動作について
HDD31からデータを読み出す場合を例にして図2及
び図3に示したフローチャートに基づき説明する。
【0027】コントローラ32において、ホストシステ
ム3からデータ読出し命令を受けると(ステップ10
1)、コマンド発行回路4は、図4に示したフォーマッ
トのリードコマンドを生成し、インタフェース回路5を
介してHDD31に送出する(ステップ102)。リー
ドコマンドは、読出し命令であることを識別するための
リードコマンドコード、読出しデータが格納されている
格納アドレス、読出しデータのデータ転送量及びその他
の情報で構成される。また、コマンド発行回路33は、
コマンド発行と同時にその旨を実行時間測定回路41に
通知し、実行時間の測定を開始させる(ステップ10
3)。
【0028】HDD31において、制御回路42は、イ
ンタフェース回路25を介してコントローラ32からリ
ードコマンドを受け取ると(ステップ201)、コマン
ド回数カウンタ43をカウントアップする(ステップ2
02)。なお、コマンド回数カウンタ43並びに他のカ
ウンタ20,21,44は、ログ情報をコントローラ3
2に送出した時点でリセットされる。そして、ヘッド1
8を指定された格納アドレスに移動させて目的とするデ
ータを読み出して転送する。この読出し処理と並行して
リードデータ転送量カウンタ21をカウントアップする
とともにメモリ45に現在保持しているデータ転送量に
加算する(ステップ203)。
【0029】更に、読出し処理中、エラー検出回路19
は、データが磁気円板17から正常に読み出されている
かの監視を行い、最終的に読出し処理が正常終了した場
合にステータスレジスタ24に正常終了のステータスビ
ットをセットするとともにメモリ45に保持したデータ
転送量をコントローラ32に送る(ステップ204,2
08)。エラー検出回路19は、読出し処理中に何らか
のエラーを検出した場合、独自のリトライシーケンスに
基づき数回から数百回のリトライを行う(ステップ20
4,205)。リトライを繰り返す間にデータを正常に
読み出せれば(ステップ206)、ステータスレジスタ
24に正常終了のステータスビットをセットするととも
にメモリ45に保持したデータ転送量をコントローラ3
2に送る(ステップ208)。このリトライは、リトラ
イ回数カウンタ44でカウントされ、実行されたリトラ
イの回数がメモリ45に保持される。また、リトライ回
数のカウントと並行して発生したエラーの内容(データ
エラー、IDエラー、位置決めエラー等)及びエラー発
生アドレスもメモリ45に記録される(ステップ20
7)。一方、上記リトライシーケンスでエラーがリカバ
リできなかった場合は、アンリカバラブルエラーとして
ステータスレジスタ24にエラービットをセットする
(ステップ209)。ステータスビットがステータスレ
ジスタ24にセットされると、インタフェース回路2
5,5を介してコントローラ32のステータスバッファ
8に送られることになる。
【0030】以上のHDD31におけるデータ読出し処
理において、1回のリードコマンドを受け付けたことに
より、コマンド実行回数、データ転送量及びエラー発生
の有無、並びにエラー発生時にはリトライ回数、エラー
内容、エラー発生アドレスがログ情報としてメモり45
に記録されることになる。
【0031】コントローラ32は、ステータスバッファ
8にステータスがセットされると(ステップ104)、
実行時間測定回路41によるコマンド実行時間の測定を
終了する(ステップ105)。そして、測定した実行時
間をデータメモリ35に記録する(ステップ106)。
このように、コントローラ32では、1回のリードコマ
ンド発行によりコマンドの実行時間をログ情報として記
録することになる。なお、正常終了時、HDD31から
送られてくる読出しデータは、リードデータバッファ7
に保存されることになる。また、異常終了時、コントロ
ーラ32は、再度リードコマンドを発行してリカバリを
行うが、このリカバリ処理においても救済できない場合
は、アンコレクタブルエラーの発生としてシステムダウ
ンに至る。なお、その他の一般的なディスクシステムと
同等な処理については、本実施の形態の要旨ではないた
め説明を省略する。
【0032】コントローラ32は、上記データ読出し処
理によりHDD31が収集したログ情報を任意のタイミ
ングでかつ定期的な処理を実行することで収集し、集計
処理を行う。このログ情報収集処理は、通常ディスクサ
ブシステムとして行うべき処理の性能低下につながらな
い時間帯あるいは当該処理の合間に行うようにする。例
えば、当該処理に支障を来さないと判断される時間に、
あるいはシステム負荷を常時監視して適当と思われる時
間に、所定のコマンド、例えばログリードと称するコマ
ンドを1日に1回発行することでHDD31のメモリ4
5からログ情報を読み出すようにする。この読み出した
ログ情報のうちエラーに関する情報をエラーメモリ34
に、それ以外の情報をデータメモリ35にそれぞれ保存
する。この内訳を図5に示す。更に、図6、図7及び図
11に例示した集計データを算出する。ここで、エラー
メモリ34に保存されているログ情報の内容構成につい
て説明する。
【0033】図6は、HDD31から収集したログ情報
に基づきエラー内容毎のエラー発生回数を集計した内容
例を示した図である。図6において、エラー内容とは、
HDD31において発生しうるエラーの種類であり、本
実施の形態では、リードエラー、IDエラー、ライトエ
ラー、ノットレディを例示している。そして、1回のロ
グ情報収集に含まれているエラー内容をエラー内容毎に
分類する。図6の例では、1000回のログ情報の収集
を行った履歴を示している。そして、「計」の欄がリト
ライ回数に相当する。図7は、HDD31から収集した
ログ情報に基づきHDD31において発生したエラー内
容毎のエラー発生回数をアドレス毎に集計した内容例を
示した図である。なお、これらのエラー集計結果は、H
DD31からのログ情報収集時に上記のように分類、集
計して記録するようにしてもよいし、エラー集計結果を
故障パターン判定回路37が使用するときにエラーメモ
リ34に記録された元データに基づき図6及び図7に示
したように分類、集計するようにしてもよい。
【0034】図8は、本実施の形態において予め設定し
た故障パターンテーブル36の内容例を示した図であ
る。このテーブル36には、HDD31において発生し
うる故障の原因毎に、各エラーの発生比率及び各故障の
特徴が設定されている。本実施の形態では、故障の原因
(故障モード)として円板傷つき、位置ズレ及び回転異
常を例示した。
【0035】次に、ログ情報が収集、集計された後に行
われる故障予知を行うための処理について図9に示した
フローチャートを用いて説明する。
【0036】前述したように、HDD31の故障の原因
は、データエラー等のエラーが図8に示したような比率
で発生し、かつ特徴があると予め判明している。従っ
て、故障パターン判定回路37は、故障パターンテーブ
ル36に設定されたモデル化したエラーパターンと、実
際にコマンドを実行して収集したログ情報に基づき得ら
れたエラー集計結果とを比較し(ステップ301)、実
際に発生したエラーの比率がモデル化したいずれかのエ
ラーパターンと同等であり、かつそのエラー発生アドレ
スの分布が図8に示した特徴に合致するようであれば、
比較したエラー集計結果は上記エラーパターンに類似し
ている、すなわち実際に発生したエラー故障の兆候を示
すエラーであると判定する(ステップ302)。例え
ば、実際に発生したエラーの比率がモデル化した円板傷
つきのエラーパターンと同等であり、かつそのエラーの
発生箇所がHDD31の特定のアドレスで頻発している
ようであれば、円板が傷ついたという故障が将来的に起
こるであろうと判断することができる。本実施の形態で
は、リトライで救えた場合もエラーとしてカウントし、
そのリトライ時のエラーを含むエラー発生回数を用いて
エラー比率を求めているので、故障に至る前の故障モー
ドを特定することができることになる。なお、エラー集
計結果とエラーパターンとの比較によりどの程度の差異
までを類似とするかという許容範囲を事前に設定してお
く必要があるが、これは設計事項の範囲内であるため説
明を省略する。なお、上記比較により類似でないと判断
した場合、HDD31において収集されたエラーは、一
時的なノイズ等により発生したものであると判定し、故
障予知の処理を終了する。
【0037】故障パターン判定回路37が故障の兆候有
りと判断すると、次に、エラーレート算出回路38は、
HDD31から収集した1回分のログ情報に含まれるリ
トライ回数すなわちエラー内容毎のエラー発生回数の総
計とデータ転送量からエラーレートを算出する(ステッ
プ303)。これは、エラーメモリ34に保存されたリ
トライ回数とデータメモリ35に保存されたデータ転送
量により、 エラーレート=リトライ回数/データ転送量 という式によって算出する。なお、エラーメモリ34及
びデータメモリ35には、収集したログ情報が順次保存
されており、時系列にその変化の遷移を見ることができ
る。このエラーレートの変化の遷移の例を図10に示
す。
【0038】次に、エラーレート比較回路40は、予め
設定されたスレッシュホールド値と算出したエラーレー
トとを比較することによって故障の兆候の有無について
最終的な判断を行うが、ここでエラーレート比較回路4
0が使用する各種データについて説明する。
【0039】図11は、データメモリ35に保存されて
いるコマンド実行時間に関する情報並びに算出された危
険度係数の内容例を示した図である。データメモリ35
には、コマンド実行回数、総コマンド実行時間、平均コ
マンド実行時間及び危険度係数が上記ログリードコマン
ドが発行される間毎(ログ情報収集毎)に集計されてい
る。コマンド実行回数は、HDD31のコマンド回数カ
ウンタ43によってカウントされた値である。総コマン
ド実行時間は、実行時間測定回路41が測定した実行時
間をログ情報収集毎に集計した総時間である。この値
は、 平均コマンド実行時間=総コマンド実行時間/コマンド
実行回数 で算出することができる。また、危険度係数は、 危険度係数= n回目のログ情報収集時における平均コ
マンド実行時間/1回目のログ情報収集時における平均
コマンド実行時間 で算出することができる。例えば、図11において5回
目のログ情報収集時における危険度係数は、 44÷42≒1.048 となる。ここで、危険度係数とは、故障の兆候のないと
きに算出した最初(本実施の形態では1回目)の平均コ
マンド実行時間とHDD31を使用し故障の至る兆候が
発生しうるn回目の平均コマンド実行時間との比であ
る。図10に示したスレッシュホールド値は、機種共通
に用いられる値であるが、実際のHDD31は、装置個
々に故障に至る余裕度が異なるため、個々の余裕度の相
違を実行時間の差で測定し、装置毎に的確な故障予知を
行うために危険度係数を設けた。例えば、n回目の平均
コマンド実行時間が相対的に長くなっているとき、HD
D31には劣化が始まっており、故障に至りやすい状態
になっていると考えられる。このとき、危険度係数は1
より比較的大きな値となる。一方、その比が1以下にな
るときなどは、エラーが発生していてもHDD31の劣
化は始まっておらず、故障にはまだ至らないと考えるこ
とができる。なお、図11に示した各データの集計、算
出等の処理は、各ログ情報収集時に自動的に行うように
してもよいし、これらのデータを使用するエラーレート
比較回路40の動作時に集計等を行うようにしてもよ
い。また、本実施の形態においては、エラーレートの算
出の際に使用するエラー発生回数には、リトライ時のエ
ラーをも含まれているため、これを考慮して従来とは異
なるスレッシュホールド値を設定する必要がある。
【0040】エラーレート比較回路40は、エラーレー
ト算出回路38がn回目のログ情報に基づき算出したエ
ラーレートとデータメモリ35に保存されている図11
に示したn回目の危険度係数とを乗じて新たなエラーレ
ートを算出する(ステップ304)。この結果の遷移の
例を図12に示す。この図12のように、危険度係数に
より乗じた後のエラーレートがスレッシュホールド値を
越えた場合(図12におけるA回目)にその旨をアラー
ム信号生成回路13に通知する(ステップ305)。本
実施の形態においては、エラーレートに危険度係数を乗
算するようにしたので、早期にスレッシュホールド値に
達することになる。
【0041】アラーム信号生成回路13は、エラーレー
トがスレッシュホールド値を越えた旨を受け取ると、ア
ラーム信号を生成し(ステップ306)、アラーム通知
回路14は、アラーム信号を受け取ると、ホストシステ
ム3にアラーム信号を送出し、CRT等に表示させたり
するなどの通知を行う(ステップ307)。
【0042】以上のように、本実施の形態によれば、実
際にコマンドを実行して収集したログ情報により得たエ
ラー集計結果が故障の原因毎にモデル化したエラーパタ
ーンと類似するときのみエラーレートとスレッシュホー
ルド値との比較処理を行うようにしたので、ノイズ等の
一過性のエラーによって誤った故障予知をすることから
防止することができる。また、HDD31でカウントす
るエラー発生回数にリトライで救えた分も含めるように
したので、故障に至る前の故障モードを特定することが
できることになる。
【0043】なお、本実施の形態では、上記構成により
上記のように動作することで故障予知を行うようにした
が、他の構成としても上記と同様の効果を奏することが
できる。例えば、HDD31によって発行されたコマン
ドの回数をカウントするようにしたが、コントローラ3
2側でカウントするようにしてもよい。
【0044】また、本実施の形態では、SCSIインタ
フェースの例で説明したが、ATA、FC−AL、SP
A、P1394等のインタフェースに適用したHDD3
1でも同様に動作させることができる。
【0045】また、故障を予知した場合、ホストシステ
ム3へ通知するだけでなく、コントローラ32又はHD
D31に所定のランプ表示をしたり、音出力をしたりす
るようにしてもよい。
【0046】また、危険度係数を上記のように求めた
が、更に状況に応じて係数を乗算して重みづけをした
り、システム使用環境の特質に応じて他の式によって求
めるようにしてもよい。
【0047】
【発明の効果】本発明によれば、ハードディスクドライ
ブが故障に至るまでに発生しうるエラーの発生比率をモ
デル化したエラーパターンを故障原因毎に予め保持して
おき、この各エラーパターンと収集したログ情報に基づ
き得られたエラー集計結果との比較処理を行い、エラー
集計結果がモデル化したエラーパターンと類似する場合
のみ故障の兆候の可能性有りと判断するようにしたの
で、一時的なノイズ、一過性の振動、衝撃、温度変化等
本来的に故障の兆候とはいえない事象によって誤った故
障予知を行うことを防止することができる。
【0048】また、故障パターンテーブルに設定するエ
ラー発生比率を、リトライ時のエラーを含むエラー発生
回数を考慮して求めているので、故障に至る前の故障モ
ードを特定することができる。
【図面の簡単な説明】
【図1】 本発明に係るディスクサブシステムの一実施
の形態を示したブロック構成図である。
【図2】 本実施の形態におけるコントローラの動作を
示したフローチャートである。
【図3】 本実施の形態におけるHDDの動作を示した
フローチャートである。
【図4】 本実施の形態におけるコントローラが送出す
るリードコマンドのフォーマット例を示した図である。
【図5】 本実施の形態におけるログ情報履歴記憶手段
が保持するログ情報の内訳を示した図である。
【図6】 本実施の形態においてHDDから収集したロ
グ情報に基づきエラー内容毎のエラー発生回数を集計し
た内容例を示した図である。
【図7】 本実施の形態においてHDDで発生したエラ
ー内容毎のエラー発生回数をアドレス毎に集計した内容
例を示した図である。
【図8】 本実施の形態において予め設定した故障パタ
ーンテーブルの内容例を示した図である。
【図9】 本実施の形態における故障予知を行うための
処理を示したフローチャートである。
【図10】 本実施の形態において算出したエラーレー
トの遷移を示した図である。
【図11】 本実施の形態におけるデータメモリに保存
されているコマンド実行時間に関する情報並びに算出さ
れた危険度係数の内容例を示した図である。
【図12】 本実施の形態において危険度係数を乗算し
て新たに算出したエラーレートの遷移を示した図であ
る。
【図13】 従来のディスクサブシステムのブロック構
成図である。
【図14】 エラーレートとスレッシュホールド値との
関係を示した図である。
【符号の説明】
3 ホストシステム、5,25 インタフェース回路、
6 ライトデータバッファ、7 リードデータバッフ
ァ、8 ステータスバッファ、13 アラーム信号生成
回路、14 アラーム通知回路、17 磁気円板、18
ヘッド、19エラー検出回路、20 ライトデータ転
送量カウンタ、21 リードデータ転送量カウンタ、2
2 書込み回路、23 読出し回路、24 ステータス
レジスタ、31 ハードディスクドライブ(HDD)、
32 コントローラ、33 コマンド発行回路、34
エラーメモリ、35 データメモリ、36 故障パター
ンテーブル、37 故障パターン判定回路、38 エラ
ーレート算出回路、39危険度係数設定回路、40 エ
ラーレート比較回路、41 実行時間測定回路、42
制御回路、43 コマンド回数カウンタ、44 リトラ
イ回数カウンタ、45 メモリ。

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】 データを記録するハードディスクドライ
    ブと、 ホストシステムからの命令を受けて前記ハードディスク
    ドライブに対してディスクアクセスのためのコマンドを
    発行するコントローラと、 を有し、前記コマンド実行中に前記ハードディスクドラ
    イブが取得するエラー情報、データ転送量等のログ情報
    に基づき前記ハードディスクドライブの故障の兆候を検
    出し予知した故障発生の通知を行うディスクサブシステ
    ムにおいて、 前記コントローラは、 前記ハードディスクドライブで発生しうる故障原因毎
    に、故障に至るまでに発生しうるエラーの発生比率をモ
    デル化したエラーパターンを予め保持する故障パターン
    テーブルと、 コマンドの発行に伴い収集されたログ情報を記録するロ
    グ情報履歴記憶手段と、 前記ログ情報履歴記憶手段に保持されたログ情報に基づ
    くエラー集計結果が前記故障パターンテーブルに設定し
    たいずれかのエラーパターンに類似しているかどうかの
    判定を行う故障パターン判定手段と、 前記ログ情報履歴記憶手段に保持されたログ情報に基づ
    きエラーレートを算出するエラーレート算出手段と、 前記エラーレート算出手段が算出したエラーレートと予
    め設定されたスレッシュホールド値との比較を行うエラ
    ーレート比較手段と、 を有し、比較した前記エラー集計結果と前記エラーパタ
    ーンが類似していると判定され、かつ、算出したエラー
    レートが前記スレッシュホールド値を越えた場合に前記
    ハードディスクドライブの故障の兆候有りと判断するこ
    とを特徴とするディスクサブシステム。
  2. 【請求項2】 前記ハードディスクドライブは、受け取
    ったコマンドに基づきデータアクセスをした結果として
    少なくともデータ転送量、エラー発生時のディスクアド
    レス、エラー内容及びリトライ回数を含めたエラー発生
    回数をログ情報として収集する制御手段と、 収集したログ情報を一時記憶するログ情報記憶手段と、 を有することを特徴とする請求項1記載のディスクサブ
    システム。
  3. 【請求項3】 前記コントローラは、前記ハードディス
    クドライブから送られてきたログ情報に基づき得られ
    た、データ転送量、エラー内容毎のエラー発生回数、デ
    ィスクアドレス毎のエラー内容、リトライ回数及びコマ
    ンド実行回数をログ情報収集毎に前記ログ情報履歴記憶
    手段に保持し、 前記故障パターン判定手段は、前記ログ情報履歴記憶手
    段に保持されたログ情報から得られたエラー集計結果と
    前記故障パターンテーブルに設定されたエラーパターン
    とを比較することによって類似判断を行うことを特徴と
    する請求項2記載のディスクサブシステム。
  4. 【請求項4】 前記エラーレート算出手段は、リトライ
    回数をデータ転送量で除算することによってエラーレー
    トを算出することを特徴とする請求項1記載のディスク
    サブシステム。
  5. 【請求項5】 前記コントローラは、 前記コマンドの実行時間を測定し、そのコマンド実行時
    間をログ情報として前記ログ情報履歴記憶手段に記憶さ
    せる実行時間測定手段と、 前記ログ情報履歴記憶手段に保持されているログ情報に
    基づき故障の兆候度合いを示す危険度係数を算出する危
    険度係数算出手段と、 を有し、 前記エラーレート比較手段は、前記危険度係数を前記エ
    ラーレートに乗じた結果と前記スレッシュホールド値と
    の比較を行うことを特徴とする請求項4記載のディスク
    サブシステム。
  6. 【請求項6】 前記危険度係数算出手段は、現時点にお
    けるログ情報に基づき算出した平均コマンド実行時間
    を、前記ハードディスクドライブの使用開始時点におけ
    るログ情報に基づき算出した平均コマンド実行時間で除
    算することによって危険度係数を算出することを特徴と
    する請求項5記載のディスクサブシステム。
  7. 【請求項7】 前記コントローラは、所定のコマンドを
    前記ハードディスクドライブに発行することによって前
    記ログ情報記憶手段に一時記憶されているログ情報を収
    集することを特徴とする請求項2記載のディスクサブシ
    ステム。
JP9130883A 1997-05-21 1997-05-21 ディスクサブシステム Expired - Lifetime JP2880701B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9130883A JP2880701B2 (ja) 1997-05-21 1997-05-21 ディスクサブシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9130883A JP2880701B2 (ja) 1997-05-21 1997-05-21 ディスクサブシステム

Publications (2)

Publication Number Publication Date
JPH10320131A JPH10320131A (ja) 1998-12-04
JP2880701B2 true JP2880701B2 (ja) 1999-04-12

Family

ID=15044934

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9130883A Expired - Lifetime JP2880701B2 (ja) 1997-05-21 1997-05-21 ディスクサブシステム

Country Status (1)

Country Link
JP (1) JP2880701B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5160777B2 (ja) * 2006-12-19 2013-03-13 矢崎エナジーシステム株式会社 車両運行情報解析システム
JP4667412B2 (ja) * 2007-03-13 2011-04-13 富士通株式会社 電子機器集中管理プログラム、電子機器集中管理装置および電子機器集中管理方法
JP2008257411A (ja) * 2007-04-04 2008-10-23 Hitachi Ltd ディスク制御システム
JP4627327B2 (ja) 2008-05-23 2011-02-09 富士通株式会社 異常判定装置
JP5780553B2 (ja) * 2012-04-02 2015-09-16 Kddi株式会社 障害監視装置及び障害監視方法
US10969969B2 (en) 2019-06-26 2021-04-06 Western Digital Technologies, Inc. Use of recovery behavior for prognosticating and in-situ repair of data storage devices

Also Published As

Publication number Publication date
JPH10320131A (ja) 1998-12-04

Similar Documents

Publication Publication Date Title
JP5078235B2 (ja) 磁気ディスク記憶装置におけるトラック・データ完全性の維持方法
JP6078984B2 (ja) 処理装置,処理方法,処理プログラム及び管理装置
JP2007035217A (ja) ディスク記憶装置のデータ退避処理方法及びディスク記憶システム
US8954791B2 (en) Mirroring disk drive sectors
US10606490B2 (en) Storage control device and storage control method for detecting storage device in potential fault state
JP5488709B2 (ja) ストレージ制御装置における基準時間設定方法
CN107179968B (zh) 信息存储装置、故障预测装置及故障预测方法
JP6867591B2 (ja) ストレージ制御装置、ストレージ制御方法およびストレージ制御プログラム
US11237893B2 (en) Use of error correction-based metric for identifying poorly performing data storage devices
JP2880701B2 (ja) ディスクサブシステム
EP2912555B1 (en) Hard drive backup
JP4775843B2 (ja) ストレージシステム及び記憶制御方法
US20060248236A1 (en) Method and apparatus for time correlating defects found on hard disks
Tsai et al. A study of soft error consequences in hard disk drives
JP4905510B2 (ja) ストレージ制御装置及びストレージ装置のデータ回復方法
JP4627327B2 (ja) 異常判定装置
JP2003263703A5 (ja)
WO2021170048A1 (zh) 一种数据存储方法、装置及存储介质
JP5273185B2 (ja) 記録媒体制御システム、記録媒体制御方法、記録媒体制御プログラム
US7454561B1 (en) Method for operating disk drives in a data storage system
CN101206896B (zh) 写遗漏检测器和写遗漏检测方法
JPH0619638A (ja) ディスク装置のオンライン診断における自動スケジュール方法
JPH07169135A (ja) ファイルマネージャ
JPH0945013A (ja) マルチメディアディスクレコーダ
JP2017168157A (ja) 記録媒体管理装置、記録媒体管理方法及び記録媒体管理プログラム