(57)【要約】【課題】訂正前データと訂正後データを記憶するメモリの規模を小さくでき、オーバーフローの発生を未然に防止することができるエラー訂正方法を提供することにある。【解決手段】所定時間においてエラー訂正処理を行い、そのエラー訂正処理の間に、エラー訂正処理にかかる負荷を検出し、検出した負荷が大きいほど、所定時間に対するエラー訂正処理の割合を大きくする。【選択図】図４
2011175728.tif 000002
【特許請求の範囲】
【請求項１】
所定期間においてエラー訂正処理を行い、
前記エラー訂正処理の間に、前記所定期間よりも後の期間に行うエラー訂正処理にかかる負荷として、前記後の期間に行うエラー訂正処理に要する時間、又は前記後の期間に行うエラー訂正処理における誤りの数、又は前記後の期間に行うエラー訂正処理の回数、又は前記後の期間に行うエラー訂正処理にかかるサイズを検出し、
検出した前記負荷が大きいほど、前記後の期間に行うエラー訂正処理の割合を大きくする
ことを特徴とするエラー訂正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光ディスク等の記録媒体から読み出されたデータのエラー訂正を行うエラー訂正方法に関するものである。
近年、光ディスク等の記録媒体の大容量化に伴い、その読み取ったデータの処理速度はより高速化が求められている。特に、処理時間の長いエラー訂正処理回路においては、処理時間の短縮化が重要となる。エラー訂正処理回路の処理時間の短縮化を図るためには、メモリに一時記憶する訂正前データと訂正後データの処理を効率よく行うことが特に重要となる。
【背景技術】
【０００２】
従来、光ディスク等のデータストレージ制御装置では、デコーダにおいて光ディスクから取り出した同期信号のタイミングでデータ領域のアナログ信号波形をサンプリングして「１」か「０」のいずれかの値（２値化した）データを作成する。この２値化されたデータは、エラー訂正処理装置にて同データの中のエラー訂正コード（ECC）に基づいてエラーの有無が確認されデータ上のエラー位置及び値が演算されてデータのエラー訂正が行われる。そして、エラー訂正処理装置にて訂正処理された訂正後のデータは、外部インターフェースを介して外部装置に出力される。
【０００３】
ところで、エラー訂正処理装置の処理時間は光ディスクから読み出されたデータの品質によって大きく左右される。つまり、エラー量の多いデータの場合には、エラー訂正処理装置の処理時間は長くなり、デコーダにて２値化された訂正前のデータが未処理のまま滞留することになる。反対に、エラー量の少ないデータの場合には、エラー訂正処理装置の処理時間は短くなり、外部インターフェースから外部装置に出力される訂正後のデータが未出力まま滞留することになる。
【０００４】
そこで、データストレージ制御装置では、第１及び第２のデータ領域を有したバッファメモリを設けている。そして、デコーダは、２値化した訂正前のデータを一時的にバッファメモリの所定の領域（訂正前データ領域）に記憶する。エラー訂正処理装置は、訂正前データ領域に記憶された２値化された訂正前のデータを読み出しエラー訂正処理を行う。エラー訂正処理装置は、訂正処理後のデータをバッファメモリの第２のデータ領域に記憶する。この所定の領域（訂正後データ領域）に記憶された訂正後のデータは、外部インターフェースにて読み出され外部装置に出力される。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、バッファメモリの容量は、最悪の状況を考慮して決定される。つまり、訂正前データ領域の容量は、２値化データのエラー量が最大であって訂正処理時間が最も長い場合を想定した時のメモリ容量が決定される。又、訂正後データ領域の容量は、２値化データのエラー量が最小であって訂正処理時間が最も短い場合を想定した時のメモリ容量が決定される。従って、メモリ容量を上記のように最悪の状況に対処できる容量で実現すると、バッファメモリの規模が大きくなるばかりか、最悪時以外は無駄なものとなる。
【０００６】
そこで、逆にバッファメモリの規模を縮小することが考えられる。しかしながら、規模を縮小すると、その縮小量に応じてオーバーフローの発生する確率が高くなる。つまり、バッファメモリの訂正前及び訂正後データ領域においてオーバーフローを起こすと、記憶したデータが消失する。その結果、光ディスクからデータの再度読み出しを行う必要が生じる。この時、再度データ読み出しを行うためには、データ処理だけでは対処できない光ディスク駆動系の制御が必要となり、全体の処理時間がさらに長くなるといった問題が生ずる。
【０００７】
本発明の目的は、訂正前データと訂正後データを記憶するメモリの規模を小さくできるとともに、規模の縮小に伴うオーバーフローの発生を未然に防止することができるエラー訂正方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の一観点によれば、所定期間においてエラー訂正処理を行い、前記エラー訂正処理の間に、前記所定期間よりも後の期間に行うエラー訂正処理にかかる負荷として、前記後の期間に行うエラー訂正処理に要する時間、又は前記後の期間に行うエラー訂正処理における誤りの数、又は前記後の期間に行うエラー訂正処理の回数、又は前記後の期間に行うエラー訂正処理にかかるサイズを検出し、検出した前記負荷が大きいほど、前記後の期間に行うエラー訂正処理の割合を大きくする。
【発明の効果】
【０００９】
開示のエラー訂正方法によれば、訂正前データと訂正後データを記憶するメモリの規模を小さくできるとともに、規模の縮小に伴うオーバーフローの発生を未然に防止することができる。
【図面の簡単な説明】
【００１０】
【図１】光ディスク制御装置の全体構成を説明するためのブロック図
【図２】光ディスクコントローラ内に設けられたエラー訂正処理のための回路構成を示すブロック図
【図３】エラー訂正処理回路部の回路構成を説明するためのブロック図
【図４】訂正処理能力制御回路部の回路構成を説明するためのブロック図
【図５】メモリバッファとポインタとの関係を説明する説明図
【図６】１セクタ分のデータ配列を説明するための図
【図７】訂正処理能力制御回路部の別例を説明するためのブロック図
【発明を実施するための形態】
【００１１】
以下、本発明を光ディスク制御装置に具体化した一実施形態を図面に従って説明する。
図１は、光ディスク制御装置の全体構成を説明するためのブロック図を示す。
光ディスク制御装置１は、コンピュータ２に接続されているとともに、光ディスク駆動装置３に接続されている。光ディスク駆動装置３は、記録媒体としての光ディスク４を所定の回転速度で回転駆動させる。又、光ディスク駆動装置３は、光ディスク４に記録されたデータを図示しない光学系読み取り装置にて読み出し、その読み出したデータを光ディスク制御装置１に出力する。
【００１２】
光ディスク制御装置１は、マイクロプロセッサ１１、光ディスクコントローラ１２、メモリとしてのバッファメモリ１３、外部インターフェース回路１４及び入出力駆動回路１５を有している。そして、光ディスク制御装置１は外部インターフェース回路１４を介してコンピュータ２に接続されている。又、光ディスク制御装置１は入出力駆動回路１５を介して光ディスク駆動装置３に接続されている。
【００１３】
マイクロプロセッサ１１は、光ディスク４に記録されたデータを読み出しコンピュータ２に出力するために、光ディスクコントローラ１２、バッファメモリ１３、外部インターフェース回路１４及び入出力駆動回路１５を統括制御する。
【００１４】
光ディスクコントローラ１２は、マイクロプロセッサ１１の命令により、入出力駆動回路１５を介して光ディスク駆動装置３への命令送信とステータス受信等を行って光ディスク駆動装置３に対してデータ読み出しための駆動系の制御を行う。光ディスクコントローラ１２は、光ディスク駆動装置３が光ディスク４の所定のセクタに記録したデータを読み出すと、その読み出されたデータ（アナログ信号）を入出力駆動回路１５を介して入力する。光ディスクコントローラ１２は、入力したデータに対してフォーマットデコード処理を行う。
【００１５】
詳述すると、光ディスク駆動装置３から出力される光ディスク４の所定のセクタから読み出されたリード情報としてのリードデータ（アナログ信号）は、入出力駆動回路１５において２値化（デジタル変換）されて光ディスクコントローラ１２に出力される。尚、入出力駆動回路１５は、光ディスク４が高速モードで回転駆動されることに起因して、又は、光ディスク４がぶれながら回転することに起因して光ディスク駆動装置３から出力されるリードデータ（アナログ信号）が正常なアナログ信号でなく２値化できない場合には、入出力駆動回路１５は、その旨のリード情報としての信号を光ディスクコントローラ１２に出力するようになっている。さらに、光ディスクコントローラ１２は、光ディスク駆動装置３からデータ読み出しのためシーク動作を行っている旨のリード情報としての信号を入力する。
【００１６】
光ディスクコントローラ１２は、１セクタ分の２値化したリードデータのパターンを解読してセクタアドレス、同期パターン等を除去しデータのみ抽出し、その抽出したデータを所定のフォーマットに復調する。光ディスクコントローラ１２は復調したユーザデータをバッファメモリ１３の所定のメモリ領域に一時格納する。
【００１７】
本実施形態の光ディスク４では、リード・ソロモン符号で多量に符号化する方式にインターリーブ（交錯法）を組み合わせた方式が採用されている。
光ディスクの１セクタ分のデータを配列で表すと、図６のように表すことができる。図６において、配列の一行（１つの符号語）を１インターリーブといい、各本実施形態では、インターリーブの数はｎ個で構成され、各インターリーブ１〜ｎはエラー訂正検査記号（ECC部分）と情報記号（データ部分）とから構成されている。そして、エラー訂正は、各インターリーブ１〜ｎ毎に行われる。
【００１８】
各インターリーブ１〜ｎは、符号長が１２０バイトの符号語で構成され、図中、下位１６バイト、即ち、位置０〜位置１５がECC部分となる。又、各インターリーブにおいて情報記号数（データ部分の長さ）は、ECC部分を除いた上位１０４バイト（位置１６〜位置１１９）となる。
【００１９】
又、配列において、インターリーブ（ｉ＋１）〜ｎは、他のインターリーブ１〜ｉの各位置０〜１１９の訂正検査記号（ECC部分）を構成している。つまり、たとえば、各インターリーブ１〜ｉの位置１１９の各バイトを情報記号（データ部分）とし、インターリーブ（ｉ＋１）〜ｎの位置１１９の各バイトをその情報記号（データ部分）に対する訂正検査記号（ECC部分）としている。
【００２０】
光ディスクコントローラ１２は、バッファメモリ１３に一時格納したデータを１セクタ分のデータを読み出し、１インターリーブの単位でエラー訂正処理を行う。このエラー訂正処理は、前記エラー訂正検査記号ECC（Error Correction Code）を元にして行う。そして、光ディスクコントローラ１２は、１セクタ分のデータからシンドロームを生成し、そのシンドロームを元に、ユークリッド互除法により誤り位置・数値多項式を生成する。次に、光ディスクコントローラ１２は、誤り位置・数値多項式の解をチェーンサーチにより求め、欠陥部分がどの位置かそしてどのように誤っているかを求める。そして、その訂正処理によって得られた各インターリーブの欠陥部分の数及びその各欠陥部分の正しい値を記憶する。
【００２１】
光ディスクコントローラ１２は、１つのインターリーブについてのエラー訂正処理が終了すると、次のインターリーブについてエラー訂正を同様に行う。尚、誤り数が多くて訂正不能の場合にはそのインターリーブのエラー訂正処理を終了して次のインターリーブについてエラー訂正を同様に行う。
【００２２】
そして、１セクタの全てのインターリーブ１〜ｎがそれぞれの位置０〜位置１５の訂正検査記号（ECC部分）に基づいてエラー訂正が一通り完了すると、インターリーブ１〜ｎの少なくとも１つのインターリーブについて誤り数（欠陥部分）が多くて訂正不能のインターリーブがあったかどうかを判定する。
【００２３】
訂正不能のインターリーブが存在する場合には、インターリーブ１〜ｉの各位置０〜１１９の値をそれぞれインターリーブ（ｉ＋１）〜ｎの各位置０〜１１９の値を訂正検査記号（ECC部分）としてエラー訂正を行う。つまり、インターリーブ１〜ｎの位置１１９の各数値から順番に位置０の各数値に対してエラー訂正を行い、先の訂正不能となったインターリーブの欠陥部分を訂正する。この時、その訂正処理によって得られた各インターリーブの欠陥部分の数及びその各欠陥部分の正しい値を記憶する。
【００２４】
インターリーブ１〜ｎの各位置０〜１１９毎のエラー訂正が行われると、再び当該セクタの各インターリーブ１〜ｎのエラー訂正を行うかどうか判断する。本実施形態では、訂正不能のインターリーブが存在しなくなったときには直ちに訂正処理を終了し、次の新たなセクタのデータを読み出し、その新たなセクタのデータについてのエラー訂正処理を実行する。
【００２５】
又、訂正不能のインターリーブがいまだに存在する場合には、再び同じ訂正処理を行う。つまり、インターリーブ１〜ｎの各位置０〜１１９毎のエラー訂正が行われた各インターリーブについて再びエラー訂正が行われる。つまり、訂正不能であったインターリーブの欠陥部分の数が減少するため、再度の訂正処理を行うことによって完全にエラー訂正が行えることになる。そして、１つのセクタのデータについて訂正処理を複数回（実施形態では３回）行っても訂正不能のインターリーブが存在する場合には、当該セクタのエラー訂正処理を終了し、次の新たなセクタのデータを前記バッファメモリ１３から読み出し、その新たなセクタのデータについてのエラー訂正処理を実行する。
【００２６】
１つのセクタのデータについてのエラー訂正処理が終了し、その処理によって得られた各インターリーブの欠陥部分の数及びその各欠陥部分の正しい値に基づいて、前記バッファメモリ１３に記憶されているエラー訂正処理の対象となっているセクタのデータを正しい値に書き換える。
【００２７】
そして、光ディスクコントローラ１２は、エラー訂正処理が済むとその訂正後のデータを前記バッファメモリ１３の所定のメモリ領域に一時格納する。
光ディスクコントローラ１２は、マイクロプロセッサ１１の命令により、バッファメモリ１３の所定のメモリ領域に一時格納した訂正後のデータを読み出し外部インターフェース回路１４を介してコンピュータ２に出力するようになっている。
【００２８】
次に、光ディスクコントローラ１２内に設けられたエラー訂正処理のための構成について説明する。
図２は、光ディスクコントローラ１２内に設けられたエラー訂正処理のための回路構成を示すブロック回路である。
【００２９】
図２において、光ディスクコントローラ１２は、内部プロセッサ２１、デコーダ２２、エラー訂正処理回路部２４、訂正処理能力制御回路部２５を有するとともに、前記外部インターフェース回路１４も本実施形態ではその一部としている。
【００３０】
内部プロセッサ２１は、マイクロプロセッサ１１との間で命令の授受が行われ、エラー訂正処理のために、デコーダ２２、エラー訂正処理回路部２４、訂正処理能力制御回路部２５及び外部インターフェース回路１４を統括制御する。又、内部プロセッサ２１は、マイクロプロセッサ１１の命令により、入出力駆動回路１５を介して光ディスク駆動装置３に対してデータ読み出しための駆動系の制御を行う。さらに、内部プロセッサ２１は、マイクロプロセッサ１１の命令により、バッファメモリ１３に一時格納した訂正後のデータを読み出し外部インターフェース回路１４を介してコンピュータ２に出力するようになっている。
【００３１】
デコーダ２２は入出力駆動回路１５からの１セクタ分の２値化したリードデータを入力する。デコーダ２２はその入力したリードデータのパターンを解読してセクタアドレス、同期パターン等のいわゆるＩＤ部のデータと、データ部の同期パターンを除去しデータ部のデータのみ抽出し、その抽出したデータを所定のフォーマットに復調する。デコーダ２２はそのデータをバッファメモリ１３の所定のメモリ領域に一時格納する。
【００３２】
外部インターフェース回路１４は、バッファメモリ１３に格納されたデータをエラー訂正処理回路部２４にて訂正処理した訂正処理後のデータを読み出し、前記コンピュータ２に出力する。
【００３３】
エラー訂正処理回路部２４は、図３に示すように、シンドローム生成回路３１、ユークリッド互除法による誤り位置多項式及び誤り数値多項式生成回路３２、誤り位置・誤り数値検出回路３３、書き換え処理回路３４、訂正結果レジスタ３５、ポインタ３６を有している。
【００３４】
シンドローム生成回路３１は、バッファメモリ１３に一時格納したデータをセクタ分のデータを読み出し、１インターリーブの単位（１２０バイトのデータ）でシンドロームを求める公知の回路である。つまり、各係数が１インターリーブ（１２０バイト）の各バイトの値となるシンドローム多項式であって、クロック信号に基づいて各バイトの値が下位位置から又は上位位置からクロック信号CLKに同期してそのシンドローム多項式の各項に
付加されるとともに、同じくクロック信号に基づいて該インターリーブのエラー訂正検査記号（ECC部分であって、位置０〜位置１５にある下位１６バイト）の生成多項式の解が
そのシンドローム多項式の各項の変数に代入されて、シンドロームが求められる。尚、誤りが無い場合にはシンドロームはゼロとなる。
【００３５】
シンドローム生成回路３１は、一般に複数のフリップフロップ回路と乗算回路から構成され、動作クロック信号としてのクロック信号CLKを入力する毎に、１インターリーブの
各バイトの値（データ）が下位位置から又は上位位置から順番に各フリップフロップに同時に入力される。この時、各フリップフロップに入力されるバイトは、その各フリップフロップ毎に特定されたエラー訂正検査記号の生成多項式と乗算回路にて乗算されて入力される。そして、各フリップフロップでラッチした値をシンドロームとして次段の誤り位置多項式及び数値多項式生成回路３２に出力する。従って、クロック信号CLKの周期が短いと速く各シンドロームが求められ誤り位置多項式及び誤り数値多項式生成回路３２に出力されることになる。
【００３６】
誤り位置多項式及び誤り数値多項式生成回路３２は、シンドローム生成回路３１にて生成したシンドロームから誤り位置・誤り数値多項式の解を求めるためにユークリッド互除法により該誤り位置多項式の係数と誤り数値多項式の係数を求める公知の回路である。誤り位置多項式は、該インターリーブの何番目のバイト（位置）が誤っているか求める多項式である。又、誤り数値多項式は、誤り位置多項式によって得られた誤ったバイト（位置）がどのように誤っているのか求める多項式である。
【００３７】
この多項式生成回路３２は、シンドローム生成回路３１と同様にクロック信号CLKに同
期して各係数が求められ次段の誤り位置・数値検出回路３３に出力されるようになっている。従って、クロック信号CLKの周期が短いと速く各係数が求められ誤り位置・誤り数値検出回路３３に出力されることになる。
【００３８】
誤り位置・誤り数値検出回路３３は、前記多項式生成回路３２にて生成した誤り位置多項式の係数と誤り数値多項式の係数から誤り位置多項式及び誤り数値多項式の解を求める公知の回路である。誤り位置・誤り数値検出回路３３は、一般的なチェンサーチ法にて解を求めるようになっていて、前記クロック信号CLKを入力するごとに該インターリーブの１のバイト（位置）が検査され、エラーがあった時には正しい値に訂正される。従って、誤り位置・誤り数値検出回路３３は、クロック信号CLKの周期が短いとインターリーブの各バイト（位置）が検査が速く処理されることになる。
【００３９】
誤り位置・誤り数値検出回路３３は、その求めた誤り位置（バイト）とその正しい値を書き換え処理回路３４に出力する。書き換え処理回路３４は、誤り位置・誤り数値検出回路３３が求めた誤り位置（バイト）とその正しい値を訂正結果レジスタ３５に一時保持する。
【００４０】
書き換え処理回路３４は、訂正結果レジスタ３５に一時保持した誤り位置（バイト）とその正しい値を読み出し、バッファメモリ１３におけるエラー訂正処理対象にあるセクタの訂正バイトに対して正しい値に書き換える。書き換え処理回路３４の訂正結果レジスタ３５に対する読み出し及び書き換え処理と、バッファメモリ１３に対する書き換え処理は、クロック信号CLKに同期して行われる。従って、書き換え処理回路３４は、クロック信号CLKの周期が短いとインターリーブの各バイト（位置）の検査が速く処理されることになる。
【００４１】
又、書き換え処理回路３４は、訂正処理を行った結果、訂正不能のインターリーブがいまだに存在する場合には、訂正処理を３回行ったかどうかを判定し、３回行っていない場合には再びシンドローム生成回路３１から先の訂正処理後のデータを使って訂正処理を実行させるようになっている。
【００４２】
尚、訂正処理回数の３回は予め設定されていて、内部プロセッサ２１によって設定されている。又、３回行っていても訂正不能のインターリーブがいまだに存在する場合には、書き換え処理回路３４は、内部プロセッサ２１に対して当該セクタのデータは訂正できないとしてその旨の演算情報としての信号を出力し、光ディスク４から再度の読み出しを指示するようになっている。
【００４３】
ポインタ３６は、バッファメモリ１３に記憶されているデータであって、図５に示すようにデコーダ２２から入力された訂正処理前のデータ（訂正前データ）が記憶されている訂正前データ領域Ａの先頭アドレスの次のアドレス（書き込み開始アドレスMP）と、シンドローム生成回路３１に読み出されて訂正処理対象になっているデータ（訂正処理中データ）が記憶されている訂正中データ領域Ｂの最終アドレス（検査開始アドレスECP）と、書き換え処理回路３４にて訂正処理が完了されたデータ（訂正後データ）が記憶された訂正後データ領域Ｃの最終アドレス（出力開始アドレスOP）を保持する。
【００４４】
詳述すると、バッファメモリ１３は、先頭アドレスＡＳから最終アドレスＡＥの間で、データが書き込まれる。そして、バッファメモリ１３は、デコーダ２２から新たな訂正前データが入力されると、それまでに書き込まれた訂正データのうち最新に書き込まれた訂正前データが書き込まれたアドレスの次のアドレス（書き込み開始アドレスMP）から最終アドレスAEに向かって書き込まれるようになっている。又、最終アドレスAEに到達したら、先頭アドレスASから最終アドレスAEに向かって書き始めるようにしている。従って、書き込み開始アドレスMPは、訂正前データが書き込まれるその度に最新の書き込みアドレスに更新される。
【００４５】
又、バッファメモリ１３は、書き込まれた訂正前データについて訂正処理が行われる場合、最も先に書き込まれた訂正前データが書き込まれたアドレス（検査開始アドレスECP）から１セクタ分のデータが読み出される。従って、その訂正処理のために読み出された１セクタ分のデータが訂正処理中データとなる。そして、訂正処理中データが書き換え処理されて訂正後データになると、検査開始アドレスECPは１セクタ分のアドレスだけイン
クリメントされる。
【００４６】
従って、検査開始アドレスECPから書き込み開始アドレスMPの間の記憶領域が訂正前データ領域Ａとなる。又、訂正前データ領域Ａにおける検査開始アドレスECPから１セクタ分のデータが記憶されているアドレスまでの間の記憶領域を訂正中データ領域Ｂという。
【００４７】
さらに、バッファメモリ１３は、外部インターフェース回路１４に出力するために訂正後データが読み出される場合、最も先に訂正処理された訂正後データが書き込まれたアドレス（出力開始アドレスOP）の訂正後データから読み出される。
【００４８】
そして、訂正後データが読み出されると、その読み出された内容は消去され空データ領域Ｄとなり、出力開始アドレスOPは最後に読み出されたデータのアドレスの次のアドレスにインクリメントされる。従って、出力開始アドレスOPから検査開始アドレスECPまでの間の記憶領域を訂正後データ領域Ｃという。又、前記書き込み開始アドレスMPから出力開始アドレスOPまでの間の記憶領域を空データ領域Ｄという。
【００４９】
そして、デコーダ２２は、ポインタ３６の書き込み開始アドレスMPに従って訂正前データをバッファメモリ１３に書き込む。又、シンドローム生成回路３１は、検査開始アドレスECPに基づいて訂正処理をする１セクタ分のデータをバッファメモリ１３から読み出す。さらに、外部インターフェース回路１４は、出力開始アドレスOPに基づいて訂正後データをバッファメモリ１３から読み出しコンピュータ２に出力する。
【００５０】
次に、エラー訂正処理回路部２４の各回路３１〜３４に出力され動作処理速度を決定するクロック信号CLKを生成する訂正処理能力制御回路部２５について説明する。
図４は、訂正処理能力制御回路部２５の構成を説明するためのブロック図である。訂正処理能力制御回路部２５は、負荷検出回路３７と能力制御回路３８を有している。負荷検出回路３７は、前記エラー訂正処理回路部２４にかかる負荷を検出する回路である。
【００５１】
負荷検出回路３７は、内部プロセッサ２１から前記光ディスク駆動装置３の光ディスク４の回転速度（データ読み取り速度）が高速か低速かを示すリード情報としての回転速度信号VSGを外部負荷要因信号として入力する。又、負荷検出回路３７は、内部プロセッサ２１から前記入出力駆動回路１５が何らかの原因でデータ読み取り不能な状態になったことを示すリード情報としての読み取り不能信号HSGを外部負荷要因信号として入力する。
【００５２】
負荷検出回路３７は、ポインタ３６から書き込み開始アドレスMP、検査開始アドレスECP及び出力開始アドレスOPを入力する。そして、これらの各信号及びデータから負荷を検出して前記クロック信号CLKの周期を決定する調整信号を生成する。
【００５３】
詳述すると、負荷検出回路３７は、高速を示す回転速度信号VSGを入力した時、前記クロック信号CLKの周期を予め設定した最も高い周期、即ち第１基本周期Taとするための信
号を能力制御回路３８に出力する。又、負荷検出回路３７は、低速を示す回転速度信号を入力した時、最も高い周期のクロック信号CLKより長い予め定めた周期、即ち第２基本周期Tbとするための信号を能力制御回路３８に出力する。
【００５４】
又、負荷検出回路３７は、読み取り不能信号HSGを入力した時、クロック信号CLKを停止させる旨の停止信号STPを能力制御回路３８に出力する。
さらに、負荷検出回路３７は、各アドレスMP，ECP，OPに基づいてその時々のバッファメモリ１３の訂正前データ領域Ａの大きさL1（＝MP−ECP）と訂正後データ領域Ｃの大きさL2（＝ECP−OP）を求める。そして、本実施形態では、負荷検出回路３７は、この大きさL1，L2と、予め定めた基準値L1k，L2kとで以下のような演算処理を行う。
【００５５】
尚、L1kは訂正前データ領域Ａの大きさL1に対して予め定めた基準値であって、これ以上訂正前データが増大すると支障が生じるおそれのある値としている。又、L2kは訂正後データ領域Ｃの大きさL2に対して予め定めた基準値であって、これ以上訂正後データが増加すると支障が生じるおそれのある値としている。
【００５６】
（１）L1＞L1kであって、L2＜L2kの時、
負荷検出回路３７は、エラー訂正処理回路部２４の負荷が大きくて訂正処理に時間を要し訂正前データが増大し訂正後データが減少していると判断する。そして、負荷検出回路３７は、その時のクロック信号CLKの周期を短くするための予め設定した調整量ΔTd（＝−ΔT1）を調整信号として能力制御回路３８に出力する。
【００５７】
（２）L1＜L1kであって、L2＞L2kの時、
負荷検出回路３７は、エラー訂正処理回路部２４の負荷が小さくて訂正処理に時間を要しておらず訂正前データが減少し訂正後データが増大していると判断する。そして、負荷検出回路３７は、その時のクロック信号CLKの周期を長くするための予め設定した調整量ΔTu（＝ΔT1）を調整信号として能力制御回路３８に出力するようになっている。
【００５８】
（３）L1≦L1kであって、L2≦L2kの時、
負荷検出回路３７は、エラー訂正処理回路部２４の負荷が適正で訂正前データと訂正後データが適正に増減していると判断する。そして、負荷検出回路３７は、その時のクロック信号CLKの周期を現状維持するための予め設定した調整量ΔT0（＝０）を調整信号として能力制御回路３８に出力するようになっている。
【００５９】
（４）L1＞L1kであって、L2＞L2kの時、
負荷検出回路３７は、エラー訂正処理回路部２４の負荷が異常であって訂正前データと訂正後データが異常に増大していると判断する。そして、負荷検出回路３７は、クロック信号CLKを停止させる旨の停止信号STPを能力制御回路３８に出力する。
【００６０】
能力制御回路３８は、分周比制御回路４１及びクロック制御・分周回路４２を有している。
分周比制御回路４１は、負荷検出回路３７から第１基本周期Ta、第２基本周期Tb、停止信号STP、調整量ΔTd，ΔTu，ΔT0を入力する。分周比制御回路４１は、第１基本周期Taを入力したとき、同第１基本周期Taと調整量ΔTd（又はΔTu，ΔT0）とで分周比を演算する。又、分周比制御回路４１は、第２基本周期Tbを入力したとき、同第２基本周期Tbと調整量ΔTd（又はΔTu，ΔT0）とで分周比を演算する。
【００６１】
即ち、第１基本周期Taが入力された時には、分周比制御回路４１はクロック信号CLKの周期Tを最初は最も周期の短い第１基本周期Taに設定する。そして、この状態から、その時々の調整量ΔTd（又はΔTu，ΔT0）によってクロック信号CLKの周期T（＝T＋（ΔTd（又はΔTu，ΔT0）））を調整する。つまり、調整量ΔTd（又はΔTu，ΔT0：但し、最初はクロック信号CLKの周期Tは最も周期の短い第１基本周期Taであるので、調整量ΔTdは出力されない）が入力される毎に、分周比制御回路４１はクロック信号CLKの周期Tを調整量ΔTd（又はΔTu）を使って新たな周期Tを演算する。そして、分周比制御回路４１はその演
算した周期Tに対して次に出力される調整量ΔTd（又はΔTu，ΔT0）をクロック信号CLKの周期Tを更新する。
【００６２】
又、第２基本周期Tbが入力された時には、分周比制御回路４１はクロック信号CLKの周期Tを最初は第２基本周期Tbに設定する。そして、この状態から、その時々の調整量ΔTd（又はΔTu，ΔT0）によってクロック信号CLKの周期T（＝T＋（ΔTd（又はΔTu，ΔT0）））を調整する。つまり、調整量ΔTd（又はΔTu，ΔT0）が入力される毎に、分周比制御回路４１はクロック信号CLKの周期Tを調整量ΔTd（又はΔTu，ΔT0）を使って新たな周期Tを演算する。そして、分周比制御回路４１はその演算した周期Tに対して次に出力される調整量ΔTd（又はΔTu，ΔT0）をクロック信号CLKの周期Tを更新する。
【００６３】
分周比制御回路４１は、新たなクロック信号CLKの周期Tを演算すると、該周期Tのクロック信号CLKを生成するための該周期Tに対する分周比Kを演算し分周比Kのデータとしてクロック制御・分周回路４２に出力する。
【００６４】
又、分周比制御回路４１は、停止信号STPを入力すると、クロック制御・分周回路４２に起動停止信号STを出力する。
クロック制御・分周回路４２は、分周比制御回路４１から分周比Kのデータを入力すると、その分周比Kに対する周期Tのクロック信号CLKを生成し出力する。この生成されたクロック信号CLKは、エラー訂正処理回路部２４の回路３１〜３４に出力される。従って、エラー訂正処理回路部２４は、クロック信号CLKの周期Tによってエラー訂正処理速度が調整される。つまり、周期Tが短いとエラー処理速度が速くなり、周期Tが長くなると処理速度が遅くなる。
【００６５】
又、クロック制御・分周回路４２は、起動停止信号STを入力すると、分周比Kのデータに関係なくクロック信号CLKの生成を停止する。従って、エラー訂正処理回路部２４の回路３１〜３４へのクロック信号CLKの供給は停止する。その結果、エラー訂正処理回路部２４はエラー訂正処理動作を停止する。
【００６６】
次に上記のように構成した光ディスク制御装置１に設けた光ディスクコントローラ１２の作用について説明する。
今、光ディスク駆動装置３から光ディスク４に記録されたデータが順次読み出され、光ディスクコントローラ１２のデコーダ２２にて、訂正前データがバッファメモリ１３に書き込まれている。又、エラー訂正処理回路部２４は、バッファメモリ１３から訂正前データを読み出しエラー訂正処理を行い、バッファメモリ１３の訂正前データをエラー訂正した順次訂正後データに書き換えられている。さらに、外部インターフェース回路１４は、バッファメモリ１３の訂正後データを読み出しコンピュータ２に出力している。
【００６７】
さらに、訂正処理能力制御回路部２５は、最も短い周期T（第１基本周期Ta）のクロック信号CLKをエラー訂正処理回路部２４に出力している。従って、訂正処理能力制御回路部２５は最高速でエラー訂正処理を行っている。
【００６８】
この最高速でエラー訂正処理を行っている状態で、高速処理又はエラー数が少ないことに起因して、訂正前データが減少し訂正後データが増加し、即ち、L1＜L1k、L2＞L2kとなる。
【００６９】
負荷検出回路３７は、エラー訂正処理回路部２４が訂正処理に時間を要しておらず訂正前データが減少し訂正後データが増大し、即ち、エラー訂正処理回路部２４の負荷が軽く訂正処理速度を遅くしてもよいと判断して、その時のクロック信号CLKの周期より長くすべく調整量ΔTuを能力制御回路３８の分周比制御回路４１に出力する。分周比制御回路４１は、この調整量ΔTuと先の周期Tとで新たな周期T（＝T＋ΔTu）を求める。続いて、分周比制御回路４１はこの新たな周期T（＝T＋ΔTu）に対する分周比Kを求め、その分周比Kをクロック制御・分周回路４２に出力する。
【００７０】
クロック制御・分周回路４２は、この分周比Kに基づいて前記周期Tとなるクロック信号CLKを生成してエラー訂正処理回路部２４に出力する。従って、クロック信号CLKが先の周期より長くなっため、エラー訂正処理回路部２４の訂正処理速度が遅くなる。
【００７１】
クロック信号CLKの周期より長くしたにもかかわらず、L1＜L1k、L2＞L2kの状態の場合
には、いまだ、負荷検出回路３７はエラー訂正処理回路部２４の負荷が軽く訂正処理速度を遅くしてもよいと判断する。負荷検出回路３７は、先に更新したクロック信号CLKの周期よりさらに長くすべく調整量ΔTuを能力制御回路３８に出力する。能力制御回路３８は、前記と同様にさらに周期の長いクロック信号CLKを生成してエラー訂正処理回路部２４の訂正処理速度をさらに遅くする。以後、L1≦L1k、L2≦L2kになるまで、上記のような動作を繰り返してエラー訂正処理回路部２４の訂正処理速度をさらに遅くする。従って、例えば、訂正処理速度が速すぎて訂正後データがバッファメモリ１３に滞留し過ぎてしまうことはない。
【００７２】
そして、所定の周期のクロック信号CLKでエラー訂正処理回路部２４の訂正処理速度を行っているときにおいて、例えば訂正前のデータに誤り数が多くなり訂正処理に時間を要するようになった時、訂正前データ領域Ａの大きさL1は次第に増大するとともに、訂正後データ領域Ｃの大きさL2は次第に減少する。
【００７３】
そして、L1＞L1k、L2＜L2kとなった時、負荷検出回路３７は、エラー訂正処理回路部２４が訂正処理に時間を要するようになって、訂正前データが増大し訂正後データが増加、即ち、エラー訂正処理回路部２４の負荷が重くなり訂正処理速度を速くする必要があると判断して、クロック信号CLKの周期を短くすべく調整量ΔTdを能力制御回路３８の分周比制御回路４１に出力する。分周比制御回路４１は、この調整量ΔTdと先の周期Tとで新たな周期T（＝T＋ΔTd）を求める。続いて、分周比制御回路４１はこの新たな周期T（＝T＋ΔT d）に対する分周比Kを求め、その分周比Kをクロック制御・分周回路４２に出力する。
【００７４】
従って、クロック制御・分周回路４２が生成するクロック信号CLKは先の周期より短くなるため、エラー訂正処理回路部２４の訂正処理速度が速くなる。
以後、L1≦L1k、L2≦L2kになるまで、上記のような動作が繰り返されてエラー訂正処理回路部２４の訂正処理速度はさらに上がることになる。従って、エラー数が多くて時間を要したり、その他、例えば訂正処理速度が遅すぎる等の内部負荷が重くなり過ぎて訂正前データがバッファメモリ１３に滞留し過ぎてしまうことはない。
【００７５】
尚、訂正処理動作中に、内部プロセッサ２１から負荷検出回路３７に低速を示す回転速度信号VSGが入力されると、つまり、外部負荷が軽くなると、負荷検出回路３７は、第２基本周期Tbを能力制御回路３８に出力する。能力制御回路３８は、直ちに第２基本周期Tbに対する分周比Kを求め、同分周比Kに対する周期T（この時点では第２基本周期Tb）のクロック信号CLKを生成して出力する。
【００７６】
従って、クロック制御・分周回路４２が生成するクロック信号CLKは、前記光ディスク駆動装置３の低速回転速度に対応してより長い周期なるため、エラー訂正処理回路部２４の訂正処理速度は遅くなる。つまり、エラー訂正処理回路部２４の訂正処理速度は、前記光ディスク駆動装置３の低速データ読み取り速度に対応した処理速度となる。
【００７７】
そして、以後、大きさL1，L2と基準値L1k，L2kとに基づいて調整量ΔTd（又はΔTu，ΔT0）が負荷検出回路３７から求められ、能力制御回路３８にて上記と同様に新たな周期Tが求められ、その周期Tのクロック信号CLKが生成されエラー訂正処理回路部２４に出力される。従って、光ディスク駆動装置３が低速回転速度になった場合においても、内部負荷に応じてエラー訂正処理回路部２４の訂正処理速度を変更することができる。
【００７８】
又、訂正処理動作中に、内部プロセッサ２１から負荷検出回路３７に読み取り不能信号HSGが入力されたり、L1＞L1k及びL2＞L2kとなると、負荷検出回路３７は、停止信号STPを能力制御回路３８に出力する。能力制御回路３８は、停止信号STPに基づいてクロック信号CLKの出力を停止する。従って、クロック信号CLKの出力が停止されることにより、エラー訂正処理回路部２４はその訂正処理動作を停止する。
【００７９】
以上詳述したように、本実施形態の光ディスク制御装置によれば、以下に記載する特徴を有する。
（１）本実施形態によれば、負荷検出回路３７と能力制御回路３８とからなる訂正処理能力制御回路部２５を設けた。そして、負荷検出回路３７にて、ポインタ３６が示すバッファメモリ１３の内容からエラー訂正処理回路部２４にかかる負荷を判断する。そして、負荷が大きい場合には、エラー訂正処理回路部２４の処理速度を上げるための調整量ΔTdを、負荷が小さい場合には、エラー訂正処理回路部２４の処理速度を下げるの調整量ΔTuを能力制御回路３８に出力するようにした。能力制御回路３８は、負荷が大きい場合には調整量ΔTdに基づいてクロック信号CLKの周期Tを短くし（即ち周波数を上げ）、負荷が小さい場合には調整量ΔTuに基づいてクロック信号CLKの周期Tを長くする（周波数を下げる）ようにした。
【００８０】
従って、エラー訂正処理回路部２４は負荷に応じて処理速度が調整される。その結果、バッファメモリ１３の訂正前データ領域Ａを一定の大きさに制御できるとともに、訂正後データ領域Ｃも一定の大きさに制御できる。つまり、バッファメモリ１３の規模を小さくできるとともに、規模の縮小に伴うオーバーフローの発生も未然に防止することができることになる。
【００８１】
（２）本実施形態では、訂正処理能力制御回路部２５は、内部プロセッサ２１から光ディスク駆動装置３の読み出し速度を示す回転速度信号VSGを入力してその回転速度信号VSGに基づいてクロック信号CLKの周期T（周波数）を制御した。つまり、光ディスク駆動装置３の読み出し速度による外部負荷によってもクロック信号CLKの周期T（周波数）を制御するようにした。
【００８２】
従って、エラー訂正処理回路部２４は外部負荷に応じて処理速度が調整される。その結果、この場合においてもバッファメモリ１３の訂正前データ領域Ａを一定の大きさに制御できるとともに、訂正後データ領域Ｃも一定の大きさに制御できる。つまり、バッファメモリ１３の規模を小さくできるとともに、規模の縮小に伴うオーバーフローの発生も未然に防止することができることになる。
【００８３】
（３）本実施形態では、訂正処理能力制御回路部２５は、内部プロセッサ２１から読み取り不能信号HSGを入力すると、クロック信号CLKの出力を停止するようにした。
従って、入出力駆動回路１５において、光ディスク４が高速モードで回転駆動されることに起因して、又は、光ディスク４がぶれながら回転することに起因して光ディスク駆動装置３から出力されるリードデータ（アナログ信号）が正常なアナログ信号でなく２値化できない場合には、エラー訂正処理回路部２４は処理動作が停止される。その結果、その無用なクロック信号CLKの生成がなくなるため、消費電力の低減を図ることができる。
【００８４】
（４）本実施形態では、訂正処理能力制御回路部２５は、訂正処理動作中に、L1＞L1k及びL2＞L2kとなると、クロック信号CLKの出力を停止するようにした。
それ以上の訂正処理動作を続けることによって、オーバーフローして先に記憶されている訂正前及び訂正後データを書き換えてしまうことを未然に防止することができる。
【００８５】
尚、実施の形態は上記実施形態に限定されるものではなく、以下のように実施してもよい。
・前記実施形態では、負荷の大きさの検出は、各データ領域Ａ，Ｃの大きさL1，L2と予め定めた基準値L1k，L2kとの大小に基づいて行っている。これを、大きさL1，L2のその時々の増加率や減少率を求め、その率と予め定めた基準値（基準増加率及び基準減少率）とを比較して負荷の大きさを検出するようにして実施してもよい。従って、この場合においてもバッファメモリ１３の規模を小さくできるとともに、規模の縮小に伴うオーバーフローの発生も未然に防止することができる。
【００８６】
・又、負荷の大きさの検出を、その検出する時々で、その訂正前データ領域Ａの大きさL1，L2の増大が又は減少が何回連続して生じているかをカウントし、予め定めた回数連続した場合に負荷が大きくなった又は小さくなったと検出するようにしてもよい。従って、この場合においてもバッファメモリ１３の規模を小さくできるとともに、規模の縮小に伴うオーバーフローの発生も未然に防止することができる。
【００８７】
・前記実施形態では、負荷の大きさの検出を、大きさL1，L2を使用して行っている。訂正前データ領域Ａの大きさL1のみを使用して、又は、訂正後データ領域Ｃの大きさL2のみを使用して行ってもよい。
【００８８】
そして、訂正後データ領域Ａの大きさL1のみを使用した場合には、訂正後データ領域Ａの大きさL1が予め定めた基準値L1kより小さいとき、負荷が小さくエラー訂正処理回路部２４の訂正処理が速やかに行われているとして、クロック信号CLKの周期Tを長く（周波数を下げる）ようにする。反対に、訂正後データ領域Ａの大きさL1が予め定めた基準値L1kより大きい場合には、負荷が大きくエラー訂正処理回路部２４の訂正処理が遅いとして、クロック信号CLKの周期Tを短く（周波数を上げる）ようにする。
【００８９】
一方、訂正後データ領域Ｃの大きさL2のみを使用した場合には、訂正後データ領域Ｃの大きさL2が予め定めた基準値L2kより大きい場合には、負荷が小さくエラー訂正処理回路部２４の訂正処理が速やかに行われているとして、クロック信号CLKの周期Tを長く（周波数を下げる）ようにする。反対に、訂正後データ領域Ｃの大きさL2が予め定めた基準値より小さい場合には、負荷が大きくエラー訂正処理回路部２４の訂正処理が遅いとして、クロック信号CLKの周期Tを短く（周波数を上げる）ようにする。
【００９０】
従って、これらの各場合においてもバッファメモリ１３の規模を小さくできるとともに、規模の縮小に伴うオーバーフローの発生も未然に防止することができる。
勿論、大きさL1，L2を使用した場合においても、前記したように、増加率及び減少率や、連続回数を求めて負荷の大小を検出するようにして実施してもよい。この場合においてもバッファメモリ１３の規模を小さくできるとともに、規模の縮小に伴うオーバーフローの発生も未然に防止することができる。
【００９１】
・又、負荷の検出を、空データ領域Ｄの大きさに基づいて行ってもよい。この場合、例えば、空データ領域Ｄの大きさが基準値を超える場合には、負荷が小さく訂正処理が速やかに行われていると判断し、クロック信号CLKの周期Tを長くする。又、空データ領域Ｄの大きさが基準値以下の場合には、負荷が大きく訂正処理が遅れていると判断し、クロック信号CLKの周期Tを短くする。
【００９２】
勿論、空データ領域Ｄの大きさを使用した場合においても、前記したように、増加率及び減少率や、連続回数を求めて負荷の大小を検出するようにして実施してもよい。従って、この各場合においてもバッファメモリ１３の規模を小さくできるとともに、規模の縮小に伴うオーバーフローの発生も未然に防止することができる。
【００９３】
・又、負荷の検出をバッファメモリ１３のデータ領域の大きさ以外で、即ちポインタ３６の内容以外で行ってもよい。例えば、新たにタイマ等の計時手段を追加し、エラー訂正処理回路部２４が１セクタ分のエラー訂正処理に要する演算情報としての時間を計時手段にて計時し、その時間に基づいて負荷の大小の検出をする。この場合、計時手段が計時した時間が予め定めた基準時間より長い場合には、負荷が大きく訂正処理が遅れていると判断し、クロック信号CLKの周期Tを短くする。又、計時手段が計時した時間が予め定めた基準時間より短い場合には、負荷が小さく訂正処理が速やかに行われていると判断し、クロック信号CLKの周期Tを長くする。
【００９４】
従って、この場合においてもバッファメモリ１３の規模を小さくできるとともに、規模の縮小に伴うオーバーフローの発生も未然に防止することができる。
・さらに又、負荷の検出を以下のように行ってもよい。即ち、エラー訂正処理回路部２４に構成されているシンドローム生成回路３１において、誤りがない場合には求めるシンドロームの数はゼロとなり、誤りがありその誤りの数が多いほど求められるシンドロームの数は多くなる。このシンドロームの数が多いほど、エラー訂正処理回路部２４が行うエラー訂正処理に要する時間が長くなり負荷が大きいことを意味する。
【００９５】
そして、このことに着目して、シンドローム生成回路３１が求めたシンドロームの数を、例えば、シンドローム生成回路３１内に図３に破線で示すように誤り数カウンタ３１ａを設け、そのカウンタ３１ａにてカウントさせる。そして、図４に破線で示すように、その誤り数カウンタ３１ａがカウントしたシンドロームの数を演算情報として訂正処理能力制御回路２５に出力する。訂正処理能力制御回路２５は、そのシンドロームの数に基づいて負荷の大小の検出をする。この場合、シンドロームの数が予め定めた数より大きい場合には、負荷が大きく訂正処理が遅れると判断し、クロック信号CLKの周期Tを短くする。又、シンドロームの数が予め定めた数より小さい場合には、負荷が小さく訂正処理が速やかに行われると判断し、クロック信号CLKの周期Tを長くする。
【００９６】
勿論、前記したポインタ３６の内容と誤り数カウンタ３１ａの内容の２つの内容に基づいて、負荷の大小を検出してもよい。
従って、この各場合においてもバッファメモリ１３の規模を小さくできるとともに、規模の縮小に伴うオーバーフローの発生も未然に防止することができる。
【００９７】
・又、シンドローム生成回路３１の訂正結果レジスタ３５に記録した誤り位置（バイト）とその正しい値の数を演算情報として、図４に破線で示すように、訂正処理能力制御回路２５に出力する。訂正処理能力制御回路２５は、その数に基づいて負荷の大小の検出をする。この場合、数が予め定めた数より大きい場合には、負荷が大きく訂正処理が遅れると判断し、クロック信号CLKの周期Tを短くする。又、数が予め定めた数より小さい場合には、負荷が小さく訂正処理が速やかに行われると判断し、クロック信号CLKの周期Tを長くする。
【００９８】
勿論、前記したポインタ３６の内容と訂正結果レジスタ３５の内容の２つの内容に基づいて負荷の大小を検出したり、前記した誤り数カウンタ３１ａの内容と訂正結果レジスタ３５の内容の２つの内容に基づいて負荷の大小を検出したり、さらに、ポインタ３６の内容、誤り数カウンタ３１ａの内容及び訂正結果レジスタ３５の内容の３つの内容に基づいて負荷の大小を検出してもよい。
【００９９】
従って、この各場合においもバッファメモリ１３の規模を小さくできるとともに、規模の縮小に伴うオーバーフローの発生も未然に防止することができる。
・前記実施形態では、訂正処理能力制御回路２５から出力されるクロック信号CLKはエラー訂正処理回路部２４の各回路３１〜３４に一様に出力している。これを、それぞれ各回路３１〜３４に対してそれぞれ異なる周期Tのクロック信号CLKを生成して出力するようにしてもよい。この場合、各回路３１〜３４に出力されるクロック信号CLKの制御のための負荷に対する調整量ΔTd，ΔTuの値は全て同じであったり、相違させて実施してもよい。
【０１００】
又、各回路３１〜３４をそれぞれグループに分け、その分けたグループ毎にそれぞれ異なる周期Tのクロック信号CLKを生成して出力するようにしてもよい。この場合にも、各グループに出力されるクロック信号CLKの制御のための負荷に対する調整量ΔTd，ΔTuの値は全て同じであったり、相違させて実施してもよい。
【０１０１】
又、演算処理時間を要する回路（例えば、誤り位置多項式及び数値多項式生成回路３２や誤り位置・数値検出回路３３）のみ、クロック信号CLKを負荷に応じて変更し、他の回路３１，３３，３４については負荷の大小に関係なく常に一定の周期のクロック信号CLKを生成し出力するようにして実施してもよい。
【０１０２】
従って、この各場合においてもバッファメモリ１３の規模を小さくできるとともに、規模の縮小に伴うオーバーフローの発生も未然に防止することができる。
・さらに、エラー訂正処理を３回行っても訂正不能のインターリーブが存在する場合には、この結果を演算情報として負荷が大きく訂正処理が遅れると判断し、クロック信号CLKの周期Tを短くするようにしてもよい。従って、この各場合においてもバッファメモリ１３の規模を小さくできるとともに、規模の縮小に伴うオーバーフローの発生も未然に防止することができる。
【０１０３】
つまり、前記実施形態では、インターリーブ１〜ｎの各位置０〜１１９毎のエラー訂正が行われ、訂正不能のインターリーブが存在した場合には、再度の訂正処理を行うことによって完全にエラー訂正できる場合があるため、再び同じ訂正処理を行うようになっている。そして、本実施形態では、１つのセクタのデータについて訂正処理を３回行っても訂正不能のインターリーブが存在する場合には、当該セクタのエラー訂正処理を終了するようになっている。この場合、再び光ディスク駆動装置３を駆動させて光ディスク４から当該データを読み出さなければならず、エラー訂正処理回路部２４の訂正処理が遅れるからである。
【０１０４】
・又、前記１つのセクタのデータについて訂正処理の回数は予め３回と設定したが、この回数は０回、１回、２回又は４回以上と適宜変更して実施してもよい。さらに、この回数を演算情報とし、その時々で同様に変更するように内部プロセッサ２１からの制御で変更してもよい。そして、これらの場合、回数の多いほど、エラー訂正処理回路部２４の訂正処理に要する時間が多くなることから、設定した回数に応じて、前記基本周期Ta，Tbを変更して実施してもよい。つまり、回数の多いほど、基本周期Ta，Tbを短くする。
【０１０５】
この場合においても、バッファメモリ１３の規模を小さくできるとともに、規模の縮小に伴うオーバーフローの発生も未然に防止することができる。
・又、負荷の検出に行うとき、リードデータから再生クロックを抽出しその再生クロックをリード情報として入力して負荷の検出をしてもよい。つまり、再生クロックの周期が短いほど、訂正前データが増大することから負荷が大きくなる。反対に、再生クロックの周期が長いほど、訂正前データが減少することから負荷が小さくなる。そして、これら周期を検出することによって、クロック信号CLKの周期Tを制御することができる。又、再生クロックが発生していない時には、リードデータが何らかの原因で読み出されていないので、読み取り不能信号HSGと同様にクロック信号CLKの出力を停止させる。
【０１０６】
この場合においても、バッファメモリ１３の規模を小さくできるとともに、規模の縮小に伴うオーバーフローの発生も未然に防止することができる。
・又、負荷の検出に行うとき、内部プロセッサ２１から光ディスク駆動装置３がサーボエラーの信号を入力した時、サーボエラーの信号をリード情報として入力して負荷の検出をしてもよい。この場合、訂正前データが減少するとして負荷が小さくなる。この場合においても、バッファメモリ１３の規模を小さくできるとともに、規模の縮小に伴うオーバーフローの発生も未然に防止することができる。
【０１０７】
・前記実施形態では、負荷の大小でエラー訂正処理回路部２４の処理速度を制御した。これを図７に示すように、負荷の大小に基づいてバッファメモリ１３に記憶した訂正後データを読み出しコンピュータ２に出力する外部インターフェース回路１４の読み出し速度を制御してもよい。
【０１０８】
図７において、訂正処理能力制御回路部２５の負荷検出回路３７の負荷検出に基づいて能力制御回路３８は、外部インターフェース回路１４の読み出し速度を決定するクロック信号を同インターフェース回路１４に出力する。つまり、前記実施形態と同様に、能力制御回路３８は負荷の大小によってクロック信号の周期を変更して出力する。
【０１０９】
因みに、エラー訂正処理回路部２４にかかる負荷が大きい場合には、訂正処理が遅く訂正後データの量は少ないと判断し、読み出し速度もそれに対応して遅くてもよいことからクロック信号の周期を長くする。反対に、エラー訂正処理回路部２４にかかる負荷が小さい場合には、訂正処理が速やかに行われ訂正後データの量は多くなると判断し、読み出し速度を速くする必要があることからクロック信号の周期を短くする。この場合においても、バッファメモリ１３の規模を小さくできるとともに、規模の縮小に伴うオーバーフローの発生も未然に防止することができる。
【０１１０】
さらに、この場合、外部インターフェース回路１４とともに前記エラー訂正処理回路部２４の処理速度もあわせて制御するようにしてもよい。この場合にも、バッファメモリ１３の規模を小さくできるとともに、規模の縮小に伴うオーバーフローの発生も未然に防止することができる。
【０１１１】
・前記実施形態では、クロック信号CLKの周期Tをその時の周期T（第１及び第２基本周期Ta，Tbを含む）と調整量ΔTd，ΔTu，ΔT0を使って求めた。これを、その時々の負荷に対するクロック信号CLKの周期Tが一義的に決めたデータを予め用意して該データに基づいて実施してもよい。この場合においても、バッファメモリ１３の規模を小さくできるとともに、規模の縮小に伴うオーバーフローの発生も未然に防止することができる。
【０１１２】
・前記実施形態では、訂正前データと訂正後データは、共に１つのバッファメモリ１３を共有しそれぞれ同バッファメモリ１３に記憶されるようになっていた。これを、訂正前データと訂正後データをそれぞれ個別のメモリを設け、その個別のメモリに記憶するようにして実施してもよい。又、１つのメモリであっても、その記憶領域をそれぞれ訂正前データを記憶領域と訂正後データを記憶する領域を予め個々独立に決めて、その決められた領域にそれぞれ独立に記憶するように実施してもよい。
【０１１３】
この場合においても、バッファメモリ１３の規模を小さくできるとともに、規模の縮小に伴うオーバーフローの発生も未然に防止することができる。
・前記実施形態では、光ディスク４に記録されたリードデータから抽出された訂正前データをエラー訂正処理を行うものに具体化したが、光ディスク４に記録されたデータに限定されるものではなく、訂正前データをエラー訂正処理を行うものであるなら、磁気ディスクやその他記録媒体に記録されたデータをエラー訂正処理する処理装置に応用してもよい。この場合においても、バッファメモリ１３の規模を小さくできるとともに、規模の縮小に伴うオーバーフローの発生も未然に防止することができる。
【０１１４】
・前記実施形態のエラー訂正処理回路部２４は、シンドロームを求めユークリッド互助法により誤り位置及び数値多項式を求めてエラー訂正処理を行うものであったが、その他の方法でエラー訂正する訂正処理装置に応用してもよい。この場合においても、バッファメモリ１３の規模を小さくできるとともに、規模の縮小に伴うオーバーフローの発生も未然に防止することができる。
【０１１５】
上記各実施の形態から把握できる技術的思想について、以下にその効果とともに記載する。
（イ）エラー訂正処理装置の制御方法において、前記エラー訂正処理回路部の演算情報は、そのエラー訂正処理回路部のエラー訂正に要する時間であることを特徴とするエラー訂正処理装置の制御方法。
【０１１６】
（ロ）エラー訂正処理装置の制御方法において、前記エラー訂正処理回路部の演算情報は、前記エラー訂正処理回路部が求めたエラー訂正の数であることを特徴とするエラー訂正処理装置の制御方法。
【０１１７】
（ハ）エラー訂正処理装置の制御方法において、前記エラー訂正処理回路部の演算情報は、前記エラー訂正処理回路部が１つのセクタについて行うエラー訂正処理回数であることを特徴とするエラー訂正処理装置の制御方法。
【０１１８】
上記（イ）〜（ハ）によれば、負荷は前記エラー訂正処理回路部の演算情報（エラー訂正に要する時間、エラー訂正の数又はエラー訂正処理回数）に基づいて検出される。そして、エラー訂正処理回路部の訂正処理速度又は訂正後データの読み出し速度は負荷に応じて訂正処理速度が変更される。従って、メモリに記憶する訂正前データのデータ量と処理後データのデータ量を調整することができる。その結果、訂正前データと訂正後データを記憶するメモリの規模を小さくできるとともに、規模の縮小に伴うオーバーフローの発生を未然に防止することができる。
【０１１９】
（ニ）エラー訂正処理装置の制御方法において、前記ディスク駆動装置のリード情報は、そのディスク駆動装置の読み出し速度に基づいて検出されることを特徴とするエラー訂正処理装置の制御方法。
【０１２０】
（ホ）エラー訂正処理装置の制御方法において、前記ディスク駆動装置のリード情報は、そのディスク駆動装置のシーク情報に基づいて検出されることを特徴とするエラー訂正処理装置の制御方法。
【０１２１】
（へ）エラー訂正処理装置の制御方法において、前記ディスク駆動装置のリード情報は、そのディスク駆動装置が読み出したリードデータに基づいて検出されることを特徴とするエラー訂正処理装置の制御方法。
【０１２２】
上記（ニ）〜（ヘ）によれば、負荷はディスク駆動装置からのリード情報（読み出し速度、シーク情報又はリードデータ）に基づいて検出される。そして、エラー訂正処理回路部の訂正処理速度又は訂正後データの読み出し速度は負荷に応じて訂正処理速度が変更される。従って、メモリに記憶する訂正前データのデータ量と処理後データのデータ量を調整することができる。その結果、訂正前データと訂正後データを記憶するメモリの規模を小さくできるとともに、規模の縮小に伴うオーバーフローの発生を未然に防止することができる。
【０１２３】
（ト）エラー訂正処理装置において、前記能力制御回路は、前記負荷が大きいとき動作クロック信号の周期を短くし、負荷が小さいとき動作クロック信号の周期を長くすることを特徴とするエラー訂正処理装置。
【０１２４】
上記（ト）によれば、エラー訂正処理回路部は訂正処理能力制御回路部からの制御信号（動作クロック信号）に基づいて負荷に応じた訂正処理速度に制御される。従って、メモリに記憶する訂正前データのデータ量と処理後データのデータ量を調整することができる。その結果、訂正前データと訂正後データを記憶するメモリの規模を小さくできるとともに、規模の縮小に伴うオーバーフローの発生を未然に防止することができる。
【０１２５】
（チ）エラー訂正処理装置において、前記能力制御回路は、前記負荷が大きいとき動作クロック信号の周期を短くし、負荷が小さいとき動作クロック信号の周期を長くすることを特徴とするエラー訂正処理装置。
【０１２６】
上記（チ）によれば、訂正後データの読み出し速度は訂正処理能力制御回路部からの制御信号（動作クロック信号）に基づいて負荷に応じた速度に制御される。従って、メモリに記憶する訂正前データのデータ量と処理後データのデータ量を調整することができる。その結果、訂正前データと訂正後データを記憶するメモリの規模を小さくできるとともに、規模の縮小に伴うオーバーフローの発生を未然に防止することができる。
【０１２７】
（リ）エラー訂正処理装置において、前記ディスク駆動装置のリード情報は、そのディスク駆動装置の読み出し速度信号であることを特徴とするエラー訂正処理装置。
（ヌ）エラー訂正処理装置において、前記ディスク駆動装置のリード情報は、そのディスク駆動装置のシーク情報であることを特徴とするエラー訂正処理装置。
【０１２８】
（ル）エラー訂正処理装置において、前記ディスク駆動装置のリード情報は、そのディスク駆動装置が読み出したリードデータであることを特徴とするエラー訂正処理装置。
上記（リ）〜（ル）によれば、負荷はディスク駆動装置のリード情報（読み出し速度信号、シーク情報又はリードデータ）を入力して検出される。そして、エラー訂正処理回路部の訂正処理速度又は訂正後データの読み出し速度は負荷に応じて訂正処理速度が変更される。従って、メモリに記憶する訂正前データのデータ量と処理後データのデータ量を調整することができる。その結果、訂正前データと訂正後データを記憶するメモリの規模を小さくできるとともに、規模の縮小に伴うオーバーフローの発生を未然に防止することができる。
【符号の説明】
【０１２９】
１  光ディスク制御装置
２  コンピュータ
３  光ディスク駆動装置
４  光ディスク
１２  光ディスクコントローラ
１３  バッファメモリ
１４  外部インターフェース回路
１５  入出力駆動回路
２１  内部プロセッサ
２２  デコーダ
２４  エラー訂正処理回路部
２５  訂正処理能力制御回路部
３１  シンドローム生成回路
３２  誤り位置多項式及び誤り数値多項式生成回路
３３  誤り位置・数値検出回路
３４  書き換え処理回路
３５  訂正結果レジスタ
３６  ポインタ
３７  負荷検出回路
３８  能力制御回路
４１  分周比制御回路
４２  クロック制御・分周回路
CLK クロック信号
T 周期
【図１】
2011175728.tif 000003
【図２】
2011175728.tif 000004
【図３】
2011175728.tif 000005
【図４】
2011175728.tif 000006
【図５】
2011175728.tif 000007
【図６】
2011175728.tif 000008
【図７】
2011175728.tif 000009