(57)【特許請求の範囲】
【請求項１】
ファイルシステムにより格納データが管理され、外部から受信したコマンドにしたがいデータの書き込み、読み出しが可能な情報記録媒体であって、
外部からコマンド及びデータを受信する受信手段と、
第１のアクセス単位で、データの書き込みが管理される第１の記録領域と、
第１のアクセス単位よりも大きい第２のアクセス単位で、データの書き込みが管理される第２の記録領域と、
受信したコマンドにしたがい、前記第１または第２の記録領域に対するアクセスを制御する制御手段とを備え、
前記制御手段は、書き込みコマンドを受信したときに、前記受信データの種別に応じて第１及び第２の記録領域のいずれか一方を選択し、その選択した領域に受信データを書き込むよう制御を行い、ここで、前記制御手段は、前記データ種別をデータの書き込み位置に基づいて判断するものであり、
更に、
前記受信手段は、ファイルシステムにおいてファイルを管理するために必要な情報であるファイルシステム管理情報の位置や大きさに関する情報を外部より受信し、
前記情報記録媒体は、その受信したファイルシステム管理情報の位置や大きさに関する情報を保持するＦＳ管理情報レジスタをさらに備え、
前記制御手段は、書き込みコマンドを受信したときに、前記ＦＳ管理情報レジスタの値に基づきデータ種別を判断する
ことを特徴とする情報記録媒体。
【請求項２】
ファイルシステム管理情報の位置や大きさに関する情報を受信した際に、受信したファイルシステム管理情報の位置が前記第２の記録領域に含まれるか否かを判定し、含まれる場合は前記受信した位置を含む所定サイズのデータを、前記第２の記録領域から前記第１の記録領域に移動させる請求項１に記載の情報記録媒体。
【請求項３】
前記第１及び第２の記録領域をそれぞれ所定のデータ消去単位を有する不揮発性の記憶素子上に設けた場合に、前記所定サイズは該データ消去単位の大きな方の大きさと同じである請求項２に記載の情報記録媒体。
【請求項４】
前記制御手段は、書き込みコマンドを受信した際に、前記ＦＳ管理情報レジスタの値と、書き込みコマンドで指定された書き込み先アドレスとを比較することによりデータ種別を判断する請求項１に記載の情報記録媒体。
【請求項５】
請求項１記載の情報記録媒体にアクセスするアクセス装置であって、
前記ファイルシステム管理情報の位置や大きさに関する情報を情報記録媒体に通知するＦＳ管理情報通知手段を有し、
該ＦＳ管理情報通知手段は、前記ファイルシステム管理情報の書き込みに先立ち、ファイルシステム管理情報の位置や大きさに関する情報を前記情報記録媒体に通知するアクセス装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部装置よりデータの書き込み、読み出しが可能な情報記録媒体に関し、特に、格納するデータをファイルシステムにより管理する情報記録媒体及びその情報記録媒体にアクセスするアクセス装置に関する。
【背景技術】
【０００２】
音楽コンテンツや、映像データ等のデジタルデータを記録する記録媒体には、磁気ディスク、光ディスク、光磁気ディスク等、様々な種類が存在する。これら記録媒体の１つである半導体メモリカードは、記憶素子としてＦｌａｓｈＲＯＭ等の不揮発性半導体メモリを主に使用しており、記録媒体の小型化が図れることから、デジタルスチルカメラや携帯電話端末等、小型の携帯機器を中心に急速に普及しつつある。
【０００３】
半導体メモリカードに格納されたデータはファイルシステムにより管理されており、ユーザは格納されたデータをファイルとして容易に取り扱うことができる。従来使用されているファイルシステムとして、ＦＡＴファイルシステム（詳細は、非特許文献１参照）や、ＵＤＦファイルシステム（Ｕｎｉｖｅｒｓａｌ  Ｄｉｓｋ  Ｆｏｒｍａｔ）（詳細は、非特許文献２参照）、ＮＴＦＳファイルシステム（Ｎｅｗ  Ｔｅｃｈｎｏｌｏｇｙ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）等が存在する。これらファイルシステムによりデータが管理された半導体メモリカードは、同一のファイルシステムを解釈する機器間でファイルを共有することができるため、機器間でデータを授受することが可能となる。
【０００４】
従来のファイルシステムの一例としてＦＡＴファイルシステムについて説明する。ＦＡＴファイルシステムでは、アクセス装置が半導体メモリカードへのアクセスに使用する論理アドレス空間の先頭に管理情報領域が存在する。
【０００５】
管理情報領域は、領域割り当て単位やファイルシステムが管理する領域の大きさ等のファイルシステムにおいてファイルの管理に必要な情報を格納する。より具体的には、管理情報領域は、ファイルデータ（ユーザデータ）を管理するために必要なＦＡＴ、ルートディレクトリエントリ等のファイルシステム管理情報を格納する。
【０００６】
ＦＡＴは、ファイルに含まれるデータの物理的な格納位置に関する情報が格納される領域であり、通常、同じ情報を持つ２つのＦＡＴが半導体メモリカード内に存在し、一方のＦＡＴが破損したとしても他方のＦＡＴによりファイルにアクセスできるよう二重化されている。ルートディレクトリエントリは、ルートディレクトリ直下に存在するファイル、ディレクトリの情報（ディレクトリエントリ）が格納される領域である。
【０００７】
ＦＡＴファイルシステムでは、この管理情報領域に続く領域に、ファイルの実体データ（以下「ファイルデータ」という。）を格納するデータ領域が存在する。データ領域は複数のクラスタに分割されて管理される。
【０００８】
通常、ファイルデータは複数のクラスタに跨って格納される。各クラスタ間の繋がりは、ＦＡＴに格納されたリンク情報により管理される。また、ルートディレクトリ直下のディレクトリ内に存在するファイル、サブディレクトリの情報（ディレクトリエントリ）は、このデータ領域の一部を利用して格納される。
【０００９】
ＦＡＴファイルシステムでは、ファイルデータの格納とともに、ディレクトリエントリ及びＦＡＴが、ファイルデータの格納位置や大きさに関する情報を更新するために書き換わる。
【００１０】
すなわち、ＦＡＴファイルシステムでは、ファイルデータの格納に際し、ファイルデータ、ディレクトリエントリ、ＦＡＴの３つの管理情報（ファイルシステム管理情報）を半導体メモリカードに書き込む必要がある。ファイルデータは比較的大きなサイズのクラスタ単位で管理されることから、半導体メモリカードへの書き込みサイズは数１０ｋＢのように比較的大きくなる。これに対し、ディレクトリエントリ、ＦＡＴのようなファイルシステム管理情報は、変更量が少ないため５１２バイトのような比較的小さな単位で半導体メモリカードに書き込まれる。このように、ファイルデータと、ＦＡＴのようなファイルシステム管理情報とは、そのサイズが大きく異なる。
【００１１】
一方、半導体メモリカードの記憶素子として一般的に使用されるＦｌａｓｈメモリは、一定の大きさからなる消去ブロック単位で、一旦データを消去した後でなければデータを上書きできないという特徴を有しており、クラスタサイズが消去ブロックサイズに比べて小さい場合、クラスタ単位でデータ書き込みを行うと書き込み速度が低下するという問題がある。
【００１２】
従来、このような問題を解決する方法として、ＦＡＴ上で連続した空き領域を検索し、検索された複数の連続クラスタに対してデータを書き込むことにより、書き込み速度の低下を防止する方法が提案されている。この方法によれば、クラスタサイズが消去ブロックサイズに比べて小さい場合でも、高速にデータを書き込むことが可能となる（例えば、特許文献１参照）。
【特許文献１】特開２００２−９１８０６号公報
【非特許文献１】ＩＳＯ／ＩＥＣ９２９３，“Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ−Ｖｏｌｕｍｅ  ａｎｄ  ｆｉｌｅ  ｓｔｒｕｃｔｕｒｅ  ｏｆ  ｄｉｓｋ  ｃａｒｔｒｉｄｇｅｓ  ｆｏｒ  ｉｎｆｏｒｍａｔｉｏｎ”，１９９４年
【非特許文献２】ＯＳＴＡ  Ｕｎｉｖｅｒｓａｌ  Ｄｉｓｋ  Ｆｏｒｍａｔ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｒｅｖｉｓｉｏｎ  １．５０，１９９７年
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかし、上記の方法は、比較的サイズの大きいファイルデータをデータ領域に格納する際には高速な書き込みが可能となり有効であるが、ファイルシステム管理情報のような比較的サイズの小さいデータについては高速に書き込みが行えず有効ではない。
【００１４】
データ書き込み処理においては、１秒間に１回等、任意の周期でファイルシステム管理情報の更新が発生するため、全体的にデータ書き込み速度を更に高速化するためには、ファイルシステム管理情報の書き込み速度の高速化が不可欠である。
【００１５】
本発明は上記問題点を解決すべくなされたものであり、ファイルシステム管理情報とファイルデータのようなサイズの異なる２種類のデータを双方とも高速に記録可能な情報記録媒体、そのアクセス装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明に係る情報記録媒体は、ファイルシステムにより格納データが管理され、外部から受信したコマンドにしたがいデータの書き込み、読み出しが可能な情報記録媒体である。情報記録媒体は、外部からコマンド、データ、及びファイルシステムにおいてファイルを管理するために必要な情報であるファイルシステム管理情報の位置や大きさに関する情報を受信する受信手段と、第１のアクセス単位で、データの書き込みが管理される第１の記録領域と、第１のアクセス単位よりも大きい第２のアクセス単位で、データの書き込みが管理される第２の記録領域と、受信したコマンドにしたがい、第１または第２の記録領域に対するアクセスを制御する制御手段とを備える。制御手段は、書き込みコマンドを受信したときに、受信データの種別に応じて第１及び第２の記録領域のいずれか一方を選択し、その選択した領域に受信データを書き込むよう制御を行う。情報記録媒体は、受信手段で受信したファイルシステム管理情報の位置や大きさに関する情報を保持するＦＳ管理情報レジスタを備えている。制御手段は、ＦＳ管理情報レジスタに保持された、ファイルシステム管理情報の位置に関する情報に基づき前記受信データの種別を判断する。
【００１７】
第１の記録領域はファイルシステムにおいてファイルの管理に必要な情報であるフィルシステム管理情報を格納し、第２の記録領域はファイルシステムにより管理されるファイルの実体データを格納してもよい。
【００１８】
データ種別は、実体データを示す種別と、ファイルシステム管理情報を示す種別とを含んでもよい。
【００１９】
データ種別はコマンドの引数において指定され、制御手段は引数の値に基づいてデータ種別を判断してもよい。または、制御手段は、データ種別をデータの書き込み位置に基づいて判断してもよい。
【００２０】
本発明に係る第１のアクセス装置は、情報記録媒体を装着するスロットと、スロットに装着された情報記録媒体に対する、データの書き込み、読み出しを制御するアクセス制御手段と、スロットに装着された情報記録媒体上に構築されたファイルシステムを制御し、情報記録媒体に書き込みを行う際に、データとともにデータの種別に関する情報を情報記録媒体に送信するファイルシステム制御手段とを備える。
【００２１】
本発明に係る第２のアクセス装置は、ファイルシステム管理情報の位置や大きさに関する情報を情報記録媒体に通知するＦＳ管理情報通知手段を有する。ＦＳ管理情報通知手段は、ファイルシステム管理情報の書き込みに先立ち、ファイルシステム管理情報の位置や大きさに関する情報を情報記録媒体に通知する。
【００２２】
本発明に係る制御方法は、格納データをファイルシステムにより管理する情報記録媒体の制御方法である。制御方法は、第１の記録領域に対して、第１のアクセス単位でデータの書き込みを管理し、第２の記録領域に対して、第１のアクセス単位よりも大きい第２のアクセス単位でデータの書き込みを管理し、書き込みコマンドとともにデータ及び書き込み先を受信し、受信したデータの種別に応じて、データの書き込み領域として第１及び第２の記録領域のいずれか一方を選択し、選択した領域に受信したデータを書き込む。この制御方法において、書き込みコマンドとともにデータ種別に関する情報を受信し、その受信したデータ種別に関する情報に基づいてデータ種別を判断してもよい。
【００２３】
本発明に係る第１のアクセス方法は、上記の情報記録媒体にアクセスする方法であって、書き込みコマンドとともに、書き込みデータの種別を示す情報を情報記録媒体に送信する。
【００２４】
本発明に係る第２のアクセス方法は、上記の情報記録媒体にアクセスする方法であって、ファイルシステム管理情報の位置や大きさに関する情報を情報記録媒体に送信して、情報記録媒体において前記ファイルシステム管理情報を格納する領域を設定し、その後に、書き込みコマンドを、データ及び書き込み先アドレスとともに前記情報記録媒体に送信して、データの書き込みを行う。
【発明の効果】
【００２５】
本発明によれば、情報記録媒体にデータを書き込む際に、書き込みデータの種別に応じて情報記録媒体内のデータ記録領域を変更する。これにより、データ種別により異なるデータサイズに応じた好適な記録領域への書き込みが可能となるため、全体として高速なアクセス速度を実現することができる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の半導体メモリカード、及びアクセス装置の実施形態について、図面を参照して説明する。
【００２７】
実施の形態１
（半導体メモリカード及びアクセス装置の構成）
図１は本発明に係る半導体メモリカード及びアクセス装置の構成例を示す図である。図１に示すように、アクセス装置１００は、ＣＰＵ１０１、ＲＡＭ１０２、スロット１０３及びＲＯＭ１０４を含む。
【００２８】
ＲＯＭ１０４にはアクセス装置１００を制御するためのプログラム１０５〜１０７が格納されており、これらのプログラムはＲＡＭ１０２を一時記憶領域として使用し、ＣＰＵ１０１により実行され所定の機能を提供する。具体的には、ＲＯＭ１０４は、アプリケーションプログラム１０５、ファイルシステム制御プログラム１０６、アクセス制御プログラム１０７を含む。
【００２９】
アプリケーションプログラム１０５、ファイルシステム制御プログラム１０６、アクセス制御プログラム１０７はそれぞれ、アクセス装置１００全体の制御、半導体メモリカード１１０上に構築されたファイルシステムの制御、半導体メモリカード１１０に対するデータの読み込み、書き込み等のアクセス制御を行う。
【００３０】
具体的には、アプリケーションプログラム１０５はアクセス装置１００上で動作するアプリケーションを制御するプログラムであり、アクセス装置１００がオーディオプレーヤであれば音楽再生プログラムを、デジタルスチルカメラであれば静止画撮影プログラム等を含む。
【００３１】
ファイルシステム制御プログラム１０６はＣＰＵ１０１と協働することにより、ファイルシステム制御機能（ファイルシステム制御手段）を実現する。より具体的には、ファイルシステム制御プログラム１０６は、半導体メモリカード１１０に対する、データの書き込み、読み出しをファイル単位で管理する機能を提供する。
【００３２】
アクセス制御プログラム１０７はＣＰＵ１０１と協働することにより、アクセス制御機能（アクセス制御手段）を実現する。より具体的には、アクセス制御プログラム１０７は、半導体メモリカード１１０上に構築された論理アドレス空間に対し、処理開始アドレスと処理サイズを指定してデータの書き込み、読み出しを実行する機能を提供する。
【００３３】
スロット１０３は半導体メモリカード１１０とアクセス装置１００との接続部であり、制御信号及びデータがスロット１０３を経由してアクセス装置１００と半導体メモリカード１１０間で送受信される。
【００３４】
半導体メモリカード１１０は、ホストインターフェース部１１１、ＣＰＵ１１２、ＲＡＭ１１３、ＲＯＭ１１４、メモリコントローラ１１５、１１６、１１７、半導体メモリ１１８、１１９、１２０を含む。
【００３５】
ホストインターフェース部１１１は、アクセス装置１００と制御信号及びデータを送受信するインターフェースである。
【００３６】
ＲＯＭ１１４には半導体メモリカード１１０を制御するプログラムが格納されており、このプログラムはＲＡＭ１１３を一時記憶領域として使用し、ＣＰＵ１１２上で動作する。すなわち、ＣＰＵ１１２はＲＯＭ１１４に格納されたプログラムと協働し、半導体メモリカード１１０全体の動作を制御する制御手段を構成する。
【００３７】
また、本実施の形態では半導体メモリカード１１０内に３つの半導体メモリ１１８、１１９、１２０が存在しており、それぞれの半導体メモリはメモリコントローラ１１５、１１６、１１７により制御される。
【００３８】
第１の半導体メモリ１１８は書き換え単位が小さい記憶素子で構成される。例えば、第１の半導体メモリ１１８は、ＦｌａｓｈＲＯＭ等のＦｌａｓｈメモリ、または、ＦｅＲＡＭ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  Ｒａｎｄａｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ：強誘電体メモリ）等で構成され得る。ＦｅＲＡＭは、書き換え単位が小さく（例えば１バイト）、かつ長寿命の記憶素子である。なお、本実施形態では、説明の簡単化のため、第１の半導体メモリ１１８を書き換え単位が小さい（例えば５１２バイト）Ｆｌａｓｈメモリで構成した場合について説明する。第１の半導体メモリ１１８は、ファイルシステム管理情報格納領域１２１を有する。ファイルシステム管理情報格納領域１２１は、ファイルシステムにおいてファイルの管理に必要な情報である、領域管理情報、ファイル名、ファイルサイズ等のファイルシステム管理情報を格納する。
【００３９】
第２の半導体メモリ１１９は、ＦｌａｓｈＲＯＭ等の書き換え単位が大きく（例えば１６ｋＢ（キロバイト））、大容量の記憶素子で構成されており、ファイル内に記録されるデータ本体（実体データ）を格納するファイルデータ格納領域１２２を有する。
【００４０】
第３の半導体メモリ１２０は、第１、第２の半導体メモリ１１８、１１９で使用する記憶素子のいずれかで構成されている。第３の半導体メモリ１２０は、アクセス装置１００が使用する論理アドレス空間と、第１、第２の半導体メモリ１１８、１１９上の物理アドレス空間との対応を管理するアドレス管理情報１２３を格納する。第１、第２の半導体メモリ１１８、１１９上の領域は、アクセス装置１００が使用する論理アドレス空間に対応付けられており、アクセス装置１００は論理アドレスを用いて、第１、第２の半導体メモリ１１８、１１９上の領域にアクセスすることが可能である。これに対し、第３の半導体メモリ１２０上の領域は、半導体メモリカード１１０の内部処理にのみ使用され、論理アドレス空間に対応付けられていないため、アクセス装置１００からアクセスすることはできない。
【００４１】
本実施の形態では、アクセス装置１００からアクセス可能な領域として、特性の異なる２つの半導体メモリ１１８、１１９を半導体メモリカード１１０内に備え、アクセス装置１００から半導体メモリカード１１０にデータを書き込む際にデータの種別を指定し、その種別に応じてデータを格納する半導体メモリを決定する。これにより、データの特性に適した半導体メモリにデータを格納することが可能となり、半導体メモリカード１１０への高速アクセスが実現できる。
【００４２】
本実施形態において半導体メモリカード１１０の記憶素子として使用する半導体メモリの特徴について説明する。半導体メモリは、小型、軽量な情報記録媒体を実現することが可能であり、半導体メモリを使用した半導体メモリカードは様々な技術分野における情報記録媒体としての確固たる地位を築きつつある。現在半導体メモリカードに使用されている半導体メモリは、ＦｌａｓｈＲＯＭ等のＦｌａｓｈメモリが主流である。Ｆｌａｓｈメモリは、データを書き込む前に一旦書き込み先に記録されているデータを消去して、未記録の状態に戻してからデータ書き込みを行わなければならないという特徴がある。ここでデータを消去する単位は「消去ブロック」と呼ばれ、アクセスの最小単位であるセクタが複数個集まったブロックとして管理されている。本実施形態では、半導体メモリカード１１０内の半導体メモリとして以上のような特徴を持つＦｌａｓｈメモリを用いている。
【００４３】
図２はＦｌａｓｈメモリにおける消去ブロックとセクタとの関係の一例を示した図である。図２の例では、１つの消去ブロックは３２セクタから構成されており、アクセスはセクタ単位（例えば５１２バイト）で行うことが可能であるが、書き込みに先立ち必要となるデータの消去処理は、消去ブロック（１６ｋＢ）単位で行われる。
【００４４】
（半導体メモリにおけるデータ書き込み処理）
図３、図４を用いて、半導体メモリカード１１０における半導体メモリ１１８、１１９へのデータ書き込み処理を説明する。図３は、消去ブロック倍数長のデータを書き込む場合の処理手順を示し、図４は、１セクタのデータを書き込む場合の処理手順を示している。
【００４５】
最初に図３に示す処理について説明する。半導体メモリカード１１０は、アクセス装置１００から送信されたコマンドと引数をホストインターフェース部１１１を介して受信する（Ｓ３０１）。引き数には、データの書き込み位置、データの書き込みサイズ等が指定される。受信したコマンドを参照し、自身が認識できない不正コマンドか否かを判定する（Ｓ３０２）。不正コマンドの場合、アクセス装置にエラーを通知して処理を終了する（Ｓ３０３）。認識可能なコマンドの場合、そのコマンドが書き込みコマンドであるか判定する（Ｓ３０４）。書き込みコマンド以外の場合、各コマンドに対応した他の処理を実施する（Ｓ３０５）。書き込みコマンドの場合、コマンドと共に指定された引数が正しいか判定する（Ｓ３０６）。不正な引数と判定した場合、アクセス装置１００にエラーを通知して処理を終了する（Ｓ３０７）。
【００４６】
引数が正しいと判定した場合、引数に指定された書き込み位置、書き込みサイズの情報から、実際にデータを書き込む、半導体メモリ１１８、１１９の消去ブロックの物理アドレスを決定する（Ｓ３０８）。次に、書き込みに先立ち、メモリコントローラ１１５、１１６を介して、決定した物理アドレスの消去ブロックに存在するデータを消去する（Ｓ３０９）。次に、半導体メモリカード１１０は、アクセス装置１００から１セクタ分のデータを、ホストインターフェース部１１１を介して受信する（Ｓ３１０）。データの受信を完了すると、受信した１セクタ分のデータを、メモリコントローラ１１５、１１６を介して、半導体メモリ１１８、１１９へ書き込む（Ｓ３１１）。上記のデータ受信、書き込み処理（Ｓ３１０とＳ３１１）を、１消去ブロック分のデータ書き込みが完了するまで繰り返し実施する（Ｓ３１２）。１消去ブロック分のデータ書き込み処理（ステップＳ３０８〜Ｓ３１２）を、アクセス装置１００から指定された書き込みサイズ分のデータ書き込みが完了するまで繰り返し実施する（Ｓ３１３）。アクセス装置１００から指定された書き込みサイズ分のデータ書き込みが完了すると、処理を終了する。
【００４７】
図４に示す、１セクタ分のデータを書き込む処理を説明する。図４は、１消去ブロック中の１セクタ分のデータのみを新たに書き込む処理を説明している。このため、図３に示す処理とは次の点が異なる。データ書き込み前に、引数により指定されたデータが書き込まれるべき消去ブロックに元々書き込まれていたデータを一旦別の領域に退避させ（Ｓ４０９）、その後に、アクセス装置１００から受信した１セクタ分のデータをその消去ブロックに書き込み（Ｓ４１２）、さらに、その消去ブロックの残りの領域に、退避させたデータのうち１セクタ分のデータを除いたデータを書き込む（Ｓ４１３）。
【００４８】
Ｆｌａｓｈメモリでは、データ書き込みに先立ち一旦データを消去する必要があり、この消去処理は消去ブロック単位でしか行えないため、１セクタのデータを書き込む場合でも、ステップＳ４１０に示すように、１消去ブロック分のデータ消去が必要であり、ステップＳ４０９に示すように、データの退避が必要となる。更に、ステップＳ４１３に示すように、データが更新されるセクタと同一の消去ブロックに含まれる既存データを新しい消去ブロックに書き戻す必要がある。
【００４９】
図３、図４で示したようにデータ書き込み処理では、大きく分けてコマンド解釈処理、データ消去処理、データ記録処理の３つの処理が存在する。例えば、コマンド解釈のオーバーヘッドに３ｍ秒、１セクタのデータ記録処理に２００μ秒、１消去ブロック（１６ｋＢ）の消去処理に２ｍ秒かかるＦｌａｓｈメモリを想定する。このＦｌａｓｈメモリの１消去ブロック（１６ｋＢ）の書き込みでは図３に示す処理が実行され、コマンド解釈に３ｍ秒、消去処理に２ｍ秒、データ記録処理に３２×２００μ秒かかり、合計１１．４ｍ秒となる。同様に１セクタ（５１２Ｂ）の書き込みでは図４に示す処理が実行され、コマンド解釈に３ｍ秒、消去処理に２ｍ秒、データ記録処理に２００μ秒＋３１×２００μ秒かかり、合計１１．４ｍ秒となる。すなわち、１６ｋＢのデータを書き込んだ場合と１セクタのデータを書き込んだ場合でほぼ同じ時間がかかることになる。この例ではデータ転送時間等を考慮せず極端に性能差が出る場合について説明したが、実際のＦｌａｓｈメモリにおいても消去ブロック単位で書き込みを行った場合に書き込み時間が最短になる。
【００５０】
（ＦＡＴファイルシステム）
半導体メモリカード１１０内に格納されたデータを管理するＦＡＴファイルシステムについて説明する。
【００５１】
図５にＦＡＴファイルシステムの構成を示す。ファイルシステムは半導体メモリカード１１０内の論理アドレス空間上に構築されている。ＦＡＴファイルシステムでは、ＦＡＴファイルシステムにより管理する領域全体に対する管理情報を格納する管理情報領域５０１が論理アドレス空間の先頭に存在し、引き続いてファイル内のデータ等を格納するデータ領域５０２が存在する。管理情報領域５０１は、マスターブートレコード・パーティションテーブル５０３、パーティションブートセクタ５０４、ＦＡＴ５０５、５０６、ルートディレクトリエントリ５０７から構成される。
【００５２】
マスターブートレコード・パーティションテーブル５０３は、ファイルシステム管理領域を複数のパーティションと呼ばれる領域に分割して管理するための情報を格納する部分である。パーティションブートセクタ５０４は、１つのパーティション内の管理情報を格納する部分である。ＦＡＴ５０５、５０６は、ファイルに含まれるデータの物理的な格納位置を示す部分である。ルートディレクトリエントリ５０７は、ルートディレクトリ直下に存在するファイル、ディレクトリの情報を格納する部分である。また、ＦＡＴ５０５、５０６は、ファイルに含まれるデータの物理的な格納位置を示す重要な領域であることから、通常、管理情報領域５０１内に２つの同じ情報を持つＦＡＴ５０５、５０６が存在し、二重化されている。
【００５３】
データ領域５０２は複数のクラスタに分割され管理されており、各クラスタにはファイルに含まれるデータが格納されている。多くのデータを格納するファイル等は、複数のクラスタに跨ってデータを格納しており、各クラスタ間の繋がりは、ＦＡＴ５０５、５０６に格納されたリンク情報により管理されている。
【００５４】
図６、図７Ａ〜７Ｃ、図８Ａ〜８Ｃを用いてＦＡＴファイルシステムにしたがったファイルデータの書き込み例を説明する。図６はＦＡＴファイルシステムによるファイルデータの書き込みの処理手順を示した図である。図７Ａ〜７Ｃ、図８Ａ〜８Ｃはそれぞれ、書き込み処理前、処理後のディレクトリエントリ７０１、ＦＡＴ５０５、５０６、データ領域５０２の一例を示した図である。
【００５５】
ＦＡＴファイルシステムでは、ルートディレクトリエントリ５０７やデータ領域５０２の一部に、ファイル名やファイルサイズ、ファイル属性等の情報を格納したディレクトリエントリ７０１が格納されている。図７Ａは、ディレクトリエントリ７０１の一例を示し、図７Ｂは、ディレクトリエントリ７０１に対応するＦＡＴの部分を示している。ディレクトリエントリ７０１には、ファイル名、属性、タイムスタンプ、開始クラスタ番号、ファイルサイズが含まれる。図７Ａに示すディレクトリエントリは、ファイル名が”ＦＩＬＥ１．ＴＸＴ”であるファイルに関する情報を格納しており、このファイルに含まれるデータの先頭部分はクラスタ番号１０のクラスタに格納されており、ファイルサイズは６５０００バイトである。また、図７Ａでは１クラスタの大きさを１６３８４バイトと仮定している。図７Ｂに示す”０ｘＦＦＦＦ”はデータの終端を示し、図７Ｂから”ＦＩＬＥ１．ＴＸＴ”のデータは４クラスタに跨って格納されていることがわかる。
【００５６】
図６を用いて、ファイルデータの書き込み処理を説明する。ファイルデータ書き込み処理ではまず始めに書き込み対象ファイルのディレクトリエントリ７０１を読み込む（Ｓ６０１）。次に、読み込んだディレクトリエントリ７０１に格納された開始クラスタ番号を取得し、ファイルデータの先頭位置を確認する（Ｓ６０２）。次に、ＦＡＴ５０５、５０６を読み込み、取得したファイルデータの先頭位置から順にＦＡＴ５０５、５０６上でリンクを辿り、書き込み位置のクラスタ番号を取得する（Ｓ６０３）。次に、データ書き込みに際し、ファイルに新たに空き領域を割り当てる必要があるか判定する（Ｓ６０４）。空き領域の割り当てが必要な場合、ＦＡＴ５０５、５０６上で空き領域を検索し、１クラスタ分の空き領域をファイルの終端に割り当てる（Ｓ６０５）。空き領域の割り当てが不要な場合は、ステップＳ６０６に進む。
【００５７】
次に、現在参照しているデータ領域５０２のクラスタ内に書き込めるだけのデータを書き込む（Ｓ６０６）。次に、全データの書き込みが完了したか判定する（Ｓ６０７）。書き込むべきデータがまだ残っている場合、Ｓ６０４の処理に戻る。全データの書き込みが完了した場合、ディレクトリエントリ７０１内に格納されたファイルサイズやタイムスタンプ等を更新し、半導体メモリカード１１０に書き込む（Ｓ６０８）。最後にＦＡＴ５０５、５０６を半導体メモリカード１１０に書き込み、処理を完了する（Ｓ６０９）。
【００５８】
このファイルデータ書き込み処理により、図７Ａ〜７Ｃに示された６５０００バイトのデータを持つ”ＦＩＬＥ１．ＴＸＴ”に１０００バイトのデータを更に書き込んだ場合、図８Ａ〜８Ｃに示すような６６０００バイトのデータを持つファイルに変化する。
【００５９】
このようにＦＡＴファイルシステムでは、ファイルデータを半導体メモリカード１１０に書き込むときには、ファイルデータをデータ領域５０２に書き込むと共に、ファイルシステム管理情報をも書き込む。ファイルシステム管理情報は、ファイルに関する情報を含むディレクトリエントリ７０１や、データ領域５０２の領域管理を行うＦＡＴ５０５、５０６等を含む。ファイルシステム管理情報はファイルデータが更新される度に半導体メモリカード１１０に記録する必要があることから、ファイルシステム管理情報を記録する領域は、ファイルデータを記録する領域に比べ更新頻度が高くなる。
【００６０】
また、ファイルデータが比較的大きな単位で半導体メモリカード１１０に書き込まれるのに比べ、ファイルシステム管理情報は数バイト程度の小さな単位で書き込まれる。一方、半導体メモリカード１１０に使用されるＦｌａｓｈメモリの最適な書き込み単位は、Ｆｌａｓｈメモリの大容量化に伴い、数１０ｋＢ〜数１００ｋＢと大きくなりつつある。ファイルシステム管理情報のような数バイト程度のデータを、数１０ｋＢ〜数１００ｋＢの大きなアクセス単位で書き込むと、無効な領域が発生し、アクセス速度が低下する。
【００６１】
そのため、本実施の形態では、図１に示すように、半導体メモリカード１１０は、ファイルシステム管理情報を格納する第１の半導体メモリ１１８と、ファイルデータを格納する第２の半導体メモリ１１９と、第１、第２の半導体メモリ１１８、１１９内の記録領域と論理アドレス空間の対応を管理するアドレス管理情報１２３とを備える。その構成において、半導体メモリカード１１０にアクセスするアクセス装置１００は半導体メモリカード１１０に対するデータ書き込み時にデータの種別を指定し、半導体メモリカード１１０はその種別に応じてデータの書き込み先（第１の半導体メモリ１１８または第２の半導体メモリ１１９）を決定する。
【００６２】
以上の構成により、サイズの大きいファイルデータを、最適なアクセス単位が比較的大きい半導体メモリに格納し、サイズの小さいファイルシステム管理情報を、最適なアクセス単位が比較的小さい半導体メモリに格納することが可能になる。これにより、半導体メモリカード１１０内の記録領域に無効な領域を発生させず、半導体メモリカード１１０に対する高速アクセスを実現することが可能となる。また、更新頻繁が小さいファイルデータを寿命が短い半導体メモリに格納し、更新頻繁が大きいファイルシステム管理情報を寿命が長い半導体メモリに格納することが可能になるため、半導体メモリカード１１０の寿命を延ばすことも可能となる。
【００６３】
（半導体メモリカード及びアクセス装置の動作）
本実施の形態における半導体メモリカード１１０及びアクセス装置１００の動作について具体的に説明する。
【００６４】
本実施の形態では、アクセス装置１００が半導体メモリカード１１０に書き込みを行う際、書き込みコマンドの引数でデータ種別を示す情報を指定する。書き込みコマンド（Ｗｒｉｔｅコマンド）の形式は以下のとおりである。
Ｗｒｉｔｅ（ｂｕｆ，ｓｉｚｅ，aｄｄｒ，ｄａｔａ＿ｋｉｎｄ）
ｂｕｆ：書き込みデータを格納するバッファ、
ｓｉｚｅ：書き込みサイズ、
ａｄｄｒ：書き込みアドレス、
ｄａｔａ＿ｋｉｎｄ：データ種別
”ｂｕｆ”、”ｓｉｚｅ”、”ａｄｄｒ”の各引数は従来の半導体メモリカードにおける書き込みコマンドと同様の引数である。
【００６５】
本実施の形態では、特に、引数に”ｄａｔａ＿ｋｉｎｄ”を設けている点に特徴がある。”ｄａｔａ＿ｋｉｎｄ”には、書き込みコマンドに渡すデータの種別として、“ファイルデータ”あるいは“ファイルシステム管理情報”のいずれかを指定する。データ種別は、アクセス装置１００上で動作しているファイルシステム制御機能が管理し、半導体メモリカード１１０に指定する。本実施の形態では、このデータ種別に基づいて半導体メモリカード１１０がデータ書き込み先の半導体メモリを決定する。
【００６６】
（データ書き込み処理）
図９を用いて、本実施の形態における半導体メモリカード１１０におけるデータ書き込み処理を説明する。
【００６７】
図９において、まず、半導体メモリカード１１０はアクセス装置１００からコマンドを受信する（Ｓ９０１）。次に、受信したコマンドを参照し、自身が認識できない不正コマンドか否かを判定する（Ｓ９０２）。不正コマンドの場合、アクセス装置１００にエラーを通知して処理を終了する（Ｓ９０３）。認識可能なコマンドの場合、そのコマンドがＷｒｉｔｅコマンドであるか否かを判定する（Ｓ９０４）。Ｗｒｉｔｅコマンド以外の場合、各コマンドに対応した他の処理を実施する（Ｓ９０５）。Ｗｒｉｔｅコマンドの場合、コマンドと共に渡された引数が正しいか否か判定する（Ｓ９０６）。不正なアドレスが指定された場合等、Ｗｒｉｔｅ処理を実施できない引数が指定されたと判断した場合、アクセス装置１００にエラーを通知して処理を終了する（Ｓ９０７）。
【００６８】
引数が正しい場合、引数の”ｄａｔａ＿ｋｉｎｄ”を参照して、ファイル種別が“ファイルデータ”であるか“ファイルシステム管理情報”であるかを判定する（Ｓ９０８）。
【００６９】
ｄａｔａ＿ｋｉｎｄが“ファイルデータ”の場合、第２の半導体メモリ１１９内にデータを書き込む（Ｓ９０９）。この処理の詳細は後述する。続いて、書き込み処理が成功したか否か判定する（Ｓ９１０）。書き込み処理が失敗した場合、アクセス装置１００にエラーを通知して処理を終了する（Ｓ９１１）。書き込み処理が成功した場合、アクセス装置１００に書き込み終了を通知し処理を終了する（Ｓ９１５）。
【００７０】
ｄａｔａ＿ｋｉｎｄが“ファイルシステム管理情報”の場合、第１の半導体メモリ１１８内にデータを書き込む（Ｓ９１２）。本処理はステップＳ９０９の処理とほぼ同様の処理であり、その詳細は後述する。続いて、書き込み処理が成功したか否か判定する（Ｓ９１３）。書き込み処理が失敗した場合、アクセス装置１００にエラーを通知して処理を終了する（Ｓ９１４）。書き込み処理が成功した場合、アクセス装置１００に書き込み終了を通知し処理を終了する（Ｓ９１５）。
【００７１】
次に、図１０、１１を用いて、上記ステップＳ９０９、Ｓ９１２における第２の半導体メモリ１１９、第１の半導体メモリ１１８に対する書き込み処理を説明する。最初に、アドレス管理情報１２３について説明する。図１０に、半導体メモリカード１１０内のアドレス管理情報１２３の構成を示す。
【００７２】
アドレス管理情報１２３は、半導体メモリカード１１０内の物理的な記録領域（ブロック）の位置を示す物理アドレスと、アクセス装置１００が使用する論理的な記録領域（ブロック）の位置を示す論理アドレスとの対応関係を示す論物変換テーブル１２５と、各記録領域（ブロック）の使用状態を管理するエントリテーブル１２７とを含む。なお、アドレスが割り当てられる記録領域の単位（ブロック）は、Ｆｌａｓｈメモリにおける消去ブロックとしている。
【００７３】
図１０のアドレス管理情報１２３は、論理アドレスが０から（Ｎ−１）まで存在し、合計Ｎ個のブロックを管理している。また、論理アドレスは第２の半導体メモリ１１９用のアドレスとして０から（Ｍ−１）が、第１の半導体メモリ１１８用のアドレスとしてＭから（Ｎ−１）が割り当てられている。すなわち、Ｎブロックの論理アドレス空間の内、Ｍブロックは第２の半導体メモリ１１９内に存在、（Ｎ−Ｍ）ブロックは第１の半導体メモリ１１８内に存在する。
【００７４】
論物変換テーブル１２５は半導体メモリカード１１０内に存在する論理ブロックの数に等しい数のエントリから構成され、各エントリは論理アドレスと対応付けられた物理アドレスを格納している。図１０の例では、論理アドレス０から３までの領域に、物理アドレス０から３までの領域がそれぞれ対応付けられており、更に論理アドレス４、５の領域に、物理アドレスＭ、（Ｍ＋３）の領域が対応付けられている。
【００７５】
エントリテーブル１２７は半導体メモリカード１１０内に存在する物理ブロックの数に等しい数のエントリから構成され、各エントリは物理ブロックの使用状態を示すフラグを格納している。フラグの値において“００”は有効ブロックを、“１１”は無効ブロックを、“１０”は不良ブロックをそれぞれ示す。すなわち、物理アドレス０から３、Ｍ、（Ｍ＋３）の領域は有効ブロックであり、それ以外の領域は無効ブロックである。有効ブロックは有効なデータが書き込まれているブロックであり、無効ブロックは有効なデータが書き込まれていないブロックである。
【００７６】
図１１は、図９のステップＳ９０９、Ｓ９１２の詳細な処理を示した図である。図１１において、まず、Ｗｒｉｔｅコマンドの引数に基づいてデータ種別を判断する（Ｓ１００１）。そのデータ種別に応じて、半導体メモリカード１１０内のアドレス管理情報１２３を参照して無効ブロックの取得先を決定する。
【００７７】
書き込みデータの種別が“ファイルデータ”の場合、ファイルデータ格納領域１２２を有する第２の半導体メモリ１１９からデータ書き込み先の無効ブロックを特定する（Ｓ１００２）。このため、アドレス管理情報１２３を参照し、物理アドレス０から（Ｍ−１）の領域に存在する無効ブロックから１ブロックを特定する。
【００７８】
一方、書き込みデータの種別が“ファイルシステム管理情報”の場合、ファイルシステム管理情報格納領域１２１を有する第１の半導体メモリ１１８からデータ書き込み先の無効ブロックを特定する（Ｓ１００３）。このため、アドレス管理情報１２３を参照し、物理アドレスＭから（Ｎ−１）の領域に存在する無効ブロックから１ブロックを特定する。
【００７９】
次に、データ書き込みに先立ち、特定した無効ブロックに格納されているデータを消去し（Ｓ１００４）、その無効ブロックにデータを書き込む（Ｓ１００５）。次に書き込みが成功したか否かを判定する（Ｓ１００６）。
【００８０】
書き込みが失敗した場合、エラー終了する（Ｓ１００７）。書き込みが成功した場合、新データを格納したブロックのフラグを”有効ブロック（００）”とし、旧データを格納していたブロックのフラグを”無効ブロック（１１）”とするように、エントリテーブル１２７を更新する（Ｓ１００８）。なお、旧データとは、Ｗｒｉｔｅコマンドに指定された論理アドレスに対応する物理アドレスのブロックが有効ブロックであった場合に、その有効ブロックに格納されているデータのことである。
【００８１】
最後に、書き込み対象の論理アドレス（Ｗｒｉｔｅコマンドの引数で指定されたアドレス）に対して新データを格納した物理アドレスが対応付けられるよう、論物変換テーブル１２５を更新する（Ｓ１００７）。
【００８２】
更に、図１１において、第１、第２の半導体メモリ１１８、１１９でブロックサイズが異なる場合は、論物変換テーブル１２５上では、小さい方のブロックサイズでアドレス管理を行い、ブロックサイズが大きな半導体メモリにデータを格納するときは、論物変換テーブル１２５上で連続領域を確保するように管理を行うことで、本実施の形態で説明した上記の方法を適用することが可能である。
【００８３】
以上説明したように、本実施の形態では、アクセス装置１００がデータ書き込み時にデータを半導体メモリカード１１０に送信すると共に、データ種別として“ファイルデータ”及び“ファイルシステム管理情報”のいずれかを指定する。半導体メモリカード１１０は、書き込みデータの種別が“ファイルデータ”であれば、アクセス単位が大きく、更新寿命が短い第２の半導体メモリ１１９に格納し、一方、書き込みデータの種別が“ファイルシステム管理情報”であれば、アクセス単位が小さく、更新寿命が長い第１の半導体メモリ１１８に格納する。これにより、半導体メモリカード１１０に対する高速アクセスを実現でき、また、その寿命を延ばすことも可能となる。
【００８４】
なお、本実施の形態では、アクセス装置１００が書き込み時にデータ種別を指定し、半導体メモリカード１１０内で書き込み先を決定する点に特徴があり、図１１で説明した書き込み処理は一例である。
【００８５】
すなわち、書き込みに先立ち消去処理が不要な半導体メモリを使用した場合は消去処理を省略しても良い。消去のタイミングはデータ書き込み直前ではなくデータ書き込み直後でも良いし、任意のタイミングで一括消去しても良い。
【００８６】
また、アドレス管理情報として、論理ブロック数と物理ブロック数が同じ場合について説明を行ったが、代替領域を用意する等の目的により、物理ブロック数が多い半導体メモリカードに対しても、本発明の思想は適用できる。
【００８７】
また、アドレス管理情報１２３を第１の半導体メモリ１１８及び第２の半導体メモリ１１９に含め、第３の半導体メモリ１２０を削除した構成としても良い。
【００８８】
また、第１及び第２の半導体メモリは、最適なアクセス単位及び寿命の少なくとも一方が異なれば、ＦｌａｓｈＲＯＭ、ＥＥＰＲＯＭ、ＦｅＲＡＭ、ＭＲＡＭ（Ｍａｇｎｅｔｏｒｅｓｉｓｔｉｖｅ  ＲＡＭ：磁気抵抗ＲＡＭ）等のどの不揮発性メモリを使用しても良い。
【００８９】
また、本実施の形態ではファイルシステムとしてＦＡＴファイルシステムを一例として説明したが、ＵＤＦファイルシステム、ＮＴＦＳファイルシステム等、他のファイルシステムを用いても良い。
【００９０】
実施の形態２
実施の形態１の半導体メモリカードは、最適なアクセス単位の異なる２つの半導体メモリを備え、ファイルデータとファイルシステム管理情報とをそれぞれ別々の半導体メモリに格納するようにしていた。これに対し、本実施形態の半導体メモリカードは１つの半導体メモリの記録領域を２つの領域に分割し、各領域のアクセス単位（管理方法）を異ならせ、ファイルデータとファイルシステム管理情報とをそれぞれ別々の領域に格納するようにしている。このように構成しても実施の形態１と同様にアクセス速度の高速化が図れる。
【００９１】
（半導体メモリカード及びアクセス装置の構成）
図１２に本発実施形態における半導体メモリカード及びアクセス装置の構成を示す。なお、図１２において、図１に示す構成要素と同じ構成要素は、実施の形態１のものと同様の動作を行い、同様の機能を実現する。
【００９２】
アクセス装置１００ｂは、ＣＰＵ１０１、ＲＡＭ１０２、スロット１０３、ＲＯＭ１０４ｂを含む。ＲＯＭ１０４ｂは、アプリケーションプログラム１０５、ファイルシステム制御プログラム１０６、アクセス制御プログラム１０７、ＦＳ管理情報通知プログラム１０８を含む。
【００９３】
ＦＳ管理情報通知プログラム１０８は、ファイルシステム管理情報の位置や大きさに関する情報を半導体メモリカード１１０ｂに通知するＦＳ管理情報通知機能（ＦＳ管理情報通知手段）を提供する。これにより、半導体メモリカード１１０ｂは予めファイルシステム管理情報の位置や大きさを把握することができ、アクセスコマンドによりアクセス装置１００ｂからアクセス命令が発行された際に、アドレスに基づきデータの種別を判別し、データ種別に応じて半導体メモリカード１１０ｂ内部の処理を変更することが可能となる。
【００９４】
図１２に示すように、半導体メモリカード１１０ｂは、ホストインターフェース（Ｉ／Ｆ）部１１１、ＣＰＵ１１２、ＲＡＭ１１３、ＲＯＭ１１４、メモリコントローラ２５、ＦＳ管理情報格納レジスタ２６及び不揮発性メモリ２７を含む。
【００９５】
ＦＳ管理情報格納レジスタ２６は、アクセス装置１００ｂのＦＳ管理情報通知機能により通知されたファイルシステム管理情報の位置や大きさに関する情報を格納する手段である。
【００９６】
不揮発性メモリ２７は、主にファイルシステム管理情報を格納する第１の記録領域２７１と、ファイルデータを格納する第２の記録領域２７２と、アドレス管理情報を格納するアドレス管理情報格納領域２７３とを含む。なお、第１の記録領域２７１と第２の記録領域２７２とは、データ管理方法（データ管理単位）が異なる（詳細は後述）。
【００９７】
メモリコントローラ２５は、不揮発性メモリ２７に格納されたアドレス管理情報に基づき記録領域のアドレス管理を行うアドレス管理部２５１と、不揮発性メモリ２７に対するアクセス制御を行う不揮発性メモリアクセス部２５２とを含む。
【００９８】
本実施形態では、アクセス装置１００ｂから半導体メモリカード１１０ｂに予めファイルシステム管理情報の位置や大きさを通知しておき、アクセスコマンドによりアクセス装置１００ｂから半導体メモリカード１１０ｂに対するアクセス命令が発生した際にデータの種別を判別し、データ種別に応じて半導体メモリカード内のデータ書き込み処理を変更することにより、アクセス速度の低下を防止する。
【００９９】
（不揮発性メモリの内部構成）
図１３は本実施形態の半導体メモリカード１１０ｂにおける不揮発性メモリ２７のアドレス空間の一例を示した図である。同図に示すように、不揮発性メモリ２７は、５１２バイトの比較的小さな単位でデータのアクセスを管理する第１の記録領域２７１と、１６ｋＢの比較的大きな単位でデータのアクセスを管理する第２の記録領域２７２と、アドレス管理情報格を格納するアドレス管理情報格納領域２７３とを有する。本例では、第１の記録領域２７１の大きさは１６０ｋＢ、第２の記録領域２７２の大きさは６４８００ｋＢ、アドレス管理情報格納領域２７３の大きさは５７６ｋＢとしている。
【０１００】
不揮発性メモリ２７は、上書きする場合には、データ書き込み前に消去ブロック単位でのデータ消去が必要であるという特性を有し、一部の消去ブロックが物理的に破壊され記録不能となった場合に代替するための領域である代替領域を含んでいる。なお、消去ブロックの大きさは１６ｋＢである。
【０１０１】
第１の記録領域２７１と第２の記録領域２７２とはそれぞれ管理方法が異なる。第１の記録領域２７１では、５１２バイト（＝１セクタ）単位でデータの読み出し／書き込みが実行されるのに対し、第２の記録領域２７２では、１６ｋＢ（＝３２セクタ＝１消去ブロック）単位でデータの読み出し／書き込みが実行される。すなわち、第１の記録領域２７１は、データサイズが１６ｋＢより小さいデータの書き込みに適しており、第２の記録領域２７２は、データサイズが１６ｋＢより大きいデータの書き込みに適している。
【０１０２】
半導体メモリカード１１０ｂは、予めアクセス装置１００ｂから取得したファイルシステム管理情報の位置や大きさに関する情報をもとに、書き込みデータの種別を判別し、書き込みデータがファイルシステム管理情報であれば第１の記録領域２７１へ記録し、書き込みデータがファイルデータであれば第２の記録領域２７２へ記録する。
【０１０３】
（アクセス管理情報）
図１４は、本実施形態の半導体メモリカード１１０ｂにおけるアドレス管理情報の一例を示した図である。アドレス管理情報は、アクセス装置１００ｂが認識する論理アドレスと半導体メモリカード１１０ｂ内の不揮発性メモリ２７上の物理的なアドレス空間を表す物理アドレスとを変換する論物変換テーブル５１と、不揮発性メモリ２７上の各物理領域の状態を示すリンクテーブル５３とからなる。
【０１０４】
論物変換テーブル５１は、論理アドレス空間に存在する全アドレスと同数の要素を含むテーブルであり、各要素には対応する物理アドレスの値が格納されている。図１４では、論理アドレスに物理アドレスが割り当てられていない状態を“−”で表している。図１４の例では、論理アドレス空間の０番地から１２７番地までの領域がそれぞれ物理アドレス空間の３２０番地から４４７番地に割り当てられており、それ以外の領域は未割り当ての状態となっている。
【０１０５】
リンクテーブル５３は、第１の記録領域用の部分と、第２の記録領域用の部分とに分割して管理されている。図１４の例では、物理アドレス空間の０番地から３１９番地までの領域が第１の記録領域用の部分であり、３２０番地以降の領域が第２の記録領域用の部分である。リンクテーブル５３において、“００”は、既に論理アドレスに割り当てられておりデータ格納に使用されている有効ブロックを、“１１”は、論理アドレスに割り当てられていない、データ格納に使用可能な消去済みブロックを、“１０”は、論理アドレスに割り当てられていない未消去ブロックでありデータを消去した後データ格納が可能となる無効ブロックを、それぞれ表している。
【０１０６】
以上のように構成されるアクセス装置１００ｂ及び半導体メモリカード１１０ｂの動作を説明する。
【０１０７】
（アクセス装置の動作）
アクセス装置１００ｂの書き込み動作について説明する。半導体メモリカード１１０ｂにファイルデータを記録する場合、ファイルデータとともに、半導体メモリカード１１０ｂ内の領域割り当て状態や、ファイル名、ファイルサイズ等のファイルシステム管理情報を記録する必要がある。ＦＡＴファイルシステムの場合、ファイルシステム管理情報は、ＦＡＴ１、ＦＡＴ２及びディレクトリエントリに相当する。すなわち、ＦＡＴファイルシステムの場合、図１５Ａに示すようにデータ、ＦＡＴ１、ＦＡＴ２、ディレクトリエントリ（ＤＩＲ）の順で半導体メモリカード１１０ｂに記録し、これを一定周期で繰り返すことにより、ファイルデータ全体が記録される。
【０１０８】
図１５Ｂは、図１５Ａのデータシーケンスに対してアクセス装置１００ｂが発行するコマンドシーケンスを示した図である。図１５Ｂのコマンドシーケンスに示すように、本実施形態では、半導体メモリカード１１０ｂへの書き込みコマンド発行前に、ファイルシステム管理情報の位置、大きさを設定する”ＳｅｔＦＳＩｎｆｏＡｄｄｒ”コマンドが発行される。ここで、”ＳｅｔＦＳＩｎｆｏＡｄｄｒ”コマンドについて説明する。
【０１０９】
”ＳｅｔＦＳＩｎｆｏＡｄｄｒ”コマンドは、アクセス装置１００ｂが、半導体メモリカード１１０ｂ内の不揮発性メモリ２７においてファイルシステム管理情報の位置（論理アドレス）と大きさを設定するためのコマンドである。このコマンドにより、半導体メモリカード１１０ｂはファイルシステム管理情報を格納する領域を認識できる。その形式は次のとおりである。
ＳｅｔＦＳＩｎｆｏＡｄｄｒ（ａｄｄｒ、ｓｉｚｅ）
ａｄｄｒ：開始位置（論理アドレス）
ｓｉｚｅ：サイズ（セクタ数）
【０１１０】
図１５Ｂの例では、最初の３つのコマンドにより、論理アドレス空間３２番地から１セクタ分の領域がＦＡＴ１の領域として設定され、論理アドレス空間３４番地から１セクタ分の領域がＦＡＴ２の領域として設定され、論理アドレス空間６４番地から１セクタ分の領域がディレクトリエントリの領域として設定される。このように、アクセス装置１００ｂがデータ書き込み前にＳｅｔＦＳＩｎｆｏＡｄｄｒコマンドを発行して、ファイルシステム管理情報の位置を事前に設定する。なお、ＳｅｔＦＳＩｎｆｏＡｄｄｒコマンドは、半導体メモリカード１１０ｂがアクセス装置１００ｂに挿入されたときや、アクセス装置１００ｂの電源投入時等に一度発行されればよく、データ書き込み処理を行う度に発行される必要はない。
【０１１１】
＜ＳｅｔＦＳＩｎｆｏＡｄｄｒコマンド処理＞
図１６を用いて、半導体メモリカード１１０ｂにおけるＳｅｔＦＳＩｎｆｏＡｄｄｒコマンドの処理手順を説明する。
【０１１２】
半導体メモリカード１１０ｂはアクセス装置１００ｂのＦＳ管理情報通知機能により発行されたコマンドを受信すると（Ｓ１６０１）、受信したコマンドを参照し、自身が認識できない不正コマンドか否かを判定する（Ｓ１６０２）。不正コマンドであった場合、アクセス装置にエラーを通知し（Ｓ１６０３）、処理を終了する。
【０１１３】
不正コマンドでなかった場合、受信したコマンドがＳｅｔＦＳＩｎｆｏＡｄｄｒコマンドであるか否か判定する（Ｓ１６０４）。ＳｅｔＦＳＩｎｆｏＡｄｄｒコマンドではなかった場合、そのコマンドに対応した処理を実施し（Ｓ１６０５）、処理を終了する。
【０１１４】
ＳｅｔＦＳＩｎｆｏＡｄｄｒコマンドであった場合、コマンドと共に渡された引数が正しいか否か判定する（Ｓ１６０６）。ＳｅｔＦＳＩｎｆｏＡｄｄｒコマンドの引数は、ファイルシステム管理情報を格納している論理アドレスを示す“ａｄｄｒ”と、ファイルシステム管理情報の大きさを示す“ｓｉｚｅ”を含む。ａｄｄｒに不正なアドレスを指定された場合等、引数が誤っていると判定した場合、アクセス装置にエラーを通知し（Ｓ１６０７）、処理を終了する。
【０１１５】
引数が正しいと判定した場合、ａｄｄｒで指定された論理アドレスが第２の記録領域２７２に存在するか判定する（Ｓ１６０８）。
【０１１６】
第２の記録領域２７２に存在しない場合、ＦＳ管理情報格納レジスタ２６に、指定された論理アドレス、大きさを格納し（Ｓ１６１２）、処理を終了する。
【０１１７】
第２の記録領域２７２に存在する場合、第１の記録領域２７１内で１消去ブロック分の空き領域を確保し、指定された論理アドレスを含む１消去ブロック分のデータを、第２領域２７２から確保した空き領域にコピーする（Ｓ１６０９）。
【０１１８】
その後、指定された論理アドレスを含む１消去ブロック分のデータを、第２の記録領域２７２から消去する（Ｓ１６１０）。アドレス管理情報を更新する（Ｓ１６１１）。そして、ＦＳ管理情報格納レジスタ２６に、指定された論理アドレス、大きさを格納し（Ｓ１６１２）、処理を終了する。
【０１１９】
＜Ｗｒｉｔｅコマンド処理＞
図１７を用いて、半導体メモリカード１１０ｂにおけるＷｒｉｔｅコマンドの処理手順を説明する。
【０１２０】
半導体メモリカード１１０ｂはアクセス装置１００ｂのアクセス制御機能によりコマンドを受信すると（Ｓ１７０１）、受信したコマンドを参照し、自身が認識できない不正コマンドか否かを判定する（Ｓ１７０２）。不正コマンドであった場合、アクセス装置にエラーを通知し（Ｓ１７０３）、処理を終了する。
【０１２１】
不正コマンドでなかった場合、受信したコマンドがＷｒｉｔｅコマンドであるか否か判定する（Ｓ１７０４）。Ｗｒｉｔｅコマンドではなかった場合、各コマンドに対応した処理を実施し（Ｓ１７０５）、処理を終了する。
【０１２２】
Ｗｒｉｔｅコマンドでであった場合、コマンドとともに渡された引数が正しいか否か判定する（Ｓ１７０６）。Ｗｒｉｔｅコマンドの引数は、データ記録先の論理アドレスを示す“ａｄｄｒ”と、データの大きさを示す“ｓｉｚｅ”を含む。ａｄｄｒに不正なアドレスを指定された場合等、引数が誤っていると判定した場合、アクセス装置にエラーを通知し（Ｓ１７０７）、処理を終了する。
【０１２３】
引数が正しいと判定した場合、ＦＳ管理情報格納レジスタ２６に格納されているファイルシステム管理情報の位置（アドレス）や大きさに関する情報を取得する（Ｓ１７０８）。
【０１２４】
ＦＳ管理情報格納レジスタ２６から取得した情報を参照し、引数ａｄｄｒで指定された論理アドレスが、ＦＳ管理情報格納レジスタ２６に格納されているアドレスであるか否かを判定する（Ｓ１７０９）。
【０１２５】
引数ａｄｄｒで指定された論理アドレスがＦＳ管理情報格納レジスタ２６に格納されているアドレスであれば、書き込みデータはファイルシステム管理情報であると判断される。この場合は、第１の記録領域２７１に対するデータ書き込み処理を実施し、さらにアドレス管理情報（論物変換テーブル５１、リンクテーブル５３）を更新し（Ｓ１７１０）、処理を終了する。
【０１２６】
一方、引数ａｄｄｒで指定された論理アドレスがＦＳ管理情報格納レジスタ２６に格納されているアドレスでないときは、書き込みデータはファイルデータであると判断される。この場合は、第２の記録領域２７２に対するデータ書き込み処理を実施し、さらにアドレス管理情報（論物変換テーブル５１、リンクテーブル５３）を更新し（Ｓ１７１１）、処理を終了する。
【０１２７】
以上のように、本実施形態では、ＳｅｔＦＳＩｎｆｏＡｄｄｒコマンドによりファイルシステム管理情報の格納位置や大きさに関する情報をアクセス装置１００ｂから半導体メモリカード１１０ｂに事前に通知した後、Ｗｒｉｔｅコマンドにより、ファイルシステム管理情報とファイルデータを半導体メモリカード１１０ｂに書き込む。これにより、Ｗｒｉｔｅコマンドが発行された際に、半導体メモリカード１１０ｂ内で、引数で指定される論理アドレスに基づき書き込みデータの種別を判定することが可能となり、データ種別に応じて書き込み方法を変更でき、ファイルシステム管理情報、ファイルデータの双方を高速に書き込むことが可能となる。
【０１２８】
（アドレス管理情報の更新の具体例）
次に、ファイルデータの記録にともなう、アドレス管理情報（論物変換テーブル５１、リンクテーブル５３）の更新の様子を具体的に説明する。なお、以下では、図１４に示すアドレス管理情報の状態を初期状態として、アクセス装置１００ｂが図１５Ｂに示すコマンドシーケンスに基づいて半導体メモリカード１１０ｂにファイルデータを記録した場合のアドレス管理情報の更新について説明する。
【０１２９】
＜Ｓｅｑ．１〜３：ファイルシステム管理情報格納領域の設定＞
図１５Ｂの最初の３つのＳｅｔＦＳＩｎｆｏＡｄｄｒコマンドにより、不揮発性メモリ２７内のファイルシステム管理情報（ＦＡＴ１、ＦＡＴ２、ディレクトリエントリ（ＤＩＲ））の格納位置（領域）が設定される。ＳｅｔＦＳＩｎｆｏＡｄｄｒコマンドの引数において、ＦＡＴ１、ＦＡＴ２、ディレクトリエントリ（ＤＩＲ）の論理アドレスとして、それぞれ論理アドレス空間の３２番地、３４番地、６４番地が指定されている。
【０１３０】
図１４の論物変換テーブル５１を参照すると、指定された３つの論理アドレス（３２番地、３４番地、６４番地）にはすでに物理アドレス（３５２番地、３５４番地、３８４番地）が割り当てられている。リンクテーブル５３を参照すると、これらの物理アドレスはそれぞれファイルデータを格納する第２の記録領域２７２内にある。そこで、３つの物理アドレス（３５２番地、３５４番地、３８４番地）のそれぞれを含む１消去ブロック分のデータを、ファイルデータを格納する第２の記録領域２７２から、ファイルシステム管理情報を格納する第１の記録領域２７１にコピーする。
【０１３１】
図１４から、論理アドレス３２番地と３４番地を含む１消去ブロックは物理アドレス３５２番地から３８３番地であり、論理アドレス６４番地を含む１消去ブロックは物理アドレス３８４番地から４１５番地である。リンクテーブル５３を参照し、物理アドレス０番地〜３１番地及び３２番地〜６３番地までは、データ消去済みの無効ブロックであることが認識できる。よって、半導体メモリカード１１０ｂは、０番地〜３１番地及び３２番地〜６３番地の物理アドレス空間に、３５２番地〜３８３番地及び３８４番地〜４１５番地までの物理アドレス空間のデータをコピーする。そして、物理アドレス３５２番地〜３８３番地及び３８４番地〜４１５番地までのデータを消去する。
【０１３２】
上記の処理にともない論物変換テーブル５１及びリンクテーブル５３が更新される。以上の処理が完了した時点の論物変換テーブル５１及びリンクテーブル５３を図１８に示す。同図においてハッチングが施された箇所が今回更新された箇所である。論物変換テーブル５１に示すように、論理アドレス空間の３２番地から９５番地までには、第１の記録領域２７１用の物理アドレス空間の０番地から６３番地が割り当てられている。また、リンクテーブル５３に示すように、新たに割り当てられた物理アドレス空間０番地から６３番地は有効ブロック（”００”）となり、データが消去された物理アドレス空間３５２番地から４１５番地は無効ブロック（”１１”）となる。
【０１３３】
＜Ｓｅｑ．４：ファイルデータの書き込み＞
Ｓｅｑ．４では、論理アドレス１２８番地から、１６ｋＢ（＝３２セクタ）のデータを書き込む。半導体メモリカード１１０ｂはＦＳ管理情報格納レジスタ２６を参照し、Ｗｒｉｔｅコマンドで指定された論理アドレスがＦＳ管理情報格納レジスタ２６内に格納されたアドレスであるか否かを判定する。本例では、論理アドレス１２８番地は、ＦＳ管理情報格納レジスタ２６に格納されていないため、半導体メモリカード１１０ｂは書き込みデータの種別を”ファイルデータ”であると判定し、第２の記録領域２７２内への書き込み処理を実行する。
【０１３４】
具体的には、半導体メモリカード１１０ｂは、図１８のリンクテーブル５３を参照し、第２の記録領域２７２用の物理アドレス３５２番地から３８３番地までがデータ消去済みの無効ブロックであることを認識し、この物理アドレス空間（３５２番地〜３８３番地）を論理アドレス空間（１２８番地を含む消去ブロック）に割り当て、実際にデータを第２の記録領域２７２に書き込む。この処理が完了した時点でアドレス管理情報は図１９のように変更される。同図に示すように、論物変換テーブル５１では、論理アドレス空間（１２８番地〜１５９番地）が物理アドレス空間（３５２番地〜３８３番地）に割り当てられ、それとともに、リンクテーブル５３においてデータが記録された物理アドレス空間（３５２番地〜３８３番地）が有効ブロック（”００”）に変更されている。
【０１３５】
＜Ｓｅｑ．５〜７：ファイルシステム管理情報の書き込み＞
Ｓｅｑ．５〜７では、ＦＡＴ１、ＦＡＴ２、ディレクトリエントリ（ＤＩＲ）のファイルシステム管理情報を、それぞれ論理アドレス３２番地、３４番地、６４番地に書き込む。
【０１３６】
半導体メモリカード１１０ｂはＦＳ管理情報格納レジスタ２６を参照し、Ｗｒｉｔｅコマンドで指定された論理アドレスが、ＦＳ管理情報格納レジスタ２６内に存在するか否かを判定する。本例では、論理アドレス３２番地、３４番地、６４番地はいずれもＦＳ管理情報格納レジスタ２６内に存在するため、半導体メモリカード１１０ｂは書き込みデータの種別を”ファイルシステム管理情報”であると判定し、第１の記録領域２７１内への書き込み処理を実行する。
【０１３７】
具体的には、半導体メモリカード１１０ｂは、図１９の論物変換テーブル５１を参照し、指定された論理アドレス（３２番地、３４番地、６４番地）には既に物理アドレス（０番地、２番地、３２番地）が割り当てられていることを認識する。次に、半導体メモリカード１１０ｂはリンクテーブル５３を参照し、第１の記録領域２７１用の物理アドレス６４番地から６６番地までがデータ消去済みの無効ブロックであることを認識し、この物理アドレス空間（６４番地〜６６番地）を論理アドレス空間（３２番地、３４番地、６４番地）に割り当て、実際にデータを第１の記録領域２７１に書き込む。そして、以前にデータを格納していた物理領域（０番地、２番地、３２番地）を未消去の無効ブロック（”１０”）の状態として管理する。以上の処理が完了した時点のアドレス管理情報を図２０に示す。
【０１３８】
＜Ｓｅｑ．８：ファイルデータの書き込み＞
Ｓｅｑ．８では、論理アドレス１６０番地から、１６ｋＢ（＝３２セクタ）のデータを書き込む。半導体メモリカード１１０ｂはＦＳ管理情報格納レジスタ２６を参照し、Ｗｒｉｔｅコマンドで指定された論理アドレスがＦＳ管理情報格納レジスタ２６内に含まれるか否かを判定する。本例では、論理アドレス１６０番地は、ＦＳ管理情報格納レジスタ２６内に存在しないため、半導体メモリカード１１０ｂは書き込みデータの種別を”ファイルデータ”であると判定し、第２の記録領域２７２内への書き込み処理を実行する。
【０１３９】
具体的には、半導体メモリカード１１０ｂは、図２０のリンクテーブルを参照し、第２の記録領域用の物理アドレス３８４番地から４１５番地までがデータ消去済みの無効ブロックであることを認識し、この物理アドレス空間（３８４番地〜４１５番地）を論理アドレス空間（１６０番地を含む消去ブロック）に割り当て、実際にデータを第２の記録領域２７２に書き込む。この処理が完了した時点でアドレス管理情報は図２１のように変更される。
【０１４０】
以上のようにファイルデータと、ＦＡＴ１、ＦＡＴ２、ディレクトリエントリ（ＤＩＲ）を含むファイルシステム管理情報との書き込みを繰り返した場合においても、図２１に示すように、１つの消去ブロックにファイルシステム管理情報とファイルデータが混在することはないため、一度に記録されるデータサイズが異なる種々のデータが１消去ブロックに混在することによるアクセス速度の低下は発生しない。
【０１４１】
以上のように、本実施形態の半導体メモリカードは、ファイルシステム管理情報の位置や大きさをアクセス装置から取得し保持するＦＳ管理情報格納レジスタを有し、アクセス装置から書き込みコマンドが発行された際にレジスタに格納された値を参照することで、指定されたアドレスからデータ種別を判定する。更にデータ種別の判定結果により書き込み方法を変更することにより、高速に半導体メモリカードにデータを書き込むことが可能となる。
【０１４２】
なお、本実施の形態ではＦＡＴファイルシステムを例に取り説明したが、ＵＤＦ等の他のファイルシステムを用いても良い。また、ＳｅｔＦＳＩｎｆｏＡｄｄｒコマンド、Ｗｒｉｔｅコマンドの引数は一例であり、別の表現形式を用いても良いし、本実施の形態で説明した以外の引数を追加してもよい。
【０１４３】
本発明は、特定の実施形態について説明されてきたが、当業者にとっては他の多くの変形例、修正、他の利用が明らかである。それゆえ、本発明は、ここでの特定の開示に限定されず、添付の請求の範囲によってのみ限定され得る。
【産業上の利用可能性】
【０１４４】
本発明に関わる半導体メモリカード及びアクセス装置は、アクセス装置が半導体メモリカードに書き込むデータの種別を指定し、半導体メモリカード内でデータの種別に応じてデータ格納先を変更することにより、ファイルシステム管理情報の更新による半導体メモリカードの寿命低下を防止することが可能となる。このような半導体メモリカードは、デジタルＡＶ機器や携帯電話端末、ＰＣ等をアクセス装置とした場合の情報記録媒体として利用することができる。
【図面の簡単な説明】
【０１４５】
【図１】本発明の実施の形態１における半導体メモリカード及びアクセス装置の構成を示した図である。
【図２】Ｆｌａｓｈメモリにおける消去ブロックとセクタとの関係の一例を示した図である。
【図３】実施の形態１における半導体メモリカードの半導体メモリに対する、消去ブロックの倍数長のデータ書き込み処理を示したフローチャートである。
【図４】実施の形態１における半導体メモリカードの半導体メモリに対する、１セクタ分のデータ書き込み処理を示したフローチャートである。
【図５】ＦＡＴファイルシステムの構成を示した図である。
【図６】ＦＡＴファイルシステムにしたがったデータ書き込み処理を示したフローチャートである。
【図７Ａ】ＦＡＴファイルシステムによるデータ書き込み前のディレクトリエントリの状態を説明した図である。
【図７Ｂ】ＦＡＴファイルシステムによるデータ書き込み前のＦＡＴの状態を説明した図である。
【図７Ｃ】ＦＡＴファイルシステムによるデータ書き込み前のデータ領域の状態を説明した図である。
【図８Ａ】ＦＡＴファイルシステムによるデータ書き込み後のディレクトリエントリの状態を説明した図である。
【図８Ｂ】ＦＡＴファイルシステムによるデータ書き込み後のＦＡＴの状態を説明した図である。
【図８Ｃ】ＦＡＴファイルシステムによるデータ書き込み後のデータ領域の状態を説明した図である。
【図９】実施の形態１における半導体メモリカード内部の書き込み処理を示したフローチャートである。
【図１０】実施の形態１におけるアドレス管理情報の例を示した図である。
【図１１】半導体メモリカード内の半導体メモリに対する書き込み処理の詳細を示したフローチャートである。
【図１２】本発明の実施の形態２における半導体メモリカード及びアクセス装置の構成を示した図である。
【図１３】実施の形態２の半導体メモリカード内の不揮発性メモリのアドレス空間の一例を示した図である。
【図１４】実施の形態２におけるアドレス管理情報の一例を示した図である。
【図１５Ａ】半導体メモリカードへの書き込みデータのシーケンスの一例を示した図である。
【図１５Ｂ】図１５Ａのデータシーケンスに対してアクセス装置１００ｂが発行するコマンドシーケンスを示した図である。
【図１６】半導体メモリカードにおけるＳｅｔＦＳＩｎｆｏＡｄｄｒコマンドの処理手順のフローチャートである。
【図１７】半導体メモリカードにおけるＷｒｉｔｅコマンドの処理手順のフローチャートである。
【図１８】実施の形態２における半導体メモリカードへのＳｅｔＦＳＩｎｆｏＡｄｄｒコマンド発行後のアドレス管理情報の状態を示した図である。
【図１９】実施の形態２における半導体メモリカードへのデータ書き込み後のアドレス管理情報の状態を示した図である。
【図２０】実施の形態２における半導体メモリカードへのファイルシステム管理情報書き込み後のアドレス管理情報の状態を示した図である。
【図２１】実施の形態２における半導体メモリカードへのデータ書き込み後のアドレス管理情報の状態を示した図である。
【符号の説明】
【０１４６】
２６  ＦＳ管理情報格納レジスタ
５１    論物変換テーブル
５３    リンクテーブル
１００，１００ｂ    アクセス装置
１０１，１１２    ＣＰＵ
１０２，１１３    ＲＡＭ
１０３    スロット
１０４，１１４    ＲＯＭ
１０５    アプリケーションプログラム
１０６    ファイルシステム制御プログラム
１０７    アクセス制御プログラム
１０８  ＦＳ管理情報通知プログラム
１１０，１１０ｂ    半導体メモリカード
１１１    ホストインターフェース部
２５，１１５，１１６，１１７    メモリコントローラ
２７，１１８，１１９，１２０    半導体メモリ
１２１    ファイルシステム管理情報格納領域
１２２    ファイルデータ格納領域
１２３，    アドレス管理情報
【図１】
0004722704.tif 000002
【図２】
0004722704.tif 000003
【図３】
0004722704.tif 000004
【図４】
0004722704.tif 000005
【図５】
0004722704.tif 000006
【図６】
0004722704.tif 000007
【図７Ａ】
0004722704.tif 000008
【図７Ｂ】
0004722704.tif 000009
【図７Ｃ】
0004722704.tif 000010
【図８Ａ】
0004722704.tif 000011
【図８Ｂ】
0004722704.tif 000012
【図８Ｃ】
0004722704.tif 000013
【図９】
0004722704.tif 000014
【図１０】
0004722704.tif 000015
【図１１】
0004722704.tif 000016
【図１２】
0004722704.tif 000017
【図１３】
0004722704.tif 000018
【図１４】
0004722704.tif 000019
【図１５Ａ】
0004722704.tif 000020
【図１５Ｂ】
0004722704.tif 000021
【図１６】
0004722704.tif 000022
【図１７】
0004722704.tif 000023
【図１８】
0004722704.tif 000024
【図１９】
0004722704.tif 000025
【図２０】
0004722704.tif 000026
【図２１】
0004722704.tif 000027