Zostałeś zalogowany. Za X sek. strona zostanie przeładowana.

Logo NInA
Powrót

Długoterminowa archiwizacja danych cyfrowych | Esej Jerzego Piotra Walczaka

Autor przedstawia podstawowe zasady konstrukcji elektronicznych archiwów długoterminowych i wieczystych. Omawia również najważniejsze problemy związane z długotrwałym przechowywaniem danych cyfrowych.

Większość specjalistów od systemów informatycznych uważa, że wystarczy „wrzucić” dane cyfrowe na taśmę magnetyczną i zostaną one zachowane na zawsze. Taka opinia może się wydawać zrozumiała, przyjmując z przymrużeniem oka stwierdzenie – „zachowane na zawsze”. Niestety, nie jest to prawda, jeśli potraktować zagadnienie poważnie. Postaram się wyjaśnić w artykule, dlaczego długookresowe przechowanie nagrań audiowizualnych jest dość złożonym zagadnieniem oraz przedstawię podstawowe własności konstrukcji elektronicznych archiwów długoterminowych i wieczystych. Artykuł podzieliłem na dwie części. W pierwszej – omawiam podstawowe idee konstrukcji, a w drugiej – przedstawię praktyczną jej realizację.

Demon Maxwella

Zacznę od początku. Na długo przed pojawieniem się komputerów i urządzeń „produkujących” dane cyfrowe, w 1867 roku, fizyk James Clark Maxwell przedstawił pewien teoretyczny paradoks, który później został nazwany demonem Maxwella. Wydawało się, że ów teoretyczny „stworek” jest argumentem przeciw drugiej zasadzie termodynamiki. Przez ponad wiek zmagano się z tym problemem i, co może wydawać się dziwne, jego skuteczna analiza okazała się bardzo przydatna do odgadnięcia, jak wygląda fizyczny proces przetwarzania danych w komputerach. A mówiąc dokładniej, pojawiło się pytanie – czy można teoretycznie zbudować komputer, który będzie działał za darmo, to znaczy nie będzie rozpraszał energii w trakcie wykonywania obliczeń?  Wiadomo z doświadczenia, że współczesne komputery „konsumują” dużo energii elektrycznej i zapewne każdemu użytkownikowi laptopa czy telefonu komórkowego przytrafił się rozładowany akumulator. Do tego wrócę za chwilę.

Drążąc zagadnienie głębiej, możemy sprecyzować jeszcze bardziej poprzednie pytanie i rozważyć, czy przy każdej operacji wykonywanej podczas realizacji programu komputerowego energia będzie rozpraszana do otoczenia? Odpowiedź podał Charles H. Bennett po analizie zachowania demona Maxwella; była ona zaskakująca. Pomijając szczegóły argumentacji Bennetta, okazuje się, że teoretycznie proces obliczeniowy może odbywać się bez rozpraszania energii, ale tylko do momentu, kiedy wystąpi konieczność wymazania bitu informacji z pamięci demona. Czyli okazuje się, że nie można skonstruować jakiegokolwiek komputera, który będzie działał „za darmo”. Nawiasem mówiąc, przy okazji tych rozważań, bit informacji nabrał cech fizycznych i stał się realnym bytem. Po raz pierwszy wzór na minimalną liczbową wartość energii, potrzebną do skasowania bitu z pamięci, podał Rolf Landauer w 1961 roku. Obecnie nazywa się zasadą Landauera i mówi, że Emin=k*T*ln2, gdzie k jest stałą Boltzmanna (1.38 × 10-23 J/K), T – temperaturą w Kelvinach układu fizycznego, a ln2 – wartością stałą (równą logarytmowi naturalnemu z liczby 2).  Na przykład, jeśli pamięć demona Maxwella znajduje się w temperaturach zbliżonych do pokojowej, to minimalna energia Emin potrzebna do skasowania bitu będzie rzędu 10-21J. W obecnie produkowanych komputerach wymazanie bitu w pamięci (np. operacyjnej) wymaga dostarczenia energii co najmniej 10-8 J, czyli aż o trzynaście rzędów większej od Emin. Wyznaczenie energii minimalnej może wydawać się czysto akademicką „rozrywką”. Otóż nią nie jest. Proces miniaturyzacji podzespołów komputerowych jest ciągły i warto poznać jego ograniczenia.

O informacji zapisanej w pamięci

Na zapis informacji do pamięci można spojrzeć jak na proces kopiowania. Ten proces można również nazwać rozpinaniem informacji w pamięci albo kodowaniem. Kopiowanie informacji wynalazła sama Natura i zastosowała w działaniu cząsteczki RNA, znajdującej się w każdej żywej komórce. Na razie pominę szczegóły zakresu dokładności kopiowania, do czego jeszcze powrócę w dalszych rozdziałach, a zajmę się zagadnieniem jego ograniczeń energetycznych. Landauer i Bennett doszli do wniosku, że teoretyczne nie ma minimalnego ograniczenia energetycznego dla procesu kopiowania, jeśli proces będzie realizowany bardzo powoli. Można udowodnić, że dopiero przy niezerowej prędkości kopiowania energia będzie rozpraszana.

W tym miejscu możemy pokusić się o zdefiniowanie pojęcia „pamięć” z punktu widzenia fizyki. Najprościej można powiedzieć, że jest to pewien metastabilny stan energetyczny, opisany przez mierzalne parametry fizyczne, które nie będą zmieniały się w takcie pomiaru. Jeśli zapis informacji do pamięci jest kopiowaniem, to odczyt będzie procesem pomiaru wartości parametrów tego stanu. Niestety, mamy pewien problem, związany z wykonalnością kopiowania informacji i jej wielokrotnym odczytem. Dopóki nasze rozważania koncentrują się na ograniczeniach opisanych w ramach fizyki klasycznej, to wszystko jest w porządku. Jednak przy pewnym poziomie miniaturyzacji zaczynają dominować efekty kwantowe. Tu występuje pewna trudność, ponieważ sam proces kopiowania na tym poziomie wygląda zupełnie inaczej niż w ujęciu fizyki klasycznej makroświata. No właśnie, więc gdzie znajduje się granica miniaturyzacji? Jest to pytanie nie tylko niezwykle ciekawe, ale i – prawdopodobnie – najbardziej istotne.

Pamięć, którą zdefiniowałem powyżej, jest jak najbardziej klasyczna, a nie kwantowa, o ile taką w ogóle można zdefiniować. Mimo to stan reprezentujący naszą informację jest narażony na oddziaływanie z otoczeniem i ulega zmianie z upływem czasu. Może się wydawać, że z tego powodu informacja rozpłynie się w niebycie. Otóż, z punktu widzenia fizyki, nie jest to prawda, ponieważ informacja będzie cały czas znajdować się częściowo w pamięci, a częściowo w jej otoczeniu. Popatrzmy na pewien przykład, bardzo łatwy w realizacji. Jeśli wpuścimy kroplę atramentu do szklanki z wodą, to przez pierwsze sekundy możemy zlokalizować miejsce upadku kropli na powierzchnię wody. Niech to miejsce będzie śledzoną przez nas informacją. Po kilkunastu minutach atrament zmiesza się z wodą i może się wydawać, że nasza informacja rozpłynęła się jak duch. Ale jest zupełnie inaczej, ponieważ cały czas pozostaje w szklance. Jedynie uległo destrukcji jej początkowe kodowanie (rozpięcie), co po zmieszaniu atramentu z wodą czyni naszą informację niedostępną. W zasadzie, teoretycznie proces odwrotny i powrót do stanu początkowego jest możliwy, ale nie można go praktycznie zrealizować. Henri Poincaré udowodnił, że to kiedyś nastąpi, ale może się zdarzyć, że po czasie przekraczającym znacznie wiek wszechświata. Tego typu procesy będziemy określać jako praktycznie nieodwracalne lub po prostu nieodwracalne. Z matematycznego punktu widzenia proces absolutnie nieodwracalny opisany jest za pomocą uogólnionych funkcji jednokierunkowych. Jeśli w dalszej części artykułu będę wspominał o procesie nieodwracalnym, to będę miał na myśli, że jest on nieodwracalny w praktyce.

Następny przykład pokazuje, że proces destrukcji kodowania informacji można odwrócić, choć intuicyjnie wydaje się to niewykonalne w praktyce. Czasem zdarza się, że intuicja płata nam figle. Popatrzmy na ilustrację, która przedstawia ideę doświadczenia.

 

null

 

 

Układ eksperymentalny przedstawiony na rysunku składa się z dwóch talerzyków, które można obracać między sobą, do czego służy korbka. W szczelinę wpuszczony jest gęsty płyn, np. gliceryna. W dowolnie wybranym miejscu glicerynowej warstwy możemy umieścić kroplę atramentu, która trudniej miesza się z gliceryną niż z wodą. Jeśli zakręcimy powoli i ze stałą prędkością korbką, np. 20 razy, w jednym kierunku, to atrament wymiesza się z gliceryną i zaobserwujemy równomierne zabarwienie gliceryny. Podobnie, jak po zmieszaniu atramentu z wodą. Jeżeli ponownie zakręcimy tyle samo razy, ale w przeciwnym kierunku, to stanie się coś zaskakującego.  Plama atramentu pojawi się w miejscu, gdzie została umieszczona na początku. Ten prosty mechaniczny przykład pokazuje odwracalność procesu kodowania informacji, pomimo pozornie utraconego pierwotnego porządku.

Przeciwdziałanie destrukcji i odwrócenie procesu „rozpływania się” informacji w różnych typach pamięci jest możliwe i może być w pewnym stopniu zrealizowane w praktyce. W przypadku destrukcji nieodwracalnej, na przykład z powodu korozji materiału, z którego wykonana jest pamięć, jedyną metodą będzie wymiana całej pamięci na nową i przeniesienie danych. Utrzymywanie właściwych wartości parametrów fizycznych zapisu w pamięci jest istotnym elementem konstrukcji archiwum długoterminowego. W jaki sposób można to zrobić praktyce, pokażę w drugiej części artykułu.

Wracając do początku rozdziału, możemy wyobrazić sobie, dlaczego „wrzucenie danych na taśmę” na pewno nie pozwoli nam na zachowanie zapisu na zawsze, a nawet nie będzie pewne, czy po dłuższym czasie przechowania taśmy w magazynie będziemy mogli z niej odczytać zarejestrowaną informację.

Zapis danych cyfrowych

Zazwyczaj używamy dość swobodnie słowa bit, nie zawsze myśląc o tym, że mówimy o informacji zapisanej cyfrowo. Chyba jest to najbardziej powszechnie używana jednostka informacji, choć nie jest jedyną. Bit może przyjmować tylko dwie wartości: 0 lub 1. Za pomocą odpowiednio uporządkowanej sekwencji bitów możemy reprezentować dowolną informację, którą są na przykład napisy, wartości temperatury, cyfrowe nagrania audiowizualne, itp. Sekwencję uporządkowanych bitów będę nazywać rekordem. Szczególnym przypadkiem rekordu jest sekwencja ośmiu bitów, którą nazywamy bajtem.

Bit 7 (MSB)

Bit 6

Bit 5

Bit 4

Bit 3

Bit 2

Bit 1

Bit 0 (LSB)

MSB (Most Significant Bit) – bit najbardziej znaczący, LSB (Low Significant Bit) – bit najmniej znaczący

W uporządkowanej sekwencji bitów (Tab. 1) wyróżniamy bit najbardziej znaczący MSB oraz bit najmniej znaczący LSB. W zapisie dziesiętnym liczby, np. 1452, każda pozycja cyfry wskazuje na jej znaczenie tzn. 1*1000 + 4*100 + 5*10 + 2. Liczbę 1452 można zapisać binarnie 10110101100=1*210+0*29+1*28+1*27+0*26+1*25+0*24+1*23+1*22+0*20+0*1, co w przypadku zapisu bajtowego wymaga dwóch bajtów.

Bajt – uporządkowana sekwencja ośmiu bitów – nie zawsze jest wygodny użyciu. Na przykład urządzenia w technice telewizyjnej bardzo często przesyłają i zapisują rekordy 10-bitowe. Tradycyjnie przyzwyczailiśmy się do używania dziesiętnego systemu pozycyjnego (oprócz określania czasu na zegarze), ale w niektórych kulturach stosowany jest dwunastkowy (tuzin) system pozycyjny. Komputery działają w systemie binarnym, choć wiele zapisów wygodniej jest przedstawiać w systemach oktalnym lub szesnastkowym. Wspomniałem, że za pomocą bitów można zakodować dowolną informację. Na przykład do przesyłania i przechowywania napisów służy specjalny system kodowy, umieszczony w tablicach ASCII, gdzie każdemu znakowi (ang. character) przyporządkowana jest konkretna liczba z zakresu od 0 do 255. Rekordy można wiązać w wyższe struktury, np. dwa uporządkowane bajty tworzą nowy rekord, który nazywamy słowem (ang. word), a dwa uporządkowane słowa nazywamy „dwords” (skrót od ang. double words). Większą liczbę uporządkowanych rekordów zazwyczaj nazywa się blokiem danych. Są z nimi związane pewne problemy, ponieważ mamy dwie powszechnie stosowane konwencje uporządkowania sekwencji rekordów. Pierwszą nazywamy Big-Endian (lub gruboskórnością) i wówczas najbardziej znaczący rekord (zazwyczaj jest to bajt) znajduje się na początku struktury. Drugi porządek nazywamy Little-Endian (lub cienkoskórnością), gdzie najbardziej znaczący rekord znajduje się na końcu struktury.  Takie dwutorowe uporządkowanie może stanowić pewien problem w długookresowym przechowaniu danych przy dużej ilości formatów plików będących w użyciu. W przyszłości część formatów plików danych może wyjść z użycia. Dodatkowe utrudnienia w określeniu uporządkowania w zapisach mogą prowadzić do kłopotów z translacją zapomnianych i długo nieużywanych formatów plików.

Komórki pamięci

Najczęściej elektroniczne pamięci są budowane na strukturze pamięci komórkowych, w której przyjmuje się, że jedna komórka może przechowywać bit informacji. Bezpośrednie adresowanie pojedynczych komórek pamięci jest w praktyce niewygodne, dlatego stosujemy adresowanie do uporządkowanej sekwencji komórek, najczęściej reprezentującej bajt.

Komórki mogą być wielostanowe i wówczas pewne zdefiniowane zakresy wartości parametrów stanu tworzą okna dyskryminacji, reprezentujące wartości bitu – 1 lub 0. Na poniższym rysunku narysowałem komórkę trójstanową.

Wydaje się, że komórka wielostanowa nie ma praktycznego zastosowania, ponieważ środkowy, nieokreślony stan, jest zbędny.  Komórka trójstanowa może mieć bardzo proste zastosowanie, kiedy potrzebujemy dokładnie zdefiniować skasowanie bitu. W tym miejscu powinienem wspomnieć, że taka modyfikacja nie wpływa na mechanizm kodowania korekcyjnego, o którym opowiem w dalszej części artykułu. Na przykład czysta taśma magnetyczna przed zapisem jest pamięcią wielostanową.

Komórki wielostanowe w pamięciach systemów archiwizacji długoterminowej mogą być wykorzystane dwojako, np. do zapisu innych jednostek informacji (dit, nit, itp.) lub dla redundancji wartości bitu wewnątrz komórki.

Pamięci trwałe i ulotne

Pamięci dzielimy na ulotne i trwałe. Pamięci ulotne wymagają stałego zasilania, aby utrzymać poprawne wartości fizycznych parametrów, które reprezentują bity w komórkach. Natomiast pamięci trwałe będą przechowywać zapis przez określony, dłuższy czas po wyłączeniu zasilania. Pamięć DRAM (np. pamięć operacyjna komputera) jest pamięcią ulotną, a dysk twardy czy DVD są typami pamięci trwałej (tzw. masowej). 

Nośnik

Pamięć komputerowa ma wiele realizacji technicznych. Jej fizyczną warstwę, na której zapisujemy informację, nazywamy nośnikiem. Nośniki mogą być na stałe zamontowane w sprzęcie zapisującym (np. pamięć Flash) lub mogą być wymienne (np. krążek DVD). Potocznie nośnikiem nazywa się na przykład kasetę, zawierającą taśmę magnetyczną, a nie tylko samą warstwę pigmentu ferromagnetycznego. Zazwyczaj nie prowadzi to do kłopotów interpretacyjnych.

Pamięci niekomórkowe

Kiedyś przyszłością miał być zapis holograficzny danych cyfrowych na nośnikach wymiennych 100 i 200 TB (HVD – Holographic Versatile Disk), ale okazało się, że jest on trudny w realizacji i dość kosztowny w porównaniu z innymi propozycjami technicznymi. Pewne implementacje techniczne zapisu holograficznego są przykładem pamięci niekomórkowej.

 W systemach dla długotrwałego przechowania danych cyfrowych zapis niekomórkowy może znaleźć zastosowanie w przyszłości, ponieważ pozwala na dość gęste upakowanie informacji z bardzo silną wewnętrzną redundancją. W pamięciach komórkowych zwiększenie pewności odczytu danych uzyskujemy przez rozszerzenie rekordów o bity korekcyjne oraz poprzez kopiowanie zapisów na wielu nośnikach pamięci. W pamięciach niekomórkowych zwiększenie pewności odczytu danych przy ich długotrwałym przechowaniu można uzyskać w samej metodzie zapisu, a nie poprzez dodatkowe dodawanie bitów lub powielanie danych. Poniższy rysunek ilustruje prostą ideę niekomórkowego zapisu danych. Chcę podkreślić, że jest to czysto teoretyczny model.

Przyjmijmy, że w urządzeniu na powyższym rysunku nośnikiem będzie powierzchnia cylindra pokryta pigmentem ferromagnetycznym. Na schemacie pominąłem oczywiście pewne nieistotne elementy. Do bufora wejściowego wprowadzamy dane, np. bajt. Zestaw ośmiu generatorów może wytwarzać sygnały sinusoidalne o częstotliwościach f, 2f, … Z pewnych matematycznych powodów wybieramy sygnały tak, aby długość ich fali była całkowitą wielokrotnością obwodu cylindra. Kodowanie za pomocą generatorów jest bardzo proste. Jeśli najbardziej znaczący bit (MSB) w bajcie jest równy 1, wówczas odpowiedni generator, np. o częstotliwości f, wytwarza sygnał sinusoidalny, jeśli wartość bitu wynosi 0, to generator jest nieaktywny.  Potem robimy to samo z kolejnymi bitami, którym przyporządkowujemy kolejne wyższe częstotliwości. Następnie sygnały przesuwamy w fazie, sumujemy, normalizujemy i zapisujemy na nośnik, tak samo jak w magnetofonie analogowym. W tym miejscu pominę szczegóły realizacji zapisu, synchronizacji, zapisu referencyjnego, itd. Przy odczycie mierzony sygnał jest przekazany do analizatora Fouriera. W ten sposób wykrywamy, sygnały o jakich częstotliwościach zostały zapisane. Dekoder zamienia je na uporządkowany ciąg bitów i kompletny bajt przesyła do bufora wyjściowego. Zastanówmy się, czy nadal udałoby się odczytać zapis, jeśli usuniemy fragment nośnika? Odpowiedź jest pozytywna: do pewnego momentu, kiedy sygnał o największej długości jest możliwy do detekcji. Jeśli sygnał miał największą długość równą połowie obwodu cylindra, to usunięcie nawet 1/2 cylindra wzdłuż osi obrotu teoretycznie pozwoli na jego detekcję i odczyt. Tę prostą konstrukcję można zmodyfikować i zapisy rozmieścić na całej powierzchni cylindra, wówczas konstrukcja staje się jeszcze bardziej interesująca. Popatrzmy na kolejny rysunek.

„Sztuczki matematyczne” pozwalają udowodnić, że cała informacja Iv, zgromadzona w określonej objętości, może być zrzutowana jednoznacznie na powierzchnię zamykającą tę objętość. Przy czym istnieje również operacja odwrotna. Zapisaną w ten sposób informację Ip można przenieść na powierzchnię cylindra, którego używaliśmy wcześniej. Każdy fragment informacji Iv będzie jakby „rozsmarowany” po całej powierzchni. Nawet jeśli zostanie uszkodzona jakaś część cylindra, to z pozostałej informacji można zrekonstruować najbardziej znaczącą część informacji Iv, czego nie można uzyskać w przypadku zapisu komórkowego przy podobnej destrukcji nośnika. Na tym krótkim opisie muszę poprzestać i nie będę wchodzić głębiej w to zagadnienie, choć jest ono bardzo intrygujące.

Obecne technologie skupione są na zapisach komórkowych, gdzie jeden bit informacji odpowiada jednej komórce. To są najprostsze mechanizmy, które stosunkowo łatwo implementować w praktyce. Mimo to, kiedy obecnie bardzo szybko przyrasta ilość gromadzonych informacji cyfrowych, aktualne rozwiązania techniczne mogą okazać się niewystarczające i wówczas staniemy przed problemem: kasować dane czy poszukać efektywniejszych metod archiwizacji?

Ograniczenia standardowe

Bardzo szybkim krokiem przeszliśmy do tematyki ograniczeń, jakie w bliskiej przyszłości napotkamy w zagęszczaniu informacji zapisanej na nośnikach. Wiele wypowiedzi o współczesnej technice cyfrowej rozpoczyna się od prezentacji tzw. prawa Moore’a, które zostało w sztuczny sposób podniesione do tej samej rangi, co np. prawo grawitacji. To oczywiście nonsens, ponieważ nie jest to żadne prawo w sensie fizyki, a jedynie regułka biznesowa wymyślona przez Gordona Moore’a dla harmonijnego rozwoju firmy Intel. Nie będę się posługiwać tą regułką, ponieważ interesują nas rzeczywiste ograniczenia fizyczne. W zasadzie mamy dwa główne limity. Jednym jest sam atom oraz pytanie – czy można wykorzystać pojedynczy atom jako komórkę pamięci? Drugim ograniczeniem jest prędkość światła, z którą mogą być przenoszone sygnały. Nawet przy założeniu, że istniałaby technologia pozwalająca utrwalać bit informacji w ramach pojedynczego atomu, to dotarcie do ogromnej liczby takich komórek trwałoby niesłychanie długo. W rzeczywistych konstrukcjach te ograniczenia stanowią dolną granicę, podobnie jak ma to miejsce w przypadku rozpraszanej energii, określonej ramami zasady Landauera.

W budowie urządzeń elektronicznych wykorzystujemy jako elementy aktywne różne typy tranzystorów, diod, itp. Te elementy wymagają istnienia tzw. półprzewodnikowej struktury pasmowej. Można wykazać teoretycznie (chyba jeszcze nie udało się potwierdzić tego eksperymentem), że w półprzewodniku powstają pasma walencyjne i przewodzenia, jeśli jest on zbudowany co najmniej z kilkuset atomów. Obliczenia pokazują, że potrzebne jest ok. 700 atomów do powstania pasm. Ograniczenie dotyczy również technologii tzw. cienkich warstw półprzewodnikowych, a nie tylko półprzewodników objętościowych (ang. bulk). Innym problemem jest sam materiał, który powinien występować powszechnie w skorupie ziemskiej. Pierwiastki śladowe mogą okazać się zbyt kosztowne w produkcyjnych technologiach. Oczywiście badania nie stoją w miejscu i można obecnie tworzyć całkiem nowe materiały, z których budowane są funkcjonalne odpowiedniki znanych urządzeń półprzewodnikowych.  Należy zauważyć, że dużą rolę będzie odgrywać koszt procesów technologicznych, gdzie standardowa metoda fabrykacji układów scalonych, jaką jest fotolitografia, ma również swoje fizyczne ograniczenia. Obecnie można manipulować pojedynczymi atomami za pomocą urządzeń rozwiniętych z mikroskopii tunelowej, ale odbywa się to w niewielkiej, laboratoryjnej skali. Trudno powiedzieć, jak szybko metody manipulacji pojedynczymi atomami będą mogły przeobrazić się w realną nanotechnologię przemysłową. W przemysłowych technologiach stosowanych obecnie komórka pamięci jest tworzona przez ponad 10 000 atomów.

Dość poważnym ograniczeniem jest ilość energii rozpraszanej w układach o dużej skali integracji. Przyczyną takiego stanu rzeczy jest konieczność użycia rezystorów. W szybko taktowanych przy pomocy zegarów (generatorów) wysokiej częstotliwości układach scalonych wydziela się duża ilość ciepła na rezystorach zamykających obwody tzw. otwartych kolektorów tranzystorów. Już w latach siedemdziesiątych ubiegłego wieku Bennett rozważał zastąpienie rezystorów np. cewkami i kondensatorami, co zmniejszyłoby wydzielanie ciepła. Jednak w wysokim stadium miniaturyzacji nie jest to w praktyce możliwe ze względu konieczność zastosowania kondensatorów o znacznych pojemnościach i cewek, które bardzo trudno byłoby zminiaturyzować. 

W pamięciach trwałych i tanich w produkcji wykorzystuje się materiały ferromagnetyczne. W tym przypadku zbliżamy się do granicy gęstości zapisu. Od początku lat czterdziestych XX wieku jako nośnik wykorzystywany jest pigment ferromagnetyczny, który jest zazwyczaj stopem złożonym z kilku pierwiastków wykazujących ferromagnetyzm. W pigmencie o drobniejszej gradacji ziaren łatwo ulega zburzeniu stan jego trwałego namagnesowania. W latach 90. grupa specjalistów pod kierownictwem Johna van Bogarta przebadała stan zbiorów w archiwach dokumentacji mechanicznej w USA i stwierdziła, że wiele starszych zapisów na taśmach magnetycznych uległo samoistnej demagnetyzacji (ang. self-demagnetization). Ale to nie wszystko. W przypadku pigmentu ferromagnetycznego istnieje ścisła zależność pomiędzy gradacją ziaren a tzw. temperaturą Curie, w której proszek traci właściwości ferromagnetyczne i przechodzi w stan paramagnetyczny, który dla proszków specjalnie nazwano superparamagnetycznym. Przejście fazowe w temperaturze Curie powoduje demagnetyzację całkowitą i oczywiście skasowanie zapisu. Badania prowadzone w kilku laboratoriach na świecie nad dużym zbiorem różnych stopów sproszkowanych materiałów ferromagnetycznych pokazały, że temperatura Curie osiąga wartość temperatury pokojowej (20oC) dla proszków o gradacji ziaren w zakresie od 4nm do 6nm. Obecnie używane proszki mają gradację ok. 8 razy większą. Bezpieczna temperatura Curie dla utrzymania zapisu wymaga pigmentu o gradacji ponad 10 nm. Stąd wynika, że już zbliżamy się do limitu.

Wydłużenie czasu życia zapisów informacji na nośnikach standardowych

Możemy rozważyć, czy istnieje jakaś metoda lub mechanizm wydłużenia czasu życia zapisów na obecnie wytwarzanych standardowych nośnikach pamięci komórkowych. Na wstępie należy wyjaśnić dokładniej termin – czas życia informacji zapisanej w pamięci. David Rozenthal, pracujący obecnie na Stanford University, wprowadził termin „czas połówkowego życia bitu”. Osobiście nie jestem zwolennikiem takiej nazwy, bowiem sugeruje ona, że za degradacją zapisu stoją zjawiska jądrowe. Oczywiście nie jest to prawda i tego typu zjawiska fizyczne mają znaczenie marginalne w tym przypadku. Po wymianie kilku e-maili z Rozenthalem nabrałem przekonania, że tworzenie terminów ad hoc nie jest dobrym rozwiązaniem. Problematyka zmiany kodowania zapisów z biegiem czasu jest dość złożonym zagadnieniem. Nawet dla tego samego nośnika może występować wiele różnych czasów połówkowego życia bitów w ramach definicji Rozenthala, co jest nie do przyjęcia. Oczywiście, w fizyce jądrowej czas połówkowego rozpadu jest stały dla wybranego pierwiastka i w normalnych warunkach nie zależy od oddziaływania z otoczeniem. W naszym przypadku czynników wpływu otoczenia jest zbyt wiele, dlatego lepiej mówić o czasie życia informacji zapisanej na konkretnym nośniku w odniesieniu do technologii jego wykonania. Najprościej czas ten można zdefiniować jako maksymalnie bezpieczny czas, jaki upłynął od momentu zapisu informacji na nośniku w zakresie, którego błędy mogą być poprawione przez zastosowaną metodę korekcji błędów. Granicę czasu życia wyznacza obserwowana kumulacja błędów niemożliwych do usunięcia w ramach stosowanej metody korekcji. W zasadzie dla pamięci standardowo wytwarzanych przemysłowo czas życia zapisów oszacowany został przez producentów dla konkretnego zakresu wartości parametrów użytkowania i przechowywania. Wprowadzając pewne procesy ochronne, które dokładniej omówię później, możemy dowolnie przedłużyć czas życia zapisów cyfrowych.

