Un nuevo y pequeño estudio ha puesto en relevancia un problema bastante grande del que no se tenía constancia hasta ahora. El problema es simple: si los datos están almacenados en la caché y aunque se vacíe el buffer correspondiente con ella estos podrían perderse, lo que genera un gran problema en algunos modelos de SSD. Esto plantea la pregunta más obvia ¿cómo puede tener un SSD un problema de pérdida de datos por su caché debido a un corte de energía?
Algunos fabricantes sí que tuvieron la inteligencia de ver y prever esta situación por lo que ante todo calma, puesto que no es un problema que se dé en todos los modelos. De momento solo han sido comprobados 4 modelos de discos de estado sólido y dos han reportado el fallo, el cual ha sido descubierto por un programador de Apple: Russ Bishop, donde ahora quiere aumentar el rango de dispositivos analizados para llegar al final de este asunto.
Los SSD, la caché y un problema de pérdida de datos y energía
Russ Bishop@xenadu02Fun story: I tested a random selection of four NVMe SSDs from four vendors. Half lose FLUSH’d data on power loss. That is the flush went to the drive, confirmed, success reported all the way back to userspace. Then I manually yanked the cable. Boom, data gone.21 de febrero, 2022 • 10:34
1.6K
96
Hay que enfatizar en este dato, ya que no hablamos de los datos en sí mismos los cuales se albergan en las celdas NAND Flash y que corresponden a tu almacenamiento normal, sino a los datos que hay guardados en la caché, que son igualmente importantes en el momento del trabajo o juego. También hay que aclarar que esto ha sido probado lógicamente en sistemas Apple, pero el método de funcionamiento es indistinto a PC porque el SSD funciona de la misma forma y la caché es igualmente gestionada mediante NVMe y su flujo de datos hasta la misma.
Con esto en mente el problema es fácilmente reproducible por cualquier programador como afirma Bishop, pero los datos son realmente preocupantes.
Russ Bishop@xenadu02The other half never lost data confirmed after a flush (F_FULLFSYNC on macOS) no matter how much I abused them. All four had perf hit from flushing so they are doing some work.Top two performers on flush? One lost data 40% of the time. The other never lost any.
21 de febrero, 2022 • 10:37
288
1
Lo que quiere decir aquí Bishop es que los datos se perdieron en el proceso después de vaciar la caché puesto que no se transfirieron a las NAND Flash de almacenamiento. ¿Por qué ocurrió esto? En primer lugar hay que comprender que la caché es memoria volátil SRAM y por lo tanto cuando Bishop forzó la pérdida de energía tirando del cable del PC los datos que allí estaban se perdieron, cuando no debería ser así porque directamente no deberían de estar.
¿Qué modelos están libres de este fallo?
Como decimos, este fallo no debería de producirse, pero está visto que hay fabricantes que han parado en este problema y otros que no. Los cuatro SSD analizados fueron el Samsung 970 EVO PLUS, WD RED SN700 1 TB, SK Hynix Gold P31 2 TB y Sabrent Rocket 512 con controladora Phison PH-SBT-RKT-303.
El Samsung y el WD fueron los dos que mantuvieron correctamente los datos haciendo el vaciado de manera ejemplar, mientras que el SK Hynix y el Sabrent fueron los afectados. Para esta semana Bishop espera tener los datos de más SSD:
Russ Bishop@xenadu02Tomorrow I’ll have results for:
Intel 670p
Samsung 980
WD Black SN750
WD Green SN350
Kingston NV1
Seagate Firecuda 530
Crucial P2
Crucial P5 Plus23 de febrero, 2022 • 02:08
120
2
Esto es especialmente interesante porque algunos modelos como el Samsung 980 o el Kingston NV1 no tienen caché como tal y usan HMB (Host Memory Buffer) con la RAM del sistema para simular el funcionamiento de la misma, lo cual debería producir en principio el mismo problema de pérdida de datos en cuanto nos encontramos sin energía en el PC por el motivo que sea. Será interesante ver los resultados en apenas unos días.