[go: up one dir, main page]

JP2009205591A - アクセスモジュール、情報記録モジュール、及び情報記録システム - Google Patents

アクセスモジュール、情報記録モジュール、及び情報記録システム Download PDF

Info

Publication number
JP2009205591A
JP2009205591A JP2008049359A JP2008049359A JP2009205591A JP 2009205591 A JP2009205591 A JP 2009205591A JP 2008049359 A JP2008049359 A JP 2008049359A JP 2008049359 A JP2008049359 A JP 2008049359A JP 2009205591 A JP2009205591 A JP 2009205591A
Authority
JP
Japan
Prior art keywords
information
area
entry
fat
entry information
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
JP2008049359A
Other languages
English (en)
Inventor
Takuji Maeda
卓治 前田
Shinji Inoue
信治 井上
Hiroki Eto
博樹 衛藤
Masahiro Nakamura
雅裕 中村
Makoto Ochi
誠 越智
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.)
Panasonic Corp
Original Assignee
Panasonic 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 Panasonic Corp filed Critical Panasonic Corp
Priority to JP2008049359A priority Critical patent/JP2009205591A/ja
Publication of JP2009205591A publication Critical patent/JP2009205591A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】情報記録モジュールの不揮発性メモリをFATファイルシステムにより領域管理する場合において、シーク処理を高速化し、且つ領域管理情報の整合性を容易に維持できる方法を提供する。
【解決手段】情報記録モジュールの不揮発性メモリを管理しているファイルシステム内に拡張FATを格納する。拡張FATを参照し、その中に格納された通常FATエントリと拡張FATエントリの両方のエントリを使い分けて領域管理を行う拡張FAT処理部をアクセスモジュール内に設ける。この拡張FAT処理部における領域管理では、ファイルデータが連続領域に格納されている場合は拡張FATエントリを使用し、少量の情報で連続領域をまとめて管理する。
【選択図】図1

Description

