SCSI
Perintah Protokol SCSI

Selain banyak implementasi perangkat keras yang berbeda, standar SCSI juga mencakup serangkaian definisi perintah yang ekstensif. Arsitektur perintah SCSI awalnya ditentukan untuk bus SCSI paralel tetapi telah dijalankan dengan sedikit perubahan untuk digunakan dengan iSCSI dan serial SCSI. Teknologi lain yang menggunakan set perintah SCSI termasuk ATA Packet Interface, USB Mass Storage class dan FireWire SBP-2.
Dalam terminologi SCSI, komunikasi terjadi antara initiator dan sebuah target. initiator mengirimkan perintah ke target, yang kemudian merespons. Perintah SCSI dikirim dalam sebuah Command Descriptor Block (CDB). CDB terdiri dari kode operasi satu bita diikuti oleh lima atau lebih bita yang berisi parameter khusus perintah.
Di akhir urutan perintah, target mengembalikan bita kode status, seperti 00h untuk sukses, 02h untuk error (disebut Check Condition), atau 08h untuk sibuk. Ketika target mengembalikan Check Condition sebagai tanggapan atas perintah, pemrakarsa biasanya kemudian mengeluarkan perintah SCSI Request Sense untuk mendapatkan key code qualifier (KCQ) dari target. Check Condition dan Request Sense sequence melibatkan protokol SCSI khusus yang disebut sebuah Contingent Allegiance Condition.
Ada empat kategori perintah SCSI: N (non-data), W (writing data dari initiator hingga target), R (reading data), dan B (bidirectional). Ada total sekitar 60 perintah SCSI yang berbeda, dengan yang paling umum digunakan adalah:
Test unit ready: permintaan perangkat untuk melihat jika sudah siap untuk transfer data
Inquiry: Mengembalikan informasi perangkat dasar.
Request sense: Pengembalian setiap kode yang salah dari perintah sebelumnya yang mengembalikan status kesalahan.
Send diagnostic and Receive diagnostic results: menjalankan tes sederhana atau tes khusus yang didefinisikan pada halaman diagnostik
Start/Stop unit: Memutar disk ke atas dan ke bawah, atau memuat/mengeluarkan media (CD, tape, dll.).
Read capacity: Mengembalikan kapasitas penyimpanan
Format unit: menyiapkan media penyimpanan untuk digunakan. Dalam disk, format level rendah akan terjadi. Beberapa penggerak pita akan menghapus pita tersebut sebagai tanggapan atas perintah ini
SCSI Read format capacities: Mengambil data kapasitas perangkat
Read (empat varian): Membaca data dari perangkat
Write (empat varian): Menulis data ke perangkat
Log sense: Menghasilkan informasi terkini dari halaman log.
Mode sense: Mengembalikan parameter perangkat terkini dari halaman mode
Mode select: Mengatur perangkat di halaman mode.
Setiap perangkat di bus SCSI diberikan nomor atau ID identifikasi SCSI yang unik. Perangkat dapat mencakup beberapa unit logis, yang dialamatkan oleh logical unit number (LUN). Perangkat sederhana hanya memiliki satu LUN, perangkat yang lebih kompleks mungkin memiliki beberapa LUN.
Sebuah "akses langsung" (tipe Cakram yaitu) perangkat penyimpanan terdiri dari sejumlah blok logis, biasanya disebut dengan istilah Logical Block Address (LBA). LBA setara dengan 512 bita penyimpanan. Penggunaan LBAs telah berkembang dari waktu ke waktu dan empat varian perintah yang berbeda diberikan untuk membaca dan menulis data. Perintah Read(6) dan Write(6) berisi alamat LBA 21-bit. Perintah Read(10), Read(12), Read Long, Write(10), Write(12), dan Write Long semuanya mengandung sebuah alamat 32-bit LBA ditambah berbagai pilihan parameter lainnya.
Sebuah "akses sekuensial" (misalnya tipe-pita) perangkat yang tidak memiliki kapasitas tertentu karena biasanya tergantung pada panjang pita, yang tidak diketahui secara pasti. Pembacaan dan Penulisan pada perangkat jalur akses sekuensial terjadi pada posisi saat ini, bukan di LBA tertentu. Ukuran blok pada perangkat akses sekuensial dapat menjadi tetap atau bervariasi, tergantung pada perangkat tertentu. Perangkat Tape seperti 9-track tape setengah inci, DDS (4 mm kaset bentuknya mirip dengan DAT), Exabyte, dll.