Urządzenia magazynujące

Ukończone

Teraz omówimy szczegółowo rzeczywiste urządzenia używane do przechowywania i utrwalania danych. Ten materiał wideo powinien służyć jako przypomnienie różnych typów dostępnych technologii magazynowania z uwzględnieniem ich kosztów i wydajności.

Hierarchia pamięci

Krótkie przypomnienie — hierarchię pamięci zilustrowano na poniższym rysunku. Najszybszymi (i najdroższymi) miejscami do magazynowania w nowoczesnych komputerach są rejestry mikroukładowe, które składają się z około szesnastu 8-bajtowych rejestrów na rdzeń. Dostęp do nich można uzyskać w ramach jednego cyklu zegarowego (<1 nanosekund). Mamy też statyczne pamięci RAM (SRAM), wykorzystywane przez technologię magazynową w pamięci podręcznej. Dostęp do nich można uzyskać w czasie od 0,5 do 2,5 nanosekundy, ale ich koszt wynosi około 10–50 USD na megabajt. Nowoczesne procesory mają kilka megabajtów pamięci tego typu, które znajdują się na różnych poziomach (L1–L3) pamięci podręcznej procesora. Każdy poziom różni się pod względem pojemności, czasu dostępu, przepustowości i organizacji.

Memory hierarchy.

Rysunek 3. Hierarchia pamięci

Od tego miejsca można zaobserwować znaczny postęp w zakresie pojemności i czasu dostępu podczas przechodzenia do pamięci głównej (DRAM). Bieżąca technologia pamięci DRAM umożliwia dostęp z opóźnieniem na poziomie 50–70 nanosekund i składa się z wielu gigabajtów. Koszt pamięci DRAM wynosi 10–30 USD na GB, co pozwala uzyskać kilka gigabajtów przestrzeni dyskowej w komputerach osobistych oraz wiele terabajtów w serwerach. Należy pamiętać, że wszystkie opisanej do tej pory pamięci są nietrwałe. Dane przechowywane w tych pamięciach istnieją tak długo, jak pamięci są włączone. Po wyłączeniu pamięci wszystkie informacje zostaną utracone.

Kolejny znaczny przeskok można zaobserwować w przypadku dysków, które potrzebują od dziesiątek do setek milisekund na pobranie danego elementu, w zależności od używanego typu urządzenia magazynującego. Na koniec istnieje sieć, która może łączyć maszyny, które znajdują się w tym samym stojaku lub mogą przechodzić między krajami/regionami. Opóźnienia dostępu mogą znacznie się różnić w zależności od używanych technologii i odległości. Dyski są trwałe i zachowują dane nawet wtedy, gdy zostaną wyłączone.

Typy urządzeń magazynujących

Dyski magnetyczne

Dyski magnetyczne od wielu dekad były najbardziej ekonomicznymi i popularnymi systemami magazynowania, ale są powoli wypierane z pozycji lidera przez dyski SSD. Dyski magnetyczne składają się z co najmniej jednej obracającej się płyty magnetycznej i umieszczonej nad nią ruchomej głowy odczytu/zapisu. Dyski magnetyczne są niezwykle gęste i tanie. W chwili pisania niniejszego materiału dyski o pojemności 6 TB w rozmiarze 3,5 cala są dostępne w cenie około 270 USD, co wynosi około 4 centów na gigabajt. Dyski magnetyczne są więc jedną z najtańszych dostępnych technologii magazynowania online (w przeciwieństwie do technologii offline/wymiennych, takich jak taśmy czy dyski optyczne).

Jednakże dyski magnetyczne to jedne z najwolniejszych technologii magazynowania. Typowe opóźnienie dostępu na nowoczesnych dyskach wynosi 5–20 milisekund. Główną przyczyną takiej wydajności dysków magnetycznych jest fakt, że podczas odczytywania i zapisywania danych pracują w nich ruchome elementy. Jak zilustrowano na poniższym rysunku, dyski magnetyczne są zorganizowane jako kolekcja sektorów, ścieżek i cylindrów. Szczególnie powierzchnia typowego dysku jest podzielona na wiele koncentrycznych ścieżek. Każda ścieżka jest podzielona na wiele sektorów o takim samym rozmiarze. Dane przechowywane w sektorach są odczytywane i zapisywane przy użyciu zestawu głowic odczytu i zapisu — po jednej na powierzchnię. Zestaw ścieżek wybieranych przez głowice dysków w dowolnym momencie jest nazywany cylindrem. Dostęp do danych w sektorach można uzyskać, przenosząc głowice dysków do odpowiednich cylindrów (czas wymagany w celu wykonania tego zadania jest określany jako czas wyszukiwania). Następnie należy poczekać na obrót dysku aż do momentu, gdy pod głowicą znajdzie się pożądany sektor dysku (czas ten nazywany jest czasem rotacji). Czas wymagany do uzyskania dostępu do sektora (tj. czas wyszukiwania + czas rotacji) zależy od odległości bieżącej pozycji głowic dysków od żądanego sektora.

