(57)【要約】【課題】  製造時における検査時間を長時間させることなくメモリの良否判定を効率よく行なう。【解決手段】  ＨＤＤのＨＤＣ１０は、ＤＲＡＭ１２４へのデータの書き込み又はＤＲＡＭ１２４からのデータの読み出しを管理するメモリマネージャと、ＤＲＡＭ１２４から読み出されたデータにエラーがあるか否かをチェックして外部へ出力する通常モード及びＤＲＡＭ１２４から読み出されたデータにエラーがあるか否かのチェックのみを行なうテストモードを有するシステムＥＣＣホストとを有する。ＨＤＣ１０は、ディスクにデータを記録して読出しエラーが発生するか否かによりディスクの欠陥検査を実行する間、システムＥＣＣホスト１２をテストモードとしてＤＲＡＭ１２４からのテストデータをＳＲＡＭ１８に順次上書きしながらエラーの有無を検出することでＤＲＡＭの良否を判定する。【選択図】  図３
2007157304.tif 000002
【特許請求の範囲】
【請求項１】
ディスクと、
前記ディスクにデータを記録し、前記ディスクに記録されたデータを読み出すヘッドと、
前記ディスクから読み出されたデータ又は前記ディスクへ書き込むデータをバッファリングするメモリと、
前記ディスクとホストとの間のデータのやり取りを制御するディスクコントローラとを備え、
前記ディスクコントローラは、前記メモリへのデータの書き込み又は前記メモリからのデータの読み出しを制御するメモリ管理部と、前記メモリから読み出されたデータにエラーがあるか否かをチェックして外部へ出力する第１のモード及び前記メモリから読み出されたデータにエラーがあるか否かのチェックのみを行なう第２のモードを有するエラーチェック部とを備え、前記ディスクの欠陥検査を実行する間、前記エラーチェック部を前記第２のモードとして前記メモリの良否を判定するディスク装置。
【請求項２】
前記メモリは、前記ディスクコントローラにディスクの欠陥検出テストを実行させるためのテストプログラム及びディスク用テストデータが格納される領域と、空領域とを有し、
前記ディスクコントローラは、前記メモリの良否の判定をするためのメモリ用テストデータを前記メモリの前記空領域に書き込み、
前記エラーチェック部は、前記メモリに書き込まれた前記メモリ用テストデータが読み出される毎に読み出しエラーがあるか否かをチェックする
ことを特徴とする請求項１記載のディスク装置。
【請求項３】
前記ディスクコントローラは、前記メモリ用テストデータを前記ディスクから読み出し、前記メモリの前記空領域に書き込む
ことを特徴とする請求項２記載のディスク装置。
【請求項４】
前記ディスクコントローラは、前記ディスクの欠陥検出テストを行うためのディスク用テストデータを前記ディスクに書き込ませ、読み出し、読み出しエラーが発生するか否かをチェックすることで前記ディスクの欠陥検出を実行する
ことを特徴とする請求項１記載のディスク装置。
【請求項５】
前記ディスクコントローラは、前記ディスクの欠陥検出テストを行うためのディスク用テストデータを前記ディスクに書き込ませ、書き込みエラーが発生するか否かをチェックすることで前記ディスクの欠陥検出を実行する
ことを特徴とする請求項１記載のディスク装置。
【請求項６】
前記メモリの空領域を所定の領域に分割し、前記メモリの良否の判定をするためのメモリ用テストデータを分割した各分割領域に書き込み、当該分割領域毎に読み出しエラーを検出する
ことを特徴とする請求項１記載のディスク装置。
【請求項７】
前記ディスクコントローラは、一のトラックの欠陥検出を行なう間に一の前記分割領域の読み出しエラーの検出を行なう
ことを特徴とする請求項６記載のディスク装置。
【請求項８】
前記メモリの良否の判定をするために複数のメモリ用テストデータを有し、
所定のタイミングで、前記メモリに書き込まれるメモリ用テストデータを変更しながら前記メモリの良否を判定する
ことを特徴とする請求項１記載のディスク装置。
【請求項９】
前記ディスクは、複数のゾーンを有し、
前記ディスクコントローラは、異なるゾーンのトラックの欠陥検出を始める際に、前記ディスクから新たなメモリ用テストデータを読み出し、前記メモリに書き込む
ことを特徴とする請求項８記載のディスク装置。
【請求項１０】
前記メモリの良否の判定をするために前記メモリに書き込まれるメモリ用テストデータは、エラーチェックコードを有し、
前記エラーチェック部は、前記エラーチェックコードを使用して読み出しエラーをチェックする
ことを特徴とする請求項１記載のディスク装置。
【請求項１１】
前記ディスクコントローラは、前記エラーチェック部がエラーを検出した時点で前記メモリを不良と判定する
ことを特徴とする請求項１記載のディスク装置。
【請求項１２】
前記ディスクコントローラは、前記エラーチェック部が検出したエラーが所定の回数以上となった場合に前記メモリを不良と判定する
ことを特徴とする請求項１記載のディスク装置。
【請求項１３】
データを記録するディスクと、前記ディスクにデータを記録し、前記ディスクに記録されたデータを読み出すヘッドと、前記ディスクから読み出したデータ又は前記ディスクへ書き込むデータをバッファリングするメモリと、前記ディスクとホストとの間のデータのやり取りを制御するディスクコントローラとを有するディスク装置のテスト方法であって、
前記ディスクコントローラにより前記ディスクの欠陥検出テストをする間に、前記メモリの良否を判定するディスク装置の検査方法。
【請求項１４】
前記ディスクコントローラがディスク用テストデータを使用して前記ディスクに対して書き込みエラー及び／又は読み出しエラーが発生するか否かを検査する間に、前記メモリの空領域にメモリ用テストデータを書き込み、読み出し、エラーが発生するか否かを繰り返すことで前記メモリの空領域の欠陥検出を行なう
ことを特徴とする請求項１３記載のディスク装置の検査方法。
【請求項１５】
前記ディスクコントローラが前記ディスク用テストデータを使用して前記ディスクの一のトラックに対して書き込みエラー及び／又は読み出しエラーが発生するか否かを検査する間に、前記メモリの空領域の一部又は全部から前記メモリ用テストデータを読出しエラーをチェックする
ことを特徴とする請求項１４記載のディスク装置の検査方法。
【請求項１６】
データを記録するディスク及び前記ディスクにデータを記録し、前記ディスクに記録されたデータを読み出すヘッドを有するディスク装置を組み立て、
前記ディスクから読み出したデータ又は前記ディスクへ書き込むデータをバッファリングするメモリ及び前記ディスクとホストとの間のデータのやり取りを制御するディスクコントローラを有する回路基板を実装し、
前記ディスクコントローラにより前記ディスクの欠陥検出を行なう間に前記メモリの良否を判定するディスク装置の製造方法。
【請求項１７】
前記ディスクコントローラがディスク用テストデータを使用して前記ディスクに対して書き込みエラー及び／又は読み出しエラーが発生するか否かにより前記ディスクの欠陥検出を行なう間に、前記メモリの良否の判定をする
ことを特徴とする請求項１６記載のディスクの製造方法。
【請求項１８】
前記ディスクコントローラが前記ディスク用テストデータを使用して前記ディスクの一のトラックに対して書き込みエラー又は読み出しエラーが発生するか否かをチェックする間に、前記メモリの空領域の一部又は全部から読み出されたメモリ用テストデータの読出しエラーが発生するか否かをチェックする
ことを特徴とする請求項１６記載のディスクの製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスク装置に含まれるメモリの良否を判定することができるディスク装置及びその製造方法、並びに前記メモリの良否を判定するディスク装置のテスト方法に関する。
【背景技術】
【０００２】
データ記憶装置として、光ディスクや磁気テープなどの様々な態様のメディアを使用する装置が知られているが、その中で、ハード・ディスク・ドライブ（Hard Disk Drive：ＨＤＤ）は、コンピュータの記憶装置として広く普及し、現在のコンピュータ・システムにおいて欠かすことができない記憶装置の一つとなっている。更に、コンピュータにとどまらず、動画像記録再生装置、カーナビゲーション・システム、あるいはデジタル・カメラなどで使用されるリムーバブルメモリなど、ＨＤＤの用途は、その優れた特性により益々拡大している。
【０００３】
ＨＤＤは、製造工程において、組み立て後に製造テストが行われる。例えば、テスト装置に接続され、様々なコマンドを実行させる動作テストが行われたり、ＨＤＤ自信が自己のディスクの欠陥などを検出するためのセルフテストを実行する。セルフテストは、ＳＲＳＴ(Self Run Self Test)とよばれるテストであり、ディスクの表面にキズが発生しているなどの欠陥領域を検出する表面分析テスト（Surface Analysis Test：ＳＡＴ）（例えば特許文献１参照）や、サーボ・トラックが狭いことやサーボ・トラックがリードすることができない等のサーボ・トラックに欠陥が生じていることによってライト・エラーが頻繁に発生する欠陥領域の検出を行っている。なお、ライト・エラーが頻繁に発生する欠陥領域の検出は、Ｆｉｌｌ  ｄａｔａと呼ばれる作業によって行われる。このＦｉｌｌ  ｄａｔａは、磁気ディスクのデータ領域全面にデータのライトを行い、ライト・エラーが発生した場合に、そのデータ・トラックに含まれるすべてのセクタを欠陥領域としてＰＤＭ（Primary Defect Map）に登録する。ＳＡＴにしてもライト・エラーの有無による欠陥領域の検出にしても、ディスクの全トラックについて行われるためテスト時間として極めて長い時間が必要となる。
【特許文献１】特開２００４−１７１７５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、近時、ＨＤＤのパフォーマンスの向上に伴い、キャッシュ（ＤＲＡＭ）の容量が増え、また、そのアクセススピードが上がることに伴い、ＤＲＡＭに欠陥が生じる確率も高くなってきている。ＤＲＡＭにおける欠陥の検出率は、データをライトし、リードし、比較するという工程の繰り返し回数に比例する。よって、ＤＲＡＭの良否判定には、長時間の検査時間を設ける必要がある。
【０００５】
しかしながら、製造過程において、上述のようにＳＲＳＴによる長時間のテスト工程は必須であり、これに更にＤＲＡＭ検査のために長いテスト時間を別途割り当てることは現実的ではない。よって、ＤＲＡＭ検査を行なうとしても、上記繰り返し回数が限られてしまうため、十分な欠陥検査を行なうことができないとい。このため、ＤＲＡＭの欠陥に対する検出率が低くなり、製品出荷後に問題になる場合がある。
【０００６】
本発明は、このような問題点を解決するためになされたものであり、製造時における検査時間を長時間させることなくメモリの良否判定を効率よく行なうことができるディスク装置、ディスク装置の製造方法、及びディスク装置のテスト方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した目的を達成するために、本発明にかかるディスク装置は、ディスクと、前記ディスクにデータを記録し、前記ディスクに記録されたデータを読み出すヘッドと、前記ディスクから読み出されたデータ又は前記ディスクへ書き込むデータをバッファリングするメモリと、前記ディスクとホストとの間のデータのやり取りを制御するディスクコントローラとを備え、前記ディスクコントローラは、前記メモリへのデータの書き込み又は前記メモリからのデータの読み出しを制御するメモリ管理部と、前記メモリから読み出されたデータにエラーがあるか否かをチェックして外部へ出力する第１のモード及び前記メモリから読み出されたデータにエラーがあるか否かのチェックのみを行なう第２のモードを有するエラーチェック部とを備え、前記ディスクの欠陥検査を実行する間、前記エラーチェック部を前記第２のモードとして前記メモリの良否を判定するものである。
【０００８】
本発明においては、ディスクコントローラがディスクの欠陥検出をしている間、メモリからデータを読み出し第２のモードに設定されたエラーチェック部がメモリから読み出されたデータのエラーをチェックすることで、ディスクの欠陥検出とメモリの良否判定を並列的に実行することができ、新たな検査工程を別途設けることなくメモリの良否判定を行なうことができる。
【０００９】
また、前記メモリは、前記ディスクコントローラにディスクの欠陥検出テストを実行させるためのテストプログラム及びディスク用テストデータが格納される領域と、空領域とを有し、前記ディスクコントローラは、前記メモリの良否の判定をするためのメモリ用テストデータを前記メモリの前記空領域に書き込み、前記エラーチェック部は、前記メモリに書き込まれた前記メモリ用テストデータが読み出される毎に読み出しエラーがあるか否かをチェックすることができる。これにより、ディスクの欠陥検出テストを実行する際に使用されない空領域についての良否判定行なうことができる。
【００１０】
更に、前記ディスクコントローラは、前記メモリ用テストデータを前記ディスクから読み出し、前記メモリの前記空領域に書き込むことができ、メモリ用テストデータはディスクに記録しておくことができる。
【００１１】
更にまた、前記ディスクコントローラは、前記ディスクの欠陥検出テストを行うためのディスク用テストデータを前記ディスクに書き込ませ、読み出し、読み出しエラーが発生するか否かをチェックすることで前記ディスクの欠陥検出を実行することができ、読み出しエラーのチェックは、ディスクの全トラックに亘って行なわれるため、その長時間のテスト時間を利用してメモリの良否判定を行なうことができる。
【００１２】
また、前記ディスクコントローラは、前記ディスクの欠陥検出テストを行うためのディスク用テストデータを前記ディスクに書き込ませ、書き込みエラーが発生するか否かをチェックすることで前記ディスクの欠陥検出を実行することで前記ディスクの欠陥検出を実行してもよく、読み出しエラーと同様、書き込みエラーのチェックもディスクの全トラックに亘って行なわれるため、同様に長時間を要する。この間にメモリの良否判定を合わせて行なうことができる。
【００１３】
更に、前記メモリの空領域を所定の領域に分割し、前記メモリの良否の判定をするためのメモリ用テストデータを分割した各分割領域に書き込み、当該分割領域毎に読み出しエラーを検出することができ、メモリの容量が大きい場合には所望の大きさに分割して検査することができる。
【００１４】
更にまた、前記ディスクコントローラは、一のトラックの欠陥検出を行なう間に一の前記分割領域の読み出しエラーの検出を行なうことができ、メモリの良否を判定するために十分な回数の読み出しエラーチェックを実行することができる。
【００１５】
また、前記メモリの良否の判定をするために複数のメモリ用テストデータを有し、所定のタイミングで、前記メモリに書き込まれるメモリ用テストデータを変更しながら前記メモリの良否を判定することができ、メモリに書き込むメモリ用テストデータを変更しながら読み出しエラーチェックを行なうことができる。
【００１６】
ここで、前記ディスクは、複数のゾーンを有し、前記ディスクコントローラは、異なるゾーンのトラックの欠陥検出を始める際に、前記ディスクから新たなメモリ用テストデータを読み出し、前記メモリに書き込むことができ、ゾーンの数分のテストパターンを書き込み読み出しエラーチェックをすることができる。
【００１７】
また、前記メモリの良否の判定をするために前記メモリに書き込まれるメモリ用テストデータは、エラーチェックコードを有し、前記エラーチェック部は、前記エラーチェックコードを使用して読み出しエラーをチェックすることができる。
【００１８】
この場合、前記ディスクコントローラは、前記エラーチェック部がエラーを検出した時点で前記メモリを不良と判定したり、又は前記エラーチェック部が検出したエラーが所定の回数以上となった場合に前記メモリを不良と判定したりすることができ、所望の基準でメモリの良否を判定することができる。
【００１９】
本発明にかかるディスク装置の検査方法は、データを記録するディスクと、前記ディスクにデータを記録し、前記ディスクに記録されたデータを読み出すヘッドと、前記ディスクから読み出したデータ又は前記ディスクへ書き込むデータをバッファリングするメモリと、前記ディスクとホストとの間のデータのやり取りを制御するディスクコントローラとを有するディスク装置のテスト方法であって、前記ディスクコントローラにより前記ディスクの欠陥検出テストをする間に、前記メモリの良否を判定するものである。
【００２０】
本発明においては、従来から行なわれているディスクの欠陥テストの間にメモリの良否を判定することで、テスト時間を長くすることなく、メモリの良否判定テストを盛り込むことができる。
【００２１】
この場合、前記ディスクコントローラがディスク用テストデータを使用して前記ディスクに対して書き込みエラー及び／又は読み出しエラーが発生するか否かを検査する間に、前記メモリの空領域にメモリ用テストデータを書き込み、読み出し、エラーが発生するか否かを繰り返すことで前記メモリの空領域の欠陥検出を行なうことができる。書き込みエラー又は読み出しエラーの発生は、全トラックについて検査されるため、長時間のテスト時間となる。この間に、メモリの空領域に対し、書き込み、読み出し、エラーの有無の検出からなる一連の工程を十分繰り返すことができ、正確にメモリの良否判定をすることができる。
【００２２】
本発明のディスク装置の製造方法は、データを記録するディスク及び前記ディスクにデータを記録し、前記ディスクに記録されたデータを読み出すヘッドを有するディスク装置を組み立て、前記ディスクから読み出したデータ又は前記ディスクへ書き込むデータをバッファリングするメモリ及び前記ディスクとホストとの間のデータのやり取りを制御するディスクコントローラを有する回路基板を実装し、前記ディスクコントローラにより前記ディスクの欠陥検出を行なう間に前記メモリの良否を判定するものである。
【００２３】
本発明においては、ディスク装置の通常の製造テストであるディスクの欠陥検出テストを行っている間に、メモリの良否判定を行なうことで、製造時のテスト時間を長時間化させることがない。
【発明の効果】
【００２４】
本発明によれば、製造時における検査時間を長時間させることなくメモリの良否判定を効率よく行なうことができるディスク装置、ディスク装置の製造方法、及びディスク装置のテスト方法を提供することができる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。先ず、本発明の実施の形態にかかるハード・ディスク・ドライブ（ＨＤＤ）の概略構成について説明する。図１は、本発明の実施の形態にかかるＨＤＤを示すブロック図である。図１に示すように、ＨＤＤ１００は、筺体１１０内に、磁気ディスク１１１、ヘッド１１２、アーム電子回路（アームエレクトロニクス：ＡＥ）１１３、スピンドル・モータ（ＳＰＭ）１１４、ボイス・コイル・モータ（ＶＣＭ）１１５を備えている。また、ＨＤＤ１００は、筺体１１０の外側に固定された回路基板１２０を備えている。回路基板１２０上には、リード・ライト・チャネル（Ｒ／Ｗチャネル）１２１、モータ・ドライバ・ユニット１２２、ハード・ディスク・コントローラ（ＨＤＣ）／ＭＰＵ集積回路（以下ＨＤＣ／ＭＰＵ）１２３、及びメモリの一例としてのＤＲＡＭ１２４を備えている。
【００２６】
外部ホストからの書き込みデータは、ＨＤＣ／ＭＰＵ１２３によって受信され、Ｒ／Ｗチャネル１２１、ＡＥ１１３を介して、ヘッド１１２によって磁気ディスク１１１に書き込まれる。また、磁気ディスク１１１に記憶されているデータは、ヘッド１１２によって読み出され、読み出しデータは、ＡＥ１１３、Ｒ／Ｗチャネル１２１を介して、ＨＤＣ／ＭＰＵ１２３から外部ホストに出力される。
【００２７】
次に、ＨＤＤの各構成要素について説明する。磁気ディスク１１１は、ＳＰＭ１１４の回転軸に固定されている。ＳＰＭ１１４は、モータ・ドライバ・ユニット１２２によって駆動され、ＳＰＭ１１４は所定の速度で磁気ディスク１１１を回転する。磁気ディスク１１１は、データを記録する記録面を両面に備え、各記録面に対応するヘッドが設けられている。各ヘッド１１２はスライダ（不図示）に固定され、スライダは、キャリッジ（不図示）に固定されている。キャリッジ（不図示）はＶＣＭ１１５に固定され、ＶＣＭ１１５は、揺動することによってスライダ及びヘッドを移動する。
【００２８】
ヘッド１１２において、典型的には、磁気ディスク１１１への記憶データに応じて電気信号を磁界に変換する記録ヘッド、及び磁気ディスク１１１からの磁界を電気信号に変換する再生ヘッドが一体的に形成されている。なお、磁気ディスク１１１は、１枚以上あればよく、記録面は、磁気ディスク１１１の片面および両面に形成することができる。
【００２９】
次に、各回路部の説明を行う。ＡＥ１１３は、複数のヘッド１１２の中からデータ・アクセスが行われる１つのヘッド１１２を選択し、選択されたヘッド１１２により再生される再生信号を一定のゲインで増幅（プリアンプ）し、Ｒ／Ｗチャネル１２１に送る。また、Ｒ／Ｗチャネル１２１からの記録信号を選択されたヘッド１１２に送る。
【００３０】
Ｒ／Ｗチャネル１２１は、ホストから取得したデータについて、ライト処理を実行する。ライト処理において、Ｒ／Ｗチャネル１２１はＨＤＣ／ＭＰＵ１２３から供給されたライト・データをコード変調し、さらにコード変調されたライト・データをライト信号（電流）に変換してＡＥ１１３に供給する。また、ホストにデータを供給する際にはリード処理を行う。
【００３１】
リード処理において、Ｒ／Ｗチャネル１２１はＡＥ１１３から供給されたリード信号を一定の振幅となるように増幅し、取得したリード信号からデータを抽出し、デコード処理を行う。読み出されるデータは、ユーザ・データとサーボ・データを含む。デコード処理されたリード・データは、ＨＤＣ／ＭＰＵ１２３に供給される。
【００３２】
ＨＤＣ／ＭＰＵ１２３は、ＭＰＵとＨＤＣが一つのチップに集積された回路である。ＭＰＵは、ＲＡＭ１２４にロードされたマイクロ・コードに従って動作し、ヘッド１１２のポジショニング制御、インターフェース制御、ディフェクト管理などのＨＤＤ１００の全体の制御のほか、データ処理に関する必要な処理を実行する。ＨＤＤ１００の起動に伴い、ＲＡＭ１２４には、ＭＰＵ上で動作するマイクロ・コードの他、制御及びデータ処理に必要とされるデータが磁気ディスク１１１あるいはＲＯＭ（不図示）からロードされる。
【００３３】
ＨＤＣ／ＭＰＵ１２３は、ホストとの間のインターフェース機能を備えており、ホストから伝送されたユーザ・データ及びリード・コマンドやライト・コマンドといったコマンドなどを受信する。受信したユーザ・データは、Ｒ／Ｗチャネル１２１に転送される。また、Ｒ／Ｗチャネル１２１から取得した磁気ディスクからの読み出しデータを、ホストに伝送する。ＨＤＣ／ＭＰＵ１２３は、さらに、ホストから取得した、あるいは、磁気ディスク１１１から読み出したユーザ・データについて、ＥＣＣ（Error Correcting Code）などによる誤り訂正のための処理を実行する。
【００３４】
また、特に、本実施の形態においては、製造テストのセルフテスト工程において、ＨＤＣ／ＭＰＵ１２３が、ＤＲＡＭ１２４にロードされたテストプログラムにしたがってディスクにテストデータを書き込み読出しテストをする間に、ＤＲＡＭ１２４にＤＲＡＭ用テストデータを書き込み、これを読み出すことで、ＤＲＡＭ１２４のスクリーニングを実行する。このように、ＳＡＴと同時にＤＲＡＭテストを実行することで、ＤＲＡＭテストのためのテスト時間を不要とすることができる。
【００３５】
Ｒ／Ｗチャネル１２１によって読み出されるデータは、ユーザ・データの他に、サーボ・データを含んでいる。ＨＤＣ／ＭＰＵ１２３は、サーボ・データを使用したヘッド１１２の位置決め制御を行う。ＨＤＣ／ＭＰＵ１２３からの制御データはモータ・ドライバ・ユニット１２２に出力される。モータ・ドライバ・ユニット１２２は制御信号に応じて駆動電流をＶＣＭ１１５に供給する。また、ＨＤＣ／ＭＰＵ１２３は、サーボ・データを使用して、データのリード／ライト処理の制御を行う。
【００３６】
ところで、近時のＤＲＡＭ１２４は、ＨＤＤのパフォーマンス向上に伴い、その容量が増大し、またアクセススピードも速くなってきており、ＤＲＡＭの欠陥は極めて稀であるものの重大な問題となる。
【００３７】
ＤＲＡＭのスクリーニングはＤＲＡＭからデータを読み出す処理を数万回繰り返して行なう必要があり、通常は非常に長い時間がかる。ＨＤＤの製造テストは、それ以外にも複数の長時間のテスト（検査・調整）工程を有しており、上記のような長時間のＤＲＡＭテストを製造テストに新たに追加することは現実的ではない。一方で、短時間でＤＲＡＭテストを実行しようとすると、ＤＲＡＭからの読み出し回数が欠陥を検出できるレベルに達せず、検出テストとしては有効ではない。
【００３８】
そこで、本願発明者等が鋭意研究した結果、他の製造テスト中に、ＤＲＡＭテストを平行して行わせることで、製造テストの時間を長くすることなく、かつＤＲＡＭから数万乃至数十万回のデータを読み出しエラー検出することでＤＲＡＭのテストを実行する方法を見出した。
【００３９】
製造テストには、セルフテスト（ＳＲＳＴ：Self Run Self Test）と呼ばれるディスク自体が自己の性能等をテストするものがあり、このセルフテストには、ディスクの欠陥を検出するためのディフェクトサーチ（ＳＡＴ：Surface Analysis Test）と呼ばれるテストがある。以下、ＳＡＴという。このＳＡＴにおいては、ＨＤＤは、例えば最外周側から１トラックずつシークし、データをライト・リードし、リードエラーがないか否かなどによりディスクの欠陥を検出するテストである。複数のヘッドを有する場合には、一のシリンダについて各ヘッドが１トラックのライト・リードを実行する。ディスクは、通常数十万のトラックを有するため、このＳＡＴは極めて長時間かかるテストとなる。また、ディスクのライト・エラーを検査するテストとしてＦｉｌｌ  ｄａｔａと呼ばれるテストがある。これは、ディスクの各トラックに順にデータを書き込み、ライト・エラーが発生するか否かを検査するものである。
【００４０】
なお、本実施の形態においては、ＳＡＴの間にメモリのリードエラーを検出してその良否判定を行なうものとして説明するが、リードエラーを検査するＳＡＴの検査時のみならずライト・エラーを検査する検査（Ｆｉｌｌ  ｄａｔａ）時においても、又はライト・エラーを検査する検査時のみを利用してメモリの良否判定を行なってもよいことは勿論である。
【００４１】
本実施の形態においては、この長時間かかるＳＡＴの間に、ＤＲＡＭのテストを並行して行う。具体的には、１トラックのＳＡＴの間に、ＤＲＡＭからデータの読み出しを行い、エラーがあるか否かを確認する。これを全トラック分繰り返すことで、ＳＡＴを実行中にＤＲＡＭのスクリーニングを実行する。このため、ＨＤＣ／ＭＰＵ１２３は、通常モードの他にＤＲＡＭ１２４をテストすることができるモード（以下、テストモードという。）を有する。通常モードの際には、ＨＤＣ／ＭＰＵ１２３は、ホストから転送されるデータを一旦ＤＲＡＭ１２４に書込み、これを磁気ディスク１１１に書き込む。また、磁気ディスク１１１からＤＲＡＭ１２４に一旦データを読み出し、これをホストに転送する。
【００４２】
一方、テストモードでは、磁気ディスク１１１から一旦ＤＲＡＭ１２４に読み出されたデータをホストに転送せず、例えばＳＲＡＭなどのバッファに読み捨てる。ＤＲＡＭ１２４からデータを読み出すことで読み出しエラーは発生するか否かを検査することができるためホストに読み出したデータを転送する必要はない。なお、本実施の形態においては、このテストモードを製造テストのＳＡＴの間に使用することで、ＤＲＡＭのテストを実行するが、テストモードとするのは、ＳＡＴの間に限らず、上述したように磁気ディスク１１１に対して書込みエラーがあるか否かをテストするためのＦｉｌｌ  ｄａｔａの間においても可能である。このことにより、より長時間のＤＲＡＭテストを可能にすることができる。また、製造後の他の期間であって他の動作と並行して行うことができる場合や、出荷後の適当なタイミングにおいてテストモードに設定してＤＲＡＭテストを行なうことも可能である。
【００４３】
先ず、ＤＲＡＭテスト方法を説明する前に、本実施の形態にかかるＤＲＡＭについて説明する。図２は、本実施の形態にかかるＤＲＡＭ１２４のデータ配置を示す図である。ＤＲＡＭ１２４は、例えばＳＤＲＡＭである。ＳＡＴの実行中には、ＤＡＲＭにＳＡＴを実行するためのプログラム、データ等が読み出されている。本実施の形態においては、マイクロ・コード、ディスクに書き込むためのディスク用テストデータ（Read/Write Data）、ＨＤＤをテストするプログラム（ＳＲＳＴ：Self Run Stress Test）、ＨＤＤのある特定トラックに対してシークし、トラック上の位置情報を示す位置誤差信号ＰＥＳ（Position Error Signal）などのデータをダンプする領域（Ｓｅｅｋ／Ｄｕｍｐ）、ライト／リードされる場合に使用されるユーザが使用できない特別なコマンド（Ｓｐｅｃｉａｌ  Ｃｍｄ）などがＤＲＡＭ１２４の領域１２４ａに読み出されている。
【００４４】
ＤＲＡＭ１２４のテストは、ＤＲＡＭ１２４に対してＤＲＡＭ用テストデータを書き込み、これを読み出すことで行なうので、これらのデータが配置されない空領域１２４ｂのテストを行うこととなる。なお、ＳＡＴにおいて使用する上記の領域１２４ａについてのテストも実行したい場合には、ＳＡＴの途中にてこれらのデータ領域の配置換えを行うなどすればよい。
【００４５】
図３は、ＨＤＣの一部の詳細及びＤＲＡＭを示すブロック図である。以下の説明においては、図１に示すＨＤＣ／ＭＰＵ１２３のうちＳＡＴ及びＤＲＡＭテストに関わる部分をＨＤＣ１０と示す。ＨＤＣ１０は、ホスト・インターフェース（ＨＩ）１１、システムＥＣＣホスト（ＳＥＨ）１２、メモリマネージャ（ＭＭ）１３、システムＥＣＣドライバ（ＳＥＤ）１４、ドライブマネージャ１５、ＥＣＣプロセッサ（ＥＰ）１６、及びＳＲＡＭ１７、１８を有する。
【００４６】
ホストＩ／Ｆ１１は、ホスト（図示せず）とＨＤＤとのインターフェース回路である。ライド動作において、ホストＩ／Ｆ１１は、データバスＨＩＢＴＭ（Host Interface (HI) Bus To Memory）を介してユーザ・データをシステムＥＣＣホスト１２へ供給する。なお、図に示す（１２８）などの表示は、データバスの幅又はデータサイズ（ビット）を示すものとする。
【００４７】
システムＥＣＣホスト１２は、ホストからのデータ又はホストへ出力するデータのエラー処理を行う回路であり、ホストからホストＩ／Ｆ１１を介してユーザ・データを受け取ると、ディスクにこのユーザ・データを記録するときの温度、ライトカレントなどの条件を示すＭＣＲ（Media Recording condition）を生成する。このＭＲＣの情報は、各セクタ毎に付加されディスクにデータと共に記録される。そして、ユーザ・データ、ＭＲＣ、各セクタのＬＢＡなどからシステムＥＣＣを生成し、システムＥＣＣ付きユーザ・データをメモリマネージャ１５に出力する。また、ＭＲＣの情報は、システムＥＣＣドライバ１４へ送る。
【００４８】
ここで、システムＥＣＣは、ＤＲＡＭ１２４への書き込み・読出しの際のエラーを訂正するために付与するＥＣＣ（システムＥＣＣ）を示す。また、本実施の形態においては、システムＥＣＣとしてＥＣＣ及びＣＲＣ（Cyclic Redundancy Check(巡回冗長検査)）が付加されているものとして説明するが、ＤＲＡＭテストに使用するＤＲＡＭ用テストデータにエラーチェックコードとして付加する場合には、いずれか一方であってもよい。
【００４９】
このライト動作において、ホストＩ／Ｆ１１から送られるユーザ・データは、システムＥＣＣホスト１２を介してＳＲＡＭ１８に一時保存される。システムＥＣＣホスト１２は、このユーザ・データをＤＲＡＭ１２４へ書き込む又は読み出す際のエラーを訂正するためのシステムＥＣＣを生成してユーザ・データに付加し、データバスＨＩＢＦＭ＿ＢＨ（HI Bus From Memory）を介してメモリマネージャ１３へ送る。なお、ＨＩＢＦＭ＿ＢＨのＢＨはシステムＥＣＣホストを示す。
【００５０】
システムＥＣＣドライバ１４は、システムＥＣＣ付きユーザ・データを受け取るとエラーを検出する。なお、エラーが検出された場合には、ＭＰＵがシステムＥＣＣドライバ１４の情報を基にＤＲＡＭ１２４上で修正を行い、再度データを転送する。その後、システムＥＣＣ付きユーザ・データをＭＲＣと共にデータバスＤＲＢＦＭ（Drive Bus From Memory）を介してドライブマネージャ１５へ供給する。
【００５１】
ドライブマネージャ１５に供給されたシステムＥＣＣ＋ＭＲＣ付きユーザ・データは、データバスＤＲＢＴＭ（Drive Bus To Memory）を介してＥＣＣプロセッサ１６へ供給される。ＥＣＣプロセッサ１６は、ＳＲＡＭ１７を使用し、ディスクに記録される際又はディスクから読み出される際に生じる誤りを訂正するためのＥＣＣ（以下、メディアＥＣＣという。）を生成して付加し、データバスＥＰＢＵＳ（ECC Processor Bus）を介してドライブマネージャ１５へ送り返す。このＥＣＣプロセッサ１６は、メディアＥＣＣを例えばリードソロモン符号（Read-Solomon Code：ＲＳＣＤ）にて生成する。
【００５２】
こうしてドライブマネージャ１５は、ＭＲＣ＋システムＥＣＣ＋メディアＥＣＣが付加されたユーザ・データを、データバスＮＲＺ（Non-Return to Zero）を介して図１に示すＲ／Ｗチャネル１２１へ供給することでライト動作が行なわれる。
【００５３】
一方、ディスクからデータを読み出すリード動作においては、Ｒ／Ｗチャネル１２１（図１）からＭＲＣ＋システムＥＣＣ＋メディアＥＣＣが付加されたユーザ・データをドライブマネージャ１５が受け取り、これがＥＣＣプロセッサ１６へ供給される。ＥＣＣプロセッサ１６は、必要に応じてメディアＥＣＣによりユーザ・データの誤りを修正する。そして、ＭＲＣはシステムＥＣＣドライバ１４へ、システムＥＣＣ付きユーザ・データはデータバスＥＣＢＴＭ（ECC Bus To Memory）を介してメモリマネージャ１３へ供給する。メモリマネージャ１３は、これをＤＲＡＭ１２４に格納し、適当なタイミングで読み出しデータバスＨＩＢＦＭ（HI Bus To Memory）を介してシステムＥＣＣホスト１２へ供給する。
【００５４】
システムＥＣＣホスト１２は、通常モードでは、ＳＲＡＭ１８を使用し、必要に応じてシステムＥＣＣにより誤り訂正するなどシステムＥＣＣチェックを行うと共にＯＴＦ訂正（on the fly correction）を行なう。ＯＴＦ訂正により、データの転送を中断することなくユーザ・データの訂正をしながらシステムＥＣＣホスト１２からデータバスＨＩＢＦＭ＿ＢＨ（HI Bus From Memory）を介してホストＩ／Ｆへ転送することが可能である。
【００５５】
ＨＤＣ１０は、以上のようにしてホストからのディスクに書き込むためにＲ／Ｗチャネル１２１へ供給したり、Ｒ／Ｗチャネルからディスクから読み出したデータを受け取りホストへ渡す動作を行なっている。
【００５６】
ここで、ＳＡＴにおいては、ＨＤＣ１０のメモリマネージャ１３が、ＤＲＡＭ１２４に格納されているディスク用テストデータを読み出しシステムＥＣＣドライバ１４へ供給することでライト動作を行なわせる。そして、ライトしたデータをリードし、リードエラーが生じるか否かを各トラック毎に判定する。
【００５７】
一方、ＨＤＣ１０は、この間にＤＲＡＭ１２４のテストも実行する。このＤＲＡＭ１２４のテストは、通常のディスクから読み出したデータをホストへ転送する場合と略同じ動作を行なうことで実現する。ただし、ＤＲＡＭテストにおいては、ＤＲＡＭから読み出したＤＲＡＭ用テストデータはホストへ送らず読み捨てる。そして、繰り返し読み出す間のエラーを検出したり、エラーの回数をカウントしたりすることでＤＲＡＭの良否を判定する。具体的には、予めＤＲＡＭ１２４にＤＲＡＭ用テストデータを書き込んでおき、これをメモリマネージャ１３が繰り返し読み出しシステムＥＣＣホスト１２へ供給する。システムＥＣＣホスト１２は、ＤＲＡＭ用テストデータが読み出される毎にＳＲＡＭ１８へこれを格納（上書き）し、システムＥＣＣによりエラーが発生しているか否かをチェックする。
【００５８】
このようにＤＲＡＭテストでは、システムＥＣＣホスト１２は、メモリマネージャ１３から送られるデータをホストＩ／Ｆ１１には出力しない。システムＥＣＣホスト１２にこのような動作を実行させるモードを、本実施の形態においては、第２のモードとしてのテストモードということとする。システムＥＣＣホスト１２は、通常モードでは、メモリマネージャ１３から読み出されたデータのシステムＥＣＣチェックをしてホストＩ／Ｆ１１へ送る。すなわち、システムＥＣＣホスト１２は、通常モードにおいては、ＳＲＡＭ１８に格納したデータをホストＩ／Ｆ１１へ転送してから次のデータを受け取りＳＲＡＭ１８へ書き込む。一方、テストモードにおいては、メモリマネージャ１３から読み出されたデータのシステムＥＣＣチェックをするのみで、ホストＩ／Ｆ１１には出力せずＳＲＡＭ１８に随時上書きしていく。ここで、本実施の形態においては、テストモードの際のＤＲＡＭ１２４からＳＲＡＭ１８へデータを読み捨てる動作をダミーリードともいう。
【００５９】
システムＥＣＣホスト１２は、データ誤りを検出するとこれを示すフラグを立てたり、図示せぬカウンタにより誤り回数をカウントアップしたりすることで、ＤＲＡＭ１２４の読出しエラーの結果を記憶する。ここで、ＤＲＡＭ１２４の良否は、例えば以下の場合などが考えられる。
【００６０】
例えば、システムＥＣＣホスト１２にてＤＲＡＭ用テストデータに付加するエラーチェックコードとしては、ＥＣＣ＋ＣＲＣの他、ＥＣＣのみ、ＣＲＣのみであってもよい。ＥＣＣのみを付加した場合には、誤りが検出された場合、誤りが所定回数以上検出された場合などを不良と判断することができる。また、ＣＲＣのみを付加した場合には、ＣＲＣエラーが発生した時点でテストを中止し、ＤＲＡＭ不良と判断したり、ＣＲＣエラーの回数をカウントしそのカウント値に応じてＤＲＡＭ不良と判断したりすることができる。更に、ＥＣＣ＋ＣＲＣを付加した場合には、前述のように、ＥＣＣエラー、ＣＲＣエラーが発生した時点でＤＲＡＭを不良と判断してテストを中止したり、エラー回数をカウントしてそのカウント値に応じてＤＲＡＭ不良と判断したりすることの他、ＥＣＣによりエラーが訂正できたものはエラーの回数としてカウントせず、ＥＣＣによりエラーが訂正できない場合にＤＲＡＭを不良としてテストを中止したり、ＥＣＣによりエラーが訂正できない回数をカウントしてそのカウント値に応じて良否判断したりすることができる。ここで、ＤＲＡＭ不良としてテストを中止する場合には、ＤＲＡＭを交換したり、又は制御回路毎交換したりするなどの処置を施すことができる。
【００６１】
通常の読み出し動作においては、メモリマネージャ１３は、ＳＲＡＭ１８のデータがホストＩ／Ｆ１１を介して出力されないと次のデータを読み出さないが、本ＤＲＡＭテストにおいては、ＳＲＡＭ１８に順次データを上書きしていく。システムＥＣＣホスト１２は、ＳＲＡＭにデータが格納される毎にそのエラーを検出又は訂正する。例えばエラーの回数をカウントする場合には、ＳＲＡＭ１８などにカウンタを設け、エラーの回数をカウントする。
【００６２】
つまり、図４に示すように、メモリマネージャ１３は、ＤＲＡＭ１２４からＤＲＡＭ用テストデータをＳＲＡＭ１８へ読み出す処理を繰り返し、システムＥＣＣホスト１２は、そのエラーをチェックし、必要であればエラー回数をカウントすることでＤＲＡＭ１２４のテストを実行するものである。ここで、システムＥＣＣホスト１２は、通常の動作モードであれば、エラーがあればエラーを訂正し、ホストへ出力するためにホストＩ／Ｆ１１へデータを送るが、テストモードにおいては、ＤＲＡＭ１２４から読み出されるＤＲＡＭ用テストデータのエラーをチェック（管理）するのみとなる。
【００６３】
次に、本実施の形態にかかるテスト方法について説明する。図５、図６は、ＳＡＴ及びその間に行なわれるＤＲＡＭのテスト工程を示すフローチャートである。また、図７、図８は、図５、図６に示すＤＲＡＭテストの方法の詳細を示すフローチャートであって、図７は、図５におけるステップＳ２、図６におけるステップＳ１２において実行される。また、図８は、図５に示すステップＳ２、ステップＳ６、図６に示すステップＳ１３において実行される。
【００６４】
先ず、ＳＡＴのルーチンを読み出し、テストがスタートする。ここで本実施の形態においては、ＳＡＴと並列してＤＲＡＭのテストを実行するため、ＤＲＡＭに書き込むためのＤＲＡＭ用テストデータを所定のコマンド（Ｆｉｌｌ  Ｔｅｓｔ  コマンド）によりリクエストする（ステップＳ１）。ここで、例えば１回でダミーリードすることができる長さを指定するＨＤＣ１０のレジスタを例えば９ビット長とすると、１回でダミーリードできるデータ量は５１１ブロック分となる。本実施の形態においては、このＨＤＣのレジスタのサイズ毎にＤＲＡＭ１２４の空容量を分割することとする。すなわち、本実施の形態においては、ＤＲＡＭ１２４は、上述のマイクロ・コードなどが読み出されていない空領域の全領域を５１１ブロック単位の複数個に分割し、分割した分割領域（以下、セグメントという。）毎にＤＲＡＭ用テストデータを書込み、セグメント毎に読み出しを行なう。各セグメントは識別番号（Segment number）を有するものとする。ここでは先ず、最初のセグメント（Segment number＝０）のテストをリクエストする（ステップＳ２）。
【００６５】
その後、ＳＡＴを開始するため、ＳＡＴに使用するパラメータを初期化する（ステップＳ３）。そして、１トラックについての欠陥検出を実行する（ステップＳ４）。ＳＡＴでは、例えば最外周のトラックからＤＲＡＭ１２４に格納されているＳＡＴ用のデータをライトし、リードすることで行なわれる。
【００６６】
１トラックのリード・ライトを実行したら、ＤＲＡＭ１２４のテストが成功しているか否かを判定する。後述するように、１トラックのＳＡＴが終了する間に、ＤＲＡＭ１２４の１セグメントが読み出される。ここで、本例においては、ＤＲＡＭ１２４からＤＲＡＭ用テストデータを読み出した際、１回でもエラーが検出された場合には、ＤＲＡＭテストを終了するものとする。また、一のセグメントよりＳＲＡＭ１８の容量が小さくてもよく、その場合には、一のセグメントを複数回に分けてＳＲＡＭ１８へ読み出せばよい。
【００６７】
ＤＲＡＭ１２４の読出しエラーが発生していない場合は、ＤＲＡＭテストにおいてSegment numberをインクリメントし、ＤＲＡＭテストをリクエストする（ステップＳ６）。次に、ＳＡＴにおいては、ヘッド番号をインクリメントし（ステップＳ７）、当該ヘッド番号が最大ヘッド番号より小さいときは、ステップＳ４に戻り欠陥検出を続ける。一方、ヘッド番号が最大ヘッド番号より大きい場合には、ヘッド番号はリセットしてトラック番号をインクリメントする（ステップＳ９）。これにより、最初のヘッドにおいて、次のトラックの欠陥検出を実行することができる。この場合、トラック番号が、ゾーンに含まれるトラック番号の最大数より小さい場合には、上述と同様、ステップＳ４からの欠陥検出処理を実行する。なお、ゾーンの数は例えば３１などである。
【００６８】
一方、ゾーンに含まれる最大トラック数より現在のトラック番号が大きい場合（ステップＳ１０：Ｙｅｓ）には、ＳＡＴの結果を一旦保存する（ステップＳ１１）。各ゾーン毎に、ＳＡＴ（ライト・リード処理）は異なるパラメータ設定とするため、次のゾーンのＳＡＴを開始する際にはパラメータを変更する（ステップＳ１２）。このとき、本実施の形態においては、ＤＲＡＭ１２４に書き込むＤＲＡＭ用テストデータも変更する。よって、ＳＡＴに使用するパラメータを変更すると共にＤＲＡＭ１２４に書き込むＤＲＡＭ用テストデータのリクエストを行なう（ステップＳ１２）。
【００６９】
この処理は、ステップＳ１の処理と同様である。ステップＳ１においては、例えばテストパターン１を読み出し、ステップＳ１２では、テストパターン２を読み出す。そして、ステップＳ６と同様、Segment numberをインクリメントし、ＤＲＡＭテストをリクエストする（ステップＳ１３）。この処理は、ステップＳ６の処理と同様である。そして、現在のトラックがディスクに含まれる最大トラック数より小さい場合には、ステップＳ３の処理に戻り、次のゾーンのＳＡＴをするためにパラメータを初期化し、以下同様に続ける。最終的にＳＡＴにおいて全トラックの欠陥検出が終了した時点で、ＤＲＡＭにエラーが発見されなければ、ＤＲＡＭのテストも終了する。
【００７０】
なお、ゾーンが変更になる毎にＤＲＡＭ用テストデータを変更するものとしたが、２以上のゾーンにおいて同じＤＲＡＭ用テストデータを使用してもよく、又は他のタイミングでＤＲＡＭ用テストデータを変更してもよい。
【００７１】
次に、ステップＳ１、Ｓ１２に示すＤＲＡＭにテストデータを読み出す処理について説明する。図７に示すように、ＳＲＳＴからのＤＲＡＭにテストデータを読み出す処理コマンド（Ｆｉｌｌ  Ｔｅｓｔ  Ｃｏｍｍａｎｄ）を受け取ると、テストパターンが書き込まれている磁気ディスク１１１上のＬＢＡ情報を得る（ステップＳ２１）。そして、ＤＲＡＭ１２４の大きさを判断する。なお、このステップは、ＤＲＡＭが例えば２Ｍ、８Ｍなど容量が異なるＨＤＤにおいてもテストを行うことができるようにするために設けるものである。次いで、磁気ディスク１１１から読み出したテストパターンの書込み先をＤＲＡＭの空領域の先頭セクタに指定する（ステップＳ２３）。
【００７２】
そして、磁気ディスク１１１においてステップＳ２１で指定された先頭ＬＢＡからのテストデータをＤＲＡＭにおいてステップ２３で指定されたセクタから当該テストパターンを書き込む（ステップＳ２４）。書込みに成功している場合には（ステップＳ２５：Ｙｅｓ）、ＤＲＡＭが一杯になるまでテストパターンを書き込む（ステップＳ２６）。すなわち、ＤＲＡＭが一杯になってない場合には（ステップＳ２６：Ｎｏ）、ＤＲＡＭのアドレスを進めステップＳ２４からの処理を繰り返す。
【００７３】
書込みに失敗した場合には、ＤＲＡＭテストの結果（Ｓｔａｔｕｓ／Ｅｒｒｏｒ）を更新して処理を終了する（ステップＳ２９）。また、ステップＳ２６にて、書込みエラーが発生せずＤＲＡＭが一杯になった場合には、書き込んだテストパターンの回数を返値に入れる（ステップＳ２８）。ここで、本実施の形態においては、一のテストパターンを書き込む領域がセグメントとなり、テストパターンの書込み回数＝セグメント数（Segment number）となる。この場合もＤＲＡＭテストの結果を更新して処理を終了する（ステップＳ２９）。以上の処理により、セグメント数、セグメントの大きさ、各セグメントの先頭ＬＢＡなどのセグメント情報が生成される。
【００７４】
次に、ステップＳ２、Ｓ６、Ｓ１３におけるＤＲＡＭテストの方法について説明する。図８に示すように、ＳＲＳＴから所定のコマンド（Ｔｅｓｔ  ＳＤＲＡＭ  コマンド）を受け付けると、先ず、磁気ディスク１１１に書き込まれているテストパターンがＤＲＡＭに読み込み済みか否かが判断される（ステップＳ３１）。そして、ステップＳ２にて指定されたセグメントがあるか否かが判断され（ステップＳ３２）、更に、１つ前のコマンドでのＤＲＡＭからの読み出し（ダミーリード）テストが終了するのを待つ（ステップＳ３３）。なお、このステップは、上位タスクのダミーリードの完了を待たない場合（後述するステップＳ３６）に対応するためである。
【００７５】
これらの準備が整ったらＨＤＣをダミーリードモードにする（ステップＳ３４）。そして、セグメント情報からダミーリードするセグメントの先頭ＬＢＡ及びその大きさ（セクタ数）を指定し（ステップＳ３５）、ダミーリードを開始する（ステップＳ３６）。ここでは、上述したように、ダミーリードの完了を待たずに、ＤＲＡＭテストの結果（Ｓｔａｔｕｓ／Ｅｒｒｏｒ）を更新して（ステップＳ３７）処理を終了する。
【００７６】
本実施の形態においては、ＨＤＣ１０がディスクの傷などの表面欠陥を検出するＳＡＴを実行する間に、ＤＲＡＭ１２４にテストデータを書き込み、これを読出しエラーチェックする処理を別途行うことで、ディスクの欠陥テスト（ＳＡＴ）と同時にＤＲＡＭ１２４の良否判定を行なうことができる。本実施の形態においては、１トラックのＳＡＴの間に、ＤＲＡＭ１２４の所定領域（セグメント）に書き込まれたＤＲＡＭ用テストデータを読出しそのエラーをチェックする。通常ＨＤＤは、複数のディスクからなり、これら各ディスクの全トラックのＳＡＴを終了するまでには、ＤＲＡＭ１２４の各セグメントについて数十万回の読出しテストを行うことができ、製造テスト時間を長くすることなく、ＤＲＡＭ１２４の良否判定を行なうことができる。
【００７７】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、上述の実施の形態においては、ＨＤＤを例にとって説明したが、磁気ディスクに限らず、セルフテストを実行するディスク装置のメモリの良否判定に適用してもよい。
【図面の簡単な説明】
【００７８】
【図１】本発明の実施の形態にかかるＨＤＤを示すブロック図である。
【図２】本発明の実施の形態にかかるＤＲＡＭのデータ配置を示す図である。
【図３】本発明の実施の形態にかかるＨＤＣの一部の詳細及びＤＲＡＭを示すブロック図である。
【図４】本発明の実施の形態にかかるＨＤＣの動作を説明する図である。
【図５】本発明の実施の形態にかかるＨＤＤのテスト工程を示すフローチャートである。
【図６】同じく、本発明の実施の形態にかかるＨＤＤのテスト工程を示すフローチャートである。
【図７】図５及び図６に示すＤＲＡＭテストの方法の詳細を示すフローチャートである。
【図８】同じく、図５及び図６に示すＤＲＡＭテストの方法の詳細を示すフローチャートである。
【符号の説明】
【００７９】
１１  ホストＩ／Ｆ
１２  システムＥＣＣホスト
１３  メモリマネージャ
１４  システムＥＣＣドライバ
１５  ドライブマネージャ
１６  ＥＣＣプロセッサ
１７,１８  ＳＲＡＭ
１１０  筺体
１１１  磁気ディスク
１１２  ヘッド
１１２  各ヘッド
１２０  回路基板
１２１  チャネル
１２２  モータ・ドライバ・ユニット
１２４  ＤＲＡＭ
【図１】
2007157304.tif 000003
【図２】
2007157304.tif 000004
【図３】
2007157304.tif 000005
【図４】
2007157304.tif 000006
【図５】
2007157304.tif 000007
【図６】
2007157304.tif 000008
【図７】
2007157304.tif 000009
【図８】
2007157304.tif 000010