JP2007080240A - Technique for accessing file allocation table - Google Patents

Technique for accessing file allocation table Download PDF

Info

Publication number
JP2007080240A
JP2007080240A JP2005379914A JP2005379914A JP2007080240A JP 2007080240 A JP2007080240 A JP 2007080240A JP 2005379914 A JP2005379914 A JP 2005379914A JP 2005379914 A JP2005379914 A JP 2005379914A JP 2007080240 A JP2007080240 A JP 2007080240A
Authority
JP
Japan
Prior art keywords
cluster
fat
storage device
clusters
external storage
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.)
Pending
Application number
JP2005379914A
Other languages
Japanese (ja)
Inventor
Jun Wang
王▲じゅん▼
Chuanen Jin
金▲ちょあん▼恩
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.)
Vimicro Corp
Original Assignee
Vimicro 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 Vimicro Corp filed Critical Vimicro Corp
Publication of JP2007080240A publication Critical patent/JP2007080240A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To disclose techniques for accessing a file allocation table (FAT). <P>SOLUTION: According to one aspect of the present invention, after the FAT from an external storage device is obtained in an interface, a linked list of clusters assigned to a file in the external storage device is distilled. The contiguous ranges of clusters in the linked list of clusters are compressed into packed records, each including location information of a first cluster and length information of a contiguous range of clusters; and the packed records are stored into a random access memory in order. By relying on the interface to manage access to the FAT in the external storage device, a processor in the device sends only an access request and then is released to perform other tasks while accessing the FAT. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、データ処理に関し、特に、ファイル割り当てテーブルを更に効率的に管理する装置及び方法に関する。   The present invention relates to data processing, and more particularly, to an apparatus and method for managing a file allocation table more efficiently.

FATファイル・システムは、周知であり、内容を本明細書及び特許請求の範囲に援用する、IBMによる西暦1988年公表のIBM DISK OPERATING SYSTEM TECHNICAL REFERENCEをはじめとするいくつかの文献に記載されている。簡潔に述べれば、FATファイル・システムでは、ディスクが512バイトのセクタのクラスタに分割される。ファイルがファイル長によって1つ又は複数のクラスタに記憶される。ディスクは、ブート・レコードと、ファイル割り当てテーブル(FAT)と、ルート・ディレクトリと、サブディレクトリ及びファイルを含むデータ領域とを更に含む。ディレクトリは、ツリー構造のディレクトリ・システムである。特定のファイルは、それがあるドライブと、ディレクトリ・パスと、ファイル名、例えば、c:/dir1/dir2/filename.ext、を規定することによって探索される。   The FAT file system is well-known and is described in several documents, including IBM DISK OPERATING SYSTEM TECHNICAL REFERENCE published by AD 1988, the contents of which are incorporated herein by reference. . Simply put, the FAT file system divides the disk into clusters of 512 byte sectors. Files are stored in one or more clusters according to file length. The disk further includes a boot record, a file allocation table (FAT), a root directory, and a data area including subdirectories and files. A directory is a tree-structured directory system. A particular file is searched by specifying the drive on which it resides, the directory path, and the file name, eg, c: /dir1/dir2/filename.ext.

図1は、FATファイル・システムのディスク形式の構成図を示す。次にFATファイル・システムを簡単に説明する。FATファイル・システムは、FAT割り当てテーブル(FAT)を中心に展開する。各論理ブリュームは、それ自体のFATと関連付けられ、FATは、2つの重要な役目を担う、すなわち、割り当て装置のリンク・リストの形式でボリューム上のファイル毎の割り当て情報を含み、作成又は拡張されるファイルへ割り当てるうえで自由状態にある割り当てクラスタを示す。ディスクがFATファイル・システムによってフォーマッティングされる場合、ブート・セクタはセクタ0に書き込まれる。これには、1つ又は複数のファイル割り当てテーブルが続く。各ファイル割り当てテーブルは、フォーマッティングされたディスクの1つ又は複数の定義可能なFAT記憶装置上に物理的に配置される。定義可能なFAT記憶装置は通常、外部ディスク記憶装置上の512バイトのセクタであるが、FAT記憶装置の容量は、256バイトや1024バイトなどのように、512バイトを上回っても下回ってもよい。ファイル割り当てテーブルにはルート・ディレクトリが続く。ルート・ディレクトリにはボリューム・ファイルが続く。ブート・セクタは、ブート・パラメータ・ブロックすなわちBPBとして表す領域におけるボリューム、ドライブ番号及びボリュームID、FAT毎セクタ数、更にはブートストラップ・ルーチンなどの種々の記述情報を含む。   FIG. 1 is a block diagram of a FAT file system disk format. The FAT file system is briefly explained next. The FAT file system revolves around a FAT allocation table (FAT). Each logical volume is associated with its own FAT, which is created or expanded to include allocation information for each file on the volume in the form of a linked list of allocation devices, namely in the form of a linked list of allocation devices. Indicates an allocation cluster that is in a free state for allocation to a file. If the disk is formatted by the FAT file system, the boot sector is written to sector 0. This is followed by one or more file allocation tables. Each file allocation table is physically located on one or more definable FAT storage devices of the formatted disk. A definable FAT storage device is usually a 512 byte sector on an external disk storage device, but the capacity of the FAT storage device may be above or below 512 bytes, such as 256 bytes or 1024 bytes. . The file allocation table is followed by the root directory. The root directory is followed by a volume file. The boot sector includes various description information such as a volume, a drive number and a volume ID, the number of sectors per FAT, and a bootstrap routine in an area represented as a boot parameter block, that is, BPB.

