(57)【要約】      （修正有）【課題】複雑なプロセスを増やしていない回路設計方法を用いて高いデータ保持力と耐久性を供給する。【解決手段】リフレッシュする必要があるかを判断する為にフラッシュメモリの複数のセルがテストされる。セルは読み込まれ、何れかのセルがリフレッシュが必要であるかを判断する為に複数の異なる検出比が使用される。リフレッシュが必要と判断された何れかのセルは、リフレッシュされる。セルは、単一の一定のゲート電圧のみで読み込まれる。【選択図】図２
2007035242.tif 000002
【特許請求の範囲】
【請求項１】
フラッシュメモリの複数のセルがリフレッシュされる必要があるかの検査方法において、
前記フラッシュメモリのセルを読み込み、
任意のセルがリフレッシュされることが必要であるかを判断する為に複数の異なる検出比を使用し、さらに
リフレッシュが必要と判断された任意のセルをリフレッシュするステップから成る検査方法。
【請求項２】
前記フラッシュメモリの前記セルは単一の一定のゲート電圧のみを用いて読み込まれる、
請求項１記載の検査方法。
【請求項３】
一の検出比が１：１であり、他の検出比がＸ＞１で１：Ｘである、
請求項１記載の検査方法。
【請求項４】
一の検出比が１：１であり、他の
請求項１記載の検査方法。
【請求項５】
前記一定のゲート電圧は約０ボルトから約１０ボルトである、
請求項１記載の検査方法。
【請求項６】
少なくとも幾つかの前記セルがハイ電圧（閾値電圧）チャージロスセルである、
請求項１記載の検査方法。
【請求項７】
少なくとも幾つかの前記セルがロー電圧（閾値電圧）チャージゲインセルである、
請求項１記載の検査方法。
【請求項８】
少なくとも幾つかの前記がハイ電圧（閾値電圧）チャージゲインセルであり、少なくとも幾つかのセルがロー電圧（閾値電圧）チャージロスセルである、
請求項１記載の検査方法。
【請求項９】
フラッシュメモリの複数のセルがリフレッシュされることが必要であるかをテストする方法において、
テストすべきそれぞれのセルに対して、
（ａ）テストの対象となるセルを読み込み、
（ｂ）テストの対象となるセルのセル電流を計測し、第１の検出比でセル電流を変換電圧に変換し、
（ｃ）参考セル電流レベルを供給し、参考セル電流レベルを参考セルの変換電圧に変換し、
（ｄ）前記セル電流の前記変換電圧と前記参考セルの前記変換電圧とを比較し、
（ｅ）（ｉ）前記セル電流の前記変換電圧が前記参考セルの前記変換電圧よりも高い場合、（ａ）から（ｄ）のステップを次のテスト対象となるセルに実行し、
（ｅ）（ｉｉ）前記セル電流の前記変換電圧が前記参考セルの前記変換電圧よりも高くない場合、前記第１の検出比とは異なる第２検出比で前記セル電流を変換電圧に変換し、前記セル電流の前記変換電圧と前記参考セルの前記変換電圧とを比較し、前記セル電流の前記変換電圧が前記参考セルの前記変換電圧よりも高い場合、前記セルをリフレッシュし、前記セル電流の前記変換電圧が前記参考セルの前記変換電圧よりも高くない場合、（ａ）から（ｄ）のステップを次のテスト対象となるセルに実行するステップから成る検査方法。
【請求項１０】
ステップ（ａ）の前記フラッシュメモリの前記セルは単一のゲート電圧のみを用いて読み込まれている、
請求項９記載の検査方法。
【請求項１１】
テスト対象となる前記セルは、チャージロスセルである、
請求項９記載の検査方法。
【請求項１２】
前記第１の検出比は１：１であり、前記第２の検出比はＸ＞１で１：Ｘである、
請求項９記載の検査方法。
【請求項１３】
前記第１の検出比は１：１であり、前記第２の検出比はＹ＜１で１：Ｙである、
請求項９記載の検査方法。
【請求項１４】
フラッシュメモリの複数のセルがリフレッシュされることが必要であるかをテストする方法において、
テストすべきそれぞれのセルに対して、
（ａ）テストの対象となるセルを読み込み、
（ｂ）テストの対象となるセルのセル電流を計測し、第１の検出比でセル電流を変換電圧に変換し、
（ｃ）参考セル電流レベルを供給し、参考セル電流レベルを参考セルの変換電圧に変換し、
（ｄ）前記セル電流の前記変換電圧と前記参考セルの前記変換電圧とを比較し、
（ｅ）（ｉ）前記セル電流の前記変換電圧が前記参考セルの前記変換電圧よりも高い場合、（ａ）から（ｄ）のステップを次のテスト対象となるセルに実行し、
（ｅ）（ｉｉ）前記セル電流の前記変換電圧が前記参考セルの前記変換電圧よりも高く無い場合、前記第１の検出比とは異なる第２の検出比で前記セル電流を変換電圧に変換し、前記セル電流の前記変換電圧と前記参考セルの前記変換電圧を比較し、前記セル電流の前記変換電圧が前記参考セルの前記変換電圧よりも高い場合、前記セルをリフレッシュし、前記セル電流の前記変換電圧が前記参考セルの前記参考電圧よりも高い場合、ステップ（ａ）から（ｄ）のステップを次のテスト対象となるセルに実行するステップから成る検査方法。
【請求項１５】
ステップ（ａ）の前記フラッシュメモリの前記セルは単一のゲート電圧のみを用いて読み込まれている、
請求項１４記載の検査方法。
【請求項１６】
フラッシュメモリのセルをリフレッシュする為に使用される検出アンプ回路において、
（ａ）
（ｉ）セルのセル電流の変換電圧がテストされることに応じる第１のインプット、及び
（ｉｉ）参考セルの参考セル電流の変換電圧に応じる第２のインプット、
を含む検出アンプと、
（ｂ）テストされる前記セルによって補助された複数の電流―電圧コンバーターであって、それぞれの電流―電圧コンバーターは異なる検出比を有し、それぞれの前記電流―電圧コンバーターの前記インプットはテストされる前記セルの前記アウトプットに接続され、それぞれの前記電流―電圧コンバーターの前記アウトプットは前記検出アンプの前記第１のインプットに接続されており、
（ｃ）供給された時間に一つの前記電流―電圧コンバーターの前記アウトプットと前記検出アンプの前記第１のインプットとが電気的に接続されることを許可するスイッチと、
前記検出アンプの前記アウトプットは、前記フラッシュメモリの特定のセルをリフレッシュするか否かを判断する為に使用される、
検出アンプ回路。
【請求項１７】
フラッシュメモリのセルをリフレッシュする為に使用される検出アンプ回路において、
（ａ）
（ｉ）セルのセル電流の変換電圧がテストされることに応じる第１のインプット、及び
（ｉｉ）参考セルの参考セル電流の変換電圧に応じる第２のインプット、
を含む検出アンプと、
（ｂ）テストされる前記セルによって補助された複数の電流―電圧コンバーターであって、それぞれの電流―電圧コンバーターは異なる検出比を有し、それぞれの前記電流―電圧コンバーターの前記インプットは前記参考セル電流レベルの前記アウトプットに接続され、それぞれの前記電流―電圧コンバーターの前記アウトプットは前記検出アンプの前記第２のインプットに接続され、
（ｃ）供給された時間に一つの前記電流―電圧コンバーターの前記アウトプットと前記検出アンプの前記第２のインプットとが電気的に接続されることを許可するスイッチと、
前記検出アンプの前記アウトプットは、前記フラッシュメモリの特定のセルをリフレッシュするか否かを判断する為に使用される、
検出アンプ回路。
【請求項１８】
フラッシュメモリのセルをリフレッシュする為に使用される検出アンプ回路において、
（ａ）
（ｉ）参考セルのセル電流の変換電圧がテストされることに応じる第１のインプット、及び
（ｂ）複数の参考セルであって、それぞれの参考セルは異なる参考電流を有し、
（ｃ）供給された時間に一つの前記参考セルの前記アウトプットと前記検出アンプの前記第２のインプットとが電気的に接続されることを許可するスイッチと、
前記検出アンプの前記アウトプットは、前記フラッシュメモリの特定のセルをリフレッシュするか否かを判断する為に使用される、
検出アンプ回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリの複数のセルのリフレッシュが必要かどうかテストする方法に関する。本出願は、「フラッシュメモリのリフレッシュ方法」と題された２００５年６月２４日出願の米国特許出願番号６０／６９４，０５２に対する利益を主張する。
【背景技術】
【０００２】
フラッシュメモリは、固体の状態デバイスであり、それは不揮発性であり、ＲＡＭ（Random Access Memory）及びハードディスクを組合わせた様に機能する書換可能なメモリであり、電力なしでデータを保持する。ＥＥＰＲＯＭと同様の構造でアドレスライン、データライン、及びコントロールラインを有しており、１ビットのデータを格納する為の各メモリセルに対して１個のトランジスタを使用することが可能である。アドレスラインは、メモリに対してインプットとして一方向性であり、データが格納されている位置を特定する。データラインは、双方向性であり、データの入力及び出力の為に使用される。コントロールラインは、プログラミング及び消去の指令を明確に読み込む為に使用される。フラッシュメモリは、半導体産業の中で急速に成長している産業部門であり、ソフトウェア及びデータを格納する為に、デジタルカメラ、携帯電話、プリンタ、ＰＤＡ、並びにオーディオレコーダ及びプレーヤにおいて多数の用途がある。
【０００３】
フラッシュメモリは、極めて早いアクセス時間、低消費電力、並びに衝撃及び振動に対する耐性を提供する。フラッシュメモリでデータの品質を維持することは、今日の商業用及び消費者のフラッシュメモリを採用する電子機器の重要な課題である。
【０００４】
フラッシュメモリの為に3つの操作上の機能がある。１個目の機能は、メモリセルに情報又はデータを格納する為のプログラム（書き込み）機能である。２個目の機能は、読み込む機能であり、外部の処理の為に装置から予め格納されたデータが読み込まれる。
【０００５】
データは、プログラム又は読み込み機能が完了した後も装置に保持される。
３個目の機能は、データがメモリセルから削除され、メモリセルは新たなデータを受信する為に準備される消去機能である。
【０００６】
米国特許第５，３６５，４８６（Ｓｃｈｒｅｃｋ）の図２には、標準的なフラッシュメモリが表されている。フラッシュメモリセルは、フローティングゲートを有する修正されたＮＭＯＳ（N-channel metal-oxide semiconductor）トランジスタである。フローティングゲートはマイナス電荷以外を運び、それ故にフラッシュメモリセルが加工されていない状態は１である。
【０００７】
フラッシュメモリのセルの中身をプログラム、読み込み、特定、及びリフレッシュする為には様々な方法がある。例えば、米国特許第５，３６５，４８６（Ｓｃｈｒｅｃｋ）の図３ａには、セルを比較する為に使用されるゲート制御電圧として２個の別々のレベルの電圧が表されている。先ずセルは、読み込まれると共に、高められたゲート制御電圧と比較される（４２）。この様な読み込み動作の結果、メモリセルはデータを格納しているかを判断する。メモリセルがデータを格納している場合、その後、次ぎのメモリセルについて実行される（４６）。イニシャルテストが、セルがデータを格納していないと発見された場合（４４）、低いゲート制御電圧によってメモリセルを読み込む（４８）。この読み込み動作の後、メモリセルがデータを格納しているかを判断する（５０）。メモリセルがデータを格納していない場合、次のメモリセルについて実行される（４６）。
【０００８】
米国特許第５，３６５，４８６（Ｓｃｈｒｅｃｋ）の図３ａ、及び米国特許第５，７６８，１９３（Ｌｅｅ  ｅｔ  ａｌ）の図１に表される様に、各々は、セルをリフレッシュする必要があるかを判断する為に、２種類の異なるＷＬ電圧（ゲート制御電圧）のレベルを使用する。各ＷＬ電圧は沈降時間を有する為に、動作を完成させる為の時間を増加させることでスピードに影響する
さらに、２種類のＷＬ電圧レベルを使用することは、信頼性に影響を与える、ゲートでの妨害要因を増加させる。
【発明の開示】
【課題を解決する為の手段】
【０００９】
本発明は、１個のメモリセルが一定のゲート制御電圧Ｖｇ（すなわちＷＬ電圧）を使用する複数のメモリセル有するフラッシュメモリのリフレッシュ方法を提供する。本発明の実施の形態は、プログラミング、読み込み、消去、及び電源をオンにする動作の為にフラッシュメモリセルをリフレッシュすることを含む。プログラミング、読み込み、消去、及び電源をオンにする動作のどのような動作の途中であっても、どのビットがリフレッシュされる必要があるかの比較及び判断を完成する為には、組み込まれたアルゴリズムが使用される。単一の低いゲート制御電圧を使用することで、組み込まれたアルゴリズムは、ゲートの妨害要因を防止し、高い耐久性早い動作、及び良いデータ保持力を提供する。
【００１０】
本発明は、プログラム、消去、読み込み、及び電源をオンにする動作の実行中のハイ／ロー電圧（基準電圧）のロス／ゲインバイトを管理する検査方法を提供することによって従前の技術の枠組みを進歩させる。それ故に、本発明にかかる方法は高いチャージロスビット及び高いチャージゲインビットを検知することができる。
【発明を実施するための最良の形態】
【００１１】
本発明の複数の実施例のフラッシュメモリをリフレッシュする方法に関する利益とコンセプトは図面を参照することによって最も良く理解することができる。
【００１２】
以下の図面は、発明の例を示す。
しかし、発明は、実施例を示すために主として提供される例示された正確な配置、手段、比率、及び寸法に限られるものではない。
【００１３】
〔定義〕
以下の定義は、発明の理解を促進させる為に提供される。
検出比ＳＡ（検出アンプ）  ＲＷＬ（ワードラインの読み込み）によって割られた検出電圧
電圧
ｂ  Ｉｃｅｌｌ  （実際の）セル電流測定値
ｃ  Ｉｒｅｆ  セル電流参考値
ｄ  Ｉｃｅｌｌ−０  チャージロスセルのセル電流
ｅ  Ｉｃｅｌｌ−１  チャージゲインセルのセル電流
ｆ  Ｖ〔Ｉｃｅｌｌ〕  （実際の）セル電流測定値の転換電圧値
ｇ  Ｖ〔Ｉｒｅｆ〕  セル電流参考値の転換電圧値
ｈ  Ｖ〔Ｉｃｅｌｌ−０〕  チャージロスセルの電流の変換電圧
ｉ  Ｖ〔Ｉｃｅｌｌ−１〕  チャージゲインセルの電流の変換電圧
ｊ  Ｖ〔Ｉｒｅｆ―Ｒ〕  チャージロスセルの参考電流の変換電圧
ｋ  Ｖ〔Ｉｒｅｆ―ＲＥ〕   チャージゲインセルの参考電流の変換電圧
ｉ  Ｖ〔（Ｉｃｅｌｌ−０）ｘ（Ｘ）〕  検出比１：Ｘ（Ｘ＞１）を用いたチャージゲインセルの電流の変換電圧
ｊ  Ｖ〔（Ｉｃｅｌｌ−１）ｘ（Ｘ）〕  検出比１：Ｙ（Ｙ＜１）を用いたチャージゲインセルの電流の変換電圧
ｋ  Ｖ〔（Ｉｒｅｆ）ｘ（Ｘ）〕  検出比１：Ｘ（Ｘ＞１）を用いたセル電流参考値の転換電圧
ｌ  Ｖ〔（Ｉｒｅｆ）ｘ（Ｙ）〕  検出比１：Ｙ（Ｙ＞１）を用いたセル電流参考値の転換電圧
【００１４】
〔詳細の開示〕
図１は、フラッシュハイ電圧（閾値電圧）及び読み込んだ余白のロー電圧の図である。ハイ電圧の設計パラメータは、データ保持、気温の影響、センサ動作の欠陥、配列の影響、及び初期の程度によって特定される。プログラムマージン（ＰＭ）は、ハイ電圧の設計パラメータの総和である。ロー電圧設計パラメータは、チャージゲイン、気温の影響、センサ動作の欠陥、並びに２次的ビットエフェクト、及びサイクルマージンによって特定される。消去マージン（ＥＭ）は、ロー電圧設計パラメータの総和である。
【００１５】
図２乃至図４は、フラッシュメモリのセル側の検出比の概略図であるところ、図２はハイ電圧チャージロスセルを判断し、図３はロー電圧チャージゲインセルを判断し、さらに図４はハイ電圧チャージロスセル及びロー電圧チャージゲインセルの両者を示す。図２乃至４は、セル電流を電圧に直接変換するＩ−Ｖコンバーターを示す。
【００１６】
図５は、ＳＡ信号の電圧に対する、図２乃至図４の検出比Ａ、Ｂ、及びＣのＷＬ電圧を示す図である。例えば、Ａの検出比は１：１であり、Ｘが２のときＢは１：Ｘ（Ｘ＞１）であり、さらにＹが２／３のときＣは１：Ｙ（Ｙ＜１）である。
【００１７】
図６乃至図８は、フラッシュメモリ側のセルの参考値の検出比の概略図であるところ、図６はハイ電圧チャージロスセルを判断し、図７はロー電圧チャージゲインセルを判断し、図８はハイ電圧チャージロスセル及びロー電圧チャージゲインセルの両者を判断する。
【００１８】
図９は、ＳＡ（検出アンプ）の信号電圧に対する、図６乃至図８の検出比Ａ、Ｂ、及びＣのＲＷＬ（ワードラインの読み込み）の電圧を示すグラフである。例えばＡの検出比が１：１であり、Ｘが３／２のときＢが１：Ｘ（Ｘ＞１）であり、Ｙが１／２のときＣが１：Ｙ（Ｙ＜１）である。
【００１９】
図１０は、ＳＡ信号の電流―電圧のグラフであり、図１１は、セル側の検出比を用いたチャージロスセルのリフレッシュ動作の検出比のフロー図である。電流―電圧のグラフは、プログラムされた、及び初期の又は消去された状態の転換特性を示す。図１１は、一定のゲート電圧Ｖｇを用いてセルを読み込むことで開始し、その後、Ｖ〔Ｉｃｅｌｌ−１〕＞C〔Ｉｒｅｆ〕＞Ｖ〔Ｉｃｅｌｌ−０〕を決定することで０／ハイ電圧、又は１／ロー電圧の為にセルを判断する為に検出比Ａ（１：１）を用いた方法を示す。仮に、Ｖ〔Ｉｃｅｌｌ〕がＶ〔Ｉｒｅｆ〕よりも高いことを発見した場合、他のテストがこれが最後のセルであるかを判断する。仮に、それが最後のセルでない場合は、それは次にセルを読み再スタートする。しかし、もしＶ〔Ｉｃｅｌｌ〕がＶ〔Ｉｒｅｆ〕よりも低い場合は、その後検出比Ｂ（１：Ｘ、Ｘ＞１）が、リフレッシュする必要がある原型の０ビットを示すＶ〔Ｉｒｅｆ〕＜Ｖ〔（Ｉｃｅｌｌ−０）ｘ（Ｘ）〕、又は原型のチャージロスビットを示すＶ〔Ｉｒｅｆ〕＞Ｖ〔（Ｉｃｅｌｌ−０）ｘ（Ｘ）〕を決定することによって０／ハイ電圧の為にセルを判断する。
【００２０】
図１２は、ＳＡ信号の電流―電圧グラフを示し、図１３は、セル側の検出比を使用して「１」チャージゲインセルリフレッシュ検出比のフロー図を示す。図１３は、一定のゲート電圧Ｖｇを用いてセルを読み込むことによって始まり、その後Ｖ〔Ｉｃｅｌｌ−１〕＞Ｖ〔Ｉｒｅｆ〕＞Ｖ〔Ｉｃｅｌｌ−０〕を決定することにより０／ハイ電圧又は１／ロー電圧の為にセルを判断する為に検出比Ａ（１：１）を使用する方法を示す。仮に、それが最後のセルでないと判断すると、それは次のセルを読み込み、再度スタートする。しかし、もしＶ〔Ｉｃｅｌｌ〕がＶ〔Ｉｒｅｆ〕よりも高い場合、検出比Ｃ（１：Ｙ、Ｙ＜１）は、リフレッシュが必要な原型の１ビットを示すＶ〔Ｉｒｅｆ〕＜Ｖ〔（Ｉｃｅｌｌ−１）ｘ（Ｘ）〕又はチャージゲインビットを示すＶ〔Ｉｒｅｆ〕＞Ｖ〔（Ｉｃｅｌｌ−１）ｘ（Ｙ）〕を決定することで１／ロー電圧の為にセルを判断する。仮に、検出比ＣがＶ〔（Ｉｃｅｌｌ−１）ｘ（Ｙ）〕がＶ〔Ｉｒｅｆ〕よりも高いと判断した場合、最後のセルであるかを判断するテストが行われる。もし、最後のセルである場合は、処理は終了する。もし、最後のセルでない場合は、処理は次のセルの為に再スタートする。しかし、もし検出比ＣがＶ〔（Ｉｃｅｌｌ−１）ｘ（Ｙ）〕がＶ〔Ｉｒｅｆ〕よりも低いと判断した場合、それはリフレッシュユニット（ＲＵ）からメモリへデータを読み込み、その後それはＲＵを消去し、その後メモリからのデータをＲＵにプログラムし、終了する。
【００２１】
図１４は、セル側の検出比を用いてリフレッシュされる「１」チャージゲインセル及び「０」チャージロスセルの両方のフロー図を示す。処理は、一定のゲート電圧Ｖｇを使用することによって開始し、検出比Ａ（１：１）はＶ〔Ｉｃｅｌｌ〕＞Ｖ〔Ｉｒｅｆ〕を判断する。仮に、Ｖ〔Ｉｃｅｌｌ〕がＶ〔Ｉｒｅｆ〕よりも低い場合は、検出比Ｂ（１：Ｘ、Ｘ＞１）はＶ〔（Ｉｃｅｌｌ−０）ｘ（Ｘ）〕＞Ｖ〔Ｉｒｅｆ〕を判断する。
【００２２】
仮に、Ｖ〔（Ｉｃｅｌｌ−０）ｘ（Ｘ）〕がＶ〔Ｉｒｅｆ〕よりも低い場合、それが最後のセルであるかをチェックする他のテストが行われる。もし、それが最後のセルであれば、処理は終了する。仮に、それが最後のセルでない場合は、次のセルを読み込み、処理は再スタートする。しかし、もしＶ〔（Ｉｃｅｌｌ−０）ｘ（Ｘ）〕がＶ〔Ｉｒｅｆ〕よりも大きい場合、それはセルをリフレッシュし再プログラムする。そして、それは最後のセルであるかをテストする。
【００２３】
仮に、検出比Ａ（１：１）が、Ｖ〔Ｉｃｅｌｌ〕がＶ〔Ｉｒｅｆ〕よりも高いことを発見した場合、検出比Ｃ（１：Ｙ、Ｙ＜１）はＶ〔（Ｉｃｅｌｌ−１）ｘ（Ｙ）〕＞Ｖ〔Ｉｒｅｆ〕を判断する。仮に、Ｖ〔（Ｉｃｅｌｌ−１）ｘ（Ｙ）〕がＶ〔Ｉｒｅｆ〕よりも高い場合、それが最後のセルであるかを判断するテストが行われる。もし、それが最後のセルであるならば、処理は終了する。仮に、それが最後のセルでない場合、それは一定のゲート電圧Ｖｇで次のセルを読み込み、処理は終了する。仮に、それが最後のセルでない場合、それは一定のゲート電圧Ｖｇで次のセルを読み込み、検出比Ａを再スタートする。仮に、Ｖ〔（Ｉｃｅｌｌ−１）ｘ（Ｙ）〕がＶ〔Ｉｒｅｆ〕よりも低い場合、それはリフレッシュユニット（ＲＵ）からメモリへデータを読み込み、ＲＵを消去し、メモリからのデータでＲＵをプログラムし、終了する。
【００２４】
図１５は、ＳＡ信号の電流―電圧グラフを示し、図１６は、セル側の検出比を用いた「０」チャージロスセルのリフレッシュ動作のフロー図を示す。図１６は、一定のゲート電圧Ｖｇセルを読み込むことで開始し、その後検出比Ａ（１：１）は、Ｖ〔Ｉｃｅｌｌ−１〕＞Ｖ〔Ｉｒｅｆ〕＞Ｖ〔Ｉｃｅｌｌ−０〕を決定することで０／ハイ電圧又は１／ロー電圧セルを判断する処理を示す。仮に、Ｖ〔Ｉｃｅｌｌ〕がＶ〔Ｉｒｅｆ〕よりも高い場合、そのセルが最後であるかを決定する他のテストが行われる。仮にそれが最後のセルである場合、処理は終了する。仮に、テストでそれが最後のセルでないと発見した場合、それは次のセルを読み込み再スタートする。しかし、仮にＶ〔Ｉｃｅｌｌ〕がＶ〔Ｉｒｅｆ〕よりも低い場合、検出比Ｃ（１：Ｙ、Ｙ＜１）は、リフレッシュが必要なチャージロスビットを示すＶ〔（Ｉｒｅｆ）ｘ（Ｙ）〕＞Ｖ〔Ｉｃｅｌｌ−０〕を示す原型の０／ビットをＶ〔（Ｉｒｅｆ）ｘ（Ｘ）〕＜Ｖ〔Ｉｃｅｌｌ−０〕決定することでセルを判断する。
【００２５】
図１７は、ＳＡ信号の電流―電源グラフを示し、図１８は、セル側の検出比を用いた「１」チャージゲインセルのリフレッシュ動作のフロー図を示す。図１８は、一定のゲート電圧Ｖｇセルを読み込むことで開始し、その後検出比Ａ（１：１）は、Ｖ〔Ｉｃｅｌｌ−１〕＞Ｖ〔Ｉｒｅｆ〕＞Ｖ〔Ｉｃｅｌｌ−０〕を決定することで０／ハイ電圧又は１／ロー電圧セルを判断する処理を示す。仮に、Ｖ〔Ｉｃｅｌｌ〕がＶ〔Ｉｒｅｆ〕よりも低い場合、そのセルが最後であるかを決定する他のテストが行われる。仮にそれが最後のセルである場合、処理は終了する。仮に、テストでそれが最後のセルでないと発見した場合、それは次のセルを読み込み再スタートする。しかし、仮にＶ〔Ｉｃｅｌｌ〕がＶ〔Ｉｒｅｆ〕よりも高い場合、検出比Ｂ（１：Ｘ、Ｘ＞１）は、リフレッシュが必要なチャージゲインビットを示すＶ〔（Ｉｒｅｆ）ｘ（Ｘ）〕＜Ｖ〔Ｉｃｅｌｌ−１〕を示す１／ビットをＶ〔（Ｉｒｅｆ）ｘ（Ｘ）〕＞Ｖ〔Ｉｃｅｌｌ−１〕決定することでセルを判断する。仮に、検出比ＢがＶ〔Ｉｃｅｌｌ−１〕〕がＶ〔（Ｉｒｅｆ）ｘ（Ｘ）〕よりも高いと判断した場合、最後のセルであるかを判断するテストが行われる。もし、最後のセルである場合は、処理は終了する。もし、最後のセルでない場合は、処理は次のセルの為に再スタートする。しかし、もし検出比ＢがＶ〔Ｉｃｅｌｌ−１〕〕がＶ〔（Ｉｒｅｆ）ｘ（Ｘ）〕よりも低いと判断した場合、それはリフレッシュユニット（ＲＵ）からメモリへデータを読み込み、その後それはＲＵを消去し、その後メモリからのデータをＲＵにプログラムし、終了する。
【００２６】
図１９は、参考セル側の検出比を用いた「１」チャージゲインセル及び「０」チャージロスセルのリフレッシュ動作のフロー図を示す。処理は、一定のゲート電圧Ｖｇを用いてセルを読み込むことによって始まる。次に、検出比Ａ（１：１）は、Ｖ〔Ｉｃｅｌｌ〕＞Ｖ〔Ｉｒｅｆ〕を判断する。仮に、Ｖ〔Ｉｃｅｌｌ〕がＶ〔Ｉｒｅｆ〕よりも低い場合、検出比Ｃ（１：Ｙ、Ｙ＜１）は、Ｖ〔（Ｉｃｅｌｌ−０）〕＞Ｖ〔（Ｉｒｅｆ）ｘ（Ｙ）〕を判断する。
【００２７】
もし、Ｖ〔（Ｉｃｅｌｌ−０）〕がＶ〔（Ｉｒｅｆ）ｘ（Ｙ）〕よりも低い場合、最後のセルであるかを判断するテストが行われる。もし、最後のセルである場合は、処理は終了する。もし、最後のセルでない場合は、処理は次のセルの為に再スタートする。しかし、Ｖ〔（Ｉｃｅｌｌ−０）〕がＶ〔Ｉｒｅｆ〕よりも大きい場合、アルゴリズムはセルをリフレッシュし、再プログラムする。その後、それはセルが最後のセルであるかをテストする。
【００２８】
もし、検出比Ａ（１：１）がＶ〔Ｉｃｅｌｌ〕がＶ〔Ｉｒｅｆ〕よりも大きいことを発見した場合、検出比Ｂ（１：Ｘ、Ｘ＞１）は、Ｖ〔（Ｉｃｅｌｌ−１）〕＞Ｖ〔（Ｉｒｅｆ）ｘ（Ｘ）〕を判断する。もし、Ｖ〔（Ｉｃｅｌｌ−１）〕がＶ〔（Ｉｒｅｆ）ｘ（Ｘ）〕よりも大きい場合、最後のセルであるかを判断するテストが行われる。もし、最後のセルである場合は、処理は終了する。もし、Ｖ〔（Ｉｃｅｌｌ−１）〕がＶ〔（Ｉｒｅｆ）ｘ（Ｘ）〕よりも低い場合、それはＲＵからメモリへデータを読み込み、その後それはＲＵを消去し、その後メモリからのデータをＲＵにプログラムし、終了する。
【００２９】
図２０乃至２２は、フラッシュメモリの参考セル側の検出比を示すところ、図２０はハイ電圧チャージロスセルを判断し、図２１はロー電圧チャージゲインセルを判断し、さらに図２２はハイ電圧チャージロスセル及びロー電圧チャージゲインセルの両者を判断する。図２０乃至２２は、セル電流を電圧に直接変換する電流―電圧コンバーターを示す。
【００３０】
図２３は、ＳＡ信号の電圧に対する図２０乃至２２の検出比Ａ、Ｂ、及びＣＲＷＬ電圧を示す。例えば、Ｉｒｅｆ−ＲＥ＝（３／２）ｘ（Ｉｒｅｆ）及びＩｒｅｆ−Ｒ＝（１／２）ｘ（Ｉｒｅｆ）である。
【００３１】
図２４は、ＳＡ信号の電流―電圧の図を示し、図２５は、「０」チャージロスセルのリフレッシュ動作の為の参考セルのフロー図を示す。図２５のフロー図は、一定のゲート電圧Ｖｇを用いてセルを読み込むことで開始し、その後、Ｉｒｅｆセルが、Ｖ〔Ｉｃｅｌｌ−１〕＞Ｖ〔Ｉｒｅｆ〕＞Ｖ〔Ｉｃｅｌｌ−０〕を決定することにより０／ハイ電圧又は１／ロー電圧を判断する方法を示す。もし、Ｖ〔Ｉｃｅｌｌ〕がＶ〔Ｉｒｅｆ〕よりも大きい場合、他のテストがこれが最後のセルであるかを判断する。仮に、それが最後のセルでない場合は、それは次にセルを読み再スタートする。しかし、もしＶ〔Ｉｃｅｌｌ〕がＶ〔Ｉｒｅｆ〕よりも低い場合は、その後Ｉｒｅｆ−Ｒセルが、リフレッシュする必要がある原型の０ビットを示すＶ〔Ｉｒｅｆ―Ｒ〕＜Ｖ〔（Ｉｃｅｌｌ−０）〕、又はチャージロスビットを示すＶ〔Ｉｒｅｆ―Ｒ〕＞Ｖ〔（Ｉｃｅｌｌ−０）〕を決定することによって０／ハイ電圧の為にセルを判断する。図２０乃至２２は、セル電流を電圧に直接変換するＩ−Ｖコンバーターを示す。
【００３２】
図２６は、ＳＡ信号の電流―電圧グラフを示し、図２７は、「１」チャージゲインセルのリフレッシュ動作のフロー図を示す。図２７のフロー図は、一定のゲート電圧でセルを読み込むことで開始し、ＩｒｅｆセルがＶ〔Ｉｃｅｌｌ−１〕＞Ｖ〔Ｉｒｅｆ〕＞Ｖ〔Ｉｃｅｌｌ−０〕を判断することで０／ハイ電圧又は１／ロー電圧を決定する。もし、Ｖ〔Ｉｃｅｌｌ〕がＶ〔Ｉｒｅｆ〕よりも低い場合、それが最後のセルであるかを判断する他のテストが行われる。もし、それが最後のセルであれば処理は終了する。もし、それが最後のセルでない場合は、それは次のセルを読み込み、再度スタートする。しかしながら、Ｖ〔Ｉｃｅｌｌ〕がＶ〔Ｉｒｅｄ〕よりも高い場合、Ｉｒｅｆ−ＲＥは、リフレッシュが必要なチャージゲインビットを示す原型の「１」ビット又はＶ〔Ｉｒｅｆ−ＲＥ〕＞Ｖ〔（Ｉｃｅｌｌ−１）〕Ｖ〔Ｉｒｅｆ−ＲＥ〕＜Ｖ〔（Ｉｃｅｌｌ−１）〕を決定することによって１／ロー電圧の為にセルを判断する。もし、Ｉｒｅｆ−ＲＥがＶ〔（Ｉｃｅｌｌ−１）〕がＶ〔Ｉｒｅｆ−ＲＥ〕よりも高いと判断した場合、テストがこれが最後のセルであるかを判断する。もし、それが最後のセルであれば、処理は終了する。もし、それが最後のセルでない場合、次のセルの為に処理は再開する。
しかしながら、もし、Ｉｒｅｆ−ＲＥセルがＶ〔（Ｉｃｅｌｌ−１）〕がＶ〔Ｉｒｅｆ−ＲＥ〕よりも低いと判断した場合、それはリフレッシュユニット（ＲＵ）からのデータをメモリへ読み込み、それはＲＵを消去し、さらにメモリからのデータをＲＵをプログラムし、終了する。
【００３３】
図２８は、「１」チャージゲインセル及び「０」チャージロスセルの両者のリフレッシュ動作の参考セルのフロー図を示す。処理は、一定のゲート電圧Ｖｇを用いて開始し、Ｉｒｅｆセルは、Ｖ〔Ｉｃｅｌｌ〕＞Ｖ〔Ｉｒｅｆ〕判断する。もし、Ｖ〔Ｉｃｅｌｌ〕がＶ〔Ｉｒｅｆ〕よりも低い場合、Ｉｒｅｆ−Ｒは、Ｖ〔（Ｉｃｅｌｌ−０）〕＞Ｖ〔Ｉｒｅｆ−Ｒ〕を判断する。もし、Ｖ〔（Ｉｃｅｌｌ−０）〕がＶ〔Ｉｒｅｆ−Ｒ〕よりも低い場合、他のテストはが、これが最後のセルかを判断する。もし、それが最後のセルである場合、処理は終了する。もし、それが最後のセルでない場合、それは次のセルを読み込み、処理は再スタートする。しかしながら、もし、Ｖ〔（Ｉｃｅｌｌ−０）〕がＶ〔Ｉｒｅｆ−Ｒ〕よりも大きい場合、アルゴリズムはセルをリフレッシュし、再プログラムする。そして、それは最後のセルについて、セルをテストする。
【００３４】
もし、Ｖ〔Ｉｃｅｌｌ〕がＶ〔Ｉｒｅｆ〕よりも大きい場合、Ｉｒｅｆ−ＲＥセルは、Ｖ〔（Ｉｃｅｌｌ−１）〕＞Ｖ〔Ｉｒｅｆ−ＲＥ〕を判断する。もし、Ｖ〔（Ｉｃｅｌｌ−１）〕がＶ〔Ｉｒｅｆ−ＲＥ〕よりも大きい場合、テストはそれが最後のセルであるかを判断する。もし、それが最後のセルであれば、処理は終了する。もし、Ｖ〔（Ｉｃｅｌｌ−１）〕がＶ〔Ｉｒｅｆ−ＲＥ〕よりも低い場合、それはリフレッシュユニット（ＲＵ）からデータを読み込み、ＲＵを消去し、さらにメモリからのデータをＲＵにプログラムし、終了する。
【００３５】
図２９乃至３２は、フラッシュメモリの参考セル側のカレントミラーの概略図であるところ、図２９はハイ電圧チャージロスセルを判断し、図３０はロー電圧チャージゲインセルを判断し、さらに図３１はハイ電圧チャージロスセル及びロー電圧チャージロスセルの両者を判断する。
【００３６】
図３２は、ＳＡ信号電圧に対する図２９乃至３１のカレントミラーＡ、Ｂ、及びＣのＲＷＬ電圧を示す。例えば、参考電流がＩｒｅｆであり、Ｘ＝３／２、ＩｒｅｆＢ＝（３／２）ｘ（Ｉｒｅｆ）であり、Ｙ＝１／２ｘであり、Ｉｒｅｆ−Ｃ＝（１／２）ｘ（Ｉｒｅｆ）である。
【００３７】
図３３乃至図３６は、フラッシュメモリのセル側のカレントミラーを示すところ、図３３はハイ電圧チャージロスセルを判断し、図３４はロー電圧チャージゲインセルを判断し、さらに図３５はハイ電圧チャージロスセル及びロー電圧チャージゲインセルの両者を判断する。
【００３８】
図３６は、ＳＡ信号電圧に対する図３３乃至３５のカレントミラーのＷＬ電圧を示す。
例えば、セル電流はＩｃｅｌｌであり、Ｘ＝２ならばセル電流＝２ｘ（Ｉｃｅｌｌ）、及びＹ＝２／３、ならばセル電流＝（２／３）ｘ（Ｉｃｅｌｌ）である。
【００３９】
図３７は、ＳＡ信号の電流―電圧グラフであり、図３８は、「０」チャージロスセルの参考セル側のカレントミラーのリフレッシュ動作のフロー図である。図３８は、一定のゲート電圧Ｖｇでセルを読み込むことで開始し、カレントミラーＡはＶ〔Ｉｃｅｌｌ−１〕＞Ｖ〔Ｉｒｅｆ〕＞Ｖ〔Ｉｃｅｌｌ−０〕を決定することで０／ハイ電圧又は１／ロー電圧の為にセルを判断する。もし、Ｖ〔Ｉｃｅｌｌ〕がＶ〔Ｉｒｅｆ〕よりも大きい場合、他のテストが最後のセルであるかを判断する。もし、それが最後のセルであれば、処理は終了する。もし、テストが最後のセルでないと判断した場合、処理は終了する。もし、テストが最後のセルでないと判断した場合、それは次のセルを読み込み、再度スタートする。しかしながら、Ｖ〔Ｉｃｅｌｌ〕がＶ〔Ｉｒｅｆ〕よりも低い場合、原型の「０」ビットを示すＶ〔Ｉｒｅｆ−Ｃ〕＝Ｖ〔（Ｉｒｅｆ）ｘ（Ｙ）〕＞Ｖ〔Ｉｃｅｌｌ−０〕、又はＶ〔Ｉｒｅｆ−Ｃ〕０／ハイ電圧セルを判断する為にカレントミラーＣはセルを判断する。例えば、カレントミラーＡは、Ｉｒｅｆを使用しＹ＝１／２、カレントミラーＣ参考電流はＩｒｅｆ−Ｃ＝（１／２）ｘＩｒｅｆと同一となる。
【００４０】
図３９は、ＳＡ信号の電流―電圧グラフを示し、図４０はセル側のカレントミラーを用いた「１」チャージゲインセルのリフレッシュ動作のフロー図を示す。図４０は、一定のゲート電圧Ｖｇを用いてセルを読み込むことで開始し、その後カレントミラーＡがＶ〔Ｉｃｅｌｌ−１〕＞Ｖ〔Ｉｒｅｆ〕＞Ｖ〔Ｉｃｅｌｌ−０〕を決定することで０／ハイ電圧又は１／ロー電圧の為にセルを判断する処理を示す。もし、Ｖ〔Ｉｃｅｌｌ〕がＶ〔Ｉｒｅｆ〕よりも低い場合、他のテストがそれが最後のセルであるかを判断する。もし、それが最後のセルであれば処理は終了する。もしそれが最後のセルでなければ、それは次のセルを読み込み、再度スタートする。
【００４１】
しかしながら、もしＶ〔Ｉｃｅｌｌ〕がＶ〔Ｉｒｅｆ〕よりも大きい場合、カレントミラーＢは、リフレッシュが必要なチャージゲインビットを示す原型の「１」ビット又はＶ〔Ｉｒｅｆ−Ｂ〕＝Ｖ〔（Ｉｒｅｆ）ｘ（Ｘ）〕＞Ｖ〔Ｉｃｅｌｌ−１〕を示すＶ〔Ｉｒｅｆ−Ｂ〕＝Ｖ〔（Ｉｒｅｆ）ｃ（Ｘ）〕＜Ｖ〔Ｉｃｅｌｌ−１〕を決定することで１／ロー電圧セルを判断する。もし、カレントミラーＢがＶ〔（Ｉｃｅｌｌ−１）〕がＶ〔Ｉｒｅｆ−Ｂ〕よりも大きいと判断した場合、テストはそれが最後のセルであるかを判断する。もし、それが最後のセルであれば、処理は終了する。もし、それが最後のセルでなければ、処理は次のセルについて再スタートする。しかしながら、もしＶ〔（Ｉｃｅｌｌ−１）〕がＶ〔Ｉｒｅｆ−Ｂ〕よりも低い場合、それはリフレッシュユニット（ＲＵ）からメモリへデータを読み込み、ＲＵを消去し、さらにメモリからのデータをＲＵにプログラムし、終了する。
【００４２】
図４１は、参考セル側のカレントミラーを用いた「１」チャージゲインセル及び「０」チャージロスセルのリフレッシュのフロー図を示す。処理は、一定のゲート電圧Ｖｇを用いて開始し、次にカレントミラーＡは、Ｖ〔Ｉｃｅｌｌ〕＞Ｖ〔Ｉｒｅｆ〕を判断する。もし、Ｖ〔Ｉｃｅｌｌ〕がＶ〔Ｉｒｅｆ〕よりも低い場合、カレントミラーＣはＶ〔（Ｉｃｅｌｌ−０）〕＞Ｖ〔Ｉｒｅｆ−Ｃ〕を判断する。もし、Ｖ〔（Ｉｃｅｌｌ−０）〕がＶ〔Ｉｒｅｆ−Ｃ〕よりも低い場合、他のテストはそれが最後のセルであるかを判断する。もし、それが最後のセルであれば、処理は終了する。もし、それが最後のセルでない場合は、それは次のセルを読み込み、処理を再スタートする。しかしながら、もし、Ｖ〔（Ｉｃｅｌｌ−０）〕がＶ〔Ｉｒｅｆ−Ｃ〕よりも大きい場合、それはセルをリフレッシュし、再プログラムする。その後、それは最後のセルであるかをテストする。
【００４３】
もし、Ｖ〔Ｉｃｅｌｌ〕がＶ〔Ｉｒｅｆ〕よりも大きい場合、カレントミラーＢは、Ｖ〔（Ｉｃｅｌｌ−１）〕＞Ｖ〔Ｉｒｅｆ−Ｂ〕を判断する。もし、Ｖ〔（Ｉｃｅｌｌ−１）〕がＶ〔Ｉｒｅｆ−Ｂ〕よりも大きい場合、テストはそれが最後のセルであるかを判断する。もし、それが最後のセルならば、処理は終了する。もし、Ｖ〔（Ｉｃｅｌｌ−１）〕がＶ〔Ｉｒｅｆ−Ｂ〕よりも低い場合、それはリフレッシュユニット（ＲＵ）からデータを読み込み、その後、ＲＵを消去し、さらにメモリからのデータをＲＵにプログラムし終了する。
【００４４】
図４２は、１セクタ当たり１Ｍｂｉｔのセクタを２５６個含むフラッシュメモリのセクタ地図を示す。それは、それぞれのセクタが４個のリフレッシュユニット（ＲＵ）含み、それぞれのＲＵが対応するリフレッシュインデックス（ＲＩ）を有することを示す。それぞれの操作において、それがセクタを消去、パワーオン又はスリープモードであろうと、リフレッシュ処理は組み込まれた機能となる。
【００４５】
図４３は、セル側の差異の検出比処理を用いた高閾値電圧チャージロスセルのブロック図を示す。例えば、検出比Ａは１：１であり、検出比Ｂは１：Ｘ、Ｘ＞１、例えばＸ＝２である。
【００４６】
図４４は、ブロック図を示すセル側の差異の検出比処理を用いた低閾値電圧チャージゲインセルのブロック図を示す。例えば、検出比Ａは１：１であり、検出比Ｂは１：Ｙ、Ｙ＜１、例えばＹ＝２／３である。
【００４７】
図４５は、ブロック図を示すセル側の差異の検出比処理を用いた高閾値電圧チャージロスセル及び低閾値電圧チャージゲインセルの両者のブロック図を示す。例えば、検出比Ａは１：１であり、検出比Ｂは１：Ｘ、Ｘ＞１、例えばＸ＝２であり、さらに検出比Ｃは１：Ｙ、Ｙ＜１、例えばＹ＝２／３である。
【００４８】
図４６は、参考セル側の差異の検出比処理を用いた高閾値電圧チャージロスセルのブロック図を示す。例えば、検出比Ａは１：１であり、検出比Ｃは１：Ｙ、Ｙ＜１、例えばＸ＝１／２である。
【００４９】
図４７は、参考セル側の差異の検出比処理を用いた低閾値電圧チャージゲインセルのブロック図を示す。例えば、検出比Ａは１：１であり、検出比Ｂは１：Ｘ、Ｘ＞１、例えばＸ＝３／２である。
【００５０】
図４８は、ブロック図を示す参考セル側の差異の検出比処理を用いた高閾値電圧チャージロスセル及び低閾値電圧チャージゲインセルの両者のブロック図を示す。例えば、検出比Ａは１：１であり、検出比Ｂは１：Ｘ、Ｘ＞１、例えばＸ＝３／２であり、さらに検出比Ｃは１：Ｙ、Ｙ＜１、例えばＹ＝１／２である。
【００５１】
図４９は、参考セル側の差異の検出比処理を用いた高閾値電圧チャージロスセルのブロック図を示す。例えば、Ｉｒｅｆ−Ｒ＝（１／２）ｘ（Ｉｒｅｆ）である。
【００５２】
図５０は、参考セル側の差異の検出比処理を用いた低閾値電圧チャージゲインセルのブロック図を示す。例えば、Ｉｒｅｆ−ＲＥ＝（３／２）ｘ（Ｉｒｅｆ）である。
【００５３】
図５１は、参考セル側の差異の検出比処理を用いた高閾値電圧チャージロスセル、及び低閾値電圧チャージゲインセルの両者のブロック図を示す。例えば、Ｉｒｅｆ−ＲＥ＝（３／２）ｘ（Ｉｒｅｆ）であり、Ｉｒｅｆ−Ｒ＝（１／２）ｘ（Ｉｒｅｆ）である。
【００５４】
図５２は、参考セル側のカレントミラーでのカレントミラー処理を用いて高閾値電圧チャージロスセルをリフレッシュするブロック図を示す。例えば、カレントミラーＡはＩｒｅｆであり、カレントミラーＣ、Ｉｒｅｆ−Ｃ＝（１／２）ｘ（Ｉｒｅｆ）である。
【００５５】
図５３は、参考セル側のカレントミラーでのカレントミラー処理を用いて低閾値電圧チャージゲインセルをリフレッシュするブロック図を示す。例えば、カレントミラーＡはＩｒｅｆであり、カレントミラーＢ、Ｉｒｅｆ−Ｂ＝（３／２）ｘ（Ｉｒｅｆ）である。
【００５６】
図５４は、参考セル側のカレントミラーでのカレントミラー処理を用いて高閾値電圧チャージロスセル及び低閾値電圧チャージゲインセルをリフレッシュするブロック図を示す。例えば、カレントミラーＡはＩｒｅｆであり、カレントミラーＢはＩｒｅｆ−Ｂ＝（３／２）ｘ（Ｉｒｅｆ）であり、さらにカレントミラーＣ、Ｉｒｅｆ−Ｃ＝（１／２）ｘ（Ｉｒｅｆ）である。
【００５７】
図５５は、フロー図を示し、図５６は参考セル側でのリフレッシュ動作で必要なチャージロスビットを示す。
【００５８】
図５５は、参考セル側の「０」セルチャージロスの検出比を用いたリフレッシュアルゴリズムのフロー図を示す。アルゴリズムは、Ｎに０をセットすることで開始する。それは、ＲＩ（Ｎ）を読み込み、状態を判断する。もし、ＲＩ（Ｎ）＝０であれば、Ｎは１によってインクリメントされる。その後、それはＮの値と１０２４を比較する。もし、Ｔｒｕｅならば、それはＲＩ（０）からＲＩ（１０２３）を「１」で消去し、アルゴリズムは最初から再スタートする。もし、Ｆａｌｓｅならば、アルゴリズムはＲＩ（Ｎ）のＮの次の値のＮで再スタートする。
【００５９】
仮に、ＲＩ（Ｎ）＝「１」であれば、それはＲＵ（Ｎ）をリフレッシュする。次に、セルは一定のゲート電圧Ｖｇによって読み込まれ、さらに検出比ＡはＶ〔Ｉｃｅｌｌ〕＞Ｖ〔Ｉｒｅｆ〕を判断する。もし、Ｖ〔Ｉｃｅｌｌ〕がＶ〔Ｉｒｅｆ〕よりも大きい場合、それは最後のセルの為にセルをテストする。もし違えば、それは一定のゲート電圧Ｖｇで次のセルを読み込み、検出比Ａを再スタートする。もしそれが最後のセルであれば、それはＲＩ（Ｎ）を「０」でプログラムし、アルゴリズムは終了する。もし、Ｖ〔Ｉｃｅｌｌ〕がＶ〔Ｉｒｅｆ〕よりも低い場合、検出比ＣはＶ〔Ｉｃｅｌｌ−０〕＞Ｖ〔（Ｉｒｅｆ）ｘ（Ｙ）〕を判断する。もし、Ｖ〔Ｉｃｅｌｌ−０〕がＶ〔（Ｉｒｅｆ）ｘ（Ｙ）〕よりも低い場合、最後のセルのテストが行われる。もしＦａｌｓｅならば、それは次のセルを一定のゲート電圧Ｖｇで読み込み、さらに検出比Ａを再スタートする。もしＴｒｕｅならば、それはＲＩ（Ｎ）に０をプログラムし、アルゴリズムは終了する。もし、Ｖ〔Ｉｃｅｌｌ−０〕がＶ〔（Ｉｒｅｆ）ｘ（Ｙ）〕よりも高い場合、それはセルをリフレッシュし、再プログラムする。その後、それは最後のセルのテストを行う。もし、Ｆａｌｓｅならば、それは一定のゲート電圧Ｖｇで次のセルを読み込み、さらに検出比Ａを再スタートする。もし、Ｔｒｕｅならば、それはＲＩ（Ｎ）に０をプログラムし、アルゴリズムは終了する。
【００６０】
図５６は、どのビットが検出比Ａ及びＣを用いたリフレッシュが必要かの例を示す。例えば、検出比Ａが１：１であり検出比Ｃが１：Ｙ、Ｙ＝１／２であり、図５６はリフレッシュがどこで行われるかを示す。
【００６１】
図５７及び５８は、どのチャージゲインビットが参考セル側でリフレッシュが必要かのフロー図を示す。
【００６２】
図５７は、参考セル側の「１」セルチャージゲインの為に検出比を用いたリフレッシュアルゴリズムのフロー図を示す。アルゴリズムは、Ｎを０にセットすることで開始する。それは、ＲＩ（Ｎ）を読み、状態を判断する。もし、ＲＩ（Ｎ）＝０ならば、Ｎは１インクリメントされる。その後、それはＮと１０２４を比較する。もし、Ｔｒｕｅならば、それはＲＩ（０）からＲＩ（１０２３）を「１」によって消去し、アルゴリズムは、最初から再スタートする。もし、Ｆａｌｓｅならば、アルゴリズムは次のＮの値の為にＲＩ（Ｎ）を読み、再スタートする。
【００６３】
仮に、ＲＩ（Ｎ）＝「１」であれば、それはＲＵ（Ｎ）をリフレッシュする。次に、セルは一定のゲート電圧Ｖｇによって読み込まれ、検出比ＡはＶ〔Ｉｃｅｌｌ〕＞Ｖ〔Ｉｒｅｆ〕を判断する。もし、Ｖ〔Ｉｃｅｌｌ〕がＶ〔Ｉｒｅｆ〕よりも低い場合、それはセルが最後のセルであるかをテストする。もし、Ｆａｌｓｅならば、それは一定のゲート電圧Ｖｇで次のセルを読み込み、検出比Ａを再スタートする。もしそれが最後のセルであれば、それはＲＩ（Ｎ）に０をプログラムし、アルゴリズムは終了する。
【００６４】
もし、Ｖ〔Ｉｃｅｌｌ〕がＶ〔Ｉｒｅｆ〕よりも多き場合、検出比ＢはＶ〔Ｉｃｅｌｌ−１〕＞Ｖ〔（Ｉｒｅｆ）ｘ（Ｘ）〕を判断する。もし、Ｖ〔Ｉｃｅｌｌ−１〕がＶ〔（Ｉｒｅｆ）ｘ（Ｘ）〕よりも高い場合、最後のセルの為のテストが行われる。もし、Ｆａｌｓｅならばそれは一定のゲートでＶｇで次のセルを読み込み、検出比Ａを再スタートする。もし、ＴｒｕｅならばそれはＲＩ（Ｎ）を「０」でプログラムし、アルゴリズムは終了する。もし、Ｖ〔Ｉｃｅｌｌ−１〕がＶ〔（Ｉｒｅｆ）ｘ（Ｘ）〕よりも小さい場合、それはＲＵ（Ｎ）のデータをメモリへ読み込み、ＲＵ（Ｎ）を消去し、メモリのデータをＲＵ（Ｎ）にプログラムする。最後に、それはＲＩ（Ｎ）に「０」をプログラムし終了する。
【００６５】
図５８は、どのビットが検出比Ａ及びＢを用いたリフレッシュが必要かの例を示す。例えば、検出比Ａが１：１であり検出日Ｂが１：Ｘ、Ｘ＝３／２であり、図５８はリフレッシュがどこで行われるかを示す。
【００６６】
図５９は、セル側の検出比の「０」チャージロス及び「１」チャージゲインの両者のリフレッシュ動作のアルゴリズムを示す。
【００６７】
図５７は、参考セル側の「０」セルチャージロス及び「１」セルチャージゲインの両者の為に検出比を用いたリフレッシュアルゴリズムのフロー図を示す。
【００６８】
アルゴリズムは、Ｎを０にセットすることで開始し、次にＲＩ（Ｎ）を読む。もし、ＲＩ（Ｎ）＝０ならば、Ｎは１インクリメントされＮ＝１０２４の為にテストする。もし、Ｎが１０２４であれば、それはＲＩ（０）からＲＩ（１０２３）を「１」によって消去し、アルゴリズムは次のＮの値の為にＲＩ（Ｎ）を読み込む。もし、ＲＩ（Ｎ）が１ならば、アルゴリズムはＲＵ（Ｎ）をリフレッシュする。次に、一定のゲート電圧Ｖｇによってセルは読み込まれ、検出比ＡはＶ〔Ｉｃｅｌｌ〕＞Ｖ〔Ｉｒｅｆ〕を判断する。もし、Ｖ〔Ｉｃｅｌｌ〕がＶ〔Ｉｒｅｆ〕よりも低い場合、検出比ＣはＶ〔Ｉｃｅｌｌ−０〕＞Ｖ〔（Ｉｒｅｆ）ｘ（Ｙ）〕を判断する。もし、Ｖ〔Ｉｃｅｌｌ−０〕が高い場合、それはセルをリフレッシュし、再プログラムする。その後、最後のセルの為のテストをする。もし、それが最後のセルでない場合、それは一定のゲート電圧Ｖｇによって次のセルを読み込み、検出比Ａを再スタートする。もしそれが最後のセルならば、それはＲＩ（Ｎ）を「０」でプログラムしアルゴリズムは終了する。
【００６９】
しかしながら、もし、Ｖ〔Ｉｃｅｌｌ〕が高い場合、検出比ＢはＶ〔Ｉｃｅｌｌ−１〕＞Ｖ〔（Ｉｒｅｆ）ｘ（Ｘ）〕を判断する。もし、Ｖ〔Ｉｃｅｌｌ−１〕が高い場合、それは最後のセルの為のテストをする。もし、Ｖ〔Ｉｃｅｌｌ−１〕が低い場合、それはＲＵ（Ｎ）のデータをメモリに読み込み、その後ＲＵ（Ｎ）を消去する。次に、それはメモリからのデータをＲＵ（Ｎ）へプログラムし、ＲＩ（Ｎ）を「０」にプログラムし、終了する。
【００７０】
本発明の変形した実施例では、実際の参考セルの参考セル電流ではなく、Ｉｒｅｆは参考セルの電流レベルで生成されていることも可能である。
【００７１】
本発明の好適な実施例の一つとしては、単一の低いゲート制御電圧は、約０Ｖから約１０Ｖの範囲とすることが可能である。
【００７２】
図２９では、カレント（Ａ）及びカレント（Ｃ）を生成する為にカレントミラーを使用した。カレント（Ａ）は、参考セル電流と同一の値であり、Ｉｒｅｆ及びカレント（Ｃ）は参考セル電流のＩｒｅｆの半分の値である。
【００７３】
本発明はプロセス展開時間を短くし、さらに複雑なプロセスを増やしていない回路設計方法を用いて高いデータ保持力と耐久性を供給する。
【００７４】
当業者がその広い発明のコンセプトを逸脱せずに上記で説明した実施例に変更を加えることは感謝されるであろう。
【００７５】
すなわち、本発明は公開された具体的な例に制限されていない理解され、るが、しかし、添付された請求項によって特定された本発明の精神及び範囲の修正部分をカバーすると意図するものである。
【図面の簡単な説明】
【００７６】
【図１】フラッシュハイ電圧（閾値電圧）及び読み込んだ余白のロー電圧の図である。
【図２】フラッシュメモリのセル側の検出比を示す図である。
【図３】フラッシュメモリのセル側の検出比を示す図である。
【図４】フラッシュメモリのセル側の検出比を示す図である。
【図５】ＳＡ信号の電圧に対する、図２乃至図４の検出比のＷＬ電圧を示す図である。
【図６】フラッシュメモリ側のセルの参考値の検出比の概略図である。
【図７】フラッシュメモリ側のセルの参考値の検出比の概略図である。
【図８】フラッシュメモリ側のセルの参考値の検出比の概略図である。
【図９】ＳＡの信号電圧に対する、図６乃至図８の検出比Ａ、Ｂ、及びＣのＲＷＬ電圧を示すグラフである。
【図１０】ＳＡ信号の電流―電圧のグラフである。
【図１１】セル側の検出比を用いた「０」チャージロスセルのリフレッシュ動作の検出比のフロー図である。
【図１２】ＳＡ信号の電流―電圧のグラフである。
【図１３】セル側の検出比を用いた「１」チャージゲインセルのリフレッシュ動作の検出比のフロー図である。
【図１４】セル側の検出比を用いてリフレッシュされる「１」チャージゲインセル及び「０」チャージロスセルの両方のフロー図を示す。
【図１５】ＳＡ信号の電流―電圧のグラフである。
【図１６】セル側の検出比を用いた「０」チャージロスセルのリフレッシュ動作のフロー図である。
【図１７】ＳＡ信号の電流―電圧のグラフである。
【図１８】参考セル側の検出比を用いた「１」チャージゲインセルのリフレッシュ動作のフロー図を示である。
【図１９】参考セル側の検出比を用いた「１」チャージゲインセル及び「０」チャージロスセルのリフレッシュ動作のフロー図である。
【図２０】フラッシュメモリの参考セル側の検出比を示す図である。
【図２１】フラッシュメモリの参考セル側の検出比を示す図である。
【図２２】フラッシュメモリの参考セル側の検出比を示す図である。
【図２３】ＳＡ信号の電圧に対する図２０乃至２２の検出比Ａ、Ｂ、及びＣＲＷＬ電圧のグラフである。
【図２４】ＳＡ信号の電流―電圧のグラフである。
【図２５】「０」チャージロスセルのリフレッシュ動作の為の参考セルのフロー図である。
【図２６】ＳＡ信号の電流―電圧のグラフである。
【図２７】「１」チャージゲインセルのリフレッシュ動作のフロー図である。
【図２８】「１」チャージゲインセル及び「０」チャージロスセルの両者のリフレッシュ動作の参考セルのフロー図である。
【図２９】フラッシュメモリの参考セル側のカレントミラーの概略図である。
【図３０】フラッシュメモリの参考セル側のカレントミラーの概略図である。
【図３１】フラッシュメモリの参考セル側のカレントミラーの概略図である。
【図３２】フラッシュメモリの参考セル側のカレントミラーの概略図である。
【図３３】フラッシュメモリのセル側のカレントミラーを示す図である。
【図３４】フラッシュメモリのセル側のカレントミラーを示す図である。
【図３５】フラッシュメモリのセル側のカレントミラーを示す図である。
【図３６】フラッシュメモリのセル側のカレントミラーを示す図である。
【図３７】ＳＡ信号の電流―電圧のグラフである。
【図３８】「０」チャージロスセルの参考セル側のカレントミラーのリフレッシュ動作のフロー図である。
【図３９】ＳＡ信号の電流―電圧のグラフである。
【図４０】セル側のカレントミラーを用いた「１」チャージゲインセルのリフレッシュ動作のフロー図である。
【図４１】参考セル側のカレントミラーを用いた「１」チャージゲインセル及び「０」チャージロスセルのリフレッシュのフロー図である。
【図４２】フラッシュメモリのセクタ地図である。
【図４３】リフレッシュするセルの図である。
【図４４】リフレッシュするセルの図である。
【図４５】リフレッシュするセルの図である。
【図４６】リフレッシュするセルの図である。
【図４７】リフレッシュするセルの図である。
【図４８】リフレッシュするセルの図である。
【図４９】リフレッシュするセルの図である。
【図５０】リフレッシュするセルの図である。
【図５１】リフレッシュするセルの図である。
【図５２】リフレッシュするセルの図である。
【図５３】リフレッシュするセルの図である。
【図５４】リフレッシュするセルの図である。
【図５５】リフレッシュするセルのフロー図である。
【図５６】リフレッシュが必要な参考セル側のチャージロスビットを示す。
【図５７】どのチャージゲインビットが参考セル側でリフレッシュが必要かのフロー図である。
【図５８】どのチャージゲインビットが参考セル側でリフレッシュが必要かのフロー図である。
【図５９】セル側の検出比の「０」チャージロス及び「１」チャージゲインの両者のリフレッシュ動作のアルゴリズムを示す。
【図１】
2007035242.tif 000003
【図２】
2007035242.tif 000004
【図３】
2007035242.tif 000005
【図４】
2007035242.tif 000006
【図５】
2007035242.tif 000007
【図６】
2007035242.tif 000008
【図７】
2007035242.tif 000009
【図８】
2007035242.tif 000010
【図９】
2007035242.tif 000011
【図１０】
2007035242.tif 000012
【図１１】
2007035242.tif 000013
【図１２】
2007035242.tif 000014
【図１３】
2007035242.tif 000015
【図１４】
2007035242.tif 000016
【図１５】
2007035242.tif 000017
【図１６】
2007035242.tif 000018
【図１７】
2007035242.tif 000019
【図１８】
2007035242.tif 000020
【図１９】
2007035242.tif 000021
【図２０】
2007035242.tif 000022
【図２１】
2007035242.tif 000023
【図２２】
2007035242.tif 000024
【図２３】
2007035242.tif 000025
【図２４】
2007035242.tif 000026
【図２５】
2007035242.tif 000027
【図２６】
2007035242.tif 000028
【図２７】
2007035242.tif 000029
【図２８】
2007035242.tif 000030
【図２９】
2007035242.tif 000031
【図３０】
2007035242.tif 000032
【図３１】
2007035242.tif 000033
【図３２】
2007035242.tif 000034
【図３３】
2007035242.tif 000035
【図３４】
2007035242.tif 000036
【図３５】
2007035242.tif 000037
【図３６】
2007035242.tif 000038
【図３７】
2007035242.tif 000039
【図３８】
2007035242.tif 000040
【図３９】
2007035242.tif 000041
【図４０】
2007035242.tif 000042
【図４１】
2007035242.tif 000043
【図４２】
2007035242.tif 000044
【図４３】
2007035242.tif 000045
【図４４】
2007035242.tif 000046
【図４５】
2007035242.tif 000047
【図４６】
2007035242.tif 000048
【図４７】
2007035242.tif 000049
【図４８】
2007035242.tif 000050
【図４９】
2007035242.tif 000051
【図５０】
2007035242.tif 000052
【図５１】
2007035242.tif 000053
【図５２】
2007035242.tif 000054
【図５３】
2007035242.tif 000055
【図５４】
2007035242.tif 000056
【図５５】
2007035242.tif 000057
【図５６】
2007035242.tif 000058
【図５７】
2007035242.tif 000059
【図５８】
2007035242.tif 000060
【図５９】
2007035242.tif 000061
【外国語明細書】
Title of Invention
Method for refreshing a flash memory
Field of the Invention
The present invention relates to a method for testing whether a plurality of cells of a flash memory need to be refreshed.This application claims the benefit of U.S. Patent Application No. 60/694,052, filed on June 24, 2005, entitled “Method for refreshing a flash memory.”
Description of the Related Art
A flash memory is a solid-state device, which is a nonvolatile and rewritable memory that functions like a combination of RAM (random access memory) and a hard disk drive, and retains its data without power.  In a similar structure to EEPROMs, it has address lines, data lines and control lines and can employ a single transistor for each of its memory cells for storing a bit of information.  Address lines are unidirectional to the memory as an input and define the location where data is stored.  Data lines are bidirectional and are used for the input and output of data.  Control lines are used to specify a command for reading, programming and erasing.  Flash memory is a fast growing segment of the semiconductor industry and has many uses in digital cameras, cell phones, printers, PDAs and audio recorders and players for storing software and data.
Flash memory offers extremely fast access time, low power consumption and is relatively immune to shock and vibration.  Maintaining data integrity in a flash memory is an important issue in today's commercial and consumer electronic devices that employ flash memory.   
There are three operational functions for a flash memory.  The first function is the program (write) function for storing information or data to the memory cells.  The second function is the read function, where the data that is previously stored is read from the device for external processing. 
The data is retained in the device after the program or read function is complete.  The third function is an erase function, where the data is deleted from the memory cells and the memory cells are prepared for receiving new data.
A typical flash memory cell is shown in Figure 2 of U.S. Patent No. 5,365,486 (Schreck).  This flash memory cell is a modified NMOS (N-channel metal-oxide semiconductor) transistor with a floating gate.  The floating gate carries no negative charges and thus the raw state of the flash memory cells are 1's.
There are many ways to program, read, verify and refresh the contents of a cell in a flash memory.  For example, Figure 3a of U.S. Patent No. 5,365,486 (Schreck) shows two separate voltage levels for the control gate voltage that are used for comparing the cell.  First, the cell is read and compared to an elevated control gate voltage (42).  As a result of this read operation, it determines if the memory cell contains data (44).  If the memory cell contains data, then the next memory cell is processed (46).  If the initial test found the cell does not contain data (44), then it reads the memory cell at a lower control gate voltage (48).  After this read operation, it determines whether this memory cell contains data (50).  If the memory cell does not contain data, then the next memory cell is processed (46).  If the memory cell contains data, then it refreshes the memory cell (52) and the next memory cell is processed (46).
As shown in Figure 3a of U.S. Patent No. 5,365,486 (Schreck) and Figure 1 of U.S. Patent No. 5,768,193 (Lee et al.), each uses two different WL voltage (control gate voltage) levels to determine whether the cells require refreshing.  Since each WL voltage has a settling time, this influences the speed by increasing the time it takes to complete the operation.  In addition, the use of two WL voltage levels increases disturbance issues at the gate that affects reliability and data retention.
SUMMARY OF THE INVENTION
The present invention provides a method for refreshing a flash memory having a plurality of memory cells, wherein a single memory cell uses a constant control gate voltage, Vg, (i.e., WL voltage).  The embodiments of the present invention include refreshing a flash memory cell for programming, reading, erasing and power on stage operations.  An embedded algorithm is used to complete a comparison and determine which bits require refreshing during any operation, whether for programming, erasing, reading or the power on stage.  Using a single and lower control gate voltage, the embedded algorithm can prevent gate disturbance issues, and provide greater endurance, faster operation and better data retention.
The present invention improves prior art schemes by providing an embedded checking method for high/low Vt (threshold voltage) for charge loss/gain bits during the program, erase, read and power on stage operations.  Hence, the present invention method can detect higher charge loss bits and higher charge gain bits than prior art schemes.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTs
The many embodiments of the present invention, its advantages and concepts as related to the method for refreshing a flash memory are best understood by referring to the Figures.  
The following drawings provide examples of the invention.  However, the invention is not limited to the precise arrangements, instrumentalities, scales, and dimensions shown in these examples, which are provided mainly for illustration purposes only.
1. Definitions
The following definitions are provided to promote understanding of the invention.
a. sensing ratio -SA (sense amplifier) signal voltage divided by RWL (read wordline)
voltage
b. Icell - measured (actual) cell current 
c. Iref - reference cell current 
d. Icell-0 -cell current of a charge loss cell
e. Icell-1 - cell current of a charge gain cell
f. V[Icell] - converted voltage of the measured (actual) cell current
g. V[Iref] - converted voltage of the reference cell current
h. V[(Icell-0)] - converted voltage of current in a charge loss cell
i. V[(Icell-1)] - converted voltage of current in a charge gain cell
j. V[Iref-R] -  converted voltage of reference current of a charge loss cell
k. V[Iref-RE] - converted voltage of reference current of a charge gain cell
i. V[(Icell-0)x(X)] - converted voltage of a cell current of a charge loss cell using sensing ratio 1:X (X＞1)
j. V[(Icell-1)x(Y)] - converted voltage of a cell current of a charge gain cell using sensing ratio 1:Y (Y＜1)
k. V[(Iref)x(X)] - converted voltage of a reference cell current using sensing ratio 1:X (X＞1)
l. V[(Iref)x(Y)] - converted voltage of a reference cell current using sensing ratio 1:Y (Y＜1)
2. Detailed Disclosure
Figure 1 is a diagram of the Flash high Vt (threshold voltage) and the low Vt read margin.  The high Vt design parameters are defined by data retention, temperature effect, sensing deficiency, array effect and initial drop.  The program margin (PM) is the total sum of the high Vt design parameters.    The low Vt design parameters are defined by charge gain, temperature effect, sensing deficiency, and 2nd bit effect and cycle margin.  The erase margin (EM) is the total sum of low Vt design parameters. 
Figures 2-4 show schematic diagrams for the sensing ratio at the cell side of the flash memory where Figure 2 judges the high Vt charge loss cells, Figure 3 judges the low Vt charge gain cells, and   Figure 4 judges both high Vt charge loss cells and low voltage charge gain cells.  Figures 2-4 show I-V converters that directly convert the cell current to a voltage.
Figure 5 shows a graph for the SA signal voltage versus the WL voltage for sensing ratios A, B and C of Figures 2-4.  For example, the sensing ratio for A is 1:1, B is 1:X (X＞1) where X equals 2, and C is 1:Y (Y＜1) where Y equals 2/3.
Figures 6-8 show the schematic diagrams for the sensing ratio at the reference cell side of the flash memory where Figure 6 judges the high Vt charge loss cells, Figure 7 judges the low Vt charge gain cells, and Figure 8 judges both the high Vt charge loss cells and low Vt charge gain cells.
Figure 9 shows the graph for the SA (sense amplifier) signal voltage versus RWL (read wordline) voltage for sensing ratios A, B and C of Figures 6-8.  For example, the sensing ratio for A is 1:1, B is 1:X (X＞1) where X equals 3/2, and C is 1:Y (Y＜1) where Y equals 1/2.
Figure 10 shows the I-V graph for the SA signal and Figure 11 shows the flow diagram for the sensing ratio for “0” charge loss cells refreshing by using a cell side sensing ratio.  The I-V graph shows transfer characteristic for programmed and initial or erased states.  Figure 11 shows a method that begins by reading the cell using a constant gate voltage, Vg, then it uses sensing ratio A (1:1) to judge the cell for “0”/high Vt or “1”/low Vt, by determining V[Icell-1]＞V[Iref]＞V[Icell-0].  If it finds V[Icell] is higher than V[Iref], another test determines if this is the last cell.  If it is the last cell, the method finishes.  If it is not the last cell, it reads the next cell and starts over.  However, if V[Icell] is lower than V[Iref], then sensing ratio B (1:X, X＞1) judges the cell for “0”/high Vt by determining 
V[Iref] ＞ V[(Icell-0)x(X)] indicating a normal “0” bit or V[Iref] ＜ V[(Icell-0)x(X)] indicating a charge loss bit, that needs refreshing.
Figure 12 shows the I-V graph for the SA signal and Figure 13 shows the flow diagram for the sensing ratio for “1” charge gain cells refreshing by using cell side sensing ratio.  Figure 13 shows a method that begins by reading the cell using a constant gate voltage, Vg, then it uses sensing ratio A (1:1) to judge the cell for “0”/high Vt or “1”/low Vt, by determining V[Icell-1]＞V[Iref]＞V[Icell-0].  If it finds that V[Icell] is lower than V[Iref], another test determines if this is the last cell.  If it is the last cell, the method finishes.  If it is not the last cell, it reads the next cell and starts over.  However, if V[Icell] is higher than V[Iref], then sensing ratio C (1:Y, Y＜1) judges the cell for “1”/low Vt by determining 
V[Iref] ＜ V[(Icell-1)x(Y)] indicating a normal “1” bit or V[Iref] ＞ V[(Icell-1)x(Y)] indicating a charge gain bit, that needs refreshing.  If sensing ratio C determines V[(Icell-1)x(Y)] is higher than V[Iref], a test is done to determine if this is the last cell.  If it is the last cell, the method finishes.  If it is not the last cell, the method starts again for the next cell.  However, if sensing ratio C determines V[(Icell-1)x(Y)] is lower than V[Iref], it reads data from the refresh unit (RU) to memory, then it erases the RU, then programs the RU with data from memory and finishes.
Figure 14 shows a flow diagram for both “1” charge gain cells and “0” charge loss cells refreshing by using a cell side sensing ratio.  The method begins by using a constant gate voltage, Vg, and the sensing ratio A (1:1) judges V[Icell]＞V[Iref].  If V[Icell] is lower than V[Iref], then sensing ratio B (1:X, X＞1) judges V[(Icell-0)x(X)]＞V[Iref].  
If V[(Icell-0)x(X)] is lower than V[Iref], another test is done to check if this is the last cell.  If it is the last cell, the method finishes.  If it is not the last cell, it reads the next cell and the method starts over.  However, if V[(Icell-0)x(X)] is greater than V[Iref], it refreshes and reprograms the cell.  Then it tests the cell for the last cell.
If the sensing ratio A (1:1) finds V[Icell] is higher than V[Iref], then sensing ratio C (1:Y, Y＜1) judges V[(Icell-1)x(Y)]＞ V[Iref].  If V[(Icell-1)x(Y)] is higher than V[Iref], a test is done to determine if this is the last cell.  If it is the last cell, the method finishes.  If it is not the last cell, it reads the next cell with a constant gate voltage, Vg, and starts sensing ratio A again.  If V[(Icell-1)x(Y)] is lower than V[Iref], it reads data from the refresh unit (RU) to memory, then it erases the RU, then programs the RU with data from memory and finishes.
Figure 15 shows the I-V graph for the SA signal and Figure 16 shows the flow diagram for the “0” charge loss cells refreshing by using a reference cell side sensing ratio.  Figure 16 shows a method that begins reading the cell by using a constant gate voltage, Vg, then sensing ratio A (1:1) judges the cell for “0”/high Vt or “1”/low Vt by determining V[Icell-1]＞V[Iref]＞V[Icell-0].  If V[Icell] is higher than V[Iref], another test determines if this is the last cell.  If it is the last cell, the method finishes.  If the test finds it is not the last cell, it reads the next cell and starts over.  However, if V[Icell] is lower than V[Iref], then sensing ratio C (1:Y, Y＜1) judges the cell for “0”/high Vt cell by determining 
V[(Iref) x(Y)] ＞ V[(Icell-0)] indicating a normal “0” bit or V[(Iref) x(Y)] ＜ V[(Icell-0)] indicating a charge loss bit, that needs refreshing.
Figure 17 shows the I-V graph for the SA signal and Figure 18 shows the flow diagram for the “1” charge gain cells refreshing by using a reference cell side sensing ratio.  Figure 18 shows a method that begins by reading the cell using a constant gate voltage, Vg, then sensing ratio A (1:1) judges the cell for “0”/high Vt or “1”/low Vt by determining V[Icell-1]＞V[Iref]＞V[Icell-0].  If V[Icell] is lower than V[Iref], another test determines if this is the last cell.  If it is the last cell, the method finishes.  If it is not the last cell, it reads the next cell and starts over.  However, if V[Icell] is higher than V[Iref], then sensing ratio B (1:X, X＞1) judges the cell for “1”/low Vt cell, by determining V[(Iref)x(X)] ＜ V[(Icell-1)] indicating a normal “1” bit or V[(Iref)x(X)] ＞ V[(Icell-1)] indicating a charge gain bit, that needs refreshing.  If sensing ratio B determines V[(Icell-1)] is higher than V[(Iref)x(X)], a test is done to determine if this is the last cell.  If it is the last cell, the method finishes.  If it is not the last cell, the method starts again for the next cell.  However, if sensing ratio B determines V[(Icell-1)] is lower than V[(Iref)x(X)], it reads the data from the refresh unit (RU) to memory, then it erases the RU and programs the RU with data from memory then finishes.
Figure 19 show a flow diagram for both “1” charge gain cells and “0” charge loss cells refreshing using the reference cell side sensing ratio.  The method begins by using a constant gate voltage, Vg.  Next sensing ratio A (1:1) judges V[Icell]＞V[Iref].  If V[Icell] is lower than V[Iref], then sensing ratio C (1:Y, Y＜1) judges V[(Icell-0)]＞V[(Iref)x(Y)].  
If V[(Icell-0)] is lower than V[(Iref)x(Y)], another test is done to check if this is the last cell.  If it is the last cell, the method finishes.  If it is not the last cell, it reads the next cell and the method starts over.  However, if V[(Icell-0)] is greater than V[Iref], then the algorithm refreshes and reprograms the cell.  Then it tests this cell for the last cell.
If the sensing ratio A (1:1) finds V[Icell] is higher than V[Iref], then sensing ratio B (1:X, X＞1) judges V[(Icell-1)]＞ V[(Iref)x(X)].  If V[(Icell-1)] is higher than V[(Iref)x(X)], a test determines if this is the last cell.  If it is the last cell, the method finishes.  If V[(Icell-1)] is lower than V[(Iref)x(X)], it reads data from the refresh unit (RU) to memory,  then it erases the RU and programs the RU with data from memory then finishes.
Figures 20-22 show the sensing ratio at the reference cell side of the flash memory, where Figure 20 judges the high Vt charge loss cells, Figure 21 judges the low Vt charge gain cells and Figure 22 judges both high Vt charge loss cells and low voltage charge gain cells.  Figures 20-22 show I-V converters that directly convert the cell current to a voltage.
Figure 23 shows a graph for the SA signal voltage versus the RWL voltage for sensing ratios A, B and C for Figures 20-22.  For example, Iref-RE = (3/2)x(Iref) and 
Iref-R=(1/2)x(Iref).
Figure 24 shows the I-V graph for the SA signal and Figure 25 shows the flow diagram for the reference cell for “0” charge loss cell refreshing.  The flow diagram in Figure 25, shows the method begins by reading the cell using a constant gate voltage, Vg, then the Iref cell judges the cell for “0”/high Vt or “1”/low Vt by determining 
V[Icell-1]＞V[Iref]＞V[Icell-0].  If V[Icell] is higher than V[Iref], then another test determines if this is the last cell.  If it is the last cell, the method finishes.  If the test determines it is not the last cell, it reads the next cell and starts over.  However, if V[Icell] is lower than V[Iref], then Iref-R cell judges the cell for “0”/high Vt cells by determining V[Iref-R] ＞ V[(Icell-0)] indicating a normal “0” bit or V[Iref-R] ＜ V[(Icell-0)] indicating a charge loss bit, that needs refreshing.  Figures 20-22 show I-V converters that directly convert the cell current to a voltage.
Figure 26 shows the I-V graph for the SA signal and Figure 27 shows the flow diagram for “1” charge gain cells refreshing.  The flow diagram in Figure 27, shows the method begins by reading the cell using a constant gate voltage, Vg, then the Iref cell judges the cell for “0”/high Vt or “1”/low Vt by determining V[Icell-1]＞V[Iref]＞V[Icell-0].  If V[Icell] is lower than V[Iref], another test determines if this is the last cell.  If it is the last cell, the method finishes.  If it is not the last cell, it reads the next cell and starts over.  However, if V[Icell] is higher than V[Iref], then Iref-RE cell judges the cell for “1”/low Vt cell by determining V[Iref-RE] ＜ V[(Icell-1)] indicating a normal “1” bit or 
V[Iref-RE] ＞ V[(Icell-1)] indicating a charge gain bit, that needs refreshing.  If Iref-RE cell determines V[(Icell-1)] is higher than V[Iref-RE], a test determines if this is the last cell.  If it is the last cell, the method finishes.  If it is not the last cell, the method starts again for the next cell.  However, if Iref-RE cell determines V[(Icell-1)] is lower than V[Iref-RE], it reads the data from the refresh unit (RU) to memory, then it erases the RU and programs the RU with data from memory then finishes.
Figure 28 shows a flow diagram for a reference cell for both “1” charge gain cell and “0” charge loss cell refreshing.  The method begins by using a constant gate voltage, Vg, then the Iref cell judges V[Icell]＞V[Iref].  If V[Icell] is lower than V[Iref], then Iref-R cell judges V[(Icell-0)]＞V[Iref-R].  If V[(Icell-0)] is lower than V[Iref-R], another test determines if this is the last cell.  If it is the last cell, the method finishes.  If it is not the last cell, it reads the next cell and the method starts over.  However if V[(Icell-0)] is greater than V[Iref-R], the algorithm refreshes and reprograms the cell.  Then it tests the cell for the last cell.
If V[Icell] is higher than V[Iref], then Iref-RE cell judges V[(Icell-1)]＞ V[Iref-RE].  If  V[(Icell-1)] is higher than V[Iref-RE], a test determines if this is the last cell.  If it is the last cell, the method finishes.  If V[(Icell-1)] is lower than V[Iref-RE], it reads the data from the refresh unit (RU) to memory, then it erases the RU and programs the RU with data from memory then finishes.
Figures 29-32 show schematic diagrams for current mirrors at the reference cell side of the flash memory where Figure 29 judges the high Vt charge loss cell, Figure 30 judges the low Vt charge gain cell and Figure 31 judges both high Vt charge loss cell and low Vt charge gain cell.
Figure 32 shows a graph for the SA signal voltage versus the RWL voltage for current mirrors A, B and C for Figures 29-31.  For example, the reference current is Iref, and if X=3/2, Iref-B = (3/2)x(Iref) and if Y=1/2, Iref-C=(1/2)x(Iref).
Figures 33-36 show the current mirror at the cell side of the flash memory where Figure 33 judges the high Vt charge loss cell, Figure 34 judges the low Vt charge gain cell and Figure 35 judges both high Vt charge loss cell and low voltage charge gain cell.
Figure 36 shows a graph for the SA signal voltage versus the WL voltage for current mirrors A, B and C of Figures 33-35.  For example, the cell current is Icell, if X=2, cell current = 2x(Icell) and if Y=2/3, cell current=(2/3)x(Icell).
Figure 37 shows the I-V graph for the SA signal and Figure 38 shows the flow diagram for “0” charge loss cell refreshing and using a current mirror on the reference cell side.  Figure 38 begins by reading the cell by using a constant gate voltage, Vg, then current mirror A judges the cell for “0”/high Vt or “1”/low Vt by determining 
V[Icell-1]＞V[Iref]＞V[Icell-0].  If V[Icell] is higher than V[Iref], another test determines if this is the last cell.  If it is the last cell, the method finishes.  If the test determines it is not the last cell, it reads the next cell and starts over.  However, V[Icell] is lower than V[Iref], then current mirror C judges the cell to determine the “0”/high Vt cell by determining 
V[Iref-C]= V[(Iref)x(Y)]＞V[Icell-0] indicating a normal “0” bit or 
V[Iref-C]=V[(Iref)x(Y)]＜V[Icell-0] indicating a charge loss bit, that needs refreshing.  For example, current mirror A uses Iref and for Y=1/2, current mirror C reference current equals Iref-C=(1/2)xIref.
Figure 39 shows the I-V graph for the SA signal and Figure 40 shows the flow diagram for “1” charge gain cell refreshing using a current mirror at reference cell side.  Figure 40 shows a method that begins by reading the cell using a constant gate voltage, Vg, then current mirror A judges the cell for “0”/high Vt or “1”/low Vt by determining V[Icell-1]＞V[Iref]＞V[Icell-0].  If V[Icell] is lower than V[Iref], another test determines if this is the last cell.  If it is the last cell, the method finishes.  If it is not the last cell, it reads the next cell and starts over.  However, if V[Icell] is higher than V[Iref], then current mirror B judges the cell for “1”/low Vt cell by determining V[Iref-B] = V[(Iref)x(X)]＜V[Icell-1] indicating a normal “1” bit or V[Iref-B] = V[(Iref)x(X)]＞V[Icell-1] indicating a charge gain bit, that needs refreshing.  If current mirror B determines V[(Icell-1)] is higher than V[Iref-B], a test determines if this is the last cell.  If it is the last cell, the method finishes.  If it is not the last cell, the method starts over for the next cell.  However, if V[(Icell-1)] is lower than V[Iref-B], it reads the data from the refresh unit (RU) to memory, then it erases the RU and programs the RU with data from memory then finishes.
Figure 41 shows a flow diagram for both “1” charge gain cell and “0” charge loss cell refresh using a current mirror at the reference cell side.  The method begins by using a constant gate voltage, Vg, then current mirror A judges V[Icell]＞V[Iref].  If V[Icell] is lower than V[Iref], then current mirror C judges V[(Icell-0)]＞V[Iref-C].  If V[(Icell-0)] is lower than V[Iref-C], another test determines if this is the last cell.  If it is the last cell, the method finishes.  If it is not the last cell, it reads the next cell and the method starts over.  However if V[(Icell-0)] is greater than V[Iref-C], it refreshes and reprograms the cell.  Then it tests the cell for the last cell.
If V[Icell] is higher than V[Iref], then current mirror B judges V[(Icell-1)]＞ V[Iref-B].  If V[(Icell-1)] is higher than V[Iref-B], a test determines if this is the last cell.  If it is the last cell, the method finishes.  If V[(Icell-1)] is lower than V[Iref-B], it reads the data from the refresh unit (RU) to memory, then it erases the RU and programs the RU with data from memory then finishes.
Figure 42 shows a sector mapping of a flash memory containing 256 sectors having 1Mbits per sector.  It shows that each sector contains four refresh units (RU) and each RU has a corresponding refresh index (RI).  For each operation, whether it is sector erase, power on or sleep mode, the refresh method is an embedded function.
Figure 43 shows a block diagram refreshing only the high threshold voltage charge loss cell using a difference sensing ratio method on the cell side.  For example, sensing ratio A is 1:1 and sensing ratio B is 1:X, X＞1 such as X=2.
Figure 44 shows a block diagram refreshing only the low threshold voltage charge gain cell using a difference sensing ratio method on the cell side.  For example, sensing ratio A is 1:1 and sensing ratio C is 1:Y, Y＜1 such as Y=2/3.
Figure 45 shows a block diagram refreshing both the high threshold voltage charge loss cell and the low threshold voltage charge gain cells using a difference sensing ratio method on the cell side.  For example, sensing ratio A is 1:1, sensing ratio B is 1: X, X＞1 such as X=2 and sensing ratio C is 1:Y, Y＜1 such as Y=2/3.
Figure 46 shows a block diagram refreshing only the high threshold voltage charge loss cell using a difference sensing ratio method on the reference cell side.  For example, sensing ratio A is 1:1 and sensing ratio C is 1:Y, Y＜1 such as X=1/2.
Figure 47 shows a block diagram refreshing only the low threshold voltage charge gain cell using a difference sensing ratio method on the reference cell side.  For example, sensing ratio A is 1:1 and sensing ratio B is 1:X, X＞1 such as Y=3/2.
Figure 48 shows a block diagram refreshing both the high threshold voltage charge loss cell and the low threshold voltage charge gain cells using a difference sensing ratio method on the reference cell side.  For example, sensing ratio A is 1:1, sensing ratio B is 
1: X, X＞1 such as X=3/2 and sensing ratio C is 1:Y, Y＜1 such as Y=1/2.
Figure 49 shows a block diagram refreshing only the high threshold voltage charge loss cell using a difference reference cell method.  For example, Iref-R=(1/2)x(Iref).
Figure 50 shows a block diagram refreshing only the low threshold voltage charge gain cell using a difference reference cell method.  For example, Iref-RE=(3/2)x(Iref).
Figure 51 shows a block diagram refreshing both the high threshold voltage charge loss cell and the low threshold voltage charge gain cell using a difference reference cell method.  For example, Iref-RE=(3/2)x(Iref), Iref-R=(1/2)x(Iref).
Figure 52 shows a block diagram refreshing the high threshold voltage charge loss cell using a current mirror method with the current mirror at reference cell side.  For example, current mirror A is Iref and current mirror C, Iref-C=(1/2)x(Iref).
Figure 53 shows a block diagram refreshing only the low threshold voltage charge gain cell using a current mirror method with the current mirror at the reference cell side.  For example, current mirror A is Iref and current mirror B is Iref-B=(3/2)x(Iref).
Figure 54 shows a block diagram refreshing both the high threshold voltage charge loss cell and the low threshold voltage charge gain cells using a current mirror method with the current mirror at the reference cell side.  For example, current mirror A is Iref, current B is Iref-B=(3/2)x(Iref) and current mirror C is Iref-C=(1/2)x(Iref).
Figures 55 shows a flow diagram and Figure 56 shows the charge loss bits that need refreshing at the reference cell side.  
Figure 55 shows the flow diagram for the refresh algorithm using a sensing ratio for “0” cell charge loss on the reference cell side.  The algorithm begins by setting N to 0.  It reads RI(N) and determines its state.  If RI(N)=0, N is incremented by 1.  Then it compares the value of N to 1024.  If true, it erases RI(0) to RI(1023) with a “1” and the algorithm restarts from the beginning.  If false, the algorithm restarts at read RI(N) for the next value of N.
When the data in RI(N) = “1”, it refreshes RU(N).  Next, the cell is read with constant gate voltage, Vg, and sensing ratio A judges V[Icell]＞V[Iref].  If V[Icell] is higher than V[Iref], it tests the cell for the last cell.  If false, it reads the next cell with the constant gate voltage, Vg, and starts the sensing ratio A over.  If it is the last cell, it programs RI(N) with a “0” and the algorithm finishes.
If V[Icell] is lower than V[Iref], then sensing ratio C judges V[Icell-0]＞V[(Iref)x(Y)].  If V[Icell-0] is lower than V[(Iref)x(Y)], a test for the last cell is done.  If false, it reads the next cell with the constant gate voltage, Vg, and starts the sensing ratio A over.  If true, then it programs RI(N) with a “0” and the algorithm finishes.  If V[Icell-0] is higher than V[(Iref)x(Y)], it refreshes and reprograms the cell.  Then it tests the cell for the last cell.  If false, it reads the next cell with the constant gate voltage, Vg, and starts the sensing ratio A over.  If true, it programs RI(N) with a “0” and the algorithm finishes.
Figure 56 shows an example of which bits need refreshing of using the sensing ratios A and C.  For example, sensing ratio A is 1:1 and sensing ratio C is 1:Y, Y=1/2 and the Figure 56 shows where the refreshing occurs.
Figures 57 and 58 show a flow diagram and which charge gain bits need refreshing at the reference cell side.
Figure 57 shows the flow diagram for the refresh algorithm using a sensing ratio for “1” cell charge gain on the reference cell side.  The algorithm begins by setting N to 0.  It reads RI(N) and determines its state.  If RI(N)=0, N is incremented by 1.  Then, it compares N to 1024, if true it erases RI(0) to RI(1023)  with a “1” and the algorithm restarts from the beginning.  If false, the algorithm restarts at read RI(N) for the next value of N.
When the data in RI(N) = “1”, it refreshes RU(N).  Next, the cell is read with constant gate voltage, Vg, and sensing ratio A judges V[Icell]＞V[Iref].  If V[Icell] is lower than V[Iref], then it tests the cell for the last cell.  If false, it reads the next cell with the constant gate voltage, Vg, and starts the sensing ratio A over.  If it is the last cell, it programs RI(N) with a “0” and the algorithm finishes.
If V[Icell] is higher than V[Iref], then sensing ratio B judges 
V[Icell-1]＞V[(Iref)x(X)].  If V[Icell-1] is higher than V[(Iref)x(X)], a test for the last cell is done.  If false, it reads the next cell with the constant gate voltage, Vg, and starts the sensing ratio A over.  If true, it programs RI(N) with a “0” and the algorithm finishes.  If V[Icell-1] is lower than V[(Iref)x(X)], it reads the RU(N) data to memory, then it erases RU(N) and programs the data from memory to RU(N).  Finally, it programs RI(N) with “0” and finishes.
Figure 58 shows an example of which bits need refreshing as a result of using ratios A and B.  For example, sensing ratio A is 1:1 and sensing ratio B is 1:X, X=3/2 and Figure 58 shows where the refreshing occurs. 
Figure 59 shows the refreshing algorithm for both “0” charge loss and “1” cell charge gain for the reference cell side sensing ratio.
The algorithm begins by setting N to 0, next it reads RI(N).  If RI(N) is 0, N is incremented by 1 and it tests for N =1024.  If N equals 1024, it erases RI(0) to RI(1023) to “1”, if N less than 1024, the algorithm starts at read RI(N) for the next value of N.  When RI(N) is “1”, the algorithm refreshes RU(N).  Next the cell is read using a constant gate voltage, Vg, and sensing ratio A judges V[Icell]＞V[Iref].  If V[Icell] is lower than V[Iref], sensing ratio C judges V[Icell-0]＞V[(Iref)x(Y)].  If V[Icell-0] is higher, it refreshes and reprograms the cell.  Then it tests the cell for the last cell.  If V[Icell-0] is lower, then it tests the cell for the last cell.  If it is not the last cell, it reads the next cell with the constant gate voltage, Vg, and starts the sensing ratio A over.  If it is the last cell, it programs RI(N) with a “0” and the algorithm finishes.
However, if V[Icell] is higher, then sensing ratio B judges V[Icell-1]＞V[(Iref)x(X)].  If V[Icell-1] is higher, then it tests the cell for the last cell.  If V[Icell-1] is lower, it reads RU(N) data to memory and then it erases RU(N).  Next, it programs the data from memory to RU(N), then programs RI(N) to “0” and finishes.
In an alternative embodiment of the present invention, Iref may be a generated reference cell current level, and not the reference cell current of an actual reference cell.
In one preferred embodiment of the present invention, the single and lower control gate voltage can range from about 0V to about 10V.
In Figure 29, the current mirror is used to generate current (A) and current (C).  Current (A) is the same value as the reference cell current, Iref, and current (C) is half of the value of the reference cell current, Iref. 
The present invention shortens the process development time and provides high data retention and endurance, which uses a circuit design method without increasing the process complexity.
It will be appreciated by those skilled in the art that changes could be made to the embodiments described above without departing from the broad inventive concept thereof.  It is understood, therefore, that this invention is not limited to the particular examples disclosed, but it is intended to cover modifications within the spirit and scope of the present invention as defined by the appended claims.
Brief Description of Drawings
Figure 1 is a diagram of a Flash high Vt (threshold voltage) and a low Vt read margin.
Figure 2 shows schematic diagrams for the sensing ratio at the cell side of a flash memory.
Figure 3 shows schematic diagrams for the sensing ratio at the cell side of a flash memory.
Figure 4 shows schematic diagrams for the sensing ratio at the cell side of a flash memory.
Figure 5 shows a graph for an SA signal voltage versus a WL voltage for sensing ratios shown in Figures 2-4.
Figure 6 shows schematic diagrams for the sensing ratio at the reference cell side of a flash memory.
Figure 7 shows schematic diagrams for the sensing ratio at the reference cell side of a flash memory.
Figure 8 shows schematic diagrams for the sensing ratio at the reference cell side of a flash memory.
Figure 9 shows a graph for the SA signal voltage versus RWL voltage for sensing ratios A, B and C of Figures 6-8.
Figure 10 shows an I-V graph for an SA signal.
Figure 11 shows a flow diagram for a sensing ratio for “0” charge loss cells refreshing by using a cell side sensing ratio.
Figure 12 shows an I-V graph for an SA signal.
Figure 13 shows a flow diagram for the sensing ratio for “1” charge gain cells refreshing by using cell side sensing ratio.  
Figure 14 shows a flow diagram for both “1” charge gain cells and “0” charge loss cells refreshing by using a cell side sensing ratio.
Figure 15 shows an I-V graph for an SA signal.
Figure 16 shows a flow diagram for “0” charge loss cells refreshing by using a reference cell side sensing ratio.
Figure 17 shows an I-V graph for an SA signal.
Figure 18 shows a flow diagram for “1” charge gain cells refreshing by using a reference cell side sensing ratio.
Figure 19 show a flow diagram for both “1” charge gain cells and “0” charge loss cells refreshing using a reference cell side sensing ratio.
Figure 20 shows the sensing ratio at a reference cell side of a flash memory.
Figure 21 shows the sensing ratio at a reference cell side of a flash memory.
Figure 22 shows the sensing ratio at a reference cell side of a flash memory.
Figure 23 shows a graph for an SA signal voltage versus RWL voltage for sensing ratios A, B and C of Figures 20-22.
Figure 24 shows an I-V graph for an SA signal.
Figure 25 shows a flow diagram for a reference cell for “0” charge loss cell refreshing.
Figure 26 shows an I-V graph for an SA signal.
Figure 27 shows a flow diagram for “1” charge gain cells refreshing.
Figure 28 shows a flow diagram for a reference cell for both “1” charge gain cell and “0” charge loss cell refreshing.
Figure 29 shows schematic diagrams for current mirrors at a reference cell side of a flash memory.
Figure 30 shows schematic diagrams for current mirrors at a reference cell side of a flash memory.
Figure 31 shows schematic diagrams for current mirrors at a reference cell side of a flash memory.
Figure 32 shows schematic diagrams for current mirrors at a reference cell side of a flash memory.
Figure 33 shows a current mirror at a cell side of a flash memory.
Figure 34 shows a current mirror at a cell side of a flash memory.
Figure 35 shows a current mirror at a cell side of a flash memory.
Figure 36 shows a current mirror at a cell side of a flash memory.
Figure 37 shows an I-V graph for an SA signal.
Figure 38 shows a flow diagram for “0” charge loss cell refreshing and using a current mirror on a reference cell side.
Figure 39 shows an I-V graph for an SA signal.
Figure 40 shows a flow diagram for “1” charge gain cell refreshing using a current mirror at a reference cell side.
Figure 41 shows a flow diagram for both “1” charge gain cell and “0” charge loss cell refresh using a current mirror at the reference cell side.
Figure 42 shows a sector mapping of a flash memory.
Figure 43 shows block diagrams for refreshing cells.
Figure 44 shows block diagrams for refreshing cells.
Figure 45 shows block diagrams for refreshing cells.
Figure 46 shows block diagrams for refreshing cells.
Figure 47 shows block diagrams for refreshing cells.
Figure 48 shows block diagrams for refreshing cells.
Figure 49 shows block diagrams for refreshing cells.
Figure 50 shows block diagrams for refreshing cells.
Figure 51 shows block diagrams for refreshing cells.
Figure 52 shows block diagrams for refreshing cells.
Figure 53 shows block diagrams for refreshing cells.
Figure 54 shows block diagrams for refreshing cells.
Figure 55 shows a flow diagram for refreshing cells.
Figure 56 shows charge loss bits that need refreshing at a reference cell side.
Figure 57 shows flow diagrams and which charge gain bits need refreshing at the reference cell side.
Figure 58 shows flow diagrams and which charge gain bits need refreshing at the reference cell side.
Figure 59 shows a refreshing algorithm for both “0” charge loss and “1” cell charge gain for a reference cell side sensing ratio.
1.    A method for testing whether a plurality of cells of a flash memory need to be refreshed, the method comprising:
reading the cells of the flash memory;
using a plurality of different sensing ratios to determine if any of the cells need to be refreshed; and
refreshing any cells that are determined to need refreshing.
2.    The method of claim 1 wherein the cells of the flash memory are read in step (a) using only a single constant gate voltage.
3.    The method of claim 1 wherein one sensing ratio is 1:1 and another sensing ratio is 1:X, wherein X＞1.
4.    The method of claim 1 wherein one sensing ratio is 1:1 and another sensing 
5.    The method of claim 1 wherein the constant gate voltage is about 0 volts to about 10 volts.
6.    The method of claim 1 wherein at least some of the cells are high Vt (threshold voltage) charge loss cells.
7.    The method of claim 1 wherein at least some of the cells are low Vt  (threshold voltage) charge gain cells.
8.    The method of claim 1 wherein at least some of the cells are high Vt  (threshold voltage) charge gain cells and at least some of the cells are low Vt  (threshold voltage) charge gain cells.
9.    A method for testing whether a plurality of cells of a flash memory need to be refreshed, the method comprising, for each cell to be tested:
(a) reading the cell to be tested;
(b) measuring cell current of a cell to be tested and converting the cell current to a converted voltage at a first sensing ratio;
(c) providing a reference cell current level and converting the reference cell current level to a converted voltage of the reference cell;
(d) comparing the converted voltage of the cell current to the converted voltage of the reference cell; and
(e) (i) if the converted voltage of the cell current is higher than the converted voltage of the reference cell, perform steps (a)-(d) for the next cell to be tested, and 
(e) (ii) if the converted voltage of the cell current is not higher than the converted voltage of the reference cell, convert the cell current to a converted voltage at a second sensing ratio that is different than the first sensing ratio, compare the converted voltage of the cell current to the converted voltage of the reference cell, and if the converted voltage of the cell current is higher than the converted voltage of the reference cell, refresh the cell, and if the converted voltage of the cell current is not higher than the converted voltage of the reference cell, perform steps (a)-(d) for the next cell to be tested.
10.    The method of claim 9 wherein the cells of the flash memory are read in step (a) using only a single constant gate voltage.
11.    The method of claim 9 wherein the cells to be tested are charge loss cells.
12.    The method of claim 9 wherein the first sensing ratio is 1:1 and the second sensing ratio is 1:X, where X＞1.
13.    The method of claim 9 wherein the first sensing ratio is 1:1 and the second sensing ratio is 1:Y, where Y＜1.
14.    A method for testing whether a plurality of cells of a flash memory need to be refreshed, the method comprising, for each cell to be tested:
(a) reading the cell to be tested;
(b) measuring cell current of a cell to be tested and converting the cell current to a converted voltage at a first sensing ratio;
(c) providing a reference cell current level and converting the reference cell current level to a converted voltage of the reference cell;
(d) comparing the converted voltage of the cell current to the converted voltage of the reference cell; and
(e)(i) if the converted voltage of the cell current is not higher than the converted voltage of the reference cell, perform steps (a)-(d) for the next cell to be tested, and 
(e)(ii) if the converted voltage of the cell current is higher than the converted voltage of the reference cell, convert the cell current to a converted voltage at a second sensing ratio that is different than the first sensing ratio, compare the converted voltage of the cell current to the converted voltage of the reference cell, and if the converted voltage of the cell current is not higher than the converted voltage of the reference cell, refresh the cell, and if the converted voltage of the cell current is higher than the converted voltage of the reference cell, perform steps (a)-(d) for the next cell to be tested.
15.    The method of claim 14 wherein the cells of the flash memory are read in step (a) using only a single constant gate voltage.
16.    A sense amplifier circuit for use in refreshing cells of a flash memory, the circuit comprising:
(a) a sense amplifier including:
(i) a first input that accepts a converted voltage of cell current of a cell to be tested, and
(ii) a second input that accepts a converted voltage of a reference cell current level;
(b) a plurality of current to voltage converters associated with the cell to be tested, each current to voltage converters having a different sensing ratio, the input of each of the current to voltage converters being connected to the output of a cell to be tested, and the output of each of the current to voltage converters being connected to the first input of the sense amplifier; and
(c) a switch that allows the output of only one of the current to voltage converters to be electrically connected to the first input of the sense amplifier at a given time,
wherein the output of the sense amplifier is used to decide whether to refresh particular cells of the flash memory.
17.    A sense amplifier circuit for use in refreshing cells of a flash memory, the circuit comprising:
(a) a sense amplifier including:
(i) a first input that accepts a converted voltage of cell current of a cell to be tested, and
(ii) a second input that accepts a converted voltage of a reference cell current level;
(b) a plurality of current to voltage converters associated with the reference cell, each current to voltage converters having a different sensing ratio, the input of each of the current to voltage converters being connected to the output of a reference cell current level, and the output of each of the current to voltage converters being connected to the second input of the sense amplifier; and
(c) a switch that allows the output of only one of the current to voltage converters to be electrically connected to the second input of the sense amplifier at a given time,
wherein the output of the sense amplifier is used to decide whether to refresh particular cells of the flash memory.
18.    A sense amplifier circuit for use in refreshing cells of a flash memory, the circuit comprising:
(a) a sense amplifier including:
(i) a first input that accepts a converted voltage of cell current of a cell to be tested, and
(ii) a second input that accepts a converted voltage of a reference cell current level;
(b) a plurality of reference cells, each reference cell having a different reference current; and
(c) a switch that allows the output of only one of the reference cells to be electrically connected to the second input of the sense amplifier at a given time,
wherein the output of the sense amplifier is used to decide whether to refresh particular cells of the flash memory.
1    Abstract
A plurality of cells of a flash memory are tested to determine if they need to be refreshed.  The cells are read and a plurality of different sensing ratios are used to determine if any of the cells need to be refreshed.  Any cells that are determined to need refreshing are refreshed.  The cells are read using only a single constant gate voltage.
2    Representative Drawing
Fig.2
【図１】
2007035242.tif 000062
【図２】
2007035242.tif 000063
【図３】
2007035242.tif 000064
【図４】
2007035242.tif 000065
【図５】
2007035242.tif 000066
【図６】
2007035242.tif 000067
【図７】
2007035242.tif 000068
【図８】
2007035242.tif 000069
【図９】
2007035242.tif 000070
【図１０】
2007035242.tif 000071
【図１１】
2007035242.tif 000072
【図１２】
2007035242.tif 000073
【図１３】
2007035242.tif 000074
【図１４】
2007035242.tif 000075
【図１５】
2007035242.tif 000076
【図１６】
2007035242.tif 000077
【図１７】
2007035242.tif 000078
【図１８】
2007035242.tif 000079
【図１９】
2007035242.tif 000080
【図２０】
2007035242.tif 000081
【図２１】
2007035242.tif 000082
【図２２】
2007035242.tif 000083
【図２３】
2007035242.tif 000084
【図２４】
2007035242.tif 000085
【図２５】
2007035242.tif 000086
【図２６】
2007035242.tif 000087
【図２７】
2007035242.tif 000088
【図２８】
2007035242.tif 000089
【図２９】
2007035242.tif 000090
【図３０】
2007035242.tif 000091
【図３１】
2007035242.tif 000092
【図３２】
2007035242.tif 000093
【図３３】
2007035242.tif 000094
【図３４】
2007035242.tif 000095
【図３５】
2007035242.tif 000096
【図３６】
2007035242.tif 000097
【図３７】
2007035242.tif 000098
【図３８】
2007035242.tif 000099
【図３９】
2007035242.tif 000100
【図４０】
2007035242.tif 000101
【図４１】
2007035242.tif 000102
【図４２】
2007035242.tif 000103
【図４３】
2007035242.tif 000104
【図４４】
2007035242.tif 000105
【図４５】
2007035242.tif 000106
【図４６】
2007035242.tif 000107
【図４７】
2007035242.tif 000108
【図４８】
2007035242.tif 000109
【図４９】
2007035242.tif 000110
【図５０】
2007035242.tif 000111
【図５１】
2007035242.tif 000112
【図５２】
2007035242.tif 000113
【図５３】
2007035242.tif 000114
【図５４】
2007035242.tif 000115
【図５５】
2007035242.tif 000116
【図５６】
2007035242.tif 000117
【図５７】
2007035242.tif 000118
【図５８】
2007035242.tif 000119
【図５９】
2007035242.tif 000120