JP2010157266A - Information processing apparatus, failure sign determination method, and program - Google Patents
Information processing apparatus, failure sign determination method, and program Download PDFInfo
- Publication number
- JP2010157266A JP2010157266A JP2010090927A JP2010090927A JP2010157266A JP 2010157266 A JP2010157266 A JP 2010157266A JP 2010090927 A JP2010090927 A JP 2010090927A JP 2010090927 A JP2010090927 A JP 2010090927A JP 2010157266 A JP2010157266 A JP 2010157266A
- Authority
- JP
- Japan
- Prior art keywords
- command
- log
- hdd
- response
- disk drive
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は、ディスクドライブを備えた情報処理装置、ディスクドライブの故障予兆の有無を判定する故障予兆判定方法、及びプログラムに関する。 The present invention relates to an information processing apparatus including a disk drive, a failure sign determination method for determining whether a disk drive has a failure sign, and a program.
一般に、パーソナルコンピュータのような情報処理装置においては、ハードディスクドライブがストレージデバイスとして用いられている。ハードディスクドライブは、ハードディスクと称されるディスク記憶媒体にデータを格納するディスクドライブである。 Generally, in an information processing apparatus such as a personal computer, a hard disk drive is used as a storage device. A hard disk drive is a disk drive that stores data in a disk storage medium called a hard disk.
ディスクドライブやディスクドライブを備えた情報処理装置には、ディスクドライブに格納されたデータの保護等を目的として、ディスクドライブの故障を検出する機構がハードウェア又はソフトウェアにより設けられることが多い。 A disk drive or an information processing apparatus including a disk drive is often provided with a hardware or software mechanism for detecting a failure of the disk drive for the purpose of protecting data stored in the disk drive.
特許文献1には、故障検出処理の実行が要求された場合に、故障検出処理プログラムによりデバイスドライバからディスクドライブに対して入出力要求を発行し、この入出力要求に対して正常な応答が返されるか否かに基づいて、ディスクドライブの正常又は異常を判断する故障検出方法が開示されている。
In
特許文献1の故障検出方法では、専用の故障検出処理プログラムからの入出力要求に応じて、故障検出専用のディスクアクセスが実行される。このため、もしこの故障検出処理プログラムによりディスクドライブへ多量の入出力要求が発行されたならば、また、もし長期間に亘って入出力要求が発行され続けたならば、故障検出専用のディスクアクセスが増加し、これによって各種ユーザプログラムの実行等に関するシステム性能が低下する可能性がある。さらに、故障検出処理プログラムからの入出力要求でアクセスされなかった記憶領域に異常がある場合には、故障検出処理プログラムはディスクドライブの故障を検出することが困難である。
In the failure detection method of
本発明は上述の事情を考慮してなされたものであり、専用の故障検出プログラムを用いることなく、ディスクドライブの稼動状態の履歴をログ情報として保存することができる情報処理装置及び故障予兆判定方法を提供することを目的とする。 The present invention has been made in consideration of the above-described circumstances, and is an information processing apparatus and failure sign determination method capable of storing a history of disk drive operating status as log information without using a dedicated failure detection program The purpose is to provide.
上述の課題を解決するため、本発明の一つの観点によれば、オペレーティングシステムからのディスクドライブに対するアクセス要求に応じて、ディスクドライバから発行されるコマンドの種類を示すコマンド識別情報と、前記ディスクドライブからの前記コマンドに対する処理の結果を示すレスポンス識別情報とを出力するアクセス情報出力手段と、前記コマンド識別情報および前記レスポンス識別情報を前記ディスクドライブのログ情報として蓄積するログ蓄積手段とを具備することを特徴とする情報処理装置が提供される。 In order to solve the above-described problem, according to one aspect of the present invention, command identification information indicating a type of a command issued from a disk driver in response to an access request to the disk drive from an operating system, and the disk drive Access information output means for outputting response identification information indicating the result of processing for the command from the disk, and log storage means for storing the command identification information and the response identification information as log information of the disk drive. An information processing apparatus characterized by the above is provided.
本発明によれば、専用の故障検出プログラムを用いることなく、ディスクドライブの稼動状態の履歴をログ情報として保存することができる。 According to the present invention, it is possible to save the history of the disk drive operating status as log information without using a dedicated failure detection program.
以下、図面を参照して本発明の実施形態を説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
まず、図1および図2を参照して、本発明の一実施形態に係る情報処理装置の構成について説明する。この情報処理装置は、バッテリ駆動可能な携帯型のノートブック型パーソナルコンピュータ10として実現されている。
First, the configuration of an information processing apparatus according to an embodiment of the present invention will be described with reference to FIG. 1 and FIG. This information processing apparatus is realized as a battery-driven portable notebook
図1は、ディスプレイユニットを開いた状態におけるコンピュータ10を正面側から見た斜視図である。
FIG. 1 is a perspective view of the
本コンピュータ10は、コンピュータ本体11と、ディスプレイユニット12とから構成される。ディスプレイユニット12には、LCD16(Liquid Crystal Display)から構成される表示装置が組み込まれており、そのLCD16の表示画面はディスプレイユニット12のほぼ中央に位置されている。
The
ディスプレイユニット12は、コンピュータ本体11に支持され、そのコンピュータ本体11に対してコンピュータ本体11の上面が露出される開放位置とコンピュータ本体11の上面を覆う閉塞位置との間を回動自由に取り付けられている。コンピュータ本体11は薄い箱形の筐体を有しており、その上面にはキーボード13、本コンピュータ10をパワーオン/オフするためのパワーボタン14およびタッチパッド15が配置されている。
The
図2は、本コンピュータ10のシステム構成を示している。
FIG. 2 shows the system configuration of the
本コンピュータ10は、CPU111、ノースブリッジ112、主メモリ113、グラフィクスコントローラ114、サウスブリッジ115、ハードディスクドライブ(HDD)116、ネットワークコントローラ117、BIOS−ROM118、エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)119、および電源回路120等を備えている。
The
CPU111は、本コンピュータ10の各コンポーネントの動作を制御するプロセッサである。このCPU111は、HDD116から主メモリ113にロードされる各種プログラムを実行する。主メモリ113には、オペレーティングシステム(OS)201、アプリケーションプログラム202、HDDドライバプログラム203、ログユーティリティプログラム204、及び故障予兆ユーティリティプログラム205等がロードされる。
The
HDDドライバプログラム203は、OS201や各種プログラムによるアクセス要求に応じてHDD116を制御するプログラムである。HDDドライバプログラム203は、HDDドライバと称されることもある。HDDドライバプログラム203は、アクセス要求に応じたコマンドをHDD116へ発行し、このコマンドに対応する処理を実行したHDD116からのレスポンスを受信する。このHDDドライバプログラム203にはHDDドライバプログラム203の機能を拡張するためのフィルタドライバが組み込まれている。このフィルタドライバは、HDDドライバプログラム203からHDD116に発行されたコマンドと、このコマンドに対応する処理(リード/ライト)を実行するHDD116からのレスポンスとを監視する。そして、フィルタドライバは、HDD116に発行されたコマンドの種類(データリードコマンド、データライトコマンド、ステータスリードコマンド、ステータスライトコマンド等)を識別するコマンドIDと、HDD116によって実行されるコマンドに対する処理が成功したか失敗したかを示すレスポンスIDとをログユーティリティプログラム204に通知する。
The
ログユーティリティプログラム204は、HDD116へのアクセス要求が発生した場合に、HDDドライバプログラム203が発行するコマンドとこのコマンドに対応する処理を実行したHDD116からのレスポンスとに基づく情報を、HDD116の稼働状態の履歴を示すログ情報として、不揮発性のログエリアに蓄積する。具体的には、ログユーティリティプログラム204は、HDDドライバプログラム203に組み込まれたフィルタドライバからコマンドIDおよびレスポンスIDを受信し、受信したコマンドIDおよびレスポンスIDをログ情報としてログエリアに蓄積する。この場合、必ずしも受信したコマンドIDおよびレスポンスIDをログエリアに逐次書き込む必要はない。例えば、ログユーティリティプログラム204は、HDD116において実行されるコマンドに対する処理が成功した回数と失敗した回数とをコマンドの種類毎にカウントし、そして、コマンドの種類毎に成功回数及び失敗回数を示すログ情報を、例えば一日に一回の割合で、ログエリアに書き込むこともできる。この結果、ログエリアに対するアクセス回数を減らすことができるので、システム性能の低下を防止することができる。
When an access request to the
ログ情報は、不揮発性のログエリアであるHDD116や不揮発性メモリ、別に設けられる記憶装置等に格納される。なお、HDD116や不揮発性メモリ、別に設けられる記憶装置等のうち複数に、ログ情報を格納してもよい。ログエリアに格納されたログ情報は、HDD116の故障予兆の有無を判定するために使用される。
The log information is stored in the
故障予兆ユーティリティプログラム205は、ログユーティティプログラム204により蓄積されたログ情報を不揮発性のログエリアから読み出し、このログ情報に基づきHDD116の故障予兆の有無を判定する。
The failure
また、CPU111は、フラッシュBIOS−ROM118に格納されたBIOS(基本入出力システム:Basic Input Output System)も実行する。BIOSはハードウェア制御のためのプログラムである。
The
ノースブリッジ112は、CPU111のローカルバスとサウスブリッジ115との間を接続するブリッジデバイスである。また、ノースブリッジ112は、AGP(Accelerated Graphics Port)バスなどを介してグラフィクスコントローラ114との通信を実行する機能も有している。さらに、ノースブリッジ112には、主メモリ113を制御するメモリコントローラも内蔵されている。
The
グラフィクスコントローラ114は、本コンピュータ10のディスプレイモニタとして使用されるLCD16を制御する表示コントローラである。サウスブリッジ115は、PCI(Peripheral Component Interconnect)バスおよびLPC(Low Pin Count)バスにそれぞれ接続されている。
The
また、サウスブリッジ115には、ATAコントローラ123が内蔵されている。ATAコントローラ123は、HDDドライバプログラム203からの要求に応じてHDD116を制御する。
The
HDD116は、各種プログラムやデータ等を格納するディスクドライブである。OS201や各種プログラムによるアクセス要求に応じ、指定されたデータ(ユーザファイル、システムファイル等)の読出しや書込み等の操作がHDD116に対して行われる。HDD116は、データを磁気的に記録する磁気ディスクドライブである。
The
エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)119は、電源管理のためのエンベデッドコントローラと、キーボード(KB)13およびタッチパッド15などを制御するキーボードコントローラとが集積された1チップマイクロコンピュータである。EC/KBC119は、電源回路120と協働して、ユーザによるパワーボタンスイッチ14の操作に応じて本コンピュータ10を電源オン/電源オフする。電源回路120は、コンピュータ本体11に内蔵されたバッテリ121、又はACアダプタ122を介して供給される外部電源を用いて、本コンピュータ10の各コンポーネントに供給すべきシステム電源を生成する。
The embedded controller / keyboard controller IC (EC / KBC) 119 is a one-chip microcomputer in which an embedded controller for power management and a keyboard controller for controlling the keyboard (KB) 13 and the
図3は、本実施形態で用いられる故障予兆判定システムの構成例を示すブロック図である。この故障予兆判定システムは、HDD116が実際に故障する前にその故障の予兆を検出するために用いられる。故障予兆判定システムは、ログユーティリティプログラム204、ログエリア301、故障予兆ユーティリティプログラム205、及びHDDドライバプログラム203内に設けられたフィルタドライバプログラム302によって実現される。
FIG. 3 is a block diagram illustrating a configuration example of a failure sign determination system used in the present embodiment. This failure sign determination system is used to detect a failure sign before the
フィルタドライバは一般に、ファイルシステムドライバ等の上位システムドライバと、デバイスを直接制御する物理デバイスドライバとの間に位置し、上位のドライバと下位のドライバとの間で特殊な動作を行う。フィルタドライバは、この特殊な動作に対応する処理のみを行い、この処理に関連しない命令、データ等については、そのまま下位ドライバに伝える。つまり、フィルタドライバにより、本来のドライバの動作に特殊な動作を加えた複雑な処理を実行することができる。 The filter driver is generally located between a higher system driver such as a file system driver and a physical device driver that directly controls the device, and performs a special operation between the higher driver and the lower driver. The filter driver performs only processing corresponding to this special operation, and transmits instructions, data, etc. not related to this processing to the lower driver as they are. That is, the filter driver can execute a complicated process in which a special operation is added to the operation of the original driver.
以下ではまず、HDD116に対するアクセスが要求された場合における通常の処理の流れについて説明する。
In the following, a normal processing flow when access to the
アプリケーションプログラム202又はOS201によりHDD116に対するアクセスが要求された場合、OS201からHDDドライバプログラム203に対してディスクアクセス要求(HDDアクセス要求)が発行される。このHDDアクセス要求はHDD116に対する入出力要求である。HDDドライバプログラム203はHDDアクセス要求に対応するコマンドをHDD116に対して発行する。このコマンドはATAコントローラ123を介してHDD116に送られる。HDD116は、発行されたコマンドに応じた処理を実行し、HDDドライバプログラム203に対してレスポンスを返す。このレスポンスは、コマンドに応じて実行した処理が成功したか失敗したかを示すレスポンスID、処理によりHDD116から読み出されたデータ等から構成される。
When access to the
HDDドライバプログラム203は、OS201を介したアプリケーションプログラム202からのHDDアクセス要求又はOS201からのHDDアクセス要求に応じた、HDD116からのレスポンスの内容をOS201へ送る。アプリケーションプログラム202によるHDDアクセス要求の場合には、OS201はアプリケーションプログラム202へレスポンス内容を送る。
The
HDD116の故障予兆の有無を判定するため、本実施形態では、上述した通常の処理に加えて、HDD116へのアクセスに関するログを蓄積する処理と蓄積したログに基づいて故障予兆を判定する処理とを以下のように実行する。
In this embodiment, in order to determine whether or not there is a failure sign of the
まず、HDDドライバプログラム203に設けられたフィルタドライバプログラム302は、OS201からのHDDアクセス要求に応じてHDDドライバプログラム203からHDD116に発行されるコマンドと、HDD116からHDDドライバプログラム203へ出力される、発行されたコマンドに対するレスポンスとを監視する。つまり、フィルタドライバプログラム302は、HDDドライバプログラム203とHDD116との間で入出力される情報(コマンド、レスポンス)から、HDD116の故障予兆の有無を判定するために必要となる情報を抽出する。監視中、HDDドライバプログラム203によりHDD116へ新たに送信されたコマンド、及びこのコマンドに対するHDD116からのレスポンスが検出された場合、フィルタドライバプログラム302は、送信されたコマンドに基づくコマンド識別情報(コマンドID)と、レスポンスに基づくレスポンス識別情報(レスポンスID)とをログユーティリティプログラム204へ通知する。
First, the
コマンドIDは、発行(送信)されたコマンドの種類を示すコマンド識別情報である。コマンドIDにより、HDDドライバプログラム203により発行されるコマンドがデータリードコマンド、データライトコマンド、ステータスリードコマンド、ステータスライトコマンド等の内のいずれであるかを識別し得る。データリードコマンドはHDD116からのデータの読み出しを要求するコマンドである。データライトコマンドはHDD116へのデータの書き込みを要求するコマンドである。ステータスリードコマンドおよびステータスライトコマンドは、HDD116に対して各種ステータス情報のリードおよびライトを要求するコマンドである。ステータスリードコマンドおよびステータスライトコマンドは、例えばシリアルナンバーやファームウェアのバージョン等のデバイス情報のリードおよびライトのために用いられる。
The command ID is command identification information indicating the type of issued (transmitted) command. The command ID can identify whether a command issued by the
レスポンスIDは、HDD116によって実行される、発行されたコマンドに対応する処理(データのリード/ライト、ステータスのリード/ライト等)が成功したか失敗したかを示す情報である。なお、このレスポンスIDは、HDD116における処理が失敗した場合のエラー内容を示すエラーIDであってもよい。
The response ID is information indicating whether processing (data read / write, status read / write, etc.) corresponding to the issued command executed by the
なお、本実施形態では、フィルタドライバプログラム302をHDDドライバプログラム203内に設けたが、フィルタドライバプログラム302をOS201とHDDドライバプログラム203との間に設けてもよい。この場合、フィルタドライバプログラム302は、OS201からHDDドライバプログラム203に送られるHDDアクセス要求と、HDD116からHDDドライバプログラム203に送られるレスポンスとを監視する。HDDドライバプログラム203からHDD116に送られるコマンドは、OS201からHDDドライバプログラム203に送られるHDDアクセス要求に対応するものである。したがって、OS201からHDDドライバプログラム203に送られるHDDアクセス要求を監視することは、HDDドライバプログラム203からHDD116に送られるコマンドを監視することと同義である。
In this embodiment, the
ログユーティリティプログラム204は、フィルタドライバプログラム302から受け取ったコマンドID及びレスポンスIDにログ記録日を示す日付情報を付与し、これらをログ情報としてログエリア301へ格納する。ログユーティリティプログラム204は、例えば1日に1回、ログエリア301へログ情報を書き込む。
The
図4はログエリア301に格納されるログ情報のデータ構造の例を示している。以下、ログエリア301に格納されるログ情報であるデータをログデータという。
FIG. 4 shows an example of the data structure of log information stored in the
ログエリア301に格納されるログデータには、上述したように日付が付与されている。ログデータは付与された日付に基づき、ヘッダと、コマンドの種類毎に集計されたレスポンス内容の情報とからなる日付毎のログデータとして、ログエリア301へ格納される。ヘッダには、日付、並びにHDD116のドライブ情報、メーカー名、型番、及びシリアルナンバー等の情報が含まれる。コマンドの種類毎に集計されたレスポンス内容には、発行されたコマンドに対応する処理が成功した回数(以下、成功回数)と失敗した回数(以下、失敗回数)とが記録される。つまり、ログユーティリティプログラム204が受け取ったレスポンスIDが、HDD116における処理が成功したことを示す識別情報である場合、受け取ったコマンドIDに対応するレスポンス内容の成功回数を1だけ増やす。また、ログユーティリティプログラム204が受け取ったレスポンスIDが、HDD116における処理が失敗したことを示す識別情報である場合、受け取ったコマンドIDに対応するレスポンス内容の失敗回数を1だけ増やす。なお、レスポンスIDが、HDD116における処理が失敗した場合のエラー内容を示すエラーIDである場合、エラーの種類毎に失敗回数をカウントしてもよい。
The log data stored in the
図4では例えば、ヘッダの日付情報が「2008/10/31」であるログデータにおいて、ヘッダ、並びにコマンドID1及びコマンドID2のレスポンス内容を示す情報がログエリア301に格納されている。
In FIG. 4, for example, in log data whose header date information is “2008/10/31”, information indicating the header and the response contents of the
ヘッダには、上述のように、日付、並びにHDD116のドライブ情報、メーカー名、型番、及びシリアルナンバーの情報が記録されている。コマンドID1のレスポンス内容を示す情報には、成功回数(Good)が30回、エラー1による失敗回数が3回、エラー2による失敗回数が2回であることが記録されている。同様に、コマンドID2のレスポンス内容を示す情報には、成功回数(Good)が77回、エラー1による失敗回数が1回、エラー2による失敗回数が6回であることが記録されている。
As described above, the date, the drive information of the
また、ヘッダの日付情報が「2008/11/1」、「2008/11/2」、「2008/11/3」であるログデータについても同様に、ヘッダとコマンドの種類毎に集計されたレスポンス内容の情報とが格納されている。 Similarly, for log data whose header date information is "2008/11/1", "2008/11/2", "2008/11/3", the responses aggregated for each type of header and command Content information is stored.
ログユーティリティプログラム204は、フィルタドライバプログラム302から受け取ったコマンドID及びレスポンスID、並びにその日付に基づき、ログエリア301に格納されたログデータを更新する。例えば、日付が「2008/11/3」であって、ログユーティリティプログラム204がフィルタドライバプログラム302から、コマンドID1と処理の成功を示すレスポンスIDとを受け取った場合、図4に示すログエリア301のログデータの例においては、コマンドID1のレスポンス内容に記録される成功回数(Good)が51回から52回に更新される。また、日付が「2008/11/3」であって、ログユーティリティプログラム204がフィルタドライバプログラム302から、コマンドID1とエラー1による処理の失敗を示すレスポンスIDとを受け取った場合、図4に示すログエリア301のログデータの例においては、コマンドID1のレスポンス内容に記録されるエラー1による失敗回数が4回から5回に更新される。
The
なお、ログユーティリティプログラム204は、フィルタドライバプログラム302から受信したコマンドID及びレスポンスIDに基づいて、成功回数及び失敗回数を一日分カウントし、該一日分の集計処理が終了した後に、この集計したデータを一日分のログ情報としてまとめてログエリア301へ格納してもよい。これにより、ログエリア301に対するアクセス回数を大幅に低減することができる。また、ログエリア301として用いる記憶領域は、HDD116や不揮発性メモリ、別に設けられる記憶装置等に設けることができる。さらに、HDD116や不揮発性メモリ、別に設けられる記憶装置等のうち複数に、ログエリア301として用いる記憶領域を確保し、これら複数の記憶領域それぞれにログ情報を記録してもよい。
Note that the
故障予兆ユーティリティプログラム205は、ログエリア301からログデータを読み出し、このログデータに基づいてHDD116の故障予兆の有無を判定する。
The failure
故障予兆ユーティリティプログラム205は、まず、ログエリア301から読み出したログデータを所定の期間毎に集計して、コマンドの種類毎のエラー率を算出する。エラー率は、所定の期間内に、HDD116においてコマンドに対応する処理が成功した回数(成功回数)と、コマンドに対応する処理が失敗した回数(失敗回数)とを用いて、次式により算出される。
The failure
エラー率X=失敗回数/(成功回数+失敗回数)
なお、ログエリア301においてエラーの種類毎に失敗回数がカウントされている場合には、すべてのエラーの種類について失敗回数を総計した値を上式の失敗回数として用いることができる。
Error rate X = number of failures / (number of successes + number of failures)
If the number of failures is counted for each error type in the
次に、故障予兆ユーティリティプログラム205は、所定の期間毎に算出したエラー率を比較し、新しい期間ほどエラー率が上昇する傾向にある場合に、HDD116に故障予兆があると判定する。
Next, the failure
具体的には例えば、直近の所定の期間のエラー率X_newが、直近の所定の期間より一つ前の所定の期間のエラー率X_last1より、エラー率増加量のしきい値(例えば5%)以上大きい場合に、故障予兆ユーティリティプログラム205はHDD116に故障予兆があると判定する。また、直近の所定の期間のエラー率X_newが、直近の所定の期間より一つ前の所定の期間のエラー率X_last1よりエラー率増加量のしきい値以上大きく、且つ、直近の所定の期間より一つ前の所定の期間のエラー率X_last1が、直近の所定の期間より二つ前の所定の期間のエラー率X_last2よりエラー率増加量のしきい値以上大きい場合に、故障予兆ユーティリティプログラム205がHDD116に故障予兆があると判定してもよい。すなわち、故障予兆ユーティリティプログラム205は、複数の期間に亘るエラー率の上昇傾向に基づき、HDD116の故障予兆の有無を判定する。
Specifically, for example, the error rate X_new in the most recent predetermined period is greater than or equal to the error rate increase threshold (for example, 5%) than the error rate X_last1 in the predetermined period immediately before the most recent predetermined period. If it is larger, the failure
なお、故障予兆の有無の判定に用いるエラー率増加量のしきい値は、コマンドの種類毎に変更される。つまり、このエラー率増加量のしきい値は各コマンドによる処理の重要度やHDD116の利用形態等に基づき適宜設定できる。例えば、リード及びライトのコマンドは他のコマンドよりも重要度が高く、微小なエラー率の上昇であっても故障予兆があると判定したい場合には、リード及びライトのコマンドに対するエラー率増加量のしきい値を低く設定する。このように、コマンドの種類毎に故障予兆の有無の判定に用いるエラー率増加量のしきい値を設定することで、故障予兆の有無を精度良く判定することができる。
Note that the threshold of the error rate increase amount used for determining whether there is a failure sign is changed for each type of command. That is, the threshold value of the error rate increase amount can be appropriately set based on the importance of processing by each command, the usage form of the
なお、故障予兆ユーティリティプログラム205によって故障予兆判定を実行するタイミングは、前回、故障予兆ユーティリティプログラム205が実行されてから一定期間が経過した時やログエリア301に一定量のログ情報が蓄積された時、また、ユーザによる指示があった時等、適宜設定することができる。
Note that the timing of executing the failure sign determination by the failure
図5は、フィルタドライバプログラム302による処理の手順を示したフローチャートである。
FIG. 5 is a flowchart showing a processing procedure by the
上述したように、アプリケーションプログラム202又はOS201によりHDD116に対するアクセスが要求された場合、OS201からHDDドライバプログラム203に対してHDDアクセス要求が発行される。HDDドライバプログラム203は、OS201からのHDDアクセス要求に対応するコマンドをHDD116へ発行する。
As described above, when access to the
フィルタドライバプログラム302は、まず、OS201からのHDDアクセス要求をHDDドライバプログラム203が受信したかどうかを判定する(ステップS101)。HDDドライバプログラム203がHDDアクセス要求を受信した場合(ステップS101のYES)、フィルタドライバプログラム302は、HDDドライバプログラム203によるコマンドの発行を監視する(ステップS102)。HDDドライバプログラム203は、OS201からのHDDアクセス要求に対応するコマンドをHDD116へ発行する。フィルタドライバプログラム302は、発行されたコマンドのコマンドIDを保持する。なお、このコマンドは、実際にはサウスブリッジ115に設けられたATAコントローラ123を介して、HDD116へ送信される。
The
次に、フィルタドライバプログラム302は、HDDドライバプログラム203が発行されたコマンドに対するレスポンスをHDD116から受信したかどうかを判定する(ステップS103)。HDDドライバプログラム203がHDD116からのレスポンスを受信した場合(ステップS103のYES)、フィルタドライバプログラム302は、発行されたコマンドに基づくコマンド識別情報(コマンドID)と、受信されたレスポンスに基づくレスポンス識別情報(レスポンスID)とをログユーティリティプログラム204へ通知する(ステップS104)。ここで、コマンドIDは、発行されたコマンドの種類を識別可能な情報である。また、レスポンスIDは、HDD116において発行されたコマンドに対応する処理が成功したか失敗したかを示す情報である。なお、このレスポンスIDは、HDD116における処理が失敗した場合のエラー内容を示すエラーIDであってもよい。
Next, the
さらに、フィルタドライバプログラム302は、HDDドライバプログラム203がHDD116へコマンドを発行してから、HDD116がHDDドライバプログラム203へレスポンスを返すまでの経過時間を示すレスポンス時間を、ログユーティリティプログラム204へ通知することもできる。
Further, the
以上の処理により、フィルタドライバプログラム302は、各種アプリケーションが実行される通常処理期間中におけるHDDドライバプログラム203とHDD116との間の入出力を監視し、HDD116の故障予兆の判定に必要な情報を抽出して、ログユーティリティプログラム204へ通知することができる。
Through the above processing, the
図6はログユーティリティプログラム204による処理の手順を示したものである。図6に示す手順は、ログユーティリティプログラム204が、フィルタドライバプログラム302から通知されるデータを集計し、まとめてログエリア301への書き込みを行う場合の手順である。
FIG. 6 shows a processing procedure by the
まず、ログユーティリティプログラム204は、フィルタドライバプログラム302から通知されるコマンドIDとレスポンスIDとを受信したかどうかを判定する(ステップS201)。コマンドIDとレスポンスIDとを受信した場合(ステップS201のYES)、ログユーティリティプログラム204は、これらコマンドIDとレスポンスIDとに対応するデータのカウントを1だけ増やす(ステップS202)。つまり、ログユーティリティプログラム204は、コマンドID(コマンドの種類)毎に、レスポンスIDに基づき、コマンドに対する処理がHDD116において成功した回数または失敗した回数のいずれかを1だけ増やす。また、上述したように、レスポンスIDは処理に失敗した場合のエラー内容を示すエラーIDであってもよく、この場合、ログユーティリティプログラム204は、エラーの種類毎に失敗回数をカウントする。
First, the
このような集計処理により、コマンドID(コマンドの種類)毎に成功回数および失敗回数を示すログデータが生成される。 By such a counting process, log data indicating the number of successes and the number of failures is generated for each command ID (command type).
次に、ログユーティリティプログラム204は、ログデータをログエリア301へ書き込むタイミングであるかどうかを判定する(ステップS203)。ログエリア301へ書き込みを行うタイミングは、前回のログデータの書き込みから一定期間が経過したときやカウントに用いた受信データが一定量に達したとき等、HDD116の利用形態に応じて適宜設定可能である。
Next, the
ログデータをログエリア301へ書き込むタイミングである場合(ステップS203のYES)、ログユーティリティプログラム204は、ログデータのヘッダに日付を付与し、そのログデータをログエリア301へ書き込む(ステップS204)。ログデータをログエリア301へ書き込むタイミングでない場合(ステップS203のNO)、ログユーティリティプログラム204は、ステップS201からステップS202による処理を再度実行する。
When it is time to write log data to the log area 301 (YES in step S203), the
図7のフローチャートは、ログユーティリティプログラム204による処理の別の手順を示している。図7に示す手順では、ログユーティリティプログラム204は、フィルタドライバプログラム302からデータが通知される度に、逐次ログエリア301の更新を行う。
The flowchart in FIG. 7 shows another procedure of processing by the
まず、ログユーティリティプログラム204は、フィルタドライバプログラム302から通知されるコマンドIDとレスポンスIDとを受信したかどうかを判定する(ステップS301)。コマンドIDとレスポンスIDとを受信した場合(ステップS301のYES)、ログユーティリティプログラム204は、これらコマンドID及びレスポンスID、並びに日付に基づいて、ログエリア301を更新する(ステップS302〜S305)。
First, the
ログユーティリティプログラム204は、ログエリア301に格納されたログデータから現在の日付に対応するログデータを抽出する(ステップS302)。次に、ログユーティリティプログラム204は、抽出したログデータから、さらに受信したコマンドIDに対応するログデータを抽出する(ステップS303)。ログユーティリティプログラム204は、抽出したログデータから、さらに受信したレスポンスIDに対応するログデータを抽出する(ステップS304)。そして、ログユーティリティプログラム204は、抽出したログデータが示す成功回数又は失敗回数のカウントを1だけ増やす(ステップS305)。
The
以上の処理により、コマンドの種類毎に、HDD116におけるコマンドに対応する処理が成功した回数及び失敗した回数がカウントされ、ログエリア301に格納されるログ情報が更新される。また、上述したように、レスポンスIDは処理に失敗した場合のエラー内容を示すエラーIDであってもよく、この場合、ログユーティリティプログラム204は、エラーの種類毎に失敗回数をカウントすることになる。
With the above processing, the number of times the processing corresponding to the command in the
また、フィルタドライバプログラム302からレスポンス時間が通知された場合、ログユーティリティプログラム204は、コマンドの種類毎にレスポンス時間の情報をログエリア301へ格納する。
When the response time is notified from the
次に、図8に示すフローチャートを参照して、故障予兆ユーティリティプログラム205によって実行される故障予兆判定処理の手順を説明する。
Next, the procedure of the failure sign determination process executed by the failure
故障予兆判定処理は、例えば、一週間に一回の割合で実行される。まず、故障予兆ユーティリティプログラム205は、HDD116の故障予兆の有無を検出するタイミングであるかどうかを判定する(ステップS401)。HDD116の故障予兆の有無を検出するタイミングである場合(ステップS401のYES)、故障予兆ユーティリティプログラム205は、ログエリア301から判定に必要なログデータを読み出す(ステップS402)。ここでは、判定に必要なログデータとして、直近の所定の期間のログデータ、直近の所定の期間より一つ前の所定の期間のログデータ、及び直近の所定の期間より二つ前の所定の期間のログデータを使用する。具体的には、現時点から過去3ヶ月分のログデータを使用し得る。この場合、最近1ヶ月のログデータが直近の所定の期間のログデータとして使用される。また前月1ヶ月のログデータが、直近の所定の期間より一つ前の所定の期間のログデータとして使用される。さらに、前々月1ヶ月のログデータが、直近の所定の期間より二つ前の所定の期間のログデータとして使用される。次に、故障予兆ユーティリティプログラム205は、読み出した過去3ヶ月分のログデータに基づき、最近1ヶ月、前月1ヶ月、前々月1ヶ月の各々の期間についてエラー率を算出する。エラー率はコマンドID毎に算出される。
The failure sign determination process is executed once a week, for example. First, the failure
すなわち、故障予兆ユーティリティプログラム205は、読み出したログデータのうちコマンドID1のレスポンス内容に基づき、各所定の期間におけるエラー率を算出する(ステップS403)。エラー率は、ログエリア301から読み出した各所定の期間における成功回数と失敗回数とを用い、上述の通り、次式により算出される。
That is, the failure
エラー率X=失敗回数/(成功回数+失敗回数)
これにより、故障予兆ユーティリティプログラム205は、コマンドID1について、直近の所定の期間(最近1ヶ月)のエラー率X_new、直近の所定の期間より一つ前の所定の期間(前月1ヶ月)のエラー率X_last1、及び直近の所定の期間より二つ前の所定の期間(前々月1ヶ月)のエラー率X_last2を算出する。
Error rate X = number of failures / (number of successes + number of failures)
As a result, the failure
次に、故障予兆ユーティリティプログラム205は、コマンドID1に対するエラー率増加量のしきい値thA1[%]を設定する(ステップS404)。そして、故障予兆ユーティリティプログラム205は、算出したエラー率と設定したエラー率増加量のしきい値thA1[%]とに基づき、HDD116に故障予兆があるかどうかを判定する(ステップS405、S406)。
Next, the failure
直近の所定の期間より一つ前の所定の期間のエラー率X_last1が、直近の所定の期間より二つ前の所定の期間のエラー率X_last2よりしきい値thA1[%]以上大きく(ステップS405のYES)、且つ、直近の所定の期間のエラー率X_newが、直近の所定の期間より一つ前の所定の期間のエラー率X_last1よりしきい値thA1[%]以上大きい場合(ステップS406のYES)、故障予兆ユーティリティプログラム205は、HDD116に故障予兆があると判定し、故障予兆に対処するための処理を行う(ステップS407)。すなわち、故障予兆ユーティリティプログラム205は、
X_last1 > (X_last2 + thA1)
であり、且つ、
X_new > (X_last1 + thA1)
である場合に、HDD116に故障予兆があると判定する。
The error rate X_last1 in a predetermined period immediately before the most recent predetermined period is larger than the error rate X_last2 in the predetermined period two immediately before the most recent predetermined period by a threshold th A1 [%] or more (step S405). YES), and the error rate X_new in the most recent predetermined period is greater than the error rate X_last1 in the predetermined period immediately before the most recent predetermined period by a threshold th A1 [%] (in step S406) YES), the failure
X_last1> (X_last2 + th A1 )
And
X_new> (X_last1 + th A1 )
If it is, it is determined that the
HDD116に故障予兆がある場合の対処としては、HDD116に故障予兆がある旨の情報をLCD16等に出力することでユーザに対する通知を行い、詳細な故障検出処理を実行するための故障チェックツールの実行をユーザに促すこと等が挙げられる。
As a countermeasure when there is a failure sign in the
それ以外の場合(ステップS405のNO及びステップS406のNO)、故障予兆ユーティリティプログラム205は、HDD116に故障予兆がないと判定し、処理を終了する。
In other cases (NO in step S405 and NO in step S406), the failure
以上説明したコマンドID1に対するステップS403からステップS406までの処理と同様の処理を、コマンドID2からコマンドIDNまでの各コマンドについて行い(ステップS408〜S415)、コマンドの種類毎に故障予兆の有無を判定する。なお、Nはログエリア301に格納されたコマンドの種類の数を示す。さらに、いずれかのコマンドの種類における故障予兆の有無の判定によって、HDD116に故障予兆があると判定された場合には、コマンドID1の場合と同様に、ステップS407の処理によって対処する。なお、エラー率増加量のしきい値はコマンドID毎に変更される。つまり、故障予兆ユーティリティプログラム205は、コマンドID毎に異なるしきい値を用いて、コマンドID毎に故障予兆の有無を判定する。例えば、データリード/ライトコマンドに対しては比較的小さな値のしきい値を設定し、ステータスリード/ライトコマンドに対してはデータリード/ライトコマンドよりも大きな値のしきい値を設定してもよい。図9は、故障予兆ユーティリティプログラム205による処理の別の手順を示すフローチャートである。図9のフローチャートに基づく処理では、故障予兆ユーティリティプログラム205は、エラー率に加えて、平均レスポンス時間も考慮して、HDD116の故障予兆の有無を判定する。
Processing similar to the processing from step S403 to step S406 for command ID 1 described above is performed for each command from command ID 2 to command ID N (steps S408 to S415), and whether there is a failure sign for each type of command. Determine. N indicates the number of types of commands stored in the
まず、故障予兆ユーティリティプログラム205は、HDD116の故障予兆の有無を検出するタイミングであるかどうかを判定する(ステップS501)。HDD116の故障予兆の有無を検出するタイミングである場合(ステップS501のYES)、故障予兆ユーティリティプログラム205は、ログエリア301から判定に必要なログデータを読み出す(ステップS502)。ここでは、判定に必要なログデータとして、直近の所定の期間、直近の所定の期間より一つ前の所定の期間、及び直近の所定の期間より二つ前の所定の期間におけるログデータを使用する。
First, the failure
次に、故障予兆ユーティリティプログラム205は、読み出したログデータのうちコマンドID1のレスポンス内容に基づき、各所定の期間におけるエラー率を算出する(ステップS503)。エラー率は、ログエリア301から読み出した各所定の期間における成功回数と失敗回数とを用い、上述の通り、次式により算出される。
Next, the failure
エラー率X=失敗回数/(成功回数+失敗回数)
これにより、故障予兆ユーティリティプログラム205は、コマンドID1について、直近の所定の期間のエラー率X_new、直近の所定の期間より一つ前の所定の期間のエラー率X_last1、及び直近の所定の期間より二つ前の所定の期間のエラー率X_last2を算出する。
Error rate X = number of failures / (number of successes + number of failures)
As a result, the failure
次に、故障予兆ユーティリティプログラム205は、コマンドID1のレスポンス内容に基づき、各所定の期間内のコマンドID1のレスポンス時間を平均して、平均レスポンス時間Trを算出する(ステップS504)。
Then, the failure
次に、故障予兆ユーティリティプログラム205は、コマンドID1に対するエラー率増加量のしきい値thA1[%]を設定する(ステップS505)。また、故障予兆ユーティリティプログラム205は、コマンドID1に対する平均レスポンス時間のしきい値thB1を設定する(ステップS506)。
Next, the failure
故障予兆ユーティリティプログラム205は、算出したエラー率及び平均レスポンス時間、並びに設定したエラー率増加量のしきい値thA1[%]及び平均レスポンス時間のしきい値thB1に基づき、HDD116に故障予兆があるかどうかを判定する(ステップS507〜S509)。
The failure
直近の所定の期間より一つ前の所定の期間のエラー率X_last1が、直近の所定の期間より二つ前の所定の期間のエラー率X_last2よりしきい値thA1[%]以上大きく(ステップS507のYES)、且つ、直近の所定の期間のエラー率X_newが、直近の所定の期間より一つ前の所定の期間のエラー率X_last1よりしきい値thA1[%]以上大きく(ステップS508のYES)、且つ、平均レスポンス時間Trがしきい値thB1より大きい場合(ステップS509のYES)、故障予兆ユーティリティプログラム205は、HDD116に故障予兆があると判定し、故障予兆に対処するための処理を行う(ステップS510)。すなわち、故障予兆ユーティリティプログラム205は、
X_last1 > (X_last2 + thA1)
であり、且つ、
X_new > (X_last1 + thA1)
であり、且つ、
Tr > thB1
である場合に、HDD116に故障予兆があると判定する。
The error rate X_last1 in a predetermined period immediately before the most recent predetermined period is larger than the error rate X_last2 in the predetermined period two immediately before the most recent predetermined period by a threshold th A1 [%] or more (step S507). And the error rate X_new in the most recent predetermined period is larger than the error rate X_last1 in the predetermined period immediately before the most recent predetermined period by a threshold th A1 [%] or more (YES in step S508) ) And the average response time Tr is greater than the threshold th B1 (YES in step S509), the failure
X_last1> (X_last2 + th A1 )
And
X_new> (X_last1 + th A1 )
And
T r > th B1
If it is, it is determined that the
HDD116に故障予兆がある場合の対処としては、HDD116に故障予兆がある旨の情報をLCD16等に出力することでユーザに対する通知を行い、詳細な故障検出処理を実行するための故障チェックツールの実行をユーザに促すこと等が挙げられる。
As a countermeasure when there is a failure sign in the
それ以外の場合(ステップS507のNO、S508のNO、及びS509のNO)、故障予兆ユーティリティプログラム205は、HDD116に故障予兆がないと判定し、処理を終了する。
In other cases (NO in step S507, NO in S508, and NO in S509), the failure
以上説明したコマンドID1に対するステップS503からステップS509までの処理と同様の処理を、コマンドID2からコマンドIDNまでの各コマンドについて行い(ステップS511〜S524)、コマンドの種類毎に故障予兆の有無を判定する。なお、Nはログエリア301に格納されたコマンドの種類の数を示す。さらに、いずれかのコマンドの種類における故障予兆の有無の判定によって、HDD116に故障予兆があると判定された場合には、コマンドID1の場合と同様に、ステップS510の処理によって対処する。
Processing similar to the processing from step S503 to step S509 for the command ID 1 described above is performed for each command from command ID 2 to command ID N (steps S511 to S524), and whether there is a failure sign for each type of command. Determine. N indicates the number of types of commands stored in the
なお、すべての種類のコマンドではなく、特定の1以上の種類のコマンドのみのログ情報を用いてHDD116の故障予兆の有無を判定してもよい。例えば、データのリードコマンド及びライトコマンドに関するログ情報が、ステータスのリードコマンド及びライトコマンドに関するログ情報よりも重要であるとする場合に、データのリードコマンド及びライトコマンドに関するログ情報のみからHDD116の故障予兆の有無を判定する。このような場合、故障予兆ユーティリティプログラム205は、ログエリア301から必要な種類のコマンドのログ情報のみを読み出す。
Note that the presence / absence of a failure sign of the
また、上述の故障予兆判定処理では、所定の期間毎の平均レスポンス時間を考慮してHDD116の故障予兆の有無を判定する手順を示したが、ログデータとして格納されたレスポンス時間の所定の期間毎の移動平均を算出し、この移動平均による平均レスポンス時間を考慮して、HDD116の故障予兆の有無を判定してもよい。
In the failure sign determination process described above, the procedure for determining the presence / absence of a failure sign of the
以上のように、本実施形態においては、通常のアプリケーションプログラムやオペレーティングシステムによるディスクドライブへのアクセスを監視し、長期的なログデータを蓄積して、ディスクドライブの稼動状態を示す履歴を保存することができる。また、本実施形態では、蓄積したログデータに基づいてディスクドライブの故障予兆の有無を判定することができる。したがって、専用の故障予兆検出プログラムによるディスクドライブへのアクセスではなく、通常のアプリケーションプログラム等によるディスクドライブへのアクセスを監視することで、ユーザの実使用環境に応じた故障予兆判定を実施することができる。アプリケーションプログラムからのHDDアクセス要求はオペレーティングシステムを介してHDDドライバに送られるので、フィルタドライバプログラムは、オペレーティングシステムからのHDDアクセス要求に応じてHDDドライバからHDDに発行されるコマンドを監視するだけで、通常のアプリケーションプログラムやオペレーティングシステムによるディスクドライブへのアクセスを監視することができる。 As described above, in this embodiment, access to a disk drive by a normal application program or operating system is monitored, long-term log data is accumulated, and a history indicating the operating state of the disk drive is stored. Can do. Further, in the present embodiment, it is possible to determine the presence or absence of a disk drive failure sign based on the accumulated log data. Therefore, it is possible to carry out failure sign determination according to the actual usage environment of the user by monitoring access to the disk drive by a normal application program or the like instead of accessing the disk drive by a dedicated failure sign detection program. it can. Since the HDD access request from the application program is sent to the HDD driver via the operating system, the filter driver program only monitors the command issued from the HDD driver to the HDD in response to the HDD access request from the operating system. Access to disk drives by normal application programs and operating systems can be monitored.
なお、本実施形態のフィルタドライバプログラムは、HDDドライバとディスクドライブとの間で入出力される情報を監視してログ情報を取得したが、オペレーティングシステムとHDDドライバとの間で入出力される情報を監視してログ情報を取得してもよい。また、本実施形態では、1つの情報処理装置においてHDDに関するログ情報を蓄積し、故障予兆の有無を判定する例について説明したが、複数の情報処理装置それぞれのログ情報を、可搬性の記憶メディアやネットワーク等を介してサーバシステムへアップロードし、このサーバシステムにおいて各情報処理装置のHDDの故障予兆の有無を判定してもよい。 The filter driver program of this embodiment monitors information input / output between the HDD driver and the disk drive and acquires log information. However, information input / output between the operating system and the HDD driver. The log information may be acquired by monitoring. Further, in the present embodiment, an example in which log information related to the HDD is accumulated in one information processing apparatus and whether or not there is a failure sign has been described, but the log information of each of the plurality of information processing apparatuses is stored in a portable storage medium. It may be uploaded to a server system via a network or the like, and in this server system, it is determined whether or not there is a failure sign of the HDD of each information processing apparatus.
また、HDDはSMART(Self-Monitoring Analysis and Reporting Technology)と称される自己診断機能を有する場合がある。自己診断機能によって得られる診断情報(S.M.A.R.T.情報)はHDDに格納される。HDDのS.M.A.R.T.情報は、HDDベンダ毎(場合によってはモデル毎)に記述内容が異なり、これに基づき故障予兆を検出するためにはベンダ毎に検出の方法または検出レベルを最適化する必要がある。本実施形態では、S.M.A.R.T.情報を利用しないため、HDDベンダやモデルに依存せずに、故障予兆の有無を判定することができる。つまり、蓄積したログ情報を用いて、エラー率やレスポンス時間の変化を検出し、HDDの故障予兆の有無を判定することで、HDDベンダやモデルの固有の違いを吸収することができる。なお、エラー率やレスポンス時間の変化に加えて、S.M.A.R.T.情報も用いて、HDDの故障予兆の有無を判定してもよい。 Further, the HDD may have a self-diagnosis function called SMART (Self-Monitoring Analysis and Reporting Technology). Diagnostic information (S.M.A.R.T. information) obtained by the self-diagnosis function is stored in the HDD. The S.M.A.R.T.information of the HDD has different description contents for each HDD vendor (in some cases, for each model), and in order to detect a failure sign based on this description, it is necessary to optimize the detection method or detection level for each vendor. In this embodiment, since S.M.A.R.T. information is not used, the presence / absence of a failure sign can be determined without depending on the HDD vendor or model. That is, by using the accumulated log information to detect a change in error rate or response time, and determining whether or not there is a HDD failure sign, it is possible to absorb differences inherent in HDD vendors and models. In addition to the change in error rate and response time, S.M.A.R.T. information may also be used to determine the presence or absence of a HDD failure sign.
また、本実施形態のログ蓄積処理及び故障予兆判定処理の手順は全てソフトウェアによって実行することができる。このため、ログ蓄積処理及び故障予兆判定処理の手順を実行するプログラムをコンピュータ読み取り可能な記憶媒体を通じて通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。 Further, all procedures of the log accumulation process and the failure sign determination process of the present embodiment can be executed by software. For this reason, the same effect as that of the present embodiment can be easily realized simply by installing and executing a program for executing the log accumulation process and the failure sign determination process on a normal computer through a computer-readable storage medium. Can do.
また本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。 Further, the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of components disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined.
116…HDD、201…OS、202…アプリケーションプログラム、203…HDDドライバプログラム、204…ログユーティリティプログラム、205…故障予兆ユーティリティプログラム、301…ログエリア、302…フィルタドライバプログラム。 116 ... HDD, 201 ... OS, 202 ... application program, 203 ... HDD driver program, 204 ... log utility program, 205 ... failure sign utility program, 301 ... log area, 302 ... filter driver program.
Claims (10)
前記コマンド識別情報および前記レスポンス識別情報を前記ディスクドライブのログ情報として蓄積するログ蓄積手段とを具備することを特徴とする情報処理装置。 Access that outputs command identification information indicating the type of command issued from the disk driver and response identification information indicating the result of processing for the command from the disk drive in response to an access request to the disk drive from the operating system Information output means;
An information processing apparatus comprising: log storage means for storing the command identification information and the response identification information as log information of the disk drive.
前記コマンド識別情報および前記レスポンス識別情報を前記ディスクドライブのログ情報として蓄積するログ蓄積ステップとを具備することを特徴とする故障予兆判定方法。 Access that outputs command identification information indicating the type of command issued from the disk driver and response identification information indicating the result of processing for the command from the disk drive in response to an access request to the disk drive from the operating system An information output step;
And a log accumulating step for accumulating the command identification information and the response identification information as log information of the disk drive.
前記コマンド識別情報および前記レスポンス識別情報を前記ディスクドライブのログ情報として蓄積するログ蓄積処理を実行する手順とをコンピュータに実行させるプログラム。 Access that outputs command identification information indicating the type of command issued from the disk driver and response identification information indicating the result of processing for the command from the disk drive in response to an access request to the disk drive from the operating system A procedure for executing the information output process;
A program for causing a computer to execute a log storage process for storing the command identification information and the response identification information as log information of the disk drive.
前記レスポンス識別情報に基づいて、前記コマンドに対する処理が成功した回数と失敗した回数とを前記コマンドの種類毎にカウントし、前記カウントした成功回数及び失敗回数を前記ログ情報として蓄積することを特徴とする請求項3記載のプログラム。 The log accumulation process includes:
Based on the response identification information, the number of successful and failed processes for the command is counted for each type of the command, and the counted success and failure counts are stored as the log information. The program according to claim 3.
前記ログ情報を所定の期間毎に集計し、前記集計した結果に基づき前記ディスクドライブの故障予兆の有無を判定する故障予兆判定処理をすることを特徴とする請求項4記載のプログラム。 The log accumulation process includes:
The program according to claim 4, wherein the log information is totaled for each predetermined period, and a failure sign determination process is performed to determine whether or not the disk drive has a failure sign based on the totaled result.
前記所定の期間毎に、前記失敗回数を前記成功回数と前記失敗回数との和で除した値をエラー率として算出し、直近の所定の期間のエラー率が、当該期間の一つ前の所定の期間のエラー率よりも第1のしきい値以上大きい場合に、前記ディスクドライブに故障予兆があると判定することを特徴とする請求項5記載のプログラム。 The failure sign determination process includes:
For each predetermined period, a value obtained by dividing the number of failures by the sum of the number of successes and the number of failures is calculated as an error rate, and the error rate for the most recent predetermined period is a predetermined value immediately before the period. 6. The program according to claim 5, wherein the disk drive is judged to have a failure sign when the error rate is greater than a first threshold value by an error rate during the period of time.
前記所定の期間毎に、前記失敗回数を前記成功回数と前記失敗回数との和で除した値をエラー率として算出し、直近の所定の期間のエラー率が、前記直近の所定の期間より一つ前の所定の期間のエラー率よりも第1のしきい値以上大きく、且つ、前記直近の所定の期間より一つ前の所定の期間のエラー率が、前記直近の所定の期間より二つ前の所定の期間のエラー率よりも第1のしきい値以上大きい場合に、前記ディスクドライブに故障予兆があると判定することを特徴とする請求項5記載のプログラム。 The failure sign determination process includes:
For each predetermined period, a value obtained by dividing the number of failures by the sum of the number of successes and the number of failures is calculated as an error rate, and the error rate in the most recent predetermined period is equal to that in the most recent predetermined period. The error rate of the predetermined period that is greater than the error rate of the previous predetermined period by at least the first threshold and that is immediately before the most recent predetermined period is two errors than the most recent predetermined period. 6. The program according to claim 5, wherein the disk drive is judged to have a failure sign when the error rate is greater than a first threshold value by a predetermined threshold period or more.
前記コマンド識別情報毎に前記第1のしきい値を変更して、前記ディスクドライブの故障予兆の有無を判定することを特徴とする請求項6又は請求項7記載のプログラム。 The failure sign determination process includes:
8. The program according to claim 6, wherein the first threshold value is changed for each command identification information to determine whether or not there is a failure sign of the disk drive.
前記ディスクドライブに対して前記コマンドが発行されてから、前記ディスクドライブから前記コマンドに対するレスポンスが出力されるまでの経過時間を示すレスポンス時間を出力し、
前記ログ蓄積処理は、
前記コマンドの種類毎に、前記レスポンス時間を前記ログ情報として蓄積することを特徴とする請求項3記載のプログラム。 The access information output process includes:
A response time indicating an elapsed time from when the command is issued to the disk drive until a response to the command is output from the disk drive;
The log accumulation process includes:
4. The program according to claim 3, wherein the response time is accumulated as the log information for each type of the command.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010090927A JP2010157266A (en) | 2010-04-09 | 2010-04-09 | Information processing apparatus, failure sign determination method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010090927A JP2010157266A (en) | 2010-04-09 | 2010-04-09 | Information processing apparatus, failure sign determination method, and program |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008305127A Division JP4496265B2 (en) | 2008-11-28 | 2008-11-28 | Information processing apparatus and failure sign determination method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010157266A true JP2010157266A (en) | 2010-07-15 |
Family
ID=42575086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010090927A Pending JP2010157266A (en) | 2010-04-09 | 2010-04-09 | Information processing apparatus, failure sign determination method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010157266A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019054434A1 (en) * | 2017-09-14 | 2019-03-21 | Necプラットフォームズ株式会社 | Failure sign detection device, failure sign detection method, and recording medium in which failure sign detection program is stored |
JP2020123287A (en) * | 2019-01-31 | 2020-08-13 | 株式会社リコー | Information processing apparatus, test method, and test program |
JP2021018561A (en) * | 2019-07-19 | 2021-02-15 | セイコーエプソン株式会社 | Method for controlling information processing apparatus, program, and communication system |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03208140A (en) * | 1990-01-11 | 1991-09-11 | Oki Electric Ind Co Ltd | Input/output log recording system |
JP2001273703A (en) * | 2000-03-29 | 2001-10-05 | Matsushita Electric Ind Co Ltd | Verifying device and verifying method based on state transition |
JP2004146036A (en) * | 2002-10-03 | 2004-05-20 | Internatl Business Mach Corp <Ibm> | Protective mechanism for magnetic disk, computer system provided therewith, method for protecting magnetic disk and program |
JP2006172320A (en) * | 2004-12-17 | 2006-06-29 | Fujitsu Ltd | Data duplication controller |
JP2007012139A (en) * | 2005-06-29 | 2007-01-18 | Hitachi Global Storage Technologies Netherlands Bv | Data writing method and disk device |
JP2008033911A (en) * | 2006-07-27 | 2008-02-14 | Hitachi Ltd | Method and device for migrating data between storage volumes |
JP2008257411A (en) * | 2007-04-04 | 2008-10-23 | Hitachi Ltd | Disk control system |
-
2010
- 2010-04-09 JP JP2010090927A patent/JP2010157266A/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03208140A (en) * | 1990-01-11 | 1991-09-11 | Oki Electric Ind Co Ltd | Input/output log recording system |
JP2001273703A (en) * | 2000-03-29 | 2001-10-05 | Matsushita Electric Ind Co Ltd | Verifying device and verifying method based on state transition |
JP2004146036A (en) * | 2002-10-03 | 2004-05-20 | Internatl Business Mach Corp <Ibm> | Protective mechanism for magnetic disk, computer system provided therewith, method for protecting magnetic disk and program |
JP2006172320A (en) * | 2004-12-17 | 2006-06-29 | Fujitsu Ltd | Data duplication controller |
JP2007012139A (en) * | 2005-06-29 | 2007-01-18 | Hitachi Global Storage Technologies Netherlands Bv | Data writing method and disk device |
JP2008033911A (en) * | 2006-07-27 | 2008-02-14 | Hitachi Ltd | Method and device for migrating data between storage volumes |
JP2008257411A (en) * | 2007-04-04 | 2008-10-23 | Hitachi Ltd | Disk control system |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019054434A1 (en) * | 2017-09-14 | 2019-03-21 | Necプラットフォームズ株式会社 | Failure sign detection device, failure sign detection method, and recording medium in which failure sign detection program is stored |
JP2019053486A (en) * | 2017-09-14 | 2019-04-04 | Necプラットフォームズ株式会社 | Malfunction sign detecting device, malfunction sign detecting method, and, malfunction sign detecting program |
JP2020123287A (en) * | 2019-01-31 | 2020-08-13 | 株式会社リコー | Information processing apparatus, test method, and test program |
JP7238439B2 (en) | 2019-01-31 | 2023-03-14 | 株式会社リコー | Information processing device, test method, and test program |
JP2021018561A (en) * | 2019-07-19 | 2021-02-15 | セイコーエプソン株式会社 | Method for controlling information processing apparatus, program, and communication system |
JP7306127B2 (en) | 2019-07-19 | 2023-07-11 | セイコーエプソン株式会社 | Information processing device control method, program, and communication system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4496265B2 (en) | Information processing apparatus and failure sign determination method | |
JP4487978B2 (en) | Semiconductor memory device management system, program, and semiconductor memory device management method | |
JP5288899B2 (en) | Storage apparatus for estimating power consumption and power estimation method for storage apparatus | |
US9830107B2 (en) | Drive wear-out prediction based on workload and risk tolerance | |
US9354814B2 (en) | Host read command return reordering based on time estimation of flash read command completion | |
US10067840B1 (en) | Life expectancy data migration | |
US8433942B2 (en) | Storage apparatus and power consumption estimation method | |
CN103514958B (en) | A kind of EMMC chip life detecting method | |
US9570191B2 (en) | Controlling swap rate based on the remaining life of a memory | |
CN103176748A (en) | Environmental-based device operation | |
US11755447B2 (en) | Predictive performance indicator for storage devices | |
US11237893B2 (en) | Use of error correction-based metric for identifying poorly performing data storage devices | |
JP2010061578A (en) | Program or system for use limit estimation analysis of semiconductor storage device | |
TWI570738B (en) | A primary memory module with a record of usage history and applications of the primary memory module to a computer system | |
JP2010157266A (en) | Information processing apparatus, failure sign determination method, and program | |
JP2008077794A (en) | Information processor and disk drive control method | |
US20190220193A1 (en) | Storage device for not allowing to write data based on end of life of a disk device | |
US8995077B1 (en) | Electronic device, method and storage medium | |
CN113179665B (en) | Using error correction based metrics to identify poor performing data storage devices | |
JP2010225241A (en) | Information processing apparatus and fault symptom determination method | |
CN114327288B (en) | Method and device for predicting use time of SSD (solid State disk) residual user, computer equipment and storage medium | |
JP5023222B2 (en) | Information processing apparatus and failure sign determination method | |
JP2013186619A (en) | Information processor, information processing method and program | |
JP2012185771A (en) | Information processor, defragmentation method, and defragmentation program | |
WO2019022633A1 (en) | Managing data within solid state drive storage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100409 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120306 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120501 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120612 |