exFAT

フラッシュメモリ向けのファイルシステム

exFAT(イーエックスファット、Extended File Allocation Table)は、マイクロソフトによって2006年に導入されたプロプライエタリファイルシステムである。USBフラッシュドライブSDカードなどのフラッシュドライブ向けに最適化がされている。

exFAT
開発者 マイクロソフト
正式名 Extended File Allocation Table
導入 2006年11月 (2006-11) (Windows Embedded CE 6.0)
パーティション識別子
  • 0x07(MBR
  • EBD0A0A2-B9E5-4433-87C0-68B6B72699C7(GPT
構造
ディレクトリ テーブル
領域管理 ビットマップリンクリスト
不良ブロック クラスタタグ
限度
最大ファイル サイズ
  • 128 PiB(実装上)
  • 16 EiB(理論上)
最大ファイル数 2,796,202(ディレクトリ毎)[1]
最大ファイル名長 255文字[1]
最大ボリューム サイズ
ファイル名の文字 /\:*"?<>|NUL及びUS以外の全てのUnicodeUTF-16でエンコードされる)
特徴
タイムスタンプ 作成、修正、アクセス
日付範囲 1980年1月1日 (1980-01-01) - 2107年12月31日 (2107-12-31)(ローカルタイム)
日付分解能
  • 10ミリ秒(作成、修正)
  • 2秒(アクセス)
フォーク 無し
属性 読み取りのみ、隠し、システム、サブディレクトリ、アーカイブ
パーミッション ACL(オプション)
透過的圧縮 無し
透過的暗号化 無し
重複排除 無し
対応OS
テンプレートを表示

データ構造のオーバーヘッドによりNTFSが適切ではない用途に使用することができる。

32 GiBを超えるメモリーカード規格であるSDXC/SDUCメモリーカードメモリースティックXCの標準ファイルシステムに採用されている。

2019年8月28日、マイクロソフトはexFATの仕様を初めて公開した[1]

歴史

編集

Windows Embedded CE 6.0で初めて導入され、デスクトップ向けにはWindows Vista SP1 で初めて導入された[5]Windows XPWindows Server 2003更新プログラムをインストールする必要がある[2][3]

Windows以外での利用

編集

Macにおいては、2010年Appleにより、SDXCカードスロットの付いたMac miniiMacがリリースされ付属する専用Mac OS X v10.6.4が対応した後、Mac OS X v10.6.5以降で対応している[6]

Linuxにおいては、有志がLinux Kernel Mailing Listにおいてパッチの開発を行っていた[7]が、現在ではTuxera英語版中国語版がマイクロソフトと知的所有権の合意のもと、Linuxシステム向けのドライバを開発している。また、exfatプロジェクトによってFUSEを利用した実装による読み書き可能なexFATドライバが公開されている[8]ほか、FUSEを利用しない実装についても、Dynamic Kernel Module Support英語版を利用したカーネルモジュールとして公開されている[9]

2009年12月10日にMicrosoftが特許を保有するexFAT技術のライセンス提供を開始。ただしLinuxへの導入には反対。

2019年8月28日にexFATの仕様が公開され、今後のLinux System Definitionの改定でOINメンバーがexFATの特許を利用できるようにすると発表した[10]。これを受けて、LinuxカーネルにexFATを組み込む作業が開始され、同年11月24日リリースのバージョン5.4においてサポートされた[11]

特徴

編集

従来のFile Allocation Table (FAT) ファイルシステムに対する優位点としては以下のものがある。

  • 大きなディスクサイズに対するスケーラビリティ
  • 理論上の最大ファイルサイズは264バイト (16EiB)。従来は最大 232バイト (4GiB)。
  • 理論上の最大クラスタサイズは2255セクタ。実装上の限界は32MiB
  • 空き領域ビットマップの導入による、空き領域割り当てと削除のパフォーマンス向上。
  • 1つのディレクトリで最大2,796,202のファイル格納をサポート[1]
  • アクセス制御リストのサポート(Windows Vista SP1/7 RTMでは未サポート)[12]
  • Transaction-Safe FAT File System (TFAT) のサポート(WinCEでのオプション機能)。
  • 特定のデバイスの特性に合わせてファイルシステムをカスタマイズできるようにするためのOEM定義のパラメータを用意。
  • UTCタイムスタンプが導入(Windows Vista SP2から[13]
  • 修正時刻のタイムスタンプの分解能が従来の2秒から10ミリ秒になったことによる、いわゆる2秒問題(NTFSなどからファイルをコピーした際に修正時刻が最大2秒ずれる問題)の解決。

従来のFATファイルシステムに対する欠点としては以下のものがある。

  • exFATを使うデバイスは、Windows VistaReadyBoostを利用できない[14]。なお、Windows 7以降では利用可能[15]
  • ライセンスが不明確である。なお、MicrosoftはFATの一部に関する特許を取得している[16]
  • Windows XPにおいてOSをインストールするファイルシステムとしては利用できない。
  • Windows標準のユーティリティを使用してDVD-RAMをフォーマットすることはできない。ただし、サードパーティ製ツールを使用してexFATフォーマットされたDVD-RAMメディアの読み書きは可能である。

特許

編集

脚注

編集
  1. ^ a b c d e Nick Adman (2019年8月27日). “exFAT file system specification”. Microsoft Corporation. 2019年9月3日閲覧。
  2. ^ a b マイクロソフト. “Windows XP 用の更新プログラム (KB955704)”. 2017年11月1日時点のオリジナルよりアーカイブ。2008年1月28日閲覧。 (x86)
    マイクロソフト. “Windows XP x64 Edition 用の更新プログラム (KB955704)”. 2015年3月6日時点のオリジナルよりアーカイブ。2009年8月26日閲覧。 (x64)
  3. ^ a b マイクロソフト. “Windows Server 2003 用更新プログラム (KB955704)”. 2016年1月12日時点のオリジナルよりアーカイブ。2009年8月26日閲覧。 (x86)
    マイクロソフト. “Windows Server 2003 x64 Edition 用更新プログラム (KB955704)”. 2016年3月8日時点のオリジナルよりアーカイブ。2009年8月26日閲覧。 (x64)
    マイクロソフト. “Windows Server 2003 for Itanium-based Systems 用更新プログラム (KB955704)”. 2017年11月1日時点のオリジナルよりアーカイブ。2009年8月26日閲覧。 (IA64)
  4. ^ corbet (2019年11月25日). “The 5.4 kernel has been released”. LWN.net. 2019年12月1日閲覧。
  5. ^ Brandon LeBlanc (2007年8月28日). “Vista SP1 Whitepaper” (英語). マイクロソフト. 2007年8月28日閲覧。
  6. ^ Mac OS X 10.6.5 Notes: exFAT Support, AirPrint, Flash Player Vulnerability Fixes”. 2010年11月28日閲覧。
  7. ^ 海上忍 (2009年2月2日). “MS以外で初の対応? LinuxでexFAT読み取り用のパッチが公開”. 毎日コミュニケーションズ. 2017年10月8日閲覧。
  8. ^ 末岡洋子 (2013年1月22日). “FUSEベースのMicrosoft「exFAT」実装、「fuse-exfat 1.0」がリリース”. SOURCEFORGE.JP Magazine. 2014年12月31日閲覧。
  9. ^ Native Linux Kernel Module Is Out For Microsoft exFAT - Phoronix” (2013年6月25日). 2017年10月8日閲覧。
  10. ^ John Gossman (2019年8月28日). “exFAT in the Linux kernel? Yes!”. Microsoft. 2019年9月2日閲覧。
  11. ^ Valdis Klētnieks (2019年8月28日). “staging: exfat: add exfat filesystem code to staging”. git.kernel.org. 2019年9月2日閲覧。
  12. ^ Ryan Smith (2008年2月27日). “Second Shot: Windows Vista SP1” (英語). Anandtech. 2008年2月6日閲覧。
  13. ^ Mike Nash (2008年10月24日). “Windows Vista Service Pack 2 Beta” (英語). The Windows Blog. 2008年2月6日閲覧。
  14. ^ exFAT Versus FAT32 Versus NTFS” (英語) (2008年2月27日). 2008年7月6日閲覧。
  15. ^ Windows 7 評価ガイド 基本的な機能の提供
  16. ^ Elizabeth Montalbano (2006年1月11日). “Microsoft FAT patents upheld” (英語). Computerworld. 2008年2月22日閲覧。[リンク切れ]

関連項目

編集

外部リンク

編集