JP2005222483A - 情報記録装置 - Google Patents

情報記録装置 Download PDF

Info

Publication number
JP2005222483A
JP2005222483A JP2004032385A JP2004032385A JP2005222483A JP 2005222483 A JP2005222483 A JP 2005222483A JP 2004032385 A JP2004032385 A JP 2004032385A JP 2004032385 A JP2004032385 A JP 2004032385A JP 2005222483 A JP2005222483 A JP 2005222483A
Authority
JP
Japan
Prior art keywords
name
format
file
information
file name
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.)
Withdrawn
Application number
JP2004032385A
Other languages
English (en)
Inventor
Hirohiko Sugiura
寛彦 杉浦
Narihiro Matoba
成浩 的場
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2004032385A priority Critical patent/JP2005222483A/ja
Publication of JP2005222483A publication Critical patent/JP2005222483A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】 ユーザが任意に指定したファイル名を変更することなく記録媒体に記録する情報記録装置を提供する。
【解決手段】 メモリカード2から、指定された階層に格納されているファイルまたはディレクトリの属性を検索してバッファ14に読み出すデータ読み込み部13と、データ読み込み部13によって読み出されたファイルまたはディレクトリの属性に含まれる名称のうち、指定された名称と一致するものが存在しないかどうかを検索するファイル名検索部15と、ファイル名検索部15によって名称が一致するものが存在しないと判断されたとき、指定された名称に基づいて一意に決定される8バイトの名称部および3バイトの拡張子部からなるSFN名を作成するファイル名作成部16と、ファイル名作成部16と指定された名称とを保持するファイルまたはディレクトリを指定された階層に書き込むデータ書き込み部17とを備える。
【選択図】 図1

Description

この発明は、被記録情報にファイル名またはディレクトリ名を割り当てて記録媒体に保存する情報記録装置に関するものである。
情報携帯端末、携帯電話、デジタルスチルカメラでは、記録媒体に対してデータをファイルとして記録する。ファイルが記録された記録媒体は、パーソナルコンピュータとのデータの互換性からMS−DOS(登録商標)やWindows(登録商標)上で動作することを意識し、DOS形式のフォーマットにて取り扱われる。DOS形式のフォーマットでは、データの集合に対して個別のファイル名が命名され、記録媒体内ではファイル名によってデータが管理されている。ファイル名は、同一ディレクトリ内で重複しないファイル名であれば命名が可能である。
MS−DOS(登録商標)やWindows(登録商標)では、取り扱えるファイル名の形式として8.3形式名とLFN(Long File Name)形式名が存在する。8.3形式名は、8バイト以内のファイル名、3バイト以内の拡張子から構成されるファイル名である。LFN形式名は、ファイル名と拡張子名とをあわせて2バイトコードで255文字以内から構成されるファイル名である。
ディレクトリ内にファイルを新規に作成する際に、そのファイルの名称がディレクトリ内で重複しないように名称を決定する必要がある。既存のファイル名との重複を回避する方法としては、決定したファイル名をディレクトリ内で検索し、検索結果に基づいてファイル名の正当性を判断する方法が一般的である。しかし、ファイル名が重複しているかどうかを判定する検索処理は、ディレクトリ内のファイル数が増加するほど多くの時間を要する。したがって、検索処理を行うことなくファイル名を決定するための様々な方法が講じられている。
例えば、特許文献1には、ハッシュ関数による乱数を利用してファイル名の一部を数字で管理し、重複しないファイル名を生成する方法が開示されている。
特開平6−231023号公報
しかしながら、特許文献1の方法では、ファイル名の文字数が8バイト以内、拡張子が3バイト以内に規定されているため、8.3形式名のファイル名の作成にしか対応できないという課題があった。また、ファイル名の一部を機器内での数字で管理するため、最終的に記録媒体に保存するファイル名をユーザが任意に決定できないという課題があった。
この発明は上記のような課題を解決するためになされたもので、ユーザが任意に指定したファイル名を変更することなく記録媒体に記録する情報記録装置を提供することを目的とする。
この発明に係る情報記録装置は、記録媒体から、指定された階層に格納されている被記録情報の属性を検索して記憶領域に読み出す情報検索手段と、情報検索手段によって読み出された被記録情報の属性に含まれる名称のうち、指定された名称と一致するものが存在しないかどうかを検索する名称検索手段と、名称検索手段によって名称が一致するものが存在しないと判断されたとき、指定された名称に基づいて一意に決定される8バイトの名称部および3バイトの拡張子部からなる短縮名称部を作成する短縮名称作成手段と、短縮名称部と指定された名称とを保持する被記録情報を階層に書き込む情報書き込み手段とを備えたものである。
この発明によれば、情報記録装置が、記録媒体から、指定された階層に格納されている被記録情報の属性を検索して記憶領域に読み出す情報検索手段と、情報検索手段によって読み出された被記録情報の属性に含まれる名称のうち、指定された名称と一致するものが存在しないかどうかを検索する名称検索手段と、名称検索手段によって名称が一致するものが存在しないと判断されたとき、指定された名称に基づいて一意に決定される8バイトの名称部および3バイトの拡張子部からなる短縮名称部を作成する短縮名称作成手段と、短縮名称部と指定された名称とを保持する被記録情報を階層に書き込む情報書き込み手段とを備えるように構成したので、短縮名称部は一意に決定できるため、重複するかどうかを検索する必要がなく、短縮名称部を作成する時間を短縮できるという効果が得られる。
実施の形態1.
図1はこの発明の実施の形態1による情報記録装置のブロック図である。図に示すように、情報記録装置10は、ファイル名指定部11、情報解析部12、データ読み込み部(情報検索手段)13、バッファ(記憶領域)14、ファイル名検索部(名称検索手段)15、ファイル名作成部(短縮名称作成手段)16、データ書き込み部(情報書き込み手段)17を備える。情報記録装置10は、例えば携帯情報端末や携帯電話等に搭載され、挿抜自在のメモリカード(記録媒体)2が挿入される。メモリカードは情報記録装置10に対して挿抜自在のものであればよく、例えばフロッピー(登録商標)ディスク、コンパクトディスク等のデータ記録媒体でもよい。
ファイル名指定部11は、ユーザの操作に応じてファイル名を設定する。ファイル名の決定方法としては、例えば情報記録装置10が一覧を表示してユーザに選択させてもよいし、ユーザが情報記録装置10のテンキーやボタンを押下して文字を入力することによって決定してもよい。ファイル名指定部11は、ユーザが決定したファイル名を、メモリカード2に格納される位置を含むパス付ファイル名として設定する。
情報解析部12は、ファイル名指定部11からパス付ファイル名を取得して、階層毎にディレクトリ名を分離し、ルートディレクトリからファイルを作成するディレクトリの階層まで、メモリカード2から読み込むクラスタ番号を取得する。データ読み込み部13は、情報解析部12から指定されたクラスタ番号の内容をメモリカード2からバッファ14に読み込む。バッファ14は、データ読み込み部13によってメモリカード2から読み込まれたデータを保存する。バッファ14はまた、メモリカード2にデータを書き込む際に情報解析部12から取得したクラスタ番号の領域に対して書き込むデータを保存する。
ファイル名検索部15は、8.3形式名検索部151とLFN形式名検索部152とを備える。8.3形式名検索部151、LFN形式名検索部152は、バッファ14内に保存されるデータからファイル名またはディレクトリ名を検索する(詳細は後述する)。検索により発見されたファイル名からファイル情報を取得し、情報解析部12に取得したデータを供給する。
ファイル名作成部16は、8.3形式名作成部161とLFN形式名作成部162とを備え、ファイルの名称を作成する(詳細は後述する)。データ書き込み部17は、情報解析部12により指定された位置にバッファ14に格納されているデータを書き込む。
図2はDOS形式のFAT(File Allocation Table)型のファイルシステムのファイル構成を説明する図である。図に示すように、このファイル構成は、システム領域とデータ領域とを備える。システム領域には、MBR(Master Boot Record)領域、PBR(Partition Boot Record)領域、FAT領域、ルートディレクトリエントリ領域がある。MBR領域はメモリカードの記録形式を規定する情報を格納し、PBR領域はパーティションに関する情報を格納する。FAT領域はデータ領域の使用状況を管理する情報を格納し、ルートディレクトリエントリ領域はルートディレクトリのファイルやディレクトリを管理する情報を格納する。また、データ領域にはファイル情報、データ等が格納される。
図3はMS−DOS(登録商標)のFAT型のファイルシステムにおいて、ディレクトリエントリがクラスタ内に格納されている様子を示す図である。ディレクトリエントリとは、ファイル名、拡張子、属性、作成された日時、開始クラスタ番号、ファイルサイズ等、ファイルを管理する情報が記録された表であり、クラスタ内で先頭から32バイトずつファイル毎に割り当てられる。ディレクトリエントリにはその形式によって、8.3形式ディレクトリエントリ、VFAT(Virtual File Allocation Table)形式ディレクトリエントリ、SFN(Short File Name)形式ディレクトリエントリの3種類が存在する。
8.3形式名により指定されるファイルの情報は8.3形式ディレクトリエントリに格納される。また、LFN形式名により指定されるファイルの情報は、VFAT形式ディレクトリエントリとSFN形式ディレクトリエントリとに連続して格納される。LFN形式名は、ユーザから指定される最大255文字までの長さのファイル名と、管理用として生成されるSFN形式名とから構成される。VFAT形式ディレクトリエントリは、ユーザから指定されるファイル名の文字長に基づいて必要な個数が連続して配置される。例えば図3には、VFAT形式ディレクトリエントリが1つ必要なもの(1)と、3つ必要なもの(2)を示した。また、SFN形式名はSFN形式ディレクトリエントリに格納され、各LFN形式名には必ず1つのSFN形式ディレクトリエントリが確保される。
図4(a)〜(c)はディレクトリエントリの構成を説明する図である。図4(a)は8.3形式ディレクトリエントリ、図4(b)はVFAT形式ディレクトリエントリ、図4(c)はSFN形式ディレクトリエントリの構成をそれぞれ示す。8.3形式ディレクトリエントリは、ファイル名部と拡張子部とを含む8.3形式ファイル名、属性、予約領域、日時情報、クラスタ番号、ファイルサイズを保持する。VFAT形式ディレクトリエントリは、ID、LFN形式ファイル名、属性、固定値、チェックサムを保持する。また、SFN形式ディレクトリエントリは、ファイル名部と拡張子部とを含むSFN形式ファイル名、属性、追加情報、日時情報、クラスタ番号、ファイルサイズを保持する。
情報記録装置10にメモリカード2が挿入されているときは、データ読み込み部13が図2のファイル構成を有するメモリカード2からMBR情報、PBR情報を取得して内容を確認し、メモリカード2内でのFAT領域、ルートディレクトリエントリ領域、データ領域の開始位置を取得できる。メモリカード2に対するデータ領域のデータの読み込み、書き込みは、クラスタ単位で実行される。よって、ここではバッファ14のサイズはクラスタサイズとする。クラスタはデータ領域内で論理番号として2番から割り当てられ、FAT領域において各クラスタの使用状況が管理されている。ファイルは階層構造によって管理されており、ルートディレクトリエントリ領域内にあるファイルおよびディレクトリのディレクトリエントリが階層の基点となる。
次に情報記録装置10がメモリカード2に対して新規ファイルを作成する動作について説明する。
ユーザは、ファイル名指定部11を操作してファイル作成コマンドを選択した後、ファイルを作成したい場所を示すパス名と作成するファイルの名称とを任意に指定し、パス付ファイル名としてファイル名指定部11に設定する。ファイル名指定部11は設定されたパス付ファイル名を情報解析部12に通知する。情報解析部12は、パス付ファイル名をパス名とファイル名に分離し、パス名の解析を行う。解析によりファイル名を書き込むディレクトリを決定すると、該当するディレクトリの内容が含まれるクラスタ番号をデータ読み込み部13に通知する。
ここで、クラスタ番号の取得手順について説明する。ファイル名指定部11において、パス付ファイル名が例えば「/DIR01/ DIR02/ DIR03/ FILE01.DAT」と指定されたとする。ここではパス名、ファイル名は共に8.3形式名とする。データ読み込み部13はルートディレクトリエントリをバッファ14に読み出しておく。情報解析部12はパス付ファイル名を「/DIR01」と「/ DIR02/ DIR03/ FILE01.DAT」に分離し、ファイル名検索部15に供給する。ファイル名検索部15はバッファ14内で「DIR01 」の名称を持つディレクトリエントリの探索を行い、発見した場合はディレクトリエントリを情報解析部12に返す。情報解析部12は取得したディレクトリエントリからクラスタ番号を読み出し、データ読み込み部13に供給する。データ読み込み部13はクラスタ番号の内容をバッファ14に読み出す。
続いて、情報解析部12はパス付ファイル名「/ DIR02/ DIR03/ FILE01.DAT」をさらに「/DIR02」と「/ DIR03/ FILE01.DAT 」に分離し、ファイル名検索部15はバッファ14内で「DIR02」の名称を持つディレクトリエントリを探索する。発見されたディレクトリエントリから情報解析部12はクラスタ番号を取得する。さらに情報解析部12はパス付ファイル名「/ DIR03/ FILE01.DAT 」を「/ DIR03 」と「/ FILE01.DAT」に分離して、ファイル名検索部15によって「DIR03 」の名称を持つディレクトリエントリを探索する。情報解析部12は発見されたディレクトリエントリからクラスタ番号を取得する。以上の手順で情報解析部12は「DIR03 」の内容が記載されているディレクトリエントリのクラスタ番号を取得する。上記では、絶対パス名に8.3形式名のみを使用した場合にディレクトリエントリを探索する手順を説明したが、LFN形式名がパス名に含まれる場合は、以下に示す本発明による手順を利用する。以下には、ファイル名が8.3形式名またはLFN形式名のファイルを指定されたディレクトリに作成する手順を示している。
情報解析部12が上記手順によってクラスタ番号を取得すると、データ読み込み部13はクラスタ番号に相当するメモリカード2での物理ブロック番号を決定し、メモリカード2からクラスタサイズ分をバッファ14に読み込む。バッファ14には、データ読み込み部13が指定したクラスタ番号の内容がメモリカード2からコピーされて格納される。また、バッファ14には、パス付ファイル名として指定されたファイル名が、ファイル名検索部15によってファイル名が書込まれるディレクトリの位置が特定されて保存されている。
情報解析部12はまた、パス名とファイル名とに分離されているファイル名が8.3形式名であるかLFN形式名であるかを判断する。ファイル名が8バイトのファイル部と3バイトの拡張子部に格納することが可能な場合は、原則として8.3形式名となる。一方、8.3形式名の領域内に格納できない場合、または8.3形式で禁止されている文字がファイル名に使用されている場合、または英文字の小文字がファイル名に使用されている場合は、LFN形式名となる。例えば、「LONGFILENAME.DAT」のようにファイル部が8バイトを超過する場合、「FILE NUM.DAT」で使用されている空白文字を含む禁止文字が使用されている場合、または「file.DAT」のように英小文字が使用されている場合は、全てLFN形式名として分類される。
情報解析部12はファイル名が8.3形式名であるかLFN形式名であるかを判断すると、判断結果をファイル名検索部15に通知する。ファイル名検索部15では、形式に対応する検索手段がファイル名を検索する。すなわち、8.3形式名の場合は8.3形式名検索部151が検索を行い、LFN形式名の場合はLFN形式名検索部152が検索を行う。
ここで、8.3形式名検索部151の動作について説明する。
8.3形式名検索部151は、ユーザに指定されたファイル名が情報解析部12が取得したクラスタ内の8.3形式ディレクトリエントリに格納されている各ファイル名と重複しないかどうかを判定する。上述したように、バッファ14にはファイル情報を管理するディレクトリエントリを格納するクラスタの内容が格納されており、これはユーザが指定したパス名の最終ディレクトリの内容である。8.3形式名検索部151は、バッファ14の先頭バイトから順番に8.3形式ディレクトリエントリを検索する。バッファ14には、3種類のディレクトリエントリが存在するので、各ディレクトリエントリに存在する属性を取得し、8.3形式ディレクトリエントリであるか否かを判別する。
8.3形式名検索部151は8.3形式ディレクトリエントリを特定すると、それが保持するファイル名とユーザが指定したファイル名とを比較し、一致しているか否かを判断する。ユーザが指定したパス付ファイル名はUNICODEの文字コードにより指定されるのに対して、8.3形式ディレクトリエントリに格納されている文字コードは日本語の場合SJISコードであるため、8.3形式名検索部151はファイル名をUNICODEからSJISに変換した後、一致するか否かの判断を行う。8.3形式名検索部151がバッファ14内の全ての8.3形式ディレクトリエントリとファイル名とを比較して、一致するファイル名を発見しない場合はファイルを作成することが可能であると判断する。
同様に、8.3形式名検索部151はユーザが指定したファイル名とSFN形式ディレクトリエントリのファイル名部との比較も行う。これは、8.3形式ディレクトリエントリとSFN形式ディレクトリエントリとは同一構成、同一属性であるため、ファイル名部が一致すると同一ファイルと見なされるためである。指定されたファイル名と一致するファイル名を格納する8.3形式ディレクトリエントリとSFN形式ディレクトリエントリが存在しない場合、8.3形式名検索部151はファイル名作成部16にファイル作成指示を出す。
一方、情報解析部12が、指定されたファイル名がLFN形式名であると判断した場合はLFN形式名検索部152が検索を行う。LFN形式名検索部152は、バッファ14を検索し、VFAT形式ディレクトリエントリから構築されるファイル名と指定されたファイル名とが重複しないかどうかを判定する。
LFN形式の場合は、最大255文字までの長さのファイル名の指定が可能である。VFAT形式ディレクトリエントリでは1つのエントリについて最大13文字しか格納できないため、ファイル名の長さに併せて可変個数のVFAT形式ディレクトリエントリが連続して確保される。確保された複数のVFAT形式ディレクトリエントリのうち、最後のエントリに隣接するエントリとしてSFN形式ディレクトリエントリが必ず確保される。
LFN形式名検索部152は以下の手順でファイル名の重複を判定する。
図4(b)に示したVFAT形式ディレクトリエントリの構成要素であるIDは、上記複数のVFAT形式ディレクトリエントリを識別するためのものである。このIDには、連続するVFAT形式ディレクトリエントリの個数が含まれる。LFN形式名検索部152は、ファイル名の長さから必要なVFAT形式ディレクトリの個数を算出可能であるため、IDに含まれる個数を比較することによってファイル名が一致する可能性があるか否かを判別できる。したがって、LFN形式名検索部152は、まず、バッファ14内に格納されているデータの中で、VFAT形式ディレクトリエントリのIDと必要な個数とを比較して、ファイル名の一致の可能性を判定する。
一致する可能性がないと判定した場合は、LFN形式名検索部152はそのVFAT形式ディレクトリエントリとSFN形式ディレクトリエントリはファイル名と一致しないと判断し、次のVFAT形式ディレクトリエントリをバッファ14内から探し出して判定する。
一方、一致する可能性があると判定した場合は、LFN形式名検索部152は連続するVFAT形式ディレクトリエントリの個数を把握し、ファイル名領域1、ファイル名領域2、ファイル名領域3の3つの領域に分割されているファイル名をIDの小さいエントリから順次連結し、ファイル名を取得する。LFN形式名検索部152は、取得したファイル名とユーザが指定したファイル名とを比較し、一致しているかどうかを判断する。なお、VFAT形式ディレクトリエントリ内の文字はUNICODEにより格納されているために、ユーザが指定したファイル名と同一コードであるので文字コードの変換は必要ない。
8.3形式名検索部151、LFN形式名検索部152は、検索の結果同一のファイル名が見つからなかった場合はファイル名作成部16に対してファイル名作成の指示を出す。ファイル名作成部16は、8.3形式名検索部151によって検索された場合は8.3形式名作成部161によりファイル名を作成し、LFN形式名検索部152によって検索された場合はLFN形式名作成部162によりファイル名を作成する。一方、同一ファイル名が見つかった場合は、ファイル名検索部15はユーザに対してファイル名の再設定指示を出す。
次に、8.3形式名作成部161の動作について説明する。
8.3形式名作成部161はファイル名検索部15からファイル名作成指示を受けると、8.3形式の名称を作成する。8.3形式名では、ディレクトリエントリを確保するために必要な領域は8.3形式ディレクトリエントリを構成する32バイトの領域でよい。したがって、バッファ14内から未使用または使用済みの1つのディレクトリエントリが確保できる領域が見つかればよい。未使用または使用済みであるかどうかは、8.3形式ディレクトリエントリまたはSFN形式ディレクトリエントリの先頭1バイトが“0x00”または“0xE5”であるか否かによって判断する。なお、8.3形式ディレクトリエントリとSFN形式ディレクトリエントリとは同一構成、同一属性であるため、非使用であればいずれのエントリ領域も使用可能である。
8.3形式名作成部161は、日時情報、クラスタ番号、ファイルサイズ等、ファイル情報の各項目に対して値を代入し、8.3形式ディレクトリエントリのフォーマットでバッファ14内に確保できた領域に上書きする。ファイル名に関してはユーザに指定された8.3形式名をファイル部と拡張子部に分離し、それぞれの領域に格納する。
なお、必要な領域がバッファ14内で確保できないときは、8.3形式名作成部161はデータ読み込み部13が読み出したFAT領域に基づいて空きクラスタを検索し、得られた空きクラスタの番号をFAT領域に登録する。これにより、クラスタの領域を確保できる。
次に、LFN形式名作成部162の動作について説明する。
LFN形式名作成部162は、LFN形式名格納部1621、SFN形式名格納部1622を備え、ファイル名検索部15からファイル名作成指示を受けるとLFN形式の名称を作成する。LFN形式名では、ユーザにより指定されるファイル名の長さによって確保すべきディレクトリエントリの個数が変化するため、必要となる空き領域は一定サイズではない。1つのVFAT形式ディレクトリエントリは、2バイトコードの文字を13文字格納できる。したがって、ファイル名が13文字の倍数を超過する毎に必要なVFAT形式ディレクトリエントリが1つ増加する。
上述したように、LFN形式名はファイル名を格納できる個数分のVFAT形式ディレクトリエントリと、1つのSFN形式ディレクトリエントリとから構成される。そのため必要となる領域サイズはVFAT形式ディレクトリエントリの個数にSFNディレクトリエントリ1個分を加算し、32バイトを乗算したサイズとなる。したがって、LFN形式名格納部1621はこのサイズの領域をバッファ14内で連続して確保する必要がある。
使用可能な領域であるかどうかは、8.3形式名作成部161の場合と同様に、8.3形式ディレクトリエントリまたはSFN形式ディレクトリエントリの先頭1バイトが0x00または0xE5であるかどうかによって判断される。なお、SFN形式ディレクトリが非使用である場合、それに付随するVFAT形式ディレクトリエントリも先頭1バイトが0xE5を示し非使用であるため、使用可能となる。
LFN形式名格納部1621は、ユーザに指定されたファイル名の長さから必要な領域サイズを計算し、上記手順により必要な領域をバッファ14内に確保できると判断すると、バッファ14に上書きするためのディレクトリエントリ、すなわちVFAT形式ディレクトリエントリとSFN形式ディレクトリエントリとを以下のように作成する。
LFN形式名格納部1621は、まず、ユーザにより指定されたファイル名を、SFN形式ディレクトリエントリに隣接するVFAT形式ディレクトリエントリからファイル名領域1、ファイル名領域2、ファイル名領域3に順番に格納していく。文字が埋まらないファイル名領域には0xFFを格納する。
続いて、SFN形式名格納部1622がSFN形式ディレクトリエントリに格納するファイル名を決定する。SFN形式ディレクトリエントリについては、同一ディレクトリ内にある8.3形式名およびSFN形式名のファイル名と重複しない名称を作成する必要がある。図4に示したように、SFN形式のファイル名は8.3形式と同一のフォーマットであり、8バイト以内のファイル名部と3バイト以内の拡張子で構成されるようにする。
従来は、このSFN形式名を、LFN形式名の先頭6バイト、「〜(チルダ)」、数字、および拡張子3バイトから構成される名称としていた。しかしながら、このような構成の名称では、SFN形式名に含まれる数字をLFN形式名によって一意に決定できないため、同一ディレクトリ内に作成されたファイルのSFN名の作成時に重複するSFN名がないかどうか検索しなければない。これに対して、本発明では以下のようにSFN名を作成することによって検索が不要となるようにした。
図5は、SFN形式名格納部1622の処理手順を示すフローチャートである。この図を参照して、SFN形式名格納部1622の動作について説明する。
SFN形式名格納部1622は、SFN形式名をM系列により発生する乱数を使用して作成する。M系列とは、線形最大周期列(Maximum-length linearly recurring sequence)の略であり、次の線形漸化式で発生する1ビットの値を並べた数列である。
Xn=Xn-p+Xn-q (p>q)
ここで、nはビット列中のn番目のビットを示す。
ビット列を生成するためには、初期値となるビット列が必要である。初期値となるビット列として、LFN形式名を構成する文字列をビット列に展開したものを使用し、この長さによって周期を定義する。n番目のビットは、n−p番目とn−q番目のビットとの排他的論理和により得られる。pとqには、次の式
+X+1 (p>q)
が既約多項式となるような任意の値を選択する。
SFN形式名格納部1622は、M系列を利用して発生する乱数のうちn=p以降のビット列を64ビット分だけ取得してSFN名とする。SFN名を作成するために64ビットの全てを埋める必要はないが、ファイル名が最大限重複しないように設定するために格納可能な最大サイズとした。取得した64ビットを8ビット毎に区切り、1バイト毎にファイル名部の先頭より8バイト分埋めてファイル名部とする。
SFN形式名格納部1622はまず、ユーザに指定されたファイル名を構成する文字列をビット列に展開する(ステップST100)。続いて、このビット列を線形漸化式の初期値として決定する(ステップST101)。
例えば、ファイル名が「東京都千代田区丸の内地区.DAT」の場合を説明する。上述したように、ファイル名部は8バイトであるため、M系列により発生するビット列は64ビット必要となる。pとqは既約多項式を満足する値であればよいため、例えばp=127、q=1とする。ファイル名が8バイトを超過した場合はロングファイル名となる上、M系列のできるだけ離れた部分を走るようにするために、pとqとが離れた値を選択した。
図6(a)はファイル名の文字列をビット列に展開したことを示す図である。入力されたファイル名はUNICODEであり、例えば「東」を16進数のコードで表記すると0x6771、「京」は0x4EACとなる。拡張子部を除くファイル名部である「東京都千代田区丸の内地区」を16進数のコードで表記すると、「67 71 4E AC 90 FD 53 43 … 533A」となる。これをさらに2進数に展開すると「01100111 01110001 01001110 …00111010」の192ビットのビット列が形成される。
続いて、SFN形式名格納部1622はビット列を計算して取得する(ステップST102)。SFN名となるビット列は、初期ビット列の続きであるn=192の値から始まる。図6(b),(c)はビット列の作成過程について説明する図である。上記線形漸化式からn=192以降のビット列を作成する。X192=X192−127−X192−1=X65−X191である。X65は文字「代(0x4EE3)」の上位から2ビット目(ア)にあたるので値は1、X191は文字「区(0x533A)」の最下位ビット(イ)にあたるので値は0となり、1と0の排他論理和からX192=1(ウ)となる。
続いて、SFN形式名格納部1622はビット列が終了したか否かを判断し(ステップST103)、終了していない場合は同様に次のビットの計算を行う。n=193の場合を算出するとX193=1(エ)となる。SFN形式のファイル名部は最大8バイトを格納することができるので、SFN形式名格納部1622はn=255の場合まで算出する。
上記の方法により求められたビット列は、16進数で表記すると「E9 7B 4C 40 C4 58 E8 5F」となる。SFN形式名格納部1622は、算出した8バイトのコードをSFN形式のファイル名部のコードとして割り当てる。拡張子については、UNICODEからSJISに文字コード変換し、3バイトの文字列「DAT」を拡張子部に格納する。
ビットの計算が終了すると、SFN形式名格納部1622はビット列のチェックを行う(ステップST104)。すなわち、ファイル名部に割り当てたコードのうち、先頭の1バイトが0x00,0xE5,0xFFとなる場合は、ディレクトリエントリとして意味を持つコードであるため割り当てないようにする。この場合は、先頭の1バイトを削除し、2バイト目から格納する。不足した8バイト目のコードは、n=256からn=263を計算して、補充する。また、8.3形式ファイル名やSFN形式ファイル名に格納できない禁止文字に相当するコードが存在する場合、空き領域を示す0x20が存在する場合にも、同様に8バイトが全て格納されるように補充する。
以上のように、SFN形式名格納部1622はLFN名からSFN名を作成する。SFN形式名格納部1622はさらに、作成したファイル名部と拡張子部とからチェックサムを計算し、全VFAT形式ディレクトリエントリのチェックサム領域にチェックサム値を設定する。SFN形式ディレクトリエントリには、ファイル名の他、属性、日時等のファイル情報を設定する。LFN形式名作成部162はVFAT形式名ディレクトリエントリとSFN形式名ディレクトリエントリとを作成すると、動作を終了する。
8.3形式名作成部161またはLFN形式名作成部162は、ユーザに指定されたファイル名を格納するためのディレクトリエントリを作成した後、バッファ14内の空き領域に上書きする。バッファ14にデータが上書きされると、データ書き込み部17が情報解析部12によって読み込まれた位置に対応するようにメモリカード2に書き込む。
以上のように、この実施の形態1では、SFN形式名格納部1622がLFN名作成時に最大周期列を利用してSFN名を作成するようにした。最大周期列を利用すると、1つの原始多項式で生成されるM系列は1通りしか存在しないため、LFN名に基づいて特定の多項式と算出の開始位置および終了位置をシステム内で規定しておくことによって、一意に決定されるSFN名を作成することができる。したがって、従来はSFN名作成時に重複するSFN名がないかどうか検索する必要があったが、本発明により作成するSFN名は一意に決定できるため、重複するかどうかを検索する必要がなく、SFN名を作成する時間を短縮できるという効果がある。また、ユーザが任意に指定したファイル名が変更されることがないという効果もある。なお、この実施の形態1では、p=127、q=1としたが、原始多項式を満足しかつ発生するビット列が64ビット以上であれば任意の値を設定できる。
この実施の形態1では、例としてファイルを作成する場合について示したが、ディレクトリについても同様の手順により作成することができる。また、M系列により作成されたビット列は、ファイル名部にのみ割り当てたが、拡張子を含めた11文字をビット列の対象としてもよい。
なお、ファイル名指定部11から情報解析部12に対してパス付ファイル名が供給されることを示したが、パス名とファイル名とを分離して供給してもよい。また、ファイル名指定部11においてパス名はUNICODEでなくSJISコードで指定してもよい。さらに、バッファ14のサイズはクラスタサイズに限定しない。FATにおいてクラスタが連続して使用されている場合には、情報解析部12がFATから次のクラスタを判断し、データ読み込み部13が対象となるクラスタをバッファ14に読み込み、引き続きファイル名検索部15がファイル名を検索する。したがって、FATにおいてクラスタが連続して使用されている場合も鑑み、バッファ14はクラスタサイズの整数倍のサイズでもよい。
実施の形態2.
上記実施の形態1では最大周期列を用いてLFN名からSFN名を作成することを説明したが、この実施の形態2では、最大周期列を用いてSFN名が作成されたファイルまたはディレクトリの情報をユーザが指定して検索する手順について説明する。
LFN形式名のファイルまたはディレクトリの情報を取得する場合、従来は以下の手順で実行されていた。すなわち、ユーザが指定したパス付きファイル名に基づいて情報解析部12が読み込むクラスタ番号を取得し、データ読み込み部13が取得したクラスタ番号の内容をバッファ14に読み込む。続いて、ファイル名検索部15がバッファ14から、分割されているVFAT形式ディレクトリエントリのファイル名を取得し、ファイル名領域のファイル名を連結してファイル名を作成し、指定されたファイル名と一致するか否かを判定する。さらに、VFAT形式ディレクトリエントリに対応するSFN形式ディレクトリエントリを特定し、ファイル情報を取得していた。
これに対し、この発明の実施の形態2による情報記録装置10は、以下の手順でファイル情報を取得する。
ユーザは検索したいパス付ファイル名をファイル名指定部11に設定する。ファイル名指定部11は取得したパス付ファイル名を情報解析部12に供給する。情報解析部12は取得したパス付ファイル名をパス名とファイル名に分離し、パス名の解析を行って、該当するディレクトリの内容が含まれるクラスタ番号をデータ読み込み部13に通知する。データ読み込み部13は指定されたクラスタ番号からブロック番号を取得し、そのブロックをメモリカード2から読み込んでバッファ14に格納する。ファイル名検索部15は、検索したいファイル名の形式に応じて8.3形式名検索部151またはLFN形式名検索部152が検索を実行する。8.3形式名の検索動作は従来と同様であるため、ここではLFN形式名検索部152の動作について説明する。
図7はこの実施の形態2に係るLFN形式名検索部152の動作を示すフローチャートである。この図を参照してLFN形式名検索部152の動作について説明する。
LFN形式名検索部152は指定されたファイル名がLFN名である場合に検索指示を受け取る。LFN形式名検索部152は上記実施の形態1で示したSFN形式名格納部1622と同様の動作によって、LFN名に基づきSFN名を作成する(ステップST201)。続いて、LFN形式名検索部152はバッファ14を検索し、8.3形式ディレクトリエントリおよびSFN形式ディレクトリエントリを特定してファイル名部および拡張部と、作成したSFN名とを順番に比較する(ステップST202)。
バッファ14内のファイル名部と拡張子部が、LFN形式名検索部152が作成したSFN名と一致する場合は、ユーザが指定したファイル名とバッファ14内のファイル名とが一致すると判定される。ファイル名が一致したディレクトリエントリはファイル情報として、日時情報、クラスタ番号、ファイルサイズを保持するので、必要に応じてこれらの情報を取得する(ステップST203)。
以上のように、最大周期列を利用してファイル名が作成されたファイルの情報を検索する際に、LFN形式名検索部152が、ユーザが指定したファイル名に基づいて一意に決定できるSFN名を作成し、これに基づいて検索を行うようにした。したがって、従来のファイル情報の取得方法と比較して、処理工程を短縮することができる効果が得られる。
なお、例としてファイルを探索する場合について説明したが、LFN形式名のディレクトリについても同様の手順により探索が可能である。
この発明の実施の形態1による情報記録装置のブロック図である。 DOS形式のFAT型のファイルシステムのファイル構成を説明する図である。 MS−DOS(登録商標)のFAT型のファイルシステムにおいて、ディレクトリエントリがクラスタ内に格納されている様子を示す図である。 (a)は8.3形式ディレクトリエントリの構成を説明する図、(b)はVFAT形式ディレクトリエントリの構成を説明する図、(c)はSFN形式ディレクトリエントリの構成を説明する図である。 SFN形式名格納部の処理手順を示すフローチャートである。 ファイル名の文字列をビット列に展開したことを示す図である。 ビット列の作成過程について説明する図である。 ビット列の作成過程について説明する図である。 この発明の実施の形態2に係るLFN形式名検索部の動作を示すフローチャートである。
符号の説明
10 情報記録装置、11 ファイル名指定部、12 情報解析部、13 データ読み込み部、14 バッファ、15 ファイル名検索部、16 ファイル名作成部、17 データ書き込み部、151 8.3形式名検索部、152 LFN形式名検索部、161 8.3形式名作成部、162 LFN形式名作成部、1621 LFN形式名格納部、1622 SFN形式名格納部。

Claims (5)

  1. 被記録情報に名称を割り当て、記録媒体の指定された階層に書き込みを行う情報記録装置において、
    前記記録媒体から、前記指定された階層に格納されている被記録情報の属性を検索して記憶領域に読み出す情報検索手段と、
    前記情報検索手段によって読み出された被記録情報の属性に含まれる名称のうち、指定された名称と一致するものが存在しないかどうかを検索する名称検索手段と、
    前記名称検索手段によって名称が一致するものが存在しないと判断されたとき、指定された名称に基づいて一意に決定される8バイトの名称部および3バイトの拡張子部からなる短縮名称部を作成する短縮名称作成手段と、
    前記短縮名称部と指定された名称とを保持する被記録情報を前記階層に書き込む情報書き込み手段とを備えたことを特徴とする情報記録装置。
  2. 短縮名称作成手段は、指定された名称に基づいて最大周期列により発生する乱数により短縮名称部を決定することを特徴とする請求項1記載の情報記録装置。
  3. 短縮名称作成手段は、指定された名称が拡張子を除き8バイトを超過するサイズである場合に、短縮名称部を作成することを特徴とする請求項1または請求項2記載の情報記録装置。
  4. 名称検索手段は、指定された名称に基づいて最大周期列により発生する乱数により短縮名称部を作成し、作成した短縮名称部に基づいて、情報検索手段が読み出した被記録情報の名称が、指定された名称と一致しないかどうかの検索を行うことを特徴とする請求項1から請求項3のうちいずれか1項記載の情報記録装置。
  5. 記録媒体が挿抜自在のメモリカードであることを特徴とする請求項1から請求項4のうちいずれか1項記載の情報記録装置。
JP2004032385A 2004-02-09 2004-02-09 情報記録装置 Withdrawn JP2005222483A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004032385A JP2005222483A (ja) 2004-02-09 2004-02-09 情報記録装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004032385A JP2005222483A (ja) 2004-02-09 2004-02-09 情報記録装置

Publications (1)

Publication Number Publication Date
JP2005222483A true JP2005222483A (ja) 2005-08-18

Family

ID=34998039

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004032385A Withdrawn JP2005222483A (ja) 2004-02-09 2004-02-09 情報記録装置

Country Status (1)

Country Link
JP (1) JP2005222483A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009122743A1 (ja) * 2008-04-04 2009-10-08 パナソニック株式会社 アクセス装置、情報記録装置、情報記録システム、ファイル管理方法、およびプログラム
WO2010001979A1 (en) * 2008-06-30 2010-01-07 Canon Kabushiki Kaisha Information processing apparatus, method of controlling the same, and storage medium
JP5069253B2 (ja) * 2007-02-16 2012-11-07 パナソニック株式会社 再生装置、システムlsi及び再生方法
JP2014523596A (ja) * 2011-07-25 2014-09-11 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 ファイルシステムをクリーニングするための方法及び装置並びにその記憶媒体

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5069253B2 (ja) * 2007-02-16 2012-11-07 パナソニック株式会社 再生装置、システムlsi及び再生方法
WO2009122743A1 (ja) * 2008-04-04 2009-10-08 パナソニック株式会社 アクセス装置、情報記録装置、情報記録システム、ファイル管理方法、およびプログラム
CN101983376A (zh) * 2008-04-04 2011-03-02 松下电器产业株式会社 访问装置、信息记录装置、信息记录系统、文件管理方法和程序
JP2011138534A (ja) * 2008-04-04 2011-07-14 Panasonic Corp アクセス装置、情報記録装置、情報記録システム、ファイル管理方法、およびプログラム
US8019800B2 (en) 2008-04-04 2011-09-13 Panasonic Corporation Access device, information recording device, information recording system, file management method, and program
WO2010001979A1 (en) * 2008-06-30 2010-01-07 Canon Kabushiki Kaisha Information processing apparatus, method of controlling the same, and storage medium
JP2010009483A (ja) * 2008-06-30 2010-01-14 Canon Inc 情報処理装置、その制御方法、及びプログラム
US9405760B2 (en) 2008-06-30 2016-08-02 Canon Kabushiki Kaisha Information processing apparatus, method of controlling the same, and storage medium
JP2014523596A (ja) * 2011-07-25 2014-09-11 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 ファイルシステムをクリーニングするための方法及び装置並びにその記憶媒体
US9104685B2 (en) 2011-07-25 2015-08-11 Tencent Technology (Shenzhen) Company Limited Method, device and storage medium for cleaning up file systems

Similar Documents

Publication Publication Date Title
US8335889B2 (en) Content addressable storage systems and methods employing searchable blocks
JP3938594B2 (ja) ファイル名生成装置
JP4685348B2 (ja) 多数の文字を扱うための効率的な照合要素構造
KR100877063B1 (ko) 데이터를 관리하는 장치 및 방법
KR100546524B1 (ko) 파일 관리 방법
KR100856245B1 (ko) 파일 시스템 장치 및 그 파일 시스템의 파일 저장 및 파일 탐색 방법
JPS6115243A (ja) メモリ割当て方法
US6976038B2 (en) Method and apparatus for real time creation and modification of a change log for multi-server synchronization
CN101983376A (zh) 访问装置、信息记录装置、信息记录系统、文件管理方法和程序
JP6032292B2 (ja) 圧縮プログラム、圧縮装置、伸張プログラムおよび伸張装置
JP2005222483A (ja) 情報記録装置
JP4391983B2 (ja) ファイルシステム経路処理装置及び方法
US6754649B2 (en) Apparatus and method for storing data in a storage medium, while saving storage areas which are used for holding a data path name and become necessary in response to the storing of data
JP2017097437A (ja) 情報処理システム、情報処理装置、及びプログラム
US20130218851A1 (en) Storage system, data management device, method and program
WO2014030180A1 (ja) 格納プログラム、格納方法、格納装置、伸張プログラム、伸張方法及び伸張装置
JP6032291B2 (ja) 圧縮プログラム、圧縮装置、伸張プログラム、伸張装置およびシステム
CN112181910A (zh) 一种扩展短文件名生成方法、文件访问方法以及设备
EP2164005B1 (en) Content addressable storage systems and methods employing searchable blocks
JP2017195628A (ja) 符号化プログラム、符号化方法、符号化装置、復号化プログラム、復号化方法及び復号化装置
JP5165082B2 (ja) 情報処理装置、制御方法、プログラム、及び記録媒体
JP2001312517A (ja) インデクス生成装置及び文書検索装置
JPWO2004111855A1 (ja) 記録媒体、データ再生装置、データ記録装置、及びデータ再生方法
JP2016134754A (ja) 変換処理プログラム、情報処理装置および変換処理方法
JP5196796B2 (ja) 撮像装置及び撮像システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070124

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071016

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080714

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090312