Hallo Lothar,
Zu Peter(TOO)
daß hast Du ja gut beschrieben, Dank nochmals für die Mühe.
Aber was meinst du denn ist ein heute realistischer
Übertragungs-Wert für USB-2 ??
Zu Deinen Ausführungen paßt übrigends auch mein weiterer Test
an einem anderen PC mit fast leerer Festplatte, und keine
Programm-Tasks im Hintergrund. Der hatte zwar nur eine 233CPU,
aber da war alles schon mal um einiges schneller.
Aber jetzt zu den Fragen.
Meine eingebaute USB-2 Karte ist eine PCI-Karte mit 4 USB-2
Ausgängen extern, und einem internen Anschluß.
Die sollte eigentlich I.O. sein.
Das Maximum bei USB 1.1 liegt theoretisch, mit nur einem Gerät am Bus, bei 1.2 MByte/S.
Bei USB 2 ist die Berechnung recht kompliziert.
Noch etwas mehr Grundlagen zum USB:
Eigentlich ist das Ganze eine TimeSlice-Verfahren (Zeitschlitz).
Der Host arbeitet mit Frames, welche 1 MilliSekunde lang sind. So ein Frame wird auch Tranaktion genannt.
Die einzelnen Frames werden vom Host noch in „Scheibchen“ unterterteilt und jedem Gerät wird ein solches „Scheibchen“ zugewiesen. Dies kann jetzt vom Host(-Treiber) mehr oder weniger intelligent gemacht werden. Wenn nur ein Gerät angeschlossen ist kann der Host diesem einen Gerät den Ganzen Frame zuteilen, oder halt auch nicht.
Ein Gerät kann nur dann Daten senden, wenn es vom Host dazu aufgefordert wird, dazu wird vom Host dem Gerät ein entsprechender „Antwortschlitz“ zu geteilt.
Wie man bis hierher schon sieht hängt vieles vom Host(-Treiber) ab.
Hinzu kommt, Dass die Bestätigung eines Befehls, frühestens im nächsten Frame erfolgen kann.
Wie du siehst ist es einfach nur die Übertragungsgeschwindigkeit mit 12 MBite/s anzugeben, alles andere ist sehr schwierig und von Fall zu Fall ganz anders.
Da sieht man ja schon, daß die Festplatte wesentlich schneller
ist, wie der Stick.
Das liegt einerseits am eingebauten Controller und andererseits an der unterschiedlichen Technologie von Stick und Platte.
Auffallend ist das die Platte schneller beim Schreiben ist und der Stick ist aber beim Lesen schneller.
Beim Schreiben auf den Disk werden die Daten zuerst direkt in den Disk-Cache geschrieben, dann wird der Kopf positioniert und die Daten können endlich vom Cache auf die Platte kopiert werden. Ist der Cache teilweise gelehrt können sofort weitere Daten vom USB eingelesen werden.
Beim Lesen von der Disk, muss zuerst der Kopf positioniert und die Daten von der Platte in den Cache gelesen werden, bevor diese über USB gesendet werden können.
Bei einem Disk ist ein Cache, zumindest für einen Sektor (üblicherweise 512Byte gross), technisch zwingend nötig. Bei Heutigen Platten sind 1 oder 2 MByte für den Cache üblich, es gibt aber auch Laufwerke mit wesentlich grösserem Cache.
Beim Lesen vom Stick wird nicht einmal ein Cache benötigt, sondern die Daten können direkt vom FLAH-Speicher zum USB übertragen werden.
Beim Schreiben auf den Stick wird es etwas komplizierter. Die Daten müssen zuerst zwischengespeichert werden, da das Schreiben des FLASH-Speichers relativ lange dauert und je nach Algorithmus muss der gleiche Speicherplatz auch mehrmals beschrieben werden.
Hier werden meist nur kleine Zwischenspeicher (einige Hunder bis Kilobyte gross) verwendet.
MfG Peter(TOO)