JP2011044200A - 不揮発性半導体記憶装置 - Google Patents
不揮発性半導体記憶装置 Download PDFInfo
- Publication number
- JP2011044200A JP2011044200A JP2009191420A JP2009191420A JP2011044200A JP 2011044200 A JP2011044200 A JP 2011044200A JP 2009191420 A JP2009191420 A JP 2009191420A JP 2009191420 A JP2009191420 A JP 2009191420A JP 2011044200 A JP2011044200 A JP 2011044200A
- Authority
- JP
- Japan
- Prior art keywords
- data
- page
- memory cell
- unit
- semiconductor 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
【課題】エラー検知・訂正の効率を向上させた不揮発性半導体記憶装置を提供する。
【解決手段】不揮発性半導体記憶装置は、複数の第1及び第2の配線、並びにこれら第1及び第2の配線によって選択される複数ビットのデータを不揮発に記憶するメモリセルからなるメモリセルアレイと、複数の単位データからなる前記複数のメモリセルに対する書き込みデータを送信するデータバスと、前記データバスから入力される単位データを直接的に受信し、この単位データを保持する複数のデータラッチからなるカラム選択手段と、前記データラッチの活性/非活性を制御する制御手段とを備える。前記制御手段は、プログラム動作時、前記カラム制御手段に入力される単位データ毎に、この単位データを格納する所定の前記メモリセルに対応する前記データラッチを活性化させることを特徴とする。
【選択図】図5
【解決手段】不揮発性半導体記憶装置は、複数の第1及び第2の配線、並びにこれら第1及び第2の配線によって選択される複数ビットのデータを不揮発に記憶するメモリセルからなるメモリセルアレイと、複数の単位データからなる前記複数のメモリセルに対する書き込みデータを送信するデータバスと、前記データバスから入力される単位データを直接的に受信し、この単位データを保持する複数のデータラッチからなるカラム選択手段と、前記データラッチの活性/非活性を制御する制御手段とを備える。前記制御手段は、プログラム動作時、前記カラム制御手段に入力される単位データ毎に、この単位データを格納する所定の前記メモリセルに対応する前記データラッチを活性化させることを特徴とする。
【選択図】図5
Description
本発明は、不揮発性半導体記憶装置に関し、特に、1つのメモリセルにつき複数ビットの情報を格納する不揮発性半導体記憶装置に関する。
近年、不揮発性メモリでは、大容量化を実現するために1つのメモリセルに複数の閾値状態を持たせて複数ビットの情報を格納する多値化技術が標準的になってきた(例えば、特許文献1)。
しかし、この多値化技術によって、データを表現するために使用される閾値分布の差が小さくなる。このため、メモリセルの不良や過剰な書き込み電圧の印加などの要因でメモリセルの閾値分布が所望の位置とは別の位置に誤って書き込まれ、これによって誤読み出しが発生し易くなっている。
この問題に対し、データの信頼性の向上を図るべくECC(Error Correcting Code)によるエラー検知・訂正機能を持たせた不揮発性メモリがある。このような不揮発性メモリの場合、ホストから与えられたデータに基づいてECCの冗長データの生成と、ECCフレームの構成が必要となる。その結果、システム処理の負担が増え、システム性能を十分に引き出せない点が問題となる。
本発明は、エラー検知・訂正の効率を向上させた不揮発性半導体記憶装置を提供することを目的とする。
本発明の一態様に係る不揮発性半導体記憶装置は、複数の第1及び第2の配線、並びにこれら第1及び第2の配線によって選択される複数ビットのデータを不揮発に記憶するメモリセルからなるメモリセルアレイと、複数の単位データからなる前記複数のメモリセルに対する書き込みデータを送信するデータバスと、前記データバスから入力される単位データを直接的に受信し、この単位データを保持する複数のデータラッチからなるカラム選択手段と、前記データラッチの活性/非活性を制御する制御手段とを備える。前記制御手段は、プログラム動作時、前記カラム制御手段に入力される単位データ毎に、この単位データを格納する所定の前記メモリセルに対応する前記データラッチを活性化させることを特徴とする。
本発明によれば、エラー検知・訂正の効率を向上させた不揮発性半導体記憶装置を提供することができる。
以下、図面を参照しながら、本発明に係る不揮発性半導体記憶装置の実施の形態について詳細に説明する。
[第1の実施形態]
本発明の第1の実施形態に係る不揮発性メモリは、NAND型フラッシュメモリとなっている。
本発明の第1の実施形態に係る不揮発性メモリは、NAND型フラッシュメモリとなっている。
図1は、このNAND型フラッシュメモリの機能ブロック構成であり、図2はそのメモリセルアレイ110の構成を示している。メモリセルアレイ110は、図2に示すように、NANDセルユニット(NANDストリング)NUを配列して構成される。
各NANDセルユニットNUは、直列接続された複数の(図の例では32個の)メモリセルMC0〜MC31を有する。NANDセルユニットNUの一端は選択ゲートトランジスタS1を介して第1の配線であるビット線BLe(又はBLo)に接続され、他端は選択ゲートトランジスタS2を介してセルソース線CELSRCに接続される。
メモリセルMC0〜MC31の制御ゲートはそれぞれ異なる第2の配線であるワード線WL0〜WL31に接続され、選択ゲートトランジスタS1、S2のゲートはそれぞれ選択ゲート線SGD、SGSに接続される。
ビット線BLの一端にはカラム制御手段の一部であるセンスアンプ/データラッチ部120が配置される。図2の例では、隣接する偶数番ビット線BLeと奇数番ビット線BLoとが1つのセンスアンプSAを共有し、選択回路140aによって選択的にセンスアンプSAに接続される。この場合、1つのワード線WLと全偶数番ビット線BLe(或いは全奇数番ビット線BLo)によって選択されるメモリセルMCの集合が、同時書き込み/読み出し時のデータアクセス単位である「ページ」を構成する。
なお、以下の説明において、「ページ」とは、このデータアクセス単位としての「ページ」として用いる他、1つのメモリセルMCに多値データを記憶する場合における記憶データの階層、すなわちプログラムの段階を示す場合にも用いる。この場合の「ページ」をを「物理ページ」、あるいは、L(Lower)ページ、M(Middle)ページ、U(Upper)ページ等と呼ぶこともある。また、外部から入力される情報データであり、1つの以下に説明するECCフレームの対象となる所定サイズの情報データを示す場合にも用い、この場合の「ページ」を「論理ページ」、あるいは、1stページ、2ndページ、3rdページ等と呼ぶこともある。
ワード線WL方向に配列されるNANDセルユニットNUの集合は、データ消去の基本単位となるブロックを構成して、ビット線BLの方向に複数のブロックBLK(BLK0、BLK1、・・・、BLKn−1)が配列される。ワード線WL及び選択ゲート線SGD、SGSを選択駆動するためにロウデコーダ130が配置されている。
読み出し時、センスアンプ/データラッチ部120に読み出される1ページの読み出しデータは、カラム制御手段の一部であるカラムデコーダ140によってカラム単位で選択されてデータバス170及びI/Oバッファ150を介して外部に出力される。
書き込み時、I/Oポートから入力される書き込みデータは、I/Oバッファ150及びデータバス170を介してセンスアンプ/データラッチ部120にロードされる。この書き込みデータが物理ページにして3ページ分ロードされた後、メモリセルMCに対するプログラムが実行される。
外部から入力されるアドレスは、アドレスレジスタ160を介して、ロウデコーダ130及びカラムデコーダ140に転送される。外部から入力されるコマンドは、制御手段である状態制御回路180においてデコードされる。
状態制御回路180は、このコマンド及び外部タイミング制御信号(チップイネーブル信号CEn、書き込みイネーブル信号WEn、読み出しイネーブル信号REn、アドレスラッチイネーブル信号ALE、コマンドラッチイネーブル信号CLE等)に従って、書き込み及び消去のシーケンス制御や読み出し制御を行う。
本不揮発性メモリは、動作モードに応じて必要な電圧を生成するための内部電圧発生回路210を備える。この内部電圧発生回路210は、状態制御回路180によって制御される。また、ROMヒューズ領域110aとパワーオン検出回路220とを備える。ROMヒューズ領域110aは、プログラム電圧初期値の他、ウェハテストにより得られる各種の電圧、タイミングの調整データ(初期設定データ)を記憶する領域となる。これらの調整データは、パワーオン検出回路220によって検知される電源投入のタイミングで、パラメータレジスタ200にセットされ、以後の各動作制御に利用される。
図4は、本実施形態に係る不揮発性メモリにおける8値(3ビット)記憶時の閾値分布と各閾値分布のビット割付パターンとを示す図である。
図3に示すように、閾値分布は、閾値電圧が最も低い閾値レベルER(メモリセルMCの消去状態)から、閾値電圧が最も高い閾値レベルGまで、8つの閾値レベルに分かれている。これら閾値レベルER、A、B、C、D、E、F、Gは、それぞれ、2進数のデータ“111”、“011”、“001”、“101”、“100”、“000”、“010”、“110”に対応している。なお、このメモリセルMCに保持される3ビットのデータは、上位ビットからそれぞれ、U(UPPER)ページ、M(MIDDLE)ページ、L(LOWER)ページをそれぞれ構成するビットに対応している。
続いて、メモリセルMCのプログラム動作について説明する。
図4は、図3に示すビット割り付けに基づくプログラム動作時の閾値分布の変化を示す図である。
図示のように、プログラム動作は、Lページ、Mページ、Uページの順に行われる。
Lページのプログラムは、消去状態の閾値レベルHのメモリセルMCに対して、書き込みデータ“0”、“1”を与える。書き込みデータが“0”の場合、閾値電圧を閾値レベルIまで上昇させ、書き込みデータが“1”の場合、閾値電圧を維持させる。書き込みデータ“0”の閾値レベルIを決めるのは、その分布下限値に設定されたベリファイ電圧Viである。これによって、Lページの“0”、“1”がプログラムされる。
Mページのプログラムは、消去状態の閾値レベルH(=J)のメモリセルMCに対する選択的な“0”のプログラム(閾値レベルKへのプログラム)と、閾値レベルIに対する選択的な“0”のプログラム(閾値レベルLへのプログラム)及び“1”のプログラム(閾値レベルMへのプログラム)とからなる。ここで注意すべきは、図4の場合、“0”が閾値電圧を変動させる書き込みデータで、“1”が非書き込みデータであるとは限らないという点である。この例のように、データが“1”の場合にも、閾値を大きく移動させるプログラムを行う場合がある。この3種類のMページのプログラムは、プログラム電圧印加動作は同時であるが、ベリファイ動作が異なる条件で行われる。即ち、ベリファイ電圧Vk、Vl、Vmを用いて閾値レベルK、L、Mを確認するベリファイ動作が異なるタイミングでなされる。
Uページのプログラムは、閾値レベルJのメモリセルMCに対する選択的な“0”のプログラム(閾値レベルAへのプログラム)、閾値レベルKのメモリセルMCに対する選択的な“0”のプログラム(閾値レベルBへのプログラム)或いは“1”のプログラム(閾値レベルCへのプログラム)、閾値レベルLのメモリセルMCに対する選択的な“1”のプログラム(閾値レベルDへのプログラム)或いは“0”のプログラム(閾値レベルEへのプログラム)、閾値レベルMのメモリセルMCに対する選択的な“0”のプログラム(閾値レベルFへのプログラム)或いは“1”のプログラム(閾値レベルGへのプログラム)として行われる。このUページのプログラムも、プログラム電圧印加動作は同時であり、ベリファイ電圧が異なる条件、即ちベリファイ電圧Va〜Vgを用いたベリファイ動作が行われる。
以上のように、1つのメモリセルMCに複数ビットを記憶させる場合、各閾値分布が狭小になるため、各メモリセルMCのプログラム特性によっては正しい閾値分布とならない可能性もある。そのため、データ読み出し時にECCによるエラー検知・訂正を行う。この場合、NAND型フラッシュメモリには、ホストから入力される情報データの他、ECCの冗長データを保持するための領域を持つ必要がある。これに伴い、データのアクセスは、1ページ分(例えば、8KB)のデータと、この冗長データとからなるECCフレーム毎に行うことになる。
続いて、外部から入力される情報データが、メモリセルアレイ110上にどのようなフォーマットで記憶されるかについて説明する。
本実施形態の場合について説明する前に、いくつかの比較例について説明する。
図13は、第1の比較例に係るNAND型フラッシュメモリにおける論理ページ及び物理ページのデータフォーマットの関係を示す図である。
ホストから入力される情報データは、所定のサイズからなる論理ページ毎に取り扱われる。図13の場合、論理ページは、データAからなる1stページ、データBからなる2ndページ、データCからなる3rdページの3つのページがあり、それぞれサイズは8KBとなっている。
物理ページは、1つのワード線WLに接続された所定数のメモリセルMCからなるUページ、Mページ、Lページの3つのページがあり、それぞれのページは、複数の区画SCに分けられている。この区画SCの数は任意であるが、ここでは説明の便宜上、それぞれのページは、9つの区画SC0〜SC8に分けられているものとする。また、以下の説明において、Uページ、Mページ、及びLページのそれぞれの区画SCi(i=0〜8)を<Ui>、<Mi>、及び<Li>と表現する。
本比較例の場合、論理ページ毎に、本来のデータとなる情報データと、この情報データに基づいて算出されたECCの冗長データとによって構成されるECCフレームが生成される。具体的には、1stページの場合、8KBのデータAから8つの情報データA0〜A7と、データAから算出された冗長データA8とによって構成さえるECCフレーム<1>が生成される。同様に、2ndページから、情報データB0〜B7と、冗長データB8とによって構成されるECCフレーム<2>、3rdページから、データC0〜C7と、冗長データC8とによって構成されるECCフレーム<3>がそれぞれ生成される。ここで、データ転送の単位であるA0〜C8等を「単位データ」と呼ぶ。
この生成されたECCフレーム<1>、<2>、及び<3>は、それぞれ、Lページ、Mページ、及びUページにそのまま格納される。より具体的には、例えば、ECCフレーム<1>のデータA0〜A8は、区画<L0〜L8>に格納される。
図14は、第2の比較例における論理ページ及び物理ページのデータフォーマットの関係を示す図である。
図14の場合、論理ページ毎にECCフレームが生成される点に関しては、第1の比較例と同様であるが、ECCフレームがUページ、Mページ、及びLページに分散して格納される点が異なる。具体的には、ECCフレーム<1>、<2>、及び<3>がそれぞれ区画<L0〜L2、M0〜M2、U0〜U2>、<L3〜L5、M3〜M5、U3〜U5>、及び<L6〜L8、M6〜M8、U6〜U8>に格納される。
ここで、図3から、データの誤書き込みは、閾値レベルA及びB間、閾値レベルB及びC間等、隣接する閾値レベル間で生じやすい一方、離れた閾値レベル間、例えば閾値レベルER及びD間等の場合、誤書き込みが生ずることは稀である。このことから、図3に示すビット割付の場合、Uページの誤書き込みが他のページの誤書き込みに比べて生じやすいことが分かる。また、1つのメモリセルMCだけを考えた場合、Uページ、Mページ、及びLページのうち、2以上の論理ページのデータに誤りが生じることは稀であるが、例えば、メモリセルMCのUページのみに誤りがあるだけでも、このようなメモリセルMCが複数ある場合、Uページ全体では、複数の誤書き込みデータが存在することになる。このことから、図13に示す第1の比較例のように、ECCフレームを1つの論理ページにそのまま格納するよりも、図14に示す第2の比較例のように、Uページ、Mページ、及びLページに分散して格納する方が、ECCのエラー検知・訂正の可能性を向上させることができる。
続いて、図14に示すデータフォーマットを実現する方法について説明する。
図15は、図14に示すデータフォーマットを実現する制御フローであり、図16は、この制御フローにおけるデータラッチの状態を示す図である。ここで、図15の制御フローは、一般的なセンスアンプ/データラッチ部を想定したものである。具体的には、センスアンプ/データラッチ部は、Uページ、Mページ、及びLページに対する書き込みデータをそれぞれ保持する3つのデータラッチDLU、DLM、及びDLLを備える。このうち、データラッチDLUのみデータバス170から書き込みデータを受信することができ、その他のデータラッチDLM及びDLUには、データラッチDLUを介して書き込みデータが転送される仕組みとなっている。
まず、ステップS501において、システム上あるいはコントローラチップのキャッシュメモリ上で、1stページのデータAのECC符号化を行う。これにより情報データA0〜A7、及び冗長データA8が生成される。
続いて、ステップS502において、システム上あるいはコントローラチップのキャッシュメモリ上で、2ndページのデータBのECC符号化を行う。これにより情報データB0〜B7、及び冗長データB8が生成される。
続いて、ステップS503において、システム上あるいはコントローラチップのキャッシュメモリ上で、3rdページのデータCのECC符号化を行う。これにより情報データC0〜C7、及び冗長データC8が生成される。
続いて、ステップS504において、システム上あるいはコントローラチップのキャッシュメモリ上で、ステップS501〜S503で生成された情報データ及び冗長データを、図14に示すデータフォーマットに適合するように並び替える。これにより、データA0〜A2、B0〜B2、及びC0〜C2からなるLページのデータ、データA3〜A5、B3〜B5、及びC3〜C5からなるMページのデータ、データA6〜A8、B6〜B8、及びC6〜C8からなるUページのデータがそれぞれ用意される。
続いて、ステップS505において、ステップS504によって並び替えられたデータのうちLページに格納されるデータA0〜A2、B0〜B2、C0〜C2が、センスアンプ/データラッチ部に転送され、データラッチDLUに保持される。この時のデータラッチDLU、DLM、及びDLLの状態を図16(a)に示す。その後、ステップS506において、データラッチDLUに格納されたLページのデータがデータラッチDLLに転送される。この時のデータラッチDLU、DLM、及びDLLの状態を図16(b)に示す。
続いて、ステップS507において、ステップS504によって並び替えられたデータのうちMページに格納されるデータA3〜A5、B3〜B5、C3〜C5が、センスアンプ/データラッチ部に転送され、データラッチDLUに保持される。この時のデータラッチDLU、DLM、及びDLLの状態を図16(c)に示す。その後、ステップS508において、データラッチDLUに格納されたMページのデータがデータラッチDLMに転送される。この時のデータラッチDLU、DLM、及びDLLの状態を図16(d)に示す。
続いて、ステップS509において、ステップS504によって並び替えられたデータのうちUページに格納されるデータA6〜A8、B6〜B8、C6〜C8が、センスアンプ/データラッチ部に転送され、データラッチDLUに保持される。この時のデータラッチDLU、DLM、及びDLLの状態を図16(e)に示す。
最後に。ステップS510において、データラッチDLU、DLM、及びDLLに保持されているデータがそれぞれ、Uページ、Mページ、及びLページにプログラムされる。
以上により、図14に示すデータフォーマットを実現することができる。
なお、第2の比較例の場合、ECCの冗長データA8、B8、及びC8を全てUページに格納しているが、冗長データは、いずれの物理ページにおいても良い。例えば、図17に示す第3の比較例の場合、データAの冗長データA8、データBの冗長データB5、及びデータCの冗長データC2を、それぞれ区画<U2>、<M5>、及び<L8>に格納している。このようなデータフォーマットであっても、システム上あるいはコントローラチップのキャッシュメモリ上での並び替えシーケンスが変更されるだけで、図15に示す制御フローによって実現することができる。
以上、第2及び第3の比較例の場合、ECCフレームが物理ページであるUページ、Mページ、Lページに分散されているため、高効率で信頼性の高いECCエラー検知・訂正が可能となる。
しかし、図15に示す制御フローによれば、システム上あるいはコントローラのキャッシュメモリ上でのデータ並び替え処理を要するため、システムの負荷が増大し、システム全体の処理能力が十分に得られない点が問題となる。
そこで、本実施形態では、このようなシステム上でのデータ並び替え処理を省くことで、システム全体の処理能力の向上を図る。
図5は、本発明の第1の実施形態に係るセンスアンプ/データラッチ部120の構成を示す図である。このセンスアンプ/データラッチ部120は、1バイト単位でのデータ入出力をするI/Oインタフェースに対応させたものである。
センスアンプ/データラッチ部120は、メモリセルアレイ110のビット線BLの一端に設けられた8個のセンスアンプ121a〜121hと、外部とメモリセルアレイ110とのデータ転送や、その際に必要な演算を行う演算器124と、データラッチ125(DLU)、126(DLM)、及び127(DLL)とを備える。複数のセンスアンプ121と演算器124との間のデータ送受信は、センスアンプバスSABUSを介して行われる。センスアンプ121a〜121hとセンスアンプバスSABUSとの間には、それぞれカラム選択信号COL0〜COL7で制御されるスイッチ素子122a〜122hが設けられている。一方、演算器124とセンスアンプバスSABUSとの間には、第2スイッチ信号SW2で制御されるスイッチ素子123が設けられている。また、演算器124、データラッチ125〜127、及びデータバスDQBUS(170)間のデータ送受信は、ローカルバスLBUSを介して行われる。3つのデータラッチ125〜127とローカルバスLBUSとは、スイッチ素子128によって接続される。データバスDQBUSとローカルバスLBUSとの間には、第1スイッチ信号SW1で制御されるスイッチ素子が設けられている。
データラッチ125は、1バイト分、つまり8個のビットラッチ回路125a〜125h(125c〜125hは図示せず)を備える。ビットラッチ回路125aは、2個のインバータIV121及びIV122の入出力を相互接続したフリップフロップ回路と、このフリップフロップ回路及びローカルデータバスLBUSを接続するスイッチ素子であるトランスファゲートTR121とを備える。また、データラッチ125を活性化させるデータラッチ信号DLULATと、ビットラッチ回路125aを活性化させるビット選択信号TIER0とを入力とするANDゲートG121を備える。ビットラッチ回路125aは、このANDゲートG121の出力によって制御される。つまり、データラッチ信号DLULATが活性化され、かつ、ビット選択信号TIER0が活性化された場合にだけ、ラッチ回路125aが活性化され、ローカルデータバスLBUSに接続されることになる。
データラッチ125の他のビットラッチ回路125b〜125hも同様の構成となっている。また、データラッチ126及び127は、データラッチ125と同様の構成となっている。
演算器124には、複雑な処理が要求されるため、サイズが大きくなる。そのため、図5の場合、1つの演算器124を複数のカラム(ビット線BL)で共有する構成となっている。この場合、センスアンプ121と演算器124との間の8ビットのデータ転送の際には、カラム選択信号COL0〜COL7をシーケンシャルに活性化させ、時分割で行う必要がある。なお、チップ面積等の問題がない場合、演算器124を複数設けても良い。この場合、センスアンプ121と演算器とのデータ転送時間を短縮することができる。
次に、このセンスアンプ/データラッチ部120を備える本実施形態におけるECCフレームのプログラム動作について説明する。ここでは、図6に示す論理ページ及び物理ページにおけるデータフォーマットを例に説明する。
このデータフォーマットも、論理ページ毎にECCフレームを構成する点、ECCフレームをUページ、Mページ、及びLページに分散して格納させる点については、第2及び第3の比較例と同様である。但し、各ECCフレーム内の物理ページにおけるデータの配置が異なる。具体的には、ECCフレーム<1>は、情報データA0〜A7、及び冗長データA8によって構成され、各データA0、A1、・・・、A8は、区画<L0、M0、U0、L1、M1、U1、L2、M2、U2>に格納される。ECCフレーム<2>は、情報データB0〜B7、及び冗長データB8によって構成され、各データB0、・・・、B8は、区画<L3、M3、U3、L4、M4、U4、L5、M5、U5>に格納される。ECCフレーム<3>は、情報データC0〜C7、及び冗長データC8によって構成され、各データC0、・・・、C8は、区画<L6、M6、U6、L7、M7、U7、L8、M8、U8>に格納される。
上述した図5に示すセンスアンプ/データラッチ部120を用いた場合、図6に示すデータフォーマットは、図7に示す制御フローによって実現することができる。図8は、図7に示す制御フローにおけるデータラッチDLU、DLM、及びDLLの状態を示す図である。
最初に、ステップS101において、1stページのデータAがセンスアンプ/データラッチ部120に情報データA0〜A7として入力される。一方、ステップS102において、システム上あるいはコントローラチップのキャッシュメモリ上で冗長データA8が生成され、この冗長データA8が情報データA7に続けて入力される。これを受けたセンスアンプ/データラッチ部120では、データA0、A1、A2、・・・、A6、A7、A8の入力に合わせて与えられるデータラッチ信号DLULAT、DLMLAT、及びDLLLATによって、データラッチDLU、DLM、DLL、・・・、DLU、DLM、DLLの順に活性化される。ステップS101及びS102後のデータラッチDLU、DLM、及びDLLの状態をそれぞれ図8(a)及び(b)に示す。
続いて、ステップS103において、2stページのデータBがセンスアンプ/データラッチ部120に情報データB0〜B7として入力される。一方、ステップS104において、システム上あるいはコントローラチップのキャッシュメモリ上で冗長データB8が生成され、この冗長データB8が情報データB7に続けて入力される。これを受けたセンスアンプ/データラッチ部120では、データB0、B1、B2、・・・、B6、B7、B8の入力に合わせて与えられるデータラッチ信号DLULAT、DLMLAT、及びDLLLATによって、データラッチDLU、DLM、DLL、・・・、DLU、DLM、DLLの順に活性化される。ステップS104後のデータラッチDLL、DLM、及びDLLの状態を図8(c)に示す。
続いて、ステップS105において、3rdページのデータCがセンスアンプ/データラッチ部120に情報データC0〜C7として入力される。一方、ステップS106において、システム上あるいはコントローラチップのキャッシュメモリ上で冗長データC8が生成され、この冗長データC8が情報データC7に続けて入力される。これを受けたセンスアンプ/データラッチ部120では、データC0、C1、C2、・・・、C6、C7、C8の入力に合わせて与えられるデータラッチ信号DLULAT、DLMLAT、及びDLLLATによって、データラッチDLU、DLM、DLL、・・・、DLU、DLM、DLLの順に活性化される。ステップS106後のデータラッチDLL、DLM、及びDLLの状態を図8(d)に示す。
続いて、ステップS107において、メモリセルアレイ110に対するプログラムコマンドが実行され、最後に、ステップS108において、このプログラムが完了するまで待つ。
本実施形態の場合、プログラム動作時に生じるシステム上あるいはコントローラチップのキャッシュメモリ上でのデータ並び替え処理が不要で、書き込みデータを直接NAND型フラッシュメモリに入力することができる。この点から、第2及び第3の比較例と同等のECCによるエラー検知・訂正の性能を持つことができると同時に、第2及び第3の比較例に比べ、システム処理が軽減され、システム性能の向上させた不揮発性メモリを提供することができる。
[第2の実施形態]
図9は、本発明の第2の実施形態に係る不揮発性メモリにおける論理ページ及び物理ページのデータフォーマットの関係を示す図である。
図9は、本発明の第2の実施形態に係る不揮発性メモリにおける論理ページ及び物理ページのデータフォーマットの関係を示す図である。
図9の場合、図6に示すデータフォーマットと同様、3つのECCフレーム<1>〜<3>がある。
ECCフレーム<1>は、1stページの8KBのデータAから生成された情報データA0〜A7、及び冗長データA8によって構成される。これらデータA0、・・・、A8は、区画<L0、L1、L2、M0、M1、M2、U0、U1、U2>に格納されている。ECCフレーム<2>は、2ndページの8KBのデータBから生成された情報データB0〜B7、及び冗長データB8によって構成される。これらデータB0、・・・、B8は、区画<L3、L4、L5、M3、M4、M5、U3、U4、U5>に格納されている。ECCフレーム<3>は、3rdページの8KBのデータCから生成された情報データC0〜C7、及び冗長データC8によって構成される。これらデータC0、・・・、C8は、区画<L6、L7、L8、M6、M7、M8、U6、U7、U8>に格納されている。
図9に示すデータフォーマットを実現する制御フローは、図7と同様であるため省略する。図10は、この制御フローのステップ毎のデータラッチDLU、DLM、及びDLLの状態を示す図である。
最初に、ステップS101において、1stページのデータAがセンスアンプ/データラッチ部120に情報データA0〜A7として入力されると共に、ステップS102において、データAから冗長データA8が生成された上で、この冗長データA8も情報データA7に続けて入力される。これを受けたセンスアンプ/データラッチ部120では、データA0〜A2、A3〜A5、A6〜A8の入力に合わせて与えられるデータラッチ信号DLULAT、DLMLAT、及びDLLLATによって、データラッチDLL、DLM、DLUの順に活性化される。ステップS101及びS102後のデータラッチDLU、DLM、及びDLUの状態をそれぞれ図8(a)及び(b)に示す。
続いて、ステップS103において、2ndページのデータBがセンスアンプ/データラッチ部120に情報データB0〜B7として入力されると共に、ステップS104において、データBから冗長データB8が生成された上で、この冗長データB8も情報データB7に続けて入力される。これを受けたセンスアンプ/データラッチ部120では、データB0〜B2、B3〜B5、B6〜B8の入力に合わせて与えられるデータラッチ信号DLULAT、DLMLAT、及びDLLLATによって、データラッチDLL、DLM、DLUの順に活性化される。ステップS104後のデータラッチDLU、DLM、及びDLLの状態を図8(c)に示す。
続いて、ステップS105において、3rdページのデータCがセンスアンプ/データラッチ部120に情報データC0〜C7として入力されると共に、ステップS105において、データCから冗長データC8が生成された上で、この冗長データC8も情報データC7に続けて入力される。これを受けたセンスアンプ/データラッチ部120では、データC0〜C2、C3〜C5、C6〜C8の入力に合わせて与えられるデータラッチ信号DLULAT、DLMLAT、及びDLLLATによって、データラッチDLL、DLM、DLLの順に活性化される。ステップS106後のデータラッチDLU、DLM、及びDLLの状態を図8(d)に示す。
続いて、ステップS107において、メモリセルアレイ110に対するプログラムコマンドが実行され、最後に、ステップS108において、このプログラムが完了するまで待つ。
第1の実施形態の場合、1区画毎にデータラッチDLL、DLM、DLUの順で、アクセスされていたが、本実施形態の場合、3区画毎にデータラッチDLL、DLM、DLUの順でアクセスされている。このようなアクセス順序であっても、データラッチ信号DLULAT、DLMLAT、及びDLLLATと、ビット選択信号TIER0〜TIER7の活性化タイミングを変更するだけで、図7の制御フローによって図9に示すデータフォーマットを実現することができる。
なお、本実施形態と同様に、データラッチ信号DLULAT、DLMLAT、及びDLLLATと、ビット選択信号TIER0〜TIER7の活性化タイミングを変更するだけで、第1及び第2の比較例に係るデータフォーマットをはじめ、あらゆるデータフォーマットを効率的に実現することができる。
[第3の実施形態]
本発明の第3の実施形態は、可変抵抗素子を用いた不揮発性メモリについての実施形態となる。
本発明の第3の実施形態は、可変抵抗素子を用いた不揮発性メモリについての実施形態となる。
図11は、本実施形態に係る不揮発性メモリの一部を示す図である。
本実施形態の不揮発性メモリは、複数の第1の配線であるワード線WL、これら複数のワード線WLに交差する複数の第2の配線であるビット線BL、これらワード線WL及びビット線BLの各交差部に接続された複数のメモリセルMCからなるメモリセルアレイ310を備える。また、ワード線WLの一端にワード線WLを選択するロウデコーダ330と、ビット線BLの一端にビット線BLを選択するカラム制御手段であるカラムデコーダ340とを備える。このカラムデコーダ340は、第1の実施形態に係るNAND型フラッシュメモリのセンスアンプ/データラッチ部120及びカラムデコーダ140と同様の機能を有し、センスアンプSAとデータラッチDLについても図5に示す回路構成と同様となる。
メモリセルMCは、電気的ストレスを与えることで抵抗値が変化する可変抵抗素子と、非オーミック素子であるダイオードとの直列接続からなる。本実施形態の場合、この可変抵抗素子の抵抗状態の閾値分布に複数ビットのデータを割り付けることで、多値データを記憶することができる。
図12は、可変抵抗素子としてReRAMを使用した場合であり、3ビットのデータを記憶する場合の抵抗状態の閾値分布とビット割付の関係を示す一例である。ReRAMの場合、電気的安定状態にある高抵抗状態を消去状態とし、この消去状態の閾値レベルERから、最も低抵抗状態にある閾値レベルGに対し、それぞれ、2進数のデータ“111”、“011”、“001”、“101”、“100”、“000”、“010”、“110”が割り付けられている。
以上のような構成の不揮発性メモリの場合であっても、同一のワード線WLに接続されたメモリセルMCの記憶データの階層をLページ、Mページ、Uページとし、ホストから与えられるデータを論理ページとすると、論理ページ及び物理ページのデータフォーマットは第1の実施形態と同様に取り扱うことができる。そのため、本不揮発性メモリにおいても、第1の実施形態と同様の制御フローによって、効率的なECCフレームの取り扱いを行うことができる。
以上から、本実施形態の場合であっても、第1の実施形態と同様の効果を得ることができる。
[その他]
以上、発明の実施の形態を説明したが、本発明はこれらに限定されるものではなく、発明の趣旨を逸脱しない範囲内において、種々の変更、追加等が可能である。
以上、発明の実施の形態を説明したが、本発明はこれらに限定されるものではなく、発明の趣旨を逸脱しない範囲内において、種々の変更、追加等が可能である。
上記実施形態は、いずれも1つのメモリセルに3ビットデータを保持する場合について説明したが、2ビットデータ、あるいは4ビット以上のデータであっても、カラム毎のデータラッチの数をビット数と同数だけ用意するだけで、上記実施形態と同様の効果を得ることができる。
110、310・・・メモリセルアレイ、110a・・・ROMヒューズ領域、120・・・センスアンプ/データラッチ部、121・・・センスアンプ、122、123、128・・・スイッチ素子、124・・・演算器、125、126、127・・・データラッチ、125a、125b・・・ビットラッチ回路、130、330・・・ロウデコータ、140、340・・・カラムデコーダ、140a・・・選択回路、150・・・I/Oバッファ、160・・・アドレスレジスタ、170・・・データバス、180・・・状態制御回路、200・・・パラメータレジスタ、210・・・内部電圧発生回路、220・・・パワーオン検出回路。
Claims (5)
- 複数の第1及び第2の配線、並びにこれら第1及び第2の配線によって選択される複数ビットのデータを不揮発に記憶するメモリセルからなるメモリセルアレイと、
複数の単位データからなる前記複数のメモリセルに対する書き込みデータを送信するデータバスと、
前記データバスから入力される単位データを直接的に受信し、この単位データを保持する複数のデータラッチからなるカラム選択手段と、
前記データラッチの活性/非活性を制御する制御手段と
を備え、
前記制御手段は、プログラム動作時、前記カラム制御手段に入力される単位データ毎に、この単位データを格納する所定の前記メモリセルに対応する前記データラッチを活性化させる
ことを特徴とする不揮発性半導体記憶装置。 - 前記書き込みデータは、情報データと、前記情報データに基づいて生成される冗長データを組にしたECCフレームを複数含み、
前記ECCフレームは、複数の前記単位データからなり、
所定の前記ECCフレームに属するデータは、所定の前記第1の配線によって選択される複数のメモリセルの第1のビットで構成される第1の物理ページ、及び前記第1のビットと異なる第2のビットで構成される第2の物理ページに分散して格納される
ことを特徴とする請求項1記載の不揮発性半導体記憶装置。 - 所定の前記ECCフレームの冗長データは、前記第1の物理ページに格納され、
他の前記ECCフレームの冗長データは、前記第2の物理ページに格納される
ことを特徴とする請求項1又は2記載の不揮発性半導体記憶装置。 - 前記メモリセルは、フローティングゲートを有するトランジスタである
ことを特徴とする請求項1乃至3の何れか1項に記載の不揮発性半導体記憶装置。 - 前記メモリセルは、電気的ストレスによって抵抗値が変化する抵抗変化素子、及びこの抵抗変化素子に直列接続された非オーミック素子からなる
ことを特徴とする請求項1乃至3の何れか1項に記載の不揮発性半導体記憶装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009191420A JP2011044200A (ja) | 2009-08-20 | 2009-08-20 | 不揮発性半導体記憶装置 |
US12/838,811 US8331147B2 (en) | 2009-08-20 | 2010-07-19 | Nonvolatile semiconductor memory device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009191420A JP2011044200A (ja) | 2009-08-20 | 2009-08-20 | 不揮発性半導体記憶装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011044200A true JP2011044200A (ja) | 2011-03-03 |
Family
ID=43605280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009191420A Pending JP2011044200A (ja) | 2009-08-20 | 2009-08-20 | 不揮発性半導体記憶装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8331147B2 (ja) |
JP (1) | JP2011044200A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012216266A (ja) * | 2011-03-31 | 2012-11-08 | Toshiba Corp | 半導体記憶装置 |
JP2013225307A (ja) * | 2012-04-19 | 2013-10-31 | Samsung Electronics Co Ltd | 不揮発性メモリ装置を制御するコントローラの動作方法、及び、極符号化された符号語を不揮発性メモリ装置のマルチビットデータにマッピングするマッピングパターン選択方法 |
US9236888B2 (en) | 2014-03-10 | 2016-01-12 | Kabushiki Kaisha Toshiba | Storage device, memory controller and memory control method |
US10078548B2 (en) | 2015-09-11 | 2018-09-18 | Toshiba Memory Corporation | Memory controller, semiconductor device and method of controlling semiconductor device |
KR20210097820A (ko) * | 2018-12-31 | 2021-08-09 | 마이크론 테크놀로지, 인크 | 메모리 모듈에 대한 구성 가능한 데이터 경로 |
US11994943B2 (en) | 2018-12-31 | 2024-05-28 | Lodestar Licensing Group Llc | Configurable data path for memory modules |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010118123A (ja) * | 2008-11-14 | 2010-05-27 | Toshiba Corp | 半導体記憶装置 |
US8417877B2 (en) | 2010-08-31 | 2013-04-09 | Micron Technology, Inc | Stripe-based non-volatile multilevel memory operation |
JP5426600B2 (ja) * | 2011-03-30 | 2014-02-26 | 株式会社東芝 | 半導体メモリ |
US11416340B1 (en) * | 2013-01-04 | 2022-08-16 | Pure Storage, Inc. | Storage system with multiple storage types in a vast storage network |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008077810A (ja) * | 2006-09-25 | 2008-04-03 | Toshiba Corp | 不揮発性半導体記憶装置 |
JP2009099199A (ja) * | 2007-10-17 | 2009-05-07 | Toshiba Corp | 不揮発性半導体記憶装置 |
JP2009158061A (ja) * | 2007-12-27 | 2009-07-16 | Toshiba Corp | 半導体記憶装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE40110E1 (en) | 1999-09-20 | 2008-02-26 | Kabushiki Kaisha Toshiba | Nonvolatile semiconductor memory device for storing multivalued data |
US6985388B2 (en) * | 2001-09-17 | 2006-01-10 | Sandisk Corporation | Dynamic column block selection |
TWI261356B (en) * | 2005-01-03 | 2006-09-01 | Macronix Int Co Ltd | Phase-change multi-level cell and operating method thereof |
JP5095131B2 (ja) | 2006-05-31 | 2012-12-12 | 株式会社東芝 | 半導体記憶装置 |
JP4791912B2 (ja) | 2006-08-31 | 2011-10-12 | 株式会社東芝 | 不揮発性半導体記憶装置及び不揮発性記憶システム |
JP2008108297A (ja) | 2006-10-23 | 2008-05-08 | Toshiba Corp | 不揮発性半導体記憶装置 |
JP2010118123A (ja) | 2008-11-14 | 2010-05-27 | Toshiba Corp | 半導体記憶装置 |
-
2009
- 2009-08-20 JP JP2009191420A patent/JP2011044200A/ja active Pending
-
2010
- 2010-07-19 US US12/838,811 patent/US8331147B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008077810A (ja) * | 2006-09-25 | 2008-04-03 | Toshiba Corp | 不揮発性半導体記憶装置 |
JP2009099199A (ja) * | 2007-10-17 | 2009-05-07 | Toshiba Corp | 不揮発性半導体記憶装置 |
JP2009158061A (ja) * | 2007-12-27 | 2009-07-16 | Toshiba Corp | 半導体記憶装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012216266A (ja) * | 2011-03-31 | 2012-11-08 | Toshiba Corp | 半導体記憶装置 |
JP2013225307A (ja) * | 2012-04-19 | 2013-10-31 | Samsung Electronics Co Ltd | 不揮発性メモリ装置を制御するコントローラの動作方法、及び、極符号化された符号語を不揮発性メモリ装置のマルチビットデータにマッピングするマッピングパターン選択方法 |
US9236888B2 (en) | 2014-03-10 | 2016-01-12 | Kabushiki Kaisha Toshiba | Storage device, memory controller and memory control method |
US10078548B2 (en) | 2015-09-11 | 2018-09-18 | Toshiba Memory Corporation | Memory controller, semiconductor device and method of controlling semiconductor device |
KR20210097820A (ko) * | 2018-12-31 | 2021-08-09 | 마이크론 테크놀로지, 인크 | 메모리 모듈에 대한 구성 가능한 데이터 경로 |
KR102649558B1 (ko) | 2018-12-31 | 2024-03-21 | 마이크론 테크놀로지, 인크 | 메모리 모듈에 대한 구성 가능한 데이터 경로 |
US11994943B2 (en) | 2018-12-31 | 2024-05-28 | Lodestar Licensing Group Llc | Configurable data path for memory modules |
Also Published As
Publication number | Publication date |
---|---|
US8331147B2 (en) | 2012-12-11 |
US20110044103A1 (en) | 2011-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11150808B2 (en) | Flash memory system | |
US7660166B2 (en) | Method of improving programming precision in flash memory | |
JP2011044200A (ja) | 不揮発性半導体記憶装置 | |
US7502254B2 (en) | Method for generating soft bits in flash memories | |
KR102192910B1 (ko) | 반도체 장치, 메모리 시스템 및 이의 동작 방법 | |
JP6164712B1 (ja) | フラッシュメモリ | |
US8050101B2 (en) | Nonvolatile memory devices having erased-state verify capability and methods of operating same | |
KR101829208B1 (ko) | 반도체 메모리 장치의 동작 방법 | |
US20100208519A1 (en) | Semiconductor memory device and method of reading the same | |
US10706944B2 (en) | Memory controller for controlling memory device based on erase state information and method of operating the memory controller | |
JP4746658B2 (ja) | 半導体記憶システム | |
JP2008204591A (ja) | メモリ素子の読み出し方法 | |
KR20080069389A (ko) | 플래시 메모리 장치 및 동작 방법 | |
JP2017157257A (ja) | 半導体記憶装置及びメモリシステム | |
JP2008108297A (ja) | 不揮発性半導体記憶装置 | |
JP2011014195A (ja) | フラッシュメモリ | |
US10037247B2 (en) | Memory system having idle-memory devices and method of operating thereof | |
JP5039168B2 (ja) | 半導体記憶装置 | |
JP2020095766A (ja) | 半導体記憶装置 | |
JP2023089641A (ja) | メモリシステムおよび半導体記憶装置 | |
US11688465B2 (en) | Memory system having memory controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110916 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121120 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130326 |