Come implementare SMART Embedded per SATA eamp; SSD PCIe NVMe?
Manuale d'uso
Questa nota applicativa fornisce le istruzioni per utilizzare il programma di utilità SP SMART Embedded da integrare con il programma del cliente per ottenere informazioni SMART per SP Industrial SATA e PCIe NVMe SSD.
Ambiente di supporto
- Sistema operativo: Windows 10 e Linux
- SP SMART Programma di utilità incorporato: smartwatch 7.2
- Host: piattaforma Intel x 86
Elenco di supporto per SSD industriale SP
- SATA SSD e C veloce (MLC): SSD700/500/300, MSA500/300, MDC500/300, CFX510/310
- SATA SSD e C Fast (3D TLC): SSD550/350/3K0, MSA550/350/3K0, MDC550/350, MDB550/350, MDA550/350/3K0 serie, CFX550/350
- PCIe NVMe: serie MEC350, MEC3F0, MEC3K0
Attributo SMART
- SSD SATA e C veloce (MLC)
SM2246IT | Modello SM2246XT | |
Attributo | SSD700/500/300R/S series MSA500/300S Serie MDC500/300 R/S |
CFX510/310 |
01 | Tasso di errore di lettura Conteggio errori CRC | Tasso di errore di lettura Conteggio errori CRC |
05 | I settori riallocati contano | I settori riallocati contano |
09 | Ore di accensione | Prenotato |
0C | Conteggio dei cicli di alimentazione | Conteggio dei cicli di alimentazione |
A0 | Conteggio settore non correggibile in lettura/scrittura | Conteggio settore non correggibile in lettura/scrittura |
A1 | Numero di blocco di ricambio valido | Numero di blocco di ricambio valido |
A2 | Numero di blocco di ricambio valido | |
A3 | Numero del blocco iniziale non valido | Numero del blocco iniziale non valido |
A4 | Conteggio totale delle cancellazioni | Conteggio totale delle cancellazioni |
A5 | Numero massimo di cancellazioni | Numero massimo di cancellazioni |
A6 | Conteggio minimo di cancellazione | Conteggio medio delle cancellazioni |
A7 | Numero massimo di cancellazioni delle specifiche | |
A8 | Rimani Vita |
SM2246IT | Modello SM2246XT | |
Attributo | SSD700/500/300R/S series MSA500/300S Serie MDC500/300 R/S |
CFX510/310 |
A9 | Rimani Vita | |
AF | Conteggio dei fallimenti del programma nella morte peggiore | |
B0 | Cancella il conteggio dei fallimenti nel peggior dado | |
B1 | Conteggio totale del livello di usura | |
B2 | Conteggio blocchi non valido in fase di esecuzione | |
B5 | Conteggio totale degli errori del programma | |
B6 | Conteggio totale degli errori di cancellazione | |
BB | Conteggio errori non correggibile | |
C0 | Conteggio retrazione spegnimento | Conteggio retrazione spegnimento |
C2 | Temperatura controllata | Temperatura controllata |
C3 | Hardware ECC ripristinato | Hardware ECC ripristinato |
C4 | Conteggio eventi riallocato | Conteggio eventi riallocato |
C6 | Conteggio degli errori non correggibili offline | |
C7 | Conteggio degli errori Ultra DMA CRC | Conteggio degli errori Ultra DMA CRC |
E1 | Totale LBA scritti | |
E8 | Disponibile spazio riservato | |
F1 | Scrivi il conteggio del settore Totale LBA scritti (ogni unità di scrittura = 32 MB) |
Totale LBA scritti |
F2 | Leggi il conteggio del settore Totale LBA letti (ogni unità di lettura = 32 MB) |
Totale LBA letti |
SM2258H | Modello SM2258XT | RL5735 | |
Attributo | Serie SSD550/350 R/S Serie MSA550/350 S Serie MDC550/350 R/S Serie MDB550/350 S Serie MDA550/350 S Serie CFX550/350 S | Serie CFX550/350 | SSD3K0E, MSA3K0E, MDA3K0E series |
01 | Tasso di errore del battistrada (conteggio errori CRC) | Tasso di errore del battistrada (conteggio errori CRC) | Tasso di errore del battistrada (conteggio errori CRC) |
05 | I settori riallocati contano | I settori riallocati contano | I settori riallocati contano |
09 | Ore di accensione | Conteggio ore di accensione | Conteggio ore di accensione |
0C | Conteggio dei cicli di alimentazione | Conteggio dei cicli di alimentazione | Conteggio dei cicli di alimentazione |
94 | Conteggio totale delle cancellazioni (SLC) (modello pSLC) | ||
95 | Numero massimo di cancellazioni (SLC) (modello pSLC) | ||
96 | Conteggio minimo cancellazioni (SLC) (modello pSLC) | ||
97 | Conteggio medio delle cancellazioni (SLC) (modello pSLC) | ||
A0 | Conteggio settore non correggibile in linea (conteggio settore non correggibile in lettura/scrittura) | Conteggio settore non corretto online (conteggio settore non correggibile in lettura/scrittura) | |
A1 | Numero di Pure Spare (Numero di blocchi di riserva validi) | Numero di blocco di ricambio valido | Aumenta il numero di difetti (successivamente blocco errato) |
A2 | Conteggio totale delle cancellazioni | ||
A3 | Numero del blocco iniziale non valido | Numero del blocco iniziale non valido | Max ciclo PE Spec |
A4 | Conteggio totale delle cancellazioni (TLC) | Conteggio totale cancellazioni (TLC) | Conteggio medio delle cancellazioni |
A5 | Numero massimo di cancellazioni (TLC) | Numero massimo di cancellazioni (TLC) | |
A6 | Conteggio minimo di cancellazione (TLC) | Conteggio minimo di cancellazione (TLC) | Conteggio totale dei blocchi danneggiati |
A7 | Conteggio medio delle cancellazioni (TLC) | Conteggio medio delle cancellazioni (TLC) | Modalità di protezione SSD |
A8 | Numero massimo di cancellazioni nelle specifiche (numero massimo di cancellazioni delle specifiche) | Numero massimo di cancellazioni nelle specifiche | Conteggio errori SATA Phy |
A9 | Percentuale di vita residuatage | Percentuale di vita residuatage | Percentuale di vita residuatage |
AB | Conteggio degli errori del programma | ||
AC | Cancella il conteggio degli errori | ||
AE | Conteggio imprevisto della perdita di alimentazione | ||
AF | Numero errori ECC (lettura host non riuscita) |
SM2258H | Modello SM2258XT | RL5735 | |
Attributo | Serie SSD550/350 R/S Serie MSA550/350 S Serie MDC550/350 R/S Serie MDB550/350 S Serie MDA550/350 S Serie CFX550/350 S | Serie CFX550/350 | SSD3K0E, MSA3K0E, MDA3K0E series |
B1 | Conteggio totale del livello di usura | Indossa il conteggio del livellamento | |
B2 | Conteggio blocchi riservati utilizzati (conteggio blocchi non validi in fase di esecuzione) | Conteggio dei blocchi danneggiati cresciuto | |
B5 | Conteggio totale degli errori del programma | Conteggio errori del programma | Conteggio accessi non allineato |
B6 | Conteggio totale degli errori di cancellazione | Cancella conteggio fallito | |
BB | Conteggio errori non correggibile | Segnalato errore non correggibile | |
C0 | Conteggio retrazione spegnimento | Conteggio improvviso dell'alimentazione (conteggio di retrazione allo spegnimento) | |
C2 | Temperatura_Celsius (giunzione a T) | Temperatura custodia (giunzione a T) | Temperatura custodia (giunzione a T) |
C3 | Hardware ECC ripristinato | Hardware ECC ripristinato | Cumulativo corretto ecc |
C4 | Conteggio eventi riallocato | Conteggio eventi riallocato | Conteggio eventi di riallocazione |
C5 | Conteggio settore in sospeso attuale: | Conteggio attuale dei settori in sospeso | |
C6 | Conteggio degli errori non correggibili offline | Segnalati errori non correggibili | |
C7 | Errore CRC UDMA (Conteggio errori Ultra DMA CRC) |
Conteggio errori CRC (Conteggio errori Ultra DMA CRC) |
Conteggio degli errori Ultra DMA CRC |
CE | min. cancellare il conteggio | ||
CF | Numero massimo di cancellazioni | ||
E1 | L'ospite scrive (LBA totali scritti) |
||
E8 | Disponibile spazio riservato | Numero massimo di cancellazioni nelle specifiche | Disponibile spazio riservato |
E9 | Scrittura totale su flash | Blocco di scorta | |
EA | Lettura totale da flash | ||
F1 | Scrivi il conteggio del settore (Totale scritture host, ogni unità 32 MB) |
Host 32MB/unità scritta (TLC) | Scrivi il tempo della vita |
F2 | Leggi il conteggio del settore
(Lettura host totale, ogni unità 32 MB) |
Host 32 MB/unità di lettura (TLC) | Leggi il tempo della vita |
F5 | Conteggio delle scritture flash | NAND 32MB/unità scritta (TLC) | Conteggio imprevisto della perdita di alimentazione |
F9 | GB totali scritti su NAND (TLC) | ||
FA | GB totali scritti su NAND (SLC) |
# di byte | Indice byte | Attributi | Descrizione |
1 | 0 | Avviso critico: Definizione di bit 00: se impostato su '1', lo spazio libero disponibile è sceso al di sotto della soglia. 01: Se impostato su '1', una temperatura è al di sopra di una soglia di sovratemperatura o al di sotto di una soglia di sottotemperatura. 02: se impostato su '1', l'affidabilità del sottosistema NVM è stata ridotta a causa di errori significativi relativi ai supporti o di qualsiasi errore interno che riduce l'affidabilità del sottosistema NVM. 03: Se impostato su '1', il supporto è stato messo in modalità di sola lettura. 04: Se impostato su '1', il dispositivo di backup della memoria volatile non è riuscito. Questo campo è valido solo se il controller dispone di una soluzione di backup della memoria volatile. 07:05: Riservato |
Questo campo indica avvisi critici per lo stato del controller. Ogni bit corrisponde a un tipo di avviso critico; possono essere impostati più bit. Se un bit viene azzerato su '0', l'avviso critico non si applica. Gli avvisi critici possono comportare una notifica di eventi asincroni all'host. I bit in questo campo rappresentano lo stato associato corrente e non sono persistenti. Quando la riserva disponibile scende al di sotto della soglia indicata in questo campo, potrebbe verificarsi un completamento dell'evento asincrono. Il valore è indicato come percentuale normalizzatatage (da 0 a 100%). |
2 | 2:1 | Temperatura composita: | Contiene un valore corrispondente a una temperatura in gradi Kelvin che rappresenta la temperatura composita corrente del controller e gli spazi dei nomi associati a quel controller. Il modo in cui questo valore viene calcolato è specifico dell'implementazione e potrebbe non rappresentare la temperatura effettiva di alcun punto fisico nel sottosistema NVM. Il valore di questo campo può essere utilizzato per attivare un evento asincrono. I valori di soglia della temperatura composita di surriscaldamento critico e di avvertenza sono riportati dai campi WCTEMP e CCTEMP nella struttura dei dati di identificazione del controller. |
1 | 3 | Ricambi disponibili: | Contiene una percentuale normalizzatatage (da 0 a 100%) della restante capacità inutilizzata disponibile |
1 | 4 | Soglia di riserva disponibile: | Quando la riserva disponibile scende al di sotto della soglia indicata in questo campo, potrebbe verificarsi un completamento dell'evento asincrono. Il valore è indicato come percentuale normalizzatatage (da 0 a 100%). |
1 | 5 | percentualetage Usato: | Contiene una stima specifica del fornitore della percentualetage della vita del sottosistema NVM utilizzato in base all'utilizzo effettivo e alla previsione del produttore della vita NVM. Un valore di 100 indica che la durata stimata della NVM nel sottosistema NVM è stata consumata, ma potrebbe non indicare un guasto del sottosistema NVM. Il valore può superare 100. Percenttages maggiori di 254 devono essere rappresentati come 255. Questo valore deve essere aggiornato una volta per ogni ora di accensione (quando il controller non è in uno stato di sospensione). Fare riferimento allo standard JEDEC JESD218A per le tecniche di misurazione della durata e della resistenza del dispositivo SSD |
31:6 | Unità dati scritte: | ||
16 | 47:32 | Unità di dati lette: | Contiene il numero di unità dati da 512 byte che l'host ha letto dal controller; questo valore non include i metadati. Questo valore è riportato in migliaia (cioè un valore 1 corrisponde a 1000 unità di 512 byte letti) ed è arrotondato per eccesso. Quando la dimensione LBA è un valore diverso da 512 byte, il controller deve convertire la quantità di dati letti in unità di 512 byte. Per il set di comandi NVM, i blocchi logici letti come parte delle operazioni di confronto e lettura devono essere inclusi in questo valore. |
# di byte | Indice byte | Attributi | Descrizione |
16 | 63:48 | Unità dati scritte: | Contiene il numero di unità di dati da 512 byte che l'host ha scritto nel controller; questo valore non include i metadati. Questo valore è riportato in migliaia (cioè un valore 1 corrisponde a 1000 unità di 512 byte scritti) ed è arrotondato per eccesso. Quando la dimensione LBA è un valore diverso da 512 byte, il controller converte la quantità di dati scritti in unità di 512 byte. Per il set di comandi NVM, i blocchi logici scritti come parte delle operazioni di scrittura devono essere inclusi in questo valore. I comandi Write Uncorrectable non influiranno su questo valore. |
16 | 79:64 | Comandi di lettura dell'host: | Contiene il numero di comandi di lettura completati dal controller. Per il set di comandi NVM, questo è il numero di comandi Compare e Read. |
16 | 95:80 | Comandi di scrittura host: | Contiene il numero di comandi di scrittura completati dal controller. Per il set di comandi NVM, questo è il numero di comandi di scrittura. |
16 | 111:96 | Tempo occupato del controllore: | Contiene la quantità di tempo in cui il controllore è impegnato con i comandi I/O. Il controller è occupato quando c'è un comando in sospeso per una coda I/O (in particolare, un comando è stato emesso tramite una scrittura del campanello della coda di invio I/O e la corrispondente voce della coda di completamento non è stata ancora inviata all'I/O associato coda di completamento). Questo valore è riportato in minuti. |
16 | 127:112 | Cicli di alimentazione: contiene il numero di cicli di alimentazione. | |
16 | 143:128 | Ore di accensione: | Contiene il numero di ore di accensione. Le ore di accensione vengono sempre registrate, anche in modalità a basso consumo. |
16 | 159:144 | Arresti non sicuri: | Contiene il numero di arresti non sicuri. Questo conteggio viene incrementato quando non viene ricevuta una notifica di spegnimento (CC.SHN) prima dell'interruzione dell'alimentazione. |
16 | 175:160 | Errori di integrità dei supporti e dei dati: | Contiene il numero di occorrenze in cui il controller ha rilevato un errore di integrità dei dati non recuperato. Errori come ECC non correggibile, errore di checksum CRC o LBA tag mismatch sono inclusi in questo campo. |
16 | 191:176 | Numero di voci di registro delle informazioni di errore: | Contiene il numero di voci del registro delle informazioni sugli errori durante la vita del controller. |
4 | 195:192 | Avviso Composito Temperatura Tempo: | Contiene la quantità di tempo in minuti in cui il controller è operativo e la temperatura composita è maggiore o uguale al campo Warning Composite Temperature Threshold (WCTEMP) e minore del campo Critical Composite Temperature Threshold (CCTEMP) nella struttura dei dati di identificazione del controller. Se il valore del campo WCTEMP o CCTEMP è 0h, questo campo viene sempre azzerato su 0h indipendentemente dal valore della temperatura composita. |
4 | 199:196 | Temperatura Composita Critica Tempo: | Contiene la quantità di tempo in minuti in cui il controller è operativo e la temperatura composita è maggiore del campo Critical Composite Temperature Threshold (CCTEMP) nella struttura dei dati di identificazione del controller. Se il valore del campo CCTEMP è 0h, questo campo viene sempre azzerato a 0h indipendentemente dal valore della temperatura composita. |
2 | 201:200 | Prenotato | |
2 | 203:202 | Prenotato | |
2 | 205:204 | Prenotato | |
2 | 207:206 | Prenotato | |
2 | 209:208 | Prenotato | |
2 | 211:210 | Prenotato | |
2 | 213:212 | Prenotato | |
2 | 215:214 | Prenotato | |
296 | 511:216 | Prenotato |
Installazione
- Scaricare l'ultima versione del programma di utilità SMART Embedded. (Link per il download su richiesta)
- Decomprimere (in questo caso, decomprimere nella cartella E:\smartmontools-7.2.win32)
- Esegui prompt dei comandi
- Esegui come amministratore
- C:\WINDOWS\system32> E:\smartmontools-7.2.win32\bin\smartctl.exe -h
- Per ottenere un riepilogo dell'utilizzo
Strumento da riga di comando per ottenere informazioni SMART (sdb: disco su PhysicalDrive 1)
- C:\WINDOWS\system32> E:\smartmontools-7.2.win32\bin\smartct.exe -a /dev/sdb
- Controlla l'allegato file SMART.TXT: https://www.silicon-power.com/support/lang/utf8/smart.txt
Invia informazioni SMART in formato JSON. (sdb : disco su PhysicalDrive 1)
- C:\WINDOWS\system32> E:\smartmontools-7.2.win32\bin\smartctl.exe -a -j /dev/sdb
- Controlla l'allegato file JSON.TXT: https://www.silicon-power.com/support/lang/utf8/json.txt
Caso utilizzato 1: Monitoraggio remoto SMART Dashboard tramite IBM Node-Red
- Installa IBM Node Red, Node Red è uno strumento di programmazione basato sul flusso sviluppato da IBM. Utilizziamo Node Red per integrare il programma di utilità SP SMART Embedded per sviluppare uno strumento di monitoraggio remoto "SP SMART Dashboard".
- Sviluppa script per Node Red e utilizza "smartctl.exe"
- Sceneggiatura file come SMARTDASHBOARD.TXT allegato : https://www.silicon-power.com/support/lang/utf8/SMARTDASHBOARD.txt
- Apri il browser, inserisci "ip:1880/ui"
- ip è l'indirizzo IP della macchina che esegue lo script Node Red. Il default della macchina locale è 127.0.0.1
Figura 1 Dashboard SMART
* Caso utilizzato 2: integrazione con Google Cloud Platform per gestire le informazioni SMART dei dispositivi connessi sul campo
SP Industrial sfrutta Google Cloud Platform e SP SMART Embedded per sviluppare una piattaforma di servizi SMART IoT Sphere. SP SMART IoT Sphere è un servizio basato su cloud con notifiche di allarme e manutenzione che monitora e analizza l'integrità e lo stato degli SSD e delle schede flash SP Industrial all'interno dei dispositivi connessi che eseguono il sistema operativo Windows o il sistema operativo integrato Linux Ubuntu.
Figura 2 Architettura di SMART IoT Sphere
Figura 3 Gestione di più dispositivi
Figura 4 SP SMART Embedded supporta sia il sistema operativo Windows 10 che Linux
Figura 5 Visualizzazione delle informazioni SMART in tempo reale
Tutti i marchi, marchi e nomi sono di proprietà dei rispettivi proprietari.
©2022 SILICON POWER Computer & Communications, Inc., Tutti i diritti riservati.
Documenti / Risorse
![]() |
Silicon Power Come implementare SMART Embedded per SSD SATA e PCIe NVMe? [pdf] Manuale d'uso SM2246EN, SM2246XT, come implementare SMART Embedded per SSD SATA PCIe NVMe |