Architecture of a magnetic hard disk drive.

Rysunek 4. Architektura magnetycznego dysku twardego

W rezultacie dyski magnetyczne są wolne, szczególnie w przypadku losowych odczytów i zapisów. Aby odczytać informacje, głowica musi ciągle przemieszczać się pomiędzy sektorami dysku, co zwiększa łączny czas potrzebny do uzyskania dostępu do danych. Jednakże są tanie i główną technologią magazynowania używaną w systemach magazynowania w dużej skali. Magazyn magnetyczny jest z reguły głównym urządzeniem magazynującym znajdującym się na końcu spektrum, odpowiadającym za utrwalanie dużych ilości danych ekonomiczny w sposób.

Dyski półprzewodnikowe

Pojawienie się technologii flash NAND w ciągu ostatniej dekady zwiększyło wydajność i obniżyło ceny magazynowania danych na dyskach SSD. W przeciwieństwie do dysków magnetycznych dyski półprzewodnikowe (SSD) nie mają żadnych ruchomych części i są niemal o rząd wielkości szybsze niż dyski magnetyczne w przypadku losowych odczytów i zapisów. Dyski SSD mają opóźnienia dostępu, które są o rząd wielkości niższe niż dyski magnetyczne (70–150 nanosekund w przypadku operacji sekwencyjnych), ale są znacznie bardzie kosztowne(około 2–5 USD na GB).

Architecture of a solid-state hard drive.

Rysunek 5. Architektura dysku twardego półprzewodnikowego

Jednakże dyski SSD mają własne problemy z wydajnością i niezawodnością. Ze względu na charakter technologii flash NAND zapisy do dyskach SSD wymagają kosztownego cyklu wymazywania, który wymazuje całą stronę danych, jak pokazano na poprzednim rysunku. Jest to czasochłonne i z czasem zużywa nośnik flash. Dyski SSD zawierają wewnętrznie logikę do oceny poziomu zużycia nośnika poprzez rozłożenie operacji zapisu na wiele stron i bloków. Tak jak wspomniano we wcześniejszym module, na rynku dostępnych jest wiele technologii dysków SSD, w których podstawowymi parametrami do rozważenia są koszt, wydajność oraz żywotność dysku.

W rezultacie dyski SSD mają różne charakterystyki wydajności niż dyski obracające się. Sekwencyjne operacje odczytu i zapisu (gdzie procesor uzyskuje dostęp do bloków dysku logicznego w kolejności sekwencyjnej) mają porównywalną wydajność, ale odczyt sekwencyjny jest nieco szybszy niż zapis sekwencyjny. Jeśli jednak uzyskuje się dostęp do bloków logicznych w kolejności losowej, zapis jest o rząd o wielkości wolniejszy niż odczyt, głównie ze względu na charakter logiki wymazywania w dyskach SSD.

Pamięć DRAM jako urządzenie magazynujące

Stałe zwiększanie rozmiarów pamięci DRAM wraz ze spadkiem ich ceny za gigabajt, spowodowało pojawienie się systemów magazynowania w pamięci. Systemy magazynowania w pamięci zapewniają większą wydajność (o rząd wielkości) niż tradycyjne systemy magazynowania oparte na dyskach, ale z jednym dużym zastrzeżeniem — trwałością. Systemy przechowywania w pamięci zwykle mają dość złożone schematy, które przesyłają dane strumieniowo do trwałego magazynu w celu ich utrwalenia na potrzeby odzyskiwania i uzyskania odporności na uszkodzenia. Szczegółowo omówimy te typy systemów w dalszej części tego modułu.

Pamięci klasy magazynowej i pamięci trwałe

Na rynku zaczynają pojawiać się pewne technologie, których celem jest wyeliminowanie różnicy w wydajności pomiędzy nietrwałą pamięcią DRAM a trwałymi dyskami SSD/magnetycznymi. Te urządzenia nazywane pamięciami klasy magazynującej mają na celu uzyskanie opóźnień dostępu, jakimi charakteryzują się pamięci DRAM. Pozwala to na szybkie przenoszenie danych przy zachowaniu trwałości zapewnianej przez dyski SSD/magnetyczne oraz znacznie większej gęstości magazynu niż pamięci DRAM. Wraz z ulepszonymi wersjami pamięci flash NAND technologie takie jak memrystory czy pamięci ze zmianą fazy konkurują ze sobą w celu uzyskania jak największego udziału w rynku. Pamięci klasy SCM/NVM są ciągle rozwijane i oczekujemy, że wkrótce staną się częścią hierarchii pamięci.