JP2004342090A - データ記録装置 - Google Patents

データ記録装置 Download PDF

Info

Publication number
JP2004342090A
JP2004342090A JP2004106293A JP2004106293A JP2004342090A JP 2004342090 A JP2004342090 A JP 2004342090A JP 2004106293 A JP2004106293 A JP 2004106293A JP 2004106293 A JP2004106293 A JP 2004106293A JP 2004342090 A JP2004342090 A JP 2004342090A
Authority
JP
Japan
Prior art keywords
data
semiconductor memory
file
recording
data recording
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004106293A
Other languages
English (en)
Inventor
Hiroshi Saito
浩 齋藤
Takafumi Okada
孝文 岡田
Hiromasa Hoshino
弘雅 星野
Seiji Hotta
誠司 堀田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2004106293A priority Critical patent/JP2004342090A/ja
Publication of JP2004342090A publication Critical patent/JP2004342090A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】 並列動作するフラッシュメモリを複数枚内蔵した半導体メモリパック装置に対して、高速にデータを記録することができるデータ記録装置を提供する。
【解決手段】 並列に記録動作する複数のフラッシュメモリを内蔵する半導体メモリパック装置に対してデータを記録するデータ記録装置において、前記半導体メモリパック装置へ記録すべきデータをファイルとして管理するファイル管理部を備え、前記ファイル管理部が、前記半導体メモリパック装置へ供給するデータのデータ記録単位を、前記複数のフラッシュメモリの消去ブロックサイズを合計したサイズと、当該ファイル管理部におけるデータ管理サイズ(クラスタサイズ)との公倍数とする。
【選択図】 図3

Description

本発明は、半導体メモリ媒体を用いて映像や音声を記録、再生する装置に関する。
近年、フラッシュメモリを利用した半導体メモリカードが普及しつつある。フラッシュメモリは、電気的にデータの記録や消去が可能であり、電源を切っても、記録されたデータが保持される不揮発メモリである。半導体メモリカードは、従来のテープ装置やディスク装置に必要だった機械的な駆動部分が無いため、小型・軽量で衝撃にも強く、ディジタルカメラなど様々な用途に使用されている。しかしながら、高品質の動画や音声を記録するには、半導体メモリカード1枚あたりの記憶容量が小さく、また、記録や再生のデータ転送レートが低いために、この用途には不十分である。
そこで従来例として、複数の半導体メモリカードを組み合わせて、記憶容量と転送レートの向上を目的とした半導体メモリパック装置がある。
例えば、特許文献1に開示された半導体メモリパック装置では、複数枚の半導体メモリカードに対して同時にデータを記録できるため、記録の転送レートを高速化できる。
一般に、従来の半導体メモリカードの多くは、内部にフラッシュメモリを備えており、消去ブロックと呼ばれる一定のサイズのデータが、電気的に一括消去される特徴を持っている。ここで、消去ブロックのサイズに満たないデータを記録する場合、一度そのブロックのデータを読み出して保持し、ブロックのデータを一括消去し、保持していたデータを部分的に記録データに更新して、ブロックに書き戻すことになる。このような動作は、リード・モディファイ・ライトと呼ばれるが、記録動作が複雑になり、記録の転送レートが低下する原因となる。高い転送レートでデータを記録するには、このような消去ブロックに対する部分的なデータ更新を避けるため、記録するデータのサイズを消去ブロックと同じサイズか、または、その整数倍のサイズにして、さらに記録するアドレスを消去ブロックの先頭に合わせる必要がある。
特許文献1に示されたような複数枚の半導体メモリカードを組み合わせた半導体メモリパック装置では、複数枚の半導体メモリカードに同時にデータを記録するため、半導体メモリカード1枚あたりの消去ブロックのサイズを、さらに複数枚の分だけ積算したサイズでデータを記録することになる。以上のように、半導体メモリカードを複数枚使った記録装置において、高い転送レートでデータを記録するためには、1回の記録動作で記録するデータサイズを大きくする必要がある。
一方で、記録したデータをファイルとして管理するには、一般にファイルシステムと呼ばれるデータ管理手段や管理方法が必要である。ファイルシステムは、一般にセクタやクラスタといった所定のデータサイズを単位としてファイルを管理する。しかし、一般にセクタやクラスタのサイズは小さいため、前述のような大きなデータ単位を扱うには、1セクタや1クラスタではサイズが不足することがある。このような場合、ファイルシステムは、連続した複数個のセクタや、連続した複数個のクラスタを、まとめて上記の装置へ記録する必要がある。
特開2000−207137号公報(第1図)
しかしながら、半導体メモリカードを用いた従来の半導体メモリパック装置では、記録データの単位と、ファイルシステムが管理するデータの単位が一致しない場合、種々の課題を有していた。以下、この課題について、図2を用いて詳細に説明する。
図2(a)〜図2(c)は、従来の半導体メモリパック装置における記録領域を示した図である。図2において、201は管理単位を表す。管理単位とは、ファイルシステムのセクタやクラスタに相当する。202から212までは、いずれも201と同じサイズの管理単位を表している。また、図2(a)において消去ブロック220は、管理単位201から204で構成されており、電気的に一括消去される単位を表している。以下同様に、消去ブロック230は管理単位205から208で構成され、消去ブロック240は管理単位209から212で構成されている。また、図2(b)において、記録領域250はデータの記録時に使用する記録領域を表しており、記録領域250は管理単位203から206で構成されている。以下同様に、記録領域260は管理単位207から210で構成され、図2(c)において、記録領域270は管理単位201から204で構成され、記録領域280は管理単位209から212で構成されている。なお、図2(b)において斜線で示された管理単位201と202、および、図2(c)の管理単位206は、いずれも既にデータが記録済みの状態を表しており、これらの管理単位にはファイルが存在している。
以上のように表された図2について、以下、従来の課題について説明する。図2(a)では、管理単位201から212までが未使用な状態であるとする。この場合、半導体メモリパック装置に対して最も高い転送レートでデータを記録するには、消去ブロックの単位毎に連続アドレスでデータを記録することが望ましい。この理由は前述のように、半導体メモリ媒体のデータが消去ブロック単位で電気的に一括消去されるため、このブロックのサイズに合わせたデータ単位でデータを記録することで、リード・モディファイ・ライトを防止できるためである。さらに、半導体メモリカードの種類によっては、消去ブロック単位で、かつ、連続アドレスでデータ記録すると、半導体メモリカードの内部で記録処理の並列化を行う種類のカードもあり、このような種類の媒体では、さらに高い転送レートでデータが記録されることになる。従って、図2(a)における理想的な記録方法は、管理単位201から204までを合計したサイズのデータを記録単位として、消去ブロック220、230、240の順番に連続して記録することで、高い転送レートが実現される。
しかしながら、図2(b)では管理単位201と202に、既に記録済みのデータがファイルとして存在している。ファイルシステムは管理単位のサイズでファイルを作成することができるため、交換媒体では、他のアクセス装置でこのような小さなファイルが作成されることがある。このような場合、消去ブロックのサイズでデータを記録すると、まず記録領域250にデータを記録し、次に、記録領域260にデータを記録することになる。記録領域250にデータを記録した場合、実際にデータが記録される管理単位203と204だけでなく、既に記録済みの管理単位201と202が同じ消去ブロックに含まれるため、前述のリード・モディファイ・ライトが発生し、記録の転送レートが低下する。さらに、記録領域260にデータを記録する時には、1つ前の記録領域250への記録動作のために、管理単位205と206が記録済みの状態になっている。従って、管理単位207と208に対する記録時にもリード・モディファイ・ライトが発生し、以下、この現象が繰り返されることになる。
このように、データの記録単位を消去ブロックの単位に合わせても、記録を開始するアドレスが、消去ブロックの境界とずれていた場合、リード・モディファイ・ライトが発生し、記録の転送レートが低下する。
また、図2(b)において記録領域250にデータを記録する場合、半導体メモリ媒体の内部では、記録済みの管理単位201と202のデータも、一旦読み出し保持されて、ブロックが一括消去された後に書き戻される。この過程の途中でノイズの混入や電源断などのエラーが発生した場合、既にデータが記録済みだった管理単位201や202のデータも破壊される可能性がある。このように、リード・モディファイ・ライトが発生すると、記録の転送レートが低下するだけでなく、エラーの発生時に、記録済みのデータが破壊される課題がある。
また、図2(c)では、管理単位206に記録済みのデータが存在している。このような場合、まず記録領域270に消去ブロックサイズと同じサイズのデータを記録し、次にリード・モディファイ・ライトを避けるために、管理単位206を含む消去ブロックにはデータを記録せずに、次の消去ブロックに相当する記録領域280、すなわち、管理単位209から212までの領域にデータを記録する。このような方法を採れば、リード・モディファイ・ライトは発生しないが、次のような課題がある。
まず、図2(c)では、記録済みのデータが存在する管理単位206を避けるために、管理単位205と207と208は、空き領域であるにもかかわらず、記録には使用されなかった。このことは記録領域の無駄使いを意味しており、管理単位205から208のように、部分的に記録済みの管理単位を含んだ消去ブロックが多数存在した場合、いわゆるフラグメント状態となって、高い転送レートでデータを記録するにはこれらの領域を記録に使用できないため、記録媒体の容量を有効に利用することができなくなる。
また、図2(c)では記録領域270と記録領域280の間が空いているため、アドレスが不連続になる。アドレスが不連続になると、前述のように高い転送レートでデータを記録することができなくなる。
さらに、一般のファイルシステムでは、数セクタや数クラスタを記録する毎に、ファイルの管理情報を更新する必要がある。この管理情報とは、例えばセクタやクラスタの使用状況を表すテーブルやビットマップのデータ、記録中のファイルのサイズなどの情報である。ファイルの管理情報をこまめに更新すると、電源断などで記録が中断された場合でも、なるべく電源断の直前に近い状態にファイルを修復することができる。しかし、フラッシュメモリ等を用いた半導体メモリ媒体は書換回数が有限であり、頻繁に管理情報を更新すると半導体メモリ媒体の書換寿命を縮めることになる。
本発明は、上記の課題に鑑み、並列動作するフラッシュメモリを複数枚内蔵した半導体メモリパック装置に対して、高速にデータを記録することができるデータ記録装置を提供することを目的とする。
この課題を解決するために、本発明のデータ記録装置は以下のような手段を用いる。
第1に、本発明のデータ記録装置は、並列に記録動作する複数のフラッシュメモリを内蔵する半導体メモリパック装置に対してデータを記録するデータ記録装置において、前記半導体メモリパック装置へ記録すべきデータをファイルとして管理するファイル管理部を備え、前記ファイル管理部が、前記半導体メモリパック装置へ供給するデータのデータ記録単位を、前記複数のフラッシュメモリの消去ブロックサイズを合計したサイズと、当該ファイル管理部におけるデータ管理サイズとの公倍数とすることを特徴とする。
これにより、従来から高速記録の障害となってきたリード・モディファイ・ライトの発生を防止し、結果として、半導体メモリカードの書き換え回数を低減することが可能になる。
第2に、本発明のデータ記録装置は、前記第1の構成において、前記複数のフラッシュメモリの消去ブロックサイズを合計したサイズの整数倍をデータ記録単位として、前記ファイル管理部のデータ管理単位が、前記データ記録単位と同一サイズであることが好ましい。
これにより、従来から高速記録の障害となってきたリード・モディファイ・ライトの発生を防止し、結果として、半導体メモリカードの書き換え回数を低減することが可能になる。
第3に、本発明のデータ記録装置は、前記第1または第2の構成において、前記ファイル管理部が、前記データ記録単位内を同一ファイルのデータとすることが好ましい。
このように、データ記録単位内を同一ファイルのデータとすることにより、前記複数のフラッシュメモリに同一ファイルのデータが並行に書き込まれる。従って、このデータをフラッシュメモリから読み出す場合にも、並列読み出しを行うことにより、高速読み出しが可能となる。
第4に、本発明のデータ記録装置は、前記第1または第2の構成において、前記ファイル管理部が、前記半導体メモリパック装置に前記データ記録単位に相当する空き容量がある場合にのみ記録を行うことが好ましい。
これにより、フラッシュメモリの消去ブロック境界とデータ記録単位の境界とがミスマッチすることがないので、従来から高速記録の障害となってきたリード・モディファイ・ライトの発生をより効果的に防止し、結果として、半導体メモリカードの書き換え回数を低減することが可能になる。
第5に、本発明のデータ記録装置は、前記第1または第2の構成において、前記ファイル管理部が、前記データ記録単位内に異なるファイルのデータが記録されている場合、前記データ記録単位内は同一ファイルのデータになるように記録データを並べ替えることが好ましい。
これにより、従来から高速記録の障害となってきたリード・モディファイ・ライトの発生を防止し、結果として、半導体メモリカードの書き換え回数を低減することが可能になる。また、データ記録単位内が同一ファイルのデータとなるよう並べ替えることにより、前記複数のフラッシュメモリに同一ファイルのデータが並行に書き込まれる。従って、このデータをフラッシュメモリから読み出す場合にも、並列読み出しを行うことにより、高速読み出しが可能となる。
第6に、本発明のデータ記録装置は、前記第1または第2の構成において、前記半導体メモリパック装置が、前記ファイル管理部のファイル管理情報を記録する領域を有し、前記ファイル管理部が、音声データファイルおよび映像データファイルの少なくとも2つのファイルを同時に並行して前記半導体メモリパック装置へ記録する場合、前記半導体メモリパック装置へ供給すべきデータとして蓄積している音声データの量が前記データ記録単位の整数倍となった時点で、前記半導体メモリパック装置に記録されている前記ファイル管理情報を更新することが好ましい。
これにより、従来から高速記録の障害となってきたリード・モディファイ・ライトの発生を防止し、結果として、半導体メモリカードの書き換え回数を低減することが可能になる。また、ビットレートが低い音声データの記録を、ファイル管理情報を書き戻すトリガにすることにより、半導体メモリパック装置におけるファイル管理情報の書き換え回数を無駄に増やすことがない。
第7に、本発明のデータ記録装置は、前記第1または第2の構成において、前記ファイル管理部が、MPEGストリームをファイルに記録する場合、記録済みのデータが1GOPの整数倍となった時点で、前記ファイル管理部のファイル管理情報を更新することが好ましい。
第8に、本発明のデータ記録装置は、前記第1または第2の構成において、前記前記フラッシュメモリが、半導体メモリカードとして前記半導体メモリパック装置に装着されることが好ましい。
第9に、本発明のデータ記録装置は、複数のフラッシュメモリを内蔵する半導体メモリパック装置に対してFATファイルシステムに従ってデータを記録するデータ記録装置において、前記半導体メモリパック装置に実在するセクタ数と、実在しない仮想的なセクタ数とを加えた総セクタ数を前記FATファイルシステムで管理するものとし、前記実在しない仮想的なセクタに対応するクラスタのFATエントリに空き領域以外の意味を持つ値を格納することによりデータ書き込み対象から除外することを特徴とする。
第10に、本発明のデータ記録装置は、前記第9の構成において、前記空き領域以外の意味を持つ値として、ファイルの終端を意味する全ビットが1の値をFATエントリに書き込むことが好ましい。
以上述べたように、本発明によれば、半導体メモリカードを複数枚内蔵した半導体メモリパック装置に対して高速にデータを記録することが可能になるとともに、内蔵する半導体メモリカードの書き換え寿命を長くすることが可能となる。
以下、本発明の実施の形態について、図面を参照して説明する。
(実施の形態1)
はじめに、図1を参照し、本発明の一実施形態にかかるデータ記録装置および半導体メモリパック装置の構成について説明する。図1において、110はデータの記録を指示するデータ記録装置、120はデータが記録される半導体メモリパック装置である。データ記録装置110は、半導体メモリパック装置120にデータを記録する装置であって、例えば、パーソナルコンピュータ、ビデオカメラ、ディスクレコーダ、または、ディジタルカメラ等であるが、これらにのみ限定されない。データ記録装置110は、ハードウェアとしては、CPU111、主記憶112、カードコネクタ113などを備えている。CPU111は、演算処理や装置全体の動作制御を行う。主記憶112は、半導体メモリパック装置120に記録するデータや、データ記録装置110の動作を制御するソフトウエア、CPU111による演算処理結果を一時的に記憶する。カードコネクタ113は、データ記録装置110と半導体メモリパック装置120とを接続するためのコネクタである。
次に、図13を用いて、本実施形態のデータ記録装置110の機能的な構成について説明する。図13は、データ記録装置110の機能的な内部構成を示すブロック図である。図13において、1102は制御部、1103はメモリ、1104は入力データI/F、1105はエンコーダ制御部、1106はエンコーダ、1107はバッファ制御部、1108はバッファ、1109はファイル管理部、1110はメディアI/Fを表している。
制御部1102は、図1のCPU111に対応し、図1の主記憶112に対応するメモリ1103を用いて、データ記録装置110の全体の制御を行う。メディアI/F1110は、半導体メモリパック装置120とのインタフェースであり、図1のカードコネクタ113に対応している。
入力データI/F1104は、外部から入力されたデータを受け取る。エンコーダ制御部1105は、入力データI/F1104から入力されたデータを受け取り、エンコーダ1106を制御してそのデータのエンコード処理を行い、バッファ制御部1107にエンコードされたデータを送る。また、エンコーダ制御部1105は、エンコーダ1106からの情報を取得して、制御部1102に伝えることもできる。エンコーダ1106からの情報とは、例えばビデオデータをMPEG(Moving Pictures coding Experts Group)にエンコードする場合、1GOP(Group Of Pictures)のエンコードを完了したという情報などである。
バッファ制御部1107は、エンコーダ制御部1105から受け取った、エンコードされたデータを、データの種類毎にバッファ1108内の別の領域に格納する。また、バッファ制御部1107は、バッファ1108に蓄えられたデータの量を監視しており、所定量に達した時には制御部1102に通知する。制御部1102はその通知を受け取ると、ファイル管理部1109にデータ記録要求を出す。
ファイル管理部1109は、一般的にはオペレーティングシステムの機能の一つとして「ファイルシステム」と称されているものであり、半導体メモリパック装置120に記録されているファイルの管理を行う。ファイル管理部1109は、半導体メモリパック装置120からメディアI/F1110を介して、ファイルシステム管理情報を読み込み、メモリ1103に格納する。制御部1102からのデータ記録要求を受けると、ファイル管理部1109は、ファイルシステム管理情報を参照して空き領域を探し、見つかればその領域にデータを記録するように、半導体メモリパック装置120に記録コマンドを発行する。またこの処理と同時に、ファイル管理部1109は、記録位置やデータ量などの記録したデータの情報を、メモリ1103に格納されているファイルシステム管理情報に書き込む。
半導体メモリパック装置120は、フラッシュメモリを用いた半導体メモリカード123〜126と、これら4枚の半導体メモリカード123〜126を制御するマルチカードアクセス制御部121と、メモリカード123〜126へ記録するデータを一時記憶するワークメモリ122とを備えている。なお、半導体メモリカード123〜126には、番号♯1〜♯4がそれぞれ割り当てられている。
次に、図3を用いて、本実施形態のデータ記録装置110によるデータ記録動作を説明する。図3は、半導体メモリパック装置120の連続する論理アドレスに、4枚の半導体メモリカード123〜126の論理アドレスをマッピングした状態、および、半導体メモリパック装置120の連続する論理アドレスに対して、ファイル管理部1109のデータ管理単位であるクラスタを割り当てた状態について図示している。
半導体メモリカード123〜126の論理アドレスのマッピング方法は、次のとおりである。つまり、半導体メモリパック装置120に内蔵される4枚の半導体メモリカード123〜126を、消去ブロックのサイズ(16KB)毎にインターリーブし、半導体メモリカード123〜126の番号#1〜#4の順番に並べたものに、半導体メモリパック装置120の連続の論理アドレスをマッピングする。半導体メモリパック装置120に内蔵される4枚の半導体メモリカード123〜126は、並列に同時記録動作するので、16KB×4=64KBの連続アドレスが、半導体メモリパック装置120へのデータ記録単位となる。データ記録装置110のファイル管理部1109のデータ管理単位であるクラスタ305の大きさは、前記データ記録単位と一致する。すなわち、1クラスタは、半導体メモリパック装置120の連続する64KBの論理アドレスに割り当てられる。以下、クラスタサイズを64KBと定めた場合のデータ記録装置110の記録動作について説明する。
データ記録装置110において、ファイル管理部1109は、CPU111の動作を制御するソフトウエアにより実現される。ファイル管理部1109は、半導体メモリパック装置120に記録すべきデータを、データ管理単位であるクラスタと同じサイズ(ここでは64KB)に分割する。ファイル管理部1109は、さらに、半導体メモリパック装置120のメモリ空間から1クラスタ分の空き領域を検索して、見つかった空き領域の論理アドレスと記録すべきデータを、記録コマンドと共に半導体メモリパック装置120に引き渡す。
半導体メモリパック装置120は、データ記録装置110から記録コマンドを受け取ると、記録コマンドと共に、記録すべき1クラスタ分のデータを、ワークメモリ122に一時記憶する。また、半導体メモリパック装置120において、マルチカードアクセス制御部121が、記録コマンドと一緒に指示された半導体メモリパック装置120の論理アドレスを、図3で示したとおり、半導体メモリカード123〜126の個別の論理アドレスに変換する。マルチカードアクセス制御部121は、さらに、この変換によって得られた半導体メモリカード123〜126の個別の論理アドレスに対して、ワークメモリ122に一時記憶された1クラスタ分のデータを分散して、並列に同時記録する。
以上、本実施形態によれば、データ記録装置110のファイル管理部1109がデータを管理する最小単位である1クラスタを、半導体メモリパック装置120に内蔵される4枚の半導体メモリカードの消去ブロックの合計サイズ(64KB)と一致させることにより、従来から高速記録の障害となってきたリード・モディファイ・ライトの発生を防止し、結果として、半導体メモリカードの書き換え回数を低減することが可能になる。また、半導体メモリパック装置120は、内蔵する4枚の半導体メモリカード123〜126に対して並列に同時記録するため、半導体メモリカードが1枚だけの場合に比べて、4倍高速にデータを記録することができる。
なお、実施の形態1においては、並列動作する半導体メモリカードを4枚内蔵するタイプの半導体メモリパック装置を例に説明したが、本発明のデータ記録装置において半導体メモリパック装置に内蔵される半導体メモリカードの枚数は4枚に限定されない。また、内蔵する半導体メモリカードのすべてが並列動作する必要は無い。例えば、4枚の半導体メモリカードを内蔵して、そのうち2枚ずつが並列動作する構成としてもよい。また、実施の形態1においては、4つの消去ブロックを1つのクラスタに割り当てる例を説明したが、半導体メモリパック装置に内蔵する半導体メモリカードの消去ブロック合計の整数倍であれば、4つでなくてもよいし、消去ブロックのサイズが16KBに限定されるものでもない。内蔵する半導体メモリの形状はカード状に限定されず、半導体メモリがチップの形状で実装されるものも、本発明の技術的範囲に含まれる。
さらに、実施の形態1においては、半導体メモリパック装置内で複数の半導体メモリカードが並列動作する構成を例に説明したが、例えば、半導体メモリカード内の複数のフラッシュメモリが並列動作する構成についても本発明を適用できる。すなわち、並列動作する複数のフラッシュメモリの消去ブロックの合計サイズを、ファイル管理部1109がデータを管理する最小単位である1クラスタのサイズと一致させれば良い。
(実施の形態2)
本発明の他の実施形態について、図1および図4を参照しながら説明する。なお、実施の形態1で説明した構成と同様の機能を有する構成については、実施の形態1と同じ番号を付記し、その詳細な説明を省略する。
図4は、半導体メモリパック装置120の連続する論理アドレスに、内蔵する4枚の半導体メモリカード123〜126の論理アドレスをマッピングした状態、および半導体メモリパック装置120の連続する論理アドレスに対して、ファイル管理部1109のデータ管理単位であるクラスタを割り当てた状態を図示している。半導体メモリパック装置120に内蔵される4枚の半導体メモリカード123〜126を消去ブロックのサイズ(16KB)毎にインターリーブして半導体メモリカードの番号#1〜#4の順番に並べたものに、半導体メモリパック装置120の連続の論理アドレスをマッピングする。さらに半導体メモリパック装置120に内蔵される4枚の半導体メモリカード123〜126は並列に同時記録動作するので、16KB×4=64KBの連続アドレスをデータ記録単位とする。なお、本実施形態では、データ記録装置110のファイル管理部1109のデータ管理単位であるクラスタのサイズと、前記データ記録単位とは、公倍数の関係になるように選ばれる。ここでは、1クラスタのサイズを16KBとしている。以下、クラスタサイズを16KBと定めた場合の動作について説明する。
データ記録装置110において、ファイル管理部1109は、CPU111の動作を制御するソフトウエアにより実現される。ファイル管理部1109は、半導体メモリパック装置120へ記録すべきデータを、データ管理単位であるクラスタのサイズ(16KB)に分割する。ここまでは従来のデータ記録方法と同様であるが、本実施形態では、ファイル管理部1109が、半導体メモリパック装置120の中からデータ記録単位(64KB)=4クラスタ分(16KB×4)の空き領域を検索して、見つかった空き領域の論理アドレスと4クラスタ分のデータを、記録コマンドとともに半導体メモリパック装置120に引き渡す。
半導体メモリパック装置120は、データ記録装置110から記録コマンドを受け取ると、4クラスタのデータをワークメモリ122に一時記憶する。これと共に、マルチカードアクセス制御部121は、記録コマンドと一緒に指示された半導体メモリパック装置120の論理アドレスを、図4で示したとおり、半導体メモリパック装置120に内蔵する4枚の半導体メモリカード123〜126の個別の論理アドレスに変換する。さらに、ワークメモリ122に一時記憶されたクラスタのデータを4つに分割し、上記の変換で得られた半導体メモリカード123〜126それぞれの論理アドレスに対して、並列に同時記録する。
以上、本実施形態では、データ記録装置110のファイル管理部1109がデータを管理する最小単位である1クラスタ(16KB)単位に記録を行わず、半導体メモリパック装置120に内蔵される4枚の半導体メモリカード123〜126の消去ブロックの合計サイズ(64KB)と1クラスタ(16KB)の公倍数となる4クラスタ(64KB)単位に記録する。これにより、従来から高速記録の障害となってきたリード・モディファイ・ライトの発生を防止し、結果として半導体メモリカードの書き換え回数を低減することが可能になる。また、半導体メモリパック装置120は、内蔵する4枚の半導体メモリカードに対して並列に同時記録するため、半導体メモリカードが1枚だけの場合に比べて、4倍高速にデータを記録することができる。
なお、実施の形態2において、半導体メモリカードを4枚内蔵するタイプの半導体メモリパック装置を例に説明したが、本発明において半導体メモリパック装置に内蔵される半導体メモリカードの枚数は4枚に限定されず、複数枚の半導体メモリカードを内蔵する構成に同様に適用できる。内蔵する半導体メモリカードのすべてが並列動作する必要は無く、例えば、4枚の半導体メモリカードを内蔵して、そのうち2枚ずつが並列動作するのでもよい。また、実施の形態2においては、4つの消去ブロックを4つのクラスタに割り当てる例を説明したが、半導体メモリパック装置に内蔵する半導体メモリカードの消去ブロックの合計サイズとクラスタサイズとの公倍数をデータ記録単位として、一つのデータ記録単位内には同一ファイルのデータのみを記録するようにすれば、同様の効果を得ることができる。また、消去ブロックのサイズが16KBに限定されるものでもない。内蔵する半導体メモリはカード形状に限定されず、チップの形状で実装されるものも本発明の技術的範囲に含まれる。さらに、実施の形態2においては、半導体メモリパック装置内で複数の半導体メモリカードが並列動作する構成を例に説明したが、例えば、半導体メモリカード内の複数のフラッシュメモリが並列動作する構成についても本発明を適用できる。すなわち、並列動作する複数のフラッシュメモリの消去ブロックの合計サイズとクラスタサイズとの公倍数を、ファイル管理部1109のデータ記録単位とすれば良い。
(実施の形態3)
続いて、図1および図5を用いて、本発明のさらに他の実施形態について説明する。図5は、半導体メモリパック装置120の連続する論理アドレスと、この論理アドレスにマッピングされた4枚の半導体メモリカード123〜126の消去ブロック(16KB)との関係と共に、半導体メモリカード123〜126の消去ブロックの合計サイズ(16KB×4=64K)とファイル管理部1109のデータ管理単位=クラスタサイズ(16KB)の公倍数である4クラスタ(64KB)をデータ記録単位とした場合のクラスタ割り当てを示す。
従来のファイルシステムにおいては、データの管理単位であるクラスタ単位に空き領域を検索し、1クラスタ分でも空き領域があれば、その論理アドレスに1クラスタ分のデータを記録する。しかしながら、本実施形態のデータ記録装置110のファイル管理部1109は、4クラスタをデータ記録単位とするため、少なくとも4クラスタ分の連続した空き領域が無ければデータを記録しない。図5において、半導体メモリパック装置120のデータ記録単位501は、連続する4クラスタすべてが空き領域であるので、データを記録することが可能であると判断されるが、データ記録単位502には記録済みのクラスタがひとつ存在するため、残りの3クラスタも合わせて記録には使用されない。
以上、本実施形態では、データ記録単位(64KB)で空き領域を検索することで、4クラスタをまとめて記録する論理アドレスのアライメントが常に64KBの境界と一致するように記録することができる。これにより4枚の半導体メモリカードの消去ブロック境界とデータ記録単位の境界とがミスマッチすることない。この結果、従来から高速記録の障害となってきたリード・モディファイ・ライトの発生を防止し、結果として半導体メモリカードの書き換え回数を低減することが可能になる。
なお、実施の形態3では、半導体メモリカードを4枚内蔵するタイプの半導体メモリパック装置を例に説明したが、本発明の半導体メモリパック装置に内蔵する半導体メモリカードの枚数は4枚に限定されない。本発明は、複数枚の半導体メモリカードを内蔵する構成であれば、同様に適用することができる。また、内蔵する半導体メモリカードのすべてが並列動作する必要は無く、例えば、4枚の半導体メモリカードを内蔵して、そのうち2枚ずつが並列動作するのでもよい。また、実施の形態3においては4つの消去ブロックを4つのクラスタに割り当てる例を説明したが、半導体メモリパック装置に内蔵する半導体メモリカードの消去ブロックの合計サイズとクラスタサイズの公倍数をデータ記録単位として、データ記録単位で空き領域を検索するように動作すれば、同様の効果を得ることができる。さらに、消去ブロックのサイズが16KBに限定されるものでもない。内蔵する半導体メモリはカード形状に限定されず、チップ形状で実装されるものも本発明の技術的範囲に含まれる。
(実施の形態4)
図1および図6、図7を参照し、本発明のさらに他の実施形態を説明する。図6および図7は半導体メモリパック装置120の連続する論理アドレスにマッピングされた4枚の半導体メモリカード123〜126の消去ブロック(16KB)の関係を示すとともに、4並列に動作する半導体メモリカード123〜126の消去ブロックの合計サイズ(16KB×4=64K)とファイル管理部1109のデータ管理単位=クラスタサイズ(16KB)の公倍数である4クラスタ(64KB)をデータ記録単位とした場合のクラスタ割り当てを図示している。
図6は、従来のファイルシステムによって1クラスタ単位にファイルが割り当てられた例を示している。従来のファイルシステムにおいては、クラスタがデータ管理の最小単位であり、図6のように記録してもファイルとして矛盾を生じることはない。しかしながら、半導体メモリパック装置120のデータ記録単位よりも小さなクラスタサイズで別々のファイルとして記録した場合、4枚の半導体メモリカード123〜126を並列に動作させても1枚の半導体メモリカードの4倍の速度で読み出すことは不可能である。図6の例であれば、ファイル#1のデータは半導体メモリパック装置120に内蔵された半導体メモリカード#1にのみ存在し、4枚ある半導体メモリカード123〜126を並列に動作させて読み出すことができないからである。
一方、図7の例は、クラスタサイズは図6と同一であるが、半導体メモリパック装置120のデータ記録単位の内部は、同一ファイルのデータのみが記録されている。図7のように記録することにより、例えばファイル#1のデータを読み出す際には、4枚の半導体メモリカード123〜126が並列に動作することが可能となり、半導体メモリカードが1枚だけの場合に比較して、4倍速でデータを読み出すことが可能になる。
そこで、本実施形態では、図6のように半導体メモリパック装置120のデータ記録単位よりも小さなクラスタサイズで記録されたファイルのデータを、図7のように半導体メモリパック装置120のデータ記録単位内は同一ファイルのデータのみとなるように並べ替えることで、半導体メモリパック装置120の並列動作による効果を最大限に引き出すように記録する。この記録動作は、クラスタ単位のデータの並べ替えのみで実行することができ、記録されたファイルは、高速に読み出すことができる。
図14は、前記並べ替えを実行する方法の一例を示している。並べ替え前の状態では、半導体メモリパック装置120の記録単位には、ファイル#1〜#4がクラスタ毎に記録されている。この状態では、半導体メモリパック装置120の並列動作を利用した高速読み出しを行うことができない。そこで個々のクラスタを一時バッファに読み出して、同一ファイルのクラスタを選別し、半導体メモリパック装置120の同一の記録単位に記録し直すことで、並べ替えを実行する。なお、一時バッファとしては、データ記録装置110の主記憶112または半導体メモリパック装置120のワークメモリ122などを利用することができる。一時バッファの容量は、最低でも、半導体メモリパック装置120の記録単位分だけあれば、並べ替え処理を実行することが可能である。このような並べ替えを行った後は、半導体メモリパック装置120の並列動作を利用して、ファイルを高速に読み書きすることが可能となる。
なお、上述の記録データの並べ替えは、例えば、半導体メモリパック装置120をデータ記録装置110に接続したとき、あるいは、データ記録装置110が特定の動作を実行したときなど、所定のタイミングで自動的に行うようにしても良い。前記特定の動作の例としては、例えば、データ記録装置110がディジタルカメラやビデオカメラである場合、撮影を終了した都度などが考えられる。
なお、実施の形態4において半導体メモリカードを4枚内蔵するタイプの半導体メモリパック装置を例に説明したが、本発明の半導体メモリパック装置に内蔵する半導体メモリカードの枚数は4枚に限定されない。本発明は、複数枚の半導体メモリカードを内蔵する構成であれば、同様に適用することができる。内蔵する半導体メモリカードのすべてが並列動作する必要は無く、例えば、4枚の半導体メモリカードを内蔵して、そのうち2枚ずつが並列動作するのでもよい。また、実施の形態4においては4つの消去ブロックを4つのクラスタに割り当てる例を説明したが、半導体メモリパック装置に内蔵する半導体メモリカードの消去ブロックの合計サイズとクラスタサイズの公倍数をデータ記録単位として、データ記録単位の内部は同一ファイルのデータのみになるように並べ替えることで同様の効果を得ることができるし、消去ブロックのサイズが16KBに限定されるものでもない。内蔵する半導体メモリは、カード形状に限定されず、チップ形状で実装されるものも本発明の技術的範囲に含まれる。
(実施の形態5)
続いて、図8〜図10を参照し、本発明のさらに他の実施形態を説明する。まずFATファイルシステムの構成について、図8および図9を用いて説明する。
通常、ISO/IEC9292に規定されたFATファイルシステムでは、ファイルシステムの管理情報とユーザデータ領域は、記憶媒体の論理ボリューム上で図9に示したように配置されている。図9において、図の最上部は論理セクタ0番を表している。
論理セクタ0番には、ブートセクタが記録されている。ブートセクタには、ボリューム全体に関する情報と、ユーザデータ領域に書かれたファイルを読み出すために必要となるFATや、ルートエントリといった管理情報の所在に関する情報が記録されている。FATファイルシステムの一具体例であるFAT16ファイルシステムにおいて、ブートセクタに記述されるべき情報としてISO/IEC9293で定められたものを図12に示す。
ユーザデータ領域におけるファイルの配置情報を記述するFATとブートセクタとの間には、予約領域を設けられていることがある。予約領域のセクタ数は、ブートセクタに記述される。
また、FATファイルシステムにおいては、しばしば複数のFATを記録することが許されているが、FATの数とFATひとつ当たりのセクタ数は、ブートセクタに記述されている。
ひとつあるいは複数のFATの直後のセクタ以降には、ルートディレクトリに記録されたファイルに関する情報が列挙される。ファイルに関する情報はファイルエントリと呼ばれ、32バイト単位で管理される。ファイルエントリの中には、ファイル名、ファイル作成時刻、ファイルサイズ、ファイル長、ファイルが保存されている最初のクラスタ番号が記録されている。ルートディレクトリに置かれるファイルエントリの最大数(ルートディレクトリ項目数)はブートセクタに記述されており、その値に従ったサイズを持つ領域がルートディレクトリエントリとしてあらかじめ確保されている。ルートディレクトリ項目数は、ブートセクタに記述されている。
ルートディレクトリエントリの直後のセクタ以降が、ユーザデータ領域となる。ユーザデータ領域は、ひとつもしくは複数の連続したセクタをまとめた、クラスタと呼ばれる単位で管理され、全てのクラスタには先頭から順に通し番号が振られている。
FATの中には、それぞれのクラスタに対応したFATエントリが用意されている。以下に、ユーザデータ領域へファイルを記録する方法を、図10を用いて説明する。
記録するファイル1001がユーザデータ領域で4クラスタ分に相当するサイズを持っている例を考える。この場合、ファイルシステムは、FATのエントリの中から、未割り当てを表す特殊なビット列(FAT16ファイルシステムの場合は0x00)が記録されているものを4つ探し出す。仮にA番目、B番目、C番目、D番目の4つのクラスタに対応するFATエントリ(1002〜1005)に未割り当てを表すビット列が記録されているのが見つかった場合、ファイルシステムは、ファイルをユーザデータ領域のA番目〜D番目の4クラスタに分割して記録する。さらに、4クラスタの関係を記録するために、FATのクラスタAに対応するエントリ1002内には、ファイルが記録されている次のクラスタの番号、すなわち番号Bを記録する。同様にして、クラスタBに対応するFATエントリ1003には番号Cを記録し、クラスタCに対応するFATエントリ1004には番号Dを記録する。ファイルが記録された最後のクラスタ(本例ではクラスタD)に対応するFATエントリ1005には、ファイル終端を表す特殊なビット列(FAT16ファイルシステムでは0xFF)を記録する。ユーザデータ領域からファイルを読み出す場合は、このクラスタの繋がりをたどることによって、ファイル終端まで到達することができる。FATエントリひとつ当たりに12ビット使用するファイルシステムをFAT12ファイルシステム、16ビット使用するものをFAT16ファイルシステム、32ビット使用するものをFAT32ファイルシステムと呼ぶ。
また、FAT全体に割かれるスペースのサイズSFは、前記ブートセクタの23〜24ビットに記述されている(図12)。さらに、本スペース中に含まれる有効なFATエントリの数FEは、ブートセクタの33〜36ビットに記述された全セクタ数TSを用いて以下の数式[数1]から計算される。
Figure 2004342090
[数1]でRSCは予約セクタ数、SFはFATあたりのセクタ数、RDEはルートディレクトリの項目数、SSはセクタのデータフィールドのバイト数、SCはクラスタ当たりのセクタ数をあらわしている。関数ip(x)は、xの整数部をあらわし、関数ceil(x)はxより大きい最小の整数をあらわす。[数1]においてceil(32×RDE/SS)は、ルートディレクトリのために確保されるセクタ数を計算している。よって、(TS−RSC−SF−ceil(32×RDE/SS))は全セクタ数から管理領域のセクタ数を引いた値、すなわちユーザデータ領域のセクタ数となる。これをSCで割ったものの整数部をとることにより、ユーザデータ領域で確保可能なクラスタ数が計算できる。さらに2を足しているのは、管理領域に関する特別なFATエントリ確保のためである。
FATファイルシステムは広く用いられているファイルシステムであるが、オペレーティングシステムによっては、[数1]で計算される有効クラスタ数の下限値を定めているものがある。これにより、ある容量以下の記録媒体、すなわち或る値以下の総セクタ数TSしか持たない記憶媒体をFATファイルシステムで用いたい場合は、クラスタサイズを小さくして総クラスタ数を多くする手段を取らざるを得ない。しかしながら、記憶媒体が半導体メモリパック装置の場合、クラスタサイズを半導体メモリパック装置の消去ブロックと一致させたいという要望から、クラスタサイズの変更が容易でないことがある。したがって、クラスタサイズ制限を持った小容量記憶媒体は、クラスタ数下限を持ったオペレーティングシステムでは使用できないことになる。
そこで、本実施形態では、オペレーティングシステムのサポート範囲以下のクラスタ数しか確保できない小容量記憶媒体をFATファイルシステムで利用する場合に、ブートセクタの総セクタ数TSに、実際に存在するセクタ数よりも大きな値を記述することにより、前記問題を回避する。すなわち、小容量記憶媒体のフォーマット時に、総セクタ数TSを以下の数式[数2]で計算される値よりも大きい値に設定することにより、制限付きオペレーティングシステムで小容量記憶媒体を扱えるようにする。ここでLSはオペレーティングシステムが定めるクラスタ数の下限である。
Figure 2004342090
[数2]は、[数1]の解をLSとおいて、TSについて解くことにより導かれる。
[数2]から得られる総セクタ数をブートセクタに設定することにより、FAT内のFATエントリには、実際に存在するクラスタと関連付け可能なものと、実在するクラスタとは関連付け不可能なものが生じる。図8では、ユーザデータ領域に実在するクラスタ数をN、総クラスタ数TSによって計算される有効クラスタ数をMとしている。FATエントリの1番からN番までが実在するクラスタと関連付け可能なFATエントリ801であり、N+1番からM番までが実在するクラスタと関連付け不可能なFATエントリ802となる。
本実施形態では、小容量記憶媒体をFATファイルシステムでフォーマットするときに、実在するクラスタと関連付けできないFATエントリ802の全てに、ファイル終端を示す全ビット1の値をあらかじめ記述しておく。これは、総セクタ数を水増しして記述したFATファイルシステムに対してファイルの書き込みをおこなう場合、実在するクラスタと関連付けできないFATエントリ802に未割り当てを示すビット列を記述しておくと、ファイルシステムが実在しないクラスタにデータを書き込もうとしてエラーを生じる可能性があるためである。実在するクラスタと関連付けできないFATエントリ802が指す先のクラスタにはすでにデータが割り当て済みであると見せかけることで、ファイルシステムがファイルを書き込むためにボリューム上の空き領域をサーチする場合、実在しないクラスタを書き込み対象とすることがなくなる。
また、FAT12、FAT16ファイルシステムでは、多くのオペレーティングシステムが、ユーザに提供する記録媒体の空き容量情報を未割り当てビット列が記述されたFATエントリを数えることによって計算する。従って、本実施形態に従えば、正確な空き容量情報をユーザに提供できる。また、FAT32ファイルシステムでは、論理ボリューム上で得られる空きクラスタの数が予約セクタ内に記述されており、オペレーティングシステムの多くは、本情報をもとにユーザへディスクの空き容量情報を提供する。本実施形態では、記憶媒体をFATファイルシステムでフォーマットするときに、総セクタ数TSから計算される総クラスタ数から実在するクラスタと関連付け不可能なFATエントリ802の数を引いたものを空きクラスタ数として予約セクタ内に記述することにより、正確な空き容量情報を提供する。
以上の方法でFATファイルシステムを構築することにより、FATエントリの下限値を持ったオペレーティングシステムにおいてもクラスタサイズに制限を持った小容量記憶媒体を読み書きすることが可能になり、また、ユーザに対して正確な空き容量情報を提供することも可能になる。なお、実施の形態5では実在するクラスタと関連付け不可能なFATエントリ802に入れるビット列を、ファイル終端を示すビット列としたが、不良セクタを示すビット列等、未割り当てを示すビット列以外であれば何を用いても構わない。
(実施の形態6)
最後に、図11を用いて、本発明のさらに他の実施形態について説明する。
図11は、実施の形態6のデータ記録装置の構成を表したブロック図である。図11において、1101はデータ記録装置、1102は制御部、1103はメモリ、1104は入力データI/F、1105はエンコーダ制御部、1106はエンコーダ、1107はバッファ制御部、1108はバッファ、1109はファイル管理部、1110はメディアI/F、1111はメディアを表している。なお、メディア1111は、実施の形態1等で説明した半導体メモリパック装置120である。
制御部1102は、メモリ1103を用いて、データ記録装置1101の全体の制御を行う。入力データI/F1104は、外部から入力されたデータを受け取る。
エンコーダ制御部1105は、入力データI/F1104から入力されたデータを受け取り、エンコーダ1106を制御してそのデータのエンコード処理を行い、バッファ制御部1107にエンコードされたデータを送る。また、エンコーダ制御部1105は、エンコーダ1106からの情報を取得して、制御部1102に伝えることもできる。エンコーダ1106からの情報とは、例えばビデオデータをMPEG(Moving Pictures coding Experts Group)にエンコードする場合、1GOP(Group Of Pictures)のエンコードを完了したという情報などである。
バッファ制御部1107は、エンコーダ制御部1105から受け取った、エンコードされたデータを、データの種類毎にバッファ1108内の別の領域に格納する。また、バッファ制御部1107は、バッファ1108に蓄えられたデータの量を監視しており、所定量に達した時には制御部1102に通知する。制御部1102はその通知を受け取ると、ファイル管理部1109にデータ記録要求を出す。
ファイル管理部1109は、メディア1111に記録されているファイルの管理を行う。ファイル管理部1109は、メディア1111からメディアI/F1110を介して、ファイルシステム管理情報を読み込み、メモリ1103に格納する。制御部1102からのデータ記録要求を受けると、ファイル管理部1109はファイルシステム管理情報を参照して空き領域を探し、見つかればその領域にデータを記録するようにメディア1111にコマンドを発行する。またこの処理と同時に、ファイル管理部1109は、記録位置やデータ量などの記録したデータの情報を、メモリ1103に格納されているファイルシステム管理情報に書き込む。
メモリ1103に格納されているファイルシステム管理情報は、定期的にメディア1111に書き戻さなければならない。それは、記録装置1101の電源が落ちるなど、不測の事態が起こる可能性があるからである。ファイルシステム管理情報がメディア1111に書き戻されないと、それまで記録したデータの記録位置やデータ量などを知るすべがなく、記録されていない状態と同じになってしまう。
逆に、ファイルシステム管理情報を頻繁にメディア1111に書き戻すようにすると、書き換え回数の上限があるメディアだと、すぐに書き換え回数を超えてしまう可能性がある。また、ファイルシステム管理情報の書き換え処理のために、メディア1111のアクセス効率が低下してしまう。よって、ファイルシステム管理情報を適切なタイミングでメディア1111に書き戻すことが重要になる。
以下、ファイルシステム管理情報を書き戻すタイミングについて、音声データと映像データを別々のファイルで同時に記録する場合と、音声データと映像データを1つのファイルで記録する場合の2つの例で説明する。
まず、音声データと映像データを別々のファイルで同時に記録する場合について述べる。
音声データと映像データを別々のファイルで記録する場合、同時に記録装置1101に入力されても、メディア1111には同時に記録されない。それは、映像データのビットレートが音声データのビットレートより高いため、バッファ1108に蓄えられる映像データが音声データより早く所定量に達して、映像データが先に記録されるからである。
音声データと映像データはセットでクリップを構成するため、映像データだけをメディア1111に記録しても、通常その映像データは意味のないものになってしまう。
よって、本実施形態では、音声データと映像データを別々のファイルで同時に記録する場合、音声データをメディア1111に記録する毎に、ファイルシステム管理情報もメディア1111に書き戻すようにする。つまり、ビットレートの最も低いデータの記録を、ファイルシステム管理情報を書き戻すトリガにする。
先述したように、バッファ制御部1107は、バッファ1108をデータの種類毎に監視しており、データが所定量に達した時に制御部1102に通知する。制御部1102は、現在記録処理を行っているデータの中で最もビットレートが低いデータを知っている。この例では、音声データが最もビットレートが低いデータである。バッファ1108に蓄積された音声データが所定量に達したことを通知されると、制御部1102はファイル管理部1109に、音声データの記録要求とファイルシステム管理情報更新要求を出す。なお、上記の「所定量」とは、メディア1111(半導体メモリパック120)において並列動作する半導体メモリカード123〜126の消去ブロックの合計サイズと、ファイル管理部1109のデータ管理サイズとの公倍数をデータ記録単位とした場合、そのデータ記録単位の整数倍である。
以上のように、音声データと映像データを別々のファイルで同時に記録する場合、ビットレートの低い音声データの記録にあわせてファイルシステム管理情報をメディアに書き戻すようにすると、メディアの書き換え回数を無駄に増やすことなく、記録装置の電源断対策を図ることができる。
次に、音声データと映像データをMPEGシステムストリームとして1つのファイルに記録する場合について説明する。
MPEGシステムストリームを記録する場合、データは1GOPの単位で完結するフレーム間圧縮が施されており、1GOPよりも短い単位でデータが記録されても正常にデコードして再生することができない。しがたって、1GOP以内のデータを記録した段階でファイルシステムの管理情報をメディアに書き戻してもほとんどの場合に意味を成さない。そこで本実施形態では、MPEGシステムストリームを1つのファイルとしてメディアに記録する場合、1GOPの整数倍だけデータを記録した段階でファイルシステムの管理情報を更新するように動作する。これによって必要以上にファイルシステムの管理情報を書き換えることが防止され、メディアの書き換え寿命を延ばすことが可能になる。
本発明の実施の形態1によるデータ記録装置および半導体メモリパック装置の構成図 従来の半導体メモリパック装置における記録領域を示した図 本発明の実施の形態1によるデータ記録単位と消去ブロック、クラスタ割り当てを示した図 本発明の実施の形態2によるデータ記録単位と消去ブロック、クラスタ割り当てを示した図 本発明の実施の形態3によるデータ記録単位と消去ブロック、空きクラスタを示した図 本発明の実施の形態4における並べ替え前のデータ記録単位とファイルの記録配置を示した図 本発明の実施の形態4における並べ替え後のデータ記録単位とファイルの記録配置を示した図 本発明の実施の形態5による実時間データファイルの再生方法のブロック図 本発明の実施の形態5による実時間データファイルの再生方法のブロック図 本発明の実施の形態5による実時間データファイルの再生方法のブロック図 本発明の実施の形態6による実時間データファイルの再生方法のブロック図 ISO/IEC9293で定められたFATのブートセクタを示す図 本発明の実施の形態1にかかるデータ記録装置の機能的な構成を示すブロック図 本発明の実施の形態4においてデータ記録単位内のデータを並べ替える方法の説明図
符号の説明
110 データ記録装置
111 CPU
112 主記憶
113 カードコネクタ
120 半導体メモリパック装置
121 マルチカードアクセス制御部
122 ワークメモリ
123 半導体メモリカード#1
124 半導体メモリカード#2
125 半導体メモリカード#3
126 半導体メモリカード#4
201〜212 ファイルシステムのデータ管理単位
220、230、240 半導体メモリパック装置の消去ブロック
250、260、270、280 半導体メモリパック装置の記録領域
301 半導体メモリカード#1の消去ブロック
302 半導体メモリカード#2の消去ブロック
303 半導体メモリカード#3の消去ブロック
304 半導体メモリカード#4の消去ブロック
305 半導体メモリパック装置のクラスタ
401 半導体メモリカード#1の消去ブロック
402 半導体メモリカード#2の消去ブロック
403 半導体メモリカード#3の消去ブロック
404 半導体メモリカード#4の消去ブロック
405 半導体メモリパック装置のクラスタ
501、502 半導体メモリパック装置のデータ記録単位
801 実在するクラスタと関連付け可能なFATエントリ
802 実在するクラスタとは関連付け不可能なFATエントリ
1001 ユーザデータ領域に書き込むファイル
1002 A番目のクラスタに対応するFATエントリ
1003 B番目のクラスタに対応するFATエントリ
1004 C番目のクラスタに対応するFATエントリ
1005 D番目のクラスタに対応するFATエントリ
1101 データ記録装置
1102 制御部
1103 メモリ
1104 入力データI/F
1105 エンコーダ制御部
1106 エンコーダ
1107 バッファ制御部
1108 バッファ
1109 ファイル管理部
1110 メディアI/F
1111 メディア

Claims (10)

  1. 並列に記録動作する複数のフラッシュメモリを内蔵する半導体メモリパック装置に対してデータを記録するデータ記録装置において、
    前記半導体メモリパック装置へ記録すべきデータをファイルとして管理するファイル管理部を備え、
    前記ファイル管理部が、前記半導体メモリパック装置へ供給するデータのデータ記録単位を、前記複数のフラッシュメモリの消去ブロックサイズを合計したサイズと、当該ファイル管理部におけるデータ管理サイズとの公倍数とすることを特徴とするデータ記録装置。
  2. 前記複数のフラッシュメモリの消去ブロックサイズを合計したサイズの整数倍をデータ記録単位として、前記ファイル管理部のデータ管理単位が、前記データ記録単位と同一サイズである、請求項1に記載のデータ記録装置。
  3. 前記ファイル管理部が、前記データ記録単位内を同一ファイルのデータとする、請求項1または2に記載のデータ記録装置。
  4. 前記ファイル管理部が、前記半導体メモリパック装置に前記データ記録単位に相当する空き容量がある場合にのみ記録を行う、請求項1または2に記載のデータ記録装置。
  5. 前記ファイル管理部が、前記データ記録単位内に異なるファイルのデータが記録されている場合、前記データ記録単位内は同一ファイルのデータになるように記録データを並べ替える、請求項1または2に記載のデータ記録装置。
  6. 前記半導体メモリパック装置が、前記ファイル管理部のファイル管理情報を記録する領域を有し、
    前記ファイル管理部が、音声データファイルおよび映像データファイルの少なくとも2つのファイルを同時に並行して前記半導体メモリパック装置へ記録する場合、前記半導体メモリパック装置へ供給すべきデータとして蓄積している音声データの量が前記データ記録単位の整数倍となった時点で、前記半導体メモリパック装置に記録されている前記ファイル管理情報を更新する、請求項1または2に記載のデータ記録装置。
  7. 前記ファイル管理部が、MPEGストリームをファイルに記録する場合、記録済みのデータが1GOPの整数倍となった時点で、前記ファイル管理部のファイル管理情報を更新する、請求項1または2に記載のデータ記録装置。
  8. 前記フラッシュメモリが、半導体メモリカードとして前記半導体メモリパック装置に装着される、請求項1または2に記載のデータ記録装置。
  9. 複数のフラッシュメモリを内蔵する半導体メモリパック装置に対してFATファイルシステムに従ってデータを記録するデータ記録装置において、
    前記半導体メモリパック装置に実在するセクタ数と、実在しない仮想的なセクタ数とを加えた総セクタ数を前記FATファイルシステムで管理するものとし、前記実在しない仮想的なセクタに対応するクラスタのFATエントリに空き領域以外の意味を持つ値を格納することによりデータ書き込み対象から除外することを特徴とするデータ記録装置。
  10. 前記空き領域以外の意味を持つ値として、ファイルの終端を意味する全ビットが1の値をFATエントリに書き込む、請求項9に記載のデータ記録装置。
JP2004106293A 2003-04-25 2004-03-31 データ記録装置 Pending JP2004342090A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004106293A JP2004342090A (ja) 2003-04-25 2004-03-31 データ記録装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003121179 2003-04-25
JP2004106293A JP2004342090A (ja) 2003-04-25 2004-03-31 データ記録装置

Publications (1)

Publication Number Publication Date
JP2004342090A true JP2004342090A (ja) 2004-12-02

Family

ID=33543251

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004106293A Pending JP2004342090A (ja) 2003-04-25 2004-03-31 データ記録装置

Country Status (1)

Country Link
JP (1) JP2004342090A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006252096A (ja) * 2005-03-10 2006-09-21 Sony Corp 記録装置および方法、並びにプログラム
JP2007133512A (ja) * 2005-11-08 2007-05-31 Seiko Epson Corp フラッシュromを備えた情報処理装置及びフラッシュromのデータ消去方法
JP2012033002A (ja) * 2010-07-30 2012-02-16 Toshiba Corp メモリ管理装置およびメモリ管理方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006252096A (ja) * 2005-03-10 2006-09-21 Sony Corp 記録装置および方法、並びにプログラム
JP4577050B2 (ja) * 2005-03-10 2010-11-10 ソニー株式会社 記録装置および方法、並びにプログラム
JP2007133512A (ja) * 2005-11-08 2007-05-31 Seiko Epson Corp フラッシュromを備えた情報処理装置及びフラッシュromのデータ消去方法
US7783824B2 (en) 2005-11-08 2010-08-24 Seiko Epson Corporation Data processing device having flash ROM, and a flash ROM data erasing method
JP2012033002A (ja) * 2010-07-30 2012-02-16 Toshiba Corp メモリ管理装置およびメモリ管理方法

