(57)【要約】【課題】正常ブロックによる不良ブロックの代替数を抑制でき、しかも、不良ブロックを確実に救済可能とする。【解決手段】メモリセルアレイ3は、複数の物理ブロックを含む複数のディストリクトを有している。第１の記憶部5-2は、各ディストリクト内の不良ブロックのアドレスと、不良ブロックを含むディストリクト内の代替ブロックのアドレスとを対応して記憶する。検索回路5-1は、入力されたブロックアドレスに基づき、第１の記憶部5-2内に記憶された不良ブロックのアドレスを検索し、これらが一致した場合、不良ブロックのアドレスに対応した代替ブロックのアドレスを読み出す。アドレス切替回路5-3は、検索回路5-1より代替ブロックのアドレスが供給されたとき、代替ブロックのアドレスを出力し、代替ブロックのアドレスが供給されない場合、入力されたブロックアドレスを出力する。【選択図】図１
2007094765.tif 000002
【特許請求の範囲】
【請求項１】
複数の物理ブロックを含む複数のディストリクトを有し、各ディストリクトに含まれる任意の１つの前記ブロックをグループとしてデータを書き込むメモリセルアレイと、
前記各ディストリクト内の不良ブロックのアドレスと、前記不良ブロックを含む前記ディストリクト内の代替ブロックのアドレスとを対応して記憶する第１の記憶部と、
入力されたブロックアドレスに基づき、前記第１の記憶部内に記憶された不良ブロックのアドレスを検索し、これらが一致した場合、不良ブロックのアドレスに対応した代替ブロックのアドレスを前記第１の記憶部から読み出す検索回路と、
前記検索回路より代替ブロックのアドレスが供給されたとき、代替ブロックのアドレスを出力し、代替ブロックのアドレスが供給されない場合、前記入力されたブロックアドレスを出力するアドレス切替回路と
を具備することを特徴とするメモリシステム。
【請求項２】
複数の物理ブロックを含む複数のディストリクトと、各ディストリクトに対応して設けられた複数の拡張ブロックとを有するメモリセルアレイと、
前記各ディストリクト内の不良ブロックのアドレスと、前記不良ブロックを含む前記ディストリクトの前記複数の拡張ブロックのアドレスとを対応して記憶する第１の記憶部と、
入力されたブロックアドレスに基づき、前記第１の記憶部内に記憶された不良ブロックのアドレスを検索し、これらが一致した場合、不良ブロックのアドレスに対応した前記拡張ブロックのアドレスを前記第１の記憶部から読み出す検索回路と、
前記検索回路より前記拡張ブロックのアドレスが供給されたとき、前記拡張ブロックのアドレスを出力し、前記拡張ブロックのアドレスが供給されない場合、前記入力されたブロックアドレスを出力するアドレス切替回路と
を具備することを特徴とするメモリシステム。
【請求項３】
前記第１の記憶部は、複数の記憶部に分割され、各記憶部は、並列に動作することを特徴とする請求項１又は２記載のメモリシステム。
【請求項４】
前記メモリセルアレイは、複数のメモリチップにより構成され、各チップの前記拡張ブロックによる不良ブロックの代替数は、ほぼ等しいことを特徴とする請求項２記載のメモリシステム。
【請求項５】
前記第1の記憶部に記憶される前記アドレスは、前記メモリセルアレイの第２の記憶部に記憶され、メモリカードの起動時に前記第２の記憶部から前記第1の記憶部に転送されることを特徴とする請求項１又は２記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばＮＡＮＤ型フラッシュメモリを用いたメモリシステムに係り、製造時に不良を有するブロック（以下、不良ブロックと称す）を救済可能なメモリシステムに関する。
【背景技術】
【０００２】
近時、ＮＡＮＤ型フラッシュメモリは大容量化しており、大量の物理ブロックを有している。これら物理ブロックの中には、製造時に不良ブロックが発生することがある。不良ブロックの数が所定数より少ない場合、不良ブロックを正常ブロックに代替することにより、ＮＡＮＤ型フラッシュメモリ自体を良品として使用可能としている。
【０００３】
従来、不良ブロックを正常ブロックに代替する方法が種々提案されている。例えばＮＡＮＤ型フラッシュメモリの複数の物理ブロックを複数のグループに分類し、各グループに含まれる不良ブロックの数が所定値以下である場合、互いに異なるグループに属する複数のブロックを仮想的に結合して仮想ブロックを形成する。また、少なくとも１つのグループに含まれる不良ブロックの数が所定値を超えている場合、他のグループに属する物理ブロックにより代替する方法が提案されている（例えば特許文献１、２参照）。
【０００４】
このように、不良ブロックの救済は正常ブロックに代替することによりなされるが、不良ブロックの数が多い場合、代替に使用される正常ブロックの数が多くなり、ユーザの利用可能領域が減少する。
【特許文献１】特開２００３−１５９４７号公報
【特許文献２】特開２００３−１２２６３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、正常ブロックによる不良ブロックの代替数を抑制でき、しかも、不良ブロックを確実に救済できるメモリシステムを提供しようとするものである。
【課題を解決するための手段】
【０００６】
本発明のメモリシステムの第１の態様は、複数の物理ブロックを含む複数のディストリクトを有し、各ディストリクトに含まれる任意の１つの前記ブロックをグループとしてデータを書き込むメモリセルアレイと、前記各ディストリクト内の不良ブロックのアドレスと、前記不良ブロックを含む前記ディストリクト内の代替ブロックのアドレスとを対応して記憶する第１の記憶部と、入力されたブロックアドレスに基づき、前記第１の記憶部内に記憶された不良ブロックのアドレスを検索し、これらが一致した場合、不良ブロックのアドレスに対応した代替ブロックのアドレスを前記第１の記憶部から読み出す検索回路と、前記検索回路より代替ブロックのアドレスが供給されたとき、代替ブロックのアドレスを出力し、代替ブロックのアドレスが供給されない場合、前記入力されたブロックアドレスを出力するアドレス切替回路とを具備している。
【０００７】
本発明のメモリシステムの第２の態様は、複数の物理ブロックを含む複数のディストリクトと、各ディストリクトに対応して設けられた複数の拡張ブロックとを有するメモリセルアレイと、前記各ディストリクト内の不良ブロックのアドレスと、前記不良ブロックを含む前記ディストリクトの前記複数の拡張ブロックのアドレスとを対応して記憶する第１の記憶部と、入力されたブロックアドレスに基づき、前記第１の記憶部内に記憶された不良ブロックのアドレスを検索し、これらが一致した場合、不良ブロックのアドレスに対応した前記拡張ブロックのアドレスを前記第１の記憶部から読み出す検索回路と、前記検索回路より前記拡張ブロックのアドレスが供給されたとき、前記拡張ブロックのアドレスを出力し、前記拡張ブロックのアドレスが供給されない場合、前記入力されたブロックアドレスを出力するアドレス切替回路とを具備している。
【発明の効果】
【０００８】
本発明によれば、正常ブロックによる不良ブロックの代替数を抑制でき、しかも、不良ブロックを確実に救済できるメモリシステムを提供できる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態について、図面を参照して説明する。
【００１０】
（第１の実施形態）
先ず、第１の実施形態に係る不良ブロックの代替処理とその前提としての代替処理について概略的に説明する。
【００１１】
図２は、第１の実施形態の前提としての代替処理を示している。図２は、ＮＡＮＤ型フラッシュメモリが、例えば４つのディストリクトＤ０、Ｄ１、Ｄ２、Ｄ３を有する場合を示している。各ディストリクトＤ０〜Ｄ３は、それぞれ例えば５つの物理ブロックを有して、各ディストリクトはそれぞれ図示せぬページバッファ回路を有している。尚、ディストリクトは、１つのページバッファ回路により共有される複数の物理ブロックを含む領域であり、プログラムコマンドによりデータが書き込まれる単位をいう。各ディストリクトＤ０〜Ｄ３から１つの物理ブロックが選択され、この選択された４つの物理ブロックにより物理ブロック群ＰＢＬ０〜ＰＢＬ４が構成されている。データの書き込み動作として、１つの物理ブロック群に含まれる複数の物理ブロックに対して同時にプログラム動作が可能とされている。このような書き込み動作をマルチディストリクトプログラムと称す。
【００１２】
図２に示す例は、ディストリクトＤ０に不良ブロックが存在するとき、ディストリクトＤ０の不良ブロックを含む物理ブロック群を不良物理ブロック群とし、この不良物理ブロック群の正常ブロックにより、他の物理ブロック群の不良ブロックを救済している。すなわち、ディストリクトＤ０の物理ブロック群ＰＢＬ１に対応するブロックが不良ブロックである場合、この物理ブロック群ＰＢＬ１を不良物理ブロック群とし、この物理ブロック群ＰＢＬ１内の正常ブロックにより、例えばディストリクトＤ１の物理ブロック群ＰＢＬ２に対応する不良ブロック、ディストリクトＤ２の物理ブロック群ＰＢＬ３に対応するブロックが不良ブロック、及びディストリクトＤ３の物理ブロック群ＰＢＬ４に対応する不良ブロックが救済される。つまり、救済する不良ブロックの数に関係なく、ディストリクトＤ０に不良ブロックが存在する場合、その物理ブロック群は他の物理ブロック群の救済に割り当てられる。このとき、不良物理ブロック群のすべての正常ブロックが他の物理ブロック群の不良ブロックの救済に使用されれば問題ないが、不良物理ブロック群の正常ブロックが他の物理ブロック群の不良ブロックの救済に使用されない場合、その正常ブロックは、データを記憶可能であるにもかかわらず、有効に活用されないこととなる。
【００１３】
そこで、第１の実施形態は、ディストリクトＤ０に不良ブロックが存在する物理ブロック群を不良物理ブロック群とするという条件を取り外し、柔軟な不良ブロックの救済を実現している。
【００１４】
図３（ａ）（ｂ）は、第１の実施形態の代替方法を示している。図３（ａ）において、２つのディストリクトＤ０、Ｄ１は、それぞれ５つの物理ブロックを有している。各ディストリクトＤ０、Ｄ１から１つの物理ブロックが選択され、この選択された２つの物理ブロックにより物理ブロック群ＰＢＬ０〜ＰＢＬ４が構成されている。各ディストリクトＤ０、Ｄ１に対応してページバッファ回路が設けられ、これらページバッファ回路を介してディストリクトＤ０、Ｄ１に同時にデータの書き込み、読み出しが可能とされている。各物理ブロックは、データの消去単位であり、この物理ブロック毎にデータが消去される。また、１つの物理ブロックは複数のページから構成され、ページバッファ回路を介してページ単位でデータの書き込み、及び読み出しが行われる。
【００１５】
第１の実施形態は、１つのディストリクト内で不良ブロックを正常ブロックに代替している。すなわち、図３（ａ）に示すように、ディストリクトＤ０の物理ブロック群ＰＢＬ１に不良ブロックがあり、ディストリクトＤ１の物理ブロック群ＰＢＬ３に不良ブロックがある場合、図３（ｂ）に示すように、ディストリクトＤ０の不良ブロックをディストリクトＤ０の物理ブロック群ＰＢＬ３の正常ブロックで代替する。このようにすることにより、物理ブロック群ＰＢＬ３は全て不良ブロックとなるため使用できないが、使用不可能な物理ブロック群１の数を低減できる。このため、図２に示す場合のように、不良物理ブロック群内の正常ブロックが有効に使用されないということを防止でき、不良ブロックを有する物理ブロック群同士で柔軟に不良ブロックを救済することが可能となる。
【００１６】
次に、第１の実施形態の動作について具体的に説明する。
【００１７】
図４は、第１の実施形態に係るメモリカードに搭載されるデバイス類の概略構成を示す斜視図である。
【００１８】
メモリカード１は、ＰＣＢ（Printed Circuit Board）基板２と、このＰＣＢ（Printed Circuit Board）基板２上に配置されたＮＡＮＤ型フラッシュメモリ３及びコントローラ４とにより構成されている。コントローラ４は、ＣＰＵ（Central Processing Unit）８やＲＯＭ（Read-Only Memory）９などの機能ブロックを有している。各デバイスの詳細については後述する。なお、ＮＡＮＤ型フラッシュメモリ３は、１つのメモリセルに１ビットの情報を記憶する２値メモリであっても良いし、１つのメモリセルに１ビットより多い情報（例えば２ビット）を記憶する多値メモリであっても良い。また、図４に示すメモリカードは、ＰＣＢ基板２上にＮＡＮＤ型フラッシュメモリ３及びコントローラ４が配置された場合を示している。しかし、ＮＡＮＤ型フラッシュメモリ３及びコントローラ４は、同一のＬＳＩ（Large-scale Integration）基板上に配置されても良い。
【００１９】
図５は、ホストと上記メモリカードとを含む構成を示すブロック図である。図５において、図４と同一部分には同一符号を付している。
【００２０】
ホスト機器（以下、ホストと称す）２０は、接続されるメモリカードをアクセスするためのハードウェア及びソフトウェア（システム）を備えている。
【００２１】
メモリカード１は、ホスト２０に接続されたときに電源供給を受けて動作し、ホスト２０からのアクセスに応じた処理を行う。このメモリカード１は、前述したようにＮＡＮＤ型フラッシュメモリ３及びコントローラ４を有している。
【００２２】
ＮＡＮＤ型フラッシュメモリ３は、消去時のブロックサイズ（消去ブロックサイズ）が例えば２５６ｋＢｙｔｅに定められた不揮発性メモリである。このＮＡＮＤ型フラッシュメモリ３は、例えば０．０９μｍプロセス技術を用いて製作される。即ち、ＮＡＮＤ型フラッシュメモリ３のデザインルールは、０．１μｍ未満となっている。
【００２３】
コントローラ４は、前述したＣＰＵ８及びＲＯＭ９のほかに、メモリインターフェース部５、ホストインタフェース部６、バッファ７、及びＲＡＭ（Random Access Memory）１０を搭載している。
【００２４】
メモリインターフェース部５は、コントローラ４とＮＡＮＤ型フラッシュメモリ３との間のインターフェース処理を行う。ホストインタフェース部６は、コントローラ４とホスト２０との間のインターフェース処理を行う。
【００２５】
バッファ７は、ホスト２０から送られてくるデータをＮＡＮＤ型フラッシュメモリ３へ書き込む際に、一定量のデータ（例えば１ページ分）を一時的に記憶したり、ＮＡＮＤ型フラッシュメモリ３から読み出されるデータをホスト２０へ送り出す際に、一定量のデータを一時的に記憶したりする。
【００２６】
ＣＰＵ８は、メモリカード１全体の動作を司るものである。このＣＰＵ８は、例えばメモリカード１が電源供給を受けた際に、ＲＯＭ９の中に格納されているファームウェア（制御プログラム）をＲＡＭ１０上にロードして所定の処理を実行する。すなわち、ＣＰＵ８は、各種のテーブルをＲＡＭ１０上に作成したり、ホスト２０から書き込みコマンド、読み出しコマンド、消去コマンドを受けてＮＡＮＤ型フラッシュメモリ３上の該当領域をアクセスしたり、バッファ７を通じてデータ転送処理を制御したりする。さらに、ＣＰＵ８は、後述するように、ＮＡＮＤ型フラッシュメモリ３に記憶された代替元アドレス及び代替先アドレスを読み出し、メモリインターフェース部５に設けられたＲＡＭにロードする。
【００２７】
ＲＯＭ９は、ＣＰＵ８により使用される制御プログラムなどを格納するメモリである。ＲＡＭ１０は、ＣＰＵ８の作業エリアとして使用され、制御プログラムや各種のテーブルを記憶する揮発性メモリである。
【００２８】
ＮＡＮＤ型フラッシュメモリ３は、さらに、不良ブロックの代替ブロックを示す代替テーブル３−１を有している。この代替テーブル３−１は、代替元アドレスとしての不良ブロックアドレスを記憶する領域３−１ａと、代替先アドレスとしての正常ブロックアドレス（後述する拡張ブロックアドレスを含む）を記憶する領域３−１ｂとを有している。
【００２９】
代替テーブル３−１は、例えばチップのテスト時に生成される。すなわち、ＮＡＮＤ型フラッシュメモリ３は、例えば４０９６個の物理ブロックを有しており、チップのテスト時に不良ブロックが検出された場合、検出された不良ブロックにフラグが付される。この後、例えば図５に示すメモリカードのＣＰＵ８は、テスト時に起動され、このフラグを検出することにより不良ブロックを検出する。この検出された不良ブロックのアドレス（物理ブロックアドレス）は、ＣＰＵ８により、ＮＡＮＤ型フラッシュメモリ３に設けられた代替テーブル３−１の代替元アドレス３−１ａに記憶する。例えば図３（ａ）（ｂ）に示す例の場合、ＣＰＵ８は、不良ブロックとしてディストリクトＤ０、物理ブロック群ＰＢＬ１、及びディストリクトＤ１、物理ブロック群ＰＢＬ３を検出する。このうち、ディストリクトＤ０、物理ブロック群ＰＢＬ１を代替元アドレス３−１ａに不良ブロックアドレスとして記憶する。さらに、ＣＰＵ８は、ディストリクトＤ０、物理ブロック群ＰＢＬ３を代替先アドレス３−１ｂに代替ブロックアドレスとして記憶する。このようにして、代替テーブル３−１が作成される。
【００３０】
図１は、図３に示すメモリインターフェース部５の一例を示している。
【００３１】
メモリインターフェース部５は、アドレス検索回路５−１、ＲＡＭ５−２、アドレス切替回路５−３を有している。ＲＡＭ５−２には、代替テーブル３−１のデータが記憶される。すなわち、メモリカード装置の起動時、例えばＣＰＵ８は、ＮＡＮＤ型フラッシュメモリ３から代替テーブル３−１のデータを読み出し、ＲＡＭ５−２に設定する。したがって、ＲＡＭ５−２には、代替元アドレス５−２ａ、代替先アドレス５−２ｂが記憶される。
【００３２】
図６は、図１に示すインターフェース部５の動作を示している。
【００３３】
先ず、上記のようにしてＮＡＮＤ型フラッシュメモリ３の代替テーブル３−１からデータが読み出され、ＲＡＭ５−２に記憶される（Ｓ１）。アドレス検索回路５−１は、ＣＰＵ８から供給される例えば１２ビットのブロックアドレス（物理アドレス）を受け、このブロックアドレスに基づき、ＲＡＭ５−２の代替元アドレスを検索する（Ｓ２、Ｓ３）。この検索の結果、ブロックアドレスと代替元アドレスが一致した場合、すなわち、ＣＰＵ８から供給されたブロックアドレスが不良アドレスである場合、代替元アドレスに対応して記憶された代替先アドレスがＲＡＭ５−２から読み出され出力される（Ｓ４）。一方、上記検索の結果、入力されたブロックアドレスと代替元アドレスが不一致である場合、入力されたブロックアドレスが出力される（Ｓ５）。すなわち、アドレス切替回路５−３は、ＲＡＭ５−２から代替先アドレスが供給された場合、代替先アドレスを出力し、代替元アドレスがない場合、アドレス検索回路５−１から供給されたブロックアドレスを出力する。アドレス切替回路５−３から出力されたブロックアドレスは、ＮＡＮＤ型フラッシュメモリ３に供給される。
【００３４】
上記第１の実施形態によれば、不良ブロックを、この不良ブロックを含むディストリクト内の正常ブロックで代替している。このため、ディストリクトＤ０に不良ブロックが有る場合においても、その不良ブロックを含む物理ブロック群全体が不良物理ブロック群とならない。このため、使用可能な物理ブロック群の数の減少を抑制することができる。
【００３５】
また、書き込み動作は、マルチディストリクトプログラムにより、各ディストリクトから選択された１つの物理ブロックについて同時に実行される。このとき、不良ブロックは不良ブロックを含むディストリクト内の正常ブロックに代替され、この代替された正常ブロックは他のディストリクトの正常ブロックと同時に書き込み動作が実行される。したがって、ディストリクト内に不良ブロックがある場合においても、マルチディストリクトプログラムを行なうことができ、高速な書き込み動作を実現することができる。
【００３６】
（第２の実施形態）
図７（ａ）（ｂ）は、第２の実施形態を示している。第２の実施形態は、第１の実施形態とＮＡＮＤ型フラッシュメモリ３の構成が相違している。すなわち、図７（ａ）に示すように、各ディストリクトＤ０、Ｄ１に対応して拡張ブロックＥＸ０、ＥＸ１が設けられている。尚、図７（ａ）（ｂ）において、ページバッファ回路は省略している。
【００３７】
拡張ブロックＥＸ０、ＥＸ１は不良ブロックの代替ブロックとして使用される。図７（ａ）に示すように、ディストリクトＤ０、Ｄ１内に不良ブロックがある場合、そのディストリクトＤ０、Ｄ１に対応する拡張ブロックＥＸ０、ＥＸ１に代替される。具体的には、ディストリクトＤ０、Ｄ１を対としてデータを書き込む場合、各ディストリクトは、“４０９６”の物理ブロックアドレスを有している。つまり、１６進で“ＦＦＦ”である。この１２ビットの物理ブロックアドレスのＭＳＢ（Most Significant Bit）に、１ビットの拡張ブロックを示すアドレスを付加し、この拡張ブロックアドレスにより、拡張ブロックを指定する。
【００３８】
装置構成としては、図１に示す構成と殆ど同様であるが、代替テーブル３−１のデータ、ＲＡＭ５−２のデータが異なり、ＲＡＭ５−２とアドレス切替回路５−３とを接続するバスが１２ビットから１３ビットに変更される。すなわち、代替テーブル３−１の代替先アドレス３−１ｂは、不良ブロックを有するディストリクトに対応した拡張ブロックアドレスとなる。例えば、図７（ｂ）に示すように、ディストリクトＤ０の不良ブロックＰＢＬ３に対応して、拡張ブロックＥＸ０が割り当てられ、ディストリクトＤ１の不良ブロックＰＢＬ１に対応して、拡張ブロックＥＸ０が割り当てられた場合、これら拡張ブロックＥＸ０が代替先アドレスとして代替テーブル３−１に記憶される。
【００３９】
メモリカードの起動時、代替テーブル３−１に記憶された代替元アドレス３−１ａ、及び代替先アドレス３−１ｂは、ＣＰＵ８により読み出され、ＲＡＭ５−２に記憶される。したがって、ＣＰＵ８から供給されるブロックアドレスとＲＡＭ５−２に記憶された代替元アドレスが一致した場合、この代替元アドレスに対応する代替先アドレス、すなわち、拡張ブロックアドレスが読み出され、アドレス切替回路５−３に供給される。一方、上記検索の結果、入力されたブロックアドレスと代替元アドレスが不一致である場合、入力されたブロックアドレスが出力される。すなわち、アドレス切替回路５−３は、ＲＡＭ５−２から拡張ブロックアドレスが供給された場合、拡張ブロックアドレスを出力し、拡張ブロックアドレスがない場合、アドレス検索回路５−１から供給されたブロックアドレスを出力する。アドレス切替回路５−３から出力されたブロックアドレスは、ＮＡＮＤ型フラッシュメモリ３に供給される。
【００４０】
上記第２の実施形態によれば、各ディストリクトＤ０、Ｄ１に対応して拡張ブロックＥＸ０、ＥＸ１を設け、これら拡張ブロックＥＸ０、ＥＸ１により、対応するディストリクトの不良ブロックを代替している。このため、各ディストリクトＤ０、Ｄ１の正常ブロックを代替ブロックに使用する必要がないため、記憶容量の低減を防止できる。
【００４１】
また、不良ブロックを、この不良ブロックを含むディストリクトに対応する拡張ブロックにより代替している。データの書き込み時、この拡張ブロックは、他のディストリクトの正常ブロックと同時に選択され、書き込み動作が実行される。このため、第１の実施形態と同様に、マルチディストリクトプログラムを使用することができ、高速にデータを書き込むことが可能となる。
【００４２】
尚、ディストリクトＤ０、Ｄ１に対応する拡張ブロックＥＸ０、ＥＸ１を全て使用した状態において、さらに不良ブロックがある場合、第１の実施形態と同様に、各ディストリクト内の物理ブロックを代替ブロックとして使用することも可能である。この場合、不良ブロックの救済効率を向上でき、チップの歩留まりを向上できる。
【００４３】
（第３の実施形態）
図８は、第３の実施形態を示している。第３の実施形態は、アドレス検索回路５−１とＲＡＭ５−２を変形したものである。ＮＡＮＤ型フラッシュメモリ３内の不良ブロックの数が多い場合、ＲＡＭ５−２内に記憶される代替元アドレス５−２ａ、代替先アドレス５−２ｂの数が増加する。このため、検索に時間を要する。
【００４４】
そこで、第３の実施形態では、ＲＡＭ５−２に変えて、ＲＡＭ５−２より記憶容量の小さい複数のＲＡＭ５−２ａ、５−２ｂ、５−２ｃを設け、アドレス検索回路５−１により、これらＲＡＭ５−２ａ、５−２ｂ、５−２ｃを並列に検索する。ＮＡＮＤ型フラッシュメモリ３から読み出された代替テーブル３−１内の代替元アドレス、代替先アドレスは、ＲＡＭ５−２ａ、５−２ｂ、５−２ｃに分けて記憶される。
【００４５】
このような構成において、アドレス検索回路５−１にＣＰＵ８からブロックアドレスが供給されると、アドレス検索回路５−１は、ＲＡＭ５−２ａ、５−２ｂ、５−２ｃを並列に検索する。ＲＡＭ５−２ａ、５−２ｂ、５−２ｃのいずれかにおいて、入力ブロックアドレスと一致する代替元アドレスが検索されると、この検索された代替元アドレスと対応する代替先アドレスが、ＲＡＭ５−２ａ、５−２ｂ、５−２ｃのいずれかから出力され、アドレス切替回路に供給される。
【００４６】
上記第３の実施形態によれば、記憶容量が比較的小さな複数のＲＡＭ５−２ａ、５−２ｂ、５−２ｃに代替テーブル３−１に記憶された代替元アドレス、代替先アドレスを分割して記憶させ、アドレス検索回路５−１は、ＲＡＭ５−２ａ、５−２ｂ、５−２ｃを並列に検索している。このため、不良ブロックが増大した場合においても、代替元アドレス、代替先アドレスを高速に検索することができる。
【００４７】
(第４の実施形態)
第１乃至第３の実施形態において、アドレス検索回路５−１によりＲＡＭ５−２、５−２ａ、５−２ｂ、５−２ｃを検索する時間は、データの書き込み動作の前に行なっていた。しかし、書き込みアドレス入力、代替アドレスの検索、書き込みデータの入力というシーケンスで行なった場合、不良ブロックの代替をしない場合に比べて、代替アドレスの検索に要する時間だけ、書き込み速度が低下する。そこで、第４の実施形態は、代替アドレスの検索に係るオーバーヘッドを削減する。
【００４８】
図９は、第４の実施形態を示している。図９に示すように、代替アドレスの検索は、ダミープログラムコマンド（ＤＰＧＭ）、及びプログラムコマンド（ＰＧＭ）の前に実行される。すなわち、例えば書き込みデータの入力期間と並列に、代替アドレスが検索される。
【００４９】
図９に示す例の場合、データ入力コマンドＤＩＮの発行に続いてディストリクト０に対するアドレス入力、データ入力が行なわれる。この後、ＤＰＧＭ、ＤＩＮが順次発行され、ディストリクト１に対するアドレス入力、データ入力が行なわれる。続いて、ＰＧＭが発行される。このＰＧＭに応じてディストリクト０、１に対するプログラム動作が実行される。この動作に並行して、ＤＰＧＭの前において、ディストリクト１に対する代替アドレスが検索され、代替アドレスがある場合は、ＤＰＧＭに続くＤＩＮに応じてディストリクト１に対する代替アドレスが入力される。また、ＰＧＭの前において、ディストリクト０に対する代替アドレスが検索され、代替アドレスがある場合は、ＰＧＭに続くＤＩＮに応じてディストリクト０に対する代替アドレスが入力される。各ＤＩＮに続くアドレス入力において、代替アドレスがアドレス切替回路５−３により選択されて、ＮＡＮＤ型フラッシュメモリ３に供給される。
【００５０】
上記第４の実施形態によれば、ＤＰＧＭ又はＰＧＭの発行前で、アドレス切替回路５−３が非動作期間において、次のディストリクトに対応する代替アドレスを検索している。したがって、代替アドレスの検索時間がデータの書き込み時間に影響を与えないため、高速な書き込みを行なうことが可能である。
【００５１】
（第５の実施形態）
図１０（ａ）（ｂ）は、第５の実施形態を示している。近時、記憶容量の増大に伴い、図１０（ａ）に示すように、複数のチップＣＨ１、ＣＨ２を積層した積層チップが採用されている。
【００５２】
図１０（ｂ）に示すように、それぞれ１Ｇバイトの記憶容量を有するチップＣＨ１、ＣＨ２において、チップＣＨ１を例えば０〜９００Ｍバイトを使用可能とし、チップＣＨ２を９００Ｍバイトから１．９Ｇバイトを使用可能として管理する。各チップの拡張ブロックは、それぞれ例えば６４個の不良ブロックを代替可能とし、全体で１２８個の不良ブロックを代替可能とする。各チップＣＨ１、ＣＨ２の代替数は有限であり、代替可能な数の不良ブロックは出荷前に予め代替される。また、メモリカードの使用時に後天的に不良ブロックが発生した場合、この不良ブロックは代替されない。代替できない不良ブロックの数が規定値以上となった場合、そのメモリカードは使用不能となる。
【００５３】
出荷時に、例えばチップＣＨ０の不良ブロックの数が、チップＣＨ１の不良ブロックの数より多く、出荷後、後天的にチップＣＨ０に不良ブロックが発生し、トータルの不良ブロックの数が規定値をオーバーした場合、チップＣＨ１が十分使用可能であるにも拘らず、メモリカードが使用不能となってしまう。
【００５４】
そこで、第５の実施形態では、チップＣＨ０とチップＣＨ１の代替数をほぼ等しくしている。すなわち、チップＣＨ０の不良ブロックをチップＣＨ０の拡張ブロックにより代替し、この代替数が代替テーブルのエントリ数以下で、規定値を超えたとき、チップＣＨ１の不良ブロックを拡張ブロックで代替する。このようにして、チップＣＨ０とＣＨ１の代替数をほぼ等しくする。
【００５５】
図１１は、テスト時におけるＣＰＵ８の動作を示している。ＣＰＵ８は、前述したように、出荷前のテスト時にＮＡＮＤ型フラッシュメモリ３の不良ブロックを検出し、代替テーブル３を作成する。第５の実施形態では、このとき、次のような動作が実行される。
【００５６】
先ず、チップＣＨ０の不良ブロックが検出され、チップＣＨ０に関して代替テーブル３−１が作成される（Ｓ１１）。すなわち、チップＣＨ０の不良ブロックに対応する代替ブロック（拡張ブロック）のブロックアドレスが決定される。この後、代替テーブル３−１のエントリ数に余裕があるかどうか判別される（Ｓ１２）。すなわち、エントリ数が例えば１２８個に達したかどうかが判定される。この結果、エントリ数が１２８個に達している場合は処理が終了される。
【００５７】
一方、エントリ数に余裕がある場合、チップＣＨ０に関する代替数が規定値、例えば６４個より小さいかどうかが判別される（Ｓ１３）。この結果、代替数が規定値より小さい場合、チップＣＨ０に不良ブロックがあるかどうかが判別される（Ｓ１４）。この結果、チップＣＨ０に不良ブロックがまだある場合、制御がステップＳ１１に移行され、上記動作が繰り返される。
【００５８】
また、ステップＳ１３において、チップＣＨ０の代替数が規定値以上と判別された場合、及びステップＳ１４において、チップＣＨ０に不良ブロックが無いと判別された場合、チップＣＨ１に関する代替テーブル３−１が作成される（Ｓ１５）。すなわち、チップＣＨ１の不良ブロックに対応する代替ブロック（拡張ブロック）のブロックアドレスが決定される。この後、代替テーブル３−１のエントリ数に余裕があるかどうかが判別される（Ｓ１６）。この結果、エントリ数が１２８個に達している場合は処理が終了され、エントリ数に余裕がある場合、制御がステップＳ１１に移行され、上記動作が繰り返される。
【００５９】
このような動作が行なわれることにより、代替数が１２８個を限度とする代替テーブル３−１がＮＡＮＤ型フラッシュメモリ３内に作成される。この代替テーブル３−１は、メモリカードの起動時にＣＰＵ８により読み出され、ＲＡＭ５−２、又はＲＡＭ５−２ａ、５−２ｂ、５−２ｃに記憶される。
【００６０】
上記第５の実施形態によれば、チップＣＨ０とチップＣＨ１の代替数をほぼ等しくできる。このため、出荷後、後天的にチップＣＨ０とチップＣＨ１内に不良ブロックが生じた場合においても、不良ブロックの数がチップＣＨ０又はチップＣＨ１に偏ることを防止できる。したがって、各チップの代替不可能な不良ブロックの数が規定値に達するまでの時間を延ばすことが可能であり、メモリカードの耐用年数を延ばすことが可能である。
【００６１】
本発明は、上記各実施形態に限定されるものではなく、発明の要旨を変えない範囲において種々変形実施可能なことは勿論である。
【図面の簡単な説明】
【００６２】
【図１】第1の実施形態に係り、インターフェース部の一例を示す構成図。
【図２】第１の実施形態の前提としての代替処理を示す図。
【図３】図３（ａ）（ｂ）は、第１の実施形態の代替方法を示す図。
【図４】第１の実施形態に係るメモリカードに搭載されるデバイス類の概略構成を示す斜視図。
【図５】ホストとメモリカードとを含む構成を示すブロック図。
【図６】図１に示すインターフェース部の動作を示すフローチャート。
【図７】図７（ａ）（ｂ）は、第２の実施形態の代替処理を概略的に示す図。
【図８】第３の実施形態を示す構成図。
【図９】第４の実施形態を示すものであり、動作を示すタイミングチャート。
【図１０】図１０（ａ）（ｂ）は、第５の実施形態を示ものであり、図１０（ａ）は、概略構成を示す分解斜視図、図１０（ｂ）は、チップの構成を示す図。
【図１１】テスト時におけるＣＰＵ８の動作を示すフローチャート。
【符号の説明】
【００６３】
１…メモリカード、３…ＮＡＮＤ型フラッシュメモリ、３−１…代替テーブル、５…メモリインターフェース部、５−１…アドレス検索回路、５−２、５−２ａ、５−２ｂ、５−２ｃ…ＲＡＭ、５−３…アドレス変換回路、８…ＣＰＵ、ＣＨ１、ＣＨ２…チップ、Ｄ０、Ｄ１…ディストリクト、ＰＢＬ０〜ＰＢＬ４…物理ブロック群、ＥＸ０、ＥＸ１…拡張ブロック。
【図１】
2007094765.tif 000003
【図２】
2007094765.tif 000004
【図３】
2007094765.tif 000005
【図４】
2007094765.tif 000006
【図５】
2007094765.tif 000007
【図６】
2007094765.tif 000008
【図７】
2007094765.tif 000009
【図８】
2007094765.tif 000010
【図９】
2007094765.tif 000011
【図１０】
2007094765.tif 000012
【図１１】
2007094765.tif 000013