(57)【特許請求の範囲】
【請求項１】
上位装置からのコマンドに従って、情報記録媒体に対してデータのリード／ライトを実行し、リード／ライトエラーが発生した場合に、再度リード／ライトを行うリトライを実行するディスク装置において、
リード／ライトエラーのエラーが発生したエラー位置と、エラーが発生したエラー条件を記憶する記憶手段と、
前記記憶手段に記憶された前記エラー位置に基づいて、リード／ライトを実行する際のリード／ライト位置がエラー位置であるか否かを判断するエラー位置判断手段と、
前記記憶手段に記憶された前記エラー条件に基づいて、リード／ライトを実行する際のリード／ライト実行条件がエラー条件であるか否かを判断するエラー条件判断手段と、
リード／ライトエラーを前記上位装置に報知するエラー報知手段を有し、
前記エラー位置判断手段がリード／ライト実行位置がエラー位置であると判断し、且つ、前記エラー条件判断手段がリード／ライト実行条件がエラー条件であると判断した場合には、リード／ライトを実行しないで前記エラー報知手段によりリード／ライトエラーの発生を前記上位装置に報知することを特徴とするディスク装置。
【請求項２】
リトライが規定リトライ回数行われたか否かを判断するリトライ回数判断手段と、を有し、
前記エラー位置判断手段がリード／ライト実行位置がエラー位置でないと判断し、及び／又は、前記エラー条件判断手段がリード／ライト実行条件がエラー条件でないと判断した場合に、リード／ライトを実行し、
リード／ライトの実行中にエラーが発生したと判断されると、リード／ライトのリトライを実行し、前記リトライ回数判断手段により規定リトライ回数行われたと判断されたとき、前記記憶手段にエラー位置とエラー条件を格納すると共に、前記エラー報知手段によりリード／ライトエラーの発生を前記上位装置に報知することを特徴とする請求項１記載のディスク装置。
【請求項３】
前記エラー条件は、前記情報記録媒体の回転速度であることを特徴とする請求項１又は２記載のディスク装置。
【請求項４】
前記エラー条件は、データのビットエラーに対するエラー訂正方法であることを特徴とする請求項１又は２記載のディスク装置。

