JP4130808B2 - フォーマット方法 - Google Patents
フォーマット方法 Download PDFInfo
- Publication number
- JP4130808B2 JP4130808B2 JP2004023797A JP2004023797A JP4130808B2 JP 4130808 B2 JP4130808 B2 JP 4130808B2 JP 2004023797 A JP2004023797 A JP 2004023797A JP 2004023797 A JP2004023797 A JP 2004023797A JP 4130808 B2 JP4130808 B2 JP 4130808B2
- Authority
- JP
- Japan
- Prior art keywords
- fat
- flash memory
- erase block
- sector
- size
- 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 - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Read Only Memory (AREA)
Description
例えば、あるオペレーティングシステムにおいては、二次記憶へのファイル入出力の最小単位を、メタ情報もユーザデータ領域のデータも区別せずにセクタとしている。これは、ハードディスクやフレキシブルディスクといった記録媒体の最小書き換え単位がセクタであるためである。また、FAT(File Allocation Table)系のファイルシステムにおいては、ユーザデータ領域のデータが、連続したセクタを複数個まとめたクラスタという単位によって管理される。
図7は、半導体フラッシュメモリをFAT16ファイルシステムで初期化した場合のブロック構成図であって、特に、半導体フラッシュメモリ内のボリューム領域を表している。
前記MBR及びルートパーティションテーブルセクタ701には、パーティションの開始位置が記録されている。パーティションは、前記システム領域708から開始される。
システム領域708は、更にパーティションブートセクタ704、二重化FAT705、ルートディレクトリエントリ(RDE: Root Directory Entry)706に分けられる。
このようにすれば、前記ユーザデータ領域707の先頭が半導体フラッシュメモリの消去ブロックの境界と一致するようにマスターブートレコード及びパーティションテーブルを含むセクタからパーティションブートセクタまでのデータサイズを決定することができる。
しかしながら、前記方法により解決されるのは、ユーザデータ領域におけるファイルシステムの管理単位と消去ブロック単位の差異のみである。前記半導体フラッシュメモリのシステム領域708には、ユーザデータ領域を管理するためのメタ情報が記録されている。これらのメタ情報の中には、数多くのセクタにまたがり、かつ頻繁に書き換えがおこなわれるものも存在する。FATファイルシステムにおけるFATや、UDF(Universal Disk Format)ファイルシステムにおけるスペース・ビットマップといった、記録媒体上のデータ割り当て状況や空き状況を記録した情報などがその代表である。
本発明は、上述のような問題に鑑みて為されたものであって、メタ情報の読み書きの高速化と半導体フラッシュメモリの長寿命化を実現し、且つ、ファイルシステムの運用手段の設計が容易となるように初期化するフォーマット方法を提供することを目的とする。
また、本発明に係る半導体フラッシュメモリは、FATファイルシステム規格に準拠して初期化されている半導体フラッシュメモリであって、前記システム領域は、パーティションブートセクタとファイルアロケーションテーブルを含み、前記パーティションブートセクタは、パーティションの先頭セクタに記録されており、前記ファイルアロケーションテーブルは、前記パーティションブートセクタから所定のセクタ数だけ隔てて記録されており、前記ファイルアロケーションテーブルの最終セクタが消去ブロックの最終セクタと一致するように、前記ファイルアロケーションテーブルのサイズが決定されていることを特徴とする。
また、本発明に係る半導体フラッシュメモリは、UDFファイルシステム規格に準拠して初期化されている半導体フラッシュメモリであって、スペース・ビットマップがパーティションの先頭に記録されており、前記スペース・ビットマップの最終セクタが消去ブロックの最終セクタと一致するように、前記スペース・ビットマップのサイズが決定されていることを特徴とする。
本構成により、頻繁に書き換えの生じるメタ情報等の管理情報を、それぞれ独立して常に消去ブロック単位で半導体フラッシュメモリに書き戻すことができるため、メタ情報の読み書きの高速化と半導体フラッシュメモリの長寿命化を実現しつつ、ファイルシステムの運用手段の設計が容易になる。
[1] 実施の形態
図1は、本発明の実施の形態に係る半導体フラッシュメモリの物理番地0から始まる空間全体を表わす図である。図1に示されるように、半導体フラッシュメモリ1のデータ構造は、パーティション管理領域、システム領域及びユーザデータ領域からなっている。
Tc=[(TS−Ssys)/Sc]
ここで、TSはメディア全体のセクタ数を表わし、Ssysは管理情報(マスターブートレコードとパーティションテーブル101、パーティションブートセクタ103、FAT105、106、ルートディレクトリエントリ107及び予約領域102、104)が占めるセクタ数を表わす。また、Scは1クラスタ当たりのセクタ数を表わす。また、ガウス記号[x]は、xを超えない最大の整数を表わす。すなわち、上式では、半導体フラッシュメモリ1の全セクタ数から管理情報を引いたセクタ数、すなわちユーザデータ領域109のセクタ数を、クラスタ当たりのセクタ数で割って、有効クラスタ数Tcとしている。
そして、不等式が成立するか否かを判断する。
[(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以外の正整数値をとるとしても良い。
上記不等式が成立すると判定された場合には(ステップS103:YES)、FATに必要な数の消去ブロックを割り当てることができたとして、式
FS=S×N
を用いて、FATひとつ当たりのセクタ数FSを算出して(ステップS104)、処理を終了する。
N×L×SS/32
とすれば、ユーザデータ領域の先頭と消去ブロックの境界を一致させることができる。ここで、Lはルートディレクトリエントリ107が占有する消去ブロックの数を表わし、任意の正整数値を与えることができる。SSはセクタひとつ当たりのバイト数を表わす。また、分母の32は、JIS−X0605に規定されているように、ディレクトリのエントリひとつ当たりに消費されるバイト数である。
従って、二重化されたFATを更新する際に、同一の消去ブロックが2回書き換えられるといった事態を回避して、消去ブロック毎の書き換え回数を減少させることができるの半導体フラッシュメモリ1の寿命を延長することができる。
以上、本発明を実施の形態に基づいて説明してきたが、本発明が上述の実施の形態に限定されないのは勿論であり、以下のような変形例を実施することができる。
(1) 上記実施の形態においては、パーティションブートセクタ103の先頭を消去ブロックの境界に一致させる場合について説明したが、本発明がこれに限定されないのは言うまでもなく、同一消去ブロック内にパーティションブートセクタ103とFAT105とが混在しない限り、パーティションブートセクタ103の先頭を消去ブロック境界に一致させる必要はない。例えば、パーティションブートセクタ103の先頭が消去ブロック境界からK番目のセクタにあるならば、FAT先頭との間にある予約領域104の大きさをセクタ(M×N−K)個分とすれば良い。
また、FATをひとつしか持たず、従ってFAT106を有しない場合には、FAT105の先頭を消去ブロック先頭と一致させる必要はない。消去ブロックの書き換え頻度が増大するおそれが無いからである。
SR+FS=N×I
ここで、SRはFAT105とルートディレクトリエントリ107以外の管理情報が占めるセクタ数を表わす。FSはFAT105のセクタ数を表わす。また、Nは消去ブロックひとつ当たりのセクタ数を表わし、Iは正整数である。
(3) 上記本発明の形態においては、FAT16ファイルシステムを用いる場合を例にとり本発明について説明したが、本発明がこれに限定されないのは言うまでもなく、FAT16ファイルシステムに代えて、FAT12ファイルシステムやFAT32ファイルシステムを用いるとしても良い。
[(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
を用いると良い。
(4) 上記実施の形態においては、パーティションブートセクタ103に対して消去ブロックをひとつ割り当てる場合について説明したが、FATをひとつしか持たず、従ってFAT106を有しない場合には、パーティションブートセクタ103をFAT105と同一の消去ブロックに配置しても良い。
パーティションブートセクタ103をどの消去ブロックに配置するとしても、パーティションブートセクタ103は半導体フラッシュメモリをフォーマットする時に書き込まれた後は書き替えられることがないため、このようにしても半導体フラッシュメモリ1の寿命に影響を与えることがなく、本発明の効果にも影響しない。
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から開始する空間を表わす図である。
従って、上記FAT16ファイルシステムの場合と同様にして、前記スペース・ビットマップ403をパーティション全体をカバーするのに充分な大きさとし、かつ前記スペース・ビットマップ403の末尾が消去ブロックの境界と一致するように定めることができる。これにより、前記スペース・ビットマップ403と他のメタ情報やユーザデータが同一消去ブロックに混在しないように配置することができる。
図6において、アプリケーション601は、二次記憶である半導体フラッシュメモリ605に格納されるべきデータを作成する。また、アプリケーション601は、ファイルシステム構成手段602に対して、前記データを半導体フラッシュメモリ605に格納するように依頼する。ファイルシステム構成手段602は、内部にメタ情報処理部606と、データ処理手段607を備えている。半導体フラッシュメモリ605は前述のようなデータ構造を有している。
また、ふたつのFATが同一消去ブロックを共有しないので、一方のFATのみを消去ブロック単位で切り出し、前記内蔵メモリ603にコピーすることができる。従って、システムの省メモリ化が可能となる。なお、ファイルシステム構成手段602は、消去ブロック単位取得手段615を介して、半導体フラッシュメモリ605に問い合わせることによって、消去ブロックのサイズを取得する。
このようにすれば、メタ情報を常に消去ブロック単位でまとめて書き戻すことができるので、半導体フラッシュメモリの書き換え回数を削減して、その寿命を延ばすことができるとともに、高速なメタ情報の書き込みを実現することができる。
なお、本変形例においては、消去ブロック単位取得手段615にて消去ブロックの大きさを取得するとしたが、これに代えて、ユーザがアプリケーション601を通じて手動で消去ブロックの大きさを通知するとしても良い。
また、本変形例においては、メタ情報の書き戻しのタイミングをタイマー610にてメタ情報処理部606に通知するとしたが、これに代えて、アプリケーションが適当なタイミングでファイルシステム構成手段602にメタ情報の書き戻しを指示するとしても良い。
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)
- コンピュータが、予め定めたクラスタサイズを持つFATファイルシステムでフラッシュメモリをフォーマットするフォーマット方法であって、
フラッシュメモリ上の番地であって、FATファイルシステムの構成情報を記入したセクタであるパーティションブートセクタを書き込む番地を決定する第1ステップと、
ファイルの配置状態を記入するFATの開始番地を、パーティションブートセクタとフラッシュメモリの消去ブロックを共用せず、かつ消去ブロックの先頭とする第2ステップと、
FATのサイズをフラッシュメモリの消去ブロックの整数倍とする第3ステップと、
フラッシュメモリがFATの末尾以降に持つ総セクタ数からクラスタサイズを除算して、フラッシュメモリ上の有効クラスタ数を求める第4ステップと、
FATが管理できる最大クラスタ数が有効クラスタ数よりも小さい場合、FATが管理できる最大クラスタ数が有効クラスタ数と同一か、有効クラスタ数よりも大きくなるまで、フラッシュメモリの消去ブロックの整数倍だけFATのサイズを大きくする第5ステップと、
FATが管理できる最大クラスタ数が有効クラスタ数と同一か、有効クラスタ数よりも大きい場合、当該FATのサイズをパーティションブートレコードに書き込む第6ステップと、を含む
ことを特徴とするフォーマット方法。 - コンピュータが、予め定めたクラスタサイズを持ち、かつFATを1つだけ有するFATファイルシステムでフラッシュメモリをフォーマットする方法であって、
フラッシュメモリ上の番地であって、FATファイルシステムの構成情報を記入したセクタであるパーティションブートセクタを書き込む番地を決定する第1ステップと、
ファイルの配置状態を記入するFATの開始番地を、パーティションブートセクタと前記フラッシュメモリの消去ブロックを共用しない番地とする第2ステップと、
FATの最後のセクタがフラッシュメモリの消去ブロックの最後のセクタに一致するようにFATのサイズを決定する第3ステップと、
フラッシュメモリがFATの末尾以降に持つ総セクタ数からクラスタサイズを除算して、フラッシュメモリ上の有効クラスタ数を求める第3ステップと、
FATが管理できる最大クラスタ数が有効クラスタ数よりも小さい場合、FATが管理できる最大クラスタ数が有効クラスタ数と同一か、有効クラスタ数よりも大きくなるまで、フラッシュメモリの消去ブロックの整数倍だけFATのサイズを大きくする第5ステップと、
FATが管理できる最大クラスタ数が有効クラスタ数と同一か、有効クラスタ数よりも大きい場合、当該FATのサイズをパーティションブートレコードに書き込む第6ステップと、を含む
ことを特徴とするフォーマット方法。 - ルートディレクトリのファイル一覧であるルートディレクトリエントリのサイズを、フラッシュメモリの消去ブロックの整数倍として、パーティションブートレコードに書き込むステップを含む
ことを特徴とする請求項1又は2に記載のフォーマット方法。
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 JP2005216119A (ja) | 2005-08-11 |
| JP4130808B2 true 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) |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100703807B1 (ko) * | 2006-02-17 | 2007-04-09 | 삼성전자주식회사 | 블록 방식의 메모리에서 데이터의 변경 유형에 따라 블록을관리하는 방법 및 장치 |
| JP4802791B2 (ja) * | 2006-03-20 | 2011-10-26 | ソニー株式会社 | データ記憶装置及びデータアクセス方法 |
| JP4663577B2 (ja) * | 2006-05-16 | 2011-04-06 | 株式会社バッファロー | データ記憶装置およびこの初期化方法 |
| JP4676378B2 (ja) | 2006-05-18 | 2011-04-27 | 株式会社バッファロー | データ記憶装置およびデータ記憶方法 |
| JP4991320B2 (ja) | 2007-01-12 | 2012-08-01 | 株式会社東芝 | ホスト装置およびメモリシステム |
| KR100923990B1 (ko) * | 2007-02-13 | 2009-10-28 | 삼성전자주식회사 | 플래시 저장 장치의 특성을 기반으로 한 컴퓨팅 시스템 |
| JP2009064263A (ja) * | 2007-09-06 | 2009-03-26 | Toshiba Corp | メモリ装置 |
| JP5260152B2 (ja) * | 2008-06-06 | 2013-08-14 | セミコンダクター・コンポーネンツ・インダストリーズ・リミテッド・ライアビリティ・カンパニー | 不揮発性メモリ制御回路 |
| US8392687B2 (en) | 2009-01-21 | 2013-03-05 | Micron Technology, Inc. | Solid state memory formatting |
| US8180995B2 (en) * | 2009-01-21 | 2012-05-15 | Micron Technology, Inc. | Logical address offset in response to detecting a memory formatting operation |
| CN109561288B (zh) | 2011-04-19 | 2021-10-29 | 杜比实验室特许公司 | 高光投影显示仪 |
| CN114360627A (zh) * | 2020-10-12 | 2022-04-15 | 合肥君正科技有限公司 | 一种轻量级tf卡检测工具 |
-
2004
- 2004-01-30 JP JP2004023797A patent/JP4130808B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2005216119A (ja) | 2005-08-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4238514B2 (ja) | データ記憶装置 | |
| EP2096546B1 (en) | Write once recording device | |
| US7610434B2 (en) | File recording apparatus | |
| US8312554B2 (en) | Method of hiding file at data protecting mode for non-volatile memory module, memory controller and portable memory storage apparatus | |
| US7752412B2 (en) | Methods of managing file allocation table information | |
| US7681008B2 (en) | Systems for managing file allocation table information | |
| US20060020744A1 (en) | Method and apparatus for maintaining data on non-volatile memory systems | |
| US20070043924A1 (en) | Method for controlling memory card and method for controlling nonvolatile semiconductor memory | |
| US8914579B2 (en) | Access device, information recording device, controller, and information recording system | |
| US8977802B2 (en) | Access device, information recording device, controller, real time information recording system, access method, and program | |
| KR20070060070A (ko) | 최적화된 순차적인 클러스터 관리용 에프에이티 분석 | |
| JPWO2005103903A1 (ja) | 不揮発性記憶システム | |
| JP2006040264A (ja) | メモリカードの制御方法および不揮発性半導体メモリの制御方法 | |
| JP4130808B2 (ja) | フォーマット方法 | |
| JP4347707B2 (ja) | 情報記録媒体のフォーマット方法および情報記録媒体 | |
| US7647470B2 (en) | Memory device and controlling method for elongating the life of nonvolatile memory | |
| JP2008262452A (ja) | 記録デバイスのキャッシュ方法および記録装置 | |
| WO2008042594A1 (en) | Managing file allocation table information | |
| US20050149493A1 (en) | Data recording apparatus and data recording method | |
| JP2008269520A (ja) | 記録装置及び記録方法 | |
| JP7435470B2 (ja) | 情報処理装置、情報処理方法および情報処理プログラム | |
| JP4308780B2 (ja) | 半導体メモリ装置、メモリコントローラ及びデータ記録方法 | |
| JP2009205590A (ja) | アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム | |
| CN114610228A (zh) | 文件管理系统及其文件管理方法、装置 | |
| 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 |