JP2002229923A - ディスク状態取得方法および記録媒体 - Google Patents

ディスク状態取得方法および記録媒体

Info

Publication number
JP2002229923A
JP2002229923A JP2001008450A JP2001008450A JP2002229923A JP 2002229923 A JP2002229923 A JP 2002229923A JP 2001008450 A JP2001008450 A JP 2001008450A JP 2001008450 A JP2001008450 A JP 2001008450A JP 2002229923 A JP2002229923 A JP 2002229923A
Authority
JP
Japan
Prior art keywords
disk
error
device driver
errors
hard disk
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
JP2001008450A
Other languages
English (en)
Inventor
Koichi Nakajima
浩一 中島
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.)
BHA KK
Original Assignee
BHA KK
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 BHA KK filed Critical BHA KK
Priority to JP2001008450A priority Critical patent/JP2002229923A/ja
Publication of JP2002229923A publication Critical patent/JP2002229923A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 ハードディスクがクラッシュなどしてしまう
前に、ユーザが対策を講じることができるように、デバ
イスドライバにおいてハードディスクの状態を取得する
方法、および、このデバイスドライバプログラムを記録
したコンピュータ読み取り可能な記録媒体を提供する。 【解決手段】 ディスク6に対するアクセス回数a1n
と、アクセス結果がエラーとなるエラー回数e1nとを
それぞれカウントする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、デバイスドライバ
におけるディスク状態取得方法、およびデバイスドライ
バプログラムを記録したコンピュータ読み取り可能な記
録媒体に関するものである。
【0002】
【従来の技術】ハードディスクのようなディスクを動作
させるデバイスドライバを有するコンピュータシステム
の一般的な構成は、例えば図1に示すとおりである。こ
のシステムは、アプリケーション1、ファイルマネージ
ャ2、デバイスドライバ3、デバイスマネージャ4、ハ
ードディスクドライブ(駆動装置)5およびハードディ
スク6を備える。
【0003】このシステムにおいて、例えばアプリケー
ション1がハードディスク6に記憶されているファイル
からデータを読み出す動作は以下のとおりである。な
お、ここではファイルからデータを読み出す動作につい
てのみ示すが、ファイルにデータを書き込む場合も同様
に動作する。
【0004】アプリケーション1がファイルからデータ
を読み出す要求をファイルマネージャ2に発行すると
(要求R1)、デバイスドライバ3は、ファイルマネー
ジャ2から、デバイスマネージャ4を介してハードディ
スク6上の特定の領域における情報を読み出す要求を受
ける(要求R2)。この要求を受けたデバイスドライバ
3がデバイスマネージャ4を介してハードディスクドラ
イブ5に情報出力の要求を発行し(要求R3)、ハード
ディスクドライブ5がハードディスク6の情報を出力し
て(制御C1)、デバイスマネージャ4を介して出力さ
れた情報をデバイスドライバ3に通知する(通知I
1)。通知された情報は、デバイスドライバ3からデバ
イスマネージャ4を介してファイルマネージャ2に通知
されて(通知I2)、ファイルマネージャ2からアプリ
ケーション1に、ファイルのデータとして通知される
(通知I3)。
【0005】
【発明が解決しようとする課題】しかし、ハードディス
ク6が例えば徐々に破損してくると、デバイスドライバ
3からハードディスクドライブ5にハードディスクの情
報出力の要求R3を発行しても、ハードディスク6の情
報出力に失敗してしまう場合がある。つまり、ハードデ
ィスクドライブ5からデバイスドライバ3へデバイスマ
ネージャ4を介して、通知I1によって情報出力が失敗
した旨が通知される。デバイスドライバ3では、このよ
うな通知を受けると再度情報出力の要求R3を発行し、
情報出力に成功するまで、または所定回数に達するまで
リトライする。ここで、リトライ中に情報出力に成功す
ると、デバイスドライバ3がアプリケーション1にファ
イルマネージャ2を介して通知I2およびI3によって
読み出しが成功した旨を通知する。
【0006】また、ハードディスクドライブ5が、制御
C1において、ハードディスク6の情報を出力するのに
失敗する場合もある。この場合もハードディスクドライ
ブ5はデバイスドライバ3と同様に、情報出力に成功す
るまで、または所定回数に達するまでリトライする。か
かる場合も、リトライ中に情報出力に成功すると、デバ
イスマネージャ4、デバイスドライバ3、およびファイ
ルマネージャ2を介して通知I1〜I3によって、アプ
リケーション1に読み出しが成功した旨が通知される。
【0007】このようにアプリケーション1には、最終
的に読み出しが成功したか否かのみが通知され、リトラ
イしたことは通知されないので、アプリケーション1で
は、ハードディスク6が徐々に破損してきていることを
認識できない。つまり、ユーザはファイル上のデータを
読み出しまたは書き込みさせた時の応答が遅いのを感じ
るかもしれないが、アプリケーション1とインタフェー
スを有するユーザには、ハードディスク6が破損してき
ていることは通知されない。なお、ファイルにデータを
書き込む場合も、デバイスドライバ3またはハードディ
スクドライブ5が情報入力をリトライした後に情報入力
が成功すると、ユーザにハードディスク6が破損してき
ていることは通知されない。
【0008】この後、ハードディスク6がさらに破損し
てクラッシュしてしまうと、ハードディスク6へのアク
セスが全く不可能となり、ハードディスク6に記憶され
ているファイルのデータの読み出しおよび書き込みが不
可能となる。ここで初めてアプリケーション1にハード
ディスク6が不良である旨が通知される。この通知を受
けたアプリケーション1では、例えば表示装置の画面に
ハードディスク6が不良である旨を表示してユーザに知
らせる。ハードディスク6が不良であることを認識した
ユーザが慌ててハードディスク6のバックアップを取得
しようとしても、既にハードディスク6へのアクセス、
つまり情報の入出力は全く不可能であるため、ユーザは
ハードディスクの情報の復元を諦めざるをえないことに
なる。
【0009】また、デバイスドライバ3は、通常、ハー
ドディスク6上の欠陥セクタを覚えておくいわゆるディ
フェクトリストを有する。例えばハードディスク6が破
損してくると、破損したセクタへのアクセスが不可能に
なるため、ハードディスク6上の予備領域のセクタを欠
陥セクタの代わりに割り当てる。このように欠陥セクタ
が存在することをデバイスドライバ3でディフェクトリ
ストに記憶しておくが、ファイルマネージャ2には通知
しない。したがって、ユーザは、ハードディスク6が破
損してきていることを知りえず、欠陥セクタが急に増加
してハードディスク6がクラッシュしてしまった後、初
めて、ハードディスク6が不良であることを認識する。
【0010】本発明は、上記の問題点を解決して、ハー
ドディスクがクラッシュなどしてしまう前に、ユーザが
予め対策を講じることができるように、デバイスドライ
バにおいてハードディスクの状態を取得する方法、およ
び、このデバイスドライバプログラムを記録したコンピ
ュータ読み取り可能な記録媒体を提供することを目的と
している。
【0011】
【課題を解決するための手段】前記目的を達成するため
に、本発明の第1構成に係る特定のディスクを動作させ
るデバイスドライバにおけるディスク状態取得方法およ
びコンピュータ読み取り可能な記録媒体に記録したデバ
イスドライバプログラムは、前記ディスクに対するアク
セス回数と、アクセス結果がエラーとなるエラー回数と
をそれぞれカウントする。
【0012】この構成によれば、ディスクに対するアク
セス回数と、アクセス結果がエラーとなるエラー回数と
をそれぞれカウントするので、このアクセス回数に対す
るエラー回数の比率に着目すれば、ディスクの状態を把
握することができる。つまり、この比率が徐々に増加し
ていれば、ディスクが徐々に破損してきていることが分
かり、また、この比率が所定値よりも大きければ、ディ
スクがクラッシュ寸前の状態であることが分かる。これ
より、ディスクがクラッシュなどしてしまう前に、ディ
スクのバックアップを取得するような対策をユーザは講
じることができる。
【0013】ここで、「ディスク」とは、コンピュータ
の外部記憶装置または記憶媒体をいい、ハードディスク
(HDD)、光磁気ディスク(MO)、DVD−RA
M、PD、Zip、Jaz、コンパクトフラッシュ(登
録商標)、スマートメディアなどが含まれる。「アクセ
ス」とは、ディスクに対して情報を入力または出力する
ことをいう。「エラー」とは、正常に動作しえないこと
をいい、「アクセス結果がエラー」とは、ディスクに対
する情報の入力または出力に失敗することをいう。
【0014】好ましい実施形態によれば、前記アクセス
回数は、前記ディスクに対するアクセス要求を受けるご
とに1つ加算され、前記エラー回数は、アクセス結果が
エラーとなるごとに1つ加算される。この構成によれ
ば、ディスクに対するアクセス要求を受けるごとにアク
セス回数が1つ加算され、アクセス結果がエラーとなる
ごとにエラー回数が1つ加算されるので、アクセス回数
およびエラー回数をそれぞれカウントすることができ
る。
【0015】本発明の第2構成に係る特定のディスクを
動作させるデバイスドライバにおけるディスク状態取得
方法およびコンピュータ読み取り可能な記録媒体に記録
したデバイスドライバプログラムは、前記ディスクに対
するアクセス回数と、前記ディスクにアクセスしてから
アクセス結果を受けるまでの時間が所定時間よりも大き
い場合のエラー回数とをそれぞれカウントする。
【0016】この構成によれば、ディスクに対するアク
セス回数と、アクセスしてからアクセス結果を受けるま
での時間が所定時間よりも大きい場合のエラー回数とを
それぞれカウントするので、このアクセス回数に対する
エラー回数の比率に着目すれば、上記第1構成と同様
に、ディスクの状態を把握することができる。したがっ
て、ディスクがクラッシュなどしてしまう前に、ディス
クのバックアップを取得するような対策をユーザは予め
講じることができる。なお、アクセスしてからアクセス
結果を受けるまでの時間が所定時間よりも大きい場合に
エラー回数を加算するのは、ディスクドライブ内で情報
の入出力をリトライしたために、アクセス結果の通知が
遅れたと推測されるからである。
【0017】好ましい実施形態によれば、前記アクセス
回数は、前記ディスクに対するアクセス要求を受けるご
とに1つ加算され、前記エラー回数は、前記ディスクに
アクセスしてからアクセス結果を受けるまでの時間が所
定時間よりも大きい場合ごとに1つ加算される。この構
成によれば、ディスクに対するアクセス要求を受けるご
とにアクセス回数が1つ加算され、ディスクにアクセス
してからアクセス結果を受けるまでの時間が所定時間よ
りも大きい場合ごとにエラー回数が1つ加算されるの
で、アクセス回数およびエラー回数をそれぞれカウント
することができる。
【0018】好ましい実施形態によれば、前記アクセス
回数および前記エラー回数を、前記ディスクの領域を複
数に分割した区域ごとにカウントし、各区域ごとのエラ
ー比率を算出し、前記ディスクの領域上におけるエラー
比率の偏りの大きさを求める。この構成によれば、各区
域ごとのエラー比率を算出してエラー比率の偏りの大き
さを求めるので、ディスク上において不良となっている
領域の空間的な偏りの大きさを求めることができる。こ
こで、一般に、ディスクはアクセス頻度の高い領域から
破損することより、ディスクに不具合が発生し始めた状
態では、ディスク上の不良となっている領域には空間的
な偏りがある。したがって、このように不良となってい
る領域に空間的な偏りがある程度あれば、ディスクが徐
々に破損してきていることが予測され、空間的な偏りが
ほとんどなければ、例えばケーブルが抜けかかっている
ようなディスク以外の原因があることが予測される。こ
れより、ディスク上の不良となっている領域の空間的な
偏りの大きさを求めることで、不具合の原因を予測する
ことができる。
【0019】ここで、「区域」とは、ディスク上の所定
の大きさの領域をいい、ファイルが割当てられるブロッ
クに対応している。この区域は、固定長の大きさには限
られず、ファイルを割り当てる領域を一つの区域とし
て、可変長の大きさとしてもよい。「エラー比率」と
は、ある区域におけるアクセス回数に対するエラー回数
の比率をいう。
【0020】好ましい実施形態によれば、前記エラー比
率の偏りの大きさは、エラー回数の合計に対するエラー
比率が最も大きい区域のエラー回数の比を算出して求め
られる。ここで、「エラー回数が最も大きい区域」に
は、1つの区域のみでなく、エラー回数が大きい上位複
数の区域も含まれる。例えば、エラー回数が大きい上位
3つの区域をエラー回数が最も大きい区域としてもよ
く、1つの区域のサイズが512Mバイトを越える場合
は上位2つの区域、1つの区域のサイズが1Gバイトを
越える場合は上位1つの区域としてもよい。「エラー回
数の合計」とは、一度でもアクセスした区域、つまりア
クセス回数が0以外の区域についてのエラー回数の合計
である。
【0021】好ましい実施形態によれば、前記エラー比
率の偏りの大きさは、各区域ごとのエラー比率の平方和
に基づいて求められる。ここで、「エラー比率の平方
和」とは、エラー比率の全区域の平均に対する、一度で
もアクセスした区域のエラー比率の偏差の二乗の和をい
う。
【0022】好ましい実施形態によれば、前記アクセス
回数および前記エラー回数を表示画面に表示させる。こ
の構成によれば、アクセス回数およびエラー回数を表示
画面に表示させるので、このデバイスドライバを含むコ
ンピュータを操作するユーザにディスク状態を示すこと
ができる。
【0023】本発明の第3構成に係る特定のディスクを
動作させるデバイスドライバにおけるディスク状態取得
方法は、前記ディスクの欠陥セクタのリストに基づい
て、欠陥セクタの数の変化を取得する。
【0024】この構成によれば、欠陥セクタの数の変化
を取得することにより、デバイスドライバでディスクの
状態を把握することができる。つまり、急激に欠陥セク
タの数が増加していれば、ディスクがクラッシュ寸前の
状態であることが分かる。これより、ディスクがクラッ
シュしてしまう前に、ディスクのバックアップを取得す
るような対策をユーザは講じることができる。
【0025】ここで、「欠陥セクタのリスト」とは、い
わゆるディフェクトリストのことをいう。欠陥セクタへ
のアクセスが不可能になると、デバイスドラバで欠陥セ
クタの代わりにディスク上の予備領域のセクタを割り当
てるが、その後のディスクへのアクセスには、欠陥セク
タの番号および代わりに割り当てたセクタの番号が必要
となる。したがって、これらの番号をデバイスドライバ
で記憶して管理するのが、欠陥セクタのリストである。
【0026】
【発明の実施の形態】以下、本発明の実施形態を図面に
したがって説明する。本発明の第1実施形態に係るデバ
イスドライバを含むシステム構成の概略は、図1に示し
たものと同一である。このシステムは、アプリケーショ
ン1、ファイルマネージャ2、デバイスドライバ3およ
びデバイスマネージャ4を実現する各ソフトウェアを含
むコンピュータ10と、ハードディスクドライブ5およ
びハードディスク6からなるハードウェアを含む周辺機
器20とを備える。
【0027】アプリケーション1は、ユーザインタフェ
ースを有するとともに、ファイルの読み出しや書き込み
のようなファイルアクセス処理を含む。本実施形態にお
いて、ファイルマネージャ2およびデバイスマネージャ
4を含むオペレーティングシステムは、Mac OS(アップ
ルコンピュータ社の登録商標)である。ファイルマネー
ジャ2は、アプリケーション1などがデータの読み出し
および書き込みを行うファイルを管理する。デバイスマ
ネージャ4は、デバイス(ハードディスク)6を管理す
るとともに、コンピュータ10とハードディスク6を含
む周辺機器20との接続に用いるSCSIのようなイン
タフェースを吸収する。
【0028】デバイスドライバ3はハードディスク6の
動作を管理するものであって、アプリケーション1に、
デバイスアクセスのための共有の手順を提供する。つま
り、デバイスの違いを吸収するものである。ハードディ
スクドライブ5は、ハードディスク6に対して情報を入
出力する装置である。
【0029】デバイスドライバ3は、図2に概略構成を
示すカウント用テーブル30を有する。ここで、例えば
107 セクタから構成されるハードディスク上の領域
を、103 セクタごとに分割した区域を、第1区域,第
2区域,…,第n区域,…とする。カウント用テーブル
30は、以下のアクセス回数記憶部30a、第1エラー
回数記憶部30b、第2エラー回数記憶部30c、およ
び全エラー回数記憶部30dを有する。
【0030】アクセス回数記憶部30aは、各区域内に
対して情報の入力または出力を要求したアクセス回数a
1,a2…an…を各区域ごとに記憶するとともに、こ
れらアクセス回数a1,a2…an…の合計a1+a2
+…+an+…を記憶する。これらアクセス回数a1,
a2…an…,および合計アクセス回数a1+a2+…
+an+…は、ハードディスク6に対する情報の読み出
しまたは書き込みの要求R2(図1)を受けるごとにイ
ンクリメントされる。
【0031】第1エラー回数記憶部30bは、各区域内
に対して要求した情報の入力または出力の結果がエラー
として通知された回数e11,e12…e1n…を各区
域ごとに記憶するとともに、これら第1エラー回数e1
1,e12…e1n…の合計e11+e12+…+e1
n+…を記憶する。これら第1エラー回数e11,e1
2…e1n…および合計第1エラー回数e11+e12
+…+e1n+…は、ハードディスク6に対する情報の
入力または出力の結果がエラーとなるごとにインクリメ
ントされる。なお、ハードディスク6に対して情報の入
力または出力をリトライする場合は、最初の1回のみこ
れら第1エラー回数e11,e12…e1n…および合
計第1エラー回数e11+e12+…+e1n+…をイ
ンクリメントし、リトライ後はインクリメントしないも
のとしてもよい。
【0032】第2エラー回数記憶部30cは、各区域内
に対して情報の入力または出力を要求したが、所定時間
経過してもその結果の通知を受けない場合の回数e2
1,e22…e2n…を各区域ごとに記憶するととも
に、これら第2エラー回数e21,e22…e2n…の
合計e21+e22+…+e2n+…を記憶する。これ
ら第2エラー回数e21,e22…e2n…および合計
第2エラー回数e21+e22+…+e2n+…は、所
定時間経過した時点でインクリメントされる。
【0033】全エラー回数記憶部30dは、第1エラー
回数記憶部に記憶されている第1エラー回数e11,e
12…e1n…と第2エラー回数記憶部に記憶されてい
る第2エラー回数e21,e22…e2n…の各区域ご
との和e11+e21,e12+e22,…e1n+e
2n…をそれぞれ記憶するとともに、合計第1エラー回
数e11+e12+…+e1n+…および合計第2エラ
ー回数e21+e22+…+e2n+…の和、つまり総
エラー回数e11+e12+…+e1n+…+e21+
e22+…+e2n+…を記憶する。
【0034】次に、本実施形態にかかるデバイスドライ
バ3のハードディスク状態取得方法を図3のフローチャ
ートを用いて説明する。図1のデバイスドライバ3がフ
ァイルマネージャ2からハードディスク6上の特定の区
域、例えば第2区域(図2)に含まれる領域における情
報を読み出す要求R2を受けると、デバイスドライバ3
は、第2区域についてのアクセス回数a2(図2)をイ
ンクリメントし(ステップS1)、ハードディスクドラ
イブ5に情報出力の要求R3を発行する(ステップS
2)。この時点でデバイスドライバ3は、タイマ監視を
開始する(ステップS3)。
【0035】デバイスドライバ3は、次に、ハードディ
スクドライブ5から情報出力の結果を受けたか否か、つ
まり通知I1があったか否かを調べ(ステップS4)、
通知I1をまだ受けていない場合は、タイマ監視の開始
から所定時間Tが経過したか否かを調べる(ステップS
5)。所定時間Tが未だ経過していない場合は、ステッ
プS4に戻る。所定時間Tが既に経過している場合は、
第2区域についての第2エラー回数e22(図2)をイ
ンクリメントし(ステップS6)、ステップS3に戻
る。
【0036】ここで、所定時間Tは、ハードディスク6
に対して入出力する情報の大きさに依存し、この大きさ
が大きい程、所定時間Tは大きく設定される。また、こ
の所定時間Tは、例えばアクセス結果がほとんどエラー
とならず、正常に動作している状態において、ハードデ
ィスク6にアクセスしてからアクセス結果を受けるまで
の時間を予め取得しておき、この時間よりも十分に大き
い時間に設定する。例えば正常に動作している状態でハ
ードディスク6から情報を出力してからその結果を受け
るまでに0.5秒を要する場合、同一の大きさの情報を
出力するのであれば、所定時間Tは8秒としておく。但
し、デバイスドライバ3に対する、ハードディスク6上
の情報を読み出す要求が32Mバイトを越える場合は、
所定時間Tを8倍する。
【0037】このように、デバイスドライバ3ではステ
ップS6で第2エラー回数e22(図2)をインクリメ
ントしておくので、最終的に所定時間Tよりも長い時間
の経過後に情報出力の結果が成功である旨が通知される
場合であっても、ハードディスクドライブ5内でリトラ
イされたことを記しておくことができる。つまり、通知
I3ではアプリケーション1にはあたかもファイルのデ
ータの読み出しがスムーズにいったように見える場合で
あっても、ハードディスクドライブ5内でリトライされ
ていれば、ハードディスク6に何らかの不具合が発生し
ていると推測されるが、このように第2エラー回数e2
2を用いてエラー回数をカウントすることで、不具合を
検知することができる。
【0038】ステップS4において、情報出力の結果を
既に受けている場合は、タイマ監視を停止し(ステップ
S7)、情報出力の結果が成功であるか否かを調べる
(ステップS8)。成功であれば、ファイルマネージャ
2にハードディスクからの情報の読み出しに成功した
旨、および読み出した情報を通知する(ステップS
9)。一方、ステップS8で情報出力の結果がエラーで
あれば、第2区域についての第1エラー回数e12をイ
ンクリメントする(ステップS10)。なお、このステ
ップS10における第1エラー回数e12のインクリメ
ントは、情報出力をハードディスク6に最初に要求する
場合のみとして、リトライ中はインクリメントしないよ
うにしてもよい。次に、デバイスドライバ3は、所定回
数N以上リトライしたか、つまりハードディスクドライ
ブ5に情報出力の要求R3を所定回数N以上発行したか
否かを調べる(ステップS11)。所定回数N以上リト
ライしていない場合は、ステップS2に戻る。所定回数
N以上リトライした場合は、ファイルマネージャ2にハ
ードディスク6からの情報の読み出しに失敗した旨を通
知する(ステップS12)。ここで、所定回数Nは、例
えば10回であり、このコンピュータ10の操作者が、
デバイスドライバ3のオプションとして設定できる。
【0039】このように、デバイスドライバ3ではステ
ップS10で第1エラー回数e12をインクリメントし
ておくので、最終的に所定回数Nに達する前にハードデ
ィスク6からの情報出力の結果が成功である旨が通知さ
れる場合であっても、ハードディスクドライブ5内でリ
トライされたことを記しておくことができる。つまり、
アプリケーション1には、通知I3によって、あたかも
ファイルのデータの読み出しがスムーズにいったように
見える場合であっても、デバイスドライバ3内でリトラ
イされた場合は、ハードディスク6に何らかの不具合が
発生していると推測されるが、このように第1エラー回
数e12をカウントすることで、このような不具合を検
知することができる。
【0040】デバイスドライバ3では、以上のようにア
クセス回数、第1エラー回数、および第2エラー回数を
インクメントしながら、各合計回数および全エラー回数
もインクリメントし、これらを用いてエラー偏重率を求
める。ここで、「エラー偏重率」とは、ディスクの領域
上におけるエラー比率の偏りの大きさをいい、本実施形
態では、総エラー回数e11+e12+…+e1n+…
+e21+e22+…+e2n+…に対する、エラー比
率が最も大きい区域の全エラー回数の比を、エラー偏重
率とする。エラー比率は、ある区域におけるアクセス回
数a1,a2…an…に対する、その区域の全エラー回
数e11+e21,e12+e22,…e1n+e2n
…の比であり、例えば、第n区域におけるエラー比率
は、(e11n+e2n)/anである。また、エラー
偏重率を求める際に、第1エラー回数の合計および第2
エラー回数の合計の和である総エラー回数は、一度でも
アクセスした区域における全エラー回数の合計を求めて
算出する。さらに、エラー比率が最も大きい区域は、1
つに限られず、エラー比率の大きい上位複数の区域であ
ってもよい。したがって、例えばエラー比率の大きい上
位2つの区域が、第6区域、第7区域であれば、偏重率
DRは、以下の式で表される。
【0041】
【式1】
【0042】次に、デバイスドライバ3がこの取得した
ハードディスク状態をユーザ、つまりコンピュータ10
を操作する者に提示する方法について示す。デバイスド
ライバ3は、図4に示す表示窓40を、コンピュータ1
0(図1)の表示装置の画面に表示させる。
【0043】表示窓40は、I/Oエラー比率表示部4
1、I/Oエラー偏重率表示部42、再取得ボタン4
3、自動表示更新チェックボタン44、カウンタリセッ
トボタン45を備える。上記I/Oエラー比率表示部4
1は、合計アクセス回数a1+a2+…+an…(図
2)を表示するアクセス回数表示欄41aと、総エラー
回数e11+e12+…+e1n+…+e21+e22
+…+e2n+…(図2)を表示するエラー回数表示欄
41bと、合計アクセス回数a1+a2+…+an…に
対する総エラー回数e11+e12+…+e1n+…+
e21+e22+…+e2n+…の比率を棒グラフおよ
び数値で示す比率表示欄41cとを有する。上記I/O
エラー偏重率表示部42は、上述したエラー偏重率DR
を、棒グラフおよび数値で示す比率表示欄42aを有す
る。
【0044】各ボタン43〜45は、以下のように用い
られる。上記再取得ボタン43が選択入力されると、デ
バイスドライバ3は、カウント用テーブル30(図2)
に記憶している全ての回数、つまりデバイスドライバ3
が機能している状態では常に更新されている回数を表示
窓40に反映する。自動表示更新チェックボタン44に
チェックが付されると、デバイスドライバ3は、再取得
ボタン43の選択入力にかかわらず、所定のタイミング
でカウント用テーブル30(図2)に記憶している全て
の回数を表示窓40に反映する。つまり、表示窓40を
見るユーザは、リアルタイムで、I/Oエラー比率表示
部41やI/Oエラー偏重率表示部42の比率表示欄4
1c,42aの棒グラフが変化する様子を認識できる。
カウンタリセットボタン45が選択入力されると、デバ
イスドライバ3は、図2のカウントテーブル30に記憶
している全ての回数をゼロクリアする。
【0045】このように、ユーザからのアクセスによっ
てハードディスクのエラー予測状態が閲覧可能となる
が、例えばI/Oエラー比率表示部41の比率表示欄4
1cに表示する比率が所定値を越えた場合、例えば45
%を越えたような場合に表示画面に警告を表示できるよ
うにしてもよい。
【0046】以上のように、表示窓40のI/Oエラー
比率表示部41の比率表示欄41cに合計アクセス回数
a1+a2+…+an…に対する総エラー回数e11+
e12+…+e1n+…+e21+e22+…+e2n
+…の比率が示されるので、表示窓40を見るユーザ
は、この比率が大きい場合はハードディスクなどにおい
て何らかの不具合が生じていることを予測することがで
きる。また、自動表示更新チェックボタン44にチェッ
クが付されていると、表示窓40を見るユーザには、合
計アクセス回数a1+a2+…+an…に対する総エラ
ー回数e11+e12+…+e1n+…+e21+e2
2+…+e2n+…の比率が急増した場合、棒グラフに
よって一目瞭然となり、ハードディスクなどにおいて何
らかの不具合が急に生じたことを予測することができ
る。さらに、表示窓40のI/Oエラー偏重率表示部4
2に、エラー偏重率DRが示されるので、表示窓40を
見るユーザは、不具合がハードディスクの特定の領域に
偏っているか否かを知ることができる。
【0047】合計アクセス回数a1+a2+…+an…
に対する総エラー回数e11+e12+…+e1n+…
+e21+e22+…+e2n+…の比率が高く、か
つ、このエラー偏重率DRも高ければ、ハードディスク
の特定の領域が不良となって、この領域に対するアクセ
スに失敗して、代わりにハードディスク上の予備領域に
アクセスしていると推測され、つまりハードディスクの
クラッシュが近いことが予測される。したがって、ユー
ザは、このハードディスクのバックアップを取得して、
ハードディスクを交換するという対策を講じることがで
きる。一方、合計アクセス回数a1+a2+…+an…
に対する総エラー回数e11+e12+…+e1n+…
+e21+e22+…+e2n+…の比率は高いが、エ
ラー偏重率DRが低い場合、ハードディスク以外の異
常、例えばケーブルやインタフェースカードの不整合が
発生していると推測される。したがって、ユーザは、ケ
ーブルが抜けかかっていないか、インタフェースカード
が正常に差し込まれているか、などの確認という対策を
講じることができる。
【0048】本デバイスドライバ3は、また、ハードデ
ィスク6上の破損したセクタを覚えておくために、図5
に示すいわゆるディフェクトリスト50を有する。ディ
フェクトリスト50は、デバイスドライバ3(図1)が
欠陥であると認識したセクタの番号を記憶する欠陥セク
タ番号記憶部51と、各欠陥セクタの代わりに割り当て
たセクタの番号を記憶する代替セクタ番号記憶部52と
を有する。デバイスドライバ3では、あるセクタが不良
であると認識すると、予備領域のセクタを代わりに割り
当て、その後、ファイルマネージャ2から欠陥セクタ1
0を含む領域における情報に対して読み出し要求または
書き込み要求があった際に、この予備領域のセクタを取
得するためにディフェクトリスト50を参照する。
【0049】本デバイスドライバ3は、デバイスドライ
バ3が起動された時点で、ディフェクトリスト50にお
ける欠陥セクタの数をカウントし、例えばハードディス
ク6とは別のハードディスクのような不揮発性記憶装置
に設けられた欠陥セクタ数記憶部(図示せず)に記憶し
ておく。その後デバイスドライバ3が終了して再度起動
された時点で、ディフェクトリスト50における欠陥セ
クタの数をカウントし、欠陥セクタ数記憶部に記憶して
いる数と比較する。つまり、デバイスドライバ3が起動
されてから終了するまでの欠陥セクタの数の変化を取得
する。ハードディスクがクラッシュ寸前であれば、急激
に欠陥セクタの数が増加するので、このように欠陥セク
タ数の変化を取得することでハードディスクがクラッシ
ュ寸前であることを予測できる。本実施形態ではデバイ
スドライバ3の起動時に欠陥セクタの数の変化を取得す
ることとしたが、デバイスドライバ3の終了時に取得し
てもよい。
【0050】本実施形態では、増加した欠陥セクタの数
が所定数以上であれば、表示装置の画面にドライブの名
称、および欠陥セクタが増加している旨の表示からなる
警告を表示する。したがって、この警告を見たユーザ
は、ハードディスクのバックアップを取得してハードデ
ィスクを交換するという対策を講じることができる。
【0051】デバイスドライバ3は、ハードディスク6
の動作を管理するようにコンピュータ10のメモリに常
駐して実行されるプログラムと、ユーザによって起動さ
れるユーティリティプログラムとを有する。このうち、
アクセス回数やエラー回数のカウントのようにハードデ
ィスク6へのアクセスに関連する動作はメモリに常駐し
て実行されるプログラムが行い、カウントされた値など
に基づいてエラー偏重率などを計算し、表示装置の画面
に表示する動作はユーティリティプログラムが行う。
【0052】次に、本発明の第2実施形態に係るデバイ
スドライバについて説明する。本実施形態が第1実施形
態と異なる点は、上述したエラー偏重率の求め方であ
る。その他の構成は、第1実施形態と共通するため、説
明は省略する。
【0053】本実施形態では、エラー偏重率DRは、各
区域ごとのエラー比率r1,r2…rn…の平方和に基
づいて求められる。ここで、エラー比率の平方和とは、
エラー比率の平均raに対する、一度でもアクセスした
区域のエラー比率r1,r2…rn…の偏差(r1−r
a),(r2−ra)…(rn−ra)…の二乗の和を
いう。具体的には、エラー比率の平方和を一度でもアク
セスした区域の総数で除して、平方根をとったものをエ
ラー偏重率DRとし、以下の式(2)で表される。
【0054】
【式2】
【0055】なお、エラー比率の平均raはアクセス数
が0の区域のエラー比率は含めず計算され、エラー比率
の平方和にも、アクセス数が0の区域のエラー比率の偏
差は含めない。したがって、無駄な計算が省かれる。
【0056】デバイスドライバ3は、次に、隣接する2
つの区域を一つの区域群として、同様に、各区域群ごと
のエラー比率の平方和に基づいて、エラー偏重率DRを
再度求める。このため、例えば図6(a)に示すように
隣接する第n区域と第n+1区域のエラー比率が極めて
大きい場合と、図6(b)に示すように隣接しない第n
区域と第m区域のエラー比率が極めて大きい場合とで
は、区域を基準として求めたエラー偏重率がほぼ同一の
値であったとしても、この区域群を基準とすることでエ
ラー偏重率の値は全く異なる。つまり、エラー偏重率は
図6(a)の場合の方が大きく、図6(b)の場合の方
が小さい。したがって、このようにエラー偏重率DRを
再度計算し直すことで、エラーの空間的な偏りを正確に
求めることができる。
【0057】このように求めたエラー偏重率DRは、第
1実施形態と同様にデバイスドライバ3が図4の表示窓
40の比率表示欄42aに表示する。
【0058】上記区域の数は、例えば8Gバイト未満の
ハードディスクであれば256個とし、8Gバイト以上
16Gバイト未満であれば512個、16バイト以上で
あれば1024個とする。
【0059】上記第1および第2実施形態では、記憶装
置であるハードディスクの状態を取得する場合について
説明したが、例えばMOのような記憶媒体であっても、
同様にディスク状態を取得できる。この場合、エラー偏
重率が高ければ、媒体の一部が破損していると予測でき
る。したがって、ユーザは、この媒体のバックアップを
取得しておくという対策を講じることができる。
【0060】
【発明の効果】以上のように本発明の第1構成に係る特
定のディスクを動作させるデバイスドライバにおけるデ
ィスク状態取得方法およびコンピュータ読み取り可能な
記録媒体に記録したデバイスドライバプログラムによれ
ば、ディスクに対するアクセス回数と、アクセス結果が
エラーとなるエラー回数とをそれぞれカウントするの
で、このアクセス回数に対するエラー回数の比率に着目
すれば、ディスクの状態を把握することができる。つま
り、この比率が徐々に増加していれば、ディスクが徐々
に破損してきていることが分かり、また、この比率が所
定値よりも大きければ、ディスクがクラッシュ寸前の状
態であることが分かる。これより、ディスクがクラッシ
ュなどしてしまう前に、ディスクのバックアップを取得
するような対策をユーザは講じることができる。
【0061】また、本発明の第2構成に係る特定のディ
スクを動作させるデバイスドライバにおけるディスク状
態取得方法およびコンピュータ読み取り可能な記録媒体
に記録したデバイスドライバプログラムによれば、ディ
スクに対するアクセス回数と、アクセスしてからアクセ
ス結果を受けるまでの時間が所定時間よりも大きい場合
のエラー回数とをそれぞれカウントするので、このアク
セス回数に対するエラー回数の比率に着目すれば、上記
第1構成と同様に、ディスクの状態を把握することがで
きる。したがって、ディスクがクラッシュなどしてしま
う前に、ディスクのバックアップを取得するような対策
をユーザは予め講じることができる。
【0062】さらに、本発明の第3構成に係る特定のデ
ィスクを動作させるデバイスドライバにおけるディスク
状態取得方法によれば、欠陥セクタの数の変化を取得す
ることにより、デバイスドライバでディスクの状態を把
握することができる。つまり、急激に欠陥セクタの数が
増加していれば、ディスクがクラッシュ寸前の状態であ
ることが分かる。これより、ディスクがクラッシュして
しまう前に、ディスクのバックアップを取得するような
対策をユーザは講じることができる。
【図面の簡単な説明】
【図1】本発明の第1実施形態に係るデバイスドライバ
を含むシステム構成を示す概略ブロック図である。
【図2】同実施形態のデバイスドライバ内のカウント用
テーブルを示す図である。
【図3】同実施形態のデバイスドライバの動作を示すフ
ローチャートである。
【図4】同実施形態のデバイスドラバが表示画面に表示
する表示窓を示す図である。
【図5】同実施形態のデバイスドライバが有するディフ
ェクトリストの概略図である。
【図6】(a)および(b)は本発明の第2実施形態に
係るデバイスドライバのエラー偏重率の求め方を説明す
るためにディスク上の区域に対するエラー比率を示す図
であって、(a)は隣接する2つの区域のエラー比率が
極めて大きい場合、(b)は隣接しない2つの区域のエ
ラー比率が極めて大きい場合の図である。
【符号の説明】
3…デバイスドライバ、6…ディスク、50…欠陥セク
タのリスト、an…ディスクアクセス回数、e1n,e
2n…エラー回数、rn…エラー比率。

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 特定のディスクを動作させるデバイスド
    ライバにおけるディスク状態取得方法であって、 前記ディスクに対するアクセス回数と、アクセス結果が
    エラーとなるエラー回数とをそれぞれカウントするディ
    スク状態取得方法。
  2. 【請求項2】 請求項1において、前記アクセス回数
    は、前記ディスクに対するアクセス要求を受けるごとに
    1つ加算され、前記エラー回数は、アクセス結果がエラ
    ーとなるごとに1つ加算されるディスク状態取得方法。
  3. 【請求項3】 特定のディスクを動作させるデバイスド
    ライバにおけるディスク状態取得方法であって、 前記ディスクに対するアクセス回数と、前記ディスクに
    アクセスしてからアクセス結果を受けるまでの時間が所
    定時間よりも大きい場合のエラー回数とをそれぞれカウ
    ントするディスク状態取得方法。
  4. 【請求項4】 請求項3において、前記アクセス回数
    は、前記ディスクに対するアクセス要求を受けるごとに
    1つ加算され、前記エラー回数は、前記ディスクにアク
    セスしてからアクセス結果を受けるまでの時間が所定時
    間よりも大きい場合ごとに1つ加算されるディスク状態
    取得方法。
  5. 【請求項5】 請求項1ないし4のいずれかにおいて、
    前記アクセス回数および前記エラー回数を、前記ディス
    クの領域を複数に分割した区域ごとにカウントし、各区
    域ごとのエラー比率を算出し、前記ディスクの領域上に
    おけるエラー比率の偏りの大きさを求めるディスク状態
    取得方法。
  6. 【請求項6】 請求項1ないし5のいずれかにおいて、
    さらに、前記アクセス回数および前記エラー回数を表示
    画面上に表示させるディスク状態取得方法。
  7. 【請求項7】 特定のディスクを動作させるデバイスド
    ライバにおけるディスク状態取得方法であって、 前記ディスクの欠陥セクタのリストに基づいて、欠陥セ
    クタの数の変化を取得するディスク状態取得方法。
  8. 【請求項8】 特定のディスクを動作させるデバイスド
    ライバプログラムを記録したコンピュータ読み取り可能
    な記録媒体であって、 前記ディスクに対するアクセス回数をカウントする手順
    と、 アクセス結果がエラーとなるエラー回数をカウントする
    手順とを実行させるためのデバイスドライバプログラム
    を記録したコンピュータ読み取り可能な記録媒体。
  9. 【請求項9】 特定のディスクを動作させるデバイスド
    ライバプログラムを記録したコンピュータ読み取り可能
    な記録媒体であって、 前記ディスクに対するアクセス回数をカウントする手順
    と、 アクセスしてからアクセス結果を受けるまでの時間が所
    定時間よりも大きい場合のエラー回数をカウントする手
    順とを実行させるためのデバイスドライバプログラムを
    記録したコンピュータ読み取り可能な記録媒体。