本発明は、データを不揮発性メモリに格納し、ファイルとして管理するアクセスモジュール、情報記録モジュール、及び情報記録システムに関する。
音楽コンテンツや、映像データ等のデジタルデータを記録する記録媒体には、磁気ディスク、光ディスク、光磁気ディスク等、様々な種類が存在する。これら記録媒体の内、記録素子にフラッシュROM等の半導体メモリを使用したメモリカードは、記録媒体の小型化が図れることから、デジタルスチルカメラや携帯電話端末等、小型の携帯機器を中心に急速に普及している。更に最近では、フラッシュROM等の半導体メモリを機器に内蔵してハードディスクの代わりに使用するなど、従来のメモリカードのような着脱可能なリムーバブルメディアとしての用途のみならず、機器内蔵ストレージとしての用途でも半導体メモリが使用されるようになってきた。
このようなメモリカードや機器内蔵ストレージには、主にNAND型フラッシュメモリと呼ばれる半導体素子が使用されている。NAND型フラッシュメモリは、既に記録されたデータを一旦消去した後、再度別のデータを記録することが可能な記録素子であり、従来のハードディスクと同様に、複数回書き換え可能な情報記録装置を構成することが可能である。
従来、メモリカードや機器内蔵ストレージに格納されたデータはファイルシステムにより管理されている。データをファイルシステムにより管理することで、同一のファイルシステムを解釈する機器間でデータをファイルとして共有することが可能となり、ユーザは自分の格納したデータを複数の機器間で容易に参照したり、コピーしたりすることが可能となる。
従来最も広く使用されているファイルシステムはFATファイルシステムと呼ばれるものである。FATファイルシステムは、領域管理をファイルアロケーションテーブル(FAT)と呼ばれるテーブルで一元管理するという特徴を持っており、比較的構造がシンプルで実装が容易なことから、フレキシブルディスクやPCのハードディスク、メモリカードなどのファイルシステムとして広く使用されている。
図2にFATファイルシステムの構成を示す。FATファイルシステムではファイルアロケーションテーブル内の管理単位のビット幅の違いにより、FAT12、FAT16、FAT32などの種類が存在するが、ファイルアロケーションテーブルによる領域管理方法はほぼ同じであり、以下ではFAT16を例に説明する。同図に示すように論理アドレス空間の先頭には、領域割り当て単位やファイルシステムが管理する領域の大きさ等、ファイルシステムの管理情報が格納される領域であるファイルシステム管理情報領域201が存在する。このファイルシステム管理情報領域201には、マスターブートレコード・パーティションテーブル203、パーティションブートセクタ204、FAT(205、206)、ルートディレクトリエントリ207と呼ばれるファイルシステムの管理情報が含まれ、ユーザデータ領域202を管理するために必要な情報が各々格納されている。マスターブートレコード・パーティションテーブル203は、ファイルシステムが管理する論理アドレス空間上の領域を複数のパーティションと呼ばれる領域に分割して管理するための情報が格納される領域である。パーティションブートセクタ204は、パーティション内の領域管理単位の大きさなど、1つのパーティション内の管理情報が格納される領域である。FAT(205、206)は、ファイルに含まれるデータの格納位置に関する情報が格納される領域であり、通常、同じ情報を持つ2つのFAT(205、206)が存在し、一方のFAT(205、206)が破損したとしても他方のFAT(205、206)によりファイルにアクセスできるよう二重化されている。ルートディレクトリエントリ207は、ルートディレクトリ直下に存在するファイル、ディレクトリの情報(ディレクトリエントリ)が格納される領域である。
またFATファイルシステムでは、このファイルシステム管理情報領域201に引き続く領域にファイル本体のデータなどを格納するユーザデータ領域202が存在する。ユーザデータ領域202は、512バイトから32KB程度の大きさを持つクラスタと呼ばれる管理単位毎に分割管理されており、各クラスタにはファイルに含まれるデータが格納されている。多くのデータを格納するファイルは、複数のクラスタに跨ってデータを格納しており、各クラスタ間の繋がりは、FAT(205、206)に格納されたリンク情報により管理されている。また、ルートディレクトリ直下のディレクトリ内に存在するファイル、サブディレクトリの情報(ディレクトリエントリ)は、このユーザデータ領域202の一部を利用して格納される。
図3はFAT16のディレクトリエントリの構成を示した図である。ディレクトリエントリ208は1つのファイル、ディレクトリ毎に32バイトのディレクトリエントリ208が割り当てられ、ファイル、ディレクトリに関する情報を格納している。すなわち、1つのファイルやディレクトリが追加される度に32バイトのディレクトリエントリ208の情報が新規に作成され、ルートディレクトリエントリ207の領域、あるいはユーザデータ領域202に記録される。ディレクトリエントリ208の先頭8バイトにはファイルやディレクトリの名称が格納される。続く3バイトには拡張子が格納される。続く1バイトにはファイル・ディレクトリの種別を識別するフラグや、ファイル・ディレクトリがリードオンリーか否かを識別するフラグ等の属性情報が格納される。また、ファイル・ディレクトリの最終更新日時の情報や、ファイル・ディレクトリデータの実体が格納されているクラスタの開始位置を示す開始クラスタ番号、ファイルサイズのバイト数等が格納される。このようにディレクトリエントリ208には、データ実体が格納されている領域の最初の1クラスタの位置を示す情報しか含まれておらず、データ実体の大きさが1クラスタよりも大きい場合において2クラスタ目以降のデータがどの領域に格納されているかについては、FAT(205、206)で管理されている。
図4はFAT16のFAT(205、206)の構成を示した図である。FAT16では、FAT(205、206)は2バイト(16ビット)の情報を1つのFATエントリとして管理しており、1つのFATエントリが1つのクラスタの状態を示している。すなわち、ユーザデータ領域202にM個のクラスタが存在する場合、FATエントリもM個存在することから、FAT(205、206)の1つ分の大きさは約2×Mバイトとなる。但し、先頭2FATエントリ分はFATの先頭を示す固定の値(0xF8FF、0xFFFF)がシグネチャとして記録されるため、ユーザデータ領域202の先頭クラスタに対応するFATエントリはFAT(205、206)の4バイト目、5バイト目の2バイトに存在している。FAT先頭に存在する4バイトのシグネチャをFATエントリの0番、1番とすると、4バイト目、5バイト目の2バイトの位置は2番目になることから、ユーザデータ領域202の先頭クラスタは、便宜上クラスタ番号=“2”と割り当てられており、クラスタ番号=“0”、“1”に対応するクラスタは存在しないことになっている。
更に、各FATエントリは各々対応するクラスタの状態(使用中、空き、欠陥)、及びリンク先のクラスタ番号を示す。例えば図4において対応クラスタ番号2のFATエントリは0x0003(十進数では“3”)に設定されており、クラスタ番号2のクラスタ内に格納されたデータの続きのデータは、クラスタ番号3のクラスタ内に格納されていることを意味する。同様に対応クラスタ番号3のFATエントリは0x0004(十進数では“4”)に設定されており、クラスタ番号3のクラスタ内に格納されたデータの続きのデータは、クラスタ番号4のクラスタ内に格納されていることを意味する。また、対応クラスタ番号6のFATエントリは0xFFFFに設定されている。これは次のリンク先が存在せず、リンクが終端していることを意味する。よって、図4の例では、クラスタ番号2、3、4、5、6の順に一連のファイルデータが格納されていることになる。また、対応クラスタ番号7のFATエントリは0x0000に設定されている。これは対応するクラスタが使用されておらず、“空き”の状態であることを意味する。また、対応クラスタ番号(M+1)のFATエントリは0xFFF7に設定されている。これは対応するクラスタが物理的に壊れていて記録が出来ない状態である等の欠陥状態であることを意味する。まとめると、0x0000、0xFFFF、0xFFF7の3つのFATエントリ値は各々特殊な意味を持ち、0x0002から0xFFF6までのFATエントリ値がリンク先クラスタ番号として使用されることになる。また、それ以外の0x0001、0xFFF8から0xFFFEまでの値は予約されており、通常は使用されない値になっている。
このようにFATファイルシステムでは、ファイルデータが複数のクラスタに跨って格納されている場合、各クラスタ間のリンク関係をFATエントリの値に格納し管理している。よって、ファイルデータを先頭から順に終端まで読み出す場合、クラスタ境界に来る度にFAT(205、206)を参照し、次のリンク先のクラスタ番号を特定する必要がある。同様にファイル内の任意の位置を読み出すためにシーク処理を行う場合、FAT(205、206)を参照してシークサイズ分のクラスタ数だけリンクを辿り所望のデータが格納されているクラスタ番号を特定する必要がある。そのため、シーク処理はファイルサイズに比例して処理時間が長くなることになる。ここで1GBのファイルを16KBクラスタ単位で管理している場合を想定すると、リンクを辿る回数は約65000回となり、比較的低速なCPUを使用した場合等では、シーク処理に数秒かかる場合もある。更にFAT(205、206)ではファイルの順方向のリンク情報しか保持していないため、ファイルの前方に向かってシークする場合には再度ファイルの先頭からシーク処理をやり直す必要があり、高速にシークできないという問題が生じる。
従来、このような問題を解決する方法として、ジャンプテーブルを用いる方法が提案されている(例えば、特許文献1参照)。この方法では、ファイル先頭から所定単位サイズ毎にデータが格納されているクラスタ番号のリストをジャンプテーブルとして生成して保持し、シーク時にはジャンプテーブルに保持された情報を参照してシーク先の位置に最も近い位置のクラスタ番号を探し出し、そこからFAT(205、206)を参照してシーク処理を継続するという技術が開示されている。
特開2001−236251号公報
しかしながら、上記の従来技術には次のような問題点がある。従来の方法では、電源起動時等に予めジャンプテーブルを生成する時間が必要であり、アクセス装置の起動時間が長くなるという問題が生じる。更に、ファイルデータが格納されている領域に関する情報をFAT(205、206)とジャンプテーブルで二重管理するため、ファイルを追記したり部分削除したりした場合、両方の情報を整合性の取れた状態に維持するために複雑な処理が必要となる。
本発明では上記問題点に鑑み、FATファイルシステムにおけるFATエントリを拡張することにより、シーク処理を高速化し、且つファイルシステム管理情報の不整合が生じにくいアクセスモジュール、情報記録モジュール、及び情報記録システムを提供することを目的とする。
本発明のアクセスモジュールは、ファイルデータを格納する不揮発性メモリを具備する情報記録モジュールにアクセスするアクセスモジュールであって、前記不揮発性メモリ内の記録領域を固定長ブロック単位で管理すると共に、1つの前記固定長ブロックに関する領域管理情報を含む第1のエントリ情報と、前記不揮発性メモリ内の複数の前記固定長ブロックから構成される連続領域の管理情報を含む第2のエントリ情報とを用いて、前記不揮発性メモリ内の記録領域の領域管理を行うファイルシステム制御部を具備することを特徴とする。
また、前記第1のエントリ情報と、前記第2のエントリ情報とは、前記不揮発性メモリの記録領域内に存在する共通の領域管理情報テーブル内で管理され、1つの前記固定長ブロックの領域管理は、前記第1のエントリ情報か、前記第2のエントリ情報のいずれか一方でのみ行われるようにしても良い。
更に、前記ファイルシステム制御部は、前記第1のエントリ情報のみを用いて領域管理を行う通常FAT処理部と、前記第1のエントリ情報と、前記第2のエントリ情報の両方を用いて領域管理を行う拡張FAT処理部とを具備する構成にしても良い。
この構成の場合、前記ファイルシステム制御部は、前記不揮発性メモリ内の記録領域に存在するファイルシステム管理情報に格納された判定フラグを参照し、前記通常FAT処理部と、前記拡張FAT処理部のいずれを使用するかを決定するように構成することができる。
また、前記第1のエントリ情報は、対応する前記固定長ブロックに格納されているデータに引き続くデータが格納されている前記固定長ブロックの位置を示す情報を含んでも良い。
また、前記第2のエントリ情報は、前記第1のエントリ情報と前記第2のエントリ情報とを識別するための情報と、前記第2のエントリ情報が管理する連続領域の大きさを示す情報と、前記第2のエントリ情報が管理する連続領域に格納されているデータに引き続くデータが格納されている前記固定長ブロックの位置を示す情報を含んでも良い。
更に、前記ファイルシステム制御部は、ファイルデータを格納する領域が所定の個数以上の前記固定長ブロックから構成される領域である場合に、前記第2のエントリ情報を用いて領域を管理し、ファイルデータを格納する領域が前記所定の個数未満の前記固定長ブロックから構成される領域である場合に、前記第1のエントリ情報を用いて領域を管理するようにしても良い。
また、前記ファイルシステム制御部は、ファイル内の現在参照している前記固定長ブロックの位置である現在参照位置情報を保持しており、前記現在参照位置情報をファイル内の任意の位置に変更するシーク処理を行う際において、現在参照位置が前記第1のエントリ情報により管理されている場合、1つの前記固定長ブロック分の大きさだけ現在参照位置を進め、現在参照位置が前記第2のエントリ情報により管理されている場合、該第2のエントリ情報により管理されている連続領域分の大きさだけ現在参照位置を進めるようにしても良い。
本発明の情報記録モジュールは、ファイルデータを格納する不揮発性メモリを具備する情報記録モジュールであって、前記不揮発性メモリは固定長ブロック単位で管理されており、1つの前記固定長ブロックに関する領域管理情報を含む第1のエントリ情報と、複数の前記固定長ブロックから構成される連続領域の管理情報を含む第2のエントリ情報により構成された前記不揮発性メモリの領域管理情報が前記不揮発性メモリ内に格納されることを特徴とする。
本発明の情報記録システムは、ファイルデータを格納する不揮発性メモリを具備する情報記録モジュールと、前記情報記録モジュールにアクセスするアクセス装置から構成され、前記不揮発性メモリは固定長ブロック単位で管理されており、1つの前記固定長ブロックに関する領域管理情報を含む第1のエントリ情報と、複数の前記固定長ブロックから構成される連続領域の管理情報を含む第2のエントリ情報により構成された前記不揮発性メモリの領域管理情報が前記不揮発性メモリ内に格納され、前記アクセスモジュールは、前記領域管理情報を用いて前記不揮発性メモリ内の記録領域の領域管理を行うファイルシステム制御部を具備することを特徴とする。
本発明によれば、FATファイルシステムによりデータを管理する場合において、シーク処理を高速に実施することが可能となり、且つファイルシステム管理情報の不整合が生じる可能性を低減することが可能となる。
以下、本発明のアクセスモジュール、情報記録モジュール、及び情報記録システムについて、図面を参照しつつ説明する。
(実施の形態)
図1は本発明の実施の形態におけるアクセスモジュール、情報記録モジュールの構成図である。図1においてアクセスモジュール1は、CPU11、RAM12、情報記録モジュールインタフェース13、ROM14を含む。ROM14にはアクセスモジュール1を制御するプログラムが格納されており、このプログラムはRAM12を一時記憶領域として使用し、CPU11上で動作する。情報記録モジュールインタフェース13は、情報記録モジュール2とアクセスモジュール1との接続部であり、制御信号及びデータの送受信を行う。ROM14は更に、アプリケーション制御部101、ファイルシステム制御部102、情報記録モジュールアクセス部105を含む。アプリケーション制御部101は、データの生成や電源の制御などアクセスモジュール1全体の制御を行う。ファイルシステム制御部102は、FATファイルシステムによりデータをファイルとして管理するための制御を行う。情報記録モジュールアクセス部105は、ファイルシステム制御部102からデータと共にサイズとアドレスを渡され、指定されたサイズのデータを情報記録モジュール2の記録領域内における指定された位置に記録するなど、情報記録モジュール2に対するコマンドやデータの送受信を制御する。ファイルシステム制御部102は更に、通常FAT処理部103、拡張FAT処理部104を含む。通常FAT処理部103は、従来のFAT(205、206)を制御する処理部であり、従来のアクセスモジュール内に存在するFAT処理部と同様のものである。拡張FAT処理部104は本願の特徴である拡張FATを制御する処理部であり、従来のアクセスモジュールには存在しないものである。
一方、図1において情報記録モジュール2は、アクセスモジュールインタフェース21、CPU22、RAM23、ROM24、不揮発性メモリ25を含む。アクセスモジュールインタフェース21は、情報記録モジュール2とアクセスモジュール1との接続部であり、情報記録モジュールインタフェース13同様、制御信号及びデータを送受信するインタフェースである。ROM24には情報記録モジュール2を制御するプログラムが格納されており、このプログラムはRAM23を一時記憶領域として使用し、CPU22上で動作する。不揮発性メモリ25は、アクセスモジュール1から送信されたデータを記録する領域であり、その中はFATファイルシステムで管理されている。不揮発性メモリ25内の論理アドレス空間には、マスターブートレコード・パーティションテーブル203や、パーティションブートセクタ204、ルートディレクトリエントリ207等の、従来のFATファイルシステムに存在する管理情報が格納されており、ユーザデータ領域202内に格納されたファイル、ディレクトリを管理している。また、従来FAT(ファイルアロケーションテーブル)が格納されていた領域には、本願の特徴である拡張FATが格納されている。拡張FATには従来のFATに格納されている通常FATエントリの他、連続領域をまとめて少量の情報で管理する拡張FATエントリが格納される。
本実施の形態のアクセスモジュール1は、情報記録モジュール2内の不揮発性メモリ25に構築されたFATファイルシステムにおいて、連続領域を少量の情報で管理する拡張FATエントリを記録する機能を持つ。更に拡張FATエントリを読み出して解釈する機能を持つ。これら拡張FATにアクセスする機能により、ファイルのシーク処理を高速化し、且つファイルシステム管理情報の不整合が生じる可能性を低減することが可能となる。
次に図5、図6を用いて、本発明における拡張FATファイルシステムの構成について説明する。図5は本発明における拡張FATファイルシステムの構成を示した図である。図5が、従来のFATファイルシステムの構成を示した図2と異なる点は、FAT(205、206)の領域が拡張FAT(301、302)の領域に変化している点である。従来のFAT(205、206)では1クラスタに対応する管理情報を1つのFATエントリ(通常FATエントリ)を用いて管理していたが、本発明の拡張FAT(301、302)では、通常FATエントリの他、複数のFATエントリを結合して一連の連続領域の情報を格納する拡張FATエントリも格納する。
図6は本発明における拡張FATエントリの構成を示した図である。拡張FATエントリは、通常FATエントリの3つ分の領域を使用する。FAT16の場合には1つの通常FATエントリが2バイトで管理されるため、拡張FATエントリは6バイトの大きさとなる。拡張FATエントリの先頭2バイトには、本エントリが拡張FATエントリであることを示す固定の値が拡張エントリシグネチャ(ext_sig)として格納される。拡張エントリシグネチャとしては例えば0xFFFE等が用いられる。
また、続く2バイトには、本エントリが管理する領域の連続クラスタ数(count)が格納される。例えば拡張FATエントリが100クラスタからなる連続領域を管理する場合、countには“0x0064(100)”が格納される。
また、最後の2バイトには、本エントリが管理する領域の次に存在する領域の開始クラスタ番号を示す次リンク先クラスタ番号(next)が格納される。例えば拡張FATエントリで管理される連続領域の次に存在する領域の開始クラスタ番号が1000であった場合、nextには“0x03E8(1000)”が格納される。
このように、従来1FATエントリあたり1クラスタの情報を管理していたのに対して、拡張FATエントリでは1つあたり1連続領域の情報を管理することが可能となる。そのため、連続領域の大きさが大きければ大きい程少量の情報量で大きな連続領域を管理することが可能となり、シーク処理時に参照するFATエントリの数を削減して処理を高速化することが可能となる。
続いて本発明の特徴を明確にするために、従来のFATファイルシステムにおける処理手順と、本発明の拡張FAT処理部における処理手順とを比較して説明する。
まず始めに、図7を用いて従来のFATファイルシステムにおけるファイルデータ書き込み処理手順について説明する。
(S701)対象ファイルのディレクトリエントリ208を読み出す。
(S702)読み出したディレクトリエントリ208に格納された開始クラスタ番号を取得し、ファイルデータの先頭位置を確認する。
(S703)FAT(205、206)をアクセスモジュールのRAM上に読み出し、S702で取得したファイルデータの先頭位置から順にRAM上のFAT(205、206)内でリンクを辿り、書き込み位置のクラスタ番号を取得する。ここでリンクを辿る処理は、ファイル内の任意の位置にシークする場合の処理とほぼ同じであり、詳細については後述する。
(S704)ファイルデータ書き込みに際し、ファイルに新たに空き領域を割り当てる必要があるか判定する。空き領域の割り当てが必要な場合S705の処理に進む。空き領域の割り当てが不要な場合S708の処理に進む。
(S705)RAM上のFAT(205、206)内で空き領域を検索し、1クラスタの空き領域を取得する。具体的にはRAM上のFAT(205、206)内のFATエントリを順次参照し、値が0x0000に設定されているFATエントリを見つけ、該FATエントリの対応クラスタ番号の値を求める。FATエントリの検索処理は例えばFAT(205、206)の先頭から終端まで順に処理を実施しても良いし、前回空き領域を割り当てたFATエントリの次のFATエントリから処理を開始してFAT(205、206)の終端まで到達したらFAT(205、206)の先頭に折り返し、前回空き領域を割り当てたFATエントリまで処理を実施しても良い。このようにFATエントリの検索処理手順はFAT(205、206)領域の全面に対して空き領域を検索する処理を実現できるものであれば良く、特に限定はされない。
(S706)S705で取得した空きクラスタの番号に対応するFATエントリの値を、使用済みを意味する0xFFFFにRAM上で設定する。
(S707)現在のリンク終端のクラスタ番号に対応するFATエントリの値を0xFFFFからS705で取得した空きクラスタの番号にRAM上で設定する。空き領域を取得する必要がある場合は、ファイル終端への追記を意味し、その場合S703でのリンクを辿る処理においてファイル終端までリンクが辿られている。そのため、現在のリンク終端のクラスタ番号に対応するFATエントリの値はリンク終端を意味する0xFFFFが設定されている。そのため、S707の処理により、S705で新たに取得した空きクラスタへリンクを接続することによりファイルのリンクが1クラスタ分長くなり、ファイルデータを追記することが可能となる。
(S708)現在参照している書き込み位置のクラスタ内にファイルデータを書き込む。S704で空き領域取得が必要と判断した場合は、現在参照している書き込み位置はS705で取得した空きクラスタとなる。またS704で空き領域取得が不要と判断した場合は、現在参照している書き込み位置はS703でリンクを辿った結果到達したクラスタとなる。
(S709)全ファイルデータの書き込みが完了したか判定する。まだファイルデータが残っている場合S704の処理に戻る。全ファイルデータの書き込みが完了した場合S710の処理に進む。
(S710)ディレクトリエントリ208内に格納されたファイルサイズや最終更新日時等の情報を更新し、情報記録モジュールの不揮発性メモリ内に格納されたディレクトリエントリ208を上書きする。
(S711)情報記録モジュールの不揮発性メモリ内に格納されたFAT(205、206)に、アクセスモジュールのRAM上のFAT(205、206)のデータを上書きし、処理を完了する。
このファイルデータ書き込み処理により、図8に示された60000バイトのデータを持つFILE1.TXTに10000バイトのデータを追記した場合、図9に示されるような70000バイトのデータを持つファイルに変化する。すなわち、空きクラスタとしてクラスタ番号6のクラスタが取得されてファイルデータが追記され、従来のFAT(205、206)上のリンクにクラスタ番号6が接続される。その結果、FILE1.TXTのリンクは、クラスタ番号2〜5の4クラスタからなる状態から、クラスタ番号2〜6の5クラスタからなる状態に更新される。
次に、本発明の拡張FAT処理部104におけるファイルデータ書き込み処理手順について説明する。本発明のアクセスモジュール1は、ファイルシステム制御部102内に通常FAT処理部103と、拡張FAT処理部104を含んでいる。通常FAT処理部103は従来のFAT(205、206)にアクセスする処理部であり、ファイルデータ書き込み時には図7で説明した従来の処理手順と同様の手順を実施する。また、拡張FAT処理部104は、本発明の特徴である拡張FAT(301、302)を解釈しアクセスする処理部である。また、通常FAT処理部103、拡張FAT処理部104のいずれの処理部を用いるかに関する判定は、例えばパーティションブートセクタ内に拡張FATの有無を示すフラグを設けてそれを参照することにより判定する等の方法により実現する。以下、図10を用いて本発明の拡張FAT処理部104におけるファイルデータ書き込み処理手順について説明する。
(S1001)対象ファイルのディレクトリエントリ208を読み出す。
(S1002)読み出したディレクトリエントリ208に格納された開始クラスタ番号を取得し、ファイルデータの先頭位置を確認する。
(S1003)拡張FAT(301、302)をアクセスモジュール1のRAM12上に読み出し、S1002で取得したファイルデータの先頭位置から順にRAM12上の拡張FAT(301、302)内でリンクを辿り、書き込み位置のクラスタ番号を取得する。ここでリンクを辿る処理は、ファイル内の任意の位置にシークする場合の処理とほぼ同じであり、詳細については後述する。
(S1004)ファイルデータ書き込みに際し、ファイルに新たに空き領域を割り当てる必要があるか判定する。空き領域の割り当てが必要な場合S1005の処理に進む。空き領域の割り当てが不要な場合S1011の処理に進む。
(S1005)RAM12上の拡張FAT(301、302)内で空き領域を検索し、1クラスタの空き領域を取得する。具体的にはRAM12上の拡張FAT(301、302)内の通常FATエントリ、拡張FATエントリを順次参照し、値が0x0000に設定されている通常FATエントリを見つけ、該通常FATエントリの対応クラスタ番号の値を求める。このFATエントリの検索処理手順については図7で説明した通り、特に限定されるものではない。また、拡張FATエントリを見つけた場合は、既に領域が割り当てられていることが判明しているため、拡張FATエントリのcountに設定されているクラスタ数分の通常FATエントリをスキップして検索処理を継続する。
(S1006)S1005で取得した空きクラスタが拡張FATエントリで管理可能か判定する。管理できると判定した場合はS1009の処理に進む。管理できないと判定した場合はS1007の処理に進む。拡張FATエントリで管理可能な場合とは、次の2つの条件を共に満たした場合である。
<条件1>S1005で取得した空きクラスタは、現在のリンク終端のクラスタの直後のクラスタである。
<条件2>現在のリンク終端のクラスタが既に拡張FATエントリで管理されている、あるいは通常FATエントリで管理されている場合にS1005で取得した空きクラスタを含む連続領域が3クラスタ以上存在する。
上記条件を満たした場合、S1005で取得した空きクラスタは一連の連続領域の終端に位置し、且つ3クラスタ以上の大きさを持つ連続領域であることから、通常FATエントリの3クラスタ分のエントリ情報から構成される拡張FATエントリで管理できることになる。
(S1007)S1006において拡張FATエントリで管理できないと判定した場合、S1005で取得した空きクラスタの番号に対応する通常FATエントリの値を、使用済みを意味する0xFFFFにRAM12上で設定する。
(S1008)現在のリンク終端のクラスタ番号に対応するFATエントリの値を0xFFFFからS1005で取得した空きクラスタの番号にRAM12上で設定する。現在のリンク終端が通常FATエントリで管理されている場合には、通常FATエントリに直接空きクラスタ番号の値を設定する。また拡張FATエントリで管理されている場合には、拡張FATエントリのnextに空きクラスタ番号の値を設定する。
(S1009)S1006において拡張FATエントリで管理できると判定した場合、拡張FATエントリの情報をRAM12上で更新する。具体的には現在のリンク終端が既に拡張FATエントリで管理されている場合は、拡張FATエントリ内のcountの値を1加算する。また、現在のリンク終端が通常FATエントリで管理されている場合は、S1005で取得した空きクラスタを含む連続領域の先頭を見つけ、その先頭クラスタに対応する通常FATエントリの位置に拡張FATエントリのext_sigとして0xFFFEを設定し、更に拡張FATエントリのcountに連続クラスタ数を、nextにリンク終端を意味する0xFFFFを設定する。
(S1010)S1005で取得した空きクラスタの番号に対応する通常FATエントリの値を、使用済みを意味する0xFFFFにRAM12上で設定する。但し、S1009の処理において通常FATエントリの管理から拡張FATエントリの管理へ切り替えた場合、既に正しいnextの値が該当領域に設定されているため、S1010の処理は不要となる。
(S1011)現在参照している書き込み位置のクラスタ内にファイルデータを書き込む。S1004で空き領域取得が必要と判断した場合は、現在参照している書き込み位置はS1005で取得した空きクラスタとなる。またS1004で空き領域取得が不要と判断した場合は、現在参照している書き込み位置はS1003でリンクを辿った結果到達したクラスタとなる。
(S1012)全ファイルデータの書き込みが完了したか判定する。まだファイルデータが残っている場合S1004の処理に戻る。全ファイルデータの書き込みが完了した場合S1013の処理に進む。
(S1013)ディレクトリエントリ208内に格納されたファイルサイズや最終更新日時等の情報を更新し、情報記録モジュール2の不揮発性メモリ25内に格納されたディレクトリエントリ208を上書きする。
(S1014)情報記録モジュール2の不揮発性メモリ25内に格納された拡張FAT(301、302)に、アクセスモジュール1のRAM12上の拡張FAT(301、302)のデータを上書きし、処理を完了する。
このように本発明のファイルデータ書き込み処理手順が従来のファイルデータ書き込み処理手順と異なる主な点は、S1006、S1009、S1010で説明した処理が追加されている点である。本発明の拡張FAT制御部104は、通常FATエントリと拡張FATエントリの両方を扱い、連続領域として管理できるか否かで両FATエントリを使い分けている。この拡張FATエントリを扱う点が従来のファイルデータ書き込み処理手順とは大きく異なる点であり、この拡張FATエントリによりシーク処理を高速化することが可能となる。
次に、シーク処理手順を比較するため、まずは図11を用いて従来のFATファイルシステムにおけるシーク処理手順について説明する。
(S1101)シークで実際に移動するサイズを元にシーククラスタ数(SEEK_NUM)を算出する。シーククラスタ数はシーク処理でリンクを追いかける必要があるクラスタ数を意味し、例えばファイル先頭から10クラスタ分のシークを実施する場合はSEEK_NUMには“10”が設定される。またファイル内の現在参照位置よりも前方にシークする場合は、シーク実施後におけるファイル先頭からのオフセットを算出し、クラスタ数に換算することでSEEK_NUMを算出する。例えば、ファイル先頭から10クラスタ目の位置に現在参照位置が存在する場合においてファイル前方に2クラスタシークする場合、ファイル先頭から8クラスタ目の位置がシーク実施後のオフセットとなるため、SEEK_NUMには“8”が設定される。
(S1102)現在参照クラスタ番号を確認する。ファイル先頭からのシークであれば現在参照クラスタ番号はファイル先頭のクラスタ番号となる。また既にシーク処理やリード・ライト処理などでファイルの任意の位置に現在参照位置が移動している場合は、その位置のクラスタ番号が現在参照クラスタ番号となる。
(S1103)アクセスモジュールのRAM上に読み出されたFAT(205、206)を参照し、現在参照クラスタ番号に対応するFATエントリの値を取得する。
(S1104)S1103で取得したFATエントリ値(次リンク先クラスタ番号)を新しい現在参照クラスタ番号として管理する。
(S1105)1クラスタ分のシーク処理が完了したため、SEEK_NUMを1減算する。
(S1106)SEEK_NUMの値が0以外の場合、S1102に戻り、処理を継続する。また、SEEK_NUMの値が0の場合、全てのシーク処理が完了したため、処理を終了する。
すなわち、従来のFATファイルシステムにおけるシーク処理では1FATエントリ毎にFAT(205、206)を参照し、次のリンク先のクラスタ番号を取得するという処理をシーククラスタ数分だけループして処理を繰り返すことになる。そのため、シーククラスタ数が大きい場合、ループ回数が膨大になりシーク処理に長時間かかることになる。
次に、図12を用いて本発明の拡張FAT処理部104におけるシーク処理手順について説明する。
(S1201)シークで実際に移動するサイズを元にシーククラスタ数(SEEK_NUM)を算出する。シーククラスタ数の算出方法は図11で説明したものと同じである。
(S1202)現在参照クラスタ番号を確認する。ファイル先頭からのシークであれば現在参照クラスタ番号はファイル先頭のクラスタ番号となる。また既にシーク処理やリード・ライト処理などでファイルの任意の位置に現在参照位置が移動している場合は、その位置のクラスタ番号が現在参照クラスタ番号となる。
(S1203)アクセスモジュール1のRAM12上に読み出された拡張FAT(301、302)を参照し、現在参照クラスタ番号に対応するFATエントリの値を取得する。但し、既にシーク処理等が実施された後で、現在参照クラスタ番号が拡張FATエントリの管理する連続領域内のいずれかの領域に存在することが判明している場合、改めて拡張FAT(301、302)を参照することなく、次の処理に進む。この場合、前回の
シーク処理等が実施された時点で、現在参照クラスタ番号が含まれる連続領域を示す拡張FATエントリに関する情報がアクセスモジュール1のRAM12上に保持されているものとする。
(S1204)S1203で取得したFATエントリが拡張FATエントリであるか確認する。拡張FATエントリである場合はS1205の処理に進み、拡張FATエントリでない場合はS1209の処理に進む。
(S1205)S1204の判定処理において拡張FATエントリであると判定した場合、シーク先がS1203で取得した拡張FATエントリが示す連続領域内に存在するか判定する。連続領域内に存在する場合はS1206の処理に進み、連続領域内に存在しない場合はS1207の処理に進む。
(S1206)S1205の判定処理においてシーク先が連続領域内に存在すると判定した場合、現在参照クラスタ番号をシーク位置まで更新し、処理を終了する。例えば、拡張FATエントリがクラスタ番号10から20までの10クラスタの連続領域を示しており、現在参照クラスタ番号が10、SEEK_NUMが5であった場合を想定する。この場合、拡張FATエントリが示す連続領域内にシーク先が存在するため、現在参照クラスタ番号の10にSEEK_NUMの5を加算し、現在参照クラスタ番号を15に更新して処理を終了する。
(S1207)S1205の判定処理においてシーク先が連続領域内に存在しないと判定した場合、現在参照クラスタ番号を拡張FATエントリの次リンク先クラスタ番号(next)の値に更新する。例えば、拡張FATエントリがクラスタ番号10から20までの10クラスタの連続領域を示し、nextには30が設定されており、現在参照クラスタ番号が10、SEEK_NUMが15であった場合を想定する。この場合、拡張FATエントリが示す連続領域内にはシーク先が存在しないため、現在参照クラスタ番号の10を拡張FATエントリのnextに設定されている値である30に更新する。
(S1208)SEEK_NUMから拡張FATエントリの連続クラスタ数分減算し、S1211の処理に進む。例えば、拡張FATエントリがクラスタ番号10から20までの10クラスタの連続領域を示しており、現在参照クラスタ番号が10、SEEK_NUMが15であった場合を想定する。この場合、SEEK_NUMから連続領域のクラスタ数10を差し引き、SEEK_NUMを5に設定する。但し、現在参照クラスタ番号が連続領域の先頭を示していない場合は、現在参照位置から連続領域終端までのクラスタ数分をSEEK_NUMから減算する。
(S1209)S1204の判定処理において拡張FATエントリではないと判定した場合、S1203で取得したFATエントリ値(次リンク先クラスタ番号)を新しい現在参照クラスタ番号として管理する。
(S1210)1クラスタ分のシーク処理が完了したため、SEEK_NUMを1減算する。
(S1211)SEEK_NUMの値が0以外の場合、S1202に戻り、処理を継続する。また、SEEK_NUMの値が0の場合、全てのシーク処理が完了したため、処理を終了する。
このように従来のFATファイルシステムにおけるシーク処理と本発明の拡張FAT処理部におけるシーク処理の主な違いは、S1204からS1208で説明した処理が追加されている点である。この処理により、連続領域が拡張FATエントリでまとめて管理されている場合、連続領域分をまとめてシークすることが可能となる。具体的には、従来はS1105でSEEK_NUMを1しか減算することが出来なかったのに対し、本発明の方式ではS1208でSEEK_NUMを連続領域分まとめて減算することができるため、ループ処理の回数を削減することができ、シーク処理を高速化することが可能となる。
更に、この効果を図13、図14の例を用いて説明する。図13は従来のFAT(205、206)においてFILE2.TXTのファイルを管理した場合の一例を示す図である。同様に図14は本発明の拡張FAT(301、302)において同じファイルを管理した場合の一例を示す図である。これら2つの図で管理しているファイルのサイズや、ファイルデータ格納領域の配置等は同じにしており、ファイルデータがクラスタ番号2〜15までと、クラスタ番号24から30までの2つの連続領域に格納されている例を示している。
従来のシーク処理手順ではファイルデータが連続領域に格納されているかどうかに依らず常にシーククラスタ数のFAT(205、206)参照を伴うループ処理が発生する。図13の例でファイル先頭から終端までシークする場合、SEEK_NUMは20となり、ループ回数も20となる。
一方、本発明の拡張FAT処理部104のシーク処理手順では、ファイルデータが連続領域に格納されている場合にはまとめてシーク処理を実施するため、拡張FAT(301、302)の参照を伴うループ処理回数を削減することが可能となる。図14の例でファイル先頭から終端までシークする場合、SEEK_NUMは20となるが、FILE2.TXTは2つの連続領域から構成されているため、ループ回数は2となる。
このループ回数の差がシーク処理時間に大きく影響するため、本発明の拡張FAT処理部104の処理によりシーク処理が高速化されることになる。また、本実施の形態の例ではアクセスモジュール1のRAM12にFAT(205、206)あるいは拡張FAT(301、302)が全て読み出されている場合の例について説明したが、アクセスモジュール1のRAM12容量が小さい場合はFAT(205、206)あるいは拡張FAT(301、302)の一部しかRAM12上に読み出すことができず、キャッシュのように逐次読み替えながら動作する必要がある。この場合、最悪ではループ1回分の処理毎にFATの読み替え処理が発生し、ループ回数の差による処理時間の違いが顕著になるため、本発明の高速化の効果がより顕著に現れることになる。
以上のように、本発明の情報記録モジュール2の不揮発性メモリ25はファイルシステムで管理されており、領域管理情報として拡張FAT(301、302)を持つ。また本発明のアクセスモジュール1は、拡張FAT(301、302)を参照し、その中に格納された通常FATエントリと拡張FATエントリの両方のエントリを使い分けて領域管理を行う拡張FAT処理部104を含む。この拡張FAT処理部104における領域管理では、ファイルデータが連続領域に格納されている場合は拡張FATエントリを使用し、少量の情報で連続領域をまとめて管理する。これにより、シーク時の処理時間を短縮し、シーク処理を高速化することが可能となる。
更に本発明の拡張FAT(301、302)では領域管理情報を拡張FAT(301、302)で一元管理している。そのため、従来のジャンプテーブルによる高速化手法で必要となる起動時等におけるジャンプテーブルの算出時間が本発明では不要となり、起動時間を短縮することが可能となる。また、領域管理情報を一元管理することにより、ファイルの追記や部分削除等が発生した場合でも拡張FAT(301、302)の情報のみ更新すれば良いため、領域管理情報の整合性維持が容易に行える。
尚、本発明を上記の実施形態に基づいて説明してきたが、本発明は上記の実施形態に限定されないのは勿論である。本発明の趣旨を逸脱しない範囲で実施変更することができる。本発明の実施の形態で記載された数値は一例であり、他の値を使用しても良い。例えば、拡張FATエントリのext_sigに0xFFFEを設定する場合について説明したが、拡張FATエントリであることを判別することが出来れば良く、その他の方法を用いても良い。また、拡張FATエントリが管理する連続領域において、先頭のエントリ部分以外のFATエントリを使用済みであることを示す0xFFFFに設定する場合について説明した。この値についても特に限定するものではなく、その他の値を用いても良い。
また、拡張FATエントリがext_sig、count、nextの3つのフィールドから構成される場合について説明したが、従来のFATエントリ管理よりも少ない情報で連続領域を管理できるものであれば良く、その他の構成としても構わない。
また、FATエントリが2バイトで構成されるFAT16をベースにした例について説明したが、その他のFATファイルシステムに本発明を適用しても良い。すなわち、FAT12、FAT32などのFAT型ファイルシステムに適用しても良いし、FATファイルシステムとは互換性のないファイルシステムであっても、FATのように1つの処理単位の情報を1つのエントリに対応づけて領域管理する方式であれば本発明を適用することが可能である。
本発明に関わる情報記録モジュール2の不揮発性メモリ25はファイルシステムで管理されており、領域管理情報として拡張FAT(301、302)を持つ。また本発明のアクセスモジュール1は、拡張FAT(301、302)を参照し、領域管理を行う拡張FAT処理部104を含む。これによりFATファイルシステムにおいて連続領域をまとめて管理することが可能となり、シーク処理を高速化することが可能となる。このようなアクセスモジュール1は、音楽や静止画、動画などのデジタルコンテンツを取り扱う機器、とりわけ1ファイルのサイズが大きなコンテンツを取り扱う機器に最適であり、PCアプリケーション、オーディオレコーダ、DVDレコーダ、HDDレコーダ、ムービー、デジタルスチルカメラ、携帯電話端末等として利用することができる。また、本発明の情報記録モジュール2は、上記デジタルコンテンツなどを格納するメモリカードなどのリムーバブルメディア、あるいは内蔵記録装置等として利用することができる。
本発明の実施の形態におけるアクセスモジュール、及び情報記録モジュールの構成を示した説明図 FATファイルシステムの構成を示した説明図 ディレクトリエントリの構成を示した説明図 FATの一例を示した説明図 本発明の実施の形態における拡張FATファイルシステムの構成を示した説明図 本発明の実施の形態における拡張FATエントリの構成を示した説明図 従来のFATファイルシステムにおけるファイルデータ書き込み処理を示したフローチャート 従来のFATファイルシステムにおけるファイルデータ書き込み前の状態の一例を示した説明図 従来のFATファイルシステムにおけるファイルデータ書き込み後の状態の一例を示した説明図 本発明の実施の形態におけるファイルデータ書き込み処理を示したフローチャート 従来のFATファイルシステムにおけるシーク処理を示したフローチャート 本発明の実施の形態におけるシーク処理を示したフローチャート 従来のFATファイルシステムにおけるファイルデータの配置状態の一例を示した説明図 本発明の実施の形態におけるファイルデータの配置状態の一例を示した説明図
符号の説明
1 アクセスモジュール
2 情報記録モジュール
11,22 CPU
12,23 RAM
13 情報記録モジュールインタフェース
14,24 ROM
21 アクセスモジュールインタフェース
25 不揮発性メモリ
101 アプリケーション制御部
102 ファイルシステム制御部
103 通常FAT処理部
104 拡張FAT処理部
105 情報記録モジュールアクセス部
201 ファイルシステム管理情報領域
202 ユーザデータ領域
203 マスターブートレコード・パーティションテーブル
204 パーティションブートセクタ
205,206 FAT
207 ルートディレクトリエントリ
208 ディレクトリエントリ
301,302 拡張FAT

