(57)【要約】【課題】効率の良い書き込み及び読み出しを行う。【解決手段】不揮発性半導体メモリから構成される記憶領域２２を含む記憶装置の制御方法であって、ファイルを論理アドレス順に追記するファイルシステムを用いて、記憶領域２２にファイルを追記するステップと、前記ファイルの記録位置を示す論理アドレスと前記ファイルの仮想的な記録位置を示す仮想アドレスとの対応関係を示す割り当てテーブルＶＡＴと、この割り当てテーブルＶＡＴの管理情報ＶＡＴ ＩＣＢとを、記憶領域２２に記録するステップと、管理情報ＶＡＴ ＩＣＢの記録位置を示す位置情報を、記憶領域２２内の位置情報領域２２Ｂに記録するステップとを含む。【選択図】      図７
2008123473.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性半導体メモリから構成される記憶領域を含む記憶装置の制御方法であって、
ファイルを論理アドレス順に追記するファイルシステムを用いて、前記記憶領域にファイルを追記するステップと、
前記ファイルの記録位置を示す論理アドレスと前記ファイルの仮想的な記録位置を示す仮想アドレスとの対応関係を示す割り当てテーブルと、この割り当てテーブルの管理情報とを、前記記憶領域に記録するステップと、
前記管理情報の記録位置を示す位置情報を、前記記憶領域内の位置情報領域に記録するステップと
を具備することを特徴とする記憶装置の制御方法。
【請求項２】
前記位置情報は、ファイルが追記されるごとに、前記位置情報領域内の同一の論理アドレスに繰り返し記録されることを特徴とする請求項１に記載の記憶装置の制御方法。
【請求項３】
前記位置情報領域は、複数のデータ領域から構成され、
前記位置情報は、ファイルが追記されるごとに、前記複数のデータ領域に順に記録されることを特徴とする請求項１に記載の記憶装置の制御方法。
【請求項４】
前記位置情報領域のサイズは、前記不揮発性半導体メモリのデータ消去単位である物理ブロックサイズに対応し、
前記クラスタは、前記不揮発性半導体メモリのデータ書き込み単位である物理ページサイズに対応することを特徴とする請求項３に記載の記憶装置の制御方法。
【請求項５】
前記ファイルシステムに基づいて前記記憶装置を論理フォーマットし、前記記憶領域にフォーマット情報を記録するステップをさらに具備し、
前記フォーマット情報は、前記位置情報のサイズ及び論理アドレスを含むことを特徴とする請求項１乃至４のいずれかに記載の記憶装置の制御方法。
【請求項６】
前記位置情報を用いて前記管理情報を読み出すステップと、
前記読み出された管理情報が有効でない場合に、前記記憶領域の最終論理アドレスから下位に向かって順にデータを確認して、最終データ書き込み位置を検出するステップと、
前記最終データ書き込み位置に記録された管理情報を読み出すステップと
をさらに具備することを特徴とする請求項１乃至５のいずれかに記載の記憶装置の制御方法。
【請求項７】
ファイルを論理アドレス順に追記するファイルシステムが適用される記憶装置であって、
ファイルの記録位置を示す論理アドレスと前記ファイルの仮想的な記録位置を示す仮想アドレスとの対応関係を示す割り当てテーブルと、この割り当てテーブルの管理情報とを格納し、かつ不揮発性半導体メモリから構成される記憶領域を具備し、
前記記憶領域は、前記管理情報の記録位置を示す位置情報を格納する位置情報領域を含むことを特徴とする記憶装置。
【請求項８】
前記記憶領域は、前記位置情報のサイズ及び前記位置情報の論理アドレスを含むフォーマット情報を格納するフォーマット情報領域を含むことを特徴とする請求項７に記載の記憶装置。
【請求項９】
ファイルを論理アドレス順に追記するファイルシステムが適用される記憶装置であって、
不揮発性半導体メモリから構成され、かつファイルとこのファイルの管理情報とを格納し、前記管理情報はファイルが追記されるごとに書き込み済み領域の最後に書き込まれる記憶領域と、
ホストからの記憶要求に基づいて、前記記憶領域に最終書き込み位置を記憶させるコントローラと
を具備することを特徴とする記憶装置。
【請求項１０】
前記コントローラは、前記ホストからの読み出し要求に基づいて、前記記憶領域に記憶された複数の最終書き込み位置のうち前記ホストから指定された最終書き込み位置を前記ホストに送ることを特徴とする請求項９に記載の記憶装置。
【請求項１１】
前記記憶領域は、前記ファイル及び前記管理情報を格納する第１の領域と、第２の領域とを含み、
前記コントローラは、記憶要求ごとに、前記第２の領域に最終書き込み位置の論理アドレスを書き込むことを特徴とする請求項９又は１０に記載の記憶装置。
【請求項１２】
前記記憶領域は、データの消去単位である複数の物理ブロックからなり、各物理ブロックは、データの書き込み単位である複数の物理ページからなり、
前記コントローラは、データ書き込み時に前記物理ページの冗長領域にフラグを書き込み、かつこのフラグを記憶要求ごとに順次変更することを特徴とする請求項９又は１０に記載の記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置及びその制御方法に係り、例えば不揮発性半導体メモリを備えた記憶装置及びその制御方法に関する。
【背景技術】
【０００２】
現在、音楽データや映像データの記録メディアとして、不揮発性半導体メモリの一種であるフラッシュメモリを用いたメモリカードが使われている。このメモリカードのファイルシステムとしては、例えばＦＡＴ（File Allocation Table）ファイルシステムが用いられている。ＦＡＴファイルシステムは、ハードディスク等の、高速なランダム書き換えが可能なメディアを前提としたファイルシステムである。ランダム書き込みとは、セクタ（ファイルシステムが認識する書き込み領域の単位）のアドレスによらずに、空いているセクタにランダムにデータが書き込まれる方式である。
【０００３】
メモリカードに使用されるフラッシュメモリの代表例としては、ＮＡＮＤ型フラッシュメモリが挙げられる。ＮＡＮＤ型フラッシュメモリは、ブロック単位でしか消去を行えない。１つのブロックは、複数の、書き込み単位であるページから構成されている。このため、ブロックに記録されたデータの一部のみを書き換える場合は、書き換える新データを消去済みの新ブロックに書き込み、旧データ（新データに書き換えられるデータ）を含んでいる旧ブロックから、書き換えられないデータを新ブロックにコピーする必要がある。このような処理は「引越し書き込み（巻き添えコピー）」と呼ばれる。この引越し書き込みは書き換えられないデータのコピー動作を伴うため、引越し書き込みが多発すると、オーバーヘッドが非常に増大することになる。
【０００４】
ＦＡＴファイルシステムでは、ファイルのクラスタデータの書き換えのたびに、ＦＡＴデータの書き換えが発生する。このため、ＮＡＮＤ型フラッシュメモリを管理するファイルシステムとして、ＦＡＴファイルシステムが採用された場合、クラスタデータの書き換えのたびに、「引越し書き込み」が発生し、ファイルの書き換え速度が低下する。
【０００５】
この種の関連技術として、ブロック消去方式のフラッシュ型メモリに対して、効率的なメモリ管理を行う技術が開示されている（特許文献１参照）。
【特許文献１】特開平１１−１４３７６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、効率の良い書き込み及び読み出しを行うことができる記憶装置及びその制御方法を提供する。
【課題を解決するための手段】
【０００７】
本発明の第１の視点に係る記憶装置の制御方法は、不揮発性半導体メモリから構成される記憶領域を含む記憶装置の制御方法であって、ファイルを論理アドレス順に追記するファイルシステムを用いて、前記記憶領域にファイルを追記するステップと、前記ファイルの記録位置を示す論理アドレスと前記ファイルの仮想的な記録位置を示す仮想アドレスとの対応関係を示す割り当てテーブルと、この割り当てテーブルの管理情報とを、前記記憶領域に記録するステップと、前記管理情報の記録位置を示す位置情報を、前記記憶領域内の位置情報領域に記録するステップとを具備する。
【０００８】
本発明の第２の視点に係る記憶装置は、ファイルを論理アドレス順に追記するファイルシステムが適用される記憶装置であって、ファイルの記録位置を示す論理アドレスと前記ファイルの仮想的な記録位置を示す仮想アドレスとの対応関係を示す割り当てテーブルと、この割り当てテーブルの管理情報とを格納し、かつ不揮発性半導体メモリから構成される記憶領域を具備する。前記記憶領域は、前記管理情報の記録位置を示す位置情報を格納する位置情報領域を含む。
【０００９】
本発明の第３の視点に係る記憶装置は、ファイルを論理アドレス順に追記するファイルシステムが適用される記憶装置であって、不揮発性半導体メモリから構成され、かつファイルとこのファイルの管理情報とを格納し、前記管理情報はファイルが追記されるごとに書き込み済み領域の最後に書き込まれる記憶領域と、ホストからの記憶要求に基づいて、前記記憶領域に最終書き込み位置を記憶させるコントローラとを具備する。
【発明の効果】
【００１０】
本発明によれば、効率の良い書き込み及び読み出しを行うことができる記憶装置及びその制御方法を提供することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態について図面を参照して説明する。なお、以下の説明において、同一の機能及び構成を有する要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
【００１２】
（第１の実施形態）
［１］記憶装置及びホスト装置の構成
本実施形態では、記憶装置としてメモリカードを一例に説明する。メモリカードは、例えば、ホスト装置に対して着脱可能なように構成される。しかし、これに限定されず、記憶装置及びホスト装置を１つのＬＳＩ（Large-Scale Integrated Circuit）として構成してもよい。すなわち、ホスト装置が実装されたプリント基板上に、記憶装置を構成するコントローラ及び不揮発性半導体メモリが実装されるようにしてもよい。
【００１３】
図１は、本発明の第１の実施形態に係るホスト装置１０及びメモリカード２０の構成を示すブロック図である。メモリカード２０は、ホスト装置１０に装着可能なように構成されている。そして、メモリカード２０は、通常、ホスト装置１０に装着されて使用され、ホスト装置１０に対して一種の外部記憶媒体として用いられる。
【００１４】
メモリカード２０は、不揮発性半導体メモリ２２を備えている。本実施形態では、不揮発性半導体メモリ２２として、例えば、データの書き込み及び消去を電気的に行う、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）の一種であるＮＡＮＤ型フラッシュメモリ２２を例に説明する。なお、図１には、ＮＡＮＤ型フラッシュメモリ２２が１個よりなる構成を示しているが、２つ以上のＮＡＮＤ型フラッシュメモリ２２が配置されていてもよい。
【００１５】
ＮＡＮＤ型フラッシュメモリ２２を構成する各フラッシュメモリセル（メモリセルトランジスタ）は、半導体基板上にトンネル絶縁膜を介して電荷蓄積を目的とする浮遊ゲート電極、ゲート間絶縁膜、制御ゲート電極が積層形成されたスタックゲート構造を有している。そして、複数個のメモリセルトランジスタを、隣接するもの同士でソース領域若しくはドレイン領域を共有するような形で列方向に直列接続させ、その両端に選択ゲートトランジスタを配置して、ＮＡＮＤセルユニットが構成される。
【００１６】
このユニットが行方向（ワード線ＷＬの延在方向）に複数個配列されてブロックが構成される。このブロックがデータ消去単位となる。１個のブロックのうち同じワード線ＷＬに接続された複数のメモリセルは１ページとして取り扱われ、このページごとにデータの書き込み及びデータの読み出しが行われる。
【００１７】
図２に示すように、ＮＡＮＤ型フラッシュメモリ２２は、ｍ固の物理ブロック１〜ｍを備えており、１つの物理ブロックはｎ個の物理ページ１〜ｎにより構成されている。本実施形態では、１つの物理ブロックは５１２ＫＢ、１つの物理ページは４ＫＢにより構成されている。従って、１つの物理ブロックは、１２８ページにより構成されている。
【００１８】
また、フラッシュメモリ２２のデータが書き込まれる領域は、保存されるデータに応じて複数の領域に区分けされている。フラッシュメモリ２２は、データが書き込まれる領域として、ユーザーデータ領域３１、管理データ領域３２、機密データ領域３３、及び保護データ領域３４等を有している。
【００１９】
ユーザーデータ領域３１は、メモリカード２０を使用するユーザが自由にアクセス及び使用することが可能な領域であり、ユーザーデータを格納する。保護データ領域３４は、重要なデータを格納し、メモリカード２０に接続されたホスト装置１０との相互認証によりホスト装置１０の正当性が証明された場合にのみアクセスが可能となる領域である。管理データ領域３２は、主にメモリカード２０に関する管理情報を格納し、メモリカード２０のセキュリティ情報やメディアＩＤなどのカード情報を格納する。機密データ領域３３は、暗号化に用いる鍵情報や認証時に使用する機密データを保存しており、ホスト装置１０からはアクセス不可能な領域である。
【００２０】
メモリカード２０は、ホスト装置１０とフラッシュメモリ２２との間に設けられ、かつホスト装置１０の指示に基づいてフラッシュメモリ２２を制御するコントローラ２１を備えている。コントローラ２１は、ホストインターフェース回路２３、ＭＰＵ（Micro Processing Unit）２４、データバッファ２５、ＲＯＭ（Read Only Memory）２６、ＲＡＭ（Random Access Memory）２７、メモリインターフェース回路２８、及びバス２９を備えている。
【００２１】
ホストインターフェース回路２３は、コネクタ（図示せず）を介してホスト装置１０と接続されており、ＭＰＵ２４の制御のもと、所定のプロトコルに従ってコマンド或いは各種データ等の送受信をホスト装置１０との間で行う機能ブロックである。
【００２２】
ＭＰＵ２４は、バス２９を介してメモリカード２０全体の動作を統括的に制御するものである。ＭＰＵ２４は、例えばメモリカード２０が電源供給を受けたときに、ＲＯＭ２６等に格納されたファームウェアに基づいてメモリカード２０の基本的な制御を実行する。また、ＭＰＵ２４は、ホスト装置１０からライトコマンド、リードコマンド、或いは消去コマンド等を受け取り、フラッシュメモリ２２に対してデータ転送処理を実行する。
【００２３】
データバッファ２５は、フラッシュメモリ２２から読み出されたデータ、及びフラッシュメモリ２２に書き込むデータを一時的に保持する機能ブロックである。すなわち、フラッシュメモリ２２から読み出されたデータは、ホスト装置１０の受け取り準備ができるまでデータバッファ２５に保持され、フラッシュメモリ２２に書き込むデータは、フラッシュメモリ２２の書き込み準備ができるまでデータバッファ２５に保持される。
【００２４】
メモリインターフェース回路２８は、バスを介してフラッシュメモリ２２に接続されており、フラッシュメモリ２２のアクセスに必要な一連のメモリアクセス制御を実行する。具体的には、メモリインターフェース回路２８は、ＭＰＵ２４の制御に基づいて、フラッシュメモリ２２に対する、書き込み動作、読み出し動作、或いは消去動作などを実行する。
【００２５】
ＲＯＭ２６は、ファームウェア（制御プログラム）を格納する。このファームウェアは、メモリカード２０の基本的な制御を行うためのプログラムである。ＲＡＭ２７は、ＭＰＵ２４の作業エリアとして使用され、制御プログラムや各種のテーブルを記憶する。
【００２６】
ホスト装置１０は、装着されるメモリカード２０に対してアクセスを行うためのハードウェア及びソフトウェア（システム）を備えている。ホスト装置１０としては、画像データ、音楽データ或いはＩＤデータなどの各種データを処理するパーソナルコンピュータ、デジタルカメラ、或いは携帯電話端末等を含む情報処理装置が挙げられる。
【００２７】
[２]ファイルシステム
次に、本実施形態で使用されるファイルシステムについて説明する。本実施形態では、追記型のファイルシステムが用いられる。この追記型のファイルシステムとしては、ＵＤＦ（Universal Disk Format）に準拠したファイルシステムが挙げられる。以下、追記型のファイルシステムとして、ＵＤＦに準拠したファイルシステムを一例として説明する。
【００２８】
ＵＤＦでは、データの書き込み／読み出しが行われる一纏まりの論理セクタ列をエクステントと呼称し、１つのファイルを複数のエクステントに分割して管理できる特徴をもっている。それぞれのエクステントの開始アドレスは、ファイル情報として保持され、更新するファイルシステム情報とともにファイル実体に続いて追記される。
【００２９】
ファイルを記録する記録方式としては、一連のデータを必要に応じて逐次記録するパケットライト方式、一連のデータを一記録ストリームとして記録するディスクアットワンス（ＤＡＯ：Disc At Once）方式、或いはトラックアットワンス（ＴＡＯ：Track At Once）方式がある。
【００３０】
例えば、デジタルカメラ等のように、撮影が行われるたびに静止画像データ又は動画像データを記録媒体に記録するような用途では、ＴＡＯ方式を用いると管理データのオーバーヘッドが大量に発生する。そのため、通常、逐次記録に最適なパケットライト方式が用いられる。パケットライト方式では、１個のファイルを構成するユーザーデータを複数のエクステントに分割して記録し、全てのエクステントを記録した後、これら複数のエクステントを１個のファイルを構成する連続したユーザーデータとして扱うためのファイルエントリＩＣＢ（File Entry Information Control Block）と呼ばれるファイル管理情報を付加記録することによって管理している。そして、ファイルの更新の際、このファイルに対応するファイルエントリＩＣＢも書き換えられる。
【００３１】
ＵＤＦでは、全てのファイル及びディレクトリが独自のファイルエントリＩＣＢ（Information Control Block）を持っている。ファイルエントリＩＣＢの構造を図３を参照して説明する。図３に示すデータ構造は、ファイルエントリＩＣＢを用いると、図４に示すような構成になる。図４において、最左列から順に、論理ブロック番号（ＬＢＮ：Logical Block Number）、記述子（descriptor）、構造（Structure）が示されている。
【００３２】
ＬＢＮ＝０〜７９には、空間ビットマップ記述子が記録される。空間ビットマップ記述子は、各論理ブロックが割り付け可能か否かを示す空間ビットマップを持つ。ＬＢＮ＝８０には、ファイル集合記述子が記録される。ファイル集合記述子には、ルートディレクトリのファイルエントリの位置情報が記録される。ＬＢＮ＝８１には、終端記述子が記録される。終端記述子は、ファイル集合記述子の終端を表す。
【００３３】
ＬＢＮ＝８２には、ルートディレクトリのファイルエントリが記録される。ＬＢＮ＝８３には、親ディレクトリとしてのルートディレクトリのファイル識別記述子と、ディレクトリＤＩＲ_１及びＤＩＲ_２のファイル識別記述子が記録される。各ファイル識別記述子は、そのディレクトリに含まれる各ファイルに関する情報を持つ。各ファイル識別記述子が持つ主な情報は、それが対応するファイルのファイル名とそのファイルエントリの位置情報である。
【００３４】
任意のファイルにアクセスする際、まず、このファイルのファイルエントリＩＣＢが記載されているアドレスにアクセスされる。ファイルエントリＩＣＢは、１つ以上のファイルエントリからなり、ファイルエントリは、各ファイル固有の様々な属性情報やタイムスタンプ、ファイルの記録位置、ファイルの大きさ（サイズ）に関する情報等を格納し、ファイルをエクステントのグループとして管理するために用いられるものである。そして、ファイルエントリに記載されているファイルの記録位置に、目的のファイルが記録されている。
【００３５】
サブディレクトリが設けられている場合も同様の構造が形成される。ルートディレクトリのＩＣＢ（ＬＢＮ８２）には、ルートディレクトリのファイルエントリのアドレス（ＬＢＮ８３）が記録されている。このアドレスにより特定される領域には、ルートディレクトリのディレクトリ情報が記録されている。このディレクトリ情報には、各サブディレクトリのファイルエントリＩＣＢのアドレス（ＬＢＮ８４、９４）等が示されている。
【００３６】
サブディレクトリのファイルエントリＩＣＢには、このサブディレクトリ内の各ファイルのファイルエントリＩＣＢのアドレス（ＬＢＮ８５、９５）が記録されている。そして、上記のように、ファイルのファイルエントリＩＣＢに記録されているアドレスにおいて、このファイルのファイルエントリが記載されており、これを参照して実際のアドレスが特定される。
【００３７】
ホスト装置１０は、ＵＤＦに準拠したファイルシステムを用いてメモリカード２０を制御する。従って、フラッシュメモリ２２は、ＵＤＦ形式でフォーマットされている。図５は、ＵＤＦに準拠したファイルシステムをメモリカード２０に適用した場合（すなわち、ＵＤＦ形式でフラッシュメモリ２２がフォーマットされた場合）の、ホスト装置１０が認識しているメモリカード２０の記憶領域の構造を示す図である。図５に示すように、実際には、ホスト装置１０は、メモリカード２０の記憶領域のうち、前述したユーザーデータ領域３１にデータを追記していく。
【００３８】
追記型のファイルシステムは、下位の論理アドレスから上位の論理アドレスに順にファイルを書き込んでいく。追記型のファイルシステムをメモリカード２０に適用することで、フラッシュメモリ２２での頻繁なデータの消去、書き換えがなくなる。この結果、用途によっては効率の良いファイル書き込み及び書き換えが可能となる。
【００３９】
また、追記型のファイルシステムがメモリカード２０に適用されると、ファイル書き込み時のブロック消去が不要であるため、ファイル書き込み速度が低下しない。また、シーケンシャルな書き込みであるため、引越し書き込みのような、メモリカード２０の余分な処理が不要である。よって、書き込み処理の高速化が可能となる。
【００４０】
ＵＤＦでは、ディレクトリ及びファイルの管理情報を実際の記録位置（論理アドレス）として直接管理するかわりに、ファイル識別記述子（ＦＩＤ：File Identifier Descriptor）、仮想割り当てテーブル（ＶＡＴ：Virtual Allocation Table）、ファイルエントリＩＣＢ（File Entry Information Control Block）等を用いて間接的に管理している。
【００４１】
ＶＡＴとは、記録媒体に対して追記を行う際に、あたかも媒体上の任意のアドレスにアクセスしてデータの更新や読み出しができるかのうように扱うためのものであり、ファイルが実際に記録されている論理アドレスと、この論理アドレスに対応する仮想アドレスとを対応テーブルとして管理するものである。ＵＤＦでは、ＶＡＴを利用して、各ファイルに仮想参照（Virtual Reference）のためのシーケンシャルな番号（仮想アドレス）を割り当てている。そして、記録媒体上のディレクトリ及びファイルを仮想アドレスにより参照する。
【００４２】
つまり、ＵＤＦでは、間接的にディレクトリ及びファイルの位置情報を参照している。ＶＡＴは、フラッシュメモリ２２のどの場所にでも配置することができ、さらにＶＡＴは、ＶＡＴの位置を指し示すＶＡＴ ＩＣＢ（Virtual Allocation Table Information Control Block）によって参照されるようになっている。ＵＤＦでは、ＶＡＴ ＩＣＢは、記録媒体（本実施形態では、フラッシュメモリ２２）の追記書き込み済み領域の最後に置くことが決められている。
【００４３】
そのため、ホスト装置１０は、最初に、このＶＡＴ ＩＣＢが指し示すＶＡＴを読み込むことによって、仮想アドレスを論理アドレスに変換することができる。そして、ホスト装置１０は、任意の論理アドレスにアクセスする際、ＶＡＴによって仮想アドレスを論理アドレスに変換し、この変換された論理アドレスを用いてファイルにアクセスする。
【００４４】
ＶＡＴ ＩＣＢは、複数のエクステントに分割されて配置されるＶＡＴのエクステントリストを含んでいる。従って、ＵＤＦでは、ファイルが何らかの方法で変更されたとしても、一連のファイルポインタ全体を変更する必要はなく、最終的なＶＡＴ ＩＣＢのみを変更すれば、変更されたファイルに辿り着くことができる。
【００４５】
このようにＵＤＦでは、ファイル識別記述子（ＦＩＤ）とファイルエントリＩＣＢとの間にＶＡＴを設けることによって、ファイルエントリＩＣＢが書き換えられた場合であっても、ＶＡＴ上でファイルエントリＩＣＢのアドレスをすり替えることで仮想的にファイルエントリＩＣＢが書き換えられたように扱うことができる。
【００４６】
また、追記時には、ファイル実体の追記と共に、ＶＡＴ中の、このファイルのＩＣＢの仮想アドレスに対する論理アドレスを変更することにより、実際にアクセスされる論理アドレスが変更される。こうすることにより、書き込み済みのデータを書き換えることなくファイルの更新が実現される。
【００４７】
図５に示すように、メモリカード２０は、ユーザーデータ領域３１内の最下位の論理アドレスにＶＡＴ ＩＣＢ位置情報領域２２Ｂを備えている。ＶＡＴ ＩＣＢ位置情報領域２２Ｂに格納されるＶＡＴ ＩＣＢ位置情報は、追記時において、最後に書き込まれたＶＡＴ ＩＣＢの記録位置（すなわち、論理アドレス）を示している。ホスト装置１０は、ＶＡＴ ＩＣＢ位置情報を参照することで、最後に書き込まれたＶＡＴ ＩＣＢの記録位置（最終データ書き込み位置に対応する）を認識することができる。
【００４８】
また、メモリカード２０は、ユーザーデータ領域３１内の最上位の論理アドレスにフォーマット情報領域２２Ａを備えている。従って、実際には、ユーザが自由にファイルを追記できる領域（ファイル領域と称する）は、ユーザーデータ領域３１から、フォーマット情報領域２２ＡとＶＡＴ ＩＣＢ位置情報領域２２Ｂとを除いた領域となる。
【００４９】
図６は、フォーマット情報領域２２Ａに格納されるフォーマット情報を示す図である。フォーマット情報は、（１）ＶＡＴ ＩＣＢ位置情報取得方式、（２）ＶＡＴ ＩＣＢ位置情報書き込み方式、（３）ＶＡＴ ＩＣＢ位置情報アドレス１、（４）ＶＡＴ ＩＣＢ位置情報アドレス２、（５）物理ブロックサイズ、（６）書き込み境界単位、（７）ＶＡＴ ＩＣＢ位置情報サイズ、（８）完全フォーマットの有無、（９）固定データから構成されている。これらの具体的な内容については後述する。
【００５０】
[３] ＶＡＴ ＩＣＢ位置情報の記録動作
次に、ホスト装置１０がメモリカード２０に、ＶＡＴ ＩＣＢ位置情報を記録する動作について説明する。ＶＡＴ ＩＣＢ位置情報の記録方式としては、固定位置方式と領域内追記方式との２つの方式がある。ＶＡＴ ＩＣＢ位置情報の記録方式としてどの方式を使用するかや各方式における記録位置の情報などは、メモリカード２０のフォーマット時にフォーマット情報領域２２Ａに格納される。ホスト装置１０は、フォーマット情報領域２２Ａに格納されたフォーマット情報を参照して、ＶＡＴ ＩＣＢ位置情報の記録動作を行う。
【００５１】
[３−１]固定位置方式によるＶＡＴ ＩＣＢ位置情報の記録動作
図７は、固定位置方式におけるＶＡＴ ＩＣＢ位置情報領域２２Ｂの構成を示す図である。ＶＡＴ ＩＣＢ位置情報領域２２Ｂは、それぞれが４ＫＢの２つのＶＡＴ ＩＣＢ位置情報領域（ＶＡＴ ＩＣＢ位置情報領域１、ＶＡＴ ＩＣＢ位置情報領域２）から構成されている。すなわち、ユーザーデータ領域３１の最後の４ＫＢとその前の４ＫＢとがそれぞれ、ＶＡＴ ＩＣＢ位置情報領域１とＶＡＴ ＩＣＢ位置情報領域２とに割り当てられている。なお、ＵＤＦでのパケットサイズを４ＫＢとし、このパケットサイズは物理ページサイズ（４ＫＢ）に対応している。
【００５２】
本実施形態では、ＶＡＴ ＩＣＢ位置情報は、ＶＡＴ ＩＣＢ位置情報領域２２Ｂに含まれる２つのＶＡＴ ＩＣＢ位置情報領域１，ＶＡＴ ＩＣＢ位置情報領域２に２重化して記録される。これにより、一方のＶＡＴ ＩＣＢ位置情報が何らかの理由で破壊された場合でも、もう一方のＶＡＴ ＩＣＢ位置情報を使用することが可能となる。
【００５３】
一方のＶＡＴ ＩＣＢ位置情報は、ＶＡＴ ＩＣＢ位置情報領域１の最初の論理アドレス（図６のＶＡＴ ＩＣＢ位置情報アドレス１）に対応する８バイトの領域に格納される。同様に、他方のＶＡＴ ＩＣＢ位置情報は、ＶＡＴ ＩＣＢ位置情報領域２の最初の論理アドレス（図６のＶＡＴ ＩＣＢ位置情報アドレス２）に対応する８バイトの領域に格納される。
【００５４】
次に、固定位置方式におけるホスト装置１０の追記動作について説明する。図８は、固定位置方式におけるホスト装置１０の追記動作を示すフローチャートである。
【００５５】
ホスト装置１０は、追記書き込み済み領域に続けて、ファイル及びこのファイルに対応するファイルエントリＩＣＢを追記する（ステップＳＴ１０１）。次に、ホスト装置１０は、ＶＡＴを更新（追記）する（ステップＳＴ１０２）。次に、ホスト装置１０は、ＶＡＴ ＩＣＢを更新（追記）する（ステップＳＴ１０３）。
【００５６】
次に、ホスト装置１０は、更新されたＶＡＴ ＩＣＢの論理アドレス（８バイトのＶＡＴ ＩＣＢ位置情報に対応）をＶＡＴ ＩＣＢ位置情報アドレス１に書き込む（ステップＳＴ１０４）。次に、ホスト装置１０は、更新されたＶＡＴ ＩＣＢの論理アドレスをＶＡＴ ＩＣＢ位置情報アドレス２に書き込む（ステップＳＴ１０５）。このようにして、ＶＡＴ ＩＣＢ位置情報がＶＡＴ ＩＣＢ位置情報領域２２Ｂの２つのＶＡＴ ＩＣＢ位置情報領域（ＶＡＴ ＩＣＢ位置情報領域１、ＶＡＴ ＩＣＢ位置情報領域２）に格納される。
【００５７】
ところで、固定位置方式の場合、同一の論理アドレス（ＶＡＴ ＩＣＢ位置情報アドレス１，２）に対してＶＡＴ ＩＣＢ位置情報の更新が行われるため、ホスト装置１０の処理は容易であるが、メモリカード２０では同じ領域にＶＡＴ ＩＣＢ位置情報が上書きされることになる。すなわち、メモリカード２０は、書き換える新データを消去済みの新ブロックに書き込み、旧データ（新データに書き換えられるデータ）を含んでいる旧ブロックから、書き換えられないデータを新ブロックにコピーする、引越し書き込みを行う。
【００５８】
そこで、図７に示すように、同一の論理アドレスに対する一定サイズ（本実施形態では、８バイト）の書き込みが繰り返し発生した場合には、コントローラ２１は、フラッシュメモリ２２の物理ブロック内にデータを追記していく（同一論理アドレスへの高速書き込み）。
【００５９】
具体的には、ＶＡＴ ＩＣＢ位置情報領域１に対応する物理ブロックｉ内の物理ページにそのデータを順次追記していく。図７では、物理ブロックｉ内の物理ページ３に最新のＶＡＴ ＩＣＢ位置情報が記録されている場合（すなわち、２回更新された場合）を一例として示している。物理ブロックｉが一杯になったら、他の物理ブロックを割り当てるか、同一の物理ブロックｉを消去して使用する。ＶＡＴ ＩＣＢ位置情報領域２に対応する物理ブロックｊについても同様の動作を行う。
【００６０】
これにより、同一の論理アドレスに対してＶＡＴ ＩＣＢ位置情報の書き込みが発生した場合でも、毎回ブロックを消去したり、新たなブロックを割り当てる必要がなくなる。この結果、メモリカード２０は、効率よくかつ高速にＶＡＴ ＩＣＢ位置情報の更新を行うことが可能となる。
【００６１】
[３−２]領域内追記方式によるＶＡＴ ＩＣＢ位置情報の記録動作
図９は、領域内追記方式におけるＶＡＴ ＩＣＢ位置情報領域２２Ｂの構成を示す図である。ＶＡＴ ＩＣＢ位置情報領域２２Ｂは、それぞれが５１２ＫＢの２つのＶＡＴ ＩＣＢ位置情報領域（ＶＡＴ ＩＣＢ位置情報領域１、ＶＡＴ ＩＣＢ位置情報領域２）から構成されている。すなわち、ユーザーデータ領域３１の最後の５１２ＫＢとその前の５１２ＫＢとがそれぞれ、ＶＡＴ ＩＣＢ位置情報領域１とＶＡＴ ＩＣＢ位置情報領域２とに割り当てられている。
【００６２】
本実施形態では、ＶＡＴ ＩＣＢ位置情報領域１（或いは、ＶＡＴ ＩＣＢ位置情報領域２）のサイズが、フラッシュメモリ２２の物理ブロックサイズ（５１２ＫＢ）に対応している。ＶＡＴ ＩＣＢ位置情報領域１（或いは、ＶＡＴ ＩＣＢ位置情報領域２）は、それぞれのサイズが４ＫＢの複数のクラスタから構成されている。すなわち、各クラスタのサイズ（４ＫＢ）は、更新されたＶＡＴ ＩＣＢ位置情報が順にＶＡＴ ＩＣＢ位置情報領域１（或いは、ＶＡＴ ＩＣＢ位置情報領域２）に書き込まれる際の境界（書き込み境界単位と称する）に対応する。また、ＵＤＦでのパケットサイズを４ＫＢとし、このパケットサイズは物理ページサイズ（４ＫＢ）と対応している。
【００６３】
ＶＡＴ ＩＣＢ位置情報は、ＶＡＴ ＩＣＢ位置情報領域２２Ｂに含まれる２つのＶＡＴ ＩＣＢ位置情報領域１，ＶＡＴ ＩＣＢ位置情報領域２に２重化して記録される。これにより、一方のＶＡＴ ＩＣＢ位置情報が何らかの理由で破壊された場合でも、もう一方のＶＡＴ ＩＣＢ位置情報を使用することが可能となる。
【００６４】
一方のＶＡＴ ＩＣＢ位置情報は、ＶＡＴ ＩＣＢ位置情報領域１内の各クラスタの最初の論理アドレスに対応する８バイトの領域に格納される。なお、ＶＡＴ ＩＣＢ位置情報領域１内の最初のクラスタ（クラスタ１に対応）の最初の論理アドレスは、ＶＡＴ ＩＣＢ位置情報アドレス１に対応する。さらに、各クラスタには、ＶＡＴ ＩＣＢ位置情報が格納される８バイトの領域に続いて、カウンタ値を格納する４バイトの領域が設けられている。このカウンタ値としては、例えば１から順に１ずつカウントアップした値が、クラスタ１から順に上位のクラスタに向かって格納される。
【００６５】
すなわち、カウンタ値は、直前にＶＡＴ ＩＣＢ位置情報を書き込んだ際に同時に書き込んだカウンタ値を１だけカウントアップした値に設定される。なお、カウント値は、0xFFFFFFFFの後は、0x00000000に戻される。ホスト装置１０は、カウンタ値を格納する４バイトの領域を参照することで、最後に書き込まれたＶＡＴ ＩＣＢ位置情報を認識することができる。
【００６６】
同様に、他方のＶＡＴ ＩＣＢ位置情報は、ＶＡＴ ＩＣＢ位置情報領域２内の各クラスタの最初の論理アドレス（ＶＡＴ ＩＣＢ位置情報アドレス２）に対応する８バイトの領域に格納される。また、ＶＡＴ ＩＣＢ位置情報領域２内の各クラスタには、このＶＡＴ ＩＣＢ位置情報が格納される８バイトの領域に続いて、４バイトの領域に上記カウンタ値が格納される。ＶＡＴ ＩＣＢ位置情報領域２内の最初のクラスタ（クラスタ１に対応）の最初の論理アドレスは、ＶＡＴ ＩＣＢ位置情報アドレス２に対応する。
【００６７】
次に、領域内追記方式におけるホスト装置１０の追記動作について説明する。図１０は、領域内追記方式におけるホスト装置１０の追記動作を示すフローチャートである。
【００６８】
ホスト装置１０は、追記書き込み済み領域に続けて、ファイル及びこのファイルに対応するファイルエントリＩＣＢを追記する（ステップＳＴ２０１）。次に、ホスト装置１０は、ＶＡＴを更新（追記）する（ステップＳＴ２０２）。次に、ホスト装置１０は、ＶＡＴ ＩＣＢを更新（追記）する（ステップＳＴ２０３）。
【００６９】
次に、ホスト装置１０は、更新されたＶＡＴ ＩＣＢの論理アドレス（８バイトのＶＡＴ ＩＣＢ位置情報に対応）と、最終のカウンタ値を１だけカウントアップした値とを、ＶＡＴ ＩＣＢ位置情報領域１内の最終書き込み済みクラスタの次のクラスタに書き込む（ステップＳＴ２０４）。具体的には、ホスト装置１０は、当該クラスタの最初の８バイト領域にＶＡＴ ＩＣＢ位置情報を書き込む。さらに、ホスト装置１０は、ＶＡＴ ＩＣＢ位置情報に続く４バイト領域に、上記カウンタ値を書き込む。
【００７０】
次に、ホスト装置１０は、更新されたＶＡＴ ＩＣＢの論理アドレスと、最終のカウンタ値を１だけカウントアップした値とを、ＶＡＴ ＩＣＢ位置情報領域２内の最終書き込みクラスタの次のクラスタに書き込む（ステップＳＴ２０４）。このようにして、ＶＡＴ ＩＣＢ位置情報及びカウンタ値が、ＶＡＴ ＩＣＢ位置情報領域２２Ｂの２つのＶＡＴ ＩＣＢ位置情報領域（ＶＡＴ ＩＣＢ位置情報領域１、ＶＡＴ ＩＣＢ位置情報領域２）に格納される。
【００７１】
この領域内追記方式は、ホスト装置１０の処理は複雑になるが、ＶＡＴ ＩＣＢ位置情報領域のサイズをフラッシュメモリ２２の物理ブロックサイズに一致させ、また、書き込み境界単位をフラッシュメモリ２２の物理ページサイズに一致させることで、ＶＡＴ ＩＣＢ位置情報を書き込む際に物理ブロックの消去や物理ブロックの新規割り当てをその都度行う必要がない。これにより、効率の良いＶＡＴ ＩＣＢ位置情報の書き込みが可能である。
【００７２】
[４]メモリカード２０の論理フォーマット
本実施形態をメモリカード２０に適用するために、ホスト装置１０は、メモリカード２０を論理フォーマットする。そして、ホスト装置１０は、メモリカード２０を論理フォーマットする際、メモリカード２０の特性に応じたフォーマットパラメータを、ユーザーデータ領域３１の先頭のフォーマット情報領域２２Ａに書き込む。フォーマット後は、ホスト装置１０は、フォーマット情報のパラメータに応じてＶＡＴ ＩＣＢ位置情報の更新やＶＡＴ ＩＣＢの検索を行う。
【００７３】
また、ホスト装置１０は、メモリカード２０に対して完全フォーマットを実施する。後述するように、ホスト装置１０がＶＡＴ ＩＣＢ位置情報を用いて検索したＶＡＴ ＩＣＢが、ＵＤＦで定められた有効なデータ形式でない場合が考えられる。このような場合でも、ホスト装置１０がＶＡＴ ＩＣＢを取得できるようにするために、ホスト装置１０は、メモリカード２０のユーザーデータ領域３１を固定データで埋める処理（完全フォーマット）を実施する。
【００７４】
複数種類のメモリカードの中には、データを消去するための消去コマンドを使用可能なものがある。この消去コマンドを使用可能なメモリカードの場合には、ホスト装置１０は消去コマンドを用いてユーザーデータ領域３１のデータ消去を行う。さらに、メモリカードの一種であるＳＤＴＭカードの場合、消去後のデータ（固定データと称する）が全て“０”になるか、全て“１”になるかがカードごとに決まっている。ホスト装置１０は、コマンドを用いてこの固定データを確認することができる。
【００７５】
一方、消去コマンドを使用できないメモリカードの場合には、まず、ホスト装置１０がユーザに対して完全フォーマットを実施するか否かを確認する。これは、消去コマンドを使用できない場合、ホスト装置１０が通常の書き込み動作により固定データを全ユーザーデータ領域３１に書き込むことになり、時間がかかるためである。従って、本実施形態では、ユーザが完全フォーマットを選択した場合に、ホスト装置１０は、固定データを全ユーザーデータ領域３１に書き込むようにする。
【００７６】
図１１及び図１２は、ホスト装置１０のフォーマット動作を示すフローチャートである。ホスト装置１０は、メモリカード２０が消去コマンドを使用可能か否かを判定する（ステップＳＴ３０１）。消去コマンドを使用可能である場合、ホスト装置１０は、内部変数Ａ＝１に設定し（ステップＳＴ３０２）、消去コマンドを使用してユーザーデータ領域３１のデータの全消去を実施する（ステップＳＴ３０３）。この際、ホスト装置１０は、消去後のデータ（固定データ）を内部変数Ｂに設定する。その後、ホスト装置１０は、ステップＳＴ３０９に移行する。
【００７７】
ステップＳＴ３０１において消去コマンドを使用できない場合、ホスト装置１０は、完全フォーマットを実施するか否かをユーザに確認する（ステップＳＴ３０４）。完全フォーマットを実施しない場合、ホスト装置１０は、内部変数Ａ＝０に設定し（ステップＳＴ３０６）、ステップＳＴ３０９に移行する。
【００７８】
ステップＳＴ３０５において完全フォーマットを実施する場合、ホスト装置１０は、内部変数Ａ＝１に設定し（ステップＳＴ３０７）、全ユーザーデータ領域３１に固定データを書き込む（ステップＳＴ３０８）。この際、ホスト装置１０は、消去後のデータ（固定データ）を内部変数Ｂに設定する。
【００７９】
次に、ホスト装置１０は、メモリカード２０に対してＶＡＴ ＩＣＢ位置情報を取得するための専用インターフェース方式を使用可能か否かを判定する（ステップＳＴ３０９）。専用インターフェース方式（特開２００６−４０２６４を参照）とは、ホスト装置１０が例えばコマンドを用いてデータの最終書き込み位置（ＶＡＴ ＩＣＢの位置）を取得する方式である。専用インターフェース方式を使用可能な場合には、ホスト装置１０は、以後、この専用インターフェース方式を用いてＶＡＴ ＩＣＢを取得する。よって、ホスト装置１０は、内部変数Ａ＝１、Ｄ〜Ｉ＝０に設定し（ステップＳＴ３１０）、ステップＳＴ３２４に移行する。
【００８０】
ステップＳＴ３０９において専用インターフェース方式を使用できない場合には、ホスト装置１０は、内部変数Ｃ＝０に設定する。次に、ホスト装置１０は、前述したように、メモリカード２０が「同一論理アドレスへの高速書き込み」をサポートしているか否かを判定する（ステップＳＴ３１２）。同一論理アドレスへの高速書き込みをサポートしている場合、ホスト装置１０は、内部変数Ｄ＝０に設定し（ステップＳＴ３１３）、以後、前述した「[３−１]固定位置方式によるＶＡＴ ＩＣＢ位置情報の記録動作」を行うための設定を行う。
【００８１】
すなわち、ホスト装置１０は、ユーザーデータ領域３１の最終論理アドレスから、８ＫＢ（ＶＡＴ ＩＣＢ位置情報領域２２Ｂのサイズに対応）分を引いた論理アドレスをＶＡＴ ＩＣＢ位置情報アドレス１として設定するために、内部変数Ｅにこの論理アドレスを設定する（ステップＳＴ３１４）。次に、ホスト装置１０は、ユーザーデータ領域３１の最終論理アドレスから、４ＫＢ（ＶＡＴ ＩＣＢ位置情報領域２のサイズに対応）分を引いた論理アドレスをＶＡＴ ＩＣＢ位置情報アドレス２として設定するために、内部変数Ｆにこの論理アドレスを設定する（ステップＳＴ３１５）。
【００８２】
次に、ホスト装置１０は、内部変数Ｇ＝０、内部変数Ｈ＝０に設定する（ステップＳＴ３１６、３１７）。次に、ホスト装置１０は、ＶＡＴ ＩＣＢ位置情報のサイズを設定する。本実施形態ではＶＡＴ ＩＣＢ位置情報のサイズが８バイトであるため、ホスト装置１０、内部変数Ｉ＝８に設定する（ステップＳＴ３１８）。
【００８３】
ステップＳＴ３１２において同一論理アドレスへの高速書き込みをサポートしていない場合、ホスト装置１０は、内部変数Ｄ＝１に設定し（ステップＳＴ３１９）、以後、前述した「[３−２]領域内追記方式によるＶＡＴ ＩＣＢ位置情報の記録動作」を行うための設定を行う。
【００８４】
すなわち、ホスト装置１０は、ユーザーデータ領域３１の最終論理アドレスから、「物理ブロックサイズ×２」（ＶＡＴ ＩＣＢ位置情報領域２２Ｂのサイズに対応）分を引いた論理アドレスをＶＡＴ ＩＣＢ位置情報アドレス１として設定するために、内部変数Ｅにこの論理アドレスを設定する（ステップＳＴ３２０）。次に、ホスト装置１０は、ユーザーデータ領域３１の最終論理アドレスから、物理ブロックサイズ（ＶＡＴ ＩＣＢ位置情報領域２のサイズに対応）分を引いた論理アドレスをＶＡＴ ＩＣＢ位置情報アドレス２として設定するために、内部変数Ｆにこの論理アドレスを設定する（ステップＳＴ３２１）。
【００８５】
次に、ホスト装置１０は、ＶＡＴ ＩＣＢ位置情報領域１（或いは、ＶＡＴ ＩＣＢ位置情報領域２）のサイズに対応する物理ブロックサイズを内部変数Ｇに設定する（ステップＳＴ３２２）。次に、ホスト装置１０は、書き込み境界単位（クラスタのサイズ）に対応する対応する物理ページサイズを内部変数Ｈに設定する（ステップＳＴ３２３）。次に、ホスト装置１０は、ＶＡＴ ＩＣＢ位置情報のサイズを設定する（ステップＳＴ３１８）。
【００８６】
そして、ホスト装置１０は、（１）＝Ａ、（２）＝Ｄ、（３）＝Ｅ、（４）＝Ｆ、（５）＝Ｇ、（６）＝Ｈ、（７）＝Ｉ、（８）＝Ａ、（９）＝Ｂをフォーマット情報（図６を参照）として、フォーマット情報領域２２Ａに書き込む。このようにして、メモリカード２０の論理フォーマットが実施される。
【００８７】
[５] ＶＡＴ ＩＣＢ取得動作
次に、メモリカード２０に記録されたＶＡＴ ＩＣＢをホスト装置１０が取得する動作について説明する。ホスト装置１０は、メモリカード２０の論理フォーマット時にこのメモリカード２０に書き込まれたフォーマット情報を用いて、ＶＡＴ ＩＣＢ取得動作を実行する。図１３及び図１４は、ホスト装置１０のＶＡＴ ＩＣＢ取得動作を示すフローチャートである。
【００８８】
最初に、ホスト装置１０は、フォーマット情報領域２２Ａに格納されたフォーマット情報を読み込む（ステップＳＴ４０１）。そして、ホスト装置１０は、フォーマット情報の内容（フォーマット情報（１））に基づいて、ＶＡＴ ＩＣＢ位置情報取得方式が専用インターフェース方式であるか否かを判定する（ステップＳＴ４０２）。
【００８９】
専用インターフェース方式である場合、ホスト装置１０は、この専用インターフェース方式を用いて、最終データ書き込み位置（すなわち、追記書き込み済み領域の最終データの位置）を取得する（ステップＳＴ４０３）。次に、ホスト装置１０は、最終データ書き込み位置に格納されているＶＡＴ ＩＣＢを読み込む（ステップＳＴ４０４）。
【００９０】
次に、ホスト装置１０は、この読み込んだＶＡＴ ＩＣＢを確認し、このＶＡＴ ＩＣＢがＵＤＦで定められた形式に沿った有効なＶＡＴ ＩＣＢであるか否かを判定する（ステップＳＴ４０５）。有効なＶＡＴ ＩＣＢである場合、ＶＡＴ ＩＣＢの取得に成功したため、ホスト装置１０は、このＶＡＴ ＩＣＢを用いて、ファイルへのアクセスを行う。ステップＳＴ４０５において有効なＶＡＴ ＩＣＢでない場合、ホスト装置１０はステップＳＴ４１３に移行する。
【００９１】
ステップＳＴ４０２において専用インターフェース方式でない場合、ホスト装置１０は、フォーマット情報に基づいて、ＶＡＴ ＩＣＢ位置情報記録方式が固定位置方式であるか否かを判定する（ステップＳＴ４０６）。固定位置方式である場合、ホスト装置１０は、以後、固定位置方式に従ってＶＡＴ ＩＣＢの取得動作を実行する。
【００９２】
すなわち、ホスト装置１０は、フォーマット情報に含まれるＶＡＴ ＩＣＢ位置情報アドレス１を用いて、このアドレスに対応するＶＡＴ ＩＣＢ位置情報を取得する（ステップＳＴ４０７）。次に、ホスト装置１０は、ＶＡＴ ＩＣＢ位置情報を用いて、最終データ書き込み位置に格納されたＶＡＴ ＩＣＢを読み込む（ステップＳＴ４０８）。次に、ホスト装置１０は、この読み込んだＶＡＴ ＩＣＢを確認し、このＶＡＴ ＩＣＢがＵＤＦで定められた形式に沿った有効なＶＡＴ ＩＣＢであるか否かを判定する（ステップＳＴ４０９）。有効なＶＡＴ ＩＣＢである場合、ＶＡＴ ＩＣＢの取得に成功したため、ホスト装置１０は、このＶＡＴ ＩＣＢを用いて、ファイルへのアクセスを行う。
【００９３】
ステップＳＴ４０９において有効なＶＡＴ ＩＣＢでない場合、ホスト装置１０は、フォーマット情報に含まれるＶＡＴ ＩＣＢ位置情報アドレス２を用いて、このアドレスに対応するＶＡＴ ＩＣＢ位置情報を取得する（ステップＳＴ４１０）。次に、ホスト装置１０は、ＶＡＴ ＩＣＢ位置情報を用いて、最終データ書き込み位置に格納されたＶＡＴ ＩＣＢを読み込む（ステップＳＴ４１１）。次に、ホスト装置１０は、この読み込んだＶＡＴ ＩＣＢを確認し、このＶＡＴ ＩＣＢがＵＤＦで定められた形式に沿った有効なＶＡＴ ＩＣＢであるか否かを判定する（ステップＳＴ４１２）。有効なＶＡＴ ＩＣＢである場合、ＶＡＴ ＩＣＢの取得に成功したため、ホスト装置１０は、このＶＡＴ ＩＣＢを用いて、ファイルへのアクセスを行う。
【００９４】
ステップＳＴ４１２において有効なＶＡＴ ＩＣＢでない場合、ホスト装置１０は、ＶＡＴ ＩＣＢ位置情報領域２２Ｂに格納されたＶＡＴ ＩＣＢ位置情報が、何らかの理由で破壊されたものと判断し、別の方法でＶＡＴ ＩＣＢの取得動作を実行する。すなわち、ホスト装置１０は、ユーザーデータ領域３１内のファイル領域の最終論理アドレスから下位に向かってデータを順に確認する。そして、ホスト装置１０は、完全フォーマット時に使用された固定データでないデータを確認した場合、そのデータの位置を最終データ書き込み位置と判断する（ステップＳＴ４１３）。
【００９５】
次に、ホスト装置１０は、最終データ書き込み位置に格納されたＶＡＴ ＩＣＢを読み込む（ステップＳＴ４１４）。次に、ホスト装置１０は、この読み込んだＶＡＴ ＩＣＢを確認し、このＶＡＴ ＩＣＢがＵＤＦで定められた形式に沿った有効なＶＡＴ ＩＣＢであるか否かを判定する（ステップＳＴ４１５）。有効なＶＡＴ ＩＣＢである場合、ＶＡＴ ＩＣＢの取得に成功したため、ホスト装置１０は、このＶＡＴ ＩＣＢを用いて、ファイルへのアクセスを行う。一方、有効なＶＡＴ ＩＣＢでない場合、ＶＡＴ ＩＣＢの取得に失敗したと判断する。
【００９６】
一方、ステップＳＴ４０６において固定位置方式でない場合、ホスト装置１０は、以後、領域内追記方式に従ってＶＡＴ ＩＣＢの取得動作を実行する。
【００９７】
ホスト装置１０は、フォーマット情報に含まれるＶＡＴ ＩＣＢ位置情報アドレス１を用いて、このＶＡＴ ＩＣＢ位置情報アドレス１から順にＶＡＴ ＩＣＢ位置情報領域１内の各クラスタに格納されたカウンタ値を確認する。この際、ホスト装置１０は、フォーマット情報に含まれる書き込み境界単位を参照することで、クラスタのサイズを認識する。また、ホスト装置１０は、フォーマット情報に含まれる物理ブロックサイズを参照することで、ＶＡＴ ＩＣＢ位置情報領域１のサイズを認識する。そして、最終のカウンタ値が格納されたクラスタ内のＶＡＴ ＩＣＢ位置情報を取得する（ステップＳＴ４１６）。
【００９８】
次に、ホスト装置１０は、ＶＡＴ ＩＣＢ位置情報を用いて、最終データ書き込み位置に格納されたＶＡＴ ＩＣＢを読み込む（ステップＳＴ４１７）。次に、ホスト装置１０は、この読み込んだＶＡＴ ＩＣＢを確認し、このＶＡＴ ＩＣＢがＵＤＦで定められた形式に沿った有効なＶＡＴ ＩＣＢであるか否かを判定する（ステップＳＴ４１８）。有効なＶＡＴ ＩＣＢである場合、ＶＡＴ ＩＣＢの取得に成功したため、ホスト装置１０は、このＶＡＴ ＩＣＢを用いて、ファイルへのアクセスを行う。
【００９９】
ステップＳＴ４１８において有効なＶＡＴ ＩＣＢでない場合、ホスト装置１０は、フォーマット情報に含まれるＶＡＴ ＩＣＢ位置情報アドレス２を用いて、このＶＡＴ ＩＣＢ位置情報アドレス２から順にＶＡＴ ＩＣＢ位置情報領域２内の各クラスタに格納されたカウンタ値を確認する。この際、ホスト装置１０は、フォーマット情報に含まれる書き込み境界単位を参照することで、クラスタのサイズを認識する。また、ホスト装置１０は、フォーマット情報に含まれる物理ブロックサイズを参照することで、ＶＡＴ ＩＣＢ位置情報領域２のサイズを認識する。そして、最終のカウンタ値が格納されたクラスタ内のＶＡＴ ＩＣＢ位置情報を取得する（ステップＳＴ４１９）。
【０１００】
次に、ホスト装置１０は、ＶＡＴ ＩＣＢ位置情報を用いて、最終データ書き込み位置に格納されたＶＡＴ ＩＣＢを読み込む（ステップＳＴ４２０）。次に、ホスト装置１０は、この読み込んだＶＡＴ ＩＣＢを確認し、このＶＡＴ ＩＣＢがＵＤＦで定められた形式に沿った有効なＶＡＴ ＩＣＢであるか否かを判定する（ステップＳＴ４２１）。有効なＶＡＴ ＩＣＢである場合、ＶＡＴ ＩＣＢの取得に成功したため、ホスト装置１０は、このＶＡＴ ＩＣＢを用いて、ファイルへのアクセスを行う。
【０１０１】
ステップＳＴ４２１において有効なＶＡＴ ＩＣＢでない場合、ホスト装置１０は、ＶＡＴ ＩＣＢ位置情報領域２２Ｂに格納されたＶＡＴ ＩＣＢ位置情報が、何らかの理由で破壊されたものと判断し、前述したステップＳＴ４１３〜ＳＴ４１５を実行する。このようにして、ホスト装置１０は、ＶＡＴ ＩＣＢの取得動作を実行する。
【０１０２】
以上詳述したように本実施形態によれば、追加型のファイルシステムをＮＡＮＤ型フラッシュメモリを備えたメモリカードに適用することが可能となる。これにより、フラッシュメモリ２２での頻繁なデータの消去、書き換えがなくなる。この結果、効率の良いファイル書き込み及び書き換えが可能となる。
【０１０３】
また、メモリカード２０の論理フォーマット時、ＶＡＴ ＩＣＢ位置情報に関する管理情報（ＶＡＴ ＩＣＢ位置情報アドレスやＶＡＴ ＩＣＢ位置情報のサイズなど）をフォーマット情報としてメモリカード２０に格納することができる。これにより、ホスト装置１０は、ＶＡＴ ＩＣＢの取得を容易に行うことが可能となる。
【０１０４】
また、データ破壊に備えてＶＡＴ ＩＣＢ位置情報を２重化してＶＡＴ ＩＣＢ位置情報領域２２Ｂに格納している。これにより、ＶＡＴ ＩＣＢを取得できる確率をより向上させることができる。
【０１０５】
また、ＶＡＴ ＩＣＢ位置情報領域２２Ｂに格納されたＶＡＴ ＩＣＢ位置情報を用いてＶＡＴ ＩＣＢの取得に失敗した場合でも、フォーマット時の固定データを用いて最終データ書き込み位置を検出することができる。これにより、ＶＡＴ ＩＣＢを取得できる確率をより向上させることができるため、信頼性の高いＶＡＴ ＩＣＢ取得方式を提供することができる。
【０１０６】
なお、本実施形態では、ＵＤＦに準拠したファイルシステムが適用される記憶領域としてユーザーデータ領域３１を対象とした例を示したが、保護データ領域３４も同様のファイルシステムで管理される場合は保護データ領域３４に対しても本実施形態で示した方式を適用することができる。
【０１０７】
（第２の実施形態）
図１５は、ＵＤＦに準拠したファイルシステムをメモリカード２０に適用した場合（すなわち、ＵＤＦ形式でフラッシュメモリ２２がフォーマットされた場合）の、ホスト装置１０が認識しているユーザーデータ領域３１の構造を示す図である。図１５に示すように、ホスト装置１０は、メモリカード２０の記憶領域のうち、前述したユーザーデータ領域３１にデータを追記していく。
【０１０８】
ＵＤＦによってホスト装置１０がメモリカード２０にデータを書き込むと、メモリカード２０側では、ユーザーデータ領域３１の下位アドレスから上位アドレスに向けて、順次パケット単位でデータが書き込まれる。また、ファイルを更新するごとに、ＶＡＴが更新され、更新されたＶＡＴ ＩＣＢが最終書き込み位置に書き込まれる。書き込まれたファイルをアクセスするためには、ホスト装置１０は、ＶＡＴ ＩＣＢが書き込まれた位置を確認し、このＶＡＴ ＩＣＢを読み込む必要がある。
【０１０９】
また、ファイルの更新が繰り返されると、ユーザーデータ領域３１には複数のＶＡＴ ＩＣＢが作られていく。図１５では、ファイルが２回更新され、これに伴い３つのＶＡＴ ＩＣＢ（ＶＡＴ ＩＣＢ（１）〜ＶＡＴ ＩＣＢ（３））が書き込まれた場合を一例として示している。
【０１１０】
既に書きこまれたファイルをすべて正常にアクセスできるようにするためには、最新のＶＡＴ ＩＣＢの書き込みが正常に終了している必要がある。しかし、ファイルの書き込み中にメモリカード２０がホスト装置１０から引き抜かれた場合や、ホスト装置１０の電源が強制的に遮断された場合には、ＶＡＴ ＩＣＢの書き込みが正常に終了せず、最新のＶＡＴ ＩＣＢをホスト装置１０が読み込めなくなる。これにより、メモリカード２０全体の書き込み済みファイルにアクセスできなくなるという危険性がある。
【０１１１】
従って、過去に書きこまれたＶＡＴ ＩＣＢの位置情報をホスト装置１０が知ることができれば、ホスト装置１０はそれまでのＶＡＴ ＩＣＢを読み込むことができ、少なくともそれまでに書き込まれたファイルは読み込むことができる。このためには、ホスト装置１０が過去のＶＡＴ ＩＣＢ位置情報をメモリカード２０から読み込む機能が必要になる。本実施形態では、過去に正常に書きこまれたＶＡＴ ＩＣＢの検索を可能とすることで、少なくともその時点までに書き込まれたファイルを読み込むことができるようにしている。
【０１１２】
図１６は、管理データ領域３２の構成を示す図である。本実施形態では、過去に正常に書きこまれたＶＡＴ ＩＣＢの検索に用いられるアドレス情報などは、ＮＡＮＤ型フラッシュメモリ２２内の管理データ領域３２に格納される。この管理データ領域３２は、主にメモリカード２０に関する管理情報を格納し、通常は、メモリカード２０のセキュリティ情報やメディアＩＤなどのカード情報を格納する領域である。
【０１１３】
管理データ領域３２は、複数の物理ブロックから構成されている。ＶＡＴ ＩＣＢの検索に用いられるアドレス情報などは、管理データ領域３２のうち１つ或いは複数の物理ブロックに格納される。この物理ブロックの各物理ページには、最終アドレス領域３２Ａと、書き込み情報領域３２Ｂが設けられている。最終アドレス領域３２Ａには、ユーザーデータ領域３１に書き込まれたＶＡＴ ＩＣＢの最終論理アドレスが格納される。
【０１１４】
書き込み情報領域３２Ｂとしては、例えば、各物理ページの冗長領域が用いられる。書き込み情報領域３２Ｂには、管理データ領域３２内の物理ページへの書き込み済み／未書き込みを示すフラグが格納される。このフラグをホスト装置１０が確認することで、ホスト装置１０は、管理データ領域３２の物理ブロックのうち最終の書き込み領域の物理ページを認識することができる。例えば、管理データ領域３２内の物理ページは４Ｋバイト、最終アドレス領域３２Ａは８バイト、書き込み情報領域３２Ｂは１ビットに設定される。
【０１１５】
このように構成されたホスト装置１０及びメモリカード２０の動作について説明する。最初に、ＶＡＴ ＩＣＢの最終論理アドレス書き込み動作について説明する。図１７は、ホスト装置１０及びコントローラ２１におけるＶＡＴ ＩＣＢの最終論理アドレス書き込み動作を示すフローチャートである。
【０１１６】
まず、ホスト装置１０は、１つのファイルをメモリカード２０のユーザーデータ領域３１に追記し、さらにＶＡＴ ＩＣＢを追記書き込み済み領域の最後に書き込む（ステップＳＴ５０１）。続いて、ホスト装置１０は、メモリカード２０に対して、最終アドレス記憶コマンドを発行する（ステップＳＴ５０２）。
【０１１７】
最終アドレス記憶コマンドを受けて、コントローラ２１は、最後にデータ書き込みを行った最終論理アドレス（ステップＳＴ５０１により書き込まれたＶＡＴ ＩＣＢの最終論理アドレスに対応する）を、管理データ領域３２内の最終アドレス領域３２Ａに追記する（ステップＳＴ５０３）。さらに、コントローラ２１は、ステップＳＴ５０３により書き込まれた最終論理アドレスと同じ物理ページの書き込み情報領域３２Ｂに、書き込み済みを示すフラグ「０」を書き込む（ステップＳＴ５０４）。
【０１１８】
このようにして、管理データ領域３２にＶＡＴ ＩＣＢの最終論理アドレスを書き込むことができる。次のファイルがメモリカード２０に追記された場合、図１７に示した動作を繰り返すことで、管理データ領域３２内に最終論理アドレス及びフラグを追記する。このとき、現在使用している物理ブロックが一杯になったら、管理データ領域３２内の新たな物理ブロックのデータを消去して、この新たな物理ブロックに最終論理アドレス及びフラグを順次追記していく。その後は、これら２つ物理ブロック（或いは、２つ以上の物理ブロック）を順次繰り返して使用する。
【０１１９】
次に、ＶＡＴ ＩＣＢの読み出し動作について説明する。まず、ホスト装置１０は、メモリカード２０に対して、最終アドレス読み出しコマンドを、コマンドパラメータをｎ（ｎは０以上の整数）に設定して発行する。
【０１２０】
最終アドレス読み出しコマンドを受けて、コントローラ２１は、管理データ領域３２の最後の書き込みページからｎ個分前のページに格納されている最終論理アドレスを読み出す。そして、コントローラ２１は、この最終論理アドレスをホスト装置１０に送る。
【０１２１】
その後、ホスト装置１０は、最終論理アドレスを受け取り、この最終論理アドレスを用いてＶＡＴ ＩＣＢを取得することができる。さらに、ホスト装置１０は、ＶＡＴ ＩＣＢを用いて所望のファイルにアクセスすることができる。
【０１２２】
以上詳述したように本実施形態では、ファイルが更新されるごとに、ＶＡＴ ＩＣＢの位置情報を管理データ領域３２内の最終アドレス領域３２Ａに追記している。すなわち、メモリカード２０は、管理データ領域３２内に、過去に書き込まれたＶＡＴ ＩＣＢの位置情報を全て格納している。
【０１２３】
従って本実施形態によれば、ホスト装置１０は、最終アドレス読み出しコマンドを発行することで、過去に書き込まれたＶＡＴ ＩＣＢの位置情報を取得することができる。これにより、データ書き込み中にメモリカード２０がホスト装置１０から引き抜かれた場合でも、ファイル単位でＶＡＴ ＩＣＢを遡れるため、アクセスできなくなるファイルの数を最小限に抑えることが可能となる。
【０１２４】
（第３の実施形態）
第３の実施形態は、ユーザーデータ領域３１の冗長領域にフラグを書き込み、このフラグを用いてＶＡＴ ＩＣＢの位置情報を取得するようにしている。すなわち、管理データ領域３２を使用せず、ユーザーデータ領域３１のみの使用でＶＡＴ ＩＣＢの位置情報を取得することができる。
【０１２５】
図１８は、ＮＡＮＤ型フラッシュメモリ２２の物理ブロックの構成を示す図である。なお、図１８では、発明の理解を容易にするために、物理ブロックを構成する物理ページの数を実際よりも少なく示している。本実施形態では、過去に正常に書きこまれたＶＡＴ ＩＣＢの検索に用いられるフラグは、ＮＡＮＤ型フラッシュメモリ２２内のユーザーデータ領域３１に格納される。
【０１２６】
ユーザーデータ領域３１に対応する複数の物理ブロックを構成する各物理ページには、冗長領域３５が設けられている。この冗長領域３５の一部（本実施形態では、例えば２ビットを使用）には、書き込み済み／未書き込みを示すフラグが格納される。このフラグの種類としては、未書き込みを示すフラグが１種類（「１１」）、書き込み済みを示すフラグが２種類（「０１」及び「１０」）の計３種類が用意されている。
【０１２７】
このフラグをコントローラ２１が確認することで、ユーザーデータ領域３１の最終の書き込み領域の位置や、ファイル単位の最終の書き込み領域の位置を認識することができる。さらに、ファイル単位の最終の書き込み領域の位置の論理アドレスをホスト装置１０が認識することで、ホスト装置１０は、この位置に書き込まれているＶＡＴ ＩＣＢを読み出すことが可能となる。
【０１２８】
このように構成されたホスト装置１０及びメモリカード２０の動作について説明する。ホスト装置１０は、メモリカード２０のファーマット時にメモリカード２０に対して消去コマンドを発行し、ユーザーデータ領域３１を消去状態（物理ブロックの全領域に「１」を書き込む）にしておく。
【０１２９】
最初に、ＶＡＴ ＩＣＢの最終論理アドレス書き込み動作について説明する。図１９は、ホスト装置１０及びコントローラ２１におけるＶＡＴ ＩＣＢの最終論理アドレス書き込み動作を示すフローチャートである。
【０１３０】
まず、ホスト装置１０は、１つのファイルをメモリカード２０のユーザーデータ領域３１に追記し、さらにＶＡＴ ＩＣＢを追記書き込み済み領域の最後に書き込む（ステップＳＴ６０１）。これに対して、コントローラ２１は、論理アドレス−物理アドレス変換テーブルを用いて、論理アドレスを物理ブロックアドレス及び物理ページアドレスに変換して物理ブロックにデータを書き込む。この際、コントローラ２１は、各物理ページの冗長領域３５に、フラグ「０１」を同時に書き込む（ステップＳＴ６０２）。また、前述したフォーマット動作により、未書き込み領域の各物理ページのフラグは、消去状態を示す「１１」に設定されている。
【０１３１】
なお、ホスト装置１０側で管理されている論理アドレスと、フラッシュメモリ２２側の実際のアドレスである物理アドレスとの対応関係を示したものが論理アドレス−物理アドレス変換テーブルである。論理アドレスと物理アドレスとは一致せず、論理アドレス−物理アドレス変換テーブルを用いて論理アドレスを物理アドレスに変換した後、この物理アドレスに基づいて実際にアクセスすべき物理ブロックが特定される。この論理アドレス−物理アドレス変換テーブルは、ＲＡＭ２７に格納されている。
【０１３２】
ファイル及びＶＡＴ ＩＣＢの書き込みが終了する（例えば、ビジーが解除される）と、ホスト装置１０は、メモリカード２０に対して、最終アドレス記憶コマンドを発行する（ステップＳＴ６０３）。
【０１３３】
最終アドレス記憶コマンドを受けて、コントローラ２１は、以後に書き込む物理ページに対して、冗長領域３５に書き込むフラグの種類を「０１」に変更する。次の最終アドレス記憶コマンドが発行されると、コントローラ２１は、以後に書き込む物理ページに対して、冗長領域３５に書き込むフラグの種類を「１０」に変更する。以後同様に、コントローラ２１は、ファイルの書き込みごとに、冗長領域３５に書き込むフラグの種類を変更する。
【０１３４】
次に、ＶＡＴ ＩＣＢの読み出し動作について説明する。図２０は、コントローラ２１におけるＶＡＴ ＩＣＢの最終論理アドレス読み出し動作を示すフローチャートである。まず、ホスト装置１０は、メモリカード２０に対して、最終アドレス読み出しコマンドを、コマンドパラメータをｎ（ｎは０以上の整数）に設定して発行する。
【０１３５】
最終アドレス読み出しコマンドを受けて（ステップＳＴ７０１）、コントローラ２１は、論理アドレスに沿って各物理ページに格納されたフラグを参照して、書き込み済み領域の最上位の論理アドレスに対応する最終書き込み位置を検出する（ステップＳＴ７０２）。具体的には、コントローラ２１は、フラグが「１１」でない物理ページのうち、論理アドレスが最上位の物理ページを検出する。
【０１３６】
続いて、コントローラ２１は、最終書き込み位置から論理アドレスを遡り、フラグが「０１」から「１０」、及び「１０」から「０１」に変化する変化点を順番にカウントしていく。そして、コントローラ２１は、コマンドパラメータに対応するｎ番目の変化点を検出する（ステップＳＴ７０３）。
【０１３７】
続いて、コントローラ２１は、ｎ番目の変化点の論理アドレスをホスト装置１０に送る（ステップＳＴ７０４）。この論理アドレスは、過去のＶＡＴ ＩＣＢの最終論理アドレスに対応する。従って、ホスト装置１０は、この論理アドレスを用いてＶＡＴ ＩＣＢを取得することができる。さらに、ホスト装置１０は、ＶＡＴ ＩＣＢを用いて所望のファイルにアクセスすることができる。
【０１３８】
以上詳述したように本実施形態では、ファイルが更新されるごとに、物理ページの冗長領域３５に書き込むフラグを変更するようにしている。従って本実施形態によれば、フラグの変化点を検出することができる。そして、この変化点の論理アドレスを用いることで所望のファイルをアクセスすることができる。これにより、データ書き込み中にメモリカード２０がホスト装置１０から引き抜かれた場合でも、ファイル単位でＶＡＴ ＩＣＢを遡れるため、アクセスできなくなるファイルの数を最小限に抑えることが可能となる。
【０１３９】
また、本実施形態では、管理データ領域３２を使わずに、ユーザーデータ領域３１のみを用いて過去のＶＡＴ ＩＣＢを読み出すことが可能である。
【０１４０】
また、上記各実施形態では、ＵＤＦに準拠したファイルシステムについて説明したが、他の追記型のファイルシステムに適用することも可能である。また、各実施形態は、メモリカードとして、フラッシュメモリを用いた様々な種類のメモリカードに適用することも可能である。
【０１４１】
本発明は、上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲内で、構成要素を変形して具体化できる。また、実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を構成することができる。例えば、実施形態に開示される全構成要素から幾つかの構成要素を削除してもよいし、異なる実施形態の構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【０１４２】
【図１】本発明の第１の実施形態に係るホスト装置１０及びメモリカード２０の構成を示すブロック図。
【図２】ＮＡＮＤ型フラッシュメモリ２２の構成を示すブロック図。
【図３】ディレクトリ及びファイルの構造を説明する図。
【図４】ファイルエントリＩＣＢの構造を説明する図。
【図５】ホスト装置１０が認識しているメモリカード２０の記憶領域の構造を示す図。
【図６】フォーマット情報領域２２Ａに格納されるフォーマット情報を示す図。
【図７】固定位置方式におけるＶＡＴ ＩＣＢ位置情報領域２２Ｂの構成を示す図。
【図８】固定位置方式におけるホスト装置１０の追記動作を示すフローチャート。
【図９】領域内追記方式におけるＶＡＴ ＩＣＢ位置情報領域２２Ｂの構成を示す図。
【図１０】領域内追記方式におけるホスト装置１０の追記動作を示すフローチャート。
【図１１】ホスト装置１０のフォーマット動作を示すフローチャート。
【図１２】図１１に続くホスト装置１０のフォーマット動作を示すフローチャート。
【図１３】ホスト装置１０のＶＡＴ ＩＣＢ取得動作を示すフローチャート。
【図１４】図１３に続くホスト装置１０のＶＡＴ ＩＣＢ取得動作を示すフローチャート。
【図１５】本発明の第２の実施形態に係るホスト装置１０が認識しているユーザーデータ領域３１の構造を示す図。
【図１６】管理データ領域３２の構成を示す図。
【図１７】ホスト装置１０及びコントローラ２１におけるＶＡＴ ＩＣＢの最終論理アドレス書き込み動作を示すフローチャート。
【図１８】本発明の第３の実施形態に係るＮＡＮＤ型フラッシュメモリ２２の物理ブロックの構成を示す図。
【図１９】ホスト装置１０及びコントローラ２１におけるＶＡＴ ＩＣＢの最終論理アドレス書き込み動作を示すフローチャート。
【図２０】コントローラ２１におけるＶＡＴ ＩＣＢの最終論理アドレス読み出し動作を示すフローチャート。
【符号の説明】
【０１４３】
１０…ホスト装置、２０…メモリカード、２１…コントローラ、２２…ＮＡＮＤ型フラッシュメモリ、２２Ａ…フォーマット情報領域、２２Ｂ…ＶＡＴ ＩＣＢ位置情報領域、２３…ホストインターフェース回路、２４…ＭＰＵ、２５…データバッファ、２６…ＲＯＭ、２７…ＲＡＭ、２８…メモリインターフェース回路、２９…バス、３１…ユーザーデータ領域、３２…管理データ領域、３２Ａ…最終アドレス領域、３２Ｂ…書き込み情報領域、３３…機密データ領域、３４…保護データ領域、３５…冗長領域。
【図１】
2008123473.tif 000003
【図２】
2008123473.tif 000004
【図３】
2008123473.tif 000005
【図４】
2008123473.tif 000006
【図５】
2008123473.tif 000007
【図６】
2008123473.tif 000008
【図７】
2008123473.tif 000009
【図８】
2008123473.tif 000010
【図９】
2008123473.tif 000011
【図１０】
2008123473.tif 000012
【図１１】
2008123473.tif 000013
【図１２】
2008123473.tif 000014
【図１３】
2008123473.tif 000015
【図１４】
2008123473.tif 000016
【図１５】
2008123473.tif 000017
【図１６】
2008123473.tif 000018
【図１７】
2008123473.tif 000019
【図１８】
2008123473.tif 000020
【図１９】
2008123473.tif 000021
【図２０】
2008123473.tif 000022