Similar Documents

Publication Publication Date Title
JP4931810B2 (ja) 最適化されたシーケンシャルなクラスタの管理のためのfat分析
JP3942807B2 (ja) ブロックアラインメント機能付き半導体記憶装置
US7647470B2 (en) Memory device and controlling method for elongating the life of nonvolatile memory
CN100347684C (zh) 记录系统、数据记录设备、存储设备和数据记录方法
US7401174B2 (en) File system defragmentation and data processing method and apparatus for an information recording medium
JP4736593B2 (ja) データ記憶装置、データ記録方法、記録及び/又は再生システム、並びに、電子機器
WO2004097650A1 (ja) データ記録装置
JP5129156B2 (ja) アクセス装置、および、ライトワンス記録システム
JP4859837B2 (ja) 情報記録媒体アクセス装置、及びデータ記録方法
JP4977703B2 (ja) 予定再生操作を伴う不揮発性メモリ
CN1227591C (zh) 记录系统、数据记录设备、存储设备和数据记录方法
JP2007517325A (ja) データラン・プログラミング
JP5266250B2 (ja) 連続論理アドレス空間インターフェイスを備えるダイレクトデータファイルシステムの使用
WO2005066787A1 (ja) 情報記録媒体
KR101046083B1 (ko) 정보 기록 매체의 데이터 처리 장치 및 데이터 기록 방법
JP4130808B2 (ja) フォーマット方法
JP2002202912A (ja) 記録装置、記録制御方法、及びプログラム
JP2001265628A (ja) ファイル記録管理システム
US6167483A (en) Block erase type nonvolatile semiconductor memory device
JP5555489B2 (ja) フォーマット装置、フォーマット方法およびプログラム
JP2004342090A (ja) データ記録装置
WO2010001606A1 (ja) コントローラ、情報記録装置、アクセス装置、情報記録システム、及び情報記録方法
JP2006252137A (ja) 不揮発性記憶装置の最適化方法
JP2003316627A (ja) 情報記録再生装置及びその管理情報バックアップ方法
JP2001325135A (ja) データ記憶再生装置及びデータ記憶再生方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040927

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050105

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050304

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050309

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20050408