JP2734391B2 - 不揮発性メモリのファイル管理装置 - Google Patents

不揮発性メモリのファイル管理装置

Info

Publication number
JP2734391B2
JP2734391B2 JP543795A JP543795A JP2734391B2 JP 2734391 B2 JP2734391 B2 JP 2734391B2 JP 543795 A JP543795 A JP 543795A JP 543795 A JP543795 A JP 543795A JP 2734391 B2 JP2734391 B2 JP 2734391B2
Authority
JP
Japan
Prior art keywords
file
address
information
area
entry
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.)
Expired - Lifetime
Application number
JP543795A
Other languages
English (en)
Other versions
JPH08195093A (ja
Inventor
正浩 杉田
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.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP543795A priority Critical patent/JP2734391B2/ja
Priority to US08/587,492 priority patent/US5860135A/en
Publication of JPH08195093A publication Critical patent/JPH08195093A/ja
Application granted granted Critical
Publication of JP2734391B2 publication Critical patent/JP2734391B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9017Indexing; Data structures therefor; Storage structures using directory or table look-up
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

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)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は不揮発性メモリのファイ
ル管理装置に関し、特にメモリカードに搭載された不揮
発性メモリのファイル管理方法に関する。
【0002】
【従来の技術】従来、この種の不揮発性メモリのファイ
ル管理方法においては、図3に示すように、メモリカー
ド4が2つのパーティション4a,4bに分割、各パー
ティション4a,4b各々の先頭アドレスにブートレコ
ード40a,40bが設けられる。
【0003】ブートレコード40a,40bは媒体の初
期化時にパーティション4a,4b内のブロック数及び
ディレクトリ構造の先頭ポインタ、すなわちルート・デ
ィレクトリ41a,41bのアドレス等の情報が記録さ
れる。
【0004】ルート・ディレクトリ41aにはディレク
トリ・エントリ42aのアドレスが記録される。ルート
・ディレクトリ41a内にあるサブディレクトリまたは
ファイルの情報はパーティション4a内に点在してお
り、エントリのチェーンがポインタでつながっている。
【0005】ディレクトリ・エントリ42aは次のエン
トリのアドレスを書込むプライマリ領域、初めは空でデ
ィレクトリを更新した時に更新後のエントリのアドレス
を記録するセカンダリ領域及びディレクトリの名前等を
記録するその他の情報領域を持つ。プライマリ領域には
更新前のファイル・エントリ43aのアドレス情報が記
録されており、セカンダリ領域は空になっている。
【0006】更新前のファイル・エントリ43aは次の
エントリのアドレスを書込むプライマリ領域、初めは空
でファイルを更新した時に更新後のエントリのアドレス
を記録するセカンダリ領域及びファイルの名前やファイ
ルの実際のデータ領域のアドレス等を記録するその他の
情報領域を持つ。プライマリ領域には次のエントリのア
ドレス情報が記録されており、セカンダリ領域には更新
後のファイル・エントリ46aのアドレス情報が記録さ
れる。
【0007】また、その他の情報領域にはファイル名や
更新前のファイルの情報44aのアドレス情報等が記録
されている。このとき、更新前のファイル・エントリ4
3aのプライマリ領域のポインタをたどった場合のエン
トリは開放されており、使用されない。
【0008】更新前のファイルの情報44aにはそのフ
ァイルの作成日時や属性等の情報及びファイルの実際の
データ領域、つまり更新前のファイル45aのアドレス
が記録されている。
【0009】更新後のファイル・エントリ46aはプラ
イマリ領域、セカンダリ領域及びその他の情報領域を持
つ。このプライマリ領域には次のエントリのアドレス情
報が記録されており、セカンダリ領域は空になってい
る。また、その他の情報領域にはファイル名や更新後の
ファイルの情報47aのアドレス情報等が記録されてい
る。
【0010】更新後のファイルの情報47aにはそのフ
ァイルの作成日時や属性等の情報及びファイルの実際の
データ領域、つまり更新後のファイル48aのアドレス
が記録されている。
【0011】ブロック・アロケーション・ストラクチャ
領域49a,42bはブロックの消去回数や使用不可能
になったデータ領域、及び使用可能なデータ領域等の情
報が記録される。
【0012】上記のように構成されたメモリカード4に
おいて、まずディレクトリ・エントリ42a内のファイ
ルを更新する場合、ブロック・アロケーション・ストラ
クチャ領域49aに記録されている使用可能なデータ領
域の情報が参照され、更新するファイルやそれに伴って
更新されるファイル・エントリ等の情報が書込めるだけ
の領域が確保可能か否かが確認される。
【0013】領域不足でファイルやファイル・エントリ
等の情報が書込めない場合、ガーベージ・コレクション
等の処理が行われ、使用可能な領域が確保される。
【0014】ファイルやファイル・エントリ等の情報が
書込めるだけの領域が確保されると、パーティション4
aの先頭アドレスにあるブートレコード40aがアクセ
スされ、ルート・ディレクトリ41aのアドレスの取得
が行われる。
【0015】ブートレコード40aからアドレスが取得
されると、そのアドレスに基づいてルート・ディレクト
リ41aがアクセスされ、ディレクトリ・エントリ42
aのアドレスの取得が行われ、その後にそのアドレスに
基づいてディレクトリ・エントリ42aがアクセスされ
る。
【0016】このディレクトリ・エントリ42aに登録
されているディレクトリ名が更新するファイルのディレ
クトリ名と一致すると、更新前のファイル・エントリ4
3aのアドレスの取得が行われる。
【0017】取得したアドレスを基に更新前のファイル
・エントリ43aがアクセスされ、更新前のファイル・
エントリ43aに登録されているファイル名が更新する
ファイル名と一致し、セカンダリ領域が空であったなら
ば、そのセカンダリ領域にパーティション4a内の未使
用データ領域のアドレスが書込まれる。
【0018】この未使用データ領域のアドレスに更新後
のファイル・エントリ46aが作成され、更新後のファ
イル・エントリ46aのプライマリ領域に更新前のファ
イル・エントリ43aのプライマリ領域の内容が書込ま
れる。また、更新後のファイル・エントリ46aのその
他の情報領域にはファイル名や次の未使用データ領域の
アドレスが書込まれる。
【0019】更新後のファイル・エントリ46aのその
他の情報領域に書込まれた次の未使用データ領域のアド
レスに更新後のファイルの情報47aが書込まれ、次の
未使用データ領域のアドレスが指定される。指定された
アドレスに更新後のファイル48aが実際に書込まれた
後に、ブロック・アロケーション・ストラクチャ領域4
9aに使用したデータ領域の情報が追加される。
【0020】一方、ディレクトリ・エントリ42a内の
ファイルを読出す場合、パーティション4aの先頭アド
レスにあるブートレコード40aがアクセスされ、ルー
ト・ディレクトリ41aのアドレスの取得が行われる。
【0021】取得したアドレスを基にルート・ディレク
トリ41aがアクセスされ、ディレクトリ・エントリ4
2aのアドレスが取得された後、そのアドレスに基づい
てディレクトリ・エントリ42aがアクセスされ、ディ
レクトリ・エントリ42aに登録されているディレクト
リ名が読出すファイルのディレクトリ名と一致していれ
ば、更新前のファイル・エントリ43aのアドレスの取
得が行われる。
【0022】この場合、取得したアドレスを基に更新前
のファイル・エントリ43aにアクセスすると、プライ
マリ領域の他にセカンダリ領域にもアドレス情報が記録
されているので、セカンダリ領域に記録されている更新
後のファイル・エントリ46aのアドレスの取得が行わ
れる。
【0023】このアドレスを基に更新後のファイル・エ
ントリ46aがアクセスされ、更新後のファイル・エン
トリ46aに登録されているファイル名が読出すファイ
ル名と一致し、セカンダリ領域が空であったならば、そ
の他の情報領域に記録されている更新後のファイルの情
報47aのアドレスの取得が行われる。
【0024】取得したアドレスを基に更新後のファイル
の情報47aがアクセスされ、更新後のファイル48a
のアドレスの取得が行われた後、実際のデータ領域であ
る更新後のファイル48aが読出される。上述したファ
イル管理方式については、「解説 再び関心高まるフラ
ッシュ・メモリ・カード」(清田資子著、日経バイトJ
UNE 1994、P.174〜182)に詳述されて
いる。
【0025】上述したようなファイル管理方式によっ
て、ディレクトリまたはファイルの更新はディレクトリ
・エントリまたはファイル・エントリのセカンダリ領域
に更新したエントリのアドレスを追記するだけで済むの
で、データを書換える毎に行うブロック単位の消去処理
が不要となる。ただし、ファイルやディレクトリを頻繁
に更新していくと、エントリのチェーンが長くなるの
で、ポインタをたどるのに時間がかかるようになる。
【0026】また、開放されて使用されなくなったデー
タ領域が多くなり、パーティション内の使用可能な領域
が少なくなってしまう。このため、ファイル管理システ
ムではあるタイミングでガーベージ・コレクションを行
い、開放されたデータ領域の消去及びエントリのチェー
ンの最適化が行われる。
【0027】このとき、ブロック・アロケーション・ス
トラクチャ領域39aに記録された消去回数の情報が使
用され、ある特定のブロックの消去回数だけが多くなら
ないように制御される。
【0028】
【発明が解決しようとする課題】上述した従来のファイ
ル管理方式では、メモリカードを複数のパーティション
に予め分割しているので、あるパーティション内のファ
イルの書込みを行う時の作業領域として同一パーティシ
ョン内の空き領域だけが使用され、その他のパーティシ
ョンの空き領域を有効に使用できない。
【0029】したがって、同一パーティション内の空き
領域だけが作業領域として使用されるため、ファイルの
書込み時にガーベージ・コレクションが頻繁に行われる
こととなり、ファイル書込みに時間がかかることが多く
なる。
【0030】また、パーティション間で消去処理の回数
に偏りがある場合、消去処理の回数が多いブロックと消
去処理の回数が少ないブロックとができてしまい、メモ
リカード全体の寿命が短くなる。これはメモリカードを
予めパーティションに分割し、固定されたパーティショ
ン毎に全く独立してファイル管理が行われるためであ
る。
【0031】さらに、メモリカードをパーティションに
分割しないで、複数系統のファイル群をディレクトリに
分けることで区別して管理する場合、ディレクトリやフ
ァイルのエントリのチェーンの一部が読取れなくなるよ
うな障害が発生すると、複数系統のファイル群の多くが
読み書き不可能になるおそれがある。
【0032】これはメモリカードをパーティションに分
割していないので、1つのブートレコードからすべての
ディレクトリやファイルのエントリを1本のポインタの
チェーンでつながなければならず、FAT(File
Allocation Table)領域の冗長性がな
いためである。
【0033】そこで、本発明の目的は上記の問題点を解
消し、ファイルの書込み回数を平均化することができる
とともに、書込み時間を短縮することができ、メモリカ
ード全体の寿命を延ばすことができる不揮発性メモリの
ファイル管理装置を提供することにある。
【0034】
【課題を解決するための手段】本発明による不揮発性メ
モリのファイル管理装置は、不揮発性メモリへのファイ
ルの書込み及び読出しを管理する不揮発性メモリのファ
イル管理装置であって、前記不揮発性メモリを複数のパ
ーティションに分割することなく2系統のファイル群を
独立に管理するための前記2系統のファイル群各々の少
なくとも書込み情報を示す第1及び第2のブートレコー
ドを前記不揮発性メモリの先頭アドレス及び最終アドレ
スに個別に設定する設定手段と、前記第1のブートレコ
ードに基づいて前記不揮発性メモリの前記2系統のファ
イル群の一方にアクセスする時のアクセスアドレスを生
成する第1のアドレス生成手段と、前記第2のブートレ
コードに基づいて前記不揮発性メモリの前記2系統のフ
ァイル群の他方にアクセスする時のアクセスアドレスを
生成する第2のアドレス生成手段と、各々前記不揮発性
メモリ全体におけるブロックの消去回数及び使用可能な
データ領域を区別する情報を少なくとも含む情報を記録
しかつ各々前記第1及び第2のブートレコードに基づい
た前記不揮発性メモリへのアクセス時に参照される第1
及び第2のブロック・アロケーション・ストラクチャ領
域を設定する手段とを備えている。
【0035】本発明による他の不揮発性メモリのファイ
ル管理装置は、上記の構成において前記第1のアドレ
ス生成手段が、前記2系統のファイル群の一方にアクセ
スする時のアクセスアドレスを加算処理により生成し、
前記第2のアドレス生成手段が、前記2系統のファイル
群の他方にアクセスする時のアクセスアドレスを減算処
理により生成するよう構成している。
【0036】本発明による別の不揮発性メモリのファイ
ル管理装置は、上記の構成のほかに、前記不揮発性メモ
リを搭載しかつ前記2系統のファイル群各々の書込み及
び読出しを行うための回路に着脱自在なメモリカードを
具備している。
【0037】
【作用】不揮発性メモリを搭載するメモリカードを複数
のパーティションに分割せずに、先頭アドレス及び最終
アドレスに夫々個別のブートレコードを設定する。ま
た、メモリカード全体におけるブロックの消去回数及び
使用可能なデータ領域の区別等の情報を記録し、どちら
の系統のファイルが書込まれているかを区別できるブロ
ック・アロケーション・ストラクチャ領域を設定する。
【0038】これによって、メモリカードをパーティシ
ョンに分割しなくともパーティションに分割した場合と
同等の高信頼性を維持したまま、ファイルの書込みを行
うための作業領域としてメモリカード全体の空き領域を
有効に利用することが可能となり、ガーベージ・コレク
ションの回数を減らすことができる。
【0039】したがって、ファイルの書込みに時間がか
かる場合が少なくなり、さらにファイルの系統間で消去
処理の回数に偏りがある場合でもブロック毎の書込み回
数が平均化するため、書換え可能回数が制限されている
メモリカード全体の寿命の延引が可能となる。
【0040】
【実施例】次に、本発明の一実施例について図面を参照
して説明する。
【0041】図1は本発明の一実施例の構成を示すブロ
ック図である。図において、処理装置1は端末装置2の
入出力信号を終端する端末インタフェース10と、端末
装置2から入力された指示に応じてファイルの作成また
は更新等の処理を行うプロセッサ11と、作成または更
新したファイルをメモリカード3に読み書きするための
処理を行うメモリカード・インタフェース12とを有し
ている。
【0042】メモリカード3はメモリカード・インタフ
ェース12に対して脱着自在となっており、実際にファ
イルの記録及び保存を行う。このメモリカード3には複
数のパーティションに分割することなく、2系統のファ
イル群を独立に管理するために、先頭アドレス及び最終
アドレスに個別にブートレコードが設定されている。
【0043】処理装置1のメモリカード・インタフェー
ス12はメモリカード3の先頭アドレス及び最終アドレ
スに夫々個別に設定されたブートレコードを基にメモリ
カード3内のファイルに対してアクセスする時のアドレ
スを生成するアドレス生成部12a,12bを有してい
る。尚、アドレス生成部12a,12bはソフトウェア
またはハードウェア等によって実現され、例えばアドレ
ス生成部12aは加算によってアドレスを生成し、アド
レス生成部12bは減算によってアドレスを生成するよ
う構成されている。
【0044】図2は図1のメモリカード3のフォーマッ
トを示す図である。図において、メモリカード3は複数
のパーティションに分割することなく、2系統のファイ
ル群を独立に管理するために、先頭アドレスにブートレ
コード30aを設定し、最終アドレスにブートレコード
30bを設定している。
【0045】ブートレコード30a,30bにはルート
・ディレクトリ31a,31bのアドレス等の情報が記
録されている。ルート・ディレクトリ31aにはディレ
クトリ・エントリ42aのアドレスが記録されている。
【0046】ディレクトリ・エントリ32aは次のエン
トリのアドレスを書込むプライマリ領域、初めは空でデ
ィレクトリを更新した時に更新後のエントリのアドレス
を記録するセカンダリ領域及びディレクトリの名前等を
記録するその他の情報領域を持つ。プライマリ領域には
更新前のファイル・エントリ33aのアドレス情報が記
録されており、セカンダリ領域は空になっている。
【0047】更新前のファイル・エントリ33aは次の
エントリのアドレスを書込むプライマリ領域、初めは空
でファイルを更新した時に更新後のエントリのアドレス
を記録するセカンダリ領域及びファイルの名前やファイ
ルの実際のデータ領域のアドレス等を記録するその他の
情報領域を持つ。プライマリ領域には次のエントリのア
ドレス情報が記録されており、セカンダリ領域には更新
後のファイル・エントリ36aのアドレス情報が記録さ
れる。また、その他の情報領域にはファイル名や更新前
のファイルの情報34aのアドレス情報等が記録されて
いる。
【0048】更新前のファイルの情報34aにはそのフ
ァイルの作成日時や属性等の情報及びファイルの実際の
データ領域、つまり更新前のファイル35aのアドレス
が記録されている。
【0049】更新後のファイル・エントリ36aはプラ
イマリ領域、セカンダリ領域及びその他の情報領域を持
つ。このプライマリ領域には次のエントリのアドレス情
報が記録されており、セカンダリ領域は空になってい
る。また、その他の情報領域にはファイル名や更新後の
ファイルの情報37aのアドレス情報等が記録されてい
る。
【0050】更新後のファイルの情報37aにはそのフ
ァイルの作成日時や属性等の情報及びファイルの実際の
データ領域、つまり更新後のファイル38aのアドレス
が記録されている。
【0051】ブロック・アロケーション・ストラクチャ
領域39a,32bにはメモリカード3全体におけるブ
ロックの消去回数や使用可能なデータ領域の区別等の情
報が記録される。このとき、使用済みの各データ領域は
2つの系統のファイル群のうちのどちらの系統のファイ
ルが書込まれているかを区別できなければならない。
【0052】メモリカード3はデータの書込み単位に比
べて大きなブロックの消去単位を持ち、書換え可能回数
が制限されており、メモリカード3全体の寿命を延ばす
ために書込み回数をなるべく平均化する必要のあるフラ
ッシュ・メモリのようなメモリカードによって構成され
ている。
【0053】データの書込み単位は1バイトが好まし
い。これは本実施例において1つのブロックで構成され
るブロック・アロケーション・ストラクチャ領域39
a,32b内にブロックの消去回数や使用可能なデータ
領域の区別等の情報を記録するため、書込み単位がある
程度小さい方がよいが、小さすぎても読み書きの速度が
遅くなるからである。また、ブロックの消去単位は64
kバイトが好ましい。これは本実施例において消去単位
がある程度大きい方が読み書きの速度が向上するからで
ある。
【0054】この図2を用いて本発明の一実施例の動作
について説明する。まず、ディレクトリ・エントリ32
a内のファイルを更新する場合、ブロック・アロケーシ
ョン・ストラクチャ領域39aに記録されている使用可
能なデータ領域の情報が参照され、更新するファイルや
それに伴って更新されるファイル・エントリ等の情報が
書込めるだけの領域が確保可能か否かが確認される。
【0055】領域不足でファイルやファイル・エントリ
等の情報が書込めない場合、ガーベージ・コレクション
等の処理が行われ、使用可能な領域が確保される。
【0056】ファイルやファイル・エントリ等の情報が
書込めるだけの領域が確保されると、メモリカード3の
先頭アドレスにあるブートレコード30aがアクセスさ
れ、ルート・ディレクトリ31aのアドレスの取得が行
われる。
【0057】ブートレコード30aからアドレスが取得
されると、そのアドレスに基づいてルート・ディレクト
リ31aがアクセスされ、ディレクトリ・エントリ32
aのアドレスの取得が行われ、その後にそのアドレスに
基づいてディレクトリ・エントリ32aがアクセスされ
る。
【0058】このディレクトリ・エントリ32aに登録
されているディレクトリ名が更新するファイルのディレ
クトリ名と一致すると、更新前のファイル・エントリ3
3aのアドレスの取得が行われる。
【0059】取得したアドレスを基に更新前のファイル
・エントリ33aがアクセスされ、更新前のファイル・
エントリ33aに登録されているファイル名が更新する
ファイル名と一致し、セカンダリ領域が空であったなら
ば、そのセカンダリ領域にメモリカード3内の未使用デ
ータ領域のアドレスが書込まれる。
【0060】この未使用データ領域のアドレスに更新後
のファイル・エントリ36aが作成され、更新後のファ
イル・エントリ36aのプライマリ領域に更新前のファ
イル・エントリ33aのプライマリ領域の内容が書込ま
れる。また、更新後のファイル・エントリ36aのその
他の情報領域にはファイル名や次の未使用データ領域の
アドレスが書込まれる。
【0061】更新後のファイル・エントリ36aのその
他の情報領域に書込まれた次の未使用データ領域のアド
レスに更新後のファイルの情報37aが書込まれ、次の
未使用データ領域のアドレスが指定される。指定された
アドレスに更新後のファイル38aが実際に書込まれた
後に、ブロック・アロケーション・ストラクチャ領域3
9a,32bに使用したデータ領域の情報が追加され
る。
【0062】一方、ディレクトリ・エントリ32a内の
ファイルを読出す場合、メモリカード3の先頭アドレス
にあるブートレコード30aがアクセスされ、ルート・
ディレクトリ31aのアドレスが取得される。
【0063】取得したアドレスを基にルート・ディレク
トリ31aがアクセスされ、ディレクトリ・エントリ3
2aのアドレスが取得された後、そのアドレスに基づい
てディレクトリ・エントリ32aがアクセスされ、ディ
レクトリ・エントリ32aに登録されているディレクト
リ名が読出すファイルのディレクトリ名と一致していれ
ば、更新前のファイル・エントリ33aのアドレスが取
得される。
【0064】この場合、取得したアドレスを基に更新前
のファイル・エントリ33aがアクセスされると、プラ
イマリ領域の他にセカンダリ領域にもアドレス情報が記
録されているので、セカンダリ領域に記録されている更
新後のファイル・エントリ36aのアドレスが取得され
る。
【0065】このアドレスを基に更新後のファイル・エ
ントリ36aがアクセスされ、更新後のファイル・エン
トリ36aに登録されているファイル名が読出すファイ
ル名と一致し、セカンダリ領域が空であったならば、そ
の他の情報領域に記録されている更新後のファイルの情
報37aのアドレスが取得される。
【0066】取得したアドレスを基に更新後のファイル
の情報37aがアクセスされ、更新後のファイル38a
のアドレスが取得された後、実際のデータ領域である更
新後のファイル38aが読出される。
【0067】もう一方の系統のファイルを読み書きする
場合にはメモリカード3の最終アドレスにあるブートレ
コード30bのアドレスが取得される。このブートレコ
ード30bのアドレスの取得後の動作は上述した動作と
同様である。
【0068】上述したようなファイル管理方式によっ
て、ディレクトリまたはファイルの更新はディレクトリ
・エントリまたはファイル・エントリのセカンダリ領域
に更新したエントリのアドレスを追記するだけで済むの
で、データを書換える毎に行うブロック単位の消去処理
が不要となる。ただし、ファイルやディレクトリを頻繁
に更新していくと、エントリのチェーンが長くなるの
で、ポインタをたどるのに時間がかかるようになる。
【0069】また、開放されて使用されなくなったデー
タ領域が多くなり、メモリカード3内の使用可能な領域
が少なくなってしまう。このため、ファイル管理システ
ムではあるタイミングでガーベージ・コレクションを行
い、開放されたデータ領域の消去及びエントリのチェー
ンの最適化が行われる。
【0070】このとき、ブロック・アロケーション・ス
トラクチャ領域39a,32bに記録された消去回数の
情報が使用され、ある特定のブロックの消去回数だけが
多くならないように制御される。
【0071】本発明の一実施例ではメモリカード3を2
つのパーティションに分割していないので、未使用領域
を2つの系統のファイル群の書込みのための作業領域と
して動的に割り付けることができる。ただし、ファイル
の系統毎に独立にガーベージ・コレクションが実行でき
るようにしなければならないので、1つのブロック内に
は2系統のファイルのデータ領域が混在しないように制
御する必要がある。
【0072】ここで、上述したブートレコード30a,
30bの設定処理やブロック・アロケーション・ストラ
クチャ領域39a,32bの設定処理はプロセッサ11
がメモリカード・インタフェース12を介して実行す
る。
【0073】また、ブートレコード30a,30b、ル
ート・ディレクトリ31a,31b、ディレクトリ・エ
ントリ32a、更新前のファイル・エントリ33a、更
新前のファイルの情報34a、更新前のファイル35
a、更新後のファイル・エントリ36a、更新後のファ
イルの情報37a、更新後のファイル38aのアドレス
はメモリカード・インタフェース12のアドレス生成部
12a,12bで生成される。
【0074】このように、メモリカード3の先頭アドレ
ス及び最終アドレス各々に少なくともファイルの書込み
情報を示すブートレコード30a,30bを設定すると
ともに、これらブートレコード30a,30bを基にメ
モリカード3にアクセスする時のアクセスアドレスを生
成するとともに、メモリカード3全体におけるブロック
の消去回数及び使用可能なデータ領域を区別する情報を
少なくとも含む情報を記録するブロック・アロケーショ
ン・ストラクチャ領域39a,32bを上記のブートレ
コード30a,30bの情報を基に設定することによっ
て、ファイルの系統間で消去処理の回数に偏りがある場
合でもブロック毎の書込み回数を平均化することができ
るので、書換え可能回数が制限されているメモリカード
3全体の寿命を延ばすことができる。
【0075】また、ファイルの書込みを行うための作業
領域としてメモリカード3全体の空き領域を有効利用す
ることが可能となるので、ガーベージ・コレクションの
回数を減らすことができ、ファイルの書込みにおいて時
間のかかるブロック消去処理が行われる場合を少なくし
てファイル書込みにかかる時間を短縮することができ
る。
【0076】さらに、メモリカード3内の2系統のファ
イル群を独立に管理するために、メモリカード3の先頭
アドレス及び最終アドレスに夫々個別にブートレコード
30a,30bを設定しているので、メモリカード3を
複数のパーティションに分割しなくとも、パーティショ
ンに分割した場合と同等の高信頼性を維持することがで
きる。
【0077】
【発明の効果】以上説明したように本発明によれば、不
揮発性メモリの先頭アドレス及び最終アドレス各々に少
なくともファイルの書込み情報を示す個別のブートレコ
ードを設定し、これらのブートレコードに基づいて不揮
発性メモリにアクセスする時のアクセスアドレスを生成
するとともに、不揮発性メモリ全体におけるブロックの
消去回数及び使用可能なデータ領域を区別する情報を少
なくとも含む情報を記録するブロック・アロケーション
・ストラクチャ領域をそれらのブートレコード各々の情
報を基に設定することによって、ファイルの書込み回数
を平均化することができるとともに、書込み時間を短縮
することができ、メモリカード全体の寿命を延ばすこと
ができるという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例の構成を示すブロック図であ
る。
【図2】図1のメモリカードのフォーマットを示す図で
ある。
【図3】従来例のメモリカードのフォーマットを示す図
である。
【符号の説明】
1 処理装置 3 メモリカード 11 プロセッサ 12 メモリカード・インタフェース 12a,12b アドレス生成部 30a,30b ブートレコード 39a,32b ブロック・アロケーション・ストラク
チャ領域

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 不揮発性メモリへのファイルの書込み及
    び読出しを管理する不揮発性メモリのファイル管理装置
    であって、前記不揮発性メモリを複数のパーティション
    に分割することなく2系統のファイル群を独立に管理す
    るための前記2系統のファイル群各々の少なくとも書込
    み情報を示す第1及び第2のブートレコードを前記不揮
    発性メモリの先頭アドレス及び最終アドレスに個別に設
    定する設定手段と、前記第1のブートレコードに基づい
    て前記不揮発性メモリの前記2系統のファイル群の一方
    にアクセスする時のアクセスアドレスを生成する第1の
    アドレス生成手段と、前記第2のブートレコードに基づ
    いて前記不揮発性メモリの前記2系統のファイル群の他
    にアクセスする時のアクセスアドレスを生成する第2
    のアドレス生成手段と、各々前記不揮発性メモリ全体に
    おけるブロックの消去回数及び使用可能なデータ領域を
    区別する情報を少なくとも含む情報を記録しかつ各々前
    記第1及び第2のブートレコードに基づいた前記不揮発
    性メモリへのアクセス時に参照される第1及び第2の
    ロック・アロケーション・ストラクチャ領域を設定する
    手段とを有することを特徴とするファイル管理装置。
  2. 【請求項2】 前記第1のアドレス生成手段は、前記2
    系統のファイル群の一方にアクセスする時のアクセスア
    ドレスを加算処理により生成し、 前記第2のアドレス生
    成手段は、前記2系統のファイル群の他方にアクセスす
    る時のアクセスアドレスを減算処理により生成するよう
    構成したことを特徴とする請求項1記載のファイル管理
    装置。
  3. 【請求項3】 前記不揮発性メモリを搭載しかつ前記
    系統のファイル群各々の書込み及び読出しを行うための
    回路に着脱自在なメモリカードを含むことを特徴とする
    請求項1または請求項2記載のファイル管理装置。
JP543795A 1995-01-18 1995-01-18 不揮発性メモリのファイル管理装置 Expired - Lifetime JP2734391B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP543795A JP2734391B2 (ja) 1995-01-18 1995-01-18 不揮発性メモリのファイル管理装置
US08/587,492 US5860135A (en) 1995-01-18 1996-01-17 File managing device of a non-volatile memory, a memory card and method for controlling a file system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP543795A JP2734391B2 (ja) 1995-01-18 1995-01-18 不揮発性メモリのファイル管理装置

Publications (2)

Publication Number Publication Date
JPH08195093A JPH08195093A (ja) 1996-07-30
JP2734391B2 true JP2734391B2 (ja) 1998-03-30

Family

ID=11611180

Family Applications (1)

Application Number Title Priority Date Filing Date
JP543795A Expired - Lifetime JP2734391B2 (ja) 1995-01-18 1995-01-18 不揮発性メモリのファイル管理装置

Country Status (2)

Country Link
US (1) US5860135A (ja)
JP (1) JP2734391B2 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3037146B2 (ja) * 1996-07-30 2000-04-24 日本電気アイシーマイコンシステム株式会社 データ格納方法およびその格納データの検索方法
JPH10268900A (ja) * 1997-03-26 1998-10-09 Oki Micro Design Miyazaki:Kk 音声記録再生装置
US6704492B2 (en) * 1998-05-15 2004-03-09 Kabushiki Kaisha Toshiba Information recording method and information reproducing method
JP3389186B2 (ja) 1999-04-27 2003-03-24 松下電器産業株式会社 半導体メモリカード及び読み出し装置
WO2000070465A1 (fr) * 1999-05-14 2000-11-23 Fujitsu Limited Systeme informatique reparti et procede d'application de donnees de maintenance
US6654847B1 (en) * 2000-06-30 2003-11-25 Micron Technology, Inc. Top/bottom symmetrical protection scheme for flash
JP2002091494A (ja) * 2000-09-13 2002-03-27 Tdk Corp ディジタル式記録再生装置
US8188878B2 (en) 2000-11-15 2012-05-29 Federal Law Enforcement Development Services, Inc. LED light communication system
CN1122281C (zh) * 2001-06-30 2003-09-24 深圳市朗科科技有限公司 一种多功能半导体存储装置
JP4840553B2 (ja) * 2001-07-31 2011-12-21 日本電気株式会社 無線通信機と、そのブートプログラム書き換え方法及びプログラム
US6772954B2 (en) * 2001-10-09 2004-08-10 Activcard Ireland Limited Method of encoding information within directory files on an integrated circuit smart card
US20090231986A1 (en) * 2005-04-27 2009-09-17 Pioneer Corporation Information recording apparatus and method, information reproducing apparatus and method, information recording medium, and computer program
CN100485681C (zh) * 2006-03-23 2009-05-06 北京握奇数据系统有限公司 智能卡存储系统及该系统中文件创建管理的方法
US9100124B2 (en) 2007-05-24 2015-08-04 Federal Law Enforcement Development Services, Inc. LED Light Fixture
US9294198B2 (en) 2007-05-24 2016-03-22 Federal Law Enforcement Development Services, Inc. Pulsed light communication key
US11265082B2 (en) 2007-05-24 2022-03-01 Federal Law Enforcement Development Services, Inc. LED light control assembly and system
US9258864B2 (en) 2007-05-24 2016-02-09 Federal Law Enforcement Development Services, Inc. LED light control and management system
US9455783B2 (en) 2013-05-06 2016-09-27 Federal Law Enforcement Development Services, Inc. Network security and variable pulse wave form with continuous communication
WO2008148039A1 (en) 2007-05-24 2008-12-04 Federal Law Enforcement Development Services, Inc. Led light communication system
US9414458B2 (en) 2007-05-24 2016-08-09 Federal Law Enforcement Development Services, Inc. LED light control assembly and system
US8890773B1 (en) 2009-04-01 2014-11-18 Federal Law Enforcement Development Services, Inc. Visible light transceiver glasses
WO2012097291A1 (en) 2011-01-14 2012-07-19 Federal Law Enforcement Development Services, Inc. Method of providing lumens and tracking of lumen consumption
US9265112B2 (en) 2013-03-13 2016-02-16 Federal Law Enforcement Development Services, Inc. LED light control and management system
US20150198941A1 (en) 2014-01-15 2015-07-16 John C. Pederson Cyber Life Electronic Networking and Commerce Operating Exchange
US20170048953A1 (en) 2015-08-11 2017-02-16 Federal Law Enforcement Development Services, Inc. Programmable switch and system
CN105615141B (zh) * 2015-12-31 2019-02-01 李国校 一种楦机的三轴加工路径调整系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4791623A (en) * 1986-04-03 1988-12-13 Optotech, Inc. File management system for use in an optical data storage system
JPS63276626A (ja) * 1987-05-08 1988-11-14 Nec Corp 2次記憶装置の分割管理方式
EP0935255A2 (en) * 1989-04-13 1999-08-11 SanDisk Corporation Flash EEPROM system
US5355489A (en) * 1989-08-25 1994-10-11 International Business Machines Corp. Bios load for a personal computer system having a removable processor card
GB2251323B (en) * 1990-12-31 1994-10-12 Intel Corp Disk emulation for a non-volatile semiconductor memory
US6256642B1 (en) * 1992-01-29 2001-07-03 Microsoft Corporation Method and system for file system management using a flash-erasable, programmable, read-only memory
US5485595A (en) * 1993-03-26 1996-01-16 Cirrus Logic, Inc. Flash memory mass storage architecture incorporating wear leveling technique without using cam cells
US5604887A (en) * 1994-01-21 1997-02-18 Microsoft Corporation Method and system using dedicated location to share information between real and protected mode device drivers
US5473573A (en) * 1994-05-09 1995-12-05 Cirrus Logic, Inc. Single chip controller-memory device and a memory architecture and methods suitable for implementing the same

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
日経エレクトロニクス1992年2月17日号 p.133−186
日経エレクトロニクス1994年4月11日号 p.75−91

Also Published As

Publication number Publication date
US5860135A (en) 1999-01-12
JPH08195093A (ja) 1996-07-30

Similar Documents

Publication Publication Date Title
JP2734391B2 (ja) 不揮発性メモリのファイル管理装置
US7610434B2 (en) File recording apparatus
US7752412B2 (en) Methods of managing file allocation table information
US7681008B2 (en) Systems for managing file allocation table information
JP3524428B2 (ja) 記憶装置、記憶システム、メモリ管理方法及び記録媒体
US5987478A (en) Virtual small block file manager for flash memory array
US7461198B2 (en) System and method for configuration and management of flash memory
US5832493A (en) Flash file management system
US5933846A (en) Rewritable ROM file device having read/write buffer access control via copy of rewritable area
US6604170B1 (en) Information processing apparatus and method, and computer readable memory
JP2013532853A (ja) ストレージ装置及びデータ制御方法
JPH08137634A (ja) フラッシュディスクカード
JP2001350665A (ja) ブロックアラインメント機能付き半導体記憶装置
US6272611B1 (en) Computer data storage medium having a virtual disk drive and memory management method therefor
US20150052292A1 (en) Method for erasing data entity in memory module
US6581134B2 (en) Logic partitioning of a nonvolatile memory array
JP2003058417A (ja) 記憶装置
DE102005051265B4 (de) Verfahren und System zum Zugreifen auf Daten in einem Computer
WO2008042594A1 (en) Managing file allocation table information
US20050149493A1 (en) Data recording apparatus and data recording method
US20030200232A1 (en) Information processor and program
JPH05150913A (ja) フラツシユメモリを記憶媒体としたシリコンデイスク
JP4218406B2 (ja) 情報記録再生方法
JP2008134777A (ja) ファイル割当テーブルのキャッシュ方法
JP2005222531A (ja) データ記録装置及びデータ記録方法