edición general
353 meneos
4764 clics
El curioso caso del SSD que fallará a las 32.768 horas exactamente

El curioso caso del SSD que fallará a las 32.768 horas exactamente

HP ha tenido que lanzar una actualización de firmware para sus unidades SAS (Serial-Attached SCSI) que utilizan en servidores. Sin ese firmware, los SSD de la compañía morirían exactamente a las 32.768 horas de estar operativos, o a los 3 años, 270 días y 8 horas.

| etiquetas: ssd , hp , firmware , 32768 , error
«12
  1. muerte programada en un aparato de HP... y tenemos que pensar que ha sido un error... ¿La misma HP que ha perdido dos juicios en usa precisamente por programar a proposito las impresoras para que sufran dichas muertes programadas?
    Llamadme paranoico.  media
  2. La actualización de firmware añade algo de aleatoriedad.
  3. He visto otros casos parecidos de meteduras de pata por inexperiencia.

    Resulta que las grandes corporaciones se sacan de encima los empleados de más de 55 años solo porque sí. Por prejuicios que ellos sabrán de donde vienen. Los sustituyen por nuevos empleados mucho más jóvenes, mucho más baratos y mucho más inexpertos.

    Estos jóvenes tienen ciertas carencias en su formación, que vienen de no haber vivido los distintos desastres en la historia de la informática. En este caso concreto de los enteros demasiado cortos, alguien con más experiencia recordará quizás el fiasco de la primera versión de los misiles Patriot en la primera guerra de Irak. O puede incluso que en su día hubiera leido la decisión de los programadores de sistemas de ficheros de usar exclusivamente enteros de 128 bits en el código. Pero un programador de 25 años no habrá visto eso, ni le suena el problema ni de lejos, ni tiene ninguna pista desde donde empezar a buscar. Me creo perfectamente que ese equipo no haya hecho otra cosa que revisar su código sin encontrar ningún error ni caer en la cuenta del problema.

    Sé, porque lo he visto en su cara de pasmo, que los recien licenciados en informática desconocen cómo se implementa a bajo nivel el guardar una variable. Así les he visto implementar operaciones lógicas booleanas simples mediante comparaciones de caracteres y luego no saber por qué va lento. O incluso guardar importes monetarios en variables de números reales y no saber por qué no cuadra la contabilidad.

    Todos estos recuerdos de pifiadas se perderán como lágrimas en la lluvia y algún sistema futuro hará cosas rarísimas para sorpresa general. Pero recordemos una de las leyes de Murphy: Cada vez que falla algo hay alguien que lo sabía de antemano.
  4. #3 HP haciendo honor a su nombre.

    :troll:
  5. #3 Se ve claramente que es un fallo de rango, 32768 son 32 k. Alguna variable mál utilizada para algún conteo.
  6. #6. Si, podría haber usado 'unsigned' y haber doblado la vida del disco...
  7. #10 Es el campo ID 09 de los atributos SMART
    www.marcelopedra.com.ar/blog/2013/12/15/que-significan-los-atributos-s

    No es una cuenta atrás para que se rompa sino un dato del disco, que cuando se sobrepasa y no cabe (eso es lo que no debería ocurrir) ... pues falla
  8. #9 32768 cabe en 2 bytes. La cuestion es para que leches esta ese contador que cuando acaba, el disco duro peta.
  9. #1 No está mal. La idea es que no fallen al mismo tiempo :-D
  10. #32 Sencillísimo, yo lo hago todos los días.
  11. #5 Nah, el encargado tiró por lo fácil, usar un entero con signo de 16 bits para el contador de horas.
  12. #25

    Eso ni es obsolescencia programada ni leches. Es una cagada de quien programó el driver.

    Pero claro, las teorías de la conspiración molan más.
  13. #10 todos los discos duros tienen un contador de horas encendido y no se usa para obsolescencia programada.
  14. #42 A la gente le encanta montarse películas, y lo hace con mucha más facilidad si "cuadra" con sus ideas y prejuicios.
  15. #21 lo de usar floats para precios es uno de los errores más comunes que se ven en los novatos
  16. #18

    Si tienes un RAID no es una buena idea.
  17. #19

    Para resumir: es un fallo de programación del firmware, no un contador de la muerte ni leches.

    Y es uno de los fallos más típicos que pueden pasar en programación: no controlar las "fronteras" de los valores. Parece mentira que eso le pase a HP a estar altura.
  18. #34 exacto, lo que esta claro que es una cagada la gente lo llama obsolescencia programada xD
  19. Obsolescencia preprogramada, así por lo menos sabrás a la hora exacta a la que el disco te hace un /dev/null
  20. #3 #5 #6 2 elevado a la 15.
  21. #13 También es bueno poner discos distintos y no todos de la misma marca y modelo porque como un modelo en concreto o una partida salga defectuoso, se pueden estropear todos juntos o casi juntos.
  22. #24 Que no puedas acceder a ellos directamente desde el PC no implica que en taller no puedas conectar un cable a las tripas del disco para actualizar el firmware, o resetear/cambiar el chip flash donde se guarda el contador.

    Cosas como ésto: www.fmad.io/blog-ssd-bricked-restore.html
  23. #10

    El disco no peta, es que el firmware recibe un dato erróneo (un contador negativo) y se bloquea. Es una cagada de programación, no que falle el ssd, aunque de cara al usuario, es lo mismo (ssd no responde)
  24. #12 se usa para el SMART
  25. #19 #38 y la gente montandose peliculas de obsolescencia programada xD
  26. 2, 4, 8, 16, 32, 64, 128, 256, 512, 1.024, 2.048, 4.096, 8.192, 16.384, 32.768.
    Lo de que sea potencia de 2 ya lo hacen a cachondeo ¿no?
  27. #8 quizás el parche hace eso. Y tan contentos 8-D
  28. #13 Un OS normal te va a avisar cuando vea que el SSD ha gastado el 90% de sus ciclos. Da tiempo se sobra.

    Para un PC de casa, el procedimiento es sencillo. Extraes el SSD, lo montas con un adaptador de discos externos en cualquier otro PC. Haces un backup con clonezilla. Montas el SSD nuevo en el adaptador. Restore de esos datos. Ampliar la partición para que llene ese nuevo SSD más grande. Enchufar el nuevo SSD al PC original y botar con total felicidad.
  29. #16

    No, no son 32KB. Es un valor (32767 o 2^15-1), no una capacidad de almacenamiento.
  30. Tines tu RAID y falla todos. Y como has comprado el mismo almacenamiento para tu pool de backup .... tampoco tienes. Y cierras.
  31. #42

    Y debe ser porque se ha contado pocas veces (y en este hilo) para qué es ese contador.  media
  32. #43 www.youtube.com/watch?v=5tJPXYA0Nec

    La explosión final es el procedimiento de autodestrucción.
  33. #5

    Es lo que tiene almacenar números en celdas binarias.
  34. #31

    Y luego los comparas :-D :-D :-D
  35. #39
    No es mantenimiento ya que solo utiliza un contador de impresiones para ver cuando necesita el cambio, en ningún momento comprueba el estado de la almohadilla.
    Y incluso aunque lo hiciera debería avisar y ya está. Es como si la lavadora despues de 200 lavados decide no lavar más porque seguro que tiene mucha cal.

    Es obsolescencia programada de manual.
  36. Hace tiempo que en mi entorno laboral comprar HP es causa de despido procedente.
  37. #44 anda que no he visto pocas cagadas por overflow en software xD pero no, es mejor decir que es obsolescencia xD
  38. #52 que no es obsolescencia programada, es cagada de programador, todos los discos duros llevan un contador de horas encendido, el becario que programo el firmware de estos discos duros simplemente metio un limite demasiado bajo del campo de horas y al llegar al limite hace overflow y peta.
  39. #2 Pues es imprescindible, no es lo mismo tener unos cuantos días para cambiar el fisco dañado antes de que se te vaya el raid a la m , a que te fallen todos los discos a la vez.
  40. Lo que yo me pregunto es si la actualización del firmware permite acceder a los datos de un SSD bloqueado.
  41. #32 Ni eso: la mayoría de las marcas de SSD ofrecen programas de clonación gratis en sus webs. Crucial, por ejemplo, tiene una versión del Acronis True Image que clona el disco y redimensiona las particiones desde el mismo Windows. Simplemente montas el SSD nuevo en una caja externa, clonas el disco interno, apagas el equipo, montas el disco nuevo y arrancas sin problema.

    #37 En mi empresa hemos actualizado bastantes equipos de HDD de 500GB a SSD de 250GB haciéndolo como he dicho, el programa tiene un asistente que te configura todo. Cualquier usuario puede hacer la clonación del disco, la parte más complicada para un usuario es tener que abrir el equipo para reemplazar el disco.
  42. #3 Es un error. La vida de un SSD en uso normal como disco de OS es superior a los 10 años.

    Si vais a comprar uno, mirad la vida prevista. Por ejemplo comparad un Samsung 860 con un 850 (¡antes de comprar!). O al menos comprad el más moderno.
  43. #10 no creo que el disco duro "pete", más bien parece que el firmware se cuelga, es sutil pero no es lo mismo exactamente, no puedes assegurar que ese contador esté allí solo para hacer que el disco "pete", se me ocurren muchas utilidades, por ejemplo el SMART que llevan casi todos los discos cuentan las horas de uso.
  44. #36 ¿Por? siempre escuché lo contrario.
  45. #8

    Parece una tontería, pero hubieras pasado de los cinco años que se estima la vida media de un ssd (funcionando las 24 horas al día, claro)
  46. #22

    A eso se le conoce como mantenimiento y el que funcione más allá de ese límite margen de seguridad.
  47. #49

    ya que solo utiliza un contador de impresiones para ver cuando necesita el cambio

    Pues igual que un coche: cambia el aceite cada dos años o cada 20.000 kms. Si pones un cacharro que mida la calidad es más caro.
  48. Empresa con antecedentes en el tema.

    Error garrafal, entendible en practicas de carrera y tal.

    Fabrico discos hace décadas -> Todos los discos llevan un contador -> No sé hacer un contador :palm:

    New deal.
  49. #26 ¿ lo de la sonda si lo conozco pero lo del ariane que pasó?
    Edit:
    Ya lo he encontrado en internet.
    Gracias je je.
    No conocía la historia.
  50. #50 el coche se para si no le cambias el aceite?
  51. #60 Puede que tengas razón, pero por disco bloqueado yo entiendo un hardware que se niega a ser un disco. La actualización de software es otra cosa.
  52. #36 Yo monté un raid con 4 discos WD Red y año tras año fueron cayendo hasta que murieron dos a la vez. ¿La lección? Esa: no meter todos los discos de la misma marca/modelo
  53. #37 Lo hice yo cuando cambié el mio por uno mas grande y mi máximo logro informático era encender un monitor.
  54. #58 dale tiempo...
  55. ¿Cómo que los datos son irrecuperables porque el firmware se cuelga?

    Pues que proporcionen un método para resetear el contador o instalar un nuevo firmware en taller. Aunque sea enviando el disco a fábrica.
  56. Igual de curioso fue el caso de impresora Hp que sólo con un par de usos, ni 10 hojas, se estropea a los 2 meses de comprada...:-D
  57. #57 Supongo que discos de diferentes velocidades, cachés y tiempos de acceso también es un problema en un RAID, tanto si se emplean en espejo como divididos. Supongo que una solución intermedia sería usar discos del mismo modelo pero de distintas partidas/fechas. Si no están en RAID dará igual.
  58. #31 hablando de tipo de datos, el que me sorprende es el Int64, en un sistema operativo de 64 bits en un procesador de 64 bits este deberia ser rápido pero, sorpresa es más lento que el tradicional Int32.
  59. Si lo hubieran hecho unsigned seria 65536 horas.
  60. #83 ¿Ves? Me das la razón. Como "cuadra"... :tinfoil:
  61. #45 Que se lo digan a Julian Assange.
  62. #30 depende de lo que escribas, están más cerca de los 5 años que de diez en teoría. Pero sí, la menos sabes que no casca en dos años el disco.
  63. #5 como esperas que se almacenen los datos?
  64. #28 supongo que no porque si está bloqueado no puedes instalar firmware
  65. #3. Pretender hacer esa jugada nada menos que en servidores es poco menos que criminal.
  66. #21 Por prejuicios que ellos sabrán de donde vienen. Los sustituyen por nuevos empleados mucho más jóvenes, mucho más baratos y mucho más inexpertos.

    No son prejuicios, es contabilidad miope.
  67. #70 o lo mas probable: manco ha puesto que el smart para el numero de horas encendido solo sea 2^15 y al pasar entra en overflow y no arranca.
  68. A nivel de la pifiada del ingeniero de Western Digital con los discos duros de la serie "green" modelo WD20EARS que tuvo la gran idea de que el eje de cabezales se aparcara cada cinco segundos, provocando, al ser un elemento electro-mecánico que este se fastidiara antes. Y llegando como mucho a un año de duración esos discos duros, ya que en S.M.A.R.T el parámetro de cuenta del ciclo de vida o Life Count Cycle (LCC) aumentaba a niveles vertiginosos.

    Salu2
  69. #20 bueno aunque estén en raid si uno es.mas nuevo no fallaría al mismo tiempo
  70. Pues está bien claro de qué estamos hablando.

    Ya no es que te empujen a la compra, es que te obligan.
  71. #77 igualito a que algo deje de funcionar sin motivo :palm:
  72. No es la primera vez que pasa algo así en discos SSD... Hace unos años, tuve un Crucial al que le pasó lo mismo. Tuve que actualizar el firmware porque el disco dejó de ir a las no sé cuantas horas de uso.
  73. #40 La responsabilidad debería ser la misma. ¿Crees que habría que perdonar a los que implementan la obsolescencia de forma involuntaria? ¿No crees que que la excusa de que es un error saldría demasiado barata?

    Podrían haber implementado esto de forma voluntaria sin calibrar totalmente las consecuencias. Podrían haberse dado cuenta más tarde de que esta forma de implementar la obsolescencia haría que el fallo se presente de una forma masiva y que eso sería una mala publicidad. Si hubo ignorancia de algún tipo no influirá en la responsabilidad legal.
  74. Mi impresora HP tiene un contador de impresiones, y que cuando llega a 0 deja de imprimir porque supuestamente tienes que revisar las almohadillas.
    El caso es que lo puedes enviar al servicio técnico y te instala unas nuevas almohadillas te reinicia el contador.
    Lamentable, menos mal que existe un programa para resetear el contador por internet.

    Pd: la impresora sigue funcionando a pesar de haber pasado el límite y no haber cambiado las almohadillas, magia debe ser...
  75. La obsolescencia programada debería estar penalizada. Puede que sea beneficiosa para el fabricante y por eso lo hace, pero para los consumidores es muy perjudicial y para el resto de los habitantes del planeta también porque contribuye a convertir el planeta en un estercolero. Me refiero a que esté lo suficientemente penalizado como para que no traiga cuenta implementarlo.
  76. #41 ojo, que este caso en concreto sea una cagada no implica que no exista la obsolescencia programada!
  77. #3 por eso no hay que comprar nada de HP los clientes tienen que castigarlo por esas politicas
  78. #7 A ver, un disco duro muere prematuramente porque alguién decidió usar un entero con signo de dos bytes para un contador de horas... Yo ya no sé qué más necesitáis para llamarlo obsolescencia "programada" :troll:
  79. #17 Hay que decirlo más.
  80. #85 si es uno y es RAID 5 bien si son son dos fuera.

    La cagada es grande y estas cosas se compran en lotes
  81. #102 0 a veces no es igual a 0 !! En coma flotante, puede que haya 2 valores tan cercanos a cero ( o a cualquier otro número) , que se muestren como cero, pero en realidad existe algún bit diferente entre ellos.

    Cuando no puedes cambiar el origen de los datos, la ñapa oficiosa para saber si un número es igual a otro suele ser comparar su diferencia con el margen de error.

    Es decir puedes decidir si precio1 y precio2 son iguales, haciendo abs( precio1 - precio2 ) < 0.001
  82. #3 jeje, no se Rick :roll:
  83. #102 los decimales en float se guardan en binario.

    En base decimal, cualquier fracción cuyo denominador no se componga exclusivamente por potencias de dos y cinco, tendrá decimales periódicos.

    En base binaria sucede lo mismo cuando el denominador no se compone exclusivamente por potencias de dos.

    Cifras como 49.99 no se pueden expresar en binario con la misma precisión con la que se expresan en decimal. En binario tiene infinitos decimales periódicos.

    Si buscas por Internet verás ejemplos cosas como que sumar 0.1 y 0.2 no da 0.3 (no sé si este concretamente es un caso real)

    Sea como sea, usando céntimos te quitas de un plumazo ese peligro.
  84. #23 Toda memoria moderna, así sea un pendrive, lleva dentro un procesador que ejecuta un firmware que es lo único que puede acceder a esos datos.
  85. Por chorradas incluso mayores se la pegó un cohete Arianne y una sonda marciana.
    Estos proyectos tienen sus encargados de verificación del software, que es lo que más me alucina.
  86. #18 Yo he tenido esa experiencia: discos comprados al mismo tiempo que fallan con diferencia de 2 o 3 semanas (me pasó dos veces con WD Black)
  87. #3 Claro que ha sido un error. La intención no era que fallara a los 32768 horas sino en algún valor al azar por encima de ese número. Seguro que cometieron un error y el cálculo al azar da siempre 0 por eso muere justo a esa hora en lugar de un poco después.

    Recordemos que 32767 es el máximo número con signo que se puede representar con 2 bytes. Queda claro que es un contador de horas que se sobrepasa (tal vez sólo se olvidaron de poner "unsigned")
  88. #32 curiosidad, como te avisa el so de que ti ssd va a petar pronto?

    Tengo varios pero por ahora todos resisten.
  89. #84 Windows te suelta un mensaje de catástrofe inminente en todo el medio de la pantalla, en plan "Aahhhh, menos del 10%". Para que se vaya debes teclear correctamente "SE QUE VOY A MORIR" (o clickar en una crucecita). Cada vez que botas, igual.
  90. #70 me faltaron las comillas en el ""error"", o el cartel avisador ;)
  91. #102 No me convencen del todo las explicaciones que te han dado.

    Los importes, por la ley del Euro, son cantidades enteras de céntimos de euro. Es decir que tú puedes legalmente pagar o cobrar un importe de 12,34€ o de 12,35€ pero no ninguna otra cantidad entre esas dos. Por ello la forma correcta de guardarlo en un ordenador es dentro de una variable capaz de manejar números enteros, es decir exactos. Si sumas miles de estos importes el resultado es una cantidad exacta.

    Los floats no pueden hacer esto pues guardan aproximaciones a una cantidad, pero no una cantidad exacta. No importa lo muy buena que se la aproximación, no es una cantidad exacta.

    Estas aproximaciones son tan buenas que si sumas no muchos de estos números, el redondeo que se realiza al presentar la cantidad enmascarará el resultado presentándolo como la cifra exacta correcta, pero no es cierto, es un redondeo. Si sumas miles de estas cifras el error se acumula y supera el umbral del redondeo de la presentación y obtienes resultados incorrectos.

    El mundo real es siempre peor y por muy bien que programes no hay forma de cuadrar una contabilidad cuando hay leyes inconsistentes entre sí que te obligan a redondear unas cosas al céntimo(*) y otras cosas al euro y luego pretenden que eso cuadre, lo que no es posible. Lo que se hace en la práctica son apuntes contables de cuadrar a la fuerza unos pocos euros porque sí.

    (*) La ley del euro prevé "operaciones intermedias" con muchos decimales que luego hay que redondear o truncar para poder hacer una factura con céntimos exactos.
  92. #1 y que ahora fallen fuera del periodo de garantía...
  93. La obsolencia programada debería ser ilegal y penada. Vaya mierda de ética tiene HP. A saber cuánto CO2 se emite al fabricar un SSD/HDD, y cuantos residuos genera. Eso multiplícalo por el número de dispositivos que se venden diariamente en el mundo.
  94. #58 si es un coche moderno se para si se le acaba el “adblue” (urea), vienen programados para no permitirte arrancar si el depósito está vacío, y es por ley.
«12
comentarios cerrados

menéame