(57)【要約】  本願に開示の例は、ハードディスクドライブに関連する複数のセンサーデータを収集し、複数のセンサーデータに従ってハードディスクドライブについての健康状態因子を計算し、複数のセンサーデータに従ってハードディスクドライブについての健康状態オフセットを計算し、ハードディスクドライブについて予測された全寿命、ハードディスクドライブについての健康状態因子、およびハードディスクドライブについての健康状態オフセットに従って、ハードディスクドライブについての予測残存寿命を生成することに関する。
2021502663.tif 000002
【特許請求の範囲】
【請求項１】
非一時的な機械可読式の記憶媒体であって、プロセッサーが：
ハードディスクドライブに関連する複数のセンサーデータを収集し；
複数のセンサーデータに従ってハードディスクドライブについての健康状態因子を計算し；
複数のセンサーデータに従ってハードディスクドライブについての健康状態オフセットを計算し；そして
ハードディスクドライブについて予測された全寿命、ハードディスクドライブについての健康状態因子、およびハードディスクドライブについての健康状態オフセットに従って、ハードディスクドライブについての予測残存寿命を生成する
ようにさせるよう実行可能な、機械可読式の命令を記憶している媒体。
【請求項２】
健康状態因子は、複数のセンサーデータのうちセンサーデータの第１のサブセットに従って計算される、請求項１の媒体。
【請求項３】
センサーデータの第１のサブセットは、以下：Read Error Count（データ読み込み時のエラーの数）、CommandTimeout Count（コマンドタイムアウト数）、Reallocated Sector Count（代替処理済みの不良セクタ数）、およびUncorrectable Sector Count（回復不可能なセクタ数）の少なくとも１つを含む、請求項２の媒体。
【請求項４】
健康状態オフセットは、複数のセンサーデータのうちセンサーデータの第２のサブセットに従って計算される、請求項１の媒体。
【請求項５】
センサーデータの第２のサブセットは、以下：Drive Power Cycle Count（ドライブの電源投入回数）、Shock Sensor Count（衝撃センサーによるカウント値）、Average Temperature（平均作動温度）、およびReallocated Sector Count（代替処理済みの不良セクタ数）の少なくとも１つを含む、請求項４の媒体。
【請求項６】
健康状態オフセットは、センサーデータの第２のサブセットの少なくとも１つをハードディスクドライブの合計使用時間で除算した商を含む、請求項５の媒体。
【請求項７】
ハードディスクドライブについて予測された全寿命は、ハードディスクドライブの製造者に関連する、複数のハードディスクドライブについての平均的な全寿命である、請求項１の媒体。
【請求項８】
ハードディスクドライブについて予測された全寿命は、ハードディスクドライブのモデルに関連する、複数のハードディスクドライブについての平均的な全寿命である、請求項１の媒体。
【請求項９】
システムであって：
ハードディスクドライブに関連する複数のセンサーデータを収集するデータ収集エンジンと；
健康状態計算エンジンであって：
複数のセンサーデータの少なくとも１つの第１のデータ要素に従ってハードディスクドライブについての健康状態因子を計算し、そして
複数のセンサーデータの少なくとも１つの第２のデータ要素に従ってハードディスクドライブについての健康状態オフセットを計算する健康状態計算エンジン；および
ハードディスクドライブについて予測された全寿命、ハードディスクドライブについての健康状態因子、およびハードディスクドライブについての健康状態オフセットに従って、ハードディスクドライブについての予測残存寿命を生成する予測エンジン
を含むシステム。
【請求項１０】
ハードディスクドライブについて予測された全寿命は：ハードディスクドライブの製造者およびハードディスクドライブのモデルの少なくとも１つに関連する、複数のハードディスクドライブについての平均的な全寿命である、請求項９のシステム。
【請求項１１】
健康状態計算エンジンは、健康状態因子を計算するために：
少なくとも１つの第１のデータ要素に従って１〜１００％の中間健康状態値を計算し；
中間健康状態値を自乗し；そして
自乗された平均作動温度を減算するよう構成されている、請求項９のシステム。
【請求項１２】
健康状態計算エンジンは、健康状態オフセットを計算するために：
少なくとも１つの第２のデータ要素をハードディスクドライブの合計使用時間で除算することによって、時間値を計算するように構成されている、請求項９のシステム。
【請求項１３】
予測エンジンは、予測残存寿命を生成するために：
予測された全寿命から合計使用時間を減算することによって中間残存寿命値を計算し；
この中間残存寿命値に健康状態因子を掛けて乗算し；そして
健康状態オフセットを減算するように構成されている、請求項９のシステム。
【請求項１４】
コンピュータで実施される方法であって：
ハードディスクドライブに関連する複数のセンサーデータを収集し；
複数のセンサーデータの少なくとも１つの第１のデータ要素に従ってハードディスクドライブについての健康状態因子を計算し；
複数のセンサーデータの少なくとも１つの第２のデータ要素に従ってハードディスクドライブについての健康状態オフセットを計算し；
ハードディスクドライブについて予測された全寿命、ハードディスクドライブについての健康状態因子、およびハードディスクドライブについての健康状態オフセットに従って、ハードディスクドライブについての予測残存寿命を生成し；
ハードディスクドライブについての予測残存寿命が、構成可能な境界値よりも低いか否かを判定し；そして
ハードディスクドライブについての予測残存寿命が、構成可能な境界値よりも低いという判定に応じて、エラー警告を提供することを含む、方法。
【請求項１５】
予測残存寿命を生成することは：
予測された全寿命から合計使用時間を減算することによって中間残存寿命値を計算し；
この中間残存寿命値に健康状態因子を掛けて乗算し；そして
健康状態オフセットを減算することを含む、請求項１４の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
ハードディスクドライブ（ＨＤＤ）のような電子部品は、コンピュータおよびプリンターのようなデバイスのためにデータを記憶するよう使用されてよい。ハードディスクドライブは、例えば、１つまたはより多くの剛性の、磁性材料で被覆された、高速回転するディスク（プラッター）を使用してデジタル情報の記憶および読み出しを行うために磁気記憶を用いてよく、および／または、固体ドライブ（ＳＳＤ）の形態のフラッシュメモリにデータを記憶してよい。ＨＤＤは、不揮発性記憶媒体の１種であり、電源が切られた場合でも記憶されたデータを保持する。
【図面の簡単な説明】
【０００２】
図１は、ハードディスクドライブの寿命予測をもたらすための、例示的なコンピューティングデバイスのブロック図である。
【０００３】
図２は、ハードディスクドライブの寿命予測をもたらすための、例示的なシステムのブロック図である。
【０００４】
図３は、ハードディスクドライブの寿命予測をもたらすための、例示的な方法のフローチャートである。
【０００５】
添付図面全体を通じて、同じ参照番号は、必ずしも同一ではないが、類似の要素を指している。添付図面は必ずしも縮尺通りではなく、幾つかの部品の大きさは、図示の例をより明確に説明するために、誇張されている場合がある。さらにまた、添付図面は、詳細な説明と一貫性のある例および／または実施形態を提示している；しかしながら、詳細な説明は、添付図面に提示された例および／または実施形態に限定されるものではない。
【発明を実施するための形態】
【０００６】
コンピュータ、ラップトップ（ノートブック）パソコン、プリンター、コピー機、多機能型デバイス、その他といった、電子的システム内の多くの既定の部品は、動作寿命を有している。摩耗、故障、誤動作、損傷、または他の理由によって尽きることがある、この寿命が来ると、そうした部品を交換することが必要になる。これらの部品の残存寿命を予測し、それによって動作寿命の終わり近くで、しかし部品が完全に故障するよりも前に交換できるようにすることは、これらのデバイスの所有者および／またはオペレーターにとって、コスト効率の面から重要である。
【０００７】
ハードディスクドライブ（ＨＤＤ）は、多くの電子デバイスにおいてデータ記憶部品となっている。寿命を予測することはＨＤＤについて特に重要であるが、その理由は、故障する前にＨＤＤを交換することができない場合、ＨＤＤに記憶された重要なデータが失われる結果となりうるからである。多くのＨＤＤには、その健康および状態に関する情報をもたらすためのセンサーが備えられているが、そうしたセンサーは故障の予測ではなく、ドライブの現状についての情報をもたらすのみである。しかしながらこのデータは、分析によって動向を判定し、そしてどの因子が故障の指標になる傾向があるかを識別することができる。こうした因子は、作動寿命の平均長さについての知識と組み合わせて、ＨＤＤについての残存寿命を予想し、そして寿命が来る前に交換が確実に行われるようにすることができる。
【０００８】
例えば、多くのＨＤＤは、ドライブの信頼性についての種々の指標を検出し報告するための、自己監視分析および報告テクノロジー（Ｓ.Ｍ.Ａ.Ｒ.Ｔ.）と呼ばれるセンサーを搭載している。これらのセンサーは、Read Error Rate（読み出しエラーレート）、Start/Stop Cycles（モーターの回転／停止サイクル）、Reallocated Sector Count（代替処理済みの不良セクタ数）、Power-on Hours（使用時間の合計）、Used and/or Unused Reserved Block Count（使用済および／または未使用の予約ブロック数）、Command Timeout（コマンドタイムアウト数）、およびその他といった、多くのデータカウントを報告する。ＨＤＤについての残存寿命の予測は、こうしたセンサーのデータ、並びに、ドライブの個別のブランドおよび／またはモデルについての平均寿命、作動温度、および／または、衝撃および／または湿度センサーのような損傷検出といった、他のデータを利用してよい。例えば、ＨＤＤの寿命についての業界平均は、４３,８００の作動時間または１８２５日を含んでいてよい。この平均値は製造者によって異なっていてよい−こうしたデータは製造者、および／または部品の試験および検査所によって提示されてよく、および／または幾つものデバイスにわたる観察を介して集積されてよい。幾つかの実施形態においては、コンピュータの製造者は、その製品にハードドライブの３つのモデル−モデルＡ、モデルＢ、およびモデルＣを使用してよい。修理サービス依頼の電話および／または保証に基づく交換に際して得られたデータに基づいて、製造者は例えば、モデルＡのＨＤＤについては１８５５日の平均寿命を、ブランドＢのＨＤＤについては１８１０日の平均寿命を、そしてモデルＣのＨＤＤについては１９０４日の平均寿命を特定しうる。本明細書ではこれらの例を、完全に純粋に例示的な目的のために参照する；これらの平均寿命は、市場にあるハードドライブの何らかの特定のブランドまたはモデルを表すことを意図したものではない。
【０００９】
平均寿命は、すべてのＨＤＤにわたる一般的なものであろうと、および／またはブランドまたはモデルに特有の平均であろうと、所与のＨＤＤについて残存寿命を予測するための基準値として使用されてよい。ＨＤＤからの１つのセンサー読み取り値は、Power On Time Count（使用時間のカウント）を含んでいてよく、これはＨＤＤが通電されていた合計時間を特定する。この値は、ブランド、モデル、および／または製造者に応じて、任意の所与の時間単位（例えば、秒、時、日、その他）で報告されてよいが、しかし時間の単位は既知であり、計算を容易にするために日数へと変換することができる。３４７日間使用されていることを報告している例示的なＨＤＤについての簡単な寿命予測は、単純に平均の１８５５日から３４７日を差し引くことであってよく、結果的に残りは１４７８日であるという予測が得られる。例示的な目的で、本願に示される例は、健康状態の計算を日数のカウントとして示しているが、しかし他の時間の単位（例えば、時）も同様に適用可能である。
【００１０】
この簡単な予測は、しかしながら、その特定のＨＤＤの作動に影響しうる健康状態および他の因子を考慮したものではない。残存寿命を予測するための第２の成分は、１〜１００％の百分率の値として表され、そしてそのＨＤＤの全般的な健康状態に関連している、ＨＤＤの健康状態値を含んでいてよい。この健康状態値は、適切なセンサーから幾つものＨＤＤ属性を集め、それらの属性を百分率に正規化し、そして以下で詳細に説明するように、各々の属性に重みを割り当てることによって計算されてよい。幾つかの実施形態においては、この健康状態値はさらに、平均作動温度属性によって修正されてよい。
【００１１】
残存寿命の予測はさらに、そのＨＤＤに特有の他のデータ要素に従って計算される、健康状態オフセット（補正）を考慮してよい。例えば、Reallocated Sector Count（代替処理済みの不良セクタ数）、Shock Sensor Count（衝撃センサーによるカウント値）、およびAverageWorking Time（平均動作時間）は、以下で詳細に説明するように、ＨＤＤの予測された寿命について、健康状態オフセット（補正）値を生成するために組み込まれてよい。
【００１２】
健康状態値および健康状態オフセット値の計算を、そのＨＤＤについての平均寿命に従って予測された残存寿命に適用することにより、残存寿命の予測が行われてよい。この予測は、例えば、故障が発生し、および／またはデータが失われる前にドライブを交換するように、警告および／または修理サービス依頼の電話を生成するように使用されてよい。
【００１３】
図１は、ハードディスクドライブの寿命予測を提供するための、例示的なコンピューティングデバイス１１０のブロック図である。コンピューティングデバイス１１０は、プロセッサー１１２および非一時的な、機械可読式の記憶媒体１１４を含んでいてよい。記憶媒体１１４は、センサーデータ収集命令１２０、健康状態因子計算命令１２５、健康状態オフセット計算命令１３０、および予測残存寿命生成命令１３５といった、複数のプロセッサーで実行可能な命令を含んでいてよい。幾つかの実施形態において、命令１２０、１２５、１３０、１３５は単一のコンピューティングデバイス１１０に関連していてよく、および／または直接接続、バス、またはネットワークを介してなどにより、異なるコンピューティングデバイスと通信可能に連結されていてよい。
【００１４】
プロセッサー１１２は、中央処理ユニット（ＣＰＵ）、半導体ベースのマイクロプロセッサー、結合プログラム可能論理回路（ＣＰＬＤ）および／またはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）のようなプログラム可能な部品、または機械可読式の記憶媒体１１４に記憶された命令を読み出して実行するのに適した、任意の他のハードウェアデバイスを含んでいてよい。特に、プロセッサー１１２は、命令１２０、１２５、１３０、１３５をフェッチし、デコードし、そして実行してよい。
【００１５】
実行可能な命令１２０、１２５、１３０、１３５は、機械可読式の記憶媒体１１４の任意の部分および／または部品に記憶されており、プロセッサー１１２によって実行可能なロジックを含んでいてよい。機械可読式の記憶媒体１１４は、揮発性および／または不揮発性のメモリおよびデータ記憶部品の両者を含んでいてよい。揮発性の部品は、電源が切れるとデータ値を保持しない部品である。不揮発性部品は、電源が切れてもデータ値を保持する部品である。
【００１６】
機械可読式の記憶媒体１１４は、例えば、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、ハードディスクドライブ、ソリッドステートドライブ、ＵＳＢフラッシュドライブ、メモリカードリーダーを介してアクセスされるメモリカード、関連するフロッピーディスクドライブを介してアクセスされるフロッピーディスク、光学ディスクドライブを介してアクセスされる光学ディスク、適切なテープドライブを介してアクセスされる磁気テープ、および／または他の記憶部品、および／またはこれらの記憶部品の任意の２つおよび／またはより多くの組み合わせを含んでいてよい。加えて、ＲＡＭは、例えば、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、および／またはマグネティックランダムアクセスメモリ（ＭＲＡＭ）および他のそうしたデバイスを含んでいてよい。ＲＯＭは、例えば、プログラマブルリードオンリーメモリ（ＰＲＯＭ）、消去可能プログラマブルリードオンリーメモリ（ＥＰＲＯＭ）、電気的消去可能プログラマブルリードオンリーメモリ（ＥＥＰＲＯＭ）、および／または他の類似したメモリデバイスを含んでいてよい。
【００１７】
センサーデータ収集命令１２０は、複数のセンサー１５０（Ａ）−（Ｃ）を含むハードディスクドライブ１４０に関連する複数のセンサーデータを収集してよい。例えば、センサー１５０（Ａ）−（Ｃ）は、内蔵のオペレーティングシステム（ＢＩＯＳ）、ユーザーのオペレーティングシステム（ＯＳ）、アプリケーション、ファームウェア、および／またはコンピューティングデバイス１１０に関連する他の実行可能なプログラムに対してデータを提供するよう構成された、Ｓ.Ｍ.Ａ.Ｒ.Ｔ.仕様に準拠したセンサーを含んでいてよい。こうしたセンサーは、例えば、エラーカウントセンサー、作動センサー（例えば、温度、速度、および／または電源使用時間、その他）、および／または損傷センサー（例えば、衝撃センサーおよび／または水分センサー、その他）を含んでいてよい。
【００１８】
健康状態因子計算命令１２５は、これらの複数のセンサーデータに従って、ハードディスクドライブについての健康状態因子を計算してよい。幾つかの実施形態においては、健康状態因子は、複数のセンサーデータのうち第１のサブセット（部分集合）に従って計算されてよい。センサーデータの第１のサブセットは、例えば、Read Error Count（データ読み込み時のエラーの数）、CommandTimeout（コマンドタイムアウト数）、Reallocated Sector Count（代替処理済みの不良セクタ数）、およびUncorrectable Sector Count（回復不可能なセクタ数）を含んでいてよい。
【００１９】
健康状態因子は、中間健康状態値および／または平均作動温度に基づいていてよい。ＨＤＤ１４０の中間健康状態値は１〜１００％の百分率値として表されてよく、そしてＨＤＤ１４０の一般的な健康状態に関連している。この健康状態値は、適切なセンサー１５０（Ａ）−（Ｃ）からＨＤＤ１４０の幾つもの属性を集め、それらの属性を百分率に正規化し、そして各々の属性に重み付けを割り当てることによって計算されてよい。
【００２０】
ＨＤＤ１４０の平均作動温度は、例えばAirflow Temperature（気流温度）属性として報告されてよく、これはハードディスクのハウジング内部の空気の温度である。この平均温度は多くの場合、ＨＤＤの寿命の判定に直接の相関を有し、そしてＨＤＤの寿命は劇的に低減される場合がある。
【００２１】
中間健康状態値を計算するために使用されるセンサーデータの各々は、現在の属性値の、その属性の最大値と比較しての比例的な百分率へと正規化されてよい。異なる製造者は異なる範囲および最大値を使用する場合があることから、このことはまた、製造者全体にわたって正規化を行うことを可能にする。例えば、モデルＡのＨＤＤが報告する現在のReallocated Sector Count（代替処理済みの不良セクタ数）は最大値１００のうち１３の場合があり、他方でモデルＢのＨＤＤが報告する現在のReallocated Sector Count（代替処理済みの不良セクタ数）は最大値２５５のうち３３の場合がある。これらの点数を正規化すると、両方のＨＤＤにおいて１３％のReallocated Sector Count（代替処理済みの不良セクタ数）が示される結果になる。幾つかの実施形態においては、これらの属性値は反転されて、エラーの数が増えるにつれて値が減少するようにされてよい。例えば、モデルＣは、ＨＤＤ上で検出され再割り当て（再マッピング）された同じ数の不良セクタを表すために、最大値１００のうち８７のReallocated Sector Count（代替処理済みの不良セクタ数）を報告してよく、モデルＡおよびモデルＢについて受け取ったのと同じ１３％のスコアのReallocated Sector Count（代替処理済みの不良セクタ数）という結果になる。中間健康状態値を計算するために使用されてよい、属性および重み付けの例示的なリストが、以下の表１に示されている。
【表１】
2021502663.tif 000003
【００２２】
Reallocated Sector Count（代替処理済みの不良セクタ数）は、検出され再マッピングされた不良セクタのカウント数を表す生の値を含んでいてよい。Raw Read Error Count（データ読み込み時のエラーの数）は、ディスク表面からデータを読み取った際に生じたハードウェア読み取りエラーレートに関するデータを記憶していてよい。End-to-End Error Count（キャッシュされたデータのパリティチェックのエラー数）は、ドライブのキャッシュＲＡＭを経由するＨＤＤまでのデータ経路において生じた、パリティチェックのエラーのカウント数を含んでいてよい。Command Timeout（コマンドタイムアウト数）は、ＨＤＤのタイムアウト（待機時間切れ）によって中止された動作のカウント数を含んでいてよい。Reallocation Event Count（セクタの代替処理発生回数）は、再配置セクタから予備領域へとデータ転送を試みた合計カウント数を含んでいてよい。Current Pending Sector Count（代替処理保留中のセクタ数）は、回復不可能な読み出しエラーに起因する再マッピングを待っている不安定なセクタのカウント数を含んでいてよい。Offline Uncorrectable Sector Count（オフラインで発見された回復不可能なセクタ数）は、ＨＤＤのあるセクタを読み出し、および／または書き込んでいる場合の訂正不可能エラーの合計カウント数を含んでいてよい。これらの属性およびそれらの重み付けは、例示としてのみ、示されている。中間健康状態値を生成するために他の属性もまた使用してよく、そして異なる重み付けで異なる結果に帰着させてよい。例えば、モデルＡのＨＤＤについての計算は、Reallocation Event Count（セクタの代替処理発生回数）を０.１ではなく０.２として重み付けし、他方でReallocated Sector Count（代替処理済みの不良セクタ数）を０.２ではなく０.１として重み付けしてよい。
【００２３】
正規化された属性の各々には、健康状態因子を生成する場合に考慮される、重み付けが割り当てられてよい。例えば、Reallocated Sector Count（代替処理済みの不良セクタ数）属性には０.２の重み付けが割り当てられてよく、これに対してCommand Timeout（コマンドタイムアウト数）属性には０.１の重み付けが割り当てられてよく、かくしてReallocated Sector Count（代替処理済みの不良セクタ数）が、結果的に得られる健康状態因子に対して２倍の大きさの影響を及ぼすようにさせる。
【００２４】
健康状態値は次いで、１００という開始スコアから、正規化され、重み付けられた各々の属性を減算することによって計算されてよい。例えば、正規化されたReallocated Sector Count（代替処理済みの不良セクタ数）が１３％のとき×０.２は重み付けられた値で２.６という結果になる。これは１００から減算されると、所与のＨＤＤについて９７.４に等しい健康状態値が得られる。例えば、ＨＤＤ１４０は、次のような正規化された属性を有していてよい：Reallocated SectorCount（代替処理済みの不良セクタ数）が３％、Raw ReadError Count（データ読み込み時のエラーの数）が７％、End-to-End Error Count（キャッシュされたデータのパリティチェックのエラー数）が１０％、Command Timeout（コマンドタイムアウト数）が０％、Reallocation Event Count（セクタの代替処理発生回数）が１２％、Current Pending Sector Count（代替処理保留中のセクタ数）が４％およびOffline Uncorrectable Sector Count（オフラインで発見された回復不可能なセクタ数）が５％。得られる中間健康状態値は次いで、次のように計算されてよい：
【００２５】
１００−（１３×０.２）−（７×０.２）−（１０×０.１）−（０×０.１）−（１２×０.１）−（４×０.１）−（５×０.２）
＝１００−２.６−１.４−１−０−１.２−０.４−１
＝９２.４％
【００２６】
中間健康状態値から健康状態因子を計算するためには、方程式１が用いられてよい：
【数１】
2021502663.tif 000004
【００２７】
かくして、９２.４％の中間健康状態値を有し、例示的な平均作動温度が６０℃（０.６に正規化される）のＨＤＤ１４０についての健康状態因子は、かくして適用される方程式１に従えば：
０.９２４２−（（０.６）２）２
＝０.８５３８−０.１２９６
＝０.７２４２
で７２％となる。
【００２８】
健康状態オフセット計算命令１３０は、複数のセンサーデータに従って、ハードディスクドライブ１４０についての健康状態オフセットを計算してよい。幾つかの実施形態においては、健康状態オフセットは、複数のセンサーデータのうち第２のサブセットのセンサーデータに従って計算されてよい。この第２のサブセットのセンサーデータは、例えば、Drive Power Cycle Count（ドライブの電源投入回数）、Shock Sensor Count（衝撃センサーによるカウント値）、Average Temperature（平均作動温度）、および  ReallocatedSector Count（代替処理済みの不良セクタ数）を含んでいてよい。幾つかの実施形態においては、健康状態オフセットは、センサーデータの第２のサブセットの少なくとも１つをハードディスクドライブ１４０の合計使用時間で除算した商を含んでいてよい。
【００２９】
この健康状態オフセットは、センサーデータ値の各々を、そのドライブの合計使用時間（Power On Time）に関して規定してよい。例えば、健康状態オフセットは、方程式２に従って計算されてよい：
【数２】
2021502663.tif 000005
【００３０】
Power On Time（使用時間）センサーデータは、ＨＤＤが通電状態で過ごした単位時間のカウントを含んでいてよい。この属性の生の値は、通電状態を時、分、秒、日、その他の合計カウントで示してよい。Drive Power Cycle（ドライブの電源投入回数）センサーデータは、ＨＤＤの電源のオン／オフサイクルのカウントを含んでいてよい。かくして、Power On Time（使用時間）／Drive Power Cycle（ドライブの電源投入回数）は、ＯＮ／ＯＦＦサイクル当たりの平均作動時間に帰着してよい。Power On Time（使用時間）が大きく、Drive Power Cycle（ドライブの電源投入回数）が小さい場合、それは、サーバー環境において生じうるように、ＨＤＤが始動してから多くの時間を動作しながら過ごしたことを示すものであってよい。Power On Time（使用時間）属性が小さく、Drive Power Cycle（ドライブの電源投入回数）属性が大きい場合、それは、典型的には１人のユーザーが自分のパソコンで使用する場合のように、ＨＤＤが何回も始動されるが、各回の使用量が小さいことを示すものであってよい。例えば、ＨＤＤ１４０は、８３５９時間（３４８.２９１７日）のPower On Time（使用時間）および１６６７のDrive Power Cycle（ドライブの電源投入回数）カウントを含んでいてよく、それによって通電サイクル当たり平均で５.０時間（０.２０８３日）が得られる。
【００３１】
ハードディスクの寿命に影響を及ぼしうる別の属性は、機械的および／または損傷的エラーの数である。例えば、１つのＳ.Ｍ.Ａ.Ｒ.Ｔ.センサー属性はG-Sense ErrorRate（衝撃検出によるエラーレート）であり、これは衝撃または振動に由来するエラーのカウントをもたらす。これはＨＤＤの記憶表面に損傷を生じさせうることから、この情報は兆候として使用されてよい。衝撃センサーのカウントは、Power On Time（使用時間）属性によって除算してよい。例えば、ＨＤＤ１４０について９という衝撃センサーのカウントを、例示的なPower On Time（使用時間）である３４８.２９１７日で除算すると、１日当たり０.０２５８回の衝撃という値が得られる。
【００３２】
Ｓ.Ｍ.Ａ.Ｒ.Ｔ.属性であるReallocated Sector Count（代替処理済みの不良セクタ数）は、ＨＤＤ上で検出され再マッピングされた不良セクタのカウントを表す。かくして、この属性値が大きいと、ドライブが代替処理しなければならなかったセクタ数はより多い。この値は、劣化の係数として使用されてよい。寿命から差し引くための予測値を日数で得るために、この値はPower On Time（使用時間）で除算される。例えば、ＨＤＤ１４０は、値が２４７２８のReallocated Sector Count（代替処理済みの不良セクタ数）を含んでいてよい；この値を３４８.２９１７というPower On Time（使用時間）で除算すると、結果は７０.９９８という値になる。これら３つの値を方程式２に組み入れると、かくして得られる健康状態オフセット値は：
（５.０＋０.０２５８＋７０.９９８）＝７６.０２３８
である。この健康状態オフセットは、見積る残存寿命を予測する場合に、差し引かれる日数を表している。
【００３３】
予測残存寿命生成命令１３５は、ハードディスクドライブ１４０について予測された全寿命、ハードディスクドライブ１４０についての健康状態因子、およびハードディスクドライブ１４０についての健康状態オフセットに従って、ハードディスクドライブ１４０についての予測残存寿命を生成してよい。幾つかの実施形態においては、ハードディスクドライブ１４０について予測された全寿命は、ハードディスクドライブ１４０の製造者および／または特定のモデルに関連する、複数のハードディスクドライブについての平均的な全寿命を含んでいてよい。予測残存寿命は、方程式３を使用して生成されてよく、これは方程式１からの健康状態因子および方程式２からの健康状態オフセットを取り入れている：
【数３】
2021502663.tif 000006
【００３４】
ＨＤＤ１４０について与えられた上記の例では、モデルＡのＨＤＤについて平均寿命が１８５５日であるとする。作動寿命として３４８.２９１７日が得られるよう８３５９時間／２４としたPower On Time（使用時間）を減算すると、結果として残存寿命は１５０６.７０８３日となる。これに健康状態因子０.７２４２を掛けると、１０９１.１５８２日が得られる。最後に、健康状態オフセットとして７６.０２３８が減算されて、ＨＤＤ１４０についての予測残存寿命１０１５.１３４４日が得られる。
【００３５】
図２は、ハードディスクドライブの寿命予測をもたらす、例示的なシステム２００のブロック図である。システム２００は、メモリ２１２、プロセッサー２１４、およびハードディスクドライブ２１６を含む、コンピューティングデバイス２１０を含んでいてよい。コンピューティングデバイス２１０は、例えば、汎用および／または専用のコンピュータ、サーバー、メインフレーム、デスクトップ、ラップトップ（ノートブック）、タブレット、スマートフォン、ゲーム機、プリンター、および／または本願に記載の実施形態をもたらすことに適応したコンピューティング能力を提供することのできる任意の他のシステムを含んでいてよい。コンピューティングデバイス２１０はメモリ２１２内に、データ収集エンジン２２０、健康状態計算エンジン２２５、および予測エンジン２３０を収容していてよい。
【００３６】
各々のエンジン２２０、２２５、２３０は、それぞれのエンジンの機能を実施するための、ハードウェアおよびプログラミングの任意の組み合わせを含んでいてよい。本願で記述する例においては、ハードウェアおよびプログラミングのこうした組み合わせは、幾つもの異なる仕方で実施されてよい。例えば、これらのエンジンのためのプログラミングは、非一時的な機械可読式の記憶媒体に記憶されたプロセッサーで実行可能な命令であってよく、そしてこれらのエンジンのためのハードウェアは、それらの命令を実行するための処理資源を含んでいてよい。そうした例においては、機械可読式の記憶媒体は、処理資源によって実行された場合に、エンジン２２０、２２５、２３０を実施する命令を記憶していてよい。そうした例においては、デバイス２１０は命令を記憶している機械可読式の記憶媒体およびその命令を実行するための処理資源を含んでいてよく、または機械可読式の記憶媒体は、システム２００および処理資源とは別個であるが、アクセス可能であってよい。
【００３７】
データ収集エンジン２２０は、ハードディスクドライブに関連する複数のセンサーデータを収集してよい。例えば、ハードディスクドライブ２１６に関連する複数のセンサーデータは、複数個のセンサーから収集されてよい。例えば、センサーは、内蔵オペレーティングシステム（ＢＩＯＳ）、ユーザーオペレーティングシステム（ＯＳ）、アプリケーション、ファームウェア、および／またはコンピューティングデバイス２１０に関連する他の実行可能なプログラムへとデータを提供するように構成された、Ｓ.Ｍ.Ａ.Ｒ.Ｔ.仕様に準拠したセンサーを含んでいてよい。そうしたセンサーは、例えば、エラーカウントセンサー、作動センサー（例えば、温度、速度、および／または電源投入時間、その他）、および／または損傷センサー（例えば、衝撃センサーおよび／または水分センサー、その他）を含んでいてよい。
【００３８】
健康状態計算エンジン２２５は、複数のセンサーデータの少なくとも１つの第１のデータ要素に従って、ハードディスクドライブの健康状態因子を計算してよく、そして複数のセンサーデータの少なくとも１つの第２のデータ要素に従って、ハードディスクドライブについての健康状態オフセットを計算してよい。健康状態因子を計算するために、健康状態計算エンジン２２５は、少なくとも１つの第１のデータ要素に従って１〜１００％の中間健康状態値を計算し、この中間健康状態値を自乗し；そして自乗された平均作動温度を減算するように構成されていてよい。幾つかの実施形態においては、平均作動温度の自乗は、方程式１に示されているように、中間健康状態値から減算する前に、それ自体が自乗されてよい。健康状態オフセットを計算するために、健康状態計算エンジン２２５は、少なくとも１つの第２のデータ要素をハードディスクドライブの合計使用時間で除算することによって、時間値を計算するように構成されてよい。
【００３９】
例えば、健康状態計算エンジン２２５は、中間健康状態値および／または平均作動温度に基づいて、健康状態因子計算命令１２５を実行してよい。ＨＤＤ２１６の中間健康状態値は、１〜１００％の百分率値で表されてよく、そしてＨＤＤ２１６の全体的な健康状態に関連付けられてよい。この健康状態値は、適切なセンサーからＨＤＤ２１６の幾つもの属性を集め、それらの属性を百分率に正規化し、そして各々の属性に重みを割り当てることによって計算されてよい。
【００４０】
ＨＤＤ２１６の平均作動温度は、例えばAirflowTemperature（気流温度）属性として報告されてよく、これはハードディスクのハウジング内部の空気の温度である。この平均温度は多くの場合、ＨＤＤの寿命の判定に直接の相関を有し、そしてＨＤＤの寿命は劇的に低減される場合がある。健康状態計算エンジン２２５は、上述したように、これらの属性および方程式１を使用して、健康状態因子を計算してよい。
【００４１】
健康状態計算エンジン２２５は、複数のセンサーデータのうち第２のサブセットに従って、健康状態オフセット計算命令１３０を実行してよい。センサーデータのこの第２のサブセットは、例えば、Drive Power Cycle Count（ドライブの電源投入回数）、Shock Sensor Count（衝撃センサーによるカウント値）、Average Temperature（平均作動温度）、およびReallocated Sector Count（代替処理済みの不良セクタ数）を含んでいてよい。幾つかの実施形態においては、健康状態オフセットは、センサーデータの第２のサブセットの少なくとも１つをハードディスクドライブ１４０の合計使用時間で除算した商を含んでいてよい。幾つかの実施形態においては、センサーデータの第１のサブセットおよび第２のサブセットは、これら２つのサブセット（部分集合）の間で重なり合う少なくとも１つの属性を含んでいてよい。例えば、健康状態因子および健康状態オフセットは両方とも、それぞれの計算を行うための他の属性との組み合わせにおいて、Reallocated Sector Count（代替処理済みの不良セクタ数）を用いていてよい。
【００４２】
健康状態オフセットは各々のセンサーデータ値を、ドライブの合計使用時間に関して規定してよい。例えば、健康状態オフセットは、上記したように方程式２に従って計算されてよい。
【００４３】
予測エンジン２３０は、ハードディスクドライブについて予測された全寿命、ハードディスクドライブについての健康状態因子、およびハードディスクドライブについての健康状態オフセットに従って、ハードディスクドライブについての予測残存寿命を生成してよい。幾つかの実施形態においては、ハードディスクドライブについて予測された全寿命は、ハードディスクドライブの製造者および／またはモデルおよびハードディスクドライブに関連する、複数のハードディスクドライブについての平均的な全寿命を含んでいてよい。幾つかの実施形態においては、予測残存寿命を生成するために、予測エンジン２３０は、上記で方程式３によって示されているように、予測された全寿命から合計使用時間を減算することによって中間残存寿命値を計算し、この中間残存寿命値に健康状態因子を掛けて乗算し、そして健康状態オフセットを減算するように構成されてよい。
【００４４】
図３は、ハードディスクドライブの寿命予測をもたらすための、例示的な方法３００のフローチャートである。以下では方法３００の実行をコンピューティングデバイス１１０を参照して説明するが、方法３００を実行するための他の適切な部品もまた使用されてよい。
【００４５】
方法３００はステージ３０５で開始されてよく、そしてステージ３１０へと進み、そこにおいてデバイス１１０はＨＤＤ１４０のようなハードディスクドライブに関連する複数のセンサーデータを収集してよい。例えば、センサーデータ収集命令１２０は、複数のセンサー１５０（Ａ）−（Ｃ）を含むハードディスクドライブ１４０に関連する複数のセンサーデータを収集してよい。例えば、センサー１５０（Ａ）−（Ｃ）は、内蔵オペレーティングシステム（ＢＩＯＳ）、ユーザーオペレーティングシステム（ＯＳ）、アプリケーション、ファームウェア、および／またはコンピューティングデバイス１１０に関連する他の実行可能なプログラムへとデータを提供するように構成され、Ｓ.Ｍ.Ａ.Ｒ.Ｔ.仕様に準拠したセンサーを含んでいてよい。こうしたセンサーは、例えば、エラーカウントセンサー、作動センサー（例えば、温度、速度、および／または使用時間、その他）、および／または損傷センサー（例えば、衝撃センサーおよび／または水分センサー、その他）を含んでいてよい。
【００４６】
方法３００は次いでステージ３１５へと進んでよく、そこではコンピューティングデバイス３００は、複数のセンサーデータの少なくとも１つの第１のデータ要素に従って、ハードディスクドライブについての健康状態因子を計算してよい。例えば、デバイス１１０は、中間健康状態値および／または平均作動温度に基づいて、健康状態因子計算命令を実行してよい。ＨＤＤ１４０の中間健康状態値は１〜１００％の百分率値として表されてよく、そしてＨＤＤ１４０の一般的な健康状態に関連している。この健康状態値は、適切なセンサーからＨＤＤ１４０の幾つもの属性を集め、それらの属性を百分率に正規化し、そして各々の属性に重み付けを割り当てることによって計算されてよい。
【００４７】
ＨＤＤ１４０の平均作動温度は、例えばAirflowTemperature（気流温度）属性として報告されてよく、これはハードディスクのハウジング内部の空気の温度である。この平均温度は多くの場合、ＨＤＤの寿命の判定に直接の相関を有し、そしてＨＤＤの寿命は劇的に低減される場合がある。この健康状態因子はかくして、上述したように、これらの属性および方程式１を使用して計算されてよい。
【００４８】
方法３００は次いでステージ３２０へと進んでよく、そこではコンピューティングデバイス３００は、複数のセンサーデータの少なくとも１つの第２のデータ要素に従って、ハードディスクドライブについての健康状態オフセットを計算してよい。健康状態計算エンジン２２５は、複数のセンサーデータの第２のサブセットに従って、健康状態オフセット計算命令１３０を実行してよい。この第２のサブセットのセンサーデータは、例えば、DrivePower Cycle Count（ドライブの電源投入回数）、Shock Sensor Count（衝撃センサーによるカウント値）、Average Temperature（平均作動温度）、および  ReallocatedSector Count（代替処理済みの不良セクタ数）を含んでいてよい。幾つかの実施形態においては、健康状態オフセットは、センサーデータの第２のサブセットの少なくとも１つをハードディスクドライブ１４０の合計使用時間で除算したもの（商）を含んでいてよい。幾つかの実施形態においては、センサーデータの第１のサブセットおよび第２のサブセットは、これら２つのサブセット（部分集合）の間で重なり合う少なくとも１つの属性を含んでいてよい。例えば、健康状態因子および健康状態オフセットは両方とも、それぞれの計算を行うための他の属性との組み合わせにおいて、Reallocated Sector Count（代替処理済みの不良セクタ数）を用いていてよい。健康状態オフセットは、センサーデータ値の各々を、そのドライブの合計使用時間（Power On Time）に関して規定してよい。例えば、健康状態オフセットは次いで、上述したように方程式２に従って計算されてよい。
【００４９】
方法３００は次いでステージ３２５に進んでよく、そこではコンピューティングデバイス３００は、ハードディスクドライブについて予測された全寿命、ハードディスクドライブについての健康状態因子、およびハードディスクドライブについての健康状態オフセットに従って、ハードディスクドライブについての予測残存寿命を生成してよい。幾つかの実施形態においては、予測残存寿命を生成することは、予測された全寿命から合計使用時間を減算することによって中間残存寿命値を計算し、この中間残存寿命値に健康状態因子を掛けて乗算し、そして健康状態オフセットを減算することを含んでいてよい。
【００５０】
方法３００は次いでステージ３３０に進んでよく、そこではコンピューティングデバイス３００は、ハードディスクドライブについての予測残存寿命が、構成可能な境界値よりも低いか否かを決定（判定）してよい。例えば、３０日未満の残存寿命は、境界値よりも低いと考えてよい場合がある。
【００５１】
ハードディスクドライブについての予測残存寿命が、構成可能な境界値よりも低いという判定に応じて、方法３００は、エラー警告を提供してよい。例えば、デバイス１１０はエラーメッセージをデバイス１１０のユーザーに表示し、デバイス１１０に関連するデバイスログにログ入力を生成し、および／または保守サービスおよび／またはヘルプデスクにメッセージを送って、ＨＤＤ１４０の故障が差し迫っていることを技術者に警告してよい。
【００５２】
方法３００は次いで、ステージ３５０において終了してよい。
【００５３】
以上の本開示の詳細な説明においては、本開示の一部を形成する添付図面に対する参照が行われており、そこでは説明のために、本開示の例がどのように実施されてよいかが示されている。これらの例は、本技術分野の当業者が本開示の例を実施することを可能にするため、十分詳細に記載されているが、他の例も用いてよく、また本開示の範囲から逸脱することなしに、プロセス的、電気的、および／または構造的な変更を行ってよいことが理解されよう。
【図１】
2021502663.tif 000007
【図２】
2021502663.tif 000008
【図３】
2021502663.tif 000009
【国際調査報告】
2021502663.tif 000010