HDD

Od ST-506, przez SCSI aż do SATA II

Historia powszechnie dostępnych dysków twardych zaczyna sie w okolicach 1979 roku. Wtedy to ówczesny Shugart Associates a dzisiejszy Seagate Technologies opracował ST-506 pierwszy dysk twardy przeznaczony do komputera osobistego. Urządzenie miało pojemność 5MB, talerze o rozmiarach 5.25'' oraz wysokość określaną mianem full-height, zajmowało więc dwie zatoki na urządzenia 5.25''.
Jak na dzisiejsze standardy ówczesny twardy dysk był bardzo wolny, prędkość obrotowa na poziomie 3600 rpm, czas dostępu wynoszący 85ms oraz prędkość przesyłania danych na poziomie 170kB/s czyniły go nieco tylko szybszym od stacji dyskietek.

Ze względu na duża awaryjność ST-506 na rynku bardzo szybko pojawił sie jego następca. W 1980r Seagate przedstawił ST-416. Główną różnicą miedzy nim a poprzednikiem była dwa razy większa pojemność wynosząca aż 10MB. Niestety ze względu na skomplikowaną dwu-talerzową konstrukcję miał kilkakrotnie wyższą cenę, tak więc również i ten model nie specjalnie przyjął się na rynku pomimo, że IBM postanowił zastosować go do swojego komputera PC.

Oba dyski jako technologię zapisu wykorzystywały MFM (Modified Frequency Modulation) do dziś wykorzystywany w popularnych stacjach dyskietek 3.5''.

W 1981r Seagate opracował kolejny model ST-225, rozmiar i ilość talerzy pozostała taka sama, ale dopracowanie konstrukcji mechanicznej spowodowało spadek wysokości (oraz ceny) dysku o połowę. Zmienił się także logiczny format zapisu na dużo bardziej efektywny RLL, co zaowocowało podwojeniem pojemności do 20MB.

ST-225 był tym czego oczekiwał rynek i w chwili obecnej jest uznawany za największy sukces rynkowy firmy Seagate. Co ciekawe, wymieniając stary kontroler MFM na nowy RLL można było teoretycznie podnieść pojemność niemal każdego dysku twardego o około 50%. Wymagało to niestety bardzo precyzyjnego mechanizmu prowadzącego głowice więc praktyka wyglądała nieco inaczej. Niemniej w dużej ilości przypadków taka operacja kończyła się sukcesem. MFM i RLL używały elektrycznie zgodnych ze sobą złącz dlaczego były dość często mylone.
Standard ten nazwano od pierwszych wykorzystujących go dysków ST-506/ST-416 i przez kilka kolejnych lat był wykorzystywany jako jedyny interfejs dysków twardych dla tanich komputerów osobistych.

Równolegle z powstaniem pierwszego dysku dla komputerów osobistych, od początku lat 80-tych w zakładach Shughart Associates pracowano nad inną bardzo zaawansowaną magistralą równoległą o roboczej nazwie Shughart Associates System Interface, SASI. Specyfikacje ukończono w 1982 roku po czym ją upubliczniono. Ze względu na jej techniczne zaawansowanie bardzo szybko została zaadoptowana jako magistrala dla stacji roboczych i serwerów przez wielu producentów.

Niecałe dwa lata po powstaniu ST-506 Seagate miał gotową magistralę o ośmiokrotnie wyższej wydajności, oraz znacznie większych możliwościach rozbudowy. Zasadniczą różnicą miedzy SASI a ST-506 była organizacja magistrali. W ST-506 podłączane urządzenia były stosunkowo "głupie" bez pośrednictwa kontrolera nie potrafiły same wykonać żadnej operacji I/O. Dzięki temu można było prosto zwiększyć pojemność dysków poprzez wymianę kontrolera na nowocześniejszy.

Takie rozwiązanie miało niestety swoje wady. Po pierwsze kontrolery były bardzo skomplikowane a zatem podatne na awarie i dość drogie. Po drugie komunikacja z dyskiem odbywała się poprzez dwie taśmy: 34 żyłową taśmę sygnałową oraz 20 żyłową taśmę danych, które musiały być stosunkowo krótkie aby nie następowało przekłamywanie przesyłanych danych.
Po trzecie elektroniczna komplikacja kontrolera miała jeszcze jeden niepożądany efekt uboczny. Jedna karta potrafiła obsłużyć maksymalnie dwa dyski twarde. A powód był prozaiczny - po prostu fizycznie nie mieszczono się z elementami na płytce.

