(57)【要約】【課題】ファイルの更新中に発生した電源の遮断の影響が、更新の対象になっているファイル以外のファイルのデータにまで及ぶことを防ぐことができるようにする。【解決手段】NOR型フラッシュメモリに新たなファイルを記憶させる場合、そのファイルを構成するクラスタ単位のファイルデータが生成される。生成されたファイルデータのうちの先頭のファイルデータの書き込み先のクラスタとして、セクタ１のクラスタ１−ｎが空いている場合であっても、全てのクラスタが空き領域になっているセクタ２の、先頭にあるクラスタであるクラスタ２−１が確保され、書き込まれる。２番目の以降のファイルデータの書き込み先のクラスタとして、セクタ２内の連続した位置にあるクラスタが確保され、書き込まれる。本発明は、NOR型のフラッシュメモリを有する装置に適用することができる。【選択図】図２
2008071059.tif 000002
【特許請求の範囲】
【請求項１】
FATファイルシステムが構築されたNOR型フラッシュメモリを有する情報処理装置において、
書き込みの対象となる１つのファイルを構成するクラスタ単位のデータを生成する生成手段と、
前記生成手段により生成された第１のデータの記録領域として、前記NOR型フラッシュメモリに形成された複数のセクタのうちの、空いている所定のセクタの先頭にあるクラスタを確保し、前記第１のデータに続く第２のデータの記録領域として、前記所定のセクタと同じセクタの、前記第１のデータの記録領域として確保したクラスタと連続した位置にあるクラスタを確保して、前記第１と第２のデータをそれぞれのクラスタに書き込む書き込み手段と
を備える情報処理装置。
【請求項２】
前記書き込み手段は、前記所定のセクタにあるクラスタを前記第２のデータの記録領域として確保することができない場合、前記所定のセクタと異なる、空いているセクタの先頭にあるクラスタを確保し、前記第２のデータを書き込む
請求項１に記載の情報処理装置。
【請求項３】
FATファイルシステムが構築されたNOR型フラッシュメモリを有する情報処理装置の情報処理方法において、
書き込みの対象となる１つのファイルを構成するクラスタ単位のデータを生成し、
生成した第１のデータの記録領域として、前記NOR型フラッシュメモリに形成された複数のセクタのうちの、空いている所定のセクタの先頭にあるクラスタを確保し、前記第１のデータに続く第２のデータの記録領域として、前記所定のセクタと同じセクタの、前記第１のデータの記録領域として確保したクラスタと連続した位置にあるクラスタを確保して、前記第１と第２のデータをそれぞれのクラスタに書き込む
ステップを含む情報処理方法。
【請求項４】
FATファイルシステムが構築されたNOR型フラッシュメモリを有する情報処理装置の情報処理をコンピュータに実行させるプログラムにおいて、
書き込みの対象となる１つのファイルを構成するクラスタ単位のデータを生成し、
生成した第１のデータの記録領域として、前記NOR型フラッシュメモリに形成された複数のセクタのうちの、空いている所定のセクタの先頭にあるクラスタを確保し、前記第１のデータに続く第２のデータの記録領域として、前記所定のセクタと同じセクタの、前記第１のデータの記録領域として確保したクラスタと連続した位置にあるクラスタを確保して、前記第１と第２のデータをそれぞれのクラスタに書き込む
ステップを含む処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、およびプログラムに関し、特に、ファイルの更新中に発生した電源の遮断の影響が、更新の対象になっているファイル以外のファイルのデータにまで及ぶことを防ぐことができるようにした情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
NAND型フラッシュメモリより１回の読み出しの対象となるデータの量が小さく、データの読み出しが容易であることなどから、装置の起動時に実行されるプログラムコードなどの各種のデータの記録媒体としてNOR型フラッシュメモリが用いられることがある。
【０００３】
起動時に実行するプログラムコードがNOR型フラッシュメモリに書き込まれていることにより、CPU(Central Processing Unit)は、起動時に実行するプログラムコードをNOR型フラッシュメモリから直接読み出すことができ、NAND型フラッシュメモリに書き込まれているプログラムコードをRAM(Random Access Memory)に１度展開し、それを実行することによって起動する場合に較べて、装置の起動を容易に行うことができる。
【０００４】
特許文献１には、電源の遮断などのトラブルが発生したときにFAT(File Allocation Table)が破壊されるのを防ぐことができるようにした技術が開示されている。
【特許文献１】特開２００５−６０３４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
NOR型フラッシュメモリ上に構築されたFATファイルシステムによってファイルを管理する場合、FATファイルシステムにおけるクラスタのサイズよりも、NOR型フラッシュメモリに形成された記録領域の単位であるセクタのサイズの方が大きいことが多いため、NOR型フラッシュメモリにおいては、１つのセクタの中に、複数のクラスタが含まれるといった状況になることがある。
【０００６】
従って、電源ケーブルがユーザにより抜かれるなどして、あるセクタのクラスタにデータが書き込まれているファイルの消去／更新中に電源の遮断が発生した場合、その影響が、更新の対象になっているファイルだけでなく、同じセクタのクラスタにデータが書き込まれている他のファイルにも及び、複数のファイルが破損してしまうことがある。
【０００７】
NOR型フラッシュメモリには、データの消去はセクタ単位で行わなければならないといった制約があることから、あるファイルを更新する場合、更新の対象とするファイルのデータが書き込まれているクラスタとともに、同じセクタのクラスタを、仮に、そのクラスタに更新の対象となっていない他のファイルのデータが書き込まれているときであっても一旦消去する必要があり、１つのセクタの全てのクラスタを消去した段階で電源の遮断が発生した場合、消去したクラスタにデータが書き込まれていたそれらのファイルは復元することができない。
【０００８】
本発明はこのような状況に鑑みてなされたものであり、例えば、ファイルの更新中に発生した電源の遮断の影響が、更新の対象になっているファイル以外のファイルのデータにまで及ぶことを防ぐことができるようにするものである。
【課題を解決するための手段】
【０００９】
本発明の一側面の情報処理装置は、FATファイルシステムが構築されたNOR型フラッシュメモリを有する情報処理装置において、書き込みの対象となる１つのファイルを構成するクラスタ単位のデータを生成する生成手段と、前記生成手段により生成された第１のデータの記録領域として、前記NOR型フラッシュメモリに形成された複数のセクタのうちの、空いている所定のセクタの先頭にあるクラスタを確保し、前記第１のデータに続く第２のデータの記録領域として、前記所定のセクタと同じセクタの、前記第１のデータの記録領域として確保したクラスタと連続した位置にあるクラスタを確保して、前記第１と第２のデータをそれぞれのクラスタに書き込む書き込み手段とを備える。
【００１０】
前記書き込み手段には、前記所定のセクタにあるクラスタを前記第２のデータの記録領域として確保することができない場合、前記所定のセクタと異なる、空いているセクタの先頭にあるクラスタを確保させ、前記第２のデータを書き込ませることができる。
【００１１】
本発明の一側面の情報処理方法またはプログラムは、書き込みの対象となる１つのファイルを構成するクラスタ単位のデータを生成し、生成した第１のデータの記録領域として、NOR型フラッシュメモリに形成された複数のセクタのうちの、空いている所定のセクタの先頭にあるクラスタを確保し、前記第１のデータに続く第２のデータの記録領域として、前記所定のセクタと同じセクタの、前記第１のデータの記録領域として確保したクラスタと連続した位置にあるクラスタを確保して、前記第１と第２のデータをそれぞれのクラスタに書き込むステップを含む。
【００１２】
本発明の一側面においては、書き込みの対象となる１つのファイルを構成するクラスタ単位のデータが生成され、生成された第１のデータの記録領域として、NOR型フラッシュメモリに形成された複数のセクタのうちの、空いている所定のセクタの先頭にあるクラスタが確保され、前記第１のデータに続く第２のデータの記録領域として、前記所定のセクタと同じセクタの、前記第１のデータの記録領域として確保されたクラスタと連続した位置にあるクラスタが確保されて、前記第１と第２のデータがそれぞれのクラスタに書き込まれる。
【発明の効果】
【００１３】
本発明の一側面によれば、例えばファイルの更新中に発生した電源の遮断の影響が、更新の対象になっているファイル以外のファイルのデータにまで及ぶことを防ぐことができる。
【発明を実施するための最良の形態】
【００１４】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外には対応しないものであることを意味するものでもない。
【００１５】
本発明の一側面の情報処理装置（例えば、図１の記録再生装置１）は、FATファイルシステムが構築されたNOR型フラッシュメモリを有する情報処理装置において、書き込みの対象となる１つのファイルを構成するクラスタ単位のデータを生成する生成手段（例えば、図４の書き込みデータ生成部３１）と、前記生成手段により生成された第１のデータの記録領域として、前記NOR型フラッシュメモリに形成された複数のセクタのうちの、空いている所定のセクタの先頭にあるクラスタを確保し、前記第１のデータに続く第２のデータの記録領域として、前記所定のセクタと同じセクタの、前記第１のデータの記録領域として確保したクラスタと連続した位置にあるクラスタを確保して、前記第１と第２のデータをそれぞれのクラスタに書き込む書き込み手段（例えば、図４の書き込み制御部３２）とを備える。
【００１６】
本発明の一側面の情報処理方法またはプログラムは、書き込みの対象となる１つのファイルを構成するクラスタ単位のデータを生成し、生成した第１のデータの記録領域として、NOR型フラッシュメモリに形成された複数のセクタのうちの、空いている所定のセクタの先頭にあるクラスタを確保し、前記第１のデータに続く第２のデータの記録領域として、前記所定のセクタと同じセクタの、前記第１のデータの記録領域として確保したクラスタと連続した位置にあるクラスタを確保して、前記第１と第２のデータをそれぞれのクラスタに書き込むステップ（例えば、図５のステップＳ７）を含む。
【００１７】
以下、本発明の実施の形態について図を参照して説明する。
【００１８】
図１は、本発明の一実施形態に係る記録再生装置１のハードウェア構成例を示すブロック図である。
【００１９】
記録再生装置１は、BS(Broadcasting Satellite)／CS(Communications Satellite)デジタルテレビジョン放送、地上波デジタルテレビジョン放送、またはインターネットを介した放送によって提供される番組を受信し、受信した番組の映像や音声を、ケーブルなどを介して接続されるTV（テレビジョン受像機）から出力させる機能を有する装置である。記録再生装置１には、ハードディスクなどの記録媒体も内蔵されており、そこに番組のデータを記録（録画）することができるようになされている。
【００２０】
図１に示されるように、記録再生装置１は、CPU(Central Processing Unit)１１、RAM(Random Access Memory)１２、フラッシュメモリ１３、ハードディスク１４、バス１５、チューナ１６、復調器１７、TSデコーダ１８、AV(Audio Visual)デコーダ１９、MUX(multiplexer)２０，２１、および、表示コントローラ２２から構成される。
【００２１】
CPU１１は、フラッシュメモリ１３に記憶されたプログラムや、ハードディスク１４からRAM１２にロードされたプログラムを実行し、バス１５を介して接続される各部の動作を制御する。
【００２２】
RAM１２は、CPU１１によって実行されるプログラムや、プログラムの実行に必要な一時的なデータなどを記憶する。
【００２３】
フラッシュメモリ１３はNOR型のフラッシュメモリであり、RAM１２にロードされることなくCPU１１により直接読み出され、実行されるプログラムコードや、ユーザにより設定された録画予約の内容を表すファイルなどの各種のデータを記憶する。
【００２４】
後述するように、フラッシュメモリ１３には複数のセクタが形成されており、それぞれのセクタには、１つのファイルを構成するデータだけが書き込まれる。すなわち、１つのセクタには、複数のファイルを構成するデータが混在して書き込まれることがない。
【００２５】
ハードディスク１４は、TSデコーダ１８からバス１５を介して供給された、録画の対象になっている番組のデータやEPG(Electronic Program Guide)を記録する。
【００２６】
チューナ１６は、CPU１１による制御に従って、アンテナからの放送信号を受信し、受信信号を復調器１７に出力する。
【００２７】
復調器１７は、チューナ１６から供給された受信信号を復調し、所定のチャンネルで放送されるトランスポートストリームをTSデコーダ１８に出力する。
【００２８】
TSデコーダ１８は、CPU１１による制御に従って、復調器１７から供給されたトランスポートストリームから所定のストリームを抽出し、抽出したストリームを構成するパケットをバス１５上に、または、AVデコーダ１９に出力する。バス１５上に出力されたパケット（番組のデータ）はハードディスク１４に供給され、記録される。TSデコーダ１８により得られたEPGも、適宜、ハードディスク１４に供給され、記録される。
【００２９】
AVデコーダ１９は、TSデコーダ１８から供給されたビデオパケットとオーディオパケットをデコードし、デコードして得られたオーディオデータをMUX２０に、ビデオデータをMUX２１にそれぞれ出力する。また、AVデコーダ１９は、録画済みの番組のデータがハードディスク１４から読み出され、供給されたとき、それをデコードし、デコードして得られたオーディオデータをMUX２０に、ビデオデータをMUX２１にそれぞれ出力する。
【００３０】
MUX２０は、AVデコーダ１９から供給されたオーディオデータとCPU１１から供給されたデータに基づいて、対応する音声をTVのスピーカから出力させる。
【００３１】
MUX２１は、AVデコーダ１９から供給されたビデオデータと表示コントローラ２２から供給されたビデオデータに基づいて、番組の映像などをTVに表示させる。表示コントローラ２２からは、例えば、録画済みの番組のリストの表示に用いられるデータが供給される。
【００３２】
表示コントローラ２２は、CPU１１による制御に従って、TVに表示させる画像のデータを生成し、生成したデータをMUX２１に出力する。
【００３３】
図２は、図１のフラッシュメモリ１３の記録領域の例を示す図である。
【００３４】
上述したように、フラッシュメモリ１３には複数のセクタが形成されており、図２の例においてはセクタ１乃至４の４つのセクタが示されている。１つのセクタは６４kbyteなどの所定のサイズ（容量）を有する。
【００３５】
このように、NOR型のフラッシュメモリであるフラッシュメモリ１３に形成される１つのセクタのサイズは、NAND型のフラッシュメモリに形成される１つのセクタのサイズよりも大きい。NAND型のフラッシュメモリに形成される１つのセクタのサイズは一般的には５１２byteである。
【００３６】
従って、上述したような、ユーザにより設定された録画予約の内容を表す１つのファイルが５kbyte程度のサイズのデータであるとすると、それをNAND型のフラッシュメモリに記憶させた場合には、複数のセクタに跨った形で１つのファイルのデータが書き込まれるのに対し、NOR型のフラッシュメモリであるフラッシュメモリ１３に記憶させた場合には、１つのファイルのデータが１つのセクタに収まるから、１つのセクタに複数のファイルのデータが書き込まれるようにすることも可能である。記録再生装置１においては、この、１つのセクタに複数のファイルのデータが書き込まれることが抑制される。
【００３７】
また、図２の例においては、FATファイルシステムにおけるクラスタのサイズよりもセクタのサイズの方が大きいことから、複数のクラスタを含む形でそれぞれのセクタが形成されている。セクタ１はクラスタ１−１乃至１−ｎを含み、セクタ２はクラスタ２−１乃至２−ｎを含む。また、セクタ３はクラスタ３−１乃至３−ｎを含み、セクタ４はクラスタ４−１乃至４−ｎを含む。
【００３８】
斜線が付されているクラスタは、そのクラスタにファイルを構成するデータ（ファイルデータ）が書き込まれていることを表し、斜線が付されていないクラスタは、そのクラスタにファイルデータが書き込まれていないことを表す。図２の例においては、クラスタ１−ｎを除く、セクタ１のクラスタ１−１，１−２，・・・にはファイルＡのファイルデータが書き込まれており、セクタ３のクラスタ３−１乃至３−ｎには、ファイルＢのファイルデータが書き込まれている。セクタ２とセクタ４は、いずれのファイルデータも書き込まれていない、空いているセクタである。
【００３９】
このような状態で例えばファイルＣをフラッシュメモリ１３に記憶させる場合、ファイルＣを構成するクラスタ単位のファイルデータが生成される。生成されたファイルデータのうち、書き込みの対象として最初に選択された先頭のファイルデータの書き込み先のクラスタとしては、図２に示されるように、セクタ１のクラスタ１−ｎが空いている場合であっても、空いているセクタであるセクタ２の先頭にあるクラスタ２−１が確保される。
【００４０】
また、先頭のファイルデータに続く、２番目のファイルデータの書き込み先のクラスタとして、先頭のファイルデータの書き込み先として確保されたクラスタ２−１と連続した位置にあるクラスタ２−２が確保される。
【００４１】
同様に、３番目のファイルデータの書き込み先のクラスタとして、ファイルデータの書き込み先として確保されたクラスタ２−１，２−２と連続した位置にあるクラスタ２−３が確保される。ｎ番目のファイルデータの書き込み先まで、同様にしてセクタ２内のクラスタが確保される。ｎ番目のファイルデータの書き込み先とするクラスタとしては、セクタ２の最後にあるクラスタ２−ｎが確保される。
【００４２】
ファイルＣのｎ＋１番目のファイルデータの書き込み先のクラスタとしては、セクタ２には空き領域になっているクラスタが他にないことから、空いている他のセクタであるセクタ４の先頭にあるるクラスタ４−１が確保される。
【００４３】
それぞれのファイルデータは、書き込み先として確保されたクラスタに所定のタイミングで書き込まれる。
【００４４】
図３は、ファイルＣのファイルデータが書き込まれたフラッシュメモリ１３の記録領域の例を示す図である。
【００４５】
書き込み先が上述したようにして確保されることによって、ファイルＣのそれぞれのファイルデータは図３に示されるようにしてフラッシュメモリ１３に書き込まれる。
【００４６】
図３の例においては、ファイルＣのファイルデータは、それまで全てのクラスタが空き領域となっていたセクタ２とセクタ４のクラスタに書き込まれている。セクタ１にはファイルＡのファイルデータだけが、セクタ２にはファイルＣのファイルデータだけが、セクタ３にはファイルＢのファイルデータだけが、セクタ４にはファイルＣのファイルデータだけが書き込まれるといったように、それぞれのセクタには１つのファイルのファイルデータだけが書き込まれる。
【００４７】
このように、新たなファイルを記憶させるとき、そのファイルデータの書き込み先として、他のファイルのファイルデータが既に書き込まれているセクタのクラスタは選択されずに、空いているセクタのクラスタが選択される。
【００４８】
これにより、１つのセクタに複数のファイルのファイルデータが書き込まれるといったことが抑制されることになり、ファイルの更新時に、その影響が、更新の対象になっているファイルのファイルデータだけでなく、更新の対象になっているファイルのファイルデータが書き込まれているセクタと同じセクタにファイルデータが書き込まれている他のファイルにまで及ぶのを防ぐことができる。
【００４９】
ファイルの更新は、１度、更新前のファイルのファイルデータを消去してから、更新後のファイルのファイルデータを書き込むことによって行われるが、ファイルデータの消去はセクタ単位とされているため、１つのセクタに複数のファイルのファイルデータが書き込まれていると、ファイルの更新時には、更新の対象になっているファイルのファイルデータだけでなく、他のファイルのファイルデータをも消去する必要がある。
【００５０】
従って、仮に、１つのセクタに書き込まれている全てのデータを消去した段階で電源の遮断が発生した場合、そのセクタに複数のファイルのファイルデータが書き込まれているときには、電源の遮断の影響が、更新の対象になっているファイルだけでなく、他のファイルにも及び、他のファイルまで破損してしまうことになるが、１つのセクタに１つのファイルのファイルデータだけが書き込まれるようにすることによって、そのような電源の遮断の影響が、更新の対象になっているファイル以外のファイルにまで及ぶのを防ぐことができる。
【００５１】
NOR型のフラッシュメモリであるフラッシュメモリ１３の１つのセクタのサイズは上述したように比較的大きいことから、１つのセクタを消去するのにも時間がかかり、ファイルの更新時に電源が遮断されるといったことが生じやすいことから、このように、電源の遮断の影響が更新の対象になっているファイル以外のファイルにまで及ぶのを防ぐことは特に重要になる。
【００５２】
以上のようにしてフラッシュメモリ１３にファイルを記憶させる記録再生装置１の処理についてはフローチャートを参照して後述する。
【００５３】
図４は、記録再生装置１の機能構成例を示すブロック図である。図４に示す機能部のうちの少なくとも一部は、図１のCPU１１により所定のプログラムが実行されることによって実現される。
【００５４】
図４に示されるように、記録再生装置１においては、書き込みデータ生成部３１と書き込み制御部３２が実現される。
【００５５】
書き込みデータ生成部３１は、フラッシュメモリ１３に記憶させるファイルを構成するクラスタ単位のファイルデータを生成し、生成したファイルデータを書き込み制御部３２に出力する。
【００５６】
書き込みデータ生成部３１は、例えば、録画の予約が設定されたとき、その録画予約の内容を表すファイルをRAM１２を用いて生成し、その生成する過程でクラスタ単位のファイルデータが貯まる毎に、ファイルデータを書き込み制御部３２に出力する。また、書き込みデータ生成部３１は、例えば、あらかじめ設定されていた録画予約の内容が変更されたとき、フラッシュメモリ１３に記憶されていたファイルを更新することによって、変更後の録画予約の内容を表すファイルをRAM１２を用いて生成し、その生成する過程でクラスタ単位のファイルデータが貯まる毎に、ファイルデータを書き込み制御部３２に出力する。
【００５７】
書き込み制御部３２は、書き込みデータ生成部３１から供給されたそれぞれのファイルデータの書き込み先となるクラスタを上述したようにして確保し、確保したクラスタにファイルデータを書き込む。
【００５８】
すなわち、書き込み制御部３２は、先頭のファイルデータの書き込み先のクラスタとして、空いているセクタの先頭にあるクラスタを確保し、２番目以降のファイルデータの書き込み先のクラスタとして、先頭にあるクラスタと連続する位置にあるクラスタを確保する。また、書き込み制御部３２は、書き込み先として確保したクラスタに、それぞれのファイルデータを所定のタイミングで書き込む。
【００５９】
ここで、記録再生装置１の動作についてフローチャートを参照して説明する。
【００６０】
はじめに、図５のフローチャートを参照して、ファイルデータをフラッシュメモリ１３に書き込む記録再生装置１の処理について説明する。
【００６１】
ステップＳ１において、書き込みデータ生成部３１は、フラッシュメモリ１３に記憶させる１つのファイルを構成するクラスタ単位のファイルデータを生成し、生成したファイルデータを書き込み制御部３２に出力する。
【００６２】
ステップＳ２において、書き込み制御部３２は、書き込みデータ生成部３１から供給された先頭のファイルデータの書き込み先のクラスタとして、空いているセクタの先頭にあるクラスタを確保する。
【００６３】
ステップＳ３において、書き込み制御部３２は、クラスタを他に確保する必要があるか否かを判定し、書き込みデータ生成部３１により生成されたファイルデータのうち、書き込み先のクラスタを確保していないファイルデータがまだあることから、クラスタを他に確保する必要があると判定した場合、ステップＳ４に進む。
【００６４】
ステップＳ４において、書き込み制御部３２は、直前に処理の対象になっていたファイルデータの書き込み先として確保したクラスタと連続するクラスタを、いま処理の対象になっているファイルデータの書き込み先のクラスタとして確保することができるか否かを判定する。
【００６５】
書き込み制御部３２は、ステップＳ４において、直前に処理の対象になっていたファイルデータの書き込み先として確保したクラスタと連続するクラスタを、いま処理の対象になっているファイルデータの書き込み先のクラスタとして確保することができると判定した場合、ステップＳ５に進む。
【００６６】
ステップＳ５において、書き込み制御部３２は、直前に処理の対象になっていたファイルデータの書き込み先として確保したクラスタと連続するクラスタを、いま処理の対象になっているファイルデータの書き込み先のクラスタとして確保する。
【００６７】
例えば、いま処理の対象になっているファイルデータが２番目のファイルデータであり、直前に処理の対象になっていた先頭のファイルデータの書き込み先として確保された先頭にあるクラスタに続く、２番目の位置にあるクラスタが、いま処理の対象になっている２番目のファイルデータの書き込み先のクラスタとして確保される。
【００６８】
一方、ステップＳ４において、書き込み制御部３２は、直前に処理の対象になっていたファイルデータの書き込み先として確保したクラスタと連続するクラスタを、いま処理の対象になっているファイルデータの書き込み先のクラスタとして確保することができないと判定した場合、ステップＳ６に進む。
【００６９】
ステップＳ６において、書き込み制御部３２は、いま処理の対象になっているファイルデータの書き込み先のクラスタとして、空いている他のセクタの先頭にあるクラスタを確保する。
【００７０】
例えば、図２に示されるように、セクタ２とセクタ４が空いており、セクタ２のクラスタ２−ｎまでファイルデータの書き込み先として既に確保されている場合、いま処理の対象になっているファイルデータの書き込み先のクラスタとして、セクタ４の先頭にあるクラスタ４−１が確保される。
【００７１】
ステップＳ５、またはステップＳ６の処理が行われた後、処理はステップＳ３に戻り、それ以降の処理が繰り返される。
【００７２】
一方、ステップＳ３において、書き込み制御部３２は、全てのファイルデータの書き込み先を確保したことから、クラスタを他に確保する必要がないと判定した場合、ステップＳ７に進む。
【００７３】
ステップＳ７において、書き込み制御部３２は、書き込み先として確保したクラスタに、それぞれのファイルデータを書き込み、処理を終了させる。なお、書き込み先とするクラスタが確保された直後にそれぞれのファイルデータが書き込まれるようにしてもよい。
【００７４】
以上の処理により、それぞれのセクタには、１つのファイルのファイルデータだけが書き込まれることになる。
【００７５】
次に、図６のフローチャートを参照して、フラッシュメモリ１３に記憶されているファイルを更新する記録再生装置１の処理について説明する。
【００７６】
この処理は、例えば、フラッシュメモリ１３に記憶されているファイルを更新した更新後のファイルを構成するデータが書き込みデータ生成部３１により取得されたときに開始される。
【００７７】
ステップＳ１１において、書き込み制御部３２は、更新前のファイルのファイルデータが書き込まれているセクタを消去する。例えば、図３のファイルＡを更新する場合、ファイルＡのファイルデータが書き込まれているセクタ１が全て消去される。
【００７８】
ステップＳ１２において、書き込み制御部３２は、図４を参照して説明したファイルデータの書き込み処理を行い、処理を終了させる。ステップＳ１２において行われるファイルデータの書き込み処理においては、更新後のファイルを構成するクラスタ単位のファイルデータが生成され、生成されたファイルデータの書き込み先として、ステップＳ１１で消去されたセクタに含まれるクラスタが確保される。書き込み先が確保されたとき、それぞれのファイルデータがクラスタに書き込まれる。
【００７９】
それぞれのセクタには、１つのファイルのファイルデータだけが書き込まれていることから、以上の処理により、１つのファイルの更新時に電源の遮断などが発生した場合であっても、その影響が及ぶ範囲を、更新の対象になっているファイルだけに限定することができる。
【００８０】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【００８１】
図７は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータの構成の例を示すブロック図である。
【００８２】
CPU５１は、ROM５２、または記憶部５８に記憶されているプログラムに従って各種の処理を実行する。RAM５３には、CPU５１が実行するプログラムやデータなどが適宜記憶される。これらのCPU５１、ROM５２、およびRAM５３は、バス５４により相互に接続されている。
【００８３】
CPU５１にはまた、バス５４を介して入出力インタフェース５５が接続されている。入出力インタフェース５５には、キーボード、マウス、マイクロホンなどよりなる入力部５６、ディスプレイ、スピーカなどよりなる出力部５７が接続されている。CPU５１は、入力部５６から入力される指令に対応して各種の処理を実行する。そして、CPU５１は、処理の結果を出力部５７に出力する。
【００８４】
入出力インタフェース５５に接続されている記憶部５８は、例えばハードディスクからなり、CPU５１が実行するプログラムや各種のデータを記憶する。通信部５９は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
【００８５】
入出力インタフェース５５に接続されているドライブ６０は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア６１が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部５８に転送され、記憶される。
【００８６】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図７に示すように、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory)，DVD(Digital Versatile Disc)を含む）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア６１、または、プログラムが一時的もしくは永続的に格納されるROM５２や、記憶部５８を構成するハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースである通信部５９を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【００８７】
なお、本明細書において、プログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【００８８】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【００８９】
【図１】本発明の一実施形態に係る記録再生装置のハードウェア構成例を示すブロック図である。
【図２】フラッシュメモリの記録領域の例を示す図である。
【図３】フラッシュメモリの記録領域の他の例を示す図である。
【図４】記録再生装置の機能構成例を示すブロック図である。
【図５】記録再生装置のファイルデータ書き込み処理について説明するフローチャートである。
【図６】記録再生装置のファイル更新処理について説明するフローチャートである。
【図７】パーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
【００９０】
１  記録再生装置，  １１  CPU，  １２  RAM，  １３  フラッシュメモリ，  １４  ハードディスク，  １５  バス，  １６  チューナ，  １７  復調器，  １８  TSデコーダ，  １９  AVデコーダ，  ２０，２１  MUX，  ２２  表示コントローラ，  ３１  書き込みデータ生成部，  ３２  書き込み制御部
【図１】
2008071059.tif 000003
【図２】
2008071059.tif 000004
【図３】
2008071059.tif 000005
【図４】
2008071059.tif 000006
【図５】
2008071059.tif 000007
【図６】
2008071059.tif 000008
【図７】
2008071059.tif 000009