Hipoteza czasu życia danych na nośnikach pamięci

Czas życia informacji należy próbować związać z gęstością upakowania zapisu danych na nośniku.  Hipotezę roboczą można spróbować zapisać w bardzo prosty sposób.

Czas życia * gęstość upakowania = stała (dla określonych wartości parametrów nośników wykonanych w wybranej technologii)

Na razie jest to tylko hipoteza, a jej wykazanie wymaga zbudowania konsekwentnej teorii pamięci. Mimo to posłuży nam do przybliżonego oszacowania czasu życia zapisów na konkretnych nośnikach.

Teoria pamięci

W technice cyfrowej mamy dwie kluczowe teorie, na których opierają się wszystkie obecne implementacje w świecie komputerów i współczesnej telekomunikacji. I tak, teoria maszyn liczących i wykonywanych za ich pomocą obliczeń, sformułowana przez Alana Turinga, Alonzo Churcha oraz Johna von Neumanna, jest podstawą budowy współczesnych komputerów. Matematyczna Teoria Komunikacji (ang. A Mathematical Theory of Communication) została stworzona przez Claude E. Shannona i na niej opiera się współczesna telekomunikacja. Natychmiast widać, że brakuje teorii pamięci, która jest trzecim elementem, kompletującym współczesne zagadnienia informatyczne. Kilka pytań, na które ma dać odpowiedź, już przedstawiłem, a o innych jeszcze wspomnę.

 

 

Co dzieje się z nośnikami w archiwach?

Rozpocznę serią cytatów z interesującej prezentacji przedstawionej na forum Digital Archive Directions (DADs) w 1998 roku przez Johna Van Bogarta, pracującego wówczas dla National Media Laboratory.

 

Slajd z prezentacji Johna Van Bogarta.
Slajd z prezentacji Johna Van Bogarta, Digital Archive Directions (DADs), 22 czerwca 1998.

 

Prezentacja pochodzi z okresu, kiedy jeszcze nie istniały technologie taśmowe LTO oraz AIT. Zgodnie z naszą hipotezą czasu życia danych na nośnikach pamięci, którą przedstawiłem w poprzednim rozdziale, nośniki LTO i AIT powinny wykazywać krótsze czasy życia zapisów z powodu wzrostu gęstości zapisu. Z danych zestawionych na powyższym slajdzie wynika, że nagrania na taśmach magnetycznych (ang. magnetic tape) mają bezpieczny czas życia do 5 lat od momentu dokonania rejestracji. Ale są wyjątki. Na przykład bardzo popularne kasety DAT (ang. Digital Audio Tape) są mniej trwałe i bezpieczny okres przechowania nagrań został oszacowany na trzy lata. Problem jest dość poważny, ponieważ magnetofony cyfrowe DAT zostały wprowadzone do sprzedaży na początku lat 80. i stały się standardowym sprzętem audio w studiach.

Mam własne doświadczenia w użytkowaniu tego typu magnetofonów. Próbowałem odtworzyć moje prywatne nagrania po 10 latach przechowania ich w szufladzie biurka. Okazało się, że 8 na 9 kaset nie dało się odtworzyć. Podobna sytuacja jest w archiwach radiowych, ale dotyczy dziesiątków tysięcy kaset DAT. Zgodnie z zaleceniami, w przypadku zapisów na cyfrowych taśmach LTO nie należy przekraczać 3 lat i w ciągu następnych 2-3 lat zapisy powinny być przeniesione na czyste nośniki. Warto podkreślić, że czas bezpiecznego przechowania zapisów na taśmach magnetycznych nie pokrywa się z czasem gotowości nośnika do realizacji nagrania, który może wynosić kilkadziesiąt lat, jeśli utrzymamy warunki otoczenia przedstawione w prezentacji.

 

 

Slajd z prezentacji Johna Van Bogarta, Digital Archive Directions (DADs), 22 czerwca 1998.
Slajd z prezentacji Johna Van Bogarta, Digital Archive Directions (DADs), 22 czerwca 1998.

 

 

Na kolejnym slajdzie przedstawione zostały okresy przechowania nagrań na taśmach VHS High Grade, które są równoważne jakościowo taśmom magnetowidowym studyjnego systemu Betacam SP. Takich nagrań jest wiele milionów w archiwach telewizyjnych na całym świecie, również w Polsce. Wykres przedstawia zależność czasu bezpiecznego przechowania zapisów w zależności od warunków magazynowania. Przy utrzymaniu stałych warunków przechowania zapis może być bezpiecznie składowany średnio 17 lat. Jednak jeśli temperatura wzrośnie o 5oC, wówczas bezpieczny czas przechowania spada poniżej 10 lat. Przedstawione wyniki zostały uzyskane na podstawie badań przeprowadzonych w archiwach USA na reprezentatywnej próbie z kolekcji kilkuset tysięcy nośników.

Można mieć wątpliwości co do metody oceny stanu zapisu, ale sposób jest naprawdę bardzo prosty. Na wolnym fragmencie taśmy nagrywamy sygnał testowy i porównujemy szum starego nagrania z nowym. Już w latach osiemdziesiątych produkująca taśmy magnetofonowe firma BASF zalecała, aby nagrania przekopiować po upływie 15 lat, gdyż wówczas zniekształcenia nagrania, powstałe w wyniku kopiowania, będą mniejsze niż uszkodzenia wynikłe z jego długoletniego składowania. Ciekawe, że analogowe nagrania na taśmach magnetofonowych przetrwały w wielu archiwach ponad 50 lat, czyli od samego początku szerokiego wprowadzenia magnetofonów do studiów. Wzrost szumu w zapisach analogowych może być ograniczony w procesach tzw. rekonstrukcji dźwięku. Niestety nie można tego powiedzieć o nagraniach cyfrowych, gdzie wzrost liczby skumulowanych i niekorygowanych błędów nie pozwala na poprawny odczyt zapisów.  W przypadku zapisów cyfrowych występuje granica i po jej przekroczeniu odczyt staje się niewykonalny. Do tego zagadnienia wrócę jeszcze w następnym rozdziale.

Producenci LTO oraz AIT deklarują, że liczba błędów zapisu nie przekroczy 1 błędny bit na 1017 bitów i taki stan powinien utrzymać się przez czas bezpiecznego przechowania danych (3-5 lat). Taśmy LTO i AIT maja dość odporne obudowy (kasety), które można załadować do mechanicznych napędów do 5000 razy. Natomiast sumaryczna liczba zapisów i odtworzeń pełnej długości taśmy nie przekracza 260. W praktyce liczbę tę należy pomniejszyć ze względu na konieczność okresowego przewijania taśmy w kasecie, aby zapobiec sklejeniu warstw i w celu zmniejszenia tzw. efektu cross-talk, powodującego wzrost liczby uszkodzonych bitów. Przy użyciu taśm raz w tygodniu spodziewane uszkodzenie mechaniczne powinno wystąpić po ok. 4-7 latach. Oszacowanie dokonywane jest na podstawie pomiarów po sztucznym postarzaniu nośników.

Taśmy magnetyczne są obecnie najpopularniejszymi nośnikami występującymi w archiwach.  Można spotkać wiele ich formatów, od rozmiarów taśm 2” do 8 milimetrowych i niekiedy nawet o mniejszej szerokości. Po wykonaniu kilku prostych obliczeń można zauważyć, że gęstość zapisu informacji na starej taśmie magnetofonowej sprzed 50 lat w porównaniu z nowoczesna taśmą LTO lub AIT jest ok. 100 krotnie mniejsza. Zgodnie z naszą hipotezą analogowe nagranie magnetofonowe powinno przetrwać ok. 300-500 lat, gdyby nie istniał proces nieodwracalnej korozji taśmy. W istocie zachodzące nieodwracalne zmiany w warstwach taśmy przyspieszają zaszumienie zapisu, co znacznie skraca okres przechowywania.

Należy zwrócić uwagę, że taśmy magnetyczne są zapisywane i odczytywane mechanicznie, pozostając w kontakcie z rolkami, napinaczami oraz głowicami: nagrywającą, kasującą i odczytującą. Ponadto taśma układana jest w warstwowo, a to wpływa na możliwość jej sklejania się; co więcej, warstwy absorbują wilgoć. Taśmy przeniesione z magazynu przed włożeniem do urządzenia powinny być aklimatyzowane przez kilkadziesiąt minut do warunków otoczenia, w którym będą znajdowały się w czasie zapisu lub odczytu. Mechaniczny kontakt powoduje, że taśma rozciąga się, szczególnie, gdy jest bardzo cienka. Współcześnie używane taśmy systemów LTO i AIT mają grubość 6.4 µm. Typowymi uszkodzeniami taśm magnetowidowych jest pojawianie się falbanek na brzegach, które powodują kłopoty z odczytem. Taśmy te były kilkanaście razy grubsze od LTO i AIT. Być może projektanci w przypadku kaset dla systemu VHS czy Betacam specjalnie zaplanowali, aby takie efekty pojawiały się po określonej liczbie użycia. Taśmy VHS były produkowane dla dystrybucji nagrań filmów i programów telewizyjnych, więc z punktu widzenia biznesu powinny być jak najmniej trwałe.

Innym typem powszechnie spotykanych nośników są krążki CD/DVD czy nowsze – BluRay. Są dużo wygodniejsze w użyciu niż taśmy magnetyczne, ale należy pamiętać, że nie były one wynalezione do zastosowania w archiwizacji długoterminowej. Z Tab. 2 wynika, że czas bezpiecznego przechowania tego typu nośników wynosi ok. 10 lat. Oczywiście, wiele nośników CD i DVD znajduje się w naszych prywatnych zbiorach i nawet po 10 latach można je odtwarzać. Długotrwałość wiąże się z kopiami wykonanymi metodą tłoczenia. Krążki CD/DVD są wykonywane z poliwęglanu, który jest materiałem dosyć trwałym i odpornym, jeśli jest przechowywany w warunkach niewiele różniących się od wypisanych w tabeli. Inaczej jest w przypadku nośników zapisywalnych. Te nie są tak trwałe. Zależy to od jakości ich wykonania. Szczególnie należy uważać, aby nośniki nie były narażone na ekspozycję na źródła ciepła i promieniowanie UV. Krążki CD/DVD są względnie odporne na zarysowania, a mechanizm korekcji odczytu radzi sobie z niewielkimi uszkodzeniami powierzchni. W przypadku krążków BluRay powierzchnia od strony odczytu jest pokryta cieńszą warstwą ochronną niż dla CD/DVD. Długość fali światła niebieskiego jest krótsza od długości fali światła czerwonego półprzewodnikowych laserów, stosowanych w urządzeniach CD/DVD. Stąd grubość warstwy ochronnej musi być mniejsza dla zapisu na krążkach BluRay, co powoduje, że są one bardziej narażone na porysowanie powierzchni. Nośniki BluRay – XDCAM, używane w telewizyjnych urządzeniach profesjonalnych, są dodatkowo chronione przez kasetę, z której nie wyjmuje się ich przez włożeniem do napędów mechanicznych. Jednak główną obecnie wadą tych nośników jest ich mała pojemność, dlatego niespecjalnie nadają się one do zastosowań w archiwizacji.

Obok wymienionych powyżej konstrukcji pamięci trwałych, są obecnie dostępne w sprzedaży jeszcze następujące pamięci: dyski twarde magnetyczne oraz pamięci flash, które są stosowane do produkcji dysków SSD (Solid State Disk). Te ostatnie zastępują w wielu aplikacjach standardowe mechaniczne dyski twarde. Nośnik magnetyczny używany w taśmach i dyskach twardych jest taki sam, jedynie zapis ma inną geometrię. W przypadku dysków twardych zapis dokonywany jest na okręgach talerzyków dysku, w taśmach LTO – liniowo, a w AIT – helikalnie. Pewną wadą takiego sposobu rejestracji danych jest konieczność uzyskania precyzji prowadzenia głowic, co powoduje, że po wielu cyklach kasowania i zapisu położenie głowic rozsynchronizowuje się. Ponadto taśma zmienia swoją długość i szerokość w zależności od temperatury i liczby przewinięć. Dlatego dla taśm zaleca się pewną ograniczoną liczbę cykli kasowania i zapisu. Ciekawym rozwiązaniem, które eliminowało ten efekt, zwiększając przy okazji trwałość nagrań, była propozycja inżynierów firmy Hitachi w postaci koncepcyjnej technologii Patterned Disk. Sugerowali oni, aby powierzchnia talerzyków dysku twardego została pokryta pigmentem ferromagnetycznym w dokładnie określonych miejscach, tworząc wzór rastrowy. Miejsca występowania ziaren pigmentu miały tworzyć dobrze zdefiniowane geometrycznie komórki pamięci. W standardowych dyskach powierzchnia talerzyka pokryta jest pigmentem równomiernie, a komórki pamięci są określane poprzez sterowany mechanizm położenia głowic. Ponadto dyski wzorzyste (patterned) miałyby krótsze czasy dostępu do danych w związku ze znacznie prostszym prowadzeniem ramienia głowic w tzw. mechanizmie nadążnym.

Dyski mają istotną przewagę nad taśmami. Nie ma w nich wymiennych elementów i dla użytkownika są kompaktowymi urządzeniami elektronicznymi. W archiwach taśmowych stosowane są szafy z podajnikami, tzw. jukeboxy.  Podajniki trzeba stale konserwować, natomiast mikromechanika dysków twardych nie wymaga żadnego serwisu.  Taśmy miały kiedyś przewagę ekonomiczną nad dyskami, ale obecnie sytuacja się odwróciła i dyski o pojemności taśmy są tańsze od samych kaset, nie licząc napędów i szaf. Wspomnę jeszcze o pewnym parametrze, którego dokładne znaczenie omówię w drugiej części artykułu. W przypadku napędów taśmowych parametr MTBF (Mean Time Between Failures) określający średni czas bezawaryjnej pracy wynosi ok. 2*104 godzin, natomiast dla standardowych dysków twardych – ok. 2 * 106 godzin, a więc o 100 więcej. Oczywiście im większa wartość tego parametru, tym lepiej dla konstrukcji systemu. Pewnym problemem w przypadku dysków jest interfejs łączący elektronikę dysku z komputerem, który jest stale ulepszany.  Natomiast zaletą jest niski koszt i dopracowana technologia produkcji. Trwałość zapisów na dyskach jest podobna, jak w przypadku taśm magnetycznych. Dlatego zapis powinien być poddany pewnym procesom regeneracyjnym po 3-5 latach.

Pozostaje do omówienia trwałość konstrukcji mechanicznej dysku. Ogólnie można powiedzieć, że urządzenia mikromechaniczne są trwalsze niż duże urządzenia makromechaniczne. Na przykład mechaniczny zegarek można nakręcić nawet, kiedy nie był używany przez ponad 200 lat i leżał w szufladzie.  Spodziewamy się, że prawdopodobnie będzie działał bez zarzutu. W przypadku parowozu czy samochodu uruchomienie urządzenia po wielu latach obarczone jest dużym ryzykiem trwałego uszkodzenia. Konstruktorzy nazywają to zjawisko szarpnięciem lub po angielsku stiction. Spodziewamy się, że każde nieużywane urządzenie ulegnie zapieczeniu z powodu mikro- lub makro-korozji i będzie trudne w rozruchu. Aby uniknąć tego zjawiska, firmy produkujące dyski twarde zalecają, aby przynajmniej raz na rok nieużywane dyski uruchomić na ok. 1 minutę. Zjawisko szarpnięcia jest trudne do teoretycznej analizy i zalecenia są czysto empiryczne. Innym problemem jest smar, a w zasadzie kilka rodzajów smaru stosowanych w dyskach twardych.  W laboratoriach firmy Seagate przeprowadzono testy i okazało się, że smary zachowują swoje właściwości lubrykacyjne przez ok. 40-50 lat, jeśli dyski są przechowywane w otoczeniu o wyznaczonych w Tab. 2 parametrach. Oczywiście w badaniach tych również zastosowano proces sztucznego postarzania, który może dawać znacznie krótsze czasy niż w przypadku rzeczywistego przechowywania. Często oponenci twierdzą, że nie ma sensu eksploatować tych samych dysków czy taśm magnetycznych dłużej niż 5 lat, ponieważ gęstość zapisu rośnie w tym czasie wielokrotnie.

Wspomniałem, że zbliżamy się technologicznie do granicy rozdrobnienia pigmentu ferromagnetycznego i pojemność dysków może wzrosnąć w nowszych modelach kilkukrotnie, ale nie na przykład dwa rzędy wielkości. Pewne eksploatacyjne doświadczania z dyskami twardymi mogą wskazywać, że nie są one trwałe i mogą ulegać przypadkowym uszkodzeniom. To nie jest ogólna prawda. Wszystko zależy od zastosowań. Używanie dysków twardych w macierzach RAID (Redundant Array Independent Disks) zazwyczaj wiąże się z ich intensywną eksploatacją. Ponadto pewność odczytu danych z macierzy, zawierającej wiele dysków, jest ograniczona z powodów wibracji. Talerzyki w różnych dyskach wirują z podobną prędkością kątową, co powoduje powstawanie częstotliwości różnicowych, które prowadzą do efektów wibroakustycznych. Nisko okresowe drgania o znacznej amplitudzie przenoszą się na głowice i powodują problemy w działaniu układu sterującego. Dlatego macierze dyskowe typu RAID mają dość kosztowne w realizacji zabezpieczenia tłumiące drgania. Pewne firmy wytwarzające macierze wprowadzają zmiany w tzw. firmware dysków, co również powoduje, że takie konstrukcje stają się ekskluzywne i egzotyczne w stosunku do masowo produkowanych standardowych dysków twardych. W bardzo ciekawy sposób problem serwisowania setek tysięcy dysków twardych został rozwiązany przez konstruktorów sytemu Google, o czym powiem w drugiej części artykułu.

Macierze dyskowe RAID zostały zaprojektowane dla zwiększenia przepływności pomiędzy pamięcią operacyjną komputera a pamięcią trwałą (masową). Niestety, w czasie pracy równoległej wielu dysków równocześnie natrafiamy na szereg problemów w zabezpieczeniu pamięci masowej w momencie uszkodzenia któregoś z dysków macierzy. Dlatego stosuje się różne poziomy zabezpieczeń redundancyjnych RAID. Od kilku lat pojawiają się konstrukcje zoptymalizowanych macierzy dyskowych, tzw. MAID (Massive Array Indpendend Disks). Są one zaprojektowane tak, aby zmniejszyć ilość rozpraszanej energii. Część dysków w MAID jest wprowadzana w stan hibernacji lub uśpienia. Moim zdaniem jest to konstrukcja niezgodna z pierwotną ideą macierzy RAID, podaną przez Davida Pattersona, Gartha A. Gibsona i Randiego Katza w 1987 roku, i z tego punktu widzenia MAID wygląda jak „uszkodzony” RAID. Użycie macierzy obydwu typów w konstrukcjach archiwów długoterminowych ma znaczenie marginalne z powodu ograniczonej pojemności tych konstrukcji oraz innych trudnych do akceptacji ograniczeń, np. braku możliwości niezależnego sterowania procesami ochrony dla pojedynczych dysków.

Na podobne kłopoty z wydajnością, brakiem możliwości delokalizacji systemu, ograniczonymi możliwościami prostej rozbudowy pojemności pamięci (skalowalność) oraz dużym kosztem macierzy natknęli się konstruktorzy Google, projektujący system doskonale rozproszony i globalny. W pewnych aplikacjach, np. w edytorach materiałów audiowizualnych czy lokalnych systemach bankowych, macierze będą obecne jeszcze przez wiele lat, natomiast nie nadają się do homogenicznej infrastruktury rozproszonej. Wymagają wielu dodatkowych elementów otoczenia, co w sumie powoduje, że system jest mocno ograniczony pod względem rozbudowy (skalowalności). W praktyce ujawniło się to w projekcie rozległego archiwum (ERA), realizowanego kilka lat temu przez firmę Lockheed dla National Archives and Records Administration (NARA) w USA. Projekt ERA pokazał wyraźnie słabe strony tworzenia stale rozwijającej się przestrzeni archiwum na bazie macierzy i szaf z taśmami magnetycznymi. Również propozycja całkowitej wymiany sprzętu po upływie 5 lat, z powodu powiększania się pojemności dysków i taśm oraz tzw. moralnego starzenia się sprzętu, nie wydaje się sensowna, kiedy istnieją inne prostsze i tańsze konstrukcje, w dodatku sprawdzone w wielu rozległych i rozproszonych zastosowaniach. W drugiej części artykułu przedstawię rozwiązanie tego problemu oraz konstrukcję, która uwzględnienia proces technology flow – płynnej zmiany technologii.

Ostatnie, dostępne obecnie w sprzedaży nośniki, które pozostają do omówienia, to pamięci flash i dyski SSD budowane na bazie tych pamięci. Zaletą pamięci flash jest to, że są one całkowicie elektroniczne i nie zawierają żadnych ruchomych elementów mechanicznych. Wadą jest łatwość uszkodzenia, skończona liczba cykli kasowania i zapisu oraz cena. Pamięci tego typu są w użyciu od ponad 30 lat, choć możliwość kasowania zapisów prądem liczy kilka lat. W budowie komórki flash wykorzystywany jest efekt utrzymywania naładowanych nośników elektrycznych w tzw. warstwie bramki swobodnej (ang. floating gate), która oddziela bramkę tranzystora FET od tzw. bulku, do którego podłączone są dwie pozostałe elektrody – źródło i dren. Nie wnikając w szczegóły można powiedzieć, że tranzystor FET działa jak sterowany napięciem opornik. Mówiąc obrazowo, jeśli bramka FET jest pod napięciem, wówczas tranzystor jest w stanie przewodzenia, a jeśli nie, wówczas tranzystor jest w stanie wysokiej rezystancji. Warstwę bramki swobodnej można uznać za dodatkowe źródło napięcia, jeśli znajdą się w niej nośniki (ujemne elektrony lub dodatnie dziury, zależnie do typu tranzystora). W zależności od nośników zgromadzonych w warstwie bramki swobodnej, tranzystor może być trwale przewodzący lub mieć dużą rezystancję. W ten sposób dostajemy wyróżnione stany 0 i 1, opowiadające stanom oporności FET, co można łatwo mierzyć i interpretować. Ładunki w bramce swobodnej są umieszczone w jamie potencjału o pewnej głębokości. Taki stan może się utrzymywać bardzo długo, zależnie od jej głębokości. Dla jam o większej głębokości wymagane będzie wyższe napięcie na bramce tranzystora dla dostarczenia dodatkowych ładunków do realizacji procesu kasowania i zapisu. Producenci pamięci flash szacują czas życia zapisanej informacji na ok. 30 lat. Jednak czas bezpiecznego przechowywania danych jest krótszy, najwyżej kilkanaście lat, co wynika głównie z problemów w utrzymaniu wysokiej powtarzalności produkcji tego typu pamięci. Pewnym problemem jest wytrzymałość bramki swobodnej na przebicia podczas procesu kasowania i zapisu oraz ograniczona liczba cykli. Zapewne w bliższej niż dalszej perspektywie czasu, tego typu pamięci będą konkurencyjne w stosunku do zapisu magnetycznego, ale jeszcze nie dziś.

Na przedstawieniu najpopularniejszych typów pamięci i ich struktury rozdział ten zakończę. Podsumowując, obecnie w sprzedaży dostępne są trzy główne typy pamięci: magnetyczne, optyczne i całkowicie elektroniczne. Najbardziej atrakcyjne w chwili obecnej są pamięci magnetyczne, z powodu sporej gęstości zapisów oraz w miarę dobrze opanowanej technologii wytwarzania przy stosunkowo niskiej cenie. W przypadku tworzenia elektronicznych archiwów długoterminowych raczej nie nośnik będzie istotny, ale łatwość ochrony zapisu. W takim podejściu obecnie najbardziej użyteczne wydają się dyski twarde, które mają niższą cenę w porównaniu z taśmami o tej samej pojemności i są jednolitym komponentem elektronicznym w sensie użytkowym.  

Struktura pamięci – zapis i odczyt danych

Przyjrzymy się dokładniej procesowi zapisu i odczytu, co będzie przydatne w praktycznej konstrukcji elektronicznego archiwum.

Poniższy rysunek przedstawia ogólny model procesów zapisu i odczytu danych cyfrowych.

Zauważmy, że komórka pamięci jest w ogólności wielostanowa, co nie rozszerza naszych rozważań. Proces zapisu polega na wymuszeniu określonego stanu, którego wybrany parametr lub parametry będą kontrolowane i mierzone. Przez pewien czas parametry utrzymują wartości w zakresie nazywanym oknem dyskryminacji. Odczyt odbywa się w dwóch krokach. Pierwszym jest pomiar, gdzie mierzone są analogowe wartości parametrów zapisu. Następnie wynik pomiaru jest interpretowany – jako zero lub jeden, oraz naprawiany, jeśli zostaną wykryte korygowane błędy. Rozważmy następujący praktyczny przykład i przyjrzyjmy się prostej konstrukcji komórki pamięci, złożonej z kondensatora i przełączników.

Schemat może wydawać się bardzo skomplikowany. Mimo to, spróbuję wyjaśnić, co przedstawia. Zobaczymy, jak z tej jednej komórki można zbudować dużą strukturę pamięci, a następnie rozległe archiwum. Specjalnie wybrałem łatwy do prześledzenia przykład, ponieważ ilustruje on cały pakiet zdarzeń i procesów, z jakimi spotkamy się w drugiej części artykułu. Oczywiście można przyjrzeć się komórce pamięci magnetycznej lub dowolnej innej, ale opis zjawisk będzie bardziej skomplikowany i wymaga znajomości złożonych modeli matematycznych. Łatwo zauważyć, że omawiana komórka nie nadaje się do budowy pamięci trwałych, ale nie będziemy się tym przejmować. Wszystko, co nas aktualnie będzie interesować, odnajdziemy w każdej innej konstrukcji pamięci. Przejdźmy do analizy urządzenia widocznego na rysynku.

Na rysunku naszkicowałem schemat obwodu elektrycznego, który w uproszczeniu składa się z dwóch wyłączników – W(odczyt), WW (zapis) oraz kondensatora o pojemności C. Na wejściu do komórki znajduje się kontrolowane źródło napięcia, które podaje dwie wartości – U(1)max oraz U(0)max. Łatwo zgadnąć, że U(1) odpowiada wartości bitu równemu 1, a U(0) dla wartości bitu równego 0. Po zamknięciu obwodu na pewien czas od strony wejścia, czyli przesunięcia Ww w położenie „włączony”, kondensator zostanie naładowany do napięcia U(1)max lub U(0)max, w zależności od tego, czy będziemy zapisywać logiczną jedynkę czy zero. Po wyłączeniu przełącznika, kondensator C nie będzie naładowany w nieskończoność, ponieważ zarówno wyłączniki oraz sam kondensator mają dużą, ale skończoną oporność. Powoduje ona, że ładunek elektryczny zgromadzony na kondensatorze po pewnym czasie przepłynie pomiędzy jego okładkami, a to prowadzi do przeskoku, np. logicznej jedynki na zero lub do pełnego rozładowania. Ten stan poprzednio określiliśmy jako skasowanie zapisu w modelu pamięci. Przejdźmy do określenia czasu życia zapisu. Wiemy, że kondensator połączony z rezystorem rozładuje się zgodnie z zamieszczonym wzorem. Czas bezpiecznego przechowania danych możemy określić, dokonując prostych obliczeń, wyznaczając go z zakresu okna dyskryminacji:

