JPH11272568A - 記憶再生装置、誤り訂正方法及びこれらを用いた携帯情報端末ならびにディジタルカメラ - Google Patents

記憶再生装置、誤り訂正方法及びこれらを用いた携帯情報端末ならびにディジタルカメラ

Info

Publication number
JPH11272568A
JPH11272568A JP11001121A JP112199A JPH11272568A JP H11272568 A JPH11272568 A JP H11272568A JP 11001121 A JP11001121 A JP 11001121A JP 112199 A JP112199 A JP 112199A JP H11272568 A JPH11272568 A JP H11272568A
Authority
JP
Japan
Prior art keywords
error correction
circuit
data
correction code
code
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
JP11001121A
Other languages
English (en)
Inventor
Minoru Tsukada
稔 塚田
Kazuo Nakamura
一男 中村
Hiroaki Kotani
博昭 小谷
Atsushi Nozoe
敦史 野副
Tetsuji Karashima
哲次 辛島
Takuji Nishitani
卓史 西谷
Yukari Katayama
ゆかり 片山
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 JP11001121A priority Critical patent/JPH11272568A/ja
Publication of JPH11272568A publication Critical patent/JPH11272568A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】 【課題】メモリチップ内の内部ECC回路の回路規模を
抑えながらファイルシステムの低ビットエラー率、及び
データ読み出し時間の短縮を図る。 【解決手段】メモリに情報を書き込む場合、メモリチッ
プ内部ECC回路は、12ビットDFF701と乗算器
708を用いてI/Oバッファ601から入力された情
報データをRS符号化し、S/A&ラッチ605へ出力
する。メモリから情報を読み込む際は、メモリからS/
A&ラッチ605に読み出されたRS符号化されたデー
タを12ビットDFF701と乗算器708を用いて誤
り情報を得ると同時に、割り算器709、検出器70
2、NOR回路703、第4のスイッチ707を用い
て、誤り検出/誤り訂正処理を行い、データを復号し
て、I/Oバッファ601に出力する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は記憶再生装置,誤り
訂正方法及びこれらを用いた携帯情報端末ならびにディ
ジタルカメラに係わり、特にディジタル情報の記憶再生
装置として使用されるフラッシュメモリの符号誤り訂正
装置及びその制御方法に関する。
【0002】
【従来の技術】記録媒体からデータを読み出し転送する
際には、さまざまな要因によりデータにエラーが発生す
る場合がある。これらの要因を大別すると、データを格
納するメモリ素子に起因するエラーと、データ伝送時に
伝送経路で発生するエラーとがある。不揮発性半導体メ
モリ、特にフラッシュメモリにおいては、前者の場合が
多く、特にメモリのリテンションエラーが問題となる。
【0003】以下、リテンションエラーについて説明す
る。それに先立って、まず最初に、図17を用いてフラ
ッシュメモリ素子の構造について説明する。図17はフ
ラッシュメモリの構造を示す模式図である。図のフラッ
シュメモリ素子において、データの書込みは、浮遊ゲー
ト1700への電荷の注入あるいは、浮遊ゲート170
0からの電荷の引き抜きでおこなう。そしてデータの読
み取りは、ソース1701とドレイン1702の間に定
電圧をかけた状態で、コントロールゲート1703に電
圧をかけ、流れたドレイン電流を電圧値に変換しておこ
なう。ここでドレイン1702−ソース1701間に電
流が流れるためのコントロールゲート電圧のスレッシュ
ホールド値Vthを図18に示す。
【0004】図18はフラッシュメモリのコントロール
ゲート電圧とドレイン電流の特性図であり、横軸にコン
トロールゲート電圧Vccを、縦軸にドレイン電流Id
を示す。図に示すように、このスレッシュホールド値は
浮遊ゲート中の電荷の有無により変化する。このVth
の違いをドレイン電流から判断する事によりデータ値を
読み出している。ここで、リテンションエラーとは、経
年変化によって浮遊ゲートから電荷が抜け落ちることに
よりVthが変化する現象をいい、一定の時間が経過す
ると、メモリ素子のデータ読み取りエラー率が急激に増
加するという特性がある。
【0005】そこで従来、特開平3−5995号公報に
記載されているように、フラッシュメモリを用いたディ
ジタル情報記憶再生装置(以下、ファイルシステムと言
う)においては、メモリからのデータ読み取りを高信頼
化させるため、フラッシュメモリチップ内に誤り訂正符
号(Error Correct Code、以下EC
Cと略記する)回路を搭載してデータエラー検出、及び
エラー訂正のための冗長データを付加した上で、データ
をECCに変換して記録し、メモリ素子からデータを読
み出すときには読み出したECCを用いてデータエラー
を検出/訂正する手法が用いられている。
【0006】ここで、このようなシステムで用いられる
ECCは主として組織符号となる巡回符号が用いられて
いる。以下、巡回符号と組織符号について説明する。最
初に数1、数2を用いて巡回符号の定義を示す。
【0007】
【数1】
【0008】
【数2】
【0009】(数1)、(数2)において、nは最大限
取りうる符号長である。符号長nの符号語wの各成分を
巡回置換した符号語w’は再び符号語となることであ
る。ここでは、符号語wの各成分を左に1つずつシフト
し、左端の成分を右端の成分にする、左巡回置換を行っ
ている。ある符号語wが巡回符号となるための必要条件
は、符合語wがG(x)の倍多項式、すなわちA(x)
をxの多項式とすると、以下の(数3)で示される。 w=A(x)G(x)・・・(数3) G(x)はデータを符号化するための多項式で、符号語
生成多項式という。符号長nの巡回符号に含まれる0で
ない符号語多項式の中で次数が最小になる多項式であ
る。巡回符号は、また同時に組織符号とする事もでき
る。組織符号とは冗長部と情報部が分離されて構成され
ている符号である。
【0010】以下、組織符号の構成方法について示す。
符号語生成多項式G(x)は(数4)式で表わされる。
【0011】
【数4】
【0012】この式において、αは原始多項式の根を、
2tは冗長記号長を、tは訂正能力を示す。
【0013】また、情報データを係数に持つ情報記号多
項式M(x)は(数5)式で表わされる。
【0014】
【数5】
【0015】ここで、kはデータ長(バイト)を表わ
す。G(x)の次数はECCのシンボル誤り訂正能力に
対応し、訂正能力をtシンボルとすると、G(x)の次
数は2t次以上となる。シンボルとは誤り訂正単位で、
符号によりビットの場合と、数ビットから構成されるビ
ット列の場合がある。例として、tシンボル誤り訂正可
能なECCを考える。G(x)の次数を2tとする。
【0016】M(x)にxの(G(x)の次数−1)乗
をかけG(x)で割った時の商と余りをそれぞれQ
(x)、R(x)とし、nを最大符号長、rを冗長シン
ボル数、kを情報記号長とすると、M(x)×xの2t
−l乗はQ(x)G(x)+R(x)で表わされるた
め、余りR(x)は(数6)のように表わされる。
【0017】
【数6】
【0018】(数6)において、R(x)の次数は(2
t−1)次以下となる。ここで、W(x)を(数7)の
ようにおくと、(数7)はG(x)の倍多項式となり、
巡回符号となる。
【0019】
【数7】
【0020】但し、ビット演算では、A+B=A−Bで
ある。
【0021】このとき、W(x)の係数は、(数8)にな
り、情報データ部と冗長データ部が分離された符号にな
る。W(x)の係数部を高次から順に並べた配列は(数
8)で示される。
【0022】
【数8】
【0023】しかし、実際のファイルシステムでは最大
符号長nよりも、情報記号長kと冗長記号長2tの和lが
小さい場合が多い。例えばtシンボル誤り訂正ECCの
場合、(n-l)シンボルが符号として使用されないことに
なる。
【0024】次に、組織符号の構成の変更方法について
示す。この時使用されない部分は、W(x)において係
数が0であると考えれば、符号構成は、(数9)のよう
になる。
【0025】
【数9】
【0026】従って、ECC回路での符号の構成は図1
9で示すようになる。
【0027】図19は周期nシンボルの符号における符
号未使用部、情報部、冗長部を示す模式図である。図に
おいて、61はn−(k+2t)すなわちn−lシンボル
の符号未使用部、62はkシンボルの情報部、63は2
tシンボルの冗長部である。このECC回路で構成され
る符号の内、実際に符号として記録される係数部分は図
19の矢印で示されている情報部62及び冗長部63の
部分になる。
【0028】図20は組織符号の符号化時及び出力時の
タイミングチャートであり、図20(a)はECC回路
での復号時の誤り検出及び誤り訂正処理のタイミングチ
ャートであり、図20(b)は誤り訂正された情報の出
力時のタイミングチャートである。図20(a)に示す
ように、ECC回路でkバイトの情報部62から冗長部
63が生成される。1バイトの演算に1クロックかかると
するとクロック必要となる。図20(b)に示すよう
に、冗長部63が生成されている間、ECC回路からは
同じタイミングで情報部62のデータが出力され、その
後生成された冗長部63が出力される。
【0029】組織符号には誤り訂正能力や誤り訂正単位
の違いから、ハミング符号、BCH符号、リードソロモ
ン(Reed Solomon:以下RSと記す)符号
等がある。従来半導体メモリでは、特開平3-5995号公報
や、1996シンボジウムオン アイトリプルイー、ヴ
ィエルエスアイ サーキッツ ダイジェスト オブ テクニ
カル ペーパーズ(Symposium on IEE
E VLSI Circuits Digest of
Technical Papers PP74−7
5)に記載されているように、組織符号のなかでも誤り
訂正単位がビットであるSEC(Single Err
or Correctable )符号やSEC−DE
D(Double Error Detectabl
e)符号、BCH(Bose Chaudhuri H
ocquenghem)符号が用いられている。
【0030】一方、デジタルカメラや携帯情報端末など
のシステムでは、比較的大きい(数百バイト以上)のデ
ータを一括して処理することが多い。このようなファイ
ルシステムではデータの取り扱いの最小単位がバイト
(8ビット)となることが多く、データ誤りもバースト
エラーが多いため、誤り訂正の最小単位が1ビットであ
るBCH符号に対して、誤り訂正の最小単位がシンボル
(複数ビット)であるリードソロモン符号のほうが、符
号効率が良くなる。従来は半導体メモリチップ外部のコ
ントローラ内に誤り訂正符号回路を設け、メモリとのデ
ータ読み出し/書込み(Read/Write 以下
R/Wと記す)の際にデータをRS符号化していた。
【0031】従来のフラッシュメモリではメモリ1素子
に対し、1ビットを対応させていた。このため情報記憶
に必要なVthは1素子あたり2つであり、Vth間の
間隔を充分にとることが出来た。しかし近年、フラッシ
ュメモリを用いたファイルシステムに対する大容量化、
低コスト化の要求から、1素子に対して2ビット以上を
対応させる必要性が出てきた。このことは情報記憶のた
めに必要なVthが1素子あたり4つ以上になることを
示す。このため各Vth間の間隔は狭くなり、メモリ素
子からのデータ読み出しエラーは必然的に増加する。
【0032】また、素子不良によりVthが固定された
場合は、1素子に2ビット誤りが発生する場合もある。
このためメモリチップ内部に巡回符号であるECC回路
を持つ従来例の場合、SEC符号、SEC−DED符
号、BCH符号では満足なビット信頼率が得られなくな
ることが予想される。またデジタルカメラや携帯情報端
末などのシステムでは、映像データ等の相関性のあるデ
ータを扱う事が多いため、エラー訂正ができない場合で
も、誤訂正を行うよりはエラー検出に基づいて誤り補正
等の処理を行うほうがよい場合もある。
【0033】
【発明が解決しようとする課題】以上のような用途に用
いる半導体メモリにおいてデータを符号化する場合、誤
り訂正能力だけでなく誤り検出(Error Dete
ct:以下、EDと言う。)能力も高い符号を使う事が
望ましい。また、メモリチップ内部へ巡回符号であるE
CC回路を搭載する場合問題になるのは、回路規模、デ
ータの復号時間、復号時の利便性の三点である。
【0034】第一に、回路規模の問題について述べる。
これはECCの符号化方法、及び復号方法と大きく関係
する。最初に巡回符号ECCの復号方法について示す。
受信語Y(x)は、送信語W(x)と誤り多項式E
(x)の和で表される。すなわち、(数10)に示され
るようになる。 Y(x)=W(x)+E(x)……(数10) ここでAmodBは、AをBで割った時の剰余を表すと
すると、もしE(x)=0ならばY(x)modG
(x)は0となる。すなわち、(数11)の通りにな
る。
【0035】 Y(x) mod G(x)=W(x) mod G(x) =Q(x)G(x) mod G(x) =0 ・・・(数11) ここで、もしE(x)≠0ならば、Y(x) modG
(x)はE(x) mod G(x)になる。すなわち Y(x)modG(x)=(W(x)+E(x)) mod G(x) =(Q(x)G(x)+E(x)) mod G(x) = E(x) mod G(x)・・・(数12) また、(数12)は(数13)の通りになる。 Y(x) mod G(x)=S(x) ・・・(数13) (数13)はシンドロームと呼ばれ、符号の誤り位置i
及び誤りパターンEpiの情報を含んでいる。これより
誤り位置、誤りパターンを検索する方法を示す。例とし
て1シンボル訂正可能なECCを考える。冗長シンボル
を2tシンボルとすると、符号語生成多項式G(x)は
(数14)の通りになる。
【0036】
【数14】
【0037】この時受信符号Y(x)に発生した1シン
ボル誤りを誤り多項式E(x)で示すと(数15)に示
すようになる。したがって、シンドロームS(x)は
(数16)の通りになり、誤り位置の情報xiと誤りパ
ターンEpiからなる単項式になる。また、巡回符号の
特性から(数17)が成り立つ。
【0038】
【数15】
【0039】
【数16】
【0040】
【数17】
【0041】以上の関係が成り立つので、シンドローム
S(x)にxのべき乗を順にかけていくとxのべき数が
(数17)の条件を満たすようにシンドロームS(x)
にxのべき乗を掛けたときの(数16)の値は、(数1
8)のようになりxの2乗およびxの係数は0、定数項
に誤りパターンEpiが現われる。
【0042】xの2乗およびxの係数の0を検出するこ
とで、誤り位置iと誤りパターンEpiを検出する事が
できる。
【0043】
【数18】
【0044】一方受信語Y(x)に2シンボル以上の誤
りがある場合は誤り訂正はできず、誤訂正をしてしまう
場合と、誤り検出ができる場合とがある。誤り検出がで
きる場合とはS(x)≠0であって、xのべき乗をシン
ドロームS(x)に順に掛けていった時、xの符号長乗
まで掛け算をおこなっても(数18)の条件をを満たさ
ない場合である。1シンボル訂正の場合、符号化回路と
復号回路で符号語生成多項式G(x)の割り算回路を共
用する事ができ、回路規模は小さくて済むという利点が
ある。しかし誤り訂正能力が2以上になると上記のアル
ゴリズムは使えなくなる。したがって符号化回路と復号
回路がそれぞれ必要になり、回路規模は急激に増加す
る。
【0045】第二にデータの復号時間の問題について説
明する。巡回符号の復号時間は、シンドロームS(x)
生成時間+誤り訂正/検出時間となる。例として、1シ
ンボル訂正可能なRS符号について考える。最初にシン
ドロームS(x)生成時間について説明する。シンドロ
ームS(x)は(数12)、(数13)から、符号化回路
に受信語(受信符号)Y(x)を入力する事で得られ
る。必要時間は符号長lクロックとする。S(x)=0
ならば、受信符号に誤りが無い事を示す。S(x)≠0
のとき誤り訂正/検出処理を行う。
【0046】次に誤り訂正/検出時間について説明す
る。誤り検出を行うためには、(数9)において符合語
W(x)の係数が0の部分、すなわち図19において符
号として使用されない(n−(k+2t))シンボルの
符号未使用部分61についても誤り検索を行わなければ
ならない。
【0047】これはシンドロームS(x)にxのべき乗
を順に掛けていかなければならないためである。従って
検索時間はnクロックとなり、シンドローム生成時間と
あわせた全復号時間は(k+2t)+nクロック、すなわ
ちl(翻訳注:エル)+nクロックとなる。n−(k+
2t)シンボルの0入力部が情報記号kシンボルに比べ
て大きい場合、実際に記録する符号に対して復号時間オ
ーバーヘッドは非常に大きくなる。
【0048】第三に復号時の利便性について述べる。オ
ンチップECC回路の場合、外部からのデータ読み出し
制御信号は情報記号数kクロックである場合がある。
【0049】図21は復号時の誤り検出及び誤り訂正の
従来のタイミングチャートであり、図21(a)はEC
C回路での復号時の誤り検出及び誤り訂正処理のタイミ
ングチャートを示し、図21(b)は誤り訂正された情
報の出力時のタイミングチャートを示す。図21(a)
から明らかなように、従来あるような情報部+冗長部の
構成を持つ組織符号では、kシンボルの情報部62の誤
り訂正/検出処理終了後、更に2tシンボルの冗長部6
3分まで演算をおこなうことで誤り訂正有無の判定を行
い、誤り有りの場合には、符号未使用部分61をn−l
分だけ空回(0を入力して回す)した後、情報部62の
誤り訂正/検出処理を行い、誤り検出情報を出力する。
このため、図21(b)に示すように、誤り訂正/検出
処理と情報データ64の出力を同時に行う場合、誤り検
出情報はデータ出力終了後2tクロック後に出力され
る。つまり外部ユーザーはkシンボルのデータ64の出
力の後、2tクロック待たないと誤り検出情報を得る事
ができない。このため外部ユーザーには、例えばデータ
読み出し信号出力後、2tクロック待ってから誤り補正
等の処理を開始するようなプログラムが必要となり、E
CC回路の搭載により外部ユーザー側に負担をかけてし
まうことがある。
【0050】上記のように従来技術においては記憶素子
の多値化による素子の多ビット誤りの問題がある。更
に、メモリチップ内部へ巡回符号であるECC回路を搭
載する場合、第一に回路規模が大きくなるという問題、
第二に、データの復号時間が長くなるという問題、第三
に復号時の利便性の問題である。
【0051】本発明の目的はデータを符号化する場合、
記憶装置に適した誤り訂正能力を持つ符号を使用した記
憶再生装置及び誤り訂正方法を提供する事にある。本発
明の他の目的は符号化回路と復号回路の少なくとも一部
を供用化する事ができる記憶再生装置及び誤り訂正方法
を提供する事にある。本発明の更に他も目的はデータの
復号時間、誤り訂正及び検出時間を短縮する事ができる
記憶再生装置及び誤り訂正方法を提供する事にある。本
発明の更に他の目的はデータ出力と誤り検出情報を同時
に出力する事ができる記憶再生装置及び誤り訂正方法を
提供する事にある。
【0052】
【課題を解決するための手段】本発明の目的を達成する
ために、本発明による記憶再生装置は、メモリを内蔵し
たメモリチップと、前記メモリチップの内側に記憶対象
の情報データを誤り訂正符号化し、かつ誤り訂正符号を
生成する内部誤り訂正符号回路を設け、前記内部誤り訂
正符号回路は前記メモリより読み出した誤り訂正符号を
用いて前記の誤り訂正符号を復号する。前記内部誤り訂
正符号化回路は前記情報データを誤り訂正符号化する符
号化回路と、前記誤り訂正符号化された情報データを復
号する復号回路とを備える。また、好ましくは、前記符
号化回路と前記復号回路とは共用される。
【0053】この記憶再生装置において、前記内部誤り
訂正符号回路は、誤り訂正符号復号時の演算結果を逐次
複数ビット割り算する割り算器と、割り算結果が一定の
用件を満たした場合、誤り訂正を行うための手段と、符
号長長さのデータ入力時間で、データの復号を終了させ
る手段と、入力されたデータの復号が全て終了しても割
り算結果が一定の用件を満たさない場合には、外部回路
に誤り検出情報を出力する手段とを備える。前記割り算
器は複数の割り算回路から構成され、前記誤り訂正手段
は前記複数の割り算回路の結果が同じ場合に誤り訂正を
行うための検出器とNOR回路とから構成され、前記誤
り情報出力手段は前記NOR回路の出力が1になった場
合に誤り情報を出力する。
【0054】また、前記内部誤り訂正符号回路は誤り訂
正回路と、誤り訂正符号復号時に前記誤り訂正回路の演
算結果を情報データに付加した冗長ビット分だけ保持し
ておく手段とを備え、データ出力を情報データに付加し
た冗長分だけ、前記誤り訂正回路の演算開始より遅延し
て出力する事により、前記誤り訂正回路の演算終了と、
復号されたデータの出力を同時に終了させる。好ましく
は、前記冗長ビット保持手段はバッファから構成され
る。また、前記内部誤り訂正符号回路は、誤り訂正符号
の符号化時に、使用される符号長に応じて定まる特定の
回数だけ、特定の値を入力して、情報データと冗長ビッ
ト部を含む誤り訂正符号の符号構成を変化させる。前記
特定の値は0である。好ましくは、誤り訂正符号の符号
化時に、使用される符号長に応じて定まる特定の回数だ
け、符号化回路に特定の値を入力し、冗長ビットが情報
データの前に置かれるように誤り訂正符号を構成する。
【0055】前記内部誤り訂正符号回路で冗長ビットと
情報データとを訂正符号化する手段と、誤り訂正符号復
号時に前記冗長ビットの演算結果を情報データより先に
行う手段とを備えることによって、前記誤り訂正符号回
路の演算終了と、復号されたデータの出力が同時に終了
するようにする。好ましくは内部誤り訂正符号回路に用
いられる誤り訂正符号はリードソロモン符号である。
【0056】本発明の目的を達成するために、携帯情報
端末は、メモリを内蔵したメモリチップと、前記メモリ
チップの内側に記憶対象の情報データを誤り訂正符号化
し、かつ誤り訂正符号を生成する内部誤り訂正符号回路
を設け、前記内部誤り訂正符号回路は前記メモリより読
み出した誤り訂正符号を用いて前記の誤り訂正符号を復
号する記憶再生装置を備え、前記記憶再生装置は、デー
タの一時蓄積、及びデータの入れ替えが可能である。
【0057】本発明の目的を達成するために、ディジタ
ルカメラは、メモリを内蔵したメモリチップと、前記メ
モリチップの内側に記憶対象の情報データを誤り訂正符
号化し、かつ誤り訂正符号を生成する内部誤り訂正符号
回路を設け、前記内部誤り訂正符号回路は前記メモリよ
り読み出した誤り訂正符号を用いて前記の誤り訂正符号
を復号する記憶再生装置を備え、前記記憶再生装置は、
データの一時蓄積、及びデータの入れ替えが可能であ
る。
【0058】本発明の目的を達成するために、本発明の
訂正方法は、メモリを内蔵したメモリチップと、前記メ
モリチップの内側に記憶対象の情報データを誤り訂正符
号化し、かつ誤り訂正符号を生成する内部誤り訂正符号
回路とを備え、誤り訂正符号復号時に前記内部誤り訂正
符号回路の演算結果を逐次複数ビット割り算するステッ
プと、割り算結果がある一定の要件を満たした場合、前
記内部誤り訂正符号回路内で誤り訂正を行うステップ
と、入力されたデータの復号が全て終了しても割り算結
果が一定の要件を満たさない場合には、前記内部誤り訂
正符号回路外部に誤り検出情報を出力し、前記情報デー
タを復号するステップとを備える。
【0059】また、他の本発明の目的を達成するための
本発明の訂正方法は、メモリを内蔵したメモリチップ
と、前記メモリチップの内側に記憶対象の情報データを
誤り訂正符号化し、かつ誤り訂正符号を生成する内部誤
り訂正符号回路とを備え、誤り訂正符号復号時に前記内
部誤り訂正符号回路の演算結果を情報データに付加した
冗長ビット分だけ保持して、情報データに付加した冗長
ビット分だけ、前記演算の開始より遅延させて出力する
ことによって、前記誤り訂正符号回路の演算終了と、復
号データの出力終了を同時に行うステップを備える。
【0060】また、本発明の目的を達成するための本発
明の訂正方法は、メモリを内蔵したメモリチップと、前
記メモリチップの内側に記憶対象の情報データを誤り訂
正符号化し、かつ誤り訂正符号を生成する内部誤り訂正
符号回路とを備え、誤り訂正符号符号化時に、使用され
る符号長に応じた特定の回数だけ、符号化回路に一定値
を入力し続ることによって、情報データと冗長ビット部
の構成を変化させるステップと、誤り訂正符号復号時に
冗長ビット部の演算結果を情報データより先に行い、誤
り訂正回路の演算終了と、復号データの出力終了を同時
に行うステップとを備える。
【0061】
【発明の実施の形態】本発明においては1シンボル訂正
RS符号において誤り検出能力を高くするために、1シ
ンボル訂正に必要とされるシンボル数2に冗長シンボル
を1シンボル付加し、3シンボルを付加した場合、すな
わち冗長シンボル数が2t+1の場合を用いて説明す
る。送信符号をW(x)、誤りパターンをEpi、符号
長をl、情報データ先頭からの誤り位置をiとすると、
符号語生成多項式G(x)、及び生成されるシンドローム
S(x)は、(数19)の通りとなる。
【0062】
【数19】
【0063】なお、S(x)は2次式である。
【0064】符号を作成する場合、ECC回路には情報
データはデータの先頭から入力されるため、データ先頭
は符号語多項式の高い次数に対応する。ECC回路をシ
フトレジスタで実現場合、剰余多項式の係数分だけラッ
チが必要になる。このラッチにシンドロームS(x)が
保持されている。(数19)をxの3次式に置き換える
と、(数20)のようになる。
【0065】
【数20】
【0066】ここで、Aは3個のラッチの内第1のラッ
チに保持されるビット列、Bは第2のラッチに保持され
るビット列、Cは第3のラッチに保持されるビット列を
示す。
【0067】また、以下の(数21)の値が既知である
とし、各項の係数を各々H,I,Jとする。xのべき乗数l
(翻訳注:エル)は使用される符号長で情報部のバイト
数kと冗長部のシンボル数の和k+3に等しい。
【0068】
【数21】
【0069】ECC回路において、データ0入力で1ク
ロック回す事は、ECC回路内に生成されたシンドロー
ムS(x)にxを掛ける事に相当する。従ってシンドロ
ーム計算を終了した後、0入力するか、データ入力なし
で更にiクロック回した時のラッチの値は、(数20)
と(数21)とから(数22)の通りにとなり、これは
(数21)にEpiを掛けたものに等しくなる。
【0070】
【数22】
【0071】従ってECC回路においてクロックを1回
回すごとにA/H、B/I、C/Jの値を計算すると、
誤り位置iで割り算結果が全てEpiになる。従って割
り算結果が全て一致する位置を検出し、この時の割り算
結果を出力する事で、誤り位置iと誤りパターンEpi
を得る事ができる。使用される符号長l(翻訳注:エ
ル)クロックの演算で各ラッチの割り算結果が全て一致
する位置がない場合は、誤り検出となる。
【0072】メモリチップ内部にシンボル単位訂正EC
C回路を設けるための第三の問題を解決するために、該
シンボル単位訂正ECC回路には、情報データ出力の終
了と同時に、該シンボル単位訂正ECC回路からエラー
訂正/検出情報出力が出力されるような手段を設ける。
【0073】第1に回路規模を増加させることなく、符
号構成を変更する事で第三の問題を解決する手段につい
て述べる。まず、符号構成の変更について説明する。
(数9)で示すように符号として使用されない部分は、
W(x)において係数が0であると考えられる。従っ
て、(数9)を(数23)で示すように、変換する。
【0074】
【数23】
【0075】情報記号kシンボルの後に、符号化回路に
(n−l)シンボル0を入力すると、符号構成は情報デ
ータ部+符号として使用されない部分+冗長データ部と
なる。符号化時間は、n−2t−1クロックとなる。巡
回符号の特性を考えると、実際にECC回路のメモリに
記録する符号は情報部と冗長部のみを記録する。誤り検
出時には情報部、冗長部の順に検索する。誤りがある場
合には剰余が出る。この剰余をα割り算回路で割る事に
よって符号未使用部の検索を省略する事ができる。
【0076】次に復号時の処理について述べる。シンド
ローム生成時は冗長部を先に入力した後、情報部を入力
する。これはECC回路における割算は、シンボルをデ
ータ順に入力するフィードバック回路で構成されるた
め、符号化回路へのデータ入力開始が0の場合、最初の
0でない入力までは0を入力しなくても演算結果は同じ
になるからである。誤り訂正/検出処理の場合は、先に
冗長部で誤りの有無を検索してから、情報部の誤り検索
に入る。情報部の誤り検索開始と同時にデータ出力を始
めれば、情報部データ出力終了と同時に、誤り検出情報
を出力する事ができる。
【0077】第2に符号化時に時間をかけることなく、
ECC回路にデータバッファを設けて第三の問題を解決
する手段について述べる。この時の符号構成と、復号に
ついて述べる。符号の構成は従来の方式と同じく図19
のように構成する。従って符号化時間は、k+2t+1ク
ロックとなる。
【0078】次に復号時の処理について述べる。シンド
ローム生成時は、情報部を先に入力した後、冗長部を入
力する。そしてシンドローム生成後ECC回路内で演算
を冗長シンボル2t+1シンボル分先に行い、演算結果
をデータバッファに保持する。情報部出力は、シンドロ
ーム生成後、冗長部シンボル長さ分、この場合は2t+
1クロック待ってから出力を開始する。データバッファ
に保持されていたECC回路の演算結果は出力された情
報部データと順にビット和の計算が行われる。一方、デ
ータバッファにはECC回路で演算された結果が順に入
力されていく。ECC回路内の演算は冗長部シンボル分
先に行われるため、情報部データ出力の終了と同時に誤
り検出情報を得る事ができる。
【0079】以下、本発明の実施例について、図面を用
いて説明する。図1は本発明によるデータ記憶再生装置
の一実施例を示す概念図である。本発明に係るデータの
エラー訂正方法及び装置は、記録媒体の種類によらず利
用できるものであるが、本実施例及び以下の実施例で
は、記録媒体の例としてフラッシュメモリを用いた記憶
再生装置(以下ファイルシステム)へ適用した例ににつ
いて説明する。図1において、101は記録再生装置
(以下、ファイルシステムと云う)であり、メモリチッ
プ102及びインターフェースLSI106から構成さ
れている。メモリ103はデータの記録あるいは、再生
を行う記録媒体であり、メモリチップ102はメモリ1
03と内部ECC回路104とを含むチップである。イ
ンターフェースLSI106はフラッシュメモリ103
を利用したファイルシステム101とファイルシステム
103におけるシステムバス109とのインターフェー
ス制御を行うLSIである。より具体的には、本実施形
態に係るファイルシステムは、例えば図2に示すように
構成される。
【0080】図2は図1のデータ記憶再生装置の全体構
成を示すブロック図である。図2において、メモリチッ
プ102はメモリ103と内部ECC回路104を含む
記録媒体である。インターフェースLSI106はメモ
リチップ102を使用したファイルシステム101にお
けるシステムバス109とのインターフェース制御を行
うLSIである。マイコン504はシステムバス109
を通じて送られてきた命令を解釈し、解釈結果に応じて
メモリチップ102へのデータ読み込み及び書込み(R
ead/Write 、以下R/W)、及びRAM50
5へのデータR/Wを制御する中央処理装置5041
(CPU5041)を備えたファイルシステム101の
コントローラの役割を担っている。RAM505はメモ
リチップ102のデータを、インターフェースLSI1
06内に流す際、データのバッファの役目を担う補助メ
モリである。前記各ユニットは、制御信号線、アドレス
バス、データバスによって接続されている。
【0081】図2のファイルシステムの具体的な実装例
を図3に示す。図3は図2のデータ記憶再生装置のチッ
プ実装例を示す模式図である。図において、マイコン5
04はシステムバスを通じて送られてきた命令を解釈
し、解釈結果に応じてメモリチップ102へのデータ読
み込み及び書込み(Read/Write 、以下R/
W)、及びRAM505へのデータR/Wを制御する中
央処理装置(CPU)を備えたファイルシステム101
のコントローラの役割を担っている。なお、201は他
のインターフェースである。
【0082】次に、メモリチップ102について図4を
用いて説明する。図4はメモリチップの全体構成を示す
構成図である。図において、メモリ103はデータの記
録あるいは再生を行う媒体、I/Oバッファ601はシ
ステムバス109を通じて送られてきたデータ、あるい
は内部ECC回路104から送られてきたデータのバッ
ファの役目を担う補助メモリである。デコーダ602は
メモリ103へのデータのR/Wを行う際にメモリ10
3上でのデータ記録あるいは再生位置を制御する。スイ
ッチ/セレクタ603はメモリ103へのデータの記録
あるいは再生時にデータの内部コントローラ604から
の制御信号に応じて、メモリ103及び内部ECC回路
104へのデータの入出力の切り替えを行う回路であ
る。内部コントローラ604はローカルデータバスを通
じて送られてきた制御信号に応じて、デコーダ602、
スイッチ/セレクタ603の制御を行う回路である。S
/A&ラッチ605はメモリ103からのデータのR/
W時にデータのバッファの役割を担う補助メモリであ
る。前記各ユニットは、制御信号線、アドレスバス、デ
ータバスによって接続されている。
【0083】データ誤り訂正、検出に用いる符号は組織
符号となるシンボル単位訂正符号であれば何を用いても
構わないが、第一の実施例として、1ECリードソロモ
ン符号を用いる。実施例では誤り検出能力を高めるため
冗長シンボルを1シンボル追加する。従って冗長シンボ
ルは2×1+1=3シンボルとなる。またデータシンボ
ル長は用いられる用途、及び一括して変換するデータ量
によって変化する。実施例では、1バイト8ビットと
し、2048+58バイト=2106バイトのデータを
一括変換するとする。用いるガロア体は以下のの条件を
満たすものならば何を用いてもよい。
【0084】
【表1】
【0085】ガロア体の条件としては種々の値を取りう
るが、1バイトが1シンボルに対応していた方が、デー
タの取り扱いが便利である。従って、この条件と、上記
のガロア体の条件から、符号のデータシンボル長は12
ビットとなる。従ってガロア体GF(p)の元の数pは
2の12乗である。最大符号長nは4095シンボルと
なる。
【0086】次にECC回路及び、符号化復号方法につ
いて説明する。最初にECC回路について図5を用いて
説明する。図5は本発明によるデータ記録再生装置のE
CC回路の一実施例を示すブロック図である。図におい
て、12ビット遅延フリップフロップ(以下DFF:D
elay Flip Flopと云う。)701a、7
01b、701c(以下、DFF701a〜701cを
指す場合には単に701と記載する。)は12ビットの
データを1クロック分保持し、次のクロックで出力す
る。検出回路702a、702b(総合して、検出器7
02と記載する。また、以降の各回路についても同様に
記載する。)は12ビット2入力の排他的論理和(以下
XOR)の計算をおこなう。NOR回路703は12ビ
ット2入力の否定論理和(以下NOR)の計算を行う。
第1のスイッチ704、第2のスイッチ705、第3の
スイッチ706、第5のスイッチ710は、符号化、復
号時にデータの流れを制御する。第4のスイッチ707
は復号時、NOR回路703からの信号が1の時ONに
なる。ここで、第2、第4、第5のスイッチ705、7
07、710はオン、オフスイッチであり、第1、第3
のスイッチ704、706は3点切換スイッチである。
第1のスイッチ704は中点、すなわちオフの位置(図
示せず)と、白丸の接点704aと黒丸の接点704b
を持っており、第3のスイッチ706は白丸の接点70
6aと中点(図示せず)、黒丸の接点706aを持って
いる。
【0087】乗算器708は乗算回路708a、708
b、708cから構成されており、符号生成多項式G
(x)に対応した係数をデータと掛け合わせる回路で、
各項の係数のべき数は、符号語生成多項式G(x)の原
始多項式g(x)と冗長シンボル数、ガロア体の元の数
によって決定される。第一の実施例の場合、
【0088】
【数24】
【0089】g(x)の根をαとすると、原始多項式と
はガロア体GF(2のm乗)において、周期が(根のm
乗)−1となる根を解に持つ既約多項式のことをいう。
また、符合語生成多項式G(x)の次数は符号の冗長シ
ンボル数から3となる。したがって符合語生成多項式G
(x)は(数25)の通りになる。ただしg(x)は周
期がαのm乗−1となるαを根に持つ規約多項式であ
る。 。また、符合語生成多項式G(x)の各項の係数
の決定はg(x)から得られるαのべき乗に関する関係
を用いて行うことができる(ただしビット演算ではA+
B=A−Bである)。
【0090】(数24)の根αを用いて、符合語生成多
項式G(x)を変換すると(数25)になる。
【0091】
【数25】
【0092】(数24)を用いて(数25)の各項の係
数を原始元のべき乗の形に変換すると、数26の通りに
なる。
【0093】
【数26】
【0094】割り算器709は割り算回路709a、7
09b、709cから構成されており、12ビットDF
F701から出力されたデータを割り算する回路で、そ
のべき数は、符合語生成多項式G(x)の原始多項式g
(x)と冗長シンボル数、ガロア体と、使用される符号
長lによって決定される。
【0095】第一の実施例の場合は符号長lが2109
シンボルとなる。従って(数21)、(数22)、(数
24)、(数26)からべき数を計算すると、符号語多項
式G(x)の各項の係数は、xの2次の係数Hがαの−
2681乗、1次の係数Iがαの−185乗、定数項の
係数Jがαの−2333乗となる。また、XOR計算回
路720〜723は12ビットのXOR計算を行う。
【0096】S/A&ラッチ605と第1のスイッチ7
04、第3のスイッチ706の間にはスイッチ/セレク
タ603(図4参照)があるが、図5の説明では機能的
に関係がないため省略した。また符号構成は(数9)、
(数23)のどちらの構成を用いてもよいが、本実施例
では冗長部をを先頭にする符号構成とする。
【0097】最初に符号化の方法について図6のチャー
トを用いて説明する。図6は図5に示すECC回路の符
号化の動作を説明するためのフローチャートである。図
において、ステップ801に示すようにI/Oバッファ
601に入力されたデータは第1のスイッチ704と第
3のスイッチ706を通ってS/A&ラッチ605とE
CC回路104Aの他の回路に入力される。この時第1
のスイッチ704、第3のスイッチ706はそれぞれ接
点704a、706aに接続され、第2のスイッチ70
5はON状態、第5のスイッチ710はOFF状態とな
っている。
【0098】1シンボルを1バイトに対応させるため、
I/Oバッファ601において8ビット情報部のデータ
に0入力の4ビットを付加して12ビット入力に変換す
る。この4ビットは12ビットのどこに入力してもよい
が、上位か下位4ビットに集中させた方が12ビットか
ら8ビットへの変換が楽である。従って第一の実施例で
は上位4ビットを0入力とする。情報データをECC回
路104Aに入力することで冗長部が計算される。また
同時にS/A&ラッチ605では12ビットの情報が8
ビットに変換される。したがって、S/A&ラッチ60
5に接続されているメモリ103(図示せず)には8ビ
ットの情報データが入力される。
【0099】次にステップ802に示すようにECC回
路104Aに0を入力し、12ビットDFF701と乗
算回路708で1986クロック計算を続ける。この
時、第1のスイッチ704は中点に接続されておりオフ
状態となっており、第4のスイッチ707、第5のスイ
ッチ710もOFF状態になっている。第2のスイッチ
705はON状態、第3のスイッチ706はその中点に
接続されてOFF状態となっているか0入力固定となっ
ている。これは、図7で示したとおり、巡回符号をシフ
トして、冗長部が情報部の前に付加される符号構成にす
る操作に対応する。
【0100】図7は本発明によるnシンボル符号の周期
における符号未使用部、情報部、冗長部の配置の一実施
例をを示す模式図である。図において、71はn−(k
+2t+1)シンボルの符号未使用部であり、72はk
シンボルの情報部であり、73は2t+1シンボルの冗
長部であり、(数23)に示すように情報部72、符号
未使用部71、冗長部73の順に配置されている。これ
らの内実際に記録されるのは冗長部73と情報部72で
あり、(n−k−2t―1)回0を入力し、巡回符号を
シフトすることによって、この順に並べられた符号構成
にすることができる。
【0101】このようにしてシフトされた冗長部73は
ステップ803に示すようにS/A&ラッチ605に出
力される。冗長部73のデータは12ビット出力とな
り、12ビットDFF701の内容が次数の高い係数の
方から順に出力される。第1のスイッチ704は接点7
04bに接続され、第2のスイッチ705、第3のスイ
ッチ706、第4のスイッチ707、第5のスイッチ7
10はOFF状態となる。このようにして符号化された
データは、S/A&ラッチ605からメモリ103に記
録される。
【0102】符号化されたデータの記憶方法はいろいろ
あるが、復号時のデータ読み出し時に冗長部、情報部の
順にシーケンシャルに読み出せた方が便利である。従っ
て本実施例では、メモリ上での読み出し順が冗長部7
3、情報部72の順になるようにメモリ103(図4参
照)に記録する。記録単位は1バイト=8ビットである
ため、情報部72は入力されたデータをそのまま書き込
む。3シンボルの冗長部73は、数バイトに分けて記録
される。総ビット数は12×3ビット=36ビットで、
最小限5バイト必要であるが、偶数バイトに分けて記録
した方が復号時に便利であるため、本実施例では6バイ
トに分けて記録される。図8に符号化時のタイミングチ
ャートを示す。
【0103】図8は図5の符号化時の動作を示すタイミ
ングチャートである。図8(a)はECC回路で符号を
生成する時のタイミングチャートであり、図8(b)は
ECC回路から出力されるデータのタイミングチャート
である。図8(a)において、情報部72から冗長部7
3が生成され、その後、1986クロック分だけ、DF
F701を空回しする。この間が冗長部が生成されるタ
イミングである。情報部72から冗長部73を生成し始
めると同時に、ECC回路104AからS/A&ラッチ
605に情報データが出力され始め、DFF701空回
しが終わった時点から冗長部73が出力され始める。次
に復号について図9のチャートを用いて説明する。
【0104】図9は図9の復号動作を説明するためのフ
ローチャートである。メモリ103から読み出されたデ
ータはステップ901に示すようにいったんS/A&ラ
ッチ605に保持される。データの読み出し方は冗長部
73、情報部72の順になる。次にステップ902に示
すようにECC回路104Aに冗長部73、情報部72
の順にデータを入力する。この時第1のスイッチ704
は中点に接続されておりOFF状態、第2のスイッチ7
05はON状態、第3のスイッチ706は接点706b
に接続される。第4のスイッチ707、第5のスイッチ
710はOFF状態となる。
【0105】冗長部73のデータはメモリ103から読
み出された後、S/A&ラッチ605で12ビットのデ
ータに変換されてECC回路104Aに入力される。ま
た、情報部72のデータは8ビットなので、S/A&ラ
ッチ605で上位4ビットを0入力として12ビットに
変換してECC回路104Aに入力される。冗長部73
と情報部72のデータが入力されることでECC回路1
04Aでシンドロームが生成される。次にステップ90
3に示すように、計算されたシンドロームを用いて、S
(x)=0かどうかの判定を行う。
【0106】最初にS(x)=0の場合について説明す
る。これは読取りデータにエラーが発生していない事を
示す。従ってこの場合は、ステップ909に示すよう
に、S/A&ラッチ605に保持していた情報部72を
そのまま出力する。この時第1のスイッチ704、第2
のスイッチ705、第3のスイッチ706、第4のスイ
ッチ707はOFF状態、第5のスイッチ710はON
状態となる。
【0107】次にS(x)≠0の場合について説明す
る。これは読み出したデータに誤りが発生した事を示
す。従ってECC回路104AはS/A&ラッチ605
に保持していたデータを読み出し、ステップ904に示
すような誤り訂正/検出処理を行う。まずステップ90
5に示すように冗長部73の誤り検索を行う。この時、
第2のスイッチ705はON状態、第1のスイッチ70
4、第3のスイッチ706、第4のスイッチ707、第
5のスイッチ710はOFF状態となる。この時NOR
回路703が1を出力すれば、冗長部73に誤りがある
ことになる。この場合はステップ909に示すように、
S/A&ラッチ605に保持していた情報部72をその
まま出力する。この時第1のスイッチ704、第2のス
イッチ705、第3のスイッチ706、第4のスイッチ
707はOFF状態、第5のスイッチ710はON状態
となる。NOR回路703が1を出力しなければ、冗長
部73に誤りが検出されなかったことを示すから、続い
てステップ906に示すように情報部72の誤り検索を
行う。この時第1のスイッチ704はOFF状態、第2
のスイッチ705はON状態、第3のスイッチ706は
OFF状態、第5のスイッチ710はON状態となる。
【0108】この時NOR回路703がiクロック目に
1を出力すれば、情報部の位置iに誤りが検出されたこ
とになる。(数22)より誤りパターンEpiは第4の
スイッチ707からの出力に等しいから、ECC回路1
04Aはステップ907に示すように読み出したデータ
と誤りパターンのXORを計算し、I/Oバッファ60
1にデータを出力する。情報部の誤り検索中、NOR回
路703が1を出力しない場合は第4のスイッチ707
はOFF状態となっているから、情報データはそのまま
I/Oバッファ601に出力される。ECC回路104
Aが情報部のデータ長kクロック演算を行ってもNOR
回路703が1を出力しない場合はステップ908に示
すようにECC回路104Aは外部に誤り検出情報を出
力する。図10に復号時のタイミングチャートをしめ
す。
【0109】図10は図5の復号時の誤り検出及び誤り
訂正の一実施例を示すタイミングチャートであり、図1
0(a)はECC回路での処理のタイミングを示し、図
10(b)は誤り訂正された情報の出力タイミングを示
す。図10(a)から明らかなように、冗長部73+情
報部72の構成を持つ組織符号では、情報部72と冗長
部73とから誤りを検出する。誤りがある場合には冗長
部73の誤りの有無を判定し、その後情報部の誤りを検
出すると共に誤り訂正を行う。ECC回路104Aの出
力には誤り検出及び訂正と同時に情報部72(データ)
が出力される。
【0110】図5に示すECC回路104Aにおいて
は、冗長部+情報部の符号構成し、割り算器709、検
出器702を採用することによって、図10(b)符号
未使用部の検出を省略することができる。また、乗算器
708、12ビットDFF701、XOR計算回路72
1〜723を用いることによって、シンボル単位での訂
正が可能となった。
【0111】以上のような方法及び装置を用いる事によ
り、メモリチップ102を単位として使用した場合、メ
モリ103の多値記憶化に伴うデータ読み出し率エラー
の増加に対しても十分な誤り訂正能力を持たせる事がで
きる。また誤り検出情報の出力が可能なため、相関性の
あるデータ等誤り補正が可能なデータに対して有効にデ
ータを使用する事ができる。さらに従来のRS方式に比
べて最大で5割程度、最小でも3割程度復号時間を短縮
する事ができる。
【0112】また誤り検出情報が、データ出力終了と同
時に出力されるので、データ出力後、誤り検出情報の出
力を待つ事による、外部ユーザの負担もなくなる。また
回路規模は従来RS方式と比べて割算回路の付加等のみ
ですむため、増加は最小限に抑えられる。
【0113】次に第二の実施例の場合について図11か
ら図15を用いて説明する。図11は本発明によるデー
タ記憶再生装置のECC回路の第二の実施例を示すブロ
ック図である。図において、12ビットDFF701は
DFF701a、701b、701cから構成され、検
出器702は検出回路702a、702bから構成さ
れ、ビット乗算器708は乗算回路708a、708
b、708cから構成され、ビット割算器709は割り
算回路709a、709b、709cから構成されてい
る点は図5と同じである。また、12ビットDFF70
1、検出器702、NOR回路703、第1のスイッチ
704、第2のスイッチ705、第3のスイッチ70
6、第5のスイッチ710、第4のスイッチ707、ビ
ット乗算回路708、ビット割算器709、XOR計算
回路720〜723第一の実施例と同一の機能を持つも
のである。
【0114】図11においては、12ビットバッファ7
11が新たに設けられており、12ビットバッファ71
1は第1から第3のバッファ711a、711b、71
1cから構成されている。この12ビットバッファ71
1は12ビットのデータを1クロック分保持しておくも
のである。また図5と同じくS/A&ラッチ605と第
1のスイッチ704、第3のスイッチ706の間にはス
イッチ/セレクタ603があるが、図11の説明では機
能的に関係がないため省略した。
【0115】次に符号構成について説明する。符号構成
は、(数9)、(数23)のどちらの符号構成を用いて
もよいが、第二の実施例では情報部72の後ろに冗長部
73を付加した構成とする。次にECC回路104B及
び、符号化復号方法について図12から図15を用いて
説明する。最初に符号化の方法について図12のチャー
トを用いて説明する。図12は図11の符号化の動作を
示すフローチャートである。ステップ1301に示すよ
うにI/Oバッファ601に入力されたデータは第1の
スイッチ704と第3のスイッチ706を通ってS/A
&ラッチ605とECC回路104Bに入力される。こ
の時第1のスイッチ704、第3のスイッチ706はそ
れぞれ接点704a、706a側に接続され、第2のス
イッチ705はON状態、第5のスイッチ710はOF
F状態となる。第一の実施例と同様の理由からI/Oバ
ッファ601は8ビット入力を12ビット入力に変換す
る。0入力の4ビットは12ビットのどこに入力しても
よいが、上位か下位4ビットに集中させた方が12ビッ
トから8ビットへの変換が楽である。従って第二の実施
例では上位4ビットに入力する。情報データを入力する
ことによりECC回路104Bでは冗長部が計算され
る。計算された冗長部はステップ1302に示すように
S/A&ラッチ605に出力される。冗長部のデータは
12ビット出力となり、12ビットDFF701の内容
が次数の高い方から順に出力される。第1のスイッチ7
04は接点704b側に接続され、第2のスイッチ70
5、第3のスイッチ706、第4のスイッチ707、第
5のスイッチ710はOFF状態となる。このようにし
て符号化されたデータは、S/A&ラッチ605からス
テップ1303に示すようにメモリ103に記録され
る。符号化されたデータの記憶方法はいろいろあるが、
復号時のデータ読み出し時に符号構成と同じ順にシーケ
ンシャルに読み出せた方が便利である。従って第二の実
施例ではメモリ103上での読み出し順が情報部、冗長
部の順になるようにメモリ103に記録する。記録単位
は1バイトであるため、3シンボルの冗長部は、第一の
実施例と同様に数バイトに分けて記録される。第一の実
施例の時と同様の理由から、第二の実施例では6バイト
に分けて記録される。図13に符号化時のタイミングチ
ャートをしめす。
【0116】図13は図11のECC回路の符号化時の
動作を示すタイミングチャートであり、図13(a)は
ECC回路内部で符号を構成する時のタイミングチャー
トであり、図13(b)はECC回路から出力されるデ
ータ出力のタイミングチャートを示す。図13(a)に
おいて、情報部82から冗長部83が生成される。冗長
部83が生成されると、図13(b)に示すように、同
時に情報部82がECC回路104BからS/A&ラッ
チ605に出力され、冗長部83が生成されると、この
冗長部は順次S/A&ラッチ605に出力される。
【0117】次に復号について図14のフローチャート
を用いて説明する。図14は図11の復号動作を示すフ
ローチャートである。図において、メモリ103から読
み出されたデータはステップ1401に示すようにいっ
たんS/A&ラッチ605に保持される。この時データ
の読み出し方は情報部82、冗長部83の順になる。
【0118】次にステップ1402に示すようにECC
回路104Bに情報部82、冗長部83の順にデータを
入力する。この時第1のスイッチ704はOFF状態、
第2のスイッチ705はON状態、第3のスイッチ70
6は接点706b側に接続される。第4のスイッチ70
7、第5のスイッチ710はOFF状態となる。符号化
されたデータはECC回路104Bに入力される。冗長
部83のデータはメモリから読み出された後で12ビッ
トのデータに変換されて入力される。また、情報部82
のデータは8ビットなので、上位4ビットを0入力とし
て12ビットに変換して入力する。
【0119】情報部82と冗長部83のデータが入力さ
れることでECC回路104Bではシンドロームが生成
される。次にステップ1403に示すように、計算され
たシンドロームを用いて、S(x)=0の判定を行う。
【0120】最初にS(x)=0の場合を示す。これは
読取りデータにエラーが発生していない事を示す。従っ
てこの場合は、ステップ1410に示すように、S/A
&ラッチ605に保持していた情報部を、そのまま出力
する。この時第1のスイッチ704、第2のスイッチ7
05、第3のスイッチ706、第4のスイッチ707は
OFF状態、第5のスイッチ710はON状態となる。
【0121】次にS(x)≠0の場合を示す。これは読
み出したデータに誤りが発生した事を示す。ECC回路
104BはS/A&ラッチ605に保持していたデータ
を再度読み出す。この時ECC回路104Bはステップ
1404に示すような誤り訂正/検出処理を行う。
【0122】最初にステップ1405に示すように、E
CC回路104Bに0を入力した状態で3シンボルすな
わちECCの冗長シンボル分だけ演算する。ECC回路
104Bには3つのバッファ711a、711b、71
1cが設けられているため、計算結果は3クロック遅れ
て第5のスイッチ710の手前のXOR計算回路720
に出力される。この時第1のスイッチ704はOFF状
態、第2のスイッチ705、第3のスイッチ706、第
5のスイッチ710はOFF状態となる。この時の演算
は、ECC回路104B内部のクロックで計算を行う。
【0123】次にステップ1406に示すように情報部
の誤り検索を行う。ステップ1406の演算からECC
回路104Bは外部クロックで制御される。この時第1
のスイッチ704はOFF状態、第2のスイッチ705
はON状態、第3のスイッチ706はOFF状態、第5
のスイッチ710はON状態となる。ECC回路104
Bは情報部82のデータ出力より3クロック進んで計算
を行っているが、バッファ711により第5のスイッチ
710の手前のXOR計算回路720で情報データと演
算を行うときは、ともに位置iにおけるデータとなる。
この時NOR回路703がiクロック目に1を出力すれ
ば、情報部の位置iに誤りが検出されたことになる。
(数22)より誤りパターンEpiは第4のスイッチ7
07からの出力に等しいから、ECC回路104Bはス
テップ1407に示すように読み出したデータと誤りパ
ターンのXORを計算し、I/Oバッファ601にデー
タを出力する。情報部82のデータで、NOR回路70
3が1を出力しない場合はその位置には誤りが無い事を
意味するから、データはそのままI/Oバッファ601
に出力される。
【0124】次にステップ1407に示すように冗長部
83の誤り検索を行う。この時、第1のスイッチ704
はOFF状態、第2のスイッチ705はON状態、第3
のスイッチ706、第4のスイッチ707、第5のスイ
ッチ710はOFF状態となる。この時NOR回路70
3が1を出力すれば、冗長部83に誤りが検出されたこ
とになる。NOR回路703が1を出力しなければ、冗
長部83に誤りが検出されなかったことを示す。ECC
回路104Bが冗長部のデータ長3クロック演算を行っ
てもNOR回路703が1を出力しない場合はステップ
1409に示すように誤り検出処理を行う。ECC回路
104Bは、外部に誤り検出情報を出力する。情報部8
2のデータはバッファ711によりECC回路104B
内の計算より3クロック遅れて出力されているから、誤
り検出情報の出力と同時に情報データ部の出力が終了す
る。図15に復号時のタイムチャートを示す。
【0125】図15は図11の復号時の誤り検出及び誤
り訂正の一実施例を示すタイミングチャートであり、図
15(a)はECC回路での処理のタイミングを示し、
図15(b)は誤り訂正された情報の出力タイミングを
示す。図15(a)から明らかなように、情報部82+
冗長部83の構成を持つ組織符号の情報部82と冗長部
83とから誤りの有無の検出を行う。誤りがある場合に
は図15(b)に示すように、情報部の誤りを訂正し、
バッファ711に出力し、3クロック遅れてECC回路
104Bから出力される。次に冗長部83の誤り検出、
訂正が行われる。本実施例においてはバッファ711に
より情報部82の出力を3クロック分遅らせているため
に、冗長部83の誤り検出及び訂正終了と同時に情報部
82の出力が完了する。
【0126】図11に示すECC回路104Bにおいて
は、情報部+冗長部の符号構成とし、割り算器709、
検出器702を採用することによって、符号未使用部の
検出を省略することができる。また、乗算器708、1
2ビットDFF701、XOR計算回路721〜723
を用いることによって、シンボル単位での訂正が可能と
なる。 以上のような方法及び装置を用いる事により、
メモリチップ102を単位として使用した場合、メモリ
103の多値記憶化に伴うデータ読み出し率エラーの増
加に対しても十分な誤り訂正能力を持たせる事ができ
る。また誤り検出情報の出力が可能である事によって、
相関性のあるデータ等誤り補正が可能なデータに対して
有効にデータを使用する事ができる。
【0127】さらに従来のRS方式に比べて最大で5割
程度、最小でも3割程度復号時間を短縮する事ができ
る。また、誤り検出情報が、データ出力終了と同時に出
力されるので、データ出力後、データ出力後、誤り検出
情報の出力を待つ事による、外部ユーザの負担もなくな
る。またこの方式の符号化は従来RS方式と同じである
ため、符号化時間が短くてすむという利点がある。
【0128】なお、第一の実施例および第二の実施例に
係るファイルシステムは、図16に示すようにデジタル
カメラや携帯情報端末機器、携帯電話、PHS用の記憶
装置にも使用する事ができる。図16はディジタルカメ
ラ、携帯情報端末、携帯電話とパーソナルコンピュータ
の接続を示す模式図である。図において、91はディジ
タルカメラ、92は携帯端末である。携帯電話93は携
帯情報端末の一部であるが、この図においては別に示し
ている。94はパーソナルコンピュータ(以下、PCと
云う。)、95、96、97はメモリチップである。
【0129】この構成において、メモリチップ95−9
7は、デジタルカメラ91や携帯情報端末92に脱着可
能な可搬型記憶媒体、例えばフラッシュメモリを収容し
たカード型の記憶媒体であるフラッシュメモリシステム
を構成し、外部ユーザーによる誤り訂正等は機器本体側
で行うものとする。可搬型記憶媒体のインターフェース
や形状等の規格は使用する機器に応じて何を用いてもよ
い。また、デジタルカメラ91で記録されたデータを用
いて、PC94デジタルカメラ本体上のソフト、あるい
はハードで誤り補正等を行う事もできる。半導体メモリ
の高集積化、多値記憶化により、経年変化によるリテン
ションエラーは増加すると予測される。対策としてはE
CCによる訂正手段が有効であるが、多値記録化によっ
て1素子で複数ビットエラーが発生するという可能性
や、メモリチップにECC回路104を実装しなければ
ならないという問題から、従来のようなビット単位訂正
ECCでは十分なビット信頼率を得る事ができない場合
がある。
【0130】本発明はそのような場合に、数ビット単位
でシンボル単位訂正を行うリードソロモン符号方式を用
いることで、1素子での複数ビットエラーにも対応でき
ることを可能にするものである。更に、リードソロモン
方式ECC回路104をメモリチップに搭載する際、従
来リードソロモン方式ECC回路104を搭載する際の
三つの問題点、すなわち回路規模、復号時間、復号時の
利便性を解決する事を可能にするものである。
【0131】
【発明の効果】回路規模については、符号化回路と復号
回路を共用する回路構成により、オンチップECCに十
分な回路規模を実現する事を可能にするものである。
【0132】復号時間については、(数24)から(数
26)で示すアルゴリズムで符号復号時間を短縮するた
めの手段を設けることで、同じ符号方式を用いる従来例
よりも3割から5割程度の復号時間短縮を実現する事を
可能にするものである。
【0133】復号時の利便性については、情報データ出
力の終了と同時に、シンボル単位訂正ECC回路104
からエラー訂正/検出情報出力が出力されるような手段
を設けることで、データ出力終了と同時に誤り検出情報
を出力する事を可能にするものである。
【図面の簡単な説明】
【図1】本発明によるデータ記憶再生装置の一実施例を
示す概念図である。
【図2】図1のデータ記憶再生装置の全体構成を示すブ
ロック図である。
【図3】図2のデータ記憶再生装置のチップ実装例を示
す模式図である。
【図4】メモリチップの全体構成を示す構成図である。
【図5】本発明によるデータ記録再生装置のECC回路
の一実施例を示すブロック図である。
【図6】図5に示すECC回路の符号化の動作を説明す
るためのフローチャートである。
【図7】本発明によるnシンボル符号の周期における符
号未使用部、情報部、冗長部を示す模式図である。
【図8】図6の符号化時の動作を示すタイミングチャー
トである。
【図9】図9の復号動作を説明するためのフローチャー
トである。
【図10】図6のECC回路での復号時の誤り検出及び
誤り訂正の処理のタイミングチャート及び誤り訂正され
た情報の出力時のタイミングチャートである。
【図11】本発明によるデータ記憶再生装置のECC回
路の第二の実施例を示すブロック図である。
【図12】図11の符号化の動作を示すフローチャート
である。
【図13】図11のECC回路内部で符号を構成する時
のタイミングチャート及びECC回路から出力される時
のタイミングチャートである。
【図14】図11の復号動作を示すフローチャートであ
る。
【図15】図11のECC回路での復号時の誤り検出及
び誤り訂正処理のタイミングチャート及び誤り訂正され
た情報の出力時のタイミングチャートである。
【図16】ディジタルカメラ、携帯情報端末、携帯電話
とパーソナルコンピュータの接続を示す模式図である。
【図17】フラッシュメモリの構造を示す模式図であ
る。
【図18】フラッシュメモリのコントロールゲート電圧
とドレイン電流の特性図である。
【図19】nシンボル符号の周期における符号未使用
部、情報部、冗長部を示す模式図である。
【図20】ECC回路での復号時の誤り検出及び誤り訂
正処理のタイミングチャート及び誤り訂正された情報の
出力時のタイミングチャートである。
【図21】ECC回路での復号時の誤り検出及び誤り訂
正処理のタイミングチャート及び誤り訂正された情報の
出力時のタイミングチャートである。
【符号の説明】
103…メモリ、104、104A、104B…内部E
CC回路、601…I/Oバッファ、605…S/Aラ
ッチ、701a、701b、701c…12ビット遅延
フリップフロップ(DFF:Delay Flip F
lop)、702a、702b…検出器、703…NO
R回路、704…第1のスイッチ、705…第2のスイ
ッチ、706…第3のスイッチ、707…第4のスイッ
チ、708…乗算器、709…割算器、709a、70
9b、709c…割り算回路、710…第5のスイッ
チ、720、721、722、723…XOR計算回
路、711a、711b、711c…バッファ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 野副 敦史 東京都青梅市新町六丁目16番地の3 株式 会社日立製作所デバイス開発センタ内 (72)発明者 辛島 哲次 東京都小平市上水本町五丁目20番1号 株 式会社日立製作所半導体事業本部内 (72)発明者 西谷 卓史 神奈川県川崎市麻布区王禅寺1099 株式会 社日立製作所システム開発研究所内 (72)発明者 片山 ゆかり 神奈川県川崎市麻布区王禅寺1099 株式会 社日立製作所システム開発研究所内

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】メモリを内蔵したメモリチップと、前記メ
    モリチップの内側に記憶対象の情報データを誤り訂正符
    号化し、かつ誤り訂正符号を生成する内部誤り訂正符号
    回路を設け、前記内部誤り訂正符号回路は前記メモリよ
    り読み出した誤り訂正符号を用いて前記の誤り訂正符号
    を復号することを特徴とする記憶再生装置。
  2. 【請求項2】請求項1記載の記憶再生装置において、前
    記内部誤り訂正符号化回路は前記情報データを誤り訂正
    符号化する符号化回路と、前記誤り訂正符号化された情
    報データを復号する復号回路とを備えることを特徴とす
    る記憶再生装置。
  3. 【請求項3】請求項2記載の記憶再生装置において、前
    記内部誤り訂正符号回路において、前記符号化回路と前
    記復号回路とを共用することを特徴とする記憶再生装
    置。
  4. 【請求項4】請求項1記載の記憶再生装置において、前
    記内部誤り訂正符号回路で冗長ビットと情報データとを
    訂正符号化する手段と、誤り訂正符号復号時に前記冗長
    ビットの演算結果を情報データより先に行う手段とを備
    え、前記誤り訂正符号回路の演算終了と、復号されたデ
    ータの出力が同時に終了することを特徴とする記憶再生
    装置。
  5. 【請求項5】請求項1記載の記憶再生装置において、内
    部誤り訂正符号回路に用いられる誤り訂正符号はリード
    ソロモン符号である事を特徴とする記憶再生装置。
  6. 【請求項6】メモリを内蔵したメモリチップと、前記メ
    モリチップの内側に記憶対象の情報データを誤り訂正符
    号化し、かつ誤り訂正符号を生成する内部誤り訂正符号
    回路を設け、前記内部誤り訂正符号回路は前記メモリよ
    り読み出した誤り訂正符号を用いて前記の誤り訂正符号
    を復号する記憶再生装置を備え、前記記憶再生装置は、
    データの一時蓄積、及びデータの入れ替えが可能である
    ことを特徴とする携帯情報端末。
  7. 【請求項7】メモリを内蔵したメモリチップと、前記メ
    モリチップの内側に記憶対象の情報データを誤り訂正符
    号化し、かつ誤り訂正符号を生成する内部誤り訂正符号
    回路を設け、前記内部誤り訂正符号回路は前記メモリよ
    り読み出した誤り訂正符号を用いて前記の誤り訂正符号
    を復号する記憶再生装置を備え、前記記憶再生装置は、
    データの一時蓄積、及びデータの入れ替えが可能である
    ことを特徴とするディジタルカメラ。
  8. 【請求項8】メモリを内蔵したメモリチップと、前記メ
    モリチップの内側に記憶対象の情報データを誤り訂正符
    号化し、かつ誤り訂正符号を生成する内部誤り訂正符号
    回路とを備え、誤り訂正符号復号時に前記内部誤り訂正
    符号回路の演算結果を逐次複数ビット割り算するステッ
    プと、割り算結果がある一定の要件を満たした場合、前
    記内部誤り訂正符号回路内で誤り訂正を行うステップ
    と、入力されたデータの復号が全て終了しても割り算結
    果が一定の要件を満たさない場合には、前記内部誤り訂
    正符号回路外部に誤り検出情報を出力し、前記情報デー
    タを復号するステップとを備えることを特徴とする誤り
    訂正方法。
  9. 【請求項9】メモリを内蔵したメモリチップと、前記メ
    モリチップの内側に記憶対象の情報データを誤り訂正符
    号化し、かつ誤り訂正符号を生成する内部誤り訂正符号
    回路とを備え、誤り訂正符号復号時に前記内部誤り訂正
    符号回路の演算結果を情報データに付加した冗長ビット
    分だけ保持して、情報データに付加した冗長ビット分だ
    け、前記演算の開始より遅延させて出力することによっ
    て、前記誤り訂正符号回路の演算終了と、復号データの
    出力終了を同時に行うステップを備えることを特徴とす
    る誤り訂正方法。
  10. 【請求項10】メモリを内蔵したメモリチップと、前記
    メモリチップの内側に記憶対象の情報データを誤り訂正
    符号化し、かつ誤り訂正符号を生成する内部誤り訂正符
    号回路とを備え、誤り訂正符号符号化時に、使用される
    符号長に応じた特定の回数だけ、符号化回路に一定値を
    入力し続けることによって、情報データと冗長ビット部
    の構成を変化させるステップと、誤り訂正符号復号時に
    冗長ビット部の演算結果を情報データより先に行い、誤
    り訂正回路の演算終了と、復号データの出力終了を同時
    に行うステップとを備えることを特徴とする誤り訂正方
    法。
JP11001121A 1998-01-07 1999-01-06 記憶再生装置、誤り訂正方法及びこれらを用いた携帯情報端末ならびにディジタルカメラ Pending JPH11272568A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11001121A JPH11272568A (ja) 1998-01-07 1999-01-06 記憶再生装置、誤り訂正方法及びこれらを用いた携帯情報端末ならびにディジタルカメラ

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP10-1324 1998-01-07
JP132498 1998-01-07
JP11001121A JPH11272568A (ja) 1998-01-07 1999-01-06 記憶再生装置、誤り訂正方法及びこれらを用いた携帯情報端末ならびにディジタルカメラ

Publications (1)

Publication Number Publication Date
JPH11272568A true JPH11272568A (ja) 1999-10-08

Family

ID=26334289

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11001121A Pending JPH11272568A (ja) 1998-01-07 1999-01-06 記憶再生装置、誤り訂正方法及びこれらを用いた携帯情報端末ならびにディジタルカメラ

Country Status (1)

Country Link
JP (1) JPH11272568A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004280790A (ja) * 2003-02-28 2004-10-07 Toshiba Microelectronics Corp Ecc制御装置
JP2007274239A (ja) * 2006-03-30 2007-10-18 Fujitsu Ltd 誤り訂正装置
CN101258471A (zh) * 2005-07-15 2008-09-03 Gsip有限责任公司 闪存纠错
JP2013541112A (ja) * 2010-11-02 2013-11-07 マイクロン テクノロジー, インク. コピーバック動作
CN112084071A (zh) * 2020-09-14 2020-12-15 海光信息技术有限公司 一种计算单元运算加固方法、并行处理器及电子设备

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004280790A (ja) * 2003-02-28 2004-10-07 Toshiba Microelectronics Corp Ecc制御装置
CN101258471A (zh) * 2005-07-15 2008-09-03 Gsip有限责任公司 闪存纠错
JP2009501380A (ja) * 2005-07-15 2009-01-15 ジーエス・アイピー・リミテッド・ライアビリティ・カンパニー フラッシュエラー訂正
US8140939B2 (en) 2005-07-15 2012-03-20 Gs Ip Limited Liability Company Flash error correction
JP2007274239A (ja) * 2006-03-30 2007-10-18 Fujitsu Ltd 誤り訂正装置
JP4598711B2 (ja) * 2006-03-30 2010-12-15 富士通株式会社 誤り訂正装置
JP2013541112A (ja) * 2010-11-02 2013-11-07 マイクロン テクノロジー, インク. コピーバック動作
CN112084071A (zh) * 2020-09-14 2020-12-15 海光信息技术有限公司 一种计算单元运算加固方法、并行处理器及电子设备
CN112084071B (zh) * 2020-09-14 2023-09-19 海光信息技术股份有限公司 一种计算单元运算加固方法、并行处理器及电子设备

Similar Documents

Publication Publication Date Title
US8713411B2 (en) Encoding and/or decoding memory devices and methods thereof
US10243589B2 (en) Multi-bit error correction method and apparatus based on a BCH code and memory system
US6279133B1 (en) Method and apparatus for significantly improving the reliability of multilevel memory architecture
US8321760B2 (en) Semiconductor memory device and data processing method thereof
US7734981B2 (en) Signal decoder, a signal decoding method and a storage system
US8418021B2 (en) Storage controller with encoding/decoding circuit programmable to support different ECC requirements and related method thereof
KR100535291B1 (ko) 엔코딩 방법 및 메모리 장치
JP2001175542A (ja) 記録再生装置および半導体メモリ
US20080133986A1 (en) Error correction for flash memory
US7231585B2 (en) Error correction for flash memory
KR20090099757A (ko) 메모리 장치 및 인코딩/디코딩 방법
JP2010522924A (ja) 読み取りレベル制御装置およびその方法
KR101645837B1 (ko) 에러 코딩 및 변조 기법들을 조합하기 위한 장치들 및 방법들
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
CN111628780A (zh) 数据编码、解码方法及数据处理***
KR20040075954A (ko) 에러 정정 디코더에서의 이중 치엔 탐색 블록
TW201145292A (en) A hardware module as XOR parity control
KR20190051245A (ko) 폴라 부호 복호화 장치 및 방법
JPH11272568A (ja) 記憶再生装置、誤り訂正方法及びこれらを用いた携帯情報端末ならびにディジタルカメラ
KR100290964B1 (ko) 기억재생장치및이기억재생장치의에러정정방법
CN110795271A (zh) 对用户数据执行纠错的纠错电路和使用其的纠错方法
CN113485866B (zh) 译码方法及相关装置、电子设备和存储介质
US10819374B2 (en) Accelerated processing for maximum distance separable codes using composite field extensions
JP2000349652A (ja) 誤り訂正手段を備えた記憶装置
JP5336501B2 (ja) ビット列間のエラー制御コードをエンコードする方法およびエンコードシステム