(57)【要約】【課題】  不良ブロックの発生に伴うメモリカードの寿命を大幅に延ばす。【解決手段】  コントロールロジックは、フラッシュメモリの管理情報部に格納された不良要因コードに基づいてフラッシュメモリのブロックに後天性不良があるか検索する。不良のブロックを検出すると、その不良ブロックにデータのライト／リードコンペアを実施し、該ブロックが正常かを判断する。正常と判定されたブロックは、該当するブロックの不良要因コードを書き換えて正常ブロックとして登録する。また、登録したブロックを書き込み可能なブロックとして管理領域の書き込み管理テーブルに格納する。これにより、エラティックエラーなどによって不良とされた本来は正常であるブロックを回復させることができる。【選択図】  図５
2005284700.tif 000002
【特許請求の範囲】
【請求項１】
ユーザアクセス領域のメモリ容量をホストに通知する機能を備えたメモリカードであって、
複数の不揮発性メモリセルを有し、所定の情報を格納可能な不揮発性半導体メモリと、
外部から発行されたコマンドに基づいて前記不揮発性半導体メモリの動作指示を行うコントローラとを備え、
前記コントローラは、
前記不揮発性半導体メモリへのデータの書き込み動作の際に書き込みが不良であると判定したブロックの不良登録を行い、
不良判定されたブロックの登録の後、上記不良判定されたブロックに対して所定のタイミングでライト／リードコンペアを行う判定テストを実行し、前記ブロックが正常にリード／ライトした際には、良ブロックとして判定し、前記ブロックを正常ブロックとして再登録することを特徴とするメモリカード。
【請求項２】
請求項１記載のメモリカードにおいて、
前記コントローラは、
外部からの専用コマンドの発行時、またはパワーオンリセット時に前記判定テストを実行することを特徴とするメモリカード。
【請求項３】
請求項１または２記載のメモリカードにおいて、
前記コントローラは、
前記ブロックを正常ブロックとして再登録した際に、有効データ領域の正常ブロックのブロック数が所定の値以下の場合、ユーザデータ領域のメモリ容量を削減し、削減した前記有効データ領域のブロックを予備領域として確保し、前記不揮発性半導体メモリのシステム領域に記憶されたユーザデータ領域のメモリ容量を削減後の前記ユーザデータ領域のメモリ容量に変更することを特徴とするメモリカード。
【請求項４】
請求項３記載のメモリカードにおいて、
前記コントローラは、
前記不揮発性半導体メモリのシステム領域に記憶されたユーザデータ領域のメモリ容量を削減後のユーザデータ領域のメモリ容量に変更した後、前記コントローラに設けられたレジスタに記憶されているユーザデータ領域のメモリ容量を削減後のユーザデータ領域のメモリ容量に変更することを特徴とするメモリカード。
【請求項５】
請求項３記載のメモリカードにおいて、
前記コントローラは、
前記不揮発性半導体メモリのシステム領域に記憶されたユーザデータ領域のメモリ容量を削減後のユーザデータ領域のメモリ容量に変更した後、前記メモリカードのパワーオンリセットを行うことを特徴とするメモリカード。
【請求項６】
請求項１〜５のいずれか１項に記載のメモリカードにおいて、
前記不揮発性半導体メモリは、
データの書き込みができるブロックを示す書き込み管理テーブルと、
データが書き込まれたブロックのアドレスを示すアドレス変換テーブルとを有し、
前記コントローラは、
前記管理テーブル、および前記アドレス変換テーブルを用いて、データの消去／読み出し／書き込み動作を行うことを特徴とするメモリカード。
【請求項７】
請求項１〜５のいずれか１項に記載のメモリカードにおいて、
前記不揮発性半導体メモリは、
データが書き込まれたブロックのアドレスを示すアドレス変換テーブルを有し、
前記コントローラは、
前記アドレス変換テーブルを用いて、データの消去／読み出し／書き込み動作を行うことを特徴とするメモリカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリカードの延命技術に関し、特に、エラティックエラーなどによって不良ブロックとなった良ブロックの救済に適用して有効な技術に関するものである。
【背景技術】
【０００２】
パーソナルコンピュータや多機能端末機などの記憶装置として、たとえば、マルチメディアカードやＣＦ（Ｃｏｍｐａｃｔ  Ｆｌａｓｈ（登録商標））カードなどのメモリカードが急速に普及している。
【０００３】
近年の高性能化の要求に伴って、メモリカードに搭載される半導体メモリとして、たとえば、電気的に一括消去、書き換えが可能であり、大容量のデータを保持できるフラッシュメモリなどの不揮発性メモリが用いられている。
【０００４】
フラッシュメモリは、デバイスの特性から、データ書き込み／消去を繰り返すと、ある一定の割合で書き込み／消去ができなくなるブロック（セクタ）が発生する。また、データの書き込み時にホストからメモリカードに供給する電圧が一定していないと、エラティックエラー等によるメモリセルへのデータ書き込み失敗が発生し、本来正常にデータ書き込み/消去ができるブロックをメモリカードのコントローラが不良ブロックと判定してしまうことがある。
【０００５】
メモリカードでは、データ処理中に不良ブロックが発生することを見越して、ある一定数の空きブロックを予備領域として確保しており  コントローラは、データ処理中に不良ブロックが発生すると以後、不良ブロックを使用しないように処理している。
【０００６】
メモリカードの消去／読み出し／書き込み動作においては、いわゆる、論理物理一致方式やテーブル方式などがある。
【０００７】
たとえば、論理物理一致方式の場合、ホストから指定された論理アドレスが、フラッシュメモリの物理アドレスのそのまま割り付けられる。フラッシュメモリには、ユーザが使用できるユーザデータ領域と該ユーザ領域の代替となる予備領域とが備えられており、ユーザデータ領域のあるブロックに不良が発生した際には、コントローラが、その不良ブロックの代替として予備領域のあるブロックを使用する代替処理を行う。
【０００８】
また、テーブル方式は、データの書き込みができるブロックを示す書き込み管理テーブル、およびデータが書き込まれたブロックのアドレスを示すアドレス変換テーブルとを参照してデータの書き込みが行われる。
【０００９】
この場合、ユーザデータ領域に空きブロック領域が備えられており、ユーザデータ領域のあるブロックに不良が発生すると、そのブロックが不良であることを書き込み管理テーブルに登録するとともに、予備領域である空きブロック領域のあるブロックを新たなブロックとして登録する不良登録処理を行う。
【特許文献１】特開２００２−１８２９８９号公報
【特許文献２】特開２００３−０５８４３２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ところが、上記のようなメモリカードにおける不良ブロックの救済技術では、次のような問題点があることが本発明者により見い出された。
【００１１】
メモリカードの使用を続けて不良ブロック数が増えてくると、その不良ブロック数は、いずれ予備領域として確保されているブロック数を超えてしまうことになる。そうなった場合、代替処理を行う論理物理アドレス一致方式では、データを書き込めないアドレスが発生してしまうことになり、不良登録処理を行うテーブル方式においては、それ以上のデータの書き込みが不可能となってしまうという問題が発生し、メモリカードの寿命を迎えてしまうことになる。
【００１２】
本発明の目的は、不良ブロックの発生に伴うメモリカードの寿命を延ばすことのできる技術を提供することにある。
【００１３】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１４】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００１５】
本発明は、ユーザアクセス領域のメモリ容量をホストに通知するメモリカードであって、複数の不揮発性メモリセルを有し、所定の情報を格納可能な不揮発性半導体メモリと、外部から発行されたコマンドに基づいて該不揮発性半導体メモリの動作指示を行うコントローラとを備え、該コントローラは、データの書き込み動作の際に不良判定されたブロックを所定のタイミングでライト／リードコンペアを行う判定テストを実行し、該ブロックが正常にリード／ライトした際には、良ブロックとして判定し、ブロックを正常ブロックとして再登録するものである。
【００１６】
また、本願のその他の発明の概要を簡単に示す。
【００１７】
本発明のメモリカードは、前記ブロックを正常ブロックとして再登録した際に、有効データ領域の正常ブロックのブロック数が所定の値以下の場合、ユーザデータ領域のメモリ容量を削減し、削減した有効データ領域のブロックを予備領域として確保し、不揮発性半導体メモリのシステム領域に記憶されたユーザデータ領域のメモリ容量を削減後のユーザデータ領域のメモリ容量に変更するものである。
【発明の効果】
【００１８】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００１９】
（１）エラティックエラーなど偶発的、または一時的な原因によって不良と判定された正常なブロックを救済することができるので、メモリカードの長寿命化を図ることができる。
【００２０】
（２）有効データ領域の正常ブロックのブロック数が規定値以下になると、ユーザデータ領域を削減して予備領域として確保することにより、メモリカードをより延命することができる。
【００２１】
（３）上記（１）、（２）により、メモリカードの信頼性を向上させることができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００２３】
図１は、本発明の一実施の形態によるメモリカードのブロック図、図２は、図１のメモリカードに設けられた不揮発性メモリセルアレイの構成を示した説明図、図３は、図２の不揮発性メモリセルに設けられたメモリセルの構造を示す断面図、図４は、図１のメモリカードにおける延命処理の一例を示すフローチャート、図５は、延命処理の１つである不良ブロック回復処理の説明図、図６は、図２の不揮発性メモリセルアレイに設けられた管理情報部に格納された管理情報の格納例を示す説明図、図７は、図１のメモリカードにおける不良ブロック回復処理のフローチャート、図８は、図７に示した不良ブロック回復処理にデプリート不良のチェック機能を備えた際のフローチャート、図９は、図２の不揮発性メモリセルにおけるデプリート不良の説明図、図１０は、図１のメモリカードにおけるメモリカード容量変更処理の一例を示した説明図、図１１は、図１０のメモリカード容量変更処理におけるフローチャート、図１２は、図１のメモリカードのカードフォーマット時に不良ブロック回復処理、およびメモリカード容量変更処理を実行する際のフローチャート、図１３は、図１のメモリカードのパワーオン時に不良ブロック回復処理、およびメモリカード容量変更処理を実行する際のフローチャートである。
【００２４】
本実施の形態において、メモリカード１は、デジタルビデオカメラ、携帯電話、携帯音楽プレーヤやパーソナルコンピュータなどにおけるホスト機器ＨＴの外部記憶メディアとして用いられる。
【００２５】
メモリカード１は、図１に示すように、フラッシュメモリ（不揮発性半導体メモリ）２、ならびにコントローラ３から構成される。フラッシュメモリ２は、電気的にデータの書き換え、消去が可能な不揮発性半導体メモリである。ここでは、１個のフラッシュメモリ２が設けられた構成としているが、該フラッシュメモリ２は１つ以上であればよい。
【００２６】
コントローラ３は、コントロールロジック４、バッファ５、バッファインタフェース６、フラッシュインタフェース７、およびホストインタフェース８などから構成されている。
【００２７】
コントローラ３は、ホスト機器ＨＴと接続されており、フラッシュメモリ２の制御を司り、フラッシュメモリ２に格納されたプログラムやデータなどを読み出してホスト機器ＨＴへ出力し、またはホスト機器ＨＴから入力されたプログラムやデータの書き込み動作指示を行う。
【００２８】
コントロールロジック４は、コントローラ３におけるすべての制御を司る。このコントロールロジック４には、内蔵ＲＯＭが設けられており、該内蔵ＲＯＭにはコントロールロジック４を動作させる制御プログラムなどが格納されている。
【００２９】
また、バッファ５は、たとえば、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などの揮発性メモリからなり、コントロールロジック４に設けられたＣＰＵのワークエリア、およびホスト機器ＨＴとのデータ転送の際のバッファメモリとして用いられる。
【００３０】
バッファインタフェース６は、コントロールロジック４とバッファ５とのインタフェースであり、フラッシュインタフェース７は、コントロールロジック４とフラッシュメモリ２とのインタフェースである。ホストインタフェース８は、コントロールロジック４とホスト機器ＨＴとのインタフェースである。
【００３１】
フラッシュメモリ２は、揮発性メモリであるＳＲＡＭ２ａと不揮発性メモリセルアレイ２ｂとから構成されている。ＳＲＡＭ２ａは、不揮発性メモリセルアレイ２ｂにプログラムやデータなどを書き込み／読み出しする際のバッファとして用いられる。
【００３２】
このフラッシュメモリ２には、コントロールロジック４の内蔵ＲＯＭに格納されているプログラムとは別に制御プログラムに機能の追加や変更、修正などを行うプログラムであるファームウェアが格納されている（ファームオンフラッシュ）場合がある。
【００３３】
このファームオンフラッシュは、自由に何度でも書き換えが可能であり、製品となっても、変更、機能の追加などを容易に行うことができる。
【００３４】
フラッシュメモリ２の不揮発性メモリセルアレイ２ｂは、ユーザアクセス領域（ユーザデータ領域）とユーザアクセス不可領域とから構成されている。ユーザアクセス領域は、ユーザがアクセスできる複数のブロックから構成されている。また、ユーザアクセス不可領域は、ユーザによるアクセスが不可能な領域であり、管理領域から構成されている。
【００３５】
ブロックは、ユーザが使用できる領域であるデータブロック（ユーザデータ領域）と、該データブロックを管理するためのデータが格納される管理情報部とよりなる。
【００３６】
管理領域は、データの書き込みができるブロックを示す書き込み管理テーブル、およびデータが書き込まれたブロックのアドレスを示すアドレス変換テーブルを有するテーブル領域と、メモリカード１全体の管理を行う制御情報データを格納するシステム領域とから構成されている。
【００３７】
図２は、不揮発性メモリセルアレイ２ｂの構成を示した説明図である。
【００３８】
この場合、不揮発性メモリセルアレイ２ｂは、たとえば、１２８本のワード線ＷＬを１つのサブブロックとし、サブブロックが２つ設けられた構成からなり、１つのサブブロックには、１２８個のブロックが設けられている。
【００３９】
不揮発性メモリセルアレイ２ｂのメモリセルＳは、たとえば、ＡＮＤ型よりなり、該メモリセルＳの拡散層にローカルデータ線ＬＤＬがそれぞれ接続されており、各々のローカルデータ線ＬＤＬとグローバルデータ線ＧＤＬとの接続にスイッチＳＷを介した構成となっている。
【００４０】
図３は、メモリセルＳの構造を示す断面図である。
【００４１】
メモリセルＳは、たとえば、ソースＳＣ、ドレインＤからなる拡散層と、それらソースＳＣ／ドレインＤ間の半導体基板Ｗ上にトンネル膜を介してフローティングゲートＦＧが形成され、該フローティングゲートＦＧの上方には層間絶縁膜を介してコントロールＣＧが形成されたスタックド構造に構成されている。
【００４２】
メモリセルＳは、コントロールゲートＣＧにワード線ＷＬを介してワード線電圧が印加され、高いエネルギ障壁に囲まれたフローティングゲートＦＧ中に電荷を保持することにより情報を記憶する。
【００４３】
また、メモリカード１には、延命処理機能が備えられている。図４は、メモリカード１における延命処理の一例を示すフローチャートである。
【００４４】
延命処理は、図示するように、不良ブロック回復処理（ステップＳ１０１）と、メモリカード容量変更処理（ステップＳ１０２）との２つのステップから構成される。
【００４５】
不良ブロック回復処理は、コントローラ３が、不良と判定されたブロックを再テストし、正常ブロックとして回復させる処理である。
【００４６】
不良ブロックには、たとえば、エラティックエラーなど偶発的、または一時的な原因によって本来は正常であるブロックが不良と判定されているものが含まれている場合がある。エラティックエラーは、データの書き込み時にホストの電圧が一定でない場合になどに偶発的に発生する過剰書き込み現象であり、この現象によって正常なブロックをコントローラ２が不良ブロックと判定してしまうことがある。
【００４７】
不良ブロック回復処理では、不良ブロックにテストデータのライト／リードコンペア（判定テスト）を行い、問題なく動作したブロックを正常ブロックとして回復させる処理を行うものである。
【００４８】
また、メモリカード容量変更処理は、不良ブロック回復処理を行っても、なお不良ブロック数が規定値以上ある場合に、良ブロックとして動作しているデータ領域の一部を予備ブロックとすることによって、予備ブロックを強制的に確保する処理である。
【００４９】
次に、本実施の形態におけるメモリカード１の延命処理機能について説明する。
【００５０】
始めに、不良ブロック回復処理について、図５の説明図を用いて説明する。
【００５１】
フラッシュメモリ２では、不揮発性メモリセルアレイ２ｂの各ブロックに設けられた管理情報を格納する領域である管理情報部を有しており、その管理情報部にブロック毎のエラー情報である不良要因コードが格納されている。
【００５２】
不良要因コードは、不良のブロックが先天性不良によるものか、後天性不良によるものかを示す情報である。先天性不良は、たとえば、フラッシュメモリ２の選別時などに検出された不良ブロックであり、恒久的な不良である。後天性不良は、メモリカード１の使用などによって発生した不良のブロックであり、書き込み／消去を繰り返すことによるメモリセルの特性劣化による後発の恒久的な不良やエラティックエラーによる偶発的、または一時的な不良も含まれる。
【００５３】
たとえば、図５の左側に示すように、不良要因コードによって不揮発性メモリセルアレイ２ｂに３つの後天性不良のブロックがあることが示されている場合、コントローラ３は、これら３つの不良ブロックに対してテストデータをライト／リードコンペアし、データが正常にライト／リードしていると確認されたブロックを、図５の右側に示すように正常ブロックとして回復させる。
【００５４】
図６は、管理情報部に格納された管理情報の格納例を示す説明図である。
【００５５】
図示するように、不揮発性メモリセルアレイ２ｂにおける１つのブロックは、データ長が５１２Ｂｙｔｅ×４のユーザデータ領域、５１２Ｂｙｔｅデータに対するＥＣＣ（Ｅｒｒｏｒ  Ｃｈｅｃｋｉｎｇ  Ｃｏｒｒｅｃｔｉｎｇ）コード、ならびに３２Ｂｙｔｅの管理情報部から構成されており、該管理情報部に格納された管理情報に基づいて、各ブロックの管理が行われる。
【００５６】
この管理情報部における１７Ｂｙｔｅ〜２０Ｂｙｔｅにエラー情報として不良要因コードが格納される。この不良要因コードには、前述したように不良のブロックが先天性不良によるものか、後天性不良によるものかを示す情報が格納される。
【００５７】
次に、メモリカード１における不良ブロック回復処理について、図７のフローチャートを用いて詳しく説明する。
【００５８】
まず、コントロールロジック４は、管理情報部における不良要因コードに基づいて不揮発性メモリセルアレイ２ｂのブロックを検索し、後天性不良があるか否かを検索する（ステップＳ２０１）。
【００５９】
後天性不良のブロックが存在する場合には、検出した不良ブロックに対して、データのライト／リードコンペアを実施し、それらが正常であるか否かを判断する（ステップＳ２０２）。また、ステップＳ２０１の処理において、後天性不良のブロックがない場合には、不良ブロック回復処理が終了となる。
【００６０】
ステップＳ２０２の処理において、ライト／リードコンペアが正常に終了したブロックがある場合には、そのブロックが正常ブロックであると判定し、該当するブロックの不良要因コードを書き換えて正常ブロックとして登録する（ステップＳ２０３）。ステップＳ２０２の処理において、ライト／リードコンペアが正常でない場合には、ステップＳ２０４の処理を実行する。
【００６１】
これらステップＳ２０１〜Ｓ２０３の処理が、すべてのブロックで終了すると（ステップＳ２０４）、ステップＳ２０３の処理において、正常ブロックとして登録したブロックを書き込み可能なブロックとして管理領域における書き込み管理テーブルに格納する（ステップＳ２０５）。
【００６２】
上記した不良ブロック回復処理によって、エラティックエラーなどによって不良とされた本来は正常であるブロックを回復させることが可能となる。
【００６３】
図８は、図７に示した不良ブロック回復処理にデプリート不良のチェック機能を備えた場合のフローチャートである。
【００６４】
まず、コントロールロジック４は、不揮発性メモリセルアレイ２ｂにおけるデプリートチェック処理を実行する（ステップＳ３０１）。
【００６５】
ここで、デプリートについて説明する。フラッシュメモリ２において、多値のメモリセルのデータを消去する際には、図９に示すように、メモリセルの電圧を一度、消去書き戻しレベルの下限（たとえば、１．８Ｖ程度）以下に下げてから、１．８Ｖ〜２．２Ｖ程度の電圧まで上昇させている。
【００６６】
そのため、消去動作中にフラッシュメモリ２への電圧供給が停止（電源遮断）してしまったりした場合、メモリセルのしきい値電圧が消去書き戻しレベル以下のままとなってしまう過剰消去状態（特に、メモリセルのしきい値電圧が負電圧となることを示す）となってしまう。その過剰消去状態となったメモリセルをデプリート不良という。
【００６７】
ステップＳ３０１の処理において、デプリート不良のメモリセルがあった場合には（ステップＳ３０２）、デプリート不良の回復処理を実行する（ステップＳ３０３）。この場合には、ステップＳ３０３の処理を行い、以降、ステップＳ３０４〜Ｓ３０８の処理は実行せずに終了となる。
【００６８】
また、ステップＳ３０１の処理において、デプリート不良のメモリセルがない場合には（ステップＳ３０２）、ステップＳ３０４〜Ｓ３０８の処理を実行する。これらステップＳ３０４〜Ｓ３０８の処理については、図７のステップＳ２０１〜Ｓ２０５の処理と同様であるので、説明は省略する。
【００６９】
次に、メモリカード容量変更処理について説明する。
【００７０】
図１０は、メモリカード１におけるメモリカード容量変更処理の一例を示した説明図である。
【００７１】
メモリカード容量変更処理は、図１０の左側に示すように、システム領域に格納されたＣＳＤ（Ｃａｒｄ  Ｓｐｅｃｉｆｉｃ  ｄａｔａ：カード特性レジスタ）によって規定された不揮発性メモリセルアレイ２ｂにおけるユーザアクセス領域の空きブロック（予備領域）数をカウントし、空き容量が不足していると判断した際には、図１０の右側に示すように、ユーザアクセス領域の空きブロックを変更する。
【００７２】
ＣＳＤは、対応しているスペックバージョン、カード容量、アクセス時間、転送単位ブロック長などのメモリカード１に関係する諸情報を示すデータである。
【００７３】
一方、ホストから指定された論理アドレスがフラッシュメモリの物理アドレスのそのまま割り付けられる論理物理一致方式の場合、ＣＳＤで規定されたメモリカード容量に対して予備領域が足りないと判断した際には、ユーザが使用できるユーザデータ領域を減少させることによって規定された予備領域になるまで拡張を行う。
【００７４】
このメモリカード容量変更処理について、図１１のフローチャートを用いて詳しく説明する。
【００７５】
まず、コントローラ３は、フラッシュメモリ２の空きブロック数を検出する空きブロック数把握処理を行う（ステップＳ４０１）。この空きブロック数把握処理は、たとえば、ユーザアクセス領域のすべてのブロックを検索してカウントするか、もしくは、不良アドレスが登録されている特殊ブロックから空きブロック（または不良ブロック）数をカウントする。
【００７６】
そして、空きブロック数が、ＣＳＤによって規定されたメモリカード容量に対してコントローラ側で予め決めてある一定数確保されているか否かを判断し（ステップＳ４０２）、満たしている場合には、処理を終了する。また、満たしていない場合には、ユーザアクセス領域におけるデータブロックの一部を空きブロックとして変更登録する（ステップＳ４０３）。
【００７７】
このステップＳ４０３の処理においては、たとえば、書き込み管理テーブル上の書き込み不可領域（アドレスが割り付けられている領域）の一部を強制的に書き込み可能領域（空き領域）へと変更する。変更するブロック数は、たとえば、パラメータによって変更する。
【００７８】
ここで、ステップＳ４０３の処理において、フラッシュメモリ２が前述した論理物理一致方式の場合には、ユーザデータ領域の一部を空き領域に変更して登録するものとする。
【００７９】
その後、不揮発性メモリセルアレイ２ｂのシステム領域に格納されたＣＳＤのうち、メモリカード１のカード容量に係わるパラメータを変更し（ステップＳ４０４）、メモリカード１のカード容量を減少させる処理を行う。
【００８０】
続いて、コントローラ３のコントロールロジック４に格納されているＣＳＤのレジスタ値を更新し、コントロールロジック４のファームウェアで用いているメモリカード１のカード容量に係わるグローバル変数をＣＳＤのレジスタ値に合わせて更新する（ステップＳ４０５）。
【００８１】
このメモリカード容量変更処理によって、カード容量は減少することになるが、不良ブロック回復処理を行っても、なおＣＳＤで規定された規定されたメモリカード容量に対してコントローラ側で予め決めてある空きブロック数に満たない場合でもメモリカード１の延命を図ることが可能となる。
【００８２】
続いて、図７、または図８に示した不良ブロック回復処理と、図１１に示したメモリカード容量変更処理とを、メモリカード１のカードフォーマット時に実行する際の処理を図１２のフローチャートを用いて説明する。
【００８３】
まず、メモリカード１におけるフォーマットの１つであるＭＳ−ＤＯＳ（Ｍｉｃｒｏｓｏｆｔ  Ｄｉｓｋ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ：米国マクロソフト社の登録商標）フォーマット処理が行われる（ステップＳ５０１）。
【００８４】
その後、ホスト機器ＨＴから、不良ブロック回復処理の専用コマンドが発行され（ステップＳ５０２）、コントローラ３は、その専用コマンドに基づいて、図７、または図８の不良ブロック回復処理（ステップＳ５０３）を行い、その後、図１１のカード容量変更処理（ステップＳ５０４）を実行する。
【００８５】
図１３は、図７、または図８の不良ブロック回復処理と、図１１のメモリカード容量変更処理とをメモリカード１のパワーオン時に実行する際の処理を示すフローチャートである。
【００８６】
メモリカード１がホスト機器ＨＴに設けられたメモリスロットなどに挿入されると、該メモリスロットのコネクタ端子を介してメモリカード１に電源電圧が供給される。
【００８７】
メモリカード１がパワーオンされると、コントロールロジック４、およびハードウェアレジスタの初期設定が開始される（ステップＳ６０１）。その後、コントローラ３は、メモリカード１に搭載されているフラッシュメモリ２のチップ数と種類などを確認する（ステップＳ６０２）。
【００８８】
ステップＳ６０２の確認処理が正常に終了すると（ステップＳ６０３）、コントロールロジック４は、該コントロールロジックに格納されている確認用のデータとフラッシュメモリ２から読み出した確認用のデータとを比較し（ステップＳ６０４）、これらのデータが同じであれば、フラッシュメモリ２が読み出し可能と判断する。
【００８９】
また、ステップＳ６０２の処理における確認が異常の場合には、エラー終了（ステップＳ６０５）となり、再度イニシャル処理が実行されるのを待つ待機状態となる。
【００９０】
ステップＳ６０４の処理が正常に終了すると（ステップＳ６０６）、コントローラ３は、制御プログラムに対するパッチプログラムやＲＯＭに格納された制御プログラムの機能を拡張する追加制御プログラムなどのファームウェアがフラッシュメモリ２に格納されているか否かを確認し、追加変更のファームウェアが該フラッシュメモリ２に格納されている場合には、そのファームウェアを読み出す、いわゆるファームオンフラッシュリード動作を行う（ステップＳ６０７）。
【００９１】
また、ステップＳ６０４の処理が異常の場合には、エラー終了（ステップＳ６０８）となり、再度イニシャル処理が実行されるのを待つ待機状態となる。
【００９２】
続いて、コントローラ３は、動作に必要な各種パラメータをフラッシュメモリ２から読み出す（ステップＳ６０９）。その後、コントローラ３は、ホスト機器ＨＴからのデータをリード／ライトするのに必要なアドレス変換テーブル、および書き込み管理テーブルをフラッシュメモリ２から読み出し、バッファ５に展開する（ステップＳ６１０）。
【００９３】
その後、図７、または図８の不良ブロック回復処理（ステップＳ６１１）を行った後、図１１のカード容量変更処理（ステップＳ６１２）を行う。続いて、コントローラ３は、フラッシュメモリ２のシステム領域からＣＩＤ（Ｃａｒｄ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  Ｎｕｍｂｅｒ：カードＩＤレジスタ）を読み出し（ステップＳ６１３）、バッファ５に展開する。ＣＩＤは、メモリカード１にそれぞれ割り付けられたシリアルナンバであり、該メモリカード１を選択するための相対アドレスを割り振るために用いられる。
【００９４】
そして、コントローラ３は、フラッシュメモリ２のシステム領域からＣＳＤを読み出して（ステップＳ６１４）バッファ５に展開する。その後、コントローラ３は、メモリカード１のカードロック機能に必要なパスワードデータ（ＰＷＤ）を、フラッシュメモリ２のシステム領域から読み出し、バッファ５に展開する（ステップＳ６１５）。なお、セキュリティが不要な場合には、ステップＳ６１５の処理は省略することができる。
【００９５】
これらステップＳ６０１〜Ｓ６１５の処理がすべて正常に終了した際には（ステップＳ６１６）、正常終了となりパワーオン処理が終了となり、異常がある場合には（ステップＳ６１６）、エラー終了（ステップＳ６１７）となり、再度イニシャル処理が実行されるのを待つ待機状態となる。
【００９６】
以上により、メモリカード１を初期設定するパワーオンリセット動作が終了となる。
【００９７】
それにより、本実施の形態によれば、メモリカード１の長寿命化を図ることができるとともに、該メモリカード１の信頼性を大幅に向上させることができる。
【００９８】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【００９９】
本発明のメモリカードにおける不良ブロックの救済技術は、メモリカードにおける延命化技術に適している。
【図面の簡単な説明】
【０１００】
【図１】本発明の一実施の形態によるメモリカードのブロック図である。
【図２】図１のメモリカードに設けられた不揮発性メモリセルアレイの構成を示した説明図である。
【図３】図２の不揮発性メモリセルに設けられたメモリセルの構造を示す断面図である。
【図４】図１のメモリカードにおける延命処理の一例を示すフローチャートである。
【図５】延命処理の１つである不良ブロック回復処理の説明図である。
【図６】図２の不揮発性メモリセルアレイに設けられた管理情報部に格納された管理情報の格納例を示す説明図である。
【図７】図１のメモリカードにおける不良ブロック回復処理のフローチャートである。
【図８】図７に示した不良ブロック回復処理にデプリート不良のチェック機能を備えた際のフローチャートである。
【図９】図２の不揮発性メモリセルにおけるデプリート不良の説明図である。
【図１０】図１のメモリカードにおけるメモリカード容量変更処理の一例を示した説明図である。
【図１１】図１０のメモリカード容量変更処理におけるフローチャートである。
【図１２】図１のメモリカードのカードフォーマット時に不良ブロック回復処理、およびメモリカード容量変更処理を実行する際のフローチャートである。
【図１３】図１のメモリカードのパワーオン時に不良ブロック回復処理、およびメモリカード容量変更処理を実行する際のフローチャートである。
【符号の説明】
【０１０１】
１  メモリカード
２  フラッシュメモリ（不揮発性半導体メモリ）
２ａ  ＳＲＡＭ
２ｂ  不揮発性メモリセルアレイ
３  コントローラ
４  コントロールロジック
５  バッファ
６  バッファインタフェース
７  フラッシュインタフェース
８  ホストインタフェース
Ｓ  メモリセル
ＷＬ  ワード線
ＬＤＬ  ローカルデータ線
ＧＤＬ  グローバルデータ線
ＳＷ  スイッチ
ＳＣ  ソース
Ｄ  ドレイン
Ｗ  半導体基板
ＦＧ  フローティングゲート
ＣＧ  コントロール
ＨＴ  ホスト機器
【図１】
2005284700.tif 000003
【図２】
2005284700.tif 000004
【図３】
2005284700.tif 000005
【図４】
2005284700.tif 000006
【図５】
2005284700.tif 000007
【図６】
2005284700.tif 000008
【図７】
2005284700.tif 000009
【図８】
2005284700.tif 000010
【図９】
2005284700.tif 000011
【図１０】
2005284700.tif 000012
【図１１】
2005284700.tif 000013
【図１２】
2005284700.tif 000014
【図１３】
2005284700.tif 000015