Berapa kecepatan sebenarnya dari SATA 3?

47

Google mengatakan itu berjalan pada 6 Gb / s. Throughputnya adalah 600MB / s. 600MB / s sama dengan 4.8Gb / s.

Apakah ini berarti bahwa bandwidth adalah 6Gb / s tetapi throughput sebenarnya adalah 4,8Gb / s?

Space Ghost
sumber
1
Itulah perbedaan teoretis vs dunia nyata. Spesifikasi dicapai di laboratorium dan bukan pada PC konsumen.
Moab
11
@ Moab Tidak, bukan itu alasannya. Jawaban saya, dan serbuk gergaji, menjelaskan alasan sebenarnya.
MariusMatutiae
@MariusMatutiae, YES, "throughput akan didefinisikan sebagai rata-rata kecepatan data aktual yang dapat Anda peroleh dalam praktik aktual." cukup banyak apa yang saya katakan.
Moab
6
@ Moab: Tidak, 600MB / s adalah batas atas teoritis dari apa yang dapat Anda capai, dalam arti yang sama dengan 6Gb / s adalah maksimum absolut. Degradasi kinerja karena penggunaan perangkat keras dan data nyata tidak termasuk dalam salah satu estimasi.
MariusMatutiae

Jawaban:

81

Apakah ini berarti bahwa bandwidth adalah 6Gb / s tetapi throughput sebenarnya adalah 4,8Gb / s?

Ya itu. Sangat menarik untuk memahami alasannya.

Sementara data sebenarnya dikirim pada 6Gb / s, itu dikodekan untuk menangkal dua cacat umum dalam telekomunikasi, bias DC dan Pemulihan Jam . Ini sering dilakukan dengan menggunakan algoritma pengkodean khusus yang disebut 8b / 10b encoding. Ini bukan satu-satunya algoritma pengkodean yang telah dirancang untuk tujuan ini, (misalnya ada juga pengkodean Manchester), tetapi telah menjadi standar de facto untuk transfer data SATA.

Dalam pengkodean (diberi nama tepat) 8b / 10b, delapan bit sinyal diganti dengan 10 bit (sinyal + kode). Ini berarti bahwa, dari 6Gb saluran mengirimkan dalam satu detik, hanya 8/10 = 4/5 adalah sinyal. 4/5 dari 6Gb adalah 4,8Gb, yang pada gilirannya sama dengan 600MB. Inilah yang menurunkan saluran 6Gb / s menjadi hanya (??) 600MB / s saluran.

Keuntungan diperoleh dengan mengkompensasi bias DC dan memungkinkan untuk Pemulihan Jam lebih dari mengimbangi degradasi kecil ini.

MariusMatutiae
sumber
2
Menggunakan " hanya 600MB / s" cukup menyesatkan. Saya benar-benar bingung sampai saya ingat itu 6 giga bit . Kita semua tahu SATA bukan 6 gigabytes per detik, tetapi 6 giga bit per detik
Cole Johnson
5
@ ColeJohnson Anda bingung: Saya dengan benar menyatakan bahwa SATA adalah 6Gb / s = 6 Gigabits per detik, tetapi itu, karena adanya pengkodean, hanya 600 MB / s = 600 Mega Bytes yang digunakan.
MariusMatutiae
Bisakah Anda menggambarkan manfaat dari menghindari bias DC, serta ekstraksi jam (sebagai lawan dari, katakanlah, pasangan diferensial dengan jam terpisah)?
ζ--
4
@hexafraction Ya, jika Anda mengajukan pertanyaan baru.
MariusMatutiae
1
@ DarioP saya merasa itu dibiarkan sebagai latihan untuk pembaca.
Mindwin
14

Apakah ini berarti bahwa bandwidth adalah 6Gb / s tetapi throughput sebenarnya adalah 4,687Gb / s?

Tidak, throughput akan didefinisikan sebagai tingkat data aktual rata - rata yang dapat Anda peroleh dalam praktik aktual.

600MB per detik masih merupakan angka transfer yang baku, tetapi merupakan tingkat yang dapat digunakan karena pengkodean pada bus SATA untuk mencapai keseimbangan DC dan jumlah minimum aktivitas sinyal. Setiap delapan bit data diperluas menjadi 10 bit untuk transmisi pada kabel SATA. Jadi kecepatan kawat 6.00Gbit per detik secara efektif dikurangi menjadi 4.8Gbits per detik untuk data aktual.

Lihat artikel wikipedia pada 8b / 10b_encoding untuk rincian tentang topik itu. Perhatikan bahwa semua versi SATA, yaitu sejak 1.0, telah menggunakan penyandian 8b / 10b.

serbuk gergaji
sumber
1
Saya akan membuat perbedaan sebagai sesuatu seperti sinyal rate = 6Gbit / s, data rate = 4.8Gbit / s, throughput = apa pun yang Anda dapatkan dari drive di dunia nyata.
hobbs
1

Hal serupa terjadi dengan jaringan. Karena protokol overhead / 10bits fisik untuk 8 bit data murni, ternyata pembasuhan rasio 1:10 daripada 1: 8 ketika datang untuk menerjemahkan G atau Mbps ke G nyata atau MBps.

Jadi Sata 3 adalah 6Gbps? Harapkan maksimum 600MB / s. Ethernet pada 100Mbps? 10MB / s. Dan seterusnya.

SirDaShadow
sumber
0

Hati-hati saat membaca "Bps" (BYTES per detik) vs. "bps" (bit per detik). Bps umumnya ditampilkan 1/8 nilai bps.

Setelah ini turun ke apakah orang menggunakan M desimal dan G versus biner M dan G untuk megabita dan gigabita.

Dalam matematika desimal biasa, 1 MB / s akan menjadi 1.000.000 Bytes / detik, tetapi jika pembuat spec menggunakan matematika biner / komputer, itu akan berubah menjadi 1.048.576 Bytes / detik.

Untuk detail lebih lanjut tentang spesifikasi SATA yang berbeda, buka langsung ke pemilik spesifikasi di http://www.sata-io.org/

Rob Gagnon
sumber
1
Ini menjelaskan mengapa pertanyaan awal OP menyatakan bahwa 600MB / s sama dengan 4.687Gb / s, padahal sebenarnya sama dengan 4.8 Gb / s. OP dikonversi dari mebibytes per detik ke gibibit per detik, alih-alih dari megabita per detik menjadi gigabit per detik. Tidak benar-benar menjawab pertanyaan itu.
Ajedi32