Wielu użytkowników ma problemy z rozróżnieniem 16-bitowych i 32-bitowych połączeń magistrali oraz 16-bitowych i 32-bitowych przyłączy dysku. Magistrala PCI pozwala na 32-bitowe (a prawdopodobnie w przyszłości 64-bitowe) połączenie pomiędzy adapterem hosta interfejsu ATA, który zwykle znajduje się w układzie mostka południowego płyty głównej lub układzie koncentratora kontrolera l/O (ICH). Jednak interfejs ATA pomiędzy złączem adaptera hosta na płycie głównej a dyskiem jest interfejsem 16-bitowym. Dlatego dyski korzystające z równoległego interfejsu ATA korzystają z 16-bitowego transferu pomiędzy dyskiem a płytą główną. Mimo to szybkość zegara interfejsu ATA jest na tyle duża, że nawet dwa dyski nie są w stanie dostarczać takiej ilości danych danych, aby nasycić ten 16-bitowy kanał. To samo dotyczy interfejsu Serial ATA, który choć przesyła dane po jednym bicie, wykonuje to z ekstremalnie dużą szybkością.
Równoległy interfejs ATA jest 16-bitowy. co oznacza, że jednocześnie kablem przesyłanych jest 16 bitów. Interfejs szeregowy, nazwany Serial ATA, oficjalnie zaprezentowany został pod koniec 2000 r., a w komputerach zaczął pojawiać się od 2003 r. W interfejsie tym w danej chwili kablem przesyłany jest 1 bit, dzięki czemu możliwe jest zastosowanie cieńszych i mniejszych kabli, a także — ze względu na szybsze cykle — osiągnięcie wyższej wydajności. Interfejs SATA posiada zupełnie nową i uaktualnioną fizyczną konstrukcję. Jednocześnie na poziomie oprogramowania pozostaje zgodny z interfejsem ATA. W książce termin ATA dotyczy zarówno szeregowej, jak i równoległej wersji interfejsu, natomiast określenia PATA (Parallel ATA) i SATA (Serial ATA) odnoszą się do określonej wersji. Na rysunku 7.1 porównano wielkość złączy danych i zasilania stosowanych w przypadku szeregowego interfejsu SATA i równoległego ATA.
Rysunek 7.1.
Złącze danych Serial A TA (na dole po prawej) jest znacznie mniejsze od stosowanego w przypadku interfejsu równoległego A TA (u góry po prawej). Z kolei złącza zasilania obu interfejsów są podobnej wielkości (po lewej)
Podstawową przewagą dysków ATA nad starszymi interfejsami opartymi na oddzielnych kontrolerach oraz nowszymi interfejsami magistral hosta, takimi jak USB, SCSI i IEEE 1394 (i.Link lub FireWire), jest koszt. Ponieważ wyeliminowano oddzielny kontroler lub adapter hosta i uproszczono połączenia kablowe, dyski ATA są znacznie tańsze od tradycyjnego kontrolera i kombinacji napędów.
► Zajrzyj do podrozdziału „Smali Computer System Interface", znajdującego się na stronie 655.
^ ^ Zajrzyj do podrozdziału „USB i IEEE 1394 (i.Link/FireWire)", znajdującego się na stronie 1043.
W kategoriach wydajności dyski ATA często zaliczają się do tych. które oferują najwyższą możliwą do uzyskania efektywność. Jednak mogą znaleźć się też w grupie dysków o najniższej wydajności. Tak wyraźna sprzeczność jest wynikiem tego różnic między poszczególnymi napędami ATA. Nie można jednoznacznie wypowiedzieć się na temat wydajności dysków ATA, ponieważ każdy z nich jest niepowtarzalny. Droższe modele oferują jednak wydajność równą wydajności dostępnych na rynku dysków innego typu stosowanych w komputerach z systemem operacyjnym obsługiwanym przez jednego użytkownika wykonującego pojedyncze zadania lub nawet lepszą.
Standardy ATA
W chwili obecnej interfejs ATA jest kontrolowany przez niezależną grupę reprezentantów dużych producentów systemów PC, dysków i komponentów. Grupa ta nosi nazwę Technical Committee T13 (http://www.tl3.org) i jest odpowiedzialna za wszystkie standardy dotyczące równoległego i szeregowego interfejsu AT Attachment. Grupa T13 stanowi część komitetu National Committee on Information Technology Standards (NCTIS), który pracuje według zasad zatwierdzonych przez American National Standards Institute (ANSI), z ramienia rządu ustanawiającego zasady określające standardy w przemyśle komputerowym oraz innych działach techniki. Powstała również druga grupa, o nazwie Serial ATA Workgroup (http://www.serialata.org), która opracowuje standardy dla szeregowego interfejsu ATA. Standardy są następnie przekazywane grupie Technical Comittee Tl3 w celu dopracowania i opublikowania w ramach organizacji ANSI. Standard ATA-7 uwzględnia zarówno interfejs szeregowy, jak i równoległy ATA oraz wyznacza kres tego drugiego, ponieważ standard ATA-8 i jego następcy opierają się już wyłącznie na interfejsie szeregowym.
Zasady działania tych komitetów gwarantują, że dobrowolne standardy są tworzone na zasadzie porozumienia ludzi i organizacji działających w branży, której będzie dotyczył standard. NCITS tworzy standardy dla systemów przetwarzania informacji, natomiast ANSI aprobuje proces ich tworzenia i publikuje je. Ponieważ grupa Tl3 jest organizacją całkowicie publiczną, wszystkie robocze dokumenty, dyskusje i spotkania grupy są otwarte dla każdego.
Kopię każdego opublikowanego standardu można nabyć od organizacji ANSI lub firmy Global Engineering Documents. Robocze wersje standardów można pobrać z witryny WWW grupy Technical Committee Tl 3 lub Serial ATA Working Group.
Równoległy interfejs ATA rozwijał się poprzez kilka kolejnych wersji standardu. Kolejno były to:
ATA-1,
ATA-2 (nazywany również Fast-ATA, Fast-ATA-2 lub EIDE),
ATA-3,
ATA-4 (Ultra-ATA/33),
ATA-5 (Ultra-ATA/66),
ATA-6(Ultra-ATA/100),
ATA-7 (Ultra-ATA/133 lub Serial ATA),
SATA-8 (Serial ATA II).
Od czasów pojawienia się standardu AT A-l nowsze wersje interfejsu ATA i uzupełniający je BIOS obsługują pojemniejsze i szybsze dyski twarde, a także innego typu urządzenia. W przypadku standardu ATA-2 i jego następców oryginalna wersja interfejsu ATA rozszerzona została w pięciu podstawowych obszarach. Oto one:
dodatkowy kanał obsługujący dwa urządzenia.
zwiększona maksymalna obsługiwana pojemność dysków,
większe transfery danych.
ATAPI (ATA Packet Interface),
SATA (Serial ATA).
Każda wersja interfejsu ATA jest zgodna z poprzednimi wersjami. Inaczej mówiąc, stare urządzenia ATA-1 lub ATA-2 działają świetnie z interfejsami ATA-6 lub ATA-7. ATA-7 uwzględnia zarówno równoległy, jak i szeregowy interfejs ATA, natomiast ATA-8 tylko szeregowy. Nowsze wersje interfejsu ATA są tworzone na podstawie starszej wersji i z kilkoma wyjątkami mogą być traktowane jako rozszerzenia poprzedniej wersji. Oznacza to, że interfejs ATA-7 może być postrzegany jako ATA-6 z dodatkowymi możliwościami.
W tabeli 7.2 przedstawiamy różne standardy ATA. W kolejnych akapitach opiszemy bardziej szczegółowo wszystkie wersje tego interfejsu.
ATA-1
ATA-l definiuje oryginalny interfejs AT Attachment, który jest zintegrowanym interfejsem magistrali pomiędzy napędem dysku a systemem korzystającym z magistrali ISA (AT). Podstawowymi funkcjami wprowadzonymi i udokumentowanymi w specyfikacji ATA-1 były:
okablowanie i złącza 40- i 44-pinowe,
opcje konfiguracji Master/Slave oraz Cable Select,
taktowanie sygnału dla trybów programowalnego I/O (PIO) i bezpośredniego dostępu do pamięci (DMA),
translacja parametrów dysku: cylinder, głowica, sektor (CHS) i adres bloku logicznego (LBA), pozwalająca na obsługę dysków o pojemnościach do 228 - 220 (267 386 880) sektorów lub 136,9 GB.
Choć specyfikacja ATA-1 była w użyciu od 1986 r., prace mające na celu ustanowienie jej oficjalnym standardem rozpoczęły się w 1988 r. pod nadzorem organizacji CAM (Common Access Method). Standard ATA-1 został ukończony i oficjalnie opublikowany w 1994 r. jako ANSI X3.221-1994, AT Attachment Interface for Disk Drives. Specyfikacja ATA-1 została oficjalnie wycofana 6 sierpnia 1999 roku.
Choć ATA-1 obsługiwała teoretycznie dyski o pojemności do 136,9 GB (228 - 220 = 267 386 880 sektorów), BIOS ograniczał tę pojemność do 528 MB (1024 x 16 x 63 = 1 032 192 sektory). Ograniczenia BIOS były rozwiązane w kolejnych wersjach interfejsu ATA, ponieważ w tym czasie nie były dostępne dyski o pojemności większej niż 528 MB.
ATA-2
Standard ATA-2, który po raz pierwszy pojawił się w roku 1993, został znacznie ulepszony w stosunku do pierwszego standardu ATA. Prawdopodobnie największą zmianą była zmiana funkcji interfejsu. Standard ATA-2 nie jest ograniczony jedynie do dysków twardych, definiuje on interfejs pomiędzy systemem a dowolnym urządzeniem służącym do przechowywania danych. W porównaniu do oryginalnego standardu ATA, w ATA-2 zostały dodane między innymi następujące funkcje:
szybsze tryby transmisji PIO i DMA,
obsługa zarządzania energią,
obsługa nośników wymiennych,
obsługa urządzeń PCIMCA (obecnie PC card),
polecenie Identify Drive zwracające więcej informacji o urządzeniu,
zdefiniowane metody translacji CHS/LBA dla napędów o pojemności do 8,4 GB.
Najważniejszymi udoskonaleniami standardu ATA-2 były obsługa szybszych trybów PIO i DMA, jak również umożliwienie obsługi przez BIOS dysków o pojemności do 8,4 GB. Wspomaganie BIOS-u było niezbędne, ponieważ pozwalał on na obsługę dysków o maksymalnej pojemności 528 MB, mimo że sam standard ATA pozwalał na konstruowanie dysków o maksymalnej pojemności 136,9 GB. Dodanie funkcji translacji parametrów umożliwiło obsługę przez BIOS dysków o pojemnościach do 8,4 GB. Funkcja ta zostanie dokładniej omówiona w dalszej części rozdziału.
W standardzie ATA-2 znalazły się również rozszerzenia polecenia Identify Drive, co pozwala na odczytywanie przez oprogramowanie dokładnej charakterystyki dysku. Usprawnienie to jest kluczowe dla działania technologii Pług and Play (PnP) oraz zgodności z kolejnymi wersjami standardu.
Tabela 7.2. Standardy ATA
Standard |
Zaproponowany |
Opublikowany |
Wycofany |
Tryby PIO |
Tryby DMA |
Tryby UDMA |
Szybkość interfejsu równoległego (MB/s) |
Szybkość interfejsu równoległego (MB/s) |
ATA-1 |
1988 |
1994 |
1999 |
0-2 |
0 |
— |
8,33 |
— |
ATA-2 |
1993 |
1996 |
2001 |
0-4 |
0-2 |
— |
16,67 |
— |
ATA-3 |
1995 |
1997 |
2002 |
0-4 |
0-2 |
— |
16,67 |
— |
ATA-4 |
1996 |
1998 |
— |
0-4 |
0-2 |
0-2 |
33,33 |
— |
ATA-5 |
1998 |
2000 |
— |
0-4 |
0-2 |
0-4 |
66,67 |
— |
ATA-6 |
2000 |
2002 |
— |
0-4 |
0-2 |
0-5 |
100 |
— |
ATA-7 |
2001 |
2004 |
— |
0-4 |
0-2 |
0-6 |
133 |
150 |
SATA-8 |
2004 |
— |
— |
— |
|
— |
— |
300 |
SMART = Self-Monitoring, Analysis and Reporting Techology — technologia samoczynnego monitorowania,
analizy i raportowania uszkodzeń.
A TAPI = AT Attachment Packet Interface.
MB = Megabajt; milion bajtów.
GB = Gigabajt; miliard bajtów.
PB = Pelabajl; kwadrylion bajtów.
CHS - Cylinder, Head, Sector — cylinder, głowica, sektor. LBA = Logical błock address — adres bloku logicznego. PIO = Programmed l/O—programowalne wejście-wyjście. DMA = Direct Memory Access — bezpośredni dostąp do pamięci. UDMA = Ultra DMA.
Standard ATA-2 byl również znany pod nieoficjalną nazwą Fast-ATA lub Fast-ATA-2 (Seagate i Quantum) oraz EIDE (Enchanced IDE — Western Digital).
Choć prace nad standardem ATA-2 rozpoczęły się w 1993 r., oficjalnie został on opublikowany dopiero w 1996 r. jako ANSI X3.279-1996 AT Attachment Interface with Extensions. Standard oficjalnie wycofano w 2001 r.
ATA-3
Standard ten po raz pierwszy pojawił się w roku 1995 i był stosunkowo niewielkim rozszerzeniem standardu ATA-2. Zawierał on kilka zmian oraz wyjaśnień mających na celu uporządkowanie specyfikacji. Największymi zmianami były:
usunięcie protokołu komunikacji DMA korzystającego z jednego słowa (8 bitów),
dodanie technologii SMART (Self-Monitoring, Analysis and Reporting Techology) służącej do przewidywania awarii urządzenia,
obowiązkowe użycie trybu LBA (początkowo było to opcjonalne),
dodanie trybu bezpiecznego, który pozwalał na stosowanie hasła chroniącego przed dostępem do urządzenia,
zalecenie stosowania terminatorów magistrali źródła i odbiornika, co pozwoliło na rozwiązanie problemów z zakłóceniami przy szybszych trybach transmisji danych.
Standard ten, oparty na ATA-2, pozwolił na zwiększenie niezawodności, szczególnie dla szybkiego trybu transmisji PIO 4, choć standard ten nie definiował nowego, szybszego trybu transmisji. ATA-3 pozwalał na stosowanie prostego schematu bezpieczeństwa korzystającego z hasła, bardziej zaawansowanego systemu zarządzania energią oraz technologii SMART Pozwala ona na wykrywanie problemów mogących spowodować awarię urządzenia. Technologia ta została opracowana w firmie IBM.
Prace nad standardem ATA-3 zaczęły się w 1995 r., a ukończono je w roku 1997, w którym oficjalnie opublikowano go jako ANSI X3.298-1997 AT Attachment 3 Interface. Standard oficjalnie wycofano w 2002 r.
Standard |
Możliwości |
ATA-1 |
Maksymalna pojemność dysku 136,9 GB; brak obsługi BIOS-u |
ATA-2 |
Szybsze tryby PIO; translacja BIOS CHS/LBA zdefiniowana do 8,4 GB; PC-Card |
ATA-3 |
SMART; ulepszona integralność sygnału; obowiązkowa obsługa LBA; usunięte tryby DMA na jednym słowie |
ATA-4 |
Tryby Ultra-DMA; ATAPI Packet Interface; obsługa BIOS-u do 136,9 GB |
ATA-5 |
Szybsze tryby UDMA; 80-pinowe kable z autodetekcją |
ATA-6 |
Tryb UDMA 100 MB/s; pojemność dysku i obsługa BIOS-u do 144 PB |
ATA-7 |
Tryb UDMA 133 MB/s; Serial ATA |
SATA-8 |
Serial ATA II |
ATA/ATAPI-4
Standard ATA-4 po raz pierwszy pojawił się w roku 1996 i zawierał kilka ważnych ulepszeń standardu ATA. Zawiera on polecenie Packet Command, które pozwala na skorzystanie z funkcji o nazwie AT Attachment Packet Interface (ATAPI). Funkcja ta pozwala na przyłączenie urządzeń takich jak: napędy CD-ROM i CD-RW, napędy dyskietek LS-120 SuperDisk, napędy Zip, napędy taśm i inne tego typu urządzenia. Do czasu opublikowania ATA-4, ATAPI było osobno publikowanym standardem. W standardzie ATA-4 dodano również tryb przesyłu z prędkością 33 MB/s, znany pod nazwą Ultra-DMA lub Ultra-ATA. Standard ATA-4 jest zgodny z ATA-3 i wcześniejszymi definicjami ATAPI.
Prace nad standardem ATA-4 zaczęły się w 1996 r., a ukończono je w roku 1998, w którym oficjalnie opublikowano go jako ANSINCITS 317-1998 ATAttachment-4 with Packet Interface Extension.
Głównymi rozszerzeniami ATA-4 były:
Tryb przesyłu Ultra-DMA (UDMA) 2, który zapewniał przepustowość 33 MB/s (zwany również UDMA/33 lub Ultra-AT A/33).
Wbudowana obsługa ATAPI.
Zaawansowane zarządzanie energią.
Opcjonalna 80-żyłowa taśma dla 40-pinowego gniazda, która zapewniała lepszą odporność na zakłócenia.
Obsługa przestrzeni HPA (Host Protected Area).
Obsługa czytnika kart Compact Flash (CFA).
Wprowadzenie rozszerzonej obsługi BIOS-u dla dysków o pojemnościach do 9,4 ZB (zetabajtów lub biliona gigabajtów), choć standard ATA nadal ograniczał pojemność dysków do 136,9 GB.
Wydajność i poziom obsługi standardu ATA w komputerach w większości zależny jest od układów płyty głównej. Większość z nich wykorzystuje komponent płyty głównej nazywany mostkiem południowym (ang. South Bridge) lub koncentratorem kontrolera wejścia-wyjścia (ang. I/O Controller Hub), który, oprócz innych funkcji, zawiera również interfejs ATA. Specyfikacja płyty głównej lub układów płyty głównej określa obsługiwane tryby: ATA/33, ATA/66, ATA/100 lub ATA/133. Innym sposobem na sprawdzenie dostępnych trybów jest uruchomienie trybu BIOS Setup i na ekranie ręcznego ustawiania parametrów dysku odczytanie dostępnych trybów Ultra-DMA. Większość płyt głównych z roku 1998 obsługuje ATA/33; w 2000 roku dostępny był tryb ATA/66, a już na końcu 2000 większość płyt zapewniała obsługę ATA/100. Obsługa ATA/133 stała się powszechna w połowie 2002 r.
► ► Zajrzyj do punktu „Chipsety'' znajdującego się na stronie 292.
Do standardu ATA-4 została dołączona specyfikacja ATAPI. Dzięki temu stał się on interfejsem dla różnych typów urządzeń. Do standardu ATA-4 dodano również nowe tryby Ultra-DMA (nazywane również Ultra-ATA) zapewniające wyższe prędkości przesyłu danych. Tryb o najwyższej przepustowości, nazwany UDMA/33. zapewniał transfer 33 MB/s — dwukrotnie więcej niż najszybszy tryb PIO lub najszybszy poprzednio obsługiwany tryb DMA. Oprócz wysokiej prędkości przesyłu osiągnięto dalsze zwiększenie wydajności systemu, ponieważ tryb UDMA powoduje mniejsze obciążenie procesora.
Dla potrzeb transferu w trybie UDMA/33 zaprojektowano opcjonalny 80-żyłowy kabel (wraz z funkcją cable select). Choć w oryginale kabel ten był elementem opcjonalnym, później okazało się, że jest on niezbędny dla szybszych trybów przesyłu: ATA/66, ATA/100 i ATA/133, wprowadzonych w specyfikacji ATA-5 i późniejszych. Wiele dysków twardych zakupionych w sklepie jest wyposażonych w 80-żyłowy kabel, natomiast innego typu urządzenia, takie jak napędy optyczne, dysponują jedynie kablem 40-żyłowym.
Za pomocą opcjonalnego polecenia SET MAX ADDRESS wprowadzono obsługę zarezerwowanego obszaru dysku, nazywanego przestrzenią HPA. Dzięki temu poleceniu część dysku przeznaczana jest na potrzeby oprogramowania odzyskującego dane.
Dodano również obsługę poleceń kolejkowania, podobnych do zastosowanych w interfejsie SCSI-2. Pozwala to na lepszą obsługę wielozadaniowości w sytuacjach, gdy liczne programy wymagają komunikacji z dyskiem ATA.
► ► Zajrzyj do punktu „SCSI kontra ATA" znajdującego się na stronie 657.
Kolejnym standardem zatwierdzonym w 1998 r. przez organizację Technical Committee T13 był ANSI NCITS 316-1998 1394 to ATAttachment — Tailgate. Jest to standard protokołu mostka łączącego magistralę IEEE 1394 (i.Link/FireWire) z interfejsem ATA. Protokół umożliwia przystosowanie napędów ATA do interfejsu FireWire. Tailgate jest adapterem (niewielka płytka obwodów drukowanych) zamieniającym interfejs IEEE 1394 (i.Link/FireWire) na interfejs ATA, dzięki czemu możliwe jest przede wszystkim podłączenie napędów ATA do magistrali FireWire. Rozwiązanie to umożliwiło producentom, takim jak Maxtor, Western Digital i inne firmy, w krótkim czasie stworzyć zewnętrzne napędy IEEE 1394 (FireWire) przeznaczone do archiwizacji i przechowywania danych na nośnikach wymiennych o dużej pojemności. Wewnątrz prawie każdego zewnętrznego napędu FireWire znajduje się urządzenie Tailgate i standardowy dysk ATA.
► ^ Zajrzyj do punktu „IEEE 1394" znajdującego się na stronie 1053.
ATA/ATAPI-5
Standard ATA-5 po raz pierwszy pojawił się w 1998 r. i oparty był na poprzednim standardzie interfejsu ATA-4. ATA-5 uwzględnia tryb Ultra-ATA/66 (inaczej Ultra-DMA lub UDMA/66), podwajający szybkość przesyłania danych, co jest osiągane przez zmniejszenie czasu przygotowania i zwiększenie częstotliwości zegara. Wyższa częstotliwość zwiększa zakłócenia wywołujące problemy ze zwykłym 40-żyłowym kablem stosowanym w przypadku interfejsów ATA i Ultra-ATA. W celu wyeliminowania szumów i zakłóceń obecnie w przypadku dysków zgodnych z trybem UDMA/66 lub jego szybszymi wersjami wymagane jest stosowanie nowszych 80-żytowych kabli ze złączem 40-pinowym. Po raz pierwszy kabel został zaprezentowany przy okazji standardu ATA-4. Obecnie użycie kabla jest wymagane w przypadku interfejsu ATA-5, obsługującego tryb Ultra-ATA/66. Kabel posiada 40 dodatkowych żył uziemienia, z których każda umieszczona jest pomiędzy pierwotnymi 40 żyłami uziemienia i danych. Pomaga to w odizolowaniu sygnałów od zakłóceń. Warto zauważyć, że za pomocą kabla można podłączyć starsze urządzenia niezgodne z Ultra-ATA, ponieważ nadal posiada on identyczne złącza 40-pinowe.
Prace nad standardem ATA-5 zaczęły się w 1998 r.. a ukończono je w roku 2000, w którym oficjalnie opublikowano go jako ANSI NCITS 340-2000 AT Attachment-5 with Packet Interface.
Głównymi zmianami w stosunku do poprzedniego standardu są:
Tryb Ultra-DMA (UDMA) 4, który zapewnia przepustowość 66 MB/s (nazywany również UDMA/66 lub Ultra-ATA/66).
80-żyłowy kabel jest niezbędny dla pracy w trybie UDMA/66.
Dodana funkcja automatycznego wykrywania rodzaju kabla — 40 lub 80-żyłowego.
Tryby UDMA powyżej UDMA/33 są dostępne jedynie po wykryciu 80-żyłowego kabla.
Nowy, 40-pinowy i 80-żyłowy kabel obsługuje również funkcję cable select, a kolory złączy oznaczają ich funkcję. Niebieskie złącze powinno być włączone do gniazda interfejsu ATA (zwykle na płycie głównej). Złącze czarne (na drugim końcu kabla)jest przeznaczone dla urządzeń master i wpina sieje do podstawowego urządzenia. Złącze szare (pomiędzy powyżej wymienionymi) służy do podłączenia urządzenia slave.
Aby skorzystać z trybu UDMA/66 niezbędne jest posiadanie odpowiedniego interfejsu ATA, napędu, BIOS-u i kabla. Również system operacyjny musi obsługiwać transfer DMA. Windows 95 OSR2 i późniejsze, Windows 98/ME i Windows 2000/XP obsługują przesył DMA, ale starsze wersje Windows 95 i NT (bez Service Pack 3) dla pełnego wykorzystania szybszych trybów przesyłu wymagają zastosowania dodatkowych lub poprawionych sterowników. W celu uzyskania najnowszych sterowników należy skontaktować się z producentem płyty głównej lub komputera.
W celu poprawienia niezawodności w trybie Ultra-DMA zastosowano mechanizm wykrywania błędów zwany cyklicznym kodem nadmiarowym (CRC). CRC jest algorytmem obliczającym sumę kontrolną wykorzystywaną do wykrywania błędów w przesyłanym strumieniu danych. Suma kontrolna dla każdego przesyłu Ultra-DMA jest wyliczana zarówno w kontrolerze, jak i dysku. Po przesłaniu danych obie sumy kontrolne są porównywane i w przypadku wykrycia różnic kontroler może wybrać wolniejszy tryb przesyłu i powtórzyć żądanie przesłania danych.
ATA/ATAPI-6
Rozpoczęcie prac nad standardem ATA-6 nastąpiło w roku 2000. Standard zawiera tryb Ultra-ATA/100 (nazywany również Ultra-DMA lub UDMA/100), w którym osiągnięto większą szybkość przesyłu dzięki skróceniu czasów ustalania sygnału i zwiększeniu częstotliwości zegara. Podobnie jak w przypadku ATA-5. szybszy tryb przesyłu wymaga zastosowania kabla 80-żyłowego. Aby skorzystać z trybu ATA/100. należy mieć płytę główną i dysk obsługujący ten tryb.
Prace nad standardem ATA-6 zaczęły się w 2000 r., a ukończono je w roku 2002, w którym oficjalnie opublikowano go jako ANSI NCITS 361-2002 AT Attachment-6 with Packet Interface.
Głównymi zmianami i uzupełnieniami są:
Dodany tryb Ultra-DMA 5, pozwalający na osiągnięcie przepustowości 100 MB/s (nazywany również UDMA/100, Ultra-ATA/100 lub ATA/100).
Rozmiar pola maksymalnej liczby sektorów na polecenie została zwiększona z 8 bitów (256 sektorów lub 131 kB) do 16 bitów (65 536 sektorów lub 33.5 MB), co pozwala na efektywniejsze przesyłanie dużych plików.
Adresowanie LBA zostało rozszerzone z 238 do 248 (281 474 976 710 565) sektorów, co pozwala na obsługę dysków do 144,12 PB (petabajtów = kwadryliona bajtów). Funkcja często nazywana jest 48-bitowym LBA lub obsługą pojemności przekraczających 137 GB. Firma Maxtor określa funkcję terminem Big Drive.
Adresowanie CHS wyszło z użycia; dyski mogą korzystać jedynie z 28-bitowego lub 48-bitowego adresowania LBA.
Oprócz udostępnienia trybu UDMA 5, w standardzie ATA-6 znacznie powiększono rozmiar dysku. ATA-5 i wcześniejsze pozwalały na budowanie dysków o pojemności do 137 GB. Było to kłopotliwe ograniczenie, ponieważ dostępne były już dyski o większej pojemności. Dyski 3,5-calowe przekraczające 137 GB można było kupić już w roku 2001, ale na początku były oferowane jedynie w wersji SCSI, ponieważ interfejs SCSI nie posiada tych samych ograniczeń, co interfejs ATA. W standardzie ATA-6 limit adresowania został zwiększony z 228 do 248 sektorów. Oznacza to, że poprzednio adresowanie LBA korzystało z liczb 28-bitowych, a w przypadku ATA-6, jeżeli jest to konieczne, można korzystać z liczb 48-bitowych. W przypadku zastosowania 512 bajtów na sektor podnosi to maksymalną pojemność dysku do 144,12 PB. Jest to ponad 144 kwadry-liony bajtów! Adresowanie 48-bitowe jest opcjonalne i niezbędne jedynie w przypadku dysków o pojemności większej nić 137 GB. W przypadku mniejszych dysków można stosować zarówno adresowanie 28-bitowe, jak i 48-bitowe.
ATA/ATAPI-7
Prace nad standardem ATA-7 rozpoczęły się pod koniec roku 2001 i trwają nadal. Podobnie jak wszystkie inne standardy, ATA-7 powstał w oparciu o poprzedni standard, do którego wprowadzono kilka ulepszeń.
Podstawowym ulepszeniem w ATA-7 jest kolejny tryb przesyłu noszący nazwę UDMA 6, który pozwala na osiągnięcie przepustowości 133 MB/s. Podobnie jak w przypadku UDMA 5 (100 MB/s) i UDMA 4 (66 MB/s), niezbędne jest zastosowanie 80-żyłowego kabla transmisyjnego. Wolniejsze tryby nie wymagają zastosowania tego kabla, ale jego stosowanie zawsze jest zalecane.
Kolejną znaczącą zmianą wprowadzoną w standardzie ATA-7 było uwzględnienie w nim specyfikacji Serial ATA 1.0. Dzięki temu standard SATA stanowi oficjalną część standardu ATA. Prace nad standardem ATA-7 zaczęto w 2001 r., a ukończono je w roku 2004, w którym oficjalnie go opublikowano.
Należy zauważyć, że choć dzięki trybom UDMA zwiększyła się przepustowość pomiędzy kontrolerem napędu (na dysku) a płytą główną, w przypadku większości dysków ATA — nawet tych, które obsługują tryb UDMA 6 (133 MB/s) pomiędzy dyskiem a płytą główną— nadal maksymalny ciągły transfer odczytywanych danych utrzymuje się poniżej 60 MB/s. Oznacza to, że chociaż najnowsze dyski ATA potrafią transmitować dane pomiędzy elektroniką dysku a płytą główną z prędkością 133 MB/s, dane z talerzy dysku do jego elektroniki są przesyłane o ponad połowę wolniej. Z tego powodu przyłączenie dysku UDMA 6 (133 MB/s) do płyty głównej, która obsługuje jedynie tryb UDMA 5 (100 MB/s), nie spowoduje zbytniego spowolnienia systemu. Podobnie wymiana adaptera ATA 100 MB/s na taki, który obsługuje 133 MB/s, nie zwiększy szybkości działania systemu, ponieważ zastosowany dysk potrafi odczytywać dane ze swoich talerzy z prędkością o połowę mniejszą. Należy pamiętać, że ważniejsza od szybkości przesyłu przez interfejs jest szybkość odczytu danych z nośnika, ponieważ właśnie ona ogranicza maksymalną wydajność systemu.
Standard ATA-7 jest ostatnią wersją wiekowego równoległego standardu ATA. Standard ATA rozwija się pod postacią standardu Serial ATA, który uwzględniono w specyfikacji ATA-7 i szczegółowo omówiono w dalszej części rozdziału.
SATA/ATAPI-8
W 2004 r. rozpoczęły się prace nad standardem SATA-8, będącym nową wersją standardu ATA, opartą na poprzedniku — ATA-7. W nowym standardzie zostanie dodatkowo udoskonalony interfejs Serial ATA, usunięty natomiast zostanie całkowicie równoległy interfejs ATA.
Główne zmiany dokonane w standardzie SATA-8 to:
Usunięcie ze standardu równoległego interfejsu ATA.
Zastąpienie długich funkcji odczytu i zapisu.
Udoskonalenie zarządzania przestrzenią HPA.
Najbardziej radykalną zmianą jest wyeliminowanie ze standardu SATA-8 równoległego interfejsu ATA. Celem tego nie jest jednak wycofanie z użycia tego typu interfejsu. Przy pracach nad standardem SATA-8 dąży się do udostępnienia w zgodnych z nim dyskach SATA nowych możliwości i funkcji, a jednocześnie także do umożliwienia dalszej produkcji dysków z interfejsem równoległym ATA, zgodnych ze standardem ATA-7. Innymi słowy, dyski z interfejsem równoległym nadal będą zgodne ze standardem ATA-7 i jego poprzednikami, natomiast dyski SATA — ze standardem ATA-7 i jego następcami. Uproszczenie w ten sposób standardu ATA pozwala wyeliminować przestarzałe funkcje równoległego interfejsu ATA. Dokonano tego z myślą o przyszłych standardach, w których będzie można uzyskać bardziej przejrzysty i zwięzły opis interfejsu Serial ATA. Można oczekiwać, że prace nad standardem SATA-8 zakończą się w 2006 r. i wtedy zostanie on opublikowany.
Interfejs równoległy ATA
W porównaniu z interfejsem Serial ATA równoległy interfejs ATA posiada unikalne specyfikacje i wymagania dotyczące fizycznego interfejsu, kabli i złącz. W kolejnych punktach szczegółowo zostaną omówione funkcje równoległego interfejsu ATA.
Złącze równoległe ATA
Złącze równoległego interfejsu ATA jest 40-pinowym złączem szufladowym z pinami rozmieszczonymi co 0,1 cala (2,54 mm) i najczęściej ma zabezpieczenie przed włożeniem go odwrotną stroną (patrz rysunki 7.2 i 7.3.). W celu utworzenia takiej blokady, producenci najczęściej usuwają pin 20 z gniazda męskiego i blokują pin 20 w żeńskim złączu kabla. Zabezpiecza to przez odwrotnym zainstalowaniem kabla danych. Niektóre kable posiadają również występ na górze złącza żeńskiego, który trafia w wycięcie obudowie współpracującego z nim złącza męskiego w urządzeniu. Zalecane jest stosowanie blokowanych złączy i kabli. Odwrotne włączenie kabla ATA nie powoduje zwykle żadnych uszkodzeń, ale może sprawić, że systemu nie da się uruchomić.
Rysunek 7.2.
Typowe złącza dysku twardego ATA (IDE)
Rysunek 7.3.
Szczegóły budowy 40-pinowego złącza interfejsu A TA (IDE)
W tabeli 7.3 pokazane zostały funkcje poszczególnych pinów złącza równoległe interfejsu ATA (IDE).
Tabela 7.3. 40-pinowe złącze równoległe ATA
Nazwa sygnału |
Pin |
Pin |
Nazwa sygnału |
-RESET 1 |
2 |
GROUND |
|
7 bit danych |
3 |
4 |
8 bit danych |
6 bit danych |
5 |
6 |
9 bit danych |
5 bit danych |
7 |
8 10 bit danych |
|
4 bit danych |
9 |
10 |
11 bit danych |
3 bit danych |
11 |
12 |
12 bit danych |
2 bit danych |
13 |
14 |
13 bit danych |
1 bit danych |
15 |
16 |
14 bit danych |
0 bit danych |
17 |
18 15 bit danych |
|
GROUND |
19 |
20 |
Blokada (brakujący pin) |
DRQ 3 |
21 |
22 |
GROUND |
-IOW |
23 |
24 |
GROUND |
-IOR |
25 |
26 |
GROUND |
l/O CH RDY |
27 |
28 |
CSELiSPSYNC1 |
-DACK |
29 |
30 |
GROUND |
IRQ 14 |
31 |
32 |
Zarezerwowane2 |
1 bit adresu |
33 |
34 |
-PDIAG |
0 bit adresu |
35 |
36 |
2 bit adresu |
-CS1FX |
37 |
38 |
-CS3FX |
-DA/SP |
39 |
40 |
GROUND |
+5V (elektronika) |
41 |
42 |
+5V (silnik) |
GROUND |
43 |
44 |
Zarezerwowane |
Pin 28 jest zwykle używany przez funkcję cable select, ale niektóre starsze dyski wykorzystują go do synchronizacji obrotów pomiędzy dyskami.
2Pin 32 był w standardzie A TA-2 zdefiniowany jako -IOCSl 6. ale nie jest już używany.
Znak „ - " poprzedzający nazwę sygnału (na przykład -RESET) wskazuje, że sygnał jest aktywny w stanie niskim.
Napędy 2,5 cala, stosowane w laptopach i notebookach, korzystają zwykle z mniejszego zintegrowanego gniazda 50-pinowego, którego piny są od siebie oddalone jedynie o 2 mm (0,079 cala). Główna 40-pinowa część złącza jest identyczna jak standardowe złącze ATA (poza rozstawem pinów), ale dodane są do tego złącza piny zasilające i służące do montowania zworek. Normalnie podłączany kabel ma 44 przewody i oprócz standardowych sygnałów ATA służy również do zasilania dysku. Na piny oznaczone na rysunku literami A-D zwykle nałożona jest zworka, której położenie określa ustawienia master, slave i cable select). Na rysunku 7.4 pokazane zostało zintegrowane 50-pinowe złącze używane do podłączania dysków 2,5 cala stosowanych w laptopach i notebookach.
Rysunek 7.4.
Budowa 50-pinowego zintegrowanego złącza równoległego interfejsu ATA (wykorzystywanego w 2,5-calowych napędach dysków A TA dla notebooków i laptopów, używających 44-pinowego kabla)
Należy zwrócić uwagę na zworkę na pinach A-D oraz usunięte piny E i F. Zworka umieszczona na pinach B i D najczęściej ustawia dysk w tryb cable select. W przypadku tego złącza pin 41 dostarcza napięcia +5V wykorzystywanego do zasilania układów elektronicznych dysku, a pin 42 dostarcza napięcia +5V wykorzystywanego do zasilania silnika (w dyskach 2,5 cala stosowane są silniki 5 V w przeciwieństwie do większych napędów, gdzie stosuje się zwykle silniki 12 V), natomiast na pinie 43 doprowadzona jest masa. Ostatni pin (44) jest zarezerwowany i nie jest wykorzystywany.
W tabeli 7.4 przedstawiono budowę 50-pinowego zintegrowanego złącza równoległego interfejsu ATA wykorzystywanego w większości 2,5-calowych napędów dysków ATA (dla notebooków i laptopów).
Tabela 7.4. 50-pinowe zintegrowane złącze równoległego interfejsu ATA 2,5 cala (napędy dla notebooków i laptopów)
Nazwa sygnału |
Pin |
Pin |
Nazwa sygnału |
Zworka |
A |
|
Zworka |
Zworka |
C |
D |
Zworka |
Blokada (brakujący pin) |
E |
F |
Blokada (brakujący pin) |
-RESET |
1 |
2 |
GROUND |
7 bit danych |
3 |
4 |
8 bit danych |
6 bit danych |
5 |
6 |
9 bit danych |
5 bit danych |
7 |
8 10 bit danych |
|
4 bit danych |
9 |
10 |
11 bit danych |
3 bit danych |
11 |
12 |
12 bit danych |
2 bit danych |
13 |
14 |
13 bit danych |
1 bit danych |
15 |
16 |
14 bit danych |
0 bit danych |
17 |
18 15 bit danych |
|
GROUND |
19 |
20 |
Blokada (brakujący pin) |
DRQ 3 |
21 |
22 |
GROUND |
-IOW |
23 |
24 |
GROUND |
-IOR |
25 |
26 |
GROUND |
I/O CH RDY |
27 |
28 |
CSEL |
-DACK |
29 |
30 |
GROUND |
1RQ 14 |
31 |
32 |
Zarezerwowane |
1 bit adresu |
33 |
34 |
-PDIAG |
0 bit adresu |
35 |
36 |
2 bit adresu |
-CS1FX |
37 |
38 |
-CS3FX |
-DA/SP |
39 |
40 |
GROUND |
+5V (elektronika) |
41 |
42 |
+5V (silnik) |
GROUND |
43 |
44 |
Zarezerwowane |
Kabel danych równoległego interfejsu ATA
Do przesyłania sygnałów pomiędzy układami adaptera magistrali i dyskiem (kontrolerem) stosowany jest 40-żyłowy kabel w postaci taśmy. W celu maksymalnego zwiększenia integralności sygnału i wyeliminowania potencjalnych problemów z zakłóceniami i opóźnieniami, kabel ten nie może być dłuższy niż 18 cali (46 cm). Testy pokazują, że z powodzeniem można korzystać z 80-żyłowego kabla o maksymalnej długości 69 cm.
Nie wszystkie kable i złącza są blokowane
Wielu producentów tanich płyt głównych i kabli nie stosuje tego mechanizmu. Tańsze płyty główne nie posiadają również usuniętego 20. pinu ze złącza ATA i konsekwentnie wykorzystują kabel bez zablokowanego otworu dla 20. pinu. Jeżeli nie zostanie zastosowane obudowane gniazdo z wycięciem i odpowiadającym mu występem na złączu kabla, nie istnieje żadne blokowanie i możliwe jest odwrotne przyłączenie kabli. Na szczęście jedyną konsekwencją nieprawidłowego połączenia jest to, że urządzenie nie działa do chwili prawidłowego przyłączenia kabla.
Warto zauważyć, że w przypadku niektórych komputerów na ekranie nie jest nic wyświetlane do momentu zareagowania napędów ATA na uruchamiające je polecenie. Polecenie nie może jednak zostać do nich przekazane, gdy kabel zostanie podłączony odwrotnie. A zatem, jeśli po zainstalowaniu napędu ATA pozbawionego blokad w złączu i włączeniu komputera ma się wrażenie, że komputer się „zawiesił" (nic nie pojawia się na ekranie), należy sprawdzić kabel ATA (na rysunku 7.6 pokazano przykłady kabli ATA posiadających w złączach blokady i kabli ich pozbawionych).
W rzadkich sytuacjach, gdy dopasowujemy różne elementy, może się zdarzyć, że kabel ma zablokowany 20. pin (tak jak powinno być), natomiast na płycie głównej istnieje pin 20. W tym przypadku można wyłamać tenże pin z płyty głównej lub usunąć blokadę z kabla. Niektóre kable posiadają tę blokadę zainstalowaną na stałe, jako część obudowy złącza, i w takim przypadku trzeba wyłamać pin 20. z płyty głównej lub skorzystać z innego kabla.
Należy pamiętać o prostej zasadzie, że pin 1. powinien być umieszczony obok gniazda zasilającego urządzenie i zwykle jest on oznaczony prążkiem na kablu.
Należy pamiętać, że napędy ATA obsługujące tryby transmisji o dużej szybkości przesyłu, na przykład PIO 4 i wszystkie tryby Ultra-DMA (UDMA), w przypadku gdy kable są zbyt długie, są szczególnie narażone na zakłócenia integralności sygnału. Jeżeli kabel jest zbyt długi, dane mogą zostać uszkodzone lub będą występowały inne dokuczliwe problemy. Będą się one objawiać błędami odczytu i zapisu na dysku. Dodatkowo, wszystkie dyski korzystające z trybu UDMA 5 (66 MB/s), UDMA 6 (100 MB/s) lub UDMA 7 (133 MB/s) muszą korzystać ze specjalnego 80-żyłowego kabla o lepszej jakości (kable takie są dodatkowo uziemione w celu zmniejszenia szumów). Polecam również stosowanie takich kabli w przypadku dysków pracujących w trybie UDMA 2 (33 MB/s) lub wolniejszych, ponieważ w żadnym przypadku to nie zaszkodzi, a może jedynie pomóc. Zawsze mam zapasowy kabel 80-żyłowy wysokiej jakości i stosuję go do testowania poprawności pracy dysków w przypadku, gdy podejrzewam problemy związane z długością lub jakością kabla. Na rysunku 7.5 pokazany jest typowy układ kabla ATA i jego wymiary.
Rysunek 7.5.
Kabel
równoległego interfejsu ATA (IDE) z 40-pinowymi złączami i 40 lub 80-żyłowym kablem (w wersji 80-żyłowej dodatkowe przewody są uziemione)
W przypadku większości kabli 40-żyłowych nie jest stosowane kodowanie kolorami, natomiast w przypadku kabli 80-żyłowych takie kodowanie stosowane jest zawsze.
W chwili obecnej stosowane są dwa rodzaje kabli równoległego interfejsu ATA: 40-żyłowy i 80-żyłowy (rysunek 7.6). Oba korzystają ze złączy 40-pinowych — dodatkowe przewody w kablu 80-żyłowym są po prostu uziemieniem. Dzięki tym dodatkowym przewodom zmniejszają się zakłócenia i interferencje. Kabel taki jest
Rysunek 7.6.
40-żylowy
(po lewej)
i 80-żyłowy
(po prawej)
kabel równoległego
interfejsu A TA
wymagany, jeżeli interfejs ma pracować z prędkością 66 MB/s (ATA/66) lub większą. Dysk oraz host adapter są zaprojektowane w taki sposób, aby wyłączać tryby ATA/66, ATA/100 lub ATA/133 w przypadku, gdy nie zostanie wykryty 80-żyłowy kabel. Jeśli w takim przypadku napęd ATA/66 lub szybszy zostanie podłączony do 40-żyłowego kabla, podczas uruchamiania komputera może pojawić się komunikat ostrzegawczy. Kabel ten może być również stosowany w przypadku wolniejszych trybów; nie jest to wymagane, ale polepsza się wtedy jakość sygnału. Dlatego zaleca się stosowanie kabli 80-żyłowych do podłączania wszystkich rodzajów dysków.
Kiedyś student zapytał mnie, jak odróżnić kabel 80-żyłowy od 40-żyłowego. Pomyślałem przez chwilę: „Czy to pytanie nie jest podchwytliwe?"'. Może student ów nie wiedział, że każda żyła kabla taśmowego jest identyfikowana przez wypukłość kabla. Prostą odpowiedzią jest policzenie żył znajdujących się w kablu. Jeśli będzie ich 40, musi to być kabel 40-żyłowy. Jeśli natomiast okaże się, że żył jest 80, odpowiedzi można się samemu domyślić. Jeśli oba typy kabli położy się obok siebie, różnica między nimi stanie się oczywista. W porównaniu z wersją 40-żyłową kabel 80-żyłowy ma oczywiście większą liczbę wypukłości.
Należy zwrócić uwagę na blokady na złączach 80-żyłowego kabla, które mają za zadanie zapobiec jego odwrotnemu podpięciu. Warto też zauważyć, że kiepskiej jakości 40-żyłowy kabel pokazany na powyższym rysunku jest pozbawiony blokad. Większość dobrze wykonanych kabli 40-żyłowych posiada takie blokady, jednak — ze względu na to, że ich używanie nie jest konieczne — wiele tanich kabli nie jest w nie wyposażonych. W przypadku kabli 80-żyłowych jest inaczej — tu stosowanie blokad jest nakazane w standardzie.
Kable dłuższe i „zaokrąglone"
Oficjalny standard równoległego interfejsu ATA ogranicza długość kabli do 46 cm. Jednak sprzedawanych jest wiele kabli o długości osiągającej 91 cm, a nawet więcej. Wielu Czytelników zadało mi pytanie: „Dlaczego sprzedawane są kable dłuższe niż 46 cm, jeśli standard na to nie zezwala?". Jeżeli coś znalazło się w sprzedaży, nie oznacza to, że zgodne jest ze standardem i poprawnie działa! Cały czas spotykam się z produktami nieprawidłowo zaprojektowanymi, kiepskiej jakości i niezgodnymi z normami. Nadal wiele osób korzysta ze zbyt długich kabli i pomimo to ich komputery świetnie działają, ale miałem też do czynienia z kilkoma przypadkami, w których zbyt długie kable stały się przyczyną problemów. W związku z tym postanowiłem dokładniej przyjrzeć się tej kwestii.
Stwierdziłem, że bez obaw można korzystać z 80-żyłowego kabla o długości przekraczającej standardową i wynoszącej maksymalnie 69 cm. Jednak w przypadku kabla 40-żyłowego długość zgodnie ze standardem powinna wynosić 46 cm.
Tak naprawdę podjęto próbę dokonania zmian w standardzie równoległego interfejsu ATA, umożliwiających zastosowanie kabli o długości 69 cm. W dokumencie e00151r0.pdf dostępnym pod adresem http://www.tl3.org/ technical, można przeczytać o nieznacznych różnicach w integralności sygnałów trybu Ultra DMA 5 występujących pomiędzy 80-żyłowym kablem o długości 69 cm i 46 cm. Choć propozycja wprowadzenie kabla o zwiększonej długości pojawiła się już w październiku 2000 r„ nigdy nie została uwzględniona w standardzie. Nawet pomimo braku oficjalnej aprobaty informację zawartą w powyższym dokumencie traktuje się niczym empiryczny dowód możliwości bezproblemowego stosowania 80-żyłowego kabla o maksymalnej długości 69 cm.
Do powyższych informacji dodam kolejne zalecenie, odradzające w większości przypadków stosowanie „zaokrąglonych" kabli ATA. Użycie tego typu kabli nie zostało zaaprobowane w standardzie ATA. Co więcej, są dowody na to, że mogą one być przyczyną występowania przesłuchu i szumów. W przypadku 80-żyłowego kabla każda żyła danych kabla taśmowego przeplatana jest żyłą uziemienia. ..Zaokrąglanie" kabla powoduje tymczasem, że część żył danych w losowy sposób do siebie przylega. W efekcie pojawia się przesłuch i szumy, powodujące występowanie błędów w sygnale.
Szukając informacji na ten temat, zapoznałem się z wywiadem udzielonym w marcu 2004 r. przez Rahula Sooda dla czasopisma CPU (http://www.computerpoweruser.com). Sood jest szefem działu technologicznego popularnego producenta zaawansowanych systemów, Voodoo PC (http://www.voodoopc.com). W wywiadzie Sood powiedział: „Nie popieram stosowania »zaokrąglonych« kabli. Kable SATA są oczywiście znakomite, natomiast kable »zaokrąglone« to już inna historia, ponieważ są potencjalnym źródłem szumów. Wszystkie testy wykonane przy użyciu tego typu kabli pokazały, że z czasem generują one błędy lub są wolniejsze od dobrej jakości płaskich kabli IDE".
Oczywiście wiele osób z powodzeniem korzysta z kabli „zaokrąglonych", ale moja wiedza na temat elektroniki, a także standardu ATA, zawsze sprawiała, że używając ich, czułem się nieswojo. Choć nie dysponuję żadnymi wynikami testów przeprowadzonych przez Sooda, które potwierdzają jego wnioski, w przypadku własnych komputerów wolę pozostać przy 80-żyłowych kablach taśmowych o długości 69 cm lub mniejszej.
Sygnały równoległego interfejsu ATA
Opiszemy teraz najważniejsze sygnały interfejsu ATA, które mają wpływ na instalację i konfigurację dysku. Informacje te pomogą zrozumieć sposób działania funkcji cable select.
Pin 20. jest wykorzystywany jako klucz ustalający orientację kabla i nie jest on podłączony do interfejsu. Powinien być on usunięty ze złączy ATA, natomiast od strony kabla nie powinno być otworu na ten pin, dzięki czemu nie można będzie odwrotnie włożyć kabla w złącze.
Przez pin 39. przesyłany jest sygnał aktywności dysku i wykrycia dysku slave (DASP); jest to sygnał o podwójnym znaczeniu, multipleksowany w czasie. W czasie inicjalizacji po uruchomieniu sygnał ten wskazuje, czy do interfejsu podłączony jest dysk slave. Po fazie inicjalizacji każdy z dysków wykorzystuje ten sygnał do wskazania, że trwa transmisja danych z dysku. Pierwsze dyski mogły nie posiadać funkcji multipleksowa-nia tego sygnału i wymagały zainstalowania specjalnej zworki wskazującej na pracę z drugim dyskiem. Standaryzacja tej funkcji zapewniającej prawidłową pracę systemu z dwoma dyskami jest jednym z elementów standardu ATA. Jest to powód, dla którego niektóre dyski posiadają zworkę slave present (SP) oznaczającą pracę z dyskiem slave, natomiast niektóre jej nie mają.
Pin 28. udostępnia sygnał cable select (CSEL). W niektórych starszych dyskach może być to również sygnał synchronizacji obrotów (SPSYNC), ale nie występuje on zwykle w nowych dyskach. Sygnał CSEL jest przeznaczony do kontroli wyboru dysku master (dysk 0) i slave (dysk 1) bez konieczności ustawiania zworek na dysku. Jeżeli dysk wykryje na linii CSEL logiczne 0, ustawiany jest jako master, a jeżeli logiczną jedynkę, pracuje jako slave.
Można zainstalować specjalne okablowanie do selektywnego uziemiania sygnału CSEL. Najczęściej jest to realizowanie poprzez kabel typu Y, gdzie złącze magistrali znajduje się pośrodku, natomiast dyski na obu odgałęzieniach. Jedno z odgałęzień Y posiada uziemioną linię CSEL, co wskazuje, że dysk pracuje jako master, natomiast drugie odgałęzienie ma niepodłączoną linię CSEL (przerwany lub usunięty kabel), co sprawia, że dysk pracuje jako slave.
Konfiguracja z dwoma dyskami ATA
Instalacja dwóch dysków ATA może sprawiać kłopoty, ponieważ każdy z dysków posiada własny kontroler i oba te kontrolery muszą poprawnie pracować mimo to, że są podłączone do tej samej magistrali. Nie można zapewnić, że na polecenie odpowie tylko jeden z kontrolerów.
Standard ATA posiada opcje pracy dwóch dysków połączonych w łańcuch. Dysk podstawowy (dysk 0) nosi nazwę master, natomiast dysk dodatkowy (dysk 1) nazywany jest slave. Można ustawić funkcję dysków master i slave przez ustawienie zworek na dysku lub przez wykorzystanie linii CS w interfejsie oraz ustawiając na dysku zworkę CS.
Gdy zainstalowany jest tylko jeden dysk, jego kontroler odpowiada na wszystkie polecenia z systemu. W przypadku zastosowania dwóch dysków (i jednocześnie dwóch kontrolerów) oba kontrolery odbierają polecenia z systemu. Każdy kontroler musi być tak skonfigurowany, aby reagował jedynie na polecenia kierowane do niego. W takiej sytuacji jeden z kontrolerów jest ustawiany jako master, natomiast drugi jako slave. Gdy system wysyła polecenie do określonego dysku, kontroler na drugim dysku musi poczekać do czasu zakończenia pracy przez wybrany dysk i kontroler. Ustawienie zworki master lub slave uaktywnia rozróżnianie kontrolerów przy wykorzystaniu specjalnego bitu (bitu DRV) w rejestrze Drive/Head bloku polecenia.
Konfigurowanie dysków ATA może być tak samo proste jak w przypadku instalacji z jednym dyskiem lub kłopotliwe — szczególnie gdy do jednego kabla trzeba przyłączyć dwa stare dyski różnych producentów.
Większość dysków ATA można skonfigurować do pracy w jednym z czterech trybów:
master (jeden dysk),
master (dwa dyski),
stave (dwa dyski),
cable select.
Wiele z dysków posiada uproszczoną konfigurację składającą się z trzech ustawień: master, slave i cable select. Ponieważ każdy z dysków ATA posiada własny kontroler, należy określić, który z nich będzie pracował jako master, a który jako s!ave. Nie ma żadnej funkcjonalnej różnicy pomiędzy tymi dyskami poza tym, że dysk slave uaktywnia po uruchomieniu systemu sygnał DASP, informujący dysk master o jego obecności. Po wykryciu tego sygnału dysk master monitoruje linię aktywności dysku, która w przypadku niewykrycia dysku slave jest ignorowana. Ustawienie dysku jako slave często powoduje, że opóźnia on na kilka sekund rozpoczęcie procesu rozpędzania talerzy, zmniejszając w ten sposób obciążenie zasilacza komputera.
Do czasu opublikowania specyfikacji ATA nie wykorzystywano zbyt często konfiguracji z dwoma dyskami. Niektórzy producenci używali różnych metod synchronizacji dysków master i slave w różnych modelach swoich urządzeń. Z powodu tych niezgodności niektóre z dysków mogą działać ze sobą jedynie w określonej kolejności master-slave. Problem ten dotyczy wyłącznie urządzeń wyprodukowanych przed opublikowaniem specyfikacji ATA.
Większość dysków, które w pełni implementują specyfikację ATA, wymaga w czasie konfiguracji ustawienia tylko jednej zworki (master-slave). W niewielu niezbędna jest również zworka oznaczająca podłączenie dysku slave. W tabeli 7.5 pokazane są ustawienia zworek wymaganych przez większość dysków ATA.
Tabela 7.5. Ustawienia zworek dla większości dysków zgodnych ze standardem ATA w przypadku zastosowania zwykłego kabla (bez funkcji cable select
Nazwa zworki |
Jeden dysk |
Dwa dyski — master |
Dwa dyski — slave |
Master (M/S) |
Wł. |
Wł. |
Wyl. |
Slave Present (SP) |
Wył. |
Wł. |
Wyl. |
Cable Select (CS) |
Wył. |
Wył. |
Wyl. |
Jeżeli zastosowany jest kabel z funkcją cable select, zworka CS powinna być włączona, a pozostałe wyłączone. Funkcje dysków są wtedy określane przez poszczególne złącza kabla.
Na rysunku 7.7 pokazane są zworki typowego dysku ATA.
Zworka master określa, czy dysk pracuje jako master czy jako slave. Niektóre dyski wymagają zastosowania zworki Slave Present w przypadku pracy w konfiguracji dwudyskowej. Zworka ta informuje urządzenie, że podłączony jest s/ave. W przypadku wielu dysków ATA zworka master jest opcjonalna i może być usunięta. Zainstalowanie w takich przypadkach zworki pomaga jednak wyeliminować pomyłki; zalecam instalowanie zworek w sposób pokazany na rysunku.
Niektóre dyski mają zworki umieszczone na płycie z elektroniką i mogą nie być one widoczne od tyłu.
Aby wyeliminować pomyłki przy ustawianiu trybu pracy dysków, większość nowych systemów wykorzystuje funkcję cable select. Aby skorzystać z tej funkcji, należy zastosować specjalny kabel ATA, który posiada wszystkie przewody oprócz 28. biegnącego od płyty głównej do obu dysków. Pin 28. jest wykorzystywany przez funkcję cable select i jest on podłączony do jednego złącza (nazwanego master), a nie jest on podłączony do drugiego (nazwanego slave). Oba dyski muszą być odpowiednio skonfigurowane przez zastosowanie zworki CS na obu dyskach.
W przypadku zastosowania funkcji cable select, dysk, który otrzyma sygnał na pin 28. automatycznie jest konfigurowany jako master, natomiast drugi jako slave. W większości kabli funkcja ta jest realizowana przez usunięcie metalowej złączki otworu pinu 28. (co jest trudne do zauważenia) lub widoczne przecięcie kabla pinu 28. gdzieś na długości tasiemki. Ponieważ są to niewielkie modyfikacje kabla i mogą zostać one niezauważone, kable z funkcją cable select zwykle posiadają na wtyczkach napisy master, slave i system. Wszystkie 80-żyłowe kable UltraATA pozwalają na zastosowanie funkcji cable select.
W przypadku zastosowania funkcji cable select wystarczy umieścić zworkę CS na wszystkich dyskach, a następnie włożyć do dysku, który ma być dyskiem master wtyczkę opisaną master, a do dysku mającego być dyskiem slave wtyczkę opisanąslave.
Jedyną wadą, jaką można zauważyć, jest ograniczenie swobody rozmieszczania kabli w obudowie lub wyboru miejsca, gdzie montowane są dyski, ponieważ muszą być one podłączone do określonych złączy kabla.
Tryby przesyłu danych PIO równoległego interfejsu ATA
Standardy ATA-2 i ATA-3 definiowały pierwsze tryby dużej przepustowości przesyłające dane do i z dysku za pośrednictwem równoległego interfejsu ATA. Te szybsze tryby transmisji były częścią nowej specyfikacji i przyczyniły się do opublikowania nowych wersji standardu. Omówimy teraz kolejno te tryby transmisji.
Tryby PIO (programowalne wejście-wyjście) określają szybkość transmisji danych z dysku i do niego korzystając z PIO. W najwolniejszym trybie PIO — PIO 0 — cykl transmisji danych nie może przekraczać 600 na-nosekund (ns). W jednym cyklu przesyłane jest 16 bitów, co daje teoretyczną prędkość trybu transmisji PIO 0 (czas cyklu 600 ns) 3,3 MB/s, natomiast w trybie PIO 4 (czas cyklu 120 ns) osiąga 16,6 MB/s.
W tabeli 7.6 zestawione są tryby PIO wraz z ich wydajnością.
Tabela 7.6. Tryby PIO i ich wydajności
Tryb PIO |
Szerokość magistrali (bity) |
Czas cyklu (ns) |
Częstotliwość magistrali (MHz) |
Cykle na takt zegara |
Przepustowość (MB/s) |
Specyfikacja ATA |
|
0 |
16 |
600 |
1,67 |
1 |
3,33 |
ATA-1 |
|
1 |
16 |
383 |
2.61 |
1 |
5,22 |
ATA-1 |
|
2 |
16 |
240 |
4,17 |
1 |
8,33 |
ATA-1 |
|
3 |
16 |
180 |
5,56 |
1 |
11,11 |
ATA-2 |
|
4 |
16 |
120 |
8,33 |
|
16,67 |
ATA-2 |
ATA-2 nazywany jest również El DE (Enhanced IDE) lub Fast-AT A.
ns = nanosekundy (miliardowa część sekundy). MB = milion bajtów.
Większość płyt głównych z ATA-2 i nowszych posiada dwa gniazda kanałów IDE. Większość układów płyt głównych w mostku południowym ma interfejs ATA, który to komponent w większości systemów jest przyłączony do magistrali PCI.
Starsze płyty główne 486 i niektóre pierwsze Pentium posiadająjedynie podstawowy kanał przyłączony przez systemową magistralę PCI. Dodatkowy kanał przyłączony jest najczęściej do magistrali i przez to ograniczony do pracy jedynie w trybie PIO 2.
Dysk odpowiadający na polecenie Identify Drive zwraca między innymi dane na temat obsługiwanych przez niego trybów PIO i DMA. Większość zaawansowanych BIOS-ów automatycznie ustawia prawidłowy tryb dopasowany do możliwości dysku. Jeżeli zostanie ustawiony tryb szybszy niż obsługiwany przez dysk. może się przytrafić utrata danych.
Interfejs ATA-2 i nowsze obsługują również blokowy tryb PIO, co oznacza, że wykorzystywane jest polecenie Read/Write Multiple, które znacznie zmniejsza ilość przerwań wysyłanych do procesora komputera. Obniża to obciążenie systemu i powoduje zwiększenie szybkości transmisji.
Tryby DMA równoległego interfejsu ATA
Dyski ATA obsługują również transfer DMA (bezpośredni dostęp do pamięci). Oznacza to, że dane są przesyłane bezpośrednio pomiędzy dyskiem a pamięcią bez potrzeby użycia procesora jako pośrednika, jak dzieje się to w trybie PIO. Odciąża to procesor od obsługi transmisji danych, co daje możliwość wykonywania w tym czasie innych zadań.
Istnieją dwa różne typu bezpośredniego dostępu do pamięci: z jednym słowem (8-bitowy) i z wieloma słowami (16-bitowy). Tryb DMA z jednym słowem został usunięty w specyfikacji ATA-3, ponieważ jest przestarzały. Tryby DMA są czasami określane jako ATA busmaster, ponieważ korzystają z adaptera hosta obsługującego tryb busmaster. Zwykły tryb DMA korzysta ze starego kontrolera DMA znajdującego się na płycie głównej, który wykonuje operacje arbitrażu, zawłaszczenia magistrali systemowej i transmisji danych. W przypadku DMA z busmasteringiem wszystkie te operacje są realizowane przez układ o wysokiej wydajności znajdujący się w interfejsie adaptera hosta (który również znajduje się na płycie głównej).
Systemy korzystające z układów Intel PIIX (PCI IDE ISA eXcelerator) i układów mostka południowego (lub spełniających ich funkcje) posiadają funkcję busmasteringu ATA. Tryby busmaster ATA z jednym słowem i dwoma słowami wraz z osiąganymi prędkościami transmisji są zestawione w tabelach 7.7 i 7.8.
Tabela 7.7. Tryby transmisji DMA z jednym słowem i ich prędkości transmisji
8-bitowy tryb DMA |
Szerokość magistrali (bity) |
Czas cyklu (ns) |
Częstotliwość magistrali (MHz) |
Cykle na takt zegara |
Przepustowość (MB/s) |
Specyfikacja ATA |
0 |
16 |
960 |
1,04 |
1 ! 2,08 |
ATA-1* |
|
1 ! 16 |
480 |
2,08 |
1 |
4,17 |
ATA-1* |
|
2| 16 |
240 |
4,17 |
1 |
8,33 |
ATA-1* |
|
*Tryb DMA z jednym słowem (8-bitowy) został usunięty ze specyfikacji ATA-3 i późniejszych. Tabela 7.8. Tryby transmisji DMA z dwoma słowami i ich prędkości transmisji |
||||||
16-bitowy tryb DMA |
Szerokość magistrali (bity) |
Czas cyklu Częstotliwość (ns) magistrali (MHz) |
Cykle na takt zegara |
Przepustowość (MB/s) |
Specyfikacja ATA |
|
0 |
16 |
480 |
2,08 |
1 |
4,17 |
ATA-1 |
1 |
16 |
150 |
6,67 |
1 |
13,33 |
ATA-2* |
2 |
16 |
120 |
8,33 |
1 |
16.67 |
ATA-2* |
* ATA-2 jest również nazywane EIDE (Enhanced IDE) łub Fast-ATA.
Należy zwrócić uwagę, że tryby DMA z podwójnym słowem są również przez niektórych producentów nazywane trybami busmaster DMA. Niestety, nawet najszybszy tryb DMA — tryb 2 z podwójnym słowem — osiąga taką samą prędkość przesyłu, 16,67 MB/s, co PIO 4. Jednak, mimo że prędkość transferu jest taka sama jak w przypadku PIO, DMA w mniejszym stopniu obciąża procesor, dzięki czemu całkowita wydajność systemu może być większa. Pomimo to tryby DMA z wieloma słowami nie stały się zbyt popularne i zostały zastąpione nowymi trybami, Ultra-DMA, obsługiwanymi w napędach zgodnych ze specyfikacją ATA-4 do ATA-7.
W tabeli 7.9 zestawione są tryby Ultra-DMA obsługiwane w specyfikacjach ATA-4 do ATA-7. Warto zauważyć, że aby było możliwe użycie trybu Ultra-DMA, konieczne jest zainstalowanie sterowników odpowiednich dla kontrolera i posiadanej wersji systemu Windows.
Tabela 7.9. Obsługa Ultra-DMA w ATA-4 do ATA-7
16-bitowy tryb DMA |
Szerokość magistrali (bity) |
Czas cyklu (ns) |
Częstotliwość magistrali (MHz) |
Cykle na takt zegara |
Przepustowość (MB/s) |
Specyfikacja ATA |
0 |
16 |
240 |
4,17 |
2 |
16,67 |
ATA-4 |
1 |
16 |
160 |
6,25 |
2 |
25,00 |
ATA-4 |
2 |
16 |
120 |
8,33 |
2 |
33,33 |
ATA-4 |
3 |
16 |
90 |
11,11 |
2 |
44,44 |
ATA-5 |
4 |
16 |
60 |
16,67 |
2 |
66,67 |
ATA-5 |
5 |
16 |
40 |
25,00 |
2 |
100,00 |
ATA-6 |
6 |
16 |
30 |
33,00 |
2 |
133,00 |
ATA-7 |
Tryb A TA-4 UDMA 2 jest czasami nazywany Ultra-A TA/33 lub A TA-33.
Tryb ATA-5 UDMA 4 jest czasami nazywany Ultra-ATA/66 lub ATA-66.
Tryb A TA-6 UDMA 5 jest czasami nazywany Ultra-A TA/100 lub A TA-100.
Tryb ATA-7 UDMA 6 jest czasami nazywany Ultra-ATA/133 lub ATA-133.
Interfejs Serial ATA
Wraz z wprowadzeniem standardu ATA-7 stało się jasne, że historia równoległego interfejsu ATA, który był wykorzystywany przez ponad 10 lat, dobiegła końca. Przesyłanie danych z prędkością większą od 133 MB/s przez równoległy kabel w formie taśmy jest narażone na różne problemy spowodowane opóźnieniami sygnału, interferencjami elektromagnetycznymi i innymi zakłóceniami integralności sygnału. Rozwiązaniem tych problemów stał się szeregowy interfejs ATA, który jest rewolucyjnym, zgodnym wstecz następcą równoległego interfejsu ATA. Standard Serial ATA jest zgodny na poziomie oprogramowania z interfejsem równoległym ATA, co oznacza, że w pełni emuluje wszystkie polecenia, rejestry i sterowanie. Dzięki temu istniejące oprogramowanie może być uruchamiane na nowym sprzęcie bez żadnych modyfikacji. Inaczej mówiąc, istniejący BIOS, system operacyjny i programy narzędziowe działające z równoległym interfejsem ATA działają również z interfejsem szeregowym.
Urządzenia te oczywiście różnią się budową — nie można podłączyć równoległego napędu ATA do szeregowego adaptera ATA i odwrotnie (jest to możliwe po zastosowaniu konwerterów sygnałów). Zmiany w warstwie fizycznej poszły w dobrym kierunku, ponieważ szeregowy interfejs ATA korzysta z cienkich siedmio-żylowych kabli, które są łatwiejsze do ułożenia wewnątrz obudowy komputera oraz są łatwiejsze do montażu dzięki nowym, przeprojektowanym złączom. Projekt układu sterującego również został zmieniony i układ ten ma teraz mniej nóżek oraz potrzebuje niższego napięcia zasilania. Ulepszenia te zostały wprowadzone w celu wyeliminowania problemów na stałe związanych z równoległym interfejsem ATA.
Na rysunku 7.8 pokazano oficjalne logo organizacji Serial ATA Working Group, zajmującej się standardem Serial ATA. Logo służy do identyfikacji większości urządzeń SATA.
Rysunek 7.8.
Oficjalne logo identyfikujące
Choć interfejs SATA nie zastąpi od razu równoległego interfejsu ATA, większość nowych komputerów obsługuje oba standardy. W końcu interfejs Serial ATA (SATA) zastąpi równoległy interfejs ATA jako standardowy interfejs dla urządzeń pamięci masowej w komputerach PC. Jak pokazują rozwiązania stosowane obecnie w płytach głównych, przechodzenie z ATA do SATA jest stopniowe i w czasie trwania tego procesu możliwości równoległego interfejsu ATA nadal będą dostępne. Można się spodziewać, ze w związku z ponad 10-letnią historią urządzenia ATA będą dostępne nawet wtedy, gdy w większości komputerów PC będzie stosowany tylko standard SATA.
Prace nad standardem Serial ATA rozpoczęły się od ogłoszenia na konferencji Intel Developer Forum w styczniu 2000 roku faktu powstania grupy Serial ATA Working Group. Pierwszymi członkami tej grupy były firmy APT Technologies, Dell, IBM, Intel, Maxtor, Quantum i Seagate. Pierwsza specyfikacja Serial ATA 1.0 została ukończona w listopadzie 2000 r„ a jej ostateczna wersja pojawiła się w sierpniu 2001 r. W październiku 2002 r. zaprezentowano specyfikację Serial ATA II. rozszerzającą specyfikację Serial ATA 1.0, dzięki której interfejs SATA mógt zostać użyty w przypadku sieciowych magazynów danych. Obie specyfikacje można pobrać z witryny organizacji Serial ATA Working Group, znajdującej się pod adresem http://www.serialata.org. Od czasu zawiązania grupy dołączyło do niej ponad 150 firm z różnych branż. Pierwsze komputery wykorzystujące interfejs SATA zostały udostępnione pod koniec roku 2002. Zastosowano w nich układy i karty z interfejsem PCI. W końcu w kwietniu 2003 r. interfejs SATA został zintegrowany z chipsetem płyty głównej. Nastąpiło to wraz ze wprowadzeniem układu ICH5 (I/O Controller Hub 5), wchodzącego w skład chipsetu. Od tego czasu większość nowych chipsetów płyt głównych zawiera interfejs Serial ATA.
Choć wydajność interfejsu SATA jest imponująca, dostępne obecnie dyski twarde nie są w stanie wykorzystać w pełni oferowanej przez niego przepustowości. Istnieją trzy warianty standardu korzystające z takiego samego okablowania, a różniące się jedynie szybkością transmisji. Obecnie oferowane są tylko pierwsze dwie szybkości. Większe szybkości mają być dostępne w przyszłości. W tabeli 7.10 zawarto specyfikacje obecnych i proponowanych wersji interfejsu SATA. Wersja następnej generacji o szybkości 300 MB/s nie pojawi się wcześniej niż w 2005 r. Z kolei wersja o szybkości 600 MB/s ma być dostępna w 2007 r.
Tabela 7.10. Specyfikacja standardów SATA
Typ interfejsu SATA |
Szybkość sygnalizacji (Gb/s) |
Szerokość magistrali (bity) |
Szybkość magistrali (MHz) |
Cykle danych na cykl zegara |
Przepustowość (MB/s) |
SATA-150 |
1,5 |
1 |
1500 |
1 |
150 |
SATA-300 |
3,0 |
1 |
3000 |
1 |
300 |
SATA-600 |
6,0 |
1 |
6000 |
1 |
600 |
Z tabeli 7.10 wynika, że szeregowy interfejs ATA wysyła dane po jednym bicie. Wykorzystane kable mają tylko siedem przewodów (cztery sygnałowe i trzy uziemiające), są bardzo cienkie i zakończone złączami o szerokości tylko 14 mm. Eliminuje to problem obiegu powietrza wokół szerokich taśm interfejsu ATA. Każdy z kabli ma złącza na obu końcach i każdy kabel służy do bezpośredniego podłączenia urządzenia do adaptera hosta (zwykle na płycie głównej). Nie ma potrzeby ustawiania trybu master i slave, ponieważ każdy kabel służy do podłączenia tylko jednego urządzenia. Orientacja przewodów jest dowolna, wtyczka podłączana do płyty głównej jest identyczna jak wtyczka podłączana do urządzenia, więc oba końce kabla są identyczne. Maksymalna długość kabla SATA wynosi 1 metr (39,37 cali) co jest znacznie lepszym wynikiem niż 45 centymetrów (18 cali) kabla ATA. Wykorzystując te cieńsze, dłuższe i tańsze kable prędkość przesyłu danych wynosi 150 MB/s (niemal 13% więcej niż równoległy ATA/133). Interfejs Serial ATA II pozwala osiągnąć prędkość 300 MB/s, a nawet 600 MB/s.
Interfejs Serial ATA wykorzystuje do kodowania przesyłanych danych specjalny schemat kodowania zwany 8B/10B. Kod transmisji 8B/10B został wymyślony (i opatentowany) w firmie IBM na początku lat 80. Ten schemat kodowania jest w chwili obecnej wykorzystywany w wielu standardach transmisji o wysokiej prędkości, w tym GigabitEthernet, Fibrę Channel, FireWire i inne. Podstawowym zadaniem kodowania 8B/10B jest zagwarantowanie, że nigdy nie zostaną wysłane kolejno więcej niż cztery zera lub cztery jedynki. Jest to odmiana kodowania Run Length Limited (RLL) o nazwie RLL 0,4, gdzie 0 oznacza minimalną, a 4 maksymalną ilość kolejnych zer w każdym zakodowanym znaku.
Kodowanie 8B/10B zapewnia również, że nigdy nie wystąpi więcej niż sześć lub mniej niż cztery zera (lub jedynki) w każdym zakodowanym 10-bitowym znaku). Ponieważ zera i jedynki są przesyłane w postaci zmian napięcia, zapewnia to, że odstępy pomiędzy tymi zmianami będą odpowiednio zbalansowane i otrzymamy regularny i ustalony strumień impulsów. Daje to w efekcie bardziej równomierne obciążenie układów, dzięki czemu zwiększa się ich niezawodność. Konwersja z danych 8-bitowych na 10-bitowe wykorzystywane w transmisji powoduje powstanie nieużywanych wzorców 10-bitowych. Wiele z tych wzorców jest wykorzystanych do kontroli przepływu, oznaczania pakietów danych, zapewniania kontroli błędów itp.
Złącza i kable Serial ATA
Fizyczny model transmisji interfejsu SATA korzysta z różnicowej metody NRZ (ang. Non-Return to Zero). Wykorzystana jest para przewodów, w których wysyłany jest sygnał plus lub minus 0,25 V. Sygnały są wysyłane w taki sposób, że jeżeli w jednym przewodzie występuje napięcie +0,25 V, to w drugim -0,25 V — różnica napięć pomiędzy tymi przewodami wynosi 0,5 V. Oznacza to, że dla podanego przebiegu napięcia, przebieg przeciwnego napięcia jest przesyłany sąsiednim przewodem. Transmisja różnicowa minimalizuje promieniowanie elektromagnetyczne i ułatwia odczytanie sygnału na przeciwnym końcu przewodu.
W interfejsie SATA występuje opcjonalny 15-żyłowy kabel zasilania doprowadzający napięcie 3,3 V, oprócz 5 V i 12 V występujących w standardowym 4-pinowym gnieździe zasilającym. Choć posiada 15 pinów, nowe złącze zasilania ma tylko 24 mm szerokości. Dla każdego z napięć, 3,3 V, 5 V i 12 V przeznaczone są trzy piny, co pozwala na przesłanie prądu o natężeniu 4,5 ampera dla każdego z napięć. Jest to wystarczająco dużo nawet dla energochłonnych urządzeń. Aby zachować zgodność z istniejącymi zasilaczami, napędy SATA posiadają standardowe 4-pinowe gniazdo zasilania, nowe 15-pinowe gniazdo lub oba. Jeżeli napęd nie posiada potrzebnego gniazda zasilania, można zastosować odpowiednie konwertery.
Na rysunku 7.9 pokazano wygląd nowych gniazd sygnałowych i zasilania.
Rysunek 7.9.
Złącza danych i zasilania interfejsu SATA (SerialATA) przeznaczone dla typowego dysku twardego SA TA
Na rysunku 7.10 przedstawiono kontrolery interfejsów SATA i równoległego ATA, umieszczone na typowej płycie głównej.
Rysunek 7.10.
Płyta główna z kontrolerami interfejsów SA TA i równoległego A TA
Funkcje pinów gniazda danych i zasilania są przedstawione w tabelach 7.11 i 7.12.
Tabela 7.11. Funkcje pinów złącza danych Serial ATA
Pin danych |
Sygnał |
Opis |
SI |
GND |
Dłuższy pin |
S2 |
A+ |
Nadawanie + |
S3 |
A- |
Nadawanie - |
S4 |
GND |
Dłuższy pin |
S5 |
B- |
Odbiór- |
S6 |
B+ |
Odbiór + |
S7 |
GND |
Dłuższy pin |
Wszystkie piny w jednym rzędzie są od siebie oddalone o 1,27 mm.
Wszystkie piny masy są dłuższe, więc wchodzą w gniazdo jako pierwsze, przed pinami sygnałowymi lub zasilania. Umożliwia to przyłączanie w czasie pracy systemu.
Konfiguracja urządzeń Serial ATA
Konfiguracja urządzeń Serial ATA jest o wiele prostsza, ponieważ w ich przypadku nie jest już wymagane określanie za pomocą zworek ustawień master/slave lub cable select, co było niezbędne przy równoległym interfejsie ATA.
Tabela 7.12. Funkcje pinów opcjonalnego gniazda zasilania interfejsu Serial ATA
Pin zasilania |
Sygnał |
Opis |
PI |
+3,3V |
Zasilanie +3,3V |
P2 |
+3,3V |
Zasilanie +3,3V |
P3 |
+3,3V |
Zasilanie +3,3V |
P4 |
GND |
Dłuższy pm |
P5 |
GND |
Dłuższy pin |
P6 |
GND |
Dłuższy pin |
P7 |
+5V |
Zasilanie +5V |
P8 |
+5V |
Zasilanie +5V |
P9 |
+5V |
Zasilanie +5V |
PIO |
GND |
Dłuższy pin |
PI 1 |
GND |
Dłuższy pin |
P12 |
GND |
Dłuższy pin |
P13 |
+ 12V |
Zasilanie +12V |
P14 |
+ 12V |
Zasilanie +12V |
P15 |
+12V |
Zasilanie +12V |
Wszystkie piny w jednym rzędzie są od siebie oddalone o 1,27 mm.
Wszystkie piny masy są dłuższe, więc wchodzą w gniazdo jako pierwsze, przed pinami sygnałowymi lub zasilania. Umożliwia to przyłączanie w czasie pracy systemu.
Aby zapewnić przesyłanie maksymalnego prądu 4,5 amperów, zastosowano po trzy piny na każde napięcie zasilające.
Dość prosta jest też konfiguracja ustawień BIOS związanych z napędami Serial ATA. Ponieważ interfejs SATA bazuje na interfejsie ATA, w komputerach wyposażonych w złącza SATA automatyczna detekcja ustawień napędów wygląda identycznie, jak w przypadku systemów ze złączami ATA. W zależności od komputera interfejsy Serial ATA mogą być aktywne domyślnie lub może być wymagane włączenie ich przy użyciu programu BIOS Setup (więcej informacji zawarto w rozdziale 5„ ..BIOS").
Ze względu na to, że interfejs SATA oparty jest na równoległym interfejsie ATA, można — korzystając z konwertera, takiego jak HighPoint RocketHead 100 (rysunek 7.11) — podłączyć do kontrolera Serial ATA dyski twarde ATA-100 i ATA-133. Konwerter jest dołączany do kontrolerów HighPoint Serial ATA RAID i podobnych urządzeń, które można nabyć od mniejszych producentów.
Rysunek 7.11.
Konwerter HighPoint RocketHead 100 przedstawiony w dwóch widokach
Jeśli zależy Ci na zastosowaniu napędów Serial ATA, ale bez konieczności zakupu nowej płyty głównej wyposażonej w kontroler SATA, można go w postaci oddzielnej karty umieścić w gnieździe PCI (rysunek 7.12). Większość tego typu kontrolerów oferuje funkcje ATA RAID.
Rysunek 7.12.
Typowe 2- (u góry) i 4-kanalowe (na dole) kontrolery Serial ATA RAID. Kontroler 2-kanalowy jest też wyposażony w funkcje kontrolera równoległego interfejsu A TA
Niektóre z pierwszych modeli kontrolerów Serial ATA wyprodukowane przez takie firmy, jak HighPoint i 3Ware, korzystają z mostka ATA-Serial ATA, który zużywa aż połowę dostępnej przepustowości. W kontrolerach innych firm, takich jak Promise Technology, używane są osobne układy kontrolera SATA, co teoretycznie jest lepszym rozwiązaniem, ponieważ pozwala przeznaczyć całą przepustowość na potrzeby dysków. Jednak obecnie dostępne napędy Serial ATA — podobnie do swoich „rówieśników" z równoległym interfejsem ATA — nie są w stanie przesyłać danych z oferowaną przez kontroler szybkością zbliżoną do 150 MB/s. Średni transfer danych napędów Serial ATA o prędkości obrotowej 7200 obr./min zawiera się zwykle w przedziale od 40 do 50 MB/s.
Serial ATA II
Podobnie jak równoległy interfejs ATA, interfejs Serial ATA miał z założenia odgrywać rolę podstawowego interfejsu urządzeń pamięci masowej stosowanych w komputerach PC. Początkowo nie planowano stosowania go jako interfejsu zewnętrznego. Jednak wraz z pojawieniem się interfejsu Serial ATA II (SATA-8; obecnie trwają prace projektowe nad nim) Serial ATA swoim zakresem obejmie zewnętrzne połączenia, magazyny danych zawierające wiele dysków i rozgałęźniki portów umożliwiające podłączenie do jednego portu SATA maksymalnie 15 napędów tego rodzaju. Zewnętrzne połączenie obsługuje cztery tory. Na każdy z nich przypada przepustowość 300 MB/s, co w sumie daje 1200 MB/s. Stanowi to konkurencję dla zewnętrznych połączeń SCSI przeznaczonych dla macierzy RAID, ale najprawdopodobniej nie dla bardzo szybkich interfejsów ogólnego zastosowania obsługujących zewnętrzne urządzenia, takich jak USB 2.0 i IEEE 1394 (i.Link/FireWire). Ze względu na niższy koszt i zajmujące mniej miejsca wewnętrzne kable bardzo prawdopodobne jest, że w ciągu kilku kolejnych lat interfejs Serial ATA zastąpi równoległy interfejs ATA zarówno w komputerach stacjonarnych, jak i przenośnych.
Advanced Host Controller Interface
Interfejs Serial ATA został stworzony nie tylko z zamiarem zastąpienia równoległego interfejsu ATA, ale też w celu udostępnienia rozwiązania oferującego w porównaniu ze swoim poprzednikiem znacznie więcej możliwości i funkcji. Początkowo zgodność z interfejsem ATA była jedną z najważniejszych funkcji interfejsu SATA, ponieważ dzięki temu możliwe było łagodne i proste przejście z jednej technologii do drugiej. Zakres zgodności został rozszerzony do poziomu sterowników, w wyniku czego napędy Serial ATA korzystają z takich samych sterowników BIOS i oprogramowania, co starsze napędy ATA.
Choć zamierzeniem twórców interfejsu Serial ATA było umożliwienie łatwego przejścia z technologii równoległego interfejsu ATA, został on też zaprojektowany tak, aby możliwy był dalszy jego rozwój i zwiększanie możliwości. W tym celu opracowano najpierw rozszerzony interfejs programowy AHCI {Advanced Host Controller Interface). Interfejs stworzyła organizacja AHCI Contributor Group, kierowana przez firmę Intel i początkowo złożona z takich korporacji, jak AMD. Dell, Marvell, Maxtor. Microsoft. Red Hat. Seagate i StorageGear. W maju 2003 r. organizacja zaprezentowała wstępną wersję 0.95 specyfikacji AHCI. natomiast w 2004 r. udostępniła jej ostateczną postać.
Specyfikacja AHCI definiuje standard interfejsu o dużej wydajności, komunikującego się ze sterownikami i aplikacjami systemu operacyjnego w celu identyfikacji i zastosowania zaawansowanych funkcji SATA, takich jak kolejkowanie poleceń, podłączanie urządzeń w trakcie pracy systemu i zarządzanie energią. Interfejs AHCI został zintegrowany z chipsetami obsługującymi interfejs Serial ATA, które pojawiły się na rynku w 2004 r. Dodatkowo interfejs AHCI obsługiwany jest przez odpowiednie sterowniki systemu Windows.
Transfery danych interfejsu Serial ATA
W porównaniu z równoległym interfejsem ATA interfejs Serial ATA przesyła dane w całkiem inny sposób. Jak już wcześniej wspomniano, oferowane szybkości przesyłania danych to 150, 300 i 600 MB/s. Większość dostępnych obecnie napędów obsługuje szybkość 150 MB/s. Ze względu na zgodność wstecz interfejsu SATA z interfejsem ATA mogą pojawić się niejasności, ponieważ napędy SATA potrafią emulować tryby ATA. Oznacza to, że w celu zachowania zgodności wstecz z istniejącym oprogramowaniem napęd zwyczajnie „oszukuje".
Przykładowo wiele płyt głównych wykrywa napęd Serial ATA i informuje, że jest on zgodny z trybem Ultra DMA Mode 5 (ATA/100), będącym trybem równoległego interfejsu ATA o szybkości 100 MB/s. Oczywiście nie jest to prawdą, ponieważ nawet najwolniejszy tryb interfejsu Serial ATA (SATA-150) oferuje szybkość 150 MB/s, a tryby Ultra DMA po prostu nie dotyczą napędów SATA.
Choć interfejsy równoległy ATA i Serial ATA zupełnie różnią się pod względem specyfikacji elektrycznej i fizycznej, drugi z nich emuluje pierwszy w sposób całkowicie „przezroczysty" dla oprogramowania. Tak naprawdę emulacja równoległego interfejsu ATA wykonywana przez interfejs Serial ATA jest zgodna ze specy-fikacjąATA-5.
Jest to szczególnie widoczne w przypadku polecenia IDENTIFY DEVICE, używanego przy wczytywaniu parametrów napędu przez funkcje BIOS odpowiedzialne za automatyczną detekcję. W specyfikacji Serial ATA zaznaczono, że wiele pozycji (uwzględniających tryby i ustawienia Ultra DMA) zwróconych przez to polecenie ma być ustawionych tak, jak w przypadku specyfikacji ATA/ATAPI-5.
W specyfikacji SATA 1 stwierdzono też, że emulacja zachowania urządzenia równoległego interfejsu ATA z perspektywy BIOS lub sterownika jest realizowana wspólnie przez urządzenia i kontroler Serial ATA. Emulowane jest zachowanie rejestrów Command and Control Błock, a także operacje przesyłania danych w trybach PIO i DMA, resetowanie i przerwania. Kontroler zawiera zestaw rejestrów Shadow Register Błock. powielających zawartość tradycyjnych rejestrów urządzeń. Wszystkie urządzenia SATA zachowują się jak urządzenia Device 0. Urządzenia powinny ignorować bit DEV pola Device/Head otrzymanych poleceń Register FIS. Korzystający z wartości bitu DEV kontroler odpowiedzialny jest za obsługę transmisji poleceń Register FIS do urządzeń.
Oznacza to, że rejestry Shadow Register Błock są „fałszywymi" rejestrami równoległego interfejsu ATA, umożliwiającymi emulowanie wszystkich poleceń i trybów ATA, Interfejs Serial ATA został zaprojektowany tak, aby na poziomie oprogramowania był w pełni zgodny ze specyfikacją ATA/ATAPI-5. Właśnie z tego powodu napęd SATA w pewien sposób może przekazywać informacje, tak jakby był zgodny z interfejsem ATA lub korzystał z jednego z jego trybów, nawet jeśli tak faktycznie nie jest.
Funkcje interfejsu ATA
Wersje standardu ATA pokonały długą drogę, zanim wyeliminowano niezgodności i problemy ze współpracą napędów IDE z magistralami PCI i ISA komputerów. Specyfikacje ATA definiują sygnały 40-pinowego złącza, funkcje tych sygnałów i ich taktowanie, parametry kabli itp. W tym podrozdziale omówiono niektóre elementy i funkcje zdefiniowane w specyfikacjach interfejsu ATA.
Polecenia ATA
Jedną z największych zalet interfejsu ATA jest szeroki zakres dostępnych poleceń. Interfejs ATA powstał na bazie kontrolera WD 1003 zastosowanego w oryginalnym systemie IBM AT. Wszystkie dyski ATA muszą bez żadnych wyjątków obsługiwać wszystkie polecenia kontrolera WD (osiem poleceń), dzięki czemu bardzo łatwo można je instalować we współczesnych systemach. Wszystkie systemy zgodne z komputerami IBM PC posiadają wbudowaną w ROM BIOS obsługę WD1003. a więc i obsługę ATA.
Oprócz obsługi wszystkich poleceń WD 1003, specyfikacja ATA definiuje wiele innych poleceń rozszerzających możliwości dysków i poprawiających ich wydajność. Polecenia te są zdefiniowane w części opcjonalnej interfejsu ATA, ale kilka z nich jest wykorzystywanych w większości dzisiejszych dysków i są one bardzo ważne dla osiągnięcia wysokiej wydajności dysków ATA.
Prawdopodobnie najważniejszym poleceniem jest Identify Drive. Polecenie to powoduje przesłanie przez dysk 512-bajtowego bloku danych zawierających szczegółowy opis dysku. Dzięki temu poleceniu każdy program (w tym BIOS systemu) może odczytać typ podłączonego dysku, producenta, numer modelu, parametry robocze, a nawet numer seryjny egzemplarza. Wiele nowoczesnych BIOS-ów korzysta z tych danych do automatycznego odczytywania parametrów dysku i wprowadzania ich do pamięci CMOS, co pozwala uniknąć potrzeby ręcznego wprowadzania tych parametrów podczas konfigurowania systemu. To ułatwienie chroni od pomyłek, które mogłyby prowadzić nawet do utraty danych w przypadku, gdy użytkownik nie zapamiętał, jakie parametry wpisał do konfiguracji.
Polecenie Identify Drive zwraca wiele informacji na temat dysku, w tym poniżej wymienione:
Ilość adresów bloków logicznych dostępnych w trybie LBA.
Ilość fizycznych cylindrów, głowic i sektorów dostępnych w trybie P-CHS.
Ilość logicznych cylindrów, głowic i sektorów dostępnych w bieżącej translacji trybu L-CHS.
Obsługiwane tryby przesyłu (i ich prędkości).
Producent i numer modelu.
Wersja wewnętrznego oprogramowania.
Numer seryjny.
Typ i rozmiar bufora wskazujących na buforowanie sektorów lub stosowanie pamięci podręcznej.
Istnieje kilka programów typu public-domain, które powodują wykonanie tego polecenia przez dysk i wyświetlają na ekranie zwracane informacje. Kiedyś używałem programu IDEINFO (dostępny pod adresem http://www.tech-pro.co.uk/ideinfo.html). Jednak narzędzie to powstało niemal dekadę temu i nie dostarcza pełnych informacji na temat nowych dysków. Aby uzyskać aktualniejsze dane, należy skorzystać z programu IDEDIAG (dostępny pod adresem http://www.penguin.cz/~mhi/idediag) lub HWINFO, który można pobrać z witryny WWW, znajdującej się pod adresem http://www.hwinfo.com. Programy te są szczególnie przydatne w przypadku, gdy zachodzi potrzeba zainstalowania w komputerze dysku twardego, którego parametry należy wprowadzić samemu, a nie są one znane i nie jest dostępna funkcja automatycznej detekcji. Narzędzia te odczytują niezbędne informacje bezpośrednio z dysku.
Kolejnymi ważnymi poleceniami są Read Multiple i Write Multiple. Polecenia te pozwalają na transfer danych z wielu kolejnych sektorów, co połączone z możliwością blokowego przesyłu w trybie PIO pozwala na osiągnięcie niewiarygodnych prędkości przesyłu, wielokrotnie większych niż osiągalne w jednosektorowych trybach transferu PIO. Niektóre starsze komputery wymagają podania poprawnej liczby sektorów używanych przez dysk. Większość nowych komputerów definiuje to ustawienie automatycznie.
Dostępne są również polecenia rozszerzone. Producenci często korzystają z tych poleceń do realizacji funkcji charakterystycznych tylko dla siebie. Najczęściej polecenia rozszerzone są wykorzystywane do realizacji funkcji takich jak niskopoziomowe formatowanie i zarządzanie uszkodzeniami. Z tego powodu programy do nisko-poziomowego formatowania są przeznaczone dla dysków ATA określonych producentów. Wyjaśnia to też, dlaczego wielu producentów udostępnia własne tego typu programy.
ATA Security Mode
Funkcja obsługi haseł dysków twardych, nazywana ATA Security Mode, została w 1995 r. dodana do specyfikacji ATA-3. Propozycja takiego rozszerzenia specyfikacji ATA została wysunięta przez firmę IBM, która zdefiniowała tę funkcję i zaczęła prace nad zastosowaniem jej w komputerach z serii ThinkPad wyposażonych w napędy 2,5-calowe. Ponieważ funkcja została dodana do oficjalnego standardu ATA-3 (ostatecznie zaprezentowanego w 1997 r.), zaadaptowała ją większość innych producentów napędów i komputerów, a zwłaszcza laptopów i napędów 2,5-calowych. Warto zauważyć, że hasła oferują duży stopień bezpieczeństwa. Jeśli sieje zgubi lub zapomni, zwykle nie jest możliwe ich przywrócenie, a zatem nigdy nie uzyska się już dostępu do dysku.
Hasła zabezpieczające dyski twarde są ustawiane za pomocą programu BIOS Setup. Nie wszystkie komputery to umożliwiają. W większości laptopów hasła są stosowane, ale przeważnie nie dotyczy to komputerów stacjonarnych. Jeśli funkcja jest dostępna, możliwe będzie ustawienie dwóch typów hasła — użytkownika i nadzorcy. Hasło użytkownika blokuje i odblokowuje dysk, natomiast hasło nadzorcy służy tylko do odblokowywania. Możliwe jest ustawienie hasła użytkownika lub jednocześnie użytkownika i nadzorcy, ale ustawienie wyłącznie hasła nadzorcy —już nie.
Gdy zostanie zdefiniowane wyłącznie hasło użytkownika lub użytkownika i nadzorcy, dostęp do dysku jest blokowany (nawet po zainstalowaniu dysku w innym systemie) do momentu podania po włączeniu komputera hasła użytkownika lub nadzorcy.
Hasło nadzorcy jest dla administratorów systemów hasłem alternatywnym lub zapasowym, umożliwiającym odblokowanie dysku w trybie nadzorcy. Po ustawieniu zarówno hasła użytkownika, jak i nadzorcy, użytkownik otrzymuje tylko swoje hasło. W razie potrzeby może je zmienić, jednak administrator systemu nadal może wówczas uzyskać dostęp do dysku, korzystając z hasła nadzorcy.
Jeśli zdefiniowano hasto użytkownika lub też nadzorcy, odblokowane dysku jest konieczne podczas inicjalizacji komputera. Polega to na wprowadzeniu hasła w okienku wyświetlonym przez BIOS. Wygląd okienka jest inny w różnych komputerach. W przypadku systemów firmy IBM ma ono postać graficzną. Na ekranie obok kłódki pojawia się ikona zawierająca cylinder, nad którym widoczna jest liczba identyfikująca numer napędu. Jeżeli pojawi się prośba o podanie hasła dysku twardego, należy je wprowadzić. W przeciwnym razie nie uzyska się dostępu do dysku i system nie zostanie uruchomiony.
Jak już wcześniej wspomniałem, po zapomnieniu hasła użytkownika lub zarówno użytkownika, jak i administratora (gdy oba zostaną ustawione), uzyskanie dostępu do dysku nie będzie możliwe nawet wówczas, gdy zainstaluje się go w innym komputerze (i bez znaczenia jest, czy komputer ten obsługuje funkcję ATA Security Mode). W zasadzie taki dysk może posłużyć jedynie za obciążnik.
Podobnie jak w przypadku wielu funkcji zabezpieczeń, nawet i w razie zagubienia hasła można znaleźć rozwiązanie problemu. Można wymienić co najmniej jedną firmę, która zajmuje się przywracaniem dysków do sprawności lub odzyskiwaniem zapisanych na nich danych. Jest to firma Nortek2 (więcej informacji można znaleźć pod adresem http: '.'www.nortek.on.ca). Operacja usunięcia hasła kosztuje od 300 do 1000 zł. Dodatkowo do dostarczonego dysku należy dołączyć dowód praw własności do niego. Jak widać, cena przeważnie przekracza koszt nowego napędu, dlatego na operację taką warto się zdecydować tylko wówczas, gdy odzyskanie danych jest absolutnie konieczne.
Hasła dysków twardych nie są wstępnie definiowane przez producenta, ale nie dotyczy to oczywiście używanych napędów. Przykładowo jest to często spotykane przy sprzedaży napędów lub komputerów w ramach serwisu aukcyjnego eBay. W tym przypadku sprzedający mogą ustawić dla dysków twardych hasła nadzorcy i pozostawić je aktywne do momentu otrzymania pełnej kwoty od kupującego. Można też się spotkać z używanymi produktami, w przypadku których sprzedawca nie zna ustawionych haseł. W efekcie takie urządzenia stają się dla nabywcy bezużyteczne. Z tego powodu nigdy nie namawiam do zakupu używanego laptopa lub dysku twardego, jeśli nie ma się pewności, czy nie zdefiniowano hasła napędów lub administratora komputera.
W większości komputerów w programie Setup BIOS dostępne są inne hasła administracyjne lub wymagane po włączeniu komputera. Przeważnie po ustawieniu hasła administratora zostanie zdefiniowane identyczne hasło dysku twardego. W większości przypadków, jeśli hasło administratora jest takie samo, jak hasło użytkownika lub nadzorcy dysku twardego, po jego wprowadzeniu BIOS automatycznie zastosuje je jako hasło dysku. Oznacza to, że nawet jeśli ustawiono hasło dysku twardego, o jego istnieniu można nie wiedzieć, ponieważ jest ono automatycznie wprowadzane razem z hasłem administratora. W związku z tym nie pojawi się oddzielny komunikat z prośbą o podanie hasła dysku twardego. Jeśli jednak później dysk zostanie wyjęty z komputera, nie będzie można go użyć w innym systemie, dopóki nie wprowadzi się poprawnego hasła, które dla niego ustawiono. Jeśli nie korzysta się z usług takich firm, jak Nortec, usunięcie hasła dysku twardego jest możliwe tylko wówczas, gdy zna się hasło administratora.
Host Protected Area
Większość komputerów PC dostępnych obecnie na rynku jest wyposażona w różnego typu funkcje automatycznego odtwarzania oprogramowania. Dzięki nim użytkownik z łatwością może przywrócić system operacyjny lub inne aplikacje do stanu, w jakim znajdowały się, gdy komputer był nowy. Początkowo możliwe to było za pośrednictwem jednego lub kilku awaryjnych dysków CD dołączonych do oprogramowania i zawierających automatycznie wykonywane skrypty, ponownie instalujące aplikacje znajdujące się na komputerze w chwili jego nabycia.
Niestety dyski CD mogą zostać zgubione lub uszkodzone, a ich użycie często jest problematyczne. Ponadto standardowe dołączanie dysków CD do oprogramowania było dla producentów bardzo kosztowne. W efekcie producenci komputerów PC umieścili oprogramowanie przywracające w ukrytej partycji startowego dysku twardego. Część przestrzeni dyskowej o pojemności od 1 do 3 GB została zatem przeznaczona na oprogramowanie przywracające, zajmujące wcześniej od jednego do czterech dysków CD. W przypadku dysków o pojemności 60 GB lub większej stanowi to 5% lub mniej całkowitej przestrzeni. Jednak nawet ukryta partycja okazała się jeszcze mniej zadowalającym rozwiązaniem, ponieważ z łatwością mogła zostać uszkodzona lub zapisana przez oprogramowanie partycjonujące bądź inne narzędzia. Z tego względu nie było to rozwiązanie bezpieczne.
1 W Polsce podobne usługi świadczy na przykład firma lbas Polska {http://www.ibas.com.pl) — przyp. tłum.
W 1996 r. firma Gateway zaproponowała zmodyfikowanie znajdującego się w fazie projektowej standardu ATA-4. Zmiana miała polegać na udostępnieniu zarezerwowanej przestrzeni napędu, nazwanej HPA (Most Protected Area). Zmiana została zatwierdzona i przestrzeń HPA uwzględniono w specyfikacji ATA-4, która ostatecznie pojawiła się w 1998 r. W 1999 r. rozpoczęto prace nad specyfikacją niezależnego interfejsu oprogramowania sprzętowego BIOS nazwanego PARTIES (Protected Area Run Time Interface Ertension Servi-ces). Specyfikacja definiowała usługi, za pomocą których system operacyjny mógł uzyskać dostęp do przestrzeni HPA. Standard PARTIES został ukończony i opublikowany w 2001 r. pod nazwą NCITS 346-2001, Protected Area Run Time Interface Extension Services.
Działanie przestrzeni HPA opiera się na użyciu opcjonalnego polecenia ATA SET MAX ADDRESS, które sprawia, że dla systemu operacyjnego dysk wydaje się być trochę mniej pojemny. Obszar znajdujący się pomiędzy miejscem identyfikowanym przez nowy adres maksymalny (górny próg pojemności) i rzeczywistym końcem przestrzeni dyskowej jest uważany za przestrzeń HPA. do której dostęp możliwy jest tylko po użyciu poleceń standardu PARTIES. Przestrzeń HPA jest dużo bardziej bezpieczna od ukrytej partycji, ponieważ wszelkie dane znajdujące się poza końcem obszaru dysku nie mogą być widoczne dla zwykłej aplikacji, a nawet narzędzia partycjonującego, takiego jak PartitionMagic lub Partition Commander. Aby usunąć przestrzeń HPA, należy skorzystać z ustawień programu BIOS Setup lub niezależnych poleceń modyfikujących adres maksymalny. Po dokonaniu zmian można, za pomocą takiego narzędzia, jak PartitionMagic lub Partition Commander, zwiększyć rozmiar partycji o sąsiadujący z nią uwolniony obszar zajmowany przez przestrzeń HPA, która wcześniej była ukryta i niedostępna.
Większość nowych komputerów korzystających z układu Phoenix FirstBIOS jest wyposażona w umieszczone w przestrzeni HPA oprogramowanie przywracające i diagnostyczne. Stanowi ono część nowego środowiska cME (core Managed Environment) układu Phoenix FirstBIOS. Od 2003 r. środowisko to wykorzystywane jest przez sporą ilość producentów OEM (w tym IBM) komputerów stacjonarnych i przenośnych.
► ► W celu uzyskania dodatkowych informacji na temat przestrzeni HPA i jej zawartości należy zajrzeć do podrozdziału „Środowisko przeduruchomieniowe", znajdującego się na stronie 489.
Interfejs pakietowy ATA
Interfejs pakietowy ATA (ATAPI) jest standardem zapewniającym obsługę poleceń niezbędnych do obsługi urządzeń takich jak napędy CD-ROM, napędy nośników wymiennych (SuperDisk i Zip) czy napędy taśm podłączanych do zwykłego złącza ATA (IDE). Podstawową zaletą sprzętu ATAPI jest niska cena i współpraca z istniejącym adapterem. W przypadku napędów CD-ROM osiąga się nieco niższe obciążenie procesora w porównaniu z dedykowanymi adapterami, ale nie zauważa się żadnego wzrostu wydajności. W przypadku napędów taśm ATAPI zapewnia doskonałą wydajność i niezawodność w porównaniu z popularnymi napędami taśm przyłączanymi do kontrolera dyskietek. Choć napędy ATAPI CD-ROM korzystają z interfejsu dysku twardego, nie oznacza to, że są podobne do zwykłych dysków twardych; z punktu widzenia oprogramowania jest to całkowicie inna klasa urządzeń. Najbardziej są one podobne do urządzeń SCSI. Wszystkie nowoczesne napędy CD-ROM IDE obsługują protokoły ATAPI, co powoduje, że nazwy te stały się synonimami. Inaczej mówiąc, CD-ROM ATAPI to CD-ROM ATA i odwrotnie.
Od 1998 r. większość komputerów była zgodna ze specyfikacją El Torito firmy Phoenix, umożliwiającej załadowanie systemu przy użyciu napędu CD-ROM ATAPI lub DVD. Systemów bez obsługi El Torito w BIOS nie można uruchamiać z napędu CD-ROM ATAPI lub DVD. Jeśli nawet BIOS obsługuje ATAPI, nadal niezbędne jest ładowanie sterownika dla ATAPI w DOS lub Windows. Windows 95 i późniejsze (w tym 98 i Me) oraz Windows NT (w tym Windows 2000 i XP) posiadają własną obsługę ATAPI. Niektóre wersje systemów Windows 98, NT, 2000 i XP posiadają instalacyjne płyty CD, które umożliwiają bezpośrednie uruchomienie tych systemów, co niezmiernie ułatwia instalację.
Zwykle zalecam podłączanie w osobnych kanałach różnych urządzeń ATA, z których korzystać się będzie jednocześnie. ATA nie obsługuje bowiem dostępu „na zakładkę" — gdy obsługiwane jest jedno urządzenie, nie ma dostępu do drugiego. Podłączając CD-ROM i dysk w osobnych kanałach, można taki dostęp do nich zapewnić. Trzeba też wiedzieć, że jeśli inne urządzenie ATAPI (napęd CD lub DVD) działa jako master, urządzenie korzystające z równoległego interfejsu ATA, takie jak dysk twardy, może nie być w stanie funkcjonować. A zatem w większości przypadków dla danego kabla powinno się skonfigurować dyski twarde ATA jako master (urządzenie 0), natomiast napędy ATA ATAPI jako slave (urządzenie 1).
Ograniczenia pojemności dysku ATA
Interfejs ATA aż do wersji ATA-5 posiadał ograniczenie pojemności dysku do około 137 GB. W zależności od wykorzystanego oprogramowania BIOS-u. ograniczenie to może się zmniejszać do 8.4 GB lub nawet do 528 MB. Dzieje się tak zarówno z powodu ograniczeń BIOS-u, jak i interfejsu ATA. które zestawione razem dają kolejne ograniczenia. Aby zrozumieć istotę tych ograniczeń, przyjrzymy się oprogramowaniu BIOS w połączeniu z interfejsem ATA.
Poza omówionymi w tym podrozdziale ograniczeniami BIOS i standardu ATA istnieją też różne re-^\ strykcje dotyczące systemów operacyjnych. Więcej informacji na ich temat można znaleźć w dal-szej części rozdziału.
Ograniczenia wpływające na działanie napędów ATA są sumą ograniczeń samego interfejsu oraz interfejsu BIOS-u wykorzystywanego do sterowania dyskiem. Ograniczenia te są przedstawione w tabeli 7.13.
Opiszemy teraz szczegółowo różnice pomiędzy różnymi metodami adresowania sektorów i związane z tym ograniczenia.
Prefiksy dla wielokrotności dziesiętnych i binarnych
Wielu Czytelników nie zna symboli MiB (mebibajty), GiB (gibibajty) itd, których będziemy używać w tym rozdziale oraz w innych rozdziałach książki. Stanowią one część standardu zaprojektowanego w celu uniknięcia pomyłek pomiędzy liczbami binarnymi a dziesiętnymi, szczególnie tymi, które są stosowane w systemach komputerowych. Standard SI zakłada jednostki, które są wielokrotnościami 10. Założenie to sprawdza się doskonale w wielu dziedzinach techniki poza komputerami, które operują na słowach binarnych, gdzie większość liczb korzysta z potęg liczby dwa. Stanowi to powód, dla którego ten sam prefiks stosuje się dla dwóch różnych wartości, na przykład 1 kB (kilobajt) może oznaczać 1000 (103) bajtów lub 1024 (210) bajtów. Aby wyeliminować pomyłki, w grudniu 1998 komisja International Electrotechnical Commission (IEC) przyjęła międzynarodowy standard nazw prefiksów i symboli wielokrotności binarnych wykorzystywanych przy przetwarzaniu i transmisji danych. Niektóre z tych prefiksów są przedstawione w tabeli 7.14.
W standardowej terminologii MB (megabajt) to ł 000 000 bajty, natomiast MiB (mebibajt) to 1 044 576 bajtów.
Więcej informacji na temat standardów dotyczących prefiksów dziesiętnych i binarnych można zna-T^l leźć na witrynie National Institute for Standards and Technology (NIST) pod adresem physics.nist. gov/cuu/Units/prefixes.html.
Ograniczenia BIOS-u
Aby można było obsłużyć coraz pojemniejsze napędy, przez lata układy ROM BIOS płyt głównych były uaktualniane. W tabeli 7.15 zawarto najważniejsze daty wyznaczające moment zwiększenia maksymalnej pojemności napędów.
W tabeli określono, kiedy osiągnięte zostały kolejne maksymalne progi pojemności. Układy BIOS sprzed sierpnia 1994 r. przeważnie obsługiwały dyski o pojemności nie przekraczającej 528 MB, natomiast w przypadku układów BIOS sprzed stycznia 1998 r. było to 8,4 GB. Większość układów BIOS z 1998 r. lub nowszych obsługuje dyski o maksymalnej pojemności 137 GB. Z kolei układy BIOS z września 2002 r. lub nowsze powinny rozpoznawać dyski o pojemności przekraczającej pojemność 137 GB. Są to jednak tylko ogólne wytyczne. Aby dokładnie stwierdzić, jak to wygląda w przypadku określonego komputera, należy skontaktować się z producentem płyty głównej. Można też użyć narzędzia BIOS Wizard, dostępnego pod adresem http://www.unicore.com/hioswiz/index2.html. Program ten poinformuje o dacie powstania BIOS-u komputera i stwierdzi, czy jest on zgodny ze specyfikacją Enhanced Hard Disk Drive, która definiuje obsługę dysków o pojemności przekraczającej 8,4 GB.
Tabela 7.13. Ograniczenia pojemności ATA IDE dla różnych metod adresowania sektorów
Metoda adresowania sektorów |
Obliczenie ilości sektorów |
Maksymalna ilość sektorów |
CHS: BIOS bez TL |
1024x16x63 |
1 032 192 |
CHS: BIOS z bit-shift TL |
1024x240x63 |
15 482 880 |
CHS. BIOS z LBA TL |
1024x255x63 |
16 450 560 |
CHS: BIOS INT13h |
1024x256x63 |
16 515 072 |
CHS: ATA-1 /ATA-5 |
65536x16x255 |
267 386 880 |
LBA: ATA-1 /ATA-5 |
2^28 |
268 435 456 |
LBA: ATA-6+ |
2^48 |
281 474 976 710 655 |
LBA EDD BIOS |
2^64 |
18 446 744 073 709 551 600 |
BIOS = Basic input output system. ATA = AT Attachment (IDE).
CHS = Cylinder head seclor (cylinder głowica sektor).
LBA = Logical błock (sector) address (adres logicznego bloku).
TL = translacja.
INTl3h = Przerwanie 13 (szesnastkowo).
EDD = specyfikacja EnchancedDisk Drive (Phoenix/ATA).
Tabela 7.14. Standardowe nazwy prefiksów i symbole wielokrotności binarnych
Prefiksy dziesiętne:
Wielokrotność |
Symbol |
Nazwa |
Wartość |
103 |
k |
Kilo |
1 000 |
106 |
M |
Mega |
1 000 000 |
109 |
G |
Giga |
1 000 000 000 |
1012 |
T |
Tera |
1 000 000 000 000 |
1015 |
P |
Peta |
1 000 000 000 000 000 |
1018 |
E |
Eksa |
1 000 000 000 000 000 000 |
1021 |
Z |
Zeta |
1 000 000 000 000 000 000 000 |
Zwróć uwagę, że symbol dla kilo (k) jest zapisany małą literą (co jest zgodne ze standardem SI), natomiast pozostałe prefiksy dziesiętne są zapisywane wielkimi literami.
Tabela 7.15. Daty wyznaczające moment zmiany maksymalnej pojemności dysków obsługiwanych przez
układy ROM BIOS |
|
Data pojawienia się układu BIOS |
Maksymalna obsługiwana pojemność |
Sierpień 1994 |
528 MB |
Styczeń 1998 |
8,4 GB |
Wrzesień 2002 |
137 GB |
Jeśli BIOS nie jest zgodny z tą specyfikacją (obsługa pojemności przekraczających 8,4 GB), możliwe są następujące trzy rozwiązania:
Uaktualnienie BIOS-u płyty głównej do wersji z 1998 r. lub nowszej, obsługującej pojemności przekraczające 8,4 GB.
Zainstalowanie karty uaktualniającej BIOS, takiej jak karta Ultra ATA/133 PCI firmy Maxtor
(http://www.maxtordirect.com).
♦ Zainstalowanie oprogramowania aktualizującego, dodającego obsługę pojemności przekraczających 8.4 GB.
Maksymalna pojemność (bajty) |
Pojemność (dziesiętnie) |
Pojemność (binarnie) |
528 482 304 |
528,48 MB |
504,00 MiB |
7 927 234 560 |
7,93 GB |
7,38 GiB |
8 422 686 720 |
8,42 GB |
7,84 GiB |
8 455 716 864 |
8,46 GB |
7,88 GiB |
136 902 082 560 |
136,90 GB |
127,50 GiB |
137 438 953 472 |
137,44 GB |
128.00 GiB |
144 1 15 188 175 855 360 |
144,12 PB |
128,00 PiB |
9 444 732 965 739 290 430 000 |
9,44 ZB |
8,00 ZiB |
MB = megabajt (milion bajtów).
MiB = mebibajt.
GB = gigabajt (miliard bajtów/
GiB = gibibajt.
PB = pelabajt (kwadrylion bajtów).
PiB = pebibajt.
ZB = zetabajt (sekstylion bajtów).
ZiB = zebibajt.
Prefiksy binarne:
Wielokrotność |
Symbol |
Nazwa |
Pochodzenie |
Wartość |
2 3 |
Ki |
Kibi |
Kilo binarne |
1 024 |
26 |
Mi |
Mebi |
Mega binarne |
1 048 576 |
29 |
Gi |
Gibi |
Giga binarne |
1 073 741 824 |
212 |
Ti |
Tebi |
Tera binarne |
1 099 511 627 776 |
215 |
Pi |
Pebi |
Peta binarne |
1 125 899 906 842 624 |
218 |
Ei |
Exbi |
Eksa binarne |
1 152 921 504 606 846 980 |
221 |
Zi |
Zebi |
Zeta binarne |
1 180 591 620 717 411 300 000 |
Z wymienionych rozwiązań pierwsze jest najbardziej wskazane, ponieważ nie wiąże się z poniesieniem kosztów. W celu sprawdzenia, czy dostępna jest nowsza wersja BIOS (obsługująca dyski o większej pojemności) dla używanej płyty głównej, należy zajrzeć na stronę internetowąjej producenta. Jeśli takiej wersji nie ma, kolejnym zalecanym ruchem jest zastosowanie karty, takiej jak ATA Pro Flash firmy Micro Firmware lub Ultra ATA/133 PCI firmy Maxtor. Niemal nigdy nie polecam ostatniego rozwiązania, ponieważ polega ono na zainstalowaniu oprogramowania aktualizującego w sektorze rozruchowym dysku twardego. Może to być przyczyną kilku problemów pojawiających się w trakcie ładowania systemu z innych napędów, instalowania nowych dysków lub przywracania danych.
CHS kontra LBA
Istnieją dwie podstawowe metody adresowania (numerowania) sektorów na dysku ATA. Pierwsza metoda określana jest skrótem CHS (ang. Cylinder Head Sector) od trzech współrzędnych wykorzystywanych do zaadresowania każdego sektora na dysku. Druga metoda nazywana jest LBA (ang. Logical Błock Address) i do adresowania sektorów wykorzystuje ona tylko jedną liczbę. Metoda CHS korzysta ze specyfiki budowy dysku (i jego sposobu pracy), natomiast LBA rozwinęło się w kierunku prostszej, bardziej logicznej metody numerowania sektorów niezależnego od wewnętrznej budowy urządzenia.
► ► Więcej informacji na temat cylindrów, głowic i sektorów w dysku znajduje się w podrozdziale „Działanie dysku twardego", strona 717.
Podczas sekwencyjnego odczytywania danych z dysku w trybie CHS, proces rozpoczyna się od cylindra 0, głowicy 0 i sektora 1 (jest to pierwszy sektor na dysku). Następnie odczytywane są wszystkie sektory z pierwszej ścieżki i wybierana jest kolejna głowica; odczytywane są wszystkie sektory z tej ścieżki — i tak dalej przez wszystkie głowice tego cylindra. Następnie wybierany jest następny cylinder i sekwencja rozpoczyna się ponownie. Można porównać tę metodę do licznika kilometrów w samochodzie — trzeba przejść przez wszystkie numery sektorów przed zmianą numeru głowicy o jeden, trzeba również przejść przez wszystkie numery głowic przez zmianą o jeden numeru cylindra.
Proces odczytu sekwencyjnego dysku w trybie LBA rozpoczyna się od sektora 0, następnie odczytywany jest sektor 1, następnie 2 itd. Pierwszy sektor dysku w trybie CHS to 0,0,1, natomiast ten sam sektor w trybie LBA to po prostu 0.
Jako przykład wyobraźmy sobie dysk z jednym talerzem, dwoma głowicami (wykorzystane są obie strony talerza), dwiema ścieżkami na każdym talerzu (cylindry) i dwóch sektorach na ścieżkę. Dysk taki ma dwa cylindry (ścieżki na stronie), dwie głowice (strony) i dwa sektory na ścieżkę. Zatem dysk ma pojemność 8 sektorów (2 * 2 * 2). Numerowanie cylindrów i głowic rozpoczyna się od zera, natomiast sektorów od 1. Stosując adresowanie CHS możemy powiedzieć, że pierwszy sektor na dysku to cylinder 0, głowica 0 i sektor 1 (0.0,1); drugi sektor to 0,0,2; trzeci 0,1,1; czwarty 0,1,2; itd., aż do ostatniego sektora 1,1,2.
Teraz wyobraźmy sobie, że chcemy pobrać osiem sektorów i zamiast odwoływać się bezpośrednio do fizycznych cylindrów, głowic i sektorów, możemy odwoływać się do sektora 0.1,2 w trybie CHS jako sektora 3 w trybie LBA. W tabeli 7.16 pokazane są odpowiadające sobie numery sektorów w trybie CHS i LBA dla naszego hipotetycznego ośmiosektorowego dysku.
Tabela 7.16. Numery sektorów CHS i LBA dla hipotetycznego dysku z dwoma cylindrami, dwoma głowicami i dwoma sektorami na ścieżkę (w sumie osiem sektorów)
Tryb |
Odpowiadające sobie numery sektorów |
|||||||
CHS: |
0,0,1 |
0,0,2 |
0,1,1 |
0,1,2 |
1,0,1 |
1,0,2 |
1,1,1 |
1.1,2 |
LBA: |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Jak można się przekonać, analizując ten przykład, wykorzystanie adresowania LBA jest prostsze do stosowania; jednak gdy powstawały pierwsze komputery PC, BIOS i interfejs ATA korzystały z adresowania CHS.
Konwersje CHS-LBA i LBA-CHS
Te same sektory mogą być adresowane w trybie CHS i LBA. Konwersja z CHS na LBA jest dla podanego dysku niesprzeczna, zawsze można skonwertować adres LBA na CHS i odwrotnie. Specyfikacja ATA-1 określa prosty wzór wykorzystywany przy konwersji adresu CHS na LBA:
LBA = (((C*HPC) + H) * SPT) + S -1
Przekształcając ten wzór, możemy konwertować adresy LBA na CHS:
C = int (LBA / SPT / HPC) H = int((LBA / SPT) mod HPC) S = (LBA mod SPT) + 1
W powyższych wzorach wykorzystano następujące skróty: LBA = logiczny adres bloku, C = cylinder, H = głowica. S = sektor,
HPC = głowice na cylinder (całkowita ilość głowic), SPT = sektory na ścieżkę,
intx = część całkowita liczby,
X mod Y = reszta z dzielenia X przez Y.
Korzystając z tych wzorów możemy policzyć adres LBA dla każdego adresu CHS i odwrotnie. W tabeli 7.17 pokazano odpowiadające sobie adresy CHS i LBA, zakładając użycie dysku z 16 383 cylindrami, 16 głowicami i 63 sektorami na ścieżkę.
Tabela 7.17. Odpowiadające sobie numery sektorów CHS i LBA dla dysku z 16 383 cylindrami, 16 głowicami i 63 sektorami na ścieżkę (w sumie 16 514 064 sektorów)
Cylinder |
Głowica |
Sektor |
LBA |
0 |
0 |
1 |
0 |
0 |
0 |
63 |
62 |
1 |
1 |
1 |
63 |
999 |
15 |
63 |
1 007 999 |
1 000 |
0 |
1 |
1 008 000 |
9 999 |
15 |
63 |
10 079 999 |
10 000 |
0 |
1 |
10 080 000 |
16 382 |
15 |
63 |
16 514 063 |
Polecenia BIOS a polecenia ATA
Oprócz dwóch metod adresowania sektorów (CHS i LBA) istnieją jeszcze dwa dodatkowe poziomy interfejsu, gdzie zachodzi adresowanie sektorów. Jednym poziomem interfejsu jest komunikacja systemu operacyjnego z BlOS-em (z wykorzystaniem poleceń BIOS), natomiast drugim komunikacja BIOS-u z dyskiem (z wykorzystaniem poleceń ATA). Polecenia wykorzystywane na tych dwóch poziomach są różne, ale obsługują one zarówno tryb CHS, jak i LBA. Na rysunku 7.13 pokazano te dwa poziomy interfejsów.
Rysunek 7.13.
Związek występujący pomiędzy układem BIOS i adresowaniem fizycznych sektorów (na tym rysunku L-CHS należy rozumieć jako logiczny CHS, natomiast P-CHS jako fizyczny CHS)
Gdy system operacyjny komunikuje się z BlOS-em w celu odczytu lub zapisu sektora, wykonuje on polecenie za pośrednictwem przerwania programowego INTl3h (nie jest tym samym, co przerwanie IRQ), które jest odpowiedzialne za wywoływanie procedur BIOS odpowiedzialnych za dostęp do dysku. Różne procedury INT13h pozwalają na odczyt lub zapis sektora przy wykorzystaniu adresowania CHS lub LBA. Procedury te konwertują polecenia poziomu BIOS-u na polecenia poziomu sprzętowego ATA, które są wysyłane przez porty magistrali I/O do kontrolera. Polecenia poziomu sprzętowego ATA mogą korzystać z adresowania CHS lub LBA i. w zależności od rodzaju trybu, narzucane są różne ograniczenia. To, czy BIOS i dysk korzystają z adresowania CHS czy LBA, zależy od pojemności dysku, zaawansowania oprogramowania BIOS-u, rodzaju dysku, ustawień BIOS-u i systemu operacyjnego.
Ograniczenia CHS (bariera 528 MB)
Oryginalny sterownik dysku twardego wbudowany w BIOS jest sterowany przy wykorzystaniu przerwania 13h (13 szesnastkowo). Posiada on funkcje odczytu i zapisu poszczególnych sektorów dysków. Standardowe funkcje INT13h wymagają stosowania adresowania sektorów z wykorzystaniem cylindra, głowicy i sektora — metoda ta znana jest pod nazwą adresowania CHS. Interfejs ten jest wykorzystywany do uzyskiwania dostępu do dysku jedynie przez system operacyjny i niskopoziomowe narzędzia dyskowe. Interfejs dla BIOS-u korzystający z przerwania INT13h został stworzony w firmie IBM w roku 1983 na potrzeby kontrolera dysku twardego dla komputera PC XT i włączony został do BIOS-u płyty głównej komputera AT. W tabeli 7.18 przedstawione zostały ograniczenia i maksymalne wartości parametrów dla INT13h.
Tabela 7.18. Ograniczenia parametrów przerwania BIOS INT13h
Pole |
Wielkość pola |
Wartość maksymalna |
Przedział wartości |
Liczba wartości |
Cylinder |
10 bitów |
1024 |
0-1023 |
1024 |
Głowica |
8 bitów |
256 |
0-255 |
256 |
Sektor |
6 bitów |
64 |
1-63 |
63 |
Określenie maksymalnych wartości reprezentowanych przez daną liczbę bitów jest proste. Na przykład, jeśli jest hotel z dwucyfrowymi numerami pokojów, to może być jedynie 100 (102) pokojów numerowanych od 0 do 99. Liczby w adresowaniu CHS wykorzystywanym w interfejsie BIOS INT13h są binarne i w przypadku liczby 10-bitowej wykorzystywanej do adresowania cylindrów, mamy maksymalnie 1024 (210) wartości numerowanych od 0 do 1023. Ponieważ głowica jest identyfikowana przez liczbę 8-bitową, maksymalna liczba głowic to 256 (28) numerowanych od 0 do 255. 1 na koniec, sektory na ścieżce są identyfikowane za pomocą liczby 6-bitowej, co normalnie daje 64 (26) sektory, ale ponieważ sektory są numerowane od 1 (zamiast od 0), rozmiar jest ograniczony do zakresu 1 - 63, co daje maksymalnie 63 sektory na ścieżce.
Te ograniczenia BIOS-u występują dla wszystkich jego odmian korzystających z adresowania CHS. Korzystając z adresowania CHS na poziomie BIOS-u, można zaadresować dowolny sektor dysku z 1024 cylindrami, 256 głowicami i 63 sektorami na ścieżce. Ponieważ sektor ma wielkość 512 bajtów, wynik jest następujący:
Maksymalna wartość
Cylindry |
1024 |
Głowice |
256 |
Sektory na ścieżkę |
63 |
Całkowita ilość sektorów |
16515072 |
Bajtów |
8455716864 |
Megabajtów (MB) |
8456 |
Mebibajtów (MiB) |
8064 |
Gigabajtów (GB) |
8.4 |
Gibibajtów (GiB) |
7.8 |
Z tych obliczeń wynika, że maksymalna pojemność dysku adresowanego przez standardowy interfejs BIOS-u INT13h wynosi około 8,4 GB (gdzie GB to miliard bajtów) lub 7,8 GiB (gdzie GiB oznacza gibibajty).
Niestety, ograniczenia procedur BIOS INT13h nie sąjedynymi. Istnieją również ograniczenia w samym interfejsie ATA. Ograniczenia ATA CHS są zamieszczone w tabeli 7.19.
Tabela 7.19. Ograniczenia parametrów standardu ATA CHS
Pole |
Wielkość pola |
Maksymalna wartość |
, Przedział wartości |
Liczba wartości |
Cylinder |
16 bitów |
65536 |
0-65535 |
65536 |
Głowica |
4 bity |
16 |
0-15 |
16 |
Sektor |
8 bitów |
256 |
1 -255 |
255 |
Jak można zauważyć, interfejs ATA korzysta z innych wielkości pól do przechowywania wartości CHS. Zwróć uwagę, że w przypadku cylindrów ograniczenia ATA są mniejsze niż ograniczenie BIOS, natomiast w przypadku głowic ograniczenia są większe niż w BIOS. Ograniczenia pojemności w trybie CHS dla interfejsu ATA-1 do ATA-5 są następujące:
Maksymalna wartość
Cyl indry |
65536 |
Głowice |
16 |
Sektory na ścieżkę |
255 |
Całkowita ilość sektorów 267386880 |
|
Bajtów |
136902082560 |
Megabajtów (MB) |
136902 |
Mebibajtów (MiB) |
130560 |
Gigabajtów (GB) |
136.9 |
Gibibajtów (GiB! |
127.5 |
Gdy połączymy ograniczenia parametrów BIOS i ATA CHS, w wyniku otrzymamy wartości przedstawione w tabeli 7.20.
Tabela 7.20. Połączone ograniczenia BIOS i ATA CHS
Pole |
Ograniczenie BIOS CHS |
Ograniczenie ATA CHS |
Wynikowe ograniczenie parametru CHS |
Cylinder |
1 024 |
65 536 |
1 024 |
Głowica |
256 |
16 |
16 |
Sektor |
63 |
255 |
63 |
Maksymalna liczba sektorów |
16 515 072 |
267 386 880 |
1 032 192 |
Maksymalna pojemność |
8,4 GB |
136,9 GB |
528 MB |
Jak widać, wynikowe ograniczenia trybu CHS dają w efekcie maksimum 1024 cylindry, 16 głowic i 63 sektory, czyli maksymalna pojemność takiego dysku to 528 MB. Wielkość ta znana jest pod nazwą bariery 528 MB lub 504 MiB, która miała wpływ na niemal wszystkie komputery PC zbudowane przed rokiem 1993.
Translacja CHS (łamanie bariery 528 MB)
Istnienie bariery ograniczającej pojemność dysków do 528 MB nie było problemem do czasu, gdy nie były dostępne dyski o tak dużej pojemności. Jednak w roku 1994 technologia wytwarzania dysków rozwinęła się do tego stopnia, że możliwe było produkowanie tak dużych dysków, że niemożliwe stało się stosowanie adresowania ograniczanego przez BIOS i interfejs ATA. Należało znaleźć rozwiązanie tego problemu.
W roku 1993 producent oprogramowania BIOS rozpoczął prace nad rozszerzeniem BIOS-u mającym na celu obejście ograniczeń adresowania CHS. W styczniu 1994 roku została opublikowana specyfikacja BIOS En-hanced Disk Drive (EDD), która została później ponownie opublikowana przez komitet Tl3 (odpowiedzialny za interfejs ATA) jako BIOS Enchanced Disk Drive Semices (EDD). Dokument EDD opisuje kilka metod obejścia ograniczeń poprzednich wersji BIOS bez powodowania problemów ze zgodnością z istniejącym oprogramowaniem. Metodami tymi są:
rozszerzenie BIOS INT13h obsługujące 64-bitowy tryb LBA,
translacja geometrii CHS korzystająca z przesunięcia bitów,
translacja geometrii CHS oparta o LBA.
Metody obejścia problemu adresowania CHS nazywane są translacją, ponieważ stanowią one dodatkowe procedury BIOS-u dokonujące tłumaczenia parametrów CHS z maksimów ATA na maksima BIOS-u i odwrotnie. Aby metody te stały się standardem w przemyśle PC, Phoenix udostępnił dokumentację EDD i pozwolił na bezpłatne stosowanie tej technologii, nawet przez jego konkurentów, takich jak AMI i Award. Komitet Tl 3 przyjął standard EDD i włączył go do oficjalnych dokumentów standardu ATA.
Od roku 1994 większość BIOS-ów miała zaimplementowane metody translacji zaprojektowane przez firmę Phoenix, co umożliwiło stosowanie dysków o maksymalnej pojemności 8,4 GB. Poprawka ta wymaga stosowania translacji parametrów na poziomie BIOS. czyli takie modyfikacje numerów cylindrów, głowic i sektorów, aby mieściły się w zakresach udostępnianych przez BIOS. Istnieją dwa typy translacji. Pierwsza korzysta z techniki zwanej przesunięciem bitów CHS (często nazywana w programach BIOS Large lub Extended CHS), druga wykorzystuje technikę LBA (w programach BIOS-u nazywaną LBA). Techniki te odnoszą się do różnych matematycznych metod realizujących to samo zadanie: konwersję jednego zbioru adresów CHS na inny.
Translacja przesunięcia bitów CHS manipuluje numerami cylindrów i głowic, ale nie zmienia numerów sektorów. Rozpoczynając od fizycznych cylindrów (zgłaszanych przez dysk) i korzystając z prostych działań dzielenia i mnożenia, osiąga się zmienione wartości numerów cylindrów i głowic. Wartości określające sektory nie są modyfikowane. Termin przesunięcie bitów pochodzi stąd, że operacje dzielenia i mnożenia są wykonywane w programie BIOS przez przesuwanie bitów w adresie CHS.
W przypadku translacji z przesunięciem bitów CHS, zgłaszane przez dysk parametry są nazywane P-CHS. natomiast parametry zmienione przez BIOS — L-CHS. Po dokonaniu odpowiednich ustawień w programie konfiguracyjnym BIOS, adresy L-CHS są automatycznie tłumaczone przez BIOS na adresy P-CHS. Pozwala to systemowi operacyjnemu wysyłać do BIOS-u polecenia, korzystając z parametrów L-CHS, a BIOS automatycznie skonwertuje je na P-CHS podczas komunikacji z dyskiem wykorzystującej polecenia ATA. W tabeli 7.21 przedstawiono zasady wyliczania translacji CHS z przesunięciem bitów.
Tabela 7.21. Zasady translacji CHS z przesunięciem bitów
Cylindry fizyczne (raportowane przez dysk) |
Głowice fizyczne |
Cylindry logiczne |
Głowice logiczne |
Maksymalna pojemność |
1 < C <= 1 024 |
1 < H <= 16 |
C = C |
H = H |
528 MB |
1 024 < C <= 2 048 |
1 <H<= 16 |
C = C72 |
H = Hx2 |
1 GB |
2 048 < C <= 4 096 |
1< H <= 16 |
C = C/4 |
H = Hx4 |
2,1 GB |
4 096<C<=8 192 |
1 < H <= 16 |
C = C/8 |
H = Hx8 |
4,2 GB |
8 192<C<= 16 384 |
1 <H<= 16 |
C = C/16 |
H = Hxl6 |
8,4 GB |
Liczba sektorów raportowana przez dysk nie jest modyfikowana.
W niektórych systemach operacyjnych, na przykład DOS, Win9x, Me, ilość logicznych głowic nie może przekraczać 255.
Translacja CHS z przesunięciem bitów polega na dzieleniu liczby fizycznych cylindrów przez potęgę dwójki w taki sposób, aby obniżyć tę wartość poniżej granicznej liczby 1024 sektorów narzucanej przez BIOS INT13h i mnożenie ilości głowic przez tę samą potęgę dwójki. Liczba określająca numer sektora pozostaje niezmieniona. Wykorzystywana potęga dwójki zależy od całkowitej liczby cylindrów — zostało to przedstawione w tabeli 7.21.
Poniżej przedstawiony został przykład translacji CSH z przesunięciem bitów:
|
Parametry |
Parametry L-CHS |
|
P-CHS |
z przesunięciem bitów |
Cyl indry |
8000 |
1000 |
Głowice |
16 |
128 |
Sektory na ścieżkę |
63 |
63 |
Razem sektorów |
8064000 |
8064000 |
Razem bajtów |
4128768000 |
4128768000 |
Megabajtów (MB) 4129 4129
Mebibajtów (MiB) 3938 3938
Gigabajtów (GB) 4.13 4.13
Gibibajtów (GiB) 3.85 3.85
Przykład ten przedstawia dysk z 8000 cylindrów i 16 głowicami. Liczba fizycznych sektorów znacznie przekracza ograniczenie BIOS-u — 1024, więc jeżeli w programie konfiguracyjnym BIOS uruchomiona zostanie translacja CSH z przesunięciem bitów. BIOS dzieli liczbę cylindrów przez 2, 4, 8 lub 16 tak, aby obniżyć tę liczbę poniżej 1024. W tym przypadku zastosowane zostanie dzielenie przez 8, co daje nową logiczną liczbę cylindrów 1000 — co jest wartością mniejszą od 1024. Ponieważ liczba cylindrów jest dzielona przez 8, o tyle samo mnożona jest liczba głowic, co w wyniku daje 128 głowic logicznych— liczba ta również jest mniejsza od limitu narzucanego przez BIOS.
Mimo że napęd raportuje 8000 cylindrów i 16 głowic, BIOS i oprogramowanie (w tym system operacyjny) widzi dysk mający 1000 cylindrów i 128 głowic. Liczba 63 sektorów na ścieżkę nie zmienia się w czasie tych przeliczeń. W wyniku przedstawionych operacji BIOS może obsłużyć cały dysk 4,13 GB i nie jest ograniczony do pierwszych 528 MB.
Po zainstalowaniu dysku nie trzeba wykonywać żadnych obliczeń translacji — BIOS wykona je automatycznie. Należy jedynie pozwolić na wykrycie przez BIOS parametrów P-CHS i uruchomić translację w programie konfiguracyjnym BIOS-u. Ustawienie opcji Large lub ECHS uruchamia translację CHS z przesunięciem bitów. Za pozostałą część zadań odpowiedzialny jest BIOS.
Translacja z przesunięciem bitów CHS jest prostym i szybkim schematem, który może działać ze wszystkimi dyskami, ale nie może prawidłowo przekształcać wszystkich teoretycznie możliwych geometrii dysków o pojemności poniżej 8,4 GB. Aby rozwiązać ten problem, w specyfikacji ATA-2 został umieszczony dodatek nakazujący raportowanie określonych zakresów geometrii, tak aby zapewnić prawidłowe działanie translacji z przesunięciem bitów. Dlatego wszystkie dyski zgodne ze specyfikacją ATA-2 (lub kolejnymi) mogą korzystać z tej metody translacji.
Bariera 2,1 GB
Niektóre BlOS-y nieprawidłowo przydzielały 12. bit w polu cylindrów P-CHS i przez to maksymalna liczba cylindrów została ograniczona do 4096. W połączeniu ze standardowymi ograniczeniami do 16 głowic i 63 sektorów, powodowało to niemożność obsługi dysków o wielkości większej niż 2,1 GB. Na szczęście ten problem ograniczył się do niewielkiej liczby systemów z oprogramowaniem BIOS z pierwszej połowy 1996 roku.
Bariera 4,2 GB
Nawet stosując translację z przesunięciem bitów, napotkano na kilka problemów. Z powodu wewnętrznej budowy systemów DOS i Windows 9x/Me nie jest możliwa prawidłowa obsługa 256 głowic. Jest to problem dotyczący obsługi dysków większych niż 4,2 GB, ponieważ translacja CHS z przesunięciem bitów zwykle daje w wyniku 256 logicznych głowic, tak jak pokazane jest to na poniższym przykładzie:
|
Parametry P-CHS |
Parametry L-CHS z przes. bitów |
Cylindry |
12000 |
750 |
Głowice |
16 |
256 |
Sektory na ścieżkę |
63 |
63 |
Razem sektorów |
12096000 |
12096000 |
Razem bajtów Megabajtów (MB) Mebibajtów (MiB) Gigabajtów (GB) Gibibajtów (GiB) |
6193152000 6193 5906 6.19 5.77 |
6193152000 6193 5906 6.19 5.77 |
Sposób ten zawodzi, gdy próbujemy zainstalować Windows 9x/Me (lub DOS) na dysku większym niż 4.2 GB, ponieważ w parametrach L-CHS mamy wpisaną wartość 256 głowic. Każdy BIOS implementujący ten schemat spotyka się z barierą 4,2 GB. więc zainstalowanie większego dysku i wybranie translacji CHS z przesunięciem bitów powoduje, że dysk nie będzie działał prawidłowo. Problem ten nie występuje w Windows NT/2000/XP.
^
Przestawiony tu problem nie jest błędem BIOS-u; problem tkwi w kodzie systemu plików DOS, Win9x i Me, w których liczba sektorów na ścieżkę przechowywana jest w postaci wartości 8-bitowej. Liczba 256 powoduje problemy, ponieważ 256 = lOOOOOOOOb, co wymaga zastosowania 9 bitów. Największą możliwą wartością, jaką można zapisać w 8-bitowym rejestrze jest 255 = llllllllb i dlatego wartość ta jest maksymalną liczbą głowic obsługiwanych przez system operacyjny.
Aby rozwiązać ten problem, translacja CHS z przesunięciem bitów została zmieniona przez dodanie dodatkowej reguły. Jeżeli napęd raportuje 16 głowic i więcej niż 8192 cylindry (co powoduje wygenerowanie 256 głowic po translacji), zakłada się, że ilość głowic P-CHS wynosi 15 (zamiast 16) i w celu kompensacji ilość cylindrów P-CHS jest mnożona przez 15/16. Skorygowane ilości cylindrów i głowic są poddawane normalnej translacji. Poniżej przedstawiamy przykład takiej operacji:
Parametry Parametry L-CHS Skorygowane parametry P-CHS z przes. bitów L-CHS z przes. bitów
Cylindry |
12000 |
750 |
800 |
Głowice |
16 |
256 |
240 |
Sektory na ścieżkę |
63 |
63 |
63 |
Razem sektorów |
12096000 |
12096000 |
12096000 |
Razem bajtów |
6193152000 |
6193152000 |
6193152000 |
Megabajtów (MB) |
6193 |
6193 |
6193 |
Mebibajtów (MiB) |
5906 |
5906 |
5906 |
Gigabajtów (GB) |
6.19 |
6.19 |
6.19 |
Gibibajtów (GiB) |
5.77 |
5.77 |
5.77 |
Jak widać na tym przykładzie, napęd z 12 000 cylindrów i 16 głowicami przy użyciu standardowej translacji CHS daje w wyniku 750 logicznych cylindrów i 256 głowic. Zmodyfikowana metoda translacji wykonuje dwukrotną translację, na początku zmieniając 16 głowic na 15, a następnie mnożąc 12 000 cylindrów przez 16/15, co daje w wyniku 12 800 cylindrów. Następnie nowa liczba cylindrów jest poddawana translacji CHS z przesunięciem bitów poprzez podział tej liczby przez 16. co w wyniku daje 800 cylindrów logicznych. Podobnie 15 głowic jest mnożone przez 16. co daje w wyniku 240 głowic logicznych. Jeżeli liczba logicznych cylindrów przekracza 1024, jest obcinana do tej wartości. W rezultacie takich przekształceń 12 000 cylindrów i 16 głowic P-CHS zostało zamienione na 800 cylindrów i 240 głowic (zamiast 750 cylindrów i 256 głowic) L-CHS, dzięki czemu omija się błąd w systemach operacyjnych DOS, Win9x i Me.
Do tej pory nasze przykłady były bardzo proste — parametry L-CHS były przeliczane na parametry P-PCH dla tej samej pojemności. Niestety, nie zawsze da się działać w ten sposób. Kilka dysków 8,4 GB z firm Maxtor, Quantum, Seagate i innych raportują 16 383 cylindry i 16 głowic. W przypadku tych napędów translacja zadziała w sposób następujący:
Parametry Parametry L-CHS Skorygowane parametry
P-CHS z przes. bitów L-CHS z przes. bitów
Cylindry |
16383 |
1023 |
1024 |
Głowice |
16 |
256 |
240 |
Sektory na ścieżkę |
63 |
63 |
63 |
Razem sektorów |
16514064 |
16498944 |
15482880 |
Razem bajtów |
8455200768 |
8447459328 |
7927234560 |
Zwróćmy uwagę, że zmodyfikowana translacja CHS daje w wyniku 7,93 GB z całkowitych 8.46 GB dostępnych na dysku. Faktycznie te parametry (z 240 głowicami) są absolutnym maksimum, jakie można obsłużyć, korzystając ze zmodyfikowanego schematu CHS z przesunięciem bitów. Na szczęście dostępny jest inny tryb translacji, który pozwala lepiej obsługiwać takie sytuacje.
Translacja korzystająca z LBA
Translacja korzystająca z LBA nie nakłada żadnych sztucznych limitów geometrii napędu, ale działa jedynie w przypadku dysków obsługujących adresowanie LBA na poziomie interfejsu ATA. Jednak, na szczęście, niemal wszystkie dyski ATA większe niż 2 GB obsługują LBA. Procedura translacji korzystająca z LBA pobiera parametry CHS raportowane przez dysk, mnoży je w celu obliczenia maksymalnej wartości adresu LBA (całkowita ilość sektorów dysku) i korzysta z tej wyliczonej wartości do wyprowadzenia przekształconych parametrów CHS. W tabeli 7.22 pokazano zasady translacji korzystającej z LBA.
Tabela 7.22. Zasady translacji korzystającej z LBA
Całkowita liczba sektorów |
Cylindry logiczne |
Głowice logiczne |
Sektory logiczne |
1<T<= 1 032 192 |
T/l 008 |
16 |
63 |
1 032 192<T<=2 064 384 |
T/2 016 |
32 |
63 |
2 064 384<T<=4 128 768 |
T/4 032 |
64 |
63 |
4 128 768<T<=8 257 536 |
T/8 064 |
128 |
63 |
8 257 536 <T<= 16 450 560 |
T/16 065 |
255 |
63 |
T = Całkowita liczba sektorów obliczona przez pomnożenie raportowanych parametrów dysku P-CHS (C*H*S).
W przypadku translacji korzystającej z LBA liczba sektorów jest ustalona na 63, natomiast liczby cylindrów i głowic są mnożone i dzielone przez wyliczoną wartość zależną od całkowitej liczby sektorów. W wyniku takiej operacji otrzymujemy zbiór parametrów L-CHS wykorzystywanych przez system operacyjny do komunikacji za pośrednictwem BIOS-u. Wartości L-CHS są następnie przekształcane na adresy LBA na poziomie kontrolera ATA. Ponieważ tryb LBA jest bardziej elastyczny przy translacji, powinien być on w większości przypadków wykorzystywany zamiast translacji CHS z przesunięciem bitów.
W typowej sytuacji zarówno translacja CHS z przesunięciem bitów, jak i korzystająca z LBA generuje tę samą geometrię L-CHS. Powinno być to zawsze spełnione dla dysków raportujących 63 sektory na ścieżkę i 4, 8 lub 16 głowic. W kolejnym przykładzie oba schematy translacji dają identyczne wartości L-CHS.
|
Parametry |
Parametry |
Parametry |
|
P-CHS |
L-CHS z |
L-CHS |
|
|
przes. bitów |
z LBA |
Cyl indry |
8192 |
1024 |
1024 |
Głowice |
16 |
256 |
240 |
Sektory na ścieżkę |
63 |
63 |
63 |
Razem sektorów |
8257536 |
8257536 |
8257536 |
Razem bajtów |
4227858432 |
4227858432 |
4227858432 |
Megabajtów (MB) |
4228 |
4228 |
4228 |
Mebibajtów (MiB) |
4032 |
4032 |
4032 |
Gigabajtów (GB) |
4.23 |
4,23 |
4.23 |
Gibibajtów (GiB) |
3.94 |
3.94 |
3.94 |
Jeżeli jednak dysk raportuje inną niż 63 liczbę sektorów na ścieżkę lub posiada inną niż 4, 8 lub 16 liczbę głowic, translacja z wykorzystaniem LBA nie daje tych samych parametrów co translacja CHS z przesunięciem bitów. W poniższym przykładzie pokazaliśmy różne wyniki translacji.
|
Parametry |
Parametry |
Parametry |
|
P-CHS |
L-CHS |
L-CHS |
|
|
z przes. bitów |
z LBA |
Cylindry |
16383 |
1024 |
1024 |
Głowice |
16 |
240 |
255 |
Sektory na ścieżkę |
63 |
63 |
63 |
Razem sektorów |
16514064 |
15482880 |
16450560 |
Razem bajtów |
8455200768 |
7927234560 |
8422686720 |
Megabajtów (MB) |
8455 |
7927 |
8423 |
Mebibajtów (MiB) |
8064 |
7560 |
8033 |
Gigabajtów (GB) |
8.46 |
7,93 |
8.42 |
Gibibajtów (GiB) |
7.87 |
7.38 |
7.84 |
Translacja z wykorzystaniem LBA obsługuje 8,42 GB, co stanowi około 500 MB więcej niż zmodyfikowana translacja CHS z przesunięciem bitów. Ważniejsze jednak jest. że translacje te są różne, co może powodować problemy w przypadku zmiany trybu translacji dla dysku zawierającego dane. Jeżeli sformatujesz dysk, korzystając z translacji CHS z przesunięciem bitów, a następnie zmienisz ustawienie na translację z wykorzystaniem LBA, logiczna geometria może się zmienić i nie będzie można korzystać z dysku do czasu jego ponownego podzielenia na partycje i sformatowania (co spowoduje usunięcie danych). Dlatego nie planuj zmian sposobu translacji parametrów dysku bez sporządzenia kopii zapasowej danych na nim zapisanych.
Niemal wszystkie BlOS-y komputerów PC od roku 1994 posiadały możliwość uruchomienia w programie konfiguracyjnym BIOS translacji, jak również posiadały możliwość wyboru trybu translacji lub jego całkowitego wyłączenia. Jeżeli dostępne są tryby translacji CHS z przesunięciem bitów i LBA, powinieneś najprawdopodobniej wybrać metodę LBA, ponieważ jest bardziej efektywna i elastyczna. Translacja z wykorzystaniem LBA pozwala również obejść błąd systemu operacyjnego związany z granicą 4,2 GB, ponieważ ze swojej natury korzysta z 255 logicznych głowic.
Najczęściej możesz sprawdzić, czy BIOS obsługuje translację przez podanie więcej niż 1024 cylindrów w programie konfiguracyjnym BIOS, ale takie rozwiązanie może prowadzić do błędów. Najlepszym wyjściem jest sprawdzenie parametrów ustawiania translacji na stronie z ustawieniami dysku IDE w programie konfiguracyjnym BIOS. Więcej informacji na ten temat znajduje się w rozdziale 5., „BIOS". Jeżeli możesz wybrać ustawienie LBA lub ECHS (czasami nazywane Large lub Extended), wskazuje to na fakt, że BIOS zapewnia obsługę translacji. Większość BIOS-ów datowanych na 1994 rok lub nowszych posiada takie możliwości. Jednak w przypadku niektórych układów AMI BIOS z połowy lat 90. ubiegłego wieku ustawienie LBA znajdowało się w innym menu, niż ustawienia konfiguracyjne dysku twardego. Jeżeli Twój system nie wykorzystuje translacji parametrów, możesz pobrać poprawkę oprogramowania z witryny producenta dysku lub zainstalować kartę BIOS zawierającego takie możliwości, na przykład ATA Pro Flash z firmy Micro Firmware. Kolejną kartą BIOS obsługującą dyski o pojemności powyżej 137 GB jest Ultra ATA/133 PCI Adapter Card firmy Maxtor. Karta oferuje też przepustowość najszybszych dysków ATA, wynoszącą 133 MB/s.
W tabeli 7.23 zestawione zostały cztery sposoby, w jakie dzisiejsze BlOS-y obsługują adresowanie sektorów na dysku: standardowy CHS (bez translacji), rozszerzone adresowanie CHS, translacja LBA i czyste adresowanie LBA.
Tabela 7.23. Metody adresowania sektorów dysku
Tryb BIOS |
System operacyjny do BIOS |
BIOS do napędu |
Standard — bez translacji |
P-CHS |
P-CHS |
Translacja CHS z przesunięciem bitów (ECHS) |
L-CHS |
P-CHS |
Translacja z wykorzystaniem LBA (LBA) |
L-CHS |
LBA |
Czyste LBA (EDD BIOS) |
LBA |
LBA |
W przypadku standardowego CHS istnieje tylko jeden możliwy sposób translacji wewnątrz dysku. Prawdziwa geometria dysku jest całkowicie niewidoczna w przypadku nowoczesnych dysków ATA. Cylindry, głowice i sektory drukowane na etykiecie opisują czysto logiczną geometrię i nie określają aktualnych parametrów fizycznych. Standardowe adresowanie CHS ograniczone jest do 16 głowic i 1024 cylindrów, co daje górną granicę 504 MiB (528 MB).
W programach konfiguracyjnych BIOS-u ustawienie takie jest często nazywane Normal i jego wybranie powoduje, że BIOS zachowuje się jak bardzo stary BIOS bez translacji. Ustawienie to można stosować w przypadku dysków, które mają mniej niż 1024 cylindry lub jeżeli chcesz użyć dysku w systemie operacyjnym innym niż DOS, który nie obsługuje translacji.
Ustawienie ECHS lub Large w programie konfiguracyjnym BIOS uruchamia translację CHS z przesunięciem bitów i w większości BlOS-ów od roku 1997 stosowana jest metoda skorygowana (maksymalnie 240 logicznych głowic).
Ustawienie w programie konfiguracyjnym BIOS opcji LBA uruchamia translację korzystającą z LBA. a nie czysty tryb LBA. Opcja ta uaktywnia pracę oprogramowania z wykorzystaniem parametrów L-CHS, natomiast BIOS komunikuje się z napędem w trybie LBA.
Jeżeli masz dysk o pojemności 8,4 GB lub mniejszej i przełączysz się pomiędzy trybem Standard CHS, ECHS lub LBA, BIOS może zmieniać (tłumaczyć) geometrię. To samo stanie się, jeżeli przełożysz dysk sformatowany w starym komputerze nieobsługującym trybu LBA, do nowego, korzystającego z trybu LBA. Powoduje to, że logiczna geometria CHS widziana przez system operacyjny zmienia się i dane znajdują się na niewłaściwych, z punktu widzenia aktualnej geometrii, miejscach! Jeżeli nie będziesz ostrożny, może to spowodować utratę dostępu do danych. Zaleca się zapisywanie parametrów konfiguracji dysku, dzięki czemu można zawsze przywrócić oryginalne ustawienia. Nie dotyczy to dysków o pojemności większej niż 8,4 GB, ponieważ w tym przypadku automatycznie ustawiany jest czysty tryb LBA.
Jedynym sposobem na uruchomienie czystego trybu LBA na całej ścieżce od systemu operacyjnego aż do dysku jest użycie dysku większego niż 8,4 GB. Wszystkie dyski powyżej 137 GB muszą być adresowane w trybie LBA, zarówno na poziomie dysku, jak również na poziomie BIOS-u, ale większość BIOS-ów adresuje w ten sposób również dyski większe od 8,4 GB. W takim przypadku niepotrzebne są żadne ustawienia w programie konfiguracyjnym BIOS-u; należy ustawić tryb Auto lub Autodetect.
Bariera 8,4 GB
Mimo że translacja CHS przełamała barierę 528 MB, napotkano kolejną barierę — 8,4 GB. Obsługa dysków o pojemności większej niż 8,4 GB wymaga porzucenia metody CHS i zmiany adresowania na poziomie BIOS-u na LBA. Interfejs ATA od zawsze obsługiwał adresowanie LBA, nawet w oryginalnej specyfikacji ATA-1. Jednym problemem było to, że obsługa LBA na poziomie interfejsu ATA była na początku opcjonalna, ale ważniejszym problemem był brak obsługi LBA na poziomie BIOS-u. Można wybrać w programie konfiguracyjnym BIOS-u translację korzystającą z LBA, ale powoduje to jedynie konwersję adresów LBA na adresy CHS dokonywaną przez BIOS.
W firmie Phoenix Technologies zdano sobie sprawę, że interfejs BIOS musi zaniechać adresowania CHS na rzecz LBA i na początku roku 1994 opublikowano specyfikację BIOS Enhanced Disk Drive Speciflcation (EDD), w której zdefiniowano nowe, udoskonalone funkcje lNT13h, które operują na adresach LBA zamiast na adresach CHS.
Aby zapewnić akceptację tego standardu przez środowisko oraz aby uniknąć problemów ze zgodnością z nowymi funkcjami BIOS-u, w roku 1996 firma Phoenix przedstawiła ten dokument komitetowi Tl3 National Committee on Informational Technology Standards (NCITS) w celu zatwierdzenia i zapewnienia mu dalszego rozwoju jako standardu o nazwie BIOS Enchanced Disk Drive Speciflcation (EDD). Od roku 1998 większość producentów oprogramowania BIOS rozpoczęło instalowanie w swoich produktach obsługi EDD. co umożliwiło obsługę na poziomie BIOS-u trybu LBA w dyskach o pojemności większej niż 8,4 GB. Przypadkowo (lub nie) nowe funkcje pojawiły się dokładnie wtedy, gdy były potrzebne, ponieważ właśnie w tym roku na rynku zaczęły się pojawiać dyski ATA o takiej lub większej pojemności.
Dokumentacja EDD definiuje nowe, rozszerzone polecenia przerwania INT13h BIOS-u, które pozwalają na adresowanie LBA do 264 sektorów, co w efekcie daje teoretyczną pojemność dysku ponad 9,44 ZB (zetabajtów lub kwadrylionów bajtów). Wielkość ta to, inaczej mówiąc, 9,44 tryliona GB — 9,44 * 1021 bajtów lub precyzyjnie 9 444 732 965 739 290 430 000 bajtów! Jest to teoretyczna pojemność, ponieważ nawet w roku 1998, gdy BIOS mógł obsłużyć 264 sektorów, dyski ATA korzystały na poziomie interfejsu z adresowania 28-bitowego (22S sektorów). Ograniczało to dyski ATA do 268 435 456 sektorów, co daje pojemność 137 438 959 472 bajtów, czyli 137,44 GB. Dlatego, choć pokonana została bariera 8,4 GB, pozostała bariera 137 GB z powodu zastosowania 28-bitowego adresowania LBA na poziomie interfejsu ATA. Dokładnie granica ta jest wyznaczana przez następujące liczby:
Maksymalne wartości
Razem sektorów 268435456
Razem bajtów 137438953472
Megabajtów (MB) 137439
Mebibajtów (MiB) 131072
Gigabajtów (GB) 137.44
Gibibajtów (GiB) 128,00
Korzystając z nowych rozszerzonych poleceń INT13h trybu LBA na poziomie BIOS-u, jak również istniejących 28-bitowych poleceń trybu LBA, na poziomie ATA nie jest wymagana żadna translacja i adresy LBA są przesyłane w niezmienionej postaci. Połączenie trybu LBA w BIOS oraz na poziomie interfejsu ATA spowodowało, że niewygodne adresowanie CHS w końcu odeszło w przeszłość. Oznacza to również, że gdy zainstalujesz dysk ATA większy niż 8,4 GB w komputerze, który posiada BIOS z obsługą EDD (1998 rok lub późniejsze), zarówno BIOS, jak i dysk automatycznie skorzystają z trybu LBA.
Interesujące jest to, że, w celu zapewnienia zgodności wstecz, gdy uruchomiony zostanie stary system operacyjny, który nie obsługuje trybu LBA (DOS lub pierwsza wersja Win95), większość dysków o pojemności większej niż 8,4 GB raportuje 16 383 cylindry, 16 głowic i 63 sektory na ścieżkę, co daje 8,4 GB. Umożliwia to na przykład taką sytuację, że dysk 120 GB będzie widziany przez stare BlOS-y lub systemy operacyjne jako dysk 8,4 GB. Wydaje się to dziwne, ale posiadanie dysku 120 GB widzianego jako 8,4 GB jest lepsze, niż sytuacja, kiedy dysk ten jest całkowicie niedostępny. Jeżeli chcesz zainstalować dysk większy niż 8,4 GB w systemie sprzed 1998 roku, zalecanym rozwiązaniem jest aktualizacja BIOS-u płyty głównej lub zastosowanie karty BIOS-u z obsługą EDD (produkowaną przez firmę MicroFirmware lub inne).
Bariera 137 GB i powyżej
W roku 2001 bariera 137 GB zaczęła stanowić problem, ponieważ 3,5-calowe napędy dysków twardych zaczęły osiągać ten poziom pojemności. Rozwiązaniem stał się standard ATA-6, który powstał w tym samym roku. Aby umożliwić adresowanie dysków o ogromnej pojemności w ATA-6, funkcje LBA zostały unowocześnione i mogą teraz korzystać z większych, 48-bitowych liczb.
Specyfikacja ATA-6 rozszerzyła interfejs LBA i 48-bitowe adresowanie sektorów. Oznacza to, że maksymalna pojemność została zwiększona do 24s (281 474 976 710 656) sektorów. Ponieważ każdy sektor przechowuje 512 bajtów, maksymalna pojemność dysku jest następująca:
Maksymalne wartości
Razem sektorów 281474976710656
Razem bajtów 144115188075855888
Megabajtów (MB) 144115188076
Mebibajtów (MiB) 137438953472
Gigabajtów (GB) 144115188
Gibibajtów (GiB) 134217728
Terabajtów (TB) 144115
Tebibajtów (Ti B) 131072
Petabajtów (PB) 144.12
Pebibajtów (PiB) 128.00
Jak widać, 48-bitowe ATA-6 pozwala na adresowanie nieco ponad 144 PB (petabajtów = kwadrylion bajtów)!
Ponieważ funkcje EDD BIOS-u korzystają z 64-bitowych adresów LBA, można z ich pomocą zaadresować dużo większe dyski:
Maksymalne wartości
Razem sektorów
18446744073709551600
Razem bajtów
Megabajtów (MB) Mebibajtów (MiB)
Gigabajtów (GB) Gibibajtów (GiB)
Terabajtów (TB) Tebibajtów (TiB)
Petabajtów (PB) Pebibajtów (PiB)
Eksabajtów (EB) Eksbibajtów (EiB)
Zetabajtów (ZB) Zebibajtów (ZiB)
9444732965739290430000 9444732965739291 9007199254740993 9444732965739 8796093022208 9444732965
8589934592
9444733
8388608
9445
8192 9.44 8.00
Choć funkcje BIOS-u korzystają z 64-bitowych adresów LBA (pozwalając na użycie 2 sektorów), całość systemu jest limitowana 144 petabajtami ograniczenia ATA-6. Powinno to wystarczyć najakiś czas.
Ponieważ dyski twarde podwajają swoją pojemność co 1,5 do 2 lat (prawo Moore'a) i zakładając, że dyski ATA o pojemności 200 GB i większej pojawiły się pod koniec 2003 roku, można oszacować, że technologia zbliży się do bariery 144 PB pomiędzy rokiem 2031 a 2041 (o ile technologia dysków twardych będzie jeszcze wtedy stosowana). Podobnie aproksymując, można stwierdzić, że bariera 9,44 ZB istniejąca w BlOS-ie EDD będzie osiągnięta pomiędzy latami 2055 i 2073! W firmie Phoenix zakładano, że specyfikacja EDD przetrwa do roku 2020.
Bariera 137 GB okazała się trochę bardziej złożona od poprzednich, ponieważ poza kwestiami dotyczącymi BIOS konieczne było uwzględnienie zagadnień związanych z systemem operacyjnym.
Wewnętrzne dyski o pojemności przekraczającej 137 GB wymagają obsługi 48-bitowego mechanizmu LBA (logical błock address). Taka obsługa koniecznie musi być oferowana przez system operacyjny, ale może też. być obecna w układzie BIOS. Choć najlepszą sytuacjąjest obsługa oferowana zarówno przez BIOS, jak i system operacyjny, wystarczająca będzie tylko obsługa systemowa.
Aby system operacyjny obsługiwał 48-bitowe LBA, musi zostać spełniony jeden z poniższych warunków.
Pakiet Service Pack 1 (SP1) lub nowszy, zainstalowany w systemie Windows XP.
Pakiet Service Pack 4 (SP4) lub nowszy, zainstalowany w systemie Windows 2000.
Oprogramowanie IAA (Intel Application Accelerator), uruchomione w systemach Windows 98/98SE/Me lub NT 4.0. Rozwiązanie takie sprawdzi się, gdy płyta główna dysponuje chipsetem zgodnym z oprogramowaniem IAA. Więcej informacji można znaleźć pod adresem http://www.intel.com/support/chipsets/IAA/instruct.htm.
Aby skorzystać z układu BIOS obsługującego 48-bitowe LBA, musi zostać spełniony jeden z poniższych warunków.
Płyta główna z takim układem BIOS (większość modeli datowanych na wrzesień 2002 r. lub nowszych).
Karta kontrolera ATA zawierająca taki BIOS.
Jeśli BIOS płyty głównej nie obsługuje 48-bitowego LBA i jej producent nie udostępnił odpowiedniego uaktualnienia, można skorzystać z odpowiedniej karty. Do kart obsługujących 48-bitowe LBA należy zaliczyć LBA Pro ISA firmy eSupport (http://www.esupport.com) i Ultra ATA/133 PCI firmy Maxtor (http:// www.maxtor.com). Karta firmy Maxtor posiada dwa dodatkowe porty ATA-133, umożliwiające podłączenie maksymalnie czterech napędów. Z kolei karta firmy eSupport zawiera tylko BIOS. W przypadku obu kart możliwe jest dalsze korzystanie z istniejących portów płyty głównej. BIOS kart będzie udostępniał obsługę 48-bitowe LBA zarówno w portach płyty głównej, jak i znajdujących się na karcie.
Warto zauważyć, że jeżeli 48-bitowe LBA obsługiwane jest przez BIOS i system operacyjny, dysk o dużej pojemności można instalować i używać jak każdy inny. Jeśli brak jest obsługi ze strony BIOS. a jest ona oferowana jedynie przez system operacyjny, do momentu jego załadowania nie zostanie rozpoznana i nie będzie dostępna część przestrzeni dyskowej powyżej 137 GB. Jeśli system instalowany jest na czystym dysku twardym i ładowany z oryginalnego dysku CD systemu Windows XP (bez dodatku SP1) lub starszego, w trakcie instalacji konieczne będzie wykonanie partycjonowania dysku dla pierwszych 137 GB. Po pełnym zainstalowaniu systemu operacyjnego i dodatku Service Pack można, korzystając ze standardowego systemowego narzędzia, dokonać partycjonowania tego obszaru dysku. Aby zwiększyć rozmiar pierwszej partycji do maksymalnej pojemności dysku, można użyć niezależnych narzędzi partycjonujących, takich jak PartitionMagic lub Partition Commander. Jeśli system zostanie załadowany przy użyciu instalacyjnego dysku CD systemu Windows z już obecnym dodatkiem Service Pack 1 lub nowszym, możliwe będzie w trakcie instalacji systemu rozpoznanie i udostępnienie całego dysku i partycjonowanie go jako pojedynczej partycji o pojemności przekraczającej 137 GB.
Trzeba wiedzieć, że oryginalne wersje systemu Windows XP, a także Windows 2000/XP lub 95/98/Me nie oferują obsługi dysków twardych ATA o pojemności przekraczającej 137 GB. W związku z tym w przypadku systemu Windows XP konieczne jest zainstalowanie dodatku Service Pack 1 lub nowszego.
Ograniczenia związane z systemami operacyjnymi i innym oprogramowaniem
Należy pamiętać, że jeżeli korzystamy ze starego oprogramowania, na przykład programów narzędziowych, aplikacji, a nawet systemów operacyjnych, które używająjedynie parametrów CHS, dyski większe niż 8,4 GB będą widziane jako dyski o pojemności jedynie 8,4 GB. Potrzebujemy nie tylko nowego BIOS-u, ale również nowego oprogramowania, zaprojektowanego do bezpośredniego adresowania LBA, co pozwala obsługiwać dyski większe od 8,4 GB.
Ograniczenia systemów operacyjnych związane z dyskami o pojemności przekraczającej 8,4 GB przedstawione są w tabeli 7.24.
Tabela 7.24. Ograniczenia systemów operacyjnych
System operacyjny |
Ograniczenia rozmiaru twardego dysku |
DOS, Windows 3x |
DOS 6.22 i starsze nie mogły obsługiwać dysków większych niż 8,4 GB. DOS 7.0 i nowsze (w tym Windows 95 i nowsze) obsługująjuż dyski ponad 8,4 GB. |
Windows 9X/Me |
Windows 95a (pierwsza wersja) nie obsługiwał rozszerzenia INT13h, co oznacza, że nie obsługiwał dysków większych niż 8,4 GB, jednak z powodu ograniczeń systemu plików FAT16, maksymalna wielkość partycji była ograniczona do 2 GB. Windows 95B/OSR2 i nowsze (w tym Windows 98/Me) obsługują rozszerzenie INT13h, co pozwala na stosowanie dysków ponad 8,4 GB, a FAT32 umożliwia obsługę partycji do maksymalnej pojemności dysku. Ze względu na ograniczenia w architekturze system Windows 95 nie obsługuje dysków twardych o pojemności przekraczającej 32 GB. Aby w systemie Windows 98 możliwe było partycjonowanie dysków o pojemności większej niż 64 GB, konieczne jest uaktualnienie programu FDISK. |
Windows NT |
Windows NT 3.5x nie obsługuje dysków większych niż 8.4 GB. Windows NT 4.0 obsługuje takie dyski, ale gdy jako pierwsze urządzenie rozruchowe zostanie wykorzystany dysk większy niż 8,4 GB, rozpoznawane jest tylko pierwsze 8,4 GB. Microsoft poprawił ten błąd w Service Pack 4. |
Windows 2000/XP |
Windows 2000 i XP obsługują dyski większe niż 8,4 GB. |
OS/2 Warp |
Niektóre wersje OS/2 mają ograniczoną wielkość partycji rozruchowej do 3,1 GB lub 4,3 GB. IBM udostępnił poprawkę Device Driver Pack umożliwiającą na tworzenie partycji rozruchowych do 8,4 GB. System plików HPFS stosowany w OS/2 obsługuje dyski do 64 GB. |
Novell |
NetWare 5.0 i nowsze obsługuje dyski większe od 8,4 GB. |
W przypadku, gdy system operacyjny obsługuje dyski o pojemności większej niż 8.4 GB, ograniczenie pojemności dysku zależy od BIOS-u i standardu interfejsu dysku. Zamiast tego ograniczeniami stają się wielkości partycji i rozmiar plików, jakie mogą być tworzone i zarządzane przez różne systemy plików. Ograniczenia te są zależne nie tylko od systemu operacyjnego, ale również od systemu plików zastosowanego na partycji. W tabeli 7.25 zebrano minimalną i maksymalną wielkość partycji i plików w różnych wersjach systemu operacyjnego Windows.
Tabela 7.25. Ograniczenia wielkości partycji i pliku systemach plików systemów operacyjnych
Ograniczenia systemu operacyjnego dla systemów plików |
FAT16 |
FAT32 |
NTFS |
Min. wielkość partycji (9x/Me) |
2,092 MB |
33,554 MB |
— |
Maks. wielkość partycji (95) |
2,147 GB |
33,554 MB |
— |
Maks. wielkość partycji (98) |
2,147 GB |
136,902 GB |
— |
Maks. wielkość partycji (Me) |
2,147 GB |
8,796 TB |
— |
Min. wielkość partycji (NT/2000/XP) |
2.092 MB |
33,554 MB |
1000 MB |
Maks. wielkość partycji (NT/2000/XP) |
4,294 GB |
8,796 TB |
281,475 TB |
Maks. wielkość pliku (wszystkie) |
4,294 GB |
4,294 GB |
16,384 TB |
— = nie dotyczy.
MB = megabajt = I 000 000 bajtów.
GB = gigabajt = 1 000 000 000 bajtów.
TB = terabajt = / 000 000 000 000 bajtów.
ATA RAID
RAID to skrót od angielskiego określenia redundant array of independent (inexpensive) disks, czyli nadmiarowa macierz niezależnych (niedrogich) dysków. RAID został zaprojektowany na University of California w Berkeley w 1987 roku. Projekt zakładał połączenie grupy małych, niedrogich dysków, korzystając z odpowiedniego sprzętu i oprogramowania w taki sposób, aby były widziane przez system jako jeden duży dysk. Korzystając z wielu dysków działających identycznie jak jedno urządzenie, zwiększa się niezawodność systemu i można osiągnąć poprawę wydajności jego działania.
Na początku RAID miał jedynie łączyć poszczególne dyski w jeden dysk logiczny z przestrzenią roboczą rozciągającą się na poszczególne dyski składowe. Jednak zmniejszało to niezawodność i nie pomagało również poprawić wydajności. Na przykład, jeżeli w macierzy mamy cztery dyski działające jako jeden dysk logiczny, prawdopodobieństwo wystąpienia awarii jest cztery razy większe niż w przypadku pojedynczego dysku. Aby poprawić niezawodność i wydajność, naukowcy z Berkeley zaproponowali sześć poziomów (związanych z różnymi metodami) RAID. Na różnych poziomach skupiono się na różnych cechach: na odporności na awarie (niezawodności), pojemności, wydajności lub kombinacji powyższych.
W lipcu 1992 roku zawiązana została organizacja RAID Advisory Board (RAB), która postawiła sobie za cel standaryzację i rozpowszechnianie standardu RAID. Organizacja RAB opublikowała specyfikację RAID, program zgodności z różnymi poziomami RAID oraz program klasyfikacji sprzętu dla RAID.
W chwili obecnej zdefiniowano siedem standardowych poziomów RAID o nazwach od RAID 0 do RAID 6. Najczęściej RAID jest implementowany za pomocą układu kontrolera RAID, ale możliwe są również rozwiązania programowe, choć te nie są zalecane. Zdefiniowano następujące poziomy RAID:
RAID poziom 0 — stripping. Pliki są zapisywane równolegle na wiele dysków w macierzy, które działają jako jeden duży dysk. Zapewnia wysoką wydajność odczytu i zapisu, ale bardzo niewielką niezawodność. Do prawidłowego działania wymaga co najmniej dwóch dysków.
RAID poziom I — mirroring. Dane zapisywane na dysk są duplikowane na drugim dysku, co zapewnia doskonalą odporność na awarie (jeżeli dysk ulegnie uszkodzeniu, nie zostaną
utracone żadne dane), ale w żaden sposób nie poprawia wydajności w porównaniu z jednym dyskiem. Do prawidłowego działania wymaga co najmniej dwóch dysków (o tej samej pojemności).
RAID poziom 2 — bitowe ECC. Dane są dzielone na wiele dysków, a kody korekcji błędów zapisywane na innym urządzeniu. Zaprojektowany dla urządzeń nie posiadających korekcji ECC (wszystkie dyski SCSI i ATA mają wewnętrzną korekcję ECC). Zapewnia dużą prędkość przesyłu i dobrą niezawodność, ale wymagane jest stosowanie wielu napędów. Dodatkowo, na rynku prawdopodobnie nie są dostępne kontrolery RAID 2 i dyski bez kontroli ECC.
RAID poziom 3 — stripping z kontrolą parzystości. Połączenie RAID 0 z dodatkowym dyskiem wykorzystywanym do kontroli parzystości. Ten poziom jest adaptacją RAID poziomu 0, który zapewnia tę samą pojemność. Jednak zapewniony jest wysoki poziom niezawodności, ponieważ
w przypadku awarii dysku najczęściej można odbudować dane. Wymaga co najmniej trzech dysków (dwa lub więcej na dane i jeden na kody parzystości).
RAID poziom 4 — dane blokowe z parzystością. Podobny do RAID 3 poza tym, że dane są zapisywane w większych blokach na niezależne dyski, co zapewnia lepszą wydajność przy odczycie dużych plików. Wymaga co najmniej trzech dysków (dwóch lub więcej na dane i jednego na kody parzystości).
RAID poziom 5 — dane blokowe z rozproszoną parzystością. Podobny do RAID 4, ale zapewnia lepszą wydajność dzięki rozproszeniu kodów parzystości na kilka dysków. Wymaga co najmniej trzech dysków (dwóch lub więcej na dane i jednego na kody parzystości).
RAID poziom 6 — dane blokowe z podwójną rozproszoną parzystością. Podobny do RAID 5, ale dane parzystości są zapisywane dwukrotnie za pomocą dwóch schematów parzystości, w celu zapewnienia lepszej odporności na awarie w przypadku awarii kilku dysków. Wymaga co najmniej czterech dysków (dwóch lub więcej na dane i dwóch na kody parzystości).
Istnieją również inne poziomy RAID, ale nie są one obsługiwane przez RAID Advisory Board i są one własnymi implementacjami poszczególnych producentów. Należy zwrócić uwagę, że wyższy numer niekoniecznie oznacza zwiększoną wydajność lub odporność na awarie; kolejność poziomów RAID jest całkowicie dowolna.
Swego czasu niemal wszystkie kontrolery RAID bazowały na SCSI i wykorzystywały dyski SCSI. Dla profesjonalnych zastosowań SCSI RAID jest najlepszym wyborem, ponieważ łączy zalety RAID z zaletami SCSI
— interfejsu, który był zaprojektowany do obsługi wielu dysków. Jednak w chwili obecnej dostępne są kontrolery ATA RAID. co pozwala na budowanie tańszych implementacji RAID. Te kontrolery ATA RAID są głównie wykorzystywane w systemach jednoużytkownikowych. najczęściej w celu zwiększenia wydajności, a rzadziej dla zwiększenia niezawodności.
Większość implementacji ATA RAID jest dużo prostsza od rozwiązań stosowanych w profesjonalnych interfejsach SCSI RAID, jakie są używane w sieciowych serwerach plików. ATA RAID został zaprojektowany raczej dla indywidualnych użytkowników potrzebujących lepszej wydajności lub prostej metody mirrorowa-nia dysków. Gdy oczekiwane jest zwiększenie wydajności, adapter ATA RAID pracuje w trybie RAID poziom 0, który zapewni stripping danych. Niestety, w przypadku RAID 0 dzieje się to kosztem niezawodności
— w momencie awarii jednego dysku wszystkie dane zostają utracone. W przypadku RAID 0 wydajność jest zwiększana proporcjonalnie do ilości napędów w macierzy. Jednak jeżeli korzystasz z czterech dysków, wydajność niekoniecznie musi wzrosnąć cztery razy w stosunku do wydajności jednego dysku, będzie ona bliska wydajności ciągłego przesyłu. Niewielki narzut czasowy wprowadza sam kontroler — podział danych na dyski wymaga nieco czasu — ale i tak wydajność będzie znacząco wyższa, niż osiągana przy zastosowaniu pojedynczego napędu.
Gdy wymagana jest większa niezawodność, interfejs ATA RAID najczęściej pracuje w trybie RAID poziom 1, który zapewnia mirroring dysków. Wszystkie dane zapisywane na dysk są również zapisywane na jego dysk lustrzany. Jeżeli jeden z dysków ulegnie awarii, system może kontynuować pracę z jednym napędem. Niestety, nie zwiększa to w żaden sposób wydajności systemu, a dodatkowo wykorzystujemy tylko połowę dostępnej pojemności dysków. Inaczej mówiąc, trzeba zainstalować dwa dyski, a wykorzystuje się tylko jeden (drugi stanowi wierną kopię). Jednak w czasach dużych pojemności i niskich cen dysków nie jest to większy problem. Jeżeli zależy Ci na wyeliminowaniu nadmiaru kabli, warto pod uwagę wziąć zastosowanie interfejsu Serial ATA RAID korzystającego z wąskich kabli SATA, zaprezentowanych wcześniej w tym rozdziale.
Łączenie zwiększonej wydajności i odporności na awarie wymaga zastosowania innych poziomów RAID — poziomu 3 lub 5. Na przykład niemal wszystkie profesjonalne kontrolery RAID wykorzystywane w serwerach plików pracują w trybie RAID 5. Kontrolery RAID 5 są droższe i dodatkowo trzeba zastosować co najmniej 3 dyski. Aby poprawić niezawodność, ale zmniejszyć koszt, wiele kontrolerów ATA RAID łączy poziomy RAID, na przykład 0 i 1. Wymaga to zwykle zastosowania czterech dysków, z których dwa zapewniają stripping według RAID 0, a dwa pozostałe dyski są wykorzystywane do mirroringu dysków roboczych w trybie RAID 1. Pozwala to niemal podwoić wydajność jednego dysku, a dane są dublowane na wypadek awarii pierwszej pary dysków.
Dziś można kupić kontrolery ATA RAID lub Serial ATA RAID produkcji firm Arco Computer Products, Iwill, Promise Technology, HighPoint i innych. Typowy tani kontroler ATA RAID pozwala na podłączenie do czterech dysków, które mogą pracować w trybie RAID 0, 1 lub 0+1. Trzeba wiedzieć, że wydajność dysków (masterlslave) obsługiwanych przez pojedynczy kanał interfejsu równoległego ATA jest mniejsza. Wynika to stąd, że w danej chwili dane przesyłać może tylko jeden z dysków, co powoduje spadek wydajności o połowę. Dostępne są4-kanałowe karty ATA RAID. Większość nowych kart RAID jest jednak wyposażana w interfejs Serial ATA, który pozbawiony jest właściwych dla interfejsu ATA problemów związanych ze współużytkowaniem kanałów przez dyski masterislave. Karty Serial ATA RAID udostępniają dla każdego dysku niezależny kanał danych SATA. dzięki czemu możliwe jest osiągnięcie maksymalnej wydajności. Namawiam zatem do zastosowania takich kart.
Jeżeli chcemy zastosować kontroler ATA RAID (lub płytę główną ze zintegrowanym kontrolerem ATA RAID), należy zwrócić uwagę na następujące parametry:
obsługiwane poziomy RAID (większość obsługuje tryb 0, 1 i połączony 0+1; obecnie dostępnych jest kilka kart ATA RAID 5),
zastosowanie dwóch albo czterech kanałów (w celu uzyskania jak najlepszej wydajności czterech urządzeń korzystających z równoległego interfejsu ATA polecam cztery kanały),
obsługa ATA/100 lub ATA/133 (interfejs równoległy ATA),
obsługa gniazd PCI 33 MHz lub 66 MHz (niektóre serwery wyposażone są w gniazda PCI 66 MHz),
zastosowanie kontrolerów Serial ATA RAID, pozwalających osiągnąć maksymalną wydajność oraz cechujących się łatwością instalacji i niezawodnością.
Jeżeli chcesz eksperymentować bez konieczności wydawania pieniędzy, możesz implementować RAID bez dodatkowego kontrolera, lecz przy wykorzystaniu możliwości niektórych zaawansowanych systemów operacyjnych. Na przykład Windows NT/2000/XP lub Server 2003 posiadają programową obsługę RAID na poziomie zarówno strippingu, jak i mirroringu. W tych systemach operacyjnych program Disk Administrator może być wykorzystany do obsługi funkcji RAID i rekonstrukcji dysku po awarii. Zwykle jednak, gdy budujesz serwer, w którym niezwykle ważna jest wydajność i niezawodność zalecane jest zastosowanie kontrolerów ARA lub SCSI RAID. obsługujących RAID poziom 3 lub 5.
Rozdział 8.
Interfejs SCSI
Small Computer System Interface
Nazwa tego interfejsu jest skrótem słów Smali Computer System Interface. które oznaczają interfejs dla małych systemów komputerowych. Jest to interfejs ogólnego przeznaczenia używany do przyłączania różnych typów urządzeń do komputera PC. Interfejs ten wywodzi się od interfejsu SAS ł (ang. Shugart Associates System Interface) i jest stosowany najczęściej do przyłączania szybkich napędów dysków do komputerów PC o dużej wydajności, takich jak stacje robocze lub serwery sieciowe. Interfejs SCSI jest bardzo elastyczny; może być używany nie tylko jako interfejs dysków, ale również jako interfejs systemowy, pozwalający na przyłączanie za jego pośrednictwem różnych typów urządzeń. Magistrala SCSI obsługuje 7 lub 15 urządzeń. Istnieją również interfejsy wielokanałowe, obsługujące po 7 lub 15 urządzeń w każdym kanale.
Kontroler SCSI, nazywany adapterem hosta, stanowi bramę pomiędzy magistralą SCSI a magistralą systemową komputera. Każde z urządzeń przyłączonych do magistrali ma wbudowany swój własny kontroler. Magistrala SCSI nie komunikuje się bezpośrednio z urządzeniem; komunikacja jest realizowana za pośrednictwem kontrolera wbudowanego w urządzenie.
Pojedyncza magistrala SCSI może obsługiwać 8 lub 16 urządzeń fizycznych, określanych często jako SCSI ID. Jednym z tych urządzeń jest karta host adaptera, pozostałymi 7 lub 15 mogą być urządzenia zewnętrzne. Do jednej magistrali SCSI można przyłączyć dyski twarde, napędy taśm, napędy CD-ROM, skanery i inne urządzenia. Większość systemów może obsłużyć do 4 adapterów, a do każdego można podłączyć 15 urządzeń, czyli daje to maksymalnie 60 możliwych do podłączenia urządzeń! Istnieją również adaptery dwukanałowe, które pozwalają podwoić tę liczbę.
SCSI jest interfejsem szybkim, odpowiednim dla stacji roboczych o dużej wydajności, serwerów lub innych systemów, w których wymagana jest duża prędkość działania dysków. Najnowsza wersja, Ultra (Ultra640), pozwala na osiągnięcie prędkości przesyłu do 640 MB/s! Dla porównania interfejs równoległy ATA (określany też nazwą IDE) gwarantuje 133 MB/s. a interfejs Serial ATA — 150 MB/s. Warto zauważyć, że podane wartości identyfikują szybkości samych interfejsów. Zwykle parametry poszczególnych urządzeń są znacznie niższe. Większe szybkości magistrali SCSI są wykorzystywane, gdy podłączonych jest do niej wiele urządzeń. W takim przypadku operacje odczytu i zapisu wykonywane przez urządzenia mogą się pokrywać, dzięki czemu w większym stopniu jest wykorzystywana dostępna zwiększona przepustowość. Wolniejsze magistrale ATA obsługują tylko jedno lub dwa urządzenia. W tym przypadku większa przepustowość jest zbędna, ponieważ nie zostałaby wykorzystana.
Kupując urządzenie SCSI, na przykład dysk SCSI, zwykle w jednym urządzeniu otrzymujemy kontroler, adapter SCSI i samo urządzenie; taki zestaw jest gotowy do przyłączenia do magistrali SCSI. Ten typ napędu jest nazywany wbudowanym urządzeniem SCSI — interfejs SCSI jest wbudowany w urządzenie. Dla przykładu, większość dysków SCSI jest technicznie identyczna z ich odpowiednikami ATA, poza dodatkowymi układami adaptera magistrali SCSI (zwykle jest to jeden układ) umieszczonymi na płycie kontrolera. System nie komunikuje się bezpośrednio z kontrolerem, jak ma to miejsce w przypadku dysków ATA. Zamiast tego komunikacja realizowana jest poprzez adapter hosta SCSI zamontowany w magistrali systemowej, a następnie kontroler interfejsu SCSI znajdujący się na karcie logicznej napędu, a wreszcie przez kontroler urządzenia (też umieszczony na karcie logicznej) i dysk. Jedynym sposobem dostępu do dysku jest wykorzystanie protokołu SCSI.
Firma Apple uznała, że interfejs SCSI jest niedrogim sposobem na rozwiązanie problemu, jaki sama sobie zgotowała w przypadku komputerów Macintosh. Gdy projektanci zrozumieli, jaką pomyłkę popełnili, tworząc komputery Macintosh jako systemy zamknięte (bez złączy rozszerzeń), zdecydowali oni, że najłatwiejszym sposobem uzyskania rozszerzalności jest dodanie do systemu portu SCSI. W taki właśnie sposób do komputerów Macintosh były kiedyś przyłączane urządzenia zewnętrzne. Oczywiście, aby utrzymać tradycje firmy Apple, wykorzystali oni niestandardowe gniazdo SCSI. W chwili obecnej Apple projektuje systemy z gniazdami rozszerzeń uniwersalnej magistrali szeregowej (USB) i FireWire (znanej też jako iLink lub IEEE 1394), a niestandardowy interfejs Apple SCSI jest dostępny jedynie jako wyposażenie opcjonalne. Ponieważ systemy PC były od zawsze rozszerzalne, nie było więc tak dużych nacisków na rozwijanie SCSI. Wydawało się, że osiem różnych urządzeń podłączanych do jednej magistrali to zbyt dużo. Faktycznie, w nowoczesnych komputerach PC — zawierających niedrogie porty USB lub FireWire służące do podłączania zewnętrznych urządzeń — w większości przypadków zastosowanie interfejsu SCSI jest wymagane jedynie wówczas, gdy szybkość działania systemu lub jego niezawodność (poprawiana przy użyciu macierzy dysków, których wymiana jest możliwa w czasie pracy komputera) jest bardzo ważna. Interfejsy USB 2.0 i IEEE 1394a/b (FireWire) oferują jednak wydajność porównywalną z możliwościami wielu wersji interfejsu SCSI o mniejszej szybkości, w związku z czym mogą stanowić alternatywę dla takich urządzeń, jak zewnętrzne dyski twarde i skanery. Faktycznie, w każdym przypadku, z wyjątkiem serwerowych macierzy dyskowych, powinno się raczej zamiast interfejsu SCSI użyć jednego spośród innych dostępnych.
Początkowo interfejs SCSI był popularny w stacjach roboczych i serwerach, ponieważ zapewnia dużą wydajność i rozszerzalność. Na rynku pierwszych komputerów PC akceptacja SCSI była blokowana przez brak prawdziwego standardu; SCSI było zaprojektowane przez jedną firmę i dopiero później przekształcone na postać publicznego standardu zaaprobowanego przez instytucję standaryzującą, która ostatecznie go rozszerzyła i uzupełniła. Dopiero od tego czasu żaden pojedynczy producent nie mógł kontrolować tego standardu.
Większość adapterów SCSI dostarczanych razem z urządzeniami takimi jak skanery, napędy CD-ROM lub DVD-ROM nie zawiera funkcji niezbędnych do obsługi wielu urządzeń SCSI lub uruchamiania systemu z dysku twardego SCSI. Nie ma to nic wspólnego z ograniczeniami standardu SCSI. Aby obniżyć koszty producenci po prostu dołączają ograniczone wersje adapterów SCSI. Posiadają one wszystkie funkcje niezbędne do obsługi urządzenia, do którego są dołączone, ale zwykle pozbawione są układu ROM BIOS, zawierającego sterowniki niezbędne do uruchomienia dysków SCSI. Na szczęście, posiadając właściwy adapter i sterowniki, jedna karta SCSI może obsługiwać wszystkie urządzenia w systemie, od dysków twardych do dysków optycznych, skanerów, napędów taśm itp.
Pierwsze adaptery SCSI nie posiadały funkcji uruchamiania systemu z napędu podłączonego do magistrali SCSI. Uruchamianie komputera z tych dysków i korzystanie z wielu systemów operacyjnych było problemem, który wynikał z braku standardu oprogramowania interfejsu. Standardowe oprogramowanie BIOS komputera PC jest zaprojektowane do współpracy z dyskami twardymi ST-506/412, EDSI i ATA. Interfejs SCSI na tyle różni się od interfejsu ATA, że do jego obsługi potrzebne były nowe funkcje ROM BIOS. To oprogramowanie BIOS jest przeznaczone do konkretnego adaptera SCSI, jeżeli więc adapter hosta nie jest wbudowany w płytę główną, opcja taka nie będzie dostępna w programie konfiguracyjnym BIOS-u. Zamiast tego dostępne są adaptery SCSI z programem BIOS umożliwiającym uruchamianie systemu z dysków SCSI.
Z powodu prowadzonych przez Apple prac nad rozwojem obsługi SCSI w oprogramowaniu systemowym (systemy operacyjne i ROM), urządzenia przyłączane do systemów Apple są dosyć dobrze zestandaryzowane. Do niedawna brak było takiej firmy tworzącej standardy dla SCSI. Sytuacja zmieniła się po wprowadzeniu na rynek Windows 95 i kolejnych wersji systemu Windows, które zawierają sterowniki do najbardziej popularnych adapterów SCSI i urządzeń zewnętrznych dostępnych na rynku. W chwili obecnej Windows 98/Me oraz Windows NT/2000/XP zawierająjeszcze więcej sterowników obsługujących adaptery i urządzenia SCSI.
Wielu producentów PC standardowo stosuje SCSI w swoich najlepszych stacjach roboczych lub serwerach. W komputerach tych adapter SCSI jest umieszczany w jednym z gniazd PCI lub wbudowany jest w płytę główną. Projekt ten jest zbliżony do stosowanego w przypadku interfejsu ATA, ponieważ dysk SCSI jest podłączony do płyty głównej tylko jednym kablem. Interfejs SCSI obsługuje 7 lub 15 dodatkowych urządzeń na jedną magistralę (nie wszystkie muszą być dyskami twardymi), natomiast ATA pozwala na podłączenie tylko 4 urządzeń (2 na kontroler). Dodatkowo SCSI obsługuje więcej typów urządzeń niż ATA. Do interfejsu ATA można podłączyć tylko dyski twarde, napędy CD-ROM i taśm, napęd LS-120 lub LS-240 SuperDrive, napęd Zip itp. Systemy z dyskami SCSI są łatwe do rozbudowy, ponieważ do magistrali można podłączyć niemal dowolne urządzenie SCSI.
SCSI kontra ATA
Porównując wydajność i możliwości dysków z interfejsami ATA (AT attachment; czasami określany też jako IDE — integrated drive electronics) i SCSI, należy zwrócić uwagę na kilka czynników. Te dwa typy napędów są najpopularniejszymi dyskami używanymi w dzisiejszych komputerach PC i niektórzy producenci mogą produkować identyczne dyski dla obu interfejsów. Wybór najlepszego dysku do Twojego systemu jest trudny i zależy od wielu czynników.
W większości przypadków okazuje się, że napędy ATA korzystają z tych samych mechanizmów talerzy i głowic co napędy SCSI i napędy ATA jednego producenta w niektórych zadaniach lub programach testujących, działają niemal tak samo szybko lub nawet szybciej niż dyski SCSI. Jest to szczególnie widoczne w przypadku korzystania z jednego dysku w systemie jednoużytkownikowym, na przykład Windows 9x i Me. Bardziej zaawansowane systemy operacyjne, na przykład Windows NT, Windows 2000 lub Windows XP mogą bardziej efektywnie korzystać z kolejkowania poleceń i innych funkcji SCSI i dzięki temu osiągać większą wydajność niż w przypadku dysków ATA — szczególnie w przypadku użycia kilku dysków.
Interesujące może się wydać, że SCSI rozwinęło się z ATA, a dokładniej, oba systemy powstały na podstawie używanych wcześniej interfejsów ST-506/412 i ESDI.
► ► Zajrzyj do punktu „Poprzednicy IDE" znajdującego się na stronie 603.
Historia i budowa dysków twardych SCSI
SCSI nie jest interfejsem dysku, ale magistralą obsługującą adaptery magistrali SCSI wchodzące w skład kontrolera dysku i innych urządzeń. Pierwszymi napędami SCSI dla komputerów PC były standardowe napędy ST-506/412 lub ESDI z osobnym interfejsem magistrali SCSI (czasami nazywanym kontrolerem mostka) konwertującym interfejs ST-506/412 lub ESDI na SCSI. Interfejsy te miały postać dodatkowej płytki z układami, a całe urządzenie było często montowane w osobnej obudowie.
Kolejnym krokiem było wbudowanie płyty „konwertera" interfejsu magistrali SCSI bezpośrednio w płytę układów logicznych napędu. Obecnie takie napędy nazywa się zintegrowanymi napędami SCSI, ponieważ interfejs SCSI jest wbudowany w napęd.
W chwili obecnej nie ma potrzeby zachowywania zgodności ze specyfikacją ST-506/412 lub ESDI w wewnętrznym interfejsie dysku, ponieważ jedyne urządzenie, z którym komunikuje się ten interfejs jest również wbudowane w napęd. Z tego powodu producenci układów kontrolerów i interfejsów dysków zaczęli projektować coraz lepsze układy, które choć oparte na interfejsie ST-506/412 lub ESDI, oferowały większą wydajność oraz większy zbiór funkcji.
W typowej karcie logicznej dysku SCSI najczęściej można łatwo zidentyfikować układ służący jako kontroler dysku —jest to układ tego samego typu, co używany w napędach ATA.
Dla przykładu, napędy ATA muszą w pełni emulować systemowy interfejs kontrolera dysku wprowadzony w serii kontrolerów Western Digital WD 1003 użytych w 1984 r. przez firmę IBM w oryginalnym komputerze AT. Większość z tych wbudowanych kontrolerów ma bardziej rozbudowane możliwości niż kontrolery oryginalnej serii WD1003 (zwykle dostępne jako nowe polecenia), ale muszą realizować wszystkie polecenia użyte w kontrolerze WD1003.
W niektórych przypadkach producent oferuje napędy ATA i SCSI o takiej samej pojemności i parametrach, a także korzystające z identycznego zespołu dyskowo-głowicowego HDA (head disk assembly). Jeżeli dokładnie przyjrzymy się tym niemal identycznym dyskom, jedyną większą różnicą, jaką można będzie zauważyć, jest dodatkowy układ na płycie z elektroniką dysku SCSI, nazywany SCSI Bus Adapter Chip (SBAC) lub układem kontrolera SCSI.
Na rysunkach 8.1 i 8.2 pokazane są diagramy logiczne dysku ATA oraz SCSI tego samego producenta. Dyski te korzystają z tego samego HDA; różnią się jedynie układami elektronicznymi, choć płytki drukowane są niemal takie same (oprócz umieszczenia dodatkowego układu SBIC).
Rysunek 8.1.
Schemat blokowy typowego układu logicznego napędu A TA (IDE)
Trzeba jednak zauważyć, że nawet projekt połączeń w tych dwóch dyskach jest niemal taki sam. Oba dyski korzystają z układu LSI (ang. large scalę integrated circuit — układ o dużej skali integracji) o nazwie WD42 C22 Disk Controller and Buffer Manager (kontroler dysku i buforów). W napędzie ATA układ ten jest podłączony poprzez układ sterujący DMA bezpośrednio do magistrali ATA. W wersji SCSI do układów interfejsu dysku dodany jest kontroler magistrali SCSI WD33C92. Diagramy logiczne obu dysków różnią się jedynie tym, że wersja SCSI zawiera niemal cały układ dysku ATA z dodanym kontrolerem magistrali SCSI. Jest to bardzo mocno uproszczona wersja niegdyś stosowanego układu osobnego dysku i kontrolera mostka.
^ ^ Zajrzyj do punktu „Tryby DMA równoległego interfejsu ATA" znajdującego się na stronie 623.
Aby zakończyć ten przykład, przeanalizujmy diagram, zamieszczony na rysunku 8.3, układu WD 1006V-MM1, który jest kontrolerem ST-506/412 stosowanym w starszych systemach zgodnych z komputerem AT.
Jak można zauważyć, główny układ LSI jest identyczny jak układ kontrolera WD42C22 zastosowanego w dyskach ATA i SCSI. Poniżej zamieszczamy opis tego układu znajdujący się w literaturze technicznej:
Układ WD42C22 łączy dużą wydajność i niską cenę architektury kontrolera Winchester. Układ WD42C22 integruje ze sobą główne elementy podsystemu kontrolera Winchester, takie jak interfejs hosta. sterowanie buforami, kontroler dysku, koder-dekoder, generator i kontroler CRC i ECC oraz interfejs dysku w jednym układzie PQFP (ang. Plastic Quad Fiat Pack) z 84 wyprowadzeniami.
Powinno być teraz jasne, że wiele dysków SCSI jest „zwykłymi" dyskami ATA z dodatkowym układem magistrali SCSI. Fakt ten przypomnimy jeszcze raz w punkcie „Porównanie wydajności interfejsów SCSI i ATA — zalety i ograniczenia", w którym omówimy wydajność i inne zagadnienia różniące te interfejsy.
Przytoczmy jeszcze jeden przykład. Posiadam kilka starych dysków IBM 320 MB i 400 MB, które są zintegrowanymi dyskami SCSI-2; każdy z nich wykorzystuje kontroler dysku WD-10C00 w postaci 68-nóżkowego układu PLCC. Literatura techniczna tak opisuje ten układ:
U'kład ten obsługuje interfejsy ST412, ESDI i optyczny. Osiąga maksymalną prędkość przesyłu 27 Mb/s, posiada wewnętrzną, w pełni programowalną 48- lub 32-bitową obsługę ECC, 16-bitową obsługę CRC-CC1TT lub zewnętrzną, definiowaną przez użytkownika obsługę wielomianową ECC. w pełni programowalne wielkości sektorów i architekturę CMOS 1,25 mikrona o niskim zużyciu energii.
Dodatkowo, te zintegrowane dyski SCSI wykorzystują układ kontrolera magistrali SCSI 33C93, używany również w innych wspomnianych przeze mnie dyskach SCSI. Również w tym przypadku występuje osobny kontroler dysku, do którego dodany jest interfejs SCSI.
Jeszcze raz powtórzymy, że większość zintegrowanych napędów SCSI posiada wbudowany kontroler dysku (zwykle korzystający z projektu poprzednich układów ST-506/412 lub ESDI) oraz dodatkowe układy interfejsu kontrolera magistrali SCSI (czyli, mówiąc inaczej, wbudowany kontroler mostka). Przeanalizujmy teraz taki układ od strony wydajnościowej. Jeżeli dyski SCSI tak naprawdę są napędami ATA z dodanym układem kontrolera magistrali SCSI, to jaki wniosek można z tego wysnuć?
Po pierwsze, żaden dysk nie może wykonywać ciągłego przesyłu danych szybciej, niż można odczytywać dane z talerzy. To HDA ogranicza wydajność całego dysku. Dyski mogą przesyłać dane w małych pakietach z dużo większą prędkością, ponieważ mają one wbudowane pamięci buforowe oraz bufory odczytu wyprzedzającego. Wiele z nowych dysków ATA i SCSI o dużej wydajności ma wbudowane 8 MB lub więcej pamięci buforowej. Jednak niezależnie od tego jak duży i jak bardzo inteligentny jest ten bufor, prędkość ciągłego przesyłu jest ograniczana przez układ HDA.
► ► Zajrzyj do podrozdziału „Standardy ATA" znajdującego się na stronie 608.
Dane przesyłane z HDA muszą przejść przez układy kontrolera dysku, które, jak widzieliśmy, są niemal identyczne w podobnych dyskach ATA i SCSI. W napędach ATA dane ta są wysyłane bezpośrednio do magistrali systemowej. W dysku SCSI natomiast dane muszą przejść poprzez adapter interfejsu magistrali SCSI. przejść przez magistralę SCSI, a następnie przez kolejny adapter interfejsu magistrali SCSI w komputerze. Dłuższa droga w przypadku SCSI musi powodować, że ten typ przesyłu jest wolniejszy, niż bardziej bezpośredni przesył ATA (dotyczy komunikowania się z jednym urządzeniem).
Zazwyczaj uważa się, że SCSI jest zawsze znacznie szybsze niż ATA; niestety, przekonanie to jest zwykle błędne. Nie można porównywać magistral ATA i SCSI, biorąc pod uwagę tylko ich prędkości przesyłu. Napęd z interfejsem Ultra4 SCSI może przesyłać dane z deklarowaną prędkością 320 MB/s, natomiast napęd ATA Ultra-ATA/133 z prędkością 133 MB/s. Patrząc na te surowe prędkości przesyłu, SCSI wydaje się dużo szybsze, ale prędkość przesyłu magistrali nie stanowi tu czynnika ograniczającego. Dyskutowaliśmy już poprzednio, że to HDA i układy kontrolera dysku ograniczają jego wydajność. Kluczowym parametrem, jaki należy sprawdzić dla dysku, jest prędkość przesyłu wewnętrznego lub przesyłu z nośnika. Dla przykładu, poniżej przedstawiamy specyfikację dwóch podobnych dysków (jednego ATA i jednego SCSI):
Dysk ATA |
Dysk SCSI |
||
Napęd |
Maxtor DiamondMax+ 60 ATA |
Napęd |
IBM Ultrastar 73LZX SCSI |
Interfejs |
Ultra-ATA/100 |
Interfejs |
Ultra4 (Ultra320) SCSI |
Talerze |
3 |
Talerze |
6 |
Głowice danych |
6 |
Głowice danych |
12 |
Pojemność |
60 GB |
Pojemność |
73,4 GB |
Gęstość powierzchniowa (maksymalna) |
15,4 Gb/calkw. |
Gęstość powierzchniowa (maksymalna) |
13,2 Gb/cal kw. |
Prędkość obrotowa |
7200 obr/mm |
Prędkość obrotowa |
10000 obr/min |
Wielkość bufora wewnętrznego |
2 MB |
Wielkość bufora wewnętrznego |
4 MB |
Prędkość przesyłu interfejsu |
do 100 MB/s |
Prędkość przesyłu interfejsu |
do 320 MB/s |
Prędkość przesyłu z nośnika |
do 57 MB/s |
Prędkość przesyłu z nośnika |
do 58 MB/s |
Prędkość przesyłu ciągłego |
28,5 MB/s - 57 MB/s |
Prędkość przesyłu ciągłego |
29,8 MB/s - 58 MB/s |
Średnia prędkość przesyłu ciągłego |
42,75 MB/s |
Średnia prędkość przesyłu ciągłego |
44,4 MB/s |
Zauważ, że choć napęd SCSI może pochwalić się dużo większą prędkością przesyłu zewnętrznego. 320 MB/s. w porównaniu do 100 MB/s dysku ATA, w rzeczywistości dyski te działają niemal tak samo szybko. Prawdziwi specjaliści patrzą na dwa ostatnie wiersze tej tabeli, które wskazują, jak szybko dane mogą być odczytywane z dysku. W praktyce prędkość ciągłego przesyłu jest rzeczywistą prędkością odczytu danych z tych dysków i, jak widać, parametry te są w porównywanych dyskach bardzo zbliżone. Na prawdziwą prędkość przesyłu danych z dysku ma wpływ: prędkość obrotowa, gęstość ścieżek oraz, dodatkowo, wielkość wewnętrznego bufora.
Trzeba również wiedzieć, że przedstawiony tu dysk SCSI kosztuje o 50% - 100% więcej niż jego odpowiednik ATA. Nie bierzemy tu jeszcze pod uwagę kosztu adaptera hosta Ultra4, do którego będziemy przyłączać dysk. Przyzwoite adaptery SCSI, szczególnie wersje Ultra-SCSI mogą kosztować 800 zł i więcej, co stanowi 2- lub 3-krotny koszt większości płyt głównych przeznaczonych dla zwykłych komputerów PC. Ponieważ interfejs Ultra-ATA i (lub) Serial ATA jest wbudowany w większość nowoczesnych płyt głównych, prawie zawsze wydawanie dużych pieniędzy na SCSI jest ich zwykłem marnowaniem.
Teraz przedstawimy przeciwny punkt widzenia. Choć te dwa dyski są swoimi odpowiednikami, wersja ATA jest jednym z najlepszych dysków ATA dostępnych na rynku w czasie pisania tej książki, natomiast przedstawiony tu napęd SCSI ma tylko średnia wydajność. Firma Hitachi i inne produkują dyski mające prędkości obrotowe 15 000 obr/min, zwiększoną gęstość ścieżek i większe bufory. Oczywiście dyski takie mają jeszcze wyższe ceny. Wniosek z tego jest następujący: jeżeli potrzebujesz absolutnie najszybszego dysku, musisz zaopatrzyć się w wydajny dysk SCSI i adapter Ultra SCSI Wide. Jednak jeżeli wystarczy Ci dysk kosztujący 1/3 lub nawet 1/4 ceny i mający wydajność 3/4 lub więcej wydajności SCSI, należy pozostać przy dyskach ATA
Standard SCSI ANSI
Standard SCSI definiuje parametry fizyczne i elektryczne równoległej magistrali wejścia-wyjścia używanej do podłączenia komputera i urządzeń zewnętrznych. Standard definiuje parametry takich urządzeń jak dyski twarde, napędy taśm i napędy CD-ROM. Oryginalny standard SCSI (ANSI X3.131-1986) został zatwierdzony w roku 1986, SCSI-2 został zatwierdzony w styczniu 1994 roku, a pierwsze fragmenty SCSI-3 w roku 1995. Standard SCSI-3 jest obecnie bardzo rozbudowany i składa się z wielu części. Znajduje się on nadal w fazie rozwoju. Ponieważ podzielił się na wiele standardów, nie ma pojedynczego standardu SCSI-3.
Interfejs SCSI jest zdefiniowany jako standard ANSI (ang. American National Standards Institute) przez komitet o nazwie T10. Jest to komitet techniczny działający pod egidą InterNational Comitee on Information Technology Standards (INCITS), który z kolei jest popierany przez ANSI i działa zgodnie z regułami zaaprobowanymi przez ANSI. Zasady te mają zapewniać tworzenie standardów na zasadzie porozumienia między fumami działającymi w jednej branży. INCITS tworzy standardy dotyczące przetwarzania danych, natomiast ANSI aprobuje proces ich powstawania i publikuje je. Kopie robocze wszystkich standardów dotyczących SCSI można pobrać z witryny komitetu technicznego T10, http://www.tlO.org.
Jednym z problemów związanych z oryginalną dokumentacją SCSI-1 była duża ilość opcjonalnych poleceń i funkcji i dlatego istniała niewielka szansa, że dane urządzenie będzie obsługiwało określone polecenie. Problem ten spowodował, że zdefiniowano 18 podstawowych poleceń SCSI nazywanych Common Command Set (CCS), które stanowią minimalny zbiór poleceń obsługiwany przez wszystkie urządzenia. CCS stało się podstawą specyfikacji SCSI-2.
Oprócz formalnej obsługi CCS, SCSI-2 zawiera dodatkowe definicje poleceń pozwalających na obsługę napędów CD-ROM (i ich możliwości muzycznych), napędów taśm, dysków wymiennych, dysków optycznych i kilku innych typów urządzeń zewnętrznych. Dodatkowo zdefiniowano opcjonalną szybszą wersję nazywaną Fast SCSI-2 i wersję 16-bitową Wide SCSI-2. Inną funkcją SCSI-2 jest kolejkowanie poleceń, co pozwala na odczytanie przez urządzenie kilku poleceń i wykonywanie ich w najbardziej efektywnej dla urządzenia kolejności. Opcja ta jest szczególnie przydatna w wielozadaniowych systemach operacyjnych, które mogą wysyłać do magistrali SCSI kilka poleceń jednocześnie.
W sierpniu 1990 roku grupa 3T9 zaakceptowała standard SCSI-2 jako X3.131-1990. ale w grudniu 1990 dokument został poddany ostatnim modyfikacjom przed końcową publikacją przez ANSI. Końcowe zatwierdzenie dokumentu miało miejsce w styczniu 1994 roku, choć zawierał on niewiele zmian w stosunku do wersji z 1990 roku. Dokument ze specyfikacją SCSI-2 nazywa się teraz ANSI X3.131-1994. Oficjalny dokument jest dostępny z Global Engineering Documents oraz z komitetu ANSI. Wersje robocze można również pobrać z witryny komitetu TIO. której adres podaliśmy kilka akapitów wcześniej.
Większość firm twierdzi, że ich adaptery hosta są zgodne zarówno ze standardem ANSI X3.131-1986 (SCS1-1). jak i X3.131-1994 (SCSI-2). Trzeba wiedzieć, że ponieważ prawie wszystkie elementy SCSI-1 są obsługiwane w SCSI-2. niemal każde urządzenie SCSI-1 może być traktowane jako urządzenie SCSI-2. Wielu producentów zamieszcza w reklamach stwierdzenie, że urządzenie jest zgodne ze standardem SCSI-2, ale bardzo często nie oznacza to. że obsługuje ono jakiekolwiek rozszerzenia wprowadzone w tym standardzie.
Na przykład, opcjonalna część specyfikacji SCSI-2 zawiera szybki tryb synchroniczny dwukrotnie powiększający prędkość standardowego trybu synchronicznego z 5 MB/s do 10 MB/s. Ten tryb przesyłu Fast SCSI może być łączony z 16-bitową wersją Wide-SCSI, co w efekcie daje prędkość przesyłu 20 MB/s. W specyfikacji SCSI-2 zdefiniowano również opcjonalną 32-bitową wersję, ale producenci komponentów uznali, że jest ona zbyt droga. Specyfikacja 32-bitowego interfejsu SCSI nie przyjęła się i została usunięta ze specyfikacji SCSI-3. Większość implementacji SCSI to standardowy 8-bitowy interfejs SCSI lub 16-bitowy Fast/Wide SCSI. Nawet urządzenia nie obsługujące trybu Fast ani Wide mogą być traktowane jako SCSI-2.
SCSI-3 został podzielony na kilka standardów. Standard SCSI Parallel Interface (SPI) definiuje połączenia równoległe między urządzeniami SCSI i opis tej opcji stanowi dużą część tego rozdziału. Do tej pory powstało kilka wersji specyfikacji SPI, w tym SPI. SPI-2, SPI-3, SPI-4 i SPI-5.
Do opisywania nowych standardów SPI używane są różne określenia i, aby uniknąć pomyłek, zamieszczamy je w tabeli 8.1.
Aby jeszcze bardziej zwiększyć zamieszanie, standard SPI-3 lub Ultra3 SCSI określany jest mianem UltralóO bądź Ultral60+, SPI-4 lub Ultra4 SCSI — Ultra320, a SPI-5 lub Ultra5 SCSI — Ultra64o' Oznaczenie UltralóO odnosi się do urządzeń obsługujących pierwsze trzy z pięciu podstawowych wymienionych funkcji Ultra3 SCSI. Oznaczenie Ultral 60+ odnosi się do urządzeń obsługujących wszystkie pięć głównych funkcji Ultra3 SCSI. Ultra640 zawiera wszystkie funkcje Ultral60+, jak również dodatkowe.
Tabela 8.1. Standardy SPI (SCSI Parallei Interface)
Standard SCSI-3 |
Nazwa alternatywna |
Prędkość |
Wydajność |
SPI |
Ultra SCSI |
Fast-20 |
20/40 MB/s |
SPI-2 |
Ultra2 SCSI |
Fast-40 |
40/80 MB/s |
SPI-3 |
Ultra3 SCSI lub Ultral60(+) |
Fast-80DT |
160 MB/s |
SPI-4 |
Ultra4 SCSI lub Ultra320 |
Fast-I60DT |
320 MB/s |
SPI-5 |
Ultra5 SCSI lub Ultra640 |
Fast-320DT |
640 MB/s |
W tabeli 8.2 zamieszczono maksymalne wartości prędkości przesyłu magistrali SCSI działającej z różnymi prędkościami zegara i różnymi jej szerokościami oraz wymieniono kable wymagane do zrealizowania trybów przesyłu.
Kabel A wymieniony w tabeli 8.2 to standardowy 50-pinowy kabel SCSI, natomiast kabel P to ka-bel 68-pinowy zaprojektowany do przesyłów 16-bitowych. Sygnalizacja High Voltage Differential (HVD) nigdy nie zdobyła popularności i obecnie jest zarzucona. W trybach Ultra2 i Ultra3 zastosowano sygnalizację Low Voltage Differential (LVD) pozwalającą zwiększyć wydajność i długości kabli. Funkcje poszczególnych pinów tych kabli są przedstawione w tabelach od 8.3 do 8.6. Na rysunkach od 8.8 do 8.10 pokazano złącza.
Interfejs SCSI jest zgodny zarówno wstecz, jak i w przód, to znaczy, że można uruchomić szybsze urządzenia w magistralach obsługiwanych przez wolniejsze adaptery i odwrotnie. W każdym przypadku cała magistrala będzie musiała się dostosować do najwolniejszego urządzenia. A zatem w przypadku tej samej magistrali możliwe jest jednoczesne stosowanie urządzeń o różnych szybkościach, ale szybsze i wolniejsze powinno się podłączyć do oddzielnych kontrolerów SCSI (lub złączy, gdy używane są kontrolery 2-magistralowe). Z tego powodu, jak wcześniej wspomnieliśmy, niemal każde urządzenie SCSI-1 może być nazwane SCSI-2 (a nawet SCSI-3). ponieważ większość ulepszeń nowych wersji jest opcjonalnych. Oczywiście nie wykorzystamy możliwości szybkich modeli w starych wolnych adapterach. Podobnie nie ma sensu kupowanie adaptera SCSI Ultra3 do obsługi starych urządzeń SCSI. Można nawet przyłączać urządzenia 8-bitowe i 16-bitowe do tej samej magistrali, korzystając z odpowiednich złączy.
SCSI-1
Interfejs SCSI-1 stanowi pierwszą implementację SCSI i oficjalnie występuje pod nazwą ANSI X3.131-1986. Poniżej wymienimy podstawowe funkcje interfejsu SCSI-1:
8-bitowa magistrala równoległa.
operacje asynchroniczne lub synchroniczne 5 MHz,
przepustowość 4 MB/s (asynchronicznie) lub 5 MB/s (synchronicznie),
kable 50-pinowe ze złączem wewnętrznym niskiej gęstości i zewnętrznym złączem typu Centronics,
niezrównoważona transmisja asymetryczna (SE),
pasywne terminatory.
opcjonalna parzystość magistrali.
Interfejs SCSI-1 jest obecnie uważany za przestarzały i standard ten został wycofany przez ANSI i zastąpiony standardem SCSI-2.
SCSI-2
Interfejs SCSI-2 występuje pod oficjalną nazwą ANSI X.3131-1994. Specyfikacja SCSI-2 stanowi ulepszoną wersję SCSI-1 z uściślonymi niektórymi fragmentami specyfikacji oraz dodanymi nowymi funkcjami i opcjami. Urządzenia SCSI-1 i SCSI-2 są ze sobą zgodne, ale urządzenia SCSI-I ignorują dodatkowe funkcje dostępne w SCSI-2.
Tabela 8.2. Typy SCSI, prędkości przesyłu i okablowania
Standard SCSI |
Technologia SCSI |
Określenie marketingowe |
Częstotliwość zegara (MHz) |
Szerokość l magistrali |
ST/DT |
SCSI-1 |
Async |
Asynchronous |
5 |
8 bitów |
ST |
SCSI-1 |
Fast-5 |
Synchronous |
5 |
8 bitów j |
ST |
SCSI-2 |
Fast-5/Wide |
Wide |
5 |
16 bitów |
ST |
SCSI-2 |
Fast-10 |
Fast |
10 |
8 bitów l |
ST |
SCSI-2 |
Fast-10/Wide |
Fast/Wide |
10 |
16 bitów i |
ST |
SCS1-3/SPI |
Fast-20 |
Ultra |
20 |
8 bitów i |
ST |
SCSI-3/SP1 |
Fast-20/Wide |
Ultra/Wide |
20 |
16 bitów j |
ST |
SCSI-3/SPI-2 |
Fast-40 |
Ultra2 |
40 |
8 bitów j |
ST |
SCSI-3/SPI-2 |
Fast-40/Wide |
Ultra2/Wide |
40 |
16 bitów j |
ST |
SCSI-3/SPI-3 |
FAST-80DT |
UItra3 (Ultra 160) |
405 |
16 bitów |
DT |
SCSI-3/SPI-4 |
FAST-160DT |
Ultra4 (Ultra320) |
805 |
16 bitów | |
DT |
SCS1-3/SPI-5 |
FAST-320DT |
Ultra5 (Ultra640) |
1605 |
16 bitów ; |
DT |
Długości kabli podano w metrach
SE Sygnalizacja asymetryczna
IIVD Sygnalizacja High Voltage Differential; przestarzała
LVD Sygnalizacja Low Voltage Differential
SPI ~ SCSI Parallel Interface; część specyfikacji SCSI-3
ST Single transition; jeden przesył na cykl zegara
DT Double transition; dwa przesyły na cykl zegara, tylko tryb 16-bitowy
Zmiany wprowadzone w SCSI-2 są stosunkowo niewielkie. Na przykład, SCSI-1 pozwala na opcjonalną realizację parzystości magistrali, natomiast SCSI-2 wymaga zrealizowania tej funkcji. Parzystość jest realizowana przez wysyłanie dodatkowego bitu weryfikującego, który ma zapewnić sprawdzanie integralności przesianych danych. Innym przykładem jest zapewnienie przez urządzenie inicjujące prądu dla terminatorów interfejsu, jednak większość urządzeń i tak działało w ten sposób.
SCSI-2 posiada również kilka opcjonalnych funkcji:
Fast SCSI (10 MHz),
Wide SCSI (przesył 16-bitowy),
kolejkowanie poleceń,
nowe polecenia,
złącza kabli 50-pinowych o większej gęstości pinów,
aktywne terminatory (Alternative 2) do poprawienia transmisji SE,
wysokonapięciowy przesył różnicowy (High Yoltage Differential) (nie może być stosowany razem z SE w tej samej magistrali) pozwalający na większą długość magistrali.
Interfejs Wide SCSI pozwala na równoległą transmisję po magistrali szerokości 16 bitów. Szersze połączenie wymagało zastosowania nowego typu kabla. Standardowy kabel 50-żyłowy (kabel 8-bitowy) nazywany jest kablem A. W specyfikacji SCSI-2 zdefiniowano nowy 68-żyłowy kabel P i w połączeniu z kablem A mial być używany do przesyłów 32 bitowych. Jednak z powodu braku zainteresowania ze strony przemysłu i zbyt drogich układów, 32-bitowa wersja SCSI nie została nigdy zaimplementowana i ostatecznie usunięta ze specyfikacji SCSI-3. Dlatego dostępne są teraz dwa różne typu kabli SCSI — kabel A i kabel P. Kable A mają złącza 50-pinowe, natomiast kable P mają złącza 68-pinowe. Do przyłączenia urządzenia Wide SCSI. które ma pracować w trybie 16-bitowym, trzeba zastosować kabel P. Ten typ kabla został umieszczony w standardzie SCSI dopiero w wersji SCSI-3.
Określenie Fast SCSI odnosi się to trybu szybkiego przesyłu synchronicznego. Urządzenia Fast SCSI osiągają prędkość przesyłu 10 MB/s w zwykłym 8-bitowym okablowaniu SCSI. Połączenie tego trybu z interfejsem Wide SCSI daje konfigurację zapewniającą prędkość przesyłu 20 MB/s (o nazwie Fast/Wide).
Złącza o dużej gęstości pinów pozwalają na produkcję mniejszych i bardziej efektywnych wtyków i kabli.
W SCSI-1 urządzenie inicjujące, jak na przykład adapter hosta, mogło wysyłać do urządzenia tylko jedno polecenie. W przypadku SCSI-2 adapter hosta może wysłać do urządzenia do 256 poleceń. Polecenia te są zapamiętywane i przetwarzane bez wysyłania odpowiedzi. Urządzenie może nawet zmienić kolejność poleceń w celu zwiększenia efektywności. Jest to użyteczne szczególnie w środowiskach wielozadaniowych, takich jak OS/2 i Windows NT, które mogą skorzystać z tej funkcji.
Interfejs SCSI-2 realizuje zestaw poleceń Common Command Set, który był używany przez producentów sprzętu, jeszcze zanim stał się częścią oficjalnego standardu. Zestaw CCS został zaprojektowany głównie na potrzeby dysków twardych i nie zawiera specyficznych poleceń przeznaczonych dla innych typów urządzeń. W SCSI-2 wiele starych poleceń zostało opracowanych na nowo i dodano kilka innych. Dla napędów CD-ROM, dysków optycznych, skanerów, urządzeń komunikacyjnych i zmieniaczy nośników (ang. jukebox) dodano nowy zestaw poleceń.
Niesymetryczna magistrala SCSI, aby działać niezawodnie, wymaga bardzo dokładnego dopasowania terminatorów. Niestety, oryginalne, 132-omowe terminatory pasywne zdefiniowane w standardzie SCSI-1 nie byty projektowane do pracy z. dużymi prędkościami transmisji synchronicznej. Pasywne terminatory mogą powodować odbicia sygnału i generować błędy w przypadku, gdy zwiększa się prędkość przesyłu lub gdy do magistrali zostanie dołączonych więcej urządzeń. Specyfikacja SCSI-2 definiuje nowe, aktywne terminatory (regulowane napięciem), które zmniejszają impedancję do 110 omów i polepszają spójność sygnału. Trzeba również pamiętać, że urządzenia LVD SCSI wymagają zastosowania specjalnych terminatorów LVD. Jeżeli w magistrali, do której podłączone są urządzenia LVD, zostaną zastosowane terminatory SE, urządzenia nie będą działały, a jeżeli są to urządzenia wielofunkcyjne, będą one działały w trybie SE.
Opcja ta nie jest wymagana; jest ona opcjonalna w specyfikacji SCSI. Jeżeli do standardowego adaptera hosta SCSI podłączymy napęd Fast SCSI, interfejs będzie działał, ale jedynie ze standardowymi prędkościami SCSI.
SCSI-3
SCSI-3 to termin opisujący zbiór standardów będących w chwili obecnej jeszcze w trakcie tworzenia. W przeciwieństwie do SCSI-1 i SCSI-2, specyfikacja SCSI-3 nie jest jednym dokumentem opisującym wszystkie warstwy i interfejsy SCSI —jest to zbiór dokumentów opisujących podstawowe polecenia, specyficzne zestawy poleceń, interfejsy oraz protokoły. Dostępne są zbiory poleceń dla dysków twardych, napędów taśm. polecenia dla kontrolerów macierzy RAID i inne. Dodatkowo istnieje ogólny model architektur}' SCSI (SAM) opisujący interfejsy fizyczne i elektryczne oraz standard SCSI Parallel Interface opisujący najczęściej używane odmiany SCSI. Każdy dokument standardu jest teraz publikowany osobno i ma swój własny numer wersji — na przykład, w ramach SCSI-3 opublikowano pięć wersji specyfikacji SCSI Parallel Interface. Najczęściej nie odwołuje się do SCSI-3 jako całości, ale do specyficznych podzbiorów SCSI-3. na przykład SPI-3 (UItra3 SCSI).
Podstawowe nowości w SCSI-3 to:
Ultra2 (Fast-40) SCSI,
Ultra3 (Fast-80DT) SCSI,
Ultra4 (Fast-160DT) SCSI.
Ultra5 (Fasi-320DT) SCSI.
nowa sygnalizacja Low Voltage Differential (niskonapięciowa różnicowa),
usunięcie sygnalizacji High Yoltage Differential.
Podzielenie definicji SCSI-3 na wiele mniejszych standardów pozwala na szybszy rozwój całości. Poszczególne podstandardy mogą być publikowane częściej, bez konieczności oczekiwania na zatwierdzenie całości.
Na rysunku 8.4 zamieszczono dostępne dziś główne składowe standardu SCSI.
Rysunek 8.4. Architektura SCSI
Najnowszą zmianą wprowadzoną do standardu SCSI są tryby Ultra320 (Ultra4) i Ultra640 (Ultra5), oferujące przepustowość wynoszącą odpowiednio 320 i 640 MB/s. Ultra2 SCSI i szybsze tryby uwzględniają standard połączeń elektrycznych LVD, który pozwala na stosowanie kabli o większej długości. Starszy standard sygnalizacji HVD został zarzucony.
Gros użytkowników ma kłopoty ze zrozumieniem wielu wariantów prędkości SCSI. Częściowo problem ten jest spowodowany podawaniem prędkości jako częstotliwości zegara (MHz) lub prędkości przesyłu. W przypadku przesyłów 8-bitowych otrzymujemy 1 bajt na cykl, czyli jeżeli częstotliwość zegara wynosi 40 MHz (Fast-40 lub Ultra2 SCSI), prędkość przesyłu wynosi 40 MB/s. Jeżeli jednak użyjemy interfejsu Wide (16 bitowy), prędkość przesyłu zwiększy się dwukrotnie do 80 MB/s, choć częstotliwość zegara nadal wynosi 40 MHz. W przypadku interfejsu Fast-80DT, prędkość zegara to również 40 MHz, jednak z powodu wykonywania dwóch przesyłów na cykl, wynikowa prędkość przesyłu wynosi 160 MB/s. Tak samo jest w przypadku Ultra4 SCSI. który działa z częstotliwością 80 MHZ, przesyła 2 bajty jednocześnie, a w trakcie cyklu zegara wykonywane są dwa przesyły (przy przepustowości wynoszącej 320 MB/s). Standard UltraS podwaja częstotliwość do 160 MHz
— przesyła 2 bajty jednocześnie, a w: trakcie cyklu zegara wykonywane są dwa przesyły (przy przepustowości wynoszącej 640 MB/s).
Najczęstszą przyczyną pomyłek jest używanie przy określaniu szybkości i trybów zarówno nazw oficjalnych
— takich jak Fast-10, Fast-20, Fast-40, Fast-80DT i Fast-160DT —jak i nazw marketingowych, jak Fast. Ultra, Ultra2, Ultra3 (nazywany również UltralóO) i Ultra4 (Ultra320). W tabeli 8.2 zamieszczono wszystkie oficjalne i marketingowe nazwy odmian SCSI wraz z ich prędkościami.
Dalsza ewolucja najczęściej używanych odmian SCSI jest zdefiniowana w postaci standardów SPI wchodzących w skład SCSI-3. Standardy SPI opiszemy w dalszej części rozdziału.
SPI lub Ultra SCSI
Interfejs SCSI Parallel Interface, opublikowany 1 stycznia 1995 r., jest pierwszym standardem SCSI wchodzącym w skład SCSI-3. Oficjalna nazwa standardu SPI brzmi ANSI/INCITS 253-1995 (wcześniej ANSI X3.253-1995). SPI przez większość działów marketingu jest nazywany Ultra SCSI. Standard ten definiuje złącza i sygnały elektryczne magistrali równoległej. Osobny dokument o nazwie SCSI Interlock Protocol (S1P) definiuje zbiór dostępnych poleceń. SIP został dodany do kolejnych standardów SPI-2 i SPI-3 i nie stanowi już osobnego dokumentu. Podstawowymi funkcjami dodanymi w SPI (Ultra SCSI) są:
tryb Fast-20 (Ultra) o wydajności 20 MB/s lub 40 MB/s,
68-pinowy kabel P i złącza przeznaczone dla interfejsu Wide SCSI.
SPI na początku określała prędkości do Fast SCSI (10 MHz), co pozwalało osiągać prędkości do 20 MB/s przy użyciu magistrali o szerokości 16 bitów. Później, jako dodatkowy dokument (ANSI/INCITS 253-1995 Amend-menl 1). dodany został tryb Fast-20 (20 MHz), często nazywany Ultra SCSI. który, korzystając z 16-bitowej magistrali, mógł osiągnąć prędkość 40 MB/s (nazywany często Ultra/Wide).
SPI-2 i Ultra2 SCSI
Interfejs SPI-2, nazywany również Ultra2 SCSI, został oficjalnie opublikowany 14 kwietnia 1998 r. jako dokument ANSI/INCITS 302-1998, w którym uzupełniono poprzednią wersję o kilka nowych funkcji:
tryb Fast-40 (Ultra2) o wydajności 40 MB/s lub 80 MB/s,
sygnalizacja Low Yoltage Differential (LVD),
złącza typu Single Connector Attachment (SCA-2),
68-pinowe wtyczki o bardzo dużej gęstości (VHDC).
Najbardziej znaczącym usprawnieniem jest tryb o większej prędkości określany jako Fast-40. nazywany również Ultra2 SCSI, w którym magistrala pracuje z częstotliwością 40 MHz. Na wąskiej (8-bitowej) magistrali pozwala to na osiągnięcie prędkości 40 MB/s, natomiast na szerokiej magistrali (16-bitowej) prędkości 80 MB/s
— tryb ten jest nazywany Ultra2/Wide.
Aby osiągnąć tę prędkość, należy zastosować nowy standard elektryczny interfejsu, nazywany LVD. Wolniejszy interfejs elektryczny magistrali niesymetrycznej jest wystarczający, co najwyżej, dla trybu Fast-20; tryb Fast-40 wymaga pracy jako LVD. Sygnalizacja LVD umożliwia również stosowanie dłuższych kabli — do 12 metrów w przypadku podłączania wielu urządzeń i 25 metrów dla pojedynczego urządzenia. Urządzenia
LVD i SE mogą pracować z tą samą magistralą, ale w takim przypadku działa ona w trybie SE, jej długość jest ograniczona do 1,5 m. a tryb transmisji do Fast-20. Praca w trybie LVD wymaga zastosowania specjalnych terminatorów LVD lub wielofunkcyjnych LVD/SE. Jeżeli zostaną użyte terminatory wielofunkcyjne, taki terminator działa zarówno w magistrali SE, jak i LVD.
Standard SPI-2 zawiera również specyfikację SCSI Interlink Protocol (SIP) i definiuje złącze 80-pinowe Single Connector Attachment (SCA-2) przeznaczone dla macierzy, które można włączać i wyłączać bez wyłączania systemu. Zdefiniowano również nowe złącze Very High Density Connector (VHDC), które jest mniejsze niż poprzednio stosowane.
Sygnalizacja SCSI
Standardowy interfejs SCSI korzysta z techniki sygnalizacji nazywanej sygnalizacją SE (ang. single ended — niezrównoważona). Realizacja tej techniki jest tania, ale układ taki jest narażony na zakłócenia i ma niską wydajność.
Sygnalizacja SE jest nazywana sygnalizacją niezrównoważoną. Każdy sygnał jest przesyłany przez parę przewodów, najczęściej skręconych ze sobą w celu zmniejszenia zakłóceń. W przypadku SE jeden przewód jest uziemiony — najczęściej do wspólnej dla wszystkich przewodów masy — drugi przenosi zmiany wartości napięcia. Odbiornik umieszczony na drugim końcu kabla wykrywa zmiany w napięciu między kablami.
Niestety, ten typ sygnalizacji niezrównoważonej jest bardzo narażony na błędy powodowane zakłóceniami, interferencjami elektromagnetycznymi i upływnością do ziemi; problemy te narastają wraz ze wzrostem długości kabla. Dlatego właśnie długość magistrali Ultra SCSI jest ograniczona do 1,5 metra.
W standardzie SCSI wprowadzono również technikę sygnalizacji o nazwie High Yoltage Differential (metoda różnicowa wysokonapięciowa). Sygnalizacja różnicowa nazywana jest również sygnalizacją zrównoważoną i nadal jest realizowana przy użyciu pary przewodów. Pierwszy przewód tej pary przenosi ten sam sygnał co w przypadku SCSI SE, natomiast drugi przenosi inwersję logiczną tego sygnału. Urządzenie odbierające wykrywa różnicę napięcia między przewodami pary (stąd różnica w nazwie). Używając przewodów w postaci pary zrównoważonej, odbiornik nie musi wykrywać wielkości napięcia, a jedynie różnicę między napięciami. Układy elektroniczne mogą to robić o wiele bardziej niezawodnie, co powoduje, że system taki jest bardziej odporny na zakłócenia i pozwala na stosowanie kabli o większej długości. Z tego powodu w przypadku różnicowego SCSI można korzystać z kabli o długości do 25 metrów, natomiast SCSI niesymetryczne pozwala na maksymalnie 6 metrowe lub jedynie 1,5 metrowe w przypadku szybszych trybów przesyłu.
Na rysunku 8.5 przedstawiona została różnica pomiędzy zrównoważonymi (różnicowymi) a niezrównoważonymi (niesymetrycznymi) liniami transmisyjnymi.
Rysunek 8.5.
Sygnalizacja zrównoważona
(różnicowa) i niezrównoważona
(asymetryczna)
Niestety, oryginalny standard sygnalizacji HVD korzysta z wysokiego napięcia między parą przewodów. Oznacza to, że nie da się wyprodukować małych specjalizowanych układów o niewielkim zużyciu energii. W sterowniku trzeba wykorzystać kilka układów. Zestaw taki jest wymagany po obu stronach, tzn. zarówno adapter hosta, jak i układy urządzenia muszą być duże i drogie.
Innym problemem związanym z HVD SCSI jest to, że choć kable i wtyczki wyglądają identycznie jak SE SCSI, oba typy urządzeń nie mogą być podłączane do jednej magistrali. Jeżeli wykonamy taką operację, wysokie napięcie z urządzenia HVD zniszczy układy odbiornika we wszystkich urządzeniach SE podłączonych do magistrali. Inaczej mówiąc, spalimy sprzęt, a to niezbyt miła perspektywa.
Ponieważ SE SCSI działa wystarczająco dobrze dla wymaganych jeszcze niedawno prędkości, sygnalizacja HVD SCSI nigdy nie zdobyła większej popularności. Była ona używana w minikomputerach i bardzo rzadko w komputerach PC. Z tego powodu, jak również z powodu niezgodności elektrycznej ze standardowymi urządzeniami SE SCSI, sygnalizacja HVD została usunięta ze specyfikacji SCSI w ostatnich dokumentach SCSI-3. Dlatego możemy ją traktować jako przestarzałą.
Nadal jednak potrzebna była bardziej niezawodna technika sygnalizacji pozwalającej na stosowanie dłuższych kabli. Odpowiedzią na te potrzeby była sygnalizacja LVD. Nowa wersja umożliwiła produkowanie niedrogich układów SCSI o niewielkim zużyciu energii. Inną zaletą LVD jest użycie niskiego napięcia, dzięki czemu, jeżeli urządzenie LVD zostanie podłączone do magistrali SE, nic nie ulegnie uszkodzeniu. Dodatkowo opcjonalną częścią standardu jest możliwość konstruowania urządzeń wielofunkcyjnych, czyli współdziałających z magistralami LVD oraz SE. W przypadku dołączenia urządzenia wielofunkcyjnego LVD do magistrali SE. wykrywa ono ten fakt i przełącza się na tryb pracy SE.
Dzięki temu urządzenia wielofunkcyjne LVD/SE SCSI mogą być przyłączane zarówno do magistrali LVD, jak i SE. Jeżeli jednak do magistrali będzie przyłączone choć jedno urządzenie SE, wszystkie urządzenia LVD przełączą się do trybu SE. Ponieważ tryb SE pozwala na stosowanie częstotliwości taktowania do 20 MHz (Fast-20 lub UltraSCSI) i kabli o długości do 1,5 lub 3 metrów, urządzenia będą pracować z co najwyżej taką prędkością i mogą występować problemy z długimi kablami. Dlatego zakupienie napędu wielofunkcyjnego Ultra3 LVD/SE i podłączenie go do magistrali SCSI razem z urządzeniami SE, będzie powodowało, że nie będą wykorzystane możliwości szybszego urządzenia.
Należy zwrócić uwagę, że wszystkie urządzenia Ultra2 i Ultra3 obsługują sygnalizację LVD. ponieważ jest to jedyny sposób na osiągnięcie prędkości Ultra2 (40 MHz) i Ultra3 (80 MHz). Również urządzenia Ultra SCSI (20 MHz) lub wolniejsze mogą obsługiwać sygnalizację LVD, ale jest to rzadko spotykana sytuacja i LVD jest stosowana tylko w przypadku Ultra2 i Ultra3.
W zamieszczonej wcześniej tabeli 8.2 wymienione są wszystkie dostępne prędkości i maksymalne długości kabli dla wszystkich obsługiwanych technik sygnalizacji.
Ponieważ dla sygnalizacji SE, HVD, LVD i wielofunkcyjnych urządzeń SE/LVD stosowane są takie same wtyczki, a dołączenie do magistrali urządzenia HVD powoduje uszkodzenie urządzeń SE i LVD, trzeba wiedzieć, w jaki sposób zapobiegać takiej awarii. Jednym ze sposobów jest sprawdzenie oznaczenia na urządzeniu; producenci stosują uniwersalne symbole dla urządzeń SE i różnicowego SCSI. Symbole te są przedstawione na rysunku 8.6.
Rysunek 8.6.
Uniwersalne symbole identyfikujące urządzenia SE, L VD, wielofunkcyjne L VD/SE i HVD
Jeżeli na urządzeniu nie ma odpowiednich symboli, za pomocą omomierza można sprawdzić oporność pomiędzy pinami 21 i 22:
W urządzeniu asymetrycznych lub LVD piny te są zwarte i uziemione.
W urządzeniu High Voltage Differential pomiędzy tymi pinami występuje znaczna rezystancja.
Mimo że przyłączając urządzenie HVD do magistrali LVD lub SCSI, można zniszczyć pozostałe urządzenia, najczęściej nie stanowi to problemu, ponieważ niemal wszystkie urządzenia przeznaczone dla komputerów PC są typu SE, LVD lub LVD/SE. Sygnalizacja HVD jest już uznana za przestarzałą i usunięta z standardu SCSI w specyfikacji Ultra3 SCSI (SPI-3).
SPI-3 lub Ultra3 SCSI (Ultral60)
Opublikowana 1 listopada 2000 r. specyfikacja SPI-3 — znana również jako Ultra3 lub UltralóO SCSI — jest utworzona w oparciu o poprzedni standard i dwukrotnie zwiększa prędkość w stosunku do Fast-80DT (podwójne przejście). Pozwala to na osiągnięcie maksymalnej przepustowości 160 MB/s. Podstawowymi funkcjami dodanymi w specyfikacji SPI-3 (Ultra3) są:
taktowanie DT (podwójne przejście),
kontrola parzystości CRC.
kontrola domenowa,
pakietowanie,
system Ouick Arbitrate and Select (QAS).
Taktowanie z podwójnym przejściem polega na przesyłaniu danych na zboczu narastającym i opadającym taktu zegara REQ/ACK. Pozwala to na osiągnięcie przez urządzenia Ultra3 SCSI prędkości przesyłu 160 MB/s. przy utrzymaniu częstotliwości zegara 40 MHz. Tryb ten jest dostępny jedynie dla magistrali o szerokości 16 bitów.
Kontrola parzystości CRC zapewnia kontrolę błędów danych przesyłanych przez interfejs Ultra3 SCSI. Poprzednie wersje SCSI do wykrywania błędów transmisji wykorzystywały prostą kontrolę parzystości. Metoda CRC jest efektywniejszym sposobem wykrywania błędów i działa o wiele lepiej w przypadku dużych prędkości przesyłu.
Kontrola domenowa umożliwia lepszą negocjację trybów i prędkości przesyłu. W przypadku stosowania właściwej wersji SCSI, podczas inicjalizacji magistrali do każdego urządzenia wysyłane jest polecenie INQUIRY z najniższą możliwą prędkością 5 MHz, co pozwala na odczytanie maksymalnych prędkości, z jakimi mogą pracować poszczególne urządzenia. Opcja ta powstała w celu rozwiązania problemu niedostatecznej wydajności jednego z urządzeń pośredniczących, co w przypadku zastosowania zbyt dużej prędkości transmisji może spowodować to, że wolniejsze urządzenie może stać się niedostępne. W przypadku kontroli domenowej, po wynegocjowaniu prędkości pomiędzy komputerem a urządzeniem wykonywany jest test poprawności transmisji. Jeżeli zostaną wykryte błędy, prędkość jest obniżana, aż do uzyskania bezbłędnej transmisji. Jest to działanie podobne do negocjacji prędkości przez modemy i stanowi kolejny krok w kierunku polepszenia elastyczności i niezawodności interfejsu SCSI.
Pakietowanie to protokół pozwalający na bardziej efektywną transmisję pomiędzy urządzeniami SCSI. Tradycyjny równoległy interfejs SCSI korzysta z kilku faz magistrali do przesyłania różnych typów danych: jednej na dane poleceń, dwóch na komunikaty, jednej na status i dwóch na dane. Dla odróżnienia, pakietowy SCSI przesyła te wszystkie dane, korzystając tylko z dwóch faz, po jednej w każdym kierunku. Znacząco zmniejsza to narzut na polecenia i protokół, co jest szczególnie ważne w przypadku coraz większych prędkości.
Pakietowy SCSI jest w pełni zgodny z tradycyjnym równoległym SCSI, dzięki czemu urządzenia pakietowego SCSI mogą korzystać z tej samej magistrali co tradycyjne urządzenia SCSI. Jeżeli host adapter obsługuje transmisję pakietową, może komunikować się z jednym urządzeniem za pomocą przesyłu pakietowego i z drugim, korzystając z tradycyjnego protokołu. Jednak nie wszystkie urządzenia Ultra3 lub UltralóO SCSI zawierają obsługę przesyłu pakietowego. Urządzenia Ultra3 obsługujące przesył pakietowy są często oznaczane Ultral60+ SCSI.
Funkcja Quick Arbitrate and Select (QAS) pozwala zmniejszyć czas arbitrażu magistrali poprzez rezygnację z czasu zużywanego na zwalnianie magistrali. QAS pozwala na przeniesienie kontroli nad magistralą do innego urządzenia bez fazy BUS FREE. Urządzenia SCSI zgłaszają zdolność do obsługi QAS za pomocą polecenia IN0JJIRY.
Ultral60 i Ultral60+
Ponieważ wszystkie pięć nowych funkcji wprowadzonych w Ultra3 SCSI jest opcjonalnych, producenci napędów mogą deklarować zgodność z Ultra3 bez zapewniania odpowiednich funkcji. Aby zmusić producentów do podawania prawdy w reklamach i zapewnienia minimalnego poziomu wydajności, grupa producentów połączyła siły w celu utworzenia podstandardu Ultra3 SCSI zapewniającego minimalny zestaw funkcji. Jest on nazwany UltralóO lub UltraI60+ — nazwa wskazuje osiąganą przepustowość 160 MB/s. Ten podstandard nie jest oficjalną częścią standardu SCSI. Ale mimo to, grupa go kontrolująca gwarantuje spełnienie specyfikacji i utrzymanie odpowiedniego poziomu wydajności.
UltralóO jest specyficzną implementacją Ultra3 (SPI-3) SCSI, która zawiera pierwsze trzy dodatkowe funkcje Ultra3 SCSI:
taktowanie Fast-80DT zapewniające pracę z prędkością 160 MB/s,
kontrola parzystości CRC,
kontrola domenowa.
UltralóO SCSI działa w trybie LVD i jest zgodny z urządzeniami Ultra2 SCSI (LVD). Jedyną jego wadą jest brak możliwości współpracy z urządzeniami SE. Gdy do jednej magistrali dołączone są urządzenia Ultra2 i UltralóO (Ultra3), każde z nich może działać ze swoją maksymalną prędkością, niezależnie od innych urządzeń. Magistrala dynamicznie przełącza się między trybami z jednym i dwoma przejściami, aby obsłużyć oba typy urządzeń.
Do Ultral60+ dodano pozostałe dwie funkcje, dzięki czemu zapewniono pełną implementację standardu Ultra3:
pakietowanie,
system Quick Arbitrate and Select (QAS).
W przypadku UltralóO i Ultral60+ wymagany zakres funkcji zapewnia osiągnięcie minimalnego zadeklarowanego poziomu wydajności. Ultral60+ SCSI jest najwydajniejszym interfejsem dla urządzeń pamięci masowej stosowanym w komputerach PC i najlepiej nadaje się do pracy w obciążonych systemach, takich jak wydajne serwery sieciowe lub stacje robocze. Skalowalność i elastyczność tego interfejsu pozwala na osiąganie dużej wydajności przy zachowaniu odpowiedniego poziomu niezawodności.
SPI-4 lub Ultra4 SCSI (Ultra320)
Opublikowana 1 grudnia 2002 r. pod nazwą ANSI/INCITS 362-2002 specyfikacja SPI-4 — znana również pod nazwą Ultra4 lub Ultra320 — posiada te same funkcje co poprzedni standard Ultra3 (UltralóO) i dodaje kilka nowych, mających za zadanie zapewnić niezawodne przesyłanie danych z dwukrotnie większą prędkością.
Specyfikacja Ultra320 SCSI zawiera funkcje pakietowego przesyłu danych i QAS dostępne już w specyfikacji Ultra] 60+ SCSI, ale tym razem są to funkcje obligatoryjne.
Do nowych funkcji Ultra320 należą:
♦ Prędkość transmisji. UItra320 przesyła 2 bajty danych (16 bitów), korzystając z zegara 80 MHz
i dwóch przesyłów na cykl (DT), dzięki czemu maksymalna prędkość przesyłu wynosi 320 MB/s.
Strumieniowe przesyłanie danych do odczytu-zapisu. Powoduje to zminimalizowanie narzutu na kolejkowanie przesyłów danych poprzez umożliwienie urządzeniu wysłania jednego pakietu znacznika kolejki strumienia danych, po którym przesyłane jest wiele pakietów danych. Poprzednio, z każdym pakietem znacznika kolejki mógł być wysłany tylko jeden pakiet danych. Zwiększono również prędkość zapisu poprzez zmniejszenie liczby przejść pomiędzy wejściem i wyjściem danych.
Sterowanie przepływem. Umożliwia wskazywanie przez urządzenie docelowe momentu przesyłania ostatniego strumienia danych, co pozwala na zakończenie przez urządzenie inicjujące fazy prefetch lub wcześniejsze rozpoczęcie opróżniania buforów danych.
W przypadku dużych szybkości taktowania sygnałów (tryb DT) z częstotliwością 80 MHz, stosowaną przez standard Ultra320, pojawiły się problemy z degradacją sygnału o dużej częstotliwości i ze zmianą jego synchronizacji, występujące w kablach i układach logicznych. Aby to skompensować, w standardzie Ultra320 korzysta się z jednej z dwóch dostępnych metod. W przypadku nadajników jest nią wstępna kompensacja przy zapisie WPC (write precompensation), natomiast w przypadku odbiorników — aktywne filtry z możliwością dopasowania AAF (adjustable active fillers). Przez zastosowanie — po zmianie cyklu zegarowego w stosunku do pierwszego bitu — silniejszego pola magnetycznego niż w przypadku kolejnych metoda WPC zmienia przesyłane sygnały. Gdy używane są odbiorniki z filtrami AAF, z metody WPC można zrezygnować. Filtry AAF są w stanie skompensować problemy związane z degradacją i zmianą synchronizacji sygnału, występujące w ścieżce transmisyjnej po stronie odbierającej. W przypadku stosowania filtrów AAF przed każdym kolejnym transferem danych wysyłane są specjalne sygnały informacyjne o wysokiej i niskiej częstotliwości. Ma to na celu umożliwienie odbiornikowi dynamiczne dostosowanie się do problemów z degradacją i zmianą synchronizacji sygnału o dużej częstotliwości. Filtry AAF są uważane za najlepszą metodę, ponieważ mają charakter dynamiczny i automatycznie dopasowują się, tak aby skompensować określone warunki panujące w magistrali w chwili wykonywania kolejnych transferów danych. Z tego powodu szybszy standard Ultra640 wymaga zastosowania filtrów AAF, natomiast wstępna kompensacja przy zapisie jest opcjonalna.
SPI-5 lub Ultra5 SCSI (Ultra640)
Standard SPI-5 (określany jest też jako Ultra5 lub Ultra640 SCSI) został opublikowany 10 lipca 2003 r. pod nazwą ANSI/INCITS 367-2003. Zakładane jest w nim dwukrotne zwiększenie szybkości w stosunku do poprzedniego standardu Ultra4 (Ultra320). Najistotniejszy jest fakt, że według organizacji Technical Committee T10 standard SPI-5 (Ultra640) jest uznawany za ostatni ze standardów równoległych interfejsów SCSI. Wraz z pojawieniem się standardu Ultra640 wspomniano o nowym standardzie SAS (Serial Attached SCSP), który w przyszłości miałby zająć miejsce równoległego interfejsu SCSI.
Standard Ultra640 oferuje takie same możliwości, jak standard Ultra320 SCSI. Ponadto dysponuje następującymi dodatkowymi funkcjami i stawia następujące wymagania:
Dwukrotnie większe częstotliwości sygnałów i zegara (160 MHz; 2 bajty przypadające na jedną operację przesyłu; w trakcie cyklu zegara wykonywane są dwa przesyły).
Brak możliwości zastosowania wstępnej kompensacji przy zapisie.
Wymagane jest użycie aktywnych filtrów AAF.
Odbiornik AAF reguluje taktowanie zarówno dla opadającego, jak i narastającego zbocza sygnału.
W celu skompensowania efektów wywołanych przez przesłuch zmieniany jest sygnał informacyjny stosowany w przypadku filtrów AAF.
W przypadku używania wielozłączowego kabla taśmowego jego długość ograniczona jest do 2 m. Jeśli do kabla ekranowanego zostanie podłączone tylko jedno urządzenie (połączenie punkt-punkt). jego maksymalna długość może wynieść 20 m.
W przypadku standardu Ultra640 SCSI maksymalna długość kabla taśmowego wynosi 2 m. Wynika to stąd. że w tego typu kablu pomiędzy sąsiednimi żyłami występuje duży przesłuch lub szumy towarzyszące przesyłaniu sygnału. Jeżeli do ekranowanego kabla podłączono jedno urządzenie, jego maksymalna długość wynosi 20 m lub 10 m w pozostałych przypadkach.
Jest niemal pewne, że standard SPI-5 SCSI (Ultra640) będzie ostatnią generacją równoległych interfejsów SCSI. Tak naprawdę aktualnie na rynku nie ma żadnych produktów opartych na tym standardzie. Ponadto — ze względu na to, że pojawił się uważany za przyszłość SCSI standard SAS — produkty zgodne ze standardem Ultra640 mogą nigdy nie być dostępne. Ponieważ standard SAS korzysta z takiej samej podstawowej warstwy fizycznej i połączeń, jak standard Serial ATA, można oczekiwać, że będzie kolejną technologią stosowaną zarówno w urządzeniach SCSI, jak i zaawansowanych produktach opartych na standardzie SATA.
Serial Attached SCSI
Pojawienie się standardów Ultra320 i UItra640, wyznaczających kres technologii równoległego interfejsu SCSI, oraz wyjątkowa trudność i kosztowność związana z projektowaniem kolejnych szybszych wersji magistrali równoległej sprawiły, że organizacja T10 bliżej zaczęła przyglądać się architekturom interfejsów szeregowych i brać je pod uwagę jako ewentualne rozwiązania, które pojawią się w przyszłych standardach SCSI. W kwietniu 2002 r. zaczęto prace nad przyszłym standardem szeregowego interfejsu SCSI. Zamiast odkrywać koło na nowo, organizacja postanowiła zastosować takie same rozwiązania dotyczące sygnalizacji, okablowania i złączy, jakie wykorzystano w przypadku standardu SATA. Dodatkowo zdecydowano się na połączenie protokołu poleceń SCSI z nieznacznie zmodyfikowaną fizyczną warstwą interfejsu SATA. Efektem jest standard Serial Attached SCSI. oficjalnie opublikowany 30 października 2003 r. pod nazwą ANSI/INCITS 376-2003. Aktualnie trwają prace projektowe nad rozszerzoną wersją 1.1 standardu Serial Attached SCSI, zawierającą poprawki i dodatkowe udoskonalenia.
Przy tworzeniu standardu SAS skorzystano z już istniejącego fizycznego interfejsu, okablowania i złączy standardu SATA (co było korzystne z ekonomicznego punktu widzenia) i jednocześnie zachowano solidność oprogramowania oraz niezawodność interfejsu SCSI. SAS zaprojektowano jako rozszerzalny standard, mając na względzie oferowanie przez niego w przyszłości wyższych szybkości i wydajności. Podobnie jak w przypadku standardu SATA, szeregowy interfejs SCSI jest samotaktujący, dzięki czemu możliwe jest uzyskiwanie coraz większych szybkości przesyłania danych. Do podstawowych funkcji standardu Serial Attached SCSI należy zaliczyć:
Połączenia punkt-punkt o przepustowości 300 MB/s. W przyszłości planowane jest pojawienie się zgodnych wstecz połączeń o maksymalnej przepustowości wynoszącej 1200 MB/s.
Urządzenia dysponujące szerokim portem pozwalają na realizowanie wielu połączeń szeregowych, dzięki czemu oferowana przepustowość jest zwielokrotniana (jej wartość zależy od liczby połączeń).
Standard SAS korzysta ze sprawdzonego i udoskonalonego protokołu SCSI (rozwijanego od 20 lat).
Standard SAS obsługuje zarówno dyski SAS o przepustowości 300 MB/s, jak i dyski SATA
o przepustowości 150 MB/s. Dzięki temu płyta główna lub kontroler dysponujący złączami SAS może współpracować z dyskami SAS i SATA.
Najważniejszą funkcją standardu SAS jest obsługa dwóch typów dysków. Możliwe jest podłączenie do interfejsu SAS dysków SATA spełniających funkcję tanich magazynów danych i prawdziwych dysków SAS, które można zastosować w bardziej wydajnych komputerach. Złącze SAS pozwala na podłączenie zarówno dysków SAS, jak i SATA. Niemożliwe jest jednak podłączenie dysku SAS do interfejsu SATA. Ponieważ sygnały złącza SATA stanowią podzbiór sygnałów SAS, dyski SATA będą współpracowały z kontrolerami SAS. Z kolei dyski SAS nie będą działały z kontrolerami SATA. Złącza SAS posiadają specjalne klucze, mające zapobiec podłączeniu ich do kontrolera SATA.
Standard SAS korzysta z trzech protokołów, z których każdy przesyła różnego typu dane. To, który z nich zostanie użyty, zależy od typu wykorzystywanego urządzenia. Oto one:
SSP (Serial SCSI Protocol). Wysyła do urządzeń SAS polecenia SCSI.
SMP (SCSI Management Protocol). Wysyła do ekspanderów informacje sterujące.
STP (SATA TunneledProtocol). Wysyła do urządzeń SATA polecenia SATA.
Uwzględnienie powyższych protokołów w standardzie SAS sprawiło, że jest on w pełni zgodny z istniejącymi urządzeniami i oprogramowaniem opartym zarówno na standardzie SCSI, jak i SATA. Zgodność wstecz standardu SAS i korzystanie przez niego z fizycznych połączeń SATA sprawiają, że interfejs SAS może odegrać rolę uniwersalnej metody łączenia ze sobą urządzeń SAS i SATA. Jeżeli komputer dysponuje interfejsem SAS, użytkownik zamierzający zrezygnować z interfejsu SATA na rzecz SAS ma dwie możliwości. Pierwszą z nich jest zastąpienie dysku SATA dyskiem SAS, natomiast drugą pozostawienie dysku SATA i zainstalowanie w komputerze dysku SAS, a następnie jednoczesne korzystanie z obu. W celu dodatkowego zagwarantowania zgodności dysków twardych SAS i SATA na poziomie systemowym w styczniu 2003 r. organizacje STA (SCSI Trade Association) i Serial ATA II Working Group poinformowały o nawiązaniu współpracy.
Standard Serial Attached SCSI został zaprojektowany w celu uzyskania wyjątkowo dużej przepustowości. Szybkości transferu danych zaczynają się od 3 Gb/s (300 MB/s). Istnieją możliwości zwiększenia jej do 12 Gb/s (1200 MB/s). czyli niemal czterokrotnie w stosunku do szybkości oferowanej przez standard Ultra320 SCSI. Ponadto w przypadku standardu SAS wykorzystywane są połączenia typu punkt-punkt. Tego typu połączenia oferują każdemu dyskowi pełną przepustowość, a nie jej część (całkowita przepustowość jest dzielona pomiędzy wieloma dyskami), tak jak w przypadku równoległego interfejsu SCSI. Urządzenia mogą też korzystać z połączeń Wide-Port. Oznacza to, że z jednym urządzeniem można nawiązać wiele połączeń. Całkowita przepustowość dostępna w takim przypadku jest zależna od liczby połączeń z urządzeniem.
W przypadku połączeń wewnętrznych używane są kable o maksymalnej długości 1 m. Są one podobne do kabli dysków SATA, z tą różnicą, że złącza mają inny klucz. Z kolei w przypadku połączeń zewnętrznych stosowane są kable typu Infiniband, obsługujące cztery połączenia. Za pomocą adaptera umieszczanego w wolnym gnieździe rozszerzającym możliwe jest obsłużenie przez kabel zewnętrzny czterech połączeń wewnętrznych. Złącze urządzenia SAS wyglądem bardzo przypomina złącze dysku SATA, ale zawiera też klucz i dodatkowe opcjonalne sygnały obsługujące połączenia Wide-Port. Złącze kontrolera SAS zostało tak wykonane, aby możliwe było podłączenie do niego zarówno kabla SATA, jak i SAS. W przypadku każdego połączenia używanych jest 7 końcówek. Ich rozmieszczenie jest identyczne, jak w złączu SATA.
Na rysunku 8.7 pokazano ikonę identyfikującą urządzenia SAS i połączenia zgodne ze standardem SAS.
Rysunek 8.7.
Ikona identyfikująca urządzenie SAS (Serial Attached SCSI)
Kluczową funkcją standardu SAS jest możliwość jego rozszerzania. Urządzenia nazywane ekspanderami umożliwiają takie skalowanie interfejsu SAS, aby obsługiwał dużą liczbę dysków. Zasadniczo ekspandery są tanimi przełącznikami pozwalającymi zrealizować maksymalnie 128 połączeń punkt-punkt. W efekcie do jednego komputera za pośrednictwem wielu ekspanderów mogą zostać podłączone maksymalnie 16 384 urządzenia SAS. Dla porównania równoległy interfejs SCSI ogranicza liczbę urządzeń znajdujących się w łańcuchu SCSI do 15 i w znacznym stopniu skraca całkowitą długość kabla.
Co prawda specyfikacja standardu SAS została zaprezentowana w październiku 2003 r., ale już w marcu tego samego roku po raz pierwszy firmy Seagate i HP zademonstrowały prototypy kontrolerów i dysków SAS. Można oczekiwać, że w sprzedaży detalicznej urządzenia SAS (w tym kontrolery i dyski) dostępne będą w drugiej polowie 2004 r. Wszyscy więksi wytwórcy dysków twardych poinformowali o swoich planach dotyczących projektowania napędów dysków SAS. Interfejs SAS umożliwia też podłączenie istniejących dysków SATA.
Macierze dyskowe RAID
Większość serwerów, zwłaszcza przeznaczonych do bardziej profesjonalnych zastosowań niż obsługa grupy roboczej, zamiast dysków ATA korzysta z dysków SCSI, ponieważ oferują znakomitą wydajność. Tworząc macierz dyskową, można jeszcze bardziej poprawić wydajność i zwiększyć bezpieczeństwo danych. Technologie RAID (redundant array of inexpensive/independent disks) stosowane są zarówno w przypadku dysków SCSI. jak i ATA. Najnowsze macierze RAID oparte na dyskach SCSI obsługują przede wszystkim napędy Ultra320 i UltralóO. Stosuje sieje w tradycyjnych serwerach i w komputerach montowanych w specjalnych szafach. W celu zapoznania się z pełnym omówieniem poziomów RAID i terminologii należy zaglądnąć do rozdziału 7., „Interfejs ATA/IDE".
Fibrę Channel SCSI
Fibrę Channel SCSI to specyfikacja interfejsu szeregowego korzystającego ze światłowodów i zbioru poleceń SCSI. Zapewnia on prędkość 200 lub 400 MB/s z wykorzystaniem światłowodu, bądź kabla koncentrycznego na odcinku kilku kilometrów. Fibrę Channel jest zaprojektowany dla potrzeb połączeń długodystansowych
(kilkukiiomctrowycli) i łączenia różnych systemów. Standard stal się popularny w przypadku sieci pamięci masowej SAN (storage area network) i klastrów serwerów. Standard Fibrę Channel SCSI bardziej uzupełnia niż zastępuje standardy UltralóO i Ultra 320 SCSI, stworzone z myślą o obsłudze bezpośrednich połączeń z serwerami.
Wersja interfejsu Fibrę Channel SCSI oferująca szybkość 200 MB/s korzysta ze złącza GBIC {gigabit interface connector). Z kolei wersja o szybkości 400 MB/s w przypadku połączeń światłowodowych używa złącza SFP (smali form factor pluggable), natomiast przy zastosowaniu okablowania miedzianego — złącza HSSDC (high-speed serial data connector). Wymienione złącza pokazano w dalszej części rozdziału na rysunkach od
8.13 do 8.15.
Ponieważ interfejsy SAS i iSCSl przy niższym koszcie oferują bardzo podobną wydajność i korzyści co interfejs Fibrę Channel. można oczekiwać, że zastąpią go w wielu zastosowaniach, szczególnie w zaawansowanych
serwerach.
iSCSl
Standard iSCSl. będący kolejną odmianą interfejsu SCSI, oferuje wydajność napędów SCSI i sieciowe połączenia Ethernet o gigabitowej szybkości. Ponieważ do przesyłania danych pomiędzy systemami wykorzystywana jest technologia Ethernet, urządzenie pamięci masowej iSCSl może znajdować się w dowolnym miejscu, będącym w zasięgu sieci Ethernet — może być podłączone nawet za pośrednictwem internetu. Standard iSCSl stwarza ponadto możliwości bezpiecznego zdalnego przechowywania danych w komputerach oddalonych od siebie o setki kilometrów. Ze względu na to, że technologia iSCSl może przesyłać dane w taki sam sposób, w jaki transportowane są w sieci Ethernet dane dowolnego typu, transfer jest możliwy nawet wówczas, gdy niektóre połączenia pomiędzy serwerem i urządzeniami pamięci masowej nie są aktywne.
Można oczekiwać, że ostatecznie standard iSCSl zastąpi standard Fibrę Channel w takich zastosowaniach, jak urządzenia NAS (network attached storage), sieci pamięci masowej SAN i klastry pamięci masowej. Możliwe jest dostosowanie wersji karty iSCSl do istniejącej sieci Ethernet, podobnie jak w przypadku technologii Fibrę Channel — w sprzedaży dostępne są bowiem wersje karty obsługujące okablowanie miedziane i światłowodowe. Pierwsze urządzenia iSCSl zostały wyprodukowane w połowie 2002 r. przez firmy Adaptec i Cisco Systems.
Kable i złącza SCSI
W przypadku kabli i złączy, standard SCSI jest bardzo specyficzny. Najczęściej stosowanym złączem zdefiniowanym w tym standardzie jest 50-pinowe nieizolowane szpilkowe złącze czołowe stosowane do połączeń zewnętrznych i 50-pinowe obudowane złącze zatrzaskowe typu Centronics do połączeń zewnętrznych. Obudowane złącze typu Centronics jest również w oficjalnej specyfikacji nazywane Alternative 2. Dla magistrali asymetrycznych i różnicowych wymagane są terminatory pasywne lub aktywne (aktywne są zalecane). Konfiguracja magistrali 50-przewodowej jest zdefiniowana w standardzie SCSI-2 jako kabel A.
Starsze adaptery SCSI (8 bitowe) i zewnętrzne urządzenia korzystają ze złącza typu Centronics o pełnej wielkości. Na rysunku 8.8 pokazane jest 50-pinowe złącze SCSI o małej gęstości.
Rysunek 8.8.
50-pinowe -łącze SCSI o małej gęstości
Standard SCSI-2 zawiera nowe 50-pinowe złącze dużej gęstości typu D dla kabli A. Złącze to nazywane jest Alternative 1. Na rysunku 8.9 pokazane jest 50-pinowe złącze SCSI o dużej gęstości.
Rysunek 8.9.
50-pinowe złącze SCSI o dużej gęstości
Złącze Alternative 2 typu Centronics pozostało niezmienione od zdefiniowania standardu SCSI-1. W specyfikacji SCSI-2 dodano kabel 68-żyłowy, zapewniający 16 i 32-bitowy transfer danych, jednak kabel ten musi być stosowany równolegle z kablem A. Producenci nie zaakceptowali tej opcji, więc kabel B został usunięty ze standardu SCSI-3.
Aby zastąpić kabel B, w specyfikacji SCSI-3 zdefiniowano nowy, 68-żyłowy kabel P. Dla kabli A i P zaprojektowano nowe złącza typu D, zarówno w wersji z obudową, jak i bez niej. Obudowane złącza dużej gęstości wykorzystują zatrzaski zaciskowe, a nie zatrzaski druciane, jak w złączach typu Centronics. Dla magistrali niesymetrycznej zdefiniowano również aktywne terminatory, które poprawiają integralność sygnału. Na rysunku 8.10 pokazane jest 68-pinowe złącze SCSI o dużej gęstości.
Rysunek 8.10.
68-pinowe złącze SCSI o dużej gęstości
Macierze dyskowe korzystają najczęściej ze specjalnych napędów SCSI ze złączem 80-pinowym Alternative-4. Złącze to obsługuje interfejs Wide SCSI i dodatkowo doprowadza zasilanie do urządzenia. Napędy ze złączem 80-pinowym są najczęściej typu hot swap — pozwalają na wyjmowanie i instalowanie dysków w macierzach bez wyłączania zasilania. 80-pinowe złącze Alt-4 jest pokazane na rysunku 8.11.
Rysunek 8.11.
80-pinowe złącze CSI Alt-4
Firma Apple i niektórzy inni producenci niestandardowych implementacji SCSI korzystają z kabla i złącza 25-pinowego. Jest to możliwe dzięki eliminacji z kabla większości linii uziemienia, co, niestety, powoduje nawiązanie zaszumionego i narażonego na zakłócenia połączenia. Nie zalecamy korzystania z kabli i złączy 25-pinowych — powinieneś w razie możliwości unikać ich stosowania. W przypadku tego typu połączeń stosowane jest złącze DB-25 identyczne jak w kablu równoległym do podłączania drukarki.
Niestety można uszkodzić sprzęt, włączając drukarkę do złącza SCSI DB-25, jak również włączając urządzenie SCSI do 25-pinowego złącza równoległego. Jeżeli więc wykorzystywany jest ten typ połączeń SCSI należy wyraźnie oznaczyć gniazda, ponieważ nie ma żadnego sposobu na odróżnienie złącza DB-25 SCSI od złącza DB-25 drukarki, patrząc jedynie na wtyczkę. Na rysunku 8.12 pokazane jest niestandardowe złącze SCSI DB-25.
Rysunek 8.12.
Niestandardowe złącze SCSI DB-25
Jeszcze raz namawiam do unikania wykonywania połączeń SCSI przy użyciu tego typu niestandardowego kabla lub złącza.
W zależności od rodzaju modułu GBIC znajdującego się w kontrolerze urządzenia Fibrę Channel SCSI oferujące przepustowość 200 MB/s mogą łączyć się z różnego typu urządzeniami. Moduł może zawierać złącze SC (subscriber connector) obsługujące światłowody, bardzo szybkie złącze HSSDC lubprzeznaczone dla kabli
miedzianych złącze DB-9. Moduł GBIC może zostać wyjęty z kontrolera, co pokazano na rysunku 8.13. Jeśli jest używane okablowanie miedziane, urządzenia o przepustowości 400 MB/s mogą zostać podłączone do złącza HSSDC widocznego na rysunku 8.14. W przypadku zastosowania światłowodu urządzenia można podłączyć do złącza SFP. przedstawionego na rysunku 8.15.
Rysunek 8.13.
Moduł GBIC stosowany w przypadku interfejsu Fibrę Channel o przepustowości 200 MB/s, obsługujący złącza DB-9 (pokazane), SC lub HSSDC
Rysunek 8.14.
Ztącze HSSDC stosowane w przypadku wersji interfejsu Fibrę Channel o przepustowości 400 MB/s, opartego na okablowaniu miedzianym
Rysunek 8.15.
Złącze SFP stosowane w przypadku wersji interfejsu Fibrę Channel o przepustowości 400 MB/s, opartego na światłowodzie
Funkcje pinów złączy
i kabli równoległego interfejsu SCSI
Opiszemy teraz funkcje wszystkich pinów w różnych typach kabli i złączy SCSI. Istnieją elektrycznie różne wersje interfejsu SCSI — asymetryczny i różnicowy. Te dwie wersje są elektrycznie niezgodne i nie mogą być ze sobą łączone, w przeciwnym razie można uszkodzić sprzęt. Na szczęście dla komputerów PC istnieje bardzo niewiele urządzeń korzystających z interfejsu różnicowego, więc prawdopodobnie bardzo rzadko będziesz mial z nimi do czynienia. Dla każdego typu SCSI (niesymetrycznego lub różnicowego) występują dwa podstawowe typu kabli SCSI:
kabel A (standardowy 8-bitowy SCSI),
kabel P (16-bitowy Wide SCSI).
Kabel A z 50 pinami jest używany w większości instalacji SCSI-1 oraz SCSI-2 i jest to kabel, z którym można się najczęściej spotkać. Instalacje SCSI-2 Wide (16-bitowe) korzystają z kabla P, który ma 68 żył. Można łączyć urządzenia SCSI i Wide SCSI na jednej magistrali, korzystając ze specjalnych adapterów złączy. Instalacje SCSI-3 o szerokości magistrali 32-bitów miały korzystać z dodatkowego kabla Q, ale w końcu pomysł ten został zarzucony, ponieważ nie powstały żadne urządzenia korzystające z takiego interfejsu.
Kable SCSI są ekranowane w specyficzny sposób — przewody najważniejszych szybkozmiennych sygnałów są umieszczone w środku kabla, natomiast mniej ważne i przesyłające wolniej zmieniające się sygnały, w dwóch dodatkowych warstwach na obwodzie. Konstrukcja takiego kabla pokazana jest na rysunku 8.16.
Rysunek 8.16.
Przekrój typowego kabla SCSI
Taka konstrukcja powoduje, że kable SCSI są droższe oraz grubsze niż pozostałe typy kabli. Jednak taka budowa kabla jest niezbędna jedynie w zewnętrznych kablach SCSI. Do łączenia urządzeń wewnątrz ekranowanej obudowy mogą być używane tańsze kable mające postać taśmy.
Kable A mogą mieć szpilkowe złącza czołowe (wewnętrzne), jak również zewnętrzne ekranowane złącza — każde z innymi wyprowadzeniami. Kable typu P mają takie same wyprowadzenia, niezależnie od tego, czy jest to połączenie wewnętrzne czy zewnętrzne.
Kable i złącza asymetrycznego SCSI
Asymetryczny interfejs elektryczny jest najczęściej stosowany w systemach PC. W tabelach 8.3 i 8.4 zamieszczone są opisy wszystkich kabli i pinów złączy. Kabel A występuje w dwóch wersjach — wewnętrznej nieekranowanej i zewnętrznej ekranowanej. Znak łącznika umieszczony przed nazwą sygnału wskazuje, że jest on aktywowany poziomem niskim. Linie RESERYED znajdują się w całej magistrali SCSI, natomiast mogą być niepodłączone w urządzeniach SCSI (mogą być również zwarte do masy) i zwarte do masy w terminatorach. W przypadku kabli P i Q linie RESERYED są niepodłączone w urządzeniach SCSI oraz terminatorach magistrali.
Tabela 8.3. Złącza wewnętrznego niekranowanego złącza czołowego kabla A (interfejs asymetryczny)
Sygnał |
Pin |
Pin |
Sygnał |
GROUND |
1 |
2 |
-DB(0) |
GROUND |
3 |
4 |
-DB(I) |
GROUND |
5 |
6 |
-DB(2) |
GROUND |
7 |
8 |
-DB(3) |
GROUND |
9 |
10 |
-DB(4) |
GROUND |
11 |
12 |
-DB(5) |
GROUND |
13 |
14 |
-DB(6) |
GROUND |
15 |
16 |
-DB(7) |
GROUND |
17 |
18 |
-DB(Parzystość) |
GROUND |
19 |
20 |
GROUND |
GROUND |
21 |
22 |
GROUND |
RESERVED |
23 |
24 |
RESERVED |
Otwarty |
25 |
26 |
TERMPWR |
RESERVED |
27 |
28 |
RESERVED |
GROUND |
29 |
30 |
GROUND |
GROUND |
31 |
32 |
-ATN |
GROUND |
33 |
34 |
GROUND |
GROUND |
35 |
36 |
-BSY |
GROUND |
37 |
38 |
-ACK |
GROUND |
39 |
40 |
-RST |
GROUND |
41 |
42 |
-MSG |
GROUND |
43 |
44 |
-SEL |
GROUND |
45 |
46 |
-C/D |
GROUND |
47 |
48 |
-REQ |
GROUND |
49 |
50 |
-I/O |
Firma IBM umieszczała interfejs SCSI w niemal wszystkich systemach PS/2 wyprodukowanych po roku 1990. Systemy te korzystały z adaptera SCSI dla magistrali Micro-Channel lub miały SCSI Host Adapter wbudowany w płytę główną. W obu przypadkach interfejs SCSI firmy IBM wykorzystywał specjalne 60-pinowe złącze typu mini-Centronics, nie stosowane przez żadną inną firmę. Aby podłączyć to złącze do standardowych złączy typu Centronics używanych w urządzeniach zewnętrznych, niezbędny był specjalny kabel firmy IBM. W tabeli 8.5 opisane są sygnały wykorzystywane 60-pinowym złączu zewnętrznym firmy IBM. Należy zwrócić uwagę, że choć rozmieszczenie pinów jest nietypowe, to skojarzenie numeru pinu z sygnałem jest identyczne jak w standardowym wewnętrznym złączu czołowym SCSI. Firma IBM zaprzestała stosowania tego rodzaju złącza po zakończeniu produkcji serii PS/2 i obecnie stosuje tylko standardowe złącza SCSI.
Kable i złącza P (niesymetryczne) są stosowane do podłączania 16-bitowych urządzeń Wide SCSI-2 (rozmieszczenie sygnałów jest opisane w tabeli 8.6.
Tabela 8.4. Złącza zewnętrznego złącza kabla A (interfejs asymetryczny)
Sygnał |
Pin |
Pin |
Sygnał |
GROUND |
1 |
26 |
-DB(0) |
GROUND |
2 |
27 |
-DB(1) |
GROUND |
3 |
28 |
-DB(2) |
GROUND |
4 |
29 |
-DB(3) |
GROUND |
5 |
30 |
-DB(4) |
GROUND |
6 |
31 |
-DB(5) |
GROUND |
7 |
32 |
-DB(6) |
GROUND |
8 |
33 |
-DB(7) |
GROUND |
9 |
34 |
-DB(Parzystość) |
GROUND |
10 |
35 |
GROUND |
GROUND |
11 |
36 |
GROUND |
RESERVED |
12 |
37 |
RESERVED |
Otwarty |
13 |
38 |
TERMPWR |
RESERVED |
14 |
39 |
RESERVED |
GROUND |
15 |
40 |
GROUND |
GROUND |
16 |
41 |
-ATN |
GROUND |
17 |
42 |
GROUND |
GROUND |
18 |
43 |
-BSY |
GROUND |
19 |
44 |
-ACK |
GROUND |
20 |
45 |
-RST |
GROUND |
21 |
46 |
-MSG |
GROUND |
22 |
47 |
-SEL |
GROUND |
23 |
48 |
-C/D |
GROUND |
24 |
49 |
-REQ |
GROUND |
25 |
50 |
-MO |
Sygnały High Voltage Differential SCSI
Interfejs High Yoltage Differential SCSI nie jest zwykle wykorzystywany w komputerach PC. ale jest bardzo popularny w systemach minikomputerowych, ponieważ można tworzyć magistrale o dużej długości, jednak wprowadzenie standardu Low Yoltage Differential SCSI pozwoliło wykorzystać zalety sygnalizacji różnicowej w tańszych produktach SCSI.
Sygnalizacja różnicowa wymaga użycia sterowników na obu końcach magistrali, zarówno po stronie urządzenia inicjującego, jak i docelowego. Działanie tej sygnalizacji można określić jako pchnij-pociągnij, w odróżnieniu od sygnał-masa w standardowym niesymetrycznym SCSI. Pozwala to na stosowanie kabli o większej długości i eliminuje niektóre problemy z terminatorami.
Tabela 8.5. Zewnętrzne złącze IBM PS/2 SCSI
Nazwa sygnału |
Pin |
Pin |
Nazwa sygnału |
GROUND |
1 |
60 |
niepodtączony |
-DB(0) |
2 |
59 |
niepodłączony |
GROUND |
3 |
58 |
niepodłączony |
-DB(1) |
4 |
57 |
niepodłączony |
GROUND |
5 |
56 |
niepodtączony |
-DB(2) |
6 |
55 |
niepodłączony |
GROUND |
7 |
54 |
niepodłączony |
-DB(3) |
oo |
53 |
niepodłączony |
GROUND |
9 |
52 |
niepodłączony |
-DB(4) |
10 |
51 |
GROUND |
GROUND |
11 |
50 |
-I/O |
-DB(5) |
12 |
49 |
GROUND |
GROUND |
13 |
48 |
-REQ |
-DB(6) |
14 |
47 |
GROUND |
GROUND |
15 |
46 |
-C/D |
-DB(7) |
16 |
45 |
GROUND |
GROUND |
17 |
44 |
-SEL |
-DB(Parzystość) |
18 |
43 |
GROUND |
GROUND |
19 |
42 |
-MSG |
GROUND |
20 |
41 |
GROUND |
GROUND |
21 |
40 |
-RST |
GROUND |
22 |
39 |
GROUND |
RESERVED |
23 |
38 |
-ACK |
RESERVED |
24 |
37 |
GROUND |
Otwarty |
25 |
36 |
-BSY |
TERMPWR |
26 |
35 |
GROUND |
RESERVED |
27 |
34 |
GROUND |
RESERVED |
28 |
33 |
GROUND |
GROUND |
29 |
32 |
-ATN |
GROUND |
30 |
31 |
GROUND |
Niemal wszystkie urządzenia peryferyjne dla komputerów PC wyprodukowane od czasu powstania interfejsu SCSI posiadają magistralę typu SE. Są one niezgodne z urządzeniami HVD, choć można użyć urządzeń HVD w magistralach SE, stosując odpowiednie (drogie) adaptery. Dla odróżnienia, urządzenia LVD mogą działać w magistrali SE, jeżeli są zaprojektowane jako urządzenia wielofunkcyjne, ale wtedy przełączają się do trybu SE. Jeżeli wszystkie urządzenia — w tym host adapter — obsługują tryb LVD, przełączają się w ten tryb, w którym mogą być używane dużo dłuższe kable i wyższe prędkości. Standardowe ograniczenie długości magistrali SE SCSI wynosi 1,5 metra, a prędkości 20 MHz. Jeżeli magistrala działa w trybie LVD, jej maksymalna długość może wynieść 12 metrów, a prędkość osiągnąć wartość 80 MHz. Maksymalną długość magistrali HVD SCSI to 25 metrów.
Trzeba pamiętać, że niemal wszystkie nowoczesne modele dysków twardych SCSI pracują w trybie Ultra2 lub L'ltra3, co oznacza, że są to urządzenia LVD lub wielofunkcyjne LVD/SE.
Tabela 8.6. Złącza wewnętrznego lub zewnętrznego obudowanego złącza kabla P (interfejs niesymetryczny)
Ekspandery
Ekspandery SCSI pozwalają na podział magistrali SCSI na więcej niż jeden segment fizyczny, z których każdy może mieć maksymalną długość dopuszczaną przez stosowaną metodę sygnalizacji. Zapewniają one całkowite odtwarzanie sygnałów magistrali SCSI, co umożliwia zwiększenie długości kabli oraz współpracę w tej samej magistrali niezgodnych ze sobą urządzeń. Ekspander może być użyty do oddzielenia niezgodnych ze sobą fragmentów magistrali, na przykład do umieszczenia urządzeń SE i HVD SCSI w osobnych domenach.
Ekspandery są niezauważalne dla oprogramowania i nie zajmują żadnego identyfikatora urządzenia. Zazwyczaj, jeżeli umieszczone są na końcach magistrali, pełnią one również funkcję terminatorów, a jeżeli znajdują się w środku magistrali, terminatory są zablokowane.
Ponieważ to drogie urządzenia, ekspandery są używane jedynie w ekstremalnych sytuacjach, w których nic ma możliwości zastosowania innego rozwiązania. W większości przypadków lepiej pozostać przy zalecanej długości kabli i magistrali i nie umieszczać niezgodnych urządzeń, jak na przykład urządzeń HVD, w magistrali SE lub l.VD.
Zakańczanie magistrali
Ponieważ magistrala SCSI przenosi sygnały elektryczne o dużej częstotliwości, może być narażona na odbicia elektryczne, które mogą wystąpić w każdej linii transmisyjnej. Aby zminimalizować odbicia i szumy, stosuje się odpowiednio dobrane terminatory, które dodatkowo odpowiednio obciążają układy nadajnika magistrali. Aby zminimalizować problemy, terminatory są umieszczone na obu jej końcach.
Pomimo prostej zasady, że tylko terminatory muszą być umieszczone po obu końcach magistrali, okazuje się. że nieprawidłowe ich stosowanie jest najczęstszą przyczyna problemów w instalacjach SCSI.
Dostępne jest kilka typów terminatorów SCSI używanych w zależności od stosowanej sygnalizacji i wymaganej prędkości:
pasywne.
aktywne (nazywane również Alternative 2),
Forced Perfect Terminalion (wymuszone doskonałe zakańczanie — FPT): FPT3. FPT-18 i EPT-27.
terminatory HVD,
terminatory LVD.
Pierwsze trzy typy są używane jedynie w asymetrycznych magistralach SCSI. Terminatory pasywne do sterowania zakończeniem magistrali wykorzystują zestaw oporników 220 omów i 330 omów. Powinny być one używane jedynie w wąskich (8-bitowych) magistralach SCSI działających z częstotliwością 5 MHz. Terminatory pasywne z opornikami wystarczają do pracy na niewielkich odległościach, od 60 cm do 1 metra, a w przypadku większych odległości lub większych prędkości jedynym dobrym rozwiązaniem są terminatory aktywne. Terminatory aktywne są również wymagane do pracy w trybie Fast SCSI.
Terminatory pasywne mogą zostać podłączone do nieużywanego portu SCSI lub zintegrowane z wieloma powolnymi urządzeniami SCSI, takimi jak skanery, napędy optyczne i napędy z wymiennymi nośnikami. W przypadku tego typu urządzeń wbudowany terminator pasywny można włączać lub wyłączać za pomocą zworek, przełącznika pozycyjnego lub innej postaci elementu przełączającego.
Terminatory aktywne korzystają z wbudowanego układu regulatora napięcia połączonego z opornikami 110 omów. Terminatory aktywne wykorzystują najczęściej jeden lub kilka regulatorów napięcia do wytworzenia napięcia terminującego. Taki układ pozwala zapewnić, że sygnały SCSI zawsze są dopasowywane do właściwego poziomu napięcia. Terminatory aktywne często mają zamontowaną diodę świecącą wskazującą aktywność terminatorów. W specyfikacji SCSI zaleca się stosowanie terminatorów aktywnych na obu końcach magistrali i wymaga ich stosowania, jeżeli używane są urządzenia Fast lub Wide SCSI. Większość host adapterów o dużej wydajności ma funkcję „samoterminowania", jeżeli więc host adapter jest umieszczony na końcu magistrali, samoczynnie ją zakańcza.
Dla magistrali asymetrycznych dostępna jest odmiana terminatorów aktywnych — forced perfect termination (FPT). Jest to jeszcze doskonalsza postać terminatorów aktywnych, w których dodatkowo wykorzystane zostały diody poziomujące, eliminujące przesterowanie i niedosterowanie sygnału. Zamiast poziomować do napięcia +5 V i do masy, terminatory te poziomują sygnał do dwóch regulowanych napięć. Układ taki pozwala diodzie poziomującej wyeliminować przesterowanie i niedosterowanie sygnału, szczególnie przy większych prędkościach zmian sygnału i większych odległościach. Wymuszone doskonałe zakańczanie nie jest zawarte w specyfikacji SCSI, ale stanowi ono świetny rodzaj terminatorów dla magistral niesymetrycznych narażonych na duże zakłócenia.
Terminatory FPT są dostępne w kilku wersjach. Wersje FPT-3 i FPT-18 dostępne są dla magistral SCSI o szerokości 8 bitów, natomiast FPT-27 przeznaczone są dla 16-bitowego (Wide) SCSI. Wersja FPT-3 wymusza doskonale dopasowanie trzech najbardziej aktywnych sygnałów SCSI magistrali 8-bitowej, natomiast FPT-18 wymusza doskonale dopasowanie wszystkich sygnałów SCSI oprócz uziemienia. Terminatory FPT-27 zapewniają doskonałe dopasowanie wszystkich sygnałów 16-bitowego Wide SCSI oprócz uziemienia.
Magistrale FFVD wymagają zastosowania terminatorów składających się z pasywnej sieci oporników 330 omów / 150 omów / 330 omów —jedynie takie terminatory pasują do kabla lub złączy urządzenia.
Jo samo dotyczy magistrali Low Yoltage Differential. Aby taka magistrala funkcjonowała poprawnie, wymagane jest zastosowanie terminatorów LVD. Dostępne są również terminatory wielofunkcyjne LVD/SE (aktywne). Działają one w magistrali LVD jako terminatory LVD i jako terminatory aktywne w magistrali SE. Trzeba pamiętać, że jeżeli do magistrali przyłączone jest chociaż jedno urządzenie SE, działa ona w trybie SE i nie korzysta z trybu LVD, ograniczając dopuszczalną długość i wydajność układu. Jeżeli zastosowany zostanie choć jeden terminator SE lub urządzenie SE, magistrala przełącza się w tryb SE.
► ► Zajrzyj do podrozdziału „Konfiguracja napędu SCSI", znajdującego się na stronie 684.
Kilka firm produkuje terminatory magistrali SCSI o wysokiej jakości, np. East/West Manufacturing T^i Enterprises Inc. (wcześniej Aeronics) i filia Methode — Data Mate. Obie firmy produkują różne terminatory. Pierwsza z wymienionych firm jest znana z kilku wersji terminatorów FPT specjalnie zalecanych dla konfiguracji wymagających większych długości kabli lub lepszej integralności sygnału. Jedną z najlepszych inwestycji w każdej instalacji SCSI są kable i terminatory wysokiej jakości.
Specjalne terminatory są wymagane również dla SCSI typu LVD i HVD, jeżeli więc korzystasz z tych interfejsów, powinieneś upewnić się, że terminatory, które posiadasz, są odpowiednie.
W przypadku magistral LVD i HVD nie ma większego wyboru między typami terminatorów, ale dla magistrali niesymetrycznej (SE) do wyboru są co najmniej trzy ich typy.
Najlepszą zasadą przy zakupie kabli i terminatorów jest kupowanie najlepszych produktów. Osobiście nie zalecam stosowania terminatorów pasywnych; należy korzystać z aktywnych lub FPT. Jeżeli zależy Ci na maksymalnej niezawodności, wybierz terminatory FPT.
Konfiguracja napędu SCSI
Napędy SCSI nie są zbyt trudne w konfiguracji, choć nieco bardziej skomplikowane niż napędy ATA. Standard SCSI określa sposób, w jaki muszą być konfigurowane napędy. Podczas konfiguracji należy uwzględnić dwa lub trzy elementy:
ustawienie SCSI ID (0-7 lub 0-15),
rezystory terminujące.
Ustawienie SCSI ID jest bardzo proste. Do jednej wąskiej magistrali SCSI można dołączyć do 7 urządzeń, natomiast do szerokiej magistrali do 15 urządzeń i każde z nich musi posiadać jednoznaczny adres SCSI ID. Istnieje odpowiednio 8 i 16 adresów, ale adapter hosta zabiera jeden adres, więc dla urządzeń pozostaje wolne 7 lub 15 adresów. Większość adapterów SCSI ma ustawiony na stałe ID równy 7 lub 15, który jest adresem o najwyższym priorytecie. Pozostałe urządzenia muszą mieć tak przydzielone adresy ID, aby nie kolidowały ze sobą. Niektóre host adaptery potrafią uruchamiać system z dysku o określonym adresie ID. Starsze adaptery hosta firmy Adaptec wymagały, aby dysk startowy miał ID równy 0; nie dało się uruchomić systemu z dysku o dowolnym ID.
Ustawienie ID najczęściej wymaga zmiany zworek w napędzie. Jeżeli napęd jest zainstalowany w osobnej obudowie, może mieć ona umieszczony z tyłu przełącznik adresów. Przełącznik ten upraszcza wybór ID dzięki wciśnięciu odpowiedniego przycisku lub obróceniu kółka aż do pokazania się właściwego numeru ID. Jeżeli nie ma zewnętrznego przełącznika adresów, należy otworzyć obudowę i ustawić ID za pomocą zworek znajdujących się na napędzie.
Do ustawienia ID urządzenia SCSI wykorzystywane są trzy zworki; ustawienia dla poszczególnych adresów urządzeń korzystają z binarnej reprezentacji adresu. Na przykład, jeżeli wyjmiemy wszystkie trzy zworki, otrzymamy liczbę binarną OOOb, co przekłada się na ID równy 0. Binarna reprezentacja OOlb odpowiada ID równemu 1, 01 Ob to ID = 2, 01 lb to ID= 3 itd. (wymieniając te wartości dodaliśmy na koniec małe b, aby zaznaczyć wartość binarną).
Niestety, zworki te mogą być umieszczone zarówno z przodu, jak i z tyłu dysku, w zależności od tego, jak ustalił to producent. Aby nieco ułatwić konfigurację, zamieszczamy w poniższych tabelach różne możliwości ustawienia zworek ID. W tabeli 8.7 pokazane są ustawienia dla napędów, w których najbardziej znaczący bit (MSB) znajduje się po lewej stronie, natomiast w tabeli 8.8, zamieszczone są ustawienia dla napędów, w których zworka bitu MSB znajduje się po prawej stronie.
Tabela 8.7. Ustawienie zworek SCSI ID z najbardziej znaczącym bitem znajdującym się po lewej stronie
SCSI |
ID |
Zworka |
Ustawienie |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
/ |
2 |
0 |
/ |
0 |
3 |
0 |
/ |
/ |
4 |
/ |
0 |
0 |
5 |
/ |
0 |
/ |
6 |
/ |
/ |
0 |
7 / |
/ |
/ |
|
/ = zworka założona; 0 = zworka usunięta |
|
|
|
Tabela 8.8. Ustawienie zworek SCSI ID z najbardziej znaczącym bitem znajdującym się po prawej stronie
|
|||
SCSI |
ID |
Zworka |
Ustawienie |
0 |
0 |
0 |
0 |
1 |
/ |
0 |
0 |
2 |
0 |
/ |
0 |
3 |
/ |
/ |
0 |
4 |
0 |
0 |
/ |
5 |
/ |
0 |
/ |
6 |
0 |
/ |
/ |
7 |
/ |
/ |
/ |
/ - zworka założona; 0 = zworka usunięta
Zakańczanie magistrali SCSI jest bardzo proste. Bez wyjątku należy zakańczać oba końce magistrali. Jeżeli host adapter znajduje się na końcu magistrali, musi mieć uaktywnione terminatory. Jeżeli host adapter znajduje się w środku magistrali i występuje zarówno zewnętrzna, jak i zewnętrzna część magistrali, host adapter musi mieć wyłączony terminator, natomiast terminatory należy zainstalować w urządzeniach na obu końcach. Niestety, większość problemów z instalacjami SCSI wynika z niewłaściwego zakończenia magistrali.
Na rysunku 8.17 pokazano schemat magistrali SCSI z dołączonymi kilkoma urządzeniami. W tym przypadku host adapter znajduje się na jednym końcu magistrali, a napęd CD-ROM na drugim. Aby magistrala działała prawidłowo, urządzenia te muszą mieć zainstalowane terminatory, natomiast w pozostałych urządzeniach terminatorów być nie powinno
Rysunek 8.17.
Połączenia łańcuchowe magistrali SCSI; pierwsze i ostatnie urządzenie musi mieć zainstalowane terminatory
Instalując zewnętrzne urządzenie SCSI, zazwyczaj w jego obudowie znajdziemy się dwa terminatory — wejściowy i wyjściowy — dzięki czemu można łatwo dodać to urządzenie do łańcucha. Jeżeli urządzenie to będzie umieszczone na końcu magistrali, w wyjściowym porcie SCSI trzeba umieścić moduł terminatora, który będzie zapewnia! właściwe dopasowanie tego końca magistrali (patrz rysunek 8.18).
Rysunek 8.18.
Terminator zewnętrznego urządzenia SCSI
Moduły terminatorów dostępne są w różnych konfiguracjach gniazd magistrali, w tym również jako przej-ściówki — niezbędne w przypadku, gdy dostępny jest tylko jeden port. Terminatory w formie przejściówek są również często używane w instalacjach wewnętrznych, jeżeli urządzenia nie mają wbudowanych oporników zakańczających. Wiele dysków twardych korzysta z terminatorów w formie przejściówek w celu zaoszczędzenia miejsca na płycie z elektroniką (patrz rysunek 8.19).
Rysunek 8.19.
Wewnętrzny
terminator
— przejściówka
ze złączem czołowym
Terminator z przejściówka jest również wymagany, jeżeli urządzenie znajduje się na końcu magistrali i dostępne jest tylko jedno złącze SCSI.
Inne opcje konfiguracji napędu SCSI mogą być ustawione za pomocą zworek. Poniżej wymienione są najczęściej spotykane dodatkowe opcje:
polecenie Start on Command (opóźnione uruchomienie),
parzystość SCSI,
zasilanie terminatorów,
negocjacja synchroniczna.
Opcje te opiszemy w dalszej części rozdziału.
Polecenie Start on Command (opóźnione uruchamianie)
.leżeli w systemie zainstalowanych jest kilka dysków, warto je tak skonfigurować, aby nie rozpoczynały razem rozpędzania się po uruchomieniu systemu. Napęd dysków potrzebuje trzykrotnie lub czterokrotnie więcej prądu podczas pierwszych kilku sekund po włączeniu zasilania niż podczas normalnej pracy. Silnik potrzebuje więcej prądu do szybkiego rozpędzenia talerzy. Jeżeli kilka dysków jednocześnie pobiera zwiększoną ilość prądu, zasilacz może zostać przeciążony, co z kolei może powodować zawieszanie się systemu lub okresowe problemy z jego uruchamianiem.
Niemal wszystkie dyski SCSI zapewniają możliwość opóźnienia rozpędzania dysku, więc problem ten można ominąć. Większość adapterów SCSI podczas inicjalizacji magistrali wysyła do kolejnych adresów ID polecenie Start Unit. Ustawienie odpowiedniej zworki na dysku powoduje, że dysk nie rozpoczyna rozpędzania się do czasu otrzymania tego polecenia. Ponieważ adapter hosta wysyła to polecenie do kolejnych numerów ID, od adresu o największym priorytecie (ID 7) do adresu o najniższym priorytecie (ID 0), napęd o najwyższym priorytecie jest uruchamiany jako pierwszy, a następnie napędy o priorytecie coraz niższym. Ponieważ niektóre adaptery hosta nie rozsyłają polecenia Start Unit, niektóre napędy zamiast czekać na polecenie, które nigdy nie zostanie wysłane, mogą po prostu opóźnić rozpędzanie talerzy o stałą liczbę sekund.
Jeżeli napędy zamontowane są w osobnych obudowach i wykorzystują osobne zasilacze, funkcja opóźnionego startu nie musi być stosowana. Przeznaczona jest ona jedynie dla dysków wewnętrznych podłączonych do tego samego zasilacza co pozostała część systemu. W przypadku gdy dysk jest zamontowany wewnątrz komputera, zalecam włączenie funkcji opóźnionego startu nawet wtedy, gdy zainstalowany jest jeden dysk SCSI; zmniejsza to obciążenia zasilacza, ponieważ, gdy dysk rozpoczyna rozpędzanie się, pozostała część systemu jest już uruchomiona. Metoda ta jest szczególnie zalecana dla komputerów przenośnych i innych, w których moc zasilacza jest ograniczona.
Parzystość SCSI
Parzystość SCSI to ograniczona postać kontroli błędów pomagająca w niezawodnym przesyłaniu danych. Niemal wszystkie adaptery hosta obsługują kontrolę parzystości, więc opcja ta powinna być uaktywniona w każdym urządzeniu. Jedynym powodem jej wyłączenia mogą być problemy we współpracy ze starymi adapterami, które mogą nie działać, jeżeli kontrola parzystości jest uaktywniona.
Zasilanie terminatorów
Terminatory na końcach magistrali SCSI wymagają zasilania z co najmniej jednego urządzenia z magistrali. W większości przypadków to adapter hosta doprowadza zasilanie do terminatora, jednak w niektórych przypadkach adapter tego napięcia nie podaje. Dla przykładu, adaptery hosta włączane do portu równoległego najczęściej nie dostarczają napięcia do terminatora. Jeżeli więcej niż jedno urządzenie dostarcza zasilanie, nie zachodzą żadne niekorzystne zjawiska, ponieważ każde źródło jest zabezpieczone za pomocą diody. Dla uproszczenia wielu użytkowników tak konfiguruje urządzenia, aby wszystkie dostarczały napięcie do terminatorów. Jeżeli żadne urządzenie nie zapewni zasilania terminatorowi, magistrala nie będzie prawidłowo zakończona i nie będzie prawidłowo działała.
Negocjacja synchroniczna
Magistrala SCSI może pracować w dwóch trybach: asynchronicznym (domyślnie) i synchronicznym. Magistrala w czasie przesyłu przełącza tryby za pomocą protokołu nazywanego negocjacją synchroniczną. Przed przesłaniem danych przez magistralę SCSI urządzenie wysyłające dane (nazywane inicjatorem) i urządzenie odbierające (nazywane docelowym) negocjują sposób przesyłu. Jeżeli oba urządzenia obsługują przesył synchroniczny, rozpoznają ten fakt w procesie negocjacji i wykorzystują ten szybszy tryb.
Niestety, niektóre starsze urządzenia nie odpowiadają na żądanie przesyłu synchronicznego i mogą zostać zablokowane po rozpoczęciu takiego przesyłu. Dlatego zarówno adapter hosta, jak i urządzenia obsługujące negocjację synchroniczną posiadają zworkę ją wyłączającą, co pozwala na współpracę ze starszymi urządzeniami. Domyślnie wszystkie współczesne urządzenia obsługują negocjację synchroniczną, więc funkcja ta powinna być uaktywniona.
Plug and Play SCSI
Specyfikacja Plug and Play (PnP) SCSI została opublikowana w kwietniu 1994 roku. Mechanizm ten pozwala producentom produkować urządzenia PnP, które są automatycznie konfigurowane przez system operacyjny obsługujący ten mechanizm. Dzięki temu można łatwo przyłączać i konfigurować takie urządzenia zewnętrzne jak dyski twarde, napędy taśm i napędy CD-ROM.
Aby przyłączyć urządzenie SCSI do komputera PC, specyfikacja wymaga zastosowania adaptera hosta zgodnego z PnP SCSI, na przykład PnP ISA lub PCI. Karta rozszerzenia PnP pozwala systemowi operacyjnemu zgodnemu z PnP automatycznie konfigurować sterowniki i przydzielać zasoby systemu dla interfejsu magistrali.
Specyfikacja PnP SCSI zawiera następujące ułatwienia:
konfiguracja z jednym złączem kabla,
automatyczne zakańczanie magistrali SCSI,
automatyczne przydzielanie adresu ID SCAM (ang. SCSI Configured AutoMagically — automagicznie konfigurowane SCSI),
pełna zgodność urządzeń SCSI z istniejącymi systemami SCSI.
Słowo „automagicznie" (ang. automagically) nie jest pomyłką. Jest ono użyte w oficjalnej nazwie specyfikacji, której komitet X3T9.2 nadał numer X3T9.2/93-109r5.
Specyfikacja ta ułatwia zwykłym użytkownikom korzystanie z interfejsu SCSI.
Każde urządzenie SCSI dołączone do magistrali SCSI (inne niż dysk twardy) wymaga do poprawnego działania zewnętrznego sterownika. Tak naprawdę dyski twarde nie są tu wyjątkiem — odpowiedni dla nich sterownik stanowi zwykle część oprogramowania BIOS-u adaptera SCSI. Te zewnętrzne sterowniki są specyficzne nie tylko dla urządzenia, ale również adaptera.
W chwili obecnej stały się popularne dwa rodzaje adapterów hosta, co znacznie ogranicza ten problem. Znając standardowy sterownik adaptera, producenci mogą szybciej tworzyć nowe sterowniki obsługujące urządzenia i komunikujące się ze standardowym sterownikiem. Konstrukcja taka eliminuje zależność od określonego typu adaptera. Te podstawowe lub uniwersalne sterowniki łączą host adapter z systemem operacyjnym.
Najbardziej popularnym sterownikiem uniwersalnym jest Advanced SCSI Programming Interface (ASPI) i większość producentów sprzętu tak tworzy swoje sterowniki, aby mogły komunikować się z ASPI. Litera A w ASPI oznaczała firmę Adaptec, która wprowadziła ten standard, ale inni producenci zakupili również prawo do korzystania z ASPI w swoich produktach. System DOS nie obsługuje bezpośrednio ASPI, ale można załadować odpowiedni sterownik to umożliwiający. Systemy Windows 9x, Me, NT, 2000, XP i OS/2 2.1 i nowsze pozwalają na automatyczną obsługę ASPI dla kilkunastu host adapterów SCSI.
Firmy Futurę Domain (obecnie należąca do firmy Adaptec) oraz NCR utworzyły inny sterownik interfejsu o nazwie Common Access Method (CAM). CAM jest zatwierdzonym przez ANSI protokołem umożliwiającym jednemu sterownikowi obsługę kilku kontrolerów. CAM jest powszechnie stosowany przez systemy operacyjne Linux i Unix przy komunikowaniu się z urządzeniem SCSI korzystającym ze sterowników z udostępnionym kodem źródłowym.
Rozwiązywanie problemów z konfiguracją SCSI
Instalując łańcuch urządzeń w jednej magistrali SCSI, sprawiamy, że system taki szybko się komplikuje. Jeżeli masz problemy w czasie instalacji, sprawdź następujące elementy:
Upewnij się, że korzystasz z najnowszej wersji BIOS-u płyty głównej. Niektóre płyty miały problemy z obsługą złączy PCI.
Sprawdź, czy wszystkie urządzenia są włączone.
Upewnij się, że wszystkie kable SCSI i zasilania są prawidłowo podpięte. Spróbuj rozłączyć i ponownie przyłączyć kable.
Sprawdź, czy host adapter i pozostałe urządzenia w każdej magistrali SCSI mają niepowtarzalne numery ID.
Upewnij się, czy magistrala SCSI jest prawidłowo zakończona. Pamiętaj, że powinny być zainstalowane tylko dwa terminatory na przeciwnych końcach magistrali. Pozostałe terminatory powinny być usunięte bądź zablokowane.
Jeżeli program konfiguracyjny BIOS-u posiada opcję sterowania konfiguracją magistrali PCI, upewnij się, że złącze PCI zawierające adapter PCI ma przydzielone wolne przerwanie. Jeżeli system obsługuje Plug and Play, skorzystaj z programu Windows Device Manager do kontroli i zmiany konfiguracji zasobów.
Upewnij się, że host adapter jest zainstalowany w złączu PCI obsługującym bus mastering. Niektóre starsze magistrale (głównie w przypadku płyt dla procesorów 486) nie obsługują trybu bus mastering we wszystkich gniazdach PCI — poszukaj szczegółowych informacji w dokumentacji płyty głównej lub po prostu przenieś host adapter SCSI do innego gniazda PCI. Problem nie powinien występować w przypadku płyt Pentium i nowszych.
Jeżeli zainstalowany jest dysk twardy SCSI, ale nie daje się uruchomić z niego systemu, może istnieć kilka przyczyn tego problemu. Gdy w komputerze jest zamontowany dysk SCSI oraz inny, w niemal wszystkich przypadkach dysk inny niż SCSI będzie urządzeniem rozruchowym. Jeżeli chcesz uruchamiać system z dysku SCSI, należy tak zmienić kolejność uruchamiania, aby dysk SCSI znajdował się na początku sekwencji. Jeżeli niczego to nie zmieni, należy usunąć dodatkowy dysk z systemu.
Jeżeli system wykorzystuje tylko dyski SCSI i nadal nie można uruchomić z nich systemu:
Upewnij się, że w programie konfiguracyjnym BIOS-u wszystkie dyski ustawione sąjako „niezainstalowane". Oprogramowanie BIOS komputera PC obsługuje jedynie napędy ATA (IDE); wyłączenie wszystkich dysków spowoduje, że BIOS będzie próbował uruchomić system z innego urządzenia, na przykład SCSI.
Upewnij się, że dysk jest podzielony na partycje i istnieje partycja podstawowa. Skorzystaj z programu FDISK wchodzącego w skład systemów DOS lub Windows 9x/Me. W przypadku systemów Windows 2000/XP należy skorzystać z narzędzia Zarządzanie dyskami, dostępnego z poziomu konsoli MMC.
Sprawdź, czy partycja rozruchowa jest ustawiona jako aktywna. Można to sprawdzić i zmienić za pomocą programu FDISK lub narzędzia Zarządzanie dyskami.
Na koniec, jako ostateczne rozwiązanie, utwórz kopię zapasową danych z wszystkich dysków SCSI i wykonaj formatowanie niskopoziomowe za pomocą programu formatującego wbudowanego
w adapter hosta.
Zamieszczamy również kilka wskazówek pomagających w szybkiej i efektywnej konfiguracji systemu SCSI:
Dodawaj po jednym urządzeniu. Zamiast podłączać wiele urządzeń jednocześnie do jednej karty SCSI. a następnie wszystkie je konfigurować, rozpocznij od zainstalowania adaptera hosta i jednego dysku twardego. Następnie dołączaj po jednym urządzeniu, sprawdzając kolejno, czy system działa poprawnie.
Zapewnij sobie dobrą dokumentację. Dodając urządzenie SCSI, należy zapisać jego adres SCSI ID i pozostałe ustawienia zworek i przełączników, takie jak określające parzystość SCSI, zasilanie terminatora oraz opóźnione uruchamianie. W przypadku host adaptera należy zapisać adresy BIOS, przerwania, kanał DMD oraz adresy portów wejścia-wyjścia. Adres portu używany przez adapter jak również pozostałe ustawienia zworek bądź przełączników (na przykład zakańczanie) mogą przydać się w późniejszym czasie. Jeśli do zapisywania informacji na temat konfiguracji systemu używasz szablonu zamieszczonego w rozdziale 4., „Płyty główne i magistrale", w celu jego uzupełnienia należy dodać do niego arkusz z danymi dotyczącymi urządzeń SCSI.
Właściwie zakańczaj magistralę. Każdy koniec magistrali musi być zakończony terminatorami, najlepiej aktywnymi lub typu FP. Jeżeli korzystasz z urządzeń Fast SCSI-2, musisz korzystać
z terminatorów aktywnych, a nie tanich terminatorów pasywnych. Nawet w przypadku standardowych (wolnych) urządzeń SCSI zalecane jest stosowanie terminatorów aktywnych. Jeżeli do magistrali dołączone są jedynie urządzenia zewnętrzne lub tylko wewnętrzne, terminatory muszą być zainstalowane na adapterze hosta i na ostatnim urządzeniu w łańcuchu. Jeżeli dołączone są zarówno urządzenia wewnętrzne, jak i zewnętrzne, trzeba zainstalować terminatory na pierwszym i ostatnim urządzeniu, natomiast host adapter nie powinien mieć zainstalowanych terminatorów (ponieważ znajduje się w środku magistrali).
♦ Korzystaj z wysokiej jakości ekranowanych kabli SCSI. Upewnij się, że złącza kabla pasują do urządzeń. Korzystaj z wysokiej jakości kabli ekranowanych i zwracaj uwagę na ograniczenia długości magistrali SCSI. Korzystaj z kabli przeznaczonych do stosowania w instalacjach SCSI i, jeżeli jest to możliwe, używaj kabli tej samej marki. Kable różnych producentów mogą mieć inną impedancję; czasami powoduje to problemy w przypadku długich magistral lub przy wysokich prędkościach przesyłu.
Stosując się do tych prostych wskazówek, będzie można ograniczyć ilość problemów i budować niezawodne instalacje SCSI.
Porównanie wydajności interfejsów SCSI i ATA — zalety i ograniczenia
Nowoczesne systemy operacyjne są systemami wielozadaniowymi, a urządzenia SCSI (z dodanymi dodatkowymi układami kontrolera), przeciwnie niż ATA, działają niezależnie od siebie. Dlatego dane mogą być jednocześnie odczytywane i zapisywane we wszystkich urządzeniach SCSI jednocześnie. Pomaga to w bardziej płynnej realizacji wielozadaniowości i zwiększa całkowitą przepustowość systemu. Najbardziej zaawansowane systemy operacyjne, takie jak Windows NT, 2000 i XP, umożliwiają również realizację funkcji strippingu dysków. Funkcja ta pozwala na utworzenie pojedynczego dysku logicznego rozciągającego się na dwa lub więcej urządzeń fizycznych. Dane są równo rozkładane na wszystkie urządzenia, co jeszcze bardziej zwiększa całkowitą przepustowość. Zwiększona odporność na awarie i wydajność jest bez trudu osiągana w macierzach dysków SCSI.
Dyski Ultra4 (Ultra320) mają kilka zalet w porównaniu z dyskami ATA. Interfejs Ultra4 SCSI jest o 140% szybszy niż ATA/133, który ma maksymalną prędkość przesyłu 133 MB/s. Interfejs Ultra320 SCSI w pełni obsługuje wielozadaniowość i może znacznie poprawić wydajność systemu w stacjach roboczych i serwerach pracujących pod kontrolą systemu operacyjnego Windows NT, 2000 i XP. Interfejs ATA ogranicza długość kabli do 45 centymetrów, co eliminuje możliwość podłączania urządzeń zewnętrznych, natomiast Ultra4 (Ultra320) SCSI pozwala na tworzenie zewnętrznych połączeń o długości do 12 metrów. Trzeba również pamiętać, że interfejs ATA pozwala na dołączanie 2 urządzeń do jednego kabla, natomiast Ultra320 SCSI pozwala na dołączenie do 15 urządzeń. Na koniec, funkcja kontroli domenowej dostępna w Ultra320 SCSI pozwala na prawidłowe rozwiązywanie problemów z szumami w magistrali, natomiast w przypadku ATA, jeżeli wystąpi problem z połączeniem (co występuje najczęściej w trybie UDMA/100 i 133), dysk po prostu przestanie działać.
Dyski ATA mają dużo mniejszy narzut danych na polecenia przesłania wybranego sektora niż SCSI. Dodatkowo, oprócz narzutu na polecenia komunikacji pomiędzy dyskiem i kontrolerem, które muszą wykonywać zarówno dyski SCSI. jak i ATA, przesył SCSI wymaga: negocjacji magistrali SCSI. wybrania dysku docelowego, żądania danych, zakończenia transmisji na magistrali i, na koniec, konwersji adresu logicznego na wymagany adres CHS (cylinder, głowica, sektor). Daje to dyskowi ATA przewagę w przesyłach sekwencyjnych wykonywanych przez jednozadaniowe systemy operacyjne. W systemach wielozadaniowych, które potrafią skorzystać z dodatkowych funkcji magistrali SCSI, to interfejs SCSI osiąga lepszą wydajność.
Architektura SCSI ma znacznie więcej zalet w porównaniu z ATA i innymi dyskami. Ponieważ każdy dysk SCSI ma wbudowany własny kontroler, może działać niezależnie od procesora systemu, więc komputer może wykonywać równolegle polecenia na pozostałych dyskach zainstalowanych w systemie. Każdy z tych dysków może zapamiętać te polecenia w kolejce i wykonywać je równolegle z innymi dyskami. Dane mogą zostać buforowane w napędzie i przesłane z dużą prędkością po współdzielonej magistrali w dogodnym do tego czasie.
Choć dyski ATA również posiadają własne kontrolery, nie mogą one działać jednocześnie i nie obsługują kolejkowania poleceń. W efekcie tego. dwa kontrolery w systemie z dwoma dyskami ATA działają naprzemiennie.
Interfejs ATA nie obsługuje nakładania i wielozadaniowego wejścia-wyjścia, które pozwala na pobieranie przez urządzenie wielu poleceń i niezależną ich realizację w kolejności innej niż zostały wysłane. Magistrala ATA czeka na zakończenie każdego polecenia przed przesłaniem następnego.
Jak widać, SCSI posiada zalety w porównaniu z ATA, szczególnie gdy pod uwagę brane jest rozszerzanie systemu oraz obsługa systemów wielozadaniowych. Niestety, koszt jego implementacji jest również większy.
Ostatnią zaletą interfejsu SCSI jest możliwość obsługi urządzeń zewnętrznych. Można z łatwością odłączyć zewnętrzny CD-ROM SCSI. napęd taśm, skaner lub nawet dysk twardy i przenieść go do innego systemu. Pozwala to na łatwiejsze przenoszenie urządzeń pomiędzy systemami i może stanowić zaletę w przypadku, gdy urządzenia zewnętrzne mają być współdzielone w kilku komputerach. Dołączanie do systemu nowego zewnętrznego urządzenia SCSI jest dużo łatwiejsze, ponieważ nie trzeba otwierać obudowy komputera.
Oczywiście przeniesienie zewnętrznego urządzenia SCSI z jednego komputera do innego nie jest nawet w przybliżeniu tak łatwe jak w przypadku USB lub FireWire (IEEE 1394), co jest powodem, dla którego te interfejsy (szczególnie USB) łatwo zdobyły rynek. Urządzenia USB i FireWire są zgodne z technologią Plug and Play; można je także podłączać i odłączać w czasie pracy komputera. Ponadto nie jest wymagane określanie identyfikatora urządzenia ani żadna dodatkowa konfiguracja. 8- i 16-bitowe urządzenia SCSI muszą być natomiast podłączane zazwyczaj po wyłączeniu komputera. Poza tym konieczne jest przydzielenie im unikalnego identyfikatora urządzenia. Dla już używanych i nowych urządzeń trzeba ustawić odpowiedni terminator.
Zalecane host adaptery SCSI, kable i terminatory
W przypadku adapterów hosta SCSI najczęściej zalecam produkty firmy Adaptec. Te adaptery działają świetnie i są dostarczane z niezbędnym oprogramowaniem formatującym i sterownikami systemu operacyjnego. Windows 9x i Me, Windows 2000 i XP, a nawet OS/2 mają wbudowaną obsługę adapterów SCSI firmy Adaptec. Możliwość ta jest ważna, ponieważ uwalnia nas to od instalowania dodatkowych sterowników.
Standardowe interfejsy SCSI lub Fast SCSI mogą być obsługiwane przez już przestarzałą magistralę ISA, ale jeżeli masz zamiar zainstalować magistralę Wide SCSI — a szczególnie Ultra, Ultra2 lub Ultral60/320 — powinieneś myśleć jedynie o kontrolerze SCSI wykorzystującym lokalną magistralę PCI. Magistrala ISA pozwala na maksymalne prędkości przesyłu rzędu 8 MB/s, natomiast magistrala Fast-Wide SCSI działa z prędkością do 20 MB/s. Szybsze wersje, takie jak Ultra3 (UltralóO) lub UItra4 (Ultra320) SCSI działają z maksymalną prędkością 320 MB/s! W większości przypadków magistrala lokalna adaptera SCSI będzie magistralą PCI, która jest obsługiwana w większości obecnych systemów PC. Aby uzyskać maksymalną wydajność, powinno się skorzystać z 64-bitowego gniazda magistrali PCI o częstotliwości 66 MHz (jeśli dysponuje się odpowiednim kontrolerem SCSI).
► Zajrzyj do punktu „Magistrala ISA" znajdującego się na stronie 408.
► Zajrzyj do punktu „Magistrala PCI" znajdującego się na stronie 417.
Podobnie jak w przypadku innych nowoczesnych kart PCI, także w przypadku SCSI obsługiwany jest standard Plug and Play. co oznacza, że niemal wszystkie funkcje na karcie mogą być konfigurowane programowo. Nie trzeba już szukać w podręcznikach przerwania, DMA, portu wejścia-wyjścia i innych ustawień zworek — wszystko jest sterowane programowo i zapamiętywane w pamięci Flash na karcie. Przedstawiamy teraz niektóre funkcje dostępne w najnowszych kartach SCSI:
Kompletny program konfiguracyjny wbudowany w pamięć ROM adaptera.
Konfigurowane programowo IRQ, adresy ROM, DMA, adresy portów wejścia-wyjścia, parzystość SCSI, SCSI ID i inne ustawienia.
Automatyczne zakańczanie sterowane programowo (brak konieczności usuwania terminatorów).
Rozszerzona obsługa BIOS-u dla 15 dysków.
Brak konieczności instalowania sterowników dla więcej niż dwóch dysków twardych.
Dostępne sterowanie rozpędzaniem dysków.
Uruchamianie systemu z dowolnego ID SCSI.
Firma Adaptec zapewnia pełną obsługę PnP we wszystkich adapterach SCSI. Adaptery te mogą być konfigurowane automatycznie w każdym komputerze zgodnym z PnP lub ręcznie za pomocą dostarczonego oprogramowania w innych systemach. Adaptery PnP są zalecane, ponieważ mogą być konfigurowane bez otwierania obudowy komputera. Wszystkie funkcje są ustawiane programowo i dlatego nie potrzebne są żadne przełączniki. Większość producentów urządzeń na początek pisze sterowniki dla kart firmy Adaptec, więc w przypadku takiej karty nie ma zwykle żadnych problemów związanych ze zgodnością lub dostępnością sterowników.
Z kabli SCSI polecam wyroby firmy CS Electronics {http://www.scsi-cables.com), która dostarcza, lub może wyprodukować na zamówienie, niemal każdy rodzaj kabla SCSI. Wytwarza ona również szeroką gamę terminatorów, podobnie jak firma East/West Manufacturing Enterprises Inc. (wcześniej Aeronics; http://www.ewme.com), która także jest godna polecenia.
Rozdział 9.
Świat urządzeń 0 zapisie magnetycznym
Zapis magnetyczny
Urządzenia do trwałego i częściowo trwałego przechowywania danych działają na zasadzie zapisu magnetycznego lub optycznego, a w niektórych przypadkach wykorzystywana jest kombinacja obu technik. W przypadku zapisu magnetycznego strumień danych binarnych (logiczne zera i jedynki) jest zapisywany przez odpowiednie magnesowanie małych cząstek metalu wbudowanych w powierzchnię dysku lub taśmy, co powoduje utworzenie pewnego wzoru reprezentującego dane. Ten wzór magnetyczny może zostać później odczytany
1 skonwertowany do postaci strumienia danych identycznego z tym, który zosta! użyty do utworzenia zapisu. Tematem tego rozdziału są podstawy zapisu magnetycznego.
Zasada zapisu magnetycznego jest dla wielu ludzi trudna do zrozumienia, ponieważ pola magnetyczne są niewidoczne dla ludzkiego oka. W rozdziale tym przedstawimy podstawy, koncepcje i techniki wykorzystywane w nowoczesnych urządzeniach zapisu magnetycznego, dzięki czemu Czytelnik będzie mógł zrozumieć procesy przez nie wykorzystywane. Informacje te są przeznaczone dla tych użytkowników, którzy ciekawi są tego, jak działają posiadane przez nich urządzenia; informacje te nie są niezbędne do używania komputera PC. rozwiązywania problemów, konserwacji i aktualizacji. Ponieważ jednak dane zapisywane na dyskach twardych, taśmach, dyskietkach i innych nośnikach zapisu magnetycznego są dużo ważniejsze niż same nośniki, wiedza na temat sposobu przechowywania informacji pozwala na większy komfort używania całego systemu. Wiedza na temat wykorzystywanych technologii może być pomocna w przypadku wystąpienia problemów.
W rozdziale tym opiszemy podstawy zapisu magnetycznego oraz stosowane technologie. Może być on uważany jako wprowadzenie do kilku rozdziałów tej książki:
rozdział 10., „Dyski twarde",
rozdział 11., „Napędy dyskietek",
rozdział 12., „Nośniki wymienne o dużej pojemności",
rozdział 13.. „Pamięci optyczne",
rozdział 14.. „Instalowanie i konfigurowanie napędów dysków".
W rozdziałach tych znajdują się bardziej szczegółowe informacje na temat różnych typów nośników magnetycznych i optycznych, jak również opisy instalacji i konfiguracji napędów.
Historia zapisu magnetycznego
Przed upowszechnieniem się zapisu magnetycznego podstawowym nośnikiem informacji były karty perforowane (wykonane z papieru, zawierające dziurkowane otwory identyfikujące znak lub dane binarne). Nadal zadziwia mnie, że straciłem kontakt z kartami perforowanymi w przeciągu roku; uczelnia, do której zacząłem uczęszczać, wycofała je w czasie moich pierwszych lat studiów, zanim miałem jakiekolwiek zajęcia związane z komputerami. Muszę wierzyć, że było to związane z ich budżetem i brakiem zainteresowania bieżącą technologią (w roku 1979 nie stosowano już zbyt wiele czytników kart perforowanych) niż z moim wiekiem! Co prawda karty perforowane od dawna nie mają zastosowania związanego z komputerami, ale w dalszym ciągu w różnych postaciach można się z nimi spotkać w starszych urządzeniach służących do głosowania.
Historia zapisu magnetycznego rozpoczyna się w czerwcu 1949 roku, gdy grupa naukowców i inżynierów z firmy IBM zaczęła prace nad nowym urządzeniem zapisującym. Urządzenie opracowane przez tę grupę było pierwszym napędem magnetycznym dla komputerów i zrewolucjonizowało cały przemysł komputerowy. 21 maja 1952 roku firma IBM przedstawiła napęd taśm IBM 726 przeznaczony do urządzenia IBM701 Defense Calculator, co rozpoczęło przejście od kalkulatorów z czytnikami kart do elektronicznych komputerów.
Cztery lata później, 3 września 1956 roku, mała grupa inżynierów firmy IBM z San Jose w Kalifornii wprowadziła pierwszy system pamięci dyskowej wchodzącej w skład komputera 305 RAMAC (ang. Random Access Method ofAccounting and Control).
Napęd komputera 305 RAMAC mógł przechowywać 5 milionów znaków (to znaczy tylko 5 MB) danych na 50 dyskach o średnicy 24 cali każdy. W przeciwieństwie do napędów taśm, głowice systemu RAMAC mogły przesuwać się bezpośrednio do dowolnego miejsca na nośniku magnetycznym, bez konieczności odczytywania pozostałych zapisanych danych. Ten swobodny dostęp wywarł głęboki wpływ na zwiększanie się prędkości działania komputerów, umożliwiając coraz szybszy zapis i odczyt danych w porównaniu do napędów taśm.
Od tego czasu technologia zapisu magnetycznego rozwinęła się do tego stopnia, że dziś można bez problemu zapisać ponad 75 GB na dysku 3,5 calowym, który pasuje do małej wnęki w obudowie komputera.
Wkład firmy IBM w rozwój urządzeń zapisu magnetycznego jest ogromny; większość rozwiązań jest wynikiem badań przez nią prowadzonych. W firmie IBM powstały nie tylko napędy taśm i dyski twarde, ale również dyskietki. Ten sam oddział w San Jose, gdzie powstał dysk twardy, wprowadził również w roku 1971 pierwszy napęd dyskietek, który korzystał z dyskietek 8 calowych. Szefem zespołu projektantów by! Alan Shugart. legendarna postać w świecie inżynierów zajmujących się technologią zapisu magnetycznego.
W późniejszych latach firma IBM wprowadziła zaawansowane metody kodowania danych, takie jak Modified Freąuency Modulation (MFM) oraz Run Length Limited (RLL); projekty takich głowic jak cienkowarstwowe, magnetorezystywne (MR) i wykorzystujące tzw. gigantyczny efekt magnetorezystywny (GMR), technologie napędów takie jak Partial Response Maximum Likehood (PRML), zapis bez identyfikatora oraz Self-Monitoring Analysis and Reporting Technology (S.M.A.R.T.). W chwili obecnej spółka Hitachi Global Storage Technologies (założona wspólnie przez firmy IBM i Hitachi) jest niekwestionowanym liderem w tworzeniu i implementacji nowych technologii napędów i zajmuje drugie miejsce pod względem sprzedaży napędów dla komputerów PC (za firmą Seagate Technology).
Wykorzystanie pól magnetycznych do przechowywania danych
Wszystkie urządzenia korzystające z zapisu magnetycznego odczytują i zapisują dane, korzystając z elektromagnetyzmu. Jedna z podstawowych zasad fizyki twierdzi, że w czasie przepływu prądu przez przewodnik generowane jest wokół niego pole magnetyczne (patrz rysunek 9.1). Zwróć uwagę, że elektrony przepływają od elektrody ujemnej do dodatniej, jak pokazano na rysunku, choć tak naprawdę uważa się, że przepływ prądu zachodzi w odwrotnym kierunku.
Rysunek 9.1.
Pole magnetyczne generowane wokół przewodu w czasie przepływu prądu
Elektromagnetyzm został odkryty w 1819 roku przez duńskiego fizyka Hansa Christiana Oersteda, gdy zauważył, że igła kompasu odchyla się od kierunku północnego, kiedy zbliży się do niej przewód z płynącym w nim prądem elektrycznym. Gdy prąd zostaje wyłączony, igła kompasu powraca do kierunku wyznaczanego przez ziemskie pole magnetyczne i znów wskazuje północ.
Pole magnetyczne generowane przez przewód może oddziaływać na materiał magnetyczny znajdujący się w tym polu. Gdy zmieniony zostanie kierunek przepływy prądu elektrycznego, polaryzacja pola magnetycznego zostanie odwrócona. Na przykład, silnik elektryczny korzystający z elektromagnetyzmu wywiera naprzemienne siły pchające i ciągnące na magnesy przytwierdzone do obracającej się osi.
Kolejny efekt elektromagnetyczny został odkryły w roku 1831 przez Michaela Faradaya. Zauważył on, że jeżeli przewodnik porusza się w polu magnetycznym, generowany jest prąd elektryczny. Po zmianie polaryzacji tego pola zmienia się również kierunek przepływu generowanego prądu (patrz rysunek 9.2).
Rysunek 9.2.
Generowanie prądu w czasie przesuwania przewodnika w polu magnetycznym
Dla przykładu, alternator działa poprzez obracanie elektromagnesów umieszczonych na osi obok nieruchomych przewodów, co powoduje ciągle generowanie w nich dużych ilości prądu. Alternatory są powszechnie używane jako generatory prądu w samochodach. Ponieważ elektromagnetyzm działa w obie strony, silnik może działać jako generator i odwrotnie. To właśnie ta dwukierunkowa natura pola elektromagnetycznego sprawia, że możliwe jest zapisywanie informacji na dysku i ich późniejsze odczytywanie. W trakcie zapisywania głowice zmieniają impulsy elektryczne na pole magnetyczne, natomiast w czasie odczytu, głowice przekształcają zmiany pola magnetycznego na impulsy elektryczne.
Głowice zapisujaco-odczytujące w urządzeniu zapisu magnetycznego są kawałkami materiału przewodzącego uformowanego w kształcie litery U, z oboma końcami litery U umieszczonymi bezpośrednio ponad powierzchnią nośnika. Na głowicę w kształcie litery U nawinięta jest cewka lub oplot z przewodu, przez który przepływa prąd elektryczny (patrz rysunek 9.3). Układy sterujące napędu powodują przepuszczenie prądu przez cewkę i wygenerowanie pola magnetycznego w głowicy napędu. Obrócenie kierunku przepływu prądu elektrycznego powoduje również zmianę polaryzacji generowanego pola. Głowice są tego rodzaju elektromagnesami, w których polaryzacja płynącego prądu może być bardzo szybko zmieniana.
Rysunek 9.3.
Magnetyczna głowica odczytująco--zapisujaca
Dysk lub taśma stanowiąca nośnik zapisu składa się z materiału podkładowego (na przykład Mylar w dyskietkach i aluminium lub szkło w dyskach twardych), na które nałożona jest warstwa materiału magnetycznego.
Materiałem tym jest najczęściej tlenek żelaza z dodanymi innymi elementami. Każda pojedyncza cząstka magnetyczna w nośniku posiada własne pole magnetyczne. Gdy nośnik jest pusty, polaryzacja tych pól jest losowa. Ponieważ pola poszczególnych cząstek wskazują w losowych kierunkach, każde małe pole magnetyczne jest znoszone przez inne wskazujące w przeciwnym kierunku; powierzchnia taka nie daje żadnej obserwowalnej polaryzacji pola magnetycznego. Suma wielu losowo zorientowanych pól powoduje, że brak jest wspólnego obserwowalnego pola.
Gdy głowica napędu generuje pole magnetyczne, wypełnia ono szczelinę między wolnymi końcami litery U. Ponieważ połę magnetyczne dużo łatwiej przechodzi przez przewodnik niż przez powietrze, pole zagina się na zewnątrz i wykorzystuje powierzchnię nośnika pod szczeliną, polaryzując cząstki magnetyczne, nad którymi jest przesuwane i układając je zgodnie z kierunkiem pola. Polaryzacja lub kierunek pola — i przez to kierunek lub polaryzacja pola indukowanego w polu magnetycznym —jest zgodna z kierunkiem przepływu prądu elektrycznego przez cewkę. Wraz z rozwojem technologii zapisu magnetycznego odległość między głowicą odczytująco-zapisująca a nośnikiem została bardzo mocno zmniejszona. Pozwala to na zredukowanie szczeliny w głowicy jak również zastosowanie mniejszych domen magnetycznych. Im mniejsze są zapisywane domeny magnetyczne, tym wyższa może być gęstość danych zapisywanych na dysku.
Gdy pole magnetyczne przenika przez nośnik, cząstki w obszarze pod głowicą są ustawiane w kierunku wyznaczanym przez pole emitowane z głowicy. Gdy poszczególne domeny magnetyczne są uporządkowane, przestają się wzajemnie znosić i na tym obszarze nośnika można zaobserwować pole magnetyczne. To lokalne pole magnetyczne jest generowane przez wiele cząstek, które po uporządkowaniu działają w zespole, tworząc wykrywalne łączne pole o wspólnym kierunku.
Pole magnetyczne o określonym kierunku i polaryzacji nazywane jest strumieniem. Gdy powierzchnia nośnika przesuwa się pod głowicą napędu, głowica generuje strumień magnetyczny o określonej polaryzacji ponad wybranym regionem nośnika. Gdy zamieniony zostanie kierunek prądu przepływającego przez cewkę nawiniętą na głowicy, zmienia się polaryzacja pola lub strumienia w szczelinie głowicy. Zmiana kierunku strumienia w głowicy powoduje również odwrócenie polaryzacji cząstek magnetycznych w warstwie nośnika dysku.
Odwrócenie strumienia zmienia polaryzację ułożenia cząstek magnetycznych na powierzchni nośnika zapisu. Głowice napędu wykorzystują odwrócenie strumienia w nośniku do zapisu danych. Dla każdego bitu danych zapisywanych przez napęd, w nośniku tworzony jest wzorzec odwróceń strumienia z dodatniego na ujemny i odwrotnie, nazywany również komórkami bitu lub komórkami przejścia. Komórka bitu jest określonym obszarem nośnika — zależnym od czasu i prędkości przesuwania się nośnika — w którym głowica zmienia strumień magnetyczny. Określony wzorzec lub zmiany strumienia w komórce przejścia są używane do zapisania bitu danych nazwany jest metodą kodowania. Układy logiczne napędu lub kontrolera pobierają dane przeznaczone do zapisania i zamieniąjąje na serię zmian strumienia w odcinku czasu, zgodnie z wzorcem narzuconym przez stosowaną metodę kodowania.
Dwoma najbardziej popularnymi metodami kodowania stosowanymi w nośnikach magnetycznych są metoda MFM (ang. Modified Freąuency Modulation) oraz RLL (ang. Run Length Limited). Wszystkie napędy dyskietek i starsze dyski twarde korzystają ze schematu MFM. Obecnie dyski twarde wykorzystują kilka odmian metody RLL. Metody te zostaną opisane dokładniej w dalszej części tego rozdziału zatytułowanej „Schematy kodowania danych".
W czasie procesu zapisu do cewki nawiniętej na głowicy przykładane jest napięcie. Wraz ze zmianą polaryzacji tego napięcia zmienia się również pole magnetyczne używane do tworzenia zapisu. Zmiany strumienia są zapisywane dokładnie w momencie, gdy zmienia się polaryzacja prądu. Może się wydawać dziwne, że w czasie procesu odczytu głowica nie generuje dokładnie takiego samego sygnału jak użyty do zapisu. Zamiast tego. głowica generuje impulsy napięcia (szpilki) w momencie wykrycia zmiany strumienia. Gdy zmiana jest ze strumienia dodatniego na ujemny, impuls wytwarzany w głowicy jest ujemny. Gdy zmiana jest ze strumienia ujemnego na dodatni, impuls wytwarzany w głowicy jest dodatni. Efekt ten występuje, ponieważ prąd jest generowany w przewodniku jedynie wtedy, gdy przechodzi on przez linie pola magnetycznego pod pewnym kątem. Ponieważ głowice przesuwają się równolegle do pola magnetycznego, tworzonego przez nośnik, w głowicach prąd jest generowany jedynie podczas przechodzenia przez zmianę polaryzacji pola magnetycznego (zmianę strumienia).
W czasie odczytu danych z nośnika głowica staje się detektorem zmian strumienia, emitującym impulsy napięcia w czasie wykrycia zmiany pola magnetycznego. Obszary bez zapisanych zmian nie powodują wygenerowania impulsów. Na rysunku 9.4 pokazane jest oddziaływanie pomiędzy falami zapisu i odczytu oraz zmiany strumienia zapisane na nośniku magnetycznym.
Rysunek 9.4.
Proces zapisu i odczytu magnetycznego
Sygnał zapisujący można postrzegać jako prostokątną falę o poziomach dodatnich i ujemnych. Gdy napięcie jest dodatnie, w głowicy jest generowane pole polaryzujące nośnik magnetyczny w jednym kierunku. Po zmianie napięcia na ujemne, pole magnetyczne wytwarzane w nośniku również zmienia polaryzację. Tam, gdzie przebieg zapisujący zmienia się z wartości dodatniej na ujemną i odwrotnie, strumień magnetyczny również zmienia polaryzację. W czasie odczytu głowica wykrywa te zmiany strumienia i generuje przebieg impulsowy o wartościach dodatnich i ujemnych. Inaczej mówiąc, podczas odczytu sygnał ma wartość 0 V, chyba że głowica wykryje zmianę strumienia magnetycznego i w takim przypadku generuje dodatni lub ujemny impuls napięcia. Wiedząc, jaka częstotliwość zegara jest stosowana w napędzie, układy kontrolera mogą określić, czy impuls (czyli zmiana strumienia) wchodzi w skład określonej komórki przejścia.
Prąd impulsu elektrycznego generowanego w głowicy podczas odczytywania nośnika jest bardzo słaby i zawiera znaczne szumy. Układy elektroniczne w napędzie i kontrolerze wzmacniają ten sygnał i dekodują serię słabych impulsów prądu na dane binarne, które są (teoretycznie) identyczne z oryginalnymi zapisanymi danymi.
Dyski twarde i inne urządzenia zapisu danych odczytują i zapisują dane, wykorzystując podstawowe efekty elektromagnetyczne. Napęd zapisuje dane, przesyłając prąd elektryczny przez elektromagnes (głowicę napędu), generując pole magnetyczne zapamiętywane w nośniku. Napęd odczytuje dane, przesuwając głowicę nad zapisanym nośnikiem. Gdy głowica wykryje zmianę zapisanego pola magnetycznego, generuje słaby prąd elektryczny wskazujący na wystąpienie lub brak zmiany strumienia w oryginalnym sygnale zapisującym.
Rodzaje głowic odczytująco-zapisujących
Wraz z. rozwojem technologii napędów dysków zmieniały się również projekty głowic odczytująco-zapisujących. Pierwsze głowice były prostymi rdzeniami żelaznymi z nawiniętą cewką (elektromagnes). Według dzisiejszych standardów były one olbrzymie i pozwalały na osiąganie bardzo małej gęstości zapisu. W czasie kolejnych lat rozwoju projekty głowic rozwinęły się od pierwszych prostych rdzeni ferrytowych do typów i technologii wykorzystywanych obecnie. Opiszemy teraz różne rodzaje głowic stosowanych w dyskach twardych komputerów PC oraz ich wady i zalety.
Do tej pory w dyskach twardych stosowano pięć głównych typów głowic:
ferrytowe,
cienkowarstwowe (TF),
Metal-In-Gap (MIG),
magnetorezystywne (MR),
magnetorezystywne drugiej generacji (GMR).
Głowice szóstego typu opartego na zapisie prostopadłym znajdują się w fazie eksperymentalnej i ich pojawienia na rynku można oczekiwać w 2004 r. lub później. Głowice tego typu omówiono na końcu niniejszego podrozdziału.
Głowice ferrytowe
Głowica ferrytowa jest pierwszym typem głowicy magnetycznej, wywodzącym się z oryginalnego napędu IBM 30-30 Winchester. Głowice te mają rdzeń z tlenku żelaza, na który nawinięta jest cewka elektromagnetyczna. W napędzie zasilając cewkę wytwarzane jest pole magnetyczne lub pole magnetyczne przesuwane jest w pobliżu cewki. Pozwala to zarówno na zapis, jak i odczyt danych. Głowice ferrytowe są większe i cięższe niż głowice cienkowarstwowe i dlatego wymagają pracy w większej odległości od dysku (aby zapobiec zderzeniom z powierzchnią obracającego się dysku).
Producenci wprowadzili wiele udoskonaleń w oryginalnym projekcie (monolitycznej) głowicy ferrytowej. Jednym z typów głowic ferrytowych jest głowica kompozytowa, w której mały rdzeń ferrytowy osadzony jest za pomocą szkła w obudowie ceramicznej. Projekt taki pozwala na zmniejszenie szczeliny głowicy, co z kolei zapewnia większą gęstość ścieżek. Głowice takie są mniej narażone na przypadkowe pola magnetyczne, co było wadą głowic monolitycznych.
W latach osiemdziesiątych głowice ferrytowe były często stosowane w tanich napędach, na przykład Seagate ST-225. Wraz ze wzrostem wymagań stawianych dyskom twardym, zamiast głowic ferrytowych zaczęły być wykorzystywane konkurencyjne projekty MIG i cienkowarstwowe, które nie są obecnie już stosowane. Głowice ferrytowe nie mogą zapisywać na nośnikach o wysokiej koercji, które są niezbędne do uzyskania dużej gęstości zapisu oraz mają wysoki poziom szumów. Najważniejszą ich zaletą jest to, że jest to najtańszy dostępny typ głowicy.
Głowice Metal-In-Gap
Głowice Metal-In-Gap (MIG) stanowią rozszerzenie technologii kompozytowych głowic ferrytowych. W głowicach MIG do szczeliny głowicy zapisującej dodany jest fragment metalu. Istnieją dwa rodzaje głowic MIG: jednostronne i dwustronne. Jednostronne głowice MIG mają warstwę stopu magnetycznego umieszczoną na końcowym brzegu szczeliny. Dwustronne głowice MIG mają tę warstwę na obu brzegach szczeliny. Stop metalowy jest nanoszony za pomocą procesu napylania próżniowego nazywanego napylaniem katodowym.
Napylony materiał magnetyczny ma dwukrotnie większe możliwości magnetyzacji w porównaniu z samym ferrytem i dzięki temu pozwala na zapisywanie na nośniku cienkowarstwowym o większej koercji wymaganej do osiągnięcia wyższych gęstości. Głowice MIG tworzą ostrzejsze przejścia pola magnetycznego, co pozwala na uzyskanie wyraźniejszych impulsów magnetycznych. Dwustronne głowice MIG oferują większą koercję niż głowice jednostronne.
Z powodu większych możliwości głowice MIG były najczęściej stosowanymi głowicami w dyskach twardych w końcu lat osiemdziesiątych oraz początku lat dziewięćdziesiątych. Nadal są one używane w napędach LS-120 (SupcrDisk).
Głowice cienkowarstwowe
Głowice cienkowarstwowe (TF) są produkowane w ten sam sposób co układy półprzewodnikowe — w procesie fotolitografii. W procesie tym na jednej okrągłej płytce krzemowej produkuje się kilka tysięcy bardzo małych głowic wysokiej jakości.
Głowice TF mają niezmiernie wąskie szczeliny, tworzone przez napylanie twardego materiału aluminiowego. Ponieważ materiał ten całkowicie otacza szczelinę, obszar ten jest dobrze chroniony przed uszkodzeniami podczas kontaktu z obracającym się dyskiem. Rdzeń stanowi kombinację żelaza i niklu, która ma czterokrotnie większe możliwości magnetyczne niż rdzeń ferrytowy.
Głowice TF zapisują ostre przejścia magnetyczne, co pozwala na zapisywanie danych z bardzo dużą gęstością. Ponieważ nie posiadają one konwencjonalnej cewki, głowice TF są mniej podatne na zmiany impedan-eji. Te małe i lekkie głowice mogą unosić się w dużo mniejszej odległości nad nośnikiem niż głowice ferrytowe i MIG: w niektórych układach jest to co najwyżej 0,05 mikrometra. Ponieważ ta niewielka odległość pozwala na odczyt i przesyłanie dużo silniejszych sygnałów z talerzy, stosunek sygnału do szumów jest dużo większy i wzrasta dokładność odczytu. Przy wysokiej gęstości liniowej oraz gęstości ścieżek głowica ferrytowa nie byłaby w stanie odróżnić sygnału od szumu tła. Inną zaletą głowic cienkowarstwowych jest ich mała wielkość, co pozwala na stosowanie mniejszych odległości między talerzami i upakowanie większej ilości talerzy na tej samej wysokości.
W chwili wprowadzenia do sprzedaży głowice TF były relatywnie drogie (w porównaniu do starszych typów). Ulepszenie technologii produkcji i potrzeba uzyskiwania coraz większych gęstości zapisu spowodowały, że głowice te jednak przyjęły się na rynku. Powszechne ich stosowanie spowodowało, że ceny zaczęły być porównywalne z głowicami MIG, a nawet niższe.
Wiele dysków o pojemnościach pomiędzy 100 MB a 2 GB wykorzystuje głowice TF, a szczególnie często stosuje sieje w dyskach o mniejszych rozmiarach. Głowice TF wyparły głowice MIG z pozycji najbardziej popularnego typu głowic magnetycznych, ale w chwili obecnej są one zastępowane przez nowsze głowice magnetorezystywne.
Głowice magnetorezystywne
Najnowszym odkryciem w technologii zapisu magnetycznego — lub dokładniej fazy odczytu zapisu magnetycznego — jest głowica magnetorezystywna (MR), nazywana również anizotropową głowicą magnetorezy-stywną(AMR). W ostatnich latach niemal wszystkie nowoczesne dyski twarde korzystają z głowic MR. Głowice te pozwalają zwiększyć gęstość zapisu czterokrotnie lub jeszcze bardziej w porównaniu z poprzednimi głowicami indukcyjnymi. Pierwszy dysk twardy z głowicami MR został zaprezentowany w roku 1991 przez firmę IBM, był to 3,5 calowy dysk 1 GB.
Wszystkie głowice są detektorami; są one zaprojektowane do wykrywania zmian strumienia magnetycznego w nośniku i po przekształceniu na sygnały elektryczne są interpretowane jako dane. Problemem zapisu magnetycznego jest ciągle zwiększająca się gęstość zapisu, co powoduje umieszczanie coraz większej liczby zmian strumienia magnetycznego na coraz mniejszej przestrzeni. Wraz ze zmniejszaniem wielkości domen magnetycznych spada również moc sygnału przekazywanego przez głowice; odróżnienie prawdziwego sygnału od szumu lub obcych pól staje się coraz trudniejsze. Dlatego potrzebna była bardziej efektywna głowica odczytująca, która skuteczniej wykrywałaby zmiany strumienia magnetycznego na nośniku.
Występuje jeszcze jeden efekt magnetyczny, który obecnie jest bardzo dobrze zbadany i wykorzystywany w nowoczesnych dyskach. Gdy przewód jest przesuwany w polu magnetycznym nie tylko generuje się niewielki prąd. ale również zmienia się rezystancja tego przewodu. Standardowe głowice odczytujące są małym generatorem, czyli wykorzystuje się generowany prąd i zgodnie ze zmianami strumienia magnetycznego generowane są impulsy elektryczne. Nowsze typy głowic, które zostały wprowadzone przez firmę IBM. wykorzystują zmiany rezystancji w przewodach głowicy.
Zamiast generowania przez głowice małych prądów, które muszą być następnie filtrowane, wzmacniane i dekodowane, głowica magnetorezystywna jest wykorzystywana jako rezystor. Układy sterujące przepuszczają przez głowicę prąd i mierzą zmiany napięcia powodowane przez zmiany rezystancji głowicy podczas jej przejścia ponad zmianą strumienia magnetycznego w nośniku. Zastosowanie tego mechanizmu w głowicy pozwoliło uzyskać dużo silniejszy i mniej zanieczyszczony sygnał oraz pozwoliło na zwiększenie gęstości zapisu.
Głowice MR korzystają ze zmian rezystancji przewodnika w przypadku występowania zewnętrznego pola magnetycznego. Zamiast odczytywać napięcie powstające podczas przejścia nad zmianą strumienia pola magnetycznego, jak w standardowej głowicy, głowica MR wykrywa zmiany rezystancji podczas zmian pola magnetycznego. Przez głowicę przepływa niewielki prąd, dzięki któremu można zmierzyć zmiany rezystancji. Dzięki takiemu projektowi sygnał wyjściowy może być ponad trzykrotnie silniejszy niż w przypadku zastosowania głowicy TF. W efekcie głowice MG są głowicami bardzo czułymi i są raczej sensorami niż generatorami.
Głowice MR są droższe i bardziej skomplikowane w produkcji niż inne typy głowic, ponieważ dodane jest do nich kilka dodatkowych elementów:
Do głowicy muszą być doprowadzone dodatkowe przewody doprowadzające prąd odczytujący.
Wymagane jest zastosowanie czterech lub sześciu kroków maskowania.
Ponieważ głowice MR są tak czułe, są bardzo wrażliwe na błądzące pola magnetyczne i muszą być ekranowane.
Ponieważ z. zasady działania głowicy MR wynika, że służy ona tylko do odczytu, budowane są w rzeczywistości układy dwuglowicowe. Układ ten zawiera standardową głowicę TF przeznaczoną do zapisu i głowicę MR do odczytu. Ponieważ w układzie tym znajdują się osobne głowice, mogą być one zoptymalizowane do pełnienia swoich funkcji. Głowice ferrytowe, MG i TF są nazywane głowicami z jedną szczeliną, ponieważ ta sama szczelina jest wykorzystywana do odczytu i zapisu, natomiast głowice MR wykorzystują osobne szczeliny do każdej z operacji.
W przypadku głowic zjedna szczeliną, wielkość szczeliny jest zawsze kompromisem pomiędzy tym, co jest najlepsze dla zapisu i dla odczytu. Podczas odczytu powinna być stosowana cieńsza szczelina, pozwalająca na osiągnięcie większej rozdzielczości; funkcja zapisu wymaga szerszej szczeliny pozwalającej na głębsze wnikanie strumienia magnetycznego w nośnik. W przypadku głowic MR z dwiema szczelinami, obie szczeliny mogły zostać zaprojektowane najlepiej do pełnienia swoich funkcji. Szczelina zapisująca (TF) zapisuje szerszą ścieżkę, niż odczytuje szczelina odczytująca (MR). Dzięki temu, podczas odczytu istnieje mniejsza szansa na odczytywanie sygnału z sąsiednich ścieżek.
Typowa głowica MR zaprojektowana przez firmę IBM pokazana jest na rysunku 9.5. Na rysunku tym znajduje się cały układ głowicy i ślizgacza umieszczonego na końcu ramienia pozycjonera. Układ ten można obejrzeć po otwarciu napędu. Slizgacz jest prostokątnym urządzeniem na końcu trójkątnego ramienia podtrzymującego głowicę. Właściwa głowica to mały fragment na końcu ślizgacza, który jest pokazany w powiększeniu, powiększony jest również sensor odczytujący MR wbudowany w głowicę.
Rysunek 9.5.
Przekrój głowicy magnetorezystywnej
Element odczytujący, czyli sensor magnetorezystywny składa się z warstwy niklowo-ferrytowej (NiFe) oddzielonej przekładką od warstwy magnetycznie miękkiej. W polu magnetycznym warstwa NiFe zmienia swoją rezystancję. Warstwa ekranująca zabezpiecza czujnik przed zakłóceniami ze strony sąsiednich ścieżek i pól błądzących. W wielu konstrukcjach stosowany jest również drugi ekran jako jeden z biegunów elementu zapisującego, a konstrukcja taka jest nazywana łączoną głowicą MR. Element zapisujący nie jest skonstruowany w technologii MR, ale jest zwykłą indukcyjną głowicą cienkowarstwową.
Firma IBM przy produkcji głowic MR stosuje strukturę Soft Adjacent Layer (SAL), w skład której wchodzi warstwa MR z NiFe oraz magnetycznie miękki stop, przedzielone warstwąo wysokiej rezystancji elektrycznej.
W takim układzie po przejściu sensora MR przez pole magnetyczne zachodzi zmiana rezystancji w warstwie NiFe.
Wraz ze zwiększeniem gęstości powierzchniowej produkowane są coraz węższe i cieńsze elementy MR. Najnowsze głowice mają szerokość warstwy pomiędzy złączami zmniejszoną do połowy mikrona.
Głowice magnetorezystywne drugiej generacji (GMR)
W celu osiągnięcia jeszcze większych gęstości zapisu, firma IBM w roku 1997 wprowadziła nowy typ głowic MR. Korzystają one z tzw. gigantycznego efektu magnetorezystywnego (GMR) i są one dużo mniejsze niż standardowe głowice MR. Budowa tych głowic jest bardzo podobna do standardowych głowic MR, ale zamiast jednej warstwy NiFe, zastosowano kilka. W głowicach MR w odpowiedzi na zmiany strumienia magnetycznego, zmienia się rezystancja pojedynczej warstwy NiFe. W głowicach GMR funkcję tą wykonują dwie warstwy (rozdzielone cienką miedzianą warstwą łączącą).
Efekt GMR został odkryty w roku 1988, gdy w silnym polu magnetycznym (1000-krotnie silniejszym niż używane w dyskach twardych) umieszczono kryształy. Naukowcy — Peter Gruenberg z Julich w Niemczech i Albert Fert z Paryża — odkryli, że w materiałach składających się z bardzo cienkich warstw różnych elementów metalowych zachodzą duże zmiany rezystancji. Kluczową strukturą w materiałach GMR jest warstwa rozdzielająca z materiału niemagnetycznego znajdująca się pomiędzy warstwami metali magnetycznych. Jedna z warstw magnetycznych jest nieruchoma, co oznacza, że ma ona wymuszoną orientację magnetyczną. Druga warstwa magnetyczna jest swobodna, czyli może zmieniać orientację magnetyczną. Materiały magnetyczne mają tendencje do ustawienia się w tym samym kierunku. Jeżeli warstwa rozdzielająca jest wystarczająco cienka, warstwa swobodna przyjmuje tę samą orientację, co warstwa nieruchoma. Odkryto, że ułożenie magnetyczne swobodnej warstwy magnetycznej może się okresowo zmieniać z ułożenia takiego samego jak warstwa nieruchoma na przeciwne. Całkowita rezystancja układu jest dosyć niska, gdy warstwy mają to samo ułożenie magnetyczne, a w przypadku przeciwnego ułożenia pól magnetycznych rezystancja jest wysoka.
Na rysunku 9.6 pokazano element odczytujący GMR.
Rysunek 9.6.
Przekrój głowicy
Gdy głowica GMR znajdzie się w słabym polu magnetycznym, na przykład pochodzącym z bitu zapisanego na dysku twardym, orientacja magnetyczna swobodnej warstwy magnetycznej zmienia się zgodnie z tym polem i generuje znaczną zmianę rezystancji głowicy, spowodowaną przez efekt GMR. Ponieważ fizyczna natura zmiany rezystancji jest powodowana przez względny ruch wirowy elektronów w różnych warstwach, głowice GMR są nazywane również głowicami typu spin-valve.
Pierwszym sprzedawanym dyskiem z głowicami GMR firmy IBM był 3,5 calowy napęd 16,8 GB wprowadzony w grudniu 1997 roku. Od tego momentu głowice GMR stały się standardem w napędach o pojemności ponad 20 GB. Najnowsze napędy GMR osiągają gęstość danych przekraczającą 20 GB na talerz, co umożliwia produkowanie napędów 100 GB o standardowej wielkości 3,5 cala szerokości i 1 cal wysokości.
Zapis prostopadły
Prawie wszystkie dyski twarde i innego typu nośniki magnetyczne przy zapisie danych korzystają z metody zapisu wzdłużnego, w przypadku którego bity są umieszczane poziomo w stosunku do powierzchni nośnika. Zapis prostopadły, w którym sygnały magnetyczne są umieszczane pionowo do powierzchni nośnika, ma potencjał umożliwiający uzyskanie wyższej gęstości danych. Wynika to stąd, że bity rozmieszczone w pionie zajmują mniej miejsca od tych zapisanych za pomocą zapisu wzdłużnego (rysunek 9.7). W 1976 r. profesor Shun-ich Iwasaki jako pierwszy zaproponował zastosowanie takiej metody zapisu. Jednak do niedawna jedynym ważniejszym produktem korzystającym z zapisu prostopadłego był napęd dyskietek o pojemności 2,88 MB, zaprezentowany przez firmę Toshiba w 1989 r. i po raz pierwszy zastosowany w 1991 r. w komputerach IBM PS/2. Napęd ten dość szybko wyszedł z użycia. Aktualnie więksi producenci napędów, tacy jak firmy Seagate i Maxtor, eksperymentują z zapisem prostopadłym mającym umożliwić osiągnięcie gęstości sygnału przewyższającej nawet osiągi nośnika AFC (zawierającego warstwę rutenu, nazwanego „czarodziejskim pyłem"). Więcej informacji na temat nośnika AFC zawarto w punkcie „Zwiększanie gęstości powierzchniowej za pomocą »czarodziejskiego pyłu«", znajdującym się w dalszej części rozdziału.
Rysunek 9.7. Porównanie zapisu wzdłużnego (po lewej stronie) z zapisem prostopadłym (po prawej stronie)
W kwietniu 2002 r. firma Read-Rite Corporation, będąca głównym producentem głowic odczytująco-zapi-sujących. uzyskała w prototypie napędu zawierającego nośnik dostarczony przez firmę MMC Technology (zależną od firmy Maxtor) gęstość powierzchniową wynoszącą 130 Gb/cal2. W listopadzie 2002 r. firma Seagate Technology ogłosiła, że w prototypie napędu opartego również na nośniku firmy MMC Technology udało jej się uzyskać gęstość powierzchniową przekraczającą 100 Gb/cal2. W dwóch niezależnych analizach opublikowanych w 2000 r. stwierdzono, że w przyszłości zapis prostopadły umożliwi osiągnięcie gęstości zawierającej się w przedziale od 500 do 1000 Gb (.jeden terabit)/cal2.
W przeciwieństwie do głowic GMR i nośnika AFC (omówionego w dalszej części rozdziału), które w stosunkowo prosty sposób można zastosować w istniejących technologiach dysków, zapis prostopadły wymaga zaprojektowania zupełnie nowej głowicy odczytująco-zapisującej. Ze względu na koszt takiej operacji i obecną wystarczalność technologii GMR i AFC należy oczekiwać, że dyski wykorzystujące zapis prostopadły nie pojawią się na rynku wcześniej niż w 2004 r. lub później.
Ślizgacze głowic
Nazwa ślizgacz odnosi się do elementu zawierającego w sobie głowicę napędu. Ślizgacz unosi się nad lub ślizga po nośniku, utrzymując głowicę w czasie odczytu i zapisu w odpowiedniej od niego odległości. Większość ślizgaczy ma kształt trimaranu, z dwoma zewnętrznymi gondolami unoszącymi się nad powierzchnią dysku i centralnym „kadłubem" zawierającym głowice i szczeliny odczytująco-zapisujące. Na rysunku 9.8 pokazany jest typowy miniślizgacz. Zwróć uwagę, że właściwa głowica ze szczeliną odczytująco-zapisująca znajduje się na samym końcu ślizgacza.
Rysunek 9.8.
Spód typowego miniślizgacza głowic
Trend do zmniejszania napędów powoduje, że ślizgacze również muszą być coraz mniejsze. Typowy ślizgacz napędu Winchester mini miał rozmiary 4 mm x 3,2 mm x 0,86 mm. Większość producentów głowic korzysta odtąd z mniejszych mikroślizgaczy, nanoślizgaczy, pikoślizgaczy lub femtoślizgaczy. Stosowane obecnie femtoślizgacze są wyjątkowo małe, mniej więcej wielkości kulki w końcówce długopisu. Pikoślizgacze i femto-ślizgacze są produkowane z wykorzystaniem elastycznego kabla połączeniowego (FIC) oraz technologii układ na ceramice (COC) pozwalającej na całkowitą automatyzację produkcji.
W tabeli 9.1 pokazano charakterystyki różnego typu ślizgaczy stosowanych w napędach dysków twardych.
Tabela 9.1. Typy ślizgaczy stosowanych w napadach dysków twardych
Typ ślizgacza |
Rok wprowadzenia |
Względna wielkość |
Długość (mm) |
Szerokość (mm) |
Wysokość (mm) |
Masa (mg) |
Mini |
1980 |
100% |
4,00 |
3,20 |
0,86 |
55,0 |
Mikro |
1986 |
70% |
2,80 |
2,24 |
0,60 |
16,2 |
Nano (nadciśnienie) |
1991 |
62% |
2,50 |
1,70 |
0,43 |
7,8 |
Nano (podciśnienie) |
1994 |
50% |
2,00 |
1,60 |
0,43 |
5,9 |
Piko |
1997 |
30% |
1,25 |
1,00 |
0,30 |
1,6 |
Femto |
2003 |
20% |
0,85 |
0,70 |
0,23 |
0,6 |
Mniejsze ślizgacze zmniejszają masę zawieszoną na ramieniu pozycjonera głowicy, co pozwala na większe przyspieszenia i hamowania. Dzięki temu osiąga się krótsze czasy dostępu. Mniejsze ślizgacze wymagają również obszaru o mniejszej powierzchni, dzięki czemu głowica może znaleźć się bliżej zewnętrznych i wewnętrznych ścieżek talerza. Dzięki temu zwiększa się użyteczna powierzchnia dysku. Dodatkowo, mniejsza powierzchnia styku ślizgacza z nośnikiem zmniejsza zużycie powierzchni talerzy występujące podczas normalnej procedury rozpędzania i hamowania. Na rysunku 9.9 pokazano powiększenie femtoślizgacza zamontowanego w zespole zawieszenia głowicy, znajdującego się na końcu jej ramienia.
Rysunek 9.9.
Powiększony widok zespołu zawieszenia głowicy zawierającego femtoślizgacz (zdjęcie wykorzystane za zgodąjirmy Hitachi Global Storage Technologies)
Najnowsze ślizgacze mają specjalnie zmodyfikowaną powierzchnię, pozwalającą na zachowanie jednakowej odległości unoszenia nad nośnikiem niezależnie od tego, czy ślizgacz znajduje się nad zewnętrznym lub wewnętrznym cylindrem. Standardowe ślizgacze zwiększają i zmniejszają odległość od talerza w zależności od prędkości powierzchni dysku pod ślizgaczem. Nad zewnętrznymi cylindrami prędkość i wysokość unoszenia jest większa. Takie zachowanie jest niepożądane w nowych dyskach stosujących zapis strefowy, w których gęstość bitów jest stała dla wszystkich cylindrów. Gdy gęstość zapisu jest stała dla całego dysku, to aby osiągnąć maksymalną wydajność, wysokość unoszenia głowicy powinna być również stała. Specjalnie ukształtowana powierzchnia i odpowiednia technika produkcji pozwala na unoszenie się ślizgacza na stałej wysokości, co jest idealne dla napędów z zapisem strefowym. Więcej informacji na temat zapisu strefowego znajduje się w podrozdziale „Formatowanie dysku" w rozdziale 10.
Na rysunku 9.10 pokazano projekt powietrznej powierzchni nośnej typowego femtoślizgacza.
Rysunek 9.10.
Projekt powietrznej powierzchni nośnej femtoślizgacza
Femtoślizgacz zawiera trzy różne obszary o złożonych kształtach, które pozwalają na osiągnięcie jednakowej zmiany oddalenia głowicy od powierzchni dysku na całym jego obszarze, a także minimalnego spadku oddalenia w przypadku pracy dysku na dużej wysokości (przy niskim ciśnieniu). Obszar płytkiego wytrawienia tworzy stopniowany wlot powietrza umożliwiający uzyskanie nadciśnienia pod powietrzną powierzchnią nośną, która oddala ślizgacz od talerza dysku. Z kolei obszar głębokiego wytrawienia tworzy przestrzeń podciśnienia, które w tym samym czasie przybliża ślizgacz do powierzchni dysku. Połączenie nadciśnienia i podciśnienia ma na celu zrównoważenie siły, z jaką ramię zawieszenia zbliża ślizgacz do powierzchni dysku, i jednocześnie utrzymanie go w żądanej odległości od dysku. Równoważenie podciśnienia i nadciśnienia stabilizuje i redukuje zmiany odległości głowicy, z jakimi często można się spotkać w ślizgaczach starszego typu. Pierwszym napędem wykorzystującym femtoślizgacz był 2,5-calowy dysk twardy Hitachi 7K.60, wprowadzony do sprzedaży w maju 2003 r.
Schematy kodowania danych
Zapis magnetyczny jest zjawiskiem czysto analogowym. Jednak komputery PC przechowują dane w postaci cyfrowej — czyli za pomocą zer i jedynek. Gdy napęd wysyła dane cyfrowe do głowicy zapisującej, tworzy ona w nośniku domeny magnetyczne o określonej polaryzacji w zależności od dodatniego lub ujemnego napięcia przyłożonego do głowicy. Zmiany strumienia magnetycznego tworzą granice pomiędzy obszarami dodatniej i ujemnej polaryzacji, które kontroler napędu wykorzystuje do kodowania cyfrowych danych na nośniku analogowym. W czasie operacji odczytu każda wykryta przez napęd zmiana strumienia powoduje wygenerowanie dodatniego lub ujemnego impulsu, wykorzystywanego do rekonstrukcji oryginalnych danych binarnych.
Aby zoptymalizować proces zapisywania zmian strumienia, napęd przesyła surowy strumień binarnych danych wejściowych przez urządzenie nazywane koderem-dekoderem (ang. endec), który konwertuje surowe dane binarne na tak zaprojektowaną falę. aby optymalnie umieścić zmiany strumienia (impulsy) na nośniku. W czasie operacji odczytu dekoder odwraca ten proces i dekoduje impulsy na postać oryginalnych danych binarnych. W czasie wielu lat rozwoju technologii zaprojektowano kilka schematów kodowania; niektóre z tych schematów są lepsze, bardziej efektywne od innych, o czym przekonamy się w dalszej części tego rozdziału.
Inne opisy kodowania danych mogą być znaczne prostsze, ale pomijają one jeden fakt, który jest bardzo mocno związany z niezawodnością dysków twardych — taktowanie. Projektanci i inżynierowie stale dążą do zapisania większej liczby bitów informacji do ograniczonej liczby zmian strumienia magnetycznego na cal. Dążą oni do projektu, w którym bity danych są dekodowane nie tylko na podstawie wystąpienia lub braku zmiany strumienia, ale również w zależności od czasu między nimi. Im dokładniej mogą być mierzone odległości między zmianami, tym więcej danych można zakodować (a następnie zdekodować).
W każdej postaci sygnalizacji binarnej bardzo ważne jest wykorzystanie taktowania. Podczas interpretacji kształtu fali niezmiernie ważne jest taktowanie każdej zmiany napięcia. Taktowanie definiuje kolejne komórki bitów lub przejścia — czyli okna czasowe, w których napęd zapisuje bądź odczytuje przejście. Jeżeli nie będzie używane taktowanie, kolejne zmiany napięcia mogą być rozpoznawane w niewłaściwym okresie czasu jako należące do innej komórki, co może powodować błędy konwersji lub kodowania, powodując opuszczenie, dodanie lub błędną interpretacje bitów. Aby zapewnić precyzyjne taktowanie, urządzenie transmitujące i odbierające muszą być dokładne zsynchronizowane. Dla przykładu, jeżeli zapis zera jest realizowany przez brak przejścia na dysku przez podany okres czasu lub komórkę, wyobraźmy sobie zapisanie dziesięciu bitów zerowych po kolei — otrzymamy długi okres czasu równy dziesięciu odcinkom czasu lub komórek, bez przejścia.
Co stałoby się, gdyby zegar w dekoderze w czasie odczytu danych różnił się nieco w stosunku do zapisanych danych? Jeżeli zegar byłby szybszy, dekoder może interpretować długą serię 10 komórek jako 11. Jeżeli zegar byłby wolniejszy, może zinterpretować ją tylko jako 9 komórek. W obu przypadkach spowoduje to błąd odczytu, czyli odczytane dane są inne niż dane zapisane. Aby zapobiec błędom taktowania, niezbędna jest doskonała synchronizacja pomiędzy procesem zapisu i odczytu. Synchronizacja ta jest często realizowana przez dodanie do transmisji pomiędzy urządzeniami osobnego sygnału taktującego, zwanego sygnałem zegarowym. Sygnały danych i zegarowy mogą być również połączone i przesyłane w postaci jednego sygnału. Większość schematów kodowania danych na nośnikach magnetycznych korzysta z łączenia sygnału danych z sygnałem zegarowym.
Dodanie sygnału zegarowego zapewnia, że urządzenie komunikacyjne może dokładnie interpretować poszczególne komórki bitów. Każda komórka bitu jest połączona z dwiema innymi komórkami zawierającymi zmiany sygnału zegarowego. Wysyłając dane zegarowe razem z danymi, zegar pozostaje zsynchronizowany, nawet jeżeli na nośniku zapisywana jest długa sekwencja identycznych bitów o wartości 0. Niestety, komórki przejścia wykorzystane jedynie do taktowania zajmują miejsce na nośniku, które mogłoby być użyte do zapisu danych.
Ponieważ ilość zmian strumienia, jaką napęd może zapisać na określonej powierzchni nośnika, jest ograniczona przez fizyczne własności, gęstość nośnika i technologię wykonania głowicy, projektanci napędów stosują różne sposoby kodowania danych z wykorzystaniem minimalnej ilości zmian strumienia (biorąc pod uwagę fakt, że niektóre zmiany strumienia są wymagane tylko dla taktowania). Kodowanie sygnału pozwala na maksymalne wykorzystanie możliwości dostępnej technologii dyskowej.
Chociaż w przeszłości wypróbowane były różne schematy kodowania, jedynie kilka z nich przetrwało do dzisiaj. Najbardziej popularne były trzy podstawowe:
modulacja częstotliwości (FM),
zmodyfikowana modulacja częstotliwości (MFM),
metoda Run Length Limited (RLL).
Omówimy teraz sposoby działania tych metod kodowania, kiedy były wykorzystywane oraz ich wady i zalety. Pomoże to zrozumieć schematy z rysunku 9.9 (w dalszej części rozdziału), ponieważ na rysunku tym przedstawiony jest sposób zapisu znaku Xprzez różne schematy kodowania.
Kodowanie FM
Jedną z najwcześniej stosowanych technik kodowania danych na nośnikach magnetycznych jest modulacja częstotliwości. J"en schemat kodowania — czasami nazywanym kodowaniem pojedynczej gęstości — był wykorzystywany w najstarszych napędach dyskietek stosowanych w komputerach PC. Na przykład, przenośny komputer Osborne wykorzystywał napędy dyskietek pojedynczej gęstości, które pozwalały na zapisanie około 80 kB danych na jednym dysku. Ten schemat kodowania był popularny do końca lat siedemdziesiątych i w chwili obecnej nie jest używany.
Kodowanie MFM
Kodowanie MFM było zaprojektowane w celu zmniejszenia liczby zmian strumienia wykorzystywanych w oryginalnym schemacie FM, co pozwoliłoby upakować więcej danych na dysku. Ten schemat kodowania minimalizuje ilość taktów zegarowych, pozostawiając tym samym więcej miejsca na dane. W metodzie tej takty zegarowe zapisywane są jedynie wtedy, gdy zapisany bit 0 jest poprzedzony innym bitem 0: w innych przypadkach takt zegarowy nie jest potrzebny. Ponieważ MFM zmniejsza wykorzystanie taktów zegarowych, pozwala dwukrotnie zwiększyć częstotliwość zegara wykorzystywanego w kodowaniu FM, umożliwiając zapisanie dwukrotnie większej liczby danych przy takiej samej liczbie zmian strumienia.
Ponieważ kodowanie MFM pozwala zapisać dwukrotnie więcej bitów z wykorzystaniem tej samej liczby zmian strumienia co w przypadku kodowania FM, prędkość zegara jest dwukrotnie zwiększona i napęd wykrywa tę samą liczbę zmian strumienia. Oznacza to, że napęd korzystający z kodowania MFM zapisuje i odczytuje z dwukrotnie większą prędkością niż w przypadku kodowania FM, pomimo że napęd wykrywa zmiany strumienia z taką samą częstotliwością co w kodowaniu FM.
Ponieważ kodowanie MFM jest dwukrotnie bardziej efektywne niż FM, jest ono również nazywane zapisem o podwójnej gęstości. Kodowanie MFM jest wykorzystywane w niemal wszystkich obecnie stosowanych napędach dyskietek dla komputerów PC i przez wiele lat było stosowane w dyskach twardych. W chwili obecnej niemal wszystkie dyski twarde korzystają z odmian kodowania RLL, które zapewniają jeszcze większą efektywność.
Tabela 9..2. Kodowanie MFM danych na zmiany strumienia
W tabeli 9.2 pokazane jest kodowanie bitów danych na zmiany strumienia w kodowaniu MFM.
Kodowanie RLL
W chwili obecnej najbardziej popularnym schematem kodowania dla dysków twardych jest metoda Run Length Limited, która pozwala na
upakowanie dwukrotnie więcej informacji niż metoda MFM i trzykrotnie więcej niż metoda FM. W kodowaniu RLL napęd łączy grupy bitów w jednostki, którym odpowiada specyficzny wzorzec zmian strumienia. Łącząc sygnał zegarowy i dane w takie wzorce, częstotliwość zegara może być jeszcze bardziej zwiększona, przy utrzymaniu tej samej odległości pomiędzy zmianami strumienia w nośniku magnetycznym.
Kodowanie RLL zostało wymyślone w firmie IBM i po raz pierwszy zostało zastosowane w dyskach dużych komputerów. W końcu lat osiemdziesiątych w dyskach przeznaczonych dla komputerów PC zaczęto wykorzystywać kodowanie RLL w celu zwiększenia pojemności. Obecnie niemal wszystkie napędy na rynku korzystają z jednej z wersji kodowania RLL.
Zamiast kodowania pojedynczych bitów, RLL koduje całe grupy bitów. Nazwa Run Length Limited pochodzi od dwóch podstawowych cech tych kodów, którymi są minimalna (Run Length) oraz maksymalna (Limited) liczba komórek przejścia pomiędzy dwiema zmianami strumienia. Istnieje kilka wersji tego schematu z różnymi wartościami parametru długości i ograniczenia, ale jedynie dwa zdobyły popularność: RLL 2,7 oraz RLL 1,7.
Można również uznać kodowanie FM oraz MFM za odmianę kodowania RLL. Kodowanie FM może być nazwane RLL 0,1. ponieważ dwie kolejne zmiany strumienia może oddzielać od zera do jednej komórki przejścia. Kodowanie MFM może być nazywane RLL 1,3, ponieważ dwie kolejne zmiany strumienia może oddzielać od jednej do trzech komórek przejścia (pomimo że te metody kodowania mogą być wyrażone jako odmiany RLL, nie jest to często spotykana praktyka).
Kodowanie RLL 2,7 było na początku najbardziej popularną odmianą RLL, ponieważ pozwala ono na osiągnięcie wysokiego współczynnika gęstości z wykrywaniem okna przejścia o relatywnie tej samej wielkości co w kodowaniu MFM. Metoda ta zapewnia wysoką gęstość zapisu i dosyć dużą niezawodność. Jednak w napędach o dużej pojemności RLL 2,7 nie zapewnia odpowiedniej niezawodności. Większość obecnych napędów o dużej pojemności korzysta z kodowania RLL 1,7, które pozwala na zapis z gęstością 1,27 razy większą od kodowania MFM i posiada większe okno wykrywania przejścia. Dzięki wykorzystaniu większego okna taktowania, w którym może być wykryta zmiana strumienia, kodowanie RLL 1,7 jest bardziej niezawodne, co jest bardzo ważne, gdy nośniki i technologia produkcji głowic zbliżają się do kresu swoich możliwości.
Inną, rzadko używaną odmianą kodowania RLL jest RLL 3,9 — czasami nazywane Advanced RLL (ARLL) — które pozwala na osiągnięcie jeszcze większego współczynnika gęstości niż RLL 2,7. Niestety, niezawodność kodowania przy zastosowaniu tej metody znacznie spada; metoda ta była stosowana w kilku starszych kontrolerach i obecnie nie jest używana.
Zrozumienie zasady działania RLL jest trudne bez przytoczenia przykładu. W przypadku wybranej metody, na przykład RLL 2,7 lub 1,7, można utworzyć wiele tabel kodowania strumienia, demonstrujących, w jaki sposób poszczególne grupy bitów mogą być kodowane na zmiany strumienia.
W przypadku tabeli konwersji zamieszczonej w tabeli 9.3 określone grupy 2, 3 i 4 bitów są zamieniane na ciągi zmian strumienia o długości odpowiednio 4, 6 i 8 komórek przejścia. Wybrane przejścia dla określonych grup bitów są zaprojektowane w taki sposób, aby kolejne zmiany strumienia nie występowały zbyt często ani zbyt rzadko.
Często wystarczy odgiąć niepotrzebny pin 20, bez konieczności jego wyłamywania — przyp. tłum.