SMART
S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology; SMART) to system do monitorowania i wczesnego wykrywania błędów na nośnikach pamięci masowej, takich jak dyski twarde lub SSD. Wszystkie aktualne dyski twarde i dyski SSD posiadają funkcjonalność SMART. Jednakże dane dostarczane przez atrybuty SMART różnią się w zależności od producenta. Tylko kilku producentów szczegółowo opisuje znaczenie poszczególnych atrybutów SMART (np. Intel, patrz Atrybuty SMART dysków SSD firmy Intel). Bez dokumentacji trudno jest użytkownikowi zinterpretować atrybuty SMART.
Geneza
SMART został pierwotnie opracowany przez Small Form Factor (SFF) Committee w połowie lat 90-tych,[1] obecnie za SMART odpowiedzialny jest Technical Committee T13. Od ATA-3 SMART jest częścią standardu ATA/ATAPI. Jednak na krótko przed wydaniem standardu, opis atrybutów SMART został usunięty. W konsekwencji, zgodnie z normą, dysk musiałby zwrócić tylko status "OK" lub "nie OK". Nie określono, ile lub jakie czujniki (atrybuty) musi posiadać dysk.
W miarę upływu czasu pojawił się quasi standard odpowiadający usuniętej wówczas propozycji. Oznacza to, że atrybuty SMART mogą być nadal z dysków odczytywane i przyporządkowane, np. przy użyciu narzędzia smartctl. Jednakże konkretne znaczenie pewnych atrybutów SMART (np. "Raw Read Error Rate") jest często specyficzne dla producenta. Ponieważ wiele z dotychczasowych atrybutów SMART nie ma już sensu w przypadku dysków SSD, producenci nadali im częściowo nowe znaczenia lub całkowicie je usunęli.
Standaryzacja
Standaryzacja SMART została po raz pierwszy przeprowadzona wraz z ATA-3. Wersja 7b ATA-3 draft[2] nadal zawierała opisy atrybutów SMART, ale zostały one usunięte przed przyjęciem standardu. Od ATA-3 w normie znajduje się rozdział (np. rozdział 4.21 w ATA-8[3]) o SMART, który nie odnosi się do atrybutów, a jedynie dotyczy ogólnych funkcji SMART. W przypadku ATA-8 zaproponowano opisanie atrybutów SMART[4] (później podzielonych na trzy propozycje)[5][6][7], które nie zostały jednak uwzględnione w normie.
Odnośnie do autotestów (selftests) pojawiła się również propozycja.[8] Została ona uwzględniona w SPC-x[9] (SCSI Primary Commands).
Poniższy przegląd pokazuje, które funkcje SMART są znormalizowane:
- Są znormalizowane:[3][9]
- Device SMART data structure
- Background data collection
- Off-line/Captive mode data collection (odnosi się do testów "... self-test routines ...")
- Threshold exceeded condition
- SMART feature set commands
- SMART operation with power management modes
- SMART device error log reporting
- Nie standaryzowane, ale dostępne (quasi standard oparty na ATA-3 Drafts[2]):
- Atrybuty SMART (nie określono jakie atrybuty muszą być obecne i jak mają być one zapisywane)
- Interpretacja atrybutów SMART (nie określono, czy atrybut jest wzorem bitowym czy liczbą)
Atrybuty SMART
Ponieważ atrybuty SMART nie są standaryzowane, każdy producent może sam zdecydować, które atrybuty SMART zdefiniować dla modelu dysku lub modelu SSD.
Atrybut SMART posiada:
- Nazwę atrybutu (np. Raw Read Error Rate)
- Wartość raw (RAW_VALUE w wyjściu z smartctl): jest indywidualnie definiowana przez producenta. Bez konkretnej dokumentacji znaczenia tej wartości interpretacja jest niepewna. Często wartości "raw" są wielkościami rzeczywistymi (np. temperatura, godzina, ....).
- Wartość normalized (VALUE w wyjściu z smartctl): wartość między 1 (najgorszy stan) i 253 (najlepszy stan), ale większość producentów przyjmuje najlepszą wartość 100 lub 200.
- Dotychczas najgorszy odczyt wartości normalized (WORST w wyjściu z smartctl)
- Wartość graniczna dla wartości normalized (THRESH w wyjściu z smartctl): jeżeli wartość normalized spadnie poniżej tej granicy, status SMART zostaje zmieniony na "Dev fail".
Różne atrybuty są aktualizowane tylko podczas restartu lub w trakcie autotestu, można to zobaczyć na wyjściu z smartctl w kolumnie UPDATED przy "Offline". Wartości, które są aktualizowane podczas pracy systemu, są oznaczone jako "Always". Oprócz tego istnieją różne rodzaje atrybutów. Atrybuty "Pre-fail" mogą wskazywać na zbliżającą się awarię dysku, jeśli ich wartości są złe.Atrybuty typu "Old-age" mogą się zmieniać podczas normalnego procesu starzenia się dysku twardego.
Tutaj możesz zobaczyć przykładowe wyjście z narzędzia smartctl:
adminuser@ubuntu-12-04:~$ sudo smartctl -a /dev/sda
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.2.0-54-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF INFORMATION SECTION ===
Model Family: Western Digital RE4
Device Model: WDC WD1003FBYX-01Y7B0
[...]
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fail Always - 0
3 Spin_Up_Time 0x0027 174 171 021 Pre-fail Always - 4291
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 126
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always - 0
9 Power_On_Hours 0x0032 087 087 000 Old_age Always - 9532
10 Spin_Retry_Count 0x0032 100 100 000 Old_age Always - 0
11 Calibration_Retry_Count 0x0032 100 100 000 Old_age Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 123
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 68
193 Load_Cycle_Count 0x0032 200 200 000 Old_age Always - 57
194 Temperature_Celsius 0x0022 115 102 000 Old_age Always - 32
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0030 200 200 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x0008 200 200 000 Old_age Offline - 0
W artykule Wikipedii na temat SMART-u znajduje się lista znanych atrybutów SMART wraz z krótkim opisem.
Odczyt atrybutów SMART
Na temat odczytu atrybutów SMART w Linuksie możesz znaleźć instrukcje w naszym artykule [[Smartctl].
Dla systemu Windows istnieją różne narzędzia (GUI), które mogą odczytywać i wyświetlać wartości SMART. Przegląd tych aplikacji można znaleźć na następującej stronie Wikipedii: Comparison of S.M.A.R.T. tools.
Testy SMART
Niektóre atrybuty SMART są aktualizowane tylko wtedy, gdy dysk twardy jest uruchamiany lub gdy wykonywane są testy SMART. Więcej informacji na temat testów SMART i sposobu ich przeprowadzania można znaleźć w artykule Testy SMART z smartctl.
Odnośniki
- ↑ Links: The original SMART specification (smartmontools Wiki)
- ↑ 2,0 2,1 Working Draft: Information Technology - AT Attachment-3 Interface (ATA-3) Revision 7b, 27.01.1997 (www.t13.org)
- ↑ 3,0 3,1 Working Draft: Information technology - AT Attachment 8 - ATA/ATAPI Command Set (ATA8-ACS) Revision 6a, 06.09.2008 (www.t13.org)
- ↑ Proposal: ATA/ATAPI-8 SMART Attribute Annex 30.09.2005 (www.t13.org)
- ↑ Proposal: ATA/ATAPI-8 SMART Attribute Overview 18.10.2005 (www.t13.org)
- ↑ Proposal: ATA/ATAPI-8 Assignment of SMART Attributes 18.10.2005 (www.t13.org)
- ↑ Proposal: ATA/ATAPI-8 List of Public SMART Attributes 18.10.2005 (www.t13.org)
- ↑ Proposal: Hard Drive Self-tests 26.04.1999 (www.t10.org)
- ↑ 9,0 9,1 SCSI Primary Commands - 4 (SPC-4) (www.t10.org)