Dyski z interfejsem SCSI
Transkrypt
Dyski z interfejsem SCSI
Dyski z interfejsem SCSI. SCSI (ang. Small Computer System lnterface) wykorzystywany do sterowania napędów dysków twardych, stanowi raczej standard szyny, niż standard interfejsu dysków twardych. Jeśli w komputerze PC zostanie zainstalowany sterownik SCSI (a raczej adapter SCSI), to otrzymamy nową magistralę, do której będzie można podłączyć kilka urządzeń. Poprzez SCSI można połączyć ze sobą 8 inteligentnych jednostek w tzw. konfiguracji łańcuchowej {ang. Daisy Chain). W konfiguracji łańcuchowej wszystkie linie interfejsu są wspólne dla wszystkich urządzeń, a kabel łączy urządzenie pierwsze z drugim, drugie z trzecim, trzecie z czwartym, itd. (patrz rysunek 1). Rys. 1. Połączenie łańcuchowe trzech urządzeń za pomocą linii interfejsu SCSI. Specyfikacja SCSI umożliwia każdej dołączonej jednostce rozpoczynać transmisję danych. Jednak w praktyce najczęściej inicjatorem jest komputer (a dokładniej - sterownik SCSI), zaś adresatem - urządzenie zewnętrzne. Dostęp jednostek do magistrali rozstrzygany jest na drodze arbitrażu. Sygnały na liniach interfejsu SCSI mają następujące znaczenie: • RST - (Reset) zakończenie transmisji i sprowadzenie urządzeń w stan początkowy; • DB0..DB7 - 8-bitowa szyna danych; • DBP - parzystość przesyłanych danych; • BSY - (Busy) magistrala zajęta; • SEL - przesyłany bajt danych jest adresem urządzenia; • ATN - (Attention) inicjator przesyła wiadomość do urządzenia; • MSG - (Message) przesyłana informacja jest wiadomością; • C/D - (Control/Data) C/D w stanie aktywnym - przesyłany bajt jest rozkazem lub statusem; C/D nieaktywne przesyłana jest dana; • I/O - kierunek transmisji; • • • REQ (Request) - sygnał żądania transmisji; ACK (Acknowledge) - sygnał potwierdzenia przyjęcia danych; TERMPWR (Terminator Power) - linia zasilająca terminatory. Połączenie między urządzeniami realizowane jest za pomocą 50-żyłowego kabla, w którym każdej linii interfejsu odpowiadają dwa przewody: przewód sygnałowy i przewód masy (w przypadku linii asymetrycznej) lub para skręconych przewodów (dla linii symetrycznej). Fizyczne zakończenia linii interfejsu muszą być obciążone rezystorami {ang. Terminator), o wartości równej impedancji falowej linii, w celu tłumienia odbić. Przykłady obciążeń linii asymetrycznej i symetrycznej pokazuje rysunek 2. Długość linii asymetrycznej może osiągnąć maksymalnie 6 metrów, natomiast symetrycznej, dzięki dużemu tłumieniu zakłóceń, do 25 metrów. Rys. 2. Terminatory linii asymetrycznej i symetrycznej. Praca magistrali SCSI przebiega w kilku podstawowych fazach: • faza spoczynku: magistrala jest nieaktywna; • faza wyboru: inicjator o najwyższym priorytecie (z reguły jest to komputer o adresie 7) przy aktywnych liniach BSY i SEL wysyła adres urządzenia (docelowego), z którym zamierza współpracować. Adres przesyłany jest szyną danych w kodzie "1 z 8". Następnie inicjator gasi linię BSY, oczekując na reakcję urządzenia docelowego. Urządzenie to zgłasza się, wymuszając poziom aktywny na linii BSY, • faza transmisji: w fazie tej mogą być przesyłane kody sterujące, dane, statusy oraz wiadomości. Transmisją danych steruje urządzenie docelowe - wyznacza kierunek i rodzaj transmisji, wymuszając odpowiednie sygnały sterujące. Przesłanie bajtu rozpoczyna się od ustawienia przez urządzenie docelowe sygnału REQ (żądania transmisji). W odpowiedzi, inicjator zapala linię ACK (potwierdzenia). Wtedy urządzenie docelowe odbiera bajt danych. Oczywiście, w sytuacji, gdy urządzenie docelowe steruje transmisją danych, inicjator musi mieć możliwość przerwania transmisji i przekazania do urządzenia pilnej wiadomości (np., gdy wystąpi błąd). Do tego celu służą linie ATN i MSG. Po zakończeniu transmisji, magistrala przechodzi w stan spoczynku. Standard SCSI może pracować w dwóch trybach: • asynchronicznej transmisji danych, • synchronicznej transmisji danych. Tryb asynchroniczny polega na każdorazowym żądaniu transmisji sygnałem REQ i po przyjęciu bajtu danych, potwierdzeniu wykonanej operacji impulsem ACK. Fakt, iż każdy przesłany bajt danych wymaga generowania pary impulsów REQ i ACK, powoduje spowolnienie szybkości transmisji. W trybie synchronicznym transmisja może odbywać się bez każdorazowego potwierdzania pojedynczego bajtu danych za pomocą impulsu ACK - powoduje to przyspieszenie transmisji. Bajty danych przesyłane są w takt impulsów REQ o czasie powtarzania 200 nanosekund (czyli z częstotliwością 5 MHz), co pozwala na transmisję z szybkością 5MB/s. Transmisja asynchroniczna jest nieco wolniejsza (ok. 3-4 MB/s). 2 Tryb FAST (szybki, zwany inaczej SCSI-2) jest odmianą trybu synchronicznego z czasem powtarzania impulsów REQ równym 100 nanosekund (z częstotliwością 10 MHz). Szybkość transmisji osiąga tu więc wartość 10 MB/s. W trybie Ultra SCSI szyna danych taktowana jest zegarem o częstotliwości 20 MHz, a w trybie Ultra SCSI-2 z częstotliwością 40 MHz. Interfejs SCSI posiada 8-bitową szynę danych DB0-7 oraz linię bitu parzystości DBP, za pomocą których następuje transmisja informacji pomiędzy sterownikiem, a dołączonymi urządzeniami. Sygnały na wszystkich liniach interfejsu generowane są w logice ujemnej, tzn. aktywnym sygnałem na linii jest "zero" logiczne. Nowy standard interfejsu zwany Wide SCSI posiada 16-bitową szynę danych DB0-15, co pozwala zwiększyć dwukrotnie szybkość transmisji. Kabel łączący urządzenia pracujące w tym standardzie posiada 68 linii. Stosując SCSI, można tworzyć układy zbliżone do sieci lokalnej, pozwalające na wspólne korzystanie z droższych urządzeń peryferyjnych (np. drukarki laserowe, zewnętrzne stacje dysków twardych, skanery, CDROM). Dysk twardy łączony jest kablem interfejsu SCSI ze sterownikiem umieszczonym w gnieździe płyty głównej. Karty sterowników SCSI posiadają własny BIOS; oznacza to, iż sterowniki te nie korzystają z procedur obsługi dysku, zawartych w BIOS-ie płyty głównej, dzięki temu parametry dysków SCSI nie są ograniczane przez ten BIOS (przede wszystkim pojemności dysków mogą znacznie przekraczać wartość 528 MB). Karty kontrolerów SCSI wymagają ustawienia, za pomocą zworek, pewnych parametrów konfiguracyjnych, takich jak: • numer urządzenia (każde z ośmiu możliwych urządzeń dołączonych do interfejsu SCSI musi mieć przyporządkowany swój numer identyfikacyjny (ID) od 0 do 7, przy czym numer 7 ma najwyższy priorytet, numer 0 - najniższy; dla sterownika zarezerwowany jest przeważnie numer 7, czyli najwyższy priorytet); • numer kanału przerwania (w starszych kartach ze złączem ISA był to przerwanie IRQ, w kartach ze złączem PCI - przerwania INTA, B, C, D); • włączenie rezystorów tłumiących odbicia (ang. Terminators). Rysunek 3 prezentuje kartę sterownika SCSI ze złączem PCI. Karta posiada dwa 50-stykowe złącza interfejsu SCSI: wewnętrzne - do łączenia z dyskami twardymi zainstalowanymi wewnątrz komputera i zewnętrzne, służące do podłączenia innych urządzeń (lub dodatkowych dysków twardych). Do obu tych złącz można dołączyć w sumie 7 urządzeń. Karta wymaga ustawienia jedynie numeru jednego z czterech przerwań INTA, B, C, D (za pomocą zworek JP1) i włączenia rezystorów tłumiących (JP2), wtedy gdy tylko do jednego z dwóch 50-stykowych złącz dołączone są urządzenia (gdy oba złącza są w użyciu -rezystory tłumiące należy wyłączyć, gdyż karta sterownika nie jest wtedy urządzeniem znajdującym się na końcu "łańcucha"). Karcie na stałe producent przyporządkował numer ID równy 7. Dysk twardy również wymaga skonfigurowania - przede wszystkim należy ustawić numer twardego dysku (od 0 do 6, numer 7, jak już wcześniej było powiedziane, zarezerwowany jest dla sterownika), ponadto, na niektórych dyskach, za pomocą specjalnej zworki należy ustawić kontrolę parzystości lub zrezygnować z niej. Jeśli w komputerze będzie instalowanych więcej niż jeden twardy dysk, należy tylko na ostatnim włączyć terminatory (na pozostałych natomiast, terminatory należy wyłączyć). Rysunek 4 ilustruje fragment twardego dysku z interfejsem SCSI. Zworka "P" pozwala ustawić parzystość (kontrola parzystości może być włączona lub wyłączona, ale konsekwentnie we wszystkich urządzeniach SCSI). Zworki "4, 2, 1" służą do ustawienia numeru urządzenia (numer urządzenia ustawiany jest w kodzie dwójkowym). Kabel interfejsu nie powinien być dłuższy niż 6 m (lub 25 metrów przy łączu symetrycznym). 3 Rys. 3. Kontroler SCSI ze złączem PCI. Rys. 4. Sposób podłączenia dysku do sterownika SCSI. Współczesne karty sterowników SCSI mogą posiadać złącza dwóch standardów: 50-stykowe złącza 8-bitowego interfejsu SCSI i 68-stykowe złącza 16-bitowego Wide SCSI. Poniższa tabela przedstawia szybkości transmisji przy różnych trybach pracy dla obu standardów. Szybkość transmisji (teoretyczna) Częstotliwość taktowania magistrali Nazwa interfejsu 5MHz 10MHz SCSI 5MB/s Fast SCSI lub 10 MB/s SCSI-2 Ultra SCSI lub 20 MB/s Fast-20 20MHz Szyna 8-bitowa (Narrow), 50- Szyna 16-bitows (Wide), żyłowy kabel. 68-żyłowy kabel. 20 MB/s 40 MB/s 4 40MHz Ultra-SCSI-2 40 MB/s 40MHz Ultra 160/m SCSI - 80 MB/s 160 MB/s Podane tu szybkości transmisji są szybkościami teoretycznymi (przy wymienionych częstotliwościach taktowania szyny danych), tzn. szybkościami, które umożliwia elektronika; wąskim gardłem staje się (w uzyskaniu tych rezultatów) mechanizm dysków. Na uwagę zasługuje nowy standard - Ultra 160/m SCSI, który zapewnia transmisję z szybkością 160 MB/s, dzięki taktowaniu przesyłanych danych narastającym i opadającym zboczem impulsów REQ (40 MHz x 2 zbocza x 2 bajty = 160 MB/s). Przyjrzyjmy się parametrom typowego dysku z interfejsem SCSI, znanego światowego producenta: Pojemność dysku (ang. Capacity) 181.6GB Wewnętrzna szybkość transmisji (ang. Internal Transfer Rate). 282-508 Mbity/s Maksymalna zewnętrzna szybkość transmisji (ang. Maximum 160 MB/s External Transfer Rate) Średni czas dostępu (ang. Average Seek Time) Średnie opóźnienie (ang. Average Latency) 7.4-8.2 ms 4.17 ms Prędkość obrotowa dysku (ang. Spindle speed) Fizyczna liczba dysków (ang. Physical Disks) 7200 obr/min 12 Fizyczna liczba głowic (ang. Physical Heads) 24 Całkowita liczba cylindrów (ang. Cylinders) Całkowita liczba sektorów (ang. Number of Sectors) 24 247 354 600 004 Liczba bajtów w sektorze (ang. Bytes per Sector) Bufor Cache 512 16 MB Przykład wykorzystania karty kontrolera z dwoma standardami SCSI pokazuje rysunek 5. Do zewnętrznego 68stykowego złącza 16-bitowego można podłączyć 8 (osiem) zewnętrznych urządzeń Wide-SCSI (nadając im numery 15 - 8). Do wewnętrznego 68-stykowego złącza można podłączyć 7 urządzeń nadając im numery 6 – 0, (przyjęto następujący porządek priorytetów: 7, 6 - 0, 15 - 8). Sterownik SCSI powinien mieć ustawiony priorytet najwyższy - 7. Na końcu każdego "łańcucha" urządzeń dołączonych do sterownika muszą być włączone terminatory (zwane również Resistor Networks). W przykładzie z rysunku 5, karta sterownika nie znajduje się na żadnym z końców "łańcucha", więc nie powinna mieć włączonych terminatorów. 5 Rys. 5. Sposób podłączenia 5 urządzeń SCSI – dwóch wewnętrznych i trzech zewnętrznych. 6