ファイル割り当てテーブルは、ディスク上の割り当て可能クラスタに直接相当するフィールドに分割される。第1の2つのFATエントリは予約されており、残りのFATエントリは、相当するディスク・クラスタの使用を記述する。ルート・ディレクトリにおける各ファイルのエントリは、FATへのエントリ・ポイントとして用いる、そのファイルに割り当てられる第1のクラスタの番号を含む。そのエントリ・ポイントから先は、各FATフィールドは、クラスタ終了マークに達するまでの、ファイルにおける次のクラスタの番号を含む。図2は、ファイルに割り当てられるクラスタのリンク・リストを特に示す、ファイル割り当てテーブル部分の例を示す。   The file allocation table is divided into fields directly corresponding to allocatable clusters on the disk. The first two FAT entries are reserved and the remaining FAT entries describe the use of the corresponding disk cluster. Each file entry in the root directory contains the number of the first cluster assigned to that file, which is used as an entry point into the FAT. From that entry point forward, each FAT field contains the number of the next cluster in the file until the end-of-cluster mark is reached. FIG. 2 shows an example of a file allocation table portion specifically showing a linked list of clusters allocated to the file.

FATシステムは、パソコン、ノートブック・コンピュータに用いられているだけでなく、ディジタル音楽プレイヤ及びカメラ、携帯情報端末(PDA)、ビデオカメラ、携帯電話機等などの特定の比較的小型の消費者向け電子製品にも用いられている。一般的に、ハード・ディスク、メモリ・カードや外部機構装置に記憶されているファイルをアクセスする場合、FATは、コンピュータのROMや消費者向電子製品のバッファ記憶装置にまず読み込まれなければならない。FATの情報によって、中央処理装置(CPU)は、外部記憶装置上に記憶されている所望のファイルをアクセスする旨の適切なアクセス・コマンドを記憶装置に送る。   FAT systems are not only used in personal computers and notebook computers, but also in certain relatively small consumer electronics such as digital music players and cameras, personal digital assistants (PDAs), video cameras, mobile phones, etc. It is also used in products. Generally, when accessing a file stored on a hard disk, a memory card, or an external mechanism device, the FAT must first be read into a ROM of a computer or a buffer storage device of a consumer electronic product. Based on the FAT information, the central processing unit (CPU) sends an appropriate access command to the storage device to access a desired file stored on the external storage device.

FATは、通常用いられるパソコン(PC)やノートブック・コンピュータに常時確保するのに十分容量が小さいものであり得る。しかし、FATは、一部の比較的小型の消費者向電子製品(例えば、PDA)のバッファ記憶装置に常時保持するには容量が比較的大き過ぎる状態になり得るものであり、よって、機器のシステム性能及びデータ・スループットを低下させる。いずれにせよ、PCであってもノートブックであっても消費者向電子製品であっても機器における中央処理装置はFATを直接管理し、それによって、CPUの一部のリソースを占有し、行ううえでCPUのリソースを必要とする他のタスクの性能を悪化させる。   The FAT can be of a small enough capacity to always be secured in a commonly used personal computer (PC) or notebook computer. However, FAT can be too large for constant storage in the buffer storage of some relatively small consumer electronic products (eg, PDAs), thus Reduce system performance and data throughput. In any case, the central processing unit in the device, whether it is a PC, notebook or consumer electronic product, directly manages the FAT, thereby occupying and performing some resources of the CPU In addition, it degrades the performance of other tasks that require CPU resources.

よって、CPUのリソースに対する影響が最小で、更に効率的にファイル割り当てテーブルをアクセスする手法に対する必要性が存在する。   Therefore, there is a need for a technique for accessing the file allocation table more efficiently with minimal impact on CPU resources.

この部分は、本発明の一部の特徴を要約する目的のためのものであり、好ましい実施例の一部を簡単に紹介するというものである。本明細書のこの部分や要約書、本発明の名称における簡略化や省略を、この部分、要約書や名称の目的をわかりにくくしないようにするよう行い得る。そうした簡略化や省略は、本発明の範囲を限定することを意図するものでない。   This part is for the purpose of summarizing some features of the present invention and is intended to briefly introduce some of the preferred embodiments. Simplifications or omissions in this part of the specification, abstracts, or names of the present invention may be made so as not to obscure the purpose of the part, abstract or name. Such simplifications and omissions are not intended to limit the scope of the invention.

一般的に、本発明は、ファイル割り当てテーブル(FAT)をアクセスする手法に係わる。本発明の一特徴によれば、外部記憶装置からFATがインタフェースにおいて得られた後、外部記憶装置におけるファイルに割り当てられるクラスタのリンク・リストが抽出される。クラスタのリンク・リストにおけるクラスタの隣接領域がパック・レコードに圧縮され、各々は、第1クラスタの位置情報とクラスタの隣接領域の長さ情報とを含み、パック・レコードは、ランダム・アクセス・メモリに順番に記憶される。外部記憶装置におけるFATへのアクセスをインタフェースが管理することに依拠することによって、機器におけるプロセッサは、アクセス要求のみを送り、更に、FATをアクセス中に他のタスクを行うよう解放される。   In general, the present invention relates to a technique for accessing a file allocation table (FAT). According to one aspect of the present invention, after a FAT is obtained from an external storage device at the interface, a linked list of clusters assigned to files in the external storage device is extracted. The adjacent areas of the cluster in the linked list of clusters are compressed into pack records, each including position information of the first cluster and length information of the adjacent areas of the cluster, and the pack record includes random access memory Are stored in order. By relying on the interface managing access to the FAT in the external storage device, the processor in the device is only sent access requests and is freed to perform other tasks while accessing the FAT.

