JP4099844B2 - メモリ装置 - Google Patents
メモリ装置 Download PDFInfo
- Publication number
- JP4099844B2 JP4099844B2 JP00995798A JP995798A JP4099844B2 JP 4099844 B2 JP4099844 B2 JP 4099844B2 JP 00995798 A JP00995798 A JP 00995798A JP 995798 A JP995798 A JP 995798A JP 4099844 B2 JP4099844 B2 JP 4099844B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- bit
- reed
- error correction
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Description
【発明の属する技術分野】
この発明は、メモリ装置に関する。詳しくは、多ビットのデータを記憶するメモリセルからなるメモリに対する誤り訂正符号としてリード・ソロモン符号を用いることによって、少ない誤り訂正数で充分な性能を得、誤り訂正回路の回路規模を小さくすると共に、使用するメモリセルの数も少なくしようとしたメモリ装置に係るものである。
【0002】
【従来の技術】
近年、メモリ装置として、フラッシュメモリ等の半導体メモリが広く使用されている。フラッシュメモリでは、半導体基板上に積層形成された浮遊ゲート(電荷蓄積層)および制御ゲートからなるメモリセルを多数並べてなるセルアレイ(通常は6500万セル程度)を用いてデータの記憶を行っている(図5参照)。この場合、各セルアレイには、浮遊ゲートに蓄える電荷量の大きさによってデータが記憶される。
【0003】
図6A,Bは、フラッシュメモリに用いるメモリセル100の構造を示している。すなわち、メモリセル100は、半導体基板101に電荷蓄積層(浮遊ゲート)102および制御ゲート103が積層されて形成されている。メモリセル100にデータを書き込む場合には、浮遊ゲート102に蓄える電荷量を制御し、記憶するデータ(“0”または“1”)に応じて、図7に示した2値のしきい電圧のいずれかにする。一方、メモリセル100よりデータを読み出す場合には、2値のしきい電圧の中間に設けた基準電圧を用い、メモリセル100のしきい電圧が基準電圧よりも高いか低いかによって、そのメモリセル100のデータが“0”であるか“1”であるかの判断をする。
【0004】
半導体メモリでは、高集積度化、高密度化に伴う種々の影響による信頼性低下を防ぐことが重要な課題となっている。特に、書き込み/消去数の増加に伴うセル不良のように経年変化によって起こる不良の防止のために、例えばハミング符号のような誤り訂正符号を用いた誤り訂正回路を半導体メモリの内部に組み込むことがしばしばある。
【0005】
誤り訂正符号は、情報データに対して検査データと呼ばれる冗長なデータが付加されてなり、その検査データを用いることで符号内の誤りの訂正が行われる。例えば、情報データが512ビットの短縮化ハミング符号は、図8に示すように、10ビットの検査データが付加されてなり、522ビットの符号の中に1つの誤りが生じても誤りを訂正することが可能になる。
【0006】
図9は、ハミング符号を用いた誤り訂正回路を内部に組み込んだフラッシュメモリ110の構成を示している。このフラッシュメモリ110は、複数のメモリセルを有するセルアレイ111と、入力データDinを短縮化ハミング符号に変換し、セルアレイ111に書き込むための書き込みデータWDを得る符号化器112と、セルアレイ111より読み出される読み出しデータRDに誤り訂正処理を施して出力データDoutを得るハミング符号復号器113とを有している。この場合、符号化器112およびハミング符号復号器113は、誤り訂正回路を構成している。そして、符号化器112では、入力データDinの512ビット毎に10ビットの検査データが付加され、情報データが512ビットの短縮化ハミング符号が生成される。
【0007】
図9に示すフラッシュメモリ110において、データの書き込みは、以下のように行われる。すなわち、入力データDinは符号化器112に入力される。そして、この符号化器112では、入力データDinが情報データが512ビットの短縮化ハミング符号に変換されて書き込みデータWDとされる。そして、符号化器112より出力される書き込みデータWDは、セルアレイ111に供給されて書き込まれる。
【0008】
一方、データの読み出しは、以下のように行われる。セルアレイ111より読み出された読み出しデータRDはハミング符号復号器113に入力される。ハミング符号復号器113では、読み出しデータRDの1符号内に誤りがなければ情報データがそのまま出力データDoutとして出力され、また読み出しデータRDの1符号内の誤りのビット数が1であるときは、誤りが訂正された後に情報データが出力データDoutとして出力される。
【0009】
次に、誤り訂正符号として2誤り訂正可能な短縮化BCH符号(Bose-Chaudhuri-Hocquenghem code)を使用する場合を取り上げる。なお、BCH符号および符号の短縮化については、例えば今井秀樹著「符号理論」(電子情報通信学会)等の文献に論じられている。例えば、情報データが512ビットの短縮化BCH符号は、図10に示すように、20ビットの検査データが付加されてなり、532ビットの符号の中に2つの誤りが生じても誤りを訂正することが可能になる。
【0010】
図11は、BCH符号を用いた誤り訂正回路を内部に組み込んだフラッシュメモリ120の構成を示している。このフラッシュメモリ120は、複数のメモリセルを有するセルアレイ121と、入力データDinを短縮化BCH符号に変換し、セルアレイ121に書き込むための書き込みデータWDを得る符号化器122と、セルアレイ121より読み出される読み出しデータRDに誤り訂正処理を施して出力データDoutを得るBCH符号復号器123とを有している。この場合、符号化器122およびBCH符号復号器123は誤り訂正回路を構成している。そして、符号化器122では、入力データDinの512ビット毎に20ビットの検査データが付加され、情報データが512ビットの2誤り訂正可能な短縮化BCH符号が生成される。
【0011】
図11に示すフラッシュメモリ120において、データの書き込みは以下のように行われる。すなわち、入力データDinは符号化器122に入力される。そして、この符号化器122では、入力データDinが情報データが512ビットの短縮化BCH符号に変換されて書き込みデータWDとされる。そして、符号化器122より出力される書き込みデータWDは、セルアレイ121に供給されて書き込まれる。
【0012】
一方、データの読み出しは以下のように行われる。セルアレイ121より読み出された読み出しデータRDはBCH符号復号器123に入力される。BCH符号復号器123では、読み出しデータRDの1符号内に誤りがなければ情報データがそのまま出力データDoutとして出力され、また読み出しデータRDの1符号内の誤りのビット数が1または2であるときは、誤りが訂正された後に情報データが出力データDoutとして出力される。
【0013】
図9、図11に示すように、フラッシュメモリ110,120の内部に誤り訂正回路を組み込むことで、経年変化によってある程度のセル不良が起こっても、書き込んだデータの読出エラーが起こらないようにすることが可能になる。ただし、一般に誤り訂正符号では、多くの誤りを訂正するためには冗長なデータである検査データを多く持つ必要があり、使用するメモリセルの数が多くなると共に、誤り訂正回路の回路規模も大きくなる。
【0014】
次に、複数のフラッシュメモリ(フラッシュメモリチップ)を用いたメモリカードについて述べる。1チップのフラッシュメモリでは扱えない量のデータを記憶するためのメモリ装置として、複数個のフラッシュメモリとコントローラとからなるメモリカードがある。
【0015】
図12は、BCH符号を用いた誤り訂正回路をコントローラに備えるメモリカード130の構成を示している。このメモリカード130は、2個のフラッシュメモリ131,132と、これらフラッシュメモリ131,132に対してデータの書き込みや読み出しを行うためのコントローラ133とを備えている。
【0016】
そして、コントローラ133は、カード外部とのデータのやり取りを行うためのカードインタフェース134と、入力データDinを短縮化BCH符号に変換し、フラッシュメモリ131,132に書き込むための書き込みデータWDを得る符号化器135と、フラッシュメモリ131,132より読み出される読み出しデータRDに誤り訂正処理を施して出力データDoutを得るBCH符号復号器136と、フラッシュメモリ131,132に対するデータの書き込み/読み出しをコントロールするフラッシュインタフェース137とを有して構成されている。
【0017】
この場合、符号化器135およびBCH符号復号器136は誤り訂正回路を構成している。そして、符号化器135では、入力データDinの512ビット毎に20ビットの検査データが付加され、情報データが512ビットの2誤り訂正可能な短縮化BCH符号が生成される。
【0018】
図12に示すメモリカード130において、データの書き込みは以下のように行われる。すなわち、入力データDinはカードインタフェース134によってカード内部に取り込まれて符号化器135に供給される。そして、この符号化器135では、入力データDinが情報データが512ビットの短縮化BCH符号に変換されて書き込みデータWDとされる。そして、符号化器135より出力される書き込みデータWDは、フラッシュインタフェース137のコントロールに従ってフラッシュメモリ131またはフラッシュメモリ132に書き込まれる。
【0019】
一方、データの読み出しは以下のように行われる。フラッシュインタフェース137のコントロールに従ってフラッシュメモリ131またはフラッシュメモリ132より読み出された読み出しデータRDはBCH符号復号器136に入力される。BCH符号復号器136では、読み出しデータRDの1符号内に誤りがなければ情報データがそのまま出力データDoutとして出力され、また読み出しデータRDの1符号内の誤りのビット数が1または2であるときは、誤りが訂正された後に情報データが出力データDoutとして出力される。このようにBCH符号復号器136より出力される出力データDoutはカードインタフェース134を介してカード外部に出力される。
【0020】
以上述べたように、複数個のフラッシュメモリを用いたメモリカードにおいても誤り訂正符号を用いることができる。コントローラで誤り訂正を行う場合、フラッシュメモリに内蔵する場合に比べて、より大きな誤り訂正回路を持つことができるため、より多くの誤りを訂正できるという特徴がある。
【0021】
次に、フラッシュメモリの多値記録について述べる。近年、フラッシュメモリの記憶容量の増大を目的として、1つのセルに多ビットを記憶するフラッシュメモリが提案されている。例えば、4値の多値記録を行うフラッシュメモリのメモリセル100では、図13A〜Dに示すように、浮遊ゲート102に蓄える電荷量を制御して、記憶するデータ(“11”,“10”,“01”または“00”)に応じて、図14に示した4値のしきい電圧のいずれかにする。データを読み出すには、各しきい電圧の間にそれぞれ設けた3値の基準電圧を用いる。メモリセル100のしきい電圧と各基準電圧とを比較することによって、メモリセル100のデータを読み取る。これによって1つのメモリセル100で2ビットの情報を記憶できる。
【0022】
多値記録のフラッシュメモリに対しても2値記録の場合と同様に誤り訂正回路を用いることができる。図15は、BCH符号を用いた誤り訂正回路を内部に組み込んだ16値(4ビット)記録を行うフラッシュメモリ140の構成を示している。このフラッシュメモリ140は、複数のメモリセルを有するセルアレイ141と、入力データDinを短縮化BCH符号に変換し、セルアレイ141に書き込むための書き込みデータWDを得る符号化器142と、この符号化器142より出力される書き込みデータWDをシリアルデータから4ビットのパラレルデータに変換してセルアレイ141に供給する1ビット/4ビット変換器143とを有している。
【0023】
また、フラッシュメモリ140は、セルアレイ141より読み出される読み出しデータRDを4ビットのパラレルデータからシリアルデータに変換する4ビット/1ビット変換器144と、この4ビット/1ビット変換器144でシリアルデータに変換された読み出しデータRDに誤り訂正処理を施して出力データDoutを得るBCH符号復号器145とを有している。この場合、符号化器142およびBCH符号復号器145は誤り訂正回路を構成している。そして、符号化器142では、入力データDinの512ビット毎に20ビットの検査データが付加され、情報データが512ビットの2誤り訂正可能な短縮化BCH符号が生成される。
【0024】
図15に示すフラッシュメモリ140において、データの書き込みは以下のように行われる。すなわち、入力データDinは符号化器142に入力される。そして、この符号化器142では、入力データDinが情報データが512ビットの短縮化BCH符号に変換されて書き込みデータWDとされる。そして、符号化器142より出力される書き込みデータWDは、1ビット/4ビット変換器143でシリアルデータより4ビットのパラレルデータ(メモリセルに記憶するための4ビットデータ)に変換されてセルアレイ141に供給され、セルアレイ141を構成する各メモリセルに順次書き込まれる。
【0025】
一方、データの読み出しは以下のように行われる。セルアレイ141より読み出された読み出しデータRDは4ビット/1ビット変換器144で4ビットのパラレルデータよりシリアルデータに変換されてBCH符号復号器145に供給される。BCH符号復号器145では、読み出しデータRDの1符号内に誤りがなければ情報データがそのまま出力データDoutとして出力され、また読み出しデータRDの1符号内の誤りのビット数が1または2であるときは、誤りが訂正された後に情報データが出力データDoutとして出力される。
【0026】
【発明が解決しようとする課題】
図15に示すフラッシュメモリ140のように多値記録を行うフラッシュメモリでは、1つのセル不良によって複数ビットが誤りになるという特徴がある。従来のフラッシュメモリでは1つのメモリセルに1ビットを記憶していたために、誤り訂正符号としては、ビット誤りを訂正する符号が主に使われてきたが、1つのメモリセルの不良によって複数ビットが誤りになってしまうと、ビット単位の誤りを訂正する符号では効率が悪い。
【0027】
例えば、1メモリセルで4ビットのデータの記憶を行うフラッシュメモリでは、1つのメモリセルにアクセス不能になってしまうと、その誤りを訂正するために4訂正の符号を用いなければならなくなるということが起こる。ここで、前述した通り、誤り訂正符号で多くの誤りを訂正しようとすると誤り訂正回路が大きくなるため、回路規模が増大するという問題が生じる。また多くの誤りを訂正するためには、より多くの冗長データを付加する必要があるため、多くのメモリセルが必要になるという問題も生じる。
【0028】
そこで、この発明では、少ない誤り訂正数で充分な性能を得、誤り訂正回路の回路規模を小さくすると共に、使用するメモリセルの数も少なくし得るメモリ装置を提供することを目的とする。
【0029】
【課題を解決するための手段】
この発明に係るメモリ装置は、1メモリセルあたりmビット(mは2以上の整数)のデータを記憶するメモリ装置であって、当該データの誤り訂正を行うための誤り訂正符号をリード・ソロモン符号としたとき、入力データを符号化してバイト単位のリード・ソロモン符号のデータに変換する符号化器と、この記符号化器によって符号化されたバイト単位のリード・ソロモン符号のデータをmビットのパラレルの書き込みデータに変換する第1のビット変換器と、この第1のビット変換器によって変換されたmビットのパラレルの書き込みデータを書き込む複数のメモリセルを有したセルアレイと、このセルアレイからパラレルのmビットの読み出しデータを読み出してバイト単位のパラレルの読み出しデータに変換する第2のビット変換器と、この第2のビット変換器によって変換された読み出しデータをバイト単位に復号化及び誤り訂正処理して出力データを得るリード・ソロモン符号復号器とを備えることを特徴とするものである。
【0030】
また、この発明に係るメモリ装置は、1メモリセルあたりmビット(mは2以上の整数)のデータを記憶する複数のメモリセルを有するセルアレイを持つメモリ部と、このメモリ部に対してデータの書き込みや読み出しを行うためのコントローラとを備え、データの誤り訂正を行うための誤り訂正符号をリード・ソロモン符号としたとき、コントローラは、入力データを符号化してバイト単位のリード・ソロモン符号のデータに変換する符号化器と、この符号化器によって符号化されたバイト単位のリード・ソロモン符号のデータをmビットのパラレルの書き込みデータに変換してメモリセルに書き込む第1のビット変換器と、メモリ部のセルアレイからパラレルのmビットのデータを読み出してバイト単位のパラレルの読み出しデータに変換する第2のビット変換器と、この第2のビット変換器によって変換された読み出しデータをバイト単位に復号化及び誤り訂正処理して出力データを得るリード・ソロモン符号復号器とを有することを特徴とするものである。
【0031】
セルアレイの各メモリセルには、それぞれmビット(mは2以上の整数)のデータが記憶される。書き込み時、入力データは符号化器によって書き込みデータとしてのリード・ソロモン符号に変換される。第1のビット変換器は、符号化器によって符号化されたバイト単位のリード・ソロモン符号のデータをmビットのパラレルの書き込みデータに変換してセルアレイに書き込む。リード・ソロモン符号は、複数ビットをまとめて1バイトとし、バイト単位で誤り訂正を行う誤り訂正符号である。読み出し時、セルアレイの各メモリセルに記憶されていたmビットのデータが第2のビット変換器に読み出される。第2のビット変換器は、セルアレイからパラレルのmビットのデータを読み出してバイト単位のパラレルの読み出しデータに変換する。この読み出しデータに対してリード・ソロモン符号復号器で誤り訂正処理が施されて出力データが得られる。
【0032】
このように、mビットのデータを記憶するメモリセルからなるメモリに対する誤り訂正符号としてバイト単位で誤り訂正を行うリード・ソロモン符号が用いられることで、少ない誤り訂正数で充分な性能を得、誤り訂正回路の回路規模を小さくすると共に、使用するメモリセルの数も少なくすることが可能となる。
【0033】
【発明の実施の形態】
以下、図面を参照しながら、この発明の実施の形態について説明する。図1は、第1の実施の形態としてのフラッシュメモリ10の構成を示している。このフラッシュメモリ10は、2誤り訂正可能な短縮化リード・ソロモン符号(Reed-Solomon Code)を用いた誤り訂正回路を組み込んだ16値(4ビット)記録を行うフラッシュメモリである。リード・ソロモン符号および短縮化リード・ソロモン符号は、複数ビットをまとめて1バイトとし、バイト単位で誤り訂正を行う符号である。なお、リード・ソロモン符号についても、その内容に関しては前掲の今井秀樹著「符号理論」(電子情報通信学会)等の文献で論じられている。
【0034】
いま、8ビットを1バイトとし、情報データ数を128バイトとして、2誤り訂正可能な短縮化リード・ソロモン符号を例とする。この場合、図2に示すように、検査データは4バイトとなり、符号全体の長さは、132バイト=1056ビットとなる。
【0035】
図1において、フラッシュメモリ10は、複数のメモリセルを有するセルアレイ11と、8ビットのパラレルデータである入力データDinを短縮化リード・ソロモン符号に変換し、セルアレイ11に書き込むための書き込みデータWDを得る符号化器12と、この符号化器12より出力される書き込みデータWDを、図3に示すように、1バイト(8ビット)のパラレルデータから4ビットのパラレルデータ(メモリセルに記憶するための4ビットデータ)に変換してセルアレイ11に供給する8ビット/4ビット変換器13とを有している。
【0036】
また、フラッシュメモリ10は、セルアレイ11より読み出される読み出しデータRDを、図3に示すように、4ビットのパラレルデータから1バイト(8ビット)のパラレルデータに変換する4ビット/8ビット変換器14と、この4ビット/8ビット変換器14で1バイトのパラレルデータに変換された読み出しデータRDに誤り訂正処理を施して出力データDoutを得るリード・ソロモン符号復号器15とを有している。この場合、符号化器12およびリード・ソロモン符号復号器15は誤り訂正回路を構成している。そして、符号化器12では、入力データDinの128バイト毎に4バイトの検査データが付加され、情報データが128バイトの2誤り訂正可能な短縮化リード・ソロモン符号が生成される。
【0037】
図1に示すフラッシュメモリ10において、データの書き込みは以下のように行われる。すなわち、8ビットのパラレルデータである入力データDinは符号化器12に入力される。そして、この符号化器12では、入力データDin (情報データ)が128バイトの短縮化リード・ソロモン符号に変換されて書き込みデータWDとされる。そして、符号化器12より出力される書き込みデータWDは、8ビット/4ビット変換器13で1バイト(8ビット)のパラレルデータより4ビットのパラレルデータに変換されてセルアレイ11に供給され、セルアレイ11を構成する各メモリセルに順次書き込まれる。
【0038】
一方、データの読み出しは以下のように行われる。セルアレイ11より読み出された読み出しデータRDは4ビット/8ビット変換器14で4ビットのパラレルデータより1バイト(8ビット)のパラレルデータに変換されてリード・ソロモン符号復号器15に供給される。リード・ソロモン符号復号器15では、読み出しデータRDの1符号内に誤りがなければ情報データがそのまま出力データDoutとしてバイト単位で出力され、また読み出しデータRDの1符号内の誤りのバイト数が1または2であるときは、誤りが訂正された後に情報データが出力データDoutとしてバイト単位で出力される。
【0039】
なお、入力データDinや出力データDoutが8ビットのパラレルデータでないときは、符号化器12の前段に入力データDinを8ビットのパラレルデータに変換するビット変換器が配置され、また、リード・ソロモン符号復号器15の後段に8ビットパラレルデータを出力データDoutに対応したパラレルデータまたはシリアルデータに変換するビット変換器が配置されればよい。
【0040】
このように第1の実施の形態においては、4ビットデータを記憶するメモリセルからなるセルアレイ11に対する誤り訂正符号としてバイト単位で誤り訂正を行うリード・ソロモン符号が用いられるものであり、少ない誤り訂正数で充分な性能を得ることができる。したがって、誤り訂正回路の回路規模を小さくできると共に、使用するメモリセルの数も少なくできる。
【0041】
この第1の実施の形態における効果を例をあげて説明する。情報データ65536セル分を1ブロックとし、セルアレイは1024ブロックで構成されているとして、メモリに対する書き込み/読み出しはブロック単位で行うものとする。いま、製造時に正常だったセルが100万回の書き込み/消去後にアクセス不能な不良セルとなる確率が0.001%であるとし、100万回の書き込み/消去後にブロック不良が起こる確率を比較する。
【0042】
128バイト、すなわち1024ビットの情報データに対して8誤り訂正可能な短縮化BCH符号を用いると、検査データは88ビットだけ必要になる。ここで1セルの不良に対し、4ビット分の訂正が必要であることから、8誤り訂正可能な符号によって2セル分までの不良を訂正することができる。また、1112ビットは278セルで記憶ができ、1ブロック中には256符号が含まれることになるから、この場合の不良ブロックの発生確率は、(1)式より、約0.000091%である。
【0043】
【数1】
【0044】
次に、2誤り訂正可能な短縮化リード・ソロモン符号を用いた場合の不良ブロックの発生確率を求める。この場合は2バイトまでの不良を訂正することができる。ここで、4ビット/8ビットの変換により、1セルの誤りが複数バイトに影響を及ぼすことがないことに注意すると、2セル分の情報8ビットを1バイトとしたときのバイト誤り率は、(2)式に示すようになる。よって、不良ブロックの発生確率は、(3)式より、約0.000077%となる。
【0045】
【数2】
【0046】
したがって、8誤り訂正可能な短縮化BCH符号と2誤り訂正可能な短縮化リード・ソロモン符号は、ほぼ同等の誤り訂正能力を持っていることが分かる。しかし、BCH符号と比べるとリード・ソロモン符号を用いる方が、訂正数が8訂正に対し2訂正と大幅に少ないために、誤り訂正回路の回路規模を小さくすることができる。また、冗長データも88ビットに対し32ビットと大幅に少ないために、使用するメモリセル数も少なくできる。
【0047】
次に、この発明の第2の実施の形態について説明する。図4は第2の実施の形態としてのメモリカード20の構成を示している。このメモリカード20は、16値(4ビット)記録を行うフラッシュメモリを2個使用すると共に、コントローラに2誤り訂正可能な短縮化リード・ソロモン符号を用いた誤り訂正回路を組み込んだメモリカードである。
【0048】
図4において、メモリカード20は、2個のフラッシュメモリ21,22と、これらフラッシュメモリ21,22に対してデータの書き込みや読み出しを行うためのコントローラ23とを備えている。
【0049】
そして、コントローラ23は、カード外部とのデータのやり取りを行うためのカードインタフェース24と、8ビットのパラレルデータである入力データDinを短縮化リード・ソロモン符号に変換し、フラッシュメモリ21,22に書き込むための書き込みデータWDを得る符号化器25と、この符号化器25より出力される書き込みデータWDを、図3に示すように、1バイト(8ビット)のパラレルデータから4ビットのパラレルデータ(メモリセルに記憶するための4ビットデータ)に変換する8ビット/4ビット変換器26とを有している。
【0050】
また、コントローラ23は、フラッシュメモリ21,22より読み出される読み出しデータRDを、図3に示すように、4ビットのパラレルデータから1バイト(8ビット)のパラレルデータに変換する4ビット/8ビット変換器27と、この4ビット/8ビット変換器27で1バイトのパラレルデータに変換された読み出しデータRDに誤り訂正処理を施して出力データDoutを得るリード・ソロモン符号復号器28と、フラッシュメモリ21,22に対するデータの書き込み/読み出しをコントロールするフラッシュインタフェース29とを有している。
【0051】
この場合、符号化器25およびリード・ソロモン符号復号器28は誤り訂正回路を構成している。そして、符号化器25では、入力データDinの128バイト毎に4バイトの検査データが付加され、情報データが128バイトの2誤り訂正可能な短縮化リード・ソロモン符号が生成される。
【0052】
図4に示すメモリカード20において、データの書き込みは以下のように行われる。すなわち、入力データDinはカードインタフェース24によってカード内部に取り込まれて符号化器25に供給される。この符号化器25では、入力データDinが情報データが128バイトの短縮化リード・ソロモン符号に変換されて書き込みデータWDとされる。そして、符号化器25より出力される書き込みデータWDは、8ビット/4ビット変換器26で1バイト(8ビット)のパラレルデータより4ビットのパラレルデータに変換され、フラッシュインタフェース29のコントロールに従ってフラッシュメモリ21またはフラッシュメモリ22に書き込まれる。
【0053】
一方、データの読み出しは以下のように行われる。フラッシュインタフェース29のコントロールに従ってフラッシュメモリ21またはフラッシュメモリ22より読み出された読み出しデータRDは、4ビット/8ビット変換器27で4ビットのパラレルデータより1バイト(8ビット)のパラレルデータに変換されてリード・ソロモン符号復号器28に供給される。リード・ソロモン符号復号器28では、読み出しデータRDの1符号内に誤りがなければ情報データがそのまま出力データDoutとしてバイト単位で出力され、また読み出しデータRDの1符号内の誤りのバイト数が1または2であるときは、誤りが訂正された後に情報データが出力データDoutとしてバイト単位で出力される。このようにリード・ソロモン符号復号器28より出力される出力データDoutはカードインタフェース24を介してカード外部に出力される。
【0054】
なお、入力データDinや出力データDoutが8ビットのパラレルデータでないときは、符号化器25の前段に入力データDinを8ビットのパラレルデータに変換するビット変換器が配置され、また、リード・ソロモン符号復号器28の後段に8ビットパラレルデータを出力データDoutに対応したパラレルデータまたはシリアルデータに変換するビット変換器が配置されればよい。
【0055】
このように第2の実施の形態においても、4ビットデータを記憶するメモリセルからなるセルアレイを持つメモリ部としてのフラッシュメモリ21,22に対する誤り訂正符号としてバイト単位で誤り訂正を行うリード・ソロモン符号が用いられるものであり、第1の実施の形態と同様に、少ない誤り訂正数で充分な性能を得ることができ、したがって誤り訂正回路の回路規模を小さくできると共に、使用するメモリセルの数も少なくできる。また、コントローラ23で誤り訂正を行うものであり、誤り訂正回路をフラッシュメモリ21,22に内蔵する場合に比べて、より大きな誤り訂正回路を持つことができる。そのため、多値記録の影響で多くの誤りを発生するようになってもこれを訂正することが可能になる。
【0056】
なお、上述実施の形態においては、2セル分のデータを1バイトとしたが、バイト化するセル数は2セルに限らず、例えば1セル分のデータを1バイトとしたり、あるいは3セル分のデータを1バイトとするなど種々の変形が考えられる。また、上述実施の形態においては、記憶システムとしてフラッシュメモリを例としたが、この発明は、フラッシュメモリに限らず、他の半導体メモリなど種々の記憶システムに対しても適用可能である。
【0057】
【発明の効果】
この発明によれば、mビット(mは2以上の整数)のデータを記憶するメモリセルからなるメモリに対する誤り訂正符号としてバイト単位で誤り訂正を行うリード・ソロモン符号が用いられるものであり、少ない誤り訂正数で充分な性能を得、誤り訂正回路の回路規模を小さくすると共に、使用するメモリセルの数も少なくできるという効果がある。
【図面の簡単な説明】
【図1】第1の実施の形態としてのフラッシュメモリの構成を示すブロック図である。
【図2】短縮化リード・ソロモン符号の例を示す図である。
【図3】ビット変換の動作を説明するための図である。
【図4】第2の実施の形態としてのメモリカードの構成を示すブロック図である。
【図5】セルアレイの構造を示す図である。
【図6】メモリセルの構造を示す図である。
【図7】メモリセルの電圧分布を示す図である。
【図8】短縮化ハミング符号の例を示す図である。
【図9】短縮化ハミング符号を用いた誤り訂正回路を組み込んだフラッシュメモリの構成を示すブロック図である。
【図10】短縮化BCH符号の例を示す図である。
【図11】BCH符号を用いた誤り訂正回路を組み込んだフラッシュメモリの構成を示すブロック図である。
【図12】短縮化BCH符号を用いた誤り訂正回路をコントローラに備えるメモリカードの構成を示すブロック図である。
【図13】多値記録を行う場合にメモリセルに与える電荷を示す図である。
【図14】多値記録を行うメモリセルの電圧分布を示す図である。
【図15】短縮化BCH符号を用いた誤り訂正回路を組み込んだ多値記録フラッシュメモリの構成を示すブロック図である。
【符号の説明】
10・・・フラッシュメモリ、11・・・セルアレイ、12・・・符号化器、13・・・8ビット/4ビット変換器、14・・・4ビット/8ビット変換器、15・・・リード・ソロモン符号復号器、20・・・メモリカード、21,22・・・フラッシュメモリ、23・・・コントローラ、24・・・カードインタフェース、25・・・符号化器、26・・・8ビット/4ビット変換器、27・・・4ビット/8ビット変換器、28・・・リード・ソロモン符号復号器、29・・・フラッシュインタフェース
Claims (4)
- 1メモリセルあたりmビット(mは2以上の整数)のデータを記憶するメモリ装置であって、当該データの誤り訂正を行うための誤り訂正符号をリード・ソロモン符号としたとき、
入力データを符号化してバイト単位のリード・ソロモン符号のデータに変換する符号化器と、
上記符号化器によって符号化されたバイト単位のリード・ソロモン符号のデータをmビットのパラレルの書き込みデータに変換する第1のビット変換器と、
上記第1のビット変換器によって変換された上記mビットのパラレルの書き込みデータを書き込む複数のメモリセルを有したセルアレイと、
上記セルアレイからパラレルのmビットのデータを読み出してバイト単位のパラレルの読み出しデータに変換する第2のビット変換器と、
上記第2のビット変換器によって変換された上記読み出しデータをバイト単位に復号化及び誤り訂正処理して出力データを得るリード・ソロモン符号復号器とを備えることを特徴とするメモリ装置。 - 上記入力データおよび出力データは所定ビットのパラレルデータまたはシリアルデータであって、
上記符号化器の前段に、上記入力データを1バイトのパラレルデータに変換する前段用のビット変換器を設け、
上記リード・ソロモン符号復号器の後段に、この復号器より出力される1バイトのパラレルデータを上記所定ビットのパラレルデータまたはシリアルデータに変換する後段用のビット変換器を設けることを特徴とする請求項1に記載のメモリ装置。 - 1メモリセルあたりmビット(mは2以上の整数)のデータを記憶する複数のメモリセルを有するセルアレイを持つメモリ部と、
上記メモリ部に対してデータの書き込みや読み出しを行うためのコントローラとを備え、上記データの誤り訂正を行うための誤り訂正符号をリード・ソロモン符号としたとき、
上記コントローラは、
入力データを符号化してバイト単位のリード・ソロモン符号のデータに変換する符号化器と、
上記符号化器によって符号化されたバイト単位のデータをmビットのパラレルの書き込みデータに変換して上記メモリセルに書き込む第1のビット変換器と、
上記メモリ部のセルアレイからパラレルのmビットのデータを読み出してバイト単位のパラレルの読み出しデータに変換する第2のビット変換器と、
上記第2のビット変換器によって変換された上記読み出しデータをバイト単位に復号化及び誤り訂正処理して出力データを得るリード・ソロモン符号復号器とを有することを特徴とするメモリ装置。 - 上記メモリ部は、1個または複数個のフラッシュメモリで構成されることを特徴とする請求項3に記載のメモリ装置。
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00995798A JP4099844B2 (ja) | 1998-01-21 | 1998-01-21 | メモリ装置 |
PCT/JP1999/000217 WO1999038170A1 (fr) | 1998-01-21 | 1999-01-21 | Procede de codage et dispositif de memoire |
EP99901130A EP0969480A4 (en) | 1998-01-21 | 1999-01-21 | CODING METHOD AND MEMORY DEVICE |
CN99800053A CN1256005A (zh) | 1998-01-21 | 1999-01-21 | 编码方法和存储装置 |
KR10-1999-7008621A KR100535291B1 (ko) | 1998-01-21 | 1999-01-21 | 엔코딩 방법 및 메모리 장치 |
DE69932962T DE69932962T2 (de) | 1998-01-21 | 1999-01-21 | Kodierungsverfahren und Speicheranordnung |
US09/381,661 US6732322B1 (en) | 1998-01-21 | 1999-01-21 | Encoding method and memory device |
EP04023697A EP1496519B1 (en) | 1998-01-21 | 1999-01-21 | Encoding method and memory apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00995798A JP4099844B2 (ja) | 1998-01-21 | 1998-01-21 | メモリ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11213692A JPH11213692A (ja) | 1999-08-06 |
JP4099844B2 true JP4099844B2 (ja) | 2008-06-11 |
Family
ID=11734437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP00995798A Expired - Lifetime JP4099844B2 (ja) | 1998-01-21 | 1998-01-21 | メモリ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4099844B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003077294A (ja) * | 2001-08-31 | 2003-03-14 | Mitsubishi Electric Corp | メモリ回路 |
JP2005056394A (ja) * | 2003-07-18 | 2005-03-03 | Toshiba Corp | 記憶装置及びメモリカード |
US8055979B2 (en) * | 2006-01-20 | 2011-11-08 | Marvell World Trade Ltd. | Flash memory with coding and signal processing |
KR100764750B1 (ko) | 2006-10-16 | 2007-10-08 | 삼성전자주식회사 | 유연한 어드레스 맵핑 스킴을 갖는 플래시 메모리 장치 |
KR101736337B1 (ko) | 2011-02-28 | 2017-05-30 | 삼성전자주식회사 | 비휘발성 메모리 장치, 상기 메모리 장치를 제어하는 컨트롤러, 및 상기 컨트롤러 동작 방법 |
DE102017103347B4 (de) * | 2017-02-17 | 2023-07-20 | Infineon Technologies Ag | Verarbeitung von daten in speicherzellen eines speichers |
-
1998
- 1998-01-21 JP JP00995798A patent/JP4099844B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH11213692A (ja) | 1999-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6732322B1 (en) | Encoding method and memory device | |
KR101462961B1 (ko) | 비전단사 맵핑을 하는 셀당 멀티 비트의 플래시 메모리 디바이스 | |
US8140935B2 (en) | ECC controller for use in flash memory device and memory system including the same | |
USRE49253E1 (en) | Semiconductor memory device | |
US9053051B2 (en) | Multi-level memory controller with probability-distribution-based encoding | |
US8321760B2 (en) | Semiconductor memory device and data processing method thereof | |
JPH11283396A (ja) | メモリ装置 | |
US8677217B2 (en) | Data input / output control device and semiconductor memory device system | |
US20120254686A1 (en) | Non-volatile semiconductor memory devices and error correction methods | |
US8572457B2 (en) | Outer code protection for solid state memory devices | |
US9639421B2 (en) | Operating method of flash memory system | |
JP4099844B2 (ja) | メモリ装置 | |
JP5283989B2 (ja) | メモリシステム及びメモリアクセス方法 | |
JP2013131095A (ja) | メモリコントローラ、記憶装置およびメモリ制御方法 | |
JPH11212876A (ja) | 符号化方法およびそれを利用したメモリ装置 | |
JPH11213693A (ja) | メモリ装置 | |
JPH1173797A (ja) | 記憶装置 | |
JP3866674B2 (ja) | 記憶システム | |
KR101172672B1 (ko) | 부호길이 동기화가 적용된 메모리 장치 및 이의 부호길이 동기화 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050114 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050114 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060414 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070605 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070803 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080226 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080310 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110328 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130328 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140328 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |