jüki wrote:Denn das, was mir auffielund ich mir eben nicht erklären kann, ist der sehr große Unterschied zwischen gleichen und fremden Laufwerken.
Man nehme mal an, ein einzelnes Laufwerk habe 4 Partitionen.
Wenn zwischen der ersten und letzten Partition etwas kopiert wird, dann passiert folgendes:
a) Schreib/Lesekopf auf die Datei in der ersten Partition positionieren
b) Datenblock lesen
c) Schreib/Lesekopf auf die Datei in der letzten Partition positionieren
d) Datenblock schreiben
usw. mit a,b,c,d bis alle Datenblöcke kopiert wurden.
Das Problem beim Kopieren auf einer einzelnen Platte sind die Positionierzeiten
a) und
c).
Um diese zu minimieren (Anzahl der Positionierungen zu verringern) kann man die Blockgröße erhöhen und damit die Anzahl der Zyklen a,b,c,d verringern.
Beim Kopieren von einer Platte zu einer anderen sind die Zeiten a),c) zu vernachlässigen, da der Kopf nicht umpositioniert werden muss (Außer die Quelldatei ist stark fragmentiert, oder die freien Stellen auf der Zielplatte sind weit verstreut).
Eine größere Blockgröße beim Lesen und Schreiben bedingt dann einen geringeren Overhead der entsprechenden Systemaufrufe.
Bis zu einer bestimmten Grösse steigt also die Lese oder Schreibgeschwindigkeit an.
Maximal bis die physikalische Grenze erreicht(Anzahl der Sektoren(Bytes) die pro Sekunde unter dem Lese Schreibkopf vorbeihuschen).
Meist erreicht man allerdings keine größeren Steigerungen mehr sobald die 32/64K-Blockgröße erreicht wurde.
Die Datenblöcke müsse allerdings von unterschiedlichen Treibern transportiert werden; und genau da liegt das Problem wenn Treiberentwickler ihre Tests nur mit dem Explorer und den dort üblichen Blockgrößen durchführen.
Kopieren auf den lokalen Festplatten klappt dann meist noch ohne Problem. Netzwerklaufwerke oder USB (Cardreader, Stick, usw) können da schon mal Datenverluste durch solche Treiber verursachen.
Zusätzlich kommen noch Effekte wie Hardwarebuffer in Schnittstellen hinzu, die ebenfalls bei ungewohnten Blockgrössen aus dem Tritt kommen können.
Wenn ihr also das Spiel mit der Blockgrößenoptimierung unbedingt betreiben wollt, dann setzt wenigstens ein Häkchen bei
[
x]
Kompatibilitätsmodus für folgende Laufwerke verwenden: \
[
x]
USB-Speichersticks
Zusätzlich zu
\ kann man auch alle Laufwerksbuchstaben angeben die nicht lokal sind.
Solange es sich nicht um das superteure Gigabit-RAID5-DualCore-NAS oder eine über USB3.0 angeschlossene SSD handelt, sind die zu erreichende Geschwindigkeitsgewinne sowieso eher marginal und das Risko eines Datenverlustes beim Speichern auf ein unbekanntes externen Laufwerk zu hoch.
Gruß
Holger