U(1)min = U(1)max e-t/RC oraz U(0)min = U(0)max e-t/RC;

Stąd czas bezpiecznego przechowania zapisów w tym prostym modelu wynosi odpowiednio:

Dla logicznej jedynki: t(1)= R*C* ln{U(1)max/U(1)min} oraz dla logicznego zera: t(0)= R*C* ln{U(0)max/U(0)min}.

Może się wydawać, że schemat można jeszcze uprościć. Owszem, w rzeczywistej realizacji tego typu konstrukcji komórki pamięci, wejście można połączyć z wyjściem i w ten sposób dostaniemy jedno dwukierunkowe połączenie z magistralą nazywaną szyną danych. Sterowanie wyłącznikami odbywa się odrębnym torem, który nazywamy magistralą lub szyną adresową pamięci. W rzeczywistej komórce wyłączniki są realizowane za pomocą tranzystorów FET i jest to przybliżony model komórki pamięci DRAM. Wzory pokazują, że określony stan trwa dość krótko z powodu małej wartości iloczynu R*C. Dla dużej skali miniaturyzacji takich pamięci trudno uzyskać duże pojemności kondensatorów przy ich dużych opornościach wewnętrznych. Dlatego w pamięciach DRAM zastosowany jest proces nazywany odświeżaniem pamięci. A mówiąc bardziej obrazowo, jest to specjalny układ elektroniczny, który odświeża zapis co jakiś czas, który musi być krótszy od t(1) i t(0), doładowując kondensator do wartości napięć U(1)max lub U(0)max. W pamięciach trwałych czas bezpiecznego przechowania zapisanej informacji jest znacznie dłuższy niż w pamięciach DRAM, ale również jest skończony. Z tego powodu konieczne jest odświeżenie fizycznego stanu każdej pamięci, choć czas, po jakim należy proces przeprowadzić, jest zazwyczaj oszacowany doświadczalnie przez producenta. W przypadku pamięci trwałych proces odświeżania będziemy nazywali regeneracją fizycznych stanów pamięci.

Teraz przyjrzymy się procedurze odczytu. Jeśli wyłącznik WW zostanie ustawiony w pozycji „wyłączony”, a wyłącznik WR w pozycji „włączony”, możemy zmierzyć wartość napięcia na kondensatorze. Robimy to za pomocą woltomierza, który tylko nieznacznie zmienia stan, ponieważ jego oporność wewnętrzna jest bardzo duża. Z powyższych wzorów łatwo zauważyć, że jeśli iloczyn R*C jest bardzo duży, wówczas czas rozładownia kondensatora będzie długi. Oczywiście woltomierze budowane są zawsze z możliwie największym oporem wewnętrznym, aby nie zakłócać wartości mierzonych napięć. Nasz woltomierz zachowuje się jak standardowe urządzenie pomiarowe tego typu, ale z tą różnicą, że na wyjściu daje dwie wartości, które reprezentują dwa stany logiczne 0 lub 1. Na rysunku nazwałem wyjście z urządzenia pomiarowego interpretacją stanu. Pominę budowę tego fragmentu komórki pamięci, ponieważ utonęlibyśmy w nieistotnych szczegółach.

Stosując prosty model komórki pamięci prześledziliśmy trzy istotne procesy: zapis, odczyt i regenerację fizycznych stanów zapisu informacji. Powrócę jeszcze do procesu regeneracji i omówię ją przy okazji zagadnień korekcji błędów, wykrywanych przy odczycie danych z pamięci. Teraz przejdę do ostatniego fragmentu tego rozdziału i opiszę, jak z komórek pamięci zrobić szerszą strukturę, która będzie małą, lokalną siecią danych. W drugiej części artykułu lokalne sieci danych rozszerzymy na rozległe struktury sieci danych, które posłużą do budowy elektronicznych archiwów długoterminowych.

Na rysunku jest bardzo dużo równoległych kresek, co sugeruje, że przeszliśmy do systemu całkowicie cyfrowego, gdzie występują tylko dwie wartości amplitud sygnałów, symbolizujące logiczne zero i jedynkę. Mimo pozornej komplikacji, a usunąłem wiele detali z rysunku, widać komórki pamięci, ułożone w uporządkowane wiersze i kolumny. Wspomniałem, że w komórce z rysunku połączyłem wejście z wyjściem, co ułatwiają dwa sterowane wyłączniki. Informację zapisaną w wierszach możemy wprowadzać i wyprowadzać, jako całą sekwencję, czyli rekord. W tym przypadku rekord ma długość bajta (8 bitów). Jeśli odczytamy zawartość komórek wybranego wiersza, możemy to samo zrobić z następnym, itd. Sterująca wyłącznikami linia WW/WR jest wyodrębniona od magistrali adresowej i za jej pomocą przestawiamy pamięć na zapis lub odczyt. W przypadku rozległych sieci danych duża liczba połączeń w wyższej strukturze byłaby niewygodna w realizacji, dlatego wprowadzamy pewne usprawnienie. Mnogość linii prowadzących sygnały zastąpimy jedną linią z komunikacją szeregową. Będzie to szeregowy przekaz adresów, danych i sterowania zapisem. W zasadzie na niewielkie odległości przekaz może się odbywać po jednym drucie (nie mylić z jedną linią) aktywnym i drucie referencyjnym (masa elektryczna). Takie połączenie nazywa się asymetrycznym. Dla dłuższych dystansów – do kilkudziesięciu metrów – lepszym rozwiązaniem jest linia symetryczna, która składa się z trzech przewodów, gdzie mamy dwa druty dla przekazu sygnału i jeden dla tzw.shield. Dzięki temu zakłócenia indukujące się w przewodach będą odejmowały się w na wejściu urządzenia. Przekaz sygnałów na jeszcze większe odległości wymaga oczywiście zastosowania rozległych sieci telekomunikacyjnych.

Rozdział zakończyliśmy omówieniem podstawowych cech rozległej sieci danych, której praktyczną realizację przedstawię w drugiej części artykułu. Wyszliśmy od obserwacji działania prostej komórki pamięci i następnie przeszliśmy do budowy uporządkowanych struktur, złożonych z wielu komórek pamięci. Na razie nasza struktura lokalnej sieci danych nie została jeszcze wyposażona kompletnie i działa jak prosto sterowana maszyna. W następnych rozdziałach postaram się naszkicować sposób wyposażania takich struktur w pewną dodatkową „inteligencję”.

Kopiowanie informacji

Doskonale wiadomo, że cechą odróżniającą zapis informacji analogowej od cyfrowej jest możliwość dokładnego kopiowania informacji cyfrowej. Przyda się to nam przy realizacji procesu ochrony fizycznego stanu danych. Zanim o tym porozmawiamy w następnym rozdziale, przedyskutuję ogólne aspekty procesu kopiowania informacji. Myślę, że wielu z nas spotkało się z kopiowaniem nagrań dźwięku zapisanych na analogowych taśmach magnetofonowych. Poniższa ilustracja przedstawia główne źródła zakłóceń, które powodują występowanie różnic pomiędzy oryginałem i kopią. Wykonując łańcuszek kopii zapisu analogowego z kopii (niebędącej pierwotnym zapisem), zawsze obserwowaliśmy drastyczne obniżenie walorów nagrania.

W przypadku kopiowania nagrań analogowych nie dysponujemy urządzeniami idealnymi, ponieważ takie nie istnieją w praktyce. Widać na rysunku, że każdy sprzęt analogowy wnosi własne „ja” i zniekształca sygnał w trakcie procesu. Precyzyjne zdefiniowanie informacji analogowej jest dość trudne. Jej kształt zawsze wiążemy z sygnałem i jego matematycznym modelem. Jeśli poruszamy się w ramach abstrakcyjnego modelu, to nie mamy kłopotów, ale kiedy przechodzimy do aspektów fizycznych informacji, natychmiast pojawiają się ograniczenia. Sądzę, że pragmatyczną definicję informacji analogowej powinno podawać się przez – no właśnie – określenie dokładności procesu kopiowania. Ale natychmiast przychodzi na myśl pytanie: jak dalece ten proces możemy realizować w świecie materialnym i czy ma jakiś limit dokładności? Na początku lat 80. Wojciech Żurek, William Wootters i Denis Dieks podali dowód wskazujący ostateczną granicę możliwości kopiowania w mikroświecie. Pokazali, że kopiowanie informacji rozpiętej w stanach kwantowych, będących w tzw. superpozycji, niszczy informację oryginalną. Oznacza to, że kwantowe prawa rządzące w mikroświecie wykluczają jakikolwiek proces uzyskania dwóch oryginałów informacji jednocześnie. Mówiąc inaczej, kopiowanie na poziomie mikroświata jest możliwe, ale po procesie kopia zawsze będzie różna od oryginału. W fizycznej nowomowie proces nazywa się teleportacją. Dowód podany przez W. Żurka i innych stanowi silne ograniczenie, ale na razie dotyczy klonów informacji obiektów bardzo małych, takich jak cząstki elementarne. Obecnie klonowanie stanów kwantowych obiektów o większym rozmiarze, np. atomu, jest technologicznie nieosiągalne. W świecie obiektów dużych, gdzie nie musimy stosować opisu kwantowego, proces kopiowania będzie miał ograniczenia, które wymieniłem na ilustracji.

Opuszczamy świat kwantowy. W obszarze naszego zainteresowania pozostanie informacja cyfrowa, reprezentowana przez swoje „atomy”, mające ściśle określone wartości 1 lub 0. Na przykład dokładność reprezentacji cyfrowego sygnału jest ograniczona liczbą użytych bitów. Moglibyśmy wydłużyć dowolnie jego reprezentację, ale w praktyce konwersja analogowo-cyfrowa mierzonych sygnałów jest ograniczona dokładnością przetworników i budową pozostałego sprzętu. Technologie nie stoją w miejscu i urządzenia wykonują konwersję z coraz większą dokładnością. Niestety, zwiększa to ilość danych cyfrowych. Współczesna cyfrowa kamera filmowa może produkować zbiory cyfrowe o objętości binarnej 55 TB na godzinę zapisu, co jeszcze kilkanaście lat temu wymagałoby użycia do zapisu co najmniej kilkuset nośników. Ze względu na skończoną reprezentację informacji cyfrowej, każda cyfrowa forma zapisu informacji jest łatwa do skopiowania ze stuprocentową dokładnością, pod warunkiem, że proces będzie przeprowadzony starannie. Ale z drugiej strony, zbyt szybkie kopiowanie niektórych cyfrowych zapisów bezpostaciowych, np. nagrań CD-Audio na inny krążek CD, może prowadzić do przekłamań. Innym problemem są przekłamania bitów, powstające w trakcie przesyłania informacji, które częściowo można wyeliminować za pomocą mechanizmów korekcji. Również zapis informacji na nośnik może być niedokładny, gdyż jego pewne obszary mogą uszkodzić się w trakcie realizacji procesu. Tego typu przypadłość może być usunięta przez końcową weryfikację stanu zapisu po zakończeniu kopiowania. W przypadku kopiowania dużej ilości danych mogą pojawić się pewne niekontrolowane zjawiska, które wynikają np. z błędnego działania programu kopiującego, wykonywanego przez mikroprocesor. W tym przypadku źródło błędów może być trudne do lokalizacji z powodu przypadkowości zdarzenia lub kłopotliwego do wykrycia błędu w skomplikowanym algorytmie. Analiza przyczyn powstawania błędów i ich usuwanie są wyspecjalizowaną dziedziną tworzenia oprogramowania. Obecnie oprogramowanie jest bardzo złożone. Na przykład przypadkowy i natychmiastowy zanik zasilania może przerwać proces wykonania algorytmu, co jest szczególnie denerwujące podczas operacji zapisu. Zastosowanie np. systemu plików z księgowaniem częściowo rozwiązuje problem przy procesie kopiowania plików, ale w przypadku rejestracji danych strumieniowych z urządzeń pomiarowych, np. kamer cyfrowych, zanik zasilania rujnuje całkowicie zapis. W następnym rozdziale przedstawię ideę konstrukcji mechanizmów zabezpieczania informacji przed uszkodzeniem. Pewne błędy, wynikające z uszkodzeń zapisu w pamięci, można skorygować prawie w stu procentach, co jest również właściwością cyfrowej reprezentacji informacji.

Procesy ochrony stanu zapisu w archiwach

Zanim przejdę do omówienia mechanizmów ochronnych przed błędami w zapisach i ich realizacją, popatrzmy na model pamięci z nieco innej strony, co ułatwi nam rozpatrywanie mechanizmu powstawania błędów.

Każda implementacja pamięci jest czysto fizyczna. Z pewnych powodów, o których powiem za moment, odczyt danych z pamięci oraz ich przesłanie można umieścić w jednym modelu. W tym modelu pamięci oddzielamy abstrakcyjny proces pobierania informacji z idealnego źródła (bez szumu) od fizycznej strony pamięci, gdzie odczyt (pomiar) utożsamimy z przekazem danych przez kanał telekomunikacyjny z szumem. Może się wydawać, że w ten sposób nie powiedzieliśmy nic nowego, ale tak nie jest. W modelu wyraźnie rozdzielamy dwa środowiska. Jedno – środowisko fizycznej pamięci, które zawsze będzie zachowywać się jak rzeczywisty układ fizyczny. Drugie – idealne, w którym możemy całkowicie kontrolować dokładność procesów. Wprowadzając taki model, możemy przejść do zastosowania pewnych doskonale znanych metod cyfrowej korekcji błędów, wykorzystując mechanizm opisany przez Claude’a E. Shannona w jego Matematycznej teorii komunikacji. W zasadzie nic nie stoi na przeszkodzie, aby opisany przez Shannona mechanizm zastosować ad hoc, dokonując jedynie drobnej modyfikacji. Na następnej ilustracji przedstawiłem fundamentalne twierdzenie Shannona, które jest podstawą budowy wszystkich mechanizmów korekcji danych, przesyłanych przez fizyczne kanały telekomunikacyjne, również w naszym modelu.

