(57)【要約】【課題】  データ書き込みの際に発生する消去テーブルの更新による不揮発性半導体メモリのメモリセルへのストレスを大幅に低減し、メモリカードの信頼性を向上させる。【解決手段】  メモリカードのデータ書き込み時において、ＲＡＭ１１の消去テーブル格納部１５に作成された消去テーブルから書き込み先アドレスを取得してデータを書き込んだ後、書き込みアドレスをアドレス変換テーブルに更新する。そして、消去テーブルに登録されている書き込み先アドレスを消去した後、更新前の旧データが書き込まれていたアドレスを登録する。消去テーブルをＲＡＭ１１によって管理することにより、該消去テーブルの更新に伴うフラッシュメモリ３の書き換え回数を不要とし、メモリセルへのストレスを大幅に低減することができる。【選択図】  図２
2006039886.tif 000002
【特許請求の範囲】
【請求項１】
複数の不揮発性メモリセルを有し、所定の情報を格納可能な不揮発性半導体メモリと、
外部から発行されたコマンドに基づいて前記不揮発性半導体メモリへの動作指示を行うコントローラとを備えたメモリカードであって、
前記メモリカードは、
前記不揮発性半導体メモリにおけるメモリ領域の物理アドレス毎に外部から供給される論理アドレスを対応付けし、前記メモリ領域におけるアドレス割り当て済み領域のアドレスを登録可能なアドレス変換テーブルと、
アドレス未割り当て領域のアドレスが登録された消去テーブルとを有し、
前記アドレス変換テーブルに登録されているメモリ領域のアドレスと、前記消去テーブルに登録されているアドレスとはノンオーバラップとされ、
前記コントローラは、
データの書き込み時において、前記消去テーブルからデータの書き込み先のアドレスを取得してデータを書き込み、前記書き込み先のアドレスを前記アドレス変換テーブルに登録して更新し、前記消去テーブルに、更新前のデータが書き込まれたアドレスを登録することを特徴とするメモリカード。
【請求項２】
請求項１記載のメモリカードにおいて、
前記アドレス変換テーブルは、前記不揮発性半導体メモリに作成され、
前記消去テーブルは、揮発性半導体メモリに作成されることを特徴とするメモリカード。
【請求項３】
請求項１または２記載のメモリカードにおいて、
前記コントローラは、前記消去テーブルを前記メモリカードのリセット処理時に作成することを特徴とするメモリカード。
【請求項４】
請求項１〜３のいずれか１項に記載のメモリカードにおいて、
前記消去テーブルに登録されている前記メモリ領域は、プレイレーズが可能であることを特徴とするメモリカード。
【請求項５】
請求項１〜４のいずれか１項に記載のメモリカードにおいて、
メモリ領域の不良ブロックアドレスを登録する不良登録テーブルを有するメモリカード。
【請求項６】
請求項１〜５のいずれか１項に記載のメモリカードにおいて、
前記アドレス変換テーブル、および消去テーブルに格納されるアドレスは、前記不揮発性半導体メモリの物理ブロックアドレス、またはオフセットアドレスのいずれかであることを特徴とするメモリカード。
【請求項７】
請求項１〜６のいずれか１項に記載のメモリカードにおいて、
前記アドレス変換テーブルは、前記メモリ領域における不良ブロックアドレスを管理する不良登録テーブルの格納先アドレスを有することを特徴とするメモリカード。
【請求項８】
請求項１〜７のいずれか１項に記載のメモリカードにおいて、
前記アドレス変換テーブルにおいて管理されるアドレス割り当て済み領域が、複数のブロック、または複数のページから構成されるデータブロックよりなり、前記アドレス変換テーブルは、前記データブロックにおける前記ブロック毎、あるいは前記ページ毎に代表アドレスをそれぞれ登録することを特徴とするメモリカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリカードのデータ書き込み技術に関し、特に、不揮発性半導体メモリを用いたメモリカードにおけるデータ書き込みに適用して有効な技術に関するものである。
【背景技術】
【０００２】
パーソナルコンピュータや多機能端末機などの記憶装置として、たとえば、マルチメディアカードやＣＦ（Ｃｏｍｐａｃｔ  Ｆｌａｓｈ）カードなどのメモリカードが広く普及している。
【０００３】
近年の高性能化の要求に伴って、メモリカードに搭載される半導体メモリとして、たとえば、電気的に一括消去、書き換えが可能であり、大容量のデータを保持できるフラッシュメモリなどの不揮発性メモリが用いられている。
【０００４】
メモリカードの書き込み技術においては、フラッシュメモリに、ホストから指定された論理アドレス毎にフラッシュメモリのメモリ領域の物理アドレスが対応づけられたアドレス変換テーブルと、該フラッシュメモリにおけるメモリ領域毎に、消去可／消去不可をそれぞれ示した空き情報フラグが対応付けされている消去テーブルとをそれぞれ備え、データの書き換えに際して該消去テーブルを参照して空き情報フラグに応ずる物理アドレスのメモリ領域を消去、ならびに書き込み対象とするものがある（たとえば、特許文献１参照）。
【特許文献１】特開２００４−１２７１８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところが、上記のようなメモリカードにおけるデータの書き込み技術では、次のような問題点があることが本発明者により見い出された。
【０００６】
フラッシュメモリは、デバイスの特性から、データ書き込み／消去を繰り返すと、ある一定の割合で書き込み／消去ができなくなるブロック（セクタ）が発生する。
【０００７】
前述のように、アドレス変換テーブルと消去テーブルとをフラッシュメモリに格納して管理する場合、データの書き込み毎にアドレス変換テーブル、および消去テーブルが更新されることになり、メモリセルへのストレスが発生し、フラッシュメモリの性能低下を招いてしまう恐れがある。
【０００８】
また、メモリカードのコントローラによってアドレス変換テーブル、および消去テーブルを管理する場合には、コントローラに搭載されるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などにそれらテーブルが展開されることになるが、メモリカードの記憶容量が大きくなるに伴いそれらのテーブルの容量も大きくなり、それらのテーブルをフラッシュメモリに格納するのではなく電源投入後の所定のタイミングで作成する場合、又はそれらのテーブルの更新をする場合に、それらのテーブルの作成・更新処理時間が長くなってしまうという問題がある。
【０００９】
さらに、メモリカードの記憶容量が大きくなるに伴いフラッシュメモリに格納するそれらのテーブルのサイズが大きくなり、コントローラのＲＡＭにテーブルが展開されることにより、それらのテーブルを展開するために必要な該ＲＡＭのデータ容量も大きくなり、メモリカードの高コスト化を招いてしまうという問題がある。
【００１０】
本発明の目的は、データ書き込みの際に発生する消去テーブルの更新による不揮発性メモリセルへのストレスを大幅に低減し、メモリカードの信頼性、および書き込み性能を向上させる技術を提供することにある。
【００１１】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１２】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００１３】
本発明は、複数の不揮発性メモリセルを有し、所定の情報を格納可能な不揮発性半導体メモリと、外部から発行されたコマンドに基づいて不揮発性半導体メモリの動作指示を行うコントローラとを備えたメモリカードであって、該メモリカードは、不揮発性半導体メモリにおけるメモリ領域の物理アドレス毎に論理アドレスを対応付けし、メモリ領域におけるアドレス割り当て済み領域のアドレスを登録可能なアドレス変換テーブルと、アドレス未割り当て領域のアドレスが登録された消去テーブルとを有し、該アドレス変換テーブルが格納されるアドレス変換テーブルに登録されているメモリ領域のアドレスと、該消去テーブルに登録されているアドレスとは重複して登録されない（ノンオーバラップ）ように制御され、コントローラは、データの書き込み時において、消去テーブルからデータの書き込み先のアドレスを取得してデータを書き込み、書き込み先のアドレスをアドレス変換テーブルに登録して更新し、消去テーブルに、更新前のデータが書き込まれたアドレスを登録するものである。
【００１４】
また、本願のその他の発明の概要を簡単に示す。
【００１５】
本発明のメモリカードは、前記アドレス変換テーブルが、不揮発性半導体メモリに作成され、前記消去テーブルは、揮発性半導体メモリに作成されるものである。
【００１６】
また、本発明のメモリカードは、前記コントローラが、消去テーブルをメモリカードのリセット処理時に作成するものである。
【００１７】
さらに、本発明のメモリカードは、前記消去テーブルに登録されているメモリ領域がプレイレーズが可能であるものである。
【００１８】
また、本発明のメモリカードは、メモリ領域の不良ブロックアドレスを不良登録テーブルに登録して管理するものである。
【００１９】
さらに、本発明のメモリカードは、前記アドレス変換テーブル、および消去テーブルに格納されるアドレスが、不揮発性半導体メモリの物理ブロックアドレス、またはオフセットアドレスのいずれかよりなるものである。
【００２０】
また、本発明のメモリカードは、前記アドレス変換テーブルが、不揮発性半導体メモリのメモリ領域における不良ブロックアドレスを管理する不良登録テーブルの格納先アドレスを有するものである。
【００２１】
さらに、本発明のメモリカードは、前記アドレス変換テーブルによって管理されるアドレス割り当て済み領域が、複数のブロック（一括消去の最小単位）、または複数のページ（書き込みの最小単位）から構成されるデータブロックよりなり、アドレス変換テーブルは、データブロックにおけるブロック毎、あるいはページ毎に代表アドレスをそれぞれ登録するものである。
【発明の効果】
【００２２】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００２３】
（１）消去テーブルの更新による不揮発性半導体メモリの性能低下を抑えることができる。
【００２４】
（２）上記（１）により、メモリカードの信頼性を向上させることができるとともに、該メモリカードの長寿命化を図ることができる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００２６】
図１は、本発明の一実施の形態による記憶システムのブロック図、図２は、図１の記憶システムを構成するメモリカードに設けられたコントローラのブロック図、図３は、図１の記憶システムを構成するメモリカードに設けられたフラッシュメモリにおけるメモリアレイの構成例を示す説明図、図４は、図３のメモリセルアレイにおけるアドレス変換テーブル領域に格納されるアドレス変換テーブルの一例を示す説明図、図５は、図２のコントローラに設けられたＲＡＭに格納される消去テーブルの作成例を示す説明図、図６は、図１のメモリカードのリセット処理における消去テーブルの作成シーケンスを示すフローチャート、図７は、図１のメモリカードにおける書き込み動作を示すフローチャート、図８は、図７の書き込み処理時においてエラーが発生した際の不良ブロックの登録処理を示すフローチャートである。
【００２７】
本実施の形態において、記憶システムは、図１に示すように、コントローラ４とフラッシュメモリ３に例示される不揮発性メモリとからメモリカード１が構成され、メモリカード１の外部にホスト機器２が接続可能なようにされている。メモリカード１は、デジタルビデオカメラ、携帯電話、携帯音楽プレーヤやパーソナルコンピュータなどのホスト機器２の外部記憶メディアとして用いられる。
【００２８】
フラッシュメモリ３は、電気的にデータの書き換え、消去が可能な不揮発性半導体メモリからなる。ここでは、フラッシュメモリ３が１個の半導体メモリよりなる構成としたが、該半導体メモリは１つ以上であればよい。
【００２９】
コントローラ４は、図２に示すように、ホスト側インタフェース５、ＭＰＵ（ＭｉｃｒｏＰｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）６、バッファインタフェース７、データバッファ８、フラッシュメモリ３に接続される記憶部側インタフェース９、テーブル制御部１０、およびＲＡＭ（揮発性半導体メモリ）１１などから構成されている。
【００３０】
コントローラ４は、ホスト機器２と接続可能とされており、フラッシュメモリ３の制御を司り、該フラッシュメモリ３に格納されたプログラムやデータなどを読み出してホスト機器２へ出力し、またはホスト機器２から入力されたプログラムやデータの書き込み動作指示を行う。
【００３１】
ホスト側インタフェース５は、ホスト機器２とＭＰＵ６とのインタフェースである。ＭＰＵ６は、コントローラ４におけるすべての制御を司る。バッファインタフェース７は、ＭＰＵ６とデータバッファ８とのインタフェースである。
【００３２】
また、データバッファ８は、たとえば、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などの揮発性メモリからなり、ＭＰＵ６に設けられたＣＰＵのワークエリアとして用いられる。記憶部側インタフェース９は、ＭＰＵ６とフラッシュメモリ３とのインタフェースであり、エラー検出／訂正回路を備える。
【００３３】
テーブル制御部１０は、フラッシュメモリ３内におけるアドレス変換テーブルの最新データの格納先の検索、アドレス変換テーブル／消去テーブルの読み出し／、更新、アドレス変換テーブル内のアドレス情報の検索、アドレス変換テーブル／消去テーブルのデータ作成、およびアドレス変換などを行う。
【００３４】
ＲＡＭ１１は揮発性メモリからなり、アドレステーブル変換テーブル管理部１２、アドレス変換テーブル格納部１３、消去テーブル管理部１４、消去テーブル格納部１５、システムデータ管理部１６、ならびにシステムデータ格納部１７などを備える。
【００３５】
アドレス変換テーブル管理部１２は、フラッシュメモリ３の格納先、アドレス変換テーブルの状態を管理する。アドレス変換テーブル格納部１３は、フラッシュメモリ３から読み出したアドレス変換テーブルにおける任意のデータを格納する。アドレス変換テーブル格納部１３にはフラッシュメモリ３に格納されているアドレス変換テーブルの全てを読み出して格納しておく必要はなく、その一部のみを格納しておき、格納されているアドレス変換テーブルに登録されていない論理アドレスについてホスト機器２から要求があった場合に、対応するアドレス変換テーブルを読み出すようにする。
【００３６】
消去テーブル管理部１４は、消去可能なデータブロックのアドレス情報を選択するポインタ、および消去テーブルの状態を管理する。消去テーブル格納部１５は、作成した消去テーブルを格納する。
【００３７】
システムデータ管理部１６は、アドレス変換テーブル／消去テーブル以外のシステムデータを管理する。システムデータ格納部１７は、アドレス変換テーブル／消去テーブル以外のシステムデータを格納する。システムデータ管理部１６、およびシステムデータ格納部１７に管理／格納されるシステムデータは、たとえば、不良登録テーブルなどがある。
【００３８】
図３は、フラッシュメモリ３におけるメモリアレイＭＡの構成例を示す説明図である。
【００３９】
メモリアレイＭＡは、たとえば、２つのバンクＢａｎｋ０，Ｂａｎｋ１に分割した２バンク構成からなる。これらバンクＢａｎｋ０，Ｂａｎｋ１には、記憶の最小単位である不揮発性メモリセルが規則正しくアレイ状に並べられており、データの消去は、複数のメモリセル群を一括して消去する。不揮発性メモリセルは、たとえばＡＧ−ＡＮＤ（Ａｓｓｉｓｔ  Ｇａｔｅ  ＡＮＤ）型からなる。
【００４０】
ここでは、消去の最小単位を「ブロック」、書き込みの最小単位を「ページ」とする。また、アドレス変換テーブル／消去テーブルによるアドレスの管理単位を「データブロック」とし、図３においてはバンクＢａｎｋ０とバンクＢａｎｋ１の相対的に同位置となる２つのブロックをあわせてデータブロックとして表しているが、その管理単位は、それぞれバンク毎の１つのブロック毎、またはページ毎としてもよい。
【００４１】
メモリアレイＭＡは、ユーザ領域ＵＲ、不良登録領域ＦＲ、アドレス変換テーブル領域ＡＲ、およびシステムデータ領域ＳＲによって構成されている。
【００４２】
ユーザ領域ＵＲは、ユーザのアクセスが可能であり、ユーザデータなどを格納する領域である。このユーザ領域ＵＲは、アドレス割り当て済みの領域とアドレス未割り当て領域とよりなる。
【００４３】
このアドレス割り当て済みの領域とは、たとえばユーザデータ等の格納の有無とは別に、メモリカード全体の仕様として定められた容量分の領域に対して予め論理アドレスと対応する物理アドレスとを割り当てておく領域であり、アドレス未割り当て領域とは不良ブロックの代替が発生することを見込んでメモリカード全体の仕様として定められた容量以上に有する領域であって、予め論理アドレスに対応して物理アドレスを割り当てていない領域である。
【００４４】
又は予め論理アドレスに対応する物理アドレスを割り当てることはせず、ホスト機器２からのデータの格納要求がある毎に、外部からのデータ格納要求による論理アドレスとそのデータを格納した物理アドレスとを割り当て、外部からのデータの格納要求などにより論理アドレスに対して物理アドレスを割り当てられているか否かにより決定される領域である。外部からの他の要求としては、ホスト機器のＯＳ（オペレーティングシステム）に対応したフォーマット要求であってもよい。
【００４５】
ここで、予めアドレスを割り当てる、とは、たとえば、メモリカード１のベンダーからの出荷段階を基準として、ベンダーによりアドレスを割り当てる処理を行うか、若しくはメモリカード１を使用するユーザの手元においてアドレスを割り当てる処理を行う、のいずれのタイミングであるかを表している。
【００４６】
アドレスを割り当てるタイミングがいずれであったとしても、フラッシュメモリ３にはメモリカード全体の仕様として定められた容量分の領域と、容量以上の領域とを有するようにされ、コントローラ４はフラッシュメモリ３がメモリカード１の全体の仕様として定められた容量以上の領域を有することで、本願発明におけるアドレス管理をすることが可能となる。
【００４７】
不良登録領域ＦＲ、アドレス変換テーブル領域ＡＲ、およびシステムデータ領域ＳＲは、ユーザによるアクセスが不可となった領域である。
【００４８】
不良登録領域ＦＲは、不良登録テーブルを格納する領域である。不良登録テーブルは、ユーザ領域ＵＲにおけるアドレス未割り当て領域の不良ブロックアドレスを管理するテーブルである。
【００４９】
この不良登録領域ＦＲは、固定の領域とはなっておらず、ユーザ領域ＵＲの任意の領域に設けられ、該不良登録領域ＦＲは、アドレス変換テーブルに登録されるアドレスによって管理される。
【００５０】
このように、不良登録領域ＦＲを固定せずにアドレス変換テーブルによって管理することによって、ユーザ領域ＵＲ内で該不良登録領域が任意に変更されることになり、不揮発性メモリセルのディスターブストレスを低減させることができる。
【００５１】
アドレス変換テーブル領域ＡＲは、アドレス変換テーブルを格納する領域である。
【００５２】
アドレス変換テーブルは、ホスト機器２からの論理アドレスをユーザ領域ＵＲにおける物理アドレス変換するテーブルであり、このアドレス変換テーブルには、ユーザ領域ＵＲのアドレス割り当て済み領域のアドレスと不良登録領域ＦＲのアドレスがそれぞれ登録されている。
【００５３】
システムデータ領域ＳＲは、たとえば、ＣＳＤ（Ｃａｒｄ  Ｓｐｅｃｉｆｉｃ  ｄａｔａ：カード特性レジスタ）、ＣＩＤ（Ｃａｒｄ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  Ｎｕｍｂｅｒ：カードＩＤレジスタ）などのメモリカードにおけるシステムデータを格納する領域である。
【００５４】
図４は、アドレス変換テーブル領域ＡＲに格納されるアドレス変換テーブルの一例を示す説明図である。
【００５５】
アドレス変換テーブルは、図４（ａ）に示すように、ブロック毎に作成されたテーブルブロックＴＢから構成されている。テーブルブロックＴＢは、データ部Ｄと管理部Ｋとより構成される。
【００５６】
データ部Ｄは、たとえば、ブロック内のページ数が２で、該ブロックのデータ部を８分割したカラムアドレスＣＡ００〜ＣＡ０７のデータが格納される。管理部Ｋは、対応するブロックの管理情報を格納する領域である。図４では、管理部Ｋがページ毎に１つずつ設けられた構成としたが、該管理部Ｋは、ブロックに１つ設ける構成としてもよい。
【００５７】
データ部Ｄは、各々のカラムアドレスＣＡ００〜Ｃ０７に論理アドレスに対応する物理アドレスが格納されており、データＤに格納されたアドレス情報には、ＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅ）がそれぞれ付加されている。
【００５８】
データ部Ｄに格納されるアドレス情報は、図４（ａ）では論理アドレスＬＢＡ０ｘ００００に対応する物理アドレスとしてＢａｎｋ０のブロックアドレス０ｘ０００２を登録し、論理アドレスＬＢＡ０ｘ０００１に対応する物理アドレスとしてＢａｎｋ１のブロックアドレス０ｘ０００３を登録してあるが、図３の例ではＢａｎｋ０とＢａｎｋ１の２ブロックをあわせて１つのデータブロックを構成していることから、一方のバンクＢａｎｋ０（図３）側のみブロックアドレスを論理アドレスと対応付けて登録、則ち論理アドレスＬＢＡ０ｘ００００に対応する物理アドレスとしてブロックアドレス０ｘ０００２のみを登録してもよい。
【００５９】
また、管理部Ｋは、図４（ｂ）に示すように、カラムアドレスＣＡ００〜Ｃ０３のページに対応する第１管理部Ｋ１とカラムアドレスＣＡ０４〜Ｃ０７のページに対応する第２管理部Ｋ２とからなる。
【００６０】
第１管理部Ｋ１は、良ブロックコードＢＣ、識別コードＳＣ、管理情報ＫＪ１、リンク先アドレスＬＡ、ＥＣＣ格納部ＥＣ１、および管理情報ＫＪ２からなり、第２管理部Ｋ２は、管理情報ＫＪ３、ＥＣＣ格納部ＥＣ２、ならびに管理情報ＫＪ４から構成されている。
【００６１】
良ブロックコードＢＣは、そのページ、あるいはブロックが使用可能であるか否かを識別するコードである。識別コードＳＣは、格納されているデータの属性を示すコードである。
【００６２】
リンク先アドレスＬＡは、バンクＢａｎｋ０とペアで使用するバンクＢａｎｋ１側のブロックアドレスが格納されている。その他の管理情報ＫＪ１〜ＫＪ４は、そのページ、もしくはブロックの属性や情報などを示すコードが格納され、ＥＣＣ格納部ＥＣ１，ＥＣ２には、良ブロックコードＢＣ、管理情報ＫＪ１〜ＫＪ３を保護するＥＣＣ（冗長コード）が格納される。
【００６３】
図５は、消去テーブルの作成例を示す説明図である。
【００６４】
テーブル制御部１０は、ＲＡＭ１１の消去テーブル格納部１５において、各々のビットアサインにユーザ領域ＵＲのブロックアドレスをそれぞれ割り付け、各ブロックアドレス毎に消去フラグ（たとえば、消去可の場合’０’、消去不可の場合’１’）を入力する。
【００６５】
始めに、消去フラグを入力する前は、すべての消去フラグが消去可’０’となっており、アドレス変換テーブルに登録されているアドレス割り当て済みのブロックアドレスについて、消去不可（’１’）の消去フラグを作成する。その後、不良登録テーブルから、不良ブロックのブロックアドレスについて、同様に消去不可（’１’）の消去フラグを作成する。
【００６６】
そして、作成された消去フラグに基づいて、消去可（’０’）になっているブロックアドレスのみをとりだして消去テーブルを作成する。この時、データの書き換え点を示すポインタ（開始点）Ｐが任意に設定される。
【００６７】
データの書き換えが発生した場合、消去テーブルのポインタＰが示しているブロックアドレス（図中’０ｘ０００Ａ’）に対して書き込みを行い、替わりに書き込み以前にデータを格納していたブロックアドレス（図中’０ｘ０００２’）を登録する。
【００６８】
その後、消去テーブルのポインタＰは、次のブロックアドレス（図中’０ｘ０００Ｅ’）を指すように再設定される。ポインタＰは、終端のブロックアドレスまで到達すると、先頭のブロックアドレスまで戻り、以後、同様に循環する。
【００６９】
ポインタＰの設定、および再設定については、例えば乱数により設定するようにしてもよい。ポインタＰを常に消去テーブルの先頭に設定するようにすると、たとえば消去テーブルに登録するアドレスを昇順とした場合は比較的若いアドレスの領域の書換頻度が高くなり、メモリアレイＭＡ内のアドレスにより書換回数に偏りを生じることとなる。乱数によりポインタＰを設定／再設定することで、メモリアレイＭＡ内のアドレスによる書換回数の偏りを抑えることが可能となる。乱数の発生はＭＰＵ６によりソフトウェアにより、又は乱数発生回路を有するように構成すればよい。
【００７０】
また、この消去テーブルに登録されているアドレス未割り当ての領域は、ホストからのコマンド要求があった際、あるいはメモリカード１がアイドル状態の際にＭＰＵ６によりプレイレーズが可能となっている。
【００７１】
次に、本実施の形態におけるメモリカード１のリセット処理における消去テーブルの作成シーケンスについて、図６のフローチャートを用いて説明する。
【００７２】
まず、パワーオンリセットが解除され、ＭＰＵ６が始動すると、プログラムパッチなどのシステムの基本情報がロードされる（ステップＳ１０１）。その後、テーブル制御部１０は、アドレス変換テーブルの管理部Ｋ（図４）を読み出し、アドレス変換テーブルにおける各テーブルブロックが最新であるか（そのページ、あるいはブロックが使用可能であるか）を検索する（ステップＳ１０２）。
【００７３】
その後、アドレス変換テーブルにおける最新のテーブルブロックを読み出し（ステップＳ１０３）、登録されているアドレス割り当て済みのブロックアドレスについて消去不可（’１’）の消去フラグに更新する。
【００７４】
続いて、アドレス変換テーブルから、不良登録テーブルの格納先を獲得し、不良登録テーブルを読み出し（ステップＳ１０４）、該不良登録テーブルに登録されているブロックアドレスについて消去不可（’１’）の消去フラグに更新する。以上の消去フラグ更新の処理によって、消去テーブルを作成し（ステップＳ１０５）、該消去テーブルを消去テーブル格納部１５に格納した後、残りのリセット処理を行い終了となる。
【００７５】
次に、メモリカード１における書き込み動作について、図７のフローチャートを用いて説明する。
【００７６】
まず、ホスト機器２から書き込み要求があると、テーブル制御部１０は、図６において作成した消去テーブルから、アドレス未割り当てのブロックアドレスを検索する（ステップＳ２０１）。本例では、図５に示したように、未割り当てのブロックアドレスの候補がポインタＰによって指されている。
【００７７】
ステップＳ２０１の処理において、未割り当てのブロックアドレスがない場合には（ステップＳ１０２）、ＭＰＵ６は、ホスト機器２に対してエラー通知を行い（ステップＳ２０３）、処理を終了する。
【００７８】
また、ステップＳ２０１の処理において、未割り当てのブロックアドレスが存在する場合、テーブル制御部１０は、ＲＡＭ１１のアドレス変換テーブル格納部１３（図２）にホスト機器２から要求された論理アドレスに対応するアドレス変換テーブルがアドレス変換テーブル格納部１３に格納されているか、否かを検索する（ステップＳ２０４）。
【００７９】
ステップＳ２０４の処理において、対応するアドレス変換テーブルが格納されていない場合には、テーブル制御部１０は、対応するアドレス変換テーブルをフラッシュメモリ３のアドレス変換テーブル領域ＡＲから読み出す（ステップＳ２０５）。
【００８０】
ステップＳ２０４の処理において、対応するアドレス変換テーブルがない場合、またはステップ２０５の処理後、消去テーブルにおけるアドレス未割り当てのブロックアドレスに該当する管理部Ｋのデータをアドレス変換テーブルから読み出して（ステップＳ２０６）ブロック状態をチェックする。
【００８１】
そして、書き込みデータの格納場所がブロック境界か否かを判断する（ステップＳ２０７）。ブロック境界でない場合には、アドレス割り当て済みの旧データブロックの管理部Ｋを読み出し（ステップＳ２０８）、該データブロックのデータをフラッシュメモリ３内のバッファに一時的に待避させる（ステップＳ２０９）。ここでは、フラッシュメモリ３にデータ待避用のバッファを備えているものとした場合である。
【００８２】
ステップＳ２０７の処理において、書き込みデータの格納場所がブロック境界の場合、またはステップＳ２０８の処理後、データを書き込む未割り当てのデータブロックの消去、およびフラッシュメモリ３のバッファへのデータ書き込みを行う（ステップＳ２１０）。
【００８３】
続いて、未割り当てのデータブロックにデータ書き込みを行った後（ステップＳ２１１）、ＲＡＭ１１、およびフラッシュメモリ３に格納されているアドレス変換テーブルをそれぞれ更新（ステップＳ２１２）し、続いてＲＡＭ１１における消去テーブルを更新して（ステップＳ２１３）書き込み処理が終了となる。
【００８４】
次に、書き込み処理などにおいてエラーが発生した際の不良ブロックの登録処理について、図８のフローチャートを用いて説明する。
【００８５】
まず、書き込み処理でエラーが発生すると（ステップＳ３０１）、消去テーブルの検索を行い、新たにデータを書き込むデータブロックを検索し（ステップＳ３０２）、検索した新たなデータブロックに対してデータの書き込み処理（図７）を行う（ステップＳ３０３）。
【００８６】
その後、たとえば、良セクタコードに不良かを示すフラグを書き込み、エラーが発生したデータブロックを不良化する（ステップＳ３０４）。そして、不良登録テーブルをフラッシュメモリ３から読み出す（ステップＳ３０５）。
【００８７】
続いて、不良化したデータブロックのアドレスを不良登録テーブルに登録して更新した後（ステップＳ３０６）、ＲＡＭ１１、およびフラッシュメモリ３のアドレス変換テーブルをそれぞれ更新し（ステップＳ３０７）、該不良登録テーブルの更新に伴う消去テーブルの更新を行う（ステップＳ３０７）。この時、消去テーブルにおけるポインタＰの指すエントリには、そのエントリに格納されていたデータブロックが不良化したことを示す値を格納した後、消去テーブルにおけるポインタＰは、次のアドレスに移動することになる。
【００８８】
それにより、本実施の形態によれば、アドレス変換テーブルと不良登録テーブルとから消去テーブルを作成するので、該消去テーブルの作成処理時間を大幅に短縮することができるとともに、消去テーブルの管理を容易にすることができる。
【００８９】
また、消去テーブルをＲＡＭ１１において管理するので、消去テーブルの更新によるフラッシュメモリ３の書き換え回数を大幅に低減することが可能となり、該フラッシュメモリ３の性能低下を抑えることができ、メモリカードの信頼性を高めることができる。
【００９０】
また、本実施の形態では、アドレス変換テーブル管理部１２、消去テーブル管理部１４、および消去テーブル格納部１５を、ＭＰＵ６に外部接続されたＲＡＭ１１に設けた構成としたが、たとえば、図９に示すように、ＭＰＵ６内にＲＡＭ（揮発性半導体メモリ）１１ａを設け、該ＲＡＭ１１ａにアドレス変換テーブル管理部１２、消去テーブル管理部１４、消去テーブル格納部１５、ならびにシステムデータ格納部１７を備える構成としてもよい。また、図９において、フラッシュメモリ３（図１）がアクセスするアドレス変換テーブル格納部１３、およびシステムデータ格納部１７は、外部ＲＡＭに設けられる構成とする。
【００９１】
これにより、ＲＡＭ１１ａへのアクセスを高速化することができ、消去テーブルの作成処理時間などをより大幅に短縮することができる。
【００９２】
また、図１０は、アドレス変換テーブル領域ＡＲ（図３）に格納されるアドレス変換テーブルの他の例を示す説明図である。
【００９３】
この場合、アドレス変換テーブルにおける第１管理部Ｋ１、および第２管理部Ｋ２にＣＡコードＣＤがそれぞれ備えられ、その他構成は、図４に示すアドレス変換テーブルと同様の構成となっている。このＣＡコードＣＡＤには、カラムアドレスＣＡ００〜ＣＡ０７のうち、どこまでのカラムアドレスがアドレス割り当て済みであるかが登録される。
【００９４】
第１管理部Ｋ１のＣＡコードＣＡＤは、カラムアドレスＣＡ００〜ＣＡ０３に対応するフラグがたてられるＣＡＮｏ．’００’〜’０３’を有し、第２管理部Ｋ２のＣＡコードＣＡＤは、カラムアドレスＣＡ０４〜ＣＡ０７に対応するフラグがたてられるＣＡＮｏ．’０４’〜’０７’を有する。
【００９５】
たとえば、カラムアドレスＣＡ００〜ＣＡ０２にデータが格納されている（アドレス割り当て済み）場合、図示するように、第１管理部Ｋ１におけるＣＡコードＣＡＤには、ＣＡＮｏ．’００’〜’０２’にそれぞれフラグがたてられることになる。
【００９６】
それにより、管理部ＫのＣＡコードＣＡＤを読み出すことによって、データが格納されているカラムアドレスをより短時間で検索することができる。
【００９７】
図１１は、ＲＡＭメモリアレイ部ＭＡｒを備えたフラッシュメモリ（不揮発性半導体メモリ）３ａの構成例を示したブロック図である。
【００９８】
この場合、フラッシュメモリ３ａは、テーブル制御部１０、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）インタフェース１８、シーケンサ、バッファ、電源回路、デコーダなどからなる周辺回路１９、およびメモリアレイなどから構成される。
【００９９】
メモリアレイは、不揮発性メモリセルからなるメモリアレイＭＡと、揮発性メモリセルからなるＲＡＭメモリアレイ部ＭＡｒとから構成され、該ＲＡＭメモリアレイ部ＭＡｒに、アドレス変換テーブル管理部１２、アドレス変換テーブル格納部１３、消去テーブル管理部１４、消去テーブル格納部１５、システムデータ管理部１６、ならびにシステムデータ格納部１７などの備える構成からなる。
【０１００】
このように、テーブル制御部１０、およびアドレス変換テーブル、消去テーブルなどの格納管理をフラッシュメモリ３ａで行うことができるので、コントローラ４の制御負荷を低減することができる。
【０１０１】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【０１０２】
たとえば、前記実施の形態においては、不良登録領域ＦＲ（図３）の領域を固定せずに、アドレス変換テーブルによって管理する構成としたが、図１２に示すように、フラッシュメモリ３におけるメモリアレイＭＡのユーザ領域ＵＲ以外の任意領域に不良登録領域ＦＲを固定して備えるようにしてもよい。
【産業上の利用可能性】
【０１０３】
本発明のメモリカードにおけるデータの書き込み制御技術は、不揮発性半導体メモリの性能低下を抑える技術に適している。
【図面の簡単な説明】
【０１０４】
【図１】本発明の一実施の形態による記憶システムのブロック図である。
【図２】図１の記憶システムを構成するメモリカードに設けられたコントローラのブロック図である。
【図３】図１の記憶システムを構成するメモリカードに設けられたフラッシュメモリにおけるメモリアレイの構成例を示す説明図である。
【図４】図３のメモリセルアレイにおけるアドレス変換テーブル領域に格納されるアドレス変換テーブルの一例を示す説明図である。
【図５】図２のコントローラに設けられたＲＡＭに格納される消去テーブルの作成例を示す説明図である。
【図６】図１のメモリカードのリセット処理における消去テーブルの作成シーケンスを示すフローチャートである。
【図７】図１のメモリカードにおける書き込み動作を示すフローチャートである。
【図８】図７の書き込み処理時においてエラーが発生した際の不良ブロックの登録処理を示すフローチャートである。
【図９】図２のコントローラにおける他の構成例を示すブロック図である。
【図１０】本発明の一実施の形態によるアドレス変換テーブル領域に格納されるアドレス変換テーブルの他の例を示す説明図である。
【図１１】本発明の一実施の形態によるフラッシュメモリの他の構成例を示すブロック図である。
【図１２】本発明の一実施の形態によるフラッシュメモリにおけるメモリアレイの他の構成例を示す説明図である。
【符号の説明】
【０１０５】
１  メモリカード
２  ホスト機器
３，３ａ  フラッシュメモリ（不揮発性半導体メモリ）
４  コントローラ
５  ホスト側インタフェース
６  ＭＰＵ
７  バッファインタフェース
８  データバッファ
９  記憶部側インタフェース
１０  テーブル制御部
１１，１１ａ  ＲＡＭ（揮発性半導体メモリ）
１２  アドレステーブル変換テーブル管理部
１３  アドレス変換テーブル格納部
１４  消去テーブル管理部
１５  消去テーブル格納部
１６  システムデータ管理部
１７  システムデータ格納部
１８  Ｉ／Ｏインタフェース
１９  周辺回路
ＭＡ  メモリアレイ
ＭＡｒ  ＲＡＭメモリアレイ部
Ｂａｎｋ０，Ｂａｎｋ１  バンク
ＵＲ  ユーザ領域
ＦＲ  不良登録領域
ＡＲ  アドレス変換テーブル領域
ＳＲ  システムデータ領域
ＴＢ  テーブルブロック
Ｄ  データ部
Ｋ  管理部
Ｋ１  第１管理部
Ｋ２  第２管理部
ＢＣ  良ブロックコード
ＳＣ  識別コード
ＫＪ１〜ＫＪ４  管理情報
ＬＡ  リンク先アドレス
ＥＣ１，ＥＣ２  ＥＣＣ格納部
Ｐ  ポインタ
【図１】
2006039886.tif 000003
【図２】
2006039886.tif 000004
【図３】
2006039886.tif 000005
【図４】
2006039886.tif 000006
【図５】
2006039886.tif 000007
【図６】
2006039886.tif 000008
【図７】
2006039886.tif 000009
【図８】
2006039886.tif 000010
【図９】
2006039886.tif 000011
【図１０】
2006039886.tif 000012
【図１１】
2006039886.tif 000013
【図１２】
2006039886.tif 000014