(57)【要約】  不揮発性メモリーデバイスおよび書き込みプロセスが、説明され、それは、その書き込みプロセスは、以前の書き込みサイクル中に書き込み検証に不合格でありかつメモリーアレイ内に正しく書き込まれなかったデータビットの割合に基づいて連続する書き込みサイクルのプログラミング電圧を増加させる。これは、平均してより高速のプログラム動作を可能にし、また、プログラミング電圧をその後に増加させることを、不揮発メモリーデバイス、プログラムされる特定の領域または行、および、デバイスの摩損のよる何らかの変化により正確に適合させることを可能にする。本発明の一実施形態においては、製造プロセス／設計、および／または、特定のメモリーデバイスは、望ましいプログラミング電圧増分／増加量を設定するために、プログラミング電圧増加プロファイルに対する不合格ビット割合を生成することによって特性を決定される。本発明の別の実施形態においては、方法および装置は、データを不揮発性メモリーデバイス、とりわけ、ＮＡＮＤおよびＮＯＲアーキテクチャーフラッシュメモリー内に書き込むことに関連する。【選択図】図７
2008544435.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリーデバイスを動作させる方法であって、
プログラム動作において不揮発性メモリーアレイ内にプログラムされるべきプログラムデータから期待データビットの数を計算するステップと、
前記プログラム動作においてプログラムに失敗した不合格データビットの数を計算するステップと、
前記期待データビットの数と前記不合格データビットの数とを比較した結果に応答してプログラミング電圧を増加させるステップと、
を備えた方法。
【請求項２】
前記期待データビットの数と前記不合格データビットの数とを比較した結果に基づいてプログラミング電圧を増加させるステップが、前記プログラミング動作中に前記不揮発性メモリーアレイ内に正しくプログラムするのに失敗した前記期待データビットの割合に基づいてプログラミング電圧を増加させるステップをさらに備えた請求項１に記載の方法。
【請求項３】
正しくプログラムされた１つかまたはそれ以上のメモリーセルのプログラミングをディスイネーブルするステップと、
正しくプログラムするのに失敗した前記データの中の１つかまたはそれ以上のビットをプログラムするために、前記増加させたプログラミング電圧を印加するステップと、
をさらに備えた請求項１に記載の方法。
【請求項４】
１つかまたはそれ以上の繰り返しサイクルを反復するステップと、
プログラム動作中に前記不揮発性メモリーアレイ内にプログラムされるべきプログラムデータから期待データビットの数を計算するステップと、
プログラム動作においてプログラムに失敗した不合格データビットの数を計算するステップと、
前記期待データビットの数と前記不合格データビットの数とを比較した結果に応答してプログラミング電圧を増加させるステップと、
をさらに備えた請求項１に記載の方法。
【請求項５】
１つかまたはそれ以上の繰り返しサイクルを反復するステップが、最大繰り返し回数に到達するかまたは前記不合格データビットの数がゼロになるまで繰り返すステップをさらに備えた請求項４に記載の方法。
【請求項６】
前記期待データビットの数と前記不合格データビットの数とを比較した結果に基づいてプログラミング電圧を増加させるステップが、前記期待データビットの数と前記不合格データビットの数とを比較した結果に応答してプログラミング電圧を増加させ、プログラミング電圧の全体的な増加が、所定の最大プログラミング電圧レベルによって制限されるようにするステップをさらに備える請求項１に記載の方法。
【請求項７】
前記期待データビットの数と前記不合格データビットの数との与えられた比較に対するプログラミング電圧増加のプロファイルを決定するために、前記不揮発性メモリーデバイスをプロファイリングするステップ、
をさらに備えた請求項１に記載の方法。
【請求項８】
前記期待データビットの数と前記不合格データビットの数との与えられた比較に対するプログラミング電圧増加のプロファイルを決定するために前記不揮発性メモリーデバイスをプロファイリングするステップが、前記不揮発性メモリーデバイスの製造プロセスに関して前記期待データビットの数と前記不合格データビットの数との与えられた比較に対するプログラミング電圧増加のプロファイルを決定するために前記不揮発性メモリーデバイスをプロファイリングすること、前記不揮発性メモリーデバイスの設計に関する特性を決定すること、特定のメモリーデバイスに関して前記期待データビットの数と前記不合格データビットの数との与えられた比較に対するプログラミング電圧増加のプロファイルを決定するために前記不揮発性メモリーデバイスをプロファイリングすること、特定のメモリーアレイ領域に関して前記期待データビットの数と前記不合格データビットの数との与えられた比較に対するプログラミング電圧増加のプロファイルを決定するために前記不揮発性メモリーデバイスをプロファイリングすること、および、特定のメモリーセル摩損レベルに関して前記期待データビットの数と前記不合格データビットの数との与えられた比較に対するプログラミング電圧増加のプロファイルを決定するために前記不揮発性メモリーデバイスをプロファイリングすることの中の１つによって、前記不揮発性メモリーデバイスをプロファイリングするステップをさらに備えた請求項７に記載の方法。
【請求項９】
前記不揮発性メモリーデバイスが、フラッシュメモリーデバイス、ＥＥＰＲＯＭメモリーデバイス、ポリマーメモリーデバイス、強誘電性ランダムアクセスメモリー（ＦｅＲＡＭ）デバイス、Ｏｖｉｏｎｉｃｓ  Ｕｎｉｆｉｅｄ  Ｍｅｍｏｒｙ（ＯＵＭ）デバイス、および、磁気抵抗ランダムアクセスメモリー（ＭＲＡＭ）デバイスの中の１つである請求項１に記載の方法。
【請求項１０】
前記不揮発性メモリーアレイが、ＮＡＮＤアーキテクチャーメモリーアレイおよびＮＯＲアーキテクチャーメモリーアレイの中の１つである請求項１に記載の方法。
【請求項１１】
プログラミングサイクル中に、複数のデータビットをプログラムするために選択された複数のメモリーセルに初期プログラミング電圧を印加することによって、前記不揮発性メモリーデバイスの前記不揮発性メモリーアレイ内に前記複数のデータビットをプログラムするステップと、
前記プログラミングサイクル中に前記不揮発性メモリーアレイの前記複数のメモリーセル内に正しくプログラムするのに失敗した前記複数のデータビットの割合との選択された関係に基づいて前記プログラミング電圧を増加させるステップと、
正しくプログラムされた１つかまたはそれ以上のセルのプログラミングをディスイネーブルするステップと、
正しくプログラムするのに失敗したデータの１つかまたはそれ以上のビットをプログラムするために、前記増加されたプログラミング電圧を印加するステップと、
をさらに備えた請求項１に記載の方法。
【請求項１２】
不揮発性メモリーデバイスを動作させる方法が、
プログラミングコマンドと複数のデータビットを含むプログラムデータとを受信するステップと、
プログラミングサイクル中に、前記複数のデータビットをプログラムするために選択された複数のメモリーセルに初期プログラミング電圧を印加することによって、前記不揮発性メモリーアレイ内に前記複数のデータビットをプログラムするステップと、
前記不揮発性メモリーアレイの前記複数のメモリーセル内にプログラムされた前記複数のデータビットからなるプログラムデータを検証し、
前記複数のメモリーセル内に正しくプログラムすることに失敗した前記複数のデータビットの割合との選択された関係に基づいて前記プログラミング電圧を増加させ、
正しくプログラムされた１つかまたはそれ以上のメモリーセルのプログラミングをディスイネーブルし、
データの中の正しくプログラムすることに失敗した１つかまたはそれ以上のビットをプログラムするために、前記増加させたプログラミング電圧を印加し、
１つかまたはそれ以上の繰り返しサイクルを反復する、
ことによって、正しくプログラムすることに失敗した前記複数のメモリーセルの中のいずれかのメモリーセルにプログラムすることを試みるステップと、
をさらに備えた請求項１に記載の方法。
【請求項１３】
不揮発性メモリーデバイスを動作させる方法が、
プログラミングコマンドと複数のデータビットを含むプログラムデータとを前記不揮発性メモリーデバイスのインタフェース上で受信するステップと、
前記プログラムデータをデータキャッシュへ転送するステップと、
前記プログラムデータを書き込みデータラッチへ転送するステップと、
前記データキャッシュ内に保持された前記プログラムデータ内に含まれるプログラムされるべきビットの数を計算するステップと、
前記複数のデータビットをプログラムするために選択された複数のメモリーセルに初期プログラミング電圧を印加することによって、プログラミングサイクル中に、前記不揮発性メモリーアレイ内に前記複数のデータビットをプログラムするステップと、
前記不揮発性メモリーアレイの前記複数のメモリーセル内にプログラムされた前記複数のデータビットからなるプログラムデータを検証し、
正しくプログラムすることに失敗したメモリーセルの数を計算し、
前記データキャッシュ内に保持されたプログラムされるべき前記ビットの数に関連して前記複数のメモリーセル内に正しくプログラムするのに失敗した前記複数のデータビットの割合を計算し、
前記複数のメモリーセル内に正しくプログラムするのに失敗した前記複数のデータビットの割合との選択された関係に基づいて前記プログラミング電圧を増加させ、
正しくプログラムされた１つかまたはそれ以上のメモリーセルのプログラミングをディスイネーブルし、
データの中の正しくプログラムするのに失敗した１つかまたはそれ以上のビットをプログラムするために、前記増加させたプログラミング電圧を印加し、
１つかまたはそれ以上の繰り返しサイクルを反復する、
ことによって、正しくプログラムするのに失敗した前記複数のメモリーセルの中のいずれかのメモリーセルにプログラムすることを試みるステップと、
をさらに備えた請求項１に記載の方法。
【請求項１４】
不揮発性メモリーデバイスをプロファイリングする方法であって、
前記不揮発性メモリーデバイス内にプログラムされるデータビットの与えられた不合格割合に対するその後のプログラミングサイクルのための望ましいプログラミング電圧の増分を特定するために、前記不揮発性メモリーデバイスをプロファイリングするステップ、
を備えた方法。
【請求項１５】
前記不揮発性メモリーデバイス内にプログラムされるデータビットの与えられた不合格割合に対するその後のプログラミングサイクルのための望ましいプログラミング電圧の増分を特定するために前記不揮発性メモリーデバイスをプロファイリングするステップが、データビットの与えられた不合格割合に対する前記望ましいプログラミング電圧の増分／増加量のためのプロファイルを選択するために、前記不揮発性メモリーデバイスの製造プロセスに関する特性を決定すること、前記不揮発性メモリーデバイスの設計に関する特性を決定すること、特定のメモリーアレイに関する特性を決定すること、特定のメモリーアレイ領域に関する特性を決定すること、および、特定のメモリーセル摩損レベルに関する特性を決定することの中の１つによって、前記不揮発性メモリーデバイスをプロファイリングするステップをさらに備えた請求項１４に記載の方法。
【請求項１６】
不揮発性メモリーデバイスであって、
不揮発性メモリーアレイと、
制御回路と、
を備え、
前記制御回路が、プログラミング動作中に、複数のデータビットを書き込むために選択された複数のメモリーセルに初期プログラミング電圧を印加することによって、かつ、
前記不揮発性メモリーアレイの前記複数のメモリーセル内にプログラムされた前記複数のデータビットを検証し、
前記複数のメモリーセル内に正しくプログラムすることに失敗した前記複数のデータビットの割合との選択された関係に基づいて前記プログラミング電圧を増加させ、
正しくプログラムされた１つかまたはそれ以上のメモリーセルのプログラミングをディスイネーブルし、
データの中の正しくプログラムするのに失敗した１つかまたはそれ以上のビットをプログラムするために、前記増加させたプログラミング電圧を印加し、
１つかまたはそれ以上の繰り返しサイクルを反復する、
ことによって、正しくプログラムするのに失敗した前記複数のメモリーセルの中のいずれかのメモリーセルにプログラムすることを試みることによって、複数のデータビットを前記不揮発性メモリーアレイ内にプログラムするように構成された、
不揮発性メモリーデバイス。
【請求項１７】
前記制御回路が、前記複数のデータビットのすべてが検証に合格するまで、または、繰り返しの最大回数に到達するまで、１つかまたはそれ以上の繰り返しサイクルを反復するように構成された請求項１６に記載の不揮発性メモリーデバイス。
【請求項１８】
前記プログラミングサイクル中に前記不揮発性メモリーアレイの前記複数のメモリーセル内に正しくプログラムするのに失敗した前記複数のデータビットの割合との選択された関係に基づいて前記プログラミング電圧を増加させるように構成された前記制御回路が、全体的なプログラミング電圧レベルを所定の最大プログラミング電圧レベルに制限することをさらに備えた請求項１６に記載の不揮発性メモリーデバイス。
【請求項１９】
前記制御回路が、データビットの与えられた不合格割合に対する前記望ましいプログラミング電圧の増分を特定する前記不揮発性メモリーアレイのプロファイルに基づいて、前記プログラミング電圧を増加させるように構成された請求項１６に記載の不揮発性メモリーデバイス。
【請求項２０】
前記不揮発性メモリーデバイスが、ＮＡＮＤアーキテクチャーフラッシュメモリーデバイス、ＮＯＲアーキテクチャーフラッシュメモリーデバイス、ＥＥＰＲＯＭメモリーデバイス、ポリマーメモリーデバイス、強誘電性ランダムアクセスメモリー（ＦｅＲＡＭ）デバイス、Ｏｖｉｏｎｉｃｓ  Ｕｎｉｆｉｅｄ  Ｍｅｍｏｒｙ（ＯＵＭ）デバイス、および、磁気抵抗ランダムアクセスメモリー（ＭＲＡＭ）、分子メモリーデバイスの中の１つである請求項１６に記載の不揮発性メモリーデバイス。
【請求項２１】
前記不揮発性メモリーデバイスが、
複数のセンスアンプと、
Ｉ／Ｏバッファーと、
メモリーインタフェースと、
をさらに備え、
前記制御回路が、前記不揮発性メモリーアレイ、前記Ｉ／Ｏバッファー、前記複数のセンスアンプ、および、前記メモリーインタフェースに接続された制御ステートマシーンであり、前記制御ステートマシーンが、プログラミング動作中に、前記複数のデータビットをプログラムするために選択された複数の不揮発性メモリーセルに初期プログラミング電圧を印加することによって、かつ、
前記不揮発性メモリーアレイの前記複数のメモリーセル内にプログラムされた前記複数のデータビットを検証し、
前記複数のメモリーセル内に正しくプログラムするのに失敗した前記複数のデータビットの割合との選択された関係に基づいて前記プログラミング電圧を増加させ、
正しくプログラムされた１つかまたはそれ以上のメモリーセルのプログラミングをディスイネーブルし、
データの中の正しくプログラムするのに失敗した１つかまたはそれ以上のビットをプログラムするために、前記増加させたプログラミング電圧を印加し、
１つかまたはそれ以上の繰り返しサイクルを反復する、
ことによって、正しくプログラムするのに失敗した前記複数のメモリーセルの中のいずれかのメモリーセルにプログラムすることを試みることによって、前記メモリーインタフェースにおいて受信された前記複数のデータビットを前記不揮発性メモリーアレイ内にプログラムするように構成された、
請求項１６に記載の不揮発性メモリーデバイス。
【請求項２２】
前記不揮発性メモリーデバイスが、システムをさらに備え、前記システムが、
前記不揮発性メモリーデバイスに接続されたホスト、
を備えた請求項１６に記載の不揮発性メモリーデバイス。
【請求項２３】
前記ホストが、プロセッサーおよびメモリーコントローラの中の１つである請求項２２に記載の不揮発性メモリーデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、メモリーデバイスに関し、より詳細には、本発明は、フラッシュメモリーデバイスに関する。
【背景技術】
【０００２】
メモリーデバイスは、典型的には、コンピュータにおける内部記憶領域として提供される。メモリーという用語は、集積回路チップの形で供給されるデータ記憶装置を意味する。いくつかの異なる種類のメモリーが、最近の電子機器に使用され、１つの一般的な種類は、ＲＡＭ（ランダムアクセスメモリー）である。ＲＡＭは、その特徴として、コンピュータ環境においてメインメモリーとして使用されることが知られている。ＲＡＭは、読み出し書き込みメモリーを意味する。すなわち、ＲＡＭにデータを書き込むことができ、また、ＲＡＭからデータを読み出すこともできる。これは、データを読み出すことしかできないＲＯＭとは対照的なことである。ほとんどのＲＡＭは、揮発性であり、これは、ＲＡＭの内容を保持するために電気を定常的に流さなければならないことを意味する。電源が切れるとすぐに、ＲＡＭ内に存在するすべてのデータは消失する。
【０００３】
コンピュータは、ほとんどの場合、コンピュータを起動するための命令を保持する少量のリードオンリーメモリー（ＲＯＭ）を含む。ＲＡＭとは違って、ＲＯＭは、それに書き込むことができない。電源が切れたときにメモリーセルのデータ内容が消失しないメモリーデバイスは、一般的には、不揮発性メモリーと呼ばれている。ＥＥＰＲＯＭ（電気的消去可能ＲＯＭ）は、それを電荷に暴露することによって消去することのできる特別な種類の不揮発性ＲＯＭである。ＥＥＰＲＯＭは、電気的に絶縁されたゲート（フローティングゲート）を有する多数のメモリーセルを備える。データは、フローティングゲート上に存在する電荷の形でメモリーセルに記憶される。典型的なフローティングゲートメモリーセルは、集積回路基板内に製造され、ソース領域とそのソース領域から所定の距離を置いて配置されたドレイン領域とを含み、中間チャンネル領域を形成する。典型的にはドープトポリシリコンからなるフローティングゲートは、チャンネル領域上に配置され、典型的には酸化物である誘電体材料によってその他のセル構成要素から電気的に絶縁される。例えば、ゲート酸化物が、フローティングゲートとチャンネル領域との間に形成されてもよい。コントロールゲートが、フローティングゲート上に配置され、そのコントロールゲートもまた、典型的には、ドープトポリシリコンからなる。コントロールゲートは、別の誘電体層によって、フローティングゲートから電気的に分離される。したがって、フローティングゲートは、誘電体内に“浮遊”したものであり、それによって、フローティングゲートは、チャンネルおよびコントロールゲートの両方から絶縁される。電荷が、特有のプログラミング動作によってフローティングゲートへ輸送され、あるいは、特有の消去動作によってフローティングゲートから除去される。その他の種類の不揮発性メモリーには、限定はされないが、ポリマーメモリー、強誘電性ランダムアクセスメモリー（ＦｅＲＡＭ）、相変化記録メモリー（Ｏｖｉｏｎｉｃｓ  Ｕｎｉｆｉｅｄ  Ｍｅｍｏｒｙ：ＯＵＭ）、および、磁気抵抗ランダムアクセスメモリー（ＭＲＡＭ）が、含まれる。
【０００４】
さらに別の種類の不揮発性メモリーは、フラッシュメモリーである。典型的なフラッシュメモリーは、メモリーアレイを備え、そのメモリーアレイは、多数のメモリーセルを含む。メモリーセルのそれぞれは、電界効果トランジスタ（ＦＥＴ）内に埋め込まれるフローティングゲートまたは電荷捕獲層を含む。セルは、通常、“消去ブロック”と呼ばれるセクション内にグループ化される。消去ブロック内に存在するセルのそれぞれは、選択的に、フローティングゲートへ電荷がトンネリングすることよって電気的にプログラムされることが可能である。負の電荷は、典型的には、ブロック消去動作によってフローティングゲートから除去され、消去ブロック内に存在するすべてのフローティングゲートメモリーセルは、単一動作で消去される。最近のフラッシュメモリーデバイスでは、複数のしきい値レベルまたは非導電性電荷捕獲層を使用しかつ電荷として捕獲されたデータをメモリーセルＦＥＴのソース／ドレインのそれぞれの近傍に記憶することによって、複数のビットが、単一セルに記憶されるようになったことが知られている。
【０００５】
２つの一般的な種類のフラッシュメモリーアレイアーキテクチャーは、“ＮＡＮＤ”アーキテクチャーおよび“ＮＯＲ”アーキテクチャーであり、それぞれのアーキテクチャーの基本メモリーセル構造がそれぞれＮＡＮＤゲート回路またはＮＯＲゲート回路に似ているので、そのように呼ばれている。ＮＯＲアレイアーキテクチャーにおいては、メモリーアレイに含まれるフローティングゲートメモリーセルは、行列として配置される。アレイ行列のそれぞれのフローティングゲートメモリーセルのゲートは、行ごとに、ワード選択線（ワード線）に接続され、それらのソース／ドレインは、列ビット線および／または列ソース線に接続される。また、ＮＡＮＤアレイアーキテクチャーは、フローティングゲートメモリーセルからなるそれのアレイを行列として配置し、それによって、アレイに含まれるそれぞれのフローティングゲートメモリーセルのゲートは、行ごとに、ワード線に接続される。しかしながら、それぞれのメモリーセルは、ソース線および列ビット線に直接に接続されない。その代わりに、アレイに含まれるメモリーセルは、典型的には、８個、１６個、３２個、または、それ以上をお互いにまとめて、ストリングとして配置され、ストリング内に存在するメモリーセルは、共通ソース線と列ビット線との間にお互いに直列にソースをドレインに接続される。そして、ＮＡＮＤアーキテクチャーフローティングゲートメモリーアレイのメモリーセルは、それらのゲートに接続されたワード選択線を選択することによって、選択されたメモリーセルに結合されたフローティングゲートメモリーセルの行を駆動することによってアクセスされる。さらにまた、ストリングに含まれる非選択メモリーセルのゲートに接続されたワード線が、駆動され（高い電圧に）、それらを通過モードにセットし、選択されたメモリーセルにアクセスするのを可能にする。
【０００６】
フラッシュメモリーのための一般的なプログラミング技術は、プログラムするか（論理“０”にセットされる）または禁止する（プログラムするのではなく、通常、セルを消去されたままにするためのものであり、論理“１”にセットされる）ために、１つのプログラミング電圧パルスまたは一連のプログラミング電圧パルスをコントロールゲートに印加し、選択されたメモリーセルにプログラムするかまたは禁止することによって、メモリーの行（ページ）にプログラムする。これらのプログラミング電圧および／またはパルスは、典型的には、設計によって設定され、場合によっては、製造プロセス中に調整または選択され、製造コストをさらに増加させる。しかしながら、メモリーアレイのチップごとに、それどころか、領域ごとに、あるいは、行ごとに様々に異なる製造プロセスの変動のために、すべてのフラッシュメモリーまたはフラッシュメモリーセルが、印加される所定のプログラミング電圧に対して同じものをプログラムするとは限らない。さらに、プログラミング電圧が個々のメモリーデバイスの製造中に選択されたとしても、メモリーデバイスのプログラミング特性は、複数のプログラム／消去サイクルの後あるいは、電源電圧または温度の変化の後には変化、することがある。
【０００７】
上述した理由のために、また、当業者が本明細書を読んで理解すればわかる以下で説明されるその他の理由のために、フラッシュメモリーアレイにプログラムするための新しい方法が、この分野において必要とされている。
【発明の開示】
【０００８】
フラッシュメモリーにプログラムすることに関する上述した問題およびその他の問題が、本発明によって目的とされ、以下の説明を読みかつ検討することによって理解することができる。
【０００９】
様々な実施形態は、不揮発性メモリーデバイスにプログラムすることに関し、データは、メモリーアレイの行をプログラムするような並列動作でメモリーのアレイ内にプログラムされ、プログラミングサイクルは、以前のサイクルにおいて正しくプログラムするのに失敗したデータのいずれかのビットをプログラムするために、プログラミング電圧レベルを増加させながら繰り返される。本発明の実施形態においては、連続するプログラミングサイクルのプログラミング電圧は、以前のプログラミングサイクル中にプログラミング検証に不合格でありしたがってメモリーアレイ内に正しくプログラムされなかったデータビットの割合に基づいて増加させられる。これは、平均してより高速のプログラム動作を可能にし、また、その後にプログラミング電圧を増加させることを、特定の不揮発性メモリーデバイス、プログラムされる特定の領域または行、および、デバイスの使用および摩損によるプログラミング特性の何らかの変化により正確に適合させることを可能にする。本発明の一実施形態においては、製造プロセス／設計、および／または、特定のメモリーデバイスは、データビットの与えられた不合格割合に対する望ましいプログラミング電圧増分／増加量を設定するために、プログラミング電圧増加プロファイルに対する不合格ビット割合を生成することによって特性を決定される。本発明の一実施形態においては、方法および装置は、データを不揮発性メモリーデバイス、とりわけ、ＮＡＮＤおよびＮＯＲアーキテクチャーフラッシュメモリーアレイおよびデバイス内にプログラムすることに関連する。
【００１０】
一実施形態として、本発明は、不揮発性メモリーデバイスを動作させる方法を提供し、この方法は、プログラミングサイクル中に、複数のデータビットをプログラムするために選択された複数のメモリーセルに初期プログラミング電圧を印加することによって、不揮発性メモリーデバイスの不揮発性メモリーアレイ内に複数のデータビットをプログラムするステップと、プログラミングサイクル中に不揮発性メモリーアレイの複数のメモリーセル内に正しくプログラムするのに失敗した複数のデータビットの割合との選択された関係に基づいてプログラミング電圧を増加させるステップと、正しくプログラムされた１つかまたはそれ以上のセルにプログラムするのをディスイネーブルするステップと、正しくプログラムするのに失敗したデータの１つかまたはそれ以上のビットをプログラムするために、増加されたプログラミング電圧を印加するステップとを備える。
【００１１】
別の実施形態においては、本発明は、データをプログラムする方法を提供し、この方法は、プログラミングコマンドと複数のデータビットを含むプログラムデータとを受信するステップと、プログラミングサイクル中に、複数のデータビットをプログラムするために選択された複数のメモリーセルに初期プログラミング電圧を印加することによって、不揮発性メモリーアレイ内に複数のデータビットをプログラムするステップと、不揮発性メモリーアレイの複数のメモリーセル内にプログラムされた複数のデータビットからなるプログラムデータを検証し、複数のメモリーセル内に正しくプログラムするのに失敗した複数のデータビットの割合との選択された関係に基づいてプログラミング電圧を増加させ、正しくプログラムされた１つかまたはそれ以上のメモリーセルにプログラムするのをディスイネーブルし、データの中の正しくプログラムするのに失敗した１つかまたはそれ以上のビットをプログラムするために、増加させたプログラミング電圧を印加し、１つかまたはそれ以上の繰り返しサイクルを反復することによって、正しくプログラムするのに失敗した複数のメモリーセルの中のいずれか（またはいずれもの）のメモリーセルにプログラムすることを試みるステップとを備える。
【００１２】
本発明のさらに別の実施形態においては、本発明は、フラッシュメモリーデバイスを動作させる方法を提供し、この方法は、プログラミングコマンドと複数のデータビットを含むプログラムデータとをフラッシュメモリーデバイスのインタフェース上で受信するステップと、プログラムデータをデータキャッシュへ転送するステップと、プログラムデータを書き込みデータラッチへ転送するステップと、データキャッシュ内に保持されたプログラムデータ内に含まれるプログラムされるべきビットの数を計算するステップと、プログラミングサイクル中に、複数のデータビットをプログラムするために選択された複数のメモリーセルに初期プログラミング電圧を印加することによって、フラッシュメモリーアレイ内に複数のデータビットをプログラムするステップと、フラッシュメモリーアレイの複数のメモリーセル内にプログラムされた複数のデータビットからなるプログラムデータを検証し、正しくプログラムするのに失敗したメモリーセルの数を計算し、データキャッシュ内に保持されたプログラムされるべきビットの数に関連して複数のメモリーセル内に正しくプログラムするのに失敗した複数のデータビットの割合を計算し、複数のメモリーセル内に正しくプログラムするのに失敗した複数のデータビットの割合との選択された関係に基づいてプログラミング電圧を増加させ、正しくプログラムされた１つかまたはそれ以上のメモリーセルにプログラムするのをディスイネーブルし、データの中の正しくプログラムするのに失敗した１つかまたはそれ以上のビットをプログラムするために、増加させたプログラミング電圧を印加し、１つかまたはそれ以上の繰り返しサイクルを反復することによって、正しくプログラムするのに失敗した複数のメモリーセルの中のいずれか（またはいずれもの）のメモリーセルにプログラムすることを試みるステップとを備える。
【００１３】
さらなる実施形態においては、本発明は、不揮発性メモリーデバイスに接続されたホストを備えたシステムを提供する。不揮発性メモリーデバイスは、不揮発性メモリーアレイと、制御ステートマシーン回路とを備え、制御ステートマシーン回路は、プログラミング動作中に、複数のデータビットをプログラムするために選択された複数のメモリーセルに初期プログラミング電圧を印加することによって、かつ、不揮発性メモリーアレイの複数のメモリーセル内にプログラムされた複数のデータビットを検証し、複数のメモリーセル内に正しくプログラムするのに失敗した複数のデータビットの割合との選択された関係に基づいてプログラミング電圧を増加させ、正しくプログラムされた１つかまたはそれ以上のメモリーセルにプログラミングするのをディスイネーブルし、データの中の正しくプログラムするのに失敗した１つかまたはそれ以上のビットをプログラムするために、増加させたプログラミング電圧を印加し、１つかまたはそれ以上の繰り返しサイクルを反復することによって、正しくプログラムするのに失敗した複数のメモリーセルの中のいずれか（またはいずれもの）のメモリーセルにプログラムすることを試みることによって、複数のデータビットを不揮発性メモリーアレイ内にプログラムするように構成される。
【００１４】
またさらなる実施形態においては、本発明は、不揮発性メモリーデバイスを動作させる方法を提供し、この方法は、プログラム動作において不揮発性メモリーアレイ内にプログラムされるべきプログラムデータから期待データビットの数を計算するステップと、プログラム動作においてプログラミングに失敗した不合格データビットの数を計算するステップと、期待データビットの数と不合格データビットの数とを比較した結果に応答してプログラミング電圧を増加させるステップとを備える。
本発明のさらなる実施形態は、様々な範囲を有する方法および装置を含む。
【発明を実施するための最良の形態】
【００１５】
好ましい実施形態の以下の詳細な説明においては、本明細書の一部を構成する添付の図面が、参照され、それらの図面には、本発明が実施されてもよい特定の好ましい実施形態が、例として示される。これらの実施形態は、当業者が本発明を実施できるように十分に詳細に説明され、そして、別の実施形態が、本発明の精神および範囲を逸脱することなく、使用されてもよいこと、および、論理的、機械的、および、電気的な変更がなされてもよいことを理解すべきである。したがって、以下の詳細な説明は、限定するような意味にとるべきではなく、本発明の範囲は、特許請求の範囲によってしか規定されない。
【００１６】
本発明の実施形態は、例えば、メモリーアレイの行のプログラミングなど、データを不揮発性アレイ内に並列動作でプログラムする不揮発性メモリーデバイスを含み、プログラミングサイクルは、以前のサイクルで正しくプログラムすることができなかったデータのいずれかのビットをプログラムするためのプログラミング電圧レベルを増大させて、繰り返す。本発明の実施形態においては、連続するプログラミングサイクルのプログラミング電圧は、以前のプログラミングサイクル中のプログラミング検証に不合格となりメモリーアレイ内に正しくプログラムされなかったデータビットの割合に基づいて増加する。これは、平均してより高速のプログラム動作を可能にし、かつ、プログラミング電圧をその後に増加させることを、特定の不揮発性メモリーデバイス、プログラムされる特定の領域または行、および、デバイスの使用および摩損によるプログラミング特性の何らかの変化に、より正確に適合させることができる。本発明の一実施形態においては、製造プロセス／設計、および／または、特定のメモリーデバイスは、プログラミング電圧増加プロファイルに対する不合格ビット割合を生成し、データビットの与えられた不合格割合のための望ましいプログラミング電圧の増分／増加量を設定することを特徴とする。本発明の一実施形態においては、方法および装置は、データを不揮発性メモリーデバイス、より詳細には、ＮＡＮＤアーキテクチャーおよびＮＯＲアーキテクチャーのフラッシュメモリーアレイおよびデバイス内にプログラミングすることに関する。
【００１７】
図１は、典型的には処理装置またはメモリーコントローラであるホスト１０２に接続された本発明の実施形態の不揮発性メモリーデバイス１００を含むシステム１２８を説明する概略ブロック図である。フラッシュメモリーデバイスのような不揮発性メモリー１００は、制御インタフェース１０６およびアドレス／データインタフェース１０８を有し、それらは、それぞれ、処理装置１０２に接続され、メモリー読み出し書き込みアクセスを可能にする。別の実施形態においては、アドレス／データインタフェース１０８は、別個のインタフェースに分割されてもよいことがわかる。不揮発性メモリーデバイスの内部において、制御ステートマシーン／制御回路１１０が、内部動作を指示し、不揮発性メモリーアレイ１１２を管理し、ＲＡＭ制御レジスタおよび消去ブロック管理レジスタ１１４を更新する。ＲＡＭ制御レジスタおよびテーブル１１４は、不揮発性メモリー１００の動作中に、制御ステートマシーン１１０によって使用される。不揮発性メモリーアレイ１１２は、一連のメモリーバンクまたはセグメント１１６を含み、それぞれのバンク１１６は、一連の消去ブロック（図示しない）内に論理的に編成される。メモリーアクセスアドレスは、不揮発性メモリー１００のアドレス／データインタフェース１０８上で受信され、行アドレス部と列アドレス部とに分割される。読み出しアクセス時、行アドレスが、ラッチされ、行デコード回路１２０によってデコードされ、その行デコード回路１２０は、メモリーセルおよび選択されたメモリーバンクを横切るそれらの関連するストリング内に存在するその他のメモリーセルの行ページ（図示しない）を選択および駆動する。メモリーセルの選択された行の出力内にエンコードされたビット値は、ローカルビット線／ストリング（図示しない）からグローバルビット線（図示しない）に結合され、メモリーバンクに関連するセンスアンプ１２２によって検出される。また、センスアンプ１２２は、典型的には、データキャッシュおよび書き込みデータラッチ回路（図示しない）を含む。アクセスの列アドレスは、列デコード回路１２４によってラッチおよびデコードされる。列デコード回路の出力は、望ましい列データ出力をセンスアンプから選択し、メモリーデバイスからアドレス／データインタフェース１０８を介して転送するために、データバッファー１２６に結合される。書き込みアクセス時、行デコード回路１２０が、行ページを選択し、列デコード回路が、書き込みセンスアンプ１２２を選択する。書き込まれるべきデータ値は、データバッファー１２６からデータキャッシュに、そして、列デコード回路１２４によって選択された書き込みセンスアンプ１２２の書き込みデータラッチに結合され、メモリーアレイ１１２の選択されたフローティングゲートメモリーセル（図示しない）に書き込まされる。そして、書き込まれたセルは、再度、行デコード回路１２０および列デコード回路１２４とセンスアンプ１２２とによって選択され、それによって、それらは、正しい値が選択されたメモリーセルにプログラムされたかを検証するために読み出すことができる。本発明の一実施形態においては、列デコード１２４は、メモリーアレイ１１２とセンスアンプ１２２との間に随意的に配置されてもよいことがわかる。
【００１８】
上述したように、２つの一般的な種類の不揮発性メモリーＥＥＰＲＯＭおよびフラッシュメモリーアレイアーキテクチャーは、“ＮＡＮＤ”アーキテクチャーおよび“ＮＯＲ”アーキテクチャーであり、それぞれの基本メモリーセル構造が対応する論理ゲート設計に似ているので、そのように呼ばれている。ＮＯＲアレイアーキテクチャーにおいては、メモリーアレイに含まれるフローティングゲートメモリーセルは、ＲＡＭまたはＲＯＭに類似する行列として配置される。アレイ行列のそれぞれのフローティングゲートメモリーセルのゲートは、行ごとに、ワード選択線（ワード線）に接続され、それらのドレインは、列ビット線に接続される。それぞれのフローティングゲートメモリーセルのソースは、典型的には、共通ソース線に接続される。ＮＯＲアーキテクチャーフローティングゲートメモリーアレイは、それらのゲートに接続されたワード線を選択することによって、フローティングゲートメモリーセルの行を駆動する行デコーダーによってアクセスされる。そして、選択されたメモリーセルの行は、それらのプログラムされた状態に応じて、異なる電流を接続されたソース線から接続された列ビット線に流すことによって、それらの記憶されたデータ値を列ビット線上にセットする。ビット線の列ページが、選択およびセンスされ、個々のデータワードが、列ページからのセンスされたデータワードから選択され、メモリーから伝達される。
【００１９】
また、ＮＡＮＤメモリーアレイアーキテクチャーは、アレイに含まれるそれぞれのフローティングゲートメモリーセルのゲートが行ごとにワード線に接続されるように、それのフローティングゲートメモリーセルのアレイを行列として配置する。しかしながら、それぞれのメモリーセルは、ソース線および列ビット線に直接に接続されない。その代わりに、アレイに含まれるメモリーセルは、典型的には、８個、１６個、３２個、または、それ以上をお互いにまとめて、ストリングとして配置され、ストリング内に存在する複数のメモリーセルは、共通ソース線と列ビット線との間にお互いに直列にソースをドレインに接続される。これは、ＮＡＮＤアレイアーキテクチャーが、類似するＮＯＲアレイよりも大きなメモリーセル密度を有することを可能にするが、一般的には、より遅いアクセス速度および書き込みの複雑さを伴う。
【００２０】
ＮＡＮＤアーキテクチャーフローティングゲートメモリーアレイは、それらのゲートに接続されたワード選択線を選択することによってフローティングゲートメモリーセルの行を駆動する行デコーダーによって、アクセスされる。さらにまた、それぞれのストリングに含まれる非選択メモリーセルのゲートに接続されたワード線が、駆動される。しかしながら、それぞれのストリングに含まれる非選択メモリーセルは、それらをパストランジスタとして動作させ、かつ、それらの記憶されたデータ値によって制限されないような形でそれらに電流が流れるようにするために、典型的には、より高いゲート電圧によって駆動される。そして、電流は、ソース線から直列に接続されたストリングのそれぞれのフローティングゲートメモリーセルを介して列ビット線に流れ、読み込むために選択されたそれぞれのストリングに含まれるメモリーセルによってしか制限されない。これは、選択されたメモリーセルの行の電流エンコード記憶データ値を列ビット線上にセットする。ビット線の列ページは、選択およびセンスされ、そして、個々のデータワードが、列ページからセンスされたデータワードから選択され、メモリーデバイスから伝達される。
【００２１】
図２は、本発明の実施形態によるＥＥＰＲＯＭまたはフラッシュメモリーデバイスのＮＯＲフローティングゲートメモリーアレイ２００を説明する概略図である。図２において、フローティングゲートメモリーセル２０２は、ビット線２１２、ソース線２１４、ワード線２０６、および、基板コネクション２２２を有するＮＯＲアーキテクチャーメモリーアレイ内にまとめて結合される。それぞれのフローティングゲートメモリーセル２０２は、ドレイン領域とソース領域との間に形成されたゲート絶縁膜スタックを備えたフローティングゲート電界効果トランジスタ（ＦＥＴ）を有し、それらのドレイン領域およびソース領域は、それぞれ、ビット線２１２およびソース線２１４に接続される。
【００２２】
図３は、本発明の実施形態によるＥＥＰＲＯＭまたはフラッシュメモリーデバイスのＮＡＮＤフローティングゲートメモリーアレイストリング３０４を説明する概略図である。図３において、一連のフローティングゲートメモリーセル３０２は、ＮＡＮＤストリング３０４（典型的には、８個、１６個、３２個、または、それ以上のセルからなる）内において、お互いにソースをドレインに直列に接続される。それぞれのフローティングゲートメモリーセル３０２は、基板の上部に存在するトンネル絶縁膜からなるゲート絶縁膜スタック、トンネル絶縁膜上に形成されたフローティングゲート、フローティングゲート上に形成されたゲート間／ポリ間絶縁膜、および、それぞれのフローティングゲートメモリーセル３０２のゲート間／ポリ間絶縁膜上に形成されたコントロールゲート３０６（典型的には、ワード線の一部として形成される）を有する。不純物ドープト領域（典型的には、Ｎ型ＦＥＴメモリーセルの場合にはＮ＋）が、それぞれのゲート絶縁膜スタック間に形成され、隣接するフローティングゲートメモリーセルのソース領域およびドレイン領域を形成し、また、それらのソース領域およびドレイン領域は、ＮＡＮＤストリング３０４のセルをお互いに結合するコネクタとしても動作する。さらに、基板接続部３２２が、示される。選択ゲート３１０が、ＮＡＮＤフローティングゲートストリング３０４の両側の端部に形成され、ＮＡＮＤフローティングゲートストリング３０４の両側の端部をビット線コンタクト３１２およびソース線コンタクト３１４に選択的に結合する。
【００２３】
フラッシュメモリーのための一般的なプログラミング技術は、それらのチャンネルをプログラム電圧かまたは禁止電圧に結合することによってプログラムするか（論理“０”にセット）または禁止する（プログラムすることはなく、通常、セルを消去されたままにするためのものであり、論理“１”にセットされる）ために、１つのプログラミング電圧または一連のプログラミング電圧パルスをメモリーセルのコントロールゲートに印加し、選択されたメモリーセルにプログラムするかまたは禁止することによって、メモリーの行（一般的には、ページと呼ばれる）をプログラムする。残念ながら、メモリーセルのこのプログラミングは、一般的には、メモリーアレイのそれぞれの行において均一ではない。このようにメモリーセルのフローティングゲート内へキャリアを不均一に注入することは、図４に示されるように、それぞれのプログラムされたセルにおいてそれぞれにシフトしたしきい電圧の分布をもたらす。図４には、消去された状態４０２およびプログラムされた状態４０６におけるフローティングゲートメモリーセルのしきい電圧（Ｖｔ）の分布が、示される。プログラムされたように読み出されなければならないメモリーセルの場合、それは、それのしきい電圧を、プログラミングセルしきい電圧限界４０４よりも高いレベルにシフトさせていなければならない。しかしながら、チップごとの、それどころか、メモリーアレイの領域ごとのデバイス摩損レベル（メモリーセル書き込み疲労）および製造プロセス変動のために、すべてのフラッシュメモリーまたはフラッシュメモリーセルが、与えられた印加プログラミング電圧、パルス、および、期間に対して、同じものをプログラミングするとは限らず、図４に示されるように、プログラムサイクルの後に、プログラミングセルしきい電圧分布４０６の大きな変動をもたらす。結果として、セルに印加されたプログラミング電圧を有するセルの多くは、それらの個々のしきい電圧がプログラムされるセルしきい電圧限界４０４よりも上昇していなければ、検証のためにその後に照合されたとき、プログラムされたように読み出されることはない。
【００２４】
このために、最初にプログラミングを試みた後、行に記憶されたデータは、再び、その行から読み出され、正しくプログラミングされたかどうかを検証するために、元々のデータと照合される。そして、意図した通りにプログラムされなかったセルがあれば、所定の数のプログラミングサイクル繰り返し回数だけさらなるプログラミングパルスをそれらのセルのコントロールゲートに印加することによって、それらのセルを訂正しようとする努力がなされる。また、これらのさらなるプログラミング電圧パルスは、典型的には、メモリーデバイスのための最大プログラミング電圧に達するまで、選択された電圧増加率で徐々に増大する。図５において、波形図５００が、不揮発性メモリーデバイスのそのようなプログラミング動作を詳細に示しており、増加する電圧プログラミングパルス５０２、５０４、５０６、５０８が、初期プログラミング電圧５０２からメモリーデバイスにおいて可能な最大プログラミング電圧５０８まで、印加され、それぞれのパルスの後に、プログラミング結果検証パルス５１０が、印加される。
【００２５】
図６は、ＮＡＮＤ型不揮発性メモリーデバイスまたは並列プログラミング不揮発性メモリーデバイスにおける従来技術によるプログラミングアルゴリズム６００のフローチャートを示す。図６において、プログラミング動作は、ＮＡＮＤアーキテクチャーフラッシュメモリーデバイスのような不揮発性メモリーデバイスのアドレスを含むプログラムコマンドを受信する符号６０２から開始する。そして、プログラムコマンドに続いて、プログラムデータ（典型的には、２ｋバイト）が、メモリーデバイス内にロードされ、データキャッシュに記憶される（６０４）。そして、データは、不揮発性メモリーアレイの行にプログラムする準備として、書き込みセンスアンプのデータラッチへ転送される（６０６）。そして、初期プログラミングゲート電圧（例えば、１５Ｖ）が、設定され、プログラミングサイクルループカウンタが、１に設定される（６０８）。そして、行のデータが、そのプログラミング電圧を備えたパルスをコントロールゲートに送出し、それらのチャンネルをプログラミングム電圧かまたは禁止電圧に結合することによって、不揮発性メモリーアレイの選択された行にプログラムされる（６１０）。プログラミングパルスが印加され、かつ、データが行にプログラムされた後、そのデータが、再び、読み出され、データキャッシュに保持されている元々のデータと比較され、それが正しくプログラムされたかどうかが検証される（６１２）。プログラムデータが、検証に合格すれば（６１４）、プログラミング動作は、完了し、そして、終了する（６１６）。プログラムデータが、検証に不合格であれば、かつ、最大プログラミングサイクル回数に到達していなければ（ループカウンタがそれの最大値に達していなければ）（６１８）、プログラミング動作は、継続し、データを再度プログラムすることを試みる。最大プログラミングサイクル回数に到達していれば（ループカウンタがそれの最大値に達していれば）、プログラミング動作は、不合格となる（６２０）。
【００２６】
検証に不合格となったデータビットを再びプログラムすることを試みるループにおいて、このアルゴリズムは、ループカウンタをインクリメントし（６２２）、プログラミング検証に合格したデータの行に存在するビットのプログラミングをディスイネーブルまたは禁止し、これらのセルの限度を超えたプログラミングおよび不揮発性メモリーデバイスの余計な書き込み疲労を防止する（６２４）。ゲートプログラミング電圧が、それの最大レベルになければ（６２６）、その電圧は、所定の増分だけ増加させられる（プログラムされないセルが、不合格セルであることはほとんどなく、典型的には、ほんのたまに、低い電圧における遅いプログラミングのセルであり、そのために、メモリーデバイスは、典型的には、これらのセル上の電圧を増加させ、再度、試みる）（６３０）。ゲートプログラミング電圧が、すでに、最大レベルにあれば、それは、増加させられることはなく、最大レベルのままである（６２８）。そして、アルゴリズムは、符号６３２へループし、再び、データ行をプログラムする（６１０）。アルゴリズムのこのループは、継続し、プログラムされたデータが検証に最終的に合格するか（６１６）または最大プログラミングサイクルループ回数を超えてプログラミング動作が不合格となる（６３０）まで、それぞれのループにおけるプログラミング電圧を所定の増分だけ増加させる。
【００２７】
上述したように、プログラミングプロセスが繰り返しを反復されることおよびゲートプログラミング電圧が所定の増分だけ増加させられることによって、従来技術によるプログラミングプロセスは、高速プログラミング動作には適していない。さらに、従来技術によるプログラミングプロセスは、その後にプログラミング電圧を増加させることを、特定の不揮発性メモリーデバイス、プログラムされる特定の領域または行、または、デバイスの使用および摩損によるメモリーセルプログラミング特性の何らかの変化に正確に適合させることができない。
【００２８】
本発明の実施形態は、全般的により高速のプログラミング動作を提供するための、かつ、特定の不揮発性メモリーデバイスおよびデバイスの使用および摩損によるメモリーセルプログラミング特性の何らかの変化にプログラミング動作をより良好に適合させることのできる、改善されたプログラミング方法を使用する。本発明の実施形態においては、連続するプログラミングサイクルのプログラミング電圧は、以前のプログラミングサイクル中にプログラミング検証に不合格となりかつメモリーアレイ内に正しくプログラムされなかったデータビットの割合に基づいて増加させられる。これは、より高速のプログラミング動作を可能にし、かつ、その後にプログラミング電圧を増加させることを、特定の不揮発性メモリーデバイス、プログラムされる特定の領域または行、および、デバイスの使用および摩損によるプログラミング特性の何らかの変化により正確に適合させることを可能にする。
【００２９】
本発明の実施形態のプログラミング方法は、プログラミング速度を改善するために、また、それのプログラミングサイクルを特定のメモリーデバイスにより良好に適合させるために、ＮＡＮＤ型フラッシュメモリーデバイス、ＮＯＲ型フラッシュメモリーデバイス、および、並列にデータを大量にプログラムする何らかの不揮発性メモリーデバイスに使用されてもよいことがわかる。
【００３０】
図７は、本発明の実施形態によるプログラミングプロセスのフローチャートを示す。図７において、プログラミング動作は、ＮＡＮＤアーキテクチャーフラッシュメモリーデバイスのような不揮発性メモリーデバイスのアドレスを含むプログラムコマンドを受信する符号７０２から開始する。そして、プログラムコマンドに続いて、プログラムデータ（典型的には、２ｋバイト）が、メモリーデバイス内にロードされ、データキャッシュに記憶される（７０４）。そして、データキャッシュ内のデータは、プログラムデータ内に存在するプログラムされるべきデータビットの総数を決定してそれを記憶するために、メモリーデバイスによって解析される（７３４）。そして、このデータは、不揮発性メモリーアレイの行内にプログラムする準備として、書き込みセンスアンプのデータラッチへ転送される（７０６）。そして、初期プログラミングゲート電圧が、（例えば、１５Ｖに）設定され、プログラミングサイクルループカウンタが、１に設定される（７０８）。そして、データの行が、そのプログラミング電圧を有するパルスをコントロールゲートに送出し、それらのチャンネルをプログラム電圧かまたは禁止電圧に結合することによって、不揮発性メモリーアレイの選択された行にプログラムされる（７１０）。プログラミングパルスが印加され、かつ、データが行にプログラムされた後、そのデータが、再び、読み出され、データキャッシュに保持されている元々のデータと比較され、正しいプログラミングがなされたかどうかが検証される（７１２）。プログラムデータが、検証に合格すれば（７１４）、プログラミング動作は、完了し、そして、終了する（７１６）。プログラムデータが、検証に不合格であれば、かつ、最大プログラミングサイクル回数に到達していなければ（ループカウンタがそれの最大値に達していなければ）（７１８）、プログラミング動作は、継続し、プログラムに失敗したデータビットを再度プログラムすることを試みる。最大プログラミングサイクル回数に到達していれば（ループカウンタがそれの最大値に達していれば）、プログラミング動作は、不合格となり、そして、終了する（７２０）。
【００３１】
検証に不合格となったデータビットを再びプログラムすることを試みるループにおいて、このアルゴリズムは、プログラムされるデータの中に含まれる不合格のプログラムされるビット総数を検査し（７３６）、そして、メモリーセル数／不合格プログラムビット数で表現される割合を計算する（７３８）。そして、ループカウンタが、インクリメントされ（７２２）、検証に合格したデータビットが、ディスイネーブルまたは禁止され、これらのセルの限度を超えたプログラミングを防止する（７２４）。ゲートプログラミング電圧が、それの最大レベルになければ（７２６）、その電圧は、不合格ビットが全体に占める割合に基づいて増加させられ（７３０）、不合格ビットの割合が大きければ、プログラミング電圧は、より大きな変化率で増加させられ、不合格ビットの割合が、小さければ、プログラミング電圧は、より小さい変化率で増加させられる。ゲートプログラミング電圧が、すでに、最大レベルにあれば、それは、増加させられることはなく、最大レベルのままである（７２８）。そして、アルゴリズムは、符号７３２へループし、再び、データ行をプログラムする（７１０）。アルゴリズムのこのループは、継続し、プログラムされたデータが検証に最終的に合格するか（７１６）または最大プログラミングサイクルループ回数を超えてプログラム動作が不合格となる（７２０）まで、プログラムされるビットに対する不合格ビットの割合に基づいてそれぞれのループにおけるプログラミング電圧を増加させる。
【００３２】
本発明の一実施形態においては、与えられた割合の不合格ビットに必要とされる電圧増加の変化量／増分が正確に適合することを向上させるために、メモリーデバイスの製造プロセスおよび設計が、プロファイリングされる。そのような電圧増加に対する不合格ビット割合のプロファイル曲線は、典型的には、与えられた電源電圧またはメモリーデバイスの摩損および使用のレベルに対して異なることはなくあるいは変化することはないことがわかっており、そのために、正確な電圧増加マップを提供する。そして、このプロファイルは、メモリーデバイスが製造されるときにそのメモリーデバイスに取り込まれ／プログラムされる。この電圧増加に対する不合格ビット割合をプロファイリングすることは、個々のメモリーデバイスごとになされてもよく、また、全体的なメモリーデバイスおよび／またはメモリーアレイの個々の領域をプロファイリングすることを可能にし、それによって、電圧増加プロファイルを個々のメモリーデバイスごとに調節するのを可能にすることがわかる。しかしながら、また、これは、典型的には、製造をきわめて複雑なものにし、かつ、結果として得られるメモリーデバイスはより高い単価を有することがわかる。さらに、本発明の一実施形態においては、メモリーデバイスは、全体的なメモリーデバイスおよび／またはメモリーアレイの個々の領域におけるメモリーセルの疲労および摩損に関する内部プログラミング統計値を維持し、個々のメモリーデバイスの摩損レベルごとに電圧増加プロファイルを調節するのを可能にする。
【００３３】
プログラミング電圧をより速くかつより正確に増加させるために、本発明の不揮発性メモリーデバイスのプログラミング動作は、典型的には、従来技術によるメモリーデバイスのプログラミングサイクル回数よりも少ないプログラミングサイクル回数によって、与えられた行のデータをプログラムする。これは、より高速の書き込み、および、より少ないプログラミングサイクル回数によるより少ない電力消費量を可能にし、その結果として、不揮発性メモリーデバイスのより高速の全体的動作をもたらす。
【００３４】
図８は、本発明の実施形態によるメモリーデータキャッシュおよびセンスアンプ回路８００の概略部分図を示す。図８において、プログラムされるべきデータは、Ｉ／Ｏバッファー（図示しない）８１６からそれぞれのセンスアンプ８０２のデータキャッシュラッチ８０４へロードされ、そして、プログラミングのために、センスアンプ８０２のデータ書き込みラッチ８０６へ転送される。それぞれの書き込みデータラッチは、ビット線８０８に接続され（随意的に、この接続は、列デコーダ（図示しない）を介してなされる）、プログラミングのために行デコーダ（図示しない）によって選択された不揮発性メモリー行のビット線８０８を介して接続されたメモリーセルにプログラムするかまたは禁止するのに使用される。ビット加算回路８１０が、データキャッシュラッチ８０４に接続され、データキャッシュラッチ８０４内にロードされたプログラムデータ内に含まれるプログラムされるべきビットの数の合計を計算する。検証不合格ビット加算回路８１２が、書き込みデータラッチ８０６に接続され、検証に不合格であったビットの数の合計を計算するように適合される。そして、比較および電圧調節回路８１４が、プログラムされるべきビットの数と検証に不合格であったビットの数とを比較し、データキャッシュラッチ８０４に保持された現在のプログラムデータからプログラムされたビットの割合を計算し、プログラミングに失敗したビットの相対的割合に比例してゲートプログラミング電圧レベルを調節することによって、あるいは、不合格ビットのために、増加ゲートプログラミング電圧プロファイルテーブルを参照することによって、次のゲートプログラミング電圧レベルを設定する。
【００３５】
ＮＡＮＤおよびＮＯＲアーキテクチャー不揮発性メモリーデバイスプログラミング方法およびアレイの実施形態のための本発明によるその他のプログラミング電圧レベルおよびシーケンスも可能であり、かつ、本明細書から当業者には明白であることがわかる。
[結論]
【００３６】
不揮発性メモリーデバイスおよびプログラミングプロセスが、説明され、それは、連続するプログラミングサイクルのプログラミング電圧を、以前のプログラミングサイクル中にプログラミング検証に不合格でありかつメモリーアレイに正しくプログラムされなかったデータビットの割合に基づいて増加させるものである。これは、平均してより高速のプログラム動作を可能にし、また、その後にプログラミング電圧を増加させることを、特定の不揮発性メモリーデバイス、プログラムされる特定の領域または行、および、デバイスの使用および摩損によるプログラミング特性の何らかの変化により正確に適合させるのを可能にする。本発明の一実施形態においては、製造プロセス／設計、および／または、特定のメモリーデバイスは、プログラミング電圧増加プロファイルに対する不合格ビット割合を生成し、データビットの与えられた不合格割合のための望ましいプログラミング電圧の増分／増加量を設定することを特徴とする。本発明のさらなる実施形態においては、方法および装置は、データを不揮発性メモリーデバイス、より詳細には、ＮＡＮＤアーキテクチャーおよびＮＯＲアーキテクチャーのフラッシュメモリーアレイおよびデバイス内にデータをプログラミングすることに関する。
【００３７】
ここで、特定の実施形態が、図示されかつ説明されたが、当業者には、同じ目的を達成すると思われる何らかの構成が図示された特定の実施形態と置き換えられてもよいことは明白なことである。当業者は、本発明の多くの改造を考え出すことができる。したがって、本出願は、本発明のあらゆる改造または変形を網羅しようとするものである。本発明は添付の特許請求の範囲およびそれに均等なものによってしか限定されないことが明白に意図される。
【図面の簡単な説明】
【００３８】
【図１】本発明の実施形態による不揮発性メモリーデバイスを含むシステムの概略ブロック図である。
【図２】本発明の実施形態によるＮＯＲアーキテクチャーフラッシュメモリーアレイの概略ブロック図である。
【図３】本発明の実施形態によるＮＡＮＤアーキテクチャーフラッシュメモリーアレイのフローティングゲートメモリーセルからなる一連のストリングの概略ブロック図である。
【図４】フローティングゲートメモリーセルの消去およびプログラミング電圧Ｖｔの分布を詳細に示す図である。
【図５】本発明の実施形態による不揮発性メモリーデバイスのプログラミング動作を説明する波形図である。
【図６】従来技術によるＮＡＮＤアーキテクチャーフラッシュメモリープログラミング動作のフローチャートである。
【図７】本発明の実施形態によるＮＡＮＤアーキテクチャーフラッシュメモリーのプログラミング動作のフローチャートである。
【図８】本発明の実施形態によるセンスアンプ回路および制御回路の概略ブロック図である。
【図２】
2008544435.tif 000003
【図１】
2008544435.tif 000004
【図３】
2008544435.tif 000005
【図４】
2008544435.tif 000006
【図５】
2008544435.tif 000007
【図６】
2008544435.tif 000008
【図７】
2008544435.tif 000009
【図８】
2008544435.tif 000010
【手続補正書】
【提出日】平成20年2月14日(2008.2.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
不揮発性メモリーデバイスを動作させる方法であって、
プログラム動作において不揮発性メモリーアレイ内にプログラムされるべきプログラムデータから期待データビットの数を計算するステップと、
前記プログラム動作においてプログラムに失敗した不合格データビットの数を計算するステップと、
前記期待データビットの数と前記不合格データビットの数とを比較した結果に応答してプログラミング電圧を増加させるステップと、
を備えた方法。
【請求項２】
前記期待データビットの数と前記不合格データビットの数とを比較した結果に基づいてプログラミング電圧を増加させるステップが、前記プログラミング動作中に前記不揮発性メモリーアレイ内に正しくプログラムするのに失敗した前記期待データビットの割合に基づいてプログラミング電圧を増加させるステップをさらに備えた請求項１に記載の方法。
【請求項３】
正しくプログラムされた１つかまたはそれ以上のメモリーセルのプログラミングをディスイネーブルするステップと、
正しくプログラムするのに失敗した前記データの中の１つかまたはそれ以上のビットをプログラムするために、前記増加させたプログラミング電圧を印加するステップと、
をさらに備えた請求項１から２に記載の方法。
【請求項４】
１つかまたはそれ以上の繰り返しサイクルを反復するステップと、
プログラム動作中に前記不揮発性メモリーアレイ内にプログラムされるべきプログラムデータから期待データビットの数を計算するステップと、
プログラム動作においてプログラムに失敗した不合格データビットの数を計算するステップと、
前記期待データビットの数と前記不合格データビットの数とを比較した結果に応答してプログラミング電圧を増加させるステップと、
をさらに備えた請求項１から３に記載の方法。
【請求項５】
１つかまたはそれ以上の繰り返しサイクルを反復するステップが、最大繰り返し回数に到達するかまたは前記不合格データビットの数がゼロになるまで繰り返すステップをさらに備えた請求項４に記載の方法。
【請求項６】
前記期待データビットの数と前記不合格データビットの数とを比較した結果に基づいてプログラミング電圧を増加させるステップが、前記期待データビットの数と前記不合格データビットの数とを比較した結果に応答してプログラミング電圧を増加させ、プログラミング電圧の全体的な増加が、所定の最大プログラミング電圧レベルによって制限されるようにするステップをさらに備える請求項１から５に記載の方法。
【請求項７】
前記期待データビットの数と前記不合格データビットの数との与えられた比較に対するプログラミング電圧増加のプロファイルを決定するために、前記不揮発性メモリーデバイスをプロファイリングするステップ、
をさらに備えた請求項１に記載の方法。
【請求項８】
前記期待データビットの数と前記不合格データビットの数との与えられた比較に対するプログラミング電圧増加のプロファイルを決定するために前記不揮発性メモリーデバイスをプロファイリングするステップが、前記不揮発性メモリーデバイスの製造プロセスに関して前記期待データビットの数と前記不合格データビットの数との与えられた比較に対するプログラミング電圧増加のプロファイルを決定するために前記不揮発性メモリーデバイスをプロファイリングすること、前記不揮発性メモリーデバイスの設計に関する特性を決定すること、特定のメモリーデバイスに関して前記期待データビットの数と前記不合格データビットの数との与えられた比較に対するプログラミング電圧増加のプロファイルを決定するために前記不揮発性メモリーデバイスをプロファイリングすること、特定のメモリーアレイ領域に関して前記期待データビットの数と前記不合格データビットの数との与えられた比較に対するプログラミング電圧増加のプロファイルを決定するために前記不揮発性メモリーデバイスをプロファイリングすること、および、特定のメモリーセル摩損レベルに関して前記期待データビットの数と前記不合格データビットの数との与えられた比較に対するプログラミング電圧増加のプロファイルを決定するために前記不揮発性メモリーデバイスをプロファイリングすることの中の１つによって、前記不揮発性メモリーデバイスをプロファイリングするステップをさらに備えた請求項７に記載の方法。
【請求項９】
前記不揮発性メモリーデバイスが、フラッシュメモリーデバイス、ＥＥＰＲＯＭメモリーデバイス、ポリマーメモリーデバイス、強誘電性ランダムアクセスメモリー（ＦｅＲＡＭ）デバイス、Ｏｖｉｏｎｉｃｓ  Ｕｎｉｆｉｅｄ  Ｍｅｍｏｒｙ（ＯＵＭ）デバイス、および、磁気抵抗ランダムアクセスメモリー（ＭＲＡＭ）デバイスの中の１つである請求項１から６に記載の方法。
【請求項１０】
前記不揮発性メモリーアレイが、ＮＡＮＤアーキテクチャーメモリーアレイおよびＮＯＲアーキテクチャーメモリーアレイの中の１つである請求項１から６に記載の方法。
【請求項１１】
不揮発性メモリーデバイスを動作させる方法が、
プログラミングコマンドと複数のデータビットを含むプログラムデータとを前記不揮発性メモリーデバイスのインタフェース上で受信するステップと、
前記プログラムデータをデータキャッシュへ転送するステップと、
前記プログラムデータを書き込みデータラッチへ転送するステップと、
前記データキャッシュ内に保持された前記プログラムデータ内に含まれるプログラムされるべきビットの数を計算するステップと、
前記複数のデータビットをプログラムするために選択された複数のメモリーセルに初期プログラミング電圧を印加することによって、プログラミングサイクル中に、前記不揮発性メモリーアレイ内に前記複数のデータビットをプログラムするステップと、
前記不揮発性メモリーアレイの前記複数のメモリーセル内にプログラムされた前記複数のデータビットからなるプログラムデータを検証し、
正しくプログラムすることに失敗したメモリーセルの数を計算し、
前記データキャッシュ内に保持されたプログラムされるべき前記ビットの数に関連して前記複数のメモリーセル内に正しくプログラムするのに失敗した前記複数のデータビットの割合を計算し、
前記複数のメモリーセル内に正しくプログラムするのに失敗した前記複数のデータビットの割合との選択された関係に基づいて前記プログラミング電圧を増加させ、
正しくプログラムされた１つかまたはそれ以上のメモリーセルのプログラミングをディスイネーブルし、
データの中の正しくプログラムするのに失敗した１つかまたはそれ以上のビットをプログラムするために、前記増加させたプログラミング電圧を印加し、
１つかまたはそれ以上の繰り返しサイクルを反復する、
ことによって、正しくプログラムするのに失敗した前記複数のメモリーセルの中のいずれかのメモリーセルにプログラムすることを試みるステップと、
をさらに備えた請求項１に記載の方法。
【請求項１２】
不揮発性メモリーデバイスであって、
不揮発性メモリーアレイと、
制御回路と、
を備え、
前記制御回路が、プログラミング動作中に、複数のデータビットを書き込むために選択された複数のメモリーセルに初期プログラミング電圧を印加することによって、かつ、
前記不揮発性メモリーアレイの前記複数のメモリーセル内にプログラムされた前記複数のデータビットを検証し、
前記複数のメモリーセル内に正しくプログラムすることに失敗した前記複数のデータビットの割合との選択された関係に基づいて前記プログラミング電圧を増加させ、
正しくプログラムされた１つかまたはそれ以上のメモリーセルのプログラミングをディスイネーブルし、
データの中の正しくプログラムするのに失敗した１つかまたはそれ以上のビットをプログラムするために、前記増加させたプログラミング電圧を印加し、
１つかまたはそれ以上の繰り返しサイクルを反復する、
ことによって、正しくプログラムするのに失敗した前記複数のメモリーセルの中のいずれかのメモリーセルにプログラムすることを試みることによって、複数のデータビットを前記不揮発性メモリーアレイ内にプログラムするように構成された、
不揮発性メモリーデバイス。
【請求項１３】
前記制御回路が、前記複数のデータビットのすべてが検証に合格するまで、または、繰り返しの最大回数に到達するまで、１つかまたはそれ以上の繰り返しサイクルを反復するように構成された請求項１２に記載の不揮発性メモリーデバイス。
【請求項１４】
前記プログラミングサイクル中に前記不揮発性メモリーアレイの前記複数のメモリーセル内に正しくプログラムするのに失敗した前記複数のデータビットの割合との選択された関係に基づいて前記プログラミング電圧を増加させるように構成された前記制御回路が、全体的なプログラミング電圧レベルを所定の最大プログラミング電圧レベルに制限することをさらに備えた請求項１２から１３に記載の不揮発性メモリーデバイス。
【請求項１５】
前記制御回路が、データビットの与えられた不合格割合に対する前記望ましいプログラミング電圧の増分を特定する前記不揮発性メモリーアレイのプロファイルに基づいて、前記プログラミング電圧を増加させるように構成された請求項１２から１４に記載の不揮発性メモリーデバイス。
【請求項１６】
前記不揮発性メモリーデバイスが、ＮＡＮＤアーキテクチャーフラッシュメモリーデバイス、ＮＯＲアーキテクチャーフラッシュメモリーデバイス、ＥＥＰＲＯＭメモリーデバイス、ポリマーメモリーデバイス、強誘電性ランダムアクセスメモリー（ＦｅＲＡＭ）デバイス、Ｏｖｉｏｎｉｃｓ  Ｕｎｉｆｉｅｄ  Ｍｅｍｏｒｙ（ＯＵＭ）デバイス、および、磁気抵抗ランダムアクセスメモリー（ＭＲＡＭ）、分子メモリーデバイスの中の１つである請求項１２から１５に記載の不揮発性メモリーデバイス。
【請求項１７】
前記不揮発性メモリーデバイスが、
複数のセンスアンプと、
Ｉ／Ｏバッファーと、
メモリーインタフェースと、
をさらに備え、
前記制御回路が、前記不揮発性メモリーアレイ、前記Ｉ／Ｏバッファー、前記複数のセンスアンプ、および、前記メモリーインタフェースに接続された制御ステートマシーンであり、前記制御ステートマシーンが、プログラミング動作中に、前記複数のデータビットをプログラムするために選択された複数の不揮発性メモリーセルに初期プログラミング電圧を印加することによって、かつ、
前記不揮発性メモリーアレイの前記複数のメモリーセル内にプログラムされた前記複数のデータビットを検証し、
前記複数のメモリーセル内に正しくプログラムするのに失敗した前記複数のデータビットの割合との選択された関係に基づいて前記プログラミング電圧を増加させ、
正しくプログラムされた１つかまたはそれ以上のメモリーセルのプログラミングをディスイネーブルし、
データの中の正しくプログラムするのに失敗した１つかまたはそれ以上のビットをプログラムするために、前記増加させたプログラミング電圧を印加し、
１つかまたはそれ以上の繰り返しサイクルを反復する、
ことによって、正しくプログラムするのに失敗した前記複数のメモリーセルの中のいずれかのメモリーセルにプログラムすることを試みることによって、前記メモリーインタフェースにおいて受信された前記複数のデータビットを前記不揮発性メモリーアレイ内にプログラムするように構成された、
請求項１２に記載の不揮発性メモリーデバイス。
【請求項１８】
前記不揮発性メモリーデバイスが、システムをさらに備え、前記システムが、
前記不揮発性メモリーデバイスに接続されたホスト、
を備えた請求項１２から１７に記載の不揮発性メモリーデバイス。
【請求項１９】
前記ホストが、プロセッサーおよびメモリーコントローラの中の１つである請求項１８に記載の不揮発性メモリーデバイス。
【国際調査報告】
2008544435.tif 000011
2008544435.tif 000012