null

Claude Shannon, rozważając problem przesyłania informacji w rzeczywistych sieciach z szumem, zadał następujące pytanie: czy można zbudować algorytm korygujący jeden i więcej błędów, aż do momentu, w którym liczba błędów będzie na tyle niewielka, że proces będzie można zakończyć? Oczywiście nie można zbudować takiej procedury, w której błędy nie będą się już pojawiać w ogóle, ponieważ zawsze będzie istniało różne od zera prawdopodobieństwo zarejestrowania błędu w rzeczywistym kanale telekomunikacyjnym z szumem.  Konkretyzując rozważania, postawmy raczej pytanie: ilu bitów korygujących potrzebujemy i jaką część przekazywanego wówczas rekordu będzie stanowić oryginalna informacja? Jeśli nie mamy ograniczenia co do długości rekordu, to częstość pojawiania się błędów będzie mogła być sprowadzona do dowolnie małej liczby. To jest wynik twierdzenia Shannona, zapisany w formule widocznej na rysunku. Mc jest rekordem, zawierającym bity korekcyjne, a M jest oryginalną informacją, która stanowi część rekordu Mc, natomiast q jest prawdopodobieństwem błędu. W oryginale twierdzenie Shannona zostało sformułowane dla przypadku stałej wartości q. W modelu widocznym na poprzednim rysunku – q może zmieniać się wraz z upływem czasu, więc tę zmianę należy uwzględnić w konstrukcji algorytmu mechanizmu kodowania archiwującego. Nie będziemy wnikać w szczegółową analizę rozszerzeń twierdzenia Shannona, ograniczę się jedynie do przedyskutowania praktycznych aspektów tego twierdzenia.

Popatrzmy na następującą tabelę.

q

F(q)

1/2

0

1/3

0.0823

0.001

0.99

 

Na rysunku i w tabeli wartości F(q) przedstawią maksymalną efektywność kodowania korekcyjnego. Z powyższych wyników widać, że w przypadku q=1/2, gdzie mamy jednakowe prawdopodobieństwo odczytu błędnego i poprawnego, a informacja nie może być w ogólności zinterpretowana.  Zwiększając liczbę bitów korekcyjnych w rekordzie, odczytamy 99% informacji przy 0.1% prawdopodobieństwie odczytu błędnego. Należy podkreślić, że twierdzenie wskazuje na maksymalne limity efektywności algorytmu korekcyjnego. W implementacjach twierdzenia Shannona (np. korekcja Reeda-Salamona, ECC on the Fly, kodowanie Viterbiego, czy turbo kody) rzeczywiste efektywności kodowania są mniejsze, co powoduje konieczność zwiększenia liczby bitów korekcyjnych. Pominę dyskusję zmiany liczby bitów korekcyjnych w zmodyfikowanych kodekach (archiwizujących), dla których q=q(t). Zaraz pokażę, jak można wykorzystać aktualnie dostępne narzędzia, aby częściowo uniezależnić prawdopodobieństwo wzrostu błędów w czasie dla rzeczywistych pamięci. 

Wyposażeni w wiedzę o możliwości korygowania informacji przez dodawanie bitów korekcyjnych możemy przejść do procesów prewencyjnych ochrony zapisanej informacji, kiedy w pewnych przedziałach czasu możemy zaobserwować lub przyjąć, że dq/dt = 0 (stałość prawdopodobieństwa błędnego odczytu danych). Wówczas wystarczą „standardowe” implementacje twierdzenia Shannona. Chciałbym w tym miejscu podkreślić, że wszystkie omawiane poniżej metody zostały opatentowane.

Scrubbing

Pierwszą procedurą jest tzw. „płukanie” lub „szorowanie” błędów. Po angielsku ten proces nazywa sięscrubbing. Polega na odczycie informacji i po stwierdzeniu wystąpienia korygowalnego błędu wykonywana jest korekcja, a poprawna informacja ponownie zapisywana do pamięci. Metoda jest stosowana w rozległych pamięciach operacyjnych w komputerach wieloprocesorowych. Oczywiście można ją zastosować jako realizację „sprzężenia zwrotnego”, widocznego na rysunku. Głównym zadaniem „płukania” błędów jest zapobieganie ich kumulacji, która po pewnym dłuższym czasie może przekroczyć możliwości późniejszej ich korekcji.

Niestety, metoda scrubbingu nie pozwala wychwycić momentu, w którym może nastąpić lawinowy wzrost błędów, ponieważ korygowane są tylko stwierdzone błędy, a nie wszystkie potencjalne, które mogą wystąpić w czasie pomiędzy ostatnim „płukaniem” a zaplanowanym następnym. Niestety, standardowo produkowane pamięci nie pozwalają na pomiar aktualnych analogowych wartości fizycznych parametrów zapisu, ponieważ producenci zazwyczaj nie udostępniają możliwości wejścia z zewnątrz do analogowego fragmentu elektroniki pamięci. Scrubbing pozwala jedynie na korekcję stwierdzonych błędów przypadkowych. Poniższy rysunek przedstawia sytuację spodziewanej zmiany prawdopodobieństwa błędnego odczytu rekordu z upływem czasu.

null

Przedstawiona na rysunku krzywa wzrostu prawdopodobieństwa odczytu błędów w rekordach zapisanych w pamięci jest tylko poglądowa. Istotne jest działanie procedury od chwili dokonania zapisu do momentu, kiedy prawdopodobieństwo odczytu błędu przekroczy ustawiony maksymalny limit procedury korekcyjnej. Limit Shannona jest zawsze trochę wyżej, ponieważ twierdzenie Shannona wyznacza najbardziej efektywną wartość F(q).  Z rysunku wynika, że możliwość korekcji istnieje, jeśli nie będzie przekroczony czas tlimit, jaki upłynął od momentu zapisu danych tzapisu. Wyraźnie widać, że wykonanie procedury scrubbingu w tym przedziale czasu pozwala na uniknięcie jedynie kumulacji błędów, co mogłoby później okazać się przyczyną przekroczenia granicy stosowalności procedury korygującej. Niestety, scrubbing nie pozwala na rzeczywiste przedłużenie przedziału czasu bezpiecznego przechowania danych. W tym celu wymagane jest całkowite zregenerowanie wartości fizycznych parametrów zapisu, tak jak to ma miejsce w przypadku wspomnianego procesu odświeżania w pamięciach DRAM.

Regeneracja

Wracając do rysunku, widzimy, że jeśli pamięć jest w dobrym stanie fizycznym, tzn. nie uległa korozji i dopuszcza wielokrotny zapis, wówczas wykonując odczyt informacji z każdej komórki pamięci i ponowne ją zapisując, wracamy do początku wykresu. W przeciwieństwie do scrubbingu operacja ponownego zapisu podczas regeneracji dotyczy całej pamięci, a nie tylko rekordów zawierających stwierdzone błędy. W zależności od konkretnego typu pamięci, proces regeneracji ma różne formy implementacji, których nie będę omawiać szczegółowo. Ogólnie mówiąc, może to być regeneracja stanu zapisu w miejscu lub z przesunięciem w obrębie nośnika, np. o kilka komórek. Takie postępowanie ma znaczenie „higieniczne”, ponieważ poprzednie stany będą skasowane i proces zapisu będzie dokonywany jak na nowym nośniku. Oczywiście działanie procedury regeneracji jest możliwe, jeśli proces zapisu jest dopuszczalny. W przypadku np. CD-ROM-u, takiego procesu przeprowadzić nie można, ponieważ pamięć jest tylko odczytywalna. Również nic nie stoi na przeszkodzie, aby połączyć regenerację ze scrubbingiem, ale nie musimy realizować obydwu procesów jednocześnie.

Regeneracja ma skończoną powtarzalność i tu ograniczeniem jest stan fizyczny starzejącego się nośnika oraz zaprojektowana dla konkretnego typu pamięci liczba cykli zapisu i kasowania.  Należy pamiętać, że skorodowany lub uszkodzony nośnik nie nadaje się do regeneracji zapisu.  Wówczas konieczna będzie migracja informacji na nowy nośnik.

Migracja

Proces polega na przenoszeniu zapisów z jednego nośnika pamięci na inny. W odróżnieniu od regeneracji czy scrubbingu, dane w procesie migracji są wyprowadzane poza lokalny obszar pamięci, co wymaga dodatkowych urządzeń (sieci, nośników, napędów, itp.). Propozycja konstruowania archiwów długoterminowych z zastosowaniem tylko procesu migracji nie wydaje się ekonomicznie korzystna. Oczywiście wymiana całego sprzętu jest korzystna z punktu widzenia producentów, ale nie archiwum. W dalszej części artykułu opiszę konstrukcję, gdzie proces migracji danych będzie zastosowany jedynie po upływie czasu, w którym zostanie stwierdzone trwałe uszkodzenie nośników.  Oczywiście, projektując archiwum o określonym stopniu wiarygodności odczytu zgromadzonych danych, zawsze planujemy umieszczenie odpowiedniej liczby kopii zapisów w odrębnych obszarach przestrzeni archiwum. Dlatego po wymianie uszkodzonego fragmentu archiwum, pełny zasób można odbudować automatycznie używając procesu migracji.


 

Elektroniczne archiwa podręczne i głębokie

Po omówieniu działania podzespołów wymaganych do budowy archiwum możemy przejść do rozważań o jego strukturze. Ogólnie elektroniczne archiwa możemy podzielić na dwa typy: archiwa podręczne oraz archiwa głębokie.

Archiwum podręczne

Typowym archiwum podręcznym jest twardy dysk w komputerze. Zazwyczaj ma być wystarczająco pojemny, działać z małym opóźnieniem i szybko. Opóźnienie jest związane z pozycjonowaniem głowicy odczytującej w dysku. W przypadku dysków SSD (całkowicie elektronicznych) jest ono znacznie mniejsze niż w dyskach mechanicznych. Podobnie będzie z większą strukturą archiwum podręcznego i np. macierze dyskowe będą działać szybciej niż podajniki taśm i napędy taśmowe.

Zazwyczaj archiwa podręczne, przechowujące treść audiowizualną, są projektowane dla eksploatacji przez pewien określony czas. Po jego upływie elementy archiwum są wymieniane na nowe. Popatrzmy na następujący rysunek ilustrujący typowe przeznaczenie archiwów podręcznych dla treści audiowizualnej.

null

Zwykle nie przechowujemy rozległych zbiorów w elektronicznych archiwach podręcznych, których wielkość byłaby zaprojektowana „na wyrost”. Zgromadzona kolekcja danych ma konkretnie przeznaczenie, np. do dystrybucji albo procesów postprodukcyjnych. Jeśli na przykład w studiu edycji końcowej i tzw. masteringu będą przygotowywane filmy do dystrybucji na krążkach DVD, wówczas nie ma sensu przechowywać treści o parametrach innych niż używane, np. w formatach cyfrowych filmów w wysokiej rozdzielczości 2k, 4k, 5k. Podobnie w zespole emisji telewizji SDTV, nie przechowuje się w archiwach pre-emisyjnych (podręcznych) zapisów przeznaczonych do prezentacji za pomocą cyfrowych projektorów kinowych. Od archiwum podręcznego wymagamy, aby dostęp do dowolnej treści był realizowany z możliwie najmniejszym opóźnieniem oraz aby transfer danych, np. do wideo serwerów zespołu emisyjnego, był możliwe krótki. Zwykle ilość zgromadzonych w archiwach podręcznych tytułów jest ograniczona. Wymienione struktury są silnie scentralizowane. Istnieją archiwa, które mają wiele cech archiwów podręcznych, ale są rozległe i znacznie rozproszone np. YouTube czy polska Ipla. Zgromadzona w nich treść audiowizualna jest silnie skompresowana do szerokości strumienia danych skorelowanego z przepływnością sieci telekomunikacyjnych. Oczywiście i w tych przypadkach, konstrukcja archiwów również nie jest przewidziana do przechowywania np. cyfrowych filmów kinowych. Ale co zrobić, jeśli nie znamy przyszłego przeznaczenia i wykorzystania zgromadzonych zbiorów oraz przy założeniu, że ich ilość cięgle przyrasta? Konieczne jest zorganizowanie elektronicznego archiwum głębokiego.

Archiwum głębokie

Typowym archiwum głębokim są zbiory programowe TVP S.A. Gromadzi ono wiele typów nośników, których jest w sumie już ok. 1 miliona.  W archiwum znajdują się nagrania – analogowe i cyfrowe oraz różne nośniki – od błon filmowych 16 mm, 16 plus, 35 mm, po zapisy na taśmach magnetycznych: dość starych jednocalowych – typu C (jeszcze starsze typu A zostały przepisane i wycofane), półcalowych Betacam SP i Digital Betacam oraz HDCAM/HDCAM SR. Konwertując zbiory do plików cyfrowych, zgromadzone zapisy nie mają ściśle określonego przyszłego przeznaczenia, dlatego należy wykonywać transfer z możliwie największą dokładnością. Może się okazać, że programy i filmy będą dystrybuowane zarówno w wersjach LDTV oraz „high-end” (HDTV i Digital Cinema). Każda konwersja oryginalnego zapisu na odrębną jakościowo postać cyfrową pociąga za sobą koszty oraz fizycznie rujnuje nośniki. Na przykład przepuszczenie błon filmowych przez telekino lub skaner filmowy zawsze wprowadza mechaniczne uszkodzenia w stosunkowo delikatny nośnik i kolejne odtworzenia wymagają coraz bardziej pracochłonnych i kosztownych zabiegów rekonstrukcyjnych. Przyjrzyjmy się, z jaką objętością binarną zbiorów będziemy mieli do czynienia po wykonaniu procesu digitalizacji. Szczegółowe omówienie tego tematu wymaga osobnego artykułu, dlatego podaję jedynie orientacyjne wartości.

Typ zapisu

Nośnik

Objętość

Zapis wideo zgodnie z rekomendacją ITU/IEC 601

½” taśma magnetyczna Betacam SP i Digital Betacam

