exFAT
exFAT(イーエックスファット、Extended File Allocation Table)は、マイクロソフトによって2006年に導入されたプロプライエタリなファイルシステムである。USBフラッシュドライブやSDカードなどのフラッシュドライブ向けに最適化がされている。
exFAT | |
---|---|
開発者 | マイクロソフト |
正式名 | Extended File Allocation Table |
導入 | 2006年11月Windows Embedded CE 6.0) | (
パーティション識別子 | |
構造 | |
ディレクトリ | テーブル |
領域管理 | ビットマップ、リンクリスト |
不良ブロック | クラスタタグ |
限度 | |
最大ファイル サイズ | |
最大ファイル数 | 2,796,202(ディレクトリ毎)[1] |
最大ファイル名長 | 255文字[1] |
最大ボリューム サイズ | |
ファイル名の文字 | /\:*"?<>| とNUL及びUS以外の全てのUnicode(UTF-16でエンコードされる) |
特徴 | |
タイムスタンプ | 作成、修正、アクセス |
日付範囲 | 1980年1月1日 | - 2107年12月31日 (ローカルタイム)
日付分解能 |
|
フォーク | 無し |
属性 | 読み取りのみ、隠し、システム、サブディレクトリ、アーカイブ |
パーミッション | ACL(オプション) |
透過的圧縮 | 無し |
透過的暗号化 | 無し |
重複排除 | 無し |
対応OS |
|
データ構造のオーバーヘッドによりNTFSが適切ではない用途に使用することができる。
32 GiBを超えるメモリーカード規格であるSDXC/SDUCメモリーカードやメモリースティックXCの標準ファイルシステムに採用されている。
2019年8月28日、マイクロソフトはexFATの仕様を初めて公開した[1]。
歴史
Windows Embedded CE 6.0で初めて導入され、デスクトップ向けにはWindows Vista SP1 で初めて導入された[5]。Windows XP と Windows Server 2003 は更新プログラムをインストールする必要がある[2][3]。
Windows以外での利用
Macにおいては、2010年にAppleにより、SDXCカードスロットの付いたMac miniとiMacがリリースされ付属する専用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 VistaのReadyBoostを利用できない[14]。なお、Windows 7以降では利用可能[15]。
- ライセンスが不明確である。なお、MicrosoftはFATの一部に関する特許を取得している[16]。
- Windows XPにおいてOSをインストールするファイルシステムとしては利用できない。
- Windows標準のユーティリティを使用してDVD-RAMをフォーマットすることはできない。ただし、サードパーティ製ツールを使用してexFATフォーマットされたDVD-RAMメディアの読み書きは可能である。
特許
- Vivek P. Kamath, Dennis R. Adler, Ralph A. Lipe, ほか。(1996年11月26日)アメリカ合衆国特許第 7,542,999号 Extended file system。
脚注
関連項目
外部リンク
- exFAT file system specification - Microsoft Docs
- exFAT ファイルシステムの仕様 - Microsoft Docs
- exfat - GitHub (FUSEによる実装)
- Personal Storage: Opportunities and challenges for pocket-sized storage devices in the Windows world (Microsoft PowerPoint プレゼンテーション)
- TFAT Overview
- Extended FAT File System
- exFAT 構造解析