(57)【特許請求の範囲】
【請求項１】
メモリデバイスをプログラミングする方法であって、前記メモリデバイスがメモリセルを有し、前記メモリセルのそれぞれが、半導体基板にソース及びドレイン領域、その間にチャネル領域と、前記チャネル領域上に配置されて前記チャネル領域の少なくとも一部の導電率に影響を及ぼしている浮遊ゲートと、浮遊ゲート及び基板から絶縁される１つ以上の追加の導電ゲートとを含み、それぞれのメモリセルが、ソース領域及び１つ以上の追加の導電ゲートにプログラム電圧を印加して、ドレイン領域から生じる電子が浮遊ゲート上に注入されるようにすることによってプログラム可能であり、それぞれのメモリセルのプログラム状態が、ソース及びドレイン領域の電圧差を印加することによって、並びに前記チャネル領域の読み出し電流を測定することによって読み出し可能であるメモリセルを有する、メモリデバイスをプログラミングする方法であって、前記方法が、
１）プログラミング電圧のパルスを、複数のメモリセルのソース領域及び１つ以上の導電ゲートに印加する工程と、
２）複数のメモリセルのプログラム状態を読み出す工程と、
３）複数のメモリセルの少なくとも１つ以上が工程２で第１の閾値に達する読み出し電流を示すまで、工程１及び工程２を繰り返す工程であって、工程１及び工程２を繰り返す工程が、工程１が繰り返されるたび第１のステップ値によって工程１のプログラミング電圧の少なくとも１つを増加させる、工程と、を含み、
前記第１の閾値に達した後、複数のメモリセルの第１のサブセットのそれぞれのために、
４）プログラミング電圧のパルスを、前記メモリセルの前記ソース領域及び前記１つ以上の導電ゲートに印加する工程と、
５）前記メモリセルのプログラム状態を読み出す工程と、
６）前記メモリセルが、工程５で前記第１の閾値とは異なる第２の閾値に達する読み出し電流を示すまで、工程４及び５を繰り返す工程であって、工程４及び工程５を繰り返す工程が、工程４が繰り返されるたび第２のステップ値によって工程４のプログラミング電圧の少なくとも１つを増加させることを含み、前記第２のステップ値が第１のステップ値より少なく、
前記第１の閾値に達した後、前記複数のメモリセルの第２のサブセットのそれぞれのために、
７）プログラミング電圧のパルスを、メモリセルのソース領域及び１つ以上の導電ゲートに印加する工程と、
８）前記メモリセルのプログラム状態を読み出す工程と、
９）メモリセルが、工程８で前記第１及び第２の閾値とは異なる第３の閾値に達する読み出し電流を示すまで、工程７及び工程８を繰り返す工程であって、工程７及び工程８を繰り返す工程が、工程７が繰り返されるたび第３のステップ値によって工程７のプログラミング電圧の少なくとも１つを増加させることを含み、前記第３のステップ値が第１のステップ値より少ない、方法。
【請求項２】
前記第２及び第３のステップ値が互いに等しい、請求項１に記載の方法。
【請求項３】
前記第１及び第３のステップ値が第２のステップ値より大きい、請求項１に記載の方法。
【請求項４】
前記第１の閾値が前記第２の閾値より大きく、及び前記第２の閾値が前記第３の閾値より大きい、請求項１に記載の方法。
【請求項５】
それぞれのメモリセルの前記１つ以上の追加の導電ゲートが、前記チャネル領域上に配置されて、前記チャネル領域の第２部分の導電率に影響を及ぼしている制御ゲートを含む、請求項１に記載の方法。
【請求項６】
請求項１に記載の方法であって、前記複数のメモリセルの第１のサブセットのために前記第２の閾値に達した後、及び前記複数のメモリセルの第２のサブセットのために前記第３の閾値に達した後、前記複数のメモリセルの第３のサブセットのそれぞれのために、前記方法が、
１０）プログラミング電圧のパルスを、前記メモリセルの前記ソース領域及び前記１つ以上の導電ゲートに印加する工程と、
１１）前記メモリセルのプログラム状態を読み出す工程と、
１２）前記メモリセルが、工程１１で前記第１及び第２及び第３の閾値とは異なる第４の閾値に達する読み出し電流を示すまで、工程１０及び工程１１を繰り返す工程であって、前記工程１０及び工程１１を繰り返す工程が、工程１０が繰り返されるたびに、第４のステップ値によって工程１０のプログラミング電圧の少なくとも１つを増加させることを含み、前記第４のステップ値が前記第２及び第３のステップ値より大きい、工程と、を更に含む、方法。
【請求項７】
前記第４のステップ値が前記第１のステップ値に等しい、請求項６に記載の方法。
【請求項８】
請求項６に記載の方法であって、
前記第４の閾値が、前記複数のメモリセルの全ての第３のサブセットに達した後、前記複数のメモリセルの全ての第３のサブセットのためにプログラミング電圧のキッカーパルスを前記ソース領域及び前記１つ以上の導電ゲートに印加する工程であって、前記キッカーパルスを印加する工程が工程１０〜工程１２で印加される前記プログラミング電圧に対して、第５のステップ値によって前記プログラミング電圧の少なくとも１つを増加させることを含む、工程を更に含む、方法。
【請求項９】
前記第５のステップ値が前記第４のステップ値より大きい、請求項８に記載の方法。
【請求項１０】
メモリデバイスをプログラミングする方法であって、前記メモリデバイスがメモリセルを有し、前記メモリセルのそれぞれが、半導体基板にソース及びドレイン領域、その間にチャネル領域と、前記チャネル領域上に配置されて前記チャネル領域の少なくとも一部の導電率に影響を及ぼしている浮遊ゲートと、浮遊ゲート及び基板から絶縁される１つ以上の追加の導電ゲートとを含み、それぞれのメモリセルが、ソース領域及び１つ以上の追加の導電ゲートにプログラム電圧を印加して、ドレイン領域から生じる電子が浮遊ゲート上に注入されるようにすることによってプログラム可能であり、それぞれのメモリセルのプログラム状態が、ソース及びドレイン領域の電圧差を印加することによって、並びに前記チャネル領域の読み出し電流を測定することによって読み出し可能であるメモリセルを有する、メモリデバイスをプログラミングする方法であって、該方法が、
複数のメモリセルの第１のサブセットのそれぞれのために、
１）プログラミング電圧のパルスを、前記メモリセルの前記ソース領域及び前記１つ以上の導電ゲートに印加する工程と、
２）前記メモリセルのプログラム状態を読み出す工程と、
３）前記メモリセルが工程２で第１の閾値に達する読み出し電流を示すまで、工程１及び工程２を繰り返す工程であって、該工程１及び工程２を繰り返す工程が、工程１が繰り返されるたび第１のステップ値によって工程１のプログラミング電圧の少なくとも１つを増加させることを含む、工程と、
複数のメモリセルの第２のサブセットのそれぞれのために、
４）プログラミング電圧のパルスを、前記メモリセルの前記ソース領域及び前記１つ以上の導電ゲートに印加する工程と、
５）前記メモリセルのプログラム状態を読み出す工程と、
６）メモリセルが、工程５で第１の閾値とは異なる第２の閾値に達する読み出し電流を示すまで、工程４及び工程５を繰り返す工程であって、該工程４及び工程５を繰り返す工程が、工程４が繰り返されるたび第２のステップ値によって工程４のプログラミング電圧の少なくとも１つを増加させることを含む、工程と、を含み、
前記第２のステップ値が前記第１のステップ値より大きい、方法。
【請求項１１】
前記第１のステップ値及び前記第２のステップ値が互いに等しい、請求項１０に記載の方法。
【請求項１２】
前記第１の閾値が前記第２の閾値より大きい、請求項１０に記載の方法。
【請求項１３】
それぞれのメモリセルの前記１つ以上の追加の導電ゲートが、前記チャネル領域上に配置されて、前記チャネル領域の第２部分の導電率に影響を及ぼしている制御ゲートを含む、請求項１０に記載の方法。
【請求項１４】
請求項１０に記載の方法であって、前記複数のメモリセルの第１のサブセットのために前記第１の閾値に達した後、及び前記複数のメモリセルの第２のサブセットのために前記第２の閾値に達した後、前記複数のメモリセルの第３のサブセットのそれぞれのために、前記方法が、
７）プログラミング電圧のパルスを、メモリセルのソース領域及び１つ以上の導電ゲートに印加する工程と、
８）前記メモリセルのプログラム状態を読み出す工程と、
９）前記メモリセルが、工程８で前記第１及び第２の閾値とは異なる第３の閾値に達する読み出し電流を示すまで、工程７及び工程８を繰り返す工程であって、該工程７及び工程８を繰り返す工程が、工程７が繰り返されるたびに、第３のステップ値によって工程７のプログラミング電圧の少なくとも１つを増加させることを含み、前記第３のステップ値が前記第１のステップ値及び前記第２のステップ値より大きい、工程と、を更に含む、方法。
【請求項１５】
請求項１４に記載の方法であって、
前記第３の閾値が、前記複数のメモリセルの全ての第３のサブセットに達した後、前記複数のメモリセルの全ての第３のサブセットのためにプログラミング電圧のキッカーパルスを前記ソース領域及び前記１つ以上の導電ゲートに印加する工程であって、前記キッカーパルスを印加する工程が工程７〜工程９で印加される前記プログラミング電圧に対して、第４のステップ値によって前記プログラミング電圧の少なくとも１つを増加させることを含む、工程を更に含む、方法。
【請求項１６】
前記第４のステップ値が前記第３のステップ値より大きい、請求項１５に記載の方法。
【請求項１７】
メモリデバイスをプログラミングする方法であって、前記メモリデバイスがメモリセルを有し、前記メモリセルのそれぞれが、半導体基板中にソース及びドレイン領域、その間にチャネル領域と、前記チャネル領域上に配置されて前記チャネル領域の少なくとも一部の導電率に影響を及ぼしている浮遊ゲートと、浮遊ゲート及び基板から絶縁される１つ以上の追加の導電ゲートとを含み、それぞれのメモリセルが、ソース領域及び１つ以上の追加の導電ゲートにプログラム電圧を印加して、ドレイン領域から生じる電子が浮遊ゲート上に注入されるようにすることによってプログラム可能であり、それぞれのメモリセルのプログラム状態が、ソース及びドレイン領域の電圧差を印加することによって、並びに前記チャネル領域の読み出し電流を測定することによって読み出し可能であるメモリセルを有する、メモリデバイスをプログラミングする方法であって、該方法が、
複数のメモリセルのそれぞれのために、
１）プログラミング電圧のパルスを、前記メモリセルの前記ソース領域及び前記１つ以上の導電ゲートに印加する工程と、
２）前記メモリセルのプログラム状態を読み出す工程と、
３）メモリセルが工程２で第１の閾値に達する読み出し電流を示すまで、工程１及び工程２を繰り返す工程であって、該工程１及び工程２を繰り返す工程が、工程１が繰り返されるたび第１のステップ値によって工程１のプログラミング電圧の少なくとも１つを増加させることを含む、工程と、
前記複数の全てのメモリセルのために前記第１の閾値に達した後、前記複数の全てのメモリセルのためにプログラミング電圧のキッカーパルスを前記ソース領域及び前記１つ以上の導電ゲートに印加する工程であって、前記キッカーパルスを印加する工程が工程１〜工程３で印加されるプログラミング電圧に対して、第２のステップ値によってプログラミング電圧の少なくとも１つを増加させることを含む、工程と、を含み、
前記第２のステップ値が前記第１のステップ値より大きい、方法。
【請求項１８】
メモリデバイスであって、
メモリセルであって、それぞれが、
半導体基板にソース及びドレイン領域、その間にチャネル領域と、
前記チャネル領域上に配置されて、前記チャネル領域の少なくとも一部の導電率に影響を及ぼしている浮遊ゲートと、
前記浮遊ゲート及び前記基板から絶縁される１つ以上の追加の導電ゲートと、を含み、  それぞれのメモリセルが、前記ソース領域及び前記１つ以上の追加の導電ゲートにプログラム電圧を印加して、前記ドレイン領域から生じる電子が前記浮遊ゲート上に注入されるようにすることによって、プログラム可能であり、並びに、それぞれのメモリセルのプログラム状態が、前記ソース及びドレイン領域の電圧差を印加することによって、並びに前記チャネル領域の読み出し電流を測定することによって、読み出し可能である、メモリセルと、
制御回路であって、
１）プログラミング電圧のパルスを、複数のメモリセル用前記ソース領域及び前記１つ以上の導電ゲートに印加し、
２）前記複数のメモリセルのプログラム状態を読み出し、
３）前記複数のメモリセルの少なくとも１つ以上が、工程２で第１の閾値に達する読み出し電流を示すまで、工程１及び工程２を繰り返し、該工程１及び工程２の繰り返しは、工程１が繰り返されるたび第１のステップ値によって工程１のプログラミング電圧の少なくとも１つを増加させることを含み、
前記第１の閾値に達した後、前記複数のメモリセルの第１のサブセットのそれぞれのために、
４）プログラミング電圧のパルスを、前記メモリセルの前記ソース領域及び前記１つ以上の導電ゲートに印加し、
５）前記メモリセルのプログラム状態を読み出し、
６）前記メモリセルが、工程５で第１の閾値とは異なる第２の閾値に達する読み出し電流を示すまで、工程４及び工程５を繰り返し、該工程４及び工程５の繰り返しが、工程４が繰り返されるたび第２のステップ値によって工程４のプログラミング電圧の少なくとも１つを増加させることを含み、前記第２のステップ値が前記第１のステップ値より少なく、
前記第１の閾値に達した後、前記複数のメモリセルの第２のサブセットのそれぞれのために、
７）プログラミング電圧のパルスを、前記メモリセルの前記ソース領域及び前記１つ以上の導電ゲートに印加し、
８）前記メモリセルのプログラム状態を読み出し、
９）前記メモリセルが、工程８で第１及び第２の閾値とは異なる第３の閾値に達する読み出し電流を示すまで、工程７及び工程８を繰り返し、該工程７及び工程８の繰り返しが、工程７が繰り返されるたび第３のステップ値によって工程７のプログラミング電圧の少なくとも１つを増加させることを含み、前記第３のステップ値が第１のステップ値より少なく、構成される制御回路と、を含むメモリデバイス。
【請求項１９】
前記第２のステップ値及び前記第３のステップ値が互いに等しい、請求項１８に記載のメモリデバイス。
【請求項２０】
前記第１のステップ値及び前記第３のステップ値が前記第２のステップ値より大きい、請求項１８に記載のメモリデバイス。
【請求項２１】
前記第１の閾値が前記第２の閾値より大きく、及び前記第２の閾値が前記第３の閾値より大きい、請求項１８に記載のメモリデバイス。
【請求項２２】
それぞれのメモリセルの前記１つ以上の追加の導電ゲートが、前記チャネル領域上に配置されて、前記チャネル領域の第２部分の導電率に影響を及ぼしている制御ゲートを含む、請求項１８に記載のメモリデバイス。
【請求項２３】
前記複数のメモリセルの第１のサブセットのために前記第２の閾値に達した後、及び前記複数のメモリセルの第２のサブセットのために前記第３の閾値に達した後、前記複数のメモリセルの第３のサブセットのそれぞれのために、前記制御回路が、
１０）プログラミング電圧のパルスを、前記メモリセルの前記ソース領域及び前記１つ以上の導電ゲートに印加し、
１１）前記メモリセルのプログラム状態を読み出し、
１２）前記メモリセルが、工程１１で第１及び第２及び第３の閾値とは異なる第４の閾値に達する読み出し電流を示すまで、工程１０及び工程１１を繰り返し、該工程１０及び工程１１の繰り返しが、工程１０が繰り返されるたびに、第４のステップ値によって工程１０のプログラミング電圧の少なくとも１つを増加させることを含み、前記第４のステップ値が前記第２のステップ値及び前記第３のステップ値より大きくなるように構成される、請求項１８に記載のメモリデバイス。
【請求項２４】
前記第４のステップ値が前記第１のステップ値に等しい、請求項２３に記載の方法。
【請求項２５】
請求項２３に記載のメモリデバイスであって、
前記複数のメモリセルの全ての前記第３のサブセットのために前記第４の閾値に達した後、前記複数のメモリセルの前記第３のサブセットのためにプログラミング電圧のキッカーパルスを前記ソース領域及び前記１つ以上の導電ゲートに印加するために構成された前記制御回路であって、前記キッカーパルスを印加する工程が工程１０〜工程１２で印加される前記プログラミング電圧に対して、第５のステップ値によって前記プログラミング電圧の少なくとも１つを増加させることを含む、制御回路を更に含む、メモリデバイス。
【請求項２６】
前記第５のステップ値が前記第４のステップ値より大きい、請求項２５に記載のメモリデバイス。
【請求項２７】
メモリデバイスであって、
メモリセルのそれぞれが、
半導体基板にソース及びドレイン領域、その間にチャネル領域と、
前記チャネル領域上に配置されて、前記チャネル領域の少なくとも一部の導電率に影響を及ぼしている浮遊ゲートと、
前記浮遊ゲート及び前記基板から絶縁される１つ以上の追加の導電ゲートと、を含み、  それぞれのメモリセルが、前記ソース領域及び前記１つ以上の追加の導電ゲートにプログラム電圧を印加して、前記ドレイン領域から生じる電子が前記浮遊ゲート上に注入されるようにすることによって、プログラム可能であり、並びに、それぞれのメモリセルのプログラム状態が、前記ソース及びドレイン領域の電圧差を印加することによって、並びに前記チャネル領域の読み出し電流を測定することによって、読み出し可能である、メモリセルと、
制御回路であって、
複数のメモリセルの第１のサブセットのそれぞれのために、
１）プログラミング電圧のパルスを、前記メモリセルの前記ソース領域及び前記１つ以上の導電ゲートに印加し、
２）前記メモリセルのプログラム状態を読み出し、
３）前記メモリセルが工程２で第１の閾値に達する読み出し電流を示すまで、工程１及び工程２を繰り返し、該工程１及び工程２の繰り返しが、工程１が繰り返されるたび第１のステップ値によって工程１のプログラミング電圧の少なくとも１つを増加させることを含み、
複数のメモリセルの第２のサブセットのそれぞれのために、
４）プログラミング電圧のパルスを、前記メモリセルの前記ソース領域及び前記１つ以上の導電ゲートに印加し、
５）前記メモリセルのプログラム状態を読み出し、
６）前記メモリセルが、工程５で第１の閾値とは異なる第２の閾値に達する読み出し電流を示すまで、工程４及び工程５を繰り返し、該工程４及び工程５の繰り返しが、工程４が繰り返されるたび第２のステップ値によって工程４のプログラミング電圧の少なくとも１つを増加させることを含むように構成された制御回路と、を備え、
前記第２のステップ値が前記第１のステップ値より大きい、メモリデバイス。
【請求項２８】
前記第１のステップ値及び前記第２のステップ値が互いに等しい、請求項２７に記載のメモリデバイス。
【請求項２９】
前記第１の閾値が前記第２の閾値より大きい、請求項２７に記載のメモリデバイス。
【請求項３０】
それぞれのメモリセルの前記１つ以上の追加の導電ゲートが、前記チャネル領域上に配置されて、前記チャネル領域の第２部分の導電率に影響を及ぼしている制御ゲートを含む、請求項２７に記載のメモリデバイス。
【請求項３１】
前記複数のメモリセルの前記第１のサブセットのために前記第１の閾値に達した後、及び前記複数のメモリセルの前記第２のサブセットのために前記第２の閾値に達した後、前記複数のメモリセルの第３のサブセットのそれぞれのために、前記制御回路が、
７）プログラミング電圧のパルスを、前記メモリセルの前記ソース領域及び前記１つ以上の導電ゲートに印加し、
８）前記メモリセルのプログラム状態を読み出し、
９）前記メモリセルが、工程８で第１及び第２の閾値とは異なる第３の閾値に達する読み出し電流を示すまで、工程７及び工程８を繰り返し、該工程７及び工程８の繰り返しが、工程７が繰り返されるたびに、第３のステップ値によって工程７のプログラミング電圧の少なくとも１つを増加させることを含み、該第３のステップ値が第１及び第２のステップ値より大きい、工程７及び工程８を繰り返すように構成される、請求項２７に記載のメモリデバイス。
【請求項３２】
請求項３１に記載のメモリデバイスであって、
前記複数のメモリセルの全ての第３のサブセットのために前記第３の閾値に達した後、前記複数のメモリセルの全ての第３のサブセットのためにプログラミング電圧のキッカーパルスを前記ソース領域及び前記１つ以上の導電ゲートに印加するために構成された制御回路であって、前記キッカーパルスを印加する工程が工程７〜９で印加される前記プログラミング電圧に対して、第４のステップ値によって前記プログラミング電圧の少なくとも１つを増加させることを含む、制御回路を更に含む、メモリデバイス。
【請求項３３】
前記第４のステップ値が前記第３のステップ値より大きい、請求項３２に記載のメモリデバイス。
【請求項３４】
メモリデバイスであって、
メモリセルのそれぞれが、
半導体基板にソース及びドレイン領域、その間にチャネル領域と、
前記チャネル領域上に配置されて、前記チャネル領域の少なくとも一部の導電率に影響を及ぼしている浮遊ゲートと、
前記浮遊ゲート及び前記基板から絶縁される１つ以上の追加の導電ゲートと、を含み、  それぞれのメモリセルが、前記ソース領域及び前記１つ以上の追加の導電ゲートにプログラム電圧を印加して、前記ドレイン領域から生じる電子が前記浮遊ゲート上に注入されるようにすることによって、プログラム可能であり、並びに、それぞれのメモリセルのプログラム状態が、前記ソース及びドレイン領域の電圧差を印加することによって、並びに前記チャネル領域の読み出し電流を測定することによって、読み出し可能である、メモリセルと、
制御回路であって、
複数のメモリセルのそれぞれのために、
１）プログラミング電圧のパルスを、前記メモリセルの前記ソース領域及び前記１つ以上の導電ゲートに印加し、
２）前記メモリセルのプログラム状態を読み出し、
３）前記メモリセルが工程２で第１の閾値に達する読み出し電流を示すまで、工程１及び工程２を繰り返し、該工程１及び工程２の繰り返しが、工程１が繰り返されるたび第１のステップ値によって工程１のプログラミング電圧の少なくとも１つを増加させることを含み、
複数の全てのメモリセルのために第１の閾値に達した後、複数の全てのメモリセルのためにプログラミング電圧のキッカーパルスを前記ソース領域及び前記１つ以上の導電ゲートに印加する、該キッカーパルスの印加が工程１〜工程３で印加されるプログラミング電圧に対して、第２のステップ値によってプログラミング電圧の少なくとも１つを増加させることを含む、制御回路と、を備え、
前記第２のステップ値が前記第１のステップ値より大きい、メモリデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリセルのプログラミングに関する。
【０００２】
（関連出願の相互参照）
本出願は、２０１３年３月１４日に出願された米国仮出願第６１／７８５，４８５号の利益を主張し、該仮出願は、参照により本明細書に組み込まれる。
【背景技術】
【０００３】
通常、不揮発性メモリセルは、基板上に配置されて、かつ基板から絶縁される浮遊ゲートを含む。プログラム中、選択されたメモリセルは、有効なホット電子注入によってプログラムされ、基板に沿って移動する電子が、浮遊ゲートに負電荷を与えている浮遊ゲートに注入される。これは、プログラム状態と考えられる。消去中、選択されたセルは、電子をファウラー−ノルドハイム現象を介して浮遊ゲートから通り抜けさせることによって消去される。これは、消去状態と考えられる。読み出し中、条件が、電流が浮遊ゲートの下の基材表面に沿って流れるように作成される。浮遊ゲートが電子でプログラムされる場合、前記の電流の流れを減少又は阻止し、プログラム状態として識別される。浮遊ゲートが電子でプログラムされていない場合、それは前記の電流の流れを許可し、消去状態として識別される。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
不揮発性メモリ（ＮＶＭ）動作中、一定のプログラム条件が設計の単純性を提供するので、全ての周囲条件下で全てのセルのために一定のプログラム条件が使用される。しかしながら、このようなプログラム条件は、セル間変動、処理変動、温度変動、電源範囲、メモリデバイスの寿命中のセル特性の変化などに適応するため、内蔵された十分な動作マージンを含む。その結果、ほとんどの動作条件下の大部分のメモリセルは、プログラム動作中に過度な負担にさらされる。このような過度の負担にさらされると、耐久性及びデータ保持力という点からデバイスの寿命を短縮する。
【０００５】
過剰プログラミングがなく、したがって不必要なメモリセル負担がなく、メモリセルを確実にプログラムする、並びに、セル間変動及び他のプログラミング変動を考慮に入れるプログラミング技術が必要とされている。
【課題を解決するための手段】
【０００６】
メモリデバイスをプログラミングする方法であって、該方法がメモリセルを有し、それぞれが、半導体基板にソース及びドレイン領域、その間にチャネル領域と、チャネル領域上に配置されて少なくとも一部のチャネル領域の導電率に影響を及ぼしている浮遊ゲートと、浮遊ゲート及び基板から絶縁される１つ以上の追加の導電ゲートとを含み、それぞれのメモリセルが、ソース領域及び１つ以上の追加の導電ゲートにプログラム電圧を印加して、ドレイン領域から生じる電子が浮遊ゲート上に注入されるようにすることによってプログラム可能であり、それぞれのメモリセルのプログラム状態が、ソース及びドレイン領域の電圧差を印加することによって、並びにチャネル領域の読み出し電流を測定することによって読み出し可能であるメモリセルを有する、メモリデバイスをプログラミングする方法。前記方法は、
１）プログラミング電圧のパルスを、複数のメモリセルのソース領域及び１つ以上の導電ゲートに印加する工程と、
２）複数のメモリセルのプログラム状態を読み出す工程と、
３）複数のメモリセルの少なくとも１つ以上が工程２で第１の閾値に達する読み出し電流を示すまで、工程１及び工程２を繰り返す工程と、工程１及び工程２を繰り返すことが、工程１が繰り返されるたび第１のステップ値によって工程１のプログラミング電圧の少なくとも１つを増加させることを含み、
第１の閾値に達した後、複数のメモリセルの第１のサブセットのそれぞれのために、
４）プログラミング電圧のパルスを、メモリセルのソース領域及び１つ以上の導電ゲートに印加する工程と、
５）メモリセルのプログラム状態を読み出す工程と、
６）前記メモリセルが、工程５で第１の閾値とは異なる第２の閾値に達する読み出し電流を示すまで、工程４及び工程５を繰り返す工程と、該工程４及び工程５を繰り返すことが、工程４が繰り返されるたび第２のステップ値によって工程４のプログラミング電圧の少なくとも１つを増加させることを含み、該第２のステップ値が第１のステップ値より少なく、
第１の閾値に達した後、複数のメモリセルの第２のサブセットのそれぞれのために：
７）プログラミング電圧のパルスを、メモリセルのソース領域及び１つ以上の導電ゲートに印加する工程と、
８）メモリセルのプログラム状態を読み出す工程と、
９）メモリセルが、工程８で第１及び第２の閾値とは異なる第３の閾値に達する読み出し電流を示すまで、工程７及び工程８を繰り返す工程であって、該工程７及び工程８を繰り返すことが、工程７が繰り返されるたび第３のステップ値によって工程７のプログラミング電圧の少なくとも１つを増加させることを含み、該第３のステップ値が第１のステップ値より少ない、工程と、を含む。
【０００７】
メモリデバイスをプログラミングする方法であって、該方法がメモリセルを有し、それぞれが、半導体基板にソース及びドレイン領域、その間にチャネル領域と、チャネル領域上に配置されて少なくとも一部のチャネル領域の導電率に影響を及ぼしている浮遊ゲートと、浮遊ゲート及び基板から絶縁される１つ以上の追加の導電ゲートとを含み、それぞれのメモリセルが、ソース領域及び１つ以上の追加の導電ゲートにプログラム電圧を印加して、ドレイン領域から生じる電子が浮遊ゲート上に注入されるようにすることによってプログラム可能であり、それぞれのメモリセルのプログラム状態が、ソース及びドレイン領域の電圧差を印加することによって、並びにチャネル領域の読み出し電流を測定することによって読み出し可能であるメモリセルを有する、メモリデバイスをプログラミングする方法。前記方法は、
複数のメモリセルの第１のサブセットのそれぞれのために、
１）プログラミング電圧のパルスを、メモリセルのソース領域及び１つ以上の導電ゲートに印加する工程と、
２）メモリセルのプログラム状態を読み出す工程と、
３）メモリセルが工程２で第１の閾値に達する読み出し電流を示すまで、工程１及び２を繰り返す工程と、該工程１及び工程２を繰り返す工程が、工程１が繰り返されるたび第１のステップ値によって工程１のプログラミング電圧の少なくとも１つを増加させることを含み、
複数のメモリセルの第２のサブセットのそれぞれのために、
４）プログラミング電圧のパルスを、メモリセルのソース領域及び１つ以上の導電ゲートに印加する工程と、
５）メモリセルのプログラム状態を読み出す工程と、
６）メモリセルが、工程５で第１の閾値とは異なる第２の閾値に達する読み出し電流を示すまで、工程４及び工程５を繰り返す工程と、該工程４及び工程５を繰り返す工程が、工程４が繰り返されるたび第２のステップ値によって工程４のプログラミング電圧の少なくとも１つを増加させることを含む。
【０００８】
メモリデバイスをプログラミングする方法であって、該方法がメモリセルを有し、それぞれが、半導体基板にソース及びドレイン領域、その間にチャネル領域と、チャネル領域上に配置されて少なくとも一部のチャネル領域の導電率に影響を及ぼしている浮遊ゲートと、浮遊ゲート及び基板から絶縁される１つ以上の追加の導電ゲートとを含み、それぞれのメモリセルが、ソース領域及び１つ以上の追加の導電ゲートにプログラム電圧を印加して、ドレイン領域から生じる電子が浮遊ゲート上に注入されるようにすることによってプログラム可能であり、それぞれのメモリセルのプログラム状態が、ソース及びドレイン領域の電圧差を印加することによって、並びにチャネル領域の読み出し電流を測定することによって読み出し可能であるメモリセルを有する、メモリデバイスをプログラミングする方法。前記方法は、
複数のメモリセルのそれぞれのために、
１）プログラミング電圧のパルスを、メモリセルのソース領域及び１つ以上の導電ゲートに印加する工程と、
２）メモリセルのプログラム状態を読み出す工程と、
３）メモリセルが工程２で第１の閾値に達する読み出し電流を示すまで、工程１及び工程２を繰り返す工程と、該工程１及び工程２を繰り返す工程が、工程１が繰り返されるたび第１のステップ値によって工程１のプログラミング電圧の少なくとも１つを増加させることを含み、
複数の全てのメモリセルのために第１の閾値に達した後、複数の全てのメモリセルのためにプログラミング電圧のキッカーパルスをソース領域及び１つ以上の導電ゲートに印加する工程と、該キッカーパルスを印加する工程が工程１〜工程３で印加されるプログラミング電圧に対して、第２のステップ値によってプログラミング電圧の少なくとも１つを増加させることを含む。
【０００９】
メモリデバイスは、メモリセル（それぞれのメモリセルが、半導体基板にソース及びドレイン領域、その間にチャネル領域と、チャネル領域上に配置されて少なくとも一部のチャネル領域の導電率に影響を及ぼしている浮遊ゲートと、浮遊ゲート及び基板から絶縁される１つ以上の追加の導電ゲートとを含み、それぞれのメモリセルが、ソース領域及び１つ以上の追加の導電ゲートにプログラム電圧を印加して、ドレイン領域から生じる電子が浮遊ゲート上に注入されるようにすることによってプログラム可能に構成されており、それぞれのメモリセルのプログラム状態が、ソース及びドレイン領域の電圧差を印加することによって、並びにチャネル領域の読み出し電流を測定することによって読み出し可能である）、並びに、
１）プログラミング電圧のパルスを、複数のメモリセル用ソース領域及び１つ以上の導電ゲートに印加し、
２）複数のメモリセルのプログラム状態を読み出し、
３）複数のメモリセルの少なくとも１つ以上が、工程２で第１の閾値に達する読み出し電流を示すまで、工程１及び工程２を繰り返し、該工程１及び工程２の繰り返しは、工程１が繰り返されるたび第１のステップ値によって工程１のプログラミング電圧の少なくとも１つを増加させることを含み、
第１の閾値に達した後、複数のメモリセルの第１のサブセットのそれぞれのために、
４）プログラミング電圧のパルスを、メモリセルのソース領域及び１つ以上の導電ゲートに印加し、
５）メモリセルのプログラム状態を読み出し、
６）メモリセルが、工程５で第１の閾値とは異なる第２の閾値に達する読み出し電流を示すまで、工程４及び工程５を繰り返す、該工程４及び工程５の繰り返しが、工程４が繰り返されるたび第２のステップ値によって工程４のプログラミング電圧の少なくとも１つを増加させることを含み、該第２のステップ値が第１のステップ値より少なく、
第１の閾値に達した後、複数のメモリセルの第２のサブセットのそれぞれのために：
７）プログラミング電圧のパルスを、メモリセルのソース領域及び１つ以上の導電ゲートに印加し、
８）メモリセルのプログラム状態を読み出し、
９）前記メモリセルが、工程８で第１及び第２の閾値とは異なる第３の閾値に達する読み出し電流を示すまで、工程７及び工程８を繰り返し、該工程７及び工程８の繰り返しが、工程７が繰り返されるたび第３のステップ値によって工程７のプログラミング電圧の少なくとも１つを増加させることを含み、該第３のステップ値が第１のステップ値より少なく、構成される制御回路と、を含むデバイス。
【００１０】
メモリデバイスは、メモリセル（それぞれのメモリセルが、半導体基板にソース及びドレイン領域、その間にチャネル領域と、チャネル領域上に配置されて少なくとも一部のチャネル領域の導電率に影響を及ぼしている浮遊ゲートと、浮遊ゲート及び基板から絶縁される１つ以上の追加の導電ゲートとを含み、それぞれのメモリセルが、ソース領域及び１つ以上の追加の導電ゲートにプログラム電圧を印加して、ドレイン領域から生じる電子が浮遊ゲート上に注入されるようにすることによってプログラム可能に構成されており、それぞれのメモリセルのプログラム状態が、ソース及びドレイン領域の電圧差を印加することによって、並びにチャネル領域の読み出し電流を測定することによって読み出し可能である）、並びに、
複数のメモリセルの第１のサブセットのそれぞれのために、
１）プログラミング電圧のパルスを、メモリセルのソース領域及び１つ以上の導電ゲートに印加し、
２）メモリセルのプログラム状態を読み出し、
３）メモリセルが工程２で第１の閾値に達する読み出し電流を示すまで、工程１及び工程２を繰り返し、該工程１及び工程２の繰り返しが、工程１が繰り返されるたび第１のステップ値によって工程１のプログラミング電圧の少なくとも１つを増加させることを含み、
複数のメモリセルの第２のサブセットのそれぞれのために、
４）プログラミング電圧のパルスを、メモリセルのソース領域及び１つ以上の導電ゲートに印加し、
５）メモリセルのプログラム状態を読み出し、
６）メモリセルが、工程５で第１の閾値とは異なる第２の閾値に達する読み出し電流を示すまで、工程４及び工程５を繰り返し、該工程４及び工程５の繰り返しが、工程４が繰り返されるたび第２のステップ値によって工程４のプログラミング電圧の少なくとも１つを増加させることを含むように構成された制御回路を備える。
【００１１】
メモリデバイスは、メモリセル（それぞれのメモリセルが、半導体基板にソース及びドレイン領域、その間にチャネル領域と、チャネル領域上に配置されて少なくとも一部のチャネル領域の導電率に影響を及ぼしている浮遊ゲートと、浮遊ゲート及び基板から絶縁される１つ以上の追加の導電ゲートとを含み、それぞれのメモリセルが、ソース領域及び１つ以上の追加の導電ゲートにプログラム電圧を印加して、ドレイン領域から生じる電子が浮遊ゲート上に注入されるようにすることによってプログラム可能に構成されており、それぞれのメモリセルのプログラム状態が、ソース及びドレイン領域の電圧差を印加することによって、並びにチャネル領域の読み出し電流を測定することによって読み出し可能である）、並びに、
複数のメモリセルのそれぞれのために、
１）プログラミング電圧のパルスを、メモリセルのソース領域及び１つ以上の導電ゲートに印加し、
２）メモリセルのプログラム状態を読み出し、
３）メモリセルが工程２で第１の閾値に達する読み出し電流を示すまで、工程１及び工程２を繰り返し、該工程１及び工程２の繰り返しが、工程１が繰り返されるたび第１のステップ値によって工程１のプログラミング電圧の少なくとも１つを増加させることを含み、
複数の全てのメモリセルのために第１の閾値に達した後、複数の全てのメモリセルのためにプログラミング電圧のキッカーパルスをソース領域及び１つ以上の導電ゲートに印加する、該キッカーパルスの印加が工程１〜工程３で印加されるプログラミング電圧に対して、第２のステップ値によってプログラミング電圧の少なくとも１つを増加させることを含む、制御回路、を備える。
【００１２】
本発明のその他の目的及び特徴は、本明細書、特許請求の範囲及び添付の図面を検討することにより明らかになるであろう。
【図面の簡単な説明】
【００１３】
【図１】１対のメモリセルの断面図である。
【図２】図１に示されている、メモリセルのアレイの概略図である。
【図３】読み出し電流に対するＭＬＣメモリセルのプログラム及び消去状態を示すグラフである。
【図４】ＭＬＣメモリセルの反復プログラミング法の一連の工程を示す流れ図である。
【図５】読み出し電流に対するＳＬＣメモリセルのプログラム及び消去状態を示すグラフである。
【図６】ＳＬＣメモリセルの反復プログラミング法の一連の工程を示す流れ図である。
【発明を実施するための形態】
【００１４】
本発明は、セルの劣化を最小限に抑え、同時に十分な書き込みマージンを保証して、デバイス寿命の間ずっと周囲変化及びセルの挙動変化に適応するプログラムアルゴリズムを提供することによって、メモリセルのプログラム過度負担を減少させる、又は解決する。本技術は、耐久性及びデータ保持を改善する。プログラムアルゴリズムは、マルチレベルセル（ＭＬＣ）不揮発性メモリデバイス、及びシングルレベルセル（ＳＬＣ）不揮発性メモリデバイスの設計及び動作で使用可能である。プログラムアルゴリズムは、組込み型不揮発性メモリデバイス（すなわち、論理デバイスと同じチップに不揮発性メモリセルを有する装置）、及び独立型不揮発性メモリデバイスにおける信頼性改善で使用可能である。最後に、プログラムアルゴリズムを、さまざまな数の導電ゲートのメモリセル構成に適用することができる。
【００１５】
例えば、プログラムアルゴリズムは特に、米国特許第７，９２７，９９４号で開示される、スプリットゲート不揮発性メモリセルに適用でき、この開示は参照として本明細書に組み込まれる。図１は、半導体基板１２に形成される一対のこのようなメモリセル１０を示す。ソース領域１６及びドレイン拡散領域１４は基板１２に形成されて、その間にチャネル領域１８を備える。メモリセルのそれぞれは、４つの導電ゲート、チャネル領域１８の第１の部分の上に配置されて絶縁された選択ゲート２０と、チャネル領域１８の第２の部分及びソース領域１６の一部の上に配置されて絶縁された浮遊ゲート２２と、ソース領域１６の上に配置されて絶縁された消去ゲート２４と、浮遊ゲート２２の上に配置されて絶縁された制御ゲート２６と、を有する。好ましくは消去ゲート２４は、浮遊ゲート２２の上に垂直に配置される上部（例えば、垂直オーバーハング）を有することができる。
【００１６】
メモリセルは、インタレース方式の隔離領域の列によって分離される、このようなメモリセルの列で、アレイに配置される。メモリセルの各列は、端から端まで配置される図１のメモリセルの対を含み、それによってメモリセルの各対は同じソース領域１６を共有し、及びメモリセルの隣接した対は同じドレイン領域１４を共有する。図２に示すように、メモリセルの全体の列のための選択ゲート２０は、単一の導電線（一般にワード線と呼ばれる（ＷＬ））として互いに接続され、それによって各ワード線は接続されて、メモリセルの各列の１つのメモリセルのために選択ゲート２０を形成する（すなわち、各ワード線は選択ゲート２０の列と互いに電気的に接続する）。制御ゲート２６は同様に、互いに接続される、又は、メモリセルの列に沿って伸びている連続制御ゲート線として形成される（すなわち、それぞれが制御ゲート２６の列と電気的に互いに接続する）。消去ゲート２４も同様に、互いに接続される、又は、メモリセルの列に沿って伸びている連続消去ゲート線として形成される（すなわち、それぞれが消去ゲート２４の列と電気的に互いに接続する）。ソース領域１６は、行方向に伸び、及び、メモリセル対の全ての列のためにソース領域１６で役に立つソース線（ＳＬ）として、連続的に形成される（すなわち、それぞれがソース領域１６の列と電気的に互いに接続する）。導電性ビット線コンタクト７２がドレイン１４をビット線７０に電気的に接続し、それによって、各ビット線コンタクト７０はドレイン領域１４の列に電気的に互いに接続する。メモリセルの所定の数の行及び列は、ページとして互いに関連する。
【００１７】
従来のプログラミング中、選択されたセルは、浮遊ゲートの下のチャネル部分が反転した状態で、有効なホット電子注入によってプログラムされる。選択されたメモリセルのために、中電圧（例えば３〜６ボルト）が、ホット電子を生成するためにソース領域１６に印加される。小電流（例えば０．１〜５μΑ）が、ドレイン１４に印加される。小電圧（例えば１〜２ボルト）も、選択ゲートに印加される。制御ゲート２６に高電圧（例えば６〜９ボルト）までバイアスをかけ、高い結合比を利用し、浮遊ゲート２２への電圧結合を最大にする。浮遊ゲート２４も中電圧（例えば３〜９ボルト）までバイアスをかけ、浮遊ゲート２２への電圧結合を最大にする。浮遊ゲートへの高電圧結合は、浮遊ゲートの下でチャネル反転を引き起こし、スプリット部分（選択ゲート２０と浮遊ゲート２２の間）の横電界に集中して、より効果的にホット電子を生成する。更に電圧は、高垂直電界を提供して、ホット電子を浮遊ゲートに引き付け、注入エネルギー障壁を減少させる。プログラミング中、ドレイン領域１４によって生成された電子は、ドレイン領域１４から、選択ゲート２０下のチャネル領域のわずかに反転した部分を通ってソース領域１６へ流れる。電子が浮遊ゲート２２下のチャネル領域１８部分に達すると、高い横電界に遭遇する。電子は、絶縁層を通って及び浮遊ゲート２２上に注入されるホット電子のかなりの部分と共に、加速して加熱される。浮遊ゲート２２への電子注入は、浮遊ゲート２２の電荷の減少が、チャネル領域に沿った高い電位の表面反転層を維持してホット電子を生成することがもはやできなくなるまで、続く。その時点で、浮遊ゲート２２の電子又は負電荷は、浮遊ゲート２２上のドレイン領域１４からの電子流を減少させる。
【００１８】
したがって従来のプログラミングは、所定時間の間、上述の電圧を印加し、該電圧及び時間は、十分高く設定されて（すなわち追加のマージンを含む）、プログラムされている全てのメモリセルのための浮遊ゲートの適切なプログラミングを確実にする。しかしながら、メモリセルが全てプログラムされることを確実にするために一定の電圧及び時間マージンを使用することにより、しばしばメモリセル（すなわち、他のメモリセルが適切にプログラムされることを確実にするために過剰プログラムされるいくつかのメモリセル）は、プログラミング中過度の負担にさらされる。したがって本発明のプログラム方法はプログラム電圧のパルスを使用し、該プログラム電圧は、少なくとも１つの電圧の値が介在する読み出し確認の結果に基づいて次のパルスごとに上がり、及び、メモリセルが所望の荷電状態に近づくにつれて、電圧のステップサイズが調整される。前記方法はまた、メモリセルに過度に負担を加える過剰プログラミングをせずに、浮遊ゲートが確実にプログラムされた時点でセルプログラミングを個別に中止する。
【００１９】
本発明のプログラミング方法は、１つのプログラム状態を有するシングルレベルセル（ＳＬＣ）、及び２つ以上のプログラム状態を有するマルチレベルセル（ＭＬＣ）で使用可能である。図３は、３つのプログラム状態を有するマルチレベルセル（ＭＬＣ）のための、検出された読み出し電流に対する荷電状態を示す。本実施例で浮遊ゲートは、異なるプログラム状態に対応する各種レベルの電子でプログラム可能であり、それぞれのプログラム状態は固有の範囲の検出可能な読み出し電流を有する。レベルＬ３は、消去状態（浮遊ゲートは正に荷電し、したがって読み出し電圧が印加されると、検出された強い読み出し電流を許容する）を、表す。レベルＬ２及びＬ１は、適度にプログラムされた状態（浮遊ゲートは適度な数の電子でプログラムされて、読み出し電圧が印加されると、読み出し電流を減らす）を、表す。レベルＬ０は、強固にプログラムされた状態（浮遊ゲートは充分な電子でプログラムされて、読み出し電圧が印加されるとき、読み出し電流を最小レベルに引き下げる）を、表す。３つのプログラム状態（Ｌ２、Ｌ１及びＬ０）は消去状態（Ｌ３）と共に、２ビットのデータを各セルに格納するために使用され、それによってチップ上のメモリアレイ域を増加せずに記録密度を２倍にする。
【００２０】
読み出し中、セル読み出し電流は、３つの別々の通常読み出し参照レベル（ＮＲL0、ＮＲL1及びＮＲL2）を比較して、セルの荷電状態を決定する。ＮＲL0未満の読み出し電流のセルは、Ｌ０状態と決定される。ＮＲL0より高いが、ＮＲL1より低い読み出し電流のセルは、Ｌ１状態と決定される。ＮＲL1より高いが、ＮＲL2より低い読み出し電流のセルは、Ｌ２状態と決定される。ＮＲL2より高い読み出し電流のセルは、Ｌ３状態と決定される。
【００２１】
プログラミングアルゴリズム中、セルは別々の検証基準レベルを確認されて、それはＮＲレベルからマージンガードバンドを提供し、及び、ＮＲ基準レベルに対する次の読み出しが確かにセル荷電状態を検出することを確実にする。Ｖ０L0、Ｖ０L1及びＶ０L2は、より低いマージンを各ＮＲレベルに提供する、検証読み出し基準レベルである。これらのマージンは、捕獲電荷の緩和、読み出し障害、読み出しノイズ、温度／電圧感度、及び寄生抵抗効果を考慮する。Ｖ１L0、Ｖ１L1及びＶ１L2は、より高いマージンを各ＮＲレベルに提供する、検証読み出し基準レベルである。これらのマージンは、読み出しノイズ、温度／電圧感度、プログラム障害、寄生抵抗効果、及び隣接セルから電荷結合を考慮する。プログラムアルゴリズムは、Ｌ２及びＬ１のために、各セルが、対応するＶ０レベルより下になるように、しかし、下にあるＶ１レベルより依然として上であるようにプログラムされる。Ｌ０のために各セルは、信頼できる次の読み出しを確実にするためにＶ０L0より十分下にプログラムされるが、非常に下ではない。
【００２２】
Ｖ１L2よりわずかに上に位置する、別の検証基準レベルＰＲＥＦがある。ＰＲＥＦは、プログラムパルス列で使用する電圧ステップサイズを調整するためのきっかけとして機能する。この調整は、精度を犠牲にせず、プログラム処理量を最大化するのに役立つ。
【００２３】
プログラムアルゴリズムの詳細は、次に記載されている。プログラムアルゴリズムは、それぞれが前のパルスと比較して徐々に大きくなる強さの一連のプログラムパルスでセル群をプログラムすることを伴う。第１のプログラミングパルス条件の実施例は、以下の電圧／電流を印加している。所定の時間（例えば〜１μｓ）の間、ソース線＝３Ｖ、制御ゲート＝４Ｖ、消去ゲート＝３Ｖ、選択ゲート＝１〜２Ｖ、及びビット線＝１μΑ。強さの増分は、連続パルスごとの特定のステップサイズずつ上へ、１つの電圧バイアスが増量されて達成することができる（例えば、制御ゲート電圧ＶＣＧ、ソース線電圧ＶＳＬ、又は消去ゲート電圧ＶＥＧ）。下記の実施例において、ＶＣＧ及びＶＳＬの両方が増加される。しかしながら、ＶＣＧ、ＶＳＬ及び／又はＶＥＧのためのプログラム電圧増加のいかなる組合せも、用いられる。
【００２４】
好ましくは複数のメモリセルは、同じプログラム動作でプログラムされる。例えばデータのページは、同じワード線ＷＬを共有している複数のメモリセルに、同じ動作でプログラムされ得る。あるいはデータのページは、各セル群が平行にプログラムされている、いくつかのグループ、及び、各グループのプログラミングが完了した後、プログラムされる追加のグループに分けられることもできる。プログラム状態の１つにプログラムされることになっている、選択されたＷＬ上のメモリセルを選択するために（「選択セル」）、それらのＢＬは、例えば１μＡのプログラム条件にバイアスされる。消去状態に留まることになっている選択されたＷＬ上のメモリセルを任意抽出するために（「非選択セル」）、非選択ＢＬは、２Ｖなどのプログラミングを抑制する条件にバイアスされる。
【００２５】
プログラミング工程が、図４に図示されている。プログラミングは、最初のプログラム条件を設定することと、プログラム処理を追跡する内部レジスタをクリアすることとによって開始する。プログラムされるセル群は、次いで、３つの下のマージン基準レベルＶ０L0、Ｖ０L1、Ｖ０L2を用いて読み出しされる。この読み出しからのデータは、プログラムバッファのデータ（アルゴリズムの最後にこのセル群にプログラムされる必要がある外部データ）と比較されて、及び、プログラムされるデータ（ＤＴＰ）は該比較から発生して、第２のバッファに格納される。Ｌ０、Ｌ１又はＬ２のＤＴＰを有するセルだけが、次のプログラミングのために選択される。セルが、プログラムバッファの各レベルより低電流の荷電状態であることが確認される場合、エラー信号はシステムにプログラムエラーが発生したと通知するために設定される。
【００２６】
最初のＤＴＰがＬ１又はＬ２データ（Ｌ０データの存在から独立している）を含む場合、プログラムされるセル群はＰＲＥＦと確認されて、最初の電圧ステップサイズを決定する。Ｌ１又はＬ２のＤＴＰを有するセルがＰＲＥＦに達した（すなわち、ＰＲＥＦ以下のセル電流を読み出した）場合、これらのセルはその最終目的地近くで荷電状態にあることを示し、及び、プログラミングは、目的地レベルに正確にプログラムするために、適度である必要がある。これは、最初のＶＣＧ及びＶＳＬステップサイズを小さい値ＳS、例えば５０ｍＶに設定することによって達成される。Ｌ１又はＬ２データ向けのセルがＰＲＥＦに達しなかった（すなわち、それら全てがＰＲＥＦより大きいセル電流を読み出した）場合、ＶＣＧ及びＶＳＬステップサイズは、最初は中間値ＳI、例えば２００ｍＶに設定されて、プログラミングのこの初期段階の速度を上げる。最初のＤＴＰがＬ１又はＬ２データでなく、Ｌ０データを含む場合、データを中間レベルに正確にプログラムする必要がなく、及び、プログラム電圧ステップは、最初はより大きい値ＳL、例えば５００ｍＶに設定される。
【００２７】
次いでプログラムパルスが、最初に設定されたステップサイズＳS、ＳI又はＳLによって値が上がる、ＶＣＧ及びＶＳＬ電圧を有する各連続パルスで、印加される。各パルスの後、プログラムされている各セルは、３つの下のマージン基準レベルＶ０L0、Ｖ０L1及びＶ０L2を用いる、検証読み出しを再度受ける。新しいＤＴＰがこの検証読み出しの結果から生成されて、処理は上述のとおり続けられる。最初のステップサイズがＳIに設定される場合、Ｌ１又はＬ２のＤＴＰを有するセルの１つがＰＲＥＦに達するまで、プログラミングパルスは続き、このときステップサイズはＳIからＳSへ下がる。任意の時点でＬ１のＤＴＰを有するセルがＶ０L1に達すると、セルはＤＴＰから取り除かれて、そのセルのプログラミングは終わる。同様に、任意の時点でＬ２のＤＴＰを有するセルがＶ０L2に達すると、セルはＤＴＰから取り除かれて、そのセルのプログラミングは終わる。ＤＴＰからのＬ１及びＬ２セルの除去は、好ましくは不可逆である。セルがそれぞれのＶ０に達してＤＴＰから除去された後、次の検証でＶ０を越えていることが示されても（これは、読み出しノイズにより一般的である）、このセルはＤＴＰから除去されたままである。この指標が、良好にコントロースされたステップサイズを有するパルスの安定したコンディションで、Ｌ１及びＬ２セルが常に正確にプログラムされることを確実にするために、とられる。セルが検証を通過した後、いくつかのパルスがスキップされて、セルが再び検証に失敗するとき、次のパルスが印加された場合、プログラム電圧の突然の上昇が過剰プログラムを引き起こす。
【００２８】
最後に、任意の時点でＬ０のＤＴＰを有するセルがＶ０L0に達すると、ＤＴＰから取り除かれて、そのセルのプログラミングは終わる。最初のステップサイズがＳSに設定される場合、Ｌ１又はＬ２のＤＴＰを有する全てのセルがＶ０閾値に達して、ＤＴＰから落ちるまで（すなわち、セルは最終目的地点に達している）、プログラミングパルスは続く。このときＬ０のＤＴＰを有するセルがある場合、適度なプログラミングはもはや必要がないので、ステップサイズはＳSからＳLに変わる。同様に、ステップサイズＳIを用いたプログラミングの間、Ｌ１及びＬ２のＤＴＰを有する全てのセルが最終目的地点に達して、ＤＴＰから落ちて、Ｌ０のＤＴＰを有するセルがまだある場合、ステップサイズはＳIからＳLに変わる。最後に、最初のステップサイズがＳLで設定された場合、プログラミングは、Ｌ０のＤＴＰを有するセルがＶ０L0に達するまで、そのステップサイズを用いて続く。セルが目的地に達して、ＤＴＰ及びプログラミングから落ちた場合、どのＤＴＰもＬ０、Ｌ１若しくはＬ２データを含まないまで、又は、所定のプログラムパルスの最大数に達するまで、プログラミング処理は残りのセルのために続く。後者の場合、エラー信号は、プログラム障害をシステムに報告するために設定される。
【００２９】
Ｌ０セルのために、読み出し電流で検出できるより深いプログラム状態に最終目的地を置くことは、有利な場合がある。例えば、読み出しバイアスのための既存の低電圧電源の使用は、読み出し速度及び電力消費で大きな利点がある。しかしながら読み出し電圧へのこの制限は、浮遊ゲートへの電圧結合も制限し、同様にセル読み出し電流を減らす。Ｖ０L0レベル以上で深くプログラムされた状態のプログラムマージンを検出することが、困難な場合がある。ＮＲL0−Ｖ０L0ガードバンドマージンが不必要に全体の作業ウィンドウの一部を占有しており、及び、深くプログラムされた荷電状態は利用されない。したがって、慎重に設計された電圧昇降を有する１つ以上の余剰プログラムパルスが印加されて、余剰信頼性ガードバンドを提供し、セル作業ウィンドウがより深くプログラムされた状態に拡張するのを可能にする。ＤＴＰがＬ３データのみを含んだ後、プログラムバッファはいかなるＬ０データのためにも点検される。Ｙｅｓの場合、Ｌ０にプログラムされるセルがあったことを示し、それらはＬ０V0検証を通過している。電圧ステップサイズは、大きい値、例えば５００ｍＶに設定されて、予め定められた数の余剰プログラムパルスが印加されて（すなわち、最後のＬ０セルがＶ０L0に達するようにプログラムするために用いる、最後のパルスを超える５００ｍＶを開始する、第１のパルス）、各パルスは、選択されたステップサイズによって増加する電圧バイアス（すなわち、ＳL）を備える。ステップサイズ及び余剰パルスの数の選択は、必要マージンに依存する。
【００３０】
１つのセル群がプログラミングを完了した後、同じページ内のセルの追加の群が同様にプログラムされる。全てのページがプログラミングを完了した後、基準レベルＶ１L0、Ｖ１L1及びＶ１L2を使用して検証読み出しが実施されて、結果データはプログラムバッファのオリジナルデータと比較される。可能性がある過剰プログラミング及びプログラムのこの最終的な検証チェックは、ページプログラム処理中に邪魔をする。検証が予想外のデータを返す場合、エラーが報告されて、プログラム障害のシステムに注意を喚起する。
【００３１】
信頼性を確実にするために、最大プログラム電圧値は、値が上昇しているプログラム電圧に置かれる。例えば上記の非限定実施例として、ソースのために４〜８Ｖ、例えば５Ｖの最大電圧が課せられる。同様に、制御ゲートのために８〜１１Ｖ、例えば１０Ｖの最大電圧が課せられる。最大電圧に達した場合、この特定の電圧を更に増加せずに、プログラムは続行する。プログラムパルスの最大数も、１〜２５６つ、例えば６４つ、課せられる。最大パルス数に達する場合、プログラムは停止し、エラー信号はプログラムエラーを示すために設定される。
【００３２】
上記のプログラムアルゴリズムは、ＳＬＣに同様に適用できる。ＳＬＣセルには、Ｌ１又はＬ２セルがない。図５は、読み出し電流に対するＳＬＣメモリセルのプログラム及び消去状態を示す。アルゴリズムは、図６に示すように単純化される。ここで、Ｌ１又はＬ２データを含むＤＴＰのシナリオは、存在しない。最初のプログラムパルスは、より強い条件に設定されることができ、プログラム電圧ステップサイズは直接高い値のＳL（例えば、５００ｍＶ）に設定されて、Ｖ０L0未満のセルを素早くプログラムする。その後、余剰プログラムパルスが、ＭＬＣ同様に印加されて、読み出し信頼性のため余剰マージンが提供される。
【００３３】
上述のプログラミング技術は、多くの利点がある。プログラム障害耐性が、高電圧の負担を最小化することによって改善される。耐久寿命は、プログラムストレスを最小化すること、及び各プログラム／消去サイクル中、電荷移動を最小化することにより改善される。データ保持寿命は、プログラムストレスを最小化することによって、及び、サイクル後の捕捉電荷緩和に適応する十分なガードバンドを作り上げることによって、改善される。プログラム効率は、プログラミングの３つの異なる段階の電圧ステップサイズ及び基準レベルを最適化することによって、最大化する。
【００３４】
上述のように、電圧の段階的増加は、１つ以上のプログラム電圧のためにあり得る。図１のメモリセルのために、上述の非限定的実施例は、ソース及び制御ゲートの電圧を上げたが、ソース、制御ゲート及び消去ゲートのプログラム電圧の一部又は全部は、反復するプログラム読み出し動作中、値を上げ得る。非限定的実施例の工程ＳS、ＳI及びＳLが、ソース及び制御ゲート両方で同じである間、それは必要はない。ソースは、異なる量で、制御ゲートのためより値が上げられ得る。
【００３５】
メモリアレイ上のプログラム動作を制御及び実行するための制御回路は、周知である。図２１に示される制御回路３０は、このような回路である。しかしながら制御回路は、上述のメモリアレイのプログラムアルゴリズムを制御し、かつ実行するように更に構成されて、並びに、好ましくは、メモリセルのアレイと同じチップに含まれる。
【００３６】
本発明が上述及びここで例示される実施形態に制限されないが、添付の特許請求の範囲内に当てはまる、あらゆる変形例を包含することは理解されるべきである。例えば、本願明細書の本発明への言及は、いかなる請求項の範囲又は請求項の用語も制限することを意図しないが、その代わりに単に、１つ以上の請求項によって包含され得る１つ以上の特徴への言及である。上述の材料、方法及び数値的例は、単に例示であり、請求項を制限すると考えるのは望ましくない。材料の単一層は、そのようなまたは類似の材料の複数層として形成することができ、そして、逆もまた同様である。上述のＭＬＣの実施例が、３つのプログラム状態及び消去状態を含む一方で、上述のプログラミング技術は、２つ以上のプログラム状態を有するいかなるＭＬＣにも等しく適用できる。最後に、反復的なプログラミング技術が４つの導電ゲートを有するメモリセルとの関係において記載されると共に、より多く又はより少ない導電ゲートを有する他の不揮発性メモリセル構成にも等しく適用できる。
【図１】
0005964522.tif 000002
【図２】
0005964522.tif 000003
【図３】
0005964522.tif 000004
【図４】
0005964522.tif 000005
【図５】
0005964522.tif 000006
【図６】
0005964522.tif 000007