JP2002164792A - 高速ブロックパイプライン構造のリード−ソロモンデコーダに適用するためのメモリ装置及びメモリアクセス方法並びにそのメモリ装置を備えたリード−ソロモンデコーダ - Google Patents

高速ブロックパイプライン構造のリード−ソロモンデコーダに適用するためのメモリ装置及びメモリアクセス方法並びにそのメモリ装置を備えたリード−ソロモンデコーダ

Info

Publication number
JP2002164792A
JP2002164792A JP2001218754A JP2001218754A JP2002164792A JP 2002164792 A JP2002164792 A JP 2002164792A JP 2001218754 A JP2001218754 A JP 2001218754A JP 2001218754 A JP2001218754 A JP 2001218754A JP 2002164792 A JP2002164792 A JP 2002164792A
Authority
JP
Japan
Prior art keywords
bank
data
frame period
ram
writing
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
JP2001218754A
Other languages
English (en)
Other versions
JP3862062B2 (ja
Inventor
Hyung-Joon Kwon
亨 俊 權
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2002164792A publication Critical patent/JP2002164792A/ja
Application granted granted Critical
Publication of JP3862062B2 publication Critical patent/JP3862062B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1555Pipelined decoder implementations
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/10Decoders
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon 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/65Purpose and implementation aspects
    • H03M13/6566Implementations concerning memory access contentions

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Information Transfer Systems (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【課題】 高速のブロックパイプライン構造のリード-
ソロモンデコーダに適用するためのメモリ装置及びメモ
リアクセス方法並びにそのメモリ装置を備えたリード-
ソロモンデコーダを提供すること。 【解決手段】 同時的な書込み/読出し動作を行うため
に多数の二重バンクRAMを採用し、メモリはパイプラ
イン処理中に高速のブロックパイプラインリード-ソロ
モンデコーダで使用され、メモリ制御回路は各々の連続
的なフレーム周期中に二重バンクRAMの各バンクが所
定個数のフレーム周期ごとに読出し/書込みされるよう
にし、読出しバンクは各々の連続的なフレーム区間で多
数の二重バンクRAMのうち書込みバンクとは異なる一
つに含まれるように、各々の連続的なフレーム区間中に
多数の二重バンクRAMのデータの書込み/読出しをイ
ネーブルする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はリード-ソロモンデ
コーダに係り、特に、高速ブロックパイプライン構造の
リード-ソロモンデコーダに適用するためのメモリ装置
及びメモリアクセス方法並びにそのメモリ装置を備えた
リード-ソロモンデコーダに関する。
【0002】
【従来の技術】近年、ディジタル信号処理技術が発達す
るに伴い、チャネルやメディアで生成されるエラーの復
元技術も発達してきている。今まで、様々なエラー訂正
技術が報告され、開発されてきた。中でも、線形ブロッ
クコードの一種であるリード-ソロモンコードが汎用さ
れている。一般に、リード-ソロモンエンコーダは2t
のパリティ記号をk個のデータ記号に加えることにより
n(例えば、8-バイト)個の記号を含むコードワード
を形成する。ここで、2t=n-kで表わされる。また、
リードソロモンコードワードは、共通的に、RS(n,
k)と表わされる。リード-ソロモンコードが汎用され
る理由は、リード-ソロモンデコーダの強力なエラー訂
正能力及び効率良いエンコーディング/デコーディング
処理によるためであると言える。リード-ソロモンデコ
ーダにおいてなされるデコーディング過程はエンコーデ
ィング過程に比べてやや複雑である。また、高速のディ
ジタルデータプロセッシングを要求するシステムが増加
するのに伴い、デコーディングハードウェアでも高速の
ディジタルプロセッシングが可能な構造が要求されてい
る。
【0003】一般に、リード-ソロモンデコーダは5段
階または4段階の過程を行う処理ブロックで構成され
る。すなわち、エラー訂正及び消去訂正がいずれも可能
である場合には5段階に区分でき、エラー訂正だけが可
能である場合には4段階に区分できる。
【0004】まず、エラー/消去訂正がいずれも可能で
ある場合、リード-ソロモンデコーダは下記のような段
階を通じてデコーディングを行う。まず、第1段階の処
理ブロックでは入力データによりシンドロームを生成
し、入力データに同期されて印加される消去フラグをカ
ウント及びバッファリングする。第2段階ではバッファ
リングされた消去フラグによりシンドロームを変形し、
消去位置多項式を生成する。第3段階では、変形された
シンドローム及び消去位置多項式によってエラー位置多
項式と、エラー値多項式の係数を求めることになる。こ
こで、ユークリッドアルゴリズムなどの所定のアルゴリ
ズムが多項式の係数を求めるのに用いられる。第4段階
では、第3段階で求められた多項式の係数を有するエラ
ー位置多項式及びエラー値多項式から、チエン検索アル
ゴリズムを用いてエラー値及びエラーの位置が求められ
る。第5段階では、求められたエラー位置及びエラー値
により入力データのエラーが訂正される。このようなリ
ード-ソロモンデコーディング過程においてエラー訂正
だけがなされる場合には、第2段階の過程が省かれるた
め、全体的なデコーディング過程は4段階で構成され
る。
【0005】このようなリード-ソロモンデコーディン
グ過程において、第1及び第5段階(エラー訂正だけが
なされる場合には第4段階)はメモリアクセスを要求す
る。すなわち、第1段階では入力されるデータを貯蔵す
るのにメモリが用いられ、第5段階ではメモリに貯蔵さ
れたデータを読出してエラーを訂正するために用いられ
る。したがって、メモリアクセスに要求される時間は各
デコーディング段階を行うのに影響を及ぼすことにな
る。
【0006】最近では多くのシステムが高速の動作を要
求し、これにより、リード-ソロモンデコーダの各段階
を行うブロックはパイプライン構造を用いて実現されて
いる。この場合、各段階のレイテンシのうち最も高いレ
イテンシを要する段階が、1フレームのデータを処理す
るに当たっての妨害要素として作用する。最近では、1
フレームのデータ長をnとしたとき、各段階別の最大レ
イテンシはnサイクル以内になるように実現されてい
る。
【0007】しかし、1フレームのデータをデコーディ
ングする過程において、前記第1段階及び第5段階にお
ける複数回のメモリアクセスのため2nサイクル以上の
時間を要求する。結果的に、メモリアクセスに要求され
る時間が、各段階のブロックレイテンシに比べて2倍以
上となって、全体回路の動作速度を落とすことになる。
このような問題点を解決するために、従来は、メモリに
データを書込むのに用いるデータ入力クロック信号の速
度に比べ、各デコーディング段階の動作のためのシステ
ムクロック信号の速度を2倍以上速める方法が用いられ
ていた。
【0008】
【発明が解決しようとする課題】しかし、この方法は、
システムクロック信号の速度が2倍以上速くなるのに伴
い、パワー消耗が増してしまうという問題が生じる。ま
た、データ入力クロック信号の速度が速い場合には、シ
ステムクロック信号を一定の速度以上に高め難いという
短所がある。また、リード-ソロモンデコーダの速度が
メモリアクセス時間に影響されるため、動作速度に制限
があるという問題がある。本発明は上記事情に鑑みてな
されたものであり、その目的は、高速ブロックパイプラ
イン構造のリード-ソロモンデコーダにおいて、メモリ
アクセス速度を速めて高速動作を可能にするメモリ装置
及びメモリアクセス方法並びにそのメモリ装置を備えた
リード-ソロモンデコーダを提供することである。
【0009】
【課題を解決するための手段】前記目的を達成するため
に、本発明の一面によれば、二重バンクRAMの各バン
クが所定個数のフレーム周期ごとに読出され、所定個数
のフレーム周期ごとに書込まれるようにし、読出しバン
クは各々の連続的なフレーム区間で多数の二重バンクR
AMのうち書込みバンクとは異なる一つに含まれるよう
に、各々の連続的なフレーム周期中に多数の二重バンク
RAMへのデータ書込み及び二重バンクRAMからのデ
ータ読出しがイネーブルされる。
【0010】前記目的を達成するために、本発明の他の
一面によれば、メモリは第1バンク及び第2バンクを有
する第1二重バンクRAM、第3バンク及び第4バンク
を有する第2二重バンクRAM及び第5バンク及び第6
バンクを有する第3二重バンクRAMを含む。第1ない
し第6データバンクのうちの各々一つが6フレーム周期
ごとに読出されるように連続的なフレーム周期中に、第
1ないし第6データバンクから順次データ読出しがイネ
ーブルされ、第1ないし第6データバンクのうちの各々
一つが6フレーム周期ごとに書込まれるように連続的な
フレーム周期中に第1ないし第6データバンクに順次デ
ータの書込みがイネーブルされる。また、各フレーム周
期中に読出しがイネーブルされる第1ないし第6データ
バンクのうちの一つは、第1ないし第3二重バンクRA
Mのうち書込みがイネーブルされる第1ないし第6デー
タバンクのうちの一つとは異なる一つのRAMに含まれ
る。
【0011】前記目的を達成するために、本発明のさら
に他の一面によれば、各フレーム周期中に、読出しがイ
ネーブルされるデータバンクから書込みがイネーブルさ
れるデータバンクまでのオフセットは4つ(または3
つ)のデータバンクとして設定され、a(ここで、aは
整数)のフレーム周期で書込まれる第1ないし第6デー
タバンクの各々はa+4(またはa+3)のフレーム周期
で後から読出されることを特徴とする。
【0012】前記目的を達成するために、本発明のさら
に他の一面によれば、二重バンクメモリは入力リード-
ソロモンコードワードを受信し、入力コードワードに含
まれたエラー位置及びエラー値を求めるために計算を行
う多数のパイプライン処理部と結合されて用いられる。
望ましくは、多数個のパイプライン処理部及びメモリは
同一のクロック信号速度に応答して動作する。
【0013】前記目的を達成するために、本発明のさら
に他の一面によれば、各コードワードはn(ここで、n
は正数)バイトを含む。望ましくは、多数個のパイプラ
イン処理部の各最大レイテンシはnサイクルであり、各
々のメモリアクセスフレーム周期はnサイクルである。
【0014】
【発明の実施の形態】以下、本発明による高速ブロック
パイプライン構造のリード-ソロモンデコーダと、高速
ブロックパイプライン構造のリード-ソロモンデコーダ
に適用するためのメモリ装置及びメモリアクセス方法と
について、添付図面を参照して説明する。
【0015】図1は、本発明によるメモリ装置が適用さ
れる高速ブロックパイプライン構造のリード-ソロモン
デコーダを説明するための実施例のブロック図である。
図1を参照すれば、リード-ソロモンデコーダはシンド
ローム生成部100、フラグカウンタ及びフラグバッフ
ァ120、消去位置多項式生成部130、シンドローム
変形部140、多項式係数生成部150、エラー値測定
部160、エラー位置検索部170、二重バンク3RA
Mメモリ180及びエラー訂正部190で構成される。
図1に示されたリード-ソロモンデコーダは、エラー訂
正及び消去訂正がいずれも可能である場合に対する実施
例を示す。したがって、図1に示されたリード-ソロモ
ンデコーダは各々のブロックによって前記第1ないし第
5段階(s1〜s5)がパイプライン処理される。エラ
ー訂正だけがなされる場合のリード-ソロモンデコーダ
は、図1に示された110ブロックを含まないものとな
る。
【0016】シンドローム生成部100は、外部から受
信される入力データDIN、すなわち、コードワードR
(x)からシンドロームS(x)を生成する。フラグカ
ウンタ&フラグバッファ120は、入力データDINに
同期されて印加される消去フラグEra_Flagのフ
ラグの個数をカウントし、消去フラグEra_Flag
をバッファリングする。ここで、入力データDINに含
まれたエラー成分のうちエラー値は知っていないが、エ
ラーの位置を知っている場合の成分が消去となる。これ
に対し、エラーはその値及び位置をいずれも知っていな
い場合である。したがって、消去の訂正が要求される場
合には消去フラグEra_Flagが入力され、その個
数がカウントされる。もし、入力されるフラグの個数が
訂正可能な許容範囲を超える場合には、単にエラーデコ
ーディング過程だけが行われる。ここで、許容可能範囲
は、例えば、消去フラグが10個以上である場合として
設定できる。また、フラグの数が0である場合にも、エ
ラーデコーディング過程だけが行われる。
【0017】図1において、シンドローム生成部100
と、フラグカウンタ&フラグバッファ120はリード-
ソロモンデコーダの第1段階(s1)を行うブロックで
あると言える。基本的に、エラー訂正だけがなされるリ
ード-ソロモンデコーダの場合には、フラグカウンタ&
フラグバッファ120が用いられない。
【0018】図1に示されたリード-ソロモンデコーダ
は入力データDIN、すなわち、コードワードR(x)
を一時貯蔵するための二重バンク3RAMメモリ180
を備える。このメモリ180は各々二つのバンクを有す
る3つのRAMで構成される。また、二重バンク3RA
Mメモリ180はデータ入力クロック信号CLKに応答
して書込み/読出し動作を行うために循環的な制御構造
を採用する。二重バンク3RAMメモリ180は、3つ
のRAMのうちのいずれか一つの選択されたバンクに書
込み、読出し時に3つのRAMのうち他のRAMの選択
されたバンクからデータを読出す。ここで、二重バンク
3RAMメモリ180は書込み及び読出し時にデータ入
力クロック信号CLKに応答して動作する。この二重バ
ンク3RAMメモリ180の具体的な構成及び動作につ
いては、図3を参照して後で説明する。
【0019】シンドローム変形部140は、シンドロー
ム生成部100で生成されたシンドロームS(x)をバ
ッファリングされた消去フラグを用いて変形し、これを
変形されたシンドロームT(x)として出力する。も
し、エラーデコーディングだけが行われる場合には、シ
ンドローム変形がなされず、シンドローム生成部100
で生成されたシンドロームS(x)がそのまま多項式係
数生成部150に伝達される。
【0020】消去位置多項式生成部130は、バッファ
リングされた消去フラグにより消去位置多項式を生成す
る。また、エラーデコーディングだけがなされる場合に
は、消去位置多項式生成部130の出力は多項式の形で
はなく、一定の定数値、例えば、"1"を有するように設
定される。すなわち、消去フラグEra_Flagの個
数が0である場合、或いは許容可能範囲を超える場合
に、消去位置多項式の代わりに定数"1"として設定され
る。図1を参照すれば、シンドローム変形部140及び
消去位置多項式生成部130はリード-ソロモンデコー
ディング過程の第2段階(s2)を行うブロックであ
る。もし、エラー訂正だけがなされる場合には、第2段
階(s2)が省かれる。
【0021】多項式係数生成部150は、変形されたシ
ンドロームT(x)及び消去位置多項式によりエラー位
置を求めるためのエラー位置多項式σ(x)と、エラー
値を計算するためのエラー値多項式e(x)の係数とを
求める。図1の実施例において、多項式係数生成部15
0は広く知られているユークリッドアルゴリズムを用い
ると仮定している。しかし、ユークリッドアルゴリズム
のほかに、他のアルゴリズムを用いることも可能であ
り、場合によっては、エラー位置多項式の係数だけを求
めることもある。多項式係数生成部150はリード-ソ
ロモンデコーディング過程の第3段階(s3)を行うブ
ロックであると言える。もし、エラー訂正のためのデコ
ーディングだけがなされる場合には、ブロック110に
含まれる構成要素が用いられないため、シンドロームS
(x)及び定数値"1"によってエラー位置多項式σ
(x)及びエラー値多項式e(x)の係数が求められ
る。
【0022】エラー位置検索部170は、多項式係数生
成部150で生成された係数値を有するエラー位置多項
式からチエン検索アルゴリズムを用いてエラーの位置を
求める。ここで、チエン検索アルゴリズムはエラー位置
多項式の根を求めるために用いられるアルゴリズムであ
り、他の適切なアルゴリズムが用いられる場合もある。
このとき、求められた根は再び多項式の形に変換され
る。このように、変換されたエラー位置多項式はΩ
(x)で表わされ、変換されたエラー位置多項式Ω
(x)によりエラーの位置が求められる。
【0023】エラー値測定部160は、多項式係数生成
部150で生成された係数を有するエラー値多項式e
(x)を用いてエラー値を測定する。これは、エラー位
置検索部170で求められたエラー位置におけるエラー
値であると言える。エラー位置検索部170及びエラー
値測定部160は、前述したリード-ソロモンデコーデ
ィング過程の第4段階(s4)を行うブロックとして定
義される。本発明において、エラー位置検索部170及
びエラー値測定部160はエラー位置/エラー値測定部
として統合されて名づけられる。
【0024】エラー訂正部190は、二重バンク3RA
Mメモリ180にアクセスしてメモリに書込まれている
データを読出し、エラー位置検索部170で求められた
エラー位置と、エラー値測定部160で測定されたエラ
ー値とによって、読出されたデータに含まれているエラ
ーを訂正する。すなわち、エラー訂正部190はメモリ
180から読出された元のデータ及び求められたエラー
値を足してエラー訂正を行う。
【0025】また、具体的には示していないが、図1に
示されたリード-ソロモンデコーダの各ブロックは第1
ないし第5段階(s1〜s5)を行うためにシステムク
ロック信号によって動作する。
【0026】図2は、図1に示されたデコーダにおいて
ブロックパイプライニングのための各実行段階(s1〜
s5)のレイテンシを示した図である。図2を参照すれ
ば、各々の段階(s1〜s5)を行うブロックの最大レ
イテンシは、入力されるデータの1フレームの長さをn
としたとき、nサイクル以内に設定できる。本発明にお
いては、二重バンク3RAMを有する循環メモリ構造を
採用することにより第1段階(s1)及び第5段階(s
5)を行うのに要求されるメモリアクセス時のタイミン
グ損失を最小化できる。
【0027】図3は、本発明の実施例による二重バンク
3RAMメモリ180を説明するためのブロック図であ
る。図3を参照すれば、二重バンク3RAMメモリ18
0は循環バッファ制御部300及び第1ないし第3RA
M310〜330で構成される。
【0028】循環バッファ制御部300は、第1ないし
第3RAM310〜330に読出し/書込み命令RE/
WRを印加し、該当RAMを選択するためのイネーブル
信号ENABLEを印加する。また、循環バッファ制御
部300は、データのフレームごとにデータ書込み及び
読出しのためのバンクが所定のオフセットをもって相異
なるRAMから選択されるように、書込みバンクポイン
タ及び読出しバンクポインタを設定する。すなわち、循
環バッファ制御部300は、3つのRAMのうち該当R
AMをイネーブルするためにイネーブル信号ENABL
Eを印加し、イネーブルされたRAMから該当バンクを
選択するためにバンク選択信号BK_SELを印加す
る。ここで、バンク選択信号BK_SELは1ビットで
表わされ、8ビットのアドレスバス340(ADDR
[7:0])に加えられて最上位ビット(Most Si
gnificant Bit、以下、MSB)となる。
したがって、全体アドレスADDRは9ビットとなって
各RAM310〜330に印加され、ここで、バンク選
択信号BK_SELはバンクポインタとして作用する。
例えば、バンク選択信号BK_SELが0であれば、各
RAMの両バンクのうち第1番目のバンクが選択され、
1であれば、第2番目のバンクが選択されるように動作
する。
【0029】第1RAM310は内部に二つのバンク、
バンク0 BANK0及びバンク1BANK1を備え、
イネーブル信号ENABLEが活性化された状態でバン
クポインタによりバンク0 BANK0またはバンク1
BANK1を選択する。このとき、第1RAM310は
循環バッファ制御部300から印加される読出し/書込
み命令RE/WRによって、選択されたバンクの所定位
置にデータを書込んだり、所定位置に書込まれたデータ
を読出したりする。ここで、RAM 310はSRAM
(Static Random Access Memo
ry)で実現でき、各バンクは1フレームのデータを貯
蔵できる容量を有することが望ましい。図3のメモリ構
造において、貯蔵されるデータの個数はガロアフィール
ドGF(2)を使用する最大256バイトの長さを有
する場合として仮定する。
【0030】第2RAM 320及び第3RAM 330
も各々二つのバンク、すなわちバンク2 BANK2、
バンク3 BANK3、及びバンク4 BANK4、バ
ンク5BANK5を備え、読出しまたは書込み命令RE
またはWRと、イネーブル信号ENABLEとにより活
性化される。他の動作は第1RAM310と同一なた
め、具体的な説明は省略する。また、第1ないし第3R
AM310〜330はデータ入力クロック信号CLKに
より8ビットの入力データDIN[7:0]を書込み、シ
ステムクロック信号と同一のクロック信号を入力クロッ
ク信号CLKとして使用する。図3の実施例において、
各RAM 310〜330の出力信号は8ビットの並列
信号MOUT[7:0]で表わされ、これは図1のエラー
訂正部190に印加される。
【0031】図4は、図3に示された二重バンク3RA
Mメモリ180のアクセス方法を説明するためのフロー
チャートである。図3及び図4を参照し、本発明による
二重バンク3RAMメモリ180の動作及びメモリアク
セス方法について具体的に説明する。
【0032】先ず、表1は一般的な(n,k)コードを
使用し、有限フィールドがGF(2 )である場合のR
AM及びバンクサイズを表わす。前記(n,k)コード
において、nは符号長さを表わし、kは情報長さを表わ
す。表1を参照すれば、ガロアフィールドGF(2
を使用する長さのデータを貯蔵するとき、各RAM31
0〜330のバンクサイズはnで表わされ、二重バンク
を有するRAMサイズは2nで表わされる。
【表1】 このとき、データ幅、すなわち、データビット数はmで
表わされ、アドレス幅はlogn≦pを満足する最小
整数pに1を加えた値として定義される。ここで、1を
加えるのは、前述したように、アドレスの最上位ビット
MSBでバンクを選択するためである。表1に示された
ように、nが256であり、mは8である場合、バンク
サイズは256バイトとなり、RAMサイズは512バ
イトとなる。また、データ幅は8ビットとなり、アドレ
ス幅は9ビットとなる。
【0033】このようなバンクサイズ及びRAMサイズ
を有するメモリにアクセスするのに当たって、先ず、リ
ード-ソロモンデコーダのエラー訂正モードが区分され
なければならない。図4を参照すれば、エラー/消去訂
正がいずれも可能である場合と、エラー訂正だけが可能
である場合に対し、書込みバンクポインタ及び読出しバ
ンクポインタが相異なるように設定される(ステップ4
00及びステップ410)。具体的に、ステップ400
では、エラー/消去訂正を行うかどうかが判断される
(ステップ402)。ここで、エラー/消去訂正を行う
かどうかを判断するのは、入力データDINに同期され
る消去フラグEra_Flagが入力されるかどうかを
判断することによりなされる。
【0034】ステップ402において、エラー訂正及び
消去訂正をいずれも行おうとするのであれば、循環バッ
ファ制御部300はフレームごとに書込みバンクポイン
タ及び読出しバンクポインタが4のオフセット差をもっ
て増加するように設定する(ステップ404)。すなわ
ち、図3の二重バンク3RAMメモリ180の構造にお
いて、各RAM 310〜330のバンクを選択するた
めのバンクポインタは書込み時及び読出し時に所定のオ
フセットだけの差がある。前述したように、エラー/消
去訂正がいずれも可能である場合、オフセットが4とし
て設定されるのは、全体デコーディングに要求される処
理段階が5つの段階に分けられるからである。例えば、
読出しのためのバンクポインタをBANK#で表わせ
ば、書込みのためのバンクポインタはBANK(#+4)
MOD6で表わされる。ここで、モジュロ6 MOD6
演算を行う理由は、全体バンク数が6つであるからであ
る。また、本発明において、二重バンクを使用するの
は、6つの256バイトの別々のメモリを使用する方よ
りは、512バイトの個別メモリを3つ使用する方が面
積の点で有利であるからである。それだけでなく、51
2バイトの個別メモリを3つ使用しつつも、メモリアク
セス時の衝突を防止できるという利点がある。
【0035】ステップ404において、書込みバンクポ
インタ及び読出しバンクポインタが設定されれば、循環
バッファ制御部300から書込み命令WRが印加された
かどうかが判断され(ステップ420)、同時に読出し
命令が印加されたかどうかが判断される(ステップ44
0)。すなわち、メモリアクセス過程において、データ
書込み及び読出しは同時になされる。ステップ420に
おいて、書込み命令WRが印加されたなら、イネーブル
された一つのRAMにおいて、設定された書込みバンク
ポインタに相応するバンクを選択して入力データを書込
む(ステップ430)。
【0036】図5は、図3のメモリにおいて、エラー/
消去訂正がいずれも可能である場合に対し、毎フレーム
が進行するときに書込み/読出し時のバンク選択動作を
示した図である。図5を参照すれば、毎フレームが進行
する区間において、書込みフレームポインタはバンク単
位に増加する。例えば、図5に示すように、第1番目の
フレームT50で書込みフレームポインタが第3RAM
330のバンク4 BANK4を指定すれば、バンク4
BANK4が選択されてデータの書込みがなされる。
【0037】また、 ステップ440において、読出し
命令REが印加されれば、図5に示すように、書込みフ
レームポインタに対して4つのバンク差をおいて読出し
フレームポインタが増加する。すなわち、読出し命令R
Eが印加されればイネーブルされる他のRAMにおい
て、設定された読出しバンクポインタに相応するバンク
を選択してデータを読出す(ステップ450)。図5を
参照すれば、区間T50において読出しフレームポイン
タに相応する第1RAM 310のバンク0 BANK0
が選択され、選択されたバンク0 BANK0に貯蔵さ
れているデータが読出される(ステップ450)。この
とき、読出されたデータは図1のエラー訂正部190に
伝達されてエラー訂正がなされる(ステップ460)。
【0038】前述したように、図4の書込み命令及び読
出し命令によるメモリアクセス過程はリード-ソロモン
デコーダのデコーディング過程がなされる間に繰り返さ
れる。すなわち、図4において、デコーディングが終わ
ったかどうかが判断され(ステップ470)、終わって
ないなら、ステップ420及びステップ430に進んで
以降の過程が繰り返される。図5に示すように、初期に
書込みバンクポインタ及び読出しバンクポインタは4つ
のバンク差を有するように設定される。したがって、毎
フレーム進行時に書込みフレームポインタと、読出しフ
レームポインタとは互いにバンク単位に増加するが、同
一のRAMがアクセスされないため、メモリアクセス時
に衝突が起こらない。したがって、システムクロックに
よりメモリにアクセスすることが可能であり、メモリア
クセスによる時間的な損失がないので、高速動作が可能
である。
【0039】一方、図4のステップ400において、エ
ラー/消去訂正を行わない場合には、エラー訂正だけを
行うと判断される。エラー訂正だけを行う場合は、消去
フラグEra_Flagの個数が0であるか、或いはカ
ウントされたフラグの個数が許容範囲を超える場合であ
る。図6は、エラー訂正だけが可能である場合に対し、
毎フレームが進行するときに書込み/読出し時のバンク
選択動作を示した図である。図1のリード-ソロモンデ
コーダにおいて、エラー訂正だけがなされる場合には、
書込みバンクポインタ及び読出しバンクポインタが3だ
けのオフセット差をもって増加するように設定される
(ステップ414)。これは、全体デコーディングに要
求される処理段階が4つに分けられるからである。例え
ば、読出しのためのバンクポインタをBANK#として
設定すれば、書込みのためのバンクポインタはBANK
(#+2)3MOD6として設定される。ステップ414
において、各々の書込み/読出しバンクポインタが設定
されれば、ステップ420に進んで前述した過程と同一
に書込み及び読出し過程がなされる。
【0040】図6を参照すれば、毎フレームが進行する
区間で書込みフレームポインタはバンク単位に増加す
る。例えば、図6に示したように、第1番目のフレーム
T60で書込みフレームポインタが第2 RAM 320
のバンク3 BANK3を指定すれば、バンク3 BAN
K3が選択されてデータの書込みがなされる。このと
き、3つのバンク差をおいて読出しフレームポインタが
増加する。すなわち、読出しフレームポインタにより第
1 RAM310のバンク0 BANK0が選択され、選
択されたバンク0 BANK0に貯蔵されているデータ
が読出されて図1のエラー訂正部190に伝達される。
前述したように、エラー訂正だけがなされる場合であっ
ても、書込みバンクポインタ及び読出しバンクポインタ
が3つのバンク差を有するように設定されるため、書込
み及び読出し時に同一のRAMがアクセスされず、その
結果、メモリ衝突が起こらない。
【0041】次に、表2には、一般的な一つの循環RA
Mを使用する従来の場合と、3つの循環RAMを使用す
る本発明の場合に各々必要なサイクルを示している。
【表2】 表2を参照すれば、書込み及び読出しの場合に各々必要
なサイクルはnサイクルであるが、フレーム当たり要求
されるメモリアクセスは1RAMの場合に2nサイクル
であるのに対し、3RAMの場合にはnサイクルだけを
必要とする。また、1RAMを使用する場合にはデータ
入力クロックと比較した場合のシステムクロック速度が
2倍以上増加されなければならないが、本発明の場合に
はデータ入力クロックと同一の速度のクロック信号をシ
ステムクロック信号として使用できる。結果的に、低い
速度のシステムクロック信号を用いつつも、入力と同一
の処理結果が得られる。
【0042】また、本発明による二重バンク3RAMメ
モリを適用するリード-ソロモンデコーダは各々面積及
び速度の面で従来の場合と比較するとき、下記のような
利点がある。表3は、コードワードの長さが256の場
合のSRAMサイズを比較するためのものである。
【表3】 すなわち、表3に示されたように、コードワードの長さ
が256である場合、1536バイトのSRAM一つを
使用する場合の面積は、512バイトのSRAM3つを
使用した場合に比べて0.66倍となる。しかし、3つ
のSRAMを使用する場合の速度は1つのSRAMを使
用する場合に比べて2倍となって、面積の損失よりも速
度の利得が相対的に大きいということが分かる。高速動
作を要求する応用分野においては、速度に対する要求が
先立つため、ある程度の面積に対する損失は無視でき
る。
【0043】図7は、本発明によるブロックパイプライ
ン構造を有するリード-ソロモンデコーダのプロセスタ
イミングを示した図である。図7を参照すれば、メモリ
アクセス時の衝突が起こらないため、各ブロック段階は
いずれもnサイクル以内に動作が完了する。また、各サ
イクルにおいてデータDINは連続的に印加されてシン
ドロームS(x)が形成される。各段階において得られ
た結果はnサイクルごとに下位ブロックに伝達される。
すなわち、第2番目のnサイクルにおいてはシンドロー
ム生成S(x)と変形されたシンドロームT(x)とが
生成され、第3番目のnサイクルにおいてはエラー位置
多項式σ(x)及びエラー値多項式e(x)の係数が生
成される。第4番目及び第5番目のnサイクルの場合も
同様である。また、図7に示したように、全体レイテン
シ遅延T70は4*nサイクルであり、4nサイクル後
には各nサイクルごとにエラー訂正されたデータDOU
T、すなわち、R'(x)が出力される。また、図7の
区間T75はレイテンシ遅延ではなく、出力を得るため
の実際の処理過程における遅延である。
【0044】前述した過程による本発明の二重バンク3
RAM構造のメモリと、これを採用するリード-ソロモ
ンデコーダとは各種の分野に適用できる。例えば、高画
質のディジタル多機能ディスク(HD-DVD)システ
ムを含む光ディスクシステム、高画質テレビ(HD-T
V)、衛星通信、IMT2000などの無線通信分野、
及びギガイーサネット(登録商標)などのネットワーク
分野などを含んで、リード-ソロモンデコーダを用いる
多くの超高速システムに適用できる。
【0045】
【発明の効果】本発明によれば、メモリアクセスのため
のデータ入力クロックをシステムクロックと同一に使用
できるので、半導体製造工程を簡素化でき、電力消耗を
減らしつつ、高速の動作が可能であるという効果があ
る。また、メモリアクセスによるタイミング損失を最小
化でき、システムクロック速度がメモリアクセス時間に
影響されることを減らすことにより、システム設計時に
タイミングマージンに対する自由度を増加できるという
効果がある。また、高速の伝送が可能なので、高速のブ
ロックパイプライン構造のリード-ソロモンデコーダ
と、これを用いる超高速システムとに適しているという
効果がある。
【0046】以上、図面及び明細書において最適の実施
例を開示した。ここで、特定の用語が使用されたが、こ
れは単に本発明を説明するための目的で使用されたもの
であり、意味の限定や特許請求の範囲上に記載された本
発明の範囲を制限するために使用されたものではない。
よって、この技術分野の通常の知識を有した者なら、こ
れより各種の変形及び均等な他の実施例が可能であると
いう点は言うまでもない。したがって、本発明の真の技
術的な保護範囲は特許請求の範囲上の技術的な思想によ
って定まるべきである。
【図面の簡単な説明】
【図1】本発明による二重バンク3RAMメモリが適用
されるブロックパイプライン構造のリード-ソロモンデ
コーダを示したブロック図。
【図2】図1に示されたリード-ソロモンデコーダの各
ブロック間レイテンシを説明するための図。
【図3】本発明の実施例による二重バンク3RAMメモ
リを説明するためのブロック図。
【図4】本発明の実施例による二重バンク3RAMメモ
リアクセス方法を説明するためのフローチャート。
【図5】図3に示された二重バンク3RAMメモリにお
いて、書込み/読出し時のバンク選択動作を説明するた
めの図。
【図6】図3に示された二重バンク3RAMメモリにお
いて、書込み/読出し時のバンク選択動作を説明するた
めの図。
【図7】図1に示されたリード-ソロモンデコーダのプ
ロセスタイミングを示した図。
【符号の説明】
180 二重バンク3RAMメモリ 300 循環バッファ制御部 310 第1RAM 320 第2RAM 330 第3RAM 340 アドレスバス

Claims (32)

    【特許請求の範囲】
  1. 【請求項1】 各々の連続的なフレーム周期中にデータ
    の書込み及び読出しを同時に行うバッファ回路におい
    て、 多数の二重バンクRAMと、 前記二重バンクRAMと連結され、前記二重バンクRA
    Mの各バンクが所定個数のフレーム周期ごとに読出さ
    れ、前記所定個数のフレーム周期ごとに書込まれるよう
    にし、読出しバンクは各々の連続的なフレーム周期にお
    いて前記多数の二重バンクRAMのうち書込みバンクと
    は異なる一つに含まれるように、各々の連続的なフレー
    ム周期中に前記多数の二重バンクRAMへのデータ書込
    み及び前記二重バンクRAMからのデータ読出しをイネ
    ーブルするメモリ制御回路と、を備えることを特徴とす
    るバッファ回路。
  2. 【請求項2】 各々の連続的なフレーム周期中にデータ
    の書込み及び読出しを同時に行うバッファ回路におい
    て、 第1バンク及び第2バンクを有する第1二重バンクRA
    Mと、 第3バンク及び第4バンクを有する第2二重バンクRA
    Mと、 第5バンク及び第6バンクを有する第3二重バンクRA
    Mと、 前記第1、第2及び第3二重バンクRAMと連結され、
    前記第1ないし第6データバンクのうちの各々一つが6
    フレーム周期ごとに読出されるように連続的なフレーム
    周期中に前記第1ないし第6データバンクから順次デー
    タの読出しをイネーブルし、前記第1ないし第6データ
    バンクのうちの各々一つが6フレーム周期ごとに書込ま
    れるように連続的なフレーム周期中に前記第1ないし第
    6データバンクに順次データの書込みをイネーブルする
    メモリ制御回路と、を備え、 前記各フレーム周期中に前記メモリ制御回路により読出
    しがイネーブルされる第1ないし第6データバンクのう
    ちの一つは、前記第1ないし第3二重バンクRAMのう
    ち前記メモリ制御回路により書込みがイネーブルされる
    前記第1ないし第6データバンクのうちの一つとは異な
    る一つのRAMに含まれることを特徴とするバッファ回
    路。
  3. 【請求項3】 各フレーム周期中に、読出しがイネーブ
    ルされるデータバンクから書込みがイネーブルされるデ
    ータバンクまでのオフセットは4つのデータバンクとし
    て設定され、a(ここで、aは整数)のフレーム周期で
    書込まれる前記第1ないし第6データバンクの各々はa
    +4のフレーム周期で後から読出されることを特徴とす
    る請求項2に記載のバッファ回路。
  4. 【請求項4】 各フレーム周期中に、読出しがイネーブ
    ルされるデータバンクから書込みがイネーブルされるデ
    ータバンクまでのオフセットは3つのデータバンクとし
    て設定され、a(ここで、aは整数)のフレーム周期で
    書込まれる前記第1ないし第6データバンクの各々はa
    +3のフレーム周期で後から読出されることを特徴とす
    る請求項2に記載のバッファ回路。
  5. 【請求項5】 前記バッファ回路は、 a(ここで、aは整数)番目のフレーム周期で、前記メ
    モリ制御回路は前記第1二重バンクRAMの第1バンク
    からデータ読出しをイネーブルし、前記第3二重バンク
    RAMの第5バンクへのデータ書込みをイネーブルし、 a+1番目のフレーム周期で、前記メモリ制御回路は前
    記第1二重バンクRAMの第2バンクからデータ読出し
    をイネーブルし、前記第3二重バンクRAMの第6バン
    クへのデータ書込みをイネーブルし、 a+2番目のフレーム周期で、前記メモリ制御回路は前
    記第2二重バンクRAMの第3バンクからデータ読出し
    をイネーブルし、前記第1二重バンクRAMの第1バン
    クへのデータ書込みをイネーブルし、 a+3番目のフレーム周期で、前記メモリ制御回路は前
    記第2二重バンクRAMの第4バンクからデータ読出し
    をイネーブルし、前記第1二重バンクRAMの第2バン
    クへのデータ書込みをイネーブルし、 a+4番目のフレーム周期で、前記メモリ制御回路は前
    記第3二重バンクRAMの第5バンクからデータ読出し
    をイネーブルし、前記第2二重バンクRAMの第3バン
    クへのデータ書込みをイネーブルし、 a+5番目のフレーム周期で、前記メモリ制御回路は前
    記第3二重バンクRAMの第6バンクからデータ読出し
    をイネーブルし、前記第2二重バンクRAMの第4バン
    クへのデータ書込みをイネーブルすることを特徴とする
    請求項2に記載のバッファ回路。
  6. 【請求項6】 前記バッファ回路は、 a(ここで、aは整数)番目のフレーム周期で、前記メ
    モリ制御回路は前記第1二重バンクRAMの第1バンク
    からデータ読出しをイネーブルし、前記第2二重バンク
    RAMの第4バンクへのデータ書込みをイネーブルし、 a+1番目のフレーム周期で、前記メモリ制御回路は前
    記第1二重バンクRAMの第2バンクからデータ読出し
    をイネーブルし、前記第3二重バンクRAMの第5バン
    クへのデータ書込みをイネーブルし、 a+2番目のフレーム周期で、前記メモリ制御回路は前
    記第2二重バンクRAMの第3バンクからデータ読出し
    をイネーブルし、前記第3二重バンクRAMの第6バン
    クへのデータ書込みをイネーブルし、 a+3番目のフレーム周期で、前記メモリ制御回路は前
    記第2二重バンクRAMの第4バンクからデータ読出し
    をイネーブルし、前記第1二重バンクRAMの第1バン
    クへのデータ書込みをイネーブルし、 a+4番目のフレーム周期で、前記メモリ制御回路は前
    記第3二重バンクRAMの第5バンクからデータ読出し
    をイネーブルし、前記第1二重バンクRAMの第2バン
    クへのデータ書込みをイネーブルし、 a+5番目のフレーム周期で、前記メモリ制御回路は前
    記第3二重バンクRAMの第6バンクからデータ読出し
    をイネーブルし、前記第2二重バンクRAMの第3バン
    クへのデータ書込みをイネーブルすることを特徴とする
    請求項2に記載のバッファ回路。
  7. 【請求項7】 多数個の二重バンクメモリにアクセスす
    るための方法において、 前記二重バンクメモリの各バンクが所定個数のフレーム
    周期ごとに読出され、前記所定個数のフレーム周期ごと
    に書込まれるようにし、各々の連続的なフレーム周期で
    読出しバンクは前記多数個の二重バンクメモリのうち書
    込みバンクとは異なるメモリに含まれるように、各々の
    連続的なフレーム周期中に多数個の二重バンクメモリへ
    のデータ書込み及び前記多数個の二重バンクメモリから
    のデータ読出しをイネーブルする過程を含むことを特徴
    とする多数個の二重バンクメモリにアクセスする方法。
  8. 【請求項8】 第1バンク及び第2バンクを有する第1
    二重バンクRAM、第3バンク及び第4バンクを有する
    第2二重バンクRAM、及び第5バンク及び第6バンク
    を有する第3二重バンクRAMを含むメモリ装置にアク
    セスするための方法において、 前記第1ないし第6データバンクのうちの各一つが6フ
    レーム周期ごとに読出されるように、連続的なフレーム
    周期中に第1ないし第6データバンクから順次データ読
    出しをイネーブルする過程と、 前記第1ないし第6データバンクのうちの各一つが6フ
    レーム周期ごとに書込まれるように連続的なフレーム周
    期中に第1ないし第6データバンクから順次データの書
    込みをイネーブルする過程と、を備え、 前記各々のフレーム周期中に、読出しがイネーブルされ
    た前記第1ないし第6データバンクのうちの一つは、書
    込みがイネーブルされた前記第1ないし第6データバン
    クのうちの一つとは異なる前記第1ないし第3二重バン
    クRAMのうちの一つに含まれることを特徴とする多数
    個の二重バンクメモリにアクセスする方法。
  9. 【請求項9】 各フレーム周期中に、読出しがイネーブ
    ルされるデータバンクから書込みがイネーブルされるデ
    ータバンクまでのオフセットは4つのデータバンクとし
    て設定され、a(ここで、aは整数)のフレーム周期で
    書込まれる前記第1ないし第6データバンクの各々はa
    +4のフレーム周期で後から読出されることを特徴とす
    る請求項8に記載の多数個の二重バンクメモリにアクセ
    スする方法。
  10. 【請求項10】 各フレーム周期中に、読出しがイネー
    ブルされるデータバンクから書込みがイネーブルされる
    データバンクまでのオフセットは3つのデータバンクと
    して設定され、a(ここで、aは整数)のフレーム周期
    で書込まれる前記第1ないし第6データバンクの各々は
    a+3のフレーム周期で後から読出されることを特徴と
    する請求項8に記載の多数個の二重バンクメモリにアク
    セスする方法。
  11. 【請求項11】 前記方法は、 a(ここで、aは整数)番目のフレーム周期で、前記第
    1二重バンクRAMの第1バンクからデータを読出し、
    前記第3二重バンクRAMの第5バンクにデータを書込
    む過程と、 a+1番目のフレーム周期で、前記第1二重バンクRA
    Mの第2バンクからデータを読出し、前記第3二重バン
    クRAMの第6バンクにデータを書込む過程と、 a+2番目のフレーム周期で、前記第2二重バンクRA
    Mの第3バンクからデータを読出し、前記第1二重バン
    クRAMの第1バンクにデータを書込む過程と、 a+3番目のフレーム周期で、前記第2二重バンクRA
    Mの第4バンクからデータを読出し、前記第1二重バン
    クRAMの第2バンクにデータを書込む過程と、 a+4番目のフレーム周期で、前記第3二重バンクRA
    Mの第5バンクからデータを読出し、前記第2二重バン
    クRAMの第3バンクにデータを書込む過程と、 a+5番目のフレーム周期で、前記第3二重バンクRA
    Mの第6バンクからデータを読出し、前記第2二重バン
    クRAMの第4バンクにデータを書込む過程と、をさら
    に含むことを特徴とする請求項8に記載の多数個の二重
    バンクメモリにアクセスする方法。
  12. 【請求項12】 前記方法は、 a(ここで、aは整数)番目のフレーム周期で、前記第
    1二重バンクRAMの第1バンクからデータを読出し、
    前記第2二重バンクRAMの第4バンクにデータを書込
    む過程と、 a+1番目のフレーム周期で、前記第1二重バンクRA
    Mの第2バンクからデータを読出し、前記第3二重バン
    クRAMの第5バンクにデータを書込む過程と、 a+2番目のフレーム周期で、前記第2二重バンクRA
    Mの第3バンクからデータを読出し、前記第3二重バン
    クRAMの第6バンクにデータを書込む過程と、 a+3番目のフレーム周期で、前記第2二重バンクRA
    Mの第4バンクからデータを読出し、前記第1二重バン
    クRAMの第1バンクにデータを書込む過程と、 a+4番目のフレーム周期で、前記第3二重バンクRA
    Mの第5バンクからデータを読出し、前記第1二重バン
    クRAMの第2バンクにデータを書込む過程と、 a+5番目のフレーム周期で、前記第3二重バンクRA
    Mの第6バンクからデータを読出し、前記第2二重バン
    クRAMの第3バンクにデータを書込む過程と、をさら
    に含むことを特徴とする請求項8に記載の多数個の二重
    バンクメモリにアクセスする方法。
  13. 【請求項13】 パイプラインリード-ソロモンデコー
    ダにおいて、 入力リード-ソロモンコードワードを受信し、前記入力
    コードワードに含まれたエラー位置及びエラー値を求め
    るために計算を行う多数のパイプライン処理部と、 前記多数のパイプライン処理部により前記計算を行う間
    に前記入力コードワードを一時貯蔵するバッファ回路
    と、を含み、 前記バッファ回路は、 多数個の二重バンクRAMと、 前記多数個の二重バンクRAMと連結され、前記二重バ
    ンクRAMの各バンクが所定個数のフレーム周期ごとに
    読出され、前記所定個数のフレーム周期ごとに書込まれ
    るようにし、読出しバンクは各々の連続的なフレーム周
    期で前記多数の二重バンクRAMのうち書込みバンクと
    は異なる一つに含まれるように、各々の連続的なフレー
    ム周期中に前記多数の二重バンクRAMへのデータ書込
    み及び前記二重バンクRAMからのデータ読出しをイネ
    ーブルするメモリ制御回路と、を備えることを特徴とす
    るパイプラインリード-ソロモンデコーダ。
  14. 【請求項14】 パイプラインリード-ソロモンデコー
    ダにおいて、 入力リード-ソロモンコードワードを受信し、前記入力
    コードワードに含まれたエラー位置及びエラー値を求め
    るために計算を行う多数のパイプライン処理部と、 前記多数のパイプライン処理部により前記計算を行う間
    に前記入力コードワードを一時貯蔵するバッファ回路
    と、を含み、 前記バッファ回路は、 第1バンク及び第2バンクを有する第1二重バンクRA
    Mと、 第3バンク及び第4バンクを有する第2二重バンクRA
    Mと、 第5バンク及び第6バンクを有する第3二重バンクRA
    Mと、 前記第1、第2及び第3二重バンクRAMと連結され、
    前記第1ないし第6データバンクのうちの各々一つが6
    フレーム周期ごとに読出されるように連続的なフレーム
    周期中に前記第1ないし第6データバンクから順次デー
    タの読出しをイネーブルし、前記第1ないし第6データ
    バンクのうちの各々一つが6フレームごとに書込まれる
    ように前記連続的なフレーム周期中に前記第1ないし第
    6データバンクに順次データの書込みをイネーブルする
    メモリ制御回路と、を備え、 前記各フレーム周期中に前記メモリ制御回路により読出
    しがイネーブルされる第1ないし第6データバンクのう
    ちの一つは前記第1ないし第3二重バンクRAMのうち
    前記メモリ制御回路により書込みがイネーブルされる前
    記第1ないし第6データバンクのうちの一つとは異なる
    一つのRAMに含まれることを特徴とするパイプライン
    リード-ソロモンデコーダ。
  15. 【請求項15】 前記多数個のパイプライン処理部は5
    つのパイプライン処理段階で構成され、各フレーム周期
    中に、読出しがイネーブルされるデータバンクから書込
    みがイネーブルされるデータバンクまでのオフセットは
    4つのデータバンクとして設定され、a(ここで、aは
    整数)のフレーム周期で書込まれる前記第1ないし第6
    データバンクの各々はa+4のフレーム周期で後から読
    出されることを特徴とする請求項14に記載のパイプラ
    インリード-ソロモンデコーダ。
  16. 【請求項16】 前記多数個のパイプライン処理部は4
    つのパイプライン処理段階で構成され、各フレーム周期
    中に、読出しがイネーブルされるデータバンクから書込
    みがイネーブルされるデータバンクまでのオフセットは
    3つのデータバンクとして設定され、a(ここで、aは
    整数)のフレーム周期で書込まれる前記第1ないし第6
    データバンクの各々はa+3フレーム周期で後から読出
    されることを特徴とする請求項14に記載のパイプライ
    ンリード-ソロモンデコーダ。
  17. 【請求項17】 前記多数個のパイプライン処理部は、
    エラー及び消去訂正が行われ、5つのパイプライン処理
    段階が動作できる第1モード及びエラー訂正だけが実行
    され、4つのパイプライン処理段階が動作できる第2モ
    ードで動作可能であり、 前記第1モードの各フレーム周期中に、読出しがイネー
    ブルされるデータバンクから書込みがイネーブルされる
    データバンクまでのオフセットは4つのデータバンクと
    して設定され、a(ここで、aは整数)のフレーム周期
    で書込まれる前記第1ないし第6データバンクの各々は
    a+4フレーム周期で後から読出され、 前記第2モードの各フレーム周期中に、読出しがイネー
    ブルされるデータバンクから書込みがイネーブルされる
    データバンクまでのオフセットは3つのデータバンクと
    して設定され、aのフレーム周期で書込まれる前記第1
    ないし第6データバンクの各々はa+3フレーム周期で
    後から読出されることを特徴とする請求項14に記載の
    パイプラインリード-ソロモンデコーダ。
  18. 【請求項18】 前記多数個のパイプライン処理部及び
    前記バッファ回路は同一のクロック信号速度に応答して
    動作することを特徴とする請求項14に記載のパイプラ
    インリード-ソロモンデコーダ。
  19. 【請求項19】 各コードワードはn(ここで、nは正
    数)バイトを含み、前記第1ないし第6バンクの各々は
    nバイトの容量を有することを特徴とする請求項14に
    記載のパイプラインリード-ソロモンデコーダ。
  20. 【請求項20】 前記多数のパイプライン処理部の各々
    の最大レイテンシがnサイクルであり、前記フレーム周
    期の各々はnサイクルであることを特徴とする請求項1
    9に記載のパイプラインリード-ソロモンデコーダ。
  21. 【請求項21】 外部から受信されたデータをデコーデ
    ィングしてエラーを訂正するブロックパイプライン構造
    のリード-ソロモンデコーダで前記受信されたデータを
    書込み及び読出しするためのメモリ装置において、 内部に各々2つのバンクを含み、 書込み/読出し命令及びイネーブル信号によって活性化
    される複数のメモリと、 前記複数のメモリに前記書込み/読出し命令と、該当メ
    モリを選択するための前記イネーブル信号とを印加し、
    データのフレームごとに前記データ書込み及び読出しの
    ためのバンクが所定のオフセットをもって相異なるメモ
    リから選択されるように書込みバンクポインタ及び読出
    しバンクポインタを設定する循環バッファ制御部と、を
    備えることを特徴とするメモリ装置。
  22. 【請求項22】 前記複数のメモリは、 各々2つのバンクを備える3つのRAMで実現し、前記
    各バンクは1フレームのデータを貯蔵することを特徴と
    する請求項21に記載のメモリ装置。
  23. 【請求項23】 前記循環バッファ制御部は、 前記リード-ソロモンデコーダがエラー/消去訂正を行
    う場合に、前記オフセットを4として設定することを特
    徴とする請求項21に記載のメモリ装置。
  24. 【請求項24】 前記循環バッファ制御部は、 前記リード-ソロモンデコーダがエラー訂正だけを行う
    場合に、前記オフセットを3として設定することを特徴
    とする請求項21に記載のメモリ装置。
  25. 【請求項25】 外部から受信されるデータをデコーデ
    ィングしてエラーを訂正するブロックパイプライン構造
    のリード-ソロモンデコーダに具備され、各々2つのバ
    ンクを有する複数のメモリよりなるメモリ装置のメモリ
    アクセス方法において、 (a)エラー訂正モードによって、所定のオフセットだ
    けの差をおいて書込みバンクポインタ及び読出しバンク
    ポインタが増加するように設定する段階と、 (b)データ書込み命令及び読出し命令が印加されるか
    どうかを判断する段階と、 (c)前記(b)段階において前記書込み命令が印加さ
    れれば、前記複数のメモリのうちイネーブルされた一つ
    のメモリから前記書込みバンクポインタに相応するバン
    クを選択してデータを書込む段階と、 (d)前記(b)段階において前記読出し命令が印加さ
    れれば、前記複数のメモリのうちイネーブルされた他の
    メモリから前記読出しバンクポインタに相応するバンク
    を選択して前記書込まれたデータを読出す段階と、 前記(c)段階及び前記(d)段階は同時に行われ、前
    記デコーディングが終わるまで(b)ないし(d)段階
    を繰り返し行うことを特徴とするメモリアクセス方法。
  26. 【請求項26】 前記(a)段階は、 (a1)エラー/消去訂正を行うかどうかを判断する段
    階と、 (a2)前記エラー/消去訂正を行うとすれば、前記書
    込みバンクポインタと前記読出しバンクポインタとの間
    の前記オフセットを4として設定する段階と、 (a3)前記エラー/消去訂正を行おうとするのでなけ
    れば、エラー訂正だけを行うかどうかを判断する段階
    と、 (a4)前記(a3)段階で前記エラー訂正だけを行お
    うとするのであれば、前記書込みバンクポインタと前記
    読出しバンクポインタとの間の前記オフセットを3とし
    て設定する段階と、を備えることを特徴とする請求項2
    5に記載のメモリアクセス方法。
  27. 【請求項27】 外部から受信されるデータをデコーデ
    ィングしてエラーを訂正するブロックパイプライン構造
    のリード-ソロモンデコーダにおいて、 前記受信されるデータからシンドロームを生成するシン
    ドローム生成部と、 各々2つのバンクを有する複数のメモリからなり、前記
    受信されるデータを前記複数のメモリのうちのいずれか
    一つの選択されたバンクに書込み、前記複数のメモリの
    うちの他のメモリの選択されたバンクからデータを読出
    すメモリ装置と、 前記生成されたシンドロームから各々エラー位置多項式
    及びエラー値多項式の係数を生成する多項式係数生成部
    と、 前記生成された係数を用い、前記エラー位置多項式及び
    前記エラー値多項式からエラー位置及びエラー値を求め
    るエラー位置/エラー値測定部と、 前記エラー位置/エラー値測定部で求められた前記エラ
    ー値及び前記エラー位置に応答して前記メモリ装置から
    読出されたデータのエラーを訂正するエラー訂正部と、
    を備えることを特徴とするリード-ソロモンデコーダ。
  28. 【請求項28】 前記メモリ装置は、 各々2つのバンクを備える3つのRAMからなり、前記
    受信されたデータの毎フレーム処理時に相異なるメモリ
    の該当バンクがイネーブルされることを特徴とする請求
    項27に記載のリード-ソロモンデコーダ。
  29. 【請求項29】 前記メモリ装置は、 前記受信されるデータのフレームごとにデータ書込み及
    び読出しのためのバンクが第1オフセット差をもって選
    択されるように書込みバンクポインタ及び読出しバンク
    ポインタを設定することを特徴とする請求項28に記載
    のリード-ソロモンデコーダ。
  30. 【請求項30】 前記リード-ソロモンデコーダは、 前記入力データに同期される消去フラグをカウントし、
    前記消去フラグをバッファリングするフラグカウンタ及
    びバッファと、 前記バッファリングされた消去フラグに応答して消去位
    置多項式を生成する消去位置多項式生成部と、 前記シンドローム生成部で生成された前記シンドローム
    を前記バッファリングされた消去フラグにより変形し、
    前記変形されたシンドロームを前記多項式係数生成部に
    印加するシンドローム変形部と、をさらに備え、 前記多項式係数生成部は、前記変形されたシンドローム
    及び前記消去位置多項式に応答して前記エラー位置多項
    式及び前記エラー値多項式の係数を生成することを特徴
    とする請求項27に記載のリード-ソロモンデコーダ。
  31. 【請求項31】 前記メモリ装置は、 前記受信されるデータのフレームごとにデータ書込み及
    び読出しのためのバンクが第2オフセット差をもって選
    択されるように書込みバンクポインタ及び読出しバンク
    ポインタを設定することを特徴とする請求項30に記載
    のリード-ソロモンデコーダ。
  32. 【請求項32】 前記リード-ソロモンデコーダは、 前記メモリ装置にデータを書込むためのデータ入力クロ
    ック信号と、前記リード-ソロモンデコーダの各ブロッ
    クを動作させるのに要求されるシステムクロック信号と
    を同一のクロック信号として使用することを特徴とする
    請求項27に記載のリード-ソロモンデコーダ。
JP2001218754A 2000-10-25 2001-07-18 高速ブロックパイプライン構造のリード−ソロモンデコーダに適用するためのメモリ装置及びメモリアクセス方法並びにそのメモリ装置を備えたリード−ソロモンデコーダ Expired - Fee Related JP3862062B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2000-0062904A KR100370239B1 (ko) 2000-10-25 2000-10-25 고속 블럭 파이프라인 구조의 리드-솔로몬 디코더에적용하기 위한 메모리 장치와 메모리 액세스 방법 및 그메모리 장치를 구비한 리드-솔로몬 디코더
KR2000P-62904 2000-10-25

Publications (2)

Publication Number Publication Date
JP2002164792A true JP2002164792A (ja) 2002-06-07
JP3862062B2 JP3862062B2 (ja) 2006-12-27

Family

ID=19695352

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001218754A Expired - Fee Related JP3862062B2 (ja) 2000-10-25 2001-07-18 高速ブロックパイプライン構造のリード−ソロモンデコーダに適用するためのメモリ装置及びメモリアクセス方法並びにそのメモリ装置を備えたリード−ソロモンデコーダ

Country Status (8)

Country Link
US (1) US6639865B2 (ja)
JP (1) JP3862062B2 (ja)
KR (1) KR100370239B1 (ja)
CN (1) CN1317643C (ja)
DE (1) DE10133595B4 (ja)
GB (1) GB2369215B (ja)
NL (1) NL1018416C2 (ja)
TW (1) TW514933B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009100369A (ja) * 2007-10-18 2009-05-07 Toshiba Corp 誤り検出訂正回路、半導体メモリコントローラ、および誤り検出訂正方法
JP2012155460A (ja) * 2011-01-25 2012-08-16 Fujitsu Ten Ltd 画像処理装置、画像表示システム及び画像処理方法

Families Citing this family (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080282128A1 (en) * 1999-08-04 2008-11-13 Super Talent Electronics, Inc. Method of Error Correction Code on Solid State Disk to Gain Data Security and Higher Performance
KR100403634B1 (ko) * 2001-10-17 2003-10-30 삼성전자주식회사 고속 파이프라인 리드-솔로몬 디코더에 적용하기 위한메모리 장치와 메모리 액세스 방법 및 그 메모리 장치를구비한 리드-솔로몬 디코더
GB2391769B (en) * 2002-07-31 2005-07-06 Hewlett Packard Co Reed-Solomon decoder and decoding method for errors and erasures decoding
US7206992B2 (en) * 2003-03-04 2007-04-17 Broadcom Corporation Decoding a received BCH encoded signal
US7237183B2 (en) * 2003-03-04 2007-06-26 Broadcom Corporation Parallel decoding of a BCH encoded signal
KR100553691B1 (ko) * 2003-06-17 2006-02-24 윈텍 주식회사 영상처리장치 및 그 방법
US7840859B2 (en) * 2005-02-14 2010-11-23 Koninklijke Philips Electronics N.V. Block interleaving with memory table of reduced size
JP2008141276A (ja) * 2006-11-30 2008-06-19 Sanyo Electric Co Ltd Tv信号処理回路
US8732558B1 (en) * 2007-04-25 2014-05-20 Samsung Electronics Co., Ltd. MPE-FEC system capable of selecting an FEC mode, a forward error correcting method performed in the MPE-FEC system, and an FEC mode selecting method performed in the MPE-FEC system
US8650352B2 (en) 2007-09-20 2014-02-11 Densbits Technologies Ltd. Systems and methods for determining logical values of coupled flash memory cells
US8365040B2 (en) 2007-09-20 2013-01-29 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
US8443242B2 (en) 2007-10-25 2013-05-14 Densbits Technologies Ltd. Systems and methods for multiple coding rates in flash devices
WO2009072103A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of 'first below' cells
US8607128B2 (en) * 2007-12-05 2013-12-10 Densbits Technologies Ltd. Low power chien-search based BCH/RS decoding system for flash memory, mobile communications devices and other applications
US8341335B2 (en) 2007-12-05 2012-12-25 Densbits Technologies Ltd. Flash memory apparatus with a heating system for temporarily retired memory portions
WO2009074978A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
US8276051B2 (en) * 2007-12-12 2012-09-25 Densbits Technologies Ltd. Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications
US20090157946A1 (en) * 2007-12-12 2009-06-18 Siamak Arya Memory having improved read capability
WO2009078006A2 (en) 2007-12-18 2009-06-25 Densbits Technologies Ltd. Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith
US8972472B2 (en) 2008-03-25 2015-03-03 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
US8332725B2 (en) 2008-08-20 2012-12-11 Densbits Technologies Ltd. Reprogramming non volatile memory portions
KR101008945B1 (ko) * 2008-10-10 2011-01-17 김영운 상판 접이식 테이블
US8458574B2 (en) 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8566510B2 (en) 2009-05-12 2013-10-22 Densbits Technologies Ltd. Systems and method for flash memory management
US9330767B1 (en) 2009-08-26 2016-05-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory module and method for programming a page of flash memory cells
US8305812B2 (en) 2009-08-26 2012-11-06 Densbits Technologies Ltd. Flash memory module and method for programming a page of flash memory cells
US8868821B2 (en) 2009-08-26 2014-10-21 Densbits Technologies Ltd. Systems and methods for pre-equalization and code design for a flash memory
US8995197B1 (en) 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
US8730729B2 (en) 2009-10-15 2014-05-20 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8724387B2 (en) 2009-10-22 2014-05-13 Densbits Technologies Ltd. Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages
US8626988B2 (en) 2009-11-19 2014-01-07 Densbits Technologies Ltd. System and method for uncoded bit error rate equalization via interleaving
TWI425519B (zh) * 2009-12-09 2014-02-01 Nat Chip Implementation Ct Nat Applied Res Lab 低複雜度低密度同位元檢查碼解碼器之記憶體配置方法及其解碼器結構
US9037777B2 (en) 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
US8607124B2 (en) 2009-12-24 2013-12-10 Densbits Technologies Ltd. System and method for setting a flash memory cell read threshold
US8341502B2 (en) 2010-02-28 2012-12-25 Densbits Technologies Ltd. System and method for multi-dimensional decoding
US8527840B2 (en) 2010-04-06 2013-09-03 Densbits Technologies Ltd. System and method for restoring damaged data programmed on a flash device
US8516274B2 (en) 2010-04-06 2013-08-20 Densbits Technologies Ltd. Method, system and medium for analog encryption in a flash memory
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US9021177B2 (en) 2010-04-29 2015-04-28 Densbits Technologies Ltd. System and method for allocating and using spare blocks in a flash memory
US8468431B2 (en) 2010-07-01 2013-06-18 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US8539311B2 (en) 2010-07-01 2013-09-17 Densbits Technologies Ltd. System and method for data recovery in multi-level cell memories
US8467249B2 (en) 2010-07-06 2013-06-18 Densbits Technologies Ltd. Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
US8508995B2 (en) 2010-09-15 2013-08-13 Densbits Technologies Ltd. System and method for adjusting read voltage thresholds in memories
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
US8850100B2 (en) 2010-12-07 2014-09-30 Densbits Technologies Ltd. Interleaving codeword portions between multiple planes and/or dies of a flash memory device
JP2012175260A (ja) * 2011-02-18 2012-09-10 Alpine Electronics Inc 多重放送受信機
US10079068B2 (en) 2011-02-23 2018-09-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Devices and method for wear estimation based memory management
US8693258B2 (en) 2011-03-17 2014-04-08 Densbits Technologies Ltd. Obtaining soft information using a hard interface
US8990665B1 (en) 2011-04-06 2015-03-24 Densbits Technologies Ltd. System, method and computer program product for joint search of a read threshold and soft decoding
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US8667211B2 (en) 2011-06-01 2014-03-04 Densbits Technologies Ltd. System and method for managing a non-volatile memory
US8588003B1 (en) 2011-08-01 2013-11-19 Densbits Technologies Ltd. System, method and computer program product for programming and for recovering from a power failure
US8732433B2 (en) 2011-08-26 2014-05-20 Micron Technology, Inc. Apparatuses and methods for providing data from multiple memories
US8553468B2 (en) 2011-09-21 2013-10-08 Densbits Technologies Ltd. System and method for managing erase operations in a non-volatile memory
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US8838937B1 (en) 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
US8879325B1 (en) 2012-05-30 2014-11-04 Densbits Technologies Ltd. System, method and computer program product for processing read threshold information and for reading a flash memory module
US9921954B1 (en) 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
JP2014082574A (ja) * 2012-10-15 2014-05-08 Samsung Electronics Co Ltd 誤り検出訂正回路、及びメモリ装置
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
US9413491B1 (en) 2013-10-08 2016-08-09 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for multiple dimension decoding and encoding a message
US9397706B1 (en) 2013-10-09 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for irregular multiple dimension decoding and encoding
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9536612B1 (en) 2014-01-23 2017-01-03 Avago Technologies General Ip (Singapore) Pte. Ltd Digital signaling processing for three dimensional flash memory arrays
US10120792B1 (en) 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
US10305515B1 (en) 2015-02-02 2019-05-28 Avago Technologies International Sales Pte. Limited System and method for encoding using multiple linear feedback shift registers
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
CN106023346B (zh) * 2016-07-06 2018-08-14 福州瑞芯微电子股份有限公司 动态帧率行车记录系统及车辆速度判断装置
CN107766284B (zh) * 2017-09-11 2021-09-07 中国航空工业集团公司洛阳电光设备研究所 一种基于片外缓存的流水统计方法和统计芯片
US10965929B1 (en) * 2019-01-04 2021-03-30 Rockwell Collins, Inc. Depth mapping and parallel distortion correction for mixed reality
CN112835523A (zh) * 2021-02-02 2021-05-25 致真存储(北京)科技有限公司 一种存储系统及其数据存取的方法
US12170531B2 (en) * 2022-01-13 2024-12-17 Micron Technology, Inc. Iterative decoder for correcting dram device failures

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6172327A (ja) 1984-09-17 1986-04-14 Casio Comput Co Ltd 画像メモリのアドレス分配方式
US4725987A (en) 1985-10-23 1988-02-16 Eastman Kodak Company Architecture for a fast frame store using dynamic RAMS
DE3687739T2 (de) * 1985-12-02 1993-08-19 Ibm Speicheranordnung mit mehrfachem lese-schreibzugriff.
CN1009047B (zh) * 1985-12-27 1990-08-01 复旦大学 交叉穿插的里德-所罗门码的高速纠错译码系统
EP0261751A3 (en) * 1986-09-25 1990-07-18 Tektronix, Inc. Concurrent memory access system
DE3715885A1 (de) 1987-05-13 1988-11-24 Philips Patentverwaltung Vorfeldeinrichtung, insbesondere fuer ein b-isdn-vermittlungssystem
US4845713A (en) 1987-06-08 1989-07-04 Exabyte Corporation Method and apparatus for determining the coefficients of a locator polynomial
US5226134A (en) * 1990-10-01 1993-07-06 International Business Machines Corp. Data processing system including a memory controller for direct or interleave memory accessing
KR940001590B1 (ko) * 1991-07-05 1994-02-25 한국전기통신공사 블럭읽기 및 쓰기에서의 메모리 엑세스 시간 단축장치 및 방법
US5307314A (en) * 1991-07-15 1994-04-26 Micron Technology, Inc. Split read/write dynamic random access memory
US5459742A (en) * 1992-06-11 1995-10-17 Quantum Corporation Solid state disk memory using storage devices with defects
US5615355A (en) * 1992-10-22 1997-03-25 Ampex Corporation Method and apparatus for buffering a user application from the timing requirements of a DRAM
WO1995012850A1 (en) 1993-11-04 1995-05-11 Cirrus Logic, Inc. Reed-solomon decoder
DE69430982T2 (de) 1993-12-09 2003-03-13 Sun Microsystems, Inc. Verschachtelung von Bildelementdaten für eine Darstellungspeicherschnittstelle
US5506810A (en) * 1994-08-16 1996-04-09 Cirrus Logic, Inc. Dual bank memory and systems using the same
US6094703A (en) * 1995-02-21 2000-07-25 Micron Technology, Inc. Synchronous SRAM having pipelined memory access enable for a burst of addresses
KR0170723B1 (ko) 1995-12-29 1999-03-30 김광호 단일 ras 신호에 의해 동시 동작이 가능한 이중 뱅크를 갖는 반도체 메모리 장치
US6023745A (en) * 1996-08-08 2000-02-08 Neomagic Corporation Scoreboarding for DRAM access within a multi-array DRAM device using simultaneous activate and read/write accesses
US6031783A (en) * 1996-08-09 2000-02-29 Townsend And Townsend And Crew Llp High speed video frame buffer
US5774648A (en) 1996-10-02 1998-06-30 Mitsubishi Semiconductor Of America, Inc. Address generator for error control system
JP3233860B2 (ja) * 1996-10-25 2001-12-04 松下電器産業株式会社 リードソロモン復号器
US5961660A (en) 1997-03-03 1999-10-05 International Business Machines Corporation Method and apparatus for optimizing ECC memory performance
JP3250032B2 (ja) 1997-04-09 2002-01-28 日本アイ・ビー・エム株式会社 動的バンド幅変更データ転送方法及びシステム
US6044206A (en) * 1997-10-14 2000-03-28 C-Cube Microsystems Out of order instruction processing using dual memory banks
US6137807A (en) * 1997-12-05 2000-10-24 Whittaker Corporation Dual bank queue memory and queue control system
US6081920A (en) 1998-01-08 2000-06-27 Lsi Logic Corporation Method and apparatus for fast decoding of a Reed-Solomon code
US5969986A (en) 1998-06-23 1999-10-19 Invox Technology High-bandwidth read and write architectures for non-volatile memories
KR100313503B1 (ko) * 1999-02-12 2001-11-07 김영환 멀티-뱅크 메모리 어레이를 갖는 반도체 메모리 장치
US6347389B1 (en) * 1999-03-23 2002-02-12 Storage Technology Corporation Pipelined high speed reed-solomon error/erasure decoder

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009100369A (ja) * 2007-10-18 2009-05-07 Toshiba Corp 誤り検出訂正回路、半導体メモリコントローラ、および誤り検出訂正方法
JP2012155460A (ja) * 2011-01-25 2012-08-16 Fujitsu Ten Ltd 画像処理装置、画像表示システム及び画像処理方法

Also Published As

Publication number Publication date
GB2369215A (en) 2002-05-22
JP3862062B2 (ja) 2006-12-27
DE10133595B4 (de) 2009-01-22
GB2369215B (en) 2003-04-16
NL1018416C2 (nl) 2005-11-15
US6639865B2 (en) 2003-10-28
NL1018416A1 (nl) 2002-05-01
US20020075715A1 (en) 2002-06-20
CN1317643C (zh) 2007-05-23
DE10133595A1 (de) 2002-05-29
CN1350369A (zh) 2002-05-22
GB0116275D0 (en) 2001-08-29
KR20020032038A (ko) 2002-05-03
TW514933B (en) 2002-12-21
KR100370239B1 (ko) 2003-01-29

Similar Documents

Publication Publication Date Title
JP3862062B2 (ja) 高速ブロックパイプライン構造のリード−ソロモンデコーダに適用するためのメモリ装置及びメモリアクセス方法並びにそのメモリ装置を備えたリード−ソロモンデコーダ
US8352834B2 (en) High throughput interleaver / deinterleaver
US6115837A (en) Dual-column syndrome generation for DVD error correction using an embedded DRAM
US7600177B2 (en) Delta syndrome based iterative Reed-Solomon product code decoder
JPH10200418A (ja) 誤り訂正方法、誤り訂正装置、データ読み出し装置、及び、データマッピング方法
US6279135B1 (en) On-the-fly row-syndrome generation for DVD controller ECC
KR100403634B1 (ko) 고속 파이프라인 리드-솔로몬 디코더에 적용하기 위한메모리 장치와 메모리 액세스 방법 및 그 메모리 장치를구비한 리드-솔로몬 디코더
US7984363B2 (en) Integrated circuit device including a circuit to generate error correction code for correcting error bit for each of memory circuits
US6802040B1 (en) Error correction device
JPH1198462A (ja) データ再生装置
US20070136641A1 (en) Unified memory architecture for recording applications
US7075851B2 (en) Semiconductor memory device inputting/outputting data and parity data in burst operation
JP3954803B2 (ja) エラー訂正装置
US7827463B2 (en) Semiconductor memory device
JPH02121027A (ja) 画像処理装置
GB2380297A (en) Reed-Solomon decoder including memory device
JP3728011B2 (ja) 誤り訂正方法および誤り訂正装置
KR100390120B1 (ko) 신호 처리 장치
JPS6326035A (ja) ビタビ復号器
JP2002050968A (ja) 誤り訂正装置
JPS6326036A (ja) ビタビ復号器
JPH0555926A (ja) 誤り訂正装置
KR20010094291A (ko) 고속 데이터의 에러 정정 장치
JPS6349808B2 (ja)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040625

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060523

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060822

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060920

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111006

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121006

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20131006

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees