(57)【要約】【課題】読出しデータの信頼性の低下を抑制し、書込み速度が速く、かつ、多値データを記憶することができる半導体記憶装置を提供する。【解決手段】半導体記憶装置は、第１の方向に延伸する複数のワード線ＷＬと、第１の方向と交差する第２の方向に延伸する複数のビット線ＢＬと、ワード線とビット線とによって構成される格子形状の交点に対応して設けられ、Ｎビットデータ（Ｎ≧２）を格納する複数のメモリセルＭＣと、複数のビット線に対応して設けられ、メモリセルに格納されたデータを検出し、あるいは、メモリセルへデータを書き込むセンスアンプ４０とを備え、Ｎビットデータのうち複数準位のデータを第１の閾値電圧のデータとしてメモリセルに書き込み、第１の閾値電圧として書き込まれたデータを読み出すときには、誤り訂正コードを用いて該データを読み出す。【選択図】図６
2009295232.tif 000002
【特許請求の範囲】
【請求項１】
第１の方向に延伸する複数のワード線と、
前記第１の方向と交差する第２の方向に延伸する複数のビット線と、
前記ワード線と前記ビット線とによって構成される格子形状の交点に対応して設けられ、Ｎビットデータ（Ｎ≧２）を格納する複数のメモリセルと、
前記複数のビット線に対応して設けられ、前記メモリセルに格納されたデータを検出し、あるいは、前記メモリセルへデータを書き込むセンスアンプとを備え、
前記Ｎビットデータのうち複数準位のデータを第１の閾値電圧のデータとして前記メモリセルに書き込み、前記第１の閾値電圧として書き込まれたデータを読み出すときには、誤り訂正コードを用いて該データを読み出すことを特徴とする半導体記憶装置。
【請求項２】
第１の方向に延伸する複数のワード線と、前記第１の方向と交差する第２の方向に延伸する複数のビット線と、前記ワード線と前記ビット線とによって構成される格子形状の交点近傍に対応して設けられ、Ｎビットデータ（Ｎ≧２）を格納する複数のメモリセルと、前記複数のビット線に対応して設けられ、前記メモリセルに格納されたデータを検出し、あるいは、前記メモリセルへデータを書き込むセンスアンプとを含むメモリ部へデータを書き込む書込みコントローラであって、
前記Ｎビットデータのうち複数準位のデータを第１の閾値電圧のデータとして前記メモリセルに書き込むように前記メモリ部を制御する書込みコントローラ。
【請求項３】
第１の方向に延伸する複数のワード線と、前記第１の方向と交差する第２の方向に延伸する複数のビット線と、前記ワード線と前記ビット線とによって構成される格子形状の交点近傍に対応して設けられ、Ｎビットデータ（Ｎ≧２）を格納する複数のメモリセルと、前記複数のビット線に対応して設けられ、前記メモリセルに格納されたデータを検出し、あるいは、前記メモリセルへデータを書き込むセンスアンプとを含むメモリ部からデータを読み出す読出しコントローラであって、
前記Ｎビットデータのうち複数準位のデータを第１の閾値電圧のデータとして格納する前記メモリセルから該データを読み出すときに、誤り訂正コードを用いて該データを読み出すように前記メモリ部を制御する読出しコントローラ。
【請求項４】
前記第１の閾値電圧に対応する前記複数準位のデータは、前記Ｎビットデータのうち前記メモリセルの閾値電圧が最も低いデータおよび二番目に低いデータであることを特徴とする請求項１に記載の半導体記憶装置。
【請求項５】
第１の方向に延伸する複数のワード線と、前記第１の方向と交差する第２の方向に延伸する複数のビット線と、前記ワード線と前記ビット線とによって構成される格子形状の交点近傍に対応して設けられ、Ｎビットデータ（Ｎ≧２）を格納する複数のメモリセルと、前記複数のビット線に対応して設けられ、前記メモリセルに格納されたデータを検出し、あるいは、前記メモリセルへデータを書き込むセンスアンプとを備えた半導体記憶装置の駆動方法であって、
前記Ｎビットデータのうち複数準位のデータを第１の閾値電圧のデータとして前記メモリセルに書き込み、
前記第１の閾値電圧として書き込まれたデータを読み出すときには、誤り訂正コードを用いて該データを読み出すことを具備する半導体記憶装置の駆動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置およびその駆動方法に関する。
【背景技術】
【０００２】
不揮発性半導体記憶装置であるＥＥＰＲＯＭ型ＮＡＮＤ型フラッシュメモリにおいて、多値データを記憶可能なメモリが提案されている。
【０００３】
ＥＥＰＲＯＭ型ＮＡＮＤ型フラッシュメモリのような不揮発性半導体記憶装置は、著しく微細化が進んでいる。このため、隣接するメモリセルの相互間隔が非常に狭まっている。隣接するメモリセルの相互間隔が狭くなると、隣接するセル相互の浮遊ゲート間の容量（ＦＧ−ＦＧ間容量） が大きくなる。したがって、先に書いたメモリセルの閾値電圧Ｖｔｈが、ＦＧ−ＦＧ間容量により、後に書いた隣接セルのデータに応じて変動してしまうという問題が生じている。これは、近接効果と呼ばれている。特に、１つのメモリセルにＮビットデータ（ Ｎ≧２） を記憶する多値メモリは、１データ当たりの閾値電圧の分布を非常に狭くする必要がある。従って、多値メモリでは、近接効果の問題が顕著となる。
【０００４】
また、微細化が進むと、近接効果の増大だけでなく、データリテンション特性が悪化する。微細化が進むと、浮遊ゲートが小さくなるので、蓄積される電子数が減少するからである。近接効果の増大およびデータリテンション特性の悪化によって、メモリセルの閾値分布が広がってしまう。特に、多値メモリでは、閾値分布が広がることは読出しマージンの低下に繋がり、データの信頼性を低下させてしまう。これに対処するために、書込み時の閾値分布を狭くしようとすると、書込み速度が低下してしまう。つまり、読出しデータの信頼性と書込み速度とはトレードオフの関係にある。
【特許文献１】特開２００４−１９２７８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
読出しデータの信頼性の低下を抑制し、書込み速度が速く、かつ、多値データを記憶することができる半導体記憶装置を提供する。
【課題を解決するための手段】
【０００６】
本発明に係る実施形態に従った半導体記憶装置は、第１の方向に延伸する複数のワード線と、前記第１の方向と交差する第２の方向に延伸する複数のビット線と、前記ワード線と前記ビット線とによって構成される格子形状の交点に対応して設けられ、Ｎビットデータ（Ｎ≧２）を格納する複数のメモリセルと、前記複数のビット線に対応して設けられ、前記メモリセルに格納されたデータを検出し、あるいは、前記メモリセルへデータを書き込むセンスアンプとを備え、
前記Ｎビットデータのうち複数準位のデータを第１の閾値電圧のデータとして前記メモリセルに書き込み、前記第１の閾値電圧として書き込まれたデータを読み出すときには、誤り訂正コードを用いて該データを読み出すことを特徴とする。
【０００７】
本発明に係る実施形態に従った書込みコントローラは、第１の方向に延伸する複数のワード線と、前記第１の方向と交差する第２の方向に延伸する複数のビット線と、前記ワード線と前記ビット線とによって構成される格子形状の交点近傍に対応して設けられ、Ｎビットデータ（Ｎ≧２）を格納する複数のメモリセルと、前記複数のビット線に対応して設けられ、前記メモリセルに格納されたデータを検出し、あるいは、前記メモリセルへデータを書き込むセンスアンプとを含むメモリ部へデータを書き込む書込みコントローラであって、
前記Ｎビットデータのうち複数準位のデータを第１の閾値電圧のデータとして前記メモリセルに書き込むように前記メモリ部を制御する。
【０００８】
本発明に係る実施形態に従った読出しコントローラは、第１の方向に延伸する複数のワード線と、前記第１の方向と交差する第２の方向に延伸する複数のビット線と、前記ワード線と前記ビット線とによって構成される格子形状の交点近傍に対応して設けられ、Ｎビットデータ（Ｎ≧２）を格納する複数のメモリセルと、前記複数のビット線に対応して設けられ、前記メモリセルに格納されたデータを検出し、あるいは、前記メモリセルへデータを書き込むセンスアンプとを含むメモリ部からデータを読み出す読出しコントローラであって、
前記Ｎビットデータのうち複数準位のデータを第１の閾値電圧のデータとして格納する前記メモリセルから該データを読み出すときに、誤り訂正コードを用いて該データを読み出すように前記メモリ部を制御する。
【０００９】
本発明に係る実施形態に従った半導体記憶装置の駆動方法は、第１の方向に延伸する複数のワード線と、前記第１の方向と交差する第２の方向に延伸する複数のビット線と、前記ワード線と前記ビット線とによって構成される格子形状の交点近傍に対応して設けられ、Ｎビットデータ（Ｎ≧２）を格納する複数のメモリセルと、前記複数のビット線に対応して設けられ、前記メモリセルに格納されたデータを検出し、あるいは、前記メモリセルへデータを書き込むセンスアンプとを備えた半導体記憶装置の駆動方法であって、
前記Ｎビットデータのうち複数準位のデータを第１の閾値電圧のデータとして前記メモリセルに書き込み、
前記第１の閾値電圧として書き込まれたデータを読み出すときには、誤り訂正コードを用いて該データを読み出すことを具備する。
【発明の効果】
【００１０】
本発明による半導体記憶装置は、多値データを格納することができ、読出しデータの信頼性の低下を抑制し、かつ、書込み速度を速くすることができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して本発明に係る実施形態を説明する。本実施形態は、本発明を限定するものではない。
【００１２】
（第１の実施形態）
図１は、本発明に係る第１の実施形態に従ったＮＡＮＤ型フラッシュメモリ１０（以下、単にメモリ１０という）の構成の一例を示すブロック図である。メモリ１０は、メモリセルアレイ１００、ロウデコーダ２０、カラムデコーダ３０、センスアンプ群４０（ ここにはビット線駆動回路も含む） 、入出力バッファ５０、アドレスバッファ６０、電圧生成回路７０、パワーオンリセット回路８０、制御回路９０、ラッチ回路２００、外部Ｉ／Ｏパッド２１０、ＮＡＮＤコントローラ２２０を備えている。さらに、ステートマシン、コマンドインタフェース等を備えているが、図１では省略されている。
【００１３】
ＮＡＮＤコントローラ２２０がデータおよび制御信号（コマンド）を出力する。尚、ＮＡＮＤコントローラ２２０は、メモリ１０とともにカード内に組み込まれている場合がある。データおよび制御信号は、外部Ｉ／Ｏパッドを介して入出力バッファ５０に入力される。入出力バッファ５０は、データおよび制御信号をコマンドインタフェースおよびカラムデコーダ３０へ送る。ステートマシンは、データおよび制御信号に基づいて、カラムデコーダ３０およびロウデコーダ２０を制御する。ロウデコーダ２０は、制御信号をデコードし、アドレス信号に基づいて或るワード線を選択する。カラムデコーダ３０は、センスアンプ群４０とデータバスとの間に設けられている。カラムデコーダ３０は、センスアンプ群４０内のセンスアンプを選択し、選択センスアンプにラッチされた読出しデータをデータバスへ転送し、あるいは、外部から受け取ったデータを選択センスアンプへ転送する。センスアンプ群４０は、ビット線に対応して設けられた複数のセンスアンプで構成されている。各センスアンプの構成は、公知のものでよい。
【００１４】
データ書込み時には、センスアンプは、データを一旦ラッチし、このデータを当該カラムのビット線を介して選択ワード線に接続されたメモリセルへ書き込む。データ読出し時には、センスアンプは、選択ワード線に接続されたメモリセル内のデータを検出する。センスアンプは、読み出されたデータを入出力バッファ５０、外部Ｉ／Ｏパッド２１０を介してメモリ１０の外部へ出力する。センスアンプは、例えば、８ビットデータまたは１６ビットデータからなるページ単位でデータを書き込み、あるいは、読み出す。
【００１５】
アドレスバッファ６０は、外部から受け取ったアドレス情報をエンコードしてロウデコーダ２０およびカラムデコーダ３０へ送る。
【００１６】
電圧生成回路７０は、制御回路９０からのモード信号、電圧生成タイミング制御信号および電圧レベル設定信号を受けて、外部から供給された電源電圧ＶＣＣを用いて参照用の基準電圧Ｖｒｅｆ、あるいは、プログラム電圧Ｖｐｇｍ等の内部電圧を生成する。電圧生成回路７０は、内部電圧をロウデコーダ２０、カラムデコーダ３０、センスアンプ群４０等へ供給する。
【００１７】
パワーオンリセット回路８０は、電源が投入されたことを検知して、制御回路９０のレジスタをリセットして初期化動作を行うための信号を出力する。パワーオンリセット回路８０は、電源投入後、電源電圧が所定の電圧レベルに達するまでの間ロウ（low）レベルであり、電源電圧が所定の電圧レベルに達するとハイレベルとなるパワーオンリセット信号を出力する。
【００１８】
制御回路９０は、外部から受け取ったコマンドに従って、データ読出し動作、データ書込み動作、データ消去動作等を示すモード信号を生成する。制御回路９０は、また、各モードで必要な電圧を生成するタイミングを示すタイミング制御信号、レジスタに格納されている設定電圧を示す電圧設定信号、アドレス制御信号、メモリセルへのアクセス制御信号を出力する。初期化制御回路９１は、パワーオンリセット信号を受けて、アドレスバッファ６０、ロウデコーダ２０、カラムデコーダ３０、センスアンプ群４０、ラッチ回路２００および電圧生成回路７０を初期化する制御信号を出力する。また、ＲＯＭリード制御回路９２は、パワーオンリセット信号を受けて、ＲＯＭリード動作を開始するための制御信号を出力する。
【００１９】
ＲＯＭ１２０は、タイマ調整、各種電圧調整のためのトリミングデータ、電源投入後に読み出す必要のある各種データ（ヒューズデータ）、メモリセルアレイ１００に存在する不良セルを他の冗長セルに置換するための置換アドレスデータ（リダンダンシデータ）などを格納する。ＲＯＭ１２０に格納されているデータは、センスアンプ群４０およびカラムデコーダ３０を介してラッチ回路２００に送られ、保持される。これは、ＲＯＭリード動作と呼ばれている。
【００２０】
センスアンプ群４０は、各ビット線ＢＬに対応して設けられた複数のセンスアンプを含む。各センスアンプは、ビット線ＢＬを介してメモリセルＭＣに格納されたデータを読み出し、あるいは、メモリセルＭＣへデータを書き込む。各センスアンプは、ラッチ機能を有し、読み出したデータまたは書き込むべきデータを一時的に保持することができるように構成されている。
【００２１】
一方、ＥＣＣ(Error Correction Code)情報は、メモリセルアレイ１００の一部に保持されている。もしくは、メモリセルアレイ１００と同様な場所に専用にＥＣＣ情報が保持される場合もある。どちらの場合でも、ＥＣＣ情報はセンスアンプ群４０を用いてデータの読出しと書き込みが行われる。
【００２２】
本実施形態において、ＥＣＣは、読出しデータにエラービットがある場合に使用されるほか、単一の閾値電圧に重複している複数準位のデータを読み出す場合にも使用される。
【００２３】
図２は、メモリセルアレイ１００の構成の一例を示す図である。メモリセルアレイ１００は、メモリセルブロック（以下、ブロックともいう）ＢＬＯＣＫ０〜ＢＬＯＣＫｍに分割されている。この例では、ブロックＢＬＯＣＫ０〜ＢＬＯＣＫｍは、それぞれデータ消去の最小単位である。その他、任意のメモリセル数でブロックを構成する事ができる。各ブロックＢＬＯＣＫ０〜ＢＬＯＣＫｍは、複数のページで構成される。ページは、データ読出し／データ書込みの単位である。各ページは、ワード線に対応しており、或るロウアドレスで特定される複数のメモリセルのデータによって構成される。
【００２４】
図３は、ブロックＢＬＯＣＫ０〜ＢＬＯＣＫｍのそれぞれの構成の一例を示す図である。或るブロックＢＬＯＣＫｉ（ｉ＝０〜ｍ）は、各カラムのビット線ＢＬに対応して設けられた複数のＮＡＮＤストリングＮＳを含む。ＮＡＮＤストリングＮＳは、直列に接続された複数のメモリセルＭＣと、これらのメモリセルＭＣの両端に接続された選択ゲートトランジスタＳＴとで形成されている。ＮＡＮＤストリングＮＳの一端は、対応するビット線ＢＬに接続され、その他端は共通ソース線ＳＬに接続されている。例えば、ＮＡＮＤストリングＮＳｉ（ｉ＝０〜５）は、それぞれビット線ＢＬｉ（ｉ＝０〜５）に接続されている。
【００２５】
メモリセルＭＣのコントロールゲートは、そのメモリセルＭＣが属するページのワード線ＷＬに接続されている。例えば、ページｉ（ｉ＝０〜４）に属するメモリセルＭＣのコントロールゲートは、ワード線ＷＬｉ（ｉ＝０〜４）に接続されている。選択トランジスタＳＴのゲートは、選択ゲート線ＳＧＬ１またはＳＧＬ２に接続されている。
【００２６】
複数のワード線ＷＬは、第１の方向としてのロウ方向に延伸しており、複数のビット線ＢＬは、ロウ方向にほぼ直交するように交差する第２の方向としてのカラム方向に延伸している。ロウ方向およびカラム方向は便宜的に呼称されるものであるので、第１の方向をカラム方向としかつ第２の方向をロウ方向としても差し支えない。
【００２７】
図３に示すように、メモリセルＭＣは、ワード線ＷＬとビット線ＢＬとによって構成される格子形状の交点に対応して設けられている。例えば、ワード線ＷＬ０〜ＷＬ４とビット線ＢＬ０〜ＢＬ５とによって構成される格子形状の交点は、５×６のマトリクス状に位置する。メモリセルＭＣは、これらの交点に対応するように５×６のマトリクス状に二次元配置されている。尚、本実施形態のブロックは、５×６（３０個）のメモリセルＭＣから成るが、１ブロック内のメモリセルＭＣの個数は、これに限定されない。即ち、ワード線の本数およびビット線の本数は、それぞれ５および６に限定されない。
【００２８】
メモリセルＭＣは、フローティングゲートおよびコントロールゲートを有するｎ型ＦＥＦ（Field-Effect Transistor）で構成されている。ワード線によってコントロールゲートに電位を与え、フローティングゲートに電荷（電子）を蓄積し、あるいは、フローティングゲートから電荷（電子）を放出する。これにより、メモリセルＭＣにデータを書き込み、あるいは、メモリセルＭＣのデータを消去する。フローティングゲートに蓄積された電荷（電子）の数により、メモリセルＭＣは、多値データを電気的に記憶することができる。
【００２９】
更に、メモリセルMCは電荷蓄積型の不揮発性メモリでもよい。更にメモリセルMCは抵抗変化を情報として利用するタイプのメモリ素子であっても良い。
【００３０】
図４は、本実施形態の一例として４値データを格納するメモリセルＭＣの閾値電圧を示すグラフである。メモリセルＭＣは、４値データ（１１、１０、０１、００）のいずれかを記憶する。４値データのうち下位ビットは、Ｌｏｗｅｒ  Ｐａｇｅデータとして、上位ビットは、Ｕｐｐｅｒ  Ｐａｇｅデータとして各メモリセルＭＣに格納される。図４では、Ｌｏｗｅｒ  Ｐａｇｅデータは丸で示され、Ｕｐｐｅｒ  Ｐａｇｅデータは四角で示されている。尚、縦軸は、メモリセルＭＣの個数を示す。よって、図４に示す各状態のグラフの幅Ｗは、閾値電圧のばらつきを示す。従って、各状態のグラフの幅Ｗは小さい方が好ましい。
【００３１】
Ｅ状態（１１）は、Ｅｒａｓｅ状態（消去状態）であり、Ｌｏｗｅｒ  ＰａｇｅデータおよびＵｐｐｅｒ  Ｐａｇｅデータとしてデータ“０”が書き込まれていない状態である。データの書込み前には、全メモリセルＭＣはＥ状態にある。Ｅ状態では、メモリセルＭＣの閾値電圧は負である。他のＡ状態〜Ｃ状態は、メモリセルＭＣの書き込み状態における閾値電圧であり、０〜５Ｖの間の正電圧に割り当てられる。
【００３２】
４値データの書込みは、Ｌｏｗｅｒ  Ｐａｇｅ書込みおよびＵｐｐｅｒ  Ｐａｇｅ書込みの２回の動作で実行される。Ｌｏｗｅｒ  Ｐａｇｅ書込みは、Ｌｏｗｅｒ  Ｐａｇｅデータを決定する。これにより、メモリセルＭＣのデータ状態は、Ｅ状態およびＢ状態、あるいは、Ａ状態およびＣ状態のいずれかに振り分けられる。Ｕｐｐｅｒ  Ｐａｇｅ書込みは、Ｕｐｐｅｒ  Ｐａｇｅデータを決定する。これにより、メモリセルＭＣのデータ状態は、Ｅ状態、Ｂ状態、Ａ状態およびＣ状態のいずれかに振り分けられる。
【００３３】
Ｌｏｗｅｒ  Ｐａｇｅ書込みにおいて、Ｌｏｗｅｒ  Ｐａｇｅデータを１のままとする場合、ビット線をハイレベルにすることによって選択ワード線に接続されたメモリセルＭＣのフローティングゲートに電子が蓄積されないようにする。これにより、メモリセルＭＣは、Ｅ状態（消去状態）を維持する。一方、Ｌｏｗｅｒ  Ｐａｇｅデータに０を書き込む場合、ビット線をロウレベルにすることによって選択ワード線に接続されたメモリセルＭＣのフローティングゲートに電子を蓄積する。これにより、Ｌｏｗｅｒ  Ｐａｇｅデータに０が書き込まれ、Ａ状態となる。
【００３４】
Ｕｐｐｅｒ  Ｐａｇｅ書込みにおいて、Ｕｐｐｅｒ  Ｐａｇｅデータを１のままとする場合、ビット線をハイレベルにすることによって選択ワード線に接続されたメモリセルＭＣのフローティングゲートに電子が蓄積されないようにする。これにより、Ｅ状態のメモリセルＭＣは、Ｅ状態（消去状態）を維持し、Ａ状態のメモリセルＭＣは、Ａ状態を維持する。一方、Ｕｐｐｅｒ  Ｐａｇｅデータに０を書き込む場合、ビット線をロウレベルにすることによって選択ワード線に接続されたメモリセルＭＣのフローティングゲートに電子を蓄積する。Ｅ状態のメモリセルＭＣのＵｐｐｅｒ  Ｐａｇｅに０を書き込むと、Ｂ状態のメモリセルＭＣになる。Ａ状態のメモリセルＭＣのＵｐｐｅｒ  Ｐａｇｅに０を書き込むと、Ｃ状態のメモリセルＭＣになる。このとき、選択ワード線の電圧を、Ｌｏｗｅｒ  Ｐａｇｅ書込みにおける選択ワード線の電圧よりも高くする。あるいは、ビット線の電位を、Ｌｏｗｅｒ  Ｐａｇｅ書込みにおけるビット線の電圧よりも低くする。これにより、Ｕｐｐｅｒ  Ｐａｇｅの０書込みにおいてフローティングゲートに蓄積される電子量は、Ｌｏｗｅｒ  Ｐａｇｅの０書込におけるそれよりも多くなる。よって、Ｂ状態のメモリセルＭＣの閾値電圧は、Ａ状態のメモリセルＭＣの閾値電圧よりも高くなり、Ａ状態（１０）とＢ状態（０１）とを区別することができる。このように、メモリセルＭＣは、閾値電圧によって状態Ｅ、Ａ、Ｂ、Ｃの４つの状態になり得る。
【００３５】
Ｖｃｇｒ１０は、読出し時にデータ（１０）と（１１）を区別する際にコントロールゲートに印加される電圧である。Ｖｃｇｒ０１は、読出し時にデータ（０１）と（１０）を区別する際にコントロールゲートに印加される電圧である。Ｖｃｇｒ００は、読出し時にデータ（００）と（０１）を区別する際にコントロールゲートに印加される電圧である。例えば、閾値電圧がＶｃｇｒ１０（０Ｖ）よりも小さい場合に、メモリセルＭＣはＥ状態（１１）である。Ｅ状態と判断されたセルを除いたセルのうち、閾値電圧がＶｃｇｒ０１（１Ｖ）よりも小さい場合に、メモリセルＭＣはＡ状態（１０）であり、閾値電圧がＶｃｇｒ００（２Ｖ）よりも小さい場合に、メモリセルＭＣはＢ状態（１０）である。それ以外のセルはＣ状態と判断される。
【００３６】
また、図４に示すＶｃｇｖ１０は、データ（１０）のベリファイリード時にコントロールゲートに印加される電圧であり、Ｖｃｇｒに対して一定のマージン（例えば、０．４Ｖ）を考慮して設定される。Ｖｃｇｖ１０は、例えば、０．４Ｖである。Ｖｃｇｖ０１は、データ（０１）のベリファイリードに用いられるリード電圧であり、例えば、１．４Ｖである。Ｖｃｇｖ００は、データ（００）のベリファイリードに用いられるリード電圧であり、例えば、２．４Ｖである。Ｖｒｅａｄは、データ読出し時に非選択メモリセルのコントロールゲートに印加される電圧である。
【００３７】
４値データの読出しは、３回の読出しステップにより実現できる。例えば、第１のステップにおいてＶｃｇｒ１０（０Ｖ）をコントロールゲートに印加する。これにより、Ｅ状態のメモリセルＭＣを検出することができる。第２のステップにおいてＶｃｇｒ００（２Ｖ）をコントロールゲートに印加する。これにより、Ｃ状態のメモリセルＭＣを検出することができる。さらに、第３のステップにおいてＶｃｇｒ０１（１Ｖ）をコントロールゲートに印加する。これにより、Ａ状態およびＢ状態のメモリセルＭＣを検出することができる。
【００３８】
図５は、書込み動作時間を示す説明図である。図５には、ＱＷＲ（Quick Pass Write）を一例として示している。横軸は、図４と同様に閾値電圧である。メモリセルＭＣの閾値電圧は、データの書込みによってターゲット分布Ｖｔｇｔの範囲内に収まる必要がある。実際に割り当てられている（現実にターゲットとされる）閾値電圧は、破線で示すように割り当て幅の範囲である。しかし、近接効果および読出し時のノイズ等を含めたノイズ成分Ｖｎを考慮すると、ターゲット分布はＶｔｇｔで示す範囲に広がってしまう。
【００３９】
通常、１回の書き込み（１回の電圧印加）では全てのメモリセルＭＣの閾値電圧をターゲット分布内にシフトさせることはできない。１回の電圧印加では、閾値電圧は１回書きの分布Ｄ１のように広い範囲に分布する。１回書きの分布Ｄ１の幅をＶｐ１とする。次に、閾値電圧が割当て範囲を超えないように、書込みステップを繰り返す。このとき、書込みステップごとに選択ワード線の電位をステップアップさせる。これにより、閾値電圧がステップ電圧幅ΔＶＰＧＭずつ上昇するようにデータがメモリセルＭＣへ書き込まれる。ステップ電圧幅ΔＶＰＧＭは、閾値電圧の割り当て幅Ｗａの２倍である。各書込みステップでは、ＶＬから割当て範囲までの閾値電圧を有するメモリセルＭＣに対しては、（１／２）ΔＶＰＧＭだけ閾値電圧をシフトさせるように弱い書込みを実行する。これにより、ＶＬから割当て範囲までにある閾値電圧は割当て範囲Ｗａを超えない。この書込みステップを繰り返すことによって、１回書きの分布幅Ｖｐ１に分布していた閾値電圧は、割り当て幅Ｗａの範囲内へシフトされる。尚、上述のようにノイズ成分Ｖｎを考慮すると、各メモリセルＭＣの閾値電圧は、実際には、ターゲット分布Ｖｔｇｔの範囲内に収まる。
【００４０】
１回書きの後の書込みステップの回数は、（Ｖｐ１−ΔＶＰＧＭ）／ΔＶＰＧＭ＋１である。従って、書込みステップの回数を減少させるためには、ステップ幅ΔＶＰＧＭを大きくする必要がある。ここで、図５からわかるように、もし、割当て幅Ｗａを大きくすることができれば、ステップ幅ΔＶＰＧＭを大きくすることができる。
【００４１】
図６は、第１の実施形態によるフラッシュメモリのデータ準位を示す概念図である。図４では、４値データ（２ビットデータ）のデータ準位を示したが、図６では、８値データ（３ビットデータ）のデータ準位を示す。本実施形態のメモリセルは、３値以上の任意の多値データを格納するメモリセルであればよい。データ準位は、或るデータを記憶したときにメモリセルが取り得る閾値電圧の準位である。従来のデータ準位において、Ｅｒはメモリセルの閾値電圧が最も低い準位（消去状態）を示す。Ａ〜Ｇの順にメモリセルの閾値電圧が高くなっている。
【００４２】
図６の破線で示す分布は、割当て範囲に書き込まれた当初の閾値分布を示す。実線で示す分布は、近接効果によって広がった現実の書込み分布である。図６の横軸は、メモリセルの閾値電圧を示し、縦軸はセル数を示す。
【００４３】
本実施形態では、センスアンプ４０は、Ｎビットデータのうち複数のデータ準位を第１の閾値電圧のデータとしてメモリセルに書き込む。例えば、センスアンプ４０は、ＥｒおよびＡのデータ準位を閾値電圧Ｖｔ１のデータとしてメモリセルに書き込む。即ち、複数のデータ準位ＥｒおよびＡは、実質的に同一の閾値電圧に重複してメモリセルに格納される。これにより、８つのデータ準位のうち１つのデータ準位を省略することができる。つまり、本実施形態のメモリセルは、３ビットデータを７準位で記憶することができる。その結果、データ準位間の隙間（読出しマージン）Ｍｒおよび各データ準位の分布幅Ｖｔｇｔの一方あるいは両方を広げることができる。読出しマージンＭｒを広げることによって、読出しデータの信頼性を高めることができる。分布幅Ｖｔｇｔを広げることによって、書込み速度を向上させることができる。読出しマージンＭｒおよび分布幅Ｖｔｇｔの両方を広げることによって、読出しデータの信頼性と書込み速度とのトレードオフの関係を解消することができる。また、状況に応じて読出しマージンＭｒまたは分布幅Ｖｔｇｔのいずれか一方を広げてもよい。尚、データを格納したメモリセルの最大閾値電圧と最小閾値電圧との差は一定であるとする。
【００４４】
本実施形態をより一般化すると、Nビットデータをメモリセルへ格納する場合、データ準位は、２Ｎ未満で足りる。これにより、メモリセルの最大閾値電圧および最小閾値電圧を一定とすれば、読出しマージンＭｒおよび分布幅Ｖｔｇｔの両方を広げることができる。
【００４５】
或る注目メモリセルのデータは、該注目メモリセルに隣接するメモリセルに高い閾値電圧を有するデータが書き込まれると、近接効果の影響を大きく受ける傾向がある。例えば、隣接メモリセルに準位Ｇのデータが書かれたときの注目メモリセルへの近接効果は、隣接メモリセルに準位Ａのデータが書かれたときのそれよりも大きくなる。そのため、隣接メモリセルには、閾値電圧の低いデータが書き込まれることが好ましい。本実施形態によれば、同一の閾値電圧に重複させる複数準位のデータは、メモリセルの閾値電圧が最も低いデータ準位Ｅｒおよび二番目に低いデータ準位Ａである。よって、準位Ｂ〜Ｆは、図６に示すように従来よりも閾値電圧が低い準位へ移動している。即ち、閾値電圧の最も高い準位Ｇ以外の準位の各閾値電圧が低下する。これにより、準位Ｇ以外の準位のデータを隣接メモリセルへ書き込んだ場合に、注目メモリセルに対する近接効果が軽減される。
【００４６】
図７（Ａ）から図７（Ｃ）は、第１の実施形態の変形例を示す。図６では、最下位準位のデータＥｒおよび最下位から二番目の準位のデータＡを重複（合体）させていた。しかし、図７（Ａ）に示すように、最上位準位のデータＧと最上位から二番目の準位のデータＦとを重複させてもよい。この場合、近接効果の低減において、図６の実施形態よりも劣る場合があるが、読出しマージンＭｒおよび分布幅Ｖｔｇｔの両方を広げることができる。よって、図７（Ａ）の変形例であっても、本実施形態の効果を得ることができる。図７（Ｂ）は、データ準位ＢおよびＣを重複させた変形例である。図７（Ｂ）の変形例であっても、図７（Ａ）と同様に、本実施形態の効果を得ることができる。
【００４７】
図７（Ｃ）は、４つのデータ準位を２つの閾値電圧に重複させた変形例である。より詳細には、データ準位ＥｒとＡとを重複させ、或る１つの閾値電圧を割り当て、さらに、データ準位ＢとＣとを重複させ、他の閾値電圧を割当てている。これにより、本変形例のメモリセルは、３ビットデータを６準位で記憶することができる。その結果、読出しマージンＭｒおよび分布幅Ｖｔｇｔの一方あるいは両方をさらに広げることができる。図７（Ｃ）の変形例も、本実施形態の効果を得ることができる。
【００４８】
さらに、図７（Ａ）〜図７（Ｃ）の例に限定されず、データ準位Ｅｒ〜Ｇのうちの任意の２つのデータ準位を重複させてもよい。また、重複させるデータ準位のペア数は、図７（Ｃ）の変形例のように２つ以上であってよい。
【００４９】
本実施形態では、２つのデータ準位は、ほぼ同一の閾値電圧に重複させていた。しかし、２つのデータ準位に対応する閾値電圧は、多少ずれていてもよい。即ち、２つのデータ準位の閾値分布が完全に一つの山に重複する必要は無く、２つのピークを有する山になってもよい。そのような場合でも、本実施形態の効果は失われない。
【００５０】
次に、データの読出しにおけるデータの復号化について説明する。本実施形態では、２つのデータ準位ＥｒおよびＡの閾値分布が重複しているため、該２つのデータの区別がなくなっている。そこで、本実施形態では、単一の閾値電圧として書き込まれた複数準位のデータ（合体ビットともいう）を読み出すときには、誤り訂正コードを用いて該データを復元して読み出す。
【００５１】
図８は、本実施形態における読出しデータを示す概念図である。メモリのアクセス単位は、ブロックである。このブロックは図２のブロックと同一でも良いし、図２とは別の大きさのデータの塊でもよい。アクセスされるブロックは、データ領域Ｄａｔａおよびエラー訂正符号ＥＣＣからなる。各ブロックのデータ領域Ｄａｔａに対応してエラー訂正符号ＥＣＣが割当てられている。エラー訂正符号ＥＣＣは、データ領域１００に格納されており、データ読出し時にデータ領域１００から得られる。エラー訂正符号ＥＣＣは、データの合体ビット数ｋの情報を含む。その情報はｋのビット数そのものであっても良いし、ｋの値と別な値：例えば通常のＥＣＣ情報とともに予め決められた方式に従ってエンコードされたものであっても良い。更に、合体ビット数ｋはＥＣＣ領域と別の領域に保持されていても良い。
【００５２】
本実施形態では、合体ビット数ｋは、１つの閾値電圧に重複して書き込まれているデータ準位のペア数である。例えば、図６の下段に示す形態および図７（Ａ）および図７（Ｂ）に示す形態では、合体ビット数ｋは、１である。図７（Ｃ）に示す形態では、合体ビット数ｋは、２である。
【００５３】
図９は、本実施形態におけるデータの復号化を示すフロー図である。まず、メモリセルに格納されている元データに含まれている合体ビット数ｋを検知する（Ｓ１０）。ｋが０である場合、元データには合体ビットが含まれていない。よって、通常通りにデータを復号化すればよい。エラーの有無を検知し（Ｓ２０）、エラーが元データに無い場合には、元データは誤り訂正の必要なく、そのまま復元データとして読み出されてよい。エラーが元データにある場合には、ＥＣＣを用いて元データのエラーを訂正する（Ｓ３０）。このときの誤り訂正は、公知の誤り訂正方法を用いればよい。エラーが多いために誤り訂正が不可能な場合には、そのブロックはＮＧとなる。これは従来から通常行われている動作である。
【００５４】
ＥＣＣの一例としては、例えば、ｋ＋１以上の符号間距離を有するコードがある。合体ビット数ｋは、ブロックごとに予め判明している。よって、例えば、合体ビット数ｋに応じて、ＥＣＣの符号間距離を変更する。これにより、合体ビット数ｋに応じた強さの誤り訂正を元データに施すことができる。ただし、誤り訂正方式については特に限定しない。誤り訂正方式には多数の方式があるので、ＥＣＣは、その方式に準拠したコードであればよい。
【００５５】
一般に、強い誤り訂正には多くの冗長ビットが必要である。従って、強い誤り訂正には、多数の冗長ビット数を保持するための広い面積を必要とする。一方、弱い誤り訂正には少ない冗長ビットで足りる。従って、弱い誤り訂正には冗長ビット保持ようの面積は小さくて済む。したがって、合体ビット数ｋおよびエラービット数に応じた強さの誤り訂正を適用することによって、チップ全体として必要な冗長ビット数を抑制しつつ、必要な強度の誤り訂正能力を実現することができる。
【００５６】
また、一般的に、強い誤り訂正には多くの回路が必要となるので、強い誤り訂正の処理時間は長くなる傾向がある。一方、弱い誤り訂正の処理時間は短い。従って、誤りの起きる程度に応じて、必要最小限の強度の誤り訂正だけを適用することによって、平均的な誤り処理時間の低減が図られる。本実施形態では、ｋの値が誤りの起こりやすさをあらわしているため、ｋ値を見ながら、適用する誤り強度の度合いを、精度良く、予め決めておくことができる。
【００５７】
本実施形態によれば、複数準位のデータを実質同一の閾値電圧に重複させるようにデータをメモリセルへ書き込む。これにより、読出しマージンＭｒおよび分布幅Ｖｔｇｔの両方を広げることができ、その結果、読出しデータの信頼性および書込み速度を向上させることができる。また、実質同一の閾値電圧に書き込まれた複数準位のデータ（合体ビット）を読み出すときには、この合体ビットをエラーとしてみなし、誤り訂正を用いてデータを復号化する。よって、複数準位のデータを実質同一の閾値電圧に重複させたとしても、読出し動作に影響を与えない。
【００５８】
尚、図１０のように、図９のステップＳ２０のエラー検知ステップをステップＳ３０に含めてもよい。この場合、ｋの値に関わらず、ステップＳ１０からＳ３０が実行される。しかし、図９と同等な処理が可能である。つまり、ステップＳ３０においては、ｋ=０の場合、ｋに応じた誤り訂正として、従来と同様に誤り訂正処理を実行すればよい。一方、ｋが１以上の場合、図９でｋが１以上の場合に説明した誤り訂正処理と同一処理を実行すればよい。
【００５９】
（第２の実施形態）
図１１は、本発明に係る第２の実施形態に従ったＮＡＮＤ型フラッシュメモリの読出し動作を示すフロー図である。第２の実施形態では、合体ビットに任意のデータを割り付け、誤り検出を実行する。データ割付けと誤り検出とを繰り返すことによって、データを復号化する。第２の実施形態によるフラッシュメモリの構成は、第１の実施形態の構成と同様でよい。また、読出しデータの概念図は、図８に示すものと同様でよい。
【００６０】
まず、メモリセルに格納されている元データに含まれている合体ビット数ｋを検知する（Ｓ１０）。ｋが０である場合、元データには合体ビットが含まれていない。よって、通常通りにデータを復号化すればよい。エラーの有無を検知し（Ｓ２０）、エラーが元データに無い場合には、元データは誤り訂正の必要なく、そのまま復元データとして読み出してよい。エラーが元データにある場合には、ＥＣＣを用いて元データのエラーを訂正する（Ｓ３０）。このときの誤り訂正は、公知の誤り訂正方法を用いればよい。エラーが多いために誤り訂正が不可能な場合には、そのブロックはＮＧとなる。
【００６１】
合体ビット数ｋが１以上である場合、ＥＣＣを用いて元データのエラーを訂正する（Ｓ３１）。訂正後ＯＫであれば、復元データが得られたことになる。
【００６２】
一方、エラー訂正がＮＧの場合には、元データの合体ビットに対して所定のデータの割付けを行う（Ｓ４０）。データの割付けは、合体ビットに対して投機的に実行される。例えば、図６の下段に示すように、データ準位ＥｒとＡとが合体している場合、まず、ブロックに含まれている全合体ビットにデータ準位Ａのデータを割り付ける。割付後のデータに誤り訂正を施す（Ｓ５０）。割付後のデータが訂正不要あるいは訂正可能である場合には、復元データが得られる。割付後のデータが訂正不能である場合には、ステップＳ４０にて、再度、全合体ビットに別のデータを割り付ける。例えば、ブロックに含まれている全合体ビットのうち１ビットのみをデータ準位Ｅｒとし他のビットをデータ準位Ａとする。さらに、再度、割付後のデータに誤り訂正を施す（Ｓ５０）。ステップＳ４０およびＳ５０を繰り返すことによって、合体ビットのデータが復元される。もし、誤り訂正がｍ回以上失敗した場合（Ｓ６０）、そのブロックをＮＧとする。
【００６３】
尚、図１２に示すように、ステップＳ２０およびＳ３０をステップＳ３１に含めてもよい。この場合、ｋの値に関わらず、ステップＳ１０からＳ３１が実行される。しかし、図１１と同等な処理が可能である。つまり、ステップＳ３１においては、ｋ=０の場合、ｋに応じた誤り訂正として、従来と同様に誤り訂正処理を実行すればよい。一方、ｋが１以上の場合、図１１でｋが１以上の場合に説明した誤り訂正処理と同一処理を実行すればよい。
【００６４】
第２の実施形態によれば、合体ビットに様々なデータを割り付けることができるので、ステップＳ５０における誤り訂正の成功確率を上昇させることができる。さらに、第２の実施形態は、第１の実施形態と同様に読出しデータの信頼性および書込み速度を向上させることができる。
【００６５】
第２の実施形態では、ブロック内の合体ビット数ｋが少ない場合、ステップＳ４０およびＳ５０の繰返し回数が少なくて済み、かつ、復元データが得られる確率が高くなる。
【００６６】
第２の実施形態では、ステップＳ４０およびＳ５０の繰返し回数がｍ以上になった場合、そのブロックをＮＧとした。しかし、そのブロックを、さらに他の方法を用いて復号化してもよい。
【００６７】
以上、主にフラッシュメモリに本技術を適用する方法を述べた。一方、本実施形態は、抵抗変化型メモリにも適用できる。例えば、抵抗変化型メモリは、温度の変化でメモリ素子の状態を変化させ、その状態による電気的な抵抗値の差を情報として記憶している。状態変化させる際にメモリセル自身は高温に曝される。その熱は近傍のセルにも少なからず影響を与える。これは微細化が進むとより顕著となる。即ち、抵抗変化型メモリにおいても、微細化によりセル間の近接効果問題が存在する。また、メモリ素子が微細化されると、必然的にデータリテンション特性の問題も生じる。
【００６８】
一般に、メモリデバイスは、大容量化への要求に応えるため、メモリ素子の微細化およびメモリ素子間隔を狭める。それにより、近接効果の増大およびデータリテンション特性の悪化は必然的に問題になる。このような問題に対処するために、本実施形態は、複数準位のデータを単一の閾値電圧のデータとしてメモリセルに格納する。これによる上記効果は、ＮＡＮＤ型フラッシュメモリまたは抵抗変化型メモリに限らず、Ｎビットデータ（Ｎ≧２）（多値データ）を格納するメモリデバイス全般に有効に適用できる方式である。もちろん不揮発性メモリに限らず、ＤＲＡＭ等の揮発性メモリにも適用できる。
【００６９】
また、近接効果が大きい場合、近接効果を補正する読出し方式を用いる場合がある。例えば、選択ワード線ＷＬｎに接続されたメモリセルＭＣからデータを読み出す場合、隣接するワード線ＷＬｎ＋１のデータに基づいて、近接効果をキャンセルするために選択ワード線ＷＬｎのデータに補正を施していた（ＤＬＡ（Direct Look Ahead）方式）。しかし、本実施形態では、近接効果が小さいので、このようなデータの補正が不要となる。その結果、データの読出し速度も速くなる。
【００７０】
上記実施形態において、ＥＣＣを生成する制御回路９０またはＮＡＮＤコントローラ２２０は、メモリチップ１０の内部に組み込まれていてもよく、メモリチップ１０の外部に設けられていてもよい。制御回路９０またはＮＡＮＤコントローラ２２０は、図１に示すメモリチップ１０にＮビットデータを書き込む際に、上記実施形態で説明したように複数準位のデータを実質的に同一の閾値電圧に重複させてメモリセルに書き込む。このときに、制御回路９０またはＮＡＮＤコントローラ２２０は、図８に示したように各ブロックに対して、合体ビット数ｋの情報を含むＥＣＣを生成し、データ領域１００に格納する。
【００７１】
また、データを読み出す際には、制御回路９０またはＮＡＮＤコントローラ２２０は、データ領域１００からＥＣＣを得て、このＥＣＣ用いて合体ビットを含むデータを復号化するようにメモリチップ１０を制御する。
【図面の簡単な説明】
【００７２】
【図１】本発明に係る第１の実施形態に従ったＮＡＮＤ型フラッシュメモリ１０（以下、単にメモリ１０という）の構成の一例を示すブロック図。
【図２】メモリセルアレイ１００の構成の一例を示す図。
【図３】ブロックＢＬＯＣＫ０〜ＢＬＯＣＫｍのそれぞれの構成の一例を示す図。
【図４】本実施形態の一例として４値データを格納するメモリセルＭＣの閾値電圧を示すグラフ。
【図５】書込み動作時間を示す説明図。
【図６】第１の実施形態によるフラッシュメモリのデータ準位を示す概念図。
【図７】第１の実施形態の変形例を示す図。
【図８】本実施形態における読出しデータを示す概念図。
【図９】本実施形態におけるデータの復号化を示すフロー図。
【図１０】本実施形態の変形例におけるデータの復号化を示すフロー図。
【図１１】本発明に係る第２の実施形態に従ったＮＡＮＤ型フラッシュメモリの読出し動作を示すフロー図。
【図１２】第２の実施形態の変形例に従ったＮＡＮＤ型フラッシュメモリの読出し動作を示すフロー図。
【符号の説明】
【００７３】
１００…メモリセルアレイ
１２０…ＲＯＭ
ＷＬ…ワード線
ＢＬ…ビット線
ＭＣ…メモリセル
Ｅｒ、Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇ…データ準位
【図１】
2009295232.tif 000003
【図２】
2009295232.tif 000004
【図３】
2009295232.tif 000005
【図４】
2009295232.tif 000006
【図５】
2009295232.tif 000007
【図６】
2009295232.tif 000008
【図７】
2009295232.tif 000009
【図８】
2009295232.tif 000010
【図９】
2009295232.tif 000011
【図１０】
2009295232.tif 000012
【図１１】
2009295232.tif 000013
【図１２】
2009295232.tif 000014