(57)【要約】【課題】  擬似パス機能を有しつつ、使用可能なメモリ容量の減少を抑制することが可能な不揮発性メモリを備える不揮発性メモリシステムを提供すること。【解決手段】  不揮発性メモリ１と、これを制御するメモリコントローラ３とを具備し、不揮発性メモリ１は、書き込みシーケンス、及び消去シーケンスの少なくともいずれか一方の終了後に、許容ビット数までのビットエラーが発生していてもステータスとしてはパスを返す擬似パス機能を備え、コントローラ３は、許容ビット数の上限値を変更する許容ビット数変更機能を備える。【選択図】      図３
2006134482.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリと、前記不揮発性メモリを制御するメモリコントローラとを具備し、
前記不揮発性メモリは、書き込みシーケンス、及び消去シーケンスの少なくともいずれか一方の終了後に、許容ビット数までのビットエラーが発生していてもステータスとしてはパスを返す擬似パス機能を備え、
前記メモリコントローラは、前記許容ビット数の上限値を変更する許容ビット数変更機能を備えることを特徴とする不揮発性メモリシステム。
【請求項２】
前記許容ビット数の上限値は、擬似パスとして許容したビットエラー数に基づいて変更されることを特徴とする請求項１に記載の不揮発性メモリシステム。
【請求項３】
前記不揮発性メモリは、
前記許容ビット数を保持する、書き替え可能な許容ビット数保持部と、
前記ステータスリード時において、ステータス、及び前記擬似パスとして許容したビットエラー数を保持するステータス保持部と、を備え、
前記メモリコントローラは、
前記ステータスと、前記擬似パスとして許容したビットエラー数とを読み出し、
前記擬似パスとして許容したビットエラー数をエラー検出・訂正機能によって訂正可能なビット数と比較し、
前記比較の結果に基づいて、前記許容ビット数を前記訂正可能なビット数の範囲内で変更し、変更した許容ビット数を前記許容ビット数保持部に書き込む許容ビット数変更処理部を備えることを特徴とする請求項２に記載の不揮発性メモリシステム。
【請求項４】
前記許容ビット数の上限値は、前記不揮発性メモリの書き替え回数に基づいて変更されることを特徴とする請求項１に記載の不揮発性メモリシステム。
【請求項５】
前記不揮発性メモリは、
前記許容ビット数を保持する、書き替え可能な許容ビット数保持部を備え、
前記メモリコントローラは、
前記不揮発性メモリの書き替え回数を計数する計数部と、
前記計数の結果に基づいて、前記許容ビット数をエラー検出・訂正機能によって訂正可能なビット数の範囲内で変更し、変更した許容ビット数を前記許容ビット数保持部に書き込む許容ビット数変更処理部を備えることを特徴とする請求項４に記載の不揮発性メモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリシステムに関し、特に、擬似パス機能を有した不揮発性メモリシステムに関する。
【背景技術】
【０００２】
不揮発性半導体記憶装置、例えば、ＮＡＮＤフラッシュメモリを使用する場合には、十分な信頼性を保証するためにＥＣＣ（Ｅｒｒｏｒ  Ｃｈｅｃｋｉｎｇ  ａｎｄ  Ｃｏｒｒｅｃｔｉｎｇ）によるビットエラーの検出・訂正が有効である。例えば、多値ＮＡＮＤフラッシュメモリを使用している標準的なシステムでは、ページあたり４シンボルのビットエラーの検出・訂正が可能なＥＣＣが搭載されている。
【０００３】
ところで、ＮＡＮＤフラッシュメモリの高集積化、大規模容量化が進んでおり、高集積化、大規模容量化が進んだＮＡＮＤフラッシュメモリでは、あるメモリセルのしきい値が、突発的に高くなり、正しくデータを書き込めなくなる、あるいは正しくデータを消去できなくなる現象が、近時確認された。この現象を、本明細書では“突発的なビット化け”と呼ぶ。
【０００４】
“突発的なビット化け”が発生するアドレスは完全にランダムであり、その原因は、動作の履歴とは関係がないようであるが、メモリセルの経時劣化には関係がありそうである。また、“突発的なビット化け”が発生しても、データを消去した上で再びデータを書き込めば回復してしまう。このような特異性から、“突発的なビット化け”は、メモリセルの致命的な不良に起因して発生した現象ではなく、一種のソフトエラー的な障害と考えられている。いまのところ、“突発的なビット化け”を防ぐための有効な手立ては確立していない。
【０００５】
“突発的なビット化け”は、ＮＡＮＤフラッシュメモリに関係なく、ＮＡＮＤフラッシュメモリと同様の不揮発性メモリセルを使っている不揮発性半導体記憶装置においても発生する。なかでも、データに対応したしきい値分布幅が、通常の二値メモリに比較してタイトである多値メモリにおいては、より深刻な事情に発展する可能性がある。
【０００６】
このような事情から、例えば、多値ＮＡＮＤフラッシュメモリでは、“突発的なビット化け”をある程度まで許容した上で信頼性を保証した方が、コスト的に有利であると考えられた。この考えに基づいて開発された機能が、いわゆる“擬似パス機能”である。“擬似パス機能”は、チップ内部書き込みシーケンス、又はチップ内部消去シーケンス終了時に、１ビット、２ビットといったビットにエラーが発生していても、ステータスとしては“パス”を返す手法である。この手法は、例えば、特許文献１に記載されている。チップ内部書き込みシーケンス、又はチップ内部消去シーケンス終了時にビットエラーが発生していても、読み出し時には、システム、あるいはフラッシュコントローラにおいて、ＥＣＣが実行されるために、ビットエラーが、訂正可能なビット数の範囲であれば支障は無いのである。
【０００７】
しかし、“擬似パス機能”を採用した場合、チップ内部書き込みシーケンス、又はチップ内部消去シーケンス終了時において、全てのビットが正しいデータとならないために、バッドブロックが発生する確率が、“擬似パス機能”を採用していない場合に比べて高まりやすい。このため、使用可能なメモリ容量が減少しやすい、という事情を抱えている。
【特許文献１】米国特許第６，１８５，１３４号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００８】
この発明は、“擬似パス機能”を有しつつ、使用可能なメモリ容量の減少を抑制することが可能な不揮発性メモリを備える不揮発性メモリシステムを提供する。
【課題を解決するための手段】
【０００９】
この発明の一態様に係る不揮発性メモリシステムは、不揮発性メモリと、前記不揮発性メモリを制御するメモリコントローラとを具備し、前記不揮発性メモリは、書き込みシーケンス、及び消去シーケンスの少なくともいずれか一方の終了後に、許容ビット数までのビットエラーが発生していてもステータスとしてはパスを返す擬似パス機能を備え、前記メモリコントローラは、前記許容ビット数の上限値を変更する許容ビット数変更機能を備える。
【発明の効果】
【００１０】
この発明によれば、“擬似パス機能”を有しつつ、使用可能なメモリ容量の減少を抑制することが可能な不揮発性メモリを備える不揮発性メモリシステムを提供できる。
【発明を実施するための最良の形態】
【００１１】
以下、この発明の実施形態のいくつかを、図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【００１２】
（第１実施形態）
不揮発性メモリ、例えば、ＮＡＮＤフラッシュメモリでは、チップ内部書き込みシーケンス、又はチップ内部消去シーケンス中に、チップ内部で自動的にメモリセルの状態をベリファイする。以下の説明は、チップ内部書き込みシーケンスを示すが、チップ内部消去シーケンスについても同じである。
【００１３】
書き込みはページを単位として行われる。各ビット線には、それぞれ一つずつデータレジスタが接続されており、書き込み動作の初めに、１ページ分のデータが、データレジスタにロードされる。書き込みは数回に分けて行なわれ、それぞれの書き込みの後に、メモリセルの状態がデータレジスタ中のデータとベリファイされる。ページ内のすべてのメモリセルへの書き込みが完了したことをベリファイ動作により確認したとき、あるいは書き込み時間が規定時間を超えたとき、あるいは書き込み−ベリファイのサイクルが規定サイクル数を超えたときにチップ内部書き込みシーケンスは終了する。
【００１４】
チップ内部書き込みシーケンス終了後、ベリファイ結果はＮＡＮＤフラッシュメモリの内部ステータスとして保持される。このステータスは、ステータスリードコマンドを入力すれば、外部に読み出すことができる。
【００１５】
ステータスの読み出しは、メモリセルの致命的な不良を検知することを目的としているため、ステータスとして“フェイル”が出力されたページを含むブロックはバッドブロックとして登録し、その後は使用しない処理を施す。メモリセルは薄いトンネル酸化膜を通して電荷をやり取りするため、データの書き替えを繰り返すことにより劣化が進み、致命的な不良を起こすことがある。バッドブロックとして登録されたブロックを使用しない理由は、致命的な不良を起こしたメモリセルは、データを記憶できないだけでなく、その他のメモリセルへも影響を与える可能性があるからである。従来は、チップ内部書き込みシーケンス、又はチップ内部消去シーケンス終了時に、ビットエラーが１ビットでも発生すれば、ステータスとしては“フェイル”を返していた。これは背景技術の欄において説明したように、高集積化、大規模容量化が進んだＮＡＮＤフラッシュメモリのように、“突発的なビット化け”が発生する可能性がある不揮発性メモリにおいては、コスト的に不利となる。そこで、本実施形態に係るＮＡＮＤフラッシュメモリは、“擬似パス機能”を備える。例えば、多値ＮＡＮＤフラッシュメモリの場合には、それを使用するに当たっての推奨である４ビット訂正ＥＣＣを前提とし、擬似パスとして許容する許容ビット数は１ビットまたは２ビットに設定される。
【００１６】
なお、通常の読み出しの場合には、エラー検出・訂正機能（ＥＣＣ）を使い、ビットエラーがあれば訂正することを前提としているため、通常の読み出し時に発生したビットエラーはステータスには反映させない。通常の読み出し時に発生したビットエラーをステータスに反映させると、バッドブロックが無用に増えるだけである。
【００１７】
図１に、“擬似パス機能”を備えるＮＡＮＤフラッシュメモリで使用される擬似パス機能対応型データレジスタの一例を示す。
【００１８】
擬似バス機能対応型データレジスタは、１ページ分のデータを記憶するレジスタ（ページバッファ）１００を有し、ベリファイ結果の一括検知のために１バイト分をワイヤード・オア（ｗｉｒｅｄ  ＯＲ）接続し、回路ＳＤのＰＭＯＳのゲートに入力する。回路ＳＤ中のＰＭＯＳは、ページバッファ中に書き込みが完了していないビットが存在する場合に、そのビットの個数に比例した電流Ｉｆａｉｌを流す。この電流Ｉｆａｉｌを、回路ＳＤＰ_０、ＳＤＰ_１、ＳＤＰ_２、ＳＤＰ_３の電流Ｉｐａｓｓと比較することにより、ベリファイが完了していないビットの数を知ることができる。回路ＳＤＰ_０は、ページ内のすべてのビットの書き込みが完了したことを検知するための系であるが、回路ＳＤＰ_０中のＰＭＯＳ１のゲート幅は、回路ＳＤＰ_１、ＳＤＰ_２、ＳＤＰ_３中のＰＭＯＳ２それぞれのゲート幅の半分に設定されており、トランジスタのばらつきによらず、書き込みが完了したことを確実に検知できる。
【００１９】
図２に、図１に示すデータレジスタが、許容したビット数を検知する時の内部波形を示す。図２は、１ページ中のビットエラーが２ビットである場合の、データレジスタの内部波形である。
【００２０】
従来、擬似パスとして許容する許容ビット数は出荷時に設定されており、ユーザーの使用中には変更することができない。しかしながら、ビットエラーが発生する確率は、ユーザーの使用中に、“突発的なビット化け”の発生とともに、メモリセルの劣化を原因として高まる傾向にある。出荷時に設定された許容ビット数を使用していると、やがて、バッドブロックが無用に増加しだす。一方、許容ビット数を、使用中に増加しだすビットエラーを見込んで多く設定した場合には、読み出し時においてＥＣＣに要する時間が、使用初期時から長くなりがちとなり、ＮＡＮＤフラッシュメモリを使用しているシステムのパフォーマンスが、使用初期時から落ちてしまう。
【００２１】
そこで、本実施形態では、ユーザーの使用中においても、擬似パスとして許容する許容ビット数の上限値を変更できるようにする。以下、本実施形態が備える許容ビット数変更機能を、不揮発性メモリをメモリコントローラによって制御する不揮発性メモリシステムを例にとり、詳しく説明する。
【００２２】
図３は、この発明の第１実施形態に係る不揮発性メモリシステムの一例を示すブロック図である。本例は、不揮発性メモリをＮＡＮＤフラッシュメモリとし、メモリコントローラをフラッシュコントローラとした場合である。
【００２３】
図３に示すように、フラッシュコントローラ３は、ＮＡＮＤフラッシュメモリ１を制御する。例えば、コントローラ３は、システム、例えば、外部ホストからの要求に従ってメモリ１をアクセスし、データの読み出し、データの書き込み、及びデータの消去を制御する。
【００２４】
メモリ１は、制御ピンと、入出力ピンとを持つ。制御ピンは、基本的にコントローラ３からの制御信号を受信するためのピンであり、入出力ピンは、基本的にコントローラ３とのデータの送受信、コントローラ３からのコマンドの受信、及びコントローラ３へのステータスの送信を行なうためのピンである。本例では、制御ピンとして/CE（チップイネーブル）、ALE（アドレスラッチイネーブル）、CLE（コマンドラッチイネーブル）、/WE（ライトイネーブル）、/RE（リードイネーブル）、RY／/BY（レディ／ビジー）、/WP（ライトプロテクト）があり、入出力ピンとしてＩ／Ｏ１〜Ｉ／Ｏ８がある。これら制御ピン、及び入出力ピンは、コントローラ３に接続される。
【００２５】
図４に、メモリ１の一ブロック構成例を示す。図４に示すブロックについては、その動作説明とともに説明する。動作説明は、書き込みシーケンスの一例について説明するが、消去シーケンスについても同様のシーケンスを組むことができる。即ち、書き込みシーケンスにおいても、消去シーケンスにおいても、コントローラ３が許容ビット数の上限値を変更する変更処理シーケンスが含まれていれば良い。そのようなコントローラ３としては、その変更処理シーケンスを実行する許容ビット数変更処理部を備えていれば良い。許容ビット数変更処理部は、コントローラ３内に設けられた演算処理部、例えば、ロジック回路部を利用しても良いし、このロジック回路部とは別に設けられても良い。前者の場合には、変更処理シーケンスがプログラムされたソフトを、コントローラ３内のＲＯＭ、もしくは書き替え可能なＲＯＭにプログラムし、このプログラムに従って、コントローラ３のロジック回路部を制御すれば良い。後者の場合には、変更処理シーケンスを実行する集積回路を、コントローラ３のチップ中に形成しておけば良い。
【００２６】
また、メモリ１においては、許容ビット数を保持する許容ビット数保持部が、許容ビット数の変更に対応できるように、コントローラ３からの制御に従って書き替え可能に構成されていれば良い。
【００２７】
図５は、この発明の第１実施形態に係る不揮発性メモリシステムの書き込みシーケンスの一例を示す流れ図である。
【００２８】
図５に示すように、コントローラ３はシステムからの要求により、書き込みコマンドを発行する。書き込みコマンドを受けたメモリ１は、内部で自動的に書き込み−ベリファイのシーケンスを繰り返す（ＳＴ．１）。
【００２９】
チップ内部書き込みシーケンス終了後（End）、ＲＹ／/ＢＹピンの電位が、例えば、“Ｌ”レベルから“Ｈ”レベルとなり、メモリ１がビジー（Busy）状態からレディ（Ready）状態に戻ったことが、コントローラ３に対して通知される。コントローラ３はメモリ１がレディ状態に戻ったことを確認した後、ステータスリードコマンドを発行する。ステータスリードコマンドを受けたメモリ１は、例えば、ステータスレジスタ（Status register）１１に保持された、当該ブロック書き込みにおけるステータスを出力する（ＳＴ．２）。
【００３０】
図６に、メモリ１からのステータスの出力例を示す。ステータスは、メモリ１のＩ／Ｏポート、即ち入出力ピンＩ／Ｏ１〜Ｉ／Ｏ８から出力される。最下位ビットＩ／Ｏ１は“パス”、もしくは“フェイル”のステータスを示し、例えば、Ｉ／Ｏ１の出力値が“０”であればパス、“１”であればフェイルである。
【００３１】
ステータスが“フェイル”である場合（Fail）、当該ブロックはバッドブロックとして登録し（ＳＴ．３）、システムとしての書き込みシーケンスを終了する。バッドブロックとして登録されたブロックは使用しない。
【００３２】
ステータスが“パス”である場合（Pass）、ベリファイ終了時に擬似パスとして許容したビットエラー数ｎを参照する。ビットエラー数ｎの出力例を図６に示す。図６に示すように、ビットエラー数ｎは、Ｉ／Ｏ２〜４に二進数として出力される。ビットエラー数ｎの出力の方法は、図６に示す例に限らず、ビットアサインが変更されても良い。また、ビットエラー数ｎの出力は、ステータスリードコマンドとは別のコマンド、例えば、ビットエラー数ｎを読み出すコマンドを新たに設定し、これに従って出力されるようにしても良い。
【００３３】
ＳＴ．４において、ビットエラー数ｎが０ビットである場合（＝0bit）、これ以上の処理は必要なく、システムとしての書き込みシーケンスを終了する。
【００３４】
一方、ビットエラー数ｎが１ビット以上である場合（≧1bit）、メモリ１に保持されている許容ビット数ｒｎを変更する変更処理シーケンスに入る。
【００３５】
本第１実施形態に係るメモリ１は、許容ビット数ｒｎをＲＯＭヒューズ（ROM fuse）１３に保持する。ＲＯＭヒューズ１３は、例えば、メモリセルアレイ（Memory Cell Array）１５中のメモリセルと同じ構造を持つメモリセルによって形成される。本例のように、ＲＯＭヒューズ１３は、メモリセルアレイ１５とは別の領域に形成されていても良いし、メモリセルアレイ１５中の一部分に設定するようにしても良い。
【００３６】
ビットエラー数ｎは、最大許容ビット数（Max bit）と比較される（ＳＴ．４）。最大許容ビット数は、例えば、コントローラ３、もしくはシステムに設けられたＥＣＣ回路で訂正できる最大ビット数を考慮して設定される。例えば、ＥＣＣ回路が、４ビットのエラーの検知と訂正とを実行できるのであれば、最大許容ビット数は４ビット以下の値に設定される。
【００３７】
ＳＴ．５において、ビットエラー数ｎが最大許容ビット数（Max bit）に達している場合（Yes）、許容ビット数ｒｎを変更する必要はなく、システムとしての書き込みシーケンスを終了する。
【００３８】
一方、ビットエラー数ｎが、最大許容ビット数（Max bit）未満である場合（No）、ビットエラー数ｎを、例えば、“プラス１”する（ＳＴ．６）。次いで、“プラス１”されたビットエラー数ｎを、許容ビット数ｒｎと比較する（ＳＴ．７）。
【００３９】
ＳＴ．７において、“プラス１”されたビットエラー数ｎが、許容ビット数ｒｎ以下の場合（No）には、許容ビット数ｒｎを変更する必要はないので、システムとしての書き込みシーケンスを終了する。
【００４０】
一方、“プラス１”されたビットエラー数ｎが、許容ビット数ｒｎを超える場合には（Yes）、許容ビット数ｒｎを、“プラス１”されたビットエラー数ｎに変更する。変更された許容ビット数ｒｎはＲＯＭヒューズ１３に書き込まれ、ＲＯＭヒューズ１３に保持されていた許容ビット数ｒｎが更新され、再保持される。
【００４１】
変更された許容ビット数ｒｎをＲＯＭヒューズ１３に書き込む際には、アドレシングとしてＲＯＭヒューズ１３を指定する新たな書き込みコマンドを設定し、新たな書き込みコマンドに従って書き込めば良い。アドレシングとしてＲＯＭヒューズ１３を指定すれば、ＲＯＭヒューズ１３のデータは、通常のメモリセルと同様に書き替えができるからである。何故ならば、ＲＯＭヒューズ１３は、メモリ１の動作情報、例えば、リダンダンシ情報が書き込まれることがある。このために、メモリ１は、ＲＯＭヒューズ１３に動作情報を書き込んだり、訂正したりするテストモードコマンドを備えている。従って、ＲＯＭヒューズ１３は、通常のメモリセルと同様に書き替えができる。また、書き替えの際には、新たな書き込みコマンドを設定しなくても、テストモードコマンドを利用しても良い。
【００４２】
いずれにせよ、次の書き込みシーケンスからは、ＲＯＭヒューズ１３に再保持された許容ビット数ｒｎの値が反映される。
【００４３】
第１実施形態は、擬似パスとして許容する許容ビット数ｒｎの上限値を、コントローラ３からの指示によって、ユーザーの使用中に変更できる構成を有する。この構成を有することにより、ユーザーの使用中に許容ビット数ｒｎの上限値を上げることが可能となり、ユーザーの使用中に、バッドブロックが無用に増加しだす、という事情を緩和できる。
【００４４】
従って、第１実施形態によれば、“擬似パス機能”を有しつつ、使用可能なメモリ容量の減少を抑制することが可能な不揮発性メモリを備える不揮発性メモリシステムを得ることができる。
【００４５】
（第２実施形態）
図７はこの発明の第２実施形態に係る不揮発性メモリシステムの一例を示すブロック図である。
【００４６】
図７に示すように、第２実施形態で使用されるコントローラ３は、メモリ１の書き替え回数を計数する計数部を備える。計数部の一例はカウンタであり、本例では、書き替え回数カウンタ２１と呼ぶ。
【００４７】
メモリ１のメモリセルは、データの書き替え回数が増えていくのにしたがって、書き込み特性が劣化していき、“突発的なビット化け”が発生する確率が高まる。従来の“擬似パス機能”を有したメモリ１では、出荷時から使用期間のすべてに渡り、同じ許容ビット数が適用される。コントローラ３を含めた不揮発性メモリシステム全体として考えると、出荷時から、１つのページに、“突発的なビット化け”が複数発生するようなブロックは、バッドブロックとして登録して使用しないほうが、パフォーマンスが向上する。このため、許容ビット数は少なく、例えば、１ビットに設定される。
【００４８】
しかし、書き替え回数が増えていき、“突発的なビット化け”が増加してくると、コントローラ３によるＥＣＣ、もしくはシステムによるＥＣＣによって訂正可能なビットエラー数であるにも関わらず、書き込みステータスとして“フェイル”が返される。このため、バッドブロックとして登録されるブロックが増えていき、使用可能なメモリ領域が減少していってしまう。通常のメモリセルの劣化特性であれば、書き替え回数に対する“突発的なビット化け”の増加傾向は、ある程度予測可能であるため、ある規定の回数まで書き替えが進んだ段階で、許容ビット数を変更すると良い。このような手法は、システムのパフォーマンスと寿命との両方を、適切なものとするために有効である。
【００４９】
第２実施形態において、許容ビット数ｒｎは、第１実施形態と同様に、メモリ１内のＲＯＭヒューズ１３に保持される。ＲＯＭヒューズ１３のデータは、第１実施形態でも述べたように、アドレシングとしてＲＯＭヒューズ１３を指定すれば通常のメモリセルと同様に書き替えができる。
【００５０】
コントローラ３は、書き替え回数カウンタ２１を用いて、メモリ１の書き替え回数、例えば、メモリセルの書き替え回数をモニタする。コントローラ３は、ウェアレベリングと呼ばれる手法を使用していることが多いので、メモリセルの書き替えは平均化されていると考えてよい。コントローラ３は、書き替え回数カウンタ２１の値が、設定された規定の回数になったとき、メモリ１に設定されている許容ビット数ｒｎを変更する。例えば、コントローラ３は、ＲＯＭヒューズ書き替えコマンドを発行し、ＲＯＭヒューズ１３に保持されている許容ビット数ｎを書き替える。
【００５１】
図８は、この発明の第２実施形態に係る不揮発性メモリシステムの書き込みシーケンスの一例を示す流れ図である。
【００５２】
図８に示すように、本一例に係る書き込みシーケンスも、第１実施形態において説明した書き込みシーケンスの一例とほぼ同様である。特に、異なるところは、ＳＴ．４において、許容したビットエラー数ｎをモニタするのではなく、書き替え回数をモニタすることにある。
【００５３】
ＳＴ．４において、書き替え回数が規定の回数未満である場合には、システムとしての書き込みシーケンスを終了する。
【００５４】
書き替え回数が規定の回数に達した場合には、ＳＴ．５において、許容ビット数ｒｎが、最大許容ビット数（Max bit）であるか否かを判断する。許容ビット数ｒｎが、最大許容ビット数（Max bit）に達している場合には（Yes）、システムとしての書き込みシーケンスを終了する。
【００５５】
一方、許容ビット数ｒｎが、最大許容ビット数（Max bit）に達していない場合には（No）、許容ビット数ｒｎを、例えば、“プラス１”し（ＳＴ．６）、“プラス１”された許容ビット数ｒｎ´を、新たな許容ビット数ｒｎに変更する。この後は、第１実施形態で説明した書き込みシーケンスと同様である。
【００５６】
第２実施形態によれば、第１実施形態と同様に、擬似パスとして許容する許容ビット数ｒｎの上限値を、コントローラ３からの指示によって、ユーザーの使用中に変更できる構成である。従って、第１実施形態と同様の効果を得ることができる。
【００５７】
さらに、第２実施形態は、例えば、メモリセルの書き替え回数に基づいて、許容ビット数ｒｎの上限値を変更するので、初期使用時には許容ビット数ｒｎの上限値を厳しくして信頼性の高い使い方、換言すれば、パフォーマンスの良い使い方ができる。
【００５８】
さらに、経時劣化、即ち不良なメモリセルが増えてきたら、許容ビット数ｒｎの上限値を緩めて、バッドブロックが多発して使用可能なメモリ容量が減少するのを防ぐことができる。
【００５９】
第２実施形態によれば、このような効果を、より良く得ることができる。
【００６０】
（第３実施形態）
上記実施形態は許容ビット数ｒｎをＲＯＭヒューズ１３に保持させる例であったが、許容ビット数ｒｎはＲＯＭヒューズ１３以外にも保持させることができる。第３実施形態は、ＲＯＭヒューズ１３以外に保持させる一例に関する。
【００６１】
本例では、許容ビット数ｒｎをブロック内のページの一部を利用し、ここに保持させる例である。ブロックとページとの関係の一例を図９に示す。
【００６２】
図９に示すように、メモリセルアレイ１５は、例えば、１０２４個のブロックＢＬＯＣＫ０〜ＢＬＯＣＫ１０２３を含む。ブロックは、例えば、消去の最小単位である。ブロックＢＬＯＣＫは、１個あたり、例えば、４２５６個のＮＡＮＤ型メモリユニットを含む。ＮＡＮＤ型メモリユニットは、直列に接続された複数個の不揮発性半導体メモリセルトランジスタＭ、例えば、４個のメモリセルトランジスタＭと、これら４個のメモリセルトランジスタＭの列の一端に接続された選択ゲートトランジスタＳ１と、その他端に接続された選択ゲートトランジスタＳ２とを含む。選択ゲートトランジスタＳ１のゲートはドレイン側選択ゲート線ＳＧＤに接続され、その電流通路はメモリセルトランジスタＭとビット線ＢＬとの間に直列に接続される。選択ゲートトランジスタＳ２のゲートはソース側選択ゲート線ＳＧＳに接続され、その電流通路はメモリセルトランジスタＭとセルソース線Ｃ-sourceとの間に直列に接続される。４個のメモリセルトランジスタＭ各々のゲートは、それぞれワード線ＷＬ０〜ＷＬ３に接続される。データの書き込み、及び読み出しは、１本のワード線ＷＬに接続された、例えば、４２５６個のメモリセルトランジスタＭに対して同時に実行される。１個のメモリセルトランジスタＭがそれぞれ記憶する１ビットのデータ、もしくは多ビットのデータが、本例では４２５６個集まり、ページとなる。ページは、書き込み、及び読み出しの最小単位である。
【００６３】
図１０に、ページの一例を示す。本例のページのサイズは、例えば、５３２バイトである。本例では５３２バイトのうち、例えば、５１２バイトをデータ領域に割り当て、残りの２０バイトを冗長領域に割り当てる。データ領域は、例えば、システムが使用するメインメモリストレージであり、冗長領域は、例えば、リダンダンシやその他の情報のストレージに利用される。本例では、ページの一部の領域、例えば、冗長領域のメモリセルトランジスタＭのうちの一部を使用して許容ビット数ｒｎを記憶させる。許容ビット数ｒｎを記憶させる領域は、冗長領域の一部、例えば、２０バイトのうちの１バイトである。許容ビット数ｒｎを、１バイトの領域に書き込む方法としては、いくつかが考えられるが、図１１にその一例を示す。なお、許容ビット数ｒｎの書き込みに関する説明は、後述する。
【００６４】
このように、許容ビット数ｒｎは、メモリセルアレイ１５に記憶させることも可能である。許容ビット数ｒｎをメモリセルアレイ１５に記憶させる場合には、複数、例えば、１０２４個のブロックのうちの一つを使用して記憶させても良いし、本例のように、ブロックそれぞれの各ページの一部を使用して記憶させても良い。特に、許容ビット数ｒｎをメモリセルアレイ１５の各ページの一部に記憶させた場合には、許容ビット数をページ毎に設定でき、それぞれのページの特性に合わせた、より精密な制御が可能になる、という利点を得ることができる。
【００６５】
図１２は、この発明の第３実施形態に係る不揮発性メモリシステムの書き込みシーケンスの一例を示す流れ図である。
【００６６】
本例では、許容ビット数ｒｎは、出荷時（初期状態）において、例えば、１ビットに設定される。
【００６７】
第３実施形態では、例えば、書き込みが始まって一回目のベリファイ読み出しの際に、冗長領域に設定された１バイトのデータ、即ち、許容ビット数ｒｎが読み出され、読み出された許容ビット数ｒｎは、メモリ１内に設けられたテンポラリレジスタに一時的に保持される。その後、書き込み−ベリファイ動作を繰り返す。各ベリファイでは、許容するビットエラー数ｎを“０”ビットから最大ビット（例えば、４ビット）まで増加させていきながら、ベリファイ結果を一括検知していく。
【００６８】
本例においては、上記動作を、例えば、図１２中のＳＴ．１に示すように実行する。
【００６９】
まず、ＳＴ．７１において、図２に示すデータレジスタ（Data register）１７にラッチされた書き込みデータを、アドレスレジスタ（Address register）１９にラッチされたアドレスによって選択されるページに書き込む。次いで、ＳＴ．７２において、書き込みデータを、メモリセルから読み出す（ベリファイ読み出し）。次いで、ＳＴ．７３において、この読み出しが一回目の読み出しであるか否かを判断する。一回目の読み出しの場合（Yes）、例えば、冗長領域の一部に記憶させた許容ビット数ｒｎを読み出し、許容ビット数ｒｎをテンポラリレジスタに記憶させる（ＳＴ．７４）。次いで、許容するビットエラー数ｎを初期値、本例では“０”に設定する（ＳＴ．７５）。この後、ベリファイ読み出し時に読み出したデータが、データレジスタ１７にラッチされた書き込みデータと一致するか否かを判断し、書き込みが成功したか否かを、許容するビットエラー数ｎ＝０として判断する（ＳＴ．７６）。成功の場合には、内部書き込みシーケンスを終了する。
【００７０】
失敗の場合（Fail）には、再書き込みのシーケンスに入る。再書き込みシーケンスでは、許容するビット数ｎが最大値（max bit）であるか否かを判断する（ＳＴ．７７）。許容ビット数ｎが最大値では無い場合（No）にのみ、許容ビット数ｎを、例えば“プラス１”した上で（ＳＴ．７８）、ＳＴ．７１に示す書き込み動作、およびＳＴ．７２、及びＳＴ．７６に示すベリファイ動作を再度実行する。再書き込みである場合には、ＳＴ．７３では一回目の読み出しでは無い（No）と判断されるから、ＳＴ．７３に示すベリファイ読み出しの後、ＳＴ．７６に示す判定に進む。後は、例えば、第１実施形態のＳＴ．１と同様に、ＮＡＮＤフラッシュメモリ１は書き込みが終了するまで、自動的に書き込み−ベリファイのシーケンスを繰り返す。
【００７１】
なお、本例では、ＳＴ．７６において、失敗（Fail）と判断される毎に、許容ビット数ｎが増加されるが、許容ビット数ｎの増加は毎回行う必要は無く、所定の回数毎に、増加させても良い。
【００７２】
また、ＳＴ．７３において、一回目の読み出しの際に許容ビット数ｒｎが読み出されるが、許容ビット数ｒｎはページのデータ領域に書き込まれた書き込みデータと一緒に読み出されても良いし、この書き込みデータとは別に読み出されても良い。
【００７３】
書き込みが終了した後（End）、ＳＴ．２に示すステータスリードに入り、以降は、例えば、第１実施形態、又は第２実施形態において説明した書き込みシーケンスと同様の動作を行なえば良い。
【００７４】
また、ページ内に許容ビット数ｒｎを書き込む際には、データ“０”の数、もしくはデータ“１”をビット毎に書き足していくと良い。この場合、許容ビット数ｒｎは、許容ビット数記憶部、本例では冗長領域の１バイト中のデータ“０”の数、もしくはデータ“１”の数のいずれかで示される。
【００７５】
例えば、図１１に示す例によれば、データ“０”を書き足していくことで、許容ビット数ｒｎが変更される。このため、許容ビット数ｒｎを変更する際に、消去動作が必要なくなる。
【００７６】
さらに、本例においては、許容ビット数ｒｎを変更する際、変更するべき許容ビット数ｒｎが、冗長領域のメモリセルに接続されたデータレジスタにセットされる。データレジスタにセットされた値が冗長領域のメモリセルに書き込まれることになるが、本体のメモリセルほど精密なしきい値の制御は必要なく、その書き替えは比較的短い時間で済む。このため、書き替えは、例えば、書き込みビジー時間内に続けて行なうことも可能である。
【００７７】
（応用例）
次に、この発明の実施形態に係る不揮発性メモリシステムを利用した、電子機器の例を説明する。
【００７８】
図１３は、この発明の実施形態に係る不揮発性メモリシステムを利用する電子機器の一例を示す図である。図１３には、電子機器の一例として、携帯電子機器、例えば、携帯電話端末が示されている。
【００７９】
上記実施形態は、不揮発性メモリシステムであり、例えば、携帯電話端末内の書き替え可能なＲＯＭ（ＥＥＰＲＯＭ）に利用することができる。もちろん、ＥＥＰＲＯＭばかりでなく、携帯電話端末内のＲＯＭにも利用可能である。
【００８０】
図１４は、携帯電話端末のシステム例を示すブロック図である。以下、携帯電話端末を、そのシステム例とともに説明する。
【００８１】
図１３、及び図１４に示すように、携帯電話端末は、通信部、及び制御部を含む。通信部は、送受信アンテナ３１１、アンテナ共用器３１２、受信器３１３、ベースバンド処理部３１４、音声コーデックとして用いられるＤＳＰ（Digital Signal Processor）３１５、スピーカ３１６、マイクロホン３１７、送信器３１８、及び周波数シンセサイザ３１９を備えている。
【００８２】
制御部は、ＣＰＵ３２１、及びＣＰＵ３２１にＣＰＵバス３３０を介して接続されるＲＯＭ３２２、ＲＡＭ３２３、ＥＥＰＲＯＭ３２４を備えている。ＲＯＭ３２２は、ＣＰＵ３２１において実行されるプログラム、例えば、通信プロトコルや、表示用のフォント等の必要となるデータを記憶する。ＲＡＭ３２３は作業領域として主に用いられ、例えば、ＣＰＵ３２１がプログラム実行中において、計算途中のデータなどを必要に応じて記憶したり、制御部と制御部以外の各部との間でやり取りされるデータを一時的に記憶したりする。書き替え可能なＲＯＭ（ＥＥＰＲＯＭ）３２４は不揮発性メモリシステムであり、携帯電話端末の電源がオフにされても、これに記憶されているデータは消滅しない。このため、ＥＥＰＲＯＭ３２４は、例えば、直前の設定条件などを記憶し、次の電源オン時に同じ設定にするような使用方法をとる場合に、それらの設定パラメータ等を記憶する。上記実施形態に係る不揮発性メモリシステムは、ＥＥＰＲＯＭ３２４に利用することができる。もちろん、ＲＯＭ３２２にも利用可能である。
【００８３】
本例に係る携帯電話端末は、さらに、キー操作部３４０、ＬＣＤコントローラ３５０、リンガ３６０、外部入出力端子３７０、外部メモリスロット３８０、及びオーディオ再生処理部３９０を備えている。
【００８４】
キー操作部３４０は、インターフェース回路（Ｉ／Ｆ）３４１を介してＣＰＵバス３３０に接続される。キー操作部３４０からキー入力されたキー入力情報は、例えば、ＣＰＵ３２１に伝えられる。
【００８５】
ＬＣＤコントローラ３５０は、例えば、ＣＰＵ３２１からの表示情報を、ＣＰＵバス３３０を介して受け、ＬＣＤ（液晶ディスプレイ）３５１を制御するＬＣＤ制御情報に変換し、ＬＣＤ３５１に伝える。
【００８６】
リンガ３６０は、例えば、呼び出し音等を発生する。
【００８７】
外部入出力端子３７０は、インターフェース回路３７１を介してＣＰＵバス３３０に接続され、携帯電話端末に外部から情報を入力したり、あるいは携帯電話端末から外部へ情報を出力したりする際の端子として機能する。
【００８８】
外部メモリスロット３８０にはメモリカード等の外部メモリ４００が挿入される。外部メモリスロット３８０は、インターフェース回路３８１を介してＣＰＵバス３３０に接続される。携帯電話端末にスロット３８０を設けることにより、携帯電話端末からの情報を外部メモリ４００に書き込んだり、あるいは外部メモリ４００に記憶された情報を読み出し、携帯電話端末に入力したりすることが可能となる。
【００８９】
外部メモリ４００は、例えば、メモリカードである。メモリカードは、記憶部として不揮発性メモリシステムを持つ。上記実施形態に係る不揮発性メモリシステムは、メモリカードの記憶部として利用できる。
【００９０】
オーディオ再生処理部３９０は、携帯電話端末に入力されたオーディオ情報、あるいは外部メモリ４００に記憶されたオーディオ情報を再生する。再生されたオーディオ情報は、外部端子３９１を介して、例えば、ヘッドフォン、携帯型スピーカ等に伝えることにより、外部に取り出すことが可能である。例えば、携帯電話端末にオーディオ再生処理部３９０を設けることにより、オーディオ情報の再生が可能となる。
【００９１】
このように、この発明の実施形態に係る不揮発性メモリシステムは、電子機器、例えば、携帯電話端末やメモリカードに利用することができる。
【００９２】
また、この発明の実施形態に係る不揮発性メモリシステムを利用したメモリカード４００は、図１５Ａ〜１５Ｆ、図１６Ａ〜図１６Ｅに示すように、例えば、デジタルスチルカメラ／ビデオカメラ（図１５Ａ）、テレビジョン（図１５Ｂ）、オーディオ／ビジュアル機器（図１５Ｃ）、オーディオ機器（図１５Ｄ）、ゲーム機器（図１５Ｅ）、電子楽器（図１５Ｆ）、パーソナルコンピュータ（図１６Ａ）、パーソナルデジタルアシスタント：ＰＤＡ（図１６Ｂ）、ボイスレコーダ（図１６Ｃ）、ＰＣカード（図１６Ｄ）、電子書籍端末（図１６Ｅ）等の記録メディアとしても利用することができる。
【００９３】
以上、この発明をいくつかの実施形態により説明したが、この発明は各実施形態に限定されるものではなく、その実施にあたっては発明の要旨を逸脱しない範囲で種々に変形することが可能である。
【００９４】
例えば、許容ビット数ｒｎの上限値は、メモリ１のブロック毎に変更されても良いし、メモリ１のページ毎に変更されても良い。
【００９５】
また、メモリ１としては、二値メモリであっても良いし、多値メモリであっても良い。さらに、メモリ１は、ＮＡＮＤフラッシュメモリを例示したが、ＮＡＮＤフラッシュメモリに限られるものでもない。
【００９６】
また、各実施形態は、それぞれ単独で実施することが可能であるが、適宜組み合わせて実施することも可能である。
【００９７】
また、各実施形態は、それぞれ種々の段階の発明を含んでおり、各実施形態において開示した複数の構成要件の適宜な組み合わせにより、種々の段階の発明を抽出することが可能である。
【００９８】
また、各実施形態は、この発明を不揮発性メモリシステムに適用した例に基づき説明したが、この発明は不揮発性メモリシステムに限られるものではなく、この不揮発性メモリシステムを内蔵した半導体集積回路装置、例えば、プロセッサ、システムＬＳＩ等もまた、この発明の範疇であるし、この不揮発性メモリシステムを利用した電子機器システムもまた、この発明の範疇である。
【図面の簡単な説明】
【００９９】
【図１】図１は擬似パス対応型データレジスタの一例を示す回路図
【図２】図２は擬似パス対応型データレジスタの内部波形を示す波形図
【図３】図３はこの発明の第１実施形態に係る不揮発性メモリシステムの一例を示すブロック図
【図４】図４はこの発明の第１実施形態に係る不揮発性メモリシステムに使用される不揮発性メモリの一ブロック構成例を示すブロック図
【図５】図５はこの発明の第１実施形態に係る不揮発性メモリシステムの書き込みシーケンスの一例を示す流れ図
【図６】図６はステータスの出力例を示す図
【図７】図７はこの発明の第２実施形態に係る不揮発性メモリシステムの一例を示すブロック図
【図８】図８はこの発明の第２実施形態に係る不揮発性メモリシステムの書き込みシーケンスの一例を示す流れ図
【図９】図９はブロックとページとの関係の一例を示す図
【図１０】図１０はページの一例を示す図
【図１１】図１１は許容ビット数をページの一部に記憶させる方法の一例を示す図
【図１２】図１２はこの発明の第３実施形態に係る不揮発性メモリシステムの書き込みシーケンスの一例を示す流れ図
【図１３】図１３はこの発明の実施形態に係る不揮発性メモリシステムを利用する電子機器の一例を示す図
【図１４】図１４は携帯電話端末のシステム例を示すブロック図
【図１５】図１５Ａ〜図１５Ｆはこの発明の実施形態に係る不揮発性メモリシステムが利用されたメモリカードを使用する電子機器を示す図
【図１６】図１６Ａ〜図１６Ｅはこの発明の実施形態に係る不揮発性メモリシステムが利用されたメモリカードを使用する電子機器を示す図
【符号の説明】
【０１００】
１…ＮＡＮＤフラッシュメモリ、３…フラッシュコントローラ、１３…ＲＯＭヒューズ。
【図１】
2006134482.tif 000003
【図２】
2006134482.tif 000004
【図３】
2006134482.tif 000005
【図４】
2006134482.tif 000006
【図５】
2006134482.tif 000007
【図６】
2006134482.tif 000008
【図７】
2006134482.tif 000009
【図８】
2006134482.tif 000010
【図９】
2006134482.tif 000011
【図１０】
2006134482.tif 000012
【図１１】
2006134482.tif 000013
【図１２】
2006134482.tif 000014
【図１３】
2006134482.tif 000015
【図１４】
2006134482.tif 000016
【図１５】
2006134482.tif 000017
【図１６】
2006134482.tif 000018