SCSI
SCSI (англ. Small Computer Systems Interface, традиційно вимовляється сказі) — інтерфейс, розроблений для об'єднання на одній шині різних за своїм призначенням пристроїв, таких як тверді диски, накопичувачі на магнітооптичних дисках, приводи CD, DVD, стримери, сканери, принтери тощо. Раніше мав неофіційну назву Shugart Computer Systems Interface на честь творця Алана Ф. Шугарта.
Теоретично можливий випуск пристрою будь-якого типу на шині SCSI.
Після стандартизації в 1986 році, SCSI почав широко застосовуватися в комп'ютерах Apple Macintosh, Sun Microsystems. У персональних комп'ютерах, сумісних з IBM РС, SCSI не користується такою популярністю у зв'язку з своєю складністю і порівняно високою вартістю, і застосовується переважно в серверах.
SCSI широко застосовується на серверах, високопродуктивних робочих станціях; RAID-масиви на серверах часто будуються на твердих дисках з SCSI-інтерфейсом (хоча в наш час[коли?] на серверах нижнього цінового діапазону все частіше застосовуються RAID-масиви на основі SATA).
Система команд SCSI на рівні програмного забезпечення вживається в єдиних стеках підтримки пристроїв зберігання даних у ряді операційних систем, таких, як Microsoft Windows.
Існує реалізація системи команд SCSI поверх устаткування (контролерів і кабелів) IDE / ATA / SATA, звана ATAPI — ATA Packet Interface. Всі використовувані в комп'ютерній техніці спільні з IDE / ATA / SATA приводи CD / DVD / Blu-Ray використовують цю технологію.
Також система команд SCSI реалізована поверх протоколу USB, що є частиною специфікації класу Mass Storage device [3] [4]. Це дозволяє підключати через інтерфейс USB будь-які сховища даних (від флеш-накопичувачів до зовнішніх жорстких дисків), не розробляючи для них власного протоколу обміну, а замість цього використовуючи наявний в операційній системі драйвер SCSI.
Стандарти
Існує три стандарти SCSI
- SE — англ. single-ended,
- LVD — англ. low-voltage-differential — інтерфейс диференціальної шини низької напруги,
- HVD — англ. high-voltage-differential — інтерфейс диференціальної шини високої напруги, кожен з яких має безліч додаткових і необов'язкових можливостей.
Деякі комбінації можливостей мають власні найменування. Контроллер SCSI може працювати з будь-яким пристроєм, на якому присутній даний інтерфейс (твердий диск, сканер).
Основні реалізації SCSI (у хронологічному порядку):
Назва | Розрядність шини | Частота шини | Пропускна спроможність | Максимальна довжина кабелю | Максимальна кількість пристроїв |
---|---|---|---|---|---|
SCSI | 8 біт | 5 МГц | 5 МБайт/сек | 6 м | 8 |
Fast SCSI | 8 біт | 10 МГц | 10 МБайт/сек | 1,5-3 м | 8 |
Wide SCSI | 16 біт | 10 МГц | 20 МБайт/сек | 1,5-3 м | 15 |
Ultra SCSI | 8 біт | 20 МГц | 20 МБайт/сек | 1,5-3 м | 5-8 |
Ultra Wide SCSI | 16 біт | 20 МГц | 40 МБайт/сек | 1,5-3 м | 5-8 |
Ultra2 SCSI | 8 біт | 40 МГц | 40 МБайт/сек | 12 м | 8 |
Ultra2 Wide SCSI | 16 біт | 40 МГц | 80 МБайт/сек | 12 м | 15 |
Ultra3 SCSI | 16 біт | 40 МГц DDR | 160 МБайт/сек | 12 м | 15 |
Ultra-320 SCSI | 16 біт | 80 МГц DDR | 320 МБайт/сек | 12 м | 15 |
SCSI-1
Стандартизований ANSI в 1986 р. Використовувалася восьмибітова шина, з пропускною здатністю в 3,5 МБайт/сек в асинхронному режимі і 5 МБайт/сек в синхронному режимі. Максимальна довжина кабелю — до 6 метрів. В наш час майже не використовується, можна побачити лише в архаїхчних пристороях.
SCSI-2
Цей стандарт був запропонований в 1989 році і існував в двох варіантах — Fast SCSI і Wide SCSI.
Fast SCSI характеризується подвоєною пропускною здатністю (до 10 МБайт/сек).
Wide SCSI на додаток до цього має подвоєну розрядність шини (16 бітів), що дозволяє досягти швидкості передачі 20 МБ/сек. При цьому максимальна довжина кабелю обмежувалася трьома метрами. Також в цьому стандарті була передбачена 32-х бітова версія Wide SCSI, яка дозволяла використовувати два шестнадцятибітових кабелі на одній шині, але ця версія не набула поширення.
SCSI-3
Також відомий під назвою Ultra SCSI. Запропонований в 1992 році. Пропускна здатність шини склала 20 МБайт/сек для восьмибітової шини і 40 МБайт/сек — для шестнадцятибітної. Максимальна довжина кабелю так і залишилася рівною трьом метрам.
Пристрої, що відповідають цьому стандарту, відомі своєю чутливістю до якості елементів системи (кабель, термінатори).
Ultra-2 SCSI
Запропонований в 1997 році. Використовує LVDS. Максимальна довжина кабелю — 12 метрів, пропускна здатність — до 80 МБайт/сек.
Ultra-3 SCSI
Також відомий під назвою Ultra-160 SCSI. Запропонований в кінці 1999 року. Має подвоєну пропускну здатність (в порівнянні з Ultra-2 SCSI), яка склала 160 МБайт/сек. Збільшення пропускної здатності вдалося досягти за рахунок одночасного використання фронтів і зрізів імпульсів.
У цей стандарт було додано використання CRC (Cyclic Redundancy Check), виправлення помилок.
Ultra-320 SCSI
Розвиток стандарту Ultra-3 з подвоєною швидкістю передачі даних (до 320 МБайт/сек).
Ultra-640 SCSI
Також відомий під назвою Fast Ultra-320. Запропонований на початку 2003 року. Подвоєна пропускна здатність (640 МБайт/сек). У зв'язку з різким скороченням максимальної довжини кабелю незручний для використання з більш ніж двома пристроями, тому не набув широкого поширення.
Протокол команд SCSI
В термінології SCSI взаємодія йде між ініціатором і цільовим пристроєм. Ініціатор посилає команду цільовому пристрою, який потім відправляє відповідь ініціаторові.
Команди SCSI посилаються у вигляді блоків опису команди (Command Descriptor Block, CDB). Довжина кожного блоку може складати 6, 10, 12 або 16 байт. У останніх версіях SCSI блок може мати змінну довжину. Блок складається з однобайтового коду команди і параметрів команди.
Після отримання команди цільовий пристрій повертає значення 00h у разі успішного отримання, 02h у разі помилки або 08h у випадку, якщо пристрій зайнятий. У випадку, якщо пристрій повернув помилку, ініціатор зазвичай посилає команду запиту стану. Пристрій повертає Key Code Qualifier (KCQ).
Всі команди SCSI діляться на чотири категорії: N (non-data), W (запис даних від ініціатора цільовим пристроєм), R (читання даних) і B (двосторонній обмін даними). Всього існує порядка 60 різних команд SCSI, з яких найчастіше використовуються:
- Test unit ready — перевірка готовності пристрою.
- Inquiry — запит основних характеристик пристрою.
- Send diagnostic — вказівка пристрою провести самодіагностику і повернути результат.
- Request sense — повертає код помилки попередньої команди.
- Read capacity — повертає ємкість пристрою.
- Format Unit Read (4 варіанти) — читання.
- Write (4 варіанти) — запис.
- Write and verify — запис і перевірка.
- Mode select — установка параметрів пристрою.
- Mode sense — повертає поточні параметри пристрою.
Кожен пристрій на SCSI-шині має як мінімум один номер логічного пристрою (LUN — англ. Logical Unit Number). У деяких складніших випадках один фізичний пристрій може представлятися набором LUN.
Для можливості роботи декількох незалежних цільових пристроїв SCSI, в UNIX-подібних операційних системах застосовується адресація з довільно призначається драйвером ідентифікатора цільового пристрою (SCSI target id) та номери LUN, сконфигурированного на ньому. Сімейство стандартів SCSI містить у собі стандартів рівня апаратури, стандарти SAM і SPC, що описують найголовніші команди і структури типу розгорнутої інформації про помилку, і специфічних для класу пристроїв стандартів.
Одним з останніх є MMC — Multimedia Command Set, повністю описує систему команд приводів CD / DVD / Blu-Ray, у тому числі їх різновидів з можливістю запису. Деякі приводи, наприклад, виробництва Asus і Pioneer, використовують конкуруючий стандарт Mt. Fuji, що відрізняється від MMC в деяких нюансах.
SCSI кабелі
Внутрішні SCSI кабелі це звичайно стрічкові кабелі (шлейфи), що мають 50 або 68 (в широкому варіанті SCSI) контактів. Зовнішні кабелі як правило екрановані і мають конектори на кінцях.
Термінування
Паралельні шини SCSI завжди повинні термінувати з обох боків для забезпечення нормального функціонування. Переважна більшість контролерів і багато пристроїв мають можливість автотермінування через використання вбудованого термінатора.
Подальший розвиток
- Для передачі команд протоколу SCSI через IP-мережі використовується мережевий протокол iSCSI, затверджений IETF як стандартний в 2003 році.
- Для заміни паралельної шини запропонована технологія підключення пристроїв по послідовній шині Serial Attached SCSI (SAS).
Див. також
Посилання
- Технічний комітет T10 (стандарти SCSI)
- Віртуальна бібліотека документів про SCSI
- IP-over-SCSI
- SCSI-контролери Ultra160(рос.)