JP2000349652A - 誤り訂正手段を備えた記憶装置 - Google Patents

誤り訂正手段を備えた記憶装置

Info

Publication number
JP2000349652A
JP2000349652A JP11159613A JP15961399A JP2000349652A JP 2000349652 A JP2000349652 A JP 2000349652A JP 11159613 A JP11159613 A JP 11159613A JP 15961399 A JP15961399 A JP 15961399A JP 2000349652 A JP2000349652 A JP 2000349652A
Authority
JP
Japan
Prior art keywords
data
error
code
error correction
ecc circuit
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.)
Pending
Application number
JP11159613A
Other languages
English (en)
Inventor
Minoru Tsukada
稔 塚田
Kazuo Nakamura
一男 中村
Tetsuji Karashima
哲次 辛島
Hiroaki Kotani
博昭 小谷
Atsushi Nozoe
敦史 野副
Takuji Nishitani
卓史 西谷
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP11159613A priority Critical patent/JP2000349652A/ja
Publication of JP2000349652A publication Critical patent/JP2000349652A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Error Detection And Correction (AREA)

Abstract

(57)【要約】 【課題】 十分なデータ信頼率が得られるとともに、メ
モリチップの記憶素子のデータ信頼率の変化に柔軟に対
応することができる記憶装置を提供する。 【解決手段】 メモリチップ102とインターフェース
LSI106とを備えたフラッシュメモリカード501
において、メモリチップ102に内部ECC回路104
を設け、インタフェースLSI106に、外部ECC回
路1061を設ける。そして、積符号による符号化を行
う際は、まず、外部ECC回路1061によって外符号
化を行い、更に、内部ECC回路104によって内符号
化を行う。また、データ読み出し時は、内部ECC回路
104によって内符号の復号を行い、行データの信頼性
情報をメモリチップ102の外部に出力する。外部EC
C回路1061は、外符号の復号を行う場合、行データ
の信頼性情報を利用して復号を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ディジタル情報を
記憶する記憶装置、特に、フラッシュメモリ等の半導体
メモリを使った記憶装置に関する。
【0002】
【従来の技術】従来、コンピュータの主記憶装置には、
RAM等の半導体メモリが記憶媒体として利用されてき
たが、このような記憶媒体における誤り訂正方式は、例
えば、特開平3-5995号公報に記載されているように、ビ
ット単位の誤り訂正符号(Error Correcting Code:E
CC)を用いて誤りを訂正していた。これは、半導体記
憶媒体の1素子あたりの記録単位が1ビットで、素子の
データ誤り確率がランダムであることに起因している。
この傾向は不揮発性メモリであるフラッシュメモリでも
同様である。
【0003】一方、ハードディスクやCD−ROMな
ど、ランダム誤りとバースト誤りが混在する媒体におい
ては、データをバースト誤り訂正ECCと、ランダム誤
り訂正ECCとで二重に符号化し、データ復号時に制御
信号により、それぞれの復号結果のうち1つを選択して
出力する方法や、同じECCを用いて、二重に符号化
し、それぞれのECCを連携させて、データを高信頼化
させる積符号と呼ばれる方法が採用されている。前者の
方法は、例えば、特開平2−301226号公報や特開平3−21
2026公報に記載されている。また、後者の方法は、特開
平7−202717号公報に記載されている。
【0004】以下、誤り訂正ECCと積符号について説
明する。まず、誤り訂正ECCについて説明する。誤り
訂正で用いられているECCにはいろいろあるが、まと
まったバイトを1ブロックとして誤り訂正/検出を行う
ECCとして、リードソロモン符号(以下、RS符号と
いう)がある。RS符号は、組織符号となる巡回符号で
ある。組織符号とは、情報データ部と冗長データ部とが
分離できる符号で、符号中に情報データの成分がそのま
まあらわれるため、データを扱いやすい。また、巡回符
号は、符号に周期性があるため、復号時は一定の規則に
従って順に検索できるため、誤り検索がシフトレジスタ
とバッファを用いて簡単に行える。
【0005】次に、組織符号の生成方法と復号方法につ
いて説明する。データ多項式D(x)、冗長多項式R(x)、符
号生成多項式G(x)、誤り多項式E(x)を以下のように定
義する。
【0006】データ多項式D(x)は、数式(1)に示すよ
うに、sバイト目の情報バイト Dsを、xの(k-s)次項の係
数としたxの多項式とする。
【0007】
【数1】
【0008】冗長多項式R(x)は、数式(2)に示すよう
に、sバイト目の冗長バイト Rsを、xの(2t-s)次項の係
数としたxの多項式とする。R(x)は、訂正能力をtバイ
トとすると、最低2tバイトの冗長バイトが必要となる。
【0009】
【数2】
【0010】符号生成多項式G(x)は、数式(3)に示す
ように、D(x)を、符号語多項式W(x)に符号化するための
xの多項式とする。訂正能力をtバイトとすると最低2t次
の多項式を用いる必要がある。
【0011】
【数3】
【0012】G(x)の根αには数式(4)に示すような巡
回性がある。
【0013】
【数4】
【0014】ここで、Nは、G(x)が含まれるガロア体の
元の数で、G(x)によって作られる符号の最大シンボル
(=1訂正単位)長は(N−1)シンボルとなる。この巡
回性を利用して、N=(2のn乗)とおくと、W(x)、D
(x)、G(x)の係数は、G(x)の根αのべき乗の形と、最大
(n−1)次のα多項式、つまりnビットのビット列の
形の両方で記述することが出来る。
【0015】次に、RS符号の符号化について説明す
る。RS符号の符号化は、数式(5)に示すように、W
(x)がG(x)で割り切れ、かつ、R(x)とD(x)の係数の次数
が重ならないように、D(x)をxの2t乗して符号化する。
【0016】
【数5】
【0017】この時、R(x)は、数式(6)のようにな
る。ここで、「AmodB」は、AをBで割った時の剰余
多項式である。
【0018】
【数6】
【0019】
【数7】
【0020】次に、RS符号の復号について説明する。
記録媒体から読取った符号をY(x)、誤り位置多項式をE
(x)とおく。Y(x)は、数式(8)に示すように、読み取
ったnバイトのデータのsバイト目の情報バイトYsを、
xの(n-s)次の項の係数としたxの多項式とする。
【0021】
【数8】
【0022】E(x)は、数式(9)に示すように、誤りバ
イトの位置とパターンを示すxの多項式とする。i,
j,・・・バイトにビットパターンEi,Ej,・・・の誤りが
発生したとする。Y(x)、E(x)の係数もW(x)、D(x)と同
じく、nビットのビット列で表現する事が出来る。
【0023】
【数9】
【0024】この時、Y(x)modG(x)を計算すると、誤り
多項式E(x)の値によって数式(10)の関係が成り立
つ。
【0025】
【数10】
【0026】誤りが1バイトの場合は、数式(10)よ
り数式(11)を得て、xにαのべき乗を順に代入する
ことで簡単にEi、iを求められる。
【0027】
【数11】
【0028】しかし、誤りが2バイト以上の場合、E
(x)modG(x)は、数式(12)に示すようになる。このた
め、数式(12)に、G(x)の根(αのn乗)(n=0,1,・・・
2t−1)を代入して得られる2t本の方程式 S(αのn乗)
=Sn(数式(13))を用いて誤り位置と誤りパターン
を検索する。この検索には数式(14)のように定義さ
れる誤り位置多項式σ(x)を用いる。
【0029】
【数12】
【0030】
【数13】
【0031】
【数14】
【0032】数式(13)から数式(14)を求め、数
式(14)に、x = αの−i乗(i=0,1,・・・n-1)を順
に代入してiを求める。求めたiを数式(13)に代入
してEiを求める。
【0033】次に、積符号について説明する。積符号
は、データをn1行×n2列のマトリクスと考え、各行、各
列ごとにそれぞれ符号化を行い、復号時に各行の復号結
果を利用して、各列の誤り訂正能力を向上させる方法で
ある。ここで、最初に符号化を行う方を外符号C1、後
に符号化を行う方を内符号C2とする。C1、C2の訂
正能力をそれぞれ、t1バイト、t2バイトとすると、積符
号の訂正能力は、最大で|_(d−1)/2_|バイトまで
訂正することが可能である。ここで、d=(2×t1+1)(2
×t2+1)であり、|_A_|はAを超えない最大の整数を表
す。積符号の復号方法にはいろいろあるが、ここでは、
例としてレディ・ロビンソン法について説明する。
【0034】最初に内符号C2について、t2バイトまで
の誤りを訂正する。この時、行列のi行目のデータ信頼
性情報を数式(15)のように定義する。ここで、d2=
2×t1+1である。なお、訂正能力を超える誤りが検出さ
れた場合は、ai=0とする。
【0035】
【数15】
【0036】次に、外符号C1について、誤り位置iの
集合Fを定義する。Fの初期値は、空集合φとする。ま
た、Fに含まれる誤り位置iの総数をhとする。
【0037】次に、外符号C1について、hを消失誤り
とおいて、|_(d1−h−1)/2_|バイトまでの誤り訂正処
理を行う。ここで、d1=2×t1+1である。訂正能力を超
える誤りが検出された場合は集合Fへの消失位置の追加
処理に進む。
【0038】次に、誤り訂正処理後と誤り訂正処理前の
符号について、数式(16)が成立するか判定を行う。
【0039】
【数16】
【0040】数式(16)が成立した場合は、復号処理
を終了する。成立しない場合は、集合Fへの消失位置の
追加処理に進む。
【0041】次に、集合Fへの消失位置追加処理を行
う。Fに含まれない位置iで、aiが最小のものをすべて
追加し、誤り訂正処理に戻る。ただし、hがd1以上とな
った場合は、訂正能力を超える誤りが発生したと判定
し、復号処理を終了する。
【0042】
【発明が解決しようとする課題】記憶装置の記憶媒体と
して利用されるフラッシュメモリは、図21に示すよう
に、通常のMOSトランジスタのコントロールゲート直
下に、電荷を担持及び放出することができる浮遊ゲート
を有する。そして、浮遊ゲートに担持する電荷量を制御
することで、図22に示すように、MOSトランジスタ
のドレイン−ソース間の電流の流れを制御するコントロ
ール電圧の閾値(スレッシュホールド電圧)Vthを変化
させ、その変化を電流値として読み取っている。従来の
フラッシュメモリでは、メモリ1素子に対し1ビットを
対応させていたため、素子のランダム不良によるデータ
誤りは、1ビット誤りであった。
【0043】しかし、近年、フラッシュメモリに対する
大容量化、低コスト化の要求からフラッシュメモリにお
いて、メモリ1素子に対し、2ビット以上を対応させる
多値記録技術が必要となってきている。このような多値
記録技術においては、一つの素子に対し、4つ以上のV
thを設定することが必要となり、各Vth間の間隔が狭く
なるため、メモリ素子からのデータ読み出しエラーは必
然的に増加する。また、素子不良によりVthが固定され
た場合は、1素子に2ビット以上の誤りが発生する可能
性が生じる。
【0044】このため、特開平3-5995号公報のように、
ビット単位で誤り訂正を行う場合、十分なデータ信頼率
を得られなくなるおそれがある。
【0045】また、特開平2−301226号公報や特開平7−
202717号公報のように、符号化率を固定してデータを二
重に符号化すると、メモリチップの記憶素子のデータ信
頼率の変化に対応出来ず、メモリチップの歩留まり率を
上げるために、符号化効率を低めに設定する場合等、多
値記録化による記憶容量の増加を有効に利用できない可
能性がある。
【0046】本発明の目的は、十分なデータ信頼率が得
られるとともに、メモリチップの記憶素子のデータ信頼
率の変化に柔軟に対応することができる記憶装置を提供
することにある。
【0047】
【課題を解決するための手段】本発明に係る記憶装置
は、データを記憶する記憶手段と、当該記憶手段に対す
るデータの読み書きを制御する制御手段とを備えた記憶
装置である。そして、前記記憶手段は、データを格納す
るメモリ手段と、当該メモリ手段に書き込むデータの誤
り訂正符号化を行い、また、前記メモリ手段から読み出
したデータの誤り検出及び誤り訂正を行う内部ECC手
段とを備え、当該内部ECC手段によって行った誤り訂
正に関する信頼性情報を出力し、前記制御手段は、前記
記憶手段に書き込むデータの誤り訂正符号化を行い、ま
た、前記記憶手段から読み出したデータの誤り検出及び
誤り訂正を行う外部ECC手段を備え、前記外部ECC
手段は、前記記憶手段から出力された信頼性情報を利用
して誤り訂正を行うことを特徴とする。
【0048】この場合、前記制御手段は、ホストから書
き込まれたデータを、外部ECC手段によって、外符号
化し、前記記憶手段は、前記制御手段によって書き込ま
れた外符号を、内部ECC手段によって、内符号化し、
前記メモリ手段に書き込むようにしてもよい。
【0049】また、複数の動作モードを持ち、例えば、
第1の動作モードでは、前記外部ECC手段のみによる
符号化を行い、第2の動作モードでは、前記内部ECC
手段のみによる符号化を行い、第3の動作モードでは、
前記外部ECC手段及び内部ECC手段による積符号化
を行うようにしてもよい。
【0050】本発明に係るコントローラは、データの記
憶を行う記憶手段に対するデータの読み書きを制御する
コントローラである。そして、前記記憶手段に書き込む
データを誤り訂正符号化し、また、前記記憶手段から読
み出したデータの誤りの有無を検出し、誤りが検出され
た場合に当該データの誤りを訂正する外部ECC手段を
有し、前記外部ECC手段は、前記記憶手段から出力さ
れた、誤り訂正に関する信頼性情報を利用して、読み出
しデータの誤り訂正を行うことを特徴とする。
【0051】本発明に係るメモリチップは、データを格
納するメモリ手段と、当該メモリ手段に書き込むデータ
の誤り訂正符号化を行い、また、前記メモリ手段から読
み出したデータの誤り検出及び誤り訂正処理を行う内部
ECC手段とを備え、当該内部ECC手段で行われた誤
り訂正処理に関する信頼性情報を出力することを特徴と
する。
【0052】この場合において、前記内部ECC回路
は、その動作モードに応じて、誤り訂正能力を変更でき
るようにしてもよい。
【0053】また、以上の場合において、前記内部EC
C手段及び外部ECC手段は、誤り訂正符号としてシン
ボル単位訂正符号で、組織符号となる巡回符号(例え
ば、リードソロモン符号)を用いるようにしてもよい。
【0054】また、前記内部ECC手段及び外部ECC
手段は、それぞれ、データの誤り訂正符号化を行う誤り
訂正符号生成手段と、データの誤りの有無を検出する誤
り検出手段と、データに誤りが検出された場合に、当該
データの誤りを訂正する誤り訂正手段とを備えるように
してもよい。
【0055】また、前記信頼性情報は、ある特定の規則
によって重み付けがなされるようにしてもよい。
【0056】
【発明の実施の形態】以下、図面を参照しつつ、本発明
の実施の形態について詳細に説明する。
【0057】図1は、本発明によるディジタル情報記憶
装置の概要を示す図である。同図に示すように、本発明
によるディジタル情報記憶装置101は、メモリチップ
102とインターフェースLSI106とを備え、シス
テムバス109に接続される。ディジタル情報記憶装置
101は、システムバス109を介して、ホスト等とデ
ィジタル情報の受け渡しを行い、ホストから書き込まれ
たディジタル情報を記憶する。
【0058】メモリチップ102は、メモリ103と内
部ECC回路104とを備える。メモリ103は、半導
体を利用した記憶媒体で、データの記憶を行う。内部E
CC回路104は、メモリチップ102に書き込まれた
データのECC符号化や、メモリ103から読み出され
たデータの誤り検出・訂正を行う。また、メモリチップ
102は、内部ECC回路104で行った誤り訂正に関
する信頼性情報をチップ外部に出力する。
【0059】インターフェースLSI106は、システ
ムバス109とのインターフェース制御を行う。また、
インターフェースLSI106は、外部ECC回路10
61を備える。外部ECC回路1061は、システムバ
ス109を介して、ホスト等から渡されたデータのEC
C符号化及びメモリチップ102から読み出されたデー
タの誤り検出・訂正を行う。外部ECC回路1061
は、その動作モードに応じて、内部ECC回路104か
ら出力される信頼性情報を利用して、誤り訂正を行う。
【0060】図2は、本発明によるディジタル情報記憶
装置のより具体的な構成を示す図である。本記憶装置
は、記憶媒体として、フラッシュメモリを用いたもので
あり、フラッシュメモリカード(PC−ATAカード)
として実現したものである。
【0061】同図に示すように、フラッシュメモリカー
ド501は、メモリチップ102と、インターフェース
LSI106と、マイコン504と、DRAM505と
を備える。各構成要素は、制御信号線、ローカルアドレ
スバス、ローカルデータバスによって接続されている。
【0062】メモリチップ102は、メモリ103と内
部ECC回路104を含むICチップである。インター
フェースLSI106は、システムバス109とのイン
ターフェース制御を行うLSIであり、外部ECC回路
1061を備える。
【0063】マイコン504は、フラッシュメモリカー
ド501のコントローラの役割を担っており、中央処理
装置(CPU)5041と、ROMと、RAMとを備え
る。CPU5041は、システムバス109を介して、
ホストから送られてきた命令を解釈し、解釈結果に応じ
て、メモリチップ102に対するデータの読み書きや、
DRAM505に対するデータの読み書きを制御する。
【0064】DRAM505は、ホストとメモリチップ
102との間でデータのやり取りを行う際、データのバ
ッファの役目を担う補助メモリである。
【0065】図3は、図2に示したフラッシュメモリカ
ード501の具体的な実装イメージを示す図である。フ
ラッシュメモリカード501は、I/Fコネクタ201
を介して、例えば、ノート型PCのPCカード・スロッ
トに装着されて、記憶装置として利用される。
【0066】次に、メモリチップ102の構成について
説明する。図4は、メモリチップ102の構成を示す図
である。同図に示すように、メモリチップ102は、メ
モリ103と、デコーダ602と、内部コントローラ6
04と、スイッチ/セレクタ603と、センスアンプ・
ラッチ605と、内部ECC回路104と、I/Oバッ
ファ601とを備える。図4は、メモリバンクが2つあ
る場合を示しており、各バンク毎に、デコーダ602と
センスアンプ・ラッチ605を備えている。
【0067】メモリ103は、データの記憶を行う記憶
媒体である。I/Oバッファ601は、メモリチップ1
02の外部からローカルデータバスを介して送られてき
たデータや、内部ECC回路104から送られてきたデ
ータのバッファの役目を担う補助メモリである。デコー
ダ602は、データの読み書きを行う際、ローカルアド
レスバスを介して渡されるアドレスをデコードし、メモ
リ103上でのデータアクセス位置を制御する。スイッ
チ/セレクタ603は、メモリ103へのデータ書き込
み時あるいはメモリ103からのデータ読み出し時に、
内部コントローラ604からの制御信号に応じて、メモ
リ103の各バンクと内部ECC回路104との間のデ
ータ入出力の切り替えを行う回路である。
【0068】内部コントローラ604は、メモリチップ
102内部の各構成要素の制御を行う回路である。セン
スアンプ・ラッチ605は、メモリ103に対するデー
タの読み書き時に、読み出しデータの検出及び増幅やデ
ータの保持を行う。
【0069】内部ECC回路104は、メモリ103に
書き込むデータの符号化を行い、また、メモリ103か
ら読み出したデータの誤り検出及び誤り訂正を行う。
【0070】次に、内部ECC回路104及び外部EC
C回路1061について説明する。
【0071】本実施形態では、内部ECC回路104と
外部ECC回路1061で共有して用いるECCにRS
符号を用いる。なお、データの誤り訂正、検出に用いる
ECCは、これに限られず、シンボル単位訂正符号で、
組織符号となる巡回符号であれば何を用いても構わな
い。
【0072】また、内部ECC回路104の訂正能力
は、2バイト、外部ECC回路1061の訂正能力は、
5バイトとする。なお、内部ECC回路104の訂正能
力をaバイト、外部ECC回路1061の訂正能力をb
バイトとすると、a,bは、a≦bなる整数であれば、
どのような値でもよい。
【0073】また、本実施形態では、システムバスを介
したホスト等からの情報データの読み込み/書き込み単
位は、512バイトとし、用いるガロア体は、512バ
イトの情報データを一括して変換でき、1シンボルを1
バイトに対応させることができる最小のガロア体という
条件から、2の10乗とする。すなわち、1シンボルの
ビット数は、10ビットである。
【0074】この場合、情報データ部については、各E
CC回路内部では、8ビットのデータに、例えば、2ビ
ットの0をつけて、10ビットのシンボルとして扱い、
実際にメモリ103に格納するときは、8ビットのまま
記録する。一方、冗長データ部を格納する際には、バイ
ト単位で情報を記録するとした時の最小バイト数で書き
込むものとする。例えば、4シンボル(=40ビット)
の冗長データ部は、5バイトの領域を使って格納する。
なお、冗長データ部の格納方法は、これに限られず、例
えば、各シンボルを2バイトの領域に格納するようにし
てもよい。以下では、シンボルという言葉を、ECC回
路内部での演算を行う際の単位を指す言葉として用い
る。
【0075】本実施形態は、動作モード制御信号sig_1
で指定される動作モードによって、外部ECC回路10
61及び内部ECC回路104の符号化時及び復号時の
動作が異なる。なお、動作モード制御信号sig_1の値
は、例えば、特定のレジスタの設定や、ジャンパーピン
の設定で指定される。
【0076】図5は、動作モード制御信号sig_1と各E
CC回路104、1061の動作との対応関係を示す表
である。この場合、動作モード制御信号sig_1は、4ビ
ットの信号で、図5の表の示した値以外の値は用いない
こととする。
【0077】図5のECC回路の動作の欄で、1行で表
記されている場合は、符号化時と復号時とで、訂正能力
(符号化の単位となるバイト長および付加する冗長シン
ボル数)及び訂正処理が一致していることを示す。一
方、上下二段に表記されている個所は、符号化時と復号
時とで各ECC回路における動作が異なることを示す。
この場合、上段が符号化時の動作、下段が復号時の動作
を示す。
【0078】同図に示すように、動作モード制御信号si
g_1=「0010」の場合、内部ECC回路104は、動作
せず、外部ECC回路1061は、512バイトの情報
データに対して、5バイトまでの誤り訂正可能な誤り訂
正符号化及び誤り訂正処理を行う。
【0079】動作モード制御信号sig_1=「1111」の場
合は、積符号による誤り訂正符号化及び復号を行う。積
符号では、情報データが正方マトリクスデータに近いほ
ど符号化効率が良いため、本実施形態では、512バイ
トの情報データを、16バイト×32バイトのマトリク
スデータとして扱う。すなわち、内部ECC回路104
は、16バイトの情報データに対して、2バイトまでの
誤り訂正可能な誤り訂正符号化及び誤り訂正処理を行
う。また、外部ECC回路1061は、32バイトの情
報データに対して、5バイトまでの誤り訂正可能な誤り
訂正符号化及び誤り訂正処理を行う。
【0080】動作モード制御信号sig_1=「1000」の場
合は、内部ECC回路104は、512バイトの情報デ
ータに対して、2バイトまでの誤り訂正可能な誤り訂正
符号化及び誤り訂正処理を行う。この場合、外部ECC
回路1061は、動作を行わない。
【0081】動作モード制御信号sig_1=「0100」の場
合は、内部ECC回路104は、符号化時、512バイ
トの情報データに対して、5バイトまでの誤り訂正可能
な誤り訂正符号化を行う。一方、復号時には、512バ
イトの情報データ及び10シンボルの冗長データに対し
て、内部ECC回路104で可能な2バイトまでの誤り
訂正処理を行う。なお、内部ECC回路104では、5
バイトまでの誤り検出は可能である。また、この場合
も、外部ECC回路1061は、動作を行わない。
【0082】動作モード制御信号sig_1=「0110」の場
合は、内部ECC回路104は、符号化時、512バイ
トの情報データに対して、5バイトまでの誤り訂正可能
な誤り訂正符号化を行う。一方、復号時には、動作を行
わない。また、外部ECC回路1061は、符号化時、
動作を行わず、復号時に、512バイトの情報データ及
び10シンボルの冗長データに対して、5バイトまでの
誤り訂正可能な誤り訂正処理を行う。すなわち、動作モ
ード制御信号sig_1=「0110」の場合、誤り訂正符号化
は、内部ECC回路104で行い、誤り訂正処理は、外
部ECC回路1061で行う。
【0083】次に、外部ECC回路1061の構成につ
いて説明する。図6は、外部ECC回路1061の構成
を示す図である。
【0084】同図に示すように、外部ECC回路106
1は、8−10変換器1701と、シンドローム/符号
生成手段1702と、誤り訂正処理開始判定手段170
3と、誤り評価式生成手段1704と、誤り位置・誤り
値検索手段1705と、消失位置計算手段1706と、
訂正不能誤り検出手段1707と、誤り訂正手段170
8と、10−8変換器1709とを備える。
【0085】8−10変換器1701は、外部ECC回
路1061に入力される8ビットのデータを10ビット
のシンボルに変換する。例えば、情報データ部の場合
は、2ビットの0を追加する。また、冗長データの場合
は、例えば、2つのバイトから、10ビットのシンボル
を抽出する。
【0086】シンドローム/符号生成手段1702は、
ホストから渡されたデータを符号化し、また、メモリチ
ップ102から読み出したデータからシンドロームを生
成する。シンドローム/符号生成手段1702の詳細に
ついては、後述する。
【0087】誤り訂正処理開始判定手段1703は、符
号化時には、シンドローム/符号生成手段1702によ
って生成された符号を10−8変換器1709に出力
し、復号時には、誤り訂正処理の開始を判定する。
【0088】誤り評価式生成手段1704は、シンドロ
ームまたは行データ信頼性情報からデータ誤り個数を判
定する。誤り位置・誤り値検索手段1705は、誤り評
価式生成手段1704によって生成された情報から、デ
ータ誤りの位置および誤り値の検索を行う。
【0089】消失位置計算手段1706は、内部ECC
回路104から渡される行データ信頼性情報から消失位
置を計算する。訂正不能誤り検出手段1707は、デー
タ誤りの位置および誤り値を用いて、訂正能力を超えた
誤りを検出する。
【0090】誤り訂正手段1708は、誤り位置・誤り
値検索手段1705から得られた誤り位置、誤り値を用
いて、メモリチップ102から読み出したデータの誤り
を訂正する。例えば、誤り位置のシンボルに対して、誤
り値をXORすることで訂正を行う。
【0091】10−8変換器1709は、10ビットの
シンボルを8ビットデータに変換する。例えば、情報デ
ータ部の場合は、8−10変換器1701で追加した2
ビットを削除する。また、冗長データ部の場合は、10
ビットのシンボルを、2つのバイトに分けて出力する。
【0092】次に、前述したシンドローム/符号生成手
段1702の詳細について説明する。図7は、シンドロ
ーム/符号生成手段1702の構成を示す図である。
【0093】同図に示すように、シンドローム/符号生
成手段1702は、シフトレジスタ部2101と、ビッ
ト乗算部2102と、スイッチSW11、SW12、S
W13とを備える。
【0094】シフトレジスタ部2101は、10ビット
のフリップフロップDが10段構成になったものであ
る。ビット乗算部2102は、入力されたデータに次数
に応じた定数を乗じるビット乗算器gが10段構成にな
ったものである。スイッチSW11とSW12は、オン
オフスイッチで、スイッチSW13は、a、bの2接点
を持つ3点スイッチである。
【0095】次に、内部ECC回路104の構成につい
て説明する。図8は、内部ECC回路104の構成を示
す図である。
【0096】同図に示すように、内部ECC回路104
は、8−10変換器1801と、シンドローム/符号生
成手段1802と、誤り訂正処理開始判定手段1803
と、誤り評価式生成手段1804と、誤り位置・誤り値
検索手段1805と、訂正不能誤り検出手段1806
と、行データ信頼性情報生成手段1807と、誤り訂正
手段1808と、10−8変換器1809とを備える。
【0097】8−10変換器1801は、前述した8−
10変換器1701と同様にして、入力された8ビット
データを10ビットのシンボルに変換する。
【0098】シンドローム/符号生成手段1802は、
メモリ103に書き込むデータを符号化し、また、メモ
リ103から読み出したデータからシンドロームを生成
する。シンドローム/符号生成手段1802の詳細につ
いては、後述する。
【0099】誤り訂正処理開始判定手段1803は、符
号化時には、符号化されたデータを、10−8変換器1
809に出力し、復号時には、誤り訂正処理の開始の判
定をする。
【0100】誤り評価式生成手段1804は、シンドロ
ームからデータ誤り個数を判定する。誤り位置・誤り値
検索手段1805は、誤り評価式生成手段1804によ
って生成された情報から、データ誤りの位置および誤り
値の検索を行う。
【0101】訂正不能誤り検出手段1806は、データ
誤りの位置および誤り値を用いて、訂正能力を超えた誤
りを検出する。行データ信頼性情報生成手段1807
は、誤り位置・誤り値検索手段1805で得られた誤り
位置情報から行データ信頼性情報を生成する。
【0102】誤り訂正手段1808は、誤り位置・誤り
値検索手段1805が出力する誤り位置、誤り値を用い
て、メモリ103から読み出したデータの誤りを訂正す
る。10−8変換器1809は、前述した10−8変換
器1709と同様にして、10ビットのシンボルを8ビ
ットデータに変換する。
【0103】次に、前述したシンドローム/符号生成手
段1802の構成について説明する。
【0104】図9は、シンドローム/符号生成手段18
02の構成を示す図である。同図に示すように、シンド
ローム/符号生成手段1802は、低次側シンドローム
生成器16Aと、高次側シンドローム生成器16Bと、
データ出力部16Cと、セレクタ部16Dとを備える。
各構成要素の接続形態は、動作モード制御信号sig_1の
値によって変化する。
【0105】低次側シンドローム生成器16Aは、シフ
トレジスタ部1601と、ビット乗算部1602と、ス
イッチSW1〜SW3とを備える。シフトレジスタ部1
601は、10ビットのフリップフロップDが4段構成
になったものである。ビット乗算部1602は、入力さ
れたデータに次数に応じた定数を乗じるビット乗算器g
が4段構成になったものである。スイッチSW1〜SW
3は、オンオフスイッチである。
【0106】高次側シンドローム生成器16Bは、シフ
トレジスタ部1604と、ビット乗算部1605と、ス
イッチSW5、SW7とを備える。シフトレジスタ部1
604は、10ビットのフリップフロップDが6段構成
になったものである。ビット乗算部1605は、入力さ
れたデータに、次数に応じた定数を乗じるビット乗算器
gが6段構成になったものである。スイッチSW5、S
W7は、オンオフスイッチである。
【0107】データ出力部16Cは、a、bの2接点を
持つ3点スイッチSW6を備える。
【0108】セレクタ部16Dは、動作モード制御信号
sig_1の値によって、低次側シンドローム生成器16A
と、高次側シンドローム生成器16Bと、データ出力部
16Cとの間の接続を変更する。セレクタ部16Dは、
セレクタ1〜5と、インバータINVとを備える。
【0109】セレクタ1及びセレクタ2は、2入力1出
力セレクタで、動作モード制御信号sig_1の最上位ビッ
トの値が「1」の時、黒丸側を選択し、「0」の時、白
丸側を選択するセレクタである。
【0110】セレクタ3、セレクタ4及びセレクタ5
は、1入力1出力ゲートで、セレクタ信号線2の値が
「1」の時、すなわち、動作モード制御信号sig_1の最
上位ビットが「0」の時、入力されたデータをそのまま
出力し、セレクタ信号線2の値が「0」の時、すなわ
ち、動作モード制御信号sig_1の最上位ビットが「1」
のとき、入力されたデータを出力しない。
【0111】低次側シンドローム生成器16A及び高次
側シンドローム生成器16Bは、外部ECC回路106
1のシンドローム/符号生成手段1702と、符号生成
時のガロア体の元を同一にするためフリップフロップD
のビット数を同一にし、符号生成多項式が同一になるよ
うに、ビット乗算部の各定数gを定めている。
【0112】次に、以上説明したような構成を有するフ
ラッシュメモリカード501におけるデータ書き込み時
の処理について説明する。
【0113】まず、データ書き込み時のデータパスにつ
いて説明する。
【0114】図10は、動作モード制御信号sig_1の値
に応じたデータパスの変化の様子を概念的に示す図であ
る。
【0115】前述したように、動作モード制御信号sig_
1の値が「0010」の場合、内部ECC回路104は使用
されない。従って、データパスは、1、2,4,6,8
の順になる。すなわち、ホスト等からフラッシュメモリ
カード501に書き込まれたデータは、まず、外部EC
C回路1061に渡され、外部ECC回路1061によ
って符号化され、その後、内部ECC回路104によっ
て符号化されることなく、メモリ103に書き込まれ
る。
【0116】また、動作モード制御信号sig_1の値が「1
111」の場合、データパスは1,2,4,5,7,8と
なる。すなわち、ホスト等からフラッシュメモリカード
501に書き込まれたデータは、まず、外部ECC回路
1061に渡され、外部ECC回路1061によって、
外符号に符号化される。その後、内部ECC回路104
に渡され、内部ECC回路104によって内符号に符号
化され、メモリ103に書き込まれる。
【0117】動作モード制御信号sig_1の値が「100
0」、「0100」、「0110」の場合、データパスは1,
3,5,7,8となる。すなわち、ホスト等からフラッ
シュメモリカード501に書き込まれたデータは、外部
ECC回路1061によって符号化されることなく、メ
モリチップ102に書き込まれ、内部ECC回路104
によって符号化された後、メモリ103に書き込まれ
る。
【0118】次に、データ書き込み時の符号化処理の詳
細について説明する。
【0119】図11は、データ書き込み時の符号化処理
の流れを示す図である。
【0120】フラッシュメモリカード501では、前述
したように、その動作モードによって行う符号化処理が
異なるので、まず、動作モード制御信号sig_1の値が「1
111」であるか否かを判別する(S1101)。
【0121】その結果、動作モード制御信号sig_1の値
が「1111」の場合(S1101:YES)、512バイトのデー
タを積符号化(外符号化)するため、外部ECC回路1
061に入力する前に、情報データの並べ替えを行う
(S1102)。前述したように、本実施形態では、512
バイトの情報データを、16バイト×32バイトのマト
リクスデータとして扱う。外部ECC回路1061は、
適宜並べ替えて入力される512バイトのデータを、3
2バイトごとに符号化する(S1104)。情報データの並
べ替え及び符号化処理の詳細については、後述する。
【0122】一方、動作モード制御信号sig_1の値が「1
111」でない場合は(S1101:NO)、続けて、動作モード
制御信号sig_1の値が「0010」であるか否かを判定する
(S1103)。その結果、動作モード制御信号sig_1の値が
「0010」の場合(S1103:YES)、外部ECC回路106
1は、入力される512バイトの情報データを、5バイ
トまでの誤り訂正が可能な(512+10)シンボルの
符号に符号化する(S1104)。ここでの外部ECC回路
1061による符号化処理の詳細については、後述す
る。
【0123】一方、動作モード制御信号sig_1の値が「0
010」でない場合(S1103:NO)、すなわち、「1000」、
「0100」又は「0110」の場合、512バイトのデータ
は、外部ECC回路1061による符号化を行うことな
しに、そのまま内部ECC回路104に渡される。
【0124】以上のようにして、メモリチップ102外
部での処理が終了すると、続いて、メモリチップ102
内部での符号化処理に移る。メモリチップ102内部の
符号化処理もその動作モードによって異なるので、ま
ず、動作モード制御信号sig_1の値が「0010」であるか
否かの判定を行う(S1105)。
【0125】その結果、動作モード制御信号sig_1の値
が「0010」の場合(S1105:YES)、内部ECC回路10
4では符号化を行わず、例えば、メモリチップ102
に、バイト単位でシーケンシャルに書き込まれる512
バイトの情報データ+10シンボルの冗長データを、メ
モリ103にそのまま書き込み(S1107)、データ書き
込み処理が終了する。
【0126】一方、動作モード制御信号sig_1の値が「0
010」でない場合(S1105:NO)、内部ECC回路104
は、その動作モードに応じた内部符号化を行う(S110
6)。ここでの内部ECC回路104による符号化処理
の詳細については、後述する。内部ECC回路104に
よって符号化された情報データは、メモリ103に書き
込まれ(S1107)、データ書き込み処理が終了する。
【0127】次に、外部ECC回路1061及び内部E
CC回路104による符号化処理の詳細について説明す
る。
【0128】まず、外部ECC回路1061及び内部E
CC回路104によって、512バイトの情報データを
積符号化する場合(動作モード制御信号sig_1=「111
1」の場合)について説明する。
【0129】図12は、本実施形態で採用する積符号の
構成の概念を示す図である。同図に示すように、512
バイトの情報データを、16バイト×32バイトのマト
リクスデータとして考え、外符号C1は、32バイトの
列データを符号化し、内符号C2は16バイトの行デー
タを符号化する。符号化する情報量は、1行あたり16
×8=128ビット、1列あたり32×8=256ビッ
トになる。
【0130】また、外部ECC回路1061の訂正能力
は5シンボルだから、1つの列データの符号化に必要な
冗長シンボル長は、10シンボル(=10×10÷8=
13バイト)になる。また、内部ECC回路104の訂
正能力は、2シンボルだから、1つの行データの符号化
に必要な冗長シンボル長は4シンボル(4×10÷8=
5バイト)になる。
【0131】前述したように、本実施形態では、冗長シ
ンボルは、バイト単位で情報を記録するとした時の最小
バイト数で書き込むものとするので、外符号C1の冗長
データ部R1の格納には、13×16=208バイトの
領域が必要となる。また、内符号C2の冗長データ部R
2の格納には、5×42=210バイトの領域が必要と
なる。
【0132】実際にメモリ103に格納されるときは、
情報データは、512バイトの1次元配列データとして
格納されるため、マトリクスデータへの実際の変換は必
ずしも必要ではなく、1次元配列データのままで扱って
もよい。以下の説明では情報データを1次元配列データ
として扱う。
【0133】図13は、512バイトの1次元配列デー
タから外符号C1の情報データ部を抽出し、冗長データ
部を生成する方法を示す図である。ホストからフラッシ
ュメモリカード501に書き込まれた512バイトのデ
ータは、一旦、DRAM505に格納される。そして、
マイコン504は、まず、先頭の1バイトのデータを読
み出し、外部ECC回路1061に入力する。次に、デ
ータアドレスを15バイトスキップして、1バイトのデ
ータを読み出し、外部ECC回路1061に入力する。
このように、16バイト毎のデータを順次読み出して、
読み出したデータを順次、外部ECC回路1061に入
力する。これを32回繰り返し、32バイトの列データ
を外部ECC回路1061に入力する。32バイトの列
データの入力が終了すると、今度は、この32バイトの
列データに対して生成された10シンボルの冗長データ
を外部ECC回路1061から読み出して、これをDR
AM505の所定の領域、例えば、情報データ部の後ろ
に格納する。
【0134】以上の操作が終了すると、今度は、前から
2バイト目から、16バイト毎にデータを読み出し、以
上と同様の操作を行う。このような処理を16回、すな
わち、図12に示したマトリックスの第1列〜第16列
について行い、10シンボルの冗長データを16個分生
成する。
【0135】以上のようにして、外部ECC回路106
1は、512バイトのデータを32バイトごとに符号化
する。
【0136】次に、この時の外部ECC回路1061内
の動作について説明する。
【0137】外部ECC回路1061に入力された8ビ
ットのデータは、まず、8−10変換器1701によ
り、10ビットに変換されたあと、シンドローム/符号
生成生手段1702に入力される。
【0138】このとき、図7に示したシンドローム/符
号生成生手段1702では、スイッチSW11、SW1
2がオンにされ、SW13のb側が選択されている。こ
のような状態のシンドローム/符号生成生手段1702
において、情報データは、1シンボルずつ、入力端子か
ら、スイッチSW11、SW12を介して、ビット乗算
部2102及びシフトレジスタ部2101に順次入力さ
れる。また、情報データは、それと同時に、スイッチS
W13を通って、そのまま出力端子に出力される。そし
て、32バイトすべての情報データの入力が終了する
と、シフトレジスタ部2101に、10段×10ビット
の冗長データが保持されていることになる。以上のよう
にして、32バイトの情報データに対して、10シンボ
ルの冗長データが生成される。
【0139】次に、以上のようにして生成された10シ
ンボルの冗長データを出力端子から出力する。そのた
め、スイッチSW13のa側を選択し、スイッチSW1
1、SW12を、オフとする。このとき、ビット乗算部
2102には、0が入力されるため、シフトレジスタ部
2101の各フリップフロップDの値、すなわち、冗長
データは、そのまま高次の項からSW13を通って出力
される。
【0140】シンドローム/符号生成手段1702から
出力された10ビットのデータは、10−8変換器17
09で、8ビットのデータに変換された後、外部ECC
回路1061の外部に出力される。
【0141】以上の操作が16回繰り返されることで、
512バイトのデータから42×16シンボルの外符号
が生成される。
【0142】以上のようにして外符号化が終了すると、
次に、生成された外符号のメモリチップ102に対する
書き込みが行われる。この外符号のメモリチップ102
への書き込みでは、冗長データ部は、10シンボル×1
6個からなるR1を16シンボル×10個のデータへ変
換して書き込まれる。
【0143】図13の場合、冗長データ部R1におい
て、1シンボル読み取るごとにデータアドレスを9シン
ボルずつスキップする。これを16回繰り返し16シン
ボルの列データを生成する。この操作を10回繰り返し
て、10個の列データを生成する。
【0144】以上のようにしてメモリチップ102に書
き込まれる16×42シンボルのデータは、8ビット毎
に、内部ECC回路104に順次入力され、16シンボ
ル単位で、内符号C2に符号化される。
【0145】次に、この時の内部ECC回路104内の
動作について説明する。
【0146】内部ECC回路104に入力された8ビッ
トのデータは、まず、8−10変換器1801で10ビ
ットのシンボルに変換された後、シンドローム/符号生
成手段1802に入力される。
【0147】このとき、図9に示したシンドローム/符
号生成手段1802では、セレクタ部16Dによって、
端子1と端子9、端子3と端子10が接続され、低次側
シンドローム生成器16Aとデータ出力部16Cが接続
される。また、スイッチSW1、SW2、SW3がオン
とされ、スイッチSW6は、a側が選択される。
【0148】このような状態において、情報データは、
1シンボルずつ、スイッチSW1、SW2を介して、ビ
ット乗算部1602及びシフトレジスタ部1601に順
次入力されると同時に、スイッチSW6を通って、出力
端子に出力される。16バイトの情報データの入力が終
了すると、シフトレジスタ部1601に、4段×10ビ
ットの冗長データが保持されていることになる。
【0149】次に、この4シンボルの冗長データをシン
ドローム/符号生成手段1802から出力する。そのた
め、スイッチSW6のb側を選択し、スイッチSW1、
SW2、SW3は、オフとする。このとき、ビット乗算
部1602には、0が入力されるため、シフトレジスタ
部1601の各フリップフロップDの値、すなわち、冗
長データは、そのまま高次の項からスイッチSW6を通
って出力される。
【0150】シンドローム/符号生成手段1802から
出力された10ビットのデータは、10−8変換器18
09で、8ビットのデータに変換された後、内部ECC
回路104の外部に出力され、メモリ103に書き込ま
れる。
【0151】以上のような操作を(32+10)回繰り
返すことで、内符号C2の生成が終了する。
【0152】次に、積符号化以外の符号化処理の詳細に
ついて説明する。
【0153】まず、外部ECC回路1061によって、
512バイトの情報データを、5バイトまでの誤り訂正
可能な(512+10)シンボルの符号に符号化する場
合(動作モード制御信号sig_1=「0010」の場合)につ
いて説明する。
【0154】この時の外部ECC回路1061のシンド
ローム/符号生成生手段1702における動作は、前述
した積符号化時の場合(動作モード制御信号sig_1の値
=「1111」の場合)とほぼ同様である。
【0155】すなわち、スイッチSW11、SW12が
オンにされ、SW13のb側が選択されたシンドローム
/符号生成生手段1702において、情報データは、1
シンボルずつ、入力端子から、スイッチSW11、SW
12を介して、ビット乗算部2102及びシフトレジス
タ部2101に順次入力され、それと同時に、スイッチ
SW13を通って、そのまま出力端子に出力される。そ
して、512バイトの情報データの入力が終了すると、
シフトレジスタ部2101に、10段×10ビットの冗
長データが保持されていることになる。以上のようにし
て、512バイトの情報データに対して、10シンボル
の冗長データが生成される。
【0156】次に、このようにして生成された冗長デー
タを、前述した積符号化時の場合と同様にして、シンド
ローム/符号生成手段1702から出力する。
【0157】以上のようにして、512バイトの情報デ
ータから、(512+10)シンボルの符号が生成され
る。
【0158】次に、内部ECC回路104によって、5
12バイトのデータを2バイトまでの誤り訂正可能な
(512+4)シンボルの符号に符号化する場合(動作
モード制御信号sig_1=「1000」の場合)について説明
する。
【0159】この場合の内部ECC回路104のシンド
ローム/符号生成手段1802における動作も、前述し
た積符号化時の場合とほぼ同様である。
【0160】すなわち、セレクタ部16Dによって、低
次側シンドローム生成器16Aとデータ出力部16Cが
接続され、スイッチSW1、SW2、SW3がオンとさ
れ、スイッチSW6のa側が選択されたシンドローム/
符号生成手段1802において、情報データは、1シン
ボルずつ、スイッチSW1、SW2を介して、ビット乗
算部1602及びシフトレジスタ部1601に順次入力
されると同時に、スイッチSW6を通って、出力端子に
出力される。512バイトすべての情報データの入力が
終了すると、シフトレジスタ部1601に、4段×10
ビットの冗長データが保持されていることになる。
【0161】次に、この4シンボルの冗長データを、前
述したのと同様にして、シンドローム/符号生成手段1
802から出力する。
【0162】以上のようにして、512バイトの情報デ
ータから、(512+4)シンボルの符号が生成され
る。
【0163】次に、内部ECC回路104によって、5
12バイトのデータを5バイトまでの誤り訂正可能な
(512+10)シンボルの符号に符号化する場合(動
作モード制御信号sig_1=「0100」または「0110」の場
合)について説明する。
【0164】この場合、内部ECC回路104のシンド
ローム/符号生成回路1802は、右から低次側シンド
ローム生成器16A、高次側シンドローム生成器16
B、データ出力部16Cの順に接続され、外部ECC回
路1061のシンドローム/符号生成回路1702と同
様の構成になる。そして、動作モード制御信号sig_1の
値が「0010」の場合の外部ECC回路1061と同様に
して、10シンボルの冗長データを生成し、512バイ
トの情報データを5バイト訂正可能な符号へ符号化す
る。
【0165】次に、データ読み出し時の処理について説
明する。
【0166】まず、データ読み出し時のデータパスの変
化について説明する。図14は、動作モード制御信号si
g_1の値に応じたデータパスの変化の様子を概念的に示
す図である。同図において、例えば、「**10」とある場
合、「**」の部分は、任意の値を意味する。
【0167】まず、前述したように、動作モード制御信
号sig_1の値が「0010」又は「0110」(すなわち、「**1
0」)の場合、内部ECC回路104による誤り検出・
訂正処理は行わない。従って、データパスは、図14に
示した8、6、4、2、1の順になる。すなわち、メモ
リ103から読み出されたデータは、内部ECC回路1
04で誤り検出・訂正処理が行われることなく、そのま
ま、メモリチップ102の外部に出力される。メモリチ
ップ102の外部に出力されたデータは、外部ECC回
路1061に入力され、誤り検出・訂正処理が行われ
る。外部ECC回路1061により誤り検出・訂正処理
が行われたデータは、フラッシュメモリカード501の
外部に渡される。
【0168】また、動作モード制御信号sig_1の値が「1
000」又は「0100」(すなわち、「**00」)の場合、デ
ータパスは、8、7、5、3、1となる。すなわち、メ
モリ103から読み出されたデータは、内部ECC回路
104に入力され、誤り検出・訂正処理が行われる。内
部ECC回路104によって誤り検出・訂正が行われた
データは、メモリチップ102の外部に出力される。メ
モリチップ102から出力されたデータは、外部ECC
回路1061で誤り検出・訂正処理が行われることな
く、フラッシュメモリカード501の外部に出力され
る。
【0169】また、動作モード制御信号sig_1の値が「1
111」の場合、データパスは、8、7、5、4、2、1
となる。すなわち、メモリ103から読み出されたデー
タは、内部ECC回路104及び外部ECC回路106
1の両方で、積符号による誤り検出・訂正処理が行われ
る。
【0170】次に、内部ECC回路104による復号処
理について説明する。図15は、内部ECC回路104
による復号処理の流れを示す図である。
【0171】メモリ103から読み出されたデータを内
部ECC回路104で復号するか否かは、前述したよう
に、その動作モードによるので、まず、動作モード制御
信号sig_1が「**10」であるか否かを判別する(S120
1)。その結果、動作モード制御信号sig_1の値が「**1
0」(具体的には、「0010」または「0110」)の場合(S
1201:YES)、内部ECC回路104では復号を行わ
ず、メモリ103から読み出されたデータ(情報データ
+冗長データ)をそのまま外部ECC回路1061に出
力する。
【0172】一方、動作モード制御信号sig_1の値が「*
*10」でない場合は(S1201:NO)、内部ECC回路10
4による復号処理を行う。符号の復号単位は、動作モー
ド制御信号sig_1の値が「1000」の場合、(512+
4)シンボル、「1111」の場合は、(16+4)シンボ
ル、「0100」の場合、(512+10)シンボルであ
る。
【0173】内部ECC回路104による復号を行う場
合は、最初に、前述した復号単位について、Snの値を
計算する(S1203)。この計算は、シンドローム/符号
生成手段1802で行われる。
【0174】このときのシンドローム/符号生成手段1
802の回路構成は、動作モード制御信号sig_1の値が
「1111」又は「1000」の場合は、右から低次側シンドロ
ーム生成器16A、データ出力部16Cの順に接続さ
れ、動作モード制御信号sig_1の値が「0100」の場合
は、低次側シンドローム生成器16A、高次側シンドロ
ーム生成器16B、データ出力部16Cの順に接続され
る。これは、符号生成時と符号長を一致させてSnを計
算するためである。
【0175】そして、情報データ及び冗長データを、シ
ンドローム/符号生成手段1802に順次入力し、前述
した一復号単位の入力が終了すると、読み出したデータ
に対する誤りの有無を調べるため、Sn=all0である
か否かの判定を行う(S1204)。これは、シンドローム
/符号生成手段1802のシフトレジスタ部の各フリッ
プフロップDの値で判定する。フリップフロップDの値
がすべて0の場合が、Sn=all0に相当する。
【0176】判定の結果、Sn=all0の場合は(S120
4:YES)、読み出したデータに誤りがないと判断し、内
部ECC回路104における符号の情報データ部を、メ
モリチップ102の外部に出力し、内部ECC回路10
4の復号処理を終了する。
【0177】一方、Sn=all0でない場合は(S1204:
NO)、読み出したデータに誤りが発生したと判断し、誤
り位置多項式σ(x)を計算する。これは、図8に示した
誤り評価式生成手段1804が行う。そして、誤り位置
多項式σ(x)が求まるか否かを判別する(S1205)。
【0178】その結果、誤り位置多項式σ(x)が求まる
場合は(S1205:YES)、誤り位置・誤り値検索手段18
05を用いて、誤りの位置、値を計算し、誤り訂正処理
を行う(S1206)。その後、誤り訂正処理が正常に終了
したか否かを判別する(S1207)。
【0179】その結果、誤り訂正処理が正常に終了した
場合は(S1207:YES)、誤り訂正の個数に応じ
て、行データの信頼性情報aiを算出する。行データ信頼
性情報aiの算出は、行データ信頼性情報生成手段180
7が行う。内部ECC回路104の訂正能力が2バイト
の場合、数式(15)を用いて計算すると、aiの値は、
訂正不能、2バイト訂正、1バイト訂正、訂正無しの順
に、0、1/5、3/5、1の4値となる。
【0180】そして、内部ECC回路104における符
号の情報データ部及び行データの信頼性情報aiを外部に
出力し(S1209)、内部ECC回路104の復号処理を
終了する。
【0181】一方、誤り訂正処理が正常に終了しなかっ
た場合は(S1207:NO)、訂正能力を超える誤りが発生
したと判定し、訂正不能誤り検出情報を出力し、行デー
タの信頼性情報aiを0とする(S1208)。そして、内部
ECC回路104における符号の情報データ部及び行デ
ータの信頼性情報aiを出力し(S1209)、内部ECC回
路104の復号処理を終了する。
【0182】また、誤り位置多項式σ(x)が求まらない
場合(S1205:NO)、つまり、Snからσ(x)を求めた後
でσ(x)の解が求まらない場合、あるいは解が範囲外の
場合も、訂正能力を超える誤りが発生したと判定し、訂
正不能誤り検出情報を出力し(S1208)、更に、行デー
タの信頼性情報aiを0として出力する(S1209)。
【0183】以上のようにして、内部ECC回路104
による復号処理が行われる。
【0184】次に、外部ECC回路1061による復号
処理について説明する。
【0185】図16は、外部ECC回路1061による
復号処理の流れを示す図である。
【0186】最初に、外部ECC回路1061に入力さ
れたデータについて、どのような復号処理を行うかを判
断するため、まず、動作モード制御信号sig_1の値が、
「**00」か否かを判定する(S1301)。
【0187】その結果、動作モード制御信号sig_1の値
が、「**00」(具体的には、「1000」又は「0100」)の
場合(S1301:YES)、外部ECC回路1061による復
号処理は行われず、メモリチップ102から出力される
データがそのままホスト等に渡される。一方、動作モー
ド制御信号sig_1の値が「**00」ではない場合(S1301:
NO)、続いて、動作モード制御信号sig_1の値が「111
1」か否かを判定する(S1302)。その結果、動作モード
制御信号sig_1の値が「1111」の場合は(S1302:YE
S)、積符号復号を行う。この場合、メモリチップ10
2から読み出したデータを符号長42シンボルの外符号
C1として復号するため、データの並べ替えを行う(S1
303)。そして、並べ替えて入力したデータについて、
外部ECC回路1061において積符号復号を行う(S1
305)。データの並べ替え及び復号処理の詳細について
は、後述する。
【0188】また、動作モード制御信号sig_1の値が「1
111」でない場合は(S1302:NO)、外部ECC回路10
61により、符号長(512+10)シンボルの符号
(訂正能力5バイト)の復号処理を行う(S1304)。
【0189】次に、この外部ECC回路1061による
5バイト訂正復号処理S1304の詳細について説明す
る。図17は、外部ECC回路1061による5バイト
訂正復号処理の流れを示す図である。
【0190】同図に示すように、外部ECC回路106
1では、まず、メモリチップ102から読み出した(5
12+10)シンボルのデータがシンドローム/符号生
成手段1702に順次入力され、Snが計算される(S1
401)。
【0191】そして、読み出したデータに対する誤りの
有無を調べるため、Sn=all0の判定を行う(S140
2)。これは、前述した内部ECC回路104の場合と
同様に、シンドローム/符号生成手段1702のシフト
レジスタ部2101のフリップフロップDの値で判定す
る。
【0192】判定の結果、Sn=all0である場合は(S
1402:YES)、入力されたデータに誤りがないと判定
し、外部ECC回路1061は、データの誤り訂正処理
を行わない。
【0193】一方、Sn=all0でない場合は(S1402:
NO)、データに誤りが生じていると判定し、続けて、誤
り評価式生成手段1704を用いて、誤り訂正処理を行
うための誤り位置多項式σ(x)が求まるか否かを判定す
る(S1403)。
【0194】その結果、σ(x)が求まった場合は(S140
3:YES)、誤り訂正処理を行う(S1404)。すなわち、
誤り位置・誤り値検索手段1705を用いて、すべての
シンボルについて誤り検索を行った後、読み込んだデー
タの誤り訂正処理を行う。そして、誤り訂正処理が正常
に終了したか否かを判定する(S1405)。
【0195】その結果、誤り訂正処理が正常に終了した
場合は(S1405:YES)、訂正された情報データ部を出力
する。
【0196】一方、誤り訂正処理が正常に終了しなかっ
た場合は(S1405:NO)、訂正能力を超えた誤りが発生
したと判定し、訂正不能誤り検出手段1707を用い
て、訂正不能誤り検出情報を出力し(S1406)、情報デ
ータ部を訂正せずに出力する。
【0197】また、誤り評価式生成手段1704を用い
てσ(x)が求まらない場合も(S1403:NO)、訂正能力を
超えた誤りが発生したと判定し、訂正不能誤り検出手段
1707を用いて、訂正不能誤り検出情報を出力し(S1
406)、復号処理を終了する。
【0198】そして、外部ECC回路1061で付加し
た冗長データを削除し、未訂正の情報データを出力す
る。
【0199】次に、外部ECC回路1061による積符
号の復号処理S1305の詳細について説明する。この
場合、前述したように、復号処理を行う前に、メモリチ
ップ102から読み出した512バイトの情報データと
160シンボルの冗長データを外符号に変換する必要が
ある。
【0200】図18は、メモリチップ102から読み出
された16×32(=512)シンボル(バイト)の情
報データ部と16×10(=160)シンボルの冗長デ
ータ部R1からなる1次元配列データを外符号に変換す
る方法を示す図である。
【0201】最初に、1次元配列データから、32シン
ボルの外符号C1の情報データ部を抽出する。そのた
め、データを1シンボル読み取るごとにデータアドレス
を15シンボルずつスキップする。これを32回繰り返
し32シンボルの列データ(情報データ部)を生成す
る。
【0202】同様に、外符号C1の冗長データ部R1
も、1シンボル読み取るごとにデータアドレスを15シ
ンボルずつスキップする。これを10回繰り返し10シ
ンボルの列データを生成する。こうして生成された10
シンボルの冗長データ部と、32シンボルに変換した情
報データ部とを合わせて、42シンボルの列データ(外
符号)とする。
【0203】この操作をデータの先頭から順に16回繰
り返す。
【0204】以上のようにして生成された外符号C1に
対して、外部ECC回路1061によって復号処理を行
う。図19は、外部ECC回路1061による外符号の
復号処理の流れを示す図である。
【0205】同図に示すように、まず、シンドローム/
符号生成手段1702を用いて、前述した5バイト訂正
復号の場合と同様に、Snを計算する(S1501)。そし
て、入力された42シンボルの符号について、誤りの有
無を判別するため、Sn=all0であるか否かを調べる
(S1502)。
【0206】その結果、Sn=all0の場合は(S1502:
YES)、データに誤りがないと判定し、誤り訂正処理を
行わず、復号処理を終了する。
【0207】一方、Sn=all0でない場合は(S1502:
NO)、データに誤りが生じていると判定し、続けて、誤
り評価式生成手段1704を用いて、誤り訂正処理を行
うための誤り位置多項式σ(x)が求まるか否かを判定す
る(S1503)。これは、積符号の復号において、誤り位
置iの集合Fを空集合(初期値)とした場合の誤り訂正
処理に相当する。
【0208】その結果、誤り位置多項式σ(x)が求まる
場合は(S1503:YES)、次に、誤り訂正処理を行う(S1
504)。すなわち、誤り位置・誤り値検索手段1705
を用いて、すべてのシンボルについて誤り検索を行う。
そして、数式(16)が成立するか否か判定する(S150
5)。本実施形態の場合、nの初期値は0で、d1は、
11(=2×5+1)となる。
【0209】その結果、数式(16)が成立する場合は
(S1505:YES)、訂正された符号のうちの情報データ部
を出力する。
【0210】一方、数式(16)が成立しない場合は
(S1505:NO)、誤り位置の集合Fへ消失位置追加を行
う(S1506)。ここでは、消失位置計算手段1706を
用いて、集合Fに含まれない位置iで、aiが0でない
最小のもの(この場合、aiの値が1/5の値をもつ情
報)を誤り位置の集合Fへすべて追加する。また、nの
値をインクリメントする。
【0211】そして、消失位置iの総数hがd1より小
さいか否かを判別する(S1507)。hがd1より小さい場
合は(S1507:YES)、誤り評価式生成手段1704を用
いてσ(x)を再計算し(S1503)、以後前述した処理を繰
り返す。
【0212】一方、hがd1以上の場合は(S1507:N
O)、訂正能力を超えた誤りが発生したと判定し、訂正
不能誤り検出手段1707を用いて、訂正不能誤り検出
情報を出力し(S1508)、誤り訂正処理を行うことな
く、符号から冗長データを削除し、情報データを出力し
た後に復号処理を終了する。
【0213】また、誤り位置多項式σ(x)が求まらない
場合も(S1503:NO)、誤り位置の集合Fへ消失位置追
加を行い(S1506)、以後前述した処理を繰り返す。
【0214】以上説明したようなフラッシュメモリカー
ド501においては、メモリ103の多値記憶化に伴う
データ読み出し率エラーの増加に対して十分な誤り訂正
能力を持たせる事ができる。
【0215】また、RS符号を用いた内部ECC回路1
04をメモリチップ102内部に設けているので、チッ
プ単体で使用するユーザにも対応可能になる。
【0216】また、動作モード制御信号sig_1の値によ
って、データの符号化方法や復号方法を変更することが
出来るため、メモリチップ102のデータ信頼率に合わ
せて、符号化率や訂正能力を変更することも可能で、記
憶媒体の記憶容量の有効利用を図ることが出来る。
【0217】また、メモリチップ102の性能にばらつ
きがあっても、メモリチップ102内部の内部ECC回
路104および外側の外部ECC回路1061の復号方
法を変更することで、フラッシュメモリカード501全
体としてのデータ信頼率を上げることができる。そのた
め、チップの歩留まり率を上げることも可能である。
【0218】なお、前述した実施形態では、積符号化時
においても外符号C1の訂正能力を5バイトとしたが、
積符号を用いた場合では、最大訂正能力まで訂正するこ
とで誤訂正が生じることを防ぐため、最大訂正能力まで
訂正しないようにしてもよい。
【0219】また、メモリチップ102のデータ信頼率
によっては、積符号時は、例えば、訂正能力3バイト、
冗長シンボル6シンボルとして訂正能力を変更して、符
号化効率を上げることも可能である。
【0220】なお、前述したような本発明によるディジ
タル情報記憶装置は、図20に示すように、デジタルカ
メラや携帯情報端末機器、携帯電話、PHSに着脱可能
な可搬型記憶装置にも使用することができる。この場
合、記憶装置には、メモリチップ102のみを実装し、
外部ECC回路1061で行っていた誤り訂正処理等
は、PCやデジタルカメラ等の機器本体側で行うように
してもよい。
【0221】
【発明の効果】以上詳細に説明したように、本発明で
は、シンボル単位訂正を行うリードソロモン符号方式を
用いているので、多値技術を使った場合でも、十分なデ
ータ信頼率が得られる。
【0222】また、本発明では、符号化方法及び復号方
法を切り替えることができるので、メモリチップの記憶
素子のデータ信頼率の変化に柔軟に対応することができ
る。
【図面の簡単な説明】
【図1】 本発明によるディジタル情報記憶装置の概要
を示す図である。
【図2】 本発明によるフラッシュメモリカード501
の構成を示す図である。
【図3】 フラッシュメモリカード501の具体的な実
装イメージを示す図である。
【図4】 メモリチップ102の構成を示す図である。
【図5】 動作モード制御信号sig_1と各ECC回路の
動作との対応関係を示す表である。
【図6】 外部ECC回路1061の構成を示す図であ
る。
【図7】 シンドローム/符号生成手段1702の構成
を示す図である。
【図8】 内部ECC回路104の構成を示す図であ
る。
【図9】 シンドローム/符号生成手段1802の構成
を示す図である。
【図10】 データ書き込み時のデータパスの変化の様
子を概念的に示す図である。
【図11】 データ書き込み時の符号化処理の流れを示
す図である。
【図12】 実施形態で採用する積符号の構成の概念を
示す図である。
【図13】 1次元配列データから外符号C1の情報デ
ータ部を抽出し、冗長データ部を生成する方法を示す図
である。
【図14】 データ読み出し時のデータパスの変化の様
子を概念的に示す図である。
【図15】 内部ECC回路104による復号処理の流
れを示す図である。
【図16】 外部ECC回路1061による復号処理の
流れを示す図である。
【図17】 外部ECC回路1061による5バイト訂
正復号処理の流れを示す図である。
【図18】 メモリチップ102から読み出された1次
元配列データを外符号に変換する方法を示す図である。
【図19】 外部ECC回路1061による復号処理の
流れを示す図である。
【図20】 本発明によるディジタル情報記憶装置の適
用例を示す図である。
【図21】 フラッシュメモリの構成を示す図である。
【図22】 コントロールゲート電圧とドレイン電流の
関係を示す図である。
【符号の説明】
101 ディジタル情報記憶装置 102 メモリチップ 103 メモリ 104 内部ECC回路 106、503 インターフェースLSI 1061 外部ECC回路
フロントページの続き (72)発明者 辛島 哲次 東京都小平市上水本町五丁目20番1号 株 式会社日立製作所半導体グループ内 (72)発明者 小谷 博昭 東京都青梅市今井2326番地 株式会社日立 製作所デバイス開発センタ内 (72)発明者 野副 敦史 東京都青梅市今井2326番地 株式会社日立 製作所デバイス開発センタ内 (72)発明者 西谷 卓史 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 Fターム(参考) 5J065 AA01 AB01 AC03 AD03 AD04 AD11 AD13 AF02 AH06

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 データを記憶する記憶手段と、 当該記憶手段に対するデータの読み書きを制御する制御
    手段とを備えた記憶装置であって、 前記記憶手段は、 データを格納するメモリ手段と、 当該メモリ手段に書き込むデータの誤り訂正符号化を行
    い、また、前記メモリ手段から読み出したデータの誤り
    検出及び誤り訂正を行う内部ECC手段とを備え、 当該内部ECC手段によって行った誤り訂正に関する信
    頼性情報を出力し、前記制御手段は、 前記記憶手段に書き込むデータの誤り訂正符号化を行
    い、また、前記記憶手段から読み出したデータの誤り検
    出及び誤り訂正を行う外部ECC手段を備え、 当該外部ECC手段は、前記記憶手段から出力された信
    頼性情報を利用して誤り訂正を行うことを特徴とする記
    憶装置。
  2. 【請求項2】 前記制御手段は、 ホストから書き込まれたデータを、外部ECC手段によ
    って、外符号化し、 前記記憶手段は、 前記制御手段によって書き込まれた外符号を、内部EC
    C手段によって、内符号化し、前記メモリ手段に書き込
    むことを特徴とする請求項1に記載の記憶装置。
  3. 【請求項3】 第1の動作モードでは、前記外部ECC
    手段のみによる符号化を行い、第2の動作モードでは、
    前記内部ECC手段のみによる符号化を行い、第3の動
    作モードでは、前記外部ECC手段及び内部ECC手段
    による積符号化を行うことを特徴とする請求項1又は請
    求項2に記載の記憶装置。
  4. 【請求項4】 前記内部ECC手段及び外部ECC手段
    は、誤り訂正符号として、シンボル単位訂正符号で、組
    織符号となる巡回符号を用いることを特徴とする請求項
    1〜3のいずれか一項に記載の記憶装置。
  5. 【請求項5】 データの記憶を行う記憶手段に対するデ
    ータの読み書きを制御するコントローラであって、 前記記憶手段に書き込むデータを誤り訂正符号化し、ま
    た、前記記憶手段から読み出したデータの誤りの有無を
    検出し、誤りが検出された場合に当該データの誤りを訂
    正する外部ECC手段を有し、 当該外部ECC手段は、 前記記憶手段から出力された、誤り訂正に関する信頼性
    情報を利用して、読み出しデータの誤り訂正を行うこと
    を特徴とするコントローラ。
  6. 【請求項6】 前記外部ECC手段は、誤り訂正符号と
    して、シンボル単位訂正符号で、組織符号となる巡回符
    号を用いることを特徴とする請求項5に記載のコントロ
    ーラ。
  7. 【請求項7】 データを格納するメモリ手段と、 当該メモリ手段に書き込むデータの誤り訂正符号化を行
    い、また、前記メモリ手段から読み出したデータの誤り
    検出及び誤り訂正処理を行う内部ECC手段とを備え、 当該内部ECC手段で行われた誤り訂正処理に関する信
    頼性情報を出力することを特徴とするメモリチップ。
  8. 【請求項8】 前記内部ECC回路は、誤り訂正能力を
    変更できることを特徴とする請求項7に記載のメモリチ
    ップ。
  9. 【請求項9】 前記内部ECC手段は、誤り訂正符号と
    して、シンボル単位訂正符号で、組織符号となる巡回符
    号を用いることを特徴とする請求項7又は請求項8に記
    載のメモリチップ。
JP11159613A 1999-06-07 1999-06-07 誤り訂正手段を備えた記憶装置 Pending JP2000349652A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11159613A JP2000349652A (ja) 1999-06-07 1999-06-07 誤り訂正手段を備えた記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11159613A JP2000349652A (ja) 1999-06-07 1999-06-07 誤り訂正手段を備えた記憶装置

Publications (1)

Publication Number Publication Date
JP2000349652A true JP2000349652A (ja) 2000-12-15

Family

ID=15697550

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11159613A Pending JP2000349652A (ja) 1999-06-07 1999-06-07 誤り訂正手段を備えた記憶装置

Country Status (1)

Country Link
JP (1) JP2000349652A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001073952A1 (en) * 2000-03-27 2001-10-04 Matsushita Electric Industrial Co., Ltd. Decoder and decoding method
US7516371B2 (en) 2003-02-28 2009-04-07 Kabushiki Kaisha Toshiba ECC control apparatus
US9013921B2 (en) 2012-12-06 2015-04-21 Samsung Electronics Co., Ltd. Semiconductor memory device
CN110196783A (zh) * 2018-02-26 2019-09-03 爱思开海力士有限公司 使用ecc引擎执行可重配置的错误校正操作的存储系统
JP2021111325A (ja) * 2020-01-07 2021-08-02 エスケーハイニックス株式会社SK hynix Inc. 以前に発生したエラー分析を介してエラー対応動作を選択するためのメモリシステム及びメモリシステムを含むデータ処理システム
CN115050415A (zh) * 2021-03-09 2022-09-13 华邦电子股份有限公司 半导体存储装置及错误检测校正方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3352659B2 (ja) 2000-03-27 2002-12-03 松下電器産業株式会社 復号装置及び復号方法
WO2001073952A1 (en) * 2000-03-27 2001-10-04 Matsushita Electric Industrial Co., Ltd. Decoder and decoding method
US7516371B2 (en) 2003-02-28 2009-04-07 Kabushiki Kaisha Toshiba ECC control apparatus
US9013921B2 (en) 2012-12-06 2015-04-21 Samsung Electronics Co., Ltd. Semiconductor memory device
CN110196783A (zh) * 2018-02-26 2019-09-03 爱思开海力士有限公司 使用ecc引擎执行可重配置的错误校正操作的存储系统
JP7634349B2 (ja) 2020-01-07 2025-02-21 エスケーハイニックス株式会社 以前に発生したエラー分析を介してエラー対応動作を選択するためのメモリシステム及びメモリシステムを含むデータ処理システム
JP2021111325A (ja) * 2020-01-07 2021-08-02 エスケーハイニックス株式会社SK hynix Inc. 以前に発生したエラー分析を介してエラー対応動作を選択するためのメモリシステム及びメモリシステムを含むデータ処理システム
CN115050415A (zh) * 2021-03-09 2022-09-13 华邦电子股份有限公司 半导体存储装置及错误检测校正方法
JP2022137391A (ja) * 2021-03-09 2022-09-22 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置および誤り検出訂正方法
JP2023120450A (ja) * 2021-03-09 2023-08-29 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置および誤り検出訂正方法
US11755209B2 (en) 2021-03-09 2023-09-12 Winbond Electronics Corp. Semiconductor memory device and error detection and correction method
JP7583121B2 (ja) 2021-03-09 2024-11-13 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置および誤り検出訂正方法
KR20220126629A (ko) * 2021-03-09 2022-09-16 윈본드 일렉트로닉스 코포레이션 반도체 기억 장치 및 오류 검출 정정 방법
CN115050415B (zh) * 2021-03-09 2025-06-27 华邦电子股份有限公司 半导体存储装置及错误检测校正方法
KR102903201B1 (ko) 2021-03-09 2025-12-23 윈본드 일렉트로닉스 코포레이션 반도체 기억 장치 및 오류 검출 정정 방법

Similar Documents

Publication Publication Date Title
KR100391240B1 (ko) 기록/재생 장치, 반도체 메모리 및 이 반도체 메모리를이용하는 메모리 카드
US6336203B1 (en) Error correction coding and decoding method, and circuit using said method
KR930001071B1 (ko) 에러 정정회로
JP3256517B2 (ja) 符号化回路、回路、パリティ生成方法及び記憶媒体
JP3737204B2 (ja) 誤り訂正方法及び装置
WO1999038170A1 (en) Encoding method and memory device
US20080133986A1 (en) Error correction for flash memory
US7890846B2 (en) Electronic data flash card with Reed Solomon error detection and correction capability
JPH11283396A (ja) メモリ装置
US7047478B2 (en) Multipurpose method for constructing an error-control code for multilevel memory cells operating with a variable number of storage levels, and multipurpose error-control method using said error-control code
JPH0831806B2 (ja) エラー訂正方法
JPS632370B2 (ja)
JP3502583B2 (ja) 誤り訂正方法および誤り訂正装置
JP2000349652A (ja) 誤り訂正手段を備えた記憶装置
JPH11143787A (ja) 記録再生装置
JPH10208405A (ja) 光ディスク(cd及びdvd)読み取り装置においてefm形式及びefmプラス形式で復号するためのシステム及び復号方法
KR100539261B1 (ko) 디지털 데이터의 부호화 장치와 dvd로의 기록 장치 및그 방법
JP4099844B2 (ja) メモリ装置
JPH11212876A (ja) 符号化方法およびそれを利用したメモリ装置
JP3743915B2 (ja) スポッティバイト誤り訂正・検出方法及び装置
JPH11272568A (ja) 記憶再生装置、誤り訂正方法及びこれらを用いた携帯情報端末ならびにディジタルカメラ
KR100290964B1 (ko) 기억재생장치및이기억재생장치의에러정정방법
KR100239798B1 (ko) 디지털 신호의 재생에 있어 에러정정방법 및 그에 적용되는 장치
JPH11213693A (ja) メモリ装置
CN101447234A (zh) 存储器模块及其写入及读取方法