(57)【要約】【課題】エラー訂正符号のデータ配列と異なるデータ配列で光ディスクに記録データを書き込む光ディスク記録装置の処理速度を向上させ、回路規模を縮小する。【解決手段】光ディスク記録装置は、ユーザデータに基づいてエラー検出コードを算出するエラー検出コード算出手段１０５と、ブロックを構成するデータに基づいてパリティを算出するエラー訂正手段１０３と、を備え、前記エラー訂正手段１０３は、前記エラー検出コード算出手段１０５による前記エラー検出コードの算出が終了する前に、前記ユーザデータ及び仮のエラー検出コードに基づいて仮のパリティを算出し、前記エラー検出コード算出手段１０５による真のエラー検出コードの算出が終了した後で、前記仮のエラー検出コード、前記真のエラー検出コード及び前記仮のパリティに基づいて真のパリティを算出する。【選択図】図６
2009032336.tif 000002
【特許請求の範囲】
【請求項１】
ユーザデータを所定のセクタ長に分割し、前記セクタ長に分割された前記ユーザデータに基づくエラー検出コードを前記セクタ長に分割された前記ユーザデータ毎に付加してセクタデータを構成し、前記セクタデータを所定の部分セクタデータに分割し、前記部分セクタデータを各々異なるブロックに配置し、前記ブロックに各々少なくとも１つ以上のエラー検出コードを配置し、複数個の前記セクタデータを各々分割した複数個の前記部分セクタデータで前記ブロックを構成し、前記ブロックのデータに基づくエラー訂正のためのパリティを前記ブロック毎に付加して訂正ブロックを構成する符号化規則に基づいた記録データを光ディスクに記録する光ディスク記録装置であって、
前記ユーザデータに基づいて前記エラー検出コードを算出するエラー検出コード算出手段と、
前記ブロックを構成するデータに基づいて前記パリティを算出するエラー訂正手段と、を備え、
前記エラー訂正手段は、前記エラー検出コード算出手段による前記エラー検出コードの算出が終了する前に、前記ユーザデータ及び仮のエラー検出コードに基づいて仮のパリティを算出し、前記エラー検出コード算出手段による真のエラー検出コードの算出が終了した後で、前記仮のエラー検出コード、前記真のエラー検出コード及び前記仮のパリティに基づいて真のパリティを算出する事を特徴とする光ディスク記録装置。
【請求項２】
前記記録データの少なくとも一部を一時的に記憶する一時記憶手段をさらに備え、
前記エラー検出コード算出手段は、前記一時記憶手段に前記ユーザデータを書き込む際に、前記セクタ長に分割されたユーザデータに基づいて前記エラー検出コードを算出し、
前記エラー訂正手段は、前記エラー検出コード算出手段による前記エラー検出コードの算出が終了する前に、前記一時記憶手段に書き込まれたユーザデータ及び仮のエラー検出コードに基づいて仮のパリティを算出する請求項１に記載の光ディスク記録装置。
【請求項３】
仮のパリティを保持するパリティ保持手段をさらに備え、
前記エラー訂正手段は、前記エラー検出コード算出手段による前記真のエラー検出コードの算出が終了する前に、前記仮のパリティを前記パリティ保持手段に保持させ、前記エラー検出コード算出手段による真のエラー検出コードの算出が終了した後に、前記仮のエラー検出コード、前記真のエラー検出コード及び前記パリティ保持手段に保持された仮のパリティに基づいて真のパリティを算出する請求項１に記載の光ディスク記録装置。
【請求項４】
入出力用データの少なくとも一部を記憶する主記憶手段をさらに備え、
前記エラー訂正手段は、前記エラー検出コード算出手段による前記真のエラー検出コードの算出が終了する前に、前記仮のパリティを含む仮のエラー訂正ブロックを前記主記憶手段に書き込み、前記エラー検出コード算出手段による真のエラー検出コードの算出が終了した後で、前記主記憶手段から前記仮のエラー訂正ブロックを読み出し、前記仮のエラー検出コード、前記真のエラー検出コード及び前記仮のパリティに基づいて真のパリティを算出し、前記仮のパリティと前記算出された真のパリティに置換する請求項１に記載の光ディスク記録装置。
【請求項５】
前記記録データの少なくとも一部を一時的に記憶する一時記憶手段をさらに備え、
前記エラー訂正手段は、前記エラー検出コード算出手段による前記真のエラー検出コードの算出が終了する前に、前記仮のパリティを前記一時記憶手段に書き込み、前記エラー検出コード算出手段による真のエラー検出コードの算出が終了した後に、前記一時記憶手段から前記仮のパリティを読み出し、前記仮のエラー検出コード、前記仮のパリティ及び前記算出された真のエラー検出コードに基づいて真のパリティを算出する請求項１に記載の光ディスク記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光ディスク記録装置に関し、特に、エラー訂正符号のデータ配列と異なるデータ配列で光ディスクに記録データを書き込む光ディスク記録装置に関する。
【背景技術】
【０００２】
近年の光ディスクは、レーザの短波長化によって記録密度を向上させている。しかし、光ディスクの記録密度の向上に伴い、光ディスクの読み取り面のキズやほこりに対してデータの読み取りエラーがバースト状になる現象（以下「バーストエラー」という）が発生しやすくなるので、より強力なエラー訂正能力を備えた光ディスク記録装置が必要となっている。
【０００３】
バーストエラーに対してエラー訂正能力を向上させる方法として、エラー訂正符号のデータ配列を光ディスク上のデータ配列とは異なる順序にして、光ディスク上の連続的なエラーを分散させる方法が知られている。
【０００４】
この方法を実現するための一例として、入出力のバッファ処理、エラー訂正処理及びＥＤＣ処理を全て１つのメモリ（例えばＤＲＡＭ）上で行うことが知られている。
【０００５】
しかし、各処理においてメモリアクセスが発生し、光ディスク記録装置の処理速度が低下するという問題がある。
【０００６】
また、入出力バッファ用のＤＲＡＭは、同一ロウ上のデータへの連続アクセスは可能であるが、異なるロウ上のデータへの連続アクセスができないため、２つの異なる方向にエラー訂正符号化されたデータに対してエラー訂正処理の速度を向上させる事が難しいという問題がある。
【０００７】
これに対して、入出力バッファ用のＤＲＡＭとは別にエラー訂正処理やＥＤＣ処理のためのワーキングメモリ（以下「エラー訂正用バッファ」という）として、例えば、ＳＲＡＭを設けることが知られている。
【０００８】
特許文献１の光ディスク記録装置は、メモリから読み出されたエラー訂正ブロックをエラー訂正用バッファに書き込み、エラー訂正用バッファ上でエラー訂正ブロックのＥＤＣを算出し、パリティを付加することによって、光ディスク上の連続的なエラーを分散させ、かつ処理速度を向上させることができる。
【０００９】
しかし、特許文献１の光ディスク記録装置のＥＤＣ装置は、メモリからエラー訂正用バッファに記録データを転送する際にＥＤＣを算出するので、全てのエラー訂正ブロックの記録データをエラー訂正用バッファに転送しないとＥＤＣの算出が終了しない。
【００１０】
特許文献１の光ディスク記録装置のエラー訂正装置は、ＥＤＣの値が確定しないとパリティを付加することができないので、エラー訂正用バッファの容量は、ＥＤＣの算出が終了するデータ単位を全て記憶可能な規模が必要となり、光ディスク記録装置の回路規模が増大するという問題がある。
【特許文献１】特開２００７−９５２５１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明の目的は、エラー訂正符号のデータ配列と異なるデータ配列で光ディスクに記録データを書き込む光ディスク記録装置の処理速度を向上させ、回路規模を縮小することである。
【課題を解決するための手段】
【００１２】
本発明の第１態様によれば、ユーザデータを所定のセクタ長に分割し、前記セクタ長に分割された前記ユーザデータに基づくエラー検出コードを前記セクタ長に分割された前記ユーザデータ毎に付加してセクタデータを構成し、前記セクタデータを所定の部分セクタデータに分割し、前記部分セクタデータを各々異なるブロックに配置し、前記ブロックに各々少なくとも１つ以上のエラー検出コードを配置し、複数個の前記セクタデータを各々分割した複数個の前記部分セクタデータで前記ブロックを構成し、前記ブロックのデータに基づくエラー訂正のためのパリティを前記ブロック毎に付加して訂正ブロックを構成する符号化規則に基づいた記録データを光ディスクに記録する光ディスク記録装置であって、前記ユーザデータに基づいて前記エラー検出コードを算出するエラー検出コード算出手段と、前記ブロックを構成するデータに基づいて前記パリティを算出するエラー訂正手段と、を備え、前記エラー訂正手段は、前記エラー検出コード算出手段による前記エラー検出コードの算出が終了する前に、前記ユーザデータ及び仮のエラー検出コードに基づいて仮のパリティを算出し、前記エラー検出コード算出手段による真のエラー検出コードの算出が終了した後で、前記仮のエラー検出コード、前記真のエラー検出コード及び前記仮のパリティに基づいて真のパリティを算出する事を特徴とする光ディスク記録装置が提供される。
【発明の効果】
【００１３】
本発明によれば、エラー訂正符号のデータ配列と異なるデータ配列で光ディスクに記録データを書き込む光ディスク記録装置の処理速度を向上させ、回路規模を縮小することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施例について図面を参照して説明する。なお、以下の実施例は、本発明の実施の一形態であって、本発明の範囲を限定するものではない。
【００１５】
はじめに、本発明の実施例に係るデータ構造について説明する。
【００１６】
本発明の実施例に係る光ディスク記録装置の符号化規則では、ユーザデータが所定のセクタ長に分割され、分割されたユーザデータに基づいてエラー検出コード（以下「ＥＤＣ（Error Detecting Code）」という）が付加されたデータ（以下「セクタデータ」という）が生成される。
【００１７】
セクタデータは、ユーザデータのみを含む第１部分セクタデータ及び、ユーザデータとＥＤＣを含む第２部分セクタデータに分割される。
【００１８】
各部分セクタデータは、各ブロックに少なくとも１つのＥＤＣが含まれるように配置され、第１ブロック及び第２ブロックが生成される。
【００１９】
各ブロックには、エラー訂正のパリティが付加され、エラー訂正ブロックが生成される。
【００２０】
本発明の実施例に係る光ディスク記録装置は、このような符号化規則に基づいて生成されたエラー訂正ブロックによって構成された記録データを光ディスクに書き込むものである。
【００２１】
図１は、光ディスクにおけるセクタの構成例を示す概略図である。
【００２２】
１つのセクタデータは、横方向（ロウ方向）に２Ｍバイト、縦方向（カラム方向）にＬバイトのデータから構成されている。
【００２３】
各セクタデータの最後には、セクタデータを構成するユーザデータに基づいて算出されるＥＤＣが付加されている。
【００２４】
セクタデータは、横方向にＭバイト、縦方向にＬバイトの右半分のデータ（以下「Ｒセクタデータ」という）及び左半分のデータ（以下「Ｌセクタデータ」という）に分割される。
【００２５】
すなわち、Ｌセクタデータは第１部分セクタデータであり、Ｒセクタデータは第２部分セクタデータである。
【００２６】
図２Ａは、図１に示された部分セクタデータのＮ個の組み合わせで構成されたブロックの構成例を示す概略図である。
【００２７】
第１ブロックは、先頭セクタ（Ｓｅｃｔｅｒ  ０）から順に、偶数セクタ（Ｓｅｃｔｏｒ  ０、２、…、Ｎ−２）のＬセクタデータ及び奇数セクタ（Ｓｅｃｔｅｒ  １、３、…、Ｎ−１）のＲセクタデータから構成されている。
【００２８】
第２ブロックは、先頭セクタから順に、偶数セクタのＲセクタデータ及び奇数セクタのＬセクタデータから構成されている。
【００２９】
従って、偶数セクタのＥＤＣは第２ブロックに配置され、奇数セクタのＥＤＣは第１ブロックに配置される。
【００３０】
図２Ｂは、図２Ａに示されたブロックを構成するデータ（以下「メインデータ」という）及びメインデータに基づくパリティから構成されたエラー訂正ブロックの構成例を示す概略図である。
【００３１】
第１エラー訂正ブロック及び第２エラー訂正ブロックには、横方向のエラー訂正符号のパリティ（以下「ＰＩパリティ」という）及び縦方向のエラー訂正符号のパリティ（以下「ＰＯパリティ」という）が付加されている。
【００３２】
図３は、図２Ｂに示された第１エラー訂正ブロック及び第２エラー訂正ブロックの光ディスク上のデータ配置を示す概略図である。
【００３３】
光ディスク上には、第１エラー訂正ブロック及び第２エラー訂正ブロックのデータが横方向に１行毎に交互に配置される。
【００３４】
従って、光ディスク上に書き込まれるデータの連続的なエラーは、第１エラー訂正ブロックと第２エラー訂正ブロックに分散され、それぞれのエラー訂正ブロックのエラー訂正処理の負荷が軽減される。
【００３５】
図４は、図２Ｂに示された第１エラー訂正ブロック及び第２エラー訂正ブロックを構成する横方向のエラー訂正符号の構成例及び縦方向のエラー訂正符号の構成例を示す概略図である。
【００３６】
図４Ａに示されるように、エラー訂正ブロックを構成する横方向のエラー訂正符号は、Ｍバイトのメインデータ及びＰバイトのＰＩパリティから構成されている。
【００３７】
図４Ｂに示されるように、エラー訂正ブロックを構成する縦方向のエラー訂正符号は、Ｌ×Ｎバイトのメインデータ及びＱバイトのＰＯパリティから構成されている。
【００３８】
図５は、図４Ａ及びＢに示されたエラー訂正ブロックを構成する横方向及び縦方向のエラー訂正符号のうち、エラー訂正ブロックを構成するＥＤＣを含む横方向のエラー訂正符号、エラー訂正ブロックを構成するＥＤＣを含む縦方向のエラー訂正符号及びエラー訂正ブロックを構成するＰＩパリティを含む縦方向のエラー訂正符号の概略を示す概略図である。
【００３９】
図５Ａに示されるように、エラー訂正ブロックを構成するＥＤＣを含む横方向のエラー訂正符号は、ＭバイトのメインデータのうちｋバイトがＥＤＣであり、終端にＰバイトのＰＩパリティが配置されている。
【００４０】
図５Ｂに示されるように、エラー訂正ブロックを構成するＥＤＣを含む縦方向のエラー訂正符号は、Ｌ×ＮバイトのメインデータのうちＮバイトがＥＤＣであり、終端にＱバイトのＰＯパリティが配置されている。
【００４１】
図５Ｃに示されるように、エラー訂正ブロックを構成するＰＩパリティを含む縦方向のエラー訂正符号は、Ｌ×Ｎバイトが全てＰＩパリティであり、終端にＱバイトのＰＯパリティが配置されている。
【００４２】
横方向及び縦方向のエラー訂正符号は、ＧＦ（２8）を用いたリードソロモン符号である。横方向のエラー訂正符号のメインデータをＭi、パリティをＰi、縦方向のエラー訂正符号のメインデータをＭj、パリティをＰjとしたときに、横方向のエラー訂正符号のシンドロームＳhは式１に示され、縦方向のエラー訂正符号のシンドロームＳvは式２に示される。
【数１】
2009032336.tif 000003
【実施例１】
【００４３】
本発明の実施例１について説明する。
【００４４】
はじめに、本発明の実施例１に係る光ディスク記録装置の構成について説明する。
【００４５】
図６は、本発明の実施例１に係る光ディスク記録装置の構成例を示すブロック図である。
【００４６】
本発明の実施例１に係る光ディスク記録装置は、ディスクモータ１、ピックアップ２、サーボ処理部３、変復調部４、ホストインタフェイス（以下「ホストＩ／Ｆ」という）５、ホストコンピュータ６、システムコントローラ１０１Ａ、メモリコントローラ１０１Ｂ、主記憶部（以下「メモリ」という）１０２、エラー訂正部１０３、仮のＥＤＣ部１０３Ａ、仮のパリティ部１０３Ｂ、真のＥＤＣ部１０３Ｃ、一時記憶部（以下「エラー訂正用バッファ」という）１０４及びエラー検出コード算出部（以下「ＥＤＣ部」という）１０５を備えている。
【００４７】
なお、本発明の実施例１に係る光ディスク記録装置は、記録機能だけでなく再生機能も有している。
【００４８】
ディスクモータ１は、光ディスク７を回転させるためのモータである。
【００４９】
ピックアップ２は、記録処理を行う際には、変調された記録データを光ディスク７に書き込み、再生処理を行う際には、光ディスク７に記録された情報を再生信号として読み出すためのモジュールである。
【００５０】
サーボ処理部３は、システムコントローラ１０１Ａからの要求に応じて、ディスクモータ１を制御して光ディスク７を所望の速度で回転させるとともに、ピックアップ２の光ディスク７に対するフォーカス位置とトラック位置を制御する。
【００５１】
変復調部４は、記録処理を行う際には、メモリコントローラ１０１Ｂを介してメモリ１０２から読み出した記録データを変調し、再生処理を行う際には、ピックアップ２により光ディスク７から読み出された再生信号を復調し、復調によって得られた再生データをメモリコントローラ１０１Ｂを介してメモリ１０２に書き込む。
【００５２】
メモリコントローラ１０１Ｂは、メモリ１０２からのデータの読み出し及びメモリ１０２に対するデータの書き込みを制御する。
【００５３】
メモリ１０２は、入出力のバッファ処理のための記録データ又は再生データを記憶する。例えば、メモリ１０２はＤＲＡＭである。
【００５４】
エラー訂正部１０３は、記録処理を行う際には、メモリ１０２のブロックをメモリコントローラ１０１Ｂを介して読み出し、読み出したブロックをエラー訂正用バッファ１０４に書き込み、エラー訂正用バッファ１０４に書き込んだブロックに基づくパリティを算出し、算出されたパリティをブロックに付加してエラー訂正ブロックを生成し、再生処理を行う際には、メモリ１０２の再生データをメモリコントローラ１０１Ｂを介して読み出し、読み出した再生データをエラー訂正用バッファ１０４に書き込み、エラー訂正用バッファ１０４に書き込んだ再生データのエラー訂正を行う。
【００５５】
仮のＥＤＣ部１０３Ａは、記録処理を行う際に、所望の値を仮のＥＤＣとして保持するレジスタである。好ましくは、仮のＥＤＣは０である。なお、仮のＥＤＣ部１０３Ａは再生処理には関与しない。
【００５６】
仮のパリティ部１０３Ｂは、記録処理を行う際に、エラー訂正部１０３によって算出された仮のパリティを保持するレジスタである。なお、仮のパリティ部１０３Ｂは再生処理には関与しない。
【００５７】
真のＥＤＣ部１０３Ｃは、記録処理を行う際に、ＥＤＣ部１０５によって算出された真のＥＤＣを保持するレジスタである。なお、再生におけるＥＤＣ部１０５の処理は、再生データのＥＤＣの正誤を判定するものであるから、真のＥＤＣ部１０３Ｃは再生処理には必須ではない。
【００５８】
エラー訂正用バッファ１０４は、エラー訂正のための記録データ又は再生データの少なくとも一部を一時的に記憶する。例えば、エラー訂正用バッファ１０４はＳＲＡＭである。
【００５９】
ＥＤＣ部１０５は、記録処理を行う際には、エラー訂正のための記録データの少なくとも一部をエラー訂正用バッファ１０４に書き込む際に、ユーザデータに基づいてＥＤＣを算出し、再生処理を行う際には、エラー訂正後の再生データをエラー訂正用バッファ１０４から読み出す際に、ユーザデータに基づいてＥＤＣを算出する。記録処理と再生処理の際に、ＥＤＣ部１０５は、後述する第１ブロックの各部分セクタデータに対するＥＤＣの算出を行い、算出結果を保持し、保持された算出結果を用いて後述する第２ブロックの各部分セクタデータに対するＥＤＣの算出を行う。さらに、ＥＤＣ部１０５は、再生処理を行う際には、算出したＥＤＣと再生データのＥＤＣとの一致を判定する。
【００６０】
システムコントローラ１０１Ａは、本発明の実施例１に係る光ディスク記録装置の各部を制御する。
【００６１】
ホストＩ／Ｆ５は、システムコントローラ１０１Ａ及びメモリコントローラ１０１Ｂとホストコンピュータ６との間の通信インタフェイスである。
【００６２】
ホストコンピュータ６は、記録処理を行う際には、ユーザデータをホストＩ／Ｆ５を介してメモリ１０２に書き込み、再生処理を行う際には、光ディスク７から読み出されてメモリ１０２に書き込まれたユーザデータをホストＩ／Ｆ５を介して読み出す。
【００６３】
次に、本発明の実施例１に係る光ディスク記録装置の記録処理について説明する。
【００６４】
図７は、本発明の実施例１に係る記録処理の処理手順を示すフローチャートである。
【００６５】
はじめに、システムコントローラ１０１Ａは、ホストＩ／Ｆ５を介してホストコンピュータ６からユーザデータを入力し、入力されたユーザデータをメモリコントローラ１０１Ｂを介してメモリ１０２に書き込む（Ｓ７０１）。
【００６６】
続いて、光ディスク記録装置は、後述される第１エラー訂正ブロック生成処理（Ｓ７０２）、第２エラー訂正ブロック生成処理（Ｓ７０３）及び訂正処理（Ｓ７０４）を行う。Ｓ７０４の結果として、メモリ１０２に前述の符号化規則に基づいて符号化された記録データが書き込まれる。
【００６７】
続いて、システムコントローラ１０１Ａは、必要とされる転送レートでメモリコントローラ１０１Ｂを介してメモリ１０２からＥＤＣ及びパリティが付加された記録データを読み出して変復調部４に入力し、変調された記録データ（以下「変調データ」という）を生成してピックアップ２に出力する（Ｓ７０５）。
【００６８】
続いて、サーボ処理部３は、システムコントローラ１０１Ａからの命令に従ってピックアップ２及びディスクモータ１を制御し、光ディスク７に変調データを書き込む（Ｓ７０６）。
【００６９】
図８は、本発明の実施例１に係る第１エラー訂正ブロック生成処理（図７のＳ７０２）の処理手順を示すフローチャートである。
【００７０】
はじめに、エラー訂正部１０３は、メモリコントローラ１０１Ｂを介してメモリ１０２に記憶されたユーザデータをセクタ長に分割し、偶数セクタのＬセクタデータ及び奇数セクタのＲセクタデータ（以下「第１ブロックを構成するデータ」という）を先頭セクタ（セクタ０）から順に読み出す（Ｓ８０１）。
【００７１】
続いて、エラー訂正部１０３は、Ｓ８０１において読み出された第１ブロックを構成するデータをエラー訂正用バッファ１０４に書き込む（Ｓ８０２ａ）。
【００７２】
また、ＥＤＣ部１０５は、Ｓ８０１において読み出された第１ブロックを構成するデータに対してＥＤＣの算出を行う（Ｓ８０２ｂ）。但し、第１エラー訂正ブロック生成処理の時点では、偶数セクタのＲセクタデータ及び奇数セクタのＬセクタデータ（以下「第２ブロックを構成するデータ」という）に対するＥＤＣの算出は終了していない。
【００７３】
続いて、エラー訂正部１０３は、Ｓ８０２ａにおいてエラー訂正用バッファ１０４に書き込まれた第１ブロックを構成するデータを読み出す（Ｓ８０２ｃ）。
【００７４】
続いて、第１ブロックを構成するデータのうち、ＥＤＣを含まないエラー訂正符号については（Ｓ８０３−ＮＯ）、エラー訂正部１０３は、第１ブロックを構成するデータに基づいて真のパリティを算出する（Ｓ８０４）。続いて、エラー訂正部１０３は、Ｓ８０４において算出された真のパリティをＳ８０２ａにおいてエラー訂正用バッファ１０４に書き込まれた第１ブロックに付加するためのＰＩ符号とＰＯ符号のパリティ付加処理を行う（Ｓ８０５）。
【００７５】
一方、第１ブロックを構成するデータのうち、ＥＤＣを含むエラー訂正符号については（Ｓ８０３−ＹＥＳ）、エラー訂正部１０３は、仮のＥＤＣ部１０３Ａに保持された仮のＥＤＣに基づいて仮のパリティを算出して仮のパリティ部１０３Ｂに書き込む（Ｓ８０６）。
【００７６】
Ｓ８０１〜Ｓ８０６は、エラー訂正用バッファ１０４への第１エラー訂正ブロックの書き込み及びパリティ付加処理が終了するまで繰り返される（Ｓ８０８）。
【００７７】
エラー訂正用バッファ１０４への第１エラー訂正ブロックの書き込み及びパリティ付加処理が終了した場合には（Ｓ８０８−ＹＥＳ）、エラー訂正部１０３は、エラー訂正用バッファ１０４から第１エラー訂正ブロックを読み出し、メモリコントローラ１０１Ｂを介してメモリ１０２に書き込む（Ｓ８０９）。
【００７８】
また、エラー訂正用バッファ１０４への第１エラー訂正ブロックの書き込み及びパリティ付加処理が終了した場合には（Ｓ８０８−ＹＥＳ）、ＥＤＣ部１０５は、Ｓ８０２ｂにおいて算出したＥＤＣの算出途中の結果を保持する（Ｓ８１０）。
【００７９】
図９は、本発明の実施例１に係る第２エラー訂正ブロック生成処理（図７のＳ７０３）の処理手順を示すフローチャートである。
【００８０】
はじめに、ＥＤＣ部１０５は、メモリコントローラ１０１Ｂを介してメモリ１０２に記憶されたユーザデータをセクタ長に分割し、第２ブロックを構成するデータを読み出す（Ｓ９０１）。
【００８１】
続いて、エラー訂正部１０３は、Ｓ９０１において読み出された第２ブロックを構成するデータをエラー訂正用バッファ１０４に書き込む（Ｓ９０２ａ）。
【００８２】
また、ＥＤＣ部１０５は、図８のＳ８１０において保持されたＥＤＣの算出途中の結果を用いて、Ｓ９０１において読み出された第２ブロックを構成するデータに対するＥＤＣの算出を継続する（Ｓ９０２ｂ）。
【００８３】
続いて、ＥＤＣ部１０５は、算出したＥＤＣが偶数セクタデータのＥＤＣである場合には（Ｓ９０３−ＮＯ）、ＥＤＣの算出を終了した結果をエラー訂正用バッファ１０４に書き込み（Ｓ９０５）、算出したＥＤＣが奇数セクタデータのＥＤＣである場合には（Ｓ９０３−ＹＥＳ）、ＥＤＣの算出を終了した結果を真のＥＤＣ部１０３Ｃに書き込む（Ｓ９０４）。
【００８４】
続いて、エラー訂正部１０３は、Ｓ９０２ａにおいてエラー訂正用バッファ１０４に書き込まれた第２ブロックを構成するデータ及びＳ９０５においてエラー訂正用バッファ１０４に書き込まれた真のＥＤＣを読み出す（Ｓ９０２ｃ）。
【００８５】
続いて、エラー訂正部１０３は、Ｓ９０２ｃにおいてエラー訂正用バッファ１０４から読み出した第２ブロックを構成するデータ及び真のＥＤＣに基づいて真のパリティを算出する（Ｓ９０６）。
【００８６】
続いて、エラー訂正部１０３は、Ｓ９０６において算出された真のパリティをＳ９０２ａ及びＳ９０５においてエラー訂正用バッファ１０４に書き込まれた第２ブロックに付加するためのＰＩ符号とＰＯ符号のパリティ付加処理を行う（Ｓ９０７）。
【００８７】
Ｓ９０１〜Ｓ９０７は、エラー訂正用バッファ１０４への第２エラー訂正ブロックの書き込みが終了するまで繰り返される（Ｓ９０９）。
【００８８】
エラー訂正用バッファ１０４への第２エラー訂正ブロックの書き込みが終了した場合には（Ｓ９０９−ＹＥＳ）、エラー訂正部１０３は、エラー訂正用バッファ１０４から第２エラー訂正ブロックを読み出し、メモリコントローラ１０１Ｂを介してメモリ１０２に書き込む（Ｓ９１０）。
【００８９】
図１０は、本発明の実施例１に係る訂正処理（図７の７０４）の処理手順を示すフローチャートである。
【００９０】
はじめに、エラー訂正部１０３は、仮のパリティ部１０３Ｂに保持された仮のパリティ、真のＥＤＣ部１０３Ｃに保持された真のＥＤＣ及び仮のＥＤＣ部１０３Ａに保持された仮のＥＤＣに基づいて第１エラー訂正ブロックの奇数セクタのＲセクタデータのＬ行目の真のＰＩパリティを算出する（Ｓ１００１ａ）。
【００９１】
続いて、エラー訂正部１０３は、仮のパリティ部１０３Ｂに保持された仮のパリティ、真のＥＤＣ部１０３Ｃに保持された真のＥＤＣ及び仮のＥＤＣ部１０３Ａに保持された仮のＥＤＣに基づいて第１エラー訂正ブロックのＭ−ｋ＋１列目からＭ列目までの真のＰＯパリティを算出する（Ｓ１００１ｂ）。
【００９２】
なお、Ｓ１００１ａとＳ１００１ｂはそれぞれ独立した演算処理であるから、どちらを先に行っても良い。
【００９３】
続いて、エラー訂正部１０３は、仮のパリティ部１０３Ｂに保持された仮のパリティ、Ｓ１００１ａにおいて算出した真のＰＩパリティに基づいて第１エラー訂正ブロックのＭ＋１列目からＭ＋Ｐ列目までの真のＰＯパリティを算出する（Ｓ１００１ｃ）。
【００９４】
なお、Ｓ１００１ｃにおける第１エラー訂正ブロックのＭ＋１列目からＭ＋Ｐ列目までの真のＰＯパリティは、Ｓ１００１ｂにおいて算出した真のＰＯパリティに基づいて第１エラー訂正ブロックのＬ×Ｎ＋１行目からＬ×Ｎ＋Ｑ行目までの真のＰＩパリティとして算出しても結果は同じである。
【００９５】
続いて、ＥＤＣ部１０５は、メモリ１０２に書き込まれた第１エラー訂正ブロックの奇数セクタのＲセクタデータのＬ行目に真のＥＤＣ部１０３Ｃに保持された真のＥＤＣを付加する（Ｓ１００２）。
【００９６】
続いて、エラー訂正部１０３は、メモリ１０２に書き込まれた第１エラー訂正ブロックに、Ｓ１００１ａ〜Ｓ１００１ｃにおいて算出された真のＰＩパリティ及びＰＯパリティを付加する（Ｓ１００３）。
【００９７】
ここで、図１０のＳ１００１ａ〜Ｓ１００１ｃにおいて、仮のパリティ、真のＥＤＣ及び仮のＥＤＣに基づいて真のパリティを算出する方法について説明する。
【００９８】
前述された図８のＳ８０９の時点では、仮のＥＤＣ及び仮のパリティを含む第１エラー訂正ブロックのシンドロームはすべて零であるから、仮のＥＤＣだけを真のＥＤＣに置換した場合には、第１エラー訂正ブロックの横方向のエラー訂正符号のシンドロームＳｈは、仮のＥＤＣの各バイトをＥ’i、真のＥＤＣをＥiとしたときに、式３に示される。
【数２】
2009032336.tif 000004
【００９９】
さらに、仮のＥＤＣ及び真のＥＤＣに基づいて算出されたシンドロームＳhを用いて、仮のＰＩパリティのエラーパターンを算出することによって、仮のＰＩパリティ及び仮のＰＩパリティのエラーパターンに基づいて真のＰＩパリティを算出することができる。
【０１００】
また、仮のＥＤＣを含む第１エラー訂正ブロックの縦方向のエラー訂正符号シンドロームＳvは、仮のＥＤＣをＥ’jとし、真のＥＤＣをＥjとしたときに、式４に示される。
【数３】
2009032336.tif 000005
【０１０１】
さらに、仮のＥＤＣ及び真のＥＤＣに基づいて算出されたシンドロームＳvを用いて、仮のＰＯパリティのエラーパターンを算出することによって、仮のＰＯパリティ及び仮のＰＯパリティのエラーパターンに基づいて真のＰＯパリティを算出することができる。
【０１０２】
なお、前述のように、仮のＥＤＣを零（Ｅ’j＝０）としたときには、式３及び式４は、式３’及び式４’に示されるように簡素化される。
【数４】
2009032336.tif 000006
【０１０３】
また、仮のＰＩパリティを含む第１エラー訂正ブロックの縦方向のエラー訂正符号のシンドロームＳvは、仮のＰＩパリティをＰ’j、真のＰＩパリティをＰjとしたときに、式５に示される。
【数５】
2009032336.tif 000007
【０１０４】
さらに、仮のＰＩパリティ及び真のＰＩパリティに基づいて算出されたシンドロームＳvを用いて、仮のＰＯパリティのエラーパターンを算出することによって、仮のＰＯパリティ及び仮のＰＯパリティのエラーパターンに基づいて真のＰＯパリティを算出することができる。
【０１０５】
このように、本発明の実施例１に係る光ディスク記録装置において、仮のＥＤＣ、仮のＰＩパリティ及び仮のＰＯパリティの値を保持することによって、前述された図１０のＳ１００１ａ〜１００１ｃにおいて、メモリ１０２又はエラー訂正用バッファ１０４からメインデータを読み出すことなく、真のＥＤＣ及び真のパリティを算出することができる。
【０１０６】
次に、本発明の実施例１に係る光ディスク記録装置による再生処理の動作について説明する。
【０１０７】
図１１は、本発明の実施例１に係る光ディスク記録装置によって光ディスクに書き込まれた記録データの再生処理における処理手順を示すフローチャートである。
【０１０８】
はじめに、サーボ処理部３は、システムコントローラ１０１Ａからの命令に従ってピックアップ２及びディスクモータ１を制御し、光ディスク７に記録された変調データを読み出す（Ｓ１１０１）。
【０１０９】
次に、ピックアップ２によって光ディスク７から読み出された変調データを変復調部４に入力して復調する（Ｓ１１０２）。
【０１１０】
続いて、復調されたデータ（以下「再生データ」という）をメモリコントローラ１０１Ｂを介してメモリ１０２に書き込む（Ｓ１１０３）。ここで、再生データは、第１エラー訂正ブロック及び第２エラー訂正ブロックである。
【０１１１】
続いて、メモリコントローラ１０１Ｂを介してメモリ１０２から第１エラー訂正ブロックを読み出してエラー訂正用バッファ１０４に書き込む（Ｓ１１０４）。
【０１１２】
続いて、エラー訂正部１０３は、エラー訂正用バッファ１０４に書き込まれた第１エラー訂正ブロックのＰＩ符号及びＰＯ符号のエラー訂正処理を行う（Ｓ１１０５）。Ｓ１１０５の後に、エラー訂正用バッファ１０４からエラー訂正処理済みの第１エラー訂正ブロックを読み出し、ＥＤＣ部１０５に入力する。
【０１１３】
続いて、ＥＤＣ部１０５は、エラー訂正処理済みの第１エラー訂正ブロックに対してＥＤＣの算出処理を行う（Ｓ１１０６）。
【０１１４】
続いて、ＥＤＣ部１０５は、エラー訂正処理済みの第１エラー訂正ブロックをメモリコントローラ１０１Ｂを介してメモリ１０２に書き込む（Ｓ１１０７）。
【０１１５】
続いて、メモリコントローラ１０１Ｂを介してメモリ１０２から第２エラー訂正ブロックを読み出してエラー訂正用バッファ１０４に書き込む（Ｓ１１０８）。
【０１１６】
続いて、エラー訂正部１０３は、エラー訂正用バッファ１０４に書き込まれた第２エラー訂正ブロックのＰＩ符号及びＰＯ符号のエラー訂正処理を行う（Ｓ１１０９）。Ｓ１１０９の後に、エラー訂正用バッファ１０４からエラー訂正処理済みの第１エラー訂正ブロックを読み出し、ＥＤＣ部１０５に入力する。
【０１１７】
続いて、ＥＤＣ部１０５は、エラー訂正処理済みの第２エラー訂正ブロックに対してＥＤＣの算出処理を行う（Ｓ１１１０）。
【０１１８】
続いて、ＥＤＣ部１０５は、エラー訂正処理済みの第２エラー訂正ブロックをメモリコントローラ１０１Ｂを介してメモリ１０２に書き込む（Ｓ１１１２）。
【０１１９】
続いて、必要とされる転送レートでメモリコントローラ１０１Ｂを介してメモリ１０２からエラー訂正済みの再生データを読み出し、ホストインタフェイス５を介してホストコンピュータ６に出力する（Ｓ１１１２）。
【０１２０】
本発明の実施例１によれば、ＥＤＣの算出が終了しない第１ブロックについては、所望の固定値を仮のＥＤＣとして用いて縦方向と横方向の仮のパリティを算出し、ＥＤＣの算出が終了する第２ブロックデータについては、真のＥＤＣを用いての真のパリティを算出し、第１ブロックに属するＥＤＣの算出が終了した後で、第１エラー訂正ブロックの仮のＥＤＣ及び仮のパリティを真のＥＤＣ及び真のパリティに置換するので、ブロック１個分の容量を持つエラー訂正用バッファ１０４を用いて記録処理を実現することができる。
【０１２１】
また、本発明の実施例１によれば、メモリ１０２とは別個に設けられたエラー訂正用バッファ１０４を用いるので、セクタが複数のブロックに分割して配置され、それぞれのブロックにＥＤＣが分散して配置されたデータを扱う際に、エラー訂正用バッファ１０４を小規模化すると共に、真のパリティを算出する際のメモリ１０２に対するデータアクセスを無くし、高速な記録処理を実現することができる。
【実施例２】
【０１２２】
次に、本発明の実施例２について説明する。本発明の実施例１は、仮のパリティを仮のパリティ部に保持する例であるが、本発明の実施例２は、仮のパリティをメモリに書き込む例である。なお、本発明の実施例１と同様の内容についての説明は省略する。
【０１２３】
はじめに、本発明の実施例２に光ディスク記録装置の構成について説明する。
【０１２４】
図１２は、本発明の実施例２に係る光ディスク記録装置の構成例を示すブロック図である。
【０１２５】
本発明の実施例２に係る光ディスク記録装置は、ディスクモータ１、ピックアップ２、サーボ処理部３、変復調部４、ホストインタフェイス（以下「ホストＩ／Ｆ」という）５、ホストコンピュータ６、システムコントローラ２０１Ａ、メモリコントローラ２０１Ｂ、主記憶部（以下「メモリ」という）２０２、エラー訂正部２０３、仮のＥＤＣ部２０３Ａ、真のＥＤＣ部２０３Ｃ、一時記憶部（以下「エラー訂正用バッファ」という）２０４及びエラー検出コード算出部（以下「ＥＤＣ部」という）２０５を備えている。
【０１２６】
なお、本発明の実施例２に係る光ディスク記録装置は、記録機能だけでなく再生機能も有している。
【０１２７】
ディスクモータ１は、光ディスク７を回転させるためのモータである。
【０１２８】
ピックアップ２は、記録処理を行う際には、変調された記録データを光ディスク７に書き込み、再生処理を行う際には、光ディスク７に記録された情報を再生信号として読み出すためのモジュールである。
【０１２９】
サーボ処理部３は、システムコントローラ２０１Ａからの要求に応じて、ディスクモータ１を制御して光ディスク７を所望の速度で回転させるとともに、ピックアップ２の光ディスク７に対するフォーカス位置とトラック位置を制御する。
【０１３０】
変復調部４は、記録処理を行う際には、メモリコントローラ２０１Ｂを介してメモリ２０２から読み出した記録データを変調し、再生処理を行う際には、ピックアップ２により光ディスク７から読み出された再生信号を復調し、復調によって得られた再生データをメモリコントローラ２０１Ｂを介してメモリ２０２に書き込む。
【０１３１】
メモリコントローラ２０１Ｂは、メモリ２０２からのデータの読み出し及びメモリ２０２に対するデータの書き込みを制御する。
【０１３２】
メモリ２０２は、記録処理を行う際には、入出力のバッファ処理のための記録データ及び後述される仮のパリティが付加された第１エラー訂正ブロックを記憶し、再生処理を行う際には、入出力のバッファ処理のための再生データを記憶する。例えば、メモリ２０２はＤＲＡＭである。
【０１３３】
エラー訂正部２０３は、記録処理を行う際には、メモリ２０２のブロックをメモリコントローラ２０１Ｂを介して読み出し、読み出したブロックをエラー訂正用バッファ２０４に書き込み、エラー訂正用バッファ２０４に書き込んだブロックに基づくパリティを算出し、算出されたパリティをブロックに付加してエラー訂正ブロックを生成し、再生処理を行う際には、メモリ２０２の再生データをメモリコントローラ２０１Ｂを介して読み出し、読み出した再生データをエラー訂正用バッファ２０４に書き込み、エラー訂正用バッファ２０４に書き込んだ再生データのエラー訂正を行う。
【０１３４】
仮のＥＤＣ部２０３Ａは、記録処理を行う際に、所望の値を仮のＥＤＣとして保持するレジスタである。好ましくは、仮のＥＤＣは０である。なお、仮のＥＤＣ部２０３Ａは再生処理には関与しない。
【０１３５】
真のＥＤＣ部２０３Ｃは、記録処理を行う際に、ＥＤＣ部２０５によって算出された真のＥＤＣを保持するレジスタである。なお、再生におけるＥＤＣ部２０５の処理は、再生データのＥＤＣの正誤を判定するものであるから、真のＥＤＣ部２０３Ｃは再生処理には必須ではない。
【０１３６】
エラー訂正用バッファ２０４は、エラー訂正のための記録データ又は再生データの少なくとも一部を一時的に記憶する。例えば、エラー訂正用バッファ２０４はＳＲＡＭである。
【０１３７】
ＥＤＣ部２０５は、記録処理を行う際には、エラー訂正のための記録データの少なくとも一部をエラー訂正用バッファ２０４に書き込む際に、ユーザデータに基づいてＥＤＣを算出し、再生処理を行う際には、エラー訂正後の再生データをエラー訂正用バッファ２０４から読み出す際に、ユーザデータに基づいてＥＤＣを算出する。記録処理と再生処理の際にＥＤＣ部２０５は、後述する第１ブロックの各部分セクタデータに対するＥＤＣの算出を行い、算出結果を保持し、保持された算出結果を用いて後述する第２ブロックの各部分セクタデータに対するＥＤＣの算出を行う。さらに、ＥＤＣ部２０５は、再生処理を行う際には、算出したＥＤＣと再生データのＥＤＣとの一致を判定する。
【０１３８】
システムコントローラ２０１Ａは、本発明の実施例１に係る光ディスク記録装置の各部を制御する。
【０１３９】
ホストＩ／Ｆ５は、システムコントローラ２０１Ａ及びメモリコントローラ２０１Ｂとホストコンピュータ６との間の通信インタフェイスである。
【０１４０】
ホストコンピュータ６は、記録処理を行う際には、ユーザデータをホストＩ／Ｆ５を介してメモリ２０２に書き込み、再生処理を行う際には、光ディスク７から読み出されてメモリ２０２に書き込まれたユーザデータをホストＩ／Ｆ５を介して読み出す。
【０１４１】
次に、本発明の実施例２に係る光ディスク記録装置の記録処理について説明する。
【０１４２】
本発明の実施例２に係る記録処理は、本発明の実施例１に係る記録処理（図７）と同様に行われる。
【０１４３】
図１３は、本発明の実施例２に係る第１エラー訂正ブロック生成処理（図７のＳ７０２）の処理手順を示すフローチャートである。
【０１４４】
はじめに、エラー訂正部２０３は、メモリコントローラ２０１Ｂを介してメモリ２０２に記憶されたユーザデータをセクタ長に分割し、偶数セクタのＬセクタデータ及び奇数セクタのＲセクタデータ（以下「第１ブロックを構成するデータ」という）を先頭セクタ（セクタ０）から順に読み出す（Ｓ１３０１）。
【０１４５】
続いて、エラー訂正部２０３は、Ｓ１３０１において読み出された第１ブロックを構成するデータをエラー訂正用バッファ２０４に書き込む（Ｓ１３０２ａ）。
【０１４６】
また、ＥＤＣ部２０５は、Ｓ１３０１において読み出された第１ブロックを構成するデータに対してＥＤＣの算出を行う（Ｓ１３０２ｂ）。但し、第１エラー訂正ブロック生成処理の時点では、偶数セクタのＲセクタデータ及び奇数セクタのＬセクタデータ（以下「第２ブロックを構成するデータ」という）に対するＥＤＣの算出は終了していない。
【０１４７】
続いて、エラー訂正部２０３は、Ｓ１３０２ａにおいてエラー訂正用バッファ２０４に書き込まれた第１ブロックを構成するデータを読み出す（Ｓ１３０２ｃ）。
【０１４８】
続いて、第１ブロックを構成するデータのうち、ＥＤＣを含まないエラー訂正符号については（Ｓ１３０３−ＮＯ）、エラー訂正部２０３は、第１ブロックを構成するデータに基づいて真のパリティを算出する（Ｓ１３０４）。
【０１４９】
一方、第１ブロックを構成するデータのうち、ＥＤＣを含むエラー訂正符号については（Ｓ１３０３−ＹＥＳ）、エラー訂正部２０３は、仮のＥＤＣ部２０３Ａに保持された仮のＥＤＣに基づいて仮のパリティを算出する（Ｓ１３０６）。
【０１５０】
Ｓ１３０４又はＳ１３０６に続いて、エラー訂正部２０３は、Ｓ１３０４において算出された真のパリティ及びＳ１３０６において算出された仮のパリティを第１ブロックに付加するためのＰＩ符号とＰＯ符号のパリティ付加処理を行う（Ｓ１３０５）。
【０１５１】
Ｓ１３０１〜Ｓ１３０６は、エラー訂正用バッファ２０４への第１エラー訂正ブロックの書き込み及びパリティ付加処理が終了するまで繰り返される（Ｓ１３０８）。
【０１５２】
エラー訂正用バッファ２０４への第１エラー訂正ブロックの書き込み及びパリティ付加処理が終了した場合には（Ｓ１３０８−ＹＥＳ）、エラー訂正部２０３は、エラー訂正用バッファ２０４から第１エラー訂正ブロックを読み出し、メモリコントローラ２０１Ｂを介してメモリ２０２に書き込む（Ｓ１３０９）。
【０１５３】
また、エラー訂正用バッファ２０４への第１エラー訂正ブロックの書き込み及びパリティ付加処理が終了した場合には（Ｓ１３０８−ＹＥＳ）、ＥＤＣ部２０５は、Ｓ１３０２ｂにおいて算出したＥＤＣの算出途中の結果を保持する（Ｓ１３１０）。
【０１５４】
本発明の実施例２に係る第２エラー訂正ブロック生成処理は、本発明の実施例１に係る第２エラー訂正ブロック生成処理（図８）と同様に行われる。
【０１５５】
図１４は、本発明の実施例２に係る訂正処理（図７のＳ７０４）の処理手順を示すフローチャートである。
【０１５６】
はじめに、エラー訂正部２０３は、メモリ２０２に書き込まれた第１エラー訂正ブロックに付加された仮のパリティを参照し、仮のパリティ、真のＥＤＣ部２０３Ｃに保持された真のＥＤＣ及び仮のＥＤＣ部２０３Ａに保持された仮のＥＤＣに基づいて第１エラー訂正ブロックの奇数セクタのＲセクタデータのＬ行目の真のＰＩパリティを算出する（Ｓ１４０１ａ）。
【０１５７】
続いて、エラー訂正部２０３は、メモリ２０２に書き込まれた第１エラー訂正ブロックに付加された仮のパリティを参照し、仮のパリティ、真のＥＤＣ部２０３Ｃに保持された真のＥＤＣ及び仮のＥＤＣ部２０３Ａに保持された仮のＥＤＣに基づいて第１エラー訂正ブロックのＭ−ｋ＋１列目からＭ列目までの真のＰＯパリティを算出する（Ｓ１４０１ｂ）。
【０１５８】
なお、Ｓ１４０１ａとＳ１４０１ｂはそれぞれ独立した演算処理であるから、どちらを先に行っても良い。
【０１５９】
続いて、エラー訂正部２０３は、メモリ２０２に書き込まれた第１エラー訂正ブロックに付加された仮のパリティを参照し、仮のパリティ、Ｓ１４０１ａにおいて算出した真のＰＩパリティに基づいて第１エラー訂正ブロックのＭ＋１列目からＭ＋Ｐ列目までの真のＰＯパリティを算出する（Ｓ１４０１ｃ）。
【０１６０】
なお、Ｓ１４０１ｃにおける第１エラー訂正ブロックのＭ＋１列目からＭ＋Ｐ列目までの真のＰＯパリティは、Ｓ１４０１ｂにおいて算出した真のＰＯパリティに基づいて第１エラー訂正ブロックのＬ×Ｎ＋１行目からＬ×Ｎ＋Ｑ行目までの真のＰＩパリティとして算出しても結果は同じである。
【０１６１】
続いて、ＥＤＣ部２０５は、メモリ２０２に書き込まれた第１エラー訂正ブロックの奇数セクタのＲセクタデータのＬ行目に真のＥＤＣ部２０３Ｃに保持された真のＥＤＣを付加する（Ｓ１４０２）。
【０１６２】
続いて、エラー訂正部２０３は、メモリ２０２に書き込まれた第１エラー訂正ブロックに付加された仮のパリティをＳ１４０１ａ〜Ｓ１４０１ｃにおいて算出された真のＰＩパリティ及びＰＯパリティに置換する（Ｓ１４０３）。
【０１６３】
なお、本発明の実施例２では、図１３のＳ１３０５において、仮のＥＤＣ部２０３Ａに保持された仮のＥＤＣを付加し、図１４のＳ１４０２において、メモリ２０２に書き込まれた第１エラー訂正ブロックの奇数セクタのＲセクタデータのＬ行目に付加された仮のＥＤＣを真のＥＤＣに置換しても良い。
【０１６４】
本発明の実施例２に係る再生処理は、本発明の実施例１に係る再生処理（図１１）と同様に行われる。
【０１６５】
本発明の実施例２によれば、仮のパリティをメモリ２０２に書き込むので、仮のパリティを保持するための回路が不要となり、回路規模を縮小化することができる。
【０１６６】
また、本発明の実施例２によれば、仮のＥＤＣもメモリ２０２に書き込む場合には、第１エラー訂正ブロック及び第２エラー訂正ブロックのメモリ２０２への書き込み処理動作が共通化するので、回路を簡易化することができる。
【実施例３】
【０１６７】
次に、本発明の実施例３について説明する。本発明の実施例１は、本発明の実施例１は、仮のパリティを仮のパリティ部に保持する例であるが、本発明の実施例３は、仮のパリティをエラー訂正用バッファに書き込む例である。なお、本発明の実施例１又は実施例２と同様の内容についての説明は省略する。
【０１６８】
はじめに、本発明の実施例３に光ディスク記録装置の構成について説明する。
【０１６９】
図１５は、本発明の実施例３に係る光ディスク記録装置の構成例を示すブロック図である。
【０１７０】
本発明の実施例３に係る光ディスク記録装置は、ディスクモータ１、ピックアップ２、サーボ処理部３、変復調部４、ホストインタフェイス（以下「ホストＩ／Ｆ」という）５、ホストコンピュータ６、システムコントローラ３０１Ａ、メモリコントローラ３０１Ｂ、主記憶部（以下「メモリ」という）３０２、エラー訂正部３０３、仮のＥＤＣ部３０３Ａ、真のＥＤＣ部３０３Ｃ、一時記憶部（以下「エラー訂正用バッファ」という）３０４及びエラー検出コード算出部（以下「ＥＤＣ部」という）３０５を備えている。
【０１７１】
なお、本発明の実施例３に係る光ディスク記録装置は、記録機能だけでなく再生機能も有している。
【０１７２】
ディスクモータ１は、光ディスク７を回転させるためのモータである。
【０１７３】
ピックアップ２は、記録処理を行う際には、変調された記録データを光ディスク７に書き込み、再生処理を行う際には、光ディスク７に記録された情報を再生信号として読み出すためのモジュールである。
【０１７４】
サーボ処理部３は、システムコントローラ３０１Ａからの要求に応じて、ディスクモータ１を制御して光ディスク７を所望の速度で回転させるとともに、ピックアップ２の光ディスク７に対するフォーカス位置とトラック位置を制御する。
【０１７５】
変復調部４は、記録処理を行う際には、メモリコントローラ３０１Ｂを介してメモリ３０２から読み出した記録データを変調し、再生処理を行う際には、ピックアップ２により光ディスク７から読み出された再生信号を復調し、復調によって得られた再生データをメモリコントローラ３０１Ｂを介してメモリ３０２に書き込む。
【０１７６】
メモリコントローラ３０１Ｂは、メモリ３０２からのデータの読み出し及びメモリ３０２に対するデータの書き込みを制御する。
【０１７７】
メモリ３０２は、入出力のバッファ処理のための記録データ又は再生データを記憶する。例えば、メモリ３０２はＤＲＡＭである。
【０１７８】
エラー訂正部３０３は、記録処理を行う際には、メモリ３０２のブロックをメモリコントローラ３０１Ｂを介して読み出し、読み出したブロックをエラー訂正用バッファ３０４に書き込み、エラー訂正用バッファ３０４に書き込んだブロックに基づくパリティを算出し、算出されたパリティをブロックに付加してエラー訂正ブロックをし、再生処理を行う際には、メモリ３０２の再生データをメモリコントローラ３０１Ｂを介して読み出し、読み出した再生データをエラー訂正用バッファ３０４に書き込み、エラー訂正用バッファ３０４に書き込んだ再生データのエラー訂正を行う。
【０１７９】
仮のＥＤＣ部３０３Ａは、記録処理を行う際に、所望の値を仮のＥＤＣとして保持するレジスタである。好ましくは、仮のＥＤＣは０である。なお、仮のＥＤＣ部３０３Ａは再生処理には関与しない。
【０１８０】
真のＥＤＣ部３０３Ｃは、記録処理を行う際に、ＥＤＣ部３０５によって算出された真のＥＤＣを保持するレジスタである。なお、再生におけるＥＤＣ部３０５の処理は、再生データのＥＤＣの正誤を判定するものであるから、真のＥＤＣ部３０３Ｃは再生処理には必須ではない。
【０１８１】
エラー訂正用バッファ３０４は、エラー訂正のための記録データ又は再生データの少なくとも一部及び後述される仮のパリティを一時的に記憶する。例えば、エラー訂正用バッファ３０４はＳＲＡＭである。
【０１８２】
ＥＤＣ部３０５は、記録処理を行う際には、エラー訂正のための記録データの少なくとも一部をエラー訂正用バッファ３０４に書き込む際に、ユーザデータに基づいてＥＤＣを算出し、再生処理を行う際には、エラー訂正後の再生データをエラー訂正用バッファ３０４から読み出す際に、ユーザデータに基づいてＥＤＣを算出する。記録処理と再生処理の際にＥＤＣ部３０５は、後述する第１ブロックの各部分セクタデータに対するＥＤＣの算出を行い、算出結果を保持し、保持された算出結果を用いて後述する第２ブロックの各部分セクタデータに対するＥＤＣの算出を行う。さらに、ＥＤＣ部２０５は、再生処理を行う際には、算出したＥＤＣと再生データのＥＤＣとの一致を判定する。
【０１８３】
システムコントローラ３０１Ａは、本発明の実施例１に係る光ディスク記録装置の各部を制御する。
【０１８４】
ホストＩ／Ｆ５は、システムコントローラ３０１Ａ及びメモリコントローラ３０１Ｂとホストコンピュータ６との間の通信インタフェイスである。
【０１８５】
ホストコンピュータ６は、記録処理を行う際には、ユーザデータをホストＩ／Ｆ５を介してメモリ３０２に書き込み、再生処理を行う際には、光ディスク７から読み出されてメモリ３０２に書き込まれたユーザデータをホストＩ／Ｆ５を介して読み出す。
【０１８６】
次に、本発明の実施例３に係る光ディスク記録装置の記録処理について説明する。
【０１８７】
本発明の実施例３に係る記録処理は、本発明の実施例１に係る記録処理（図７）と同様に行われる。
【０１８８】
図１６は、本発明の実施例３に係る第１エラー訂正ブロック生成処理（図７のＳ７０２）の処理手順を示すフローチャートである。
【０１８９】
はじめに、エラー訂正部３０３は、メモリコントローラ３０１Ｂを介してメモリ３０２に記憶されたユーザデータをセクタ長に分割し、偶数セクタのＬセクタデータ及び奇数セクタのＲセクタデータ（以下「第１ブロックを構成するデータ」という）を先頭セクタ（セクタ０）から順に読み出す（Ｓ１６０１）。
【０１９０】
続いて、エラー訂正部３０３は、Ｓ１６０１において読み出された第１ブロックを構成するデータをエラー訂正用バッファ３０４に書き込む（Ｓ１６０２ａ）。
【０１９１】
また、ＥＤＣ部３０５は、Ｓ１６０１において読み出された第１ブロックを構成するデータに対してＥＤＣの算出を行う（Ｓ１６０２ｂ）。但し、第１エラー訂正ブロック生成処理の時点では、偶数セクタのＲセクタデータ及び奇数セクタのＬセクタデータ（以下「第２ブロックを構成するデータ」という）に対するＥＤＣの算出は終了していない。
【０１９２】
続いて、エラー訂正部３０３は、Ｓ１６０２ａにおいてエラー訂正用バッファ３０４に書き込まれた第１ブロックを構成するデータを読み出す（Ｓ１６０２ｃ）。
【０１９３】
続いて、第１ブロックを構成するデータのうち、ＥＤＣを含まないエラー訂正符号については（Ｓ１６０３−ＮＯ）、エラー訂正部３０３は、第１ブロックを構成するデータに基づいて真のパリティを算出する（Ｓ１６０４）。続いて、エラー訂正部３０３は、Ｓ１６０４において算出された真のパリティをＳ１６０２ａにおいてエラー訂正用バッファ１０４に書き込まれた第１ブロックに付加するためのＰＩ符号とＰＯ符号のパリティ付加処理を行う（Ｓ１６０５）。
【０１９４】
一方、第１ブロックを構成するデータのうち、ＥＤＣを含むエラー訂正符号については（Ｓ１６０３−ＹＥＳ）、エラー訂正部３０３は、仮のＥＤＣ部３０３Ａに保持された仮のＥＤＣに基づいて仮のパリティを算出してエラー訂正用バッファ３０４に書き込む（Ｓ１６０６）。
【０１９５】
Ｓ１６０１〜Ｓ１６０６は、エラー訂正用バッファ３０４への第１エラー訂正ブロックの書き込み及びパリティ付加処理が終了するまで繰り返される（Ｓ１６０８）。
【０１９６】
エラー訂正用バッファ３０４への第１エラー訂正ブロックの書き込み及びパリティ付加処理が終了した場合には（Ｓ１６０８−ＹＥＳ）、エラー訂正部３０３は、エラー訂正用バッファ３０４から第１エラー訂正ブロックを読み出し、メモリコントローラ３０１Ｂを介してメモリ３０２に書き込む（Ｓ１６０９）。
【０１９７】
また、エラー訂正用バッファ３０４への第１エラー訂正ブロックの書き込み及びパリティ付加処理が終了した場合には（Ｓ１６０８−ＹＥＳ）、ＥＤＣ部３０５は、Ｓ１６０２ｂにおいて算出したＥＤＣの算出途中の結果を保持する（Ｓ１６１０）。
【０１９８】
図１７は、本発明の実施例３に係る訂正処理（図７の７０４）の処理手順を示すフローチャートである。
【０１９９】
はじめに、エラー訂正部３０３は、エラー訂正用バッファ３０４に書き込まれた仮のパリティを読み出し、仮のパリティ、真のＥＤＣ部３０３Ｃに保持された真のＥＤＣ及び仮のＥＤＣ部３０３Ａに保持された仮のＥＤＣに基づいて第１エラー訂正ブロックの奇数セクタのＲセクタデータのＬ行目の真のパリティを算出する（Ｓ１７０１ａ）。
【０２００】
続いて、エラー訂正部３０３は、エラー訂正バッファ３０４に書き込まれた第１エラー訂正ブロックに付加された仮のパリティを参照し、仮のパリティ、真のＥＤＣ部３０３Ｃに保持された真のＥＤＣ及び仮のＥＤＣ部３０３Ａに保持された仮のＥＤＣに基づいて第１エラー訂正ブロックのＭ−ｋ＋１列目からＭ列目までの真のＰＯパリティを算出する（Ｓ１７０１ｂ）。
【０２０１】
なお、Ｓ１７０１ａとＳ１７０１ｂはそれぞれ独立した演算処理であるから、どちらを先に行っても良い。
【０２０２】
続いて、エラー訂正部３０３は、エラー訂正バッファ３０４に書き込まれた第１エラー訂正ブロックに付加された仮のパリティを参照し、仮のパリティ、Ｓ１７０１ａにおいて算出した真のＰＩパリティに基づいて第１エラー訂正ブロックのＭ＋１列目からＭ＋Ｐ列目までの真のＰＯパリティを算出する（Ｓ１７０１ｃ）。
【０２０３】
なお、Ｓ１７０１ｃにおける第１エラー訂正ブロックのＭ＋１列目からＭ＋Ｐ列目までの真のＰＯパリティは、Ｓ１７０１ｂにおいて算出した真のＰＯパリティに基づいて第１エラー訂正ブロックのＬ×Ｎ＋１行目からＬ×Ｎ＋Ｑ行目までの真のＰＩパリティとして算出しても結果は同じである。
【０２０４】
続いて、ＥＤＣ部３０５は、メモリ３０２に書き込まれた第１エラー訂正ブロックの奇数セクタのＲセクタデータのＬ行目に真のＥＤＣ部３０３Ｃに保持された真のＥＤＣを付加する（Ｓ１７０２）。
【０２０５】
続いて、エラー訂正部３０３は、メモリ３０２に書き込まれた第１エラー訂正ブロックの偶数セクタのＲセクタデータのＬ行目にＳ１７０１ａ〜Ｓ１７０１ｃにおいて算出された真のＰＩパリティ及びＰＯパリティを付加する（Ｓ１７０３）。
【０２０６】
本発明の実施例３に係る第２エラー訂正ブロック生成処理は、本発明の実施例１に係る第２エラー訂正ブロック生成処理（図８）と同様に行われる。
【０２０７】
本発明の実施例３に係る再生処理は、本発明の実施例１に係る再生処理（図１１）と同様に行われる。
【０２０８】
本発明の実施例３によれば、仮のＥＤＣを用いて算出された仮のパリティをエラー訂正用バッファ３０４に書き込み、第１エラー訂正ブロックに属するＥＤＣの算出が終了した後で、エラー訂正用バッファ３０４から仮のパリティを読み出すので、仮のパリティを保持するための回路が不要となり、回路規模を縮小化することができる。
【０２０９】
なお、本発明の実施例１〜３に係る光ディスク記録装置についての説明は、図２Ｂに示した符号化規則を例としたが、図１８に示したような横方向だけにパリティを付加する符号化規則や、図１９図に示したような縦方向だけにパリティを付加する符号化規則においても、扱うパリティが一方向になる事を除けば同様に処理することができる。
【図面の簡単な説明】
【０２１０】
【図１】光ディスクにおけるセクタの構成例を示す概略図である。
【図２Ａ】図１に示された部分セクタデータのＮ個の組み合わせから構成されたブロックの構成例を示す概略図である。
【図２Ｂ】図２Ａに示されたブロック及びパリティから構成されたエラー訂正ブロックの構成例を示す概略図である。
【図３】図２Ｂに示された第１エラー訂正ブロック及び第２エラー訂正ブロックの光ディスク上のデータ配置を示す概略図である。
【図４】Ａ及びＢは、図２Ｂに示された第１エラー訂正ブロックを構成する横方向のエラー訂正符号の構成例及び縦方向のエラー訂正符号の構成例を示す概略図である。
【図５】Ａ〜Ｃは、図４Ａ及びＢに示された第１エラー訂正ブロックを構成する横方向及び縦方向のエラー訂正符号のうち、第１エラー訂正ブロックを構成するＥＤＣを含む横方向のエラー訂正符号、第１エラー訂正ブロックを構成するＥＤＣを含む縦方向のエラー訂正符号及び第１エラー訂正ブロックを構成するＰＩパリティを含む縦方向のエラー訂正符号の概略を示す概略図である。
【図６】本発明の実施例１に係る光ディスク記録装置の構成例を示すブロック図である。
【図７】本発明の実施例１に係る記録処理の処理手順を示すフローチャートである。
【図８】本発明の実施例１に係る第１エラー訂正ブロック生成処理（図７のＳ７０２）の処理手順を示すフローチャートである。
【図９】本発明の実施例１に係る第２エラー訂正ブロック生成処理（図７のＳ７０３）の処理手順を示すフローチャートである。
【図１０】本発明の実施例１に係る訂正処理（図７の７０４）の処理手順を示すフローチャートである。
【図１１】本発明の実施例１に係る光ディスク記録装置によって光ディスクに書き込まれた記録データの再生処理における処理手順を示すフローチャートである。
【図１２】本発明の実施例２に係る光ディスク記録装置の構成例を示すブロック図である。
【図１３】本発明の実施例２に係る第１エラー訂正ブロック生成処理（図７のＳ７０２）の処理手順を示すフローチャートである。
【図１４】本発明の実施例２に係る訂正処理（図７のＳ７０４）の処理手順を示すフローチャートである。
【図１５】本発明の実施例３に係る光ディスク記録装置の構成例を示すブロック図である。
【図１６】本発明の実施例３に係る第１エラー訂正ブロック生成処理（図７のＳ７０２）の処理手順を示すフローチャートである。
【図１７】本発明の実施例３に係る訂正処理（図７の７０４）の処理手順を示すフローチャートである。
【図１８】本発明の実施例１〜実施例３に適用可能な第１エラー訂正ブロック及び第２エラー訂正ブロックの構成例を示す概略図である。
【図１９】本発明の実施例１〜実施例３に適用可能な第１エラー訂正ブロック及び第２エラー訂正ブロックの構成例を示す概略図である。
【符号の説明】
【０２１１】
１  ディスクモータ
２  ピックアップ
３  サーボ処理部
４  変復調部
５  ホストＩ／Ｆ
６  ホストコンピュータ
７  光ディスク
１０１Ａ、２０１Ａ、３０１Ａ  システムコントローラ
１０１Ｂ、２０１Ｂ、３０１Ｂ  メモリコントローラ
１０２、２０２、３０２  メモリ
１０３、２０３、３０３  エラー訂正部
１０３Ａ、２０３Ａ、３０３Ａ  仮のＥＤＣ部
１０３Ｂ  仮のパリティ部
１０３Ｃ、２０３Ｃ、３０３Ｃ  真のＥＤＣ部
１０４、２０４、３０４  エラー訂正用バッファ
１０５、２０５、３０５  ＥＤＣ部
【図１】
2009032336.tif 000008
【図２Ａ】
2009032336.tif 000009
【図２Ｂ】
2009032336.tif 000010
【図３】
2009032336.tif 000011
【図４】
2009032336.tif 000012
【図５】
2009032336.tif 000013
【図６】
2009032336.tif 000014
【図７】
2009032336.tif 000015
【図８】
2009032336.tif 000016
【図９】
2009032336.tif 000017
【図１０】
2009032336.tif 000018
【図１１】
2009032336.tif 000019
【図１２】
2009032336.tif 000020
【図１３】
2009032336.tif 000021
【図１４】
2009032336.tif 000022
【図１５】
2009032336.tif 000023
【図１６】
2009032336.tif 000024
【図１７】
2009032336.tif 000025
【図１８】
2009032336.tif 000026
【図１９】
2009032336.tif 000027