Architektura ITPolecane tematy

Przyszłość zapisu danych zdefiniowana programowo

Od strony sprzętowej rozwiązania stosowane w systemach pamięci nie zmieniły się niemalże od początku, od powstania rozwiązań typu EEPROM. Wszystko jednak wskazuje na to, że to oprogramowanie przedefiniuje sposób myślenia o przechowywaniu danych i efektywnym do nich dostępie.

Przyszłość zapisu danych zdefiniowana programowo

Jeszcze w czasie pracy w banku wielokrotnie rozmawialiśmy z kolegami z IT o wielkich oczekiwaniach rewolucji w naszej dziedzinie. Jak opadły pierwsze emocje po wdrożeniu wirtualizacji serwerów, zakończyło się świętowanie związanych z tym sukcesów a platforma ta stała się standardem, została technologiczna pustka. To nie znaczy oczywiście, że nie było innowacji. Była, ale rewolucji brakowało. Rozmawialiśmy wtedy, że przydałoby się odkryć np. materiał – nieziemski kamień lub coś podobnego – który potrafi przechować w 1cm3 1PB i więcej danych. To z pewnością byłoby coś! Tymczasem trzeba zejść na ziemię i za pomocą dostępnych technologii żmudnie zapisywać nasze zera i jedynki, które produkujemy szybciej niż cokolwiek innego na świecie.

Technologię zapisu ominęła na razie cyfrowa rewolucja

 

Warto jednak na moment wrócić do notacji binarnej, fundamentu digitalizacji, aby przypomnieć sobie, że wszystkie używane dotychczas technologie sprowadzają się do określenia stanu „jest” lub „nie ma” czy to na karcie perforowanej, na talerzu magnetycznym czy w pamięci Flash. Jednak – w dużym uproszczeniu – jedyne co rozwijamy, aby pomieścić nasze dane i mieć do nich szybki dostęp to jednoczesny zapis wielu zer i jedynek na coraz mniejszym obszarze. To w pewnym sensie tak, jakbyśmy starali się ciągle minimalizować karty perforowane i starać się zapisać ich wiecej w tym samym czasie. Ciągle jednak pracujemy na stanach 0 i 1. Kiedyś wykorzystywaliśmy do tego, dziurkując papier, mechanikę. Dzisiaj wykorzystujemy do tego elektryczność i magnetyzm. W pamięciach Flash wpuszczamy elektrony do pułapki zwanej Floating gate, gdzie mogą być przechowywane przez wiele, wiele lat. Zasada ta sama, ale diametralnie inna skala i proces technologiczny.

Warto na moment wrócić do notacji binarnej, fundamentu digitalizacji, aby przypomnieć sobie, że wszystkie używane dotychczas technologie sprowadzają się do określenia stanu „jest” lub „nie ma” czy to na karcie perforowanej, na talerzu magnetycznym czy w pamięci Flash. Jednak – w dużym uproszczeniu – jedyne co rozwijamy, aby pomieścić nasze dane i mieć do nich szybki dostęp to jednoczesny zapis wielu zer i jedynek na coraz mniejszym obszarze.

Skoro więc nie zapowiada się zmiana systemu zapisu warto przyjrzeć się temu co zmieniało się przez lata i czego możemy się spodziewać. Otóż pamięci Flash tak naprawdę są rozwinięciem znanej od wielu lat technologii EEPROM. Rozwinięcie tego skrótu brzmi tak: Electrically Erasable Programmable Read-Only Memory. Tak, rozwiązania ta służyły tylko do odczytu. W tym miejscu warto sobie przypomnieć układy scalone z okrągłym okienkiem, często używane jako tzw. BIOS. Aby je zapisać, uprzednio umieszczało się taki układ w urządzeniu kasującym przed następnym zapisem. Ten proces poniekąd do dzisiaj tak działa tylko jest dalece zminiaturyzowany i automatyczny, a przy tym sterowany prądem, a nie światłem ultrafioletowym.

NOR i NAND: na czym to polega?

Ciągle jednak – zanim zapiszemy nasze „zero” lub „jeden” – musimy uprzednio wykasować komórkę pamięci. I to właśnie w związku z tym aspektem producenci głowią się jak zrobić to najszybciej i najskuteczniej. Początkowe konstrukcje przeszły m.in. z technologii NOR na NAND. Oczywiście nie tylko fizyka, ale również matematyka ma znaczenie w przechowaniu informacji. Jako absolwent klasy matematyczno-fizycznej XIV L.O. we Wrocławiu z radością obserwuję, jak to właśnie matematyka zaczyna być czymś więcej niż teorią i żmudnym wyprowadzaniem wzorów. Analityka, BigData, statystyka medyczna… to przecież wszystko dziedzina królowej nauk!

Wracając do przechowywania informacji – operacje NAND i NOR to nic innego jak zaprzeczenie iloczynu logicznego i sumy logicznej. Zatem jeśli AND (iloczyn logiczny) i OR (suma logiczna) wyglądają jak poniże:

AND

  • prawda i prawda = prawda
  • prawda i fałsz = fałsz
  • fasz i prawda = fałsz
  • fałsz i fałsz = fałsz

OR

  • prawda i prawda = prawda
  • prawda i fałsz = prawda
  • fasz i prawda = prawda
  • fałsz i fałsz = fałsz

…to operacje NAND (NOT AND) i NOR (NOT OR) są tego całkowitym zaprzeczeniem, czyli:

NAND

  • prawda i prawda = fałsz
  • prawda i fałsz = prawda
  • fasz i prawda = prawda
  • fałsz i fałsz = prawda

NOR

  • prawda i prawda = fałsz
  • prawda i fałsz = fałsz
  • fasz i prawda = fałsz
  • fałsz i fałsz = prawda

Jak widać operacja logiczna wymaga dwóch operatorów mogących przyjąć wartości prawda lub fałsz, albo – jeśli tak nam wygodniej – 0 lub 1. Zapis jest niczym innym jak zmianą stanu komórki na wynik operacji logicznej. W elektronice wartości prawda i fałsz wyrażamy ładunkiem elektrycznym. I tak dostarczając napięcie do komórki pamięci – w zależności od wyniku operacji według wzoru powyżej – albo zmieniamy jej stan albo nie. To poniekąd tak jakbyśmy za pomocą jednej wartości odblokowywali możliwość zapisu, a drugą przekazywali co ma być zapisane: prawda czy fałsz.

W bramkach NAND logiczną jedynkę stanowi pusta bramka, czyli taka, która nie przechowuje ładunku elektrycznego. Stan zero to wyższe napięcie. Dodatkowo, aby zmienić stan komórki trzeba przyłożyć wysokie napięcie, podczas gdy jej odczyt odbywa się przy niższym. To wszystko to – dość nieciekawy jak na XXI wiek – proces technologiczny, ale to właśnie tu można szukać m.in. trwałości dysków.

Można się zastanowić, dlaczego akurat NAND i NOR? Dlaczego nie AND? Zauważmy jednak, że wynik obu tych operacji tylko w jednym przypadku z czterech możliwych ma inny stan niż reszta. Druga sprawa to proces technologiczny stosowany w produkcji. Bramki NAND zna każdy absolwent wydziału bliskiego elektronice z dowolnej polskiej (i nie tylko) uczelni technicznej. Wtajemniczeni szybko skojarzą, najtańszy, wszędzie dostępny układ UCY 7400 – cztery dwu wejściowe bramki NAND w jednym układzie.

Algorytm zapisu danych w pamięci

Są jednak jeszcze dwa aspekty: w bramkach NAND logiczną jedynkę stanowi pusta bramka, czyli taka, która nie przechowuje ładunku elektrycznego. Stan zero to wyższe napięcie. Dodatkowo, aby zmienić stan komórki trzeba przyłożyć wysokie napięcie, podczas gdy jej odczyt odbywa się przy niższym. To wszystko to – dość nieciekawy jak na XXI wiek – proces technologiczny, ale to właśnie tu można szukać m.in. trwałości dysków.

Drugim aspektem jest algorytm zapisu. Komórki NOR są połączone równolegle, podczas gdy NAND szeregowo, a to oznacza, że zapis może odbywać się tylko całymi stronami pamięci. W praktyce dzieje się tak, że nowe dane zapisywane są w zupełnie nowym obszarze, a ze starego uzupełniane są tylko brakujące strony. Na koniec i tak trzeba skasować poprzednie komórki przed kolejnym zapisem.

To właśnie proces optymalizacji powyżej opisanych operacji, wybranie właściwego czasu na poszczególne operacje, a być może także predykcja zapisu determinuje efektywność i trwałość pamięci Flash. Oczywiście na to wszystko nakładają się aspekty, takie jak np. zastosowanie wielu – lub jednej – warstwy zapisu (MLC, SLC).

Software-Defined Storage

Czy warto na co dzień to wszystko wiedzieć? Zapewne nie! Warto jednak to spróbować zrozumieć, aby móc dojść do jednego, a myślę, że trafnego wniosku. Dalszy rozwój pamięci Flash – przynajmniej, dopóki używamy elektroniki, a nie na przykład biochemii – jest mocno uzależniony od… OPROGRAMOWANIA. To właśnie ono mocno decyduje jak skutecznie wykorzystujemy dobrodziejstwa starej dobrej bramki NAND i ładunku elektronicznego. To oprogramowanie decyduje o kolejności zapisu na dyskach SSD, dostępie do stron czy w końcu o kompresji danych.

Dalszy rozwój pamięci Flash – przynajmniej, dopóki używamy elektroniki, a nie na przykład biochemii – jest mocno uzależniony od… OPROGRAMOWANIA. To właśnie ono mocno decyduje jak skutecznie wykorzystujemy dobrodziejstwa starej dobrej bramki NAND i ładunku elektronicznego. To oprogramowanie decyduje o kolejności zapisu na dyskach SSD, dostępie do stron czy w końcu o kompresji danych.

W jednym z najszybszych obecnie stosowanych w biznesie modułach dyskowych Hitachi FMD DC2 zastosowano właśnie mechanizmy programowe. Pozwalają one skutecznie zwiększyć ich pojemność i wydajność. Sama technika – zmiany stanu z „zero” na „jeden”, czy odwrotnie – nie zmieniła się dramatycznie. Choć ciągle jest ulepszana. Co będzie dalej? Czas pokaże. Oczywiście miło by było wynaleźć wspomniany na początku nieziemski kamień o pojemności 1PB…

 

 

 

Tagi

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *