512kb のチャンク、またはそれより小さいチャンクや大きいチャンクを使用してハード ドライブを exFAT に再フォーマットするのが最適ですか?

512kb のチャンク、またはそれより小さいチャンクや大きいチャンクを使用してハード ドライブを exFAT に再フォーマットするのが最適ですか?

多数の「アロケーション ユニット サイズ」を選択して、新品の 2TB WD Passport ドライブを exFAT に再フォーマットできます。

128kb
256kb
512kb
1024kb
4096kb
16384kb
32768kb

このドライブを主に Windows 7 の Media Center を使用して HDTV 番組を録画するために使用する場合、どれが最適ですか? ありがとうございます。

これは次の質問に関連しています: Mac との互換性を保つために、外付けハードドライブを exFAT に再フォーマットするのが最善でしょうか?

答え1

まず理解すべきことは

割り当て単位サイズ (AUS)

手段。

これはディスク上の最小のデータブロックです。実際のデータはディスクに保存する際にこのサイズの単位に分割されます。たとえば、ファイルサイズが512KBそしてあなたは128KBアロケーションユニットサイズに応じて、ファイルは4 ユニットディスク内(512KB/128KB)。

ファイルサイズが500KBそしてあなたは128KB オーストラリア、あなたのファイルは4ユニットで保存可能前述のように、128KB は割り当て単位の最小サイズであるため、ディスク上では最大 128KB になります。384KBは3つのユニットに割り当てられ、残りの116KBは最後のユニットに割り当てられ、そのユニットの12KBは空になります。この動作は、Windows のファイル プロパティ ダイアログで確認できます。ファイル サイズと、このファイルが実際にディスク上で占める領域は、2 つの異なる概念です。オペレーティング システムは、低レベルのディスク読み取り操作で、アロケーション ユニット サイズに相当するデータのみを読み取ります。

そうは言っても、大きな AUS を使用すると、最後の割り当て単位が完全に使用されないため、空き領域の使用率が大幅に低下します。また、副作用として、最後の AU が完全に使用されないという同じ問題により、ディスクに保存するファイルの数が減ります。ただし、トレードオフがあります。大きな AUS を使用すると、ディスクの読み取りパフォーマンスが大幅に向上します。OS は 1 回の読み取りでより多くのデータを読み取ることができます。OS が 1 GB サイズのファイルを完全に読み取るために、ディスクの読み取りを数回しか行わなくてもよいとしたらどうなるか想像してみてください。

小さい AUS を使用すると、空き領域の使用率は向上しますが、ディスクの読み取りパフォーマンスは低下します。逆に大きい AUS を使用すると、同じカテゴリの問題と改善が逆に発生すると考えてください...

では、ここでの結論は何でしょうか?ディスク上に大きな(本当に大きな!)ファイルを保存する場合、AUSを高くすると、ファイル数と空き容量を減らしながら、読み取りパフォーマンスが大幅に向上します。

どの AUS を使用すべきでしょうか? これは、平均ファイル サイズがどれくらいかによって異なります。また、ファイル サイズに応じて空き領域の使用率を計算することもできます。

答え2

HD 録画は大きなファイルなので、大きな割り当て単位 (16384 または 32768 KB) を使用するとパフォーマンスが向上します。空き領域 (割り当て単位が完全に使用されていないために無駄になる領域。ファイルは割り当て単位に保存され、単位全体として使用する必要があります) の影響は、ファイル数が少ない場合は制限されます。一方、小さなファイルが多数ある場合は、無駄な領域を減らすために、より小さな割り当て単位を使用します。

答え3

多数の小さなファイルを持つファイルシステムの場合は、8 KBクラスタサイズ。メディアのような大きなファイルのみを持つファイルシステムの場合は、128 KBクラスター。よくわからない場合は、8 KBクラスターのサイズ。128 KiB を超えるクラスターでは速度の向上はわずかですが (以下のグラフのグループの左上のグラフを参照)、クラスターが大きくなるとディスク使用量が膨大になる可能性があります。

例: 私の場合、大量の小さなファイル (100 万ファイル強、74 GB) があります。

  1. 8 KiB クラスターサイズ-->82 GBのストレージスペース74 GB のデータが使い果たされました。
    1. 338MB書き込み速度
  2. 128 KiB のクラスターサイズ-->194 GBのストレージ容量同じ74GBのデータを使い果たしました
    1. 390MB書き込み速度
  3. 32 MiB のクラスターサイズ-->32768 GB (32.8 TB) (いいえ、間違いではありません) のストレージ容量74 GB のデータが使い果たされました。
    1. 428MB書き込み速度

Microsoft のクラスター サイズのデフォルト値も最大 128 KiB です。Microsoft からの回答の最後にある表を参照してください。