JP2001008450A 2000-11-29 2001-01-17 ディスク状態取得方法および記録媒体 Pending JP2002229923A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001008450A JP2002229923A (ja) 2000-11-29 2001-01-17 ディスク状態取得方法および記録媒体

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000362574 2000-11-29
JP2000-362574 2000-11-29
JP2001008450A JP2002229923A (ja) 2000-11-29 2001-01-17 ディスク状態取得方法および記録媒体

Publications (1)

Publication Number Publication Date
JP2002229923A true JP2002229923A (ja) 2002-08-16

Family

ID=26604791

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001008450A Pending JP2002229923A (ja) 2000-11-29 2001-01-17 ディスク状態取得方法および記録媒体

Country Status (1)

Country Link
JP (1) JP2002229923A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005251042A (ja) * 2004-03-08 2005-09-15 Hitachi Ltd ディスクアレイ装置およびその制御方法
JP2017523526A (ja) * 2014-07-30 2017-08-17 マイクロソフト テクノロジー ライセンシング,エルエルシー 分散システムにおける故障解析のための視覚ツール

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005251042A (ja) * 2004-03-08 2005-09-15 Hitachi Ltd ディスクアレイ装置およびその制御方法
JP4547170B2 (ja) * 2004-03-08 2010-09-22 株式会社日立製作所 ディスクアレイ装置およびその制御方法
JP2017523526A (ja) * 2014-07-30 2017-08-17 マイクロソフト テクノロジー ライセンシング,エルエルシー 分散システムにおける故障解析のための視覚ツール

Similar Documents

Publication Publication Date Title
US6467054B1 (en) Self test for storage device
US6950836B2 (en) Method, system, and program for a transparent file restore
US5828583A (en) Drive failure prediction techniques for disk drives
US7971021B2 (en) Systems and methods for managing stalled storage devices
US5388254A (en) Method and means for limiting duration of input/output (I/O) requests
US7996724B1 (en) System and method for logging disk failure analysis in disk nonvolatile memory
US7237141B2 (en) Method for recovering data from a redundant storage object
US20090248975A1 (en) Systems and methods for managing stalled storage devices
US20090119548A1 (en) System for automatically collecting trace detail and history data
US7533339B2 (en) System and method for providing user help
US7761660B1 (en) Identifying suspect disks
CN109684140A (zh) 一种慢盘检测方法、装置、设备及计算机可读存储介质
US7870045B2 (en) Computer system for central management of asset information
JP3481737B2 (ja) ダンプ採取装置およびダンプ採取方法
US8726129B1 (en) Methods of writing and recovering erasure coded data
US20140317443A1 (en) Method and apparatus for testing a storage system
US8843781B1 (en) Managing drive error information in data storage systems
EP2860633A1 (en) Method for maintaining file system of computer system
US7428658B2 (en) Checking storage reconfiguration
JP2002229923A (ja) ディスク状態取得方法および記録媒体
JP2002358170A (ja) ディスク記憶装置、同ディスク記憶装置を備えた計算機システム及び同計算機システムにおけるリトライ処理時のエラー通知方法
CN113625957B (zh) 一种硬盘故障的检测方法、装置及设备
JP2019133557A (ja) エラー対応支援プログラム、エラー対応支援装置及びエラー対応支援方法
JP3060039B2 (ja) ディスク装置のオンライン診断における自動スケジュール方法
JP5596001B2 (ja) 情報処理プログラム、制御方法および情報処理装置