JP3954803B2 - エラー訂正装置 - Google Patents

エラー訂正装置 Download PDF

Info

Publication number
JP3954803B2
JP3954803B2 JP2001082298A JP2001082298A JP3954803B2 JP 3954803 B2 JP3954803 B2 JP 3954803B2 JP 2001082298 A JP2001082298 A JP 2001082298A JP 2001082298 A JP2001082298 A JP 2001082298A JP 3954803 B2 JP3954803 B2 JP 3954803B2
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.)
Expired - Fee Related
Application number
JP2001082298A
Other languages
English (en)
Other versions
JP2002280909A (ja
Inventor
眞一郎 富澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2001082298A priority Critical patent/JP3954803B2/ja
Priority to TW090132277A priority patent/TWI267826B/zh
Priority to KR10-2002-0015244A priority patent/KR100509137B1/ko
Priority to US10/105,010 priority patent/US7143331B2/en
Publication of JP2002280909A publication Critical patent/JP2002280909A/ja
Priority to US11/552,373 priority patent/US20070050663A1/en
Application granted granted Critical
Publication of JP3954803B2 publication Critical patent/JP3954803B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital 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/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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/2909Product codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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/2921Coding, 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)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はエラー訂正装置に係り、詳しくはランダムアクセスメモリからなるバッファメモリに備蓄されたデータに対してシンドローム計算を行うことでエラー訂正を行うエラー訂正装置に関する。
【0002】
【従来の技術】
図8に、CD−ROM(Compact Disc ROM)のデータフォーマットの一例を示す。同図8(a)に示されるように、2352バイトからなる1セクタのデータには、12バイトの同期データをはじめ、4バイトのヘッダ、2048バイトのユーザデータ、4バイトのEDC(Error Detection Code:誤り検出符号)データ、8バイトのZEROデータ、276バイトのECC(Error Correction Code:誤り訂正符号)データが含まれている。
【0003】
これら各データのうち、12バイトの同期データを除いたデータには、上記ECCによるエラー訂正が適用される。以下、このエラー訂正について詳述する。
【0004】
エラー訂正に際しては、この同期データを除いた2340バイトのデータが、図8(b)に示されるように、その先頭から各1バイト毎にLSバイトとMSバイトとに分割される。これにより、それぞれ1170バイトからなるLSバイト(図8(c))及びMSバイト(図8(d))のデータが生成される。また、これらLSバイト及びMSバイトからなる各1170バイトのデータには、それぞれ図9に示される態様で、Pシーケンス(P系列)とQシーケンス(Q系列)との2つの方向に符号化が施されている。
【0005】
すなわち、上記各1170バイトのデータのうちのそれぞれ先頭から1032バイトのデータにおいて、そのPシーケンス方向の各24バイトのデータに各々2バイトからなるPパリティが付与されることで、同Pシーケンスの方向に符号化された43個の符号語(P符号)が構成されている。図9からも明らかなように、このP符号は、その第i番目の符号語の第jシンボルの位置が「i+43j(i=0,1,…42:j=0,1,…25)」にて表される。
【0006】
一方、上記先頭から各1032バイトのデータと上記Pパリティを構成する各86バイト(2バイト×43個)のデータとにおいて、そのQシーケンス方向の各43バイトのデータにこれも各々2バイトからなるQパリティが付与されることで、同Qシーケンスの方向に符号化された26個の符号語(Q符号)が構成されている。このQ符号は、その第i番目の符号語の第jシンボルの位置が「43i+44j mod(残余)1118(i=0,1,…25:j=0,1,…42)」にて表される。
【0007】
こうしたP符号及びQ符号を構成するシンボルを読み出し、これからシンドロームと呼ばれるデータを算出することで、上記各データにエラーが存在しているか否かを判断することができる。これら各符号語によるエラー検出は、具体的には次のように行われる。
【0008】
まず、CD−ROMから読み出されたデータは、CD(Compact Disc)信号処理部において、CDオーディオと同様、エラー訂正などのデコード処理が施された後、先の図8(a)に示したCD−ROMデータとして、一旦バッファメモリであるDRAM(Dynamic Random Access Memory)に記憶される。図10に、このDRAMに対するCD−ROMデータの記憶態様を示す。
【0009】
すなわち、先の図8(a)に示すCD−ROMのセクタデータにおいて、12バイトからなる同期データのうちの6バイト分のデータとLSバイト又はMSバイトからなる1170バイトのデータとからなる1176バイトのデータが、DRAMのアドレスに沿って書き込まれる。図10においては、DRAMの列アドレスが256バイトである場合について例示しているために、256バイト周期で行アドレスが「1」ずつインクリメントされる。なお、実際には、このDRAMには、各アドレスに沿って、MSバイト及びLSバイトの各1バイトずつ、合計2バイトずつのデータが書き込まれる構成となっている。そして、これらの各アドレスのうち、同一の行アドレスを有するメモリセルは、同一のワード線に接続されている。
【0010】
この書き込み順序は、基本的には、CD−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番目のデータとして示したデータが、それぞれ書き込まれる。
【0011】
一方、上記態様にてDRAMに書き込まれた各セクタ毎のCD−ROMデータは、各符号語毎に読み出される。ここで、P符号の読み出し順序を例にとると、図11に示すように、26バイトからなる各符号語毎に読み出しが行われる。そして、この読み出された符号語を構成するシンボルから、上記シンドロームと呼ばれるデータが計算される。このシンドロームは、上記各データ(符号語)にエラーが存在しない場合には所定値をとる等、予め設定されるデータである。このため、このシンドロームを計算することで、その値に基づき、当該符号語に誤りがあるか否かを判断することができるようになる。
【0012】
そして、符号語内に誤りがあると判断されると、その誤りの大きさと誤りの位置とが同じく上記シンドロームに基づいて求められる。そして、エラーのある位置からデータをもう一度リードし直して誤りの大きさとの排他的論理和をとることで正しいデータを生成し、これをDRAMに書き戻す。
【0013】
こうしたエラー訂正の後、先の図8(a)に示したEDCデータを用いて、上記エラー訂正の過程で過度のエラーによる誤訂正が起こっていないかどうかが検証される。そして、こうしたエラー訂正処理やその後の誤訂正の有無のチェックの終了したデータが、DRAMからホストコンピュータへと転送される。
【0014】
【発明が解決しようとする課題】
このように、上記各符号語を用いることで、エラー訂正を行うことができるようにはなる。ただし、これら各符号語を構成するシンボルは、DRAMのアドレス上の不連続なアドレスを有するメモリセルに記憶されているために、上記態様でそれら符号語の読み出しを行う場合には、各メモリセルへのアクセス時間も自ずと長期化するようになる。すなわち、通常、DRAMからの1シンボルの読み出しには、プリチャージ、行アドレス指定、列アドレス指定といった3つの動作を必要とする。このため、それら1シンボルの読み出しを行うたびに、クロックとしても3クロックが必要となり、このことが上述したエラー訂正処理にとっての速度的な大きなボトルネックとなっている。
【0015】
なお、上記CD−ROMデータをエラー訂正する回路に限らず、ランダムアクセスメモリからなるバッファメモリに一旦データを記憶した後、順次そのシンボルを読み出しつつエラー検出やエラー訂正を行うエラー訂正装置においては、こうした実情も概ね共通したものとなっている。
【0016】
本発明は上記実情に鑑みてなされたものであり、その目的は、ランダムアクセスメモリに記憶されたデータから符号語を構成するシンボルを読み出してエラー検出やエラー訂正を行う場合であれ、それらエラー検出やエラー訂正にかかる処理をより高速に行うことのできるエラー訂正装置を提供することにある。
【0017】
【課題を解決するための手段】
この発明では、ディスク媒体から読み出されるディジタルデータのエラー訂正処理を行うエラー訂正装置において、前記ディジタルデータに対応し、所定のエラー訂正符号に従う符号語を構成する複数のシンボルをバッファメモリに書き込むと共に、書き込まれたシンボルを読み出すメモリアクセス回路と、前記バッファメモリから読み出されるシンボルに対してエラー訂正処理のためのシンドローム計算を行う複数の演算回路と、を備え、前記メモリアクセス回路は、複数の符号語を1シンボル毎に順次読み出し、前記複数の演算回路に振り分けて供給することで、エラー検出やエラー訂正を高速化することを可能とする。
【0018】
【発明の実施の形態】
以下、本発明にかかるエラー訂正装置を、CD−ROMデータにおけるP符号を用いてエラーを訂正するエラー訂正装置に具体化した一実施形態について、図面を参照しつつ説明する。
【0019】
本実施形態においては、DRAMに記憶されたデータから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つの符号語の読み出しが行われる。
【0020】
こうした互いに隣接した4つの符号語の対応する各シンボルは、DRAM内で隣接したアドレス上に記憶されているために、この読み出しに際して、DRAMの行アドレスを一旦指定した後、各符号語に対応して列アドレスを変更して指定するページモード方式を適用することができる。こうすることで、4つのシンボルの読み出しに際して必要とされるクロックは、プリチャージ、行アドレス指定、列アドレス指定にそれぞれ1クロック、1クロック、4クロックの合計6クロックとなる。このように、4つの符号語を並列して読み出すために、1シンボル当たりの読み出しに必要なクロック数を削減することができ、ひいては、高速アクセスが可能となる。
【0021】
なお、図1に示すように、4つの符号語を並列して読み出すようにすると、各LSバイト又はMSバイトのデータにおいて、1040バイト分のデータの読み出し後には、3つの符号語を残すのみとなる。したがって、1041バイト目から1118バイト目のデータに関しては、3つの符号語を上記同様ページモード方式によって並列的に読み出すようにする。
【0022】
また、4つの符号語の各シンボルの読み出しに際して、行アドレスが変わるときには例外的に行アドレスを指定し直す。このため本実施形態では、読み出し時にその読み出しにかかるアドレスを検出して、先の図10に示したDRAMの列アドレスが「255」であるか否かを判断する。そして、列アドレスが「255」であると判断されると行アドレスを新たに指定する。
【0023】
図2に、上記態様にて符号語を読み出しつつエラー訂正処理を行う本実施形態のエラー訂正装置の全体構成を示す。
【0024】
すなわち、このエラー訂正装置は、先の図10に示した態様にてCD−ROMデータを記憶するDRAM10や、DRAM10内で行われる処理を選択し指定するバスアービタ11を備えている。ここで、DRAM10は、先の図10等を用いて説明したDRAMと同一の構成を有する。
【0025】
また、バスアービタ11には、上記同様、図示しないCD信号処理部から転送される先の図8(a)に示したCD−ROMデータが、DRAM10内のアドレスとともに入力される。これにより、バスアービタ11では、上記データをDRAM10内の指定されたアドレスにしたがって書き込むために、RAS(Row Address Strobe)信号やCAS(Column Address Strobe)信号等が生成される。これらRAS信号やCAS信号、更には上記CD−ROMデータ等がDRAM10に入力されることで、同データのDRAM10への書き込みが行われる。
【0026】
なお、こうしてDRAM10に書き込まれたデータの読み出しに際しても、読み出し対象となるデータにアクセスすべく、上記RAS信号やCAS信号が用いられる。
【0027】
そして、この書き込まれたデータを先の図1に示した態様にて読み出すために、上記エラー訂正装置は、エラー訂正タイミング生成回路20を備えている。このエラー訂正タイミング生成回路20によってDRAM10から読み出されるデータが指定されると、セクタ先頭アドレス生成部21では、DRAM10から読み出されるデータの属するセクタの先頭を指定する。この先頭の指定は、DRAM10に書き込まれたデータのバイト数の積算値として定義される。すなわち、先の図10に示したセクタ1に属するデータを読み出す場合にはセクタ1の先頭として「0000」、また、セクタ2に属するデータを読み出す場合にはその先頭として「2352」、更に、セクタ3に属するデータを読み出す場合にはその先頭として「4704」、というようにその各セクタの先頭に対応するバイト数を指定する。
【0028】
また、エラー訂正タイミング生成回路20によってDRAM10から読み出されるデータが指定されると、ECCオフセットアドレス生成部22では、読み出し対象となるデータがDRAM10におけるセクタ内の順番によって指定される。すなわち、先の図1に示した態様にて読み出しが行われるために、基本的には、「0000,0001,0002,0003,0043,0044,0045,0046,0086…」というように、読み出し対象となるデータが指定される。ただし、上述したように、本実施形態では、DRAM10に書き込まれたデータのうち、各セクタ(LSバイトのデータ及びMSバイトのデータ)の先頭から6バイトのデータは同期データであるため、シンドローム計算のための読み出し対象とはならない。このため、実際には、ECCオフセットアドレス生成部22では、「0006,0007,0008,0009,0049,0050,0051,0052,0092…」というように、読み出し対象となるデータが、当該セクタでのDRAM10内での順番によって指定される。
【0029】
そして、これらセクタ先頭アドレス生成部21及びECCオフセットアドレス生成部22によって指定された値に基づいて、加算器23では、読み出し対象となるデータのDRAM10内での順番が算出される。この際、上述したように、DRAM10のメモリセルが各2バイト単位のデータを記憶するセルであることが考慮される。すなわち、先の図10に示したセクタ1のデータに対しては、「0006,0007,0008,0009,0049,0050,0051,0052,0092…」というように、また、セクタ2上のデータに対しては、上記順番に1175バイトを加えた「1181,1182,1183,1184,1224,1225,2226,2227,2267…」というように、それぞれDRAM10内での順番が指定される。
【0030】
こうして加算器23において読み出し対象となるデータのDRAM10内での順番が指定されると、同指定値がバスアービタ11に供給される。バスアービタ11では、供給された指定値に基づいてDRAM10からのデータの読み出しを行う。
【0031】
また、加算器23の生成する指定値は、ページ境界検出部24にも入力される。このページ境界検出部24は、読み出し対象となるデータのDRAM10の列アドレスが「255」(ページ境界)であるときにページ境界信号を出力する。これは、加算器23の指定値の2進数表記における下位8ビットが全て「1」となることで検出される。このようにページの境界を検出することで、エラー訂正タイミング生成回路20では、4つ(又は3つ)の符号語に対応した4つ(又は3つ)のシンボルを読み出す際に、DRAM10の行アドレスが変化するかどうかを判断する。
【0032】
そして、エラー訂正タイミング生成回路20は、行アドレスが変化しないと判断すると、行アドレスを1度指定した後、読み出し対象となる各符号語に対応して列アドレスを4度(又は3度)指定することで、これら符号語の読み出しを行うべく指令を、バスアービタ11に出力する。一方、行アドレスが変化すると判断すると、ページ境界のデータの読み出し後、再度行アドレスを指定するよう指令をバスアービタ11に出力する。
【0033】
こうしてDRAM10から読み出されたデータに対して、CD−ROMデコード部30によってエラー訂正処理が施される。このCD−ROMデコード部30は、シンドローム生成部31やエラー訂正部32,ECCアドレス生成部33,エラー検出部34を備えている。
【0034】
ここで、シンドローム生成部31には、DRAM10から読み出されたデータがバスアービタ11を介して入力される。本実施形態では、1エラー訂正を行う場合について例示する。この場合、各符号語毎にS0及びS1の2つのシンドロームを算出する。ここで、シンドロームS0は、初期値を「0」、符号語内のi番目のシンボル値をv(i)、ガロア体の加算を「^」として、演算S0=S0^v(i)を符号語内の全てのシンボル値に渡って行うことで算出される。一方、シンドロームS1は、初期値を「0」、aをプリミティブエレメント、*をガロア体の乗算として、演算S0=(a*S0)^v(i)を符号語内の全てのシンボル値に渡って行うことで算出される。
【0035】
そして、各4つの符号語について、こうしたシンドロームS0,S1を並列して生成すべく、シンドローム生成部31は、図3に示すような構成を有している。図3においては、演算回路S00,S01,S02,S03においてシンドロームS0が、また、演算回路S10,S11,S12,S13においてシンドロームS1がそれぞれ算出される。すなわち、バスアービタ11を介してDRAM10から読み出されたデータ(シンボルv(i))に対して、該当する符号語に対応する演算回路の備えるレジスタ(図中、regと表記)が能動とされることで、当該演算回路において上記演算が行われる。そして、各演算回路において、26のシンボル値v(i)(i=0,1,…25)に渡って演算が行われることで、シンドロームが算出される。
【0036】
そして、こうして各演算回路で算出されたシンドロームのうち、シンドロームS1はマルチプレクサM1を介して、また、シンドロームS2はマルチプレクサM2を介して、それぞれ選択的に先の図2に示すエラー検出部34に転送される。そして、エラー検出部34において、上記シンドロームに基づいて符号語内に誤りがあるか否かが判断される。そして、誤りがある場合には、その誤りの大きさと誤りの位置とが計算されて、その結果がエラー訂正部32やECCアドレス生成部33に出力される。
【0037】
これに基づいて、ECCアドレス生成部33では誤りのある位置を指定して、バスアービタ11に出力する。これにより、バスアービタ11では、DRAM10上の誤りのある位置からデータを読み出して、エラー訂正部32に供給する。エラー訂正部32では、この供給されたデータとエラー検出部34から供給された誤りの大きさに関するデータとから正しいデータを生成する。こうして生成されたデータは、バスアービタ11を介してDRAM10に書き戻される。
【0038】
こうしてエラー訂正が行われると、図示しないEDCデコーダブロックによって、更に先の図8(a)に示したEDCデータを用いてエラー訂正の過程で過度のエラーによる誤訂正が起こっていないかどうかのチェックが行われる。こうした一連の処理の後に、図示しないホストコンピュータからデータの転送の指令がバスアービタ11に入力されると、DRAM10からバスアービタ11を介してデータの転送が行われる。
【0039】
こうした複数の符号語毎のDRAM10からの読み出しや、シンドローム生成部31でのシンドロームの算出のタイミングは、エラー訂正タイミング生成回路20にて生成される。このエラー訂正タイミング生成回路20は、先の図3に示す各演算回路のいずれかに選択的にDRAM10から読み出されたデータを割り振るべく、図4に示すようなシンボルカウンタを備えている。
【0040】
シンボルカウンタは、レジスタ40、カウント制御部42及びデコーダ41より構成され、例えば、CAS等、DRAM10からデータを読み出すタイミングに同期した信号によってカウント値をインクリメントする。このシンボルカウンタのカウント値の下2桁「00」、「01」、「10」、「11」は、4つの符号語のそれぞれに対応しており、このカウント値に基づいて、DRAM10から読み出されたデータが複数の演算回路の何れかに振り分けられる。
【0041】
レジスタ40は、カウント制御部42により出力されたカウント値を一時的に保持し、タイミング信号に同期して、そのカウント値をデコーダ41に出力すると共に、カウント制御部42に出力する。デコーダ41は、カウント値の下2桁に基づいて、複数の演算回路S00及びS10と、S01及びS11と、S02及びS12と、S03及びS13とのレジスタの何れかに選択的にイネーブル信号を出力する。これにより、4つの符号語のシンドロームが各別の演算回路で算出される。
【0042】
カウント制御部42は、入力されるカウント値に対して、「1」又は「2」を選択的に加算してレジスタ40に出力する。カウント値が「0000」から「1039」のとき、カウント値に対して、「1」を加算し、カウント値を1ずつインクリメントする。一方、カウント値が「1040」まで達したとき、カウント値の下2桁に基づいて、「1」又は「2」の加算値を選択する。カウント値の下2桁が「00」、「01」の場合、カウント値に対して「1」加算し、「10」の場合、「2」を加算して、カウント値の下2桁が「00」となるようにしている。これにより、カウント値が「1040」以降は、カウント値の下2桁が「11」となることを回避している。
【0043】
すなわち、1040バイト分のシンボルが読み出された時点では、先の図1に示したように、CD−ROMの当該セクタデータ(MSバイトデータ及びLSバイトデータ)には、3つの符号語が残されるのみとなる。このため、DRAM10からのデータの読み出しタイミングに同期して、その3タイミング周期で演算回路S00及びS10と、S01及びS11と、S02及びS12とのいずれかのレジスタを順に能動とすることで、3つの符号語のシンドロームを並列して算出することが可能となる。
【0044】
また、エラー訂正タイミング生成回路20は、各符号語のシンドロームが算出されると、換言すれば、上記各演算回路に26個のシンボルが入力されると、同演算回路を初期化すべく、クリア信号を生成する。このクリア信号が演算回路に入力されることで、演算回路では、それ以後入力されるシンボル値に基づいて新たにシンドロームを計算することができるようになる。
【0045】
更に、エラー訂正タイミング生成回路20は、DRAM10が1セクタ分のデータを読み出したと判断したときに、先の図4に示したシンボルカウンタにリセット信号を入力するためのカウンタを備えている。このように、DRAM10が1セクタ分のデータを読み出したと判断するとそのカウンタ値を初期化することで、シンボルカウンタの構成を複雑にすることなく、上記イネーブル信号の生成が可能となる。
【0046】
ここで、図5に基づいて、本実施形態にかかるDRAM10へのアクセスタイミングやシンドローム演算タイミングについて、更に説明する。
【0047】
すなわち、所定のクロック(図5(a))に同期して、エラー訂正タイミング生成回路20からシンドローム生成部31にクリア信号が入力される(図5(f))と、上記各演算回路S00及びS10と、S01及びS11と、S02及びS12と、S03及びS13とが初期化される。これにより、これら各演算回路では、新たなシンドローム計算を行う準備が整う。
【0048】
次に、DRAM10から読み出すデータのアドレスを指定すべく、RAS信号(図5(c))及びCAS信号(図5(d))が上記バスアービタ11内で生成される。ここで、DRAM10内の行アドレス及び列アドレスは、それぞれRAS信号及びCAS信号の立ち下がりによって指定される。そして、これらRAS信号及びCAS信号の立ち下がりによって指定されたDRAM10内の行アドレス及び列アドレスは、これらRAS信号及びCAS信号の次の立ち下がりまで保持される。
【0049】
そして、本実施形態では、CAS信号によって4つの列アドレスが指定されるまでの間、RAS信号を一定とすることで行アドレスを一定に保持する。したがって、CAS信号の立ち下がりに同期して4つの符号語のデータ(d0、d1、d2、d3)が読み出される(図5(e))。これら読み出された各データから、上記シンドローム生成部31の所定の演算回路においてシンドロームを算出すべく、上記エラー訂正タイミング生成回路20ではイネーブル信号を生成する(図5(g))。
【0050】
このイネーブル信号によって、データd0が演算回路S00及びS10にて(図5(h)、図5(i))、データd1が演算回路S01及びS11にて(図5(j)、図5(k))、データd2が演算回路S02及びS12にて(図5(l)、図5(m))、データd3が演算回路S03及びS13にて(図5(n)、図5(o))、それぞれ演算される。
【0051】
そして、こうした一連のデータd0、d1、d2、d3の読み出しの後、RAS信号とCAS信号とを立ち上げるとともに、上記DRAM10においてプリチャージ動作を行う(図5(b)でxxと表記)。このプリチャージ動作の後には、再度RAS信号やCAS信号を立ち下げることで、DRAM10内の所定アドレスにアクセスしてデータの読み出しが行われる。
【0052】
このように、行アドレスを指定した後、4つの符号語に属するデータの記憶された列アドレスを指定して読み出しを行うために、4つのデータの読み出しを6クロックで行うことができる。
【0053】
これに対して、先の図11に示したように符号語の読み出しを1つずつ行っていく場合には、DRAM10へのアクセスも図6に示すようなものとなる。すなわち、ここでは読み出し対象となるデータ毎に、そのDRAM10の行アドレス及び列アドレスを指定する(図6(b))のに加えて、プリチャージ動作を行うために、各データの読み出しに3クロックが必要となる。したがって、4つのデータの読み出しに際しては、12クロック必要となり、本実施形態と比べて2倍の時間がかかる。
【0054】
なお、図7に例示されるように、列アドレスを例えば2つ指定した時点(図7(b))において、同アドレスがDRAM10のページの境界となる場合には、上記ページ境界検出部24においてページ境界信号(図7(p))が生成される。これにより、RAS信号(図7(c))及びCAS信号(図7(d))が一旦立ち上がり、プリチャージ動作(図7(b)においてxxと表記)が行われる。そして、行アドレスを再度指定した後、列アドレスを指定することで、残り2つのデータd2、d3の読み出しが行われる(図7(e))。
【0055】
以上説明した本実施形態によれば、以下の効果が得られるようになる。
【0056】
(1)DRAM10から複数のP符号を同時に読み出すことで、行アドレスの指定後、連続して複数の列アドレスを指定するページモード方式を適用することができるようになる。これにより、DRAM10へのアクセスにかかる時間を削減することができるようになる。
【0057】
(2)ページ境界検出部24によって読み出し対象となるデータがページの境界にあるときを検出するのみで、上記ページモード方式の例外処理を行うことができるようになる。
【0058】
(3)シンドローム生成部31において、図3に示す態様にて4つの符号語を並列して計算することができるようにしたことで、シンドローム計算を迅速に行うことができるようになる。
【0059】
(4)MSバイト及びLSバイトのデータにおいて1040バイト分のデータの読み出しの後には、シンボルカウンタを用いて、演算回路S00及びS10と、S01及びS11と,S02及びS12との3つの演算回路のみにイネーブル信号を入力する構成とした。これにより、符号語の総数が並列して読み出される符号語の数の倍数とならない場合であれ、的確に符号語の読み出しを行うことができるようになる。
【0060】
(5)並列して算出されたシンドロームがマルチプレクサM1及びM2によって選択的にエラー検出部34に入力される構成とした。これにより、エラー検出部34の回路の大型化を回避することができる。
【0061】
なお、上記実施形態は、以下のように変更して実施することもできる。
【0062】
・DRAM10のページサイズについては、256バイトであるものにも限られない。このページサイズの変更に応じて、加算器23の出力するデータからページの境界を検出するページ境界検出部24の検出態様を適宜変更すればよい。
【0063】
・シンボルカウンタを用いる代わりに、上記イネーブル信号の入力態様等をROM(Read Only Memory)に設定する構成としてもよい。
【0064】
・P符号のシンドローム計算時におけるDRAM10からのシンボルの読み出し時に限らず、例えばQ符号のシンドローム計算時において、DRAM10から複数の符号語を並列して読み出すようにしてもよい。ただし、この場合、Q符号の読み出し初期においては、必ずしも複数の符号語を読み出さずに調整することで、それ以降、DRAM10内で隣接するデータの並列した読み出しを行うことができるようにすることが望ましい。すなわち、先の図9に示したデータにおいては、はじめに「0000」を、次に、「0043」及び「0044」を、その次に、「0086」及び「0087」及び「0088」を読み出すようにすることが望ましい。これにより、それ以降の処理においては、「0129」及び「1130」及び「0131」及び「0132」等、4つずつの符号語を読み出す際に、それらデータをDRAM10内での隣接したアドレスのデータとすることができる。この際、シンドローム生成部31へのイネーブル信号やクリア信号の入力態様についても適宜変更して設定する。
【0065】
・また、複数の符号語の並列的な読み出しやこの読み出された符号語の並列的なシンドローム計算は、CD−ROMのデータにおけるエラー訂正処理におけるものにも限られない。例えば、CDやDVD(Digital Versatile Disc)のデータのエラー訂正処理等に適用してもよい。
【0066】
・並列的に読みだされる符号語の数や、並列して計算されるシンドロームの数は、上記実施形態のものにも限られない。この際、必ずしも、ランダムアクセスメモリに記憶されるデータの順番において隣接するものを複数並列に読み出すものにも限らず、近接している場合であれページモード方式の採用は可能である。
【0067】
・複数の符号語の並列的な読み出しは、ページモード方式を採用したものにも限られず、EDO(extended data output)方式等、適宜の高速アクセス方式を適用するようにしてもよい。また、上記DRAMとして、SDRAM(synchronous DRAM)等を用いることもできる。
【0068】
・図3に示したマルチプレクサM1及びM2については、これを設けずとも、DRAM10からの高速読み出しやシンドロームの高速計算を行うことはできる。
【0069】
・シンドローム生成部31については、必ずしも図3に例示するように複数の符号語のシンドロームを計算する各別の回路を設ける構成としなくても、複数の符号語を同時に読み出すことで、DRAM10からデータを高速に読み出すことはできる。
【0070】
【発明の効果】
請求項1記載の発明によれば、複数の符号語のシンドローム計算が各別の演算回路によって並列して実行されるために、読み出し動作を高速化することができるようになる。
【0071】
請求項2記載の発明によれば、バッファメモリ内での行アドレスを保持し、列アドレスを変更して複数の符号語を並列的に読み出すことで、ページモード等の高速アクセス方式を容易に適用することができるようになる。
【0072】
請求項3記載の発明によれば、符号語の総数が並列して読み出される符号語の数の倍数とならない場合であれ、的確に符号語の読み出しを行うことができるようになる。
【図面の簡単な説明】
【図1】本発明にかかるエラー訂正装置の一実施形態について、その符号語の読み出し順序を示す図。
【図2】同実施形態のエラー訂正装置の全体構成を示すブロック図。
【図3】同実施形態のシンドローム生成部の構成を示す回路図。
【図4】同実施形態のシンボルカウンタの構成を示す図。
【図5】同実施形態における符号語の読み出しタイミングを示すタイムチャート。
【図6】従来の符号語の読み出しタイミングを示すタイムチャート。
【図7】同実施形態における符号語の読み出しタイミングについて、特にその例外処理を示すタイムチャート。
【図8】CD−ROMのデータフォーマットを示す図。
【図9】CD−ROMデータにおける符号語の設定態様を示す図。
【図10】DRAM内でのCD−ROMデータの記憶態様を示す図。
【図11】従来の符号語の読み出し順序を示す図。
【符号の説明】
10…DRAM、11…バスアービタ、20…エラー訂正タイミング生成回路、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記載のエラー訂正装置。
JP2001082298A 2001-03-22 2001-03-22 エラー訂正装置 Expired - Fee Related JP3954803B2 (ja)

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 JP2002280909A (ja) 2002-09-27
JP3954803B2 true 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)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
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
US7228490B2 (en) * 2004-02-19 2007-06-05 Quantum Corporation Error correction decoder using cells with partial syndrome generation
US7343546B2 (en) * 2004-12-23 2008-03-11 Intel Corporation Method and system for syndrome generation and data recovery
JP2006190346A (ja) * 2004-12-28 2006-07-20 Toshiba Corp エラー訂正処理装置及びエラー訂正処理方法
JP2006309820A (ja) 2005-04-26 2006-11-09 Sanyo Electric Co Ltd 誤り訂正装置
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)

* Cited by examiner, † Cited by third party
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 구자홍 에러정정방법
EP0929037A1 (en) * 1998-01-07 1999-07-14 Matsushita Electric Industrial Co., Ltd. Data transfer device and data transfer method
US6332206B1 (en) * 1998-02-25 2001-12-18 Matsushita Electrical 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 三洋電機株式会社 エラー訂正装置

Also Published As

Publication number Publication date
KR100509137B1 (ko) 2005-08-23
TWI267826B (en) 2006-12-01
US7143331B2 (en) 2006-11-28
US20070050663A1 (en) 2007-03-01
US20020144206A1 (en) 2002-10-03
KR20020075269A (ko) 2002-10-04
JP2002280909A (ja) 2002-09-27

Similar Documents

Publication Publication Date Title
JP3863252B2 (ja) 誤り訂正方法、誤り訂正装置、データ読み出し装置、及び、データマッピング方法
US8112678B1 (en) Error correction for programmable logic integrated circuits
KR100370239B1 (ko) 고속 블럭 파이프라인 구조의 리드-솔로몬 디코더에적용하기 위한 메모리 장치와 메모리 액세스 방법 및 그메모리 장치를 구비한 리드-솔로몬 디코더
US8069389B2 (en) Error correction circuit and method, and semiconductor memory device including the circuit
US7278085B1 (en) Simple error-correction codes for data buffers
US20080282128A1 (en) Method of Error Correction Code on Solid State Disk to Gain Data Security and Higher Performance
EP0278700A2 (en) Error correction methods and apparatus
US6041431A (en) Method and apparatus for performing error correction code operations
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
JPH08255111A (ja) 誤り訂正検出回路と半導体記憶装置
JP3281387B2 (ja) Crc/edcチェッカシステム
JPH11112358A (ja) データの誤り訂正方法及び誤り訂正装置
US20080155370A1 (en) Error correction device and recording and reproducing device
US7962836B1 (en) Electronic data flash card with bose, ray-chaudhuri, hocquenghem (BCH) error detection/correction
JP2004206798A (ja) 光ディスク装置のエンコードデータ符号回路
JP3306413B2 (ja) 誤り訂正装置および誤り訂正方法
US7360132B1 (en) System and method for memory chip kill
JPH06197025A (ja) エラー訂正方法及び訂正回路
JP2020150515A (ja) 誤り訂正回路及びメモリシステム
JP2000010807A (ja) ディジタルデータ再生装置
JPH05225717A (ja) Datの誤謬訂正のためのアドレス発生回路
JPS63197122A (ja) エラ−訂正及びチエツク装置
JPH10107648A (ja) 誤り訂正処理回路
JP2000181635A (ja) エラー訂正処理装置の制御方法、エラー訂正処理装置及び訂正処理能力制御回路

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