Warum ist die Standardzuordnungsgröße von exFAT in Windows so hoch?

6664
InsanityOnABun

Verweis auf diese Seite: https://support.microsoft.com/de-de/kb/140365

NTFS überschreitet nicht die 4-KB-Clustergröße, bis das Volumen 16 TB überschreitet und FAT32 bei modernen Windows-Versionen maximal 16 KB im 16-32-GB-Volumenbereich erreicht.

exFAT beträgt jedoch standardmäßig nur 4 KB im Volume-Bereich 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 das? Eine relativ hohe Clustergröße scheint verschwenderisch zu sein, insbesondere in einem Format, das für kleinere externe Geräte wie Flash-Laufwerke entwickelt wurde. Doppelt so, wenn Sie Flash-Speicher formatieren, denn nach meinem Verständnis ist der Hauptvorteil für größere Cluster eine schnellere E / A-Operation, da weniger Fragmentierung und weniger Cluster insgesamt zu lesen sind. Korrigieren Sie mich, wenn ich falsch liege, aber der Flash-Speicher ist viel weniger anfällig für Verlangsamungen durch Fragmentierung. Warum also die Clustergröße so groß machen?

7
"Größe" und "Hoch" passen nicht zusammen. Zahlen können "hoch" sein. "Groß" ist das Wetterwort anstelle von "Hoch". sawdust vor 5 Jahren 0
Mögliches Duplikat von [Nachteile einer kleinen Zuordnungseinheit] (https://superuser.com/questions/465615/downsides-of-a-small-allocation-unit-size) sawdust vor 5 Jahren 0
Ich wollte nur erwähnen, dass ich gerade ein 1-TB-Laufwerk mit der Standard-Clustergröße formatiert habe und Windows eine Clustergröße von 2048 KB verwendet !!! Dies widerspricht nicht nur den Angaben auf ihrer Seite, sondern ist WAYY immer zu hoch woojoo666 vor 5 Jahren 0

1 Antwort auf die Frage

7
Muh Fugen

Da exFAT hauptsächlich für SD-Karten mit hoher Kapazität verwendet wird, müssen Sie auf SD-Karten einen Sektor löschen, bevor Sie darauf schreiben können. Wenn Sie kleine Cluster auf einer Karte mit einer großen Lösch-Sektorgröße verwenden, führt dies dazu, dass viele Lösch- und Schreibbefehle für denselben Sektor mehrere sequenzielle Cluster-Daten auf die Festplatte schreiben. Dies führt nicht nur zu einer Verringerung der Leistung, sondern auch zu einem vorzeitigen Verschleiß des Flash Zellen. Die Löschsektorgröße wird im Allgemeinen nicht in Kartendatenblättern dokumentiert, kann jedoch im CSD-Register der Karte gefunden werden. Der Inhalt dieses Registers variiert von Karte zu Karte je nach internem Design. Da SD-Karten im Allgemeinen in Kameras verwendet werden, die große Dateien speichern, ist der verschwendete Speicherplatz eines großen Clusters 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 Rechner eingeben, können Sie für einige der 32/64-GB-Karten die Löschsektorgröße 128 Blöcke mit einem Block von 512 Bytes sehen. Bei einer 2-GB-Karte beträgt die Löschsektorgröße 32 Blöcke, wobei der Block 1024 Byte beträgt.

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

Ob Windows nun intelligent genug ist, um das CSD-Register abzufragen und eine Clustergröße vorzuschlagen, oder ob es einfach auf der Grundlage der Partition oder der Festplattengröße schätzt, ist unbekannt. Wenn Sie eine SD-Karte mit einem Mikrocontroller emulieren, könnten Sie es herausfinden.

Ich wusste nicht, dass ich Flash-Speicher löschen musste, bevor Sie darauf schreiben konnten. Das macht jetzt Sinn. Vielen Dank! InsanityOnABun vor 7 Jahren 0
Sie scheinen davon auszugehen, dass SD-Karten keine Flash-Übersetzungsschicht haben, dh dass benachbarte logische Sektoren in NAND immer physisch benachbart sind. Ansonsten müssten die logischen Sektoren in einem Cluster nicht zum selben Löschblock gehören. Welche Beweise haben Sie, um diese Annahme zu stützen? sawdust vor 5 Jahren 0