(57)【要約】【課題】複数枚の不揮発メモリを内蔵した記録媒体では、内部で並列に動作する不揮発メモリの枚数分だけ消去ブロックのサイズが大きくなるため、高速記録のためには、その消去ブロックサイズだけ連続した空き領域にデータを記録しなければならない。【解決手段】上記のような記録媒体にデータを記録する際に、不揮発メモリの消去ブロックサイズを合計したサイズと、ファイルシステムのデータ管理サイズとの公倍数の値に基づいて、消去ブロックの境界を跨がない空き領域を検索してデータを記録することにより、記録媒体に対して高速記録が可能になる。【選択図】図３
2005190331.tif 000002
【特許請求の範囲】
【請求項１】
データをブロック単位に消去する不揮発メモリを複数内蔵した記録媒体にデータを記録するデータ記録方法であって、
前記記録媒体の記録領域におけるデータ管理単位のサイズをＡとし、前記不揮発メモリの消去のブロック単位のサイズをＢとし、前記記録媒体に内蔵される前記不揮発メモリの個数をＣとし、Ｄ＝Ｂ×Ｃとし、ＡとＤとの公倍数のうちのいずれかひとつをＥとしたときに、サイズがＥとなる記録単位が前記記録媒体の論理アドレスの先頭から連続して複数配置されており、
前記記録媒体の記録領域の空き領域検索開始アドレスを前記記録単位の開始アドレスの中から指定する開始アドレス指定ステップと、
前記開始アドレスから順番に前記記録単位毎に空き領域であるかどうかを判定することにより記録可能な記録単位を検索する記録可能領域検索ステップと、
前記記録可能領域検索ステップでみつかった前記記録可能な記録単位に対して、サイズがＥとなるデータを記録する記録ステップとを備えたデータ記録方法。
【請求項２】
前記記録可能領域検索ステップは、前記開始アドレスからＥの倍数のサイズが空き領域であるかどうか判定する記録可能領域判定ステップと、
前記記録可能領域判定ステップで前記開始アドレスからＥの倍数のサイズが空き領域である場合、前記空き領域が記録可能な記録単位であることを通知する記録許可通知ステップと、
前記記録可能領域判定ステップで前記開始アドレスからＥの倍数のサイズが空き領域でない場合、アドレスをＥの倍数のサイズだけ進めた次の記録単位が存在するかどうか判定する記録領域有無判定ステップと、
前記記録領域有無判定ステップで前記次の記録単位が存在する場合、前記開始アドレスからＥの倍数のサイズだけ進めた次の記録単位に移って前記記録可能領域判定ステップに進む開始アドレス変更ステップと、
前記記録領域有無判定ステップで前記次の記録単位が存在しない場合、空き領域が存在しないことを通知する記録不可通知ステップとを備えた請求項１記載のデータ記録方法。
【請求項３】
前記データ管理単位毎に空き領域であるかどうかを判定することにより記録可能なデータ管理単位を検索する管理サイズ空き領域検索ステップと、
記録するファイルを第１のファイルと第２のファイルに分類し、前記記録するファイルが前記第1のファイルである場合は前記開始アドレス指定ステップに進み、前記前記記録するファイルが前記第２のファイルである場合は前記管理サイズ空き領域検索ステップに進むファイル分類ステップとをさらに備えた請求項１乃至２のいずれかに記載のデータ記録方法。
【請求項４】
前記ファイル分類ステップは、前記記録するファイルが所定のサイズ以上の場合は前記第１のファイルとし、前記記録するファイルが所定のサイズ未満の場合は前記第２のファイルとする請求項３記載のデータ記録方法。
【請求項５】
前記ファイル分類ステップは、前記記録するファイルがリアルタイムファイルの場合は前記第１のファイルとし、前記記録するファイルが非リアルタイムファイルの場合は前記第２のファイルとする請求項３記載のデータ記録方法。
【請求項６】
前記不揮発メモリの消去のブロック単位Ｂと前記不揮発メモリの個数Ｃが前記記録媒体に格納されており、
前記記録媒体からＢとＣを読み出して前記記録単位のサイズＥを算出する請求項１乃至５のいずれかに記載のデータ記録方法。
【請求項７】
データをブロック単位に消去する不揮発メモリを複数内蔵した記録媒体にデータを記録するデータ記録装置であって、
データをファイルとして管理するファイルシステムによって前期記録媒体へのデータの記録を制御する制御手段を備え、
前記記録媒体の記録領域におけるデータ管理単位のサイズをＡとし、前記不揮発メモリの消去のブロック単位のサイズをＢとし、前記不揮発メモリの個数をＣとし、Ｄ＝Ｂ×Ｃとし、ＡとＤとの公倍数のうちのいずれかひとつをＥとしたときに、
前記制御手段は、前記記録媒体上の連続アドレスに対して、離散的なアドレスであるＥ×ｉ（ｉは０以上の整数）のアドレスの位置を開始点として連続したアドレスで空いている領域を検索し、前記開始点からサイズがＥの倍数となる空き領域が見つかれば、前記空き領域にデータを記録するデータ記録装置。
【請求項８】
前記制御手段は、記録するファイルを第１のファイルと第２のファイルに分類し、
前記第１のファイルを記録する場合には、前記記録媒体上の連続アドレスに対して離散的なアドレスであるＥ×ｉのアドレスの位置を開始点として連続したアドレスで空いている領域を検索し、前記開始点からサイズがＥの倍数となる空き領域が見つかれば、前記空き領域にデータの記録を行い、
前記第２のファイルを記録する場合には、前記記録媒体上の連続アドレスに対して離散的なアドレスであるＡ×ｊ（ｊは０以上の整数）のアドレスの位置を開始点として空いている領域を検索し、前記開始点からサイズが少なくともＡとなる空き領域が見つかれば、前記空き領域にデータの記録を行う請求項７記載のデータ記録装置。
【請求項９】
前記制御手段は、前記記録するファイルが所定のサイズ以上の場合には前記第１のファイルとし、前記記録するファイルが所定のサイズ未満の場合には前記第２のファイルとする請求項８記載のデータ記録装置。
【請求項１０】
前記制御手段は、前記記録するファイルがリアルタイムファイルの場合には前記第１のファイルとし、前記記録するファイルが非リアルタイムファイルの場合には前記第２のファイルとする請求項８記載のデータ記録装置。
【請求項１１】
前記不揮発メモリの消去のブロック単位Ｂと前記不揮発メモリの個数Ｃが前記記録媒体に格納されており、
前記制御手段は、前記記録媒体からＢとＣを読み出して前記記録単位のサイズＥを算出する請求項７乃至請求項１０のいずれかに記載のデータ記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発メモリ媒体を用いて映像や音声などのデータを記録する方法、および記録する装置に関する。
【背景技術】
【０００２】
電気的に記録や消去が可能で、電源を切っても記録されたデータが不揮発なメモリ素子を内蔵した半導体メモリカードが近年普及しつつある。この種の半導体メモリカードに記録や再生を行う装置は、従来のテープ媒体やディスク媒体で必要だった機械的な可動部分が少なくて済むことから、小型・軽量で衝撃にも強い装置を構成できる。しかしながら、映像や音声のように、所定の転送レートを保証しないと映像や音声が途切れるなどの不都合を生じるリアルタイムファイルを記録するには、半導体メモリカード１枚あたりの記憶容量が小さく、また、記録や再生のデータ転送レートが低いために、この用途には不十分である。
【０００３】
そこで、複数の半導体メモリカードを組み合わせて、記憶容量と転送レートの向上を目的とした半導体メモリパック装置が提案されている（例えば、特許文献１参照。）。上記従来の半導体メモリパック装置では、複数枚の半導体メモリカードに対して同時にデータを記録できるため、記録の転送レートを高速化できる。
【特許文献１】特開２０００−２０７１３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
一般に、多くの半導体メモリカードでは内部にフラッシュメモリを使用しており、データ記録の際には、記録前に消去ブロックと呼ばれる一定のサイズのデータが電気的に一括消去される特徴を持っている。ここで、消去ブロックのサイズに満たないデータを記録する場合、一度そのブロックのデータを読み出して保持した後、ブロックのデータを一括消去し、保持していたデータを部分的に更新してから、ブロックに書き戻すことになる。このような動作はリード・モディファイ・ライトと呼ばれ、記録動作が複雑になり、記録の転送レートが低下する原因となる。高い転送レートでデータを記録するには、このような消去ブロックに対する部分的なデータ更新を避けるため、記録するデータのサイズを消去ブロックと同じサイズか、または、その整数倍のサイズにして、さらに記録するアドレスを消去ブロックの先頭に合わせる必要がある。
【０００５】
従来の半導体メモリパック装置では、複数枚の半導体メモリカードに同時にデータを記録するため、半導体メモリカード１枚あたりの消去ブロックのサイズを、さらに複数枚の分だけ積算したサイズでデータを記録することになる。以上のように、半導体メモリカードを複数枚使った装置において、高い転送レートでデータを記録するためには、記録するデータサイズを大きな単位で行う必要がある。
【０００６】
一方で、記録されたデータをファイルとして管理するには、一般にファイルシステムと呼ばれるデータ管理方法が必要である。ファイルシステムは、一般にセクタやクラスタといった所定のデータサイズを単位としてファイルを管理する。しかし、一般にセクタやクラスタのサイズは小さいため、前述のような大きなデータ単位を扱うには、１セクタや１クラスタではサイズが不足することがある。このような場合、ファイルシステムは連続した複数個のセクタや連続した複数個のクラスタを、まとめて上記の装置へ記録する必要がある。
【０００７】
しかしながら、従来の半導体メモリパック装置では、記録データの単位と、ファイルシステムが管理するデータの単位が一致しない場合、種々の課題を有していた。以下、この課題について図９を用いて詳細に説明する。
【０００８】
図９は従来の半導体メモリパック装置における記録領域を示した図である。図９において、９０１は管理単位を表す。管理単位とはファイルシステムのセクタやクラスタに相当する。９０２から９１２までは、いずれも９０１と同じサイズの管理単位を表している。また、図９（ａ）において消去ブロック９２０は、管理単位９０１から９０４で構成されており、電気的に一括消去される単位を表している。以下同様に、消去ブロック９３０は管理単位９０５から９０８で構成され、消去ブロック９４０は管理単位９０９から９１２で構成されている。また、図９（ｂ）において、記録領域９５０はデータの記録時に使用する記録領域を表しており、記録領域９５０は管理単位９０３から９０６で構成されている。以下同様に、記録領域９６０は管理単位９０７から９１０で構成され、図９（ｃ）において、記録領域９７０は管理単位９０１から９０４で構成され、記録領域９８０は管理単位９０９から９１２で構成されている。なお、図９（ｂ）の斜線で示された管理単位９０１と９０２、および、図９（ｃ）の管理単位９０６は、いずれも既にデータが記録済みの状態を表しており、これらの管理単位にはファイルが存在している。
【０００９】
以上のように表された図９を用いて、従来の課題について説明する。図９（ａ）では、管理単位９０１から９１２までが未使用な状態であるとする。この場合、半導体メモリパック装置に対して最も高い転送レートでデータを記録するには、消去ブロックの単位毎に連続アドレスでデータを記録することが望ましい。この理由は前述のように、半導体メモリ媒体のデータが消去ブロック単位で電気的に一括消去されるため、このブロックのサイズに合わせたデータ単位でデータを記録することで、リード・モディファイ・ライトを防止できるからである。さらに、半導体メモリカードの種類によっては、消去ブロック単位で、かつ、連続アドレスでデータ記録すると、半導体メモリカードの内部で記録処理の並列化を行う種類のカードもあり、このような種類の媒体では、さらに高い転送レートでデータが記録されることになる。従って、図９（ａ）における理想的な記録方法は、管理単位９０１から９０４までを合計したサイズのデータを記録単位として、消去ブロック９２０、９３０、９４０の順番に連続して記録することで、高い転送レートが実現される。
【００１０】
しかしながら、図９（ｂ）では管理単位９０１と９０２に、既に記録済みのデータがファイルとして存在している。ファイルシステムは管理単位のサイズでファイルを作成することができるため、交換可能な記録媒体では、他の記録装置でこのような小さなファイルが作成されることがある。このような場合、消去ブロックのサイズでデータを記録すると、まず記録領域９５０にデータを記録し、次に、記録領域９６０にデータを記録することになる。記録領域９５０にデータを記録した場合、実際にデータが記録される管理単位９０３と９０４だけでなく、既に記録済みの管理単位９０１と９０２が同じ消去ブロックに含まれるため、前述のリード・モディファイ・ライトが発生し、記録の転送レートが低下する。さらに、記録領域９６０にデータを記録する時には、１つ前の記録領域９５０への記録動作のために、管理単位９０５と９０６が記録済みの状態になっている。従って、管理単位９０７と９０８に対する記録時にもリード・モディファイ・ライトが発生し、以下、この現象が繰り返されることになる。
【００１１】
このように、データの記録単位を消去ブロックの単位に合わせても、記録を開始するアドレスが、消去ブロックの境界とずれていた場合、リード・モディファイ・ライトが発生し、記録の転送レートが低下する。
【００１２】
また、図９（ｂ）において記録領域９５０にデータを記録する場合、半導体メモリ媒体の内部では、記録済みの管理単位９０１と９０２のデータも、一旦読み出し保持されて、ブロックが一括消去された後に書き戻される。この過程の途中でノイズの混入や電源断などのエラーが発生した場合、既にデータが記録済みだった管理単位９０１や９０２のデータも破壊される可能性がある。このように、リード・モディファイ・ライトが発生すると、記録の転送レートが低下するだけでなく、エラーの発生時に、記録済みのデータが破壊される課題がある。
【００１３】
さらに、フラッシュメモリなどを用いた半導体メモリ媒体は書き換え回数が有限であるため、頻繁にリード・モディファイ・ライトが起こるとデータの書き換えが多発して、半導体メモリ媒体の書き換え寿命を縮めることになる。
【００１４】
また、図９（ｃ）では、管理単位９０６に記録済みのデータが存在している。このような場合、まず記録領域９７０に消去ブロックサイズと同じサイズのデータを記録し、次にリード・モディファイ・ライトを避けるために、管理単位９０６を含む消去ブロックにはデータを記録せずに、次の消去ブロックに相当する記録領域９８０、すなわち、管理単位９０９から９１２までの領域にデータを記録する。このような方法を採れば、リード・モディファイ・ライトは発生しないが、次のような課題がある。
【００１５】
図９（ｃ）では、記録済みのデータが存在する管理単位９０６を避けるために、管理単位９０５と９０７と９０８は、空き領域であるにもかかわらず、記録には使用されなかった。このことは記録領域の無駄使いを意味しており、管理単位９０５から９０８のように、部分的に記録済みの管理単位を含んだ消去ブロックが多数存在した場合、いわゆるフラグメント状態となって、高い転送レートでデータを記録するにはこれらの領域を記録に使用できないため、記録媒体の容量を有効に利用することができなくなる。
【００１６】
本発明は、上記の課題に鑑み、前述の半導体メモリパック装置のような不揮発メモリを複数枚内蔵した記録媒体に対して、高速にデータを記録することができるデータ記録方法およびデータ記録装置を提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記課題を解決するために本発明は、データをブロック単位に消去する不揮発メモリを複数内蔵した記録媒体にデータを記録するデータ記録方法であって、記録媒体の記録領域におけるデータ管理単位のサイズをＡとし、不揮発メモリの消去のブロック単位のサイズをＢとし、記録媒体に内蔵される不揮発メモリの個数をＣとし、Ｄ＝Ｂ×Ｃとし、ＡとＤとの公倍数のうちのいずれかひとつをＥとしたときに、サイズがＥとなる記録単位が記録媒体の論理アドレスの先頭から連続して複数配置されており、記録媒体の記録領域の空き領域検索開始アドレスを記録単位の開始アドレスの中から指定する開始アドレス指定ステップと、開始アドレスから順番に記録単位毎に空き領域であるかどうかを判定することにより記録可能な記録単位を検索する記録可能領域検索ステップと、記録可能領域検索ステップでみつかった記録可能な記録単位に対して、サイズがＥとなるデータを記録する記録ステップとを備えたデータ記録方法としたものである。
【００１８】
また、データ管理単位毎に空き領域であるかどうかを判定することにより記録可能なデータ管理単位を検索する管理サイズ空き領域検索ステップと、記録するファイルを第１のファイルと第２のファイルに分類し、記録するファイルが第1のファイルである場合は開始アドレス指定ステップに進み、記録するファイルが第２のファイルである場合は管理サイズ空き領域検索ステップに進むファイル分類ステップとをさらに備えたデータ記録方法としたものである。
【発明の効果】
【００１９】
本発明によれば、記録媒体にデータを記録する際に、不揮発メモリの消去ブロックサイズを合計したサイズと、ファイルシステムのデータ管理サイズとの公倍数の値に基づいて、消去ブロックの境界を跨がない空き領域を検索してデータを記録することにより、不揮発メモリを複数内蔵した記録媒体に対して高速にデータを記録することが可能であるという効果がある。
【００２０】
また、本発明によれば、非リアルタイムファイル等についてはデータ管理単位毎に空き領域を検索して記録するために、小さな空き領域が使用されずに残ることなく、記録媒体の容量を有効に利用することができるという効果がある。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施の形態について、図面を用いて説明する。
（実施の形態１）
はじめに、図１を用いて実施の形態１における構成を説明する。図１は本発明のデータ記録装置および半導体メモリパック装置の構成を示している。図１において、１１０はデータの記録を指示するデータ記録装置、１２０はデータが記録される記録媒体としての半導体メモリパック装置である。データ記録装置１１０はファイルシステムの演算処理を行う制御手段としてのＣＰＵ１１１と、記録するデータやファイルシステムのソフトウエアおよび演算結果を一時記憶する主記憶１１２と、半導体メモリパック装置１２０と接続するためのカードコネクタ１１３から構成されている。実施の形態１でのファイルシステムは、記録領域を管理するためのデータ管理単位をクラスタとし、そのサイズ（データ管理サイズ）をクラスタサイズとしている。また、半導体メモリパック装置１２０は、４枚の半導体メモリカード１２３〜１２６と、４枚の半導体メモリカードを制御するマルチカードアクセス制御部１２１と、記録するデータを一時記憶するワークメモリ１２２から構成されている。半導体メモリカード１２３〜１２６は、それぞれ内部に不揮発メモリを備え、この不揮発メモリに対してデータを保存する。
【００２２】
次に、図１と図２を用いて実施の形態１における動作を説明する。図２は図１の半導体メモリパック装置１２０の連続する論理アドレスに、内蔵する４枚の半導体メモリカード１２３〜１２６の論理アドレスをマッピングする方法、および半導体メモリパック装置１２０の連続する論理アドレスに対して、ファイルシステムのデータ管理単位であるクラスタを割り当てる方法について図示している。論理アドレスのマッピング方法として、半導体メモリパック装置１２０に内蔵される４枚の半導体メモリカード１２３〜１２６を消去ブロックのサイズ（１２８ＫＢ）毎にインタリーブして半導体メモリカードの番号＃１〜＃４の順番に並べたものに、半導体メモリパック装置１２０の連続の論理アドレスをマッピングする。さらに半導体メモリパック装置１２０に内蔵される４枚の半導体メモリカード１２３〜１２６は４並列に同時記録動作するものとし、ファイルシステムのデータ管理単位であるクラスタのサイズを３２ＫＢとすると、１２８ＫＢ×４並列＝５１２ＫＢと３２ＫＢとの公倍数のうち、最小公倍数である５１２ＫＢの連続アドレス領域がデータ記録単位となる。このとき、前記データ記録単位は１６クラスタ（３２ＫＢ×１６＝５１２ＫＢ）に相当し、データ記録装置１１０は、１６クラスタ分の連続空き領域を検索してデータを記録する。また、このデータ記録単位は、半導体メモリパック装置の論理アドレスの先頭から連続して複数配置される。したがって、その先頭クラスタアドレスは、消去ブロックの先頭クラスタアドレスと一致するように配置される。なお、ここではデータ管理単位のサイズとして５１２ＫＢと３２ＫＢの最小公倍数を選んだが、公倍数であればいくつでもよい。  以下、実施の形態１の記録動作について説明する。図１のデータ記録装置１１０において、ファイルシステムはＣＰＵ１１１のソフトウエアとして実行される。ファイルシステムはデータ管理単位であるクラスタのサイズ（３２ＫＢ）に記録するべきデータを分割する。そして、半導体メモリパック装置１２０の記録領域からデータ記録単位（５１２ＫＢ）＝１６クラスタ分（３２ＫＢ×１６）の空き領域を検索して、見つかった空き領域の論理アドレスと１６クラスタ分のデータを記録コマンドとともに半導体メモリパック装置１２０に渡す。
【００２３】
半導体メモリパック装置１２０はデータ記録装置１１０から記録コマンドを受け取ると、１６クラスタのデータをワークメモリ１２２に一時記憶する。そして、マルチカードアクセス制御部１２１は記録コマンドと一緒に指示された半導体メモリパック装置１２０の論理アドレスを、図２で示したとおり、４枚の半導体メモリカード１２３〜１２６の論理アドレスに変換する。最後にマルチカードアクセス制御部１２１は、変換された論理アドレスに対してワークメモリ１２２に一時記憶された１６クラスタのデータを４枚の半導体メモリカードに分散して４並列に同時記録する。
【００２４】
ここで、実施の形態１の空き領域検索方法について、図１と図３を用いて説明する。まず、図１の半導体メモリパック装置１２０の記録単位から、直前の記録動作において空き領域を検索した位置の次の記録単位の先頭クラスタアドレスを変数ｓｃに代入する（ステップＳ３０１）。今回が初めての検索の場合は、半導体メモリパック装置１２０中の最初の記録単位の先頭クラスタアドレスをｓｃに代入する。次に、ｓｃの値を変数ｐに代入する（ステップＳ３０２）。そして、ｐの位置のクラスタが空きかどうかを判定する（ステップＳ３０３）。ｐの位置のクラスタが空きであれば、ｐの位置が半導体メモリパック装置１２０の記録単位の後尾かどうか判定する（ステップＳ３０４）。この判定は、ｓｃからｐまでの大きさと記録単位の大きさ（５１２ＫＢ）とを比較することで可能である。ｐの位置が記録単位の後尾でなければ、ｐの値を１クラスタ分だけ加算して、ステップＳ３０３に移る。ステップＳ３０４において、ｐの位置が記録単位の後尾であれば、ｓｃを先頭とする記録単位中の前クラスタが空き領域であることがわかったので、この記録単位に記録可能であることを通知して（ステップＳ３０６）、処理を終了する。
【００２５】
ステップＳ３０３において、ｐの位置のクラスタが空きでなければ、次の記録単位が半導体メモリパック装置１２０のデータ領域に存在するかどうか判定する（ステップＳ３０７）。次の記録単位があれば、ｓｃに次の記録単位の先頭クラスタアドレスを代入して（ステップＳ３０８）、ステップＳ３０２に移る。次の記録単位がなければ、半導体メモリパック装置１２０に空き領域がないことを通知して（ステップＳ３０９）、処理を終了する。
【００２６】
次に、実施の形態１の空き領域検索例を図１と図４を用いて説明する。図４は図１の半導体メモリパック装置１２０のデータ記録単位（５１２ＫＢ）とファイルシステムのデータ管理単位であるクラスタ（３２ＫＢ）との割り当てと、ファイルシステムによる空き領域検索の流れを図示している。但し、図４の網掛部４０３は使用済みクラスタ、空白部は空きクラスタを表し、矢印４０４〜４０６は実施の形態１での空き領域検索の流れを表している。
【００２７】
実施の形態１では、まず図４における半導体メモリパック装置の記録単位４０１の先頭アドレスに相当するクラスタから空き領域の検索を開始する（矢印４０４）。記録単位４０１の先頭アドレスは、図２で説明したように零もしくはデータ記録単位５１２ＫＢの整数倍に位置している。検索の途中で使用済みクラスタ４０３が見つかると、検索位置を次の記録単位４０２の先頭クラスタに移す（矢印４０５）。そして、その先頭クラスタを開始点として空き領域の検索を行い（矢印４０６）、開始点から１６クラスタ分の連続空き領域が見つかれば記録単位４０２にデータを記録する。図４において、使用済みクラスタ４０３の次のクラスタから１６クラスタ連続した空き領域４０７が存在するが、実施の形態１ではその空き領域４０７にはデータは記録されない。
【００２８】
以上、実施の形態１によれば、ファイルシステムがデータを管理する最小単位である１クラスタ（３２ＫＢ）を記録単位とするのではなく、半導体メモリパック装置に内蔵される４枚の半導体メモリカードの消去ブロックの合計サイズ（５１２ＫＢ）と１クラスタ（３２ＫＢ）との公倍数である１６クラスタ（５１２ＫＢ）を記録単位とし、４枚の半導体メモリカードの消去ブロックの境界を跨らない１６クラスタ分の連続空き領域にデータを記録することにより、従来から高速記録の障害となってきたリード・モディファイ・ライトの発生を防止し、結果として半導体メモリカードの書き換え回数を軽減することが可能になる。さらに、連続空き領域を検索する際に使用済みクラスタが見つかった場合には、従来のファイルシステムのようにその使用済みクラスタの次のクラスタから検索するのではなく、次の半導体メモリパックの記録単位の先頭クラスタから検索を開始することにより、効率よく空き領域の検索が行える。
【００２９】
なお、実施の形態１においては、連続空き領域の検索は記録単位毎に行うこととしたが、データ記録装置１１０から受け取る記録コマンド中の記録するデータサイズに応じて、連続した複数の記録単位が空き領域かどうか、すなわち、記録単位の倍数のサイズ（本実施の形態ではｋ×５１２ＫＢ（ｋは１以上の整数））の空き領域を検索するようにしてもよい。このとき、ｋ×５１２ＫＢのサイズが空き領域でない場合、記録単位の倍数でこれ未満のサイズの空き領域があればそのサイズでデータを記録し、残りのデータについて別の領域を検索してもよいし、ｋ×５１２ＫＢのサイズだけアドレスを進めた次の記録単位に移って再度空き領域の検索をしてもよい。
【００３０】
なお、実施の形態１において、半導体メモリカードを４枚内蔵するタイプの半導体メモリパック装置を例に説明したが、半導体メモリパック装置に内蔵する半導体メモリカードの枚数を４枚に限定するものではなく、複数枚の半導体メモリカードを内蔵する構成であれば同様に適用することができる。内蔵する半導体メモリカードのすべてが並列動作する必要は無く、例えば、４枚の半導体メモリカードを内蔵して、そのうち２枚ずつが並列動作するのでもよい。また、半導体メモリカードの消去ブロックのサイズが１２８ＫＢに限定されるものでもなく、クラスタサイズも３２ＫＢに限られるものでもない。内蔵する半導体メモリカードの形状に制限はなく、半導体メモリがチップの形状で実装されるものも同一の概念に含まれる。
【００３１】
（実施の形態２）
続いて、図２および図５、図６を用いて実施の形態２における動作を説明する。図２は実施の形態１で説明しているので、その説明はここでは省略する。図５は本発明のデータ記録装置および半導体メモリパック装置の構成を示している。図５において、５１０はデータの記録を指示するデータ記録装置、５２０はデータが記録される半導体メモリパック装置である。データ記録装置５１０はファイルシステムの演算処理を行うＣＰＵ５１１と、記録するデータやファイルシステムのソフトウエアおよび演算結果を一時記憶する主記憶５１２と、半導体メモリパック装置５２０と接続するためのカードコネクタ５１３から構成されている。半導体メモリパック装置５２０は、４枚の半導体メモリカード５２３〜５２６と、４枚の半導体メモリカードを制御するマルチカードアクセス制御部５２１と、記録するデータを一時記憶するワークメモリ５２２と、半導体メモリパック装置５２０の情報を格納しているフラッシュＲＯＭ５２７から構成されている。
【００３２】
図６は図５の半導体メモリパック装置５２０の出荷時にフラッシュＲＯＭ５２７に記録された、半導体メモリパック装置５２０についての情報のフォーマットであり、内蔵している半導体メモリカード５２３〜５２６の消去ブロックのサイズ（１２８ＫＢ）と、半導体メモリカード５２３〜５２６の枚数（４枚）からなる。
【００３３】
半導体メモリパック装置５２０がカードコネクタ５１３に接続されると、データ記録装置５１０は、半導体メモリパック装置５２０に内蔵している半導体メモリカード５２３〜５２６の消去ブロックサイズとその枚数を取得するためのコマンドを発行する。半導体メモリパック装置５２０はそのコマンドを受け取ると、指定された情報をフラッシュＲＯＭ５２７から読み出してデータ記録装置５１０に渡す。ここでは、データ記録装置５１０が半導体メモリパック装置５２０から得た情報は、半導体メモリカードの消去ブロックサイズ（１２８ＫＢ）と枚数（４枚）とファイルシステムのデータ管理単位（３２ＫＢ）である。これらの情報から、データ記録装置５１０は、データ記録単位を１２８ＫＢ×４＝５１２ＫＢと３２ＫＢの最小公倍数である５１２ＫＢと算出する。このデータ記録単位は１６クラスタ（３２ＫＢ×１６＝５１２ＫＢ）に相当するので、１６クラスタ分の連続空き領域を検索してデータを記録する。実施の形態２の記録動作と空き領域検索方法については、実施の形態１と同じであるため説明を省略する。
【００３４】
以上、実施の形態２によれば、半導体メモリパック装置に内蔵される半導体メモリカードの消去ブロックサイズと枚数を、出荷時に半導体メモリパック装置に記録しておくことで、半導体メモリパック装置の構成が実施の形態２と異なる場合、例えば８枚の半導体メモリカードを内蔵するものであったり、内蔵する半導体メモリカードの消去ブロックが１６ＫＢであったりする場合にも、その半導体メモリパック装置に最適なデータ記録単位で記録することが可能である。
【００３５】
なお、実施の形態２において、半導体メモリパック装置に内蔵している半導体メモリカードの消去ブロックサイズと枚数を、出荷時にフラッシュＲＯＭに格納するとしたが、フラッシュＲＯＭに限定するものではなく、マスターブートレコードと呼ばれる記録領域の先頭セクタやマスクＲＯＭでもよく、格納する情報も内蔵している半導体メモリカードの消去ブロックサイズと枚数には限らず、その半導体メモリパック装置の最適なデータ記録単位であってもよい。また、内蔵する半導体メモリカードのすべてが並列動作する必要はなく、例えば、４枚の半導体メモリカードを内蔵して、そのうち２枚ずつが並列動作するのでもよい。また、半導体メモリカードの消去ブロックのサイズが１２８ＫＢに限定されるものでもなく、クラスタサイズも３２ＫＢに限られるものではない。内蔵する半導体メモリカードの形状に制限はなく、半導体メモリがチップの形状で実装されるものも同一の概念に含まれる。
【００３６】
（実施の形態３）
最後に、図２および図５、図７、図８を用いて実施の形態３を説明する。図２と図５は実施の形態１および実施の形態２で説明しているので、説明は省略する。図７は、実施の形態１および実施の形態２と同様にして求めた半導体メモリパック装置のデータ記録単位（５１２ＫＢ）と、ファイルシステムのデータ管理単位であるクラスタ（３２ＫＢ）との割り当てを図示している。但し、網掛部は使用済みクラスタ、空白部は空きクラスタを表している。図８は、実施の形態３の空き領域検索処理のフローチャートである。
【００３７】
図７において、半導体メモリパック装置の記録単位７０１には使用済みクラスタが存在しており、記録単位（５１２ＫＢ）でのデータ記録ができないため、実施の形態１で述べたように次の記録単位７０２の先頭クラスタを空き領域検索開始点７０３として、その開始点から１６クラスタ分（３２ＫＢ×１６＝５１２ＫＢ）の空き領域の検索を行う。
【００３８】
ところで、テキストファイルなどの非リアルタイムファイルを記録する場合は、前記記録単位（５１２ＫＢ）よりサイズが小さく、映像や音声などのリアルタイムファイルのように高い転送レートで記録する必要がないため、大きなサイズの記録単位で半導体メモリパック装置５２０に記録する必要性が低い。
【００３９】
そこで、実施の形態３では、図７のように半導体メモリパック装置の記録単位で記録する場合の空き領域検索開始点７０３とは別に、データ管理単位であるクラスタ単位で記録する場合の空き領域検索開始点７０４を設ける。そして、記録するファイルのサイズや種類によって、ファイルの記録方法を決定する。つまり、記録するファイルがサイズの大きいファイルもしくはリアルタイムファイルの場合には、空き領域検索開始点７０３から１６クラスタ分の連続した空き領域を検索して、見つかった空き領域に記録単位（５１２ＫＢ）で記録し、記録するファイルがサイズの小さいファイルもしくは非リアルタイムファイルの場合には、空き領域検索開始点７０４から空き領域を検索して１クラスタずつ記録する。
【００４０】
以下、実施の形態３の空き領域検索方法について、図８を用いて説明する。まず、記録するファイルがリアルタイムファイルかどうかを判定する（ステップＳ８０１）。リアルタイムファイルであるかどうかの判断は、アプリケーションがデータ記録の際にファイルシステムに送る記録コマンドを、リアルタイムファイルと非リアルタイムファイルで別のコマンドとする方法や、記録コマンド中に、リアルタイムファイルであることを示すフラグを設ける方法などが考えられる。リアルタイムファイルである場合は、実施の形態１で説明した半導体メモリパック装置の記録単位での空き領域検索方法を行う（ステップＳ８０２）。ステップＳ８０１において、記録するファイルがリアルタイムファイルでなければ、ファイルシステムが通常行っているクラスタ単位での空き領域検索処理を行う（ステップＳ８０３）。
【００４１】
以上、実施の形態３によれば、リアルタイムファイルのような高い転送レートが必要なファイルの記録を高速に行いつつ、１６クラスタに満たない空き領域を有効に利用することが可能である。
【００４２】
なお、実施の形態３において、半導体メモリパック装置に対する記録方法を、記録するファイルのサイズ、もしくは記録するファイルがリアルタイムファイルかどうかで決定していたが、それらの情報だけでなく、例えば記録するファイルに要求されている転送レートの値で決定してもよい。また、半導体メモリパック装置に内蔵している半導体メモリカードの消去ブロックサイズと枚数を、出荷時にフラッシュＲＯＭに格納するとしたが、フラッシュＲＯＭに限定するものではなく、マスターブートレコードと呼ばれる記録領域の先頭セクタやマスクＲＯＭでもよく、格納する情報も内蔵している半導体メモリカードの消去ブロックサイズと枚数には限らず、その半導体メモリパック装置の最適なデータ記録単位であってもよい。また、内蔵する半導体メモリカードのすべてが並列動作する必要はなく、例えば、４枚の半導体メモリカードを内蔵して、そのうち２枚ずつが並列動作するのでもよい。また、半導体メモリカードの消去ブロックのサイズが１２８ＫＢに限定されるものでもなく、クラスタサイズも３２ＫＢに限られるものでもない。内蔵する半導体メモリカードの形状に制限はなく、半導体メモリがチップの形状で実装されるものも同一の概念に含まれる。
【産業上の利用可能性】
【００４３】
本発明にかかるデータ記録方法およびデータ記録装置は、半導体メモリカードを複数枚内蔵した半導体メモリパック装置に対して高速にデータを記録することが可能であり、映像や音声等を半導体メモリパック装置に記録するのに有用である。
【図面の簡単な説明】
【００４４】
【図１】本発明の実施の形態１によるデータ記録装置および半導体メモリパック装置の構成図
【図２】本発明の実施の形態１によるデータ記録単位と消去ブロック、クラスタ割り当てを示した図
【図３】本発明の実施の形態１による空き領域検索処理のフローチャート
【図４】本発明の実施の形態１によるデータ記録単位とクラスタとの割り当ておよび空き領域検索の流れを示した図
【図５】本発明の実施の形態２によるデータ記録装置および半導体メモリパック装置の構成図
【図６】半導体メモリパック装置に関する情報のフォーマットを示した図
【図７】本発明の実施の形態３によるデータ記録単位とクラスタとの割り当ておよび空き領域検索開始点を示した図
【図８】本発明の実施の形態３による空き領域検索処理のフローチャート
【図９】従来の半導体メモリパック装置における記録領域を示した図
【符号の説明】
【００４５】
１１０    データ記録装置
１１１    ＣＰＵ
１１２    主記憶
１１３    カードコネクタ
１２０    半導体メモリパック装置
１２１    マルチカードアクセス制御部
１２２    ワークメモリ
１２３    半導体メモリカード＃１
１２４    半導体メモリカード＃２
１２５    半導体メモリカード＃３
１２６    半導体メモリカード＃４
２０１    半導体メモリカード＃１の消去ブロック
２０２    半導体メモリカード＃２の消去ブロック
２０３    半導体メモリカード＃３の消去ブロック
２０４    半導体メモリカード＃４の消去ブロック
２０５    半導体メモリパック装置のクラスタ
４０１、４０２    半導体メモリパック装置の記録単位
４０３    使用済みクラスタ
４０４〜４０６    空き領域検索の流れ
４０７    １６クラスタ連続空き領域
５１０    データ記録装置
５１１    ＣＰＵ
５１２    主記憶
５１３    カードコネクタ
５２０    半導体メモリパック装置
５２１    マルチカードアクセス制御部
５２２    ワークメモリ
５２３    半導体メモリカード＃１
５２４    半導体メモリカード＃２
５２５    半導体メモリカード＃３
５２６    半導体メモリカード＃４
５２７    フラッシュＲＯＭ
７０１、７０２    半導体メモリパック装置の記録単位
７０３    半導体メモリパック装置の記録単位で記録する場合の空き領域検索開始点
７０４    クラスタ単位で記録する場合の空き領域検索開始点
９０１〜９１２    ファイルシステムのデータ管理単位
９２０、９３０、９４０    半導体メモリパック装置の消去ブロック
９５０、９６０、９７０、９８０    半導体メモリパック装置の記録領域
【図１】
2005190331.tif 000003
【図２】
2005190331.tif 000004
【図３】
2005190331.tif 000005
【図４】
2005190331.tif 000006
【図５】
2005190331.tif 000007
【図６】
2005190331.tif 000008
【図７】
2005190331.tif 000009
【図８】
2005190331.tif 000010
【図９】
2005190331.tif 000011