Jaka jest rzeczywista prędkość SATA 3?

47

Google twierdzi, że działa z prędkością 6 Gb / s. Przepustowość wynosi 600 MB / s. 600 MB / s to 4,8 Gb / s.

Czy to oznacza, że ​​przepustowość wynosi 6 Gb / s, ale faktyczna przepustowość wynosi 4,8 Gb / s?

Space Ghost
źródło
1
Taka jest różnica w świecie teoretycznym a rzeczywistym. Specyfikacje są osiągane w laboratoriach, a nie na komputerach osobistych.
Moab
11
@Moab Nie, to nie jest powód. Moja odpowiedź i trociny wyjaśniają prawdziwy powód.
MariusMatutiae
@MariusMatutiae, TAK, „przepustowość zostałaby zdefiniowana jako uśredniona rzeczywista szybkość transmisji danych, którą można uzyskać w rzeczywistej praktyce”. właściwie to, co powiedziałem.
Moab
6
@Moab: Nie, 600 MB / s jest teoretyczną górną granicą tego, co można osiągnąć, w tym samym sensie, w którym 6 Gb / s jest absolutnym maksimum. Spadek wydajności spowodowany użyciem rzeczywistego sprzętu i rzeczywistych danych nie jest uwzględniony w żadnym z oszacowań.
MariusMatutiae

Odpowiedzi:

81

Czy to oznacza, że ​​przepustowość wynosi 6 Gb / s, ale faktyczna przepustowość wynosi 4,8 Gb / s?

Tak. Interesujące jest zrozumienie, dlaczego.

Chociaż dane są przesyłane z prędkością 6 Gb / s, są kodowane w celu przeciwdziałania dwóm powszechnym defektom w telekomunikacji, stronniczości prądu stałego i odzyskiwaniu zegara . Często osiąga się to za pomocą specjalnego algorytmu kodowania zwanego kodowaniem 8b / 10b . Nie jest to jedyny algorytm kodowania, który został opracowany w tym celu (istnieje również kodowanie Manchester), ale stał się de facto standardem przesyłania danych SATA.

W (trafnie nazwanym) kodowaniu 8b / 10b osiem bitów sygnału zastępuje się 10 bitami (sygnał + kod). Oznacza to, że z 6 Gb kanał wysyła w sekundę, tylko 8/10 = 4/5 to sygnał. 4/5 z 6 Gb to 4,8 Gb, co z kolei wynosi 600 MB. To właśnie degraduje kanał 6 Gb / s do zaledwie 600 MB / s kanału.

Korzyści uzyskane dzięki kompensacji odchylenia prądu stałego i umożliwieniu odzyskiwania zegara z nadwyżką rekompensują tę niewielką degradację.

MariusMatutiae
źródło
2
Używanie „ zaledwie 600 MB / s” jest dość mylące. Byłem całkowicie zdezorientowany, dopóki nie przypomniałem sobie, że to 6 bitów . Wszyscy wiemy nie jest SATA 6 GB na sekundę, ale 6 giga bitów na sekundę
Cole Johnson
5
@ColeJohnson Jesteś zdezorientowany: poprawnie stwierdziłem, że SATA to 6 Gb / s = 6 gigabitów na sekundę, ale ze względu na obecność kodowania używa się tylko 600 MB / s = 600 megabajtów na sekundę.
MariusMatutiae
Czy możesz opisać korzyści wynikające z unikania odchylenia prądu stałego, a także ekstrakcji zegara (w przeciwieństwie do, powiedzmy, par różnicowych z osobnym zegarem)?
ζ--
4
@ hexafraction Tak, jeśli zadasz nowe pytanie.
MariusMatutiae
1
@DarioP Mam wrażenie, że pozostawiono to ćwiczenie czytelnikowi.
Mindwin,
14

Czy to oznacza, że ​​przepustowość wynosi 6 Gb / s, ale faktyczna przepustowość wynosi 4,687 Gb / s?

Nie, przepustowość byłaby zdefiniowana jako uśredniona rzeczywista szybkość transmisji danych, którą można uzyskać w rzeczywistej praktyce.

600 MB na sekundę jest nadal nieprzetworzoną liczbą transferu, ale jest to użyteczna szybkość ze względu na kodowanie na szynie SATA w celu osiągnięcia równowagi DC i minimalnej aktywności sygnału. Co osiem bitów danych jest rozszerzanych do 10 bitów w celu transmisji kablem SATA. Tak więc prędkość rzeczywistego drutu 6,00 Gb / s jest skutecznie zmniejszana do 4,8 Gb / s dla rzeczywistych danych.

Zobacz artykuł w Wikipedii na temat kodowania 8b / 10b, aby uzyskać szczegółowe informacje na ten temat. Zauważ, że wszystkie wersje SATA, tj. Od wersji 1.0, używały kodowania 8b / 10b.

trociny
źródło
1
Dokonałbym tego rozróżnienia jako coś w rodzaju szybkości sygnału = 6 Gb / s, szybkości transmisji danych = 4,8 Gb / s, przepustowości = cokolwiek, co wyjdzie z napędu w prawdziwym świecie.
hobbs
1

Coś podobnego dzieje się z siecią. Ze względu na obciążenie protokołu / fizyczność 10 bitów dla 8 bitów czystych danych, okazuje się, że pranie jest w stosunku 1:10 zamiast 1: 8, jeśli chodzi o tłumaczenie G lub Mbps na rzeczywistą G lub MBps.

Czyli Sata 3 to 6 Gb / s? Spodziewaj się maksymalnie 600 MB / s. Ethernet przy 100 Mb / s? 10 MB / s. I tak dalej.

SirDaShadow
źródło
0

Zachowaj ostrożność podczas czytania „Bps” (BYTES na sekundę) vs. „bps” (bitów na sekundę). Bps jest ogólnie pokazywane 1/8 wartości bps.

Potem sprowadza się to do tego, czy ludzie używają dziesiętnych M i G w porównaniu do binarnych M i G dla megabajtów i gigabajtów.

W zwykłej matematyce dziesiętnej 1 MB / s wynosiłby 1 000 000 bajtów / sekundę, ale jeśli autor specyfikacji używa matematyki binarnej / komputerowej, zmieniłby się na 1 048 576 bajtów / sekundę.

Aby uzyskać więcej informacji na temat różnych specyfikacji SATA, przejdź bezpośrednio do właścicieli specyfikacji na http://www.sata-io.org/

Rob Gagnon
źródło
1
To wyjaśnia, dlaczego pierwotne pytanie PO stwierdziło, że 600 MB / s wynosi 4,687 Gb / s, podczas gdy w rzeczywistości wynosi 4,8 Gb / s. OP konwertowane z mebibajtów na sekundę na gibibity na sekundę, zamiast z megabajtów na sekundę do gigabajtów na sekundę. Jednak tak naprawdę nie odpowiada na pytanie.
Ajedi32