(57)【要約】ワード線がワード線書込み順に連続して書き込まれるメモリブロックに、論理ページアドレスによって順序づけられる複数のデータページを記憶するために、ワード線のいずれかに書き込まれるあらゆるページが、書込みのためにページが受け取られる順番に関係なく、次いで書き込まれるワード線に書き込まれる任意のページよりも上位の論理ページアドレスを有するように、ページがワード線に書き込まれる。あるいは、書き込まれるワード線のあらゆる対に対して、書込み順が早い方の対のワード線が対の他のワード線に書き込まれる少なくとも１ページよりも上位の論理ページアドレスを有するページをワード線に書き込むように、ページがワード線に書き込まれる。【選択図】図４
2011524600.tif 000002
【特許請求の範囲】
【請求項１】
論理ページアドレス順に従って順序づけられる複数のページで編成されるデータを記憶する方法であって、
ワード線書込み順に連続して書き込まれる複数のワード線を含むブロックを含むメモリを提供するステップと、
データのページを受け取るステップと、
前記ページを前記ワード線に書き込むステップとを備え、
連続して書き込まれるページの論理ページアドレス順は、前記ワード線のいずれかに書き込まれるあらゆるページが、前記ページが受け取られる順序に関係なく、次いで書き込まれる任意のワード線に書き込まれるいずれのページよりも上位の論理ページアドレスを有する順序である、方法。
【請求項２】
前記ワード線に記憶された前記ページの論理ページアドレス順に従って、少なくとも２本の前記ワード線から順番に読み出すステップと、
前記少なくとも２本のワード線の第１のワード線を読み出すことに続いて読み出される前記少なくとも２本のワード線の各ワード線に対して、前記各ワード線の直前に読み出された前記少なくとも２本のワード線のワード線から読み出された前記データに従って、前記各ワード線のデータを読み出すステップと、
をさらに備える、請求項１に記載の方法。
【請求項３】
前記各ワード線の直前に読み出された前記ワード線は、前記ワード線書込み順における前記各ワード線の直後のワード線である、請求項２に記載の方法。
【請求項４】
前記ページを前記ワード線に書き込む前に、前記データのページをキャッシュに格納するステップをさらに備える、請求項１ないし３の何れか1項に記載の方法。
【請求項５】
前記ブロックのすべてのワード線に書き込むために十分な数のデータページがキャッシュに格納される、請求項４に記載の方法。
【請求項６】
メモリデバイスであって、
ワード線書込み順に連続して書き込まれる複数のワード線を含むメモリブロックと、
前記メモリブロックにおけるデータの記憶を制御するコントローラと、を備え、
前記コントローラは前記メモリブロックに記憶するための複数のページを受け取り、
前記ページは論理ページアドレス順に従って順序づけられ、
前記コントローラはワード線のいずれかに書き込まれるあらゆるページが、前記ページが受け取られる順序に関係なく、次いで書き込まれる任意のワード線に書き込まれるいずれのページよりも上位の論理ページアドレスを有するような送り順で前記ページを前記メモリブロックに送る、メモリデバイス。
【請求項７】
前記複数のワード線および前記コントローラと通信する書込み回路をさらに備え、
前記書込み回路は、前記ワード線書込み順に連続して前記ワード線に書き込む、請求項６に記載のメモリデバイス。
【請求項８】
選択されたワード線から読み出す読出し回路をさらに備える、請求項７に記載のメモリデバイス。
【請求項９】
前記読出し回路が前記選択されたワード線のデータを記憶させるバッファをさらに備え、
前記バッファに記憶された前記データに従って、前記次いで選択されたワード線からの前記読出し回路による前記読出しを調整する読出し補正回路をさらに備える、請求項８に記載のメモリデバイス。
【請求項１０】
前記次いで選択されたワード線が、ワード線書込み順に従ったときの、前記バッファ内のデータを読み出した前記ワード線の直前のワード線である場合に、前記読出し補正回路は前記次いで選択されたワード線からの前記読出しを調整する、請求項９に記載のメモリデバイス。
【請求項１１】
前記メモリデバイスコントローラは、前記読出し回路によって連続して読み出されるべき前記ワード線の少なくとも２本を選択し、前記読出し回路によって読み出された前記データを受け取り、前記第１の選択されたワード線からの読出し後に、次いで選択された各ワード線からの前記読出しの直前に読み出された前記選択されたワード線から読み出されたデータに従って、前記次いで選択された各ワード線から前記データを読み出すことによって、前記次いで選択された各ワード線から読み出す、請求項８に記載のメモリデバイス。
【請求項１２】
前記次いで選択された各ワード線の直前に読み出された前記選択されたワード線は、前記ワード線書込み順に従って前記次いで選択された各ワード線の直後のワード線である、請求項１１に記載のメモリデバイス。
【請求項１３】
前記ページを前記ワード線に書き込む前にデータページを記憶するキャッシュをさらに備える、請求項７に記載のメモリデバイス。
【請求項１４】
前記メモリデバイスコントローラは、連続して読み出されるべき前記ワード線の少なくとも２本を選択し、こうして読み出された前記データを受け取り、前記最初に選択されたワード線からの読出し後に、前記次いで選択された各ワード線からの前記読出しの直前に読み出された前記選択されたワード線から読み出された前記データに従って、前記次いで選択された各ワード線から前記データを読み出すことによって、前記次いで選択された各ワード線から読み出す、請求項６に記載のメモリデバイス。
【請求項１５】
前記次いで選択された各ワード線の直前に読み出された前記選択されたワード線は、前記ワード線書込み順に従って前記次いで選択された各ワード線の直後のワード線である、請求項１４に記載のメモリデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に記載されるのは、フラッシュメモリの書込みおよび読出し方法、ならびに当該方法で読出しおよび書込みがなされるフラッシュメモリデバイスおよびシステムである。
【背景技術】
【０００２】
ＮＡＮＤフラッシュメモリなどのフラッシュメモリは、メモリセルの長方形アレイとして構成される。セルは、直交するビット線およびワード線で配列される。セルの閾値電圧をそのビットまたはそれらのビットの値を表わす閾値電圧の範囲内に設定するのに十分な電荷を、セルのフローティングゲートに注入することによって、１つまたは複数のデータビットが各セルに書き込まれる。フラッシュメモリセルは、その閾値電圧を閾値電圧範囲間の境界を示す基準電圧と比較することによって読み出される。ＮＡＮＤフラッシュメモリの場合、セルは１つのワード線ずつ書き込まれて読み出される。ワード線２０は、セルがブロック単位で一度に消去されるようにさらにブロックにグループ分けされる。
【０００３】
所与のブロックのワード線は順次書き込まれる。ブロックの第１のワード線が書き込まれた後、ブロックのこれに続くワード線に書込みを行うと、既に書き込まれたワード線に支障を来たす可能性がある。これは、１本のワード線のセルのフローティングゲートへの電荷注入が、隣接するワード線のセル内の電場にさらに影響を及ぼすことがあるためである。これにより、近くの既に書き込まれたワード線のセルの閾値電圧を、場合によっては、既に書き込まれた近くのワード線の閾値電圧によって表わされるビット値が、変化する点にまで上昇させる場合がある。連続して書き込まれるフラッシュメモリセル間の結合は、ユーピン効果（Yupin effect）と呼ばれる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ユーピン効果を軽減する２つの一般的な方法が知られている。第１の方法は、ブロックの最後に書き込まれたワード線以外のワード線を読み出す場合には、目標ワード線が書き込まれた後に書き込まれたブロックの１つまたは複数のワード線をまず読み出し、読み出される他のワード線のセルの閾値電圧に従って目標ワード線を読み出すために使用されるべき基準電圧を調整し、調整された基準電圧を使用して目標ワード線を読み出す。この方法の欠点は、目標ワード線を正しく読み出すために２つまたはそれ以上のワード線の読出しを必要とすることによって、目標ワード線の読出しが遅くなることである。第２の方法は、セルの閾値電圧を所望のレベルまで上昇させるために十分とは言えない電荷をセルのフローティングゲートに注入することによって、最後のワード線を除くブロックのワード線に書き込むことである。このとき、目標ワード線の書込みを乱す可能性のある他のワード線が上記のように書き込まれた後において、目標ワード線のセルの閾値電圧をこれらの所望の値まで上昇させるために、他のワード線の書込みに伴う外乱によって閾値電圧がそれらの所望の値まで上昇されていない目標ワード線のセルに、より多くの電荷が注入される。この方法の欠点は、ワード線の書込みが遅くなることである。基本的に、ブロックの最後のワード線を除くすべてのワード線は、２度書き込まれなければならない。
【課題を解決するための手段】
【０００５】
本明細書では、論理ページアドレス順に従って順序づけられる複数のページで編成されるデータの記憶方法が提供される。このデータの記憶方法は、（ａ）ブロックを含むメモリを提供するステップを備える。ブロックはワード線書込み順に連続して書き込まれる複数のワード線を含んでいる。（ｂ）データのページを受け取るステップを備える。（ｃ）ページをワード線に書き込むステップを備える。連続して書き込まれるページの論理ページアドレス順は、ワード線のいずれかに書き込まれるあらゆるページが、ページが受け取られる順序に関係なく、次いで書き込まれる任意のワード線に書き込まれるいずれのページよりも上位の論理ページアドレスを有するものである。
【０００６】
さらに、本明細書では、論理ページアドレス順に従って順序づけられる複数のページで編成されるデータの記憶方法が提供される。このデータの記憶方法は、（ａ）データのページを受け取るステップを備える。（ｂ）ブロックを含むメモリにデータページを送るステップを備える。ブロックはワード線書込み順に連続して書き込まれる複数のワード線を含んでいる。ページは、ワード線のいずれかに書き込まれるあらゆるページが、ページが受け取られる順序に関係なく、次いで書き込まれる任意のワード線に書き込まれるいずれのページよりも上位の論理ページアドレスを有するような送り順で送られる。
【０００７】
さらに、本明細書では、メモリデバイスコントローラが提供される。このメモリデバイスコントローラは、（ａ）ワード線書込み順に連続して書き込まれる複数のワード線を含むメモリブロックに記憶するために、複数のページを受け取る。ページは、論理ページアドレス順に従って順序づけられる。（ｂ）ワード線のいずれかに書き込まれるあらゆるページが、ページが受け取られる順序に関係なく、次いで書き込まれる任意のワード線に書き込まれるいずれのページよりも上位の論理ページアドレスを有するような送り順で、ページをメモリブロックに送る。
【０００８】
さらに、本明細書では、システムが提供される。このシステムは、（ａ）メモリブロックおよび書込み回路を含むメモリデバイスのドライバが記憶される不揮発性メモリを備える。メモリブロックは複数のワード線を含んでいる。書込み回路は、ワード線書込み順にワード線に連続して書き込むように機能する。ドライバは、（ｉ）メモリデバイスに記憶するための複数のデータページを受け取るコードを備える。ページは論理ページアドレス順に従って順序づけられる。ドライバは、（ｉｉ）ワード線のいずれかに書き込まれるあらゆるページが、ページが受け取られる順序に関係なく、次いで書き込まれる任意のワード線に書き込まれるいずれのページよりも上位の論理ページアドレスを有するような送り順で、ページを書込み回路に送るコードを備える。システムは、（ｂ）コードを実行するプロセッサを備える。
【０００９】
さらに、本明細書では、コンピュータ可読コードが組み込まれたコンピュータ可読記憶媒体が提供される。コンピュータ可読コードは、複数のワード線を有するメモリブロックと、ワード線書込み順に連続してワード線に書き込む書込み回路と、選択されたワード線から読み出す読出し回路とを含む、メモリデバイスのドライバコードである。コンピュータ可読コードは、（ａ）メモリデバイスに記憶するための複数のデータページを受け取るプログラムコードを備える。ページは、論理ページアドレス順に従って順序づけられる。（ｂ）ワード線のいずれかに書き込まれるあらゆるページが、ページが受け取られる順序に関係なく、次いで書き込まれる任意のワード線に書き込まれるいずれのページよりも上位の論理ページアドレスを有するような送り順で、ページを書込み回路に送るプログラムコードを備える。
【００１０】
さらに、本明細書では、論理ページアドレス順に従って順序づけられる複数のページで編成されるデータの記憶方法が提供される。このデータの記憶方法は、（ａ）ブロックを含むメモリを提供するステップを備える。ブロックは、ワード線書込み順に書き込まれる複数のワード線を含んでいる。（ｂ）データページを受け取るステップを備える。（ｃ）書き込まれたワード線の任意の対に対して、ワード線書込み順が早い方の対のワード線が、ページが受け取られる順序に関係なく、ワード線書込み順が遅い方の対のワード線に書き込まれた少なくとも１ページよりも上位の論理ページアドレスを有するページをワード線に書き込んでいるように、ページをワード線に書き込むステップを備える。
【００１１】
さらに、本明細書では、論理ページアドレス順に従って順序づけられる複数のページで編成されるデータの記憶方法が提供される。このデータの記憶方法は、（ａ）データページを受け取るステップを備える。（ｂ）ブロックを含むメモリにデータページを送るステップを備える。ブロックは、ワード線書込み順に書き込まれる複数のワード線を含んでいる。ワード線へのページの書込みの結果として、書き込まれたワード線の任意の対に対してワード線書込み順が早い方の対のワード線は、ページが受け取られた順序に関係なく、ワード線書込み順が遅い方の対のワード線に書き込まれた少なくとも１ページよりも上位の論理ページアドレスを有するページをワード線に書き込んでいるような送り順で、ページが送られている。
【００１２】
さらに、本明細書では、メモリデバイスコントローラが提供される。このメモリデバイスコントローラは、（ａ）メモリブロックを含むメモリに記憶するために、複数のページを受け取る。メモリブロックは、ワード線書込み順に書き込まれる複数のワード線を含んでいる。ページは、論理ページアドレス順に従って順序づけられる。（ｂ）ワード線へのページの書込みの結果として、書き込まれたワード線の任意の対に対してワード線書込み順が早い方の対のワード線は、ページが受け取られた順序に関係なく、ワード線書込み順が遅い方の対のワード線に書き込まれる少なくとも１ページよりも上位の論理ページアドレス有するページをワード線に書き込んでいるような送り順で、ページをメモリに送る。
【００１３】
さらに、本明細書では、システムが提供される。このシステムは、（ａ）メモリブロックおよび書込み回路を含むメモリデバイスのドライバが記憶される不揮発性メモリを備える。メモリブロックは、複数のワード線を含んでいる。書込み回路は、ワード線書込み順にワード線に書き込むように機能する。ドライバは、（ｉ）メモリデバイスに記憶するための複数のデータページを受け取るコードを備える。ページは、論理ページアドレス順に従って順序づけられる。ドライバは、（ｉｉ）ワード線へのページの書込みの結果として、書き込まれたワード線の任意の対に対して、ワード線書込み順が早い方の対のワード線が、ページが受け取られた順序に関係なく、ワード線書込み順が遅い方の対のワード線に書き込まれた少なくとも１ページよりも上位の論理ページアドレスを有するページをワード線に書き込んでいるような送り順で、ページを書込み回路に送るコードを備える。システムは、また、（ｂ）コードを実行するプロセッサを備える。
【００１４】
さらに、本明細書では、コンピュータ可読コードが組み込まれたコンピュータ可読記憶媒体が提供される。コンピュータ可読コードは、複数のワード線を有するメモリブロックと、ワード線書込み順に連続してワード線に書き込む書込み回路と、選択されたワード線から読み出す読出し回路と、を含むメモリデバイスのドライバコードである。コンピュータ可読コードは、（ａ）メモリデバイスに記憶するための複数のデータページを受け取るプログラムコードを備える。ページは、論理ページアドレス順に従って順序づけられる。（ｂ）ワード線へのページの書込みの結果として、書き込まれたワード線の任意の対に対して、ワード線書込み順が早い方の対のワード線が、ページが受け取られた順序に関係なく、ワード線書込み順が遅い方の対のワード線に書き込まれた少なくとも１ページよりも上位の論理ページアドレスを有するページをワード線に書き込んでいるような送り順で、ページを書込み回路に送るプログラムコードを備える。
【００１５】
本明細書において提示されるのは、複数のページで編成されるデータを記憶する方法および関連デバイスである。ページは論理ページアドレス順に従って順序づけられる。例えば、最下位のページアドレスを有するページは最初の順番のページであり、最下位の次に下位のページアドレスを有するページは第２の順番のページであり、以下同様となるように、各ページは、論理ページアドレス順を、そのページの論理ページアドレスとしての機能を果たすそれぞれ固有の番号と関連付けている。なお、論理ページアドレスに従ったページの順序づけは、ページが記憶のために受け取られる順番と何ら関係がない。
【００１６】
データページを記憶する第１の方法において、ブロックを含むメモリが提供される。ブロックは、ワード線書込み順に連続して書き込まれる複数のワード線を含む。データのページが受け取られる。ワード線に書き込まれるあらゆるページが、ページが受け取られた順序に関係なく、次いで書き込まれる任意のワード線に書き込まれるいずれのページよりも上位の論理ページアドレスを有するように、連続して書き込まれるページの論理ページアドレス順に、ページがワード線に書き込まれる。なお、書込み順に対するこの制限、および本明細書で提示される他の方法における同様の制限は、ブロック内部にのみ適用され、たとえば、複数のブロックを含むメモリの場合のブロック間には適用されない。
【００１７】
第１の方法のいくつかの実施形態において、２つまたはそれ以上のワード線が記憶されたページの論理ページアドレス順に従って順番に読み出され、したがって、ワード線書込み順とは逆順に読み出される。２本またはそれ以上のワード線の最初のワード線が読み出された後、順番に読み出される各ワード線は、そのワード線の直前に読み出されたワード線から読み出されたデータに従って読み出される。これらの実施形態のいくつかにおいて、その「次いで読み出される」ワード線の直前に読み出されたワード線は、ワード線書込み順における、その「次いで読み出される」ワード線の直後のワード線である。
【００１８】
第１の方法のいくつかの実施形態において、データページはワード線に書き込まれる前にキャッシュに格納される。これらの実施形態のいくつかにおいて、ブロックのすべてのワード線に書き込むために十分な数のデータページがキャッシュに格納される。
【００１９】
データページを記憶する第２の方法において、ページは、受け取られた後ブロックを含むメモリに送られる。ブロックは、ワード線書込み順に連続して書き込まれる複数のワード線を含む。ページは、ワード線のいずれかに書き込まれるあらゆるページが、ページが受け取られた順序に関係なく、次いで書き込まれる任意のワード線に書き込まれるいずれのページよりも上位の論理ページアドレスを有するような送り順でメモリに送られる。
【００２０】
第１のメモリデバイスコントローラが、ワード線書込み順に連続して書き込まれる複数のワード線を含むメモリブロックに記憶するページを受け取る。コントローラは、ワード線のいずれかに書き込まれるあらゆるページが、ページが受け取られた順序に関係なく、次いで書き込まれる任意のワード線に書き込まれるいずれのページよりも上位の論理ページアドレスを有するような送り順でページをメモリブロックに送る。
【００２１】
第１のメモリデバイスは、第１のメモリデバイスコントローラ、メモリブロック、および、ワード線書込み順で連続してワード線に書き込む書込み回路を含む。
【００２２】
また、第１のメモリデバイスのいくつかの実施形態は、選択されたワード線から読み出す読出し回路を含む。また、これらの実施形態のいくつかは、選択されたワード線のデータを読出し回路によって記憶するバッファと、さらにバッファに記憶されたデータに従って次いで読み出されるワード線の読出しを調整する読出し補正回路とを含む。通常、次いで選択されたワード線は、バッファ内のデータを読み出したワード線のワード線書込み順に従ったときの直前のワード線である。
【００２３】
読出し回路を含む第１のメモリデバイスのいくつかの実施形態において、コントローラは、さらに、読出し回路によって連続して読み出される２本またはそれ以上のワード線を選択する。コントローラは、読出し回路によって読み出されるデータを受け取る。第１の選択されたワード線からの読出しの後に、各々次いで選択されたワード線に対して、コントローラは、その次いで選択されたワード線からの読出しの直前に読み出された選択されたワード線から読み出されたデータに従って、その次いで選択されたワード線のデータを読み出す。これらの実施形態のいくつかにおいて、その「次いで読み出される」ワード線の直前に読み出されたワード線は、ワード線書込み順においては、その「次いで読み出される」ワード線の直後のワード線である。
【００２４】
また、第１のメモリデバイスのいくつかの実施形態は、ワード線にデータページを書き込む前にデータページを記憶するキャッシュを含む。
【００２５】
第１のメモリデバイスコントローラのいくつかの実施形態において、コントローラは連続して読み出されるべき２本またはそれ以上のワード線を選択する。コントローラは、こうして読み出されたデータを受け取る。第１の選択されたワード線からの読出しの後に、各々次いで選択されたワード線に対して、コントローラは、その次いで選択されたワード線からの読出しの直前に読み出された選択されたワード線から読み出されたデータに従って、その次いで選択されたワード線のデータを読み出す。これらの実施形態のいくつかにおいて、その「次いで読み出される」ワード線の直前に読み出されたワード線は、ワード線書込み順における、その「次いで読み出される」ワード線の直後のワード線である。
【００２６】
第１のシステムは、不揮発性メモリおよびプロセッサを含む。不揮発性メモリには、メモリブロックおよび書込み回路を含むメモリデバイスのドライバが記憶される。メモリブロックは複数のワードラインを含む。書込み回路は、ワード線書込み順に連続してワード線に書き込む。ドライバは、メモリデバイスに記憶するためのデータページを受け取るコードを含む。また、ドライバは、ワード線のいずれかに書き込まれるあらゆるページが、ページが受け取られる順序に関係なく、次いで書き込まれる任意のワード線に書き込まれるいずれのページよりも上位の論理ページアドレスを有するような送り順で、ページを書込み回路に送るコードを含む。プロセッサはコードを実行する。
【００２７】
通常、第１のシステムはさらにメモリデバイスを含む。第１のシステムのいくつかのこのような実施形態において、メモリデバイスはさらに選択されたワード線から読み出す読出し回路を含む。このとき、ドライバは、さらに、読出し回路によって読み出される２本またはそれ以上のワード線を選択するコードと、読出し回路によって読み出されるデータを受け取るコードと、第１の選択されたワード線の読出しの後に、各々次いで選択されたワード線に対して、その「次いで選択された」ワード線の読出しの直前に読み出された選択されたワード線から読み出されたデータに従ってその次いで選択されたワード線のデータを読み出すコードと、を含む。これらの実施形態のいくつかにおいて、その「次いで選択された」ワード線の直前に読み出されたワード線が、ワード線書込み順におけるその「次いで選択された」ワード線の直後のワード線である。
【００２８】
第１のコンピュータ可読記憶媒体には、コンピュータ可読コードが組み込まれている。コンピュータ可読コードは、第１のメモリデバイスのドライバコードである。
【００２９】
データページを記憶する第３の方法において、ブロックを含むメモリが提供される。ブロックは、ワード線書込み順に書き込まれる複数のワード線を含む。データページが受け取られる。ページはワード線に書き込まれる。したがって、書き込まれたワード線のいずれの対についても、ページが受け取られた順序に関係なく、書込み順が早い方の対のワード線の方が、ワード線書込み順が遅い方の対のワード線に書き込まれる少なくとも１ページよりも上位の論理ページアドレスを有するページの書き込みがワード線に行われている。
【００３０】
データのページを記憶する第４の方法において、ページは、受け取られた後で、ブロックを含むメモリに送られる。ブロックは、ワード線書込み順に連続して書き込まれる複数のワード線を含んでいる。ページは、ワード線へのページの書込みの結果として、書き込まれたワード線のいずれの対についても、ワード線書込み順が早い方の対のワード線が、ページが受け取られた順序に関係なく、ワード線書込み順が遅い方の対のワード線に書き込まれる少なくとも１ページよりも上位の論理ページアドレスを有するページをワード線に書き込んでいるような送り順で、メモリに送られる。
【００３１】
第２のメモリデバイスコントローラは、ワード線書込み順に連続して書き込まれる複数のワード線を含んでいるメモリブロックに記憶させるページを、受け取る。コントローラは、ワード線へのページの書込みの結果として、書き込まれたワード線のいずれの対についても、ワード線書込み順が早い方の対のワード線が、ページが受け取られた順序に関係なく、ワード線書込み順が遅い方の対のワード線に書き込まれる少なくとも１ページよりも上位の論理ページアドレスを有するページをワード線に書き込んでいるような送り順で、ページをメモリブロックに送る。
【００３２】
第２のシステムは、不揮発性メモリおよびプロセッサを含む。不揮発性メモリには、メモリブロックおよび書込み回路を含むメモリデバイスのドライバが記憶される。メモリブロックは、複数のワード線を含む。書込み回路は、ワード線書込み順で、ワード線に連続して書き込む。ドライバは、メモリデバイスに記憶するためのデータページを受け取るコードを含む。また、ドライバは、ワード線へのページの書込みの結果として、書き込まれたワード線のいずれの対についても、ワード線書込み順が早い方の対のワード線が、ページが受け取られた順序に関係なく、ワード線書込み順が遅い方の対のワード線に書き込まれる少なくとも１ページよりも上位の論理ページアドレスを有するページをワード線に書き込んでいるような送り順でページを書込み回路に送る、コードを含んでいる。プロセッサはコードを実行する。
【００３３】
第２のコンピュータ可読記憶媒体には、コンピュータ可読コードが組み込まれている。コンピュータ可読コードは、第２のメモリデバイスのドライバコードである。
【００３４】
メモリデバイスの一実施形態は、複数のワード線およびコントローラを含むメモリブロックを含む。複数のワード線は、ワード線書込み順に連続して書き込まれる。コントローラは、メモリブロックへのデータの記憶を制御する。コントローラは、メモリブロックに記憶するための複数のページを受け取る。ページは、論理ページアドレス順に従って順序づけられる。コントローラは、ワード線のいずれかに書き込まれるあらゆるページが、ページが受け取られた順序に関係なく、次いで書き込まれる任意のワード線に書き込まれるいずれのページよりも上位の論理ページアドレスを有するような送り順で、ページをメモリブロックに送る。
【００３５】
論理ページアドレス順に従って順序づけられる複数のページで編成されるデータを記憶する方法の一実施形態は、ブロックを含むメモリを提供するステップを備える。ブロックは、ワード線書込み順に連続して書き込まれる、複数のワード線を含む。方法は、さらに、データページを受け取るステップと、ページをワード線に書き込むステップとを含んでいる。連続して書き込まれるページの論理ページアドレス順は、ワード線のいずれかに書き込まれるあらゆるページが、ページが受け取られる順序に関係なく、次いで書き込まれる任意のワード線に書き込まれるいずれのページよりも上位の論理ページアドレスを有する。
【図面の簡単な説明】
【００３６】
本発明は、本明細書において、単なる例として添付図面を参照して説明される。
【図１】フラッシュメモリデバイスのブロック図である。
【図２】図１のフラッシュメモリデバイスのメモリセルアレイの例示的な構造を示す。
【図３Ａ】ユーピン効果を示す。
【図３Ｂ】ユーピン効果を示す。
【図４】キャッシュと汎用ブロックの間で図１のフラッシュメモリデバイスのメモリセルアレイのブロックを分割する一方法を示す。
【図５】図１の一部拡大図である。
【図６】図１の一部拡大図である。
【図７】データ記憶システムの部分的な高レベルブロック図である。
【発明を実施するための形態】
【００３７】
本発明によるフラッシュメモリの原理および動作は、図面および付随する説明を参照するとよりよく理解されるであろう。
【００３８】
ここで図面を参照すると、図１はフラッシュメモリデバイスのブロック図である。マトリクスで配列される複数のメモリセルＭを含むメモリセルアレイ１は、列制御回路２、行制御回路３、ｃ−ソース制御回路４、およびｃ−ｐ型ウェル制御回路５によって制御される。列制御回路２は、メモリセル（Ｍ）に記憶されたデータを読み出し、書込み動作中にメモリセル（Ｍ）の状態を判断し、書込みを促進しあるいは書込みを阻止するためにビット線（ＢＬ）の電位を制御するために、メモリセルアレイ１のビット線（ＢＬ）に接続される。行制御回路３は、ワード線（ＷＬ）の１つを選択し、読出し電圧を印加し、列制御回路２によって制御されるビット線電位に結合された書込み電圧を印加し、メモリセル（Ｍ）が形成されるｐ型領域の電圧に結合された消去電圧を印加するために、ワード線（ＷＬ）に接続される。ｃ−ソース制御回路４は、メモリセル（Ｍ）に接続された共通ソース線を制御する。ｃ−ｐ型ウェル制御回路５は、ｃ−ｐウェル電圧を制御する。
【００３９】
メモリセル（Ｍ）に記憶されるデータは、列制御回路２によって読み出され、Ｉ／Ｏ線およびデータ入力／出力バッファ６を介して外部Ｉ／Ｏ線に出力される。メモリセル内に記憶されるべきプログラムデータは、外部Ｉ／Ｏ線を介してデータ入力／出力バッファ６に入力され、列制御回路２に転送される。外部Ｉ／Ｏ線はコントローラ２０に接続される。
【００４０】
フラッシュメモリデバイスを制御するコマンドデータは、コントローラ２０と接続される外部制御線に接続されたコマンドインターフェースに入力される。コマンドデータは、要求される動作をフラッシュメモリに知らせる。入力コマンドは、列制御回路２、行制御回路３、ｃ−ソース制御回路４、ｃ−ｐウェル制御回路５、およびデータ入力／出力バッファ６を制御するステートマシン８に転送される。ステートマシン８は、ＲＥＡＤＹ／ＢＵＳＹまたはＰＡＳＳ／ＦＡＩＬなどのフラッシュメモリのステータスデータを出力しうる。
【００４１】
コントローラ２０は、パーソナルコンピュータ、デジタルカメラ、パーソナルデジタルアシスタントなどのホストシステムと接続されるか、あるいは接続可能である。メモリアレイ１へのデータの記憶、またはメモリアレイ１からのデータの読出しなどを開始するコマンド、および、こうしたデータの提供または受取りをそれぞれ行うのは、ホストである。またコントローラ２０は、このようなコマンドを、コマンド回路７によって解釈されて実行されうるコマンド信号に変換する。またコントローラ２０は、典型的には、メモリアレイに書き込まれる、あるいはメモリアレイから読み出されるユーザデータのための、バッファメモリを含む。典型的なメモリデバイスは、コントローラ２０を含む１つの集積回路チップ２１と、各々がメモリアレイおよびこれに関連する制御回路と、入力／出力回路と、ステートマシン回路とを包含する１つまたは複数の集積回路チップ２２と、を含む。トレンドは、当然ながら、このようなデバイスのメモリアレイおよびコントローラ回路を１つまたは複数の集積回路チップ上に一緒に集積化することである。メモリデバイスは、ホストシステムの一部として組み込まれてもよく、あるいはホストシステムの嵌合ソケットに着脱可能に挿入できるメモリカードに含まれていてもよい。このようなカードは、メモリデバイス全体、またはコントローラおよびメモリアレイを関連周辺回路とともに含んでいてもよく、あるいは単独のカードで提供されてもよい。
【００４２】
図２に、メモリセルアレイ１の例示的な構造を示す。ＮＡＮＤフラッシュＥＥＰＲＯＭが例として挙げられる。メモリセル（Ｍ）は、具体的な例において、１０２４ブロックに分けられる。各ブロックに記憶されるデータは同時に消去される。それゆえ、ブロックは、同時に消去できる複数セルの最小単位である。各ブロックにおいて、この例では、偶数列と奇数列に分けられる８５１２の列がある。また、ビット線も偶数ビット線（ＢＬｅ）と奇数ビット線（ＭＬｏ）に分けられる。各ゲート電極でワード線（ＷＬ０〜ＷＬ３）に接続される４つのメモリセルは、直列に接続されて、ＮＡＮＤセルユニットを形成する。ＮＡＮＤセルユニットの１つの端子は、ゲート電極が第１の選択ゲート線（ＳＧＤ）に結合される第１の選択トランジスタ（Ｓ）を介して、対応するビット線（ＢＬ）に接続される。もう１つの端子は、ゲート電極が第２の選択ゲート線（ＳＧＳ）に結合される第２の選択トランジスタ（Ｓ）を介して、ｃ−ソースに接続される。簡単にするために、各セルユニットに４個のフローティングゲートトランジスタが含まれるものとして示されているが、実際には、８個、１６個、さらには３２個など、さらに多数のトランジスタが使用される。
【００４３】
ユーザデータの読出しまたは書込み動作中に、この例では、４２５６個のセル（Ｍ）が同時に選択される。選択されたセル（Ｍ）は、同じワード線（ＷＬ）、たとえば、ＷＬ２と、同種のビット線（ＢＬ）、たとえば、偶数ビット線ＢＬｅ０〜ＢＬｅ４２５５を有する。したがって、５３２バイト（１バイト当たり８ビット）、１セル当たり１ビットのデータが、同時に読み出されうるし、同時に書き込まれうる。これら５３２バイトのデータは、同時に読み出され、あるいは書き込まれて１つの論理ページを形成する。したがって、１つのブロックは少なくとも８ページを記憶しうる。各メモリセルが２ビットのデータを記憶するようなマルチレベルセルの場合、各ブロックは１６ページを記憶する。
【００４４】
図３Ａは、単一ビットを記憶するセルのユーピン効果を示す図である。普通は「１」ビットを表わす消去された状態にあるセルの閾値電圧は、分布１１０に従って統計的に分布する。セルの閾値電圧を値Ｖ０以上に上げるために十分な電荷を、セルのフローティングゲートに注入することによって、「０」ビットがセルに書き込まれる。注入処理は確率的であるので、「０」ビットを記憶するセルの閾値電圧も分布１３０に従って統計的に分布する。セルを読み出すために、セルの閾値電圧は基準電圧ＶＲと比較される。セルの閾値電圧がＶＲを超えると、セルは「０」ビットを記憶するものと見なされる。さもなければ、セルは「１」ビットを記憶するものと見なされる。
【００４５】
ここで、図２のブロックの第１のワード線ＷＬ０が書き込まれているものと仮定する。また、第２のワード線ＷＬ１のセルに書込みを行うと、ワード線ＷＬ０のセルの一部の閾値電圧が上昇する。ワード線ＷＬ０のセルの主要な外乱は、同じビット線ＢＬを共有するワード線ＷＬ１のセルによるものである。ワード線ＷＬ１のセルに書込みを行わなければ、同じビット線ＢＬ上のワード線ＷＬ０のセルの閾値電圧は上昇しないが、ワード線ＷＬ１のセルに書込みを行うと、同じビット線ＢＬを共有するワード線ＷＬ０のセルの閾値電圧が上昇する傾向がある。ワード線ＷＬ１の書き込まれたセルとビット線ＢＬを共有するワード線ＷＬ０のセルの閾値電圧分布は、上方に量Δだけシフトされて、シフトされた閾値電圧分布１２０および１４０となる。「０」ビットで書き込まれたワード線ＷＬ０のセルは、なおＶ０以上の閾値電圧を有し、したがって、なお「０」ビットを記憶するものとして正しく読み出される。しかし、「１」ビットを記憶するはずであるワード線ＷＬ０の書き込まれていないセルの一部は、ＶＲの上方にシフトされた閾値電圧を有しており、したがって、「０」ビットを記憶するものとして誤って読み出される。セル当たり１ビット以上を記憶するセルの場合、関連する閾値電圧分布が、図３Ａに示されるセル当たり単一ビットの場合よりも狭いとともに混み入っているため、さらに多くの読出し誤差がユーピン効果によって誘発されることは理解されよう。
【００４６】
図３Ｂは、各々２ビットを記憶するセルのユーピン効果を示す。通常はビット対「１１」を表している、消去された状態にあるセルの閾値電圧は、分布１１２に従って統計的に分布する。別のビット対（「１０」、「００」、または「０１」）は、セルの閾値電圧を対応する閾値電圧値以上に上げるために十分な電荷を、セルのフローティングゲートに注入することによって、セルに書き込まれる。対応する閾値電圧値は、ビット対「１０」の場合はＶ１０、ビット対「００」の場合はＶ００、およびビット対「０１」の場合はＶ０１である。図３Ｂに提示される例においては、Ｖ１０＜Ｖ００＜Ｖ０１であるが、他の取り決めも使用される。注入処理は確率的であるので、「１１」以外のビット対を記憶するセルの閾値電圧も統計的に分布する。ビット対「１０」を記憶するセルの閾値電圧は分布１２２に従って分布し、ビット対「００」を記憶するセルの閾値電圧は分布１３２に従って分布し、ビット対「０１」を記憶するセルの閾値電圧は分布１４２に従って分布する。セルを読み出すために、セルの閾値電圧は３個の基準電圧ＶＲ１０、電圧ＶＲ００、および電圧ＶＲ０１と比較される。セルの閾値電圧がＶＲ０１以上である場合、セルはビット対「０１」を記憶するものと見なされる。セルの閾値電圧が閾値電圧間（ＶＲ００、ＶＲ０１］にあると、セルはビット対「００」を記憶するものと見なされる。セルの閾値電圧が閾値電圧間（ＶＲ１０、ＶＲ００］にあると、セルはビット対「１０」を記憶するものと見なされる。さもなければ、セルはビット対「１１」を記憶するものと見なされる。
【００４７】
ここで、図２のブロックの第１のワード線ＷＬ０が書き込まれているものと仮定する。第２のワード線ＷＬ１のセルに書込みを行うと、ワード線ＷＬ０のセルの一部の閾値電圧が上昇する。ワード線ＷＬ０のセルの主要な外乱は、同じビット線ＢＬを共有するワード線ＷＬ１のセルによるものである。ワード線ＷＬ１のセルに書込みを行わなければ、同じビット線ＢＬ上のワード線ＷＬ０のセルの閾値電圧は上昇しないが、ワード線ＷＬ１のセルに書込みを行うと、同じビット線ＢＬを共有するワード線ＷＬ０のセルの閾値電圧が上昇する傾向がある。ワード線ＷＬ１の書き込まれたセルとビット線ＢＬを共有しているワード線ＷＬ０のセルの閾値電圧分布は、上方に量Δだけシフトされて、シフトされた閾値電圧分布１１４、１２４、１３４、および１４４となる。ビット対「０１」ビットで書き込まれたワード線ＷＬ０のセルは、なおＶＲ０１以上の閾値電圧を有し、したがって、なお「０１」を記憶するものとして正しく読み出される。しかし、ビット対「１１」、「１０」、および「００」を記憶するはずであるワード線ＷＬ０のセルの一部は、それぞれＶＲ１０、ＶＲ００、およびＶＲ０１の上方にシフトされた閾値電圧を有しており、したがって、誤って読み出される。説明を簡単にするために、４つの閾値電圧分布すべてが同じシフトΔだけシフトされるものとして示される。実際には、同じビット線上の隣接セルの１６の異なるビット対の組合せに対応する、１６もの異なるΔが有りうる。
【００４８】
前述のように、ユーピン効果を緩和する、２つの既知の一般的な方法がある。
【００４９】
第１の方法において、ワード線ＷＬ０が読み出される前に、ワード線ＷＬ１が読み出される。ワード線ＷＬ１のセルの閾値電圧がＶ０よりも大きい場合、Δの適切な値が関連基準電圧に加えられる。よって、ワード線ＷＬ１のそのセルとビット線ＢＬを共有するワード線ＷＬ０のセルを読み出す、調整済み基準電圧を提供することができる。
【００５０】
図３Ｂに示されるようなセル当たり複数ビットの場合のみに関連する第２の方法において、ワード線ＷＬ０およびＷＬ１が書き込まれるとき、「１１」以外のビット対を記憶する必要のあるワード線ＷＬ０のセルの閾値電圧は、対応する中間レベル以上になる分だけ上昇される。すなわち、Ｖ１０ではなくＶ１１０、Ｖ００よりはむしろＶ１００、Ｖ０１よりはむしろＶ１０１以上となる分だけ上昇される。この後、「１１」以外のビット対を記憶する必要のあるワード線ＷＬ１のセルの閾値電圧は、Ｖ１０、Ｖ００、またはＶ１１よりも高い電圧ではなく、Ｖ１１０、Ｖ１１１、またはＶ１０１よりも高い電圧に上昇される。この後、「１１」以外のビット対を記憶する必要があるワード線ＷＬ０であって、かつ、第２の書込みステップにおいてユーピン効果によって所望の最終閾値電圧値Ｖ１０、Ｖ００、またはＶ０１以上にまだ上昇されていないワード線ＷＬ０のセルの閾値電圧は、上記に従って上昇される。同様に、「１１」以外のビット対を記憶する必要のあるワード線ＷＬ１のセルの書込みの完了は、「１１」以外のビット対を記憶する必要のあるワード線ＷＬ２のセルの閾値電圧が適切な中間閾値電圧値以上に上昇された後まで延期される。この方法は、「１１」以外のビット対を記憶する必要のあるセルへのユーピン効果の影響を緩和するが、消去された状態においてビット対「１１」を依然として表わす必要のあるセルへのユーピン効果の影響を緩和しない。
【００５１】
さらに前述のように、第１の方法に関連する問題は、ワード線を正しく読み出すために、（少なくとも）２本のワード線が読み出されなければならず、これには１本のワード線を読み出すのに必要な時間の（少なくとも）２倍を要する。しかし、ページをブロックに論理的な順序で書き込んでからページを同じ論理的な順序で読み出すフラッシュメモリのホストの典型的な事例において、ユーピン効果は、対応するワード線を逆の順序で書き込むことによって、緩和されうる。すなわち、最下位論理アドレス（ホストから見てブロックの最初のページ）を有するページが高位番号（書き込まれる最後の番号）のワード線に記憶されるとともに、最上位論理アドレス（ホストから見てブロックの最後のページ）を有するページが低位番号（書き込まれる最初の番号）のワード線に記憶されることによって、ユーピン効果は緩和されうる。ホストがブロックに記憶される一連のページを送るとき（下位の論理ページアドレスから上位の論理ページアドレスに進む）、ページは物理ブロックにおいて反転された物理的順序で終わる。すなわち、論理ページ番号が高いほど、対応するワード線番号が低くなる。
【００５２】
簡単にするために、以下の例では、ワード線当たり１ページが書き込まれるものと仮定する。図２に示されるようなワード線当たり２ページ、あるいはワード線当たり２ページ以上の事例への拡張は容易である。
【００５３】
以下は、ホストが最初から最後まで順次、ブロックのすべてのページを要求するときの一連の事象である。ユーピン効果の既知の補正方法よりも効率が向上することが明らかである。
１．ホストがページ０を要求する。
２．ページ０のデータがブロックの最後のワード線から読み出される。最後のワード線が書き込まれた後に他のワード線が書き込まれていないので、最後のワード線は顕著な結合効果を免れる。したがって、補正が適用される必要はない。
３．ページ０のデータがホストに送られ、さらに将来使用するために保存される。
４．ホストがページ１を要求する。
５．ページ１のデータが、ページ０のデータに従って補正を適用して、ブロックの最後から２番目のワード線から読み出される。
６．ページ１のデータがホストに送られ、さらに将来使用するために保存される。ページ０のデータは破棄されてもよい。
７．ホストがページ２を要求する。
８．ページ２のデータが、ページ１のデータに従って補正を適用して、ブロックの最後から３番目のワード線から読み出される。
９．ページ２のデータがホストに送られ、さらに将来使用するために保存される。ページ１のデータは破棄されてもよい。
【００５４】
上記方式の妥当性は、ホストの論理ページアドレス順に従ってぺージを最後から最初まで書き込むことを条件とする。周知のように、マルチレベルフラッシュデバイスは、書込み順が最初の（最下位アドレス）ワード線から最後のワード線までであることを命令する。したがって、フラッシュデバイスがブロックで記憶されるべき最初のページを受け取るとき、デバイスはこの方法が適用できるように必要に応じてページをブロックの最後の物理的ワード線に記憶できないので、ユーピン効果のこの軽減方法は一般的に適用可能でない。
【００５５】
しかしながら、この方法は、自己キャッシング方式（ｓｅｌｆ−ｃａｃｈｉｎｇ  ｓｃｈｅｍｅ）を採用するフラッシュストレージシステムに十分に適用可能である。このようなシステムにおいて、入力データはまず一時バッファに記憶され、後でその目標位置に転送される。図４は、このような一時バッファをブロックの一部として使用するためにメモリセルアレイ１のブロックをグループ化する、１つの方法を示す。図４において、ブロック０〜９は入力データが一時的に記憶されるキャッシュブロックであり、ブロック１０〜１０２３は長期記憶用の汎用ブロックである。典型的に、セル当たり１ビットの書込みはセル当たり複数ビットの書込みよりもはるかに速いので、データはセル当たり１ビットが１０個のキャッシュブロック０〜９に記憶される。その後、バックグラウンドにおいて、よりコンパクトに記憶するために、データは長期記憶ブロックに転送される。さらに典型的に、キャッシュブロックの役割は、静的ではなく、キャッシュの摩耗を平準化するためにブロック内部で動的に移動される。データの転送は、典型的に、目標ブロックの全内容が既に既知であるときに行われる。すなわち、コンテンツは、（最終更新以後に上書きされなかったページの）バッファ内、あるいはデバイス内の別の恒久位置のいずれかに置かれている。したがって、データ移動処理は、最下位のワード線から最上位のワード線まで目標ブロックを書き込むことができる一方で、同時に、新たな方法を適用するために不可欠である反転方式（ｒｅｖｅｒｓｅｄ  ｓｃｈｅｍｅ）に従ってデータが終了することを確認することができる。
【００５６】
図１を再び参照すると、新たな方法は、コントローラ２０とさらにオプションとしてのコマンド回路７とを用いて実現される。以下は、２つの例示的な代替アーキテクチャである。
【００５７】
Ａ．新たな方法は、コントローラ２０およびコマンド回路７によって協調的に実施される。コマンド回路７は、読出し要求を受け取ると、読み出されたデータを内部の一時バッファに必ず保持する。次ページが要求されて、次ページが内部バッファ内のデータに対応するワード線よりもワード線１本分だけ下位のワード線に（すなわち、内部バッファ内のデータに対応するワード線の直前に書き込まれたワード線に）記憶されると、コマンド回路７は、保存されたデータに従って基準閾値電圧値を調整する。これらの基準閾値電圧値は、第1の既知の方法で調整される。次に要求されたページが、内部バッファ内のデータに対応するワード線よりも１つ下位のワード線に記憶されなければ、コントローラ２０は第1の既知の方法に戻る。この実施形態が有用なものとなるように、コントローラ２０は、（ホストが順番に読み出すときに）最上位アドレスから最下位アドレスのワード線にアクセスする読出しコマンドを、協調して発行しなければならない。これは、自己キャッシングで容易に行われる。なお、チップ２２上の回路は書込みに関して修正される必要はない。書込み順の反転はコントローラ２０によって行われ、チップ２２上の回路は、最下位ワード線から最上位ワード線へ向けて、ブロックのワード線にデータを書き込むだけである。図５は図１の部分拡大図である。図５は、コマンド回路７が、選択されたワード線を読み出す読出し回路７２と、読出し回路７２によって読み出されるデータを一時的に記憶するバッファ７４と、バッファ７４に記憶されたデータに従って読出し回路７２によって使用される基準閾値電圧値を調整する読出し補正回路７６と、を備えていることを示している。
【００５８】
Ｂ．新たな方法はほとんどがコントローラ２０で実施され、チップ２２上の回路は書込み、読出しのいずれに関しても修正されない。反転された書込みおよび書込みに対する補正はいずれも、コントローラ２０によって実施される。書込みは実施形態「Ａ」の場合と同じである。読出しの場合、コントローラ２０はページを逆順に読み出すための読出しコマンドを送る。セルから読み出されたデータはコントローラ２０に送られ、コピーは回路チップ２２に保存されない。コントローラ２０は、データにエラー訂正を適用し、データをホストに送る。コントローラ２０は、読み出される次ページが次のワード線から読み出される場合に備えて、読み出される次ページのエラー訂正を支援する一時バッファに、データを保存する。次ページが実際に次のワード線から読み出される場合、コントローラ２０のエラー訂正機構は、そのエラー訂正機能を強化するために、前ページのデータを使用する。このような強化は、ＬＤＰＣアルゴリズムまたはターボアルゴリズムなどの確率論的エラー訂正復号アルゴリズムを用いて動作するエラー訂正モジュールに、直接的に適用される。前ページのデータは、エラー訂正復号処理が開始する初期確率を調整するために、コントローラ２０によって使用される。予期される結合効果に関する情報の有用性は、予期されるエラーに関する情報を提供することであり、エラー訂正処理を大幅に改善する可能性がある。デコーダは、収束が速く、結果的に付随する電力と性能の便益をもたらすだけでなく、訂正可能なエラー事象の範囲を拡大する。換言すると、回路チップ２２から受け取られたデータに無分別に作用する場合に確率論的エラー訂正復号アルゴリズムによって補正できないページにおけるエラー分布の一部の事象は、結合データが得られて使用された時点で訂正可能になる。さらに換言すると、所与のエラー訂正モジュールによって補正可能である平均セルエラー率は、この新たな方法と併せて実施されることによって、大幅に改善される。
【００５９】
図６は、図１の拡大図である。コントローラ２０は、連続して読み出されるワード線から読み出されるページを記憶する２つのバッファ２０２および２０４と、エラー訂正モジュール２０６とを備えている。エラー訂正モジュール２０６は、以前に読み出されたページが直近に読み出されたページのワード線の直後に書き込まれたワード線から読み出された場合に、以前に読み出されたページのデータに従って、直近に読み出されたページを補正するモジュールである。
【００６０】
また、アーキテクチャＢは、コントローラ２０をソフトウェアでエミュレートするデータ記憶システムにおいて実施されてもよい。図７は、このようなデータ記憶システム２００の部分的な高レベルブロック図である。データ記憶システム２００は、プロセッサ２１０と、４つのメモリデバイス、ＲＡＭ２２０、ブートＲＯＭ２３０、大容量記憶装置（ハードディスク）２４０、およびフラッシュメモリデバイス２７０とを含み、すべてが共通バス２８０を介して通信する。フラッシュメモリデバイス２７０は、フラッシュメモリ２６０を含んでいる。フラッシュメモリ２６０は、図１の１０個の回路チップ２２上に製造されるが、それ自身のコントローラを欠いており、図１に示されたフラッシュメモリデバイスの一部分と実質的に同一である。代わりに、プロセッサ２１０は、大容量記憶装置２４０に記憶されるドライバコード２９０を実行することによって、コントローラ２０をエミュレートする。ドライバコード２９０は、標準的なフラッシュメモリ制御を実施し、さらにデータを書き込んで読み出すアーキテクチャＢの方法を実施する。ドライバコード２９０は、典型的に、システム２００のオペレーティングシステムコードに含まれるが、独立コードであることもありうる。また、フラッシュメモリデバイス２７０は、プロセッサ２１０がフラッシュメモリ２６０と通信できるようにする、バスインターフェース２５０を含む。
【００６１】
大容量記憶装置２４０は、ソフトウェアでアーキテクチャＢを実施するコンピュータ可読ドライバコードを有するコンピュータ可読記憶媒体の例である。このようなコンピュータ可読記憶媒体の他の例として、コンパクトディスクなどの読出し専用メモリが挙げられる。
【００６２】
ページは、最後から最初へと連続する厳密な論理ページ順に書き込まれる必要がない。以下は、図３Ｂの符号化に従ってセル当たり２ビットを記憶する、論理アドレス０〜７を有する８ページを、セルの４本ワード線のフラッシュメモリブロックに書き込む例である。ページの基本的な順番は下表による。
【００６３】
【表１】
2011524600.tif 000003
【００６４】
ページが最後から最初へと連続する厳密な論理ページ順に書き込まれた場合、たとえば、セル論理ページ７がまずＷＬ０に書き込まれることになる。これは、「０」ビットを記憶すべきセルを「１０」閾値電圧範囲にプログラミングする一方で、論理ページ７の「１」ビットを記憶すべきセルはプログラミングをスキップすることでこれらのセルを「１１」の閾値電圧範囲に維持することで、論理ページ７がまずＷＬ０に書き込まれることになる。この後、論理ページ６が以下のようにＷＬ０に書き込まれることになる。すなわち、論理ページ７の「１」と論理ページ６の「１」とを記憶すべきセルがスキップされる。論理ページ７の「０」と論理ページ６の「１」とを記憶すべきセルも、同様にスキップされる。論理ページ７の「０」と論理ページ６の「０」とを記憶すべきセルは、「１０」閾値電圧範囲から「００」閾値電圧範囲に引き上げられる。論理ページ７の「１」と論理ページ６の「０」とを記憶すべきセルは、「１１」閾値電圧範囲から「０１」閾値電圧範囲に引き上げられる。この後、論理ページ５および４が、ＷＬ１に同様に書き込まれることになる。この後、論理ページ３および２が、ＷＬ２に同様に書き込まれることになる。最後に、論理ページ１および０が、ＷＬ３に同様に書き込まれることになる。
【００６５】
しかし、ページは、最後から最初まで厳密な論理ページ順に書き込まれる必要がない。以下の書込み順も適切である。
論理ページ７をＷＬ０の最下位ビットに書き込む。
この後、論理ページ５をＷＬ１の最下位ビットに書き込む。
この後、論理ページ６をＷＬ０の最上位ビットに書き込む。
この後、論理ページ３をＷＬ２の最下位ビットに書き込む。
この後、論理ページ４をＷＬ１の最上位ビットに書き込む。
この後、論理ページ１をＷＬ３の最下位ビットに書き込む。
この後、論理ページ２をＷＬ２の最上位ビットに書き込む。
最後に、論理ページ０をＷＬ３の最上位ビットに書き込む。
【００６６】
フラッシュメモリにおいてデータを書き込んで読み出す方法と方法を採用するデバイスおよびシステムとについて、限定された数の実施形態を説明してきた。方法、デバイス、およびシステムについては、多くの変形形態、修正形態、および他の応用がなされる可能性があることは理解されよう。
【図１】
2011524600.tif 000004
【図２】
2011524600.tif 000005
【図３Ａ】
2011524600.tif 000006
【図３Ｂ】
2011524600.tif 000007
【図４】
2011524600.tif 000008
【図５】
2011524600.tif 000009
【図６】
2011524600.tif 000010
【図７】
2011524600.tif 000011
【国際調査報告】
2011524600.tif 000012
2011524600.tif 000013