JP2011076441A - 情報記録装置、情報記録方法及び情報記録用プログラム - Google Patents

情報記録装置、情報記録方法及び情報記録用プログラム Download PDF

Info

Publication number
JP2011076441A
JP2011076441A JP2009228125A JP2009228125A JP2011076441A JP 2011076441 A JP2011076441 A JP 2011076441A JP 2009228125 A JP2009228125 A JP 2009228125A JP 2009228125 A JP2009228125 A JP 2009228125A JP 2011076441 A JP2011076441 A JP 2011076441A
Authority
JP
Japan
Prior art keywords
file data
area
written
file
data
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.)
Granted
Application number
JP2009228125A
Other languages
English (en)
Other versions
JP4714291B2 (ja
Inventor
Takuya Otani
卓也 大谷
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2009228125A priority Critical patent/JP4714291B2/ja
Priority to US12/895,621 priority patent/US8200936B2/en
Publication of JP2011076441A publication Critical patent/JP2011076441A/ja
Application granted granted Critical
Publication of JP4714291B2 publication Critical patent/JP4714291B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Abstract

【課題】この発明は、それぞれが複数のファイルデータで構成される複数のファイルを情報記録媒体に書き込む際、ファイル毎にファイルデータの連続性を損なうことなく書き込むことができる可能性をより一層向上させることができるようにした情報記録装置、情報記録方法及び情報記録用プログラムを提供することを目的としている。
【解決手段】情報記録媒体(202)の記録領域(52)を複数の管理領域(1〜4)に分割し、いずれかの管理領域を選択してファイルデータを書き込む際、その選択された管理領域に最後に書き込まれたファイルデータの拡張性を判別して、拡張性が高い場合には、次の管理領域にファイルデータを書き込み、拡張性が低い場合には、そのファイルデータに続けて、書き込み要求されたファイルデータを書き込むようにしている。
【選択図】 図9

Description

この発明は、例えばSD(secure digital)カードのようなメモリカード等に情報を記録するのに好適する情報記録装置、情報記録方法及び情報記録用プログラムを改良したものに関する。
周知のように、首記の如きメモリカードやHDD(hard disk drive)等の情報記録機器に対するデータの書き込みを制御するファイルシステムでは、アプリケーション等からのデータ書き込み要求に応じてファイルデータを情報記録媒体に書き込む場合、その先頭の記録領域から順にファイルデータを書き込むようにしている。
すなわち、一般的に、1つのファイルが複数のファイルデータで構成されている場合、それらのファイルデータを情報記録媒体に書き込む際には、ファイルを構成する全てのファイルデータが情報記録媒体の記録領域上に連続するように書き込まれることが望ましいとされている。
このことは、特に、メモリカードに情報記録媒体として使用されている半導体メモリ等について言えば、例えば128kバイト等のような、ある程度の大きい連続するデータ単位で書き込みや読み出し処理を行なった方が、その処理速度を速くすることができるという特徴があるからである。
ところで、それぞれが複数のファイルデータで構成される複数のファイルを、アプリケーション等からのデータ書き込み要求に応じて情報記録媒体に同時に記録する場合には、各ファイルを構成するそれぞれのファイルデータがランダムに書き込まれてしまい、同じファイルを構成するファイルデータの連続性が損なわれることがある。
特許文献1には、記録媒体の記録領域を複数の連続ゾーンに分割して管理し、複数のファイルに対して並列的に作成指示がなされた場合には、ファイル毎に別々の連続ゾーンが占有され、1つのファイルのデータが1つの連続ゾーンに連続的に記録されるようにした構成が開示されている。
特開平4−225441号公報
そこで、この発明は上記事情を考慮してなされたもので、それぞれが複数のファイルデータで構成される複数のファイルを情報記録媒体に書き込む際、ファイル毎にファイルデータの連続性を損なうことなく書き込むことができる可能性をより一層向上させることができるようにした情報記録装置、情報記録方法及び情報記録用プログラムを提供することを目的とする。
すなわち、この発明に係る情報記録装置は、情報記録媒体の記録領域を複数の管理領域に分割する分割手段と、ファイルデータの書き込みが要求されたとき、そのファイルデータと同一のファイルを構成するファイルデータが書き込まれている第1の管理領域が既に存在する場合、前記第1の管理領域内で最後に書き込まれたファイルデータの書き込まれている領域に続く領域を、書き込み要求されたファイルデータを書き込む領域として割り当てる割り当て手段と、ファイルデータの書き込みが要求されたとき、そのファイルデータと同一のファイルを構成するファイルデータが書き込まれている管理領域が存在しない場合、第2の管理領域を選択し、第2の管理領域内で最後に書き込まれたファイルデータの拡張性を判別する判別手段と、判別手段が最後に書き込まれたファイルデータの拡張性が高いと判別する場合、書き込み要求されたファイルデータを書き込む管理領域として第2の管理領域とは異なる第3の管理領域を選択し、判別手段が最後に書き込まれたファイルデータの拡張性が低いと判別する場合、そのファイルデータの書き込まれている領域に続く領域を、書き込み要求されたファイルデータを書き込む領域として割り当てる制御手段とを備えるようにしたものである。
また、この発明に係る情報記録方法は、情報記録媒体の記録領域を複数の管理領域に分割する工程と、ファイルデータの書き込みが要求されたとき、そのファイルデータと同一のファイルを構成するファイルデータが書き込まれている第1の管理領域が既に存在する場合、第1の管理領域内で最後に書き込まれたファイルデータの書き込まれている領域に続く領域を、書き込み要求されたファイルデータを書き込む領域として割り当てる工程と、ファイルデータの書き込みが要求されたとき、そのファイルデータと同一のファイルを構成するファイルデータが書き込まれている管理領域が存在しない場合、第2の管理領域を選択し、第2の管理領域内で最後に書き込まれたファイルデータの拡張性を判別する工程と、最後に書き込まれたファイルデータの拡張性が高いと判別された場合、書き込み要求されたファイルデータを書き込む管理領域として第2の管理領域とは異なる第3の管理領域を選択し、最後に書き込まれたファイルデータの拡張性が低いと判別された場合、そのファイルデータの書き込まれている領域に続く領域を、書き込み要求されたファイルデータを書き込む領域として割り当てる工程とを有するようにしたものである。
さらに、この発明に係る情報記録用プログラムは、情報記録媒体の記録領域を複数の管理領域に分割する処理と、ファイルデータの書き込みが要求されたとき、そのファイルデータと同一のファイルを構成するファイルデータが書き込まれている第1の管理領域が既に存在する場合、第1の管理領域内で最後に書き込まれたファイルデータの書き込まれている領域に続く領域を、書き込み要求されたファイルデータを書き込む領域として割り当てる処理と、ファイルデータの書き込みが要求されたとき、そのファイルデータと同一のファイルを構成するファイルデータが書き込まれている管理領域が存在しない場合、第2の管理領域を選択し、第2の管理領域内で最後に書き込まれたファイルデータの拡張性を判別する処理と、最後に書き込まれたファイルデータの拡張性が高いと判別された場合、書き込み要求されたファイルデータを書き込む管理領域として第2の管理領域とは異なる第3の管理領域を選択し、最後に書き込まれたファイルデータの拡張性が低いと判別された場合、そのファイルデータの書き込まれている領域に続く領域を、書き込み要求されたファイルデータを書き込む領域として割り当てる処理とを、コンピュータに実行させるようにしたものである。
上記した発明によれば、いずれかの管理領域を選択してファイルデータを書き込む際、その選択された管理領域に最後に書き込まれたファイルデータの拡張性を判別し、拡張性が高い場合には、次の管理領域にファイルデータを書き込み、拡張性が低い場合には、そのファイルデータに続けて、書き込み要求されたファイルデータを書き込むようにしている。このため、それぞれが複数のファイルデータで構成される複数のファイルを情報記録媒体に書き込む際、ファイル毎にファイルデータの連続性を損なうことなく書き込むことができる可能性をより一層向上させることができるようになる。
この発明の実施の形態を示すもので、PCとその管理対象となるメモリカードとの主要部を概略的に説明するために示すブロック構成図。 FATファイルシステムにより論理フォーマット化されたメモリ空間の一例を説明するために示す図。 FAT及びファイルエントリの一例を説明するために示す図。 同実施の形態におけるファイルシステムにより論理フォーマット化されたメモリ空間の一例を説明するために示す図。 同実施の形態におけるファイルシステムで実行される記録領域割り当て処理動作の一例を説明するために示すフローチャート。 同実施の形態におけるファイルデータブロックを複数の管理領域に分割した一例を説明するために示す図。 同実施の形態における分割された複数の管理領域に対して行なわれる書き込み領域の割り当て処理の一例を説明するために示す図。 同実施の形態における分割された複数の管理領域に対して行なわれる書き込み領域の割り当て処理の他の例を説明するために示す図。 同実施の形態における分割された複数の管理領域に対して行なわれる書き込み領域の割り当て処理のさらに他の例を説明するために示す図。 同実施の形態におけるファイルシステムで実行される記録領域割り当て処理動作の他の例を説明するために示すフローチャート。 同実施の形態におけるPCの基本構成を説明するために示すブロック構成図。
以下、この発明の実施の形態について図面を参照して詳細に説明する。この実施の形態では、PC(personal computer)にこの発明を適用した例について説明するが、例えばデジタルテレビジョン放送受信装置や光ディスクレコーダ等、管理対象となる情報記録媒体に記録されるデータを管理するためのファイルシステムを備えるファイルシステム搭載機器であれば、同様にこの発明を適用することができる。
図1は、この実施の形態で説明するPC100の主要部と、このPC100の管理対象となるメモリカード200の主要部とを、それぞれ機能ブロックとして概略的に示している。各機能ブロックは、ハードウエアやコンピュータソフトウエアのいずれかまたは両者の組み合わせとして実現することができる。このため、各ブロックは、これらのいずれでもあることが明確となるように、概してそれらの機能の観点から説明される。
このような機能が、ハードウエアとして実行されるか、または、ソフトウエアとして実行されるかは、具体的な実施態様またはシステム全体に課される設計制約に依存する。当業者は、具体的な実施態様毎に、種々の方法でこれらの機能を実現し得るが、そのような実現を決定することは、この発明の範疇に含まれるものである。
図1に示すように、PC100は、自己に挿入され接続されたメモリカード200に対してアクセスを行なうためのハードウエア及びソフトウエア(システム)を備えている。まず、PC100は、アプリケーション、オペレーティングシステム等のソフトウエア101を備えている。
このソフトウエア101は、メモリカード200へのデータの書き込みや、メモリカード200からのデータの読み出し等の処理が、ユーザの操作によって指示されると、CPU(central processing unit)(図10参照)にその処理を実行させるものである。ソフトウエア101を実行したCPUは、ファイルシステム102を介して、メモリカード200に対してデータの書き込みまたは読み出しを指示する。
このファイルシステム102は、管理対象となる情報記録媒体(メモリカード200)に記録されているファイルを管理するための仕組みである。このファイルシステム102は、情報記録媒体の記録領域内に管理情報を記録し、この管理情報を用いてファイルを管理している。
すなわち、このファイルシステム102では、情報記録媒体におけるファイルやフォルダ等のディレクトリ情報の作成方法、ファイルやフォルダ等の移動方法や削除方法、データの記録方式、管理情報が記録されている場所やその利用方法等が定められている。このファイルシステム102は、FAT(file allocation table)ファイルシステムを基礎としており、この実施の形態で以下に説明する動作を実行可能に構成されている。具体的な動作に関しては、適宜順を追って説明する。
また、上記PC100は、メモリカードインターフェース103を備えている。このメモリカードインターフェース103は、PC100とメモリカード200のコントローラ201との間のインターフェース処理を行なうのに必要なハードウエアやソフトウエア等から構成されている。そして、PC100は、メモリカードインターフェース103を介してメモリカード200との通信を実行する。
この場合、メモリカードインターフェース103は、PC100とメモリカード200とが通信を行なうのに必要な各種の取り決めを規定している。すなわち、メモリカードインターフェース103は、メモリカード200のコントローラ201を構成している後述するメモリカードインターフェース201aと相互に認識可能な各種のコマンドの組を備えている。また、このメモリカードインターフェース103は、メモリカード200のメモリカードインターフェース201aと接続可能なハードウエア上の構成(ピンの配置、数等)も含んでいる。
上記メモリカード200は、電源がオン状態のPC100に接続されたとき、または、電源がオフ状態のPC100に接続された状態でPC100の電源がオンされたときに、PC100からの電力供給を受けて初期化動作を行なった後、PC100からのアクセスに対応した処理を実行する。
このメモリカード200は、NAND型フラッシュメモリ等のメモリ202や、そのメモリ202を制御するための上記コントローラ201を備えている。このうち、メモリ202は、データを不揮発に記録するもので、複数のメモリセルからなるページと称される単位でデータの書き込みや読み出しを実行する。ページには、各ページに固有の物理アドレスが割り当てられている。また、メモリ202は、複数のページからなる物理ブロックと称される単位でデータの消去を実行する。なお、物理ブロック単位で物理アドレスが割り当てられていることもある。
また、上記コントローラ201は、メモリ202におけるデータの記録状態を管理している。この記録状態の管理とは、どの物理アドレスのページ(または物理ブロック)が、PC100により割り当てられたどの論理アドレスのデータを保持しているかを示す対応関係や、どの物理アドレスのページ(または物理ブロック)が消去状態(何も書き込まれていない状態、または、無効なデータを保持している状態)であるか等を管理することである。
この場合、上記コントローラ201は、上記メモリカードインターフェース201a、MPU(micro processing unit)201b、ROM(read only memory)201c、RAM(random access memory)201d、NANDインターフェース201e等を備えている。
このうち、メモリカードインターフェース201aは、PC100とコントローラ201との間のインターフェース処理を行なうのに必要なハードウエアやソフトウエア等から構成されている。そして、メモリカード200は、メモリカードインターフェース201aを介してPC100との通信を実行する。
このメモリカードインターフェース201aは、PC100のメモリカードインターフェース103と同様に、メモリカード200とPC100との通信を可能とする取り決めを規定し、各種のコマンドの組を備え、ハードウエア上の構成(ピンの配置、数等)も含んでいる。また、メモリカードインターフェース201aは、レジスタ201fを備えている。
上記MPU201bは、メモリカード200全体の動作を総括的に制御している。すなわち、MPU201bは、例えば、メモリカード200が電力供給を受けた際に、ROM201c内に格納されているファームウエア(制御プログラム)をRAM201d上に読み出して処理を実行する。
また、上記MPU201bは、制御プログラムに基づいて、後述する各種のテーブルをRAM201d上で作成したり、PC100から書き込みコマンド、読み出しコマンド、消去コマンド等を受けて、メモリ202に対する所定の処理を実行したりしている。
さらに、上記ROM201cは、前述したように、MPU201bが実行する制御プログラム等を格納している。
また、上記RAM201dは、MPU201bに作業エリアを提供しており、制御プログラムや各種のテーブルを記録している。このようなテーブルとしては、PC100のファイルシステム102によってデータに割り当てられた論理アドレスと、その論理アドレスを有するデータを実際に記録しているページの物理アドレスとを対応させた変換テーブル(論物テーブル)が含まれる。
さらに、上記NANDインターフェース201eは、コントローラ201とメモリ202との間のインターフェース処理を行なっている。
ここで、上記メモリ202内の記録領域は、保存されるデータの種類に対応して複数の領域に区分けされている。この複数の領域としては、システムデータ領域202a、機密データ領域202b、ユーザデータ領域202cが含まれる。
このうち、システムデータ領域202aは、コントローラ201が、その動作に必要なデータを保存するためにメモリ202内に確保しておく領域である。すなわち、このシステムデータ領域202aは、主にメモリカード200に関する管理情報を格納しており、メモリカード200のセキュリティ情報やメディアID(identification)等のカード情報を格納している。
また、機密データ領域202bは、暗号化に用いる鍵情報や認証時に使用する機密データ等を保存しておく領域である。この機密データ領域202bについては、PC100はアクセスできないようになされている。
さらに、ユーザデータ領域202cは、PC100が自由にアクセスして使用することが可能な領域である。このユーザデータ領域202cには、例えばAV(audio visual)コンテンツファイルや映像データ等のユーザデータが格納される。以下の説明では、メモリ202の記録領域と言えば、このユーザデータ領域202cを指すものとする。
なお、上記したコントローラ201は、ユーザデータ領域202cの一部を確保しており、自己の動作に必要な制御データ(論物テーブル)を保存させている。このユーザデータ領域202cは、PC100から別のボリュームとして論理フォーマットされ、ファイル管理されている。
次に、上記メモリ202の論理フォーマットについて説明する。メモリ202は、以下の形式で論理フォーマット化される。このメモリ202の論理フォーマット化は、上記PC100内のファイルシステム102によって行なわれる。
ここで、上記ファイルシステム102によるメモリ201の論理フォーマット化の説明に先立ち、このファイルシステム102が基礎としているFATファイルシステムの概要について、図2及び図3を用いて説明しておくことにする。
図2は、FATファイルシステムにより論理フォーマット化された、メモリ202のメモリ空間30を示している。このメモリ空間30には、以下に示す管理データが書き込まれている。なお、ここでいうメモリ空間30は、FATファイルシステムが自由にアクセスできるメモリ領域であり、図1のメモリ202においては、ユーザデータ領域202cに対応するものである。
図2に示すように、FATファイルシステムは、管理対象となるメモリ空間30を所定の大きさ(例えば16kバイト)のクラスタに分割して管理している。このメモリ空間30には、その最下位から所定のクラスタ番号で示される範囲までの領域に、管理データが割り当てられている。以下、管理データを記録する領域を、管理データブロック31と称する。
なお、管理データブロック31より高位のクラスタ番号で示される領域は、ファイルを構成する複数のファイルデータを書き込むためのデータ記録領域となっている。以下、このデータ記録領域をファイルデータブロック32と称する。
そして、上記管理データブロック31は、パーティションテーブルに割り当てられるパーティションテーブル領域33、ブートセクタに割り当てられるブートセクタ領域34、FAT1に割り当てられるFAT1領域35、FAT2に割り当てられるFAT2領域36、ルートディレクトリエントリに割り当てられるルートディレクトリエントリ領域37に分けられている。
このうち、パーティションテーブル領域33は、各パーティションのファイルシステムタイプやその先頭セクタ等の情報を格納している。また、ブートセクタ領域34は、パーティションテーブルが示す先頭セクタに位置し、BPB[BIOS(basic input/output system)parameter block]を格納している。
このBPBは、ファイルシステムが使用する、メモリ202の様々なパラメータを示している。FATファイルシステムでは、メモリ202を論理フォーマット化するとき、このパラメータを書き込んでいる。また、FATファイルシステムは、起動時にBPBを読み込むことにより、ファイルフォーマットのパラメータを認識する。
さらに、FAT1領域35は、メモリに書き込まれ、クラスタの大きさに分割されたファイルデータの一部(以下、単にファイルデータと称する)がどのクラスタに記録されているかを示す情報や、ファイルデータを復元するためのクラスタのつながりを示す情報を格納している。また、FAT2領域36は、FAT1のバックアップ領域であり、FAT1領域35と同じ内容を格納している。
1つのファイルを構成する各ファイルデータは、連続するクラスタに割り当てられることが好ましいので、FATファイルシステムでは、空いているクラスタを、クラスタ番号の順にしたがってファイルデータに割り当てている。そして、FAT1及びFAT2は、ファイルデータを格納しているクラスタの接続関係を示す情報を格納している。これにより、FAT1及びFAT2(以下、単にFATと記載する)に格納されている情報に基づいてクラスタからデータを読み出すことによって、元のファイルが復元される。
また、ルートディレクトリエントリ領域37は、ルートディレクトリに属する各ファイルのファイルエントリを記録している。このファイルエントリには、ファイル名またはフォルダ名、ファイルサイズ、属性及びファイルの更新日時情報、どのクラスタがファイルの先頭クラスタであるかを示すフラグ等が含まれる。なお、FATフォーマット形式のバージョン[例えば、FAT16、FAT32、ex(extended)FAT等]によっては、ルートディレクトリエントリをFATの後の任意のアドレスに置くことができる。
あるファイルが、ルートディレクトリに属するサブディレクトリに属する場合、ルートディレクトリエントリ領域37には、ルートディレクトリに属するサブディレクトリのエントリ(サブディレクトリエントリ)に割り当てられているクラスタの番号が記載されている。
そして、サブディレクトリエントリは、自己に属する各ファイルのファイルエントリを保持している。このサブディレクトリエントリは、図2に示すように、FATファイルシステムによって、ファイルデータブロック32内の任意のクラスタ38に書き込まれる。このサブディレクトリエントリも管理データに属しており、頻繁に書き換えられることが多いものである。
図3は、FAT及びファイルエントリの一例を示している。図3に示すように、ルートディレクトリエントリは、ファイルエントリとして各ファイル「FILE1.TXT」、「FILE2.TXT」、「FAILE3.TXT」の先頭のクラスタの位置情報を格納している。「FILE1.TXT」、「FILE2.TXT」、「FILE3.TXT」の先頭クラスタは、それぞれクラスタ番号が0002、0005、0007である。
FATには、各クラスタの次に接続されるべきクラスタの番号が記載されている。例えば、「FILE1.TXT」の場合、先頭のクラスタ(クラスタ番号0002)のデータに続くデータを格納するクラスタはクラスタ番号が0003で、そのクラスタ(クラスタ番号0003)のデータに続くデータを格納するクラスタはクラスタ番号が0004であることが分かる。
そして、各クラスタ(クラスタ番号0002、0003、0004)のデータを接続することにより、「FILE1.TXT」のファイルが復元される。なお、ファイルデータの最後の部分を格納するクラスタには、「FFFF」が書き込まれている。
次に、図4を用いて、FATファイルシステムを基礎とする上記ファイルシステム102について説明する。このファイルシステム102は、以下に示すようにメモリ202を論理フォーマット化している。つまり、ファイルシステム102によって、メモリ202は論理フォーマット化されている。
図4は、このファイルシステム102によって論理フォーマット化された、メモリ202のメモリ空間50を示している。図4に示すメモリ空間50は、フォーマット対象であるメモリ202の記録領域のうち、ファイルシステム102が使用可能なユーザデータ領域202cに対応している。
図4に示すように、ファイルシステム102は、それがファイルデータを管理するために用いる管理データを割り当てる記録領域を、ユーザデータ領域202cの最下位から所定のクラスタ番号(または論理アドレス)で示される範囲までの領域に限定している。すなわち、管理データは、この所定の範囲内のクラスタ番号(または論理アドレス)の記録領域に割り当てられ記録される。
ここで、管理データとしては、FATファイルシステムで用いられるものと同じ、パーティションテーブル、ブートセクタ、FAT1、FAT2、ルートディレクトリエントリ、サブディレクトリエントリが含まれている。
そして、管理データを格納するブロック(管理データブロック51)には、パーティションテーブルに割り当てられるパーティションテーブル領域53、ブートセクタに割り当てられるブートセクタ領域54、FAT1に割り当てられるFAT1領域55、FAT2に割り当てられるFAT2領域56、ルートディレクトリエントリに割り当てられるルートディレクトリエントリ領域57、サブディレクトリエントリに割り当てられるサブディレクトリエントリ領域58が含まれる。これらのパーティションテーブル領域53乃至サブディレクトリエントリ領域58が格納するデータは、前述したFATファイルシステムにおいて定義されているものと同じである。
メモリ空間50の、管理データブロック51を除く部分は、ファイルデータの書き込み専用のファイルデータブロック52である。管理データブロック51の容量は、メモリ空間50の大きさと、確保されることが求められるファイルデータブロック52の大きさとを考慮して決定される。
例えば、パーティションテーブル領域53の容量は121.5kバイト、ブートセクタ領域54の容量は0.5kバイト、FAT1領域55の容量は123kバイト、FAT2領域56の容量は123kバイト、ルートディレクトリエントリ領域57の容量は16kバイト、サブディレクトリエントリ領域58の容量は64kバイトである。
なお、ファイルシステム102は、FATファイルシステム(FAT16,32、exFAT等の違いを問わない)を基礎としている。さらに、FATファイルシステムに限らず、FATの拡張を含む類似のファイルシステムを利用することもできる。例えば、管理データを用いてファイルデータを管理し、管理データが頻繁に書き換えられるようなファイルシステムが該当する。
上記メモリカード200は、ファイルシステム102によって論理フォーマット化されている。したがって、メモリ202は、図4に示したように論理フォーマット化されていることになる。
次に、図5を用いて、図4のように論理フォーマット化されているメモリ202に書き込むファイルデータヘの記録領域割り当て処理について説明する。まず、PC100が起動されると(ステップS601)、ファイルシステム102は、メモリカードインターフェース103にメモリカード200が接続されるのを待つ待機状態(ステップS602:NO)となる。
そして、メモリカードインターフェース103にメモリカード200が接続されると(ステップS602:YES)、ファイルシステム102は、メモリ202のユーザデータ領域202cにアクセスし、ユーザデータ領域202c内のパーティションテーブル領域53からパーティションテーブルの読み込みを実行する(ステップS603)。
次に、ファイルシステム102は、読み込んだパーティションテーブルから、ユーザデータ領域202c内の領域のうちFAT1及びFAT2が書き込まれたFAT1領域55及びFAT2領域56のクラスタ番号(または論理アドレス)を特定するとともに(ステップS604)、当該読み込んだパーティションテーブルが示す先頭セクタに位置するブートセクタ領域54の解析処理を実行する(ステップS605)。
具体的には、ファイルシステム102は、ブートセクタ領域54の解析処理を実行することにより、ユーザデータ領域202c内の領域のうち、ファイルデータブロック52のクラスタ番号やサイズ、ルートディレクトリやサブディレクトリが書き込まれたルートディレクトリエントリ領域57及びサブディレクトリエントリ領域58のクラスタ番号やサイズ等、メモリ202の様々なパラメータを示すBPBの読み込みを実行する。
さらに、ファイルシステム102は、ブートセクタ領域54の解析処理により読み込んだクラスタ番号やサイズが示すように、ファイルデータブロック52を複数の管理領域に分割するとともに、各管理領域の最下位(または最上位)のクラスタのクラスタ番号を分割情報として記録する(ステップS606)。
図6は、ファイルデータブロック52を複数の管理領域に分割した一例を示している。この場合、ファイルシステム102は、PC100で実行するソフトウエア(アプリケーション)101の数(例えば4個)の管理領域に、ファイルデータブロック52を分割するものとする。
また、ファイルシステム102は、ファイルデータブロック52を、ファイルデータの書き込みを高速化することができるサイズ(例えば512kバイト)で割り切れるサイズの管理領域1〜4に分割し、残りの領域は雑多な領域として確保するものとする。
その後、ファイルシステム102は、メモリカードインターフェース103からメモリカード200が取り外されたか否かを監視するとともに(ステップS607)、ソフトウエア(アプリケーション)101からのファイルデータの書き込み要求を待つ待機状態(ステップS608)となる。なお、メモリカードインターフェース103からメモリカード200が取り外された場合(ステップS607:YES)、ファイルシステム102は、記録している分割情報をクリア(ステップS611)し、ステップS602の処理に戻る。
一方、メモリカードインターフェース103からメモリカード200が取り外されず(ステップS607:NO)、ソフトウエア101からのファイルデータの書き込み要求が有った場合(ステップS608:YES)、ファイルシステム102は、書き込み要求が有ったファイルデータを書き込むクラスタの割り当てを行ない、割り当てたクラスタにまとめられた論理ブロックの論理アドレス及び書き込み要求が有ったファイルデータを、コントローラ201に出力する(ステップS609)。
具体的に言えば、ファイルシステム102は、書き込み要求が有ったファイルデータをファイルデータブロック52に書き込む場合、ステップS605で読み込んだBPBが示すルートディレクトリエントリのクラスタ番号にしたがって、管理データブロック51内のルートディレクトリエントリ領域57にアクセスしてルートディレクトリエントリの読み込みを実行する。
次に、ファイルシステム102は、読み込んだルートディレクトリエントリが含むファイル名を参照して、書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータが書き込まれているか否かを判断する。そして、書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータが書き込まれていると判断した場合、ファイルシステム102は、読み込んだルートディレクトリエントリが含むどのクラスタがファイルの先頭クラスタであるかを示すフラグ及び分割情報が示す各管理領域の最下位(または最上位)のクラスタのクラスタ番号を参照して、当該書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータが書き込まれた管理領域を特定する。
その後、ファイルシステム102は、ステップS604で特定したクラスタ番号にしたがってFAT1領域55及びFAT2領域56にアクセスし、FAT1及びFAT2の読み込みを実行する。そして、ファイルシステム102は、読み込んだFAT1及びFAT2を参照して、特定した管理領域においてファイルデータが既に書き込まれた領域に続く領域、つまり、FAT1またはFAT2に「FFFF」が記載されたファイルデータが書き込まれたクラスタに続くクラスタを、書き込み要求が有ったファイルデータの書き込み領域に割り当てる。
一方、書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータが書き込まれていなかった場合、ファイルシステム102は、ステップS604で特定したクラスタ番号にしたがってFAT1領域55及びFAT2領域56にアクセスして、FAT1及びFAT2の読み込みを実行する。
そして、ファイルシステム102は、読み込んだFAT1及びFAT2と分割情報とが示す各管理領域の最下位(または最上位)のクラスタ番号を参照して、ファイルデータが未だ書き込まれていない管理領域を特定する。その後、ファイルシステム102は、特定した管理領域内の領域(最下位のクラスタに続くクラスタ)を、書き込み要求が有ったファイルデータの書き込み領域に割り当てる。
なお、ファイルデータが未だ書き込まれていない管理領域が複数存在する場合、ファイルシステム102は、分割情報が示すクラスタ番号が高い管理領域内の領域から順次、書き込み領域に割り当てるものとする。
さらに、書き込み要求が有ったファイルデータと同一のファイルを構成するファイルデータが書き込まれておらず、かつ、ファイルデータが未だ書き込まれていない管理領域が存在しない場合、ファイルシステム102は、複数の管理領域のうちのいずれか1つの管理領域(例えば、分割情報が示すクラスタ番号が高い管理領域)において、既にファイルデータが書き込まれた領域に続く領域(FAT1またはFAT2に「FFFF」が記載されたファイルデータが書き込まれたクラスタに続くクラスタ)を、書き込み領域に割り当てるものとする。
図7は、上記した書み込み領域の割り当て処理を具体的に説明している。例えば、4つの管理領域1〜4に未だファイルデータが書き込まれていない状態において、ファイルAを構成するファイルデータの書き込み要求が有った場合、ファイルシステム102は、分割情報が示すクラスタ番号が最下位の管理領域1内の先頭のクラスタに続くクラスタからなる領域A1を、当該書き込み要求が有ったファイルデータを書き込む領域に割り当てる[図7の(1)]。
また、管理領域1にのみファイルデータが書き込まれた状態において、ファイルBを構成するファイルデータの書き込み要求が有った場合、ファイルシステム102は、分割情報が示すクラスタ番号が管理領域1のクラスタ番号の次に低い管理領域2内の先頭のクラスタに続くクラスタからなる領域B1を、当該書き込み要求が有ったファイルデータを書き込む領域に割り当てる[図7の(2)]。
さらに、管理領域1及び管理領域2にファイルデータが書き込まれた状態において、ファイルCを構成するファイルデータの書き込み要求が有った場合、ファイルシステム102は、分割情報が示すクラスタ番号が管理領域2の次に低い管理領域3内の先頭のクラスタに続くクラスタからなる領域C1を、当該書き込み要求が有ったファイルデータを書き込む領域に割り当てる[図7の(3)]。
また、管理領域1〜3にファイルデータが書き込まれた状態において、再びファイルAを構成するファイルデータであって、領域A1に書き込まれたファイルデータの続きとなるファイルデータの書き込み要求が有った場合、ファイルシステム102は、管理領域1内の領域A1に続く領域A2を、当該書き込み要求が有ったファイルデータを書き込む傾城に割り当てる[図7の(4)]。
上記したファイルシステム102によれば、異なるファイルA〜Cを構成するファイルデータ同士がなるべく同じ管理領域1〜4に書き込まれないようにすることができ、個々のファイルA,B,Cを構成する複数のファイルデータが、それぞれ別々の管理領域1,2,3に連続的に書き込まれる可能性を向上させることができる。
なお、上記コントローラ201のMPU201Bは、ファイルシステム102から出力された論理アドレス及びファイルデータを受信すると、RAM201dに記録された論物テーブルを用いて受信した論理アドレスを物理アドレスに変換するとともに、変換した物理アドレスが示すページに、受信したファイルデータを書き込むものとする。
ここで、この実施の形態における主要な処理動作について、図9及び図10を参照して説明するに先立ち、その主要な処理動作を行なわない場合のファイルシステム102による処理動作について簡単に説明しておくことにする。
すなわち、上記したファイルシステム102による処理動作では、図8に示すように、メモリ202のファイルデータブロック52を4つの管理領域1〜4に分割し、まず、ファイルAを構成するファイルデータa1の書き込み要求が有った場合、自動的に管理領域1内の先頭のクラスタに続くクラスタからなる領域A1が、当該書き込み要求が有ったファイルデータa1を書き込む領域として確保される[図8の(1)]。
また、ファイルAとは異なる他のファイルBを構成するファイルデータbの書き込み要求が有った場合には、自動的に次の管理領域2内の先頭のクラスタに続くクラスタからなる領域B1が、当該書き込み要求が有ったファイルデータbを書き込む領域として確保される[図8の(2)]。
さらに、上記ファイルA,Bとは異なる他のファイルCを構成するファイルデータc1の書き込み要求が有った場合には、自動的に次の管理領域3内の先頭のクラスタに続くクラスタからなる領域C1が、当該書き込み要求が有ったファイルデータc1を書き込む領域として確保される[図8の(3)]。
同様に、上記ファイルA〜Cとは異なる他のファイルDを構成するファイルデータd1の書き込み要求が有った場合には、自動的に次の管理領域4内の先頭のクラスタに続くクラスタからなる領域D1が、当該書き込み要求が有ったファイルデータd1を書き込む領域として確保される[図8の(4)]。
すなわち、上記したファイルシステム102による処理動作では、新たなファイルを構成するファイルデータの書き込み要求が有る毎に、自動的に次の管理領域にそのファイルデータを書き込む領域が確保されていくことになる。
そして、上記ファイルA〜Dとは異なる他のファイルE、つまり、管理領域1〜4の数を超える5番目のファイルEを構成するファイルデータe1の書き込み要求が生じた場合には、自動的に最初の管理領域1に戻り、その管理領域1内の領域A1に続けて、当該書き込み要求の有ったファイルデータe1を書き込む領域E1が確保されることになる[図8の(5)]。
このため、管理領域1内に領域E1が確保された後に、上記ファイルAを構成するファイルデータa1に続くファイルデータa2の書き込み要求が発生した場合には、管理領域1内の領域A1に続けてファイルデータa2を書き込む領域A2を確保することができないことになる[図8の(6)]。
そこで、この実施の形態では、上記したファイルシステム102により、図9に示すように、メモリ202のファイルデータブロック52を4つの管理領域1〜4に分割する。そして、まず、ファイルAを構成するファイルデータa1の書き込み要求が有った場合には、自動的に管理領域1内の先頭のクラスタに続くクラスタからなる領域A1を、当該書き込み要求が有ったファイルデータa1を書き込む領域として確保する[図9の(1)]。
また、ファイルAとは異なる他のファイルBを構成するファイルデータbの書き込み要求が有った場合には、管理領域1内の領域A1に書き込まれたファイルデータa1の拡張性の有無、つまり、ファイルデータa1に続くファイルデータが存在する可能性が高いか否かを判別する。そして、ファイルデータa1の拡張性が高いと判断されたときには、次の管理領域2内の先頭のクラスタに続くクラスタからなる領域B1を、当該書き込み要求が有ったファイルデータbを書き込む領域として確保する[図9の(2)]。
さらに、上記ファイルA,Bとは異なる他のファイルCを構成するファイルデータc1の書き込み要求が有った場合には、管理領域2内の領域B1に書き込まれているファイルデータbの拡張性が高いか否かを判別する。そして、ファイルデータbが例えばディレクトリ情報等のような拡張性の低いデータであると判断されたときには、同じ管理領域2内の領域B1に続く領域C1を、当該書き込み要求が有ったファイルデータc1を書き込む領域として確保する[図9の(3)]。
また、上記ファイルA〜Cとは異なる他のファイルDを構成するファイルデータd1の書き込み要求が有った場合には、管理領域2内の領域C1に書き込まれているファイルデータc1の拡張性が高いか否かを判別し、拡張性の高いデータであると判断されたときには、次の管理領域3内の先頭のクラスタに続くクラスタからなる領域D1を、当該書き込み要求が有ったファイルデータd1を書き込む領域として確保する[図9の(4)]。
さらに、上記ファイルA〜Dとは異なる他のファイルEを構成するファイルデータe1の書き込み要求が有った場合には、管理領域3内の領域D1に書き込まれているファイルデータd1の拡張性が高いか否かを判別し、拡張性の高いデータであると判断されたときには、次の管理領域4内の先頭のクラスタに続くクラスタからなる領域E1を、当該書き込み要求が有ったファイルデータe1を書き込む領域として確保する[図9の(5)]。
このため、上記ファイルAを構成するファイルデータa1に続くファイルデータa2の書き込み要求が発生した場合には、管理領域1内の領域A1に続けてファイルデータa2を書き込む領域A2を確保することができるようになる[図9の(6)]。
図10は、図9を用いて説明した、書き込まれたファイルデータの拡張性に応じて書き込む領域を割り当る処理動作をまとめたフローチャートを示している。この割り当て処理は、上記ファイルシステム102によって実行されるもので、図5に示したフローチャートでは、ステップS609の処理で行なわれるものである。
この処理動作は、上記ソフトウエア(アプリケーション)101からファイルデータの書き込み要求が発生されたことで開始される。例えばファイルAを構成するファイルデータの書き込み要求が有った場合、ファイルシステム102は、ステップS101で、ファイルAを構成するファイルデータを書き込む管理領域1の、最後にファイルデータが書き込まれたクラスタの次のクラスタに空きがあるか否かを判別する。
そして、クラスタに空きがないと判断された場合(NO)、ファイルシステム102は、ステップS102で、次の書き込み先となる管理領域(この場合、管理領域2)を選択し、その管理領域に最後に書き込まれたファイルデータが、ディレクトリ情報のような拡張性の低いデータであるか否かを判別する。
ここで、拡張性の低いデータでないと判断された場合(NO)、ファイルシステム102は、ステップS103で、次の書き込み先となる管理領域(この場合、管理領域3)を選択し、ステップS104で、その管理領域に、書き込み要求されたファイルデータを書き込む領域を確保して書き込みを実行する。
また、上記ステップS101でクラスタに空きがあると判断された場合(YES)、または、上記ステップS102で拡張性の低いデータであると判断された場合(YES)、ファイルシステム102は、ステップS104で、管理領域1に、書き込み要求されたファイルデータを書き込む領域を確保して書き込みを実行する。
その後、ファイルシステム102は、ステップS105で、書き込み要求されたファイルデータを書き込むクラスタが不足したか否かを判別し、不足していると判断された場合(YES)、上記ステップS101の処理に戻される。また、上記ステップS105でクラスタが不足していないと判断された場合(NO)、本フローチャートにおける処理は終了し、ファイルシステム102は、図5に示したステップS607の処理に戻される。
図9及び図10を用いて説明した実施の形態によれば、いずれかの管理領域を選択してファイルデータを書き込む際、その選択された管理領域に最後に書き込まれたファイルデータの拡張性を判別する。そして、拡張性が高い場合には、次の管理領域にファイルデータを書き込み、拡張性が低い場合には、そのファイルデータに続けて、書き込み要求されたファイルデータを書き込むようにしている。これにより、それぞれが複数のファイルデータで構成される複数のファイルを情報記録媒体(この場合、メモリ202)に書き込む際、ファイル毎にファイルデータの連続性を損なうことなく書き込むことができる可能性をより一層向上させるようにすることが可能となる。
なお、上記した実施の形態では、拡張性の低いデータとして、FATファイルシステムにおけるディレクトリ情報を例にしたが、これに限らず、例えば、分散して記録されることが実質的に支障の生じない性質を有するデータ等も、拡張性の低いデータの範疇に入ることになる。
また、上記した実施の形態では、書き込まれたデータが拡張性の高いデータか否かの判別を行なうタイミングとして、次のデータの書き込みが要求された場合を例示したが、これに限定されず、例えばデータの書き込み時にそのデータの拡張性の高低を判別して保持しておき、次のデータを書き込む際に保持しておいた判別結果を参照する等のように、他のタイミングであっても良いものである。
図11は、上記したPC100の基本構成を示している。このPC100は、その主要部であって各部を集中的に制御するCPU1001を備えている。このCPU1001には、BIOS等を記録した読み出し専用メモリであるROM等の不揮発性メモリ1005と、各種データを書き替え可能に記録するRAM等のメモリ1002とが、バス1006で接続されている。
また、バス1006には、記録領域割り当てプログラム等の各種のプログラムを格納するハードディスク1004と、外付けのハードディスク1007をPC100に接続するためのUSB(universal serial bus)コネクタや、SDカード等のメモリカード200が挿入されるメモリカードインターフェース103等を備えたI/F1003とが、図示しないI/Oを介して接続されている。
上記メモリ1002は、各種データを書き替え可能に記録する性質を有していることから、CPU1001の作業エリアとして機能してバッファ等の役割を果たしている。
上記不揮発性メモリ1005には、OS(operating system)や各種のプログラムが記録されている。CPU1001は、不揮発性メモリ1005に記録されているプログラムを読み出し、ハードディスク1004にインストールする。
なお、ファイルを記録する情報記録媒体としては、メモリカード200のみに限らず、例えば、DVD(digital versatile disk)等の各種の光ディスク、各種光磁気ディスク、フレキシブルディスク等の各種磁気ディスク、半導体メモリ等の各種方式のメディアを用いることができる。
また、図示しない通信制御装置を介してインターネット等のネットワークからプログラムをダウンロードし、ハードディスク1004にインストールするようにしても良いものである。この場合に、送信側のサーバでプログラムを記録している記録装置に対しても、この発明を適用することが可能となる。
なお、プログラムは、所定のOS上で動作するものであっても良いし、その場合に各種処理の一部をOSに肩代わりさせるものであっても良いし、所定のアプリケーションソフトやOS等を構成する群のプログラムファイルの部として含まれているものであっても良いものである。
このシステム全体の動作を制御するCPU1001は、このシステムの主記録装置として使用されるハードディスク1004上にロードされたプログラムに基づいて各種処理を実行する。
PC100で実行されるプログラムは、上述した各部(ソフトウエア101、ファイルシステム102、メモリカードインターフェース103)を含むモジュール構成となっている。実際のハードウエアとしては、CPU1001(プロセッサ)が上記記録媒体からプログラムを読み出して実行することにより、上記各部が主記録装置上にロードされ、ソフトウエア101、ファイルシステム102、メモリカードインターフェース103が主記録装置上に生成されるようになっている。
なお、この発明は上記した実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を種々変形して具体化することができる。また、上記した実施の形態に開示されている複数の構成要素を適宜に組み合わせることにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素から幾つかの構成要素を削除しても良いものである。さらに、異なる実施の形態に係る構成要素を適宜組み合わせても良いものである。
100…PC、101…ソフトウエア、102…ファイルシステム、103…メモリカードインターフェース、200…メモリカード、201…コントローラ、201a…メモリカードインターフェース、201b…MPU、201c…ROM、201d…RAM、201e…NANDインターフェース、201f…レジスタ、202…メモリ、202a…システムデータ領域、202b…機密データ領域、202c…ユーザデータ領域、1001…CPU、1002…メモリ、1003…I/F、1004…ハードディスク、1005…不揮発性メモリ、1006…バス、1007…ハードディスク。

Claims (7)

  1. 情報記録媒体の記録領域を複数の管理領域に分割する分割手段と、
    ファイルデータの書き込みが要求されたとき、そのファイルデータと同一のファイルを構成するファイルデータが書き込まれている第1の管理領域が既に存在する場合、前記第1の管理領域内で最後に書き込まれたファイルデータの書き込まれている領域に続く領域を、書き込み要求されたファイルデータを書き込む領域として割り当てる割り当て手段と、
    ファイルデータの書き込みが要求されたとき、そのファイルデータと同一のファイルを構成するファイルデータが書き込まれている管理領域が存在しない場合、第2の管理領域を選択し、前記第2の管理領域内で最後に書き込まれたファイルデータの拡張性を判別する判別手段と、
    前記判別手段が前記最後に書き込まれたファイルデータの拡張性が高いと判別する場合、書き込み要求されたファイルデータを書き込む管理領域として前記第2の管理領域とは異なる第3の管理領域を選択し、前記判別手段が前記最後に書き込まれたファイルデータの拡張性が低いと判別する場合、そのファイルデータの書き込まれている領域に続く領域を、書き込み要求されたファイルデータを書き込む領域として割り当てる制御手段とを具備することを特徴とする情報記録装置。
  2. 前記判別手段は、前記第2の管理領域内で最後に書き込まれたファイルデータについて拡張性が低いか否かを判別し、拡張性が低くないと判断されたファイルデータを拡張性が高いと判別することを特徴とする請求項1記載の情報記録装置。
  3. 前記判別手段は、所定の管理領域内で最後に書き込まれたファイルデータが、分散して記録されることが実質的に支障の生じない性質のデータである場合に、拡張性が低いと判断することを特徴とする請求項1記載の情報記録装置。
  4. 前記判別手段は、所定の管理領域内で最後に書き込まれたファイルデータが、FATファイルシステムにおけるディレクトリ情報である場合に、拡張性が低いと判断することを特徴とする請求項1記載の情報記録装置。
  5. 前記判別手段により前記第2の管理領域にファイルデータが書き込まれているか否かの判別を行ない、
    前記判別手段が前記第2の管理領域にファイルデータが書き込まれていないと判別する場合、前記制御手段は、前記第2の管理領域に、書き込み要求されたファイルデータを書き込む領域を割り当てることを特徴とする請求項1記載の情報記録装置。
  6. 情報記録媒体の記録領域を複数の管理領域に分割する工程と、
    ファイルデータの書き込みが要求されたとき、そのファイルデータと同一のファイルを構成するファイルデータが書き込まれている第1の管理領域が既に存在する場合、前記第1の管理領域内で最後に書き込まれたファイルデータの書き込まれている領域に続く領域を、書き込み要求されたファイルデータを書き込む領域として割り当てる工程と、
    ファイルデータの書き込みが要求されたとき、そのファイルデータと同一のファイルを構成するファイルデータが書き込まれている管理領域が存在しない場合、第2の管理領域を選択し、前記第2の管理領域内で最後に書き込まれたファイルデータの拡張性を判別する工程と、
    前記最後に書き込まれたファイルデータの拡張性が高いと判別された場合、書き込み要求されたファイルデータを書き込む管理領域として前記第2の管理領域とは異なる第3の管理領域を選択し、前記最後に書き込まれたファイルデータの拡張性が低いと判別された場合、そのファイルデータの書き込まれている領域に続く領域を、書き込み要求されたファイルデータを書き込む領域として割り当てる工程とを有することを特徴とする情報記録方法。
  7. 情報記録媒体の記録領域を複数の管理領域に分割する処理と、
    ファイルデータの書き込みが要求されたとき、そのファイルデータと同一のファイルを構成するファイルデータが書き込まれている第1の管理領域が既に存在する場合、前記第1の管理領域内で最後に書き込まれたファイルデータの書き込まれている領域に続く領域を、書き込み要求されたファイルデータを書き込む領域として割り当てる処理と、
    ファイルデータの書き込みが要求されたとき、そのファイルデータと同一のファイルを構成するファイルデータが書き込まれている管理領域が存在しない場合、第2の管理領域を選択し、前記第2の管理領域内で最後に書き込まれたファイルデータの拡張性を判別する処理と、
    前記最後に書き込まれたファイルデータの拡張性が高いと判別された場合、書き込み要求されたファイルデータを書き込む管理領域として前記第2の管理領域とは異なる第3の管理領域を選択し、前記最後に書き込まれたファイルデータの拡張性が低いと判別された場合、そのファイルデータの書き込まれている領域に続く領域を、書き込み要求されたファイルデータを書き込む領域として割り当てる処理とを、コンピュータに実行させることを特徴とする情報記録用プログラム。
JP2009228125A 2009-09-30 2009-09-30 情報記録装置、情報記録方法及び情報記録用プログラム Expired - Fee Related JP4714291B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009228125A JP4714291B2 (ja) 2009-09-30 2009-09-30 情報記録装置、情報記録方法及び情報記録用プログラム
US12/895,621 US8200936B2 (en) 2009-09-30 2010-09-30 Systems and methods for recording information to a memory card

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009228125A JP4714291B2 (ja) 2009-09-30 2009-09-30 情報記録装置、情報記録方法及び情報記録用プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011064987A Division JP5161989B2 (ja) 2011-03-23 2011-03-23 情報記録装置、情報記録方法及び情報記録用プログラム

Publications (2)

Publication Number Publication Date
JP2011076441A true JP2011076441A (ja) 2011-04-14
JP4714291B2 JP4714291B2 (ja) 2011-06-29

Family

ID=43781582

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009228125A Expired - Fee Related JP4714291B2 (ja) 2009-09-30 2009-09-30 情報記録装置、情報記録方法及び情報記録用プログラム

Country Status (2)

Country Link
US (1) US8200936B2 (ja)
JP (1) JP4714291B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014044490A (ja) * 2012-08-24 2014-03-13 Toshiba Corp ホスト装置及びメモリデバイス
IT201700057287A1 (it) * 2017-05-26 2018-11-26 St Microelectronics Srl Procedimento per gestire schede a circuito integrato, scheda ed apparecchiatura corrispondenti
CN113468123B (zh) * 2021-06-30 2024-02-20 深圳软牛科技有限公司 文件夹去重恢复方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0869403A (ja) * 1994-08-26 1996-03-12 Fuji Xerox Co Ltd ファイル管理装置
JP2001043117A (ja) * 1999-07-28 2001-02-16 Sharp Corp ディスク媒体管理方法
JP2001243096A (ja) * 2000-02-28 2001-09-07 Sharp Corp ファイル管理方法
JP2001337851A (ja) * 2000-05-25 2001-12-07 Sharp Corp ファイル管理装置および方法
JP2004355640A (ja) * 2004-06-25 2004-12-16 Sharp Corp ファイル管理方法及び装置
JP2005339262A (ja) * 2004-05-27 2005-12-08 Canon Inc ファイルシステムおよびその制御方法
JP2009110136A (ja) * 2007-10-29 2009-05-21 Victor Co Of Japan Ltd ファイル管理方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04225441A (ja) 1990-12-27 1992-08-14 Matsushita Electric Ind Co Ltd 連続割付ファイル装置
JP2883791B2 (ja) * 1993-08-26 1999-04-19 富士通株式会社 記憶媒体とその制御方法
JP2000339202A (ja) 1999-05-26 2000-12-08 Nec Corp ディスク制御装置およびその制御方法ならびにディスク記憶媒体
US7363540B2 (en) * 2002-10-22 2008-04-22 Microsoft Corporation Transaction-safe FAT file system improvements
EP1686482B1 (en) * 2003-11-18 2013-03-06 Panasonic Corporation File recording device
JP2005302152A (ja) * 2004-04-12 2005-10-27 Sony Corp 複合型記憶装置、データ書込方法及びプログラム
US7681008B2 (en) * 2006-09-29 2010-03-16 Sandisk Corporation Systems for managing file allocation table information
JP2008123473A (ja) * 2006-10-20 2008-05-29 Toshiba Corp 記憶装置及びその制御方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0869403A (ja) * 1994-08-26 1996-03-12 Fuji Xerox Co Ltd ファイル管理装置
JP2001043117A (ja) * 1999-07-28 2001-02-16 Sharp Corp ディスク媒体管理方法
JP2001243096A (ja) * 2000-02-28 2001-09-07 Sharp Corp ファイル管理方法
JP2001337851A (ja) * 2000-05-25 2001-12-07 Sharp Corp ファイル管理装置および方法
JP2005339262A (ja) * 2004-05-27 2005-12-08 Canon Inc ファイルシステムおよびその制御方法
JP2004355640A (ja) * 2004-06-25 2004-12-16 Sharp Corp ファイル管理方法及び装置
JP2009110136A (ja) * 2007-10-29 2009-05-21 Victor Co Of Japan Ltd ファイル管理方法

Also Published As

Publication number Publication date
US20110078391A1 (en) 2011-03-31
JP4714291B2 (ja) 2011-06-29
US8200936B2 (en) 2012-06-12

Similar Documents

Publication Publication Date Title
US7610434B2 (en) File recording apparatus
JP4452261B2 (ja) ストレージシステムの論理ボリューム管理方法、論理ボリューム管理プログラム、及びストレージシステム
JP4238514B2 (ja) データ記憶装置
US7401174B2 (en) File system defragmentation and data processing method and apparatus for an information recording medium
JP3942807B2 (ja) ブロックアラインメント機能付き半導体記憶装置
US8307172B2 (en) Memory system including memory controller and separately formatted nonvolatile memory to avoid “copy-involving write” during updating file data in the memory
TWI420305B (zh) 記憶體儲存裝置、其記憶體控制器與自動產生填充檔案的方法
US8239395B2 (en) Storage device presenting to hosts only files compatible with a defined host capability
WO2003088043A1 (fr) Appareil de stockage de donnees
US20060224819A1 (en) Host apparatus
JPWO2005103903A1 (ja) 不揮発性記憶システム
JP2009199625A (ja) メモリカードおよびメモリカードの制御方法および不揮発性半導体メモリの制御方法
US9389998B2 (en) Memory formatting method, memory controller, and memory storage apparatus
JP5068754B2 (ja) 改良されたホストインターフェイス
US20100005226A1 (en) Nonvolatile memory device, access device, and nonvolatile memory system
JP2009503744A (ja) 予定再生操作を伴う不揮発性メモリ
CN110908927A (zh) 数据储存装置及其删除命名空间的方法
JP4714291B2 (ja) 情報記録装置、情報記録方法及び情報記録用プログラム
JP4130808B2 (ja) フォーマット方法
JP2006072441A (ja) メモリ装置および不揮発性メモリの制御方法
JP4599450B2 (ja) 電子機器、ファイルシステムの記憶領域割当法、および記憶領域割当プログラム
JP5161989B2 (ja) 情報記録装置、情報記録方法及び情報記録用プログラム
JP4881469B1 (ja) 情報処理装置、及び情報処理方法
JP2007293564A (ja) メモリデバイスおよび情報記憶システム
JP2011113129A (ja) 情報記録装置及び情報記録方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110301

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110325

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140401

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees