(57)【特許請求の範囲】
【請求項１】
複数のデータブロックと、前記複数のデータブロックの管理情報を格納する管理ブロックとを含み、各ブロックはデータ消去の単位でありかつ複数のページから構成される、不揮発性メモリと、
前記複数のページにシーケンシャルにデータを書き込むコントローラと、
を具備し、
前記コントローラは、
起動時に電源遮断による前記不揮発性メモリへの影響を確認し、
前記管理ブロック内に電源遮断による影響がない場合、前記管理ブロックのうち書き込み済みの最終ページの次の第１のページにデータを追記し、
前記管理ブロック内に電源遮断による影響がある場合、前記最終ページから予め設定されたページ数だけ離れた第２のページにデータを追記する、
ことを特徴とするメモリシステム。
【請求項２】
前記コントローラは、前記第１のページのデータを確認し、前記第１のページが消去状態でない場合に、電源遮断による影響があると判断することを特徴とする請求項１に記載のメモリシステム。
【請求項３】
前記コントローラは、電源遮断による影響がある場合、前記第１のページを無効化することを特徴とする請求項１又は２に記載のメモリシステム。
【請求項４】
前記複数のページの各々は、無効化されたか否かを示すフラグを格納するビットを含み、
前記コントローラは、ページを無効化する場合に、前記フラグをセットすることを特徴とする請求項３に記載のメモリシステム。
【請求項５】
前記管理ブロックのデータに対してエラーの有無をチェックするＥＣＣ回路をさらに具備し、
前記最終ページは、前記管理ブロック内のエラーがないページのうち最上位のページであることを特徴とする請求項１乃至４のいずれかに記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリシステムに係り、例えば、ＮＡＮＤ型フラッシュメモリ等の不揮発性メモリを備えたメモリシステムに関する。
【背景技術】
【０００２】
近年、音楽データ、画像データ、或いは映像データ等を扱う携帯機器の記憶装置として、ＮＡＮＤ型フラッシュメモリ等の不揮発性メモリが使用されている。携帯機器としては、携帯電話、デジタルカメラ、ＰＤＡ（personal digital assistant）等があげられる。このような携帯機器は、通常、バッテリ駆動であるため、動作中にバッテリの電力低下により、例えばデータの書き込み中に電源遮断が発生することがある。
【０００３】
また、パーソナルコンピュータ等に接続されて使用されるＵＳＢ（universal serial bus）メモリ等にも、ＮＡＮＤ型フラッシュメモリ等の不揮発性メモリが使用されている。ＵＳＢメモリは、パーソナルコンピュータから簡単に取り外せる構造になっているものが多く、データの書き込み中にユーザが誤ってＵＳＢメモリを引き抜いてしまうことがある。これにより、上記同様、例えばデータの書き込み中に電源遮断が発生することがある。
【０００４】
ここで、ＮＡＮＤ型フラッシュメモリを構成するメモリセルトランジスタは、半導体基板上にトンネル絶縁膜を介して電荷蓄積を目的とする浮遊ゲート電極、ゲート間絶縁膜、制御ゲート電極が順に積層形成された積層ゲート構造を有している。そして、メモリセルトランジスタにデータを書き込む際には、浮遊ゲート電極に徐々に電荷を注入していき、メモリセルトランジスタのしきい値電圧を制御する。一方で、ＮＡＮＤ型フラッシュメモリのデータを書き換えるためには、一度データを消去した後、新たなデータを書き込まなければならない。
【０００５】
ＮＡＮＤ型フラッシュメモリは、このような特性を有するため、電荷を注入している最中に電源遮断が発生すると、そのメモリセルトランジスタには、次の起動時に続けてデータの書き込みができなくなる。仮に、同じメモリセルトランジスタにデータを書き込んだ場合には、データの信頼性が得られない。
【０００６】
従って、データ書き込み中に電源遮断が発生した場合、次の起動時に、データ消去済みの新たなブロックを用意し、この新たなブロックに旧ブロックのデータをコピーしなければならない。この結果、データの書き換え処理が多発するため、オーバーヘッドが増加し、さらに、書き換え回数に制限があるフラッシュメモリ等では寿命が短くなってしまう。
【０００７】
また、この種の関連技術として、ブロックを上書きしている途中に強制的な中断が発生した場合でも、データの信頼性を保つ技術が開示されている（特許文献１参照）。
【特許文献１】特開２００３−１５９２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、データの書き込み中に電源遮断が発生した場合でも、データの書き換え回数を低減することが可能なメモリシステムを提供する。
【課題を解決するための手段】
【０００９】
本発明の一視点に係るメモリシステムは、複数のデータブロックと、前記複数のデータブロックの管理情報を格納する管理ブロックとを含み、各ブロックはデータ消去の単位でありかつ複数のページから構成される、不揮発性メモリと、前記複数のページにシーケンシャルにデータを書き込むコントローラとを具備し、前記コントローラは、起動時に電源遮断による前記不揮発性メモリへの影響を確認し、前記管理ブロック内に電源遮断による影響がない場合、前記管理ブロックのうち書き込み済みの最終ページの次の第１のページにデータを追記し、前記管理ブロック内に電源遮断による影響がある場合、前記最終ページから予め設定されたページ数だけ離れた第２のページにデータを追記する。
【発明の効果】
【００１０】
本発明によれば、データの書き込み中に電源遮断が発生した場合でも、データの書き換え回数を低減することが可能なメモリシステムを提供することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態について図面を参照して説明する。なお、以下の説明において、同一の機能及び構成を有する要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
【００１２】
本実施形態では、メモリシステムとしてメモリカードを一例に説明する。メモリカードは、例えば、ホスト装置に対して着脱可能なように構成される。しかし、本発明はメモリカードに限定されるものではなく、メモリシステム及びホスト装置を１つのＬＳＩ（Large-Scale Integrated Circuit）として構成してもよい。すなわち、ホスト装置が実装されたプリント基板上に、メモリシステムを構成するコントローラ及び不揮発性半導体メモリが実装されるように構成されていてもよい。
【００１３】
図１は、本発明の一実施形態に係るメモリシステム（メモリカード）１の構成を示す概略図である。メモリカード１は、ホスト装置２に接続された時に電源供給を受けて動作し、ホスト装置２からの要求に応じたアクセス処理を行う。ホスト装置２は、バスインターフェース１４を介して接続されるメモリカード１に対してアクセスを行うためのハードウェア及びソフトウェアを備えている。
【００１４】
メモリカード１は、ホスト装置２との間でバスインターフェース１４を介してデータの授受を行う。メモリカード１は、不揮発性メモリの一種であるＮＡＮＤ型フラッシュメモリ１１、ＮＡＮＤ型フラッシュメモリ１１を制御するコントローラ１２、及び信号ピン群（第１ピン乃至第９ピン）１３を備えている。なお、不揮発性メモリとしては、ＮＡＮＤ型フラッシュメモリ１１に限定されず、本実施形態に沿う様々な種類の不揮発性メモリを使用することが可能である。
【００１５】
信号ピン群１３は、コントローラ１２と電気的に接続されている。信号ピン群１３に含まれる第１ピン乃至第９ピンに対する信号の割り当ては、例えば図２に示すようになっている。図２は、信号ピン群１３に含まれる第１ピン乃至第９ピンと、それらに割り当てられた信号との関係を示す図である。
【００１６】
データ０乃至データ３は、第７ピン、第８ピン、第９ピン、及び第１ピンにそれぞれ割り当てられている。第１ピンは、また、カード検出信号に対しても割り当てられている。第２ピンはコマンドＣＭＤに割り当てられ、第３ピン及び第６ピンは接地電圧Ｖｓｓに、第４ピンは電源電圧Ｖｄｄに、第５ピンはクロック信号ＣＬＫに割り当てられている。このように、メモリカード１は、ホスト装置２からピンを介して電源電圧Ｖｄｄ及び接地電圧Ｖｓｓの供給を受ける。
【００１７】
メモリカード１は、ホスト装置２に設けられたスロットに対して挿抜可能なように構成されている。ホスト装置２に設けられたホストコントローラ（図示せず）は、これら第１ピン乃至第９ピンを介してメモリカード１内のコントローラ１２と各種信号及びデータを通信する。
【００１８】
例えば、メモリカード１にデータが書き込まれる際には、ホストコントローラは、書き込みコマンドを、第２ピンを介してコントローラ１２にシリアルな信号として送る。このとき、コントローラ１２は、第５ピンに供給されるクロック信号ＣＬＫを用いて、第２ピンに与えられる書き込みコマンドを取り込む。その後、ホストコントローラは、第７ピン、第８ピン、第９ピン、及び第１ピンを介して書き込みデータをコントローラ１２に送る。このように、信号ピン群１３とそれに対するバスインターフェース１４とは、ホスト装置２内のホストコントローラとメモリカード１とが通信するのに使用される。
【００１９】
これに対し、ＮＡＮＤ型フラッシュメモリ１１とコントローラ１２との間の通信は、ＮＡＮＤ型フラッシュメモリ用のインターフェースによって行われる。従って、ここでは図示しないが、ＮＡＮＤ型フラッシュメモリ１１とコントローラ１２とは例えば８ビットの入出力（Ｉ／Ｏ）線により接続されている。
【００２０】
例えば、コントローラ１２がＮＡＮＤ型フラッシュメモリ１１にデータを書き込む際には、コントローラ１２は、これらＩ／Ｏ線を介してデータ入力コマンド８０Ｈ、カラムアドレス、ページアドレス、データ、及びプログラムコマンド１０ＨをＮＡＮＤ型フラッシュメモリ１１に順次入力する。ここで、コマンド８０Ｈの“Ｈ”は１６進数を示すものであり、実際には“１０００００００”という８ビットの信号が、８ビットのＩ／Ｏ線にパラレルに与えられる。つまり、このＮＡＮＤ型フラッシュメモリ用のインターフェースでは、複数ビットのコマンドがパラレルに与えられる。
【００２１】
また、ＮＡＮＤ型フラッシュメモリ用のインターフェースでは、ＮＡＮＤ型フラッシュメモリ１１に対するコマンドとデータとが同じＩ／Ｏ線を共用して通信されている。このように、ホスト装置２内のホストコントローラとメモリカード１とが通信するインターフェースと、ＮＡＮＤ型フラッシュメモリ１１とコントローラ１２とが通信するインターフェースとは異なっている。
【００２２】
次に、図１に示すメモリカード１が備えるコントローラ１２の内部構成について説明する。図３は、コントローラ１２の構成を示すブロック図である。
【００２３】
コントローラ１２は、ＮＡＮＤ型フラッシュメモリ１１内部の物理状態（例えば、何処の物理ブロックアドレスに、何番目の論理セクタアドレスのデータが含まれているか、或いは、何処のブロックが消去状態であるか）を管理する。コントローラ１２は、ホストインターフェース回路（ホストＩ／Ｆ）２１、メモリインターフェース回路（メモリＩ／Ｆ）２２、ＭＰＵ（Micro processing unit）２３、ＲＯＭ（Read-only memory）２４、ＲＡＭ（Random access memory）２５、バッファ２６、及びＥＣＣ（Error Check and Correct）回路２７を備えている。
【００２４】
ホストインターフェース回路２１は、コントローラ１２とホスト装置２との間のインターフェース処理を行う。
【００２５】
ＭＰＵ２３は、メモリカード１全体の動作を制御する。ＭＰＵ２３は、例えばメモリカード１が電源供給を受けたときに、ＲＯＭ２４に格納されているファームウェア（制御プログラム）をＲＡＭ２５上に読み出して所定の処理を実行することにより、各種のテーブルをＲＡＭ２５上に作成する。また、ＭＰＵ２３は、ホスト装置２から書き込みコマンド、読み出しコマンド、消去コマンド等を受け取り、ＮＡＮＤ型フラッシュメモリ１１に対して所定の処理を実行したり、バッファ２６を通じたデータ転送処理を制御したりする。
【００２６】
ＲＯＭ２４は、ＭＰＵ２３により制御される制御プログラム等を格納する。ＲＡＭ２５は、ＭＰＵ２３の作業エリアとして使用され、ＲＯＭ２４からロードされた制御プログラムや各種のテーブル（表）を記憶する。メモリインターフェース回路２２は、コントローラ１２とＮＡＮＤ型フラッシュメモリ１１との間のインターフェース処理を行う。
【００２７】
バッファ２６は、ホスト装置２から送られてくるデータをＮＡＮＤ型フラッシュメモリ１１に書き込む際に、ホストインターフェースに基づく一定量のデータを一時的に記憶したり、ＮＡＮＤ型フラッシュメモリ１１から読み出されるデータをホスト装置２へ送り出す際に、一定量のデータを一時的に記憶したりする。
【００２８】
ＥＣＣ回路２７は、ホスト装置２から送られる書き込みデータに対しては、所定のビット数からなるデータ部分ごとにエラー訂正符号を生成する。各エラー訂正符号は、これに対応するデータ部分とともにＮＡＮＤ型フラッシュメモリ１１に格納される。また、ＥＣＣ回路２７は、ＮＡＮＤ型フラッシュメモリ１１から送られる読み出しデータに対しては、エラー訂正符号を用いて、データ部分ごとにエラーの検出及び訂正を行う。エラーの訂正を行った後、ＥＣＣ回路２７は、エラー訂正符号を取り除いた状態でデータをバッファ２６に送る。従って、ホスト装置２には、エラー訂正符号を含まない読み出しデータがメモリカード１から送られる。
【００２９】
ＮＡＮＤ型フラッシュメモリ１１は、データ消去単位である複数のブロックを備えている。各ブロックは、データ書き込み単位（或いは、データ読み出し単位）である複数のページから構成される。
【００３０】
各ブロックは、行方向に沿って順に配列された複数のＮＡＮＤストリングを備えている。各ＮＡＮＤストリングは、２個の選択トランジスタと、これらの間に直列に接続された複数個のメモリセルトランジスタから構成されている。
【００３１】
各メモリセルトランジスタは、半導体基板上に形成された積層ゲート構造を備えたＭＯＳＦＥＴ（metal oxide semiconductor field effect transistor）から構成される。積層ゲート構造は、半導体基板上にゲート絶縁膜を介在して形成された電荷蓄積層（浮遊ゲート電極）、及び電荷蓄積層上にゲート間絶縁膜を介在して形成された制御ゲート電極を含んでいる。各メモリセルトランジスタは、浮遊ゲート電極に蓄えられる電子の数に応じてしきい値電圧Ｖｔｈが変化し、このしきい値電圧Ｖｔｈの違いに応じてデータを記憶する。
【００３２】
各ブロックにおいて同一行に配列された複数のメモリセルトランジスタの制御ゲート電極は、同一のワード線に接続される。この同一のワード線に接続される複数のメモリセルトランジスタは１ページとして取り扱われ、このページごとにデータの書き込み及びデータの読み出しが行われる。また、複数のページから構成されるブロック単位でデータの消去が行われる。
【００３３】
ＮＡＮＤ型フラッシュメモリ１１は、ページ単位の書き換えはできず、ブロック全体を消去してから書き込みを行わなければならない。よって、ＮＡＮＤ型フラッシュメモリ１１にデータを書き込む場合、消去済みのブロックを用意し、そこに書き換えたいページと、ブロック内で書き換えを行わないデータとをコピーする制御が発生する。すなわち、新たなブロックへのデータのコピー処理が発生する。
【００３４】
このような制御が行われるため、ブロックの特定はホスト装置２が発行するブロックアドレスによっては一義的に決まらない。なお、ホスト装置２が発行し、且つホスト装置２側で管理されているブロックアドレスを論理ブロックアドレスと称する。また、ＮＡＮＤ型フラッシュメモリ１１側の実際のブロックアドレスを物理ブロックアドレスと称する。
【００３５】
このように、論理ブロックアドレスと物理ブロックアドレスとは一致せず、アドレス変換テーブルにより論理ブロックアドレスを物理ブロックアドレスに変換した後、物理ブロックアドレスに基づいて実際にアクセスすべきブロックが特定される。
【００３６】
また、データを書き換える場合、書き換え後のデータは書き換え前のブロックと異なるブロックに書き込まれるため、論理ブロックアドレスと、この論理ブロックアドレスに対応する物理ブロックアドレスとの対応関係は、データを書き換える毎に動的に変化する。よって、アドレス変換テーブルは、データが書き換えられる毎に、その書き換えに関わった部分の対応関係が更新される。
【００３７】
図４は、メモリセルトランジスタのしきい値電圧分布を示す図である。図４において、横軸がしきい値電圧Ｖｔｈを示し、縦軸がメモリセルトランジスタの数（セル数）を示す。以下、１個のメモリセルトランジスタが１ビットの情報を記憶する例を説明するが、これに限定されず、１個のメモリセルトランジスタが２ビット以上の複数ビットを記憶する多値メモリであってもよい。
【００３８】
メモリセルトランジスタは、浮遊ゲート電極への電荷注入によって、しきい値電圧Ｖｔｈを高くすることで情報を記憶する。図４に示すように、“１”データを記憶するメモリセルトランジスタは、電荷を注入していない状態（消去状態）であり、これのしきい値電圧は所定の電圧Ｖｔｈ１より小さい。一方、“０”データを記憶するメモリセルトランジスタは、電荷が注入された状態（書き込み状態）であり、これのしきい値電圧は電圧Ｖｔｈ１より大きい。すなわち、メモリセルトランジスタに“１”データを書き込む場合は、浮遊ゲート電極に電荷を注入しないようにする（消去状態を維持するようにする）。一方、メモリセルトランジスタに“０”データを書き込む場合は、浮遊ゲート電極に電荷を注入する（書き込み状態に設定する）。このようにして、メモリセルトランジスタに“１”データ或いは“０”データを記憶させることができる。
【００３９】
図５は、ＮＡＮＤ型フラッシュメモリ１１の記憶領域の構造を示す概略図である。各ページは、例えば２１１２バイト（Ｂ）（５１２Ｂ分のデータ領域×４＋１０Ｂ分のＥＣＣ領域×４＋２４Ｂ分の管理データ領域）を有しており、例えば１２８ページ分がデータ消去単位であるブロック（２５６ｋＢ＋８ｋＢ（ここで、ｋは１０２４））を構成している。ＮＡＮＤ型フラッシュメモリ１１は、ページ単位でデータを保持するページバッファを備えており、本実施形態では、ページバッファの記憶容量は、２１１２Ｂ（２０４８Ｂ＋６４Ｂ）である。
【００４０】
ところで、ＮＡＮＤ型フラッシュメモリ１１は、データブロック及び管理ブロックを備えている。図６は、ＮＡＮＤ型フラッシュメモリ１１に含まれるデータブロック及び管理ブロックを説明する概略図である。
【００４１】
データブロックは、ＮＡＮＤ型フラッシュメモリ１１内に複数個存在し、ユーザデータ（ユーザが読み書きすることが可能な文書、静止画、動画などのデータ）を格納するために使用される。すなわち、複数のデータブロックは、ユーザデータ領域を構成している。
【００４２】
各データブロックは、１２８個のデータページ０〜１２７から構成される。各データページは、５１２バイトデータを格納するデータ領域を４個分含むとともに、４個のデータ領域にそれぞれ対応する４個のエラー訂正符号を格納しかつそれぞれが１０バイトの４個のＥＣＣ領域を含んでいる。また、データページ中の最後のデータ領域（４番目のデータ領域）の後には、２４バイトの管理データ領域が設けられている。このため、データページ中の最後のＥＣＣ領域（４番目のＥＣＣ領域）は、４番目のデータ領域及び管理データ領域の両方に対応する構成となっている。各ページの管理データ領域には、論理ブロックアドレスや物理ブロックアドレス等を含む当該ページの管理データが格納される。
【００４３】
管理ブロックは、複数の管理ページ（例えば１２８個の管理ページ０〜１２７）から構成される。この管理ブロックは、ＮＡＮＤ型フラッシュメモリ１１に関する種々な管理情報（基本的にはユーザが自由に読み書きすることができず、ＮＡＮＤ型フラッシュメモリ１１の起動時等にホスト装置２やコントローラ１２が使用する情報）を一括して記憶する特別なブロックである。
【００４４】
管理ブロックには、前述したアドレス変換テーブルの他に、各々のデータブロックに対して、エラーを有するデータブロック（バッドブロック）であるか否か、空きブロックであるか否か、等の管理情報も格納される。この管理情報は頻繁に更新されるため、管理ブロックには、更新された管理情報が頻繁に追記される。
【００４５】
また、ＮＡＮＤ型フラッシュメモリ１１が大容量化すると、各ブロックを管理するための管理情報は、そのデータ量が大きくなる。このため、データの転送時間を削減する目的で、複数のデータブロックから構成されるユーザデータ領域は、複数に分割して管理される。本実施形態では、一例として、ＮＡＮＤ型フラッシュメモリ１１の記憶容量が８ＧＢで、この８ＧＢを１ＧＢ毎の領域に分割して管理情報を記録する。図７は、ユーザデータ領域の構成を示す概略図である。
【００４６】
ユーザデータ領域は、それぞれが１ＧＢの記憶容量を有する８個の領域（領域０〜７）から構成されている。領域０〜７はそれぞれ、管理情報０〜７を用いて管理されている。これらの管理情報０〜７はそれぞれ、管理ブロックに含まれる管理ページに格納されている。図８は、管理情報が格納された管理ブロックを説明する概略図である。
【００４７】
例えば、デフォルトとして、管理ページ０〜７にはそれぞれ、管理情報０〜７が格納されている。そして、ユーザデータ領域内でデータの書き換えが発生する毎に、書き換えが発生した物理アドレスを含む領域の管理情報が更新され、この更新された管理情報が管理ブロックに追記されていく。
【００４８】
次に、このように構成されたメモリカード１の動作について説明する。図９は、メモリカード１（具体的には、コントローラ１２）の動作を示すフローチャートである。
【００４９】
メモリカード１がホスト装置２から電源供給を受けることで（ステップＳ１０１）、メモリカード１が起動する。メモリカード１が起動すると、コントローラ１２は、管理ブロック内の複数の管理ページのうち、前回の通電時に最後に書き込みを行った管理ページ（最終管理ページ）を検索する（ステップＳ１０２）。この検索方法としては、例えば、ＥＣＣ回路２７を用いて管理ブロック内の各管理ページに対してエラーの検出を行う。そして、エラーが検出されなかった管理ページのうち、最上位の管理ページを最終管理ページと判断する。
【００５０】
続いて、コントローラ１２は、最終管理ページの次の管理ページの全データを読み出す（ステップＳ１０３）。続いて、コントローラ１２は、最終管理ページの次の管理ページのデータが全て“１”データであるか否か、すなわち、最終管理ページの次の管理ページが消去状態であるか否かを判定する（ステップＳ１０４）。
【００５１】
ステップＳ１０４において全て“１”データであると判定された場合、コントローラ１２は、前回の電源遮断によるＮＡＮＤ型フラッシュメモリ１１への影響がないと判断する。電源遮断によるＮＡＮＤ型フラッシュメモリ１１への影響は、電源遮断の影響を判断する対象である管理ページ（最終管理ページの次の管理ページ）に、正確にデータが書き込めるか否かで判断される。
【００５２】
すなわち、ある管理ページにデータを書き込んでいる最中に電源が遮断される（或いは、電源が供給された状態でホスト装置２からメモリカード１が引き抜かれる）と、一部のメモリセルトランジスタのしきい値電圧Ｖｔｈが電圧Ｖｔｈ１より高くなっており、この一部のメモリセルトランジスタは、“０”データを記憶していると判断される。この一部のメモリセルトランジスタは、管理ブロック全体を一括して消去しないかぎり、消去状態に戻せない。このため、上記一部のメモリセルトランジスタに“１”データを書き込むことができない。従って、電源遮断の影響がある管理ページには、正確にデータを書き込むことができないことになる。
【００５３】
電源遮断の影響がないと判断された場合、コントローラ１２は、最終管理ページの次の管理ページに、更新された管理情報を追記する（ステップＳ１０５）。続いて、コントローラ１２は、追記された管理情報に対してベリファイを実行する。すなわち、コントローラ１２は、最終管理ページの次の管理ページに追記された管理情報を読み出す（ステップＳ１０６）。そして、コントローラ１２は、最終管理ページの次の管理ページから読み出した管理情報と、実際に更新された管理情報（期待値）とを比較する（ステップＳ１０７）。
【００５４】
ステップＳ１０７による比較の結果、読み出した管理情報と期待値とが同じであると判定された場合（ステップＳ１０８）、更新された管理情報が正確に管理ブロックに記憶されたと判断する。以後、コントローラ１２は、管理情報が更新されるごとに、この更新された管理情報を管理ブロックに追記する。
【００５５】
一方、ステップＳ１０４において全て“１”データでないと判定された場合、及びステップＳ１０８において期待値と同じでないと判定された場合、コントローラ１２は、前回の電源遮断によるＮＡＮＤ型フラッシュメモリ１１への影響があると判断する。そして、コントローラ１２は、最終管理ページの次の管理ページから予め設定されたページ数をインクリメントする（ステップＳ１０９）。続いて、コントローラ１２は、インクリメントされた管理ページに、更新された管理情報を追記する（ステップＳ１１０）。
【００５６】
予め設定されたページ数とは、１ビット記憶のメモリセルトランジスタの場合は、少なくとも１ページであり、電源遮断の影響を確実に回避したい場合は２ページ、或いはそれ以上に設定される。一方、多値メモリ（例えば２ビット記憶のメモリセルトランジスタ）の場合は、少なくとも２ページ（上位ページと下位ページ）であり、電源遮断の影響を確実に回避したい場合は４ページ、或いはそれ以上に設定される。
【００５７】
続いて、コントローラ１２は、電源遮断による影響がある管理ページ、すなわち最終管理ページとインクリメント後の管理ページとの間の管理ページを無効化する（ステップＳ１１０）。この無効化処理のために、本実施形態では、無効化する管理ページ内に１ビットの無効フラグを格納する領域（無効フラグ領域）を設けている。
【００５８】
図１０は、無効フラグ領域を有する管理ページの構成を示す図である。管理ブロック内の各管理ページは、前述したように、例えば２１１２バイト（Ｂ）を有しており、また、４個のデータ領域、４個のデータ領域にそれぞれ対応する４個のＥＣＣ領域を含んでいる。また、データページ中の最後のデータ領域（４番目のデータ領域）の後には、２４バイトの管理データ領域が設けられている。
【００５９】
本実施形態では、各管理ページは、例えば、管理データ領域内に無効フラグを格納する１ビットの領域を備えている。そして、コントローラ１２は、無効化する管理ページの無効フラグを立てる、すなわち無効フラグ領域に“１”データを格納することで、電源遮断による影響がある管理ページを無効化する。以後、コントローラ１２は、無効フラグを参照することで、無効化された管理ページのデータを使用しないようにする。例えば、コントローラ１２は、無効フラグを参照することで、ＲＡＭ２５上に無効ページテーブルを作成する。そして、コントローラ１２は、この無効ページテーブルを使用してデータの読み出しを行う。
【００６０】
以後、コントローラ１２は、管理情報が更新されるごとに、この更新された管理情報を管理ブロックに追記する。
【００６１】
以上詳述したように本実施形態では、起動時に、まず、管理ブロック内のデータを確認することで、電源遮断によるＮＡＮＤ型フラッシュメモリ１１への影響の有無を判断する。そして、電源遮断による影響がある場合でも、データの引越しを行わずに、現在の管理ブロックをそのまま使用するようにしている。すなわち、前回の通電時に最後に書き込みが行われた管理ページ（最終管理ページ）から電源遮断による影響がある管理ページ分をインクリメントした後に、インクリメント後の管理ページ（電源遮断による影響がない管理ページ）に更新された管理情報を書き込むようにする。
【００６２】
従って本実施形態によれば、電源遮断による影響がある場合でも、管理ブロックのデータを消去済みの新たなブロックにコピーする必要がなくなるため、書き換え回数を低減することができる。これにより、ＮＡＮＤ型フラッシュメモリ１１の長寿命化が可能となる。さらに、管理ブロックのデータをコピーする時間（オーバーヘッド）が削減できるため、メモリカード１の動作負荷を低減することができる。
【００６３】
また、追記された管理情報に対してベリファイを実行するようにしている。すなわち、一度、電源遮断による影響がないと判断された管理ページであっても、再度、データの正確性を確認している。これにより、データの信頼性を向上させることができる。
【００６４】
また、電源遮断による影響がある管理ページを無効化するようにしている。従って、以後、電源遮断による影響がある管理ページは使用されず、この管理ページに対してはデータの読み出し動作が行われない。これにより、管理ブロックからの管理情報の読み出しを正確かつ高速に行うことが可能となり、さらに、無駄な読み出し動作を省くことが可能となる。
【００６５】
本発明は、上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲内で、構成要素を変形して具体化できる。また、実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を構成することができる。例えば、実施形態に開示される全構成要素から幾つかの構成要素を削除してもよいし、異なる実施形態の構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００６６】
【図１】本発明の一実施形態に係るメモリカード１の構成を示す概略図。
【図２】信号ピン群１３に割り当てられた信号を示す図。
【図３】コントローラ１２の構成を示すブロック図。
【図４】メモリセルトランジスタのしきい値電圧分布を示す図。
【図５】ＮＡＮＤ型フラッシュメモリ１１の記憶領域の構造を示す概略図。
【図６】ＮＡＮＤ型フラッシュメモリ１１に含まれるデータブロック及び管理ブロックを説明する概略図。
【図７】ユーザデータ領域の構成を示す概略図。
【図８】管理情報が格納された管理ブロックを説明する概略図。
【図９】コントローラ１２の動作を示すフローチャート。
【図１０】無効フラグ領域を有する管理ページの構成を示す図。
【符号の説明】
【００６７】
１…メモリカード、２…ホスト装置、１１…ＮＡＮＤ型フラッシュメモリ、１２…コントローラ、１３…信号ピン群、１４…バスインターフェース、２１…ホストインターフェース回路、２２…メモリインターフェース回路、２３…ＭＰＵ、２４…ＲＯＭ、２５…ＲＡＭ、２６…バッファ、２７…ＥＣＣ回路。
【図１】
0005142685.tif 000002
【図２】
0005142685.tif 000003
【図３】
0005142685.tif 000004
【図４】
0005142685.tif 000005
【図５】
0005142685.tif 000006
【図６】
0005142685.tif 000007
【図７】
0005142685.tif 000008
【図８】
0005142685.tif 000009
【図９】
0005142685.tif 000010
【図１０】
0005142685.tif 000011