(57)【要約】  【課題】  並列動作するフラッシュメモリを複数枚内蔵した半導体メモリパック装置に対して、高速にデータを記録することができるデータ記録装置を提供する。  【解決手段】  並列に記録動作する複数のフラッシュメモリを内蔵する半導体メモリパック装置に対してデータを記録するデータ記録装置において、前記半導体メモリパック装置へ記録すべきデータをファイルとして管理するファイル管理部を備え、前記ファイル管理部が、前記半導体メモリパック装置へ供給するデータのデータ記録単位を、前記複数のフラッシュメモリの消去ブロックサイズを合計したサイズと、当該ファイル管理部におけるデータ管理サイズ（クラスタサイズ）との公倍数とする。【選択図】  図３
2004342090.tif 000002
【特許請求の範囲】
【請求項１】
並列に記録動作する複数のフラッシュメモリを内蔵する半導体メモリパック装置に対してデータを記録するデータ記録装置において、
前記半導体メモリパック装置へ記録すべきデータをファイルとして管理するファイル管理部を備え、
前記ファイル管理部が、前記半導体メモリパック装置へ供給するデータのデータ記録単位を、前記複数のフラッシュメモリの消去ブロックサイズを合計したサイズと、当該ファイル管理部におけるデータ管理サイズとの公倍数とすることを特徴とするデータ記録装置。
【請求項２】
前記複数のフラッシュメモリの消去ブロックサイズを合計したサイズの整数倍をデータ記録単位として、前記ファイル管理部のデータ管理単位が、前記データ記録単位と同一サイズである、請求項１に記載のデータ記録装置。
【請求項３】
前記ファイル管理部が、前記データ記録単位内を同一ファイルのデータとする、請求項１または２に記載のデータ記録装置。
【請求項４】
前記ファイル管理部が、前記半導体メモリパック装置に前記データ記録単位に相当する空き容量がある場合にのみ記録を行う、請求項１または２に記載のデータ記録装置。
【請求項５】
前記ファイル管理部が、前記データ記録単位内に異なるファイルのデータが記録されている場合、前記データ記録単位内は同一ファイルのデータになるように記録データを並べ替える、請求項１または２に記載のデータ記録装置。
【請求項６】
前記半導体メモリパック装置が、前記ファイル管理部のファイル管理情報を記録する領域を有し、
前記ファイル管理部が、音声データファイルおよび映像データファイルの少なくとも２つのファイルを同時に並行して前記半導体メモリパック装置へ記録する場合、前記半導体メモリパック装置へ供給すべきデータとして蓄積している音声データの量が前記データ記録単位の整数倍となった時点で、前記半導体メモリパック装置に記録されている前記ファイル管理情報を更新する、請求項１または２に記載のデータ記録装置。
【請求項７】
前記ファイル管理部が、ＭＰＥＧストリームをファイルに記録する場合、記録済みのデータが１ＧＯＰの整数倍となった時点で、前記ファイル管理部のファイル管理情報を更新する、請求項１または２に記載のデータ記録装置。
【請求項８】
前記フラッシュメモリが、半導体メモリカードとして前記半導体メモリパック装置に装着される、請求項１または２に記載のデータ記録装置。
【請求項９】
複数のフラッシュメモリを内蔵する半導体メモリパック装置に対してＦＡＴファイルシステムに従ってデータを記録するデータ記録装置において、
前記半導体メモリパック装置に実在するセクタ数と、実在しない仮想的なセクタ数とを加えた総セクタ数を前記ＦＡＴファイルシステムで管理するものとし、前記実在しない仮想的なセクタに対応するクラスタのＦＡＴエントリに空き領域以外の意味を持つ値を格納することによりデータ書き込み対象から除外することを特徴とするデータ記録装置。
【請求項１０】
前記空き領域以外の意味を持つ値として、ファイルの終端を意味する全ビットが１の値をＦＡＴエントリに書き込む、請求項９に記載のデータ記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体メモリ媒体を用いて映像や音声を記録、再生する装置に関する。
【背景技術】
【０００２】
近年、フラッシュメモリを利用した半導体メモリカードが普及しつつある。フラッシュメモリは、電気的にデータの記録や消去が可能であり、電源を切っても、記録されたデータが保持される不揮発メモリである。半導体メモリカードは、従来のテープ装置やディスク装置に必要だった機械的な駆動部分が無いため、小型・軽量で衝撃にも強く、ディジタルカメラなど様々な用途に使用されている。しかしながら、高品質の動画や音声を記録するには、半導体メモリカード１枚あたりの記憶容量が小さく、また、記録や再生のデータ転送レートが低いために、この用途には不十分である。
【０００３】
そこで従来例として、複数の半導体メモリカードを組み合わせて、記憶容量と転送レートの向上を目的とした半導体メモリパック装置がある。
【０００４】
例えば、特許文献１に開示された半導体メモリパック装置では、複数枚の半導体メモリカードに対して同時にデータを記録できるため、記録の転送レートを高速化できる。
【０００５】
一般に、従来の半導体メモリカードの多くは、内部にフラッシュメモリを備えており、消去ブロックと呼ばれる一定のサイズのデータが、電気的に一括消去される特徴を持っている。ここで、消去ブロックのサイズに満たないデータを記録する場合、一度そのブロックのデータを読み出して保持し、ブロックのデータを一括消去し、保持していたデータを部分的に記録データに更新して、ブロックに書き戻すことになる。このような動作は、リード・モディファイ・ライトと呼ばれるが、記録動作が複雑になり、記録の転送レートが低下する原因となる。高い転送レートでデータを記録するには、このような消去ブロックに対する部分的なデータ更新を避けるため、記録するデータのサイズを消去ブロックと同じサイズか、または、その整数倍のサイズにして、さらに記録するアドレスを消去ブロックの先頭に合わせる必要がある。
【０００６】
特許文献１に示されたような複数枚の半導体メモリカードを組み合わせた半導体メモリパック装置では、複数枚の半導体メモリカードに同時にデータを記録するため、半導体メモリカード１枚あたりの消去ブロックのサイズを、さらに複数枚の分だけ積算したサイズでデータを記録することになる。以上のように、半導体メモリカードを複数枚使った記録装置において、高い転送レートでデータを記録するためには、１回の記録動作で記録するデータサイズを大きくする必要がある。
【０００７】
一方で、記録したデータをファイルとして管理するには、一般にファイルシステムと呼ばれるデータ管理手段や管理方法が必要である。ファイルシステムは、一般にセクタやクラスタといった所定のデータサイズを単位としてファイルを管理する。しかし、一般にセクタやクラスタのサイズは小さいため、前述のような大きなデータ単位を扱うには、１セクタや１クラスタではサイズが不足することがある。このような場合、ファイルシステムは、連続した複数個のセクタや、連続した複数個のクラスタを、まとめて上記の装置へ記録する必要がある。
【特許文献１】特開２０００−２０７１３７号公報（第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、半導体メモリカードを用いた従来の半導体メモリパック装置では、記録データの単位と、ファイルシステムが管理するデータの単位が一致しない場合、種々の課題を有していた。以下、この課題について、図２を用いて詳細に説明する。
【０００９】
図２（ａ）〜図２（ｃ）は、従来の半導体メモリパック装置における記録領域を示した図である。図２において、２０１は管理単位を表す。管理単位とは、ファイルシステムのセクタやクラスタに相当する。２０２から２１２までは、いずれも２０１と同じサイズの管理単位を表している。また、図２（ａ）において消去ブロック２２０は、管理単位２０１から２０４で構成されており、電気的に一括消去される単位を表している。以下同様に、消去ブロック２３０は管理単位２０５から２０８で構成され、消去ブロック２４０は管理単位２０９から２１２で構成されている。また、図２（ｂ）において、記録領域２５０はデータの記録時に使用する記録領域を表しており、記録領域２５０は管理単位２０３から２０６で構成されている。以下同様に、記録領域２６０は管理単位２０７から２１０で構成され、図２（ｃ）において、記録領域２７０は管理単位２０１から２０４で構成され、記録領域２８０は管理単位２０９から２１２で構成されている。なお、図２（ｂ）において斜線で示された管理単位２０１と２０２、および、図２（ｃ）の管理単位２０６は、いずれも既にデータが記録済みの状態を表しており、これらの管理単位にはファイルが存在している。
【００１０】
以上のように表された図２について、以下、従来の課題について説明する。図２（ａ）では、管理単位２０１から２１２までが未使用な状態であるとする。この場合、半導体メモリパック装置に対して最も高い転送レートでデータを記録するには、消去ブロックの単位毎に連続アドレスでデータを記録することが望ましい。この理由は前述のように、半導体メモリ媒体のデータが消去ブロック単位で電気的に一括消去されるため、このブロックのサイズに合わせたデータ単位でデータを記録することで、リード・モディファイ・ライトを防止できるためである。さらに、半導体メモリカードの種類によっては、消去ブロック単位で、かつ、連続アドレスでデータ記録すると、半導体メモリカードの内部で記録処理の並列化を行う種類のカードもあり、このような種類の媒体では、さらに高い転送レートでデータが記録されることになる。従って、図２（ａ）における理想的な記録方法は、管理単位２０１から２０４までを合計したサイズのデータを記録単位として、消去ブロック２２０、２３０、２４０の順番に連続して記録することで、高い転送レートが実現される。
【００１１】
しかしながら、図２（ｂ）では管理単位２０１と２０２に、既に記録済みのデータがファイルとして存在している。ファイルシステムは管理単位のサイズでファイルを作成することができるため、交換媒体では、他のアクセス装置でこのような小さなファイルが作成されることがある。このような場合、消去ブロックのサイズでデータを記録すると、まず記録領域２５０にデータを記録し、次に、記録領域２６０にデータを記録することになる。記録領域２５０にデータを記録した場合、実際にデータが記録される管理単位２０３と２０４だけでなく、既に記録済みの管理単位２０１と２０２が同じ消去ブロックに含まれるため、前述のリード・モディファイ・ライトが発生し、記録の転送レートが低下する。さらに、記録領域２６０にデータを記録する時には、１つ前の記録領域２５０への記録動作のために、管理単位２０５と２０６が記録済みの状態になっている。従って、管理単位２０７と２０８に対する記録時にもリード・モディファイ・ライトが発生し、以下、この現象が繰り返されることになる。
【００１２】
このように、データの記録単位を消去ブロックの単位に合わせても、記録を開始するアドレスが、消去ブロックの境界とずれていた場合、リード・モディファイ・ライトが発生し、記録の転送レートが低下する。
【００１３】
また、図２（ｂ）において記録領域２５０にデータを記録する場合、半導体メモリ媒体の内部では、記録済みの管理単位２０１と２０２のデータも、一旦読み出し保持されて、ブロックが一括消去された後に書き戻される。この過程の途中でノイズの混入や電源断などのエラーが発生した場合、既にデータが記録済みだった管理単位２０１や２０２のデータも破壊される可能性がある。このように、リード・モディファイ・ライトが発生すると、記録の転送レートが低下するだけでなく、エラーの発生時に、記録済みのデータが破壊される課題がある。
【００１４】
また、図２（ｃ）では、管理単位２０６に記録済みのデータが存在している。このような場合、まず記録領域２７０に消去ブロックサイズと同じサイズのデータを記録し、次にリード・モディファイ・ライトを避けるために、管理単位２０６を含む消去ブロックにはデータを記録せずに、次の消去ブロックに相当する記録領域２８０、すなわち、管理単位２０９から２１２までの領域にデータを記録する。このような方法を採れば、リード・モディファイ・ライトは発生しないが、次のような課題がある。
【００１５】
まず、図２（ｃ）では、記録済みのデータが存在する管理単位２０６を避けるために、管理単位２０５と２０７と２０８は、空き領域であるにもかかわらず、記録には使用されなかった。このことは記録領域の無駄使いを意味しており、管理単位２０５から２０８のように、部分的に記録済みの管理単位を含んだ消去ブロックが多数存在した場合、いわゆるフラグメント状態となって、高い転送レートでデータを記録するにはこれらの領域を記録に使用できないため、記録媒体の容量を有効に利用することができなくなる。
【００１６】
また、図２（ｃ）では記録領域２７０と記録領域２８０の間が空いているため、アドレスが不連続になる。アドレスが不連続になると、前述のように高い転送レートでデータを記録することができなくなる。
【００１７】
さらに、一般のファイルシステムでは、数セクタや数クラスタを記録する毎に、ファイルの管理情報を更新する必要がある。この管理情報とは、例えばセクタやクラスタの使用状況を表すテーブルやビットマップのデータ、記録中のファイルのサイズなどの情報である。ファイルの管理情報をこまめに更新すると、電源断などで記録が中断された場合でも、なるべく電源断の直前に近い状態にファイルを修復することができる。しかし、フラッシュメモリ等を用いた半導体メモリ媒体は書換回数が有限であり、頻繁に管理情報を更新すると半導体メモリ媒体の書換寿命を縮めることになる。
【００１８】
本発明は、上記の課題に鑑み、並列動作するフラッシュメモリを複数枚内蔵した半導体メモリパック装置に対して、高速にデータを記録することができるデータ記録装置を提供することを目的とする。
【課題を解決するための手段】
【００１９】
この課題を解決するために、本発明のデータ記録装置は以下のような手段を用いる。
【００２０】
第１に、本発明のデータ記録装置は、並列に記録動作する複数のフラッシュメモリを内蔵する半導体メモリパック装置に対してデータを記録するデータ記録装置において、前記半導体メモリパック装置へ記録すべきデータをファイルとして管理するファイル管理部を備え、前記ファイル管理部が、前記半導体メモリパック装置へ供給するデータのデータ記録単位を、前記複数のフラッシュメモリの消去ブロックサイズを合計したサイズと、当該ファイル管理部におけるデータ管理サイズとの公倍数とすることを特徴とする。
【００２１】
これにより、従来から高速記録の障害となってきたリード・モディファイ・ライトの発生を防止し、結果として、半導体メモリカードの書き換え回数を低減することが可能になる。
【００２２】
第２に、本発明のデータ記録装置は、前記第１の構成において、前記複数のフラッシュメモリの消去ブロックサイズを合計したサイズの整数倍をデータ記録単位として、前記ファイル管理部のデータ管理単位が、前記データ記録単位と同一サイズであることが好ましい。
【００２３】
これにより、従来から高速記録の障害となってきたリード・モディファイ・ライトの発生を防止し、結果として、半導体メモリカードの書き換え回数を低減することが可能になる。
【００２４】
第３に、本発明のデータ記録装置は、前記第１または第２の構成において、前記ファイル管理部が、前記データ記録単位内を同一ファイルのデータとすることが好ましい。
【００２５】
このように、データ記録単位内を同一ファイルのデータとすることにより、前記複数のフラッシュメモリに同一ファイルのデータが並行に書き込まれる。従って、このデータをフラッシュメモリから読み出す場合にも、並列読み出しを行うことにより、高速読み出しが可能となる。
【００２６】
第４に、本発明のデータ記録装置は、前記第１または第２の構成において、前記ファイル管理部が、前記半導体メモリパック装置に前記データ記録単位に相当する空き容量がある場合にのみ記録を行うことが好ましい。
【００２７】
これにより、フラッシュメモリの消去ブロック境界とデータ記録単位の境界とがミスマッチすることがないので、従来から高速記録の障害となってきたリード・モディファイ・ライトの発生をより効果的に防止し、結果として、半導体メモリカードの書き換え回数を低減することが可能になる。
【００２８】
第５に、本発明のデータ記録装置は、前記第１または第２の構成において、前記ファイル管理部が、前記データ記録単位内に異なるファイルのデータが記録されている場合、前記データ記録単位内は同一ファイルのデータになるように記録データを並べ替えることが好ましい。
【００２９】
これにより、従来から高速記録の障害となってきたリード・モディファイ・ライトの発生を防止し、結果として、半導体メモリカードの書き換え回数を低減することが可能になる。また、データ記録単位内が同一ファイルのデータとなるよう並べ替えることにより、前記複数のフラッシュメモリに同一ファイルのデータが並行に書き込まれる。従って、このデータをフラッシュメモリから読み出す場合にも、並列読み出しを行うことにより、高速読み出しが可能となる。
【００３０】
第６に、本発明のデータ記録装置は、前記第１または第２の構成において、前記半導体メモリパック装置が、前記ファイル管理部のファイル管理情報を記録する領域を有し、前記ファイル管理部が、音声データファイルおよび映像データファイルの少なくとも２つのファイルを同時に並行して前記半導体メモリパック装置へ記録する場合、前記半導体メモリパック装置へ供給すべきデータとして蓄積している音声データの量が前記データ記録単位の整数倍となった時点で、前記半導体メモリパック装置に記録されている前記ファイル管理情報を更新することが好ましい。
【００３１】
これにより、従来から高速記録の障害となってきたリード・モディファイ・ライトの発生を防止し、結果として、半導体メモリカードの書き換え回数を低減することが可能になる。また、ビットレートが低い音声データの記録を、ファイル管理情報を書き戻すトリガにすることにより、半導体メモリパック装置におけるファイル管理情報の書き換え回数を無駄に増やすことがない。
【００３２】
第７に、本発明のデータ記録装置は、前記第１または第２の構成において、前記ファイル管理部が、ＭＰＥＧストリームをファイルに記録する場合、記録済みのデータが１ＧＯＰの整数倍となった時点で、前記ファイル管理部のファイル管理情報を更新することが好ましい。
【００３３】
第８に、本発明のデータ記録装置は、前記第１または第２の構成において、前記前記フラッシュメモリが、半導体メモリカードとして前記半導体メモリパック装置に装着されることが好ましい。
【００３４】
第９に、本発明のデータ記録装置は、複数のフラッシュメモリを内蔵する半導体メモリパック装置に対してＦＡＴファイルシステムに従ってデータを記録するデータ記録装置において、前記半導体メモリパック装置に実在するセクタ数と、実在しない仮想的なセクタ数とを加えた総セクタ数を前記ＦＡＴファイルシステムで管理するものとし、前記実在しない仮想的なセクタに対応するクラスタのＦＡＴエントリに空き領域以外の意味を持つ値を格納することによりデータ書き込み対象から除外することを特徴とする。
【００３５】
第１０に、本発明のデータ記録装置は、前記第９の構成において、前記空き領域以外の意味を持つ値として、ファイルの終端を意味する全ビットが１の値をＦＡＴエントリに書き込むことが好ましい。
【発明の効果】
【００３６】
以上述べたように、本発明によれば、半導体メモリカードを複数枚内蔵した半導体メモリパック装置に対して高速にデータを記録することが可能になるとともに、内蔵する半導体メモリカードの書き換え寿命を長くすることが可能となる。
【発明を実施するための最良の形態】
【００３７】
以下、本発明の実施の形態について、図面を参照して説明する。
【００３８】
（実施の形態１）
はじめに、図１を参照し、本発明の一実施形態にかかるデータ記録装置および半導体メモリパック装置の構成について説明する。図１において、１１０はデータの記録を指示するデータ記録装置、１２０はデータが記録される半導体メモリパック装置である。データ記録装置１１０は、半導体メモリパック装置１２０にデータを記録する装置であって、例えば、パーソナルコンピュータ、ビデオカメラ、ディスクレコーダ、または、ディジタルカメラ等であるが、これらにのみ限定されない。データ記録装置１１０は、ハードウェアとしては、ＣＰＵ１１１、主記憶１１２、カードコネクタ１１３などを備えている。ＣＰＵ１１１は、演算処理や装置全体の動作制御を行う。主記憶１１２は、半導体メモリパック装置１２０に記録するデータや、データ記録装置１１０の動作を制御するソフトウエア、ＣＰＵ１１１による演算処理結果を一時的に記憶する。カードコネクタ１１３は、データ記録装置１１０と半導体メモリパック装置１２０とを接続するためのコネクタである。
【００３９】
次に、図１３を用いて、本実施形態のデータ記録装置１１０の機能的な構成について説明する。図１３は、データ記録装置１１０の機能的な内部構成を示すブロック図である。図１３において、１１０２は制御部、１１０３はメモリ、１１０４は入力データＩ／Ｆ、１１０５はエンコーダ制御部、１１０６はエンコーダ、１１０７はバッファ制御部、１１０８はバッファ、１１０９はファイル管理部、１１１０はメディアＩ／Ｆを表している。
【００４０】
制御部１１０２は、図１のＣＰＵ１１１に対応し、図１の主記憶１１２に対応するメモリ１１０３を用いて、データ記録装置１１０の全体の制御を行う。メディアＩ／Ｆ１１１０は、半導体メモリパック装置１２０とのインタフェースであり、図１のカードコネクタ１１３に対応している。
【００４１】
入力データＩ／Ｆ１１０４は、外部から入力されたデータを受け取る。エンコーダ制御部１１０５は、入力データＩ／Ｆ１１０４から入力されたデータを受け取り、エンコーダ１１０６を制御してそのデータのエンコード処理を行い、バッファ制御部１１０７にエンコードされたデータを送る。また、エンコーダ制御部１１０５は、エンコーダ１１０６からの情報を取得して、制御部１１０２に伝えることもできる。エンコーダ１１０６からの情報とは、例えばビデオデータをＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅｓ  ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）にエンコードする場合、１ＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅｓ）のエンコードを完了したという情報などである。
【００４２】
バッファ制御部１１０７は、エンコーダ制御部１１０５から受け取った、エンコードされたデータを、データの種類毎にバッファ１１０８内の別の領域に格納する。また、バッファ制御部１１０７は、バッファ１１０８に蓄えられたデータの量を監視しており、所定量に達した時には制御部１１０２に通知する。制御部１１０２はその通知を受け取ると、ファイル管理部１１０９にデータ記録要求を出す。
【００４３】
ファイル管理部１１０９は、一般的にはオペレーティングシステムの機能の一つとして「ファイルシステム」と称されているものであり、半導体メモリパック装置１２０に記録されているファイルの管理を行う。ファイル管理部１１０９は、半導体メモリパック装置１２０からメディアＩ／Ｆ１１１０を介して、ファイルシステム管理情報を読み込み、メモリ１１０３に格納する。制御部１１０２からのデータ記録要求を受けると、ファイル管理部１１０９は、ファイルシステム管理情報を参照して空き領域を探し、見つかればその領域にデータを記録するように、半導体メモリパック装置１２０に記録コマンドを発行する。またこの処理と同時に、ファイル管理部１１０９は、記録位置やデータ量などの記録したデータの情報を、メモリ１１０３に格納されているファイルシステム管理情報に書き込む。
【００４４】
半導体メモリパック装置１２０は、フラッシュメモリを用いた半導体メモリカード１２３〜１２６と、これら４枚の半導体メモリカード１２３〜１２６を制御するマルチカードアクセス制御部１２１と、メモリカード１２３〜１２６へ記録するデータを一時記憶するワークメモリ１２２とを備えている。なお、半導体メモリカード１２３〜１２６には、番号♯１〜♯４がそれぞれ割り当てられている。
【００４５】
次に、図３を用いて、本実施形態のデータ記録装置１１０によるデータ記録動作を説明する。図３は、半導体メモリパック装置１２０の連続する論理アドレスに、４枚の半導体メモリカード１２３〜１２６の論理アドレスをマッピングした状態、および、半導体メモリパック装置１２０の連続する論理アドレスに対して、ファイル管理部１１０９のデータ管理単位であるクラスタを割り当てた状態について図示している。
【００４６】
半導体メモリカード１２３〜１２６の論理アドレスのマッピング方法は、次のとおりである。つまり、半導体メモリパック装置１２０に内蔵される４枚の半導体メモリカード１２３〜１２６を、消去ブロックのサイズ（１６ＫＢ）毎にインターリーブし、半導体メモリカード１２３〜１２６の番号＃１〜＃４の順番に並べたものに、半導体メモリパック装置１２０の連続の論理アドレスをマッピングする。半導体メモリパック装置１２０に内蔵される４枚の半導体メモリカード１２３〜１２６は、並列に同時記録動作するので、１６ＫＢ×４＝６４ＫＢの連続アドレスが、半導体メモリパック装置１２０へのデータ記録単位となる。データ記録装置１１０のファイル管理部１１０９のデータ管理単位であるクラスタ３０５の大きさは、前記データ記録単位と一致する。すなわち、１クラスタは、半導体メモリパック装置１２０の連続する６４ＫＢの論理アドレスに割り当てられる。以下、クラスタサイズを６４ＫＢと定めた場合のデータ記録装置１１０の記録動作について説明する。
【００４７】
データ記録装置１１０において、ファイル管理部１１０９は、ＣＰＵ１１１の動作を制御するソフトウエアにより実現される。ファイル管理部１１０９は、半導体メモリパック装置１２０に記録すべきデータを、データ管理単位であるクラスタと同じサイズ（ここでは６４ＫＢ）に分割する。ファイル管理部１１０９は、さらに、半導体メモリパック装置１２０のメモリ空間から１クラスタ分の空き領域を検索して、見つかった空き領域の論理アドレスと記録すべきデータを、記録コマンドと共に半導体メモリパック装置１２０に引き渡す。
【００４８】
半導体メモリパック装置１２０は、データ記録装置１１０から記録コマンドを受け取ると、記録コマンドと共に、記録すべき１クラスタ分のデータを、ワークメモリ１２２に一時記憶する。また、半導体メモリパック装置１２０において、マルチカードアクセス制御部１２１が、記録コマンドと一緒に指示された半導体メモリパック装置１２０の論理アドレスを、図３で示したとおり、半導体メモリカード１２３〜１２６の個別の論理アドレスに変換する。マルチカードアクセス制御部１２１は、さらに、この変換によって得られた半導体メモリカード１２３〜１２６の個別の論理アドレスに対して、ワークメモリ１２２に一時記憶された１クラスタ分のデータを分散して、並列に同時記録する。
【００４９】
以上、本実施形態によれば、データ記録装置１１０のファイル管理部１１０９がデータを管理する最小単位である１クラスタを、半導体メモリパック装置１２０に内蔵される４枚の半導体メモリカードの消去ブロックの合計サイズ（６４ＫＢ）と一致させることにより、従来から高速記録の障害となってきたリード・モディファイ・ライトの発生を防止し、結果として、半導体メモリカードの書き換え回数を低減することが可能になる。また、半導体メモリパック装置１２０は、内蔵する４枚の半導体メモリカード１２３〜１２６に対して並列に同時記録するため、半導体メモリカードが１枚だけの場合に比べて、４倍高速にデータを記録することができる。
【００５０】
なお、実施の形態１においては、並列動作する半導体メモリカードを４枚内蔵するタイプの半導体メモリパック装置を例に説明したが、本発明のデータ記録装置において半導体メモリパック装置に内蔵される半導体メモリカードの枚数は４枚に限定されない。また、内蔵する半導体メモリカードのすべてが並列動作する必要は無い。例えば、４枚の半導体メモリカードを内蔵して、そのうち２枚ずつが並列動作する構成としてもよい。また、実施の形態１においては、４つの消去ブロックを１つのクラスタに割り当てる例を説明したが、半導体メモリパック装置に内蔵する半導体メモリカードの消去ブロック合計の整数倍であれば、４つでなくてもよいし、消去ブロックのサイズが１６ＫＢに限定されるものでもない。内蔵する半導体メモリの形状はカード状に限定されず、半導体メモリがチップの形状で実装されるものも、本発明の技術的範囲に含まれる。
【００５１】
さらに、実施の形態１においては、半導体メモリパック装置内で複数の半導体メモリカードが並列動作する構成を例に説明したが、例えば、半導体メモリカード内の複数のフラッシュメモリが並列動作する構成についても本発明を適用できる。すなわち、並列動作する複数のフラッシュメモリの消去ブロックの合計サイズを、ファイル管理部１１０９がデータを管理する最小単位である１クラスタのサイズと一致させれば良い。
【００５２】
（実施の形態２）
本発明の他の実施形態について、図１および図４を参照しながら説明する。なお、実施の形態１で説明した構成と同様の機能を有する構成については、実施の形態１と同じ番号を付記し、その詳細な説明を省略する。
【００５３】
図４は、半導体メモリパック装置１２０の連続する論理アドレスに、内蔵する４枚の半導体メモリカード１２３〜１２６の論理アドレスをマッピングした状態、および半導体メモリパック装置１２０の連続する論理アドレスに対して、ファイル管理部１１０９のデータ管理単位であるクラスタを割り当てた状態を図示している。半導体メモリパック装置１２０に内蔵される４枚の半導体メモリカード１２３〜１２６を消去ブロックのサイズ（１６ＫＢ）毎にインターリーブして半導体メモリカードの番号＃１〜＃４の順番に並べたものに、半導体メモリパック装置１２０の連続の論理アドレスをマッピングする。さらに半導体メモリパック装置１２０に内蔵される４枚の半導体メモリカード１２３〜１２６は並列に同時記録動作するので、１６ＫＢ×４＝６４ＫＢの連続アドレスをデータ記録単位とする。なお、本実施形態では、データ記録装置１１０のファイル管理部１１０９のデータ管理単位であるクラスタのサイズと、前記データ記録単位とは、公倍数の関係になるように選ばれる。ここでは、１クラスタのサイズを１６ＫＢとしている。以下、クラスタサイズを１６ＫＢと定めた場合の動作について説明する。
【００５４】
データ記録装置１１０において、ファイル管理部１１０９は、ＣＰＵ１１１の動作を制御するソフトウエアにより実現される。ファイル管理部１１０９は、半導体メモリパック装置１２０へ記録すべきデータを、データ管理単位であるクラスタのサイズ（１６ＫＢ）に分割する。ここまでは従来のデータ記録方法と同様であるが、本実施形態では、ファイル管理部１１０９が、半導体メモリパック装置１２０の中からデータ記録単位（６４ＫＢ）＝４クラスタ分（１６ＫＢ×４）の空き領域を検索して、見つかった空き領域の論理アドレスと４クラスタ分のデータを、記録コマンドとともに半導体メモリパック装置１２０に引き渡す。
【００５５】
半導体メモリパック装置１２０は、データ記録装置１１０から記録コマンドを受け取ると、４クラスタのデータをワークメモリ１２２に一時記憶する。これと共に、マルチカードアクセス制御部１２１は、記録コマンドと一緒に指示された半導体メモリパック装置１２０の論理アドレスを、図４で示したとおり、半導体メモリパック装置１２０に内蔵する４枚の半導体メモリカード１２３〜１２６の個別の論理アドレスに変換する。さらに、ワークメモリ１２２に一時記憶されたクラスタのデータを４つに分割し、上記の変換で得られた半導体メモリカード１２３〜１２６それぞれの論理アドレスに対して、並列に同時記録する。
【００５６】
以上、本実施形態では、データ記録装置１１０のファイル管理部１１０９がデータを管理する最小単位である１クラスタ（１６ＫＢ）単位に記録を行わず、半導体メモリパック装置１２０に内蔵される４枚の半導体メモリカード１２３〜１２６の消去ブロックの合計サイズ（６４ＫＢ）と１クラスタ（１６ＫＢ）の公倍数となる４クラスタ（６４ＫＢ）単位に記録する。これにより、従来から高速記録の障害となってきたリード・モディファイ・ライトの発生を防止し、結果として半導体メモリカードの書き換え回数を低減することが可能になる。また、半導体メモリパック装置１２０は、内蔵する４枚の半導体メモリカードに対して並列に同時記録するため、半導体メモリカードが１枚だけの場合に比べて、４倍高速にデータを記録することができる。
【００５７】
なお、実施の形態２において、半導体メモリカードを４枚内蔵するタイプの半導体メモリパック装置を例に説明したが、本発明において半導体メモリパック装置に内蔵される半導体メモリカードの枚数は４枚に限定されず、複数枚の半導体メモリカードを内蔵する構成に同様に適用できる。内蔵する半導体メモリカードのすべてが並列動作する必要は無く、例えば、４枚の半導体メモリカードを内蔵して、そのうち２枚ずつが並列動作するのでもよい。また、実施の形態２においては、４つの消去ブロックを４つのクラスタに割り当てる例を説明したが、半導体メモリパック装置に内蔵する半導体メモリカードの消去ブロックの合計サイズとクラスタサイズとの公倍数をデータ記録単位として、一つのデータ記録単位内には同一ファイルのデータのみを記録するようにすれば、同様の効果を得ることができる。また、消去ブロックのサイズが１６ＫＢに限定されるものでもない。内蔵する半導体メモリはカード形状に限定されず、チップの形状で実装されるものも本発明の技術的範囲に含まれる。さらに、実施の形態２においては、半導体メモリパック装置内で複数の半導体メモリカードが並列動作する構成を例に説明したが、例えば、半導体メモリカード内の複数のフラッシュメモリが並列動作する構成についても本発明を適用できる。すなわち、並列動作する複数のフラッシュメモリの消去ブロックの合計サイズとクラスタサイズとの公倍数を、ファイル管理部１１０９のデータ記録単位とすれば良い。
【００５８】
（実施の形態３）
続いて、図１および図５を用いて、本発明のさらに他の実施形態について説明する。図５は、半導体メモリパック装置１２０の連続する論理アドレスと、この論理アドレスにマッピングされた４枚の半導体メモリカード１２３〜１２６の消去ブロック（１６ＫＢ）との関係と共に、半導体メモリカード１２３〜１２６の消去ブロックの合計サイズ（１６ＫＢ×４＝６４Ｋ）とファイル管理部１１０９のデータ管理単位＝クラスタサイズ（１６ＫＢ）の公倍数である４クラスタ（６４ＫＢ）をデータ記録単位とした場合のクラスタ割り当てを示す。
【００５９】
従来のファイルシステムにおいては、データの管理単位であるクラスタ単位に空き領域を検索し、１クラスタ分でも空き領域があれば、その論理アドレスに１クラスタ分のデータを記録する。しかしながら、本実施形態のデータ記録装置１１０のファイル管理部１１０９は、４クラスタをデータ記録単位とするため、少なくとも４クラスタ分の連続した空き領域が無ければデータを記録しない。図５において、半導体メモリパック装置１２０のデータ記録単位５０１は、連続する４クラスタすべてが空き領域であるので、データを記録することが可能であると判断されるが、データ記録単位５０２には記録済みのクラスタがひとつ存在するため、残りの３クラスタも合わせて記録には使用されない。
【００６０】
以上、本実施形態では、データ記録単位（６４ＫＢ）で空き領域を検索することで、４クラスタをまとめて記録する論理アドレスのアライメントが常に６４ＫＢの境界と一致するように記録することができる。これにより４枚の半導体メモリカードの消去ブロック境界とデータ記録単位の境界とがミスマッチすることない。この結果、従来から高速記録の障害となってきたリード・モディファイ・ライトの発生を防止し、結果として半導体メモリカードの書き換え回数を低減することが可能になる。
【００６１】
なお、実施の形態３では、半導体メモリカードを４枚内蔵するタイプの半導体メモリパック装置を例に説明したが、本発明の半導体メモリパック装置に内蔵する半導体メモリカードの枚数は４枚に限定されない。本発明は、複数枚の半導体メモリカードを内蔵する構成であれば、同様に適用することができる。また、内蔵する半導体メモリカードのすべてが並列動作する必要は無く、例えば、４枚の半導体メモリカードを内蔵して、そのうち２枚ずつが並列動作するのでもよい。また、実施の形態３においては４つの消去ブロックを４つのクラスタに割り当てる例を説明したが、半導体メモリパック装置に内蔵する半導体メモリカードの消去ブロックの合計サイズとクラスタサイズの公倍数をデータ記録単位として、データ記録単位で空き領域を検索するように動作すれば、同様の効果を得ることができる。さらに、消去ブロックのサイズが１６ＫＢに限定されるものでもない。内蔵する半導体メモリはカード形状に限定されず、チップ形状で実装されるものも本発明の技術的範囲に含まれる。
【００６２】
（実施の形態４）
図１および図６、図７を参照し、本発明のさらに他の実施形態を説明する。図６および図７は半導体メモリパック装置１２０の連続する論理アドレスにマッピングされた４枚の半導体メモリカード１２３〜１２６の消去ブロック（１６ＫＢ）の関係を示すとともに、４並列に動作する半導体メモリカード１２３〜１２６の消去ブロックの合計サイズ（１６ＫＢ×４＝６４Ｋ）とファイル管理部１１０９のデータ管理単位＝クラスタサイズ（１６ＫＢ）の公倍数である４クラスタ（６４ＫＢ）をデータ記録単位とした場合のクラスタ割り当てを図示している。
【００６３】
図６は、従来のファイルシステムによって１クラスタ単位にファイルが割り当てられた例を示している。従来のファイルシステムにおいては、クラスタがデータ管理の最小単位であり、図６のように記録してもファイルとして矛盾を生じることはない。しかしながら、半導体メモリパック装置１２０のデータ記録単位よりも小さなクラスタサイズで別々のファイルとして記録した場合、４枚の半導体メモリカード１２３〜１２６を並列に動作させても１枚の半導体メモリカードの４倍の速度で読み出すことは不可能である。図６の例であれば、ファイル＃１のデータは半導体メモリパック装置１２０に内蔵された半導体メモリカード＃１にのみ存在し、４枚ある半導体メモリカード１２３〜１２６を並列に動作させて読み出すことができないからである。
【００６４】
一方、図７の例は、クラスタサイズは図６と同一であるが、半導体メモリパック装置１２０のデータ記録単位の内部は、同一ファイルのデータのみが記録されている。図７のように記録することにより、例えばファイル＃１のデータを読み出す際には、４枚の半導体メモリカード１２３〜１２６が並列に動作することが可能となり、半導体メモリカードが１枚だけの場合に比較して、４倍速でデータを読み出すことが可能になる。
【００６５】
そこで、本実施形態では、図６のように半導体メモリパック装置１２０のデータ記録単位よりも小さなクラスタサイズで記録されたファイルのデータを、図７のように半導体メモリパック装置１２０のデータ記録単位内は同一ファイルのデータのみとなるように並べ替えることで、半導体メモリパック装置１２０の並列動作による効果を最大限に引き出すように記録する。この記録動作は、クラスタ単位のデータの並べ替えのみで実行することができ、記録されたファイルは、高速に読み出すことができる。
【００６６】
図１４は、前記並べ替えを実行する方法の一例を示している。並べ替え前の状態では、半導体メモリパック装置１２０の記録単位には、ファイル＃１〜＃４がクラスタ毎に記録されている。この状態では、半導体メモリパック装置１２０の並列動作を利用した高速読み出しを行うことができない。そこで個々のクラスタを一時バッファに読み出して、同一ファイルのクラスタを選別し、半導体メモリパック装置１２０の同一の記録単位に記録し直すことで、並べ替えを実行する。なお、一時バッファとしては、データ記録装置１１０の主記憶１１２または半導体メモリパック装置１２０のワークメモリ１２２などを利用することができる。一時バッファの容量は、最低でも、半導体メモリパック装置１２０の記録単位分だけあれば、並べ替え処理を実行することが可能である。このような並べ替えを行った後は、半導体メモリパック装置１２０の並列動作を利用して、ファイルを高速に読み書きすることが可能となる。
【００６７】
なお、上述の記録データの並べ替えは、例えば、半導体メモリパック装置１２０をデータ記録装置１１０に接続したとき、あるいは、データ記録装置１１０が特定の動作を実行したときなど、所定のタイミングで自動的に行うようにしても良い。前記特定の動作の例としては、例えば、データ記録装置１１０がディジタルカメラやビデオカメラである場合、撮影を終了した都度などが考えられる。
【００６８】
なお、実施の形態４において半導体メモリカードを４枚内蔵するタイプの半導体メモリパック装置を例に説明したが、本発明の半導体メモリパック装置に内蔵する半導体メモリカードの枚数は４枚に限定されない。本発明は、複数枚の半導体メモリカードを内蔵する構成であれば、同様に適用することができる。内蔵する半導体メモリカードのすべてが並列動作する必要は無く、例えば、４枚の半導体メモリカードを内蔵して、そのうち２枚ずつが並列動作するのでもよい。また、実施の形態４においては４つの消去ブロックを４つのクラスタに割り当てる例を説明したが、半導体メモリパック装置に内蔵する半導体メモリカードの消去ブロックの合計サイズとクラスタサイズの公倍数をデータ記録単位として、データ記録単位の内部は同一ファイルのデータのみになるように並べ替えることで同様の効果を得ることができるし、消去ブロックのサイズが１６ＫＢに限定されるものでもない。内蔵する半導体メモリは、カード形状に限定されず、チップ形状で実装されるものも本発明の技術的範囲に含まれる。
【００６９】
（実施の形態５）
続いて、図８〜図１０を参照し、本発明のさらに他の実施形態を説明する。まずＦＡＴファイルシステムの構成について、図８および図９を用いて説明する。
【００７０】
通常、ＩＳＯ／ＩＥＣ９２９２に規定されたＦＡＴファイルシステムでは、ファイルシステムの管理情報とユーザデータ領域は、記憶媒体の論理ボリューム上で図９に示したように配置されている。図９において、図の最上部は論理セクタ０番を表している。
【００７１】
論理セクタ０番には、ブートセクタが記録されている。ブートセクタには、ボリューム全体に関する情報と、ユーザデータ領域に書かれたファイルを読み出すために必要となるＦＡＴや、ルートエントリといった管理情報の所在に関する情報が記録されている。ＦＡＴファイルシステムの一具体例であるＦＡＴ１６ファイルシステムにおいて、ブートセクタに記述されるべき情報としてＩＳＯ／ＩＥＣ９２９３で定められたものを図１２に示す。
【００７２】
ユーザデータ領域におけるファイルの配置情報を記述するＦＡＴとブートセクタとの間には、予約領域を設けられていることがある。予約領域のセクタ数は、ブートセクタに記述される。
【００７３】
また、ＦＡＴファイルシステムにおいては、しばしば複数のＦＡＴを記録することが許されているが、ＦＡＴの数とＦＡＴひとつ当たりのセクタ数は、ブートセクタに記述されている。
【００７４】
ひとつあるいは複数のＦＡＴの直後のセクタ以降には、ルートディレクトリに記録されたファイルに関する情報が列挙される。ファイルに関する情報はファイルエントリと呼ばれ、３２バイト単位で管理される。ファイルエントリの中には、ファイル名、ファイル作成時刻、ファイルサイズ、ファイル長、ファイルが保存されている最初のクラスタ番号が記録されている。ルートディレクトリに置かれるファイルエントリの最大数（ルートディレクトリ項目数）はブートセクタに記述されており、その値に従ったサイズを持つ領域がルートディレクトリエントリとしてあらかじめ確保されている。ルートディレクトリ項目数は、ブートセクタに記述されている。
【００７５】
ルートディレクトリエントリの直後のセクタ以降が、ユーザデータ領域となる。ユーザデータ領域は、ひとつもしくは複数の連続したセクタをまとめた、クラスタと呼ばれる単位で管理され、全てのクラスタには先頭から順に通し番号が振られている。
【００７６】
ＦＡＴの中には、それぞれのクラスタに対応したＦＡＴエントリが用意されている。以下に、ユーザデータ領域へファイルを記録する方法を、図１０を用いて説明する。
【００７７】
記録するファイル１００１がユーザデータ領域で４クラスタ分に相当するサイズを持っている例を考える。この場合、ファイルシステムは、ＦＡＴのエントリの中から、未割り当てを表す特殊なビット列（ＦＡＴ１６ファイルシステムの場合は０ｘ００）が記録されているものを４つ探し出す。仮にＡ番目、Ｂ番目、Ｃ番目、Ｄ番目の４つのクラスタに対応するＦＡＴエントリ（１００２〜１００５）に未割り当てを表すビット列が記録されているのが見つかった場合、ファイルシステムは、ファイルをユーザデータ領域のＡ番目〜Ｄ番目の４クラスタに分割して記録する。さらに、４クラスタの関係を記録するために、ＦＡＴのクラスタＡに対応するエントリ１００２内には、ファイルが記録されている次のクラスタの番号、すなわち番号Ｂを記録する。同様にして、クラスタＢに対応するＦＡＴエントリ１００３には番号Ｃを記録し、クラスタＣに対応するＦＡＴエントリ１００４には番号Ｄを記録する。ファイルが記録された最後のクラスタ（本例ではクラスタＤ）に対応するＦＡＴエントリ１００５には、ファイル終端を表す特殊なビット列（ＦＡＴ１６ファイルシステムでは０ｘＦＦ）を記録する。ユーザデータ領域からファイルを読み出す場合は、このクラスタの繋がりをたどることによって、ファイル終端まで到達することができる。ＦＡＴエントリひとつ当たりに１２ビット使用するファイルシステムをＦＡＴ１２ファイルシステム、１６ビット使用するものをＦＡＴ１６ファイルシステム、３２ビット使用するものをＦＡＴ３２ファイルシステムと呼ぶ。
【００７８】
また、ＦＡＴ全体に割かれるスペースのサイズＳＦは、前記ブートセクタの２３〜２４ビットに記述されている（図１２）。さらに、本スペース中に含まれる有効なＦＡＴエントリの数ＦＥは、ブートセクタの３３〜３６ビットに記述された全セクタ数ＴＳを用いて以下の数式［数１］から計算される。
【００７９】
【数１】
2004342090.tif 000003
【００８０】
［数１］でＲＳＣは予約セクタ数、ＳＦはＦＡＴあたりのセクタ数、ＲＤＥはルートディレクトリの項目数、ＳＳはセクタのデータフィールドのバイト数、ＳＣはクラスタ当たりのセクタ数をあらわしている。関数ｉｐ（ｘ）は、ｘの整数部をあらわし、関数ｃｅｉｌ（ｘ）はｘより大きい最小の整数をあらわす。［数１］においてｃｅｉｌ（３２×ＲＤＥ／ＳＳ）は、ルートディレクトリのために確保されるセクタ数を計算している。よって、（ＴＳ−ＲＳＣ−ＳＦ−ｃｅｉｌ（３２×ＲＤＥ／ＳＳ））は全セクタ数から管理領域のセクタ数を引いた値、すなわちユーザデータ領域のセクタ数となる。これをＳＣで割ったものの整数部をとることにより、ユーザデータ領域で確保可能なクラスタ数が計算できる。さらに２を足しているのは、管理領域に関する特別なＦＡＴエントリ確保のためである。
【００８１】
ＦＡＴファイルシステムは広く用いられているファイルシステムであるが、オペレーティングシステムによっては、［数１］で計算される有効クラスタ数の下限値を定めているものがある。これにより、ある容量以下の記録媒体、すなわち或る値以下の総セクタ数ＴＳしか持たない記憶媒体をＦＡＴファイルシステムで用いたい場合は、クラスタサイズを小さくして総クラスタ数を多くする手段を取らざるを得ない。しかしながら、記憶媒体が半導体メモリパック装置の場合、クラスタサイズを半導体メモリパック装置の消去ブロックと一致させたいという要望から、クラスタサイズの変更が容易でないことがある。したがって、クラスタサイズ制限を持った小容量記憶媒体は、クラスタ数下限を持ったオペレーティングシステムでは使用できないことになる。
【００８２】
そこで、本実施形態では、オペレーティングシステムのサポート範囲以下のクラスタ数しか確保できない小容量記憶媒体をＦＡＴファイルシステムで利用する場合に、ブートセクタの総セクタ数ＴＳに、実際に存在するセクタ数よりも大きな値を記述することにより、前記問題を回避する。すなわち、小容量記憶媒体のフォーマット時に、総セクタ数ＴＳを以下の数式［数２］で計算される値よりも大きい値に設定することにより、制限付きオペレーティングシステムで小容量記憶媒体を扱えるようにする。ここでＬＳはオペレーティングシステムが定めるクラスタ数の下限である。
【００８３】
【数２】
2004342090.tif 000004
【００８４】
［数２］は、［数１］の解をＬＳとおいて、ＴＳについて解くことにより導かれる。
【００８５】
［数２］から得られる総セクタ数をブートセクタに設定することにより、ＦＡＴ内のＦＡＴエントリには、実際に存在するクラスタと関連付け可能なものと、実在するクラスタとは関連付け不可能なものが生じる。図８では、ユーザデータ領域に実在するクラスタ数をＮ、総クラスタ数ＴＳによって計算される有効クラスタ数をＭとしている。ＦＡＴエントリの１番からＮ番までが実在するクラスタと関連付け可能なＦＡＴエントリ８０１であり、Ｎ＋１番からＭ番までが実在するクラスタと関連付け不可能なＦＡＴエントリ８０２となる。
【００８６】
本実施形態では、小容量記憶媒体をＦＡＴファイルシステムでフォーマットするときに、実在するクラスタと関連付けできないＦＡＴエントリ８０２の全てに、ファイル終端を示す全ビット１の値をあらかじめ記述しておく。これは、総セクタ数を水増しして記述したＦＡＴファイルシステムに対してファイルの書き込みをおこなう場合、実在するクラスタと関連付けできないＦＡＴエントリ８０２に未割り当てを示すビット列を記述しておくと、ファイルシステムが実在しないクラスタにデータを書き込もうとしてエラーを生じる可能性があるためである。実在するクラスタと関連付けできないＦＡＴエントリ８０２が指す先のクラスタにはすでにデータが割り当て済みであると見せかけることで、ファイルシステムがファイルを書き込むためにボリューム上の空き領域をサーチする場合、実在しないクラスタを書き込み対象とすることがなくなる。
【００８７】
また、ＦＡＴ１２、ＦＡＴ１６ファイルシステムでは、多くのオペレーティングシステムが、ユーザに提供する記録媒体の空き容量情報を未割り当てビット列が記述されたＦＡＴエントリを数えることによって計算する。従って、本実施形態に従えば、正確な空き容量情報をユーザに提供できる。また、ＦＡＴ３２ファイルシステムでは、論理ボリューム上で得られる空きクラスタの数が予約セクタ内に記述されており、オペレーティングシステムの多くは、本情報をもとにユーザへディスクの空き容量情報を提供する。本実施形態では、記憶媒体をＦＡＴファイルシステムでフォーマットするときに、総セクタ数ＴＳから計算される総クラスタ数から実在するクラスタと関連付け不可能なＦＡＴエントリ８０２の数を引いたものを空きクラスタ数として予約セクタ内に記述することにより、正確な空き容量情報を提供する。
【００８８】
以上の方法でＦＡＴファイルシステムを構築することにより、ＦＡＴエントリの下限値を持ったオペレーティングシステムにおいてもクラスタサイズに制限を持った小容量記憶媒体を読み書きすることが可能になり、また、ユーザに対して正確な空き容量情報を提供することも可能になる。なお、実施の形態５では実在するクラスタと関連付け不可能なＦＡＴエントリ８０２に入れるビット列を、ファイル終端を示すビット列としたが、不良セクタを示すビット列等、未割り当てを示すビット列以外であれば何を用いても構わない。
【００８９】
（実施の形態６）
最後に、図１１を用いて、本発明のさらに他の実施形態について説明する。
【００９０】
図１１は、実施の形態６のデータ記録装置の構成を表したブロック図である。図１１において、１１０１はデータ記録装置、１１０２は制御部、１１０３はメモリ、１１０４は入力データＩ／Ｆ、１１０５はエンコーダ制御部、１１０６はエンコーダ、１１０７はバッファ制御部、１１０８はバッファ、１１０９はファイル管理部、１１１０はメディアＩ／Ｆ、１１１１はメディアを表している。なお、メディア１１１１は、実施の形態１等で説明した半導体メモリパック装置１２０である。
【００９１】
制御部１１０２は、メモリ１１０３を用いて、データ記録装置１１０１の全体の制御を行う。入力データＩ／Ｆ１１０４は、外部から入力されたデータを受け取る。
【００９２】
エンコーダ制御部１１０５は、入力データＩ／Ｆ１１０４から入力されたデータを受け取り、エンコーダ１１０６を制御してそのデータのエンコード処理を行い、バッファ制御部１１０７にエンコードされたデータを送る。また、エンコーダ制御部１１０５は、エンコーダ１１０６からの情報を取得して、制御部１１０２に伝えることもできる。エンコーダ１１０６からの情報とは、例えばビデオデータをＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅｓ  ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）にエンコードする場合、１ＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅｓ）のエンコードを完了したという情報などである。
【００９３】
バッファ制御部１１０７は、エンコーダ制御部１１０５から受け取った、エンコードされたデータを、データの種類毎にバッファ１１０８内の別の領域に格納する。また、バッファ制御部１１０７は、バッファ１１０８に蓄えられたデータの量を監視しており、所定量に達した時には制御部１１０２に通知する。制御部１１０２はその通知を受け取ると、ファイル管理部１１０９にデータ記録要求を出す。
【００９４】
ファイル管理部１１０９は、メディア１１１１に記録されているファイルの管理を行う。ファイル管理部１１０９は、メディア１１１１からメディアＩ／Ｆ１１１０を介して、ファイルシステム管理情報を読み込み、メモリ１１０３に格納する。制御部１１０２からのデータ記録要求を受けると、ファイル管理部１１０９はファイルシステム管理情報を参照して空き領域を探し、見つかればその領域にデータを記録するようにメディア１１１１にコマンドを発行する。またこの処理と同時に、ファイル管理部１１０９は、記録位置やデータ量などの記録したデータの情報を、メモリ１１０３に格納されているファイルシステム管理情報に書き込む。
【００９５】
メモリ１１０３に格納されているファイルシステム管理情報は、定期的にメディア１１１１に書き戻さなければならない。それは、記録装置１１０１の電源が落ちるなど、不測の事態が起こる可能性があるからである。ファイルシステム管理情報がメディア１１１１に書き戻されないと、それまで記録したデータの記録位置やデータ量などを知るすべがなく、記録されていない状態と同じになってしまう。
【００９６】
逆に、ファイルシステム管理情報を頻繁にメディア１１１１に書き戻すようにすると、書き換え回数の上限があるメディアだと、すぐに書き換え回数を超えてしまう可能性がある。また、ファイルシステム管理情報の書き換え処理のために、メディア１１１１のアクセス効率が低下してしまう。よって、ファイルシステム管理情報を適切なタイミングでメディア１１１１に書き戻すことが重要になる。
【００９７】
以下、ファイルシステム管理情報を書き戻すタイミングについて、音声データと映像データを別々のファイルで同時に記録する場合と、音声データと映像データを１つのファイルで記録する場合の２つの例で説明する。
【００９８】
まず、音声データと映像データを別々のファイルで同時に記録する場合について述べる。
【００９９】
音声データと映像データを別々のファイルで記録する場合、同時に記録装置１１０１に入力されても、メディア１１１１には同時に記録されない。それは、映像データのビットレートが音声データのビットレートより高いため、バッファ１１０８に蓄えられる映像データが音声データより早く所定量に達して、映像データが先に記録されるからである。
【０１００】
音声データと映像データはセットでクリップを構成するため、映像データだけをメディア１１１１に記録しても、通常その映像データは意味のないものになってしまう。
【０１０１】
よって、本実施形態では、音声データと映像データを別々のファイルで同時に記録する場合、音声データをメディア１１１１に記録する毎に、ファイルシステム管理情報もメディア１１１１に書き戻すようにする。つまり、ビットレートの最も低いデータの記録を、ファイルシステム管理情報を書き戻すトリガにする。
【０１０２】
先述したように、バッファ制御部１１０７は、バッファ１１０８をデータの種類毎に監視しており、データが所定量に達した時に制御部１１０２に通知する。制御部１１０２は、現在記録処理を行っているデータの中で最もビットレートが低いデータを知っている。この例では、音声データが最もビットレートが低いデータである。バッファ１１０８に蓄積された音声データが所定量に達したことを通知されると、制御部１１０２はファイル管理部１１０９に、音声データの記録要求とファイルシステム管理情報更新要求を出す。なお、上記の「所定量」とは、メディア１１１１（半導体メモリパック１２０）において並列動作する半導体メモリカード１２３〜１２６の消去ブロックの合計サイズと、ファイル管理部１１０９のデータ管理サイズとの公倍数をデータ記録単位とした場合、そのデータ記録単位の整数倍である。
【０１０３】
以上のように、音声データと映像データを別々のファイルで同時に記録する場合、ビットレートの低い音声データの記録にあわせてファイルシステム管理情報をメディアに書き戻すようにすると、メディアの書き換え回数を無駄に増やすことなく、記録装置の電源断対策を図ることができる。
【０１０４】
次に、音声データと映像データをＭＰＥＧシステムストリームとして１つのファイルに記録する場合について説明する。
【０１０５】
ＭＰＥＧシステムストリームを記録する場合、データは１ＧＯＰの単位で完結するフレーム間圧縮が施されており、１ＧＯＰよりも短い単位でデータが記録されても正常にデコードして再生することができない。しがたって、１ＧＯＰ以内のデータを記録した段階でファイルシステムの管理情報をメディアに書き戻してもほとんどの場合に意味を成さない。そこで本実施形態では、ＭＰＥＧシステムストリームを１つのファイルとしてメディアに記録する場合、１ＧＯＰの整数倍だけデータを記録した段階でファイルシステムの管理情報を更新するように動作する。これによって必要以上にファイルシステムの管理情報を書き換えることが防止され、メディアの書き換え寿命を延ばすことが可能になる。
【図面の簡単な説明】
【０１０６】
【図１】本発明の実施の形態１によるデータ記録装置および半導体メモリパック装置の構成図
【図２】従来の半導体メモリパック装置における記録領域を示した図
【図３】本発明の実施の形態１によるデータ記録単位と消去ブロック、クラスタ割り当てを示した図
【図４】本発明の実施の形態２によるデータ記録単位と消去ブロック、クラスタ割り当てを示した図
【図５】本発明の実施の形態３によるデータ記録単位と消去ブロック、空きクラスタを示した図
【図６】本発明の実施の形態４における並べ替え前のデータ記録単位とファイルの記録配置を示した図
【図７】本発明の実施の形態４における並べ替え後のデータ記録単位とファイルの記録配置を示した図
【図８】本発明の実施の形態５による実時間データファイルの再生方法のブロック図
【図９】本発明の実施の形態５による実時間データファイルの再生方法のブロック図
【図１０】本発明の実施の形態５による実時間データファイルの再生方法のブロック図
【図１１】本発明の実施の形態６による実時間データファイルの再生方法のブロック図
【図１２】ＩＳＯ／ＩＥＣ９２９３で定められたＦＡＴのブートセクタを示す図
【図１３】本発明の実施の形態１にかかるデータ記録装置の機能的な構成を示すブロック図
【図１４】本発明の実施の形態４においてデータ記録単位内のデータを並べ替える方法の説明図
【符号の説明】
【０１０７】
１１０  データ記録装置
１１１  ＣＰＵ
１１２  主記憶
１１３  カードコネクタ
１２０  半導体メモリパック装置
１２１  マルチカードアクセス制御部
１２２  ワークメモリ
１２３  半導体メモリカード＃１
１２４  半導体メモリカード＃２
１２５  半導体メモリカード＃３
１２６  半導体メモリカード＃４
２０１〜２１２  ファイルシステムのデータ管理単位
２２０、２３０、２４０  半導体メモリパック装置の消去ブロック
２５０、２６０、２７０、２８０  半導体メモリパック装置の記録領域
３０１  半導体メモリカード＃１の消去ブロック
３０２  半導体メモリカード＃２の消去ブロック
３０３  半導体メモリカード＃３の消去ブロック
３０４  半導体メモリカード＃４の消去ブロック
３０５  半導体メモリパック装置のクラスタ
４０１  半導体メモリカード＃１の消去ブロック
４０２  半導体メモリカード＃２の消去ブロック
４０３  半導体メモリカード＃３の消去ブロック
４０４  半導体メモリカード＃４の消去ブロック
４０５  半導体メモリパック装置のクラスタ
５０１、５０２  半導体メモリパック装置のデータ記録単位
８０１  実在するクラスタと関連付け可能なＦＡＴエントリ
８０２  実在するクラスタとは関連付け不可能なＦＡＴエントリ
１００１  ユーザデータ領域に書き込むファイル
１００２  Ａ番目のクラスタに対応するＦＡＴエントリ
１００３  Ｂ番目のクラスタに対応するＦＡＴエントリ
１００４  Ｃ番目のクラスタに対応するＦＡＴエントリ
１００５  Ｄ番目のクラスタに対応するＦＡＴエントリ
１１０１  データ記録装置
１１０２  制御部
１１０３  メモリ
１１０４  入力データＩ／Ｆ
１１０５  エンコーダ制御部
１１０６  エンコーダ
１１０７  バッファ制御部
１１０８  バッファ
１１０９  ファイル管理部
１１１０  メディアＩ／Ｆ
１１１１  メディア
【図１】
2004342090.tif 000005
【図２】
2004342090.tif 000006
【図３】
2004342090.tif 000007
【図４】
2004342090.tif 000008
【図５】
2004342090.tif 000009
【図６】
2004342090.tif 000010
【図７】
2004342090.tif 000011
【図８】
2004342090.tif 000012
【図９】
2004342090.tif 000013
【図１０】
2004342090.tif 000014
【図１１】
2004342090.tif 000015
【図１２】
2004342090.tif 000016
【図１３】
2004342090.tif 000017
【図１４】
2004342090.tif 000018
【手続補正書】
【提出日】平成16年9月27日(2004.9.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
並列に記録動作する複数のフラッシュメモリを内蔵する半導体メモリパック装置に対してデータを記録するデータ記録装置において、
前記半導体メモリパック装置へ記録すべきデータをファイルとして管理するファイル管理部を備え、
前記ファイル管理部が、前記半導体メモリパック装置へ供給するデータのデータ記録単位を、前記複数のフラッシュメモリの消去ブロックサイズを合計したサイズと、当該ファイル管理部におけるデータ管理サイズとの公倍数とすることを特徴とするデータ記録装置。
【請求項２】
前記複数のフラッシュメモリの消去ブロックサイズを合計したサイズの整数倍をデータ記録単位として、前記ファイル管理部のデータ管理単位が、前記データ記録単位と同一サイズである、請求項１に記載のデータ記録装置。
【請求項３】
前記ファイル管理部が、前記データ記録単位内を同一ファイルのデータとする、請求項１または２に記載のデータ記録装置。
【請求項４】
前記ファイル管理部が、前記半導体メモリパック装置に前記データ記録単位に相当する空き容量がある場合にのみ記録を行う、請求項１または２に記載のデータ記録装置。
【請求項５】
前記ファイル管理部が、前記データ記録単位内に異なるファイルのデータが記録されている場合、前記データ記録単位内は同一ファイルのデータになるように記録データを並べ替える、請求項１または２に記載のデータ記録装置。
【請求項６】
前記半導体メモリパック装置が、前記ファイル管理部のファイル管理情報を記録する領域を有し、
前記ファイル管理部が、音声データファイルおよび映像データファイルの少なくとも２つのファイルを同時に並行して前記半導体メモリパック装置へ記録する場合、前記半導体メモリパック装置へ供給すべきデータとして蓄積している音声データの量が前記データ記録単位の整数倍となった時点で、前記半導体メモリパック装置に記録されている前記ファイル管理情報を更新する、請求項１または２に記載のデータ記録装置。
【請求項７】
前記半導体メモリパック装置が、前記ファイル管理部のファイル管理情報を記録する領域を有し、
前記ファイル管理部が、ＭＰＥＧストリームをファイルに記録する場合、記録済みのデータが１ＧＯＰの整数倍となった時点で、前記半導体メモリパック装置に記録されているファイル管理情報を更新する、請求項１または２に記載のデータ記録装置。
【請求項８】
前記フラッシュメモリが、半導体メモリカードとして前記半導体メモリパック装置に装着される、請求項１または２に記載のデータ記録装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３２
【補正方法】変更
【補正の内容】
【００３２】
第７に、本発明のデータ記録装置は、前記第１または第２の構成において、前記半導体メモリパック装置が、前記ファイル管理部のファイル管理情報を記録する領域を有し、前記ファイル管理部が、ＭＰＥＧストリームをファイルに記録する場合、記録済みのデータが１ＧＯＰの整数倍となった時点で、前記半導体メモリパック装置に記録されているファイル管理情報を更新することが好ましい。