(57)【要約】【課題】１つのファイルを構成するファイルデータの書き込みに多少の時間が空いても、ファイルデータの連続性を損なわずに書き込める可能性を向上させることができる電子機器、ファイルシステムの記憶領域割当方法、および記憶領域割当プログラムを提供する。【解決手段】データ記憶領域を複数の管理領域に分割し、書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータが書き込まれた管理領域においてファイルデータが既に書き込まれた領域に続く領域を、書き込み要求が有ったファイルデータの書込み領域に割り当てることにより、異なるファイルを構成するファイルデータ同士がなるべく同じ管理領域に書き込まれないようにすることができるので、１つのファイルを構成するファイルデータの書き込みに多少の時間が空いても、個々のファイルを構成するファイルデータが連続的に書き込まれる可能性を向上させることができる。【選択図】図７
2010257250.tif 000002
【特許請求の範囲】
【請求項１】
記憶媒体の記憶領域のうち、ファイルを構成するファイルデータを書き込むためのデータ記憶領域を複数の管理領域に分割する分割手段と、
前記ファイルデータの書き込み要求が有った場合、書き込み要求が有った前記ファイルデータと同一の前記ファイルを構成する前記ファイルデータが書き込まれた前記管理領域において既に前記ファイルデータが書き込まれた領域に続く領域を、書き込み要求が有った前記ファイルデータの書込み領域として割り当てる割当手段と、
を備えたことを特徴とする電子機器。
【請求項２】
前記割当手段は、書き込み要求が有った前記ファイルデータと同一の前記ファイルを構成する前記ファイルデータが書き込まれていない場合、前記ファイルデータが未だ書き込まれていない前記管理領域内の領域を、前記書込み領域を割り当てることを特徴とする請求項１に記載の電子機器。
【請求項３】
前記割当手段は、書き込み要求が有った前記ファイルデータと同一の前記ファイルを構成する前記ファイルデータが書き込まれておらず、かつ前記ファイルデータが未だ書き込まれていない前記管理領域が存在しない場合、複数の前記管理領域のうちいずれか１つの前記管理領域において前記ファイルデータが書き込まれた領域に続く領域を、前記書込み領域を割り当てることを特徴とする請求項２に記載の電子機器。
【請求項４】
前記分割手段は、前記ファイルデータの書き込みを要求するアプリケーションの数に従って、前記データ記憶領域を複数の前記管理領域に分割することを特徴とする請求項１から３のいずれか一に記載の電子機器。
【請求項５】
分割手段が、記憶媒体の記憶領域のうち、ファイルを構成するファイルデータを書き込むためのデータ記憶領域を複数の管理領域に分割する分割工程と、
割当手段が、前記ファイルデータの書き込み要求が有った場合、書き込み要求が有った前記ファイルデータと同一の前記ファイルを構成する前記ファイルデータが書き込まれた前記管理領域において既に前記ファイルデータが書き込まれた領域に続く領域を、書き込み要求が有った前記ファイルデータの書込み領域として割り当てる割当工程と、
を有することを特徴とするファイルシステムの記憶領域割当方法。
【請求項６】
コンピュータを、
記憶媒体の記憶領域のうち、ファイルを構成するファイルデータを書き込むためのデータ記憶領域を複数の管理領域に分割する分割手段と、
前記ファイルデータの書き込み要求が有った場合、書き込み要求が有った前記ファイルデータと同一の前記ファイルを構成する前記ファイルデータが書き込まれた前記管理領域において既に前記ファイルデータが書き込まれた領域に続く領域を、書き込み要求が有った前記ファイルデータの書込み領域として割り当てる割当手段と、
として機能させるための記憶領域割当プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器、ファイルシステムの記憶領域割当方法、および記憶領域割当プログラムに関する。
【背景技術】
【０００２】
現在、メモリカードやＨＤＤ（Hard  Disk  Drive）などの記憶装置へのデータの書き込みを制御するファイルシステムは、アプリケーションなどからのデータの書き込み要求に応じて、ファイルを構成するファイルデータを記憶装置に書き込む場合、記憶装置内の先頭の領域から順にファイルデータを書き込んでいる（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２８５６６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般に、ファイルを構成するファイルデータを記憶装置に書き込む際、ファイルを構成する個々のファイルデータは、記憶装置に連続して書き込まれることが望ましい。特に、メモリカードなどの半導体メモリにおいては、ある程度大きい単位でデータの書き込みを行った方が、記憶装置へのデータの書き込みや読み出しの際の処理速度が速くなるという特徴があるからである。例えば、メモリカードは、１２８ＫＢのデータ単位で記憶装置への書き込みが行われると、記憶装置へのデータの書き込みや読み出しの際の処理速度が速くなる。
【０００５】
しかし、アプリケーションなどからのデータの書き込み要求に応じて、複数のファイルを構成するファイルデータを記憶装置に同時に書き込む場合には、各ファイルを構成するファイルデータがランダムに記憶装置に書き込まれるため、同じファイルを構成するファイルデータの連続性が記憶装置上で失われてしまう、という課題がある。
【０００６】
本発明は、上記に鑑みてなされたものであって、１つのファイルを構成するファイルデータの書き込みに多少の時間が空いても、ファイルデータの連続性を損なわずに書き込める可能性を向上させることができる電子機器、ファイルシステムの記憶領域割当方法、および記憶領域割当プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、記憶媒体の記憶領域のうち、ファイルを構成するファイルデータを書き込むためのデータ記憶領域を複数の管理領域に分割する分割手段と、前記ファイルデータの書き込み要求が有った場合、書き込み要求が有った前記ファイルデータと同一の前記ファイルを構成する前記ファイルデータが書き込まれた前記管理領域において既に前記ファイルデータが書き込まれた領域に続く領域を、書き込み要求が有った前記ファイルデータの書込み領域として割り当てる割当手段と、を備えたことを特徴とする。
【０００８】
また、本発明は、分割手段が、記憶媒体の記憶領域のうち、ファイルを構成するファイルデータを書き込むためのデータ記憶領域を複数の管理領域に分割する分割工程と、割当手段が、前記ファイルデータの書き込み要求が有った場合、書き込み要求が有った前記ファイルデータと同一の前記ファイルを構成する前記ファイルデータが書き込まれた前記管理領域において既に前記ファイルデータが書き込まれた領域に続く領域を、書き込み要求が有った前記ファイルデータの書込み領域として割り当てる割当工程と、を有することを特徴とする。
【０００９】
また、本発明は、コンピュータを、記憶媒体の記憶領域のうち、ファイルを構成するファイルデータを書き込むためのデータ記憶領域を複数の管理領域に分割する分割手段と、前記ファイルデータの書き込み要求が有った場合、書き込み要求が有った前記ファイルデータと同一の前記ファイルを構成する前記ファイルデータが書き込まれた前記管理領域において既に前記ファイルデータが書き込まれた領域に続く領域を、書き込み要求が有った前記ファイルデータの書込み領域として割り当てる割当手段と、として機能させる。
【発明の効果】
【００１０】
本発明によれば、１つのファイルを構成するファイルデータの書き込みに多少の時間が空いても、ファイルデータの連続性を損なわずに書き込める可能性を向上させることができる、という効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、本発明の一実施の形態にかかるＰＣおよびＰＣの管理対象のメモリカードの主要部を概略的に示す機能ブロック図である。
【図２】図２は、ＦＡＴファイルシステムにより論理フォーマットされたメモリ空間の状態を示している図である。
【図３】図３は、ＦＡＴおよびファイルエントリの一例を示す図である。
【図４】図４は、本実施の形態にかかるファイルシステムによって論理フォーマットされたメモリのメモリ空間を示している図である。
【図５】図５は、本実施の形態にかかるファイルシステムによる記憶領域割当処理の流れを示すフローチャートである。
【図６】図６は、ファイルデータブロックを複数の管理領域に分割した例を示す図である。
【図７】図７は、書込み領域の割り当てを説明するための図である。
【図８】図８は、従来の書込み領域の割り当てを説明するための図である。
【図９】図９は、本実施の形態にかかるＰＣの基本構成を示すブロック図である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照して、この発明にかかる電子機器、ファイルシステムの記憶領域割当方法、および記憶領域割当プログラムの最良な実施の形態を詳細に説明する。本実施の形態では、電子機器としてパーソナルコンピュータ（ＰＣ）に本発明を適用した例について説明するが、デジタルテレビ、レコーダなど、管理対象の記憶媒体に記憶されるデータを管理するためのファイルシステムを備えるファイルシステム搭載機器であれば、同様に本発明を適用することができる。
【００１３】
図１は、本発明の一実施の形態にかかるＰＣおよびＰＣの管理対象のメモリカードの主要部を概略的に示す機能ブロック図である。各機能ブロックは、ハードウェア、コンピュータソフトウェア、のいずれかまたは両者の組み合わせとして実現することができる。このため、各ブロックは、これらのいずれでもあることが明確となるように、概してそれらの機能の観点から以下に説明される。このような機能が、ハードウェアとして実行されるか、またはソフトウェアとして実行されるかは、具体的な実施態様またはシステム全体に課される設計制約に依存する。当業者は、具体的な実施態様ごとに、種々の方法でこれらの機能を実現し得るが、そのような実現を決定することは本発明の範疇に含まれるものである。
【００１４】
図１に示すように、ＰＣ１００は、挿入されるメモリカード２００に対してアクセスを行うためのハードウェアおよびソフトウェア（システム）を備えている。ＰＣ１００は、アプリケーション、オペレーティングシステム等のソフトウェア１０１を備えている。ソフトウェア１０１は、メモリカード２００へのデータの書き込みやメモリカード２００からのデータの読み出しが、図示しない操作部を介してユーザから指示されると、ＣＰＵ（Central  Processing  Unit）により実行されるものである。ソフトウェア１０１を実行したＣＰＵは、ファイルシステム１０２を介して、メモリカード２００に対してデータの書き込みおよびデータの読み出しを指示する。
【００１５】
ファイルシステム１０２は、管理対象の記憶媒体（メモリカード２００）に記録されているファイルを管理するための仕組みであり、記憶媒体の記憶領域内に管理情報を記録し、この管理情報を用いてファイルを管理する。ファイルシステム１０２では、記憶媒体におけるファイルやフォルダなどのディレクトリ情報の作成方法、ファイルやフォルダなどの移動方法や削除方法、データの記録方式、管理情報が記録されている領域の場所や利用方法などが定められている。ファイルシステム１０２は、ＦＡＴファイルシステムを基礎としており、本明細書を通じた動作を実行可能に構成されており、具体的な動作に関しては適宜説明する。
【００１６】
ＰＣ１００は、メモリカードインタフェース１０３を有する。メモリカードインタフェース１０３は、ＰＣ１００とメモリカード２００（コントローラ２０１）との間のインタフェース処理を行うのに必要なハードウェア、ソフトウェアからなる。ＰＣ１００は、メモリカードインタフェース１０３を介してメモリカード２００と通信を行う。メモリカードインタフェース１０３は、ＰＣ１００とメモリカード２００とが通信するのに必要な様々な取り決めを規定し、後述のメモリカード２００のメモリカードインタフェース２０１ａと相互に認識可能な各種のコマンドの組を備えている。また、メモリカードインタフェース１０３は、メモリカード２００のメモリカードインタフェース２０１ａと接続可能なハードウェア上の構成（ピンの配置、数等）も含む。
【００１７】
メモリカード２００は、ＰＣ１００に接続されたとき、およびオフ状態のＰＣ１００に挿入された状態でＰＣ１００がオンされたときに電源供給を受けて初期化動作を行った後、ＰＣ１００からのアクセスに応じた処理を行う。メモリカード２００は、ＮＡＮＤ型フラッシュメモリなどのメモリ２０２、メモリ２０２を制御するためのコントローラ２０１を有する。
【００１８】
メモリ２０２は、データを不揮発に記憶し、複数のメモリセルからなるページと呼ばれる単位でデータの書き込みおよび読み出しを行う。ページには、各ページに固有の物理アドレスが割り当てられている。また、メモリ２０２は、複数のページからなる物理ブロックと呼ばれる単位でデータの消去を行う。なお、物理ブロック単位で物理アドレスが割り当てられていることもある。
【００１９】
コントローラ２０１は、メモリ２０２によるデータの記憶状態を管理する。記憶状態の管理とは、どの物理アドレスのページ（または物理ブロック）が、ＰＣ１００により割り当てられたどの論理アドレスのデータを保持しているかの関係、およびどの物理アドレスのページ（または物理ブロック）が消去状態（何も書き込まれていない、または無効なデータを保持している状態）であるかを管理することをいう。
【００２０】
コントローラ２０１は、メモリカードインタフェース２０１ａ、ＭＰＵ（Micro  Processing  Unit）２０１ｂ、ＲＯＭ（Read  Only  Memory）２０１ｃ、ＲＡＭ（Random  Access  Memory）２０１ｄ、ＮＡＮＤインタフェース２０１ｅを含んでいる。
【００２１】
メモリカードインタフェース２０１ａは、ＰＣ１００とコントローラ２０１との間のインタフェース処理を行うのに必要なハードウェア、ソフトウェアからなる。メモリカード２００（コントローラ２０１）は、メモリカードインタフェース２０１ａを介してＰＣ１００と通信を行う。メモリカードインタフェース２０１ａは、メモリカードインタフェース１０３と同様に、両者の通信を可能とする取り決めを規定し、各種のコマンドの組を備え、ハードウェア上の構成（ピンの配置、数等）も含む。
【００２２】
メモリカードインタフェース２０１ａは、レジスタ２０１ｆを含んでいる。
【００２３】
ＭＰＵ２０１ｂは、メモリカード２００全体の動作を司る。ＭＰＵ２０１ｂは、例えば、メモリカード２００が電源供給を受けた際に、ＲＯＭ２０１ｃ内に格納されているファームウェア（制御プログラム）をＲＡＭ２０１ｄ上に読み出して所定の処理を実行する。ＭＰＵ２０１ｂは、制御プログラムに従って、各種のテーブル（後述する）をＲＡＭ２０１ｄ上で作成したり、ＰＣ１００から書き込みコマンド、読み出しコマンド、消去コマンドを受けてメモリ２０２に対する所定の処理を実行したりする。
【００２４】
ＲＯＭ２０１ｃは、ＭＰＵ２０１ｂにより制御される制御プログラムなどを格納する。ＲＡＭ２０１ｄは、ＭＰＵ２０１ｂの作業エリアとして使用され、制御プログラムや各種のテーブルを記憶する。このようなテーブルとして、ファイルシステム１０２によってデータに割り当てられた論理アドレスを有するデータを実際に記憶しているページの物理アドレスの変換テーブル（論物テーブル）が含まれる。ＮＡＮＤインタフェース２０１ｅは、コントローラ２０１とメモリ２０２とのインタフェース処理を行う。
【００２５】
メモリ２０２内の記憶領域は、保存されるデータの種類に応じて複数の領域に区分けされている。この複数の領域は、システムデータ領域２０２ａ、機密データ領域２０２ｂ、ユーザデータ領域２０２ｃ、を含む。
【００２６】
システムデータ領域２０２ａは、コントローラ２０１が、その動作に必要なデータを保存するためにメモリ２０２内で確保しておく領域であり、主にメモリカード２００に関する管理情報を格納し、メモリカード２００のセキュリティ情報やメディアＩＤなどのカード情報を格納する。機密データ領域２０２ｂは、暗号化に用いる鍵情報や認証時に使用する機密データを保存しており、ＰＣ１００はアクセスできない。
【００２７】
ユーザデータ領域２０２ｃは、ＰＣ１００が自由にアクセスおよび使用することが可能で、例えばＡＶコンテンツファイルや画像データ等のユーザデータを格納する。以下の説明で、メモリ２０２は、このユーザデータ領域２０２ｃを指すものとする。なお、コントローラ２０１は、ユーザデータ領域２０２ｃの一部を確保し、自身の動作に必要な制御データ（論物テーブル）を保存する。ユーザデータ領域２０２ｃはＰＣ１００から別のボリュームとして論理フォーマットされてファイル管理される。
【００２８】
次に、メモリ２０２の論理フォーマットについて説明する。メモリ２０２は、以下の形式で論理フォーマットされる。この論理フォーマットは、本実施の形態にかかるファイルシステム（例えばＰＣ１００内のファイルシステム１０２）によって行われる。
【００２９】
本実施の形態にかかるファイルシステム１０２によるメモリ２０２の論理フォーマットの説明に先立って、このファイルシステム１０２が基礎としているＦＡＴファイルシステムの概要について、図２および図３を用いて説明する。図２は、ＦＡＴファイルシステムにより論理フォーマットされたメモリ空間の状態を示している。そして、以下に示す管理データの幾つかが書き込まれる。ここでいうメモリ空間は、ＦＡＴファイルシステムが自由にアクセスできるメモリ領域であり、図１のメモリ２０２においては、ユーザデータ領域２０２ｃに一致する。
【００３０】
図２に示すように、ＦＡＴファイルシステムは、管理対象のメモリのメモリ空間を所定の大きさ（例えば１６ｋバイト）のクラスタに分割して管理する。メモリ空間３０の最低位から所定の範囲のクラスタ番号の領域には管理データが割り当てられる。以下、管理データを記憶する領域を、管理データブロック３１と称する。管理データブロック３１より高位のクラスタ番号の領域は、メモリ２０２（メモリカード２００）の記憶領域のうち、ファイルを構成するファイルデータを書き込むためのデータ記憶領域（以下、ファイルデータブロック３２とする）である。
【００３１】
管理データブロック３１は、さらに、パーティションテーブルに割り当てられるパーティションテーブル領域３３、ブートセクタに割り当てられるブートセクタ領域３４、ＦＡＴ１、ＦＡＴ２に割り当てられるＦＡＴ１領域３５およびＦＡＴ２領域３６、ルートディレクトリエントリに割り当てられるルートディレクトリエントリ領域３７に分けられる。パーティションテーブル領域３３は、各パーティションのファイルシステムタイプとその先頭セクタ等の情報を格納している。ブートセクタ領域３４は、パーティションテーブルが示す先頭セクタに位置し、ＢＰＢ（BIOS  Parameter  Block）を格納している。ＢＰＢは、ファイルシステムが使用する、メモリ２０２の様々なパラメータを示している。ＦＡＴファイルシステムは、メモリ２０２を論理フォーマットする時、このパラメータを書き込む。ＦＡＴファイルシステムは、起動時にＢＰＢを読み込むことにより、ファイルフォーマットのパラメータを認識する。
【００３２】
ＦＡＴ１領域３５は、メモリに書き込まれ、クラスタの大きさに分割されたファイルデータの一部（以下、単にファイルデータと称する）がどのクラスタに記憶されているか、およびファイルデータを復元するためのクラスタのつながりを示す内容を格納している。ＦＡＴ２領域３６は、ＦＡＴ１のバックアップであり、ＦＡＴ１と同じ内容を格納している。
【００３３】
１つのファイルを構成する各ファイルデータが、連続するクラスタに割り当てられることが好ましいので、ＦＡＴファイルシステムは、空いているクラスタを、クラスタ番号の順に従ってファイルデータに割り当てる。そして、ＦＡＴ１、ＦＡＴ２は、ファイルデータを格納しているクラスタの接続関係を格納している。ＦＡＴ１、ＦＡＴ２（以下、単にＦＡＴと記載する）が格納している情報をトレースすることにより、元のファイルが復元される。
【００３４】
ルートディレクトリエントリ領域３７は、ルートディレクトリに属する各ファイルのファイルエントリを記憶する。ファイルエントリには、ファイル名またはフォルダ名、ファイルサイズ、属性およびファイルの更新日時情報、どのクラスタがファイルの先頭クラスタであるかを示すフラグ等が含まれる。なお、ＦＡＴフォーマット形式のバージョン（例えば、ＦＡＴ１６、ＦＡＴ３２、ｅｘ（extended）ＦＡＴなど）によっては、ルートディレクトリエントリをＦＡＴの後の任意のアドレスに置くことができる。
【００３５】
あるファイルが、ルートディレクトリに属するサブディレクトリに属する場合、ルートディレクトリエントリ領域３７には、ルートディレクトリに属するサブディレクトリのエントリ（サブディレクトリエントリ）に割り当てられるクラスタの番号が記載されている。そして、サブディレクトリエントリ領域３８は、自身に属する各ファイルのファイルエントリを保持している。図２に示すように、サブディレクトリエントリは、ＦＡＴファイルシステムによって、ファイルデータブロック３２内の任意のクラスタ３８に書き込まれる。サブディレクトリエントリも管理データに属し、頻繁に書き換えられることが多い。
【００３６】
図３は、ＦＡＴおよびファイルエントリの一例を示す図である。図３に示すように、ルートディレクトリエントリは、ファイルエントリとして各ファイル「ＦＩＬＥ１．ｔｘｔ」、「ＦＩＬＥ２．ｔｘｔ」、「ＦＩＬＥ３．ｔｘｔ」の先頭のクラスタの位置情報を格納している。「ＦＩＬＥ１．ｔｘｔ」、「ＦＩＬＥ２．ｔｘｔ」、「ＦＩＬＥ３．ｔｘｔ」、の先頭クラスタは、それぞれクラスタ０００２、０００５、０００７である。
【００３７】
ＦＡＴには、各クラスタの次に接続されるべきクラスタの番号が記載されている。例えば、「ＦＩＬＥ１．ｔｘｔ」の場合、先頭のクラスタ０００２のデータに続くデータを格納するクラスタはクラスタ０００３で、クラスタ０００３のデータに続くデータを格納するクラスタはクラスタ０００４であることが分かる。そしてクラスタ０００２、０００３、０００４のデータを接続することにより、「ＦＩＬＥ１．ｔｘｔ」のファイルが復元される。ファイルデータの最後の部分を格納するクラスタには、「ＦＦＦＦ」が書き込まれている。
【００３８】
次に、図４を用いて、ＦＡＴファイルシステムを基礎とする、本実施の形態にかかるファイルシステム１０２について説明する。本実施の形態にかかるファイルシステム１０２は、以下に示す形にメモリ２０２を論理フォーマットする。そして、ファイルシステム１０２によって、メモリ２０２は論理フォーマットされている。
【００３９】
図４は、本実施の形態にかかるファイルシステムによって論理フォーマットされたメモリのメモリ空間を示している。図４のメモリ空間５０は、フォーマット対象のメモリ２０２の記憶領域のうち、ファイルシステム１０２が使用可能なユーザデータ領域２０２ｃに一致する。
【００４０】
図４に示すように、ファイルシステム１０２は、ファイルシステム１０２がファイルデータを管理するために用いる管理データが割り当てられる領域を、最低位から所定の範囲のクラスタ番号（または論理アドレス）の領域に限定する。すなわち、管理データには、この所定の範囲内のクラスタ番号（または論理アドレス）の領域が割り当てられる。ここで、管理データとして、ＦＡＴファイルシステムで用いられるものと同じ、パーティションテーブル、ブートセクタ、ＦＡＴ１、ＦＡＴ２、ルートディレクトリエントリ、サブディレクトリエントリが含まれる。
【００４１】
管理データを格納するブロック（管理データブロック５１）には、パーティションテーブルに割り当てられるパーティションテーブル領域５３、ブートセクタに割り当てられるブートセクタ領域５４、ＦＡＴ１，ＦＡＴ２に割り当てられるＦＡＴ１領域５５，ＦＡＴ２領域５６、ルートディレクトリエントリに割り当てられるルートディレクトリエントリ領域５７、サブディレクトリエントリに割り当てられるサブディレクトリエントリ領域５８が含まれる。パーティションテーブル領域５３乃至サブディレクトリエントリ領域５８が格納するデータは、従来のＦＡＴファイルシステムにおいて定義されているものと同じである。
【００４２】
メモリ空間５０の、管理データブロック５１を除く部分は、ファイルデータの書き込み専用のファイルデータブロック５２である。管理データブロック５１の容量は、メモリ空間５０の大きさと、確保されることが求められるファイルデータブロック５２の大きさとを考慮して決定される。例えば、パーティションテーブル領域５３、ブートセクタ領域５４、ＦＡＴ１領域５５、ＦＡＴ２領域５６、ルートディレクトリエントリ領域５７、サブディレクトリエントリ領域５８の容量は、それぞれ１２１．５ｋＢ、０．５ｋＢ、１２３ｋＢ、１２３ｋＢ、１６ｋＢ、６４ｋＢである。ファイルデータブロック５２の容量は、１００５６３２ｋＢである。
【００４３】
なお、ファイルシステム１０２は、ＦＡＴファイルシステム（ＦＡＴ１６，３２、ｅｘＦＡＴ等の違いを問わない）を基礎としている。さらに、ＦＡＴファイルシステムに限らず、ＦＡＴの拡張を含む類似のファイルシステムを利用することもできる。例えば、管理データを用いてファイルデータを管理し、管理データが頻繁に書き換えられるようなファイルシステムが該当する。
【００４４】
本実施の形態にかかるメモリカード２００は、ファイルシステム１０２によって論理フォーマットされている。したがって、メモリ２０２は、図４のように論理フォーマットされている。
【００４５】
次に、図５を用いて、図４のように論理フォーマットされているメモリ２０２に書き込むファイルデータへの記憶領域割当処理について説明する。図５は、本実施の形態にかかるファイルシステムによる記憶領域割当処理の流れを示すフローチャートである。
【００４６】
まず、ＰＣ１００が起動されると（ステップＳ６０１）、ファイルシステム１０２は、メモリカードインタフェース１０３へのメモリカード２００の接続を待つ（ステップＳ６０２：Ｎｏ）。そして、メモリカードインタフェース１０３にメモリカード２００が接続されると（ステップＳ６０２：Ｙｅｓ）、ファイルシステム１０２は、メモリ２０２のユーザデータ領域２０２ｃにアクセスし、ユーザデータ領域２０２ｃ内のパーティションテーブル領域５３からパーティションテーブルを読み込む（ステップＳ６０３）。
【００４７】
次に、ファイルシステム１０２は、読み込んだパーティションテーブルから、ユーザデータ領域２０２ｃ内の領域のうちＦＡＴ１，ＦＡＴ２が書き込まれたＦＡＴ１領域５５，ＦＡＴ２領域５６のクラスタ番号（または論理アドレス）を特定するとともに（ステップＳ６０４）、当該読み込んだパーティションテーブルが示す先頭セクタに位置するブートセクタ領域５４の解析処理を実行する（ステップＳ６０５）。具体的には、ファイルシステム１０２は、ブートセクタ領域５４の解析処理を実行することにより、ユーザデータ領域２０２ｃ内の領域のうち、ファイルデータブロック５２のクラスタ番号やサイズ、ルートディレクトリやサブディレクトリが書き込まれたルートディレクトリエントリ領域５７，サブディレクトリエントリ領域５８のクラスタ番号やサイズなど、メモリ２０２の様々なパラメータを示すＢＰＢを読み込む。
【００４８】
さらに、ファイルシステム１０２（分割手段）は、ブートセクタ領域５４の解析処理により読み込んだクラスタ番号やサイズが示すファイルデータブロック５２を複数の管理領域に分割するとともに、各管理領域の最下位（または最上位）のクラスタのクラスタ番号を分割情報として記憶する（ステップＳ６０６）。図６は、ファイルデータブロックを複数の管理領域に分割した例を示す図である。本実施の形態では、ファイルシステム１０２は、ＰＣ１００で実行するソフトウェア（アプリケーション）１０１の数（例えば、４個）の管理領域に、ファイルデータブロック５２を分割するものとする。また、本実施の形態では、ファイルシステム１０２は、ファイルデータブロック５２を、ファイルデータの書き込みを高速化することができるサイズ（例えば、５１２ｋＢ）で割り切れるサイズの管理領域１〜４に分割し、残りの領域は雑多な領域として確保するものとする。
【００４９】
その後、ファイルシステム１０２は、メモリカードインタフェース１０３からメモリカード２００が取り外されたか否かを監視するとともに（ステップＳ６０７）、ソフトウェア（アプリケーション）１０１からのファイルデータの書き込み要求を待つ（ステップＳ６０８）。なお、メモリカードインタフェース１０３からメモリカード２００が取り外された場合（ステップＳ６０７：Ｙｅｓ）、ファイルシステム１０２は、記憶している分割情報をクリアし（ステップＳ６１１）、ステップＳ６０２に戻る。
【００５０】
一方、メモリカードインタフェース１０３からメモリカード２００が取り外されず（ステップＳ６０７：Ｎｏ）、ソフトウェア１０１からのファイルデータの書き込み要求が有った場合（ステップＳ６０８：Ｙｅｓ）、ファイルシステム１０２（割当手段）は、書き込み要求が有ったファイルデータを書き込むクラスタ（書込み領域）の割り当てを行い、割り当てたクラスタにまとめられた論理ブロックの論理アドレスおよび書き込み要求が有ったファイルデータをコントローラ２０１に出力する（ステップＳ６０９）。
【００５１】
具体的には、ファイルシステム１０２は、書き込み要求が有ったファイルデータをファイルデータブロック５２に書き込む場合、ステップＳ６０５で読み込んだＢＰＢが示すルートディレクトリエントリのクラスタ番号に従って、管理データブロック５１内のルートディレクトリエントリ領域５７にアクセスしてルートディレクトリエントリを読み込む。次に、ファイルシステム１０２は、読み込んだルートディレクトリエントリが含むファイル名を参照して、書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータが書き込まれているか否かを判断する。さらに、書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータが書き込まれていると判断した場合、ファイルシステム１０２は、読み込んだルートディレクトリエントリが含むどのクラスタがファイルの先頭クラスタであるかを示すフラグおよび分割情報が示す各管理領域の最下位（または最上位）のクラスタのクラスタ番号を参照して、当該書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータが書き込まれた管理領域を特定する。
【００５２】
次いで、ファイルシステム１０２は、ステップ６０４で特定したクラスタ番号に従ってＦＡＴ１領域５５およびＦＡＴ２領域５６にアクセスして、ＦＡＴ１およびＦＡＴ２を読み込む。次に、ファイルシステム１０２は、読み込んだＦＡＴ１およびＦＡＴ２を参照して、特定した管理領域においてファイルデータが既に書き込まれた領域に続く領域（つまり、ＦＡＴ１またはＦＡＴ２に「ＦＦＦＦ」が記載されたファイルデータが書き込まれたクラスタに続くクラスタ）を、書き込み要求が有ったファイルデータの書込み領域に割り当てる。
【００５３】
一方、書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータが書き込まれていなかった場合、ファイルシステム１０２は、ステップＳ６０４で特定したクラスタ番号に従ってＦＡＴ１領域５５およびＦＡＴ２領域５６にアクセスして、ＦＡＴ１およびＦＡＴ２を読み込む。次に、ファイルシステム１０２は、読み込んだＦＡＴ１およびＦＡＴ２および分割情報が示す各管理領域の最下位（または最高位）のクラスタ番号を参照して、ファイルデータが未だ書き込まれていない管理領域を特定する。そして、ファイルシステム１０２は、特定した管理領域内の領域（最下位のクラスタに続くクラスタ）を、書き込み要求が有ったファイルデータの書込み領域に割り当てる。なお、ファイルデータが未だ書き込まれていない管理領域が複数存在する場合、ファイルシステム１０２は、分割情報が示すクラスタ番号が高い管理領域内の領域から順次、書込み領域に割り当てるものとする。さらに、書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータが書き込まれておらず、かつファイルデータが未だ書き込まれていない管理領域が存在しない場合、ファイルシステム１０２は、複数の管理領域のうちいずれか１つの管理領域（例えば、分割情報が示すクラスタ番号が高い管理領域）において既にファイルデータが書き込まれた領域に続く領域（ＦＡＴ１またはＦＡＴ２に「ＦＦＦＦ」が記載されたファイルデータが書き込まれたクラスタに続くクラスタ）を、書込み領域に割り当てるものとする。
【００５４】
図７は、書込み領域の割り当てを説明するための図である。例えば、管理領域１〜４に未だファイルデータが書き込まれていない状態においてファイルＡを構成するファイルデータの書き込み要求が有った場合、ファイルシステム１０２は、分割情報が示すクラスタ番号が最下位の管理領域１内の先頭のクラスタに続くクラスタからなる領域Ａ１を、当該書き込み要求が有ったファイルデータの書込み領域に割り当てる（図７の（１）で示す）。また、管理領域１にのみファイルデータが書き込まれた状態においてファイルＢを構成するファイルデータの書き込み要求が有った場合、ファイルシステム１０２は、分割情報が示すクラスタ番号が管理領域１のクラスタ番号の次に低い管理領域２内の先頭のクラスタに続くクラスタからなる領域Ｂ１を、当該書き込み要求が有ったファイルデータの書込み領域に割り当てる（図７の（２）で示す）。さらに、管理領域１および管理領域２にファイルデータが書き込まれた状態においてファイルＣを構成するファイルデータの書き込み要求が有った場合、ファイルシステム１０２は、分割情報が示すクラスタ番号が管理領域２の次に低い管理領域３内の先頭のクラスタに続くクラスタからなる領域Ｃ１を、当該書き込み要求が有ったファイルデータの書込み領域に割り当てる（図７の（３）で示す）。さらに、管理領域１〜３にファイルデータが書き込まれた状態においてファイルＡを構成するファイルデータであって、領域Ａ１に書き込まれたファイルデータの続きのファイルデータの書き込み要求が有った場合、ファイルシステム１０２は、管理領域１内の領域１に続く領域Ａ２を、当該書き込み要求が有ったファイルデータの書込み領域に割り当てる（図７の（４）で示す）。
【００５５】
図８は、従来の書込み領域の割り当てを説明するための図である。例えば、メモリ領域９００に未だファイルデータが書き込まれていない状態においてファイルｄを構成するファイルデータの書き込み要求が有った場合、従来のファイルシステムは、メモリ領域９００内の先頭のクラスタに続くクラスタからなる領域Ｄを、書き込み要求が有ったファイルデータの書込み領域に割り当てる（図８の（１）で示す）。また、メモリ９００の領域Ｄにファイルｄを構成するファイルデータが書き込まれた状態においてファイルｅを構成するファイルデータの書き込み要求が有った場合、従来のファイルシステムは、領域Ｄに続く領域Ｅを、書き込み要求が有ったファイルデータの書込み領域に割り当てる（図８の（２）で示す）。さらに、メモリ９００の領域Ｄおよび領域Ｅにファイルｄを構成するファイルデータおよびファイルｅを構成するファイルデータが書き込まれた状態においてファイルｆを構成するファイルデータの書き込み要求が有った場合、従来のファイルシステムは、領域Ｅに続く領域Ｆを、書き込み要求が有ったファイルデータの書込み領域に割り当てる（図８の（３）で示す）。
【００５６】
このように、従来のファイルシステムでは、異なるファイルを構成するファイルデータがランダムに連続してメモリ領域９００に書き込まれていたため、同じファイルを構成するファイルデータの連続性が損なわれてしまい、メモリ領域８００へのファイルデータの書き込みや読み出しの際の処理速度が遅くなっていた。しかし、本実施の形態にかかるファイルシステム１０２によれば、異なるファイルを構成するファイルデータ同士がなるべく同じ管理領域に書き込まれないようにすることができるので、個々のファイルを構成するファイルデータが連続的に書き込まれる可能性を向上させることができる。
【００５７】
なお、コントローラ２０１のＭＰＵ２０１ｂは、ファイルシステム１０２から出力された論理アドレスおよびファイルデータを受信すると、ＲＡＭ２０１ｄに記憶された論物テーブルを用いて受信した論理アドレスを物理アドレスに変換するとともに、変換した物理アドレスが示すページに、受信したファイルデータを書き込むものとする。
【００５８】
図９は、本実施の形態にかかるＰＣの基本構成を示すブロック図である。本実施の形態にかかるＰＣ１００は、ＰＣ１００の主要部であって各部を集中的に制御するＣＰＵ（Central  Processing  Unit）１００１を備えている。このＣＰＵ１００１には、ＢＩＯＳなどを記憶した読み出し専用メモリであるＲＯＭ（Read  Only  Memory）などの不揮発性メモリ１００５と、各種データを書換え可能に記憶するＲＡＭ（Random  Access  Memory）などのメモリ１００２と、がバス１００６で接続されている。
【００５９】
さらにバス１００６には、記憶領域割当プログラムなどの各種のプログラム等を格納するハードディスク１００４と、外付けのハードディスク１００７をＰＣ１００に接続するためのＵＳＢ（Universal  Serial  Bus）コネクタや、ＳＤカードなどのメモリカード２００が挿入されるメモリカードインタフェース１０３などを備えたＩ／Ｆ１００３とが、図示しないＩ／Ｏを介して接続されている。
【００６０】
メモリ１００２は、各種データを書換え可能に記憶する性質を有していることから、ＣＰＵ１００１の作業エリアとして機能してバッファ等の役割を果たす。
【００６１】
不揮発性メモリ１００５は、この発明の記憶媒体を実施するものであり、ＯＳ（Operating  System）や各種のプログラムが記憶されている。ＣＰＵ１００１は、不揮発性メモリ１００５に記憶されているプログラムを読み出し、ハードディスク１００４にインストールする。
【００６２】
なお、記憶媒体としては、不揮発性メモリ１００５のみならず、ＤＶＤ（Digital  Versatile  Disk）などの各種の光ディスク、各種光磁気ディスク、フレキシブルディスクなどの各種磁気ディスク等、半導体メモリ等の各種方式のメディアを用いることができる。また、図示しない通信制御装置を介してインターネットなどのネットワークからプログラムをダウンロードし、ハードディスク１００４にインストールするようにしても良い。この場合に、送信側のサーバでプログラムを記憶している記憶装置も、この発明の記憶媒体である。なお、プログラムは、所定のＯＳ上で動作するものであっても良いし、その場合に後述の各種処理の一部をＯＳに肩代わりさせるものであっても良いし、所定のアプリケーションソフトやＯＳなどを構成する一群のプログラムファイルの一部として含まれているものであっても良い。
【００６３】
このシステム全体の動作を制御するＣＰＵ１００１は、このシステムの主記憶装置として使用されるハードディスク１００４上にロードされたプログラムに基づいて各種処理を実行する。
【００６４】
本実施の形態のＰＣ１００で実行されるプログラムは、上述した各部（ソフトウェア１０１、ファイルシステム１０２、メモリカードインタフェース１０３）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ１００２（プロセッサ）が上記記憶媒体からプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、ソフトウェア１０１、ファイルシステム１０２、メモリカードインタフェース１０３が主記憶装置上に生成されるようになっている。
【００６５】
このように本実施の形態にかかるＰＣ１００によれば、ファイルデータブロック５２を複数の管理領域に分割し、ファイルデータの書き込み要求が有った場合に、書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータが書き込まれた管理領域においてファイルデータが既に書き込まれた領域に続く領域を、書き込み要求が有ったファイルデータの書込み領域に割り当てることにより、異なるファイルを構成するファイルデータ同士がなるべく同じ管理領域に書き込まれないようにすることができるので、１つのファイルを構成するファイルデータの書き込みに多少の時間が空いても、個々のファイルを構成するファイルデータが連続的に書き込まれる可能性を向上させることができる。
【００６６】
なお、本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせても良い。
【符号の説明】
【００６７】
５２  ファイルデータブロック
１００  ＰＣ
１０１  ソフトウェア
１０２  ファイルシステム
【図１】
2010257250.tif 000003
【図２】
2010257250.tif 000004
【図３】
2010257250.tif 000005
【図４】
2010257250.tif 000006
【図５】
2010257250.tif 000007
【図６】
2010257250.tif 000008
【図７】
2010257250.tif 000009
【図８】
2010257250.tif 000010
【図９】
2010257250.tif 000011
【手続補正書】
【提出日】平成22年3月25日(2010.3.25)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、記憶媒体の記憶領域のうち、ファイルを構成するファイルデータを書き込むためのデータ記憶領域を複数の管理領域に分割する分割手段と、前記ファイルデータの書き込み要求が有った場合、書き込み要求が有ったファイルデータと同一の前記ファイルを構成する前記ファイルデータが書き込まれた前記管理領域において、前記書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータが書き込まれた領域に続く領域を、書き込み要求が有った前記ファイルデータの書込み領域として割り当てる割当手段と、を備えたことを特徴とする。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
また、本発明は、分割手段が、記憶媒体の記憶領域のうち、ファイルを構成するファイルデータを書き込むためのデータ記憶領域を複数の管理領域に分割する分割工程と、割当手段が、前記ファイルデータの書き込み要求が有った場合、書き込み要求が有ったファイルデータと同一の前記ファイルを構成する前記ファイルデータが書き込まれた前記管理領域において、前記書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータか書き込まれた領域に続く領域を、書き込み要求が有った前記ファイルデータの書込み領域として割り当てる割当工程と、を有することを特徴とする。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
また、本発明は、コンピュータを、記憶媒体の記憶領域のうち、ファイルを構成するファイルデータを書き込むためのデータ記憶領域を複数の管理領域に分割する分割手段と、前記ファイルデータの書き込み要求が有った場合、書き込み要求が有ったファイルデータと同一の前記ファイルを構成する前記ファイルデータが書き込まれた前記管理領域において、前記書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータが書き込まれた領域に続く領域を、書き込み要求が有った前記ファイルデータの書込み領域として割り当てる割当手段と、として機能させる。
【手続補正４】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
記憶媒体の記憶領域のうち、ファイルを構成するファイルデータを書き込むためのデータ記憶領域を複数の管理領域に分割する分割手段と、
前記ファイルデータの書き込み要求が有った場合、書き込み要求が有ったファイルデータと同一の前記ファイルを構成する前記ファイルデータが書き込まれた前記管理領域において、前記書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータが書き込まれた領域に続く領域を、書き込み要求が有った前記ファイルデータの書込み領域として割り当てる割当手段と、
を備えたことを特徴とする電子機器。
【請求項２】
前記割当手段は、前記書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータが書き込まれていない場合、前記ファイルデータが未だ書き込まれていない前記管理領域内の領域を、前記書込み領域を割り当てることを特徴とする請求項１に記載の電子機器。
【請求項３】
前記割当手段は、前記書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータが書き込まれておらず、かつ前記ファイルデータが未だ書き込まれていない前記管理領域が存在しない場合、複数の前記管理領域のうちいずれか１つの前記管理領域において前記ファイルデータが書き込まれた領域に続く領域を、前記書込み領域を割り当てることを特徴とする請求項２に記載の電子機器。
【請求項４】
前記分割手段は、前記ファイルデータの書き込みを要求するアプリケーションの数に従って、前記データ記憶領域を複数の前記管理領域に分割することを特徴とする請求項１から３のいずれか一に記載の電子機器。
【請求項５】
分割手段が、記憶媒体の記憶領域のうち、ファイルを構成するファイルデータを書き込むためのデータ記憶領域を複数の管理領域に分割する分割工程と、
割当手段が、前記ファイルデータの書き込み要求が有った場合、書き込み要求が有ったファイルデータと同一の前記ファイルを構成する前記ファイルデータが書き込まれた前記管理領域において、前記書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータが書き込まれた領域に続く領域を、書き込み要求が有った前記ファイルデータの書込み領域として割り当てる割当工程と、
を有することを特徴とするファイルシステムの記憶領域割当方法。
【請求項６】
コンピュータを、
記憶媒体の記憶領域のうち、ファイルを構成するファイルデータを書き込むためのデータ記憶領域を複数の管理領域に分割する分割手段と、
前記ファイルデータの書き込み要求が有った場合、書き込み要求が有ったファイルデータと同一の前記ファイルを構成する前記ファイルデータが書き込まれた前記管理領域において、前記書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータが書き込まれた領域に続く領域を、書き込み要求が有った前記ファイルデータの書込み領域として割り当てる割当手段と、
として機能させるための記憶領域割当プログラム。 
【手続補正書】
【提出日】平成22年8月2日(2010.8.2)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、記憶媒体の記憶領域のうち、ファイルを構成するファイルデータを書き込むためのデータ記憶領域を、所定の大きさの複数のクラスタを有する複数の管理領域に分割する分割手段と、前記ファイルデータの書き込み要求が有った場合、書き込み要求が有ったファイルデータと同一の前記ファイルを構成する前記ファイルデータが書き込まれた前記管理領域において、前記書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータが書き込まれたクラスタに続くクラスタを、書き込み要求が有った前記ファイルデータを書き込む書込み領域に割り当てる割当手段と、を備え、前記割当手段は、前記書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータが書き込まれていない場合、前記ファイルデータが未だ書き込まれていない前記管理領域が有するクラスタを、前記書込み領域に割り当てることを特徴とする。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
また、本発明は、ファイルシステムで実行されるファイルシステムの記憶領域割当方法であって、前記ファイルシステムは、記憶部と制御部とを備え、前記制御部は、分割手段が、記憶媒体の記憶領域のうち、ファイルを構成するファイルデータを書き込むためのデータ記憶領域を、所定の大きさの複数のクラスタを有する複数の管理領域に分割する分割工程と、割当手段が、前記ファイルデータの書き込み要求が有った場合、書き込み要求が有ったファイルデータと同一の前記ファイルを構成する前記ファイルデータが書き込まれた前記管理領域において、前記書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータか書き込まれたクラスタに続くクラスタを、書き込み要求が有った前記ファイルデータを書き込む書込み領域に割り当てる割当工程と、を有し、前記割当工程は、前記書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータが書き込まれていない場合、前記ファイルデータが未だ書き込まれていない前記管理領域が有するクラスタを、前記書込み領域に割り当てることを特徴とする。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
また、本発明は、コンピュータを、記憶媒体の記憶領域のうち、ファイルを構成するファイルデータを書き込むためのデータ記憶領域を、所定の大きさの複数のクラスタを有する複数の管理領域に分割する分割手段と、前記ファイルデータの書き込み要求が有った場合、書き込み要求が有ったファイルデータと同一の前記ファイルを構成する前記ファイルデータが書き込まれた前記管理領域において、前記書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータが書き込まれたクラスタに続くクラスタを、書き込み要求が有った前記ファイルデータを書き込む書込み領域に割り当てる割当手段と、として機能させ、前記割当手段は、前記書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータが書き込まれていない場合、前記ファイルデータが未だ書き込まれていない前記管理領域が有するクラスタを、前記書込み領域に割り当てることを特徴とする。
【手続補正４】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
記憶媒体の記憶領域のうち、ファイルを構成するファイルデータを書き込むためのデータ記憶領域を、所定の大きさの複数のクラスタを有する複数の管理領域に分割する分割手段と、
前記ファイルデータの書き込み要求が有った場合、書き込み要求が有ったファイルデータと同一の前記ファイルを構成する前記ファイルデータが書き込まれた前記管理領域において、前記書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータが書き込まれたクラスタに続くクラスタを、書き込み要求が有った前記ファイルデータを書き込む書込み領域に割り当てる割当手段と、
を備え、
前記割当手段は、前記書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータが書き込まれていない場合、前記ファイルデータが未だ書き込まれていない前記管理領域が有するクラスタを、前記書込み領域に割り当てることを特徴とする電子機器。
【請求項２】
前記割当手段は、前記書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータが書き込まれていない場合、前記ファイルデータが未だ書き込まれていない前記管理領域が有するクラスタを、先頭のクラスタから順に前記書込み領域に割り当てることを特徴とする請求項１に記載の電子機器。
【請求項３】
前記割当手段は、前記書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータが書き込まれておらず、かつ前記ファイルデータが未だ書き込まれていない前記管理領域が存在しない場合、複数の前記管理領域のうちいずれか１つの前記管理領域において前記ファイルデータが書き込まれたクラスタに続くクラスタを、前記書込み領域に割り当てることを特徴とする請求項２に記載の電子機器。
【請求項４】
前記分割手段は、前記ファイルデータの書き込みを要求するアプリケーションの数に従って、前記データ記憶領域を前記管理領域に分割することを特徴とする請求項１から３のいずれか一に記載の電子機器。
【請求項５】
ファイルシステムで実行されるファイルシステムの記憶領域割当方法であって、
前記ファイルシステムは、記憶部と制御部とを備え、
前記制御部は、
分割手段が、記憶媒体の記憶領域のうち、ファイルを構成するファイルデータを書き込むためのデータ記憶領域を、所定の大きさの複数のクラスタを有する複数の管理領域に分割する分割工程と、
割当手段が、前記ファイルデータの書き込み要求が有った場合、書き込み要求が有ったファイルデータと同一の前記ファイルを構成する前記ファイルデータが書き込まれた前記管理領域において、前記書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータが書き込まれたクラスタに続くクラスタを、書き込み要求が有った前記ファイルデータを書き込む書込み領域に割り当てる割当工程と、
を有し、
前記割当工程は、前記書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータが書き込まれていない場合、前記ファイルデータが未だ書き込まれていない前記管理領域が有するクラスタを、前記書込み領域に割り当てることを特徴とするファイルシステムの記憶領域割当方法。
【請求項６】
コンピュータを、
記憶媒体の記憶領域のうち、ファイルを構成するファイルデータを書き込むためのデータ記憶領域を、所定の大きさの複数のクラスタを有する複数の管理領域に分割する分割手段と、
前記ファイルデータの書き込み要求が有った場合、書き込み要求が有ったファイルデータと同一の前記ファイルを構成する前記ファイルデータが書き込まれた前記管理領域において、前記書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータが書き込まれたクラスタに続くクラスタを、書き込み要求が有った前記ファイルデータを書き込む書込み領域に割り当てる割当手段と、
として機能させ、
前記割当手段は、前記書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータが書き込まれていない場合、前記ファイルデータが未だ書き込まれていない前記管理領域が有するクラスタを、前記書込み領域に割り当てることを特徴とする記憶領域割当プログラム。