(57)【特許請求の範囲】
【請求項１】
メモリ・セル用の「ｎ」ビットのデータの格納を示す状態を指定する２n個のウィンドウを区別する複数のしきい値レベルの１つを前記メモリ・セルに格納するための複数のメモリ・セルと；
マルチレベル・セル・モードと標準セル・モードとを含むメモリ・システム用の動作モードの選択を可能にするための切替え制御装置と；
前記切替え制御装置および前記メモリ・セルに結合され、前記切替え制御装置が前記標準セル・モードの選択を示すときにセル当たり単一ビットを読み取り、前記切替え制御装置が前記マルチレベル・セル・モードの選択を示すときにメモリ・セル当たり複数ビットのデータを読み取るための読み取り回路と；
前記切替え制御装置および前記メモリ・セルに結合され、前記切替え制御装置が前記標準セル・モードの選択を示すときに、メモリ・セル当たり単一ビットのデータをプログラミングし、前記切替え制御装置が前記マルチレベル・セル・モードの選択を示すときに、メモリ・セル当たり複数ビットのデータをプログラミングするためのプログラム回路と；を含むメモリ・システムであって、
前記切替え制御装置は、
コマンド・インターフェースを介して前記マルチレベル・セル・モードと前記標準セル・モードとの選択を可能にするための工場でプログラム可能なセルと；
前記マルチレベル・セル・モードと前記標準セル・モードとの選択をユーザがコマンド・インターフェースを介して行うことを可能にするレジスタと；
前記コマンド・インタフェースから選択された前記動作モードに優先して、前記マルチレベル・セル・モードと前記標準セル・モードとの選択を可能にする回路と；
を備えることを特徴とするメモリ・システム。
【請求項２】
メモリ・デバイスにおいて、メモリ・デバイスの各メモリ・セルによって第１の数のデータ・ビットが格納される第１の動作モードと、各メモリ・セルによって第２の数のデータ・ビットが格納される第２の動作モードとの間で動的に切替える方法であっで：
複数のメモリ・セルとそのメモリ・セルにアクセスするために関連付けられた回路とを提供し、その関連付けられた回路は、それにより、メモリ・デバイスが第１の動作モードで動作しているときは各メモリ・セルに第１の数のデータ・ビットが格納され、かつ各メモリ・セルから読み取られ、メモリ・デバイスが第２の動作モードで動作しているときは各メモリ・セルに第２の数のデータ・ビットが格納され、かつ各メモリ・セルから読み取られるステップと；
コマンド・インターフェースを介して前記第１の動作モードと前記第２の動作モードとの選択が可能になるように工場でプログラム可能なセルをプログラミングするステップと；
前記コマンド・インターフェースを介してユーザが第１の動作モードと前記第２の動作モードとの選択を行えるようにするステップと；
前記コマンド・インターフェースから選択された前記動作モードに優先して、前記第１の動作モードと前記第２の動作モードとの選択を可能にするステップと；
前記第１の動作モードが選択されているときには、メモリ・セル当たり単一ビットを読み取って格納するステップと；
前記第２の動作モードが選択されているときには、メモリ・セル当たり複数ビットのデータを読み取って格納するステップと
を含む方法。
【請求項３】
メモリ・セル用の「ｎ」ビットのデータの格納を示す状態を指定する２n個のウィンドウを区別する複数のしきい値レベルの１つを、複数の前記メモリ・セルのそれぞれに格納するステップと；
マルチレベル・セル・モードと標準セル・モードとを含む、前記データを格納するための動作モードを選択するステップとを含む方法であって、動作モードを選択するステップが：
コマンド・インターフェースを介して前記マルチレベル・セル・モードと前記標準セル・モードの選択が可能になるように工場でプログラム可能なセルをプログラミングするステップと；
前記コマンド・インターフェースを介してユーザが前記マルチレベル・セル・モードと前記標準セル・モードとの選択を行えるようにするステップと；
前記コマンド・インターフェースから選択された前記動作モードに優先して、前記マルチレベル・セル・モードと前記標準セル・モードとの選択を可能にするステップとを含み；前記方法がさらに、
前記標準セル・モードが選択されているときにセル当たり単一ビットを読み取るステップと；
前記マルチレベル・セル・モードが選択されているときにメモリ・セル当たり複数ビットのデータを読み取るステップと；
を含むことを特徴とするデータを格納する方法。
【発明の詳細な説明】
発明の分野：
本発明は、メモリ素子へのデータの格納に関し、より具体的には、セル当たり単一ビットからセル当たり複数ビットに動的に切替え可能なメモリ・システムに関する。
発明の背景：
メモリ素子には、データ格納の適用例が数多くある。一部のメモリ素子は、素子の導電しきい値に関連する特性を変更することにより、特定の状態を格納する。通常、メモリ素子へのデータをプログラミングするため、メモリ素子の導電しきい値は、電流の伝導によって第１の状態を表し、電流の非伝導によって第２の状態を表すように構成されている。しかし、このようなメモリ素子は、一定の範囲のしきい値レベルを格納するように構成可能であり、それにより、アナログ・データの格納が可能になる。また、アナログ・データの格納により、単一のメモリ・セルに複数ビットのデータを格納できるようになる。これは、マルチレベル・セルとして知られているものである。
マルチレベル格納について論じた先行特許がいくつかある。複数状態記憶セルを有するフラッシュＥＥＰＲＯＭメモリ・システムに関するＨａｒｒａｒｉの米国特許第５０４３９４０号（「Ｈａｒｒａｒｉ特許」）では、分割チャネル・フラッシュ電気的消去可能読取り専用メモリ（ＥＥＰＲＯＭ）のメモリ・セルのしきい電圧Ｖtによってマルチレベル状態を決めている。Ｈａｒｒａｒｉ特許では、各メモリ・セルに複数のプログラミング・パルスを印加することにより、この４通りの状態を使用してメモリ・セル当たり２ビットのデータを格納することができる。また、複数状態ＥＥＰＲＯＭ読み書き回路および技法に関するＭｅｈｒｏｔａ他の米国特許第５１６３０２１号（「Ｍｅｈｒｏｔａ特許」）にもマルチレベル・メモリ・システムが記載されている。Ｈａｒｒａｒｉ特許と同様、Ｍｅｈｒｏｔａ特許も、メモリ・セルのしきい電圧によって４通りの状態を定義している。
しかし、セル当たり複数のビットを格納すると、メモリ・システムの信頼性が損なわれる。したがって、セル当たり複数のビットを格納できるメモリ・システムの信頼性を向上することが望ましい。ある種のタイプのデータについては、エラー訂正コーディングを使用することにより、データ記憶の整合性を向上することができる。しかし、コードなど、他のタイプのデータは、エラー訂正システムでの操作用にコード化するのがより難しいものである。ある種のタイプのデータについては、他のタイプに比べ、データ記憶の整合性がより重要になるので、他のタイプのデータを高密度メモリに格納しながら、ある種のタイプのデータを低密度メモリに格納することが望ましい。
発明の概要および目的
したがって、本発明の一目的は、フラッシュ・メモリのセル当たり複数のビットを格納することにある。
本発明の他の目的は、ユーザがメモリの一部分にはセル当たり複数のビットを格納し、メモリの他の部分にはセル当たり単一のビットを格納できるようにすることにある。
本発明の他の目的は、セル当たり単一ビットの格納からセル当たり複数ビットの格納に動的に切り替わるメモリ・システムを実現することにある。
上記およびその他の目的は、複数のしきい値レベルの１つをメモリ・セルに格納する複数のメモリ・セルを有するメモリ・システムで実現される。このしきい値の複数のレベルにより、メモリ・セル用の「ｎ」ビットのデータの格納を表すために状態を指定する２n個のウィンドウが区別される。また、メモリ・システムには、マルチレベル・セル・モードと標準セル・モードとを含む、メモリ・システムの動作モードの選択を可能にする切替え制御装置も含まれている。さらに、メモリ・システムは、標準セル・モードで動作しているときにセル当たり単一ビットを読み取り、マルチレベル・セル・モードで動作しているときにメモリ・セル当たり複数ビットのデータを読み取るための読取り回路を含む。
メモリ・セルをプログラミングするため、メモリ・システムはプログラム制御装置を含んでいる。このプログラム制御装置は、切替え制御装置が標準セル・モードの選択を示したときにアドレス指定済みのメモリ・セル用にメモリ・セル当たり単一ビットのデータをプログラミングし、切替え制御装置がマルチレベル・セル・モードの選択を示したときにアドレス指定済みのメモリ・セル用にメモリ・セル当たり複数ビットのデータをプログラミングする。また、プログラム・アライナは、切替え制御装置がマルチレベル・セル・モードの選択を示したときにセル当たり複数ビットの格納に対応するようにアドレス指定済みのメモリ・セルの一部分を選択的にプログラミングし、切替え制御装置が標準セル・モードの選択を示したときにアドレス指定済みのメモリ・セル全体を選択的にプログラミングする。このプログラム回路は、アドレス指定済みのメモリ・セルに格納されたしきい値レベルと所望のデータとを比較するために読取り回路に結合された検証論理回路も含む。この検証論理回路は、追加プログラミングを必要とするメモリ・セルを識別する。
上記以外の本発明の目的、特徴、および利点は、添付図面ならびに以下に示す詳細な説明により明らかになるだろう。
【図面の簡単な説明】
本発明の目的、特徴、および利点は、以下の図面に関連し、以下に示す本発明の好ましい実施形態の詳細な説明により明らかになるだろう。
第１図は、メモリ・システムおよびマイクロプロセッサを示す高レベル・ブロック図である。
第２図は、本発明のメモリ・システムの一実施形態を示す高レベル・ブロック図である。
第３図は、メモリ・システムの一実施形態により構成されたアレイ・ロードおよびメモリ・アレイを示す。
第４図は、本発明の一実施形態により構成された感知システムを示す。
第５図は、本発明の一実施形態により構成された偶数および奇数出力線用の選択回路と比較器回路とを示す。
第６図は、メモリ・システムのプログラム／検証部分を示す高レベル・ブロック図である。
第７図は、１６ビットを同時に感知するメモリ・システムにより構成されたプログラム・アライナを示す。
詳細な説明
本発明は、標準セル・モードとマルチレベル・セル（ＭＬＣ）モードとの間で動的に切替え可能なメモリ・システムを含む。ＭＬＣモードで動作している場合、メモリ・システムはセル当たり複数のビットを格納する。標準セル・モードで動作している場合、メモリ・システムはセル当たり単一ビットを格納する。一実施形態では、本発明のマルチレベル・メモリは、ＭＬＣモードで動作しているときにセル当たり２ビットを格納する。本発明により、メモリの一部分でのセル当たり単一ビットの格納と、メモリの他の部分でのセル当たり複数ビットの格納とを動的切替えが可能になる。
セル当たり２ビットを格納するメモリ・システムに関連して本発明を説明するが、本発明の精神および範囲を逸脱せずに、しきい値レベルの数を増加することにより、単一のセルにセル当たり何ビットでも格納することができる。本発明のメモリ・システムについては、標準セル・モードとマルチレベル・セル（ＭＬＣ）モードとの間の動的に切替え可能なメモリ・システムに関連して説明する。さらに、本発明の精神および範囲を逸脱せずに、セル当たり１ビット、セル当たり１．５ビット、セル当たり２ビットの格納など、複数の記憶モード間で動的に切替え可能なメモリ・システムも使用可能である。
単一メモリ内でセル当たり単一ビットの格納とセル当たり複数ビットの格納との間で切り替えられる能力には、多くの適用例がある。たとえば、セル当たり単一ビットからセル当たり複数ビットのダイナミック・メモリにより、少なくとも２通りの密度を提供する素子を製造することができるようになる。さらに、セル当たり単一ビットからセル当たり複数ビットのダイナミック・メモリは、大容量記憶の適用例で使用することができる。たとえば、セル当たり複数ビット単位でのデータ格納の方が読み書きの信頼性が低くなる場合、信頼性と密度との比較検討が行われる。
第１図は、本発明の一実施形態により構成されたシステム・ブロック図を示している。この動的に切替え可能なメモリ・システムは、コンピュータ・システムなど、マルチレベル・メモリを使用する任意のシステムでの使用に適用することができる。第１図には、マイクロプロセッサ１００と、バス１０３と、メモリ・システム１０２とを含む、このようなコンピュータ・システムの一部分が示されている。メモリ・システム１０２は、プログラム制御装置１０５と、メモリ１５０とを含む。マイクロプロセッサ１００は、バス１０３によりプログラム制御装置１０５に結合されている。プログラム制御装置１０５は、メモリ１５０を制御するのに必要な動作を用意する。一実施形態では、プログラム制御装置１０５とメモリ１５０が単一の集積回路ダイ上に位置している。プログラム制御装置１０５は、コマンド状態マシン１１０と、シンクロナイザ１２０と、状態レジスタ１３０と、制御エンジン１４０とを含む。プログラム制御装置１０５の動作はマイクロプロセッサ１００によって実行することもできる。メモリ１５０は、以下に詳述するようにメモリ・アレイを含む。
動作時にマイクロプロセッサ１００は、メモリ１５０内のセルのプログラミング、消去、および読取りを行うためのコマンドを生成する。このコマンド構造の使用により、マイクロプロセッサ１００は、動作のタイプ（たとえば、読取り、プログラミング／検証、消去／検証）、動作用のメモリ・セルを指定するアドレス、プログラミング／検証動作用のデータを指定する。コマンド状態マシン１１０は、マイクロプロセッサ１００からコマンドを受け取る。書込みまたはプログラミング動作の場合、コマンド状態マシン１１０は、メモリ１５０でプログラミング／検証動作を実行するよう制御エンジン１４０に指示する。読取り動作の場合、コマンド状態マシン１１０は、必要なアドレスおよび制御情報をメモリ１５０に供給する。
一実施形態の制御エンジン１４０は、メモリ内に格納されたマイクロ・コードを実行するマイクロコントローラを含む。制御エンジン１４０は、プログラミング／検証動作に必要なタイミング、制御、データ、およびアドレスをメモリ１５０に対して生成する。シンクロナイザ１２０により、メモリ１５０とマイクロプロセッサ１００との非同期動作または同期動作が可能になる。状態レジスタ１３は、メモリ・システム１０２に関連する状態情報を格納する。プログラム制御装置１０５などのオンチップ・プログラム制御装置の詳細については、発明者Ｆａｎｄｒｉｃｈによる”Ｆｌａｓｈ  Ｍｅｍｏｒｙ  Ｅｒａｓｅ  Ｓｕｓｐｅｎｄ  ａｎｄ  Ｒｅｓｕｍｅ”という名称で１９９１年２月１１日出願の米国特許出願第０７／６５５６５０号（代理人整理番号４２３９０．Ｐ７１３）を参照されたい。
本発明は、各セルに複数ビットの情報を格納可能なメモリ・システムでの使用に適用することができる。一実施形態では、メモリ素子のセルがフラッシュ電気的消去可能プログラム可能読取り専用メモリ（フラッシュＥＥＰＲＯＭ）セルとして構築されている。フラッシュＥＥＰＲＯＭセルに関連して本発明を説明するが、読取り専用メモリ（ＲＯＭ）、消去可能プログラム可能読取り専用メモリ（ＥＰＲＯＭ）、従来の電気的消去可能プログラム可能読取り専用メモリ（ＥＥＰＲＯＭ）、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）など、他のセルも、本発明の精神および範囲を逸脱せずに代用することができる。
フラッシュＥＥＰＲＯＭメモリ素子は、複数のＥＥＰＲＯＭセルからなるセクタ単位で構成されており、特定のセクタが同時にプログラミングされ消去される。また、フラッシュＥＥＰＲＯＭ素子は、ユーザがいったんプログラミングすると、消去するまで、ＥＥＰＲＯＭセルがプログラミングされた状態を保持するような、不揮発性メモリ素子である。一実施形態のフラッシュＥＥＰＲＯＭセルは、選択ゲートと、浮動ゲートと、ソースと、ドレインとを有する単一トランジスタで構成される。ソースとドレインは基板上に存在し、基板は接地されている。浮動ゲートは、浮動ゲートでの電荷の保持を可能にするため、非導電酸化物によって選択ゲートとセルのチャネル領域から絶縁されている。
フラッシュＥＥＰＲＯＭメモリ・セルは、浮動ゲートへの電荷の有無によってオン／オフが切り替わる。プログラミング中、電子は浮動ゲート上に位置し、周囲の非導電酸化物によってトラップされる。電子が浮動ゲート上に存在する場合、過剰電子によって電界効果が発生し、その結果、メモリ・セルの導電しきい値が高くなる。このようなメモリ・セルの選択ゲートに電圧が印加されると、メモリ・セルはオフになり、それにより、第１の論理状態が格納される。しかし、浮動ゲートで過剰電子が一切トラップされないと、メモリ・セルの導電しきい値は低くなり、メモリ・セルは他の論理状態を表すために電流を伝導する。
浮動ゲートは一定の範囲の電荷を保持することができるので、メモリ・セルは、複数の導電しきい値または複数のしきい値レベル（Ｖt）を有するようにプログラミングすることができる。セルの浮動ゲートで複数のしきい値レベルを格納することにより、メモリ・セルは、複数ビットを格納するようにプログラミングすることができる。複数のしきい値レベルを認識するため、このメモリ・システムではしきい値ウィンドウを指定する。各しきい値ウィンドウはセルのメモリ状態を１つずつ指定するものである。複数のしきい値レベルにより、メモリ・セルに「ｎ」ビットのデータの格納を示す状態を指定する２n個のウィンドウが区別される。本発明については、２ビットを表すために４通りの状態を格納可能なメモリ・セルに関連して説明する。ただし、本発明は、３通りまたはそれ以上の状態を格納するメモリ・セルにも適用できる。
アドレス指定されたフラッシュＥＥＰＲＯＭメモリ・セルに格納された状態を読み取るため、ソースとドレイン間及び制御ゲートに動作電圧が加えられ、セルをアドレス指定する。アドレス指定されたセルの状態は、ソースとドレインとの間を流れる電流のレベルを検出することによって測定される。ソースとドレインとの間を流れる電流のレベルは、アドレス指定されたＥＥＰＲＯＭメモリ・セルのしきい値レベルに比例する。アドレス指定されたセルから流れる電流のレベルは、基準セルから発生した基準電流と照らし合わせて比較される。一実施形態では、この基準セルもＥＥＰＲＯＭセルであり、そのセルは適当な導電しきい値に一度だけプログラム可能である。メモリ１５０の感知方式については、以下に詳述する。
前述のように、フラッシュＥＥＰＲＯＭメモリ・セルならびに他のタイプのメモリ・セルは、複数のしきい値レベル（Ｖt）を格納するように構成可能である。セル当たり２ビットを格納可能なメモリ・セルでは、４通りのしきい値レベル（Ｖt）が必要である。その結果、各しきい値レベルごとに２ビットが指定される。表１は、本発明に一実施形態により構成された４通りのしきい値レベル（Ｖt）の論理レベル指定を示したものである。
0003798810.tif 000002
表１に示すしきい値レベルの場合、レベル０が最高のしきい値レベルであり、レベル３が最低のしきい値レベルである。表１に示すようなしきい値レベル（Ｖt）の論理レベル指定に関連して本発明を説明するが、本発明の精神または範囲を逸脱せずに、Ｖtしきい値レベルについて他の論理レベル指定も使用することができる。
第２図は、メモリ１５０の一実施形態を示す高レベル・ブロック図である。メモリ１５０は、ＭＬＣモードの動作と標準セル・モードの動作とを切り替えるための切替え制御装置２０５を含む。メモリ１５０は、読取りシステム２１１とメモリ・アレイ２００とを含む。読取りシステム２１１は、両方のモードでの読取りを可能にするためにバッファされたＭＬＣ  ａｄｄｒ信号とＭＬＣ制御信号の両方を受け取る。また、読取りシステム２１１は、アレイ・ロード２１０（第３図）と感知システム２２０（第４図）とを含む。メモリ・アレイ２００は、読取りシステム２１１に結合されており、データを格納するためのメモリ・セルを含む。メモリ・セルをプログラミングし消去するため、メモリ１５０は、検証論理回路２２７とプログラム・アライナ２２１とを含むプログラム回路をさらに含んでいる。検証論理回路２２７は、読取りシステム２１１からデータを受け取り、プログラム・アライナ２２１への入力のために「プログラム・イン」データを生成する。次にプログラム・アライナ２２１は、メモリ・アレイ２００内のメモリ・セルを選択的にプログラミングするために「プログラム・アウト」データを生成する。
メモリ１５０は、マルチレベル・セル・アドレス（ＭＬＣ  ａｄｄｒ）を格納するためにアドレス・バッファ２２３をさらに含む。一実施形態では、メモリ・システム１０２上の入力ピンからＭＬＣ  ａｄｄｒが受け取られる。代替実施形態では、ＭＬＣ  ａｄｄｒがプログラム制御装置１０５からアドレス・バッファ２２３に入力される。また、代替実施形態では、メモリがＭＬＣモードで動作しているときにＭＬＣ  ａｄｄｒがコマンドに指定される。
一般に、切替え制御装置２０５は、アクティブのＭＬＣ制御信号を生成し、メモリ１５０がＭＬＣモードで動作していることを示す。一実施形態の切替え制御装置２０５は、ＣＡＭヒューズ・セル２０７および２０９を含む。ＣＡＭセル２０７および２０９は工場でプログラム可能である。ＣＡＭセル２０９がプログラミングされるかまたは切れた場合、メモリ１５０はＭＬＣモードで動作するように構成される。ＣＡＭセル２０７をプログラミングすると、コマンドによりＭＬＣモードと標準モードとの間でメモリ１５０を切り替えることができるようになる。レジスタ２０８は、コマンド状態マシン１１０に結合されており、コマンド制御インタフェースによりＭＬＣモードと標準セル・モードの選択を可能にする。
切替え制御装置２０５は、ＡＮＤゲート２０１、２０２と、ＯＲゲート２０３も含む。制御エンジン１４０は、ＡＮＤゲート２０１および２０２に結合され、制御エンジン１４０がレジスタ２０８に格納された動作モードの現行選択を指定変更できるようにする。制御エンジン１４０がＭＬＣモードと標準セル・モードの選択を制御できる能力は、テストとシステム・アプリケーションのどちらでも有用である。たとえば、消去動作中、消去ブロック内のすべてのセルが消去されて共通状態になる。制御エンジン１４０は、ビットごとの場合よりセル・レベルの方が効率よく機能することができる。その結果、切替え制御装置２０５は、コマンド状態マシン１１０または制御エンジン１４０によりＭＬＣ制御信号を生成し、ＭＬＣモードまたは標準セル・モードの動作を選択する。
本発明のメモリ回路では、ＭＬＣモードと標準セル・モードの両方で動作が可能なので、両方のモードでメモリにアクセスするためのアドレス指定方式が必要である。一実施形態のアドレス指定方式は、ＭＬＣモードの動作と標準セル・モードの動作との間でアドレスの一貫性を維持する。セル当たり２ビットを格納可能なメモリ・システムの場合は、セル当たり複数ビットを格納することによって発生した追加のメモリ位置にアクセスするために、マルチレベル・セル・アドレス（ＭＬＣ  ａｄｄｒ）という余分なアドレスが供給される。標準セル・モードでは、各アドレスがメモリ・アレイ２００内の固有のワードを１つずつ識別する。ＭＬＣモードでは、同じアドレスが標準セル・モードで動作しているときと同じメモリ・アレイ２００内のワードを識別する。しかし、ＭＬＣモードの場合、ＭＬＣアドレスは、同じ量のデータを格納するセルの半分を識別する。
ＭＬＣモードで動作しているときにメモリ・システムがセル当たり２ビットを格納する場合、このメモリ・システムは、標準セル・モードで動作しているときよりＭＬＣモードで動作しているときの方が２倍のデータを格納することになる。たとえば、標準セル・モードで動作し、１６ビット・ワードを格納するメモリ・アレイでは、１６ビット・ワードを格納するために１６個のセルが必要である。同じメモリ・アレイがＭＬＣモードで動作し、セル当たり２ビットを格納する場合、同じ１６ビット・ワードを格納するために必要なセルはわずか８個である。したがって、標準セル・モードで動作しているときに単一アドレスが１６ビット・ワードを識別する場合、ＭＬＣモードで動作しているときは、８個のセルのうちのどれが１６ビットを格納するかを識別するために追加のアドレス・ビットが必要になる。ＭＬＣモードで動作するためにワード線内のセルを選択する動作については、以下に詳述する。
標準アドレス指定モードでアドレス指定可能な１６個のセル内から８個のセルを選択するためにＭＬＣアドレスを使用することにより、マルチレベル・セル・モードと標準モードとの間でアドレスの一貫性が維持される。第１の実施形態では、プログラム制御装置１０５上の追加のピンにより、ＭＬＣアドレスが供給される。第２の実施形態では、コマンドによりプログラム制御装置１０５からＭＬＣアドレスが受け取られる。ＭＬＣモードと標準モードの両方で動作可能なメモリ素子のアドレス指定の詳細については、本出願と同時に出願され、本発明の譲受人であるカリフォルニア州サンタ・クララのＩｎｔｅｌ  Ｃｏｒｐｏｒａｔｉｏｎに譲渡された関連特許出願［代理人整理番号４２３９０．Ｐ１５００］を参照されたい。
第３図は、本発明のメモリ・システムの一実施形態により構成されたアレイ・ロードとメモリ・アレイとを示す。メモリ１５０は、アレイ・ロード２１０と、列デコーダ２２５と、行デコーダ２３０と、メモリ・アレイ２００とを含む。アレイ・ロード２１０は、一部分でメモリ・アレイ２００内のＪ本の選択済みビット線用としてＪ個の出力線ロードまたは列ロードを生成する。列ロードを生成することにより、アレイ・ロード２１０は、メモリ・アレイ２００のアドレス指定済みセルが示す導電レベルを表す電圧を感知システム２２０（第４図）に出力する。一実施形態では、読取り動作のために１６個のメモリ・セルがアクセスされる。
メモリ・アレイ２００は、ｋ個のワードとｍ個の列とを有するものとして構成されている。列デコーダ２２５は、プログラム制御装置１０５から列アドレスを受け取り、アレイ・ロード２１０からの列ロードをメモリ・アレイ２００内の選択済みビット線に結合する。行デコーダ２３０は、プログラム制御装置１０５から行アドレスを受け取り、メモリ・アレイ２００内の指定のワードを選択する。列デコーダ２２５と行デコーダ２３０は、当技術分野で周知であるメモリ・アレイ内のビット線とワード線を選択するために使用する広範囲のデコーダを表すものなので、これ以上説明しない。
アレイ・ロード２１０内の各出力線は、列ロード２１２とドレイン・バイアス２１４とを含む。列ロード２１２は、選択済みメモリ・セル内の電流の伝導により電圧ＶOLを生成するための抵抗を供給する。一実施形態では、列ロード２１２は、飽和またはピンチオフ領域で動作する金属酸化物電界効果トランジスタ（ＦＥＴ）によって実現される。列ロードは、ＶCCなどのソース電圧に結合される。ドレイン・バイアス２１４は、対応する出力線にバイアスをかけ、メモリ・アレイ２００内のアドレス指定済みメモリ・セル用の適切なドレイン電圧を生成する。一実施形態では、ドレイン・バイアス２１４はカスコード回路として構成されている。また、アレイ・ロード２１０は、出力線２本ごとに選択回路２１６を１つずつ含む（たとえば、それぞれの奇数出力線と偶数出力線が１つの選択回路２１６に入力される）。選択回路２１６は、ＭＬＣ制御信号と、プログラム・アウト・データと、ＭＬＣ  ａｄｄｒとを受け取る。一般に、選択回路２１６は、出力線上の列ロード２１２とドレイン・バイアス２１４をメモリ・アレイ２００内の選択済みセルに接続し、ＭＬＣモードと標準セル・モードの両方でのメモリの動作をサポートする。選択回路２１６の動作については、以下に詳述する。
第４図は、本発明の一実施形態により構成された感知システムを示している。感知システム２２０は、基準回路２４０と比較器回路２３５とを含む。基準回路２４０は複数の基準電圧（Ｖref）を発生する。比較器回路２３５は、メモリ・アレイ２００内のアドレス指定済みセルが発生した出力線電圧（ＶOL）を受け取り、出力線電圧（ＶOL）と基準回路２４０から発生された基準電圧（Ｖref）とを比較する。比較器回路２３５の出力は、メモリ・システムから感知されたデータである。
基準回路２４０は、出力線電圧（ＶOL）との比較に使用するために複数の基準電圧（Ｖref）を発生する。あるいは、電流感知を使用する場合は、基準電流を発生するように基準回路２４０を構成することもできる。基準回路２４０は、マルチレベル・メモリ・セルに格納された「ｎ」通りの状態またはレベル用に「ｎ−１」通りの基準電圧を発生する。したがって、２ビットを表すために４通りの状態を格納可能なメモリ・システムでは、基準回路２４０が３通りの電圧レベルＶref0、Ｖref1、Ｖref2を発生する。
基準電圧レベルを発生するため、基準回路２４０は、各基準電圧ごとに基準セル３３０を１つずつ含む。この基準セルは、１回だけトリム可能なＥＥＰＲＯＭセルによって構築される。各基準セル３３０は、対応する列ロード３１０とドレイン・バイアス３２０とを含む。列ロード３１０とドレイン・バイアス３２０の機能は、アレイ・ロード２１０に含まれる列ロード２１２とドレイン・バイアス２１４の機能と似ている。基準電圧（Ｖref）は、対応する基準セル３３０での電流の伝導に比例する、列ロード３１０での電圧降下と等しくなる。
第５図は、本発明の一実施形態により構成された奇数および偶数出力線用の選択回路２１６と比較器回路２３５を示している。第５図に示すように、偶数および奇数出力線は選択回路２１６に入力される。アドレス指定済みセルの状態を感知するため、選択回路２１６は各出力線ごとにパス・トランジスタを１つずつ含んでいる。一実施形態の選択回路２１６は、偶数出力線内の電流の伝導を制御するためのｎチャネル電界効果トランジスタ（ＦＥＴ）４０５と、奇数出力線内の電流の伝導を制御するためのｎチャネルＦＥＴ４１０とを含む。また、選択回路２１６は、パス・トランジスタ４１５も含む。トランジスタ４１５は奇数出力線を偶数出力線に結合し、トランジスタ４１５のゲートはＭＬＣ制御信号に結合されている。
選択回路２１６は選択論理回路５００を含む。選択論理回路５００は、入力としてＭＬＣ制御信号とＭＬＣ  ａｄｄｒ信号とを受け取り、出力としてＭＬＣ(even)信号とＭＬＣ(odd)信号とを生成する。ＭＬＣ(even)信号はトランジスタ４０５のゲートに結合され、ＭＬＣ(odd)信号はトランジスタ４１０のゲートに結合される。表２は、選択論理回路５００の真理値表を示している。
0003798810.tif 000003
ＭＬＣ制御信号上のハイ論理レベルが示すようにＭＬＣモードで動作している場合、選択論理回路５００は、ＭＬＣの状態に基づいてＭＬＣ(even)信号とＭＬＣ(odd)信号を設定する（たとえば、論理レベルがハイであれば奇数出力線が選択され、論理レベルがローであれば偶数出力線が選択される）。ＭＬＣ制御信号上のロー論理レベルが示すように標準セル・モードで動作している場合、選択論理回路５００は、ＭＬＣ(even)信号とＭＬＣ(odd)信号の両方をハイ論理レベルに設定する。
ＭＬＣモードで動作しているときにメモリ・システム内のアドレス指定済みセルを感知するため、ＭＬＣ制御信号は、偶数出力線を奇数出力線に電気的に結合するようにトランジスタ４１５にバイアスをかける。ＭＬＣアドレスは、偶数出力線または奇数出力線のいずれかを選択し、それにより、選択した奇数メモリ・セルまたは偶数メモリ・セルに比較器回路２３５を電気的に結合する。ＭＬＣモードで動作しているときは、奇数メモリ・セルまたは偶数メモリ・セルがＭＬＣアドレスに基づいて奇数出力線と偶数出力線の両方に結合される。標準モードでは、ＭＬＣ制御信号がトランジスタ４１５をオフにする。その結果、偶数メモリ・セルは偶数出力線により比較器回路２３５に電気的に結合され、奇数メモリ・セルは奇数出力線により比較器回路２３５に電気的に結合される。
あらゆる奇数および偶数出力線のために、比較器回路２３５は、２つの比較器３２５および３３０と、マルチプレクサ（ＭＵＸ）３２０とを含む。比較器３３０は、偶数出力線電圧ＶOLeと比較用の基準電圧Ｖref1とを入力として受け取る。比較器３３０の出力はＢＩＴ0と示されている。メモリ・セル当たり４通りの状態を格納可能なメモリ・アレイの場合、ＭＵＸ３２０は基準回路２４０から発生した基準電圧（たとえば、Ｖref0、Ｖref1、およびＶref2）を入力として受け取る。ＭＵＸ３２０は、ＭＬＣ制御信号の状態と比較器３３０の出力に基づいて、基準電圧Ｖref0、Ｖref1、またはＶref2を出力する。比較器３２５は、奇数出力線電圧ＶOLoと比較用の選択済み基準電圧（たとえば、Ｖref0、Ｖref1、およびＶref2）を入力として受け取る。比較器３２５の出力はＢＩＴ1と示されている。
ＭＬＣモードで動作している場合、偶数出力線は奇数出力線に結合される（たとえば、ＶOLeの電圧レベルはＶOLoの電圧レベルに等しくなる）。選択済みセルが発生したＶOLeの電圧レベルがＶref1の電圧レベルより大きい場合、「１」またはハイ論理レベルが比較器３３０から出力される。あるいは、ＶOLeの電圧レベルがＶref1の電圧レベルより小さい場合、「０」またはロー論理レベルが比較器３３０から出力される。比較器３３０の出力とＭＬＣ制御信号はＭＵＸ３２０用の選択として使用される。比較器３３０の出力がロー論理レベルで、ＭＬＣ制御信号がアクティブ・ハイで、メモリがＭＬＣモードで動作していることを示している場合、ＶOLoとの比較のためにＶref0電圧レベルが選択される。ＶOLoの電圧レベルがＶref0の電圧レベルより大きい場合、比較器３２５の出力はハイ論理レベルになる。あるいは、ＶOLoの電圧レベルがＶref0の電圧レベルより小さい場合、比較器３２５の出力はロー論理レベルになる。比較器３３０の出力がハイ論理レベルで、ＭＬＣ制御信号がアクティブである場合、ＶOLoとの比較のためにＶref2電圧レベルが選択される。ＶOLoの電圧レベルがＶref2の電圧レベルより小さい場合、比較器３２５の出力はロー論理レベルになる。あるいは、ＶOLoの電圧レベルがＶref2の電圧レベルより大きい場合、比較器３２５の出力はハイ論理レベルになる。ＭＬＣモードで動作している場合、ＢＩＴ0ビットとＢＩＴ1ビットは単一セルの状態を表す。
マルチレベル・メモリ・システム１０２が標準セル・モードで動作している場合、偶数出力線上のＶOLe電圧レベルは選択済みの偶数メモリ・セルから発生し、奇数出力線上のＶOLo電圧レベルは選択済みの奇数メモリ・セルから発生する。ＭＬＣ制御信号がイナクティブであれば、比較器３２５への入力用としてＭＵＸ３２０でＶref1電圧レベルが選択される。このようにして、比較器３３０でＶOLe電圧レベルがＶref1電圧レベルと比較され、比較器３２５でＶOLo電圧レベルがＶref1電圧レベルと比較される。したがって、比較器回路２３５の出力は２ビットを表し、第１のビットは選択済みの偶数メモリ・セルから読み取られ、第２のビットは選択済みの奇数メモリ・セルから読み取られる。
一実施形態では、メモリ・セルをプログラミングし消去するためのコマンド・アーキテクチャが使用される。プログラミングと消去では、セルが適切にプログラミングされ消去されていることをそれぞれ検証することが必要である。コマンド状態マシン１１０は、マイクロプロセッサ１００から命令を受け入れるように結合されている。一般に、コマンド状態マシン１１０に書き込まれる命令は、メモリを消去しプログラミングすると同時に、消去およびプログラム動作が実行された後の内容を検証するための制御信号を発生するのに必要なコマンドを提供する。制御エンジン１４０は、コマンド状態マシン１１０とともに動作して、「所望のデータ」ビット・パターンに応じて選択されたメモリ・セルをプログラミングする。
一実施形態のプログラム・シーケンスは、プログラム／検証コマンドのセットアップと、メモリ１５０へのアドレスのロードと、選択済みメモリ・セルのプログラミングとを含む。消去シーケンスは、消去／検証コマンドの書込みと、消去サイクル中の消去の実行とから構成される。消去を検証するため、読取りサイクル中に消去検証動作が実行される。
第６図は、本発明の一実施形態により構成されたプログラム／検証および消去／検証システムを示す高レベル・ブロック図である。第６図では、各ワード線ごとに１６ビットずつのプログラミングを示している。しかし、本発明の精神および範囲を逸脱せずに、メモリ・セルをいくつでも使用することができる。メモリ・アレイ２００内のメモリ・セルをプログラミングするため、制御エンジン１４０はプログラミング用の所望のデータを格納する。ＭＬＣモードで動作している場合、プログラム・アライナ２２１は、プログラミング用のアドレスによって識別されたセルの一部分だけを選択する。
動作時に検証論理回路２２７は、感知システム２２０からの感知データ「ビット・アウト」を受け取り、メモリ・アレイ２００内のどのセルが追加プログラミングを必要とするかを示すために「プログラム・イン」データを生成する。たとえば、１６ビットを同時に感知するメモリ・システムの場合、感知システム２２０の出力は１６ビット・ワードになる。ＭＬＣモードで動作している場合、検証論理回路２２７は、１６ビット・ワードを格納するどのセルが追加プログラミングを必要とするかを識別するために８ビットの「プログラム・イン」データを生成する。標準セル・モードで動作している場合、検証論理回路２２７は、選択した１６ビットに対応する１６ビットの「プログラム・イン」データを生成する（図示せず）。その結果、標準セル・モードで動作しているときに、プログラム・アライナ２２１は「プログラム・アウト」データとして「プログラム・イン」データをそのまま渡すことになる。
ＭＬＣモードでのプログラミング用に適切な８個のセルを選択するため、プログラム・アライナ２２１はＭＬＣ  ａｄｄｒを受け取る。プログラム・アライナ２２１は、このＭＬＣ  ａｄｄｒに基づいて１６ビットの「プログラム・アウト」データを出力し、選択済みの８個のメモリ・セルのプログラミングを可能にする。前述のように、ＭＬＣモードで動作している場合、偶数出力線または奇数出力線のいずれかが選択される。たとえば、偶数セルが選択された場合、プログラム・アライナ２２１は、追加プログラミングを必要とする偶数出力線メモリ・セルだけを可能にするプログラム・アウト・データを生成する。
検証論理回路２２７は比較関数を取り入れている。標準セル・モードでは、検証論理回路２２７は単一ビット比較を実行し、メモリ・セルが「０」状態へのプログラミングを必要とするかどうかを判定する。ＭＬＣモードでは、比較関数は、メモリ・セル内に格納されたしきい値レベルと所望のディジタル・データとのアナログ比較を伴う。検証論理回路２２７は、所望のデータを感知システム２２０から感知した現行データとを比較し、メモリ・セルが追加プログラミングを必要とするかどうかを判定する。表３は、表１に開示したしきい値レベルにより構成されたＭＬＣモード動作用のアナログ比較関数を示している。表１に示すように、最高レベルであるレベル０はビット「００」に対応し、最低レベルであるレベル３はビット「１１」に対応する。「１」という出力は、メモリ・セルが追加プログラミングを必要とすることを示す。たとえば、ビット「１０」を現在格納している単一セルにビット「００」をプログラミングするには、検証論理回路２２７は１という「プログラム・イン」データ・ビットを出力する。この１という「プログラム・イン」データ・ビットは、レベル１からレベル０に移行するためにメモリ・セルが追加プログラミングを必要とすることを示している。
0003798810.tif 000004
第７図は、１６ビットを同時に感知するメモリ・システムにより構成されたプログラム・アライナ２２１を示している。プログラム・アライナ２２１は、検証論理回路２２７から８ビットの「プログラム・イン」を受け取り、ＭＬＣ  ａｄｄｒに基づいて１６ビットの「プログラム・アウト」を生成する。また、プログラム・アライナ２２１は、各「プログラム・イン」入力ビットごとに２つのＮＡＮＤゲート７０５および７１０を含む。さらに、プログラム・アライナ２２１は、ＭＬＣ  ａｄｄｒを受け取り、奇数または偶数メモリ・セルを選択するインバータ７２５を含む。表４は、プログラム・アライナ回路２２１の真理値表を示している。プログラム・アウトが「１」の場合、対応する出力線がプログラミング用に使用可能になることを示している。
0003798810.tif 000005
プログラム・アライナ２２１からの「プログラム・アウト」データは、メモリ・システム内の出力線の各対ごとに選択回路２１６に入力される。第５図に示すように、メモリ・セルをプログラミングするため、各選択回路２１６はトランジスタ５１０および５２０を含む。一実施形態では、このトランジスタがｎチャネルＦＥＴ素子で実現される。トランジスタ５２０はプログラミング電圧Ｖppを偶数出力線に結合し、トランジスタ５１０はプログラミング電圧Ｖppを奇数出力線に結合する。プログラム・アウト(even)信号はトランジスタ５２０のゲートを制御し、プログラム・アウト(odd)信号はトランジスタ５１０のゲートを制御する。動作時にプログラム・アウト(even)またはプログラム・アウト(odd)のいずれかにハイ論理レベルが現れると、プログラミング電圧Ｖppは対応する出力線に結合され、選択済みのセルで追加プログラミングを行えるようにする。
具体的な実施形態によって本発明を説明してきたが、当業者であれば、請求の範囲に記載した本発明の精神および範囲を逸脱せずに、様々な変更および変形が可能であることが分かるだろう。
【図１】
0003798810.tif 000006
【図２】
0003798810.tif 000007
【図３】
0003798810.tif 000008
【図４】
0003798810.tif 000009
【図５】
0003798810.tif 000010
【図６】
0003798810.tif 000011
【図７】
0003798810.tif 000012