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

Podobne dokumenty