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. #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
  2. #31 #21 No soy informático, pero por necesidades de la vida se programar a nivel usuario. Yendo al grano, ¿me podéis dar alguna explicación/link de lo de los floats y los precios? Nunca he tenido que guardar precios y me genera curiosidad...
  3. #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
  4. #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.
  5. #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.
  6. #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.
  7. #92 Vos no tenes ni idea. Si quisieran hacer obsolescencia programada, no pondrían un contador exacto de horas para que quede en evidentica exactamente a esa cantidad de tiempo, y todos los discos de la primer tanda al mismo momento.

    Haría algo que se dispare despues de x años, y con un abanico suficientemente grante para no levantar sospechas.
    Ejemplo: 8 años +/- 4 años.
  8. #40 Por supuesto que no es obsolescencia programada, es un simple error de software.
    Pero los que no tienen idea de programación, les gusta pensar en las conspiraciones y demás.
  9. #102 Bueno yo soy programador de autómatas industriales y aunque nunca he tenido problemas con esto creo que se refieren a errores por redondeo inherentes a las variables de coma flotante. Cuanto más operaciones se hagan más se acumulan estos errores por redondeo y por eso no cuadran las cuentas. docplayer.es/79144334-Tema-aproximaciones-numericas-metodos-numericos- No he encontrado algo menos técnico.
  10. #110 Es obvio que no tienes ni idea, te das cuenta con sólo leer a la gente que sabe de programación en este mismo artículo.
  11. #109 Tema interesante, había pensado en estudiar algo relacionado con PLC. ¿Tu estudiaste o simplemente aprendiste en tu empresa? ¿Puedes recomendarme algún ¿máster? sobre el tema? ¿Algún recurso/curso en internet interesante?
  12. #112 Yo estudié Bachiller Técnico Industrial seguido de un ciclo de formación profesional Superior (Ahora estoy estudiando en la UNED en plan tranqui Igeniería Informática). En ambos se da programación de autómatas. En mi escuela los autómatas que estudiamos son Siemens, Omron y Allen Bradley (que son los más relevantes en la industria). Sé que hay cursos de formación continua para trabajadores en donde se ve programación básica de autómatas o PLC. Luego tienes en ingeniería industrial que se ve algo, no sé hasta qué punto; ya conocí a un ingeniero que en la empresa en donde trabajaba tuvo que ir a hacer un curso de programación del Siemens S7 porque no controlaba programación de PLC. Depende de qué empresa te dan o no formación. En mi primer curro tuve que aprender a programar en C en plan autodidacta para programar WINCC (un SCADA de Siemens). Y no sigo con mis historias de abuelo cebolleta. Un saludo.
  13. #114 El ignorante eres tu, yo llevo 22 de mis 41 años programando y se distinguir un bug de algo intencionado. Pero es mas facil hablar de conspiraciones, no? Así justificamos todo. Allá tu.
12»
comentarios cerrados

menéame