【手続補正書】
【提出日】平成20年4月17日(2008.4.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
不揮発性メモリセルの対応する異なる電荷レベルとして電荷蓄積素子の中にデータを蓄積するタイプの不揮発性メモリセルのプログラミングを行う方法であって、前記素子の電荷蓄積レベルが、前記プログラミングに先立って、リセットされた電荷蓄積レベルの分布状態にある方法において、
少なくとも２回のパスで前記電荷蓄積素子をプログラムするステップであって、第１のパス中に前記素子のうちの選択した素子をプログラムして、第１の蓄積レベルの分布状態に変え、後続する第２のパス中に前記リセットされた電荷蓄積レベルの分布状態にある素子のうちの選択した素子をプログラムして、第２の蓄積レベルの分布状態に変え、前記第１の蓄積レベルの分布状態にある素子のうちの選択した素子をプログラムして、第３の蓄積レベルの分布状態に変え、前記第２の蓄積レベルの分布状態が、前記リセットされた蓄積レベルの分布状態と前記第１の蓄積レベルの分布状態との間にある、プログラムするステップを有し、
前記素子のうちの少なくとも１つの素子を前記第２のパス中にプログラムするのにホストデータが不十分な場合、前記少なくとも１つの素子をプログラムして、前記第１のパス中に前記第１の蓄積レベルに変え、前記プログラムするステップが、前記少なくとも１つの素子の電荷蓄積レベルを、前記第２のパスの後に前記第３の蓄積レベルの分布状態の電荷蓄積レベル未満となるようにする方法。
【請求項２】
請求項１記載の方法において、
前記プログラムするステップが、データバッファ内へホストデータをロードするステップと、前記データバッファ内のデータに従って電圧を前記素子と結合して、選択した蓄積レベルに合わせて前記素子をプログラムするステップとを有し、前記プログラムするステップが、前記第１のパスの後に前記データバッファ内へデータをロードし、それによって前記データバッファ内に対応するホストデータを有していない素子を前記素子間で前記第２のパス中にプログラムしないようにするステップをさらに有する方法。
【請求項３】
請求項２記載の方法において、
前記第１のパスの後に前記データバッファ内へロードされる前記データが、ホストから得られたデータではない方法。
【請求項４】
請求項２記載の方法において、
前記第１のパスの後に前記データバッファ内へロードされる前記データが、前記リセットされた電荷蓄積レベルの分布状態に対応する方法。
【請求項５】
請求項２記載の方法において、
前記第１のパスの後に前記データバッファ内へロードされる前記データが、前記第２のパス中に前記データバッファ内の禁止の対象となる対応するデータを用いることなく、前記素子のプログラミングを行わせる方法。
【請求項６】
請求項２記載の方法において、
対応するホストデータを前記データバッファ内に有していない前記素子の電圧レベルと、前記データバッファ内に対応するホストデータを有する前記素子の電圧レベルとを、個々に制御されない検知回路がプログラムする方法。
【請求項７】
請求項２記載の方法において、
前記素子をグループ化して、複数のグループに変え、複数のフラグ電荷蓄積セルの各々を利用して、前記複数のグループ内の対応するグループの素子が前記第２のパス時にプログラムされたものであるか否かを示すフラグデータを蓄積し、前記方法が、
前記複数の素子グループに蓄積された蓄積レベルを読み出すステップであって、異なる読み出し電圧をこのような素子と結合することによって、前記グループのうちの１つのグループ内の少なくともいくつかの素子の各々に蓄積された前記蓄積レベルを読み出して、複数の読み出し値を得るようにする、読み出すステップと、
記憶装置の中に前記複数の読み出し値を蓄積するステップと、
前記複数の読み出し値のうちの１つの値のみを選択して、前記グループのうちの前記１つのグループに対応する前記（単複の）フラグ電荷蓄積セルに蓄積された前記フラグデータに従って、前記少なくともいくつかの素子の各々に蓄積されたホストデータを表すようにするステップと、
をさらに有する方法。
【請求項８】
請求項２記載の方法において、
前記素子をグループ化して、複数のグループに変え、このようなグループの素子が前記第２のパス時にプログラムされたものかどうかを示すフラグデータを蓄積する少なくとも１つのフラグ電荷蓄積セルが前記個々のグループの中に含まれ、前記複数のグループのうちの少なくとも２つのグループ内の素子を共通のワードラインによって制御し、前記読み出すステップが、前記フラグ電荷蓄積セルに蓄積された前記フラグデータを読み出し、それによって、前記少なくとも２つのグループのうちの第１のグループ内の素子が前記第２のパス時にプログラムされたものであること、並びに、前記少なくとも２つのグループのうちの第２のグループ内の素子が前記第２のパス時にプログラムされなかったことを前記フラグデータによって示されたとき、前記読み出すステップが、異なるシーケンスの読み出し電圧を前記第１および第２のグループ内の素子と結合することによって、前記第１および第２の素子グループに蓄積された蓄積レベルを読み出す方法。
【請求項９】
請求項８記載の方法において、
前記第１および第２のグループ内の素子の各素子の蓄積レベルによって表されるデータが、順序づけられたセットの少なくとも第１の２進値変数と第２の２進値変数とを含み、前記素子をプログラムするために前記順序づけられたセットも利用し、前記第１のパス中に前記素子をプログラムする際に従う前記（単複の）蓄積レベルを少なくとも前記第１の変数値に従って決定し、前記第２のパス中に前記素子をプログラムする際に従う前記（単複の）蓄積レベルを少なくとも前記第２の変数値に従って決定し、
前記読み出すステップが、唯一の読み出し電圧を前記第１のグループ内の素子と結合して、前記蓄積レベルによって表される前記第１の変数値を出力するようにし、２つの異なる読み出し電圧を前記第２のグループ内の素子と結合して、前記蓄積レベルによって表される前記第１の変数値を出力するようにする方法。
【請求項１０】
請求項８記載の方法において、
前記読み出すステップが、前記少なくとも２つのグループに対応する前記フラグ電荷蓄積セルに蓄積された前記フラグデータを読み出し、それによって、前記共通のワードラインが制御する前記素子のうちのいくつかの素子ではあるが、すべてではない素子が前記第２のパス時にプログラムされたことを前記フラグデータが示したとき、前記第２のパス時にプログラムされなかった素子の読み出しのためにさらに多くの時間を割り当てるようにする方法。
【請求項１１】
請求項１０記載の方法において、
前記フラグ電荷蓄積セルを前記ワードラインに沿って配置して、前記ワードラインに沿った前記複数の素子グループのうちの少なくとも２つのグループが、前記第２のパス中にプログラムされたかどうかを示すようにし、前記ワードラインにより制御される前記グループのうちの１以上のグループが前記第２のパス中にプログラムされなかったことが前記フラグデータにより示されたとき、前記第２のパス時にプログラムされなかった素子を読み出す際に、さらに多くの呼出し時間を予期する旨をユーザに示すように話中信号を生成する方法。
【請求項１２】
請求項２記載の方法において、
前記素子の各素子の蓄積レベルによって表されるデータが、順序づけられたセットの少なくとも第１の２進値変数と第２の２進値変数とを含み、前記素子をプログラムするために前記順序づけられたセットも利用し、前記第１のパス中に前記素子をプログラムする際に従う前記（単複の）蓄積レベルを少なくとも前記第１の変数値に従って決定し、前記第２のパス中に前記素子をプログラムする際に従う前記（単複の）蓄積レベルを少なくとも前記第２の変数値に従って決定し、前記方法が、
異なる読み出し電圧をこのような素子と結合することによって前記素子の蓄積レベルを読み出して、前記蓄積レベルにより表される前記第２の変数値を出力するようにするステップであって、第１の読み出し電圧の場合、前記第２の変数の第１の値は、前記読み出すステップ中のこのような素子内の電流の方がしきい値よりも低くなることを示し、前記第２の変数の第２の値は、前記読み出すステップ中のこのような素子内の電流の方が前記しきい値よりも高くなることを示し、第２の読み出し電圧の場合、前記第２の変数の第１の値は、前記読み出すステップ中のこのような素子内の電流の方が前記しきい値よりも高くなることを示し、前記第２の変数の第２の値は、前記読み出すステップ中のこのような素子内の電流の方が前記しきい値よりも低くなることを示す、ステップをさらに有する方法。
【請求項１３】
請求項１２記載の方法において、
前記第１の読み出し電圧が前記リセットレベルと前記第２の蓄積レベルとの間にあり、前記第２の読み出し電圧が前記第１と第３の蓄積レベルとの間にある方法。
【請求項１４】
請求項２記載の方法において、
前記素子をグループ化して、複数のグループに変え、複数のフラグ電荷蓄積セルの各セルを利用して、前記複数のグループ内の対応するグループの素子が前記第２のパス時にプログラムされたものかどうかを示すフラグデータを蓄積し、前記方法が、
キャッシュタイミングを用いて前記複数の素子グループに蓄積された蓄積レベルを読み出すステップであって、前記キャッシュタイミングにはダミーの時間が含まれ、前記第２のパス時にプログラムされなかった前記グループのうちの１つのグループ内の素子に蓄積された前記蓄積レベルを読み出すための（単複の）ダミーの時間の方が、前記第２のパス時にプログラムされた前記グループのうちの別のグループ内の素子に蓄積された前記蓄積レベルを読み出すための（単複の）ダミーの時間よりも長くなる、ステップをさらに有する方法。
【請求項１５】
請求項２記載の方法において、
前記素子をグループ化して、複数のグループに変え、このようなグループの素子が前記第２のパス時にプログラムされたものかどうかを示すフラグデータを蓄積する少なくとも１つのフラグ電荷蓄積セルが前記個々のグループの中に含まれ、前記複数のグループのうちの少なくとも２つのグループを共通のワードラインによって制御し、前記方法が、
前記少なくとも２つのグループのうちの少なくとも１つのグループではあるが、すべてのグループではないグループを前記第２のパス中にプログラムするのに十分なホストデータが存在するとき、前記少なくとも２つのグループ内のフラグ電荷蓄積セルのうちの少なくとも１つのセル内でフラグデータの蓄積または変更を行って、前記ホストデータの境界を示すようにするステップをさら有する方法。
【請求項１６】
請求項１５記載の方法において、
前記少なくとも２つのグループ間にある２つのグループが相互に隣接して配置され、前記２つの隣接するグループのうちの第１のグループのうちの１つのグループ内の素子が前記第２のパス時にプログラムされたものであり、前記２つの隣接するグループのうちの第２のグループのうちの１つのグループ内の素子が前記第２のパス時にプログラムされたものではなく、ホストデータの境界が前記２つの隣接するグループ間に配置されていることを示すために、前記（単複の）フラグセルの第１のグループに蓄積された前記フラグデータが、前記（単複の）フラグセルの第２のグループに蓄積された前記フラグデータとは異なるように、前記蓄積を行うことがフラグセルの前記２つの隣接するグループのうちの少なくとも１つのフラグセル内にフラグデータを蓄積する方法。
【請求項１７】
請求項１記載の方法において、
前記プログラムするステップが、データバッファ内へホストデータをロードするステップと、前記データバッファ内のデータに従って電圧を前記素子と結合して、コード構成に従って、選択した蓄積レベルの分布状態に前記素子をプログラムするステップとを有し、前記コード構成が、前記データバッファ内に対応するホストデータを有していない素子と、プログラミング電圧とを前記第２のパス中に前記素子間で結合しないようにする構成である方法。
【請求項１８】
請求項１７記載の方法において、
前記コード構成が、グレーのグレーコードではない方法。
【請求項１９】
請求項１７記載の方法において、
前記素子の各素子の蓄積レベルによって表されるデータが、順序づけられたセットの少なくとも第１の２進値変数と第２の２進値変数とを含み、前記素子をプログラムするために前記順序づけられたセットも利用し、前記第１のパス中に前記素子をプログラムする際に従う前記（単複の）蓄積レベルを少なくとも前記第１の変数値に従って決定し、前記第２のパス中に前記素子をプログラムする際に従う前記（単複の）蓄積レベルを少なくとも前記第２の変数値に従って決定し、前記コード構成によって、前記リセットされた蓄積レベルと、第１の蓄積レベルとを表す前記第２の変数値とが同じ値となるようにする方法。
【請求項２０】
請求項１９記載の方法において、
３つの異なる読み出し電圧をこのような素子とシーケンシャルに結合することによって、前記素子に蓄積された蓄積レベルを読み出して、前記第２の変数値を得るようにするステップをさらに有する方法。
【請求項２１】
請求項１記載の方法において、
前記プログラムするステップが、データバッファ内へホストデータをロードするステップと、前記データバッファ内のデータに従って電圧を前記素子と結合して、コード構成に従って、選択した蓄積レベルに合わせて前記素子をプログラムするステップとを有し、前記コード構成が、前記データバッファ内に対応するホストデータを有していない前記素子の電荷蓄積レベルが前記第２のパスの後に前記素子間で前記第３の蓄積レベルの分布状態の電荷蓄積レベル未満となるようにする方法。
【請求項２２】
請求項２１記載の方法において、
前記データバッファ内に対応するホストデータを有していない前記素子の近傍にある素子をプログラムするステップが、前記データバッファ内に対応するホストデータを有していない前記素子の電荷蓄積レベルに、前記第１の蓄積レベルの分布状態とは異なる分布状態を電界効果の結合の結果持たせるようにする方法。
【請求項２３】
請求項２１記載の方法において、
前記コード構成が、グレーコードではない方法。
【請求項２４】
請求項２１記載の方法において、
前記素子の各素子の蓄積レベルによって表されるデータが、順序づけられたセットの少なくとも第１の２進値変数と第２の２進値変数とを含み、前記素子をプログラムするために前記順序づけられたセットも利用し、前記第１のパス中に前記素子をプログラムする際に従う前記（単複の）蓄積レベルを少なくとも前記第１の変数値に従って決定し、前記第２のパス中に前記素子をプログラムする際に従う前記（単複の）蓄積レベルを少なくとも前記第２の変数値に従って決定し、前記コード構成によって、前記リセットされた蓄積レベルと、第１の蓄積レベルとを表す前記第２の変数値とが同じ値となるようにする方法。
【請求項２５】
請求項２４記載の方法において、
３つの異なる読み出し電圧をこのような素子とシーケンシャルに結合することによって、前記素子に蓄積された蓄積レベルを読み出して、前記第２の変数値を得るようにするステップをさらに有する方法。
【請求項２６】
データを対応する異なる電荷蓄積レベルとして蓄積するタイプの不揮発性電荷蓄積素子を含むメモリシステムをプログラムする方法であって、
少なくとも２回のパスで前記電荷蓄積素子をプログラムしてデータを蓄積するための３つ以上の電荷蓄積レベルのうちの１つに変える、プログラムするステップであって、前記電荷蓄積素子をグループ化して、複数のグループに変え、各グループは少なくとも２ビットのフラグデータを蓄積するための少なくとも１つの対応するフラグ電荷蓄積セルを有し、前記フラグデータの各ビットは前記パスのうちの１つと関連する、プログラムするステップを有し、
前記プログラムするステップは、先のパスと前記先のパスの後に実施される後のパスを有する少なくとも２回のシーケンシャルなパスで実施され、前記先のパスと関連するフラグデータビット値を前記先のパスの後にセットする方法。
【請求項２７】
請求項２６記載の方法において、
前記先のパスに関連する前記フラグデータビット値を、前記後のパスの間にセットする方法。
【請求項２８】
請求項２６記載の方法において、
前記電荷蓄積素子がグループ化されてページとなり、各ページは２つ以上の前記グループを含み、前記プログラムするステップは、前記ページのうちの１ページ毎に前記電荷蓄積素子をプログラムし、前記ページのうちの１つが、ホストデータに従い前記後のパス中にプログラムされた電荷蓄積素子の少なくとも第１のグループ、およびプログラムするにはホストデータが不十分なため前記後のパス中にプログラムされなかった電荷蓄積素子の少なくとも第２グループを有し、前記第１および第２のグループ内の前記フラグ電荷蓄積セルの中に蓄積されている前記先のパスと関連する前記フラグデータビット値が、十分なホストデータを有する電荷蓄積素子および十分なホストデータを有していない電荷蓄積素子の間の境界を示す方法。
【請求項２９】
請求項２６記載の方法において、
前記グループ内の前記フラグ電荷蓄積セルの中に蓄積された前記先のパスと関連する前記フラグデータビット値に従い、複数の異なる読み出しシーケンスから選択された読み出しシーケンスに従って、前記グループの前記電荷蓄積素子内に蓄積されたデータを読み出すステップをさらに有する方法。
【請求項３０】
請求項２６記載の方法において、
前記プログラムするステップが、前記複数のグループのうちの１つのグループのフラグ電荷蓄積セルの中に蓄積された前記先のパスと関連する前記フラグデータビット値を、前記グループの前記電荷蓄積素子が前記後のパス中にプログラムされたか否かを示すようにセットする方法。
【請求項３１】
請求項３０記載の方法において、
前記プログラムするステップは、前記先のパスに関連する前記フラグデータビット値を、リセット電荷蓄積レベルを示す値から前記リセット電荷蓄積レベルとは異なる値へと変える方法。
【請求項３２】
請求項３０記載の方法において、
前記グループ内の前記電荷蓄積素子の各電荷蓄積素子の電荷蓄積レベルによって表されるデータが、順序づけられたセットの少なくとも第１の２進値変数と第２の２進値変数とを含み、前記先のパス中に前記電荷蓄積素子をプログラムする際に従う前記電荷蓄積レベルを少なくとも前記第１の変数値に従って決定し、前記後のパス中に前記電荷蓄積素子をプログラムする際に従う前記電荷蓄積レベルを少なくとも前記第２の変数値に従って決定し、前記方法が、
前記プログラムするステップの後に、前記第１の変数値を読み出すために、前記グループ内の前記電荷蓄積素子の各電荷蓄積素子の前記電荷蓄積レベルと、前記先のパスと関連する前記フラグデータビット値を読み出すために、前記グループ内の前記フラグ電荷蓄積セルの前記電荷蓄積レベルとを、１つの検知動作で検知するステップをさらに有する方法。
【請求項３３】
請求項３２記載の方法において、
前記電荷蓄積素子がグループ化されてページとなり、各ページは２つ以上の前記グループを含み、前記プログラムするステップは、前記ページの各ページ毎に前記電荷蓄積素子をプログラムし、前記検知するステップは、１つのみの読み出し電圧を、前記後のパスにプログラムされた各ページの中の前記電荷蓄積素子に結合して、前記第１の変数値を出力し、２つの異なる読み出し電圧を、前記後のパス時にプログラムされなかった少なくとも１つの電荷蓄積素子と、前記後のパス時にプログラムされた少なくとも１つの電荷蓄積素子とを含む各ページの前記電荷蓄積素子にシーケンシャルに結合して、前記第１の変数値を出力する方法。
【請求項３４】
請求項３３記載の方法において、
前記後のパス時にプログラムされなかった少なくとも１つの電荷蓄積素子と、前記後のパス時にプログラムされた少なくとも１つの電荷蓄積素子とを含む各ページを読み出して、前記第１の変数値を出力するために、さらに多くの時間が割り当てられる方法。
【請求項３５】
請求項３４記載の方法において、
前記後のパス時にプログラムされなかった電荷蓄積素子を読み出す際に、さらに多くの呼び出し時間を予期する旨をユーザに示す話中信号を生成するステップをさらに有する方法。
【請求項３６】
請求項３４記載の方法において、
異なった長さのダミーの時間を使ってさらに多くの時間が割り当てられる方法。
【請求項３７】
記憶装置であって、
データを対応する異なる電荷レベルとして電荷蓄積素子内に蓄積するタイプのプログラム可能な不揮発性メモリセルであって、前記素子の前記電荷蓄積レベルが、前記プログラムするステップに先立って、リセットされた電荷蓄積レベルの分布状態にあるメモリセルと、
少なくとも２回のパスで前記電荷蓄積素子をプログラムする手段であって、第１のパス中に前記素子のうちの選択した素子をプログラムして、第１の蓄積レベルの分布状態に変え、後続する第２のパス中に前記リセットされた電荷蓄積レベルの分布状態にある素子のうちの選択した素子をプログラムして、第２の蓄積レベルの分布状態に変え、前記第１の蓄積レベルの分布状態にある素子のうちの選択した素子をプログラムして、第３の蓄積レベルの分布状態に変え、前記第２の蓄積レベルの分布状態が、前記リセットされた蓄積レベルの分布状態と前記第１の蓄積レベルの分布状態との間にあり、前記第１の蓄積レベルの分布状態が前記第２の蓄積レベルの分布状態と前記第３の蓄積レベルの分布状態との間にある、プログラムする手段と、を備え、
前記素子のうちの少なくとも１つの素子を前記第２のパス中にプログラムするのにホストデータが不十分な場合、前記少なくとも１つの素子をプログラムして、前記第１のパス中に前記第１の蓄積レベルに変え、前記プログラムする手段が、前記少なくとも１つの素子の電荷蓄積レベルを、前記第２のパスの後に前記第３の蓄積レベルの分布状態の電荷蓄積レベル未満となるようにする記憶装置。
【請求項３８】
請求項３７記載の記憶装置において、
前記プログラムする手段が、データバッファ内へホストデータをロードし、前記データバッファ内のデータに従って電圧を前記素子と結合して、選択した蓄積レベルに合わせて前記素子をプログラムし、前記プログラムする手段が、前記第１のパスの後に前記データバッファ内へデータをロードし、それによって前記データバッファ内に対応するホストデータを有していない素子を前記素子間で前記第２のパス中にプログラムしないようにする記憶装置。
【請求項３９】
請求項３８記載の記憶装置において、
前記第１のパスの後に前記データバッファ内へロードされる前記データが、ホストから得られたデータではない記憶装置。
【請求項４０】
請求項３８記載の記憶装置において、
前記第１のパスの後に前記データバッファ内へロードされる前記データが、前記リセットされた電荷蓄積レベルの分布状態に対応する記憶装置。
【請求項４１】
請求項３８記載の記憶装置において、
前記第１のパスの後に前記データバッファへロードされる前記データが、前記第２のパス中に前記データバッファ内の禁止の対象となる対応するデータを用いることなく、前記素子のプログラミングを行わせる記憶装置。
【請求項４２】
請求項３８記載の記憶装置において、
前記プログラムする手段が、メモリ動作を制御する手段を含み、対応するホストデータを前記データバッファ内に有していない前記素子の前記電圧レベルと、対応するホストデータを前記データバッファ内に有する前記素子の前記電圧レベルとが、前記制御する手段に対してトランスペアレントな方法でプログラムされる記憶装置。
【請求項４３】
請求項３８記載の記憶装置において、
前記素子をグループ化して、複数のグループに変え、前記記憶装置が複数のフラグ電荷蓄積セルをさらに備え、前記フラグ電荷蓄積セルの各々は、前記複数のグループ内の対応するグループの素子が前記第２のパス時にプログラムされたものか否かを示すフラグデータを蓄積し、前記プログラムする手段が、前記複数の素子グループに蓄積された蓄積レベルを読み出し、異なる読み出し電圧をこのような素子と結合することによって、前記グループのうちの１つのグループ内の少なくともいくつかの素子の各々に蓄積された前記蓄積レベルを読み出して、複数の読み出し値を得るようにし、前記プログラムする手段は、前記複数の読み出し値を蓄積し、前記複数の読み出し値のうちの１つの読み出し値のみを選択して、前記グループのうちの前記１つのグループに対応する前記（単複の）フラグ電荷蓄積セルに蓄積された前記フラグデータに従って、前記少なくともいくつかの素子の各々に蓄積されたホストデータを表すようにする記憶装置。
【請求項４４】
請求項３８記載の記憶装置において、
前記素子をグループ化して、複数のグループに変え、前記記憶装置は、このようなグループの素子が前記第２のパス時にプログラムされたものか否かを示すフラグデータを蓄積する少なくとも１つのフラグ電荷蓄積セルを前記個々のグループの中に備え、前記複数のグループのうちの少なくとも２つのグループ内の素子を共通のワードラインによって制御し、前記プログラムする手段が、前記フラグ電荷蓄積セルに蓄積された前記フラグデータを読み出し、それによって、前記少なくとも２つのグループのうちの第１のグループ内の前記素子が前記第２のパス時にプログラムされたものであること、並びに、前記少なくとも２つのグループのうちの第２のグループ内の前記素子が前記第２のパス時にプログラムされなかったことを前記フラグデータによって示されたとき、前記プログラムする手段が、異なるシーケンスの読み出し電圧を前記第１および第２のグループ内の素子と結合することによって、前記第１および第２の素子グループに蓄積された蓄積レベルを読み出す記憶装置。
【請求項４５】
請求項４４記載の記憶装置において、
前記第１および第２のグループ内の素子の各素子の蓄積レベルによって表されるデータが、順序づけられたセットの少なくとも第１の２進値変数と第２の２進値変数とを含み、前記素子をプログラムするために前記順序づけられたセットも利用し、前記第１のパス中に前記素子をプログラムする際に従う前記（単複の）蓄積レベルを少なくとも前記第１の変数値に従って決定し、前記第２のパス中に前記素子をプログラムする際に従う前記（単複の）蓄積レベルを少なくとも前記第２の変数値に従って決定し、
前記プログラムする手段が、唯一の読み出し電圧を前記第１のグループ内の素子と結合して、前記蓄積レベルによって表される前記第１の変数値を出力するようにし、２つの異なる読み出し電圧を前記第２のグループ内の素子と結合して、前記蓄積レベルによって表される前記第１の変数値を出力するようにする記憶装置。
【請求項４６】
請求項４４記載の記憶装置において、
前記プログラムする手段が、前記少なくとも２つのグループに対応する前記フラグ電荷蓄積セルに蓄積された前記フラグデータを読み出し、それによって、前記共通のワードラインが制御する前記素子のうちのいくつかの素子ではあるが、すべてではない素子が前記第２のパス時にプログラムされたことを前記フラグデータが示したとき、前記プログラムする手段が前記第２のパス時にプログラムされなかった素子の読み出しのためにさらに多くの時間を割り当てるようにする記憶装置。
【請求項４７】
請求項４６記載の記憶装置において、
前記フラグ電荷蓄積セルを前記ワードラインに沿って配置して、前記ワードラインに沿った前記複数の素子グループのうちの少なくとも２つのグループが、前記第２のパス中にプログラムされたかどうかを示すようにし、前記ワードラインにより制御される前記グループのうちの１以上のグループが前記第２のパス中にプログラムされなかったことが前記フラグデータにより示されたとき、前記プログラムする手段が前記第２のパス時にプログラムされなかった素子を読み出す際に、さらに多くの呼出し時間を予期する旨をユーザに示すように話中信号を生成する記憶装置。
【請求項４８】
請求項３８記載の記憶装置において、
前記素子の各素子の蓄積レベルによって表されるデータが、順序づけられたセットの少なくとも第１の２進値変数と第２の２進値変数とを含み、前記素子をプログラムするために前記順序づけられたセットも利用し、前記第１のパス中に前記素子をプログラムする際に従う前記（単複の）蓄積レベルを少なくとも前記第１の変数値に従って決定し、前記第２のパス中に前記素子をプログラムする際に従う前記（単複の）蓄積レベルを少なくとも前記第２の変数値に従って決定し、前記プログラムする手段が、異なる読み出し電圧をこのような素子と結合することによって前記素子の蓄積レベルを読み出して、前記蓄積レベルにより表される前記第２の変数値を出力し、第１の読み出し電圧の場合、前記第２の変数の第１の値は、前記読み出し中のこのような素子内の電流の方がしきい値よりも低くなることを示し、前記第２の変数の第２の値は、前記読み出し中のこのような素子内の電流の方が前記しきい値よりも高くなることを示し、第２の読み出し電圧の場合、前記第２の変数の第１の値は、前記読み出し中のこのような素子内の電流の方が前記しきい値よりも高くなることを示し、前記第２の変数の第２の値は、前記読み出し中のこのような素子内の電流の方が前記しきい値よりも低くなることを示す記憶装置。
【請求項４９】
請求項４８記載の記憶装置において、
前記第１の読み出し電圧が前記リセットレベルと前記第２の蓄積レベルとの間にあり、前記第２の読み出し電圧が前記第１と第３の蓄積レベルとの間にある記憶装置。
【請求項５０】
請求項３８記載の記憶装置において、
前記素子をグループ化して、複数のグループに変え、前記記憶装置は複数のフラグ電荷蓄積セルをさらに備え、その各々が前記複数のグループ内の対応するグループの素子が前記第２のパス時にプログラムされたものかどうかを示すフラグデータを蓄積し、前記記憶装置が、
キャッシュタイミングを用いて前記複数の素子グループに蓄積された蓄積レベルを読み出すことをさらに有し、前記キャッシュタイミングにはダミーの時間が含まれ、前記第２のパス時にプログラムされなかった前記グループのうちの１つのグループ内の素子に蓄積された前記蓄積レベルを読み出すための（単複の）ダミーの時間の方が、前記第２のパス時にプログラムされた前記グループのうちの別のグループ内の素子に蓄積された前記蓄積レベルを読み出すための（単複の）ダミーの時間よりも長くなる記憶装置。
【請求項５１】
請求項３８記載の記憶装置において、
前記素子をグループ化して、複数のグループに変え、このようなグループの素子が前記第２のパス時にプログラムされたものか否かを示すフラグデータを蓄積する少なくとも１つのフラグ電荷蓄積セルが前記個々のグループの中に含まれ、前記複数のグループのうちの少なくとも２つのグループを共通のワードラインによって制御し、前記少なくとも２つのグループのうちの少なくとも１つのグループではあるが、すべてのグループではないグループを前記第２のパス中にプログラムするのに十分なホストデータが存在するとき、前記プログラムする手段が前記少なくとも２つのグループ内のフラグ電荷蓄積セルのうちの少なくとも１つのセル内でフラグデータの蓄積または変更を行って、前記ホストデータの境界を示す記憶装置。
【請求項５２】
請求項５１記載の記憶装置において、
前記少なくとも２つのグループ間にある２つのグループが相互に隣接して配置され、前記２つの隣接するグループのうちの第１のグループのうちの１つのグループ内の素子が前記第２のパス時にプログラムされたものであり、前記２つの隣接するグループのうちの第２のグループのうちの１つのグループ内の素子が前記第２のパス時にプログラムされたものではなく、前記プログラムする手段は、ホストデータの境界が前記２つの隣接するグループ間に配置されていることを示すために、前記（単複の）フラグセルの第１のグループに蓄積された前記フラグデータが、前記（単複の）フラグセルの第２のグループに蓄積された前記フラグデータとは異なるように、前記蓄積を行うことがフラグセルの前記２つの隣接するグループのうちの少なくとも１つのフラグセル内にフラグデータを蓄積する記憶装置。
【請求項５３】
請求項３７記載の記憶装置において、
前記記憶装置がデータバッファを備え、前記プログラムする手段が、データバッファ内へホストデータをロードすることと、前記データバッファ内のデータに従って電圧を前記素子と結合して、コード構成に従って、選択した蓄積レベルの分布状態に前記素子をプログラムすることとを有し、前記コード構成が、前記データバッファ内に対応するホストデータを有していない素子と、プログラミング電圧とを前記第２のパス中に前記素子間で結合しないようにする構成する記憶装置。
【請求項５４】
請求項５３記載の記憶装置において、
前記コード構成が、グレーのグレーコードではない記憶装置。
【請求項５５】
請求項５３記載の記憶装置において、
前記素子の各素子の蓄積レベルによって表されるデータが、順序づけられたセットの少なくとも第１の２進値変数と第２の２進値変数とを含み、前記素子をプログラムするために前記プログラムする手段によって前記順序づけられたセットも利用し、前記第１のパス中に前記素子をプログラムする際に従う前記（単複の）蓄積レベルを少なくとも前記第１の変数値に従って決定し、前記第２のパス中に前記素子をプログラムする際に従う前記（単複の）蓄積レベルを少なくとも前記第２の変数値に従って決定し、前記コード構成によって、前記リセットされた蓄積レベルと、第１の蓄積レベルとを表す前記第２の変数値が同じ値となるようにする記憶装置。
【請求項５６】
請求項５５記載の記憶装置において、
前記プログラムする手段が３つの異なる読み出し電圧をこのような素子とシーケンシャルに結合することによって、前記素子に蓄積された蓄積レベルを読み出して、前記第２の変数値を得るようにする記憶装置。
【請求項５７】
請求項３７記載の記憶装置において、
前記記憶装置がデータバッファを含み、前記プログラムする手段が、データバッファ内へホストデータをロードし、前記データバッファ内のデータに従って電圧を前記素子と結合して、コード構成に従って、選択した蓄積レベルに合わせて前記素子をプログラムし、前記コード構成が、前記データバッファ内に対応するホストデータを有していない前記素子の電荷蓄積レベルが前記第２のパスの後に前記素子間で前記第３の蓄積レベルの分布状態の電荷蓄積レベル未満となるようにする記憶装置。
【請求項５８】
請求項５７記載の記憶装置において、
前記プログラムする手段が、前記データバッファ内に対応するホストデータを有していない前記素子の前記電荷蓄積レベルに、前記第１の蓄積レベルの分布状態とは異なる分布状態を電界効果の結合の結果持たせるにようにする記憶装置。
【請求項５９】
請求項５７記載の記憶装置において、
前記コード構成が、グレーコードではない記憶装置。
【請求項６０】
請求項５７記載の記憶装置において、
前記素子の各素子の蓄積レベルによって表されるデータが、順序づけられたセットの少なくとも第１の２進値変数と第２の２進値変数とを含み、前記素子をプログラムするために前記順序づけられたセットも利用し、前記第１のパス中に前記素子をプログラムする際に従う前記（単複の）蓄積レベルを少なくとも前記第１の変数値に従って決定し、前記第２のパス中に前記素子をプログラムする際に従う前記（単複の）蓄積レベルを少なくとも前記第２の変数値に従って決定し、前記コード構成によって、前記リセットされた蓄積レベルと、第１の蓄積レベルとを表す前記第２の変数値が同じ値となるようにする記憶装置。
【請求項６１】
請求項６０記載の記憶装置において、
前記プログラムする手段が３つの異なる読み出し電圧をこのような素子とシーケンシャルに結合することによって、前記素子に蓄積された蓄積レベルを読み出して、前記第２の変数値を得るようにする記憶装置。
【請求項６２】
記憶装置であって、
データを対応する異なる電荷蓄積レベルとして蓄積するタイプの不揮発性電荷蓄積素子と、
少なくとも２回のパスで前記電荷蓄積素子をプログラムしてデータを蓄積するための３以上の電荷蓄積レベルのうちの１つに変える、プルグラムする手段であって、前記電荷蓄積素子をグループ化して、複数のグループに変え、各グループは少なくとも１つの対応する、少なくとも２ビットのフラグデータを蓄積するためのフラグ電荷蓄積セルを有し、各ビットの前記フラグデータが前記パスのうちの１つと関連する、プルグラムする手段と、を備え、
前記プログラムする手段は、先のパスと前記先のパスの後に実施される後のパスを含む、少なくとも２回のシーケンシャルなパスで前記電荷蓄積素子をプログラムし、前記先のパスと関連するフラグデータビット値を前記先のパスの後にセットするようにする記憶装置。
【請求項６３】
請求項６２記載の記憶装置において、
前記先のパスに関連する前記フラグデータビット値が、前記後のパスの間にセットされる記憶装置。
【請求項６４】
請求項６２記載の記憶装置において、
前記プログラムする手段が、前記複数のグループのうちの１つのグループのフラグ電荷蓄積セルの中に蓄積された前記先のパスと関連がある前記フラグデータビット値をセットして、前記グループの前記電荷蓄積素子が前記後のパス時にプログラムされたか否かを示すようにする記憶装置。
【請求項６５】
請求項６４記載の記憶装置において、
前記プログラムする手段が、前記先のパスに関連する前記フラグデータビット値を、リセット電荷蓄積レベルを示す値から前記リセット電荷蓄積レベルとは異なる値に変えるようにする記憶装置。
【請求項６６】
請求項６４記載の記憶装置において、
前記グループ内の前記電荷蓄積素子の各素子の電荷蓄積レベルによって表されるデータが、順序づけられたセットの少なくとも第１の２進値変数と第２の２進値変数とを含み、前記先のパス中に前記電荷蓄積素子をプログラムする際に従う前記電荷蓄積レベルを少なくとも前記第１の変数値に従って決定し、前記後のパス中に前記電荷蓄積素子をプログラムする際に従う前記電荷蓄積レベルを少なくとも前記第２の変数値に従って決定し、前記プログラムする手段は、前記第１の変数値を読み出すために、前記グループ内の前記電荷蓄積素子の各電荷蓄積素子の前記電荷蓄積レベルと、前記先のパスと関連する前記フラグデータビット値を読み出すために、前記グループ内の前記フラグ電荷蓄積セルの前記電荷蓄積レベルとを、１つの検知動作で検知する記憶装置。
【請求項６７】
請求項６６記載の記憶装置において、
前記電荷蓄積素子がグループ化されてページとなり、各ページは２つ以上の前記グループを含み、前記プログラムする手段は、前記ページの各ページ毎に前記電荷蓄積素子をプログラムし、１つのみの読み出し電圧を、前記後のパスにプログラムされた各ページの中の前記電荷蓄積素子に結合して、前記第１の変数値を出力し、２つの異なる読み出し電圧を、前記後のパス時にプログラムされなかった少なくとも１つの電荷蓄積素子と、前記後のパス時にプログラムされた少なくとも１つの電荷蓄積素子とを含む各ページの前記電荷蓄積素子にシーケンシャルに結合して、前記第１の変数値を出力する記憶装置。
【請求項６８】
請求項６７記載の記憶装置において、
前記プログラムする手段は、前記後のパス時にプログラムされなかった少なくとも１つの電荷蓄積素子と、前記後のパス時にプログラムされた少なくとも１つの電荷蓄積素子とを含む各ページを読み出して、前記第１の変数値を出力するために、さらに多くの時間が割り当てられる記憶装置。
【請求項６９】
請求項６８記載の記憶装置において、
前記プログラムする手段は、前記後のパス時にプログラムされなかった電荷蓄積素子を読み出す際に、さらに多くの呼び出し時間を予期する旨をユーザに示す話中信号を生成する記憶装置。
【請求項７０】
請求項６８記載の記憶装置において、
前記プログラムする手段により異なった長さのダミーの時間を使ってさらに多くの時間が割り当てられる記憶装置。
【請求項７１】
請求項６２記載の記憶装置において、
前記電荷蓄積素子がグループ化されてページとなり、各ページは２つ以上の前記グループを含み、前記プログラムする手段は、前記ページのうちの１ページ毎に前記電荷蓄積素子をプログラムし、前記ページのうちの１つが、ホストデータに従い前記後のパス中にプログラムされた電荷蓄積素子の少なくとも第１のグループ、およびプログラムするにはホストデータが不十分なため前記後のパス中にプログラムされなかった電荷蓄積素子の少なくとも第２グループを含み、前記第１および第２のグループ内の前記フラグ電荷蓄積セルの中に蓄積されている前記先のパスと関連する前記フラグデータビット値が、十分なホストデータを有する電荷蓄積素子および十分なホストデータを有していない電荷蓄積素子の間の境界を示す記憶装置。
【請求項７２】
請求項６２記載の記憶装置において、
前記プログラムする手段が、前記グループ内の前記フラグ電荷蓄積セルの中に蓄積された前記先のパスと関連する前記フラグデータビット値に従い、複数の異なる読み出しシーケンスから選択された読み出しシーケンスに従って、前記グループの前記電荷蓄積素子内に蓄積されたデータを読み出す記憶装置。