empy schrieb:
Wie ist nun die finale und eindeutig korrekte Bezeichnung
Offiziell für die Öffentlichkeit, die ganz einfachen Namen nur mit Geschwindigkeit.
Untendrunter sind Implementierungsdetails und sehr technisch. Und die meisten Hersteller nehmen das auch nicht so genau. Aber im Grunde ist das ähnlich wie PCIe.
In der USB-Welt gilt:
Geschwindigkeit pro Leitungspaar:
- Gen 1 = 5 GBit/s
- Gen 2 = 10 GBit/s
- Gen 3 = 20 GBit/s
- Gen 4 = 40 GBit/s
Eine
Lane ist definiert als 1 Leitungspaar hin und 1 Leitungspaar zurück.
Deshalb ist ganz klassisches USB3 5G über USB-A Gen 1 mit 1 Lane. In einer Schreibweise wie bei PCIe: Gen 1x1
- USB3 5G
meint wird implementiert als Gen 1x1
- USB3 10G
meint wird implementiert als Gen 2x1
- USB3 20G
meint wird implementiert als Gen 2x2
- USB4 20G
meintwird implementiert als Gen 2x2
- (wobei formal, die Anforderungen an Signalqualität und die Signale anders/weniger sind als bei USB3 Gen 2), weshalb die Angabe "Gen 2x2" alleine keinen Sinn macht, sondern sich immer auf einen Major-Standard (USB3, USB4) beziehen sollte.
- USB4 40G
meint wird implementiert als Gen 3x2
- USB4 80G
meint wird implementiert als Gen 4x2
- USB4 80G - asymmetisch 120G/40G lässt sich damit nicht mehr ausdrücken.
- Weil hier 3 Leitungspaare in eine Richtung und 1 in die andere genutzt werden. Dass kann man nicht mehr mit Lanes (= 1 hin, 1 zurück) ausdrücken. Zeigt einmal mehr, warum das irrelevant sein sollte für die meisten Konsumenten. Führ nur später zu Verwirrungen.
Allerdings gibt es formal die anderen Konfigurationen, wie 2x 5G als Gen 1x2. Gäbe auch 10G. Und ganz theoretisch wäre es möglich das ein USB3 20G Host (weil das sind die einzigen USB3 Hosts mit 2 Lanes) mit einem USB3 20G Gerät das macht, wenn die Leitung zu fragil ist um 10G pro Leitungspaar zu schaffen. In der Praxis habe ich das aber noch nicht gesehen. Und es ist immer nur entweder ein transienter Zustand, während dem Verbindungsaufbau oder als Reaktion auf einen Defekt. Genau wie DP auch nur mit einem Leitungspaar noch arbeiten kann, dann auf 1/4 der normalen Geschwindigkeit. Wird aber nur passieren wenn 3 Leitungspaare im Kabel durchtrennt sind, der Rest vom Kabel aber noch geht. Das ist nichts was man als Gerätespezifikationen angeben sollte. Gleiches bei PCIe: Du kannst eine Gen 4 Karte mit einem Riser-Kabel in einen Gen 5 Slot stecken und kriegst evtl nur Gen 3, weil der Riser zu schlecht ist für Gen 4. Und die Lanes gehen nur so viele wie das Minimum das alle beteiligten können. Aber bei deinem Gerät das Gen 4x16 kann würde man nie auf die Idee kommen noch hintendran "kann auch Gen 3x16, Gen 3x8, Gen 3x4, Gen 3x2 ..." zu schreiben.
Die vollen USB Spec-Versionen: Wie gesagt wie Auflagen eines Buches. Neue Sachen kommen erst ab einer gewissen Version dazu. Deshalb gibt es formal USB3 Gen 2x2 erst ab dem USB 3.2 Standard. Während es Gen 1x1 von USB3.0 an gab, nur nicht unter dem Namen (die Bezeichnungen Gen und x[N] wurden mit 3.1 eingeführt. Aber diese Namen sind auch ohne die Auflage eindeutig. In einer neuen Auflage wird nie etwas widersprüchlich benannt werden. Also dass 2 Namen vertauscht werden oder ähnliches. Deshalb sollten sich die Leute die Sub-Versionen (=Auflagen) gar nicht erst merken.
Wann auch immer du USB3 und Gen2x2 siehst, beschreibt das USB3 mit 10G auf 2 Lanes. Alle anderen Angaben sind nur Prosa. Und da das Auflagen sind die immer die alte Auflage ablösen, gibt es formal die alten Auflagen nicht mehr, weshalb jede Referenz zu "USB 3.1" falsch wäre (außer du sagst explizit sowas wie "ich habe das damals nach der USB 3.1 Spezifikation gebaut". Aber da die fast identisch sind zu einer bestimmten Geschwindigkeit macht das auch nur Sinn anzugeben, wenn man über extreme Feinheiten aus dem Standard redet).
Ganz offiziell, im Standard, werden die Lanes immer mit angegeben (also Gen 1x1, Gen2x1). Umgangssprachlich, was die Hersteller angeben, wird dann das "x1" oft weggelassen und wir haben so einen Scheiß wie "USB 3.1 Gen 2" dass offensichtlich USB3 10G meint, aber es auf 4 verschiedene Weisen entgegen dem Standard angibt.
Auch wenn ich verstehen kann, dass man interpretieren können will, was der Hersteller für einen Mist schreibt. Am schnellsten ordentlich kriegen wir es, wenn der Hersteller ständig gefragt wird "könnt ihr auch die offiziellen, korrekten Angaben machen?".
empy schrieb:
Wenn er schreiben würde: USB 20Gbps, dann könnte es doch USB 3.2 Gen 2×2 oder aber auch USB4 Gen 2×2 sein!?
Nein. Weil USB3 und USB4 historisch so gewachsen sind und das verwirrend ist, wurde beschlossen USB3 20G zu opfern. Und "USB 20G" meint immer und ausschließlich USB4. Das ist genau die beste Möglichkeit das verständlicher zu machen. Du killst was sich überlappt und verwirrt. Und wenn es ausgestorben ist ist alles viel einfacher. Weil eine höhere Geschwindigkeitsangabe immer garantiert, dass die niedrigeren Geschwindigkeiten unterstützt werden. Da USB4 20G viel fortschrittlicher ist und weniger empfindlich was Kabel angeht, ist USB3 20G da eine Sackgasse für die es sich nicht lohnt mehr Verwirrung zu stiften. Zumal es bisher nur NVMe SSDs für USB3 20G gibt. Und die per PCIe noch besser laufen würden mit weniger Entwicklungsaufwand und weniger Sonderfällen, wo etwas mit einem integrierten Laufwerk geht aber nicht mit einem Externen (Firmwareupdates. Die offiziellen Befehle zum sicher Löschen, Verwalten, Recovern der SSDs).
Und ja USB4 ist wesentlich flexibler, universeller als USB3 20G. Das wird aber auch damit erreicht, das USB4 nur noch ein Container ist. Alles was du damit überträgst, ist entweder IP/Netzwerk, DP, PCIe oder USB3. Wirklich schneller als USB3 Geräte wird man also nur wenn auch intern dann PCIe genutzt wird. Aktuell sind alle USB4 Hubs noch auf USB3 10G limitiert. Dass heißt von den 40G hat man genau nichts, wenn man nur USB3 Geräte dran anschließt. Die teilen sich alle noch die selben USB3 10G.
Und bisher gibt es keine reinen USB4 20G Controller, genauso wie es keine TB3 20G Controller gab. Die sind so nah an USB4 40G dran, das jeder Hersteller einfach USB4 40G entwickelt. Könnte man auf einer billigeren Platine verbauen wenn man es auf 20G drosselt, aber deshalb gibt es das kaum. Und die Komplexität und der Preis steigt hauptsächlich wegen PCIe.
Aber das ist auch der große Vorteil: wie viele externe Gerätetypen kennst du, die mehr als 10G nutzen können, aber nicht in Wirklichkeit ein PCIe Gerät sind, dass man genauso intern im PC verbauen könnte und nur mit einem Adapter-Chip in ein Gehäuse gesetzt wird? Und die USB3 Adapter Chips sind Geräte spezisch. Der eine Chip kann nur NVMe nach USB3 übersetzen. Der andere nur SATA, der 3. nur LAN. Mit USB4+PCIe ist das universell. Du kannst jeden beliebigen Gerätetyp den es mit PCIe gibt mit einem universellen USB4 Controller als externes Gerät rausbringen. Keine zusätzliche Entwicklung um da irgendwas zu USB3 zu übersetzen, mit zusätzlichen Treibern und Verlust von Geschwindigkeit und Features durch die Übersetzung.
Und für die Rückwärtskompatibilität ohne PCIe kann man die diversen Übersetzer die es schon für die langsameren USB3 Geschwindigkeiten mit drauf werfen und muss nichts neu entwickeln.
Hier die selbe Samsung 970 Evo einmal an USB3 20G:
Code:
[Read]
SEQ 1MiB (Q= 8, T= 1): 1948.179 MB/s [ 1857.9 IOPS] < 4297.41 us>
SEQ 128KiB (Q= 32, T= 1): 1605.460 MB/s [ 12248.7 IOPS] < 2609.49 us>
RND 4KiB (Q= 32, T=16): 209.360 MB/s [ 51113.3 IOPS] < 9990.33 us>
RND 4KiB (Q= 1, T= 1): 26.890 MB/s [ 6564.9 IOPS] < 152.08 us>
[Write]
SEQ 1MiB (Q= 8, T= 1): 1919.326 MB/s [ 1830.4 IOPS] < 4362.91 us>
SEQ 128KiB (Q= 32, T= 1): 1645.417 MB/s [ 12553.5 IOPS] < 2545.91 us>
RND 4KiB (Q= 32, T=16): 229.069 MB/s [ 55925.0 IOPS] < 9138.23 us>
RND 4KiB (Q= 1, T= 1): 43.292 MB/s [ 10569.3 IOPS] < 94.41 us>
und einmal USB4 20G:
Code:
[Read]
SEQ 1MiB (Q= 8, T= 1): 1898.573 MB/s [ 1810.6 IOPS] < 4411.07 us>
SEQ 128KiB (Q= 32, T= 1): 1803.746 MB/s [ 13761.5 IOPS] < 2323.21 us>
RND 4KiB (Q= 32, T=16): 1124.256 MB/s [ 274476.6 IOPS] < 1857.18 us>
RND 4KiB (Q= 1, T= 1): 45.559 MB/s [ 11122.8 IOPS] < 89.78 us>
[Write]
SEQ 1MiB (Q= 8, T= 1): 1750.654 MB/s [ 1669.6 IOPS] < 4777.07 us>
SEQ 128KiB (Q= 32, T= 1): 1748.929 MB/s [ 13343.3 IOPS] < 2393.61 us>
RND 4KiB (Q= 32, T=16): 1083.851 MB/s [ 264612.1 IOPS] < 1931.02 us>
RND 4KiB (Q= 1, T= 1): 133.029 MB/s [ 32477.8 IOPS] < 30.68 us>
Die Latenzen, besonders wenn viel gleichzeit passiert sind mit USB4 um Welten besser. Die Geschwindigkeit noch nicht mal. Weil niemand das gesamte Protokoll umwandelt. Also Programme und Spiele von laufen lassen oder Verwenden wie intern verbaut ist USB4 der Weg. Und das ging halt eben mit dem selben Chip für alles mögliche andere. Wie 10G Netzwerk Adapter. Die es für USB3 noch gar nicht gibt.