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
Llamadme paranoico.
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.
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
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.
Si tienes un RAID no es una buena idea.
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.
Cosas como ésto: www.fmad.io/blog-ssd-bricked-restore.html
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)
Lo de que sea potencia de 2 ya lo hacen a cachondeo ¿no?
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.
No, no son 32KB. Es un valor (32767 o 2^15-1), no una capacidad de almacenamiento.
Y debe ser porque se ha contado pocas veces (y en este hilo) para qué es ese contador.
La explosión final es el procedimiento de autodestrucción.
Es lo que tiene almacenar números en celdas binarias.
Y luego los comparas
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.
#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.
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.
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)
A eso se le conoce como mantenimiento y el que funcione más allá de ese límite margen de seguridad.
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.
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
New deal.
Edit:
Ya lo he encontrado en internet.
Gracias je je.
No conocía la historia.
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.
No son prejuicios, es contabilidad miope.
Salu2
Ya no es que te empujen a la compra, es que te obligan.
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.
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...
La cagada es grande y estas cosas se compran en lotes
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
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.
Estos proyectos tienen sus encargados de verificación del software, que es lo que más me alucina.
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")
Tengo varios pero por ahora todos resisten.
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.