【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、上位装置からのコマンドに従って、情報記録媒体に対してデータの読み出し又は書き込み（以下、リード／ライトとする）を実行し、リード／ライトエラーが発生した場合に、再度リード／ライトを行うリトライを実行するディスク装置に関する。
【０００２】
【従来の技術】
近年、データを記録する様々な情報記録媒体が実用化され普及している。このような情報記録媒体としては、磁気ディスクや光ディスク等がある。磁気ディスクには、ハードディスクやフロッピーディスク等があり、光ディスクには、音楽用ＣＤ（Compact Disc）、ＣＤ−ＲＯＭ（CD-Read Only Memory）、光ディスク（CD-ReWritable）等があり、最近では、ＤＶＤ−ＲＡＭ（Digital Versatile Disc-Random Access Memory）が開発され実用化されている。
【０００３】
これらの情報記録媒体に対してリード／ライトを行うためには、ディスク装置が必要である。このディスク装置としては、磁気ディスクドライブや光ディスクドライブ等がある。
【０００４】
ディスクドライブは、従来、上位装置、例えば、ホストコンピュータに接続され、ホストコンピュータからのリード／ライトコマンドを受信すると、情報記録媒体のセクタに対してヘッドによりリード／ライトを実行するものである。情報記録媒体に何らかの理由でリード／ライトができないセクタが存在した場合には、リード／ライトエラーが発生したセクタに対して、再度リード／ライトを行うリトライが実行される。
【０００５】
このリトライを実行するディスクドライブとしては、例えば、リード／ライトエラーが発生したセクタに対して、予め決められた規定リトライ回数に基づいて、リトライを繰り返し、規定リトライ回数内にリード／ライトエラーが発生しなかったら、つまり、リード／ライトができれば、リトライを終了するものがある。
【０００６】
また、他のディスク装置としては、単純にリトライを行うだけではなく、例えば、ホストコンピュータによって情報記録媒体の回転速度やヘッドの着地位置等のリード／ライト条件を変更して、さらに、規定リトライ回数に基づいてリトライを繰り返すものがある。実際にリトライが行われる場合には、リード／ライト条件が、予め決められた順序で変更される。例えば、ホストコンピュータによるリード／ライト条件の変更回数が３回で、ディスク装置の規定リトライ回数が５回であるとすると、同じセクタに対してリトライを行う全リトライ回数は１５回になる。
【０００７】
【発明が解決しようとする課題】
このようにディスクドライブは、リード／ライトエラーが発生したセクタに対してリトライを行う。しかし、そのエラー要因によっては、リトライによりリード／ライトができる場合とできない場合とがある。
【０００８】
例えば、リードエラーが発生した際に、エラー要因が、ヘッドを指定された位置に移動させるシークである場合には、リトライによってシークが問題なく行われれば、リードができる。しかし、エラー要因が情報記録媒体における傷等の損傷である場合には、その損傷が激しいセクタに対してリトライが行われても、リードができない。
【０００９】
このようにエラー要因が異なるリード／ライトエラーに対しても、ディスクドライブは、同じ規定リトライ回数に基づいて、リトライを行うので、エラー要因によっては、規定リトライ回数に達するまで、必要以上にリトライを繰り返すことになる。つまり、ディスクドライブは、無駄なリトライを行っていることになり、その結果、全リトライ回数も多くなり、リトライを行うリトライ時間が長くなってしまう。
【００１０】
また、リトライが行われている間、ホストコンピュータとディスクドライブとは、リトライを行うために略占有されてしまい、リトライ以外の処理を実行することが困難な状態になっている。特に、ホストコンピュータは、他に接続されている装置とのレスポンスも悪くなり、様々な処理を実行することが難しい状態になっている。このような状態が長く続くことを防ぐためにも、リトライ時間を短縮する必要がある。
【００１１】
本発明は、リトライを実行するリトライ時間を短縮することができるディスク装置を提供することを目的とする。
【００１２】
【課題を解決するための手段】
請求項１記載の発明は、上位装置からのコマンドに従って、情報記録媒体に対してデータのリード／ライトを実行し、リード／ライトエラーが発生した場合に、再度リード／ライトを行うリトライを実行するディスク装置において、リード／ライトエラーのエラーが発生したエラー位置と、エラーが発生したエラー条件を記憶する記憶手段と、前記記憶手段に記憶された前記エラー位置に基づいて、リード／ライトを実行する際のリード／ライト位置がエラー位置であるか否かを判断するエラー位置判断手段と、前記記憶手段に記憶された前記エラー条件に基づいて、リード／ライトを実行する際のリード／ライト実行条件がエラー条件であるか否かを判断するエラー条件判断手段と、リード／ライトエラーを前記上位装置に報知するエラー報知手段を有し、前記エラー位置判断手段がリード／ライト実行位置がエラー位置であると判断し、且つ、前記エラー条件判断手段がリード／ライト実行条件がエラー条件であると判断した場合には、リード／ライトを実行しないで前記エラー報知手段によりリード／ライトエラーの発生を前記上位装置に報知する。
【００１３】
したがって、記憶手段に格納されたリード／ライトエラーが発生した場所の位置であるエラー位置とその際のリード／ライト条件であるエラー条件に基づいて、再び同じエラー位置に対して同じリード／ライト条件を実行した場合には、リード／ライトを実行することなく終了させるため、無駄なリトライを行うことがなく、リトライを実行するリトライ時間を短縮することができる。
【００１４】
請求項２記載の発明は、請求項１記載のディスク装置において、リトライが規定リトライ回数行われたか否かを判断するリトライ回数判断手段と、を有し、前記エラー位置判断手段がリード／ライト実行位置がエラー位置でないと判断し、及び／又は、前記エラー条件判断手段がリード／ライト実行条件がエラー条件でないと判断した場合に、リード／ライトを実行し、リード／ライトの実行中にエラーが発生したと判断されると、リード／ライトのリトライを実行し、前記リトライ回数判断手段により規定リトライ回数行われたと判断されたとき、前記記憶手段にエラー位置とエラー条件を格納すると共に、前記エラー報知手段によりリード／ライトエラーの発生を前記上位装置に報知する。
【００１５】
したがって、リトライによってリード／ライトができなかった場合に、リード／ライトエラーが発生した場所の位置であるエラー位置と最後にリード／ライトを実行した際のリード条件をエラー位置に対応させて記憶手段に格納する。
【００１６】
請求項３記載の発明は、請求項１又は２記載のディスク装置において、前記エラー条件が前記情報記録媒体の回転速度である。
【００１７】
したがって、エラー位置に対してリード／ライトを実行する場合には、リード／ライト条件として情報記録媒体の回転速度を変更することによって、リード／ライトができることがある。
【００１８】
請求項４記載の発明は、請求項1又は２記載のディスク装置において、前記エラー条件は、データのビットエラーに対するエラー訂正方法である。
【００１９】
したがって、エラー位置に対してリードを実行する場合には、リード条件としてエラー訂正方法を変更することによって、リードができることがある。
【００２４】
【発明の実施の形態】
本発明のディスク装置の第一の実施の形態について説明する。本実施の形態のディスク装置の一例として、情報記録媒体である光ディスク（ＣＤ−ＲＷディスク）に対してリード／ライトを実行する光ディスクドライブについて、図１ないし図３に基づいて説明する。
【００２５】
図１は、本実施の形態における光ディスクドライブ１の電気的に接続される各部の概略構成を示すブロック図である。図１に示すように、光ディスクドライブ１は、光ディスク２を任意の回転速度で回転させるスピンドルモータ３、このスピンドルモータ３の制御を行う回転制御部４、光ディスク２にレーザ光を照射するヘッドである光ピックアップ５、この光ピックアップ５を光ディスク２の半径方向に移動させるスライダモータ６、このスライダモータ６の制御を行うスライダモータ制御部７、光ピックアップ５の制御を行う光ピックアップ制御部８、光ピックアップ５からの信号を処理する信号処理部９、各種プログラム及び格納データを演算処理し各部の動作を制御するＣＰＵ（Central Processing Unit）１０、リード／ライト処理プログラムや制御プログラム等の固定的データを予め格納する記憶媒体であるＲＯＭ（Read Only Memory）１１、光ディスク２から読み出したリードデータ及び光ディスク２に書き込むライトデータ等を一時的に格納する記憶手段であるＲＡＭ（Random Access Memory）１２等を備えている。
【００２６】
このような光ディスクドライブ１は、外部インターフェース（図示せず）を介して上位装置であるホストコンピュータ１３に接続されており、光ディスクドライブ１のＣＰＵ１０は、一時的にＲＡＭ１２に格納されたリードデータをホストコンピュータ１３に送信し、ライトデータをホストコンピュータ１３から一時的にＲＡＭ１２に格納する処理も行う。
【００２７】
このＲＡＭ１２には、リトライテーブルも記憶されている。図２は、エラー要因と各エラー要因に対応する規定リトライ回数とを管理するリトライテーブルである。図２に示すように、このリトライテーブルは、エラー要因を格納し、各エラー要因に対応させて、規定リトライ回数を格納しているものである。また、ＩＤは、エラー要因毎に付けられた固有の番号である。
【００２８】
ここで、シークエラーとは、シークが正常に行われなかった場合に発生するエラーのことである。また、ＥＣＣ（Error Check and Correct）エラーとは、ビットエラーのことであり、ビットエラーの検出及び訂正を行うＥＣＣによって、検出され訂正できなかった場合に発生するエラーのことである。このＥＣＣは、本来のデータとは別に付加したコードであるＥＣＣ（Error Correcting Code）を用いてビットエラーの検出及び訂正を行うものである。さらに、アドレスエラーとは、光ディスク２に記録されているアドレスが見つからなかった場合に発生するエラーである。
【００２９】
本実施の形態において、光ディスク２（ＣＤ−ＲＷ）は、データが記録される記録層を有し、円盤状に形成されたものであり、その表面には、記録トラックが螺旋状に、あるいは、同心円状に形成されている。
【００３０】
記録層は、溶融後に急冷するとアモルファス状態（非結晶状態）になり、加熱後に徐冷するとクリスタル状態（結晶状態）になる相変化型材料から構成されている。そして、記録層に対する溶融及び過熱は、それぞれ異なる強度のレーザ光によって行われる。つまり、データのライトは、光ディスク２を回転させながら、照射するレーザ光の強度を順次変えることによって、記録層にアモルファス状態とクリスタル状態との部分を形成することで行われる。
【００３１】
また、記録層は、アモルファス状態とクリスタル状態とによって光の反射率が異なる。したがって、データのリードは、光ディスク２を回転させながら、記録層にその状態を変化させないレーザ光を照射し、記録層からの反射光の強度を検出することで行なわれる。
【００３２】
また、光ディスク２の記録トラックは、フォーマットによって、セクタという部分に分割されて構成されている。そして、このセクタ単位で、リード／ライトは行われる。さらに、各セクタの先頭には、セクタの通し番号としてアドレスが記録されており、アドレスは光ディスク２におけるセクタの位置を示すものである。つまり、リード／ライトを行う位置であるリード／ライト位置は、アドレスによって指定される。
【００３３】
このような構成において、ライト処理によりデータが記録された光ディスク２に対して、ＲＯＭ１１に格納されたリード処理プログラムがＣＰＵ１０に実行させるリード処理について図３に基づいて説明する。図３は、本実施の形態のリード処理の流れを示すフローチャートである。
【００３４】
ホストコンピュータ１３から光ディスクドライブ１にリードコマンドが入力されると、光ディスクドライブ１のＣＰＵ１０は、リードコマンドによって指定されたセクタに対するリード処理を行う。ここで、セクタの指定は、リードコマンドによりリード位置を示すアドレスが指定されることによって行われている。ここで、リード位置は、シーク時の光ピックアップ５の着地位置でもある。
【００３５】
ＣＰＵ１０は、回転制御部４によりスピンドルモータ３を駆動させて、光ディスク２を回転させ、スライダモータ制御部７によりスライダモータ６を駆動させて、光ピックアップ５を光ディスク２の半径方向に移動させながら、光ピックアップ５によりアドレスのリードを行い、指定されたセクタを見つけ出し（シーク動作）、そのセクタに対してリードを実行する（ステップＳ１）。
【００３６】
ここで、ＣＰＵ１０は、正常にリードができたか、すなわち、リードエラーが発生したか否かを判断する（Ｓ２）。リードエラーが発生していなかった場合には（Ｓ２のＮ）、リードができたと判断して、リード処理を終了させる。
【００３７】
リードエラーが発生した場合には（Ｓ２のＹ）、まず、エラー要因を判別して取得し（Ｓ３）、取得したエラー要因に対応する規定リトライ回数をリトライテーブル（図２参照）から取得する（Ｓ４）。ここに、規定リトライ回数取得手段の機能が実現される。
【００３８】
そして、ＣＰＵ１０は、規定リトライ回数に達するまでリトライが繰り返されたか否かを判断する（Ｓ５）。ここに、リトライ回数判断手段の機能が実現される。
【００３９】
規定リトライ回数に達するまでリトライが繰り返されなかった場合には（Ｓ５のＮ）、リトライ回数に1を加算して、再びリトライを実行する（Ｓ１）。つまり、ＣＰＵ１０は、規定リトライ回数に達するまで、リトライを繰り返すことになる（Ｓ１〜Ｓ５）。このリトライ中にリードができ、エラーが発生しなかった場合には（Ｓ２のＮ）、リード処理を終了させる。
【００４０】
規定リトライ回数に達するまでリトライが繰り返された場合には（Ｓ５のＹ）、ＣＰＵ１０は、エラーコードをホストコンピュータ１３に送信して（Ｓ６）、エラーを報知し、リード処理を終了させる。ここに、エラー報知手段の機能が実現される。
【００４１】
また、本実施の形態においては、リード処理のスタート時にリトライ回数をクリアするが、これに限るものではない。そして、本実施の形態において、リトライ時にエラー要因を取得する際に（Ｓ３）、エラー要因が前回のリトライ時のエラー要因と変わってしまった場合には、リトライ回数をクリアするが、これに限るものではない。
【００４２】
ここで、例えば、リードができずにリードエラーが発生した場合には（Ｓ２のＹ）、まず、発生したリードエラーのエラー要因が取得され（Ｓ３）、そのエラー要因がＥＣＣエラーであるとすると、リトライテーブルに基づいて（図２参照）、ＥＣＣエラーに対応する規定リトライ回数が３回として取得される（Ｓ４）。そして、規定リトライ回数に基づいて、リトライを繰り返しても（Ｓ５のＮ）、リードができずにリードエラーが発生し（Ｓ２のＹ）、規定リトライ回数に達するまでリトライが繰り返された場合には（Ｓ５のＹ）、エラーコードがホストコンピュータ１３に送信されて（Ｓ６）、エラーが報知され、リード処理が終了する。
【００４３】
本実施の形態においては、規定リトライ回数をエラー要因に対応させて変更することによって、ディスク装置が、エラー要因に対応した規定リトライ回数に基づいてリトライを繰り返し、エラー要因に適した必要回数のリトライを行い、無駄なリトライを行うことがないので、リトライ時間を短縮することができ、ホストコンピュータ１３や光ディスクドライブ１をリトライにより長時間占有することなく、リトライ以外の処理を実行しやすい状態に早く戻すことができる。
【００４４】
本発明のディスク装置の第二の実施の形態について説明する。本実施の形態のディスク装置の一例として、光ディスクに対してリード又はライトを実行する光ディスクドライブについて、図４及び図５に基づいて説明する。なお、第一の実施の形態において説明した部分と同一部分は同一符号で示し、説明も省略する（以下の実施の形態でも同じとする）。
【００４５】
本実施の形態の基本的構成は、第一の実施の形態と同じであり、第一の実施の形態（図２参照）との相違点は、ＲＡＭ１２に記憶されたリトライテーブルの項目にエラー位置を加えた点である（図４参照）。このエラー位置としては、例えば、リードエラーが発生したセクタのアドレスが格納される。
【００４６】
このような構成において、ＲＯＭ１１に格納されたリード処理プログラムがＣＰＵ１０に実行させるリード処理について図５に基づいて説明する。図５は、本実施の形態のリード処理の流れを示すフローチャートである。
【００４７】
ホストコンピュータ１３から光ディスクドライブ１にリードコマンドが入力されると、光ディスクドライブ１のＣＰＵ１０は、リードコマンドによって指定されたセクタに対するリード処理を行う。ここで、セクタの指定は、リードコマンドによりリード位置を示すアドレスが指定されることによって行われている。
【００４８】
まず、ＣＰＵ１０は、リトライテーブルに基づいて（図４参照）、リード位置がエラー位置であるか否かを判断する（ステップＳ１０）。ここに、エラー位置判断手段の機能が実現される。
【００４９】
リード位置がエラー位置であった場合には（Ｓ１０のＹ）、ＣＰＵ１０は、リードを実行しないで、エラーコードをホストコンピュータ１３に送信して（Ｓ６）、エラーを報知し、リード処理を終了させる。
【００５０】
リード位置がエラー位置でなかった場合には（Ｓ１０のＮ）、ＣＰＵ１０は、リードを実行する。ここで、光ディスクドライブ１のリード動作は、第一の実施の形態と同じである。また、この後のリード処理Ｓ２〜Ｓ５も第一の実施の形態と同じである（図３参照）が、規定リトライ回数に達するまでリトライが繰り返された場合には（Ｓ５のＹ）、リードエラーが発生したセクタのアドレスをエラー位置としてリトライテーブルに格納する（Ｓ１１）。ここに、エラー位置格納手段の機能が実現される。
【００５１】
そして、ＣＰＵ１０は、エラーコードをホストコンピュータ１３に送信して（Ｓ６）、エラーを報知し、リード処理を終了させる。
【００５２】
ここで、本実施の形態においては、光ディスク２が光ディスクドライブ１から取り出された時に、リトライテーブルに格納されたエラー位置をクリアするが、これに限るものではない。
【００５３】
本実施の形態においては、リトライによってリードができなかった場合に、リードエラーが発生したセクタのアドレスをエラー位置としてリトライテーブルに格納することによって、再び同じエラー位置のセクタに対してリードを実行した場合には、リードを実行することなく、リード処理を終了させるので、無駄なリトライを行うことがなく、リトライ時間を短縮することができ、ホストコンピュータ１３や光ディスクドライブ１をリトライにより長時間占有することなく、リトライ以外の処理を実行しやすい状態に早く戻すことができる。
【００５４】
本発明のディスク装置の第三の実施の形態について説明する。本実施の形態のディスク装置の一例として、光ディスクに対してリード又はライトを実行する光ディスクドライブについて、図６及び図７に基づいて説明する。
【００５５】
本実施の形態の基本的構成は、第二の実施の形態と同じであり、第二の実施の形態（図４参照）との相違点は、ＲＡＭ１２に記憶されたリトライテーブルの項目にエラー位置に対応するエラー条件を加えた点である（図６参照）。このエラー条件は、規定リトライ回数に達するまでリトライが繰り返された場合に、最後のリードを実行した際のリード条件で、エラー位置に対応させてリトライテーブルに格納されたものである。
【００５６】
リード条件としては、例えば、光ディスク２の回転速度、データのビットエラー対するエラー訂正方法（訂正なし、一重訂正、二重訂正等）、シーク時の光ピックアップ５の着地位置等がある。本実施の形態においては、リード条件を光ディスク２の回転速度として、この回転速度をＡ、Ｂ、Ｃの三段階に変更可能である。
【００５７】
このような構成において、ＲＯＭ１１に格納されたリード処理プログラムがＣＰＵ１０に実行させるリード処理について図７に基づいて説明する。図７は、本実施の形態のリード処理の流れを示すフローチャートである。
【００５８】
ホストコンピュータ１３から光ディスクドライブ１にリードコマンドが入力されると、光ディスクドライブ１のＣＰＵ１０は、リードコマンドによって指定されたセクタに対するリード処理を行う。ここで、セクタの指定は、リードコマンドによりリード位置を示すアドレスが指定されることによって行われている。
【００５９】
まず、第二の実施の形態のリード処理と同じく、ＣＰＵ１０は、リトライテーブルに基づいて（図６参照）、リード位置がエラー位置であるか否かを判断する（Ｓ１０）。
【００６０】
リード位置がエラー位置であった場合には（Ｓ１０のＹ）、リトライテーブルに基づいて（図６参照）、そのエラー位置に対してリードを行うリード条件が、そのエラー位置に対応するエラー条件であるか否かを判断する（Ｓ２０）。ここに、エラー条件判断手段の機能が実現される。
【００６１】
リード条件がエラー条件であった場合には（Ｓ２０のＹ）、エラーコードをホストコンピュータ１３に送信して（Ｓ６）、エラーを報知し、リード処理を終了させる。
【００６２】
リード条件がエラー条件でなかった場合には（Ｓ２０のＮ）、リードを実行する（Ｓ１）。ここで、光ディスクドライブ１のリード動作は、第二の実施の形態と同じである。
【００６３】
また、この後のリード処理Ｓ２〜Ｓ５、Ｓ１１も第二の実施の形態と同じであるが（図５参照）、規定リトライ回数に達するまでリトライが繰り返された場合には（Ｓ５のＹ）、最後にリードを実行した際のリード条件をエラー条件としてエラー位置に対応させてリトライテーブルに格納する（Ｓ２１）。ここに、エラー条件格納手段の機能が実現される。
そして、ＣＰＵ１０は、エラーコードをホストコンピュータ１３に送信して（Ｓ６）、エラーを報知し、リード処理を終了させる。
【００６４】
ここで、本実施の形態においては、光ディスク２が光ディスクドライブ１から取り出された時に、リトライテーブルに格納されたエラー位置及びエラー条件をクリアするが、これに限るものではない。
【００６５】
本実施の形態においては、リトライによってリードができなかった場合に、最後にリードを実行した際のリード条件として光ディスク２の回転速度をエラー位置に対応させてリトライテーブルに格納することによって、光ディスク２の回転速度を変更して再び同じリード位置のセクタにリードを実行した場合には、エラー位置に対応する光ディスク２の回転速度が変更されていることが分かり、変更された回転速度でエラー位置のセクタに対してリードを実行することができる。
【００６６】
ここで、光ディスクドライブ１は、リード条件として光ディスク２の回転速度を変更することによって、エラー位置のセクタに対してリードを実行した場合に、リードができることがある。また、リード条件としてエラー訂正方法を変更することによって、エラー位置のセクタに対してリードを実行した場合に、リードができることがある。さらに、リード条件として、エラー位置のアドレスをその直前のリード／ライト位置のアドレスで補完することにより、シーク時の光ピックアップ５の着地位置を変更することによって、エラー位置のセクタに対してリード／ライトを実行した場合に、リードができることがある。
【００６７】
なお、本発明の第一ないし第三の実施の形態においては、リード処理プログラムについて説明しているが、このリード処理プログラムは、ライト処理プログラムとしても適用することができる。ここで、ライトエラーのエラー要因をリード処理用のリトライテーブルに格納しても良く、あるいは、ライト処理用のリトライテーブルをＲＡＭ１２に記録しておいても良い。
【００６８】
また、本発明の第一ないし第三の実施の形態においては、光ディスク２に対してリード／ライトを実行する光ディスクドライブ１を用いているが、これに限るものではなく、磁気ディスクに対してリード／ライトを実行する磁気ディスクドライブを用いても良く、さらに、光磁気ディスクに対してリード／ライトを実行する光磁気ディスクを用いても良い。
【００６９】
【発明の効果】
請求項１記載の発明によれば、上位装置からのコマンドに従って、情報記録媒体に対してデータのリード／ライトを実行し、リード／ライトエラーが発生した場合に、再度リード／ライトを行うリトライを実行するディスク装置において、リード／ライトエラーのエラーが発生したエラー位置と、エラーが発生したエラー条件を記憶する記憶手段と、前記記憶手段に記憶された前記エラー位置に基づいて、リード／ライトを実行する際のリード／ライト位置がエラー位置であるか否かを判断するエラー位置判断手段と、前記記憶手段に記憶された前記エラー条件に基づいて、リード／ライトを実行する際のリード／ライト実行条件がエラー条件であるか否かを判断するエラー条件判断手段と、リード／ライトエラーを前記上位装置に報知するエラー報知手段を有し、前記エラー位置判断手段がリード／ライト実行位置がエラー位置であると判断し、且つ、前記エラー条件判断手段がリード／ライト実行条件がエラー条件であると判断した場合には、リード／ライトを実行しないで前記エラー報知手段によりリード／ライトエラーの発生を前記上位装置に報知することから、記憶手段に格納されたリード／ライトエラーが発生した場所の位置であるエラー位置とその際のリード／ライト条件であるエラー条件に基づいて、再び同じエラー位置に対して同じリード／ライト条件を実行した場合には、リード／ライトを実行することなく終了させるので、無駄なリトライを行うことがなく、リトライを実行するリトライ時間を短縮することができ、上位装置やディスク装置をリトライにより長時間占有することなく、リトライ以外の処理を実行しやすい状態に早く戻すことができる。
【００７０】
請求項２記載の発明によれば、請求項１記載のディスク装置において、リトライが規定リトライ回数行われたか否かを判断するリトライ回数判断手段と、を有し、前記エラー位置判断手段がリード／ライト実行位置がエラー位置でないと判断し、及び／又は、前記エラー条件判断手段がリード／ライト実行条件がエラー条件でないと判断した場合に、リード／ライトを実行し、リード／ライトの実行中にエラーが発生したと判断されると、リード／ライトのリトライを実行し、前記リトライ回数判断手段により規定リトライ回数行われたと判断されたとき、前記記憶手段にエラー位置とエラー条件を格納すると共に、前記エラー報知手段によりリード／ライトエラーの発生を前記上位装置に報知することから、リトライによってリード／ライトができなかった場合に、リード／ライトエラーが発生した場所の位置であるエラー位置と最後にリード／ライトを実行した際のリード条件をエラー位置に対応させて記憶手段に格納することができる。
【００７１】
請求項３記載の発明によれば、請求項１又は２記載のディスク装置において、エラー条件は、情報記録媒体の回転速度であることから、エラー位置に対してリード／ライトを実行する場合には、リード／ライトを実行する場合には、リード／ライト条件として情報記録媒体の回転速度を変更することによって、リード／ライトができることがある。
【００７２】
請求項４記載の発明によれば、請求項１又は２記載のディスク装置において、エラー条件は、データのビットエラーに対するエラー訂正方法であることから、エラー位置に対してリードを実行する場合には、リード条件としてエラー訂正方法を変更することによって、リードができることがある。
【図面の簡単な説明】
【図１】本発明の第一の実施の形態におけるディスク装置の一例である光ディスクドライブの電気的に接続される各部の概略構成を示すブロック図である。
【図２】第一の実施の形態におけるエラー要因と各エラー要因に対応する規定リトライ回数とを管理するリトライテーブルである。
【図３】第一の実施の形態におけるリード処理の流れを示すフローチャートである。
【図４】本発明の第二の実施の形態におけるエラー要因と各エラー要因に対応する規定リトライ回数とエラー位置とを管理するリトライテーブルである。
【図５】第二の実施の形態におけるリード処理の流れを示すフローチャートである。
【図６】本発明の第三の実施の形態におけるエラー要因と各エラー要因に対応する規定リトライ回数とエラー位置とリード条件とを管理するリトライテーブルである。
【図７】第三の実施の形態におけるリード処理の流れを示すフローチャートである。
【図１】
0003938861.tif 000002
【図２】
0003938861.tif 000003
【図３】
0003938861.tif 000004
【図４】
0003938861.tif 000005
【図５】
0003938861.tif 000006
【図６】
0003938861.tif 000007
【図７】
0003938861.tif 000008