Pamięci masowe
Transkrypt
Pamięci masowe
Wprowadzenie do Informatyki (WDI), Studia Dzienne Magisterskie mgr inż. Paweł Tadejko Pamięci masowe Wiadomości i pojęcia, które należy znać: ATA, Enchanced IDE (EIDE), Ultra ATA / Ultra DMA, ATA Packed Interface - (ATAPI), SCSI, LBA, DMA, macierz dyskowa Pamięci masowe umożliwiają trwałe przechowywanie dużych ilości danych. W przeciwieństwie do pamięci RAM ich zawartość nie ulega skasowaniu po wyłączeniu zasilania. Pierwotnie jako pamięci masowe wykorzystywano pamięci taśmowe i tzw. streamery. Oferowały one dużą pojemność i bezpieczeństwo przechowywanych danych, jednak ich dużą wadą jest bardzo długi czas dostępu. Aby odczytać interesujący nas plik trzeba przeglądnąć wszystkie dane zapisane przed nim, co może zająć sporo czasu. W komputerach klasy PC jako pamięci masowe wykorzystuje się dyski twarde pracujące w różnorodnych standardach. Najpopularniejsze i najtańsze są dyski będące różnymi modyfikacjami technologii IDE (EIDE i UDMA). Opcjonalnie po zakupieniu odpowiedniego kontrolera do komputera można podłączyć dyski SCSI oferujące znacznie większą przepustowość i mniejsze obciążenie procesora. Poniżej wyjaśnimy, co znaczą te skróty oraz jak podłączyć komputer z dyskiem. Standardy Interfejsów ATA (Advanced Technology Attachment) Sposób implementacji dysku twardego polegający na zintegrowaniu kontrolera wraz z dyskiem. Jest kilka wersji ATA. Ustanowiony w 1981 r. pierwszy standard interfejsu dysków twardych wykorzystywanych w komputerach PC/AT. Oferował on przepustowość 8,3 MB/s. Szerokość szyny danych w tym interfejsie wynosi 16 bitów, a maksymalna liczba obsługiwanych urządzeń - 2. Przez interfejs ATA obsługiwane były tylko i wyłącznie dyski twarde - napędy CD-ROM i inne urządzenia wymagały odrębnych interfejsów. Dziś już praktycznie nie wykorzystywany w swej pierwotnej wersji. ATA-2 (Enchanced IDE/Fast ATA). ATA-2 akceptuje dyski większe niż 528 MB lecz mniejsze niż 8.1 GB. Standard ten umożliwia podłączenie maksymalnie dwóch urządzeń (2 x master, 2 x slave) do dwóch kanałów kontrolera (primary i secondary). Zawsze należy podłączać szybkie dyski jako master do kanału primary, natomiest wolniejsze (napędy CD-ROM, stare twarde dyski PIO-2 lub PIO-3) jako master i slave do kanału secondary kontrolera. Taki sposób podłączenia jest szczególnie ważny w systemach 486 i wczesnych systemach Pentium, gdyż kanał EIDE primary ma bezpośrednie połączenie z magistralą PCI, natomiast kanał secondary jest połączony z dużo wolniejszą magistralą ISA. ATA-3 (Fast ATA). Ta wersja ATA akceptuje dyski pracujące w trybie PIO-4 (znanym także jako „bezprzerwowym”) zapewniającym transfer danych z prędkością 16,7 MB/s. ATA-4 (Ultra ATA / Ultra DMA / Ultra DMA-33, Ultra DMA-66, Ultra DMA-100, Ultra DMA133) Standard podwaja maksymalny transfer trybu PIO-4 do 33 MB/s. Tryb ten zawiera technologię bus mastering używającego kanału DMA w celu zmniejszenia obciążenia procesora. Enhanced IDE - (EIDE) nazwa handlowa (wprowadzona przez Western Digital) określająca nieco zmodyfikowany interfejs ATA-2 (IDE); główne zmiany to funkcja dual-port (dodanie drugiego kanału, dzięki czemu zwiększono maksymalną liczbę obsługiwanych urządzeń z dwóch do czterech), obsługa interfejsu ATAPI oraz dysków o pojemności większej niż 528 MB (do 8,4 GB). ATA Packed Interface - (ATAPI) standard utworzony specjalnie z myślą o urządzeniach pamięci masowej innych niż dyski twarde, ale podłączanych do zwykłych portów ATA/IDE. Urządzeniami korzystającymi z interfejsu ATAPI są m.in. napędy CD-ROM, DVD-ROM czy niektóre streamery oraz np. napęd dyskietek ZIP. SCSI (ang. Small Computers Systems Interface) to uniwersalny standard komunikacji pomiędzy urządzeniami peryferyjnymi a komputerem. Interfejs ten pozwala dołączyć do Wydział Informatyki, Politechnika Białostocka Strona 1 Wprowadzenie do Informatyki (WDI), Studia Dzienne Magisterskie mgr inż. Paweł Tadejko pojedynczego portu komputera PC osiem, do piętnastu, a czasem nawet 31 połączonych łańcuchowo urządzeń takich jak dyski twarde, CD-ROM'y, skanery czy drukarki laserowe. Zaletami interfejsu SCSI jest duża niezawodność, szybkość transmisji i możliwość samodzielnej komunikacji między przyłączonymi urządzeniami. Prace nad interfejsem SCSI rozpoczęto w 1982 roku i ukończono dopiero w 1985 r. Z założenia miał to być interfejs do podłączania twardych dysków. Pierwszym komputerem wyposażonym w działający interfejs SCSI był Apple Mac Plus, który pojawił się rok później. Pierwsza implementacja interfejsu SCSI umożliwiała przesyłanie danych z prędkością 2,5 MB/s. Była to prędkość oszałamiająca, gdy z SCSI porównało się możliwości portu RS-232 czy Centronics. SCSI umożliwiało zaadresowanie (podłączenie) tylko jednego urządzenia. Dodatkową wadą SCSI było to, że standard ten zezwalał na zbyt duże modyfikacje ze strony producentów sprzętu. Dlatego utworzono wspólny zestaw komend (CCS - Common Command Set), który miał ustandaryzować wszystkie urządzenia. Niestety, przed stworzeniem CSS na rynku dostępne były już urządzenia SCSI zupełnie niekompatybilne ze sobą. Ostateczna wersja SCSI, znana dziś jako SCSI-1, została zatwierdzona przez ANSI dopiero w 1986 roku. Jej specyfikacja jest następująca: 8-bitowa szerokość magistrali, taktowanie zegarem 5 MHz, możliwość podłączenia 8 urządzeń jednocześnie (wliczając kontroler) i maksymalna przepustowość na poziomie ok. 5 MB/s. W 1986 roku rozpoczęto prace nad SCSI-2 (jeszcze przed zatwierdzeniem SCSI przez ANSI!), który miał połączyć SCSI-1 z CCS. Ostatecznie organizacja ANSI zatwierdziła SCSI-2 dopiero w 1993 roku. SCSI-2 jest obecnie najpopularniejszym formatem SCSI, dlatego też popularnie właśnie na SCSI-2 mówi się po prostu SCSI. SCSI-2 wprowadził bardzo wiele usprawnień. Magistrala może mieć teraz szerokość maksymalnie czterech bajtów (32 bitów). Najczęściej jednak stosowane są magistrale 8- i 16-bitowe. Częścią SCSI-2 jest Fast SCSI. Ta 8-bitowa magistrala taktowana jest szybszym zegarem, 10 MHz, co umożliwia transfer danych z prędkością do 10 MB/s. Można do niej podłączyć do ośmiu urządzeń. Odmianą SCSI-2 jest też Wide SCSI: magistrala taktowana zegarem 5 MHz, jednak o 16-bitowej szerokości, daje przepustowość także 10 MB/s (jak Fast SCSI-2), ale pozwala podłączyć aż 16 urządzeń. Następcą SCSI-2 jest SCSI-3. Niestety, nie ma ostrej granicy między oboma standardami, dlatego niektórzy zaliczają urządzenia SCSI-3 do SCSI-2 i odwrotnie. Do SCSI-3 należy już bardzo popularny Ultra SCSI. Jest to magistrala 8-bitowa, ale taktowana zegarem 20 MHz. Umożliwia podłączenie 8 urządzeń, a maksymalny transfer wynosi 20 MB/s. Ultra Wide SCSI (także część SCSI-3) to 16-bitowa magistrala taktowana zegarem 20 MHz, co zwiększa przepustowość do 40 MB/s i umożliwia podłączenie do 16 urządzeń. Ultra2 SCSI jest 8-bitową magistralą pracującą z częstotliwością 40 MHz, co daje jej możliwość podłączenia 8 urządzeń i przepustowość 40 MB/s. Ultra2 Wide SCSI, jak się można domyśleć, to 16-bitowa magistrala (umożliwia podłączenie 16 urządzeń) o przepustowości 80 MB/s. Najszybszą odmianą SCSI jest, wchodzący w skład Ultra3 SCSI, standard Ultra160/m zaproponowany przez firmę Adaptec. Umożliwia transfer danych z szybkością aż 160 MB/s! LBA Szeroko wykorzystywanymi w komputerach PC dyskami są dyski IDE (ang. Integrated drive electronics). Wszystkie inne dyski są zgodne w dół z tym standardem. Oznacza to, że każdy współczesny dysk możemy podłączyć do interfejsu IDE, chociaż w ten sposób nie będziemy mogli wykorzystać wszystkich możliwości współczesnych napędów. Poważnym ograniczeniem standardu IDE jest limit pojemności dysków do około 528 Mb. Związane jest to z niemożliwością zaadresowania większej liczby sektorów dysku. Dla pokonania tego ograniczenia wprowadzono tzw. LBA (ang. Large block addressing) i nowy standard EIDE (ang. Enchanced IDE). Nowy interfejs obsługuje także ulepszone protokoły transmisji, dzięki czemu przyśpieszono transfer danych pomiędzy komputerem a twardym dyskiem. DMA Najnowszym dodatkiem jest tzw. tryb UDMA (ang. Ultra-DMA), dzięki któremu transfer danych z dysku następuje bezpośrednio do pamięci operacyjnej. Cały proces wymaga znacznie mniejszego zaangażowania ze strony procesora, co dodatkowo zwiększa wydajność systemu. Obecnie na rynku są dostępne trzy standardy interfejsu UDMA: UDMA-2, UDMA-4 i UDMA-5. Transmisja danych odbywa się odpowiednio z maksymalną prędkością 33, 66 i 100 Mb/s. Aby Wydział Informatyki, Politechnika Białostocka Strona 2 Wprowadzenie do Informatyki (WDI), Studia Dzienne Magisterskie mgr inż. Paweł Tadejko możliwe było wykorzystanie dwóch ostatnich trybów konieczne jest zastosowanie specjalnego kabelka 80-żyłowego. W przeciwnym wypadku może dojść do błędów w transmisji i w konsekwencji do uszkodzenia danych na dysku. Oczywiście oprócz odpowiedniego interfejsu w celu skorzystania z tak wysokich transmisji konieczne jest posiadanie odpowiedniego dysku twardego i pewne „wspomaganie” ze strony systemu operacyjnego. W systemie Windows 9x tryb ultra-DMA włączamy wykonując następujące operacje: Start->Ustawienia->Panel Sterowania->System->Dyski. Czasami z powodu błędów w BIOS-ie i chipsecie płyty głównej włączenie trybu UDMA może spowodować zawieszenie się komputera. W takim przypadku musimy niestety skorzystać ze starszego trybu PIO-4. Rys 1.6 Ustawiania sterownika dysku twardego w systemie MS Windows Podane transfery są maksymalnymi transferami pomiędzy komputerem a dyskiem twardym, podczas normalnego użytkowania uzyskiwane wartości są znacznie mniejsze. Interfejsem rzadziej stosowanym w komputerach PC jest interfejs SCSI. Umożliwia on podłączenie maksymalnie 7 urządzeń, przy czym niekoniecznie muszą być to pamięci masowe. Poprzez SCSI można podłączyć do komputera także drukarki i skanery. Jednakże urządzenia te są znacznie droższe niż ich odpowiedniki wykorzystujące port równoległy lub USB. Główną zaletą SCSI jest uzyskiwanie wysokiego transferu danych dochodzącego do 160 MB/s oraz możliwość jednoczesnego podłączenia większej liczby urządzeń (do portu IDE można podłączyć najwyżej 2 urządzenia). W przypadku twardych dysków i niektórych innych typów pamięci masowej (np. CD-ROM) podaje się pewne parametry umożliwiające zorientowanie się co do szybkości urządzenia. Najważniejsze z nich to : czas dostępu, czas zmiany ścieżki, maksymalny transfer danych. Czas dostępu (ang. Access time) określa, ile czasu (w ms) urządzenie potrzebuje, aby ustawić głowicę nad wybranym sektorem. Czas ten jest powiązany z prędkością obrotową dysku i im jest ona większa, tym czas dostępu staje się krótszy: t ms = 6 0 ∗ 10 0 0 m s obroty RPM Stała w liczniku bierze się z przeliczenia minut na ms. Wydział Informatyki, Politechnika Białostocka Strona 3 Wprowadzenie do Informatyki (WDI), Studia Dzienne Magisterskie mgr inż. Paweł Tadejko Podobnie powiązany z prędkością obrotową jest transfer danych, który dodatkowo zależny jest także od gęstości upakowania bitów na jednostkę powierzchni. Dlatego im dysk ma większą pojemność tym transfer jest z reguły większy. Parametrem o dużym znaczeniu jest czas zmiany ścieżki, nad którą znajduje się głowica. Jest on szczególnie ważny w przypadku aplikacji bazodanowych, które intensywnie wykorzystują dyski w trakcie np. indeksowania bazy danych. Macierze dyskowe Pewnym specyficznym zastosowaniem dysków są tzw. macierze dyskowe RAID (ang. Redundant array of inexpensive disks). Poprzez połączenie ze sobą wielu dysków można znacznie zwiększyć pojemność, a dzięki zastosowaniu pewnych technik, także bezpieczeństwo danych przechowywanych na dyskach. Macierze RAID stosuje się zwykle w systemach komputerowych wymagających dużych pojemności oraz bardzo szybkiego dostępu do danych. Cele te są realizowane poprzez programowy lub sprzętowy układ sterujący wieloma jednocześnie pracującymi dyskami. Obecnie definiuje się 5 tzw. poziomów RAID. Określają one sposób przechowywania danych, dostępu do nich oraz stopnia bezpieczeństwa. Związane są z tym pojęcia takie jak: mirroring i striping. Mirroring polega na łączeniu ze sobą identycznych dysków, dzięki czemu rośnie niezawodność systemu i szybkość dostępu do danych. Odczyty danych mogą odbywać się jednocześnie na kilku dyskach, dodatkowo w przypadku awarii któregoś z dysków nie dojdzie do utraty danych, gdyż są one także przechowywane na pozostałych dyskach. Wadą mirroringu jest duża utrata pojemności. Striping polega na podziale dysku na ciągłe obszary, w których zapisywane są dane. Mechanizm ten jest wykorzystywany w większości implementacji RAID. RAID 0 wykorzystuje jednoczesny zapis i odczyt wielu dysków, co znacznie przyśpiesza operacje. Np. przy połączeniu 10 dysków o maksymalnym transferze danych 10 MB/s osiągamy transfer 100 MB/s! Pojemność macierzy RAID równa jest sumie pojemności użytych dysków. Dyski używane do implementacji RAID 0 powinny cechować się podobną pojemnością, gdyż w przeciwnym wypadku dostęp do niektórych obszarów dysku będzie znacznie wolniejszy. RAID 0 nie zwiększa bezpieczeństwa danych na dyskach, a nawet je zmniejsza! Informacje są przechowywane w postaci fragmentów jednocześnie na kilku dyskach, a w przypadku awarii któregoś z nich są praktycznie nie do odtworzenia. RAID 1 wykorzystuje równolegle połączone dyski. Cechuje się bardzo dużym bezpieczeństwem danych, gdyż awaria nawet N-1 dysków nie powoduje utraty informacji, ponieważ każdy dysk zawiera kopię pozostałych. Do realizacji RAID 1 wymagane jest, aby wszystkie dyski miały taką samą pojemność. Wadami technologii RAID 1 sa: duża utrata pojemności (całkowita pojemność macierzy równa jest jednemu użytemu dyskowi), wolny odczyt danych (z powodu konieczności odczytania i porównania danych ze wszystkich dysków), nieznacznie zwolniony zapis danych. RAID 4 wykorzystuje połączenie technik RAID 0 i RAID 1. Wymaga połączenia co najmniej 3 dysków. N-1 dysków działa w trybie RAID 0, natomiast jeden dysk przechowuje tzw. parzystość generowaną z dysków pozostałych. W przypadku awarii jednego dysku dane mogą zostać odtworzone na podstawie parzystości, w przypadku awarii dwóch lub więcej dysków wszystkie dane są tracone. Tryb RAID 4 jest rzadko wykorzystywany, ponieważ przy każdej operacji wymagany jest dostęp do dysku przechowującego parzystość co znacznie zwalnia szybkość całego systemu. Wszystkie dyski powinny posiadać taką samą pojemność, pojemność całego systemu wynosi (N-1)*S, gdzie S równa się pojemności najmniejszego dysku, a N liczbie dysków. RAID 5 jest bardzo podobny do RAID 4, z tym, że parzystość jest przechowywana na każdym z dysków (nie ma wyróżnionego dysku). Powoduje to równomierne rozłożenie obciążenia pomiędzy wszystkie dyski, a co za tym idzie — znaczną poprawę wydajności. Wydział Informatyki, Politechnika Białostocka Strona 4