(57)【要約】      （修正有）【課題】データの読み出し処理速度が向上するように情報記録媒体へデータ書き込ませることの可能な情報処理装置、及び情報処理方法を実現する。【解決手段】情報処理装置は、情報記憶媒体の記憶領域にデータを書き込むとき、書き込み対象のデータが拡張性の高いデータであるか、拡張性の低いデータであるかを判別する判別手段と、書き込み対象のデータが前記拡張の高いデータである場合には、前記拡張性の低いデータである場合よりも、前記データを書き込むアドレスに、前記記憶領域内のデータをアラインできるアドレスを優先して割り当てる割り当て手段と、を具備する。【選択図】図１１
2012068853.tif 000002
【特許請求の範囲】
【請求項１】
情報記憶媒体の記憶領域にデータを書き込むとき、書き込み対象のデータが拡張性の高いデータであるか、拡張性の低いデータであるかを判別する判別手段と、
書き込み対象のデータが前記拡張の高いデータである場合には、前記拡張性の低いデータである場合よりも、前記データを書き込むアドレスに、前記記憶領域内のデータをアラインできるアドレスを優先して割り当てる割り当て手段と、
を具備する情報処理装置
【請求項２】
前記判別手段は、書き込み対象のデータが、ＦＡＴファイルシステムにおけるディレクトリ情報である場合に、拡張性の低いデータであると判別する請求項１記載の情報記録装置。
【請求項３】
前記判別手段は、前記書き込み対象のデータが拡張性の低いデータでないとき、前記書き込み対象のデータが拡張性の高いデータであると判別する請求項１記載の情報処理装置。
【請求項４】
前記記憶領域内のデータをアラインできるアドレスは、前記記憶領域内に書き込み処理のキャッシュのサイズに依存するアドレスである請求項１記載の情報記憶装置。
【請求項５】
情報記憶媒体の記憶領域にデータを書き込むとき、書き込み対象のデータが拡張性の低いデータであるかを判別する判別手段と、
書き込み対象のデータが前記拡張性の低いデータである場合には、書き込み先のアドレスに、前記記憶領域内のデータをアラインできないアドレスを優先的に割り当てる割り当て手段と、
を具備する情報処理装置。
【請求項６】
前記判別手段は、書き込み対象のデータが、ＦＡＴファイルシステムにおけるディレクトリ情報である場合に、拡張性の低いデータであると判別する請求項５記載の情報記録装置。
【請求項７】
情報記憶媒体の記憶領域にデータを書き込むとき、書き込み対象のデータが拡張性の高いデータであるか、拡張性の低いデータであるかを判別し、
書き込み対象のデータが前記拡張の高いデータである場合には、前記拡張性の低いデータである場合よりも、前記データを書き込むアドレスに、前記記憶領域内のデータをアラインできるアドレスを優先して割り当てる情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置、及び情報処理方法に関する。
【背景技術】
【０００２】
近年、例えばＳＤカードのようなメモリカード等やＨＤＤ（Hard Disk Drive）等の情報記録機器の記憶容量が増大している。
【０００３】
このような情報記録機器の記憶容量の増大に伴い、情報記録機器へのデータの読み出し／書き込み処理を制御するファイルシステムが重要視され、高速なデータの読み出し／書き込み処理が求められている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２９３９１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は上記要求に鑑みて提案されたものであって、データの読み出し処理速度が向上するように情報記録媒体へデータ書き込ませることの可能な情報処理装置、及び情報処理方法を実現することを課題としている。
【課題を解決するための手段】
【０００６】
本実施形態における情報処理装置は、情報記憶媒体の記憶領域にデータを書き込むとき、書き込み対象のデータが拡張性の高いデータであるか、拡張性の低いデータであるかを判別する判別手段と、書き込み対象のデータが前記拡張の高いデータである場合には、前記拡張性の低いデータである場合よりも、前記データを書き込むアドレスに、前記記憶領域内のデータをアラインできるアドレスを優先して割り当てる割り当て手段と、を具備する。
【図面の簡単な説明】
【０００７】
【図１】実施形態におけるＰＣの主要部と、このＰＣの管理対象となるメモリカード２００の主要部の一例を示すブロック図。
【図２】実施形態におけるＦＡＴファイルシステムにより論理フォーマット化された、メモリのメモリ空間の一例を示す概念図。
【図３】実施形態におけるＦＡＴ及びファイルエントリの一例を示す概念図。
【図４】実施形態におけるファイルシステムによって論理フォーマット化された、メモリのメモリ空間の一例を示す概念図。
【図５】実施形態における論理フォーマット化されているメモリへのデータの書き込み／読み出し処理の一例を示すフロー図。
【図６】実施形態におけるアラインされていないデータを読み出す際の読み出し処理の一例を示す概念図。
【図７】実施形態における本実施形態におけるアラインされているデータを読み出す際の読み出し処理の一例を示す概念図。
【図８】実施形態におけるデータをアラインせずに書き込む際の書き込み処理の一例を示す概念図。
【図９】実施形態における本実施形態におけるアラインさせてデータを書き込む際の書き込み処理の一例を示す概念図。
【図１０】実施形態におけるデータ書き込み処理が行われたメモリの状態を示す概念図。
【図１１】実施形態における本実施形態における特徴的な書き込み処理の一例を示すフロー図。
【図１２】実施形態におけるＰＣの基本構成の一例を示すブロック構成図。
【発明を実施するための形態】
【０００８】
以下、実施の形態について図面を参照して詳細に説明する。
【０００９】
この実施の形態では、ＰＣ（Personal Computer）にこの発明を適用した例について説明するが、例えばデジタルテレビジョン放送受信装置や光ディスクレコーダ等、管理対象となる情報記録媒体に記録されるデータを管理するためのファイルシステムを備えるファイルシステム搭載機器であれば、同様に適用することができる。
【００１０】
図１は、この実施の形態で説明するＰＣ１００の主要部と、このＰＣ１００の管理対象となるメモリカード２００の主要部とを、それぞれ機能ブロックとして概略的に示している。各機能ブロックは、ハードウエアやコンピュータソフトウエアのいずれかまたは両者の組み合わせとして実現することができる。このため、各ブロックは、これらのいずれでもあることが明確となるように、概してそれらの機能の観点から説明される。
【００１１】
このような機能が、ハードウエアとして実行されるか、または、ソフトウエアとして実行されるかは、具体的な実施態様またはシステム全体に課される設計制約に依存する。当業者は、具体的な実施態様毎に、種々の方法でこれらの機能を実現し得るが、そのような実現を決定することは、この発明の範疇に含まれるものである。
【００１２】
図１に示すように、ＰＣ１００は、自己に挿入され接続されたメモリカード２００に対してアクセスを行なうためのハードウエア及びソフトウエア（システム）を備えている。まず、ＰＣ１００は、アプリケーション、オペレーティングシステム等のソフトウエア１０１を備えている。
【００１３】
このソフトウエア１０１は、メモリカード２００へのデータの書き込みや、メモリカード２００からのデータの読み出し等の処理が、ユーザの操作によって指示されると、ＣＰＵ（Central Processing Unit）にその処理を実行させるものである。ソフトウエア１０１を実行したＣＰＵは、ファイルシステム１０２を介して、メモリカード２００に対してデータの書き込みまたは読み出しを指示する。
【００１４】
このファイルシステム１０２は、管理対象となる情報記録媒体（メモリカード２００）に記録されているファイルを管理するための仕組みである。このファイルシステム１０２は、情報記録媒体の記録領域内に管理情報を記録し、この管理情報を用いてファイルを管理している。
【００１５】
すなわち、このファイルシステム１０２では、情報記録媒体におけるファイルやフォルダ等のディレクトリ情報の作成方法、ファイルやフォルダ等の移動方法や削除方法、データの記録方式、管理情報が記録されている場所やその利用方法等が定められている。このファイルシステム１０２は、ＦＡＴ（File Allocation Table）ファイルシステムを基礎としており、この実施の形態で以下に説明する動作を実行可能に構成されている。具体的な動作に関しては、適宜順を追って説明する。
【００１６】
また、上記ＰＣ１００は、メモリカードインターフェース１０３を備えている。このメモリカードインターフェース１０３は、ＰＣ１００とメモリカード２００のコントローラ２０１との間のインターフェース処理を行なうのに必要なハードウエアやソフトウエア等から構成されている。そして、ＰＣ１００は、メモリカードインターフェース１０３を介してメモリカード２００との通信を実行する。
【００１７】
この場合、メモリカードインターフェース１０３は、ＰＣ１００とメモリカード２００とが通信を行なうのに必要な各種の取り決めを規定している。すなわち、メモリカードインターフェース１０３は、メモリカード２００のコントローラ２０１を構成している後述するメモリカードインターフェース２０１ａと相互に認識可能な各種のコマンドの組を備えている。また、このメモリカードインターフェース１０３は、メモリカード２００のメモリカードインターフェース２０１ａと接続可能なハードウエア上の構成（ピンの配置、数等）も含んでいる。
【００１８】
さらに、ＰＣ１００はワークメモリ１０４を備えている。ワークメモリ１０４は例えばＲＡＭ（Random Access Memory）のようなＰＣ１００が情報処理を実行する際に作業エリアとして使用される一時記憶領域である。また、ＰＣ１００はメモリカード２００よりデータを読み出した際には、メモリカード２００より読み出したデータをワークメモリ１０４に格納する。さらに、ＰＣ１００は、メモリカード２００にデータを書き込む際には、書き込み対象のデータをワークメモリ１０４からメモリカード２００に出力し、書き込み処理を実行する。
【００１９】
上記メモリカード２００は、電源がオン状態のＰＣ１００に接続されたとき、または、電源がオフ状態のＰＣ１００に接続された状態でＰＣ１００の電源がオンされたときに、ＰＣ１００からの電力供給を受けて初期化動作を行なった後、ＰＣ１００からのアクセスに対応した処理を実行する。
【００２０】
このメモリカード２００は、ＮＡＮＤ型フラッシュメモリ等のメモリ２０２や、そのメモリ２０２を制御するための上記コントローラ２０１を備えている。このうち、メモリ２０２は、データを不揮発に記録するもので、複数のメモリセルからなるページと称される単位でデータの書き込みや読み出しを実行する。ページには、各ページに固有の物理アドレスが割り当てられている。また、メモリ２０２は、複数のページからなる物理ブロックと称される単位でデータの消去を実行する。なお、物理ブロック単位で物理アドレスが割り当てられていることもある。
【００２１】
また、上記コントローラ２０１は、メモリ２０２におけるデータの記録状態を管理している。この記録状態の管理とは、どの物理アドレスのページ（または物理ブロック）が、ＰＣ１００により割り当てられたどの論理アドレスのデータを保持しているかを示す対応関係や、どの物理アドレスのページ（または物理ブロック）が消去状態（何も書き込まれていない状態、または、無効なデータを保持している状態）であるか等を管理することである。
【００２２】
この場合、上記コントローラ２０１は、上記メモリカードインターフェース２０１ａ、ＭＰＵ（Micro Processing Unit）２０１ｂ、ＲＯＭ（Read Only Memory）２０１ｃ、ＲＡＭ（Random Access Memory）２０１ｄ、ＮＡＮＤインターフェース２０１ｅ等を備えている。
【００２３】
このうち、メモリカードインターフェース２０１ａは、ＰＣ１００とコントローラ２０１との間のインターフェース処理を行なうのに必要なハードウエアやソフトウエア等から構成されている。そして、メモリカード２００は、メモリカードインターフェース２０１ａを介してＰＣ１００との通信を実行する。
【００２４】
このメモリカードインターフェース２０１ａは、ＰＣ１００のメモリカードインターフェース１０３と同様に、メモリカード２００とＰＣ１００との通信を可能とする取り決めを規定し、各種のコマンドの組を備え、ハードウエア上の構成（ピンの配置、数等）も含んでいる。また、メモリカードインターフェース２０１ａは、レジスタ２０１ｆを備えている。
【００２５】
上記ＭＰＵ２０１ｂは、メモリカード２００全体の動作を総括的に制御している。すなわち、ＭＰＵ２０１ｂは、例えば、メモリカード２００が電力供給を受けた際に、ＲＯＭ２０１ｃ内に格納されているファームウエア（制御プログラム）をＲＡＭ２０１ｄ上に読み出して処理を実行する。
【００２６】
また、上記ＭＰＵ２０１ｂは、制御プログラムに基づいて、後述する各種のテーブルをＲＡＭ２０１ｄ上で作成したり、ＰＣ１００から書き込みコマンド、読み出しコマンド、消去コマンド等を受けて、メモリ２０２に対する所定の処理を実行したりしている。
【００２７】
さらに、上記ＲＯＭ２０１ｃは、前述したように、ＭＰＵ２０１ｂが実行する制御プロ
グラム等を格納している。
【００２８】
また、上記ＲＡＭ２０１ｄは、ＭＰＵ２０１ｂに作業エリアを提供しており、制御プログラムや各種のテーブルを記録している。このようなテーブルとしては、ＰＣ１００のファイルシステム１０２によってデータに割り当てられた論理アドレスと、その論理アドレスを有するデータを実際に記録しているページの物理アドレスとを対応させた変換テーブル（論物テーブル）が含まれる。
【００２９】
さらに、ＲＡＭ２０１ｄは、ＰＣ１００がメモリ２０２にデータを書き込み／読み出しをする際には、この一部が一時記憶領域であるキャッシュ２０１eとして使用される。例えば、ＰＣ１００がメモリ２０２にデータを書き込もうとするとき、コントローラ２０１は書き込み対象のデータを一度ＲＡＭ２０１内のキャッシュ２０１eに記憶し、キャッシュ領域に記憶したデータをメモリ２０２に書き込む。また、例えば、ＰＣ１００がメモリ２０２にデータを読み出そうとするとき、コントローラ２０１は読み出し対象のデータを一度ＲＡＭ２０１内のキャッシュ領域に記憶し、キャッシュ２０１eに記憶したデータをＰＣ１００に送信する。
【００３０】
キャッシュ２０１eはＲＡＭ２０１ｄの中に４ＭＢ（メガバイト）分確保されている。キャッシュ２０１eの容量がメモリ２０２からコントローラ２０１がデータを一度に書き込み／読み出しをすることの可能な最大のデータ量となるため、本実施形態においては、コントローラ２０１はメモリ２０２に対して、一度に最大４ＭＢのデータの書き込み／読み出し処理を実行することができる。
【００３１】
本実施形態では、データの書き込み／読み出しを実行する際に使用する一時記憶領域をＲＡＭ２０１ｄ内の所定の領域であるキャッシュ２０１eとして例示しているがこれに限定されず、このデータ書き込み／読み出し用のキャッシュはＲＡＭ２０１ｄとは別に設けられているものとしてもよい。
【００３２】
上記ＮＡＮＤインターフェース２０１ｅは、コントローラ２０１とメモリ２０２との間のインターフェース処理を行なっている。
【００３３】
ここで、上記メモリ２０２内の記録領域は、保存されるデータの種類に対応して複数の領域に区分けされている。この複数の領域としては、システムデータ領域２０２ａ、機密データ領域２０２ｂ、ユーザデータ領域２０２ｃが含まれる。
【００３４】
このうち、システムデータ領域２０２ａは、コントローラ２０１が、その動作に必要なデータを保存するためにメモリ２０２内に確保しておく領域である。すなわち、このシステムデータ領域２０２ａは、主にメモリカード２００に関する管理情報を格納しており、メモリカード２００のセキュリティ情報やメディアＩＤ（identification）等のカード情報を格納している。
【００３５】
また、機密データ領域２０２ｂは、暗号化に用いる鍵情報や認証時に使用する機密データ等を保存しておく領域である。この機密データ領域２０２ｂについては、ＰＣ１００はアクセスできないようになされている。
【００３６】
さらに、ユーザデータ領域２０２ｃは、ＰＣ１００が自由にアクセスして使用することが可能な領域である。このユーザデータ領域２０２ｃには、例えばＡＶ（Audio Visual）コンテンツファイルや映像データ等のユーザデータが格納される。以下の説明では、メモリ２０２の記録領域と言えば、このユーザデータ領域２０２ｃを指すものとする。
【００３７】
なお、上記したコントローラ２０１は、ユーザデータ領域２０２ｃの一部を確保しており、自己の動作に必要な制御データ（論物テーブル）を保存させている。このユーザデータ領域２０２ｃは、ＰＣ１００から別のボリュームとして論理フォーマットされ、ファイル管理されている。
【００３８】
次に、上記メモリ２０２の論理フォーマットについて説明する。メモリ２０２は、以下の形式で論理フォーマット化される。このメモリ２０２の論理フォーマット化は、上記ＰＣ１００内のファイルシステム１０２によって行われる。
【００３９】
ここで、上記ファイルシステム１０２によるメモリ２０１の論理フォーマット化の説明に先立ち、このファイルシステム１０２が基礎としているＦＡＴファイルシステムの概要について、図２及び図３を用いて説明しておくことにする。
【００４０】
図２は、ＦＡＴファイルシステムにより論理フォーマット化された、メモリ２０２のメモリ空間３０を示している。このメモリ空間３０には、以下に示す管理データが書き込まれている。なお、ここでいうメモリ空間３０は、ＦＡＴファイルシステムが自由にアクセスできるメモリ領域であり、図１のメモリ２０２においては、ユーザデータ領域２０２ｃに対応するものである。
【００４１】
図２に示すように、ＦＡＴファイルシステムは、管理対象となるメモリ空間３０を所定の大きさ（例えば１６ｋバイト）のクラスタに分割して管理している。このメモリ空間３０には、その最下位から所定のクラスタ番号で示される範囲までの領域に、管理データが割り当てられている。以下、管理データを記録する領域を、管理データブロック３１と称する。
【００４２】
なお、管理データブロック３１より高位のクラスタ番号で示される領域は、ファイルを構成する複数のファイルデータを書き込むためのデータ記録領域となっている。以下、このデータ記録領域をファイルデータブロック３２と称する。
【００４３】
そして、上記管理データブロック３１は、パーティションテーブルに割り当てられるパーティションテーブル領域３３、ブートセクタに割り当てられるブートセクタ領域３４、ＦＡＴ１に割り当てられるＦＡＴ１領域３５、ＦＡＴ２に割り当てられるＦＡＴ２領域３６、ルートディレクトリエントリに割り当てられるルートディレクトリエントリ領域３７に分けられている。
【００４４】
このうち、パーティションテーブル領域３３は、各パーティションのファイルシステムタイプやその先頭セクタ等の情報を格納している。また、ブートセクタ領域３４は、パーティションテーブルが示す先頭セクタに位置し、ＢＰＢ［ＢＩＯＳ（Basic Input／Output System）Parameter Block］を格納している。
【００４５】
このＢＰＢは、ファイルシステムが使用する、メモリ２０２の様々なパラメータを示している。ＦＡＴファイルシステムでは、メモリ２０２を論理フォーマット化するとき、このパラメータを書き込んでいる。また、ＦＡＴファイルシステムは、起動時にＢＰＢを読み込むことにより、ファイルフォーマットのパラメータを認識する。
【００４６】
さらに、ＦＡＴ１領域３５は、メモリに書き込まれ、クラスタの大きさに分割されたファイルデータの一部（以下、単にファイルデータと称する）がどのクラスタに記録されているかを示す情報や、ファイルデータを復元するためのクラスタのつながりを示す情報を格納している。また、ＦＡＴ２領域３６は、ＦＡＴ１のバックアップ領域であり、ＦＡＴ１領域３５と同じ内容を格納している。
【００４７】
１つのファイルを構成する各ファイルデータは、連続するクラスタに割り当てられることが好ましいので、ＦＡＴファイルシステムでは、空いているクラスタを、クラスタ番号の順にしたがってファイルデータに割り当てている。そして、ＦＡＴ１及びＦＡＴ２は、ファイルデータを格納しているクラスタの接続関係を示す情報を格納している。これにより、ＦＡＴ１及びＦＡＴ２（以下、単にＦＡＴと記載する）に格納されている情報に基づいてクラスタからデータを読み出すことによって、元のファイルが復元される。
【００４８】
また、ルートディレクトリエントリ領域３７は、ルートディレクトリに属する各ファイルのファイルエントリを記録している。このファイルエントリには、ファイル名またはフォルダ名、ファイルサイズ、属性及びファイルの更新日時情報、どのクラスタがファイルの先頭クラスタであるかを示すフラグ等が含まれる。なお、ＦＡＴフォーマット形式のバージョン［例えば、ＦＡＴ１６、ＦＡＴ３２、ｅｘ（extended）ＦＡＴ等］によっては、ルートディレクトリエントリをＦＡＴの後の任意のアドレスに置くことができる。
【００４９】
あるファイルが、ルートディレクトリに属するサブディレクトリに属する場合、ルートディレクトリエントリ領域３７には、ルートディレクトリに属するサブディレクトリのエントリ（サブディレクトリエントリ）に割り当てられているクラスタの番号が記載されている。
【００５０】
そして、サブディレクトリエントリは、自己に属する各ファイルのファイルエントリを保持している。このサブディレクトリエントリは、図２に示すように、ＦＡＴファイルシステムによって、ファイルデータブロック３２内の任意のクラスタ３８に書き込まれる。このサブディレクトリエントリも管理データに属しており、頻繁に書き換えられることが多いものである。
【００５１】
図３は、ＦＡＴ及びファイルエントリの一例を示している。図３に示すように、ルートディレクトリエントリは、ファイルエントリとして各ファイル「ＦＩＬＥ１．ＴＸＴ」、「ＦＩＬＥ２．ＴＸＴ」、「ＦＡＩＬＥ３．ＴＸＴ」の先頭のクラスタの位置情報を格納している。「ＦＩＬＥ１．ＴＸＴ」、「ＦＩＬＥ２．ＴＸＴ」、「ＦＩＬＥ３．ＴＸＴ」の先頭クラスタは、それぞれクラスタ番号が０００２、０００５、０００７である。
【００５２】
ＦＡＴには、各クラスタの次に接続されるべきクラスタの番号が記載されている。例えば、「ＦＩＬＥ１．ＴＸＴ」の場合、先頭のクラスタ（クラスタ番号０００２）のデータに続くデータを格納するクラスタはクラスタ番号が０００３で、そのクラスタ（クラスタ番号０００３）のデータに続くデータを格納するクラスタはクラスタ番号が０００４であることが分かる。
【００５３】
そして、各クラスタ（クラスタ番号０００２、０００３、０００４）のデータを接続することにより、「ＦＩＬＥ１．ＴＸＴ」のファイルが復元される。なお、ファイルデータの最後の部分を格納するクラスタには、「ＦＦＦＦ」が書き込まれている。
【００５４】
次に、図４を用いて、ＦＡＴファイルシステムを基礎とする上記ファイルシステム１０２について説明する。このファイルシステム１０２は、以下に示すようにメモリ２０２を論理フォーマット化している。つまり、ファイルシステム１０２によって、メモリ２０２は論理フォーマット化されている。
【００５５】
図４は、このファイルシステム１０２によって論理フォーマット化された、メモリ２０２のメモリ空間５０を示している。図４に示すメモリ空間５０は、フォーマット対象であるメモリ２０２の記録領域のうち、ファイルシステム１０２が使用可能なユーザデータ領域２０２ｃに対応している。
【００５６】
図４に示すように、ファイルシステム１０２は、それがファイルデータを管理するために用いる管理データを割り当てる記録領域を、ユーザデータ領域２０２ｃの最下位から所定のクラスタ番号（または論理アドレス）で示される範囲までの領域に限定している。すなわち、管理データは、この所定の範囲内のクラスタ番号（または論理アドレス）の記録領域に割り当てられ記録される。
【００５７】
ここで、管理データとしては、ＦＡＴファイルシステムで用いられるものと同じ、パーティションテーブル、ブートセクタ、ＦＡＴ１、ＦＡＴ２、ルートディレクトリエントリ、サブディレクトリエントリが含まれている。
【００５８】
そして、管理データを格納するブロック（管理データブロック５１）には、パーティションテーブルに割り当てられるパーティションテーブル領域５３、ブートセクタに割り当てられるブートセクタ領域５４、ＦＡＴ１に割り当てられるＦＡＴ１領域５５、ＦＡＴ２に割り当てられるＦＡＴ２領域５６、ルートディレクトリエントリに割り当てられるルートディレクトリエントリ領域５７、サブディレクトリエントリに割り当てられるサブディレクトリエントリ領域５８が含まれる。これらのパーティションテーブル領域５３乃至サブディレクトリエントリ領域５８が格納するデータは、前述したＦＡＴファイルシステムにおいて定義されているものと同じである。
【００５９】
メモリ空間５０の、管理データブロック５１を除く部分は、ファイルデータの書き込み専用のファイルデータブロック５２である。管理データブロック５１の容量は、メモリ空間５０の大きさと、確保されることが求められるファイルデータブロック５２の大きさとを考慮して決定される。
【００６０】
例えば、パーティションテーブル領域５３の容量は１２１．５ｋバイト、ブートセクタ領域５４の容量は０．５ｋバイト、ＦＡＴ１領域５５の容量は１２３ｋバイト、ＦＡＴ２領域５６の容量は１２３ｋバイト、ルートディレクトリエントリ領域５７の容量は１６ｋバイト、サブディレクトリエントリ領域５８の容量は６４ｋバイトである。
【００６１】
なお、ファイルシステム１０２は、ＦＡＴファイルシステム（ＦＡＴ１６，３２、ｅｘＦＡＴ等の違いを問わない）を基礎としている。さらに、ＦＡＴファイルシステムに限らず、ＦＡＴの拡張を含む類似のファイルシステムを利用することもできる。例えば、管理データを用いてファイルデータを管理し、管理データが頻繁に書き換えられるようなファイルシステムが該当する。
【００６２】
上記メモリカード２００は、ファイルシステム１０２によって論理フォーマット化されている。したがって、メモリ２０２は、図４に示したように論理フォーマット化されていることになる。
【００６３】
次に、図５を用いて、図４のように論理フォーマット化されているメモリ２０２へのデータの書き込み／読み出し処理について説明する。
【００６４】
まず、ＰＣ１００が起動されると（ステップＳ６０１）、ファイルシステム１０２は、メモリカードインターフェース１０３にメモリカード２００が接続されるのを待つ待機状態（ステップＳ６０２：Ｎｏ）となる。
【００６５】
そして、メモリカードインターフェース１０３にメモリカード２００が接続されると（ステップＳ６０２：Ｙｅｓ）、ファイルシステム１０２は、メモリ２０２のユーザデータ領域２０２ｃにアクセスし、ユーザデータ領域２０２ｃ内のパーティションテーブル領域５３からパーティションテーブルの読み込みを実行する（ステップＳ６０３）。
【００６６】
次に、ファイルシステム１０２は、読み込んだパーティションテーブルから、ユーザデータ領域２０２ｃ内の領域のうちＦＡＴ１及びＦＡＴ２が書き込まれたＦＡＴ１領域５５及びＦＡＴ２領域５６のクラスタ番号（または論理アドレス）を特定するとともに（ステップＳ６０４）、当該読み込んだパーティションテーブルが示す先頭セクタに位置するブートセクタ領域５４の解析処理を実行する（ステップＳ６０５）。
【００６７】
具体的には、ファイルシステム１０２は、ブートセクタ領域５４の解析処理を実行することにより、ユーザデータ領域２０２ｃ内の領域のうち、ファイルデータブロック５２のクラスタ番号やサイズ、ルートディレクトリやサブディレクトリが書き込まれたルートディレクトリエントリ領域５７及びサブディレクトリエントリ領域５８のクラスタ番号やサイズ等、メモリ２０２の様々なパラメータを示すＢＰＢの読み込みを実行する。
【００６８】
さらに、ファイルシステム１０２は、ブートセクタ領域５４の解析処理により読み込んだクラスタ番号やサイズが示すように、ファイルデータブロック５２を複数の管理領域に分割するとともに、各管理領域の最下位（または最上位）のクラスタのクラスタ番号を分割情報として記録する（ステップＳ６０６）。
【００６９】
また、ファイルシステム１０２は、ファイルデータブロック５２を、ファイルデータの書き込みを高速化することができるサイズ（例えば５１２ｋバイト）で割り切れるサイズの管理領域１〜４に分割し、残りの領域は雑多な領域として確保するものとする。
【００７０】
その後、ファイルシステム１０２は、メモリカードインターフェース１０３からメモリカード２００が取り外されたか否かを監視するとともに（ステップＳ６０７）、ソフトウエア（アプリケーション）１０１からのファイルデータの書き込み要求、およびファイルデータの読み出し要求を待つ待機状態（ステップＳ６０８、ステップＳ６１１）となる。
【００７１】
メモリカードインターフェース１０３からメモリカード２００が取り外されず（ステップＳ６０７：Ｎｏ）、ソフトウエア１０１からのファイルデータの書き込み要求が有った場合（ステップＳ６０８：Ｙｅｓ）、ファイルシステム１０２は、書き込み要求が有ったファイルデータを書き込むクラスタの割り当てを行ない、割り当てたクラスタにまとめられた論理ブロックの論理アドレス及び書き込み要求が有ったファイルデータを、コントローラ２０１に出力する（ステップＳ６０９）。
【００７２】
コントローラ２０１はファイルシステム１０２より出力されたファイルデータが入力されると、ＲＡＭ２０１ｄ内のキャッシュ２０１eにファイルデータを一時的に格納し、メモリ２０２にこのファイルデータの書き込みを行う（ステップＳ６１０）。
【００７３】
ステップＳ６０８において、ソフトウエア１０１からのファイルデータの書き込み要求がなく（ステップＳ６０８：Ｎｏ）、ファイルデータの読み出し要求があった場合（ステップＳ６１１：Ｙｅｓ）、ファイルシステム１０２は、読み出し要求が有ったファイルデータの書き込まれている論理アドレスを特定し（ステップＳ６１２）、コントローラ２０１に当該ファイルデータの読み出し要求を出力する。
【００７４】
コントローラ２０１はファイルシステム１０２よりファイルデータの読み出し要求が入力されると、メモリ２０２からキャッシュ２０１eにこのファイルデータを読み出し、キャッシュ２０１eに読み出したデータをＰＣ１００に対して出力する（ステップＳ６１３）。
【００７５】
ステップＳ６１０終了後、ステップＳ６１１において読み出し要求がない場合（ステップＳ６１１：Ｎｏ）、またはステップＳ６１３の終了後、処理はステップＳ６０７に戻る。
【００７６】
ステップＳ６０７において、メモリカードインターフェース１０３からメモリカード２００が取り外された場合（ステップＳ６０７：Ｙｅｓ）、ファイルシステム１０２は、記録している分割情報をクリア（ステップＳ６１４）し、一連の処理は終了となる。
【００７７】
ファイルシステム１０２はメモリカード２００のメモリ２０２へのデータ書き込み／読み出し処理を制御する。次に、メモリ２０２へのデータの書き込み／読み出し処理について、さらに詳細に説明を行う。
【００７８】
上述のとおり、メモリ２０２から一度にデータの書き込み／読み出しを行えるデータ量はキャッシュ２０１eの容量に依存する。また、コントローラ２０１はメモリ２０２を先頭のアドレスからキャッシュのサイズ毎に管理する。つまり、本実施形態ではデータの書き込み／読み出しを実行するとき、コントローラ２０１が書き込み／読み出しを行う先頭のアドレスは４Ｍ（メガ）の整数倍のアドレスとなる。メモリ２０２に格納されているデータが４Ｍの整数倍のアドレスをまたぐような場合には、コントローラ２０１はこのデータの読み出しを複数回行うこととなる。
【００７９】
つまり、メモリ２０２の先頭アドレスから４Ｍの整数倍のアドレスを先頭として書き込まれたデータは、この４Ｍの整数倍の１つ手前のアドレスと、４Ｍの整数倍のアドレスとをまたいで存在する可能性が最も低くなる。さらに、データがどのようなサイズであっても、４Ｍの整数倍の１つ手前のアドレスと、４Ｍの整数倍のアドレスとをまたいでいる回数は最小となる。よって、４Ｍの整数倍のアドレスを先頭として書き込まれるデータは、異なるアドレスを先頭として書き込まれているデータと比較して、読み出し回数がもっとも少なくなる。以下ではデータが、メモリ２０２の先頭アドレスから４Ｍの整数倍のアドレスに書き込まれることを、データがアラインされて書き込まれると呼び、また書き込まれたデータをアラインされたデータと呼ぶ。さらに、このメモリ２０２の先頭アドレスから４Ｍの整数倍のアドレスのことを、データをアラインできるアドレスと呼ぶ。
【００８０】
データが、メモリ２０２のデータをアラインできるアドレスとその１つ手前のアドレスとにまたがって存在している場合には、書き込み／読み出し処理速度が低下し、さらにこれを繰り返すと性能の劣化が起こってしまう。この理由について以下にて説明を行う。
【００８１】
図６は本実施形態におけるアラインされていないデータを読み出す際の読み出し処理の一例を示す概念図である。図６には、メモリ２０２に格納されており、アラインされておらず、データをアラインできるアドレスとその１つ手前のアドレスをまたいでいるデータ７１を読み出す場合の読み出し処理の流れが概念的に示されている。
【００８２】
データ７１は、前半のデータであるデータ７１aがデータをアラインできるアドレスより前のアドレスに、後半のデータであるデータ７１ｂがデータをアラインできるアドレス以降のアドレスに格納されている。
【００８３】
ファイルシステム１０２がデータ７１を読み出すとき、上述のようにコントローラ２０１はデータ７１を一度に読み出さない。つまり、コントローラ２０１はまずデータをアラインできるアドレスより前に位置するデータ７１aを読み出してキャッシュ２０１eに格納する。
【００８４】
次にコントローラ２０１はキャッシュ２０１eに格納したデータ７１aをＰＣ１００に対して出力する。コントローラ２０１よりこの出力を受けたファイルシステム１０２はワークメモリ１０４にデータ７１aを格納する。
【００８５】
コントローラ２０１は、次に、データをアラインできるアドレス以降に位置するデータ７１ｂを読み出してキャッシュ２０１eに格納する。コントローラ２０１はキャッシュ２０１eに格納したデータ７１ｂをＰＣ１００に対して出力し、ファイルシステム１０１はデータ７１aとデータ７１ｂとが連続となるようにワークメモリ１０４に格納する。
【００８６】
以上の処理によってファイルシステム１０２はデータ７１をメモリ２０２より読み出し、ワークメモリ１０４に格納することが出来る。
【００８７】
データをメモリ２０２より読み出すとき、データをアラインできるアドレスとその１つ手前のアドレスとにまたがって存在する場合には、コントローラ２０１はデータを一度に読み出すことが出来ず、上記のようにメモリ２０２からの読み出し処理を２度行うこととなる。
【００８８】
次にメモリ２０２に格納されて、アラインされており、データをアラインできるアドレスとその１つ手前のアドレスとにまたがって存在していないデータ８１を読み出す場合の読み出し処理について説明する。
【００８９】
図７は本実施形態におけるアラインされているデータを読み出す際の読み出し処理の一例を示す概念図である。
【００９０】
データ８１はアラインされているデータであり、次のデータをアラインできるアドレスとその１つ手前のアドレスとにまたがないサイズのデータである。
【００９１】
ファイルシステム１０２がデータ８１を読み出すとき、コントローラ２０１は、ファイルシステム１０２からの要求に基づいて、データ８１を読み出す。このときデータ８１はデータをアラインできるアドレスとその１つ手前のアドレスとをまたいでいないため、コントローラ２０１はデータ８１を一度の読み出しで読み出すことが出来る。コントローラ２０１は読み出したデータ８１を一度、キャッシュ２０１eに格納する。
【００９２】
次にコントローラ２０１はデータ８１をＰＣ１００に対して出力し、コントローラ２０１よりこの出力を受けたファイルシステム１０２はワークメモリ１０４にデータ８１を格納する。
【００９３】
以上の処理によってファイルシステム１０２はデータ８１をメモリ２０２より読み出し、ワークメモリ１０４に格納することが出来る。このように読み出し対象のデータが、データをアラインできるアドレスとその１つ手前のアドレスとをまたがない場合には、コントローラ２０１はデータを１度に読み出すことが可能である。つまり、データをアラインできるアドレスとその１つ手前のアドレスとをまたがないデータを読み出す場合には、またいでいるデータを読み出す場合より、読み出し処理が減少し、ファイルシステム１０２はメモリ２０２から高速にデータを読み出すことが可能となる。
【００９４】
次に、データの書き込み処理について説明する。
【００９５】
図８は本実施形態におけるデータをアラインせずにメモリ２０２に書き込む際の書き込み処理の一例を示す概念図である。図８には、メモリ２０２にアラインされておらず、データをアラインできるアドレスとその１つ手前のアドレスとをまたぐようにデータ９１を書き込む場合の書き込み処理の流れが概念的に示されている。
【００９６】
メモリ２０２内のデータをアラインできるアドレスとその１つ手前のアドレスとをまたぐようにデータ９１を書き込む場合、ファイルシステム１０２はワークメモリ１０４のデータ９１を分割し、分割したデータ９１a及びデータ９１ｂをコントローラ２０１にそれぞれ出力する。
【００９７】
ファイルシステム１０２からメモリ２０２へのデータの書き込み要求を受けたコントローラ２０１は、メモリ２０２の書き込み対象となっている領域のデータを、キャッシュ２０１eへとデータを読み出す。ここではメモリ２０２の書き込み対象となっている領域にはデータをアラインできるアドレスとその１つ手前のアドレスとの境界が存在するため、データを２度に分けて読み出すこととなる。
【００９８】
次に、キャッシュ２０１eに読み出したデータに、ファイルシステム１０２からの出力を受けたデータ９１a及びデータ９１ｂを更新し、データ９１a及びデータ９１ｂが更新されたデータをメモリ２０２にそれぞれ書き込む。
【００９９】
以上の処理によってワークメモリ１０４上のデータをメモリ２０２に書き込むことが出来る。このようにデータをアラインできるアドレスとその１つ手前のアドレスとをまたいでデータを書き込む場合、コントローラ２０１はデータを一度に読み出し／書き込みすることが出来ず、メモリ２０２への読み出し／書き込み処理をそれぞれ２度行うこととなる。
【０１００】
次に、データ１００１をアラインさせてメモリ２０２に書き込む場合のデータ書き込み処理について説明を行う。
【０１０１】
図９は本実施形態におけるアラインさせてデータを書き込む際の書き込み処理の一例を示す概念図である。
【０１０２】
ここではファイルシステム１０２は、メモリ２０２の先頭のアドレスから４Ｍの整数倍となる所定のアドレス（データをアラインできるアドレス）に、ワークメモリ１０４上のデータ１００１をメモリ２０２に対して書き込む。ここでは簡単のため、データ１００１は、先頭のアドレスから４Ｍの整数倍となる次のアドレスまでの長さを持たないデータであるものとする。
【０１０３】
まず、ファイルシステム１０２はデータの書き込み要求及び書き込み先のアドレス情報をコントローラに出力する。データの書き込み要求を受けたコントローラ２０１はメモリ２０２の書き込み対象となっているアドレス（先頭のアドレスから４Ｍの整数倍となる所定のアドレス）から、キャッシュ２０１eへとデータを読み出す。
【０１０４】
次にファイルシステム１０２はワークメモリ１０４のデータ１００１をコントローラ２０１に出力する。出力を受けたコントローラ２０１はキャッシュ２０１eに読み出したデータに、ファイルシステム１０２からの出力を受けたデータ１００１を更新し、更新されたデータをメモリ２０２上の４Ｍの整数倍となる所定のアドレスに書き込む。
【０１０５】
以上の処理によってファイルシステム１０２はメモリ２０２に対して、データをアラインさせて書き込むこととなる。このようにデータをアラインできるアドレスとその１つ手前のアドレスとをまたがないようにデータを書き込む場合には、コントローラ２０１は１度で読み出し／書き込み処理を行うことができる。
【０１０６】
つまり、メモリ２０２にデータをアラインさせて書き込む場合には、データがバイト境界をまたぐ回数が最小となるため、データの書き込み処理を想定しうる最短の時間で実行することが出来る。また、アラインされたデータをメモリ２０２より読み出す場合にも、読み出し回数が他の場合と比較して最小になるため、データの読み出し処理を想定しうる最短の時間で実行することが出来る。
【０１０７】
上記を考慮した上で本実施形態におけるデータの書き込み処理について説明する。
【０１０８】
図１０は本実施形態におけるデータ書き込み処理が行われたメモリ２０２の状態を示す概念図である。図１０には、データ１１１乃至データ１１５がメモリ２０２に書き込まれた（格納されている）状態が概念的に示されている。
【０１０９】
データ１１１及びデータ１１３はデータサイズの膨らむ可能性が高い（拡張性が高い）第１のデータであり、データ１１２、データ１１４及びデータ１１５はデータサイズが膨らむ可能性が低い（拡張性が低い）第２のデータである。
【０１１０】
ここでの、データサイズが膨らむ可能性が高い（拡張性が高い）第１のデータとは、例えばファイル内容情報のような実質的なデータを指し、また、データサイズが膨らむ可能が低い（拡張性が低い）第２のデータとは、例えばファイル・ディレクトリ情報のようなメタデータ等を指す。
【０１１１】
本実施形態ではデータをメモリ２０２に書き込む際に、データサイズが膨らむ可能性が高い（拡張性が高い）第１のデータをアラインされるように優先的に書き込む。また、データサイズが膨らむ可能が低い（拡張性が低い）第２のデータはアラインされないように書き込み、先頭のアドレスから４Ｍの整数倍となるアドレス（データをアラインできるアドレス）を第１のデータのために温存する。
【０１１２】
これにより、性能が重要となるデータサイズの大きなデータ（拡張性が高いデータ：第１のデータ）の書き込み／読み出し処理の速度が向上し、メモリ２０２は理想的な記録状態となる。
【０１１３】
次に本実施形態における特徴的な書き込み処理の流れを説明する。
【０１１４】
図１１は、本実施形態における特徴的な書き込み処理の一例を示すフロー図である。
【０１１５】
まず、ファイルシステム１０２はソフトウエア１０１からの書き込み処理の命令を待機する（ステップＳ１２１：Ｎｏ）。
【０１１６】
ソフトウエア１０１からデータの書き込み命令を受けると（ステップＳ１２１：Ｙｅｓ）、ファイルシステム１０２は判別手段として、書き込み対象のデータがデータサイズの膨らむ可能が低い（拡張性が低い）第２のデータであるか否かを判別する（ステップＳ１２２）。
【０１１７】
書き込み対象のデータがデータサイズの膨らむ可能が低い（拡張性が低い）第２のデータあると判別したとき（ステップＳ１２２：Ｙｅｓ）、ファイルシステム１０２は割り当て手段として、そのデータにアラインメントできるアドレスを割り当てずに（アラインせずに）、メモリ２０２に対して書き込む（ステップＳ１２３）。つまり、メモリ２０２の先頭のアドレスから４Ｍの整数倍となるアドレスを先頭とせずに書き込む。
【０１１８】
ステップＳ１２２において、書き込み対象のデータがデータサイズの膨らむ可能が低い（拡張性が低い）第２のデータでないと判別したとき（ステップＳ１２２：Ｙｅｓ）、ファイルシステムはこのデータは第１のデータであると判別し、割り当て手段として、このデータにアラインメントできるアドレスを割り当てて（アラインして）、メモリ２０２に対して書き込む（ステップＳ１２４）。つまり、メモリ２０２の先頭のアドレスから４Ｍの整数倍となるアドレスを先頭として書き込む。
【０１１９】
ステップＳ１２３及びステップＳ１２４の終了後、一連の処理フローは終了となる。
【０１２０】
本実施形態においては、メモリカード２００のメモリ２０２に、データサイズが膨らむ可能性が高い（拡張性が高い）第１のデータを優先的にアラインして書き込む（アラインできるアドレスを割り当てる）ため、メモリカード２００の挿抜があった後でも、データ読み出し速度が速いという効果は保たれたままとなる。また、ＰＣ１００とは異なる機器からメモリカード２００内のデータを読み出す場合にもこれと同様である。
【０１２１】
図１２は実施形態におけるＰＣの基本構成の一例を示すブロック構成図である。このＰＣ１００は、その主要部であって各部を集中的に制御するＣＰＵ１２０１を備えている。このＣＰＵ１２０１には、ＢＩＯＳ等を記録した読み出し専用メモリであるＲＯＭ等の不揮発性メモリ１２０５と、各種データを書き替え可能に記録するＲＡＭ等のワークメモリ１０４とが、バス１２０６で接続されている。
【０１２２】
また、バス１２０６には、記録領域割り当てプログラム等の各種のプログラムを格納するハードディスク１２０４と、外付けのハードディスク１２０７をＰＣ１００に接続するためのＵＳＢ（universal serial bus）コネクタや、ＳＤカード等のメモリカード２００が挿入されるメモリカードインターフェース１０３等を備えたＩ／Ｆ１２０３とが、図示しないＩ／Ｏを介して接続されている。
【０１２３】
上記不揮発性メモリ１２０５には、ＯＳ（operating system）や各種のプログラムが記録されている。ＣＰＵ１２０１は、不揮発性メモリ１２０５に記録されているプログラムを読み出し、ハードディスク１２０４にインストールする。
【０１２４】
なお、ファイルを記録する情報記録媒体としては、メモリカード２００のみに限らず、例えば、ＤＶＤ（digital versatile disk）等の各種の光ディスク、各種光磁気ディスク、フレキシブルディスク等の各種磁気ディスク、半導体メモリ等の各種方式のメディアを用いることができる。
【０１２５】
また、図示しない通信制御装置を介してインターネット等のネットワークからプログラムをダウンロードし、ハードディスク１２０４にインストールするようにしても良いものである。この場合に、送信側のサーバでプログラムを記録している記録装置に対しても、この発明を適用することが可能となる。
【０１２６】
なお、プログラムは、所定のＯＳ上で動作するものであっても良いし、その場合に各種処理の一部をOSに肩代わりさせるものであっても良いし、所定のアプリケーションソフトやＯＳ等を構成する群のプログラムファイルの部として含まれているものであっても良いものである。
【０１２７】
このシステム全体の動作を制御するＣＰＵ１２０１は、このシステムの主記録装置として使用されるハードディスク１２０４上にロードされたプログラムに基づいて各種処理を実行する。
【０１２８】
ＰＣ１００で実行されるプログラムは、上述した各部（ソフトウエア１０１、ファイルシステム１０２、メモリカードインターフェース１０３）を含むモジュール構成となっている。実際のハードウエアとしては、ＣＰＵ１２０１（プロセッサ）が上記記録媒体からプログラムを読み出して実行することにより、上記各部が主記録装置上にロードされ、ソフトウエア１０１、ファイルシステム１０２、メモリカードインターフェース１０３が主記録装置上に生成されるようになっている。
【０１２９】
本実施形態におけるＰＣ１００は、メモリカード２００にデータを書き込む場合、データの拡張性を判別し、この拡張性に基づいてデータをアラインして書き込むか、アラインせずに書き込むかを決定するため、メモリ２０２内の領域を有効に利用することができ、拡張性の高いデータの書き込み／読み出し処理の速度を向上させることが出来る。換言すれば、データをアラインできる貴重なアドレスを拡張性の高いデータに優先的に割り当てることによって、メモリ２０２内の領域を有効に利用可能である。また、これによってメモリ２０２全体としてのデータの書き込み／読み出し処理の回数も減少し、メモリカード２００の長寿寿命化にも資する。
【０１３０】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具現化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【０１３１】
１００…ＰＣ、１０１…ソフトウエア、１０２…ファイルシステム、１０３…メモリカードインターフェース、１０４…ワークメモリ２００…メモリカード、２０１…コントローラ、２０１ａ…メモリカードインターフェース、２０１ｂ…ＭＰＵ、２０１ｃ…ＲＯＭ、２０１ｄ…ＲＡＭ、２０１ｅ…ＮＡＮＤインターフェース、２０１ｆ…レジスタ、２０２…メモリ、２０２ａ…システムデータ領域、２０２ｂ…機密データ領域、２０２ｃ…ユーザデータ領域、１２０１…ＣＰＵ、１２０３…Ｉ／Ｆ、１２０４…ハードディスク、１２０５…不揮発性メモリ、１２０６…バス、１２０７…ハードディスク。
【図１】
2012068853.tif 000003
【図２】
2012068853.tif 000004
【図３】
2012068853.tif 000005
【図４】
2012068853.tif 000006
【図５】
2012068853.tif 000007
【図６】
2012068853.tif 000008
【図７】
2012068853.tif 000009
【図８】
2012068853.tif 000010
【図９】
2012068853.tif 000011
【図１０】
2012068853.tif 000012
【図１１】
2012068853.tif 000013
【図１２】
2012068853.tif 000014
【手続補正書】
【提出日】平成23年6月22日(2011.6.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
情報記憶媒体の記憶領域に書き込まれる書き込み対象のデータが拡張性の高いデータであるか、拡張性の低いデータであるかを判別する判別手段と、
前記書き込み対象のデータが前記拡張性の高いデータである場合には、前記拡張性の低いデータである場合よりも、前記書き込み対象のデータを書き込むアドレスとして、前記記憶領域内のデータをアラインできるアドレスを優先して割り当てる割り当て手段と、
を具備する情報処理装置。
【請求項２】
前記判別手段は、前記書き込み対象のデータが、ＦＡＴファイルシステムにおけるディレクトリ情報である場合に、前記書き込み対象のデータが、拡張性の低いデータであると判別する請求項１記載の情報記録装置。
【請求項３】
前記判別手段は、前記書き込み対象のデータが拡張性の低いデータでないとき、前記書き込み対象のデータが拡張性の高いデータであると判別する請求項１記載の情報処理装置。
【請求項４】
前記記憶領域内のデータをアラインできるアドレスは、前記記憶領域内への書き込み処理のキャッシュのサイズに依存するアドレスである請求項１記載の情報記憶装置。
【請求項５】
情報記憶媒体の記憶領域に書き込まれる書き込み対象のデータが拡張性の低いデータであるか否かを判別する判別手段と、
前記書き込み対象のデータが前記拡張性の低いデータである場合には、書き込み先のアドレスに、前記記憶領域内のデータをアラインできないアドレスを優先的に割り当てる割り当て手段と、
を具備する情報処理装置。
【請求項６】
前記判別手段は、書き込み対象のデータが、ＦＡＴファイルシステムにおけるディレクトリ情報である場合に、前記書き込み対象のデータが、拡張性の低いデータであると判別する請求項５記載の情報記録装置。
【請求項７】
情報記憶媒体の記憶領域に書き込まれる書き込み対象のデータが拡張性の高いデータであるか、拡張性の低いデータであるかを判別し、
前記書き込み対象のデータが前記拡張性の高いデータである場合には、前記拡張性の低いデータである場合よりも、前記書き込み対象のデータを書き込むアドレスとして、前記記憶領域内のデータをアラインできるアドレスを優先して割り当てる情報処理方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
本実施形態における情報処理装置は、情報記憶媒体の記憶領域に書き込まれる書き込み対象のデータが拡張性の高いデータであるか、拡張性の低いデータであるかを判別する判別手段と、前記書き込み対象のデータが前記拡張性の高いデータである場合には、前記拡張性の低いデータである場合よりも、前記書き込み対象のデータを書き込むアドレスとして、前記記憶領域内のデータをアラインできるアドレスを優先して割り当てる割り当て手段と、を具備する。
【手続補正書】
【提出日】平成23年9月5日(2011.9.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
情報記憶媒体の記憶領域に書き込まれる対象の書込データが、ＦＡＴファイルシステムにおけるディレクトリ情報である場合に拡張性の低いデータであると判別し、前記ディレクトリ情報でない場合に拡張性の高いデータであると判別する判別手段と、
前記書込データが前記拡張性の高いデータであると判別された場合には、前記記憶領域内への書き込み処理のキャッシュのサイズに依存する、データをアラインできるアドレスを、前記書込データの書き込み先のアドレスとして、前記拡張性の低いデータであると判別される場合よりも、優先して割り当てる割り当て手段と、
を具備する情報処理装置。
【請求項２】
前記割り当て手段は、前記書込データが前記拡張性の低いデータであると判別された場合には、前記書込データの書き込み先のアドレスとして、データをアラインできないアドレスを優先的に割り当てる、
請求項１記載の情報処理装置。
【請求項３】
情報記憶媒体の記憶領域に書き込まれる対象の書込データが、ＦＡＴファイルシステムにおけるディレクトリ情報である場合に拡張性の低いデータであると判別し、前記ディレクトリ情報でない場合に拡張性の高いデータであると判別するステップと、
前記書込データが前記拡張性の高いデータであると判別された場合には、前記記憶領域内への書き込み処理のキャッシュのサイズに依存する、データをアラインできるアドレスを、前記書込データの書き込み先のアドレスとして、前記拡張性の低いデータであると判別される場合よりも、優先して割り当てるステップと、
を有する情報処理方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
本実施形態における情報処理装置は、情報記憶媒体の記憶領域に書き込まれる対象の書込データが、ＦＡＴファイルシステムにおけるディレクトリ情報である場合に拡張性の低いデータであると判別し、前記ディレクトリ情報でない場合に拡張性の高いデータであると判別する判別手段と、前記書込データが前記拡張性の高いデータであると判別された場合には、前記記憶領域内への書き込み処理のキャッシュのサイズに依存する、データをアラインできるアドレスを、前記書込データの書き込み先のアドレスとして、前記拡張性の低いデータであると判別される場合よりも、優先して割り当てる割り当て手段と、を具備する。