WindowsでのexFATのデフォルトの割り当てサイズがなぜ非常に高いのですか?


12

このページの参照:https : //support.microsoft.com/en-us/kb/140365

NTFSは、ボリュームが16TBを超えるまで4KBのクラスターサイズを超えず、FAT32は、最新バージョンのWindowsの16GB〜32GBのボリューム範囲で、最大16KBになります。

ただし、exFATのデフォルトは、7MB〜256MBのボリューム範囲で4KBのみです。その後、256MB〜32GBの範囲で32KBにジャンプし、それを超えて128KBになります。

何故ですか?比較的大きなクラスターサイズは、特にフラッシュドライブなどの小さな外部デバイス用に設計されたフォーマットでは無駄に見えます。フラッシュメモリをフォーマットしている場合は、二重に理解します。私が理解しているように、クラスターサイズを大きくすることの主な利点は、断片化が少なく、読み取るクラスター全体が少ないため、IOが高速になることです。私が間違っている場合は修正してください。ただし、フラッシュメモリは断片化によって発生する速度低下の傾向がはるかに少ないです。では、なぜクラスターサイズをそれほど大きくするのでしょうか。


「サイズ」と「高」は一緒に使用できません。数値は「大きい」場合があります。「大」は「高」の代わりに賭けの言葉です。
おがくず


デフォルトのクラスターサイズを使用して1 TBドライブをフォーマットしただけで、Windowsは2048KBのクラスターサイズを使用したことをお伝えしたいと思います。これは彼らのページの仕様に反しているだけでなく、常に高すぎる
woojoo666

Googlingでこれに到達し、問題のドライブ/カードにgitディレクトリをバックアップする可能性がある場合は、大きなセクターの欠点も知っておくことが重要です。大きなセクターは、開発者(1万以上の小さなファイルを含む可能性があります)が通常のHDDサイズの大きな倍数を占めるようにする可能性があります。例:superuser.com/questions/704218/...の superuser.com/questions/1370780/...
kcrumley

回答:


11

exFATは主に大容量SDカードなどに使用されるため、SDカードでは、セクターに書き込む前にセクターを消去する必要があります。消去セクターサイズが大きいカードで小さなクラスターを使用すると、同じセクターに多くの消去および書き込みコマンドが実行され、いくつかの連続したクラスター値のデータがディスクに書き込まれるだけでなく、パフォーマンスが低下するだけでなく、フラッシュが早く消耗します。細胞。消去セクターサイズは、通常、カードのデータシートには記載されていませんが、カードのCSDレジスタに記載されています。このレジスタの内容は、その内部設計に応じてカードごとに異なります。SDカードは通常、大きなファイルを保存するカメラなどで使用されるため、大きなクラスターサイズの無駄なスペースは重要ではありません。

このウェブページには、約12枚のカードのこのレジスタの内容が含まれています。

http://goughlui.com/2014/01/03/project-read-collect-decode-sd-card-csd-register-data/

また、次の計算機にその内容を入力すると、32 / 64GBカードのいくつかについて、消去セクターサイズは128ブロックで、ブロックは512バイトです。また、2GBカードの消去セクターサイズは32ブロックで、ブロックは1024バイトです。

http://goughlui.com/static/csdecode2.htm

WindowsがCSDレジスターを照会してクラスターサイズを提案するのに十分かどうか、または単にパーティションまたはディスクサイズに基づいて推測するかどうかは不明です。マイクロコントローラーでSDカードをエミュレートする場合は、それを見つけることができます。


1
フラッシュメモリに書き込む前にフラッシュメモリを消去する必要があることを知りませんでした。それは今では理にかなっています。ありがとう!
InsanityOnABun

1
SDカードにはフラッシュ変換レイヤーがないと想定しているようです。つまり、隣接する論理セクターは常にNAND内で物理的に隣接しているということです。それ以外の場合、クラスター内の論理セクターは同じ消去ブロックに属している必要はありません。この仮定を裏付ける必要がある証拠は何ですか?
おがくず

実際、一部の高性能SDカードとフラッシュドライブには変換層がありますが、それでも32kbクラスターで事前フォーマットされていますか?4kbクラスターがランダムな書き込みと読み取りのパフォーマンスを向上させることを確認しました
thomasrutter
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.