(57)【要約】  本発明は、不揮発性メモリのメモリセルをプログラミングまたは消去する方法に関し、第1のメモリセルの第1の消去またはプログラムサイクルであって、i)少なくとも1つの消去またはプログラムパルス(Np)を第1のメモリセルに印加する(S11)ステップと、ii)消去されたかプログラムされたか、メモリセルの状態を決定する(S14)ステップと、メモリセルが所望の状態ではない場合、ステップi)およびii)を繰り返すステップとを含む、第1の消去またはプログラムサイクルと、所定の回数の消去またはプログラムパルスを第2のメモリセルに印加するステップを含む、第2の消去またはプログラムサイクルとを含む。
2015525942.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリのメモリセルをプログラミングまたは消去する方法であって、
- 第1のメモリセル(T1)の第1の消去またはプログラムサイクルであって、
i)少なくとも1つの消去またはプログラムパルス(Np)を前記メモリセルに印加する(S11,S33)ステップと、
ii)消去されたかプログラムされたか、前記メモリセルの状態を決定する(S14,S34)ステップと、
iii)前記メモリセルが所望の状態ではない場合、ステップi)およびii)を繰り返すステップと
を含む、第1のメモリセルの第1の消去またはプログラムサイクルを含み、
前記方法が、第2のメモリセル(T2)の第2の消去またはプログラムサイクルであって、所定の回数(N21,N22)の消去またはプログラムパルスを前記第2のメモリセルに印加する(S24,S33)ステップを含む、第2のメモリセルの第2の消去またはプログラムサイクルをさらに含む、方法。
【請求項２】
消去またはプログラムパルスの前記所定の回数(N21,N22)は、第1のメモリセルの少なくとも1つの第1の消去またはプログラムサイクルにおいて第1のメモリセル(T1)に印加された第1のパルスの回数(N11i,N12i)に基づいている、請求項1に記載の方法。
【請求項３】
前記第2のサイクルは、
iv)少なくとも1つの消去またはプログラムパルス(Np)を前記メモリセルに印加する(S24,S33)ステップと、
v)消去されたかプログラムされたか、前記メモリセルの状態を決定する(S25,S34)ステップと、
vi)前記所定の回数(N21,N22)の消去またはプログラムパルスが前記第2のメモリセルに印加されるまで、ステップiv)およびv)を繰り返すステップと
を含む、請求項1または2のいずれか一項に記載の方法。
【請求項４】
前記消去またはプログラムサイクルが前記第1のメモリセル(T1)において実施されたか前記第2のメモリセル(T2)において実施されたかを検証する(S35)ステップを含む、請求項1から3のいずれか一項に記載の方法。
【請求項５】
前記第1の消去またはプログラムサイクルは、所望の状態に設定するために第1のメモリセルに印加されたパルスの前記回数(N11,N12)を記憶する(S18,S39)ステップを含む、請求項1から4のいずれか一項に記載の方法。
【請求項６】
消去またはプログラムパルスの前記所定の回数(N21,N22)は、
- 消去またはプログラムパルスの前記所定の回数(N21,N22)が、第1のメモリセルの1つの第1の消去またはプログラムサイクルにおいて前記第1のメモリセルに印加された消去またはプログラムパルスの前記回数(N11i,N12i)に基づいている、
- 消去またはプログラムパルスの前記所定の回数(N21,N22)が、第1のメモリセルの複数の第1の消去またはプログラムサイクルにおいて前記第1のメモリセルに印加された消去またはプログラムパルスの回数(N11i,N12i)の平均値に基づいている、
- 消去またはプログラムパルスの前記所定の回数(N21,N22)が、第1のメモリセルの複数の第1の消去またはプログラムサイクルにおいて前記第1のメモリセルに印加された消去またはプログラムパルスの回数(N11i,N12i)の最大値に基づいている、
方法のうち少なくとも1つに従って決定される、請求項1から5のいずれか一項に記載の方法。
【請求項７】
- 前記第1の消去またはプログラムサイクルによって前記第1のメモリセル(T1)に通常データを書き込むステップと、
- 前記第2の消去またはプログラムサイクルによって前記第2のメモリセル(T2)にフェイクデータを書き込むステップと
を含む、請求項1から6のいずれか一項に記載の方法。
【請求項８】
不揮発性メモリ(MEM)であって、
- メモリセル(MA)のアレイ(MA)と、
- 前記メモリ(MA)の第1のメモリセル(T1)の第1の消去またはプログラムサイクルを実施するように構成される制御回路(CCT)と
を備え、前記第1の消去またはプログラムサイクルが、
i)少なくとも1つの消去またはプログラムパルス(Np)を前記メモリセルに印加する(S11,S33)ステップと、
ii)消去されたかプログラムされたか、前記メモリセルの状態を決定する(S14,S34)ステップと、
iii)前記メモリセルが所望の状態ではない場合、ステップi)およびii)を繰り返すステップと
を含み、
前記制御回路が、第2のメモリセル(T2)の第2の消去またはプログラムサイクルであって、前記第2のメモリセルの所定の回数(N21,N22)の消去またはプログラムパルスを第2のメモリセルに印加する(S24,S33)ステップを含む、第2のメモリセルの第2の消去またはプログラムサイクルを実施するようにさらに構成される、不揮発性メモリ。
【請求項９】
前記制御回路は、第1のメモリセルの少なくとも1つの第1の消去またはプログラムサイクルにおいて第1のメモリセル(T1)に印加された第1のパルスの回数(N11i,N12i)に基づいて、消去またはプログラムパルスの前記所定の回数(N21,N22)を決定するように構成される、請求項8に記載の不揮発性メモリ。
【請求項１０】
前記第2の消去またはプログラムサイクルを実施する際に、前記制御回路は、
iv)少なくとも1つの消去またはプログラムパルスを前記メモリセルに印加し(S24,S33)、
v)消去されたかプログラムされたか、前記メモリセルの状態を決定し(S25,S34)、
vi)前記所定の回数(N21,N22)の消去またはプログラムパルスが前記第2のメモリセルに印加されるまで、ステップiv)およびv)を繰り返す
ように構成される、請求項8または9のいずれか一項に記載の不揮発性メモリ。
【請求項１１】
前記第1の消去またはプログラムサイクルを実施する際に、前記制御回路は、所望の状態に設定するために前記第1のメモリセルに印加されたパルスの前記回数(N11,N12)を記憶するように構成される、請求項8から10のいずれか一項に記載の不揮発性メモリ。
【請求項１２】
前記制御回路は、
- 消去またはプログラムパルスの前記所定の回数(N21,N22)が、第1のメモリセルの1つの第1の消去またはプログラムサイクルにおいて前記第1のメモリセルに印加された消去またはプログラムパルスの前記回数(N11i,N12i)に基づいている、
- 消去またはプログラムパルスの前記所定の回数(N21,N22)が、第1のメモリセルの複数の第1の消去またはプログラムサイクルにおいて前記第1のメモリセルに印加された消去またはプログラムパルスの回数(N11i,N12i)の平均値に基づいている、
- 消去またはプログラムパルスの前記所定の回数(N21,N22)が、第1のメモリセルの複数の第1の消去またはプログラムサイクルにおいて前記第1のメモリセルに印加された消去またはプログラムパルスの回数(N11i,N12i)の最大値に基づいている、
方法のうち少なくとも1つに従って消去またはプログラムパルスの前記所定の回数(N21,N22)を決定するように構成される、請求項8から11のいずれか一項に記載の不揮発性メモリ。
【請求項１３】
前記制御回路は、
- 前記第1の消去またはプログラムサイクルによって前記第1のメモリセル(T1)に通常データを書き込み、
- 前記第2の消去またはプログラムサイクルによって前記第2のメモリセル(T2)にフェイクデータを書き込む
ように構成される、請求項8から12のいずれか一項に記載の不揮発性メモリ。
【請求項１４】
前記制御回路は、
- 第2のメモリセル(T2)のアドレスを記憶し、
- 前記第2の消去またはプログラムサイクルを第2のメモリセルに適用することだけ行う
ように構成される、請求項8から13のいずれか一項に記載の不揮発性メモリ。
【請求項１５】
請求項8から14のいずれか一項に記載の不揮発性メモリ(MEM)を備える、電子デバイス(ED)。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリのメモリセルを消去またはプログラムする方法に関し、そしてそのような不揮発性メモリに関する。
【背景技術】
【０００２】
EEPROMおよびフラッシュなどの不揮発性半導体メモリは、電気的にイレーサブルおよびプログラマブルなメモリセルのアレイを一般的に備える。そのようなメモリセルは、少なくとも1つのフローティングゲートトランジスタFGTを一般的に備える。フローティングゲートトランジスタは、ソースおよびドレイン領域、ソースとドレイン領域との間に広がるチャネル領域、チャネル領域上に広がる制御ゲート、ならびに制御ゲートとチャネル領域との間に広がるフローティングゲートを一般的に備える。
【０００３】
フローティングトランジスタは、フローティングゲートに電荷を注入するために電圧パルス(「プログラムパルス」)をそのソースまたはドレイン領域にまたはそのバルク領域を経由して印加することによって、プログラムされる。逆に、フローティングゲートから電荷を抜き取るために電圧パルス(「消去パルス」)をその制御ゲートにまたはバルク領域を経由して印加することによって、消去される。フローティングゲートの電荷量が、メモリセルに記憶されたデータの値に対応するトランジスタの閾値電圧を決定する。
【０００４】
そのようなメモリセルは、耐久性としても知られる有限の有効期間を有する。劣化がみられるまでの使用に耐え得る消去およびプログラムサイクルの回数は、フローティングゲートへおよびフローティングゲートからの度重なる電荷の移動に起因して、有限である。その結果、プログラムまたは消去プロセスを実施するためにメモリセルに印加されるプログラムまたは消去パルスの回数は、経年劣化に伴い、時間が経つにつれて増加し得る。
【０００５】
したがって、いくつかのメモリでは、メモリセルに印加された消去またはプログラムパルスの回数は、制御回路によって監視され、制御回路は、メモリセルが消去またはプログラムされている間、メモリセルの状態を検証する。セルが所望の消去またはプログラム状態に達するまで、または最大公称パルス回数に達するまで、消去またはプログラムパルスの回数は、リアルタイムに調整される。このように、種々のメモリセルの閾値電圧のばらつきが、メモリアレイ全体において低減される。
【０００６】
図1は、例えば米国特許第7,983,078号に開示されているような、メモリセルにおいて消去またはプログラムサイクルを実施する従来のサイクルのフローチャートである。
【０００７】
ステップS1では、変数Npが例えば1といった初期値に設定される。ステップS2では、消去またはプログラム動作が初期化される。ステップS3では、1つの消去またはプログラムパルスが指定のメモリセルに印加される。ステップS4では、メモリセルの状態が決定される。ステップS5では、それらが所望の状態に一致するかどうか確認するために、メモリセルの状態が検証される。その結果がはいの場合、制御回路は、「成功」としてサイクルを終了する。所望の状態にまだ達していない場合、ステップS6において、Npがパルスの公称最大回数Npmaxに等しいかどうかが検証される。その結果がはいの場合、「失敗」としてサイクルを終了する。NpがNpmax未満の場合、ステップS7では、Npを1増加させて、サイクルはステップS3に戻る。
【０００８】
暗号化演算などのいくつかの適用においては、慎重に扱うべきデータが関与している場合、いくつかの書き込み動作を隠蔽するのが望ましいことが間々ある。このような隠蔽は、メモリ回路の挙動を観測している第三者をミスリードするために、フェイクデータをいくつかのメモリセルに書き込むステップを含んでいてもよい。フェイクデータをメモリセルに書き込むステップは、図1に示すように実施され、消去またはプログラムサイクル終了時のデータの実際の値が重要性を有しないということだけが異なる。
【０００９】
便宜上、フェイクデータに関する消去またはプログラムサイクルを、以降「ダミー」動作と称し、そのようなフェイクデータを受信するように指定されたメモリセルは、「ダミー」セルに指定される。
【００１０】
一般的に、ダミーサイクルは通常データサイクルと比べて少ない頻度で一般的に発生し、利用可能なメモリ空間のごく一部がダミー動作のために割り当てられている。その結果、ダミー動作に割り当てられたメモリセルは、通常動作に割り当てられたメモリセルと比べて、より多くの消去および/またはプログラムサイクルが行われる。その結果、ダミーメモリセルは、通常メモリセルと比べてより速く劣化し、時間が経つにつれて、ダミー消去またはプログラム動作は、多くの消去またはプログラムパルスが生じることになるので、通常消去またはプログラム動作とは異なるものとして見分けられ得る。
【００１１】
本発明は、消去またはプログラム動作に関するパルスの回数をカウントすることによって、攻撃者がダミー消去またはプログラム動作と通常消去またはプログラム動作とを見分けるようにし得る、観測を含む。
【００１２】
したがって、そのようなセキュリティリスクを低減する消去またはプログラムサイクルを実施する方法を提供するのが望ましい。
【発明の概要】
【課題を解決するための手段】
【００１３】
本発明の実施形態は、不揮発性メモリのメモリセルをプログラミングまたは消去する方法であって、第1のメモリセルの第1の消去またはプログラムサイクルであって、i)少なくとも1つの消去またはプログラムパルスをメモリセルに印加するステップと、ii)消去されたかプログラムされたか、メモリセルの状態を決定するステップと、iii)メモリセルが所望の状態ではない場合、ステップi)およびii)を繰り返すステップとを含む、第1のメモリセルの第1の消去またはプログラムサイクルを含み、前記方法が、第2のメモリセルの第2の消去またはプログラムサイクルであって、所定の回数の消去またはプログラムパルスを第2のメモリセルに印加するステップを含む、第2のメモリセルの第2の消去またはプログラムサイクルをさらに含む、方法に関する。
【００１４】
一実施形態によれば、消去またはプログラムパルスの所定の回数は、第1のメモリセルの少なくとも1つの第1の消去またはプログラムサイクルにおいて第1のメモリセルに印加された第1のパルスの回数に基づいている。
【００１５】
一実施形態によれば、第2のサイクルは、iv)少なくとも1つの消去またはプログラムパルスをメモリセルに印加するステップと、v)消去されたかプログラムされたか、メモリセルの状態を決定するステップと、vi)所定の回数の消去またはプログラムパルスが第2のメモリセルに印加されるまで、ステップiv)およびv)を繰り返すステップとを含む。
【００１６】
一実施形態によれば、方法は、消去またはプログラムサイクルが第1のメモリセルにおいて実施されたか第2のメモリセルにおいて実施されたかを検証するステップを含む。
【００１７】
一実施形態によれば、第1の消去またはプログラムサイクルは、所望の状態に設定するために第1のメモリセルに印加されたパルスの回数を記憶するステップを含む。
【００１８】
一実施形態によれば、消去またはプログラムパルスの所定の回数は、消去またはプログラムパルスの所定の回数が、第1のメモリセルの1つの第1の消去またはプログラムサイクルにおいて第1のメモリセルに印加された消去またはプログラムパルスの回数に基づいている、消去またはプログラムパルスの所定の回数が、第1のメモリセルの複数の第1の消去またはプログラムサイクルにおいて第1のメモリセルに印加された消去またはプログラムパルスの回数の平均値に基づいている、消去またはプログラムパルスの所定の回数が、第1のメモリセルの複数の第1の消去またはプログラムサイクルにおいて第1のメモリセルに印加された消去またはプログラムパルスの回数の最大値に基づいている、方法のうち少なくとも1つに従って決定される。
【００１９】
一実施形態によれば、方法は、第1の消去またはプログラムサイクルによって第1のメモリセルに通常データを書き込むステップと、第2の消去またはプログラムサイクルによって第2のメモリセルにフェイクデータを書き込むステップとを含む。
【００２０】
本発明の実施形態は、不揮発性メモリであって、メモリセルのアレイと、メモリの第1のメモリセルの第1の消去またはプログラムサイクルを実施するように構成される制御回路とを備え、第1の消去またはプログラムサイクルが、i)少なくとも1つの消去またはプログラムパルスをメモリセルに印加するステップと、ii)消去されたかプログラムされたか、メモリセルの状態を決定するステップと、iii)メモリセルが所望の状態ではない場合、ステップi)およびii)を繰り返すステップとを含み、前記制御回路が、第2のメモリセルの第2の消去またはプログラムサイクルであって、第2のメモリセルの所定の回数の消去またはプログラムパルスを第2のメモリセルに印加するステップを含む、第2の消去またはプログラムサイクルを実施するようにさらに構成される、不揮発性メモリにも関する。
【００２１】
一実施形態によれば、制御回路は、第1のメモリセルの少なくとも1つの第1の消去またはプログラムサイクルにおいて第1のメモリセルに印加された第1のパルスの回数に基づいて、消去またはプログラムパルスの所定の回数を決定するように構成される。
【００２２】
一実施形態によれば、第2の消去またはプログラムサイクルを実施する際に、制御回路は、iv)少なくとも1つの消去またはプログラムパルスをメモリセルに印加する、v)消去されたかプログラムされたか、メモリセルの状態を決定するステップと、vi)所定の回数の消去またはプログラムパルスが第2のメモリセルに印加されるまで、ステップiv)およびv)を繰り返すように構成される。
【００２３】
一実施形態によれば、第1の消去またはプログラムサイクルを実施する際に、制御回路は、所望の状態に設定するために第1のメモリセルに印加されたパルスの回数を記憶するように構成される。
【００２４】
一実施形態によれば、制御回路は、消去またはプログラムパルスの所定の回数が、第1のメモリセルの1つの第1の消去またはプログラムサイクルにおいて第1のメモリセルに印加された消去またはプログラムパルスの回数に基づいている、消去またはプログラムパルスの所定の回数が、第1のメモリセルの複数の第1の消去またはプログラムサイクルにおいて第1のメモリセルに印加された消去またはプログラムパルスの回数の平均値に基づいている、消去またはプログラムパルスの所定の回数が、第1のメモリセルの複数の第1の消去またはプログラムサイクルにおいて第1のメモリセルに印加された消去またはプログラムパルスの回数の最大値に基づいている、方法のうち少なくとも1つに従って消去またはプログラムパルスの所定の回数を決定するように構成される。
【００２５】
一実施形態によれば、制御回路は、第1の消去またはプログラムサイクルによって第1のメモリセルに通常データを書き込み、第2の消去またはプログラムサイクルによって第2のメモリセルにフェイクデータを書き込むように構成される。
【００２６】
一実施形態によれば、制御回路は、第2のメモリセルのアドレスを記憶し、第2の消去またはプログラムサイクルを第2のメモリセルに適用することだけ行うように構成される。
【００２７】
本発明の実施形態は、本発明による不揮発性メモリを備える電子デバイスにも関する。
【００２８】
本発明の実施形態は、添付の図面に関連してここに記載されるが、それに限定されない。
【図面の簡単な説明】
【００２９】
【図１】図1は、メモリセル消去またはプログラムサイクルを実施する従来の方法を示すフローチャートである。
【図２】図2は、本発明によるメモリデバイスの実施形態のブロック図である。
【図３Ａ】図3Aは、本発明の一実施形態による消去またはプログラムサイクルを示すフローチャートである。
【図３Ｂ】図3Bは、本発明の一実施形態による消去またはプログラムサイクルを示すフローチャートである。
【図４】図4は、本発明の別の実施形態による消去またはプログラムサイクルを示すフローチャートである。
【図５】図5は、本発明のさらに別の実施形態による消去またはプログラムサイクルを示すフローチャートである。
【図６】図6は、本発明によるメモリデバイスを備える電子デバイスを示す図である。
【発明を実施するための形態】
【００３０】
図2は、概略的に本発明の一実施形態による不揮発性メモリMEMを示す。メモリMEMは、メモリセルのアレイMAと、行デコーダRDECと、列デコーダCDECと、プログラミングラッチPLのブロックと、列選択トランジスタCSTのグループと、センスアンプSAのブロックと、入力/出力ポートIOPと、制御回路CCTとを備える。
【００３１】
メモリアレイは、ワードラインWLとビットラインBLとに接続されたメモリセル(図示せず)を備える。行デコーダRDECはワードラインに接続され、プログラムラッチPLはビットラインの一端に接続され、センスアンプSAは列選択トランジスタCSTを介してビットラインの他端に接続される。列選択トランジスタCSTは、列選択ラインCSLを介して列デコーダCDECによって制御される。
【００３２】
制御回路CCTは、バスBSを介して、IOPポートの入力端/出力端、プログラムラッチPLの入力端およびセンスアンプSAの出力端に接続される。制御回路は、ポートIOPを介して、ホストコントローラ(図示せず)によって送信される消去、プログラム、または読み出しコマンドを受信する。そのようなコマンドは、書き込み予定のメモリセルのアドレスおよびデータを含む。一実施形態において、制御回路CCTは、消去およびプログラムコマンドの代わりに書き込みコマンドを受信するように構成され、対応する消去およびプログラムサイクルを実施することによってそれらを実行する。
【００３３】
メモリアレイに書き込み予定のデータは、プログラムラッチPLにロードされ、メモリアレイに読み出されたデータは、センスアンプSAによって供給される。消去、プログラム、または読み出しアドレスADDは、行デコーダRDECおよび列デコーダCDECにロードされ、前者がその上位ビットADDMを受信し、後者がその下位ビットADDLを受信する。
【００３４】
制御回路は、プログラムメモリ(図示せず)またはステートマシンを備えるマイクロプロセッサと、様々なレジスタと、消去、プログラム、読み出し動作のために必要とされる電圧およびセンスアンプを介してメモリセルの状態を決定する電圧を供給する様々な電源回路とを備えていてもよい。
【００３５】
メモリアレイは、2つのタイプT1、T2のメモリセルを備えていてもよい。タイプT1のメモリセルは、通常データ(アプリケーションデータ)を記憶するために使用され、タイプT2のメモリセルは、フェイクデータを記憶するために、「ダミー」メモリセルとして使用される。
【００３６】
ダミーメモリセルの位置は、メモリが設計される際に、またはパーソナライズされる際に、事前に決定されていてもよい。メモリに接続されたホストコントローラによって、ダミーメモリセルの位置を示す特定の設定コマンドまたはそのような位置を指定するダミー書き込みコマンドをメモリに送信することによって、動的に決定されてもよい。
【００３７】
ダミーメモリセルは、同一のページ(同一のワードラインWLに接続されたメモリセルの集合体)に、同一のセクタ(隣接したページの集合体)に、またはダミーメモリセルのみからなる別のページ若しくはセクタに、配置されるのが好ましい。一実施形態において、T2としてひとたび決定されたメモリセルの状態は、メモリの寿命が尽きるまで取り消せない。
【００３８】
制御回路CCTは、2つのタイプの消去サイクルEC1、EC2と、2つのタイプのプログラムサイクルPC1、PC2とを実施するように構成される。サイクルEC1、PC1は、それぞれタイプT1のメモリセルに適用される通常消去およびプログラムサイクルである。サイクルEC2、PC2は、タイプT2のメモリセルに適用されるダミー消去およびプログラムサイクルである。
【００３９】
サイクルEC1、PC1は、同一の構造を有しており、図3Aでは同一のフローチャートで示される。各々が、ステップS11乃至S17を含む。ステップS11では、上述した変数Npが初期値に設定される、ここでは1。ステップS12では、消去またはプログラム動作が初期化される。そのような初期化は、例えば、消去またはプログラムサイクル(例えば、チャージポンプの起動も含む)のための適切な電圧を供給するステップ、アドレスADDM、ADDLを行および列デコーダに適用するステップ、そして、プログラムサイクルPC1においてプログラミングラッチPLにデータを記憶するステップを含む。ステップS13では、制御回路が、1つの消去またはプログラムパルスを指定のメモリセルに印加する。ステップS14では、制御回路が、メモリセルの状態を決定する。この動作は、例えば、センスアンプSAによって、特定の読み出し電圧未満であるメモリセルの閾値電圧をセンシングすることで実施される。各センスアンプは、それに接続されたメモリセルの状態を表す、ビットを出力する。
【００４０】
ステップS15では、制御回路が、メモリセルの状態が所望の状態に一致しているかどうか、つまり消去されたかプログラムされたかを検証する。いいえの場合、ステップS16では、制御回路が、Npが印加できるパルスの最大回数Npmaxと等しいかどうかを検証する。その結果がはいの場合、「失敗」としてサイクルを終了する。NpがNpmax未満の場合、ステップS17で、制御回路は、Npを1増加させて、消去またはプログラムパルスをメモリセルにさらに印加するためにステップS13に戻る。
【００４１】
ステップS15で、メモリセルの状態が所望の状態に一致している場合、「成功」として消去またはプログラムサイクルを終了する。サイクルを終了する前に、ステップS18では、制御回路は、それぞれ消去基準値N11iまたはプログラム基準値N12iとして、変数Npをレジスタに記憶し、「i」は、同様の変数を記録する同一の種類の複数のサイクル、つまり消去またはプログラム、のうちの現在のサイクルEC1またはPC1の回数を表す。
【００４２】
消去またはプログラムサイクルEC2、PC2は、同一の構造を有しており、図3Bでは同一のフローチャートで示される。各々が、ステップS21乃至S27を含む。
【００４３】
ステップS21では、消去サイクルEC2が実施された場合、ダミー消去パラメータN21は、前回の通常消去サイクルEC1の基準値N11iに基づいて設定される。プログラムサイクルPC2が実施された場合、ダミープログラムパラメータN22は、前回の通常プログラムサイクルPC1の基準値N12iに基づいて設定される。
【００４４】
ステップS22では、変数Npが1に設定される。ステップS23では、消去またはプログラム動作が初期化される。ステップS24では、制御回路が、1つの消去またはプログラムパルスを指定のメモリセルに印加する。任意ではあるが、ステップS25では、制御回路が、メモリセルの状態を決定する。ステップS26では、制御回路が、消去サイクルEC2が実施された場合はN21に、またはプログラムサイクルPC2が実施された場合はN22に、Npが等しいかどうかを検証する。その結果がはいの場合、制御回路は、「成功」としてサイクルを終了する。その結果がいいえの場合、ステップS27では、Npを1増加させて、さらなるパルスを関与しているメモリセルに印加するために制御回路はステップS24に戻る。
【００４５】
初期化ステップS22がサイクルEC1またはPC1において実施されたステップS12と同一であるのが好ましく、ダミー消去またはプログラムサイクルには必ずしも必要ないので任意ではあるが、現在の消費、生成された電圧、実施されたステップ数などに関して可能な限り、サイクルEC2がサイクルEC1に類似し、サイクルPC2がサイクルPC1に類似するように、ステップS25が行われることが、当業者には理解されよう。
【００４６】
ある実施形態においては、図3Bに示すように、それらのサイクルが検証の結果は考慮していないこと以外はサイクルEC1、PC1により類似するように、ステップS26が結果に関わらず実施されるように、検証ステップS25'が、サイクルEC2、PC2に含まれていてもよい。
【００４７】
ある実施形態においては、ステップS21が、サイクルEC2、PC2の実行前に、例えば、新規基準値N11iまたはN12iがサイクルEC1またはPC1後に記録されるたびに後のダミーサイクルEC2、PC2を見越して、バックグラウンド演算として、制御回路によって実施される。
【００４８】
サイクルEC1、EC2、PC1、PC2には、様々な他の実施形態があり得る。例えば、ステップS11またはS22で、Npが初期値「n」に設定されてもよいし、ステップS16またはS27で、Npを「n」増加させてもよい。その場合、ステップS13またはS24は、「n」回の消去またはプログラムパルスをメモリセルに印加することを含む。また、具体的には、ステップS24で、メモリセル印加された消去またはプログラムパルスの回数「n」を、セルの経年劣化に伴い徐々に増加させた場合、ステップS26は、狭義の等価性を検証する代わりに、Npが、N21またはN22以上であるかどうかを検証してもよい。
【００４９】
図4は、本発明による消去サイクルEC12またはプログラムサイクルPC12の実施形態を示すフローチャートであり、双方は、同一の構造を有しており、同一のフローチャートで示される。サイクルEC12は、サイクルEC1とサイクルEC2と一つにまとめたものであり、通常消去サイクルまたはダミー消去サイクルであり得る。同様に、サイクルP12は、サイクルPC1とサイクルPC2とを一つにまとめたものであり、通常プログラムサイクルまたはダミープログラムサイクルであり得る。
【００５０】
サイクルEC12、PC12は、ステップS30乃至S41を含む。ステップS30は、ステップS21に相当し、前回の通常サイクルEC12、PC12の基準値N11iまたはN12iに基づいてパラメータN21またはN22を決定する。上述したように、本演算は、サイクルが開始される以前の別の時点で、例えば、通常消去またはプログラム動作に関する前のサイクルEC12、PC12の終了時、後述するステップS39の後で、行われてもよい。
【００５１】
ステップS31は、ステップS11またはS22に相当し、Npを1に設定する。S32は、ステップS12またはS23に相当し、消去またはプログラム動作を初期化する。ステップS33は、ステップS13またはS24に相当し、1つの消去またはプログラムパルスを関与しているメモリセルに印加する。ステップS34は、ステップS14またはS25に相当し、メモリセルの状態を決定する。
【００５２】
ステップS35では、制御回路は、現在の消去またはプログラムサイクルEC12、PC12が通常消去またはプログラムサイクルであるかダミー消去またはプログラムサイクルであるかを決定する。例えば、現在のサイクルが第2のタイプT2のメモリセルで実行されたか第1のタイプT1のメモリセルで実行されたかを決定することによって、消去またはプログラムコマンドにおいて受信したアドレスを検査しそれがダミーページまたはセクタに対応するアドレスの範囲内にあるか比較することによって、この決定は下される。別の実施形態においては、現在のサイクルが「通常」または「ダミー」サイクルであるという情報は、コマンドそのものに含まれる。ステップS35が実施された際の時間を節約するために、この決定が、サイクルEC12、PC12の非常に初期段階で、ステップS30が実施される前に、実行されていてもよいし、フラグが、現在のサイクルが通常であるかダミーであるかを示す論理値で設定されてもよい。その場合、ステップS35は、そのフラグの値を検査するだけとなる。
【００５３】
現在のサイクルが通常サイクルである場合、制御回路は、ステップS15、S16、S17、S18に相当するステップS36、S37、S38、S39を含む第1の実行分岐に進む。現在のサイクルがダミーサイクルである場合、制御回路は、ステップS26、S27に相当するステップS40、S41を含む第2の実行分岐に進む。
【００５４】
第1の分岐において、ステップS36では、制御回路が、メモリセルの状態が所望の状態に一致しているかどうかを検証する。状態に一致していない場合、ステップS37では、制御回路が、印加されたNpがNpmaxに等しいかどうかを検証する。その結果がはいの場合、「失敗」としてサイクルを終了する。その結果がいいえの場合、ステップS38では、Npを1増加させて、制御回路はステップS33に戻る。ステップS36の結果が、はいの場合、ステップS39では、Npがパルス基準値N11iまたはN12iとしてレジスタにロードされ、制御回路は、「成功」としてサイクルを終了する。
【００５５】
第2の分岐において、ステップS40では、制御回路が、NpがN21(ダミー消去サイクルの場合)またはN22(ダミープログラムサイクルの場合)に等しいかどうかを検証する。その結果がはいの場合、制御回路は、「成功」としてサイクルを終了する。その結果がいいえの場合、ステップS41では、Npを1増加させて、制御回路はステップS33に戻る。
【００５６】
別の第2の分岐の実施形態においては、現在の消費、生成された電圧、実施されたステップ数などに関して、第1のおよび第2の分岐が互いにより類似するように、検証ステップがステップS40の前に実施される。ただし、この場合、検証ステップの結果は考慮しない。
【００５７】
図5は、本発明による消去サイクルEC13またはプログラムサイクルPC13の別の実施形態を示すフローチャートである。本図においてステップS34'と指定されている検証ステップがステップS34の後かつステップS35の前に存在している点で、サイクルEC13、PC13は、サイクルEC12、PC12と異なる。検証の結果は、例えば「成功フラグ」として、記憶されている。第1の分岐において、前回の検証ステップS36が、「成功フラグ」を確認することなどによって制御回路がステップS34'の検証が成功したかどうかをだけを検証しているステップS36'の「検証は成功?」に、置き換わっている。このように、現在の消費、生成された電圧、実施されたステップ数などに関して、ダミー動作またはデータ動作の場合の消去およびプログラムサイクルEC13、PC13は、互いにより類似している。
【００５８】
別のアルゴリズムが、通常消去サイクルによって選出された別の基準値N11iに基づいてダミー消去パラメータN21を決定することに、および通常プログラムサイクルによって選出された別の基準値N12iに基づいてダミープログラム基準値N22を決定することに、使用されてもよい。これらのアルゴリズムは、メモリセルに印加されたパルスの回数およびメモリセルの状態の決定および検証に関して可能な限り、ダミー消去またはプログラムサイクルが通常消去またはプログラムサイクルに類似するように考慮されているのが好ましい。これらのアルゴリズムは、メモリアレイの別のページまたはセクタがどのように使用されるかおよびダミーメモリセルがどのようにいつ使用されるかといった、本発明が実施される適用により、大きく異なっていてもよい。
【００５９】
限定を目的としないいくつかの例を以下に示す。
【００６０】
1)N21が直近の通常消去サイクルにおいて記録された直近の基準値N11iに等しいまたはの関数であり、N22が直近の通常プログラムサイクルにおいて記録された直近の基準値N12iに等しいまたは基づいている。
【００６１】
2)N21が直近の通常消去サイクル「I」において記録された「I」の直近の基準値N11iの平均値であるまたはそれに基づいており、N22が直近の通常プログラムサイクル「I」において記録された「I」の直近の基準値N12iの平均値であるまたはそれに基づいている。
【００６２】
3)N21が直近の通常消去サイクル「I」において記録された「I」の直近の基準値N11iの最大値であるまたはそれに基づいており、N22が直近の通常プログラムサイクル「I」において記録された「I」の直近の基準値N12iの最大値であるまたはそれに基づいている。
【００６３】
これらのアルゴリズムは、乱数ジェネレータによって提供される乱数値または特定のバイアス値を、上述の値に加算または上述の値から減算することによって、変更されてもよい。他の実施形態においては、例えば、特定の範囲の劣化に収まっているメモリセルにおける通常消去またはプログラムサイクルによって選出された基準値N11i、N12iのみを検討することによって、メモリセルの劣化に配慮してもよい。ダミーメモリセルの位置に対するメモリアレイ内のメモリセルの位置に配慮してもよい。例えば、アルゴリズムは、単に、例えば慎重に扱うべきデータが暗号化演算中に書き込まれるエリアといった特定のエリア内のメモリセルで実施された通常消去またはプログラムサイクルによって選出された基準値N11i、N12iを検討してもよい。
【００６４】
いくつかの実施形態においては、メモリは、異なる耐久性を有するデータセクタを備えていてもよい。以下の表は、例えば10,000サイクルといった第1の耐久寿命を有する第1のデータセクタ「A」と、例えば1,000,000サイクルといった第2の耐久寿命第2のデータセクタ「B」とをメモリが備える場合に、N11(A)およびN11(B)に基づいてN21を決定する方法の例を示している。基準「bv」は、例えば-1、0、または1といったバイアス値を指定する。N11(A)およびN11(B)は、それら自体が検討セクタAおよびBに対して記録された消去基準値N11iの関数であり、例えば、上述の方法に従って、直近の基準値N11i、「I」の直近の基準値N11iの平均値、または「I」の直近の基準値N11iの最大値であってもよい。最後に、上述の例は、N12に基づいてN22を決定することにも、実際には適用可能である。
【００６５】
【表１】
2015525942.tif 000003
【００６６】
本発明は、通常消去またはプログラムサイクルと類似するダミー消去またはプログラムサイクルを実施するセキュリティ目的で当初提供されたものではあるが、いくつかの実施形態においては、本発明による消去およびプログラムサイクルEC2、PC2は、ダミー動作を実施する他の目的に使用されてもよい。例えば、多数の消去またはプログラムサイクルを、同一の劣化具合のメモリセルを備えるメモリアレイの大型セクタで実行する必要がある場合は、通常消去/検証またはプログラム/検証サイクルEC1、PC1が、検討エリアの第1のメモリセルで実施されてもよい、そして基準パラメータN11、N12が不変の場合は、大型セクタを消去またはプログラムするための全体的な時間を節約するために、消去またはプログラムサイクルEC2、PC2が、さらなるメモリセルにおいてメモリセルの状態の検証なしで実施される。その場合、時間を節約するために、サイクルEC2、PC2の決定ステップS25は実施されない。
【００６７】
また、本発明には様々な他の実施および適用があり得ることが、当業者には理解されよう。具体的には、本発明は、NORまたはNAND型アーキテクチャを有するフラッシュメモリ、EEPROMメモリ、および消去/検証およびプログラム/検証プロセスを使用するイレーサブルおよびプログラマブルなメモリの任意の他の種別に適用されてもよい。したがって、本発明は、フローティングゲートトランジスタを備えるメモリセルに限定されず、むしろ消去および/またはプログラミングを保証するために複数のパルスが印加され得るメモリセルの任意のタイプに適用される。
【００６８】
アドレスによって指定されたメモリセル全てが、方法が成功と認めるために正確に消去および/またはプログラムされなければならないわけではなく、閾値を上回ったか下回ったかでその動作が成功したまたは失敗したとみなす、ある閾値が設定され得ることは理解されよう。
【００６９】
図6は、本発明による不揮発性メモリMEMが組み込まれた集積回路ICを備える電子デバイスEDを示す。電子デバイスEDは、非接触チップカード、タグ、携帯電話、携帯情報端末などであってもよい。
【符号の説明】
【００７０】
S12  初期化する
S13  パルスを印加する
S14  状態の決定する
S15  検証する
S18  N11i、N12iとして、Npを記憶する
【図１】
2015525942.tif 000004
【図２】
2015525942.tif 000005
【図３Ａ】
2015525942.tif 000006
【図３Ｂ】
2015525942.tif 000007
【図４】
2015525942.tif 000008
【図５】
2015525942.tif 000009
【図６】
2015525942.tif 000010
【国際調査報告】
2015525942.tif 000011
2015525942.tif 000012
2015525942.tif 000013
2015525942.tif 000014