(57)【要約】改善されたフラッシュＥＥＰＲＯＭメモリベースの記憶サブシステムが１以上のフラッシュメモリアレイを含み、各フラッシュメモリアレイはデータレジスタとコントローラ回路の二重性を備えている。フラッシュアレイからデータレジスタの中へデータを読み出し、このデータを別のレジスタへコピーし、その結果、同じアレイの中へ入る後続のプログラム処理中、上記データの有効性をチェックするための、コントローラへのデータ転送も可能となる。これによって、コピー処理中のデータ転送の待ち時間に苦しまずに、さらに、このような処理時に必要なデータの有効性を保証する改善されたパフォーマンスを持つシステムがつくりだされる。
2004507007.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリシステムにおいて、
不揮発性メモリセルからなるアレイと、
第１のレジスタと、
第２のレジスタと、
前記アレイからデータを読み出し、読み出したデータを前記第１と第２のレジスタの中へ記憶し、前記第２のレジスタ内のデータの有効性をチェックしながら、前記第１のレジスタからのデータを用いて前記アレイの１以上の記憶位置を同時にプログラムするためのコントローラ回路と、
を備えることを特徴とするシステム。
【請求項２】
前記プログラミングが行われている間、前記コントローラが、前記メモリシステムから前記第２のレジスタ内の記憶データを読み出させることを特徴とする請求項１記載のシステム。
【請求項３】
前記メモリセルがフラッシュメモリセルを備えることを特徴とする請求項１記載のシステム。
【請求項４】
前記第２のレジスタ内の前記データの有効性をチェックするＥＣＣ回路をさらに備えることを特徴とする請求項１記載のシステム。
【請求項５】
前記プログラミングが行われている間、前記第２のレジスタが、アドレス指定と読み出しとを行う能力を有する複数の個々のエレメントを備えることを特徴とする請求項１記載のシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体不揮発性メモリのアーキテクチャの技術分野およびその処理方法に関し、フラッシュ電気的に消去可能でプログラム可能なリード・オンリー・メモリ（ＥＥＰＲＯＭ）に適用される。
【０００２】
【従来の技術】
フラッシュＥＥＰＲＯＭ装置の一般的応用として、電子デバイス用大容量データ記憶装置のサブシステムとしての応用がある。このようなサブシステムは、複数のホストシステムの中へ挿入可能なリムーバブル・メモリカードとして、または、ホストシステム内の非リムーバブルな組み込み型記憶装置としてのいずれかとして一般に実現される。上記双方の実現時に、サブシステムは、１以上のフラッシュ装置を含み、またサブシステム・コントローラを含む場合も多い。
【０００３】
フラッシュＥＥＰＲＯＭ装置は、トランジスタセルからなる１以上のアレイから構成され、各セルは１以上のビット・データの不揮発性記憶を行う能力を有する。したがって、フラッシュメモリは、その中でプログラムされたデータの保持用電力を必要としない。しかし、一旦プログラムされると、新しいデータ値での再プログラムができるようになる前にセルの消去を行う必要がある。セルからなる上記アレイはグループに分割され、読み出し、プログラム、消去の各機能が効率的に実現される。大容量記憶装置用の典型的なフラッシュメモリ・アーキテクチャは、大きなグループのセルが消去可能ブロックとなるように構成される。各ブロックは、読み出し機能およびプログラム機能を行うための基本単位である１以上のアドレス可能なセクタにさらに分割される。
【０００４】
サブシステムの論理ブロックアドレス（ＬＢＡ）を物理チップ、物理ブロックおよび物理セクタアドレスに翻訳する機能を含むいくつかの機能がサブシステム・コントローラにより実行される。また、上記コントローラは、インタフェースバスを介してフラッシュメモリ装置へ出す一連のコマンドを介して低レベルのフラッシュ回路の動作も管理する。上記コントローラが行う別の機能として、様々な手段により（例えば、誤り訂正符号すなわちＥＣＣなどを利用して）上記サブシステムに対して記憶データの完全性を維持する機能がある。
【０００５】
消去ブロックの中に複数のセクタを含むこのようなシステムの作動時に、１つのセクタのデータ内容を消去した別のセクタにコピーすることが時折必要となる場合がある。このような必要性は、例えば、ホストがサブシステムへ書き込む新しいデータによりブロックのセクタの一部のデータを取り替える場合などに生じることがあるが、その場合、ブロック内に存在する、影響を受けないその他のセクタのデータへの、原セクタの新しいデータの物理的近接を維持する必要がある。図１は、この近接の維持を可能にする方法を示す図である。影響を受けないこのセクタのデータは原ブロックから読み出され、別のブロック内の消去されたセクタの中へその後プログラムされる。ホストからの新しいデータも新しいブロック内の消去されたセクタの中へ同様にプログラムされる。これらの処理の完了後、取って替わられたデータを持つ原ブロックが消去される。
【０００６】
上述のような処理中、従来方式のフラッシュメモリを用いる場合、メモリからの読み出しデータを転送し、そのデータをプログラムするメモリへその後転送する必要がある。上記データ転送処理はセクタ・サイズ÷フラッシュメモリインタフェースバス幅×バスのサイクルタイムに等しい待ち時間を生じる。同じ物理メモリ装置に対して非常に頻繁にこれらの処理が行われる。
【０００７】
上記データ転送待ち時間が処理全体に対して持つインパクトをさらに示すために、図１についてさらに詳細に説明する。例示を目的として、図１に示すように、ブロックは１６のセクタから成り、各セクタはセクタ０からセクタ１５にアドレスが増分して割り当てられるものと仮定する。データ・ブロックのセクタ７からセクタ９まで新しいデータの書き直しを望む例の場合、書き込みシーケンスは以下のようになる。
１．セクタプログラムの処理用として未使用の消去ブロック（消去ブロック１
）を割り当てる。
２．原ブロックのアドレスを選択し、原ブロックのセクタ０を読み出し、フラ
ッシュＥＥＰＲＯＭからコントローラへデータを転送する。
３．新しく割り当てたブロックのアドレスを選択し、フラッシュＥＥＰＲＯＭ
へデータを返送し、新しく割り当てたブロックのセクタ０にプログラムを
行う。
４．セクタ１から６についてステップ２と３を反復する。
５．新しく割り当てたブロックのアドレスを選択し、ページ７用の新しいホス
トデータをフラッシュＥＥＰＲＯＭへ転送し、新しく割り当てたブロック
のセクタの中へプログラムを行う。
６．セクタ８と９についてステップ５を反復する。
７．原ブロックのアドレスを選択し、原ブロックのセクタ１０を読み出し、フ
ラッシュＥＥＰＲＯＭからコントローラへデータを転送する。
８．新しく割り当てたブロックのアドレスを選択し、フラッシュＥＥＰＲＯＭ
へデータを返送し、新しく割り当てたブロックのセクタ１０の中へプログ
ラムを行う。
９．セクタ１１から１５についてステップ７と８を反復する
１０．将来の書き込み処理用として（すでに取り替えられた）原ブロックを消去
する。
【０００８】
図２は、典型的な従来技術によるフラッシュＥＥＰＲＯＭ装置の内部アーキテクチャ４０００を示す。主な特徴として含まれるものに、外部コントローラとインタフェースするＩ／Ｏバス４１１と制御信号４１２、コマンド用、アドレス用および状態用レジスタを備えた内部メモリ処理を制御するメモリ制御回路４５０、各アレイがそれ自身の行復号器（ＸＤＥＣ）４０１と列復号器（ＹＤＥＣ）４０２とを備えた、フラッシュＥＥＰＲＯＭセルの１以上のアレイ４００と、１グループのセンス・アンプおよびプログラム制御回路構成（ＳＡ／ＰＲＯＧ）４５４と、データレジスタ４０４とがある。
【０００９】
所望の場合、例えば、米国特許第５，８９０，１９２号（１９９９年３月３０日発行、本願の譲受人であるサンディスク　コーポレイションへ譲渡）が教示するような、関連するＸ復号器、Ｙ復号器、プログラム／検証回路構成、データレジスタ等と共に、複数のアレイ４００が提供される。上記特許は、本願明細書に参考文献として取り入れられている。
【００１０】
外部インタフェースＩ／Ｏバス４１１と制御信号４１２とは以下の信号を用いて構成することも可能である。
ＣＳ−チップ選択：　フラッシュメモリ・インタフェースをアクティブにす
るために使用する。
ＲＳ−読み出しストローブ：　ＡＤバスがデータ読み出し処理に使われている
ことを示すために使用する。
ＷＳ−書き込みストローブ：　ＡＤバスがデータ書き込み処理に使われてい
ることを示すために使用する。
ＡＳ−アドレス・ストローブ：　ＡＤバスがアドレス情報の転送に使われてい
ることを示すために使用する。
ＡＤ［７：０］−アドレス／データバス：　コントローラとフラッシュメモリ
コマンド間、および、アドレスレ
ジスタとデータレジスタ間でのデ
ータ転送に使用する。
【００１１】
上記インタフェースは一例として示すものにすぎず、同じ機能を行う別の信号構成の利用も可能である。この図には関連する構成要素を備えた唯一のフラッシュメモリアレイ４００しか示されていないが、同時に読み出し処理およびプログラム処理を可能にするために、共通のインタフェースとメモリ制御回路構成とを共有し、しかも、個々に独立したＸＤＥＣ、ＹＤＥＣ、ＳＡ／ＰＲＯＧ、ＤＡＴＡ　ＲＥＧを備えた多数のアレイが、単一のフラッシュメモリチップ上に存在することが可能であることは理解できよう。
【００１２】
ＥＥＰＲＯＭシステム４０００のデータレジスタ４０４からのデータは、データレジスタを介してＩ／ＯバスＡＤ［７：０］４１１と接続する外部コントローラと結合される。データレジスタ４０４はセンス・アンプ／プログラミング回路４５４とも結合される。各センス・アンプ／プログラミング回路素子と結合されるデータレジスタのエレメント数は、各フラッシュＥＥＰＲＯＭセルに記憶されたビット数により決めてもよい。マルチ状態メモリセルを用いる場合、各フラッシュＥＥＰＲＯＭセルは２や４のような複数のビットを含むものであってもよい。
【００１３】
行復号器４０１は、アクセスする物理セクタの選択のためにアレイ４００用の行アドレスを復号化する。行復号器４０１は、メモリ制御論理回路４５０から内部行アドレスライン４１９を介して行アドレスを受け取る。列復号器４０２は、メモリ制御論理回路４５０から内部列アドレスライン４２９を介して列アドレスを受け取る。
【００１４】
記憶データの有効性の判定に利用する誤り検出および訂正符号（ＥＣＣ）と共に、セクタ内へプログラムしたホストデータの各セクタ値の追加が一般に行われる。このようないくつかのシステムでは、データが新しい記憶位置に正しくプログラムされていることを保証する１つの方法として、読み出しデータの有効性をチェックする機会としての転送時が利用される。これらの記憶装置の忠実度全体に起因して、このような検証中の失敗はめったに生じない。
【００１５】
図３は、典型的なフラッシュカード・アーキテクチャを示す図であり、該アーキテクチャはホストおよびメモリの制御機能を実行する単一のコントローラ３０１、および、１以上のフラッシュメモリ装置から構成されるフラッシュメモリアレイを備えている。上記システム・コントローラとフラッシュメモリとはバス３０２により接続され、該バスによりコントローラ３０１は、フラッシュメモリアレイ間を往来するコマンド、アドレスおよび転送データのロードが可能となる。
【００１６】
図４は、ソース・アドレス（ＳＲＣ［Ｎ］）から宛先アドレス（ＤＳＴ［Ｎ］）へページコピー処理を行うタイミング図を示す。ＲＥＡＤ信号は、読み出しがソースセクタから行われていることを示す。ＸＦＥＲ信号は、フラッシュデータレジスタとコントローラ間でのデータ転送を示す。Ｒ／ＷＢ信号は、転送の方向を示す（ハイはフラッシュからコントローラへの読み出しであり、ローはコントローラからフラッシュへの書き込みである）。ＰＲＯＧ信号は、プログラム処理が宛先ページに対して行われていることを示す。
一般的なタイミング値：
ＴＲＤ＝２５ｕｓ
ＴＸ ＝２６．４ｕｓ
ＴＰＲＧ ＝３００ｕｓ
ＴＥＲＡ ＝５００−３０００ｕｓ（図示せず）
したがって、（図４に示すように）単一のセクタをコピーする時間の合計は、
ＴＣＯＰＹ＝ＴＲＤ＋２＊ＴＸ＋ＴＰＲＧ ＝３７７ｕｓ
データ転送時間は、ページコピー処理全体の１４％になる。
【００１７】
これら装置の書き込みおよび読み出しパフォーマンスの向上を図るために、一度にプログラムし、読み出しが可能なセル数を増やすことが不揮発性メモリ設計における一般的トレンドである。これは、単一ダイ上のメモリセルアレイ数の増大、単一平面内のページサイズの増加、複数チップの同時プログラミング、あるいは上記３つの技法のいずれかの組み合わせにより達成可能である。これらのうちのいずれかの結果として、さらに多数のセルのプログラミングや読み出しを行うために、プログラミング時間と読み出し時間とをほとんどあるいは全く変えることなく、データ転送の長さを増やす必要があることが挙げられる。したがって、このような増加並列要因をかかえるシステムでのデータコピー費用はそれだけずっと高くなる。一例として、上記例で利用するのと同じタイミング値により、４の４倍の増加並列要因を伴うシステムに対するインパクトを以下に示す。
ＴＣＯＰＹ＝ＴＲＤ＋８＊ＴＸ＋ＴＰＲＧ ＝５３６．２ｕｓ
データ転送時間は、４ページのコピー処理全体の３９％になる。
【００１８】
米国特許第６，０４０，９９７号には、特許権者および他者により周知の技法についての記載がある。該特許では、フラッシュメモリシステムが内部バッファを有し、フラッシュメモリの中から当該データを転送する必要がなく、フラッシュメモリ内の第１の記憶位置からの読出しデータの再書き込みがフラッシュメモリ内の別の記憶位置に対して行われるようになっている。これによりデータ転送時間の向上が図られる。しかし、上記周知の技法は、誤りチェックおよび訂正を行うものではなく、第１のフラッシュメモリの記憶位置からの読出しデータが正確であることを単に仮定するものにすぎない。
【００１９】
必要なことは、コピーされたデータの完全性を検証できるように、データ転送待ち時間を伴わないコピー処理の効率的利用を可能とする方法である。
【００２０】
（発明の開示）
物理的にアドレス指定した記憶位置内のメモリセルからデータの読み出し（検知）を行った後、物理的にアドレス指定した異なる記憶位置へ当該データをプログラムするための使用回路構成を備えた不揮発性メモリシステムが設計される。これにより、メモリ回路の中からのデータ転送と、メモリ回路の中へのデータ転送との２回のデータ転送により苦しめられる待ち時間を除くことにより、メモリ記憶装置システムのパフォーマンス全体の向上が図られる。プログラム処理中、このデータは制御回路へさらに転送され、それによってデータの有効性が検証される。これにより、システムの低下した信頼性に苦しむことなくプログラム処理と同時にデータの検証を可能とすることによりシステムのパフォーマンス全体がさらに高められる。
【００２１】
【発明の実施の形態】
図５は、本発明の１つの実施形態に基づいて構成される半導体不揮発性メモリを表す図である。図示のメモリシステムは、図２との関連で前述したように、２つの別個にアドレス指定したメモリアレイ４００−０と４００−Ｎとから成り、各メモリアレイは、特定のワード線をアドレス指定し、当該ワード線に対するセルのしきい値電圧を検知し、後の処理で利用する検知データの記憶を目的とする関連回路構成を有する。また、このメモリシステムは、１以上のワード線により制御される１グループのセルの消去を目的とし、さらに、アドレス指定したワード線のうちの１つに沿ったセルのプログラミングを目的とするプログラミング回路も各アレイと関連して備えている。図５は、関連づけられたアレイの回路構成と、別個のコントローラ回路とを備えた２つの別個のアレイを備えたシステムを示しているが、本発明は、任意の所望の数の不揮発性メモリセルから成るようなアレイを備えたメモリシステムと、コントローラ回路が、複数のメモリアレイのうちの１以上のメモリアレイが存在するのと同じ半導体装置上に含まれるシステムとに適用されるものである。
【００２２】
本発明では、検知データを格納し、プログラミング用データを出力する回路構成は、これら双方の処理を行う記憶エレメントが物理的に同じ構成となるように設計される。これにより、一旦データを読み出し、検知データレジスタに記憶すると、さらなるデータ転送を行う必要がなく、該データをプログラム処理の制御に利用することが可能となる。
【００２３】
上記アドレス指定メカニズムは、アドレス指定した特定のワード線に対する読み出し動作を行った後、同じアレイで異なるワード線へのアドレス指定を行うアドレス変更が可能となるように設計され、検知したデータレジスタから得た当該データを用いて後者のワード線のプログラミングを行うことが意図されている。したがって、この回路には、メモリ装置の外側へデータを送る必要なく１つのワード線から別のワード線へ効率的なコピー処理を行うのに必要なすべてのものが含まれていることになる。
【００２４】
１６個のデータ・ブロックのセクタ７からセクタ９に新しいデータの再書き込みを行うことを望む場合の例として、書き込みシーケンスは以下のようになる。
１．セクタ書き込み処理用として未使用ブロック（消去ブロック１）を割り当
てる。
２．原ブロックのアドレスを選択し、原ブロックのページ０を読み出してデー
タレジスタの中へ入れる。
３．新しく割り当てたブロックのアドレスを選択し、新しく割り当てたブロッ
ク内でプログラム処理を開始する。データの有効性をチェックするために
データレジスタからコントローラ回路へデータを同時に転送する。
４．メモリ状態レジスタとデータの有効性状態とをチェックする。誤りがあれ
ば、誤り回復メカニズムを呼び出す。
５．ページ１から６についてステップ２から４を反復する。
６．新しく割り当てたブロックのアドレスを選択し、コントローラからフラッ
シュＥＥＰＲＯＭへページ７用の新しいデータを転送し、新しく割り当て
たブロック内でプログラム処理を開始する。
７．メモリ状態レジスタをチェックする。誤りがあれば、誤り回復メカニズム
を呼び出す。
８．ページ８と９についてステップ６と７を反復する。
９．原ブロックのアドレスを選択し、原ブロックのページ１０を読み出してデ
ータレジスタの中へ入れる。
１０．新しく割り当てたブロックのアドレスを選択し、新しく割り当てたブロッ
クでページ１０のプログラム処理を開始する。データの有効性をチェック
するためにデータレジスタからコントローラ回路へデータを同時に転送す
る。
１１．メモリ状態レジスタとデータの有効性状態とをチェックする。
１２．ページ１１から１５についてステップ９から１１を反復する。誤りがあれ
ば、誤り回復メカニズムを呼び出す。
【００２５】
図６は、本発明の１つの実施形態に基づくコピー処理中に生じる一続きのイベントを示す。矢印は、（１）読み出し中、（２）マスタからスレーブへのレジスタ中、（３）プログラム中および（３）データ転送中の各データフローの方向を示す。データ転送処理およびプログラム処理の双方はそれらが並列処理であることを示す矢印（３）を有する。
【００２６】
上記メモリは、１以上の別個のメモリセルアレイとして設計されているので、存在する別個のメモリアレイと同数のコピー処理の同時実行が可能となる。これによりさらに処理効率が上昇する。
【００２７】
１以上のセル内のデータが、一旦検知された後、当該セルの中へプログラムした原データを時折反映しない場合が確かにある。このような場合、外部の検証回路手段を利用することにより当該データの有効性を検証することが望ましい。１つの実施形態では、原データと同時にプログラムして、１グループのセルの中へ入れたデータの冗長性（例えば、ＥＣＣなど）が利用される。当該セルからこのデータの冗長性を読み出し、その冗長性により当該データの有効性を検証することが可能となる。誤りを検出した場合、当該冗長性情報を利用して誤りを含むデータの訂正が可能となる。図５に示す実施形態により、検証を行うために、一旦検知したデータをメモリ回路の外部回路へ転送することが可能となる。オリジナルの検知データレジスタの内容を変更せずに、この転送処理を可能にするような方法で上記転送は実現される。これによって、プログラム処理と同時に転送処理と検証処理とを行うことが可能となる。
【００２８】
多くの別個のメモリセルアレイが存在するため、また、プログラム処理の実行時間が転送時間および検証時間よりも大幅に長いため、複数の転送処理と検証処理と同時に複数のプログラム処理の実行が可能となる。このようにして、パフォーマンス・ペナルティを伴うことなくコピー処理中プログラムするデータの有効性の保証が可能となる。さらに、データの有効性を保証することによりシステムの信頼性が高まる。
【００２９】
あたかも個々の各文献が参考文献として取り入れられていることが明確にかつ個々に示されているのと同程度まで、本明細書で上述したすべての文献および特許は本明細書に参考文献として取り入れられている。
【００３０】
以上本発明について十分に説明したので、添付の請求項の精神または範囲から逸脱することなく、本発明に対する多くの変更と修正が可能であることは当業者には明らかであろう。
【図面の簡単な説明】
【図１】
従来技術によるＥＥＰＲＯＭ内の論理アドレスへの新しいデータの書き込みに関わるステップを示す。
【図２】
従来技術による一般的ＥＥＰＲＯＭのブロック図を示す。
【図３】
従来技術によるフラッシュベースの一般的記憶サブシステム・アーキテクチャを示す。
【図４】
従来技術のページコピー処理のタイミング図を示す。
【図５】
本発明の１つの実施形態に基づく半導体不揮発性メモリの概略表示を示す。
【図６】
本発明の１つの実施形態に基づくコピー処理中に生じる一続きのイベントを示す。
【図１】
2004507007.tif 000003
【図２】
2004507007.tif 000004
【図３】
2004507007.tif 000005
【図４】
2004507007.tif 000006
【図５】
2004507007.tif 000007
【図６】
2004507007.tif 000008
【国際公開パンフレット】
2004507007.tif 000009
2004507007.tif 000010
2004507007.tif 000011
2004507007.tif 000012
2004507007.tif 000013
2004507007.tif 000014
2004507007.tif 000015
2004507007.tif 000016
2004507007.tif 000017
2004507007.tif 000018
2004507007.tif 000019
2004507007.tif 000020
2004507007.tif 000021
2004507007.tif 000022
2004507007.tif 000023
2004507007.tif 000024
2004507007.tif 000025
【国際公開パンフレット（コレクトバージョン）】
2004507007.tif 000026
2004507007.tif 000027
【国際調査報告】
2004507007.tif 000028
2004507007.tif 000029