本発明は、ハードウェア及びソフトウェアにおいてシステム、装置又は方法として実施し得る。一実施例によれば、本願の方法はファイル割り当てテーブル(FAT)をアクセスする方法であり、この方法は、FATを外部記憶装置から得る工程と、外部記憶装置におけるファイルに割り当てられるクラスタのリンク・リストを抽出する工程と、クラスタのリンク・リストにおけるクラスタの隣接領域をパック・レコードに圧縮する工程とを備え、各々は、第1のクラスタの位置情報とクラスタの隣接領域の長さ情報とを含み、更に、パック・レコードをランダム・アクセス・メモリに順番に記憶する工程を備える。   The present invention can be implemented as a system, apparatus, or method in hardware and software. According to one embodiment, the method of the present application is a method of accessing a file allocation table (FAT) comprising: obtaining a FAT from an external storage device; and linking a cluster assigned to a file in the external storage device. Extracting a list; and compressing adjacent areas of clusters in a linked list of clusters into packed records, each of which includes position information of a first cluster and length information of adjacent areas of the cluster. And storing the pack records in the random access memory in order.

一実施例によれば、本願の装置は、ファイル割り当てテーブル(FAT)をアクセスする装置であり、この装置は、FATを外部記憶装置から得て、外部記憶装置におけるファイルに割り当てられるクラスタのリンク・リストを抽出するFATアクセス装置と、クラスタのリンク・リストにおけるクラスタの隣接領域をパック・レコードに圧縮する圧縮装置とを備え、各々は、第1のクラスタの位置情報とクラスタの隣接領域の長さ情報とを含み、更に、パック・レコードをランダム・アクセス・メモリに順番に記憶する結果記憶装置を備える。   According to one embodiment, the device of the present application is a device that accesses a file allocation table (FAT), which obtains the FAT from an external storage device and allocates the link of the cluster assigned to the file in the external storage device. A FAT access device for extracting the list, and a compression device for compressing the adjacent region of the cluster in the linked list of the cluster into a pack record, each of which includes position information of the first cluster and the length of the adjacent region of the cluster And a result storage device for sequentially storing the pack records in the random access memory.

本発明の目的、特徴及び効果の1つとして、ファイル割り当てテーブルの効率的なアクセス手法を備えるというものがある。   One of the objects, features, and effects of the present invention is to provide an efficient method for accessing a file allocation table.

本発明の他の目的、特徴及び効果は、添付図面とともに検討する、以下の、その実施例の詳細説明を検討することによって明らかになる。   Other objects, features and advantages of the present invention will become apparent from the following detailed description of an embodiment thereof, considered in conjunction with the accompanying drawings.

本発明のこれらや他の特徴、局面及び効果は、以下の記載、本特許請求の範囲及び添付図面に関して更に分かるようになるものである。   These and other features, aspects and advantages of the present invention will become more apparent with respect to the following description, appended claims and accompanying drawings.

本発明の詳細説明は、本発明において想定される装置又はシステムの動作に直接的又は間接的に類似した手順、工程、論理ブロック、処理や他の記号表現によって概ね提示される。こうした記述や表現は、自らの成果の本質を当該技術分野における他の当業者に最も効果的に伝えるよう当業者によって通常用いられる。   The detailed description of the present invention is generally presented in terms of procedures, steps, logic blocks, processes and other symbolic representations that are directly or indirectly similar to the operation of the apparatus or system envisaged in the present invention. Such descriptions and expressions are commonly used by those skilled in the art to most effectively convey the essence of their work to others skilled in the art.

本明細書及び特許請求の範囲における「one embodiment」や「an embodiment」への言及は、当該実施例に関して説明する特定の特徴、構造又は特性を本発明の少なくとも一実施例に含めることができるということを意味する。本明細書における種々の箇所において「in one embodiment」の句が生起することは必ずしも、全てが同じ実施例を表すものでなく、他の実施例と独立排他的に別個の実施例又は代替的な実施例を表すものでもない。更に、本発明の1つ又は複数の実施例を表す、プロセス・フローチャート又はプロセス図におけるブロックの順序や、連番の使用は、本来的に、何れかの特定の順序を示すものでも本発明における何れかの制約を示唆するものでもない。   References to “one embodiment” or “an embodiment” in the present specification and claims include that the particular feature, structure, or characteristic described with respect to the embodiment can be included in at least one embodiment of the invention. Means that. The occurrences of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, but are independent of or separate from other embodiments. Nor does it represent an example. Further, the order of blocks or the use of sequential numbers in a process flowchart or process diagram, which represents one or more embodiments of the invention, may be used in the present invention to indicate any particular order. It does not suggest any constraints.

