JP2002280909A - エラー訂正装置 - Google Patents
エラー訂正装置Info
- Publication number
- JP2002280909A JP2002280909A JP2001082298A JP2001082298A JP2002280909A JP 2002280909 A JP2002280909 A JP 2002280909A JP 2001082298 A JP2001082298 A JP 2001082298A JP 2001082298 A JP2001082298 A JP 2001082298A JP 2002280909 A JP2002280909 A JP 2002280909A
- Authority
- JP
- Japan
- Prior art keywords
- data
- error correction
- read
- dram
- symbol
- 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
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/408—Address circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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/2906—Coding, 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 block codes
- H03M13/2909—Product codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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/2906—Coding, 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 block codes
- H03M13/2921—Coding, 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 block codes wherein error correction coding involves a diagonal direction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
ら符号語を構成するシンボルを読み出してエラー検出や
エラー訂正を行う場合であれ、それらエラー検出やエラ
ー訂正にかかる処理をより高速に行うことのできるエラ
ー訂正装置を提供する。 【解決手段】DRAMから符号語データの読み出しに際
し、行アドレスを指定した後、隣接した4つの列アドレ
スを順次指定することで(図5(b))、4つの符号語
が並列的に読み出される(図5(e))。こうして読み
出されたデータd0,d1,d2,d3は、演算回路S
00及びS10と、S01及びS11と、S02及びS
12と、S03及びS13とにおいてそれぞれシンドロ
ームが計算される。
Description
り、詳しくはランダムアクセスメモリからなるバッファ
メモリに備蓄されたデータに対してシンドローム計算を
行うことでエラー訂正を行うエラー訂正装置に関する。
OM)のデータフォーマットの一例を示す。同図8(a)
に示されるように、2352バイトからなる1セクタの
データには、12バイトの同期データをはじめ、4バイ
トのヘッダ、2048バイトのユーザデータ、4バイト
のEDC(Error Detection Code:誤り検出符号)デー
タ、8バイトのZEROデータ、276バイトのECC
(Error Correction Code:誤り訂正符号)データが含ま
れている。
データを除いたデータには、上記ECCによるエラー訂
正が適用される。以下、このエラー訂正について詳述す
る。
除いた2340バイトのデータが、図8(b)に示され
るように、その先頭から各1バイト毎にLSバイトとM
Sバイトとに分割される。これにより、それぞれ117
0バイトからなるLSバイト(図8(c))及びMSバ
イト(図8(d))のデータが生成される。また、これ
らLSバイト及びMSバイトからなる各1170バイト
のデータには、それぞれ図9に示される態様で、Pシー
ケンス(P系列)とQシーケンス(Q系列)との2つの
方向に符号化が施されている。
のうちのそれぞれ先頭から1032バイトのデータにお
いて、そのPシーケンス方向の各24バイトのデータに
各々2バイトからなるPパリティが付与されることで、
同Pシーケンスの方向に符号化された43個の符号語
(P符号)が構成されている。図9からも明らかなよう
に、このP符号は、その第i番目の符号語の第jシンボ
ルの位置が「i+43j(i=0,1,…42:j=
0,1,…25)」にて表される。
ータと上記Pパリティを構成する各86バイト(2バイ
ト×43個)のデータとにおいて、そのQシーケンス方
向の各43バイトのデータにこれも各々2バイトからな
るQパリティが付与されることで、同Qシーケンスの方
向に符号化された26個の符号語(Q符号)が構成され
ている。このQ符号は、その第i番目の符号語の第jシ
ンボルの位置が「43i+44j mod(残余)11
18(i=0,1,…25:j=0,1,…42)」に
て表される。
ボルを読み出し、これからシンドロームと呼ばれるデー
タを算出することで、上記各データにエラーが存在して
いるか否かを判断することができる。これら各符号語に
よるエラー検出は、具体的には次のように行われる。
タは、CD(Compact Disc)信号処理部において、CD
オーディオと同様、エラー訂正などのデコード処理が施
された後、先の図8(a)に示したCD−ROMデータ
として、一旦バッファメモリであるDRAM(Dynamic
Random Access Memory)に記憶される。図10に、この
DRAMに対するCD−ROMデータの記憶態様を示
す。
OMのセクタデータにおいて、12バイトからなる同期
データのうちの6バイト分のデータとLSバイト又はM
Sバイトからなる1170バイトのデータとからなる1
176バイトのデータが、DRAMのアドレスに沿って
書き込まれる。図10においては、DRAMの列アドレ
スが256バイトである場合について例示しているため
に、256バイト周期で行アドレスが「1」ずつインク
リメントされる。なお、実際には、このDRAMには、
各アドレスに沿って、MSバイト及びLSバイトの各1
バイトずつ、合計2バイトずつのデータが書き込まれる
構成となっている。そして、これらの各アドレスのう
ち、同一の行アドレスを有するメモリセルは、同一のワ
ード線に接続されている。
ROMデータの転送時のデータストリームの順序、換言
すれば、先の図8(a)に示すCD−ROMデータのデ
ータストリームの順序である。ただし、実際には、LS
バイト及びMSバイトからなる各1170バイトのデー
タに分類されているために、メモリセルには、そのアド
レスの若いものから順に、6バイトの同期データ、先の
図8(c)及び図8(d)に示したデータが書き込まれ
る。これにより例えば、図10に示したセクタ1の第0
行において、第1列から第5列までには同期データが書
き込まれる。また、同第0行において、第6列には先の
図8(c)及び図8(d)において第0番目のデータと
して示したデータが、第7列には先の図8(c)及び図
8(d)において第1番目のデータとして示したデータ
が、それぞれ書き込まれる。
た各セクタ毎のCD−ROMデータは、各符号語毎に読
み出される。ここで、P符号の読み出し順序を例にとる
と、図11に示すように、26バイトからなる各符号語
毎に読み出しが行われる。そして、この読み出された符
号語を構成するシンボルから、上記シンドロームと呼ば
れるデータが計算される。このシンドロームは、上記各
データ(符号語)にエラーが存在しない場合には所定値
をとる等、予め設定されるデータである。このため、こ
のシンドロームを計算することで、その値に基づき、当
該符号語に誤りがあるか否かを判断することができるよ
うになる。
ると、その誤りの大きさと誤りの位置とが同じく上記シ
ンドロームに基づいて求められる。そして、エラーのあ
る位置からデータをもう一度リードし直して誤りの大き
さとの排他的論理和をとることで正しいデータを生成
し、これをDRAMに書き戻す。
に示したEDCデータを用いて、上記エラー訂正の過程
で過度のエラーによる誤訂正が起こっていないかどうか
が検証される。そして、こうしたエラー訂正処理やその
後の誤訂正の有無のチェックの終了したデータが、DR
AMからホストコンピュータへと転送される。
号語を用いることで、エラー訂正を行うことができるよ
うにはなる。ただし、これら各符号語を構成するシンボ
ルは、DRAMのアドレス上の不連続なアドレスを有す
るメモリセルに記憶されているために、上記態様でそれ
ら符号語の読み出しを行う場合には、各メモリセルへの
アクセス時間も自ずと長期化するようになる。すなわ
ち、通常、DRAMからの1シンボルの読み出しには、
プリチャージ、行アドレス指定、列アドレス指定といっ
た3つの動作を必要とする。このため、それら1シンボ
ルの読み出しを行うたびに、クロックとしても3クロッ
クが必要となり、このことが上述したエラー訂正処理に
とっての速度的な大きなボトルネックとなっている。
正する回路に限らず、ランダムアクセスメモリからなる
バッファメモリに一旦データを記憶した後、順次そのシ
ンボルを読み出しつつエラー検出やエラー訂正を行うエ
ラー訂正装置においては、こうした実情も概ね共通した
ものとなっている。
あり、その目的は、ランダムアクセスメモリに記憶され
たデータから符号語を構成するシンボルを読み出してエ
ラー検出やエラー訂正を行う場合であれ、それらエラー
検出やエラー訂正にかかる処理をより高速に行うことの
できるエラー訂正装置を提供することにある。
媒体から読み出されるディジタルデータのエラー訂正処
理を行うエラー訂正装置において、前記ディジタルデー
タに対応し、所定のエラー訂正符号に従う符号語を構成
する複数のシンボルをバッファメモリに書き込むと共
に、書き込まれたシンボルを読み出すメモリアクセス回
路と、前記バッファメモリから読み出されるシンボルに
対してエラー訂正処理のためのシンドローム計算を行う
複数の演算回路と、を備え、前記メモリアクセス回路
は、複数の符号語を1シンボル毎に順次読み出し、前記
複数の演算回路に振り分けて供給することで、エラー検
出やエラー訂正を高速化することを可能とする。
装置を、CD−ROMデータにおけるP符号を用いてエ
ラーを訂正するエラー訂正装置に具体化した一実施形態
について、図面を参照しつつ説明する。
れたデータからP符号を読み出す際に、図1に示すよう
に、4つの符号語を並列的に読み出す。すなわち、上述
したMSバイト及びLSバイトの各データにおいて、
「i+43j」、「(i+1)+43j」、「(i+
2)+43j」、「(i+3)+43j」(i=0,
1,…39:j=0,1,…25)」番面のデータを連
続的に読み出す。そして、上記4つのデータについて、
「j=0〜25」の26バイト分の全てのシンボル値を
読み出すことで、これら4つの符号語を完全に読み終わ
ると、次の4つの符号語の読み出しが行われる。
応する各シンボルは、DRAM内で隣接したアドレス上
に記憶されているために、この読み出しに際して、DR
AMの行アドレスを一旦指定した後、各符号語に対応し
て列アドレスを変更して指定するページモード方式を適
用することができる。こうすることで、4つのシンボル
の読み出しに際して必要とされるクロックは、プリチャ
ージ、行アドレス指定、列アドレス指定にそれぞれ1ク
ロック、1クロック、4クロックの合計6クロックとな
る。このように、4つの符号語を並列して読み出すため
に、1シンボル当たりの読み出しに必要なクロック数を
削減することができ、ひいては、高速アクセスが可能と
なる。
並列して読み出すようにすると、各LSバイト又はMS
バイトのデータにおいて、1040バイト分のデータの
読み出し後には、3つの符号語を残すのみとなる。した
がって、1041バイト目から1118バイト目のデー
タに関しては、3つの符号語を上記同様ページモード方
式によって並列的に読み出すようにする。
しに際して、行アドレスが変わるときには例外的に行ア
ドレスを指定し直す。このため本実施形態では、読み出
し時にその読み出しにかかるアドレスを検出して、先の
図10に示したDRAMの列アドレスが「255」であ
るか否かを判断する。そして、列アドレスが「255」
であると判断されると行アドレスを新たに指定する。
つエラー訂正処理を行う本実施形態のエラー訂正装置の
全体構成を示す。
10に示した態様にてCD−ROMデータを記憶するD
RAM10や、DRAM10内で行われる処理を選択し
指定するバスアービタ11を備えている。ここで、DR
AM10は、先の図10等を用いて説明したDRAMと
同一の構成を有する。
図示しないCD信号処理部から転送される先の図8
(a)に示したCD−ROMデータが、DRAM10内
のアドレスとともに入力される。これにより、バスアー
ビタ11では、上記データをDRAM10内の指定され
たアドレスにしたがって書き込むために、RAS(Row
Address Strobe)信号やCAS(Column Address Strob
e)信号等が生成される。これらRAS信号やCAS信
号、更には上記CD−ROMデータ等がDRAM10に
入力されることで、同データのDRAM10への書き込
みが行われる。
たデータの読み出しに際しても、読み出し対象となるデ
ータにアクセスすべく、上記RAS信号やCAS信号が
用いられる。
1に示した態様にて読み出すために、上記エラー訂正装
置は、エラー訂正タイミング生成回路20を備えてい
る。このエラー訂正タイミング生成回路20によってD
RAM10から読み出されるデータが指定されると、セ
クタ先頭アドレス生成部21では、DRAM10から読
み出されるデータの属するセクタの先頭を指定する。こ
の先頭の指定は、DRAM10に書き込まれたデータの
バイト数の積算値として定義される。すなわち、先の図
10に示したセクタ1に属するデータを読み出す場合に
はセクタ1の先頭として「0000」、また、セクタ2
に属するデータを読み出す場合にはその先頭として「2
352」、更に、セクタ3に属するデータを読み出す場
合にはその先頭として「4704」、というようにその
各セクタの先頭に対応するバイト数を指定する。
によってDRAM10から読み出されるデータが指定さ
れると、ECCオフセットアドレス生成部22では、読
み出し対象となるデータがDRAM10におけるセクタ
内の順番によって指定される。すなわち、先の図1に示
した態様にて読み出しが行われるために、基本的には、
「0000,0001,0002,0003,004
3,0044,0045,0046,0086…」とい
うように、読み出し対象となるデータが指定される。た
だし、上述したように、本実施形態では、DRAM10
に書き込まれたデータのうち、各セクタ(LSバイトの
データ及びMSバイトのデータ)の先頭から6バイトの
データは同期データであるため、シンドローム計算のた
めの読み出し対象とはならない。このため、実際には、
ECCオフセットアドレス生成部22では、「000
6,0007,0008,0009,0049,005
0,0051,0052,0092…」というように、
読み出し対象となるデータが、当該セクタでのDRAM
10内での順番によって指定される。
21及びECCオフセットアドレス生成部22によって
指定された値に基づいて、加算器23では、読み出し対
象となるデータのDRAM10内での順番が算出され
る。この際、上述したように、DRAM10のメモリセ
ルが各2バイト単位のデータを記憶するセルであること
が考慮される。すなわち、先の図10に示したセクタ1
のデータに対しては、「0006,0007,000
8,0009,0049,0050,0051,005
2,0092…」というように、また、セクタ2上のデ
ータに対しては、上記順番に1175バイトを加えた
「1181,1182,1183,1184,122
4,1225,2226,2227,2267…」とい
うように、それぞれDRAM10内での順番が指定され
る。
となるデータのDRAM10内での順番が指定される
と、同指定値がバスアービタ11に供給される。バスア
ービタ11では、供給された指定値に基づいてDRAM
10からのデータの読み出しを行う。
ージ境界検出部24にも入力される。このページ境界検
出部24は、読み出し対象となるデータのDRAM10
の列アドレスが「255」(ページ境界)であるときに
ページ境界信号を出力する。これは、加算器23の指定
値の2進数表記における下位8ビットが全て「1」とな
ることで検出される。このようにページの境界を検出す
ることで、エラー訂正タイミング生成回路20では、4
つ(又は3つ)の符号語に対応した4つ(又は3つ)の
シンボルを読み出す際に、DRAM10の行アドレスが
変化するかどうかを判断する。
0は、行アドレスが変化しないと判断すると、行アドレ
スを1度指定した後、読み出し対象となる各符号語に対
応して列アドレスを4度(又は3度)指定することで、
これら符号語の読み出しを行うべく指令を、バスアービ
タ11に出力する。一方、行アドレスが変化すると判断
すると、ページ境界のデータの読み出し後、再度行アド
レスを指定するよう指令をバスアービタ11に出力す
る。
ータに対して、CD−ROMデコード部30によってエ
ラー訂正処理が施される。このCD−ROMデコード部
30は、シンドローム生成部31やエラー訂正部32,
ECCアドレス生成部33,エラー検出部34を備えて
いる。
RAM10から読み出されたデータがバスアービタ11
を介して入力される。本実施形態では、1エラー訂正を
行う場合について例示する。この場合、各符号語毎にS
0及びS1の2つのシンドロームを算出する。ここで、
シンドロームS0は、初期値を「0」、符号語内のi番
目のシンボル値をv(i)、ガロア体の加算を「^」と
して、演算S0=S0^v(i)を符号語内の全てのシ
ンボル値に渡って行うことで算出される。一方、シンド
ロームS1は、初期値を「0」、aをプリミティブエレ
メント、*をガロア体の乗算として、演算S0=(a*
S0)^v(i)を符号語内の全てのシンボル値に渡っ
て行うことで算出される。
たシンドロームS0,S1を並列して生成すべく、シン
ドローム生成部31は、図3に示すような構成を有して
いる。図3においては、演算回路S00,S01,S0
2,S03においてシンドロームS0が、また、演算回
路S10,S11,S12,S13においてシンドロー
ムS1がそれぞれ算出される。すなわち、バスアービタ
11を介してDRAM10から読み出されたデータ(シ
ンボルv(i))に対して、該当する符号語に対応する
演算回路の備えるレジスタ(図中、regと表記)が能
動とされることで、当該演算回路において上記演算が行
われる。そして、各演算回路において、26のシンボル
値v(i)(i=0,1,…25)に渡って演算が行わ
れることで、シンドロームが算出される。
シンドロームのうち、シンドロームS1はマルチプレク
サM1を介して、また、シンドロームS2はマルチプレ
クサM2を介して、それぞれ選択的に先の図2に示すエ
ラー検出部34に転送される。そして、エラー検出部3
4において、上記シンドロームに基づいて符号語内に誤
りがあるか否かが判断される。そして、誤りがある場合
には、その誤りの大きさと誤りの位置とが計算されて、
その結果がエラー訂正部32やECCアドレス生成部3
3に出力される。
3では誤りのある位置を指定して、バスアービタ11に
出力する。これにより、バスアービタ11では、DRA
M10上の誤りのある位置からデータを読み出して、エ
ラー訂正部32に供給する。エラー訂正部32では、こ
の供給されたデータとエラー検出部34から供給された
誤りの大きさに関するデータとから正しいデータを生成
する。こうして生成されたデータは、バスアービタ11
を介してDRAM10に書き戻される。
ないEDCデコーダブロックによって、更に先の図8
(a)に示したEDCデータを用いてエラー訂正の過程
で過度のエラーによる誤訂正が起こっていないかどうか
のチェックが行われる。こうした一連の処理の後に、図
示しないホストコンピュータからデータの転送の指令が
バスアービタ11に入力されると、DRAM10からバ
スアービタ11を介してデータの転送が行われる。
らの読み出しや、シンドローム生成部31でのシンドロ
ームの算出のタイミングは、エラー訂正タイミング生成
回路20にて生成される。このエラー訂正タイミング生
成回路20は、先の図3に示す各演算回路のいずれかに
選択的にDRAM10から読み出されたデータを割り振
るべく、図4に示すようなシンボルカウンタを備えてい
る。
ント制御部42及びデコーダ41より構成され、例え
ば、CAS等、DRAM10からデータを読み出すタイ
ミングに同期した信号によってカウント値をインクリメ
ントする。このシンボルカウンタのカウント値の下2桁
「00」、「01」、「10」、「11」は、4つの符
号語のそれぞれに対応しており、このカウント値に基づ
いて、DRAM10から読み出されたデータが複数の演
算回路の何れかに振り分けられる。
り出力されたカウント値を一時的に保持し、タイミング
信号に同期して、そのカウント値をデコーダ41に出力
すると共に、カウント制御部42に出力する。デコーダ
41は、カウント値の下2桁に基づいて、複数の演算回
路S00及びS10と、S01及びS11と、S02及
びS12と、S03及びS13とのレジスタの何れかに
選択的にイネーブル信号を出力する。これにより、4つ
の符号語のシンドロームが各別の演算回路で算出され
る。
ト値に対して、「1」又は「2」を選択的に加算してレ
ジスタ40に出力する。カウント値が「0000」から
「1039」のとき、カウント値に対して、「1」を加
算し、カウント値を1ずつインクリメントする。一方、
カウント値が「1040」まで達したとき、カウント値
の下2桁に基づいて、「1」又は「2」の加算値を選択
する。カウント値の下2桁が「00」、「01」の場
合、カウント値に対して「1」加算し、「10」の場
合、「2」を加算して、カウント値の下2桁が「00」
となるようにしている。これにより、カウント値が「1
040」以降は、カウント値の下2桁が「11」となる
ことを回避している。
読み出された時点では、先の図1に示したように、CD
−ROMの当該セクタデータ(MSバイトデータ及びL
Sバイトデータ)には、3つの符号語が残されるのみと
なる。このため、DRAM10からのデータの読み出し
タイミングに同期して、その3タイミング周期で演算回
路S00及びS10と、S01及びS11と、S02及
びS12とのいずれかのレジスタを順に能動とすること
で、3つの符号語のシンドロームを並列して算出するこ
とが可能となる。
は、各符号語のシンドロームが算出されると、換言すれ
ば、上記各演算回路に26個のシンボルが入力される
と、同演算回路を初期化すべく、クリア信号を生成す
る。このクリア信号が演算回路に入力されることで、演
算回路では、それ以後入力されるシンボル値に基づいて
新たにシンドロームを計算することができるようにな
る。
は、DRAM10が1セクタ分のデータを読み出したと
判断したときに、先の図4に示したシンボルカウンタに
リセット信号を入力するためのカウンタを備えている。
このように、DRAM10が1セクタ分のデータを読み
出したと判断するとそのカウンタ値を初期化すること
で、シンボルカウンタの構成を複雑にすることなく、上
記イネーブル信号の生成が可能となる。
かるDRAM10へのアクセスタイミングやシンドロー
ム演算タイミングについて、更に説明する。
に同期して、エラー訂正タイミング生成回路20からシ
ンドローム生成部31にクリア信号が入力される(図5
(f))と、上記各演算回路S00及びS10と、S0
1及びS11と、S02及びS12と、S03及びS1
3とが初期化される。これにより、これら各演算回路で
は、新たなシンドローム計算を行う準備が整う。
アドレスを指定すべく、RAS信号(図5(c))及び
CAS信号(図5(d))が上記バスアービタ11内で
生成される。ここで、DRAM10内の行アドレス及び
列アドレスは、それぞれRAS信号及びCAS信号の立
ち下がりによって指定される。そして、これらRAS信
号及びCAS信号の立ち下がりによって指定されたDR
AM10内の行アドレス及び列アドレスは、これらRA
S信号及びCAS信号の次の立ち下がりまで保持され
る。
って4つの列アドレスが指定されるまでの間、RAS信
号を一定とすることで行アドレスを一定に保持する。し
たがって、CAS信号の立ち下がりに同期して4つの符
号語のデータ(d0、d1、d2、d3)が読み出され
る(図5(e))。これら読み出された各データから、
上記シンドローム生成部31の所定の演算回路において
シンドロームを算出すべく、上記エラー訂正タイミング
生成回路20ではイネーブル信号を生成する(図5
(g))。
が演算回路S00及びS10にて(図5(h)、図5
(i))、データd1が演算回路S01及びS11にて
(図5(j)、図5(k))、データd2が演算回路S
02及びS12にて(図5(l)、図5(m))、デー
タd3が演算回路S03及びS13にて(図5(n)、
図5(o))、それぞれ演算される。
1、d2、d3の読み出しの後、RAS信号とCAS信
号とを立ち上げるとともに、上記DRAM10において
プリチャージ動作を行う(図5(b)でxxと表記)。
このプリチャージ動作の後には、再度RAS信号やCA
S信号を立ち下げることで、DRAM10内の所定アド
レスにアクセスしてデータの読み出しが行われる。
つの符号語に属するデータの記憶された列アドレスを指
定して読み出しを行うために、4つのデータの読み出し
を6クロックで行うことができる。
符号語の読み出しを1つずつ行っていく場合には、DR
AM10へのアクセスも図6に示すようなものとなる。
すなわち、ここでは読み出し対象となるデータ毎に、そ
のDRAM10の行アドレス及び列アドレスを指定する
(図6(b))のに加えて、プリチャージ動作を行うた
めに、各データの読み出しに3クロックが必要となる。
したがって、4つのデータの読み出しに際しては、12
クロック必要となり、本実施形態と比べて2倍の時間が
かかる。
スを例えば2つ指定した時点(図7(b))において、
同アドレスがDRAM10のページの境界となる場合に
は、上記ページ境界検出部24においてページ境界信号
(図7(p))が生成される。これにより、RAS信号
(図7(c))及びCAS信号(図7(d))が一旦立
ち上がり、プリチャージ動作(図7(b)においてxx
と表記)が行われる。そして、行アドレスを再度指定し
た後、列アドレスを指定することで、残り2つのデータ
d2、d3の読み出しが行われる(図7(e))。
効果が得られるようになる。
時に読み出すことで、行アドレスの指定後、連続して複
数の列アドレスを指定するページモード方式を適用する
ことができるようになる。これにより、DRAM10へ
のアクセスにかかる時間を削減することができるように
なる。
出し対象となるデータがページの境界にあるときを検出
するのみで、上記ページモード方式の例外処理を行うこ
とができるようになる。
図3に示す態様にて4つの符号語を並列して計算するこ
とができるようにしたことで、シンドローム計算を迅速
に行うことができるようになる。
において1040バイト分のデータの読み出しの後に
は、シンボルカウンタを用いて、演算回路S00及びS
10と、S01及びS11と,S02及びS12との3
つの演算回路のみにイネーブル信号を入力する構成とし
た。これにより、符号語の総数が並列して読み出される
符号語の数の倍数とならない場合であれ、的確に符号語
の読み出しを行うことができるようになる。
マルチプレクサM1及びM2によって選択的にエラー検
出部34に入力される構成とした。これにより、エラー
検出部34の回路の大型化を回避することができる。
して実施することもできる。
は、256バイトであるものにも限られない。このペー
ジサイズの変更に応じて、加算器23の出力するデータ
からページの境界を検出するページ境界検出部24の検
出態様を適宜変更すればよい。
記イネーブル信号の入力態様等をROM(Read Only Me
mory)に設定する構成としてもよい。
RAM10からのシンボルの読み出し時に限らず、例え
ばQ符号のシンドローム計算時において、DRAM10
から複数の符号語を並列して読み出すようにしてもよ
い。ただし、この場合、Q符号の読み出し初期において
は、必ずしも複数の符号語を読み出さずに調整すること
で、それ以降、DRAM10内で隣接するデータの並列
した読み出しを行うことができるようにすることが望ま
しい。すなわち、先の図9に示したデータにおいては、
はじめに「0000」を、次に、「0043」及び「0
044」を、その次に、「0086」及び「0087」
及び「0088」を読み出すようにすることが望まし
い。これにより、それ以降の処理においては、「012
9」及び「1130」及び「0131」及び「013
2」等、4つずつの符号語を読み出す際に、それらデー
タをDRAM10内での隣接したアドレスのデータとす
ることができる。この際、シンドローム生成部31への
イネーブル信号やクリア信号の入力態様についても適宜
変更して設定する。
やこの読み出された符号語の並列的なシンドローム計算
は、CD−ROMのデータにおけるエラー訂正処理にお
けるものにも限られない。例えば、CDやDVD(Digi
tal Versatile Disc)のデータのエラー訂正処理等に適
用してもよい。
列して計算されるシンドロームの数は、上記実施形態の
ものにも限られない。この際、必ずしも、ランダムアク
セスメモリに記憶されるデータの順番において隣接する
ものを複数並列に読み出すものにも限らず、近接してい
る場合であれページモード方式の採用は可能である。
ージモード方式を採用したものにも限られず、EDO
(extended data output)方式等、適宜の高速アクセス
方式を適用するようにしてもよい。また、上記DRAM
として、SDRAM(synchronous DRAM)等を用いるこ
ともできる。
2については、これを設けずとも、DRAM10からの
高速読み出しやシンドロームの高速計算を行うことはで
きる。
ずしも図3に例示するように複数の符号語のシンドロー
ムを計算する各別の回路を設ける構成としなくても、複
数の符号語を同時に読み出すことで、DRAM10から
データを高速に読み出すことはできる。
号語のシンドローム計算が各別の演算回路によって並列
して実行されるために、読み出し動作を高速化すること
ができるようになる。
モリ内での行アドレスを保持し、列アドレスを変更して
複数の符号語を並列的に読み出すことで、ページモード
等の高速アクセス方式を容易に適用することができるよ
うになる。
数が並列して読み出される符号語の数の倍数とならない
場合であれ、的確に符号語の読み出しを行うことができ
るようになる。
ついて、その符号語の読み出し順序を示す図。
ブロック図。
回路図。
図。
グを示すタイムチャート。
ムチャート。
グについて、特にその例外処理を示すタイムチャート。
を示す図。
様を示す図。
正タイミング生成回路、21…セクタ先頭アドレス生成
部、22…ECCオフセットアドレス生成部、23…加
算器、24…ページ境界検出部、30…CD−ROMデ
コード部、31…シンドローム生成部、32…エラー訂
正部、33…ECCアドレス生成部、34…エラー検出
部、40…レジスタ、41…デコーダ、42…カウント
制御部。
Claims (3)
- 【請求項1】ディスク媒体から読み出されるディジタル
データのエラー訂正処理を行うエラー訂正装置におい
て、 前記ディジタルデータに対応し、所定のエラー訂正符号
に従う符号語を構成する複数のシンボルをバッファメモ
リに書き込むと共に、書き込まれたシンボルを読み出す
メモリアクセス回路と、 前記バッファメモリから読み出されるシンボルに対して
エラー訂正処理のためのシンドローム計算を行う複数の
演算回路と、を備え、 前記メモリアクセス回路は、複数の符号語を1シンボル
毎に順次読み出し、前記複数の演算回路に振り分けて供
給することを特徴とするエラー訂正装置。 - 【請求項2】前記メモリアクセス回路は、前記バッファ
メモリ内での行アドレスを保持し、列アドレスを変更し
て前記符号語に対応したシンボルを読み出すことを特徴
とする請求項1記載のエラー訂正装置。 - 【請求項3】前記メモリアクセス回路は、 前記バッファメモリから前記シンボルが読み出される回
数を示すカウント値を保持するレジスタと、 前記カウント値に対応して前記バッファメモリから読み
出される前記シンボルを前記複数の演算回路に振り分け
るデコーダと、 前記カウント値を前記シンボルの読み出しタイミングに
従って順次更新するカウント制御部と、を備え、 前記カウント制御部は、前記カウント値が所定の範囲を
超えたとき、前記カウント値の下位ビットに応答して更
新条件を更新することを特徴とする請求項1又は2記載
のエラー訂正装置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001082298A JP3954803B2 (ja) | 2001-03-22 | 2001-03-22 | エラー訂正装置 |
TW090132277A TWI267826B (en) | 2001-03-22 | 2001-12-26 | Error correction device |
KR10-2002-0015244A KR100509137B1 (ko) | 2001-03-22 | 2002-03-21 | 에러 정정 장치 |
US10/105,010 US7143331B2 (en) | 2001-03-22 | 2002-03-22 | Error correction apparatus for performing consecutive reading of multiple code words |
US11/552,373 US20070050663A1 (en) | 2001-03-22 | 2006-10-24 | Error correction apparatus for performing consecutive reading of multiple code words |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001082298A JP3954803B2 (ja) | 2001-03-22 | 2001-03-22 | エラー訂正装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002280909A true JP2002280909A (ja) | 2002-09-27 |
JP3954803B2 JP3954803B2 (ja) | 2007-08-08 |
Family
ID=18938258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001082298A Expired - Fee Related JP3954803B2 (ja) | 2001-03-22 | 2001-03-22 | エラー訂正装置 |
Country Status (4)
Country | Link |
---|---|
US (2) | US7143331B2 (ja) |
JP (1) | JP3954803B2 (ja) |
KR (1) | KR100509137B1 (ja) |
TW (1) | TWI267826B (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005293557A (ja) * | 2004-02-19 | 2005-10-20 | Quantum Corp | 復号器、データ記憶装置およびデータの誤り訂正の方法 |
KR100699385B1 (ko) | 2005-04-26 | 2007-03-26 | 산요덴키가부시키가이샤 | 오류 정정 장치 |
JP2008525898A (ja) * | 2004-12-23 | 2008-07-17 | インテル・コーポレーション | シンドローム生成及びデータ復旧のための方法及びシステム |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3954803B2 (ja) * | 2001-03-22 | 2007-08-08 | 三洋電機株式会社 | エラー訂正装置 |
US7698625B2 (en) * | 2003-08-26 | 2010-04-13 | Adaptec, Inc. | System for improving parity generation and rebuild performance |
JP2006190346A (ja) * | 2004-12-28 | 2006-07-20 | Toshiba Corp | エラー訂正処理装置及びエラー訂正処理方法 |
JP4313391B2 (ja) * | 2006-12-13 | 2009-08-12 | 株式会社日立コミュニケーションテクノロジー | 光集線装置および光加入者装置 |
US9691504B2 (en) * | 2011-10-24 | 2017-06-27 | Rambus Inc. | DRAM retention test method for dynamic error correction |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6185629B1 (en) * | 1994-03-08 | 2001-02-06 | Texas Instruments Incorporated | Data transfer controller employing differing memory interface protocols dependent upon external input at predetermined time |
US5721860A (en) * | 1994-05-24 | 1998-02-24 | Intel Corporation | Memory controller for independently supporting synchronous and asynchronous DRAM memories |
US5612922A (en) * | 1995-07-05 | 1997-03-18 | Micron Technology, Inc. | Page mode editable real time read transfer |
JPH10107649A (ja) * | 1996-09-30 | 1998-04-24 | Sanyo Electric Co Ltd | 符号誤り訂正/検出デコーダ |
JPH10107648A (ja) * | 1996-09-30 | 1998-04-24 | Sanyo Electric Co Ltd | 誤り訂正処理回路 |
JP3863252B2 (ja) * | 1996-11-15 | 2006-12-27 | 富士通株式会社 | 誤り訂正方法、誤り訂正装置、データ読み出し装置、及び、データマッピング方法 |
KR100247064B1 (ko) * | 1997-04-10 | 2000-03-15 | 윤종용 | 콤팩트디스크-롬 드라이브의 디코딩장치에서 에러정정을 위한 메모리 리드회로 |
US6243845B1 (en) * | 1997-06-19 | 2001-06-05 | Sanyo Electric Co., Ltd. | Code error correcting and detecting apparatus |
KR19990049147A (ko) * | 1997-12-12 | 1999-07-05 | 구자홍 | 에러정정방법 |
US6687860B1 (en) * | 1998-01-07 | 2004-02-03 | Matsushita Electric Industrial Co., Ltd. | Data transfer device and data transfer method |
EP1517327A3 (en) | 1998-02-25 | 2005-03-30 | Matsushita Electric Industrial Co., Ltd. | High-speed error correcting apparatus with efficient data transfer |
JP2001117825A (ja) * | 1999-10-20 | 2001-04-27 | Sharp Corp | データ記録装置およびデータ再生装置 |
US6651208B1 (en) * | 2000-04-04 | 2003-11-18 | Mosel Vitelic Corporation | Method and system for multiple column syndrome generation |
US6591349B1 (en) * | 2000-08-31 | 2003-07-08 | Hewlett-Packard Development Company, L.P. | Mechanism to reorder memory read and write transactions for reduced latency and increased bandwidth |
JP3954803B2 (ja) * | 2001-03-22 | 2007-08-08 | 三洋電機株式会社 | エラー訂正装置 |
-
2001
- 2001-03-22 JP JP2001082298A patent/JP3954803B2/ja not_active Expired - Fee Related
- 2001-12-26 TW TW090132277A patent/TWI267826B/zh not_active IP Right Cessation
-
2002
- 2002-03-21 KR KR10-2002-0015244A patent/KR100509137B1/ko not_active IP Right Cessation
- 2002-03-22 US US10/105,010 patent/US7143331B2/en not_active Expired - Fee Related
-
2006
- 2006-10-24 US US11/552,373 patent/US20070050663A1/en not_active Abandoned
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005293557A (ja) * | 2004-02-19 | 2005-10-20 | Quantum Corp | 復号器、データ記憶装置およびデータの誤り訂正の方法 |
JP4733403B2 (ja) * | 2004-02-19 | 2011-07-27 | クウォンタム・コーポレイション | 復号器、データ記憶装置およびデータの誤り訂正の方法 |
JP2008525898A (ja) * | 2004-12-23 | 2008-07-17 | インテル・コーポレーション | シンドローム生成及びデータ復旧のための方法及びシステム |
JP4664988B2 (ja) * | 2004-12-23 | 2011-04-06 | インテル・コーポレーション | シンドローム生成及びデータ復旧のための方法及びシステム |
KR100699385B1 (ko) | 2005-04-26 | 2007-03-26 | 산요덴키가부시키가이샤 | 오류 정정 장치 |
Also Published As
Publication number | Publication date |
---|---|
US20070050663A1 (en) | 2007-03-01 |
TWI267826B (en) | 2006-12-01 |
US20020144206A1 (en) | 2002-10-03 |
KR20020075269A (ko) | 2002-10-04 |
US7143331B2 (en) | 2006-11-28 |
JP3954803B2 (ja) | 2007-08-08 |
KR100509137B1 (ko) | 2005-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3863252B2 (ja) | 誤り訂正方法、誤り訂正装置、データ読み出し装置、及び、データマッピング方法 | |
KR100632952B1 (ko) | 정전으로 인한 프로그램 페일의 유무를 판별할 수 있는방법 및 장치 | |
JP3272903B2 (ja) | 誤り訂正検出回路と半導体記憶装置 | |
JPS63197123A (ja) | エラ−訂正及びチエツク装置 | |
JPH10207726A (ja) | 半導体ディスク装置 | |
US6041431A (en) | Method and apparatus for performing error correction code operations | |
JP2002164792A (ja) | 高速ブロックパイプライン構造のリード−ソロモンデコーダに適用するためのメモリ装置及びメモリアクセス方法並びにそのメモリ装置を備えたリード−ソロモンデコーダ | |
US20070050663A1 (en) | Error correction apparatus for performing consecutive reading of multiple code words | |
US6279135B1 (en) | On-the-fly row-syndrome generation for DVD controller ECC | |
JP3281387B2 (ja) | Crc/edcチェッカシステム | |
JPH11112358A (ja) | データの誤り訂正方法及び誤り訂正装置 | |
US7962836B1 (en) | Electronic data flash card with bose, ray-chaudhuri, hocquenghem (BCH) error detection/correction | |
JPS63269834A (ja) | アドレス発生回路 | |
JP2004206798A (ja) | 光ディスク装置のエンコードデータ符号回路 | |
JP2004246754A (ja) | 半導体記憶装置およびその制御装置 | |
JP4355018B2 (ja) | エラー訂正処理装置の制御方法 | |
JP2008146828A (ja) | 光ディスク装置のエンコードデータ符号回路 | |
JPH10289538A (ja) | Cd−romドライブのデコーディング装置における誤り訂正のためのメモリ読出し方法及び回路 | |
JP2002230916A (ja) | 情報再生装置 | |
JP2001292066A (ja) | 誤り訂正装置および誤り訂正方法 | |
KR0140382B1 (ko) | Dat의 오류정정을 위한 어드레스 발생회로 | |
JPS63197122A (ja) | エラ−訂正及びチエツク装置 | |
JP2000181635A (ja) | エラー訂正処理装置の制御方法、エラー訂正処理装置及び訂正処理能力制御回路 | |
JP4746114B2 (ja) | エラー訂正方法 | |
GB2324445A (en) | Optical disc error detection/correction during readout |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040913 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20051227 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060821 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060829 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061025 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061219 |
|
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: 20070403 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070427 |
|
LAPS | Cancellation because of no payment of annual fees |