Verweis auf diese Seite: https://support.microsoft.com/en-us/kb/140365
NTFS überschreitet die Clustergröße von 4 KB erst, wenn das Volume 16 TB überschreitet, und FAT32 erreicht bei modernen Windows-Versionen ein Maximum von 16 KB im Volumenbereich von 16 GB bis 32 GB.
exFAT ist jedoch standardmäßig nur 4 KB im Volumenbereich von 7 MB bis 256 MB. Danach springt es auf 32 KB im Bereich von 256 MB bis 32 GB und 128 KB darüber hinaus.
Warum ist das so? Eine relativ hohe Clustergröße erscheint verschwenderisch, insbesondere in einem Format, das für kleinere externe Geräte wie Flash-Laufwerke entwickelt wurde. Wenn Sie den Flash-Speicher formatieren, ist dies doppelt so wichtig, da der Hauptvorteil einer größeren Clustergröße meines Wissens eine schnellere E / A aufgrund einer geringeren Fragmentierung und weniger zu lesenden Gesamtcluster ist. Korrigieren Sie mich, wenn ich falsch liege, aber der Flash-Speicher ist viel, viel weniger anfällig für durch Fragmentierung verursachte Verlangsamungen. Warum also die Clustergröße so hoch machen?
quelle
Antworten:
Da exFAT hauptsächlich für SD-Karten mit großer Kapazität verwendet wird und Sie auf SD-Karten einen Sektor löschen müssen, bevor Sie darauf schreiben können. Wenn Sie kleine Cluster auf einer Karte mit einer großen Löschsektorgröße verwenden, führt dies dazu, dass viele Lösch- und Schreibbefehle in denselben Sektor mehrere aufeinanderfolgende Cluster von Daten auf die Festplatte schreiben, was nicht nur die Leistung verringert, sondern auch den Flash vorzeitig abnutzt Zellen. Die Größe des Löschsektors ist im Allgemeinen nicht in Kartendatenblättern dokumentiert, befindet sich jedoch im CSD-Register der Karte. Der Inhalt dieses Registers variiert je nach internem Design von Karte zu Karte. Da SD-Karten im Allgemeinen in Kameras verwendet werden, in denen große Dateien gespeichert sind, ist der verschwendete Speicherplatz einer großen Clustergröße nicht wichtig.
Diese Webseite enthält den Inhalt dieses Registers für etwa ein Dutzend Karten:
http://goughlui.com/2014/01/03/project-read-collect-decode-sd-card-csd-register-data/
Wenn Sie den Inhalt in den folgenden Taschenrechner eingeben, sehen Sie für einige der 32/64-GB-Karten, dass die Größe des Löschsektors 128 Blöcke beträgt, wobei ein Block 512 Byte beträgt. Bei einer 2-GB-Karte beträgt die Größe des Löschsektors 32 Blöcke, wobei ein Block 1024 Byte beträgt.
http://goughlui.com/static/csdecode2.htm
Ob Windows intelligent genug ist, um das CSD-Register abzufragen und eine Clustergröße vorzuschlagen, oder ob es einfach anhand der Partitions- oder Festplattengröße erraten wird, ist unbekannt. Wenn Sie eine SD-Karte mit einem Mikrocontroller emulieren würden, könnten Sie es herausfinden.
quelle