(57)【要約】【課題】  複数のストリングを用いて状態情報を保存する方法及び不揮発性保存装置を提供する。【解決手段】  １ビット以上のデータが保存可能なセル、２つ以上のセルが直列に連結された複数のストリング、及びセルの集合である複数のページを備え、複数のストリングは、セルにデータを保存するストリングで構成されたメインストリンググループとメインストリンググループに保存されたデータの状態情報を保存する２つ以上のストリングを含む余分のストリンググループとで構成される複数のストリングを使用して状態情報を保存する不揮発性メモリ。【選択図】図５
2006277921.tif 000002
【特許請求の範囲】
【請求項１】
１ビット以上のデータを保存可能なセルと、
前記２つ以上のセルが直列に連結された複数のストリングと、
前記セルの集合である複数のページと、を備え、
前記複数のストリングは、前記セルにデータを保存するストリングで構成されたメインストリンググループと前記メインストリンググループに保存されたデータの状態情報を保存する２つ以上のストリングを備える余分のストリンググループとで構成される複数のストリングを使用して状態情報を保存する不揮発性メモリ。
【請求項２】
前記各余分のストリングは、前記状態情報を保存する１つのセルと前記状態情報を保存しない複数のセルとで連結された請求項１に記載の複数のストリングを使用して状態情報を保存する不揮発性メモリ。
【請求項３】
前記ページは、複数のセクターを含み、前記各余分のストリングは、前記複数のセクターのうち、少なくとも１つのセクターの状態情報を保存する１つのセルと状態情報を保存していない複数のセルとで連結された請求項１に記載の複数のストリングを使用して状態情報を保存する不揮発性メモリ。
【請求項４】
前記ページのデータ保存如何は、前記ページに該当する余分のストリンググループ内の前記状態情報を保存したセルの値で判断する請求項１に記載の複数のストリングを使用して状態情報を保存する不揮発性メモリ。
【請求項５】
前記余分のストリンググループ内の同一ページに含まれた少なくとも一部のセルは、同じ状態情報を保存する請求項１に記載の複数のストリングを使用して状態情報を保存する不揮発性メモリ。
【請求項６】
１ページについての状態情報を保存したセルのうち、同じ値を有するセルが存在する時、前記ページにデータが保存されたと判断される請求項５に記載の複数のストリングを使用して状態情報を保存する不揮発性メモリ。
【請求項７】
前記不揮発性メモリは、フラッシュメモリを含む請求項１に記載の複数のストリングを使用して状態情報を保存する不揮発性メモリ。
【請求項８】
前記フラッシュメモリは、ＮＡＮＤまたはＡＮＤ型フラッシュメモリを含む請求項７に記載の複数のストリングを使用して状態情報を保存する不揮発性メモリ。
【請求項９】
１ビット以上のデータが保存可能なセルと、
前記２つ以上のセルが直列に連結された複数のストリングと、
前記セルの集合である複数のページを含む不揮発性の保存部と、
前記データを前記保存部のセルに保存時、前記セルを選択するメモリ制御部と、を備え、
前記メモリ制御部は、前記複数のストリングが前記セルにデータを保存するストリングで構成されたメインストリンググループと前記メインストリンググループに保存されたデータの状態情報を保存する２つ以上のストリングと、を含む余分のストリンググループで構成されるように制御する複数のストリングを使用して状態情報を保存する不揮発性保存装置。
【請求項１０】
前記余分のストリングは、前記状態情報を保存する１つのセルと前記状態情報を保存していない複数のセルとで連結された請求項９に記載の複数のストリングを使用して状態情報を保存する不揮発性保存装置。
【請求項１１】
前記ページは、複数のセクターを含み、前記各余分のストリングは、前記複数のセクターのうち、少なくとも１つのセクターの状態情報を保存する１つのセルと状態情報を保存していない複数のセルとで連結された請求項９に記載の複数のストリングを使用して状態情報を保存する不揮発性保存装置。
【請求項１２】
前記メモリ制御部は、前記ページのデータ保存如何を、前記余分のストリンググループ内の前記状態情報を保存したセルの値で判断する請求項９に記載の複数のストリングを使用して状態情報を保存する不揮発性保存装置。
【請求項１３】
前記メモリ制御部は、前記余分のストリンググループ内の同一ページに含まれた少なくとも一部セルが同じ状態情報を保存する請求項９に記載の複数のストリングを使用して状態情報を保存する不揮発性保存装置。
【請求項１４】
前記メモリ保存部は、１ページについての状態情報を保存したセルのうち、同じ値を有するセルが存在する時、前記ページにデータが保存されたと判断する請求項１３に記載の複数のストリングを使用して状態情報を保存する不揮発成保存装置。
【請求項１５】
前記不揮発性保存装置は、フラッシュメモリを含む請求項９に記載の複数のストリングを使用して状態情報を保存する不揮発性保存装置。
【請求項１６】
前記フラッシュメモリは、ＮＡＮＤまたはＡＮＤ型フラッシュメモリを含む請求項１５に記載の複数のストリングを使用して状態情報を保存する不揮発性保存装置。
【請求項１７】
（ａ）データの保存のためのアドレス情報とデータとを受信する段階と、
（ｂ）メインストリンググループで前記アドレスを構成するセルに前記データを保存する段階と、
（ｃ）前記データが保存されたセルを含むページの状態情報を保存するために余分のストリンググループからセルを選択する段階と、
（ｄ）前記選択されたセルに前記状態情報を保存する段階と、を含み、
前記余分のストリンググループは、前記メインストリンググループに保存されたデータの状態情報を保存するセルが含まれた２つ以上のストリングで構成された複数のストリングを使用して状態情報を保存する方法。
【請求項１８】
前記セルは、１ビット以上のデータを保存でき、前記ストリングは２つ以上のセルが直列に連結されており、前記ページは、コントロールゲートが連結されたセルの集合である請求項１７に記載の複数のストリングを使用して状態情報を保存する方法。
【請求項１９】
前記（ｄ）段階は、前記状態情報を保存するセルが前記各ストリングに１つだけ存在するように保存する段階を含む請求項１７に記載の複数のストリングを使用して状態情報を保存する方法。
【請求項２０】
前記ページは、複数のセクターを含み、前記（ｄ）段階は、前記セクターの状態情報を保存するセルが前記各余分のストリングに１つだけ存在するように保存する段階を含む請求項１７に記載の複数のストリングを使用して状態情報を保存する方法。
【請求項２１】
前記状態情報を保存したセルの値で前記ページのデータ保存如何を判断する段階をさらに含む請求項１７に記載の複数のストリングを使用して状態情報を保存する方法。
【請求項２２】
前記（ｄ）段階は、複数のストリングの少なくとも一部セルに同じ前記状態情報を保存する段階を含む請求項１７に記載の複数のストリングを使用して状態情報を保存する方法。
【請求項２３】
１ページについての状態情報を保存したセルのうち、同じ値を有するセルが存在する時、前記ページにデータが保存されたと判断する請求項２２に記載の複数のストリングを使用して状態情報を保存する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のストリングを使用して状態情報を保存する方法及び不揮発性保存装置に関する。
【背景技術】
【０００２】
マルチメディア技術の発達によってデータが大容量化されている。また、コンピュータではないデジタルカメラ、デジタルカムコーダ、デジタル録音機などマルチメディアデータの保存を必要とする機器が多様化されつつ、マルチメディアデータを保存する不揮発性保存装置に対する関心も増加しつつある。このような不揮発性保存装置のうち、ＮＡＮＤフラッシュメモリのように書き込み作業の実行前に、削除作業を必要とするメモリがある。
【０００３】
通常のメモリは、特定領域に電荷の存否で１または０を表示する。このようなメモリ素子が結合されて１つのメモリデバイスをなす。一方、メモリは、多様な方式で入／出力を行える。マルチレベルセルメモリは、マルチレベルのセルからなるメモリであって、マルチレベルは、各セルの電荷の充填状態が多様なレベルを有することを意味する。例えば、４段階レベルの電荷充填状態が可能であり、レベルが０〜３まで存在するならば、レベル０は、電荷のない状態、レベル１は、電荷がＶ１以下に充填された状態であり、レベル２は、電荷がＶ１からＶ２の間で充填された状態を意味し、レベル３は、電荷がＶ２から完全に充填された状態を意味する。マルチレベルセルは、１ビット以上の情報を表す。セルがデータを保存する１つの単位となり、これらセルの連結関係とセルが構成する入出力単位または削除単位によって多様なフラッシュメモリ（フラッシュ保存装置）が存在する。
【０００４】
フラッシュ保存装置は、電気的に消去可能であり、プログラミング可能な不揮発性メモリであって、電力消費が少なく、体積が小さいという長所がある。しかし、フラッシュメモリなどの場合、データを保存するためには、削除を先行せねばならない。その結果、削除された状態と削除されていない状態の２種が存在する。一度に削除を行う単位（ブロック）が一度に保存する単位（ページ）より大きい場合があるが、フラッシュメモリは、一度に１ブロックを削除するという意味で付けられた名称である。
【０００５】
図１は、ＮＡＮＤフラッシュメモリの構成を示す図面である。情報を保存するための最小単位は、セル１００であり、これらセルを直列に連結したのがストリング３１０である。セル１００を詳細に説明すれば、コントロールゲートと浮遊ゲート（フローティングゲート）、そして、ソースとドレインとで構成される。浮遊ゲートに陰イオンが蓄積されることがあるが、その状態を０または１に決める。一方、多様なセルでコントロールゲートを束ねた単位をＷＬ（ワードライン）と称する。ＷＬは、ＮＡＮＤフラッシュのページ単位となり、データを入出力する場合、ページを選択可能にする。該当ページの特定セルの情報は、１つのビットになり、これはビットライン（ＢＬ）を通じて読出、またはプログラムしうる。ＳＳＬ（ストリングセレクションライン）、ＧＳＬ（グラウンドセレクションライン）、ＣＳＬ（コモンソースライン）は、セルにデータを書込み／読出しする場合、または、ブロック内のデータをいずれも削除する時にセルを制御するためのものである。
【０００６】
図２は、図１のフラッシュメモリの構成を図式化して示す図面である。図１で説明したセルは、図２のように円で表し、ストリングでのセルの連結状態を表すために、セルを表す円間を線で連結した。
【０００７】
前述したようにブロックは、フラッシュメモリで一度に削除する単位となり、複数のブロックでフラッシュメモリが構成される。ブロック５００は、複数のストリング３１０、３２０で構成される。ストリングは、複数のセルが連結されている。ＮＡＮＤ型またはＡＮＤ型フラッシュメモリの場合、図１で説明したように、第１セルのドレインと第２セルのソースとが連結されており、このような連結は、複数のセルに拡張される。
【０００８】
ブロックを構成するさらなる要素であるページ２１０、２２０は、図１のワードラインを意味する。これは、データを入出力する単位となる。ページは、複数のストリングに存在する特定位置のセルで構成される。例えば、ページＡ  ２１０は、ストリング１  ３１０、ストリング２  ３３０などの最初のセルで構成される。次いで、ページＢ  ２２０は、ストリング１  ３１０、ストリング２  ３３０などの３番目のセルで構成される。フラッシュメモリの場合、各セルは、前述したように１ビット以上の情報を保存しうる。データを書込む（プログラムする）単位はページとなり、データを書込む前に削除する作業を必要とする。ここで、データを削除する単位がブロックとなる。ところが、ストリング３１０、３２０、３３０は、図１、図２から分かるように、連結されたセルの集合である。したがって、ページＡ  ２１０にデータをプログラムする場合、ページＡのセルと同じストリングに属する他のセルに影響を与え得る。
【０００９】
図３は、  ＮＡＮＤフラッシュメモリの構造を示す構成図である。図２で説明したブロックがフラッシュメモリを構成する。ブロックは、複数のページで構成され、ページはメインストリングで構成されたメインストリンググループと余分のストリングで構成された余分のストリンググループとに分けられる。そして、メインストリングのセルは、１つ以上のセクターを構成する。余分のストリンググループは、データを保存しない空間であって、後でデータを保存するか、あるいは特定セルにエラーが発生する時、余分として使用できるように生成された空間である。通常、ページ当りエラーが発生するビット数はメインストリンググループと余分のストリンググループとのセルでエラーが発生するセル数（ビット数）を意味する。ページは、論理的な入出力の単位となり、ストリングは物理的なセルの結合を意味する。
【００１０】
図４は、  従来のフラッシュメモリの特定セルへのプログラム時に同じストリングにある他のセルが影響を受ける場合を示す例示図である。ページＡ  ２１０にデータを保存するためにセル１  １１０がプログラムされる。ところが、セル１  １１０とセル２  １２０は同じストリング１  ３１０を構成するので、セル２  １２０もプログラムされうる。すなわち、ＢＬ２に３．３Ｖを印加し、データを保存するセルが含まれたページＡ  ２１０に１８Ｖを印加する。１８Ｖは、セル１  １１０のコントロールゲートに印加され、ＢＬ２に３．３Ｖが印加されるので、セル１のソースにある負電荷（陰イオン）はドレインへの移動中にセル１  １１０の浮遊ゲートに蓄積される。ところが、本来はページＢ  ２２０のセルであるセル２  １２０には陰イオンが蓄積されないようになるが、電荷が移動しつつ、セル２  １２０にも負電荷が蓄積されることが発生する。その結果、ページＢ２２０のセル２  １２０にも意外にも１（または０）が保存されることがある。
【００１１】
このような場合を予想外のデータ障害（ｕｎｅｘｐｅｃｔｅｄ  ｄａｔａ  ｄｉｓｔｕｒｂａｎｃｅ）という。ところが、セル２  １２０は、ページＢ  ２２０に属するので、結果的にページＡを書き込む途中でページＢがプログラムされる状況が発生する。
【００１２】
過去には特定ページへのデータの保存中に電源が供給されず、エラーが発生する場合を防止するために各ページにデータを保存した後で該当ページの保存如何を知らせる状態情報を別途に設ける方法が提案された（特許文献１）。しかし、これは特定ページの保存如何を状態情報を通じて知らせるが、状態情報の保存時に発生するエラーを防止することはできない。特に、状態情報がメモリの特定セルに保存され、特定セルのプログラム時に他のセルに影響を与えられるストリング構造では、前記方式としては状態情報を保存する過程で発生するエラーを防止できないという問題点がある。
【００１３】
例えば、図４で、余分のストリングに属するストリング１を状態情報を保存するように設定する。ページＡ  ２１０にデータをプログラムした後、セル１  １１０の値を０に変えれば、セル１  １１０の値だけを見て、ページＡ  ２１０にデータが保存されたか否かが分かる。ところが、セル１  １１０に状態情報をプログラムする過程でセル２  １２０がプログラムされうるが、これはセル１  １１０とセル２  １２０は、同じストリングに存在するためである。したがって、セル２  １２０が０にプログラムされる場合、ページＢ  ２２０もデータが保存されたと判断するエラーが発生する。
【００１４】
したがって、状態情報を保存する場合、エラーの発生を防止して、データの保存状態をエラーなしに判断可能にする必要がある。状態情報は、それ自体のエラーよりページまたはセクターに対して誤った情報を伝達するという点で、エラーが発生しないようにすることが重要である。特に、データの保存中に、電源の供給が中断されることによって、他のページにまでデータが保存されたと知らせる、誤った状態情報が保存されないようにする必要がある。
【特許文献１】米国特許６５４９４５７Ｂ１号明細書
【発明の開示】
【発明が解決しようとする課題】
【００１５】
本発明の技術的課題は、複数のストリングのセルを使用して状態情報を保存することである。
【００１６】
本発明の他の技術的課題は、状態情報を保存するに当って、他のストリングに影響を与えないように、データ保存時に発生するエラーを減らすことである。
【００１７】
本発明の目的は、以上で言及した目的に制限されず、言及されていない他の目的は下の記載から当業者に明確に理解されうる。
【課題を解決するための手段】
【００１８】
複数のストリングを使用して状態情報を保存する方法及び不揮発性保存装置に関する。
【００１９】
本発明の一実施形態による複数のストリングを使用して状態情報を保存する不揮発性メモリは、１ビット以上のデータが保存可能なセル、前記２つ以上のセルが直列に連結された複数のストリング、及び前記セルの集合である複数のページを備え、前記複数のストリングは、前記セルにデータを保存するストリングで構成されたメインストリンググループと前記メインストリンググループに保存されたデータの状態情報を保存する２つ以上のストリングを含む余分のストリンググループとで構成される。
【００２０】
本発明の一実施形態による複数のストリングを使用して状態情報を保存する不揮発性保存装置は、１ビット以上のデータが保存可能なセル、前記２つ以上のセルが直列に連結された複数のストリング、及び前記セルの集合である複数のページを含む不揮発性の保存部、及び前記データを前記保存部のセルに保存時に前記セルを選択するメモリ制御部を含み、前記メモリ制御部は、前記複数のストリングが前記セルにデータを保存するストリングで構成されたメインストリンググループと前記メインストリンググループに保存されたデータの状態情報を保存する２つ以上のストリングを含む余分のストリンググループで構成されるように制御する。
【００２１】
本発明の一実施形態による複数のストリングを使用して状態情報を保存する方法は、  データの保存のためのアドレス情報とデータとを受信する段階と、メインストリンググループで前記アドレスを構成するセルに前記データを保存する段階と、前記データが保存されたセルを含むページの状態情報を保存するために余分のストリンググループからセルを選択する段階と、前記選択されたセルに前記状態情報を保存する段階と、を含み、前記余分のストリンググループは、前記メインストリンググループに保存されたデータの状態情報を保存するセルが含まれた２つ以上のストリングで構成される。
【００２２】
その他の実施例の具体的な事項は詳細な説明及び図面に含まれている。
【発明の効果】
【００２３】
本発明を具現することによって、複数のストリングのセルを使用して状態情報を保存しうる。また、状態情報を保存するに当って、他のストリングに影響を与えないようにして、データの保存時に発生するエラーを減らしうる。
【発明を実施するための最良の形態】
【００２４】
以下、添付された図面を参照して本発明の望ましい実施形態を詳細に説明する。
【００２５】
説明に先立って本明細書で使用する用語の意味を簡略に説明する。しかし、用語の説明は本明細書の理解を助けるためのものであり、明示的に本発明を限定する事項として記載していない場合に、本発明の技術的思想を限定する意味として使用するものではないという点に注意せねばならない。
【００２６】
−フラッシュメモリ
フラッシュメモリは、不揮発性メモリの一種であって、データが保存された後で電源が供給されてもデータを保持する。フラッシュメモリには、ＮＡＮＤ、ＮＯＲ、ＡＮＤ型などが存在する。フラッシュメモリは、大きくブロックに分けられ、各ブロックは、２つ以上のページを含む。また、各ページは、セクターに分けられるが、１ページに１つ以上のセクターが割当てられる。またページは、実際データを保存する部分（メインストリング）と余分のストリング（Ｓｐａｒｅ  Ｓｔｒｉｎｇ）とで構成される。余分のストリングは、通常該当ページについての情報を保存するか、データを保存する。
【００２７】
−プログラム
フラッシュメモリのようにデータを保存することをプログラムと称する。プログラムされたセルは、後で削除（消去）する作業を経て初めて、再びデータを保存することができる。
【００２８】
−小ブロックフラッシュメモリと大ブロックフラッシュメモリ
１つのセクターでページが構成されることを小ブロックフラッシュメモリといい、２つ以上のセクターでページが構成されることを大ブロックフラッシュメモリという。
【００２９】
−セルとストリング
セルは、情報を保存する素子である。ｎＭＯＳ、ｐＭＯＳ、ＣＭＯＳなどのいろいろな素子を使用しうる。セルは、通常１ビット以上の情報を保存することができ、図１で説明したように、浮遊ゲートに負電荷があるか、または正電荷があるかなどでデータが保存されたことを表現する。ストリングは、セルのソースとドレインとが結合された、セルが直列に連結されている単位を意味する。ページは、複数のストリングに所属された複数のセルのうち、１つのセルを取って情報を構成する。ページは、複数のストリングで特定のセル（例えば、特定位置）をまとめる。通常のフラッシュメモリでは、セルのコントロールゲートに同じ電源を付加させる単位をページと称する。
【００３０】
前述したように本発明の一実施形態は、複数のストリングに存在するセルを使用して状態情報を保存するために、各ストリングに１つのセルを取って状態情報を保存する方法を取るか、または２つ以上のストリングのセルに同じ状態情報を重複して保存してエラーを検出し、データの保存如何を判別可能にする。
【００３１】
図５は、本発明の一実施形態による小ブロックフラッシュメモリでデータのプログラム時に発生するエラーをなくすために１ストリングに１つのセルを使用する例示図である。
【００３２】
小ブロックフラッシュメモリは、１つのセクターでページが構成される。図３で説明したように、１つのページは、メインストリンググループと余分のストリンググループとに含まれたセルで構成され、メインストリンググループのセルは、セクター４００を構成する。１つのセルは、１ｂｉｔ以上の情報を含むことができ、図５では、１つのセルが１ｂｉｔを表す場合を示す。ページＡ  ２１０は、セクター４００と複数の余分のストリングに属するセルで構成される。１つのページ（またはセクター）にデータを保存し、そのページまたはそのセクターに対するデータ保存如何を知らせる状態情報が保存されたセルと他のページまたは他のセクターの状態情報が保存されたセルとが同じストリングに存在しないようにする。その結果、状態情報の保存時にストリングの他のセルを変更するエラーによって、ページについての誤った情報の提供を防止することができる。
【００３３】
状態情報が１である場合は、初期化された場合を意味し、状態情報が０である場合は、」該当セクターがプログラムされたことを意味すると仮定する。この際、ページＡ  ２１０のセクター４００へのデータのプログラム時に、データの保存如何を知らせる状態情報をストリング１  ３１０の最初のセル１０１に保存しうる。状態情報は、最初のセル１０１の値を０に変更することによって保存される。またページＢ  ２２０のセクターにデータをプログラムし、状態情報をストリング２  ３２０の２番目のセル１０２に保存しうる。やはり２番目のセル１０２は、０の値を有させる。以後、電源が切れるか、追加作業が発生しても、１０１セルを通じてページＡのセクターにデータが保存されており、１０２セルを通じてページＢのセクターにデータが保存されていることが分かる。
【００３４】
図５で例示した方式を通じて状態情報を保存する場合、前述したストリングの特定セルのプログラム時に、他のセルに影響を与えることはあるが、状態情報にエラーは発生しない。図５において、ページＡの状態情報をセル１  １０１に保存するとき、ストリング１  ３１０の他のセルが影響を受けることがある。しかし、前述したように、１つのストリングには、１つのセクターについての状態情報だけを保存するので、エラーを発生させない。すなわち、ページＡ  ２１０の状態情報をセル１  １０１に保存し、ページＢ  ２２０の状態情報をセル３  １０２に保存した。
【００３５】
したがって、セル１  １０１にページＡ  ２１０の状態情報を保存するとき、エラーが発生してセル３  １０２まで影響を与え、ページＢ  ２２０にデータが保存されたときにエラーが発生しうる。しかし、本発明の一実施形態によって、１つのストリングに１つのセクターまたはページについての状態情報を保存するので、セル１  １０１への状態情報の保存中にセル３  １０３の情報が変わったとしても、ページＢ  ２２０についての状態情報はセル２  １０２を参照しているので、エラーは発生しない。
【００３６】
図６は、図５の小ブロックフラッシュメモリでの余分のストリングの各セルをテーブルの１セルとして示す図面である。セクター０についての状態情報は、ｂｉｔ０  ｓ０に保存する。セクター１についての状態情報はｂｉｔ１  ｓ１に保存する。このような方式でセクター３１についての状態情報を保存しうる。ｂｉｔ０とｂｉｔ１，．．．，ｂｉｔｎ−１までは相異なるストリングに含まれるので、特定ビットへの状態情報の保存時、他の状態情報を変化させない。状態情報にエラーが発生せず、その結果、ページまたはセクターでのエラーの発生有無が分かる。
【００３７】
エラーなしにセクター０をプログラムした場合のブロック５０１は、対角線方向に存在するセルが状態情報を保存する。太く表示されたセルが状態情報を表す。セクター０をプログラムし、最初のストリングの最初のセル１０１が０に変更されている。
【００３８】
一方、セクター０のプログラム中にエラーが発生しうる。太く表示されたセルが状態情報を表す。ブロック５０２でセクター０の状態情報をセル１  １０１に保存する途中、同じストリングに存在するセル３  １０３の値が変更されうる。しかし、セクター１の状態情報は、セル２  １０２に保存されるので、セル３  １０３の値の変更如何とは関係ない。
【００３９】
図５のように１つのストリングが１つのビットを表し、１ページが５２８バイトの情報を含む場合、実際にデータの保存時には、５１６バイトを使用し、残りの１６バイトは余分の空間に置く。したがって、１つのストリングに総３２個のセルが構成された場合、余分の空間は１６ｘ８で、総１２８個のストリングが存在できるので、このうち、３２個のストリングを状態ビットとして使用しうる。余分空間が何個のストリングで構成されているかは、具現によって変わりうる。例えば、図２のように、１つのストリングが１６個のセルで構成されてもよく、これと違って、１つのストリングが３２個のセルで構成されうる。１つのストリングが何個のセルを含んでいるかによって、重複を避けねばならない場合の数が変わる。
【００４０】
図７は、本発明の一実施形態による大ブロックフラッシュメモリでデータのプログラム時に発生するエラーをなくすために１ストリングに１つのセルを使用する例示図である。
【００４１】
図７は、６４個のページで１ブロックを構成し、１ページは、４個のセクターを含む。１つのストリングは３２個のセルを含む。１つのページが４個のセクターを含むので、セクター別に状態情報を保存する場合、総４個のビットが必要である。ページＡ  ２１０の最初のセクターについての状態情報はストリング１  ３１０の最初のセルであるセル１  １０１に保存する。２番目のセクターについての状態情報はストリング２  ３２０の最初のセルのセル２  １０２に保存する。このような方式で保存される態様をテーブルの形で説明すれば、図８のようである。
【００４２】
図８は、  図７の小ブロックフラッシュメモリでの余分のストリングの各セルをテーブルの１セルとして示す図面である。セクター０についての状態情報は、ｂｉｔ０  ｓ０に保存する。セクター１についての状態情報はｂｉｔ１  ｓ１に保存する。このような方式でセクター２５５についての状態情報を保存しうる。ｂｉｔ０とｂｉｔ１，．．．，ｂｉｔｎ−１までは相異なるストリングに含まれるので、特定ビットへの状態情報の保存時、他の状態情報を変化させない。状態情報にエラーが発生せず、その結果、ページまたはセクターでのエラーの発生有無が分かる。セクター０ないしセクター３までデータがプログラムされた状態はブロック５１０と同じである。太く表示されたセルが状態情報を示すセルである。１つのストリングに１セルのみが状態情報を表すので、他のセルの変更により誤った情報が書き込まれない。
【００４３】
図９は、本発明の一実施形態によるデータを保存し、１ストリングの１セルに状態情報を保存する過程を示すフローチャートである。
【００４４】
まず、フラッシュメモリに特定のセクターを選択してデータをプログラム（保存）する（Ｓ１０１）。保存した後で該当セクターについての状態情報を保存するストリングのセルを選択する。この際、他のセクターについての状態情報を保存するセルを含まないストリングで１つのセルを選択する（Ｓ１０２）。すなわち、１つのストリングに１つのセルのみがセクターについての状態情報を保存するように選択する。そして、セクターにデータがプログラムされたということを知らせる情報０を該当セルに保存する（Ｓ１０３）。他のセクターにデータを保存（プログラム）する場合にも、図９の過程を経て状態情報を保存すれば、１セクターに対して１つのストリングに存在するセルが状態情報を提供する。どんなストリングを選択するか、またはどんなセルを選択するかは、具現によって変わりうる。望ましい実施形態として、データが保存されたセクターと同じページに存在するセルを選択しうる。前述したように対角線の形で選択しうる。
【００４５】
図１０は、本発明の一実施形態によるセクターの有効性を検査する過程を示すフローチャートである。セクターについての状態情報を保存するセルを選択する（Ｓ１１１）。これは、図９の過程で状態情報を保存するセルを選択した方式による。選択したセルに保存された情報が１であるかを判断する（Ｓ１１２）。０であれば、該当セクターにデータがプログラムされたと判断する（Ｓ１１６）。一方、１であれば、該当セクターにデータがプログラムされていないと判断する（Ｓ１１７）。
【００４６】
図９及び図１０において、状態ビットが０である場合、データがプログラムされたことを意味し、これと違ってメモリ装置によって１に設定することもできる。また、マルチレベルセルである場合には、状態ビットを００または１１など複数のビットを使用しうる。
【００４７】
図１１は、本発明の一実施形態による小ブロックフラッシュメモリでデータのプログラム時に発生するエラーをなくすために複数のセルを用いて状態情報を保存する例示図である。
【００４８】
説明の便宜上、図６及び図８で使用したテーブル形式の表記を通じてフラッシュメモリを表す。通常、フラッシュメモリのような不揮発性メモリは、ページ当り障害の発生できるビット数（セル数）を明示している。通常、１つのセルが１ｂｉｔのデータを保存する場合には、ページ当り障害が発生できるセルの数が、直ちにビットの数となる。セルが複数のｂｉｔ情報を保存する場合は、エラーが発生できるセルの数によりビットの数が異なって計算されうる。したがって、このようなビット数を考慮して状態情報を保存するならば、データのプログラム時にエラーが発生することを状態情報を通じて分かる。
【００４９】
図１１のように、小ブロックフラッシュメモリの場合は、ページに１つのセクターが存在する。最初のページ２１０に存在するセクター０にデータをプログラムした後、余分のストリングのＮ個のストリングのうち、最初のページ２１０に存在するセルのデータを０にプログラムする。セクター０についての状態情報はｓ０であり、状態情報を重複して複数のセルに保存する。状態情報は、複数のセルを通じて分かるので、ある１セルが表す状態情報にエラーが発生してデータが保存されたと示されても、他のセルが示す状態情報がそうでなければ、データが保存されていないものと判断しうる。
【００５０】
状態情報で、データがプログラムされていない場合を１に、データがプログラムされた場合を０にする場合を仮定する。最初のページ２１０のセクター０にデータを保存し、データが保存されたことを知らせるために状態情報を０に設定する過程で、２番目のページ２２０に属するｓ１セルの一部が０に設定されうる。すなわち、ストリング０のｂｉｔ０に該当するｓ１が１から０に変わりうる。
【００５１】
もし、従来の方式のように１セルまたは１ビットだけを有して状態情報を表示するならば、２番目のページ２２０には、データが保存されたと判断するエラーが発生する。しかし、本発明の一実施形態によってＮ個のストリングに存在するＮ個のセルをもって状態情報を表示するので、ある１セルにエラーが発生してもデータが保存されていないと判別しうる。図１０において、ストリング０のｓ１セルがエラーにより０に変わっても、ストリング１のｓ１セル、ストリング２のｓ１セル，．．．，ストリングＮ−１のｓ１セルがいずれも１に存在するので、２番目のページ２２０にデータが保存されていないと判断しうる。
【００５２】
また、１ページでエラーが発生しうるビット数（セルの数）をＫとする時、状態情報を表すためにＫより大きいＮ値を取って、Ｎ個のストリングで状態情報を表すならば、エラーを避けることができる。例えば、１ページにエラーが発生しうるビット数が２ならば、２より大きい５ビットを状態情報のために割り当てる場合、２ビットでいずれもエラーが発生しても、残りの３ビットを通じてもデータの保存如何を判断しうる。
【００５３】
Ｎ個の各ストリングに存在するセルで状態情報を表す場合、検討段階で同じ状態情報を有するセルが必ずしもＮ個である必要はない。具現によって、Ｎ個より少ない場合であるが、エラーが発生しうるセルの数を超える場合には、一部のセルで判断可能である。例えば、総１０個のセルに状態情報を保存し、該当ページで平均的に、または最大２個のセルでエラーが起こる場合を仮定する。この場合、総１０個のセルのうち、９個のセルが同じ状態情報を保存しているならば、残りの１個のセルでエラーが発生したと把握し、残りの９個のセルの情報でデータの保存如何を判断しうる。
【００５４】
図１２は、図１１の実施形態による小ブロックメモリに状態情報が保存された状態を示す例示図である。最初のページ２１０のセクターを保存し、Ｎ個のビット（セル）の値を０に変更する。ところが、ストリング０の最初のセル１０１を０に変更する過程でストリング０の２番目のセル１０２の値が１から０に変更された。しかし、２番目のページ２２０のセクターのプログラム如何を保存する状態情報を表す他のセル１４０の値が１と存在するので、２番目のページ２２０のセクターがプログラムされていないことが分かる。
【００５５】
図１３は、本発明の一実施形態による大ブロックフラッシュメモリでデータのプログラム時に発生するエラーをなくすために複数のセルを用いて状態情報を保存する例示図である。
【００５６】
１ページに４個のセクターがあり、状態情報は３ｂｉｔで表現する。その結果、１ページの状態情報を保存するのに総１２ｂｉｔがかかる。１つのセルが１ビットを表す場合、総１２個のストリングがかかる。特定セルの状態情報の保存中に同じストリングに位置する他のセルの値を変更させても、１つのセクターについて３個のセルが状態情報を表すので、残り２個のセルを通じて、セクターへのデータの保存如何を判断しうる。
【００５７】
図１４は、図１３の実施形態による大ブロックメモリに状態情報が保存された状態を示す例示図である。各セクターについての状態情報は、３ビットで表現し、１ページに４個のセクターが存在するので、１ページに状態情報は、総１２個のビットで表現される。１つのセルが１つのビットを表す場合、余分のストリングのうち、総１２個のストリングで状態情報を表すのに使われる。図１４から分かるように、セクター０についての状態情報は、ストリング０、ストリング１、ストリング２の最初のセルに保存される。セクター１についての状態情報は、ストリング３、ストリング４、ストリング５の最初のセルに保存され、以下各セクターについての状態情報を保存するセルは３つずつ存在する。セクター４についての状態情報は、セクター０についての状態情報が保存されたセルと同じストリングに位置するので、セクター４の状態情報は、ストリング０、ストリング１、ストリング２の２番目のセルに保存される。
【００５８】
図１４は、セクター０からセクター７まで２ページにデータが保存された状態を示す。もし、セクター４についての状態情報の保存中にストリング０の２番目のセル１１１を０にプログラムしつつ、エラーが発生して、ストリング０の３番目のセル１１２を０にプログラムしうる。ストリング０の３番目のセル１１２は、セクター８についての状態情報を保存するセルである。既存の方式では、３番目のセル１１２だけでセクター８のデータ保存如何を判断するので、３番目のセル１１２にエラーが発生すれば、セクター８にデータが保存されたと判断する。しかし、現在はストリング０、ストリング１、ストリング２の３番目のセルがいずれも０になった場合に、データが保存されたと判断されるので、ストリング０の三番目のセル１１２にエラーが発生しても、セクター８にデータが保存されていないことが分かる。
【００５９】
また、１ページ当りエラーの発生可能なビット数より多くのビットを状態情報に割り当てるので、他のエラーの発生により状態情報がいずれも誤る可能性は顕著に低い。例えば、１ページ当りエラーの発生可能なビット数が最大２ビットならば、図１３のように１セクターに３ビットを割り当てることができる。１セクターに対する３ビットのうち、２ビットでエラーが発生して０に変わっても、残りの１ビットが１で残るので、該当セクターにデータが保存されていないということが分かる。
【００６０】
図１５は、本発明の一実施形態によるデータを保存して複数のセルに状態情報を保存する過程を示すフローチャートである。まず、特定セクターにデータをプログラムする（Ｓ１５１）。プログラムした後に該当ページを構成する余分のストリングでＮ個のセルが表す状態ビットに０を記録する（Ｓ１５２）。これにより、Ｎ個のセルに状態情報が保存される。
【００６１】
図１６は、本発明の一実施形態による複数の状態ビットを通じてセクターの有効性を検査する過程を示すフローチャートである。まず、該当セクターに対するＮ個の状態ビットを検討して、いずれも０であるかを確認する（Ｓ１６１）。エラーが発生していないならば、データがプログラムされた場合には、いずれも０であり、そうでない場合は、いずれも１である。全体ビットが０である場合には、データが保存されたと判断する（Ｓ１６６）。一方、全体ビットがいずれも０でない場合、すなわち、一部が０であるか、いずれも１である場合には、セクターにデータがプログラムされていないと判断する（Ｓ１６７）。一部が０である場合は、他のセクターの状態情報の保存中にエラーが発生したものである。しかし、他のビットが１と存在するので、セクターにデータが保存されていないことを判別しうる。
【００６２】
一方、Ｓ１６１段階での判断時、Ｎ個の状態ビットがいずれも０であるかを判断することは一実施形態である。図１１の説明のように、Ｎ個の状態ビットのうち、一部ビットが０であっても、エラーの発生可能なビット数と比較して、十分に状態情報を保存していると判断する時には、一部のビットが０を表しても、データがプログラムされたと判断しうる。例えば、総１０個のセルに状態情報を保存し、該当ページで平均的に、または最大２個のセルでエラーが発生する場合を仮定する。この場合、総１０個のセルで、９個のセルが同じ状態情報を保存しているならば、残りの１個のセルでエラーが発生したと把握して、残り９個のセルの情報でデータ保存如何を判断しうる。これはメモリを構成する素子の特性によって、Ｎ個のセルがいずれも同じ状態情報である場合、データがプログラムされたと判断し、これとは違って、Ｎ個のセルのうち、約９０％のセルが同じ状態情報である場合、データがプログラムされたと判断しうる。これは具現によって各々変わりうる。
【００６３】
図１７は、本発明の一実施形態による複数のストリングに状態情報を保存する不揮発性保存装置の構成図である。
【００６４】
本実施例で使われる‘部’という用語、すなわち、‘モジュール’あるいは‘テーブル’はソフトウェアまたはＦＰＧＡまたはＡＳＩＣのようなハードウェア構成要素を意味し、モジュールは所定の役割を行う。しかし、モジュールはソフトウェアまたはハードウェアに限定されるものではない。モジュールはアドレッシングできる保存媒体に位置すべく構成されても良く、１つまたはそれ以上のプロセッサーを再生させるように構成されても良い。したがって、一例としてモジュールはソフトウェア構成要素、客体向けソフトウェア構成要素、クラス構成要素及びタスク構成要素のような構成要素と、プロセス、関数、属性、プロシージャー、サブルーチン、プログラムコードのセグメント、ドライバー、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ及び変数を含む。構成要素とモジュール内で提供される機能はより少数の構成要素及びモジュールに結合されるか、追加的な構成要素とモジュールにさらに分離されうる。のみならず、構成要素及びモジュールはディバイスまたは保安マルチメディアカード内の１つまたはそれ以上のＣＰＵを再生させるように具現されることもある。
【００６５】
不揮発性メモリ１０００は、大きくメモリ制御部９１０と保存部９２０とで構成される。
【００６６】
メモリ制御部９１０は、保存部９２０からどんなデータを読込んで保存するかを制御する。またフラッシュメモリの場合、データを保存する前に削除する作業も行う。一方、前述したように、特定セクターまたは特定ページにデータを保存（プログラム）しつつ、これについての状態情報を保存部９２０の如何なる領域に保存するかを判断する。例えば、１つの独立したビットを使用し、１つのストリングに１つのビットを使用する方式を適用する場合、メモリ制御部９１０は、保存されるセクターまたはページについての状態情報を如何なるストリングに保存するかを選択する。また、複数のセルをもって複数の状態情報を保存する場合には、何個のセルが割当てられるかを決定する。この際、ページ当りエラーの発生可能なビット数より多くのビットで状態情報を表す。
【００６７】
保存部９２０は、データが保存される領域である。複数のブロック５１０，５２０，．．．で構成され、各ブロックは再びページ２１１、２１２、２２１、２２２で構成される。一方、複数のページのセルは、ストリングを構成する。ストリングは、大きくメインストリンググループと余分のストリンググループとに分けられ、メインストリングのセルにデータがプログラムされる。余分のストリンググループを構成する２つ以上のストリングはページまたはセクターについての状態情報を保存する。図１７では、太線で状態情報を提供するストリングを表示している。２つ以上のストリングを状態情報の保存に提供するので、何れか１つのストリングで発生可能なエラーが、他のストリングには影響を与えず、その結果、状態情報で発生するエラーを解決しうる。
【００６８】
メモリ制御部９１０は、状態情報によって独立したビットで保存するか、あるいは複数のビットを使用するかを決定する。余分のストリングが多い場合には、独立したビットとして保存し、余分のストリングが少ない場合には、複数のビットを使用する。独立したビットとして保存する時には、ページ数またはセクター数に比例して、多くのストリングが必要である。しかし、複数のＮビットを使用すると決定すれば、そのＮビットほどのストリングのみを必要とするので、状態情報に割当てられるストリングの数が減る。
【００６９】
本発明が属する技術分野で当業者ならば本発明がその技術的思想や必須特徴を変更せずとも他の具体的な形に実施されうるということが理解できるであろう。したがって、前述した実施例はあらゆる面で例示的なものであり、限定的なものと理解してはならない。本発明の範囲は前述した詳細な説明よりは特許請求の範囲によって現れ、特許請求の範囲の意味及び範囲、そしてその均等概念から導かれるあらゆる変更または変形された形が本発明の範囲に含まれると解釈せねばならない。
【産業上の利用可能性】
【００７０】
本発明は、複数のストリングを使用して状態情報を保存する方法及び不揮発性保存装置に関連した技術分野に好適に適用されうる。
【図面の簡単な説明】
【００７１】
【図１】ＮＡＮＤフラッシュメモリの構成を示す図である。
【図２】図１のフラッシュメモリの構成を図式化して示す図である。
【図３】ＮＡＮＤフラッシュメモリの構造を示す構成図である。
【図４】従来のフラッシュメモリの特定セルへのプログラム時に同じストリングにある他のセルが影響を受ける場合を示す例示図である。
【図５】本発明の一実施形態による小ブロックフラッシュメモリでデータのプログラム時に発生するエラーをなくすために１ストリングに１つのセルを使用する例示図である。
【図６】図５の小ブロックフラッシュメモリでの余分のストリングの各セルをテーブルの１セルとして示す図である。
【図７】本発明の一実施形態による大ブロックフラッシュメモリでデータのプログラム時に発生するエラーをなくすために１ストリングに１つのセルを使用する例示図である。
【図８】図７の小ブロックフラッシュメモリでの余分のストリングの各セルをテーブルの１セルとして示す図である。
【図９】本発明の一実施形態によるデータを保存し、１ストリングの１セルに状態情報を保存する過程を示すフローチャートである。
【図１０】本発明の一実施形態によるセクターの有効性を検査する過程を示すフローチャートである。
【図１１】本発明の一実施形態による小ブロックフラッシュメモリでデータのプログラム時に発生するエラーをなくすために複数のセルを用いて状態情報を保存する例示図である。
【図１２】図１１の実施形態による小ブロックメモリに状態情報が保存された状態を示す例示図である。
【図１３】本発明の一実施形態による大ブロックフラッシュメモリでデータのプログラム時に発生するエラーをなくすために複数のセルを用いて状態情報を保存する例示図である。
【図１４】図１３の実施形態による大ブロックメモリに状態情報が保存された状態を示す例示図である。
【図１５】本発明の一実施形態によるデータを保存して複数のセルに状態情報を保存する過程を示すフローチャートである。
【図１６】本発明の一実施形態による複数の状態ビットを通じてセクターの有効性を検査する過程を示すフローチャートである。
【図１７】本発明の一実施形態による複数のストリングに状態情報を保存する不揮発性保存装置の構成図である。
【符号の説明】
【００７２】
１００      セル
２００      ページ
３００      ストリング
４００      セクター
５００      ブロック
９１０      メモリ制御部
９２０      保存部
１０００    不揮発性保存装置
【図１】
2006277921.tif 000003
【図２】
2006277921.tif 000004
【図３】
2006277921.tif 000005
【図４】
2006277921.tif 000006
【図５】
2006277921.tif 000007
【図６】
2006277921.tif 000008
【図７】
2006277921.tif 000009
【図８】
2006277921.tif 000010
【図９】
2006277921.tif 000011
【図１０】
2006277921.tif 000012
【図１１】
2006277921.tif 000013
【図１２】
2006277921.tif 000014
【図１３】
2006277921.tif 000015
【図１４】
2006277921.tif 000016
【図１５】
2006277921.tif 000017
【図１６】
2006277921.tif 000018
【図１７】
2006277921.tif 000019