# S.M.A.R.T.

S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology; de vegades escrit SMART) és un sistema de monitoratge per a unitats de disc dur (HDDs) i unitats d'estat sòlid (SSDs) que detecta i informa sobre diversos indicadors de fiabilitat de la unitat, amb l'objectiu d'anticipar-se a les fallades de maquinari.
Quan una fallada de maquinari és anticipada per S.M.A.R.T., l'usuari pot substituir la unitat per a evitar la interrupció inesperada i la pèrdua de dades.

## Context

Les fallades de disc dur poden ser de dos tipus generalment:
* Les fallades previsibles són el resultat de processos lents, com el desgast mecànic i la degradació gradual de les superfícies d'emmagatzematge. El monitoratge pot determinar quan les fallades esdevenen cada vegada més probables.
* Les fallades imprevisibles tenen lloc sobtadament i sense previ avís. Aquestes poden ser des de components electrònics que es tornen defectuosos fins a fallades mecàniques sobtades (potser a causa d'una manipulació incorrecta).
Les fallades mecàniques representen, aproximadament, un 60% sobre el total. Mentre que una fallada eventual pot ser catastròfica, la majoria són a conseqüència del desgast gradual i en general, hi ha certs indicis que permeten preveure la imminència de les fallades. Aquests poden ser un augment de la temperatura, un augment del soroll, problemes amb la lectura i l'escriptura de dades, o un increment del nombre de sectors danyats del disc.

## Història i predecessors

Una de les primeres tecnologies de monitoratge de discs durs, va ser introduïda per IBM el 1992. Més tard va ser anomenada Predictive Failure Analysis (PFA). Mesurava varis pàrametres clau de l'estat del disc dur i els avaluava en el firmware de la mateixa unitat. Això és perquè les comunicacions entre la unitat física i el software de monitoratge estaven limitades a un resultat binari: "el dispositiu està bé" o "és probable que el dispositiu falli aviat".
Més tard, una altra variant, anomenada IntelliSafe, va ser creada pel fabricant d'ordinadors Compaq i els fabricants de discs durs Seagate, Quantum, i Conner. Les unitats de disc mesurarien "els paràmetres de salut" del disc, i els valors es transferirien al sistema operatiu i al programari de monitoratge de l'espai d'usuari. Cada fabricant de discs, podia decidir lliurement quins paràmetres tenir en compte per al monitoratge i quins serien els valors crítics.
Compaq va presentar la seva implementació al comitè Small Form Factor (SFF) per a l'estandardització a principis del 1995. Va ser recolzat per IBM, i pels socis de desenvolupament de Compaq: Seagate, Quantum, Conner i Western Digital, que no tenia cap sistema de predicció de fallades en aquell moment. El Comitè va triar l'enfocament d'IntelliSafe, ja que proporcionava una major flexibilitat. L'estàndard desenvolupat resultant va ser anomenat S.M.A.R.T..
Aquest estàndard de l'SFF descrivia un protocol de comunicació per a un host ATA per utilitzar i controlar el monitoratge i l'anàlisi en una unitat de disc dur, però no especificava cap mètrica particular ni cap mètode d'anàlisi. Més tard, S.M.A.R.T. va ser comprès (encara que sense cap especificació formal) per referir-se a una varietat de mètriques i mètodes específics i per aplicar als protocols no relacionats amb ATA per al mateix tipus de comunicacions.

## Informació proporcionada

La documentació tècnica de S.M.A.R.T. es troba en l'estàndard d'AT Attachment (ATA). Introduït el 2004, ha sofert revisions periòdiques, l'última el 2008.
La informació més bàsica que S.M.A.R.T. ofereix és l'estat S.M.A.R.T.. Proporciona només dos valors: "llindar no excedit" i "llindar excedit". Sovint, aquests són representats com "drive OK" o "drive fail". Un valor de "llindar excedit" indica que hi ha una probabilitat relativament alta que la unitat no serà capaç de complir amb la seva especificació en el futur, és a dir, la unitat està "a punt de fallar". La fallada prevista pot ser catastròfica o pot ser un error tan subtil com com la incapacitat per escriure en certs sectors, o potser un rendiment més baix que el mínim declarat pel fabricant.
L'estat S.M.A.R.T. no necessàriament indica la fiabilitat passada o present de la unitat. Si una unitat ha fallat catastròficament, l'estat S.M.A.R.T. pot ser inaccessible. D'altra banda, si una unitat ha experimentat problemes en el passat, però els sensors no els han detectat, l'estat S.M.A.R.T., depenent de la programació del fabricant, pot suggerir que la unitat està funcionant.
La incapacitat de llegir alguns sectors no és sempre una indicació que una unitat està a punt de fallar. Un motiu pel qual es poden crear sectors il·legibles, fins i tot quan la unitat està funcionant dins les especificacions, és per un tall d'energia mentre la unitat està escrivint. A més, encara que el disc estigui danyat en un lloc, de manera que un cert sector és il·legible, el disc pot ser capaç d'utilitzar espai de recanvi per reemplaçar la zona afectada, de manera que el sector es pugui sobreescriure.
Més detalls sobre l'estat de la unitat es poden obtenir examinant els Atributs S.M.A.R.T.. Els Atributs S.M.A.R.T. es van incloure en alguns esborranys de l'estàndard ATA, però es van retirar abans que l'estàndard fos definitiu. El significat i la interpretació dels atributs varia entre els fabricants, i algunes vegades es consideren un secret comercial. Els atributs es discuteixen més endavant.
Les unitats amb S.M.A.R.T. poden opcionalment mantenir un nombre de "logs". El registre d'errors conté informació sobre els errors més recents que la unitat ha reportat a l'ordinador amfitrió. L'examen d'aquest registre pot ajudar a determinar si els problemes en una màquina estan relacionats amb el disc o amb alguna altra cosa.
Una unitat que implementa S.M.A.R.T. pot aplicar opcionalment una sèrie de rutines d'autocomprovació o de manteniment, i els resultats de les proves es guarden en el registre d'autocomprovació. Aquestes rutines es poden utilitzar per detectar qualssevol sectors il·legibles en el disc, de manera que puguin ser restaurats des de fonts de recuperació (per exemple, des d'altres discs en un RAID). Això ajuda a reduir el risc d'incórrer en pèrdua permanent de dades.

## Estàndards i implementació
### Manca d'interpretació comuna

Moltes plaques base mostren un missatge d'advertència quan una unitat de disc s'acosta a una fallada. Encara que existeix un estàndard entre els principals fabricants de discs durs, hi ha algunes qüestions pendents i molt "coneixement secret" de propietat en poder dels fabricants individuals, relacionat amb el seu enfocament específic. Com a conseqüència, S.M.A.R.T. no sempre és implementat correctament en moltes plataformes informàtiques, a causa de l'absència d'estàndards generals en la indústria per a l'intercanvi de dades d' S.M.A.R.T..
Des d'un punt de vista jurídic, el terme " S.M.A.R.T." només es refereix a un mètode d'enviament de senyals entre sensors electromecànics interns d'unitats de disc i l'equip amfitrió. Per tant, una unitat pot ser reclamada pel seu fabricant per implementar S.M.A.R.T., encara que no s'hi inclogui. Per exemple, un sensor de temperatura, que el client pot esperar que sigui present. A més, en el cas més extrem, un fabricant de discs podria, en teoria, produir una unitat que inclogués un sensor per a un sol atribut físic, i després anunciar legalment el producte com "compatible amb S.M.A.R.T.".

### Visibilitat del sistema amfitrió

Depenent del tipus d'interfície que s'utilitzi, algunes plaques base amb S.M.A.R.T. habilitat i el corresponent programari relacionat no poden comunicar-se amb algunes unitats que implementen S.M.A.R.T.. Per exemple, pocs discs durs externs connectats a través d'USB i Firewire envien correctament S.M.A.R.T.. Amb tantes maneres existents de connectar un disc dur (SCSI, Fibre Channel, ATA, SATA, SAS, de la SSA, etc.), és difícil predir si els informes de S.M.A.R.T. funcionaran correctament en un sistema donat.
Fins i tot amb un disc dur i una interfície que implementa S.M.A.R.T., el sistema operatiu de la màquina pot no veure la informació de S.M.A.R.T. perquè la unitat i la interfície s'encapsulen en una capa inferior. Per exemple, un subsistema RAID en què el controlador veu una unitat compatible amb S.M.A.R.T., però l'ordinador principal només veu un volum lògic generat pel controlador RAID.
En la plataforma Windows, molts programes dissenyats per monitorar i reportar informació de S.M.A.R.T. només funcionen sota un compte d'administrador. Actualment, S.M.A.R.T. és implementat individualment pels fabricants, i mentre que alguns aspectes estan estandarditzats per a la compatibilitat, d'altres no ho estan.

## Atributs S.M.A.R.T. ATA

Cada fabricant d'una unitat defineix un conjunt d'atributs, i estableix els valors que els atributs no haurien de superar per a una operabilitat normal. Cada atribut té un valor brut, la seva interpretació depèn totalment del fabricant.
Els fabricants que han implementat almenys un atribut de S.M.A.R.T. en diversos productes són Samsung, Seagate, IBM (Hitachi), Fujitsu, Maxtor, Toshiba, Intel, sTec, Inc., Western Digital i ExcelStor Technology.

### Atributs S.M.A.R.T. ATA coneguts

Donat que cada fabricant defineix els atributs que considera oportuns per a les seves unitats i que en poden definir de nous, és molt difícil tenir una llista tancada amb tots els atributs existents que es controlen. Del total, un subconjunt es consideren "indicadors potencials de fallada electromecànica imminent", com per exemple:
* Reallocated Sectors Count: comptador de sectors reassignats. L'increment d'aquest valor fa que la velocitat de lectura/escriptura disminueixi i augmenti la probabilitat que la unitat falli en un futur proper.
* Spin Retry Count: guarda el nombre de reintents de gir a l'arrancar per aconseguir la velocitat operacional òptima. L'increment d'aquest valor evidencia problemes en el subsistema mecànic del disc dur.
* End-to-End error / IOEDC: conté el nombre d'errors de paritat que tenen lloc en la ruta de dades al dispositiu via la memòria cau de la RAM de la unitat.
* Command Timeout: és el nombre d'operacions avortades a causa de falta de resposta del disc dur en un temps determinat. Si aquest valor s'allunya gaire de 0, pot ser que hi hagi problemes d'alimentació de la unitat o algun cable de dades oxidat.
* Reallocation Event Count: mostra el nombre total d'intents de transferència de dades des de sectors reassignats a àrees de recanvi.
* Current Pending Sector Count: comptador de sectors "inestables". Són els sectors que esperen per ser reassignats, com a conseqüència d'errors de lectura irrecuperables.
* Uncorrectable Sector Count: recompte del total d'errors de lectura/escriptura en un sector. L'augment d'aquest valor indica defectes en la superfície del disc i/o problemes en el subsistema mecànic de la unitat.
* Soft Read Error Rate: comptador d'errors fora de la pista.
* Drive Life Protection Status: estat operatiu actual de la unitat en base Life Curve.

### Threshold Exceeds Condition

El TEC és una data estimada de quan un atribut crític d'una unitat arribarà al seu valor llindar. Quan el programari de la unitat reporta el "TEC més proper", ha de ser considerat com una "data de fallada". De vegades, és donat sense data i s'espera que la unitat funcioni sense errors.
Per predir la data, la unitat realitza un seguiment de la velocitat a la qual l'atribut canvia. Cal tenir en compte que les dades de TEC són només estimacions; els discs durs poden fallar molt abans o molt més tard que la data TEC.

## Proves d'autocomprovació

Les unitats S.M.A.R.T. poden oferir un cert nombre de proves d'autocomprovació:

### Curta

    Comprova el rendiment elèctric i mecànic així com el rendiment de lectura del disc. Els tests elèctrics haurien d'incloure una prova de la RAM del buffer o una prova dels circuits de lectura/escriptura. L'assaig mecànic inclou la recerca en pistes de dades. Escaneja petites parts de la superfície de la unitat i comprova la llista de sectors pendents en què puguin haver-hi errors de lectura. En general, dura uns dos minuts.

### Llarga/estesa

    Una versió més extensa i profunda que la versió anterior, escaneja tota la superfície del disc, sense límit de temps. En general, triga centenars de minuts, aproximadament un minut per GB en unitats modernes.

### Transport

    Concebuda com una prova ràpida per identificar els danys ocasionats, durant el transport des del fabricant de la unitat al fabricant de l'equip final. Només disponible en unitats ATA, i acostuma a necessitar uns quants minuts.

### Selectiva

    Algunes unitats permeten auto-proves selectives de només una part de la superfície. Els registres d'auto-prova per a unitats SCSI i ATA són lleugerament diferents. És possible que el test llarg sigui exitós encara que el test curt falli.

## Referències

* ↑ «Communicating With Your SSD: Understanding SMART Attributes | Samsung SSD». Samsung.com. [Consulta: 21 desembre 2014].
* ↑ «Enhanced Smart attributes». Seagate. Arxivat de l'original el 2006-03-28. [Consulta: 21 desembre 2014].
* ↑ Compaq. IntelliSafe. Technical Report SSF-8035. Small Form Committee, Gener 1995.
* ↑ «ATA/ATAPI Command Set (ATA8-ACS)». AT Attachment 8. ANSI INCITS, 17-08-2004.
* ↑ Stephens 2006, Sections 4.19: "SMART (Self-monitoring, analysis, and reporting technology) feature set", 7.52: "SMART", Annex A: "Log Page Definitions".
* ↑ «ATA/ATAPI Command Set (ATA8-ACS)». AT Attachment 8. ANSI INCITS, 06-09-2008. Arxivat de l'original el 2014-10-10. [Consulta: 22 desembre 2014].
* ↑ «Hitachi Travelstar 80GN» (PDF). Hitachi Data Systems, 19-09-2003. Arxivat de l'original el 2011-07-18. [Consulta: 22 desembre 2014].
* ↑ Hatfield, Jim. «SMART Attribute Annex». T13, 30-09-2005. Arxivat de l'original el 2009-04-20. [Consulta: 22 desembre 2014].
* ↑ «SMART». PCTechGuide, 2003. Arxivat de l'original el 2008-12-03. [Consulta: 22 desembre 2014].
* ↑ Stephens, 2006, p. 207 Of the 512 octets listed in table 42 on page 207: "Device SMART data structure" a total of 489 are marked as "Vendor specific".
* ↑ «Failure Trends in a Large Disk Drive Population». Google.
* ↑ «Knowledge Base». Acronis. Arxivat de l'original el 2014-12-22. [Consulta: 22 desembre 2014].
* ↑ «SMART Attribute Details». Kingston.
* ↑ «Drive health». Arxivat de l'original el 2011-09-26. [Consulta: 22 desembre 2014].
* ↑ «The interpretation of the TEC and the SMART». Altrix soft. [Consulta: 22 desembre 2014].
* ↑ «SMARTCTL». Arxivat de l'original el 2009-07-15. [Consulta: 22 desembre 2014].
* ↑ «HDDScan». Free HDD test utility with USB flash and RAID support.
* ↑ Evans, Mark. «Hard Drive Self-tests» (PDF). T10, 26-04-1999.
* ↑ Bulik, Darrin. «Proposal for Extensions To Drive Self Test» (PDF). T10, 24-09-2001. Arxivat de l'original el 2011-09-28. [Consulta: 22 desembre 2014].
* ↑ McLean, Pete. «Proposal for a Selective Self-test» (PDF). T10, 23-10-2001. Arxivat de l'original el 2011-09-28. [Consulta: 22 desembre 2014].
* ↑ «HDD fails S.M.A.R.T. short test, but passes long test?». Hardware Canucks. Arxivat de l'original el 2013-01-02. [Consulta: 22 desembre 2014].