Перейти до вмісту

SCSI

Матеріал з Вікіпедії — вільної енциклопедії.
Емблема оригінального SE 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
Назва Розрядність шини Частота шини Пропускна спроможність Максимальна довжина кабелю Максимальна кількість пристроїв
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

Стандартизований ANSI в 1986 р. Використовувалася восьмибітова шина, з пропускною здатністю в 3,5 МБайт/сек в асинхронному режимі і 5 МБайт/сек в синхронному режимі. Максимальна довжина кабелю — до 6 метрів. В наш час майже не використовується, можна побачити лише в архаїхчних пристороях.

SCSI Host Bus Adapter (16-bit ISA card)

Цей стандарт був запропонований в 1989 році і існував в двох варіантах — Fast SCSI і Wide SCSI.

Fast SCSI характеризується подвоєною пропускною здатністю (до 10 МБайт/сек).

Wide SCSI на додаток до цього має подвоєну розрядність шини (16 бітів), що дозволяє досягти швидкості передачі 20 МБ/сек. При цьому максимальна довжина кабелю обмежувалася трьома метрами. Також в цьому стандарті була передбачена 32-х бітова версія Wide SCSI, яка дозволяла використовувати два шестнадцятибітових кабелі на одній шині, але ця версія не набула поширення.

Також відомий під назвою 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).

Див. також

[ред. | ред. код]

Посилання

[ред. | ред. код]