(57)【要約】【課題】ハードディスクドライブの故障診断の精度向上を図る。【解決手段】自己診断機能であるＳＭＡＲＴの各種属性値のうち、外部振動による一時的な性能低下と外部振動以外の要因による性能低下とを判別可能な一部の属性値が前回値よりも悪化した際に、第１振動センサ３の検出値である加速度値Ｇ＿Ｓ１（ｎ）が閾値Ｇ＿Ｓ１（０）よりも大きく、かつ第２振動センサ５の検出値である加速度値Ｇ＿Ｓ２（ｎ）が閾値Ｇ＿Ｓ２（０）よりも大きければ、当該属性値が外部からの振動により一時的に悪化したと判定する。これにより、交換を必要としないハードディスクドライブ２を交換してしまうことを抑制することが可能となる。【選択図】図１
2018173809.tif 000002
【特許請求の範囲】
【請求項１】
自身の動作状態を示す各種状態量を用いた自己診断機能を備えるハードディスクドライブと、
上記ハードディスクドライブに取り付けられ、該ハードディスクドライブの振動を検出可能な第１のセンサと、
上記ハードディスクドライブが収容される筐体に取り付けられ、該筐体の振動を検出可能な第２のセンサと、
上記各種状態量のうち、外部振動による一時的な性能低下と外部振動以外の要因による性能低下とを判別可能な一部の状態量が前回値よりも悪化した際に、上記第１のセンサで検出された振動が所定の第１閾値よりも大きく、かつ上記第２のセンサで検出された振動が所定の第２閾値よりも大きければ、当該状態量が外部からの振動により一時的に悪化したと判定する判定部と、を有することを特徴とするハードディスクドライブ診断装置。
【請求項２】
上記各種状態量は、上記ハードディスクドライブのＳＭＡＲＴ（Ｓｅｌｆ−Ｍｏｎｉｔｏｒｉｎｇ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｒｅｐｏｒｔｉｎｇ  Ｔｅｃｈｎｏｌｏｇｙ）の各検査項目であることを特徴とする請求項１に記載のハードディスクドライブ診断装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、パーソナルコンピュータ等において、不適切な設置等によって生じる振動により内蔵ハードディスクドライブの性能低下が一時的に低下していることを検出可能な診断装置に関する。
【背景技術】
【０００２】
特許文献１、２に開示されているように、パーソナルコンピュータにおける内蔵ハードディスクドライブの故障を予知する手段として、ハードディスクドライブ自身にＳＭＡＲＴ（Ｓｅｌｆ−Ｍｏｎｉｔｏｒｉｎｇ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｒｅｐｏｒｔｉｎｇ  Ｔｅｃｈｎｏｌｏｇｙ）機能が搭載されたものが広く知られている。
【０００３】
例えば、特許文献１は、複数の磁気ディスクドライブ（ハードディスクドライブ）を備えたディスクアレイ装置に関するものであって、個々の磁気ディスクドライブがそれぞれ上記ＳＭＡＲＴ機能に用いる動的な複数の属性値（各種状態量）を持っている。そして、これら属性値とこれら属性値毎に予め定められた閾値とを比較して、閾値を超えた状態を検出すると、該当する磁気ディスクドライブが異常状態もしくは故障間近の状態として故障予知に利用している。
【０００４】
上記各属性値のうち、ディスクのリード処理の失敗率（Ｒａｗ  Ｒｅａｄ  Ｅｒｒｏｒ  Ｒａｔｅ）及びライト処理の失敗率（Ｗｒｉｔｅ  Ｅｒｒｏｒ  Ｒａｔｅ）等は、磁気ディスクドライブの直接的な故障に直結する情報として利用されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−１８２７４３号公報
【特許文献２】特開２０１２−５９３１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ディスクアクセスの失敗は、磁気ディスクドライブ自体の寿命や故障による場合だけでなく、外部振動によっても発生し得る現象である。実際、リード処理の失敗率が閾値を超えたため故障交換された磁気ディスクドライブを調査すると、ハードウェア的な異常は全く見られず、他のコンピュータに搭載して正常に使用できる場合がある。
【０００７】
つまり、このような場合、パーソナルコンピュータの設置環境の改善による振動の除去を実施すべきであり、磁気ディスクドライブの交換は、費用を発生させるだけの無駄な対策である。
【０００８】
従って、磁気ディスクドライブの故障を予知あるいは検出するにあっては、更なる改善の余地がある。
【課題を解決するための手段】
【０００９】
本発明のハードディスクドライブ診断装置は、自身の動作状態を示す各種状態量を用いた自己診断機能を備えるハードディスクドライブと、上記ハードディスクドライブに取り付けられ、該ハードディスクドライブの振動を検出可能な第１のセンサと、上記ハードディスクドライブが収容される筐体に取り付けられ、該筐体の振動を検出可能な第２のセンサと、上記各種状態量のうち、外部振動による一時的な性能低下と外部振動以外の要因による性能低下とを判別可能な一部の状態量が前回値よりも悪化した際に、上記第１のセンサで検出された振動が所定の第１閾値よりも大きく、かつ上記第２のセンサで検出された振動が所定の第２閾値よりも大きければ、当該状態量が外部からの振動により一時的に悪化したと判定する判定部と、を有することを特徴としている。
【００１０】
また、上記各種状態量は、具体的には、上記ハードディスクドライブのＳＭＡＲＴ（Ｓｅｌｆ−Ｍｏｎｉｔｏｒｉｎｇ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｒｅｐｏｒｔｉｎｇ  Ｔｅｃｈｎｏｌｏｇｙ）の各検査項目である。
【発明の効果】
【００１１】
本発明によれば、筐体の設置環境が適切でないために振動が発生している場合、環境改善が必要であることを外部に通知することが可能となる。そのため、交換を必要としないハードディスクドライブを交換してしまうことを抑制することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明に係るハードディスクドライブ診断装置の概略構成を模式的に示した説明図。
【図２】筐体振動監視スレッドの一例を示すフローチャート。
【図３】ＳＭＡＲＴ値監視スレッドの一例を示すフローチャート。
【発明を実施するための形態】
【００１３】
以下、本発明の一実施例を図面に基づいて詳細に説明する。図１は、本発明に係るハードディスクドライブ診断装置１をパーソナルコンピュータに適用した場合の概略構成を模式的に示した説明図である。
【００１４】
ハードディスクドライブ診断装置１は、ハードディスクドライブ（ＨＤＤ）２と、第１振動センサ３と、第２振動センサ５と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）６と、から大略構成されている。
【００１５】
第１振動センサ３は、第１のセンサに相当するものであり、ハードディスクドライブ２に取り付けられている。第１振動センサ３は、ハードディスクドライブ２の振動を検出可能なものである。
【００１６】
第２振動センサ５は、第２のセンサに相当するものであり、ハードディスクドライブ２が収容される筐体４に取り付けられている。第２振動センサ５は、筐体４の振動を検出可能なものである。
【００１７】
第１振動センサ３及び第２振動センサ５は、本実施例では加速度センサである。なお、第１振動センサ３及び第２振動センサ５は、加速度センサに限定されるものではなく、例えば速度センサ等を用いることも可能である。
【００１８】
ＣＰＵ６は、判定部に相当するものであって、第１振動センサ３及び第２振動センサ５の検出信号が入力されているとともに、データ伝送路７を介してハードディスクドライブ２との通信（データの授受等）が可能となっている。
【００１９】
ハードディスクドライブ２は、自己診断機能であるＳＭＡＲＴ（Ｓｅｌｆ−Ｍｏｎｉｔｏｒｉｎｇ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｒｅｐｏｒｔｉｎｇ  Ｔｅｃｈｎｏｌｏｇｙ）を備えている。上記ＳＭＡＲＴは、ハードディスクドライブ２の動作状態を示す各種属性値（各種状態量）を用いて各種検査を実行するものであり、ハードディスクドライブ２の故障予知あるいは故障検出が可能である。
【００２０】
ハードディスクドライブ２のデータ領域には、監視ソフトウェアが記録する振動データ情報と、上記ＳＭＡＲＴの情報として各種属性値の現在値及び閾値が格納されている。
【００２１】
監視ソフトウェアは、筐体振動監視スレッドとＳＭＡＲＴ値監視スレッドである。これらのスレッドは、ＣＰＵ６で実行される。
【００２２】
図２は、筐体振動監視スレッドの一例を示すフローチャートである。筐体振動監視スレッドは、例えば監視周期を１秒として実行される。つまり、筐体振動監視スレッドは、例えば１秒毎に繰り返し実行される。
【００２３】
ステップＳ１１では、第１振動センサ３の検出値である加速度値Ｇ＿Ｓ１（ｎ）を読み込む。つまり、ステップＳ１１では、第１振動センサ３の検出信号である加速度値Ｇ＿Ｓ１（ｎ）が入力される。
【００２４】
ステップＳ１２では、加速度値Ｇ＿Ｓ１（ｎ）が第１閾値としての閾値Ｇ＿Ｓ１（０）よりも大きいか否かを判定する。閾値Ｇ＿Ｓ１（０）は、例えば、ハードディスクドライブ２のデータ領域等に予め記録されている。加速度値Ｇ＿Ｓ１（ｎ）が閾値Ｇ＿Ｓ１（０）よりも大きい場合はステップＳ１３へ進む。加速度値Ｇ＿Ｓ１（ｎ）が閾値Ｇ＿Ｓ１（０）以下の場合はステップＳ１４へ進む。
【００２５】
ステップＳ１３では、超過記録として加速度値Ｇ＿Ｓ１（ｎ）と現在時刻をハードディスクドライブ２のデータ領域に保存する。
【００２６】
ステップＳ１４では、第２振動センサ５の検出値である加速度値Ｇ＿Ｓ２（ｎ）を読み込む。つまり、ステップＳ１４では、第２振動センサ５の検出信号である加速度値Ｇ＿Ｓ２（ｎ）が入力される。
【００２７】
ステップＳ１５では、加速度値Ｇ＿Ｓ２（ｎ）が閾値Ｇ＿Ｓ２（０）よりも大きいか否かを判定する。閾値Ｇ＿Ｓ２（０）は、例えば、ハードディスクドライブ２のデータ領域等に予め記録されている。加速度値Ｇ＿Ｓ２（ｎ）が閾値Ｇ＿Ｓ２（０）よりも大きい場合はステップＳ１６へ進む。加速度値Ｇ＿Ｓ２（ｎ）が閾値Ｇ＿Ｓ２（０）以下の場合は、今回のルーチンを終了する。
【００２８】
ステップＳ１６では、超過記録として加速度値Ｇ＿Ｓ２（ｎ）と現在時刻をハードディスクドライブ２のデータ領域に保存する。
【００２９】
第１振動センサ３及び第２振動センサ５を設ける理由は、以下の通りである。ハードディスクドライブ２に起因する振動のみで、第１振動センサ３で検出された加速度値Ｇ＿Ｓ１（ｎ）が閾値Ｇ＿Ｓ１（０）よりも大きくなる場合、第２振動センサ５で検出される加速度値Ｇ＿Ｓ２（ｎ）は閾値Ｇ＿Ｓ２（０）を下回ると予想できる。つまり、加速度値Ｇ＿Ｓ１（ｎ）及び加速度値Ｇ＿Ｓ２（ｎ）がそれぞれ両者の閾値を超えるような状態のとき、外部振動によりハードディスクドライブ２に振動が発生していると判定するためである。
【００３０】
図３は、ＳＭＡＲＴ値監視スレッドの一例を示すフローチャートである。ＳＭＡＲＴ値監視スレッドは、例えば監視周期を６０秒として実行される。つまり、ＳＭＡＲＴ値監視スレッドは、例えば６０秒毎に繰り返し実施される。
【００３１】
ステップＳ２１では、上記ＳＭＡＲＴの各種属性値のうち監視対象となる所定の属性値を取得する。ステップＳ２１で取得される属性値（例えば、Ｒａｗ  Ｒｅａｄ  Ｅｒｒｏｒ  Ｒａｔｅ）は、外部振動による一時的な性能低下と外部振動以外の要因による性能低下とを判別可能なものである。
【００３２】
ステップＳ２２では、ステップＳ２１で取得した上記ＳＭＡＲＴの属性値と、この属性値の前回値とを比較して変化しているが否かを判定する。属性値の前回値は、ハードディスクドライブ２のデータ領域に記録されている。ステップＳ２１で取得した上記ＳＭＡＲＴの属性値が、この属性値の前回値から変化している場合はステップＳ２３へ進む。ステップＳ２１で取得した上記ＳＭＡＲＴの属性値が、この属性値の前回値から変化していない場合は今回のルーチンを終了する。
【００３３】
ステップＳ２３では、ステップＳ２１で取得した上記ＳＭＡＲＴの属性値と現在時刻をハードディスクドライブ２のデータ領域に保存する。
【００３４】
ステップＳ２４では、ステップＳ２１で取得した上記ＳＭＡＲＴの属性値が、この属性値の前回値から悪化しているか否かを判定する。ステップＳ２１で取得した上記ＳＭＡＲＴの属性値が、この属性値の前回値から悪化している場合には、ステップＳ２５へ進む。ステップＳ２１で取得した上記ＳＭＡＲＴの属性値が、この属性値の前回値から悪化していない場合には、今回のルーチンを終了する。
【００３５】
ステップＳ２５では、前回記録された時点から今回までの間に、加速度値Ｇ＿Ｓ１（ｎ）が閾値Ｇ＿Ｓ１（０）を超過した記録、及び加速度値Ｇ＿Ｓ２（ｎ）が閾値Ｇ＿Ｓ２（０）を超過した記録がないか検索する。
【００３６】
ステップＳ２６では、超過記録の有無を判定する。詳述すると、ステップＳ２６では、超過記録がある場合、ステップＳ２７を経てステップＳ２８へ進む。また、ステップＳ２６では、超過記録がない場合、ステップＳ２８へ進む。ステップＳ２６では、加速度値Ｇ＿Ｓ１（ｎ）が閾値Ｇ＿Ｓ１（０）を超過した記録、及び加速度値Ｇ＿Ｓ２（ｎ）が閾値Ｇ＿Ｓ２（０）を超過した記録の双方があった場合に、超過記録ありと判定する。
【００３７】
ステップＳ２７では、ログ記録警告発報を行う。具体的には、振動によりＳＭＡＲＴ属性値悪化が発生したことをハードディスクドライブ２のデータ領域に保存し、外部に発報する。例えば、監視対象となる属性値がＲａｗ  Ｒｅａｄ  Ｅｒｒｏｒ  Ｒａｔｅの場合には、振動によりＳＭＡＲＴ属性値（Ｒａｗ  Ｒｅａｄ  Ｅｒｒｏｒ  Ｒａｔｅ）低下が発生したことをハードディスクドライブ２のデータ領域に保存し、外部に発報する。監視対象となる属性値がＲａｗ  Ｒｅａｄ  Ｅｒｒｏｒ  Ｒａｔｅの場合、ＳＭＡＲＴ属性値悪化は、ＳＭＡＲＴ属性値低下である。Ｒａｗ  Ｒｅａｄ  Ｅｒｒｏｒ  Ｒａｔｅは、ハードディスクドライブ２からデータを読み込む時に発生したエラーの割合を示すものである。この数値が閾値よりも低い場合、ハードディスクドライブ２内の磁気ディスク（図示せず）または磁気ヘッド（図示せず）に異常がある。
【００３８】
ステップＳ２８では、ステップＳ２１で取得された今回の属性値（今回値）を前回値としてハードディスクドライブ２のデータ領域に保存する。すなわち、ステップＳ２８では、ステップＳ２１で取得された今回の属性値（今回値）を用いて、前回値を更新する。
【００３９】
なお、ハードディスクドライブ２の寿命判断は、上記ＳＭＡＲＴの属性値が閾値を超過した時点で判定する。
【００４０】
これによって、ハードディスクドライブ２の各種属性値のうちの一部の属性値については、当該属性値の悪化が外部振動による一時的な性能低下なのか、寿命による性能低下なのか区別することが可能となる。つまり、筐体４の設置環境が適切でないために振動が発生している場合、環境改善が必要であることを外部に通知することが可能となる。そのため、交換を必要としないハードディスクドライブ２を交換してしまうことを抑制することが可能となる。
【００４１】
なお、外部振動による一時的な性能低下と外部振動以外の要因による性能低下とを判別可能な上記ＳＭＡＲＴの属性値（監視対象属性値）としては、Ｒａｗ  Ｒｅａｄ  Ｅｒｒｏｒ  Ｒａｔｅの他に、Ｔｈｒｏｕｇｈｐｕｔ  Ｐｅｒｆｏｒｍａｎｃｅ、Ｓｐｉｎ−Ｕｐ  Ｔｉｍｅ、Ｒｅａｌｌｏｃａｔｅｄ  Ｓｅｃｔｏｒｓ  Ｃｏｕｎｔ、Ｓｅｅｋ  Ｅｒｒｏｒ  Ｒａｔｅ、Ｓｅｅｋ  Ｔｉｍｅ  Ｐｅｒｆｏｒｍａｎｃｅ、Ｓｐｉｎ  Ｒｅｔｒｙ  Ｃｏｕｎｔ、Ｇ−Ｓｅｎｓｅ  Ｅｒｒｏｒ  Ｒａｔｅ、Ｒｅａｌｌｏｃａｔｉｏｎ  Ｅｖｅｎｔ  Ｃｏｕｎｔ、Ｗｒｉｔｅ  Ｅｒｒｏｒ  Ｒａｔｅ、Ｖｉｂｒａｔｉｏｎ  Ｄｕｒｉｎｇ  Ｗｒｉｔｅ、Ｖｉｂｒａｔｉｏｎ  Ｄｕｒｉｎｇ  Ｒｅａｄ、Ｓｈｏｃｋ  Ｄｕｒｉｎｇ  Ｗｒｉｔｅ、Ｒｅａｄ  Ｅｒｒｏｒ  Ｒｅｔｒｙ  Ｒａｔｅがある。
【００４２】
つまり、上述した図３において監視対象となる属性値は、Ｒａｗ  Ｒｅａｄ  Ｅｒｒｏｒ  Ｒａｔｅのみではなく、Ｒａｗ  Ｒｅａｄ  Ｅｒｒｏｒ  Ｒａｔｅ以外の属性値に対しても図３と同様の処理を行うことで、より信頼性の高いロジックとすることができる。換言すれば、外部振動による一時的な性能低下と外部振動以外の要因による性能低下とを判別可能な上記ＳＭＡＲＴの複数の属性値に対して、図３と同様の処理を並列的に行うことで、より信頼性の高いロジックとすることができる。
【００４３】
例えば、監視対象となる属性値がＳｐｉｎ−Ｕｐ  Ｔｉｍｅであれば、図３のＳ２７において、振動によりＳＭＡＲＴ属性値（Ｓｐｉｎ−Ｕｐ  Ｔｉｍｅ）悪化が発生したことをハードディスクドライブ２のデータ領域に保存し、外部に発報することになる。Ｓｐｉｎ−Ｕｐ  Ｔｉｍｅは、ハードディスクドライブが通電回転を開始してから規定の回転数に達するまでに係った平均時間である。監視対象となる属性値がＳｐｉｎ−Ｕｐ  Ｔｉｍｅの場合、ＳＭＡＲＴ属性値悪化は、ＳＭＡＲＴ属性値低下である。
【００４４】
例えば、監視対象となる属性値がＳｅｅｋ  Ｅｒｒｏｒ  Ｒａｔｅであれば、図３のＳ２７において、振動によりＳＭＡＲＴ属性値（Ｓｅｅｋ  Ｅｒｒｏｒ  Ｒａｔｅ）悪化が発生したことをハードディスクドライブ２のデータ領域に保存し、外部に発報することになる。Ｓｅｅｋ  Ｅｒｒｏｒ  Ｒａｔｅは、ハードディスクドライブ２の磁気ヘッド（図示せず）が目的のデータの在るトラックへ移動しようとして失敗（シークエラー）した割合である。監視対象となる属性値がＳｅｅｋ  Ｅｒｒｏｒ  Ｒａｔｅの場合、ＳＭＡＲＴ属性値悪化は、ＳＭＡＲＴ属性値低下である。
【００４５】
ここで、上述したＴｈｒｏｕｇｈｐｕｔ  Ｐｅｒｆｏｒｍａｎｃｅは、ハードディスクドライブ２の全体的な処理能力である。この値が閾値以下の場合、高い確率でハードディスクドライブ２に異常がある。
【００４６】
Ｒｅａｌｌｏｃａｔｅｄ  Ｓｅｃｔｏｒｓ  Ｃｏｕｎｔは、代替処置を施された不良セクタの数である。
【００４７】
Ｓｅｅｋ  Ｔｉｍｅ  Ｐｅｒｆｏｒｍａｎｃｅは、ハードディスクドライブ２の磁気ヘッド（図示せず）がシーク作業に要した平均時間である。
【００４８】
Ｓｐｉｎ  Ｒｅｔｒｙ  Ｃｏｕｎｔは、ハードディスクドライブ２の磁気ディスク（図示せず）を規定の速度までスピンアップしようと再試行を試みた回数である。
【００４９】
Ｇ−Ｓｅｎｓｅ  Ｅｒｒｏｒ  Ｒａｔｅは、衝撃によって引き起こされるプログラムエラーの頻度である。
【００５０】
Ｒｅａｌｌｏｃａｔｉｏｎ  Ｅｖｅｎｔ  Ｃｏｕｎｔは、セクタの代替処理が発生した回数である。
【００５１】
Ｗｒｉｔｅ  Ｅｒｒｏｒ  Ｒａｔｅは、データの書き込み中に発見されたエラーの総数である。
【００５２】
Ｖｉｂｒａｔｉｏｎ  Ｄｕｒｉｎｇ  Ｗｒｉｔｅは、データの書き込み中に加わった大きな振動を表す。
【００５３】
Ｖｉｂｒａｔｉｏｎ  Ｄｕｒｉｎｇ  Ｒｅａｄは、データの読み込み中に加わった大きな振動を表す。
【００５４】
Ｓｈｏｃｋ  Ｄｕｒｉｎｇ  Ｗｒｉｔｅは、データの書き込み中に加わった大きな衝撃を表す。
【００５５】
Ｒｅａｄ  Ｅｒｒｏｒ  Ｒｅｔｒｙ  Ｒａｔｅは、データをハードディスクドライブ２の磁気ディスク（図示せず）から読み込む間に現れるエラーの頻度である。
【符号の説明】
【００５６】
１…ハードディスクドライブ診断装置
２…ハードディスクドライブ
３…第１振動センサ
４…筐体
５…第２振動センサ
６…ＣＰＵ
７…データ伝送路
【図１】
2018173809.tif 000003
【図２】
2018173809.tif 000004
【図３】
2018173809.tif 000005