Równoważenie zużycia

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do 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[edytuj | edytuj kod]

  1. Broadcom Limited | Connecting Everything, www.lsi.com [dostęp 2017-11-26] (ang.).

Linki zewnętrzne[edytuj | edytuj kod]