12 votos

¿Es posible conocer la información del nivel de desgaste de un teléfono, como tienen las SSD con SMART?

¿Existe una manera de averiguar el nivel de desgaste de los medios de comunicación en un dispositivo Android? Tengo una tablet que se comporta de forma extraña y lenta, por lo que me pregunto si el almacenamiento interno aún está bien: es la Nvidia Sheild (rebautizada como Tegra K1 posteriormente) y probablemente tenga eMMC ya que es bastante antigua.

Sé que un SSD no es lo mismo que un chip de almacenamiento para teléfonos. He leído sobre eMMC y UFS y estoy interesado en el desgaste de ambas generaciones de almacenamiento.

https://www.dignited.com/23879/emmc-or-ufs-mobile-phone-storage/
https://www.digitaltrends.com/mobile/what-is-ufs-3-0-storage/

Aquí hay un enlace a Unix/Linux SE para más información sobre el desgaste de los medios:
https://unix.stackexchange.com/questions/106678/how-to-check-the-life-left-in-ssd-or-the-mediums-wear-level

Sé que una forma de estimar el desgaste del almacenamiento es ejecutar una aplicación de referencia de almacenamiento, pero estoy interesado en el desgaste del almacenamiento.

Gracias.

13voto

Jack Wade Puntos 231

SMART se diseñó originalmente para dispositivos ATA y se extendió a SCSI y PCIe/NVMe posteriormente para cubrir casi toda la gama de discos duros/SSD. Intentar enviar comandos SMART a eMMC, por ejemplo, utilizando smartctl arrojaría un error: Unable to detect device type. Please specify device type with the -d option.

A diferencia de SATA o SAS, eMMC se comunica a través de enlaces paralelos y tiene una conjunto de comandos . Uno de estos comandos ( CMD8 ) vuelca el registro CSD (Datos Específicos de la Tarjeta) extendido que contiene la información interna de la tarjeta y las capacidades del dispositivo, incluyendo Tiempo de vida Estimación y Antes del fin de la vida útil (Fin de vida) Estimación. EXT_CSD se puede leer el registro (requiere Root) utilizando mmc herramienta de mmc-utils :

~# mmc extcsd read /dev/block/mmcblk0 | grep -E 'LIFE|EOL'
eMMC Life Time Estimation A [EXT_CSD_DEVICE_LIFE_TIME_EST_TYP_A]: 0x03
eMMC Life Time Estimation B [EXT_CSD_DEVICE_LIFE_TIME_EST_TYP_B]: 0x03
eMMC Pre EOL information [EXT_CSD_PRE_EOL_INFO]: 0x01

* 0x03 indica el estado de salud se estima entre el 20% y el 30% de la vida útil del dispositivo.
* 0x01 indica el estado normal antes de la muerte.

Dependiendo de su controlador MMC, la información anterior también está disponible a través de sysfs interfaces :

~# cat /sys/devices/soc/7824900.sdhci/mmc_host/mmc0/mmc0:0001/{life_time,pre_eol_info}
0x03 0x03
01

* La ruta puede variar según el proveedor de eMMC.

Otra opción es leer el registro ECSD desde debugfs :

~# cat /sys/kernel/debug/mmc0/mmc0:0001/ext_csd

Pero análisis de la salida bruta del ECSD es un trabajo extra.

Para la parte de UFS no estoy seguro en este momento si la estimación de salud/desgaste está disponible a través de los Registros de Capacidades HCI o no. Además, a diferencia de eMMC, UFS opera a través de un enlace de comunicación en serie y soporta un subconjunto de comandos SCSI. Así que podría estar proporcionando un sistema de monitorización SMART (o similar a SMART). Alguien más puede actualizar la respuesta si se dispone de alguna fuente de información auténtica.


REFERENCIAS:

0 votos

Vaya, gracias por la respuesta detallada sobre el almacenamiento eMMC. Supongo que estos comandos sólo están disponibles en un dispositivo rooteado...

0 votos

@ForeverLearning sí, definitivamente. Sin archivos Root en /dev y /sys no son accesibles.

2 votos

Todavía me sorprende que exista un modo de fallo predecible y medible que, en algún momento, haga que millones de dispositivos se bloqueen y que, sin embargo, no haya forma de medirlo porque (presumiblemente) es culo umed que nadie va a mantener sus dispositivos el tiempo suficiente para que sea importante. (obsolescencia planificada ftl)

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X