MPEG等により規格化された画像圧縮技術を用いて圧縮したデジタル映像信号を記録する記憶媒体として、DVD(デジタル・バーサタイル・ディスク:Digital Versatile Disc)が開発されている。DVDは、CD(コンパクト・ディスク)と同一直径の光ディスクであり、レーザ光の短波長化の進展と、対物レンズのNAの増大と共にデジタル変調及びエラー訂正符号化の処理の改良によって、記録密度がより一層向上されたものである。DVDでは、単層ディスクの場合でも、データ記憶容量が約3.7Gバイトと膨大である。DVDの形態としては、再生専用光ディスクの外に、MOディスク或いは相変化型光ディスクを用いることで、記録/再生可能とされたものが用いられている。このようなDVDを、コンピュータの外部記憶装置として用いることが提案されている。
DVDでは、記録データの保護を図るために、エラー訂正符号化処理がなされている。本願出願人による特許文献1には、このようなDVDに対するデータ記録方法及び再生方法が記載されている。この特許文献1は、エラー訂正符号として、データの読み出し/書き込み方向とエラー訂正符号化方向とが異なる方向とされたLDC符号を用い、フレーム毎のエラーを検出するパリティを付加する。このパリティにより、フレーム毎にエラーの検出を行うことができ、ビットスリップ等によるエラーに対処できる。また、パリティを付加することにより、エラー訂正方式が異なる場合でも、フレーム間隔を同一に設定できる。
次に、従来技術の例として、DVD−RAMのデータフォーマットについて説明する。DVD−RAMのデータフレームを図9に示す。例えば、インターフェースを介してホストコンピュータから受け渡された記録用のメインデータは、2048バイト毎に区切られ、先頭から6バイトのIDと6バイトのRSV、末尾に4バイトのEDC(error detective code)が付加されて、図に示す2064バイトのデータフレームを構成する。
このうち、IDはECCパリティ付きの物理アドレスであり、RSVは未使用の保留領域である。また、EDCは、RSVとメインデータをMSBからビット順に既約多項式で除したパリティであり、誤り検出符号である。
なお、DVD−ROMにおいては、目的セクタへのアクセスのため、上記IDを参照する必要があるが、DVD−RAMでは、予めディスクに成型されたCAPAと呼ばれるピットパターンからアドレスを得ることができるため、必ずしも参照する必要はない。
以上のように構成されたデータフレームは、ECC符号化のため、メモリ上にa行×b列、例えば12行×172列のマトリクスをなすよう配置される。
図10は、DVD−RAMのECCブロックの構成を示す。ECCブロックは、DVD−RAMにおける最小の記録単位であり、16個のデータフレームをもとに構成される。まず、データフレーム0からデータフレーム15までの合計c個、ここでは16個のデータフレームをメモリ上に、a・c行×b列、例えば192行×172列に配置し、各列に第1の符号化を施して、dバイト、例えば16バイトのPOパリティを付加する。もちろん、a,b,c,dは、上記各数を含めた自然数である。
第1の符号化は符号長208バイト、パリティ数16バイトのリードソロモン符号RS(208,192,17)であり、アウター符号と呼ばれる。得られた16バイト×172列のPOパリティは、図10に示すようにデータフレーム15に続いて配置される。
以上のようにして得られた、172個のアウター符号に対し、続いて各行に第2の符号化を施して、10バイトのPIパリティを付加する。第2の符号化は符号長182バイト、パリティ数10バイトのリードソロモン符号RS(182,172,11)であり、インナー符号と呼ばれる。得られた208行×10バイトのPIパリティは、図10に示すようにデータフレーム各行の後に追加される。
図11は、以上のようにして得られたECCブロック208行×182列の各バイトについて、説明のため記号B(j,i)を割当てた図である。但し、j=0〜207は行番号を表し、i=0〜181は列番号を表す。各列B(0,i)〜B(207,i)は、POパリティを付加して構成された第iのアウター符号であり、各行B(j,0)〜B(j,181)は、PIパリティを付加して構成された第jのインナー符号である。
これらECCブロックをディスクに記録するときの、各バイトB(j,i)の記録順序を図12に示す。すなわち、データフレームのインナー符号12行毎に、POパリティのインナー符号1行を挿入して、13行よりなるレコーディングフレームを構成し、POパリティのインナー符号が等間隔に挿入されるように記録していく。
このときの記録順序のフローチャートを図13に示す。まず、ステップS1にてレコーディングフレームカウンタの値kを0にする。また、ステップS2にて行カウンタの値jを0にし、ステップS3にてバイト(列)カウンタの値iを0にする。
次に、ステップS4からB(k*12+j,i)を記録する。ステップS1ではk=0とし、ステップS2ではj=0、ステップS3ではi=0としたので、ステップS4はB(0,0)を記録することになる。
ステップS5では、バイトカウンタの値iを+1インクリメントする。ステップS6では、バイトカウンタの値iが182になったか否かをチェックする。このため、ステップS6にて上記iが182になったと判定するまで、つまりiが181までに、ステップS4〜ステップS5が繰り返される。これにより、上記B(0,0)に続けて、B(0,1)、B(0,2)、B(0,3)・・・B(0,171)、B(0,172)・・・B(0,181)を記録する。これにより、PIパリティを付加して構成された第0行のインナー符号を記録することができる。
ステップS6にて、バイトカウンタの値iが182になったと判定すると、第0行のインナー符号の記録を終了してステップS7に進む。ステップS7では、行カウンタのカウント値jを+1インクリメントする。ステップS8では、行カウンタのカウント値jが12になったか否かをチェックする。このため、ステップS8にて上記jが12になったと判定するまで、つまりjが11までに、ステップS3〜ステップS7が繰り返される。これにより、レコーディングフレーム0の上記第0行のインナー符号に続けて、第1行のインナー符号{B(1,0)、B(1,1)、B(1,2)、B(1,3)・・・B(1,171)、B(1,172)・・・B(1,181)}から第11行のインナー符号{B(11,0)、B(11,1)、B(11,2)、B(11,3)・・・B(11,171)、B(11,172)・・・B(11,181)}を記録する。
ステップS8にて、行カウンタのカウント値jが12になったと判定すると、レコーディングフレーム0の第11行のインナー符号の記録を終了してステップS9に進む。ステップS9では、バイトカウンタのカウント値iを0とする。
次に、ステップS10からB(192+k,i)を記録する。レコーディングフレームカウンタのカウント値kはステップS1でk=0としたままなので、ステップS10ではB(192,0)を記録することになる。
ステップS11では、バイトカウンタのカウント値iを+1インクリメントする。ステップS12では、バイトカウンタのカウント値iが182になったか否かをチェックする。このため、ステップS12にて上記iが182になったと判定するまで、つまりiが181までに、ステップS10〜ステップS11が繰り返される。これにより、上記B(192,0)に続けて、B(192,1)、B(192,2)、B(192,3)・・・B(192,171)、B(192,172)・・・B(192,181)を記録する。このB(192,0)〜B(192,181)は、POパリティのインナー符号である。したがって、ここまで(ステップS12)で、データフレーム0のインナー符号12行に、POパリティのインナー符号1行を挿入して、レコーディングフレーム0を構成して記録することができる。
ステップS12にて、バイトカウンタの値iが182になったと判定すると、レコーディングフレーム0の記録を終了してステップS13に進む。ステップS13では、レコーディングフレームカウンタのカウント値kを+1インクリメントする。ステップS14では、レコーディングフレームカウンタのカウント値kが16になったか否かをチェックする。このため、ステップS14にて上記カウント値kが16になったと判定するまで、つまりkが15までに、ステップS2〜ステップS13が繰り返される。これにより、データフレーム1のインナー符号12行にPOパリティのインナー符号1行を挿入した、13行のよりなるレコーディングフレーム1、それに続けて、レコーディングフレーム2〜レコーディングフレーム15を記録することができる。
例えば、レコーディングフレームのカウント値kがステップS13により15とされたときには、ステップS4にてB(180,0)を記録し、ステップS5、ステップS6を通してB(180,181)までを記録する。また、ステップS7、ステップS8からステップS3に戻り再度ステップS8までを繰り返すことにより、B(191,0)〜B(191,181)を記録する。そして、ステップS9からステップS14に進んで、k=16と判定すると、データフレーム15のインナー符号12行にPOパリティのインナー符号1行を挿入した、13行のよりなるレコーディングフレーム15を記録することができる。
なお、再生順序のフローチャートも図14に示すように同様であり、復調したデータをメモリ上のB(j,i)の位置に書き込んでいけばよい。まず、ステップS21にてレコーディングフレームカウンタの値kを0にする。また、ステップS22にて行カウンタの値jを0にし、ステップS23にてバイト(列)カウンタの値iを0にする。
次に、ステップS24からB(k*12+j,i)を再生する。ステップS21ではk=0とし、ステップS22ではj=0、ステップS23ではi=0としたので、ステップS24はB(0,0)を再生することになる。
ステップS25では、バイトカウンタの値iを+1インクリメントする。ステップS26では、バイトカウンタの値iが182になったか否かをチェックする。このため、ステップS26にて上記iが182になったと判定するまで、つまりiが181までに、ステップS24〜ステップS25が繰り返される。これにより、上記B(0,0)に続けて、B(0,1)、B(0,2)、B(0,3)・・・B(0,171)、B(0,172)・・・B(0,181)を再生する。これにより、PIパリティを付加して構成された第0行のインナー符号を再生することができる。
ステップS26にて、バイトカウンタの値iが182になったと判定すると、第0行のインナー符号の再生を終了してステップS27に進む。ステップS27では、行カウンタのカウント値jを+1インクリメントする。ステップS28では、行カウンタのカウント値jが12になったか否かをチェックする。このため、ステップS28にて上記jが12になったと判定するまで、つまりjが11までに、ステップS23〜ステップS27が繰り返される。これにより、レコーディングフレーム0の上記第0行のインナー符号に続けて、第1行のインナー符号{B(1,0)、B(1,1)、B(1,2)、B(1,3)・・・B(1,171)、B(1,172)・・・B(1,181)}から第11行のインナー符号{B(11,0)、B(11,1)、B(11,2)、B(11,3)・・・B(11,171)、B(11,172)・・・B(11,181)}を再生する。
ステップS28にて、行カウンタのカウント値jが12になったと判定すると、レコーディングフレーム0の第11行のインナー符号の記録を終了してステップS29に進む。ステップS29では、バイトカウンタのカウント値iを0とする。
次に、ステップS30からB(192+k,i)を再生する。レコーディングフレームカウンタのカウント値kはステップS21でk=0としたままなので、ステップS30ではB(192,0)を再生することになる。
ステップS31では、バイトカウンタのカウント値iを+1インクリメントする。ステップS32では、バイトカウンタのカウント値iが182になったか否かをチェックする。このため、ステップS32にて上記iが182になったと判定するまで、つまりiが181までに、ステップS30〜ステップS31が繰り返される。これにより、上記B(192,0)に続けて、B(192,1)、B(192,2)、B(192,3)・・・B(192,171)、B(192,172)・・・B(192,181)を再生する。このB(192,0)〜B(192,181)は、POパリティのインナー符号である。したがって、ここまで(ステップS12)で、データフレーム0のインナー符号12行に、POパリティのインナー符号1行を挿入して構成したレコーディングフレーム0を再生することができる。
ステップS32にて、バイトカウンタの値iが182になったと判定すると、レコーディングフレーム0の再生を終了してステップS33に進む。ステップS33では、レコーディングフレームカウンタのカウント値kを+1インクリメントする。ステップS34では、レコーディングフレームカウンタのカウント値kが16になったか否かをチェックする。このため、ステップS34にて上記カウント値kが16になったと判定するまで、つまりkが15までに、ステップS22〜ステップS33が繰り返される。これにより、データフレーム1のインナー符号12行にPOパリティのインナー符号1行を挿入した、13行よりなるレコーディングフレーム1、それに続けて、レコーディングフレーム2〜レコーディングフレーム15を再生することができる。
例えば、レコーディングフレームのカウント値kがステップS33により15とされたときには、ステップS24にてB(180,0)を再生し、ステップS25、ステップS26を通してB(180,181)までを再生する。また、ステップS27、ステップS28からステップS23に戻り再度ステップS28までを繰り返すことにより、B(191,0)〜B(191,181)を再生する。そして、ステップS29からステップS34に進んで、k=16と判定すると、データフレーム15のインナー符号12行にPOパリティのインナー符号1行を挿入した、13行よりなるレコーディングフレーム15を再生することができる。
ところで、ディスク上にファイルシステムを構築し、ファイルの記録・削除を行う場合、ボリューム管理情報(例:FAT:File Allocation Table)やディレクトリ等の管理データが記録されるECCブロックには、以下の特徴がある。
(1)前回記録したデータの一部のみが更新され、書き換えられることが多い。
(2)同一のECCブロックに対する書き換え回数が多い。
(3)多数のファイルに関する情報が記録されており、データが失われると損害が大きい。
ファイルを記録・削除した結果は、ボリューム管理情報とディレクトリ等の管理データが更新されることによって、はじめてファイルシステムに反映されるので、装置の故障によってディスクに障害が発生する場合のほとんどは、これらボリューム管理情報とディレクトリ等の管理データの更新時に起きる。すなわち、データの一部のみが更新されて書き換えられる管理データのECCブロックは、壊れやすく、壊れたときの損害が大きい。
データの一部が更新された管理データのECCブロックの例を、図15に示す。図15では、データフレーム13の前半6行の内容が更新された場合を表している。データフレーム13の値が更新された結果、すべてのPOパリティが再計算され、更新前とは異なる値になる(但し、まれには同じ値になるバイトもあるであろう)。さらに、データフレーム13の前半の更新された6行データに対するPIパリティ、及び再計算されたPOパリティに対するPIパリティも、値が変化する。図15では、値が変化した領域を斜線で表している。
この図15からわかるように、データの一部を更新して書き換える場合、更新されたデータよりパリティの方が、値が変わるバイト数が大きくなる場合がある。
以上のように更新された図15のECCブロックをディスクに記録する際、もし記録中に装置が故障して記録が中止された場合、そのECCブロックを再生する処理について、下記の点を前提に説明する。
(I)記録はオーバーライト方式で行われ、故障時点までに記録された信号は、更新後のデータによるものであり、それ以降は更新前のデータによる記録信号が残っていると仮定する。
(II)新旧いずれの記録信号の品質も良好であり、再生時のインナー符号に含まれる誤りは、すべてPIパリティを用いて訂正可能であると仮定する。
(III)アウター符号の誤り訂正処理において、8バイト以下の誤りは訂正可能であり、8バイトを越える誤りは訂正不能である。
図16は、図15のECCブロックを1/4すなわち52行記録したところで、故障により記録が中止された場合のデータを示している。下向きの矢印で示したデータフレーム0からデータフレーム3までの合計48行の範囲は、新たにオーバーライトされた領域であり、それ以外の範囲は故障によりオーバーライトされなかった、古いデータの領域であることを示す。
A(左図)では、更新前のECCブロックを基準として見たとき、値が変化した領域を斜線で示している。各列すなわち各アウター符号中変化したデータは4バイトであり、これらは誤り訂正処理によって古いデータに訂正され得る。
B(右図)では、更新しようとしていたECCブロックを基準として見たとき、古い値のまま残ってしまった領域を斜線で示している。各アウター符号に含まれる古い値のデータは18バイトであり、アウター符号の訂正能力を越える。すなわち、新しいデータに訂正することはできない。
したがって、図16のECCブロックを再生すると、更新前の古いデータが得られる。
図17は、図15のECCブロックを3/4すなわち156行記録したところで、故障により記録が中止された場合のデータを示している。下向きの矢印で示したデータフレーム0からデータフレーム11までの合計144行の範囲は、新たにオーバーライトされた領域であり、それ以外の範囲は故障によりオーバーライトされなかった、古いデータの領域であることを示す。
A(左図)では、更新前のECCブロックを基準として見たとき、値が変化した領域を斜線で示している。各列すなわち各アウター符号中変化したデータは12バイトであり、アウター符号の訂正能力を越える。すなわち、古いデータに訂正することはできない。
B(右図)では、更新しようとしていたECCブロックを基準として見たとき、古い値のまま残ってしまった領域を斜線で示している。各アウター符号に含まれる古い値のデータは10バイトであり、アウター符号の訂正能力を越える。すなわち、新しいデータに訂正することはできない。
したがって、図17の場合は新旧いずれのデータにも誤り訂正することができない。
ここで、Aを見る限り、訂正できないのはPOパリティ部分のみであり、データフレームはすべて旧データが再生できているように思われるが、あくまで図15の前提が成り立っている場合であって、例えばインナー符号訂正できないバースト誤りが発生すると、訂正不能となる。
本発明は、ECCブロックを一部だけ更新して書き換える場合、故障などによりECCブロックの書き換えが途中で中止されてしまったときでも、更新しようとしていた新しいデータを再現できる可能性が、従来技術より大きい記録装置及び記録方法、再生装置及び再生方法、並びに記録再生装置及び記録再生方法の提供を目的とする。
本発明に係る記録装置は、上記課題を解決するために、記録媒体にデジタル信号をオーバーライト記録する記録装置において、上記デジタル信号をa行×b列のマトリクスをなすようにまとめたデータフレームを、記憶部に複数c個、a・c行×b列に配置し、少なくとも各列に符号化処理を施して列方向のdバイトの訂正パリティを付加した誤り訂正符号に変換する誤り訂正符号化手段と、上記記憶部に所定ブロック単位毎に記憶された誤り訂正符号のうち、上記所定単位ブロックが一部だけ更新される管理データに関する誤り訂正符号のブロックについては上記列方向の訂正パリティ部を先に読み出し、続いてメインデータ部を読み出す記憶部制御手段と、上記記憶部制御手段によって読み出された管理データに関する誤り訂正符号のブロックを上記読み出し順位のまま上記記録媒体に記録する記録手段とを備える。
この記録装置は、管理データの符号ブロックについては、列方向のパリティ部を先に例えばc行すべて記録媒体に記録してから、続いて各データフレームの符号を順に記録する。列方向のパリティ部は、更新の影響が大きく反映される。このため、故障などによりブロックの書き換えが途中で中止されてしまったときでも、記録媒体上に残された新旧合わさったデータに誤り訂正処理を施すことにより、更新しようとしていた新しいデータを再現できる。
本発明に係る記録方法は、上記課題を解決するために、記録媒体にデジタル信号をオーバーライト記録するための記録方法において、上記デジタル信号をa行×b列のマトリクスをなすようにまとめたデータフレームを、記憶部に複数c個、a・c行×b列に配置し、少なくとも各列に符号化処理を施して列方向のdバイトの訂正パリティを付加した誤り訂正符号に変換する誤り訂正符号化工程と、上記記憶部に所定ブロック単位毎に記憶された誤り訂正符号のうち、上記所定単位ブロックが一部だけ更新される管理データに関する誤り訂正符号のブロックについては上記列方向の訂正パリティ部を先に読み出し、続いてメインデータ部を読み出す記憶部制御工程と、上記記憶部制御工程によって読み出された管理データに関する誤り訂正符号のブロックを上記読み出し順位のまま上記記録媒体に記録する記録工程とを備える。
この記録方法によれば、管理データの符号ブロックについては、列方向のパリティ部を先に例えばc行すべて記録媒体に記録してから、続いて各データフレームの符号を順に記録する。列方向のパリティ部は、更新の影響が大きく反映される。このため、故障などによりブロックの書き換えが途中で中止されてしまったときでも、記録媒体上に残された新旧合わさったデータに誤り訂正処理を施すことにより、更新しようとしていた新しいデータを再現できる。
本発明に係る再生装置は、上記課題を解決するために、記録媒体にデジタル信号をオーバーライト記録する記録装置によって、上記デジタル信号をa行×b列のマトリクスをなすようにまとめたデータフレームを、記憶部に複数c個、a・c行×b列に配置し、少なくとも各列に符号化処理を施して列方向のdバイトの訂正パリティを付加した誤り訂正符号に変換し、上記記憶部に所定ブロック単位毎に記憶された誤り訂正符号のうち、上記所定単位ブロックが一部だけ更新される管理データに関する誤り訂正符号のブロックについては上記列方向の訂正パリティ部を先に読み出し、続いてメインデータ部を読み出し、上記読み出された管理データに関する誤り訂正符号のブロックを上記読み出し順位のまま上記記録媒体に記録された記録データを再生する再生装置であって、上記記録媒体に記録された管理データのうち、列方向のdバイトの訂正パリティ部、及びデータ部に誤り訂正処理を施す誤り訂正手段を備え、上記記録装置にあって上記管理データに関する誤り訂正ブロックの記録動作が半ばで中止された場合には、記録中止点の前半のデータと、記録中止点より後半のデータを、両方、上記誤り訂正手段に取り込んで誤り訂正処理を施す。
この再生装置によれば、故障などによりブロックの書き換えが途中で中止されてしまったときでも、記録媒体上に残された新旧合わさったデータに誤り訂正処理を施すことにより、更新しようとしていた新しいデータを再現できる。
本発明に係る再生方法は、上記課題を解決するために、記録媒体にデジタル信号をオーバーライト記録する記録装置によって、上記デジタル信号をa行×b列のマトリクスをなすようにまとめたデータフレームを、記憶部に複数c個、a・c行×b列に配置し、少なくとも各列に符号化処理を施して列方向のdバイトの訂正パリティを付加した誤り訂正符号に変換し、上記記憶部に所定ブロック単位毎に記憶された誤り訂正符号のうち、上記所定単位ブロックが一部だけ更新される管理データに関する誤り訂正符号のブロックについては上記列方向の訂正パリティ部を先に読み出し、続いてメインデータ部を読み出し、上記読み出された管理データに関する誤り訂正符号のブロックを上記読み出し順位のまま上記記録媒体に記録された記録データを再生するための再生方法であって、上記記録媒体に記録された管理データのうち、列方向のdバイトの訂正パリティ部、及びデータ部に誤り訂正処理を施す誤り訂正工程を備え、上記記録装置にあって上記管理データに関する誤り訂正ブロックの記録動作が半ばで中止された場合には、記録中止点の前半のデータと、記録中止点より後半のデータを、両方、上記誤り訂正工程に取り込んで誤り訂正処理を施す。
この再生方法によれば、故障などによりブロックの書き換えが途中で中止されてしまったときでも、記録媒体上に残された新旧合わさったデータに誤り訂正処理を施すことにより、更新しようとしていた新しいデータを再現できる。
本発明に係る記録再生装置は、上記課題を解決するために、記録媒体にデジタル信号をオーバーライト記録すると共にオーバーライト記録されたデジタル信号を再生する記録再生装置において、上記デジタル信号をa行×b列のマトリクスをなすようにまとめたデータフレームを、記憶部に複数c個、a・c行×b列に配置し、少なくとも各列に符号化処理を施して列方向のdバイトの訂正パリティを付加した誤り訂正符号に変換する誤り訂正符号化手段と、上記記憶部に所定ブロック単位毎に記憶された誤り訂正符号のうち、上記所定単位ブロックが一部だけ更新される管理データに関する誤り訂正符号のブロックについては上記列方向の訂正パリティ部を先に読み出し、続いてメインデータ部を読み出す記憶部制御手段と、上記記憶部制御手段によって読み出された管理データに関する誤り訂正符号のブロックを上記読み出し順位のまま上記記録媒体に記録する記録手段と、上記記録媒体に記録された管理データを読み出す読み出し手段と、上記読み出し手段により上記記録媒体から読み出された管理データのうち、列方向のdバイトの訂正パリティ部、及びデータ部に誤り訂正処理を施す誤り訂正手段とを備え、上記記録装置にあって上記管理データに関する誤り訂正ブロックの記録動作が半ばで中止された場合には、記録中止点の前半のデータと、記録中止点より後半のデータを、両方、上記誤り訂正手段に取り込んで誤り訂正処理を施し、上記誤り訂正手段によって誤り訂正処理が施された上記管理データを上記記憶部制御手段の制御に基づいて上記記憶部に書き込み、上記記憶部上の管理データを一部更新してから上記誤り訂正符号化手段に入力し、上記記憶部制御手段の制御に基づいて上記符号化された管理データのうち、訂正パリティ部を先に読み出し、続いてメインデータ部を読み出して、上記記録手段により上記記録媒体に記録する。
この記録再生装置によれば、管理データの符号ブロックについては、列方向のパリティ部を先に例えばc行すべて記録媒体に記録してから、続いて各データフレームの符号を順に記録する。列方向のパリティ部は、更新の影響が大きく反映される。このため、故障などによりブロックの書き換えが途中で中止されてしまったときでも、記録媒体上に残された新旧合わさったデータに誤り訂正処理を施すことにより、更新しようとしていた新しいデータを再現でき、さらに再現したデータを記録媒体に記録することができる。
本発明に係る記録再生方法は、上記課題を解決するために、記録媒体にデジタル信号をオーバーライト記録すると共にオーバーライト記録されたデジタル信号を再生するための記録再生方法において、上記デジタル信号をa行×b列のマトリクスをなすようにまとめたデータフレームを、記憶部に複数c個、a・c行×b列に配置し、少なくとも各列に符号化処理を施して列方向のdバイトの訂正パリティを付加した誤り訂正符号に変換する誤り訂正符号化工程と、上記記憶部に所定ブロック単位毎に記憶された誤り訂正符号のうち、上記所定単位ブロックが一部だけ更新される管理データに関する誤り訂正符号のブロックについては上記列方向の訂正パリティ部を先に読み出し、続いてメインデータ部を読み出す記憶部制御工程と、上記記憶部制御工程によって読み出された管理データに関する誤り訂正符号のブロックを上記読み出し順位のまま上記記録媒体に記録する記録工程と、上記記録媒体に記録された管理データを読み出す読み出し工程と、上記読み出し工程により上記記録媒体から読み出された管理データのうち、列方向のdバイトの訂正パリティ部、及びデータ部に誤り訂正処理を施す誤り訂正工程とを備え、上記記録装置にあって上記管理データに関する誤り訂正ブロックの記録動作が半ばで中止された場合には、記録中止点の前半のデータと、記録中止点より後半のデータを、両方、上記誤り訂正工程に取り込んで誤り訂正処理を施し、上記誤り訂正工程によって誤り訂正処理が施された上記管理データを上記記憶部制御工程の制御に基づいて上記記憶部に書き込み、上記記憶部上の管理データを一部更新してから上記誤り訂正符号化工程に入力し、上記記憶部制御工程の制御に基づいて上記符号化された管理データのうち、訂正パリティ部を先に読み出し、続いてメインデータ部を読み出して、上記記録工程により上記記録媒体に記録する。
この記録再生方法によれば、管理データの符号ブロックについては、列方向のパリティ部を先に例えばc行すべて記録媒体に記録してから、続いて各データフレームの符号を順に記録する。列方向のパリティ部は、更新の影響が大きく反映される。このため、故障などによりブロックの書き換えが途中で中止されてしまったときでも、記録媒体上に残された新旧合わさったデータに誤り訂正処理を施すことにより、更新しようとしていた新しいデータを再現でき、さらに再現したデータを記録媒体に記録することができる。
本発明によれば、ディスクへの管理データの記録中に障害が発生した場合、記録が半ばで中止されたとしても、最新の管理データを回復できる可能性が、従来技術よりも高くなる。
したがって、管理されているファイルデータが失われる可能性を抑制することができ、より信頼性の高いデータ記録システムを実現できる。
以下、図面を参照しながら本発明を実施するための最良の形態について説明する。図1は、本発明が適用できる光ディスク記録再生装置の一例を示すものである。この光ディスク記録再生装置1は、バス50を介して接続されたホストコンピュータ60の外部記憶装置として用いられるものであり、書き換え型ディスクの一種である相変化型光ディスク2、例えばDVD−RAMに対して情報信号を記録/再生する。
この光ディスク記録再生装置1は、DVD−RAMのような光ディスク2からなる記録媒体にデジタル信号をオーバーライト記録する記録装置の具体例である。上記デジタル信号をa行×b列、例えば12行×172列のマトリクスをなすようにまとめたデータフレームを、記憶部(メモリ13)に複数c個、例えば16個、a・c行×b列、例えば12・16行×172列に配置し、少なくとも各列に符号化処理を施して列方向のdバイト、例えば16バイトの訂正パリティを付加した誤り訂正符号に変換するECC符号化回路8と、メモリ13にECCブロック単位毎に記憶された誤り訂正符号のうち、管理データに関する誤り訂正符号のECCブロックについては上記列方向の訂正パリティ部(POパリティ)を先に読み出し、続いてメインデータ部を読み出すメモリコントローラ14と、メモリコントローラ14によって読み出された管理データに関する誤り訂正符号のECCブロックを上記読み出し順位のまま光ディスク2に記録する光学ピックアップ4からなる記録手段とを備える。また、この光ディスク記録再生装置1は、読み出し手段でもある光学ピックアップ4により光ディスク2から読み出された管理データのうち、列方向の16バイトの訂正パリティ部、及びデータ部に誤り訂正処理を施すECC誤り訂正回路12とを備える。なお、上記a,b,c,dは、上記各数値を含めた自然数である。つまり、上記12行×172列、16個のパリティなどは一例にすぎず、データフレームの構成、マトリクスは自然数の組み合わせから各種サイズを構成することができる。
光ディスク記録再生装置1の全体的な構成について説明する。図1に示すように、光ディスク記録再生装置1は、相変化型の光ディスク2を後述するサーボ回路6の制御にしたがって回転駆動するスピンドルモータ3と、回転駆動する光ディスク2の信号記録面に対してサーボ回路6の制御にしたがって光ビームを照射して信号の記録を行うと共にこの信号記録面からの戻り光により記録信号を読み出す光学系である光学ピックアップ4とを備える。
また、光ディスク記録再生装置1は、光学ピックアップ4をサーボ回路6の制御に基づいてディスクの径方向に移動するためのスレッドモータ5と、後述するRFアンプ10から供給される各種エラー信号に基づいてスピンドルモータ3、光学ピックアップ4及びスレッドモータ5を制御するサーボ回路6とを備える。
また、光ディスク記録再生装置1は、ホストコンピュータ60からバス50、後述のI/F7を介して送られてきた記録用データにリードソロモン積符号によりエラー訂正符号を付加するECC符号化回路8と、ECC符号化回路8によってエラー訂正符号が付加された記録データを例えば8/16変調する変調回路9を備える。
また、光ディスク記録再生装置1は、光学ピックアップ4によって光ディスク2から読み出された信号から再生RF信号、フォーカスエラー信号及びトラッキングエラー信号を得るRFアンプ10と、RFアンプ10の再生RF信号から2値化により得た再生データを復調する復調回路11と、復調回路11が復調した再生データにリードソロモン積符号によりエラー訂正処理を施して再生データを出力するECC誤り訂正回路12とを備える。
また、光ディスク記録再生装置1は、ECC符号化回路8によるエラー訂正符号の付加処理、及びECC誤り訂正回路12による誤り訂正処理に用いるメモリ13と、ホストコンピュータ60とのバスを介した通信を制御するI/F7とを備える。
また、光ディスク記録再生装置1は、メモリ13に対するデータの記録時及び再生時の書き込み/読み出しのタイミング、アドレスを制御するメモリコントローラ14と、ホストコンピュータ60からバス50を介して供給されるコマンドを解読し、コマンドの対象となる各部をシステム制御するシステムコントローラ16と、システムコントローラ16がホストコンピュータ60からのコマンドを解読して得たデータの記録領域指定アドレスを判別し、判別結果をメモリコントローラ14に供給するアドレス判別部15とを備える。
相変化型の光ディスク2は、光ビームによる記録材料の結晶状態とアモルファス状態との可逆変化を利用する方式を採用している。記録材料は、高パワーの光ビームによって融点以上に昇温された後、急冷されることによってアモルファス状態を形成し(記録)、アモルファス状態に中パワーの光ビームを照射することによって結晶化温度以上に昇温されて結晶化状態を形成する(消去)。このアモルファスと結晶の結晶の光学定数の違いによる反射率差が信号となる。このように相変化方式の例えば上記DVD−RAMは、単一の光ビームのパワー変調によりオーバーライト(情報信号の重ね書き)が可能である。また、ECCブロックの記録中に故障が発生する可能性がある。また、同一のクラスタを何回も書き換える方式でファイルを管理している。
光学ピックアップ4は、光ディスク2に近接対向して、光ディスクの信号記録面に、レーザダイオードLDから上記高パワーの光ビームや中パワーの光ビームを照射する。この光学ピックアップ4は、レーザダイオードLDの他に、偏光ビームスプリッタ、対物レンズ、光ディスクからの反射光を検出するフォトディテクタ、対物レンズを駆動する二軸アクチュエータ及びレーザダイオードの出射光量を検出する光量検出器が設けられている。また、この光学ピックアップ4には、スレッドモータ5により駆動されて、光学ピックアップ4を光ディスク2の半径方向に移送するスレッド機構が取り付けられている。
次に、光ディスク記録再生装置1の全体的な動作について説明する。ホストコンピュータ60からのコマンドにより、光ディスク記録再生装置1に対して情報信号の記録又は再生を行う場合、ホストコンピュータ60から光ディスク2上の目標トラック位置に光学ピックアップ4をスレッドモータ5によりシーク動作をして位置決めした後に、サーボ回路6により二軸アクチュエータのトラッキングコイル及びフォーカスコイルを駆動させてトラッキング及びフォーカスを微調整させて目標値に合わせる。
記録の際には図示しないレーザ制御回路によりレーザパワーを予めイレーズパワーレベルにして記録しない部分の情報を消去すると共に、レーザパワーをライトパワーレベルに調整して情報信号を目標トラック位置に記録し、再生の際にはレーザ制御回路によりレーザパワーをリードパワーレベルに調整して目標トラック位置に記録された情報信号を再生する。
システムコントローラ16によるシステム制御系では、まず、ホストコンピュータ60に基づいてシステムコントロール回路16は、サーボ回路6にスピンドルモータ3の回転命令のコマンドを供給する。サーボ回路6は、このコマンドによりドライブ信号をスピンドルモータ3に供給して、スピンドルモータ3を回転させる。再生RF信号に基づいて復調回路11から同期検出されたサーボ信号がサーボ回路6に供給される。
次に、ホストコンピュータ60に基づいてシステムコントロール回路19は、サーボ回路6にスレッドモータ5による粗送り命令のコマンドを供給する。光学ピックアップ4は現在の位置の情報信号を光ディスク2から読み取り、内蔵するフォトダイオード、各種演算器を介して、RFアンプ10にRF信号、各種演算信号を供給する。RFアンプ10は、各種演算信号からトラッキングエラー信号を生成して、サーボ回路6に供給する。サーボ回路6は、トラッキングエラー信号に基づいてドライブ信号を生成して、ドライブ信号をスレッドモータ5に供給する。スレッドモータ5はドライブ信号に基づいて図示しない粗送り機構を介して光学ピックアップ4を粗シーク動作させる。
シーク・サーボ系の動作は、スレッドモータ系と、光学ピックアップ4内の二軸アクチュエータ系の2つからなる。スレッドモータ系は、スレッドモータ5により光学ピックアップ4を粗シーク動作させて、図示しないエンコーダーで位置を検出して位置決めをする。アクチュエータ系は、図示しないトラッキングコイルを用いた2軸アクチュエータにより光学ピックアップ4を精細シーク動作させる。
また、RFアンプ10は、情報信号からフォーカスエラー信号を検出して、サーボ回路6に供給する。サーボ回路6は、フォーカスエラー信号に基づいて図示しない2軸アクチュエータのフォーカスコイルにより光学ピックアップ4のフォーカシングを行う。
そして、光ディスク記録再生装置1は、光学ピックアップ4を目標トラック位置に位置決めした後に、記録又は再生の動作を以下のように行う。再生時には、システムコントローラ16は、図示しないレーザ制御回路に再生コマンドを供給する。レーザ制御回路はレーザ発光パワーを再生パワーレベルに調整して、光学ピックアップ4のレーザダイオードLDに供給する。レーザダイオードLDはレーザ光を対物レンズを介して光ディスク2に照射する。フォトダイオードは光ディスク2で反射されたレーザ光を例えば2分割面上で受光する。フォトダイオードは受光した2分割レーザ光を電気信号に変換して各種演算器により再生RF信号を生成する。
再生RF信号はRFアンプ10に供給される。RFアンプ10は再生データを高周波増幅して復調回路11に供給する。復調回路11は再生データを例えばEFM−plusにより8/16復調する。復調回路11は復調された再生データをECC誤り訂正回路12に供給する。ECC誤り訂正回路12は、再生データにリードソロモン積符号によりエラー訂正処理を施して再生データを出力する。デコードされた情報信号はI/F7により通信制御され、バス50を介してホストコンピュータ60に供給される。
記録時には、システムコントローラ16は、レーザ制御回路に記録コマンドを供給する。ホストコンピュータ60から供給された記録データはECC符号化回路8に供給される。ECC符号化回路8は、記録データにリードソロモン積符号によりエラー訂正符号を付加する。ECC符号化回路8は、エラー訂正符号が付加された記録データを変調回路9に供給する。変調回路9は、エラー訂正コードが付加された記録データを例えばEFM−plusにより8/16変調する。変調回路9は、変調された記録データをレーザ制御回路の図示しないPWMドライバーに供給する。PWMドライバーは記録コマンドに基づいて8/16変調された記録データをパルス幅変調して、ライトパワーレベルのレーザ発光信号をレーザダイオードLDに供給する。レーザダイオードLDはレーザ光を光学ピックアップ4内の対物レンズを介して光ディスク2に照射する。光ディスク2の記録薄膜がレーザ光で熱せられてアモルファス化した状態で記録データが目標トラック位置に記録される。
ところで、光ディスク記録再生装置1は、ホストコンピュータ60から送られてくる通常のデータ(以下、ファイルデータと呼ぶ)のみではなく、ファイル名を記録するディレクトリや、ディスク容量を管理するボリューム管理情報などの管理データも光ディスク2に記録する。このようなディレクトリや、ボリューム管理情報(例えば、FAT)も、ECCブロック単位で光ディスク2に記録される。
DVD−RAMのECCブロック化は既に背景技術で説明した。図1におけるECC符号化回路8により行われる処理である。ECC符号化回路8は、データフレーム0からデータフレーム15までの合計16個のデータフレームをメモリ13上にメモリコントローラ14の制御の基、192行×172列に配置し、各列に第1の符号化を施して、16バイトのPOパリティを付加する。第1の符号化は、符号長208バイト、パリティ数16バイトのリードソロモン符号RS(208,192,17)であり、アウター符号と呼ばれる。得られた16バイト×172列のPOパリティは、データフレーム15に続いて配置される。ECC符号化回路8は、172個のアウター符号に対し、続いて各行に第2の符号化を施して、10バイトのPIパリティを付加する。第2の符号化は符号長182バイト、パリティ数10バイトのリードソロモン符号RS(182,172,11)であり、インナー符号と呼ばれる。得られた208行×10バイトのPIパリティは、データフレーム各行の後に追加される。
背景技術では、図9を参照してECCブロック208行×182列の各バイトについて、記号B(j,i)を割当てて説明した。ここでは、説明を省略する。
ところで、上記発明が解決する課題でも説明したように、光ディスク2上にファイルシステムを構築し、ファイルの記録・削除を行う場合、ボリューム管理情報(例:FAT:File Allocation Table)やディレクトリが記録されるECCブロックには、以下の特徴があった。
(1)前回記録したデータの一部のみが更新され、書き換えられることが多い。
(2)同一のECCブロックに対する書き換え回数が多い。
(3)多数のファイルに関する情報が記録されており、データが失われると損害が大きい。
ファイルを記録・削除した結果は、ボリューム管理情報とディレクトリが更新されることによって、はじめてファイルシステムに反映されるので、装置の故障によってディスクに障害が発生する場合のほとんどは、これらボリューム管理情報とディレクトリの更新時に起きる。
すなわち、データの一部のみが更新されて書き換えられるECCブロックは、壊れやすく、壊れたときの損害が大きい。
そこで、光ディスク記録再生装置1は、上記ディレクトリやボリューム管理情報等の管理データのECCブロックを光ディスク2に記録するときには、図2に示すように記録する。図2は、本発明によってECCブロックをディスクに記録するときの、各バイトB(j,i)の記録順序を示す図である。
ホストコンピュータ60から上記ディレクトリやボリューム管理情報のECCブロックを光ディスク2に記録するときには、システムコントローラ16に、ディレクトリアドレスなどの記録領域指定アドレスが送られてくる。アドレス判定部15は、上記記録領域指定アドレスを判別すると、判別結果をメモリコントローラ14に送る。
メモリコントローラ14は、上記判別結果に基づいてECC符号化回路8がECCブロック化したのは、上記ディレクトリやボリューム管理情報等の管理データであることを知る。すると、メモリコントローラ14は、ECC符号化回路8が上記ECCブロックを記憶させたメモリ13から、まずPOパリティのインナー符号を16行すべて読み出して変調回路9、レーザ制御回路、光学ピックアップ4を用いて、光ディスク2に記録する。続いて各データフレームのインナー符号192行を順に記録する。各データフレームの先頭にあるIDの間隔は12行毎になり、レコーディングフレームとの位置関係は失われるが、DVD−RAM等、予め成型によってアドレスが刻まれているディスクでは、あまり問題にならない。
図3は、上記ディレクトリやボリューム管理情報等の管理データのECCブロックをメモリ13からメモリコントローラ14によって読み出して光ディスク2に記録するときの記録順序を実現するフローチャートである。
まず、メモリコントローラ14は、ステップS41にて行カウンタのカウント値jを192にする。また、ステップS42にてバイトカウンタの値iを0にする。
次に、ステップS43にてメモリ13からB(j,i)を読み出し、上述したように、変調回路9、レーザ制御回路、光学ピックアップ4を用いて、光ディスク2に記録する。ステップS41ではj=192とし、ステップS42ではi=0としたので、ステップS43では始めにB(192,0)を記録することになる。
ステップS44では、バイトカウンタの値iを+1インクリメントする。ステップS45では、バイトカウンタの値iが182になったか否かをチェックする。このため、ステップS45にて上記iが182になったと判定するまで、つまりiが181までに、ステップS43〜ステップS44が繰り返される。これにより、上記B(192,0)に続けて、B(192,1)、B(192,2)、B(192,3)・・・B(192,171)、B(192,172)・・・B(192,181)を、第0行のPOパリティのインナー符号として記録することができる。
ステップS45にて、バイトカウンタの値iが182になったと判定すると、第0行のPOパリティのインナー符号の記録を終了してステップS46に進む。ステップS46では、行カウンタのカウント値jを+1インクリメントする。ステップS47では、行カウンタのカウント値jが208になったか否かをチェックする。このため、ステップS47にて上記jが208になったと判定するまで、つまりjが207までに、ステップS42〜ステップS46が繰り返される。これにより、上記第0行のPOパリティのインナー符号に続けて、第1行のPOパリティのインナー符号{B(193,0)、B(193,1)、B(193,2)、B(193,3)・・・B(193,171)、B(193,172)・・・B(193,181)}から第16行のPOパリティのインナー符号{B(207,0)、B(207,1)、B(207,2)、B(207,3)・・・B(207,171)、B(207,172)・・・B(207,181)}を記録する。
このうち、第0行のPOパリティのインナー符号B(192,0)〜B(192,181)から、第12行のPOパリティのインナー符号B(204,0)〜B(204,181)までの13行より、レコーディングフレーム0を構成する。
また、第14行のPOパリティのインナー符号B(205,0)〜B(205,181)から、第16行のPOパリティのインナー符号B(207,0)〜B(207,181)までの3行は、後述のPIパリティを付加して構成された第0行のインナー符号から、同じく第9行のインナー符号までの10行に、この10行よりも前になるように加えて、レコーディングフレーム1を構成する。
上記第14行のPOパリティのインナー符号B(205,0)〜B(205,181)から、第16行のPOパリティのインナー符号B(207,0)〜B(207,181)までの3行に続けて、上記PIパリティを付加して構成された第0行以下のインナー符号を記録するため、図3のステップS48からの処理を行う。
ステップS48では、行カウンタのカウント値jを0にする。ステップS49では、バイトカウントのカウント値iを0にする。
次に、ステップS50からB(j,i)を記録する。ステップS8ではj=0、ステップS9ではi=0としたので、ステップS50はB(0,0)を記録することになる。
ステップS51では、バイトカウンタの値iを+1インクリメントする。ステップS52では、バイトカウンタの値iが182になったか否かをチェックする。このため、ステップS52にて上記iが182になったと判定するまで、つまりiが181までに、ステップS50〜ステップS51が繰り返される。これにより、上記B(0,0)に続けて、B(0,1)、B(0,2)、B(0,3)・・・B(0,171)、B(0,172)・・・B(0,181)を記録する。これにより、PIパリティを付加して構成された第0行のインナー符号を記録することができる。
ステップS52にて、バイトカウンタの値iが182になったと判定すると、第0行のインナー符号の記録を終了してステップS53に進む。ステップS53では、行カウンタのカウント値jを+1インクリメントする。ステップS54では、行カウンタのカウント値jが192になったか否かをチェックする。このため、ステップS54にて上記jが192になったと判定するまで、つまりjが191までに、ステップS9〜ステップS53が繰り返される。これにより、上記第0行のインナー符号に続けて、第1行のインナー符号{B(1,0)、B(1,1)、B(1,2)、B(1,3)・・・B(1,171)、B(1,172)・・・B(1,181)}から第191行のインナー符号{B(191,0)、B(191,1)、B(191,2)、B(191,3)・・・B(191,171)、B(191,172)・・・B(191,181)}を記録する。
上記第0行のインナー符号B(0,0)〜B(0,181)から第9行のインナー符号B(9,0)〜B(9,181)までの9行は、上述したように、第14行のPOパリティのインナー符号B(205,0)〜B(205,181)から、第16行のPOパリティのインナー符号B(207,0)〜B(207,181)までの3行と共に、レコーディングフレーム1を構成した。
第10行のインナー符号から第191行のインナー符号までの合計182行分のインナー符号は、13行づつにまとめられて、レコーディングフレーム2からレコーディングフレーム15までを構成するのに用いられる。
以上に、図3の記録手順を用いて説明したように、光ディスク記録再生装置1は、上記ディレクトリやボリューム管理情報を記録するときには、ECCブロックのPOパリティのインナー符号を16行すべて読み出して光ディスク2に記録する。続いて各データフレームのインナー符号192行を順に記録する。ここでは、レコーディングフレーム毎にカウンタを制御する必要はなく、POパリティ、データフレームの順に記録するだけである。つまり、先に誤り訂正パリティ部、続いて、ディレクトリやボリューム管理情報のメインのデータ部を記録している。
以下には、上記ディレクトリやボリューム管理情報からなる管理データのECCブロックの一部を更新して書き換える場合、もし光ディスク2へ記録中に光ディスク記録再生装置1が故障して記録が中止されてしまってからそのECCブロックを再生する処理を説明する。
ここでも、背景技術で説明したのと同様に、下記の点を前提に説明する。
(I)記録はオーバーライト方式で行われ、故障時点までに記録された信号は、更新後のデータによるものであり、それ以降は更新前のデータによる記録信号が残っていると仮定する。
(II)新旧いずれの記録信号の品質も良好であり、再生時のインナー符号に含まれる誤りは、すべてPIパリティを用いて訂正可能であると仮定する。
(III)アウター符号の誤り訂正処理において、8バイト以下の誤りは訂正可能であり、8バイトを越える誤りは訂正不能である。
この場合の光ディスク記録再生装置1の動作は次のとおりである。すなわち、光ディスク記録再生装置1は、光ディスク2に記録された管理データのうち、POパリティ部を光学ピックアップ4、RFアンプ10、復調回路11を介して復調し、ECC誤り訂正回路12に入力する。次に、光ディスク記録再生装置1は、光ディスク2に記録された管理データのうち、メインデータ部を光学ピックアップ4、RFアンプ10、復調回路11を介して復調し、ECC誤り訂正回路12に入力する。次に、光ディスク記録再生装置1は、メモリコントローラ14を用いて、ECC誤り訂正回路12により誤り訂正された管理データをメモリ13に書き込む。そして、ホストコンピュータ60からのコマンドに基づいてシステムコントローラ16は、システムメモリ13上の管理データを例えばファイル名追加などにより一部更新する。次に、メモリコントローラ14を用いてメモリ13上の管理データを読み出し、ECC符号化回路8に入力する。ECC符号化回路8は、メモリ13から読み出された管理データをECCブロック化する。そして、メモリコントローラ14を用い、図3の記録手順にしたがってい、図2に示すように、符号化された管理データのうち、POパリティ部を光ディスク2に記録し、それに続けてデータ部を光ディスク2に記録する。このようにすると、記録が中止されたクラスタを再生した場合、中止点の前半に新しいパリティと新しいデータ、後半に古いデータが記録されている。
このとき、中止点近傍で、記録信号の不連続により失われるデータ数と、古いデータに対して更新された部分のデータ数の和が、誤り訂正符号の訂正能力範囲内であった場合、これらの箇所があたかもゴミやノイズなどにより発生したデータ誤りであるかのごとく訂正処理が行われ、結果として更新後の新しいデータが再生される。
図4は、図15(背景技術)のECCブロックを1/4すなわち52行記録したところで、故障により記録が中止された場合のデータを示している。下向きの矢印で示したデータフレーム0からデータフレーム2までの36行の範囲は、新たにオーバーライトされた領域であり、それ以外の範囲は故障によりオーバーライトされなかった、古いデータの領域であることを示す。
A(左図)では、更新前のECCブロックを基準として見たとき、値が変化した領域を斜線で示している。各列すなわち各アウター符号中変化したデータは16バイトであり、アウター符号の訂正能力を越える。すなわち、古いデータに訂正することはできない。
B(右図)では、更新しようとしていたECCブロックを基準として見たとき、古い値のまま残ってしまった領域を斜線で示している。各アウター符号に含まれる古い値のデータは6バイトであり、アウター符号として誤り訂正可能である。すなわち、新しいデータに訂正され得る。
したがって、図4のECCブロックを再生すると、更新後の新しいデータが得られる。
図5は、図15(背景技術)のECCブロックを3/4すなわち156行記録したところで、故障により記録が中止された場合のデータを示している。下向きの矢印で示したデータフレーム0〜データフレーム11中の144行までの範囲は、新たにオーバーライトされた領域であり、それ以外の範囲は故障によりオーバーライトされなかった、古いデータの領域であることを示す。
A(左図)では、更新前のECCブロックを基準として見たとき、値が変化した領域を斜線で示している。各列すなわち各アウター符号中変化したデータは16バイトであり、アウター符号の訂正能力を越える。すなわち、古いデータに訂正することはできない。
B(右図)では、更新しようとしていたECCブロックを基準として見たとき、古い値のまま残ってしまった領域を斜線で示している。各アウター符号に含まれる古い値のデータは6バイトであり、アウター符号として誤り訂正可能である。すなわち、新しいデータに訂正され得る。
したがって、図5のECCブロックを再生すると、更新後の新しいデータが得られる。
以上説明したように、本発明を適用した光ディスク記録再生装置1によれば、ECCブロックを一部だけ更新して書き換える場合、更新の影響が大きく反映されるPOパリティを先に記録する。このため、故障などによりECCブロックの書き換えが途中で中止されてしまったとき、ディスク上に残された新旧合わさったデータに誤り訂正を施すことにより、更新しようとしていた新しいデータを再現できる可能性が、従来技術より大きくできる。
ここで重要なのは、一部だけ更新して書き換えられるECCブロックとは、ボリューム管理情報やディレクトリなど、きわめて重要性の高い管理データであるということである。したがって、本発明は、装置の万一の故障に際しても、ファイルシステムを最新の状態に復旧できる可能性を大きく高めるものであり、データセキュリティの向上に有用な技術である。
また、光ディスク記録再生装置1は、ホストコンピュータ60から送られてくるのが、上記管理データではなく、一部ではなく全体的に書き換えられる情報ファイルデータのような通常のファイルであるときには、ECCブロック化したデータを、上記図3の手順にしたがってうことなく、従来通り、上記図4にしたがってった手順で光ディスク2に記録する。すなわち、データフレームのインナー符号12行毎に、POパリティのインナー符号1行を挿入して、13行よりなるレコーディングフレームを構成し、POパリティのインナー符号が等間隔に挿入されるように記録していく。
ホストコンピュータ60からのデータ記録コマンドが、上記管理データ記録のためのコマンドであるか、上記情報ファイルデータのような通常のファイル記録のためのコマンドであるかは、アドレス判別部15がデータの記録領域指定アドレスを判別することによって認識できる。管理データの記録時はディレクトリアドレスが指定されてくるし、上記通常データの記録時は例えばクラスタアドレスが指定されてくる。
したがって、光ディスク記録再生装置1では、アドレス判別部15にてデータの上記記録領域指定アドレスを判別し、その判別結果にしたがってメモリコントローラ14が、メモリ13からデータ、POパリティを読み出す順序を変えることができる。
このため、上記管理データのECCブロックを光ディスク2に記録するときには、ECCブロックを一部だけ更新して書き換える場合に、更新の影響が大きく反映されるPOパリティを先に記録する。POパリティに続けてメインデータを記録する。
また、上記通常データのような情報ファイルデータを光ディスクに記録するときには、データフレームのインナー符号12行毎に、POパリティのインナー符号1行を挿入して、13行よりなるレコーディングフレームを構成し、POパリティのインナー符号が等間隔に挿入されるように記録する。
このように、本発明は、光ディスク2に記録するすべてのECCブロックに適用する必要はなく、従来の方法と混在させてもよい。
つまり、以下の二つの適用方法を採ってもよい。
(一)ボリューム管理情報とティレクトリを記録するECCブロックにのみ適用する。
(二)従来との互換性を保ったまま、機能拡張された領域にのみ本発明を適用する。
また、光ディスク記録再生装置1は、アドレス判別部15を用いてホストコンピュータ60からのデータ記録コマンドが、上記管理データであるか否かを判別したが、図6に示すように、システムコントローラ16によりホストコンピュータ60からの記録データコマンドを直接判別するような構成でもよい。
また、光ディスク記録再生装置1は、相変化型光ディスクであるDVD−RAMの例で説明したが、
[1]記録はオーバーライト方式で行われる。
[2]ECCブロックの記録中に故障が発生する可能性がある。
[3]同一のクラスタを何回も書き換える方式でファイルを管理している。
の条件を満たす記録媒体には、すべて本発明は有効である。
例えば、携帯端末用ハードディスクに適用すると、不慮の落下等による故障から、データを救済することが可能となる。
図7は、携帯用情報データ記録再生装置に内蔵されるハードディスクドライブ部70を示す図である。回転駆動部71は、スピンドルモータ71Aとその回転速度を検出するセンサ71Bより構成され、磁気ディスク72を回転させるようになされている。ヘッド73は、磁気ディスク72に記録されている信号を読み出すようになされている。
記録再生信号処理部74は、本発明の記録方法、再生方法が適用されるブロックである。ヘッド・アーム駆動制御回路75は、ヘッド部73を構成するヘッド・アームを磁気ディスク72の所定のトラック位置に移動させるようになされている。回転スピンドル駆動制御回路76は、回転駆動部71を構成するスピンドルモータの駆動制御を行うようになされている。ディスクコントローラ77は、記録再生信号処理回路74、ヘッド・アーム駆動制御回路75、及び回転スピンドル駆動制御回路26を制御するようになされている。入力端子78からの記録用情報信号はディスクコントローラ77内で所定のフォーマット処理やタイミング制御が行われたのち記録再生信号処理回路74等に供給される。また、記録再生信号処理回路74からの再生信号はディスクコントローラ77内部で所定の処理、制御が行われた後、端子79から出力される。
記録再生信号処理部74は、図8に示すように、上記図1に示したのと同様に機能するECC符号化回路、変調回路82、復調回路83、ECC誤り訂正回路84、メモリ85及びメモリコントローラ86を有してなる。この記録再生信号処理部74を備えることにより、ハードディスクドライブ部70は、ファイル名を記録するディレクトリや、ディスク容量を管理するボリューム管理情報などの管理データを記録するときには、上記図2に示したのと同様に、更新の影響が大きく反映されるPOパリティをメインデータのインナー符号よりも先に記録する。このため、不慮の落下などにより、ECCブロックの書き換えが途中で中止されてしまったとき、ディスク上に残された新旧合わさったデータに誤り訂正を施すことにより、更新しようとしていた新しいデータを再現できる可能性が、従来技術より大きくでき、データを救済することが可能となる。
1 光ディスク記録再生装置、2 光ディスク(DVD−RAM)、3 スピンドルモータ、4 光学ピックアップ、5 スレッドモータ、6 サーボ回路、7 I/F、8 ECC符号化回路、9 変調回路、10 RFアンプ、11 変調回路、12 ECC誤り訂正回路、13 メモリ、14 メモリコントローラ、15 アドレス判別部、16 システムコントローラ、50 バス、60 ホストコンピュータ