(57)【要約】マルチレベル不揮発性メモリセルのプログラミング／ロックアウトを実行する方法およびシステム（１００）が提供される。不揮発性メモリセルが、第１の所定の電荷レベル（５０４）以上の電荷の格納用として選択された第１のセットの１またはそれ以上のメモリセルと、第２の所定の電荷レベル以上の電荷の格納用として選択された第２のセットの１またはそれ以上のメモリセルとを備え、このメモリデバイスは、第１のセットと第２のセットのメモリセルを同時にプログラムし、第１のセット内のすべてのメモリセルが第１の所定の電荷レベルに到達するか、該電荷レベルを超えるまで、第１の所定の電荷レベルに到達したか、該電荷レベルを超えたいずれのメモリセルのプログラミングも禁止するように構成される。
2005513699.tif 000002
【特許請求の範囲】
【請求項１】
複数のしきい値電圧レベルを持つように複数の不揮発性メモリセルをプログラムする方法であって、
少なくとも１つの電圧パルスを用いて前記メモリセルをプログラムするステップと、
少なくとも１つの電圧パルスを印加した後、メモリセルが第１の所定のしきい値電圧レベルに到達しなかったか、前記電圧レベルを超えなかった場合、プログラミングを続行するステップであって、前記第１の所定のしきい値電圧レベルが第１のセットのデータビットを表すステップと、
前記第１の所定のしきい値電圧レベルに到達したか、前記電圧レベルを超えたいずれのメモリセルのプログラミングも禁止するステップと、
前記第１のセットのデータビットの格納用として選択されたすべてのメモリセルが前記第１の所定のしきい値電圧レベルに到達したか、前記電圧レベルを超えたかどうかを判定するステップと、
前記第１のセットのデータビットの格納用として選択された少なくとも１つのメモリセルが前記第１の所定のしきい値電圧レベルに到達しなかったか、前記電圧レベルを超えなかった場合、禁止されていないメモリセルのプログラミングを続行するステップと、
前記第１のセットのデータビットの格納用として選択されたすべてのメモリセルが前記第１の所定のしきい値電圧レベルに到達したか、前記電圧レベルを超えた場合、第２のセットまたは第３のセットのデータビットの格納用として選択されたすべてのメモリセルが前記第１の所定のしきい値電圧レベルに到達したか、前記電圧レベルを超えたかどうかを判定するステップと、
前記第２のセットまたは第３のセットのデータビットの格納用として選択された少なくとも１つのメモリセルが前記第１の所定のしきい値電圧レベルに到達しなかったか、前記電圧レベルを超えなかった場合、前記第２のセットまたは第３のセットのデータビットの格納用として選択されたすべてのメモリセルが前記第１の所定のしきい値電圧レベルに到達するか、前記電圧レベルを超えるまで、禁止されていないメモリセルのプログラミングを続行するステップと、
前記第２のセットまたは第３のセットのデータビットの格納用として選択されたすべてのメモリセルが前記第１の所定のしきい値電圧レベルに到達したか、前記電圧レベルを超えた場合、前記第２のセットまたは第３のセットのデータビットの格納用として選択されたすべてのメモリセルのプログラミングを続行するステップと、
を有することを特徴とする方法。
【請求項２】
前記メモリセルにプログラムすべき複数の所定のしきい値電圧レベルに対応する複数のデータビットを受け取るステップをさらに有する請求項１記載の方法。
【請求項３】
プログラムすべき１グループのメモリセルを選択するステップをさらに有する請求項１記載の方法。
【請求項４】
前記選択した１グループが、１０００以上のセルを有する請求項３記載の方法。
【請求項５】
前記不揮発性メモリセルが、ＮＡＮＤ形アレイで構成される請求項１記載の方法。
【請求項６】
前記不揮発性メモリセルが、ＮＯＲ形アレイで構成される請求項１記載の方法。
【請求項７】
前記不揮発性メモリセルが、電気的に消去可能でプログラム可能な読み出し専用メモリ（ＥＥＰＲＯＭ）を形成する請求項１記載の方法。
【請求項８】
前記不揮発性メモリセルが、フラッシュメモリを形成する請求項１記載の方法。
【請求項９】
前記プログラムステップが、所定の振幅を持つ電圧パルスを印加するステップを有する請求項１記載の方法。
【請求項１０】
前記プログラムステップが、個々の禁止されていないメモリセル内のフローティングゲートトランジスタに電荷を格納するステップを有する請求項１記載の方法。
【請求項１１】
メモリセルが第１の所定のしきい値電圧レベルに到達しなかったか、前記電圧レベルを超えなかった場合、プログラミングを続行する前記ステップが、前回の電圧パルスの振幅よりも高い振幅を用いて、前記メモリセルに電圧パルスを印加するステップを有する請求項１記載の方法。
【請求項１２】
いずれかのメモリセルが第１の所定のしきい値電圧レベルに到達したか、前記電圧レベルを超えたかどうかを判定するステップをさらに有する請求項１記載の方法。
【請求項１３】
メモリセルが第１の所定のしきい値電圧レベルに到達したか、前記電圧レベルを超えたかどうかを判定する前記ステップが、前記メモリセルに第１の検証電圧を印加するステップと、前記メモリセルが動作しているかどうかを判定するステップを有する請求項１２記載の方法。
【請求項１４】
前記第１の所定のしきい値電圧レベルに到達したか、前記電圧レベルを超えたいずれのメモリセルのプログラミングも禁止する前記ステップであって、
前記方法の残り部分の最中に前記第１のセットのデータビットの格納用として選択されたメモリセルのプログラミングを禁止するステップと、
第１のプログラミング時間中に前記第２のセットまたは第３のセットのデータビットの格納用として選択されたメモリセルのプログラミングを禁止するステップと、
を有する請求項１記載の方法。
【請求項１５】
前記第２のセットまたは第３のセットのデータビットの格納用として選択されたすべてのメモリセルが前記第１の所定のしきい値電圧レベルに到達したか、前記電圧レベルを超えたかどうかを判定する前記ステップが、前記メモリセルに第１の検証電圧を印加するステップと、前記メモリセルが動作しているかどうかを判定するステップとを有する請求項１記載の方法。
【請求項１６】
少なくとも１つの電圧パルスを印加した後、メモリセルが第２の所定のしきい値電圧レベルに到達しなかったか、前記電圧レベルを超えなかった場合、禁止されていないメモリセルのプログラミングを続行するステップであって、前記第２の所定のしきい値電圧レベルが前記第２のセットのデータビットを表すステップと、
前記第２の所定のしきい値電圧レベルに到達したか、前記電圧レベルを超えたいずれのメモリセルのプログラミングも禁止するステップと、
第２のセットまたは第３のセットのデータビットの格納用として選択されたすべてのメモリセルが前記第２の所定のしきい値電圧レベルに到達したか、前記電圧レベルを超えたかどうかを判定するステップと、
前記第２のセットまたは第３のセットのデータビットの格納用として選択された少なくとも１つのメモリセルが前記第２の所定のしきい値電圧レベルに到達しなかったか、前記電圧レベルを超えなかった場合、禁止されていないメモリセルのプログラミングを続行するステップと、
前記第２のセットまたは第３のセットのデータビットの格納用として選択されたすべてのメモリセルが前記第２の所定のしきい値電圧レベルに到達したか、前記電圧レベルを超えた場合、前記第３のセットのデータビットの格納用として選択されたすべてのメモリセルが前記第２の所定のしきい値電圧レベルに到達したか、前記電圧レベルを超えたかどうかを判定するステップと、
前記第３のセットのデータビットの格納用として選択された少なくとも１つのメモリセルが前記第２の所定のしきい値電圧レベルに到達しなかったか、前記電圧レベルを超えなかった場合、前記第３のセットのデータビットの格納用として選択されたすべてのメモリセルが前記第２の所定のしきい値電圧レベルに到達するか、前記電圧レベルを超えるまで、前記第３のセットのデータビットの格納用として選択された禁止されていないメモリセルのプログラミングを続行するステップと、
前記第３のセットのデータビットの格納用として選択されたすべてのメモリセルが前記第２の所定のしきい値電圧レベルに到達したか、前記電圧レベルを超えた場合、前記第３のセットのデータビットの格納用として選択されたすべてのメモリセルのプログラミングを続行するステップと、
をさらに有する請求項１記載の方法。
【請求項１７】
前記メモリセルが、ワードラインと結合されている請求項１記載の方法。
【請求項１８】
第４のセットのデータビットの格納用として選択されたメモリセルのプログラミングを禁止するステップをさらに有する請求項１記載の方法。
【請求項１９】
別のグループのメモリセルのために前記方法を繰り返すステップをさらに有する請求項１記載の方法。
【請求項２０】
複数の不揮発性メモリセルを利用する方法であって、
前記メモリセルに電荷を格納するステップと、
メモリセルが第１の所定の電荷レベルに到達しなかったか、前記電荷レベルを超えなかった場合、前記メモリセルへの電荷の格納を続行するステップであって、前記第１の所定の電荷レベルが少なくとも２つのデータビットを表すステップと、
前記第１の所定の電荷レベルに到達したか、前記電荷レベルを超えたいずれのメモリセルへの電荷の格納も禁止するステップと、
前記第１の所定の電荷レベルの格納用として選択されたすべてのメモリセルが前記第１の所定の電荷レベルに到達したか、前記電荷レベルを超えたかどうかを判定するステップと、
前記第１の所定の電荷レベルの格納用として選択された少なくとも１つのメモリセルが前記第１の所定の電荷レベルに到達しなかったか、前記電荷レベルを超えなかった場合、禁止されていないメモリセルへの電荷の格納を続行するステップと、
前記第１の所定の電荷レベルの格納用として選択されたすべてのメモリセルが前記第１の所定の電荷レベルに到達したか、前記電荷レベルを超えた場合、第２または第３の所定の電荷レベルの格納用として選択されたすべてのメモリセルが前記第１の所定の電荷レベルに到達したか、前記電荷レベルを超えたかどうかを判定するステップと、
前記第２または第３の所定の電荷レベルの格納用として選択された少なくとも１つのメモリセルが前記第１の所定の電荷レベルに到達しなかったか、前記電荷レベルを超えなかった場合、前記第２または第３の所定の電荷レベルの格納用として選択されたすべてのメモリセルが前記第１の所定の電荷レベルに到達するか、前記電荷レベルを超えるまで、禁止されていないメモリセルへの電荷の格納を続行するステップと、
を有することを特徴とする方法。
【請求項２１】
前記第２または第３の所定の電荷レベルの格納用として選択されたすべてのメモリセルが前記第１の所定の電荷レベルに到達したか、前記電荷レベルを超えた場合、第２または第３の所定の電荷レベルの格納用として選択されたすべてのメモリセルへの電荷の格納を続行するステップをさらに有する請求項２０記載の方法。
【請求項２２】
個々のメモリセルが、電荷を格納するように構成された少なくとも１つのフローティングゲートトランジスタを有する請求項２０記載の方法。
【請求項２３】
複数の不揮発性メモリセルをプログラムする方法であって、前記メモリセルが、第１のセットのデータビットに対応する第１の所定の電荷レベル以上の電荷レベルの格納用として選択された第１のセットの１またはそれ以上のメモリセルと、第２のセットのデータビットに対応する第２の所定の電荷レベル以上の電荷レベルの格納用として選択された第２のセットの１またはそれ以上のメモリセルと、第３のセットのデータビットに対応する第３の所定の電荷レベル以上の電荷レベルの格納用として選択された第３のセットの１またはそれ以上のメモリセルとを有する方法において、
前記第１のセット、第２のセットおよび第３のセット内のメモリセルに同時に電荷を格納するステップと、
メモリセルが前記第１の所定の電荷レベルに到達しなかったか、前記電荷レベルを超えなかった場合、前記メモリセルへの電荷の格納を続行するステップと、
前記第１の所定の電荷レベルに到達したか、前記電荷レベルを超えた前記第１のセット、第２のセットおよび第３のセット内のいずれかのメモリセルへの電荷の格納を禁止するステップと、
前記第１のセット内のすべてのメモリセルが前記第１の所定の電荷レベルに到達したか、前記電荷レベルを超えたかどうかを判定するステップと、
前記第１のセット内の少なくとも１つのメモリセルが前記第１の所定の電荷レベルに到達しなかったか、前記電荷レベルを超えなかった場合、禁止されていないメモリセルへの電荷の格納を続行するステップと、
を有することを特徴とする方法。
【請求項２４】
前記第１のセット内のすべてのメモリセルが前記第１の所定の電荷レベルに到達したか、前記電荷レベルを超えた場合、前記第２のセットと第３のセット内のすべてのメモリセルが前記第１の所定の電荷レベルに到達したか、前記電荷レベルを超えたかどうかを判定するステップと、
前記第２のセットまたは第３のセット内の少なくとも１つのメモリセルが前記第１の所定の電荷レベルに到達しなかったか、前記電荷レベルを超えなかった場合、前記第２のセットと第３のセット内のすべてのメモリセルが前記第１の所定の電荷レベルに到達するか、前記電荷レベルを超えるまで、前記第２のセットと第３のセット内の禁止されていないメモリセルへの電荷の格納を続行するステップと、
前記第２のセットと第３のセット内のすべてのメモリセルが前記第１の所定の電荷レベルに到達したか、前記電荷レベルを超えた場合、前記第２のセットと第３のセット内のすべてのメモリセルへの電荷の格納を続行するステップと、
をさらに有する請求項２３記載の方法。
【請求項２５】
複数のしきい値電圧レベルを持つように複数の不揮発性メモリセルをプログラムする方法であって、
少なくとも１つの電圧パルスを用いて前記メモリセルをプログラムするステップと、
少なくとも１つの電圧パルスを印加した後、メモリセルが第１の所定のしきい値電圧レベルに到達しなかったか、前記電圧レベルを超えなかった場合、プログラミングを続行するステップであって、前記第１の所定のしきい値電圧レベルが第１のセットのデータビットを表すステップと、
前記第１の所定のしきい値電圧レベルに到達したか、前記電圧レベルを超えたいずれのメモリセルのプログラミングも禁止するステップと、
前記第１のセットのデータビットの格納用として選択されたすべてのメモリセルが前記第１の所定のしきい値電圧レベルに到達したか、前記電圧レベルを超えたかどうかを判定するステップと、
前記第１のセットのデータビットの格納用として選択された少なくとも１つのメモリセルが前記第１の所定のしきい値電圧レベルに到達しなかったか、前記電圧レベルを超えなかった場合、禁止されていないメモリセルのプログラミングを続行するステップと、
前記第１のセットのデータビットの格納用として選択されたすべてのメモリセルが前記第１の所定のしきい値電圧レベルに到達したか、前記電圧レベルを超えた場合、いずれかのメモリセルが第２の所定のしきい値電圧レベルに到達したか、前記電圧レベルを超えたかどうかを判定するステップであって、前記第２の所定のしきい値電圧レベルが第２のセットのデータビットを表すステップと、
前記第２の所定のしきい値電圧レベルに到達したか、前記電圧レベルを超えたいずれのメモリセルのプログラミングも禁止し、禁止されていないメモリセルのプログラミングを続行するステップと、
を有することを特徴とする方法。
【請求項２６】
前記第２のセットまたは第３のセットのデータビットの格納用として選択されたすべてのメモリセルが前記第２の所定のしきい値電圧レベルに到達したか、前記電圧レベルを超えたかどうかを判定するステップと、
前記第２のセットまたは第３のセットのデータビットの格納用として選択されたすべてのメモリセルが前記第２の所定のしきい値電圧レベルに到達したか、前記電圧レベルを超えた場合、前記第３のセットのデータビットの格納用として選択されたすべてのメモリセルが前記第３の所定のしきい値電圧レベルに到達したか、前記電圧レベルを超えたかどうかを判定するステップと、
前記第３の所定のしきい値電圧レベルに到達したか、前記電圧レベルを超えたいずれのメモリセルのプログラミングも禁止し、禁止されていないメモリセルのプログラミングを続行するステップと、
をさらに有する請求項２５記載の方法。
【請求項２７】
複数の不揮発性メモリセルを利用する方法であって、
前記メモリセルに電荷を格納するステップと、
メモリセルが第１の所定の電荷レベルに到達しなかったか、前記電荷レベルを超えなかった場合、前記メモリセルへの電荷の格納を続行するステップであって、前記第１の所定の電荷レベルが少なくとも２つのデータビットを表すステップと、
前記第１の所定の電荷レベルに到達したか、前記電荷レベルを超えたいずれのメモリセルへの電荷の格納も禁止するステップと、
前記第１の所定の電荷レベルの格納用として選択されたすべてのメモリセルが前記第１の所定の電荷レベルに到達したか、前記電荷レベルを超えたかどうかを判定するステップと、
前記第１の所定の電荷レベルの格納用として選択された少なくとも１つのメモリセルが前記第１の所定の電荷レベルに到達しなかったか、前記電荷レベルを超えなかった場合、禁止されていないメモリセルへの電荷の格納を続行するステップと、
前記第１の所定の電荷レベルの格納用として選択されたすべてのメモリセルが前記第１の所定の電荷レベルに到達したか、前記電荷レベルを超えた場合、第２または第３の所定の電荷レベルの格納用として選択されたいずれかのメモリセルが前記第２の所定の電荷レベルに到達したか、前記電荷レベルを超えたかどうかを判定するステップと、
前記第２の所定の電荷レベルに到達したか、前記電荷レベルを超えたいずれのメモリセルへの電荷の格納も禁止するステップと、
前記第２または第３の所定の電荷レベルの格納用として選択されたメモリセルが前記第２の所定の電荷レベルに到達しなかったか、前記電荷レベルを超えなかった場合、禁止されていないメモリセルへの電荷の格納を続行するステップと、
を有することを特徴とする方法。
【請求項２８】
前記第２の所定の電荷レベルの格納用として選択されたすべてのメモリセルが前記第２の所定の電荷レベルに到達したか、前記電荷レベルを超えたかどうかを判定するステップと、
前記第２の所定の電荷レベルの格納用として選択された少なくとも１つのメモリセルが前記第２の所定の電荷レベルに到達しなかったか、前記電荷レベルを超えなかった場合、禁止されていないメモリセルへの電荷の格納を続行するステップと、
前記第２の所定の電荷レベルの格納用として選択されたすべてのメモリセルが前記第２の所定の電荷レベルに到達したか、前記電荷レベルを超えた場合、前記第３の所定の電荷レベルの格納用として選択されたいずれかのメモリセルが前記第３の所定の電荷レベルに到達したか、前記電荷レベルを超えたかどうかを判定するステップと、
前記第３の所定の電荷レベルの格納用として選択された少なくとも１つのメモリセルが前記第２の所定の電荷レベルに到達しなかったか、前記電荷レベルを超えなかった場合、前記第３の所定の電荷レベルの格納用として選択されたすべてのメモリセルが前記第３の所定の電荷レベルに到達するか、前記電荷レベルを超えるまで、前記第３の所定の電荷レベルの格納用として選択されたすべてのメモリセルへの電荷の格納を続行するステップと、
をさらに有する請求項２７記載の方法。
【請求項２９】
個々のメモリセルが、電荷を格納するように構成された少なくとも１つのフローティングゲートトランジスタを有する請求項２７記載の方法。
【請求項３０】
複数の不揮発性メモリセルをプログラムする方法であって、前記メモリセルが、第１のセットのデータビットに対応する第１の所定の電荷レベル以上の電荷レベルの格納用として選択された第１のセットの１またはそれ以上のメモリセルと、第２のセットのデータビットに対応する第２の所定の電荷レベル以上の電荷レベルの格納用として選択された第２のセットの１またはそれ以上のメモリセルと、第３のセットのデータビットに対応する第３の所定の電荷レベル以上の電荷レベルの格納用として選択された第３のセットの１またはそれ以上のメモリセルとを有する方法において、
前記第１のセット、第２のセットおよび第３のセット内のメモリセル内に同時に電荷を格納するステップと、
メモリセルが前記第１の所定の電荷レベルに到達しなかったか、前記電荷レベルを超えなかった場合、前記メモリセルへの電荷の格納を続行するステップと、
前記第１の所定の電荷レベルに到達したか、前記電荷レベルを超えた前記第１のセット、第２のセットおよび第３のセット内のいずれかのメモリセルの荷電を禁止するステップと、
前記第１のセット内のすべてのメモリセルが前記第１の所定の電荷レベルに到達したか、前記電荷レベルを超えたかどうかを判定するステップと、
前記第１のセット内の少なくとも１つのメモリセルが前記第１の所定の電荷レベルに到達しなかったか、前記電荷レベルを超えなかった場合、禁止されていないメモリセルへの電荷の格納を続行するステップと、
前記第１のセット内のすべてのメモリセルが前記第１の所定の電荷レベルに到達したか、前記電荷レベルを超えた場合、前記第２のセット内のいずれかのメモリセルが前記第２の所定の電荷レベルに到達したか、前記電荷レベルを超えたかどうかを判定するステップと、
前記第２のセット内の少なくとも１つのメモリセルが前記第２の所定の電荷レベルに到達しなかったか、前記電荷レベルを超えなかった場合、前記第２のセットと第３のセット内の禁止されていないメモリセルへの電荷の格納を続行するステップと、
を有することを特徴とする方法。
【請求項３１】
メモリデバイスであって、
複数の不揮発性メモリセルを有し、前記メモリセルは、
第１のセットのデータビットに対応する第１の所定の電荷レベル以上の電荷の格納用として選択された第１のセットの１またはそれ以上のメモリセルと、
第２のセットのデータビットに対応する第２の所定の電荷レベル以上の電荷の格納用として選択された第２のセットの１またはそれ以上のメモリセルと、を有し、ここにおいて、前記メモリデバイスは、前記第１のセットと第２のセットのメモリセルを同時にプログラムし、さらに、前記第１のセット内のすべてのメモリセルが前記第１の所定の電荷レベルに到達するか、前記電荷レベルを超えるまで、前記第１の所定の電荷レベルに到達したか、前記電荷レベルを超えたいずれのメモリセルのプログラミングも禁止するように構成されていることを特徴とするメモリデバイス。
【請求項３２】
前記メモリデバイスが、前記第２のセット内のすべてのメモリセルが前記第１の所定の電荷レベルに到達するか、前記電荷レベルを超えるまで、プログラミングを続行するようにさらに構成されている請求項３１記載のメモリデバイス。
【請求項３３】
前記メモリデバイスが、前記メモリセルに第１のテスト電圧を印加することにより、メモリセルが前記第１の所定の電荷レベルに到達したか、前記電荷レベルを超えたかどうかを検証するようにさらに構成されている請求項３１記載のメモリデバイス。
【請求項３４】
前記メモリデバイスが、前記第２のセット内のすべてのメモリセルが前記第２の所定の電荷レベルに到達するか、前記電荷レベルを超えるまで、プログラミングを続行するようにさらに構成されている請求項３１記載のメモリデバイス。
【請求項３５】
前記メモリデバイスが、前記メモリセルに第２のテスト電圧を印加することにより、メモリセルが前記第２の所定の電荷レベルに到達したか、前記電荷レベルを超えたかどうかを検証するようにさらに構成されている請求項３４記載のメモリデバイス。
【請求項３６】
個々のメモリセルが、電荷を格納するように構成されたフローティングゲートトランジスタを有する請求項３１記載のメモリデバイス。
【請求項３７】
前記メモリセルが、複数の行と列の形で編成された請求項３１記載のメモリデバイス。
【請求項３８】
前記第１のセットと第２のセットのメモリセルが、メモリセルのアクティブな行内にある請求項３１記載のメモリデバイス。
【請求項３９】
複数の不揮発性メモリセルをプログラムする方法であって、
第１のセットと第２のセット内のメモリセルに電荷を格納するステップと、
メモリセルが第１の所定の電荷レベルに到達しなかったか、前記電荷レベルを超えなかった場合、前記メモリセルへの電荷の格納を続行するステップであって、前記第１の所定の電荷レベルが少なくとも２つのデータビットを表すステップと、
前記第１の所定の電荷レベルに到達したか、前記電荷レベルを超えたいずれのメモリセルへの電荷の格納も禁止するステップと、
前記第１のセット内のメモリセルのすべてのメモリセルが前記第１の所定の電荷レベルに到達したか、前記電荷レベルを超えたかどうかを判定するステップと、
前記第１のセット内の少なくとも１つのメモリセルが前記第１の所定の電荷レベルに到達しなかったか、前記電荷レベルを超えなかった場合、禁止されていないメモリセルへの電荷の格納を続行するステップと、
前記第１のセット内のすべてのメモリセルが前記第１の所定の電荷レベルに到達したか、前記電荷レベルを超えた場合、前記第１のセット内のメモリセルへの電荷の格納を続行するステップと、
を有することを特徴とする方法。
【請求項４０】
前記第１のセットのメモリセルが第１の初期電荷レベルを持ち、前記第２のセットのメモリセルが第２の初期電荷レベルを持ち、前記第２の初期電荷レベルの方が前記第１の初期電荷レベルよりも高く、かつ、前記所定の電荷レベルの方が前記第１と第２の初期電荷レベルの双方よりも高い請求項３９記載の方法。
【請求項４１】
共通のしきい値レベルから複数の不揮発性メモリセルを同時にプログラムして、メモリセルに格納されたデータによって指定されるような少なくとも第１と第２のしきい値レベルにセットする方法であって、
前記第１と第２のしきい値レベル用として指定された前記複数のメモリセルのすべてにプログラミング条件を適用するステップと、
前記第１と第２のしきい値レベル用として指定された前記セルが前記第１のしきい値レベルに個々に到達したとき、前記第１と第２のしきい値レベル用として指定された前記複数のメモリセルの個々のメモリセルに対する前記プログラミング条件の適用を終了させるステップと、
前記第１のしきい値レベル用として指定された前記メモリセルのセルがすべて前記第１のしきい値レベルに到達した後、前記第２のしきい値レベル用として指定された前記複数のメモリセルのセルに対してプログラミング条件を適用するステップと、
前記第２のしきい値レベル用として指定された前記セルが前記第２のしきい値レベルに個々に到達したとき、前記第２のしきい値レベル用として指定された前記複数のメモリセルの個々のメモリセルに対する前記プログラミング条件の適用を終了させるステップと、
を有することを特徴とする方法。
【請求項４２】
前記第２のしきい値レベル用として指定された前記メモリセルのすべてのセルが前記第１のしきい値レベルに到達した後、前記第２のしきい値レベル用として指定された前記複数のメモリセルのセルに対してプログラミング条件を適用するステップが開始する請求項４１記載の方法。
【請求項４３】
前記共通のしきい値レベルも、前記メモリセルに格納された前記データによって指定されたプログラムされたレベルであり、前記共有レベル用として指定された前記複数のメモリセルのセルが、プログラミング条件を受け取るステップからロックアウトされる請求項４１記載の方法。
【請求項４４】
データ格納手段であって、
複数の不揮発性メモリセルを有し、前記メモリセルは、
第１のセットのデータビットに対応する第１の所定の電荷レベル以上の電荷の格納用として選択された第１のセットの１またはそれ以上のメモリセルと、
第２のセットのデータビットに対応する第２の所定の電荷レベル以上の電荷の格納用として選択された第２のセットの１またはそれ以上のメモリセルと、を有し、ここにおいて、前記データ格納手段は、前記第１のセットと第２のセットのメモリセルを同時にプログラムし、さらに、前記第１のセット内のすべてのメモリセルが前記第１の所定の電荷レベルに到達するか、前記電荷レベルを超えるまで、前記第１の所定の電荷レベルに到達したか、前記電荷レベルを超えたいずれのメモリセルのプログラミングも禁止するように構成されていることを特徴とするデータ格納手段。
【請求項４５】
プログラミング用の前記第１のセットと第２のセットのメモリセルを選択する手段をさらに有する請求項４４記載のデータ格納手段。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリに関し、さらに詳細には、マルチレベル不揮発性メモリセルのプログラミングと禁止とを実行する方法およびシステムに関する。
【背景技術】
【０００２】
不揮発性メモリはデータの格納用として構成される。フラッシュ形の電気的に消去可能でプログラム可能な読み出し専用メモリ（ＥＥＰＲＯＭ）は不揮発性メモリの１つのタイプである。フラッシュＥＥＰＲＯＭは、行列の形で構成されたメモリセルアレイを含むものであってもよい。個々のメモリセルは、フローティングゲート、または、少なくとも２つの電荷レベルの格納用として構成された誘電体層を備えたトランジスタを含むものであってもよい。
【特許文献１】米国特許出願第０９／８９３，２７７号
【特許文献２】米国特許第６，１５１，２４８号
【特許文献３】米国特許第６，０４６，９３５号
【特許文献４】米国特許第５，５７０，３１５号
【特許文献５】米国特許第５，７７４，３９７号
【特許文献６】米国特許出願第０９／６６７，６１０号
【特許文献７】米国特許第５，０９５，３４４号
【特許文献８】米国特許第５，１７２，３３８号
【特許文献９】米国特許第５，６０２，９８７号
【特許文献１０】米国特許第５，６６３，９０１号
【特許文献１１】米国特許第５，４３０，８５９号
【特許文献１２】米国特許第５，６５７，３３２号
【特許文献１３】米国特許第５，７１２，１８０号
【特許文献１４】米国特許第５，８９０，１９２号
【特許文献１５】米国特許出願第０９／５０５，５５５号
【特許文献１６】米国特許出願第０９／６６７，３４４号
【発明の開示】
【課題を解決するための手段】
【０００３】
本発明に基づいて、マルチレベル不揮発性メモリセルのプログラミングと禁止とを実行する方法およびシステムが提供される。このプログラミング／禁止方法およびシステムによって、他のメモリセルよりも高速に荷電を行うメモリセルの過剰プログラミングを好適に防止する。
【０００４】
本発明の一態様は、複数のしきい値電圧レベルを持つように複数の不揮発性メモリセルをプログラムする方法に関する。この方法は、少なくとも１つの電圧パルスを用いてメモリセルをプログラムするステップを有する。少なくとも１つの電圧パルスを印加した後、この方法は、メモリセルが第１の所定のしきい値電圧レベルに到達しないか、該しきい値電圧レベルを超えなければ、プログラミングを続行する。第１の所定のしきい値電圧レベルは第１のセットのデータビットを表す。この方法は、第１の所定のしきい値電圧レベルに到達したか、該電圧レベルを超えたいずれのメモリセルのプログラミングも禁止する。この方法は、第１のセットのデータビットの格納用として選択されたすべてのメモリセルが第１の所定のしきい値電圧レベルに到達したか、該電圧レベルを超えたかどうかの判定を行う。第１のセットのデータビットの格納用として選択された少なくとも１つのメモリセルが第１の所定のしきい値電圧レベルに到達しなかったか、該電圧レベルを超えなかった場合、この方法は禁止されていないメモリセルのプログラミングを続行する。第１のセットのデータビットの格納用として選択されたすべてのメモリセルが第１の所定のしきい値電圧レベルに到達したか、該電圧レベルを超えた場合、この方法は、第２のセットまたは第３のセットのデータビットの格納用として選択されたすべてのメモリセルが第１の所定のしきい値電圧レベルに到達したか、該電圧レベルを超えたかどうかの判定を行う。第２のセットまたは第３のセットのデータビットの格納用として選択された少なくとも１つのメモリセルが、第１の所定のしきい値電圧レベルに到達しなかったか、該電圧レベルを超えなかった場合、第２のセットまたは第３のセットのデータビットの格納用として選択されたすべてのメモリセルが第１の所定のしきい値電圧レベルに到達するか、該電圧レベルを超えるまで、この方法は禁止されていないメモリセルのプログラミングを続行する。第２のセットまたは第３のセットのデータビットの格納用として選択されたすべてのメモリセルが第１の所定のしきい値電圧レベルに到達したか、該電圧レベルを超えた場合、この方法は、第２のセットまたは第３のセットのデータビットの格納用として選択されたすべてのメモリセルのプログラミングを続行する。
【０００５】
本発明の別の態様は、複数の不揮発性メモリセルをプログラムする方法に関する。これらのメモリセルは、第１のセットのデータビットに対応する第１の所定の電荷レベル以上の電荷レベルの格納用として選択された第１のセットの１またはそれ以上のメモリセルと、第２のセットのデータビットに対応する第２の所定の電荷レベル以上の電荷レベルの格納用として選択された第２のセットの１またはそれ以上のメモリセルと、第３のセットのデータビットに対応する第３の所定の電荷レベル以上の電荷レベルの格納用として選択された第３のセットの１またはそれ以上のメモリセルとを含む。この方法は、メモリセルに電荷を格納するために、第１のセット、第２のセットおよび第３のセットのメモリセルに同時に電荷を格納するステップを有する。この方法は、メモリセルが第１の所定の電荷レベルに到達しないか、該電荷レベルを超えない限りメモリセルへの電荷の格納を続行する。この方法は、第１の所定の電荷レベルに到達したか、該電荷レベルを超えた第１のセット、第２のセットおよび第３のセットのいずれかのメモリセルの荷電を禁止する。この方法は、第１のセット内のすべてのメモリセルが第１の所定の電荷レベルに到達したか、該電荷レベルを超えたかどうかの判定を行う。第１のセット内の少なくとも１つのメモリセルが第１の所定の電荷レベルに到達しなかったか、該電荷レベルを超えなかった場合、この方法は禁止されていないメモリセルへの電荷の格納を続行する。
【０００６】
本発明の別の態様は、複数のしきい値電圧レベルを持つように複数の不揮発性メモリセルをプログラムする方法に関する。この方法は、少なくとも１つの電圧パルスを用いてメモリセルをプログラムするステップを有する。少なくとも１つの電圧パルスを印加した後、この方法は、メモリセルが第１の所定のしきい値電圧レベルに到達しなかったか、該電圧レベルを超えなかった場合、プログラミングを続行する。第１の所定のしきい値電圧レベルは第１のセットのデータビットを表す。この方法は、第１の所定のしきい値電圧レベルに到達したか、該電圧レベルを超えたいずれのメモリセルのプログラミングも禁止する。この方法は、第１のセットのデータビットの格納用として選択されたすべてのメモリセルが第１の所定のしきい値電圧レベルに到達したか、該電圧レベルを超えたかどうかの判定を行う。第１のセットのデータビットの格納用として選択された少なくとも１つのメモリセルが第１の所定のしきい値電圧レベルに到達しなかったか、該電圧レベルを超えなかった場合、この方法は禁止されていないメモリセルのプログラミングを続行する。第１のセットのデータビットの格納用として選択されたすべてのメモリセルが第１の所定のしきい値電圧レベルに到達したか、該電圧レベルを超えた場合、この方法は、いずれかのメモリセルが第２の所定のしきい値電圧レベルに到達したか、該電圧レベルを超えたかどうかの判定を行う。第２の所定のしきい値電圧レベルは第２のセットのデータビットを表す。この方法は、第２の所定のしきい値電圧レベルに到達したか、該電圧レベルを超えたいずれのメモリセルのプログラミングも禁止し、禁止されていないメモリセルのプログラミングを続行する。
【０００７】
本発明の別の態様は、複数の不揮発性メモリセルを含むメモリデバイスに関する。これらのメモリセルは、第１のセットのデータビットに対応する第１の所定の電荷レベル以上の電荷の格納用として選択された第１のセットの１またはそれ以上のメモリセルと、第２のセットのデータビットに対応する第２の所定の電荷レベル以上の電荷の格納用として選択された第２のセットの１またはそれ以上のメモリセルとを含む。このメモリデバイスは、第１のセットと第２のセットのメモリセルを同時にプログラムし、第１のセット内のすべてのメモリセルが第１の所定の電荷レベルに到達するか、該電荷レベルを超えるまで、第１の所定の電荷レベルに到達したか、該電荷レベルを超えたいずれのメモリセルのプログラミングも禁止するように構成される。
【０００８】
本発明の別の態様は、複数の不揮発性メモリセルをプログラムする方法に関する。この方法は、第１のセットと第２のセットのメモリセルに電荷を格納するステップと、メモリセルが、少なくとも２つのデータビットを表す第１の所定の電荷レベルに到達しなかったか、該電荷レベルを超えなかった場合、メモリセルへの電荷の格納を続行するステップと、第１の所定の電荷レベルに到達したか、該電荷レベルを超えたいずれのメモリセルへの電荷の格納も禁止するステップと、第１のセットのメモリセル内のすべてのメモリセルが、第１の所定の電荷レベルに到達したか、該電荷レベルを超えたかどうかを判定するステップと、第１のセット内の少なくとも１つのメモリセルが第１の所定の電荷レベルに到達しなかったか、該電荷レベルを超えなかった場合、禁止されていないメモリセルへの電荷の格納を続行するステップと、第１のセット内のすべてのメモリセルが第１の所定の電荷レベルに到達したか、該電荷レベルを超えた場合、第１のセットのメモリセルへの電荷の格納を続行するステップと、を有する。
【０００９】
本発明の別の態様は、複数の不揮発性メモリセルを共通のしきい値レベルから同時にプログラミングを行って、メモリセルに格納されたデータが指定するような少なくとも第１と第２のしきい値レベルにセットする方法に関する。この方法は、第１と第２のしきい値レベル用として指定された複数のメモリセルのすべてに対するプログラミング条件を適用するステップと、第１と第２のしきい値レベル用として指定されたセルが個々に前記第１のしきい値レベルに到達したとき、第１と第２のしきい値レベル用として指定された複数のメモリセルの個々のメモリセルに対するプログラミング条件の適用を終了させるステップと、第１のしきい値レベル用として指定されたメモリセルのセルがすべて第１のしきい値レベルに到達した後、第２のしきい値レベル用として指定された複数のメモリセルのプログラミング条件を適用するステップと、第２のしきい値レベル用として指定されたセルが個々に前記第２のしきい値レベルに到達したとき、第２のしきい値レベル用として指定された複数のメモリセルの個々のメモリセルに対するプログラミング条件の適用を終了させるステップと、を有する。
【発明を実施するための最良の形態】
【００１０】
本発明の原理は、消去可能でプログラム可能な読み出し専用メモリ（ＥＰＲＯＭ）や電気的に消去可能でプログラム可能な読み出し専用メモリ（ＥＥＰＲＯＭ）などの現在存在する種々のタイプの不揮発性メモリに適用することも可能である。また、本発明の原理は、新たな技術を利用する種々のタイプの不揮発性メモリに適用することも可能である。フラッシュＥＥＰＲＯＭと関連して本発明の実施構成について本願明細書において説明する。本願明細書では個々のメモリセルは、フローティングゲートや誘電体層を用いるトランジスタのような少なくとも１つの電荷蓄積エレメントを有する。
【００１１】
図１は、本発明の種々の態様を実現することが可能な不揮発性メモリシステム１００の一実施形態を示す。図１のシステム１００については、“複数のデータ状態で動作する不揮発性メモリの記憶素子間の結合による影響を低減させるための動作技術”という譲渡人が同じである２００１年６月２７日出願の米国特許出願第０９／８９３，２７７号（代理人整理番号：Ｍ−１０３２１）（特許文献１）に記載がある。この特許は、その全体が本願明細書において参照により援用されている。
【００１２】
図１のメモリアレイ１には、行と列からなるマトリックスの形で配列される複数のメモリセルすなわち記憶エレメント（Ｍ）が含まれる。メモリセルアレイ１は、列制御回路２、行制御回路３、ｃソース制御回路４およびｃ−ｐウェル制御回路５によって制御される。
【００１３】
図１の列制御回路２は、メモリセルアレイ１のビットライン（ＢＬ）と結合される。列制御回路２は、ビットライン（ＢＬ）の電位レベルを制御する。すなわち、プログラミングの印加またはプログラミングの禁止を行ってプログラム処理中のメモリセル（Ｍ）の状態を検出し、メモリセル（Ｍ）に格納されたデータの読み出しを行う。
【００１４】
図１の行制御回路３は、ワードライン（ＷＬ）のうちの１つのワードラインを選択するためにワードライン（ＷＬ）と結合され、列制御回路２によって制御されるビットライン電位レベルと組み合わされたプログラム電圧が印加され、読み出された電圧が印加され、消去電圧が印加される。消去電圧は、メモリセル（Ｍ）が形成されるｐ形領域（“ｃ−ｐウェル”）の電圧と結合されたものであってもよい。
【００１５】
図１のｃソース制御回路４は、メモリセル（Ｍ）と接続された共通ソースライン（図３で“ｃソース”としてラベルされている）を制御する。ｃ−ｐウェル制御回路５はａｃ−ｐウェル電圧を制御する。
【００１６】
列制御回路２はアレイ１のメモリセル（Ｍ）に格納されたデータを読み出し、データ入出力用バッファ６を介して外部Ｉ／Ｏライン１０１へデータを出力することができる。外部Ｉ／Ｏライン１０１はコントローラ２０と接続される。外部Ｉ／Ｏライン１０１は、メモリセルに格納すべきプログラムデータをデータ入出力用バッファ６へ転送することができる。バッファ６はデータを列制御回路２へ転送する。
【００１７】
フラッシュメモリデバイス１００を制御するコマンドデータをコントローラ２０と結合する外部制御ライン１０２と結合されたコマンドインタフェース（図示せず）へ入力することができる。コマンドデータは要求された処理についてメモリシステム１００に知らせることができる。コントローラ２０は、列制御回路２、行制御回路３、ｃソース制御回路４、ｃ−ｐウェル制御回路５およびデータ入出力用バッファ６を制御する状態マシン８へ入力コマンドを転送する。状態マシン８は、ＲＥＡＤＹ／ＢＵＳＹやＰＡＳＳ／ＦＡＩＬなどのフラッシュメモリの状態データを出力することができる。
【００１８】
図１のコントローラ２０は、パーソナルコンピュータ、デジタルカメラまたは個人用情報機器（ＰＤＡ）などのホストシステム（図示せず）と接続されるか、これらと接続可能である。ホストシステムは、“格納せよ”や“データを読み出せ”のようなコマンドを開始し、このようなデータをメモリアレイ１から／メモリアレイ１へそれぞれ出力したり、このようなデータを受け取ったりする。コントローラ２０は、このようなコマンドをコマンド信号に変換し、コマンド回路７によってこのコマンド信号の翻訳および実行処理を行うことができる。コントローラ２０は、メモリアレイ１へ書き込まれたり、メモリアレイ１から読み出されたりするユーザデータ用のバッファメモリを備えたものであってもよい。
【００１９】
図１に示されているように、メモリシステム１００は、コントローラ２０と、１または２以上の集積回路チップ２２を含む集積回路チップ２１を備えたものであってもよい。集積回路チップ２２には、メモリアレイ１、並びに、関連する制御回路、コマンド回路、入出力回路および状態マシン回路２、３、４、５、６、７、８が個々に含まれる。別の実施形態では、コントローラ２０（およびおそらく別の制御回路）並びに１または２以上のメモリアレイ１が、１または２以上の集積回路チップ上に一体に組み込まれる。ホストシステムの一部としてメモリシステム１００を組み込んでもよい。あるいは、ホストシステムの接続ソケットの中へ取り外し可能で挿入可能なメモリカードの形でメモリシステム１００を備えてもよい。このようなカードは、メモリシステム全体１００、あるいは、関連する周辺回路を備えたコントローラ２０とメモリアレイ１とを含むものであってもよい。別の実施形態では、関連する周辺回路を別々のカードの形で設けてもよい。
【００２０】
図１のメモリセルアレイ１は任意の数のメモリセルを含むものであってもよい。メモリセルアレイ１は、ＮＡＮＤ形またはＮＯＲ形アレイなどの１または２以上のタイプのフラッシュＥＥＰＲＯＭセルアレイとして構造化されたものであってもよい。ＮＡＮＤ形またはＮＯＲ形アレイの例については、“隣接セルを共有するステアリングゲートを設けたデュアルフローティングゲートＥＥＰＲＯＭセルアレイ”という譲渡人が同じである米国特許第６，１５１，２４８号（特許文献２）と、米国特許出願第０９／８９３，２７７号（特許文献１）、および、東芝へ譲渡された“半導体素子とメモリシステム”という米国特許第６，０４６，９３５号（特許文献３）とに記載がある。この特許は、その全体が本願明細書において参照により援用されている。以下、フラッシュＥＥＰＲＯＭセルアレイのいくつかの例について説明する。
【００２１】
ＮＡＮＤ形メモリアレイ
図２は、図１のシステム１００で実現可能なＮＡＮＤ形フラッシュＥＥＰＲＯＭメモリセルアレイ２００の一実施形態を示す。アレイ２００は複数のブロック２０２Ａ〜２０２Ｎを含む。個々のブロック２０２は複数のページのメモリセルを含む。例えば、ブロック２０２は８または１６ページのメモリセルを含むものであってもよい。一実施形態では、“ブロック”は、同時消去が可能なセルの最小単位であり、“ページ”は、同時プログラムが可能なセルの最小単位である。
【００２２】
図２のページは、ワードラインＷＬ２などのワードラインと結合されたメモリセルの行、および、偶数のビットラインＢｌｅ０〜Ｂｌｅ４２５５などの特定のビットラインを含むものであってもよい。ブロック２０２内の個々の列は、いずれかの端の選択トランジスタ２０８Ａ、２０８Ｂを介してビットライン２０４と基準電位ライン２０６間で直列接続された４、８、１６または３２個のセルなどのグループすなわち“ストリング”２１０のメモリセルを含むものであってもよい。図２のアレイ２００は任意の数のセルを含むものであってもよい。ワードライン２１２は、図２に示すようないくつかの連続ストリングの形でセルの制御ゲートと結合される。
【００２３】
ＮＡＮＤ形アレイの一例については、米国特許出願第０９／８９３，２７７号（特許文献１）にさらなる記載がある。この特許は、その全体が本願明細書において参照により援用されている。このようなＮＡＮＤ形アレイの別の例については、米国特許第５，５７０，３１５号（特許文献４）、第５，７７４，３９７号（特許文献５）および第６，０４６，９３５号（特許文献３）、並びに、東芝に譲渡された特許出願第０９／６６７，６１０号（特許文献６）に記載がある。これらの特許および特許出願は、その全体が本願明細書において参照により援用されている。
【００２４】
ＮＯＲ形メモリアレイ
図３は、本発明の種々の態様が実現可能な不揮発性メモリシステム３００の別の実施形態を示す。図３のシステム３００は米国特許第６，１５１，２４８号（特許文献２）に記載がある。この特許は、その全体が本願明細書において参照により援用されている。システム３００は別の構成要素の間にメモリアレイ３１１を備える。
【００２５】
図４Ａは、図３のシステム３００で実現可能なＮＯＲ形フラッシュＥＥＰＲＯＭメモリセルアレイの一実施形態の一部４００を示す。アレイ部分４００は、隣接ビットライン（ＢＬ）（列）ＢＬ４とＢＬ５との間で接続されたメモリセル４０８などの複数のメモリセル、および、ワードライン（行）ＷＬ１と接続された選択トランジスタを備える。特定の数のメモリセルが一例として図４Ａに示されているが、アレイ部分４００は任意の数のセルを含むものであってもよい。ブロックおよび／またはページの形でセルの編成を行ってもよい。
【００２６】
図４Ｂは、図３のシステム３００で実現可能なＮＯＲ形フラッシュＥＥＰＲＯＭメモリセル４０８の一実施形態を示す。個々のセル４０８は、フローティングゲート４０２、４０４と、２つのフローティングゲートトランジスタ間の選択トランジスタＴ２を設けた２つのトランジスタＴ１左、Ｔ１右を備える。
【００２７】
ＮＯＲ形アレイの例および格納システムにおけるこれらアレイの利用については、米国特許第５，０９５，３４４号（特許文献７）、第５，１７２，３３８号（特許文献８）、第５，６０２，９８７号（特許文献９）、第５，６６３，９０１号（特許文献１０）、第５，４３０，８５９号（特許文献１１）、第５，６５７，３３２号（特許文献１２）、第５，７１２，１８０号（特許文献１３）、第５，８９０，１９２号（特許文献１４）および第６，１５１，２４８号（特許文献２）、並びに、２０００年２月１７日出願の米国特許出願第０９／５０５，５５５号（特許文献１５）およびサンディスク  コーポレイションに譲渡された２０００年９月２２日出願の第０９／６６７，３４４号（特許文献１６）に記載がある。これらの特許および特許出願は、その全体が本願明細書において参照により援用されている。ＮＯＲ形アレイおよびこれらアレイの動作の別の例については、米国特許第６，０４６，９３５号（特許文献３）に記載がある。この特許は、その全体が本願明細書において参照により援用されている。
【００２８】
フローティングゲートトランジスタとプログラム可能な状態
図４ＢのフローティングゲートトランジスタＴ１左などのフローティングゲートトランジスタはコントロールゲート端子４０６、フローティングゲート４０２、ソース側端子４１２およびドレイン側端子４１４を備える。図３の制御回路はトランジスタＴ１左にプログラミング電圧を印加することも可能である。プログラミング電圧の印加後、フローティングゲート４０２は、異なる電荷レベル範囲のいくつかのうちの１つの範囲に属する電荷レベルを格納するように構成される。プログラミング電圧の例については、米国特許出願第０９／８９３，２７７号（特許文献１）および米国特許第６，０４６，９３５号（特許文献３）に記載がある。これらの特許および特許出願は、その全体が本願明細書において参照により援用されている。
【００２９】
個々の電荷レベルの範囲は、図５の範囲５０３などのしきい値電圧レベルの範囲に対応し、十分な読み出し電圧または検証電圧がコントロールゲート４０６に印加されると、このしきい値電圧レベルに起因して、トランジスタＴ１左（図４Ｂ）を“オン”に転換させ、すなわちソース側端子４１２とドレイン側端子４１４間に電流の通過が生じる。このようにして、しきい値電圧レベルの個々の範囲によって、図５の“Ｖｔ０”状態などの格納状態が規定される。
【００３０】
図５は、Ｖｔ０、Ｖｔ１、Ｖｔ２、Ｖｔ３などの複数のしきい値電圧の格納状態に対応してプログラムされた図１のメモリアレイ１または図３のメモリアレイ３１１内のメモリセルの分布（個数）を示す。個々の格納状態はしきい値電圧レベルの範囲により規定される。例えば、格納状態Ｖｔ１は、最小しきい値電圧５０４を持つしきい値電圧範囲５０５により規定することができる。ノイズなどの非理想的検知条件を考慮して、図５の“検証電圧１”は、最小しきい値電圧５０４にセットしたり、狭いマージン分だけオフセットしたりすることも可能である。
【００３１】
図４Ｂのフローティングゲート４０２が、２つのプログラム可能なしきい値電圧範囲、すなわち図５の範囲５０３、５０５のような２つの範囲の格納された電荷レベルを持つ場合、フローティングゲートトランジスタＴ１左は、図５のＶｔ０とＶｔ１の状態などの２つのプログラム可能な状態を持つことになる。したがって、トランジスタＴ１左は１つの２進ビットデータを格納することが可能となる。その場合、Ｖｔ０の状態は“１”データビットに対応することができ、Ｖｔ１の状態は“０”データビットに対応することができる。
【００３２】
図４のフローティングゲート４０２が、図５の範囲５０３、５０５、５０７、５０９などの４つのプログラム可能なしきい値電圧範囲を持つ場合、フローティングゲートトランジスタＴ１左は、図５のＶｔ０、Ｖｔ１、Ｖｔ２、Ｖｔ３の状態などの４つのプログラム可能な状態を持つ。トランジスタＴ１左は２つの２進ビットデータを格納することができる。その場合、Ｖｔ０、Ｖｔ１、Ｖｔ２、Ｖｔ３の状態は、任意の構成可能な順序で“００”、“０１”、“１０”、“１１”に対応することができる。例えば、Ｖｔ０、Ｖｔ１、Ｖｔ２、Ｖｔ３の状態は、それぞれ“１１”、“１０”、“０１”、“００”に対応するようにしてもよい。別の例として、Ｖｔ０、Ｖｔ１、Ｖｔ２、Ｖｔ３の状態は、それぞれ、“００”、“０１”、“１０”、“１１”に対応するようにしてもよい。
【００３３】
図１のメモリシステム１００の大きさを最小化する１つの方法として、メモリアレイ１の大きさを縮小する方法がある。１つの解決方法として、個々のフローティングゲートトランジスタ内に２以上のビットデータを格納することによりメモリアレイ１のデータ記憶密度を上げる方法がある。フローティングゲートトランジスタは４、８、１６または３２の状態などの任意の数の格納状態に対応してプログラムすることができる。個々のフローティングゲートトランジスタは、トランジスタが動作できるしきい値電圧の総範囲またはウィンドウを持つようにすることができる。例えば、図５の総範囲５００は、特定のトランジスタ４００＋範囲５０３、５０５、５０７、５０９間のマージンに対応する４つの状態Ｖｔ０、Ｖｔ１、Ｖｔ２、Ｖｔ３を規定する範囲５０３、５０５、５０７、５０９を含み、この範囲により互いの状態を明瞭に識別することが可能となる。
【００３４】
多状態プログラミング
図１のシステム１００または図３のシステム３００などのマルチレベル不揮発性メモリシステムは、一般に、プログラミングまたは再プログラミングに先行して、“ブロック”として編成された多数の選択されたメモリセルを消去する。次いで、システム１００は、ブロック内の“ページ”の選択されたセルを消去状態から同時にプログラムして、メモリアレイ１に格納すべき着信データに対応する個々の状態にセットする。一実施形態では、システム１００は、４２５６個のセルのような１０００個よりも多くのセルの同時プログラミングを行うように構成される。
【００３５】
一実施形態では、システム１００は、選択されたメモリセルに対するプログラミング電圧パルスの同時印加と、セルの状態の読み出し（すなわち、セルのしきい値電圧の検証）とを交互に行って、個々のセルがそれらの意図した状態に到達したか、その状態を超えたかどうかの判定を行う。電圧レベルのプログラミングと検証とを含むこの方法のプログラミングと検証とを行う例については、米国特許出願第０９／８９３，２７７号（特許文献１）および米国特許第６，０４６，９３５号（特許文献３）に記載されている。これらの特許および特許出願は、その全体が本願明細書において参照により援用されている。
【００３６】
システム１００は、図５の“検証電圧１”などの検証電圧を用いて、図５の最小しきい値レベル５０４などのセルの意図した最小のしきい値電圧レベルに到達したかどうかを検証する任意の対象セルに対してプログラミングの禁止を行う。ページ内のすべてのセルが十分にプログラムされるまで、ページ内の別のセルのプログラミングの続行も可能である。
【００３７】
例えば、図１の不揮発性メモリシステム１００は、１と０の受信データパターンに基づいて、図５のＶｔ０、Ｖｔ１、Ｖｔ２、Ｖｔ３の状態などの種々の状態に対応して、メモリセルの１または２以上のページをプログラムすることも可能である。メモリアレイ１（図１）のページ内のすべてのマルチレベルのメモリセルは、一実施形態におけるＶｔ０などの完全に消去された状態から始まる。この実施形態では、Ｖｔ０は図５の最低の状態であり、Ｖｔ３はプログラムすべき最高の状態である。Ｖｔ０の状態に対応するデータ（００など）の格納用として選択されたメモリセルはプログラムパルスを必要としないため、プログラミングは禁止される。Ｖｔ１、Ｖｔ２、Ｖｔ３の状態に対応するデータ（０１、１０、１１など）の格納用として選択されたメモリセルはＶｔ０の状態からプログラムされる。
【００３８】
本願明細書で用いられているように、特定のＶｔの状態と関連するプログラムされたデータは“Ｖｔデータ”と呼ばれる場合もある。例えば、Ｖｔ１の状態と関連する“０１”データは“Ｖｔ１データ”と呼ばれる場合もある。
【００３９】
同時プログラミング
一実施形態では、Ｖｔ２とＶｔ３のデータ格納用として選択されたメモリセルをより高いしきい値電圧レベルまでプログラムする必要があるため、メモリシステム１００（図１）はＶｔ２とＶｔ３のデータを同時にプログラムして、Ｖｔ１のプログラミング中に、選択されたメモリセルの中へＶｔ２とＶｔ３のデータを入れることが可能である。このプログラミング方法によって総プログラミング時間が短縮される。この実施形態では、個々のプログラミング用パルスは個々のメモリセルのしきい値電圧レベルを特定のΔＶｔ分だけ上げるものと仮定されている。このΔＶｔはプログラミングのステップサイズよりも小さな値である。
【００４０】
プログラミング用パルス間の電圧差により図５のＶｔ０、Ｖｔ１、Ｖｔ２、Ｖｔ３のメモリセルの分布幅が決定される。例えば、プログラミング用パルス間の差が小さければ小さいほど、図５のＶｔ０、Ｖｔ１、Ｖｔ２、Ｖｔ３の分布幅はより狭くなる。しかし、比較的小さな電圧差を用いてパルスのプログラミングを行うことは、より大きな電圧差を用いてパルスのプログラミングを行う場合と比べてメモリセルをプログラムするのにより長い時間がかかることが考えられる。
【００４１】
Ｖｔ１のデータ格納用として選択されたメモリセルが完全にプログラムされ、検証されると、Ｖｔ１のデータを持つメモリセルは、少なくともＶｔ１検証レベル（図５の“検証電圧１”）よりも高いしきい値電圧レベルを持つことになり、プログラミングのステップサイズに近い分布幅を持つことができるようになる。Ｖｔ１のデータを持つこれらのメモリセルは以降のいずれのプログラミングからも禁止される。この時点で、Ｖｔ２またはＶｔ３の状態に対応してプログラムするために選択されたセルのほとんどは、Ｖｔ１の状態と関連するしきい値電圧レベルとほぼ同じしきい値電圧レベル、すなわちＶｔ０の開始状態のしきい値電圧レベルから増加したしきい値電圧レベルを持つ。１つの方法では、Ｖｔ２とＶｔ３の状態用として選択されたメモリセルの検証やプログラミングの禁止がＶｔ１の状態では行われず、このことに起因して、以下に説明するような問題が生じる可能性がある。
【００４２】
次いで、図１のメモリシステム１００は、Ｖｔ２のデータを用いてメモリセルのプログラミングと検証とを行い、一方、Ｖｔ０とＶｔ１のデータを持つメモリセルのプログラミングは禁止され、さらに、Ｖｔ３のデータを持つように選択されたメモリセルの同時プログラミングが行われる。次いで、メモリシステム１００は、Ｖｔ３のデータを持つように選択されたメモリセルのプログラミングを終了させる。
【００４３】
低速ビットと高速ビット
多すぎる“高速ビット”や“低速ビット”を伴うことなく、メモリセルのしきい値電圧レベルが同時に上昇すれば、上述したプログラミング方法は受け入れ可能なものである。これらの高速および低速ビットは、電荷の高速増加あるいは電荷の低速増加並びにしきい値電圧レベルを経験するフローティングゲートを備えたメモリセルである。トランジスタ製造時の変動や欠陥、繰り返されるプログラミング処理と消去処理などに起因して、高速ビットと低速ビットが複数の要因や変更されたトランジスタ特性などに起因して生じる可能性がある。かなりの数の高速ビットおよび／または低速ビットが生じた場合、上述した方法は、結果としてメモリセルの過剰プログラム（over-programmed)または不足プログラム（under-programmed）を生じる可能性がある。
【００４４】
例えば、メモリシステム１００（図１）がＶｔ１のデータのプログラミングと検証とを行う場合、Ｖｔ１のデータ格納用として選択されたいくつかのメモリセルは、２、３の追加のプログラミング用パルスを必要とすることになる。これらのメモリセルは、低速ビットセルまたは不足プログラムセルと呼ばれる場合もある。
【００４５】
さらに、Ｖｔ２とＶｔ３のデータ格納用として選択されたメモリセルは、Ｖｔ１のプログラミング中同時プログラミングが行われる。Ｖｔ１のプログラミングが終了していない間、いくつかの高速ビットが、Ｖｔ１検証レベル（図５の“検証電圧１”）をパスしたＶｔ２とＶｔ３の分布（Ｖｔ２のデータまたはＶｔ３のデータ格納用として選択されたメモリセル）内に生じる場合もある。また、Ｖｔ３の分布（Ｖｔ２データのプログラミング中にＶｔ３のデータ格納用として選択されたメモリセル）内にいくつかの高速ビットが生じる場合もある。
【００４６】
図６は、Ｖｔ２とＶｔ３の状態分布６００内の高速の（過剰プログラム）ビットを含む複数のしきい値電圧の格納状態に対応してプログラムされた図１のメモリアレイ１または図３のメモリアレイ３１１内のメモリセルの分布（個数）を示す。図６に示されているように、Ｖｔ１による検証中、Ｖｔ２とＶｔ３の分布６００内の高速ビットの検証とロックアウト（プログラムの禁止）は行われない。したがって、Ｖｔ２とＶｔ３の分布６００内の高速ビットは、Ｖｔ１のプログラミングの終了に必要な追加のプログラミング用パルスを受け取ることになる。Ｖｔ１のプログラミングの終了後、Ｖｔ２とＶｔ３の分布６００内の高速ビットは潜在的には過度に高速に動いて、Ｖｔ３検証レベル（図６の“検証電圧３”）に到達する可能性がある。この時点で、Ｖｔ２の分布内で高速ビットの回復を図る方法は存在しない。
【００４７】
一実施形態では、マルチレベルメモリセルに稠密な分布状態を持たせて、読み出し動作中に印加される最大電圧を低下させ、セル結合量すなわち米国特許出願第０９／８９３，２７７号（特許文献１）に記載されているユーピン（Yupin)効果の最小化を図るようにすることも望ましい。この特許は、その全体が本願明細書において参照により援用されている。
【００４８】
電荷蓄積エレメント当たりの格納状態の数が、例えば４から８へ増加した場合、プログラミング時間は通常増加する。というのは、個々の状態に対する電圧範囲が狭ければ狭いほど、さらに高いプログラミング精度が求められるからである。プログラミング時間の増加は、メモリシステムのパフォーマンスにかなり不利なインパクトを与える場合がある。
【００４９】
プログラミングおよびロックアウト方法
上述した目的と問題点は図７〜図１２Ｂを参照して以下説明する方法により処理される。以下に説明する方法は図１のシステム１００について言及するものではあるが、この方法は、図３のシステム３００により実行することも可能である。以下に説明する方法は、ＮＡＮＤ形またはＮＯＲ形セルアレイなどのいずれのタイプのメモリアレイに対しても実行可能である。
【００５０】
図７は、図１のメモリアレイ１または図３のメモリアレイ３１１内の複数のメモリセルのプログラミングと、検証と、ロックアウトとを実行する方法の一実施形態を示す。図７のブロック７００で、図１のコントローラ２０は、Ｖｔ０、Ｖｔ１、Ｖｔ２、Ｖｔ３などの多状態に対応する混合されたデータパターンを受け取り、これらのデータパターンは、メモリアレイ１内の１または２以上のページのメモリセルへ書き込まれる。システム１００（図１）は、メモリページにおいてＶｔ０の状態で選択されたすべてのメモリセルのプログラミングを禁止する。ブロック７００で、システム１００は、Ｖｔ１のデータ格納用として選択されたすべてのメモリセルと、Ｖｔ２のデータ格納用として選択されたすべてのメモリセルと、Ｖｔ３のデータ格納用として選択されたすべてのメモリセルとの同時プログラミングをプログラミング用パルスを用いて行う。
【００５１】
ブロック７０２で、１または２以上のプログラミング用パルスを印加した後、システム１００（図１）は、ページ内のプログラムされたメモリセルに読み出し済みの電圧条件を適用し、いずれかのプログラムされたメモリセルが、図９の“検証電圧１”よりも高いしきい値電圧を持っている（すなわち、Ｖｔ１の状態に到達している）かどうかを判定することにより検証動作を実行する。ノイズなどの非理想的検知条件を考慮して、図９の“検証電圧１”は、最小のしきい値電圧９０２にセットしたり、狭いマージン分だけオフセットしたりすることも可能である。電流レベルや電圧レベルをモニタする方法などのメモリセルのプログラミングを検証するいくつかの方法が存在し、これらの方法は当業者には周知である。
【００５２】
このＶｔ１検証動作は、Ｖｔ１、Ｖｔ２またはＶｔ３のデータ格納用として選択されたメモリブロック内のすべてのメモリセルに対して実行される。このようにして、Ｖｔ２またはＶｔ３のデータ格納用として選択されたメモリセルは、Ｖｔ１のデータ格納用として選択されたメモリセルと同時に“検証電圧１”を用いてＶｔ１の状態でプログラムされ、検証される。プログラムされたメモリセルがＶｔ１の状態に到達しなかった場合、システム１００はブロック７００へ戻る。１または２以上のプログラムされたメモリセルがＶｔ１の状態に到達した場合、システム１００はブロック７０４へ進む。
【００５３】
ブロック７０４（図７）で、システム１００（図１）は、残りのＶｔ１のプログラミング処理に対して、Ｖｔ１の状態に到達した個々のメモリセルのプログラミングのロックアウトすなわち禁止を行う。プログラミングのロックアウトすなわち禁止によって、図６のＶｔ２とＶｔ３のメモリセル分布６００で生じる場合のように、高速のＶｔ２とＶｔ３ビットの過剰プログラミングが阻止される。
【００５４】
図９は、過剰プログラムされたメモリセルを伴うことなく、しきい値電圧Ｖｔ１の格納状態に対応してプログラムされた図１のメモリアレイ１または図３のメモリアレイ３１１内のメモリセルの分布（個数）を示す。
【００５５】
ブロック７０６で、システム１００は検証電圧１（図９）を用いて検証動作を実行し、Ｖｔ１のデータ格納用として選択されたすべてのメモリセルがＶｔ１の状態に到達したかどうかの判定が行われる。Ｖｔ１のデータ格納用として選択された少なくとも１つのメモリセルがＶｔ１の状態に到達していなかった場合、システム１００はブロック７００へ戻る。Ｖｔ１の状態に到達した場合、システムは、図７のブロック７０８か、図８のブロック８００かのいずれかのブロックへ進む。
【００５６】
ブロック７０８で、Ｖｔ１のデータ格納用として選択されたすべてのメモリセルはＶｔ１の状態に到達している。システム７０８は、検証動作を実行し、Ｖｔ２のデータまたはＶｔ３のデータ格納用として選択されたすべてのメモリセルがＶｔ１の状態に到達したかどうかの判定を行う。Ｖｔ２のデータまたはＶｔ３のデータ格納用として選択されたメモリセルのすべてがＶｔ１の状態に到達していなかった場合、システム１００は、Ｖｔ２のデータまたはＶｔ３のデータ格納用として選択されたメモリセルに対してブロック７００〜７０４を繰り返し、ブロック７０８へ戻る。
【００５７】
Ｖｔ２のデータまたはＶｔ３のデータ格納用として選択されたメモリセルがすべてＶｔ１の状態に到達した場合、システム１００は、ブロック７００〜７０６の処理と類似のプロセスで、Ｖｔ２のデータまたはＶｔ３のデータ格納用として選択されたメモリセルのプログラミングと検証とを続行する。詳細に述べると、システム１００は、Ｖｔ２のデータ格納用として選択されたすべてのメモリセルと、Ｖｔ３のデータ格納用として選択されたすべてのメモリセルとのプログラミングをプログラミング用パルスを用いて行う。
【００５８】
１または２以上のパルスを出力した後、システム１００は検証動作を実行し、いずれかのメモリセルがＶｔ２の状態に到達したかどうかの判定を行う。システム１００は、残りのＶｔ２プログラミング処理に対して、Ｖｔ２の状態に到達した個々のメモリセルのプログラミングのロックアウトすなわち禁止を行う。システム１００は、検証電圧２（図１０）を用いて検証動作を実行し、Ｖｔ２のデータ格納用として選択されたすべてのメモリセルがＶｔ２の状態に到達したかどうかの判定を行う。Ｖｔ２のデータ格納用として選択された少なくとも１つのメモリセルがＶｔ２の状態に到達していなかった場合、システム１００はＶｔ２のプログラミングを続行する。Ｖｔ２の状態に到達した場合、システムはＶｔ３プログラミングへ進む。
【００５９】
図１０は、過剰プログラムされたビットを伴うことなく、しきい値電圧Ｖｔ１とＶｔ２の格納状態に対応してプログラムされた図１のメモリアレイ１または図３のメモリアレイ３１１内のメモリセルの分布（個数）を示す。
【００６０】
図１１は、過剰プログラムされたビットを伴うことなく、しきい値電圧Ｖｔ１、Ｖｔ２、Ｖｔ３の格納状態に対応してプログラムされた図１のメモリアレイ１または図３のメモリアレイ３１１内のメモリセルの分布（個数）を示す。
【００６１】
図７〜図１１を参照する上述した方法によって、Ｖｔ２のデータ格納用として選択されたメモリセルは、稠密な（狭い）メモリセル分布を用いてＶｔ２のプログラミング／検証プロセスを開始することが可能となり、その結果として図１０のＶｔ２の分布が得られる。同様に、Ｖｔ３のデータ格納用として選択されたメモリセルは、稠密な（狭い）メモリセル分布を用いてＶｔ２とＶｔ３のプログラミング／検証プロセスを開始し、その結果として図１１のＶｔ３の分布が得られる。
【００６２】
別のプログラミングおよびロックアウトの方法
図８は、図１のメモリアレイ１または図３のメモリアレイ３１１内の複数のメモリセルのプログラミングと、検証と、ロックアウトとを実行する方法の別の実施形態を示す。図８の方法の開始時に、図１のシステム１００は、Ｖｔ１のデータ格納用として選択されたすべてのメモリセルのプログラミングと検証とを、図７のブロック７００〜７０６に従って、図９に示すように行う。
【００６３】
ブロック８００で、システム１００は、図１０の検証電圧２を用いて検証動作を実行し、Ｖｔ２のデータ格納用として選択されたいずれかのメモリセルがＶｔ２の状態に到達したかどうかの判定を行う。Ｖｔ２のデータ格納用として選択された１または２以上のメモリセルがＶｔ２の状態に到達した場合、システム１００はブロック８０２へ進む。
【００６４】
ブロック８０２で、システム１００は、残りのＶｔ２プログラミング処理に対して、Ｖｔ２の状態を持つ個々のメモリセルのプログラミングのロックアウトすなわち禁止を行う。次いで、システム１００はブロック８０６へ進む。
【００６５】
Ｖｔ２のデータ格納用として選択されたメモリセルのいずれもＶｔ２の状態に到達しなかった場合（ブロック８００）、システム１００は、ブロック８０４で、Ｖｔ２のデータ格納用として選択されたメモリセルのプログラミングをプログラミング用パルスを用いて行う。１または２以上のプログラミング用パルスを印加した後、システムはブロック８００へ戻る。
【００６６】
ブロック８０６で、システム１００は、検証電圧２を用いて検証動作を実行し、Ｖｔ２のデータ格納用として選択されたすべてのメモリセルがＶｔ２の状態に到達したかどうかの判定を行う。Ｖｔ２のデータ格納用として選択された１または２以上のメモリセルがＶｔ２の状態に到達しなかった場合、システム１００はブロック８０４へ戻り、プログラミングを続行する。Ｖｔ２のデータ格納用として選択されたすべてのメモリセルがＶｔ２の状態に到達した場合、システム１００はＶｔ２とＶｔ３の分布内で首尾よく高速ビットのロックアウトを行い、図１０の分布の場合と同様のメモリセル分布を達成する。
【００６７】
ブロック８０８で、システム１００は、図１０の検証電圧３を用いて検証動作を実行し、Ｖｔ３のデータ格納用として選択されたいずれかのメモリセルがＶｔ３の状態に到達したかどうかの判定を行う。ブロック８１０で、システム１００は、残りのＶｔ３のプログラミング処理に対して、Ｖｔ３の状態に到達した個々のメモリセルのプログラミングのロックアウトすなわち禁止を行う。次いで、システム１００は、プログラミングのレベルのロックアウトと検証とが行われていないＶｔ３のデータ格納用として選択されたメモリセルのプログラミングを続行する。
【００６８】
このようにして、図８の方法は、Ｖｔ２とＶｔ３の分布内のすべての高速ビットを完全にロックして、図１１の場合と同様のメモリセル分布を達成する。Ｖｔ１検証プロセス（図７のブロック７００〜７０６）をパスしなかったＶｔ２またはＶｔ３のデータ格納用として選択されたいずれの低速ビット（低速プログラミングを用いるメモリセル）も、図８のブロック８００〜８０６に図に示されているように検証電圧２を用いて、Ｖｔ２の状態時にプログラムされ、検証される。このようにして、Ｖｔ２またはＶｔ３のデータ格納用として選択された低速ビットに起因する問題は発生しなくなる。
【００６９】
１または２以上の低位の状態から３以上の状態の同時プログラミングを行う限り、上述した図７と図８の状態遷移用のプログラミングシーケンスを任意の状態遷移シーケンスに適用することが可能である。
【００７０】
図１のシステム１００は、列制御回路２（またはコントローラ２０、コマンド回路７またはデータ入出力回路６）の中にデータラッチまたはレジスタを含むものであってもよい。データラッチは、メモリアレイ１へ書き込まれたデータと、メモリアレイ１から読み出されたデータとを保持するように構成される。データラッチやレジスタおよびそれらの動作の例については、米国特許出願第０９／８９３，２７７号（特許文献１）の図７並びに米国特許第６，０４６，９３５号（特許文献３）に記載がある。これらの特許および特許出願は、その全体が本願明細書において参照により援用されている。
【００７１】
図７の方法および／または図８の方法では、システム１００内のデータラッチがＶｔ２とＶｔ３のプログラムデータによりリセットされると、Ｖｔ１またはＶｔ０のデータを持つメモリセルのプログラミングは禁止される。次いで、Ｖｔ２とＶｔ３のデータは、Ｖｔ２の状態に対応してプログラムされ、検証される。
【００７２】
上述した方法のうちの１つの方法を利用することによって、図１１の個々の状態に対応してプログラムされるメモリセルは、プログラムのステップアップサイズ以下のＶｔ分布幅（幅５０３、５９５、５０７、５０９など）を持つことが望ましい。Ｖｔ分布幅とプログラムのステップアップサイズの例については、米国特許出願第０９／８９３，２７７号（特許文献１）並びに米国特許第６，０４６，９３５号（特許文献３）に記載がある。これらの特許および特許出願は、その全体が本願明細書において参照により援用されている。
【００７３】
上位ページと下位ページのプログラミング
上述した図７と図８のプログラミングシーケンスは、上位ページと下位ページのプログラミング技法を用いてメモリセルのプログラミングを行うメモリシステムにおいて実現可能である。上位ページと下位ページのプログラミング技法の例については、米国特許出願第０９／８９３，２７７号（特許文献１）並びに米国特許第６，０４６，９３５号（特許文献３）に記載がある。これらの特許および特許出願は、その全体が本願明細書において参照により援用されている。
【００７４】
図１２Ａは、第１ページのプログラミング処理後の図１のメモリアレイ１００または図３のメモリアレイ３１１内のメモリセルの分布を示す。第１ページは“上位”ページまたは“下位”ページと呼ばれる場合もある。メモリシステムのなかには、米国特許出願第０９／８９３，２７７号（特許文献１）（図１０Ａ〜１０Ｂを参照）に記載のように下位ページを最初にプログラムするものもある。米国特許第６，０４６，９３５号（特許文献３）（図４４Ｂ〜４４Ｃを参照）に記載のように上位ページを最初にプログラムするメモリシステムもある。図１２Ａの第１の状態１２０１で第１ページのプログラミング中に、プログラミングの禁止が行われるメモリセルもある一方で、第１の状態１２０１から第２の状態１２０２へプログラムされるメモリセルもある。
【００７５】
図１２Ｂは、第２ページのプログラミング処理後の図１のメモリアレイ１００または図３のメモリアレイ３１１内のメモリセルの分布を示す。第２ページは“上位”ページまたは“下位”ページと呼ばれる場合もある。第２ページのプログラミング中、第２の状態１２０２でのメモリセルのプログラミングの禁止を第２の状態１２０２で行ったり、第３の状態１２０３に対応するプログラミングを行ったりすることも可能である。第１の状態１２０１でのメモリセルのプログラミングの禁止を第１の状態１２０１で行ったり、第３の状態１２０３に対応するプログラミングを行ったりし、次いで、第４の状態１２０４に対応するプログラミングを行うことも可能である。このようにして、第３の状態１２０３に対応して、第１と第２の状態１２０１、１２０２のメモリセルの同時プログラミングが行われる。
【００７６】
図７と図８とを参照する上述した方法は、図１２Ｂの第２ページのプログラミング処理に適用することも可能である。このプログラミング方法は、第４の状態１２０４に到達するように意図したいずれかのメモリセルが第１の状態１２０１から第３の状態１２０３へプログラムされたかどうかの検証を行うことも可能である。第４の状態１２０４に到達するように意図した何らかのメモリセルが第３の状態１２０３に到達した場合、この方法は、このようなメモリセルがすべて第３の状態１２０３に到達するまで、個々のこのようなメモリセルのプログラミングのロックアウト／禁止を行うことができる。したがって、第１と第２の状態１２０１、１２０２のメモリセルのなかには、第３の状態１２０３で同時にプログラムされ、検証されるものもある。第４の状態１２０４に到達するように意図したメモリセルを第３の状態１２０３ですべて検証した後、この方法は、図１２Ｂに示されているように、第４の状態１２０４に対応してこのようなセルのプログラミングを行うことができる。
【００７７】
上述した方法は、第１の状態１２０１でのメモリセルが第４の状態１２０４に対応してプログラムされるとき、高速ビットを捕捉して、図１２Ｂの第４の状態分布のオーバーシューティングから高速ビットが生じる確率を小さくする方法である。一実施形態では、第４の状態１２０４の分布幅を可能な限り狭く保つことが望ましい。すなわち、第４の状態１２０４に対応してプログラムされたメモリセルが少なくとも２つの理由のために“オーバーシュートする”のを阻止することが望ましい。図２のストリング２１０などのＮＡＮＤアレイストリングのメモリセルが、第４の状態１２０４以上の受け入れ可能なレベルよりも高いしきい値電圧を持っている場合、隣接するメモリセルが正しく導通しない可能性がある。そのため、チェーンを正しく読み出したり、検証したりすることができなくなる。
【００７８】
上述した図７と図８のプログラミングシーケンスは、別のＶｔの状態を用いてメモリセルのプログラミングと検証とを行う前に、上述した米国特許出願第０９／８９３，２７７号（特許文献１）に記載されている１または２以上のプログラミングおよび検証方法と組み合わせて、メモリセルのＶｔの状態分布を稠密にすることも可能である。
【００７９】
上述した図７と図８の状態遷移のためのプログラミングシーケンスを変更することも可能である。上述した本発明の実施形態は単に例示の実施形態を意味するものであり、本発明に対する限定を意味するものではない。本発明から逸脱することなく、本発明の広範にわたる態様の種々の変更と改変とを行うことも可能である。添付の請求項は本発明の精神と範囲内におけるこのような変更と改変とを包含するものである。
【図面の簡単な説明】
【００８０】
【図１】本発明の種々の態様を実現することが可能な不揮発性メモリシステムの一実施形態を示す。
【図２】図１のシステムで実現可能なＮＡＮＤ形フラッシュＥＥＰＲＯＭメモリセルアレイの一実施形態を示す。
【図３】本発明の種々の態様を実現することが可能な不揮発性メモリシステムの別の実施形態を示す。
【図４Ａ】図３のシステムで実現可能なＮＯＲ形フラッシュＥＥＰＲＯＭメモリセルアレイの一実施形態の一部を示す。
【図４Ｂ】図３のシステムで実現可能なＮＯＲ形フラッシュＥＥＰＲＯＭメモリセルの一実施形態を示す。
【図５】複数のしきい値電圧の格納状態に対応してプログラムされた図１のメモリアレイまたは図３のメモリアレイ内のメモリセルの分布を示す。
【図６】複数のしきい値電圧の格納状態に対応してプログラムされた図１のメモリアレイまたは図３のメモリアレイ内のメモリセルの分布を示し、この分布にはＶｔ２とＶｔ３の状態分布における高速ビットが含まれる。
【図７】図１のメモリアレイまたは図３のメモリアレイ内の複数のメモリセルのプログラミングと、検証と、ロックアウトとを実行する方法の一実施形態を示す。
【図８】図１のメモリアレイまたは図３のメモリアレイ内の複数のメモリセルのプログラミングと、検証と、ロックアウトとを実行する方法の別の実施形態を示す。
【図９】過剰プログラムのメモリセルを伴うことなく、しきい値電圧Ｖｔ１の格納状態に対応してプログラムされた図１のメモリアレイまたは図３のメモリアレイ内のメモリセルの分布を示す。
【図１０】過剰プログラムされたビットを伴うことなく、しきい値電圧Ｖｔ１とＶｔ２の格納状態に対応してプログラムされた図１のメモリアレイまたは図３のメモリアレイ内のメモリセルの分布を示す。
【図１１】過剰プログラムされたビットを伴うことなく、しきい値電圧Ｖｔ１、Ｖｔ２、Ｖｔ３の格納状態に対応してプログラムされた図１のメモリアレイまたは図３のメモリアレイ内のメモリセルの分布を示す。
【図１２Ａ】第１ページのプログラミング処理後の図１のメモリアレイまたは図３のメモリアレイ内のメモリセルの分布を示す。
【図１２Ｂ】第２ページのプログラミング処理後の図１のメモリアレイまたは図３のメモリアレイ内のメモリセルの分布を示す。
【図１】
2005513699.tif 000003
【図２】
2005513699.tif 000004
【図３】
2005513699.tif 000005
【図４Ａ】
2005513699.tif 000006
【図４Ｂ】
2005513699.tif 000007
【図５】
2005513699.tif 000008
【図６】
2005513699.tif 000009
【図７】
2005513699.tif 000010
【図８】
2005513699.tif 000011
【図９】
2005513699.tif 000012
【図１０】
2005513699.tif 000013
【図１１】
2005513699.tif 000014
【図１２Ａ】
2005513699.tif 000015
【図１２Ｂ】
2005513699.tif 000016
【国際調査報告】
2005513699.tif 000017