JPH11213693A - メモリ装置 - Google Patents

メモリ装置

Info

Publication number
JPH11213693A
JPH11213693A JP1408298A JP1408298A JPH11213693A JP H11213693 A JPH11213693 A JP H11213693A JP 1408298 A JP1408298 A JP 1408298A JP 1408298 A JP1408298 A JP 1408298A JP H11213693 A JPH11213693 A JP H11213693A
Authority
JP
Japan
Prior art keywords
data
bit
code
memory
encoder
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
JP1408298A
Other languages
English (en)
Inventor
Masayuki Hattori
雅之 服部
Toshiyuki Miyauchi
俊之 宮内
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP1408298A priority Critical patent/JPH11213693A/ja
Publication of JPH11213693A publication Critical patent/JPH11213693A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

(57)【要約】 【課題】符号長を長くし、少ない冗長データで高い誤り
訂正能力を持たせる。 【解決手段】1バイト(8ビット)のデータである入力
データDinを符号化器12に供給する。符号化器12で
は、入力データDinを書き込みデータWDとしてのSS
RS符号(1シンボル=8ビット、情報512シンボ
ル、冗長データ5シンボル)に変換する。符号化器12
からの書き込みデータWDを変換器13で4ビットデー
タに変換してセルアレイ11に供給し、各セルに順次書
き込む。読み出し時、復号器15では、呼び出しデータ
RDとしてのSSRS符号をリード・ソロモン符号(1
シンボル=10ビット、517シンボルの2誤り訂正可
能な短縮化リード・ソロモン符号)に戻して誤り訂正処
理をし、出力データDoutとしての8ビットデータを得
る。誤り訂正符号としてSSRS符号を用いることで、
例えばリード・ソロモン符号を用いるものと比べて符号
長を長くできる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、メモリ装置に関
する。詳しくは、少なくとも1ビットのデータを記憶す
るメモリセルからなるメモリに対する誤り訂正符号とし
てSSRS符号(Subspace Subcodes of Reed-Solomon
Codes)を用いることによって、符号長を長くし、少な
い冗長データで高い誤り訂正能力を持たせるようにした
メモリ装置に係るものである。
【0002】
【従来の技術】近年、メモリ装置として、フラッシュメ
モリ等の半導体メモリが広く使用されている。フラッシ
ュメモリでは、半導体基板上に積層形成された浮遊ゲー
ト(電荷蓄積層)および制御ゲートからなるメモリセル
を多数並べてなるセルアレイ(通常は6500万セル程
度)を用いてデータの記憶を行っている(図11参
照)。この場合、各セルアレイには、浮遊ゲートに蓄え
る電荷量の大きさによってデータが記憶される。
【0003】図12A,Bは、フラッシュメモリに用い
るメモリセル100の構造を示している。すなわち、メ
モリセル100は、半導体基板101に電荷蓄積層(浮
遊ゲート)102および制御ゲート103が積層されて
形成されている。メモリセル100にデータを書き込む
場合には、浮遊ゲート102に蓄える電荷量を制御し、
記憶するデータ(“0”または“1”)に応じて、図1
3に示した2値のしきい電圧のいずれかにする。一方、
メモリセル100よりデータを読み出す場合には、2値
のしきい電圧の中間に設けた基準電圧を用い、メモリセ
ル100のしきい電圧が基準電圧よりも高いか低いかに
よって、そのメモリセル100のデータが“0”である
か“1”であるかの判断をする。
【0004】半導体メモリでは、高集積度化、高密度化
に伴う種々の影響による信頼性低下を防ぐことが重要な
課題となっている。特に、書き込み/消去数の増加に伴
うセル不良のように経年変化によって起こる不良の防止
のために、例えばハミング符号やBCH符号(Bose-Chau
dhuri-Hocquenghem code)、あるいはそれらを短縮化し
た符号のような誤り訂正符号を用いた誤り訂正回路を半
導体メモリの内部に組み込むことがしばしばある。
【0005】誤り訂正符号は、情報データに対して検査
データと呼ばれる冗長なデータが付加されてなり、その
検査データを用いることで符号内の誤りの訂正が行われ
る。なお、ハミング符号、BCH符号および符号の短縮
化については、例えば今井秀樹著「符号理論」(電子情
報通信学会)等の文献に論じられている。
【0006】誤り訂正符号を半導体メモリの内部に組み
込むことで、経年変化によってある程度のセル不良が起
こっても、書き込んだデータの読出エラーは起こらない
ようにすることが可能になる。ただし、一般に誤り訂正
符号では、多くの誤りを訂正するためには冗長なデータ
である検査データを多く持つ必要があり、多くのセルを
使うことになるのと同時に、誤り訂正回路もより大きく
なるという傾向がある。
【0007】次に、フラッシュメモリの多値記録につい
て述べる。近年、フラッシュメモリの記憶容量の増大を
目的として、1つのセルに多ビットを記憶するフラッシ
ュメモリが提案されている。例えば、4値の多値記録を
行うフラッシュメモリのメモリセル100では、図14
A〜Dに示すように、浮遊ゲート102に蓄える電荷量
を制御して、記憶するデータ(“11”,“10”,
“01”または“00”に応じて、図15に示した4値
のしきい電圧のいずれかにする。データを読み出すに
は、各しきい電圧の間にそれぞれ設けた3値の基準電圧
を用いる。メモリセル100のしきい電圧と各基準電圧
とを比較することによって、メモリセル100のデータ
を読み取る。これによって1つのメモリセル100で2
ビットの情報を記憶できる。
【0008】
【発明が解決しようとする課題】多値記録のフラッシュ
メモリに対しても2値記録の場合と同様に誤り訂正回路
を用いることができる。ただし、多値記録を行うフラッ
シュメモリでは、1つのセル不良によって複数ビットが
誤りになるため、誤り訂正符号としては、数ビットをひ
とまとめにして1シンボルとし、シンボル単位で誤りを
訂正する符号が有効となる。シンボル誤りを訂正する符
号で最も標準的な符号としては、リード・ソロモン符号
(Reed-Solomon Code)および短縮化リード・ソロモン
符号がある。なお、リード・ソロモン符号についても、
その内容に関しては前掲の今井秀樹著「符号理論」等の
文献で論じられている。
【0009】図16は、8ビット(1バイト)を1シン
ボルとして2誤り訂正可能な短縮化リード・ソロモン符
号を用いた誤り訂正回路を内部に組み込んだ16値(4
ビット)記録を行うフラッシュメモリ110の構成例を
示している。この短縮化リード・ソロモン符号の場合、
図17に示すように、検査データ(冗長データ)は4バ
イトとなり、符号全体の長さは、132バイト=105
6ビットとなる。
【0010】図16において、フラッシュメモリ110
は、複数のメモリセルを有するセルアレイ111と、8
ビットのデータである入力データDinを短縮化リード・
ソロモン符号に変換し、セルアレイ111に書き込むた
めの書き込みデータWDを得る符号化器112と、この
符号化器112より出力される書き込みデータWDを、
図18に示すように、8ビットのデータから4ビットの
データ(メモリセルに記憶するための4ビットデータ)
に変換してセルアレイ111に供給する8ビット/4ビ
ット変換器113とを有している。
【0011】また、フラッシュメモリ110は、セルア
レイ111より読み出される読み出しデータRDを、図
18に示すように、4ビットのデータから8ビットのデ
ータに変換する4ビット/8ビット変換器114と、こ
の4ビット/8ビット変換器114で8ビットのデータ
に変換された読み出しデータRDに誤り訂正処理を施し
て出力データDoutを得るリード・ソロモン符号復号器
115とを有している。この場合、符号化器112およ
びリード・ソロモン符号復号器115は誤り訂正回路を
構成している。そして、符号化器112では、入力デー
タDinの128バイト毎に4バイトの検査データが付加
され、情報データが128バイトの2誤り訂正可能な短
縮化リード・ソロモン符号が生成される。
【0012】図16に示すフラッシュメモリ110にお
いて、データの書き込みは以下のように行われる。すな
わち、8ビットのデータである入力データDinは符号化
器112に入力される。そして、この符号化器112で
は、入力データDinが情報データが128バイトの短縮
化リード・ソロモン符号に変換されて書き込みデータW
Dとされる。そして、符号化器112より出力される書
き込みデータWDは、8ビット/4ビット変換器113
で8ビットのデータより4ビットのデータに変換されて
セルアレイ111に供給され、セルアレイ111を構成
する各メモリセルに順次書き込まれる。
【0013】一方、データの読み出しは以下のように行
われる。セルアレイ111より読み出された読み出しデ
ータRDは4ビット/8ビット変換器114で4ビット
のデータより8ビットのデータに変換されてリード・ソ
ロモン符号復号器115に供給される。リード・ソロモ
ン符号復号器115では、読み出しデータRDの1符号
内に誤りがなければ情報データがそのまま出力データD
outとしてバイト単位で出力され、また読み出しデータ
RDの1符号内の誤りのバイト数が1または2であると
きは、誤りが訂正された後に情報データが出力データD
outとしてバイト単位で出力される。
【0014】図16に示すような構成とすることで、多
値記録のフラッシュメモリに対しても誤り訂正回路を用
いることができる。
【0015】次に、複数のフラッシュメモリ(フラッシ
ュメモリチップ)を用いたメモリカードについて述べ
る。1チップのフラッシュメモリでは扱えない量のデー
タを記憶するためのメモリ装置として、複数個のフラッ
シュメモリとコントローラとからなるメモリカードがあ
る。
【0016】図19は、8ビット(1バイト)を1シン
ボルとして2誤り訂正可能な短縮化リード・ソロモン符
号を用いた誤り訂正回路をコントローラに備えるメモリ
カード120の構成例を示している。このメモリカード
120は、16値(4ビット)記録を行うフラッシュメ
モリを2個使用したものである。
【0017】図19において、メモリカード120は、
2個のフラッシュメモリ121,122と、これらフラ
ッシュメモリ121,122に対してデータの書き込み
や読み出しを行うためのコントローラ123とを備えて
いる。
【0018】そして、コントローラ123は、カード外
部とのデータのやり取りを行うためのカードインタフェ
ース124と、8ビットのデータである入力データDin
を短縮化リード・ソロモン符号に変換し、フラッシュメ
モリ121,122に書き込むための書き込みデータW
Dを得る符号化器125と、この符号化器125より出
力される書き込みデータWDを、図18に示すように、
8ビットのデータから4ビットのデータ(メモリセルに
記憶するための4ビットデータ)に変換する8ビット/
4ビット変換器126とを有している。
【0019】また、メモリカード120は、フラッシュ
メモリ121,122より読み出される読み出しデータ
RDを、図18に示すように、4ビットのデータから8
ビットのデータに変換する4ビット/8ビット変換器1
27と、この4ビット/8ビット変換器127で8ビッ
トのデータに変換された読み出しデータRDに誤り訂正
処理を施して出力データDoutを得るリード・ソロモン
符号復号器128と、フラッシュメモリ121,122
に対するデータの書き込み/読み出しをコントロールす
るフラッシュインタフェース129とを有して構成され
ている。
【0020】この場合、符号化器125およびリード・
ソロモン符号復号器128は誤り訂正回路を構成してい
る。そして、符号化器125では、入力データDinの1
28バイト毎に4バイトの検査データが付加され、情報
データが128バイトの2誤り訂正可能な短縮化リード
・ソロモン符号が生成される。
【0021】図19に示すメモリカード120におい
て、データの書き込みは以下のように行われる。すなわ
ち、入力データDinはカードインタフェース124によ
ってカード内部に取り込まれて符号化器125に供給さ
れる。この符号化器125では、入力データDinが情報
データが128バイトの短縮化リード・ソロモン符号に
変換されて書き込みデータWDとされる。そして、符号
化器125より出力される書き込みデータWDは、8ビ
ット/4ビット変換器126で8ビットのデータより4
ビットのデータに変換され、フラッシュインタフェース
129のコントロールに従ってフラッシュメモリ121
またはフラッシュメモリ122に書き込まれる。
【0022】一方、データの読み出しは以下のように行
われる。フラッシュインタフェース129のコントロー
ルに従ってフラッシュメモリ121またはフラッシュメ
モリ122より読み出された読み出しデータRDは、4
ビット/8ビット変換器127で4ビットのデータより
8ビットのデータに変換されてリード・ソロモン符号復
号器128に供給される。リード・ソロモン符号復号器
128では、読み出しデータRDの1符号内に誤りがな
ければ情報データがそのまま出力データDoutとしてバ
イト単位で出力され、また読み出しデータRDの1符号
内の誤りのバイト数が1または2であるときは、誤りが
訂正された後に情報データが出力データDoutとしてバ
イト単位で出力される。このようにリード・ソロモン符
号復号器128より出力される出力データDoutはカー
ドインタフェース124を介してカード外部に出力され
る。
【0023】図19に示すような構成とすることで、複
数のフラッシュメモリを用いたメモリカードにおいても
誤り訂正回路を用いることができる。コントローラで誤
り訂正を行う場合、誤り訂正回路をフラッシュメモリに
内蔵する場合に比べて、より大きな誤り訂正回路を持つ
ことができるため、多値記録の影響で多くの誤りを発生
するようになってもこれを訂正することが可能になる。
【0024】次にフラッシュメモリからのデータの読み
出しのプロセスを改めて述べる。セルアレイ(図11参
照)からの読み出しは、1セル単位ではなく、ページと
呼ばれる単位(例えば1024セル)のデータをまとめ
て同時に読み出し、それを出力バッファより逐次出力す
ることで行うようになっている(図20参照)。よっ
て、例えば16値記録を行うフラッシュメモリでは、1
ページを1024セルの情報とすると、4096ビット
(512バイト)の情報を1つの単位として読み出すこ
とになる。ここで、メモリ外部とのデータ入出力は1バ
イト=8ビットで行うことが多いため、リード・ソロモ
ン符号の1シンボルも8ビットとするのが整合性が高
い。
【0025】しかし、8ビットを1シンボルとしたリー
ド・ソロモン符号は符号長が255となるため、符号化
の際には512バイトのデータを3つないし4つに分割
して、それぞれに検査データ(冗長データ)を付加して
符号化することが必要となる。図21は、512バイト
のデータを、情報データ128バイトの1誤り訂正可能
な短縮化リード・ソロモン符号4つで符号化した場合の
符号化のようすを示している。
【0026】ここで、誤り訂正符号の一般な性質とし
て、同じ数の検査データを付加するならば情報データを
分割して符号化よりも一度に符号化する方が性能が高い
という性質があり、512バイトの情報データを同時に
読み出すならばそれをひとまとめにして符号化するほう
が効率がよい。
【0027】そこで、この発明では、符号長を長くし、
少ない冗長データで高い誤り訂正能力を持たせるように
したメモリ装置を提供することを目的とする。
【0028】
【課題を解決するための手段】この発明に係るメモリ装
置は、複数のメモリセルを有し、それぞれのメモリセル
が少なくとも1ビットのデータを記憶するセルアレイ
と、入力データをSSRS符号に変換して上記セルアレ
イに書き込むための書き込みデータを得る符号化器と、
セルアレイより読み出される読み出しデータに誤り訂正
処理を施して出力データを得るSSRS符号復号器とを
備えるものである。
【0029】また、この発明に係るメモリ装置は、複数
のメモリセルを有し、それぞれのメモリセルが少なくと
も1ビットのデータを記憶するセルアレイを持つメモリ
部と、このメモリ部に対してデータの書き込みや読み出
しを行うためのコントローラとを備え、コントローラ
は、入力データをSSRS符号に変換してメモリ部に書
き込むための書き込みデータを得る符号化器と、メモリ
部より読み出される読み出しデータに誤り訂正処理を施
して出力データを得るSSRS符号復号器とを有するも
のである。
【0030】セルアレイの各メモリセルには、それぞれ
少なくとも1ビットのデータが記憶される。書き込み
時、入力データは符号化器によって書き込みデータとし
てのSSRS符号に変換され、このSSRS符号がセル
アレイに書き込まれる。SSRS符号は、リード・ソロ
モン符号と同様に複数ビットをまとめて1シンボルと
し、シンボル単位で誤り訂正を行う誤り訂正符号である
が、1シンボルのビット数を同じとすれば、リード・ソ
ロモン符号に比べて符号長を長くすることができる。読
み出し時、セルアレイの各メモリセルに記憶されていた
データが読み出され、この読み出しデータに対してSS
RS符号復号器で誤り訂正処理が施されて出力データが
得られる。
【0031】このように、少なくとも1ビットのデータ
を記憶するメモリセルからなるメモリに対する誤り訂正
符号としてSSRS符号を用いることで、符号長を長く
でき、少ない冗長データで高い誤り訂正能力を持たるこ
とが可能となる。
【0032】
【発明の実施の形態】以下、図面を参照しながら、この
発明の実施の形態について説明する。まず、SSRS符
号について説明する。
【0033】SSRS符号は、M. Hattori, "Subspace
Subcodes of Reed-Solomon Codes"(Ph.D. dissertatio
n, California Institute of Technology, Pasadena, C
alifornia, 1995 )において提案された符号である。そ
の内容を例を用いて説明する。
【0034】いま、1シンボル=3ビットの情報10シ
ンボルの2誤り訂正符号化をSSRS符号を用いて行う
場合を例とする。ここで、1シンボル=3ビットのリー
ド・ソロモン符号は、符号長が7までしか取れないので
10シンボルの符号化は不可能である。
【0035】そこで、まず、3ビットの情報10シンボ
ルに対して、それぞれ1ビットの0を付加して、4ビッ
ト情報10シンボルに変換する。これを1シンボル=4
ビットの2誤り訂正可能なリード・ソロモン符号に符号
化すると、4シンボルの検査データが生成される(図6
参照)。ここで、4シンボルの検査データの下位1ビッ
トは0になるとは限らない。
【0036】そこで、情報に下位1ビットが0である仮
データ1シンボルを付加して、仮データを含む11シン
ボルのデータを符号化したときに検査データの下位1ビ
ットを0にすることを考える。もし、このような仮デー
タをうまく選ぶことができたとすると、その符号の上位
3ビットだけを取り出すことで、1シンボル=3ビッ
ト、情報10シンボル、冗長データ5シンボルの2誤り
訂正符号を実現できることになる。
【0037】実際、前掲のHattoriの文献によれば、既
約多項式として、 x4+x+1 を用い、生成多項式を α94+α63+α13x+1=0 とした場合には、図7に示すように検査データ位置を0
〜3とし、仮データ位置を7とすることで符号化ができ
る。4ビット化した入力データI、検査データP、仮デ
ータQを、それぞれ I=[I0,I1,I2,・・・,I9] P=[P0,P1,P2,P3] Q=[Q0] として、図7ではそのビット展開の様子を示している。
【0038】具体的な符号化は以下の手順で行われる。
まず、Q0=(0000)として、[I0,I1,I2,Q0
3,・・・,I9]を通常のリード・ソロモン符号化器で
符号化する。図8はその符号化の様子を示している。こ
のときの検査データの最下位ビットP0 (3),P1 (3),P
2 (3),P3 (3)をもとに、図9に示すような対応に従っ
て、仮データQ0を決定する。求まったQ0から、改めて
[I0,I1,I2,Q0,I3,・・・,I9]を通常のリー
ド・ソロモン符号化器で符号化すると、検査データの最
下位ビットはすべて0になる。
【0039】例えば、 I= [(0100),(1010),(0110),(0000),・・・,(0000)] とすると、 P0 (3)=0,P1 (3)=1,P2 (3)=0,P3 (3)=1 となるので、図9より、Q0=(1000)を得る。図10
は、このQ0をもとに、 [I0,I1,I2,Q0,I3,・・・,I9] =[(0100),(1010),(0110),(1000),(0000),・・・,(0000)] をリード・ソロモン符号化した結果を示している。確か
に、検査データの最下位ビットが0になっていることが
分かる。
【0040】以上の操作で得られた符号の上位3ビット
だけを取り出すことで、SSRS符号の符号化ができ
る。なお、SSRS符号の復号は、通常のリード・ソロ
モン符号復号器を用いることで行うことができる。
【0041】一般にどの程度の仮データの付加によって
SSRS符号を構成できるかについては、前掲のHattor
iの文献に詳しく論じられている。なお、SSRS符号
と同様の発想の誤り訂正符号として、Digital Equipmen
t Corp.が提案したmodifiedREED SOLOMON符号(European
Patent 0-290-349-A2)があるが、SSRS符号では付
加するべき仮データの大きさを厳密に見積もることがで
きる。
【0042】図1は、第1の実施の形態としてのフラッ
シュメモリ10の構成を示している。このフラッシュメ
モリ10は、2誤り訂正可能なSSRS符号を用いた誤
り訂正回路を組み込んだ16値(4ビット)記録を行う
フラッシュメモリである。ここで、外部とのデータの入
出力を1バイト(8ビット)単位で行い、1シンボル=
10ビットのリード・ソロモン符号をもとに構成した1
シンボル=8ビットのSSRS符号を用いて、1ページ
内の情報512バイトをひとまとめにして符号化する。
2誤り訂正のための冗長データは4シンボルであり、付
加する仮データは前掲のHattoriの論文のAppendix Cよ
り6ビット必要であることが分かるので、1シンボルの
付加で構成できる。よって符号長は517となるが、1
0ビットを1シンボルとするリード・ソロモン符号の符
号長は1023であるので、符号長517の符号はその
短縮化によって構成が可能である。
【0043】図1において、フラッシュメモリ10は、
複数のメモリセルを有するセルアレイ11と、8ビット
のパラレルデータである入力データDinをSSRS符号
に変換し、セルアレイ11に書き込むための書き込みデ
ータWDを得る符号化器12と、この符号化器12より
出力される書き込みデータWDを、図18に示すよう
に、8ビットのデータから4ビットのデータ(メモリセ
ルに記憶するための4ビットデータ)に変換してセルア
レイ11に供給する8ビット/4ビット変換器13とを
有している。
【0044】また、フラッシュメモリ10は、セルアレ
イ11より読み出される読み出しデータRDを、図18
に示すように、4ビットのデータから8ビットのデータ
に変換する4ビット/8ビット変換器14と、この4ビ
ット/8ビット変換器14で8ビットのデータに変換さ
れた読み出しデータRDに誤り訂正処理を施して出力デ
ータDoutを得る復号器15とを有している。この場
合、符号化器12および復号器15は誤り訂正回路を構
成している。
【0045】図2は、符号化器12の構成を示してい
る。この符号化器12は、入力データDinとしての8ビ
ットのデータに対して、図3に示すように、2ビットの
0を付加して10ビットのデータに変換する8ビット/
10ビット変換器12aと、この変換器12aより出力
される10ビットのデータを1シンボル=10ビットの
2誤り訂正可能な短縮化リード・ソロモン符号に変換す
るリード・ソロモン符号化器12bとを有している。リ
ード・ソロモン符号化器12bでは、情報512シンボ
ル毎に全てのビットが0である1シンボルの仮データが
付加され、従って513シンボル毎に4シンボルの検査
データが付加された短縮化リード・ソロモン符号が生成
される。
【0046】また、符号化器12は、リード・ソロモン
符号化器12bより出力される1シンボル=10ビット
のリード・ソロモン符号をもとに、情報512シンボル
毎に1シンボルの仮データを付加する仮データ付加回路
12cを有している。仮データ付加回路12cでは、リ
ード・ソロモン符号化器12bより出力されるリード・
ソロモン符号の4シンボルの検査データの下位2ビット
の値をもとに、上述したSSRS符号化のために、付加
すべき1シンボルの仮データ(下位2ビットは0)が決
定される。なお、仮データは、テーブル等を利用して求
められる。
【0047】また、符号化器12は、仮データ付加回路
12cの出力データを1シンボル=10ビットの2誤り
訂正可能な短縮化リード・ソロモン符号に変換するリー
ド・ソロモン符号化器12dと、このリード・ソロモン
符号化器12dより出力されるリード・ソロモン符号と
しての10ビットのデータに対して、図3に示すよう
に、下位2ビットの0を削除し、SSRS符号である書
き込みデータWDとしての8ビットのデータを得る10
ビット/8ビット変換器12eとを有している。リード
・ソロモン符号化器12dでは、513シンボル(情報
512シンボル+仮データ1シンボル)毎に4シンボル
の検査データが付加された短縮化リード・ソロモン符号
が生成される。このリード・ソロモン符号の下位2ビッ
トは0となる。
【0048】以上のように構成された符号化器12の動
作を説明する。8ビットのデータである入力データDin
は、8ビット/10ビット変換器12aに供給され、2
ビットの0が付加されて10ビットのデータに変換され
る(図3参照)。そして、この10ビットのデータは、
リード・ソロモン符号化器12bに供給され、513シ
ンボル(情報512シンボル+全てのビットが0である
仮データ1シンボル)毎に4シンボルの検査データが付
加された短縮化リード・ソロモン符号に変換される。
【0049】リード・ソロモン符号化器12bより出力
される517シンボルのリード・ソロモン符号は、仮デ
ータ付加回路12cに供給される。そして、仮データ付
加回路12cでは、4シンボルの検査データの下位2ビ
ットの値をもとに付加すべき1シンボルの仮データ(下
位2ビットは0)が決定され、517シンボルのリード
・ソロモン符号を構成する情報512シンボルにその仮
データ1シンボルが付加されて出力される。
【0050】仮データ付加回路12cより出力される1
0ビットのデータは、リード・ソロモン符号化器12d
に供給され、513シンボル(情報512シンボル+仮
データ1シンボル)毎に4シンボルの検査データが付加
された短縮化リード・ソロモン符号に変換される。この
場合、付加される4シンボルの検査データの下位2ビッ
トは0となり、従って517シンボルのリード・ソロモ
ン符号を構成する各シンボルの下位2ビットは全て0と
なる。そして、リード・ソロモン符号器12dより出力
されるリード・ソロモン符号は、10ビット/8ビット
変換器12eに供給され、0となっている各シンボルの
下位2ビットが削除され、書き込みデータWDとしての
8ビットのデータに変換される(図3参照)。この書き
込みデータWDは、1シンボル=8ビット、情報512
シンボル、冗長データ5シンボルのSSRS符号とな
る。
【0051】図4は、復号器15の構成を示している。
この復号器15は、読み出しデータRDであるSSRS
符号(1シンボル=8ビット、情報512シンボル、冗
長データ5シンボル)としての8ビットデータに対し
て、図3に示すように、2ビットの0を付加して10ビ
ットのデータ、すなわち1シンボル=10ビットで、5
17シンボルの2誤り訂正可能な短縮化リード・ソロモ
ン符号に戻す8ビット/10ビット変換器15aを有し
ている。
【0052】また、復号器15は、8ビット/10ビッ
ト変換器15aで戻されたリード・ソロモン符号に対し
て誤り訂正処理を施すリード・ソロモン符号復号器15
bと、この復号器15bで誤り訂正された各情報512
シンボルに対して、図3に示すように、下位2ビットの
0を削除し、出力データDoutとしての8ビットのデー
タを得る10ビット/8ビット変換器15cとを有して
いる以上のように構成された復号器15の動作を説明す
る。読み出しデータRD(SSRS符号)としての8ビ
ットのデータは、8ビット/10ビット変換器15aに
供給され、2ビットの0が付加されて10ビットのデー
タ、すなわち517シンボルの2誤り訂正可能な短縮化
リード・ソロモン符号に戻される(図3参照)。そし
て、このリード・ソロモン符号がリード・ソロモン符号
復号器15bに供給される。この復号器15bでは、1
符号内の誤りのシンボル数が1または2であるときは、
誤りが訂正される。そして、この復号器15bで誤り訂
正された情報512シンボルは、10ビット/8ビット
変換器15cに供給され、各シンボルの下位2ビットの
0が削除さて8ビットのデータに変換され(図3参
照)、出力データDoutとされる。
【0053】図1に示すフラッシュメモリ10におい
て、データの書き込みは以下のように行われる。すなわ
ち、1バイト(8ビット)のデータである入力データD
inは符号化器12に供給されて、書き込みデータWDと
してのSSRS符号(1シンボル=8ビット、情報51
2シンボル、冗長データ5シンボル)に変換される。そ
して、符号化器12より出力される書き込みデータWD
は、8ビット/4ビット変換器13で8ビットのデータ
より4ビットのデータに変換されてセルアレイ11に供
給され、このセルアレイ11を構成する各メモリセルに
順次書き込まれる。
【0054】一方、データの読み出しは以下のように行
われる。セルアレイ11より読み出された読み出しデー
タRDは4ビット/8ビット変換器14で4ビットのデ
ータより8ビットのデータに変換されて復号器15に供
給される。復号器15では、8ビットのデータ(SSR
S符号)に対して2ビットの0が付加されて10ビット
のデータ(1シンボル=10ビットで517シンボルの
2誤り訂正可能なリード・ソロモン符号)に戻されて誤
り訂正処理が施され、さらに誤り訂正後の情報シンボル
の下位2ビットの0が削除されて8ビットのデータに変
換され、この8ビットのデータが出力データDoutとし
てバイト単位で出力される。
【0055】なお、入力データDinや出力データDout
が8ビットのパラレルデータでないときは、符号化器1
2の前段に入力データDinを8ビットのパラレルデータ
に変換するビット変換器が配置され、また復号器15の
後段に8ビットのパラレルデータを出力データDoutに
対応したパラレルデータまたはシリアルデータに変換す
るビット変換器が配置されればよい。
【0056】このように第1の実施の形態においては、
符号化器12ではSSRS符号を用いて符号化が行われ
るため、リード・ソロモン符号を用いる場合に比べて符
号長を長くできる。したがって、例えば1ページ分の5
12バイトの情報データをひとまとめにして符号化で
き、少ない冗長データで高い誤り訂正能力を持たせるこ
とができる。
【0057】この第1の実施の形態における効果を例を
あげて説明する。情報データ65536セル分、すなわ
ち64ページ分を1ブロックとし、セルアレイは102
4ブロックで構成されているとして、ブロック内に一つ
でも不良がある場合には不良ブロックとしてそのブロッ
クに対するアクセスを禁止するような構成とする。い
ま、製造時に正常だったセルが100万回の書き込み/
消去後にアクセス不能な不良セルとなる確率が0.00
1%であるとし、100万回の書き込み/消去後にブロ
ック不良が起こる確率を比較する。
【0058】上述実施の形態におけるように、512バ
イトの情報データに対して5バイトの冗長データを付加
して2誤り訂正可能な短縮化リード・ソロモン符号を用
いた場合の不良ブロックの発生確率を求める。この場合
は2シンボルまでの不良を訂正することができる。2セ
ル分の情報8ビットを1シンボルとしたときのシンボル
誤り率は、(1)式に示すようになる。
【0059】
【数1】
【0060】また、総シンボル数は516シンボルであ
り、1ブロック中には64符号が含まれることになる。
これより、不良ブロックの発生確率は、(2)式で評価
でき、約0.0012%以下となる。
【0061】
【数2】
【0062】一方、128バイトの情報データに対して
2バイトの検査データ(冗長データ)を付加して、1シ
ンボル=8ビットの1誤り訂正可能な短縮化リード・ソ
ロモン符号を用いた場合の不良ブロックの発生確率を求
める。1符号当たりの総シンボル数は130シンボルで
あり、1ブロック中には256符号が含まれることにな
るから、不良ブロックの発生確率は、(3)式より、約
0.086%となる。
【0063】
【数3】
【0064】よって、上述実施の形態におけるSSRS
符号による符号化と、128バイトの情報データに対し
て2バイトの検査データ(冗長データ)を付加して、1
シンボル=8ビットの1誤り訂正可能な短縮化リード・
ソロモン符号を用いる符号化とを比較すると、検査デー
タは1ページ当たり8バイトから5バイトに少なくなっ
ているのにも関わらず、上述実施の形態における符号化
の方が高い誤り訂正能力が得られることが分かる。
【0065】次に、この発明の第2の実施の形態につい
て説明する。図5は第2の実施の形態としてのメモリカ
ード20の構成を示している。このメモリカード20
は、16値(4ビット)記録を行うフラッシュメモリを
2個使用すると共に、2誤り訂正可能なSSRS符号を
用いた誤り訂正回路をコントローラに組み込んだメモリ
カードである。外部とのデータの入出力は、1バイト
(8ビット)単位で行われる。図5において、メモリカ
ード20は、2個のフラッシュメモリ21,22と、こ
れらフラッシュメモリ21,22に対してデータの書き
込みや読み出しを行うためのコントローラ23とを備え
ている。
【0066】そして、コントローラ23は、カード外部
とのデータのやり取りを行うためのカードインタフェー
ス24と、8ビットのパラレルデータである入力データ
DinをSSRS符号に変換し、フラッシュメモリ21,
22に書き込むための書き込みデータWDを得る符号化
器25と、この符号化器25より出力される書き込みデ
ータWDを、図18に示すように、8ビットのデータか
ら4ビットのデータ(メモリセルに記憶するための4ビ
ットデータ)に変換する8ビット/4ビット変換器26
とを有している。符号化器25は、詳細説明は省略する
が、図1のフラッシュメモリ10における符号化器12
と同様に構成されている(図2参照)。
【0067】また、メモリカード20は、フラッシュメ
モリ21,22より読み出される読み出しデータRD
を、図18に示すように、4ビットのデータから8ビッ
トのデータに変換する4ビット/8ビット変換器27
と、この4ビット/8ビット変換器27で8ビットのデ
ータに変換された読み出しデータRDに誤り訂正処理を
施して出力データDoutを得る復号器28と、フラッシ
ュメモリ21,22に対するデータの書き込み/読み出
しをコントロールするフラッシュインタフェース29と
を有して構成されている。復号器28は、詳細説明は省
略するが、図1のフラッシュメモリ10における復号器
15と同様に構成されている(図4参照)。
【0068】図5に示すメモリカード20において、デ
ータの書き込みは以下のように行われる。すなわち、入
力データDinはカードインタフェース24によってカー
ド内部に取り込まれて符号化器25に供給され、書き込
みデータWDとしてのSSRS符号(1シンボル=8ビ
ット、情報512シンボル、冗長データ5シンボル)に
変換される。そして、符号化器25より出力される書き
込みデータWDは、8ビット/4ビット変換器26で8
ビットのデータより4ビットのデータに変換され、フラ
ッシュインタフェース29のコントロールに従ってフラ
ッシュメモリ21またはフラッシュメモリ22に書き込
まれる。
【0069】一方、データの読み出しは以下のように行
われる。フラッシュインタフェース29のコントロール
に従ってフラッシュメモリ21またはフラッシュメモリ
22より読み出された読み出しデータRDは、4ビット
/8ビット変換器27で4ビットのデータより8ビット
のデータに変換されて復号器28に供給される。復号器
15では、8ビットのデータ(SSRS符号)に対して
2ビットの0が付加されて10ビットのデータ(1シン
ボル=10ビットで517シンボルの2誤り訂正可能な
リード・ソロモン符号)に戻されて誤り訂正処理が施さ
れ、さらに誤り訂正後の情報シンボルの下位2ビットの
0が削除されて8ビットのデータに変換され、この8ビ
ットのデータが出力データDoutとしてバイト単位で出
力される。このように復号器28より出力される出力デ
ータDoutはカードインタフェース24を介してカード
外部に出力される。
【0070】なお、入力データDinや出力データDout
が8ビットのパラレルデータでないときは、符号化器2
5の前段に入力データDinを8ビットのパラレルデータ
に変換するビット変換器が配置され、また復号器28の
後段に8ビットのパラレルデータを出力データDoutに
対応したパラレルデータまたはシリアルデータに変換す
るビット変換器が配置されればよい。
【0071】このように第2の実施の形態においても、
符号化器25ではSSRS符号を用いて符号化が行われ
るため、リード・ソロモン符号を用いる場合に比べて符
号長を長くできる。したがって、例えば1ページ分の5
12バイトの情報データをひとまとめにして符号化で
き、少ない冗長データで高い誤り訂正能力を持たせるこ
とができる。
【0072】なお、上述実施の形態においては、2セル
分のデータを1バイトとしたが、バイト化するセル数は
2セルに限らず、例えば1セル分のデータを1バイトと
したり、あるいは3セル分のデータを1バイトとするな
ど種々の変形が考えられる。また、上述実施の形態にお
いては、記憶システムとしてフラッシュメモリを例とし
たが、この発明は、フラッシュメモリに限らず、他の半
導体メモリなど種々の記憶システムに対しても適用可能
である。
【0073】
【発明の効果】この発明によれば、少なくとも1ビット
のデータを記憶するメモリセルからなるメモリに対する
誤り訂正符号としてSSRS符号が用いられるため、例
えばリード・ソロモン符号を用いるものと比べて符号長
を長くできる。したがって、例えば1ページ分の情報デ
ータを分割して符号化する必要がなくなり、少ない冗長
データで高い誤り訂正能力を持たせることができる。
【図面の簡単な説明】
【図1】第1の実施の形態としてのフラッシュメモリの
構成を示すブロック図である。
【図2】フラッシュメモリ内の符号化器の構成を示すブ
ロック図である。
【図3】符号化時、復号時の情報データ部の8ビット/
10ビット変換および10ビット/8ビット変換の動作
を説明するための図である。
【図4】フラッシュメモリ内の復号器の構成を示すブロ
ック図である。
【図5】第2の実施の形態としてのメモリカードの構成
を示すブロック図である。
【図6】4ビット化した情報データのリード・ソロモン
符号化の結果を示す図である。
【図7】SSRS符号の例を示す図である。
【図8】全0の仮データを付加してリード・ソロモン符
号化した結果を示す図である。
【図9】検査データの最下位ビットと仮データの対応を
示す図である。
【図10】選択した仮データを付加してリード・ソロモ
ン符号化した結果の例を示す図である。
【図11】フラッシュメモリに組み込まれるセルアレイ
の構造を示す図である。
【図12】メモリセルの構造を示す図である。
【図13】メモリセルの電圧分布を示す図である。
【図14】多値記録を行う場合にメモリセルに与える電
荷を示す図である。
【図15】多値記録を行うメモリセルの電圧分布を示す
図である。
【図16】短縮化リード・ソロモン符号を用いた誤り訂
正回路を組み込んだ多値記録フラッシュメモリの構成例
を示すブロック図である。
【図17】短縮化リード・ソロモン符号の例を示す図で
ある。
【図18】ビット変換の動作を説明するための図であ
る。
【図19】短縮化リード・ソロモン符号を用いた誤り訂
正回路をコントローラに備えるメモリカードの構成例を
示すブロック図である。
【図20】セルアレイからのデータの読み出し方法を説
明するための図である。
【図21】512バイトの情報データに対して1誤り訂
正可能な短縮化リード・ソロモン符号を4つ用いた場合
を示す図である。
【符号の説明】
10・・・フラッシュメモリ、11・・・セルアレイ、
12・・・符号化器、12a・・・8ビット/10ビッ
ト変換器、12b,12d・・・リード・ソロモン符号
化器、12c・・・仮データ付加回路、12e・・・1
0ビット/8ビット変換器、13・・・8ビット/4ビ
ット変換器、14・・・4ビット/8ビット変換器、1
5・・・復号器、15a・・・8ビット/10ビット変
換器、15b・・・リード・ソロモン符号復号器、15
c・・・10ビット/8ビット変換器、20・・・メモ
リカード、21,22・・・フラッシュメモリ、23・
・・コントローラ、24・・・カードインタフェース、
25・・・符号化器、26・・・8ビット/4ビット変
換器、27・・・4ビット/8ビット変換器、28・・
・復号器、29・・・フラッシュインタフェース

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 複数のメモリセルを有し、それぞれのメ
    モリセルが少なくとも1ビットのデータを記憶するセル
    アレイと、 入力データをSSRS符号に変換して上記セルアレイに
    書き込むための書き込みデータを得る符号化器と、 上記セルアレイより読み出される読み出しデータに誤り
    訂正処理を施して出力データを得るSSRS符号復号器
    とを備えることを特徴とするメモリ装置。
  2. 【請求項2】 上記入力データおよび出力データは所定
    ビットのパラレルデータまたはシリアルデータであっ
    て、 上記符号化器の前段に、上記入力データを1バイトのパ
    ラレルデータに変換する第1のビット変換器を設け、 上記SSRS符号復号器の後段に、この復号器より出力
    される1バイトのパラレルデータを上記所定ビットのパ
    ラレルデータまたはシリアルデータに変換する第2のビ
    ット変換器を設けることを特徴とする請求項1に記載の
    メモリ装置。
  3. 【請求項3】 上記セルアレイの複数のメモリセルは、
    それぞれmビット(mは2以上の整数)のデータを記憶
    するものであって、 上記符号化器と上記セルアレイとの間に、上記符号化器
    より出力される1バイトのパラレルデータをmビットの
    パラレルデータに変換する第3のビット変換器を設け、 上記セルアレイと上記SSRS符号復号器との間に、上
    記セルアレイより出力されるmビットのパラレルデータ
    を1バイトのパラレルデータに変換する第4のビット変
    換器を設けることを特徴とする請求項1に記載のメモリ
    装置。
  4. 【請求項4】 複数のメモリセルを有し、それぞれのメ
    モリセルが少なくとも1ビットのデータを記憶するセル
    アレイを持つメモリ部と、 上記メモリ部に対してデータの書き込みや読み出しを行
    うためのコントローラとを備え、 上記コントローラは、入力データをSSRS符号に変換
    して上記メモリ部に書き込むための書き込みデータを得
    る符号化器と、上記メモリ部より読み出される読み出し
    データに誤り訂正処理を施して出力データを得るSSR
    S符号復号器とを有することを特徴とするメモリ装置。
  5. 【請求項5】 上記メモリ部は、1個または複数個のフ
    ラッシュメモリで構成されることを特徴とする請求項4
    に記載のメモリ装置。