従来技術では、FATは、機器、特に、携帯電話機やPDAなどの携帯型の機器のバッファ記憶空間に常時保持するには容量が比較的大きすぎる状態になる。FATをアクセスするよう、機器のプロセッサの制御下でFATをバッファ記憶装置にばらばらにページングしなければならず、よって、機器自体のシステム性能及びデータ・スループットが低下する。しかし、ファイルに割り当てられる、限定されたバッファ記憶装置の大量のボリュームを占有する多くの、クラスタの隣接領域が存在することが分かる。例えば、図3を参照すれば、ファイルに割り当てられるクラスタの番号は、a、a+1、a+2、a+3、b、b+1、b+2、b+3、c+1、c+2、c+3、c+4、dの各々であり、a、b、c、dは異なる自然数を表す。本発明の一特徴によれば、FATをランダム・アクセス・メモリにおいて圧縮して、プロセッサ上の計算量の負担を受けることなくアクセス効率を向上させる。本発明の別の特徴では、インタフェースとして加速式装置を外部記憶装置と機器(又はそのプロセッサ)との間に備える。加速式装置は、プロセッサが他のタスクを行ううえで解放されるようにアクセス動作を管理するよう構成される。   In the prior art, the FAT has a relatively large capacity to be always held in the buffer storage space of a device, particularly a portable device such as a mobile phone or a PDA. To access the FAT, the FAT must be paged separately into the buffer storage under the control of the device's processor, thus reducing the system performance and data throughput of the device itself. However, it can be seen that there are many adjacent regions of the cluster that occupy a large volume of limited buffer storage allocated to the file. For example, referring to FIG. 3, the cluster numbers assigned to the files are a, a + 1, a + 2, a + 3, b, b + 1, b + 2, b + 3, c + 1, c + 2, c + 3, c + 4, and d, and a, b, c, and d represent different natural numbers. According to one aspect of the present invention, FAT is compressed in a random access memory to improve access efficiency without burdening the computational load on the processor. In another aspect of the invention, an acceleration device is provided as an interface between the external storage device and the device (or its processor). The acceleration device is configured to manage access operations so that the processor is freed to perform other tasks.

次に図5を参照すれば、501で、FATが外部記憶装置から得られ、ファイルに割り当てられるクラスタのリンク・リストがFATから抽出される。図3に示すファイルに割り当てられるクラスタのリンク・リストは、a、a+1、a+2、a+3、b、b+1、b+2、b+3、c+1、c+2、c+3、c+4、dである。502では、クラスタのリンク・リストのクラスタの隣接領域が、その位置情報及び長さ情報を含むパック・レコードに圧縮される。位置情報は、例えば、第1クラスタというクラスタ番号を含む。例えば、図4Bを参照すれば、第1の、クラスタの隣接領域を、a、a+1、a+2、a+3として示すので、第1のパック・レコードは、第1のクラスタの位置情報としてのaと、長さ情報としての4を含む。   Referring now to FIG. 5, at 501, a FAT is obtained from the external storage device, and a linked list of clusters assigned to the file is extracted from the FAT. The linked list of clusters assigned to the file shown in Figure 3 is a, a + 1, a + 2, a + 3, b, b + 1, b + 2, b + 3, c + 1, c + 2 , C + 3, c + 4, d. At 502, the adjacent region of the cluster in the cluster linked list is compressed into a pack record containing its location information and length information. The position information includes, for example, a cluster number called the first cluster. For example, referring to FIG. 4B, since the first adjacent region of the cluster is indicated as a, a + 1, a + 2, a + 3, the first pack record is the position of the first cluster. Includes a as information and 4 as length information.

502では、他の、クラスタの隣接領域があればそれをパック・レコードに圧縮することができる。503では、クラスタのリンク・リストの代わりにパック・レコードが、クラスタの隣接領域がクラスタのリンク・リストに配置されている順序でランダム・アクセス・メモリに記憶される。504では、ファイルは、クラスタのリンク・リストではなくパック・レコードによってホスト・プロセッサによってアクセスされる。例証した実施例では、クラスタのリンク・リストのパック形式は、クラスタの隣接領域の特性を利用して、クラスタのリンク・リストのボリュームを削減する。   In 502, if there is another adjacent area of the cluster, it can be compressed into a pack record. At 503, packed records are stored in the random access memory in the order in which the adjacent areas of the cluster are placed in the linked list of clusters instead of the linked list of clusters. At 504, the file is accessed by the host processor via a pack record rather than a cluster linked list. In the illustrated embodiment, the cluster linked list pack format takes advantage of the adjacent region characteristics of the cluster to reduce the volume of the cluster linked list.

図6を参照すれば、FATアクセス装置は、ホスト・プロセッサが直接アクセスすることができるFATアクセス装置601と、圧縮装置602と、結果記憶装置603とを備える。FATアクセス装置601は、外部記憶装置600に記憶されるFATをアクセスし、ファイルに割り当てられるクラスタのリンク・リストを抽出するよう形成される。FATアクセス装置601の例は、以下の段落に詳細に説明することとする図7に示す。圧縮装置602は、クラスタのリンク・リストをパック・レコードに圧縮するよう形成される。結果記憶装置603は、パック・レコードを記憶するよう形成される。したがって、ホスト・プロセッサは、クラスタのリンク・リストではなくパック・レコードによって外部記憶装置におけるファイルをアクセスすることができる。   Referring to FIG. 6, the FAT access device includes a FAT access device 601 that can be directly accessed by the host processor, a compression device 602, and a result storage device 603. The FAT access device 601 is configured to access the FAT stored in the external storage device 600 and extract a linked list of clusters assigned to the file. An example of a FAT access device 601 is shown in FIG. 7, which will be described in detail in the following paragraphs. The compression device 602 is configured to compress the linked list of clusters into packed records. Result storage device 603 is configured to store pack records. Thus, the host processor can access files on the external storage device by packed records rather than by a linked list of clusters.