Problem ten rozwiązano dopiero kilka lat później w momencie wprowadzenia specjalizowanych układów wysokiej skali integracji. Jednak wtedy było już za późno. Początkowe zalety ST-506 przyczyniły się do jej ostatecznego zniknięcia z rynku. SASI od początku nie miała tych problemów. Po pierwsze urządzeniom z niej korzystających zintegrowano kontrolery. Co załatwiło trzy główne problemy ST-506 za jednym zamachem. Integracja kontrolerów na urządzeniach wymusiła opracowanie własnego protokołu transmisji danych, a co za tym idzie przyczyniła się do zwiększenia wydajności całej magistrali.

Pierwsza specyfikacja zakładała maksymalną przepustowość na poziomie 5MB/s podczas gdy ten sam parametr w przypadku ST-506 wynosił tylko 5Mbps a więc nieco tylko ponad 610kB/s. Ze względu na duża autonomiczność urządzeń, a także odporność magistrali na zakłócenia transmisji na jednym kanele mogło pracować aż siedem urządzeń w odróżnieniu od jednego w przypadku ST-506.

Kilka miesięcy po ogłoszeniu wstępnej specyfikacji nieco rozszerzono jej funkcjonalność a następnie zgłoszono do standaryzacji w ANSI już nie jako SASI ale SCSI - Small Computer System Interface. Standard oficjalnie zatwierdzono dopiero w 1986 roku jednak do tego czasu SCSI zyskała ogromna popularność na rynku high-end. Jako ciekawostkę można podać to, iż już w 1985 dla magistrali SCSI były dostępne dyski po zawrotnej wtedy pojemności 760MB. ST-506 dobijał wtedy mniej więcej do 200MB. O IDE/ATA jeszcze wtedy nikt nie słyszał. Do dziś zresztą SCSI uważany jest za jedyny profesjonalny standard przez co znajduje zastosowanie głównie w wysokowydajnych serwerach i profesjonalnych stacjach roboczych.

ATA i  IDE

Interfejs, który dziś nazywamy ATA zaczął być opracowywany w 1986r przez trzy firmy:
1. Imprimis - wydział CDC (Control Data Corporation).
2. Western Digital.
3. Compaq Computer.

Imprimis był wtedy jednym z głównych dostawców dysków twardych, Western Digital zajmował się produkcją specjalizowanych układów scalonych - np. do kontrolerów hdd, a Compaq był jednym z większych dostawców komputerów osobistych.
Dziś jak wiadomo sytuacja wygląda nieco inaczej. Western Digital jest jednym z głównych dostawców dysków twardych, Compaq został wykupiony przez swojego głównego konkurenta, HP. A o Imprimis dziś już nikt nie pamięta.

Pierwsza wersja interfejsu ATA była tak na prawdę tylko specjalną implementacją standardu ST-506 opracowaną na potrzeby Compaq Computer. Dyski ATA emulowały starszy kontroler ST-506 przy pomocy elektroniki umieszczonej na samym dysku twardym. Ponieważ była to specjalna implementacja, nie była powiązana z żądnym oficjalnym standardem. Nie przysparzało jej zbytniej popularności wśród innych producentów, co z kolei stawiało pod znakiem zapytania jej szersze zastosowanie.

Kolejnym problemem był brak oficjalnej nazwy. Stąd wzięła się taka mnogość nieoficjalnych nazw tego interfejsu. Jedną z najpopularniejszych jest akronim IDE, który można rozwinąć na dwa sposoby. Popularniejszy Integrated Disc Electorinics oraz drugi mniej znany IBM Disc Electronics, czasami błędnie podaje się też Integrated Device Electronics. Ponieważ akronim IDE nigdy nie został zaadoptowany jako oficjalna nazwa, pewnie nigdy nie dowiemy się, jak tak na prawdę powinniśmy go rozwijać.

Kuriozalnie jedną z przyczyn tego faktu była obecność nazwy marki IBM w jednym z możliwych rozwinięć. Niektórzy uważali bowiem, iż użycie marki w oficjalnej nazwie standardu jest wysoce niestosowne. Niewielka grupa pracująca wtedy nad standardem chciała nadać mu nazwę zgodną z zastosowaniem. Jako oficjalną nazwę przyszłego standardu zaproponowano więc PC AT Interface. Szybko okazało się jednak, iż użycie takiej nazwy może implikować problemy patentowe. Zmieniono ją więc na AT Atachment w skrócie ATA.

Pojawienie się oficjalnej nazwy oczywiście nie rozwiązywało właściwie żadnych problemów. Żaden z wielkich producentów nie chciał implementować czegoś, co nie było oficjalnie zatwierdzone przez ANSI. Jako pierwszy wyłamał się Conner Peripherials którego sukces na rynku przekonał innych producentów. Jednak ATA tak na prawdę upublicznił się wraz z chwilą pojawienia się na rynku 3.5'' dysków twardych. Tylko nieliczne modele 5.25'' używały tego interfejsu. Ostatecznie ATA zastał oficjalnie zatwierdzony dopiero w 1994 roku jako ANSI X3.221-1994.

