Standard SCSI

Co to jest SCSI?


    W 1979 r. firma Shugart opracowała interfejs przeznaczony do podłączania dysków twardych w małych komputerach - Shugart Associates Systems Interface - SASI. Był to 8-bitowy asynchroniczny interfejs równoległy z transferem 1,5 MB/s. W połowie 1986 r. interfejs ten został rozszerzony i zatwierdzony przez Komitet X3T9.2 ANSI (Amerykański Narodowy Instytut Standardów) jako Small Computer System Interface - SCSI - Interfejs Systemowy Małych Komputerów SCSI (wym. "skazi"). W późniejszym okresie interfejs ten był wykorzystywany nie tylko do podłączania dysków twardych, ale też napędów taśmowych, CD-ROM, napędów dysków magnetooptycznych, drukarek, skanerów, urządzeń telekomunikacyjnych i innych urządzeń peryferyjnych.
    W 1994 r. został opracowany standard SCSI-2. Zwiększono prędkość transferów, dodano nowe komendy i komunikaty, wprowadzono obowiązkową kontrolę parzystości i umożliwiono rozszerzenie szyny danych do 16 bitów. Kolejna specyfikacja, SCSI-3, to dalsze zwiększenie szybkości, znaczne rozszerzenie systemu komend, możliwość komunikacji z zastosowaniem protokołów: Fibre Channel, IEEE 1394 (Firewire) i Serial Storage Architecture SCSI-3 Protocol (SSA-S3P).
    Interfejs SCSI był wykorzystywany głównie w serwerach i wysoko wydajnych stacjach roboczych, przez długi czas skutecznie konkurował wydajnością i ilością obsługiwanych urządzeń w lepszej klasy komputerach PC ze znacznie tańszym interfejsem ATA. Obecnie wypierany jest przez nowszy interfejs szeregowy Serial Attached SCSI - SAS

SCSI - podstawowe pojęcia


    Większość pojęć niezbędnych do zrozumienia interfejsu SCSI nie ma polskich odpowiedników. Pojęcia te zwykle nie są tłumaczone, a często po prostu używane są skróty nazw technologii, komend i sygnałów.

Asynchronous Transfer (Async) - transfer asynchroniczny - metoda wymiany danych między kontrolerem i urządzeniem peryferyjnym, wykorzystująca potwierdzanie sygnałów ACK/REQ dla każdego bajta danych. Jest to metoda wolniejsza od transferu synchronicznego. Wszystkie negocjacje na szynie SCSI, w tym przy transferze synchronicznym, odbywają się asynchronicznie.

Command Queuing - kolejkowanie komend - w urządzeniach zgodnych ze standardami SCSI-2 i SCSI-3 istnieje możliwość wysyłania do jednego urządzenia do 256 komend naraz, przy czym urządzenie może samo określić kolejność wykonania komend w celu optymalizacji swojej pracy

Cyclic Redundancy Check (CRC) - cykliczny kod nadmiarowy - system sum kontrolnych wykorzystywany do wykrywania i korygowania bitowych przekłamań, jakie mogą wystąpić podczas transmisji danych. Ten system kontroli pozwala na wykrycie błędów obejmujących swym zasięgiem do 32 bitów.

Differential - sterowanie różnicowe - znaczenie sygnału określa się nie poziomem, ale zmianą polaryzacji używanego napięcia. Pozwala to na obniżenie zaszumienia magistrali SCSI i wydłużenie kabla. Występują dwa typy sterowania różnicowego SCSI wysokonapięciowe HVD i niskonapięciowe LVD

Domain Validation (DV) - protokół diagnostyczny służący do określania parametrów jednostek docelowych i cech konfiguracyjnych systemu, a także testowania jakości fizycznej warstwy połączenia.

Double Transition clocking (DT) - synchronizacja danych odbywa się na obu zboczach sygnałów REQ lub ACK. W ten sposób można podwoić prędkość transferu danych.

Fast SCSI - w standardzie SCSI-2 odnosi się do prędkości przesyłu danych 10 MB/s przy magistrali 8-bitowej i 20 MB/s przy 16-bitowej (wide).

Fibre Channel - wielowarstwowy protokół transmisji szeregowej, zapewniający możliwość wymiany danych pomiędzy urządzeniami i sieciami z prędkością do 10 Gb/s. Fibre Channel może pracować zarówno na przewodach miedzianych, jak i na światłowodach.

Free Running Clock (FRC) - przewidziane normą SCSI-3 SPI-4 niewielkie odchylenia częstotliwości zegarowych w celu skompensowania efektu ISI.

Host - główny - komputer, w którym został zainstalowany Host Adapter

Host Adapter - główny adapter - określenie kontrolerów zarządzających podłączonymi do nich urządzeniami. Zwykle są to kontrolery SCSI

SCSI HVD High Voltage Differential (HVD) - wysokonapięciowe sterowanie różnicowe - starsza wersja sterowania różnicowego SCSI, wykorzystująca napięcie 5 V i pozwalająca na użycie kabli o długości do 25 m.

ID - identyfikator - unikalny adres urządzenia SCSI. Na magistrali 8-bitowej (Narrow) może być do 8 ID (od 0 do 7), a na 16-bitowej (wide) do 16 ID (od 0 do 15). Na szynie powinien występować jeden inicjator (initiator) i jedno urządzenie docelowe (target). Główny adapter (host adapter) zwykle otrzymuje ID=7.

Initiator - inicjator - urządzenie przetwarzające komendy SCSI na magistrali. To może być dowolne urządzenie podłączone do magistrali, ale zwykle jest to kontroler SCSI (główny adapter). Inicjator zawsze pracuje w parze z urządzeniem docelowym (target).

Inter Symbol Interference - oddziaływanie między symbolami - efekt przejawiający się zakłóceniami wynikającymi z wzajemnych oddziaływań pomiędzy sąsiadującymi impulsami. W wyniku długiego utrzymywania się określonego stanu napięcia dochodzi do gromadzenia się w przewodzie ładunku elektrycznego, przez co może dojść do zamiany pozycji skrajnych bitów sygnału.

Logical Unit Number - LUN - metoda zwiększenia liczby urządzeń, które mogą być podłączone na jednym kanale magistrali SCSI. W dowolnym ID może znajdować się do ośmiu logicznych urządzeń, a każde z nich jest traktowane przez kontroler SCSI jak oddzielne urządzenie fizyczne.

SCSI LVD Low Voltage Differential (LVD) - niskonapięciowe sterowanie różnicowe - bipolarny różnicowy sygnał wykorzystywany dla bardzo szybkich transmisji danych używany przez współczesne kontrolery SCSI. Przy wykorzystaniu sterowania LVD poziom napięcia sygnału znajduje się w granicach 0,7-1,8 V. W przypadku interfejsu LVD sygnały o różnej polaryzacji wykorzystują różne fizyczne przewody. Dla wykorzystania SCSI LVD potrzebny jest specjalny kabel złożony z par przewodów.

SCSI LVD/SE LVD/SE Multimode - sterowanie uniwersalne (różnicowe lub napięciowe) - w zależności od poziomu napięcia na linii DIFFSENSE przekaźniki LVD/SE automatycznie konfigurują się dla LVD lub SE. Najnowsze urządzenia SCSI mają zwykle uniwersalne przekaźniki.

Megatransfer (MT) - jednostka miary odnosząca się do częstotliwości sygnałów na szynie magistrali bez odniesienia do szerokości magistrali. Przy tej samej częstotliwości wyrażonej w megatransferach przesył danych na magistrali 16-bitowej (wide) będzie dwukrotnie szybszy niż na magistrali 8-bitowej (narrow).

Narrow SCSI - "wąska", 8-bitowa magistrala SCSI wykorzystująca 50-żyłowy kabel, wprowadzona standardem SCSI-1.

Packetized Protocol - protokół pakietowy umożliwiający przesyłanie grup rozkazów i danych statusowych w fazie transmisji danch w trybie synchronicznym.

Quick Arbitration Select (QAS) - szybkie rozstrzyganie i wybór - uproszczona wersja fazy arbitrażu pozwalająca na skrócenie czasu uzyskiwania dostępu do magistrali.

SCSI Configures Auto Magically (SCAM) - magiczna automatyczna konfiguracja SCSI - wprowadzony standardem SCSI-2 algorytm konfigurowania urządzeń. Kontroler SCSI obsługujący ten typ pracy może sam nadać identyfikator (ID) sobie i wszystkim podłączonym do niego urządzeniom peryferyjnym. Obsługa SCAM daje także kontrolerowi możliwość zarządzania resetowaniem całej magistrali.

SCSI Fast-20 - odnosi się do określonej standardem SCSI-3 prędkości przesyłu danych 20 MT (20 MB/s dla magistrali 8-bitowej i 40 MB/s dla 16-bitowej). Marketingowe określenie dla grupy urządzeń pracujących z prędkością 20 MT, to Ultra SCSI dla magistrali 8-bitowej lub Ultra Wide SCSI dla 16-bitowej.

SCSI Fast-40 - odnosi się do określonej standardem SCSI-3 prędkości przesyłu danych 40 MT (40 MB/s dla magistrali 8-bitowej i 80 MB/s dla 16-bitowej). Urządzenia pracujące z tą prędkością oznaczane są odpowiednio do szerokości magistrali jako Ultra 2 SCSI lub Wide Ultra 2 SCSI.

SCSI Fast-80 - odnosi się do określonej standardem SCSI-3 prędkości synchronicznego przesyłu danych 80 MT (160 MB/s dla magistrali 16-bitowej). Ponieważ wszystkie urządzenia SCSI Fast-80 pracują na magistrali 16-bitowej, są oznaczane po prostu jako Ultra 3 SCSI, Ultra160 SCSI lub Ultra160+ SCSI.

SCSI Fast-160 - odnosi się do określonej standardem SCSI-3 prędkości synchronicznego przesyłu danych 160 MT (320 MB/s). Oznaczenie handlowe, to Ultra320 SCSI.

SCSI Parallel Interface (SPI) interfejs równoległy SCSI - standard SCSI-3 opisujący fizyczny poziom interfejsu równoległego SCSI - złącza, parametry kabli, oznaczenie wyprowadzeń, charakterystyki elektryczne. Przeszedł kilka etapów rozwoju: SPI, Fast-20 (rozwinięcie SPI), SPI-2, SPI-3, SPI-4 i najnowszy SPI-5.

SCSI Trade Association (STA) - organizacja przemysłowa zajmująca się promowaniem i wdrażaniem standardów SCSI, określająca specyfikacje i ich nazwy.

Serial Attached SCSI (SAS) - szeregowe podłączenie SCSI - szeregowy interfejs komunikacyjny przeznaczony głównie do podłączania dysków twardych, częściowo kompatybilny z interfejsem SATA. Obecnie osiąga prędkość przesyłu danych do 12 Gb/s.

Single Connector Attachment (SCA) - 80-kontaktowe podłączenie dysków twardych stosowane w dyskach twardych w celu umożliwienia wymiany dysku w trakcie pracy urządzenia, np. macierzy RAID.

SCSI SE Single Ended SCSI (SE) - asymetryczny SCSI - oznacza zwykły, jednobiegunowy interfejs SCSI, w którym dla każdego sygnału jest osobny przewód z odpowiadającym mu przewodem masy. Sterowanie odbywa się za pomocą zmiany poziomu napięcia. Ponieważ wszystkie sygnały magistrali SCSI są zanegowane, niski poziom napięcia (poniżej 0,8 V) odpowiada logicznej "1", a wysoki (powyżej 2,4V) - "0"

Single Transition clocking (ST) - Z każdym z sygnałów REQ i ACK synchronizowana jest tylko jedna porcja danych

Small Computer Systems Interface (SCSI) - interfejs systemowy dla małych komputerów - interfejs opracowany dla połączenia na jednej magistrali urządzeń różnych typów i różnego przeznaczenia, jak dyski twarde, napędy magnetooptyczne, skanery, napędy taśmowe, napędy optyczne i inne. Interfejs ten jest stosowany w różnych systemach komputerowych, nie tylko klasy PC. Standard SCSI określa parametry fizyczne interfejsu oraz system komend i komunikatów do zarządzania urządzeniami.

Synchronous Transfer - transfer synchroniczny - wymiana danych pomiędzy kontrolerem, a urządzeniem peryferyjnym odbywa się z wcześniej uzgodnioną prędkością, przy tym oba urządzenia powinny tę prędkość obsługiwać. Prędkość przesyłu danych przy transferze synchronicznym zależy tylko od charakterystyk kabla i urządzeń na magistrali. Uzgodnienie prędkości przekazu danych odbywa się zawsze w trybie asynchronicznym. Na różnicowym interfejsie SCSI przy przekazie synchronicznym można osiągnąć prędkość transferu danych 640 MB/s.

Tagged queuing - uporządkowana kolejność - funkcja wprowadzona dla podniesienia wydajności interfejsu SCSI. Począwszy od SCSI-2 kontroler oraz urządzenia peryferyjne mogą zmieniać kolejność wykonywania komend, aby zminimalizować wyszukiwanie informacji na dysku twardym lub innym nośniku.

Target - cel, urządzenie docelowe - to odbiornik komend na interfejsie SCSI. Urządzeniem docelowym może być dowolne urządzenie SCSI. Zawsze pracuje w parze z inicjatorem.

Termination - terminowanie - w związku z powstającymi w przewodach odbiciami, falami stojącymi i innymi zakłóceniami, obydwa końce magistrali SCSI muszą być obciążone terminatorami - odpowiednio dobranymi układami rezystorów.

Training Patterns - okresowo przesyłane sekwencje specjalnych impulsów wzorcowych wykorzystywane w trybie Ultra-320 i Ultra-640 w celu kalibracji torów odbiorczych. Ze względu na różnice w parametrach kabli oraz różnorodne efekty falowe dochodzi do różnic w czasie propagacji sygnałów. Przesunięcie w stosunku do wyznaczających je po stronie nadawczej impulsów zegarowych ma istotne znaczenie w najszybszych realizacjach magistrali SCSI.

Wide SCSI - "szeroki" SCSI - określenie 16-bitowego wariantu magistrali SCSI wykorzystującego 68-żyłowy przewód opisany w standardzie SCSI-3 SPI.

Wersje standardu SCSI


    Przed ujednoliceniem standardu SCSI wielu producentów na własną rękę wprowadzało swoje rozwiązania. W konsekwencji na rynku pojawiło się wiele różnych urządzeń, które, mimo deklarowanej zgodności ze standardem SCSI, wcale ze sobą nie współpracowały. Przez to standard ten często był nazywany pseudostandardem lub brakiem standardu SCSI. Norma SCSI-1, aby zachować elastyczność i nie ograniczać inwencji producentów, pozwalała na liczne odstępstwa, które skutkowały niekompatybilnością wielu urządzeń. Również kolejna próba rozwiązania tego problemu - norma SCSI-2, okazała się zbyt elastyczna. Ponieważ nie wszystkie rozkazy musiały być implementowane, nadal z łatwością można było spotkać urządzenia zgodne ze standardem SCSI, które nie mogły się ze sobą komunikować. O wiele lepiej z kwestią niezgodności poradziła sobie najnowsza norma - SCSI-3, jednak, mimo deklarowanej zgodności wstecz, budując system oparty na magistrali SCSI, trzeba pamiętać o wielu niuansach. Do najważniejszych szczegółów należą:

wiek urządzenia: - im większa różnica wieku urządzeń, tym łatwiej mogą wystąpić różne problemy we współpracy,

prędkość urządzenia: wprawdzie można używać szybkich dysków na wolnym kontrolerze lub powolne dyski podłączyć do wydajnego kontrolera, jednak w wyniku negocjacji pomiędzy urządzeniami prędkość transferów zostanie ustalona na poziomie obsługiwanym przez najwolniejsze z nich.

sposób przekazywania sygnałów: wymieszanie urządzeń przekazujących sygnały w różne sposoby może doprowadzić do istotnego obniżenia wydajności magistrali, a nawet do uszkodzenia urządzeń. Urządzenia HVD nie są zgodne elektrycznie z urządzeniami LVD i SE. Wymieszanie tych urządzeń na jednej szynie doprowadzi do uszkodzenia urządzeń LVD lub SE.

Szerokość szyny: wymieszanie urządzeń na magistrali 8-bitowej narrow i 16-bitowej wide na ogół jest możliwe, jednak trudno z góry gwarantować pełną funkcjonalność takiego układu.

Jakość wykonania: aby zapewnić prawidłową pracę systemu i uniknąć konfliktów, najlepiej korzystać z kontrolerów, kabli, terminatorów i przejściówek rekomendowanych przez producenta.


SCSI-1


    Pierwsza wersja standardu - SCSI przewidywała zastosowanie 8-bitowej szyny danych, maksymalny transfer danych w trybie asynchronicznym - do 1,5 MB/s, a w trybie synchronicznym do 5 MB/s. Magistrala wykorzystywała 24 linie sterowane napięciowo lub znacznie rzadziej różnicowo (HVD). Na magistrali mogło występować maksymalnie 8 urządzeń. Maksymalna długość 50-żyłowego kabla w przypadku sterowania napięciowego wynosiła 6 m, a dla sterowania różnicowego - 25 m. Standard SCSI-1 przewidywał opcjonalną kontrolę parzystości w celu eliminacji błędów w transmisji danych. Urządzenia SCSI-1 obecnie najłatwiej spotkać w muzeach techniki.

SCSI-2


    Przyjęta w 1994 r. norma SCSI-2 wdrożyła wiele istotnych zmian. Do najważniejszych z nich należą:
- wprowadzenie "szerokiego" 16-bitowego wariantu magistrali wykorzystującego 68-żyłowy kabel,
- zwiększenie maksymalnej liczby urządzeń na szynie - 16-bitowa magistrala może obsługiwać do 16 urządzeń,
- poprawienie charakterystyk kabli i złącz,
- wprowadzenie aktywnego terminowania, co zwiększyło niezawodność transmisji sygnałów na szynie,
- rozszerzenie spisu obsługiwanych komend, co pozwoliło na obsługę skanerów, CD-ROMów i innych urządzeń,
- wprowadzenie kolejkowania komend Command Queuing,
- szybszy protokół Fast-SCSI, pozwalający na zwiększenie częstotliwości szyny do 10 MHz,
- szersze zastosowanie sterowania różnicowego, umożliwiającego użycie dłuższych kabli.

SCSI-3


    SCSI-3, to ostatnia wersja standardu, nadal znajdująca zastosowanie głównie w serwerach. W odróżnieniu od wcześniejszych norm, SCSI-3, to nie jeden, ale cała rodzina wzajemnie powiązanych standardów w wielopoziomowym modelu. Opisy poszczególnych jego części zajmują grube tomy. Podstawowe poziomy standardu SCSI, to:
- Fizyczny - opisujący podłączenia, przewody, oznaczenie wyprowadzeń, charakterystyki elektryczne;
- Transportowy - fazy szyny, pakiety, sposoby wymiany informacji;
- Architektury - opisujący modele SCSI, wywołania komend, reakcje na wywołania, kolejność komend;
- Common Command Set (CCS) - wspólny dla wszystkich urządzeń zestaw komend;
- Specyficzne zestawy komend - polecenia dla określonych typów urządzeń, np. zapis blokowy dla dysków twardych, zapis strumieniowy itd.

SCSI-3 SPI


    Pierwsza wersja SCSI-3 opisująca fizyczny poziom standardu (SPI) została przyjęta w 1995 r., a rozszerzona w 1996 r. i przewidywała:
- częstotliwość szyny 20 MHz (Fast-20) z prędkością transferów 20 MB/s dla magistrali 8-bitowej i 40 MB/s dla 16-bitowej;
- metody przekazywania sygnałów SE lub HVD;
- szerokość szyny 8 (Ultra SCSI) lub 16 (Ultra Wide SCSI) bitów;
- liczbę obsługiwanych urządzeń dla HVD 16 dla magistrali 16-bitowej i 8 dla 8-bitowej;
- liczbę obsługiwanych urządzeń dla SE 8 dla kabla o długości do 1,5 m i 4 dla kabla długości powyżej 1,5 m do 3 m;
- 68-żyłowy kabel "P" dla magistrali 16-bitowej i 50-żyłowy kabel "A" dla 8-bitowej;
- Terminatory pasywne lub FPT dla SE oraz terminatory HVD dla HVD.

SCSI-3 SPI-2


    Standard drugiego pokolenia SCSI-3 SPI-2 został przyjęty w 1998 r. Do najważniejszych zmian należały:
- podniesienie częstotliwości szyny do 40 MHz (Fast-40) z prędkością transferów 40 MB/s dla magistrali 8-bitowej i 80 MB/s dla 16-bitowej;;
- nowy, niskonapięciowy różnicowy sposób przekazywania sygnałów (LVD), który w praktyce wyparł HVD;
- Multimode Operation - specyfikacja pozwalająca pracować na jednej szynie równocześnie urządzeniom LVD i SE;
- Single Connector Attachment SCA-2 - nowa specyfikacja 80-kontaktowego złącza dla dysków SCSI pozwalającego na podłączanie "na gorąco" bez wyłączania całego systemu;
- przewidziano wprowadzenie 32-bitowego wariantu magistrali pozwalającego na podłączenie równocześnie do 32 urządzeń, jednak 32-bitowa magistrala nie znalazła zastosowania w praktyce;
- maksymalna długość kabla przy sterowaniu różnicowym wynosiła 25 m;
- maksymalna liczba obsługiwanych urządzeń przy sterowaniu różnicowym wynosiła 8 dla magistrali 8-bitowej i 16 dla 16-bitowej, a przy sterowaniu LVD i kablu o długości powyżej 12 m maksymalnie 2 urządzenia niezależnie od szerokości magistrali;

SCSI-3 SPI-3


    Przyjęty w 2000 r. standard SCSI-3 SPI-3 przewidywał:
- wzrost częstotliwości magistrali do 80 MHz (Fast-80);
- wykorzystanie do synchronizacji danych obu zbocz zegarowych sygnałów REQ i ACK - (DT);
- zastosowanie kodów CRC - Cyclic Redundancy Check dla zagwarantowania prawidłowości przesyłanych danych;
- odejście od 8-bitowej magistrali - wszystkie urządzenia zgodne ze SCSI-3 SPI-3 korzystają z magistrali 16-bitowej;
- wprowadzenie protokołu pakietowego Packetized Protocol w celu przyśpieszenia przekazywania grup rozkazów;
- uproszczenie mechanizmu uzyskiwania dostępu do magistrali (faza arbitrażu) - QAS - Quick Arbitration Select;
- zastosowanie protokołu diagnostycznego Domain Validation umożliwiającego wykrycie błędów w instalacji terminatorów, nieprawidłowości w przejściach z magistrali 8-bitowej na 16-bitową oraz inne problemy po fizycznej stronie połączenia w procesie negocjacji optymalnej szybkości przesyłania danych po szynie;
- rezygnację z wysokonapięciowego sterowania różnicowego (HVD);
- rezygnację z 32-bitowego wariantu magistrali, który tym samym nigdy nie doczekał się praktycznej realizacji;
- rezygnację z technologii SCAM, która wprawdzie była dobrym pomysłem, ale w zastosowaniach praktycznych często rodziła zbyt dużo problemów z konfiguracją urządzeń.
- kontrolery Ultra3 SCSI pozwalały na obsługę do 16 urządzeń na 68-żyłowym kablu o długości do 12 m lub dwóch urządzeń na kablu długości do 25 m,
- ponieważ zastosowanie zmian wprowadzonych normą SCSI-3 SPI-3 nie było obowiązkowe (wystarczyło spełnić jeden z warunków, by oznaczyć urządzenie, jako Ultra3 SCSI), producenci sami wprowadzili podobne specyfikacje - Ultra 160 SCSI (Ultra 160/m SCSI) i Ultra 160+ SCSI.

Ultra 160/m SCSI

    Specyfikacja Ultra 160/m SCSI (Ultra 160) przewidywała jako obowiązkowe zastosowanie trzech spośród pięciu podstawowych cech starnardu SCSI-3 SPI-3:
- transfery w trybie Fast 80 DT,
- kody korekcji CRC,
- protokół diagnostyczny Domain Validation.
    Zastosowanie QAS i Packetized Protocol według tej specyfikacji są opcjonalne. Podobnie opcjonalne jest stosowanie trybu LVD/SE multimode przy podstawowym niskonapięciowym sterowaniu różnicowym LVD.

Ultra 160+ SCSI

    Urządzenia zgodne ze specyfikacją Ultra 160+ SCSI muszą obowiązkowo obsługiwać:
- transfery w trybie Fast-80 DT;
- obsługę kodów korekcji CRC;
- protokół Domain Validation;
- protokół Packetized Protocol;
- arbitraż w trybie QAS.
    Sterowanie odbywa się w trybie LVD, jednak dopuszczalna jest obsługa urządzeń sterowanych napięciowo w trybie LVD/SE Multimode.

SCSI-3 SPI-4


    Norma SCSI-3 SPI-4, znana też jako Ultra-320 została opublikowana w 2002 r. Aby osiągnąć niezakłócony transfer z prędkością 320 MB/s:
- transfery obowiązkowo odbywają się z wykorzystaniem obu zbocz zegarowych sygnałów ACK i REQ - (DT);
- wprowadzono FRC - Free Running Clock - drobne zmiany częstotliwości zegarowych kompensujących efekt ISI - Inter Symbol Interference, polegający na wzajemnym oddziaływaniu sąsiednich impulsów;
- wprowadzono Training Patterns - okresowe sekwencje impulsów wzorcowych pozwalających na kalibrację parametrów torów odbiorczych i zapobegających rozsynchronizowaniu się sygnałów;
- przesyłane po magistrali SCSI-3 Ultra-320 dane są chronione kodami CRC;
- inicjator może określać przy pomocy zestawu protokołów DV - Domain Validation parametry jednostek docelowych i cechy konfiguracyjne systemu;
- wprowadzono możliwość przekazywania rozkazów i danych statusowych w specjalnych pakietach (Packetized Transfers) z pełną prędkością 320 MB w fazie transferu danych, co jest odstępstwem od zasady przesyłania rozkazów w trybie asynchronicznym z prędkością 5 MB/s;
- strona nadawcza może korygować amplitudę sygnału w celu poprawienia jego czytelności - Transmitter pre-compensation;
- fakultatywnie możliwe jest zastosowanie po stronie odbiornika filtra AAF - Adjustable Active Filter, mającego za zadanie zwiększenie odstępu sygnału od szumu;
- kontrolery SCSI-3 Ultra-320 do komunikacji z komputerem wykorzystują 64-bitową magistralę PCI lub magistralę PCI-Express, z tego względu praktycznie nie spotyka się ich w komputerach klasy PC;
- w przypadku połączenia o długości kabla powyżej 1,5 m konieczne jest zastosowanie okrągłego, ekranowanego przewodu;
- maksymalna długość kabla wynosi 12 m;
- maksymalnie mozna podłączyć 16 urządzeń;
- stosuje się sterowanie różnicowe LVD, aczkolwiek większość kontrolerów zachowała zgodność wstecz w trybie LVD/SE Multi Mode z urządzeniami sterowanymi napięciowo SE;
- zrezygnowano z obsługi urządzeń SCSI pracujących na magistrali 8-bitowej, a próby podłączenia takich urządzeń przez przejściówki zwykle prowadzą do drastycznego obniżenia wydajności magistrali;

SCSI-3 SPI-5


    Kolejne pokolenie SCSI-3 SPI-5, określane też jako Ultra-640 lub Fast-320 zadebiutowało w 2003 r. Przy częstotliwości magistrali 160 MHz i synchronicznym transferze danych w trybie DT udało się osiągnąć przepustowość 640 MB/s. Przy tej prędkości transferów, przepustowość magistrali PCI nawet w wersji 64-bitowej nie jest wystarczająca, konieczne okazało się wykorzystanie magistrali PCI-Express co najmniej x4. Oprócz kolejnego podwojenia przepustowości magistrali definitywnie zaniechano obsługi urządzeń sterowanych napięciowo (SE). Ze względu na charakterystyki elektryczne przewodów, łączenie na magistrali SCSI-3 Ultra-640 więcej niż dwóch urządzeń okazało się niepraktyczne. Wprawdzie teoretycznie można było podłączyć do 16 urządzeń na kablu o długości do 10 m, jednak spadki wydajności były zbyt duże, by miało to jakiś sens. W związku z wdrożeniem szeregowego interfejsu SCSI SAS, producenci skonstruowali niewiele urządzeń SCSI Ultra-640. Prace nad kolejnym pokoleniem interfejsu równoległego SCSI-3 SPI-6 (Ultra-1280) nie zostały nigdy ukończone.

Serial Attached SCSI (SAS)


    Równoległy interfejs SCSI zbliżył się do granic możliwej do osiągnięcia w praktyce wydajności. Dalszy wzrost przepustowości wymagał zastosowania szeregowej technologii przesyłu danych. W 2004 r. pojawił się standard Serial Attached SCSI (SAS), który stopniowo wypiera SCSI w wersji równoległej.
     Kontroler SAS zapewnia niezależny kanał komunikacji dla każdego podłączonego urządzenia, podczas gdy w przypadku interfejsu SCSI w danym momencie tylko jedno, spośród wielu podłączonych do wspólnej szyny urządzeń, mogło komunikować się z kontrolerem. W praktyce oznacza to, że przepustowość magistrali równoległej musiała być dzielona pomiędzy wszystkie podłączone do niej urządzenia. W przypadku SAS ilość kolejnych podłączonych urządzeń w znikomym stopniu wpływa na pracę pozostałych. Kolejną przewagą magistrali szeregowej jest to, że czas propagacji sygnałów na różnych liniach magistrali równoległej musiał być jednakowy, aby nie doszło do rozsynchronizowania sygnałów. Magistrala szeregowa nie ma takich problemów. Już pierwsza wersja standardu SAS zapewniała transmisję danych z prędkością 300 MB/s.
    Serial Attached SCSI obejmuje 3 protokoły:
- Protokół Serial SCSI (Serial SCSI Protocol - SSP) - obsługujący także równoległe SCSI. Jest to protokół pracujący w trybie full-duplex, a więc zdolny do równoczesnego przesyłania rozkazów oraz danych w obu kierunkach,
- Protokół Serial ATA (SATA Tunneled Protocol - STP) - do przetwarzania rozkazów SATA na rozkazy SAS, zapewniający częściową kompatybilność z urządzeniami SATA,
- Protokół zarządzania (SCSI Management Protocol - SMC) - przeznaczony do obsługi danych zarządzających.
    Sygnały przekazywane są za pomocą dwóch zestawów linii różnicowych (nadawczy Tx i odbiorczy Rx - w sumie 4 żyły). Oprócz tego, w kablu SAS znajdują się żyły uziemiające. Interfejs SAS jest w jedną stronę mechanicznie zgodny ze złączem SATA - Pozwala podłączyć urządzenia SATA do kontrolera SAS. Wypełnione wcięcie uniemożliwia podłączenie dysków SAS do kontrolera SATA. Zresztą tak podłączone urządzenie i tak by nie działało. Ze względu na wyższe napięcia wykorzystywane przez urządzenia SAS, aby zapobiec uszkodzeniom urządzeń SATA, konieczna jest procedura rozpoznania urządzenia przez kontroler i dopasowania elektrycznej charakterystyki sygnału. Napięcia nadajnika w standardzie SATA mieszczą się w zakresie 0,4-0,5 V, zaś odbiornika w zakresie 0,325 - 0,6 V. W standardzie SAS są to zakresy odpowiednio dla nadajnika 0,8-1,6 V i dla odbiornika 0,275-1,6 V. Większe zakresy napięć w standardzie SAS podyktowane są możliwością użycia znacznie dłuższych kabli - do 10 m. Urządzenia SAS nie wymagają używania terminatorów. Współczesne dyski twarde SAS są wyposażone w podwójne fizyczne porty, co umożliwia zastosowanie ich w systemach z nadmiarowym kontrolerem SAS. Wcześniej dyski SAS 2,5" nie miały takiej możliwości.
    Pierwsza generacja urządzeń SAS mogła przesyłać dane z prędkością 300 MB/s. W 2009 r. pojawiły się urządzenia SAS-2 przesyłające dane z prędkością 600 MB/s. Najnowsze, dostępne od 2013 r., urządzenia SAS-3 mogą osiągnąć prędkość przesyłu danych do 1,2 GB/s. Trwają prace nad kolejną wersją standardu - SAS-4, który ma pozwolić na transfer danych z prędkością 2,4 GB/s. Komitet T10 przewiduje zakończenie prac nad nową wersją standardu na 2017 r.