Nach ein paar Minuten Kopieren wird es immer langsamer. Warum?
ZB beginnt es mit 20 MByte / s, und wenn es damit fertig ist, sind es @ 10 MByte / s.
Verschiedene Dateien, groß, klein usw.
UPDATE: Frage bezieht sich auf verschiedene Betriebssysteme, also ist es eine "allgemeine Frage"
usb-flash-drive
file-transfer
LanceBaynes
quelle
quelle
Antworten:
Dieses Verhalten ist nicht spezifisch für Ihr Flash-Laufwerk. Sie können es auch bei Festplatten sehen. Dies hat mit dem Caching-Mechanismus zu tun, den die meisten Betriebssysteme und Festplatten verwenden, um kleine Schreibvorgänge zu beschleunigen.
Die angezeigten 20 MB / s sind die Daten, die in den Festplatten-Cache geschrieben werden (normalerweise schneller, aber kleiner Speicher). Sobald dieser Cache voll ist, muss er auf die Festplatte geschrieben werden - und jetzt hat die langsamere Festplatte einen Engpass.
Beispiel 1: Der Effekt ist wirklich ausgeprägt, wenn Sie einen Controller mit einem großen Cache (wie einen guten RAID5-Controller) haben, auf dem ~ 500 MB Daten schnell zwischengespeichert werden können, bevor sie auf die Festplatte geschrieben werden müssen.
Beispiel 2: Sie können den Cache während der Wiedergabe sehen, wenn Sie das Flash-Laufwerk herausziehen, während die Dateikopie "fertig" ist. Zu diesem Zeitpunkt wird Ihre Datei zwischen der Festplatte und dem Cache aufgeteilt - so ist die Kopie für das Betriebssystem "fertig", aber der Festplattencontroller muss noch die im Cache verbleibenden Daten auf die Festplatte schreiben. Wenn Sie das Flash-Laufwerk wieder einlegen und die Datei überprüfen, sehen Sie, dass nicht alles vorhanden ist.
Haftungsausschluss: Diese Beispiele funktionieren nicht, wenn in Ihrem Betriebssystem / auf der Festplatte kein Schreibcache aktiviert ist.
Wenn es sich bei der Arbeit nicht um das Zwischenspeichern von Festplatten handelt, ist es wahrscheinlich, dass das, was Sie sehen, ein Fragmentierungseffekt ist. Je voller die Festplatte wird, desto weniger zusammenhängender freier Speicherplatz ist verfügbar und das Dateisystem muss härter arbeiten, um Speicherorte für Ihre Dateien zu finden.
quelle
Zwar verursacht das Zwischenspeichern einen Teil davon, aber es ist nicht der einzige Faktor. Wenn nur das Cachen eine Rolle spielt, ist zu erwarten, dass die Schreibgeschwindigkeit sehr schnell von mehreren hundert MB / s auf die tatsächliche Schreibgeschwindigkeit des Laufwerks abfällt und für den Rest des Schreibvorgangs beibehalten wird. Dies ist jedoch nicht das, was ich beobachtet habe, wenn große Übertragungen auf und von der Festplatte durchgeführt wurden (z. B. Brennen von Boot-Images). Stattdessen beobachte ich, dass die Geschwindigkeit im Laufe des gesamten Vorgangs allmählich abnimmt.
Diese Verlangsamung wird durch Datenremanenz auf dem oder den Flash-Chips verursacht, die zum Speichern der Daten verwendet werden, was erfordert, dass einige der Blöcke mehrmals beschrieben werden.
In einem Flash-Chip befinden sich Datenblöcke, in die geschrieben werden kann. Beim Schreiben kann der Computer nur zwei Dinge tun: Er kann einen gesamten Block löschen oder einige (oder alle) Bits in einem Block von 0 auf 1 ändern.
Einige dieser Blöcke sind jedoch besser als andere, insbesondere bei Flash-Laufwerken mit geringerer Qualität. Wenn neue Daten darauf geschrieben werden, können einige der Bits manchmal direkt nach dem Schreiben von selbst auf 0 zurückgesetzt werden nicht ändern. Wenn Sie also in einen Block schreiben, muss das Betriebssystem überprüfen, ob alle Daten korrekt geschrieben wurden. Wenn dies nicht der Fall ist, muss der Block zwei- oder dreimal wiederholt werden, indem dieselben Daten in denselben Block geschrieben werden bis die Daten bleiben.
Wenn Ihr Computer eine Reihe von Daten auf das Flash-Laufwerk schreibt, finden Sie hier eine (nicht vollständig genaue, aber ausreichend gute) Erklärung, wie dies funktioniert:
Wenn der Computer auf das Laufwerk schreibt, meldet er die Rate, mit der er zum ersten Mal Blöcke auf das Laufwerk schreibt. Da auch frühere Blöcke gleichzeitig umgeschrieben werden müssen, sinkt der Gesamtdurchsatz, der für unbenutzte Blöcke verwendet werden kann, je mehr Umschreibungen ebenfalls erforderlich sind. Somit nimmt die scheinbare Schreibgeschwindigkeit mit der Zeit ab.
quelle
Wenn eine Datei auf ein Laufwerk geschrieben wird, sei es ein Flash-USB-Laufwerk oder eine Festplatte, werden die Daten NICHT / NIE zurückgelesen, um festzustellen, ob sie übereinstimmen. Das würde ewig dauern. Die Überprüfung des Schreibvorgangs erfolgt durch die Hardware (Cyclic Redundancy Check). Wenn ein Fehler auftritt, wird er von der Hardware, die einen Fehler festgestellt hat, an die Anwendung zurückgesendet. Der Stillstand, der auftritt und sich verlangsamt (sogar bis zu einer Pause), wird dadurch verursacht, dass die CPU schneller schreibt, als das Gerät damit umgehen kann. Sie werden dies bei internen Festplatten nicht feststellen. Sie werden nie sehen, was auf einem Windows-Betriebssystem wirklich passiert, aber unter Linux können Sie tatsächlich sehen, dass die CPU angehalten wird, bis die USB-Hardware OK sagt, um fortzufahren
quelle