JP1408298A 1998-01-27 1998-01-27 メモリ装置 Pending JPH11213693A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1408298A JPH11213693A (ja) 1998-01-27 1998-01-27 メモリ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1408298A JPH11213693A (ja) 1998-01-27 1998-01-27 メモリ装置

Publications (1)

Publication Number Publication Date
JPH11213693A true JPH11213693A (ja) 1999-08-06

Family

ID=11851194

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1408298A Pending JPH11213693A (ja) 1998-01-27 1998-01-27 メモリ装置

Country Status (1)

Country Link
JP (1) JPH11213693A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008165518A (ja) * 2006-12-28 2008-07-17 Tdk Corp メモリコントローラ及びフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2009524176A (ja) * 2006-01-20 2009-06-25 マーベル ワールド トレード リミテッド フラッシュメモリにおける誤り訂正のための方法およびシステム
JP2009524152A (ja) * 2006-01-20 2009-06-25 マーベル ワールド トレード リミテッド 符号化及び信号処理機能を有するフラッシュメモリ
US9043672B2 (en) 2013-02-27 2015-05-26 Kabushiki Kaisha Toshiba Memory controller, storage device, and memory control method

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009524176A (ja) * 2006-01-20 2009-06-25 マーベル ワールド トレード リミテッド フラッシュメモリにおける誤り訂正のための方法およびシステム
JP2009524152A (ja) * 2006-01-20 2009-06-25 マーベル ワールド トレード リミテッド 符号化及び信号処理機能を有するフラッシュメモリ
US8473812B2 (en) 2006-01-20 2013-06-25 Marvell World Trade Ltd. Method and system for error correction in flash memory
US8677215B2 (en) 2006-01-20 2014-03-18 Marvell World Trade Ltd. Method and system for error correction in flash memory
US8856622B2 (en) 2006-01-20 2014-10-07 Marvell World Trade Ltd. Apparatus and method for encoding data for storage in multi-level nonvolatile memory
US9053051B2 (en) 2006-01-20 2015-06-09 Marvell World Trade Ltd. Multi-level memory controller with probability-distribution-based encoding
JP2008165518A (ja) * 2006-12-28 2008-07-17 Tdk Corp メモリコントローラ及びフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4692843B2 (ja) * 2006-12-28 2011-06-01 Tdk株式会社 メモリコントローラ及びフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US9043672B2 (en) 2013-02-27 2015-05-26 Kabushiki Kaisha Toshiba Memory controller, storage device, and memory control method

Similar Documents

Publication Publication Date Title
KR100535291B1 (ko) 엔코딩 방법 및 메모리 장치
US11347584B2 (en) Memory system
USRE49253E1 (en) Semiconductor memory device
KR100845529B1 (ko) 플래시 메모리 장치의 이씨씨 제어기 및 그것을 포함한메모리 시스템
US8239725B2 (en) Data storage with an outer block code and a stream-based inner code
US6990622B2 (en) Method for error correction decoding in an MRAM device (historical erasures)
US8429497B2 (en) Method and system of dynamic data storage for error correction in a memory device
JPH11283396A (ja) メモリ装置
JP5723967B2 (ja) ソリッド・ステート・ストレージ・デバイスのsレベル・ストレージに入力データを記録するための方法、エンコーダ装置、およびソリッド・ステート・ストレージ・デバイス
JP2013524609A5 (ja)
CN110362420B (zh) 存储系统和存储系统的操作方法
US6990623B2 (en) Method for error detection/correction of multilevel cell memory and multilevel cell memory having error detection/correction function
US9639421B2 (en) Operating method of flash memory system
JPH11143787A (ja) 記録再生装置
JP4099844B2 (ja) メモリ装置
US20030172339A1 (en) Method for error correction decoding in a magnetoresistive solid-state storage device
JPH11213693A (ja) メモリ装置
JP2020135391A (ja) メモリシステム
JPH11212876A (ja) 符号化方法およびそれを利用したメモリ装置
US20020174397A1 (en) Method for error detection/correction of multilevel cell memory and multilevel cell memory having error detection/correction function
JP2021033530A (ja) メモリシステム
JPH1173797A (ja) 記憶装置
US11847342B2 (en) Efficient transfer of hard data and confidence levels in reading a nonvolatile memory
JP2007179480A (ja) メモリコントローラおよびフラッシュメモリシステム