(57)【要約】改善されたフラッシュＥＥＰＲＯＭメモリベースの記憶サブシステムが１以上のフラッシュメモリアレイを含み、各アレイは３つのデータレジスタと１つのコントローラ回路とを備えている。フラッシュプログラム動作の最中に、１つのデータレジスタを用いてプログラム動作を制御し、第２のレジスタを用いてターゲットデータ値を保持し、第３のレジスタを用いて次のセクタのデータのロードを行う。フラッシュプログラム動作に後続して、セクタのデータがフラッシュアレイから読出され、第１のデータレジスタの中へ入れられ、第２のレジスタに記憶されたターゲットデータと比較される。このデータが十分に検証されると、第３のレジスタから得られたデータが次のプログラム動作用として第１と第２のレジスタの中へコピーされる。これによって、プログラム動作の完了後データの検証を必要とするプログラム動作の最中に、データ転送待ち時間を経験することのない改善されたパフォーマンスをもつシステムが形成される。別の実施形態では、２レジスタの実施構成と単一レジスタの実施構成とを用いて比較が実行される。書込み後検証を反復して、データを読出すための様々なバイアス条件を利用することができる。この処理は、自動処理とすることもできるし、読出し条件の指定を行うことができるコマンドにより実行することも可能である。
2005507129.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリデバイスにおいて、
不揮発性メモリセルアレイと、
前記アレイに記憶すべきデータを受け取るマスタデータレジスタと、
前記マスタデータレジスタからデータを受け取るデータ比較レジスタと、
前記アレイからデータを受け取るスレーブデータレジスタと、
前記アレイにおける正しいデータプログラミングを検証するために、前記スレーブデータレジスタと前記データ比較レジスタとに記憶されたデータを比較する比較回路と、
を有することを特徴とする不揮発性メモリデバイス。
【請求項２】
前記メモリセルがフラッシュメモリセルを有することを特徴とする請求項１記載のデバイス。
【請求項３】
前記マスタデータレジスタが、前記比較を行いながら、前記アレイにプログラミングを行うために次のセットのデータを受け取るおよび／または保持することを特徴とする請求項１記載のデバイス。
【請求項４】
システムであって、
請求項１記載のようなメモリデバイスと、
エラーを示す前記比較の結果として、前記アレイへデータの再書込みをさせるコントローラと、
を有することを特徴とするシステム。
【請求項５】
不揮発性メモリデバイスの動作方法において、
不揮発性メモリセルアレイに記憶すべきデータを受け取るステップと、
マスタデータレジスタに前記第１のデータを記憶するステップと、
データ比較レジスタに前記第１のデータを記憶するステップと、
前記アレイの中へ前記第１のデータをプログラムするステップと、
前記アレイに記憶された形のままで前記第１のデータを読出すステップと、
前記読出した第１のデータをスレーブデータレジスタの中へ記憶するステップと、
前記アレイにおける正しいデータプログラミングを検証するために、前記スレーブデータレジスタと前記データ比較レジスタとに記憶された前記データを比較するステップと、
を有することを特徴とする不揮発性メモリデバイスの動作方法。
【請求項６】
前記プログラムするステップに先行して、前記マスタデータレジスタから前記スレーブデータレジスタへデータを転送することを特徴とする請求項５記載の方法。
【請求項７】
前記プログラミング、読出しおよび比較を行うステップのうちの１以上のステップと同時に、前記マスタデータレジスタがプログラミング用の第２のセットのデータを前記アレイに受け取るおよび／または保持することを特徴とする請求項５記載の方法。
【請求項８】
前記アレイ内のデータの不正確なプログラミングを示す前記比較ステップの結果として、前記データを前記アレイへ再プログラムする追加ステップをさらに含むことを特徴とする請求項５記載の方法。
【請求項９】
前記再プログラムするステップに後続して、前記読出しおよび比較ステップを反復するステップをさらに有することを特徴とする請求項８記載の方法。
【請求項１０】
不揮発性メモリデバイスにおいて、
不揮発性記憶ユニットのアレイと、
前記アレイに記憶すべきデータを受け取るマスタデータレジスタであって、前記アレイに記憶すべき前記データが前記アレイに記憶された後に、前記アレイに記憶すべき前記データを保持するように成すマスタデータレジスタと、
前記アレイからデータを受け取るスレーブデータレジスタと、
前記アレイにおける正しいデータプログラミングを検証するために、前記スレーブデータレジスタと前記マスタデータレジスタとに記憶されたデータを比較する比較回路と、
を有することを特徴とする不揮発性メモリデバイス。
【請求項１１】
前記記憶ユニットが、フラッシュメモリセルを有することを特徴とする請求項１０記載のデバイス。
【請求項１２】
前記記憶ユニットが、ＮＲＯＭメモリセルを有することを特徴とする請求項１０記載のデバイス。
【請求項１３】
前記記憶ユニットが、磁気メモリセルを有することを特徴とする請求項１０記載のデバイス。
【請求項１４】
前記記憶ユニットが、多状態記憶ユニットであることを特徴とする請求項１０記載のデバイス。
【請求項１５】
前記アレイに記憶すべき前記データが複数のデータセクタを有するデバイスにおいて、
書込み回路構成であって、前記アレイに前記複数のデータセクタを同時に記憶する書込み回路構成と、
をさらに有することを特徴とする請求項１０記載のデバイス。
【請求項１６】
前記比較回路が、前記スレーブデータレジスタと前記マスタデータレジスタとの中で前記複数のデータセクタのうちの複数のセクタを比較することを特徴とする請求項１５記載のデバイス。
【請求項１７】
前記比較回路が、前記スレーブデータレジスタと前記マスタデータレジスタとに１回に１セクタずつ逐次記憶された前記複数のデータセクタの比較を行うことを特徴とする請求項１５記載のデバイス。
【請求項１８】
システムであって、
請求項１０記載のようなメモリデバイスと、
コントローラと、
を有することを特徴とするシステム。
【請求項１９】
前記比較回路が、前記コントローラにより出されるコマンドに基づいて前記比較ステップを実行することを特徴とする請求項１８記載のシステム。
【請求項２０】
前記比較回路が、前記コントローラとは独立に前記メモリデバイスにより開始される処理で前記比較ステップを実行することを特徴とする請求項１８記載のシステム。
【請求項２１】
前記アレイからデータを読出し、前記データを前記スレーブレジスタへ供給するセンス回路構成をさらに有し、前記コントローラが、前記データを読出すための１以上のパラメータを指定することを特徴とする請求項１８記載のデバイス。
【請求項２２】
前記比較回路が、コマンドに基づいて前記比較ステップを実行するように構成されるデバイスにおいて、
前記アレイからデータを読出し、前記データを前記スレーブレジスタへ供給するセンス回路構成をさらに有し、前記コマンドが、前記データの読出し条件を指定することを特徴とする請求項１０記載のデバイス。
【請求項２３】
不揮発性メモリデバイスであって、
不揮発性記憶ユニットのアレイと、
前記アレイに記憶すべきデータを受け取るマスタデータレジスタであって、前記アレイに記憶すべき前記データが前記アレイに記憶された後に、前記アレイに記憶する前記アレイに記憶すべき前記データを保持するように成すマスタデータレジスタと、
前記アレイからデータを読出すセンス回路構成と、
前記アレイにおける正しいデータプログラミングを検証するために、前記アレイから読出したデータと前記マスタデータレジスタに記憶されたデータとを比較するための前記センス回路構成と接続された比較回路と、
を有することを特徴とする不揮発性メモリデバイス。
【請求項２４】
前記記憶ユニットが、フラッシュメモリセルを有することを特徴とする請求項２３記載のデバイス。
【請求項２５】
前記記憶ユニットが、ＮＲＯＭメモリセルを有することを特徴とする請求項２３記載のデバイス。
【請求項２６】
前記記憶ユニットが、磁気メモリセルを有することを特徴とする請求項２３記載のデバイス。
【請求項２７】
前記記憶ユニットが、多状態記憶ユニットであることを特徴とする請求項２３記載のデバイス。
【請求項２８】
第２のマスタデータレジスタをさらに有し、前記第２のマスタデータレジスタが、前記比較を行いながら、前記アレイにプログラミングを行うために次のセットのデータを受け取るおよび／また保持することを特徴とする請求項２３記載のデバイス。
【請求項２９】
第２のマスタデータレジスタをさらに有し、前記第２のマスタデータレジスタが、前記プログラミングを行いながら、前記アレイにプログラミングを行うために次のセットのデータを受け取るおよび／また保持することを特徴とする請求項２３記載のデバイス。
【請求項３０】
前記アレイに記憶すべき前記データが複数のデータセクタを有するデバイスにおいて、
書込み回路構成であって、前記アレイに前記複数のデータセクタを同時に記憶する書込み回路構成と、
をさらに有することを特徴とする請求項２３記載のデバイス。
【請求項３１】
前記センス回路構成が、前記複数のセクタのうちの複数のセクタを前記アレイから読出し、前記比較回路が、前記アレイから読出された前記複数のデータセクタのうちの複数のセクタと、前記マスタデータレジスタに同時に記憶されたデータとを比較することを特徴とする請求項３０記載のデバイス。
【請求項３２】
前記センス回路構成が、前記複数のセクタのうちの複数のセクタを前記アレイから読出し、前記比較回路が、前記アレイから読出された前記複数のデータセクタのうちの複数のセクタと、前記マスタデータレジスタに１回に１セクタずつ逐次記憶されたデータとを比較することを特徴とする請求項３０記載のデバイス。
【請求項３３】
システムであって、
請求項２３記載のようなメモリデバイスと、
コントローラと、
を有することを特徴とするシステム。
【請求項３４】
前記比較回路が、前記コントローラにより出されるコマンドに基づいて前記比較ステップを実行することを特徴とする請求項３３記載のシステム。
【請求項３５】
前記比較回路が、前記コントローラとは独立に前記メモリデバイスにより開始される処理で前記比較ステップを実行することを特徴とする請求項３３記載のようなシステム。
【請求項３６】
前記コントローラが、前記アレイから前記データを読出すための１以上のパラメータを指定することを特徴とする請求項３３記載のデバイス。
【請求項３７】
前記比較回路が、コマンドに基づいて前記比較ステップを実行し、前記コマンドが前記データの読出し条件を前記アレイから指定することを特徴とする請求項２３記載のデバイス。
【請求項３８】
不揮発性メモリデバイスであって、
不揮発性記憶ユニットのアレイと、
前記アレイに記憶すべきデータを受け取るマスタデータレジスタと、
前記マスタデータレジスタからデータを受け取るデータ比較レジスタと、
前記アレイに記憶すべき前記データを前記アレイに記憶する書込み回路と、
前記アレイからデータを受け取るスレーブデータレジスタと、
前記アレイにおける正しいデータプログラミングを検証するために、前記スレーブデータレジスタと前記データ比較レジスタとに記憶されたデータを比較する比較回路と、
を有することを特徴とする不揮発性メモリデバイス。
【請求項３９】
前記記憶ユニットが、多状態記憶ユニットであることを特徴とする請求項３８記載のデバイス。
【請求項４０】
前記アレイに記憶すべき前記データが複数のデータセクタを有し、前記書込み回路が、同時に記憶された前記アレイ内の前記複数のデータセクタを前記アレイに同時に記憶することを特徴とする請求項３８記載のデバイス。
【請求項４１】
前記比較回路が、前記スレーブデータレジスタと前記データ比較レジスタとの中で前記複数のデータセクタのうちの複数のセクタを同時に比較することを特徴とする請求項４０記載のデバイス。
【請求項４２】
前記比較回路が、前記スレーブデータレジスタ内の前記複数のデータセクタのうちの複数のセクタと、前記データ比較レジスタ内の前記複数のデータセクタのうちの複数のセクタとを逐次比較することを特徴とする請求項４０記載のデバイス。
【請求項４３】
システムであって、
請求項３８記載のようなメモリデバイスと、
コントローラとを有し、前記比較回路が、前記コントローラにより出されるコマンドに基づいて前記比較ステップを実行することを特徴とするシステム。
【請求項４４】
前記比較回路が、コマンドに基づいて前記比較ステップを実行するように構成されるデバイスにおいて、
前記アレイからデータを読出し、前記データを前記スレーブレジスタへ供給するセンス回路構成をさらに有し、前記コマンドが、前記データを読出すための１以上のパラメータを指定することを特徴とする請求項４３記載のシステム。
【請求項４５】
システムであって、
請求項３８記載のようなメモリデバイスと、
コントローラとを有し、前記比較回路が、前記コントローラとは独立に前記メモリデバイスにより開始される処理で前記比較ステップを実行することを特徴とするシステム。
【請求項４６】
前記比較回路が、コマンドに基づいて前記比較ステップを実行するように構成されるデバイスにおいて、
前記アレイからデータを読出し、前記データを前記スレーブレジスタへ供給するセンス回路構成をさらに有し、前記コマンドが前記データの読出し条件を指定することを特徴とする請求項３８記載のデバイス。
【請求項４７】
不揮発性メモリデバイスの動作方法において、
不揮発性記憶ユニットのアレイに記憶すべき第１のデータを受け取るステップと、
マスタデータレジスタに前記第１のデータを記憶するステップと、
前記第１のデータを前記マスタデータレジスタの中に保持しながら、前記アレイの中へ前記第１のデータをプログラムするステップと、
前記アレイに記憶されたままの形で前記第１のデータを読出すステップと、
前記読出した第１のデータをスレーブデータレジスタの中へ記憶するステップと、
前記アレイにおける正しいデータプログラミングを検証するために、前記スレーブデータレジスタと前記マスタデータレジスタとに記憶された前記データを比較するステップと、
を有することを特徴とする不揮発性メモリデバイスの動作方法。
【請求項４８】
前記プログラムするステップに先行して、前記マスタデータレジスタから前記スレーブデータレジスタへデータを転送することを特徴とする請求項４７記載の方法。
【請求項４９】
前記アレイ内のデータの不正確なプログラミングを示す前記比較ステップの結果として、エラー回復手段を実行する追加ステップをさらに含むことを特徴とする請求項４７記載の方法。
【請求項５０】
エラー回復手段を実行する前記ステップに後続して、前記読出しステップと比較ステップとを反復するステップをさらに有することを特徴とする請求項４９記載の方法。
【請求項５１】
前記比較ステップに後続して、前記読出しの反復、記憶および比較とを行うステップをさらに含むことを特徴とする請求項４７記載の方法。
【請求項５２】
前記比較ステップに先行する読出しステップと、前記比較ステップに後続して前記反復される読出しステップとを異なるセットの読出し条件を用いて実行することを特徴とする請求項５１記載の方法。
【請求項５３】
前記第１のデータが複数のセクタを有し、前記プログラミングが、前記アレイの中へ前記複数のセクタを同時にプログラムするステップを有することを特徴とする請求項４７記載の方法。
【請求項５４】
前記読出し、記憶および比較を行うステップを前記複数のセクタのうちの複数のセクタで同時に実行することを特徴とする請求項５３記載の方法。
【請求項５５】
前記読出し、記憶および比較を行うステップを前記複数のセクタに対して逐次実行することを特徴とする請求項５３記載の方法。
【請求項５６】
前記読出し、記憶および比較を行うステップをコマンドに基づいて実行することを特徴とする請求項４７記載の方法。
【請求項５７】
前記コマンドが、前記メモリデバイスの外部から発信することを特徴とする請求項５６記載の方法。
【請求項５８】
前記コマンドが、前記メモリデバイスにより内部で生成されることを特徴とする請求項５６記載の方法。
【請求項５９】
前記コマンドが、前記読出し条件を指定することを特徴とする請求項５６記載の方法。
【請求項６０】
前記コマンドが、前記読出しのための１以上のパラメータを指定することを特徴とする請求項５６記載の方法。
【請求項６１】
不揮発性メモリデバイスの動作方法において、
不揮発性記憶ユニットのアレイに記憶すべき第１のデータを受け取るステップと、
マスタデータレジスタに前記第１のデータを記憶するステップと、
前記第１のデータを前記マスタデータレジスタの中に保持しながら、前記アレイの中へ前記第１のデータをプログラムするステップと、
前記アレイに記憶されたままの形で前記第１のデータを読出すステップと、
前記アレイにおける正しいデータプログラミングを検証するために、読出されたままの形の前記第１のデータと、前記マスタデータレジスタに記憶された前記データとを比較するステップと、
を有することを特徴とする不揮発性メモリデバイスの動作方法。
【請求項６２】
前記アレイ内のデータの不正確なプログラミングを示す前記比較ステップの結果として、エラー回復手段を実行する追加ステップをさらに含むことを特徴とする請求項６１記載の方法。
【請求項６３】
エラー回復手段を実行する前記ステップに後続して、前記読出しステップと比較ステップとを反復するステップをさらに有することを特徴とする請求項６２記載の方法。
【請求項６４】
前記比較ステップに後続して、前記読出しの反復、記憶および比較とを行うステップをさらに含むことを特徴とする請求項６１記載の方法。
【請求項６５】
前記比較ステップに先行する読出しステップと、前記比較ステップに後続して前記反復される読出しステップとを異なるセットの読出し条件を用いて実行することを特徴とする請求項６４記載の方法。
【請求項６６】
前記第１のデータが複数のセクタを有し、前記プログラミングが、前記アレイの中へ前記複数のセクタを同時にプログラムするステップを有することを特徴とする請求項６１記載の方法。
【請求項６７】
前記読出し、記憶および比較を行うステップを前記複数のセクタのうちの複数のセクタで同時に実行することを特徴とする請求項６６記載の方法。
【請求項６８】
前記読出し、記憶および比較を行うステップを前記複数のセクタに対して逐次実行することを特徴とする請求項６６記載の方法。
【請求項６９】
前記読出し、記憶および比較を行うステップを制御信号に基づいて実行することを特徴とする請求項６１記載の方法。
【請求項７０】
前記制御信号が、前記メモリデバイスの外部から発信することを特徴とする請求項６９記載の方法。
【請求項７１】
前記制御信号が、前記メモリデバイスにより内部で生成されることを特徴とする請求項６９記載の方法。
【請求項７２】
前記制御信号が、前記読出しの条件を指定することを特徴とする請求項６９記載の方法。
【請求項７３】
前記制御信号が、前記読出しのための１以上のパラメータを指定することを特徴とする請求項６９記載の方法。
【請求項７４】
不揮発性メモリデバイスの動作方法において、
不揮発性記憶ユニットのアレイに記憶すべき第１のデータを受け取るステップと、
マスタデータレジスタに前記第１のデータを記憶するステップと、
データ比較レジスタに前記第１のデータを記憶するステップと、
前記アレイの中へ前記第１のデータをプログラムするステップと、
前記アレイに記憶されたままの形で前記第１のデータを読出すステップと、
前記読出した第１のデータをスレーブデータレジスタの中へ記憶するステップと、
前記アレイにおける正しいデータプログラミングを検証するために、前記スレーブデータレジスタと前記データ比較レジスタとに記憶された前記データを比較するステップと、
その後、読出しの反復、記憶および比較を行うステップと、
を有することを特徴とする不揮発性メモリデバイスの動作方法。
【請求項７５】
前記比較ステップに先行する読出しステップと、前記比較ステップに後続して反復される読出しステップとを異なるセットの読出し条件を用いて実行することを特徴とする請求項７４記載の方法。
【請求項７６】
不揮発性メモリデバイスの動作方法において、
不揮発性記憶ユニットのアレイに記憶すべき第１のデータを受け取るステップと、
マスタデータレジスタに前記第１のデータを記憶するステップと、
データ比較レジスタに前記第１のデータを記憶するステップと、
前記アレイの中へ前記第１のデータをプログラムするステップであって、前記第１のデータが複数のセクタを有し、前記プログラムするステップが前記複数のセクタを前記アレイの中へ同時にプログラムする前記プログラムするステップと、
前記アレイに記憶されたままの形で前記第１のデータを読出すステップと、
前記読出した第１のデータをスレーブデータレジスタの中へ記憶するステップと、
前記アレイにおける正しいデータプログラミングを検証するために、前記スレーブデータレジスタと前記データ比較レジスタとに記憶された前記データを比較するステップと、
を有することを特徴とする不揮発性メモリデバイスの動作方法。
【請求項７７】
前記読出し、記憶および比較を行うステップを前記複数のセクタのうちの複数のセクタで同時に実行することを特徴とする請求項７６記載の方法。
【請求項７８】
前記読出し、記憶および比較を行うステップを前記複数のセクタに対して１回に１セクタずつ逐次実行することを特徴とする請求項７６記載の方法。
【請求項７９】
不揮発性メモリデバイスの動作方法において、
不揮発性記憶ユニットのアレイに記憶すべき第１のデータを受け取るステップと、
マスタデータレジスタに前記第１のデータを記憶するステップと、
データ比較レジスタに前記第１のデータを記憶するステップと、
前記アレイの中へ前記第１のデータをプログラムするステップと、
制御信号に基づいて、
前記アレイに記憶されたままの形で前記第１のデータを読出すステップと、
前記読出した第１のデータをスレーブデータレジスタの中へ記憶するステップと、
前記アレイにおける正しいデータプログラミングを検証するために、前記スレーブデータレジスタと前記データ比較レジスタとに記憶された前記データを比較するステップと、
を有することを特徴とする方法。
【請求項８０】
前記制御信号が、前記メモリデバイスの外部から発信することを特徴とする請求項７９記載の方法。
【請求項８１】
前記制御信号が、前記メモリデバイスにより内部で生成されることを特徴とする請求項７９記載の方法。
【請求項８２】
前記制御信号が、前記読出し条件を指定することを特徴とする請求項７９記載の方法。
【請求項８３】
前記制御信号が、前記読出しのための１以上のパラメータを指定することを特徴とする請求項７９記載の方法。
【請求項８４】
不揮発性メモリデバイスの動作方法において、
１以上のセットに論理的に構成される不揮発性記憶ユニットのアレイに記憶すべき第１のデータを受け取るステップであって、各セットの記憶ユニットが複数の別々にアドレス可能なホストデータセクタを記憶し、前記第１のデータが複数のデータセクタを有するように構成されるステップと、
マスタデータレジスタに前記第１のデータを記憶するステップと、
データ比較レジスタに前記第１のデータの第１のセクタを記憶するステップと、
前記アレイの中へ前記第１のデータをプログラムするステップと、
前記アレイに記憶されたままの形で前記第１のデータの第２のセクタを読出すステップと、
前記第１のデータの前記読出した第２のセクタを第１のスレーブデータレジスタの中へ記憶するステップと、
前記第１のデータの前記読出した第２のセクタの条件を用いて、前記アレイに記憶されたままの形で前記第１のデータの前記第１のセクタを読出すステップと、
前記第１のデータの前記読出した第１のセクタを第２のスレーブデータレジスタの中へ記憶するステップと、
前記アレイにおける正しいデータプログラミングを検証するために、前記第２のスレーブデータレジスタと前記データ比較レジスタとに記憶された前記データを比較するステップと、
を有することを特徴とする方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体不揮発性メモリのアーキテクチャの分野およびアーキテクチャの処理方法に関し、フラッシュ型の電気的に消去可能でプログラム可能なリードオンリーメモリ（ＥＥＰＲＯＭ）に適用される。
【０００２】
【従来の技術】
フラッシュＥＥＰＲＯＭデバイスの一般的応用として、電子デバイス用大容量データ記憶サブシステムがある。このようなサブシステムは、複数のホストシステムの中へ挿入できる取り外し可能なメモリカード、あるいは、ホストシステム内の取り外し不可能な組み込み型記憶装置のいずれかの形で一般に実装される。上記双方の実装形態において、上記サブシステムが１以上のフラッシュデバイスを含み、さらに、サブシステムコントローラを含むことも多い。
【０００３】
フラッシュＥＥＰＲＯＭデバイスは１以上のアレイのトランジスタセルから構成され、各セルは１以上のビットデータの不揮発性記憶装置を実行する能力を有する。したがって、フラッシュメモリは該メモリ内にプログラムされたデータを保持するための電力を必要としない。しかし、セルは一旦プログラムされると、新しいデータ値で再プログラムが可能となる前にセルの消去を行う必要がある。これらのセルアレイはグループに分割され、読出し、プログラム、消去の各機能が効率的に実現される。大容量記憶装置用の代表的なフラッシュメモリアーキテクチャは、大きなグループのセルが消去可能なブロックとなるように構成される。各ブロックは１以上のアドレス可能なセクタにさらに分割され、これらのセクタが読出し機能とプログラム機能の基本単位となる。
【０００４】
上記サブシステムコントローラにより複数の機能が実行されるが、これらの機能の中には、サブシステムの論理ブロックアドレス（ＬＢＡ）の物理的チップ、ブロックおよびセクタアドレスへの変換機能が含まれる。また上記コントローラは、インタフェースバスを介してフラッシュメモリデバイスへ出される一連のコマンドを通じて低レベルのフラッシュ回路の動作の管理も行う。上記コントローラが実行する別の機能として、様々な手段によって（例えば、誤り訂正符号すなわちＥＣＣなどを利用して）上記サブシステムに対して記憶されたデータの完全性を保持する機能がある。
【０００５】
図１は、従来技術による代表的なフラッシュＥＥＰＲＯＭデバイスの内部アーキテクチャ４０００を示す。上記主な特長として含まれるものに、外部コントローラとのインタフェースを行うＩ／Ｏバス４１１および制御信号４１２と、コマンド、アドレスおよび状態用の各レジスタを用いて内部メモリ動作を制御するメモリ制御回路４５０と、フラッシュＥＥＰＲＯＭセルからなる１以上のアレイ４００とがあり、各アレイは、それ自身の行デコーダ（ＸＤＥＣ）４０１と列デコーダ（ＹＤＥＣ）４０２と、１グループのセンス増幅器とプログラム制御回路構成（ＳＡ／ＰＲＯＧ）４５４およびデータレジスタ４０４とを備えている。
【０００６】
所望の場合、例えば、本願の譲受人であるサンディスク  コーポレイションへ譲渡された１９９９年３月３０日登録の米国特許第５，８９０，１９２号が教示するような、関連するＸ復号器、Ｙ復号器、プログラム／検証回路構成、データレジスタ等と共に複数のアレイ４００が提供される。上記特許は本願明細書において参照により援用されている。
【０００７】
外部インタフェースＩ／Ｏバス４１１と制御信号４１２とは以下の信号を用いて構成することも可能である。
ＣＳ：チップ選択          フラッシュメモリインタフェースの起動に使用する。
ＲＳ：読出しストローブ    ＡＤバスがデータ読出し動作に使用中であることを示すために使用する。
ＷＳ：書込みストローブ    ＡＤバスがデータ書込み動作に使用中であることを示すために使用する。
ＡＳ：アドレスストローブ  ＡＤバスがアドレス情報の転送に使用中であることを示す。
ＡＤ［７：０］：アドレス／データバス    コントローラと、フラッシュメモリのコマンドレジスタ、アドレスレジスタおよびデータレジスタとの間でのデータ転送に使用される。
【０００８】
上記インタフェースは一例として示すものにすぎず、同じ機能を提供する別の信号構成の利用も可能である。上記結線図には、その関連する構成要素を備えた一つのフラッシュメモリアレイ４００しか示されていないが、単一のフラッシュメモリチップ上に多数のアレイの存在が可能であり、これらのアレイは共通のインタフェースとメモリ制御回路構成とを共有しながら、個々に独立したＸＤＥＣ、ＹＤＥＣ、ＳＡ／ＰＲＯＧおよびＤＡＴＡ  ＲＥＧ回路構成を備え、読出し動作とプログラム動作の同時実行を可能とすることを目的とするものである。
【０００９】
データが、ＥＥＰＲＯＭシステム４０００のデータレジスタ４０４から外部コントローラへＩ／ＯバスＡＤ［７：０］４１１と結合する上記データレジスタを介して転送される。データレジスタ４０４はセンス増幅器／プログラミング回路４５４とも結合される。各センス増幅器／プログラミング回路要素と結合されるデータレジスタの要素の数は各フラッシュＥＥＰＲＯＭセルに記憶されているビット数により決めてもよい。多状態メモリセルが採用される場合、各フラッシュＥＥＰＲＯＭセルは、２や４のような複数のビットを含むものであってもよい。
【００１０】
アクセスする物理セクタを選択するために、行デコーダ４０１によりアレイ４００用行アドレスの復号化が行われる。行デコーダ４０１は、メモリ制御論理回路４５０から内部行アドレスライン４１９を介して行アドレスの受信を行う。列デコーダ４０２はメモリ制御論理回路４５０から内部列アドレスライン４２９を介して列アドレスの受信を行う。
【００１１】
図２は代表的なフラッシュカードアーキテクチャを示し、このアーキテクチャには、ホスト機能とメモリ制御機能とを実行する単一のコントローラ３０１と、１以上のフラッシュメモリデバイスから構成されるフラッシュメモリアレイとが設けられている。システムコントローラとフラッシュメモリとはバス３０２により接続され、このバスにより、コントローラ３０１はフラッシュメモリアレイ間を往来するコマンド、アドレスおよび転送データのロードを行うことが可能となる。
【００１２】
リードバックに対して記憶データの有効性の判定に利用される誤り検出および訂正符号（ＥＣＣ）と共に、セクタ内へプログラムされたホストデータの各セクタ値の添付を行うことは一般に行われていることである。このようなシステムのなかには、データが損なわれていないことを保証する１つの方法としてメモリデバイスからコントローラへ転送が行われる機会を読出しデータの有効性チェックを行う機会として利用するものもある。
【００１３】
プログラムされたデータの有効性を保証するために、プログラムが行われた直後にセクタからデータの読出しを行うシステムもある。このデータは、次の動作が進行する前にＥＣＣ、データ比較または別のメカニズムによって検証される。当業者に周知のように、従来技術によるシステムでは、上記データの検証は読出し後に生じるデータ転送の最中に行われる。したがって、読出し動作の追加と、フラッシュメモリデバイスから実際に検証を実行するコントローラ回路へのデータ転送とに起因してプログラム動作の実行時間が増加することになる。このプログラム検証動作により、すべてのセルが所望のレベルにセットされてプログラムされているか、あるいは、所望のレベル以上にプログラムされているかどうかが示されるが、一般に、セルがターゲット状態を行き過ぎた（多状態メモリの場合、おそらく次の状態へ）かどうかのチェックは行われず、ある特定の検証条件を上回ったかどうかのチェックが行われるにすぎない。これらの記憶デバイスの忠実度全体に起因して、このような検証の最中に失敗が生じることは稀である。
【００１４】
図３は、２セクタプログラム／検証動作のタイミング図を示す。この動作時に、２つの宛先アドレス（ＤＳＴ［Ｎ］とＤＳＴ［Ｎ＋１］）の中へデータをプログラムし、続いて、次の宛先アドレス（ＤＳＴ［Ｎ＋２］）に対してプログラミングを行う前に検証のためのデータの読出しが行われる。ＲＥＡＤ信号は読出しがソースセクタから行われることを示す。ＸＦＥＲ信号はフラッシュデータレジスタとコントローラ間でのデータ転送を示す。Ｒ／ＷＢ信号は転送方向（ハイはフラッシュからコントローラへの読出し、ローはコントローラからフラッシュへの書込み）を示す。ＰＲＯＧ信号はプログラム動作が宛先ページに対して行われることを示す。
【００１５】
図４は、プログラム／検証動作の最中に生じるイベントのシーケンスを例示する。
１．  外部コントローラ回路（図示せず）からマスタデータレジスタ４０３へデータを転送する。
２．  スレーブデータレジスタ４０４へマスタデータレジスタ４０３の内容を転送する。
３．  スレーブデータレジスタ４０４からフラッシュメモリアレイ４００の中へデータをプログラムする。
４．  フラッシュメモリアレイ４００からスレーブデータレジスタ４０４の中へデータのリードバックを行う。
５．  スレーブレジスタ４０４からマスタデータレジスタ４０３へデータを転送する。
６．  検証を行うためにマスタデータレジスタ４０３から外部コントローラ回路（図示せず）へデータを転送する。
【００１６】
これらの検証動作の正確なコストは、種々のフラッシュメモリ動作の回数、データの設定サイズ、Ｉ／ＯバスのサイズおよびＩ／Ｏバスのサイクルタイムに応じて変動する。しかし、いくつかの代表値を用いた一例を以下に示す。
ＴＲＤ＝２５μｓ  ＴＸ  ＝２６．４μｓ  ＴＰＲＧ  ＝３００μｓ
（図４に示すような）単一セクタのプログラムと検証とにかかる総時間
ＴＰｇｍ／Ｖｆｙ  ＝ＴＸ  ＋ＴＰＲＧ  ＋ＴＲＤ＋ＴＸ  ＝３７７μｓ
データの検証時間をプログラム／検証動作全体の１４％にすること。
【００１７】
これらデバイスの書込みおよび読出しパフォーマンスの向上を図るために、一度にプログラムし、読出しを行うことが可能なセル数の増加を図ることが不揮発性メモリの設計における一般的趨勢である。これは、単一ダイ上のメモリセルアレイ数の増大、単一平面内のページサイズの増加、複数チップの同時プログラミング、あるいはこれら３つの技法のうちのいずれかの組み合わせにより達成可能である。これら技法のうちのいずれかの結果、プログラム回数と読出し回数とをほとんどあるいは全く変えることなく、プログラミングや読出しを行うさらに多くの対象セルのデータ転送の長さが長くなる。したがって、このような増加並列要因を持つシステムにおけるデータ検証コストはそれだけずっと高いものになる。一例として、上記例で利用するのと同じタイミング値により、４の４倍の増加並列要因を伴うシステムに対するインパクトを以下の式で示す。
ＴＰｇｍ／Ｖｆｙ  ＝４＊  ＴＸ  ＋ＴＰＲＧ  ＋ＴＲＤ＋４＊  ＴＸ  ＝５２６．４μｓ
データの検証時間を４ページのコピー処理全体の２４％にすること。
【００１８】
（発明の開示）
外部コントローラ回路へのデータ転送を行うことなく、プログラミング後の検証動作を実行する能力を持ち、さらに、当該プログラム動作または検証動作が行われている間外部コントローラからのデータ転送を可能にするフラッシュメモリデバイスが教示される。本発明の主要な局面によれば、プログラム対象データのコピーがメモリデバイスに保持される。プログラミングの完了後、メモリデバイス自体に対して実行される書込み後の読出し検証処理時に、上記データのリードバックが行われ、次いで、上記保持されているコピーとの比較が行われる。
【００１９】
１セットの実施形態では、不揮発性メモリシステムが３つのデータレジスタを備えた回路構成を用いて設計される。第１のデータレジスタは、プログラミング回路を制御し、読出し動作から得られるデータを記憶する。第２のデータレジスタは、後で行う検証のためのプログラミング用データのコピーを保持する。プログラム動作と、検証動作と、読出し動作とが行われている間、第３のデータレジスタはデータ転送に使用される。現在使用中の１セットのデータのプログラミング中、プログラム対象の次のセットのデータで行われる転送処理は、ストリームプログラミングと呼ばれる。プログラム動作に先行してデータの転送が行われ、第１および第２のレジスタの中へ入れられる。上記プログラミング動作に続いて、プログラムされたばかりのセルからデータのリードバックが行われ、第１のレジスタに記憶される。次いで、当該レジスタの内容が第２のレジスタの内容と比較される。これら２つのセットのデータ間の一致により、データが正しくプログラムされたことが示され、検証の成功を示す状態が生成される。このプログラム動作と検証動作の最中に、第３のデータレジスタを用いて、プログラム対象の次のセットのデータを受け取ることができる。
【００２０】
別のセットの実施形態では、２つのレジスタが実装され、マスタレジスタは、着信データを受け取り、このデータのプログラミングに続いてデータのコピーを保持する。データの書込み後、このデータは第２のレジスタの中へ読み込まれ、次いで、この第２のレジスタの内容はマスタレジスタ内の原データと比較される。別の代替実施形態では、単一のマスタレジスタのみが用いられ、プログラミングに後続してデータはマスタレジスタ内に再び保持され、アレイから読出されると、この読出しデータはマスタレジスタの内容と直接比較される。使用するプログラミング方法として、破壊的プログラミング法（プログラミング用として使用するレジスタ内のデータがプログラム／検証プロセス時に紛失する）と、非破壊的プログラミング法（プログラミングの間ずっとデータが保持される）の双方のプログラミング方法が上記変形例により可能である。
【００２１】
上記実施形態のすべてにおいて、プログラミング後の検証動作の反復が可能であり、その場合、適切な読出しマージン量の存在を保証する様々な読出し条件を用いて追加検証の実行が可能である。本発明の別の局面では、種々の実施形態により複数のデータセクタの同時書込みが可能であり、異なるセクタに対して逐次的方法もしくは同時的方法のいずれかの方法でプログラミング後の検証動作が実行される。プログラミング後の検証は、メモリデバイスに対する自動処理であってもよいし、あるいは、コントローラからのコマンドに基づいて上記検証を実行することもできる。上記コマンドにより、検証時に使用する読出しタイプの指定を行ったり、１セットのマージン用レベルなどの読出しに用いるパラメータの指定を行ったりすることができる。メモリとして、２進メモリセルまたは多状態メモリセルのいずれかのメモリセルの利用が可能である。多状態の実施形態では、アドレス指定はメモリレベルで行ってもよい。
【００２２】
本発明の追加の局面、特徴および利点は具体的な代表的実施形態についての以下の説明の中に含まれ、添付図面と関連して考慮されることが望ましい。
【００２３】
【発明の実施の形態】
本発明には、プログラム／検証動作のためのシステムと、フラッシュメモリデバイスに対してプログラム／検証動作を実行する方法との双方が含まれる。このプログラム／検証動作によれば、外部コントローラによりデバイスへの同時データ転送が可能となり、次に続くプログラミング動作のために行うメモリデバイスからのデータ転送が不要となる。本発明のプログラム後の読出し検証処理（文脈に応じて以下単にベリファイまたは検証と漠然と呼ぶ場合が多い）は、実際のプログラミング処理の一部として行われ、従来技術で通常行われるプログラム検証処理とは区別する必要がある。本発明の１つの主要な局面では、プログラミング中データのコピーがメモリデバイスに保持される。本発明の比較処理はプログラミング処理から独立した、プログラミング処理に後続する処理であり、実際の読出し処理を利用して、上記保持されたコピーとの比較を行う対象データが提供されるものである。図５は、本発明の１つの実施形態に基づいて構成される半導体不揮発性メモリを表す結線図を示す。この結線図の各構成要素は、図１と関連して前述した構成要素と類似しているが、以下の例外がある。データの検証動作の実行を目的とする追加のデータ比較レジスタ４０５および関連する比較論理回路４３０が存在する。本発明の１つの実施形態では、感知データが記憶され、プログラム対象データを供給するレジスタは、双方の動作を実行するための記憶エレメントが物理的に同じものとなるように設計される。
【００２４】
本発明での利用に適したこのようなデータレジスタ回路については前述の米国特許第５，８９０，１５２号に詳細な記載がある。別の好適なセットのレジスタ／データラッチ回路については、Ｒａｕｌ  Ａｄｒｉａｎ  Ｃｅｒｎｅａによる“動的列ブロックの選択”という２００１年９月１７日出願の米国特許出願に記載がある。この特許出願は本願明細書で参照により援用されている。記載されている実施形態によれば、マスタデータレジスタ４０３、スレーブデータレジスタ４０４およびデータ比較レジスタ４０５のような種々のレジスタが、同時にプログラムされるすべてのデータを保持できるだけの十分な大きさを有する。あるいは、同時にプログラムされる１セクタ当たり必要なだけのセットの適切な関連レジスタが存在する。図６は、２つの宛先アドレス（ＤＳＴ［ｎ］とＤＳＴ［ｎ＋１］）の中へデータをプログラムして、検証のために後で読出しが行われる２セクタプログラム／検証動作のタイミング図を示す。この読出しと同時に、アドレスＤＳＴ［Ｎ＝２］とＤＳＴ［Ｎ＋３］へ書込む次の対のセクタ用データ転送が行われる。ＲＥＡＤ信号は、プログラムしたばかりのアドレスから２つのセクタの同時読出しが行われていることを示す。ＸＦＥＲ信号は、フラッシュデータレジスタとコントローラ間でのデータ転送を示す。Ｒ／ＷＢ信号は、転送方向（ハイはコントローラへの転送、ローはフラッシュへの転送を意味する）を示す。Ｒ／Ｗ信号はいつもローであることに留意されたい。なぜなら、フラッシュメモリからコントローラへのデータ転送は行われないからである。ＰＲＯＧ信号は宛先ページに対してプログラム動作が行われていることを示す。
【００２５】
図７は、本発明のこれら３レジスタの実施形態に基づくプログラム／検証動作の最中に生じるイベントのシーケンスを示す。図７では、図５のＹ−復号器ＹＤＥＣ４０２、センス／プログラム回路ＳＡ／ＰＲＯＧ４５４およびその他のエレメントが解説を単純にするために省かれている。図７の処理には以下が含まれる。
１．  外部コントローラ回路（図示せず）からマスタデータレジスタ４０３へデータを転送する。
２．  スレーブデータレジスタ４０４とデータ比較レジスタ４０５とへマスタデータレジスタ４０３の内容を例えば同時に転送する。
３．  スレーブデータレジスタ４０４からフラッシュメモリアレイ４００の中へデータをプログラムする。
４．  フラッシュメモリアレイ４００からスレーブデータレジスタ４０４の中へデータのリードバックを行う。同時に、次のプログラム動作（ステップ１）を行うために外部バスからマスタデータレジスタ４０３の中へデータ転送を開始する。
５．  スレーブレジスタ４０４内のデータをデータ比較レジスタ４０５内のデータと比較する（４３０）。この比較結果は、例えば外部コントローラなどにより読出すことができるステータスレジスタ４３１内に保存される。
６．  比較が失敗した場合、外部コントローラは適切なエラー回復手段を適用することができる。
【００２６】
別の実施形態では、外部バスからマスタデータレジスタ４０３へのデータ転送が、“ストリームプログラミング”処理時のプログラミング、データのリードバックおよび比較ステップのうちの１以上のステップと共に同時に行われる。エラー条件を処理する多くの代替方法が存在する。これらの方法は、中間消去を伴わずにさらに多くのパルスを印加しながら行われる、異なる領域メモリに対するデータの書込みステップと、消去ステップ、または不良メモリとしてのメモリ欠陥部分のマーキング処理ステップ、あるいは、同じ領域に対するデータの消去および再書込みステップを含むものであってもよい。上記とは別に、ある一定数未満の数のエラーが生じた場合、アクションを行わないようにしてもよい。
【００２７】
これらの検証動作に要する時間とパフォーマンスという点から見た正確なコストは、種々のフラッシュメモリ動作の回数、データの設定サイズ、Ｉ／Ｏバスの幅およびＩ／Ｏバスのサイクルタイムに応じて変動する。しかし、いくつかの代表値を用いた本発明の動作の一例を以下に示す。
ＴＲＤ＝２５μｓ  ＴＸ  ＝２６．４μｓ  ＴＰＲＧ  ＝３００μｓ
（図４に示すような）単一セクタのプログラムと検証とを行うための総時間
ＴＰｇｍ／Ｖｆｙ  ＝［ＴＸ  ＋ＴＰＲＧ  ＋ＴＲＤ］＝３５１．４μｓ
これは、従来技術による単一セクタの例と比べてプログラム時間の７％の向上が表されている。
【００２８】
これらデバイスの書込みおよび読出しパフォーマンスの向上を図るために、一度にプログラムし、読出しを行うことが可能なセル数の増加を図ることが不揮発性メモリの設計における一般的趨勢である。このセル数の増加は、単一ダイ上のメモリセルアレイ数の増大、単一平面内のページサイズの増加、複数チップの同時プログラミング、あるいはこれら３つの技法のうちのいずれかの組み合わせにより達成可能である。これらのいずれも結果として、プログラム時間と読出し時間とをほとんどあるいは全く変えることなく、プログラミングや読出しの対象となるさらに多くのセルのデータ転送の長さの増加をもたらすことになる。したがって、このような増加並列要因を持つシステムにおけるデータ検証コストはそれだけずっと高いものになる。上記からの４セクタ例を用いると、
ＴＰｇｍ／Ｖｆｙ  ＝４＊  ＴＸ  ＋ＴＰＲＧ  ＋ＴＲＤ＝４２６μｓ
である。これは、従来技術による４セクタの例と比べてプログラム時間の２０％の向上が表される。
【００２９】
図７は、ステップ４と５の単一プログラミング後の読出し検証動作を示す。プログラミング後のこの読出し検証動作は実際のプログラミング処理の一部として行われる処理であり、従来技術で行われる一般的な検証処理とは区別する必要がある。図７の比較処理および上記別の実施形態の比較処理は、プログラミング処理から独立した、プログラミング処理に後続するものであり、実際の読出し処理を利用して、セルレベルに基づいて比較を行う対象データが提供される比較処理であるが、これに対して、プログラム検証処理は一定のターゲット値に対してセルレベルの比較を行う処理である。
【００３０】
プログラム検証処理では、破壊および非破壊プログラム／検証方式間の区別を行う必要がある。適切なレベルに基づいて記憶エレメントの検証を行うとき、破壊プログラム検証方式ではプログラム検証動作中スレーブレジスタの内容が損なわれる。これらのレジスタの内容はプログラミング回路構成へのフィードバック情報として利用され、所定の記憶エレメントがさらなるプログラミングを必要とするか否かが示される。一旦適切なレベルに基づいて検証されると、さらなるプログラムが行われることを防ぐために、検証済み記憶エレメントに対応するレジスタの内容はクリアされる。一旦スレーブレジスタのすべての内容がクリアされると、あるいは、すべての記憶エレメントの検証状態によりプログラミングの成功が示されるとプログラミング動作は完了する。非破壊プログラム／検証方式ではスレーブレジスタの内容は損なわれない。この方式では、記憶エレメントは、適切なレベルに基づいて検証された後、さらなるプログラミングステップを受け取ることができる。すべての記憶エレメントがプログラムされた状態に達した場合、上記プログラミング動作は終了し、すべての記憶エレメントの完了を検出できるようにするために、前記条件の検出を行うためのプログラム／検証結果のモニタが必要となる。従来技術では、一般に、フラッシュメモリデバイスにより、特に、マルチレベルデバイスで破壊プログラム／検証方式が採用される。追加のパルス出力がセル状態の分布に過度の逆影響を与えなければ、フラッシュメモリシステムで非破壊技術を用いてもよい。追加の応力を許容できる別の形の記憶エレメントを設けたメモリシステムで非破壊プログラム／検証方式を用いることも可能である。
【００３１】
図７に関して上述した実施形態では破壊プログラム／検証方式とストリームプログラミングの双方が利用される。データのコピーが比較レジスタに保存されるため、スレーブレジスタはプログラミングの最中にデータの保持を行う必要はない。さらに、マスタレジスタは、一旦その内容を比較レジスタとスレーブレジスタとへ転送すると、自由に次のセットのデータを受け取ることができる。ストリームプログラミング、非破壊プログラム／検証方式の利用、または上記双方を行わずに済ますことにより、さらに少数のレジスタを用いてプログラミング後の読出し検証動作の実現が可能となる。デバイスが非破壊プログラム／検証方式を採用している場合、比較レジスタは不要となり、スレーブレジスタ内のデータはセンス増幅器の出力との直接比較を行うことが可能となる。
【００３２】
別の実施形態では、プログラミング後の２回以上の読出し検証動作の実行が可能であるが、この読出し検証動作は、例えば毎回書込み動作後に行うか、あるいは、前回の複数回の検証動作以後の書込み動作回数などにより指定されるような或る一定の書込み動作後に実行するかのいずれかで行われたり、前回の複数回の検証動作以後の経過時間に基づいてランダムに行われたり、消去サイクル回数に基づいて消去検証の失敗時に行われたり、あるいは、プログラム／検証の失敗時に行われたりする。図１３と関連して以下に記載するように、ある電圧感知方式の、所定の電圧しきい値、低いマージン電圧しきい値、および、高いマージン電圧しきい値などの種々の条件下で上記の検証を実行することができる。このように異なる電圧レベルを利用することにより、本発明の書込み後の読出し検証動作はプログラム処理の一部を形成する従来の検証からさらに区別される。
【００３３】
メモリが検証により失敗状態が消去動作後に返されたとき、消去検証の失敗が生じる。その場合、通常の条件下で使用できるほどブロックが十分に消去されている可能性があっても、消去動作の失敗が予想される。これは、上記消去検証により、実際に必要とする以上のさらなる消去状態まで消去する対象セルのチェックが行われ、それによって、通常の使用に求められるよりもさらに多くの保護周波数帯が与えられる場合があるという事実に起因して生じる。これについては、例えば米国特許第５，１７２，３３８号と第５，６０２，９８７号に記載されている。上記特許は本願明細書で参照により援用されている。消去後ブロックが使用可能かどうかかをチェックする別の方法として、十分に消去されていないセルのチェックを行うために一般的設定マージンをとって、消去失敗のチェックのためにバイアスをかけた条件下で消去後に読出しを実行するという方法がある。このような読出しを消去後毎回行うことは、システムにパフォーマンスのペナルティを課すことになるため、一般にこのような読出しは回避される。従来技術による多くのフラッシュメモリシステムでは、消去動作の検証状態は無視され、書込み後の読出し検証動作の結果だけが専らチェックされてきた。本発明の１つの実施形態では、不十分な消去セルのチェックに対してバイアスをかけた、書込み後の追加読出し検証動作が消去検証失敗状態の場合にのみ実行される。もしブロックがこれらの読出し／検証条件をパスすれば、消去検証の失敗にもかかわらず、そのブロックは通常の条件下で使用可能であると考えられる。
【００３４】
消去サイクル回数に基づいて複数回の読出し／検証動作のコールを行うことは、前回の複数回検証動作以後実行された書込み動作の回数に基づくコールの決定に類似している。なぜなら、消去動作とプログラム動作とは一般に１対１に対応しているからである。一変形例では、消去サイクルの総数の代わりに、前回の複数回検証動作以後実行された消去動作の回数により複数回検証動作の利用をトリガーすることも可能である。本願明細書で参照により援用されている米国特許第５，０９５，３４４号に、フラッシュメモリ記憶システムにおける消去サイクル回数のメンテナンスについての解説がある。
【００３５】
追加書込み後の読出し／比較のトリガリングに関連するプログラム検証の失敗基準に関して述べると、プログラム検証がプログラム動作後メモリにより返された状態であり、すべてのセルが所望のレベルに基づいてプログラムされたか、所望のレベル以上にプログラムされたかのいずれかを示す状態であることに留意されたい。このプログラム検証は、本発明の明細書記載の書込み後の読出し検証とは異なるものであり、本発明の書込み後の読出しとは検証セルの具体的な状態を決定するためのセルの実際の読出しである。このプログラム検証では、一般に、セルがターゲット状態を行き過ぎた（多状態メモリの場合、おそらく次の状態へ）かどうかのチェックは行われない。
【００３６】
図８は、２回の書込み後の比較検証が行われる一実施形態の３レジスタ実施構成を示す。図７と比較すると、追加比較を行うためにステップ６と７とが追加されている。この処理には、図７には明白には示されていない段階３（“ストリームプログラミング”動作）中のオプションのデータ転送も含まれる。但し、図７で段階３を用いることも可能である。図８の変形例は、次のプログラム動作に関連するデータ転送の開始が、読出し検証を伴わずに、現在のプログラミング動作の開始と一致するという点でも上記シーケンスとは異なっている。このプログラミング動作が長くなるにつれて、より多くのデータ転送時間が同時に生じることになる。対応するタイミング図が以下の図１２に描かれている。
【００３７】
図８に示すように、本発明に基づくプログラム／検証動作中に生じるイベントのシーケンスには以下が含まれる。
１．  外部コントローラ回路（図示せず）からマスタデータレジスタ４０３へデータを転送する。
２．  スレーブデータレジスタ４０４とデータ比較レジスタ４０５とへマスタデータレジスタ４０３の内容を例えば同時に転送する。上記とは別に、スレーブデータレジスタ４０４のロード後であるが、ステップ５に先行してデータ比較レジスタ４０５のロードを行うこともできる。
３．  スレーブデータレジスタ４０４からメモリアレイ４００の中へデータをプログラムする。
ｉ．一旦マスタデータレジスタ４０３の内容がスレーブデータレジスタ４０４とデータ比較レジスタ４０５とへ転送されると、次のプログラム動作（ステップ１）のための外部バスからマスタデータレジスタ４０３の中へのデータ転送が開始される。この転送は、プログラミングと同時に開始することができる。
４．  読出し検証の所定の反復を行うために所望の条件下でメモリアレイ４００からスレーブデータレジスタ４０４の中へデータのリードバックを行う。
５．  スレーブレジスタ４０４内のデータをデータ比較レジスタ４０５内のデータと比較する（４３０）。この比較結果は、ステータスレジスタ４３１内に保存され、例えば、外部コントローラなどにより上記結果の読出しが可能である。
６．  例えば、上述の基準のうちの１つに基づいて１以上の追加読出し検証を行うべきか否かの決定を行う。各反復に関連する所望の条件そしておそらく様々な読出し条件下ですべての所望の反復を行うためにステップ４〜５を反復する。
７．  上述したように、比較が失敗した場合、外部コントローラは適切なエラー回復手段を適用することができる。
【００３８】
上述したように、これらの検証動作の正確な時間／パフォーマンスコストは変動するが、個々の動作回数を表す上記と同じ例示的値を用いて、２回書込み後の比較検証を伴う図４の従来技術による単一セクタの例により以下の式が与えられる。
ＴＰｇｍ／Ｖｆｙ  ＝ＴＸ  ＋ＴＰＲＧ  ＋ＴＲＤ＋ＴＸ  ＋ＴＲＤ＋ＴＸ  ＝４２９μｓ
２回書込み後の比較検証を伴う従来技術による４セクタの同時処理例の場合、
ＴＰＧＭ／ＶＦＹ  ＝４＊  ＴＸ  ＋ＴＰＲＧ  ＋ＴＲＤ＋４＊  ＴＸ  ＋ＴＲＤ＋４＊  ＴＸ  ＝６６６μｓ
である。
図８に示すような本発明の実施形態の場合、単一セクタの例は以下の式になる。
ＴＰＧＭ／ＶＦＹ  ＝ＴＸ  ＋ＴＰＲＧ  ＋ＴＲＤ＋ＴＲＤ＝３７６μｓ
４セクタの同時処理例の場合、
ＴＰＧＭ／ＶＦＹ  ＝４＊  ＴＸ  ＋ＴＰＲＧ  ＋ＴＲＤ＋ＴＲＤ＝４５５μｓ
である。
これらはそれぞれ１２％の向上と３２％の向上を表す。これらの節減はストリームプログラミングに起因するパフォーマンスの向上を考慮に入れたものではないことに留意されたい。節減による上記パフォーマンスの向上は、現在のセクタのプログラミング中に、次に続くセクタの中へプログラムする対象データを転送することにより達成される。
【００３９】
これまで説明した実施形態はすべて、データのコピーを記憶するための別個のレジスタ（データ比較レジスタ４０５）と、読出し／書込み回路４５４間を往来して転送されるデータを保持するためのレジスタ（スレーブデータレジスタ４０４）とを利用する実施形態である。別のセットの実施形態では、２レジスタ実施構成でマスタレジスタとスレーブレジスタのみが使用され、この実施構成ではマスタレジスタが比較レジスタとしても利用される。このような実施形態では、データ比較を実行することは可能であるが、十分なプログラム／検証動作の完了後まで、ホストからフラッシュメモリコントローラの中への次のデータ転送の開始は不可能である。
【００４０】
図７と図８の３レジスタの実施形態として示されている単一の書込み後の比較検証と複数回の書込み後の比較検証の双方の検証を２レジスタと１レジスタの実施形態で利用することができる。２レジスタの実施形態では、ストリームプログラミングを省くか、非破壊プログラム／検証方式を使用しなければならないかのいずれかで行われるが、単一レジスタの実施形態では、以下のマトリックスに記載のように双方の手段が採用される。
2005507129.tif 000003
【００４１】
３レジスタマトリックスの破壊ブロック内での第１のエントリは図７と図８と関連して説明した処理である。一変形例では、１レジスタの非破壊実施形態に関連して以下で説明する処理と類似する検知処理の出力と比較レジスタ（ＣｍｐＲｅｇ）との直接比較が可能である。２レジスタ破壊のケースでは、比較レジスタ（ＣｍｐＲｅｇ）が存在しないため、スレーブレジスタ（ＳｌｖＲｅｇ）またはセンス出力のいずれかとの比較を行うのためにマスタレジスタがデータのコピーを保持しているので、ストリームプログラミングは不可能である。比較用に使用する無損傷のデータのコピーがメモリ上に存在することはないので、１レジスタの破壊処理を利用することはできない。
【００４２】
非破壊列では、一旦現在のデータセットを転送すると、マスタレジスタが未使用状態となるため、３レジスタの実施形態によりストリームプログラミングが可能となる。このケースでは、破壊のケースの場合と同じように、プログラミング結果の読出し、スレーブレジスタへの記憶および比較レジスタの内容との比較が可能となる。上記とは別に、スレーブレジスタはデータのコピーを保持しているので、スレーブレジスタに保存されたこのコピーをセンス出力と直接比較することができる。その場合、比較レジスタは冗長なものとなる。今や冗長なものになったこの比較レジスタが取り除かれた結果として２レジスタの非破壊のケースが得られる。スレーブレジスタを使用する代わりに、マスタレジスタからデータの非破壊プログラミングを直接実行すれば、１レジスタによる実施形態において、マスタレジスタ内の保持データとセンス出力との直接比較が可能となる。この単一レジスタの実施形態では、ストリームプログラミングを利用することはできない。上記では、いずれの方式でもセンス出力に対する直接比較が可能であるという点に留意されたい。
【００４３】
図９は、非破壊プログラム／検証と２回書込み比較検証動作とを用いる２レジスタによる実施構成の一例を示す。マスタ動作と比較動作とが単一レジスタにより共有される結果、図５の４０５と４０３とは同じものとなる。４３０が一方の入力部で４０４と接続され、マスタデータレジスタ４０３／４０５がもう一方の入力部で接続される。マスタはプログラミングに続いてデータの保持を行い、比較が実行される。
【００４４】
図９の実施形態の処理は、図８と関連して記載した処理の場合と同様である。
１．  外部コントローラ回路（図示せず）からマスタデータレジスタ４０３へデータを転送する。
２．  マスタデータレジスタ４０３の内容をスレーブレジスタ４０４へ転送する。このデータはマスタデータレジスタ４０３に保持される。
３．  スレーブレジスタ４０４からメモリアレイ４００の中へデータをプログラムする。マスタデータレジスタ４０３がこのデータのコピーを保持しているため、追加レジスタが利用可能できない限りストリームプログラミングを行うことはできない。
４．  読出し検証の所定の反復を行うための所望の条件下でメモリアレイ４００からスレーブレジスタ４０４の中へのデータのリードバックを行う。
５．  スレーブレジスタ４０４内のデータをマスタデータレジスタ４０３内のデータと比較する（４３０）。この比較結果は、ステータスレジスタ４３１内に保存され、例えば、外部コントローラにより読出すことができる。
６，７．  例えば、上述の基準のうちの１つの基準に基づいて１以上の追加読出し検証を行う場合、ステップ６と７によりステップ４と５とが反復され、各反復に関連する所望の読出し条件下ですべての所望の反復が実行される。上述したように、比較が失敗した場合、外部コントローラは、適切なエラー回復手段を適用することができる。
【００４５】
単一レジスタの実施形態では、非破壊プログラム／検証方式を用いる場合、単一書込み後の比較検証処理と複数回書込み後の比較検証処理の双方の実行が可能である。図１０は、２部分の書込み比較検証動作のための上記のような配置構成を示す。このセットの別の実施形態では、読出し済みデータをレジスタに記憶して、このレジスタの記憶内容の比較を行うのではなく、読出し処理の終了と同時に比較が行われる。図５のスレーブレジスタと比較レジスタ（それぞれ４０５と４０４）とはこの時存在せず、４３０はこの場合ＳＡ／ＰＲＯＧ４５４のセンス回路構成と一方の入力部で接続され、マスタデータレジスタ４０３は他方の入力部で接続されている。図９の場合と同様、データはマスタデータレジスタ４０３に保持されているが、図９とは異なり、データセットを破壊することなくマスタデータレジスタからアレイのプログラムが行われる。図１０に示す実施形態の２回書込み後の比較検証処理のための処理は以下のようになる。
１．  外部コントローラ回路（図示せず）からマスタデータレジスタ４０３へデータを転送する。
２．  マスタデータレジスタ４０３からメモリアレイ４００の中へデータをプログラムする。このデータはマスタデータレジスタ４０３に保持される。マスタデータレジスタ４０３がこのデータのコピーを保持しているため、追加のレジスタが利用できない限りストリームプログラミングを行うことはできない。
３．  読出し検証の所定の反復を行うため所望の条件下でメモリアレイ４００からデータのリードバックを行い、マスタデータレジスタ４０３内のデータと上記メモリアレイ４００からのデータとの直接比較を行う。この比較結果はステータスレジスタ４３１内に保存され、外部コントローラなどにより読出すことができる。
４．  例えば、上述の基準のうちの１つの基準に基づいて１以上の追加の読出し検証を行う場合、ステップ４によりステップ３とが反復され、各反復に関連する所望の読出し条件下ですべての所望の反復が反復される。上述したように、比較が失敗した場合、外部コントローラは、適切なエラー回復手段を適用することができる。
図１０の単一レジスタの実施形態の変形例では、第２のレジスタ４０３を設けることができ、それによって、第１のマスタデータレジスタ４０３を用いてステップ１〜４を実行しながら、ストリーム処理で次のデータをロードできるようにする。第１のレジスタ４０３に関連する処理の完了後、２つのマスタデータレジスタ４０３の役割は切り替えられる。
【００４６】
図１１と図１２は、ストリームプログラミングの利用を示す一対のタイミング図である。ストリームプログラミングとは、この処理を可能にする実施形態において、データのプログラミングをレジスタの中で現時点で行いながら、後続セクタのプログラムを意図するデータの出力を行うアクションである。
【００４７】
図１１の結線図は、各々の単一の読出しに先行する２セクタ同時プログラミング動作の従来技術による例を示し、図３と図６で用いられているプロトコルとは異なるプロトコルをベースとするものである。図１１および以下図１２の例示プロトコルは適応性があり、かつ、より記述的であるため、本発明の概念についてさらに易しい説明が可能となる。描かれているこのインタフェースを簡単に説明すると、ＡＬＥラインはアドレスがメモリへ出されるとアクティブハイになり、ＣＬＥラインはコマンドがメモリへ出されるとアクティブハイになり、バーＷＥラインはメモリに書込まれたデータ、アドレスおよびコマンドの計時を行い、バーＲＥはメモリから読出されるデータ、アドレスおよびコマンドの計時を行い、Ｒ／バーＢラインは、メモリデバイスがメモリアレイに対して読出し、書込みまたは消去動作を実行するとアクティブローになる。シーケンスＣ．１．ＡとＣ．１．Ｂは読出し処理であり、この場合、バーＲＥがローになると、データは、それぞれ入出力ラインでＤＡＴＡ  ＮとＤＡＴＡ  Ｎ＋２を用いてメモリデバイスから転送される。図１１の実施形態は、例えば、シーケンスＣ１．ＡとＣ１．Ｂを反復して、異なるコマンドを用いて各セットのシーケンスを開始することにより、各セクタに対する２回の読出しのケースへも拡張することができる。例えば、各シーケンスがコマンドＲＥＡＤ１  ＣＭＤから始まるシーケンスを一度出し、次いで、ＲＥＡＤ２  ＣＭＤから始まるシーケンスを再び出して様々な読出し条件を示すようにする。別の実施形態では、各読出しコマンドの前にデータの形で或るセットのパラメータを出す必要がある場合もある。
【００４８】
図１１に描かれている同様のインタフェースの従来技術による実施構成では、この部分（インタフェース）がビジーである間、インタフェースを介するいずれの活動も無視されるが、本発明のストリームプログラミングの実施構成の局面では、メモリデバイスがインタフェースを介する活動を許すことが求められる。図１１と図１２の結線図には、インタフェースのフレームワークの範囲内で１つの可能な実施構成が描かれている。また、別のタイミング図も可能である。ＸＦＥＲ  ＣＭＤはメモリデバイスへのデータ転送を開始し、ＣＡＣＨＥ  ＣＭＤがメモリへのデータ転送を完了する。ＰＧＭ  ＣＭＤを用いて、マスタレジスタからスレーブレジスタへのデータの転送をトリガーし、レジスタの比較を行うことができる。ＡＤＤＲとＤＡＴＡ双方の段階は実際にはいくつかのサイクルから構成されることになる。初めて行われるデータ書込みに後続してＲ／バーＢラインがローになり、プログラム／検証段階がターゲットレベルに達したかどうかの判定を行うステップを含むプログラム動作の状態がＳＴＡＴ  ＣＭＤとＳＴＡＴとにより与えられる。再度、プログラム動作の一部として行われる検証が本発明の処理から独立したものである。本発明のこの処理は読出しに基づいて行われ、書込み処理の完了に後続して行われる。
【００４９】
図１２は、２セクタ同時プログラミング動作の例の部分的タイミング図を示し、各セクタの単一比較検証に後続して“ストリームプログラミング”が行われる。種々のエレメントが再構成され、変更され、繰り返されあるいは省かれる場合、この基本結線図には複数の異なる実施形態のエレメントが含まれる。
【００５０】
第１のセットの実施形態では２セクタ同時プログラミング、ストリームプログラミングおよび書込み後の単一の比較検証が実行される。これは図１２に示す例である。第１の２つのデータセクタ（ＮとＮ＋１）の転送に続いて、Ｒ／バーＢがローになったとき、これらの２つのセクタはプログラムされ、メモリアレイの中へ入れられる。これらのセクタが書込まれている間、次の２つのセクタ（Ｎ＋２とＮ＋３）がマスタデータレジスタの中へシーケンスＣ２．Ａの形で転送される。（この特別の変形例では、３レジスタ実施構成または２レジスタ非破壊実施構成が用いられ、アレイの出力信号がレジスタと直接比較される。）この後に、シーケンスＣ２．Ｂが続き、アドレスＮに記憶されたデータが読出され、比較される。次いでシーケンスＣ２．Ｃが続き、アドレスＮ＋１に記憶されたデータが読出され、比較される。結線図の図示部分の後に続くシーケンスＣ２．Ｃの残り部分はシーケンスＣ２．Ｂの場合と同じように完了される。
【００５１】
シーケンスＣ２．Ａの新しいデータ転送がシーケンス内のどこから始まるかに関しては選択することができる。プログラミング動作自体の後、かつ、後続する読出し検証の最中に始まるデータ転送が図３と図６に示す例に示されている。上記読出し動作は、同時プログラミング動作に要求される数回のデータ転送の累積時間に比べて相対的に短いため、若干のデータ転送時間がフラッシュメモリの動作と同時に実行されなくなる。すべてが同時に実行される場合と比較して、メモリの動作時間に追加されるいずれのデータ転送時間の場合もパフォーマンスが低下することになる。図１１と図１２に、プログラム動作中に始まるデータ転送が示されている。プログラム動作が長く、さらに、読出し検証動作が後続するため、ずっと多くの時間がかかるデータ転送処理がメモリの動作と同時に実行されることになる。このため、たとえ低下が生じるとしても、結果としてパフォーマンスの低下はずっと少なくなる。図１２では、シーケンスＣ２．ＡとシーケンスＣ２．Ｂとの間で生じる信号ＳＴＡＴ  ＣＭＤとＳＴＡＴは、シーケンスＣ２．ＢとシーケンスＣ２．Ｃ内で発生する信号ＳＴＡＴ  ＣＭＤおよびＳＴＡＴと区別する必要がある。シーケンスＣ２．ＡとＣ２．Ｂとの間のＳＴＡＴ  ＣＭＤとＳＴＡＴとにより、ターゲットレベルに達したどうかを判定するプログラム／検証段階が含まれる、ローのＲ／バーＢ信号中に実行されるプログラム動作の状態が示されている。シーケンスＣ２．ＢとＣ２．Ｃ部分を形成するＳＴＡＴ  ＣＭＤとＳＴＡＴとにより本発明の書込み後の読出し検証動作の状態が示される。さらに一般的に言えば、別の実施形態では異なるコマンドを使用することができ、プログラム検証状態に対して１つのコマンドを使用し、読出し検証処理については別のコマンドを使用するようにすることも可能である。図１２のシーケンスＣ２．ＢをシーケンスＣ１．Ａと比較する際、シーケンスＣ２．Ｂが、転送状態だけで終るのに対して、シーケンスＣ１．Ａの方はメモリから転送されるデータで終るということを付記しておく。別の実施形態では、データを同時に比較することも可能であり、また、シーケンスＣ２．Ｂを変更して、双方のアドレスを出すようにすることも可能である。例えば、複合型Ｃ２．Ｂ／Ｃ２．ＣシーケンスはＣＭＰ１  ＣＭＤ、ＡＤＤＲ  Ｎ、ＡＤＤＲ  Ｎ＋１、ＣＭＰ  ＥＸＥＣ  ＣＭＤ、ＳＴＡＴ  ＣＭＤ、ＳＴＡＴであってもよい。この場合、比較の対象であるすべてのアドレスが出されたことを示すために追加ＣＭＰ  ＥＸＥＣ  ＣＭＤが使用される。
【００５２】
別の代替実施形態では、メモリはプログラミング動作後自動的に比較シーケンスを実行することも可能であり、それによって、シーケンスＣ２．ＢとＣ２．Ｃとは不要となる。その場合、プログラミング動作後の状態相に上記比較状態が含まれることになる。
【００５３】
別のセットの実施形態では、２セクタ同時プログラミング、ストリームプログラミングおよび複数回の書込み後の比較検証が実行される。このシーケンスは、例えばシーケンスＣ２．ＢとＣ２．Ｃとを反復し、異なるコマンドを用いて各セットのシーケンスを開始することにより、各セクタに対する２回の比較を行うケースへも拡張することができる。例えば、コマンドＣＭＰ１  ＣＭＤから開始して、一度シーケンスを出し、次いで、再びＣＭＰ２  ＣＭＤから始めて、様々な読出し条件を示すようにする。別の実施形態では、各読出しコマンドの前にデータの形で、読出しに用いる電圧レベル値などのような或るセットのパラメータを出す必要がある場合もある。別の実施形態では、上述したように、メモリは書込み後の比較を自動化することも可能である。その場合、プログラミングの状態段階にはこの比較状態が含まれることになる。
【００５４】
さらに別のセットの実施形態では、２セクタプログラミング、ストリームなしプログラミングおよび任意の回数の書込み後の比較検証が実行される。図９と図１０の２レジスタまたは１レジスタの実施形態において、これらの実施形態の実現が可能である。結線図内のシーケンスＣ２．Ａの在る場所からシーケンスＣ２．Ａを取り除くことにより、このシーケンスを変更してストリームプログラミングなしのプログラミングを実行することも可能である。修正された図１２の場合のように、次に続くセクタ用として意図されたデータが連続して出されるが、この例ではアドレスＮ＋２とＮ＋３が用いられる。上記代替実施形態のすべてが可能である。
【００５５】
上述したように、書込み後比較検証の読出し処理の様々な読出し条件を用いることができる。複数の比較検証を用いる実施形態の場合、上記複数の比較に用いる複数の個々の読出しの各々は、異なるマージン読出し条件を用いて実行することが可能である。多状態不揮発性記憶ユニットという観点から以下の解説を行い、すぐ後に２進のケースの解説が続く。さらに、これらの例は２セクタ同時動作を示すものであるが、本発明は１セクタまたは任意の数のセクタで同時に適用される。
【００５６】
図１３は、４状態メモリ内でのセルの母集団とマージン読出し条件の例示的分布を描く図である。この図には、２つの可能なセットのマージン読出し条件（高いプログラムされた状態に対して１つのバイアスをかけた条件と、低いプログラムされた状態に対して１つのバイアスをかけた条件）とが示されている。種々のマージン用レベルとそれらの利用に関するさらなる詳細については、米国特許第５，５３２，９６２号と２０００年９月２７日出願の米国特許出願第０９／６７１，７９３号とに記載がある。上記双方の特許および特許出願は、本願明細書で参照により援用されている。
【００５７】
図１３に示す例は電流感知メモリシステムの例であり、或る読出し条件の下での記憶ユニットの電流が１セットの参照電流と比較される。別のメモリシステムでは、複数の様々なパラメータを用いて記憶ユニットの状態を決定することができる。以下の例では、電流の検知により、セルの記憶されたチャージレベルの決定を行うことができる。その場合一定のバイアス条件を用いてチャージの導通の振幅が感知される。上記とは別に、このような決定は、しきい値電圧の感知を通じて行うことができる。このような導通の立上りは変更されたステアリングゲートのバイアス条件を用いて感知される。これらの方法によっていくつかのさらに標準的なアプローチが表される。
【００５８】
上記とは別に、上記決定は、動的に保持された（例えばプリチャージされたコンデンサ）感知ノードの決定されたドライバ／力の放電率をセルのチャージレベルに制御させることにより動的に行うことも可能である。所定の放電レベルに到達する時間を感知することにより、記憶されたチャージレベルが決定される。このケースでは、セルの条件を示すパラメータは時間である。このアプローチについては、米国特許第６，２２２，７６２号、および、Ｓｈａｈｚａｄ  Ｋｈａｌｉｄによる“マルチレベル不揮発性集積メモリデバイス用センス増幅器”という２００１年１１月２０日出願の米国特許出願に記載がある。これら双方の特許および特許出願は本願明細書で参照により援用されている。もう一つの代替技法として、米国特許第６，０４４，０１９号に記載のアプローチである、パラメータとして周波数を用いて記憶ユニットの状態を決定する技法がある。上記特許もまた本願明細書で参照により援用されている。
【００５９】
電流検知アプローチは、上記参考文献に含まれている米国特許第５，１７２，３３８号と、本願明細書で参照により援用されている米国特許出願第０８／９１０，９４７号とに十分に展開されている。さらに上記電流検知アプローチは、本発明について説明した種々の実施形態と共に用いることも可能である。しきい値電圧Ｖｔｈ、感知アプローチ（或いは電圧マージンニングとも呼ばれる）がインスタンスによっては望ましい場合もある。なぜなら、このアプローチによって、感知精度の改善が図られ、電流したがって大規模同時読出し動作と関連する電力が低く保持され、高いビットライン抵抗まで脆弱性が最小化されるからである。Ｖｔｈ感知すなわち電圧マージニングアプローチは米国特許第６，２２２，７６２号にさらに完全に展開されている。所定のゲート電圧に応じて固定ドレイン電圧のソース電圧に基づく電圧感知の別の技法として、例えば参照により援用されている米国特許出願第０９／６７１，７９３号に記載のソースフォロワ技法がある。
【００６０】
図１４には読出し条件を変更する例示的方法が描かれている。この例は、マージン電流が参照電流に加算される電流の検知技法を示し、これらの電流の和はセル出力電流と比較される。この例は３つのブレイクポイントの同時読出しを示し、すべての参照レベルの同時提示を要求するものである。これに対して、別の実施形態では、読出しは、単一の基準電圧または基準電流を用いて、基準空間全体の探索時に複数の段階を用いるものであってもよい。複数の比較処理では、マージン電流値が様々な比較を行うために変化する可能性もある。上記読出しタイプは特定の方式に依存することになる。図１４の実施形態例では、４つの状態を区別するために３つの参照電流が用いられ、一方、別の実施形態では、米国特許第５，１７２，３３８号と第５，０９５，３４４号とにさらに完全に展開されているように、４つの参照電流が用いられる。これらの特許は上記参照により援用されている。
【００６１】
多状態メモリシステムではレベルによりアドレス指定を行う場合本発明の様々な局面を利用することができる。この方式は、２つの別個にアドレス可能なホストデータセクタ（“上位ページ”と“下位ページ”と呼ばれる）を４状態メモリ内の同じセットのセルに対応づけることを必要とする。この方式では、下位ページのデータの各ビットは、所定のセル内の２つのセル状態のうちの一方に対してプログラムされ、上位ページのデータの各ビットは、所定のビット値に基づいて各所定のセルの状態を修正するためにプログラムされる。この方式は１セルにつき高位の番号の状態に対して拡張可能である。この方式は、２００１年６月２７日出願の米国特許出願第０９／８９３，２７７号にさらに完全に記載されているが、本明細書に簡単に示されている。上記特許出願は、本願明細書で参照により援用されている。図１５は、４状態セルの場合の状態割当てのこのような１つの実施形態と、例示の電圧値を持つこのような方式での使用状況とを示す。
【００６２】
図１６は、状態方式によるアドレス指定時の本発明の実施構成の場合のレジスタの使用状況を示す。この結線図では、下位ページを読出すために、上位ページの細分性（図１５の０．８Ｖの識別ポイント）で最初に読出しを行い、次いで、レジスタ（レジスタ１）（４０４ａ）にその結果を記憶する必要があることが示されている。ステップ１は上位ページの通常の読出しであり、ステップ２は上位ページの前回の読出しデータを用いて、下位ページの後続の読出し条件の設定を行うものである。この下位ページは、第２のレジスタ、レジスタ２（４０４ｂ）の中への第２段階の読出しが行われている間に読出され、上位ページのデータはセンス回路構成へフィードバックされ、１ビットずつのベースで適切な読出し条件の設定が行われる。したがって、実際には、単一の読出しを行うために２個のレジスタが必要となる。しかし、比較レジスタを用いて比較を行うには２個のレジスタのうちの一方が当該データを含むことになるので、１個のレジスタしか必要ではないという点に留意されたい。上位ページの読出しは１つの読出し段階と１つのレジスタとを必要とするにすぎない。ストリームプログラミング能力を付け加えるために、第４のレジスタ、レジスタ４（４０３）がマスタレジスタとして追加される。メモリのなかには２状態と４状態の双方の状態で動作できるものもある。２状態モードでは、メモリは、ストリームプログラミングなどの別の目的のために多状態での第１段階の読出し用として必要となる追加レジスタ、レジスタ１（４０４ａ）を使用することができる。
【００６３】
４状態動作では、レジスタ１（４０４ａ）とレジスタ２（４０４ｂ）とは双方ともスレーブレジスタとして使用され、レジスタ３（４０５）は比較レジスタとして、レジスタ４（４０３）はマスタレジスタとして使用される。２状態動作モードでは、前の結線図と関連する形のレジスタは以下のように説明することもできる。レジスタ１（４０４ａ）がスレーブレジスタになり、レジスタ４（４０３）がマスタレジスタになり、レジスタ３（４０５）が比較レジスタになり、レジスタ２（４０４ｂ）については現在計画されている用途は存在しない。上記上位ページ／下位ページ読出し方式を用いる従来技術による実施構成では、レジスタ３（４０５）とレジスタ４（４０３）とが欠けていて、一対のレジスタ１（４０４ａ）とレジスタ２（４０４ｂ）だけしか存在しない。レジスタ３（４０５）とレジスタ４（４０３）とは本発明の上記目的のために追加されている。
【００６４】
本発明の多くの局面は、メモリアレイで使用される記憶ユニットのタイプの細部については特別なものではない。これまでの解説は、フローティングゲート、ＥＥＰＲＯＭあるいはフラッシュセルのような、メモリデバイス用としてチャージ蓄積装置を用いる実施形態に焦点を合わせたものであるが、本発明は記憶ユニットの別の形態を用いるメモリシステムにも適用可能である。本発明は、０．１μｍ以下のトランジスタ、単一電子トランジスタ、有機／カーボンベースのナノトランジスタおよび分子トランジスタを含んでいるが、それらには限定されないメモリシステムにおいて利用可能である。例えば、Ｅｉｔａｎ  の米国特許第５，７６８，１９２号とＳａｔｏらの米国特許第４，６３０，０８６号とにそれぞれ記載されているようなＮＲＯＭおよびＭＮＯＳセル、あるいは、Ｇａｌｌａｇｈｅｒ  らの米国特許第５，９９１，１９３号とＳｈｉｍｉｚｕ  らの米国特許第５，８９２，７０６号とにそれぞれ記載されているような磁気ＲＡＭおよびＦＲＡＭセルを用いることも可能である。上記特許のすべては本願明細書で参照により援用されている。これらの別のセルタイプの場合、読出し処理と書込み処理についての固有の詳細は異なるかもしれないが、本発明の様々な局面の拡張は上記実施例の結果として容易に得られるものである。
【００６５】
本発明の或る実施形態の多数の特徴と利点が、本発明の種々の実施形態の構造と機能についての詳細と共に、このような上記の説明に記載されていたとしても、上記開示は専ら例示的開示にすぎず、特に、添付の請求項を表現する用語の一般的意味が示す最大の範囲まで、本発明の原理の範囲内で、部分の構造と配置構成の問題について詳細に変更を行うことも可能であることを理解されたい。例えば、本明細書に記載の好ましい実施形態は、半導体をベースとする固体素子の超小型電子技術を用いるメモリを対象とするものであるが、分子スケールの有機スイッチまたは化学スイッチを用いて本発明の教示を他のメモリに適合させることが可能であることは当業者であれば理解できる。したがって、添付の請求項の範囲は本明細書に記載の好ましい実施形態に限定されるべきではない。
【図面の簡単な説明】
【図１】
従来技術による代表的なＥＥＰＲＯＭのブロック図を示す。
【図２】
従来技術による代表的なフラッシュベースの記憶サブシステムのアーキテクチャを示す。
【図３】
従来技術による２セクタプログラム／検証動作のタイミング図を示す。
【図４】
従来技術によるシステムにおいてプログラム／検証動作の最中に生じるイベントのシーケンスを例示する。
【図５】
本発明の１つの実施形態による半導体不揮発性メモリの概略図を示す。
【図６】
本発明の一実施形態における２セクタプログラム／検証動作の場合のタイミング図を例示する。
【図７】
本発明の一実施形態でのプログラム／検証動作の最中に生じるイベントのシーケンスを例示する。
【図８】
本発明の実施形態でのプログラム／複数回検証動作の最中に生じるイベントのシーケンスを例示する。
【図９】
本発明の代替実施形態でのプログラム／複数回検証動作の最中に生じるイベントのシーケンスを例示する。
【図１０】
本発明の別の代替実施形態でのプログラム／複数回検証動作の最中に生じるイベントのシーケンスを例示する。
【図１１】
ストリームプログラミングの利用を例示するタイミング図である。
【図１２】
ストリームプログラミングの利用を例示するタイミング図である。
【図１３】
多状態メモリ内でのセル母集団とマージン読出し条件とを概略的に示す。
【図１４】
読出し条件を変更する１つの可能な方法を示す。
【図１５】
メモリセルの状態によりメモリセルのアドレス指定を行うプロセスを示す。
【図１６】
メモリセルの状態によりメモリセルのアドレス指定を行う場合の本発明の一実施形態でのレジスタの利用を示す一例である。
【図１】
2005507129.tif 000004
【図２】
2005507129.tif 000005
【図３】
2005507129.tif 000006
【図４】
2005507129.tif 000007
【図５】
2005507129.tif 000008
【図７】
2005507129.tif 000009
【図８】
2005507129.tif 000010
【図９】
2005507129.tif 000011
【図１０】
2005507129.tif 000012
【図１１】
2005507129.tif 000013
【図１２】
2005507129.tif 000014
【図１３】
2005507129.tif 000015
【図１４】
2005507129.tif 000016
【図１５】
2005507129.tif 000017
【図１６】
2005507129.tif 000018
【国際公開パンフレット】
2005507129.tif 000019
2005507129.tif 000020
2005507129.tif 000021
2005507129.tif 000022
2005507129.tif 000023
2005507129.tif 000024
2005507129.tif 000025
2005507129.tif 000026
2005507129.tif 000027
2005507129.tif 000028
2005507129.tif 000029
2005507129.tif 000030
2005507129.tif 000031
2005507129.tif 000032
2005507129.tif 000033
2005507129.tif 000034
2005507129.tif 000035
2005507129.tif 000036
2005507129.tif 000037
2005507129.tif 000038
2005507129.tif 000039
2005507129.tif 000040
2005507129.tif 000041
2005507129.tif 000042
2005507129.tif 000043
2005507129.tif 000044
2005507129.tif 000045
2005507129.tif 000046
2005507129.tif 000047
2005507129.tif 000048
2005507129.tif 000049
2005507129.tif 000050
2005507129.tif 000051
2005507129.tif 000052
2005507129.tif 000053
2005507129.tif 000054
2005507129.tif 000055
2005507129.tif 000056
2005507129.tif 000057
2005507129.tif 000058
2005507129.tif 000059
2005507129.tif 000060
2005507129.tif 000061
2005507129.tif 000062
2005507129.tif 000063
2005507129.tif 000064
2005507129.tif 000065
2005507129.tif 000066
2005507129.tif 000067
2005507129.tif 000068
2005507129.tif 000069
【国際公開パンフレット（コレクトバージョン）】
2005507129.tif 000070
2005507129.tif 000071
【国際調査報告】
2005507129.tif 000072
2005507129.tif 000073
2005507129.tif 000074
2005507129.tif 000075
2005507129.tif 000076
2005507129.tif 000077