(57)【要約】      （修正有）【課題】記憶素子群における閾値電圧分布が変化しえることに対応する。【解決手段】記憶装置の記憶素子のセットの閾電圧分布は、制御ゲート電圧のスィーピングをおこなっているときに測定される記憶素子のセットの全体としての特性によって測定される。特性は、例えば伝導状態にある等の所定の条件を満たす記憶素子がいくつあるかを示す。例えば、特性は、セットの共有ソースにおいて測定されるセットの複合電流、電圧、又は静電容量であってもよい。制御ゲート電圧は、メモリダイの内部において発生させることができる。同様に、ビットライン電圧を変える等の手法により、伝導状態となった記憶素子をロックアウトしてそれらが特性に貢献しなくなるようにすることができる。将来的な読み出し動作におけるエラーを低減するために、閾電圧分布に基づいて新たな読み出し基準電圧が設定される。【選択図】図１１
2009026436.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置を動作させる方法であり、
記憶素子のセットと、これに関連するワードラインとを備えるメモリダイの内部において、電圧スィープを発生させる工程と、
ワードラインに電圧スィープを印加する工程と、
電圧スィープを印加しているときの記憶素子のセットの特性を測定する工程と、
その特性に基づいて、記憶素子の閾電圧分布を設定する工程
を備える方法。 
【請求項２】
前記電圧スィープは、外部の試験機器を用いずに、前記メモリダイに内蔵される制御回路構成によって発生させることを特徴とする請求項１に記載の記憶装置を動作させる方法。 
【請求項３】
前記電圧スィープは、前記メモリダイに内臓されるデジタル／アナログ変換器によって、デジタル／アナログ変換器に供給される一連のコードワードに応じて発生させることを特徴とする請求項１に記載の記憶装置を動作させる方法。 
【請求項４】
前記電圧スィープは、連続的な電圧スィープであることを特徴とする請求項１に記載の記憶装置を動作させる方法。 
【請求項５】
前記電圧スィープは、前記ワードラインに固有値として印加される異なる電圧であることを特徴とする請求項１に記載の記憶装置を動作させる方法。 
【請求項６】
前記特性は、電圧又は静電容量であることを特徴とする請求項１に記載の記憶装置を動作させる方法。 
【請求項７】
前記電圧スィープを印加している間に伝導状態になった記憶素子が前記特性に対してそれ以降貢献しなくなるように、その記憶素子をロックアウトする工程
をさらに備えることを特徴とする請求項１に記載の記憶装置を動作させる方法。
【請求項８】
記憶装置を動作させる方法であり、
記憶素子のセットと、その記憶素子のセットに関連するワードラインとを備えるメモリダイのワードラインに対して異なる電圧を印加する工程と、
異なる電圧を印加しているときのメモリダイにおける記憶素子のセットの特性を測定する工程と、
その特性に基づいて、メモリダイにおける記憶素子の閾電圧分布を設定する工程
を備える方法。 
【請求項９】
前記閾電圧分布は、外部の試験機器又は外部ホストを用いずに、前記記憶装置に内蔵される制御回路構成によって設定されることを特徴とする請求項８に記載の記憶装置を動作させる方法。
【請求項１０】
前記異なる電圧は、前記記憶装置の内部において発生させられることを特徴とする請求項８に記載の記憶装置を動作させる方法。
【請求項１１】
前記特性は、電圧であることを特徴とする請求項８に記載の記憶装置を動作させる方法。
【請求項１２】
前記特性は、静電容量であることを特徴とする請求項８に記載の記憶装置を動作させる方法。
【請求項１３】
記憶装置を動作させる方法であり、
記憶素子のセットと関連するワードラインに対して異なる電圧を印加する工程と、
異なる電圧を印加しているときの記憶素子のセットの特性を測定する工程と、
異なる電圧を印加している間に伝導状態になった記憶素子が前記特性に対してそれ以降貢献しなくなるように、その記憶素子ををロックアウトする工程と、
その特性に基づいて、記憶素子の閾電圧分布を設定する工程
を備える方法。
【請求項１４】
前記記憶素子のぞれぞれが、個別のＮＡＮＤストリングに関連付けられており、ロックアウトされる記憶素子は、関連するＮＡＮＤストリングのビットライン電圧を変化させることによってロックアウトされることを特徴とする請求項１３に記載の記憶装置を動作させる方法。
【請求項１５】
ロックアウトされた記憶素子は、伝導状態でなくなることを特徴とする請求項１３に記載の記憶装置を動作させる方法。
【請求項１６】
前記異なる電圧に対する前記特性の変化率に基づいて、読み出し動作における記憶素子の読み出しについて少なくとも１つの基準電圧をセットする工程
をさらに備えることを特徴とする請求項１３に記載の記憶装置を動作させる方法。
【請求項１７】
前記特性は、前記記憶素子のセットの各記憶素子に接続される位置において測定されることを特徴とする請求項１３に記載の記憶装置を動作させる方法。
【請求項１８】
前記特性は、電圧であることを特徴とする請求項１３に記載の記憶装置を動作させる方法。
【請求項１９】
前記特性は、静電容量であることを特徴とする請求項１３に記載の記憶装置を動作させる方法。
【請求項２０】
前記特性は、電流であることを特徴とする請求項１３に記載の記憶装置を動作させる方法。
【請求項２１】
記憶装置を動作させる方法であり、
それぞれの記憶素子が個別のＮＡＮＤストリングに関連付けられている記憶素子のセットに関連するワードラインに印加される電圧をスィープする工程と、
記憶素子のセットにおいてスィープを行っている間に伝導状態になった記憶素子を識別する工程と、
識別された記憶素子に関連するＮＡＮＤストリングのビットライン電圧を変化させる工程
を備える方法。
【請求項２２】
識別された記憶素子に関連するＮＡＮＤストリングのビットライン電圧を変化させる前記工程は、前記識別された記憶素子に関連する前記ビットライン電圧を接地する工程を備えることを特徴とする請求項２１に記載の記憶装置を動作させる方法。
【請求項２３】
前記電圧は、連続的なスィーピングによってスィープされることを特徴とする請求項２１に記載の記憶装置を動作させる方法。
【請求項２４】
前記電圧は、段階的なスィーピングによってスィープされることを特徴とする請求項２１に記載の記憶装置を動作させる方法。
【請求項２５】
前記スィーピングの最中に前記記憶素子のセットの特性を測定する工程と、
その特性に基づいて、記憶素子の閾電圧分布を設定する工程
をさらに備えることを特徴とする請求項２１に記載の記憶装置を動作させる方法。
【請求項２６】
前記識別された記憶素子に関連するＮＡＮＤストリングのビットライン電圧を変化させる前記工程によって、前記識別された記憶素子は、前記特性に貢献しなくなることを特徴とする請求項２５に記載の記憶装置を動作させる方法。
【請求項２７】
記憶装置のメモリダイに形成される、記憶素子のセット及びそれに関連するワードラインと、
記憶素子のセット及びワードラインと通信し、メモリダイに形成されており、メモリダイにおいて内部的に電圧スィープを発生させ、その電圧スィープをワードラインに印加し、電圧スィープを印加しているときの記憶素子のセットの特性を測定し、その特性に基づいて記憶素子の閾電圧分布を設定する少なくとも１つの制御回路構成
を備える記憶システム。
【請求項２８】
前記電圧スィープは、外部の試験機器を用いずに、前記少なくとも１つの制御回路構成によって発生させることを特徴とする請求項２７に記載の記憶システム。
【請求項２９】
前記少なくとも１つの制御回路構成はデジタル／アナログ変換器を備えており、このデジタル／アナログ変換器に供給される一連のコードワードに応じて前記電圧スィープを発生させることを特徴とする請求項２７に記載の記憶システム。
【請求項３０】
前記電圧スィープは、連続的な電圧スィープであることを特徴とする請求項２７に記載の記憶システム。
【請求項３１】
前記電圧スィープは、前記ワードラインに固有値として印加される異なる電圧であることを特徴とする請求項２７に記載の記憶システム。
【請求項３２】
前記特性は、電圧又は静電容量であることを特徴とする請求項２７に記載の記憶システム。
【請求項３３】
少なくとも前記異なる電圧を印加している間に伝導状態になった記憶素子は、前記特性に対してそれ以降貢献しなくなるようにロックアウトすることを特徴とする、請求項２７に記載の記憶システム。
【請求項３４】
記憶装置のメモリダイに形成される、記憶素子のセット及びそれに関連するワードラインと、
記憶素子のセット及びワードラインと通信し、メモリダイに形成されており、異なる電圧をワードラインに印加し、異なる電圧を印加しているときのメモリダイにおける記憶素子のセットの特性を測定し、その特性に基づいて、記憶素子の閾電圧分布を設定する少なくとも１つの制御回路
を備える記憶システム。
【請求項３５】
前記閾電圧分布は、外部の試験機器又は外部ホストを用いずに、前記少なくとも１つの制御回路によって設定されることを特徴とする請求項３４に記載の記憶システム。
【請求項３６】
前記異なる電圧は、前記記憶装置において内部的に発生させられることを特徴とする請求項３４に記載の記憶システム。
【請求項３７】
前記特性は、電圧であることを特徴とする請求項３４に記載の記憶システム。
【請求項３８】
前記特性は、静電容量であることを特徴とする請求項３４に記載の記憶システム。
【請求項３９】
記憶装置に設けられている記憶素子のセット及びそれに関連するワードラインと、
記憶素子のセットと通信し、ワードラインに対して異なる電圧を印加し、異なる電圧を印加しているときの記憶素子のセットの特性を測定し、異なる電圧を印加しているときに伝導状態になった記憶素子が前記特性に対してそれ以降貢献しなくなるようにその記憶素子ををロックアウトし、測定した特性に基づいて、記憶素子の閾電圧分布を設定する少なくとも１つの制御回路
を備える記憶システム。
【請求項４０】
前記記憶素子のぞれぞれが個別のＮＡＮＤストリングに関連付けられており、ロックアウトされる記憶素子は、関連付けられているＮＡＮＤストリングのビットライン電圧を変化させることによってロックアウトされることを特徴とする請求項３９に記載の記憶システム。
【請求項４１】
ロックアウトされた記憶素子は、伝導状態でなくなることを特徴とする請求項３９に記載の記憶システム。
【請求項４２】
前記閾電圧分布に基づいて、読み出し動作における記憶素子の読み出しについて、少なくとも１つの基準電圧をセットすることを特徴とする請求項３９に記載の記憶システム。
【請求項４３】
前記異なる電圧に対する前記特性の変化率に基づいて、読み出し動作における記憶素子の読み出しについて少なくとも１つの基準電圧をセットすることを特徴とする請求項３９に記載の記憶システム。
【請求項４４】
前記特性は、前記記憶素子のセットの各記憶素子に接続される位置において測定されることを特徴とする請求項３９に記載の記憶システム。
【請求項４５】
前記特性は、電圧又は静電容量であることを特徴とする請求項３９に記載の記憶システム。
【請求項４６】
記憶装置に設けられている記憶素子のセットであって、各記憶素子が個別のＮＡＮＤストリングに対応付けられている記憶素子のセットと、
記憶素子のセットと通信し、記憶素子のセットに関連するワードラインに印加される電圧をスィープし、記憶素子のセットにおいてスィーピングを行っている間に伝導状態になった記憶素子を識別し、識別された記憶素子に関連するＮＡＮＤストリングのビットライン電圧を変化させる少なくとも１つの制御回路
を備える記憶システム。
【請求項４７】
前記電圧は、連続的なスィーピングによってスィープされることを特徴とする請求項４６に記載の記憶システム。
【請求項４８】
前記電圧は、段階的なスィーピングによってスィープされることを特徴とする請求項４６に記載の記憶システム。
【請求項４９】
前記少なくとも１つの制御回路は、前記スィーピングの最中に前記記憶素子のセットの特性を測定するとともに、その特性に基づいて、記憶素子の閾電圧分布を設定することを特徴とする請求項４６に記載の記憶システム。
【請求項５０】
前記特性は、複数の記憶素子に流れる複合電流であることを特徴とする請求項４９に記載の記憶システム。
【請求項５１】
前記識別された記憶素子に関連する前記ＮＡＮＤストリングの前記ビットライン電圧を変化させることによって、前記識別された記憶素子は前記特性に貢献しなくなることを特徴とする請求項４９に記載の記憶システム。
【請求項５２】
前記識別された記憶素子に関連する前記ＮＡＮＤストリングの前記ビットライン電圧を変化させる際に、前記識別された記憶素子に関連する前記ビットライン電圧を接地することを特徴とする請求項４９に記載の記憶システム。
【請求項５３】
記憶素子のセットと、これに関連するワードラインとを備えるメモリダイの内部において、電圧スィープを発生させる手段と、
ワードラインに電圧スィープを印加する手段と、
電圧スィープを印加しているときの記憶素子のセットの特性を測定する手段と、
その特性に基づいて、記憶素子の閾電圧分布を設定する手段
を備える記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本出願は、２００７年５月１４日に出願された米国特許仮出願第６０／９１７，６７９号の利益を主張するものであり、この出願の全部は、参照により本明細書に援用される。
【０００２】
本出願は、本願と同時継続中であるとともに、本願と同一譲受人に譲渡された「メモリの閾電圧分布を測定するための処理シーケンス及びコマンド：Ｏｐｅｒａｔｉｎｇ  Ｓｅｑｕｅｎｃｅ  Ａｎｄ  Ｃｏｍｍａｎｄｓ  Ｆｏｒ  Ｍｅａｓｕｒｉｎｇ  Ｔｈｒｅｓｈｏｌｄ  Ｖｏｌｔａｇｅ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｉｎ  Ｍｅｍｏｒｙ」と題する米国特許出願第 号（ドケット番号：ＳＡＮＤ−１２８２ＵＳ０／ＭＳＤ−００２３）に関連し、この出願の全部は、参照により本明細書に援用される。
【０００３】
（技術分野）
本発明は、記憶装置に関する。
【背景技術】
【０００４】
半導体メモリ装置は、様々な電子装置に用いられるようになっている。例えば、不揮発性半導体メモリは、携帯電話、デジタルカメラ、パーソナルデジタルアシスタント、モバイルコンピュータ装置、非モバイルコンピュータ装置、及びその他の装置に使用されている。最も普及している不揮発性半導体メモリは、Ｅｌｅｃｔｒｉｃａｌ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＥＥＰＲＯＭ）とフラッシュメモリである。フラッシュメモリはＥＥＰＲＯＭの一種であり、従来の特徴を有するＥＥＰＲＯＭに比して、そのメモリアレイの全部又は一部に記憶されるコンテンツを一括で消去することができる。
【０００５】
従来のＥＥＰＲＯＭ及びフラッシュメモリでは、半導体基板のチャネル領域の上に設けられ、かつ、そのチャネル領域と絶縁されているフローティングゲートを用いている。フローティングゲートは、ソース領域とドレン領域の間に配置される。フローティングゲートの上には、フローティングゲートと絶縁されている制御ゲートが設けられている。これらによって形成されるトランジスタの閾電圧（ＶＴＨ）は、フローティングゲートに蓄積されるチャージ量によって制御される。即ち、トランジスタがそのソースとドレン間において導電可能にオンされるよりも前に制御ゲートに印加されていなければならない電圧の最小量は、フローティングゲートのチャージレベルによって制御される。
【０００６】
２つの値域のチャージを記憶するために用いられるフローティングゲートを備え、その記憶素子（ストレージエレメント）が、例えば消去された状態とプログラムされた状態の、２つの状態のいずれかとなるようにプログラム及び消去可能であるＥＥＰＲＯＭとフラッシュメモリが存在する。そのようなフラッシュメモリデバイスは、各記憶素子が１ビットのデータを記憶可能であることから、バイナリフラッシュメモリデバイスと呼ばれることがある。
【０００７】
多状態（多レベルともいう）フラッシュメモリデバイスは、複数の異なる閾電圧値域であり、有効にプログラムされた閾電圧値域を特定することにより用いられる。例えば、それぞれが４つの異なる閾電圧値域に対応する４つの離散的なチャージバンドのうちのいずれか１つに記憶素子が属することが可能である場合には、各記憶素子は２ビットのデータを記憶することができる。
【０００８】
一般的に、プログラム動作中に制御ゲートに印加されるプログラム電圧ＶＰＧＭは、経時的に増大するパルスの連続的な集まりとして印加される。一つの可能なアプローチとして、パルスの大きさは、例えば０．２〜０．４Ｖといった所定のステップの大きさによって、連続するパルス毎に増大していく。ＶＰＧＭは、フラッシュメモリエレメントの制御ゲートに印加されてもよい。プログラムパルスとプログラムパルスの間隔において、ベリファイ（照合）動作が実行される。即ち、連続するプログラミングパルスの合間に、平行してプログラムされるエレメントのグループにおける各エレメントのプログラミングレベルが読み出され、それらのエレメントにおけるレベルが、それらのエレメントがプログラムされるべきベリファイレベル以上であるか否かが判断される。多状態フラッシュメモリエレメントのアレイについては、ベリフィケーション工程をエレメントの状態毎に実行することができ、これにより、そのエレメントがデータに関連付けられたベリファイレベルに達したか否かが判断される。例えば、４つの状態にあるデータを記憶することが可能な多状態フラッシュメモリエレメントであれば、３つの比較点についてベリファイ動作を実行してもよい。
【０００９】
さらに、ＮＡＮＤストリングを有するＮＡＮＤ型のフラッシュメモリデバイス等のＥＥＰＲＯＭ又はフラッシュメモリデバイスをプログラムする場合には、一般的に、ＶＰＧＭが制御ゲートに印加されるとともにビットラインが接地され、例えば記憶素子のようなセル又はメモリエレメントのチャネルからの電子がフローティングゲートに注入される。電子がフローティングゲートに蓄積されると、フローティングゲートは負にチャージされ、メモリエレメントの閾電圧が上昇し、これにより、メモリエレメントはプログラムされた状態にあるとみなされる。このようなプログラミングについてのより詳細な情報が、「不揮発性メモリのためのソース側セルフ・ブースト技術：Ｓｏｕｒｃｅ  Ｓｉｄｅ  Ｓｅｌｆ  Ｂｏｏｓｔｉｎｇ  Ｔｅｃｈｎｉｑｕｅ  Ｆｏｒ  Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ」と題する米国特許第６，８５９，３９７号及び２００５年２月３日に公開された「プログラムメモリの検知方法：Ｄｅｔｅｃｔｉｎｇ  Ｏｖｅｒ  Ｐｒｏｇｒａｍｍｅｄ  Ｍｅｍｏｒｙ」と題する米国特許出願公開第２００５／００２４９３９号に記載されている。これら出願の全部は、参照により本明細書に援用される。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
また、読み出し動作中には、読み出しを行う記憶素子群に対して読み出し基準電圧が印加され、どの程度の読み出し基準電圧によって記憶素子が導電するかについての判断が行われる。読み出し基準電圧は、記憶素子のデータ状態を区別することを可能とするために設定される。しかしながら、読み出し基準電圧は、一般的には一定であり、記憶素子群における閾電圧分布が、例えばチャージ漏れ、温度変化、プログラミング周期の回数等の、様々な素子によって変化し得ることが考慮されることはない。このため、結果としてエラーが生じることがある。
【００１１】
これに対応するために、記憶素子における閾電圧分布を考慮し、これに基づいて新たな読み出し基準電圧を設定することが考えられる。しかしながら、例えば外部のアナログ機器等を用いる手法のような、閾電圧分布を演算するための従来のアプローチは柔軟性に乏しく、例えば、リアルタイムでのフラッシュマネジメント処理や製造時の試験等の、時間的な制約の大きい状況における「オンライン」での使用に対する効率性が低い。
【課題を解決するための手段】
【００１２】
本発明は、メモリにおける読み出しエラーを低減させるための方法と装置を提供する。本発明の一側面においては、記憶素子群の閾電圧分布を、複合電流又はその素子群のその他の集合的特性に基づいて設定することにより、読み出しエラーを低減させる。また、閾電圧分布に基づいて、記憶素子群の読み出しを行うための最適な読み出し基準電圧を設定する。
【００１３】
本発明は、その一つの実施形態として、記憶素子のセットと、これに関連するワードラインとを備えるメモリダイの内部において、電圧スィープを発生させる工程と、ワードラインに電圧スィープを印加する工程と、電圧スィープを印加しているときの記憶素子のセットの特性を測定する工程と、その特性に基づいて、記憶素子の閾電圧分布を設定する工程を備える記憶装置を動作させる方法に具現化される。電圧スィープは、外部の試験機器を用いることなく、メモリダイに内蔵される制御回路構成によって発生させることができる。電圧スィープは、連続的な電圧スィープであってもよいし、段階的なステップを有する離散的な電圧スィープであってもよい。特性は、例えば、記憶素子のセットの全体における複合電流、電圧、静電容量等を含むものであってもよい。上記の方法は、さらに、異なる電圧に対する特性の変化率に基づいて、読み出し動作において記憶素子からデータを読み出すための基準電圧を少なくとも１つセットする工程を備えていてもよい。
【００１４】
本発明は、別の実施形態として、記憶素子のセットと、その記憶素子のセットに関連するワードラインとを備えるメモリダイのワードラインに対して異なる電圧を印加する工程と、異なる電圧を印加しているときの、メモリダイにおける記憶素子のセットの特性を測定する工程と、その特性に基づいて、メモリダイにおける記憶素子の閾電圧分布を設定する工程を備える記憶装置を動作させる方法に具現化される。例えば、閾電圧分布は、外部の試験機器又は外部ホストを用いずに、記憶装置に内臓される制御回路構成によって設定されてもよい。
【００１５】
本発明は、別の実施形態として、記憶素子のセットと関連するワードラインに対して異なる電圧を印加する工程と、異なる電圧を印加しているときの記憶素子のセットの特性を測定する工程と、異なる電圧を印加している間に伝導状態になった記憶素子が前記特性に対してそれ以降貢献しなくなるように、その記憶素子ををロックアウトする工程と、その特性に基づいて、記憶素子の閾電圧分布を設定する工程を備える記憶装置を動作させる方法に具現化される。例えば、それぞれの記憶素子は個別のＮＡＮＤストリングに関連付けられていてもよい。この場合、記憶素子は、その素子が関連付けられているＮＡＮＤストリングのビットライン電圧を変化させることによってロックアウトされてもよい。
【００１６】
本発明は、別の実施形態として、それぞれの記憶素子が個別のＮＡＮＤストリングに関連付けられている記憶素子のセットに関連付けられているワードラインに印加される電圧をスィープする工程と、記憶素子のセットにおいてスィーピングを行っているときに伝導状態となった記憶素子を識別する工程と、識別された記憶素子に関連付けられているＮＡＮＤストリングのビットライン電圧を変化させる工程を備える記憶装置を動作させる方法に具現化される。
【００１７】
本発明は、別の実施形態として、記憶装置のメモリダイに形成される記憶素子のセット及びそれに関連するワードラインと、記憶素子のセット及びワードラインと通信する少なくとも１つの制御回路構成を備える記憶システムに具現化される。上記の少なくとも１つの制御回路構成は、メモリダイに形成されており、メモリダイにおいて内部的に電圧スィープを発生させ、その電圧スィープをワードラインに印加し、電圧スィープを印加しているときの記憶素子のセットの特性を測定し、その特性に基づいて記憶素子の閾電圧分布を設定する。
【００１８】
本発明は、別の実施形態として、記憶装置のメモリダイに形成される、記憶素子のセット及びそれに関連するワードラインと、記憶素子のセット及びワードラインと通信する少なくとも１つの制御回路を備える記憶システムに具現化される。上記の少なくとも１つの制御回路は、メモリダイに形成されており、異なる電圧をワードラインに印加し、異なる電圧を印加しているときのメモリダイにおける記憶素子のセットの特性を測定し、その特性に基づいて、記憶素子の閾電圧分布を設定する。
【００１９】
本発明は、別の実施形態として、記憶装置に設けられている記憶素子のセット及びそれに関連するワードラインと、記憶素子のセットと通信する少なくとも１つの制御回路を備える記憶システムに具現化される。上記の少なくとも１つの制御回路は、ワードラインに対して異なる電圧を印加し、異なる電圧を印加しているときの記憶素子のセットの特性を測定し、異なる電圧を印加しているときに伝導状態になった記憶素子が前記特性に対してそれ以降貢献しなくなるように、その記憶素子ををロックアウトし、測定した特性に基づいて、記憶素子の閾電圧分布を設定する。
【００２０】
本発明は、別の実施形態として、記憶装置に設けられている記憶素子のセットであって、各記憶素子が個別のＮＡＮＤストリングに対応付けられている記憶素子のセットと、その記憶素子のセットと通信する少なくとも１つの制御回路を備える記憶システムに具現化される。上記の少なくとも１つの制御回路は、記憶素子のセットに関連するワードラインに印加される電圧をスィープし、記憶素子のセットにおいてスィーピングを行っているときに伝導状態となった記憶素子を識別し、識別された記憶素子に関連するＮＡＮＤストリングのビットライン電圧を変化させる。
【実施例】
【００２１】
本発明は、不揮発性記憶システムにおける読み出しエラーを低減するための方法と装置を提供するものである。
【００２２】
本発明を良好に適用することができる記憶システムの一例では、二つの選択ゲート間に複数のトランジスタを直列的に配置したＮＡＮＤ型のフラッシュメモリ構造を採用する。それらの直列接続されたトランジスタと選択ゲートを、ＮＡＮＤストリングと称する。図１は、１個のＮＡＮＤストリングの平面図である。図２はその等価回路である。図１、図２に示すＮＡＮＤストリングは、第１選択ゲート１２０と第２選択ゲート１２２の間で直列配置された４個のトランジスタ１００、１０２、１０４、１０６を備えている。選択ゲート１２０はＮＡＮＤストリングをビットライン１２６に接続する。選択ゲート１２２はＮＡＮＤストリングをソースライン１２８に接続する。選択ゲート１２０は、制御ゲート１２０ＣＧに適切な電圧が印加されることで制御される。選択ゲート１２２は、制御ゲート１２２ＣＧに適切な電圧が印加されることで制御される。各トランジスタ１００、１０２、１０４、１０６は、制御ゲートとフローティングゲートを有している。トランジスタ１００は、制御ゲート１００ＣＧとフローティングゲート１００ＦＧを有している。トランジスタ１０２は、制御ゲート１０２ＣＧとフローティングゲート１０２ＦＧを有している。トランジスタ１０４は、制御ゲート１０４ＣＧとフローティングゲート１０４ＦＧを有している。トランジスタ１０６は、制御ゲート１０６ＣＧとフローティングゲート１０６ＦＧを有している。制御ゲート１００ＣＧはワードラインＷＬ３に接続されており、制御ゲート１０２ＣＧはワードラインＷＬ２に接続されており、制御ゲート１０４ＣＧはワードラインＷＬ１に接続されており、制御ゲート１０６ＣＧはワードラインＷＬ０に接続されている。制御ゲートは、ワードラインの一部として形成されていてもよい。一つの実施形態においては、トランジスタ１００、１０２、１０４、１０６はそれぞれが記憶素子であり、メモリセルと呼ばれることがある。別の実施形態においては、記憶素子は複数のトランジスタを含んでいてもよいし、図１及び２に示されるトランジスタとは別の態様を備えていてもよい。選択ゲート１２０は選択ラインＳＧＤ（ドレン選択ゲート）に接続されている。選択ゲート１２２は選択ラインＳＧＳ（ソース選択ゲート）に接続されている。
【００２３】
図３は、３つのＮＡＮＤストリング示す回路図である。ＮＡＮＤ構造を用いたフラッシュメモリシステムの構造は、通常、複数のＮＡＮＤストリングを備えている。例えば、図３には、より多数のＮＡＮＤストリングを備えるメモリアレイの有する３つのＮＡＮＤストリング３２０、３４０、３６０が例示されている。各ＮＡＮＤストリングは、２個の選択ゲートと４個の記憶素子を有している。ここでは、説明の簡素化のために４個の記憶素子が例示されているが、現在のＮＡＮＤストリングは、例えば、３２個から６４個の記憶素子を備えることができる。
【００２４】
例えば、ＮＡＮＤストリング３２０は、選択ゲート３２２、３２７と、記憶素子３２３〜３２６を有している。ＮＡＮＤストリング３４０は、選択ゲート３４２、３４７と、記憶素子３４３〜３４６を有している。ＮＡＮＤストリング３６０は、選択ゲート３６２、３６７と、記憶素子３６３〜３６６を有している。各ＮＡＮＤストリングは、選択ゲート（例えば選択ゲート３２７、３４７、３６７）によってソースラインに接続されている。選択ラインＳＧＳは、ソース側選択ゲートの制御に使用される。いくつかのＮＡＮＤストリング３２０、３４０、３６０は、選択ゲート３２２、３４２、３６２等に備えられている選択トランジスタによってビットライン３２１、３４１、３６１にそれぞれ接続されている。これらの選択トランジスタは、ドレン選択ラインＳＧＤによって制御されている。他の実施形態においては、選択ラインは必ずしも複数のＮＡＮＤストリングによって共通化されている必要はない。異なるＮＡＮＤストリングについて、個別の選択ラインが形成されていてもよい。ワードラインＷＬ３は、記憶素子３２３、３４３、３６３の制御ゲートに接続されている。ワードラインＷＬ２は、記憶素子３２４、３４４、３６４の制御ゲートに接続されている。ワードラインＷＬ１は、記憶素子３２５、３４５、３６５の制御ゲートに接続されている。ワードラインＷＬ０は、記憶素子３２６、３４６、３６６の制御ゲートに接続されている。図に見られるように、それぞれのビットラインと各ＮＡＮＤストリングは、記憶素子のセット又はアレイの列群を備えている。ワードライン（ＷＬ３，ＷＬ２，ＷＬ１，ＷＬ０）はアレイの行群を備えている。各ワードラインは、行内の各記憶素子の制御ゲートを接続している。例えば、ワードラインＷＬ２は記憶素子３２４、３４４、３６４の制御ゲートに接続されている。実際には、数千個の記憶素子が１つのワードラインに備えられていてもよい。
【００２５】
各記憶素子はデータを記憶できる。１ビットのデジタルデータを記憶する場合、記憶素子の使用可能な閾電圧（ＶＴＨ）の範囲が、論理データ「１」と「０」に割り当てられた２つの範囲に分割される。ＮＡＮＤ型フラッシュメモリの一例では、記憶素子の消去後にＶＴＨが負になり、論理値「１」と定義される。プログラム動作後のＶＴＨは正になり、論理値「０」と定義される。ＶＴＨが負であるときに読み出しが試みられると、記憶素子がオンされて、論理値「１」が記憶されていることが示される。ＶＴＨが正であるときに読み出し動作が試みられた場合は、記憶素子がオンされない。これは、論理値「０」が記憶されていることを示す。記憶素子は、例えば、複数ビットのデジタルデータのような、複数レベルの情報を記憶することもできる。複数レベルのデータを記憶する場合には、ＶＴＨの範囲が多数のデータレベルと同数に分割される。例えば、４つのレベルの情報を記憶する場合には、データ値「１１」，「１０」，「０１」，「００」の４つのＶＴＨ範囲が割り当てられる。ＮＡＮＤ型メモリの一例では、消去動作後のＶＴＨは負であり、「１１」と定義される。正のＶＴＨの値が、「１０」，「０１」，「００」で示される状態（ステート）に使用される。記憶素子にプログラミングされるデータとその素子の閾電圧の範囲の関係は、その記憶素子に適用されるエンコード・スキームに依存している。例えば、米国特許第６，２２２，７６２号と米国特許出願公開第２００４／０２５５０９０号には、多状態フラッシュストレージエレメントに用いられる多様なデータのエンコード・スキームが記載されており、これらの出願の全部は、参照により本明細書に援用される。
【００２６】
ＮＡＮＤ型フラッシュメモリとその動作に関する例が、米国特許第５，３８６，４２２号、第５，５７０，３１５号、第５，７７４，３９７号、第６，０４６，９３５号、第６，４５６，５２８号及び第６，５２２，５８０号によって提供されており、それらの出願の全部は、参照により本明細書に援用される。
【００２７】
フラッシュストレージエレメントをプログラミングする場合、プログラム電圧が記憶素子（ストレージエレメント）の制御ゲートに印加され、その記憶素子に関連付けられているビットラインが接地される。チャネルからの電子がフローティングゲートに注入される。電子がフローティングゲートに蓄積されると、フローティングゲートは負にチャージされ、記憶素子のＶＴＨが上昇する。プログラミングされている記憶素子の制御ゲートにプログラム電圧を印加する際には、そのプログラム電圧は適切なワードラインに印加される。上述したように、複数のＮＡＮＤストリングにおいて、各ストリングの１個の記憶素子が、同じワードラインを共有している。例えば、図３の記憶素子３２４をプログラミングする場合には、プログラム電圧は記憶素子３４４及び３６４の制御ゲートにも印加される。
【００２８】
図４は、基板上に形成されたＮＡＮＤストリングの断面図を示す。図に示される構成は、簡素化されたものであり、実際の構成の縮尺とは相違する。ＮＡＮＤストリング４００はソース側選択ゲート４０６と、ドレン側選択ゲート４２４と、８個の記憶素子４０８、４１０、４１２、４１４、４１６、４１８、４２０、４２２とを備えており、基板４９０上に形成されている。ソース／ドレン領域４３０をその一例とする多数のソース／ドレン領域が、各記憶素子及び選択ゲート４０６と４２４の両側に設けられている。１つのアプローチにおいて、基板４９０は、ｐ型基板領域４９６に交互に形成されるｐ−ウェル領域４９２とｎ−ウェル領域４９４を備えるトリプルウェル技術を用いている。ＮＡＮＤストリングとその不揮発性記憶素子の少なくとも一部は、ｐ−ウェル領域上に形成することができる。電位ＶＢＬを有するビットライン４２６に加えて、電位ＶＳＯＵＲＣＥを有するソース供給ライン４０４が設けられている。端子４０２を介してｐ−ウェル領域４９２に電圧を印加することができるとともに、端子４０３を介してｎ−ウェル領域４９４に電圧を印加することができる。
【００２９】
読み出し動作が実行されている間に、制御ゲート電圧ＶＣＧが選択されたワードライン、即ち、本例においては記憶素子４１４とそれ以外の図示しない記憶素子に関連付けられているＷＬ３に供給される。さらに、上述したように、記憶素子の制御ゲートはワードラインの一部として構成されうる。例えば、ＷＬ０、ＷＬ１、ＷＬ２、ＷＬ３、ＷＬ４、ＷＬ５、ＷＬ６、ＷＬ７は、それぞれ、記憶素子４０８、４１０、４１２、４１４、４１６、４１８、４２０、４２２の制御ゲートを介して伸長していてもよい。１つの可能なスキームとして、読み出しパス電圧ＶＲＥＡＤがＮＡＮＤストリング４００と関連付けられているその他のワードラインに印加される。選択ゲート４０６と４２４には、それぞれＶＳＧＳとＶＳＧＤが印加される。
【００３０】
図５は、記憶素子のブロックを表わす。一例として、ＮＡＮＤフラッシュＥＥＰＲＯＭは、１０２４個のブロックに区分することができる。各ブロックに記憶されたデータは、同時に消去することができる。一実施形態では、ブロックが、同時に消去されるセルの最小単位である。この例では、各ブロック内に、ビットラインＢＬ０、ＢＬ１、…、ＢＬ４２５５の、４２５６個の列が存在する。また、いわゆるオールビットライン（ＡＢＬ）アーキテクチャという別の実施形態では、読み出し及びプログラミング動作時にブロック内のすべてのビットラインを同時に選択することができ、共通のワードラインに接続され、かつ、いずれかのビットラインに接続される記憶素子群を同時にプログラミングすることができる。
【００３１】
本実施例に示す一例においては、８個の記憶素子が直列接続され、ＮＡＮＤストリングを形成しており、ＷＬ０からＷＬ７までの８個のワードラインが存在する。ＮＡＮＤストリングは、また、ダミーの記憶素子とそれに関連するワードラインを備えていてもよい。別の実施形態では、ＮＡＮＤストリングは８個以上もしくは８個以下の記憶素子を備えていてもよい。データメモリセルは、ユーザもしくはシステムのデータを記憶することができる。ダミーメモリセルは、一般的に、ユーザもしくはシステムのデータを記憶するために用いられることはない。
【００３２】
各ＮＡＮＤストリングの一方の端子は、ドレン選択ゲートを介してそれぞれが対応するビットラインに接続されている（即ち、選択ゲートドレンラインＳＧＤに接続されている）。各ストリングの他方の端子は、ソース選択ゲートを介して共有ソース５０５に接続されている（即ち、選択ゲートソースラインＳＧＳに接続されている）。このため、共有ソース５０５はそれぞれのＮＡＮＤストリングに連結されている。
【００３３】
奇数・偶数アーキテクチャといわれる一つの実施形態では、ビットラインは偶数ビットライン（ＢＬｅ）と奇数ビットライン（ＢＬｏ）に区分されている。この場合、奇数ビットラインに接続するとともに共通のワードライン上にある記憶素子は同時的にプログラミングされ、この一方で、偶数ビットラインに接続するとともに共通のワードライン上にある記憶素子は、奇数ビットラインに接続する記憶素子とは異なるタイミングにおいて同時的にプログラミングされる。異なるブロックにデータをプログラムすることと、異なるブロックからデータを読み出すことを並列的に実行することができる。各ブロックにおいて、列は偶数列と奇数列に区分される。
【００３４】
一実施形態では、読み出し及びプログラミング動作の間に、４，２５６個の記憶素子が同時に選択される。選択された記憶素子は同一のワードラインを有しており、共通の物理的なページの一部である。したがって、論理ページを形成する５３２バイトのデータを同時に読み出し又はプログラミングすることができ、メモリの１ブロックが少なくとも８ページ分の論理ページを記憶することができる。この例では、物理的ページと論理ページは同じであるものの、概して、このことを必須の要件とするものではない。例えば、１ページの物理ページが複数の論理ページを含んでいてもよい。例えば、論理ページは、一般的に、同時に書き込み（プログラム）可能な記憶素子のセットの最小単位である。多状態記憶素子については、各記憶素子が２ビットのデータを記憶する場合には、それらの２ビットは異なるページに記憶され、１つのブロックに１６ページの論理ページが記憶される。その他の大きさのブロックやページが用いられてもよい。
【００３５】
ＡＢＬ又は奇数―偶数アーキテクチャのいずれの場合にも、記憶素子はｐ−ウェルを消去電圧（例えば、２０Ｖ）まで上げるとともに、選択されたブロックのワードラインを接地することで消去することができる。ソースとビットラインはフロートしている。消去処理はメモリアレイ全体、または個別のブロック毎に実行することができる。また、記憶装置の一部である記憶素子のその他の単位において実行することができる。記憶素子のＶＴＨが負となるように、記憶素子のフローティングゲートからｐ−ウェル領域に電子が移転する。
【００３６】
読み出し及びベリファイ動作では、選択ゲート（ＳＧＤ及びＳＧＳ）が２．５〜４．５Ｖの電圧に接続され、選択されていないワードラインは読み出しパス電圧ＶＲＥＡＤまで上昇され（一般的には、これは４．５〜６Ｖの電圧である）、トランジスタにパスゲートとして機能させる。選択されたワードラインは、対象となる記憶素子のＶＴＨがそのレベルより上なのか、あるいは下なのかを判断するために、各読み出し及びベリファイ動作に特化されているレベルの電圧に接続される。例えば、２レベルの記憶素子の場合、選択されたワードラインが接地され、そのＶＴＨが０Ｖよりも高いことが検知される。２レベルの記憶素子のベリファイ動作においては、選択されたワードラインは、例えば０．８Ｖに接続され、そのＶＴＨが少なくとも０．８Ｖに達したか否かが判断される。ソースとｐ−ウェルは、０Ｖとされる。選択されたビットラインは、例えば０．７Ｖのレベルにプレチャージされる。ＶＴＨがワードラインの読み出し又はベリファイのレベルよりも高い場合には、対象となっている記憶素子に関連する非伝導性の記憶素子のために、対応するビットラインの電位レベルは高レベルに維持される。これに対し、ＶＴＨが読み出し又はベリファイのレベルよりも低い場合には、伝導性の記憶素子が電子を放出するために、対応するビットラインの電位レベルが、例えば０．５Ｖ以下の低レベルにまで低下される。記憶素子の状態は、１つの実施形態においては、ビットラインに接続される電圧コンパレータ・センス増幅器によって検出される。プログラミングと同様に、読み出し動作もまた、ページ単位で実行することができる。
【００３７】
上記において説明した消去、読み出し、ベリファイ動作の詳細については、周知の技術を用いて実行することができる。このため、説明した詳細な内容については、当業者によって多様に改良することができる。周知のその他の消去、読み出し、及びベリファイ技術を用いることができる。
【００３８】
図６ａは、記憶素子のセットの初期の閾電圧分布を示している。記憶素子の閾電圧は、記憶素子の制御ゲートに印加された場合に、非伝導状態から伝導状態へとチャネルの状態を変化させることが可能な最も低い電圧である。この電圧は、フローティングゲートにトラップされている負のチャージ量に影響される。即ち、よりチャージが多いほど、そのセルの閾電圧が高くなる。ＳＬＣ（シングルレベルセル）型の機器は、ゼロチャージのフローティングゲートを有する記憶素子を用いて論理値「１」の状態を表わし、負にチャージされたフローティングゲートを有する記憶素子を用いて論理値「０」の状態を表わしている。状態は記憶素子の閾電圧によって表現することができ、この場合においては「１」の状態の電圧と「０」の状態の電圧の、２レベルを用いている。複数の記憶素子において「０」状態の電圧が若干相違し得るものの、「１」状態の電圧と「０」状態の電圧の中間の電圧を制御ゲートに印加することによって、「１」状態の記憶素子を伝導状態とする一方で、「０」状態の記憶素子を非伝導状態にとどめおく。
【００３９】
マルチレベルセル（ＭＬＣ）型の機器は、ゼロチャージを含むフローティングゲートの４種のチャージ量を用いており、状態を４つの電圧レベルによって表現することができる。このため、ＭＬＣ記憶素子は２ビットのデータを記憶する。一般的に、Ｎビットの記憶素子は２Ｎ電圧レベルを用いて表現することができる。より新しい機器においては、８もしくはより多くの電圧レベルを用いることが期待されている。記憶素子毎のビット数が高次化することで、高いデータ密度を有するフラッシュデバイスが製造可能となり、フラッシュデバイスの全体的な製造コストを下げることができる。
【００４０】
さらに、ＳＬＣデバイスの読み出し動作では、「０」と「１」の電圧レベルの間の１つの基準電圧を用いる。４種の状態を有するＭＬＣデバイスの読み出し動作においては、３つの基準電圧レベルを用いる。８種の状態を有するＭＬＣデバイスの読み出し動作においては、７つの基準電圧レベルを用いる。一般的に、２Ｎの状態で表わされる、セル１つにつきＮビットを記憶するデバイスにおいては、読み出し動作に２Ｎ−１個の基準電圧を用いる。
【００４１】
図６ａは、閾電圧を表わすｘ軸と、記憶素子の数を表わすｙ軸が示されている。ＭＬＣデバイスの一例においては、０から７の８個の状態が存在し、ＶＲ１からＶＲ７までの７個の基準電圧が存在する。実際には、共通の状態にプログラミングされた記憶素子は、閾電圧の範囲を有する。プログラミング動作に関連する現象として、例えばクロスカップリングやプログラム干渉があり、これらの現象は、記憶素子群の実際の閾電圧分布を１セル当たりＮビットのデバイスにおいて２Ｎ電圧グループに区分してしまう。初期の閾電圧分布では、各記憶素子が所望される電圧グループに属するようにプログラムされていることから、各状態の分布は比較的狭い。また、理想的には、例えばＶＲ１が０状態と１状態の間に位置し、ＶＲ２が１状態と２状態の間に位置する等、対応する記憶素子を読み出すための基準電圧が電圧グループ間に存在する。
【００４２】
記憶素子のフローティングゲートにトラップされているチャージは、記憶装置にユーザのデータをプログラムしておくために不変でなければならない。しかしながら、トラップされた状態のチャージは漏れてしまうことがあり、これにより、閾電圧が低下する。さらに、例えば温度変化、プログラミング周期の実行回数等のその他の要素によっても閾電圧は影響されてしまい、時間の経過とともに閾電圧分布が拡大及び／又は変化してしまう。
【００４３】
図６ｂは、記憶素子のセットの拡大された閾電圧分布を表わす図である。この例においては、各状態における閾電圧分布の幅が図６ａで示した分布よりも拡大されているとともに、各分布の分布領域が低電圧方向にシフトしている。その他のケースにおいては、分布が拡大するもののシフトしない場合や、シフトするものの拡大しない場合等があり得る。ＶＲ１からＶＲ７の固定された基準電圧レベルが用いられる場合、このような状態においては読み出しエラーが生じることがある。例えば、ＶＲ２が選択されたワードラインに印加されたときに、図６ａに示した状態においては２の状態にある記憶素子はいずれも伝導状態にならないのに対して、上記した状態においては、２の状態にあるいくつかの記憶素子が伝導状態になってしまうことがある。
【００４４】
このことに対応するために、読み出し基準電圧を変動させることにより、基準電圧が分布グループ間に設定されるようにすることが可能な動的な読み出し技術を用いることができる。この１つのアプローチでは、例えばＶＲ１からＶＲ７の基準電圧の初期設定を別の基準電圧のセットに変えてしまう手法がある。このとき、両方の基準電圧のセットは、フラッシュデバイスの特性に応じて設定される。例えば、プログラム／消去周期の回数や、温度変化、ユーザデータがフラッシュに保持されている時間、読み出し動作中のビットエラーの数等の、フラッシュデバイス動作情報に応じて１つのセットから別のセットへと切り換えることができる。
【００４５】
基準電圧を設定するもう１つの方法として、実際の閾電圧分布を測定し、その後に、例えば分布グループ間の最小点を特定することや、あるいは実際の分布を何らかの分布モデルに相関させること等により、リードエラー数が最小になるように読み出し基準電圧レベルを設定することができる。このアプローチは記憶装置がすべて電圧レベルで表現されるデータを記憶しており、それらのデータはレベル間において均等に配分されているという推定に基づいている。なお、ユーザデータにスクランブルアルゴリズムを適用することによって、データがレベル間において均等に配分されている状態を容易に作り出すことができる。しかしながら、実際の閾レベルの分布を測定する一般的な手法では、多数の閾レベルを有する記憶装置を個別の読み出し動作によって読み出し処理しなければならず、レベルの数は分布測定に要求される分解能によって指定されてしまう。例えば、記憶装置が８個の状態を用いており、１つの記憶素子につき３ビットを表現しており、分解能を１状態につき１０ポイントであるとすると、７９個の閾レベルのそれぞれについて閾電圧分布を測定するための読み出し動作を実行しなければならない。各オペレーションは読み出し電圧をセットし、記憶素子の伝導状態を検知し、さらなる処理のために、例えば外部のホストコントローラ等に向けてデータを転送すること等を含んでいる。結果として、閾レベル分布を把握するために必要な時間と処理資源が大きな負担となってしまう。上記した不利益を克服するとともに、閾電圧分布をより早く測定することができる技術が求められている。
【００４６】
図７に、記憶素子のセットの特性を測定する処理を表わす。このアプローチでは、特性は、例えばページ単位等の、複数の記憶素子の性質に関連して把握される。それぞれ個別の記憶素子の性質を測定するよりも、記憶素子のセット全体の性質を知ることで、処理時間の短縮や、必要となる処理資源の低減等の利益を得ることができる。
【００４７】
１つのアプローチとして、記憶素子のセットの制御ゲート電圧を、例えば、電圧スィープのような態様において、所定の範囲内で多様に変化させる。これは、選択されたワードラインに印加する電圧を、例えば初期レベルから最終レベルまで様々に変動させることにより実現できる。電圧は、低い値からはじめて増大させてもよいし、高い値からはじめて低減させていってもよい。ステップ７００では、記憶素子の制御ゲート電圧を、例えば、ＶＲＥＦ−ＩＮＩＴＩＡＬ等の初期レベルにセットする。ステップ７０５では、選択されなかった記憶素子のパス電圧を、例えば記憶素子毎のワードラインを介してセットする。なお、上記及び以降に示す他のフローチャートにおけるステップは、示される順序において個別のステップとして実行する必要はない。ステップ７１０では、記憶素子のセットの特性を測定しながら、制御ゲート電圧を変化させる。一般的に、制御ゲート電圧は、供給される電圧において最も小さい変化幅を表わす電圧の最小分解能に応じて調節することができる。例えば、制御ゲート電圧は、一連のコードワードに応じて異なる電圧を出力可能なデジタル／アナログ変換器によって供給することができる。そのようなデジタル／アナログ変換器は、例えば、図１６ａに示すパワーコントロールモジュール１６１６等によって構成されてもよい。測定される記憶素子のセットの特性は、セットを構成する記憶素子のうち、所定の条件を満たす数の素子によって直接的に示される如何なる物理的特性を含んでいてもよい。例えば、特性は、電流、電圧、静電容量であってもよく、伝導状態または非伝導状態にある記憶素子の数が上記の所定の条件であってもよい。所定の条件は、記憶素子の閾電圧が所定値以下であるか否か、あるいは、所定値以上であるか否かであってもよい。
【００４８】
１つのアプローチにおいては、特性は、例えば記憶素子と通信可能なソースライン等の、共通の位置で測定される。この機能を実現するために、多少のハードウェア及び／又はソフトウェアの追加が必要となる場合がある。例えば、図１４の測定装置１４５４は特性を測定し、これに対応するデータを記憶装置のコントローラに送信することができる。一般的に、電圧スィープが制御ゲートに印加されているときに変化する如何なるパラメータをも測定することが可能である。複数の記憶素子のパラメータを複合的に、あるいは集合的に測定することにより、それらの記憶素子のセットの閾電圧分布を決めるために必要なデータを取得することができる。
【００４９】
図７に示すように、任意のステップ７１５では、制御データベースと電圧をインクリメントする過程において伝導状態になった記憶素子をロックアウトする。制御ゲートがワードライン上で多様に変化するときの電流強度の変化に比べて、伝導状態にある記憶素子群における電流の集約量が大きいことがあり、このために、集約的電流測定に基づいた閾電圧評価の精度が制限されてしまうことがある。この問題に対処する１つのアプローチとして、記憶素子が伝導状態となったと判断された時に、伝導状態となったその記憶素子のビットラインを接地する。上述したように、制御ゲート電圧が印加されたときに各ビットラインは読み取りのために予めプレチャージしておくことができ、これにより、記憶素子の非伝導状態から伝導状態への移行に伴って、制御ゲート電圧がその記憶素子の閾電圧以上に増大されたときにそのビットラインがディスチャージするように構成することができる。
【００５０】
１つの適用形態では、このディスチャージは各ビットラインに接続されているセンス増幅器によって検知することができ、制御回路にフィードバックされる。制御回路は、上記に該当する記憶素子のビットラインに印加されていた電圧を取り除き、それらの記憶素子を伝導状態から非伝導状態へと移行させる。例えば、制御ゲート電圧がＶＲ１（図６ｂを参照）を越えて増加されていくにつれて、消去状態にある記憶素子は伝導状態へと移行するのに対し、同状況下において状態１〜７にある記憶素子は非伝導のままの状態を維持する。同様に、制御ゲート電圧がＶＲ２（図６ｂを参照）を越えて増加されていくにつれて、状態１にある記憶素子及び状態２にある記憶素子のうちのいくつかが、伝導状態へと移行する。
【００５１】
ステップ７２０では、特性と制御ゲート電圧の対応データを含む上記一連のステップの結果を記憶する。この対応データは、例えば、記憶装置と通信可能な外部ホストコントローラや、記憶装置自身、あるいはその他の装置等による分析の対象となる。
【００５２】
図８は、図７の処理によって得られた特性を用いて読み出し基準電圧を設定する処理を表わす。ステップ８００では、取得した特性と制御ゲート電圧の対応データにアクセスする。ステップＳ８０５では、特性がほぼ一定になるとともに、伝導状態となる記憶素子を新たに発生させない制御ゲート電圧を設定する。詳しくは、後で図１１（ａ）を参照して説明する。ステップＳ８１０では、特性がほぼ一定となる制御ゲート電圧に基づいて、新たな読み出し基準電圧ＶＲ１Ａ〜ＶＲ７Ａをセットする。詳しくは、後で図１１（ｂ）を参照して説明する。ステップ８１５では、これ以降に実行される読み出し動作において用いるために、新たな読み出し基準電圧を記憶する。
【００５３】
図７及び図８に示された処理は、閾電圧のシフトや拡張に対応するのに必要とされる時々において、適宜実行されてもよい。例えば、これらの処理は、検出されたリードビットエラーの数が閾値を超えることや、温度変化が閾値を超えることや、プログラミング周期が実行された回数が閾値を越えることや、ユーザデータが書き込まれてから経過した時間が所定量を超えること等をトリガーとして実行されてもよい。一般的に、リードエラーの低減と過剰なオーバーヘッドコストの発生予防との間にはバランスが保たれるべきである。例えば、資源と時間がそれを許容するのであれば、各読み出しが実行される前に新たな読み出し基準値をその都度設定することができる。また、１つのアプローチにおいては、新たな読み出し基準値を設定する処理は、記憶装置がその他のタスクによって動作されていないときに実行されてもよい。
【００５４】
図９ａは、連続的に増加する制御ゲート電圧を表わす図である。ここでは、制御ゲート電圧ＶＣＧは線９００によって表わされており、初期基準値ＶＲＥＦ−ＩＮＩＴＩＡＬから最終基準値ＶＲＥＦ−ＦＩＮＡＬへと連続的なスィープによってインクリメントされる。例えば、制御ゲート電圧は、記憶装置が実行可能な電圧の最小単位における変化を表わす最小の電圧の分解能によってインクリメントされてもよい。上述したように、制御ゲート電圧は、増大する方向にスィープされてもよいし、減少する方向にスィープされてもよい。初期値と最終値との間の幅は、予期される読み出し基準電圧の最小値から最大値までを包含していてもよい。制御ゲート電圧の変化率は、例えば、記憶素子の応答時間や、記憶素子のセットの特性が測定される速度や、その他の要因等の、適切なレベルに応じて設定することができる。さらに、制御ゲート電圧は、例えば、記憶素子が特定の状態においてより大きな閾電圧の拡大やシフトを起こしやすい場合等、１つ又は複数の特定の状態における閾電圧分布を特に正確に設定することが望まれるような場合には、異なる変化率で変化させることができる。このような場合、そのような状態の近辺においては、制御ゲート電圧をより遅いレート（例えば、Ｖ／秒）で変化させることができる。この一方で、例えば、閾電圧の拡大やシフトが生じにくい記憶素子等の、閾電圧分布設定の精度がそれほどまでに要求されない状態の近辺においては、制御ゲート電圧はより早いレートで変化させることができる。
【００５５】
さらに、記憶素子のセットの特性が測定されるレートは上記と同様に固定である必要はなく、例えば、特定の閾電圧の近傍においてより多くの読み出しを行うこと等のために変化可能であってもよい。また、以前に得られた結果の確認や比較のために、制御ゲート電圧のスィープのパスを複数実行することが可能であってもよい。さらに、電圧スィープの一部を、異なる時間帯に実行してもよい。例えば、第１電圧スィープが最初の４つの状態について実行され、その後に、第２電圧スィープが次の４つの状態について実行されてもよい。別のアプローチにおいては、電圧スィープは優先度の高いタスクが次に実行待ちになるまで継続されてもよい。この場合、電圧スィープは一時中止され、優先度の高いタスクが実行される。優先度の高いタスクが実行されると、一時中止した時点の制御ゲート電圧に続く電圧スィープを再開することができる。
【００５６】
図９ｂは、段階的に増加する制御ゲート電圧を表わす図である。ここでは、制御ゲート電圧ＶＣＧは線９５０によって表わされており、初期基準値ＶＲＥＦ−ＩＮＩＴＩＡＬから最終基準値ＶＲＥＦ−ＦＩＮＡＬへと、離散的なステップを用いた段階的な電圧スィープによって、階段状にインクリメントされる。例えば、それぞれのステップは、制御ゲート電圧の最小分解能以上の大きさであってもよい。特性の測定のタイミング及び／又は頻度は、それぞれのＶＣＧのステップについて、少なくとも１回の測定が行われるように設定することができる。
【００５７】
図１０は、制御ゲート電圧の働きによる記憶素子の電流の変化を表わす。ｘ軸は、制御ゲート電圧ＶＣＧを表しており、ｙ軸は各記憶素子における電流を、例えばｍＡ等の単位によって表している。曲線１０００は、ＶＣＧによる電流の変化を表す。制御ゲートはゼロからそれ以上の電圧へとスィープさせていくときに、いくつかの特徴を認識することができる。具体的には、電流はＶＣＧが値Ｖ１に達するまではほぼゼロであり、その値に達すると、記憶素子が伝導状態に移行し始める。電圧Ｖ２に対応する電流Ｉ２に例示されるように、電流はこの時点において急速に増加してゆく。それよりも高い電圧Ｖ３に達した後に、電流はその最大レベルにおいてほぼ定常となる。すなわち、記憶素子はＶＣＧが記憶素子の閾電圧を超えて増大されることにより、非伝導状態から伝導状態へと状態を変化させる。
【００５８】
図１１（ａ）は、連続的に増加する制御ゲート電圧に対する記憶素子のセットの複合電流の様子を表わす。１つの形態においては、記憶素子のセットの集合的または複合的な電流は、そのセットの各記憶素子に接続された測定装置によって測定することができる。例えば、伝導状態の各記憶素子に流れる電流は、共有のソースラインを通過する。このため、１つの形態においては、適切な電流計を共有ソースラインに接続することで、複合電流を測定することができる。さらに、例えば電圧や静電容量等の、記憶素子のセットのその他の特性も、適切な回路構成を用いることで、同様に測定することができる。例えば、電圧は電圧計を用いて測定することができ、静電容量は静電容量メータを用いて測定することができる。特性は、集合体を形成する複数の記憶素子の貢献を含むものであるが、必ずしも個別の記憶素子による貢献を考慮するものではない。ｘ軸は、制御ゲート電圧ＶＣＧを表しており、ｙ軸は記憶素子のセットの複合電流を表している。曲線１１００は、ＶＣＧによる電流の変化を表す。制御ゲートをゼロからそれ以上の電圧へとスィープさせていくときに、いくつかの特徴を認識することができる。具体的には、電流はＶＣＧが値Ｖ１に達するまではほぼゼロであり、その値に達すると、記憶素子が伝導状態に移行し始める。電圧Ｖ２に対応する電流Ｉ２に例示されるように、電流はこの時点において急速に増加してゆく。それよりも高い電圧Ｖ３に達した後に、電流はその最大レベルにおいてほぼ定常となる。すなわち、記憶素子はＶＣＧが記憶素子の閾電圧を超えて増大されることにより、非伝導状態から伝導状態へと状態を変化させる。ＶＣＧは、ＶＲＥＦ−ＩＮＩＴＩＡＬからＶＲＥＦ−ＦＩＮＡＬの範囲内で変化する。また、複合電流と伝導状態にある記憶素子の数は直接的な関連性を有することから、Ｙ軸は、伝導状態にある記憶素子数をも表している。
【００５９】
曲線１１００に表されるように、１つの実施形態においては、電流はＶＣＧが低く、すべての記憶素子が非伝導状態にある状態において、ゼロからスターする。図１０に関連して説明したように、最も低い状態にある記憶素子が伝導状態となったときに、電流は増加するとともに一定となる。各状態について、上記のサイクルが繰り返される。基本的に、複合電流は、記憶素子が新たに伝導状態に移行しないＶＣＧの値においてほぼ一定となり、より多くの記憶素子が伝導し始めることによって集約された電流に対して貢献するようになると増大する。このため、その集約された電流を測定することによって、図１１（ｂ）に示すように、記憶素子のセットに対する閾電圧分布を評価することが可能となる。これは、ＶＲ１ＡからＶＲ７Ａの、新たな読み出し基準電圧の最適な設定を決定する場合に用いることができる。
【００６０】
なお、新たな読み出し基準電圧ＶＲ１ＡからＶＲ７Ａにおいて隣り合う電圧間の間隔は、例えば図９ａ及び図９ｂに示したような制御ゲート電圧間の間隔よりも大きい。
【００６１】
図１１（ｂ）は、図１１（ａ）に基づく閾電圧分布を表わす図である。ｘ軸は、図１１（ａ）のＶＣＧに対応する閾電圧を表し、ｙ軸は記憶素子の数を表す。ここでは、図６ｂの拡大及び／又はシフトした閾電圧分布が繰り返されているが、現在の状態の閾電圧分布に適合した新たな読み出し基準電圧ＶＲ１ＡからＶＲ７Ａが設定されている。各読み出し基準電圧は、複合電流が相対的に定常となる電位で与えられてもよい。例えば、ＶＲ１Ａは、状態０と状態１の間の、曲線１１００がフラットになる位置に設定されている。１つの形態においては、読み出し基準電圧は、状態０の最上位と状態１の最下位の間の等価マージンを設定するために、複合電流のフラット領域の中央に設定される。同様に、ＶＲ２Ａは、状態１と状態２の間の曲線１１００がフラットになる位置に設定される。その他の新たな読み出し基準電圧についても、同様に設定することができる。
【００６２】
図６及び図７に関連して上述したように、曲線１１００を記述するデータは、例えばホストコントローラ又はその他の機器によって、新たな読み出し基準電圧を設定するために取得することができ、かつ、そのために処理することができる。測定が行われる頻度は、複合電流又はその他の特性について所望の結果が取得可能な値に設定することができる。一般的に、例えば、対応する読み出し基準電圧を用いること等により、各状態について複数の測定を行うことができる。これにより、各状態の閾電圧分布の境界の上限と下限を検知することができる。複数の測定は、また、一つの状態の上限境界とその次に高い状態の下限境界とを区別することを許容する。即ち、読み出し基準電圧は、記憶素子群の隣接する状態を区別するためにセットすることができる。例えば、読み出し基準電圧は、隣接する状態０と状態１の間の区別をするために設定することができるとともに、隣接する状態１と状態２の間等の区別をするために設定することができる。
【００６３】
さらに、曲線１１００によって表される情報は、連続的又は離散的なＶＣＧのスィープを用いることによって取得することができる。実際には、上記のいずれの場合においても、曲線１１００は異なるＶＣＧの値における複数の測定点から構成される。
【００６４】
図１２（ａ）は、段階的に増加する制御ゲート電圧の働きに対する記憶素子のセットの複合電流の様子を表わす図である。ｘ軸は制御ゲート電圧ＶＣＧを表し、ｙ軸は記憶素子のセットの複合電流を表す。曲線１２００は、ＶＣＧによる電流の変化を表す。制御ゲート電圧スィープは、図９ｂに示したような一連の固有値として用いることができる。より詳細な説明のために、状態３及び状態４の制御ゲート電圧スィープの部分拡大図を示す。各点は、複合電流の測定値を表している。上述したように、より多くの記憶素子が伝導状態に移行するとともに複合電流が増加し、その後に定常電流の領域において安定するという現象が周期的に生じることが見て取れる。
【００６５】
図１２（ｂ）は、図１２（ａ）に基づく閾電圧分布を表わす図である。ｘ軸は、図１２（ａ）のＶＣＧに対応する閾電圧を表し、ｙ軸は記憶素子の数を表す。点１２５０は状態３の閾電圧分布を表し、点１２５５は状態４の閾電圧分布を表す。ここでは、新たな読み出し基準電圧ＶＲ３Ａ、ＶＲ４Ａ、ＶＲ５Ａは図１２（ａ）の定常電流領域の中間点に設定されている。具体的には、ＶＲ３Ａは状態２と状態３の間の読み出し基準電圧であり、ＶＲ４Ａは状態３と状態４の間の読み出し基準電圧であり、ＶＲ５Ａは状態４と状態５の間の読み出し基準電圧である。この例においては、読み出し動作を１レベルにつき１０個の基準電圧を用いて行う場合と同様に、１０個の測定点が１つの状態につき用いられている。しかしながら、複数読み出し動作の場合とは反対に、複合電流のみの測定を要し、各記憶素子を読み出すための処理資源を必要としない。
【００６６】
図１３（ａ）は、段階的に増加する制御ゲート電圧に対する、伝導状態の記憶素子をロックアウトした状態での記憶素子のセットの複合電流の様子を表わす図である。ｘ軸は制御ゲート電圧を表し、ｙ軸は記憶素子のセットの複合電流を表す。曲線１３００はＶＣＧに対する電流の変化を表す。図７のステップ７１５で説明したように、複数の伝導状態の記憶素子の複合的な電流は、ワードラインに電圧スィープが印加されたときの電流強度の変化に対して大きいことから、閾電圧評価の精度が制限されてしまう。対応する選択記憶素子が伝導状態となることによって伝導状態となったビットラインを遮断する技術を用いて、閾電圧評価の精度を改善することができる。以下の例においては、状態毎に、１０個の固有の基準電圧が選択されたワードラインに印加され、基準電圧毎の複合電流が測定される。これは、各点によって図示されている。ある１つの基準電圧測定点において伝導状態となったビットラインは、その測定後に遮断される。このことにより、そのビットラインは次の複合電流の測定時の電流に対して何の貢献をも行わないようになる。実際の電流測定値は、閾電圧分布のそれと類似した形状となって表れてくる。
【００６７】
図１２（ａ）に示したように、制御ゲート電圧スィープは図９ｂに示した一連の固有値によって行うことができる。より詳細な説明のために、状態３及び状態４の制御ゲート電圧スィープの部分拡大図を示す。点１３００は状態３の複合電流の測定値を表し、点１３０５は状態４の複合電流の測定値を表している。各点は、かかる時点及びＶＣＧにおいて伝導状態となった記憶素子の複合電流を表している。
【００６８】
図１３（ｂ）は、図１３（ａ）に基づく閾電圧分布を表わす図である。ｘ軸は、図１３（ａ）のＶＣＧに対応する閾電圧を表し、ｙ軸は記憶素子の数を表す。点１３５０は状態３の閾電圧分布を表し、点１３５５は状態４の閾電圧分布を表す。新たな読み出し基準電圧ＶＲ３Ａ、ＶＲ４Ａ、ＶＲ５Ａは、図１３（ａ）の定常電流領域の中間に設定されている。この例においては、それぞれのＶＣＧの値に対して読み出し基準電圧が設定される。また、新たな読み出し基準電圧のセットにおいて、それぞれのＶＣＧの値の間に挿し込んで設定してもよい。
【００６９】
図１4は、図１や図２に示したようなＮＡＮＤフラッシュストレージエレメントのアレイを表わすブロック図である。各列では、ビットライン１４０６がＮＡＮＤストリング１４５０のドレン選択ゲートのドレン端子１４２６に接続されている。ＮＡＮＤストリングの各行では、ソースライン１４０４がＮＡＮＤストリングのすべてのソース端子１４２８ソース選択ゲートのソース端末１４２８に接続されている。ＮＡＮＤアーキテクチャアレイとメモリシステムの一部としてのその動作の一例が、米国特許第５，５７０，３１５号、第５，７７４，３９７号、第６，０４６，９３５号に記載されている。
【００７０】
記憶素子のアレイは、多数の記憶素子のブロックに分割されている。フラッシュＥＥＰＲＯＭシステムに見られるように、ブロックは消去の単位である。即ち、各ブロックは一括で消去される最少数の記憶素子を有している。各ブロックは概して複数のページに分割される。ページは、プログラミングの単位である。１つの実施形態では、個別のページがセグメントに分割され、そのセグメントが基本的なプログラミング動作によって一度に書き込まれる最小数の記憶素子を有していてもよい。１ページ又は複数ページのデータは、一般的に、１つの記憶素子の行に記憶される。１ページは、１つ又は複数のセクターを記憶することができる。セクターｈは、ユーザデータとオーバヘッドデータを含んでいる。オーバヘッドデータは、一般的に、そのセクターのユーザデータから計算されたエラー修正コード（ＥＣＣ）を含んでいる。コントローラ（後で詳述する）の一部は、データがアレイにプログラミングされているときにＥＣＣを計算し、そのデータがアレイから読み出されているときにそれをチェックする。代替的には、ＥＣＣ及び／又はその他のオーバヘッドデータは、それらと関連するユーザデータと異なるページか、あるいは異なるブロックに記憶されていてもよい。
【００７１】
ユーザデータのセクターは、一般的に５１２バイトであり、これは磁気ディスクドライブのセクターのサイズに対応している。オーバヘッドデータは一般的に、これに１６〜２０バイトを追加する。ページの多くは、例えば８ページから３２、６４、１２８もしくはそれ以上のページによって、ブロックを形成している。いくつかの実施例においては、ＮＡＮＤストリングの行は、ブロックを備えていてもよい。
【００７２】
さらに、ある例示においては、異なるＮＡＮＤストリングの記憶素子には、例えば共有ソースライン１４０４等を介して測定装置１４５４が接続されている。測定装置１４５４は、複合電流、電圧、静電容量、あるいは複数の記憶素子が所定の条件を満たすか否かを示すその他の特性を測定することができる。そのような条件は、例えば、記憶素子の閾電圧が所定値より上もしくは下であるか、あるいは、所定の範囲にあるか否かであってもよい。測定装置１４５４は、自身が検出した結果を記憶装置のコントローラに送信することができる。なお、測定装置１４５４はメモリアレイ１４００のその他のＮＡＮＤストリングのセットの特性を測定するのに用いられてもよいし、その他のＮＡＮＤストリングのセットには、別の測定装置が設けられていてもよい。
【００７３】
任意の実施形態においては、コントローラは、測定装置１４５４から受信した情報に対して、例えば、ビットライン１４０６、１４０７、及び／又は１４０８等のビットラインとそれに関連する記憶素子をロックアウトすることで応答してもよい。このことは、図１４に「ロックアウト」と示している。上述したように、一旦ビットライン又は記憶素子が伝導状態となるとそれはロックアウトされることになり、その後の測定に対して影響しなくなる。例えば、ビットラインは、関連する選択された記憶素子が非伝導状態となるように、接地されてもよい。
【００７４】
図１５は、記憶システムにおけるホストコントローラと記憶装置の概要を表す。記憶装置は、単体で記憶システムを構成してもよい。記憶素子１５０５は、記憶素子からのデータの読み出しや記憶素子へのデータの書き込み等のための専用のコントローラ１５１０を備える記憶装置１５００に設けられていてもよい。記憶装置は、例えば、ラップトップコンピュータ、デジタルカメラ、パーソナルデジタルアシスタント（ＰＤＡ）、デジタルオーディオプレーヤや携帯電話等のホストデバイスに挿入され、また取り外し可能なメモリーカードやＵＳＢフラッシュデバイス等に設けられていてもよい。ホストデバイスは、ユーザデータの読み出しや書き込み等の記憶装置とのやり取りのために、専用のコントローラを備えていてもよい。例えば、データを読み出す場合であれば、ホストコントローラは記憶装置に取得するユーザデータのアドレスを示すコマンドを送信することができる。記憶装置は、そのようなコマンドを記憶装置の制御回路系統において解読及び処理可能なコマンド信号に変換する。コントローラ１５１０は、また、メモリアレイから読み出され、あるいは書き込まれているデータを一時的に記憶するためのバッファメモリ１５１５を備えていてもよい。ホストコントローラは、記憶装置の外部の、あるいは周辺の機器であってもよい。記憶装置は、例えば、図１６ａ及び図１６ｂに関連して、１つ又は複数のメモリダイを備えていてもよく、ホストコントローラはその１つ又は複数のメモリダイの外部に存在してもよい。
【００７５】
記憶装置は、読み出しコマンドに対して、記憶素子からデータを読み出してホストコントローラに利用可能にすることで応答する。１つの可能なアプローチとして、記憶装置は、読み出しデータをバッファ１５１５に記憶し、ホストコントローラにそのデータが読み出し可能となった時に通知する。ホストコントローラは、バッファからそのデータを読み出し、別のアドレスからデータを読むための別のコマンドを記憶装置に送信する。例えば、データは、ページ毎に読み出されてもよい。ホストコントローラは読み出しデータを処理して、記憶装置の記憶素子群の閾電圧分布を設定してもよい。別のアプローチでは、記憶装置の制御回路構成が閾電圧分布を設定してもよい。さらに詳しい記憶装置の例を、以下に示す。
【００７６】
一般的な記憶システムは、コントローラ１５１０を含む集積回路チップと、それぞれがメモリアレイとそれに関連する制御系と、入力／出力と、ステートマシン回路を含む１つ又は複数の集積回路チップを備えている。記憶装置はホストシステムの一部として埋め込まれていてもよいし、ホストシステムの接続ソケットに脱着可能に挿入できるメモリーカードに設けられていてもよい。そのようなカードは、記憶装置と、コントローラと、メモリアレイと、関連する周辺回路の全部を備えていてもよいし、個別のカードに形成されていてもよい。
【００７７】
図１６ａは、単一の行／列デコーダと読み出し／書き込み回路を用いた不揮発性メモリシステムのブロック図である。図は、並列な記憶素子のページを読み出し、あるいはプログラミングするための読み出し／書き込み回路を備える記憶装置１６９６を、本発明の一実施形態として例示する。記憶装置１６９６は、１つ又は複数のメモリダイ１６９８を備えている。メモリダイ１６９８は、記憶素子１４００と、制御回路構成１６１０と、読み出し／書き込み回路１６６５の２次元アレイを備えている。いくつかの実施形態においては、記憶素子のアレイは、３次元であってもよい。メモリアレイ１４００は、行デコータ１６３０を介してワードラインによって通信することができるとともに、列デコーダ１６６０を介してビットラインによって通信することができる。読み出し／書き込み回路１６６５はセンスブロック１６００を備えており、記憶素子のページを並列的に読み出し又はプログラミングすることを許容する。一般的に、コントローラ１６５０は、１つ又は複数のメモリダイ１６９８と同じ記憶装置１９６９(例えば、脱着可能な記憶カード等)に含まれている。コマンドとデータは、ホストとコントローラ１６５０の間をライン１６２０を介して送受信され、コントローラと１つ又は複数のメモリダイ１６９８の間をライン１６２１を介して送受信される。
【００７８】
制御回路構成１６１０は読み出し／書き込み回路１６６５と協働して、メモリアレイ５００に対するメモリ動作を実行する。制御回路構成１６１０は、ステートマシン１６１２と、オンチップアドレスデコーダ１６１４とパワーコントロールモジュール１６１２を備えている。ステートマシン１６１２は、メモリ動作のチップレベルでの制御を行う。オンチップアドレスデコーダ１６１４は、デコーダ１６３０と１６６０によって用いられるハードウェアアドレスにして、ホスト又はメモリコントローラによって用いられるアドレスインターフェースを構成する。パワーコントロールモジュール１６１６は、メモリ動作中にワードラインとビットラインに供給されるパワーと電圧を制御する。例えば、パワーコントロールモジュール１６１６は選択ワードラインに制御ゲート読み出し電圧を印加し、読み出し動作中に用いる為に、未選択のワードラインに読み出しパス電圧を印加することができるとともに、記憶素子のセットの閾電圧分布を設定することができる。パワーコントロールモジュール１６１６は、また、選択ワードラインに電圧スィープをかけることができる。パワーコントロールモジュール１６１６は、この目的のために、例えば１つ又は複数のデジタル／アナログ変換器を備えていてもよい。この場合、制御回路構成は、外部のメモリダイ１６９８等の外部の試験機器を用いる必要なく電圧スィープを発生させることができる。これは、例えば記憶装置の製造後や、端末ユーザが記憶装置を購入したとき等を含めて、電圧スィープをいつでも発生させられるという利点を有する。さらに、記憶装置１６９６は、閾電圧分布の設定プロセスが外部の試験機器や外部ホスト等を用いずともメモリダイ１６９８の内部において実行されうるように、記憶素子のセットの閾電圧分布を設定するための回路構成を備えていてもよい。これは、外部装置を用いずに、閾電圧分布をいつでも設定できるという利点を有する。
【００７９】
いくつかの応用例においては、図１６ａに示した要素を組み合わせることができる。様々な設計において、記憶素子アレイ１４００以外の１つ又は複数の（単独あるいは組合せの）要素は、管理又は制御回路とすることができる。例えば、１つ又は複数の管理又は制御回路は、制御回路構成１６１０と、ステートマシン１６１２と、デコーダ１６１４／１６６０と、パワーコントロール１６１６と、センスブロック１６００と、読み出し／書き込み回路１６６５と、コントローラ１６５０と、ホストコントローラ１６９９等のいずれか１つ又は複数の組合せを備えていてもよい。
【００８０】
メモリアレイに記憶されているデータは、列デコーダ１６６０によって読み出され、Ｉ／Ｏラインとデータ入力／出力バッファ１６５２を介して外部のＩ／Ｏラインに出力される。メモリアレイに記憶されるプログラムデータは、外部のＩ／Ｏラインを介してデータ入力／出力バッファ１６５２に入力される。記憶装置を制御するためのコマンドは、コントローラ１６５０に入力される。コマンドデータは、どのような動作が要求されているのかをフラッシュメモリに通知する。入力コマンドは、制御回路構成１６１０に送信される。ステートマシン１６１２は、ＲＥＡＤＹ／ＢＵＳＹまたはＰＡＳＳ／ＦＡＩＬ等の、記憶装置の状態を出力する。記憶装置がビジー状態である場合には、新たな読み出し又は書き込みコマンドを受信することができない。
【００８１】
図１６ｂは、２組の行／列デコーダと読み出し／書き込み回路を用いた不揮発性メモリシステムのブロック図である。ここでは、図１６ａに示した記憶装置１６９６の応用例が示されている。アレイの両側では、それぞれの側におけるアクセスラインと回路の密度が半分に削減されるように、多様な周辺回路によるメモリアレイ１４００へのアクセスは、シンメトリーな態様によって適用されている。このため、行デコーダは行デコーダ１６３０Ａと１６３０Ｂに分けられており、列デコーダは列デコーダ１６６０Ａと１６６０Ｂに分けられている。同様に、読み出し／書き込み回路は、アレイ１４００の下方からビットラインに接続する読み出し／書き込み回路１６６５Ａとアレイ１４００の上方からビットラインに接続する１６６５Ｂに分けられている。この構成によると、読み出し／書き込みモジュールの密度を、基本的に半分に低減することができる。図１６ｂのデバイスは、また、図１６ａのデバイスについて説明したように、バッファ１６５２を備えたコントローラ１６５０を備えていてもよい。
【００８２】
図１７は、センスブロックの一実施形態を表わすブロック図である。図１６ａに示される個別のセンスブロック１６００は、センスモジュール１６８０と称するコア部と、共有部１６９０に分けられている。１つの実施形態では、各ビットラインについて個別のセンスモジュール１６８０が設けられているとともに、複数のセンスモジュール１６８０のセットについて１つの共有部１６９０が設けられていてもよい。一例として、１つのセンスブロックが１つの共有部１６９０と８個のセンスモジュール１６８０を備えていてもよい。グループ内の各センスモジュールは、関連する共有部とデータバス１６７２を介して通信する。さらなる詳細については、２００６年６月２９日に公開された「センス増幅器の集合の処理と共有される不揮発性メモリと方法：Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ  Ａｎｄ  Ｍｅｔｈｏｄ  Ｗｉｔｈ  Ｓｈａｒｅｄ  Ｐｒｏｃｅｓｓｉｎｇ  Ｆｏｒ  Ａｎ  Ａｇｇｒｅｇａｔｅ  Ｏｆ  Ｓｅｎｓｅ  Ａｍｐｌｉｆｉｅｒｓ」と題する米国特許出願公開第２００６／０１４０００７号に記載されており、この出願の全部は、参照により本明細書に援用される。
【００８３】
センスモジュール１６８０はセンス回路１６７０を備えており、接続されているビットラインにおける伝導電流が所定の閾レベルより上又は下であるのかを判断する。センスモジュール１６８０は、また、接続されたビットラインの電圧条件を設定するために用いられるビットラインラッチ１６８２を備えている。例えば、ビットラインラッチ１６８２に予め設定された状態によって、接続されたビットラインがプログラム抑制を指示する状態（例えば、ＶＤＤ）にプルされる。
【００８４】
共有部１６９０はプロセッサ１６９２と、データラッチのセット１６９４と、データラッチのセット１６９４とデータバス１６２０の間に連結されたＩ／Ｏインターフェース１６９６を備えている。プロセッサ１６９２は、演算を実行する。例えば、その１つの機能に、センスされた記憶素子に記憶されているデータを判断し、判断されたデータをデータラッチのセットに記憶させることがある。データラッチのセット１６９４は、プロセッサ１６９２によって読み出し動作中に判断されたデータビットを記憶するのに用いられる。このセットは、また、プログラミング動作中にデータバス１６２０から送信されてきたデータビットを記憶することにも用いられる。送信されてきたデータビットは、メモリにプログラミングされる書き込みデータを表している。Ｉ／Ｏインターフェース１６９６は、データラッチのセット１６９４とデータバス１６２０の間のインターフェースを提供する。
【００８５】
読み出しあるいはセンシングの間は、システムの動作は、アドレスされた記憶素子への異なる制御ゲート電圧の供給を制御するステートマシン１６１２の制御下にある。予め規定されており、メモリによってサポートされる様々なメモリ状態に対応する種々の制御ゲート電圧に切り替わることで、センスモジュール１６８０はそれらの電圧の１つにおいて動作し、バス１６７２を介して、センスモジュール１６８０からプロセッサ１６９２へと出力がなされる。
【００８６】
その時点で、プロセッサ１６９２は、センスモジュールの動作イベントと、入力ライン１６９３を介してステートマシンから印加された制御ゲート電圧の情報を考慮して、結果として得られたメモリ状態を判断する。そして、メモリ状態を２値符号化し、その結果データをデータラッチ１６９４に記憶する。コア部の別の実施形態では、ビットラインラッチ１６８２が、センスモジュール１６８０の出力をラッチするためのラッチと、上述したビットラインラッチとしての２つの役割を果たす。
【００８７】
いくつかの応用例においては、複数のプロセッサ１６９２を備えていてもよい。１つの実施形態では、各プロセッサ１６９２は出力ライン（図示せず）を備えており、それぞれの出力ラインがともにワイヤードＯＲ接続されている。いくつかの実施形態では、出力ラインはワイヤードＯＲラインに接続される前に逆転される。このような構成によって、ワイヤードＯＲを受信するステートマシンが、プログラムされる全てのビットが所望のレベルに達したか否かを判断することができることから、プログラムベリフィケーションプロセス中又はプログラミングプロセスが完了したときに迅速な判断が可能となる。例えば、各ビットが所定のレベルに達した場合には、そのビットについて理論値ゼロがワイヤードＯＲラインに送信される（又は、１のデータが逆転される）。全てのビットが０のデータを出力すると（又は１のデータが逆転されると）、ステートマシンはプログラミングプロセスを終了させる。各プロセッサが８個のセンスモジュールと通信するために、ステートマシンはワイヤードＯＲラインを８回読み出すか、あるいは、プロセッサ１６９２に関連するビットラインの結果を集めるためのロジックが追加され、ステートマシンがワイヤードＯＲラインを１回だけ読み出せばよいようにする。同様に、ロジックレベルを正しく選択することで、グローバルステートマシンは最初のビットがその状態を変化したことを検知し、それに応じてアルゴリズムを変更することができる。
【００８８】
プログラミング又はベリファイ中に、プログラムされるデータはデータバス１６２０からデータラッチのセット１６９４に記憶される。プログラム動作は、ステートマシンの制御下において、アドレスされた記憶素子の制御ゲートに印加される一連のプログラミング電圧パルスを備えている。それぞれのプログラミングパルスにはリードバック（ベリファイ）が後続し、記憶素子が所定のメモリ状態にプログラムされたか否かを判断する。プロセッサ１６９２は所定のメモリ状態について、リードバックメモリステートをモニターする。それらの両者が一致すると、プロセッサ１６９２は、ビットラインがプログラム抑制を指定する状態にプルされるように、ビットラインラッチ１６８２をセットする。このことにより、仮にプログラミングパルスがその制御ゲートに現れた場合であっても、ビットラインに接続される記憶素子がさらにプログラミングされることを防止する。その他の実施形態においては、プロセッサは最初にビットラインラッチ１６８２をロードし、ベリファイプロセスにおいて、センス回路構成がそれを抑制値にセットしてもよい。
【００８９】
データラッチスタック１６９４は、センスモジュールに対応するデータラッチのスタックを有する。１つの実施形態では、１つのセンスモジュール１６８０に対して、３つのデータラッチが存在する。いくつかの応用例では、必須ではないものの、そこに記憶されている並列データがデータバス１６２０のために直列データに変換されるように、またはその逆の用途のために、シフトレジスタとしてデータラッチが用いられる。より好ましい実施形態では、ｍ個の記憶素子のブロックの読み出し／書き込みブロックに対応する全てのデータラッチが、シフトレジスタのブロックを構成するようにリンクされる。このことにより、データのブロックが直列転送によって入力又は出力できる。特に、ｒの読み出し／書き込みモジュールバンクを用いて、そのデータラッチのセットのそれぞれがデータバスに、あるいはデータバスから、読み出し／書き込みブロック全体のシフトレジスタの一部であるかのように、データを連続してシフトする。
【００９０】
不揮発性記憶装置のその他の情報は、（１）２００７年３月２７日に発行された「ソースラインバイアスエラーを低減した不揮発性メモリと方法：Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ  Ａｎｄ  Ｍｅｔｈｏｄ  Ｗｉｔｈ  Ｒｅｄｕｃｅｄ  Ｓｏｕｒｃｅ  Ｌｉｎｅ  Ｂｉａｓ  Ｅｒｒｏｒｓ」と題する米国特許第７，１９６，９３１号、（２）２００６年４月４日に発行された「センシングを改良した不揮発性メモリと方法：Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ  Ａｎｄ  Ｍｅｔｈｏｄ  Ｗｉｔｈ  Ｉｍｐｒｏｖｅｄ  Ｓｅｎｓｉｎｇ」と題する米国特許第７，０２３，７３６号、（３）２００６年５月１６日に発行された「低電圧動作のためのメモリセンシング回路と方法：Ｍｅｍｏｒｙ  Ｓｅｎｓｉｎｇ  Ｃｉｒｃｕｉｔ  Ａｎｄ  Ｍｅｔｈｏｄ  Ｆｏｒ  Ｌｏｗ  Ｖｏｌｔａｇｅ  Ｏｐｅｒａｔｉｏｎ」と題する米国特許第７，０４６，５６８号、（４）２００６年１０月５日に公開された「Ｃｏｍｐｅｎｓａｔｉｎｇ  Ｆｏｒ  Ｃｏｕｐｌｉｎｇ  Ｄｕｒｉｎｇ  Ｒｅａｄ  Ｏｐｅｒａｔｉｏｎｓ  Ｏｆ  Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ」と題する米国特許出願公開第２００６／０２２１６９２号明、（５）２００６年７月２０日に公開された「不揮発性メモリのための基準センス増幅器：Ｒｅｆｅｒｅｎｃｅ  Ｓｅｎｃｅ  Ａｍｐｌｉｆｉｅｒ  Ｆｏｒ  Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ」と題する米国特許出願公開第２００６／０１５８９４７号に記載されている。上記の５つの出願の全部は、参照により本明細書に援用される。
【００９１】
標準的なＮＡＮＤデバイスでは、読み出し基準電圧は製造者によってプリセットされ、ユーザによって変更することはできない。いくつかのデバイスにおいては、コマンドを発行することによってユーザが読み出し電圧を変更することができるが、これは柔軟性を欠いており、それぞれが個別の基準のリセットを要する多数の読み出しを必要とする全体のヒストグラムを生成するような場合には手間である。この明細書で説明した手法によると、ヒストグラムに必要とされる読み出しの生成を制御するほぼ全ての動作を、メモリダイを用いて、相対的に少ないフラッシュコントローラの干渉でもって行う効率的な方法（実際には、個別のセルの読み出しがなく、閾電圧の間におけるそれらの数を数えるものであり、よりよい方法である）を提供する。
【００９２】
フラッシュダイの内部に多数のセルの電流又は電圧を集計するための新たな回路モジュールが必要となることがあるものの、これは、克服法として優れている。しかしながら、メモリダイにそれほどに構成を要求せずに、フラッシュコントローラにより負荷をかけるとともに、上述のアプローチよりも手間がかからないその他の手法も存在する。例えば、１つの手法では、ヒストグラムに必要とされる読み出しのシーケンスを、読み出しステップ毎に次の読み出しレベルを指定することなく、効率よく処理するためのコマンド等の新たな専用コマンドをメモリに追加することに基づく。
【００９３】
図１８は、読み出し処理を実行するための処理を表わすフローチャートである。一般的に、読み出し動作は、例えば上述したページアドレス等の、所定のアドレスにおいてデータを読み出すように、コントローラが記憶装置にコマンドを送信することを含む。しかしながら、いくつかの状況においては、記憶装置は、読み出し動作を少なくともその一部において自律的に行うことが望ましい。ここでは、コントローラから各読み出し基準電圧が逐一していされるのではなく、記憶装置が１つ又は複数の読み出し基準電圧を生成する技術について説明する。この技術は、記憶装置に直前の読み出し時とは異なる基準電圧を用いて記憶素子のセットの読み出しを行わせるコマンドを記憶装置に送信することを含む。この新たな読み出し基準値は、記憶装置の外部において個別設定されるものではない。この技術は、例えば、記憶素子のセットの閾電圧分布の設定に用いることができる。
【００９４】
例示するプロセスでは、ステップ１８００では記憶装置が第１コマンドを受信する。例えば、これは読み出しを行う記憶素子のページのアドレスを特定する読み出しコマンドであってもよい。コマンドは、第１読み出し基準電圧を含んでいてもよい。また、記憶装置は第１読み出し基準電圧を予め設定していてもよい。ステップ１８０５では、第１コマンドに応答して、記憶装置が第１読み出し基準電圧ＶＲＥＦ１を用いて、読み出し動作を実行する。読み出されるデータは、例えば、上述したようにバッファに記憶されてもよく、記憶装置はコントローラにデータがバッファより取得可能であることを通知してもよい。ステップ１８１０では、記憶装置が第２コマンドを受信する。例えば、これは読み出しを行う記憶素子の別のページのアドレスを特定する読み出しコマンドであってもよい。ステップ１８１５では、例えば第１コマンドを受信する前に取得した情報等の、これまでに取得した情報を用いて、記憶装置は第２読み出し基準電圧ＶＲＥＦ２を生成する。
【００９５】
例えば、記憶装置は、ＶＲＥＦ２を＝ＶＲＥＦ１+ＶＳＴＥＰ又はＶＲＥＦ２＝ＶＲＥＦ１+ｎ＊ＶＳＴＥＰから生成するために、電圧のステップの大きさＶＳＴＥＰを予め設定していてもよい。このとき、ｎは係数、あるいは、「ｆ」がなんらかの関数を表す一般的な関係ＶＲＥＦ２＝ｆ（ＶＲＥＦ１）からなる。このため、１つのアプローチでは、記憶装置は、異なる読み出し基準電圧を第１読み出し基準電圧に基づいて設定する場合に、第２コマンド又はその他のコマンドとともにＶＲＥＦ２を受信せずに、事前に取得した情報を用いてもよい。記憶装置に予め設定される情報は、外部コントローラによって供給される必要がないように、ビルトインであってもよい。ステップ１８２０では、第２コマンドに応答して、記憶装置はＶＲＥＦ２を用いて読み出し動作を実行する。このプロセスは、異なる読み出し基準電圧における以降の読み出し動作についても同様に継続されてもよい。別の実施形態では、段階の大きさは、第１読み出しコマンドの一部として、又は個別のコマンドとして、コントローラによってセットされてもよい。１つの応用例においては、記憶装置はＶＲＥＦ１のみを利用して、第１コマンドに応じて記憶素子を読み出し、第２コマンドに対してはＶＲＥＦ２のみを利用して記憶素子を読み出してもよい。
【００９６】
図１９は、閾電圧分布を決定するための処理を表わすフローチャートである。一般的に、セル電圧分布（ＣＶＤ）とも言われる閾電圧分布のフラッシュメモリデバイスにおける測定は、リアルタイムなフラッシュ動作管理においても、また、最新技術を用いたフラッシュ機器の試験、有効性実証、確認、品質試験時においても重要なツールである。このため、閾電圧分布を演算する効率的な技術は利用価値がある。閾電圧分布は、外部のアナログ機器または複雑なフラッシュデバイスの内部テストシーケンス等を用いて、主にデバイスの評価のために用いられていた。しかしながら、そのようなアプローチは柔軟性に乏しく、リアルタイムのフラッシュ管理作業や製造テスト等の、時間的な制約の大きい「オンライン」な用途への適用を効率的に行うことができない。ここに提供される技術は、これらの問題に対処して閾電圧分布を効率よく測定するものである。
【００９７】
応用例の一例として、記憶装置は、初期読み出し基準電圧ＶＲＥＦと電圧のステップ幅ＶＳＴＥＰを与えられており、これにより、新たな読み出し基準電圧を、例えば、ＶＲＥＦ＝ＶＲＥＦ+ＶＳＴＥＰという関係から設定する。即ち、ＶＳＴＥＰは閾電圧分布が設定される単位を表している。なお、閾電圧分布を設定するためのステップ幅は、プログラミングシーケンスにおいて用いられるそれと同一である必要はない。ステップ１９００では、例えば外部ホストコントローラ等のコントローラが、閾電圧分布の設定のための処理を開始する。この処理は、例えば、プログラミング−消去サイクルの回数や、温度変化、ユーザデータが記憶装置に記憶されてからの経過時間、ビットエラーもしくはその他の読み出し動作に関連するエラーの回数、より優先度の高いタスクが実行されているか否か等に基づいて実行されてもよい。ステップ１９０５では、コントローラは記憶装置に初期読み出し基準電圧ＶＲＥＦ−ＩＮＩＴＩＡＬとステップ幅ＶＳＴＥＰを１つ又は複数のコマンドによって提供する。または、記憶装置は、ＶＲＥＦ−ＩＮＩＴＩＡＬ及び／又はＶＳＴＥＰを、１つ又は複数のコマンドを受信する前に、予め設定していてもよい。記憶装置に予め設定される情報は、外部コントローラによって供給される必要がないように、ビルトインであってもよい。
【００９８】
いずれの場合であっても、ＶＲＥＦ−ＩＮＩＴＩＡＬ及び／又はＶＳＴＥＰは、記憶装置が記憶素子のセットを読み出すための、連続する多数の読み出し基準値を生成するのに充分な情報をもたらす。なお、ＶＳＴＥＰは正であっても、負であってもよく、記憶装置は前者の場合には選択されたワードラインに印加する電圧を昇順のステップで生成し、後者の場合には降順のステップで生成する。記憶装置は、その他の電圧シーケンスに関する情報を受信又は予め設定することもできる。例えば、そのような情報は、複数のステップ幅を規定することができる。例えば、第１グループと第２グループに属する状態の閾電圧分布を、それぞれ、第１及び第２ステップ幅を用いて設定したい場合がある。このような場合に、得られた情報からは、例えば、第２ステップ幅に切り換えるまでに、第１ステップ幅によっていくつ読み出し動作が実行されたのかを規定することができる。
【００９９】
ステップ１９１０では、コントローラは、記憶装置に読み出しコマンドを送信する。読み出しコマンドは、例えば、読み出す記憶素子のページのページアドレスを含んでいてもよい。読み出しコマンドはＶＲＥＦ−ＩＮＩＴＩＡＬ及び／又はＶＳＴＥＰを含んでいてもよいし、これらとは個別のコマンドであってもよい。図１９のステップ１９１５の第１通過時においては、記憶装置は現在の読み出し基準値ＶＲＥＦをＶＲＥＦ−ＩＮＩＴＩＡＬに設定する。ステップ１９２５では、記憶装置は選択されたワードラインにＶＲＥＦを印加して、読み出し動作を実行する。読み出されたデータは、上述したように、記憶装置のバッファに記憶される。１つのアプローチにおいては、読み出されたデータは、例えば、伝導状態にあるセルの数等の、記憶素子のセットの全体的な特性を表している。読み出されたデータは、さらに、個別の記憶素子が伝導状態又は非伝導状態にあるといったような、個別の記憶素子の行動に関する情報を提供することができる。
【０１００】
ステップ１９３０では、記憶装置はコントローラに読み出したデータがバッファに利用可能であることを、例えば、ＲＥＡＤＹ信号等をセットすること等により通知する。ステップ１９３５では、コントローラは、例えば読み出し等により、読み出されたデータをバッファから取得開始する。ステップ１９４０の判断においては、最後の読み出し基準電圧に達しておらず、ループがステップ１９１０に戻る場合には、そこで、コントローラが次の読み出しコマンド（例えば「継続」コマンド）を記憶装置に送信する。このサイクルにおいては、ステップ１９２０において、記憶装置が現在の値ＶＲＥＦをＶＳＴＥＰによってインクリメントする。ステップ１９２５から１９３５が、続いて繰り返される。ステップ１９４０の判断において、最後の読み出し基準電圧に達した場合には、コントローラは「読み出し停止」コマンドを記憶装置に送信する（ステップ１９４５）。ステップ１９５０では、図７〜１４に関連して上述したように、コントローラは閾電圧分布を決定し、それに応じた新たな読み出し基準電圧をセットする。上述したように、新たな読み出し基準電圧は記憶素子群の閾電圧の拡張やシフトに対応することができ、より正確な読み出し動作を行うことができる。
【０１０１】
なお、その他のアプローチにおいては、ステップ１９４５で言及した「停止」コマンドを必要としない。例えば、コントローラは単に、読み出しのシーケンスを、例えば読み出しや書き込み等の、別の（レギュラーの）コマンドを送信することによって打ち切ってもよい。明確な停止コマンドを用いて行えないことはない（「キャッシュで読み出し」するシーケンスが、これと同様の働きをする）が、これは必須のものではない。このように、「停止」コマンドの使用は単なる例示であり、本発明を実施するに当たってコマンドは必須のものではない。
【０１０２】
具体的な応用例においては、閾電圧分布を効率よく測定する技術は、動作シーケンスと記憶装置に用いられるコマンドであって、関連するコマンドのセットと、コントローラの計数と演算処理を備えていてもよい。動作シーケンスは、指定されたフラッシュページ又はその他の記憶素子のセットの連続読み出しを可能とするとともに、読み出し閾値を読み出し動作毎に自動的にインクリメントする。このため、読み出し閾電圧領域に対して、「スキャン」の種類を発生させる。この「スキャン」のパラメータである初期読み出し閾値ＶＲＥＦ−ＩＮＩＴＩＡＬや、閾ステップ幅ＶＳＴＥＰは、コントローラによって、コマンドが実行される前に記憶装置にロードされる。
【０１０３】
現行の読み出し動作（「スキャン」における１ステップ）が完了すると、記憶装置はコントローラに新たな読み出しデータが処理可能であることを通知する。コントローラは、次の読み出しステップのために「継続」コマンドを発行するか、このステップが最後であることを知らせる「動作終了」（例えば、「読み出し停止」）コマンドを発行する。さらなる時間短縮の方法として、コントローラは、「キャッシュで読み出し」動作と同様に、記憶装置が現在のステップを実行している間に、以前のステップのデータを読み込んでもよい。
【０１０４】
一般的に、記憶素子のグループ（通常は記憶素子のページ又はブロック）の閾電圧分布は、記憶素子群の閾電圧のヒストグラムである。その例を、図６ａや６ｂに示している。このように、閾電圧分布を取得するためには、各電圧の「ビン」について、その「ビン」において閾電圧を持つ記憶素子の数を取得する。これは、記憶素子をヒストグラムの電圧ビンと同数の複数の異なる読み出し基準電圧によってセンシングして取得することができる。センシングは、例えば記憶素子が伝導状態となるか否か、あるいは、記憶素子の特性を把握すること等の、記憶素子の読み出し基準電圧の印加に対する反応を判断することを含む。このため、ビンの数をＮとすると、閾電圧分布の開始電圧はＶＲＥＦ−ＩＮＩＴＩＡＬであり、ビンの大きさがＶＳＴＥＰであることになる。これにより、センシング動作は以下の読み出し基準電圧によって実行することができる：ＶＲＥＦ−ＩＮＩＴＩＡＬ、ＶＲＥＦ−ＩＮＩＴＩＡＬ+ＶＳＴＥＰ、ＶＲＥＦ−ＩＮＩＴＩＡＬ+２＊ＶＳＴＥＰ、…、ＶＲＥＦ−ＩＮＩＴＩＡＬ+（Ｎ−１）＊ＶＳＴＥＰ。読み出し閾値を変化させることで、Ｎバイナリ読み出し動作の結果が得られる。
【０１０５】
仮に、記憶装置が読み出し閾値を読み出し動作についてセットすることをサポートしている場合には、上述した処理を、読み出し閾値をセットする為のコマンド（又は複数のコマンド）に続くＮ個の読み出しコマンドを発行することでじ実行できる。
【０１０６】
要するに、閾電圧分布を設定するために必要な読み出し動作を効率的に行うアプローチでは、記憶装置と、センシング動作のための読み出し閾値を実質的に自律生成することが可能なメカニズムとコマンドを用いる。１つのアプローチでは、上述したように、コントローラは記憶装置に初期の読み出し基準電圧ＶＲＥＦ−ＩＮＩＴＩＡＬを提供し、センス電圧ステップであるＶＳＴＥＰもしくはΔＶを用いて、「読み出し閾電圧分布」コマンドを発行し、センスデータが記憶装置のバッファで利用可能であるのか否かを示すＲｅａｄｙ／Ｂｕｓｙ信号をモニタリングする。信号によりＲｅａｄｙ状態では、コントローラがバッファからセンスデータを読み出し可能であることを示す。信号によりＢｕｓｙ状態では、コントローラがバッファからセンスデータを読み出し不可であることを示す。一旦読み出しデータを取得すると、次の測定点を読み出すことができる。
【０１０７】
閾電圧分布を設定するためのコマンドシーケンスの一例を以下に示す。実際に用いられるコマンドは、その適用形態に依存する。ＶＲＥＦ−ＩＮＩＴＩＡＬとＶＳＴＥＰを提供するとともに閾電圧分布を設定するためのスキャンパラメータを設定するコマンドは、以下の通りである：
ＣＭＮＤ１―Ａｄｄｒ―Ｄａｔ‐１―Ｄａｔ‐２
「ＣＭＮＤ１」は記憶装置の内部パラメータを修正するためのコマンドである。「Ａｄｄｒ」はＤａｔ‐１とＤａｔ‐２を記憶装置に記憶するアドレスである。「Ｄａｔ‐１」はＶＲＥＦ−ＩＮＩＴＩＡＬであり、「Ｄａｔ‐２」はＶＳＴＥＰである。例えば、Ｄａｔ‐１は、０〜２５５の範囲の値と適切な分解能を持つバイトであってもよい。Ｄａｔ‐２もまた、０〜２５５の範囲の値を持つバイトであり、１つの実施携帯においては、記憶装置が処理可能な最小単位の分解能を持っていてもよい。別のオプションとして、例えば、ＶＲＥＦ−ＩＮＩＴＩＡＬとＶＳＴＥＰについて、以下のように個別のコマンドを用意することもできる：
コマンド１：ＣＭＮＤ１―Ａｄｄｒ‐１―Ｄａｔ‐１
コマンド２：ＣＭＮＤ１―Ａｄｄｒ‐２―Ｄａｔ‐２
ここでは、Ａｄｄｒ‐１がＤａｔ‐１を記憶装置に記憶するアドレスであり、Ａｄｄｒ‐２がＤａｔ‐２を記憶装置に記憶するアドレスである。
【０１０８】
利用可能なコマンド読み取りシーケンスは、以下の通りであってもよい：
ＣＭＮＤ２−Ｄａｔａ＿Ａｄｄｒ−ＣＭＮＤ３−Ｂ／Ｒ−Ｒｅａｄ  Ｄａｔａ−ＣＭＮＤ４−Ｂ／Ｒ−Ｒｅａｄ  Ｄａｔａ−ＣＭＮＤ４...−Ｂ／Ｒ−ＣＭＮＤ５−Ｂ／Ｒ−Ｒｅａｄ  Ｄａｔａ
ＣＭＮＤ２は、コマンドが読み出しコマンドであることを知らせるコードワードである。Ｄａｔａ＿Ａｄｄｒは、記憶素子のセットの、たとえばページアドレス等のアドレスである。ＣＭＮＤ３はその読み出しが閾電圧分布のためであることを示す。ＣＭＮＤ２と、Ｄａｔａ＿Ａｄｄｒと、ＣＭＮＤ３は、コントローラから記憶装置へと送信されるコマンドである。「Ｂ／Ｒ（Ｂｕｓｙ／Ｒｅａｄｙ）」は、記憶装置によってセットされ、コントローラによってモニターされるビジーまたはレディの状態を示す。Ｂｕｓｙ／Ｒｅａｄｙ状態がビジー状態となった後にレディ状態に戻ると、これは、記憶装置のバッファにセンスデータが読み出し利用可能となっていることをコントローラに示す。「Ｒｅａｄ  Ｄａｔａ」は記憶装置からのデータの読み出しを示している。ＣＭＮＤ４は、コントローラによって発行された「閾電圧分布を継続」コマンドを表わす。記憶装置は、このコマンドに応じて次の読み出しを実行する。ＣＭＮＤ５は、現在の読み出し動作後の読み出しプロセスを停止させるために、コントローラから記憶装置に送信されるコマンドである。なお、ここ示したコマンド構文は単なる例示であり、所定の用途に応じて多様に変更されうるものである。
【０１０９】
上述したアプローチによって、コントローラは先ずＶＲＥＦ−ＩＮＩＴＩＡＬとＶＳＴＥＰをセットする。コントローラは、次いで、通常の読み出しに類似する閾電圧分布読み出しコマンドシーケンスを発行し、レディ信号を待ってから、バッファよりデータをシフトする。現在実行されている読み出し動作と読み出しデータのキャッシュバッファへの送信が完了すると、記憶装置は読み出し基準電圧をＶＳＴＥＰによってインクリメントし、次の読み出し閾電圧分布動作を開始する。直前の読み出しの結果のシフトアウトに続いて、コントローラは「継続」コマンド（ＣＭＮＤ４）または終了コマンド（ＣＭＮＤ５）のいずれかを発行する。記憶装置がＣＭＮＤ５コマンドを受信すると、通常のキャッシュを用いた読み出しと同様に、現在実行している読み出し動作以降の読み出しプロセスを停止する。この場合、コントローラは、ＣＭＮＤ５コマンドに後続するＢ／Ｒ状態によって、最後のページをシフトアウトすることができる。
【０１１０】
なお、この例示的アプローチは「継続」コマンド（ＣＭＮＤ４）がコントローラがデータを読み出した後にのみ送信されることから、キャッシュを用いていない。「キャッシュされた」手法を用いるためには、（各繰り返しにおいて）ＣＭＮＤ４が「データ読み出し」オペレーションよりも前に送信されなければならない。図２０に関連して説明する別のアプローチでは、キャッシュに類似した手法を用いて読み出しのシーケンスを実行している。言い換えれば、メモリダイからコントローラへの結果Ｎの送信は、メモリの結果（Ｎ+１）のローディングと平行して実行される。これは、通常のＮＡＮＤ型デバイスにおいて「リード・アンド・キャッシュ」がどのように動作するのかということに類似している。これらの両方のアプローチが採用可能であるが、キャッシュされた手法の方が高速である場合がある。
【０１１１】
図２０は、記憶素子からデータを読み取ってホストコントローラにそのデータを送信するまでの処理を経時的に表わす図である。時間ｔ１では、ホストコントローラは記憶装置に向けて読み出しコマンドを発行する。これに応じて、記憶装置は読み出し動作を行うとともに、例えばデータ１をそのバッファに記憶する。Ｂｕｓｙ／Ｒｅａｄｙ（Ｂ／Ｒ）信号がセットされ、これに応じて、ホストコントローラは時間ｔ２において継続コマンドを発行し、バッファからデータ１を読み出し始める。継続コマンドに応答して、記憶装置は別の読み出し動作を実行し、例えばデータ２をそのバッファに記憶する。即ち、ホストコントローラによるバッファからのデータの読み出しは、少なくともその一部が記憶装置の新たなデータの読み出しと同時に実行することができる。同様に、ホストコントローラが時間ｔ３において発行した継続コマンドに応じてＢｕｓｙ／Ｒｅａｄｙ（Ｂ／Ｒ）信号が再度セットされ、バッファからのデータ２の読み出しが開始される。継続コマンドに応じて、記憶装置は別の読み出し動作を実行し、例えばデータ３等のデータをそのバッファに記憶する。このプロセスは、最後のデータが読み出されるまで繰り返される。
【０１１２】
本発明に関する前述の詳細な説明は、例証と説明を目的として提示されたものである。この説明は、本発明を上記において開示された形態にのみ制限することを意図するものではない。上記の教示に照らし合わせて、多様な改良や変更が可能である。上記において説明した実施形態は、本発明の原理とその実用的な応用例を最もよく説明するために選ばれたものであり、上記の記載に基づいて、本発明が他の当業者の意図する特定の用途に適するように、様々な実施形態及び改良された形態で利用可能となるようにしたものである。本発明の範囲は、本明細書に添付される請求項によって定義される。
【図面の簡単な説明】
【０１１３】
【図１】ＮＡＮＤストリングの平面図である。
【図２】図１のＮＡＮＤストリングに均等な回路図である。
【図３】ＮＡＮＤフラッシュストレージエレメントのアレイを表わすブロック図である。
【図４】基板上に形成されたＮＡＮＤストリングの断面図である。
【図５】記憶素子のブロックを表わす図である。
【図６ａ】記憶素子のセットの初期の閾電圧分布を表わす図である。
【図６ｂ】記憶素子のセットの拡大された閾電圧分布を表わす図である。
【図７】記憶素子のセットの特性を測定する処理を表わすフローチャートである。
【図８】図７の処理によって得られた特性を用いて読み出し基準電圧を設定する処理を表わすフローチャートである。
【図９ａ】連続的に増加する制御ゲート電圧を表わす図である。
【図９ｂ】段階的に増加する制御ゲート電圧を表わす図である。
【図１０】制御ゲート電圧の働きによって記憶素子の電流が変化する様子を表わす図である。
【図１１】（ａ）は連続的に増加する制御ゲート電圧に対する記憶素子のセットの複合電流の様子を表わす図であり、（ｂ）は（ａ）に基づく閾電圧分布を表わす図である。
【図１２】（ａ）は段階的に増加する制御ゲート電圧に対する記憶素子のセットの複合電流の様子を表わす図であり、（ｂ）は（ａ）に基づく閾電圧分布を表わす図である。
【図１３】（ａ）は段階的に増加する制御ゲート電圧に対する、記憶素子をロックアウトした状態での記憶素子のセットの複合電流の様子を表わす図であり、（ｂ）は（ａ）に基づく閾電圧分布を表わす図である。
【図１４】ＮＡＮＤフラッシュストレージエレメントのアレイを表わすブロック図である。
【図１５】ホストコントローラとメモリ装置の概要を表わす図である。
【図１６ａ】単一の行／列デコーダと読み出し／書き込み回路を用いた不揮発性メモリシステムのブロック図である。
【図１６ｂ】複数の行／列デコーダと読み出し／書き込み回路を用いた不揮発性メモリシステムのブロック図である。
【図１７】センサブロックの一実施形態を表わすブロック図である。
【図１８】読み出し処理を実行するための処理を表わすフローチャートである。
【図１９】閾電圧分布を決定するための処理を表わすフローチャートである。
【図２０】記憶素子からデータを読み取ってホストコントローラにそのデータを送信するまでの処理を経時的に表わす図である。
【図１】
2009026436.tif 000003
【図２】
2009026436.tif 000004
【図３】
2009026436.tif 000005
【図４】
2009026436.tif 000006
【図５】
2009026436.tif 000007
【図６ａ】
2009026436.tif 000008
【図６ｂ】
2009026436.tif 000009
【図７】
2009026436.tif 000010
【図８】
2009026436.tif 000011
【図９ａ】
2009026436.tif 000012
【図９ｂ】
2009026436.tif 000013
【図１０】
2009026436.tif 000014
【図１１】
2009026436.tif 000015
【図１２】
2009026436.tif 000016
【図１３】
2009026436.tif 000017
【図１４】
2009026436.tif 000018
【図１５】
2009026436.tif 000019
【図１６ａ】
2009026436.tif 000020
【図１６ｂ】
2009026436.tif 000021
【図１７】
2009026436.tif 000022
【図１８】
2009026436.tif 000023
【図１９】
2009026436.tif 000024
【図２０】
2009026436.tif 000025
【外国語明細書】
2009026436000001.pdf
2009026436000002.pdf
2009026436000003.pdf
2009026436000004.pdf