圧縮装置602によって行われる502での圧縮処理は、
クラスタの隣接領域の第1のクラスタの位置情報としてFATアクセス装置601から、図3におけるaなどの、クラスタのリンク・リストの第1のクラスタ番号を得て、クラスタの隣接領域のLENGTH情報の値を1に設定する工程と、
次のクラスタ番号をFATアクセス装置601から得て、次のクラスタ番号に第1のクラスタ番号が隣接しているかを判定する工程と、
判定結果が肯定の場合は、LENGTH情報の値を1増加させ、最後の工程を繰り返し、判定結果が否定の場合は、次の、クラスタの隣接領域の第1のクラスタの位置情報として次のクラスタ番号を設定し、終了情報に達するまで上記工程を繰り返す工程とを含む。
The compression processing at 502 performed by the compression device 602 is as follows:
The first cluster number of the cluster link list such as a in FIG. 3 is obtained from the FAT access device 601 as the position information of the first cluster in the adjacent area of the cluster, and the value of the LENGTH information in the adjacent area of the cluster Setting 1 to 1,
Obtaining a next cluster number from the FAT access device 601 and determining whether the first cluster number is adjacent to the next cluster number;
If the determination result is affirmative, the value of LENGTH information is incremented by 1 and the last step is repeated. If the determination result is negative, the next cluster is used as the position information of the first cluster in the adjacent area of the next cluster Setting a number and repeating the above steps until the end information is reached.

外部記憶装置と機器のホスト・プロセッサとの間の通信インタフェースを備えるFATアクセス装置601の例を図7に示す。FAT管理を加速式装置300に置くことによって、ホスト・プロセッサは、外部記憶装置がアクセスされている時点で行う必要がある他のタスクを行うよう解放される。   An example of a FAT access device 601 having a communication interface between the external storage device and the host processor of the device is shown in FIG. By placing FAT management on the accelerated device 300, the host processor is freed to perform other tasks that need to be done when the external storage device is being accessed.

一実施例では、FATアクセス装置601は、中央制御装置(CCU)301、FAT記憶セクタ算出装置(FAT記憶セクタCU)302、FAT記憶セクタ・アクセス装置(FAT記憶セクタAU)303、バッファ304、データ事前アクセス装置305及び結果保存装置306を備える。なお、FATアクセス装置601は外部記憶装置に組み込まれてもよく、ホスト・プロセッサ(図示せず)とともに1つのチップに一体化されてもよく、物理的な構造において外部記憶装置及びホスト・プロセッサから分離されてもよい。バッファ304は通常、512バイトのボリュームを有するが、1024バイトや2048バイト等などの何れかの所定の容量を有し得る。   In one embodiment, the FAT access device 601 includes a central control unit (CCU) 301, a FAT storage sector calculation device (FAT storage sector CU) 302, a FAT storage sector access device (FAT storage sector AU) 303, a buffer 304, data A pre-access device 305 and a result storage device 306 are provided. Note that the FAT access device 601 may be incorporated in an external storage device, or may be integrated on a single chip together with a host processor (not shown), and from the external storage device and the host processor in the physical structure. It may be separated. The buffer 304 typically has a 512-byte volume, but may have any predetermined capacity, such as 1024 bytes or 2048 bytes.

ホスト・プロセッサが、外部記憶装置内のファイルを読み取る旨の読み取りアクセス要求を行うと、外部記憶装置のルート・ディレクトリに含まれており、オブジェクト・ファイルに割り当てられる開始クラスタ番号が加速式装置300に送られる。好ましくは図7にとともに理解される図8を次に参照すれば、801では、CCU301が、オブジェクト・ファイルの開始クラスタ番号を得て、それをFAT記憶セクタCU302に送る。802では、FAT記憶セクタCU302は、開始クラスタ番号が記憶されているFAT記憶セクタの番号を算出し、算出結果をFAT記憶セクタAU303に送る。図示した実施例では、FAT記憶セクタCU302の算出は、   When the host processor makes a read access request to read a file in the external storage device, the start cluster number included in the root directory of the external storage device and assigned to the object file is assigned to the acceleration device 300. Sent. Referring now to FIG. 8, which is preferably understood in conjunction with FIG. 7, at 801, the CCU 301 obtains the starting cluster number of the object file and sends it to the FAT storage sector CU302. In 802, the FAT storage sector CU302 calculates the number of the FAT storage sector in which the start cluster number is stored, and sends the calculation result to the FAT storage sector AU303. In the illustrated embodiment, the calculation of the FAT storage sector CU302 is

Figure 2007080240
の式を参照し、LBAはFATの一部が記憶されているFAT記憶セクタの番号を表し、FATstart
は、FAT記憶セクタの開始番号を表し、Indexはクラスタ・インデックス番号を表し、開始クラスタ番号は、第1のクラスタ・インデックス番号としての役目を担い、Sizesectorは、512バイト、1024バイト、2048バイト、4096バイトなどの各FAT記憶セクタのボリュームを表し、Lenunitは、各クラスタ番号によって占められるボリュームを表す。FAT12、FAT16及びFAT32における各クラスタ番号は、3バイトと、4バイトと、8バイトとの各々を占める。
Figure 2007080240
LBA represents the number of the FAT storage sector in which a part of the FAT is stored, and FAT start
Represents the start number of the FAT storage sector, Index represents the cluster index number, the start cluster number serves as the first cluster index number, and the Size sector is 512 bytes, 1024 bytes, 2048 bytes , 4096 bytes, etc., each FAT storage sector volume, Len unit represents the volume occupied by each cluster number. Each cluster number in FAT12, FAT16, and FAT32 occupies 3 bytes, 4 bytes, and 8 bytes.