ok. 120 GB/h

Zapis wideo skompresowany tzw. „50”

Taśma magnetyczna DVCPRO oraz DVCAM

ok. 60 GB/h

HDCAM/HDCAM SR

Taśma magnetyczna

ok. 80GB/h

XDCAM

BluRay

SS -25 GB lub DS-50 GB

Film kinowy 2k

błona filmowa: 16mm, 16 plus

ok. 2.5 TB/h

Film kinowy 4k

błona filmowa: 35mm

ok. 6 TB/h

3D Film kinowy 5k (Kamery RED)

 

nawet do 55 TB/h

Z powyższej tabeli wynikają istotne wnioski. Objętość bitowa zapisów audiowizualnych jest obecnie jedną z większych w świecie cyfrowym oraz stale rośnie wraz z wprowadzeniem nowych sposobów rejestracji. Proszę zauważyć, że dwie cyfrowe kamery filmowe RED (film 3D) mogą produkować zbiory binarne o objętości do ok. 55 TB na godzinę nagrania. Obecnie realizacja filmów odbywa się praktycznie tylko za pomocą techniki cyfrowej, ponieważ błony światłoczułe zostały wycofane.

Przechowywanie w archiwach podręcznych tak dużych objętościowo nagrań audiowizualnych i w ilościach, jakie są produkowane obecnie, byłoby zupełnie niepraktyczne. Z drugiej strony, procesy ochrony stanu zapisów przy dużej liczbie wymiennych nośników w archiwach z półkami i szafami byłyby ogromnym wyzwaniem logistycznym i wymagałyby zgromadzenia sporej ilości sprzętu przeznaczonego jedynie do tego zadania.  Archiwum gromadzące dowolnej objętości zbiory cyfrowe i dowolne ich ilości, będzie archiwum głębokim. Praktyczną realizację takiego archiwum w wersji elektronicznej i całkowicie zautomatyzowanej przestawię w dalszej części artykułu.

Głębokość archiwum

Zastanówmy się nad opisem działania i cechami archiwum głębokiego. Jednym z ważnych parametrów jest parametr głębokości archiwum. Najprościej można go przedstawić na przykładzie archiwum TVP S.A. Dziennie wypożyczane jest średnio ok. 250 nośników z puli ok. 600 tysięcy nośników przeznaczonych do udostępnienia. Głębokość archiwum TVP S.A. szacujemy dzieląc liczbę wszystkich nośników przez ilość nośników użytkowanych dziennie. W ten sposób określamy średnią głębokość archiwum. Oczywiście, jeśli chcemy być bardziej dokładni, możemy oszacować chwilową głębokość archiwum, obserwując liczbę nośników wypożyczanych np. w ciągu godziny. Podobnie wyznaczamy szczytowe głębokości archiwum dzieląc maksymalną lub minimalną liczbę nośników udostępnianych w zdefiniowanym przedziale czasu. Na razie policzmy średnią głębokość dobową archiwum TVP S.A.:

600 000 nośników w zbiorze do wypożyczenia/250 nośników wypożyczanych dziennie = 2400.

Następnie obliczmy głębokość typowego archiwum podręcznego, np. w systemie montażu grupowego. Zazwyczaj macierz dyskowa takiego sytemu pozwala zgromadzić do ok. 3000 godzin nagrań. Stąd głębokość tego archiwum w skali dobowej wyniesie 3000/24=125. Natomiast typowy serwer emisyjny pozwala na zgromadzenie ok. 100 godzin nagrań i wówczas jego głębokość wynosi 100/24=4.2.

Metody udostępniania

Przebrnęliśmy przez definicję pierwszej ważnej cechy archiwum głębokiego. Teraz przejdę do kolejnej obserwacji, pokazującej, jak działa operacyjnie archiwum głębokie, takie jak w TVP S.A. Upoważniony klient archiwum zamawia wybrany przez siebie zasób, czekając pewien czas na realizację żądania – pobranie nośnika z półki i dostarczenie. Zazwyczaj po otrzymaniu nośnika z magazynu nie należy natychmiast wkładać np. kasety magnetowidowej do napędu lub filmu do skanera, ponieważ temperatura i wilgotność w magazynie jest na ogół inna niż miejsca, gdzie nośnik będzie odtwarzany. Materiał musi przejść aklimatyzację, której czas jest zależny od jego typu i aktualnego stanu. Łącznie czas od momentu wystawienia żądania od odtworzenia nośnika jest traktowany jako techniczne opóźnienie realizacji. Tryb, w którym się to odbywa możemy nazwać – „na zamówienie” w odróżnieniu od trybu „na żądanie” (ang. on demand). W drugim przypadku nasze doświadczenia są związane z internetem lub telewizją VoD, gdzie prawie każdą informację otrzymujemy z możliwie krótkim opóźnieniem, prawie natychmiastowo, biorąc za punkt odniesienia naszą psychofizyczną reakcję. Z praktycznych powodów, w elektronicznej wersji archiwum głębokiego zastosujemy również tryb „na zamówienie” i kolejkową realizację zadań. Wiąże się to z racjonalizacją kosztu budowy struktur o dużej przepustowości, które nie są bezwzględnie konieczne w przypadku tej konstrukcji. Ponadto przekaz danych o dużej objętości bitowej, wymienionej w Tab. 5, nie jest zadaniem łatwym, nawet w obecnych sieciach teleinformatycznych. Jeszcze jedną kwestią jest optymalizacja rozpraszanej energii. Elektroniczne archiwa podręczne są zasilane praktycznie bez przerwy, a optymalizacja zasilania jest częściowa i zazwyczaj wiąże się z zastosowaniem komponentów produkowanych w technologii low-power. W przypadku elektronicznego archiwum głębokiego nie ma potrzeby i sensu utrzymywać w aktywności wszystkie podzespoły archiwum, a jedynie te, których aktywność wynika z planu realizacji kolejki zadań.  W drugiej części artykułu opiszę elektroniczne archiwum głębokie, w którym zasilanie oraz optymalizacja rozpraszanej energii podlega całkowitej kontroli. Problem jest bardzo poważny, ponieważ budowane obecnie tzw. serwerownie są wyjątkowo energochłonne. W przypadku elektronicznego archiwum głębokiego energia powinna być rozpraszana jedynie w przypadku wykonywania zleconego zadania i należy unikać wszelkich trybów pracy typu IDLE lub standby.

Na zakończenie rozdziału przejdę do przypomnienia o pewnym standardzie konstrukcji archiwów, na bazie komputerów. Na rysunku widać schemat modelu OAIS (Open Archival Information System),który jest standardem: ISO 14721:2003. Nie należy tego schematu mylić z konkretną konstrukcją elektronicznego archiwum. W istocie jest to model połączeń funkcjonalnych i definicja podsystemów, wchodzących w skład archiwum.

null

Nie będę omawiał szczegółów modelu. W przypadku konstrukcji elektronicznych archiwów głębokich mogę powiedzieć, że model OAIS nie zawiera kilku istotnych elementów. Na przykład sposobu zewnętrznego kolejkowania obsługi żądań w trybie „na zamówienie” czy sposobu zbuforowanego wyprowadzania plików o dużej objętości bitowej. Nie uwzględnia również wcześniejszej instalacji treści w modułach pamięci, zanim jeszcze zostały umieszczone w przestrzeni archiwum. Model OAIS powstał w ubiegłym wieku, kiedy nie stosowano jeszcze mechanizmu robotów programowych (ang. bot), które mogą tworzyć opis zasobu i automatycznie porządkować archiwum.  Dlatego brak jest na rysunku zaznaczenia bloku sterowania botami. Kreowana przez boty informacja może być zdalnie wyprowadzana poza obręb archiwum, np. do witryn (portali) użytkowników lub rozsyłana bezpośrednio do innych zautomatyzowanych systemów. Z tych powodów i jeszcze kilku innych, o których jeszcze wspomnę w dalszej części artykułu, ustandaryzowany model z rysunku należy uzupełnić, chcąc budować nowoczesne elektroniczne archiwa głębokie.

Struktura elektronicznych archiwów i elektroniczne archiwum wieczyste

W praktycznych zastosowaniach, co pokażę w ostatnim rozdziale drugiej części artykułu, zazwyczaj wykorzystuje się obydwa typy archiwów, podręczne i głębokie. W takiej konfiguracji archiwum podręczne jest traktowane w sposób zależny od przeznaczenia i spełnianej funkcji. Może ono na przykład pełnić rolę zasobnika do przechowywania większej kolekcji danych, które są często używane w takcie edycji A/V, może być buforem na dane, które mamy zamiar poddać formatowaniu lub zmianie formatu albo też może być czymś w rodzaju serwera cache dla przechowania przez pewien czas udostępnianych danych. Poniższy rysunek ilustruje typową praktyczną aplikację obydwu typu archiwów.

null

Zapisy przechowywane w archiwum głębokim nie zawsze posiadają format wymagany przez użytkowników. Dlatego zanim zasób zostanie przemieszczony do archiwum podręcznego, konieczna jest konwersja. Konstruując obiekty przedstawione na rysunku zakłada się, że archiwum głębokie stanowi rozległy zasobnik, który przechowuje wszystkie treści w możliwie najwyższych jakościowo formatach. Natomiast archiwum podręczne stanowi retencję treści używanej czasowo i w formatach aktualnie użytkowanych. Ponieważ zakłada się, że treści w archiwum głębokim powinny być dostępne w długiej perspektywie czasu, dlatego w przypadku tego typu archiwów należy dołączyć mechanizm ochronny stanu zapisu danych dla ich długoterminowego przechowywania. W przypadku, kiedy termin przechowania nie jest określony, archiwum tego typu będziemy nazywać elektronicznym archiwum wieczystym.

Poziomy dokładności przechowania danych

W długoterminowym przechowaniu informacji, zorganizowanej w postaci plików cyfrowych, nie zawsze będzie zależeć nam na ochronie pliku z dokładnością do bitu. Może się to wydawać dziwne, ale rozważmy następującą sytuację, kiedy zapis audiowizualny będzie przechowywany w dwóch osobnych plikach – audio i wideo. Weźmy plik wideo, który będzie reprezentowany przez ciąg obrazów niepoddanych żadnej kompresji. Wówczas przekłamanie pojedynczych bitów nawet, jeśli ich standardowa korekcja nie powiodła się, nie zmienia specjalnie treści, a mówiąc dokładniej, prawdopodobnie nie będziemy potrafili dostrzec zmiany w obrazie. Ewentualnie przy bardziej rozległych uszkodzeniach treść będzie można zrekonstruować. W przypadku plików skompresowanych sytuacja może być zasadniczo inna. Nawet uszkodzenie pojedynczych standardowo niekorygowanych bitów może powodować rozleglejsze uszkodzenia. Popatrzmy na następujący przykład zapisu wideo, poddanego kompresji MPEG2.

null

W kompresjach MPEG (1,2 oraz 4) stosuje się „mocną” redukcję informacji redundantnej na rzecz informacji tzw. entropicznej.  Zazwyczaj obie są dość silnie splecione i ich rozdzielenie może być bardzo trudne.  Ale spróbujmy to zrobić. I tak, pewne sekwencje ramek obrazu wideo (lub klatek na błonie filmu kinowego) zawierają ramki bardzo podobne do siebie, różniące się detalami.  Takie same obszary obrazu na kolejnych ramkach sekwencji zawierają informację powtórzoną (redundantną) natomiast fragmenty obrazu, które się różnią, przenoszą informację entropiczną. Pomińmy mechanizm kompresji stratnej, którą wykonuje się na bitmapie. Ramka wideo, która w sekwencji jest bitmapą obrazu, nazywa się ramką referencyjną lub I-frame. Porównując kolejne ramki sekwencji z referencyjną, wydzielamy obszary zmian i ich wektory położenia. W ten sposób tworzymy ramki typu P (predylekcyjną) oraz typu B (od ang. between). Sekwencja ramek: I, P, B jest nazywana grupą obrazów GOP (ang. Group of Pictures). Jeśli z GOP wypadną ramki typu B lub P wówczas sekwencję możemy odtworzyć, prawie w całości. Natomiast jeśli nie umiemy odczytać ramki referencyjnej typu I, wówczas GOP jest stracona. Powyższy przykład pokazuje, jak mogą powstawać rozległe uszkodzenia w zapisie, gdy nieczytelne są nawet niewielkie fragmenty danych.

Idąc za powyższym przykładem, dla plików cyfrowych zgromadzonych w elektronicznych archiwach możemy wyróżnić pewien zakres spodziewanej dokładności przechowania, który przedstawiłem na poniższym rysunku.

null

Na rysunku widoczne są poziomy dokładności i zakresy odczytu przechowywanych plików w archiwum długoterminowym. W trybie File-preservation dopuszcza się pewną liczbę bitów uszkodzonych, w zależności od ich kumulacji w pliku. Jeśli na przykład w całym pliku wypadnie kilka ramek P lub B, to ważne jest, czy stało się to w rożnych, czy w jednym GOP. Tu kumulacja ma istotne znaczenie. Jednak jeśli kumulacja pojedynczych bitów obejmie tylko jedną ramkę B lub P, a nie rozłoży się po sekwencji GOP, to sytuacja będzie korzystniejsza. Wówczas wystarczy zrekonstruować jedną ramkę, co jest łatwiejsze w realizacji niż usunięcie błędów z wielu ramek. W trybie Bit-preservation wiarygodność odczytu podlega jedynie ograniczeniom twierdzenia Shannona. Zakładając w konstrukcji archiwum spodziewany poziom ilości i rozkładu błędów, należy wziąć pod uwagę fakt, że zwiększanie wiarygodności do maksimum (bit-preservation) wiąże się z maksymalizacją kosztów, co nie zawsze jest konieczne. Dlatego projektując elektroniczne archiwa głębokie, należy postępować rozsądnie, wiedząc, czego można spodziewać się po konstrukcji.

System plików i przygotowanie dokumentu audiowizualnego do zapisu

