Równoważenie zużycia

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

Równoważenie zużycia to wykorzystywanie różnych metod optymalizacji zapisu, pozwalających na wydłużanie czasu, przez który nośnik danych jest zdatny do użycia. Najczęściej jest ono stosowane w pamięciach flash - głównie dyskach SSD.

Pojęcie to jest również używane przez firmę Western Digital do opisu techniki konserwacji produkowanych przez nią dysków twardych, jednak w ogólności dyski nie są urządzeniami dobrze równoważącymi zużycie.

Uzasadnienie[edytuj | edytuj kod]

Nośniki EEPROM oraz pamięci flash składają się z indywidualnie kasowanych segmentów, z których każdy może być poddany takiej procedurze jedynie skończoną liczbę razy, po upływie której segment nie będzie już przechowywał danych w sposób wiarygodny. Liczba cykli kasowania mieści się w przybliżeniu w przedziale od 1000 do 100000. Żywotność dysków optycznych takich jak CD-RW oraz DVD-RW ocenia się na najwyżej 1000 cykli, a dysków DVD-RAM na 100000 cykli. W przypadku pamięci flash liczba kasowań segmentów jest zależna głównie od technologii, w jakiej została ona wykonana. Jeśli jest to technologia SLC, to liczba ta może wynosić nawet ponad 100000, gdy technologią jest MLC - to już tylko 3000 do 5000 cykli. W przypadku pamięci TLC to zaledwie 500 cykli kasowań pojedynczego segmentu[1].

Ze względu na powyższe ograniczenia technologiczne nośników danych zostały podjęte próby równoważenia ich zużycia. Polegają one głównie na zastosowaniu odpowiednich algorytmów w urządzeniach zapisujących, które zapewniają równomierne rozkładanie operacji ponownego zapisu danych po całej przestrzeni nośnika. W ten sposób wszystkie segmenty mają podobną liczbę cykli kasowań, co pozwala zapobiegać przedwczesnemu zużyciu nośnika, które mogłoby mieć miejsce w przypadku zwiększonej liczby cykli zapisu w jednym jego obszarze.

Tradycyjne systemy plików, takie jak FAT, ext2 czy NTFS, były projektowane z myślą o dyskach magnetycznych i jako takie wielokrotnie wykonują operacje nadpisywania swoich struktur danych (takich jak np. katalogi) w to samo miejsce pamięci. Niektóre systemy plików wykonują ponadto wiele dodatkowych operacji dyskowych jak np. rejestrowanie czasów ostatniego dostępu do plików, pogarszając jeszcze bardziej to niekorzystne zjawisko.

Techniki[edytuj | edytuj kod]

Istnieje kilka technik wydłużania czasu życia nośnika:

  • W celu wykrycia potencjalnych błędów lub w celu eliminacji błędów można przechowywać sumę kontrolną lub kod korekcji błędu dla każdego sektora lub bloku
  • Można również przechowywać pulę rezerwowych bloków/sektorów. W przypadku awarii sektora lub bloku wszystkie przyszłe odczyty i zapisy mogą być przekierowywane do zastępczej lokalizacji w puli rezerwowej
  • Bloki/sektory na nośniku mogą być śledzone przy pomocy pewnego rodzaju kolejki LRU. Struktura danych reprezentująca tę kolejkę musiałaby być przechowywana poza nośnikiem lub na nośniku, ale w taki sposób, żeby przestrzeń, którą wykorzystuje, była sama w sobie zrównoważona pod względem użycia.

W urządzeniach z pamięcią flash, takich jak CompactFlash czy Secure Digital, techniki te zostały zaimplementowane na poziomie sprzętowym przy pomocy wbudowanego mikrokontrolera. Równoważenie zużycia działa na nich przezroczyście i większość tradycyjnych systemów plików może być w tych urządzeniach używanych.

Równoważenie obciążenia może zostać również zaimplementowane na poziomie oprogramowania, tak jak ma to miejsce w przypadku specjalizowanych systemów plików, takich jak JFFS2 czy YAFFS na nośnikach typu flash lub UDF na nośnikach optycznych. Wszystkie trzy są systemami plików o strukturze dziennika, co oznacza, że traktują one nośnik jako dziennik, do którego zapisują dane w cyklicznych przebiegach.

Przypisy

Linki zewnętrzne[edytuj | edytuj kod]