JPH11338723A - 誤り訂正装置 - Google Patents

誤り訂正装置

Info

Publication number
JPH11338723A
JPH11338723A JP11047194A JP4719499A JPH11338723A JP H11338723 A JPH11338723 A JP H11338723A JP 11047194 A JP11047194 A JP 11047194A JP 4719499 A JP4719499 A JP 4719499A JP H11338723 A JPH11338723 A JP H11338723A
Authority
JP
Japan
Prior art keywords
code
unit
transfer
error
error correction
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.)
Granted
Application number
JP11047194A
Other languages
English (en)
Other versions
JP3676939B2 (ja
Inventor
Fumio Nakatsuji
文男 中辻
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP04719499A priority Critical patent/JP3676939B2/ja
Publication of JPH11338723A publication Critical patent/JPH11338723A/ja
Application granted granted Critical
Publication of JP3676939B2 publication Critical patent/JP3676939B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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
    • 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
    • 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
    • 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
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/40Combinations of multiple record carriers

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

(57)【要約】 【課題】 比較的小さな回路規模で高速に誤り訂正に伴
う処理を実行する誤り訂正装置を提供する。 【解決手段】 n2行n1列の積符号を記憶するバッフ
ァメモリ1と、4つの符号列に対する誤り訂正を同時並
列に行う誤り訂正部5と、C1方向に誤り訂正を行う場
合にバッファメモリ1から積符号の4行分の符号を読み
出して誤り訂正部5に転送するバスコントロール部2と
を備え、バスコントロール部2は、各行につき連続して
並ぶ4個の符号を読み出して誤り訂正部5に転送するこ
とを4行それぞれについて順に行う4行4列転送を、行
方向に4個の符号だけずらしながら繰り返す。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、符号化されたデー
タ中に発生する誤りの訂正に伴う処理を行う装置に関
し、特に、2次元に構成されたブロック符号に対して高
速に誤りを訂正する装置に関する。
【0002】
【従来の技術】磁気ディスクや光ディスクなどを記録媒
体とするデータ記憶装置では、記録媒体上の傷や汚れに
よってデータの誤りが発生する。そのような誤りデータ
の回復を可能とするために、記録媒体上にデータを記録
するときにはデータに誤り訂正のための符号(以下、
「誤り訂正符号」又は「パリティデータ」という。)を
付加し、再生時には誤り訂正符号を使って誤ったデータ
を検出し、それを正しいデータに訂正する処理が行われ
る。このような誤り訂正符号の付加や誤り訂正の処理
(これら2つの処理を併せて、以下、「誤り訂正に伴う
処理」という。)においては、その訂正能力を高めるた
めに、誤り訂正符号の種類としてReed-Solomon符号が、
また、データの構成方法として積符号が多くのシステム
で採用されている。
【0003】図37は、積符号の例を示す。k1×k2
バイトからなる情報データに対して、行方向(以下、
「C1系列」ともいう。)にm1バイトのパリティデー
タが付加され、列方向(以下、「C2系列」ともい
う。)にm2バイトのパリティデータが付加されてい
る。これら情報データ、C1パリティデータ及びC2パ
リティデータ全体で誤り訂正の最大単位となる1ブロッ
クを構成しており、そのバイト数はn1×n2バイトで
ある。通常、情報データとパリティデータをDRAM等
のメモリに格納する方法として、C1系列にメモリのア
ドレスが1ずつ増加するように格納していく。そのた
め、C1系列の符号列を形成するデータは連続したアド
レスの記憶領域に格納されるが、C2系列の符号列を形
成するデータは不連続なアドレスの記憶領域に格納され
る。なお、積符号を構成する個々の符号を単に「デー
タ」とも呼ぶ。
【0004】図38は、C1符号列に対する誤り訂正の
流れを示す図である。最初に第1行の符号列に対して誤
り訂正する。次に第2行の符号列に対して誤り訂正す
る。これをn2行全てについて繰り返す。つまり、各行
に属する全てのデータをスキャンして誤り訂正を行うこ
とを列方向に1行ずつ進めていく。なお、「スキャン」
とは誤り検出や訂正の対象となるデータを記憶領域から
読み出すときの読み出し順序をいう。また、「誤り検
出」には誤り訂正という処理は含まれないが、「誤り訂
正」には、その前置処理としての誤り検出が含まれる。
【0005】図39は、C2符号列に対する誤り訂正の
流れを示す図である。最初に第1列の符号列に対して誤
り訂正する。次に第2列の符号列に対して誤り訂正す
る。これをn1列全てについて繰り返す。つまり、各列
に属する全てのデータをスキャンして誤り訂正を行うこ
とを行方向に1列ずつ進めていく。図40は、上記流れ
に沿って誤り訂正を行う従来の誤り訂正装置の構成を示
すブロック図である。ここで、d1からd100は10
0バイトの情報データであり、p1からp10は10バ
イトのパリティデータであり、これらが1つの符号列を
構成するものとする。
【0006】これら情報データとパリティデータはメモ
リから読み出されて順次、シンドローム生成部900に
入力される。シンドローム生成部900は、1つのデー
タが入力される度に一定の演算を行い、1つの符号列を
構成する全ての情報データd1〜d100とパリティデ
ータp1〜p10の入力が完了した時点で、10個のシ
ンドロームを生成する。もし、それら10個のシンドロ
ーム中に非零が存在する場合には、その符号列に誤りが
発生していることになるので、誤り位置・誤り数値演算
部901は、それらシンドロームを用いて誤り位置と誤
り数値を算出する。ここで、誤り位置とは符号列中の何
番目のデータが誤っているかを表わす情報であり、誤り
数値とはその誤りの大きさを表わす。最後に、誤りデー
タ更新部902は、それら誤り位置と誤り数値を用いる
ことで、その符号列中の誤りデータをメモリから読み出
し、その誤りを訂正した後に元の位置に書き戻す。この
ような処理を符号列ごとに繰り返す。
【0007】このように、従来の誤り訂正装置は、C1
系列に対しては1行ずつスキャンして誤り訂正を進めて
いき、C2系列に対しては1列ずつスキャンして誤り訂
正を進めていくことによって、1ブロック分の符号列全
てに対する誤り訂正を行っている。
【0008】
【発明が解決しようとする課題】しかしながら、最近の
光ディスクドライブ装置に代表されるデータ記憶装置の
処理速度の高速化への要求はますます厳しくなってきて
おり、従来の誤り訂正装置では、そのような要求に応え
ることが困難になってきている。そのような厳しい要求
を満たすために、1台のデータ記憶装置内に複数の誤り
訂正装置を設けて並列化させることが考えられるが、そ
れでは回路規模が大きくなり過ぎ、コストパフォーマン
スが著しく低下してしまう。
【0009】そこで、本発明はかかる問題点に鑑み、比
較的小さな回路規模で高速に誤り訂正に伴う処理を実行
する誤り訂正装置を提供することを目的とする。
【0010】
【課題を解決するための手段】上記目的と達成するため
に、本発明に係る誤り訂正装置は、R行L列のブロック
符号を構成する行方向及び列方向の符号列に対する誤り
訂正に伴う演算を繰り返し実行する誤り訂正装置であっ
て、前記ブロック符号を記憶する記憶手段と、前記ブロ
ック符号の1行又は1列の符号列を単位として誤り符号
の訂正に必要な演算を行う演算手段と、R1を2以上R
未満の整数としたときに、前記記憶手段に記憶されたブ
ロック符号のR1行分の符号列を読み出して前記演算手
段に転送することをR行について順に繰り返す行方向転
送部を有する転送手段とを備え、前記行方向転送部は、
L1を2以上L未満の整数としたときに、各行につき連
続して並ぶL1個の符号を読み出して前記演算手段に転
送することを前記R1行それぞれについて順に行うR1行
L1列転送を、行方向にL1個の符号だけずらしながら繰
り返し、前記演算手段は、前記行方向転送部から符号が
送られてくる場合には、送られてくるL1個の符号ごと
に前記R1行の異なる行の符号列を構成するものとして
前記R1行の符号列に対する前記演算を並列に行うこと
を特徴とする。
【0011】また、本発明に係る誤り訂正装置は、R行
L列のブロック符号を構成する行方向及び列方向の符号
列に対する誤り訂正に伴う演算を繰り返し実行する誤り
訂正装置であって、前記ブロック符号を記憶する記憶手
段と、前記ブロック符号の1行又は1列の符号列を単位
として誤り符号の訂正に必要な演算を行う演算手段と、
L2を2以上L未満の整数としたときに、前記記憶手段
に記憶されたブロック符号のL2列分の符号列を読み出
して前記演算手段に転送することをL列について順に繰
り返す列方向転送部を有する転送手段とを備え、前記列
方向転送部は、各行につき連続して並ぶL2個の符号を
読み出して前記演算手段に転送することを前記R行それ
ぞれについて順に行うR行L2列転送を、行方向にL2個
の符号だけずらしながら繰り返し、前記演算手段は、前
記列方向転送部から符号が送られてくる場合には、送ら
れてくるL2個の符号それぞれが、対応する前記L2列の
符号列それぞれに属するものとして前記L2列の符号列
に対する前記演算を並列に行うものであってもよい。
【0012】また、本発明に係る誤り訂正装置は、外部
の第1装置から受けとった符号について必要な誤り訂正
をした後に外部の第2装置に出力する誤り訂正装置であ
って、前記符号を格納するための記憶領域を有する記憶
手段と、一定個数の符号を単位として誤り符号が存在す
るか否かを検出する誤り検出手段と、一定個数の符号を
単位として前記記憶手段中の誤り符号を訂正する誤り訂
正手段と、前記第1装置から出力された符号を前記記憶
手段と前記誤り検出手段に並行して転送し、その符号を
前記記憶手段に格納させると共に前記誤り検出手段に前
記検出を行わせる第1転送手段と、前記誤り検出手段に
よって誤り符号が存在すると検出された前記一定個数の
符号を前記記憶手段から前記誤り訂正手段に転送し、そ
の符号について前記誤り訂正手段に前記訂正を行わせる
第2転送手段と、前記誤り検出手段又は前記誤り訂正手
段によって誤り符号が存在しないことが検出又は誤り符
号が訂正された一定個数の符号を前記記憶手段から前記
第2装置に転送する第3転送手段と、前記第1〜第3転
送手段それぞれが排他的に前記符号転送を実行するよう
に制御する転送制御手段とを備えるものであってもよ
い。
【0013】また、本発明に係る誤り訂正装置は、外部
の第1装置から受けとった符号について必要な誤り訂正
をした後に外部の第2装置に出力する誤り訂正装置であ
って、前記符号を格納するための記憶領域を有する記憶
手段と、一定個数の符号を単位として誤り符号を検出
し、対応する前記記憶手段中の誤り符号を訂正する誤り
訂正手段と、前記第1装置から送られてくる符号と前記
記憶手段から送られてくる符号のいずれかを選択して前
記誤り訂正手段に送り、前記誤り訂正手段に前記検出と
訂正を行わせる符号選択手段と、前記第1装置から出力
された符号を前記記憶手段と前記符号選択手段に並行し
て転送し、その符号を前記記憶手段に格納させると共に
前記符号選択手段に選択させて前記誤り訂正手段に送ら
せ、その符号について前記誤り訂正手段に前記検出と訂
正を行わせる第1転送手段と、一定個数の符号を前記記
憶手段から前記符号選択手段に転送し、その符号を前記
符号選択手段に選択させて前記誤り訂正手段に送らせ、
その符号について前記誤り訂正手段に前記検出と訂正を
行わせる第2転送手段と、前記誤り訂正手段によって誤
り符号が存在しないことが検出又は誤り符号が訂正され
た一定個数の符号を前記記憶手段から前記第2装置に転
送する第3転送手段と、前記第1〜第3転送手段それぞ
れが排他的に前記符号転送を実行するように制御する転
送制御手段とを備えるものであってもよい。
【0014】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を用いて詳細に説明する。 (第1の実施の形態)第1の実施の形態は、行方向及び
列方向のいずれかの4つの符号列に対して並列に誤り訂
正を行う高速な誤り訂正装置に関する。
【0015】図1は、本発明の第1の実施の形態におけ
る誤り訂正装置100の構成を示すブロック図である。
本装置100は、光ディスクドライブ装置等に備えら
れ、光ディスクから読み出されたデータの誤りを訂正す
る装置であり、バッファメモリ1と、そのバッファメモ
リ1にアクセスする3つの処理ブロック(ディスクイン
ターフェース部12、誤り訂正部5及びホストインター
フェース部13)と、それらアクセスの排他制御を行う
バスコントロール部2とから構成される。なお、図中の
矢印は誤り訂正の対象となるデータの流れを示す。ま
た、本装置100は、誤り訂正符号の種類としてはReed
-Solomon符号を、符号の構成としては積符号を採用して
いる。
【0016】バッファメモリ1は、2次元アドレス(行
アドレスと列アドレス)によって特定される記憶領域を
有するDRAM等の半導体メモリであり、誤り訂正の対
象となる複数個のブロックを一時的に記憶する記憶容量
を有する。ディスクインターフェース部12は、光ディ
スク等の記録媒体から読み出されたデータを中継してバ
ッファメモリ1に書き込むインターフェース回路であ
る。
【0017】誤り訂正部5は、ディスクインターフェー
ス部12からバッファメモリ1に書き込まれたデータを
順次に読み出して誤りが発生していないか検出し、もし
誤りが発見された場合にバッファメモリ1上の誤りを訂
正する回路である。具体的には、誤り訂正部5は、4つ
の符号列に対して同時並列に誤り訂正を行う回路であ
り、データ分配部51、4つのシンドローム生成部52
〜55、誤り位置・誤り数値演算部56及び誤りデータ
更新部57から構成される。
【0018】データ分配部51は、バッファメモリ1か
ら転送されてきたデータを4つのシンドローム生成部5
2〜55のいずれかに振り分ける。このとき、同一の符
号列に属するデータが同一のシンドローム生成部に入力
されるように振り分ける。4つのシンドローム生成部5
2〜55は、いずれも同一の回路であり、それぞれ、デ
ータが振り分けられて入力される度に積和演算を行い、
10個のパリティデータが含まれた1つの符号列が完全
に入力されたときに、10個のシンドロームを生成す
る。
【0019】誤り位置・誤り数値演算部56は、4つの
シンドローム生成部52〜55それぞれについて順に、
生成された10個のシンドローム中に非零が存在するか
否かを判断し、存在する場合に、それらシンドロームを
用いて誤り位置と誤り数値を算出する。具体的には、1
0個のシンドロームを基にしてユークリッド法等により
誤り位置多項式と誤り数値多項式を特定するための各項
の係数を算出した後に、その誤り位置多項式の根(誤り
位置)をチェーン検索と呼ばれる方法等によって算出
し、さらに、誤り数値多項式を用いて誤り数値を算出す
る。
【0020】誤りデータ更新部57は、誤り位置・誤り
数値演算部56によって算出された誤り位置に基づいて
バッファメモリ1中の誤りデータを読み出し、読み出し
た誤りデータと誤り位置・誤り数値演算部56によって
算出された誤り数値との排他的論理和を計算し、得られ
た値をバッファメモリ2110内の元の位置に書き戻
す。なお、この誤り訂正部5においては、シンドローム
の計算回路(シンドローム生成部52〜55)だけが並
列化され、それに続く回路(誤り位置・誤り数値演算部
56及び誤りデータ更新部57)については並列化され
ていないのは、シンドローム計算については、誤りの発
生の有無に拘わらず1個のデータにつき10回の積和演
算が必要とされるが、それ以降の計算処理については、
1つの符号列で生成された10個のシンドロームに基づ
いて計算を行えば良いので、演算回数が少ないからであ
る。
【0021】ホストインターフェース部13は、誤り訂
正部5による処理が終わったデータをバッファメモリ1
から読み出してコンピュータ等のホストに出力するイン
ターフェース回路である。バスコントロール部2は、バ
ッファメモリ1と3つの処理ブロック12、5、13の
いずれかとの間で8ビット幅のデータバスを介するデー
タ転送を行わせる制御回路であり、バッファメモリ1へ
のアクセスを排他制御するバス調停制御部22と、バッ
ファメモリ1へのアクセスのためのアドレスを生成して
出力するアドレス生成部21と、ディスクインターフェ
ース部12、誤り訂正部5及びホストインターフェース
部13のいずれかとバッファメモリ1とをバス接続しD
MA(Direct Memory Access)によるデータ転送を行わ
せるDMAチャネル部23とを有する。
【0022】図2は、バスコントロール部2の詳細な構
成を示すブロック図である。本図において、3つのDM
Aチャネル23a〜23cは図1に示されたDMAチャ
ネル部を構成するDMAコントローラである。このバス
コントロール部2はバッファメモリ1に対する3つのD
MAを排他的に許可する機能を有する。つまり、バス調
停制御部22は、ディスクインターフェース部12、誤
り訂正部5及びホストインターフェース部13からバッ
ファメモリ1にアクセスしたい旨の要求を受けると、予
め定められた優先順位とスケジューリング手順に基づい
て、それらのひとつだけを許可する。
【0023】具体的には、バス調停制御部22は、第1
DMAチャネル23aをイネーブルにし、ディスクイン
ターフェース部12に対してデータ転送を許可する制御
信号を出力し、アドレス生成部21からバッファメモリ
1に書き込みアドレスを生成させることによって、ディ
スクインターフェース部12からバッファメモリ1への
「データ入力」、即ち、光ディスク等の記録媒体から読
み出されたデータをディスクインターフェース部12を
介してバッファメモリ1に格納するデータ転送を行わせ
る。同様に、バス調停制御部22は、第2DMAチャネ
ル23bをイネーブルにし、誤り訂正部5に対してデー
タ転送を許可する制御信号を出力し、アドレス生成部2
1からバッファメモリ1に読み出し又は書き込みアドレ
スを生成させることによって、「誤り訂正のためのデー
タ転送」、即ち、バッファメモリ1に格納されたデータ
を誤り訂正部5に読み出したり、訂正後のデータを誤り
訂正部5からバッファメモリ1に書き戻すデータ転送を
行わせる。さらに、バス調停制御部22は、第3DMA
チャネル23cをイネーブルにし、ホストインターフェ
ース部13に対してデータ転送を許可する制御信号を出
力し、アドレス生成部21からバッファメモリ1に読み
出しアドレスを生成させることによって、バッファメモ
リ1からホストインターフェース部13への「データ出
力」、即ち、誤り訂正のバッファメモリ1に格納された
データをホストインターフェース部13を介してホスト
等に出力するデータ転送を行わせる。
【0024】なお、アドレス生成部21は、これら3つ
のDMA転送においては、バッファメモリ1に対してペ
ージモードによる高速アクセスを行う。具体的には、ペ
ージヒットする限りは、バッファメモリ1への行アドレ
ス(RAS)を固定して出力したまま、列アドレス(C
AS)だけを必要なデータ個数だけインクリメントす
る。
【0025】図3は、データ分配部51の詳細な構成を
示すブロック図である。データ分配部51は、バスコン
トロール部2から送られてくるデータを4つのシンドロ
ーム生成部52〜55のいずれかに通過させるセレクタ
51aと、バスコントロール部2からの指示に基づいて
セレクタ51aでの振り分けを制御する切替え制御部5
1bとから構成される。切替え制御部51bは、内部に
有するカウンタロジック等により、セレクタ51aに入
力されるデータに同期してセレクタ51aに制御信号を
出力するが、行方向の誤り訂正の場合と列方向の誤り訂
正の場合とでは、後述するように、異なる手順でセレク
タ51aを制御する。
【0026】図4は、1個のシンドローム生成部52
(53、54、55)の詳細な構成を示す回路図であ
る。シンドローム生成部52は、入力されたデータを最
大8個まで一時的に記憶するFIFO(First-In First
-Out)形式のキューバッファ62と、そのキューバッフ
ァ62の出力に並列接続された10種類のシンドローム
演算部63〜65から構成される。各シンドローム演算
部63〜65は、積和演算を繰り返す回路であり、1つ
の積和値を記憶するレジスタ68と、レジスタ68に格
納された積和値を読み出して固有の係数を乗算するガロ
ア体乗算器66と、その乗算結果と次に入力された1つ
の符号とを加算するガロア体加算器67とからなる。
【0027】キューバッファ62から最も古い1個のデ
ータdが読み出されると、そのデータdは10個のシン
ドローム演算部63に並列に入力され、それぞれにおい
て、1回の積和演算d+Sn×αnが実行され、その結果
が新たなSnとしてレジスタ68に格納される。例え
ば、100バイトの情報データd1〜d100と10個
のパリティデータp1〜p10とからなる符号列がシン
ドローム生成部52に順次に入力され入力キューバッフ
ァ62を経て10個のシンドローム演算部63〜65に
並列に供給されていくとする。すると、第1シンドロー
ム演算部63においては、最初に第1情報データd1が
入力されるとそのd1はそのままレジスタ68に保持さ
れ、次に情報データd2が入力されると積和演算d2+
d1×α0が行われ、その結果がレジスタ68に保持さ
れる。
【0028】このように1個の符号が入力されるごとに
1回の積和演算が行われ、最後のパリティデータp10
が入力し終わったときにレジスタ68に保持されたデー
タがS0シンドロームになる。これと並行して他のシン
ドローム演算部64〜65においても同様の演算が行わ
れるので、最後のパリティデータp10がこれら10個
のシンドローム演算部63〜65に入力された直後にお
いて、最終的にS0からS9までの10種類のシンドロ
ームが同時に生成される。
【0029】次に、以上のように構成された誤り訂正装
置100の動作について説明する。図5は、本装置10
0における3つの主要な処理(データ入力、誤り訂正、
データ出力)における処理対象となるデータを示すタイ
ミングチャートである。つまり、図37に示された積符
号を用いた符号列を複数ブロック連続して処理する場合
における処理の流れが示されている。なお、図中の第n
ブロックは図37に示された1つの積符号のデータ全体
に対応する。また、図中の「データ入力」、「誤り訂
正」及び「データ出力」は、上述のバスコントロール部
2による「データ入力」、「誤り訂正のためのデータ転
送」及び「データ出力」に対応する。
【0030】まず第1サイクルにおいて第1ブロックに
ついてのデータ入力が行われ、第2サイクルにおいて第
2ブロックについてのデータ入力と第1ブロックについ
ての誤り訂正とが並行に行われ、第3サイクルにおいて
第3ブロックについてのデータ入力と第2ブロックにつ
いての誤り訂正と第1ブロックについてのデータ出力と
が並列に行われる。第4サイクル以降においては、第3
サイクルと同様に、新たなブロックのデータ入力と、直
前に入力されたブロックについての誤り訂正と、誤り訂
正が終了したブロックについてのデータ出力とが並行に
行われる。
【0031】このように、バスコントロール部2は、各
ブロックのデータに対して3つの処理がパイプライン的
に施されるように、3種類のデータ転送(ディスクイン
ターフェース部12からバッファメモリ1へのデータ転
送、バッファメモリ1と誤り訂正部5間のデータ転送、
バッファメモリ1からホストインターフェース部13へ
のデータ転送)を制御する。つまり、3種類のデータ転
送はいずれもバッファメモリ1を転送先又は転送元とす
るが、バッファメモリ1は1つの入出力ポートしか持っ
ていないので、バスコントロール部2は、これら3種類
のデータ転送において優先順位を設けることで、瞬時に
おいてはいずれかのデータ転送だけを許可し、それら3
種類のデータ転送を時分割で切り替えていくことによっ
て、見かけ上、3種類のデータ転送が並行に行われるよ
う制御している。
【0032】図6は、C1系列の誤り訂正を行う場合に
おけるバッファメモリ1内の積符号の読み出し順序を示
す図である。バス調停制御部22は、第2DMAチャネ
ル23bをイネーブルにし、C1系列の誤り訂正のため
のデータを送る旨を誤り訂正部5に通知した後に、アド
レス生成部21からバッファメモリ1に一定順序で読み
出しアドレスを出力させることによって、以下のよう
に、バッファメモリ1に格納されたデータを誤り訂正部
5に転送させる。
【0033】つまり、バスコントロール部2は、まず、
第1行の4バイト分のデータd1〜d4を連続してバッ
ファメモリ1から読み出して誤り訂正部5に転送する。
次に第2行の4バイト分のデータd5〜d8を連続して
読み出して転送する。次に第3行の4バイト分のデータ
d9〜d12を連続して読み出して転送する。次に第4
行の4バイト分のデータd13〜d16を連続して読み
出して転送する。ここまで来てから再び第1行に戻り、
同様にして4バイト分のデータd17〜d20を連続し
て読み取り転送する。以下同様の読み出しと転送を繰り
返すことによって第1行から第4行までの全てのデータ
についての読み出しと転送を終了すると、今度は第5行
から第8行までの4行分のデータに対して同様の処理を
繰り返す。このようにして、4行分のデータを並列に読
み出して転送する処理を1ブロックの全ての行について
繰り返す。
【0034】なお、バスコントロール部2は、行方向に
連続する4バイト分のデータの読み出しと転送について
は、時間的に不可分な処理として連続的に行われるよう
DMAモードで行う。つまり、この間は、他の処理(デ
ータ入力、データ出力)のためのバッファメモリ1への
アクセスを禁止している。これは、行方向に連続するデ
ータは通常、バッファメモリ1の連続するアドレスに格
納されているので、DRAMのページヒットによる高速
アクセスを利用することができるからである。
【0035】図7は、図6に示された順序でバッファメ
モリ1からデータが転送されてきた場合における誤り訂
正部5のデータ分配部51の動作を示す図である。切替
え制御部51bは、バスコントロール部2からC1系列
の誤り訂正を開始する旨の指示を受けると、セレクタ5
1aを制御することによって、バスコントロール部2か
ら送られてくるデータを以下のように振り分けさせる。
【0036】つまり、データ分配部51は、最初に転送
されてきた第1行に属する4バイト分のデータd1〜d
4についてはシンドローム生成部52に入力されるよう
に振り分け、次に転送されてきた第2行に属するデータ
d5〜d8についてはシンドローム生成部53に入力さ
れるように振り分け、次に転送されてきた第3行に属す
るデータd9〜d12についてはシンドローム生成部5
4に入力されるように振り分け、次に転送されてきた第
4行に属するデータd13〜d16についてはシンドロ
ーム生成部55に入力されるように振り分ける。同様に
して、次に転送されてきた第1行に属するデータd17
〜d20については再びシンドローム生成部52に入力
させる。このように、データ分配部51は、C1系列の
誤り訂正においては、バッファメモリ1からバスコント
ロール部2を経て4バイトをひとまとまりとして繰り返
し送られてくるデータを、4バイトを単位として4つの
シンドローム生成部52〜55それぞれに順に切り替え
ながら入力させる。
【0037】図8は、C1系列の誤り訂正におけるバッ
ファメモリ1から誤り訂正部5へのデータ転送と4つの
シンドローム生成部52〜55での積和演算のタイミン
グを示す図である。連続したアドレスの4バイト分のデ
ータd1〜d4、d5〜d8等がバッファメモリ1から
読み出され誤り訂正部5に転送されるのにそれぞれ時間
t1だけ必要とし、4バイトを単位とするデータ転送は
時間t2の間隔で繰り返されるとする。なお、4バイト
を単位とするデータ転送を終えてから次の4バイトを単
位とするデータ転送を開始するまでに時間を要している
のは、これら4バイトはそれぞれ異なる行に属するの
で、新たな4バイトの読み出しに際しては毎回DRAM
のページミスが生じている可能性があることを考慮した
からである。つまり、4バイト中の第1バイトへのアク
セス時にバスコントロール部2が新たな行アドレスをバ
ッファメモリ1に出力しなければならないと仮定してい
る。
【0038】4つのシンドローム生成部52〜55は、
それぞれ第1行〜第4行のシンドローム計算を行うが、
入力された4バイト分のデータに対して必要とされる4
つの積和演算を4×t2の時間で行う。例えば、第1行
のシンドローム計算を実行するシンドローム生成部52
は、入力された4バイト分のデータd1〜d4について
の積和演算を4×t2の時間内に行う。これは、シンド
ローム生成部52に着目すると、最初に入力される4バ
イトデータがd1〜d4で、次に入力される4バイトデ
ータがd17〜d20であり、これらの時間間隔は4×
t2であるので、この時間内に4バイト分の積和演算を
終えればよいからである。そして、そのような演算速度
が維持される限りは、各シンドローム生成部52〜55
の前段に設けられたキューバッファ62に蓄積されるデ
ータ量は、最大で4バイトであり、瞬時であっても4バ
イトを超えることはない。
【0039】このように、各シンドローム生成部52〜
55は、1バイトあたりt2の時間で積和演算を終えれ
ばよいことになり、データ転送速度(4バイト/t2)
に比べて1/4の速度でシンドローム計算を実行すれば
よいことがわかる。また、異なる複数の符号列に対して
小刻みに(4バイト単位で)符号列を切り替えながら並
列に処理を進めているので、1符号列ずつ処理する方法
に比べて、1符号列あたりに要求されるシンドローム計
算の速度は低くて済むと共にキューバッファのサイズも
小さくて済む。このことは、逆に言えば、バッファメモ
リ1から誤り訂正部5への実質的なデータ転送速度(全
体としての誤り訂正速度)を従来よりも高速化させるこ
とができること、及び、単に誤り訂正回路を複数個設け
た場合に比べ、より小さな回路規模で4並列の誤り訂正
を行うことができることを意味する。
【0040】なお、同一の符号列において連続して読み
出すデータ数を増やすことによって、DRAMのページ
ヒットによるデータ転送の高速化を図ることが可能とな
る。このときには、誤り訂正の並列度を増やすことが望
ましい。誤り訂正の並列処理の並列度を増やすにしたが
ってメモリアドレスの連続転送バイト数を増やしていく
ことにより、1符号列あたりの処理負荷に対する回路規
模は軽減され、効率的な誤り訂正の並列化が実現される
からである。
【0041】次にC2系列の誤り訂正を行う場合の本装
置100の動作について図9〜図11を用いて説明す
る。図9は、C2系列の誤り訂正を行う場合におけるバ
ッファメモリ1内の積符号の読み出し順序を示す図であ
る。バス調停制御部22は、第2DMAチャネル23b
をイネーブルにし、C2系列の誤り訂正のためのデータ
を送る旨を誤り訂正部5に通知した後に、アドレス生成
部21からバッファメモリ1に一定順序で読み出しアド
レスを出力させることによって、以下のように、バッフ
ァメモリ1に格納されたデータを誤り訂正部5に転送さ
せる。
【0042】つまり、バスコントロール部2は、まず、
第1行の4バイト分のデータd1〜d4を連続してバッ
ファメモリ1から読み出して誤り訂正部5に転送する。
次に第2行の4バイト分のデータd5〜d8を連続して
読み出して転送する。以下、同様にして、各行について
4バイト分のデータの読み出しと転送を第1列〜第4列
の全てのデータについて繰り返す。これによって、C2
系列の4符号列のデータ転送を終える。同様にして、今
度は第5列〜第8列の全てのデータについて4バイト分
のデータの読み出しと転送を繰り返す。このようにし
て、4列分のデータを並列に読み出して転送する処理を
1ブロックの全ての列について繰り返す。
【0043】なお、バスコントロール部2は、C1系列
のデータ転送の場合と同様に、行方向に連続する4バイ
ト分のデータの読み出しと転送については、時間的に不
可分な処理として連続的に行われるようDMAモードで
行う。つまり、この間は、他の処理(データ入力、デー
タ出力)のためのバッファメモリ1へのアクセスを禁止
することにより、DRAMのページヒットによる高速ア
クセスを利用している。
【0044】図10は、図9に示された順序でバッファ
メモリ1からデータが転送されてきた場合における誤り
訂正部5のデータ分配部51の動作を示す図である。切
替え制御部51bは、バスコントロール部2からC2系
列の誤り訂正を開始する旨の指示を受けると、セレクタ
51aを制御することによって、バスコントロール部2
から送られてくるデータを以下のように振り分けさせ
る。
【0045】つまり、データ分配部51は、最初に転送
されてきた第1行に属する4バイト分のデータd1〜d
4については各データが順に4つのシンドローム生成部
52〜55に入力されるように振り分ける。具体的に
は、データd1をシンドローム生成部52に送り、デー
タd2をシンドローム生成部53に送り、データd3を
シンドローム生成部54に送り、データd4をシンドロ
ーム生成部55に送る。次に転送されてきた第2行に属
するデータd5〜d8についても同様に、各データが順
に4つのシンドローム生成部52〜55に入力されるよ
うに振り分ける。このようにして、データ分配部51
は、C2系列の誤り訂正においては、4バイトをひとま
とまりとして繰り返し送られてくるデータを各バイトご
とに4つのシンドローム生成部52〜55に振り分ける
処理を繰り返す。
【0046】これによって、第1列に属するデータd
1、d5、・・はシンドローム生成部52に入力され、
第2列に属するデータd2、d6、・・はシンドローム
生成部53に入力され、第3列に属するデータd3、d
7、・・はシンドローム生成部54に入力され、第4列
に属するデータd4、d8、・・はシンドローム生成部
55に入力される。同様に、第5列に属するデータはシ
ンドローム生成部52に入力され、第6列に属するデー
タはシンドローム生成部53に入力され、第7列に属す
るデータはシンドローム生成部54に入力され、第8列
に属するデータはシンドローム生成部55に入力され
る。
【0047】図11は、C2系列の誤り訂正におけるバ
ッファメモリ1から誤り訂正部5へのデータ転送と4つ
のシンドローム生成部52〜55での積和演算のタイミ
ングを示す図である。連続したアドレスの4バイト分の
データd1〜d4、d5〜d8等がバッファメモリ1か
ら読み出され誤り訂正部5に転送されるのにそれぞれ時
間t1だけ必要とし、4バイトを単位とするデータ転送
は時間t2の間隔で繰り返されることは、図8に示され
るC1の場合と同じである。
【0048】4つのシンドローム生成部52〜55は、
それぞれ第1列〜第4列のシンドローム計算を行うが、
1バイトのデータにつき1つの積和演算をt2の時間で
行う。例えば、第1行のシンドローム計算を実行するシ
ンドローム生成部52は、最初に入力された1バイトの
データd1についての積和演算をt2の時間内に行い、
次に入力された1バイトのデータd5についての積和演
算をt2の時間内に行う。これは、シンドローム生成部
52に着目すると、時間t2に1バイトのデータが入力
されることになるからである。そして、そのような演算
速度が維持される限りは、各シンドローム生成部52〜
55の前段に設けられたキューバッファ62に蓄積され
るデータ量は、最大で1バイトであり、瞬時であっても
1バイトを超えることはない。
【0049】このように、各シンドローム生成部52〜
55は、1バイトあたりt2の時間で積和演算を終えれ
ばよいことになり、C1系列の誤り訂正の場合と同様の
処理速度で済むことがわかる。また、このC2系列の誤
り訂正においては、個々のシンドローム生成部52〜5
5へのデータ入力は、バースト的に行われるC1系列の
場合と異なり、均一的に行われる(常に1バイト/t2
の速度で入力される)ので、個々のシンドローム生成部
52〜55の前段にキューバッファを設ける必要はなく
なる。
【0050】以上説明したように、第1の実施の形態に
よれば、誤り訂正部5における並列処理の並列度と、バ
ッファメモリ1から連続するアドレスのデータ(積符号
における同一行の連続するデータ)を読み出して誤り訂
正部5に転送する際のデータ数とを同じ数にしているの
で、C1系列とC2系列の両方向の誤り訂正について、
バッファメモリ1からの読み出し速度と個々のシンドロ
ーム生成部での積和演算速度との関係が同一になり、そ
して、個々のシンドローム生成部の前段に必要とされる
キューバッファのサイズは小さくて済む。これによっ
て、C1系列とC2系列の両方向の誤り訂正に関して、
シンドローム生成部の能力をフルに発揮させるためのバ
スコントロール部2による制御手順も共通化され、小さ
い回路規模で高速に誤り訂正を行うことができる誤り訂
正装置が実現される。
【0051】つまり、C1系列の誤り訂正とC2系列の
誤り訂正とをバランス良く実施することができ、誤り訂
正装置に必要とされる回路の冗長度は削減される。な
お、図6及び図9に示された読み出し順序は行方向の符
号列のバイト数が4の倍数であることを前提としたが、
そうでない場合であっても、本装置100は正しく誤り
訂正を行うことができる。例えば、行方向の符号列がそ
のバイト数を4で割ったときの余りが2となるような長
さである場合には、バッファメモリ1内の積符号の読み
出し順序を以下のように変更すればよい。
【0052】図12は、行方向の符号列がそのバイト数
を4で割ったときの余りが2となるような長さである場
合において、C1系列の誤り訂正を行うときのバッファ
メモリ1内の積符号の読み出し順序を示す図である。バ
スコントロール部2は、4行分の符号列に対して、各符
号列の最後部の2バイトを除く部分については先頭から
順に連続する4バイトの読み出しと転送を繰り返し、最
後部の2バイトについては各符号列につき2バイトの読
み出しと転送を行う。これに伴って、データ分配部51
も同様の動作、即ち、バッファメモリ1から4バイトを
ひとまとまりとして繰り返し送られてきたデータについ
ては4バイトを単位として4つのシンドローム生成部5
2〜55それぞれに振り分け、2バイトをひとまとまり
として送られてきたデータについては2バイトを単位と
して4つのシンドローム生成部52〜55それぞれに振
り分ければよい。
【0053】同様に、図13は、行方向の符号列がその
バイト数を4で割ったときの余りが2となるような長さ
である場合において、C2系列の誤り訂正を行うときの
バッファメモリ1内の積符号の読み出し順序を示す図で
ある。バスコントロール部2は、最後部の2列を除く符
号列に対しては最初から4列ごとに4バイトのデータの
読み出しと転送を繰り返し、最後部の2列の符号列に対
しては2バイトの読み出しと転送を繰り返す。これに伴
って、データ分配部51も同様の動作、即ち、バッファ
メモリ1から4バイトをひとまとまりとして繰り返し送
られてきたデータについては4バイトを単位として4つ
のシンドローム生成部52〜55それぞれに振り分け、
2バイトをひとまとまりとして繰り返し送られてきたデ
ータについては2バイトを単位として4つのシンドロー
ム生成部52〜55それぞれに振り分ければよい。
【0054】このようなバスコントロール部2による読
み出し順序の変更やデータ分配部51による振り分け順
序の変更は、具体的には、バスコントロール部2でのバ
ス調停制御部22による制御手順やデータ分配部51で
の切替え制御部51bによる制御手順を変更することに
よって容易に実現することが可能である。また、第1の
実施の形態は4つの符号列に対するシンドローム計算を
並列に実行する誤り訂正装置であったが、本発明は、こ
のような並列度に限定されるものではなく、例えば、2
並列や8並列の誤り訂正装置であってもよい。つまり、
第1の実施の形態では、誤り訂正部5は4個のシンドロ
ーム生成部52を有したが、必要に応じて2個としたり
8個とすればよい。
【0055】図14、図15及び図16は、2並列で誤
り訂正を行う誤り訂正装置におけるC1系列の誤り訂正
の動作を説明する図であり、それぞれ、バッファメモリ
からのデータの読み出し順序、その順序でデータが入力
されたときの誤り訂正部におけるのデータ分配部の動
作、その場合におけるデータ転送とシンドローム計算の
タイミングを示す。
【0056】同様に、図17、図18及び図19は、2
並列で誤り訂正を行う誤り訂正装置におけるC2系列の
誤り訂正の動作を説明する図であり、それぞれ、バッフ
ァメモリからのデータの読み出し順序、その順序でデー
タが入力されたときの誤り訂正部におけるのデータ分配
部の動作、その場合におけるデータ転送とシンドローム
計算のタイミングを示す。
【0057】また、第1の実施の形態では、光ディスク
などの記録媒体に記録されたデータを読み取り、読み取
ったデータ列から誤りを見つけ、訂正し、訂正後のデー
タをホストコンピュータに転送するというデータの流れ
について説明を行ったが、本発明は、これとは逆に、ホ
ストコンピュータからデータを出力し、そのデータに誤
り訂正のためのパリティ符号を付加し、光ディスクなど
の記録媒体に書き込む流れに適用することもできる。本
発明は、記録媒体とホストコンピュータ間のデータパス
の途中に設けられたバッファメモリに一時的に格納され
た積符号について、その積符号を構成する全ての符号列
を効率的に読み出して第3の装置(記録媒体やホストコ
ンピュータを除く処理装置)に転送することにより、第
3の装置においてC1系列とC2系列の両方に対する符
号処理を高速かつ小規模な回路で行うことを可能とする
技術だからである。
【0058】具体的には、誤り訂正部5における4つの
シンドローム生成部52〜55と誤り位置・誤り数値演
算部56とをパリティデータ生成回路に置き換え、誤り
データ更新部57をパリティデータ書き込み回路に置き
換える等の変更をすればよい。これによって、記録媒体
へのデータの書き込み時における誤り訂正符号の付加と
記録媒体からのデータの読み出し時における誤りデータ
の訂正という「誤り訂正に伴う処理」を高速に実行する
誤り訂正装置が実現される。
【0059】また、第1の実施の形態では、バスコント
ロール部2は、バッファメモリ1から誤り訂正部5への
4バイトのデータ転送をひとつのDMA転送で行い、こ
のDMA転送と次のDMA転送の間についてはバッファ
メモリ1にアクセスする他のデータ転送を許可していた
が、これを16バイト分のデータ転送をひとつのDMA
転送で行うこととしてもよい。これによって、C1系列
の誤り訂正においては、図6に示された16バイトのデ
ータd1〜d16がひとつのDMA転送によってバッフ
ァメモリ1から誤り訂正部5に転送されることになり、
この間においてはバッファメモリ1にアクセスする他の
データ転送による割り込みが禁止されるので、16バイ
トのデータ転送時間、即ち、4つのシンドローム生成部
52〜55それぞれに4バイトずつデータが供給される
のに要する時間が概ね一定化され、誤り訂正部5へのデ
ータ転送がボトルネックとなってシンドローム計算の処
理速度が著しく低下している場合には、そのような事態
が回避される。
【0060】また、第1の実施の形態では、誤り訂正装
置100内部のデータバスは8ビット幅であったが、例
えば、32ビット幅とすることもできる。このときに
は、4バイト分のデータは1回のメモリアクセスによっ
てバッファメモリ1から読み出されて誤り訂正部5に転
送される。そして、データ分配部51は、C1系列の誤
り訂正時には、32ビット幅のデータを8ビットごとに
桁分割し、それぞれを4つのシンドローム生成部52〜
55に分配すればよい。
【0061】また、第1の実施の形態では、誤り訂正部
5においては、シンドローム計算だけが並列化されてい
たが、それに続く誤り位置・誤り数値演算部56や誤り
データ更新部57についても並列化してもよい。これに
よって、もしシンドローム計算において大量のエラーが
発生した場合等においても一定の訂正処理を確保するこ
とができる。 (第2の実施の形態)第2の実施の形態は、誤り検出と
誤り訂正とを分離し、誤り検出については、データがバ
ッファメモリに格納されるときに並行して実行してお
き、その結果を誤り訂正に反映させることで、誤りが発
生していないデータについてはバッファメモリから誤り
訂正部に転送されることを回避した高速な光ディスク読
み取り装置に関する。
【0062】図20は、本発明の第2の実施の形態にお
ける光ディスク読み取り装置2000の構成を示すブロ
ック図である。光ディスク読み取り装置2000は、光
ディスク2010に記録されているデータを読み取り、
読み取ったデータの誤りを訂正した後にホストコンピュ
ータ2070に転送する装置であって、ピックアップ2
020と、増幅器2030と、フロントエンドプロセッ
サ2040と、光ディスク制御部2100と、回転モー
タ2050と、サーボコントローラ2060と、システ
ム制御部2080とから構成される。
【0063】システム制御部2080は、ホストコンピ
ュータ2070からのデータ要求のコマンドを光ディス
ク制御部2100を介して受け付け、コマンドを解釈
し、サーボコントローラ2060および光ディスク制御
部2100を制御してデータ要求に応える機能を実現す
るマイクロプロセッサである。回転モータ2050は、
光ディスク2010を回転させるものであり、サーボコ
ントローラ2060は、フロントエンドプロセッサ20
40からの情報をもとにシステム制御部2080の指示
を受けて回転モータ2050の回転およびピックアップ
2020のレンズ位置を制御するものである。
【0064】光ディスク2010は、DVD−ROMで
あり、ピックアップ2020は、光ディスク2010に
記録されたデータをレーザ光線を当てて反射光により読
み取って電気信号に変換するものであり、増幅器203
0は、ピックアップ2020の出力した信号を増幅して
フロントエンドプロセッサ2040に出力する。フロン
トエンドプロセッサ2040は、入力された信号に応じ
てサーボコントローラ2060と回転モータ2050お
よびピックアップ2020とでフィードバック制御をお
こない、安定した信号を光ディスク制御部2100に出
力するものであり、イコライザー、AGC(自動利得制
御回路)、PLL(Phase LockedLoop)などを有する。
なお、フロントエンドプロセッサ2040が光ディスク
制御部2100に出力する信号は、変調されたデータで
ある。
【0065】光ディスク制御部2100は、ホストコン
ピュータ2070からのデータ要求のコマンドをシステ
ム制御部2080に通知し、システム制御部2080の
制御の元で、フロントエンドプロセッサ2040から入
力された信号を復調して必要なデータを取り出し、誤り
訂正を施し、ホストコンピュータ2070へデータを出
力する。
【0066】なお、図20では、太い矢印線は、光ディ
スク2010に記録されているデータがホストコンピュ
ータ2070に到達するまでの流れを示している。すな
わち、光ディスク2010に記録されているデータはピ
ックアップ2020、増幅器2030、フロントエンド
プロセッサ2040、光ディスク制御部2100を介し
てホストコンピュータ2070に到達する。また、光デ
ィスク2010に記録されるデータの構成は、第1の実
施の形態と同様に、図37に示される積符号が採用さ
れ、誤り訂正符号の種類としてはReed-Solomon符号が採
用されている。
【0067】図21は、光ディスク制御部2100の詳
細な構成を示すブロック図である。光ディスク制御部2
100は、フロントエンドプロセッサ2040から送ら
れてきた信号を復調し誤り訂正を行った後にホストコン
ピュータ2070に送り出す回路であり、バッファメモ
リ2110と、ディスクインターフェース部2120
と、誤り訂正部2130と、ホストインターフェース部
2140と、第1転送部2150と、第2転送部216
0と、第3転送部2170と、バス制御部2180と、
誤り検出部2190と、誤り符号列記憶部2200とを
有する。なお、図21中の太い矢印線は、バッファメモ
リ2110へのDMA転送によるデータの書き込み、及
び、バッファメモリ2110からのDMA転送によるデ
ータの読み出しにおけるデータパスを示している。
【0068】バッファメモリ2110は、2次元アドレ
ス(行アドレスと列アドレス)によって特定される記憶
領域を有するDRAM等の半導体メモリであり、図37
に示される積符号を複数個だけ一時的に記憶する記憶容
量を有する。ディスクインターフェース部2120は、
フロントエンドプロセッサ2040から入力された信号
を復調した後に、得られたデータをバッファメモリ21
10に格納するために第1転送部2150に出力する。
なお、ディスクインターフェース部2120から出力さ
れたデータは第1転送部2150によってバッファメモ
リ2110に転送されると共に、そのデータは同時並行
して誤り検出部2190にも入力される。
【0069】誤り検出部2190は、第1転送部215
0によりディスクインターフェース部2120から送ら
れてきたデータについてC1系列の符号列ごとに誤りが
あるかないかを判定し、誤りを検出した場合には、その
符号列の番号をRAMからなる誤り符号列記憶部220
0に格納しておく。なお、この誤り検出部2190は、
1列の符号列ごとに一定個数のシンドロームを算出し、
それらシンドローム中に非零が存在するか判断し、存在
する場合に誤りが発生していると判断する。具体的に
は、誤り検出部2190は、第1の実施の形態における
誤り訂正部5が有する4つのシンドローム生成部52〜
55のひとつ(図4に示される回路)と、生成されたシ
ンドローム全てについて零であるか否かを判断する論理
積ゲート等からなる。
【0070】誤り訂正部2130は、ディスクインター
フェース部2120から転送されバッファメモリ211
0に格納された積符号のうち、誤りが発生しているデー
タだけを対象としてC1系列及びC2系列の誤り訂正を
行う。具体的には、誤り訂正部2130は、誤り符号列
記憶部2200に格納された番号を参照することで、誤
りの発生しているC1系列の符号列又は誤りの発生して
いるブロックのC2系列の符号列だけを対象としてバッ
ファメモリ2110中の誤りデータを訂正する。
【0071】ホストインターフェース部2140は、誤
り訂正部2130による処理が終わったデータを第3転
送部2170によりバッファメモリ2110から読み出
してホストコンピュータ2070に出力するインターフ
ェース回路である。第1転送部2150は、ディスクイ
ンターフェース部2120からの転送要求に対するバス
制御部2180による許可通知を受けて、ディスクイン
ターフェース部2120からバッファメモリ2110へ
のDMAによるデータ転送と同一データについての誤り
検出部2190へのデータ転送とを同時並列に行うDM
Aコントローラである。
【0072】第2転送部2160は、誤り訂正部213
0からの転送要求に対するバス制御部2180による許
可通知を受けて、バッファメモリ2110から誤り訂正
部2130へのDMAによるデータ転送を行うDMAコ
ントローラである。第3転送部2170は、ホストイン
ターフェース部2140からの転送要求に対するバス制
御部2180による許可通知を受けて、バッファメモリ
2110からホストインターフェース部2140へのD
MAによるデータ転送を行うDMAコントローラであ
る。
【0073】バス制御部2180は、第1転送部215
0と第2転送部2160と第3転送部2170それぞれ
によるDMA転送が排他的に実行されるよう予め定めら
れた優先順位に基づいてそれら3つの転送部2150、
2160、2170を制御したり、バッファメモリ21
10中の誤りデータを書き換えるときの誤り訂正部21
30によるバッファメモリ2110への通常の(非DM
Aによる)アクセスを制御する。
【0074】図22は、バス制御部2180の詳細な構
成を示すブロック部である。バス制御部2180は、バ
ッファメモリ1へのアクセスのためのアドレスを生成し
て出力するアドレス生成部2181と、第1転送部21
50、第2転送部2160、第3転送部2170及び誤
り訂正部2130のいずれかとバッファメモリ2110
とをバス接続するバス切替部2183と、それら3つの
転送部2150、2160、2170によるDMA転送
及び誤り訂正部2130によるバッファメモリ2110
へのアクセスが排他的に実行されるよう予め定められた
優先順位に基づいてそれら3つの転送部2150、21
60、2170及びバス切替部2183を制御するバス
調停制御部2182とからなる。
【0075】なお、アドレス生成部21は、これら3つ
のDMA転送においては、バッファメモリ1に対してペ
ージモードによる高速アクセスを行う。具体的には、ペ
ージヒットする限りは、バッファメモリ1への行アドレ
ス(RAS)を固定して出力したまま、列アドレス(C
AS)だけを必要なデータ個数だけインクリメントしな
がら出力する。
【0076】図23は、バス調停制御部2182による
3つの排他的なDMA転送、即ち、第1転送部2150
によるディスクインターフェース部2120からバッフ
ァメモリ2110へのDMA転送(DMA#1)、第2
転送部2160によるバッファメモリ2110から誤り
訂正部2130へのMA転送(DMA#2)及び第3転
送部2170によるバッファメモリ2110からホスト
インターフェース部2140へのDMA転送(DMA#
3)のスケジューリング例を示すタイミングチャートで
ある。本図において、横軸は時間の経過を示し、三角印
は各DMA転送に対する要求の発生を示し、ハッチング
された四角形はDMA転送の実行中を示す。
【0077】バス調停制御部2182は、DMA#1を
最も高い優先度で許可し、DMA#2を最も低い優先度
で許可する。即ち、バス調停制御部2182は、いずれ
のDMA転送も実行中でない場合には、各DMAに対す
る要求の発生順序に拘わらず、DMA#1に対する要求
が発生していればDMA#1を最優先して実行させ、D
MA#1に対する要求が発生していなければ、DMA#
3を実行させ、DMA#1に対する要求及びDMA#3
に対する要求のいずれも発生していないときに限り、D
MA#2を実行させる。但し、DMA#1に対する要求
が連続して発生しても、他のDMA#2又はDMA#3
に対する要求が発生しているときは、DMA#1を連続
して実行させることなく、他のDMA#2又はDMA#
3を実行させる。
【0078】なお、バッファメモリ2110中の誤りデ
ータを書き換えるときの誤り訂正部2130によるバッ
ファメモリ2110への通常のアクセスについては、バ
ス調停制御部2182は、DMA#3と同等に扱う。つ
まり、DMA#1に対する要求及びDMA#3に対する
要求のいずれも発生していないときに限り、誤り訂正部
2130によるバッファメモリ2110への通常のアク
セスを許可する。
【0079】図24は、誤り訂正部2130の詳細な構
成を関連する他の構成要素と共に示す回路図である。誤
り訂正部2130は、図37に示された積符号を構成す
るC1系列及びC2系列の符号列のうち予め誤りが検出
されている符号列に対して1行又は1列の符号列ごとに
誤り訂正を実行する回路であり、C1符号列転送要求部
2135と、シンドローム計算部2131と、ユークリ
ッド計算部2132と、チェーン計算部2133と、エ
ラーデータ更新部2134とから構成される。
【0080】C1符号列転送要求部2135は、誤り符
号列記憶部2200を参照することにより、誤り符号列
記憶部2200に記憶された誤りを含むC1系列の符号
列をバッファメモリ2110から読み出すよう第2転送
部2160に要求する。シンドローム計算部2131
は、C1符号列転送要求部2135から要求のあった誤
りを含むC1符号列をバッファメモリ2110からバス
制御部2180、第2転送部2160を介して取得した
後に、その符号列のシンドロームを計算する回路であ
り、その計算結果をユークリッド計算部2132に引き
渡す。
【0081】なお、このシンドローム計算部2131
は、1行又は1列の符号列ごとにシンドロームを算出す
る回路であり、第1の実施の形態における誤り訂正部5
が有する4つのシンドローム生成部52〜55のひとつ
(図4に示される回路)と同一である。つまり、いま、
積符号の大きさをk1=k2=100バイト、m1=m
2=10バイトとした場合には、シンドローム計算部2
131は、入力データを一時的にバッファリングするキ
ューバッファと、10個のシンドロームそれぞれを算出
する10個の積和演算回路とからなり、それら積和演算
回路それぞれは1つの積和値を記憶するレジスタと、そ
のレジスタに格納された積和値を読み出して固有の係数
を乗算するガロア体乗算器と、その乗算結果と次に入力
された1つのデータとを加算するガロア体加算器とから
なる。
【0082】ユークリッド計算部2132は、シンドロ
ーム計算部2131から送られるシンドロームを基にし
てユークリッド法等により誤り位置多項式と誤り数値多
項式を特定するための各項の係数を算出する回路であ
り、算出した係数をチェーン計算部2133に引き渡
す。チェーン計算部2133は、ユークリッド計算部2
132から通知された係数によって特定される誤り位置
多項式の根をチェーン検索と呼ばれる方法等によって算
出する回路であり、その算出結果をユークリッド計算部
2132から通知された誤り数値多項式を特定する係数
と共にエラーデータ更新部2134に引き渡す。
【0083】エラーデータ更新部2134は、チェーン
計算部2133から通知された誤り位置と誤り数値多項
式を用いて、その誤りの位置での誤り数値を求めた後
に、バッファメモリ2110内のその誤り位置にあたる
情報データまたはパリティデータをバス制御部2180
を介して読み取り、それらの排他的論理和を計算し、得
られた値をバッファメモリ2110内の元の位置に書き
戻す。
【0084】なお、第2転送部2160によるバッファ
メモリ2110からシンドローム計算部2131へのデ
ータ転送はDMA転送によるが、バッファメモリ211
0とエラーデータ更新部2134間のデータ転送はバス
制御部2180による通常の(非DMAによる)メモリ
アクセスによって行われる。これは、誤り訂正によって
書き換える対象となるデータはバッファメモリ2110
内の連続するアドレスに格納されたデータとは限らない
からである。また、誤り訂正部2130を構成する4つ
の回路2131〜2134は、それぞれ同期して並列処
理、すなわちパイプライン方式による逐次処理をおこな
う。
【0085】図25は、複数ブロックのデータを連続し
て処理する場合における光ディスク制御部2100内で
の処理工程を示すタイミングチャートである。本図にお
いて第1ブロックから第5ブロックは、それぞれバッフ
ァメモリ2110に格納される1ブロックのデータであ
る。また、「バッファリング」は第1転送部2150に
よるディスクインターフェース部2120からバッファ
メモリ2110へのデータ転送を示し、「誤り検出」は
第1転送部2150によるディスクインターフェース部
2120から誤り検出部2190へのデータ転送と誤り
検出部2190での誤り検出を示し、「誤り訂正」は第
2転送部2160によるバッファメモリ2110から誤
り訂正部2130へのデータ転送と誤り訂正部2130
での誤り訂正を示し、「ホスト転送」は第3転送部21
70によるバッファメモリ2110からホストインター
フェース部2140へのデータ転送を示す。
【0086】本図に示されるように、同一のブロックに
対する並列したバッファリング及び誤り検出と、バッフ
ァリング及び誤り検出が終了したブロックに対する誤り
訂正と、誤り訂正が終了したブロックに対するホスト転
送とがパイプラインとして逐次かつ並列に実行される。
例えば、サイクルT5に注目すると、第5ブロックがデ
ィスクインターフェース部からバッファメモリ2110
に転送されて格納されると同時に誤り検出部2190に
おいて誤り検出が行われ、第4ブロックがバッファメモ
リ2110から誤り訂正部2130に転送されて誤り訂
正が行われ、第3ブロックがバッファメモリ2110か
らホストインターフェース部2140に転送される。
【0087】なお、本図ではバッファメモリ2110に
アクセスする3つのデータ転送が並列に行われている
が、これはブロックという大きいサイズでのデータ転送
の観点から表現されているからであり、ブロックを構成
する個々のデータに着目した場合には(瞬時的には)、
いずれかのデータ転送だけが実行されている。このよう
な排他的なデータ転送及び上記パイプライン制御は、図
23に示されるタイミングチャートのにように、バス制
御部2180のバス調停制御部2182が一定の優先順
位に基づいて3つの転送部2150、2160、217
0によるデータ転送を小さい時間単位で切り替えながら
許可することによって実現されている。
【0088】また、本図において、第3ブロックに対す
る誤り訂正が行われていないのは、これらブロックにつ
いては誤り検出の工程において全く誤りが発見されなか
ったからである。つまり、第3ブロックについては誤り
検出部2190において全く誤りが検出されなかったの
で、その旨の通知を受けた誤り訂正部2130は、この
ブロックに対する誤り訂正についての一切の処理を行わ
ない。つまり、誤り訂正部2130がその旨をバス制御
部2180に通知することにより、第3ブロックに属す
る全ての符号列について第2転送部2160によるバッ
ファメモリ2110から誤り訂正部2130へのデータ
転送は行われない。
【0089】このように、同一ブロックに対するバッフ
ァリングと誤り検出が並列に行われ、その誤り検出にお
いて誤りが検出されなかった場合には、その旨が誤り訂
正部2130に通知されるので、誤り訂正部2130
は、誤り訂正の必要のないデータについてバッファメモ
リ2110から読み出すという無駄なデータ転送を回避
することができる。つまり、従来であれば、光ディスク
から読み出された全てのデータについてバッファメモリ
への格納と、誤り検出・訂正のためのバッファメモリか
らの読み出しと、ホストコンピュータにデータを送出す
るためのバッファメモリからの読み出しという3つのデ
ータ転送が行われていたが、この第2の実施の形態で
は、誤りが発生していないデータについては、バッファ
メモリへの格納とホストコンピュータへのデータ送出の
ためのバッファメモリからの読み出しという2つのデー
タ転送だけで済む。
【0090】図26は、図25に示されたタイミングチ
ャートを詳細にした図であり、誤り検出と誤り訂正の2
つの工程に関してC1系列及びC2系列の処理が区別し
て示されている。ここでは、誤り検出においては、C1
系列についてだけ行われ、誤り訂正においては、先ずC
1系列の誤り訂正が、続いてC2系列の誤り訂正がそれ
ぞれ1回ずつ行われている。
【0091】具体的には、サイクルT1において、誤り
検出部2190は、第1転送部2150によってディス
クインターフェース部2120から送られてきた第1ブ
ロックに対してC1系列の符号列に対する誤りの発生の
有無を調べる。そして、もし誤りの発生を検出した場合
には、誤り検出部2190は、誤りの発生している符号
列の番号を誤り符号列記憶部2200に記録しておく。
【0092】ここで、誤り検出部2190がC1系列に
ついて誤り検出をしているのは、ディスクインターフェ
ース部2120からバッファメモリ2110へのデータ
転送は積符号を行方向にスキャンすることを第1行から
第n2行まで繰り返す順序で行われるので、C1系列の
誤り検出が容易となるからである。また、C2系列に誤
り検出を行っていないのは、直前のC1系列に対する誤
り訂正の結果、1つでも誤り訂正が不可能な符号列が存
在すればC2系列の誤り訂正を実行するすることが必要
になるため、あえてC2系列の誤り検出をする必要がな
いからである。
【0093】次にサイクルT2において、誤り訂正部2
130は、まずC1系列の符号列をバッファメモリ21
10から読み出して誤り訂正を行う。ただし、誤り訂正
部2130は、誤り符号列記憶部2200に格納されて
いる番号を参照することにより、誤りが検出されたC1
系列の符号列だけをバッファメモリ2110から読み出
して誤り訂正する。そして、誤りが検出された全てのC
1系列の符号列についての誤り訂正を終えると、そのC
1系列に1つでも誤り訂正が不可能な符号列が存在した
場合には、次にそのブロックを構成する全てのC2系列
の符号列を順次にバッファメモリ2110から読み出し
て誤り訂正を実行する。なお、C2系列に関してはブロ
ックを構成する全ての符号列に対して誤り訂正を行って
いるが、これは、誤り検出部2190がC1系列につい
てだけ誤り検出をしているので、C2系列の符号列ごと
の誤りの有無が不明だからである。
【0094】図27は、C1系列の誤り訂正を行う場合
における誤り訂正部2130内での行単位の処理工程を
示すタイミングチャートである。ここでは、誤り検出部
2190によって第1行、第4行、第6行及び第11行
の符号列に誤りが検出された場合におけるシンドローム
計算部2131、ユークリッド計算部2132、チェー
ン計算部2133及びエラーデータ更新部2134によ
る並列処理の様子が示されている。
【0095】第2行、第3行、第5行、第8〜10行の
符号列については、誤り検出部2190において誤りが
検出されなかったので、バッファメモリ2110からシ
ンドローム計算部2131への読み出しが行われず、従
って、シンドローム計算、ユークリッド計算、チェーン
計算及びエラーデータ更新の対象とはなっていない。図
28は、図27に示された符号列を訂正する場合におけ
るバッファメモリ2110に格納された積符号の各デー
タへのアクセス順序を示す図である。ここには、先ず第
1行の符号列に対する誤り訂正を実行し、次に第2行、
第3行をとばして第4行の符号列に対する誤り訂正を実
行し、次に第5行をとばして第6行の符号列に対する誤
り訂正を実行し、次に第7行の符号列に対すると誤り訂
正を実行する流れが示されている。図38に示された行
ごとのスキャンと異なる点は、誤りが検出されている行
だけに対してスキャンされていることである。
【0096】以上のように、この第2の実施の形態で
は、誤り訂正部2130は、C1系列の誤り訂正につい
ては、誤り符号列記憶部2200を参照することによっ
て、誤りが検出されている符号列、即ち、誤り訂正が必
要とされる符号列だけをバッファメモリ2110から読
み出して誤り訂正し、そうでない符号列については無駄
にバッファメモリ2110から読み出すことを回避して
いる。
【0097】これによって、誤りが検出されなかったC
1系列の符号列については、光ディスクから読み出され
た全てのデータについてバッファメモリへの格納と、誤
り検出・訂正のためのバッファメモリからの読み出し
と、ホストコンピュータにデータを送出するためのバッ
ファメモリからの読み出しという3つのデータ転送を行
なうことなく、バッファメモリへの格納とホストコンピ
ュータへのデータ送出のためのバッファメモリからの読
み出しという2つのデータ転送だけで済む。つまり、バ
ッファメモリ2110へのアクセス回数が削減され、こ
れによって光ディスク制御部2100全体としての処理
速度が向上される共に消費電力の低減化が図られ、より
高速で低消費電力の光ディスク読み取り装置2000が
実現される。
【0098】なお、この第2の実施の形態では、図28
に示されるように誤り訂正部2130は1行又は1列の
符号列ごとに誤り訂正を繰り返したが、第1の実施の形
態のごとく、4行や4列等の複数の符号列ごとに並列に
誤り訂正を進めてもよい。図29は、図27に示された
C1系列の誤り訂正を4符号列並行して処理する場合の
ディスクインターフェース部2120からのデータの読
み出し順序を示す。この読み出し順序は、第1の実施の
形態における図6に示された順序と基本的な流れが同じ
であるが、この図29では、誤りが検出された行(第1
行、第4行、第6行、第7行、・・)だけを対象として
4行の符号列ごとに並列に読み出される点で図6に示さ
れたものと異なる。また、符号列の長さが4で割り切れ
ない場合には、図30に示されるように、最初は誤りが
検出された4列の符号列(第1行、第4行、第6行、第
7行)それぞれについて4バイト転送を繰り返し、最後
にその4列の符号列それぞれについて2バイト転送をす
ればよい。
【0099】このように、この第2の実施の形態におけ
る誤り訂正部2130を4つの符号列に対して並列に誤
り訂正を実行するよう変形するには、第1の実施の形態
における誤り訂正部5のように、誤り訂正部2130に
4つのシンドローム計算部と、バッファメモリ2110
から送られてくるデータを4つのシンドローム計算部に
分配するデータ分配部を設ければよい。これによって、
第1の実施の形態における並列化による誤り訂正の高速
化と、第2の実施の形態における誤り検出の先行による
誤り訂正の高速化の両方の効果を得ることができる。
【0100】また、第2の実施の形態では、C1符号列
転送要求部2135は誤り訂正部2130内に設けられ
たが、誤り検出部2190内に設けたり、誤り検出部2
190や誤り訂正部2130とは独立の回路として構成
してもよい。また、誤り検出部2190は誤りが検出さ
れた符号列の番号だけを通知したが、その検出によって
得られたシンドロームも併せて通知することとしてもよ
い。そして、誤り訂正部2130は誤りが検出された符
号列に対して、誤り検出部2190からシンドロームを
受け取り、ユークリッド計算とチェーン計算を行っても
よい。これによって、誤り検出部2190と誤り訂正部
2130それぞれにおける重複したシンドローム計算を
回避することができる。
【0101】同様に、誤り検出部2190において、誤
り検出だけでなく、続くユークリッド計算やチェーン計
算を行ってもよい。この場合には、誤り訂正部2130
は誤りが検出された符号列に対して、誤り検出部219
0から誤り位置と誤り数値を受け取り、バッファメモリ
2110内の誤りデータを訂正すればよい。このよう
に、C1系列の誤り訂正のためのシンドローム計算、ユ
ークリッド計算及びチェーン計算については、処理時間
が確保できる範囲において誤り検出部2190に実行さ
せることで、それら計算がディスクインターフェース部
2120からバッファメモリ2110へのデータ転送と
同時に進行することとなり、誤り訂正部2130での誤
り訂正に要する時間が短縮される。 (第3の実施の形態)第3の実施の形態は、C1系列の
誤り訂正については、データがバッファメモリに格納さ
れるときに並行して実行しておくと共に、そのC1系列
の誤り訂正において誤りが発生しているブロックだけに
対してバッファメモリから読み出してC2系列の誤り訂
正を実行することで、バッファメモリへのアクセス回数
を削減した高速な光ディスク読み取り装置に関する。
【0102】図31は、本発明の第3の実施の形態にお
ける光ディスク読み取り装置3000の構成を示すブロ
ック図である。この光ディスク読み取り装置3000
は、光ディスク2010に記録されているデータを読み
取り、読み取ったデータの誤りを訂正した後にホストコ
ンピュータ2070に転送する装置であって、ピックア
ップ2020と、増幅器2030と、フロントエンドプ
ロセッサ2040と、光ディスク制御部3100と、回
転モータ2050と、サーボコントローラ2060と、
システム制御部2080とから構成される。
【0103】なお、この光ディスク読み取り装置300
0は、図20に示された第2の実施の形態における光デ
ィスク読み取り装置2000と光ディスク制御部310
0が異なるだけであるため、この他の構成要素について
は図20に示された符号と同一の符号を付け、その説明
を省略する。図32は、光ディスク制御部3100の詳
細な構成を示すブロック図である。光ディスク制御部3
100は、フロントエンドプロセッサ2040から送ら
れてきた信号を復調し誤り訂正を行った後にホストコン
ピュータ2070に送り出す回路であり、バッファメモ
リ3110と、ディスクインターフェース部3120
と、誤り訂正部3130と、ホストインターフェース部
3140と、第1転送部3150と、第2転送部316
0と、第3転送部3170と、バス制御部3180と、
データ選択部3190とを有する。なお、図32中の太
い矢印線は、バッファメモリ2110へのDMA転送に
よるデータの書き込み、及び、バッファメモリ2110
からのDMA転送によるデータの読み出しにおけるデー
タパスを示している。
【0104】バッファメモリ3110は、2次元アドレ
ス(行アドレスと列アドレス)によって特定される記憶
領域を有するDRAM等の半導体メモリであり、図37
に示される積符号を複数個だけ一時的に記憶する記憶容
量を有する。ディスクインターフェース部3120は、
フロントエンドプロセッサ2040から入力された信号
を復調した後に、得られたデータをバッファメモリ31
10に格納するために第1転送部3150に出力する。
ディスクインターフェース部3120から出力されたデ
ータは第1転送部3150によってバッファメモリ31
10に転送されるが、そのデータは同時並行してデータ
選択部3190にも入力される。
【0105】データ選択部3190は、誤り訂正部31
30による誤り訂正の対象となる符号列の転送元を選択
するセレクタである。第1転送部3150によりディス
クインターフェース部3120からバッファメモリ31
10へのデータ転送が行われている場合には、そのデー
タは同時並行してデータ選択部3190にも送られてく
るので、そのデータを選択して誤り訂正部3130に通
過させる。一方、バッファメモリ3110から第2転送
部3160によってC2系列の符号列が送られてきた場
合には、そのデータを選択して誤り訂正部3130に通
過させる。なお、データ選択部3190は、第1転送部
3150及び第2転送部3160からの指示に基づいて
これらデータ転送元の一つを選択する。
【0106】誤り訂正部3130は、データ選択部31
90から送られてくる2種類(C1系列及びC2系列)
の符号列を区別しながら誤り訂正を行う。具体的には、
誤り訂正部3130は、データ選択部3190が第1転
送部3150からのデータ(C1系列の符号列)を選択
して通過させている場合にはC1系列の誤り訂正を行
い、一方、データ選択部3190が第2転送部3160
からのデータ(C2系列の符号列)を選択して通過させ
ている場合にはC2系列の誤り訂正を行う。
【0107】ホストインターフェース部3140は、誤
り訂正部3130による処理が終わったデータを第3転
送部3170によりバッファメモリ3110から読み出
してホストコンピュータ2070に出力するインターフ
ェース回路である。第1転送部3150はディスクイン
ターフェース部3120からバッファメモリ3110へ
のDMAによるデータ転送と同一データについてのデー
タ選択部3190へのデータ転送とを同時並列に行い、
第2転送部3160はバッファメモリ3110から誤り
訂正部3130へのDMAによるデータ転送を行い、さ
らに第3転送部3170はバッファメモリ3110から
ホストインターフェース部3140へのDMAによるデ
ータ転送を行う。
【0108】バス制御部3180は、第1転送部315
0と第2転送部3160と第3転送部3170それぞれ
によるDMA転送が排他的に実行されるよう予め定めら
れた優先順位に基づいてそれら3つの転送部3150、
3160、3170を制御したり、バッファメモリ31
10中の誤りデータを書き換えるときの誤り訂正部31
30によるバッファメモリ3110への通常の(非DM
Aによる)アクセスを制御する。なお、バス制御部31
80の詳細な構成及びバス制御部3180によるバッフ
ァメモリ3110へのアクセスに対する排他制御は、そ
れぞれ、第2の実施の形態における図22及び図23に
示されたものと同じである。
【0109】図33は、誤り訂正部3130の詳細な構
成を関連する他の構成要素と共に示すブロック図であ
る。誤り訂正部3130は、1行分の符号列と1列分の
符号列の2つを時分割で切り替えながら並行して誤り訂
正を進めていく回路であり、シンドローム計算部313
1と、ユークリッド計算部3132と、チェーン計算部
3133と、エラーデータ更新部3134とで構成され
る。
【0110】シンドローム計算部3131は、データ選
択部3190から送られてくる2種類の符号列を区別し
ながらそれぞれのシンドロームを計算する回路であり、
2つの一時記憶メモリ(入力データシンドローム記憶部
3135、バッファデータシンドローム記憶部313
6)を有する。入力データシンドローム記憶部3135
は1ブロックを構成する全てのC1系列の符号列に対す
るシンドロームを一時的に記憶する記憶容量を有するメ
モリであり、バッファデータシンドローム記憶部313
6は1ブロックを構成する全てのC2系列の符号列に対
するシンドロームを一時的に記憶する記憶容量を有する
メモリである。
【0111】シンドローム計算部3131は、データ選
択部3190が第1転送部3150からのデータ(C1
符号列)を選択して通過させてきたときには、そのC1
符号列に対してシンドローム計算を行い、得られたシン
ドロームを各符号列ごとに蓄積して入力データシンドロ
ーム記憶部3135に格納し、一方、データ選択部31
90が第2転送部3160からのデータ(C2符号列)
を選択して通過させてきたときには、そのC2符号列に
対してシンドローム計算を行い、得られたシンドローム
を各符号列ごとに蓄積してバッファデータシンドローム
記憶部3136に格納する。
【0112】なお、このシンドローム計算部3131
は、瞬時的には、1行又は1列の符号列ごとにシンドロ
ームを算出する回路であり、第1の実施の形態における
誤り訂正部5が有する4つのシンドローム生成部52〜
55のひとつと同じ回路(図4に示される回路)を有す
る。つまり、いま、積符号の大きさをk1=k2=10
0バイト、m1=m2=10バイトとした場合には、シ
ンドローム計算部3131は、入力データを一時的にバ
ッファリングするキューバッファと、10個のシンドロ
ームそれぞれを算出する10個の積和演算回路とからな
り、それら積和演算回路それぞれは1つの積和値を記憶
するレジスタと、そのレジスタに格納された積和値を読
み出して固有の係数を乗算するガロア体乗算器と、その
乗算結果と次に入力された1つのデータとを加算するガ
ロア体加算器とからなる。
【0113】ユークリッド計算部3132は、シンドロ
ーム計算部3131の入力データシンドローム記憶部3
135及びバッファデータシンドローム記憶部3136
それぞれに格納されたシンドロームを順次読み出して誤
り位置多項式と誤り数値多項式を特定するための各項の
係数を算出する回路であり、算出した係数をチェーン計
算部3133に引き渡す。
【0114】チェーン計算部3133は、ユークリッド
計算部3132から通知された係数によって特定される
誤り位置多項式の根をチェーン検索と呼ばれる方法等に
よって算出する回路であり、その算出結果をユークリッ
ド計算部3132から通知された誤り数値多項式を特定
する係数と共にエラーデータ更新部3134に引き渡
す。
【0115】エラーデータ更新部3134は、チェーン
計算部3133から通知された誤り位置と誤り数値多項
式を用いて、その誤りの位置での誤り数値を求めた後
に、バッファメモリ3110内のその誤り位置にあたる
情報データまたはパリティデータをバス制御部3180
を介して読み取り、それらの排他的論理和を計算し、得
られた値をバッファメモリ3110内の元の位置に書き
戻す。
【0116】なお、第2転送部3160によるバッファ
メモリ3110からシンドローム計算部3131へのデ
ータ転送はDMA転送によるが、バッファメモリ311
0とエラーデータ更新部3134間のデータ転送はバス
制御部3180による通常の(非DMAによる)メモリ
アクセスによって行われる。また、誤り訂正部3130
を構成する4つの回路3131〜3134は、それぞれ
同期して並列処理、すなわちパイプライン方式による逐
次処理をおこなう。
【0117】図34は、複数ブロックのデータを連続し
て処理する場合における光ディスク制御部3100内で
の処理工程を示すタイミングチャートである。本図にお
いて第1ブロックから第5ブロックは、それぞれバッフ
ァメモリ3110に格納される1ブロックのデータであ
る。また、「バッファリング」は第1転送部3150に
よるディスクインターフェース部3120からバッファ
メモリ3110へのデータ転送を示し、「誤り訂正1」
は第1転送部3150によるディスクインターフェース
部3120からデータ選択部3190を経て誤り訂正部
3130に入力されたC1系列の符号列に対する誤り訂
正部3130での誤り訂正を示し、「誤り訂正2」は第
2転送部3160によるバッファメモリ3110からデ
ータ選択部3190を経て誤り訂正部3130に入力さ
れたC2系列の符号列に対する誤り訂正部3130での
誤り訂正を示し、「ホスト転送」は第3転送部3170
によるバッファメモリ3110からホストインターフェ
ース部3140へのデータ転送を示す。
【0118】本図に示されるように、同一のブロックに
対する並列した「バッファリング」及び「誤り訂正1」
と、「バッファリング」及び「誤り訂正1」が終了した
ブロックに対する「誤り訂正2」と、「誤り訂正2」が
終了したブロックに対する「ホスト転送」とがパイプラ
インとして逐次かつ並列に実行される。例えば、サイク
ルT5に注目すると、第5ブロックがディスクインター
フェース部からバッファメモリ3110に転送されて格
納されると同時に誤り訂正部3130において「誤り訂
正1」(C1系列の誤り訂正)が行われ、第4ブロック
がバッファメモリ3110から誤り訂正部3130に転
送されて「誤り訂正2」(C2系列の誤り訂正)が行わ
れ、第3ブロックがバッファメモリ3110からホスト
インターフェース部3140に転送される。
【0119】なお、本図ではバッファメモリ3110に
アクセスする3つのデータ転送が並列に行われている
が、これはブロックという大きいサイズでのデータ転送
の観点から表現されているからであり、ブロックを構成
する個々のデータに着目した場合には(瞬時的には)、
いずれかのデータ転送だけが実行されている。このよう
な排他的なデータ転送及び上記パイプライン制御は、バ
ス制御部3180が一定の優先順位に基づいて3つの転
送部3150、3160、3170によるデータ転送を
小さい時間単位で切り替えながら許可することによって
実現されている。
【0120】また、本図において、第3ブロックに対す
る「誤り訂正2」(C2系列の誤り訂正)が行われてい
ないのは、このブロックについては「誤り訂正1」(C
1系列の誤り訂正)において全く誤りが発見されなかっ
たからである。つまり、第3ブロックのC1系列の符号
列については誤り訂正部3130のシンドローム計算部
3131において全て零となるシンドロームが算出され
入力データシンドローム記憶部3135に格納された
り、あるいはサイクルT3の誤り訂正1でC1系列のす
べての符号列に対する誤り訂正が実行され誤りが存在し
なくなった場合には、誤り訂正部3130は、シンドロ
ーム記憶部3135の内容を参照すること等により、第
3ブロックについてはC2系列の誤り訂正を行う必要が
ないことを知り、このブロックのC2系列に対する誤り
訂正についての一切の処理を行わない。つまり、誤り訂
正部3130がその旨をバス制御部3180に通知する
ことにより、第3ブロックのC2系列の全ての符号列に
ついて第2転送部3160によるバッファメモリ311
0から誤り訂正部3130へのデータ転送は行われな
い。
【0121】このように、同一ブロックに対する「バッ
ファリング」とC1系列の誤り訂正(「誤り訂正1」)
を並列に行ない、誤り検出に関する情報を入力データシ
ンドローム記憶部3135に格納しているので、もし、
C1系列の符号列に全く誤りが発生していない場合に
は、誤り訂正部3130は入力データシンドローム記憶
部3135を参照することによりそのことを知るので、
C2系列の誤り訂正が必要とされないデータをバッファ
メモリ3110から読み出すという無駄なデータ転送を
回避することができる。つまり、従来であれば、光ディ
スクから読み出された全てのデータについてバッファメ
モリへの格納と、誤り検出・訂正のためのバッファメモ
リからの読み出しと、ホストコンピュータにデータを送
出するためのバッファメモリからの読み出しという3つ
のデータ転送が行われていたが、この第3の実施の形態
では、誤りが発生していないデータについては、バッフ
ァメモリへの格納とホストコンピュータへのデータ送出
のためのバッファメモリからの読み出しという2つのデ
ータ転送だけで済む。
【0122】図35は、図34に示されたタイミングチ
ャートを詳細にした図であり、「誤り訂正1」と「誤り
訂正2」の2つの工程に関してC1系列及びC2系列の
処理が区別して示されている。ここでは、「誤り訂正
1」においては、C1系列についての誤り訂正だけが行
われ、「誤り訂正2」においては、C2系列の誤り訂正
だけが行われている。
【0123】具体的には、サイクルT1において、誤り
訂正部3130は、第1転送部3150によってディス
クインターフェース部3120から送られてきた第1ブ
ロックに対してC1系列の符号列に対する誤り訂正を行
う。このとき、シンドローム計算部3131は、C1系
列の全ての符号列について得られたシンドロームを入力
データシンドローム記憶部3135に格納している。
【0124】ここで、誤り訂正部3130がバッファン
リングと並行してC1系列の誤り訂正(「誤り訂正
1」)を行っているのは、ディスクインターフェース部
3120からバッファメモリ3110へのデータ転送は
積符号を行方向にスキャンすることを第1行から第n2
行まで繰り返す順序で行われるので、C1系列の誤り訂
正が容易となるからである。
【0125】次にサイクルT2において、誤り訂正部3
130は、第2ブロックに対するC1系列の誤り訂正と
第1ブロックに対するC2系列の誤り訂正とを並行して
行う。具体的には、これら第2ブロックと第1ブロック
のデータは時分割でデータ選択部3190から送られて
くるので、誤り訂正部3130は、ディスクインターフ
ェース部3120からデータ選択部3190を経て第2
ブロックの符号列が入力されてきたときにはその符号列
についてC1系列の誤り訂正を行い、一方、バッファメ
モリ3110からデータ選択部3190を経て第1ブロ
ックの符号列が入力されてきたときにはその符号列につ
いてC2系列の誤り訂正を行う。
【0126】なお、もし第1ブロックに対するC1系列
の誤り訂正において全く誤りが検出されなかったり、す
べての誤りが正しく訂正されてしまった場合には、第3
ブロックや第4ブロックと同様に、第1ブロックに対す
るC2系列の誤り訂正は行わない。つまり、第1ブロッ
クのC2系列の符号列が第2転送部3160によってバ
ッファメモリ3110から誤り訂正部3130に転送さ
れることはない。
【0127】図36は、誤り訂正部3130内での行方
向及び列方向の符号列単位での処理工程を示すタイミン
グチャートである。本図は、図35に示されたタイミン
グチャートにおけるサイクルT2の先頭部分における
「誤り訂正1」と「誤り訂正2」に相当し、誤り訂正部
3130において第2ブロックのC1系列の誤り訂正
(「誤り訂正1」)と第1ブロックのC2系列の誤り訂
正(「誤り訂正2」)とが並行に進んでいる様子が示さ
れている。
【0128】時間t1では、シンドローム計算部313
1は、第2ブロック第1行の符号列に対するシンドロー
ム計算と第1ブロック第1列の符号列に対するシンドロ
ーム計算を並列に行い、それぞれの結果を入力データシ
ンドローム記憶部3135及びバッファデータシンドロ
ーム記憶部3136に格納する。なお、実際には、第2
ブロック第1行の符号列と第1ブロック第2行の符号列
とが時分割で切り替えながらデータ選択部3190から
送られてくるので、シンドローム計算部3131は、瞬
時的にはいずれかの符号列に対してだけシンドローム計
算を行っている。
【0129】時間t2では、シンドローム計算部313
1は、第2ブロック第2行の符号列に対するシンドロー
ム計算と第1ブロック第2列の符号列に対するシンドロ
ーム計算を並列に行い、それぞれの結果を入力データシ
ンドローム記憶部3135及びバッファデータシンドロ
ーム記憶部3136に格納する。これと並行して、ユー
クリッド計算部3132は、まず入力データシンドロー
ム記憶部3135に格納された第2ブロック第1行の符
号列のシンドロームを読み出し、それを用いてユークリ
ッド計算を行い、その結果をチェーン計算部3133に
通知した後に、続いて第1ブロック第1列の符号列に対
するユークリッド計算を行い、その結果をチェーン計算
部3133に通知する。
【0130】さらに、この時間t2の後半においては、
チェーン計算部3133は、ユークリッド計算部313
2からの通知に基づいて第2ブロック第1行の符号列に
対するチェーン計算を行い、その結果をエラーデータ更
新部3134に通知する。時間t3では、同様にして、
シンドローム計算部3131は第2ブロック第3行の符
号列に対するシンドローム計算と第1ブロック第3列の
符号列に対するシンドローム計算とを並列に行ない、こ
れと並行して、ユークリッド計算部3132は第2ブロ
ック第2行の符号列に対するユークリッド計算を行った
後に続いて第1ブロック第2列の符号列に対するユーク
リッド計算が行い、これと並行して、チェーン計算部3
133は第1ブロック第1行の符号列に対するチェーン
計算を行った後に続いて第2ブロック第2列の符号列に
対するチェーン計算が行い、これと並行して、エラーデ
ータ更新部3134は、第2ブロック第1行の符号列に
対するエラーデータの更新(バッファメモリ3110内
のエラーデータの書き換え)を行った後に続いて第1ブ
ロック第1列の符号列に対するエラーデータの更新を行
う。
【0131】以下、同様にして、各時間tnにおいて、
1行の符号列と1列の符号列に対するシンドローム計
算、ユークリッド計算、チェーン計算及びエラーデータ
訂正が並列に実行される。なお、本図では、全ての行及
び列の符号列についてユークリッド計算、チェーン計算
及びエラーデータ訂正が行われているが、これは、これ
ら符号列に対するシンドローム計算において誤りが検出
されたからであり、もし、そうでなければ、その符号列
に対するユークリッド計算、チェーン計算及びエラーデ
ータ訂正は行われない。
【0132】以上説明したように、第3の実施の形態に
よれば、「バッファリング」(ディスクインターフェー
ス部3120からバッファメモリ3110へのデータ転
送)と同時に、同一データに対するC1系列の誤り訂正
(「誤り訂正1」)を並列に行なっている。これによっ
て、バッファメモリ3110に格納された後において
は、C1系列の誤り訂正のためにバッファメモリ311
0に格納されたデータを読み出すという工程が不要とな
る。
【0133】また、バッファリングと同時に行われる誤
り訂正においては、1ブロック分のC1系列の誤り検出
の結果(シンドローム)が入力データシンドローム記憶
部3135に記録されるので、1つのブロックを構成す
る全てのC1系列の符号列について誤りが発生しなかっ
た場合には、その記録を参照することにより、必要のな
いC2系列の誤り訂正のためにバッファメモリ3110
からデータを読み出すという無駄なデータ転送を回避す
ることができる。
【0134】このように、第3の実施の形態によって、
C1系列の誤り訂正のためのバッファメモリ3110か
らの読み出しと、誤りの発生していないブロックのC2
系列の誤り訂正のためのバッファメモリ3110からの
読み出しとが不要となり、従来よりもバッファメモリ3
110へのアクセス回数が削減され、これによってより
高速で低消費電力の光ディスク読み取り装置2000が
実現される。
【0135】なお、この第3の実施の形態では、誤り訂
正部3130は1行又は1列の符号列ごとに誤り訂正を
繰り返したが、第1の実施の形態のごとく、4行や4列
等の複数の符号列ごとに並列に誤り訂正を進めてもよ
い。例えば、この第3の実施の形態における誤り訂正部
3130を4つの符号列に対して並列に誤り訂正を実行
するよう変形するには、第1の実施の形態における誤り
訂正部5のように、誤り訂正部3130に4つのシンド
ローム計算部と、バッファメモリ3110から送られて
くるデータを4つのシンドローム計算部に分配するデー
タ分配部を設ければよい。これによって、第1の実施の
形態における並列化による誤り訂正の高速化と、第3の
実施の形態におけるC1系列の誤り訂正の先行による誤
り訂正の高速化の両方の効果を得ることができる。
【0136】また、第3の実施の形態では、データ選択
部3190とシンドローム計算部3131とによって、
第1転送部3150及び第2転送部3160それぞれか
ら送られてくる符号列に対する誤り検出を時分割で行っ
たが、これらの構成に代えて、第1転送部3150から
の符号列に対する誤り検出だけを行うシンドローム計算
回路と、第2転送部3160からの符号列に対する誤り
検出だけを行うシンドローム計算回路の2つの独立した
シンドローム計算回路を設けることにより、それら2つ
の符号列に対する誤り検出を同時並行に行ってもよい。
【0137】以上、本発明について第1〜第3の実施の
形態に基づいて説明したが、本発明はこれら実施の形態
に限定されるものではないことは言うまでもない。例え
ば、第1〜第3の実施の形態では、1つのブロックに対
する誤り訂正は、C1系列の誤り訂正とそれに続くC2
系列の誤り訂正の1回ずつだけであったが、これらの誤
り訂正に続けて、さらにC1系列の誤り訂正とそれに続
くC2系列の誤り訂正を追加してもよい。これらの回数
を増やすことによって訂正能力が向上されるので、発見
された誤りデータの数や、他の処理との関連で許容され
る時間等を考慮し、各方向に対する誤り訂正の繰り返し
回数と決定すればよい。
【0138】また、3つの実施の形態それぞれにおける
異なる構成要素どうしを組み合わせることで、様々なバ
リエーションが実現される。例えば、図23に示された
第2及び第3の実施の形態における3つのDMA転送に
対するスケジューリングを第1の実施の形態に適用して
もよい。また、第1〜第3の実施の形態は、DVD−R
OM等の光ディスクを記録媒体とするディスクドライブ
装置であったが、本発明に係る誤り訂正装置はこのよう
なデータ記憶装置への適用に限定されるものではなく、
例えば、ネットワーク通信における中継器等のように、
中継すべきデータに対する誤り訂正を高速に行うことが
要求される機器に適用できることは言うまでもない。
【0139】
【発明の効果】上記目的を達成するために、本発明に係
る誤り訂正装置は、R行L列のブロック符号を構成する
行方向及び列方向の符号列に対する誤り訂正に伴う演算
を繰り返し実行する誤り訂正装置であって、前記ブロッ
ク符号を記憶する記憶手段と、前記ブロック符号の1行
又は1列の符号列を単位として誤り符号の訂正に必要な
演算を行う演算手段と、R1を2以上R未満の整数とし
たときに、前記記憶手段に記憶されたブロック符号のR
1行分の符号列を読み出して前記演算手段に転送するこ
とをR行について順に繰り返す行方向転送部を有する転
送手段とを備え、前記行方向転送部は、L1を2以上L
未満の整数としたときに、各行につき連続して並ぶL1
個の符号を読み出して前記演算手段に転送することを前
記R1行それぞれについて順に行うR1行L1列転送を、
行方向にL1個の符号だけずらしながら繰り返し、前記
演算手段は、前記行方向転送部から符号が送られてくる
場合には、送られてくるL1個の符号ごとに前記R1行の
異なる行の符号列を構成するものとして前記R1行の符
号列に対する前記演算を並列に行うことを特徴とする。
【0140】これによって、行方向の誤り訂正は、複数
の符号列に対して並列に行われ、かつ、複数行の符号列
を行方向に分割して得られる複数の小さなブロックそれ
ぞれをジグザグスキャンする順序で進められる。つま
り、各行の一部の符号だけに対するスキャンを行を換え
ながら繰り返していく順序で並列に誤り訂正が進められ
るので、各行の全ての符号に対するスキャンを行を換え
ながら繰り返す単純な並列処理に比べ、同一速度でスキ
ャンして誤り訂正を行うにも拘らず、各行の誤り訂正回
路に入力される符号の平均入力速度は低下され、各行ご
との誤り訂正回路に必要とされるキューバッファ等の回
路規模は小さくて済む。また、各行でのスキャンは、同
一行に連続して並ぶ符号が対象とされるので、ブロック
符号がDRAM等の2次元アドレスを持つ記憶領域に格
納されている場合には、同一行アドレスにおける連続す
る列アドレスへのアクセスとなり、高速スキャンが可能
となる。
【0141】ここで、前記ブロック符号は積符号であ
り、前記ブロック符号を構成する行方向及び列方向の符
号列それぞれには情報符号と誤り訂正符号とが含まれ、
前記演算手段は、1行又は1列の符号列を単位として誤
り符号が存在するか否かを検出する誤り検出手段と、前
記誤り検出手段により誤り符号が存在すると検出された
場合に、その誤り符号に相当する前記記憶手段中の符号
を訂正後の値に書き換える誤り符号更新手段とを有し、
前記行方向転送部は、前記誤り検出手段に対して前記符
号列を繰り返し転送し、前記誤り検出手段は、前記行方
向転送部から符号が送られてくる場合には、送られてく
るL1個の符号ごとに前記R1行の異なる行の符号列を構
成するものとして前記R1行の符号列に対する誤り検出
を並列に行ってもよい。
【0142】これによって、本発明に係る誤り訂正装置
は、積符号に対する誤り訂正における行方向の誤り検出
に適用することができるので、光ディスク等の読み出し
装置やデータ通信における受信装置など、受信した積符
号に対する誤り訂正を実行する装置における誤りの検出
の速度が向上される。また、前記記憶手段においては、
前記ブロック符号の同一行に属する符号は連続するアド
レスの記録領域に記憶され、前記行方向転送部は、前記
記憶手段の連続するアドレスの記憶領域から前記L1個
の符号を連続して読み出してもよい。
【0143】これによって、同一行に属するひとまとま
りの符号を記憶手段から読み出すためには、記憶手段に
出力するアドレスをインクリメントしていくだけで済む
ので、記憶手段からの読み出し時間が短縮化される。ま
た、前記記憶手段は、ダイナミックランダムアクセスメ
モリであり、前記行方向転送部は、前記記憶手段から前
記L1個の符号をページモードで読み出してもよい。
【0144】これによって、同一行に属するひとまとま
りの符号を記憶手段から読み出すためには、記憶手段に
1つのRASアドレスを出力した後に連続してCASア
ドレスを出力するだけで済むので、DRAMのページヒ
ットによる読み出し速度の高速化が図られる。また、前
記行方向転送部による転送は、前記記憶手段へのダイレ
クトメモリアクセスによる転送であってもよい。
【0145】これによって、誤り検出手段において並列
に処理することができる対象となる全ての符号は連続し
て記憶手段から読み出されて入力されるので、誤り検出
手段による1個の小さなブロックに対する誤り検出にお
いては符号列の入力が中断されることが回避され、効率
的なパイプライン処理に基づく誤り訂正が実現される。
【0146】また、前記誤り検出手段は、1つの符号列
に対する誤り検出を行うR1個の単位誤り検出部と、前
記行方向転送部から符号が送られてくる場合には、送ら
れてくるL1個の符号ごとに前記R1個の単位誤り検出部
それぞれに順に配送することを繰り返す分配部とを有
し、前記R1個の単位誤り検出部それぞれは、相互に独
立、かつ、前記行方向転送部による転送と並行して前記
誤り検出を行ってもよい。
【0147】これによって、行方向の誤り訂正において
は、個々の単位誤り検出部は、R1回に1回の頻度で分
配部からL1個の符号が入力され、かつ、分配部から他
の単位誤り検出部に符号が入力されている間に誤り検出
を実行するので、個々の単位誤り検出部に要求される処
理能力は軽減され、回路規模が削減される。また、前記
R1個の単位誤り検出部それぞれは、前記分配部からL1
個の符号が繰り返し配送されてくる場合には、その繰り
返し周期よりも短い周期で、L1個の符号に対する誤り
検出を終えてもよい。
【0148】これによって、列方向の誤り訂正におい
て、個々の単位誤り検出部にとっては、符号の入力レー
ト(単位時間当たりに入力される符号の個数)が処理能
力(単位時間当たりに誤り検出の処理を受ける符号の個
数)の範囲内となるので、個々の単位誤り検出部の入力
段に必要とされるキューバッファのサイズは小さくて済
む。
【0149】また、前記R1個の単位誤り検出部それぞ
れは、1つの符号列に対して複数のシンドロームを算出
する積和演算回路を有してもよい。これによって、本発
明に係る誤り訂正装置は、Reed-Solomon符号に適した装
置となる。また、前記行方向転送部は、前記Lを前記L
1で割ったときの商をD、余りをEとするときに、前記
R1行L1列転送を行方向にL1個の符号だけずらしなが
らD回繰り返した後に、各行につき連続して並ぶE個の
符号を読み出して前記誤り検出手段に転送することを前
記R1行それぞれについて順に行い、前記誤り検出手段
は、所定回数だけ前記L1個の符号ごとに前記誤り検出
を行った後に、E個の符号ごとに前記誤り検出を行って
もよい。
【0150】これによって、積符号を構成する行方向の
符号長が、一度に連続して読み出される符号数L1の倍
数でなくても、各符号列の終端まで問題なく並列に誤り
訂正が行われるので、積符号の大きさに依存しない柔軟
な誤り訂正装置が実現される。また、前記転送手段はさ
らに、L2を2以上L未満の整数としたときに、前記記
憶手段に記憶されたブロック符号のL2列分の符号列を
読み出して前記誤り検出手段に転送することをL列につ
いて順に繰り返す列方向転送部を有し、前記列方向転送
部は、各行につき連続して並ぶL2個の符号を読み出し
て前記誤り検出手段に転送することを前記R行それぞれ
について順に行うR行L2列転送を、行方向にL2個の符
号だけずらしながら繰り返し、前記誤り検出手段は、前
記列方向転送部から符号が送られてくる場合には、送ら
れてくるL2個の符号それぞれが、対応する前記L2列の
符号列それぞれに属するものとして前記L2列の符号列
に対する誤り検出を並列に行ってもよい。
【0151】これによって、行方向の誤り訂正だけでな
く、列方向の誤り訂正についても、複数の符号列に対し
て並列に行われ、かつ、列方向に対する誤り訂正は、各
行の一部の符号だけに対するスキャンを行を換えながら
繰り返していく順序で進められる。従って、各行の全て
の符号に対するスキャンを行を換えながら繰り返す単純
な並列処理に比べ、同一速度でスキャンして誤り訂正を
行うにも拘らず、各行の誤り訂正回路に入力される符号
の平均入力速度は低下され、各行ごとの誤り訂正回路に
必要とされるキューバッファ等の回路規模は小さくて済
む。
【0152】また、前記R1と前記L2は、R1=L2=j
であり、前記誤り検出手段は、1つの符号列に対する誤
り検出を行うj個の単位誤り検出部と、前記行方向転送
部から符号が送られてくる場合には、送られてくるL1
個の符号ごとに前記j個の単位誤り検出部それぞれに順
に配送することを繰り返し、前記列方向転送部から符号
が送られてくる場合には、送られてくるL2個の符号そ
れぞれを対応する前記j個の単位誤り検出部それぞれに
配送することを繰り返す分配部とを有し、前記j個の単
位誤り検出部それぞれは、相互に独立、かつ、前記行方
向転送部及び前記列方向転送部による転送と並行して前
記誤り検出を行ってもよい。
【0153】これによって、行方向の誤り訂正において
並列処理の対象となる行数と、列方向の誤り訂正におい
て並列処理の対象となる列数とが同一であるので、それ
ぞれの誤り訂正において必要とされる単位誤り検出部の
数が等しくなり、いずれの方向の誤り訂正であっても、
誤り検出手段の能力がフルに活用される。また、前記j
個の単位誤り検出部それぞれは、前記分配部からL1個
の符号が繰り返し配送されてくる場合には、その繰り返
し周期よりも短い周期で、L1個の符号に対する誤り検
出を終え、前記分配部からL2個の符号のひとつが繰り
返し配送されてくる場合には、その繰り返し周期よりも
短い周期で、配送されたひとつの符号に対する誤り検出
を終えてもよい。
【0154】これによって、列方向の誤り訂正におい
て、個々の単位誤り検出部にとっては、符号の入力レー
ト(単位時間当たりに入力される符号の個数)が処理能
力(単位時間当たりに誤り検出の処理を受ける符号の個
数)の範囲内となるので、個々の単位誤り検出部の入力
段に必要とされるキューバッファのサイズは小さくて済
む。
【0155】また、前記R1と前記L1と前記L2は、R1
=L1=L2=jであってもよい。これによって、行方向
及び列方向のいずれの誤り訂正に対しても積符号の読み
出し順序が同一となるので、記憶手段へのアクセスにか
かる転送手段の制御回路が簡単化される。また、上記目
的を達成するために、本発明に係る誤り訂正装置は、R
行L列のブロック符号を構成する行方向及び列方向の符
号列に対する誤り訂正に伴う演算を繰り返し実行する誤
り訂正装置であって、前記ブロック符号を記憶する記憶
手段と、前記ブロック符号の1行又は1列の符号列を単
位として誤り符号の訂正に必要な演算を行う演算手段
と、L2を2以上L未満の整数としたときに、前記記憶
手段に記憶されたブロック符号のL2列分の符号列を読
み出して前記演算手段に転送することをL列について順
に繰り返す列方向転送部を有する転送手段とを備え、前
記列方向転送部は、各行につき連続して並ぶL2個の符
号を読み出して前記演算手段に転送することを前記R行
それぞれについて順に行うR行L2列転送を、行方向に
L2個の符号だけずらしながら繰り返し、前記演算手段
は、前記列方向転送部から符号が送られてくる場合に
は、送られてくるL2個の符号それぞれが、対応する前
記L2列の符号列それぞれに属するものとして前記L2列
の符号列に対する前記演算を並列に行うことを特徴とす
る。
【0156】これによって、列方向の誤り訂正は、複数
の符号列に対して並列に行われ、かつ、複数行の符号列
を行方向に分割して得られる複数の小さなブロックそれ
ぞれをジグザグスキャンする順序で進められる。つま
り、各行の一部の符号だけに対するスキャンを行を換え
ながら繰り返していく順序で並列に誤り訂正が進められ
るので、各列の全ての符号に対するスキャンを列を換え
ながら繰り返す単純な並列処理に比べ、同一速度でスキ
ャンして誤り訂正を行うにも拘らず、各列の誤り訂正回
路に入力される符号の平均入力速度は低下され、各行ご
との誤り訂正回路に必要とされるキューバッファ等の回
路規模は小さくて済む。また、各行でのスキャンは、同
一行に連続して並ぶ符号が対象とされるので、ブロック
符号がDRAM等の2次元アドレスを持つ記憶領域に格
納されている場合には、同一行アドレスにおける連続す
る列アドレスへのアクセスとなり、高速スキャンが可能
となる。
【0157】また、行方向の誤り訂正を行う誤り訂正装
置が備える特徴的な上記構成要素を列方向の誤り訂正に
も適用することで、行方向の誤り訂正に係る誤り訂正装
置と同様の効果を得ることができる。また、上記目的を
達成するために、本発明に係る誤り訂正装置は、外部の
第1装置から受けとった符号について必要な誤り訂正を
した後に外部の第2装置に出力する誤り訂正装置であっ
て、前記符号を格納するための記憶領域を有する記憶手
段と、一定個数の符号を単位として誤り符号が存在する
か否かを検出する誤り検出手段と、一定個数の符号を単
位として前記記憶手段中の誤り符号を訂正する誤り訂正
手段と、前記第1装置から出力された符号を前記記憶手
段と前記誤り検出手段に並行して転送し、その符号を前
記記憶手段に格納させると共に前記誤り検出手段に前記
検出を行わせる第1転送手段と、前記誤り検出手段によ
って誤り符号が存在すると検出された前記一定個数の符
号を前記記憶手段から前記誤り訂正手段に転送し、その
符号について前記誤り訂正手段に前記訂正を行わせる第
2転送手段と、前記誤り検出手段又は前記誤り訂正手段
によって誤り符号が存在しないことが検出又は誤り符号
が訂正された一定個数の符号を前記記憶手段から前記第
2装置に転送する第3転送手段と、前記第1〜第3転送
手段それぞれが排他的に前記符号転送を実行するように
制御する転送制御手段とを備えることを特徴とする。
【0158】これによって、第1装置から出力された符
号は、記憶手段に格納されることと並列して誤り検出の
処理を受けるので、記憶手段に一旦格納されてから読み
出されて誤り検出の処理を受ける従来の処理順序に比
べ、誤り訂正に要する全体の処理時間が短縮化されると
共に記憶手段へのアクセス回数が減少され、高速で低消
費電力の誤り訂正装置が実現される。
【0159】ここで、前記誤り検出手段は、誤り符号が
存在するか否かの検出結果を記録しておく検出結果記録
部を有し、前記誤り訂正手段は、前記検出結果記録部に
記録された検出結果を参照することにより、誤り符号が
存在すると検出された前記一定個数の符号だけが前記記
憶手段から前記誤り訂正手段に転送されるように前記第
2転送手段を制御してもよい。
【0160】これによって、記憶手段への格納と同時に
行われた誤り検出において誤りが検出されなかった符号
に対しては、記憶手段から誤り訂正手段への転送及び誤
り訂正手段での誤り訂正という2つの処理がバイパスさ
れるので、誤り訂正は高速化されると共に、記憶手段へ
の無駄なアクセスの発生が回避される。また、前記第1
装置は、R行L列のブロック符号を構成する行方向の符
号列を順に繰り返し出力し、前記ブロック符号は積符号
であり、前記ブロック符号を構成する行方向及び列方向
の符号列それぞれには情報符号と誤り訂正符号とが含ま
れ、前記誤り訂正手段は、行方向及び列方向の符号列に
対して誤り訂正を行い、行方向の符号列に対する誤り訂
正を行う場合には、前記検出結果記録部に記録された検
出結果を参照することにより、誤り符号が存在すると検
出された行方向の符号列だけが前記記憶手段から前記誤
り訂正手段に転送されるように前記第2転送手段を制御
してもよい。
【0161】これによって、本発明に係る誤り訂正装置
は、積符号に対する誤り訂正を高速に行うことが要求さ
れる光ディスク等の読み出し装置やデータ通信における
受信装置などに適用することができる。また、前記誤り
検出手段は、1つのブロック符号を構成する全ての行方
向の符号列についての検出結果を前記検出結果記録部に
蓄積して記録し、前記誤り訂正手段は、列方向の符号列
に対する誤り訂正を行う場合には、前記検出結果記録部
に記録された検出結果を参照することにより、誤り符号
が存在すると検出されたブロック符号を構成する列方向
の符号列だけが前記記憶手段から前記誤り訂正手段に転
送されるように前記第2転送手段を制御してもよい。
【0162】これによって、1つのブロック符号を構成
する全ての行方向の符号列について誤りが検出されなか
った場合には、そのブロック符号の列方向の符号列に対
する誤り検出及び誤り訂正の処理はバイパスされるの
で、光ディスク等の記録媒体から連続して読み出される
ブロック符号における誤りの発生頻度が少ない場合に
は、その分だけ平均的な読み出し速度が大きくなる。
【0163】また、前記第2転送手段は、R1を2以上
R未満の整数としたときに、誤り符号が存在すると検出
されたR1行分の符号列を記記憶手段から読み出して前
記誤り訂正手段に転送することをR行について順に繰り
返す行方向転送部を有し、前記行方向転送部は、L1を
2以上L未満の整数としたときに、各行につき連続して
並ぶL1個の符号を読み出して前記誤り訂正手段に転送
することを前記R1行それぞれについて順に行うR1行L
1列転送を、行方向にL1個の符号だけずらしながら繰り
返し、前記誤り訂正手段は、前記行方向転送部から符号
が送られてくる場合には、送られてくるL1個の符号ご
とに前記R1行の異なる行の符号列を構成するものとし
て前記R1行の符号列に対する誤り訂正を並列に行って
もよい。
【0164】これによって、複数の行方向に対する誤り
訂正は、並列に実行されるだけでなく、小さなブロック
に対する誤り訂正を繰り返すことによって行われるの
で、単純な並列化による場合に比べ、同一速度でスキャ
ンして誤り訂正を行うにも拘らず、誤り訂正手段に要求
される処理能力や回路規模は小さくて済む。また、前記
第2転送手段はさらに、L2を2以上L未満の整数とし
たときに、誤り符号が存在すると検出されたブロック符
号のL2列分の符号列を前記記憶手段から読み出して前
記誤り訂正手段に転送することをL列について順に繰り
返す列方向転送部を有し、前記列方向転送部は、各行に
つき連続して並ぶL2個の符号を読み出して前記誤り訂
正手段に転送することを前記R行それぞれについて順に
行うR行L2列転送を、行方向にL2個の符号だけずらし
ながら繰り返し、前記誤り訂正手段は、前記列方向転送
部から符号が送られてくる場合には、送られてくるL2
個の符号それぞれが、対応する前記L2列の符号列それ
ぞれに属するものとして前記L2列の符号列に対する誤
り訂正を並列に行ってもよい。
【0165】これによって、行方向に対する誤り訂正だ
けでなく、列方向の誤り訂正も並列化されるので、比較
的小さな回路規模で高速な誤り訂正装置が実現される。
また、前記第1転送手段による前記第1装置から前記記
憶手段への符号転送、前記第2転送手段による前記記憶
手段から前記誤り訂正手段への符号転送及び前記第3転
送手段による前記記憶手段から前記第2装置への符号転
送は、前記記憶手段へのダイレクトメモリアクセスによ
る転送であり、前記転送制御手段は、前記第1〜第3転
送手段によるDMA転送の中で第1転送手段によるDM
A転送を最も高い優先度で実行させ、前記第1転送手段
によるDMA転送の必要が生じた場合において、前記第
1〜第3転送手段のいずれかがDMA転送を実行してい
るときには、その実行中のDMA転送の終了後に前記第
1転送手段によるDMA転送を実行させ、前記第1〜第
3転送手段のいずれもDMA転送を実行していないとき
には、即時に前記第1転送手段によるDMA転送を実行
させてもよい。
【0166】これによって、記憶手段へのバッファリン
グを最優先で行うので、本発明に係る誤り訂正装置を光
ディスクドライブ装置等の読み出し装置に適用した場合
には、光ピックアップは光ディスク上の符号を連続して
読み出すことが可能となる。また、前記転送制御手段
は、前記第1〜第3転送手段によるDMA転送の中で第
2転送手段によるDMA転送を最も低い優先度で実行さ
せ、前記第2転送手段によるDMA転送の必要が生じた
場合において、前記第1〜第3転送手段のいずれもDM
A転送を実行していないときに限り、前記第2転送手段
によるDMA転送を実行させてもよい。
【0167】これによって、記憶手段へのバッファリン
グと並列して誤り検出することによる誤り訂正の高速化
や、複数の符号列に対する処理を並列化したことによる
誤り訂正の高速化を考慮した効率的なスケジューリング
による記憶手段への排他的なアクセス制御が可能とな
る。また、前記誤り訂正手段は、前記第2転送手段によ
り転送されてきた符号列に基づいて誤り符号と訂正後の
値を特定した後に、前記転送制御手段による制御の下で
前記記憶手段中の対応する誤り符号を訂正後の値に書き
換え、前記転送制御手段は、前記第1〜第3転送手段の
いずれもDMA転送を実行していないときに限り、前記
誤り訂正手段による誤り符号の書き換えを実行させても
よい。
【0168】これによって、記憶手段という1つのリソ
ースに対する4種類のアクセスをバランスよく排他制御
することができ、コストパフォーマンスの高い誤り訂正
装置が実現される。また、上記目的を達成するために、
本発明に係る誤り訂正装置は、外部の第1装置から受け
とった符号について必要な誤り訂正をした後に外部の第
2装置に出力する誤り訂正装置であって、前記符号を格
納するための記憶領域を有する記憶手段と、一定個数の
符号を単位として誤り符号を検出し、対応する前記記憶
手段中の誤り符号を訂正する誤り訂正手段と、前記第1
装置から送られてくる符号と前記記憶手段から送られて
くる符号のいずれかを選択して前記誤り訂正手段に送
り、前記誤り訂正手段に前記検出と訂正を行わせる符号
選択手段と、前記第1装置から出力された符号を前記記
憶手段と前記符号選択手段に並行して転送し、その符号
を前記記憶手段に格納させると共に前記符号選択手段に
選択させて前記誤り訂正手段に送らせ、その符号につい
て前記誤り訂正手段に前記検出と訂正を行わせる第1転
送手段と、一定個数の符号を前記記憶手段から前記符号
選択手段に転送し、その符号を前記符号選択手段に選択
させて前記誤り訂正手段に送らせ、その符号について前
記誤り訂正手段に前記検出と訂正を行わせる第2転送手
段と、前記誤り訂正手段によって誤り符号が存在しない
ことが検出又は誤り符号が訂正された一定個数の符号を
前記記憶手段から前記第2装置に転送する第3転送手段
と、前記第1〜第3転送手段それぞれが排他的に前記符
号転送を実行するように制御する転送制御手段とを備え
ることを特徴とする。
【0169】これによって、第1装置から出力された符
号は、記憶手段に格納されることと並列して入力選択手
段を通過し誤り訂正手段に入力されるので、記憶手段に
一旦格納されてから読み出されて誤り訂正手段に入力さ
れる従来の処理順序に比べ、誤り訂正に要する全体の処
理時間が短縮化されると共に記憶手段へのアクセス回数
が減少され、高速で低消費電力の誤り訂正装置が実現さ
れる。
【0170】ここで、前記第1装置は、R行L列のブロ
ック符号を構成する行方向の符号列を順に繰り返し出力
し、前記ブロック符号は積符号であり、前記ブロック符
号を構成する行方向及び列方向の符号列それぞれには情
報符号と誤り訂正符号とが含まれ、前記第1転送手段
は、第1装置から繰り返し送られてくる行方向の符号列
を前記記憶手段と前記符号選択手段に並行して転送し、
その符号列を前記記憶手段に格納させると共に前記符号
選択手段に選択させて前記誤り訂正手段に送らせ、その
符号列について前記誤り訂正手段に前記検出と訂正を行
わせ、第2転送手段は、前記ブロック符号の列方向の符
号列を前記記憶手段から前記符号選択手段に転送し、そ
の符号列を前記符号選択手段に選択させて前記誤り訂正
手段に送らせ、その符号列について前記誤り訂正手段に
前記検出と訂正を行わせてもよい。
【0171】これによって、積符号に対する誤り訂正を
高速に行うことが要求される光ディスク等の読み出し装
置やデータ通信における受信装置などに好適な誤り訂正
装置が実現される。また、前記誤り訂正手段は、行方向
又は列方向の符号列を単位として誤り符号が存在するか
否かを検出する誤り検出部と、前記誤り検出部により誤
り符号が存在すると検出された場合に、その誤り符号に
相当する前記記憶手段中の符号を訂正後の値に書き換え
る符号更新部とを有し、前記誤り検出部は、前記第1装
置から前記第1転送手段により転送されてきた行方向の
符号列に対する誤り検出の結果を記録しておく行方向検
出結果記録部と、前記記憶手段から前記第2転送手段に
より転送されてきた列方向の符号列に対する誤り検出の
結果を記録しておく列方向検出結果記録部とを有し、前
記誤り符号更新部は、前記行方向検出結果記録部及び前
記列方向検出結果記録部に記録された検出結果を用いて
前記記憶手段中の符号を書き換えてもよい。
【0172】これによって、行方向に対する誤り検出の
結果と列方向に対する誤り検出の結果とは独立して保存
されるので、これらの結果を用いて後続処理を行う符号
更新部等は、より遅い速度で処理すれば済む。また、前
記誤り検出部は、行方向の誤り検出を行う場合には、1
つのブロック符号を構成する全ての行方向の符号列につ
いての検出結果を前記行方向検出結果記録部に蓄積して
記録し、列方向の誤り検出を行う場合には、前記行方向
検出結果記録部に記録された検出結果を参照することに
より、誤り符号が存在すると検出されたブロック符号を
構成する列方向の符号列だけが前記記憶手段から前記誤
り訂正手段に転送されるように前記第2転送手段を制御
してもよい。
【0173】これによって、1つのブロック符号を構成
する全ての行方向の符号列について誤りが検出されなか
った場合には、そのブロック符号の列方向の符号列に対
する誤り検出及び誤り訂正の処理はバイパスされ、その
分だけ平均的な読み出し速度が大きくなる。また、前記
転送制御手段は、前記第1転送手段による前記第1装置
から前記符号選択手段への1行分の符号列の転送と、前
記第2転送手段による前記記憶手段から前記符号選択手
段への1列分の符号列の転送とを、それら符号列を構成
する部分符号の単位で切り替えながら交互に実行させ、
前記誤り検出部は、前記第1装置から前記第1転送手段
により転送されてきた行方向の符号列に対する誤り検出
と、前記記憶手段から前記第2転送手段により転送され
てきた列方向の符号列に対する誤り検出とを、前記部分
符号の単位で交互に切り替えることにより、それぞれの
符号列に対する誤り検出を並列に行い、それぞれの結果
を行方向検出結果記録部及び列方向検出結果記録部に記
録し、前記誤り符号更新部は、前記行方向検出結果記録
部及び前記列方向検出結果記録部に記録された検出結果
を順次に参照することにより、行方向についての前記記
憶手段中の符号の書き換えと列方向についての前記記憶
手段中の符号の書き換えとを順次に行ってもよい。
【0174】これによって、符号更新部は、行方向に対
する誤り訂正と列方向に対する誤り訂正とを並列に進め
ることなく順次に進めればよいので、回路規模は削減さ
れる。また、前記第2転送手段は、L2を2以上L未満
の整数としたときに、前記ブロック符号のL2列分の符
号列を前記記憶手段から読み出して前記符号選択手段を
経て前記誤り訂正手段に転送することをL列について順
に繰り返す列方向転送部を有し、前記列方向転送部は、
各行につき連続して並ぶL2個の符号を読み出して前記
誤り訂正手段に転送することを前記R行それぞれについ
て順に行うR行L2列転送を、行方向にL2個の符号だけ
ずらしながら繰り返し、前記誤り訂正手段は、前記列方
向転送部から符号が送られてくる場合には、送られてく
るL2個の符号それぞれが、対応する前記L2列の符号列
それぞれに属するものとして前記L2列の符号列に対す
る誤り訂正を並列に行ってもよい。
【0175】これによって、複数の行方向に対する誤り
訂正は、並列に実行されるだけでなく、小さなブロック
に対する誤り訂正を繰り返すことによって行われるの
で、単純な並列化による場合に比べ、同一速度でスキャ
ンして誤り訂正を行うにも拘らず、誤り訂正手段に要求
される処理能力や回路規模は小さくて済む。また、記憶
手段へのアクセスをDMAとし、これに一定の優先順位
を設けてスケジューリングすることで、記憶手段という
1つのリソースに対する4種類のアクセスをバランスよ
く排他制御することができ、コストパフォーマンスの高
い誤り訂正装置が実現される。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態における誤り訂正装
置100の構成を示すブロック図である。
【図2】同装置100のバスコントロール部2の詳細な
構成を示すブロック図である。
【図3】同装置100のデータ分配部51の詳細な構成
を示すブロック図である。
【図4】同装置100の1個のシンドローム生成部52
(53、54、55)の詳細な構成を示す回路図であ
る。
【図5】同装置100における主要な処理(データ入
力、誤り訂正、データ出力)のタイミングチャートであ
る。
【図6】C1系列の誤り訂正を行う場合におけるバッフ
ァメモリ1内の積符号の読み出し順序を示す。
【図7】図6に示された順序でバッファメモリ1からデ
ータが転送されてきた場合におけるデータ分配部51の
動作を示す図である。
【図8】C1系列の誤り訂正におけるバッファメモリ1
から誤り訂正部5へのデータ転送と4つのシンドローム
生成部52〜55での積和演算のタイミングを示す。
【図9】C2系列の誤り訂正を行う場合におけるバッフ
ァメモリ1内の積符号の読み出し順序を示す図である。
【図10】図9に示された順序でバッファメモリ1から
データが転送されてきた場合におけるデータ分配部51
の動作を示す。
【図11】C2系列の誤り訂正におけるバッファメモリ
1から誤り訂正部5へのデータ転送と4つのシンドロー
ム生成部52〜55での積和演算のタイミングを示す図
である。
【図12】C1系列の端数部分に対する処理順序を示
す。
【図13】C2系列の端数部分に対する処理順序を示
す。
【図14】2並列でC1方向に誤り訂正を行う場合にお
けるバッファメモリからのデータの読み出し順序を示
す。
【図15】2並列でC1方向に誤り訂正を行う場合にお
けるデータ分配部の動作を示す。
【図16】2並列でC1方向に誤り訂正を行う場合にお
けるデータ転送とシンドローム計算のタイミングを示
す。
【図17】2並列でC2方向に誤り訂正を行う場合にお
けるバッファメモリからのデータの読み出し順序を示
す。
【図18】2並列でC2方向に誤り訂正を行う場合にお
けるデータ分配部の動作を示す。
【図19】2並列でC2方向に誤り訂正を行う場合にお
けるデータ転送とシンドローム計算のタイミングを示
す。
【図20】本発明の第2の実施の形態における光ディス
ク読み取り装置2000の構成を示すブロック図であ
る。
【図21】同装置2000の光ディスク制御部2100
の詳細な構成を示すブロック図である。
【図22】同装置2000のバス制御部2180の詳細
な構成を示すブロック部である。
【図23】同装置2000のバス調停制御部2182に
よる3つの排他的なDMA転送の制御例を示す。
【図24】同装置2000の誤り訂正部2130の詳細
な構成を示す回路図である。
【図25】光ディスク制御部2100内での処理工程を
示すタイミングチャートである。
【図26】図25に示されたタイミングチャートを詳細
にした図である。
【図27】C1系列の誤り訂正を行う場合における誤り
訂正部2130内での行単位の処理工程を示すタイミン
グチャートである。
【図28】図27に示された符号列を訂正する場合にお
けるバッファメモリ2110に格納された積符号へのア
クセス順序を示す図である。
【図29】図27に示されたC1系列の誤り訂正を4符
号列並行して処理する場合のディスクインターフェース
部2120からのデータの読み出し順序を示す。
【図30】図27に示されたC1系列の端数部分に対す
る読み出し順序を示す。
【図31】本発明の第3の実施の形態における光ディス
ク読み取り装置3000の構成を示すブロック図であ
る。
【図32】同装置3000の光ディスク制御部3100
の詳細な構成を示すブロック図である。
【図33】同装置3000の誤り訂正部3130の詳細
な構成を示すブロック図である。
【図34】複数ブロックのデータを連続して処理する場
合における光ディスク制御部3100内での処理工程を
示すタイミングチャートである。
【図35】図34に示されたタイミングチャートを詳細
にした図である。
【図36】誤り訂正部3130内での行方向及び列方向
の符号列単位での処理工程を示すタイミングチャートで
ある。
【図37】積符号のデータ構造を示す。
【図38】C1系列の誤り訂正を行ごとに順次行う場合
の処理順序を示す。
【図39】C2系列の誤り訂正を列ごとに順次行う場合
の処理順序を示す。
【図40】従来の誤り訂正装置による誤り訂正の処理順
序を示す。
【符号の説明】
1 バッファメモリ 2 バスコントロール部 5 誤り訂正部 12 ディスクインターフェース部 13 ホストインターフェース部 21 アドレス生成部 22 バス調停制御部 23 DMAチャネル部 23a〜23c DMAチャネル 51 データ分配部 51a セレクタ 51b 切替え制御部 52〜55 シンドローム生成部 56 誤り位置・誤り数値演算部 57 データ更新部 62 キューバッファ 63 シンドローム演算部 63〜65 シンドローム演算部 66 ガロア体乗算器 67 ガロア体加算器 68 レジスタ 100 誤り訂正装置 2000 光ディスク読み取り装置 2010 光ディスク 2020 ピックアップ 2030 増幅器 2040 フロントエンドプロセッサ 2050 回転モータ 2060 サーボコントローラ 2070 ホストコンピュータ 2080 システム制御部 2100 光ディスク制御部 2110 バッファメモリ 2120 ディスクインターフェース部 2130 誤り訂正部 2131 シンドローム計算部 2132 ユークリッド計算部 2133 チェーン計算部 2134 エラーデータ更新部 2135 C1符号列転送要求部 2140 ホストインターフェース部 2150 第1転送部 2160 第2転送部 2170 第3転送部 2180 バス制御部 2181 アドレス生成部 2182 バス調停制御部 2183 バス切替部 2190 検出部 2200 誤り符号列記憶部 3000 光ディスク読み取り装置 3100 光ディスク制御部 3110 バッファメモリ 3120 ディスクインターフェース部 3130 誤り訂正部 3131 シンドローム計算部 3132 ユークリッド計算部 3133 チェーン計算部 3134 エラーデータ更新部 3135 シンドローム記憶部 3135 入力データシンドローム記憶部 3136 バッファデータシンドローム記憶部 3140 ホストインターフェース部 3150 第1転送部 3160 第2転送部 3170 第3転送部 3180 バス制御部 3190 データ選択部

Claims (40)

    【特許請求の範囲】
  1. 【請求項1】 R行L列のブロック符号を構成する行方
    向及び列方向の符号列に対する誤り訂正に伴う演算を繰
    り返し実行する誤り訂正装置であって、 前記ブロック符号を記憶する記憶手段と、 前記ブロック符号の1行又は1列の符号列を単位として
    誤り符号の訂正に必要な演算を行う演算手段と、 R1を2以上R未満の整数としたときに、前記記憶手段
    に記憶されたブロック符号のR1行分の符号列を読み出
    して前記演算手段に転送することをR行について順に繰
    り返す行方向転送部を有する転送手段とを備え、 前記行方向転送部は、L1を2以上L未満の整数とした
    ときに、各行につき連続して並ぶL1個の符号を読み出
    して前記演算手段に転送することを前記R1行それぞれ
    について順に行うR1行L1列転送を、行方向にL1個の
    符号だけずらしながら繰り返し、 前記演算手段は、前記行方向転送部から符号が送られて
    くる場合には、送られてくるL1個の符号ごとに前記R1
    行の異なる行の符号列を構成するものとして前記R1行
    の符号列に対する前記演算を並列に行うことを特徴とす
    る誤り訂正装置。
  2. 【請求項2】 前記ブロック符号は積符号であり、前記
    ブロック符号を構成する行方向及び列方向の符号列それ
    ぞれには情報符号と誤り訂正符号とが含まれ、 前記演算手段は、 1行又は1列の符号列を単位として誤り符号が存在する
    か否かを検出する誤り検出手段と、 前記誤り検出手段により誤り符号が存在すると検出され
    た場合に、その誤り符号に相当する前記記憶手段中の符
    号を訂正後の値に書き換える誤り符号更新手段とを有
    し、 前記行方向転送部は、前記誤り検出手段に対して前記符
    号列を繰り返し転送し、 前記誤り検出手段は、前記行方向転送部から符号が送ら
    れてくる場合には、送られてくるL1個の符号ごとに前
    記R1行の異なる行の符号列を構成するものとして前記
    R1行の符号列に対する誤り検出を並列に行うことを特
    徴とする請求項1に記載の誤り訂正装置。
  3. 【請求項3】 前記記憶手段においては、前記ブロック
    符号の同一行に属する符号は連続するアドレスの記録領
    域に記憶され、 前記行方向転送部は、前記記憶手段の連続するアドレス
    の記憶領域から前記L1個の符号を連続して読み出すこ
    とを特徴とする請求項2に記載の誤り訂正装置。
  4. 【請求項4】 前記記憶手段は、ダイナミックランダム
    アクセスメモリであり、 前記行方向転送部は、前記記憶手段から前記L1個の符
    号をページモードで読み出すことを特徴とする請求項3
    に記載の誤り訂正装置。
  5. 【請求項5】 前記行方向転送部による転送は、前記記
    憶手段へのダイレクトメモリアクセスによる転送である
    ことを特徴とする請求項4に記載の誤り訂正装置。
  6. 【請求項6】 前記誤り検出手段は、 1つの符号列に対する誤り検出を行うR1個の単位誤り
    検出部と、 前記行方向転送部から符号が送られてくる場合には、送
    られてくるL1個の符号ごとに前記R1個の単位誤り検出
    部それぞれに順に配送することを繰り返す分配部とを有
    し、 前記R1個の単位誤り検出部それぞれは、相互に独立、
    かつ、前記行方向転送部による転送と並行して前記誤り
    検出を行うことを特徴とする請求項2に記載の誤り訂正
    装置。
  7. 【請求項7】 前記R1個の単位誤り検出部それぞれ
    は、前記分配部からL1個の符号が繰り返し配送されて
    くる場合には、その繰り返し周期よりも短い周期で、L
    1個の符号に対する誤り検出を終えることを特徴とする
    請求項6に記載の誤り訂正装置。
  8. 【請求項8】 前記R1個の単位誤り検出部それぞれ
    は、1つの符号列に対して複数のシンドロームを算出す
    る積和演算回路を有することを特徴とする請求項7に記
    載の誤り訂正装置。
  9. 【請求項9】 前記行方向転送部は、前記Lを前記L1
    で割ったときの商をD、余りをEとするときに、前記R
    1行L1列転送を行方向にL1個の符号だけずらしながら
    D回繰り返した後に、各行につき連続して並ぶE個の符
    号を読み出して前記誤り検出手段に転送することを前記
    R1行それぞれについて順に行い、 前記誤り検出手段は、所定回数だけ前記L1個の符号ご
    とに前記誤り検出を行った後に、E個の符号ごとに前記
    誤り検出を行うことを特徴とする請求項2に記載の誤り
    訂正装置。
  10. 【請求項10】 前記転送手段はさらに、L2を2以上
    L未満の整数としたときに、前記記憶手段に記憶された
    ブロック符号のL2列分の符号列を読み出して前記誤り
    検出手段に転送することをL列について順に繰り返す列
    方向転送部を有し、 前記列方向転送部は、各行につき連続して並ぶL2個の
    符号を読み出して前記誤り検出手段に転送することを前
    記R行それぞれについて順に行うR行L2列転送を、行
    方向にL2個の符号だけずらしながら繰り返し、 前記誤り検出手段は、前記列方向転送部から符号が送ら
    れてくる場合には、送られてくるL2個の符号それぞれ
    が、対応する前記L2列の符号列それぞれに属するもの
    として前記L2列の符号列に対する誤り検出を並列に行
    うことを特徴とする請求項2に記載の誤り訂正装置。
  11. 【請求項11】 前記R1と前記L2は、R1=L2=jで
    あり、 前記誤り検出手段は、 1つの符号列に対する誤り検出を行うj個の単位誤り検
    出部と、 前記行方向転送部から符号が送られてくる場合には、送
    られてくるL1個の符号ごとに前記j個の単位誤り検出
    部それぞれに順に配送することを繰り返し、前記列方向
    転送部から符号が送られてくる場合には、送られてくる
    L2個の符号それぞれを対応する前記j個の単位誤り検
    出部それぞれに配送することを繰り返す分配部とを有
    し、 前記j個の単位誤り検出部それぞれは、相互に独立、か
    つ、前記行方向転送部及び前記列方向転送部による転送
    と並行して前記誤り検出を行うことを特徴とする請求項
    10に記載の誤り訂正装置。
  12. 【請求項12】 前記j個の単位誤り検出部それぞれ
    は、前記分配部からL1個の符号が繰り返し配送されて
    くる場合には、その繰り返し周期よりも短い周期で、L
    1個の符号に対する誤り検出を終え、前記分配部からL2
    個の符号のひとつが繰り返し配送されてくる場合には、
    その繰り返し周期よりも短い周期で、配送されたひとつ
    の符号に対する誤り検出を終えることを特徴とする請求
    項11に記載の誤り訂正装置。
  13. 【請求項13】 前記R1と前記L1と前記L2は、R1=
    L1=L2=jであることを特徴とする請求項12に記載
    の誤り訂正装置。
  14. 【請求項14】 R行L列のブロック符号を構成する行
    方向及び列方向の符号列に対する誤り訂正に伴う演算を
    繰り返し実行する誤り訂正装置であって、 前記ブロック符号を記憶する記憶手段と、 前記ブロック符号の1行又は1列の符号列を単位として
    誤り符号の訂正に必要な演算を行う演算手段と、 L2を2以上L未満の整数としたときに、前記記憶手段
    に記憶されたブロック符号のL2列分の符号列を読み出
    して前記演算手段に転送することをL列について順に繰
    り返す列方向転送部を有する転送手段とを備え、 前記列方向転送部は、各行につき連続して並ぶL2個の
    符号を読み出して前記演算手段に転送することを前記R
    行それぞれについて順に行うR行L2列転送を、行方向
    にL2個の符号だけずらしながら繰り返し、 前記演算手段は、前記列方向転送部から符号が送られて
    くる場合には、送られてくるL2個の符号それぞれが、
    対応する前記L2列の符号列それぞれに属するものとし
    て前記L2列の符号列に対する前記演算を並列に行うこ
    とを特徴とする誤り訂正装置。
  15. 【請求項15】 前記ブロック符号は積符号であり、前
    記ブロック符号を構成する行方向及び列方向の符号列そ
    れぞれには情報符号と誤り訂正符号とが含まれ、 前記演算手段は、 1行又は1列の符号列を単位として誤り符号が存在する
    か否かを検出する誤り検出手段と、 前記誤り検出手段により誤り符号が存在すると検出され
    た場合に、その誤り符号に相当する前記記憶手段中の符
    号を訂正後の値に書き換える誤り符号更新手段とを有
    し、 前記方向転送部は、前記誤り検出手段に対して前記符号
    列を繰り返し転送し、 前記誤り検出手段は、前記列方向転送部から符号が送ら
    れてくる場合には、送られてくるL2個の符号それぞれ
    が、対応する前記L2列の符号列それぞれに属するもの
    として前記L2列の符号列に対する誤り検出を並列に行
    うことを特徴とする請求項14に記載の誤り訂正装置。
  16. 【請求項16】 前記記憶手段においては、前記ブロッ
    ク符号の同一行に属する符号は連続するアドレスの記録
    領域に記憶され、 前記列方向転送部は、前記記憶手段の連続するアドレス
    の記憶領域から前記L2個の符号を連続して読み出すこ
    とを特徴とする請求項15に記載の誤り訂正装置。
  17. 【請求項17】 前記記憶手段は、ダイナミックランダ
    ムアクセスメモリであり、 前記列方向転送部は、前記記憶手段から前記L2個の符
    号をページモードで読み出すことを特徴とする請求項1
    6に記載の誤り訂正装置。
  18. 【請求項18】 前記列方向転送部による転送は、前記
    記憶手段へのダイレクトメモリアクセスによる転送であ
    ることを特徴とする請求項17に記載の誤り訂正装置。
  19. 【請求項19】 前記誤り検出手段は、 1つの符号列に対する誤り検出を行うL2個の単位誤り
    検出部と、 前記列方向転送部から符号が送られてくる場合には、送
    られてくるL2個の符号それぞれを対応する前記L2個の
    単位誤り検出部それぞれに順に配送することを繰り返す
    分配部とを有し、 前記L2個の単位誤り検出部それぞれは、相互に独立、
    かつ、前記列方向転送部による転送と並行して前記誤り
    検出を行うことを特徴とする請求項15に記載の誤り訂
    正装置。
  20. 【請求項20】 前記L2個の単位誤り検出部それぞれ
    は、前記分配部からL2個の符号のひとつが繰り返し配
    送されてくる場合には、その繰り返し周期よりも短い周
    期で、配送されたひとつの符号に対する誤り検出を終え
    ることを特徴とする請求項19に記載の誤り訂正装置。
  21. 【請求項21】 前記L2個の単位誤り検出部それぞれ
    は、1つの符号列に対して複数のシンドロームを算出す
    る積和演算回路を有することを特徴とする請求項20に
    記載の誤り訂正装置。
  22. 【請求項22】 前記列方向転送部は、前記Lを前記L
    2で割ったときの商をD、余りをEとするときに、前記
    R行L2列転送を行方向にL2個の符号だけずらしながら
    D回繰り返した後に、各行につき連続して並ぶE個の符
    号を読み出して前記誤り検出手段に転送することを前記
    R行それぞれについて順に行い、 前記誤り検出手段は、所定回数だけ前記L2個の符号ご
    とに前記誤り検出を行った後に、E個の符号ごとに前記
    誤り検出を行うことを特徴とする請求項15に記載の誤
    り訂正装置。
  23. 【請求項23】 外部の第1装置から受けとった符号に
    ついて必要な誤り訂正をした後に外部の第2装置に出力
    する誤り訂正装置であって、 前記符号を格納するための記憶領域を有する記憶手段
    と、 一定個数の符号を単位として誤り符号が存在するか否か
    を検出する誤り検出手段と、 一定個数の符号を単位として前記記憶手段中の誤り符号
    を訂正する誤り訂正手段と、 前記第1装置から出力された符号を前記記憶手段と前記
    誤り検出手段に並行して転送し、その符号を前記記憶手
    段に格納させると共に前記誤り検出手段に前記検出を行
    わせる第1転送手段と、 前記誤り検出手段によって誤り符号が存在すると検出さ
    れた前記一定個数の符号を前記記憶手段から前記誤り訂
    正手段に転送し、その符号について前記誤り訂正手段に
    前記訂正を行わせる第2転送手段と、 前記誤り検出手段又は前記誤り訂正手段によって誤り符
    号が存在しないことが検出又は誤り符号が訂正された一
    定個数の符号を前記記憶手段から前記第2装置に転送す
    る第3転送手段と、 前記第1〜第3転送手段それぞれが排他的に前記符号転
    送を実行するように制御する転送制御手段とを備えるこ
    とを特徴とする誤り訂正装置。
  24. 【請求項24】 前記誤り検出手段は、誤り符号が存在
    するか否かの検出結果を記録しておく検出結果記録部を
    有し、 前記誤り訂正手段は、前記検出結果記録部に記録された
    検出結果を参照することにより、誤り符号が存在すると
    検出された前記一定個数の符号だけが前記記憶手段から
    前記誤り訂正手段に転送されるように前記第2転送手段
    を制御することを特徴とする請求項23に記載の誤り訂
    正装置。
  25. 【請求項25】 前記第1装置は、R行L列のブロック
    符号を構成する行方向の符号列を順に繰り返し出力し、 前記ブロック符号は積符号であり、前記ブロック符号を
    構成する行方向及び列方向の符号列それぞれには情報符
    号と誤り訂正符号とが含まれ、 前記誤り訂正手段は、行方向及び列方向の符号列に対し
    て誤り訂正を行い、行方向の符号列に対する誤り訂正を
    行う場合には、前記検出結果記録部に記録された検出結
    果を参照することにより、誤り符号が存在すると検出さ
    れた行方向の符号列だけが前記記憶手段から前記誤り訂
    正手段に転送されるように前記第2転送手段を制御する
    ことを特徴とする請求項24に記載の誤り訂正装置。
  26. 【請求項26】 前記誤り検出手段は、1つのブロック
    符号を構成する全ての行方向の符号列についての検出結
    果を前記検出結果記録部に蓄積して記録し、 前記誤り訂正手段は、列方向の符号列に対する誤り訂正
    を行う場合には、前記検出結果記録部に記録された検出
    結果を参照することにより、誤り符号が存在すると検出
    されたブロック符号を構成する列方向の符号列だけが前
    記記憶手段から前記誤り訂正手段に転送されるように前
    記第2転送手段を制御することを特徴とする請求項25
    に記載の誤り訂正装置。
  27. 【請求項27】 前記第2転送手段は、R1を2以上R
    未満の整数としたときに、誤り符号が存在すると検出さ
    れたR1行分の符号列を記記憶手段から読み出して前記
    誤り訂正手段に転送することをR行について順に繰り返
    す行方向転送部を有し、 前記行方向転送部は、L1を2以上L未満の整数とした
    ときに、各行につき連続して並ぶL1個の符号を読み出
    して前記誤り訂正手段に転送することを前記R1行それ
    ぞれについて順に行うR1行L1列転送を、行方向にL1
    個の符号だけずらしながら繰り返し、 前記誤り訂正手段は、前記行方向転送部から符号が送ら
    れてくる場合には、送られてくるL1個の符号ごとに前
    記R1行の異なる行の符号列を構成するものとして前記
    R1行の符号列に対する誤り訂正を並列に行うことを特
    徴とする請求項23に記載の誤り訂正装置。
  28. 【請求項28】 前記第2転送手段はさらに、L2を2
    以上L未満の整数としたときに、誤り符号が存在すると
    検出されたブロック符号のL2列分の符号列を前記記憶
    手段から読み出して前記誤り訂正手段に転送することを
    L列について順に繰り返す列方向転送部を有し、 前記列方向転送部は、各行につき連続して並ぶL2個の
    符号を読み出して前記誤り訂正手段に転送することを前
    記R行それぞれについて順に行うR行L2列転送を、行
    方向にL2個の符号だけずらしながら繰り返し、 前記誤り訂正手段は、前記列方向転送部から符号が送ら
    れてくる場合には、送られてくるL2個の符号それぞれ
    が、対応する前記L2列の符号列それぞれに属するもの
    として前記L2列の符号列に対する誤り訂正を並列に行
    うことを特徴とする請求項27に記載の誤り訂正装置。
  29. 【請求項29】 前記第1転送手段による前記第1装置
    から前記記憶手段への符号転送、前記第2転送手段によ
    る前記記憶手段から前記誤り訂正手段への符号転送及び
    前記第3転送手段による前記記憶手段から前記第2装置
    への符号転送は、前記記憶手段へのダイレクトメモリア
    クセスによる転送であり、 前記転送制御手段は、前記第1〜第3転送手段によるD
    MA転送の中で第1転送手段によるDMA転送を最も高
    い優先度で実行させ、 前記第1転送手段によるDMA転送の必要が生じた場合
    において、前記第1〜第3転送手段のいずれかがDMA
    転送を実行しているときには、その実行中のDMA転送
    の終了後に前記第1転送手段によるDMA転送を実行さ
    せ、前記第1〜第3転送手段のいずれもDMA転送を実
    行していないときには、即時に前記第1転送手段による
    DMA転送を実行させることを特徴とする請求項23に
    記載の誤り訂正装置。
  30. 【請求項30】 前記転送制御手段は、前記第1〜第3
    転送手段によるDMA転送の中で第2転送手段によるD
    MA転送を最も低い優先度で実行させ、 前記第2転送手段によるDMA転送の必要が生じた場合
    において、前記第1〜第3転送手段のいずれもDMA転
    送を実行していないときに限り、前記第2転送手段によ
    るDMA転送を実行させることを特徴とする請求項29
    に記載の誤り訂正装置。
  31. 【請求項31】 前記誤り訂正手段は、前記第2転送手
    段により転送されてきた符号列に基づいて誤り符号と訂
    正後の値を特定した後に、前記転送制御手段による制御
    の下で前記記憶手段中の対応する誤り符号を訂正後の値
    に書き換え、 前記転送制御手段は、前記第1〜第3転送手段のいずれ
    もDMA転送を実行していないときに限り、前記誤り訂
    正手段による誤り符号の書き換えを実行させることを特
    徴とする請求項30に記載の誤り訂正装置。
  32. 【請求項32】 外部の第1装置から受けとった符号に
    ついて必要な誤り訂正をした後に外部の第2装置に出力
    する誤り訂正装置であって、 前記符号を格納するための記憶領域を有する記憶手段
    と、 一定個数の符号を単位として誤り符号を検出し、対応す
    る前記記憶手段中の誤り符号を訂正する誤り訂正手段
    と、 前記第1装置から送られてくる符号と前記記憶手段から
    送られてくる符号のいずれかを選択して前記誤り訂正手
    段に送り、前記誤り訂正手段に前記検出と訂正を行わせ
    る符号選択手段と、 前記第1装置から出力された符号を前記記憶手段と前記
    符号選択手段に並行して転送し、その符号を前記記憶手
    段に格納させると共に前記符号選択手段に選択させて前
    記誤り訂正手段に送らせ、その符号について前記誤り訂
    正手段に前記検出と訂正を行わせる第1転送手段と、 一定個数の符号を前記記憶手段から前記符号選択手段に
    転送し、その符号を前記符号選択手段に選択させて前記
    誤り訂正手段に送らせ、その符号について前記誤り訂正
    手段に前記検出と訂正を行わせる第2転送手段と、 前記誤り訂正手段によって誤り符号が存在しないことが
    検出又は誤り符号が訂正された一定個数の符号を前記記
    憶手段から前記第2装置に転送する第3転送手段と、 前記第1〜第3転送手段それぞれが排他的に前記符号転
    送を実行するように制御する転送制御手段とを備えるこ
    とを特徴とする誤り訂正装置。
  33. 【請求項33】 前記第1装置は、R行L列のブロック
    符号を構成する行方向の符号列を順に繰り返し出力し、 前記ブロック符号は積符号であり、前記ブロック符号を
    構成する行方向及び列方向の符号列それぞれには情報符
    号と誤り訂正符号とが含まれ、 前記第1転送手段は、第1装置から繰り返し送られてく
    る行方向の符号列を前記記憶手段と前記符号選択手段に
    並行して転送し、その符号列を前記記憶手段に格納させ
    ると共に前記符号選択手段に選択させて前記誤り訂正手
    段に送らせ、その符号列について前記誤り訂正手段に前
    記検出と訂正を行わせ、 第2転送手段は、前記ブロック符号の列方向の符号列を
    前記記憶手段から前記符号選択手段に転送し、その符号
    列を前記符号選択手段に選択させて前記誤り訂正手段に
    送らせ、その符号列について前記誤り訂正手段に前記検
    出と訂正を行わせることを特徴とする請求項32に記載
    の誤り訂正装置。
  34. 【請求項34】 前記誤り訂正手段は、 行方向又は列方向の符号列を単位として誤り符号が存在
    するか否かを検出する誤り検出部と、 前記誤り検出部により誤り符号が存在すると検出された
    場合に、その誤り符号に相当する前記記憶手段中の符号
    を訂正後の値に書き換える符号更新部とを有し、 前記誤り検出部は、 前記第1装置から前記第1転送手段により転送されてき
    た行方向の符号列に対する誤り検出の結果を記録してお
    く行方向検出結果記録部と、 前記記憶手段から前記第2転送手段により転送されてき
    た列方向の符号列に対する誤り検出の結果を記録してお
    く列方向検出結果記録部とを有し、 前記誤り符号更新部は、前記行方向検出結果記録部及び
    前記列方向検出結果記録部に記録された検出結果を用い
    て前記記憶手段中の符号を書き換えることを特徴とする
    請求項33に記載の誤り訂正装置。
  35. 【請求項35】 前記誤り検出部は、行方向の誤り検出
    を行う場合には、1つのブロック符号を構成する全ての
    行方向の符号列についての検出結果を前記行方向検出結
    果記録部に蓄積して記録し、列方向の誤り検出を行う場
    合には、前記行方向検出結果記録部に記録された検出結
    果を参照することにより、誤り符号が存在すると検出さ
    れたブロック符号を構成する列方向の符号列だけが前記
    記憶手段から前記誤り訂正手段に転送されるように前記
    第2転送手段を制御することを特徴とする請求項34に
    記載の誤り訂正装置。
  36. 【請求項36】 前記転送制御手段は、前記第1転送手
    段による前記第1装置から前記符号選択手段への1行分
    の符号列の転送と、前記第2転送手段による前記記憶手
    段から前記符号選択手段への1列分の符号列の転送と
    を、それら符号列を構成する部分符号の単位で切り替え
    ながら交互に実行させ、 前記誤り検出部は、前記第1装置から前記第1転送手段
    により転送されてきた行方向の符号列に対する誤り検出
    と、前記記憶手段から前記第2転送手段により転送され
    てきた列方向の符号列に対する誤り検出とを、前記部分
    符号の単位で交互に切り替えることにより、それぞれの
    符号列に対する誤り検出を並列に行い、それぞれの結果
    を行方向検出結果記録部及び列方向検出結果記録部に記
    録し、 前記誤り符号更新部は、前記行方向検出結果記録部及び
    前記列方向検出結果記録部に記録された検出結果を順次
    に参照することにより、行方向についての前記記憶手段
    中の符号の書き換えと列方向についての前記記憶手段中
    の符号の書き換えとを順次に行うことを特徴とする請求
    項35に記載の誤り訂正装置。
  37. 【請求項37】 前記第2転送手段は、L2を2以上L
    未満の整数としたときに、前記ブロック符号のL2列分
    の符号列を前記記憶手段から読み出して前記符号選択手
    段を経て前記誤り訂正手段に転送することをL列につい
    て順に繰り返す列方向転送部を有し、 前記列方向転送部は、各行につき連続して並ぶL2個の
    符号を読み出して前記誤り訂正手段に転送することを前
    記R行それぞれについて順に行うR行L2列転送を、行
    方向にL2個の符号だけずらしながら繰り返し、 前記誤り訂正手段は、前記列方向転送部から符号が送ら
    れてくる場合には、送られてくるL2個の符号それぞれ
    が、対応する前記L2列の符号列それぞれに属するもの
    として前記L2列の符号列に対する誤り訂正を並列に行
    うことを特徴とする請求項32に記載の誤り訂正装置。
  38. 【請求項38】 前記第1転送手段による前記第1装置
    から前記記憶手段への符号転送、前記第2転送手段によ
    る前記記憶手段から前記符号選択手段を経た前記誤り訂
    正手段への符号転送及び前記第3転送手段による前記記
    憶手段から前記第2装置への符号転送は、前記記憶手段
    へのダイレクトメモリアクセスによる転送であり、 前記転送制御手段は、前記第1〜第3転送手段によるD
    MA転送の中で第1転送手段によるDMA転送を最も高
    い優先度で実行させ、 前記第1転送手段によるDMA転送の必要が生じた場合
    において、前記第1〜第3転送手段のいずれかがDMA
    転送を実行しているときには、その実行中のDMA転送
    の終了後に前記第1転送手段によるDMA転送を実行さ
    せ、前記第1〜第3転送手段のいずれもDMA転送を実
    行していないときには、即時に前記第1転送手段による
    DMA転送を実行させることを特徴とする請求項32に
    記載の誤り訂正装置。
  39. 【請求項39】 前記転送制御手段は、前記第1〜第3
    転送手段によるDMA転送の中で第2転送手段によるD
    MA転送を最も低い優先度で実行させ、 前記第2転送手段によるDMA転送の必要が生じた場合
    において、前記第1〜第3転送手段のいずれもDMA転
    送を実行していないときに限り、前記第2転送手段によ
    るDMA転送を実行させることを特徴とする請求項38
    に記載の誤り訂正装置。
  40. 【請求項40】 前記転送制御手段は、前記第1〜第3
    転送手段のいずれもDMA転送を実行していないときに
    限り、前記誤り符号更新部による前記記憶手段中の符号
    の書き換えを実行させることを特徴とする請求項39に
    記載の誤り訂正装置。
JP04719499A 1998-02-25 1999-02-24 誤り訂正装置及び誤り訂正装置の誤り訂正方法 Expired - Fee Related JP3676939B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP04719499A JP3676939B2 (ja) 1998-02-25 1999-02-24 誤り訂正装置及び誤り訂正装置の誤り訂正方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP4321998 1998-02-25
JP10-43219 1998-02-25
JP04719499A JP3676939B2 (ja) 1998-02-25 1999-02-24 誤り訂正装置及び誤り訂正装置の誤り訂正方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2004378028A Division JP4157521B2 (ja) 1998-02-25 2004-12-27 誤り訂正装置、光ディスク制御装置、光ディスク読み取り装置ならびに誤り訂正方法

Publications (2)

Publication Number Publication Date
JPH11338723A true JPH11338723A (ja) 1999-12-10
JP3676939B2 JP3676939B2 (ja) 2005-07-27

Family

ID=12657813

Family Applications (3)

Application Number Title Priority Date Filing Date
JP04719499A Expired - Fee Related JP3676939B2 (ja) 1998-02-25 1999-02-24 誤り訂正装置及び誤り訂正装置の誤り訂正方法
JP2004378028A Expired - Fee Related JP4157521B2 (ja) 1998-02-25 2004-12-27 誤り訂正装置、光ディスク制御装置、光ディスク読み取り装置ならびに誤り訂正方法
JP2005331536A Expired - Fee Related JP4295758B2 (ja) 1998-02-25 2005-11-16 誤り訂正装置、光ディスク制御装置、光ディスク読み取り装置ならびに誤り訂正方法

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2004378028A Expired - Fee Related JP4157521B2 (ja) 1998-02-25 2004-12-27 誤り訂正装置、光ディスク制御装置、光ディスク読み取り装置ならびに誤り訂正方法
JP2005331536A Expired - Fee Related JP4295758B2 (ja) 1998-02-25 2005-11-16 誤り訂正装置、光ディスク制御装置、光ディスク読み取り装置ならびに誤り訂正方法

Country Status (4)

Country Link
US (2) US6332206B1 (ja)
EP (4) EP1146515A1 (ja)
JP (3) JP3676939B2 (ja)
CN (5) CN1897512B (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6772385B2 (en) 2000-01-31 2004-08-03 Sanyo Electric Co., Ltd. Error-correcting device and decoder enabling fast error correction with reduced circuit scale
US6802040B1 (en) 1999-11-24 2004-10-05 Sanyo Electric Co., Ltd. Error correction device
JP2010154043A (ja) * 2008-12-24 2010-07-08 Mitsubishi Electric Corp 誤り訂正復号装置および誤り訂正復号方法
JP2017158066A (ja) * 2016-03-02 2017-09-07 Nttエレクトロニクス株式会社 誤り訂正処理回路および誤り訂正処理方法

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6948113B1 (en) * 1999-04-21 2005-09-20 Seagate Technology Llc Self-throttling error-correction buffer and method for a disc drive
TW441195B (en) * 1999-07-16 2001-06-16 Via Tech Inc Signal decoding method
JP3450756B2 (ja) * 1999-09-08 2003-09-29 松下電器産業株式会社 誤り訂正方法および誤り訂正装置
TW512320B (en) 1999-09-10 2002-12-01 Matsushita Electric Ind Co Ltd Signal processing device
EP1223578A3 (en) 2000-12-12 2008-07-16 Kabushiki Kaisha Toshiba Data processing method using error-correcting code and an apparatus using the same method
GB0031436D0 (en) * 2000-12-22 2001-02-07 Koninkl Philips Electronics Nv Method and apparatus for data reproduction
GB0031439D0 (en) * 2000-12-22 2001-02-07 Koninkl Philips Electronics Nv Method and apparatus for data reproduction
KR20020065788A (ko) * 2001-02-07 2002-08-14 삼성전자 주식회사 엠 또는 이엠 비트 데이터 처리 겸용 리드 솔로몬 복호기및 그 복호 방법
JP3954803B2 (ja) * 2001-03-22 2007-08-08 三洋電機株式会社 エラー訂正装置
US6910174B2 (en) * 2001-06-01 2005-06-21 Dphi Acquisitions, Inc. Error correction code block format
JP2003006003A (ja) * 2001-06-18 2003-01-10 Mitsubishi Electric Corp Dmaコントローラおよび半導体集積回路
JP4039227B2 (ja) * 2002-12-13 2008-01-30 日本電気株式会社 復号方法及びプログラム並びにこれを用いた復号回路
JP2004206798A (ja) * 2002-12-25 2004-07-22 Ricoh Co Ltd 光ディスク装置のエンコードデータ符号回路
TWI227395B (en) * 2003-06-02 2005-02-01 Genesys Logic Inc Method for parallel processing of memory data and error correction code and related device thereof
US7386754B2 (en) * 2003-10-16 2008-06-10 Seagate Technology Llc Method and apparatus to improve magnetic disc drive reliability using excess un-utilized capacity
JP2006004560A (ja) * 2004-06-18 2006-01-05 Elpida Memory Inc 半導体記憶装置及びその誤り訂正方法
JP2006190346A (ja) * 2004-12-28 2006-07-20 Toshiba Corp エラー訂正処理装置及びエラー訂正処理方法
JP4571523B2 (ja) * 2005-03-04 2010-10-27 ルネサスエレクトロニクス株式会社 スクランブル回路、エンコード装置、エンコード方法及び記録装置
US7788570B1 (en) * 2005-03-23 2010-08-31 Marvell International Ltd. Optimized Reed-Solomon decoder
US7430701B2 (en) * 2005-06-16 2008-09-30 Mediatek Incorporation Methods and systems for generating error correction codes
US7774676B2 (en) * 2005-06-16 2010-08-10 Mediatek Inc. Methods and apparatuses for generating error correction codes
US20070033507A1 (en) * 2005-08-03 2007-02-08 Xueping Jiang Efficient error code correction
TWI313807B (en) * 2005-08-18 2009-08-21 Realtek Semiconductor Corp Error correction apparatus and method for data stored in memory
US20070058753A1 (en) * 2005-08-30 2007-03-15 Carlos Saavedra BPSK demodulator circuit using an anti-parallel synchronization loop
US20070067702A1 (en) * 2005-09-05 2007-03-22 Kuo-Lung Chien Method and apparatus for syndrome generation
US7743311B2 (en) * 2006-01-26 2010-06-22 Hitachi Global Storage Technologies Netherlands, B.V. Combined encoder/syndrome generator with reduced delay
TW200820231A (en) * 2006-10-31 2008-05-01 Sunplus Technology Co Ltd Error code correction device with high memory utilization efficiency
CN101056157B (zh) * 2007-05-15 2010-06-09 上海微电子装备有限公司 一种传输控制装置及其控制方法
US8041990B2 (en) * 2007-06-28 2011-10-18 International Business Machines Corporation System and method for error correction and detection in a memory system
US8041989B2 (en) * 2007-06-28 2011-10-18 International Business Machines Corporation System and method for providing a high fault tolerant memory system
CN101868785B (zh) * 2007-09-21 2014-09-24 惠普开发有限公司 生成数据存储系统的并行恢复策略
US20100325490A1 (en) * 2009-06-22 2010-12-23 Anvin H Peter System and method to view crash dump information using a 2-d barcode
JP5544773B2 (ja) * 2009-07-22 2014-07-09 ソニー株式会社 エラー訂正装置、エラー訂正装置のメモリの制御方法および光ディスク記録再生装置
US8898511B2 (en) 2010-06-24 2014-11-25 International Business Machines Corporation Homogeneous recovery in a redundant memory system
US8484529B2 (en) * 2010-06-24 2013-07-09 International Business Machines Corporation Error correction and detection in a redundant memory system
US8549378B2 (en) 2010-06-24 2013-10-01 International Business Machines Corporation RAIM system using decoding of virtual ECC
US8631271B2 (en) 2010-06-24 2014-01-14 International Business Machines Corporation Heterogeneous recovery in a redundant memory system
US8522122B2 (en) 2011-01-29 2013-08-27 International Business Machines Corporation Correcting memory device and memory channel failures in the presence of known memory device failures
JP2015053096A (ja) 2013-09-09 2015-03-19 マイクロン テクノロジー, インク. 半導体装置、及び誤り訂正方法
US20150311921A1 (en) * 2014-04-25 2015-10-29 Kabushiki Kaisha Toshiba Memory controller, storage device and decoding method
US10381102B2 (en) 2014-04-30 2019-08-13 Micron Technology, Inc. Memory devices having a read function of data stored in a plurality of reference cells
US10461777B2 (en) 2015-07-14 2019-10-29 Western Digital Technologies, Inc. Error locator polynomial decoder and method
US10439644B2 (en) 2015-07-14 2019-10-08 Western Digital Technologies, Inc. Error locator polynomial decoder and method
US10572189B2 (en) 2016-11-04 2020-02-25 Sandisk Technologies Llc Method and decoder to adjust an error locator polynomial based on an error parity
US9760435B2 (en) * 2015-10-14 2017-09-12 Intel Corporation Apparatus and method for generating common locator bits to locate a device or column error during error correction operations
CN105575439B (zh) * 2015-12-15 2020-04-28 山西长河科技股份有限公司 一种存储单元失效纠错的方法及存储器
KR102504176B1 (ko) * 2016-06-23 2023-03-02 에스케이하이닉스 주식회사 반도체장치
KR102333140B1 (ko) * 2017-08-18 2021-12-02 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
CN111863106B (zh) * 2019-04-28 2022-08-05 武汉海康存储技术有限公司 闪存纠错方法及装置
US10826538B1 (en) * 2019-06-12 2020-11-03 International Business Machines Corporation Efficient error correction of codewords encoded by binary symmetry-invariant product codes
JP2021140835A (ja) * 2020-03-02 2021-09-16 株式会社東芝 磁気ディスク装置
US11687281B2 (en) * 2021-03-31 2023-06-27 Advanced Micro Devices, Inc. DRAM command streak efficiency management

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3622985A (en) * 1969-11-25 1971-11-23 Ibm Optimum error-correcting code device for parallel-serial transmissions in shortened cyclic codes
US4506362A (en) * 1978-12-22 1985-03-19 Gould Inc. Systematic memory error detection and correction apparatus and method
JPS62256270A (ja) 1986-04-28 1987-11-07 Casio Comput Co Ltd 誤り訂正装置
US4775978A (en) * 1987-01-12 1988-10-04 Magnetic Peripherals Inc. Data error correction system
USRE34100E (en) * 1987-01-12 1992-10-13 Seagate Technology, Inc. Data error correction system
US4845713A (en) * 1987-06-08 1989-07-04 Exabyte Corporation Method and apparatus for determining the coefficients of a locator polynomial
JPH01293013A (ja) * 1988-05-20 1989-11-27 Matsushita Electric Ind Co Ltd 誤り訂正装置
US5068855A (en) * 1988-07-18 1991-11-26 Canon Kabushiki Kaisha Error correcting method and apparatus
JP2695195B2 (ja) * 1988-09-02 1997-12-24 三菱電機株式会社 誤り訂正回路
US5629949A (en) * 1993-09-21 1997-05-13 Cirrus Logic, Inc. Error correction verification method and apparatus using CRC check remainders
JPH09507117A (ja) * 1993-11-04 1997-07-15 シーラス ロジック,インコーポレイテッド リードソロモン復号化器
JP3154607B2 (ja) * 1993-12-28 2001-04-09 三菱電機株式会社 誤り訂正復号装置及び誤り訂正復号方法
JP2970994B2 (ja) * 1994-05-25 1999-11-02 三洋電機株式会社 誤り訂正復号回路
US5719884A (en) * 1995-07-27 1998-02-17 Hewlett-Packard Company Error correction method and apparatus based on two-dimensional code array with reduced redundancy
US5701314A (en) * 1995-12-21 1997-12-23 Cirrus Logic, Inc. On-the-fly error correction using thermal asperity erasure pointers from a sampled amplitude read channel in a magnetic disk drive
JP3562544B2 (ja) * 1996-08-13 2004-09-08 ソニー株式会社 復号化装置および復号化方法
US5844919A (en) * 1996-09-16 1998-12-01 Cirrus Logic, Inc. Sector and track level error correction system for disc storage systems
US5872800A (en) * 1996-09-16 1999-02-16 Cirrus Logic, Inc. Write verify method for correcting unrecoverable sectors in a disc storage system using track level redundancy
US5844920A (en) * 1996-11-07 1998-12-01 Cirrus Logic, Inc. Thermal asperity compensation using multiple sync marks for retroactive and split segment data synchronization in a magnetic disk storage system
US6048090A (en) * 1997-04-23 2000-04-11 Cirrus Logic, Inc. Error correction and concurrent verification of a product code
US5974580A (en) * 1997-07-23 1999-10-26 Cirrus Logic, Inc. Concurrent row/column syndrome generator for a product code
US5991911A (en) * 1997-11-14 1999-11-23 Cirrus Logic, Inc. Concurrent generation of ECC error syndromes and CRC validation syndromes in a DVD storage device
US5996105A (en) * 1997-11-14 1999-11-30 Cirrus Logic, Inc. ECC system employing a data buffer for storing codeword data and a syndrome buffer for storing error syndromes
US6052815A (en) * 1997-11-14 2000-04-18 Cirrus Logic, Inc. ECC system for generating a CRC syndrome over randomized data in a computer storage device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6802040B1 (en) 1999-11-24 2004-10-05 Sanyo Electric Co., Ltd. Error correction device
US6772385B2 (en) 2000-01-31 2004-08-03 Sanyo Electric Co., Ltd. Error-correcting device and decoder enabling fast error correction with reduced circuit scale
US7181483B2 (en) 2000-01-31 2007-02-20 Sanyo Electric Co., Ltd. Error-correcting device and decoder enabling fast error correction with reduced circuit scale
JP2010154043A (ja) * 2008-12-24 2010-07-08 Mitsubishi Electric Corp 誤り訂正復号装置および誤り訂正復号方法
JP2017158066A (ja) * 2016-03-02 2017-09-07 Nttエレクトロニクス株式会社 誤り訂正処理回路および誤り訂正処理方法

Also Published As

Publication number Publication date
CN100383886C (zh) 2008-04-23
EP0939403A3 (en) 1999-11-17
CN1233053A (zh) 1999-10-27
CN100430900C (zh) 2008-11-05
CN1532837A (zh) 2004-09-29
JP4157521B2 (ja) 2008-10-01
EP0939403A2 (en) 1999-09-01
EP1517327A2 (en) 2005-03-23
EP1146515A1 (en) 2001-10-17
CN1627426A (zh) 2005-06-15
CN1897512B (zh) 2010-08-11
CN1555061A (zh) 2004-12-15
JP2006139911A (ja) 2006-06-01
EP1914752A1 (en) 2008-04-23
CN1165906C (zh) 2004-09-08
JP3676939B2 (ja) 2005-07-27
JP4295758B2 (ja) 2009-07-15
JP2005168039A (ja) 2005-06-23
EP1517327A3 (en) 2005-03-30
USRE41499E1 (en) 2010-08-10
CN1897512A (zh) 2007-01-17
US6332206B1 (en) 2001-12-18

Similar Documents

Publication Publication Date Title
JP3676939B2 (ja) 誤り訂正装置及び誤り訂正装置の誤り訂正方法
US5546409A (en) Error correction encoding and decoding system
US6772385B2 (en) Error-correcting device and decoder enabling fast error correction with reduced circuit scale
JPH10207726A (ja) 半導体ディスク装置
US7624330B2 (en) Unified memory architecture for recording applications
US6687860B1 (en) Data transfer device and data transfer method
US6802040B1 (en) Error correction device
US8181075B2 (en) Error correction device and recording and reproducing device
US6697921B1 (en) Signal processor providing an increased memory access rate
JP2001292066A (ja) 誤り訂正装置および誤り訂正方法
US5761220A (en) Minimum latency asynchronous data path controller in a digital recording system
US7805548B2 (en) Method, medium and system setting transfer unit corresponding to a minimum overhead in a data processing system
KR20000023004A (ko) 디스크 재생 장치에 적용되는 에러 검출 회로
JPH07273672A (ja) 符号化装置、復号化装置及び制御装置
JP3773740B2 (ja) 復号装置
JP3609714B2 (ja) 誤り訂正装置
KR100390120B1 (ko) 신호 처리 장치
JP3442703B2 (ja) シンドローム演算方法及び装置
JP2003288762A (ja) 磁気テープ装置の制御装置
JPH05110451A (ja) 行列演算回路
JP2000251418A (ja) デジタルデータ記録装置及びその再生装置並びに積符号生成方法
JPS62232041A (ja) デ−タ処理装置
JPH10107648A (ja) 誤り訂正処理回路
JP2000183754A (ja) デ―タ転送装置、およびデ―タ転送方法
JP2007042179A (ja) エラー訂正装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050404

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: 20050426

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050502

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090513

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100513

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110513

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110513

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120513

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120513

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130513

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees