(57)【要約】【課題】事象発生時に外部の時間に同期する時間を記録できるようにして、エラー発生やライフタイムなどの事象を管理する機能を向上させることにある。【解決手段】電源投入時に、ＣＰＵ１０は、ホストシステム３０から受信した時刻データをメモリ１１に記憶する。ＣＰＵ１０は、エラー発生時に、内部タイマ１０１により計測された時間と時刻データとを使用して、ホストシステム３０側の時間に同期する時間データを生成する。時間データは、エラー発生時点を示す年、月日、時刻を意味するタイムスタンプ情報である。【選択図】　　図１
2004030534.tif 000002
【特許請求の範囲】
【請求項１】
データを記録するためのディスク記録媒体と、
前記ディスク記録媒体に対してデータのリード／ライトを実行するためのリード／ライト手段と、
外部の時間に同期する時間データを生成するタイマ手段と、
所定の事象発生時に、当該事象内容を示す事象情報と当該事象発生時を示す前記時間データとを対応付けて記録する事象記録手段と
を具備したことを特徴とするディスク記憶装置。
【請求項２】
前記事象記録手段は、エラー発生時にエラー内容を示すエラー情報を前記時間データと共に記録することを特徴とする請求項１に記載のディスク記憶装置。
【請求項３】
前記タイマ手段は、外部装置から供給される時刻又は日時を示す時刻データを受信して記憶する手段と、
前記時刻データを基準として時間経過を計測して前記時間データを所定の間隔で更新する手段とを含むことを特徴とする請求項１に記載のディスク記憶装置。
【請求項４】
前記事象記録手段は、前記時間データを属性情報とする前記エラー情報を前記ディスク記録媒体上に蓄積することを特徴とする請求項１に記載のディスク記憶装置。
【請求項５】
予め設定されたエラー情報リードコマンドを外部装置から受信したときに、前記事象記録手段により記録された前記エラー情報及び前記時間データを読出して、前記外部装置に転送する手段を更に有することを特徴とする請求項１又は請求項３のいずれか１項に記載のディスク記憶装置。
【請求項６】
前記タイマ手段は、電源投入時に外部装置から供給される時刻又は日時を示す時刻データを受信して記憶する手段と、
前記時刻データの受信に応じて時間間隔の計測を開始し、前記時刻データを基準とした前記時間データを所定の間隔で更新する手段とを含むことを特徴とする請求項１に記載のディスク記憶装置。
【請求項７】
データを記録するためのディスク記録媒体と、
前記ディスク記録媒体に対してデータのリード／ライトを実行するためのリード／ライト手段と、
外部の時間に同期する時間データを生成するタイマ手段と、
前記リード／ライト手段により当該ディスク記録媒体上に構成されるデータセクタ毎にデータをリード／ライトするときに、当該各データセクタの所定の空き領域に前記時間データを記録する手段と
を具備したことを特徴とするディスク記憶装置。
【請求項８】
ディスク記憶装置に適用する事象管理方法であって、
電源投入時に時間計測を開始し、外部の時間に同期する時間データを所定間隔で生成するステップと、
前記ディスク記憶装置の動作中に発生したエラーを検知するステップと、
エラー発生時に、エラー内容を示すエラー情報と当該エラー発生時を示す前記時間データとを対応付けて記録するステップと
を有することを特徴とする事象管理方法。
【請求項９】
電源投入時に、外部装置から供給される時刻又は日時を示す時刻データを受信して記憶するステップを更に有し、
前記生成ステップは、前記時刻データを基準として時間経過を計測して前記時間データを所定の間隔で更新することを特徴とする請求項８に記載の事象管理方法。
【請求項１０】
予め設定されたリードコマンドを外部装置から受信したときに、前記記録ステップにより記録された前記エラー情報及び前記時間データを読出して、前記外部装置に転送するステップを更に有することを特徴とする請求項８又は請求項９のいずれか１項に記載の事象管理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般的にはディスクドライブの分野に関し、特に、時間情報を使用する事象管理技術に関する。
【０００２】
【従来の技術】
一般的に、ハードディスクドライブを代表とするディスク記憶装置（以下ディスクドライブと呼ぶ）では、リード／ライト動作などの動作中に発生した事象であるエラーを検知し、当該エラー情報を記録する機能が設けられている。
【０００３】
通常では、ディスクドライブでは、記録媒体であるディスク上に設けられたシステムエリアに、各種のエラー情報を含むエラーログ情報（エラーログファイル）が記録される。システムエリアは、例えばディスク上の最外周側の数トラック分に相当する記録領域であり、通常のユーザデータの記録領域とは区別されている。
【０００４】
更に、ディスクドライブは、内部タイマにより電源投入時から電源遮断までのいわゆる通電時間を測定し、当該通電時間を積算した積算時間をディスク上に記録している。エラー発生時には、エラー内容を示すエラー情報と共に、当該通電時間がタイムスタンプ情報として記録される。
【０００５】
【発明が解決しようとする課題】
ディスクドライブでは、エラー発生時には、エラー内容を示すエラー情報と共に、積算値である通電時間がタイムスタンプ情報として記録される。従って、ホストシステム（パーソナルコンピュータなど）は、必要に応じてドライブからエラー情報と通電時間をリードすることにより、エラー内容を認識することが可能である。
【０００６】
しかしながら、ホストシステムでは、ディスクドライブの通電時間という相対時間でしかエラーの発生タイミングを認識することができない。換言すれば、ホストシステムは、内部時間（年、月日、時刻）に関連して、ディスクドライブに発生するエラーなどの事象発生を認識できない状況である。
【０００７】
そこで、本発明の目的は、事象発生時に、外部の時間に同期する時間を記録できるようにして、エラー発生などの事象を管理する機能を向上させて、信頼性の高いディスク記憶装置を提供することにある。
【０００８】
【課題を解決するための手段】
本発明の観点は、例えばホストシステムである外部の時間に同期する時間データを生成するタイマ手段を有し、エラー発生等の事象を当該時間データと共に記録する機能を備えたディスク記憶装置に関する。ここで、時間データとは、ある事象の発生時点を示す年、月日、時刻を意味するタイムスタンプ情報である。
【０００９】
本発明の観点に従ったディスク記憶装置は、データを記録するためのディスク記録媒体と、ディスク記録媒体に対してデータのリード／ライトを実行するためのリード／ライト手段と、外部の時間に同期する時間データを生成するタイマ手段と、所定の事象発生時に、当該事象内容を示す事象情報と当該事象発生時を示す前記時間データとを対応付けて記録する事象記録手段とを備えたものである。
【００１０】
このような構成により、例えばホストシステムから転送された時刻データを受信して、当該ホストシステムの動作時間に同期する時間データを生成する。この時間データを使用して、例えばエラー発生時には、エラー情報と共にエラー発生時を示す時間データをタイムスタンプ情報として記録できる。従って、ホストシステムは、エラー情報をディスクドライブから取得するときに、エラー発生時を示すタイムスタンプ情報も取得できる。これにより、ホストシステムは、ディスクドライブに対するデータのリード／ライト動作の実際の時間に関連したエラー発生などの事象を認識することが可能となる。
【００１１】
【発明の実施の形態】
以下図面を参照して、本発明の実施の形態を説明する。
【００１２】
（第１の実施形態）
図１は、本実施形態に関するディスクドライブ２０の要部を示すブロック図である。
【００１３】
ここでは、ディスクドライブ２０は、データ記録媒体として磁気ディスク１を使用するハードディスクドライブ（ＨＤＤ）を想定している。ディスク１は、スピンドルモータ（ＳＰＭ）３に固定されて、高速回転される。ディスク１上には、データを記録する領域として多数のトラックが構成されている。ここで、特にディスク１上の最外周側の数トラックは、通常のユーザデータ以外のデータを記録するためのシステムエリア１００として使用される。システムエリア１００には、後述する用に、エラーログ情報（エラーログファイル）や通電時間情報などの各種の管理情報が記録される。
【００１４】
本ドライブ２０は、ディスク１に対してデータのリード／ライト動作を行なうための磁気ヘッド２を有する。磁気ヘッド２は、ボイスコイルモータ（ＶＣＭ）５により駆動されるアクチュエータ４に搭載されて、ディスク１上の半径方向に移動制御される。ＶＣＭ５は、モータドライバＩＣ６に含まれるＶＣＭドライバ６０により駆動電流が供給される。
【００１５】
モータドライバＩＣ６は、ＶＣＭドライバ６０と共に、ＳＰＭ３を駆動するためのＳＰＭドライバ６１を含む。ＣＰＵ１０は、モータドライバＩＣ６を介して、ＳＰＭ３及びＶＣＭ５を制御する。
【００１６】
磁気ヘッド２は、リード動作を実行するためのリードヘッドと、ライト動作を実行するライトヘッドとがスライダ上に実装された構造である。アクチュエータ４は、ＣＰＵ１０をメイン要素とするサーボシステムにより駆動制御されて、磁気ヘッド２をディスク１上の目標位置（目標トラック）に位置決めする。
【００１７】
このようなヘッド・ディスクアセンブリ以外に、ディスクドライブ２０は、プリアンプ回路７と、Ｒ／Ｗチャネル８と、ディスクコントローラ（ＨＤＣ）９と、ＣＰＵ１０と、メモリ１１とを有する回路系を備えている。
【００１８】
プリアンプ回路７は、リードヘッドから出力されるリード信号を増幅するリードアンプ及びライトアンプを有する。ライトアンプは、Ｒ／Ｗチャネル８から出力されるライトデータ信号をライト電流信号に変換して、ライトヘッドに送出する。Ｒ／Ｗチャネル８は、リード／ライトデータ信号（サーボデータ信号を含む）を処理する信号処理用ＩＣである。
【００１９】
ＣＰＵ１０は、ドライブのメイン制御装置であり、サーボシステムの制御動作、通常のリード／ライト動作制御、及び同実施形態に関係するエラー管理動作を制御を実行する。メモリ１１は、ＲＡＭ以外に、不揮発性メモリであるフラッシュメモリ（ＥＥＰＲＯＭ）及びＲＯＭなどを含み、ＣＰＵ１０の制御に必要な各種データ及びプログラムを保存する。
【００２０】
ＣＰＵ１０は、時間間隔を計測する内部タイマ１０１を有する。内部タイマ１０１は、後述するように、ホストシステム３０から送信される時刻データ１１０に同期して起動するフリーランタイマである。ＣＰＵ１０は、内部タイマ１０１から出力される計測時間及び時刻データ１１０を使用して、年、月日、時刻を示す時間データを所定の間隔で更新しながら生成する。
【００２１】
ＨＤＣ９は、ドライブ２０とホストシステム３０（例えばパーソナルコンピュータやディジタル機器）とのインターフェース機能を有する。ＨＤＣ９は、ホストシステム３０からのコマンドを保持するレジスタや、エラー情報を保持するレジスタ等の各種のレジスタ群９０を有する。ＣＰＵ１０は、当該レジスタ群９０をアクセスし、データのリード／ライトを実行することができる。
【００２２】
（時間データの生成及びエラー処理）
以下図１以外に、図２から図４を参照して第１の実施形態の動作を説明する。
【００２３】
まず、図２（Ａ）に示すように、本ディスクドライブ２０のＨＤＣ９は、電源投入時に、ホストシステム３０から送信される時刻データ１１０を受信する（ステップＳ１）。ＣＰＵ１０は、ＨＤＣ９が受信した時刻データ１１０をメモリ１１に含まれるＲＡＭの所定領域に記憶する（ステップＳ２）。即ち、ＣＰＵ１０は、ホストシステム３０の時間に同期する時刻データ１１０をメモリ１１に記憶する。
【００２４】
ＣＰＵ１０は、時刻データ１１０の日時（年、月日、時刻を含む）を基準時点として内部タイマ１０１をスタートさせる（ステップＳ３）。
【００２５】
ここで、ホストシステム３０は、電源投入時に、例えば時刻通知コマンドのような特定コマンドを使用して、ドライブ２０に対してホストシステム３０の内部で生成した時間データを転送する。具体的には、ホストシステム３０は、ＨＤＣ９のレジスタ群９０の中で、例えばヘッドレジスタ（ヘッド番号を保持するレジスタ）、セクタ番号レジスタ、セクタカウントレジスタ、シリンダレジスタなどの各レジスタに、年、月日及び時刻（時、分、秒）の各データを設定する。
【００２６】
ディスクドライブ２０は、ホストシステム３０から受信した時刻通知コマンドに応じて、現在時間（ドライブ２０の基準時間）として例えば３月１４日１６時００分００秒を認識する。内部タイマ１０１は、当該基準時間から時間間隔の計測を開始する。
【００２７】
次に、図２（Ｂ）に示すように、ホストシステム３０からリード／ライトコマンドが発行されると、ドライブ２０はリード／ライト動作を実行する。ここで、例えばリードエラーのようなエラーが発生する場合を想定する（ステップＳ４のＹＥＳ）。
【００２８】
ＣＰＵ１０は、内部タイマ１０１から出力される経過時間（例えば３６６２秒とする）を、ＲＡＭに記憶した時刻データ１１０に加算して、エラー発生時刻を示すタイムスタンプ情報を算出する（ステップＳ５）。具体的には、ＣＰＵ１０は、内部タイマ１０１から得られる３６６２秒を、時刻データ１１０（３月１４日１６時００分００秒）に加算して、３月１４日１７時０１分０２秒を示すタイムスタンプ情報を算出する（なお、便宜的に年を省略する）。
【００２９】
ＣＰＵ１０は、発生したエラーの内容を示すエラー情報（個々ではリードエラー）を、エラー発生時刻を示すタイムスタンプ情報を属性情報としてディスク１上のシステムエリア１００に記録する（ステップＳ６）。
【００３０】
ここで、システムエリア１００には、例えば図３に示すように、エラー内容を示す情報３００と、当該タイムスタンプ情報３０１とを対応付けられたエラー情報が記録されている。通常では、システムエリア１００には、複数のエラー情報がエラーログ情報（エラーログファイル）として保存されている。
【００３１】
ホストシステム３０は、エラーログリード（ＲＥＬ）コマンドと呼ぶ特定コマンドを発行することにより、ドライブ２０のシステムエリア１００からエラーログ情報を読出すことができる。以下、図４のフローチャートを参照して具体的に説明する。
【００３２】
ディスクドライブ２０のＨＤＣ９がホストシステム３０からＲＥＬコマンドを受信すると、ＣＰＵ１０は、エラーログ情報のリード動作を開始する（ステップＳ１０）。
【００３３】
ＣＰＵ１０は、アクチュエータ４を駆動制御して、磁気ヘッド２をディスク１上のシステムエリア１００に位置決め制御して、リードアクセスを実行させる（ステップＳ１１）。即ち、Ｒ／Ｗチャネル８は、磁気ヘッド２によりシステムエリア１００から読出されたエラーログ情報を再生して、ＨＤＣ９に出力する（ステップＳ１２）。ＨＤＣ９は、Ｒ／Ｗチャネル８から磁気ヘッド２により読出されたエラーログ情報を受け取ると、ホストシステム３０に転送する処理を実行する（ステップＳ１３）。
【００３４】
以上のようにして、ホストシステム３０は、ディスクドライブ２０から任意にエラーログ情報を取得して、ドライブ２０のエラー発生に伴なう各種の処理を実行することができる。この場合、エラーログ情報には、各エラー情報毎に、ホストシステム３０の内部時間に同期する時間データが付加されている。従って、ホストシステム３０は、ドライブ２０の相対的時間ではなく、エラー発生時刻を示すタイムスタンプ情報を取得できるため、リード／ライト動作の実際の時間に関連したエラー発生を認識できる。
【００３５】
なお、同実施形態では、ディスクドライブ２０でのエラー発生を具体例として述べたが、これ以外のドライブ２０の事象管理にも適用できる。即ち、ディスクドライブ２０は、ホストシステム３０の時間に同期したタイムスタンプ情報を生成し、ある事象の発生時に関連するタイムスタンプ情報を記録する。従って、ホストシステム３０は、エラー発生以外の事象内容を取得する場合でも、その事情発生時刻を常に認識することができる。
【００３６】
（変形例）
図５は第１の実施形態に関係する変形例を示す。
【００３７】
本変形例は、ＣＰＵ１０が算出したタイムスタンプ情報（ＴＳ）を、前述のシステムエリア１００だけでなく、ディスク１上に構成される各データセクタに記録する方式である。
【００３８】
各データセクタは、ディスク１上に構成されるトラック（シリンダ）を分割したときのユーザデータエリアを意味する。各データセクタは、大別してユーザデータが記録されるエリア５００と、ＩＤエリア（ＩＤ情報５０２が記録されている）５０１とからなる。実際には、ＩＤエリア５０１には、ＩＤ情報５０２のエリアと、ユーザデータエリア５００との間に空き領域５０３が存在する。
【００３９】
そこで、本変形例では、例えばライト動作時に、ＣＰＵ１０はデータを記録したデータセクタ毎に、その書込み時刻を示すタイムスタンプ情報（ＴＳ）を空き領域５０３に記録する。
【００４０】
このような方式であれば、リード動作時に、ＣＰＵ１０はユーザデータと共に、当該タイムスタンプ情報（ＴＳ）を空き領域５０３から読出して、ホストシステム３０に転送することが可能となる。これにより、ホストシステム３０は、データセクタ単位のユーザデータを記録した時の時刻を認識することができる。
【００４１】
（第２の実施形態）
図６は、第２の実施形態に関するフローチャートである。なお、同実施形態において、図１に示すような構成のディスクドライブ２０を想定する。
【００４２】
まず、ディスクドライブ２０は、電源投入時から電源遮断までの時間である通電時間を計測し、当該通電時間データをディスク１上のシステムエリア１００に記録している。この場合、ＣＰＵ１０は、過去の通電時間に現在の通電時間を積算した積算値として当該通電時間データを記録している。通常では、通電時間データは、ドライブ２０の出荷されてから現在までの通電時間の積算値である。
【００４３】
このような機能を備えているディスクドライブ２０において、図６を参照して本実施形態を具体的に説明する。
【００４４】
電源投入時に、ディスクドライブ２０のＨＤＣ９は、ホストシステム３０から送信される時刻データ１１０を受信する（ステップＳ２０）。ＣＰＵ１０は、ＨＤＣ９が受信した時刻データ１１０をメモリ１１に含まれるＲＡＭの所定領域に記憶する（ステップＳ２１）。即ち、ＣＰＵ１０は、ホストシステム３０の時間に同期する時刻データ１１０をメモリ１１に記憶する。さらに、ＣＰＵ１０は、時刻データ１１０の日時（年、月日、時刻を含む）を基準時点として内部タイマ１０１をスタートさせる。
【００４５】
次に、ＣＰＵ１０は、ディスク１上のシステムエリア１００に記録されている通電時間データを読出す（ステップＳ２２）。また、ＣＰＵ１０は、予めシステムエリア１００に記録されているライフタイム（耐用年数又は寿命）に関するデータを読出す。
【００４６】
ＣＰＵ１０は、通電時間データ及びライフタイムに関するデータを使用して、現時点でのライフタイム終了までの時間を算出する（ステップＳ２３）。ＣＰＵ１０は、算出した時間からライフタイムの限界まで到達しているか否かを判定する（ステップＳ２４）。具体的には、ＣＰＵ１０は、ライフタイム終了までの残存時間が所定の時間に対して十分にあるか否かを判定する。ＣＰＵ１０は、ライフタイム終了までの残存時間が十分にあると判定した場合には、通常のリード／ライト動作に移行する（ステップＳ２４のＮＯ）。
【００４７】
一方、ＣＰＵ１０は、ライフタイムの限界まで到達していると判定した場合には、ライフタイム終了までの時刻データ（月日と時刻）を算出する（ステップＳ２５）。具体的には、ＣＰＵ１０は、内部タイマ１０１から出力される経過時間（例えば３６６２秒とする）を、ＲＡＭに記憶した時刻データ１１０に加算して、現時点での時刻を示すタイムスタンプ情報を算出する。次に、ＣＰＵ１０は、当該タイムスタンプ情報に、ライフタイム終了までの残存時間を加算してライフタイム終了までの時刻データを算出する。
【００４８】
ＣＰＵ１０は、算出したライフタイム終了までの時刻データライフタイムの予告情報としてＨＤＣ９を介してホストシステム３０に通知する（ステップＳ２６）。または、ＣＰＵ１０は、ディスク１上のシステムエリア１００に当該予告情報を記録してもよい。ホストシステム３０は、特定リードコマンドを発行して、システムエリア１００から当該予告情報を読出す方式でもよい。
【００４９】
以上要するに本実施形態は、ライフタイムの終了という事象を事前に管理する方式である。即ち、ドライブ２０の内部で生成する時間データを利用して、ライフタイム終了までの時刻データ（日時）を算出して、予告情報としてホストシステムに３０に通知する。従って、ホストシステム３０は、特にドライブ２０の耐用年数の残存期間が少なくなった場合に、予告情報として事前に認識することができる。これにより、ライフタイムの限界から、突然にドライブ２０が故障したり、停止するような事態を未然に防止することが可能となる。
【００５０】
本実施形態の方式は、特に、高頻度で使用するビジネス用のパーソナルコンピュータなどのディスクドライブに適用すれば、極めて有効である。ユーザは、ホストシステムから、使用しているディスクドライブがライフタイムの限界にきていることを知ることができるため、突然の停止等によりドライブに記録されたデータを失うような事態を未然に回避することが可能となる。
【００５１】
なお、各実施形態では、ディスクドライブ２０は、ホストシステム３０から与えられる時刻データの受信に基づいて、時間データを算出する構成を想定している。しかし、ディスクドライブ２０に対して、外部から時刻データを入力できる方法については、特にホストシステムから与える方法でなくてもよい。具体的には、例えば時刻データを電波で受信するような方法でもよい。また、各実施形態は、ハードディスクドライブを想定して説明したが、これに限ることなく、光磁気ディスクドライブなどにも適用することが可能である。
【００５２】
【発明の効果】
以上詳述したように本発明によれば、ディスクドライブにおいて、事象発生時に外部の時間に同期する時間を記録できるようにして、エラー発生やライフタイムなどの事象を管理する管理機能を向上させることができる。これにより、信頼性の高いディスク記憶装置を提供することができる。
【図面の簡単な説明】
【図１】本発明の各実施形態に関するディスクドライブの要部を示すブロック図。
【図２】同図（Ａ）は第１の実施形態に関する時刻データの受信処理の手順、及び同図（Ｂ）はエラー処理の手順を説明するためのフローチャート。
【図３】同実施形態に関するエラー情報の一例を示す図。
【図４】同実施形態に関するリードエラーログコマンドの処理手順を説明するためのフローチャート。
【図５】同実施形態の変形例を説明するための図。
【図６】第２の実施形態に関するライフタイム予告処理の手順を説明するためのフローチャート。
【符号の説明】
１…ディスク
２…磁気ヘッド
３…スピンドルモータ（ＳＰＭ）
４…アクチュエータ
５…ボイスコイルモータ（ＶＣＭ）
６…モータドライバＩＣ
７…プリアンプ回路
８…Ｒ／Ｗチャネル
９…ディスクコントローラ（ＨＤＣ）
１０…ＣＰＵ
１１…メモリ
２０…ディスクドライブ
３０…ホストシステム
９０…レジスタ群
１０１…内部タイマ
【図１】
2004030534.tif 000003
【図２】
2004030534.tif 000004
【図３】
2004030534.tif 000005
【図４】
2004030534.tif 000006
【図５】
2004030534.tif 000007
【図６】
2004030534.tif 000008