Claims (14)

  1. ファイルデータを格納する不揮発性メモリを具備する情報記録モジュールにアクセスするアクセスモジュールであって、
    前記不揮発性メモリ内の記録領域を固定長ブロック単位で管理すると共に、1つの前記固定長ブロックに関する領域管理情報を含む第1のエントリ情報と、
    前記不揮発性メモリ内の複数の前記固定長ブロックから構成される連続領域の管理情報を含む第2のエントリ情報と、
    を用いて、前記不揮発性メモリ内の記録領域の領域管理を行うファイルシステム制御部を具備することを特徴とするアクセスモジュール。
  2. 前記第1のエントリ情報と、前記第2のエントリ情報とは、前記不揮発性メモリの記録領域内に存在する共通の領域管理情報テーブル内で管理され、
    1つの前記固定長ブロックの領域管理は、前記第1のエントリ情報か、前記第2のエントリ情報のいずれか一方でのみ行われることを特徴とする請求項1記載のアクセスモジュール。
  3. 前記ファイルシステム制御部は、
    前記第1のエントリ情報のみを用いて領域管理を行う通常FAT処理部と、
    前記第1のエントリ情報と、前記第2のエントリ情報の両方を用いて領域管理を行う拡張FAT処理部と、
    を具備することを特徴とする請求項2記載のアクセスモジュール。
  4. 前記ファイルシステム制御部は、
    前記不揮発性メモリ内の記録領域に存在するファイルシステム管理情報に格納された判定フラグを参照し、前記通常FAT処理部と、前記拡張FAT処理部のいずれを使用するかを決定することを特徴とする請求項3記載のアクセスモジュール。
  5. 前記第1のエントリ情報は、
    対応する前記固定長ブロックに格納されているデータに引き続くデータが格納されている前記固定長ブロックの位置を示す情報を含むことを特徴とする請求項2記載のアクセスモジュール。
  6. 前記第2のエントリ情報は、
    前記第1のエントリ情報と前記第2のエントリ情報とを識別するための情報と、
    前記第2のエントリ情報が管理する連続領域の大きさを示す情報と、
    前記第2のエントリ情報が管理する連続領域に格納されているデータに引き続くデータが格納されている前記固定長ブロックの位置を示す情報を含むことを特徴とする請求項2記載のアクセスモジュール。
  7. 前記ファイルシステム制御部は、
    ファイルデータを格納する領域が所定の個数以上の前記固定長ブロックから構成される領域である場合に、前記第2のエントリ情報を用いて領域を管理し、
    ファイルデータを格納する領域が前記所定の個数未満の前記固定長ブロックから構成される領域である場合に、前記第1のエントリ情報を用いて領域を管理することを特徴とする請求項2記載のアクセスモジュール。
  8. 前記ファイルシステム制御部は、
    ファイル内の現在参照している前記固定長ブロックの位置である現在参照位置情報を保持しており、
    前記現在参照位置情報をファイル内の任意の位置に変更するシーク処理を行う際において、現在参照位置が前記第1のエントリ情報により管理されている場合、1つの前記固定長ブロック分の大きさだけ現在参照位置を進め、現在参照位置が前記第2のエントリ情報により管理されている場合、該第2のエントリ情報により管理されている連続領域分の大きさだけ現在参照位置を進めることを特徴とする請求項2記載のアクセスモジュール。
  9. ファイルデータを格納する不揮発性メモリを具備する情報記録モジュールであって、
    前記不揮発性メモリは固定長ブロック単位で管理されており、
    1つの前記固定長ブロックに関する領域管理情報を含む第1のエントリ情報と、
    複数の前記固定長ブロックから構成される連続領域の管理情報を含む第2のエントリ情報と、
    により構成された前記不揮発性メモリの領域管理情報が前記不揮発性メモリ内に格納されることを特徴とする情報記録モジュール。
  10. 前記第1のエントリ情報と、前記第2のエントリ情報とは、前記不揮発性メモリの記録領域内に存在する共通の領域管理情報テーブル内で管理され、
    1つの前記固定長ブロックの領域管理は、前記第1のエントリ情報か、前記第2のエントリ情報のいずれか一方でのみ行われることを特徴とする請求項9記載の情報記録モジュール。
  11. 前記第1のエントリ情報は、
    対応する前記固定長ブロックに格納されているデータに引き続くデータが格納されている前記固定長ブロックの位置を示す情報を含むことを特徴とする請求項10記載の情報記録モジュール。
  12. 前記第2のエントリ情報は、
    前記第1のエントリ情報と前記第2のエントリ情報とを識別するための情報と、
    前記第2のエントリ情報が管理する連続領域の大きさを示す情報と、
    前記第2のエントリ情報が管理する連続領域に格納されているデータに引き続くデータが格納されている前記固定長ブロックの位置を示す情報を含むことを特徴とする請求項10記載の情報記録モジュール。
  13. ファイルデータを格納する不揮発性メモリを具備する情報記録モジュールと、前記情報記録モジュールにアクセスするアクセス装置からなる情報記録システムであって、
    前記不揮発性メモリは固定長ブロック単位で管理されており、
    1つの前記固定長ブロックに関する領域管理情報を含む第1のエントリ情報と、
    複数の前記固定長ブロックから構成される連続領域の管理情報を含む第2のエントリ情報と、
    により構成された前記不揮発性メモリの領域管理情報が前記不揮発性メモリ内に格納され、
    前記アクセスモジュールは、前記領域管理情報を用いて前記不揮発性メモリ内の記録領域の領域管理を行うファイルシステム制御部を具備することを特徴とする情報記録システム。
  14. 前記第1のエントリ情報と、前記第2のエントリ情報とは、前記不揮発性メモリの記録領域内に存在する共通の領域管理情報テーブル内で管理され、
    1つの前記固定長ブロックの領域管理は、前記第1のエントリ情報か、前記第2のエントリ情報のいずれか一方でのみ行われることを特徴とする請求項13記載の情報記録システム。
JP2008049359A 2008-02-29 2008-02-29 アクセスモジュール、情報記録モジュール、及び情報記録システム Pending JP2009205591A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008049359A JP2009205591A (ja) 2008-02-29 2008-02-29 アクセスモジュール、情報記録モジュール、及び情報記録システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008049359A JP2009205591A (ja) 2008-02-29 2008-02-29 アクセスモジュール、情報記録モジュール、及び情報記録システム

Publications (1)

Publication Number Publication Date
JP2009205591A true JP2009205591A (ja) 2009-09-10

Family

ID=41147748

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008049359A Pending JP2009205591A (ja) 2008-02-29 2008-02-29 アクセスモジュール、情報記録モジュール、及び情報記録システム

Country Status (1)

Country Link
JP (1) JP2009205591A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011058700A1 (ja) * 2009-11-11 2011-05-19 パナソニック株式会社 アクセス装置、情報記録装置、コントローラ、リアルタイム情報記録システム、アクセス方法、および、プログラム
JP2014071905A (ja) * 2012-09-28 2014-04-21 Samsung Electronics Co Ltd コンピュータシステム及びコンピュータシステムのデータ管理方法
JP2016162168A (ja) * 2015-03-02 2016-09-05 株式会社メガチップス キャッシュファイルシステム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011058700A1 (ja) * 2009-11-11 2011-05-19 パナソニック株式会社 アクセス装置、情報記録装置、コントローラ、リアルタイム情報記録システム、アクセス方法、および、プログラム
JP5481493B2 (ja) * 2009-11-11 2014-04-23 パナソニック株式会社 アクセス装置、情報記録装置、コントローラ、リアルタイム情報記録システム、アクセス方法、および、プログラム
US8977802B2 (en) 2009-11-11 2015-03-10 Panasonic Intellectual Property Management Co., Ltd. Access device, information recording device, controller, real time information recording system, access method, and program
JP2014071905A (ja) * 2012-09-28 2014-04-21 Samsung Electronics Co Ltd コンピュータシステム及びコンピュータシステムのデータ管理方法
JP2016162168A (ja) * 2015-03-02 2016-09-05 株式会社メガチップス キャッシュファイルシステム

Similar Documents

Publication Publication Date Title
JP5485163B2 (ja) アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム
JP5129156B2 (ja) アクセス装置、および、ライトワンス記録システム
JP5481493B2 (ja) アクセス装置、情報記録装置、コントローラ、リアルタイム情報記録システム、アクセス方法、および、プログラム
JP5577238B2 (ja) アクセス装置、情報記録装置、コントローラ、及び情報記録システム
US8069306B2 (en) Data area managing method in information recording medium and information processor employing data area managing method
JP4691209B2 (ja) アクセス装置、情報記録装置、情報記録システム、ファイル管理方法、およびプログラム
US20030065866A1 (en) Memory controller for memory card manages file allocation table
JP5362594B2 (ja) アクセス装置、及び残容量算出方法
JPWO2007034706A1 (ja) 情報記録媒体アクセス装置、及びデータ記録方法
JP4608434B2 (ja) 情報記録媒体のデータ処理装置及びデータ記録方法
US20080288710A1 (en) Semiconductor Memory Device and Its Control Method
JP4130808B2 (ja) フォーマット方法
JP2009205591A (ja) アクセスモジュール、情報記録モジュール、及び情報記録システム
WO2010001606A1 (ja) コントローラ、情報記録装置、アクセス装置、情報記録システム、及び情報記録方法
JP4755487B2 (ja) データ読出しシステム、データ読出し装置およびデータ読出し方法
JP2009205590A (ja) アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム
KR100678888B1 (ko) 정보를 기록하고 읽는 장치 및 방법
US9513826B2 (en) Storage apparatus and storage apparatus control method
JP2006146466A (ja) 記録媒体及びファイルシステム管理方法
KR101102754B1 (ko) 낸드 플래시 메모리 파일 시스템 및 낸드 플래시 메모리 시스템에서 파일 엑세스 방법
JP7262977B2 (ja) 記録装置及びその制御方法、並びにプログラム
JP2008152414A (ja) ライトワンス型情報記録装置、コントローラ、アクセス装置、及びライトワンス型情報記録システム