私が細心の注意を払って作成したこれらのグラフをよく見てください。左上のグラフの傾向は、5.3 GB のファイルを exFAT 外付け SSD に rsync してテストを行ったため、小さなファイルの数に関係なく適用されますが、他の 3 つのグラフは、私が持っている小さなファイルの量によって悪化しています。右下の対数線形傾向はすべての人に適用されますが、その傾き、つまり y 軸の値は、持っている小さなファイルの数によって異なります。

ここに画像の説明を入力してください

興味があれば、私のウェブサイトに詳しい記事がありますので、ご覧ください。https://gabrielstaples.com/exfat-clusters/

完全な Python matplotlib/numpy プロット コードはここにあります:https://github.com/ElectricRCAircraftGuy/eRCaGuy_hello_world/blob/master/stack_exchange/format_exFAT_PLOTS.py


私は、OP の「HDTV 番組の録画」に関する質問には答えていません。完全なディスク バックアップの実行など、多数の小さなファイルを持つ人々のために答えています。彼らも間違いなくこのページにアクセスするでしょう。


小さなファイルがたくさんある場合は、できるだけ小さい割り当て単位を選択します。これにより、小さなファイルのために無駄なスペースが確保されることがなくなります。例: exFAT では 128 KiB ではなく 4 KiB の割り当て単位サイズを使用します。

バックアップしたばかりです74GBApple APFSファイルシステムからexFATファイルシステムの外部SSDにデータを移行し、128 KB の割り当てユニットサイズ(Linux UbuntuでGnome Disksを使用してexFATにフォーマットする場合のデフォルト)、外付けドライブでは、以前は74 GBAPFSファイルシステム上のデータは現在、194ギガバイトexFATファイルシステムで!それはおかしい!それは2.62倍無駄にスペースが取られるだけ!

なぜなら、例えば数百の小さなファイルが何千とあるからですバイトAPFSファイルシステムを搭載した古いドライブでは、それらは1つの512バイトクラスタ、そしてexFATファイルシステムの新しい外付けドライブでは、同じ90バイトのファイルがなんと128KBクラスターは128KiB * 1024 bytes/KiB / 512 bytes=256倍exFATドライブ上で小さなファイルに必要なストレージ容量。たとえば、128 KiBの割り当て単位を4 KiBに減らすと、128/4 =スペースが 32 倍少なくなります!

参照

  1. 私の答え:Unix & Linux: Linux から exFAT パーティションを作成してフォーマットするmkexfatfs- を使用した Linux Ubuntu 20.04と、を使用した Linux Ubuntu 22.04の両方のコマンドを示しますmkfs.exfat

  2. ファイルシステムのクラスター サイズを決定する方法についての私の回答:サーバー障害: クラスタサイズを確認する方法どれでもファイルシステム (NTFS、Apple APFS、ext4、ext3、FAT、exFAT など)

  3. [本当に役に立つ]Support.Microsoft.com: NTFS、FAT、exFAT の既定のクラスター サイズ:

    exFATのデフォルトのクラスタサイズ

    次の表は、exFAT のデフォルトのクラスター サイズを示しています。

    ボリュームサイズ Windows 7、Windows Server 2008 R2、Windows Server 2008、
    Windows Vista、Windows Server 2003、Windows XP
    7MB~256MB 4KB
    256 MB~32 GB 32KB
    32 GB~256 TB 128KB
    > 256 TB サポートされていません

答え4

基本的に、保存するファイルが大きければ大きいほど、使用する各割り当て単位のサイズも大きくなりますが、大きすぎても小さすぎてもいけません。DragonLord がかなりわかりやすく説明していると思います。

したがって、無駄なスペースが気になる場合は、別のファイル システムの使用を検討したほうがよいかもしれません。たとえば、EXT4 などです。問題は、Microsoft OS (実際には Windows) が FAT (vFAT、FAT32 など) または NTFS 以外ではうまく動作しないことです。また、4 GB を超えるファイルを作成した場合、使用している FAT タイプのシステムを呪うことになるかもしれません。したがって、推奨される割り当てユニット サイズ (4K だと思います) の NTFS ファイル システムを使用することをお勧めします。そうすれば、4 GB を超えるファイルを作成した場合も、少なくともファイルを分割するか、より小さなファイルにトランスコードするまでは、モンスター ファイルを保管できます。(ここでは巨大なマルチメディア ファイルについて話していると思います。そのため、「トランスコード」について言及しています。トランスコードするときに、特に MCE を使用して記録された場合は、ファイルを小さくする方法が常に見つかるからです。)

FAT (vFAT、FAT32、FAT16 など) を使用する唯一の理由は、他のオペレーティング システムがストレージ デバイス上のファイルを読み書きできるようにするためです。FAT は、ほぼ普遍的に受け入れられています。それ以外の場合は、FAT の使用はお勧めしません (デバイスの容量が 4 GB 以下である場合を除く)。少なくとも Windows の場合は NTFS を使用してください。同じ物理ドライブ上にある場合でも、別のファイル システムで別のパーティションをいつでも作成できます。お役に立てば幸いです。

関連情報