# S.M.A.R.T.

S.M.A.R.T., frequentemente escrito SMART (Self-Monitoring, Analysis, and Reporting Technology, em português tecnologia de auto-monitoramento, análise e relatório) é um sistema de monitoramento incluído em dispositivos de discos rígidos (HDDs) e dispositivos de estado sólido (SSDs) que detecta e relata sobre vários indicadores de confiabilidade da unidade, com o intuito de permitir a antecipação de falhas de hardware.
Quando os dados S.M.A.R.T. indicam uma possível e iminente falha do dispositivo, o software em execução no sistema hospedeiro pode notificar o usuário, desta forma os dados armazenados podem ser copiados para outro dispositivo de armazenamento, prevenindo perda de dados e possibilitando que o dispositivo com falha possa ser substituído no tempo adequado. O fabricante do dispositivo pode ser capaz de usar dados S.M.A.R.T. registrados para descobrir onde as falhas se encontram e prevenir que elas sejam recorrentes em projetos futuros de dispositivos.

## Introdução

Fundamentalmente, falhas em discos rígidos recaem em uma das duas classes básicas:
* Falhas previsíveis, que resultam de processos demorados, como desgaste mecânico e degradação gradual de superfícies de armazenamento. O monitoramento pode determinar quando essas falhas estão se aproximando de ocorrer, assim como o mostrador de temperatura no painel de um carro que avisa o motorista (antes que algo mais grave ocorra) quando o motor começar a superaquecer.
* Falhas imprevisíveis, que ocorrem sem aviso e que vão de componentes eletrônicos que apresentam defeito a uma falha mecânica súbita (que pode estar relacionado ao manuseio inadequado).
Falhas mecânicas correspondem por 60% das falhas dos discos rígidos. Uma vez que falha eventual pode ser catastrófica, a maioria das falhas mecânicas resultam de degradação gradual e normalmente há certas indicações que a falha é iminente. Estas podem incluir o aumento da produção de calor, aumento do nível de ruído, problemas com a leitura e escrita de dados ou um aumento no número de setores do disco danificados.
Um estudo de campo no Google que abrange cerca de 100.000 unidades durante um período de nove meses encontrou correlações entre determinadas informações SMART e taxas de falhas reais.$^[$ Nos 60 dias seguintes o primeiro erro não corrigível em uma unidade (atributo SMART 0xC6 ou 198) detectado como um resultado de uma verificação offline, a unidade estava, em média, 39 vezes mais provável de falhar que uma unidade similar para a qual tal erro não ocorreu. Os primeiros erros em realocações, realocações offline ([[atributos SMART 0xC4 e 0x05 ou 196 e 5) e contagens provacionais (atributo SMART 0xC5 ou 197) também estavam fortemente correlacionados a probabilidades mais altas de falha. Por outro lado, pouca correlação foi encontrada para o aumento de temperatura e nenhuma correlação para nível de uso. No entanto, a pesquisa mostrou que uma grande proporção (56%) das unidades falhadas falharam sem registrar qualquer contagem nas "quatro fortes advertências S.M.A.R.T." identificadas como erros de verificação, contagem de realocação, realocação offline e contagem provacional. Além disso, 36% das unidades falharam sem registrar qualquer erro S.M.A.R.T. no geral, exceto a temperatura, o que significa que os dados S.M.A.R.T. isoladamente eram de utilidade limitada na antecipação de falhas.
A página sobre SMART do PCTechGuide (2003) comenta que a tecnologia passou por três fases:
    Em sua encarnação original o SMART fornecia previsão de falhas através do monitoramento de certas atividades on-line de disco rígido. Uma versão subsequente melhorou a previsão falha por meio da adição de uma verificação de leitura automática off-line para monitorar operações adicionais. A tecnologia SMART mais recente não só monitora as atividades de disco rígido, mas acrescenta a prevenção falha por meio da tentativa de detectar e corrigir erros de setor. Além disso, enquanto as versões antigas da tecnologia apenas monitorava atividades do disco rígido para os dados que eram recuperados pelo sistema operacional, este último SMART testa todos os dados e todos os setores da uma unidade usando "coleta de dados off-line" para confirmar a saúde da unidade durante períodos de inatividade.
Essa tecnologia (S.M.A.R.T.) tem o propósito de avisar ao usuário ou o administrador do sistema a iminência do drive apresentar problemas, a tempo de se tomar alguma ação preventiva — como a cópia dos dados para um disco substituto.

## Padrões e implementação
### Falta de interpretação comum

Muitas placas-mãe mostram uma mensagem de advertência quando uma unidade de disco está próxima de falhar. Apesar de existir um padrão da indústria entre a maior parte dos grandes fabricantes de discos rígidos, há algumas questões remanescentes e muito "conhecimento secreto" proprietário guardado por fabricantes individuais quanto a sua abordagem específica. Como resultado, o S.M.A.R.T. nem sempre é implementado corretamente em várias plataformas de computador, devido a ausência de padrões de software e hardware em toda a indústria para o intercâmbio de dados S.M.A.R.T.
De uma perspectiva legal, o termo "S.M.A.R.T." refere-se apenas a um método de sinalização entre sensores eletromagnéticos internos do disco rígido e o computador hospedeiro. Assim, uma unidade pode ser reivindicada por seus fabricantes para implementar o S.M.A.R.T. mesmo se ela não incluir, por exemplo, um sensor de temperatura, que o cliente pode razoavelmente espera que esteja presente. Ademais, no caso mais extremo, um fabricante de disco rígido pode, em teoria, produzir uma unidade que inclui um sensor para apenas um atributo físico e, então, legalmente anunciar o produto como "compatível com S.M.A.R.T.".

### Visibilidade para sistemas hospedeiros

Dependendo do tipo de interface sendo usada, algumas placas-mãe habilitadas com S.M.A.R.T. e softwares relacionados podem não comunicar com certas unidades habilitadas com S.M.A.R.T. Por exemplo, algumas unidades externas conectadas via USB e Firewire enviam dados S.M.A.R.T. corretamente sobre estas interfaces. Com várias maneiras de se conectar a um disco rígido (SCSI, Canal de fibra, ATA, SATA, SAS, SSA e assim por diante), é difícil predizer se os relatórios do S.M.A.R.T. funcionarão corretamente um determinado sistema.
Mesmo com um disco rígido e interface que implementem a especificação, o sistema operacional do computador pode não enxergar a informação S.M.A.R.T. devido à unidade e a interface estarem encapsuladas em uma camada inferior. Por exemplo, elas podem ser parte de um subsistema RAID no qual o controlador RAID enxerga a unidade habilitada com S.M.A.R.T., porém o computador principal enxerga apenas um volume lógico gerado pelo controlador RAID.
Na plataforma Windows, muitos programas projetados para monitorar e reportar informações S.M.A.R.T.funcionarão apenas sob uma conta de administrador. Atualmente, o S.M.A.R.T. é implementado individualmente pelos fabricantes e enquanto alguns aspectos são padronizados para compatibilidade, outros não o são.

## Acesso

Para uma lista de vários programas que permitem a leitura dos dados S.M.A.R.T., veja Comparação de ferramentas S.M.A.R.T.

## Atributos

Comumente, os seguintes atributos de um disco serão monitorados (nesse exemplo um disco de 80GB da Western Digital):
* Raw read error rate
* Spin up time
* Start/stop count
* Reallocated sector count
* Seek error rate
* Power on hours count
* Spin retry count
* Recalibration retry count
* Power cycle count
* Reallocation event count
* Current pending sector count
* Uncorrectable sector count
* CRC error count
* Write error count
De acordo com a documentação da Western Digital, "alguns fabricantes podem oferecer suas próprias definições dos atributos." Por isso, às vezes, conseguir definições completas e precisas de todos os atributos S.M.A.R.T. de um disco rígido pode ser difícil, então é comum alguns softwares de monitoramento S.M.A.R.T. listarem alguns atributos como "atributo desconhecido". Aparentemente para alguns fabricantes não é interessante que os consumidores saibam exatamente como seus produtos realmente funcionam.
Os valores dos atributos S.M.A.R.T. geralmente ficam entre 1 e 253, sendo 1 o pior caso e 253 o melhor caso; dependendo do fabricante, valores entre 100 e 200 frequentemente são considerados como "normais".
Perceba que o drive do exemplo não exibe a sua temperatura, por não possuir um sensor para essa função (muitos drives de outros fabricantes possuem esse sensor). Os valores desse atributos são armazenados numa área reservada do disco rígido.
A Compaq foi a pioneira no uso do S.M.A.R.T., mas os maiores fabricantes de discos rígidos e placas-mãe agora dão suporte a ele. As principais placas-mãe atuais irão mostrar uma mensagem de aviso quando um disco começar a apresentar falhas.
Existem vários programas de monitoramento S.M.A.R.T. que informarão o estado do disco, analisando os parâmetros dos discos de tempo em tempo até que algum parâmetro saia da faixa considerada "normal". Alguns softwares também podem distinguir entre uma degradação gradual e uma mudança repentina que pode indicar algum problema e, em alguns casos, informar por quanto tempo aproximadamente o disco ainda irá funcionar.