Hvordan implementere SMART Embedded for SATA & PCIe NVMe SSD?
Brukerhåndbok
Dette applikasjonsnotatet gir instruksjoner for å bruke SP SMART Embedded-verktøyprogrammet til å integrere med kundens program for å få SMART-informasjon for SP Industrial SATA & PCIe NVMe SSD.
Støttemiljø
- OS: Windows 10 og Linux
- SP SMART innebygd hjelpeprogram: smartwatch 7.2
- Vert: Intel x 86-plattform
Støtteliste for SP Industrial SSD
- SATA SSD & C rask (MLC): SSD700/500/300, MSA500/300, MDC500/300, CFX510/310
- SATA SSD & C Fast (3D TLC): SSD550/350/3K0, MSA550/350/3K0, MDC550/350, MDB550/350, MDA550/350/3K0-serien, CFX550/350
- PCIe NVMe: MEC350, MEC3F0, MEC3K0-serien
SMART-attributt
- SATA SSD & C rask (MLC)
| SM2246EN | SM2246XT | |
| Attributt | SSD700/500/300R/S series MSA500/300S MDC500/300 R/S-serien |
CFX510/310 |
| 01 | Les feilrate CRC Feiltelling | Les feilrate CRC Feiltelling |
| 05 | Omfordelte sektorer teller | Omfordelte sektorer teller |
| 09 | Driftstimer | Reservert |
| 0C | Antall strømsykluser | Antall strømsykluser |
| A0 | Ukorrigerbar sektortelling ved lesing/skriving | Ukorrigerbar sektortelling ved lesing/skriving |
| A1 | Nummer på gyldig reserveblokk | Nummer på gyldig reserveblokk |
| A2 | Nummer på gyldig reserveblokk | |
| A3 | Nummer på initial ugyldig blokk | Nummer på initial ugyldig blokk |
| A4 | Totalt antall slettinger | Totalt antall slettinger |
| A5 | Maksimalt antall slettinger | Maksimalt antall slettinger |
| A6 | Minimum antall slettinger | Gjennomsnittlig antall slettinger |
| A7 | Maks sletting av spesifikasjoner | |
| A8 | Forbli liv |
| SM2246EN | SM2246XT | |
| Attributt | SSD700/500/300R/S series MSA500/300S MDC500/300 R/S-serien |
CFX510/310 |
| A9 | Forbli liv | |
| AF | Programfeil teller i verste terning | |
| B0 | Slett feiltall i verste terning | |
| B1 | Totalt antall slitasjenivåer | |
| B2 | Runtime ugyldig blokkantall | |
| B5 | Totalt antall feil i programmet | |
| B6 | Totalt antall slettefeil | |
| BB | Antall feil som ikke kan rettes | |
| C0 | Avslag for tilbaketrekning | Avslag for tilbaketrekning |
| C2 | Kontrollert temperatur | Kontrollert temperatur |
| C3 | Maskinvare ECC gjenopprettet | Maskinvare ECC gjenopprettet |
| C4 | Omfordelt antall hendelser | Omfordelt antall hendelser |
| C6 | Ukorrigerbar feilantall offline | |
| C7 | Ultra DMA CRC feiltelling | Ultra DMA CRC feiltelling |
| E1 | Totalt skrevet LBA | |
| E8 | Ledig reservert plass | |
| F1 | Skriv Sektortelling Totalt skrevet LBA (hver skriveenhet = 32 MB) |
Totalt skrevet LBA |
| F2 | Les Sektortelling Totalt leste LBA-er (hver leseenhet = 32 MB) |
Totalt leste LBAer |
| SM2258H | SM2258XT | RL5735 | |
| Attributt | SSD550/350 R/S-serien MSA550/350 S-serien MDC550/350 R/S-serien MDB550/350 S-serien MDA550/350 S-serien CFX550/350 S-serien | CFX550/350-serien | SSD3K0E, MSA3K0E, MDA3K0E series |
| 01 | Slitebanefeilrate (CRC-feilantall) | Slitebanefeilrate (CRC-feilantall) | Slitebanefeilrate (CRC-feilantall) |
| 05 | Omfordelte sektorer teller | Omfordelte sektorer teller | Omfordelte sektorer teller |
| 09 | Driftstimer | Antall oppstartstimer | Antall oppstartstimer |
| 0C | Antall strømsykluser | Antall strømsykluser | Antall strømsykluser |
| 94 | Totalt sletteantall (SLC) (pSLC-modell) | ||
| 95 | Maksimalt sletteantall (SLC) (pSLC-modell) | ||
| 96 | Minimum sletting (SLC) (pSLC-modell) | ||
| 97 | Gjennomsnittlig sletteantall (SLC) (pSLC-modell) | ||
| A0 | Ukorrigerbar sektortelling på linje (ukorrigerbar sektortelling ved lesing/skriving) | Online ukorrigert sektortelling (ukorrigerbar sektortelling ved lesing/skriving) | |
| A1 | Antall rene reservedeler (nummer på gyldig reserveblokk) | Nummer på gyldig reserveblokk | Grow defektnummer (senere dårlig blokkering) |
| A2 | Totalt antall slettinger | ||
| A3 | Nummer på initial ugyldig blokk | Nummer på initial ugyldig blokk | Maks PE-syklus Spes |
| A4 | Totalt antall slettinger (TLC) | Totalt sletteantall (TLC) | Gjennomsnittlig antall slettinger |
| A5 | Maksimalt antall slettinger (TLC) | Maksimalt antall slettinger (TLC) | |
| A6 | Minimum sletting (TLC) | Minimum sletting (TLC) | Totalt antall dårlige blokker |
| A7 | Gjennomsnittlig sletteantall (TLC) | Gjennomsnittlig sletteantall (TLC) | SSD-beskyttelsesmodus |
| A8 | Maks sletteantall i spesifikasjon (maksimalt sletteantall for spesifikasjon) | Maks slettetall i spes | SATA Phy feilantall |
| A9 | Gjenværende liv i prosenttage | Gjenværende liv i prosenttage | Gjenværende liv i prosenttage |
| AB | Antall feil i programmet | ||
| AC | Slett antall feil | ||
| AE | Antall uventede strømtap | ||
| AF | Antall ECC-feil (vertslesefeil) |
| SM2258H | SM2258XT | RL5735 | |
| Attributt | SSD550/350 R/S-serien MSA550/350 S-serien MDC550/350 R/S-serien MDB550/350 S-serien MDA550/350 S-serien CFX550/350 S-serien | CFX550/350-serien | SSD3K0E, MSA3K0E, MDA3K0E series |
| B1 | Totalt antall slitasjenivåer | Slitasjeutjevning | |
| B2 | Brukt reservert blokktelling (Ugyldig blokktelling under kjøretid) | Grown Bad Block Count | |
| B5 | Totalt antall feil i programmet | Antall feil i programmet | Ujustert tilgangstall |
| B6 | Totalt antall slettefeil | Slett antall feil | |
| BB | Antall feil som ikke kan rettes | Rapportert feil som ikke kan rettes | |
| C0 | Avslag for tilbaketrekning | Plutselig strømtelling (teller for tilbaketrekking av strøm av) | |
| C2 | Temperatur_Celsius (T-kryss) | Kapslingstemperatur (T-kryss) | Kapslingstemperatur (T-kryss) |
| C3 | Maskinvare ECC gjenopprettet | Maskinvare ECC gjenopprettet | Kumulativt korrigert ecc |
| C4 | Omfordelt antall hendelser | Omfordelt antall hendelser | Antall omfordelingshendelser |
| C5 | Gjeldende ventende sektortelling: | Gjeldende avventende sektortelling | |
| C6 | Ukorrigerbar feilantall offline | Rapporterte ukorrigerbare feil | |
| C7 | UDMA CRC-feil (Ultra DMA CRC feiltall) |
Antall CRC-feil (Ultra DMA CRC feiltall) |
Ultra DMA CRC feiltelling |
| CE | Min. slette telling | ||
| CF | Maks sletteantall | ||
| E1 | Vert skriver (Totalt skrevet LBA) |
||
| E8 | Ledig reservert plass | Maks slettetall i spes | Ledig reservert plass |
| E9 | Totalt skrive for å blinke | Reserveblokk | |
| EA | Totalt Lest fra flash | ||
| F1 | Skriv Sektortelling (Totalt vertsskriving, hver enhet 32MB) |
Vert 32 MB/enhet skrevet (TLC) | Skriv levetid |
| F2 | Les Sektortelling
(Totalt vertslest, hver enhet 32MB) |
Vert 32MB/enhet Les (TLC) | Les levetid |
| F5 | Flash Skriv teller | NAND 32MB/enhet skrevet (TLC) | Antall uventede strømtap |
| F9 | Totalt GB skrevet til NAND (TLC) | ||
| FA | Totalt GB skrevet til NAND (SLC) |
| # byte | Byteindeks | Attributter | Beskrivelse |
| 1 | 0 | Kritisk advarsel: Bit definisjon 00: Hvis satt til '1', har den tilgjengelige ledige plassen falt under terskelen. 01: Hvis satt til '1', er en temperatur over en overtemperaturterskel eller under en undertemperaturterskel. 02: Hvis satt til '1', har NVM-delsystemets pålitelighet blitt forringet på grunn av betydelige mediarelaterte feil eller enhver intern feil som forringer NVM-delsystemets pålitelighet. 03: Hvis satt til '1', har mediet blitt satt i skrivebeskyttet modus. 04: Hvis satt til '1', har sikkerhetskopieringsenheten for flyktig minne sviktet. Dette feltet er kun gyldig hvis kontrolleren har en flyktig minne backup-løsning. 07:05: Reservert |
Dette feltet indikerer kritiske advarsler for tilstanden til kontrolleren. Hver bit tilsvarer en kritisk advarselstype; flere biter kan settes. Hvis en bit slettes til '0', gjelder ikke den kritiske advarselen. Kritiske advarsler kan resultere i en asynkron hendelsesvarsling til verten. Biter i dette feltet representerer gjeldende assosierte tilstand og er ikke vedvarende Når tilgjengelig reservedel faller under terskelen som er angitt i dette feltet, kan en asynkron fullføring av hendelsen forekomme. Verdien er angitt som en normalisert prosenttage (0 til 100%). |
| 2 | 2:1 | Kompositttemperatur: | Inneholder en verdi som tilsvarer en temperatur i grader Kelvin som representerer den gjeldende sammensatte temperaturen til kontrolleren og navneområder knyttet til den kontrolleren. Måten denne verdien beregnes på er implementeringsspesifikk og representerer kanskje ikke den faktiske temperaturen til noe fysisk punkt i NVM-delsystemet. Verdien av dette feltet kan brukes til å utløse en asynkron hendelse. Terskelverdier for advarsel og kritiske kompositttemperaturer for overoppheting rapporteres av WCTEMP- og CCTEMP-feltene i Identify Controller-datastrukturen. |
| 1 | 3 | Tilgjengelig reserve: | Inneholder en normalisert prosenttage (0 til 100 %) av gjenværende ledig kapasitet |
| 1 | 4 | Tilgjengelig reserveterskel: | Når den tilgjengelige reservedelen faller under terskelen som er angitt i dette feltet, kan det oppstå en asynkron fullføring av hendelsen. Verdien er angitt som en normalisert prosenttage (0 til 100%). |
| 1 | 5 | Prosenttage Brukt: | Inneholder et leverandørspesifikt estimat av prosententage av NVM-delsystemets levetid brukt basert på faktisk bruk og produsentens prediksjon av NVM-levetid. En verdi på 100 indikerer at den estimerte utholdenheten til NVM i NVM-delsystemet er forbrukt, men indikerer kanskje ikke en NVM-delsystemfeil. Verdien er tillatt å overstige 100. Prosenttages større enn 254 skal representeres som 255. Denne verdien skal oppdateres én gang per oppstartstime (når kontrolleren ikke er i hviletilstand). Se JEDEC JESD218A-standarden for måleteknikker for SSD-enhets levetid og utholdenhet |
| 31:6 | Dataenheter skrevet: | ||
| 16 | 47:32 | Lese dataenheter: | Inneholder antall 512 byte dataenheter verten har lest fra kontrolleren; denne verdien inkluderer ikke metadata. Denne verdien rapporteres i tusenvis (dvs. en verdi på 1 tilsvarer 1000 enheter på 512 byte lest) og rundes opp. Når LBA-størrelsen er en annen verdi enn 512 byte, skal kontrolleren konvertere mengden av lest data til 512 byteenheter. For NVM-kommandosettet skal logiske blokker som leses som en del av sammenlignings- og leseoperasjoner inkluderes i denne verdien. |
| # byte | Byteindeks | Attributter | Beskrivelse |
| 16 | 63:48 | Dataenheter skrevet: | Inneholder antallet 512 byte dataenheter verten har skrevet til kontrolleren; denne verdien inkluderer ikke metadata. Denne verdien rapporteres i tusenvis (dvs. en verdi på 1 tilsvarer 1000 enheter på 512 byte skrevet) og rundes opp. Når LBA-størrelsen er en annen verdi enn 512 byte, skal kontrolleren konvertere mengden data som er skrevet til 512 byte-enheter. For NVM-kommandosettet skal logiske blokker skrevet som en del av skriveoperasjoner inkluderes i denne verdien. Skriv ukorrigerbare kommandoer skal ikke påvirke denne verdien. |
| 16 | 79:64 | Vertslesekommandoer: | Inneholder antall lesekommandoer utført av kontrolleren. For NVM-kommandosettet er dette antallet Sammenlign- og Les-kommandoer. |
| 16 | 95:80 | Vertskrivekommandoer: | Inneholder antall skrivekommandoer utført av kontrolleren. For NVM-kommandosettet er dette antallet skrivekommandoer. |
| 16 | 111:96 | Kontroller opptatt tid: | Inneholder hvor lang tid kontrolleren er opptatt med I/O-kommandoer. Kontrolleren er opptatt når det er en kommando utestående til en I/O-kø (nærmere bestemt, en kommando ble utstedt via en I/O Submission Queue Tail-dørklokkeskriving og den tilsvarende fullføringskø-oppføringen er ennå ikke lagt inn på den tilknyttede I/O-en Fullføringskø). Denne verdien rapporteres i minutter. |
| 16 | 127:112 | Strømsykluser: Inneholder antall strømsykluser. | |
| 16 | 143:128 | Driftstimer: | Inneholder antall oppstartstimer. Strøm på timer logger alltid, selv når den er i lavstrømsmodus. |
| 16 | 159:144 | Usikre nedleggelser: | Inneholder antall utrygge avstengninger. Denne tellingen økes når en avslutningsmelding (CC.SHN) ikke mottas før strømbrudd. |
| 16 | 175:160 | Medie- og dataintegritetsfeil: | Inneholder antall forekomster der kontrolleren oppdaget en ikke-gjenopprettet dataintegritetsfeil. Feil som ukorrigerbar ECC, CRC-sjekksumfeil eller LBA tag mismatch er inkludert i dette feltet. |
| 16 | 191:176 | Antall feilinformasjonsloggoppføringer: | Inneholder antall feilinformasjonsloggoppføringer i løpet av kontrollerens levetid. |
| 4 | 195:192 | Advarsel sammensatt temperaturtid: | Inneholder tiden i minutter som kontrolleren er i drift og den sammensatte temperaturen er større enn eller lik feltet Warning Composite Temperature Threshold (WCTEMP) og mindre enn feltet Critical Composite Temperature Threshold (CCTEMP) i datastrukturen for identifiser kontrolleren. Hvis verdien av WCTEMP- eller CCTEMP-feltet er 0h, slettes dette feltet alltid til 0h uavhengig av Composite Temperature-verdien. |
| 4 | 199:196 | Kritisk kompositttemperaturtid: | Inneholder tiden i minutter som kontrolleren er operativ og den sammensatte temperaturen er større feltet Critical Composite Temperature Threshold (CCTEMP) i Identifiser kontrollerens datastruktur. Hvis verdien av CCTEMP-feltet er 0h, slettes dette feltet alltid til 0h uavhengig av Composite Temperature-verdien. |
| 2 | 201:200 | Reservert | |
| 2 | 203:202 | Reservert | |
| 2 | 205:204 | Reservert | |
| 2 | 207:206 | Reservert | |
| 2 | 209:208 | Reservert | |
| 2 | 211:210 | Reservert | |
| 2 | 213:212 | Reservert | |
| 2 | 215:214 | Reservert | |
| 296 | 511:216 | Reservert |
Installasjon
- Last ned den nyeste versjonen av SMART Embedded-verktøyprogrammet. (Last ned lenke ved forespørsel)
- Pakk ut (i dette tilfellet, pakk ut til mappen E:\smartmontools-7.2.win32)
- Kjør ledetekst
- Kjør som administrator
- C:\WINDOWS\system32> E:\smartmontools-7.2.win32\bin\smartctl.exe -h
- For å få en brukssammendrag
Kommandolinjeverktøy for å få SMART-informasjon (sdb: disk på PhysicalDrive 1)
- C:\WINDOWS\system32> E:\smartmontools-7.2.win32\bin\smartct.exe -a /dev/sdb
- Sjekk vedlagte file SMART.TXT: https://www.silicon-power.com/support/lang/utf8/smart.txt
Send ut SMART-informasjon til JSON-format. (sdb: disk på PhysicalDrive 1)
- C:\WINDOWS\system32> E:\smartmontools-7.2.win32\bin\smartctl.exe -a -j /dev/sdb
- Sjekk vedlagte file JSON.TXT: https://www.silicon-power.com/support/lang/utf8/json.txt
Brukt tilfelle 1: Fjernovervåking SMART Dashboard via IBM Node-Red
- Installer IBM Node Red, Node Red er et flytbasert programmeringsverktøy utviklet av IBM. Vi bruker Node Red for å integrere SP SMART Embedded verktøyprogram for å utvikle et eksternt overvåkingsverktøy "SP SMART Dashboard".
- Utvikle skript for Node Red og bruk "smartctl.exe"
- Manus file som vedlagte SMARTDASHBOARD.TXT: https://www.silicon-power.com/support/lang/utf8/SMARTDASHBOARD.txt
- Åpne nettleseren, skriv inn "ip:1880/ui"
- ip er IP-adressen til maskinen som kjører Node Red-skript. Standardinnstilling for lokal maskin er 127.0.0.1
Figur 1 SMART Dashboard
![]()
* Brukt tilfelle 2: Integrasjon med Google Cloud Platform for å administrere SMART-informasjon om tilkoblede enheter i felten
SP Industrial utnytter Google Cloud Platform og SP SMART Embedded for å utvikle en SMART IoT Sphere-tjenesteplattform. SP SMART IoT Sphere er en skybasert tjeneste med alarm- og vedlikeholdsvarsler som overvåker og analyserer helsen og statusen til SP Industrial SSD-er og Flash-kort inne i tilkoblede enheter som kjører Windows OS eller Linux Ubuntu embedded OS.
Figur 2 Arkitektur av SMART IoT Sphere
![]()
Figur 3 Administrering av flere enheter
![]()
Figur 4 SP SMART Embedded støtter både Windows 10 og Linux OS
![]()
Figur 5 SMART-informasjonsvisning i sanntid
![]()
Alle varemerker, merker og navn tilhører sine respektive eiere.
©2022 SILICON POWER Computer & Communications, Inc., Alle rettigheter forbeholdt.
Dokumenter / Ressurser
![]() |
Silicon Power Hvordan implementere SMART Embedded for SATA & PCIe NVMe SSD? [pdfBrukerhåndbok SM2246EN, SM2246XT, Slik implementerer du SMART Embedded for SATA PCIe NVMe SSD |




