(57)【特許請求の範囲】
【請求項１】
記録媒体からリードされるデータを一時的に格納するバッファ手段を備えた記憶装置におけるデータリード方法であって、
前記記録媒体からのデータリード時にリードエラーを検出するエラー検出ステップと、
前記リードエラーを検出した際に救済処理を行うエラー処理ステップを含み、
前記エラー処理ステップは、前記リードエラーを検出した際に、リードリトライパラメータ毎の救済処理成功回数のうち救済処理成功回数の多い救済処理を選択して行うステップと、前記選択して行われた救済処理が成功すると救済処理成功回数をインクリメントするステップと、前記記録媒体上の同じ領域から同じデータを複数回リードして前記バッファ手段の第１の領域に格納するリードステップと、複数回リードされたデータを１又は複数ビットの単位で比較して、比較結果に基づき各単位について最も頻度の高いデータ値からなるリードデータを生成し前記バッファ手段の第２の領域に格納する生成ステップと、前記第２の領域に格納されたリードデータに対して誤り検出及び訂正処理を行う訂正ステップを含み、
前記生成ステップは、前記比較結果が所定回数以上同じであると、前記単位を構成するビット数を増加させる、
データリード方法。
【請求項２】
記録媒体からリードされるデータを一時的に格納するバッファ手段を備えた記憶装置であって、
前記記録媒体からのデータリード時にリードエラーを検出するエラー検出手段と、
前記リードエラーを検出した際に救済処理を行うエラー処理手段を備え、
前記エラー処理手段は、前記リードエラーを検出した際に、リードリトライパラメータ毎の救済処理成功回数のうち救済処理回数の多い救済処理を選択して行い、前記選択して行われた救済処理が成功すると救済処理成功回数をインクリメントし、前記記録媒体上の同じ領域から同じデータを複数回リードして前記バッファ手段の第１の領域に格納し、複数回リードされたデータを１又は複数ビットの単位で比較して、比較結果に基づき各単位について最も頻度の高いデータ値からなるリードデータを生成し前記バッファ手段の第２の領域に格納し、前記第２の領域に格納されたリードデータに対して誤り検出及び訂正処理を行い、前記比較結果が所定回数以上同じであると前記単位を構成するビット数を増加させる、記憶装置。
【請求項３】
前記エラー処理手段は、前記単位を、前記比較結果が最も高い頻度で同じになるビット数に可変設定する、請求項２記載の記憶装置。
【請求項４】
記録媒体からリードされるデータを一時的に格納するバッファ手段を備えた記憶装置の制御装置であって、
リードエラーを検出した際に救済処理を行うエラー処理手段を備え、
前記エラー処理手段は、前記リードエラーを検出した際に、リードリトライパラメータ毎の救済処理成功回数のうち救済処理回数の多い救済処理を選択して行い、前記選択して行われた救済処理が成功すると救済処理成功回数をインクリメントし、前記記録媒体上の同じ領域から同じデータを複数回リードして前記バッファ手段の第１の領域に格納し、前記複数回リードされたデータを１又は複数ビット単位で比較して、比較結果に基づき各単位について最も頻度の高いデータ値からなるリードデータを生成し前記バッファ手段の第２の領域に格納し、前記第２の領域に格納されたリードデータに対して誤り検出及び訂正処理を行い、前記比較結果が所定回数以上同じであると前記単位を構成するビット数を増加させる、制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データリード方法及び記憶装置に関し、特に低品質のリードデータを救済するデータリード方法及びこのようなデータリード方法を採用する記憶装置に関する。
【背景技術】
【０００２】
近年、磁気ディスク装置、光ディスク装置等の記憶装置で用いるディスクの記憶容量の増大に伴い、ディスクからリードされるリードデータを高品質に保つことが要求されている。
【０００３】
従来は、リトライ処理や、誤り検出及び訂正処理を行うことにより、リードデータの高品質化を図っていた。リトライ処理では、光ディスク装置の場合は例えばフォーカスオフセット等の各種リトライパラメータを変更することで、リードデータの救済効率を向上している。又、誤り検出及び訂正処理では、誤り訂正符号（ＥＣＣ）を用いることで、リードデータの品質を向上している。従って、リトライ処理と誤り検出及び訂正処理を行うことで、リードデータの品質を向上させることができる。
【０００４】
しかし、例えば光ディスクでは、従来はグルーブにより離間しているランドにデータを記録するランド記録方式が採用されていたが、最近ではデータ記録密度を更に増大させるためにグルーブにもデータを記録する、所謂ランド・グルーブ記録方式が提案されている。このランド・グルーブ記録方式を採用する光ディスクの場合、隣接トラック間の距離は極めて短いため、隣接トラックからのクロストークが発生しやすく、リードデータの品質が低下してしまう。
【特許文献１】特開平３−２１４４６５号公報
【特許文献２】特開平１−１１６９６８号公報
【特許文献３】特開平１１−９６６８１号公報
【特許文献４】特開平４−１４１８６２号公報
【特許文献５】特開２０００−１１３６０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
このように、ディスク等の記録媒体上のデータ記録密度が高いために、記録媒体上の隣接トラックからのクロストークが発生しやすい環境では、リードデータが低品質であるため、上記の如き従来のリトライ処理や誤り検出及び訂正処理を行っても、リードデータを救済することが困難であるという問題があった。
【０００６】
このような問題は、光ディスクの場合に限定されず、磁気ディスク等の記録媒体においても、狭トラックピッチ化によるクロストークの影響により発生する。
【０００７】
そこで、本発明は、リードデータが低品質であっても、リードデータを救済して高品質のリードデータを得ることのできるデータリード方法及び記憶装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題は、記録媒体からリードされるデータを一時的に格納するバッファ手段を備えた記憶装置におけるデータリード方法であって、前記記録媒体からのデータリード時にリードエラーを検出するエラー検出ステップと、前記エラー検出の際に、救済処理を行うか判定する判定ステップと、前記判定の結果に基づき救済処理を実施する救済ステップとを含み、前記救済ステップは、前記記録媒体上の同じ領域から同じデータを複数回リードして前記バッファ手段の第１の領域に格納するリードステップと、複数回リードされたデータを１又は複数ビットの単位で比較して、比較結果に基き各単位について最も頻度の高いデータ値からなるリードデータを生成し前記バッファ手段の第２の領域に格納する生成ステップと、前記第２の領域に格納されたリードデータに対して誤り検出及び訂正処理を行う訂正ステップとを有することを特徴とするデータリード方法により達成できる。
【０００９】
上記の課題は、記録媒体からリードされるデータを一時的に格納するバッファ手段を備えた記憶装置であって、前記記録媒体からのデータリード時にリードエラーを検出するエラー検出手段と、前記エラー検出の際に、救済処理を行うか判定する判定手段と、前記判定の結果に基づき救済処理を実施する救済手段とを備え、前記救済手段は、前記記録媒体上の同じ領域から同じデータを複数回リードして前記バッファ手段の第１の領域に格納するリード手段と、複数回リードされたデータを１又は複数ビットの単位で比較して、比較結果に基き各単位について最も頻度の高いデータ値からなるリードデータを生成し前記バッファ手段の第２の領域に格納する生成手段と、前記第２の領域に格納されたリードデータに対して誤り検出及び訂正処理を行う訂正手段とを有することを特徴とする記憶装置によって達成できる。
【００１０】
従って、本発明によれば、リードデータが低品質であっても、リードデータを救済して高品質のリードデータを得ることのできるデータリード方法及び記憶装置を実現することが可能となる。
【００１１】
本発明は、特にランダム的なエラー、即ち、キャリアノイズ比（ＣＮＲ）が低くノイズ成分が相対的に多く見える状態に対して効果を発揮する。
【００１２】
又、何度かリードを行い、最も出現頻度の高い値を採用することにより、正しいデータにヒットする確率を高くすることができる。
【００１３】
更に、記録媒体の隣接トラックからのクロストークだけではなく、記録媒体表面に付着した塵埃等の原因によりＣＮＲが低下した状態であっても、ランダム的なエラーの場合は何度かリードを行い、最も出現頻度の高い値を採用することにより、見かけ上のＣＮＲを向上させることができる。
【発明の効果】
【００１４】
本発明によれば、リードデータが低品質であっても、リードデータを救済して高品質のリードデータを得ることのできるデータリード方法及び記憶装置を実現することが可能となる。
【発明を実施するための最良の形態】
【００１５】
本発明になるデータリード方法及び記憶装置の各実施例を、以下に図面と共に説明する。
【実施例】
【００１６】
図１は、本発明になる記憶装置の第１実施例の基本構成を示す図である。記憶装置の第１実施例は、本発明になるデータリード方法の第１実施例を採用する。本実施例では、本発明が光ディスク装置に適用されている。
【００１７】
図１に示す光ディスク装置は、大略ＭＰＵ１、ＤＲＡＭ２、不揮発性メモリ３、ディジタルシグナルプロセッサ（ＤＳＰ）４、光ディスクコントローラ（ＯＤＣ）５、バス６、ドライバ７、ポジショナ８、レンズアクチュエータ９、光ディスク１１を回転するスピンドルモータ１０、レーザダイオード（ＬＤ）ユニット１２、ライトＬＳＩ回路１３、リードＬＳＩ回路１４、バス１５及び温度センサ１６からなる。ＭＰＵ１、ＤＲＡＭ２、不揮発性メモリ３、ＤＳＰ４及びＯＤＣ５は、バス６により接続されている。又、ＯＤＣ５は、上位装置（図示せず）との間でコマンド及びデータのやり取りを行う上位インタフェース（Ｉ／Ｆ、図示せず）に接続されている。他方、ＯＤＣ５、バス６、ライトＬＳＩ回路１３及びリードＬＳＩ回路１４は、バス１５により接続されている。
【００１８】
ＭＰＵ１は、光ディスク装置の全体的な制御を行う。ＤＲＡＭ２は、ＭＰＵ１とＯＤＣ５とで共用され、ワークアリアを提供するバッファメモリを構成する。不揮発性メモリ３は、例えばＲＯＭからなり、ＭＰＵ１が実行するプログラム等を格納する。ＤＳＰ４は、アナログ・ディジタル変換及びディジタルアナログ変換を含む各種ディジタル処理を行う。ＭＰＵ１は、ＤＳＰ４を経由して、ドライバ７によりスピンドルモータ１０を制御する。光ディスク１１の記録フォーマットが例えばゾーンＣＡＶの場合、スピンドルモータ１０は一定速度で回転される。ＯＤＣ５は、データリード及びデータライトに必要な処理を行う。
【００１９】
ＬＤユニット１２は、レーザダイオード（ＬＤ）とモニタ用ディテクタからなる周知の構成を有する。ＬＤユニット１２により検出されたトラッキングエラー信号（ＴＥＳ）及びフォーカスエラー信号（ＦＥＳ）は、ＤＳＰ４に供給される。ＤＳＰ４は、ＴＥＳに基いてトラッキング制御信号をドライバ７を介してポジショナ８に供給し、トラッキングサーボを行う。又、ＤＳＰ４は、ＦＥＳに基いてフォーカス制御信号をドライバ７を介してレンズアクチュエータ９に供給し、フォーカスサーボを行う。
【００２０】
ＯＤＣ５に対するライト系に設けられたライトＬＳＩ回路１３は、ライト変調部及びＬＤ制御部からなる周知の構成を有し、データライト時には、ＯＤＣ５及びバス１５を介して得られるライトクロック及びライトデータに基いてＬＤユニット１２内のＬＤにＬＤ駆動信号を供給する。ライト変調部は、ライトデータをピットポジションモジュレーション（ＰＰＭ）記録又はパルスウィドスモジュレーション（ＰＷＭ）記録のデータ形式に変換する。他方、ＯＤＣ５に対するリード系に設けられたリードＬＳＩ回路１４は、リード復調部及び周波数シンセサイザからなる周知の構成を有し、データリード時にはＬＤユニット１２内のモニタ用ディテクタからの検出信号が供給される。ライトＬＳＩ回路１４は、検出信号からリードクロック及びリードデータを生成してバス１５を介してＯＤＣ５に供給する。この際、リードＬＳＩ回路１４内のリード復調部では、リードされたＰＰＭデータ又はＰＷＭデータが、元のＮＲＺデータに復調される。
【００２１】
後述するように、リードＬＳＩ回路１４からのリードデータは、ＯＤＣ５内で復号化処理及び誤り検出及び訂正処理を施され、バス６及びＤＲＡＭ２を経由して上位Ｉ／Ｆから上位装置に転送される。他方、ライトデータは、ＯＤＣ５内で符号化処理を施され、バス１５を介してライトＬＳＩ回路１３に供給される。
【００２２】
尚、ＭＰＵ１に対しては、ＤＳＰ４を経由して温度センサ１６からの検出信号が供給されている。従って、ＭＰＵ１２は、温度センサ１６で検出された光ディスク装置内の環境温度に基いて、ＬＤユニット１２内のＬＤの発光パワーを周知の方法で、リード、ライト及びイレーズについて夫々最適値に制御することができる。
【００２３】
本実施例では、ＯＤＣ５の動作に特徴がある。従って、光ディスク装置の基本構成は、図１に示すものに限定されず、各種周知の基本構成を用いることができることは言うまでもない。
【００２４】
図２は、図１に示すＯＤＣ５の構成を示すブロック図である。同図に示すＯＤＣ５は、大略ＭＰＵインタフェースユニット５１、内部プロセッサ５２、フォーマッタエンコーダ・デコーダ５３、ＥＣＣ処理部５４、誤り訂正ユニット５５、ＡＴＡコントローラ５６、バス５７及びＤＲＡＭユニット５８からなる。ＥＣＣ処理部５４は、ＥＣＣシンドロームジェネレータ５４−１とＥＣＣシンドロームバッファ５４−２とからなる。又、ＤＲＡＭユニット５８は、ＤＲＡＭコントローラ４８−１とバッファマネージャ５８−２とからなる。ＭＰＵインタフェースユニット５１、内部プロセッサ５２、フォーマッタエンコーダ・デコーダ５３、ＡＴＡコントローラ５６及びＤＲＡＭユニット５８は、バス５７により接続されている。
【００２５】
ＭＰＵインタフェースユニット５１は、ＭＰＵインタフェース及びバス６を介してＭＰＵ１に接続されている。内部プロセッサ５２は、ＯＤＣ５内の各部を制御する。フォーマッタエンコーダ・デコーダ５３は、ライトデータの符号化及びリードデータの復号化を行う。フォーマッタエンコーダ・デコーダ５３は、ライトクロック及びライトデータをバス１５を介してライトＬＳＩ回路１３に供給すると共に、リードＬＳＩ回路１４からのリードクロック及びリードデータをバス１５を介して供給される。
【００２６】
データライト時には、フォーマッタエンコーダ・デコーダ５３は、上位装置からのＮＲＺライトデータを光ディスク１１のセクタ単位に分割して記録フォーマットを生成する。又、ＥＣＣ処理部５４は、セクタライトデータ単位にＥＣＣを生成してＮＲＺライトデータに付加すると共に、必要に応じて巡回冗長検査（ＣＲＣ）符号を生成して付加する。ＥＣＣはＥＣＣシンドロームジェネレータ５４−１により生成され、ＥＣＣシンドロームバッファ５４−２に格納される。更に、ＥＣＣ処理部５４は、ＥＣＣの符号化が済んだセクタデータを例えば１−７ランレングスリミテッド（ＲＬＬ）符号に変換する。
【００２７】
データリード時には、ＥＣＣ処理部５４は、リードＬＳＩ回路１４からのリードデータ（セクタデータ）に対して１−７ＲＬＬの逆変換を行い、ＥＣＣ処理部５４でＣＲＣを行った後に、誤り訂正ユニット５５においてＥＣＣを用いた誤り検出及び誤り訂正を行う。更に、フォーマッタエンコーダ・デコーダ５３では、セクタ単位のＮＲＺデータを連結してＮＲＺリードデータのストリームとしてリードデータを上位装置へ転送する。
【００２８】
ＡＴＡコントローラ５６は、上位Ｉ／Ｆを介した上位装置とのコマンド及びデータのやり取りを制御する。ＤＲＡＭユニット５８は、ＤＲＡＭインタフェース及びバス６を介してＤＲＡＭ２に接続されている。ＤＲＡＭコントローラ５６−１は、ＤＲＡＭ２へのアクセスを制御し、バッファマネージャ５８−２は、ＤＲＡＭ２内に格納されたデータの管理を行う。
【００２９】
図３は、多数決処理を説明するための第１実施例の要部を示すブロック図である。同図中、図１と同一部分には同一符号を付し、その説明は省略する。
【００３０】
データリード時に、ＭＰＵ１は、例えば光ディスク１１上の同じセクタ領域から同じデータを複数回リードするような制御を行う。例えばｎ回リードを行ってリードＬＳＩ回路１４を介して得られたリードデータＲＤ０〜ＲＤｎ-１は、バッファマネージャ５８−２の管理下及びＤＲＡＭコントローラの制御下で、図３に示すようにＤＲＡＭ２内のバッファ番号０〜ｎ-１の領域に格納される。ＭＰＵ１内の多数決計算部１−１は、ＤＲＡＭ２に格納されたリードデータＲＤ０〜ＲＤｎ-１を１又は複数ビットの単位で比較して、比較結果に基き各単位について最も頻度の高いデータ値からなるリードデータを生成する多数決の計算（以下、多数決処理と言う）を行う。多数決処理後のリードデータＭＲＤは、バッファマネージャ５８−２の管理下及びＤＲＡＭコントローラの制御下で、ＤＲＡＭ２内のバッファ番号ｎの領域に格納される。ＯＤＣ５内では、多数決処理後のリードデータにＭＲＤ対してＥＣＣ処理部５４及び誤り訂正ユニット５５による誤り検出及び訂正処理を行い、誤り訂正されたリードデータが上位Ｉ／Ｆを介して上位装置へ転送される。
【００３１】
図４は、比較の単位が１ビットの場合の多数決リード処理を説明する図である。同図では、リードデータＲＤ０〜ＲＤｎ-１の各々は、バイトＢｙｔｅ０〜ＢｙｔｅＸからなり、各バイトＢｙｔｅ０〜ＢｙｔｅＸは、ビットｂｉｔ０〜ｂｉｔ７からなるものとする。リードデータＲＤ０〜ＲＤｎ-１は、上記の如く、ＤＲＡＭ２内のバッファ番号０〜ｎ-１の領域に格納される。従って、比較の単位が１ビットの場合、同図に示すように、各バッファ番号０〜ｎ-１の先頭ビットｂｉｔ０から順に最終ビットｂｉｔ７まで多数を占める方の論理値「０」又は「１」を採用する多数決処理を先頭バイトＢｙｔｅ０について行い、各多数決ビットをバッファ番号ｎに格納する。このような多数決処理は、次のバイトＢｙｔｅ１から最終バイトＢｙｔｅＸまで、各リードデータＲＤ０〜ＲＤｎ-１に対して同様に行われる。
【００３２】
図５は、多数決リード処理を説明するフローチャートである。多数決リード処理が開始されると、ステップＳ１は、リード回数ｎを設定すると共に、ＤＲＡＭ２内のバッファ番号ｂｕｆｆをｂｕｆｆ＝０に設定する。ステップＳ２は、バッファ番号ｂｕｆｆで示されるＤＲＡＭ２内の領域にリードデータを書き込む。ステップＳ３は、バッファ番号ｂｕｆｆを１だけインクリメントし、ステップＳ４は、ｂｕｆｆ≧ｎであるか否かを判定することで、データリードがリード回数ｎだけ終了したか否かを判定する。ステップＳ４の判定結果がＮＯであると、処理はステップＳ２へ戻る。他方、ステップＳ４の判定結果がＹＥＳであると、比較の単位が１ビットの場合であれば図４と共に説明した多数決処理が行われる。ステップＳ５の後、ステップＳ６は、多数決処理後のリードデータに対して誤り訂正ユニット５５において誤り検出及び訂正処理を行い、多数決リード処理は終了する。
【００３３】
図６は、比較の単位が１ビットの場合の多数決処理、即ち、ステップＳ５の処理を説明するフローチャートである。同図中、多数決処理が開始されると、ステップＳ１１は、光ディスク１１上の１セクタのバイト数ｌｅｎを設定すると共に、リード回数ｎを設定する。ステップＳ１２は、ＭＰＵ１内の比較位置カウンタ（バイト）ｃｂｙｔｅをｃｂｙｔｅ＝０に設定し、ステップＳ１３は、ＭＰＵ１内の比較位置カウンタ（ビット）ｃｂｉｔをｃｂｉｔ＝０に設定する。又、ステップＳ１４は、バッファ番号ｂｕｆｆをｂｕｆｆ＝０に設定すると共に、ビット内容が「１」の個数ｂ１をｂ１＝０に設定する。
【００３４】
ステップＳ１５は、ａｄｒ+ｂｕｆｆ×ｌｅｎ+ｃｂｙｔｅで示されるＤＲＡＭ２のアドレスのリードデータをワーク変数に読み込む。ステップＳ１６は、比較位置カウンタｃｂｉｔで示されるビット内容が「１」であるか否かを判定し、判定結果がＮＯであると、処理は後述するステップＳ１８−１又はＳ１８−２へ進む。他方、ステップＳ１６の判定結果がＹＥＳであると、ステップＳ１７は、ビット内容が「１」の個数ｂ１を「１」だけインクリメントし、処理はステップＳ１８−１又はＳ１８−２へ進む。
【００３５】
ステップＳ１８−１は、過半数以上の比較結果が同一であり、それ以降の処理をスキップする場合に行われる。つまり、ステップＳ１８−１は、ｂ１≧ｎ/２又は（ｂｕｆｆ-ｂ１）≧ｎ/２であるか否かを判定する。他方、ステップＳ１８−２は、２回以上同一の比較結果が得られると、それ以降の処理をスキップする場合に行われる。従って、求められる処理速度に応じて、ステップＳ１８−１又はＳ１８−２の一方を選択すれば良い。ステップＳ１８−１又はＳ１８−２の判定結果がＹＥＳであると、処理は後述するステップＳ２１へ進む。又、ステップＳ１８−１又はＳ１８−２の判定結果がＮＯであると、ステップＳ１９は、バッファ番号ｂｕｆｆを「１」だけインクリメントし、ステップＳ２０は、ｂｕｆｆ≧ｎであるか否かを判定することで、データリードがリード回数ｎだけ終了したか否かを判定する。ステップＳ２０の判定結果がＮＯであると、処理はステップＳ１５へ戻る。他方、ステップＳ２０の判定結果がＹＥＳであると、処理はステップＳ２１へ進む。
【００３６】
ステップＳ２１は、多数決処理後のリードデータの格納領域（バッファ番号ｂｕｆｆ＝ｎ）の比較位置カウンタ（ビット）ｃｂｉｔで示される位置のビットを比較結果の多数を占めた方の論理値「０」又は「１」に設定する。又、ステップＳ２２は、比較位置カウンタ（ビット）ｃｂｉｔを「１」だけインクリメントし、ステップＳ２３は、ｃｂｉｔ≧８であるか否かを判定することで、８ビット分の処理が終了したか否かを判定する。ステップＳ２３の判定結果がＮＯであると、処理はステップＳ１４へ戻る。
【００３７】
ステップＳ２４は、比較位置カウンタ（バイト）ｃｂｙｔｅを「１」だけインクリメントし、ステップＳ２５は、ｃｂｙｔｅ≧ｌｅｎであるか否かを判定することで、１セクタ分の処理が終了したか否かを判定する。ステップＳ２５の判定結果がＮＯであると、処理はステップＳ１３へ戻る。他方、ステップＳ２５の判定結果がＹＥＳであると、多数決処理は終了する。
【００３８】
図７は、比較の単位が４ビットの場合の多数決リード処理を説明する図である。同図では、図４の場合と同様に、リードデータＲＤ０〜ＲＤｎ-１の各々は、バイトＢｙｔｅ０〜ＢｙｔｅＸからなり、各バイトＢｙｔｅ０〜ＢｙｔｅＸは、ビットｂｉｔ０〜ｂｉｔ７からなるものとする。リードデータＲＤ０〜ＲＤｎ-１は、上記の如く、ＤＲＡＭ２内のバッファ番号０〜ｎ-１の領域に格納される。従って、比較の単位が４ビットの場合、同図に示すように、各バッファ番号０〜ｎ-１の先頭４ビットｂｉｔ０〜ｂｉｔ３から順に最終４ビットｂｉｔ４〜ｂｉｔ７まで多数を占める値「０」〜「Ｆ」を採用する多数決処理を先頭バイトＢｙｔｅ０について行い、各多数決ビットをバッファ番号ｎに格納する。このような多数決処理は、次のバイトＢｙｔｅ１から最終バイトＢｙｔｅＸまで、各リードデータＲＤ０〜ＲＤｎ-１に対して同様に行われる。
【００３９】
図８は、比較の単位が４ビットの場合の多数決処理、即ち、ステップＳ５の処理を説明するフローチャートである。同図中、図６と同一ステップには同一符号を付し、その説明は省略する。
【００４０】
図８において、ステップＳ１３−１は、比較位置カウンタ（４ビット）ｃｂｉｔをｃｂｉｔ＝０に設定する。ステップＳ１４−１は、バッファ番号ｂｕｆｆをｂｕｆｆ＝０に設定すると共に、４ビットの内容（０〜Ｆ）の個数を表す配列ｂ[０〜Ｆ]をｂ[０〜Ｆ]＝０に設定する。ステップＳ１６−１は、比較位置カウンタ（４ビット）ｃｂｉｔがｃｂｉｔ＝０の場合は下位バイトの値、ｃｂｉｔ＝１の場合は上位バイトの値を引数とする配列ｂ［０〜Ｆ］の値を「１」だけインクリメントする。例えば、比較位置カウンタｃｂｉｔがｃｂｉｔ＝０、ワーク変数値＝ＤＢの場合、ｂ［Ｂ］＝ｂ［Ｂ］+１とする。又、ステップＳ１８−１ａは、過半数以上の比較結果が同一であり、それ以降の処理をスキップする場合に行われる。この場合、ステップＳ１８−１ａは、ｂ［０〜Ｆ］≧ｎ/２であるか否かを判定する。
【００４１】
ステップＳ２１−１は、多数決処理後のリードデータの格納領域（バッファ番号ｂｕｆｆ＝ｎ）の比較位置カウンタ（４ビット）ｃｂｉｔで示される位置の４ビットの内容、即ち、上位バイト又は下位バイトを、ｂ［０］〜ｂ［Ｆ］の各値の中で最も多い配列の引数とする。例えば、ｂ［０］＝１，ｂ［１］＝０，ｂ［５］＝１０，...，ｂ［Ｆ］＝０の場合、多数決の結果は「５」となる。又、ステップＳ２２−１は、比較位置カウンタ（４ビット）ｃｂｉｔを「１」だけインクリメントし、ステップＳ２３−１は、ｃｂｉｔ≧２であるか否かを判定することで、８ビット分の処理が終了したか否かを判定する。その他の処理は、図６の場合と同じである。
【００４２】
図９は、比較の単位が１バイトの場合の多数決リード処理を説明する図である。同図では、リードデータＲＤ０〜ＲＤｎ-１の各々は、バイトＢｙｔｅ０〜ＢｙｔｅＸからなるものとする。リードデータＲＤ０〜ＲＤｎ-１は、上記の如く、ＤＲＡＭ２内のバッファ番号０〜ｎ-１の領域に格納される。従って、比較の単位が１バイトの場合、同図に示すように、各バッファ番号０〜ｎ-１の先頭１バイトＢｙｔｅ０から順に多数を占める値「０」〜「ＦＦ」を採用する多数決処理を行い、各多数決ビットをバッファ番号ｎに格納する。このような多数決処理は、次のバイトＢｙｔｅ１から最終バイトＢｙｔｅＸまで、各リードデータＲＤ０〜ＲＤｎ-１に対して同様に行われる。
【００４３】
図１０は、比較の単位が１バイトの場合の多数決処理、即ち、ステップＳ５の処理を説明するフローチャートである。同図中、図８と同一ステップには同一符号を付し、その説明は省略する。
【００４４】
図１０において、ステップＳ１４−２は、バッファ番号ｂｕｆｆをｂｕｆｆ＝０に設定すると共に、１バイトの内容（０〜ＦＦ）の個数を表す配列ｂ[０〜ＦＦ]をｂ[０〜ＦＦ]＝０に設定する。ステップＳ１６−２は、ワーク変数の値を引数とする配列ｂ［０〜ＦＦ］の値を「１」だけインクリメントする。例えば、ワーク変数値＝ＤＢの場合、ｂ［ＤＢ］＝ｂ［ＤＢ］+１とする。又、ステップＳ１８−１ｂは、過半数以上の比較結果が同一であり、それ以降の処理をスキップする場合に行われる。この場合、ステップＳ１８−１ｂは、ｂ［０〜ＦＦ］≧ｎ/２であるか否かを判定する。
【００４５】
ステップＳ２１−２は、多数決処理後のリードデータの格納領域（バッファ番号ｂｕｆｆ＝ｎ）の比較位置カウンタ（１バイト）ｃｂｙｔｅで示される位置の１バイトの内容を、ｂ［０］〜ｂ［ＦＦ］の各値の中で最も多い配列の引数とする。例えば、ｂ［０］＝１，ｂ［１］＝０，ｂ［５］＝１０，...，ｂ［ＦＦ］＝０の場合、多数決の結果は「５」となる。又、ステップＳ２２−２は、比較位置カウンタ（１バイト）ｃｂｙｔｅを「１」だけインクリメントし、処理はステップＳ２５へ進む。その他の処理は、図８の場合と同じである。
【００４６】
次に、本発明になるデータリード方法の第２実施例を説明する。データリード方法の第２実施例は、本発明になる記憶装置の第２実施例で採用される。記憶装置の第２実施例の基本構成は、上記記憶装置の第１実施例と同じで良いため、その図示及び説明は省略する。又、後述する本発明になるデータリード方法の第３実施例以降の実施例においても、記憶装置の第１実施例と同じ基本構成が使用可能であるため、記憶装置の説明は省略する。
【００４７】
データリード方法の第２実施例では、多数決処理において連続して比較結果が同一であると次回の比較の単位（比較ビット数）を増加させ、連続して比較結果が異なると次回の比較ビット数を減少させる。多数決処理における比較ビット数は、大きい程処理回数が少なくなるので、本実施例によれば処理速度を向上させることができる。
【００４８】
図１１は、データリード方法の第２実施例における多数決処理を説明するフローチャートである。同図中、図６と同一部分には同一符号を付し、その説明は省略する。本実施例では、比較ビット数は、説明の便宜上、８ビット（１バイト）単位で増減させるものとする。
【００４９】
図１１において、ステップＳ１２−３は、ＭＰＵ１内の比較位置カウンタ（バイト）ｃｂｙｔｅをｃｂｙｔｅ＝０に設定すると共に、比較バイト数ｃｍｐｂｙｔｅをｃｍｐｂｙｔｅ＝１に設定する。ステップＳ１４−３は、バッファ番号ｂｕｆｆをｂｕｆｆ＝０に設定すると共に、比較バイト数ｃｍｐｂｙｔｅ分の内容（０〜ｃｍｐｂｙｔｅ×０ｘ１００-１）の個数を表す配列ｂ［０〜ｃｍｐｂｙｔｅ×０ｘ１００-１］を「０」に設定する。
【００５０】
ステップＳ１５−３は、多数決処理後のリードデータの格納領域（バッファ番号ｂｕｆｆ＝ｎ）の比較位置カウンタ（１バイト）ｃｂｙｔｅで示される位置の比較ビットバイト数ｃｍｐｂｙｔｅ分の内容を、ｂ［０］〜ｂ［ｃｍｐｂｙｔｅ×０ｘ１００-１］の各値の中で最も多い配列の引数とする。例えば、ｂ［０］＝１，ｂ［１］＝０，ｂ［７Ｄ３Ｂ］＝１０，...，ｂ［ｃｍｐｂｙｔｅ×０ｘ１００-１］＝０の場合、多数決の結果は「７Ｄ３Ｂ」となる。又、ステップＳ２２−３は、比較位置カウンタ（１バイト）ｃｂｙｔｅを比較バイト数ｃｍｐｂｙｔｅだけ増加させ、処理はステップＳ３１へ進む。
【００５１】
ステップＳ３１は、今回の比較結果が前回と同一比較結果であるか否かを判定し、判定結果がＹＥＳであると、ステップＳ３２は、比較バイト数ｃｍｐｂｙｔｅを「１」だけインクリメントし、処理はステップＳ２５へ進む。他方、ステップＳ３１の判定結果がＮＯであると、ステップＳ３３は、比較バイト数ｃｍｐｂｙｔｅを「１」だけデクリメントし、処理はステップＳ２５へ進む。ステップＳ２５は、ｃｂｙｔｅ≧ｌｅｎであるか否かを判定することで、１セクタ分の処理が終了したか否かを判定し、判定結果がＹＥＳであると、多数決処理は終了する。
【００５２】
次に、本発明になるデータリード方法の第３実施例を説明する。データリード方法の第３実施例では、リトライパラメータを変更してもリトライ処理が不成功の場合に多数決リード処理を行う。このため、本実施例によれば、リトライ処理では救済できないリードエラーも救済することができる。
【００５３】
図１２は、データリード方法の第３実施例における処理を説明するフローチャートである。同図において、リード処理が開始されると、ステップＳ４１は、データリード処理を実行し、ステップＳ４２は、リードエラーが発生したか否かを判定する。ステップＳ４２の判定結果がＮＯであると、リード処理は正常終了する。他方、ステップＳ４２の判定結果がＹＥＳであると、ステップＳ４３はリードリトライ処理を開始する。
【００５４】
ステップＳ４４は、フォーカスオフセット量ＦＯを設定値αだけ増加させ、ステップＳ４５は、データリード処理を実行する。ステップＳ４６は、リードエラーが発生したか否かを判定する。ステップＳ４６の判定結果がＮＯであると、リード処理は正常終了する。他方、ステップＳ４６の判定結果がＹＥＳであると、ステップＳ４７は、フォーカスオフセット量ＦＯを設定値αだけ減少させ、ステップＳ４８は、データリード処理を実行する。ステップＳ４９は、リードエラーが発生したか否かを判定し、判定結果がＮＯであると、リード処理は正常終了する。
【００５５】
ステップＳ４９の判定結果がＹＥＳであると、ステップＳ５０は、上記第１実施例で説明した多数決リード処理のいずれかを実行する。又、ステップＳ５１は、リードエラーが発生したか否かを判定し、判定結果がＮＯであると、リード処理は正常終了する。ステップＳ５１の判定結果がＹＥＳであると、リード処理は異常終了する。
【００５６】
尚、本実施例では、リトライパラメータとしてフォーカスオフセット量ＦＯを変更しているが、リトライパラメータはフォーカスオフセット量ＦＯに限定されるものではなく、又、変更するリトライパラメータは複数であっても良いことは言うまでもない。
【００５７】
次に、本発明になるデータリード方法の第４実施例を説明する。データリード方法の第４実施例では、リトライ処理が不成功の場合に多数決リード処理を行うと共に、多数決リード処理における比較ビット数をリードエラーの発生に応じて順次増加させる。このため、本実施例によれば、リトライ処理では救済できないリードエラーもより確実に救済することができる。
【００５８】
図１３は、データリード方法の第４実施例における処理を説明するフローチャートである。同図中、図１２と同一ステップには同一符号を付し、その説明は省略する。
【００５９】
図１３において、ステップＳ４９の判定結果がＹＥＳであると、ステップＳ５５は、図６と共に説明した比較ビット数が１の場合の多数決リード処理を実行する。ステップＳ５１−１は、リードエラーが発生したか否かを判定し、判定結果がＮＯであると、リード処理は正常終了する。他方、ステップＳ５１−１の判定結果がＹＥＳであると、ステップＳ５６は、図８と共に説明した比較ビット数が４の場合の多数決リード処理を実行する。ステップＳ５１−２は、リードエラーが発生したか否かを判定し、判定結果がＮＯであると、リード処理は正常終了する。他方、ステップＳ５１−２の判定結果がＹＥＳであると、ステップＳ５７は、図１０と共に説明した比較ビット数が８、即ち、１バイトの場合多数決リード処理を実行する。ステップＳ５１−３は、リードエラーが発生したか否かを判定し、判定結果がＮＯであると、リード処理は正常終了する。他方、ステップＳ５１−３の判定結果がＹＥＳであると、リード処理は異常終了する。
【００６０】
次に、本発明になるデータリード方法の第５実施例を説明する。データリード方法の第５実施例では、リトライ処理が不成功の場合に多数決リード処理を行うと共に、多数決リード処理後にもリードエラーが発生するとリトライパラメータを変更する。このため、本実施例によれば、リトライ処理では救済できないリードエラーもより確実に救済することができる。
【００６１】
図１４は、データリード方法の第５実施例における処理を説明するフローチャートである。同図中、図１２と同一ステップには同一符号を付し、その説明は省略する。
【００６２】
図１４において、ステップＳ４４の後、ステップＳ５０−１は、上記第１実施例におけるいずれかの多数決リード処理を行う。又、ステップＳ５１−４は、リードエラーが発生したか否かを判定し、判定結果がＮＯであると、リード処理は正常終了する。他方、ステップＳ５１−４の判定結果がＹＥＳであると、ステップＳ４７においてフォーカスオフセット量ＦＯを設定値αだけ減少させた後に、ステップＳ５０−２において上記第１実施例におけるいずれかの多数決リード処理を行う。そして、ステップＳ５１−５は、リードエラーが発生したか否かを判定し、判定結果がＮＯであると、リード処理は正常終了する。他方、ステップＳ５１−５の判定結果がＹＥＳであると、リード処理は異常終了する。
【００６３】
次に、本発明になるデータリード方法の第６実施例を説明する。データリード方法の第６実施例では、成功率の高いリトライ処理と多数決リード処理の組み合わせを優先して行う。このため、本実施例によれば、リトライ処理のみでは救済できないリードエラーもより確実に救済することができる。
【００６４】
図１５は、データリード方法の第６実施例における処理を説明するフローチャートである。同図中、図１２及び図１４と同一ステップには同一符号を付し、その説明は省略する。
【００６５】
図１５において、ステップＳ４２の判定結果がＹＥＳであると、ステップＳ６１は、成功回数の多い方のリードリトライを選択する。フォーカスオフセット量ＦＯを増加させて行うリードリトライ処理と多数決リード処理との組み合わせを行うリードリトライＲＲ１の成功回数ＳＮ１の方が、フォーカスオフセット量ＦＯを減少させて行うリードリトライ処理と多数決リード処理との組み合わせを行うリードリトライＲＲ２の成功回数ＳＮ２より多い場合には、処理はステップＳ４３へ進む。他方、成功回数ＳＮ２が成功回数ＳＮ１以上の場合には、処理はステップＳ４７へ進む。
【００６６】
ステップＳ４６の判定結果がＮＯであると、ステップＳ６２は、成功回数ＳＮ１を「１」だけインクリメントし、リード処理は正常終了する。又、ステップＳ５１の判定結果がＮＯであると、ステップＳ６３は、成功回数ＳＮ２を「１」だけインクリメントし、リード処理は正常終了する。
【００６７】
次に、本発明になるデータリード方法の第７実施例を説明する。データリード方法の第７実施例では、ＥＣＣによるエラー訂正が失敗するリトライ処理と多数決リード処理の組み合わせを行う。例えば、データリード中にオフトラックが発生する場合、多数決リード処理中にもオフトラックが発生する可能性が高い。このように、オフトラックが発生している場合に多数決リードを行ってもあまり意味がないので、本実施例では、エラー訂正が失敗するようなリードデータの品質が悪い場合にのみ多数決リード処理を行う。このため、本実施例によれば、エラー訂正が失敗するリトライ処理では救済できないリードエラーもより確実に救済することができる。
【００６８】
図１６は、データリード方法の第７実施例における処理を説明するフローチャートである。同図中、図１２と同一ステップには同一符号を付し、その説明は省略する。
【００６９】
図１６において、ステップＳ４４の後、ステップＳ６５は、前回のリード処理でエラー訂正が失敗したか否かを、後述する訂正エラーフラグＦＬＧに基いて判定する。ステップＳ６５の判定結果がＮＯであると、ステップＳ４５でデータリード処理を行ってから処理がステップＳ４６へ進む。他方、ステップＳ６５の判定結果がＹＥＳであると、ステップＳ５０で多数決リード処理を実行してから処理がステップＳ４６へ進む。
【００７０】
又、ステップＳ４６の判定結果がＹＥＳであると、ステップＳ６７は、訂正エラーが発生したか否かを判定する。ステップＳ４６又はステップＳ６７の判定結果がＮＯであると、ステップＳ６８は、フォーカスオフセット量ＦＯを増加させて行うリードリトライ処理に対する訂正エラーフラグＦＬＧをオフに（クリア）して、リード処理は正常終了する。他方、ステップＳ６７の判定結果がＹＥＳであると、ステップＳ６９は、フォーカスオフセット量ＦＯを増加させて行うリードリトライ処理に対する訂正エラーフラグＦＬＧをオンに（セット）して、リード処理は異常終了する。
【００７１】
尚、説明の便宜上、図１６ではフォーカスオフセット量ＦＯを増加させて行うリードリトライ処理に対する訂正エラーフラグＦＬＧについてのみ示したが、同様の処理をフォーカスオフセット量ＦＯを減少させて行うリードリトライ処理に対する訂正エラーフラグを用いて行っても良いことは、言うまでもない。
【００７２】
次に、本発明になるデータリード方法の第８実施例を説明する。データリード方法の第８実施例では、リードリトライ処理を行う直前のＥＣＣによるエラー訂正が失敗した場合に、直ちに多数決リード処理を行う。つまり、エラー訂正が失敗するようなリードデータの品質が悪い場合には、リトライ処理より多数決リード処理の方がリードエラーを救済できる確率が高いと判断して多数決リード処理を行う。このため、本実施例によれば、エラー訂正が失敗するリトライ処理では救済できないリードエラーを、より速く救済することができる。
【００７３】
図１７は、データリード方法の第８実施例における処理を説明するフローチャートである。同図中、図１２と同一ステップには同一符号を付し、その説明は省略する。
【００７４】
図１７において、ステップＳ４２の判定結果がＹＥＳであると、ステップＳ６７は、訂正エラーが発生したか否かを判定し、判定結果がＮＯであると、処理はステップＳ４３へ進む。他方、ステップＳ６７の判定結果がＹＥＳであると、処理はステップＳ５０へ進み、直ちに多数決リード処理が行われる。
【００７５】
次に、本発明になるデータリード方法の第９実施例を説明する。データリード方法の第９実施例では、リードリトライ処理を行う直前のＥＣＣによるエラー訂正が成功した場合には、多数決リード処理をリードリトライ処理と組み合わせて行わないようにしている。つまり、データリード中にオフトラックが発生する場合、多数決リード処理中にもオフトラックが発生する可能性が高い。このように、オフトラックが発生している場合に多数決リードを行ってもあまり意味がないので、本実施例では、リードリトライ処理を行う直前のエラー訂正が失敗するようなリードデータの品質が悪い場合にのみ多数決リード処理を行う。このため、本実施例によれば、無駄な多数決リード処理をスキップして、処理速度を向上させている。
【００７６】
図１８は、データリード方法の第９実施例における処理を説明するフローチャートである。同図中、図１２及び図１５と同一ステップには同一符号を付し、その説明は省略する。
【００７７】
図１８において、ステップＳ４２の判定結果がＹＥＳであると、ステップＳ７１は、エラー内容を記憶し、処理はステップＳ４３へ進む。ステップＳ４４の後、ステップＳ７２は、記憶されたエラー内容から、前回訂正エラーが発生したか否かを判定する。ステップＳ７２の判定結果がＮＯであると、ステップＳ４５で通常のデータリード処理を実行して、処理はステップＳ４６へ進む。他方、ステップＳ７２の判定結果がＹＥＳであると、ステップＳ５０−１で多数決リード処理を実行して、処理はステップＳ４６へ進む。
【００７８】
又、ステップＳ４７の後、ステップＳ７３は、記憶されたエラー内容から、前回訂正エラーが発生したか否かを判定する。ステップＳ７３の判定結果がＮＯであると、ステップＳ４８で通常のデータリード処理を実行して、処理はステップＳ５１へ進む。他方、ステップＳ７３の判定結果がＹＥＳであると、ステップＳ５０−２で多数決リード処理を実行して、処理はステップＳ５１へ進む。
【００７９】
次に、本発明になるデータリード方法の第１０実施例を説明する。データリード方法の第１０実施例では、多数決リード処理で用いる比較ビット数を、エラー訂正を行った際のエラー救済性能が最も高い値となるビット数に設定する。これにより、エラー救済性能を最適化することができる。
【００８０】
図１９は、データリード方法の第１０実施例における処理を説明するフローチャートであり、比較ビット数選択処理を示す。同図において、比較ビット数選択処理が開始されると、ステップＳ８１〜Ｓ８３が、並行して行われる。ステップＳ８１は、規定のテスト用データをライトするデータライト処理を行う。ステップＳ８２は、ＬＤユニット１２内のＬＤのライトＬＤパワーを増加した状態でテスト用データをライトするデータライト処理を行う。又、ステップＳ８３は、光ディスク１１上の中心トラックと隣接トラックにテスト用データをライトするデータライト処理を行う。ステップＳ８２は、データライト時にストレスをかけた状態を発生するために行われ、ステップＳ８３は、隣接トラックにもデータをライトして隣接トラックからのクロストークを発生するために行われる。このようにストレス又はクロストークの発生を促すことで、比較ビット数の違いによるエラー救済性能の差がでやすくしている。
【００８１】
ステップＳ８１〜Ｓ８３の後、ステップＳ８４及びステップＳ８５が並行して行われる。ステップＳ８４は、比較ビット数を１ビットとして、多数決リード処理を行う。又、ステップＳ８５は、ＬＤユニット１２内のＬＤのリードＬＤパワーを増加した状態で、ステップＳ８４と同様に比較ビット数を１ビットとして多数決リード処理を行う。ステップＳ８５は、データリード時にストレスをかけた状態を発生するために行われる。
【００８２】
ステップＳ８４及びＳ８５の後、ステップＳ８６は、ビット誤り率（ＢＥＲ）を計算して記憶する。
【００８３】
ステップＳ８６の後、ステップＳ８７及びステップＳ８８が並行して行われる。ステップＳ８７は、比較ビット数を４ビットとして、多数決リード処理を行う。又、ステップＳ８８は、ＬＤユニット１２内のＬＤのリードＬＤパワーを増加した状態で、ステップＳ８７と同様に比較ビット数を４ビットとして多数決リード処理を行う。ステップＳ８８は、データリード時にストレスをかけた状態を発生するために行われる。
【００８４】
ステップＳ８７及びＳ８８の後、ステップＳ８９は、ＢＥＲを計算して記憶する。
【００８５】
ステップＳ８９の後、ステップＳ９０及びステップＳ９１が並行して行われる。ステップＳ９０は、比較ビット数を８ビット（１バイト）として、多数決リード処理を行う。又、ステップＳ９１は、ＬＤユニット１２内のＬＤのリードＬＤパワーを増加した状態で、ステップＳ９０と同様に比較ビット数を８ビット（１バイト）として多数決リード処理を行う。ステップＳ９１は、データリード時にストレスをかけた状態を発生するために行われる。
【００８６】
ステップＳ９０及びＳ９１の後、ステップＳ９２は、ＢＥＲを計算して記憶する。
【００８７】
その後、比較ビット数を更に増加させる処理を行っても良く、最終的には、ステップＳ９８が記憶されているＢＥＲの中で、最も良いＢＥＲが得られる最適比較ビット数を選択して記憶する。この最適比較ビット数は、次回行われる多数決リード処理で用いられる。
【００８８】
次に、本発明になるデータリード方法の第１１実施例を説明する。データリード方法の第１１実施例では、上記の如き比較ビット数選択処理を、メディア挿入時、即ち、光ディスク１１が光ディスク装置に挿入された際に行う。
【００８９】
図２０は、データリード方法の第１１実施例における処理を説明するフローチャートであり、比較ビット数選択処理を行うタイミングを示す。同図において、光ディスク装置の電源がオンになると、ステップＳ１０１は、メディア、即ち、光ディスク１１が光ディスク装置に挿入されたか否かを判定する。ステップＳ１０１の判定結果がＹＥＳになると、ステップＳ１０２〜Ｓ１０５が行われる。ステップＳ１０２はスピンドルモータ１０の回転を開始し、ステップＳ１０３はＬＤユニット１２内のＬＤをオンにし、ステップＳ１０４はフォーカスサーボをオンにし、ステップＳ１０５はトラッキングサーボをオンにする。ステップＳ１０６は、図１９と共に説明した如き多数決ビット選択処理を行う。ステップＳ１０６の後、光ディスク装置の電源がオンにされた時と同様の処理が行われ、最終的には、ステップＳ１０９で光ディスク装置がライト/リード（Ｗ/Ｒ）処理を行うことが可能なレディー状態に制御される。
【００９０】
次に、本発明になるデータリード方法の第１２実施例を説明する。データリード方法の第１２実施例では、上記の如き比較ビット数選択処理を、光ディスク装置の動作が開始されてから規定時間経過後に行う。これにより、光ディスク装置の使用環境に応じた最適な比較ビット数を選択することができる。
【００９１】
図２１は、データリード方法の第１２実施例における処理を説明するフローチャートであり、比較ビット数選択処理を行うタイミングを示す。同図において、ステップＳ１１１は、リードコマンドが受信されたか否かを判定し、判定結果がＹＥＳであると、ステップＳ１１２は光ディスク装置の動作開始から規定時間が経過したか否かを判定する。ステップＳ１１２の判定結果がＹＥＳであると、ステップＳ１１３は、図１９と共に説明した如き多数決ビット選択処理を行う。ステップＳ１１２の判定結果がＮＯ、或いは、ステップＳ１１３の後、ステップＳ１１４は、リードコマンドを実行する。
【００９２】
次に、本発明になるデータリード方法の第１３実施例を説明する。データリード方法の第１３実施例では、上記の如き比較ビット数選択処理を、光ディスク装置へのアクセスが規定時間以上ない場合に行う。これにより、光ディスク装置の使用環境に応じた最適な比較ビット数を選択することができる。
【００９３】
図２２は、データリード方法の第１３実施例における処理を説明するフローチャートであり、比較ビット数選択処理を行うタイミングを示す。同図において、ステップＳ１２１は、コマンドが受信されたか否かを判定し、判定結果がＹＥＳであると、ステップＳ１２２は、受信したコマンドを実行する。他方、ステップＳ１２１の判定結果がＮＯであると、ステップＳ１２３は、最後に受信した最終コマンドから規定時間が経過したか否かを判定する。ステップＳ１２３の判定結果がＹＥＳであると、ステップＳ１２４は、図１９と共に説明した如き多数決ビット選択処理を行う。
【００９４】
次に、本発明になるデータリード方法の第１４実施例を説明する。データリード方法の第１４実施例では、上記の如き比較ビット数選択処理を、規定回数以上リードリトライ処理が発生した場合に行う。これにより、光ディスク装置の使用環境に応じた最適な比較ビット数を選択することができる。
【００９５】
図２３は、データリード方法の第１４実施例における処理を説明するフローチャートであり、比較ビット数選択処理を行うタイミングを示す。同図中、図２１と同一ステップには同一符号を付し、その説明は省略する。図２３において、ステップＳ１１１の判定結果がＹＥＳであると、ステップＳ１３２は、光ディスク装置の動作開始から規定回数以上リードリトライ処理が発生したか否かを判定する。ステップＳ１３２の判定結果がＹＥＳであると、処理はステップＳ１１３へ進み、判定結果がＮＯであると、処理はステップＳ１１４へ進む。
【００９６】
次に、本発明になるデータリード方法の第１５実施例を説明する。データリード方法の第１５実施例では、上記の如き比較ビット数選択処理を、光ディスク装置の製造工程で行う。
【００９７】
図２４は、データリード方法の第１５実施例における処理を説明するフローチャートであり、比較ビット数選択処理を行うタイミングを示す。同図中、図２０と同一ステップには同一符号を付し、その説明は省略する。図２４において、ステップＳ１０５の後、ステップＳ１４１〜Ｓ１４５が行われる。ステップＳ１４１はサーボゲインを調整し、ステップＳ１４２は調整されたサーボゲインを不揮発性メモリ３に格納する。ステップＳ１４３は、図１９と共に説明した如き多数決ビット数選択処理を行う。ステップＳ１４４は選択された比較ビット数を不揮発メモリ３に格納し、ステップＳ１４５は光ディスク１１を光ディスク装置から排出する。
【００９８】
次に、本発明になるデータリード方法の第１６実施例を説明する。データリード方法の第１６実施例では、図２４と共に説明した如く選択されて記憶された比較ビット数を用いて多数決リード処理を行う。
【００９９】
図２５は、データリード方法の第１６実施例における処理を説明するフローチャートであり、記憶されている比較ビット数を用いる処理示す。同図中、図２１と同一ステップには同一符号を付し、その説明は省略する。図２５において、ステップＳ１１１の判定結果がＹＥＳであると、ステップＳ１５１は、多数決リード処理であるか否かを判定する。ステップＳ１４１の判定結果がＹＥＳであると、ステップＳ１５２は、不揮発性メモリ３に多数決ビット数が記憶されているか否かを判定する。ステップＳ１５２の判定結果がＹＥＳであると、ステップＳ１５３は、記憶されている多数決ビット数を用いて多数決リード処理を実行する。ステップＳ１５２の判定結果がＮＯであると、ステップＳ１５４は、多数決ビットを指定せずに、多数決リード処理を実行する。又、ステップＳ１５１の判定結果がＮＯであると、ステップＳ１５５は、多数決リード処理を伴わない通常のリード処理を行う。
【０１００】
光ディスク装置の通常動作中に比較ビット数選択処理を行うと、上位装置から見た光ディスク装置の処理速度が遅くなる場合がある。しかし、本実施例のように、予め記憶されている多数決ビット数を用いて多数決リード処理を行うと、処理速度の低下を確実に防止することができる。
【０１０１】
尚、比較ビット数選択処理を行うタイミングは任意のタイミングに設定可能であり、例えば、温度センサ１６の出力検出信号に基いたタイミングに設定しても良い。この場合、前回の多数決リード処理を行った際の温度と、今回の多数決リード処理の際の温度との差、即ち、温度変化が規定値以上となった場合に、上記比較ビット数選択処理を行うようにしてもよい。
【０１０２】
又、上記実施例では、本発明が光ディスク装置に適用されているが、これに限定されるものではない。本発明は、ハードディスクやフロッピィディスク等の磁気ディスクを取り扱う磁気ディスク装置や、テープ状やカード状等の各種光記録媒体や各種磁気記録媒体を取り扱う記憶装置に同様に適用可能である。
【０１０３】
本発明は、以下に付記する発明をも包含するものである。
（付記１）
記録媒体上の同じ領域から同じデータを複数回リードするリードステップと、
複数回リードされたデータを１又は複数ビットの単位で比較して、比較結果に基き各単位について最も頻度の高いデータ値からなるリードデータを生成する生成ステップと、
前記リードデータに対して誤り検出及び訂正処理を行う訂正ステップとを含むことを特徴とする、データリード方法。
（付記２）
前記生成ステップは、前記単位を構成するビット数を変化させることを特徴とする、（付記１）記載のデータリード方法。
（付記３）
前記生成ステップは、前記単位を、比較結果が最も高い頻度で同じになるビット数に設定することを特徴とする、（付記２）記載のデータリード方法。
（付記４）
前記生成ステップは、任意のタイミングで前記単位を前記ビット数に設定することを特徴とする、（付記３）記載のデータリード方法。
（付記５）
データリードのリトライを行うリトライステップを更に含み、
前記生成ステップは、前記リトライが所定回数行われると、前記単位を前記ビット数に設定することを特徴とする、（付記３）記載のデータリード方法。
（付記６）
前記生成ステップは、比較結果が所定回数以上同じであると、その時点で各単位について最も頻度の高いデータ値からなるリードデータを生成することを特徴とする、（付記１）〜（付記５）のいずれか１項記載のデータリード方法。
（付記７）
前記生成ステップは、比較結果が所定回数以上同じであると、前記単位を構成するビット数を増加させることを特徴とする、（付記１）〜（付記５）のいずれか１項記載のデータリード方法。
（付記８）
前記生成ステップは、比較結果が所定回数以上異なると、前記単位を構成するビット数を減少させることを特徴とする、（付記１）〜（付記５）のいずれか１項記載のデータリード方法。
（付記９）
データリードのリトライを行うリトライステップを更に含み、
前記生成ステップは、前記リトライが規定回数不成功であると行われることを特徴とする、（付記１）〜（付記８）のいずれか１項記載のデータリード方法。
（付記１０）
記録媒体上の同じ領域から同じデータを複数回リードするリード手段と、
複数回リードされたデータを１又は複数ビットの単位で比較して、比較結果に基き各単位について最も頻度の高いデータ値からなるリードデータを生成する生成手段と、
前記リードデータに対して誤り検出及び訂正処理を行う訂正手段とを備えたことを特徴とする、記憶装置。
（付記１１）
前記生成手段は、前記単位を構成するビット数を変化させることを特徴とする、（付記１０）記載の記憶装置。
（付記１２）
前記生成手段は、前記単位を、比較結果が最も高い頻度で同じになるビット数に設定することを特徴とする、（付記１１）記載の記憶装置。
（付記１３）
前記生成手段は、任意のタイミングで前記単位を前記ビット数に設定することを特徴とする、（付記１２）記載の記憶装置。
（付記１４）
データリードのリトライを行うリトライ手段を更に備え、
前記生成手段は、前記リトライが所定回数行われると、前記単位を前記ビット数に設定することを特徴とする、（付記１２）記載の記憶装置。
（付記１５）
前記生成手段は、比較結果が所定回数以上同じであると、その時点で各単位について最も頻度の高いデータ値からなるリードデータを生成することを特徴とする、（付記１０）〜（付記１４）のいずれか１項記載の記憶装置。
（付記１６）
前記生成手段は、比較結果が所定回数以上同じであると、前記単位を構成するビット数を増加させることを特徴とする、（付記１０）〜（付記１４）のいずれか１項記載の記憶装置。
（付記１７）
前記生成手段は、比較結果が所定回数以上異なると、前記単位を構成するビット数を減少させることを特徴とする、（付記１０）〜（付記１４）のいずれか１項記載の記憶装置。
（付記１８）
データリードのリトライを行うリトライ手段を更に備え、
前記生成手段は、前記リトライが規定回数不成功であると行われることを特徴とする、（付記１０）〜（付記１７）のいずれか１項記載の記憶装置。
【０１０４】
以上、本発明を実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは、言うまでもない。
【図面の簡単な説明】
【０１０５】
【図１】本発明になる記憶装置の第１実施例の基本構成を示す図である。
【図２】ＯＤＣの構成を示すブロック図である。
【図３】多数決処理を説明するための第１実施例の要部を示すブロック図である。
【図４】比較の単位が１ビットの場合の多数決リード処理を説明する図である。
【図５】多数決リード処理を説明するフローチャートである。
【図６】比較の単位が１ビットの場合の多数決処理を説明するフローチャートである。
【図７】比較の単位が４ビットの場合の多数決リード処理を説明する図である。
【図８】比較の単位が４ビットの場合の多数決処理を説明するフローチャートである。
【図９】比較の単位が１バイトの場合の多数決リード処理を説明する図である。
【図１０】比較の単位が１バイトの場合の多数決処理を説明するフローチャートである。
【図１１】データリード方法の第２実施例における多数決処理を説明するフローチャートである。
【図１２】データリード方法の第３実施例における処理を説明するフローチャートである。
【図１３】データリード方法の第４実施例における処理を説明するフローチャートである。
【図１４】データリード方法の第５実施例における処理を説明するフローチャートである。
【図１５】データリード方法の第６実施例における処理を説明するフローチャートである。
【図１６】データリード方法の第７実施例における処理を説明するフローチャートである。
【図１７】データリード方法の第８実施例における処理を説明するフローチャートである。
【図１８】データリード方法の第９実施例における処理を説明するフローチャートである。
【図１９】データリード方法の第１０実施例における処理を説明するフローチャートである。
【図２０】データリード方法の第１１実施例における処理を説明するフローチャートである。
【図２１】データリード方法の第１２実施例における処理を説明するフローチャートである。
【図２２】データリード方法の第１３実施例における処理を説明するフローチャートである。
【図２３】データリード方法の第１４実施例における処理を説明するフローチャートである。
【図２４】データリード方法の第１５実施例における処理を説明するフローチャートである。
【図２５】データリード方法の第１６実施例における処理を説明するフローチャートである。
【符号の説明】
【０１０６】
１      ＭＰＵ
１−１      多数決計算部
２      ＤＲＡＭ
４      ＤＳＰ
５      ＯＤＣ
１３      ライトＬＳＩ回路
１４      リードＬＳＩ回路
５２      内部プロセッサ
５４      ＥＣＣ処理部
５５      誤り訂正ユニット
５８      ＤＲＡＭユニット
【図１】
0004397426.tif 000002
【図２】
0004397426.tif 000003
【図３】
0004397426.tif 000004
【図４】
0004397426.tif 000005
【図５】
0004397426.tif 000006
【図６】
0004397426.tif 000007
【図７】
0004397426.tif 000008
【図８】
0004397426.tif 000009
【図９】
0004397426.tif 000010
【図１０】
0004397426.tif 000011
【図１１】
0004397426.tif 000012
【図１２】
0004397426.tif 000013
【図１３】
0004397426.tif 000014
【図１４】
0004397426.tif 000015
【図１５】
0004397426.tif 000016
【図１６】
0004397426.tif 000017
【図１７】
0004397426.tif 000018
【図１８】
0004397426.tif 000019
【図１９】
0004397426.tif 000020
【図２０】
0004397426.tif 000021
【図２１】
0004397426.tif 000022
【図２２】
0004397426.tif 000023
【図２３】
0004397426.tif 000024
【図２４】
0004397426.tif 000025
【図２５】
0004397426.tif 000026