Pamięć zewnętrzna
Wyższa Szkoła Biznesu
Architektura i organizacja
komputerów
Studia zaoczne
Wykład 6
O czym będzie ?
Na tym wykładzie zajmiemy się urządzeniami i systemami
pamięci zewnętrznej.
Rozpoczniemy od najważniejszego urządzenia, jakim jest
dysk magnetyczny. Dyski magnetyczne stanowią podstawę
pamięci zewnętrznej praktycznie wszystkich systemów
komputerowych. Przeanalizujemy też wykorzystanie tablic
dysków w celu osiągnięcia większej wydajności, zwracając
szczególną uwagę na rodzinę systemów zwanych RAID
(Redundant Array of Independent Disks).
Składnikiem
wielu
systemów
komputerowych
jest
zewnętrzna pamięć optyczna - zajmiemy się nią w dalszej
części wykładu.
Na zakończenie opiszemy magnetyczną pamięć taśmową.
Dysk magnetyczny
Dysk to okrągła płyta wykonana z metalu
lub
plastyku,
pokryta
materiałem
magnetycznym.
Dane
są
zapisywane
a
następnie
odczytywane
z
dysku
za
pomocą
przewodzącej cewki zwanej głowicą.
Podczas operacji odczytu lub zapisu
głowica pozostaje nieruchoma, natomiast
obraca się dysk.
Zapis/odczyt na dysku
magnetycznym
Zapis polega na wykorzystaniu pola magnetycznego
wytwarzanego przez prąd elektryczny płynący przez
cewkę. Do głowicy są wysyłane impulsy, co
powoduje zapisywanie wzorów magnetycznych na
powierzchni znajdującej się pod głowicą, przy czym
wzory te są różne dla prądów dodatnich i ujemnych.
Przy odczycie wykorzystuje się prąd elektryczny
powstający
w
cewce
pod
wpływem
pola
magnetycznego dysku poruszającego się względem
cewki. Gdy powierzchnia dysku przesuwa się pod
głowicą, generowany jest prąd o tej samej
biegunowości, jak użyty do zapisu.
Ścieżki, przerwy, gęstość
Głowica jest względnie małym przyrządem umożliwiającym
odczytywanie lub zapisywanie z części płyty obracającej się pod
nią. To właśnie sprawiło, że organizacja danych na płycie ma
postać koncentrycznego zespołu pierścieni, nazywanych
ścieżkami. Każda ścieżka ma taką samą szerokość, jak głowica.
Ten rozkład danych jest przedstawiony na rys. Sąsiednie ścieżki
są oddzielone przerwami. Zapobiega to, a przynajmniej
minimalizuje błędy spowodowane przez niewłaściwe ustawienie
głowicy lub po prostu interferencję pola magnetycznego.
W celu uproszczenia układów elektronicznych na każdej ścieżce
jest przechowywana taka sama liczba bitów. Tak więc gęstość,
wyrażana w bitach na cal, wzrasta w miarę przesuwania się od
ścieżki zewnętrznej do wewnętrznej (to samo zjawisko
występuje na płytach fonograficznych).
Rozkład danych na dysku
Jak zauważyliśmy wcześniej, dane są
przenoszone na dysk i z dysku
blokami. Zwykle blok jest mniejszy
niż pojemność ścieżki. Wobec tego
dane
są
przechowywane
w
obszarach
o
rozmiarach
odpowiadających blokom, zwanych
sektorami.
Na ścieżkę przypada zwykle od 10 do
100 sektorów, mogą one przy tym
mieć długość ustaloną lub zmienną.
W celu zapobieżenia nadmiernie
wysokim wymaganiom dotyczącym
precyzji systemu, sąsiednie sektory
są
oddzielone
przerwami
wewnątrzścieżkowymi
-
międzyrekordowymi.
Jak są identyfikowane
pozycje sektora wewnątrz
ścieżki?
Musi oczywiście istnieć pewien punkt
startowy
na
ścieżce
oraz
sposób
identyfikowania początku i końca każdego
sektora.
Wymagania te są spełniane za pomocą
danych kontrolnych zapisanych na dysku.
Dysk jest więc formatowany za pomocą
dodatkowych danych wykorzystywanych
tylko przez napęd dysku i niedostępnych dla
użytkownika.
Formatowanie dysku
Przykład formatowania dysku jest pokazany na rys.
W tym przypadku każda ścieżka zawiera 30 sektorów o ustalonej
długości, po 600 bajtów każdy. Każdy sektor mieści 512 bajtów
danych oraz informacje kontrolne wykorzystywane przez
sterownik dysku.
Pole ID jest unikatowym (jednoznacznym) identyfikatorem lub
adresem wykorzystywanym do lokalizowania określonego sektora.
Bajt SYNCH jest specjalnym wzorem bitowym wyznaczającym
początek pola.
Numer ścieżki identyfikuje ścieżkę na powierzchni. Numer głowicy
identyfikuje głowicę, ponieważ dysk ma zwykle wiele powierzchni
(będzie to wyjaśnione w dalszym ciągu).
Zarówno pola ID, jak i pola danych zawierają kod służący do
wykrywania błędów.
Format ścieżki dysku
Własności systemów
dyskowych
Ruch głowicy
głowica nieruchoma (jedna na
ścieżkę)
głowica ruchoma (jedna na
powierzchnię)
Wymienność dysku
niewymienny
wymienny
Wykorzystanie stron
jednostronny
dwustronny
Liczba dysków
jednodyskowy
wielodyskowy
Mechanizm
głowicy
kontaktowy
(floppy)
ustalona przerwa
przerwa
aerodynamiczna
Ruch głowicy
Po pierwsze, głowica może być nieruchoma lub poruszać
się wzdłuż promienia płyty.
W przypadku dysków z nieruchomą głowicą, występuje
jedna głowica zapisu/odczytu na jedną ścieżkę.
Wszystkie głowice są zmontowane na sztywnym
ramieniu, które rozciąga się przez wszystkie ścieżki (rys.
a).
W przypadku dysków z ruchomą głowicą, istnieje tylko
jedna głowica zapisu/odczytu (rys. b). Jak poprzednio,
głowica jest umocowana na ramieniu. Ponieważ jednak
musi istnieć możliwość pozycjonowania głowicy nad
dowolną ścieżką, ramię może być w tym celu wydłużane
lub skracane.
Stałe (a) i ruchome (b)
głowice dysku
a)
b)
Dyski niewymienne i
wymienne
Sam dysk jest umocowany w napędzie dysku, który
składa się z ramienia, wałka obracającego dysk i z
układów
elektronicznych
potrzebnych
do
wprowadzania i wyprowadzania danych binarnych.
Dysk niewymienny jest na stałe mocowany w
napędzie dysku.
Dysk wymienny (ang. removable) może być
usunięty i zastąpiony innym dyskiem. Zaletą tego
ostatniego
jest
nieograniczona
ilość
danych
osiągalna przy ograniczonej liczbie systemów
dyskowych. Ponadto dysk taki może być przenoszony
z jednego systemu komputerowego do innego.
Dyski jedno- i dwustronne,
pakiety dysków
W przypadku większości dysków warstwa
magnetyczna jest nanoszona po obu stronach
płyty,
co
jest
określane
jako
dysk
dwustronny.
Niektóre
tańsze
systemy
dyskowe wykorzystują dyski jednostronne.
Niektóre
napędy
dysków
umożliwiają
stosowanie wielu płyt ustawionych pionowo w
odległościach około 2,5cm (rys.). Wykorzystuje
się wówczas wiele ramion. Takie urządzenie jest
nazywane pakietem dysków.
Pakiet dysków
Mechanizm głowicy
Wreszcie, mechanizm głowicy stanowi podstawę do
klarownej klasyfikacji dysków na trzy rodzaje:
Tradycyjnie
głowica
zapisująco-odczytująca
była
umieszczana w ustalonej odległości nad płytą, przy czym
była pozostawiona przerwa powietrzna.
Krańcowo różniące się rozwiązanie mechanizmu głowicy
polega na pozostawieniu jej w fizycznym kontakcie z płytą
podczas operacji odczytu lub zapisu. Mechanizm ten jest
stosowany w przypadku napędu dyskietek, które są
niewielkimi, elastycznymi płytkami i stanowią najtańszy
rodzaj dysków magnetycznych.
Trzecie rozwiązanie mechanizmu głowicy zawierają dyski z
przerwą aerodynamiczną.
Przyczyny stosowania przerwy
mechanizmów z przerwą
aerodynamiczną
Aby zrozumieć powód powstania trzeciego rodzaju
dysków, musimy skomentować zależność między
gęstością danych a rozmiarem przerwy powietrznej.
Głowica
musi
generować
lub
wykrywać
pole
elektromagnetyczne o wielkości wystarczającej do zapisu
i odczytu.
Im węższa jest głowica, tym bardziej musi być zbliżona do
powierzchni płyty, aby urządzenie działało. Ponieważ
węższa głowica oznacza węższe ścieżki i dzięki temu
większą gęstość danych, jest to pożądane.
Jednak im bliżej znajduje się głowica w stosunku do
dysku, tym większe jest ryzyko błędu spowodowanego
przez zanieczyszczenia lub niedokładności.
Dyski Winchester
W wyniku ulepszenia technologii wprowadzono dysk typu
Winchester.
Głowice dysku Winchester pracują w zamkniętych zespołach
napędowych, które są niemal wolne od zanieczyszczeń. Zostały
zaprojektowane do działania w mniejszej odległości od
powierzchni dysków w porównaniu z konwencjonalnymi
głowicami dysków, co umożliwia większą gęstość upakowania
danych.
Głowica ta to aerodynamiczny pasek folii, spoczywający lekko na
powierzchni płyty w czasie, gdy dysk jest nieruchomy.
Ciśnienie powietrza generowane przez wirujący dysk wystarcza,
aby spowodować uniesienie się folii nad powierzchnią. Dzięki
temu można wykorzystać węższe głowice, które pracują bliżej
powierzchni płyty niż konwencjonalne sztywne głowice dysków.
Zapis/odczyt wymaga
pozycjonowania głowicy
Podczas pracy dysk obraca się ze stałą
prędkością.
W celu zapisu lub odczytu głowica musi być
ustawiona nad pożądaną ścieżką i na
początku pożądanego sektora na tej ścieżce.
Wybór ścieżki polega na przesunięciu
głowicy w przypadku systemu z ruchomą
głowicą lub na elektronicznym wyborze
jednej głowicy w systemie z nieruchomymi
głowicami.
Czas dostępu
W systemie z ruchomą głowicą czas pozycjonowania głowicy
nad ścieżką nosi nazwę czasu przeszukiwania (ang. seek
time).
W każdym przypadku po dokonaniu wyboru ścieżki system
czeka, aż odpowiedni sektor znajdzie się pod głowicą. Czas
osiągnięcia głowicy przez sektor jest nazywany opóźnieniem
obrotowym (ang. rotational latency).
Suma czasu przeszukiwania, jeśli taki występuje, oraz
opóźnienia obrotowego nazywa się czasem dostępu -
czasem, który jest wymagany do osiągnięcia stanu
umożliwiającego odczyt lub zapis.
Gdy głowica znajduje się już na właściwej pozycji, operacja
odczytu lub zapisu jest dokonywana w miarę przemieszczania
się sektora pod głowicą.
Tablice dysków
Jak mówiliśmy wcześniej, wydajność pamięci pomocniczych rosła
wyraźnie wolniej niż wydajność procesorów i pamięci głównych. To
niedopasowanie spowodowało, że system pamięci dyskowych stał
się być może głównym ogniskiem zainteresowania w pracach nad
poprawą ogólnej wydajności systemów komputerowych.
Podobnie jak w przypadku pozostałych obszarów wydajności
komputera, projektanci pamięci dyskowych stwierdzili, że przy
ograniczonej możliwości ulepszenia pojedynczych składników
dodatkowe
zwiększenie
wydajności
można
osiągnąć,
wykorzystując równolegle wiele składników.
W przypadku pamięci dyskowej doprowadziło to do opracowania
tablic dysków, które pracują niezależnie i równolegle. Gdy mamy
do czynienia z wieloma dyskami, oddzielne zapotrzebowania na
operacje wejścia-wyjścia mogą być przetwarzane równolegle, jeśli
tylko poszukiwany blok danych jest rozproszony na wielu dyskach.
RAID
W przypadku używania wielu dysków istnieje wiele
sposobów
organizowania
danych
i
poprawy
niezawodności przez wykorzystanie nadmiarowości
(redundancji). Mogłoby to utrudnić opracowanie
schematów baz danych, które mogłyby być używane
na wielu platformach sprzętowych i z różnymi
systemami operacyjnymi.
Na
szczęście
w
przemyśle
uzgodniono
znormalizowany schemat projektowania baz danych
dla
pamięci
wielodyskowych,
znany
jako
redundancyjna tablica niezależnych dysków - RAID
(ang. Redundant Array of Independent Disks).
Wspólne cechy wszystkich
poziomów RAID
Schemat RAID składa się z sześciu poziomów, od zerowego do
piątego. Poziomy te nie implikują zależności hierarchicznej,
lecz wyznaczają różne architektury, które mają trzy cechy
wspólne:
1. RAID jest zespołem fizycznie istniejących napędów dyskowych
widzianych przez system operacyjny jako pojedynczy napęd
logiczny.
2. Dane są rozproszone w tych napędach, tworzących tablicę.
3. Redundancyjna pojemność dysków jest wykorzystywana do
przechowywania informacji o parzystości, co gwarantuje
odzyskiwanie danych w przypadku uszkodzenia dysku.
Szczegółowe rozwiązania dotyczące drugiej i trzeciej cechy są
różne dla różnych poziomów RAID.
Poziom RAID 0 nie wspiera trzeciej cechy.
Pomysł RAID
Termin RAID został po raz pierwszy zaproponowany w artykule
napisanym przez grupę badaczy z University of California w
Berkeley.
W artykule przedstawiono różne konfiguracje i zastosowania
RAID, a także wprowadzono definicje poziomów RAID
stosowaną do dzisiaj. RAID zaproponowano w celu zamknięcia
poszerzającej się luki między szybkimi procesorami a
stosunkowo wolnymi elektromechanicznymi napędami dysków.
Strategia ta polega na zastąpieniu napędu dysku o wielkiej
pojemności wieloma napędami o mniejszej pojemności oraz na
takim rozproszeniu danych, które umożliwia jednoczesny
dostęp do danych w wielu napędach, dzięki czemu uzyskuje się
zwiększenie
wydajności
wejścia-wyjścia
i
łatwiejsze
zwiększanie pojemności.
Zyski ze stosowania RAID
Unikalnym wkładem wniesionym w propozycji RAID
jest efektywne zwiększenie niezawodności przez
redundancję.
Chociaż jednoczesne działanie wielu głowic i
urządzeń
uruchamiających
umożliwiło
przyspieszenie działania wejścia-wyjścia, jednak
stosowanie
wielu
podzespołów
zwiększa
prawdopodobieństwo uszkodzenia.
Aby skompensować tę zmniejszoną niezawodność,
RAID wykorzystuje informację o parzystości, która
pozwala na odtwarzanie danych utraconych z
powodu uszkodzenia dysku.
Nie ma komercyjnych
systemów dla poziomu 2 i
4
Przeanalizujemy teraz każdy z poziomów
RAID. W tabeli są podsumowane własności
wszystkich sześciu poziomów.
Spośród nich poziomy 2 i 4 nie są
oferowane komercyjnie, a ich akceptacja w
przemyśle
nie
jest
prawdopodobna,
chociaż opis tych poziomów pomaga
wyjaśnić decyzje projektowe odnoszące się
do pozostałych poziomów.
Poziomy RAID
Kategor
ia
P
o
zi
o
m
Opis
Częstoś
ć
zgłasza
nia
żądania
wejścia-
wyjścia
Szybkoś
ć
transfer
u
danych
Typowe zastosowanie
(odczyt/zapis)
Paskowa
nie
0 bez
redundancji
duże
paski:
doskonał
a
małe
paski:
doskonał
a
zastosowania wymagające wysokiej
wydajności w odniesieniu do
niekrytycznych danych
Kopiowa
nie
lustrzane
1 lustrzane
kopiowanie
danych
dobra/
dostatecz
na
dostatec
zna
napędy systemowe; krytyczne pliki
Dostęp
równoleg
ły
2 redundancja
poprzez kod
Hamminga
Mała
doskonał
a
3 parzystość na
poziomie bitów
Mała
doskonał
a
zastosowania o dużych rozmiarach
zapotrzebowań we-wy, np.
obrazowanie, CAD
Dostęp
niezależ
ny
4 parzystość na
poziomie
bloków
doskonał
a/
dostatecz
na
dostatec
zna/
mała
5 rozproszona
parzystość na
poziomie
bloków
doskonał
a/
dostatecz
na
dostatec
zna/
mała
duża częstość żądań, duża
intensywność odczytów,
wyszukiwanie danych
Rozkład informacji na
dyskach
w RAID
Na rysunkach (następne 3 slajdy)) widać
sześć schematów RAID, które dotyczą
pojemności wymagających czterech dysków
bez redundancji.
Na rysunku są pokazane: rozkład danych
użytkownika i danych redundancyjnych, a
także względne wymagania dotyczące
przechowywania na różnych poziomach.
Odniesiemy się do tego rysunku w dalszym
ciągu.
(a) RAID 0 (bez
redundancji)
(b) RAID 1 (zwierciadlany)
(c) RAID 2 (redundancja z wykorzystaniem
kodu Hamminga
(d) RAID 3 (parzystość z przeplataniem
bitów)
(e) RAID 4 (parzystość na poziomie bloków)
(f) RAID 5 (rozproszona parzystość na
poziomie bloków)
RAID – poziom 0
RAID 0 nie powinien być zaliczany do rodziny RAID, ponieważ
w celu poprawienia wydajności nie przewiduje on
redundancji. Istnieją jednak nieliczne zastosowania (należą
do nich niektóre superkomputery), w których wydajność i
pojemność są najważniejsze, a niski koszt jest ważniejszy od
zwiększonej niezawodności.
W przypadku RAID 0 dane użytkownika i dane systemowe są
rozproszone na wszystkich dyskach tablicy. Stanowi to
wyraźną korzyść w stosunku do dużego pojedynczego dysku:
jeśli dwa różne żądania wejścia-wyjścia dotyczą dwóch
różnych bloków danych, istnieje duże prawdopodobieństwo,
że potrzebne bloki znajdują się na różnych dyskach. Dzięki
temu oba zapotrzebowania mogą być przetwarzane
równolegle, co skraca oczekiwanie w kolejkach.
RAID – poziom 0
Jednak RAID 0, podobnie jak wszystkie poziomy
RAID, nie ogranicza się do prostego rozproszenia
danych w tablicy dysków: dane są układane w
postaci pasków (ang. striped) na dostępnych
dyskach. Można to lepiej wyjaśnić na podstawie
obserwacji rys. 2 slajdy dalej.
Wszystkie dane użytkownika i systemowe mogą być
postrzegane jako przechowywane na jednym dysku
logicznym. Dysk jest podzielony na paski; paski te
mogą być fizycznymi blokami, sektorami lub innymi
jednostkami.
RAID – poziom 0
Paski są odwzorowywane cyklicznie na kolejnych dyskach
tablicy.
W tablicy n-dyskowej pierwszych n logicznych pasków
przechowuje się fizycznie jako pierwszy pasek na każdym
z n dysków, następnych n pasków mieści się fizycznie w
postaci drugich pasków na każdym dysku itd.
Zaletą takiego rozkładu jest to, że jeśli pojedyncze
zapotrzebowanie wejścia-wyjścia dotyczy wielu logicznie
sąsiadujących pasków, to nawet n pasków dotyczących
tego
zapotrzebowania
może
być
obsługiwanych
równolegle, co znacznie redukuje czas transferu wejścia-
wyjścia.
Odwzorowanie danych dla
poziomu RAID 0
Wykorzystywanie RAID 0 do
zwiększania wydajności
transferu danych
Wydajność dowolnego poziomu RAID krytycznie zależy od rozkładu
zapotrzebowania systemu macierzystego oraz od rozmieszczenia danych.
Jest to najwyraźniej widoczne w przypadku RAID 0, w którym redundancja
nie zaburza analizy. Rozpatrzmy najpierw wykorzystywanie RAID 0 do
osiągania dużych szybkości przesyłania danych. W takich zastosowaniach
muszą być spełnione dwa wymagania.
Po pierwsze, wysoka wydajność transferu danych musi mieć miejsce na
całej drodze między pamięcią macierzystą a indywidualnymi napędami
dysków. Należy więc uwzględnić wewnętrzne magistrale sterownika,
magistrale
wejścia-wyjścia
systemu
macierzystego,
urządzenia
dopasowujące wejście-wyjście oraz magistrale pamięci macierzystej.
Drugim wymaganiem jest to, żeby żądania wejścia-wyjścia pochodzące z
aplikacji efektywnie kierowały tablicą dysków. Wymaganie to jest spełnione,
jeśli typowe żądanie dotyczy takiej ilości logicznie sąsiadujących danych,
która jest duża w porównaniu z rozmiarem paska. W takim przypadku,
pojedyncze żądanie wejścia-wyjścia wywołuje równoległe przesyłanie
danych z wielu dysków, zwiększając efektywną szybkość transferu w
porównaniu z pojedynczym dyskiem.
Wykorzystanie RAID 0 do
przyspieszenia obsługi żądania
wejścia-wyjścia
W
środowisku
transakcyjnym
użytkownik
jest
zwykle
bardziej
zainteresowany czasem odpowiedzi niż szybkością transferu. W przypadku
indywidualnego żądania wejścia-wyjścia dotyczącego małej ilości danych,
czas dostępu wejścia-wyjścia jest zdominowany przez ruch głowic
dyskowych (czas przeszukiwania) i ruch dysków (opóźnienie obrotowe).
W środowisku transakcyjnym mogą występować setki żądań wejścia-wyjścia
na sekundę. Tablica dysków może zapewnić szybkie odpowiedzi na żądanie
dostępu przez rozkładanie obciążenia wejścia-wyjścia na wiele dysków.
Efektywne równoważenie obciążenia jest możliwe tylko wtedy, gdy
dominują typowe, wielokrotne żądania wejścia-wyjścia. To z kolei sprawia,
że może istnieć wiele niezależnych aplikacji lub że pojedyncza aplikacja o
charakterze transakcyjnym może powodować wielokrotne, asynchroniczne
żądanie wejścia-wyjścia. Na wydajność ma również wpływ rozmiar paska.
Jeśli jest on stosunkowo duży, w wyniku czego pojedyncze żądanie wejścia-
wyjścia wywołuje tylko pojedynczy dostęp do dysku, to wiele oczekujących
żądań wejścia-wyjścia można realizować równolegle, co redukuje czas
oczekiwania w kolejce każdego zapotrzebowania.
RAID poziom 1
RAID 1 różni się od poziomów RAID od 2 do 5 sposobem osiągania
redundancji. W pozostałych schematach RAID jest wykorzystywana
pewna forma obliczeń parzystości w celu wprowadzenia
redundancji. Natomiast w przypadku RAID 1 redundancja jest
osiągana po prostu przez duplikowanie wszystkich danych.
Jak widać na rys., wykorzystywane jest paskowanie danych,
podobnie jak w RAID 0. Jednak w tym przypadku każdy pasek
logiczny jest odwzorowywany na dwóch oddzielnych dyskach
fizycznych, dzięki czemu każdy dysk w tablicy ma swój dysk
zwierciadlany zawierający te same dane.
Zalety RAID 1
Organizacja RAID 1 ma wiele pozytywnych aspektów:
Żądanie odczytu może być obsługiwane przez ten spośród dwóch
dysków zawierających potrzebne dane, który wymaga mniejszego
czasu przeszukiwania plus opóźnienie obrotowe.
Żądanie zapisu wymaga aktualizacji obu odpowiednich pasków,
jednak może to być wykonywane równolegle. Wobec tego wydajność
zapisu jest dyktowana przez wolniejszy z dwóch zapisów (tzn. ten,
który zajmuje dłuższy czas przeszukiwania plus opóźnienie obrotowe).
W przypadku RAID 1 nie występuje jednak „kara” związana z
zapisem. W RAID 2 do 5 są wykorzystywane bity parzystości. Jeśli
więc jest aktualizowany pojedynczy pasek, oprogramowanie
zarządzania tablicą musi obliczyć i zaktualizować bity parzystości
oprócz aktualizowania samego paska danych.
W razie awarii rozwiązanie jest proste. Gdy napęd ulega uszkodzeniu,
dane mogą być uzyskane z drugiego napędu.
Wady RAID 1
Główną wadą RAID 1 jest koszt; wymaga on 2-
krotnie
większej
przestrzeni
dyskowej
w
porównaniu z dyskiem logicznym, który obsługuje.
Z tego powodu wykorzystanie konfiguracji RAID 1
pozostaje
raczej
ograniczone
do
napędów
przechowujących
oprogramowanie
systemowe
oraz inne bardzo ważne pliki.
W tych przypadkach RAID 1 zapewnia rezerwowe
dane dostępne w czasie realnym, dzięki czemu w
razie uszkodzenia dysku wszystkie ważne dane są
natychmiast dostępne.
RAID może przyspieszyć
operacje I/O
W środowisku transakcyjnym RAID 1 umożliwia szybkie
uzyskiwanie odpowiedzi na żądania wejścia-wyjścia, jeśli
tylko główna część żądań dotyczy odczytu.
W takiej sytuacji wydajność RAID 1 może być niemal 2-krotnie
większa niż wydajność RAID 0.
Jeśli jednak istotna część żądań wejścia-wyjścia dotyczy
zapisu, to może nie występować znaczna poprawa wydajności
w stosunku do RAID 0.
RAID 1 może także mieć większą wydajność niż RAID 0 w
przypadku
zastosowań
wymagających
intensywnego
transferu danych przy znaczącym udziale odczytów. Wzrost
wydajności następuje, gdy możliwe jest rozdzielenie każdego
żądania odczytu w ten sposób, aby w operacji uczestniczyły
oba dyski.
RAID poziom 2
RAID 2 i 3 wykorzystują metodę dostępu równoległego. W przypadku
tablicy o dostępie równoległym wszystkie dyski uczestniczą w
realizacji każdego żądania wejścia-wyjścia. Zwykle poszczególne
napędy są synchronizowane tak, że w dowolnym momencie każda
głowica znajduje się w tej samej pozycji nad każdym dyskiem.
Podobnie jak w przypadku pozostałych schematów RAID,
wykorzystywane jest paskowanie danych. W RAID 2 i 3 paski są
bardzo małe, często równe jednemu bajtowi lub słowu.
W RAID 2 kod korekcji błędów jest obliczany na podstawie
odpowiednich bitów na każdym dysku danych, a bity kodu są
przechowywane
w
odpowiednich
pozycjach
bitowych
zlokalizowanych na wielu dyskach parzystości.
Zwykle jest wykorzystywany kod Hamminga (patrz wykład o pamięci
wewnętrznej), który umożliwia korygowanie błędów jednobitowych i
wykrywanie dwubitowych.
Chociaż RAID 2 wymaga mniejszej
liczby dysków niż RAID 1, nadal jest
raczej kosztowny.
Liczba dysków redundancyjnych jest proporcjonalna do
logarytmu liczby dysków danych. W przypadku pojedynczego
odczytu następuje jednoczesny dostęp do wszystkich dysków.
Potrzebne dane oraz towarzyszący im kod korekcji błędów są
dostarczane do sterownika tablicy. Jeśli wystąpił błąd
jednobitowy, sterownik może go rozpoznać i natychmiast
skorygować, dzięki czemu czas dostępu odczytu nie ulega
wydłużeniu. W przypadku pojedynczego zapisu musi nastąpić
dostęp do wszystkich dysków danych i dysków parzystości.
Poziom RAID 2 byłby właściwym wyborem tylko w środowisku,
w którym występuje wiele błędów dyskowych. Jeśli
indywidualne dyski i napędy dyskowe wyróżniają się dużą
niezawodnością, RAID 2 jest rozwiązaniem rozrzutnym i po
prostu nie jest wykorzystywany.
RAID poziom 3
RAID 3 jest zorganizowany podobnie do RAID 2. Różnica
polega na tym, że wymaga on tylko jednego dysku
redundancyjnego, niezależnie od wielkości matrycy dysków.
W RAID 3 wykorzystuje się dostęp równoległy, przy czym
dane są rozmieszczone w postaci małych pasków. Zamiast
kodu korekcyjnego jest obliczany bit parzystości dla zespołu
indywidualnych bitów znajdujących się w tej samej pozycji
na wszystkich dyskach danych.
W przypadku uszkodzenia napędu sięga się do napędu
parzystości, po czym następuje rekonstrukcja danych na
podstawie danych zawartych na pozostałych urządzeniach.
Gdy uszkodzony dysk jest wymieniony, zaginione dane mogą
być do niego wprowadzone, a przerwana operacja może być
podjęta na nowo.
Redundancja w RAID 3
Rekonstrukcja danych jest całkiem prosta. Rozważmy tablicę
złożoną z pięciu napędów, w której dyski X0 - X3 zawierają
dane, natomiast X4 jest dyskiem parzystości.
Parzystość i-tego bitu jest obliczana następująco:
X4(i) = X3(i) X2(i) X1(i) X0(i)
Załóżmy, że został uszkodzony napęd X1. Jeśli dodamy X4(i)
X1(i) do obu stron powyższego równania, to otrzymamy
X1(i) = X4(i) X3(i) X2(i) X0(i)
Wobec tego zawartość dowolnego paska danych na
dowolnym dysku danych w tablicy może być zregenerowana
na podstawie zawartości odpowiednich pasków na
pozostałych dyskach tablicy. Zasada ta jest prawdziwa dla
poziomów RAID 3, 4 i 5.
Tryb zredukowany
W przypadku uszkodzenia dysku wszystkie dane są
nadal dostępne w tzw. trybie zredukowanym.
W tym trybie w przypadku odczytu zaginione dane są
regenerowane na bieżąco za pomocą obliczeń (jak
wyżej).
Gdy dane są zapisywane w zredukowanej tablicy RAID
3, musi być zachowywana zgodność parzystości w
celu umożliwienia późniejszej regeneracji.
Powrót do pełnego działania wymaga wymiany
uszkodzonego dysku i zregenerowania całej jego
zawartości na nowym dysku.
Wydajność RAID 3
Ponieważ dane są rozmieszczone w bardzo małych
paskach, RAID 3 może osiągać bardzo duże
szybkości transferu danych.
Jakiekolwiek żądanie wejścia-wyjścia spowoduje
równoległe przesyłanie danych ze wszystkich
dysków
danych.
Poprawa
wydajności
jest
szczególnie
widoczna
w
przypadku
dużych
transferów.
Należy jednak zauważyć, że w określonym
momencie może być realizowane tylko jedno
żądanie wejścia-wyjścia. Wobec tego w środowisku
transakcyjnym wydajność ulega pogorszeniu.
RAID poziom 4
W RAID 4 i 5 wykorzystuje się metodę dostępu niezależnego.
W tablicy o dostępie niezależnym każdy dysk działa niezależnie,
dzięki czemu oddzielne żądania wejścia-wyjścia mogą być
obsługiwane równolegle.
Z tego względu tablice o dostępie niezależnym są bardziej
odpowiednie w przypadku zastosowań wymagających szybkiej
odpowiedzi na żądania wejścia-wyjścia, są natomiast stosunkowo
mało przydatne w zastosowaniach wymagających dużych
szybkości transferu danych.
Podobnie jak w przypadku pozostałych poziomów RAID, w RAID 4
wykorzystuje się paskowanie danych. Paski są tu stosunkowo
duże. Pasek parzystości tworzony bit po bicie jest obliczany na
podstawie odpowiednich pasków na każdym dysku danych, a bity
parzystości są przechowywane w odpowiednim pasku na dysku
parzystości.
RAID poziom 4
W schemacie RAID 4 występuje pogorszenie
wydajności zapisu, jeśli realizowane jest
żądanie zapisu małej ilości danych. Za każdym
razem, gdy następuje zapis, oprogramowanie
zarządzania tablicą musi zaktualizować nie
tylko
dane
użytkownika,
ale
również
odpowiednie bity parzystości.
Rozważmy tablicę złożoną z pięciu napędów, w
której dyski X0-X3 zawierają dane, natomiast
X4 jest dyskiem parzystości.
RAID poziom 4
Załóżmy, że dokonywany jest zapis obejmujący tylko pasek na
dysku X1. Początkowo dla każdego i-tego bitu zachodzi
następująca zależność:
X4(i) = X3(i) X2(i) X1(i) X0(i)
Jeśli potencjalnie zmienione bity oznaczymy primem, to po
aktualizacji zachodzi
X4'(i)
=X3(i)X2(i)X1'(i)X0(i)=
=X3(i)X2(i)X1'(i)X0(i)X1(i) X1(i)=X4(i)X1(i) X1'(i)
W celu obliczenia nowego bitu parzystości oprogramowanie
zarządzania tablicą musi odczytać stary pasek użytkownika i stary
pasek parzystości. Następnie musi ono zaktualizować te oba paski
za pomocą nowych danych oraz na nowo obliczonej parzystości.
Tak więc każdy zapis paska powoduje dwa odczyty i dwa zapisy.
RAID poziom 4
W przypadku żądania zapisu dużej ilości
danych, angażującym paski na wszystkich
dyskach, parzystość jest z łatwością obliczana
wyłącznie na podstawie nowych bitów danych.
Dzięki temu dysk parzystości może być
aktualizowany równolegle z dyskami danych i
nie występują dodatkowe odczyty ani zapisy.
Przy każdej operacji zapisu muszą być
aktualizowane dane na dysku parzystości, który
przez to może się stać wąskim gardłem.
RAID poziom 5
RAID 5 jest zorganizowany
podobnie jak RAID 4. Różnica
polega na tym, że w przypadku
RAID 5 paski parzystości są
rozproszone
na
wszystkich
dyskach.
Typowo
wykorzystuje
się
schemat cykliczny (ang. round-
robin), co widać na rys.
W przypadku tablicy n-dyskowej
pasek
parzystości
jest
umieszczany
na
różnych
dyskach
w
odniesieniu
do
pierwszych
n
pasków
danych, po czym schemat
ten jest powtarzany.
Rozproszenie
pasków
parzystości na wszystkich
napędach
zapobiega
ewentualnemu
występowaniu
wąskich
gardeł, o których była
mowa w odniesieniu do
RAID 4.
Pamięć optyczna
W roku 1983 wprowadzono jeden z najbardziej
udanych wyrobów konsumpcyjnych wszystkich czasów:
cyfrowy system akustyczny wykorzystujący płyty
kompaktowe (CD).
CD jest niewymazywalnym dyskiem, na którym można
zapisać ponad 60 minut informacji audio na jednej
stronie. Potężny sukces komercyjny płyty CD umożliwił
opracowanie taniej technologii optycznego dysku
pamięciowego, która stanowi zapowiedź rewolucji
obejmującej przechowywanie danych w komputerach.
W ciągu minionych kilku lat wprowadzono wiele
systemów dysków optycznych.
Dyski optyczne
CD
Dysk kompaktowy. Niewymazywalny dysk do przechowywania
informacji
audio
w
postaci
cyfrowej.
W
systemie
znormalizowanym są używane dyski o średnicy12 cm, przy
czym czas ciągłego odtwarzania przekracza 60 min.
CD-ROM
Pamięć stała na dysku kompaktowym. Niewymazywalny dysk
służący do przechowywania danych komputerowych. W
systemie znormalizowanym są używane dyski o średnicy 12
cm.
CD-I
Norma określająca sposoby umieszczania informacji audio,
wideo,
graficznych
i
tekstowych
oraz
programów
komputerowych na CD-ROM.
Dyski optyczne
DVI
Cyfrowy dysk wideo. Technologia tworzenia cyfrowej, zagęszczonej
reprezentacji
informacji
wideo.
Reprezentacja
ta
może
być
przechowywana na CD lub na innym dysku. W aktualnych systemach są
używane CD, na których można zapisać około 20 minut informacji wideo.
WORM
Jednokrotny zapis, wielokrotny odczyt. Dysk, na którym zapis jest
łatwiejszy niż na CD-ROM, co umożliwia handlową dostępność
unikalnych dysków w jednym egzemplarzu. Podobnie jak w przypadku
CD-ROM, po wykonaniu operacji zapisu dysk może być tylko
odczytywany. Najpopularniejszy rozmiar to 5,25 cala, pojemność od 200
do 800 MB danych.
Wymazywalny dysk optyczny
Dysk optyczny, który może być z łatwością wymazywany i zapisywany.
Używane są zarówno dyski o średnicy 3,25 cala, jak i 5,25 cala. Typowa
pojemność to 650 MB
Dyski optyczne
DVD
Rodzajem pamięci optycznej, który zyskuje
znaczną popularność, jest płyta DVD (początkowo
Digital Video Disk dziś Digital Versatile Disk).
Historia się powtórzyła; płyta zaprojektowana
głównie do rejestracji filmów stała się bardziej
uniwersalnym nośnikiem danych cyfrowych o
pojemności 4,7-17 GB. Pojawiły się również
zapisywalne i wymazywalne wersje nośnika
(DVD+R, DVD-R, DVD+RW, DVD-RW, DVD-RAM)
CD-ROM
Zarówno akustyczne płyty CD, jak i płyty CD-ROM (ang.
compact disk read-only memory - pamięć stała na
dyskach
kompaktowych)
wykorzystują
podobną
technologię. Główną różnicę stanowi to, że odtwarzacze
CD-ROM
mają
podzespoły
korekcyjne
w
celu
poprawnego transferu danych z dysku do komputera.
Oba typy dysków są produkowane w ten sam sposób.
Dysk jest wykonywany z żywicy, np. poliwęglanowej, i
pokrywany warstwą dobrze odbijającą światło, zwykle
aluminiową.
Informacja zarejestrowana cyfrowo (albo muzyka, albo
dane komputerowe) jest nanoszona w postaci
mikroskopijnych zagłębień na powierzchnię odbijającą.
CD-ROM
Po raz pierwszy wykonuje się to za pomocą dobrze
zogniskowanego światła lasera o dużej mocy, dzięki czemu
powstaje dysk wzorcowy. Dysk ten służy do wykonywania
formy, która służy do tłoczenia kopii. Powierzchnia z
naniesioną informacją jest zabezpieczana przed kurzem i
zarysowaniem przez pokrycie przezroczystym lakierem.
Informacja jest odczytywana z płyty CD lub z CD-ROM za
pomocą lasera małej mocy wbudowanego w odtwarzacz
płyt lub napęd CD-ROM. Laser świeci przez przezroczyste
pokrycie, a dysk jest wprawiany w ruch obrotowy przez
silnik. Natężenie odbitego światła zmienia się, gdy
napotyka ono wgłębienie. Zmiana ta jest wykrywana przez
fotoczujnik i zamieniana na sygnał cyfrowy.
CAV
Wgłębienie położone bliżej środka obracającego się
dysku porusza się względem ustalonego punktu (np.
wiązki laserowej) wolniej niż wgłębienie na obrzeżu
płyty, trzeba więc znaleźć sposób kompensowania zmian
szybkości, żeby laser mógł odczytywać dane z tą samą
szybkością.
Można to osiągnąć - podobnie jak w przypadku dysków
magnetycznych - przez zwiększanie odległości między
bitami informacji zapisanymi w segmentach dysku.
Informacje mogą więc być odczytywane z tą samą
szybkością przy dysku obracającym się ze stałą
prędkością kątową (ang. constant angular velocity -
CAV).
CAV
Na rysunku (następny slajd) jest pokazany układ dysku
wykorzystującego CAV.
Dysk jest podzielony na pewną liczbę sektorów oraz na
szereg koncentrycznych ścieżek. Zaletą stosowania stałej
prędkości kątowej jest to, że indywidualne bloki danych mogą
być bezpośrednio adresowane za pomocą ścieżki i sektora.
Aby przesunąć głowicę z jej obecnego położenia pod
określony adres, wymagany jest tylko mały ruch głowicy do
określonej ścieżki oraz krótkie oczekiwanie, aż odpowiedni
sektor znajdzie się pod głowicą.
Wadą napędów CAV jest to, że ilość danych, które mogą być
przechowywane na długiej, zewnętrznej ścieżce jest taka
sama, jak na krótkiej ścieżce wewnętrznej.
Mapa powierzchni dysku
obracającego się ze stałą
prędkością kątową
CLV
Ponieważ lokowanie mniejszej ilości informacji na brzegu
dysku powoduje marnowanie powierzchni, metoda CAV nie
znalazła zastosowania w napędach CD i CD-ROM.
Zamiast tego informacja jest umieszczana na dysku
równomiernie w segmentach o tych samych rozmiarach,
które są skanowane z tą samą szybkością w wyniku
obracania dysku ze zmienną prędkością kątową.
Wgłębienia są więc odczytywane przez laser ze stałą
prędkością liniową (ang. constant linear velocity - CLV).
Dysk obraca się wolniej w przypadku dostępu do danych na
obrzeżu niż w przypadku sięgania w okolice środka dysku.
Tak więc pojemność ścieżki i opóźnienie obrotowe
wzrastają, gdy ścieżka znajduje się blisko brzegu dysku.
Mapa powierzchni dysku
obracającego się ze stałą
prędkością liniową
Na rysunku jest pokazany rozkład
danych na płytach CD i CD-ROM. Jak
już wspomnieliśmy, dane są ułożone
w ciągu wzdłuż spiralnej ścieżki. W
przypadku wykorzystywania napędu
CLV dostęp swobodny jest trudniejszy.
Lokalizowanie określonego adresu
wymaga
wstępnego
przesunięcia
głowicy,
dostosowania
prędkości
obrotowej, odczytania adresu, a
następnie dokonania nieznacznych
korekcji w celu znalezienia i uzyskania
dostępu do potrzebnego sektora.
Parametry płyt CD-ROM
Produkowano płyty CD-ROM o różnych gęstościach.
Zwykle odstęp między ścieżkami wynosi 1,6 μm
(1,610
-6
m).
Zapisywalna szerokość płyty CD-ROM wzdłuż
promienia wynosi 32,55 mm, a więc całkowita liczba
możliwych ścieżek jest równa 32 550 μm podzielone
przez odstęp ścieżek, co daje 20 344 ścieżek.
W rzeczywistości mamy do czynienia z pojedynczą
ścieżką spiralną i możemy obliczyć jej długość,
mnożąc średni obwód przez liczbę zwojów spirali;
daje to około 5,27 km.
Parametry płyt CD-ROM
Stała prędkość liniowa napędu CD-ROM
wynosi 1,2 m/s, co daje czas zapisu całej
ścieżki 4 391 s lub 73,2 min, co jest zbliżone
do standardowego maksymalnego czasu
odtwarzania akustycznej płyty kompaktowej.
Ponieważ
dane
standardowo
są
odczytywane z dysku z szybkością 176,4
kB/s (1), pojemność płyty CD-ROM wynosi
774,57 MB.
Dyski magneto-optyczne
W systemie tym energia wiązki laserowej jest stosowana w
połączeniu z polem magnetycznym do zapisywania i
wymazywania informacji, co jest wykonywane przez
odwracanie biegunów magnetycznych w małej powierzchni
dysku pokrytego materiałem magnetycznym.
Wiązka laserowa nagrzewa określoną plamkę na dysku, a pole
magnetyczne jest w stanie zmienić orientację magnetyczną
tej plamki w czasie, gdy jej temperatura jest zwiększona.
Ponieważ proces polaryzacji nie powoduje trwałej zmiany w
dysku, może on być powtarzany wielokrotnie.
W przypadku odczytu kierunek namagnesowania może być
wykryty przez spolaryzowane światło lasera. Spolaryzowane
światło odbite od określonej plamki zmienia swój kąt
polaryzacji zależnie od orientacji pola magnetycznego.
Zalety dysków magneto-
optycznych
Stosunkowo
duża
pojemność.
Na
dysku
optycznym o średnicy 5,25 cala można
przechowywać około 650 MB danych.
Możliwość przenoszenia. Dysk optyczny może
być wyjmowany z napędu.
Niezawodność.
Tolerancje
wymagane
w
odniesieniu do dysków optycznych są znacznie
większe
niż
w
odniesieniu
do
dysków
magnetycznych o dużej pojemności. Dzięki
temu są one bardziej niezawodne i trwałe.
Taśma magnetyczna
W systemach taśmowych wykorzystuje się te same
metody odczytu i zapisu, co w systemach dyskowych.
Nośnikiem jest elastyczna taśma mylarowa pokryta
tlenkiem magnetycznym.
Taśma i napęd taśmy są podobne do wykorzystywanych
w domowych systemach magnetofonowych.
Nośnikowi taśmowemu nadaje się strukturę złożoną z
niewielkiej liczby równoległych ścieżek. Wcześniejsze
systemy taśmowe wykorzystywały zwykle 9 ścieżek.
Umożliwiało to jednoczesne zapisywanie jednego bajta
danych; na dziewiątej ścieżce zapisywano dodatkowy bit
parzystości. Nowsze systemy taśmowe wykorzystują 18
lub 36 ścieżek.
Format 9-ścieżkowej taśmy
magnetycznej
Podobnie jak w przypadku dysku, dane są odczytywane i
zapisywane na taśmie w postaci kolejnych bloków
zwanych rekordami fizycznymi.
Bloki na taśmie są oddzielane przerwami określanymi jako
przerwy międzyrekordowe. Na rysunku jest pokazana
taka struktura taśmy 9-ścieżkowej.
Jak w przypadku dysku, taśma jest formatowana w celu
ułatwienia lokalizacji rekordów fizycznych.
Dostęp do danych na
taśmie jest sekwencyjny
Napęd taśmowy jest urządzeniem o dostępie sekwencyjnym. Jeśli
głowica znajduje się przy rekordzie 1, to w celu odczytania rekordu N
konieczne jest kolejne odczytanie rekordów fizycznych od 1 do N - 1.
Jeśli głowica znajduje się za poszukiwanym rekordem, konieczne jest
przewinięcie pewnej długości taśmy i ponowne rozpoczęcie odczytu.
W przeciwieństwie do dysku taśma znajduje się w ruchu tylko
podczas operacji odczytu lub zapisu.
W odróżnieniu od taśmy napęd dyskowy jest określany jako
urządzenie o dostępie bezpośrednim. Napęd dyskowy nie musi
odczytywać sekwencyjnie wszystkich sektorów na dysku w celu
dotarcia do poszukiwanego sektora. Musi tylko czekać na właściwy
sektor na jednej ścieżce i może sukcesywnie sięgać do dowolnej
ścieżki.
Pamięć taśmowa była pierwszym rodzajem pamięci pomocniczej.
Wciąż jest szeroko używana jako najtańszy i najpowolniejszy element
hierarchii pamięci.