
Pada bagian
terakhir dari seri Pengantar SSD, kami berbicara tentang sejarah penampilan disk. Bagian kedua akan bercerita tentang antarmuka interaksi dengan drive.
Komunikasi antara prosesor dan periferal terjadi sesuai dengan konvensi standar yang disebut antarmuka. Perjanjian ini mengatur tingkat interaksi fisik dan perangkat lunak.
Antarmuka - satu set alat, metode dan aturan interaksi antara elemen-elemen sistem.
Implementasi fisik antarmuka memengaruhi parameter berikut:
- bandwidth saluran komunikasi;
- jumlah maksimum perangkat yang terhubung secara bersamaan;
- jumlah kesalahan yang terjadi.
Antarmuka disk dibangun pada
port I / O , yang merupakan kebalikan dari
I / O melalui memori dan tidak memakan ruang di ruang alamat prosesor.
Port Paralel dan Serial
Menurut metode pertukaran data, port input-output dibagi menjadi dua jenis:
Seperti namanya, port paralel mengirimkan kata mesin yang terdiri dari beberapa bit sekaligus. Port paralel adalah cara termudah untuk bertukar data, karena tidak memerlukan solusi sirkuit yang rumit. Dalam kasus yang paling sederhana, setiap bit kata mesin dikirim sepanjang jalur sinyal sendiri, dan dua jalur sinyal layanan digunakan untuk umpan balik:
Data siap dan
Data diterima .
Port paralel, sekilas, skala sempurna: lebih banyak garis sinyal - lebih banyak bit ditransmisikan pada suatu waktu dan, karenanya, throughput yang lebih tinggi. Namun demikian, karena peningkatan jumlah garis sinyal, interaksi interferensi muncul di antara mereka, yang mengarah ke distorsi pesan yang dikirim.
Port serial adalah kebalikan dari paralel. Data dikirim sedikit demi sedikit, yang mengurangi jumlah total garis sinyal, tetapi menyulitkan pengontrol I / O. Pengendali pemancar menerima kata mesin pada suatu waktu dan harus mengirimkan sedikit demi sedikit, dan pengontrol penerima pada gilirannya harus menerima bit dan menyimpannya dalam urutan yang sama.
Sejumlah kecil jalur sinyal memungkinkan untuk meningkatkan frekuensi pengiriman pesan tanpa gangguan.
SCSI
Small Computer Systems Interface (SCSI) muncul kembali pada tahun 1978 dan pada awalnya dirancang untuk mengintegrasikan perangkat berbagai profil ke dalam satu sistem. Spesifikasi SCSI-1 disediakan untuk koneksi hingga 8 perangkat (bersama-sama dengan controller), seperti:
- pemindai
- tape drive (pita);
- drive optik;
- disk drive dan perangkat lain.
SCSI pada awalnya disebut Shugart Associates System Interface (SASI), tetapi komite standardisasi tidak akan menyetujui nama untuk perusahaan, dan setelah seharian melakukan brainstorming, nama Small Computer Systems Interface (SCSI) muncul. “Ayah” SCSI, Larry Boucher, menyiratkan bahwa singkatan tersebut akan diucapkan “seksi,” tetapi Dal Allan membaca “ssuzzy”. Selanjutnya, pengucapan "dongeng" tertanam kuat dalam standar ini.
Dalam terminologi SCSI, perangkat yang terhubung dibagi menjadi dua jenis:
- pemrakarsa;
- perangkat target.
Inisiator mengirim perintah ke perangkat target, yang kemudian mengirim respons ke inisiator. Inisiator dan perangkat target terhubung ke bus SCSI umum, throughput yang dalam standar SCSI-1 adalah 5 MB / s.
Topologi bus umum yang digunakan membebankan sejumlah batasan:
- di ujung bus diperlukan perangkat khusus - terminator;
- bandwidth bus dibagi antara semua perangkat;
- jumlah maksimum perangkat yang terhubung secara bersamaan terbatas.
Perangkat di bus diidentifikasi oleh nomor unik yang disebut
ID Target SCSI . Setiap unit SCSI dalam sistem diwakili oleh setidaknya satu perangkat logis, yang pengalamatannya terjadi berdasarkan nomor unit logis unik (LUN) dalam perangkat fisik.
Perintah dalam SCSI dikirim sebagai Command Descriptor
Blocks (CDBs), yang terdiri dari kode operasi dan parameter perintah. Standar ini menjelaskan lebih dari 200 tim, dibagi menjadi empat kategori:
- Wajib - harus didukung oleh perangkat;
- Opsional - dapat diterapkan;
- Khusus vendor - digunakan oleh produsen tertentu;
- Usang - perintah usang.
Di antara banyak tim, hanya tiga di antaranya yang wajib untuk perangkat:
- UNIT UJI SIAP - cek kesiapan perangkat;
- REQUEST SENSE - meminta kode kesalahan dari perintah sebelumnya;
- INQUIRY - permintaan untuk karakteristik utama perangkat.
Setelah menerima dan memproses perintah, perangkat target mengirim kode status kepada penggagas yang menjelaskan hasil eksekusi.
Peningkatan lebih lanjut dari SCSI (spesifikasi SCSI-2 dan Ultra SCSI) memperluas daftar perintah yang digunakan dan meningkatkan jumlah perangkat yang terhubung hingga 16, dan kecepatan pertukaran data di bus hingga 640 MB / s. Karena SCSI adalah antarmuka paralel, peningkatan frekuensi pertukaran data dikaitkan dengan penurunan panjang kabel maksimum dan menyebabkan ketidaknyamanan dalam penggunaan.
Dimulai dengan standar Ultra-3 SCSI, dukungan untuk "plug panas" telah muncul - menghubungkan perangkat ketika daya menyala.
SSD SCSI pertama yang diketahui adalah M-Systems FFD-350, dirilis pada 1995. Disk itu berbiaya tinggi dan tidak tersebar luas.
SCSI paralel saat ini bukan antarmuka pemasangan disk yang populer, tetapi set perintah masih banyak digunakan di antarmuka USB dan SAS.
ATA / PATA
Antarmuka
ATA (Advanced Technology Attachment), juga dikenal sebagai
PATA (Parallel ATA), dikembangkan oleh Western Digital pada tahun 1986. Nama pemasaran standar IDE (Integrated Drive Electronics - “elektronik terintegrasi dalam drive”) menekankan inovasi penting: pengontrol drive dibangun ke dalam drive, bukan pada kartu ekspansi yang terpisah.
Keputusan untuk menempatkan pengontrol di dalam drive menyelesaikan beberapa masalah sekaligus. Pertama, jarak dari drive ke controller menurun, yang secara positif mempengaruhi karakteristik drive. Kedua, pengontrol bawaan "dipertajam" hanya untuk jenis drive tertentu dan, karenanya, lebih murah.
ATA, seperti SCSI, menggunakan metode I / O paralel, yang mempengaruhi kabel yang digunakan. Untuk menghubungkan disk menggunakan antarmuka IDE, diperlukan kabel 40-core, yang disebut juga loop. Spesifikasi selanjutnya menggunakan loop 80-inti: lebih dari setengahnya dibumikan untuk mengurangi gangguan pada frekuensi tinggi.
Pada kabel ATA, ada dua hingga empat konektor, satu di antaranya terhubung ke motherboard, dan sisanya ke drive. Saat menghubungkan dua perangkat dengan satu loop, salah satunya harus dikonfigurasi sebagai
Master , dan yang kedua sebagai
Slave . Perangkat ketiga hanya dapat dihubungkan dalam mode baca-saja.
Posisi jumper menentukan peran perangkat tertentu. Istilah Master dan Slave sehubungan dengan perangkat tidak sepenuhnya benar, karena sehubungan dengan controller semua perangkat yang terhubung adalah Budak.
Inovasi khusus dalam ATA-3 adalah pengenalan
Teknologi Pemantauan Diri ,
Analisis dan Pelaporan (SMART) . Lima perusahaan (IBM, Seagate, Quantum, Conner, dan Western Digital) bergabung untuk membakukan teknologi penilaian kesehatan drive.
Dukungan untuk solid state drive hadir dengan versi standar keempat, yang dirilis pada tahun 1998. Versi standar ini memberikan nilai tukar data hingga 33,3 MB / s.
Standar ini mengedepankan persyaratan ketat untuk loop ATA:
- loop harus rata;
- panjang loop maksimum 18 inci (45,7 cm).
Loop pendek dan lebar tidak nyaman dan mengganggu pendinginan. Semakin sulit untuk meningkatkan frekuensi transmisi dengan setiap versi standar berikutnya, dan ATA-7 memecahkan masalah secara radikal: antarmuka paralel digantikan oleh serial. Setelah itu, ATA memperoleh kata Parallel dan dikenal sebagai PATA, dan versi ketujuh dari standar menerima nama yang berbeda - Serial ATA. Versi SATA dimulai dengan satu.
SATA
Serial ATA (SATA) standar diperkenalkan pada 7 Januari 2003 dan memecahkan masalah pendahulunya dengan perubahan berikut:
- port paralel diganti dengan serial;
- lebar 80-core digantikan oleh 7-core;
- topologi bus umum telah digantikan oleh koneksi point-to-point.
Terlepas dari kenyataan bahwa standar SATA 1.0 (SATA / 150, 150 MB / s) sedikit lebih cepat daripada ATA-6 (UltraDMA / 130, 130 MB / s), transisi ke metode pertukaran data yang berurutan adalah "mempersiapkan tanah" untuk meningkatkan kecepatan.
Enam belas jalur sinyal untuk transmisi data dalam ATA telah digantikan oleh dua pasangan bengkok: satu untuk transmisi dan satu untuk penerimaan. Konektor SATA dirancang agar lebih tahan terhadap beberapa koneksi ulang, dan spesifikasi SATA 1.0 memungkinkan Hot Plug.
Beberapa pin pada drive lebih pendek dari yang lainnya. Ini dilakukan untuk mendukung Hot Swap. Selama proses penggantian, perangkat "kehilangan" dan "menemukan" garis-garis dalam urutan yang telah ditentukan.
Sedikit lebih dari setahun kemudian, pada bulan April 2004, versi kedua dari spesifikasi SATA dirilis. Selain mempercepat hingga 3 Gb / s, SATA 2.0 memperkenalkan teknologi
Native Command Queuing (NCQ). Perangkat dengan dukungan NCQ dapat secara mandiri mengatur urutan pelaksanaan perintah yang diterima untuk mencapai kinerja maksimum.
Selama tiga tahun berikutnya, Kelompok Kerja SATA bekerja untuk meningkatkan spesifikasi yang ada, dan konektor ringkas Slimline dan micro SATA (uSATA) muncul di versi 2.6. Konektor ini adalah salinan kecil dari konektor SATA asli dan dirancang untuk drive optik dan disk kecil di laptop.
Terlepas dari kenyataan bahwa bandwidth SATA generasi kedua sudah cukup untuk hard drive, SSD membutuhkan lebih banyak. Pada Mei 2009, versi ketiga dari spesifikasi SATA dirilis dengan peningkatan bandwidth hingga 6 Gb / s.
Perhatian khusus diberikan kepada SSD dalam edisi SATA 3.1. Konektor Mini-SATA (mSATA) telah ditambahkan untuk menghubungkan drive solid-state ke laptop. Tidak seperti Slimline dan usata, konektor baru tampak seperti PCIe Mini, meskipun tidak kompatibel secara elektrik dengan PCIe. Selain konektor baru, SATA 3.1 membanggakan kemampuan untuk mengantri perintah TRIM dengan perintah baca dan tulis.
Perintah TRIM memberi tahu SSD tentang blok data yang tidak membawa muatan. Sebelum SATA 3.1, mengeksekusi perintah ini menyebabkan pembilasan cache dan menjeda operasi I / O, diikuti dengan eksekusi perintah TRIM. Pendekatan ini menurunkan kinerja disk selama operasi penghapusan.
Spesifikasi SATA tidak mengimbangi peningkatan cepat dalam kecepatan akses ke solid-state drive, yang menyebabkan munculnya pada tahun 2013 sebuah kompromi yang disebut SATA Express dalam standar SATA 3.2. Alih-alih menggandakan bandwidth SATA lagi, pengembang menggunakan PCIe bus yang tersebar luas, yang kecepatannya melebihi 6 Gb / s. Drive berkemampuan SATA Express telah memperoleh faktor bentuknya sendiri yang disebut M.2.
SAS
Saingan standar SCSI dengan ATA juga tidak berdiri diam dan hanya satu tahun setelah kemunculan Serial ATA, pada tahun 2004, itu merosot menjadi antarmuka serial. Nama antarmuka baru adalah
Serial Attached SCSI (SAS).
Meskipun SAS mewarisi set instruksi SCSI, perubahannya signifikan:
- antarmuka serial
- Kabel daya 29-core;
- koneksi point-to-point
Terminologi SCSI juga telah diturunkan. Pengontrol masih disebut inisiator, dan perangkat yang terhubung adalah target. Semua perangkat target dan pemrakarsa membentuk domain SAS. Di SAS, bandwidth koneksi tidak tergantung pada jumlah perangkat dalam domain, karena setiap perangkat menggunakan saluran khusus sendiri.
Menurut spesifikasi, jumlah maksimum perangkat yang terhubung secara bersamaan di domain SAS melebihi 16 ribu, dan bukannya SCSI ID,
World-Wide Name (WWN) digunakan untuk mengatasi.
WWN adalah pengidentifikasi unik dengan panjang 16 byte, analog dari alamat MAC untuk perangkat SAS.
Terlepas dari kesamaan antara konektor SAS dan SATA, standar ini tidak sepenuhnya kompatibel. Namun, drive SATA dapat dihubungkan ke konektor SAS, tetapi tidak sebaliknya. Kompatibilitas antara disk SATA dan domain SAS disediakan menggunakan SATA Tunneling Protocol (STP).
Versi pertama dari standar SAS-1 memiliki bandwidth 3 Gb / s, dan yang paling modern, SAS-4, meningkatkan angka ini sebanyak 7 kali: 22,5 Gb / s.
PCIe
Peripheral Component Interconnect Express (PCI Express, PCIe) - antarmuka serial untuk transfer data, yang muncul pada tahun 2002. Pengembangan dimulai oleh Intel, dan kemudian ditransfer ke organisasi khusus - PCI Special Interest Group.
Antarmuka PCIe serial tidak terkecuali dan menjadi kelanjutan logis dari PCI paralel, yang dirancang untuk menghubungkan kartu ekspansi.
PCI Express secara signifikan berbeda dari SATA dan SAS. Antarmuka PCIe memiliki sejumlah baris. Jumlah garis sama dengan kekuatan dua dan berkisar dari 1 hingga 16.
Istilah "jalur" dalam PCIe tidak berarti jalur sinyal tertentu, tetapi saluran komunikasi dupleks penuh yang terpisah, yang terdiri dari jalur sinyal berikut:
- penerimaan + dan penerimaan-;
- transmisi + dan transmisi-;
- empat konduktor bumi.
Jumlah garis PCIe secara langsung mempengaruhi bandwidth maksimum koneksi. Standar PCI Express 4.0 modern memungkinkan Anda untuk mencapai 1,9 GB / s pada satu baris, dan 31,5 GB / s saat menggunakan 16 baris.
"Nafsu makan" SSD tumbuh sangat cepat. Baik SATA dan SAS tidak punya waktu untuk meningkatkan bandwidth mereka untuk mengimbangi SSD, yang menyebabkan munculnya SSD dengan koneksi PCIe.
Meskipun kartu Add-In PCIe kacau, PCIe mendukung hot swapping. Pin PRSNT pendek (sekarang - sekarang) memungkinkan Anda untuk memastikan bahwa kartu dimasukkan sepenuhnya ke dalam slot.
SSD yang terhubung melalui PCIe diatur oleh
Spesifikasi Antarmuka Antarmuka Pengendali Host Memori Non-Volatile yang terpisah dan diwujudkan dalam banyak faktor bentuk, tetapi kita akan membicarakannya di bagian selanjutnya.
Drive jarak jauh
Saat membuat gudang data besar, ada kebutuhan untuk protokol yang memungkinkan Anda untuk menghubungkan drive yang berada di luar server. Solusi pertama dalam bidang ini adalah
Internet SCSI (iSCSI), yang dikembangkan oleh IBM dan Cisco pada tahun 1998.
Gagasan iSCSI sederhana: perintah SCSI dibungkus dalam paket TCP / IP dan dikirim ke jaringan. Meskipun koneksi jarak jauh, ilusi dibuat untuk klien bahwa drive terhubung secara lokal. Jaringan Area Penyimpanan berbasis iSCSI (SAN) dapat dibangun di atas infrastruktur jaringan yang ada. Menggunakan iSCSI secara signifikan mengurangi biaya mengatur SAN.
ISCSI memiliki opsi "premium" -
Fiber Channel Protocol (FCP). SAN menggunakan FCP dibangun di atas tautan serat optik khusus. Pendekatan ini memerlukan peralatan jaringan optik tambahan, tetapi berbeda dalam stabilitas dan throughput yang tinggi.
Ada banyak protokol untuk mengirim perintah SCSI melalui jaringan komputer. Namun, hanya ada satu standar yang menyelesaikan masalah yang berlawanan dan memungkinkan Anda untuk mengirim paket IP pada bus SCSI - IP-over-SCSI .
Sebagian besar protokol SAN menggunakan perintah SCSI yang diatur untuk mengelola drive, tetapi ada pengecualian, seperti
ATA sederhana
melalui Ethernet (AoE). Protokol AoE mengirimkan perintah ATA dalam paket Ethernet, tetapi drive ditampilkan sebagai SCSI dalam sistem.
Dengan munculnya drive NVM Express, iSCSI dan FCP tidak lagi memenuhi permintaan SSD yang berkembang pesat. Dua solusi muncul:
- penghapusan bus PCI Express di luar server;
- Pembuatan protokol NVMe over Fabrics.
Penghapusan bus PCIe terkait dengan pembuatan peralatan switching yang kompleks, tetapi tidak membuat perubahan pada protokol.
NVMe over Fabrics telah menjadi alternatif yang baik untuk iSCSI dan FCP. NVMe-oF menggunakan tautan serat optik dan set perintah NVM Express.
DDR-T
Standar iSCSI dan NVMe-oF memecahkan masalah menghubungkan remote drive sebagai lokal, sementara Intel sebaliknya dan membawa drive lokal sedekat mungkin ke prosesor. Pilihannya jatuh pada slot DIMM di mana RAM terhubung. Bandwidth maksimum saluran DDR4 adalah 25 GB / s, yang secara signifikan melebihi kecepatan bus PCIe. Inilah bagaimana SSD Memori Persisten Intel® Optane ™ DC terbentuk.
Untuk menghubungkan drive ke slot DIMM, protokol
DDR-T diciptakan, secara fisik dan elektrik kompatibel dengan DDR4, tetapi membutuhkan pengontrol khusus yang melihat perbedaan antara bar memori dan drive. Kecepatan akses ke drive kurang dari ke RAM, tetapi lebih dari ke NVMe.
DDR-T hanya tersedia dengan Intel® Cascade Lake atau prosesor yang lebih baru.
Kesimpulan
Hampir semua antarmuka telah jauh dari transfer data serial ke paralel. Kecepatan SSD tumbuh dengan cepat, Kemarin, SSD adalah sesuatu yang baru, tetapi saat ini NVMe tidak lagi mengejutkan.
Di Selectel Lab kami, Anda dapat menguji SSD dan drive NVMe sendiri.