(57)【特許請求の範囲】
【請求項１】
記憶装置を構成する方法であって、
記憶装置内のマルチレベル記憶素子である不揮発性記憶素子（１２０５）の各組を、少なくとも２つの異なるレベルのプログラム状態にプログラムする工程であって、各組のうちの不揮発性記憶素子の一部が１つのプログラム状態を有し、各組のうちの残りの不揮発性記憶素子の少なくとも一部が他のプログラム状態を有するようにプログラムする工程と、
不揮発性記憶素子の各組について、前記少なくとも２つの異なるレベルのプログラム状態を含む範囲の閾値電圧分布を測定する工程と、
各閾値電圧分布に基づいて、不揮発性記憶素子の各組について、検証電圧と少なくとも１つの書き込み電圧とを含む電圧のセット（ＶＰＧＭ−ｉ，ＶＶ１−ｉ）であって、不揮発性記憶素子の各組の間で少なくとも部分的に異なる電圧のセットを特定する工程と、
電圧の各セットを表すデータを不揮発性記憶位置（１３５４）に記憶する工程と、
前記記憶する工程の後に、不揮発性記憶位置から電圧の各セットのうちの少なくとも１つのデータを取得する工程と、
電圧の各セットのうちの前記少なくとも１つのデータを用いて、不揮発性記憶素子の各組のうちの少なくとも１組について書き込み動作を実行する工程、
を備える方法。
【請求項２】
前記測定する工程では各組のプログラムディスターブの量を測定し、
前記特定する工程は、そのプログラムディスターブの量に基づいて実行される、
請求項１に記載の方法。
【請求項３】
前記プログラムディスターブの量は、全てのデータ状態が存在するページにおける消去状態の閾値電圧分布の幅に基づく請求項２に記載の方法。
【請求項４】
前記測定する工程と前記特定する工程と前記記憶する工程は、記憶装置がエンドユーザに向けて出荷されるよりも前に製造サイトで実行され、前記取得する工程と前記書き込み動作を実行する工程は、記憶装置がエンドユーザに向けて出荷された後に実行される請求項１に記載の方法。
【請求項５】
記憶装置の不揮発性記憶素子の異なるブロックに対して異なる電圧のセットが特定され、不揮発性記憶素子の各ブロックは不揮発性記憶素子の他のブロックから独立して消去可能である請求項１〜４の何れか一項に記載の方法。
【請求項６】
記憶装置の不揮発性記憶素子のワードラインの異なるグループに対して異なる電圧のセットが特定され、各グループは１つ又は複数のワードラインを備えている請求項１〜５の何れか一項に記載の方法。
【請求項７】
不揮発性記憶素子の各組についてプログラミング効果を判断する工程をさらに備え、
前記電圧は、初期プログラム電圧とステップサイズのうちの少なくとも一方を含む書き込み電圧を含んでおり、
プログラミング効果が平均よりも強い不揮発性記憶素子の組に対して書き込み電圧が減少される、
請求項１〜６のいずれか一項に記載の方法。
【請求項８】
電圧の前記セットは、読み出し電圧（ＶＲ−ｉ）をさらに含んでおり、
電圧の前記セットは、最も高いデータ状態の検証電圧レベルが修正される固定プログラムディスターブ方式を用いて特定される、
請求項１〜７のいずれか一項に記載の方法。
【請求項９】
プログラムディスターブの量が高すぎる場合に、最も高いデータ状態の検証電圧レベルが減少される請求項８に記載の方法。
【請求項１０】
電圧の前記セットは、読み出し電圧（ＶＲ−ｉ）をさらに含んでおり、
電圧の前記セットは、最も高いデータ状態の検証電圧レベルが固定される固定電圧ウィンドウ方式を用いて特定される、
請求項１〜７のいずれか一項に記載の方法。
【請求項１１】
電圧の前記セットは、読み出し電圧（ＶＲ−ｉ）をさらに含んでいる請求項１〜７及び９のいずれか一項に記載の方法。
【請求項１２】
マルチレベル記憶素子である不揮発性記憶素子（１２０５）の各組と、
不揮発性記憶位置（１３５４）と、
少なくとも１つの制御回路（１３５０）とを備えており、
前記少なくとも１つの制御回路は、
（ａ）不揮発性記憶素子の各組を、各組のうちの不揮発性記憶素子の一部が１つのプログラム状態を有し、各組のうちの残りの不揮発性記憶素子の少なくとも一部が他のプログラム状態を有するように、少なくとも２つの異なるレベルのプログラム状態にプログラムし、
（ｂ）不揮発性記憶素子の各組について、前記少なくとも２つの異なるレベルのプログラム状態を含む範囲の閾値電圧分布を測定し、
（ｃ）各閾値電圧分布に基づいて、不揮発性記憶素子の各組について、検証電圧と少なくとも１つの書き込み電圧とを含む電圧のセット（ＶＰＧＭ−ｉ，ＶＶ１−ｉ）であって、不揮発性記憶素子の各組の間で少なくとも部分的に異なる電圧のセットを特定し、
（ｄ）電圧の各セットを表すデータを不揮発性記憶位置に記憶し、
（ｅ）前記記憶する処理を行った後に、不揮発性記憶位置から電圧の各セットのうちの少なくとも１つのデータを取得し、電圧の各セットのうちの前記少なくとも１つのデータを用いて、不揮発性記憶素子の各組のうち少なくとも１組について書き込み動作を実行する、
記憶システム。
【請求項１３】
前記少なくとも１つの制御回路は、不揮発性記憶素子の各組についてプログラミング効果を判断し、
前記電圧は、初期プログラム電圧とステップサイズのうちの少なくとも一方を含む書き込み電圧を含んでおり、
プログラミング効果が平均よりも強い不揮発性記憶素子の組に対して書き込み電圧が減少される、
請求項１２に記載の記憶システム。
【請求項１４】
前記少なくとも１つの制御回路は、各組のプログラムディスターブの量を測定し、
前記特定する処理は、そのプログラムディスターブの量に基づいて実行される、
請求項１２に記載の記憶システム。
【請求項１５】
前記プログラムディスターブの量は、全てのデータ状態が存在するページにおける消去状態の閾値電圧分布の幅に基づく請求項１４に記載の記憶システム。
【請求項１６】
前記少なくとも１つの制御回路は、記憶システムの不揮発性記憶素子の異なるブロック、記憶システムの不揮発性記憶素子のブロックの異なるグループ、及び、記憶システムの不揮発性記憶素子のワードラインの異なるグループのうちの少なくとも１つについて異なる電圧のセットを特定し、
各グループは、１つ又は複数のワードラインを含む、
請求項１２〜１５の何れか一項に記載の記憶システム。
【請求項１７】
電圧の前記セットは、読み出し電圧（ＶＲ−ｉ）をさらに含んでおり、
電圧の前記セットは、最も高いデータ状態の検証電圧レベルが修正される固定プログラムディスターブ方式を用いて特定される、
請求項１２〜１６のいずれか一項に記載の記憶システム。
【請求項１８】
プログラムディスターブの量が高すぎる場合に、最も高いデータ状態の検証電圧レベルが減少される請求項１７に記載の記憶システム。
【請求項１９】
電圧の前記セットは、読み出し電圧（ＶＲ−ｉ）をさらに含んでおり、
電圧の前記セットは、最も高いデータ状態の検証電圧レベルが固定される固定電圧ウィンドウ方式を用いて特定される、
請求項１２〜１６のいずれか一項に記載の記憶システム。
【請求項２０】
電圧の前記セットは、読み出し電圧（ＶＲ−ｉ）をさらに含んでいる請求項１２〜１６及び１８のいずれか一項に記載の記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリデバイスに関する。
【背景技術】
【０００２】
半導体メモリは、様々な電子デバイスで使われることが一般的になってきている。例えば、不揮発性半導体メモリは、携帯電話、デジタルカメラ、パーソナルデジタルアシスタント、モバイルコンピュータ、非モバイルコンピュータ、及び他の装置に使用されている。電気的消去・書き込み可能型読出専用メモリ（ＥＥＰＲＯＭ）とフラッシュメモリは、最も普及している不揮発性半導体メモリである。フラッシュメモリでは、ある種のＥＥＰＲＯＭもそうであるが、通常のフル装備のＥＥＰＲＯＭとは異なり、全メモリアレイまたは一部分のメモリの内容を、１ステップで消去することができる。
【０００３】
通常のＥＥＰＲＯＭとフラッシュメモリは、半導体基板内のチャネル領域上に配置され、そのチャネル領域から絶縁されているフローティングゲートを採用している。フローティングゲートは、ソース領域とドレイン領域の間に配置されている。フローティングゲートの上に、そのフローティングゲートから絶縁されている制御ゲートが設けられている。形成されているトランジスタの閾値電圧（ＶＴＨ）は、フローティングゲート上に保持されている電荷量によって制御される。即ち、トランジスタをオンしてソースとドレインの間の導通させるために制御ゲートに印加すべき電圧の最小量は、そのフローティングゲート上の電荷量レベルにより制御される。
【０００４】
ある種のＥＥＰＲＯＭとフラッシュメモリデバイスは、２つの範囲の電荷量を蓄えるために使われるフローティングゲートを備えており、それゆえ、その記憶素子は、２つの状態、即ち、消去状態とプログラムされた状態、の間でプログラム／消去が行われる。そのようなフラッシュメモリデバイスは、各記憶素子が１ビットデータを記憶することができるので、バイナリフラッシュメモリデバイスと呼ばれることがある。
【０００５】
一般に、１セルあたりに１ビットを記憶するメモリは、シングルレベルセル（ＳＬＣ）メモリと呼ばれ、１セルあたりに２ビット以上を記憶するメモリは、マルチレベルセル（ＭＬＣ）メモリと呼ばれる。例えば、各ＭＬＣメモリ素子は、４つの異なる閾値電圧範囲に対応する４つの異なる電荷帯のうちの１つをとることで、２ビットのデータを記憶することができる。
【０００６】
通常、プログラム動作において制御ゲートに印加されるプログラム電圧ＶＰＧＭは、時間の経過に伴って大きさが増大する一連のパルスとして印加される。一つのアプローチとしては、パルスの大きさは、連続するパルスの１つ毎に、例えば０．２−０．４Ｖの既定のステップサイズずつ増加する。ＶＰＧＭは、フラッシュメモリ素子の制御ゲートに印加される。プログラムパルスとプログラムパルスの間の期間に検証動作が実行される。即ち、並列にプログラムされている素子グループの各素子のプログラムレベルは、連続するパルスとパルスの間に読み出され、素子がプログラムされている検証レベルと等しいか或いはそれ以上であるか否かが判定される。マルチステートフラッシュメモリ素子のアレイでは、素子の状態毎に検証処理が実行され、その素子がデータに対応する検証レベルに達したか否かが判定される。例えば、４つの状態のいずれかにデータを記憶可能なマルチステート記憶素子では、３つの比較点での検証動作が必要とされる。
【０００７】
さらに、ＥＥＰＲＯＭ、或いは、ＮＡＮＤフラッシュメモリデバイスのようなフラッシュメモリデバイスのＮＡＮＤストリングをプログラミングする場合は、通常は、制御ゲートにＶＰＧＭが印加されるとともにビットラインが接地され、それによって、セル、或いはメモリ素子（即ち、記憶素子）のチャネルからフローティングゲートへ電子が注入される。フローティングゲートに電子が蓄積されると、フローティングゲートが負値に帯電し、メモリ素子の閾値電圧が上昇し、メモリ素子がプログラムされた状態となる。そのようなプログラミングに関するさらなる情報は、「Source Side Self Boosting Technique For Non-Volatile Memory」と題した米国特許第６，８５９，３９７号、及び、「Detecting Over Programmed Memory」と題した２００５年２月３日公開の米国特許公開公報２００５／００２４９３９号に開示されている。両者の文献の内容は、その全体を参照することにより本明細書に組み込まれる。
【０００８】
さらに、読み出し動作中に、読み出される記憶素子の組に複数の読み出し基準電圧が印加され、どの読み出し基準電圧が記憶素子を導通させるのかについての判断がなされる。複数の読み出し基準電圧は、記憶素子のデータ状態が区別可能となるように設定される。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、プログラミング、検証、読み出しに用いられる電圧は、通常は固定されており、閾値電圧分布がばらつく可能性があるという点について考慮していない。例えば、閾値電圧分布は、プログラムディスターブ等の問題によりばらつくことがある。この結果、固定されたプログラミング、検証、読み出し電圧の使用により、不適切な性能が生じることがある。
【課題を解決するための手段】
【００１０】
本発明は、パフォーマンスを最適化するために、書き込み、読み出し、検証動作等の電圧レベルを設定する不揮発性記憶システムを提供する。
【００１１】
一実施形態では、記憶システムは、マルチレベル記憶素子である不揮発性記憶素子の各組と、不揮発性記憶位置と、少なくとも１つの制御回路を備える。少なくとも１つの制御回路は、（ａ）不揮発性記憶素子の各組について、それぞれの閾値電圧分布を測定し、（ｂ）各閾値電圧分布に基づいて、不揮発性記憶素子の各組について、不揮発性記憶素子の各組用にカスタマイズされている電圧の各セットを特定し、（ｃ）電圧の各セットを不揮発性記憶位置に記憶し、（ｄ）前述の記憶処理を行った後に、不揮発性記憶位置から電圧の各セットのうち少なくとも１つを取得して、電圧のセットのうちの前述の少なくとも１つを用いて、不揮発性記憶素子の各組のうち少なくとも１つについて書き込み動作を実行する。
【００１２】
別の実施形態では、記憶システムは、マルチレベル記憶素子である不揮発性記憶素子の各組と、不揮発性記憶位置と、少なくとも１つの制御回路を備える。少なくとも１つの制御回路は、（ａ）不揮発性記憶素子の各組について、それぞれの閾値電圧分布を測定し（この測定は不揮発性記憶素子の各組にデータを書き込むことを含んでいる）、（ｂ）各閾値電圧分布に基づいて、不揮発性記憶素子の各組について、不揮発性記憶素子の各組用にカスタマイズされている電圧の各セットを特定し、（ｃ）電圧の各セットを不揮発性記憶位置に記憶し、（ｄ）前述の記憶処理を行った後に、電圧のセットのうち少なくとも１つを不揮発性記憶位置から取得して、電圧のセットのうちの前述の少なくとも１つを用いて、不揮発性記憶素子の各組のうち少なくとも１つにアクセスする。
【００１３】
別の実施形態は、１組の個別の記憶装置を備える。それぞれの記憶装置は、１組又は複数組のマルチレベル記憶素子である不揮発性記憶素子と、それぞれの不揮発性記憶位置と、少なくとも１つの制御回路を備える。少なくとも１つの制御回路は、（ａ）記憶装置に含まれる１組又は複数組の不揮発性記憶素子について、それぞれの閾値電圧分布を測定し、（ｂ）各閾値電圧分布に基づいて、不揮発性記憶素子の各組について、それぞれの電圧のセットを特定し、（ｃ）不揮発性記憶素子の各組の各電圧のセットをそれぞれの不揮発性記憶位置に記憶し、（ｄ）前述の記憶処理を行った後に、電圧のセットのうち少なくとも１つを不揮発性記憶位置から取得して、電圧のセットのうちの前述の少なくとも１つを用いて、不揮発性記憶素子の各組のうち１組又は複数組にアクセスする。さらに、各電圧のセットはそれぞれの不揮発性記憶素子の組毎にカスタマイズされており、個別の記憶装置によって異なっている。
【００１４】
別の実施形態では、個別の記憶装置の組を備えている。それぞれの記憶装置は、１組又は複数組のマルチレベル記憶素子である不揮発性記憶素子と、それぞれの不揮発性記憶位置と、少なくとも１つの制御回路とを備えている。この少なくとも１つの制御回路は、（ａ）記憶装置の不揮発性記憶素子の１組又は複数組のそれぞれについて、１つ又は複数の閾値電圧分布を測定し、（ｂ）各閾値電圧分布に基づいて、不揮発性記憶素子の各組について電圧のセットを特定し、（ｃ）不揮発性記憶素子の各組のための電圧の各セットをそれぞれの不揮発性記憶位置に記憶し、（ｄ）前述の記憶処理を行った後に、電圧のセットのうち少なくとも１つを不揮発性記憶位置から取得して、電圧のセットの少なくとも１つを用いて、不揮発性記憶素子の各組のうち少なくとも１つをそれぞれの不揮発性記憶位置から取得する。さらに、それぞれの電圧のセットは、不揮発性記憶素子の各組にカスタマイズされており、個別の記憶装置間で異なっている。
【００１５】
ここで提供される方法を実行するような対応する方法、システム及びコンピュータ又はプロセッサに読み出し可能な記憶装置を提供することもできる。
【図面の簡単な説明】
【００１６】
【図１】ＮＡＮＤストリングの上面図である。
【図２】図１のＮＡＮＤストリングの等価回路図である。
【図３】ＮＡＮＤフラッシュ記憶素子のアレイのブロック図である。
【図４】基板に設けられたＮＡＮＤストリングの断面図である。
【図５】記憶素子のブロックを示す。
【図６ａ】１組の不揮発性記憶素子の初期の閾値電圧分布とこれに対応する検証及び読み出し電圧を示す。
【図６ｂ】プログラムディスターブを受けている１組の不揮発性記憶素子の閾値電圧分布を示す。
【図６ｃ】図６ｂの閾値電圧分布の測定とこれに対応する読み出し電圧のセッティングを示す。
【図７】プログラム電圧と検証電圧の一連のパルスを示す。
【図８ａ】プログラミングの間に利用可能な一連の書き込み又はプログラム電圧を示す。
【図８ｂ】不揮発性記憶素子の組毎にカスタマイズされた書き込み、検証、読み出し電圧を含むデータを示す。
【図９ａ】１組の不揮発性記憶素子の電圧を特定するプロセスを表す。
【図９ｂ】図９ａのプロセスによって特定された所定電圧を用いて１組の不揮発性記憶素子のユーザデータにアクセスするプロセスを表す。
【図９ｃ】複数組の不揮発性記憶素子の電圧を特定するプロセスを表す。
【図１０】図９ｃのプロセスによって特定された所定電圧を用いて複数組の不揮発性記憶素子のユーザデータにアクセスするプロセスを表す。
【図１１】ＮＡＮＤフラッシュ記憶素子のアレイのブロック図である。
【図１２】ホストコントローラと記憶装置の概略を表す図である。
【図１３】単一の行／列デコーダと読み出し／書き込み回路を用いる不揮発性記憶システムのブロック図である。
【発明を実施するための形態】
【００１７】
本発明は、パフォーマンスを最適化するために、書き込み、読み出し、検証用の動作等の電圧レベルを設定する不揮発性記憶システムを提供する。
【００１８】
本発明を適用するのに適した一つの記憶システムの一例は、２つの選択ゲート間に複数のトランジスタを直列配置したＮＡＮＤフラッシュメモリ構造を用いている。直列のトランジスタと選択ゲートは、ＮＡＮＤストリングと呼ばれる。図１は、１つのＮＡＮＤストリングの上面図である。図２は、その等価回路図である。図１、２に示されるＮＡＮＤストリングは、直列に接続されており、第１セレクトゲート１２０と第２セレクトゲート１２２に挟まれている４つのトランジスタ１００、１０２、１０４、１０６を備えている。セレクトゲート１２０は、ＮＡＮＤストリングのビットライン１２６への接続を開閉する。セレクトゲート１２２は、ＮＡＮＤストリングのソースライン１２８への接続を開閉する。セレクトゲート１２０は制御ゲート１２０ＣＧに適切な電圧を印加することで制御される。セレクトゲート１２２は制御ゲート１２２ＣＧに適切な電圧を印加することで制御される。各トランジスタ１００、１０２、１０４、１０６は、制御ゲートとフローティングゲートを備えている。トランジスタ１００は制御ゲート１００ＣＧとフローティングゲート１００ＦＧを備える。トランジスタ１０２は制御ゲート１０２ＣＧとフローティングゲート１０２ＦＧを備える。トランジスタ１０４は制御ゲート１０４ＣＧとフローティングゲート１０４ＦＧを備える。トランジスタ１０６は制御ゲート１０６ＣＧとフローティングゲート１０６ＦＧを備える。制御ゲート１００ＣＧはワードラインＷＬ３に接続されており、制御ゲート１０２ＣＧはワードラインＷＬ２に接続されており、制御ゲート１０４ＣＧはワードラインＷＬ１に接続されており、制御ゲート１０６ＣＧはワードラインＷＬ０に接続されている。制御ゲートは、ワードラインの一部として構成されてもよい。一実施形態では、トランジスタ １００、１０２、１０４、１０６のそれぞれは記憶素子であり、メモリセルと呼ばれることがある。別の実施形態では、記憶素子は複数のトランジスタを備えていてもよく、又は、図１、２に示される態様とは異なるものであってもよい。セレクトゲート１２０は、選択ラインＳＧＤ（ドレイン選択ゲート）に接続される。セレクトゲート１２２は、選択ラインＳＧＳ（ソース選択ゲート）に接続される。
【００１９】
図３は、３つのＮＡＮＤストリングの回路図である。ＮＡＮＤ構造を用いたフラッシュメモリシステムの典型的なアーキテクチャは、複数のＮＡＮＤストリングを備えている。例えば、多くのＮＡＮＤストリングを備えたメモリアレイの中の３つのＮＡＮＤストリング３２０、３４０、３６０が示されている。ＮＡＮＤストリングのそれぞれは、２つの選択ゲートと４つの記憶素子を備えている。４つの記憶素子は簡潔に図示されているものの、近年のＮＡＮＤストリングは、例えば最大で３２個又は６４個の記憶素子を有することができる。
【００２０】
例えば、ＮＡＮＤストリング３２０は選択ゲート３２２、３２７と記憶素子３２３〜３２６を備えており、ＮＡＮＤストリング３４０は選択ゲート３４２、３４７と記憶素子３４３〜３４６を備えており、ＮＡＮＤストリング３６０は選択ゲート３６２、３６７と記憶素子３６３〜３６６を備えている。それぞれのＮＡＮＤストリングは（例えば選択ゲート３２７、３４７、又は３６７等の）各自の選択ゲートによってソースラインに接続されている。選択ラインＳＧＳは、ソース側選択ゲートを制御するのに用いられる。ＮＡＮＤストリング３２０、３４０、３６０は、選択ゲート３２２、３４２、３６２等の選択トランジスタによって、ビットライン３２１、３４１、３６１にそれぞれ接続されている。これらの選択トランジスタは、ドレイン選択ラインＳＧＤによって制御される。他の実施形態では、選択ラインは複数のＮＡＮＤストリングに共通とされている必要はない。すなわち、異なるＮＡＮＤストリングに異なる選択ラインが接続されていてもよい。ワードラインＷＬ３は、記憶素子３２３、３４３、３６３の制御ゲートに接続されている。ワードラインＷＬ２は、記憶素子３２４、３４４、３６４の制御ゲートに接続されている。ワードラインＷＬ１は、記憶素子３２５、３４５、３６５の制御ゲートに接続されている。ワードラインＷＬ０は、記憶素子３２６、３４６、３６６の制御ゲートに接続されている。このように、各ビットラインとそれぞれのＮＡＮＤストリングは、アレイあるいは１組の記憶素子の列を備えている。（ＷＬ３、ＷＬ２、ＷＬ１、ＷＬ０等の）ワードラインは、当該アレイ又は組の行を備えている。それぞれのワードラインは、行に含まれるそれぞれの記憶素子の制御ゲートを接続する。あるいは、制御ゲートは、ワードラインそのものによって構成されていてもよい。例えば、ワードラインＷＬ２は、記憶素子３２４、３４４、３６４の制御ゲートを提供する。実際には、１つのワードラインに何千個もの記憶素子が存在しうる。
【００２１】
それぞれの記憶素子はデータを記憶することができる。例えば、１ビットのデジタルデータを記憶するときは、記憶素子の利用可能な閾値電圧（ＶＴＨ）の範囲は、論理データ「１」と「０」を割り当てられる２つの範囲に分割される。ＮＡＮＤタイプのフラッシュメモリの一例では、前記ＶＴＨは、記憶素子が消去された後に負となり、論理「１」として定義される。プログラム動作後の前記ＶＴＨは正であり、論理「０」として定義される。ＶＴＨが負であり、読み出しが試行されると、記憶素子がオンして論理「１」が記憶されていることが示される。前記ＶＴＨが正であり、読み出し動作が試行されると、記憶素子はオンにならず、論理「０」が記憶されていることが示される。また、記憶素子は、例えば複数ビットのデジタルデータ等の複数のレベルの情報も記憶できる。このケースでは、ＶＴＨ値の範囲はデータレベルの数に分割される。例えば、４つのレベルの情報が記憶されている場合には、データ値「１１」、「１０」、「０１」、及び、「００」に割り当てられる４つのＶＴＨ範囲がある。ＮＡＮＤタイプのメモリの一例では、消去動作後の前記ＶＴＨは負となり、「１１」として定義される。正のＶＴＨ値は「１０」、「０１」及び「００」の状態のために使用される。記憶素子に書き込まれるデータと、素子の閾値電圧範囲との特定の関係は、記憶素子のために採用されるデータ符号化方式に依存する。例えば、両出願の全体を参照することにより本明細書に組み込まれる米国特許第６，２２２，７６２号及び米国特許第７，２３７，０７４号が、マルチステートフラッシュ記憶素子のための多様なデータ符号化方式を説明している。
【００２２】
ＮＡＮＤタイプのフラッシュメモリ及びその動作の関連性のある例は、それぞれが参照することにより本明細書に組み込まれる米国特許番号第５，３８６，４２２号、第５，５７０，３１５号、第５，７７４，３９７号、第６，０４６，９３５号、第６，４５６，５２８号、及び第６，５２２，５８０号に示されている。
【００２３】
フラッシュ記憶素子をプログラミングするときには、プログラム電圧が記憶素子の制御ゲートに印加されるとともに、記憶素子に接続されているビットラインが接地される。電子がチャネルからフローティングゲートに注入される。電子がフローティングゲートに蓄積すると、フローティングゲートは負に帯電し、記憶素子のＶＴＨが上昇する。プログラミング中の記憶素子の制御ゲートにプログラム電圧を印加するために、そのプログラム電圧は適切なワードライン上に印加される。上述したように、各ＮＡＮＤストリング中の１つの記憶素子が同じワードラインを共有している。例えば、図３の記憶素子３２４をプログラミングするときには、プログラム電圧は記憶素子３４４と３６４の制御ゲートにも印加される。未選択の記憶素子３４４と３６４は、プログラムディスターブを受けることがある。プログラムディスターブは、比較的高いプログラム電圧を選択された記憶素子にかけることにより、選択された記憶素子と同じワードライン上の未選択の記憶素子が意図しないでプログラミングを受ける際に生じる。
【００２４】
図４は、基板上に形成されたＮＡＮＤストリングの断面図を示す。図は簡略化されており、縮尺どおりではない。ＮＡＮＤストリング４００は、ソース側選択ゲート４０６と、ドレイン側選択ゲート４２４と、基板４９０上に形成される８個の記憶素子４０８、４１０、４１２、４１４、４１６、４１８、４２０及び４２２とを有する。複数のソース／ドレイン領域（その一例はソース／ドレイン領域４３０である）が、各記憶素子と選択ゲート４０６及び４２４の両側に形成されている。一つのアプローチでは、基板４９０は、３重ウェル技術を採用しており、ｎウェル領域４９４の中にｐウェル領域４９２が形成されており、これがｐ型基板領域４９６の中に形成されている。ＮＡＮＤストリングとその不揮発性記憶素子は、少なくとも部分的には、ｐウェル領域上に形成されている。ビットライン４２６にはＶＢＬの電位が供給されるとともに、ソース供給ライン４０４にはＶＳＯＵＲＣＥの電位が供給される。端子４０３を介してｎウェル領域４９４に電圧が印加され、端子４０２を介してｐウェル領域４９２に電圧が印加される。
【００２５】
読み出し処理の間、記憶素子４１４及び図示しないそのほかの記憶素子に関係付けられた選択ワードライン（この例ではＷＬ３である）に制御ゲート電圧ＶＣＧＲが印加される。なお、記憶素子の制御ゲートは、ワードラインの一部として構成され得ることに留意されたい。例えば、ＷＬ０、ＷＬ１、ＷＬ２、ＷＬ３、ＷＬ４、ＷＬ５、ＷＬ６、及びＷＬ７は、それぞれ、記憶素子４０８、４１０、４１２、４１４、４１６、４１８、４２０、及び４２２の制御ゲートを通じて伸びている場合があることに留意されたい。一つの可能な方式では、ＮＡＮＤストリング４００に関係付けられた残りのワードラインに読み出しパス電圧ＶＲＥＡＤが印加される。選択ゲート４０６と４２４には夫々、ＶＳＧＳとＶＳＧＤが印加される。
【００２６】
図５は、記憶素子のブロックを示す。１つの実施例では、ＮＡＮＤフラッシュＥＥＰＲＯＭは１０２４個のブロックに区分することができる。各ブロックに記憶されるデータは、一斉に消去可能である。実施形態では、ブロックは一斉に消去可能な記憶素子の最小単位である。この例では、各ブロックに、ビットラインＢＬ０、ＢＬ１、・・・ＢＬ４２５５に対応する４，２５６の列が存在する。全ビットライン（ＡＢＬ）アーキテクチャと呼ばれる一実施形態では、ブロックの全ビットラインは、読み出し動作及びプログラミング動作中に同時に選択される。共通のワードラインに沿っており、任意のビットラインに接続される記憶素子は、同時にプログラミングされる。
【００２７】
図示された例では、８個の記憶素子が直列に連結され、ＮＡＮＤストリングを形成している。８本のデータワードラインＷＬ０〜ＷＬ７が存在する。ＮＡＮＤストリングは、ダミー記憶素子とこれに対応するワードラインをさらに備えていてもよい。他の実施形態では、ＮＡＮＤストリングは、８個より多い、或いは少ない個数のデータ記憶素子を有していてもよい。データメモリセルは、ユーザデータ或いはシステムデータを記憶することができる。ダミーメモリセルは、通常、ユーザデータやシステムデータの記憶には使われない。
【００２８】
各ＮＡＮＤストリングの１つの端子は、（選択ゲートドレインラインＳＧＤに接続される）ドレイン選択ゲートを介して対応するビットラインに接続されており、別の端子が（選択ゲートソースラインＳＧＳに接続される）ソース選択ゲートを介して共通ソース５０５に接続されている。すなわち、共通ソース５０５は各ＮＡＮＤストリングに接続されている。
【００２９】
奇数−偶数アーキテクチャと呼ばれる一実施形態では、ビットラインは偶数ビットライン（ＢＬｅ）と奇数ビットライン（ＢＬｏ）に分割される。この場合、共通ワードラインに沿っており、奇数ビットラインに接続されている記憶素子群は同時にプログラミングされ、共通ワードラインに沿っており、偶数ビットラインに接続されている記憶素子群は別のタイミングで同時にプログラミングされる。各ブロックでは、列は偶数列と奇数列に分割される。
【００３０】
読み出し動作及びプログラミング動作の１つの構成の間に、４，２５６個の記憶素子が同時に選択される。選択された記憶素子は、同じワードラインを有しており、共通の物理ページの一部である。従って、１論理ページを形成する５３２バイトのデータを同時に読み出し、あるいは、プログラミングすることが可能であり、１ブロックのメモリが少なくとも８論理ページを記憶できる。この例では、物理ページと論理ページが同じであるものの、一般的にはこれは必須ではない。例えば、物理ページは複数の論理ページを含んでいてもよい。論理ページは、通常、同時に書き込み（プログラム）される記憶素子の最小の組である。マルチステート記憶素子の場合、各記憶素子が２ビットのデータを記憶し、これらの２ビットのそれぞれが別のページに記憶される場合、１ブロックは１６の論理ページを記憶する。他のサイズのブロック及びページを使用することも可能である。
【００３１】
ＡＢＬアーキテクチャ又は奇数−偶数アーキテクチャの何れの場合も、ｐ−ウェルを（例えば２０Ｖの）消去電圧に上昇させ、選択されたブロックのワードラインを接地することによって、記憶素子を消去できる。ソースライン及びビットラインはフローティングされる。消去処理は、ブロックに対して一度に、または、ある種のフラッシュメモリデバイスでは、少数のブロックに対して一度に実行される。電子は、記憶素子のフローティングゲートからｐ−ウェル領域に移され、記憶素子のＶＴＨが負となる。
【００３２】
読出し及び検証動作では、選択ゲート（ＳＧＤとＳＧＳ）は２．５〜４．５Ｖの範囲の電圧に接続され、未選択ワードラインは（一般的に４．５〜６Ｖの範囲の）読出しパス電圧ＶＲＥＡＤまで上昇され、これによりトランジスタをパスゲートとして動作させる。選択ワードラインは各読出し及び検証動作について特定されているレベルの電圧に接続され、接続された記憶素子のＶＴＨがそのレベル以上であるか以下であるかが判断される。例えば、２レベル記憶素子の読出し動作において、ＶＴＨが０Ｖより大きいか否かを検出するために、選択ワードラインは接地されていてもよい。２レベル記憶素子の検証動作において、例えば、ＶＴＨが少なくとも０．８Ｖに達したか否かを検証するために、選択ワードラインは０．８Ｖに接続されていてもよい。ソースとｐ−ウェルには０Ｖが印加される。選択ビットラインは、例えば０．７Ｖ等のレベルにプレチャージされる。ＶＴＨがワードラインの読出し又は検証レベルよりも大きい場合、対象の記憶素子に関連付けられているビットラインの電位レベルは、記憶素子が導通しないために、高レベルに維持される。一方で、ＶＴＨが読出し又は検証レベルよりも小さかった場合、記憶素子が導通してビットラインを放電するために、対象のビットラインの電位レベルは、（例えば０．５Ｖ等の）低レベルに減少する。このように、１つの実施可能な態様においては、記憶素子の状態はビットラインに接続された電圧コンパレータ検出アンプによって検出することができる。プログラミングと同様に、読出し動作はページ単位で行うことができる。
【００３３】
上記の消去、読出し及び検証動作の詳細は、従来の既知の技法に従って実行される。よって、説明された詳細の多くの部分は、当業者によって変更可能である。その他の消去、読出し及び検証技術が用いられてもよい。
【００３４】
図６ａ〜ｃは、プログラムディスターブが１組の不揮発性記憶素子の閾値電圧分布をどのように変更可能であるのか、また、この問題に対処するためのプロセスを表す。図６ａは、１組の不揮発性記憶素子の初期の閾値電圧分布とこれに対応する検証電圧及び読み出し電圧を表わす。記憶素子の閾値電圧は、記憶素子の制御ゲートに印加された場合にチャネルの状態を非導通状態から導通状態へと変化させる最も低い電圧である。この電圧は、フローティングゲートにトラップされている負の電荷量に影響される。この電荷量が多いほど、セルの閾値電圧は上昇する。
【００３５】
最も一般的なマルチレベルセル（ＭＬＣ）型のデバイスは、ゼロチャージを含むフローティングゲートの４つの電荷量を用いて、状態を４つの電圧レベルで表わすことができるように構成される。このため、ＭＬＣ記憶素子は、２ビットのデータを記憶する。一般的に、記憶素子あたりのＮビットを、２Ｎ個の電圧レベルで表わすことができる。より最新のデバイスは、８個もしくはそれ以上の電圧レベルを用いることが期待される。記憶素子あたりのビット数を大きくすることで、高いデータ密度を有するフラッシュデバイスの製造が可能となり、フラッシュデバイスの全体的な単価コストを減少させることができる。マルチレベルデータストレージは、ＮＲＯＭデバイス等で用いられるマルチビットデータストレージからは区別されることに留意されたい。そのようなマルチビットデータストレージは、０または１にそれぞれ対応する電荷レベルを用いる。マルチレベルデータストレージは、例えば、ＭＬＣ記憶素子が２ビットのデータを記憶する場合であれば、００、０１、１０、１１に対応する電荷レベル範囲を用いる。
【００３６】
４つの状態を有するＭＬＣデバイスの読み出し動作では３つの基準電圧レベルを用いる。８つの状態を有するＭＬＣデバイスの読み出し動作では７つの基準電圧レベルを用いる。一般的に、２Ｎ個の状態で表される１つのセルあたりにＮビットを記憶するデバイスでは、読み出し動作に２Ｎ−１個の基準電圧レベルを用いる。
【００３７】
図６ａでは、グラフは閾値電圧を表わすｘ軸と記憶素子の数を表わすｙ軸を有する。例示されたＭＬＣデバイスは、０〜７の８個の状態と、これらに対応するＶＶ１〜ＶＶ７の検証電圧と、ＶＲ１〜ＶＲ７の読み出し電圧とを有している。各状態の分布は比較的狭く、各記憶素子は所望の電圧グループにプログラムされている。さらに、例えばＶＲ１〜ＶＲ７等の記憶素子の読み出しに対応する基準電圧は、これらの電圧グループの間に位置しており、特に１つ前の分布より少し高い値となっている。例えば、ＶＲ１は状態０と状態１の間の値であり、状態０の分布より少し高い。ＶＲ２は状態１と状態２の間の値であり、状態１の分布より少し高い。
【００３８】
上述したように、プログラムディスターブは閾値電圧分布を大きく変化させてしまうことがある。プログラムディスターブは、比較的大きいプログラム電圧が選択されたワードラインに印加されるために、選択された記憶素子と同じワードライン上の未選択の記憶素子が意図しないプログラミングをうけるときに生じるものである。すなわち、プログラムディスターブは、記憶素子の閾値電圧を上昇させる傾向にある。さらに、例えば消去状態等の最も低い状態は最も上昇されやすく、このため、１組の記憶素子が経験したプログラムディスターブの量を表わすワーストケースの指標となる。フラッシュメモリデバイスに行われた測定では、プログラムディスターブの量は異なる記憶装置毎、同じデバイス内の異なるブロック毎、あるいは同じブロック内の異なるワードライン毎に大きくばらついていることが示されている。（例えば、最小エラー数等の）信頼性という観点から、全ての記憶装置の最良のパフォーマンスを確保するために、プログラムディスターブを全てのデバイスにおいて同じようなレベルでキープするか、あるいは、（検証及び／または読み出し）電圧レベルを、所定のデバイス、ブロック、及び／又はワードラインのプログラムディスターブの実際の値に適応させることが好ましい。以下で提供される技術はプログラムディスターブをコントロールし、プログラムディスターブを検証及び／または読み出し電圧レベルに一致させるためのものである。より一般的には、この技術は、記憶素子の組にアクセスするために用いられる検証及び／または読み出し電圧レベルをカスタマイズするものである。
【００３９】
図６ｂは、プログラムディスターブを受けている１組の不揮発性記憶素子の閾値電圧分布を表わす。図示される読み出し基準電圧ＶＲ１〜ＶＲ７は、図６ａに示したものと同一である。図６ａに示した分布に比べて、ここでは、プログラムディスターブのために、より低い状態の閾値電圧分布ほど、分布が広くなっており、また、分布が高い方にシフトしている。プログラムディスターブは、主に低い電圧状態において顕著であり、一般的に高い方の状態はプログラムディスターブによる障害が起きにくい。いくつかの例では、隣接するデータ状態の分布がオーバーラップすることがある。ここでは、仮に、図６ａに示したものと同じ読み出し電圧が、図６ｂに表わされるデータ状態を読み出すのに用いられた場合に、少なくともこの例における読み出し電圧ＶＲ１〜ＶＲ５について、読み出しエラーが起こり得ることが理解される。各読み出し電圧ＶＲ１〜ＶＲ５は、低い方の閾値電圧分布とオーバーラップする。反対に、この例における読み出し電圧ＶＲ６及びＶＲ７は、低い方の閾値電圧分布とオーバーラップしない。
【００４０】
さらに、プログラムディスターブの影響は、記憶素子の組ごとに異なることがある。例えば、異なる記憶素子の組の閾値電圧分布は、デバイス、ブロック、及び／又はワードラインを単位として異なっていることがある。よって、固定された同一の読み出し電圧が用いられる場合、これにより、読み出し動作中のエラー発生等の不適切な結果が生じてしまうことがある。さらに、温度変化やプログラム／消去サイクルの回数、ＮＡＮＤストリングのソース又はドレインに対する記憶素子の近さ等の、ブロック内の記憶素子の相対的位置等の、その他の要因がプログラムディスターブに影響することがある。
【００４１】
図６ｃは、図６ｂの閾値電圧分布の測定とこれに対応する読み出し電圧のセッティングを示す。
【００４２】
実際の閾値分布の測定プロセスは、記憶装置を個別の読み出し動作で読み出す処理を含む。ここで、読み出し動作の回数は、要求される分布測定の分解能によって異なる。例えば、記憶装置が１つの記憶素子につき３ビットとして８個の状態を用いており、１つの状態につき１０ポイントの分解能が要求される場合、７９個の電圧閾値レベルのそれぞれについて読み出し動作が行われる。図６ｃでは、各点が読み出しポイントを示しており、実線は図６ｂのそれと同様である。各ビンの高さが、閾値電圧がそのビンにより特定される範囲内に存在する記憶素子の数を表わすヒストグラムが提供される。例えば、任意の記憶素子の組に最も適切な読み出しレベルを、隣接する状態の間の最小値として特定することができる。最小値の幅が存在する場合、２つのデータ状態の間における最も適切な読み出しレベルは、２つの状態のうち低い方の分布より少し高い値とすることができる。ここでは、読み出しレベルＶ´Ｒ１〜Ｖ´Ｒ５は、図６ｂのレベルに対して最適レベルにシフトされており、この一方で、ＶＲ６及びＶＲ７は変化していない。仮に、図６ｂの読み出しレベルが用いられた場合、実際の読み出しエラーが生じ得る。一般的に、最大限のデータ保持シフトを許容するために、読み出しレベルは、１つ前のレベルにできる限り近くすることが好ましい。
【００４３】
一般的に、１組の記憶素子の「閾値電圧分布」を取得することは、記憶素子の閾値電圧範囲を複数のサブレンジに分割し、それから各サブレンジにおける記憶素子の発現数をそれぞれカウントする処理を含む。１組の記憶素子の中の全て、あるいは、一部の記憶素子の発現のみをカウントしてもよい。また、サブレンジ（例えば、１つ又は複数のサブレンジ等）の一部についての発現のみをカウントし、その結果から他のサブレンジについて予想することも可能である。
【００４４】
１つのアプローチでは、電流デバイス、ブロック、及び／又はワードラインのプログラムディスターブのオンライン評価と、評価されたプログラムディスターブに対する電圧レベル設定の調整を行うことができる。製造された記憶装置のそれぞれの実際のプログラムディスターブは、例えば、ブロック単位で測定することができ、（異なるデータ状態のための読み出し、検証電圧の）電圧レベル設定とそのブロックにおいて測定されたプログラムディスターブとを適合させることができる。この「ブロック単位で適合された」電圧レベル設定は、後続のプログラム及び読み出し動作で用いることができる。プログラムディスターブに対処するために、検証電圧又は読み出し電圧、あるいはその両方を修正しなければならない。
【００４５】
プログラムディスターブの値は、全てのデータ状態が存在するページにおける消去状態の閾値電圧分布の幅として定義することができる。即ち、そのページにプログラムされたデータは、全ての可能なデータ状態の表現を含んでいる。閾値電圧分布は、ＥＣＣ訂正能力に応じて、セルの所定のパーセンテージとして考慮することができる。プログラムディスターブの値は、例えば、データを記憶装置にランダムにプログラミングし、全てのデータ状態の閾値電圧分布を読み出し、消去状態の幅を特定することによって得ることができる。このプログラミングには、デフォルトの電圧レベル設定を用いることができる。
【００４６】
一旦消去レベル閾値電圧分布の幅を得ると、残りのデータ状態に対する電圧レベル設定が決定される。電圧レベルの計算には、「固定プログラムディスターブ」方式と「固定電圧ウィンドウ」方式の２つのアプローチが存在する。これらのアプローチはいずれも同じ原理を有している。
【００４７】
第１に、消去状態以外のデータ状態のすべてについて利用可能な電圧ウィンドウを特定する。利用可能な電圧ウィンドウは、消去状態の「端部」（最も右寄りの）の電圧と最も高いデータ状態（８個のデータ状態の場合には、ＶＶ７である。）の検証電圧との間の距離で定義することができる。また、電圧ウィンドウは、消去状態の（最も左寄りの）最も低い電圧から開始されるものとして定義することもできる。
【００４８】
第２に、データ状態の相対的なデータ保持シフトに応じた割合で、ウィンドウをデータ状態毎に分割する。（例えば、書き込み／消去サイクル等の）ブロックにおける特定の状況における記憶素子のデータ保持シフトと、所定の保持時間は、記憶素子の閾値電圧に依存しており、閾値が高いほどシフトが大きくなる。この依存の定量的特性は技術に特有のものであり、例えば、試験及び／または理論計算によって得ることができる。利用可能な電圧ウィンドウのデータ状態間での分割は、このような特性に従って行ってもよい。
【００４９】
第３に、上記に基づいて、各状態に対する読み出しレベルと検証レベルを決定する。上述の２つのアプローチの違いか、以下の通りである。固定プログラムディスターブ方式では、プログラムディスターブの値は、（例えば、最も高いデータ状態の検証電圧レベルを修正することによって）電圧ウィンドウを修正することにより予め決められた固定値に調整される。プログラムディスターブ現象は、プログラミング中にワードラインに印加される高いプログラム電圧によって消去状態の記憶素子に与えられるストレスによって引き起こされる。さらに、プログラムディスターブは、例えば選択された記憶素子が最も高いデータ状態にプログラムされる場合等の、ワードラインに印加されるプログラム電圧が高い場合により高くなる。これは、プログラムディスターブは、最も高いデータ状態の検証レベルを変更することにより制御可能であることを意味する。所望のプログラムディスターブ値を得るために、繰り返し処理が用いられてもよい。例えば、プログラムディスターブが高すぎる場合には、最も高いデータ状態の検証レベルを減少させることができる。そして、（例えば、閾値電圧分布を判断することによって）プログラムディスターブを再度判断し、所望のレベルに近いか否かを判断することができる。仮に、プログラムディスターブが未だ高すぎる場合には、最も高いデータ状態の検証レベルを再度減少させることができる。
【００５０】
すべての状態の検証レベルは、線形又は非線形の既知の関数及び利用可能な電圧ウィンドウによって互いに関連付けられることに留意されたい。例えば、より高い状態ではデータ保持の損失が大きくなることから、概して、検証レベルは低い状態に対するものよりも高い状態に対するものの方が比較的大きいスペースを有するよう設定される。このため、一旦全体の電圧ウィンドウが既知となると、読み出し又は検証電圧を計算することができる。
【００５１】
固定電圧ウィンドウ方式では、最も高い状態の検証レベルがデフォルト値で固定されたまま維持され、ワードライン間、ブロック間、及び／又はデバイス間で異なることがあるものの、プログラムディスターブが引き起こされ、これが測定される。プログラムディスターブの値は変化するので、残りのデータ状態の状態幅も変化する。
【００５２】
例示したアプローチでは、電圧レベル設定を調整するプロセスは、記憶装置の製造段階で行われてもよいし、記憶装置がエンドユーザに向けて出荷されてから行われてもよい。さらに、必要であれば、調整は、異なる機会に繰り返し行われてもよい。あるいは、調整は、記憶装置の寿命のうちで一度だけ行われてもよい。実際、プログラムディスターブは記憶装置が追加的なプログラム／消去サイクルを経ていくにつれて減少するため、後続的な調整が不要である場合もある。
【００５３】
例えば、あるデバイスがエンドユーザに向けて出荷された後には、例えば温度変化、プログラムサイクルが所定回数行われる、最後のデータ書き込みから所定時間が経過する等のような異なるタイミングをきっかけとして調整が実行されてもよい。適切な追跡コンポーネント及び／又はプロセスが、この目的のために提供される。１つのアプローチでは、調整された電圧値を、フラッシュの内部パラメータをヒューズＲＯＭで記憶するのと同様の信頼性のあるプログラミング手法を用いて、デバイスブロックごとに記憶装置に記憶させることができる。これらのブロックに特有な値は、ブロックがプログラミングあるいは読み出しのために指定されているときに、記憶装置の通常動作において取得して用いることができる。
【００５４】
したがって、１つのアプローチでは、カスタマイズされた読み出し及び／又は検証電圧を、例えば製造時等に、記憶装置の記憶素子の組のために、一度に特定することができる。電圧のセットは、記憶装置内の不揮発性記憶位置に記憶することができ、読み出し又はプログラミング動作が実行されるたびに、後続してアクセスされる。詳細については、図９ａ〜９Ｃおよび図１０を参照されたい。
【００５５】
図７は、プログラム電圧と検証電圧のパルストレイン７００を示している。プログラミング電圧は、例えば、ＶＰＧＭ１の振幅を有するプログラムパルス７０５は、これに次いでＶＰＧＭ２の振幅を有するプログラムパルス７１０、その次にＶＰＧＭ３の振幅を有するプログラムパルス７１５等といったように、ステップサイズ毎にその大きさを増大させてゆく。各プログラムパルスの後に、波形７２０、７２５、７３０として表されるように、ＶＶ１〜ＶＶ７の検証電圧が印加される。これらの検証電圧は、図６ａ〜６ｃに関連して説明した任意の記憶素子の組のためにカスタマイズすることができる。
【００５６】
書き込み電圧もまた、異なる組の不揮発性記憶素子ごとにカスタマイズすることができる。図８ａは、プログラミング中に利用可能な一連の書き込み又はプログラム電圧を表す。中間検証電圧は、明確さのために省略している。上述したように、書き込み電圧は、初期レベルＶＰＧＭ−ＩＮＩＴＩＡＬからスタートし、記憶素子がそれぞれに対応する状態にプログラムされるか、又は、最終的な電圧ＶＰＧＭ−ＦＩＮＡＬに達するまで、ステップサイズ毎にその振幅が増大する。１つのアプローチでは、１つまたは複数の書き込み電圧パラメータを、記憶素子の特定の組のためにカスタマイズすることができる。例えば、低い状態の１組の記憶素子の閾値電圧分布が、そのような状態の閾値電圧の多くが期待値よりも大きいか、閾値分布の幅が期待よりも高いことを示す場合に、プログラミング効果が平均よりも強いと結論付けることができる。このような場合には、ＶＰＧＭ−ＩＮＩＴＩＡＬ及び／又はステップサイズを小さくすることで、書き込み電圧を下げることができる。いくつかの例においては、最大許容ＶＰＧＭ−ＦＩＮＡＬ又はそれよりも低いレベルのパルスを繰り返してもよい。例えば、すべての記憶素子がそれぞれの対応する状態にプログラムされる以前にＶＰＧＭ−ＦＩＮＡＬに達してしまった場合等の、１組の記憶素子のプログラミング効果が平均よりも弱い場合には、類似した調整を行うことができる。そのような調整は、ＶＰＧＭ−ＩＮＩＴＩＡＬ、ステップサイズ、及び／又は最大許容ＶＰＧＭ−ＦＩＮＡＬを大きくすることを含む。ステップサイズは分布状態の幅に直接的に影響するため、各分布の幅が平均よりも広い場合にはステップサイズを減少させることができ、また、仮に、各分布の幅が平均よりも狭い場合にはステップサイズを増大させることができることに留意されたい。例えば、これにより、より早いプログラミングをすることができる。
【００５７】
図８ｂは、異なる不揮発性記憶素子の組のためにカスタマイズされた書き込み、検証及び読み出し電圧を含むデータを示す。上述したように、書き込み、検証及び／又は読み出し電圧は、異なる記憶素子の組のためにカスタマイズすることができる。各記憶素子にとって最適な電圧を、それ以降の使用のために決定し、記憶することができる。例えば、特定の記憶装置、ブロックワードライン及び／又は記憶装置のワードラインのグループのための電圧は、記憶装置の不揮発性記憶位置に記憶することができる。ここで、第１組の記憶素子「セット１」に対する書込み電圧がＶＰＧＭ−１により表され、検証電圧がＶＶ１−１、ＶＶ２−１等により表され、読み出し電圧がＶＲ１−１、ＶＲ２−１等により表される。さらに、ＶＰＧＭ−１は、セット１のＶＰＧＭ−ＩＮＩＴＩＡＬとステップサイズとＶＰＧＭ−ＦＩＮＡＬのうち１つ以上を表すことができる。３つの変数のそれぞれは、異なる記憶素子のために適合化されてもよい。同様に、第２組の記憶素子「セット２」の書き込み電圧はＶＰＧＭ−２（例えば、セット２のＶＰＧＭ−ＩＮＩＴＩＡＬとステップサイズとＶＰＧＭ−ＦＩＮＡＬのうち１つ以上を表す）により表され、検証電圧は、ＶＶ２−１、ＶＶ２−２等により表され、読み出し電圧はＶＲ１−２、ＶＲ２−２等により表される。一般的に、ｉ番目の組の記憶素子「セットｉ」のプログラム電圧はＶＰＧＭ−ｉ（例えば、セットｉのＶＰＧＭ−ＩＮＩＴＩＡＬとステップサイズとＶＰＧＭ−ＦＩＮＡＬのうち１つ以上を表す）により表され、検証電圧は、ＶＶ１−ｉ、ＶＶ２−ｉ等により表され、読み出し電圧はＶＲ１−ｉ、ＶＲ２−ｉ等により表される。
【００５８】
図９ａは、１組の不揮発性記憶素子の電圧を決定するプロセスを表す。ステップ９００では、１組の不揮発性記憶素子について、（例えば、読み出し、検証、及び／又は書き込み電圧等の）電圧のセットを得るためのプロセスを開始する。この組は、例えば、複数のワードラインを有するブロック内で１つ又は複数の特定のワードラインに関連付けられた記憶素子、複数のブロックを有する記憶装置内の特定のブロックに関連付けられた記憶素子、あるいは、特定の記憶装置全体に関連付けられた記憶素子を表すことができる。１つのアプローチでは、ステップ９０２で、１組の不揮発性記憶素子をランダムなテストデータでプログラムする。テストデータはすべてのデータ状態を含むべきである。例えば、そのようなテストデータは、記憶装置が製造サイトで出荷前に試験される際に利用することができる。記憶装置が出荷された後は、もしテストデータが利用可能でなければ、既存のユーザデータを変わりにプログラムしてもよい。ユーザデータは、すべてのデータ状態を比較的均一に表すように、スクランブルされていてもよい。例えば、任意のブロック等の記憶装置の所定の位置に存在するユーザデータは、例えば、読み出し／検証電圧を決定しようとしている記憶素子の特定の組を含む別のブロック等の別の位置にコピーされることができる。
【００５９】
ステップ９０２の後に、２つのパスのうち１つが実行される。第１のパスでは、ステップ９０４では、例えば、図６ｃに示すような異なる増加電圧閾値レベルで読み出し動作を行うことで、１組の記憶素子の閾値電圧分布を特定する。一般に、これはすべてのデータ状態の閾値電圧分布を判断することを含む。ステップ９０６では、閾値電圧分布に基づいて、１セットの電圧を特定する。例えば、１セットの読み出し電圧は、図６ｃに示すように、閾値電圧分布の最小値に基づいて決定されてもよい。１セットの検証電圧は、電圧ウィンドウに基づいて決定されてもよい。例えば、電圧ウィンドウは閾値電圧分布から特定することができ、検証電圧は、全体の電圧ウィンドウの制約内で検証電圧間に所望の相対的スペースを付与する関数によって決定することができる。ステップ９１２では、電圧のセットを識別するデータを不揮発性記憶位置に記憶する。例えば、電圧のセットのデータは、閾値電圧分布を得た記憶装置の記憶素子に記憶することができる。これらの記憶素子は、例えば、ユーザデータを記憶しない。１つのアプローチでは、データは、閾値電圧分布を得たブロックの記憶素子に記憶される。別のアプローチでは、データは、閾値電圧分布を得たワードラインの記憶素子に記憶される。あるいは、記憶装置のコントローラによって用いられる不揮発性記憶位置が用いられてもよい。その他の位置を用いてもよい。
【００６０】
第２のパスでは、ステップ９０８ですべてのデータ状態よりも少ない記憶素子の組の閾値電圧分布を特定する。例えば、消去状態の閾値電圧分布が特定される。上述したように、消去状態がもっともプログラムディスターブに敏感であることから、この状態の閾値電圧分布の上側エッジを用いてプログラムディスターブのレベルを測定することができる。状態１の適切な読み出しレベルはこの上側エッジに基づいて決定することができ、残りの状態の適切な読み出しレベルは、状態の読み出しレベル間の既知の関係に基づいて決定することができる。すなわち、状態ｉ（ｉ＞２）の適切な読み出しレベルを状態１の適切な読み出しレベルに関連付ける関数を用いることができる。また、例えば状態１、２等の、複数のデータ状態について１組の記憶素子の閾値電圧分布を特定し、これらをその他の状態と関連付けることも可能である。関数は、例えば、状態ｉ（ｉ＞３）の適切な読み出しレベルを、状態１、２の適切な読み出しレベルに関連付けてもよい。そのような関数は、論理的関係及び／又は経験的試験結果から得ることができる。このため、ステップ９１０では、すべてのデータ状態よりも少ない数の状態の閾値電圧分布に基づいて電圧のセットを決定する。
【００６１】
さらに、電圧のセットのデータは、如何なる態様で表されていてもよい。前述した図８ｂは、１つの事例を示している。いくつかのケースでは、図示するように、（例えば、セット１、２、．．．ｉ等の）記憶素子の組の識別子を用いてもよい。例えば、コントローラは、異なる電圧のセットを、対応するデバイスの各ブロックについて、あるいは、デバイス内のブロックのグループについて記憶する記憶位置を有していてもよい。この場合、記憶素子の組の識別子と電圧の各セットとが関連付けられていてもよい。その他のケースでは、電圧のセットの位置は、電圧が印加される記憶素子の識別要素として機能する（例えば、あるブロックに記憶される電圧のセットがそのブロックに印加されるものであり、あるワードラインに記憶される電圧のセットがそのワードラインに印加されるものである。）。別の実施例では、異なるブロックのための電圧のセットが１つのブロックに記憶されていてもよい。この場合、ブロックとそれに対応する電圧のセットを関連付けるために、識別要素が必要とされる。いくつかのケースでは、電圧のセットは、記憶位置におけるそれらの相対的位置によって、それらが印加される記憶素子を識別するように記憶されてもよい。例えば、記憶位置の第１位置は第１ブロックに対応し、記憶位置の第２位置は第２ブロックに対応する等となるよう構成されていてもよい。あるいは、記憶位置はブロック内にあってもよく、この場合、記憶位置の第１位置は第１ワードラインもしくはブロック内のワードラインのセットに対応し、記憶位置の第２位置は第２ワードラインもしくはブロック内のワードラインのセットに対応する等となるよう構成されていてもよい。
【００６２】
また、電圧の絶対値が記憶されていてもよく、基準となる電圧のセット又は単一の基準値からのオフセットを表すオフセット値が記憶されていてもよい。あるいは、例えば、デジタル−アナログコンバーターに入力されるバイナリコードワード等の、電圧回路を直接的に制御するのに用いられるデータが記憶されていてもよい。いずれの場合にも、そのようなデータは電圧のセットを表すものとして理解される。
【００６３】
ここで提供される技術は、デバイスが経験した閾値電圧変化を追跡する目的で非ユーザデータを記憶する追加的な記憶素子である基準記憶素子の使用を必要としないという利点を有する。基準記憶素子は、記憶装置内で、ユーザデータを記憶する記憶素子に加えて余分なスペースを占有する。基準記憶素子は、データのページが読み出される度に調整が行われるように、典型的には「動作中」に読み出される。この場合、後に利用するために電圧のセットを不揮発性記憶位置に記憶することは行われない。さらに、一般に、基準記憶素子は閾値電圧分布の測定を行わない。基準記憶素子では、第２の非重複な記憶素子の組の電圧を決定するのに用いるために、例えば基準記憶素子等の、１組の記憶素子について測定が行われる。反対に、ここで提供される技術では、後に電圧を用いてアクセスされる同一の組の記憶素子のために、測定が行われ、電圧が決定される。
【００６４】
図９ｂは、図９ａのプロセスによってあらかじめ決められた電圧を用いて１組の不揮発性記憶素子のユーザデータにアクセスするプロセスを表す。１つのアプローチでは、アクセス処理は、記憶素子がユーザへ出荷されてから行われてもよい。すなわち、デバイスが製造され、ユーザに使用されるホストシステムにインストールされてからであってもよい。ステップ９２０では、１組の不揮発性記憶素子に対して（例えばプログラム、検証、又は読み出し等の）動作を開始する。ステップ９２２では、不揮発性記憶位置から電圧のセットを取得する。ステップ９２４では、その電圧のセットを用いて１組の不揮発性記憶素子のユーザデータにアクセスする。このようなアクセスは、プログラミング／検証又は読み出しを含んでいてもよい。
【００６５】
図９ｃは、複数組の不揮発性記憶素子の電圧を決定するプロセスを表す。上述したように、電圧は、単一の記憶装置内、又は異なる記憶装置間において、異なる組の記憶素子についてカスタマイズすることができる。これらのステップの多くは図９ａのものと類似する。ステップ９３０では、記憶装置内の１組又は複数組の不揮発性記憶素子を選択する。ステップ９３２では、対応する電圧のセットを取得するプロセスを開始する。ステップ９３４では、前述した組の不揮発性記憶素子をランダムテストデータでプログラムする。ステップ９３６では、一又は複数組の不揮発性記憶素子の閾値電圧分布を特定する。ステップ９３８では、その閾値電圧分布に基づいて、電圧のセットを特定する。ステップ９４０では、現在選択されている１組又は複数組の不揮発性記憶素子に対応する電圧のセットを、不揮発性記憶位置に記憶する。判断ステップ９４２では、次の記憶素子が記憶装置内に存在する場合には、プロセスはステップ９３０へと進み、次の１組又は複数組の不揮発性記憶素子を選択する。次の記憶素子が記憶装置内に存在しない場合には、プロセスは判断ステップ９４６へと進む。例えば、製造する環境において複数の記憶装置が分析されるようなときであって、電圧を特定する必要のある次の記憶装置が存在する場合、プロセスはステップ９３０へと進む。ステップ９４６で次の記憶装置が存在しない場合には、プロセスはステップ９４８で終了する。
【００６６】
例えば、上記プロセスにおけるそれぞれのパスでは、記憶素子の１つのワードライン、１組のワードライン、１つのブロック、あるいは１組のブロックについて、電圧のセットが取得されてもよい。例えば、任意の電圧のセットを、単独のワードライン又はワードラインの組の記憶素子、あるいは単独のブロック又はブロックの組の記憶素子に印加してもよい。さらに、例えば、書き込み、検証、及び／又は、読み出しのための複数セットの電圧が特定される場合、それぞれのセットは異なる記憶素子のグループに印加することができる。例えば、記憶装置全体の検証電圧を１セット取得することができる一方で、その記憶装置内の異なるブロックについて、異なる読み出し電圧のセットが取得されてもよい。プロセスに含まれる複数のパスは、連続的に行われてもよいし、並列的に行われてもよい。
【００６７】
図１０は、図９ｃのプロセスによってあらかじめ決められた電圧を用いて複数組の不揮発性記憶素子のユーザデータにアクセスするプロセスを表す。ステップ１０００では、記憶装置内の一又は複数組の不揮発性記憶素子を選択する。ステップ１００２から１００６は、概して、図９ｂのステップ９２０から９２４にそれぞれ対応している。ステップ１００２では、一又は複数組の不揮発性記憶素子のための（例えばプログラム、検証、又は読み出し等の）動作を開始する。ステップ１００４では、不揮発性記憶位置から対応する電圧のセットを取得する。ステップ１００６では、その電圧のセットを用いて一又は複数組の不揮発性記憶素子のユーザデータにアクセスする。このようなアクセスは、プログラミング／検証又は読み出しを含んでいてもよい。判断ステップ１００８では、アクセスすべき次の記憶素子が記憶装置内に存在する場合には、プロセスは、記憶装置内の次の一又は複数組の不揮発性記憶素子が選択されるステップ１０００へと進む。判断ステップ１００８で記憶装置内の次の記憶素子の組が存在しない場合には、プロセスはステップ１０１０で終了する。
【００６８】
以前と同様に、上記プロセスにおけるそれぞれのパスでは、記憶素子の１つのワードライン、１組のワードライン、１つのブロック、あるいは１組のブロックについて電圧のセットを取得し、対応する記憶素子にアクセスしてもよい。任意の電圧のセットを、単独のワードライン又はワードラインの組の記憶素子、あるいは単独のブロック又はブロックの組に印加してもよい。プロセスに含まれる複数のパスは、連続的に行われてもよいし、並列的に行われてもよい。
【００６９】
図１１は、例えば図１、２に示されるＮＡＮＤフラッシュ記憶素子のアレイを表すブロック図である。各列に沿って、関連するＮＡＮＤストリングのドレイン選択ゲートのドレイン端子に、ビットラインが接続されている。例えば、ビットライン１１０６は、ＮＡＮＤストリング１１５０のドレイン選択ゲートのドレイン端子１１２６に接続されている。ＮＡＮＤストリングの各行に沿って、ソースライン１１０４が、ＮＡＮＤストリングのソース選択ゲートのすべてのソース端子１１２８に接続されていてもよい。ＮＡＮＤアーキテクチャアレイと記憶システムの一部としてのその動作の一例は、米国特許第５，５７０，３１５号、第５，７７４，３９７号、第６，０４６，９３５号に示されている。
【００７０】
記憶素子のアレイは、多数の記憶素子ブロックに分割される。フラッシュＥＥＰＲＯＭシステムでよく見られるように、ブロックは、消去の単位である。即ち、各ブロックは、一度に消去される最小数の記憶素子を含んでいる。各ブロックは、概して複数のページに分割されている。ページは、プログラミングの単位である。１つ又は複数のデータのページは、概して１行の記憶素子に記憶されている。ページは、１つ又は複数のセクターを記憶することができる。セクターは、ユーザデータとオーバーヘッドデータを含む。オーバーヘッドデータは、概して、そのセクターのユーザデータから計算されたエラー訂正符号（ＥＣＣ）を含む。（後述する）コントローラの一部は、アレイにデータがプログラムされるときにＥＣＣを計算し、そのアレイからデータが読み出されるときにこれをチェックする。代替的に、ＥＣＣ及び／又はその他のオーバーヘッドデータは、それが関係するユーザデータとは異なるページか、あるいは、異なるブロックに記憶されてもよい。
【００７１】
ユーザデータのセクターは概して５１２バイトであり、磁気ディスクドライブのセクターのサイズに対応している。オーバーヘッドデータは、概して、付加的に１６〜２０バイトとされている。例えば８ページから３２，６４，１２８ページ等の、多数のページがブロックを構成している。いくつかの実施例では、ＮＡＮＤストリングの１行がブロックを有している。
【００７２】
図１２は、記憶システムの記憶装置のホストコントローラの概要を表す。記憶装置は、それ単体で記憶システムとみなすことができる。記憶素子１２０５は、プログラム／検証及び読み出し動作を行うための自身のコントローラ１２１０を有する記憶装置１２００に設けられている。記憶装置は、例えば、ラップトップコンピュータ、デジタルカメラ、パーソナルデジタルアシスタント（ＰＤＡ）、デジタルオーディオプレーヤー又は携帯電話等のホストデバイスに挿入される、脱着可能なメモリカード又はＵＳＢフラッシュドライブに形成されていてもよい。ホストデバイスは、ユーザデータを読み出す、又は書き込むなど、記憶装置と相互動作するために、自身のコントローラ１２２５を備えている。例えば、データを読み出すときに、ホストコントローラは、記憶装置に取得すべきユーザデータのアドレスを指定するコマンドを送信することができる。記憶装置コントローラは、そのようなコマンドを、記憶装置内の制御回路で解釈及び処理可能なコマンド信号に変換する。コントローラ１２１０はまた、前述したように、電圧のセットを記憶する不揮発性記憶位置１２１５と、メモリアレイに書き込まれる（又は読み出される）ユーザデータを一時的に記憶するバッファメモリ１２２０とを備えていてもよい。ホストコントローラは、記憶装置の外部または外側の構成要素であるとみなすことができる。記憶装置は、例えば、１つ又は複数のメモリダイを備えていてもよく、ホストコントローラは、図１３を参照して説明されるように、その１つ又は複数のメモリダイの外部に設けられていてもよい。
【００７３】
記憶装置は、記憶素子からデータを読み出し、ホストコントローラに利用可能にすることで、読み出しコマンドに応答する。１つの可能なアプローチでは、記憶装置は読み出しデータをバッファ１２２０に記憶しておき、データが読み出し可能となる時をホストコントローラに通知する。ホストコントローラは、データをバッファから読み出すことでこれに応答し、記憶装置にさらに別のアドレスからデータを読み出すための別のコマンドを送信する。例えば、データは、ページごとに読み出されてもよい。ホストコントローラは、読み出したデータを処理して、記憶装置の記憶素子の閾値電圧分布を特定してもよい。別のアプローチでは、記憶装置の制御回路が閾値電圧分布を特定してもよい。記憶装置のさらに詳細な実施例を以下に説明する。
【００７４】
一般的な記憶システムは、コントローラ１２１０を備える集積回路チップと、メモリアレイとこれに関連するコントロール、入力／出力及びステートマシン回路をそれぞれ備える１つ又は複数の集積回路チップとを備える。記憶装置は、ホストシステムの一部として組み込まれていてもよいし、ホストシステムの対応するソケットに挿脱可能なメモリカードに備えられていてもよい。そのようなカードは、記憶装置のすべてを含んでいてもよいし、コントローラとメモリアレイとこれに関連付けられた周辺回路が別のカードに設けられていてもよい。
【００７５】
図１３は、単一の行／列デコーダと読み出し／書き込み回路を用いた不揮発性記憶システムのブロック図である。本発明の実施形態に係るこの図では、記憶装置１３９６は、記憶素子のページを平行に読み出し、またプログラムするための読み出し／書き込み回路を備えている。記憶装置１３９６は１つ又は複数のメモリダイ１３９８を備えている。メモリダイ１３９８は記憶素子１４００の２次元アレイ、制御回路１３１０、及び、読み出し／書き込み回路１３６５を備えている。いくつかの実施例では、記憶素子のアレイは、３次元であってもよい。記憶アレイ１４００は、行デコーダ１３００を介してワードラインによって指定することができ、また、列デコーダ１３６０を介してビットラインによって指定することができる。読み出し／書き込み回路１３６５は、複数のセンスブロック１３００を備えており、記憶素子のページが平行して読み出し又はプログラムされることを許容する。概して、コントローラ１３５０は、（例えば、脱着可能なストレージカード等の）、１つ又は複数のメモリダイ１３９８と同一の記憶装置１３９６に設けられている。コマンドとデータは、ホストとコントローラ１３５０との間をライン１３２０を介して送信されるとともに、コントローラと１つ又は複数のメモリダイ１３９８の間をライン１３２１を介して送信される。
【００７６】
制御回路１３１０は、読み出し／書き込み回路１３６５と協働して、メモリアレイ１１００に対して記憶動作を実行する。制御回路１３１０は、ステートマシン１３１２と、オンチップアドレスデコーダ１３１４と、パワーコントロールモジュール１３１６とを備えている。ステートマシン１３１２は、チップレベルでの記憶動作のコントロールを可能とする。オンチップアドレスデコーダ１３１４は、ホスト又はメモリコントローラに用いられるものとデコーダ１３３０と１３６０によって用いられるハードウェアアドレスとの間のアドレスインターフェースを提供する。パワーコントロールモジュール１３１６は、電源と、記憶動作中にワードラインとビットラインに供給される電圧をコントロールする。例えば、パワーコントロールモジュール１３１６は、読み出し動作中に用いるために、制御ゲート読み出し電圧を選択されたワードラインに印加するとともに、非選択のワードラインに読み出しパス電圧を印加し、記憶素子の組の閾値電圧分布を特定することができる。また、パワーコントロールモジュール１３１６は、選択されたワードラインに電圧スイープをかけることができる。パワーコントロールモジュール１３１６は、例えば、この目的のために一つ又は複数のデジタル−アナログコンバーターを備えていてもよい。この場合、制御回路は、例えばメモリダイ１３９８の外部等の外部のテスト機器を必要とせずに、電圧スイープを発生させることができる。これは、記憶装置の製造後や、エンドユーザが記憶装置を入手した後等、電圧スイープをいつでも発生させることができるという点で有利である。さらに、記憶装置１３９６は記憶素子の閾値電圧分布を特定するための回路を備えていてもよく、これにより、このプロセスは、外部のテスト機器又は外部ホスト等を必要とせずに、メモリダイ１３９８の内部で行うことができる。これは、外部の機器を必要とせずに、いつでも閾値電圧分布を特定することができるという点で有利である。
【００７７】
いくつかの適用例では、図１３のいくつかの構成を組み合わせることができる。様々なデザインにおいて、記憶素子アレイ１１００以外の１つ又は複数の構成は、それ単体で、あるいは組み合わせて管理回路又は制御回路とすることができる。例えば、１つ又は複数の管理回路又は制御回路は、制御回路１３１０、ステートマシン１３１２、デコーダ１３１４／１３６０、パワーコントロール１３１６、センスブロック１３００、読み出し／書き込み回路１３６５、コントローラ１３５０、ホストコントローラ１３９９等のいずれか１つ、又は、これらの組み合わせを備えていてもよい。
【００７８】
メモリアレイに記憶されるデータは、列デコーダ１３６０によって読み出され、データＩ／Ｏラインとデータ入出力バッファ１３５２を介して外部Ｉ／Ｏラインに出力される。メモリアレイに記憶されるプログラムデータは、外部Ｉ／Ｏラインを介してデータ入出力バッファ１３５２に入力される。記憶装置を制御するコマンドデータは、コントローラ１３５０に入力される。コマンドデータは、どのような動作が要求されているのかをフラッシュメモリに通知する。入力されたコマンドは制御回路１３１０に送信される。ステートマシン１３１２は、例えば、ＲＥＡＤＹ／ＢＵＳＹ、ＰＡＳＳ／ＦＡＩＬ等の、メモリのステータスを出力できる。記憶装置がビジーの場合、新しい読み出し又は書き込みコマンドを受信することができない。
【００７９】
データ記憶位置１３５４は、図１２の記憶位置１２１５と同様に、コントローラ１３５０に接続して設けられていてもよい。
【００８０】
別の実施可能な形態では、不揮発性記憶システムは、デュアル行／列デコーダと読み出し／書き込み回路を用いてもよい。この場合、様々な周辺回路からメモリアレイへのアクセスは、アレイの両側において対称的な形態で行われることになる。これにより、各側のアクセスラインと回路の密度を半分に減らすことができる。
【００８１】
本発明の前記の詳細な説明は図解及び説明のために提示されたものである。本発明が上記により網羅的となること、あるいは本発明を開示されている正確な形式に制限することを意図していない。前記教示を鑑みて多くの変型及び変更が可能である。説明された実施形態は、本発明及びその実際的な応用を最もよく説明し、それにより当業者が多様な実施形態において、及び意図されている特定の使用に適するように多様な変型を用いて本発明を最もよく活用できるようにするために選択された。本発明の範囲がここに添付される請求項により定められることが意図される。
【図１】
0005410507.tif 000002
【図２】
0005410507.tif 000003
【図３】
0005410507.tif 000004
【図４】
0005410507.tif 000005
【図５】
0005410507.tif 000006
【図６ａ】
0005410507.tif 000007
【図６ｂ】
0005410507.tif 000008
【図６ｃ】
0005410507.tif 000009
【図７】
0005410507.tif 000010
【図８ａ】
0005410507.tif 000011
【図８ｂ】
0005410507.tif 000012
【図９ａ】
0005410507.tif 000013
【図９ｂ】
0005410507.tif 000014
【図９ｃ】
0005410507.tif 000015
【図１０】
0005410507.tif 000016
【図１１】
0005410507.tif 000017
【図１２】
0005410507.tif 000018
【図１３】
0005410507.tif 000019