¿Por qué las PC no utilizan RAM para corregir errores? «Porque Intel», dice Linus

Enlarge / Hemos estado disfrutando de un Linus Torvalds más amable y gentil durante los últimos dos años … . pero eso no significa que haya dejado de tener opiniones.

Este lunes, el creador del kernel de Linux, Linus Torvalds, se enfureció por la falta de RAM de suma de comprobación de corrección de errores (ECC) en PC de consumo y laptops.

… la política equivocada y al revés de «los consumidores no necesitan ECC», el mercado de la memoria ECC desaparecerá.

Los argumentos en contra de ECC siempre fueron completos y absolutamente basura. Ahora incluso los fabricantes de memoria están comenzando a hacer ECC internamente porque finalmente reconocieron el hecho de que es absolutamente necesario.

Si no está familiarizado con ECC RAM, probablemente se deba a que no crea ni especifica servidores dedicados con CPU y placas base de nivel de servidor, lo cual, desafortunadamente, se trata de el único lugar donde realmente se encuentra ECC. En pocas palabras, ECC RAM incluye una pequeña cantidad de memoria adicional que se utiliza para la detección y corrección de errores.

Errores de memoria y probabilidad

En la mayoría de las implementaciones modernas, esto significa por cada 64 palabra de bits almacenada en la RAM, hay ocho bits de verificación. Un error de un solo bit (un 0 cambiado a 1 o un 1 cambiado a 0) se puede detectar y corregir automáticamente. Se pueden detectar dos bits invertidos en la misma palabra, pero no corregirlos. Es probable que se detecten tres o más bits invertidos en la misma palabra, pero la detección no está garantizada.

Los cambios de bits pueden ocurrir por muchas razones, comenzando con el impacto de rayos cósmicos o una simple falla de hardware. Un estudio a gran escala de los servidores de Google encontró que aproximadamente el 32 por ciento de todos los servidores (y el 8 por ciento de todos los DIMM) en la flota de Google experimentan al menos un error de memoria por año. Pero la gran mayoría de estos son errores de un solo bit: y dado que Google está usando CPU de servidor y RAM ECC, esto significa que las máquinas en cuestión siguen funcionando en camiones.

Ver más

En las máquinas de consumo, incluso estos errores de un solo bit, que tienen más de 40 veces más probabilidades de ocurrir que los errores de varios bits, según los datos de Google, no se detectan y pueden introducir inestabilidad en los sistemas y corrupción en los datos.

Los cambios de bits no siempre son accidentales

No todos los errores de RAM son el resultado de una falla de hardware o de un problema de EMF involuntario. En los últimos años, los investigadores han desarrollado ataques de canal lateral basados en la física cada vez más prácticos, utilizando cambios de bits rápidos y controlados en áreas de RAM accesibles a una aplicación para deducir o modificar los valores de datos en áreas adyacentes de RAM que no deberían poder .

Aunque ECC RAM no puede mitigar los ataques estilo RAMBleed que deducen los valores de la memoria adyacente, generalmente puede detener los ataques de Rowhammer, en los que los bits que cambian rápidamente en un área de la RAM hacen que los bits de un área adyacente cambien.

Incluso cuando ECC no puede prevenir activamente que un ataque Rowhammer tenga un impacto en el sistema, por ejemplo, cuando cambia varios bits en una palabra, al menos puede alertar al sistema del problema y, en en la mayoría de los casos, evite que el ataque Rowhammer haga algo más que causar tiempo de inactividad (la mayoría de los sistemas ECC están configurados para detener toda la máquina si se detecta un error incorregible).

Torvalds culpa a Intel

Y los fabricantes de memoria c laimé que es debido a la economía y al menor poder. Y son bastardos mentirosos; permítanme una vez más señalar cómo esos problemas ya han existido durante varias generaciones, pero estos malditos vendieron felizmente hardware roto a los consumidores y afirmaron que era un «ataque», cuando siempre fue así. «Estamos tomando atajos».

¿Cuántas veces ha sucedido un martillo de hilera como un bit-flip solo por pura mala suerte en cargas reales que no son de ataque? Nunca lo sabremos. Porque Intel estaba presionando a los consumidores.

Torvalds adopta la posición audaz de que la falta de RAM ECC en la tecnología de consumo es culpa de Intel debido a la política de la empresa de segmentación del mercado. Intel tiene un gran interés en impulsar a las empresas con mayores recursos hacia sus CPUs de nivel de servidor más caras y rentables en lugar de permitir que esas entidades utilicen de manera efectiva las partes de consumo de margen necesariamente más bajo.

Eliminando el soporte para ECC RAM de CPU que no están dirigidas directamente al mundo de los servidores es una de las formas en que Intel ha mantenido esos mercados fuertemente segmentados. El argumento de Torvalds aquí es que la negativa de Intel a admitir ECC RAM en sus partes dirigidas al consumidor, junto con su casi monopolio de facto en ese espacio, es la verdadera razón por la que ECC casi no está disponible fuera del espacio del servidor.

Publicidad

El argumento habitual sobre por qué ECC no está presente en la tecnología de consumo gira en torno al costo, pero sospechamos que Torvalds tiene el derecho de hacerlo aquí. A pesar de que la RAM ECC es esencialmente una pieza especializada difícil de encontrar, normalmente solo cuesta alrededor de un 20 por ciento más por DIMM que las que no son ECC en el comercio minorista. El problema real es que sin las placas base y las CPU que lo admitan, no funcionará. eres bueno.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *