Cómo implementar SMART Embedded para SATA yamp; ¿SSD PCIe NVMe?
Manual de usuario
Esta nota de aplicación proporciona instrucciones para usar el programa de utilidad SP SMART Embedded para integrarlo con el programa del cliente para obtener información SMART para SP Industrial SATA y PCIe NVMe SSD.
Entorno de soporte
- SO: Windows 10 y Linux
- Programa de utilidad SP SMART Embedded: reloj inteligente 7.2
- Anfitrión: plataforma Intel x 86
Lista de soporte para SSD industrial SP
- SATA SSD y C rápido (MLC): SSD700/500/300, MSA500/300, MDC500/300, CFX510/310
- SATA SSD y C Fast (3D TLC): SSD550/350/3K0, MSA550/350/3K0, MDC550/350, MDB550/350, serie MDA550/350/3K0, CFX550/350
- PCIe NVMe: serie MEC350, MEC3F0, MEC3K0
Atributo INTELIGENTE
- SATA SSD y C rápido (MLC)
| SM2246EN | SM2246XT | |
| Atributo | SSD700/500/300R/S series MSA500/300S Serie MDC500/300 R/S |
CFX510/310 |
| 01 | Tasa de errores de lectura Recuento de errores CRC | Tasa de errores de lectura Recuento de errores CRC |
| 05 | Cuentan los sectores reasignados | Cuentan los sectores reasignados |
| 09 | Horas de encendido | Reservado |
| 0C | Recuento de ciclos de energía | Recuento de ciclos de energía |
| A0 | Recuento de sectores incorregibles al leer/escribir | Recuento de sectores incorregibles al leer/escribir |
| A1 | Número de bloque de repuesto válido | Número de bloque de repuesto válido |
| A2 | Número de bloque de repuesto válido | |
| A3 | Número de bloque inicial no válido | Número de bloque inicial no válido |
| A4 | Recuento total de borrados | Recuento total de borrados |
| A5 | Número máximo de borrados | Número máximo de borrados |
| A6 | Recuento mínimo de borrados | Recuento promedio de borrados |
| A7 | Número máximo de borrado de especificaciones | |
| A8 | Sigue siendo vida |
| SM2246EN | SM2246XT | |
| Atributo | SSD700/500/300R/S series MSA500/300S Serie MDC500/300 R/S |
CFX510/310 |
| A9 | Sigue siendo vida | |
| AF | Conteo de fallas del programa en el peor dado | |
| B0 | Borrar el recuento de fallas en el peor dado | |
| B1 | Recuento total del nivel de desgaste | |
| B2 | Recuento de bloques no válidos en tiempo de ejecución | |
| B5 | Recuento total de fallas del programa | |
| B6 | Recuento total de errores de borrado | |
| BB | Recuento de errores no corregibles | |
| C0 | Recuento de retracciones con apagado | Recuento de retracciones con apagado |
| C2 | Temperatura controlada | Temperatura controlada |
| C3 | Hardware ECC recuperado | Hardware ECC recuperado |
| C4 | Recuento de eventos reasignados | Recuento de eventos reasignados |
| C6 | Recuento de errores incorregibles fuera de línea | |
| C7 | Recuento de errores Ultra DMA CRC | Recuento de errores Ultra DMA CRC |
| E1 | Total de LBA suscritos | |
| E8 | Espacio reservado disponible | |
| F1 | Escribir recuento de sectores LBA totales escritos (cada unidad de escritura = 32 MB) |
Total de LBA suscritos |
| F2 | Leer recuento de sectores Total de LBA leídos (cada unidad de lectura = 32 MB) |
Total de LBA leídos |
| SM2258H | SM2258XT | RL5735 | |
| Atributo | 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 | Tasa de error de la banda de rodadura (recuento de errores CRC) | Tasa de error de la banda de rodadura (recuento de errores CRC) | Tasa de error de la banda de rodadura (recuento de errores CRC) |
| 05 | Cuentan los sectores reasignados | Cuentan los sectores reasignados | Cuentan los sectores reasignados |
| 09 | Horas de encendido | Recuento de horas de encendido | Recuento de horas de encendido |
| 0C | Recuento de ciclos de energía | Recuento de ciclos de energía | Recuento de ciclos de energía |
| 94 | Recuento total de borrados (SLC) (modelo pSLC) | ||
| 95 | Cuenta máxima de borrado (SLC) (modelo pSLC) | ||
| 96 | Recuento mínimo de borrado (SLC) (modelo pSLC) | ||
| 97 | Cuenta promedio de borrado (SLC) (modelo pSLC) | ||
| A0 | Recuento de sectores no corregibles en línea (recuento de sectores no corregibles al leer/escribir) | Recuento de sectores no corregidos en línea (Recuento de sectores no corregibles cuando se lee/escribe) | |
| A1 | Número de Pure Spare (Número de bloque de repuesto válido) | Número de bloque de repuesto válido | Número de defecto de crecimiento (bloque defectuoso posterior) |
| A2 | Recuento total de borrados | ||
| A3 | Número de bloque inicial no válido | Número de bloque inicial no válido | Especificaciones máximas del ciclo PE |
| A4 | Recuento total de borrados (TLC) | Conteo de borrado total (TLC) | Recuento promedio de borrados |
| A5 | Recuento máximo de borrados (TLC) | Recuento máximo de borrados (TLC) | |
| A6 | Recuento mínimo de borrado (TLC) | Recuento mínimo de borrado (TLC) | Recuento total de bloques defectuosos |
| A7 | Cuenta promedio de borrado (TLC) | Cuenta promedio de borrado (TLC) | Modo de protección SSD |
| A8 | Max Erase Count in Spec (Recuento máximo de borrado de especificaciones) | Número máximo de borrados en especificaciones | Recuento de errores físicos de SATA |
| A9 | Porcentaje de vida restantetage | Porcentaje de vida restantetage | Porcentaje de vida restantetage |
| AB | Recuento de errores del programa | ||
| AC | Borrar recuento de fallas | ||
| AE | Cuenta de pérdida de energía inesperada | ||
| AF | Recuento de errores de ECC (error de lectura del host) |
| SM2258H | SM2258XT | RL5735 | |
| Atributo | 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 | Recuento total del nivel de desgaste | Recuento de nivelación de desgaste | |
| B2 | Recuento de bloques reservados usados (recuento de bloques no válidos en tiempo de ejecución) | Recuento de bloques defectuosos | |
| B5 | Recuento total de fallas del programa | Recuento de errores del programa | Recuento de acceso no alineado |
| B6 | Recuento total de errores de borrado | Borrar recuento de fallas | |
| BB | Recuento de errores no corregibles | Reportado error no corregible | |
| C0 | Recuento de retracciones con apagado | Recuento de potencia súbita (recuento de retracción de apagado) | |
| C2 | Temperature_Celsius (unión T) | Temperatura del recinto (unión en T) | Temperatura del recinto (unión en T) |
| C3 | Hardware ECC recuperado | Hardware ECC recuperado | acumulativo corregido ecc |
| C4 | Recuento de eventos reasignados | Recuento de eventos reasignados | Recuento de eventos de reasignación |
| C5 | Recuento actual de sectores pendientes: | Recuento actual de sectores pendientes | |
| C6 | Recuento de errores incorregibles fuera de línea | Errores no corregibles informados | |
| C7 | Error CRC de UDMA (Recuento de errores CRC de Ultra DMA) |
Recuento de errores de CRC (Recuento de errores CRC de Ultra DMA) |
Recuento de errores Ultra DMA CRC |
| CE | mín. borrar la cuenta | ||
| CF | Número máximo de borrados | ||
| E1 | Escrituras del anfitrión (Total de LBA suscritos) |
||
| E8 | Espacio reservado disponible | Número máximo de borrados en especificaciones | Espacio reservado disponible |
| E9 | Escritura total en flash | Bloque de repuesto | |
| EA | Lectura total desde flash | ||
| F1 | Escribir recuento de sectores (Total de escrituras de host, cada unidad 32 MB) |
Host 32 MB/unidad escrita (TLC) | escribir tiempo de vida |
| F2 | Leer recuento de sectores
(Total Host Read, cada unidad 32 MB) |
Anfitrión 32 MB/unidad de lectura (TLC) | Leer tiempo de vida |
| F5 | Recuento de escritura flash | NAND 32 MB/unidad escrita (TLC) | Cuenta de pérdida de energía inesperada |
| F9 | GB totales escritos en NAND (TLC) | ||
| FA | GB totales escritos en NAND (SLC) |
| # de bytes | Índice de bytes | Atributos | Descripción |
| 1 | 0 | Advertencia crítica: Definición de bits 00: si se establece en '1', el espacio libre disponible ha caído por debajo del umbral. 01: si se establece en '1', entonces la temperatura está por encima del umbral de temperatura superior o por debajo del umbral de temperatura inferior. 02: si se establece en '1', la confiabilidad del subsistema NVM se ha degradado debido a errores significativos relacionados con los medios o cualquier error interno que degrada la confiabilidad del subsistema NVM. 03: si se establece en '1', el medio se ha colocado en modo de solo lectura. 04: si se establece en '1', el dispositivo de copia de seguridad de la memoria volátil ha fallado. Este campo solo es válido si el controlador tiene una solución de respaldo de memoria volátil. 07:05: Reservado |
Este campo indica advertencias críticas para el estado del controlador. Cada bit corresponde a un tipo de advertencia crítica; se pueden configurar varios bits. Si un bit se borra a '0', entonces esa advertencia crítica no se aplica. Las advertencias críticas pueden generar una notificación de evento asincrónico al host. Los bits en este campo representan el estado asociado actual y no son persistentes. Cuando el repuesto disponible cae por debajo del umbral indicado en este campo, puede ocurrir una finalización de evento asincrónico. El valor se indica como un porcentaje normalizadotage (0 a 100%). |
| 2 | 2:1 | Temperatura compuesta: | Contiene un valor correspondiente a una temperatura en grados Kelvin que representa la temperatura compuesta actual del controlador y los espacios de nombres asociados con ese controlador. La forma en que se calcula este valor es específica de la implementación y es posible que no represente la temperatura real de ningún punto físico en el subsistema NVM. El valor de este campo se puede utilizar para desencadenar un evento asíncrono. Los valores de umbral de temperatura compuesta de advertencia y sobrecalentamiento crítico se notifican mediante los campos WCTEMP y CCTEMP en la estructura de datos del controlador de identificación. |
| 1 | 3 | Repuesto disponible: | Contiene un porcentaje normalizadotage (0 a 100%) de la capacidad disponible restante |
| 1 | 4 | Umbral de repuesto disponible: | Cuando el Repuesto disponible cae por debajo del umbral indicado en este campo, puede ocurrir una finalización de evento asincrónico. El valor se indica como un porcentaje normalizadotage (0 a 100%). |
| 1 | 5 | Porcentajetage Usado: | Contiene una estimación específica del proveedor del porcentajetage de la vida útil del subsistema NVM en función del uso real y la predicción del fabricante de la vida útil de la NVM. Un valor de 100 indica que se ha consumido la resistencia estimada de la NVM en el subsistema de NVM, pero es posible que no indique una falla del subsistema de NVM. Se permite que el valor supere 100. PorcentajetagLos valores superiores a 254 se representarán como 255. Este valor se actualizará una vez por hora de encendido (cuando el controlador no esté en estado de suspensión). Consulte el estándar JEDEC JESD218A para conocer las técnicas de medición de la duración y la resistencia de los dispositivos SSD |
| 31:6 | Unidades de datos escritas: | ||
| 16 | 47:32 | Unidades de datos leídas: | Contiene el número de unidades de datos de 512 bytes que el host ha leído del controlador; este valor no incluye metadatos. Este valor se informa en miles (es decir, un valor de 1 corresponde a 1000 unidades de 512 bytes leídos) y se redondea hacia arriba. Cuando el tamaño de LBA es un valor distinto de 512 bytes, el controlador convertirá la cantidad de datos leídos a unidades de 512 bytes. Para el conjunto de comandos NVM, los bloques lógicos leídos como parte de las operaciones de comparación y lectura se incluirán en este valor. |
| # de bytes | Índice de bytes | Atributos | Descripción |
| 16 | 63:48 | Unidades de datos escritas: | Contiene el número de unidades de datos de 512 bytes que el host ha escrito en el controlador; este valor no incluye metadatos. Este valor se informa en miles (es decir, un valor de 1 corresponde a 1000 unidades de 512 bytes escritos) y se redondea hacia arriba. Cuando el tamaño de LBA es un valor distinto de 512 bytes, el controlador deberá convertir la cantidad de datos escritos a unidades de 512 bytes. Para el conjunto de comandos de NVM, los bloques lógicos escritos como parte de las operaciones de escritura se incluirán en este valor. Los comandos de escritura incorregible no afectarán este valor. |
| 16 | 79:64 | Comandos de lectura del anfitrión: | Contiene el número de comandos de lectura completados por el controlador. Para el conjunto de comandos NVM, este es el número de comandos Comparar y Leer. |
| 16 | 95:80 | Comandos de escritura del host: | Contiene el número de comandos de escritura completados por el controlador. Para el conjunto de comandos de NVM, este es el número de comandos de escritura. |
| 16 | 111:96 | Tiempo ocupado del controlador: | Contiene la cantidad de tiempo que el controlador está ocupado con comandos de E/S. El controlador está ocupado cuando hay un comando pendiente en una cola de E/S (específicamente, se emitió un comando a través de una escritura de timbre de cola de cola de envío de E/S y la entrada correspondiente de la cola de finalización aún no se ha enviado a la cola de E/S asociada). Cola de finalización). Este valor se informa en minutos. |
| 16 | 127:112 | Ciclos de energía: contiene el número de ciclos de energía. | |
| 16 | 143:128 | Horas de encendido: | Contiene el número de horas de encendido. Las horas de encendido siempre se registran, incluso en el modo de bajo consumo. |
| 16 | 159:144 | Paradas inseguras: | Contiene el número de paradas inseguras. Este conteo se incrementa cuando no se recibe una notificación de apagado (CC.SHN) antes de la pérdida de energía. |
| 16 | 175:160 | Errores de integridad de medios y datos: | Contiene el número de casos en los que el controlador detectó un error de integridad de datos no recuperado. Errores como ECC no corregible, falla de suma de verificación CRC o LBA tag discrepancia se incluyen en este campo. |
| 16 | 191:176 | Número de entradas de registro de información de error: | Contiene el número de entradas del registro de información de errores durante la vida útil del controlador. |
| 4 | 195:192 | Tiempo de temperatura compuesta de advertencia: | Contiene la cantidad de tiempo en minutos que el controlador está en funcionamiento y la temperatura compuesta es mayor o igual que el campo Umbral de temperatura compuesta de advertencia (WCTEMP) y menor que el campo Umbral de temperatura compuesta crítica (CCTEMP) en la estructura de datos de identificación del controlador. Si el valor del campo WCTEMP o CCTEMP es 0h, este campo siempre se borra a 0h independientemente del valor de temperatura compuesta. |
| 4 | 199:196 | Tiempo crítico de temperatura compuesta: | Contiene la cantidad de tiempo en minutos que el controlador está operativo y la temperatura compuesta es mayor que el campo Umbral de temperatura compuesta crítica (CCTEMP) en la estructura de datos de identificación del controlador. Si el valor del campo CCTEMP es 0h, este campo siempre se borra a 0h independientemente del valor de temperatura compuesta. |
| 2 | 201:200 | Reservado | |
| 2 | 203:202 | Reservado | |
| 2 | 205:204 | Reservado | |
| 2 | 207:206 | Reservado | |
| 2 | 209:208 | Reservado | |
| 2 | 211:210 | Reservado | |
| 2 | 213:212 | Reservado | |
| 2 | 215:214 | Reservado | |
| 296 | 511:216 | Reservado |
Instalación
- Descargue la última versión del programa de utilidad SMART Embedded. (Enlace de descarga por solicitud)
- Descomprimir (en este caso, descomprimir en la carpeta E:\smartmontools-7.2.win32)
- Ejecutar símbolo del sistema
- Ejecutar como administrador
- C:\WINDOWS\system32> E:\smartmontools-7.2.win32\bin\smartctl.exe -h
- Para obtener un resumen de uso
Herramienta de línea de comandos para obtener información SMART (sdb: disco en PhysicalDrive 1)
- C:\WINDOWS\system32> E:\smartmontools-7.2.win32\bin\smartct.exe -a /dev/sdb
- Revisa el adjunto file INTELIGENTE.TXT: https://www.silicon-power.com/support/lang/utf8/smart.txt
Salida de información SMART en formato JSON. (sdb: disco en PhysicalDrive 1)
- C:\WINDOWS\system32> E:\smartmontools-7.2.win32\bin\smartctl.exe -a -j /dev/sdb
- Revisa el adjunto file JSON.TXT: https://www.silicon-power.com/support/lang/utf8/json.txt
Caso Usado 1: Monitoreo remoto SMART Dashboard a través de IBM Node-Red
- Instale IBM Node Red, Node Red es una herramienta de programación basada en flujo desarrollada por IBM. Usamos Node Red para integrar el programa de utilidad SP SMART Embedded para desarrollar una herramienta de monitoreo remoto "SP SMART Dashboard".
- Desarrolle Script para Node Red y use "smartctl.exe"
- Guion file como el SMARTDASHBOARD.TXT adjunto: https://www.silicon-power.com/support/lang/utf8/SMARTDASHBOARD.txt
- Abra el navegador, ingrese "ip: 1880/ui"
- ip es la dirección IP de la máquina que ejecuta el script Node Red. El valor predeterminado de la máquina local es 127.0.0.1
Figura 1 Tablero SMART
![]()
* Caso de uso 2: Integración con Google Cloud Platform para gestionar información SMART de dispositivos conectados en campo
SP Industrial aprovecha Google Cloud Platform y SP SMART Embedded para desarrollar una plataforma de servicio SMART IoT Sphere. SP SMART IoT Sphere es un servicio basado en la nube con notificaciones de alarma y mantenimiento que monitorea y analiza la salud y el estado de las tarjetas flash y SSD industriales de SP dentro de los dispositivos conectados que ejecutan el sistema operativo Windows o el sistema operativo integrado Linux Ubuntu.
Figura 2 Arquitectura de SMART IoT Sphere
![]()
Figura 3 Gestión de dispositivos múltiples
![]()
Figura 4 SP SMART Embedded es compatible con los sistemas operativos Windows 10 y Linux
![]()
Figura 5 Pantalla de información SMART en tiempo real
![]()
Todas las marcas registradas, marcas y nombres son propiedad de sus respectivos dueños.
©2022 SILICON POWER Computer & Communications, Inc., Todos los derechos reservados.
Documentos / Recursos
![]() |
Silicon Power ¿Cómo implementar SMART Embedded para SATA y PCIe NVMe SSD? [pdf] Manual del usuario SM2246EN, SM2246XT, Cómo implementar SMART Embedded para SSD SATA PCIe NVMe |