803では、FAT記憶セクタAU303は、802で判定されるFAT記憶セクタにおけるFATの一部を読み出し、FATの一部をバッファ304に送る。604では、事前アクセス装置305は、第1のクラスタ・インデックス番号としてみなされる開始クラスタ番号に含まれる内容を読み出す。805では、CCU301は、開始クラスタ番号に含まれる内容を読み取り、それを結果保存装置306に記憶する。806では、CCU301は、開始クラスタ番号に含まれる内容をFAT記憶セクタCU303に次のクラスタ・インデックス番号として送って、終了クラスタ・マークに達するまで上記工程を繰り返す。806で終了クラスタ・マークに達すると、オブジェクト・ファイルに割り当てられるクラスタのエンティティ・リンク・リストが結果保存装置306に収集され、FATアクセス装置601の読み取りアクセス手順が終了する。   In 803, the FAT storage sector AU303 reads a part of the FAT in the FAT storage sector determined in 802, and sends a part of the FAT to the buffer 304. In 604, the pre-access device 305 reads the content included in the starting cluster number that is considered as the first cluster index number. In 805, the CCU 301 reads the content included in the start cluster number and stores it in the result storage device 306. In 806, the CCU 301 sends the content included in the start cluster number to the FAT storage sector CU303 as the next cluster index number, and repeats the above steps until the end cluster mark is reached. When the end cluster mark is reached in 806, the entity link list of the cluster assigned to the object file is collected in the result storage device 306, and the read access procedure of the FAT access device 601 is completed.

本発明の重要な特徴の1つとして、アクセス要求が行われる前にホスト・プロセッサにFAT全体が送られる訳でなく、その代わりに、他のタスクを行うようホスト・プロセッサが解放されるようにFATが加速式装置によって管理されるということがある。他の特徴、便益及び効果は、本発明の上記詳細説明から分かり得る。   One important feature of the present invention is that the entire FAT is not sent to the host processor before an access request is made, but instead the host processor is freed to perform other tasks. Sometimes FAT is managed by an accelerated device. Other features, benefits and advantages can be seen from the above detailed description of the invention.

本発明は、ある程度の特定性をもって十分詳細に説明した。本願の実施例の開示は例として行ったに過ぎず、部分の配置及び組み合わせにおける種々の変更を、本特許請求の範囲記載の本発明の技術思想及び範囲から逸脱することなく行使し得るということが当業者に分かるものである。よって、本発明の範囲は、実施例の上記説明よりも本特許請求の範囲によって規定される。   The present invention has been described in sufficient detail with a certain degree of specificity. The disclosure of the embodiments of the present application is merely an example, and various changes in arrangement and combination of parts can be exercised without departing from the spirit and scope of the present invention described in the claims. Will be understood by those skilled in the art. Accordingly, the scope of the present invention is defined by the appended claims rather than the foregoing description of the embodiments.

FATファイル・システムのディスク形式を示す図である。It is a figure which shows the disk format of a FAT file system. ファイルに割り当てられるクラスタのリンク・リストを特に示す、ファイル割り当てテーブルの断片の例を示す図である。FIG. 4 is a diagram showing an example of a file allocation table fragment specifically showing a linked list of clusters allocated to a file. ファイルに割り当てられるクラスタのリンク・リストの別の例を示す図である。It is a figure which shows another example of the link list | wrist of the cluster allocated to a file. 図3に示すクラスタのリンク・リストのパケット形式を示す図である。FIG. 4 is a diagram showing a packet format of a link list of the cluster shown in FIG. FATのクラスタのリンク・リストを圧縮するパック方法を示す図である。It is a figure which shows the packing method which compresses the link list of a cluster of FAT. FATのクラスタのリンク・リストを圧縮するパック装置を示す図である。It is a figure which shows the pack apparatus which compresses the link list of a cluster of FAT. クラスタのリンク・リストを外部記憶装置から得るFATアクセス装置を略示する構成図である。FIG. 3 is a block diagram schematically showing a FAT access device that obtains a linked list of clusters from an external storage device. 外部記憶装置におけるFATへのFATアクセス装置の読み取りアクセスの動作手順を示す流れ図である。5 is a flowchart showing an operation procedure of a read access of a FAT access device to a FAT in an external storage device.

符号の説明Explanation of symbols

300 加速式装置
301 中央制御装置
302 FAT記憶セクタ算出装置
303 FAT記憶セクタ・アクセス装置
304 バッファ
305 事前アクセス装置
306 結果保存装置
307 結果記憶装置
310 外部記憶装置
3011 読み取りサブユニット
3012 新規作成サブユニット
3013 改訂サブユニット
3014 削除サブユニット
600 外部記憶装置
601 FATアクセス装置
602 圧縮装置
603 結果記憶装置
300 Accelerator
301 Central control unit
302 FAT storage sector calculation device
303 FAT storage sector access device
304 buffers
305 Advance access device
306 Result storage device
307 result storage
310 External storage
3011 reading subunit
3012 Newly created subunit
3013 Revised subunit
3014 Deletion subunit
600 External storage device
601 FAT access device
602 compressor
603 result storage

Claims (9)

ファイル割り当てテーブル(FAT)をアクセスする方法であって、
前記FATを外部記憶装置から得る工程と、
前記外部記憶装置内のファイルに割り当てられるクラスタのリンク・リストを抽出する工程と、
前記クラスタのリンク・リストにおけるクラスタの隣接領域をパック・レコードに圧縮する工程とを備え、
該パック・レコード各々は、第1のクラスタの位置情報と、クラスタの隣接領域の長さ情報とを含み、
更に、前記パック・レコードをランダム・アクセス・メモリに順番に記憶する工程を備えることを特徴とする方法。
A method for accessing a file allocation table (FAT),
Obtaining the FAT from an external storage device;
Extracting a linked list of clusters assigned to files in the external storage device;
Compressing adjacent areas of clusters in the linked list of clusters into packed records,
Each of the pack records includes position information of the first cluster and length information of adjacent areas of the cluster,
The method further comprises the step of sequentially storing the pack records in a random access memory.
請求項1記載の方法であって、
前記FATを得る工程は、前記外部記憶装置と、外部記憶装置をアクセスする装置内のプロセッサとの間のインタフェースを備えるアクセス装置によって行われ、
該アクセス装置は、中央制御装置と、FAT記憶セクタ算出装置と、FAT記憶セクタ・アクセス装置と、バッファと結果保存装置とを備えることを特徴とする方法。
The method of claim 1, wherein
The step of obtaining the FAT is performed by an access device including an interface between the external storage device and a processor in the device accessing the external storage device,
The access device comprises a central controller, a FAT storage sector calculation device, a FAT storage sector access device, a buffer, and a result storage device.
請求項2記載の方法であって、
前記FATを得る工程は、
ホスト・プロセッサからのオブジェクト・ファイルが割り当てられる開始クラスタ番号を得て、該開始クラスタ番号を前記FAT記憶セクタ算出装置に第1のクラスタ・インデックス番号として前記中央制御装置によって送る工程と、
前記FAT記憶セクタ算出装置によって、前記第1のクラスタ・インデックス番号に相当するFAT記憶セクタの番号を算出する工程と、
前記FAT記憶セクタ・アクセス装置によって、前記算出結果による、前記FATの一部を前記バッファに読み込む工程と、
前記第1のクラスタ・インデックス番号の内容を前記中央制御装置によって読み込む工程と、
前記第1のクラスタ・インデックス番号の前記内容を、前記結果保存装置に前記中央制御装置によって記憶して、前記オブジェクト・ファイルに割り当てられるクラスタのリンク・リストを得て、かつ、前記第1のクラスタ・インデックス番号の前記内容を、前記FAT記憶セクタ算出装置に次のクラスタ・インデックス番号として送って、前記オブジェクト・ファイルの終了クラスタ・マークに達するまで相当する工程を繰り返す工程とを備えることを特徴とする方法。
The method of claim 2, comprising
The step of obtaining the FAT includes
Obtaining a starting cluster number to which an object file from a host processor is assigned and sending the starting cluster number to the FAT storage sector calculation device as a first cluster index number by the central controller;
Calculating a FAT storage sector number corresponding to the first cluster index number by the FAT storage sector calculating device;
The FAT storage sector access device reads the part of the FAT into the buffer according to the calculation result;
Reading the contents of the first cluster index number by the central controller;
The content of the first cluster index number is stored by the central controller in the result storage device to obtain a linked list of clusters assigned to the object file, and the first cluster Sending the content of the index number to the FAT storage sector calculation device as a next cluster index number, and repeating the corresponding steps until reaching the end cluster mark of the object file, how to.
請求項1記載の方法であって、
前記第1のクラスタの番号が該第1のクラスタの前記位置情報として設定されることを特徴とする方法。
The method of claim 1, wherein
The number of the first cluster is set as the position information of the first cluster.
請求項1記載の方法であって、
前記クラスタの隣接領域を圧縮する工程が、
前記クラスタのリンク・リストの第1のクラスタ番号をクラスタの隣接領域の前記第1のクラスタの位置情報として得て、クラスタの隣接領域のLENGTH情報の値を1に設定する工程と、
次のクラスタ番号を得て、該次のクラスタ番号に前記第1のクラスタ番号が隣接しているかを判定する工程と、
前記第1のクラスタ番号が前記次のクラスタ番号に隣接している場合、前記LENGTH情報の前記値を1、増加させる工程又は
前記第1のクラスタ番号が前記次のクラスタ番号に隣接していない場合、前記次のクラスタ番号を前記クラスタの次の隣接領域の前記第1のクラスタの前記位置情報として設定する工程とを備えることを特徴とする方法。
The method of claim 1, wherein
Compressing adjacent regions of the cluster,
Obtaining a first cluster number of the cluster link list as position information of the first cluster in the adjacent area of the cluster, and setting a value of LENGTH information of the adjacent area of the cluster to 1,
Obtaining a next cluster number and determining whether the first cluster number is adjacent to the next cluster number;
When the first cluster number is adjacent to the next cluster number, the step of increasing the value of the LENGTH information by 1, or when the first cluster number is not adjacent to the next cluster number And setting the next cluster number as the position information of the first cluster in the next adjacent region of the cluster.
請求項1記載の方法であって、
ホスト・プロセッサが、前記クラスタのリンク・リストの代わりに前記パック・レコードによって前記ファイルをアクセスすることができることを特徴とする方法。
The method of claim 1, wherein
A method wherein a host processor can access the file by the packed record instead of the linked list of clusters.
請求項6記載の方法であって、
前記第1のクラスタの位置情報と、前記クラスタの隣接領域の多くの前記長さ情報が、前記ホスト・プロセッサが直接アクセスすることができる結果記憶装置に記憶されることを特徴とする方法。
The method of claim 6, wherein
The location information of the first cluster and the length information of a number of adjacent areas of the cluster are stored in a result storage device that can be accessed directly by the host processor.
FATをアクセスする装置であって、
前記FATを外部記憶装置から得て、該外部記憶装置内のファイルに割り当てられるクラスタのリンク・リストを抽出するFATアクセス装置と、
前記クラスタのリンク・リストにおけるクラスタの隣接領域をパック・レコードに圧縮する圧縮装置とを備え、
該パック・レコード各々は、第1のクラスタの位置情報と、クラスタの隣接領域の長さ情報とを含み、
更に、前記パック・レコードをランダム・アクセス・メモリに順番に記憶する結果記憶装置を備えることを特徴とする装置。
A device that accesses FAT,
A FAT access device that obtains the FAT from an external storage device and extracts a linked list of clusters assigned to files in the external storage device;
A compression device that compresses adjacent areas of clusters in the linked list of clusters into packed records;
Each of the pack records includes position information of the first cluster and length information of adjacent areas of the cluster,
The apparatus further comprises a result storage device for sequentially storing the pack records in a random access memory.
請求項8記載の装置であって、
前記外部記憶装置と、装置のホスト・プロセッサとの間の通信インタフェースを備える前記アクセス装置が、中央制御装置と、FAT記憶セクタ算出装置と、FAT記憶セクタ・アクセス装置と、バッファと結果保存装置とを備えることを特徴とする装置。
The device of claim 8, wherein
The access device having a communication interface between the external storage device and a host processor of the device includes a central control device, a FAT storage sector calculation device, a FAT storage sector access device, a buffer, and a result storage device. A device comprising:
JP2005379914A 2005-09-13 2005-12-28 Technique for accessing file allocation table Pending JP2007080240A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005101026917A CN100419756C (en) 2005-09-13 2005-09-13 File distribution list file system read-write method and device

