(57)【要約】【課題】一層歩留まりを向上することが可能な半導体メモリと半導体メモリシステムを提供する。【解決手段】半導体メモリは、複数のブロックを有し、各ブロックは複数のページで構成され、各ページは複数のメモリセルを有している。ブロック内の全てのページがＮ箇所以下（Ｎは、０以上の整数）の不良ビットしか持たないブロックは、正常なブロックを示す第１のデータを記憶し、Ｎ箇所より多くの不良ビットを有するページを少なくとも１つ含み、Ｍ箇所以上（ＭはＭ＞Ｎの整数）の不良ビットを有するページを１つも持たないブロックは、擬似的に正常なブロックとして擬似パスブロックを示す第２のデータを記憶し、Ｍ箇所以上の不良ビットを含むページを少なくとも１つ含むブロックは、不良ブロックとして第３のデータを記憶する。【選択図】      図１
2008192240.tif 000002
【特許請求の範囲】
【請求項１】
複数のブロックを有し、各ブロックは複数のページで構成され、各ページは複数のメモリセルを有する半導体メモリであって、
前記ブロック内の全てのページがＮ個以下（Ｎは、０以上の整数）の不良ビットしか持たないブロックは、正常なブロックを示す第１のデータを記憶し、Ｎ個より多くの不良ビットを有するページを少なくとも１つ含み、Ｍ個以上（ＭはＭ＞Ｎの整数）の不良ビットを有するページを１つも持たないブロックは、擬似的に正常なブロックとして擬似パスブロックを示す第２のデータを記憶し、Ｍ個以上の不良ビットを含むページを少なくとも１つ含むブロックは、不良ブロックとして第３のデータを記憶することを特徴とする半導体メモリ。
【請求項２】
前記請求項１記載の半導体メモリ及びエラー訂正機能を有するコントローラを搭載した半導体メモリシステムであって、
前記コントローラは、前記第１のデータが記憶されたブロックは、正常ブロックとして使用し、前記第３のデータが記憶されたブロックは不良ブロックとして識別して使用せず、前記第２のデータが記憶されたブロックは、各ページのエラー訂正単位毎にテストを実行し、エラー訂正単位毎に検出される不良ビットの数がエラー訂正可能な数よりも大きい場合、不良ブロックとして認識して使用せず、全てのエラー訂正単位の中にある不良ビットの数がエラー訂正可能な数以下である場合、利用可能なブロックとして使用することを特徴とする。
【請求項３】
前記請求項１記載の半導体メモリ及びエラー訂正機能を有するコントローラを搭載した半導体メモリシステムであって、
前記コントローラは、前記第１のデータが記憶されたブロックは、正常ブロックとして使用し、前記第３のデータが記憶されたブロックは不良ブロックとして識別して使用せず、前記第２のデータが記憶されたブロックは、各ページのエラー訂正単位毎にテストを実行し、エラー訂正単位毎に検出される不良ビットの数がエラー訂正可能な数−α（αは後発の許容不良ビット数）よりも大きい場合、不良ブロックとして認識して使用せず、全てのエラー訂正単位内の不良ビット数がエラー訂正可能な数−α以下である場合、利用可能なブロックとして使用する。
【請求項４】
前記請求項１記載の半導体メモリは、ページサイズが１ｋＢ以上のＮＡＮＤ型フラッシュメモリであり、５１２バイト当たり４箇所以上のエラー訂正機能を有するコントローラを含み、Ｎ≧３、Ｍ＞４であることを特徴とする。
【請求項５】
前記請求項１記載の半導体メモリ及びエラー訂正機能を有するコントローラを搭載した半導体メモリシステムであって、
前記コントローラが、擬似パスブロックを扱うことができない場合、前記第２のデータが記憶されたブロックは不良ブロックと識別して使用しないことを特徴とする。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばＮＡＮＤ型フラッシュメモリのような不揮発性メモリに係わり、特に、出荷前と出荷後において、不良ビットを救済することが可能な半導体メモリと半導体メモリシステムに関する。
【背景技術】
【０００２】
近年、半導体の微細化技術の進展に伴い不揮発性メモリのビット容量は、急激に増加している。このため、製造時にメモリの全ビットが良品であることを前提としたメモリチップの選別テスト方法では、不良品が多発し、十分な歩留まりを確保することが難しい。したがって、多少の不良ビットを有するメモリチップも良品チップとして使用できるようにする不良ビットの救済技術が以下のように、種々実用化されている。
【０００３】
（１）メモリチップ内で不良ビットを救済するリダンダンシー技術
このリダンダンシー技術としては、不良カラムを良品カラムで置換するカラムリダンダンシー技術や、不良ブロックを良品ブロックにより置き換えるブロックリダンダンシー技術などがある。尚、以下、同時に消去可能な領域を消去ブロックと呼び、この消去ブロック単位を単にブロックと称する。１つのブロックは書き込み／読み出し単位としての複数のページを含み、各ページは、複数のメモリセルにより構成されている。
【０００４】
（２）不揮発性メモリに搭載されたコントローラが実行する不良ビット救済技術
この不良ビット救済技術としては、ＥＣＣ（Error Check and Correction）回路によるエラー訂正技術や、不良カラムをスキップして正常カラムで代替する不良カラムスキップ技術、及び不良ブロックを正常ブロックで代替する不良ブロック代替技術などがある。
【０００５】
（３）メモリチップのテスト技術
このテスト技術としては、ＥＣＣ回路による訂正を前提として、ページ内に少数の不良ビットがあってもこれを無視し、擬似的に正常ページとする擬似パス技術などがある（例えば特許文献１参照）。
【０００６】
上記各技術のうち、ＥＣＣ技術は不良ビットの救済技術として特に強力であり、回路規模の増大を許容すれば、必要なエラー訂正の強度に応じた柔軟なＥＣＣ回路の設計ができるという特徴がある。
【０００７】
また、上記擬似パス技術は、ＥＣＣ技術による不良ビットの訂正を前提にすることで、大幅なメモリの歩留まりの向上を実現している。ＥＣＣ回路による訂正単位（ＥＣＣ単位と称す）が例えば５１２バイトであり、このＥＣＣ単位の中で、４箇所以下の不良ビットを訂正できる４ビット／５１２バイトのＥＣＣ技術を前提とすることにより、１ページ（２ｋバイト＝２０４８バイト）当たり２箇所の不良があっても正常ページとする２ビット擬似パス技術が実用化されている。
【０００８】
また、近年、メモリカードなどに搭載される不揮発性メモリは、高速化の要求に対応するため、一度に書き込み／読み出しできるビット数＝ページサイズが急激に大きくなりつつある。従来、１３０ｎｍ以前のＮＡＮＤ型フラッシュメモリは、１ページが５１２バイト（小ブロック）だったが、９０ｎｍ以降において、１ページが２ｋバイト（大ブロック）となっており、さらに、今後４ｋバイト、８ｋバイトと大きくなる傾向がある。このため、ＥＣＣ回路において、一度に訂正するビット数も増加する傾向にある。しかし、ＥＣＣ回路は、ＥＣＣ単位が大きくなればなるほど急激に回路規模が増大するという問題点がある。したがって、７０ｎｍ  ＮＡＮＤ型フラッシュメモリでは１ページ（２ｋバイト）を４つの５１２バイト部分に分割して４回に別けてＥＣＣ訂正を実行している。このようなページサイズとＥＣＣ単位のズレは今後ますます大きくなる傾向にある。
【０００９】
例えば、ＥＣＣ回路で訂正できる不良箇所（不良ビット）の数をＸ箇所、擬似パス技術により無視する不良箇所をＹ箇所とし、１ページをＺ個のＥＣＣ単位に分割して訂正を実行する場合、Ｍ箇所の不良が１つのＥＣＣ単位に集中してもＥＣＣ訂正能力を超えることができないため、（１）式の関係が成立する。
【００１０】
Ｘ≧Ｍ                            …（１）
ここで、α＝Ｘ−Ｍとする。αは、後発の許容不良ビット数であり、不揮発性メモリの出荷前に実施される選別テスト後に、後発的に発生する不良ビットの許容数であり、不良数のマージンとなる。α＝０の場合、後発性のビット不良が１箇所でも発生したらＥＣＣ訂正能力を超えることになり、メモリシステムは危険な状態となる。このため、メモリシステムの用途、半導体メモリのデータリテンションの強度、例えばメモリセルに対する書き込み、消去の繰り返し実行によるメモリセルの劣化などを考慮して、通常はα＝０とすることは無い。したがって、（２）式に示すように、擬似パス技術により無視する不良箇所Ｙは、後発の許容不良ビット数αを１以上として設定される。
【００１１】
Ｙ＝Ｘ−α，  α≧１              …（２）
上述した７０ｎｍ  多値（Multi-Level Cell）ＮＡＮＤ型フラッシュメモリの例において、Ｚ＝４（ページサイズ２ｋＢ／ＥＣＣ単位５１２バイト）、Ｙ＝２（２ビット擬似パス）、Ｘ＝４（４ビット／５１２バイト救済）、α＝２が実用化されている。
【００１２】
前述の通り、ページサイズとＥＣＣ単位は今後ますます大きくなる傾向がある。ページサイズとＥＣＣ単位の差が大きくなると次のような問題が発生する。すなわち、擬似パス技術の許容不良ビット数の上限は（２）式で規定されるが、ページサイズとＥＣＣ単位の差が大きくなればなるほど、つまり、ＥＣＣ単位の数Ｚが大きくなればなるほど、１ページ内の１つのＥＣＣ単位にＭ個の不良が全て集中する確率は急激に小さくなる。つまり、（２）式の上限は、発生確率の非常に小さい最悪ケースにおいてもＥＣＣ回路での訂正が保証されているＭ箇所の上限となっている。実際には殆どの場合、Ｍ箇所の不良はＺ個のＥＣＣ単位内に適当に散らばっているため、（２）式を超えたＭ箇所であっても、Ｘ箇所を訂正するＥＣＣ回路で十分訂正可能である。したがって、従来技術による擬似パス技術において、Ｍ箇所の設定とＥＣＣ訂正能力Ｘの関係は、まだ十分良品として利用できる不揮発性メモリチップを不良品として判定していることになる。このため、一層の歩留まり向上が望まれている。
【特許文献１】特開２００２−１４０８９９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
本発明は、一層歩留まりを向上することが可能な半導体メモリと半導体メモリシステムを提供しようとするものである。
【課題を解決するための手段】
【００１４】
本発明の第１の態様に係る半導体メモリは、複数のブロックを有し、各ブロックは複数のページで構成され、各ページは複数のメモリセルを有する半導体メモリであって、前記ブロック内の全てのページがＮ箇所以下（Ｎは、０以上の整数）の不良ビットしか持たないブロックは、正常なブロックを示す第１のデータを記憶し、Ｎ箇所より多くの不良ビットを有するページを少なくとも１つ含み、Ｍ箇所以上（ＭはＭ＞Ｎの整数）の不良ビットを有するページを１つも持たないブロックは、擬似的に正常なブロックとして擬似パスブロックを示す第２のデータを記憶し、Ｍ箇所以上の不良ビットを含むページを少なくとも１つ含むブロックは、不良ブロックとして第３のデータを記憶することを特徴とする。
【００１５】
本発明の第２の態様に係る半導体メモリシステムは、第１の形態の半導体メモリ及びエラー訂正機能を有するコントローラを搭載した半導体メモリシステムであって、前記コントローラは、前記第１のデータが記憶されたブロックは、正常ブロックとして使用し、前記第３のデータが記憶されたブロックは不良ブロックとして識別して使用せず、前記第２のデータが記憶されたブロックは、各ページのエラー訂正単位毎にテストを実行し、エラー訂正単位毎に検出される不良ビットの数がエラー訂正可能な数よりも大きい場合、不良ブロックとして認識して使用せず、全てのエラー訂正単位の中にある不良ビットの数がエラー訂正可能な数以下である場合、利用可能なブロックとして使用することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、一層歩留まりを向上することが可能な半導体メモリと半導体メモリシステムを提供できる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態について、図面を参照して説明する。
【００１８】
以下の実施形態は、ＮＡＮＤ型フラッシュメモリを用いて説明する。しかし、ＮＡＮＤ型フラッシュメモリに限定されるものではなく、その他の不揮発性メモリにも本実施形態を適用可能である。
【００１９】
図２は、本実施形態が適用される記憶装置、例えばメモリカードの一例を示している。
【００２０】
図２において、ホスト機器（以下、ホストと称す）１０は、接続されるメモリカードをアクセスするためのハードウェア及びソフトウェア（システム）を備えている。このホスト１０は、メモリカード１に対して、データリード、データライト、データ消去等のアクセスを行う。
【００２１】
メモリカード１は、ホスト１０に接続されたとき、電源が供給されて動作し、ホスト１０からのアクセスに応じた処理を行う。例えば、データリード、データライト、データ消去等のアクセスでは、物理アドレスと論理アドレスのマッピング、ＥＣＣエラー訂正、ＮＡＮＤ型フラッシュメモリへのアクセス、といった処理を行う。
【００２２】
このメモリカード１は、前述したようにＮＡＮＤ型フラッシュメモリ２及びコントローラ３を有している。
【００２３】
コントローラ３は、メモリインタフェース部４、ホストインタフェース部５、バッファ６、ＣＰＵ７、ＲＯＭ（Read Only Memory）８、及びＲＡＭ（Random Access Memory）９、エラー訂正回路（ＥＣＣ回路）１１を有している。
【００２４】
メモリインタフェース部４は、コントローラ３とＮＡＮＤ型フラッシュメモリ２との間のインタフェース処理を行う。ホストインタフェース部５は、コントローラ３とホスト１０との間のインタフェース処理を行う。
【００２５】
バッファ６は、ホスト１０から送られてくるデータをＮＡＮＤ型フラッシュメモリ２へ書き込む際に、一定量（例えば１ページ分）のデータを一時的に記憶したり、ＮＡＮＤ型フラッシュメモリ２から読み出されるデータをホスト１０へ送り出す際に、一定量のデータを一時的に記憶したりする。ＥＣＣ回路１１は、ＮＡＮＤ型フラッシュメモリ２から読み出されたデータのエラーを訂正する。エラー訂正の方式は、例えば、リードソロモン方式や、ＢＣＨ（Bose-Chaudhuri-Hocquenghem）方式が適用されるが、他の方式を適用することも可能である。
【００２６】
ＣＰＵ７は、メモリカード１全体の動作を司るものである。このＣＰＵ７は、例えばメモリカード１に電源が供給された場合、ＲＯＭ８に格納されているファームウェア（制御プログラム）に従って処理を開始する。即ち、ＣＰＵ７は、処理に必要な各種テーブル（管理データ）をＲＡＭ９上に作成したり、ホスト１０からの書き込みコマンド、読み出しコマンド、消去コマンドを受けてＮＡＮＤ型フラッシュメモリ２上の該当領域をアクセスしたり、ＮＡＮＤ型フラッシュメモリ２をアクセスするにあたってホストからの論理アドレスと物理アドレスとを変換したり、バッファ６を通じてデータ転送処理を制御したりする。
【００２７】
ＲＯＭ８は、ＣＰＵ７により使用される制御プログラムなどを格納するメモリである。ＲＡＭ９は、ＣＰＵ７の作業エリアとして使用され、各種のテーブル等を記憶する揮発性メモリである。
【００２８】
尚、図２に示す例は、ページサイズが例えば４ｋバイト／ページであり、１２４ページ＝５１２ｋバイトの大きさのブロックを４ｋブロック持つ２Ｇバイト（＝１６Ｇビット）のＮＡＮＤ型フラッシュメモリの場合であり、ＥＣＣ回路１１は、５１２バイト当り４箇所を訂正することが可能であるとする。
【００２９】
本実施形態は、以下の２つのステップに別けてＮＡＮＤ型フラッシュメモリの救済を最大限に効率化したシステムを実現する。
【００３０】
第１のステップは、ＮＡＮＤ型フラッシュメモリの選別テストである。この選別テストは、例えば図２に示すＮＡＮＤ型フラッシュメモリ２の製造時に行われる。
【００３１】
第２のステップは、第１のステップにより選別されたＮＡＮＤ型フラッシュメモリ２を、図２に示すように、例えばコントローラを含むメモリカードとして組み立てた状態で行うテストである。第２のステップにおけるテストは、製品の出荷前、又は出荷後のいずれでもよい。さらに、第２のステップにおけるテストは、例えばメモリカードシステムのイニシャライズ動作など電源投入後の通常の動作の一部として実行しても良い。
【００３２】
（第１のステップ）
図３は、第１のステップとしての選別テストの構成を示している。この選別テストは、メモリテスタ２１を用いて行われる。すなわち、ＮＡＮＤ型フラッシュメモリ２にメモリテスタ２１が接続され、擬似パス技術によりページ当りＮビットのエラーが許容されたＮＡＮＤ型フラッシュメモリ２の各ブロックを構成する全てのページにテストデータを書き込み、書き込み後の状態をチェックする。このチェック結果により、正常ブロック（以下、パスブロックと称す）、不良ブロック、擬似パスＢブロックの３種類のカテゴリーに分けられる。ここで、擬似パスＢブロックとは、擬似パス技術により、不良ブロックに設定されたブロックより、ＥＣＣによる訂正を前提として使用可能となる可能性があると判断されたブロックである。各カテゴリーの定義は以下の通りである。
【００３３】
（１）ブロック内の全ページに全く不良を含まないブロック(完全パスブロック)、およびＮ個以下の不良ビットしか持たないブロック(擬似パスプロック)は、パスブロックとする。
【００３４】
（２）Ｎ個より多くの不良を持つページを少なくとも１つ含み、Ｍ個以上（Ｍは、Ｍ＞Ｎの整数）の不良ビットを持つページを１つも持たないブロックは、擬似的に正常なブロックである擬似パスＢブロックとする。
【００３５】
（３）Ｍ箇所以上の不良ビットを有するページを１つでも含むブロックは、不良ブロックとする。
【００３６】
このようなカテゴリーに分けされた各ブロックは、カテゴリーに応じてマーキングされる。
【００３７】
図４は、マーキングの一例を示している。各ブロックの例えば先頭のページに不良マーク記憶領域３１が設けられている。パスブロックの不良マーク記憶領域３１には、例えば“ＦＦ”（１６進）が記憶され、不良ブロックの不良マーク記憶領域３１には、例えば“００”が記憶され、擬似パスＢブロックの不良マーク記憶領域３１には、例えば“０Ｆ”が記憶される。
【００３８】
図１は、メモリテスタ２１の動作を示すものであり、選別テストのフローチャートを示している。図１を用いて選別テストについて説明する。
【００３９】
尚、図１に示す例は、１ページのサイズが例えば４ｋバイトであり、１２４ページ＝５１２ｋバイトの大きさのブロックを４ｋブロック持つ２Ｇバイト（＝１６Ｇビット）のＮＡＮＤ型フラッシュメモリの場合であり、ＥＣＣ回路１１は、５１２バイト当り４箇所を訂正可能であるとする。また、擬似パスの規定値として許容不良ビット数が２であり、擬似パスＢの規定値としての許容不良ビット数Ｍ、Ｎを、それぞれＭ＝６、Ｎ＝３とし、後発の許容不良ビット数αをα＝１に設定した場合である。
【００４０】
先ず、ブロックアドレスＢが“０”に初期設定される（Ｓ１）。この後、ページアドレスＰが“０”に初期設定され、ブロックアドレス“０”、ページアドレス“０”の不良マーク記憶領域３１にパスブロックを示すデータ“ＦＦ”が書き込まれる（Ｓ２）。次いで、ブロックアドレス“０”、ページアドレス“０”のテストが実行される（Ｓ３）。このテストは、例えばブロックアドレス“０”、ページアドレス“０”にテストデータが書き込まれ、この書き込まれたデータがベリファイされる。ベリファイの結果、ページ内の不良ビットの数が、６個以上かどうかが判別される（Ｓ４）。この結果、ページ内の不良ビットの数が６個以上である場合、前記不良マーク記憶領域３１のデータが不良ブロックを示すデータ“００”に書き換えられる。
【００４１】
一方、前記ステップＳ４において、ページ内の不良ビット数が６個未満である場合、ページ内の不良ビット数が、４個以上かどうかが判別される（Ｓ６）。この結果、不良ビット数が４個以上である場合、前記不良マーク記憶領域３１のデータが擬似パスＢブロックを示すデータ“０Ｆ”に書き換えられる（Ｓ７）。また、ページ内の不良ビット数が、３個以下である場合、このページは正常であるため、不良マーク記憶領域３１のデータは、パスブロックを示す“ＦＦ”のまま書き換えられない。この後、ページアドレスＰが最終ページかどうか判別される（Ｓ８）。この結果、最終ページではない場合、ページアドレスＰがインクリメントされて（Ｓ９）、ステップＳ３に移行され、次のページのテストが上記と同様に実行される。
【００４２】
また、最終ページである場合、及び前記不良ブロックが検出され、不良マーク記憶領域３１に不良ブロックを示す“００”を書き込んだ場合、最終ブロックであるかが判別される（Ｓ６）。この結果、最終ブロックではない場合、ブロックアドレスＢがインクリメントされ（Ｓ７）、前記ステップＳ２に移行される。次のブロックについて上記と同様の処理が実行される。
【００４３】
上記動作により、図４に示すように、各ブロックの不良マーク記憶領域３１にブロックの状態を示すマークが記憶される。
【００４４】
図５は、図１のステップＳ３の具体例を示している。この変形例は、書き込みのエラー数を出力する機能を有するＮＡＮＤ型フラッシュメモリに適用される。
【００４５】
図５において、先ず、テストデータとしての書き込みデータを受け、この書き込みデータが例えばラッチ回路に保持される（Ｓ３−１）。次に、この保持された書き込みデータは、指定されたブロックの指定されたページに書き込まれる（Ｓ３−２）。この後、書き込まれたデータが読み出され（Ｓ３−３）、ラッチ回路に保持された書き込みデータと比較される（Ｓ３−４）。この比較の結果、書き込みデータと異なる読み出しデータ、すなわち、エラーデータ数が求められて出力される（Ｓ３−５）。この出力されたエラーデータ数に基づき、図１に示す処理が実行される。
【００４６】
図６は、上記ステップＳ４、Ｓ６の具体例を示している。前述した擬似パス機能を有するＮＡＮＤ型フラッシュメモリは、ベリファイ読み出しの結果、全ビットの書き込みがパスしたかどうかの情報と、エラー数を出力することができる。この例は、擬似パス機能を用いて、予め許容不良ビット数（規定値とも言う）を設定した状態において、データの書き込み、及びベリファイを実行し、設定した許容不良ビット数以内で、書き込みが終了したかどうかを判別する。この判断結果に応じて不良ブロック、擬似パスＢブロック、又はパスブロックを判別する。
【００４７】
図５において、先ず、擬似パスＢとして認定する許容不良ビット数が、例えば“５”に設定される（Ｓ４−１）。この後、テストデータが指定されたブロックの指定されたページに書き込まれる（Ｓ４−２）。この書き込まれたデータはベリファイが例えば規定回数繰り返される（Ｓ４−３）。このベリファイの結果、不良ビット数が擬似パスＢの規定値を超える場合、不良ブロックとして、不良マーク記憶領域３１に不良ブロックを示すマーク“００”が書き込まれる（Ｓ５）。
【００４８】
一方、上記ベリファイの結果、擬似パスＢの規定値以内である場合、擬似パスＢとして認定する許容不良ビット数が、例えば“３”に設定される（Ｓ６−１）。この後、テストデータが指定されたブロックの指定されたページに書き込まれる（Ｓ６−２）。この書き込まれたデータはベリファイが例えば規定回数繰り返される（Ｓ６−３）。このベリファイの結果、不良ビット数が擬似パスＢの規定値を超える場合、擬似パスとして、不良マーク記憶領域３１に擬似パスブロックを示すマーク“０Ｆ”が書き込まれる（Ｓ７）。また、ベリファイの結果、エラー数が擬似パスＢの規定値以下である場合、パスブロックと判断される。
【００４９】
（第２のステップ）
第２のステップは、上述したように、上記マーキングされたＮＡＮＤ型フラッシュメモリと擬似パス機能を有するコントローラとを組み合わせて例えばメモリカードシステムに組み立てた後、図２に示すコントローラ３がＮＡＮＤ型フラッシュメモリ２の全ブロックをサーチして各ブロックのマーキングを検出し、以下の処理を実行する。尚、第２のステップにおいて、不良ビット数Ｍ、Ｎの定義は、第１のステップと同様であるとする。
【００５０】
（１）パスブロックは、そのまま使用する。
【００５１】
（２）不良ブロックは、一切使用しない。
【００５２】
（３）擬似パスＢブロックは、各ページに以下の処理を実施する。
【００５３】
各ページに含まれるＺ（＝８）個のＥＣＣ単位それぞれについて、データの書き込み、読み出しを実行し、ＥＣＣ単位毎に検出される不良ビット数がＥＣＣ回路で訂正可能な数−（後発の許容不良ビット数α）よりも大きい場合、そのブロックを不良ブロックとして認識し、以後使用しない。また、全てのＥＣＣ単位毎に検出される不良ビット数がＥＣＣ回路で訂正可能な数以下である場合、そのブロックは利用可能ブロックとして以後使用する。
【００５４】
上述したように、擬似パスＢブロック内の一部のページは、ＥＣＣ回路により訂正可能な範囲で不良ビット数を含むため、後発的に不良ビットが増加した場合、ＥＣＣ回路により訂正することが困難となる。このような場合においても、擬似パスＢブロックの状態をコントローラがテストして状態をチェックすることにより、不良ブロックの救済を可能とする。
【００５５】
図７は、コントローラ３の動作の一例を示している。
【００５６】
図７において、先ず、擬似パスＢブロックの許容不良ビット数がＮ個に設定される（Ｓ１１）。次に、擬似パス機能を用いてＮＡＮＤ型フラッシュメモリ２の書き込み対象ブロックの１つのページにテストデータが書き込まれる（Ｓ１２）。この後、ＮＡＮＤ型フラッシュメモリ２に対してステータス読み出しを実行して、書き込みの良否を示すステータスを読み出し（Ｓ１３）、ステータスの確認を行う（Ｓ１４）。すなわち、読み出されたステータスが“正常（パス）”を示す場合、次のブロックの処理に移行される（Ｓ２４）。また、読み出されたステータスが“失敗（フェイル）”を示す場合、擬似パスＢブロックの許容不良ビット数をＭ（＞Ｎ）個に設定する（Ｓ１５）。
【００５７】
つまり、擬似パスＢブロック内の一部のページは、Ｎ個より多い不良ビットを含むため、ステータスが“不良”となる場合がある。また、”パス”と判別されたブロックも、後発的な不良ビットの発生により、不良ビット数がＮ個より多くなることもある。このような場合であっても、エラー訂正が可能であれば、擬似パスＢブロックとして使用することが可能となる。このため、上記擬似パスＢブロックの許容不良ビット数をＭ個に設定した後、擬似パス機能を用いてＮＡＮＤ型フラッシュメモリにテストデータが再度書き込まれる（Ｓ１６）。次いで、ＮＡＮＤ型フラッシュメモリ２に対してステータス読み出しを実行して、書き込みの良否を示すステータスを読み出し（Ｓ１７）、ステータスの確認を行う（Ｓ１８）。
【００５８】
すなわち、読み出されたステータスが“不良”を示す場合、以後、書き込み対象のブロックを不良ブロックとして取り扱う（Ｓ２２）。また、読み出されたステータスが”パス”を示す場合、ＮＡＮＤ型フラッシュメモリ２からデータを読み出して（Ｓ１９）、ＥＣＣ回路１１によりデータのエラー訂正を実行し（Ｓ２０）、エラー訂正が可能であるかを確認する（Ｓ２１）。この結果、エラー訂正が可能な場合は、以後、書き込み対象のブロックを擬似パスＢブロックとして取り扱う（Ｓ２３）。また、エラー訂正が不可能な場合、以後、書き込み対象のブロックを不良ブロックとして取り扱う（Ｓ２２）。この後、全ブロックのテストが終了してない場合、次のブロックに対して上記と同様の動作が実行される（Ｓ２４）。
【００５９】
上記実施形態によれば、第１のステップにおいて、擬似パス機能を用いて、ＮＡＮＤ型フラッシュメモリのブロックをパスブロック、不良ブロック、擬似パスＢブロックの３つのカテゴリーに分け、第１のステップにより、３つのカテゴリーに分けられたブロックを含むＮＡＮＤ型フラッシュメモリを例えばメモリカードに組み込んだ状態で、第２のステップにおいて、擬似パスＢブロックについて、ＥＣＣ単位毎に検出される不良箇所の数がＥＣＣ訂正可能な数−（不良ビット数α）よりも大きい場合、不良ブロックとして使用せず、ＥＣＣ訂正可能な数以下である場合、使用可能ブロックとしている。このため、従来の擬似パス技術により不良ブロックとされたブロックを擬似パスＢブロックとして使用可能としている。したがって、不良ブロックの救済効率を向上することができ、歩留まりを向上させることができる。
【００６０】
また、後発的に不良ビット数が増加した場合においても、エラー訂正が可能な範囲で、擬似パスＢブロックを使用することができる。したがって、従来、不良ブロックとして使用できなかったブロックを救済することができ、歩留まりを向上することができる。
【００６１】
上記実施形態の効果を具体的に説明する。以下の説明は、ページサイズが４ｋバイト／ページ、１２５ページ＝５１２ｋバイトの大きさのブロックを４ｋブロック持つ２Ｇバイト（＝１６Ｇｂｉｔ）のＮＡＮＤ型フラッシュメモリの場合を前提とする。さらに、このＮＡＮＤ型フラッシュメモリは、前述した第１のステップにおいて、擬似パス機能の許容不良ビット数を、Ｎ＝３、Ｍ＝６、後発の許容不良ビット数α＝１を採用した場合であり、５１２Ｂ当たり４ｂｉｔ訂正可能なＥＣＣ回路を前提としている。
【００６２】
この例の場合、５１２バイト当たりに１ビットでもエラーを含む率（生エラー率）を、１／１０とすると、１ページ（４Ｋバイト）中に発生するエラーの数と、その発生率、平均発生数、累積発生数は図８に示すようになる。ここで、使用した１／１０という値は、従来のＮＡＮＤ型フラッシュメモリのエラー率と同程度のエラー率を仮定したとき、適切なＥＣＣ回路を用いて許容されるエラー率として通常用いられている一般的な値である。
【００６３】
図８に示すように、１箇所もエラーがないページが、４３．０％（５１２バイト当たりに全くエラーのない確率は、９／１０。４Ｋバイト（５１２＊８）中に全くエラーがない確率（発生率）は、（９／１０）８＝０．４３０）、１箇所エラーを有するページが、３８．３％、…、以下、５箇所エラーを有するページ数が２１４個、６箇所エラーを有するページ数が１２個、それ以上エラーを持つページは無視できる程度に少ない。
【００６４】
５箇所以上エラーを有するページ数は、全体のページ数に比べて非常に少ない。すなわち、０．０４０％であるため、１つのブロックに、５箇所以上エラーを有する不良ページが２個以上ある確率は無視できる程度に小さい。すなわち、５箇所以上エラーを有するページを１つでも含むブロックは、２２６（＝２１４＋１２）個あり、６箇所以上のエラーを持つページを含むブロックはその内１２個のみである。
【００６５】
５箇所エラーを有するページを含むブロックは２１４個ある。それらの中で、５箇所のエラー全てが、１つのＥＣＣ単位（５１２Ｂ）に集中している確率は、
８Ｃ１＊（１／８）５＝１／４０９６
である。したがって、２１４個のブロックのうち５箇所のエラーが全て１つのＥＣＣ単位に集中しているブロックは、平均０．０５２個しかない。
【００６６】
また、４箇所のエラーが、１つのＥＣＣ単位（５１２Ｂ）に集中している確率は、
８Ｃ１＊（１／８）４＊７Ｃ１＊（１／８）＝７／４０９６
であり、２１４個のブロックのうち平均０．３７個ある。
【００６７】
したがって、４箇所以上のエラーが１つのＥＣＣ単位（５１２Ｂ）に集中しているブロックは、２１４個のブロックのうち平均０．４２個ある。
【００６８】
上記第２のステップにおいて、コントローラ３による救済アルゴリズムより求められる、真の不良ブロック数は、以下の（１）及び（２）の２種類の不良ブロック数の合計としてカウントできる。
【００６９】
（１）６箇所以上のエラーを含むページ（４ＫＢ）を持つブロック。これは平均１２個ある。
【００７０】
（２）５箇所のエラーを含むページを有し、５箇所のうちの４箇所以上が１つのＥＣＣ単位（５１２Ｂ）に集中しているページを有するブロック。これは平均１個以下（０．４２個）。
【００７１】
上記（２）の意味は、５箇所のエラーを含むページを持つブロックのうち、２１３個のブロックは１つのＥＣＣ単位に集中したエラー箇所が３箇所以下しかなく、これらは救済して使用することができることを意味する。
【００７２】
こうして、従来では不良として不使用とされていた５箇所以上の不良を持つページを含む２２６（＝２１４＋１２）個のブロックのうち、２１３個はＥＣＣにより救済可能なブロックとして利用可能となる。つまり、これまで不良とされていたブロックのうち、９４．２％は利用可能となり、ＮＡＮＤ型フラッシュメモリの歩留まりを大幅に改善することができる。
【００７３】
尚、前記コントローラ３が、擬似パスＢブロックを扱うことができない場合、擬似パスＢブロックは不良ブロックであると識別され、使用されない。このため、擬似パスＢブロックを有するＮＡＮＤ型フラッシュメモリを、擬似パスＢブロックを扱うことができないコントローラ３にも適用することができる。
【００７４】
図９は、コントローラ３の動作を示す第１の変形例である。
【００７５】
図９において、先ず、擬似パスＢの許容不良ビット数がＭ個に設定される（Ｓ３１）。次に、擬似パス機能を用いてＮＡＮＤ型フラッシュメモリにテストデータが書き込まれる（Ｓ３２）。この後、ＮＡＮＤ型フラッシュメモリに対してステータ読み出しを実行し（Ｓ３３）、ステータスを確認する（Ｓ３４）。この結果、読み出されたステータスが“パス”を示す場合、次のブロックの処理に移行される（Ｓ３６）。また、読み出されたステータスが“不良”を示す場合、書き込み対象のブロックを不良ブロックとして取り扱う（Ｓ３５）。この後、次のブロックの処理に移行される（Ｓ３６）。
【００７６】
図９に示す第１の変形例によっても、上記実施形態と同様の効果を得ることができる。
【００７７】
図１０は、コントローラ３の動作を示す第２の変形例である。
【００７８】
図１０において、先ず、書き込み対象ブロックが、パスブロックであるか、擬似パスＢブロックのいずれであるかを判別する（Ｓ４１、Ｓ４２）。この結果、パスブロックである場合、擬似パス機能の許容不良ビット数をＮ個に設定し（Ｓ４３）、擬似パスＢブロックである場合、擬似パス機能の許容不良ビット数をＭ個に設定する（Ｓ４４）。この後、擬似パス機能を用いてＮＡＮＤ型フラッシュメモリ２の書き込み対象ブロックの１ページにデータを書き込む（Ｓ４５）。次いで、ＮＡＮＤ型フラッシュメモリに対してステータス読み出しを実行し（Ｓ４６）、読み出されたステータスを確認する（Ｓ４７、Ｓ４８）。この結果、書き込み対象ブロックがパスブロックであり、読み出されたステータスが“パス”を示す場合、次のブロックの処理に移行される（Ｓ４９）。
【００７９】
また、読み出されたステータスがパスブロックであり、読み出されたステータスが“フェイル”を示す場合、擬似パス機能の許容不良ビット数をＭ個に設定し（Ｓ５０）、前述した実施形態と同様の動作を実行する。すなわち、擬似パス機能を用いてＮＡＮＤ型フラッシュメモリにテストデータが再度書き込まれる（Ｓ５１）。次いで、ＮＡＮＤ型フラッシュメモリ２に対してステータス読み出しを実行して、書き込みの良否を示すステータスを読み出し（Ｓ５２）、ステータスを確認する（Ｓ５３）。
【００８０】
この結果、読み出されたステータスが“不良”を示す場合、以後、書き込み対象のブロックを不良ブロックとして取り扱う（Ｓ５７）。また、読み出されたステータスが“パス”を示す場合、ＮＡＮＤ型フラッシュメモリ２からデータを読み出して（Ｓ５４）、ＥＣＣ回路１１によりデータのエラー訂正を実行し（Ｓ５５）、エラー訂正が可能であるかを確認する（Ｓ５６）。
【００８１】
この結果、エラー訂正が可能な場合は、以後、書き込み対象のブロックを擬似パスＢブロックとして取り扱う（Ｓ５７）。また、エラー訂正が不可能な場合、以後、書き込み対象のブロックを不良ブロックとして取り扱う（Ｓ５８）。この後、全ブロックのテストが終了してない場合、次のブロックに対して上記と同様の動作が実行される（Ｓ４９）。
【００８２】
上記第２の変形例によれば、パスブロックに許容不良ビット数Ｎを設定し、擬似パスＢブロックに許容不良ビット数Ｍを設定してテストデータを書き込み、パスブロックであって、読み出されたステータスが“不良”を示す場合、擬似パス機能の許容不良ビット数をＭに増加してデータの書き込み、ステータスチェックを再度行い、ステータスが“パス”である場合、エラー訂正によりエラーが訂正可能かどうかを判断している。このため、後発的にパスブロックにエラーが増加した場合においても、エラー訂正が可能な範囲で、擬似パスＢブロックとして使用することが可能となる。したがって、不良ブロックの増加を防止でき、ＮＡＮＤフラッシュメモリの歩留まりを向上できる。
【００８３】
図１１は、コントローラ３の動作を示す第３の変形例である。
【００８４】
第３の変形例は、不良ビット数をステータスと共にコントローラ３に返す機能を有したＮＡＮＤ型フラッシュメモリを用いた場合である。
【００８５】
図１１において、コントローラ３は、先ず、ＮＡＮＤ型フラッシュメモリ２にテストデータを書き込む（Ｓ６１）。この後、ＮＡＮＤ型フラッシュメモリ２に対してステータス読み出しを実行し（Ｓ６２）、ステータスを確認する（Ｓ６３）。すなわち、ステータスに示された不良ビット数に応じて、書き込み対象のブロックを前述した３つのカテゴリー分ける（Ｓ６４）。すなわち、例えばブロック内の全ページがＮ個以下の不良ビットしか持たないブロックは、パスブロックとする。Ｎ個より多くの不良を持つページを少なくとも１つ含み、Ｍ個以上（Ｍは、Ｍ＞Ｎの整数）の不良ビットを持つページを１つも持たないブロックは、擬似パスＢブロックとする。Ｍ箇所以上の不良ビットを有するページを１つでも含むブロックは、不良ブロックとする。
【００８６】
上記第３の変形例によれば、後発的に不良ビットが発生した場合においても、不良ビットの数に応じてブロックを各カテゴリーに分けることにより、不良ブロックの発生を抑制でき、利用可能なブロックの低減を防止することができる。
【００８７】
尚、上記実施形態において、擬似パス技術は、ＥＣＣ回路による訂正を前提として、ページ内に少数の不良ビットがあってもこれを無視し、擬似的に正常ページとすると述べたが、擬似パス技術は、広義には、例えばページ内の全てのビットの書き込みが完了しなくとも未書き込みのビット数が所定数以下であれば、書き込みが完了したものとする技術である。
【００８８】
また、上記実施形態は、ＮＡＮＤ型フラッシュメモリをメモリカードに適用する場合について説明したが、これに限定されるものではなく、例えばＵＳＢメモリのような電子機器に適用することも可能である。
【００８９】
その他、この発明の要旨を変えない範囲において、種々変形実施可能なことは勿論である。
【図面の簡単な説明】
【００９０】
【図１】本発明の実施形態に係わり、選別テストを示すフローチャート。
【図２】本実施形態が適用されるメモリカードの一例を示す構成図。
【図３】選別テスト時の概略を示す構成図。
【図４】各ブロックに記憶されるマーキングの例を示す図。
【図５】図１の一部の具体例を示すフローチャート。
【図６】図１の一部の具体例を示すフローチャート。
【図７】コントローラの動作の一例を示すフローチャート。
【図８】本実施形態の効果を説明するために示す図。
【図９】コントローラの動作を示すものであり、第１の変形例を示すフローチャート。
【図１０】コントローラの動作を示すものであり、第２の変形例を示すフローチャート。
【図１１】コントローラの動作を示すものであり、第３の変形例を示すフローチャート。
【符号の説明】
【００９１】
１…メモリカード、２…ＮＡＮＤ型フラッシュメモリ、３…コントローラ、１１…ＥＣＣ回路、２１…メモリテスタ、３１…不良マーク記憶領域。
【図１】
2008192240.tif 000003
【図２】
2008192240.tif 000004
【図３】
2008192240.tif 000005
【図４】
2008192240.tif 000006
【図５】
2008192240.tif 000007
【図６】
2008192240.tif 000008
【図７】
2008192240.tif 000009
【図８】
2008192240.tif 000010
【図９】
2008192240.tif 000011
【図１０】
2008192240.tif 000012
【図１１】
2008192240.tif 000013