JPWO2005008499A1 - 情報記録媒体におけるデータ領域管理方法、及びデータ領域管理方法を用いた情報処理装置 - Google Patents
情報記録媒体におけるデータ領域管理方法、及びデータ領域管理方法を用いた情報処理装置 Download PDFInfo
- Publication number
- JPWO2005008499A1 JPWO2005008499A1 JP2005511875A JP2005511875A JPWO2005008499A1 JP WO2005008499 A1 JPWO2005008499 A1 JP WO2005008499A1 JP 2005511875 A JP2005511875 A JP 2005511875A JP 2005511875 A JP2005511875 A JP 2005511875A JP WO2005008499 A1 JPWO2005008499 A1 JP WO2005008499A1
- Authority
- JP
- Japan
- Prior art keywords
- information
- fat
- area management
- cache
- recording medium
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0677—Optical disk device, e.g. CD-ROM, DVD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/46—Caching storage objects of specific type in disk cache
- G06F2212/466—Metadata, control data
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99956—File allocation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
従来使用されているファイルシステムの1例として、FATファイルシステムがある。その詳細は、ISO/IEC9293、“Information Technology−Volume and file structure of disk cartridges for information”、1994年に開示されている。
FATファイルシステムは、パソコンなどの情報機器で一般に用いられているファイルシステムである。FATファイルシステムでは、ファイルを構成するデータの物理的な格納位置をFAT(File Allocation Table)と呼ばれるテーブルにより、多くのデータが一元管理される。FATファイルシステムによりデータ管理された情報記録媒体は、同一のファイルシステムを解釈する機器間でファイルを共有することができるため、機器間でデータを授受することが可能となる。
FATでは、1クラスタに対して1つの固定長のエントリを使用するため、情報記録媒体の容量が大きくなり、ファイルシステムで管理するクラスタ数が増加するにつれ、FATの大きさも大きくなる。FATファイルシステムを機器に実装するにあたり、メモリ量の限られた組込み機器などでは、メモリ量の削減のため、全てのFATをメモリ上に保持するのではなく、一部のFATのみをメモリ上に保持し、キャッシングする手法が用いられる。
従来、FATをキャッシングする方法として、FATで管理するデータ数やFATの格納位置などの情報を、初期設定時にホスト機器から情報記録再生装置へ入力し、FATの全て又は一部をキャッシングする方法が提案されている。この方法は例えば特開平8−110868号公報に開示されている。この方法では、FAT上の情報の内、アクセスされたファイルに関する情報をキャッシュバッファ上にキャッシングする。この場合、一度アクセスしたファイルに対する再アクセスに関しては、情報記録媒体上のFATを読み込む必要がなく、高速にアクセスすることが可能となる。
しかしながら、上記の従来技術には次のような問題点がある。上記のデータ領域管理方法は、既存ファイルへのアクセスを高速化する方法について着目したものであり、空き領域検索処理については考慮されていない。すなわち上記のデータ領域管理方法は、一度アクセスしたファイルに対する再アクセスは高速に行われるが、空き領域を検索し、新しいファイルを作成する場合には、FATがキャッシングされていないため、情報記録媒体からFATを新たに読み込む必要がある。
従来の方法で空き領域検索処理を行うには、FAT上に格納された個々のエントリの使用状況を確認し、空き領域のクラスタ番号を取得する。特に空き領域が少なくなると、空き領域検索処理で確認するエントリ数が増加し、最悪の場合、空き領域検索時に全てのFATをキャッシュバッファに読み込む必要がある。ここでキャッシュバッファの読み込み単位が小さい場合、読み込み処理のオーバーヘッドにより空き領域検索処理が遅くなる。
本発明では上記問題点に鑑み、FATを用いて実施する空き領域検索処理、及びリンク先取得処理などの処理に応じてFATの読み込み単位を変更し、FATアクセス時のオーバーヘッドを低減できるデータ領域管理方法を実現すると共に、このデータ領域管理方法を用いた情報処理装置を提供することを目的とする。
また本発明の情報処理装置は、情報記録領域に格納したデータをファイルシステムにより管理する情報記録媒体にアクセスする装置であり、FATキャッシュと、揮発性メモリと、FATキャッシュ制御部と、ファイルシステム制御部と、を含んで構成される。FATキャッシュは情報記録領域の空き状態及びリンク状態を管理している領域管理情報を情報記録媒体から読み出し格納する。揮発性メモリは、FATキャッシュを複数のブロックに分割し管理するためのFATキャッシュ管理情報として、各ブロックの開始アドレス、各ブロックに格納された領域管理情報の情報記録媒体上での位置、各ブロックの大きさ、更新の有無等の情報を保持する。FATキャッシュ制御部は、FATキャッシュ管理情報を参照、更新し、FATキャッシュに対する領域管理情報の読み替えを制御する。ファイルシステム制御部は、FATキャッシュ制御部を介して領域管理情報にアクセスし、データをファイルとして情報記録媒体に格納する。
第2図はFATファイルシステムのデータ格納例を示す図である。
第3図はFATファイルシステムのファイルデータ書き込み例を示す図である。
第4図は情報記録媒体上に構築されたファイルシステムの構成例を示す図である。
第5図は実施例1におけるFATキャッシュの一例を示す図である。
第6図は実施例1における空き領域検索処理を示すフローチャートである。
第7図は実施例1におけるリンク先取得処理を示すフローチャートである。
第8図は実施例2における情報処理装置、及び情報記録媒体の構成図である。
第9図は実施例2におけるFAT_Readキャッシュ及びFAT_Writeキャッシュの一例を示す図である。
第10図は実施例2における空き領域検索処理を示すフローチャートである。
第11図は実施例2におけるリンク先取得処理を示すフローチャートである。
メインメモリ102は情報処理装置100A上で動作するプログラムを格納するメモリである。キャッシュメモリ103AはFATやデータのキャッシュに使用するメモリである。アクセス制御部104は情報記録媒体110へのアクセスを制御する制御部である。プログラム格納部105は情報処理装置100A上で動作するプログラムなどを格納するメモリである。
キャッシュメモリ103Aは、FATをキャッシングするFATキャッシュを含む。このFATキャッシュを管理するために、メインメモリ102はFATキャッシュ管理情報を格納している。プログラム格納部105は、アプリケーションプログラム106、ファイルシステム制御部107、FATキャッシュ制御部108を有している。アプリケーションプログラム106は、情報処理装置100A上で動作するプログラムである。ファイルシステム制御部107は情報記録媒体110上に構築されたファイルシステムの制御を行うものである。FATキャッシュ制御部108はFATキャッシュを制御するものである。
一方、情報記録媒体110内にはファイルシステムが構築されている。ファイルシステムは情報記録媒体110に格納されたデータをファイルとして管理する。本実施例の情報記録媒体110はFATファイルシステムにより管理されている。情報記録媒体110には、ファイルシステム管理情報である領域管理情報を格納する管理情報領域と、データを格納するデータ領域とがある。管理情報領域にはマスターブートレコード・パーティションテーブル(MBR・PT)111、パーティションブートセクタ(PBS)112、FAT113、ルートディレクトリエントリ(RDE)114が設けられる。
MBR・PT111は、情報記録領域を複数のパーティションと呼ばれる領域に分割して管理するための情報を格納するものである。PBS112は1つのパーティション内の管理情報を格納するものである。FAT113はファイルに含まれるデータの物理的な格納位置を示すものである。RDE114はルートディレクトリ直下に存在するファイル、ディレクトリの情報を格納するものである。またFAT113は、ファイルに含まれるデータの物理的な格納位置を示す重要な領域であることから、通常、情報記録媒体110内には同じ情報を持つ2つのFAT113が存在し、二重化されている。
データ領域115は複数のクラスタに分割され管理されており、各クラスタにはファイルに含まれるデータが格納されている。多くのデータを格納するファイルなどは、複数のクラスタをデータ格納領域として使用する。各クラスタ間のつながりは、FAT113に格納されたリンク情報により管理されている。
第2図を用いてFATファイルシステムにおけるファイルデータの読み込み例を説明する。ルートディレクトリエントリ114やデータ領域115の一部には、第2図(A)に示すような、ファイル名やファイルサイズなどを格納するディレクトリエントリ201が格納される。ファイルデータの格納先であるデータ領域はクラスタ単位で管理される。各クラスタには一意に識別可能なクラスタ番号が付与されている。ファイルのデータが格納されているクラスタを特定するために、ディレクトリエントリ201には、ファイルデータの先頭部分が格納されているクラスタのクラスタ番号、即ち開始クラスタ番号が格納される。第2図(A)のディレクトリエントリ201の例は、FILE1.TXTという名前を持つファイルが、クラスタ番号10からデータを格納していることを示している。
複数のクラスタにデータが格納されているファイルの場合、開始クラスタ番号以降に続くクラスタ番号を特定し、データが格納されているクラスタを辿る必要がある。そのために必要なクラスタのリンク情報がFATに格納されている。第2図(B)にFAT202の例を示す。FAT202には、各クラスタ番号に対応したフィールドが設けられている。それぞれのフィールドには、各クラスタのリンク情報を示すFATエントリが格納される。FATエントリは、次にリンクされるクラスタのクラスタ番号を示すものである。第2図(B)の例では、クラスタ番号10に対応するFATエントリとして「11」が格納されている。このため、クラスタ番号10のクラスタは、クラスタ番号11のクラスタにリンクしていることになる。同様にクラスタ番号11に対応するFATエントリには「12」、クラスタ番号12に対応するFATエントリには「13」が夫々格納されており、クラスタ番号10、11、12、13の順でリンクされている。次にクラスタ番号13に対応するFATエントリには「0xFFF」が格納されている。「0xFFF」はリンクの終端を意味していることから、クラスタ番号10で始まるリンクは、10、11、12、13の4クラスタで終端する。また、クラスタ番号14に対応するFATエントリに格納されている「0」は、そのクラスタがファイルに割り当てられておらず、空き領域であることを意味している。
第2図(A)、(B)より、ファイルFILE1.TXTに割り当てられたデータ領域がクラスタ番号10、11、12、13であることが認識されると、実際にFILE1.TXTのファイルのデータを読み込む場合には、第2図(C)に示すように、データ領域203のクラスタ番号10、11、12、13のデータが順次読み込まれる。
次に第3図を用いてFATファイルシステムにおけるファイルデータの書き込み例を説明する。第2図の例と同様に、ルートディレクトリエントリやデータ領域の一部に、第3図(A)に示すディレクトリエントリ201が格納されている場合を想定する。ディレクトリエントリ201で示されるファイルは、ファイル名がFILE1.TXTであり、クラスタ番号10からファイルのデータが格納されている。また、ファイルサイズは16000バイトであり、第3図の例では1クラスタの大きさが4096バイトであるため、4クラスタにまたがってファイルのデータが格納されている。
第3図(B)はファイル書き込み前のFAT202の状態を示す。第3図(B)のFATは、第2図(B)の場合と同様に10、11、12、13の4クラスタがリンクされている状態を示しており、FILE1.TXTには10から13の4クラスタにまたがってファイルのデータが格納されていることを示している。
ここで、FILE1.TXTに対し、1000バイトのデータを更に書き込みした場合を想定する。ファイルサイズは16000バイトから17000バイトに変更されるが、元々のデータ格納用に確保している4クラスタでは16384バイトまでしかデータを格納できないことから、新たに空きクラスタを割り当ててデータを格納する必要がある。
空き領域の割り当てはFATから空きクラスタを取得し、FATのリンクを繋ぎかえることで実現する。リンクの繋ぎかえ手順は次の通りである。まず第1に、第3図(B)のFAT202から、空きクラスタであることを示す「0」が格納されたエントリを取得する。第3図(B)の場合、クラスタ番号14が空きクラスタである。次に、ファイルサイズを拡張するファイルのリンク終端に、取得した空きクラスタをリンクする。第3図(C)は、リンクを繋ぎかえた後のFAT202Aの状態を示しており、FILE1.TXTの終端であるクラスタ番号13のリンク先を「14」に変更する。そして、クラスタ番号14のリンク先をリンク終端であることを示す「0xFFF」に変更する。この処理により第3図(D)のように、FILE1.TXTはファイルのデータ領域203Aとして、「10」、「11」、「12」、「13」、「14」の5クラスタが割り当てられ、16001バイト目から16384バイト目までをクラスタ番号13の領域に書き込み、16385バイト目から17000バイト目までをクラスタ番号14の領域に書き込み、データ書き込み処理を行う。
このように、データ書き込み処理における空き領域検索処理とは、FATから“0”が格納されたエントリを取得することである。しかし、情報記録媒体110に多くのファイルが格納されている場合、空き領域を見つけるために多くのFATエントリを確認する必要がある。最悪の場合、FATの全てのエントリを確認しなければ、空き領域が見つからないこともある。そのため、高速に空き領域を検索するために、全てのFATを情報記録媒体110から情報処理装置100上のメモリに読み込んでおき、メモリ上で空き領域を検索することで、情報記録媒体110からの読み込み処理を不要とする方法がある。しかしながら、FATは情報記録媒体110の容量に比例して大きくなるため、全てのFATを保持するのに十分なメモリ容量がない場合、FATの一部のみをメモリ上に保持し、キャッシングする方法が用いられる。
FATをキャッシュする場合、一度に情報記録媒体110から読み込むサイズを大きくすれば、空き領域検索処理で全てのFATを読み込むときに、FAT読み込みにかかるオーバーヘッドを低減することができる。しかしながら、ファイルデータを読み込む際にリンク先を辿るリンク先取得処理では、次に参照すべきFATの位置が予め分かっているため、FATの読み込みサイズは小さい方が効率的である。
そこで本発明は、上記のようにFATのアクセスに対する特性が異なる空き領域検索処理又はリンク先取得処理に基づいて、FATへのアクセス方法を変更し、処理を効率化することを主眼とする。これにより、大容量の情報記録媒体110を使用した場合でも、空き領域検索における最悪処理時間を短縮することを可能にし、更にはリンク先取得処理の処理時間を増加させないことを可能にする。
本発明の課題であるデータ領域管理方法の詳細を説明する前に、情報記録用の素子として、半導体メモリを使用した情報記録媒体の特徴について説明する。半導体メモリは、小型、軽量な情報記録媒体を構成することができるので、様々な技術分野における情報記録媒体としての確固たる地位を築きつつある。半導体メモリはEEPROMあるいはFlashROMと呼ばれる不揮発性メモリを使用している。特に多くの情報記録媒体で使用されるNAND型のメモリは、データを書き込む前に、一旦書き込み先に記録されているデータを消去する必要があり、白紙の状態に戻してからデータ書き込みを行うという特徴がある。
ここでデータを消去する単位を消去ブロックと呼ぶ。消去ブロックはアクセスの最小単位であるセクタが複数個集まったブロックとして管理されている。すなわち、アクセスはセクタ(例えば512バイト)単位で行うことが可能であるが、書き込みに先立ち必要となるデータの消去処理は消去ブロック(例えば16kB)単位で行われる。例えば、1セクタの書き込み処理に200μ秒、1消去ブロック(16kB)の消去処理に2m秒、コマンド発行のオーバーヘッドに3m秒かかるFlashROMを想定する。このFlashROMの1消去ブロック(16KB)の書き込み時間は、2m秒、32×200μ秒、3m秒を加算して合計11.4m秒となる。また、1セクタの書き込み時間は、2m秒、1×200μ秒、3m秒を加算して合計5.2m秒となる。すなわち、16KBのデータを消去ブロック単位で書き込みを行った場合は16kBあたり11.4m秒の書き込み時間がかかるのに対し、同じ16kBのデータを1セクタ単位で書き込みを行った場合は16kBあたり166.4m秒の書き込み時間がかかる。このように、消去ブロック単位で書き込みを行った場合に、書き込み時間が最短になるという特徴がある。
このような一定の大きさのブロック単位でアクセス性能が最速となる現象は、半導体メモリを用いた情報記録媒体だけではなく、一部のハードディスクや光ディスクも有する特徴である。このような特定の大きさのブロック単位でアクセスした場合に、アクセス性能が最速となる情報記録媒体に本発明を適用すると、その効果が更に大きくなる。
以下、本実施例1におけるデータ領域管理方法を説明する。第4図は情報記録媒体上に構築されたファイルシステムの一例を示す説明図である。第4図の例では、情報記録媒体として半導体メモリを使用した場合を想定しており、最小のアクセス単位を1セクタ(512バイト)とし、先に説明した消去ブロックを32セクタ(16kB)としている。FATは情報記録媒体の容量に比例した大きさである。FATは通常、消去ブロックを意識せずに配置されるため、第4図に示すように二重化されたFATの1つ目であるFAT1の先頭は消去ブロックの途中に配置される。また、FAT1は123セクタの大きさであり、消去ブロック8から12までの5つの消去ブロックにまたがって配置される。本実施例におけるデータ領域管理方法では、空き領域検索処理時におけるFATのキャッシュを、この消去ブロック単位で行うことで、FATに対するアクセスを高速に行う。
続いて、FATキャッシュについて説明する。第5図はキャッシュメモリ103A上に存在するFATキャッシュ501の一例を示す図である。FATキャッシュ501は、キャッシュメモリ103A内の一部の領域を使用し、FATキャッシュ制御部108により管理される。FATキャッシュ制御部108は、FATキャッシュ501用に割り当てられているキャッシュメモリ103A内で、複数のキャッシュブロックの生成と解放を繰り返し、FATから空き領域を検索する。またFATキャッシュ制御部108は、リンク先を取得する機能をファイルシステム制御部107に対して提供する。
第5図(A)の例では、FATキャッシュ501内に4つのキャッシュブロックが存在し、情報記録媒体110からFATが読み込まれている。キャッシュブロックのブロックサイズは、消去ブロックサイズである32セクタか、最小アクセス単位である1セクタかのいずれかである。第5図(A)の例では、キャッシュブロック1及び4のブロックサイズが32セクタであり、キャッシュブロック2及び3のブロックサイズが1セクタである。残りの領域は空き領域として管理され、キャッシュがミスヒットした際にキャッシュブロックを新たに生成する領域として使用される。
また第5図(B)は、FATキャッシュ501の管理情報を格納するFATキャッシュ管理情報502の一例を示した図である。第5図(B)は第5図(A)のFATキャッシュ501に対応している。FATキャッシュ管理情報502には、ブロック開始アドレス、FATアドレス、FATサイズ、更新フラグが含まれる。
ブロック開始アドレスはキャッシュブロックのFATキャッシュ501上での開始位置を示すものである。FATアドレスはキャッシュブロック内に読み込まれているFATがFAT内のどの部分かを示すものである。FATサイズはキャッシュブロック内に読み込まれているFATのサイズを示すものである。更新フラグはキャッシュブロック内のFATが更新されているか否かを示すフラグである。
第5図(B)の例では、キャッシュブロック1がFATキャッシュ501の先頭位置から存在し、情報記録媒体のFAT先頭から22セクタ分のFATを読み込んでおり、かつキャッシュブロック1内のFATの一部が更新されていることを示している。本実施例では先頭位置を「0」ではなく、「1」と表現している。また、キャッシュブロック2がFATキャッシュ501上の33セクタ目から存在し、情報記録媒体のFATの60セクタ目から1セクタ分のFATを読み込んでおり、かつキャッシュブロック2内のFATは更新されていないことを示している。さらに、キャッシュブロック5に対応するFATキャッシュ管理情報502には、アドレスやサイズの情報に「0xFFFF」が設定されており、キャッシュブロック5が存在しないことを示している。ここで「0xFFFF」に該当する10進数の65535は、本実施例で有効なアドレスやサイズとして使用しない値である。
続いて、本実施例における空き領域検索処理について、情報記録媒体及びFATキャッシュが第4図、第5図の状態である場合を例として説明する。第6図は本実施例における空き領域検索処理の流れを示すフローチャートである。空き領域検索処理は、第1図のアプリケーションプログラム106からファイルシステム制御部107に出されたファイルアクセス要求に対し実行される。このときファイルシステム制御部107からFATキャッシュ制御部108に対し空き領域検索の要求が出され、FATキャッシュ制御部108において空き領域検索が実行される。FATキャッシュ制御部108は、適宜FATキャッシュ内のFATを読み込み、空き領域を検索した上で、取得した空き領域のクラスタ番号をファイルシステム制御部107に返す。
空き領域検索処理では、第1に空き領域の検索を開始するクラスタ番号SCNを取得する(S601)。SCNには、前回空き領域検索を終了した位置のクラスタ番号を保持しておき、次回の空き領域検索処理に使用する。
次に、SCNに対応するFAT上のエントリが格納されたFATを含む消去ブロック番号EBNを算出する(S602)。第4図、第5図の例においてSCNを「2」とし、対応するFAT上のエントリがFATの先頭セクタに格納されている場合を想定する。このとき、123セクタの大きさを持つFAT1の先頭セクタは、第4図に示すように消去ブロック8に含まれる。そのため、EBNは「8」と算出される。同様に、SCNの値が大きく、対応するFAT上のエントリがFATの100セクタ目に存在する場合、FAT1の100セクタ目は第4図に示すFAT1−4の領域に含まれる。そのためEBNは「11」と算出される。
次に、EBNで示される消去ブロックにFAT1以外のデータが含まれるか否かを確認する(S603)。例えばEBNが「8」の場合、第4図に示すように消去ブロック8にはFAT1の他にMBR・PTの一部や、PBSが含まれることから、S603の判定処理はYesとなり、S605の処理に進む。またEBNが「11」の場合、第4図に示すように消去ブロック11はFAT1のデータのみを含むため、S603の判定処理はNoとなり、S604の処理に進む。
S603の判定がNoとなった場合、FAT読み込みサイズRSとして消去ブロックサイズの32セクタを設定する(S604)。S603の判定がYesとなった場合、FAT読み込みサイズRSとして消去ブロック内のFATのデータ長を算出する(S605)。第4図、第5図の例では、EBNが「8」又は「12」の場合にこの処理が実施される。EBNが「8」の場合RSとして22セクタが設定され、EBNが「12」の場合RSとして5セクタが設定される。また、FATの先頭が読み込み対象の場合、読み込み開始位置として、消去ブロックの途中の位置が設定される。すなわち、EBNが「8」の場合、読み込み開始位置として消去ブロック8内の11セクタ目が設定される。ここまでの処理により、情報記録媒体上のFATの読み込み位置と読み込みサイズが決定される。
次に、読み込み対象領域のFATが既にFATキャッシュ上に存在するか否かを確認する(S606)。FATが存在する場合、そのキャッシュブロックの大きさが1セクタであるか否かを確認する(S607)。1セクタでない場合、既に対象FATがFATキャッシュ上に存在するため、キャッシュブロック取得後の処理であるS610の処理に進む。
S606において読み込み対象領域のFATがFATキャッシュ上に存在しなかった場合、又はS607においてキャッシュブロックの大きさが1セクタであった場合、FATの再読み込みが必要となる。FATの再読み込みに先立ち、FATキャッシュの書き戻し処理を行う(S608)。書き戻し処理では、読み込み対象領域のFATが既にFATキャッシュ上に存在する場合、FATキャッシュ上で更新されていれば、情報記録媒体にFATを書き込んだ後FATキャッシュ上の対象キャッシュブロックを解放する。また、FATキャッシュ上の空き領域が消去ブロックサイズ(32セクタ)未満であれば、FAT再読み込みに必要な空き領域を確保するために、任意のキャッシュブロックを先の解放手順と同様の手順で解放する。
次に、情報記録媒体からFATをFATキャッシュに読み込み、FATキャッシュ管理情報を更新する(S609)。ここまでの処理により、空き領域検索開始位置のエントリを含むFATがFATキャッシュ上に存在するようになる。
次に、FATキャッシュ上のキャッシュブロック内で空き領域を検索する(S610)。空き領域の検索は、検索開始クラスタ番号SCNから順にエントリを参照し、値が空き領域を示す「0」であるか確認する。「0」でない場合は次のエントリを参照し、「0」であるエントリを見つけるまで処理を繰り返す。「0」であるエントリを見つけた時点で、検索開始クラスタ番号を現在の参照位置に変更する。また、現在参照しているキャッシュブロック内で空き領域が見つからなかった場合は、検索開始クラスタ番号を、現在参照しているキャッシュブロックの終端位置に変更する。
S610の処理で空き領域を取得した場合、取得した空き領域のクラスタ番号をファイルシステム制御部107に通知し、処理を終了する(S611)。空き領域が取得できなかった場合で、未だFATの全領域を検索していなければ、S602の処理に戻り、S610で変更した検索開始クラスタ番号から空き領域検索処理を続行する(S612)。既にFATの全領域を検索済みであれば、空き領域が存在しないと判断し、ファイルシステム制御部107に空き領域がない旨を通知し、処理を終了する。
上記処理において空き領域の検索処理は、S601の検索開始クラスタ番号から検索を開始し、FAT終端まで検索しても空き領域が見つからなかった場合は、FAT先頭から検索を続行し、S601の検索開始クラスタ番号まで行う。すなわち、FATの全領域に対して空き領域の検索を行った時点で、検索処理を終了する。
このように、本実施例における空き領域検索処理は、FATに消去ブロック単位でアクセスし、FATキャッシュに読み込む。空き領域検索処理の後、取得した空き領域にデータが書き込まれると、FATキャッシュが更新される。こうすると、情報記録媒体へのFATの書き戻しも同様に消去ブロック単位でアクセスされるため、高速にFATにアクセスすることができる。
続いて、本実施例におけるリンク先取得処理について、情報記録媒体110が第4図の状態にあり、FATキャッシュが第5図の状態である場合を例として説明する。第7図は本実施例におけるリンク先取得処理の流れを示すフローチャートである。リンク先取得処理は、アプリケーションプログラム106からファイルシステム制御部107に出されたファイルアクセス要求に対し、ファイルシステム制御部107からFATキャッシュ制御部108に対しリンク先取得要求が出される。そしてFATキャッシュ制御部108においてリンク先取得処理が実行される。FATキャッシュ制御部108は、適宜FATキャッシュ内のFATを読み込み、リンク先を取得した上で、取得したリンク先のクラスタ番号をファイルシステム制御部107に返す。
リンク先取得処理では、第1にリンク先を取得したいリンク元のクラスタ番号LCNを取得する(S701)。LCNはファイルシステム制御部107がアクセスしているファイル位置を示すクラスタ番号であり、ファイルシステム制御部107がFATキャッシュ制御部108に通知する。
次に、セクタ番号SNを算出する(S702)。これはLCNに対応するFAT上のエントリが格納されたFATを含むセクタである。第4図、第5図の例においてLCNを「2」とし、対応するFAT上のエントリがFATの先頭セクタに格納されている場合を想定する。このとき、SNはFAT先頭セクタであることを示す「1」となる。同様に、LCNの値が大きく、対応するFAT上のエントリがFATの100セクタ目に存在する場合、SNは「100」となる。
リンク先取得処理では、FATの読み込みサイズは固定の1セクタとするため、ここまでの処理により、情報記録媒体110上のFATの読み込み位置と読み込みサイズが決定される。次に読み込み対象領域のFATが既にFATキャッシュ上に存在するか否かを確認する(S703)。存在する場合、キャッシュブロック取得後の処理であるS706の処理に進む。S703において読み込み対象領域のFATがFATキャッシュ上に存在しなかった場合、FATの読み込みが必要となる。FATの読み込みに先立ち、FATキャッシュ上の空き領域が存在しない場合、FAT読み込みに必要な空き領域を確保するために、任意のキャッシュブロックを解放する。このとき、解放を行うキャッシュブロックがFATキャッシュ上で更新されていれば、情報記録媒体110にFATを書き込んだ後にキャッシュブロックを解放する。
次に、情報記録媒体110からFATをFATキャッシュに読み込み、FATキャッシュ管理情報を更新する(S705)。ここまでの処理により、リンク元クラスタ番号のエントリを含むFATがFATキャッシュ上に存在するようになる。次に、FATキャッシュ上のキャッシュブロック内で、リンク先クラスタ番号を取得し、取得したクラスタ番号をファイルシステム制御部107に通知した後、処理を終了する(S706)。
このように、本実施例におけるリンク先取得処理では、アクセス制御部104がFATにセクタ単位でアクセスし、FATキャッシュに読み込む。リンク先取得処理では、FAT上の特定の1エントリのみを参照すればリンク先を取得することが可能なため、情報記録媒体への最小のアクセス単位であるセクタ単位でアクセスし、高速にリンク先を取得することができる。
以上のように本実施例では、FATのアクセスサイズを処理に応じて変更することにより、FATアクセスを効率化することができる。即ち、空き領域検索処理では、消去ブロック単位でのアクセスを行うことで、FAT読み込みに対するオーバーヘッドを削減し、空き領域検索処理の最悪時間を短縮することが可能となる。また、リンク先取得処理では、セクタ単位でのアクセスを行うことで、1回のリンク先取得処理にかかる時間を短縮することが可能となる。
なお、本発明の実施例では、第5図(B)に示すように、FATキャッシュ管理情報502として、ブロック開始アドレス、FATアドレス、FATサイズ、更新フラグの4つの情報を1組として管理する例を記載した。しかし、同様の情報によりFATキャッシュの管理が可能であれば、他の形式としても良い。また、空き領域検索処理において、空き領域の検索を開始するクラスタ番号SCNに、前回空き領域検索を終了した位置のクラスタ番号を保持しておき、次回の空き領域検索処理に使用する例について説明した。しかし、乱数を使用する方法や、毎回FAT先頭を設定するなど、その他の値を使用してもよい。
また、本発明の実施例では、消去ブロック単位でのアクセスが最速である情報記録媒体を想定して説明を行ったが、アクセス開始位置にアクセス性能が依存しない情報記録媒体に適用しても良い。その場合、本実施例では消去ブロック境界を意識したFATのキャッシュを行ったが、単純にFAT先頭から固定長ブロック単位でキャッシュをするように変更してもよい。
本実施例では、FATキャッシュ用にブロックサイズの異なる2つのキャッシュ領域を用意し、用途に応じて使い分ける。空き領域検索時及び情報記録媒体110へのFAT更新時には、ブロックサイズの大きなFAT_Writeキャッシュを使用する。また、リンク更新が伴わないリンク先取得時には、ブロックサイズの小さなFAT_Readキャッシュを使用する。このように用途に応じて2種類のキャッシュ領域を使い分けることにより、FATに対するアクセスを効率化する。
続いて、本実施例におけるFAT_Readキャッシュ、FAT_Writeキャッシュについて説明する。第9図はキャッシュメモリ上に存在するFAT_Readキャッシュ901、FAT_Writeキャッシュ902の一例を示す説明図である。FAT_Readキャッシュ901はM個のセクタから構成され、第8図のFATキャッシュ制御部107により、セクタ単位で管理されている。このFAT_Readキャッシュ901はFATの読み込み処理にのみ使用し、ファイルデータの追記などFAT上のエントリを更新する場合は、FAT_Writeキャッシュ902を使用する。
FAT_Writeキャッシュ902は、N個の固定長ブロックから構成され、FATキャッシュ制御部108により固定長ブロック単位で管理されている。情報記録媒体110が半導体メモリの場合、固定長ブロックの大きさとして消去ブロックサイズを使用する。第9図の例では固定長ブロックの大きさは32セクタである。このFAT_Writeキャッシュ902は空き領域検索処理か、又は情報記録媒体110へのFATの更新を行う際に使用する。
また第9図(B)は、FAT_Readキャッシュ901、FAT_Writeキャッシュ902を管理する情報を格納するFATキャッシュ管理情報903の一例を示した説明図である。第9図(B)は第9図(A)の状態のFAT_Readキャッシュ901、FAT_Writeキャッシュ902に対応している。FATキャッシュ管理情報903には、FATアドレス、FATサイズ、更新フラグが含まれる。FATアドレスはキャッシュブロック内に読み込まれているFATがFATのどの部分かを示すものである。FATサイズはキャッシュブロック内に読み込まれているFATのサイズを示すものである。更新フラグはキャッシュブロック内のFATが更新されているか否かを示すものである。FATキャッシュ管理情報903は、この3つの情報を1組として、FAT_Readキャッシュ901用にM組、FAT_Writeキャッシュ902用にN組の情報を含む。
FAT_Readキャッシュ901はセクタ単位で管理され、各キャッシュブロックには1セクタの情報が格納されることから、FATの情報を読み込んでいるキャッシュブロックはFATサイズが必ず「1」となる。また、FAT_Readキャッシュ901は読み込み処理にのみ使用される。このため、キャッシュブロック上のFATが更新されることはなく、更新フラグは常に“更新なし”の状態に設定されている。更に、現在使用していないキャッシュブロックには、アドレスやサイズの情報に未使用状態であることを示す「0xFFFF」が設定される。ここで「0xFFFF」に該当する10進数の65535は、本実施例で有効なアドレスやサイズとして使用しない値である。
続いて、本実施例における空き領域検索処理について説明する。第10図は本実施例における空き領域検索処理の流れを示すフローチャートである。実施例1における空き領域検索処理と異なる点は、FAT用のキャッシュとしてFAT_Writeキャッシュのみを使用する点と、S1006において読み込み対象領域のFAT_Writeキャッシュが存在した後に、キャッシュブロックのサイズを判定する処理がない点である。
キャッシュブロックのサイズ判定処理がない理由は、使用するキャッシュがFAT_Writeキャッシュのみであり、読み込み対象領域のFAT_Writeキャッシュが存在した場合、キャッシュブロックのサイズは必ず予め定められた固定長(例えば32セクタ)となっているためである。
本実施例におけるリンク先取得処理について説明する。図11は本実施例におけるリンク先取得処理の流れを示すフローチャートである。本実施例におけるリンク先取得処理が実施例1におけるリンク先取得処理と異なる点は、FAT用のキャッシュとしてFAT_Readキャッシュのみを使用する点である。
ここでは、空き領域検索処理においてFAT_Writeキャッシュを使用する手順、リンク先取得処理においてFAT_Readキャッシュを使用する手順について説明を行った。ファイルデータの追記や、ファイルの削除など、FATを更新する処理を行う場合には、空き領域検索処理と同様にFAT_Writeキャッシュに対する操作を行う。
以上のように、本実施例2ではFATに対してアクセスする際に、ブロックサイズの異なる2つのキャッシュを使い分けることにより、FATへのアクセスを効率化することができる。即ち、空き領域検索処理やFAT更新処理などの比較的大きな単位でFATにアクセスした方が効率的な場合には、ブロックサイズの大きなキャッシュを使用する。リンク先取得処理などの比較的小さな単位でFATにアクセスした方が効率的な場合には、ブロックサイズの小さなキャッシュを使用する。これにより、FATアクセス時のオーバーヘッドを低減し、効率良くFATにアクセスすることが可能となる。
なお、本発明の実施例では、FATキャッシュ管理情報としてFATアドレス、FATサイズ、更新フラグの3つの情報を1組として管理する例を記載したが、同様の情報によりFATキャッシュの管理が可能であれば他の形式としてもよい。また、本発明の実施例では消去ブロック単位でのアクセスが最速である情報記録媒体を想定して説明を行ったが、アクセス開始位置にアクセス性能が依存しない情報記録媒体に適用してもよい。その場合、本実施例では消去ブロック境界を意識したFATのキャッシュを行ったが、単純にFAT先頭から固定長ブロック単位でキャッシュをするように変更してもよい。また本発明のデータ領域管理方法は、セクタサイズや消去ブロックサイズに限定されないものとする。
産業上の利用の可能性
本発明のデータ領域管理方法は、情報記録媒体からFATを用いてデータを読み出し又は記録する際、FATに関わる情報処理装置のメモリ資源に負担をかけずにデータのアクセスを高速に行うことができる。このため、メモリ容量の制限された携帯端末装置(PDA)や、キャッシュメモリを有する情報処理装置などの用途に広く活用できる。また本発明は不揮発性の半導体メモリ、ハードディスク、光ディスク等を情報記録媒体に持つ情報処理装置には好適である。
Claims (15)
- 情報記録媒体内の情報記録領域に格納されたデータをファイルシステムによりファイルとして管理する情報処理装置に用いられ、前記情報記録媒体におけるデータ領域管理方法であって、
前記情報記録媒体の情報記録領域の空き状態及びリンク状態を管理している領域管理情報に対して前記情報処理装置がアクセスを行うに際し、
アクセスサイズを前記情報処理装置内の処理内容に応じて変更するデータ領域管理方法。 - 前記情報処理装置内の処理内容は、
前記領域管理情報から空き領域を検索する空き領域検索処理と、
前記領域管理情報からリンク先を取得するリンク先取得処理とである請求項1記載のデータ領域管理方法。 - 前記領域管理情報に対するアクセスサイズは、
前記情報処理装置内の処理内容が前記空き領域検索処理であれば、前記情報記録媒体の物理特性により決定される第1のアクセスサイズか、それ以下のサイズを使用し、
前記情報処理装置内の処理内容が前記リンク先取得処理であれば、前記情報記録媒体の最小のアクセス単位である第2のアクセスサイズを使用する請求項2記載のデータ領域管理方法。 - 前記空き領域検索処理における前記領域管理情報へのアクセスサイズは、
前記領域管理情報の先頭及び終端以外の場所にアクセスする場合には、前記情報記録媒体の物理特性により決定される物理的な管理ブロックサイズを使用し、
前記領域管理情報の先頭及び終端へアクセスする場合には、前記物理的な管理ブロックサイズと同じか、それ以下のサイズを使用する請求項3記載のデータ領域管理方法。 - 前記領域管理情報の先頭及び終端へアクセスする場合のアクセスサイズは、
前記情報記録媒体の物理特性により決定される物理的な管理ブロック内における前記領域管理情報の大きさである請求項4記載のデータ領域管理方法。 - 前記情報処理装置内の領域管理情報キャッシュとして管理ブロックサイズの異なる2つのキャッシュを設け、前記2つのキャッシュを使い分けることにより、前記アクセスサイズを前記情報処理装置内の処理内容に応じて変更する請求項1記載のデータ領域管理方法。
- 前記情報処理装置内の処理内容は、
前記領域管理情報から空き領域を検索する空き領域検索処理と、
前記領域管理情報からリンク先を取得するリンク先取得処理とである請求項6記載のデータ領域管理方法。 - 前記2つの領域管理情報キャッシュの使い分けは、
前記情報処理装置内の処理内容が前記空き領域検索処理であれば、前記情報記録媒体の物理特性により決定される物理的な管理ブロックサイズか、それ以下のサイズを有する第1の領域管理情報キャッシュを使用し、
前記情報処理装置内の処理内容が前記リンク先取得処理であれば、前記情報記録媒体の最小のアクセス単位である第2の領域管理情報キャッシュを使用する請求項7記載のデータ領域管理方法。 - 前記第1の領域管理情報キャッシュを使用する前記領域管理情報へのアクセスサイズは、
前記領域管理情報の先頭及び終端以外の場所にアクセスする場合には、前記情報記録媒体の物理特性により決定される物理的な管理ブロックサイズを使用し、
前記領域管理情報の先頭及び終端へアクセスする場合には、前記物理的な管理ブロックサイズと同じか、それ以下のサイズを使用する請求項8記載のデータ領域管理方法。 - 前記第1の領域管理情報キャッシュを使用して領域管理情報の先頭及び終端へアクセスする場合のアクセスサイズは、
前記情報記録媒体の物理特性により決定される物理的な管理ブロック内における前記領域管理情報の大きさである請求項9記載のデータ領域管理方法。 - 前記第2の領域管理情報キャッシュは、読み込み専用処理にのみ使用し、
前記第1の領域管理情報キャッシュは、前記領域管理情報内に格納された情報の変更を行う際に使用する請求項8記載のデータ領域管理方法。 - 情報記録領域に格納したデータをファイルシステムにより管理する情報記録媒体にアクセスする情報処理装置であって、
前記情報記録領域の空き状態及びリンク状態を管理している領域管理情報を前記情報記録媒体から読み出し格納するFATキャッシュと、
前記FATキャッシュを複数のブロックに分割し管理するためのFATキャッシュ管理情報として、各ブロックの開始アドレス、各ブロックに格納された領域管理情報の情報記録媒体上での位置、各ブロックの大きさ、更新の有無等の情報を保持する揮発性メモリと、
前記FATキャッシュ管理情報を参照、更新し、前記FATキャッシュに対する領域管理情報の読み替えを制御するFATキャッシュ制御部と、
前記FATキャッシュ制御部を介して領域管理情報にアクセスし、データをファイルとして情報記録媒体に格納するファイルシステム制御部と、を有する情報処理装置。 - 前記FATキャッシュは、
第1のアクセスサイズの大きさを持つブロックと、第2のアクセスサイズの大きさを持つブロックの2種類のブロックを各々1ブロック以上有し、前記第1のアクセスサイズは前記情報記録媒体の物理特性により決定される物理的な管理ブロックサイズであり、前記第2のアクセスサイズは前記情報記録媒体の最小のアクセス単位である請求項12記載の情報処理装置。 - 前記FATキャッシュ制御部は、
前記第1のアクセスサイズの大きさを持つブロックにおいて、前記領域管理情報の先頭及び終端以外の場所に格納された領域管理情報を前記ブロックに保持する場合、前記情報記録媒体の物理特性により決定される物理的な管理ブロックサイズ分のデータを情報記録媒体から読み出して保持し、
前記領域管理情報の先頭及び終端の場所に格納された領域管理情報を前記ブロックに保持する場合、前記物理的な管理ブロックサイズと同じか、それ以下のサイズ分のデータを情報記録媒体から読み出して保持する請求項13記載の情報処理装置。 - 前記ファイルシステム制御部は、
前記領域管理情報から空き領域を検索する空き領域検索処理を実施する際に、前記FATキャッシュ制御部を介して前記FATキャッシュに含まれる第1のアクセスサイズの大きさを持つブロックにアクセスし、
前記領域管理情報からリンク先を取得するリンク先取得処理を実施する際に、前記FATキャッシュ制御部を介して前記FATキャッシュに含まれる第2のアクセスサイズの大きさを持つブロックにアクセスする請求項13記載の情報処理装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003275214 | 2003-07-16 | ||
JP2003275214 | 2003-07-16 | ||
PCT/JP2004/010287 WO2005008499A1 (ja) | 2003-07-16 | 2004-07-13 | 情報記録媒体におけるデータ領域管理方法、及びデータ領域管理方法を用いた情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2005008499A1 true JPWO2005008499A1 (ja) | 2006-09-07 |
JP4551328B2 JP4551328B2 (ja) | 2010-09-29 |
Family
ID=34074543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005511875A Expired - Lifetime JP4551328B2 (ja) | 2003-07-16 | 2004-07-13 | 情報記録媒体におけるデータ領域管理方法、及びデータ領域管理方法を用いた情報処理装置 |
Country Status (5)
Country | Link |
---|---|
US (2) | US7840749B2 (ja) |
JP (1) | JP4551328B2 (ja) |
CN (1) | CN100403279C (ja) |
TW (1) | TW200504577A (ja) |
WO (1) | WO2005008499A1 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4751163B2 (ja) * | 2005-09-29 | 2011-08-17 | 株式会社東芝 | メモリシステム |
US7752391B2 (en) * | 2006-01-20 | 2010-07-06 | Apple Inc. | Variable caching policy system and method |
WO2008013227A1 (fr) * | 2006-07-26 | 2008-01-31 | Panasonic Corporation | dispositif de stockage non volatil, dispositif d'accès et système de stockage non volatil |
JP2008065779A (ja) * | 2006-09-11 | 2008-03-21 | Sony Corp | 情報処理装置および情報処理方法、プログラム、並びに、プログラム格納媒体 |
US7752412B2 (en) | 2006-09-29 | 2010-07-06 | Sandisk Corporation | Methods of managing file allocation table information |
WO2008042594A1 (en) * | 2006-09-29 | 2008-04-10 | Sandisk Corporation | Managing file allocation table information |
US7681008B2 (en) | 2006-09-29 | 2010-03-16 | Sandisk Corporation | Systems for managing file allocation table information |
KR100874702B1 (ko) * | 2006-10-02 | 2008-12-18 | 삼성전자주식회사 | 플래시 메모리 파일 시스템을 효율적으로 관리하기 위한장치 드라이버 및 방법 |
JP4356782B2 (ja) * | 2007-09-12 | 2009-11-04 | ソニー株式会社 | メモリ装置、メモリ制御方法、およびプログラム |
CN101458664B (zh) * | 2007-12-13 | 2012-09-19 | 鑫创科技股份有限公司 | 数据快取架构使用的快取方法与快取装置 |
JP5254879B2 (ja) * | 2009-05-22 | 2013-08-07 | 富士通テン株式会社 | データ書込装置、データ書込方法及びプログラム |
JP2011118623A (ja) * | 2009-12-02 | 2011-06-16 | Canon Inc | データ同期装置 |
JP5697404B2 (ja) * | 2010-11-02 | 2015-04-08 | キヤノン株式会社 | 情報処理装置、情報処理方法及びプログラム |
JP2013003701A (ja) * | 2011-06-14 | 2013-01-07 | Sony Corp | 情報処理装置及び方法、並びにプログラム |
US9563363B2 (en) * | 2013-09-27 | 2017-02-07 | Empire Technology Development Llc | Flexible storage block for a solid state drive (SSD)-based file system |
JP6107625B2 (ja) * | 2013-12-02 | 2017-04-05 | ソニー株式会社 | 記憶制御装置、記憶装置、情報処理システムおよびその記憶制御方法 |
TWI512461B (zh) * | 2014-12-25 | 2015-12-11 | Prophetstor Data Services Inc | 用於混合式儲存設備的固態硬碟快取系統 |
US9984004B1 (en) * | 2016-07-19 | 2018-05-29 | Nutanix, Inc. | Dynamic cache balancing |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0540694A (ja) * | 1991-08-02 | 1993-02-19 | Mitsubishi Electric Corp | キヤツシユメモリ装置 |
JPH07175698A (ja) * | 1993-12-17 | 1995-07-14 | Fujitsu Ltd | ファイルシステム |
JPH0997218A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | フラッシュrom管理方法及び装置及びコンピュータ制御装置 |
JP2002342135A (ja) * | 2001-05-15 | 2002-11-29 | Canon Inc | 情報処理装置及び情報処理方法並びに記憶媒体 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3777202B2 (ja) * | 1994-08-15 | 2006-05-24 | 株式会社リコー | 情報記録再生装置 |
JP2000200207A (ja) * | 1998-10-30 | 2000-07-18 | Sony Corp | 階層管理ファイル装置及びこれを具備した電子機器 |
MY122279A (en) * | 1999-03-03 | 2006-04-29 | Sony Corp | Nonvolatile memory and nonvolatile memory reproducing apparatus |
US6341331B1 (en) * | 1999-10-01 | 2002-01-22 | International Business Machines Corporation | Method and system for managing a raid storage system with cache |
US6832297B2 (en) * | 2001-08-09 | 2004-12-14 | International Business Machines Corporation | Method and apparatus for managing data in a distributed buffer system |
JP4784030B2 (ja) * | 2001-09-21 | 2011-09-28 | ソニー株式会社 | 記録装置、再生装置、記録方法、再生方法 |
-
2004
- 2004-07-06 TW TW093120281A patent/TW200504577A/zh not_active IP Right Cessation
- 2004-07-13 WO PCT/JP2004/010287 patent/WO2005008499A1/ja active Application Filing
- 2004-07-13 CN CNB2004800203532A patent/CN100403279C/zh not_active Expired - Lifetime
- 2004-07-13 US US10/564,817 patent/US7840749B2/en active Active
- 2004-07-13 JP JP2005511875A patent/JP4551328B2/ja not_active Expired - Lifetime
-
2010
- 2010-11-09 US US12/942,482 patent/US8069306B2/en not_active Expired - Lifetime
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0540694A (ja) * | 1991-08-02 | 1993-02-19 | Mitsubishi Electric Corp | キヤツシユメモリ装置 |
JPH07175698A (ja) * | 1993-12-17 | 1995-07-14 | Fujitsu Ltd | ファイルシステム |
JPH0997218A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | フラッシュrom管理方法及び装置及びコンピュータ制御装置 |
JP2002342135A (ja) * | 2001-05-15 | 2002-11-29 | Canon Inc | 情報処理装置及び情報処理方法並びに記憶媒体 |
Also Published As
Publication number | Publication date |
---|---|
TWI353549B (ja) | 2011-12-01 |
CN1823327A (zh) | 2006-08-23 |
US7840749B2 (en) | 2010-11-23 |
US20110055467A1 (en) | 2011-03-03 |
US8069306B2 (en) | 2011-11-29 |
WO2005008499A1 (ja) | 2005-01-27 |
CN100403279C (zh) | 2008-07-16 |
JP4551328B2 (ja) | 2010-09-29 |
TW200504577A (en) | 2005-02-01 |
US20070174550A1 (en) | 2007-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8069306B2 (en) | Data area managing method in information recording medium and information processor employing data area managing method | |
US7475185B2 (en) | Nonvolatile memory system, nonvolatile memory device, memory controller, access device, and method for controlling nonvolatile memory device | |
US7594062B2 (en) | Method for changing data of a data block in a flash memory having a mapping area, a data area and an alternative area | |
JP4859837B2 (ja) | 情報記録媒体アクセス装置、及びデータ記録方法 | |
US7395384B2 (en) | Method and apparatus for maintaining data on non-volatile memory systems | |
US8607016B2 (en) | FAT analysis for optimized sequential cluster management | |
JP4611024B2 (ja) | ブロック内のページをグループ化する方法及び装置 | |
KR100951107B1 (ko) | 최적의 성능을 위한 파일 관리 방법 | |
KR100324028B1 (ko) | 비휘발성 메모리에서 파일의 연속 중복기재를 수행하는 방법 | |
JP5129156B2 (ja) | アクセス装置、および、ライトワンス記録システム | |
JP2001350665A (ja) | ブロックアラインメント機能付き半導体記憶装置 | |
JP5962140B2 (ja) | プログラム、制御方法、制御装置およびシステム | |
JP2010538385A (ja) | セクタの集合を利用したキャッシュ運用方法及びキャッシュ装置 | |
JP4608434B2 (ja) | 情報記録媒体のデータ処理装置及びデータ記録方法 | |
US20100217787A1 (en) | Controller, information recording device, access device, information recording system, and information recording method | |
JP2006252137A (ja) | 不揮発性記憶装置の最適化方法 | |
CN111949212B (zh) | 基于自定义开放通道ssd的文件系统及文件管理方法 | |
JP2008134777A (ja) | ファイル割当テーブルのキャッシュ方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070515 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100309 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100423 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100706 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100709 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4551328 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130716 Year of fee payment: 3 |