Przez osiem lat jakie minęły od początku prac do oficjalnego zatwierdzenia producenci implementowali własne wersje standardu, co niestety przyczyniło się do wielu problemów z urządzeniami ATA. Jako jeden z poważniejszych można wymienić problemy z rozpoznawaniem urządzeń skonfigurowanych jako Slave.

Może jeszcze słowo o Fibre Channel

Ponieważ udało się nam przybliżyć historię ST-506, SCSI oraz IDE warto wspomnieć o jeszcze jednym interfejsie, który prawdopodobnie nigdy nie zawita do naszych domów. Chodzi oczywiście o Fibre Channel. Nazywanie Fibre Channel interfejsem nie do końca oddaje jego możliwości. Tak na prawdę jest to bardzo szybka magistrala szeregowa, która do połączeń wbrew nazwie nie musi korzystać z światłowodów, możliwe są także połączenia zwykłymi kablami miedzianymi.

Dogłębny opis Fibre Channel w zasadzie zasługuje na osobny artykuł, dlatego tutaj przedstawimy tylko najważniejsze informacje.

Praca nad opracowaniem standardu rozpoczęła się w 1988 roku, a standard jako taki został zatwierdzony przez ANSI w 1994 roku, a więc w tym samym roku co IDE. Standard FC przewiduje pracę w trzech trybach. Point 2 Point (FC-P2P), Arbitrated Loop (FC-AL) oraz Switched Fabric (FC-SW).

Tryb P2P umożliwia podłączenie do kontrolera tylko jednego urządzenia. Takim urządzeniem może być pojedynczy dysk twardy, ale może to być także aktywna macierz dyskowa - a więc taka, która zawiera własny kontroler. Urządzenie przyłączane dysponuje wtedy pełna przepustowością magistrali.

Tryb AL jest rozwinięciem P2P na potrzeby przyłączenia większej liczny urządzeń. Może być ich wtedy maksymalnie 127. Urządzenia mogą pracować niezależnie ale każde dzieli pasmo z innymi urządzeniami pracującymi w tej samej pętli (Loop). Podobnie jak wcześniej urządzeniami mogą być dyski twarde, aktywne lub pasywne macierze a także inne kontrolery.

Najbardziej rozbudowaną topologią jest SW. W tym trybie urządzenia podłączane są do specjalnych przełączników (Switch) podobnie jak w przypadku sieci Ethernet. Taką sieć nazywa się wtedy SAN'em (Storage Area Network) i umożliwia przyłączenie nawet 16 milionów urządzeń. Tak szerokie możliwości doboru trybu pracy wymagają odpowiedniej wydajności, to właśnie min. dla tego FC jest najszybszym obecnie używanym interfejsem pamięci masowych.
Podstawowa specyfikacja z 1994 zakładała pracę w trybie 1 Gbps dupleks. Co oznacza, że kontroler mógł przesłać w obie strony niezależnie 1 Gbps = 122 MB/s.

Bardzo szybko okazało się to nie wystarczające, dlatego specyfikacje rozbudowano do 2 Gbps a następnie 4 Gbps dupleks. Ten ostatni zapewnia transmisje na poziomie 488MB/s w każdą stronę niezależnie. Gdy czytacie te słowa trwają prace nad wersją o przepustowości 8 Gbps dupleks po raz kolejny podwajającą przepustowość. Wersje 1/2/4/8 Gbps są ze sobą kompatybilne.
Opracowano także wersję 10 Gbps dupleks, niemniej do tej pory nie zyskała ona zbytniej popularności ze względu na brak wstecznej kompatybilności.

Tym z Was, na których te liczby nie robią wrażenia pragnę przypomnieć, że pozostałe opisane interfejsy nie oferują niezależnej transmisji w obie strony. Dlatego przy porównaniu ich przepustowości z FC wartości podane przez specyfikacje należy podzielić przez dwa. Fibre Channel to nie tylko możliwości konfiguracji trybów pracy oraz wydajność, to także zasięg sieci. Na początku wspominałem iż FC do transmisji danych może używać kabli miedzianych bądź światłowodów.
Połączenia miedziane używane są głównie w dwóch pierwszych typach pracy: P2P i AL. W przypadku trzeciego: SW, wykorzystuje się głównie światłowody. Przy połączeniach do przełączników maksymalna długość kabla wynosi wtedy standardowo 2 kilometry. Oczywiście jeśli to nie wystarcza można zastosować specjalne urządzenia o zasięgu 10 lub nawet 50 kilometrów.

Na tym dość optymistycznym akcencie zakończymy nasz dość pobieżny opis technologi Fibre Channel.