(57)【要約】      （修正有）【課題】ユーザの誤操作による使用不能を回避することが可能なメモリシステムを提供する。【解決手段】メモリシステムは、不揮発性半導体記憶装置14と、コントローラ13を含む。不揮発性半導体記憶装置14は、ＦＡＴ(File Allocation Table)を含むファイルシステム領域、複数のクラスタを含むデータ追記領域、及び前記クラスタの書き換え禁止領域を示すポインタを記憶する管理情報領域を有する。コントローラは、前記不揮発性半導体記憶装置の前記ファイルシステム領域から前記ＦＡＴを読出し、ＦＡＴに記録されたクラスタの使用状況に基づき、前記ポインタを設定する。【選択図】図１
2013033338.tif 000002
【特許請求の範囲】
【請求項１】
ＦＡＴ(File Allocation Table)を含むファイルシステム領域、複数のクラスタを含むデータ追記領域、及び前記クラスタの書き換え禁止領域を示すポインタを記憶する管理情報領域を有する不揮発性半導体記憶装置と、
前記不揮発性半導体記憶装置の前記ファイルシステム領域から前記ＦＡＴを読出し、ＦＡＴに記録されたクラスタの使用状況に基づき、前記ポインタを設定するコントローラと
を具備することを特徴とするメモリシステム。
【請求項２】
前記コントローラは、前記メモリシステムの初期化動作において、前記不揮発性半導体記憶装置の前記ファイルシステム領域からＦＡＴを読出し、ＦＡＴに記録されたクラスタの使用状況に基づき、前記ポインタを設定する請求項１記載のメモリシステム。
【請求項３】
前記コントローラは、前記ＦＡＴに記録されたクラスタの使用状況を確認するとき、前記ＦＡＴ上でアドレスが上位のクラスタから下位のクラスタに向けて順次検索し、データが書き込まれたクラスタが検出された場合、前記検出されたクラスタのアドレスを前記ポインタに設定し、前記データ追記領域のアドレスが最下位のクラスタから前記検出されたクラスタまでの領域を上書き禁止領域に設定することを特徴とする請求項２記載のメモリシステム。
【請求項４】
前記コントローラは、前記複数のクラスタのうち、１つのクラスタが満杯となるまでデータを書き込んだ場合、前記ポインタに前記データ書き込んだクラスタのアドレスを記録することを特徴とする請求項３に記載のメモリシステム。
【請求項５】
前記メモリシステムに電源が投入された時点において、前記不揮発性半導体記憶装置の前記ファイルシステム領域からＦＡＴを読出し、ＦＡＴに記録されたクラスタの使用状況に基づき、前記ポインタを設定する請求項１記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、例えば追記型ＦＡＴ(File Allocation table)に対応するライトワンスカードとしてのメモリシステムに関する。
【背景技術】
【０００２】
書き込まれたデータの上書きを防止して、新たなデータを追記することが可能なライトワンスカードは、ユーザの誤操作によって、カードが使用できなくなるという問題がある。
【０００３】
「追記」とは、以前に書き込んだデータの論理セクタアドレスより後ろのセクタアドレスにのみデータ書き込みを行う方式であり、「上書き」とは以前に書き込んだデータの論理セクタアドレスに関係なく任意のセクタアドレスに書き込む書き込み方式である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１７１２５７号公報
【特許文献２】特開２０１１−１３８２２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本実施形態は、ユーザの誤操作による使用不能を回避することが可能なメモリシステムを提供しようとするものである。
【課題を解決するための手段】
【０００６】
本実施形態のメモリシステムによれば、不揮発性半導体記憶装置と、コントローラを含んでいる。不揮発性半導体記憶装置は、ＦＡＴ(File Allocation Table)を含むファイルシステム領域、複数のクラスタを含むデータ追記領域、及び前記クラスタの書き換え禁止領域を示すポインタを記憶する管理情報領域を有する。コントローラは、前記不揮発性半導体記憶装置の前記ファイルシステム領域から前記ＦＡＴを読出し、ＦＡＴに記録されたクラスタの使用状況に基づき、前記ポインタを設定する。
【図面の簡単な説明】
【０００７】
【図１】実施形態に適用されるホスト装置及びメモリシステムを概略的に示す構成図。
【図２】図２（ａ）（ｂ）は、ＮＡＮＤフラッシュメモリと追記管理ポインタの関係を示す図。
【図３】ホスト装置の書き込み動作を示すフローチャート。
【図４】メモリコントローラの書き込み動作を示すフローチャート。
【図５】ファイル書き込み前におけるＦＡＴの例を示す図。
【図６】ファイル書き込み後におけるＦＡＴの例を示す図。
【図７】メモリカードの初期化時の動作を示すフローチャート。
【図８】メモリカードの初期化時の動作を示すものであり、ＦＡＴの例を示す図。
【発明を実施するための形態】
【０００８】
例えばデータの改ざんを防止することが可能なライトワンスカードは、書き込み済みのメモリ領域に対するデータの上書きが禁止され、書き込み済みのメモリ領域以降の領域に新たなデータを追記することが可能とされている。このライトワンスカードは、ポインタにより追記可能な領域が管理されている。
【０００９】
また、ライトワンスカードは、フォーマット動作を行うことが禁止されている。しかし、ユーザの誤操作によりフォーマット動作をしてしまう場合が考えられる。
【００１０】
一方で、フォーマットプログラムの中には、最終アドレスに書き込みを行うものがあり、そのフォーマットプログラムでフォーマットを行うと、カードコントローラは、ポインタをカードの最終アドレスに設定してしまう。このため、メモリの全領域が書き込み禁止状態となり、以後、書き込みが行えないという問題がある。
【００１１】
本実施形態は、書き込み済みのメモリ領域に対するデータの上書きを禁止するとともに、ユーザの誤操作により、フォーマット動作が実行された場合においても、カードを継続して使用可能としている。
【００１２】
以下、実施の形態について、図面を参照して説明する。
【００１３】
図１は、本実施形態が適用されるホスト装置及びメモリシステムの主要部を概略的に示している。
【００１４】
ホスト装置１１は、図示せぬＳＤインターフェースを有し、これに接続されるメモリシステムとしてのメモリカード１２をアクセスするためのハードウェア及びソフトウェアを備えている。ホスト装置１１は、例えばデジタルカメラであり、アプリケーション、オペレーティングシステム等のソフトウェアを備えている。
【００１５】
ホスト装置１１は、メモリシステム、例えばＳＤ（Secure Digital）メモリカード（以下、単にメモリカードと称す）１２へデータを書き込む場合、書き込みコマンドを発行すると共に、書き込むべきアドレス、及びデータをメモリカード１２に転送する。また、ホスト装置１１は、メモリカード１２からデータを読み出す場合、読出しコマンドを発行するとともに、読み出すべきアドレスをメモリカード１２に転送する。
【００１６】
メモリカード１２は、カードコントローラ１３とＮＡＮＤフラッシュメモリ１４を含んでいる。
【００１７】
カードコントローラ１３は、ＳＤインターフェース（Ｉ／Ｆ）１３ａ、ＭＰＵ（Micro Processing Unit）１３ｂ、ＣＰＲＭ（Content Protection Recordable Media）処理回路１３ｃ、ＲＯＭ(Read Only Memory)１３ｄ、ＲＡＭ(Random Access Memory)１３ｅ、ＮＡＮＤインターフェース（Ｉ／Ｆ）１３ｆを有している。
【００１８】
ＳＤインターフェース１３ａは、ホスト装置１１とカードコントローラ１３との間のインターフェース処理を行うのに必要なハードウェア、ソフトウェアを有している。メモリカード１２（コントローラ１３）は、ＳＤインターフェース１３ａを介してホスト装置１１と通信を行う。ＳＤインターフェース１３ａは、ホスト装置１１のＳＤインターフェースと同様に、両者の通信を可能とする取り決めを規定し、各種のコマンドの組を備えている。
【００１９】
ＲＯＭ１３ｄは、ＭＰＵ１３ｂにより制御されるファームウェア（制御プログラム）などを格納する。ＲＡＭ１３ｅは、ＭＰＵ１３ｂの作業エリアとして使用され、制御プログラムや各種のテーブルを記憶する。
【００２０】
ＭＰＵ１３ｂは、メモリカード１２全体の動作を司る。ＭＰＵ１３ｂは、例えばメモリカード１２がホスト装置１１から電源供給を受けた状態、もしくは、初期化コマンドを受けた状態において、ＲＯＭ１３ｄ内に格納されている制御プログラムをＲＡＭ１３ｅ上に読み出して所定の処理を実行する。具体的には、ＭＰＵ１３ｂは、ホスト装置１１から書き込みコマンド、読み出しコマンドを受けてＮＡＮＤフラッシュメモリ１４に対して所定の処理を実行するとともに、後述する追記管理ポインタ１５を制御する。また、ＭＰＵ１３ｂは、ＮＡＮＤフラッシュメモリ１４によるデータの記憶状態を管理する。記憶状態の管理とは、どの物理アドレスのページ（または物理ブロック）が、ホスト装置１１により割り当てられたどの論理アドレスのデータを保存しているかの関係、およびどの物理アドレスのページ（または物理ブロック）が消去状態（何も書き込まれていない、または無効なデータを保持している状態）であるかを管理することをいう。
【００２１】
ＣＰＲＭ処理回路１３ｃは、セキュアデータの処理を実行する。
【００２２】
ＮＡＮＤインターフェース１３ｆは、カードコントローラ１３とＮＡＮＤフラッシュメモリ１４とのインターフェース処理を行う。
【００２３】
ＮＡＮＤフラッシュメモリ１４は、例えば１つのメモリセルに複数ビットのデータを記憶することが可能な多値メモリにより構成されている。
【００２４】
図２（ａ）（ｂ）は、論理アドレスのメモリ空間と追記管理ポインタ１５の関係を示している。図２（ｂ）は、図２（ａ）の一部を拡大して示すものである。上述の通り、ＭＰＵ１３ｂは、メモリカード１２がホスト機器１１から受信する論理アドレスとＮＡＮＤフラッシュメモリ１４の物理アドレスとの対応関係を管理しており、図２（ａ）（ｂ）の論理アドレスのメモリ空間は、ＮＡＮＤフラッシュメモリ１４の物理アドレスのメモリ空間に対応付けられている。
【００２５】
図２（ａ）（ｂ）に示すように、ＮＡＮＤフラッシュメモリ１４は、ファイルシステム領域１４ａと、追記領域１４ｂと、管理情報領域１４ｃにより構成されている。ファイルシステム領域１４ａは、例えばパーティションテーブルや、ＦＡＴ等を含んでおり、ＮＡＮＤフラッシュメモリ１４の論理アドレス空間を管理する。管理情報領域１４ｃは、ＮＡＮＤフラッシュメモリ１４の論理アドレス空間とは別の領域に設けられ、論理アドレス空間のデータやその他のデータを管理するための管理情報を格納する。この管理情報領域１４ｃは、追記管理ポインタ１５を含み、この追記管理ポインタ１５により、追記領域１４ｂにおける追記可能な領域のアドレスが管理される。このアドレスは、後述するように、例えば最後に書き込まれたクラスタのアドレスである。
【００２６】
追記領域１４ｂは、複数のクラスタにより構成され、ユーザデータが追記可能とされている。クラスタアドレス“０”〜“５”…は、ファイルシステム領域１４ａから離れるほど大きく設定されている。追記領域１４ｂは、前述したように、追記管理ポインタ１５により管理され、追記管理ポインタ１５は、例えばクラスタアドレスを保持する。しかし、これに限らず、追記管理ポインタ１５は、クラスタ内の先頭アドレスを保持してもよい。
【００２７】
＜追記管理ポインタ１５＞
次に、ＭＰＵ１３ｂで実行される追記管理ポインタ１５の制御動作について説明する。
【００２８】
初期状態において、追記管理ポインタ１５は、図２（ａ）（ｂ）に示すように、追記領域１４ｂの先頭に位置するクラスタ０のアドレスを保持している。
【００２９】
ここで、ホスト装置１１が例えばデジタルカメラであり、写真データをメモリカード１２に書き込む場合を仮定する。例えばＮＡＮＤフラッシュメモリ１４のクラスタサイズが１６ＫＢｙｔｅの場合で、写真ファイルが３３ＫＢｙｔｅであるとする。この場合、データの書き込みに必要なクラスタ数は、次式のようになる。
【００３０】
３３ＫＢｙｔｅ／１６ＫＢｙｔｅ＝２．０６２５
このため、必要なクラスタ数は３クラスタとなる。
【００３１】
ホスト装置１１はクラスタの小さいアドレスから順に使用するのが一般的である。このため、写真ファイルをクラスタ２、３、４に書き込む。尚、クラスタ０、１は、フォーマット時にシステムにより予約され、例えばルートディレクトリが記録される。
【００３２】
図３は、ホスト装置１１、例えば一般的なデジタルカメラの書き込み動作を示している。
【００３３】
ＳＤカードの規格において、書き込み時、ホスト装置１１は、スタートアドレスを設定したコマンドを出力する。すなわち、この場合、ホスト装置１１からクラスタ２の先頭アドレスを指定して書き込みコマンドが発行される（ＳＴ１１）。
【００３４】
写真ファイルが３３ＫＢｙｔｅで、１セクタが５１２ｂｙｔｅである場合、セクタ数は、次式のように、６６となる。
【００３５】
３３７９２ｂｙｔｅ／５１２ｂｙｔｅ＝６６
ホスト装置１１は、クラスタ２の先頭アドレスを指定した書き込みコマンドを発行した後、６６セクタのデータをメモリカード１２に順次出力する(ＳＴ１２)。
【００３６】
書き込むべき全てのデータがホスト装置１１からメモリカード１２に転送されると（ＳＴ１３）、ホスト装置１１は、書き込み終了コマンドを発行する（ＳＴ１４）。
【００３７】
この後、ホスト装置１１は、ＦＡＴと、ディレクトリの内容を書き換え、ＮＡＮＤフラッシュメモリ１４のファイルシステム領域１４ａに登録する（ＳＴ１５）。
【００３８】
以上の動作により、３３ＫＢｙｔｅの写真ファイルは、メモリカード１２上に記録され、この記録された写真ファイルは、ホスト装置１１から読み出すことができる。
【００３９】
図４は、上記データ書き込み時におけるメモリコントローラ１３の動作を示している。
【００４０】
ホスト装置１１から書き込みコマンドが供給されると、書き込み開始アドレスを含んだ書き込みコマンドが認識される(ＳＴ２１)。この後、書き込み開始アドレスが追記管理ポインタ１５に保持されているアドレスより大きいかどうかが判定される（ＳＴ２２）。初期状態において、追記管理ポインタ１５のクラスタアドレスは“０”に設定されており、ホスト装置１１から供給された書き込み開始（先頭）アドレスは、上記の場合、“２”であるため、追記書き込み可能であると判断される。
【００４１】
尚、書き込み開始アドレスが追記管理ポインタ１５に記録されたクラスタアドレスより小さい場合、書き込み済みのクラスタに上書きすることとなるため、ホスト装置１１にエラーが報知され、処理が終了される（ＳＴ２３）。
【００４２】
この後、ホスト装置１１からの書き込み終了コマンドを受信したかどうかが判断され（ＳＴ２４）、書き込み終了コマンドを受けていない場合、ホスト装置１１から供給されるセクタ単位のデータが受信され、ＮＡＮＤフラッシュメモリ１４に書き込まれる（ＳＴ２５）。すなわち、先ず。書き込み開始アドレスにより指定されたクラスタ２にデータが書き込まれる。
【００４３】
この後、１つのクラスタ内にデータを書ききったかどうかが判断され（ＳＴ２６）、クラスタ内にまだ空き領域がある場合、制御がステップＳＴ２４に移行され、上記動作が繰り返される。
【００４４】
また、１つのクラスタを書ききった場合、すなわち１つのクラスタに空き領域が無くなった場合、追記管理ポインタ１５に書ききったクラスタアドレスが設定される。すなわち、この場合、追記管理ポインタ１５に、クラスタアドレス２が設定される。
【００４５】
次いで、制御がステップＳＴ２４に移行され、書き込み終了コマンドが受信されるまで、上記動作が繰り返される。
【００４６】
上記書き込み処理において、カードコントローラ１３は、追記管理ポインタ１５を以下のように設定する。前述したように、追記管理ポインタ１５の内容は、例えばＮＡＮＤフラッシュメモリ１４からＲＡＭ１３ｅに読み出される。ＭＰＵ１３ｂは、先ず、クラスタ２にデータを書き込み、クラスタ２に空き領域が無くなった時、クラスタ２（クラスタアドレス２）を追記管理ポインタ１５に記録する。これ以降、クラスタ２より以前に書き込まれたクラスタの上書きが回避される。
【００４７】
さらに、クラスタ３にデータが書き込まれ、クラスタ３の空き領域が無くなった時、クラスタアドレス３が追記管理ポインタ１５に記録され、これ以降クラスタ３より以前に書き込まれたクラスタの上書きが回避される。次いで、クラスタ４にデータが書き込まれる。
【００４８】
一方、クラスタ４にデータが書き込まれた後、ステップＳＴ２４において、書き込み終了コマンドが受信されたと判断された場合、終了処理が実行される（ＳＴ２８）。終了処理において、ＲＡＭ１３ｅ上に記録された追記管理ポインタ１５の内容がＮＡＮＤフラッシュメモリ１４の管理領域１４ｃ内の追記管理ポインタ１５に退避される。その他、メモリカード１２の電源がオフとされることに備えるための処理が実行される。
【００４９】
上記のように、追記管理ポインタ１５をクラスタ単位で管理することにより、追記管理処理を簡略化することができる。
【００５０】
また、メモリカード１２において、データの書き込みが終了した場合、ホスト装置１１は、上述したように、ＦＡＴ、及びディレクトリの内容を更新する。
【００５１】
ＦＡＴファイルシステムでは、例えばこの例における写真ファイルのデータを含むクラスタをファイルシステム上のディレクトリとＦＡＴに登録する必要があり、ＦＡＴのエントリが更新される。
【００５２】
追記管理ポインタ１５は、追記領域のみを管理し、また、追記管理ポインタ１５は、管理情報領域１４ｃ内にある。このため、ＦＡＴの書き込みにおいて、追記管理ポインタ１５は関係しない。したがって、本実施形態において、ＦＡＴやディレクトリの書き込み処理についての具体的な動作は、省略し、ＦＡＴのデータの変化についてのみ説明する。
【００５３】
クラスタ２、３、４へデータを書き込み、そのデータを１つのファイルとするためには、クラスタのつながり（チェーン）をＦＡＴに登録する必要がある。
【００５４】
図５は、ファイル書き込み前におけるＦＡＴを示し、図６は、ファイル書き込み後におけるＦＡＴを示している。尚、図５、図６において、クラスタアドレスをクラスタＮｏで示している。
【００５５】
図５に示すように、ファイル書き込み前は、クラスタＮｏ２、３、４に対応するＦＡＴエントリは、クラスタが未使用状態であることを示す“００００”となっている（これは、ＦＡＴ１６の場合の表示である）。また、ＦＡＴエントリの値は、１６進数により示されている。
【００５６】
ファイルに対してクラスタを割り当てる場合、ＦＡＴエントリの値が“００００”から別の値に変更される。
【００５７】
すなわち、図６に示すように、クラスタＮｏ２、３、４に、ファイルが書き込まれた後、クラスタＮｏ２に対応するＦＡＴエントリの値が“０００３”に設定され、クラスタＮｏ３に対応するＦＡＴエントリの値が“０００４”に設定され、クラスタＮｏ４に対応するＦＡＴエントリの値が“ＦＦＦＦ”に設定される。ここで、“ＦＦＦＦ”は、ファイルの末尾のクラスタを意味している。
【００５８】
このように、ＦＡＴの内容を更新することにより、１つのファイルがクラスタ２、３、４により構成されることを表現できる。
【００５９】
また、図示せぬディレクトリには、ファイル名やサイズ等が記録され、ファイルがクラスタ２から始まることが記録される。
【００６０】
次に、図７、図８を参照してＭＰＵ１３ｂによるメモリカード１２の初期化時の動作について説明する。
【００６１】
メモリカード１２がホスト装置１１に接続されると、ホスト装置１１から初期化コマンドが発行される。カードコントローラ１３は、ホスト装置１１から供給された初期化コマンドを受信する（ＳＴ３１）。この初期化コマンドに応じて、ハードウェアの初期設定等、メモリカード１２を動作させるために必要な初期化処理が実行される（ＳＴ３２）。
【００６２】
次いで、ＮＡＮＤフラッシュメモリ１４からＦＡＴ及び追記管理ポインタ１５の内容が読み出され、カードコントローラ１３のＲＡＭ１３ｅに転送される（ＳＴ３３）。
【００６３】
この後、ＭＰＵ１３ｂは、ＲＡＭ１３ｅ内のＦＡＴを参照して、保護すべきクラスタと、初期化動作後に追記が可能なクラスタとの境界を検索する。すなわち、ＭＰＵ１３ｂは、図８に示すように、ＦＡＴを最終クラスタからクラスタＮｏ０の方向に値が“００００”以外のエントリを検索する（ＳＴ３４、ＳＴ３５）。
【００６４】
この検索の結果、値が“００００”以外のエントリ、例えば値が“ＦＦＦＦ”のエントリが検出された場合、ＭＰＵ１３ｂは、追記管理ポインタ１５に、検出したクラスタアドレスを設定する（ＳＴ３６）。すなわち、図８に示す例の場合、値が“ＦＦＦＦ”のエントリに対応するクラスタＮｏ４（クラスタアドレス４）が追記管理ポインタ１５に記録され、初期化処理が終了される。
【００６５】
このようにして、追記管理ポインタ１５に最後に書き込まれたクラスタのアドレスが記録された状態において、初期化処理が終了される。
【００６６】
また、上記検索動作において、値が“００００”以外のエントリが検出されなかった場合、上記ＲＡＭ１３ｅに読み出された追記管理ポインタ１５の内容が、再度追記管理ポインタ１５に書き込まれ（ＳＴ３７）、初期化処理が終了される。
【００６７】
上記のように、初期化処理が終了された場合、後の書き込み処理において、追記管理ポインタ１５を用いて、上述した書き込み動作が実行される。
【００６８】
＜フォーマット後の動作＞
次に、ユーザが誤ってフォーマットを実行した場合の処理について説明する。
【００６９】
フォーマットを実行すると、フォーマットプログラム（フォーマッタ）によっては最終クラスタへ書き込みが行われる。この書き込み動作に応じて、追記管理ポインタ１５には、最終クラスタアドレスが記録されることとなる。したがって、この時点において、追記領域には、一切の書き込み処理を行えないことになり、追記領域への書き込み命令は全て実行されず、エラーとなる。
【００７０】
しかし、フォーマッタは、メモリカード上にファイルを作成するものではなく、ファイルシステムを初期状態にするものである。このため、フォーマッタがメモリの最終クラスタに書き込みを行っても、ＦＡＴ上では最終クラスタを使用状態にはしない。したがって、ＦＡＴの内容は、更新されないため、メモリカードの電源を再投入し、上記初期化動作を実行することにより、追記管理ポインタ１５を保護すべきクラスタアドレスまで再設定することが可能である。
【００７１】
すなわち、本実施形態の場合、フォーマットを実行後、メモリカード１２の電源を切り、再度電源を投入すると、図７に示す初期化動作が実行される。この初期化動作において、ホストから初期化コマンド発行されると、メモリカード１２は、上記ステップＳＴ３１、３２、３３の動作を実行し、ＲＡＭ１３ｅに、ＮＡＮＤフラッシュメモリ１４からＦＡＴが読み出される。
【００７２】
この後、ＭＰＵ１３ｂは、ＦＡＴを参照し、値が“００００”以外のエントリが検索される（ＳＴ３４、３５）。フォーマットが実行された場合においても、ＦＡＴにおいて、最終クラスタに対応するエントリの値は“００００”のままである。このため、上記検索動作を実行することにより、値が“００００”以外のエントリが検出されることにより、追記管理ポインタ１５にフォーマット以前に書き込まれた最後のクラスタのアドレスが再設定される（ＳＴ３６）。すなわち、図８に示す例の場合、最終クラスタから値が“００００”以外のエントリが検索され、値が“ＦＦＦＦ”のエントリが検出され、このエントリに対応するクラスタアドレス４が追記管理ポインタ１５に再設定される。したがって、クラスタアドレス５から追記が可能となる。
【００７３】
上記実施形態によれば、初期化コマンドに応じて、ＦＡＴの最終クラスタから値が“００００”以外のエントリを検索し、値が“００００”以外のエントリが検出された場合、これに対応するクラスタアドレスを追記管理ポインタ１５に設定している。このため、ユーザの誤操作により、フォーマット動作が実行された場合においても、電源を再投入し、初期化動作を実行することにより、フォーマット以前に書き込まれた最後のクラスタのアドレスを検出することができ、追記が可能となる。したがって、ユーザの誤操作によるフォーマット操作によって、カードに書き込みが行えなくなることを防ぐ。
【００７４】
尚、上記実施形態は、追記管理ポインタ１５の再設定は、初期化コマンドに応じた初期化動作により行った。しかし、これに限定されるものではなく、例えば書き込みコマンドの発行前に、ＦＡＴを最終クラスタから値が“００００”以外のエントリを検索し、追記管理ポインタ１５を再設定するように構成することも可能である。
【００７５】
この構成によっても上記実施形態と同様の効果を得ることが可能である。
【００７６】
その他、本発明は上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００７７】
１１…ホスト装置、１２…メモリカード、１３…カードコントローラ、１４…ＮＡＮＤフラッシュメモリ、１４ａ…ファイルシステム領域、１４ｂ…追記領域、１４ｃ…管理情報領域、１５…追記管理ポインタ。
【図１】
2013033338.tif 000003
【図２】
2013033338.tif 000004
【図３】
2013033338.tif 000005
【図４】
2013033338.tif 000006
【図５】
2013033338.tif 000007
【図６】
2013033338.tif 000008
【図７】
2013033338.tif 000009
【図８】
2013033338.tif 000010