JP5419653B2 - 記録装置及び記録方法 - Google Patents

記録装置及び記録方法 Download PDF

Info

Publication number
JP5419653B2
JP5419653B2 JP2009273837A JP2009273837A JP5419653B2 JP 5419653 B2 JP5419653 B2 JP 5419653B2 JP 2009273837 A JP2009273837 A JP 2009273837A JP 2009273837 A JP2009273837 A JP 2009273837A JP 5419653 B2 JP5419653 B2 JP 5419653B2
Authority
JP
Japan
Prior art keywords
data
block
order
edc
area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009273837A
Other languages
English (en)
Other versions
JP2011118968A (ja
Inventor
剛生 有山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2009273837A priority Critical patent/JP5419653B2/ja
Priority to US12/957,440 priority patent/US8397135B2/en
Publication of JP2011118968A publication Critical patent/JP2011118968A/ja
Application granted granted Critical
Publication of JP5419653B2 publication Critical patent/JP5419653B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2954Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using Picket codes or other codes providing error burst detection capabilities, e.g. burst indicator codes and long distance codes [LDC]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/1075Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data
    • G11B2020/10759Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data content data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • G11B2020/1843Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using a cyclic redundancy check [CRC]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2541Blu-ray discs; Blue laser DVR discs

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

本発明は、光ディスクにデータを記録する際の記録速度の向上を図った誤り記録装置及び記録方法に関する。
図34は、特許文献1に記載のBlu−Rayディスク記録装置である。図34に示すように、本記録装置101は、データ・バッファ102と、バッファ・コントローラ103と、エンコード回路104とを有する。データ・バッファ102は、ホスト(不図示)から転送されるユーザ・データをバッファリングする。ホストは、例えばAV(audio- visual)システム又はパーソナル・コンピュータ(PC)等であって、記録装置101に対し、ユーザ・データの記録を指示したり、ディスクに記録されているデータの読み出し指示をするものである。
バッファ・コントローラ103は、データ・バッファ102からのユーザ・データの読み出しを制御するもので、必要なユーザ・データを適宜読み出しエンコード回路104に転送する。ここで、本実施の形態における記録装置は、誤り検出符号(EDC)を求めるため、偶数セクタの後半部分のみ、すなわちデータ・ブロック全体でみた場合、約1/4のユーザ・データからEDC中間値を算出する処理(以下、パス1という。)と、残りの約3/4のユーザ・データ及びEDC中間値からEDCを算出する処理(以下、パス2という。)を並列して実行する。このため、バッファ・コントローラ3は、データ・バッファ102からパス1の処理に使用するためのユーザ・データを読み出し出力するチャンネルCH1と、パス2の処理に使用するためのユーザ・データを読み出し出力するチャンネルCH2を有する。
エンコード回路104は、ユーザ・データにEDCを付加し、EDCが付加されたユーザ・データをスクランブルする。そして、スクランブルしたスクランブル済データ(以下、記録データという。)と、この記録データから得られるECCとを出力する。ECC及び記録データは、BISコードと統合され、更に1−7PP変調が施され、その後ディスクに記録される。
このエンコード回路4は、上記パス1の処理を実行するための、第1の演算部としてのEDC生成部131と、EDCテーブル132及びEDCバッファ133とを有する。また、パス2において、EDCを算出するために、第2の演算部としてのEDC生成部134を有する。パス1の処理においては、EDC生成部131はEDCテーブル132及びEDCバッファ133を参照して演算を行なう。ここで、EDC生成部131がパス1において演算した結果が後述するEDC中間値となる。このEDC中間値はEDCバッファ33に書き戻される。パス2の処理においては、EDC生成部134はEDCテーブル132及びEDCバッファ133を参照し、EDCを算出して、EDCバッファ133に書き戻す。
エンコード回路104は、更に、チャンネルCH2から読み出されるユーザ・データにEDCバッファ133に格納されたEDCを付加して出力する統合部135を有する。また、統合部135から出力されるEDC付きデータをスクランブルするスクランブル回路36及びスクランブル回路136がスクランブル処理の際に必要なスクランブル値を算出するスクランブル値生成部137を有する。更に、スクランブル回路136にてスクランブルされたスクランブル済データをレコーディング・フレーム方向Pの順に並び変えるための置き換えバッファ138を有する。これら統合部135、スクランブル回路136、スクランブル値生成部137、及び置き換えバッファ138から、ユーザ・データ及びEDCに基づき記録データを算出して出力するスクランブル処理部が構成される。
また、スクランブル済データからECCを生成するECC生成部139及びECC生成部139により生成されたECCをバッファリングするECCバッファ140を有する。置き換えバッファ138からレコーディング・フレーム方向Pの順で読み出されたデータは、記録データとして出力される。また、ECCバッファ140のデータは、ECCパリティとして出力される。この記録データとECCパリティは、図示せぬ統合部に出力され、記録データに対し行列再配置をし、ECCを付加してインタリーブをしてECCクラスタとする。
また、図示しないBISを生成する他のエンコード装置(BIS用エンコード装置)において、ユーザ・コントロール・データ及びアドレス・ユニット・ナンバからアクセス・ブロックを生成し、またBISECCを生成する。そして、当該BIS用エンコード装置からのアクセス・ブロック及びBISECCも上記統合部へ供給され、BISブロックを生成し、更にこれをインタリーブしてBISクラスタとする。そして、LDCクラスタとBISクラスタとが結合されたECCクラスタが生成され、フレームシンク、DSV制御ビットを付加したフィジカルクラスタとされる。そして、レコーディング・フレームを1−7PP変調すると共にランイン及びランアウトが付加されてレコーディングユニットブロックRUBが生成され、ディスクコントローラを介してRUBを1記録単位としてディスクへのデータ記録が実行される。
ところで、Blu−Rayディスクは、データ記録の前に、予め生成が必要な符号が存在する。そして、オンザフライで記録するため、符号生成と記録処理が並列で実行される。符号生成及び記録処理には、通常、それぞれ1クラスタ、合計2クラスタ分のデータ・バッファに対するデータアクセスが必要である。これに対し、特許文献1に記載の技術においては、符号生成方法の工夫により、データ・バッファに対し0.25クラスタ分のデータアクセスのみで、符号生成を可能としている。これにより、符号生成及び記録処理におけるデータ・バッファに対するアクセスを1.25クラスタ分に抑えることで、高倍速化対応を可能とする。
高倍速エンコード実現のためには、高周波数動作クロックで駆動するコスト高のデータ・バッファが必要となり、更に電力消費量が増大する。そこで、特許文献1においては、上記のように、第1の演算部及び第2の演算部を設けている。第1の演算部は、第1の順序としてのユーザ・データ方向Qの順で読み出した場合にはEDCがセクタの最後に付加され、ユーザ・データ方向Qとは異なる例えばレコーディング・フレーム方向Pの順序で読み出した場合にはセクタの読み出し途中にEDCが付加される構成を有する偶数セクタ(演算対象セクタ)については、その一部である後半部分からEDC中間値を算出する。この処理をパス1という。なお、奇数セクタについては、EDC中間値を生成しない。第2の演算部は、前記一部を除いた偶数セクタの残部及びEDC中間値とから偶数セクタのEDCを算出する。奇数セクタのEDCは、奇数セクタ全体のデータから生成する。この処理をパス2という。これら2つの演算部によりEDCを算出するようにして、データ・バッファへのデータアクセス量を低減させる。このことにより、エンコードスペックの更なる向上を可能とすると共に低消費電力化及び低コスト化を図っている。
図35は、特許文献1において、パス1、2に使用されるユーザ・データを説明するための図である。エンコード回路の処理単位であるデータ・ブロックは、上記の偶数セクタと奇数セクタとを有する。この特許文献1においては、パス1では第1の順序としてユーザ・データ方向Qにデータ・ブロックを読み出す。一方、パス2においては、ユーザ・データ方向Qのデータを、レコーディング・フレーム方向Pの順序に並び換える。その際に、置き換えバッファを使用する。置き換えバッファは、例えば列方向に、データ・バッファのバースト転送サイズと同じmバイト、行方向に1クラスタ分の304バイトの大きさからなる。この置き換えバッファに、ユーザ・データ方向Qのデータをmバイトずつ、レコーディング・フレーム方向Pに304バイト分格納し、その後、レコーディング・フレーム方向Pにデータを読み出すことで、ユーザ・データ方向Qのデータを、レコーディング・フレーム方向Pの順序のデータとすることができる。
ところで、偶数セクタは、図35に示すように、セクタを全部転送する前にEDCを付加する符号列となる。そこで、パス1においては、パス2においてこの演算対象セクタである偶数セクタの一部、すなわちEDCを付加するタイミング以降に読み出すこととなってしまう偶数セクタの後半部分の演算を実行し、EDC中間値を求める。パス2においては、偶数セクタの残り及び奇数セクタの全部の演算を実行することで、EDCを算出する。奇数セクタは、ユーザ・データ方向Qの順に読み出した場合であっても、ユーザ・データ方向Qの順のバースト転送サイズmのユーザ・データをレコーディング・フレーム方向Pの順に読み出した場合であっても、いずれにおいてもEDCはセクタの最後に付加される構成を有する符号列(非演算対象セクタ)であるため、パス1で予めEDC中間値を求める必要はない。
このように、特許文献1においては、予め1クラスタ全部を読み出しEDCを生成する、という方法ではなく、偶数セクタの一部のみを読み出しEDC中間値を生成する。そして、パス2で1クラスタを読み出し記録する際に、同時にEDCを算出する。上述のように、EDCを同時に算出する場合は、EDCは全データ読み出し後にしか生成することができないため、偶数セクタについては、記録しながらEDCを生成することができない。よって、EDC中間値という、記録が間に合わない部分のみから生成した演算値を使用して、記録しながらEDCを算出することを実現している。なお、EDC中間値については、後述する。
このようにして、特許文献1に記載の記録装置は、2クラスタ分ではなく、約1.25クラスタのアクセスで、EDCを生成し、データを記録することができる。
特開2007−042234号公報
ところで、Blu−Ray規格データは、クラスタ単位で記録される。1クラスタは、498フレームで構成されている。このうち、2フレーム分が記録時のギャップとして用いられるため、実質データ部分は、496フレームとなる。更に、最初の432フレームにはユーザ・データが記録され、後半64フレームには、ユーザ・データから生成するECCが記録される。SRAM(Static Random Access Memory)(以下、ECCバッファともいう。)を用いれば、ECCは、この432フレーム分の記録データから生成して保存できるため、後半64フレームの記録期間中は、ECCバッファに保存されたECCを用いることでデータ・バッファに対するアクセスが不要となる。
図36は、従来技術のタイミングチャートである。符号生成と記録処理は同時並列に実行されるが、データ・バッファへは、いずれか一方しかアクセスすることができない。したがって、符号生成と記録処理とで、交互にデータ・バッファにアクセスすることになる。符号生成と記録処理のバッファアクセス間隔が均等の間隔で発生すると考えると、記録処理において後半64フレームは、ECCバッファからECCを読み出し記録する処理となるため、記録処理の方はデータ・バッファにアクセスする必要がない。よって、符号生成に必要なバッファアクセスのみとなる。一方で、記録処理するユーザ・データの存在する前半432フレームには、記録処理、符号生成共にデータ・バッファにアクセスする必要が生じ、バッファアクセスが集中してしまうという問題点がある。
一方、ECC記録期間の後半64フレームは、1クラスタの割合としてみると約13%にとどまる。また、この約13%期間に記録されるECCデータは、9728バイト(約10Kバイト)であるのに対して、符号生成時におけるデータ・バッファに対するバッファアクセス量は、約15Kバイトである。したがって、符号生成によるデータ・バッファへのアクセスを、この後半64フレームのみに集中させるとすると、ECC9728バイトを記録する間に、符号生成のために約15Kバイトのユーザ・データを読み出すこととなる。したがって、この間のバッファアクセスが、前半432フレームよりも高負荷となり、この後半64フレームがバッファアクセスのボトルネックとなってしまい、高速記録を実現できない(図37)。
また、ECC記録期間の後半64フレームにおいて、符号生成で必要な15Kバイトのうち9728バイト分のみについて行うこととし、バッファアクセスしてユーザ・データを読み出すことにする。そして、残りの約5Kバイトを前半432フレームの記録用データのバッファアクセスの間に、等間隔に間引いてバッファアクセスするということも考えられる。しかしながら、符号生成と記録処理が並行動作となり、同時にバッファアクセスが必要となってしまう問題を解消できず、今度は、前半432フレーム部分のバッファアクセスが高負荷となり、やはり高速記録の弊害となる。
従って、特許文献1に記載のまま、符号生成でのバッファアクセスと記録処理でのバッファアクセスを並列で動作させた場合、又は符号生成をECC記録期間に集中して行っても、高倍速化の障害となる。
このように、Blu−Rayディスクを代表とする光ディスク記録装置分野において、データバックアップをより短時間で行う必要性に伴い高倍速記録要求の必要性が高まってきた。
本発明に係る記録装置は、第1の順序を有するユーザ・データ符号列の誤りを検出する誤り検出符号(EDC)を算出する記録装置であって、前記ユーザ・データ符号列を含むセクタを2以上有するブロックを処理単位とし、前記ブロックは、第1セクタ及び第2のセクタを有し、前記第1及び第2のセクタは、前記第1の順序で読み出した場合には前記EDCが前記ユーザ・データ符号列の最後に付加される構成を有し、前記第1のセクタは、前記第1の順序とは異なる第2の順序で読み出した場合には前記EDCが前記ユーザ・データ符号列の読み出し途中に付加される構成を有し、前記ブロックを格納したデータ・バッファから、前記第1のセクタにおいて、前記第2の順序で読み出した場合に前記EDCの後で読み出されるデータを少なくとも含む第1の領域の第1データからEDC中間値を算出する第1の演算部と、前記第1の演算部が演算に使用した前記第1データの少なくとも一部を格納するデータ・メモリと、前記ブロックから前記第1の領域の前記第1データを除いたデータを第2データとして前記データ・バッファから読み出し、当該第2データ及び前記EDC中間値に基づきEDCを算出する第2の演算部と、前記第1データ、第2データ及びEDCを統合する統合部とを有し、前記統合部は、前記第2の演算部から前記EDC及び前記第2データを受け取り、前記データ・メモリから前記第1データを受け取り、これらを統合して出力するものである。ここで、第1の順序は、例えばユーザ・データ方向の順序とすることができ、第2の順序は、例えば記録方向の順序とすることができる。
本発明に係る記録方法は、第1の順序を有するユーザ・データ符号列の誤りを検出するEDCを算出する記録方法であって、前記ユーザ・データ符号列を含むセクタを2以上有するブロックを処理単位とし、前記ブロックは、第1セクタ及び第2のセクタを有し、前記第1及び第2のセクタは、前記第1の順序で読み出した場合には前記EDCが前記ユーザ・データ符号列の最後に付加される構成を有し、前記第1のセクタは、前記第1の順序とは異なる第2の順序で読み出した場合には前記EDCが前記ユーザ・データ符号列の読み出し途中に付加される構成を有し、前記ブロックを格納したデータ・バッファから、前記第1のセクタにおいて、前記第2の順序で読み出した場合に前記EDCの後で読み出されるデータを少なくとも含む第1の領域の第1データからEDC中間値を算出し、前記ブロックから前記第1の領域の前記第1データを除いたデータを第2データとして前記データ・バッファから読み出し、当該第2データ及び前記第1のEDC中間値に基づきEDCを算出し、前記第2の演算部から前記EDC及び前記第2データを受け取り、前記第1の演算部が演算に使用した前記第1データの少なくとも一部を保存するデータ・メモリから前記第1メインデータを受け取り、これらを統合して出力するものである。
本発明においては、符号生成により、第1メインデータからEDC中間値を求めると共に、その少なくとも一部をデータ・メモリに保存する。そして、記録処理で処理単位であるブロック全部のユーザ・データを読み出すことなく、データ・メモリに保存したデータを再利用することで、データ・バッファへのアクセス量を低減することができる。
本発明によれば、高速記録を可能とする記録装置、及び記録方法を提供することができる。
ブルーレイディスクにおけるLDCブロックのバイト単位のデータの並び順を説明する図である 2つのセクタSec0、Sec1を拡大して示す図である。 参照例2記載の記録装置を示す図である。 本実施の形態にかかる記録装置の概略を示す図である。 参照例2において符号生成時にアクセスするデータを示す図である。 本発明の実施の形態1において符号生成時にアクセスするデータを示す図である。 参照例2において記録処理時にアクセスするデータを示す図である。 本発明の実施の形態1において記録処理時にアクセスするデータを示す図である。 参照例2及び本実施の形態におけるデータ・バッファに対するデータアクセスのタイミングチャートを示す。 行R1、R2、Pバイト、を説明する図である。 転送ブロックを説明する図である。 本発明の実施の形態1におけるデータ・バッファ10からデータを読み出す順序Aを説明する図である。 本発明の実施の形態1におけるデータ・バッファ10からデータを読み出す順序Bを説明する図である。 本発明の実施の形態1におけるデータ・バッファ10からデータを読み出す順序Cを説明する図である。 EDCを生成する32ビットシフト・レジスタを示す図である。 上記概念を説明するための図である。 期待値生成方法を示すフローチャートである。 期待値更新ローテーション回路を示す図である。 ユーザ・データと初期期待値の関係を示す図である。 ケース1〜3を説明するための図である。 Row=0、152のときの期待値(EDC期待値テーブル1、2)を示す図である。 ケース1のR1、R2を説明するための図である。 本発明の実施の形態の符号生成を示すフローチャート、 符号生成1の処理を示すフローチャート、 符号生成1Aの処理を示すフローチャートである。 符号生成2の処理を示すフローチャート、 符号生成2Bの処理を示すフローチャートである。 記録処理を示すフローチャートである。 EDC生成処理を示すフローチャートである。 EDC生成ブロック20及びその周辺回路を示す図である。 本発明の実施の形態2にかかる記録装置を示す図である。 本発明の実施の形態2において、符号生成時に読み出す領域Aのユーザ・データを示す図である。 本発明の実施の形態2において、記録処理時に読み出す領域Cのユーザ・データを示す図である。 本発明の実施の形態1にかかる記録装置のタイミングチャートを示す図である。 特許文献1に記載のBlu−Rayディスク記録装置である。 参照例2において、パス1、2に使用されるユーザ・データを説明するための図である。 特許文献1に記載の記録装置のタイミングチャートである。 記録装置のタイミングチャートの他の例を示す図である。
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、従来技術の課題であった、データ・バッファに対するバッファアクセスの集中により帯域が不足する問題に対して、符号生成時に取得したデータを保存し、記録時に再利用することで、Blu−Ray規格データを高倍速化記録することができる光ディスク記録装置に適用したものである。
なお、以下の説明においては、Blu−Ray規格に準拠したデータを記録する記録装置について説明するが、本発明は、Blue−Ray規格に限らず、記録方向とユーザ・データ方向が異なるようなデータ記録装置に適用することができる。
図1は、ブルーレイディスクにおけるデータ・ブロックのバイト単位のデータの並び順を説明する図である。また、図2は、2つのセクタSec0、Sec1を拡大して示す図である。図中に示す数値は、バイト単位のユーザ・データ方向Qの順を示す。データ・ブロックは、304列216行からなる。データ・ブロックは、32個のセクタにより構成される。1つのセクタは、2048bytesのユーザ・データに4bytesのEDCが付加された2052バイトのデータからなる。
各セクタは、列方向に216バイトのデータが折り返し304列並べられたブロックデータとなっている。Row(0≦Row≦215)を行番号、Column(0≦Column≦303)を列番号とすると、例えばセクタSec0においては、Column=9は、Q=1944〜2051のバイトデータとなり、Row=107までとなる。Row=108〜215は次のセクタSec1のQ=0〜107のバイトデータが配置される。このように、データ・ブロックは、偶数番目(0を含む)のセクタ(偶数セクタ)と奇数番目のセクタ(奇数セクタ)とを1つの単位(以下、エリアともいう)、すなわち、19列からなる2つのセクタからなるエリア毎に同じ順序で繰り返し配置されている。
セクタSec0〜セクタSec31は、図1及び図2に示すユーザ・データ方向Qの順序に所定の演算を施すことでEDCが付加され、スクランブルされた後、変調等が施されてディスクに記録されるが、この記録の際には、データ・ブロックは、図1中に矢印で示すレコーディング・フレーム方向Pの順に記録されることとなり、ユーザ・データ方向Qの列方向とは直交する方向となる。ユーザ・データ方向Qは、ブルーレイディスクにおけるEDC付加の際の処理順序及びスクランブル処理の際のエンコード処理順序の方向となっている。なお、後述するように、ユーザ・データとEDCとを別々にスクランブルしてから統合するようにすることも可能である。
上述したように、ブルーレイディスクでは、レコーディング・フレーム方向Pの順にデータが記録されるため、変調前までにエンコードの処理順序のユーザ・データ方向Qの順のデータをレコーディング・フレーム方向Pの順に並び変える必要がある。そこで、エンコードをレコーディング・フレーム方向Pの順に実行しようとすると、図1に示すように、EDCは偶数セクタにおいては、全セクタのユーザ・データを読み出す前にEDCを付加する構成となっており、EDCはセクタの全ユーザ・データから算出されるものであるためEDCを算出することができず、よってEDCを付加したデータを生成することができない。
したがってこのブルーレイディスクのように、ユーザ・データの並び順(通常の符号化順序)であるユーザ・データ方向Qと、ディスクのデータ記録順序であるレコーディング・フレーム方向Pとが異なる場合には、通常であれば、予めEDC等の演算をし、EDCを付加してからデータを並べ直し記録する必要がある。このような場合、通常はEDC付加後のデータを一旦データ・バッファに格納することでデータの並び替えを可能とするが、高速動作を可能とするためには、このデータ・バッファを高価なSRAMにて構成する必要があり、現実的ではなかった。
これに対し、本願発明者等は先に出願した特開2006−244631号公報(以下、参照例1という。)において、1回のバースト転送等の転送サイズm×304bytes×2面(書き込み用及び読み出し用)の記憶容量を有する置き換えバッファ、ECCパリティを一時保持するECCバッファ(9728bytes×2面)、EDCコードを一時保持するEDCバッファ(4bytes×32×2面)、スクランブル・バッファ(38bytes×2面)を設け、ユーザ・データ方向Qでのエンコードで得られるEDC、スクランブル中間値、及びECCを予め一時保持しておく処理(パスS1')と、データ・バッファからユーザ・データを繰り返しバースト転送しながらユーザ・データにEDCを付加してスクランブルする処理(パスS2')とにより置き換えバッファに対する高速データ転送を可能とする発明を開示している。
上記参照例1においては、置き換えバッファをリフレッシュ動作が不要であってランダムアクセスが可能なメモリから構成することで、データ・バッファからバースト転送により得た連続したデータをレコーディング・フレーム方向Pの順に高速置き換えが可能となる。この場合、置き換えバッファは、データ・バッファの記憶容量より小さい容量としても、パスS1'にて演算し保持されているEDC、スクランブル中間値、及びECCを使用して演算結果を使用することで、レコーディング・フレーム方向Pの順に置き換えられたデータに対しスクランブル処理を実行することができる。
そして、このことにより、従来では、高価なSRAMなどの高速にランダムアクセス可能な一時記憶装置をデータ・バッファとして使用しない限り高倍速記録でのエンコード処理を実現できなかったのに対し、上記発明においては、データ・バッファとして高速ランダムアクセスには不向きな安価なSDRAM(Synchronous Dynamic Random Access Memory)等を用いながらも、比較的小規模な回路の追加によって低コストなエンコード処理を可能とするものである。
ここで、データ・バッファには、1クラスタのエンコードに対して、符号化のため及び並び替えのために2クラスタ分のデータを読み込む必要がある。レコーディング・フレーム方向Pにて記録するためには、EDC生成のためだけに予めユーザ・データ方向Qに1クラスタ分のデータ(2048byte×32セクタ)を読み込む必要があり、データ・バッファに対する絶対アクセスの増加により消費電力が増大する。
これに対し、特許文献1(以下、参照例2という。)では、符号生成時のデータ・バッファのアクセスを0.25クラスタ分とし、データ・バッファへのアクセスを、本来であれば2クラスタ分必要であるものを、全体で1.25クラスタ分としている。こうしてエンコードのボトルネックとなり得るデータ・バッファアクセスを低減することで、高倍速エンコードを実現し、消費電力を抑えることができる。
これに対し、本実施の形態においては、符号生成のためのバッファアクセスと、記録処理のためのバッファアクセスとが同期間中に発生させないようにすることで、データ・バッファに対するアクセス集中を解決するものである。
上述したように、参照例2は、Blu−Ray規格データの1記録単位のデータ(クラスタ)を光ディスクに書き込む際に、集中してバッファアクセスしてしまい、高倍速記録の際に、データ・バッファからのデータ読み出しが期間内に間に合わないという問題点があった。その理由としては、符号生成と記録処理が並列に動作するため、いずれの処理にもデータ・バッファにアクセスしなければならない。さらに、データ記録は前半432フレームに集中するため、前半432フレーム間に符号生成をしても、後半64フレーム間に符号生成をしても、バッファアクセスが間に合わないためである。
そこで、本実施の形態においては、ユーザ・データ方向と記録方向が異なるデータを光ディスクに記録する装置において、符号生成時に取得したデータをデータ・メモリに保存し、且つ、記録時に該当するデータが当該データ・メモリに保存されている場合はそのデータ・メモリからデータを取得し、データ・バッファにはバッファアクセスを行わないこと、さらにECC記録期間中にEDC中間値を生成することで、バッファアクセス集中を低減して高倍速記録を可能とする。
〔本実施の形態と参照例2との比較〕
以下、本実施の形態の理解を容易とするため、参照例2にかかる記録装置と本実施の形態とを比較しつつ説明する。参照例2においては、EDC中間値生成のためのバッファアクセスとユーザ・データ記録処理のためのバッファアクセスが並行して行われるため、その2つの処理が集中するユーザ・データ記録期間がデータトラフィックのボトルネックとなり、高倍速化の障害となっていた。図3は、参照例2記載の記録装置、図4は、本実施の形態にかかる記録装置の概略を示す図である。図5は、参照例2において符号生成時にアクセスするデータ、図6は、本実施の形態において符号生成時にアクセスするデータを示す図である。また、図7、参照例2において記録処理時にアクセスするデータ、図8は、本実施の形態において記録処理時にアクセスするデータを示す図である。図9は、参照例2及び本実施の形態におけるデータ・バッファに対するデータアクセスのタイミングチャートを示す。
なお、エンコーダから記録部にかけての処理は参照例2及び本実施の形態は同一の処理を行う。すなわち、エンコーダ124、24は、EDCが付加されたユーザ・データをスクランブルする。そして、スクランブルしたスクランブル済データ(以下、記録データという。)を置き換えバッファ28、128に出力する。また、エンコーダ124、24は、誤り検出符号付きのデータをスクランブルした後にECCを生成し、ECCバッファに保存する。そして、ECC及び記録データは、変調回路30、130においてBISコードと統合され、更に1−7PP変調が施され、その後、記録部32、132により、ディスク34、134に記録される。
参照例2にかかる記録装置101は、データ・バッファ110、チャネル1(112)、チャネル2(114)、EDC生成ブロック120、統合部122を有する。参照例2における記録装置101においては、符号生成は、チャネル1(112)により、図5の網掛け部分に示す偶数セクタの一部のデータを読み出してEDC中間値を生成し、記録処理時にチャネル2(114)により、図7の網掛け部分に示すブロックの全データを読み出し、EDC中間値よりEDCを生成しつつ、データを記録する。この場合、符号処理に必要なデータを、データ・バッファから、記録期間中、均等の割合で分割して読みだす場合(図9(a)、又は、ECC記録期間中は、データ・バッファにアクセスがないことから、ECC記録期間中に、ECCの記録量と同じ量の約10Kバイトのデータを、データ・バッファから読み出し、残りのユーザ・データを、ユーザ・データ記録期間中、均等の割合で分割して読み出す場合(図9(b))とが考えられる。しかしながら、図9(a)の場合であっても、図9(b)の場合であっても、符号処理がデータ・バッファからデータを読み出す間は、ECC記録期間中は、ユーザ・データ記録処理と重複してデータ・バッファにアクセスすることとなり、結局所定時間内に記録処理、符号処理が行えなくなるという問題点がある。
これに対し、本実施の形態の光ディスク記録装置1は、データ・バッファ10、チャネル1(12)、チャネル2(14)、データ制御部16、データ・メモリ18、EDC生成ブロック20及び統合部22から構成される。さらに、エンコーダ24、ECCバッファ26、置き換えバッファ28、変調回路30、及びディスク34にデータを記録する記録部32を有する。ここで、本実施の形態においては、図6に示す領域A、領域Bを符号生成時に使用する。また、図8に示す領域Cを記録生成時に使用する。
データ・バッファ10は、ユーザ・データを記録するデータを保存しておくバッファで、例えばバースト転送が可能なSDRAMからなる。チャネル1(12)はデータ・バッファ10から領域Bのデータを取得する。チャネル2(14)は、データ・バッファから領域A、領域Cのデータを取得する。データ制御部16は、EDC中間値生成及び記録処理のためのデータ取得に関する制御を行う。データ・メモリ18は、領域Aのデータを保存し、記録データとして統合部22に出力する。EDC生成ブロック20は、領域Cのデータと領域BのデータからEDC中間値を生成し、このEDC中間値と領域CのデータからEDCを生成する。統合部24は、記録するデータのデータ領域毎に、取得先をEDC生成ブロック20、データ・メモリ18又はデータ制御部16のいずれかを選択し、エンコーダ24に出力する。
ここでは、説明の簡単のため、図5、図6に示すように、符号生成時(EDC中間値生成時)にアクセスするユーザ・データ量は参照例2にかかる記録装置101も、本実施の形態にかかる記録装置101も同様とする。ただし、本実施の形態においては、EDC中間値生成時に読み出すデータを、領域Aのデータと領域Bのデータに分ける。そして、本実施の形態においては、EDC中間値生成時に読み出すデータのうち、領域Aのデータをデータ・メモリ18に保存する。そして、この領域Aのデータを記録時に流用する。したがって、記録時に領域Aのデータをデータ・バッファ10から読み出す必要がなくなる。さらに、EDC中間値生成時に必要な領域Bのデータは、記録処理がECCを記録している期間内(データ・バッファにアクセスしない期間)にデータ・バッファ10にアクセスして読み出す。
一方、図9に示すように、参照例2におけるデータ・バッファ110に対するアクセス方法としては、以下の2通りが考えられる。1つは、符号生成時に必要な図5に示すデータを分割し、ユーザ・データ記録期間及びECC記録期間において、均等にデータ・バッファ110にアクセスする。したがって、例えば、ユーザ・データ記録期間には、符号生成には13Kバイトのデータアクセスが必要であり、記録処理には64Kバイトのデータアクセスが必要となり、合わせて74Kバイトのデータアクセスが必要となる。
もう一つの方法としては、ECC記録期間中は、データ・バッファ110に対するアクセスが行われないため、この期間に符号生成のための13Kバイトのうち、ECCと同数のデータ量である約10Kバイトを読み出し、ユーザ・データ記録期間に残りの5Kバイトをアクセスする方法である。この場合は、残りの5Kバイトについては、データ記録のためのバッファアクセスと符号生成のためのバッファアクセスが同時期に発生する。
これに対し、本実施の形態においては、符号生成において、領域Bの読み出しは、記録処理においてデータ・バッファアクセスがないECC記録期間に行う。そして、符号生成においてさらに必要な領域Aの読み出しは、データ・バッファ10から行うが、記録処理において、やはりデータ・バッファ10のアクセスのない期間に行う。つまり、領域Cの読み出しにおいて、領域Aに該当する部分は、データ・メモリ18に格納されているため、記録処理において読み出す領域Cのデータのうち、領域Aに該当するデータは、データ・メモリ18から読み出す。よって、記録処理において、領域Aのデータ獲得の際には、データ・バッファ10にアクセスする必要がない。よって、符号生成における領域Aのアクセス時には、チャネル2の記録処理で用いるデータ転送は停止している。このように、本実施の形態においては、符号生成と記録処理で、データ・バッファ10へのアクセスが並列動作する(同時期に発生する)ことがなくなる。そのため、ユーザ・データ記録期間において記録するデータ量と、記録処理及び符号生成にバッファアクセスして取得するデータとは同一となり、64Kバイトとなる。このように、データ・バッファ10へのアクセスが排他的に発生するため、ユーザ・データ記録期間中にもバッファアクセスが集中することがなくなり、高倍速化対応が可能となる。
このように、参照例2においては、ユーザ・データ記録期間にデータ・バッファから読みださなければならないユーザ・データが77Kバイトであったのに対し、本実実施の形態においては、この期間にデータ・バッファ10から読み出しが必要なユーザ・データは64バイトに低減される。これにより、高速記録時にバッファアクセスが間に合わなくなるという参照例2にかかる課題を解決することができる。
次に、本実施の形態について更に詳細に説明する。先ず、本実施の形態におけるデータの方向性に関する定義を以下に示す。図10は、行R1、R2、Pバイト、を説明する図である。図11は、転送ブロックを説明する図である。
〔行R1とR2の定義〕
Blu−Ray規格データ(LDC BLOCK)において、R1は、最初の行(0行目)から108行目までの任意の行(0〜108行の合計109行のうちの任意の行)とする。R2は、R1から最終行までの任意の行とする。R1からR2はPバイト離れているとする。
つまり、R1は行0から行108のいずれかの行、R2は行0から行215のいずれかの行、R1≦R2、Pは0から215までの整数(最小0バイト、最大216バイト)である。
〔転送ブロックの定義〕
Blu−Ray規格データ(LDCブロック)の最初の行から最終行までをKバイトで分割したデータ郡を転送ブロックと定義する。転送ブロックは行昇順の方向に昇順とする。Kは、216を割り切れる4から216までの整数とする。この転送ブロックが置き換えバッファ28の大きさの単位となる。置き換えバッファ28は、転送ブロック2面分の容量を少なくとも有するSRAM等からなり、1つの転送ブロックが書き込まれると、データ記録順序であるレコーディング・フレーム方向Pにデータが読みだされて変調回路30に入力される。この置き換えバッファ28によってレコーディング・フレーム方向Pにデータ順が置き換えられるため、本実施の形態においても、記録処理は、この転送ブロックの大きさを基準に行われる。
図12乃至図14は、本実施の形態におけるデータ・バッファ10からデータを読み出す順序A、順序B、順序Cを説明する図である。
〔符号生成における順序Aのデータ〕
図12に示すように、LDCブロックのうち、偶数セクタであって、行R2から最終行までの領域を領域Aとする。順序Aは、ブロック昇順、ブロック内は、列昇順、列内は行昇順の順序で、領域Aのデータをデータ・バッファ10から読み出す際には、順番Aで読み出す。
〔符号生成における順序Bのデータ〕
図13に示すように、LDCブロックのうち、偶数セクタであって、行R1からR2の1つ前までの領域を領域Bとする。順序Bは、列昇順、列内は行昇順の順序であり、領域Bのデータをデータ・バッファ10から読み出す際には、順番Bで読み出す。
ただし、後述の実施の形態2のように、R1=R2である場合は、領域Bのデータは存在せず、領域Bのデータを参照して行われる処理も存在しなくなる。また、領域Bのデータは、EDC中間値を生成するためのみに使用されるデータであり、保存する必要がないので、上記順序Bに限らず、例えば順序Aと同様の順序であってもよい。
〔記録処理における順序Cのデータ〕
図14に示すように、LDCブロックのうち、先頭0行からR2の1つ前の行までは、ブロック昇順、ブロック内は列昇順、列内は行昇順とする。また、LDCブロックの奇数セクタの行R2から最終行までは、ブロック昇順、ブロック内は列昇順、列内は行昇順の順番でデータ・バッファ10から読み出す。この順序を順序Cとし、順序Cで読み出すユーザ・データの領域を領域Cとする。領域Cは、LDCブロックから領域Aのデータを除いた領域である。順序Aと同様の順序である。
〔EDC生成の原理〕
次に、EDCの生成方法について説明する。ブルーレイディスクにおいては、2048バイト(16384ビット)のユーザ・データに対し4バイト(32ビット)のEDCを付加する。32ビットのEDCは、2048バイトのユーザ・データに4バイトの0データを付加した符号列D(x)を下記の生成多項式で除算することで求めることができる。
G(x)=X32+X31+X+1
2048バイトのユーザ・データをI(x)とすると、これに付加される誤り検出符号EDC(x)は下記で表される。
EDC(x)=Σb・X=I(x)modG(x)(Σ:t=31〜0)
ただし、I(x)=Σb・XtandG(x)(Σ:t=16415〜32)
この結果、誤り検出符号EDC(x)を付加した符号列D(x)は、下記で表現することができる。
D(x)=I(x)+EDC(x)
ここで、+は排他的論理和を示す。
上記の誤り検出符号EDC(x)は、符号列I(x)を図15に示す32ビットシフト・レジスタ150に入力することで得ることができる。符号列D(x)の全符号を入力し終えた後の32ビットシフト・レジスタ値が誤り検出符号EDC(x)(=0)となる。なお、本実施の形態においては、ユーザ・データ方向Qのビット順序をqとし、q=b00000,b00001,・・・,b16415、t=16415−qと表すこととする。
ここで、誤り検出符号E(x)は、入力される符号列D(x)において、符号が「1」であるビットに対応するXmodG(x)の排他的論理和を求めることで算出することができる。XmodG(x)は、k=16416ビットの符号列D(x)の(16415−q)(=t)次以外を0にした符号列d(x)をG(x)で除算した余剰を示す。
図16は、上記概念を説明するための図である。kビットの符号列D(x)の各ビットが全て「1」の符号列{111・・・1}を基礎の符号列D'(x)とする。この符号列D'(x)を図15に示すシフト・レジスタ50に入力して得られる32ビットシフト・レジスタ値は、符号列D'(x)の誤り検出符号E'(x)となる。本実施の形態においては、k=2052×8=16416ビットの符号列D'(x)である。
まず、基礎の符号列D'(x)を図16に示すようなk個の符号列(以下、この符号列を期待値算出用符号列という。)d(x)とする。すなわち、各期待値算出用符号列d(x)16415〜0は、それぞれqに対応するビットのみが「1」、その他の全ビットが0である符号列である。具体的には、q=b00000には、最上位ビットのみが「1」の符号列d(x)16415={100・・・0}が対応し、q=b00001には、2ビット目のみが「1」の符号列d(x)16414={010・・・0}が対応する。同様に、q=b16415には、最下位のビットのみが「1」の符号列d(x)={000・・・1}が対応する。これら各期待値算出用符号列d(x)をシフト・レジスタ50に入力すると32ビットシフト・レジスタ値XmodG(x)を得ることができる。
すなわち、期待値算出用符号列d(x)をG(x)で除算した余剰、すなわち誤り検出値がXmodG(x)となる。この余剰XmodG(x)を本明細書においては期待値ということとする。この期待値XmodG(x)は、元の符号列D(x)のビット順序qに対応するビットデータのみが誤った場合のシンドローム値を示す。
ここで、符号列D'(x)をシフト・レジスタ50に入力して得られる32ビットシフト・レジスタ値(誤り検出符号E'(x))は、各期待値算出用符号列d(x)をシフト・レジスタ50に入力して得られる32ビットシフト・レジスタ値(期待値XmodG(x)=R)の全てを排他的論理和したものとなる。ここで、領域Aのユーザ・データの各ビットに対応する期待値の排他的論理和をEDC中間値1、領域A及び領域Bのユーザ・データの各ビットに対応する期待値の全排他的論理和をEDC中間値2という。特に、どのデータに対応する期待値の排他的論理和かを区別する必要がない場合、これら期待値の排他的論理和をEDC中間値というこことする。本実施の形態においては、領域A、BからEDC中間値2を求めておき、記録処理時に残りの期待値を求め、排他的論理和をとり、EDCを求める。
すなわち、誤り検出符号E(x)は、符号列D(x)のうち、符号が「1」のビット順序qに対応する期待値XmodG(x)の全ての排他的論理和として求めることができる。よって、符号列と同一ビット数のビットデータからなり、符号列と同一のビット順序を対応付けたとき、各ビット順序に対応するビットのみが「1」、その他のビットが全て「0」とされた期待値算出用符号列d(x)を用意し、その期待値算出用符号列d(x)をシフト・レジスタ50に入力して得られる上記期待値(シンドローム値)を、符号列D(x)の各ビット数に対応する数、本実施の形態においては、k=16416個の期待値を保持又は算出することができれば、これを使用して入力される符号列D(x)の各ビットのうち符号が「1」のビットの期待値全ての排他的論理和(=EDC)を求めることができる。よって、シフト・レジスタ50に符号列D(x)を入力する必要がない。すなわち符号列の各ビットに対応する期待値さえ分かれば、符号列D(x)の誤り検出符号E(x)は、ユーザ・データ方向Qと異なる順序で演算しても算出することができる。
データは、データ・ブロック単位で処理されるが、データ・ブロックはセクタ(符号列D(x))を32個配置したものであり、誤り検出値E(x)は、符号列D(x)毎に算出されるため、一のデータ・ブロックから32の誤り検出値E(x)が求められる。
上記期待値について具体的に説明する。図15に示すように、例えば、シフト・レジスタ50に入力する符号列D(x)=Xとし、Xは、ユーザ・データ方向Qの順において109番目のバイト(Q=D00108)の最上位ビット(q=b00864)に入力するデータのみが「1」、その他は全て「0」であるとする。すなわち、符号列Xは、16416ビットのうち、15552次のデータのみが「1」(B00864=1)で、その他の値は全て「0」であるとする。
この場合、符号列Xを32ビットシフト・レジスタ150に入力した結果は、シフト・レジスタ50の値を「00000001h」に初期化し、これを15552回シフトした値を求めることで得られる。
EDCを算出するためには、符号列を構成するビットデータが「1」であるもののXmodG(x)の排他的論理和のみを演算すればよく、XmodG(x)の排他的論理和を演算することができれば、符号列D(x)の32ビットシフト・レジスタ値である誤り検出値E(x)を求めることができる。
図17は、期待値生成方法を示すフローチャートである。図17に示すように、シフト・レジスタ50を初期化(=0)しする(ステップS1)。そして、16415ビットからなる期待値算出用符号列d(x)を用意し、これをシフト・レジスタ50に入力する。シフト・レジスタ50のローテーションを16416ビット分繰り返し(ステップS3、4)、その32ビットのレジスタ値が目的の期待値(32ビット)となる(ステップS5)。
ところで、各ビットデータに対応する期待値を全て保持すれば、いかなる場合においてもEDCを算出することができるが、ユーザ・データと同じ数の期待値を保持しておくのは現実的ではない。そこで、保存するデータ量をできるだけ少なくするため、セクタ0、1からなるエリアArea0におけるRow=0に対応する合計19個の期待値について考える。ブルーレイディスクにおいては、ユーザ・データ方向Qの順で見たとき、データ・ブロックは、セクタ0、1からなる1組のデータセット(19列からなるデータセット)が16並んだ規則性を有する構成となっている。すなわち全てのエリアがユーザ・データ方向Qの同一ビット順序を有する。よって、Row=0のMSBのみを「1」、他を「0」とした19個の期待値算出用符号列から、論理的には全ての期待値を容易に算出することができる。本実施の形態においては、この19の期待値を初期期待値ということとする。また、偶数セクタ及び奇数セクタからなるエリア内の列番号をM(0≦M≦18)とする。
すなわち、ユーザ・データ方向Q(1〜2048)が同じユーザ・データの各ビットに対応する期待値は、同一となる。EDCは、ユーザ・データが「1」である場合の期待値のみの全排他的論理和である。ここで、2つのセクタからなるエリアは、LCDブロックには16個含まれているが、各エリア内の同一位置のビットに対する期待値は同一となる。図18は、期待値更新回路を示す図である。エリア内行昇順として最初の1ビット目は上記の初期期待値が対応する。次の期待値は、初期期待値を、この期待値更新回路で1ビット分シフトした値となる。よって、初期期待値をこのレジスタ(期待値更新回路)にセットし、0を1ビット入力すると、次のビットに対応する期待値が得られる。エリア内順に期待値を求める場合は、この期待値更新回路に順次0を入力し、シフトするのみでよい。
また、Row=108の列の0〜18列のユーザ・データは、ユーザ・データ方向Qで見たとき、Row=0の列10〜18と、列0〜9と一致する。図19は、ユーザ・データと初期期待値の関係を示す図である。このように、Row=108から期待値を求める場合も、上述の初期期待値を使用することができる。その他の行から期待値を算出する場合は、予め、該当する行の最上位ビットの期待値を記録したEDC期待値テーブルが必要となる。本実施の形態においては、R1、R2の位置に応じて、3つのケースに分類することとする。図20は、ケース1〜3を説明するための図である。なお、以下のケース1については、R1<R2の場合について説明するが、R1=R2としてもよい。その場合、EDC期待値テーブルが1つ少なくてすむ。
〔ケース1〕
ケース1は、図20(a)に示すように、R1が108行目となり、R2が、行109以降となるものである。すなわち、領域Aは、R1=108から開始し、R2の1つ手前の行までとなる。よって、上述したように、領域Bの読み出しの際には、初期期待値を使用することができる。例えばR2=152とした場合は、Row=152のMSBのみを「1」、他を「0」としたときの19個の期待値算出用符号列から19個の期待値を求めておけばよい。なお、R=152の初期期待値を予め計算したものを保持していてもよいし、R=108の初期期待値から、R=152の初期期待値を求めるようにしてもよい。すなわち、データ制御部16がEDC生成ブロック20に送る初期EDC期待値テーブルのうち、行0以外のものは、予め計算した値を持っていてもよいし、行0のものから更新して求めてもよい。図21は、Row=0、152のときの期待値(Row=0のとき、EDC期待値テーブル1、Row=152のとき、EDC期待値テーブル2)を示す図である。なお、領域Cは、Row=0から読み出すので、EDC期待値テーブル1(初期EDC期待値テーブル)を使用することができる。
〔ケース2〕
次に、R1、R2ともに、Row=0、108に一致しない場合である。0<R1<108であり、108<R2<215の場合である。よって、領域A、領域Bは共に、0、108以外の任意の行から始まるので、領域A、領域Cの最初のビットに対応する19個の期待値セットがそれぞれ必要となる。よって、各3つの領域についてEDC期待値テーブルが必要になる。
〔ケース3〕
ケース3は、R1、R2とも、Row=0、108ではなく、かつ0<R1、R2<108、R1≠R2の場合である。この場合も、領域A、領域BはEDC期待値テーブルが必要となるため、3つのEDC期待値テーブルが必要となる。
このように、R1、R2は任意の行であるため、該当する行に対するEDC期待値テーブルは、通常は領域毎に、したがって3つ必要となる。ただし、ケース1は、R1の行に対するEDC期待値テーブル1を再利用できるので、EDC期待値テーブル1とEDC期待値テーブル2だけを用意すればよいことになる。なお、R1、R2は各転送ブロックの先頭に必ず位置するわけではなく、いずれの行であってもよい。
ここで、本実施の形態は、ケース1として説明する。すなわち、R1=108、R2=152の場合について説明する。なお、R1=108というのは、符号生成で読み出すデータ(領域A、領域B)のデータ量が最少の場合である。ここで、領域Aについては、データ・メモリ18に記録して、記録処理で再利用する。よって、データ・メモリ18をSRAMで構成することとする。なお、データ・メモリ18をSDRAMで構成し、バースト転送を使用すれば、高速記録に対応することができる。図22は、ケース1のR1、R2を説明するための図である。以下の実施の形態においては、R2は転送ブロックの途中にあり、先頭バイトからKバイト目がR2となっており、R2から転送ブロックの最終バイトまでがLバイトとなっている。
〔記録装置の動作〕
次に、本実施の形態にかかる記録装置の動作について説明する。図23は、本実施の形態の符号生成を示すフローチャート、図24は、符号生成1の処理を示すフローチャート、図25は、符号生成1Aの処理を示すフローチャートである。
本実施の形態にかかる記録装置は、符号生成と記録処理とをパラレルに実行する。すなわち、クラスタNの記録処理を行う間、クラスタN+1の符号生成を行う。
〔符号生成の動作〕
符号生成では、EDC中間値1を生成する処理(以下、符号生成1という。)を実行した後に、EDC中間値2を生成する処理(以下、符号生成2という。)を実行する。ここで、EDCバッファ211は、面F、Jの少なくとも2面の記憶領域を有するものとする。
符号生成1では、先ず、EDCバッファ面をFに指定し(ステップS100)、初期化(0クリア)を行う(ステップS101)。その後、領域Aのユーザ・データからEDC中間地1を生成するための処理(符号生成1A処理)を、データ・バッファ10の領域Aのユーザ・データに対して実行する(ステップS102、S103)。
符号生成1Aでは、現在のセクタに対応するEDCバッファ211の格納領域から値(初回は全て0の符号)を読み出す(ステップS10200)。一方、データ制御部16は、データ・バッファ10の領域Aからデータを順序Aで取得する(S10201)。そして、取得データに従って、EDCバッファの対応する格納領域の値と期待値の排他的論理和を求めることでEDC中間値を更新し、また期待値を更新する(S10202)。領域Aのユーザ・データが全部入力し終わった時には、EDC中間値1が求まっており、これをEDCバッファ211の現在のセクタに対応する格納領域に保存する(S10203)。
具体的な符号生成1A処理は以下の通りである。先ず、データ制御部16は、データ・メモリ18に空き領域があることを確認する。確認したら、データ・バッファ10より、チャネル2(14)を介してクラスタNの領域Aのデータを順序Aで取得する。これをEDC生成ブロック20に送ると共に、データ・メモリ18の空き領域に保存する。EDC生成ブロック20は、データ制御部16から得たクラスタNの領域Aのデータのそれぞれのビット順序qに対応する期待値を求め、各期待値の排他的論理和を求め、最終的には、EDC中間値1を得る。
図26は、符号生成2の処理を示すフローチャート、図27は、符号生成2Bの処理を示すフローチャートである。図26に示すように、符号生成2では、EDCバッファ211の面をFに指定し(ステップS200)、領域Bのユーザ・データからEDC生成ブロック20がEDC中間値2を生成するための処理(符号生成2B処理)(ステップS201)を、データ・バッファ10の領域Bの全てのデータに対して行う(ステップS202)。
図27に示すように、符号生成2Bでは、現在のセクタに対応するEDCバッファ211の格納領域から値(初回はEDC中間値1)を取得する(ステップS20100)。一方、データ制御部16は、データ・バッファ10の領域Bから1セクタ分のデータを順序Bで取得する(ステップS20201)。そして、取得データに従って、EDCバッファの対応する格納領域に格納されているEDC中間値と期待値の排他的論理和を求めることでEDC中間値を更新し、また期待値も更新する(ステップS20202)。領域Bのユーザ・データが全部入力し終わった時には、EDC中間値2が求まっており、これをEDCバッファ211の現在のセクタに対応する格納領域に保存する(ステップS20203)。
具体的な符号生成2B処理は以下の通りである。領域Aに対応するユーザ・データの取得が終了したら、次に、データ制御部16は、データ・バッファ10より、チャネル1(12)を使用し、クラスタNの領域Bのデータを順序Bで取得し、EDC生成ブロック20に送る。なお、領域Bのユーザ・データは保存せず、EDC中間値2の生成のみに使用する。EDC生成ブロック20は、EDC中間値1と、クラスタNの領域Bのデータの各ビットに対応する期待値とから順次排他的論理和を求める。最終的には、領域A、領域Bの全データからEDC中間値2を得る。なお、EDC中間値2は、参照例2におけるEDC中間値である。以上で符号生成が終了する。記録装置は、以上の符号生成と、以下の記録処理とを並列動作で同時に行う。
〔記録処理の動作〕
図28Aは、記録処理を示すフローチャートである。図28Bは、EDC生成処理を示すフローチャートである。図28に示すように、記録処理では、データ・バッファ10から領域Cのデータを順序Cで取得し、データ・メモリ18から領域Aのデータを順序Aで取得する。したがって、取得すべきユーザ・データがデータ・バッファ10に保存されているか、データ・メモリ18に保存されているかを判定する(ステップS300)。データ・メモリ18に保存されているデータに該当した場合(ステップS300)は、データ・メモリ18から領域Aのデータを1セクタ分のデータを取得する(ステップS301)。このとき、EDCバッファ面をJに指定し(ステップS302)、同時に符号生成1Aを実行する(ステップS303)。ここでの符号生成1Aは、次クラスタの符号生成を行うためのものである。
一方、取得すべきデータがECCデータの場合(ステップS300:No)は、ECC記録期間と判定する。ECC記録期間中である場合は(ステップS310:Yes)、データ・バッファ10から領域Bのデータを順序Bで取得し、EDC中間値2を生成するため、EDC生成ブロック20に送る(ステップS311)。EDCバッファ面にFを指定し(ステップS312)、符号生成2Bを実行する(ステップS313)。ここでのEDC生成処理は、EDC中間値を順次更新し、EDCを生成するためのものである。
ECC記録期間中でない場合は(ステップS310)、読み出したデータをEDC生成ブロック20に送出し、EDC生成処理を実行する(ステップS320)。ここでの符号生成は、EDC中間値2を補正し、EDC生成するためのものである。すなわち、図28Bに示すように、EDCバッファからデータを読み出し(ステップS30100)、データ・バッファの領域Cから順序Cのデータを、領域Bを除いて取得する(ステップS30101)。そして、取得データにしたがって、EDCバッファの対応する格納領域の値と期待値との排他的論理和を求めてEDC中間値を更新するとともに、期待値を更新する(ステップS30102)。そして、全データの排他的論理和が終了した時点で、EDC中間値からEDCが得られる。得られた誤り検出符号をEDCバッファに保存する(ステップS30103)。
記録処理の具体的な動作は以下の通りである。データ制御部16は、記録処理に用いるデータとして、データ・バッファ10より、チャネル2(14)を使用してクラスタNの領域Cのデータを順序Cで取得し、EDC生成ブロック20と統合部22にそれぞれ転送する。EDC生成ブロック20は、予め生成されたEDC中間値2とクラスタNの領域C、順序CのデータからEDCを生成する。つまり、EDC中間値2に対し、まだ期待値を排他的論理和していないユーザ・データの各ビットに対応する期待値を求め、EDC期待値2との排他的論理和を求める。ここで、まだ排他的論理和を求めていない期待値とは、領域Cから領域Bを除いた領域のユーザ・データの各ビットに対応する期待値である。
統合部22は、記録するユーザ・データがデータ・メモリ18内に保存されているデータに該当する場合、すなわち、領域Aに該当するデータである場合、ユーザ・データをデータ・メモリ18から取得し、該当しない場合、すなわち領域Cに該当するデータである場合、ユーザ・データをデータ・バッファ10から取得し、さらにEDCに該当する場合は、EDC生成ブロック20のEDCバッファから取得して、エンコーダ24に出力する。
次に、データ制御部16は、統合部22がデータ・メモリ18から記録処理に用いるデータを取得する間、データ・メモリ18に空き領域があることを確認し、データ・バッファ10より、チャネル2(14)を使用して、クラスタN+1の領域Aのデータを順序Aで取得し、EDC生成ブロック20に送ると共に、データ・メモリ18の空き領域に保存する。EDC生成ブロック20は、データ制御部16から得たクラスタN+1の領域AのデータからEDC中間値1を生成する。
次に、ECC記録期間になると、データ制御部16は、データ・バッファ10より、チャネル1(12)を使用してクラスタN+1の領域Bのデータを順序Bで取得し、EDC生成ブロック20に送る。EDC生成ブロック20は、クラスタN+1の順序Bのデータの各ビットに対応する期待値を求め、これらの期待値とEDC中間値1との排他的論理和からEDC中間値2を生成する。
なお、Blu−Rayの1クラスタのデータは、64Kバイトであり、16進数では10000hバイトである。データ・バッファ10上の領域として10000hバイトを1ポインタ内のデータとして取り扱うこととする。1ポインタ内のデータには、1バイト毎にオフセットアドレスでアクセスできるものとする。
本実施の形態においては、EDC中間値1の生成時に取得したユーザ・データをデータ・メモリ18に保存し、そのデータを記録処理で再利用するため、記録処理期間中、データ・バッファ10にユーザ・データ取得のためのバッファアクセスを行わない期間が生まれる。本実施の形態においては、この期間中に、次のクラスタのEDC中間値1の生成を行う。このとき、EDC中間値1の生成のためにアクセスするデータ・バッファ10上の対象データのオフセットアドレスは、常に同一であるため、ポインタ値だけを交互に入れ替えるだけで、チャネル2(14)は、アドレス生成を統一された処理で行うことができる。
〔EDC生成ブロックの構成〕
次に、EDC生成ブロック20の構成について詳細に説明する。図29は、EDC生成ブロック20及びその周辺回路を示す図である。EDC生成ブロック20は、EDC中間値1、2等を保持するEDCバッファ211とEDCテーブル1、2を有する。また、EDC生成ブロック20は、ベース行カウンタ202、行カウンタ205、列カウンタ204、セレクタ203、210、期待値更新ローテーション回路206(図24参照)、選択器207、XOR回路208、及びセクタカウンタ209を有する。
EDCテーブル1、2は、図21に示したEDC期待値テーブル1、2であるか、又は、EDC期待値テーブル1、2からデータを読み出したテーブルである。以下、EDCテーブル201に格納されている値を初期期待値という。
ベース行カウンタ202は、転送ブロック単位の行をカウントする。転送ブロックの列幅が8バイトであれば、0→8→16→・・・のようにカウントする。行カウンタ205は、転送ブロック内の行をカウントする。転送ブロックが上記のように列幅8バイトであれば、0から7までカウントし、次にカウントする際に、ベース行カウンタ202のカウント値を読み込む。カウント値は8バイト分だが、毎回ベース行カウンタ202からの値を読み込むので、カウント値は0〜215となる。列カウンタ204は、転送ブロック(LDCブロック)の列番号をカウントする。
期待値更新ローテーション回路206は、図18に示すように、基本的には、EDC生成器と同様の構成を有する。図18に示すように、期待値更新ローテーション回路206は、32ビットのシフト・レジスタがローテーションされる構成を有する。選択器207によりデータ制御部16から供給されるユーザ・データに対応する列の32ビットの初期期待値が入力されると、これをユーザ・データ方向Qのビット順序qに対応する期待値となるよう順次シフトさせ、ローテーションさせる。
ここで、初期期待値は、行番号Row=0の最上位ビットに対応する期待値であり、行番号Row=108の最上位ビットに対応する初期期待値は、行番号Row=0の列番号Mに+10したものとなる。よって、Row=108行目のユーザ・データに対応する期待値として、期待値更新ローテーション回路206には、セレクタ203から列カウンタ204のカウント値に+10した列番号に対応する初期期待値が読み出されて供給される。
EDC中間値は、ユーザ・データが「1」のビットに対応する期待値の排他的論理和として得られるものであり、選択器207は、データ制御部16から入力されるユーザ・データが「1」の場合にのみ、期待値更新ローテーション回路206が生成した、そのユーザ・データのビット順序qに対応する期待値を出力する。また、ユーザ・データが「0」の場合は、「00000000h」を選択して出力する。
XOR回路208は、セクタカウンタ209のカウント値に応じて、セレクタ210が選択したEDCバッファ211に格納されているEDC中間値を読み出し、セレクタ210からの出力との排他的論理和を求め、セレクタ210を介して、EDCバッファ211に書き戻す。
セクタカウンタ209は、現在のユーザ・データのセクタをカウントし、初期値を0とし、セクタを更新するごとに、1ずつインクリメントするものとする。なお、領域AのデータについてのEDC中間値1を生成する間は、偶数セクタのデータのみ取り扱うので、セクタカウンタ209は、2ずつインクリメントする。
セレクタ210は、セクタカウンタ209のカウント値に応じてEDCバッファ211に格納された値(EDC中間値)を読み出し、XOR回路208に出力し、また、XOR回路208の演算結果をEDCバッファ211に書き戻す。
EDCバッファ211は、符号生成時においてはXOR回路208が順次排他的論理和を行って、求めたEDC中間値2を格納する。なお、EDCバッファ211は、記録処理時においては、XOR回路208が逐次排他的論理和を行って、求めた結果をEDCとして格納し、これを統合部22へ送る。このEDCバッファ211は、各セクタ毎に上記演算結果を格納する格納領域を有する。Blu−rayのLDCブロックは32セクタからなり、各演算結果は32ビットであるため、32ビットの格納領域を32セクタ分有するため、これに対応する保持部EDC_VALUE[0]〜EDC_VALUE[31]を有する。なお、符号生成時におけるEDCバッファ211の奇数セクタに対応する各格納領域に保存される値は0である。
セレクタ210は、セクタカウンタ209にて選択されるセクタに対応する値をEDCバッファ211から読み出しXOR回路208に送る。XOR回路208は選択器207の出力とセレクタ210からの選択値との排他的論理和を求め、その結果を再びセレクタ210へ送る。セレクタ210はこれをEDCバッファ21の対応するセクタの保存領域に書き戻す。
これにより、EDCバッファ211には、セクタ0〜31の領域A、Bの全ユーザ・データが入力し終わった時点で、偶数セクタの後半部分の領域(行番号Row=108〜215、セクタ内列番号M=0〜8)の各ユーザ・データと対応する期待値との排他的論理和を順次演算したEDC中間値2が格納されることになる。
データ制御部16は、EDC生成ブロック20にクラスタNの領域Aのデータを順序Aで転送すると共に、EDC制御部にEDCバッファ211の面0を指定する。EDC生成ブロック20からEDCテーブル201の書き換え要求がある場合、EDC期待値テーブルの値をEDCテーブル201にセットする。EDCテーブルは、各エリアに対応する期待値を保持し、エリア内列0〜18に対応して、EDC_TABLE[1]〜EDC_TABLE[18]の格納部を有する。具体的なセット方法は以下の(1)から(4)の4つの条件に従って行う。
(1)Row=0及び108の場合は、EDC_TABLE[0]からEDC_TABLE[18]にEDC期待値テーブル1[0]から[18]の値をセットする。
(2)1≦Row≦107且つ、Row=R1の場合、EDC_TABLE[0]からEDC_TABLE[9]にEDC期待値テーブル3[0]から[9]の値をセットする。
(3)1≦Row≦107且つ、Row=R2の場合、EDC_TABLE[0]からEDC_TABLE[9]にEDC期待値テーブル4[0]から[9]の値をセットする。
(4)109≦Row≦215の場合、Row=R2の場合、EDC_TABLE[10]からEDC_TABLE[18]にEDC期待値テーブル2[0]から[8]の値をセットする。
なお、(2)〜(4)は、いずれも偶数セクタのみが対象となる。なお、EDC期待値テーブル1は、初期期待値のテーブルであり、EDC期待値テーブル2は、上記条件のR2(109≦R2≦215)に対応する初期値を有するものである。また、EDC期待値テーブル3は、上記条件のR1に対応する初期値を有するものであり、EDC期待値テーブル4は、上記条件のR2(1≦R2≦107)に対応する初期値を有するものである。EDC期待値テーブル1のみ19個の期待値からなるが、EDC期待値テーブル2〜4は、9乃至10個の期待値からなる。
以降、EDC生成ブロック20は、入力されるデータに従って、EDC中間値1を生成する。この時点で、EDCバッファ211の面0にはEDC中間値1が保存される。
次に、データ制御部16は、EDC生成ブロック20にクラスタNの領域Bのデータを順序Bで転送するとともにデータ制御部16にEDCバッファ211の面0を指定する。以降、EDC生成ブロックは、入力されるデータに従って、EDC中間値2を生成する。この時点で、EDCバッファ211の面0にはEDC中間値2が保存される。
〔EDC生成ブロックの動作〕
次に、EDC生成ブロック20の動作について説明する。先ず、クラスタNの記録処理と並行して行われるクラスタN+1のEDC中間値1及びEDC中間値2の生成について説明する。データ制御部16は、データ・メモリ18に空き領域があることを確認した上で、EDC生成ブロック20にクラスタN+1の順序Aのデータを転送するとともにデータ制御部16にEDCバッファ211の面1を指定し、以降、EDC生成ブロック20は、入力されるデータに従って、EDC中間値1を生成する。この時点で、EDCバッファ211の面1にはEDC中間値1が保存される。
次に、ディスクにECCを記録するECC記録期間は、ECCバッファ26から読み出したECCを記録するため、データ・バッファ10に記録データを取得するためのアクセスがなくなる。この期間にクラスタN+1のEDC中間値2の生成を行う。
データ制御部16は、EDC生成ブロック20にクラスタN+1の順序Bのデータを転送するとともにデータ制御部16にEDCバッファ211の面1を指定する。以降、EDC生成ブロック20は、入力されるデータに従って、EDC中間値2を生成する。この時点で、EDCバッファ211の面1にはEDC中間値2が保存される。なお、ここで示したEDCバッファ211面0及び面1については、複数ある面のうちの他の面を使用しても構わない。ただし、クラスタNの符号生成で使用した面は、クラスタNの記録処理時に使用するものとする。
〔EDC中間値1、2の生成方法〕
次に、EDC中間値1、2の生成方法について詳細に説明する。
R2が転送ブロックの先頭ではなく、その途中にある場合について説明する。転送ブロック内の行R2からブロック同一、列内最後のデータまでLバイトあるものとする。EDC生成ブロック20は、セクタカウンタ209を0、列カウンタ204を0、行カウンタ205をR2、ベース行カウンタ202を行R2に初期化する。また、データ制御部16から指定されたEDCバッファ211面を全て0に初期化する。
EDC生成ブロック20は、データ制御部16に対して、行カウンタ205の値が0、108、R1及びR2のときにEDCテーブル201の書き換え要求を出す。
期待値更新ローテーション回路206がセレクタ203を介して、列カウンタ204のカウント値に対応するEDCテーブル201の保持部からEDC期待値の初期値を読み出す。具体的には、列カウンタ204のカウント値がtであれば、行カウンタ205の値≦107である場合は、EDCテーブル201の[t]から値を読み出し、行カウンタ205の値≧108である場合は、EDCテーブル201の[t+10]から値を読み出す。
EDC生成ブロック20は、クラスタNの順序Aのデータを得て、入力ビット「1」である場合は、選択器207は期待値更新ローテーション回路206の値を選択し、入力ビットが「0」である場合は00000000hをXOR回路208に出力する。セレクタ210を介して、セクタカウンタ209が示す例えばEDC_VALUE[0]の値とXOR回路208は排他的論理和を行う。すなわち、このとき、EDC_VALUE[セクタカウンタの値:0〜31]の保持部に格納されているEDC中間値を読み出す。期待値更新ローテーション回路206は、EDC期待値を更新する。同様に8ビット分の処理を実施したら、行カウンタ205を1加算する。
以上をブロック内同一列の最後データまで実施した後、列カウンタ204を1加算し、行カウンタ205にベース行カウンタ202の値をセットする。8ビット分の処理が終了し、行カウンタ205が更新される毎に行カウンタ205の値が0、108、R1及びR2であるかを確認し、条件に当てはまったら、データ制御部16に対して、EDC_TABLE書き換え要求を出す。同様に、行カウンタ205の値≦107である場合は10列分、行カウンタ205の値≧108である場合は、9列分処理した後、列カウンタ204を0とし、セクタカウンタ209を2加算する。なお、本処理と以下の処理、すなわち、領域A、Bの処理の場合は、セクタカウンタ209を2ずつインクリメントし、列カウンタ204が示すEDCtableの格納領域の値をセレクタを介して、期待値更新ローテーション回路206に読み出す。
以降、セクタカウンタ209が30、列カウンタ204が8までの処理が終了した時点で、1転送ブロック内のデータに対する処理が終了となる。このとき、列カウンタを0、セクタカウンタ209を0とし、ベース行カウンタ202にブロック内同一列の最後のデータまで処理したバイト数(LバイトかKバイト)を加算し、行カウンタ205にベース行カウンタ202の値をセットする。Kバイトとは転送ブロックの列方向のバイト幅である。
また、セクタカウンタ209が30、列カウンタが0から8までの各列のKバイト目最下位ビットに対する処理が終了した後に更新される期待値更新ローテーション回路206は、storeの指示により、EDC_TABLEの読み出した領域に書き戻す。以上の処理を順次処理し、最終ブロックまで実施し、EDC中間値1を生成する。
続いて、EDC生成ブロック20は、セクタカウンタ209を0、列カウンタ204を0、行カウンタ205をR1、ベース行カウンタ202をR1に初期化する。転送ブロック内の行R1からブロック同一、列内最後のデータまでPバイトあるものとする。
EDC生成ブロック20は、データ制御部16に対して、行カウンタ205の値が0、108、R1及びR2のときにEDC_TABLE書き換え要求を出す。
期待値更新ローテーション回路206がセレクタ203を介して、列カウンタ204の値に対応するEDC_TABLEのEDC期待値の初期値を読み出す。このとき、列カウンタ204の値≦107である場合は、EDC_TABLE[Column]から値を読み出し、列カウンタ204の値≧108である場合は、EDC_TABLE[Column+10]から値を読み出す。ここで、[Column]は、列カウンタの値を示す。EDC_TABLE[Column]は、EDC_TABLEの列番号に対応する位置に格納された値、EDC_TABLE[Column+10]は、EDC_TABLEの列番号+10に対応する位置に格納された値(期待値)を示す。
選択器207は、クラスタNの領域Bのデータを順序Bで得て、入力ビットが「1」である場合は、選択器207は期待値更新ローテーション回路206の値を、入力ビットが「0」である場合は00000000hをXOR回路208に出力し、セレクタ210を介して、セクタカウンタ209のカウント値がSectorであれば、EDC_VALUE[Sector]の値とXOR回路208は排他的論理和を行う。このとき、EDC_VALUE[セクタカウンタの値:0〜31]の保持部に格納されている値を読み出す。期待値更新ローテーション回路206は、EDC期待値を更新する。同様に8ビット分の処理を実施し、行カウンタ205を1加算する。
以上をPバイト分実施した後、列カウンタ204に1加算し、行カウンタ205にベース行カウンタ202の値をセットする。8ビット分の処理が終了し、行カウンタ205が更新される毎に行カウンタ205の値が0、108及びR1であるかを確認し、条件に当てはまったら、データ制御部16に対して、EDC_TABLE書き換え要求を出す。同様に、行カウンタ205の値≦107である場合は10列分、行カウンタ205の値≧108である場合は、9列分処理した後、列カウンタ204を0とし、セクタカウンタに2加算し、列カウンタ204が示すEDC_TABLEの格納領域の値をセレクタを介して、期待値更新ローテーション回路206に読み出す。
〔EDCの生成方法〕
以下に、EDCの生成方法について説明する。EDC生成ブロック20は、セクタカウンタ209を0、行カウンタ205を0、列カウンタ204を0、ベース列カウンタ202を0に初期化する。
列カウンタ204の値が0、108であるかを確認し、条件に当てはまったら、データ制御部に対して、EDC_TABLE書き換え要求を出す。なお、領域Cのデータの期待値を求める際は、行カウンタ205のカウント値がR1、R2の場合であっても、EDCテーブル201から初期値を読み出さないので、この判定は不要である。
期待値更新ローテーション回路206がセレクタ203を介して、列カウンタ204が示すEDC_TABLEからEDC期待値の初期値を読み出す。このとき、行カウンタ205の値<108のときは、EDC_TABLE[Column]の関係で値を読み出し、行カウンタ205の値≧108のときは、EDC_TABLE[Column+10]の関係で値を読み出す。
クラスタNの順序Cのデータを得て、入力ビットが「1」である場合は、選択器207は期待値更新ローテーション回路206の値を選択し、入力ビットが「0」である場合は00000000hをXOR回路に出力し、セレクタ210を介して、セクタカウンタ209が示すEDC_VALUEの値とXOR回路は排他的論理和を行った値をEDC_VALUE[0]に書き戻す。このとき、EDC_VALUE[セクタカウンタの値:0〜31]の保持部に格納されているEDC中間値を読み、書きする。期待値更新ローテーション回路206は、EDC期待値を更新する。同様にして、8ビット分処理した後、行カウンタ205に1加算する。
以上をブロック内同一列の最後データまで実施した後か、偶数セクタにおいては、R2の1つ手前のデータまで実施した後、列カウンタ204を1加算し、行カウンタ205にベース行カウンタ202の値をセットする。8ビット分の処理が終了し、行カウンタ205が更新される毎に行カウンタ205の値が0、108、R1及びR2であるかを確認し、条件に当てはまったら、データ制御部16に対して、EDC_TABLE書き換え要求を出す。同様に、行カウンタ205の値≦107である場合は10列分、行カウンタ205の値≧108である場合は、9列分処理した後か19列処理した後に列カウンタ204を0とし、セクタカウンタ209を1加算し、列カウンタ204が示すEDCテーブル201の格納領域の値をセレクタ203を介して、期待値更新ローテーション回路206に読み出す。
以降、セクタカウンタ209のカウント値が31、列カウンタ18、行カウンタのカウント値がK−1までの処理が終了した時点で、1転送ブロック内のデータに対する処理が終了となる。このとき、列カウンタ204の値を0、セクタカウンタ209のカウント値を0、ベース行カウンタ202のカウント値にKを加算し、行カウンタ205のカウント値にベース行カウンタ202の値をセットする。
また、セクタカウンタ209のカウント値が31、列カウンタのカウント値が10から18までの各列のKバイト目最下位ビットに対する処理が終了した後に更新される期待値更新ローテーション回路206の値をEDCテーブル201の該当する領域に書き戻す。以上の処理を順次処理し、最終転送ブロックまで実施し、EDCを生成する。
〔本発明の実施の形態の変形例〕
以下、上記の実施の形態の変形例について説明する。上述の実施の形態においては、ECC記録期間中に、符号生成のためのバッファアクセスを行うと共に、符号生成時に処理する領域A、領域Bのユーザ・データのうち、領域Aのユーザ・データのみをデータ・メモリ18に保存し、再利用した。これに対し、本変形例においては、領域Bをなくし、全部を領域Aとする。すなわち、上記の例におけるR1=R2の場合に対応する。そして、本実施の形態においては、符号生成に用いるデータを全てデータ・メモリ18に保存する。
すなわち、実施の形態のR1=R2につき、R1での処理(領域Bの処理)がなくなり、EDC期待値テーブル3はEDC期待値テーブル2と同一か同様の値となり、EDC中間値1の生成処理は、EDC中間値2の生成処理となる。
図30は、変形例にかかる記録装置を示す図である。また、図31は、変形例において、符号生成時に読み出す領域Aのユーザ・データを示す図である。また、図32は、変形例の記録処理時に読み出す領域Cのユーザ・データを示す図である。
実施の形態においては、領域A、領域Bで、読み出し順序が異なることから、2つのチャネルを使用していたが、本実施の形態においては、領域A、領域Cのみとなり、かつこれらの読み出し順序である順序Cのデータは、順序Aのデータを含むので、チャネル2(14)を共通で使用することができ、チャネル1を省略することができる。また、データ・メモリ18及びEDC生成ブロック20へユーザ・データを振り分ける必要がなく、領域Aのユーザ・データをデータ・メモリ18及びEDC生成ブロック20へ入力するのみのため、データ制御部を省略することも可能である。
〔本発明の実施の形態の効果〕
次に、本実施の形態にかかる効果について説明する。本実施の形態においては、ユーザ・データ方向と記録方向を有するデータを光ディスクに記録する装置において、順序AのデータからEDC中間値1を生成し、このEDC中間地1と順序B(ユーザ・データ方向)のデータからEDC中間値2を生成するEDC生成ブロック20を有する。また、符号生成時に取得したデータをデータ・メモリ18に保存し、且つ、記録時にこのデータを再利用することで、記録時におけるバッファアクセスを一部省略する。このことにより、バッファアクセスの負荷を減らして高倍速記録を可能とする。
以上の構成により、第1の効果として、符号生成と記録処理が並列に動作し、なおかつデータ記録は前半432フレームに集中することを解消することができる。その理由としては、符号生成時に取得したデータを保存し、記録時に再利用するからである。
第2の効果として、低消費電力化がある。その理由としては、データ・バッファ(SDRAM)アクセスの分散化により、バッファの高周波数化が必要ないからである。
第3の効果として、コスト削減がある。その理由としては、データ・バッファ(SDRAM)アクセスの分散化により、高周波数対応のバッファ(SDRAM)が必要ないからである。
図33は、実施の形態1にかかる記録装置のタイミングチャートを示す図である。チャネル1は、ポインタ1に対応し、チャネル2はポインタ2に対応する。クラスタN(最初のクラスタ)においては、符号生成のみ行う。
次のクラスタNにおいて、符号生成と記録処理を並列実行する。このとき、先ず、記録処理において、領域Cのデータの処理が開始される。領域CのR1=108行目までの処理が終了したら、偶数セクタと、奇数セクタで、領域A、領域Cのユーザ・データを交互に読み出す。この場合、領域Aは、データ・メモリ18に格納されているため、偶数セクタのユーザ・データは、このデータ・メモリ18から読み出す。
一方、その間、チャネル2は、データ・バッファからデータを取得する。このとき、クラスタN+1の符号生成1を行う。つまり、クラスタN+1の領域Aのユーザ・データを読み出し、EDC生成ブロック20及びデータ・メモリ18の空き領域に格納する。これにより、データ記録は前半432フレームに集中することを解消できる。その理由としては、符号生成1時に取得したデータを保存し、記録時に再利用するからである。
また、データ・バッファ(SDRAM)アクセスの分散化により、バッファの高周波数化が必要なく、低消費電力化を図ることができる。さらに、データ・バッファ(SDRAM)アクセスの分散化により、高周波数対応のデータ・バッファが必要なくなるため、低コスト化が可能である。
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
例えば、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、CPU(CentRal PRocessing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、記録媒体に記録して提供することも可能であり、また、インターネットその他の伝送媒体を介して伝送することにより提供することも可能である。
10 データ・バッファ
16 データ制御部
18 データ・メモリ
20 EDC生成ブロック
22 統合部
24 エンコーダ
26 ECCバッファ
28 置き換えバッファ
30 変調回路
34 ディスク
32 記録部
150 ビットシフト・レジスタ
100 記録装置
108 行
109 合計
109 行
110 データ・バッファ
120 生成ブロック
122 統合部
124 エンコード回路
150 ビットシフト・レジスタ
201 EDCテーブル
202 ベース行カウンタ
203 セレクタ
204 列カウンタ
205 行カウンタ
206 期待値更新ローテーション回路
207 選択器
208 XOR回路
209 セクタカウンタ
210 セレクタ
211 EDCバッファ

Claims (32)

  1. 第1の順序を有するユーザ・データ符号列の誤りを検出する誤り検出符号を算出する記録装置であって、
    前記ユーザ・データ符号列を含むセクタを2以上有するブロックを処理単位とし、
    前記ブロックは、第1セクタ及び第2のセクタを有し、前記第1及び第2のセクタは、前記第1の順序で読み出した場合には前記誤り検出符号が前記ユーザ・データ符号列の最後に付加される構成を有し、前記第1のセクタは、前記第1の順序とは異なる第2の順序で読み出した場合には前記誤り検出符号が前記ユーザ・データ符号列の読み出し途中に付加される構成を有し、
    前記ブロックを格納したデータ・バッファから、前記第1のセクタにおいて、前記第2の順序で読み出した場合に前記誤り検出符号の後で読み出されるデータを少なくとも含む第1の領域の第1データから誤り検出符号中間値を算出する第1の演算部と、
    前記第1の演算部が演算に使用した前記第1データの少なくとも一部を格納するデータ・メモリと、
    前記ブロックから前記第1の領域の前記第1データを除いたデータを第2データとして前記データ・バッファから読み出し、当該第2データ及び前記誤り検出符号中間値に基づき誤り検出符号を算出する第2の演算部と、
    前記第1データ、第2データ及び誤り検出符号を統合する統合部とを有し、
    前記統合部は、前記第2の演算部から前記誤り検出符号及び前記第2データを受け取り、前記データ・メモリから前記第1データを受け取り、これらを統合して出力する記録装置。
  2. 前記第1データを前記データ・メモリから前記統合部に送出する間、前記第1の演算部は、次のブロックにおける第1データを前記データ・バッファから読み出し、第1の誤り検出符号中間値を算出する、請求項1記載の記録装置。
  3. 前記ブロックから算出された誤り訂正符号をディスクに記録する間、前記第1の演算部は、次のブロックにおける第1データを前記データ・バッファから読み出し、前記誤り検出符号中間値を算出する、請求項1又は2記載の記録装置。
  4. 前記第1データは、前記データ・メモリに保存される第1メインデータと、前記誤り検出符号中間値の生成にのみ使用する第1サブデータとを有する請求項1乃至3のいずれか1項記載の記録装置。
  5. 前記第1の演算部は、
    前記第1メインデータを前記データ・メモリから前記統合部に送出する間、次のブロックにおける第1メインデータを前記データ・バッファから読み出し、第1の誤り検出符号中間値を算出し、
    前記ブロックから算出された誤り訂正符号をディスクに記録する間、次のブロックにおける前記第1サブデータを前記データ・バッファから読み出し、第2の誤り検出符号中間値を算出する、請求項4記載の記録装置。
  6. 前記ブロックは、K行×L列(K、Lは正の整数)であり、
    前記第1データ及び第1メインデータは、前記第1のセクタの行番号R2(0≦R2<K)乃至最終行までの夫々第1エリア及び第1メインエリアに格納されるユーザ・データである、請求項1乃至4のいずれか1項記載の記録装置。
  7. 前記ブロックは、K行×L列(K、Lは正の整数)であり、
    前記第1サブデータは、前記第1セクタの行番号R1(0≦R1<R2<K)乃至行番号R2の1行前までの第1サブエリアに格納されるユーザ・データである、請求項1乃至5のいずれか1項記載の記録装置。
  8. 前記ブロックは、(行×L列)×Mで表すことができ、行×Lのブロックを転送ブロックとし、
    第1データ及び第1メインデータは、前記第1のセクタ内の夫々第1エリア及び第1メインエリアに格納されたユーザ・データであって、
    前記第1の演算部は、前記第1データ又は第1メインデータを順序Aで前記データ・バッファから読み出し、
    前記順序Aは、第1エリア又は第1メインエリアにおいて、エリア内転送ブロック昇順、転送ブロック内列昇順、列内行昇順の順序である、請求項1乃至7のいずれか1項記載の記録装置。
  9. 前記ブロックは、(行×L列)×Mで表すことができ、行×Lのブロックを転送ブロックとし、
    前記第2データは、ブロック内の前記第1メインデータ以外のデータが格納されている第2エリアに格納されたユーザ・データであって、
    前記第2の演算部は、前記第2データを順序Cで前記データ・バッファから読み出し、
    前記順序Cは、第2エリアにおいて、エリア内転送ブロック昇順、転送ブロック内列昇順、列内行昇順の順序である、請求項4乃至8のいずれか1項記載の記録装置。
  10. 前記ブロックは、(行×L列)×Mで表すことができ、行×Lのブロックを転送ブロックとし、
    前記第1サブデータは、前記第1のセクタ内の第1サブエリアに格納されたユーザ・データであって、
    前記第1の演算部は、前記第1サブデータを順序Bで前記データ・バッファから読み出し、
    前記順序Bは、第1サブエリアにおいて、エリア内列昇順、列内行昇順の順序である、請求項1乃至9のいずれか1項記載の記録装置。
  11. 前記統合部からの前記ユーザ・データ及び誤り検出符号を格納する置き換えバッファを有し、
    前記ブロックは、(行×L列)×Mで表すことができ、行×Lのブロックを転送ブロックとしたとき、
    前記置き換えバッファは、前記第1の順序で入力されたデータを前記第2の順序で出力する、請求項1乃至10のいずれか1項記載の記録装置。
  12. 前記第1の順序はユーザ・データ方向の順序であり、前記第2の順序は、記録方向の順序である、請求項1乃至11のいずれか1項記載の記録装置。
  13. 前記置き換えバッファは、転送ブロック内列昇順、列内行昇順の順序でデータを格納し、転送ブロック内行昇順、行内列昇順の順序でデータを出力する、請求項11又は12記載の記録装置。
  14. 前記行番号R2は、前記第1のセクタに付加される誤り検出符号の最終行+1行以前の行である、請求項6記載の記録装置。
  15. 1バイトを1行、1列が重複するデータとした場合、前記ブロックは、216行(0≦K≦215)、304列(0≦L≦303)であって、下記の関係を満たす
    0≦R1≦108
    0≦R2≦215
    0≦P≦215
    R2−R1=P
    請求項2乃至7のいずれか1項記載の記録装置。
  16. 前記ブロックは、ディスクに記録するための最小記録単位であるクラスタに含まれるユーザ・データを含み、
    前記第1の順序は前記ブロックの列方向に対応した前記ユーザ・データの符号化順序であって、
    前記第2の順序は、前記ブロックの行方向に対応した前記ユーザ・データの記録順序である、請求項1乃至15のいずれか1項記載の記録装置。
  17. 前記ブロックは、前記第1及び第2のセクタを有し、
    前記第1のセクタは、その最終列の途中に前記誤り検出符号が挿入され、
    前記第2のセクタは、その最終列の最後に前記誤り検出符号が挿入される、
    請求項1乃至6のいずれか1項記載の記録装置。
  18. ユーザ・データは、データ・バッファからバースト転送されるものであって、
    前記kバイトはバースト転送サイズであり、
    前記誤り検出符号は、前記kバイト以下からなる、
    請求項4又は6記載の記録装置。
  19. 前記誤り検出符号は、前記第1の順序のユーザ・データ符号列に前記誤り検出符号と同一バイトの0データを付加したiバイトのセクタに所定の演算を施すことで得られるものであって、
    前記第1の順序を対応づけたiバイトの符号列において、入力されるユーザ・データの前記第1の順序に対応するビットのみを1、他を0として前記所定の演算を施した結果を、そのビットの期待値としたとき、
    前記第1の演算部は、入力される前記第1データのビットが1の場合に、その期待値の排他的論理和を順次求めることで前記誤り検出符号中間値を算出し、
    前記第2の演算部は、入力される前記第2データのビットが1の場合に、前記誤り検出符号中間値とその期待値の排他的論理和を順次求めることで前記誤り検出符号を算出する
    ことを特徴とする請求項1乃至18のいずれか1項記載の記録装置。
  20. 前記第1及び第2の演算部は、前記ユーザ・データ符号列内の特定ビットに対応する期待値である初期期待値を参照し、当該初期期待値に基づき前記期待値を算出する
    ことを特徴とする請求項19項記載の記録装置。
  21. 前記第2の演算部は、前記ブロックにおける最初の行の最上位ビットに対応する期待値である初期期待値を参照し、当該初期期待値に基づき前記期待値を算出し、
    前記第1の演算部は、行番号R1、R2の最上位ビットに対応する期待値である参照期待値を参照し、当該参照期待値に基づき前記期待値を算出する
    請求項19又は20記載の記録装置。
  22. 前記ブロックは、前記第1のセクタ及び前記第2のセクタの組からなるエリアを有し、
    前記初期期待値及び参照期待値は、前記エリアにおける最初の行の最上位ビット及び行番号R1、R2の最上位ビットの期待値である
    ことを特徴とする請求項19乃至21のいずれか1項記載の記録装置。
  23. 第1の順序を有するユーザ・データ符号列の誤りを検出する誤り検出符号を算出する記録方法であって、
    前記ユーザ・データ符号列を含むセクタを2以上有するブロックを処理単位とし、
    前記ブロックは、第1セクタ及び第2のセクタを有し、前記第1及び第2のセクタは、前記第1の順序で読み出した場合には前記誤り検出符号が前記ユーザ・データ符号列の最後に付加される構成を有し、前記第1のセクタは、前記第1の順序とは異なる第2の順序で読み出した場合には前記誤り検出符号が前記ユーザ・データ符号列の読み出し途中に付加される構成を有し、
    第1の演算部は、前記ブロックを格納したデータ・バッファから、前記第1のセクタにおいて、前記第2の順序で読み出した場合に前記誤り検出符号の後で読み出されるデータを少なくとも含む第1の領域の第1データから誤り検出符号中間値を算出し、
    第2の演算部は、前記ブロックから前記第1の領域の前記第1データを除いたデータを第2データとして前記データ・バッファから読み出し、当該第2データ及び前記誤り検出符号中間値に基づき誤り検出符号を算出し、
    前記第2の演算部から前記誤り検出符号及び前記第2データを受け取り、前記第1の演算部が演算に使用した前記第1データの少なくとも一部を保存するデータ・メモリから前記第1データを受け取り、これらを統合して出力する記録方法。
  24. 前記第1データを前記データ・メモリから前記統合部に送出する間、次のブロックにおける第1データを前記データ・バッファから読み出し、第1の誤り検出符号中間値を算出する、請求項23記載の記録方法。
  25. 前記ブロックから算出された誤り訂正符号をディスクに記録する間、次のブロックにおける第1データを前記データ・バッファから読み出し、第2の誤り検出符号中間値を算出する、請求項23又は24記載の記録方法。
  26. 前記第1データは、前記データ・メモリに保存される第1メインデータと、前記誤り検出符号中間値の生成にのみ使用する第1サブデータとを有する請求項23乃至25のいずれか1項記載の記録方法。
  27. 前記誤り検出符号中間値を算出する際は、
    前記第1データを前記データ・メモリから前記統合部に送出する間、次のブロックにおける第1メインデータを前記データ・バッファから読み出し、前記第1の誤り検出符号中間値を算出し、
    前記ブロックから算出された誤り訂正符号をディスクに記録する間、次のブロックにおける第1サブデータを前記データ・バッファから読み出し、前記第2の誤り検出符号中間値を算出する、請求項26記載の記録方法。
  28. 前記ブロックは、K行×L列(K、Lは正の整数)であり、
    前記第1データ及び第1メインデータは、前記第1のセクタの行番号R2(0≦R2<K)乃至最終行までの夫々第1エリア及び第1メインエリアに格納されるユーザ・データである、請求項23乃至26のいずれか1項記載の記録方法。
  29. 前記ブロックは、K行×L列(K、Lは正の整数)であり、
    前記第1サブデータは、前記第1セクタの行番号R1(0≦R1<R2<K)乃至行番号R2の1行前までの第1サブエリアに格納されるユーザ・データである、請求項23乃至27のいずれか1項記載の記録方法。
  30. 前記ブロックは、(行×L列)×Mで表すことができ、行×Lのブロックを転送ブロックとし、
    第1データ及び第1メインデータは、前記第1のセクタ内の夫々第1エリア及び第1メインエリアに格納されたユーザ・データであって、
    前記誤り検出符号中間値を算出する際は、前記第1データ又は第1メインデータを順序Aで前記データ・バッファから読み出し、
    前記順序Aは、第1エリア又は第1メインエリアにおいて、エリア内転送ブロック昇順、転送ブロック内列昇順、列内行昇順の順序である、請求項26又は27記載の記録方法。
  31. 前記ブロックは、(行×L列)×Mで表すことができ、行×Lのブロックを転送ブロックとし、
    前記第2データは、ブロック内の前記第1メインデータ以外のデータが格納されている第2エリアに格納されたユーザ・データであって、
    前記誤り検出符号を算出する際は、前記第2データを順序Cで前記データ・バッファから読み出し、
    前記順序Cは、第2エリアにおいて、エリア内転送ブロック昇順、転送ブロック内列昇順、列内行昇順の順序である、請求項23乃至30のいずれか1項記載の記録方法。
  32. 前記ブロックは、(行×L列)×Mで表すことができ、行×Lのブロックを転送ブロックとし、
    前記第1サブデータは、前記第1のセクタ内の第1サブエリアに格納されたユーザ・データであって、
    前記誤り検出符号中間値を算出する際は、前記第1サブデータを順序Bで前記データ・バッファから読み出し、
    前記順序Bは、前記第1サブエリアにおいて、エリア内列昇順、列内行昇順の順序である、請求項23乃至31のいずれか1項記載の記録方法。
JP2009273837A 2009-12-01 2009-12-01 記録装置及び記録方法 Active JP5419653B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009273837A JP5419653B2 (ja) 2009-12-01 2009-12-01 記録装置及び記録方法
US12/957,440 US8397135B2 (en) 2009-12-01 2010-12-01 Recording apparatus and recording method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009273837A JP5419653B2 (ja) 2009-12-01 2009-12-01 記録装置及び記録方法

Publications (2)

Publication Number Publication Date
JP2011118968A JP2011118968A (ja) 2011-06-16
JP5419653B2 true JP5419653B2 (ja) 2014-02-19

Family

ID=44069767

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009273837A Active JP5419653B2 (ja) 2009-12-01 2009-12-01 記録装置及び記録方法

Country Status (2)

Country Link
US (1) US8397135B2 (ja)
JP (1) JP5419653B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4930251B2 (ja) * 2007-07-31 2012-05-16 富士通セミコンダクター株式会社 誤り訂正装置及びデスクランブル回路
JP2016177478A (ja) * 2015-03-19 2016-10-06 株式会社リコー 信号転送装置、情報処理装置、及び信号転送方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3824701B2 (ja) * 1996-04-01 2006-09-20 パイオニア株式会社 情報記録方法及び装置
US6530060B1 (en) * 2000-02-08 2003-03-04 Cirrus Logic, Inc. Sampled amplitude read channel employing a post processor with a boundary error compensator which compensates for boundary error events in a split-field data sector
JP2001285076A (ja) * 2000-03-31 2001-10-12 Ando Electric Co Ltd Crc符号演算回路、及びcrc符号演算方法
US7065702B2 (en) * 2001-04-12 2006-06-20 Siliquent Technologies Ltd. Out-of-order calculation of error detection codes
JP2004206798A (ja) * 2002-12-25 2004-07-22 Ricoh Co Ltd 光ディスク装置のエンコードデータ符号回路
US7426682B2 (en) * 2003-03-11 2008-09-16 Via Technologies, Inc. Method of generating error detection codes
US7418645B2 (en) * 2003-09-24 2008-08-26 Hitachi Global Storage Technologies Netherlands B.V. Error correction/detection code adjustment for known data pattern substitution
JP2006155835A (ja) * 2004-12-01 2006-06-15 Nec Electronics Corp 誤り検出符号付加回路、誤り検出回路及び方法、並びにディスク装置
JP4571523B2 (ja) * 2005-03-04 2010-10-27 ルネサスエレクトロニクス株式会社 スクランブル回路、エンコード装置、エンコード方法及び記録装置
JP4620541B2 (ja) * 2005-08-04 2011-01-26 ルネサスエレクトロニクス株式会社 誤り検出符号算出回路、誤り検出符号算出方法及び記録装置
JP4930251B2 (ja) * 2007-07-31 2012-05-16 富士通セミコンダクター株式会社 誤り訂正装置及びデスクランブル回路

Also Published As

Publication number Publication date
US20110131476A1 (en) 2011-06-02
JP2011118968A (ja) 2011-06-16
US8397135B2 (en) 2013-03-12

Similar Documents

Publication Publication Date Title
US6357030B1 (en) ECC block format for storage device
CN102096609B (zh) 可编程循环冗余校验(crc)计算的指令集架构
US20060248427A1 (en) Optical disk device and data randomizing method for optical disk drive
US8102996B2 (en) Scrambler, descrambler and method, and disc apparatus
JP4620541B2 (ja) 誤り検出符号算出回路、誤り検出符号算出方法及び記録装置
US7607074B2 (en) Error detecting code addition circuit, error detection circuit and method, and disc apparatus
US6772385B2 (en) Error-correcting device and decoder enabling fast error correction with reduced circuit scale
US7698625B2 (en) System for improving parity generation and rebuild performance
JP4930251B2 (ja) 誤り訂正装置及びデスクランブル回路
US20080152131A1 (en) Data transfer device
JP5419653B2 (ja) 記録装置及び記録方法
US20080134004A1 (en) Recording and/or reproducing apparatus and method
JP2008159198A (ja) 誤り訂正装置及び記録再生装置
JP2004080762A (ja) クロスインターリーブリード−ソロモン符号訂正を行う方法及び装置
KR100561982B1 (ko) 오류 정정 부호 발생 회로 및 그 방법
KR20020075269A (ko) 에러 정정 장치
KR100691065B1 (ko) 고밀도 광 기록매체에서의 데이터 에러정정 코드생성방법과 이에 의한 에러 정정 방법, 그리고 그 장치
KR100200810B1 (ko) 오류 정정부호화 방법 및 장치
JP2008204544A (ja) 誤り訂正装置及びデータ読み出し装置
JP2009048713A (ja) デスクランブル回路及びエラー検出コード計算回路
JP5365683B2 (ja) 誤り訂正装置
US8196023B2 (en) Encoder and optical disk recording apparatus
JP5792574B2 (ja) データ記録方法、データ再生方法、データ記録装置及びデータ再生装置
JP2022158641A (ja) 情報処理装置及び情報処理方法
JP5380556B2 (ja) ディスク記憶装置及びデータ復元方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120808

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131001

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131023

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131119

R150 Certificate of patent or registration of utility model

Ref document number: 5419653

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350