Na zakończenie pierwszej części artykułu poświęconego konstrukcji archiwum długoterminowego pozostaje do omówienia zagadnienie, w jaki sposób należy przygotować dane cyfrowe do przechowywania oraz czy można wykonać operacyjne zabezpieczenia danych poprzez odpowiedni wybór lub konstrukcję systemu plików. Przechowywanie danych bezpostaciowych nie wchodzi w grę, ponieważ trudno kontrolować tego typu zapisy. Dlatego wszelkie nagrania bezpostaciowe należy przekonwertować do postaci pliku. Na przykład zapisy w formacie CD-Audio, DAT czy na taśmie Digital Betacam są bezpostaciowe i należy dokonać konwersji („ripowania”) do formy pliku. Każdy plik zawiera informację główną (pay-load) , która jest obudowana przez elementy dodatkowe (deskryptory, metadane, znaczniki, itp.) Z punktu widzenia procesu kodowania korekcyjnego wewnętrzna budowa pliku nie ma znaczenia. Niestety, kodowanie korekcyjne może być przeprowadzone tylko jeden raz. Dla łatwiejszego zrozumienia, dlaczego tak się dzieje, zilustruję opisywaną sytuację.

null

Patrząc na ten rysunek łatwo można wywnioskować, że jeśli mechanizm korekcji pliku 3 nie jest w stanie naprawić błędów, wówczas dodatkowe kodowanie korekcyjne (wewnętrzne) – plik 2 – nie da żadnych efektów. Plik 2, powstały w wyniku kodowania korekcyjnego pliku 1, będzie potraktowany po ponownym kodowaniu korekcyjnym tak samo jak plik 1 przy pierwszym kodowaniu korekcyjnym.

System plików w archiwum długoterminowym

Rejestrując na taśmie magnetofonowej utwór muzyczny za utworem, tworzymy pewną ściśle upakowaną kolejkę nagrań. Łatwo możemy sobie wyobrazić, że skasowanie jednego utworu (nie licząc ostatniego) i zastąpienie go innym nagraniem będzie możliwe wówczas, kiedy długość nowego nagrania będzie taka sama lub mniejsza od długości czasu trwania utworu skasowanego. W przypadku dysku komputerowego jest podobnie i oczywiście kasując i zapisując pliki bardzo szybko zapełnilibyśmy całą pojemność dysku, mając faktycznie wiele wolnego miejsca. Drugim problemem jest szybkie odszukanie nagrania. Widać, że te spostrzeżenia prowadzą nas do koncepcji pewnego mechanizmu, który nazywa się systemem plików. Po pierwsze, powinien w określonym miejscu przechowywać informację o położeniu pliku (alokacja). Po drugie, każdy plik może być podzielony na kawałki (blockschunks, itp.) i zapisany w dostępnych miejscach przestrzeni dyskowej. Zbyt poszatkowane zapisy plików na dyskach powodują spowolnienie odczytu, ponieważ głowica odczytująca musi się częściej przemieszczać, co nie zawsze jest w stanie zrównoważyć tzw. pamięć buforów. Ten efekt nazywa się fragmentacją dysków. Mniejsze znaczenie ma on w przypadku zapisów w pamięciach elektronicznych o szybkim dostępie, gdyż nie zawierają one ruchomych elementów mechanicznych.  W przypadku błędnego odczytu alokacji lub fragmentów pliku nie można skompletować całego pliku i wówczas tracimy spójność zapisu.

W praktyce jest wiele używanych systemów plików np.: FAT, NTFS, ETX2, ETX 3, ETX4, Reiser FS, Reiser4, BeFS, HFS+, JFS, XFS, SFS, UFS, GFS, OpenGFS i inne. Pominę ich omówienie, ponieważ zabrałby to wiele miejsca i zaciemniłoby istotę naszych rozważań.  W przypadku zapisów w archiwum głębokim, system plików nie ma dużego znaczenia, ponieważ nie spodziewamy się, że będziemy pliki zapisywać, kasować i na miejsce wymazanych danych zapisywać nowe. Mechanizm zapisu w długoterminowych archiwach głębokich przypomina raczej zapis na taśmie magnetofonowej kolejnych utworów i nie spodziewamy się, że będą one często kasowane. Ważniejsze będzie specjalne potraktowanie zapisów, które pozwoli zabezpieczyć pliki przed utratą spójności, w przypadku uszkodzenia obszaru zawierającego informację o alokacji plików w przestrzeni pamięci. Niezależnie od zastosowania konkretnego systemu plików lub nawet przy zapisie danych bez systemu plików, tzw. „surowym” (ang. raw), warto wprowadzić lokalnie dodatkowy element zabezpieczenia. Poniższy rysunek przedstawia ideę prostej konstrukcji tego elementu.

null

Wprowadzenie dodatkowego małego pliku o określonej stałej objętości binarnej i architekturze KLV (Key-Length-Value) pozwala na lokalny opis położenia pliku danych chronionych. Plik powinien mieć objętość bitową o ustalonej całkowitej niewielkiej wielokrotności minimalnego bloku danych, np. sektora dla magnetycznych dysków twardych. Plik ten nazwałem metryczką i powinien być on zapisany na początku i na końcu pliku danych chronionych. Nie narusza on istniejącej struktury sytemu plików na dysku, a w przypadku zapisów „surowych” danych bezpośrednio na dysku z pominięciem systemu plików, zastępuje tablice alokacyjne, węzły, grupy, deskryptory i inne mechanizmy używane w konstrukcji systemów plików. Wprowadzenie metryczki jest szczególnie przydatne w rozległych sieciach danych. Popatrzmy, co się stanie w przypadku uszkodzeń w systemie plików. Niech uszkodzeniu ulegnie na przykład tablica alokacji lub Root Directory w systemie plików FAT, przykładowo w wyniku uruchomienia procesu formatowania dysku.  Po tym zdarzeniu pozostałe zgromadzone dane będą nieuszkodzone, ale ich ponowne przypisanie do konkretnych plików jest praktycznie niewykonalne. Można to zrobić w przypadku niektórych plików tekstowych, ale jeśli byłyby to pliki zawierające nagrania audiowizualne, wówczas rekonstrukcja systemu plików byłaby niesłychanie trudna i z małą perspektywą na sukces. Jeśli wprowadzilibyśmy metryczki, to proste przeszukanie całego dysku bardzo łatwo doprowadzi nas do ich odnalezienia, co pozwoli odbudować np. system plików i zachować spójność danych w plikach.

Translacja formatów

W przypadku długoletniego przechowania plików danych rodzi się pytanie, czy dane będą zrozumiałe, jeśli pewne formaty staną się demodé. W latach 90. na przykład bardzo popularny był edytor tekstu AmiPro, o którym dziś już prawie nikt nie pamięta. Wiele tekstów zostało napisanych za pomocą tego edytora, a obecnie translatory plików, zapisanych przez AmiPro, nie są już dostępne w nowszych wersjach procesorów teksów np. MS Office czy Open Office. Oczywiście sama treść jest nadal czytelna, ale nie jest możliwe jej formatowanie. W przypadku treści audiowizualnej należy unikać wielu typów formatów zapisu, szczególnie plików z treścią skompresowaną i zapisaną w aktualnie modnych kontenerach. Najlepiej wybrać jeden format zapisu, który pozwoli uniknąć rozległych uszkodzeń przy zmianie pojedynczych bitów, co już omówiliśmy. Z drugiej strony wybór standardu formatu pozwoli obniżyć koszt pisania translatorów w przyszłości. Dla zapisu cyfrowej treści wideo (bitmapy) dysponujemy obecnie dość uniwersalnym formatem pliku, który wywodzi się z systemu Cineon firmy Kodak. Format nazywa się Open DPX (Digital Picture Exchange). Generalnie format DPX ma prostą budowę i pozwala na zapis bitmap pojedynczych klatek filmowych lub ramek wideo. Dopuszcza maksymalny rozmiar bitmapy do 4Gpix x 4Gpix oraz zakres reprezentacji przestrzeni koloru w bitach: 1, 8, 10 (dla wideo), 12 (logarytmiczny dla filmu kinowego), 16 (liniowy dla filmu kinowego), 32 i 64 (dla skanerów). Obrazy mogą być zapisane bez kompresji lub z kompresją RLE (bezstratną). Sekwencje bajtów mogą mieć porządek zarówno Big-Endian oraz Little-Endian. Ponadto format DPX pozwala na zapis metadanych.

W przypadku plików audio przeznaczonych dla archiwizacji długoterminowej, również należy unikać formatów plików skompresowanych. 

Pliki z treścią tekstową lub mieszaną (multimedialną), np. popularny obecnie format PDF (standard ISO 32000-1:2008) firmy Adobe, powinny być zamienione na bitmapy dla długoletniego składowania, które można łatwo odczytać, zachowując kształt prezentowanej informacji. Pliki PDF oraz pliki tekstowe mają charakter roboczy i można się spodziewać, że w przyszłości zostaną zastąpione przez nowocześniejsze oraz bardziej uniwersalne. Użycie bitmap lub ich sekwencji, np. wideo, nie powinno stwarzać problemów z ich odtworzeniem po wielu latach przechowania w elektronicznych archiwach. Ponadto pliki bitmap można cechować, co pozwoli na stwierdzenie ich oryginalności i nienaruszalności.

Cechowanie danych cyfrowych

Do omówienia pozostał jeszcze jeden problem – zachowanie oryginalności treści w niemodyfikowalnej formie. Istnieją w zasadzie dwa jego rozwiązania techniczne. Jedno polega na związaniu treści z fizyczną pamięcią. Drugim sposobem są zabezpieczenia softwarowe danych.

Zabezpieczenie sprzętowe archiwizowanej treści cyfrowej przed modyfikacją ma pewną wadę, ponieważ nie można zastosować opisanych powyżej procesów ochronnych. W takim przypadku potrzebna byłaby pamięć jednokrotnie zapisywalna z możliwością regeneracji fizycznych parametrów zapisu. Ale takie nie są produkowane. Oczywiście nie możemy zastosować procesu migracji zapisu na nowy nośnik, ponieważ utracilibyśmy cechowanie, związane ściśle z nośnikiem.  Na razie nie dysponujemy pamięciami z cechowaniem. Natomiast możemy zdefiniować teoretycznie cechowanie „idealne”, co ilustruje poniższy rysunek.

null

„Idealną” metodą byłoby zastosowanie procesów fizycznych do cechowania danych cyfrowych. W jego ramach powstałby nowy zapis, którego podrobienie byłoby bardzo trudne lub niemożliwe w praktyce. Cechowanie wskazywałoby na czas powstania dokumentu. Czy sugerowany na rysunku proces jest realizowalny? Odpowiedź jest pozytywna, ale realizacja wymaga wprowadzenia nowych informacji, które można nazwać kanwą bitmapy. Nowo powstały plik musi zwiększyć swoją objętość binarną. Dla użytkownika proces cechowania byłby realizowalny przez specjalnie zaprojektowane urządzenie, do którego wysłałby siecią swoje pliki, a otrzymywałby cechowany dokument cyfrowy. W tym miejscu przerwę rozważania na ten temat, ponieważ przykładowa konstrukcja nie może być na razie upubliczniona z powodów procedury patentowej.

Obecnie stosowane metody cechowania mają ograniczony czas zastosowania i opierają się na zaufaniu do instytucji, która je realizuje. Eliminacja algorytmu pozostającego pod kontrolą „zaufanej” instytucji na rzecz cechowania fizycznego, gdzie instytucją zaufania byłaby Natura i jej prawa, znakomicie zmieniłaby sytuację. Większość algorytmów cechowania, np. haszowanie, stemple czasu, itp., opiera się na teorii funkcji jednokierunkowych. Popatrzmy na definicję funkcji jednokierunkowej:

,,

F(x) jest funkcją jednokierunkową, jeśli jest łatwa do wyliczenia, ale trudna do odwrócenia

oraz

F(x) – istnieje algorytm wielomianowy, który ją oblicza, tzn. wylicza w skończonej liczbie kroków i sensownym czasie działania algorytmu;
F-1(F(x)) – odwrócenie funkcji jest trudne, tzn. żaden probabilistyczny algorytm wielomianowy nie jest w stanie znaleźć przeciwobrazu F(x) z prawdopodobieństwem większym niż zaniedbywalne.

,,

Tu muszę ujawnić pewną tajemnicę. Jeszcze nikomu nie udało się znaleźć przykładu jakiejkolwiek funkcji jednokierunkowej. Dlatego dla realizacji algorytmów cechowania wykorzystuje się funkcje „prawie” jednokierunkowe. Niestety, algorytmy oparte na tych funkcjach mają ograniczony czas życia. Jedni ludzie wynajdują nowe sposoby kryptograficzne, a inni starają się je złamać. W przypadku cechowania naturalnego, odwrócenie pewnych zachodzących jednokierunkowo zjawisk jest praktycznie niewykonalne. Na przykład poskładanie z dużą dokładnością (do atomu) rozbitej szklanki, leży poza dostępną obecnie technologią. 

Podsumowanie

Nie zamierzałem w pierwszej części artykułu przedstawić monografii przedmiotu, ale pewien zbiór koncepcji, prowadzących do koncepcji Elektronicznego Archiwum Długoterminowego oraz Elektronicznego Archiwum Wieczystego. W drugiej części zaprezentuję zoptymalizowaną konstrukcję takiego archiwum. Można ją rozwijać przez wiele lat, bez konieczności częstej wymiany nośników i innych podzespołów. Sądzę, że prezentowane poglądy i argumenty przekonają czytelników do możliwości budowania tego typu obiektów, ponieważ Ilość aktualnie tworzonej informacji cyfrowej stale rośnie i wymaga coraz większych oraz wiarygodnych przestrzeni magazynowych.

Podziękowania

Składam serdeczne podziękowania Panom profesorom – Krzysztofowi Maraskowi oraz Krzysztofowi Meissnerowi za dyskusje i merytoryczne poprawki do artykułu. Bardzo dziękuję Panu Filipowi Kwiatkowi za korektę błędów i usprawnienie tekstu.

 

Autor: Jerzy Piotr Walczak. Współpracownik Polskiego Radia, Telewizji Polskiej i ATM S.A. 
Zajmuje się zagadnieniami archiwizacji audiowizualnych zasobów cyfrowych i ich dystrybucją.

Zobacz również