Asrock XFast USB Tool

Fl3X

Grand Admiral Special
Mitglied seit
04.10.2007
Beiträge
3.112
Renomée
54
Standort
Mitten im Ruhrpott
Hallo!

Ich habe gestern durch Zufall das Asrock Tool XFast entdeckt. Das Tool soll USB2.0 und USB3.0 Ports auf vielen Asrock Boards beschleunigen. Da mein 785G Board nur über USB2.0 Ports verfügt und ein auslagern von Daten dementsprechend Zeit in Anspruch nimmt habe ich das Tool gleich mal getestet.

Dazu habe ich eine 700MB Datei von einer externen USB2.0 Festplatte (Seagate FreeAgent GoFlex USB2.0) auf den Desktop und anschließend wieder mit geändertem Namen zurück kopiert.

Normalwerte:
22.9 MB/s lesen
23.5 MB/s schreiben

Werte mit aktiviertem Asrock XFast:
38.1MB/s lesen
38.1MB/s schreiben

Das Asrock-Tool bringt fast eine 70% Steigerung in der Datenübertragungsrate.

Wie machen die das ?

Lt. Internetquellen hat Asrock den original recht schwachen USB-Treiber deutlich aufgepeppt. Während der Standard USB-Treiber SingleThreaded ist ist der Asrock-Treiber MultiThreaded was die Effizienz deutlich erhöht. Vermutlich wird auch noch eine Cacheinstanz hinzugefügt was man anhand der Peak-Werte vermuten könnte.

€dit:

Testsystem:
AMD Phenom II 940BE
Asrock A785GXH/128M (785G / SB710)
4 GB DDR2
Seagate FreeAgent GoFlex USB2.0

Messwerte der jeweiligen Modi:

ATTO Benchmark (Normal / Turbo):
xfastnormal9mi8.png
xfastturboamqr.png


AS Benchmark (Normal / Turbo):
Aus Zeitgründen habe ich auf 4K und 4K64Thrd verzichtet
xfastnormalas8823.png
xfastturboas4m69.png


Und auch mal den HDTach Bench:
xfastnormalhdtachd83y.png

xfastturbohdtachymly.png


Kompatible Boards:
Auf der Asrock Homepage findet man eine Liste der kompatiblen Mainboards. Hier werden auch ältere Boards unterstützt. Leider gilt dies nicht für Fremdhersteller.

FAZIT:
Es lohnt sich. Bisher habe ich keine Nachteile feststellen können.
Selten habe ich durch eine kleine Software einen solchen Schub bemerken können!
 
Zuletzt bearbeitet:
Solche Werte bekommt man eigentlich nur hin wenn man die Daten komprimiert überträgt. Schau mal auf deine CPU-Last beim kopieren, diese müsste eigentlich mit XFast höher sein.
 
Zuletzt bearbeitet:
Die CPU-Last bleibt auf ähnlichem Niveau. Komprimieren glaube ich aber nicht da sich ja auch schon auf der Festplatte vorhandene Daten schneller auslesen lassen.
Asrock spuckt auf deren Seite auch nicht viel brauchbares dazu aus.
 
PCTreiber.net vermutet, dass ein Schreibcache verwendet wird und die realen Transferraten daher niedriger liegen: Klick

Aber ich nehmen an, es werden einfach alle tieferen C-States der CPU blockiert. Das geht dann zu Lasten der Leistungsaufnahme.
 
Vielleicht wird USB einfach irgendwie übertaktet oder größere Datenpakete versendet?
 
Vielleicht wird USB einfach irgendwie übertaktet oder größere Datenpakete versendet?
Aber dann müsste auch das jeweilige Endgerät mithalten können. Und bei USB ist viel Murks am Markt.

Ich denke das wäre auf Seiten des Systems sicher möglich, aber würde ansonsten zu zuviel Ausfällen führen.
 
http://www.simplisoftware.com/Public/index.php?request=HdTach
^ mal nen bench auf der usb platte wär nett.

Flaschenhals ist ja der USB2.0 Standart der maximal um die 25 MB/s erlaubt. Deaktiveren der Prüfsummen etc wäre auch denkbar, auch das der Cache der Platten oder ein extra virtueller Speichercache genutzt wird.

Dies sollte man aber rausbekommen wenn man die Festplatten-Aktivität anschaut nachdem der Kopiervorgang beendet wurde, dann sollte Platte ja noch "nachlaufen". Bei 700MB wird dies aber nicht so sehr ins Gewicht fallen. Bei 10GB Dateien sieht dies bestimmt nen wenig anders aus, auch was die dauerhafte Übertragungsgeschwindigkeit angeht.

Das einfachste ist echt die Daten einzulesen -> zu packen -> über USB 2.0 zu jagen -> entpacken. Das passiert alles im Speicher on the fly.

Ähnliches gibts auch bei PHP und Webserver. Hier verwendet man gzip. Der Server generiert die Seite mittels PHP, packt den Output und schiebt die Daten übers Netz, dadruch wird erreicht das weniger Traffic anfällt. Nachteil dieser Methode höherer RAM-Verbrauch beim Server und Client zum Anzeigen der Seite.
 
Das einfachste ist echt die Daten einzulesen -> zu packen -> über USB 2.0 zu jagen -> entpacken.
Das müsste dann aber vom Endgerät explizit unterstützt werden und das ist bei den meisten Massenspeichern eher unwahrscheinlich.
Flaschenhals ist ja der USB2.0 Standart der maximal um die 25 MB/s erlaubt.
Wenn man nicht gerade einen ATi Chipsatz nutzt, sind durchaus 35 MB/s möglich und das nicht nur als Spitze, sondern dauerhaft.
 
So, ich habe den Eingangspost etwas erweitert und ein paar Messwerte hinzugefügt.
Eine Komprimierung fällt mMn aus, das bestätigt der AS Bench. Außerdem müsste dann ja der USB-Controller der Festplatte ein Hardwarekomprimierung unterstützen was mir jedoch unbekannt ist.
Bei den AS Zugriffszeiten beim Schreiben funkt wohl der Windowscache dazwischen, anders kann ich mir die recht guten Schreiblatenzen nicht erklären.

Lt. ATTO sieht es wohl so aus als würde die Software die Blöcke zusammenfassen und dann sequentiell schreiben. Das erklärt aber immer noch nicht die um 15MB höhere Schreibrate im Turbo-Modus. Evtl. wird da wirklich etwas "übertaktet" oder Prüfsummen weggelassen.

€:Eingangspost aktualisiert!
 
Zuletzt bearbeitet:
laut Wiki:

Datenraten [Bearbeiten]

USB erlaubt es einem Gerät, Daten mit 1,5 Mbit/s, 12 Mbit/s oder mit 480 Mbit/s zu übertragen. Diese Raten basieren auf dem Systemtakt der jeweiligen USB-Geschwindigkeit und stellen die physikalische Datenübertragungsrate dar. Die Toleranzen werden für „USB 2.0“-Geräte und für die älteren USB-1.0-/1.1-Geräte getrennt behandelt. Der tatsächliche Datendurchsatz liegt – durch Protokoll-Overhead – darunter. Im USB-Standard ist eine maximale theoretische Datenlast bei High-Speed unter idealen Bedingungen von 49.152.000 Byte/s (Isochronous Mode)[11] beziehungsweise 53.248.000 Byte/s (Bulk-Mode)[12] angegeben. Dazu kommt die Verwaltung der Geräte, so dass bei aktuellen Systemen eine nutzbare Datenrate in der Größenordnung von 320 Mbit/s (40 MB/s) bleibt. Bei älteren Systemen wurde diese durch eine unzureichende Anbindung des USB-Chips an den Systembus zusätzlich reduziert.

Wenn man das so liest scheinen die doch die Bandbreite der USB-Anschlüsse zu erhöhen gepaart mit Bulk oder Isochronous Modus.

Wenn dies so ist ist es ja nix andres als nen Cache der gefüllt wird und dann wie ihr schon schreibt in Blöcken, das ganze übertragen wird. Ob hier Asrock noch andere Optimierungen vorgenommen hat was die Anbindung des USB-Busses angeht, ist die Frage.

Quelle: http://de.wikipedia.org/wiki/USB_2.0#.C3.9Cbertragungsmodi
 
Lt. diversen Quellen haben sie den Treiber auf Multithreading optimiert und somit die Effizienz verbessert. Ein reiner Cache kann es ja nicht sein weil dann nur die Schreibgeschwindigkeit betroffen wäre.
 
Ich würde eher darauf tippen, dass es mit den HALT States zusammen hängt. Diese werden wohl einfach bei Transfers unterbunden.

Die machen teils enorme Unterschiede aus. Vor allem bei der AMD Plattform:
Der C1E-Modus lässt sich auch im BIOS-Setup vieler Mainboards aktivieren – leider oft mit Nebenwirkungen: Bei manchen Interfaces sacken dann die Datentransferraten ab. Manchmal geht es um verschmerzbare Unterschiede von wenigen MByte/s, doch bei einem Mainboard fiel die Datentransfergeschwindigkeit beim Zugriff auf eine externe Festplatte via USB 2.0 von über 30 auf 13 MByte/s. AMD konnte bisher nicht erklären, wo die Ursache für diese Probleme liegt und wie sie sich möglicherweise beseitigen lassen.
Quelle: http://heise.de/-833732

Intel Chipsätze sind nicht ganz so stark betroffen, aber auch dort machen sich die HALT States bemerkbar. Vor allem der C5 und C6.
 
Bei meinem System ist z.Zt. jegliche Energiesparmaßnahme abgeschaltet von daher schließe ich das eigentlich aus.
Wäre nicht schlecht wenn das mal Jemand mit einem Intel basierenden Board testen könnte.

€:Test mit aktiviertem C1E + C&Q:
ATTO
XFast "normal: Lesen.-/Schreiben etwa 3MB/s weniger
XFast "turbo": Lesen.-/ Schreiben etwa 4-10MB/s weniger, je nach Blöckgröße
AS
XFast "normal": Lesen.-/Schreiben etwa 3MB/s weniger
XFast "turbo": Lesen.-/Schreiben etwa 2MB/s weniger

Auffällig ist dass mehr CPU Last anliegt (bei 800MHz), die CPU Taktet jedoch nicht hoch.

Ein Aufheben der Energiesparmaßnahmen kann es den Werten nach also nicht sein.
 
Zuletzt bearbeitet:
Mir ist beim Benchen einer Externen aufgefallen,immer wenn ich ein Explorerfenster geöffnet habe,ist der Durchsatz der Platte um einige MB gestiegen....
 
Asrock hat eh immer solche speziellen Tools(?) / Features auf Lager deren Entwickler sind wohl einige der Besten. Gerade die neuen Mainboards glänzen mit Ausstattung, Verarbeitung und Extras für eine angenehmen Preis.

Es wäre auch möglich die Paketheader zu manipulieren bzw bestimmte Informationen nicht zu prüfen oder erst garnichr in den Header des Pakets zuschreiben. So eine Art Container/Tunnel zu öffnen, dann nur die Daten zu übertragen ohne zusätzliche Header. Am Ende wird dann der Container/Tunnel geschlossen. Das würde eine Menge an überflüssigen Daten sparen, da die ganze Datei ja eh an des gleiche Endgerät gehen.

Im Grunde ist ja jedes Datenpaket gleich. Header , Daten , Footer. Die Daten können Sie in der Form ja nicht verändern, ausser durch packen der Daten. Das einzigste was noch bleibt sind Header und Footer wo sich was einsparen lässt.

Nen bissl offtopic mit gleichen Ergebnis:

Ich hab ein Programm (basierend auf "tar pipe") für meinen Linux Server was mir erlaubt per netcat und tar, alle Daten über das Netztwerk zu übertragen. Dabei werden die UserIDs und alle Rechte beibehalten. Funktionsweise ist recht simple. netcat hört auf nem bestimmten Port auf dem Zielserver , auf dem Quellserver übergebe ich die Daten an tar und diese Ausgabe an netcat.

Es wird also ontheefly, die Dateien in ein tar zusammengefasst und dann sofort verschickt. Auf dem Zielserver wird dann onthefly wieder entpackt.

Problem ist nur das keinerlei Paketprüfung vorgenommen wird, da der Traffic über UDP läuft. Kommt es also zu Paketverlusten oder Beschädigungen, bricht es ab oder die Zieldatei enthält Fehler. (Einen nachträglicher MD5-Check könnte man anfügen)

Man spart hier ehtliche Informationen. Wer schon mal viele kleine Dateien kopiert hat, weiß welcher Unterschied es macht. Man könnte die Daten sogar noch in ein tar.gz packen, was nochmal einen Boost geben würde aber die CPU mehr belasten würde.

http://compsoc.dur.ac.uk/~djw/tarpipe.html

Dafür bedarfs es keinerlei Hardwareunterstützung.
 
Asrock hat eh immer solche speziellen Tools(?) / Features auf Lager deren Entwickler sind wohl einige der Besten.

[...]

Ich hab ein Programm (basierend auf "tar pipe") für meinen Linux Server was mir erlaubt per netcat und tar, alle Daten über das Netztwerk zu übertragen.
[...]
Es wird also ontheefly, die Dateien in ein tar zusammengefasst und dann sofort verschickt. Auf dem Zielserver wird dann onthefly wieder entpackt.
[...]
Dafür bedarfs es keinerlei Hardwareunterstützung.

Ääääh ja, genau. Abgesehen von den bestimmt nicht besten Ingenieuren (AsRock bezahlt ihren Taiwanesen nicht mehr als andere Firmen auch, warum sollten dann die besten da hin gehen oder bleiben?) braucht man bei jeder Protokoll-Änderung auf PC-Seite auch eine passende Gegenstelle, die damit was anfangen kann. Und die Gegenstelle ist in dem Fall der USB-Controller am anderen Ende, in der USB-Festplatte. Und somit hat sich das erledigt, weil an dem Ende der Leitung die selbe Hardware wie vorher sitzt, und die kann eben nur Standard-USB.

Hier mal einpaar kleine Hinweise, auch wenn ich die genaue Funktionsweise selber nicht kenne:

1) Das ist KEINE Software von AsRock, sondern von FNET httx://wwx.gotofnet.com/ Das Programm wird auch anderen Geräten beigelegt, zum Beispiel LaCie- und Hitachi-Festplatten. Einzeln verkauft heisst es wohl "FNet TurboHDD USB"

2) Die Software basiert auf einem Filtertreiber, siehe httx://wwx.computextaipei.com.tw/en_US/product/info.html?id=7473256166FF813C1598D0A26E502021

PS: Ich kann garnicht glauben, daß ich extra wegen diesem Post hier meinen Account zum ersten mal seit 2003 wieder benutze hahaha
 
Du kennst den Eremit in: Das Leben des Brian?

Oh... nachdem ich jetzt mein Schweigegelübde nach 8 Jahren gebrochen habe, werde ich jetzt gesteinigt?

Aber zum Thema: Da FNET behauptet Patente darauf zu haben bzw. eingereicht zu haben, dachte ich man findet da eventuell etwas genaueres. Aber entweder ist deren Antrag noch nicht veröffentlicht, oder ich hab nix von denen gefunden. Wenn es nicht für eine andere taiwanische Firma (Silicon Motion) wäre (auch mit anderer Addresse in einer ganz anderen Gegend), hätte ich fast gesagt, das 2009 beantragte und erst letzten Monat gewährte US-Patent 7966433 könnte des Rätsels Lösung sein:

"Method for enhancing performance of data access between a personal computer and a USB Mass Storage, associated personal computer, and storage medium storing an associated USB Mass Storage driver"

Darin ist beschrieben, wie Zugriffe auf Daten > 64kB bei den Standardtreibern unnötig verlangsamt werden:

When a USB Mass Storage such as a USB flash drive or a USB flash disk is electronically connected to a host device such as a personal computer, the host device typically controls the USB Mass Storage with some drivers originally bundled with or
provided by an operating system (OS) of the host device. According to the related art, data access between the host device and the USB Mass Storage should comply with some USB storage transmission specifications. More particularly, in a situation where
the host device accesses the USB Mass Storage with a command instructing a data amount that is greater than 64 kilobytes, for example, the data amount is equal to one megabytes, a driver of an upper layer first generates 16 input/output request packages
(IO request packages, IRPs), and a driver of an intermediate layer then generates 48 IRPs correspondingly, and then the data to be accessed is divided into 16 portions to be carried by 16 IRPs out of the 48 IRPs with each portion having 64 kilobytes.
Therefore, the above operations cause unnecessary waste of a user's time.

Warum diese Aufteilung normalerweise gemacht wird weiss ich nicht, so genau hab ich mich da nicht reingelesen. Aber der Trick bei dem Patent ist wohl, daß diese vielen Daten-Anfragen des OS automatisch beantwortet werden, dann zusammengfefasst zu einer größeren Abfrage, und dann erst an das USB-Device geschickt. Es wird also Overhead abgebaut, was (neben caching etc.) auch das einzig realistisch vorstellbare ist...

Keine Ahnung, ob das nun das selbe ist, wie der XFast USB-Treiber macht. Hab leider keinen USB-Analyzer zur Hand, wo man sich den Traffic ohne und mit Treiber anschauen könnte...
 
Hm, hört sich aber eher an als wenn man das verallgemeinern könnte für sämtliche Chipsätze.
Leider werden da aber nicht alle Unterstützt sondern nur ausgewählte.
Kann natürlich sein, dass das Marketing/Management hier wegen Lizenzen Einschränkungen gemacht hat.
Jedenfalls funktioniert mein Board (870 Extreme3 REV" von AsRock damit nicht (siehe "Motherboard Support List").
http://www.asrock.com/Feature/XFastUSB/index.asp

Könnte andererseits auch nochmal ein Hinweis darauf sein, dass die beim 870 Extreme3 ordentlich geschlampt haben, da ich hier große Probleme mit dem USB 3.0 Controller habe. Die Verbindung zur externen Festplatte wird da häufig getrennt.
 
Hallo,

Muß das Thema mal wieder asugraben.
Ich habe massiv Probleme mit dem Tool.
Seit dem das Tool installiert ist kann ich keine USB-Datenspeicher mehr einstöpseln ohne das der Rechner einfriert.
Egal ob USB-Stick oder Festplatte.
sobald ich drauf zugreife friert der Rechner ein und lässt sich nur durch abziehen des Datenspeichers oder durch nen Kaltstart wieder zum Arbeiten überreden.


Hier erst mal das System:
Mainboard: H61DE/S3
CPU: Pentium G630
RAM: 1x4GB
Graka: 8800GTS/G92
OS: Vista32 HP

Google hat nichts sinnvolles ausgespuckt und USB-Probleme scheinen bei dem Board keine bekannt zu sein.
Habe mehrere USB-Sticks und 2 Festplatten ausprobiert an sämtlichen Ports, überall das selbe Problem.
 
Das ging mir mit dieses Asrocktools genauso.
Entweder waren die praktisch nutzlos oder haben das System destabilisiert.

Die beste Lösung die ich kenne ist > Systemsteuerung > Programme > entfernen *noahnung*
 
Hab es sauber über die Systemsteuerung deinstalliert, keine Besserung.
Hab ne neue Version runter geladen, keine Besserung.
Bin grade dabei den Rechner komplett neu aufzusetzen...
Vielleicht hilft das:[
 
Also ich nutze das Tool immer noch ohne Probleme.
 
Bin grade dabei den Rechner komplett neu aufzusetzen...
Vielleicht hilft das:[
Kanonen und Spatzen... Warum hast du nach der SW Deinstallation nicht im GM die USB Devices/Roothubs entfernt nund neu erkennen lassen, so daß die echten Systemtreiber (MS) sich installieren können?
 
Das hatte ich gemacht, unter anderem...

Controller aus der Systemsteuerung gelöscht, neustart, die windowseigenen installieren lassen
-> keine Besserung

Controller aus der Systemsteuerung gelöscht, neustart, die von der CD installiert
-> keine Besserung

Hab dann noch bissl dran rum gespielt und nichts hat geholfen.
Bin grade dabei die letzten Updates drüber zu ziehen, meiner lahmen Internetverbindung sei Dank.

Bis jetzt funktioniert alles und hab alles wie beim letzten Anlauf gemacht, nur eben ohne den XFast USW-Kram.

Mag sein das er auf anderen Rechnern gut läuft, zumindest in dieser Konstallation scheint er aber etwas Probleme zu machen.
 
Zurück
Oben Unten