JP2005216119A - 記録媒体 - Google Patents

記録媒体 Download PDF

Info

Publication number
JP2005216119A
JP2005216119A JP2004023797A JP2004023797A JP2005216119A JP 2005216119 A JP2005216119 A JP 2005216119A JP 2004023797 A JP2004023797 A JP 2004023797A JP 2004023797 A JP2004023797 A JP 2004023797A JP 2005216119 A JP2005216119 A JP 2005216119A
Authority
JP
Japan
Prior art keywords
flash memory
fat
sector
semiconductor flash
erase block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004023797A
Other languages
English (en)
Other versions
JP4130808B2 (ja
Inventor
Seiji Hotta
誠司 堀田
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 Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2004023797A priority Critical patent/JP4130808B2/ja
Publication of JP2005216119A publication Critical patent/JP2005216119A/ja
Application granted granted Critical
Publication of JP4130808B2 publication Critical patent/JP4130808B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】 高速にメタ情報の読み書きができ且つ寿命が長い半導体フラッシュメモリを提供する。
【解決手段】
パーティションブートセクタ103の先頭を消去ブロック112の先頭と一致させる。FAT105の先頭が消去ブロックの先頭と一致するように、予約領域104のセクタ数をM×N−1とする。Mはパーティションブートセクタ103と予約領域104とに係る消去ブロック数である。ユーザデータ領域109のセクタ数をクラスタ当たりのセクタ数で割って有効クラスタ数Tcとする。FATで管理できるクラスタ数がユーザデータ領域109に確保されるクラスタ数以上となるように、FAT当たりの消去ブロック数を決める。以上のようにして、ふたつのFATがひとつの消去ブロック内に並存するのを回避する。
【選択図】 図1

Description

本発明は、消去ブロック単位を持つ不揮発性メモリを用いた記録媒体に関し、特に、そのような記録媒体に関する。
近年、電気的に記録や消去が可能で、電源を切っても記録されたデータが不揮発なメモリ素子を内蔵した半導体フラッシュメモリが普及しつつある。この種の半導体フラッシュメモリは、機械的な可動部分が少なくて済み、小型・軽量に装置を構成できることから、モバイル機器などの分野ではハードディスクの代替として、すなわち二次記憶として利用されることも増えてきた。またメモリ素子の大容量化も進み、半導体フラッシュメモリは映像や音声を記録する用途にも使用され始めている。
半導体フラッシュメモリに記録された映像や音声などの情報は、一般にファイルシステムによってファイルとして管理されている。ファイルシステムは、個々のファイルのサイズや記録された日時、クラスタやセクタなどの記録領域の使用状況や空き状況などを管理し、これらのメタ情報を記録媒体に記録する。
例えば、あるオペレーティングシステムにおいては、二次記憶へのファイル入出力の最小単位を、メタ情報もユーザデータ領域のデータも区別せずにセクタとしている。これは、ハードディスクやフレキシブルディスクといった記録媒体の最小書き換え単位がセクタであるためである。また、FAT(File Allocation Table)系のファイルシステムにおいては、ユーザデータ領域のデータが、連続したセクタを複数個まとめたクラスタという単位によって管理される。
一方、一般的に半導体フラッシュメモリは、データ記録の際には記録前に消去ブロックと呼ばれる一定のサイズのデータが電気的に一括消去される特徴を持っている。ここで、消去ブロックのサイズに満たないデータを記録する場合、一度そのブロックのデータを読み出して保持した後、ブロックのデータを一括消去し、保持していたデータを部分的に更新してから、ブロックに書き戻すことになる。このような動作はリード・モディファイ・ライトと呼ばれ、記録動作が複雑になり、記録の転送レートが低下する原因となる。高い転送レートでデータを記録するには、このような消去ブロックに対する部分的なデータ更新を避けるため、記録するデータのサイズを消去ブロックと同じサイズか、または、その整数倍のサイズにして、さらに記録するアドレスを消去ブロックの先頭に合わせる必要がある。
一般的に、半導体フラッシュメモリを二次記憶として用いる場合、半導体フラッシュメモリにおける消去ブロック単位の境界と、半導体フラッシュメモリの上で構築されたファイルシステムが扱うクラスタの境界とは一致しない。半導体フラッシュメモリ上で、クラスタが複数の消去ブロックにまたがっていた場合、ひとつのクラスタ書き換えに対して複数回のブロック消去がおこなわれることになり、これは半導体フラッシュメモリの寿命を著しく縮めるとともに、クラスタがひとつの消去ブロック内に含まれていた場合に比べて書き込み時間も多くかかる。
このような問題を解決するために、例えば、以下のような方法が開発されている(特許文献1を参照。)。
図7は、半導体フラッシュメモリをFAT16ファイルシステムで初期化した場合のブロック構成図であって、特に、半導体フラッシュメモリ内のボリューム領域を表している。
図7に示されるように、ボリューム領域は、マスターブートレコード(MBR: Master Boot Record)及びルートパーティションテーブルセクタ701、予約領域702、703、システム領域708及びユーザデータ領域707から構成されている。
前記MBR及びルートパーティションテーブルセクタ701には、パーティションの開始位置が記録されている。パーティションは、前記システム領域708から開始される。
予約領域702、703は、MBR及びルートパーティションテーブルセクタ701とシステム領域708との間に設けられている領域である。以上、MBR及びルートパーティションテーブルセクタ701と予約領域702、703から構成される領域をパーティション管理領域という。
システム領域708は、更にパーティションブートセクタ704、二重化FAT705、ルートディレクトリエントリ(RDE: Root Directory Entry)706に分けられる。
また、ユーザデータ領域707は、クラスタ単位で管理されている。
このようにすれば、前記ユーザデータ領域707の先頭が半導体フラッシュメモリの消去ブロックの境界と一致するようにマスターブートレコード及びパーティションテーブルを含むセクタからパーティションブートセクタまでのデータサイズを決定することができる。
従って、ユーザデータ領域におけるクラスタどうしの境界と消去可能ブロックの境界とが一致するので、ひとつのクラスタの書き換えに当たってふたつの消去ブロックを消去するような無駄を省くことができる。
しかしながら、前記方法により解決されるのは、ユーザデータ領域におけるファイルシステムの管理単位と消去ブロック単位の差異のみである。前記半導体フラッシュメモリのシステム領域708には、ユーザデータ領域を管理するためのメタ情報が記録されている。これらのメタ情報の中には、数多くのセクタにまたがり、かつ頻繁に書き換えがおこなわれるものも存在する。FATファイルシステムにおけるFATや、UDF(Universal Disk Format)ファイルシステムにおけるスペース・ビットマップといった、記録媒体上のデータ割り当て状況や空き状況を記録した情報などがその代表である。
前記FATや前記スペース・ビットマップはクラスタ単位で管理されないため、オペレーションシステムからの読み出しと更新の最小単位はセクタとなる。多くのオペレーションシステムにおいて、セクタ単位の入出力要求は、そのアドレスが連続している場合はひとつの大きな入出力要求として結合されるが、一般にメタ情報の更新場所が連続している保証はない。つまり、ひとつの消去ブロック内に含まれる様々な場所のセクタが書き換えられるたびに消去ブロックの読み出し、書き換え、書き戻しが発生する。FATやスペース・ビットマップといったメタ情報は比較的小さな単位の更新を頻繁に繰り返す性質を持っているので、これは半導体フラッシュメモリの寿命を縮めるのみならず、メタ情報の更新に多大な時間を要することで、ユーザデータ領域のデータに関する実効的な書き出しレートの著しい劣化をまねくことにもなる。
そこで、FATやスペース・ビットマップといったメタ情報を標準的なオペレーティングシステムに採用されているセクタ単位の入出力機構から独立させることが有効と考えられる。すなわち、前記メタ情報を主記憶上に消去ブロック単位でコピーし、オペレーションシステムは前記メタ情報のコピーに対して、ファイル入出力に伴うメタ情報の更新をおこなう。そしてオペレーションシステムは一定時間ごとに前記メタ情報コピーに対する更新の有無をチェックし、更新のあったメタ情報が含まれた消去ブロックを半導体フラッシュメモリに書き戻す。これにより、前記管理情報の更新に伴う消去ブロックの無駄な読み出し、書き換え、書き戻しの発生が抑制できる。
特開2001−188701号公報
しかしながら、上述のように半導体フラッシュメモリを初期化すると複数のメタ情報がひとつの消去ブロックを共有する可能性があるため、メタ情報の入出力管理が複雑になる。図8は、かかる半導体フラッシュメモリ(二次記憶)のデータ構造を示す図である。図8において、内部に消去ブロック単位808を持つ二次記憶807はFATファイルシステムで初期化されている。この初期化では、FAT803とFAT804が同一の消去ブロック810を共有し、またFAT804とルートディレクトリエントリ805が同一の消去ブロック810を共有している。
前記初期化が施された半導体フラッシュメモリのFATを前記運用法で管理するためには、消去ブロックのコピー809と消去ブロックのコピー810を主記憶811に保持する必要がある。FAT803とFAT804は同一のデータであるため、これは冗長で、前記主記憶811の使用効率を悪化させる。また、このようにFAT803の先頭とFAT804の先頭がそれぞれ消去ブロック809、810内でオフセットを持つことで、ファイル入出力に伴うFATの参照や更新も煩雑になるうえ、FAT更新に際して主記憶811上でFAT803、804それぞれの該当箇所を更新する必要が生じる。
また、FATが記録された消去ブロック内にFAT以外の管理情報(図8ではルートディレクトリエントリ805)が入り込んだ形で初期化されているため、前記消去ブロックの更新がファイル入出力に伴うFATの更新以外でも生じることになるので、ファイルシステムの運用手段の設計が複雑化し、前記消去ブロックの更新有無管理も煩雑になる。
本発明は、上述のような問題に鑑みて為されたものであって、メタ情報の読み書きの高速化と半導体フラッシュメモリの長寿命化を実現し、且つ、ファイルシステムの運用手段の設計が容易となるように初期化された半導体フラッシュメモリを提供することを目的とする。
上記目的を達成するため、本発明に係る半導体フラッシュメモリは、消去ブロック単位でデータが消去される半導体フラッシュメモリであって、ファイルとしてデータを記録するユーザ領域と、前記ファイルを管理するためのデータであるメタ情報を記録するシステム領域とを備え、前記ユーザ領域と前記システム領域とは消去ブロックを共有せず、前記ユーザ領域においてひとつのデータが記録または消去される際に、これと関連付けて更新される複数のメタ情報は互いに異なる消去ブロックに記録されることを特徴とする。
このようにすれば、メタ情報の読み書きを高速化すると共に、半導体フラッシュメモリの長寿命化を図ることができる。
また、本発明に係る半導体フラッシュメモリは、FATファイルシステム規格に準拠して初期化されている半導体フラッシュメモリであって、前記システム領域は、パーティションブートセクタとファイルアロケーションテーブルを含み、前記パーティションブートセクタは、パーティションの先頭セクタに記録されており、前記ファイルアロケーションテーブルは、前記パーティションブートセクタから所定のセクタ数だけ隔てて記録されており、前記ファイルアロケーションテーブルの最終セクタが消去ブロックの最終セクタと一致するように、前記ファイルアロケーションテーブルのサイズが決定されていることを特徴とする。
このようにすれば、FATファイルシステム規格に準拠して初期化されている半導体フラッシュメモリについて、本発明の効果を得ることができる。
また、本発明に係る半導体フラッシュメモリは、UDFファイルシステム規格に準拠して初期化されている半導体フラッシュメモリであって、スペース・ビットマップがパーティションの先頭に記録されており、前記スペース・ビットマップの最終セクタが消去ブロックの最終セクタと一致するように、前記スペース・ビットマップのサイズが決定されていることを特徴とする。
このようにすれば、UDFファイルシステム規格に準拠して初期化されている半導体フラッシュメモリについて、本発明の効果を得ることができる。
本構成により、頻繁に書き換えの生じるメタ情報等の管理情報を、それぞれ独立して常に消去ブロック単位で半導体フラッシュメモリに書き戻すことができるため、メタ情報の読み書きの高速化と半導体フラッシュメモリの長寿命化を実現しつつ、ファイルシステムの運用手段の設計が容易になる。
以上述べたように、本発明によれば、半導体フラッシュメモリの寿命を延長することができるとともに、半導体フラッシュメモリを二次媒体としてリアルタイム性の高いデータを記録する際、消去ブロックをまたがったメタ情報の書き出しや、同一消去ブロックの複数回書き直しによって記録の実効速度が低下することを防ぐことができる。
以下、本発明に係る記録媒体の実施の形態について、FAT16ファイルシステムを採用した半導体フラッシュメモリ例にとり、図面を参照しながら説明する。
[1] 実施の形態
図1は、本発明の実施の形態に係る半導体フラッシュメモリの物理番地0から始まる空間全体を表わす図である。図1に示されるように、半導体フラッシュメモリ1のデータ構造は、パーティション管理領域、システム領域及びユーザデータ領域からなっている。
半導体フラッシュメモリ1は隣接するNセクタ(N=2i:iは自然数)ごとに消去ブロックを持ち、データの書き換えは、前記消去ブロック単位でバッファへの読み出し、バッファ上での書き換え、半導体フラッシュメモリへの書き戻しをすることによっておこなわれる。なお、書き換えられるデータサイズと位置が消去ブロックと完全に一致する場合は、バッファへの読み込みが生じないため、書き換えは高速に実行される。
物理番地0に書かれたマスターブートレコードとパーティションテーブル101には、パーティションの開始位置、すなわちパーテシションブートセクタ103の位置が書かれている。これらの間にあるセクタは予約領域102として扱われ、データが書き込まれることはない。本実施の形態においては、前記パーティションブートセクタ103の先頭が消去ブロック112の先頭と一致するように前記予約領域102の大きさが設定されている。
図2はJIS−X0605に規定されている、FAT16のパーティションブートセクタ103の構成を示す表である。図2に示されるように、前記パーティションブートセクタ103の14〜15バイト目を用いて、パーティションブートセクタ103の直後に続く予約領域104の大きさを定めることができる。本実施の形態では、予約領域104のセクタ数を(M×N−1)と定めることで、予約領域104の直後に続くFAT105の先頭を消去ブロックの境界と一致させている。ここでMはパーティションブートセクタ103と予約領域104が占有する消去ブロックの数を示す正整数である。本実施の形態においては、M=1としたが、Mが正整数であればFAT105先頭と消去ブロックの境界の一致は必ず成立するので、1以外の値をとるとしても良い。
また、パーティションブートセクタ103の22〜23バイト目で、FATひとつ当たりの領域の大きさを設定できる。すなわち、有効クラスタ数Tcに関わらずFATの大きさを決められることを意味している。次式は有効クラスタ数Tcを決定する式である。
c=[(TS−Ssys)/Sc
ここで、TSはメディア全体のセクタ数を表わし、Ssysは管理情報(マスターブートレコードとパーティションテーブル101、パーティションブートセクタ103、FAT105、106、ルートディレクトリエントリ107及び予約領域102、104)が占めるセクタ数を表わす。また、Scは1クラスタ当たりのセクタ数を表わす。また、ガウス記号[x]は、xを超えない最大の整数を表わす。すなわち、上式では、半導体フラッシュメモリ1の全セクタ数から管理情報を引いたセクタ数、すなわちユーザデータ領域109のセクタ数を、クラスタ当たりのセクタ数で割って、有効クラスタ数Tcとしている。
さて、本実施の形態においては、FATの大きさを以下のようにして決定する。図3は、FATひとつ当たりのセクタ数を決定する手順を示すフローチャートである。図3に示されるように、FATひとつ当たりのセクタ数を決定するに際しては、先ず、パーティション内の総セクタ数TSからパーティションブートセクタ103と予約領域102、104とのセクタ数SRを減算して、ユーザデータ領域109、FAT105、106及びルートディレクトリエントリ107が占有するセクタ数Soを計算する(ステップS100)。
続いて、FATひとつ当たりの消去ブロック数を表わす変数Sに値ゼロを代入して初期化した後(ステップS101)、変数Sを1だけ増加させる(ステップS102)。
そして、不等式が成立するか否かを判断する。
[(So−S×N×FN−RDES)/Sc]≦(S×N×SS×8/16)−2
ここで、Nは消去ブロックひとつに含まれるセクタ数を表わす。FNはFATの個数を表わす。本実施の形態においては、FAT105、106に対応させて、FNは2とする。また、RDESはルートディレクトリエントリ107のセクタ数を表わし、Scは1クラスタ当たりのセクタ数を表わす。SSは1セクタ当たりのバイト数を表わす。[x]は上と同様、ガウス記号である。なお、FNは、JIS−X0605に従って、2以外の正整数値をとるとしても良い。
すなわち、左辺は、パーティション内のユーザデータ領域に確保されるクラスタ数を表わし、右辺は、準備したFATの大きさで管理できるクラスタ数を表わす。よって、確保したFATの大きさがユーザデータ領域のクラスタ数をカバーしきれていない場合、前記不等式は成り立たない。逆に、FATの大きさがユーザデータ領域のクラスタ数をカバーできる場合には、前記不等式が成立する。
さて、前記不等式が成立しない場合(ステップS103:NO)、FATひとつ当たりの消去ブロック数Sを1だけ増加させて(ステップS102)、上記不等式が成立するか否かを判定する。
上記不等式が成立すると判定された場合には(ステップS103:YES)、FATに必要な数の消去ブロックを割り当てることができたとして、式
S=S×N
を用いて、FATひとつ当たりのセクタ数FSを算出して(ステップS104)、処理を終了する。
以上の方法により、ユーザデータ領域の管理に必要な大きさを持ったFAT105、106が消去ブロック単位の大きさで確保できる。また、前述のように予約領域104の大きさを調節することでFATの先頭を消去ブロックの境界と一致させたことから、以上の方法によって確保したFATの末尾もまた消去ブロックの境界と一致する。すなわち、FATがちょうど消去ブロック単位で配置されることになる。
また、パーティションブートセクタ103の17〜18バイト目において、ルートディレクトリエントリ107の大きさを
N×L×SS/32
とすれば、ユーザデータ領域の先頭と消去ブロックの境界を一致させることができる。ここで、Lはルートディレクトリエントリ107が占有する消去ブロックの数を表わし、任意の正整数値を与えることができる。SSはセクタひとつ当たりのバイト数を表わす。また、分母の32は、JIS−X0605に規定されているように、ディレクトリのエントリひとつ当たりに消費されるバイト数である。
以上のようにして、半導体フラッシュメモリ1を初期化することにより、ふたつのFATがひとつの消去ブロック内に並存するのを回避することができる。また、ユーザデータ領域の先頭を消去ブロック境界に一致させることができる。
従って、二重化されたFATを更新する際に、同一の消去ブロックが2回書き換えられるといった事態を回避して、消去ブロック毎の書き換え回数を減少させることができるの半導体フラッシュメモリ1の寿命を延長することができる。
本実施の形態においては、FAT105、106は、それぞれ対応する消去ブロックに同じようにして配置される。すなわち、いずれのFATもその先頭を消去ブロックの先頭に置き、1消去ブロック分の領域を占有するように配置される。なお、本発明においては、FATが占有する消去ブロック数は1に限定されないのは言うまでも無く、2以上の消去ブロックを占有するとしても良い。
従って、半導体フラッシュメモリにアクセスするアクセス装置が、FATにアクセスするためにそのFATを消去ブロック単位で内蔵メモリに読み込む際、FATの数だけメモリに読み込む必要はなく、ひとつのFATのみを内蔵メモリに読み込むだけでよくなる。すなわち、内蔵メモリ中のFATのコピーが更新された後は、その内容を半導体フラッシュメモリ上の複数のFATに対して上書きすることで、半導体フラッシュメモリ上の複数のFATの更新が可能となる。
[2] 変形例
以上、本発明を実施の形態に基づいて説明してきたが、本発明が上述の実施の形態に限定されないのは勿論であり、以下のような変形例を実施することができる。
(1) 上記実施の形態においては、パーティションブートセクタ103の先頭を消去ブロックの境界に一致させる場合について説明したが、本発明がこれに限定されないのは言うまでもなく、同一消去ブロック内にパーティションブートセクタ103とFAT105とが混在しない限り、パーティションブートセクタ103の先頭を消去ブロック境界に一致させる必要はない。例えば、パーティションブートセクタ103の先頭が消去ブロック境界からK番目のセクタにあるならば、FAT先頭との間にある予約領域104の大きさをセクタ(M×N−K)個分とすれば良い。
(2) 上記実施の形態においてはFATを二重化する場合について説明したが、本発明がこれに限定されないのは言うまでもなく、パーティションブートセクタ103の16バイト目で指定することにより、FATの数を任意に変えても良い。
また、FATをひとつしか持たず、従ってFAT106を有しない場合には、FAT105の先頭を消去ブロック先頭と一致させる必要はない。消去ブロックの書き換え頻度が増大するおそれが無いからである。
この場合において、FAT105とルートディレクトリエントリ107とを同一の消去ブロックに並存させないためには、FAT105の末尾を消去ブロックの境界に一致させると良い。このためには、次式を満足するように各パラメータを設定すれば良い。
R+FS=N×I
ここで、SRはFAT105とルートディレクトリエントリ107以外の管理情報が占めるセクタ数を表わす。FSはFAT105のセクタ数を表わす。また、Nは消去ブロックひとつ当たりのセクタ数を表わし、Iは正整数である。
上式の左辺はFAT105よりも前にあるすべての管理情報(マスターブートレコードとパーティションテーブル101、パーティションブートセクタ103及び予約領域102、104)とFAT105とが消費するセクタ数の総和であり、右辺は左辺が消去ブロック単位で確保されていることを表わしている。
(3) 上記本発明の形態においては、FAT16ファイルシステムを用いる場合を例にとり本発明について説明したが、本発明がこれに限定されないのは言うまでもなく、FAT16ファイルシステムに代えて、FAT12ファイルシステムやFAT32ファイルシステムを用いるとしても良い。
上記FAT16ファイルシステムの場合には、FATの大きさを決定する際に不等式:
[(So−S×N×FN−RDES)/Sc]≦(S×N×SS×8/16)−2
を用いたが、FAT32ファイルシステムの場合には、不等式:
[(So−S×N×FN−RDES)/Sc]≦(S×N×SS×8/32)−2
を用いると良い。また、FAT12ファイルシステムの場合には、不等式:
[(So−S×N×FN−RDES)/Sc]≦(S×N×SS×8/12)−2
を用いると良い。
このように、FAT32ファイルシステムを用いる場合には、ルートディレクトリエントリ107をシステム領域108内にもつ必要がないため、前記図3にて示される初期化手順において、ルートディレクトリエントリ107に関する処理を省略できる。
(4) 上記実施の形態においては、パーティションブートセクタ103に対して消去ブロックをひとつ割り当てる場合について説明したが、FATをひとつしか持たず、従ってFAT106を有しない場合には、パーティションブートセクタ103をFAT105と同一の消去ブロックに配置しても良い。
例えば、図1において、消去ブロック3の先頭セクタにパーティションブートセクタ103を配置し、その後の(N−1)個のセクタをFAT105として使用するようにしても良い。
パーティションブートセクタ103をどの消去ブロックに配置するとしても、パーティションブートセクタ103は半導体フラッシュメモリをフォーマットする時に書き込まれた後は書き替えられることがないため、このようにしても半導体フラッシュメモリ1の寿命に影響を与えることがなく、本発明の効果にも影響しない。
(5) 上記実施の形態においては、FAT16ファイルシステムを例にとって説明したが、本発明がこれに限定されないのは言うまでもなく、FAT系列のファイルシステムに代えて、UDFファイルシステムを用いるとしても良い。このUDFファイルシステムについては、下記において標準規格化されている。
ISO/IEC 13346-1:1995, Information technology - Volume and file structure of write-once and rewritable media using nonsequential recording for information interchange - Part 1: General.
ISO/IEC 13346-2:1995, Information technology - Volume and file structure of write-once and rewritable media using nonsequential recording for information interchange - Part 2: Volume and boot block recognition.
ISO/IEC 13346-3:1995, Information technology - Volume and file structure of write-once and rewritable media using nonsequential recording for information interchange - Part 3: Volume structure.
ISO/IEC 13346-4:1995, Information technology - Volume and file structure of write-once and rewritable media using nonsequential recording for information interchange - Part 4: File structure.
ISO/IEC 13346-5:1995, Information technology - Volume and file structure of write-once and rewritable media using nonsequential recording for information interchange - Part 5: Record structure.
ISO/IEC 13490-1:1995, Information technology - Volume and file structure of read-only and write-once compact disk media for information interchange - Part 1: General.
ISO/IEC 13490-2:1995, Information technology - Volume and file structure of read-only and write-once compact disk media for information interchange - Part 2: Volume and file structure.
さて、UDFファイルシステムを用いる場合の半導体フラッシュメモリのデータ構造について説明する。図4は、UDFファイルシステムを用いる場合の半導体フラッシュメモリ内の論理セクタ番号0から開始する空間を表わす図である。
UDFファイルシステムにおいて、ファイルの記録中に頻繁に更新されるメタ情報はスペース・ビットマップ403である。スペース・ビットマップ403は、図4に示されるように、パーティションの先頭に記録されている。前記パーティションの先頭位置は、メイン・ボリューム記述子401に含まれるパーティション記述子402にて特定される。前記パーティション記述子にて特定されるパーティションの先頭を消去ブロックの境界と一致させることで、スペース・ビットマップ403の先頭を消去ブロック境界に一致させることができる。
図5は、前記スペース・ビットマップ403の構成を示す表である。図5に示されるように、スペース・ビットマップ403の20〜23バイト目に、前記スペース・ビットマップ403の大きさが記述される。すなわち、パーティションに実際に含まれるブロック数とは独立にスペース・ビットマップ403の大きさを定義することができる。
従って、上記FAT16ファイルシステムの場合と同様にして、前記スペース・ビットマップ403をパーティション全体をカバーするのに充分な大きさとし、かつ前記スペース・ビットマップ403の末尾が消去ブロックの境界と一致するように定めることができる。これにより、前記スペース・ビットマップ403と他のメタ情報やユーザデータが同一消去ブロックに混在しないように配置することができる。
なお、上記においては、更新されるメタ情報が同一の消去ブロックを共有しないようにスペース・ビットマップ403の先頭セクタと消去ブロックの先頭セクタを一致させたが、ファイル記録中にパーティション先頭以前のセクタに対する書き換えが生じない場合は、スペース・ビットマップの先頭セクタを消去ブロックの先頭セクタに一致させる必要はない。同一の消去ブロックに並存する複数のメタ情報が同時に更新され得ないからである。
次に、半導体フラッシュメモリに効率よくファイルを記録するためのファイルシステムの運用方法について、FATファイルシステムの場合を例にとって説明する。なお、UDFファイルシステムを用いる場合も同様の運用方法がとられる。図6は、半導体フラッシュメモリにファイルを記録するための手順を説明するための図である。
図6において、アプリケーション601は、二次記憶である半導体フラッシュメモリ605に格納されるべきデータを作成する。また、アプリケーション601は、ファイルシステム構成手段602に対して、前記データを半導体フラッシュメモリ605に格納するように依頼する。ファイルシステム構成手段602は、内部にメタ情報処理部606と、データ処理手段607を備えている。半導体フラッシュメモリ605は前述のようなデータ構造を有している。
ファイルシステム構成手段602は、半導体フラッシュメモリ605のマウント処理に際して、半導体フラッシュメモリ605上にあるパーティションのシステム領域613から、頻繁に書き換えが起こるメタ情報(例えば、論理セクタN番から論理セクタM番まで。)を、連続するセクタで構成される消去ブロック単位で切り出し、高速に読み書きが可能な機器の内蔵メモリ603にコピーする。
このとき、半導体フラッシュメモリ605は上記実施の形態に示したデータ構造をとっているので、必要なメタ情報を消去ブロック単位で内蔵メモリ603にコピーすることができる。
また、ふたつのFATが同一消去ブロックを共有しないので、一方のFATのみを消去ブロック単位で切り出し、前記内蔵メモリ603にコピーすることができる。従って、システムの省メモリ化が可能となる。なお、ファイルシステム構成手段602は、消去ブロック単位取得手段615を介して、半導体フラッシュメモリ605に問い合わせることによって、消去ブロックのサイズを取得する。
メタ情報処理部606は、内蔵メモリ603上で、コピーしてきたメタ情報を半導体フラッシュメモリ605の消去ブロックと同じ消去ブロック単位で管理し、消去ブロックごとに消去ブロック単位の書き換え有無管理手段を関連付ける。ここでは、書き換え有無管理手段の一例として、消去ブロックごとに関連付けた書き換え有無管理フラグ608を用いている。書き換え有無管理フラグ608は、マウント直後にすべて「clean」に設定される。
さて、アプリケーション601からデータの書き込みを依頼されると、ファイルシステム構成手段602は、ユーザデータ領域データ処理手段607を用いて、アプリケーション601から受け付けたデータを前記半導体フラッシュメモリ605のユーザデータ領域614に書き込む。この際、メタ情報処理部606が前記データに係るメタ情報を作成し、内蔵メモリ603にコピーされたメタ情報を更新する。また、情報の更新があった消去ブロックについては、書き換え有無管理フラグ608が「dirty」に設定される。
半導体フラッシュメモリ605上のメタ情報は定周期で更新される。すなわち、タイマー610は一定時間毎に半導体フラッシュメモリ605上のメタ情報の更新時期をメタ情報処理部606に通知する。当該通知を受け付けると、メタ情報処理部606は、内蔵メモリ603上の書き換え有無管理フラグ608を参照して、「dirty」とされている書き換え有無管理フラグ608を検出する。書き換え有無管理フラグ608が「dirty」ならば、内蔵メモリ603と半導体フラッシュメモリ605との間で対応するメタ情報の内容が一致しないからである。
メタ情報処理部606にて書き換え有無管理フラグ608が「dirty」と判定された消去ブロックについては、消去ブロック単位書き出し手段604が内蔵メモリ603から当該消去ブロックを読み出して、半導体フラッシュメモリ605の対応する消去ブロックに消去ブロック単位で書き込む。
このようにすれば、メタ情報を常に消去ブロック単位でまとめて書き戻すことができるので、半導体フラッシュメモリの書き換え回数を削減して、その寿命を延ばすことができるとともに、高速なメタ情報の書き込みを実現することができる。
また、前記内蔵メモリ603へコピーした消去ブロックにはFAT以外のデータが混在していないため、書き換え有無管理フラグ608はFATの更新のみに着目して更新すれば良い。これにより、メタ情報の書き戻しに係る装置の構成を簡略化することができる。
なお、本変形例においては、消去ブロック単位取得手段615にて消去ブロックの大きさを取得するとしたが、これに代えて、ユーザがアプリケーション601を通じて手動で消去ブロックの大きさを通知するとしても良い。
また、本変形例においては、マウント時に頻繁に書き換えるメタ情報をすべて内蔵メモリにコピーするとしたが、これに代えて、ファイル記録中に必要になった部分だけを消去ブロック単位で内蔵メモリにコピーするとしても良い。
また、本変形例においては、メタ情報の書き戻しのタイミングをタイマー610にてメタ情報処理部606に通知するとしたが、これに代えて、アプリケーションが適当なタイミングでファイルシステム構成手段602にメタ情報の書き戻しを指示するとしても良い。
本発明に係る記録媒体は、消去ブロック単位をもつ不揮発性メモリを用い記録媒体であって、そのような記録媒体の寿命を延長することができる技術として有用である。
本発明の実施の形態に係る半導体フラッシュメモリの物理番地0から始まる空間全体を表わす図である。 JIS−X0605に規定されている、FAT16のパーティションブートセクタ103の構成を示す表である。 本発明の実施の形態に係るFATひとつ当たりのセクタ数を決定する手順を示すフローチャートである。 本発明の変形例(5)に係る半導体フラッシュメモリ内の論理セクタ番号0から開始する空間を表わす図である。 本発明の変形例(5)に係る半導体フラッシュメモリに記録されているスペース・ビットマップ403の構成を示す表である。 本発明の変形例(5)に係る半導体フラッシュメモリにファイルを記録するための手順を説明するための図である。 従来技術に係る半導体フラッシュメモリをFAT16ファイルシステムで初期化した場合のブロック構成図であって、特に、半導体フラッシュメモリ内のボリューム領域を表している。 従来技術に係る半導体フラッシュメモリ(二次記憶)のデータ構造を示す図である。
符号の説明
1…………………半導体フラッシュメモリ
101……………マスターブートレコードとパーティションテーブル
102、104…予約領域
103……………パーテシションブートセクタ
105、106…FAT
107……………ルートディレクトリエントリ
108、613…システム領域
109、614…ユーザデータ領域
111、112、113、114、115、609、612…消去ブロック
401……………メイン・ボリューム記述子
402……………パーティション記述子
403……………スペース・ビットマップ
601……………アプリケーション
602……………ファイルシステム構成手段
603……………内蔵メモリ
604……………消去ブロック単位書き出し手段
605……………半導体フラッシュメモリ
606……………メタ情報処理部
607……………データ処理手段
608……………書き換え有無管理フラグ
610……………タイマー
611……………セクタ
615……………消去ブロック取得手段

Claims (3)

  1. 消去ブロック単位でデータが消去される半導体フラッシュメモリであって、
    ファイルとしてデータを記録するユーザ領域と、
    前記ファイルを管理するためのデータであるメタ情報を記録するシステム領域とを備え、
    前記ユーザ領域と前記システム領域とは消去ブロックを共有せず、
    前記ユーザ領域においてひとつのデータが記録または消去される際に、これと関連付けて更新される複数のメタ情報は互いに異なる消去ブロックに記録される
    ことを特徴とする半導体フラッシュメモリ。
  2. FATファイルシステム規格に準拠して初期化されている半導体フラッシュメモリであって、
    前記システム領域は、パーティションブートセクタとファイルアロケーションテーブルを含み、
    前記パーティションブートセクタは、パーティションの先頭セクタに記録されており、
    前記ファイルアロケーションテーブルは、前記パーティションブートセクタから所定のセクタ数だけ隔てて記録されており、
    前記ファイルアロケーションテーブルの最終セクタが消去ブロックの最終セクタと一致するように、前記ファイルアロケーションテーブルのサイズが決定されている
    ことを特徴とする請求項1に記載の半導体フラッシュメモリ。
  3. UDFファイルシステム規格に準拠して初期化されている半導体フラッシュメモリであって、
    スペース・ビットマップがパーティションの先頭に記録されており、
    前記スペース・ビットマップの最終セクタが消去ブロックの最終セクタと一致するように、前記スペース・ビットマップのサイズが決定されている
    ことを特徴とする請求項1に記載の半導体フラッシュメモリ。
JP2004023797A 2004-01-30 2004-01-30 フォーマット方法 Expired - Fee Related JP4130808B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004023797A JP4130808B2 (ja) 2004-01-30 2004-01-30 フォーマット方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004023797A JP4130808B2 (ja) 2004-01-30 2004-01-30 フォーマット方法

Publications (2)

Publication Number Publication Date
JP2005216119A true JP2005216119A (ja) 2005-08-11
JP4130808B2 JP4130808B2 (ja) 2008-08-06

Family

ID=34906696

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004023797A Expired - Fee Related JP4130808B2 (ja) 2004-01-30 2004-01-30 フォーマット方法

Country Status (1)

Country Link
JP (1) JP4130808B2 (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007220101A (ja) * 2006-02-17 2007-08-30 Samsung Electronics Co Ltd ブロック方式のメモリにおいてデータの変更類型に応じてブロックを管理する方法および装置
JP2007257061A (ja) * 2006-03-20 2007-10-04 Sony Corp データ記憶装置及びデータアクセス方法
WO2007132931A1 (ja) * 2006-05-16 2007-11-22 Buffalo Inc. データ記憶装置およびこの初期化方法
WO2007135967A1 (ja) * 2006-05-18 2007-11-29 Buffalo Inc. データ記憶装置およびデータ記憶方法
JP2008198206A (ja) * 2007-02-13 2008-08-28 Samsung Electronics Co Ltd データ処理システム並びにその動作方法、データ処理装置、そしてデータ格納装置の動作方法
WO2009031689A1 (en) * 2007-09-06 2009-03-12 Kabushiki Kaisha Toshiba Memory device and file system
JP2009295241A (ja) * 2008-06-06 2009-12-17 Sanyo Electric Co Ltd 不揮発性メモリ制御回路
KR100980309B1 (ko) 2007-01-12 2010-09-06 가부시끼가이샤 도시바 호스트 디바이스 및 메모리 시스템
JP2012515954A (ja) * 2009-01-21 2012-07-12 マイクロン テクノロジー, インク. 論理アドレスオフセット
JP2012515955A (ja) * 2009-01-21 2012-07-12 マイクロン テクノロジー, インク. 固体メモリフォーマッティング
US10462437B2 (en) 2011-04-19 2019-10-29 Dolby Laboratories Licensing Corporation High luminance projection displays and associated methods
CN114360627A (zh) * 2020-10-12 2022-04-15 合肥君正科技有限公司 一种轻量级tf卡检测工具

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007220101A (ja) * 2006-02-17 2007-08-30 Samsung Electronics Co Ltd ブロック方式のメモリにおいてデータの変更類型に応じてブロックを管理する方法および装置
JP2007257061A (ja) * 2006-03-20 2007-10-04 Sony Corp データ記憶装置及びデータアクセス方法
WO2007132931A1 (ja) * 2006-05-16 2007-11-22 Buffalo Inc. データ記憶装置およびこの初期化方法
JP2007310447A (ja) * 2006-05-16 2007-11-29 Buffalo Inc データ記憶装置およびこの初期化方法
JP4663577B2 (ja) * 2006-05-16 2011-04-06 株式会社バッファロー データ記憶装置およびこの初期化方法
WO2007135967A1 (ja) * 2006-05-18 2007-11-29 Buffalo Inc. データ記憶装置およびデータ記憶方法
US8364730B2 (en) 2006-05-18 2013-01-29 Buffalo Inc. Data storage apparatus and data storage method
CN101449248A (zh) * 2006-05-18 2009-06-03 巴比禄股份有限公司 数据存储装置以及数据存储方法
KR100980309B1 (ko) 2007-01-12 2010-09-06 가부시끼가이샤 도시바 호스트 디바이스 및 메모리 시스템
JP2008198206A (ja) * 2007-02-13 2008-08-28 Samsung Electronics Co Ltd データ処理システム並びにその動作方法、データ処理装置、そしてデータ格納装置の動作方法
KR101139076B1 (ko) * 2007-09-06 2012-04-30 가부시끼가이샤 도시바 메모리 장치 및 파일 시스템
WO2009031689A1 (en) * 2007-09-06 2009-03-12 Kabushiki Kaisha Toshiba Memory device and file system
JP2009295241A (ja) * 2008-06-06 2009-12-17 Sanyo Electric Co Ltd 不揮発性メモリ制御回路
JP2012515954A (ja) * 2009-01-21 2012-07-12 マイクロン テクノロジー, インク. 論理アドレスオフセット
JP2012515955A (ja) * 2009-01-21 2012-07-12 マイクロン テクノロジー, インク. 固体メモリフォーマッティング
US8683173B2 (en) 2009-01-21 2014-03-25 Micron Technology, Inc. Logical address offset in response to detecting a memory formatting operation
US8930671B2 (en) 2009-01-21 2015-01-06 Micron Technology, Inc. Logical address offset in response to detecting a memory formatting operation
KR101528714B1 (ko) * 2009-01-21 2015-06-15 마이크론 테크놀로지, 인크. 메모리 유닛 동작 방법 및 메모리 제어기
US9626287B2 (en) 2009-01-21 2017-04-18 Micron Technology, Inc. Solid state memory formatting
US10462437B2 (en) 2011-04-19 2019-10-29 Dolby Laboratories Licensing Corporation High luminance projection displays and associated methods
US11637996B2 (en) 2011-04-19 2023-04-25 Dolby Laboratories Licensing Corporation High luminance projection displays and associated methods
CN114360627A (zh) * 2020-10-12 2022-04-15 合肥君正科技有限公司 一种轻量级tf卡检测工具

Also Published As

Publication number Publication date
JP4130808B2 (ja) 2008-08-06

Similar Documents

Publication Publication Date Title
EP2096546B1 (en) Write once recording device
KR101087906B1 (ko) 파일기록장치
JP4238514B2 (ja) データ記憶装置
KR100877448B1 (ko) 비휘발성 기억 시스템
JP4268396B2 (ja) 1回プログラム可能な不揮発性メモリデバイスのファイル管理
JP2009199625A (ja) メモリカードおよびメモリカードの制御方法および不揮発性半導体メモリの制御方法
JP2008507756A (ja) 最適化されたシーケンシャルなクラスタの管理のためのfat分析
US8977802B2 (en) Access device, information recording device, controller, real time information recording system, access method, and program
US20120030411A1 (en) Data protecting method, memory controller and portable memory storage apparatus
US7647470B2 (en) Memory device and controlling method for elongating the life of nonvolatile memory
US8914579B2 (en) Access device, information recording device, controller, and information recording system
JP2006040264A (ja) メモリカードの制御方法および不揮発性半導体メモリの制御方法
WO2005066787A1 (ja) 情報記録媒体
JP4130808B2 (ja) フォーマット方法
US20050169058A1 (en) Data management apparatus and method used for flash memory
JP4308780B2 (ja) 半導体メモリ装置、メモリコントローラ及びデータ記録方法
US20050149493A1 (en) Data recording apparatus and data recording method
JP2008269520A (ja) 記録装置及び記録方法
JP2008262452A (ja) 記録デバイスのキャッシュ方法および記録装置
JP2006323462A (ja) ファイルコピー装置およびファイルコピー方法
JPH1031611A (ja) 不揮発性メモリ記憶媒体用ファイルシステム
JPH06332795A (ja) 電気的消去可能な不揮発性メモリの制御方法及びシステム
JP2009205590A (ja) アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム
JP7435470B2 (ja) 情報処理装置、情報処理方法および情報処理プログラム
JP2008134777A (ja) ファイル割当テーブルのキャッシュ方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071218

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080226

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080401

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080430

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080523

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110530

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120530

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130530

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130530

Year of fee payment: 5

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees