(57)【要約】  メモリ装置（３０１）の内部のプログラミング中に同時に外部の読出動作を実行するためのシステム（３００）および方法が記載される。メモリ装置は、データをランダムに記憶するように構成されており、かつ、ソース場所（３０５）と、宛先場所（３０３）と、データレジスタ（３０７）と、キャッシュレジスタ（３０９）とを含む。データレジスタ（３０７）は、データを宛先（３０３）およびキャッシュレジスタ（３０９）に同時に書込むように構成される。システム（３００）はさらに、メモリ装置との電気的な通信を介して受信したデータの的確さを検証するための処理装置（１０７）（たとえば、マイクロプロセッサまたはマイクロコントローラ）を含む。処理装置（１０７）はさらに、受信したデータが不正確であった場合、誤り訂正を行ない、必要に応じてそのデータにランダムデータを追加し、誤り訂正済みおよび／またはランダムデータ変更されたデータを宛先場所（３０３）に転送して戻すように構成される。
2008504637.tif 000002
【特許請求の範囲】
【請求項１】
メモリ装置において内部のプログラミング中に同時に外部の読出動作を実行するためのシステムであって、
データをランダムに記憶するための記憶手段を含み、前記記憶手段は、ソースメモリ場所と、宛先メモリ場所と、データレジスタと、キャッシュレジスタとを含み、前記データレジスタは、データを前記宛先メモリ場所および前記キャッシュレジスタに同時に書込むように構成されており、前記ソースメモリ場所および前記宛先メモリ場所は、前記データレジスタと電子的に通信するように動作可能であり、前記データレジスタはさらに、前記キャッシュレジスタと電子的に通信するように動作可能であり、前記システムはさらに、
前記記憶手段との電気的な通信を介して受信されたデータの的確さを検証するための検証手段を含み、前記検証手段はさらに、前記データが不正確であった場合に、前記データの誤り訂正を行なうように構成される、システム。
【請求項２】
前記記憶手段はフラッシュメモリ装置である、請求項１に記載のシステム。
【請求項３】
前記フラッシュメモリ装置はＮＡＮＤタイプの装置である、請求項２に記載のシステム。
【請求項４】
前記検証手段はマイクロコントローラである、請求項１に記載のシステム。
【請求項５】
前記検証手段はマイクロプロセッサである、請求項１に記載のシステム。
【請求項６】
前記記憶手段と前記検証手段との間の電気的な通信は、シリアルバスを介して行なわれる、請求項１に記載のシステム。
【請求項７】
前記データの的確さは、前記データと、前記ソースメモリ場所に元から記憶されているデータとを照合することで得られる、請求項１に記載のシステム。
【請求項８】
前記データの的確さは、誤り訂正符号化の技法によって得られる、請求項１に記載のシステム。
【請求項９】
前記検証手段はさらに、前記受信したデータにランダムデータを挿入するように構成されている、請求項１に記載のシステム。
【請求項１０】
メモリ装置において内部のプログラミング中に同時に外部の読出動作を実行するための方法であって、
前記メモリ装置のソースアドレス場所に記憶された元のデータをデータレジスタにコピーするステップと、
前記元のデータを前記データレジスタからキャッシュレジスタおよび宛先場所に同時にコピーする間、コピーされた前記元のデータを前記データレジスタにミラーリングするステップとを含む、方法。
【請求項１１】
前記キャッシュレジスタに記憶された元のデータを処理装置に転送するステップと、
転送された元のデータと、前記ソースアドレス場所に記憶された然るべきデータとを照合することで、前記元のデータの完全性を検証して、前記転送された元のデータにおける潜在的な誤りを見出すステップと、
何らかの誤りが検出された場合、前記転送された元のデータに対して誤り訂正を実行し、それによって誤り訂正済みのデータを作成するステップとをさらに含む、請求項１０に記載の方法。
【請求項１２】
誤り訂正済みのデータを、前記処理装置から前記キャッシュレジスタに転送するステップと、
前記誤り訂正済みのデータのコピーを、前記キャッシュレジスタから前記データレジスタにミラーリングするステップと、
前記誤り訂正済みのデータを、前記データレジスタから前記宛先場所にコピーするステップとを含む、請求項１１に記載の方法。
【請求項１３】
変更された誤り訂正済みのデータを作成する前に、前記誤り訂正済みのデータにランダムデータを追加するステップと、
変更された誤り訂正済みのデータを、前記処理装置から前記キャッシュレジスタに転送するステップと、
前記変更された誤り訂正済みのデータのコピーを、前記キャッシュレジスタから前記データレジスタにミラーリングするステップと、
前記変更された誤り訂正済みのデータを、前記データレジスタから前記宛先場所にコピーするステップとをさらに含む、請求項１１に記載の方法。
【請求項１４】
前記元のデータにランダムデータを追加して、変更されたデータを作成するステップと、
前記変更されたデータを、前記処理装置から前記キャッシュレジスタに転送するステップと、
前記変更されたデータのコピーを、前記キャッシュレジスタから前記データレジスタにミラーリングするステップと、
前記変更されたデータを、前記データレジスタから前記宛先場所にコピーするステップとをさらに含む、請求項１１に記載の方法。
【請求項１５】
処理装置はマイクロコントローラである、請求項１１に記載の方法。
【請求項１６】
処理装置はマイクロプロセッサである、請求項１１に記載の方法。
【請求項１７】
メモリ装置において内部のプログラミングの間に同時に外部の読出動作を実行するためのシステムであって、
データをランダムに記憶するためのメモリ装置を含み、前記メモリ装置は、ソースメモリ場所と、宛先メモリ場所と、データレジスタと、キャッシュレジスタとを含み、前記データレジスタは、データを前記宛先メモリ場所および前記キャッシュレジスタに同時に書込むように構成されており、前記ソースメモリ場所および前記宛先メモリ場所は、前記データレジスタと電子的に通信するように動作可能であり、前記データレジスタはさらに、前記キャッシュレジスタと通信するように動作可能であり、前記システムはさらに、
前記記憶手段との電気的な通信を介して受信されたデータの的確さを検証するための処理装置を含み、前記マイクロコントローラはさらに、前記データが不正確であった場合、前記データの誤り訂正を行なうように構成される、システム。
【請求項１８】
前記メモリ装置はフラッシュメモリ装置である、請求項１７に記載のシステム。
【請求項１９】
前記フラッシュメモリ装置はＮＡＮＤタイプの装置である、請求項１８に記載のシステム。
【請求項２０】
前記処理装置はマイクロコントローラである、請求項１７に記載のシステム。
【請求項２１】
前記処理装置はマイクロプロセッサである、請求項１７に記載のシステム。
【請求項２２】
前記メモリ装置と前記処理装置との間の電気的な通信は、シリアルバスを介して行なわれる、請求項１７に記載のシステム。
【請求項２３】
前記データの的確さは、前記データと、前記ソースメモリ場所に元から記憶されているデータとを照合することによって得られる、請求項１７に記載のシステム。
【請求項２４】
前記データの的確さは、誤り訂正符号化の技法によって得られる、請求項１に記載のシステム。
【請求項２５】
前記処理装置はさらに、前記受信したデータにランダムデータを挿入するように構成される、請求項１７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体メモリ装置に関する。より具体的には、この発明は、メモリセルにおいてコピーバック動作を行なうためのシステムおよび方法に関する。
【背景技術】
【０００２】
半導体メモリ装置は、典型的には、揮発性メモリ装置および不揮発性メモリ装置に分類される。揮発性メモリ装置は、さらにダイナミックランダムアクセスメモリ（ＤＲＡＭ）およびスタティックランダムアクセスメモリ（ＳＲＡＭ）に分けられる。不揮発性メモリタイプには、マスク読出専用メモリ（ＭＲＯＭ）、プログラマブル読出専用メモリ（ＰＲＯＭ）、消去可能なプログラマブル読出専用メモリ（ＥＰＲＯＭ）および電気的に消去可能なプログラマブル読出専用メモリ（ＥＥＰＲＯＭ）が含まれる。ＥＥＰＲＯＭは連続的な更新または予備のメモリ装置が必要であるシステムプログラミングに使用されることが多くなっている。特に、フラッシュＥＥＰＲＯＭは、その集積密度が従来のＥＥＰＲＯＭに比べて高いために大容量記憶装置として有利である。フラッシュＥＥＰＲＯＭの中でも、ＮＡＮＤタイプのフラッシュＥＥＰＲＯＭは、ＮＯＲタイプまたはＡＮＤタイプのフラッシュＥＥＰＲＯＭに比べて高い集積密度を有する。
【０００３】
現在、フラッシュ装置における動作によって、ユーザは、データを外部のメモリに書出して、再度宛先に書込む代わりに、ソースアドレスの場所に内部記憶された１ページ（メモリのページのサイズは、典型的には、２５６バイトから２キロバイトである）のデータを直接、宛先アドレスの場所にコピーすることができる。よって、この動作に必要なステップは１つだけなので、効率的である。これは、コピーバック動作の一例である。ただし、このタイプのコピーバックはブラインド動作である。ユーザには、正しいデータがコピーされたかどうかがわからない。コピーされているデータが壊れているか、または間違っていた場合、そのデータは、宛先に不適切に書込まれることになる。
【０００４】
よって、このタイプのコピーバック動作で装置の性能は向上するように思われるが、ソースのデータの信頼性は保証されない。結果として、このコピーバック方式では、誤ったデータが宛先アドレスにコピーされるのを防ぐことはできない。
【０００５】
信頼性を確保できる最も有力な方法の１つは、誤り訂正符号（ＥＣＣ）を用いることである。データメモリの信頼性を確保するために、さまざまな誤り訂正方式が使用可能である。ある誤り訂正方式では、たとえば、放電ロスによる誤りを訂正し、データの完全性を是正し、誤りのあるデータを廃棄できる。しかしながら、典型的な誤り訂正方式でデータの完全性を確認するには、少なくとも１つの順次ランダム読出サイクルをさらに実行する必要がある。この順次読出ステップを追加すると、フラッシュ装置の性能が低下し、さらにＣＰＵバスを接続し、かつ、ＣＰＵクロックサイクルに、誤り訂正を実行させることで、システム全体の性能が低下する。
【０００６】
図１は、先行技術の別のコピーバック方式を示す。図１は、フラッシュメモリ装置１０１と、マイクロコントローラ１０７と、シリアルバス１０９とを含む。フラッシュメモリ装置１０１は、ソースアドレス場所１０３と宛先アドレス場所１０５とを含む。
【０００７】
フラッシュメモリ装置１０１は、たとえば、ＮＡＮＤタイプの装置であってもよい。フラッシュメモリ装置１０１は、典型的には、シリアルバス１０９を通してマイクロコントローラ１０７などの外部処理装置と通信する。マイクロコントローラ１０７はまた、ＣＰ
Ｕまたはその他のマイクロプロセッサなどの別の処理装置であってもよい。コピーバック動作を実行するために、マイクロコントローラ１０７はまず、ソースアドレス場所１０３に格納されているデータを読出す。マイクロコントローラ１０７は次に、読出されたデータのコピーを、宛先アドレス場所１０５に書込む。
【０００８】
最後に、マイクロコントローラ１０７は、宛先アドレス場所１０５にある新しく書き込まれたデータの最終読出動作（図示せず）を実行することにより、宛先アドレス場所１０５に書込まれたデータを検証する。図１に示すような典型的なコピーバック方式は、効果的ではあるが、フラッシュメモリ装置１０１とマイクロコントローラ１０７との間で行なわれるすべての読出動作および書込動作は、シリアルバス１０９を介する必要があるので速度が遅い。
【０００９】
図２は、先行技術の別のコピーバック方式を示す。この方式では、フラッシュメモリ装置２０１に内部データレジスタ２０９が追加される。ここでは、ソースアドレス場所１０３に記憶されたデータが直接、データレジスタ２０９に転送される。そこでデータレジスタ２０９は、ソースアドレス場所２０３に記憶されている中から当該データのコピーを、宛先アドレス場所２０５に転送する。このシステムは、高速データ転送に対応可能である。しかしながら、マイクロコントローラ１０７とのやり取りがないために、データの完全性を検証することができない。典型的には、マイクロコントローラが必要に応じて誤り訂正機能を実行すること（たとえば、誤り訂正符号（ＥＣＣ）を実行するなど）が求められる。データレジスタ２０９の存在によって、キャッシュ動作が可能となるので、データレジスタ２０９におけるデータは、宛先アドレスでプログラミング可能となる前に、マイクロコントローラによって変更できる。
【００１０】
ＮＡＮＤタイプのフラッシュＥＥＰＲＯＭは、ページのコピーバック動作に対応しており、それは、データ情報をあるページから別のページへ、外部に出力せずにコピーできることを意味する。そのような装置の１つが、ミヤモトへの米国特許第ＲＥ３６，７３２号に記載されている。この開示された装置は、「『データ（原文のまま）がコピーバックされるとき、読出されたデータを外部ユニットに読出さずに』、・・・データを転送するための不揮発性半導体メモリ装置」（強調追記、ミヤモトの要約書）。ミヤモトの装置は、ＣＰＵを使用せずに、あるロウのメモリデータを別のロウにコピーすると同時に、コピーバック動作を実行することによって、全体のコピーバック時間を短縮する。
【００１１】
コピーバック動作を取入れた別のメモリ装置が、バイオンらへの米国特許出願第２００３／００７６７１９号に記載されている。バイオンは、「・・・（するところの）不揮発性メモリ装置は、『読出動作中はセンスアンプとして機能し、かつ、プログラミング動作中は書込ドライバとして機能するページバッファ』を含む。このページバッファは、２つのセンスおよびラッチブロックを有し、これらは、同一の機能を独占的に実行する。一方のセンスおよびラッチブロックが読出動作を実行する間、他方のセンスおよびラッチブロックは予め検出されたデータを外部に出力する。さらに、一方のセンスおよびラッチブロックがプログラミング動作を実行する間、他方のセンスおよびラッチブロックはプログラミングすべきデータをロードする。ページバッファによって、この不揮発性メモリ装置の動作速度を向上させることができる」（強調追記、バイオンの要約）。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、ミヤモトもバイオンらも、（１）データの完全性を検証し、（２）データが無効であった場合に、誤り訂正を実行するか、または（３）内部のプログラミング動作を実行する間、同時に外部の読出動作を実行するための手段を開示していない。
【００１３】
したがって、フラッシュメモリ装置が、内部のプログラミング動作の実行と同時に外部の読出動作を実行し、読出動作の後にデータの完全性を検証し、かつ、必要に応じて誤り訂正を行なうことを可能にするためのシステムおよび方法が必要である。
【課題を解決するための手段】
【００１４】
発明の概要
この発明は、転送すべきデータのミラーコピーを、外部処理装置からアクセス可能なキャッシュレジスタに与えることによって、メモリ装置の内部のプログラミング中に同時に外部の読出動作を実行するためのシステムである。メモリ装置は、データをランダムに記憶するように構成されており、かつ、ソースメモリ場所と、宛先メモリ場所と、データレジスタと、キャッシュレジスタとを含む。データレジスタは、データを宛先メモリ場所およびキャッシュレジスタに同時に書込むように構成されている。ソースメモリ場所および宛先メモリ場所は、データレジスタと電子的に通信するように動作可能であり、データレジスタはさらに、キャッシュレジスタと通信するように動作可能である。このシステムはさらに、メモリ装置との電気的な通信を介して受信したデータの的確さを検証するための処理装置（たとえば、マイクロプロセッサまたはマイクロコントローラ）を含む。処理装置はさらに、受信したデータが不正確であった場合、誤り訂正を行なうように構成されている。
【００１５】
この発明の例証的な動作において、マイクロコントローラがキャッシュメモリに記憶されたデータを読出す間、そのデータは同時に宛先アドレスにプログラミングされる。さらに、そのデータが宛先アドレスにプログラミングされている間、マイクロコントローラが誤りの検出および訂正を実行してもよい。
【００１６】
この発明はまた、メモリ装置において、内部のプログラミング中に同時に外部の読出動作を実行するための方法である。この方法は、メモリ装置のソースアドレス場所に記憶された元のデータをデータレジスタにコピーし、同時にその元のデータをデータレジスタからキャッシュレジスタおよび宛先場所にコピーし、かつ、キャッシュレジスタに記憶された元のデータを処理装置に転送することを含む。
【００１７】
元のデータが一旦処理装置内に入ると、転送された元のデータと、ソースアドレス場所に記憶されている然るべきデータとを照合することで、元のデータの完全性を検証できる。この検証によって、転送された元のデータにおける潜在的な誤りが検出される。誤りが検出された場合、転送された元のデータに対して誤り訂正を実行することで、誤り訂正済みのデータを作成できる。さらに処理装置は、追加のランダムデータを誤り訂正済みデータストリームまたは転送された元のデータストリームに挿入することで、変更された誤り訂正済みのデータまたは変更された元のデータを作成できる。誤り訂正済みのデータ、変更された誤り訂正済みのデータまたは変更されたデータはそこで、処理装置からキャッシュレジスタに転送され、次に、処理装置から転送されたデータのコピーがデータレジスタにミラーリングされ、最後に、処理装置から転送されたデータがメモリ装置内の宛先場所にコピーされる。
【発明を実施するための最良の形態】
【００１８】
発明を実施するためのベストモード
図３に関して、フラッシュ装置において、内部のプログラミング動作中に同時に外部の読出動作を実行するためのシステム３００のブロック図を示す。図３は、フラッシュメモリ装置３０１と、宛先アドレス場所３０３と、ソースアドレス場所３０５と、データレジスタ３０７と、キャッシュレジスタ３０９とを含む。たとえば、フラッシュメモリ装置３０１を含む同じ集積回路チップ上に配置可能なステートマシン（図示せず）は、後述するルーチンを制御および実行することを目的とする。
【００１９】
一実施例では、フラッシュメモリ装置３０１はＮＡＮＤフラッシュメモリ装置である。代わりに、フラッシュメモリ装置３０１は、ＮＯＲ論理素子またはＡＮＤ論理素子に基づくものであってもよい。コピーバック動作コマンドがアサートされると、ソースアドレス場所３０５のデータが、データレジスタ３０７に読出される。データレジスタ３０７に読出されるデータは、たとえば、まる１ページ分のデータであってもよい。一実施例では、ページのサイズは、２５６バイトまたは５１２バイトから最大２キロバイトで構成される。ソースデータが一旦データレジスタ３０７に読出されると、データレジスタ３０７は、そのデータを宛先アドレス場所３０３に書込む（すなわち、プログラミングする）（概念上、書込動作３１１として示す）と同時に、そのデータのミラーコピーをキャッシュレジスタ３０９に書込む。フラッシュメモリ場所への書込に要する時間は、フラッシュメモリ場所からの読出に要する時間に比べて相当長くなる可能性があるので、データが宛先ソース場所３０３に書込まれている間に、キャッシュレジスタ３０９に記憶されたデータのミラーコピーが、シリアルバス１０９を介してマイクロコントローラ１０７に読出されるようにしてもよい（概念上、読出動作３１３として示す）。上記の各々の動作における特定の相対的なタイミングについては、図４を参照して、さらに詳細に述べる。
【００２０】
データの少なくとも一部が一旦マイクロコントローラ１０７に転送されると、マイクロコントローラ１０７は、そのデータと、ソースアドレス場所３０５に元から記憶されていると思われるデータとの照合を開始することができる。マイクロコントローラ１０７が、たとえば、電荷ロスによるビット誤りによって、そのデータの完全性が部分的に失われていると判定した場合、マイクロコントローラ１０７は、当業者にとっては周知の誤り訂正符号化の方法によってそのデータを復元することができる。そのデータの誤りが訂正されると、マイクロコントローラ１０７は、その訂正されたデータを、シリアルバス１０９を介してキャッシュレジスタ３０９に順次書込み直す。キャッシュレジスタ３０９はそこで、そのデータをデータレジスタ３０７に転送し、次にデータレジスタは、その訂正済みのデータを宛先アドレス場所３０３に書込む。例証的な誤り訂正動作については、図４を参照して、以下でより詳細に説明する。
【００２１】
データに誤り訂正が必要ない場合でも、この発明の動作全体は、図１の先行技術で必要とされる総時間より短い時間で行なわれる。この発明では、宛先場所３０３へのデータの書込３１１と同時に、キャッシュレジスタ３０９への読出およびその次のキャッシュレジスタ３０９からマイクロコントローラ１０７へのデータの読出３１３が可能なことで、相当な時間の節約が実現する。したがって、誤り訂正が必要な場合、宛先場所３０３へのデータの書込と同時に、誤り訂正プロセスが開始される。対照的に、先行技術は専ら順次的な動作ステップに依存しており、そのプロセスは、シリアルバスの使用および関連するビット単位またはバイト単位の転送に大きく依存している。
【００２２】
この発明では、純粋なコピーバック動作を実行するだけでなく、ソースアドレス場所３０５から読出されたデータにおいて、ページの中に追加のデータまたはランダムデータを挿入することもできる。このランダムデータの挿入動作については、図６および図７に関連してより詳細に説明する。
【００２３】
図４を参照して、この発明と図２の先行技術との相対的なタイミングの違いをタイミング図に示す。図４に関して、トレース４０１は、データがソースアドレス場所３０５からデータレジスタ３０７にコピーされていることを示す。トレース４０３で示すように、データは一旦データレジスタ３０７にコピーされると、キャッシュレジスタ３０９に書込まれる。次の２つのトレース４０５、４０７は任意のものである。
【００２４】
トレース４０５は、マイクロコントローラ１０７による任意の読出を示す。マイクロコ
ントローラ１０７がデータを検証する場合、トレース４０７でソースレジスタ３０５におけるデータの完全性が検証され、提示される。任意のトレース４０５、４０７を有することで、マイクロコントローラ１０７は、ソース場所３０５におけるデータを確実に検証および確認できる（たとえば、この検証はＥＣＣであってもよい）。現行のシステムでは、トレース４０５で示す任意の読出ステップを実行することはできない。
【００２５】
ソース場所３０５から読出されたデータに、誤り訂正／検証ステップまたはランダムデータが追加された場合、任意のトレース４０５で、データは、シリアルバス１０９を介して、キャッシュレジスタ３０９からマイクロコントローラ１０７に読出される。そこで誤り訂正済みデータまたはランダムデータが、任意のトレース４０７に示すように、シリアルバス１０９を介してマイクロコントローラ１０７から読出され、キャッシュレジスタ３０９に戻される。
【００２６】
任意のトレース４０７は、キャッシュレジスタ３０９からマイクロコントローラ１０７へのデータ転送を示す。シリアルバス１０９を介したフラッシュメモリ装置３０１からマイクロコントローラ１０７へのデータ転送は順次行なわれるので、キャッシュレジスタ３０９からマイクロコントローラ１０７への書込に要する全体の転送時間は、フラッシュメモリ装置３０１内における内部データ転送に比べて相当長くなる。マイクロコントローラ１０７へのデータ転送が一旦開始されると、マイクロコントローラ１０７は、受信したデータに誤り訂正が必要かどうかを判定する。
【００２７】
さらに、マイクロコントローラ１０７は、ソースアドレス場所３０５から読出されたページデータのうち選択された部分に、データをランダムに追加することができる。誤り訂正の相対的なタイミングを、トレース４０９で示す。マイクロコントローラ１０７は、データの少なくとも一部を受信すると、すぐに誤り訂正を開始できることに注目されたい。
【００２８】
誤り訂正を実行するか、またはランダムデータを挿入すると、マイクロコントローラ１０７は、トレース４１１に示すように、変更されたデータをキャッシュレジスタ３０９に転送して戻す。トレース４１３で、変更されたデータのミラーコピーがキャッシュレジスタ３０９からデータレジスタ３０７に転送され、それから最終的に宛先場所３０３に転送される。縦線４１５は、マイクロコントローラ１０７が誤り訂正を実行するか、または追加のランダムデータを挿入した後、訂正されたデータを宛先場所３０３に書込むのに要する相対的な時間を示す。
【００２９】
代替的に、誤り訂正が必要でない場合、またはランダムデータが追加されなかった場合（すなわち、任意のトレース４０５、４０７で示すステップが省略された場合）、データが一旦宛先アドレス場所３０３に書込まれると、縦線４１７で示すように、コピーバック動作はそこで完了する。
【００３０】
図４を参照して、この発明の例示的なタイミング図４００と、図２の先行技術のタイミング図４５０との相対的なタイミングの違いをタイミング図に示す。図４に関して、トレース４０１は、データがソースアドレス場所３０５からデータレジスタ３０７にコピーされていることを示す。トレース４０３で示すように、データは一旦データレジスタ３０７にコピーされると、キャッシュレジスタ３０９に書込まれる。
【００３１】
次の２つのトレース４０５、４０７は任意である。トレース４０５は、トレース４０７で示すように、マイクロコントローラ１０７がソース３０５におけるデータの完全性を検証し、かつ、何らかの変更を行なうためのステップを実行する場合の、マイクロコントローラ１０７による任意の読出ステップを示す。トレース４０５、４０７で示すような任意のステップを有することにより、マイクロコントローラ１０７は、（たとえば、ＥＣＣで
）データソースの検証および確認が行なわれるようにする。現行のフラッシュメモリ装置では、これを実現できない（この発明の先行技術では、トレース４０７で示すステップのみ実現可能である）。
【００３２】
代替的に、マイクロコンピュータ１０７は、トレース４０５、４０７で示すようなステップを省略してもよい。この場合、マイクロコントローラ１０７は、プログラミングの前にデータの訂正を行なう柔軟性を失うことになる。
【００３３】
ソースアドレス場所３０５から読出されたデータに、誤り訂正／検証ステップまたはランダムデータを追加する場合、任意のトレース４０５で、データは、シリアルバス１０９を介してキャッシュレジスタ３０９からマイクロコントローラ１０７に読出される。任意のトレース４０７で示すように、誤り訂正済みのデータまたはランダムデータが、シリアルバス１０９を介してマイクロコントローラ１０７から読出され、キャッシュレジスタ３０９に戻される。誤り訂正が必要ない場合、またはランダムデータが追加されなかった場合、データが一旦宛先アドレス場所３０３に書込まれると、第１の相対的なタイミング線４１５によって示すように、コピーバック動作はそこで完了することに留意されたい。エラー訂正が実行された場合、またはランダムデータが挿入された場合、マイクロコントローラ１０７はそこで、トレース４１１で示すように、変更されたデータをキャッシュレジスタ３０９に転送して戻す。変更されたデータのミラーコピーは、トレース４０９でキャッシュレジスタ３０９からデータレジスタ３０７に転送され、トレース４１１で最終的に宛先場所３０３に転送される。第２の相対的なタイミング線４１７は、データが宛先３０３に確実に正しく書込まれるようにするために、マイクロコントローラ１０７が同時の読出を行なうのに必要な時間を示す（後述するように、先行技術のトレース４５９と比較）。この構成の内部の回路によって、データはキャッシュレジスタ３０９から宛先３０３に確実に正しく転送される。
【００３４】
トレース４０９は、キャッシュレジスタ３０９からデータレジスタ３０７へのデータ転送を示す。重要な点として、トレース４１１および４１３でそれぞれ示すように、データレジスタ３０７から宛先３０３にデータを転送すると同時に、キャッシュレジスタ３０９からマイクロコントローラ１０７にデータを転送できる。
【００３５】
シリアルバス１０９を介したフラッシュメモリ装置３０１からマイクロコントローラ１０７へのデータ転送は順次行なわれるので、キャッシュレジスタ３０９からマイクロコントローラ１０７への書込に要する全体の転送時間は、フラッシュメモリ装置３０１内における内部のデータ転送より長くなる。マイクロコントローラ１０７へのデータ転送が一旦開始されると、マイクロコントローラ１０７は、受信したデータに誤り訂正を行なう必要があるかどうかを判定する。
【００３６】
タイミング図４５０は、図２に示す先行技術の方式に従ってデータを転送するのに必要とされる純粋な順次プロセスの相対的なタイミングを示す。先行技術では、トレース４５１で、データはソースアドレス場所２０３からデータレジスタ２０９に転送され、それからシリアルバス１０９を介してマイクロコントローラ１０７に転送される（トレース４５３）。データがマイクロコントローラ１０７に転送された後でないと、データレジスタはデータを宛先２０５に書込むことはできない（トレース４５５）。最終的なデータの検証またはデータの読出では、データが宛先２０５から読出されてデータレジスタ２０９に戻され（トレース４５７）、次にデータレジスタ２０９からマイクロコントローラ１０７に読出される（トレース４５９）。図４が示しているのは、この発明における誤り訂正またはランダムデータの挿入が必要な場合、データレジスタ３０７から宛先アドレス場所３０３へのコピーバック動作は、先行技術において、データをデータレジスタ２０９を介してソースアドレス場所２０３からマイクロコントローラ１０７に転送するのに要する時間に
比べて相当短い時間で完了できるということである（第１の相対的なタイミング線４１５でトレース４１１とトレース４５５とを比較）。先行技術の改良が可能であるとしても、データの転送を確実に行なうためには、依然として追加の動作が必要となる。
【００３７】
マイクロコントローラ１０７は、ソースアドレス場所２０３から転送されたデータの完全性を検証し、かつ、誤り訂正が必要かどうかを判定する（図示せず）。データの完全性に何らかの欠如が検出された場合、先行技術のプロセスは再びトレース４５１から繰り返される。さらに、先行技術では、同時に実行可能なデータ転送ステップが存在しない（すなわち、データ転送ステップを同時に実行できない）ことに注目されたい。
【００３８】
【数１】
2008504637.tif 000003
【００３９】
したがって、読出期間ｔR５１１の間にロウの論理レベルがステータスピンでアサートされ、それによって、その他の読出動作またはプログラミング／書込動作が行なわれるのを防ぐ。ソースアドレス場所のデータが一旦読出されると、コピーバックプログラミング動作５１３が開始され、まず宛先ソースアドレス５１５が決定され、次にコピーバック確認動作５１７が続いて、宛先アドレス場所１０５をプログラミングすべきことを確認する。信号線５０１は、プログラミング（すなわち、書込）期間ｔPROG５１９を示し、その間はロウの論理レベルがステータスピンでアサートされる。通常、不揮発性メモリ装置、特にＮＡＮＤフラッシュ装置では、ｔPROG＞ｔRである。プログラミング機構自体の結果として、プログラミングの処理は遅い（すなわち、高電圧を発生する必要がある）。読出ステータスステップ５２１が実行され、次にＩ／Ｏ検証５２３が続く。Ｉ／Ｏ検証５２３は、成功／失敗の指示によって、コピーバックプログラミング動作で誤りがあれば報告する。宛先ソースアドレス１０５に書込まれたデータの完全性を検証するために、５２７で宛先ソースアドレスが再度決定された後、最終的な読出ステップ５２５が実行され、次に読出期間ｔR５２９の間に、ロウの論理レベルがステータスピンでアサートされる。
【００４０】
【数２】
2008504637.tif 000004
【００４１】
図６のコピーバック動作は、図５のコピーバック動作と類似しているが、顕著かつ重要な違いがある。たとえば、宛先アドレスの決定ステップとプログラミング確認ステップとの間に、少なくとも１つの任意のランダムデータ入力ステップ６０７を挿入することができる。この発明のコピーバック動作では、読出動作が実行された後、次のページプログラ
ミング動作が続く。読出動作とプログラミング動作との間で、ページ内に追加のランダムデータを挿入することにより、データの読出および変更が可能になる。プログラミング時間は、読出時間に比べて相当長くなる場合があるので、先行技術のコピーバックシステムではかなりの待ち時間が生じる。この発明のフラッシュメモリ装置３０１は、その待ち時間を利用して、読出イネーブル信号をトグルさせることにより、キャッシュレジスタ３０９内で既に使用可能なデータを同時に読出す。ここでデータは、ソースアドレス場所３０５から読出されたデータストリームに挿入され、ランダムデータ入力プログラム６０７ａの一部として組込まれる。元のソースアドレス場所３０５のデータを挿入するコピーバックプログラムの一部として、データの読出６０７ｃに必要なのは、追加の宛先列アドレス６０７ｂだけである（すなわち、ランダムデータの行アドレスと元のデータの行アドレスは同じである）。ランダムデータ入力ステップ６０７は、元のデータのさまざまな部分にさまざまな量のランダムデータを組込むのに必要な回数だけ繰返すことができる。
【００４２】
【数３】
2008504637.tif 000005
【００４３】
内部のプログラミング動作と並行して外部の読出動作が行なわれることで、追加のデータが読出されて、かつ、フラッシュメモリ装置３０１にプログラミングされるときでも、コピーバック動作に要する時間は大幅に短縮される。ｔPROGが読出されるべきデータの順次アクセスに相当する場合、アイドル時間が最小となるので、スループットは最大となる。
【００４４】
図７は、この発明の処理フロー図７００を示す。処理フロー図７００は、読出コマンド動作７０１と、ソースアドレスのロード動作７０３と、コピーバックのための読出確認ステップ７０５と、内部の読出動作実行ステップ７０７とを含む。７１１でコピーバックプログラムがロードされ、７１３で適正な宛先アドレスがロードされる。
【００４５】
７１３で宛先アドレスが一旦ロードされると、任意のランダムデータ入力ステップ７１５が実行可能となる。ランダムデータ入力ステップ７１７は、７１９で中間アドレスをロードし、かつ、７２１でソースアドレス場所３０５から要求されたデータをロードすることで開始する。データがロードされた後、７２３でキャッシュレジスタ３０９が更新される。７２４で要求されたランダムデータがすべてロードされたかどうか判定される。ランダムデータがすべてロードされていれば、プロセスは、最終ステップ７３３に進み、プログラミングフェーズを実行し、データレジスタをプリセットし、キャッシュレジスタを更新する。
【００４６】
任意のランダムデータ入力ステップ７１５が必要ない場合、プロセスは、７２５でデータをキャッシュレジスタ３０９からデータレジスタ３０７にコピーする。７２７でステータスピン（図示せず）がハイの論理レベルに設定されるが、それは、フラッシュメモリ装置３０１が、ユーザが読出できるように準備されたことを示す。次に７２９でデータがキャッシュレジスタ３０９から読出される。ステップ７３１で、さらにデータがあるかどうか判定される。データが残っていれば、プロセスは、データ読出ステップ７２９にループバックし、対象となるデータがなくなるまで継続する。
【００４７】
詳細な説明および図面で、内部のプログラミング動作中に並行して外部の読出動作を実行できるフラッシュメモリ装置について説明したが、当業者であれば、記載の装置の意図される範囲から逸脱することなく、他の実施例も容易に考えられることを認識するであろう。たとえば、特定のタイミング図および波形は、この発明のフラッシュメモリ装置の例示的な実施例として示したものである。しかしながら、熟練者であれば、コピーバック動作を実行するための時間が短縮されるという同じ所望の結果をこれまでのように得ると同時に、タイミング図または波形図から特定の動作を容易に再構成することができるであろう。さらに、特にＮＡＮＤタイプのフラッシュメモリを参照したが、ＡＮＤタイプまたはＮＯＲタイプのフラッシュメモリを用いても、同様のコピーバック動作が実行可能である。したがって、この発明の範囲は、前掲の特許請求の範囲によってのみ限定されるものである。
【図面の簡単な説明】
【００４８】
【図１】マイクロコントローラと、フラッシュメモリ装置と、メモリ装置およびマイクロコントローラを繋ぐシリアルバスとを用いる、先行技術のコピーバック方式を示す図である。
【図２】マイクロコントローラと、内部データレジスタを有するフラッシュメモリ装置と、メモリ装置およびマイクロコントローラを繋ぐシリアルバスとを用いる、別の先行技術のコピーバック方式を示す図である。
【図３】この発明のフラッシュメモリ装置と、マイクロコントローラと、メモリ装置およびマイクロコントローラを結合するシリアルバスとのブロック図である。
【図４】図１の先行技術の装置と図３のこの発明との相対的なタイミングの違いを示すタイミング図である。
【図５】図１の先行技術のコピーバック動作の図式的な波形を示す図である。
【図６】この発明のコピーバック動作を用いる波形図である。
【図７】この発明のコピーバック動作のフロー図である。
【図１】
2008504637.tif 000006
【図２】
2008504637.tif 000007
【図３】
2008504637.tif 000008
【図４】
2008504637.tif 000009
【図５】
2008504637.tif 000010
【図６】
2008504637.tif 000011
【図７】
2008504637.tif 000012
【国際調査報告】
2008504637.tif 000013