Publications (1)

Publication Number Publication Date
JP2007080240A true JP2007080240A (en) 2007-03-29

Family

ID=36139459

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005379914A Pending JP2007080240A (en) 2005-09-13 2005-12-28 Technique for accessing file allocation table

Country Status (3)

Country Link
JP (1) JP2007080240A (en)
CN (1) CN100419756C (en)
TW (1) TW200725268A (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100485681C (en) * 2006-03-23 2009-05-06 北京握奇数据系统有限公司 Smart card storage system and managing method for file creation in the system
CN100517236C (en) 2006-04-03 2009-07-22 北京握奇数据系统有限公司 Intelligent card embedded operation system and its control method
CN100535935C (en) 2006-12-26 2009-09-02 北京握奇数据系统有限公司 CPUCPU and logic encryption double-purpose smart card and its data synchronization method
CN101908050B (en) * 2009-06-03 2013-04-24 晨星软件研发(深圳)有限公司 File format conversion method
CN101996250B (en) * 2010-11-15 2012-07-25 中国科学院计算技术研究所 Hadoop-based mass stream data storage and query method and system
CN104394371B (en) * 2014-12-01 2017-09-29 北京理工大学 A kind of system for being adapted to a large amount of sequential image acquisitions and quick storage
CN105243090A (en) * 2015-09-10 2016-01-13 北京北信源软件股份有限公司 Exclusive file acquisition method and system
CN111506272B (en) * 2020-07-02 2020-10-27 深圳市千分一智能技术有限公司 Storage method, device and equipment of note file and computer readable storage medium

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5371885A (en) * 1989-08-29 1994-12-06 Microsoft Corporation High performance file system
US5715455A (en) * 1995-05-18 1998-02-03 International Business Machines Corporation Apparatus and method for storing file allocation table efficiently in memory
JP2001056774A (en) * 1999-08-18 2001-02-27 Victor Co Of Japan Ltd File area managing method
JP2002163136A (en) * 2000-11-24 2002-06-07 Matsushita Electric Ind Co Ltd File system
US7359623B2 (en) * 2002-02-18 2008-04-15 Matsushita Electric Industrial Co., Ltd. File reproducing apparatus and file reproducing method
JP2003308234A (en) * 2002-02-18 2003-10-31 Matsushita Electric Ind Co Ltd File reproducing apparatus and file reproducing method

Also Published As

Publication number Publication date
CN100419756C (en) 2008-09-17
CN1744090A (en) 2006-03-08
TW200725268A (en) 2007-07-01

Similar Documents

Publication Publication Date Title
US7350049B1 (en) Method and apparatus for managing access to a file allocation table
US7496586B1 (en) Method and apparatus for compressing data in a file system
US11573701B2 (en) Memory device and host device
US10635359B2 (en) Managing cache compression in data storage systems
JP2007080240A (en) Technique for accessing file allocation table
US10338833B1 (en) Method for achieving sequential I/O performance from a random workload
US20090240750A1 (en) Memory system and data access method
US7634494B2 (en) Flash memory directory virtualization
US20070276990A1 (en) Method for preloading data to improve data-retrieval times
US8990228B2 (en) Systems and methods for arbitrary data transformations
US7415653B1 (en) Method and apparatus for vectored block-level checksum for file system data integrity
WO2015145647A1 (en) Storage device, data processing method, and storage system
GB2383859A (en) Memory controller managing a file allocation table for a memory card
US20070005625A1 (en) Storage architecture for embedded systems
US20050144501A1 (en) Method for recovering data in EXT2 file system, and computer-readable storage medium recorded with data-recovery program
EP1265152A1 (en) Virtual file system for dynamically-generated web pages
CA2542162A1 (en) Preload library for transparent file transformation
US20160004598A1 (en) Grouping chunks of data into a compression region
JP2005122439A (en) Device equipment and format conversion method for recording device of device equipment
US20130218851A1 (en) Storage system, data management device, method and program
KR20070030646A (en) Accessing mechanism of a file allocation table
Choi et al. Design and implementation of a FAT file system for reduced cluster switching overhead
JP2008134777A (en) Caching method of file allocation table
KR100944240B1 (en) Method for enhancing file access speed
US7603568B1 (en) Method and apparatus for self-validating checksums in a file system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081118

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090609