stringtranslate.com

Limpieza de memoria

La depuración de memoria consiste en leer desde cada ubicación de la memoria de la computadora , corregir errores de bits (si los hay) con un código de corrección de errores ( ECC ) y escribir los datos corregidos nuevamente en la misma ubicación. [1]

Debido a la alta densidad de integración de los chips de memoria de las computadoras modernas , las estructuras de las células de memoria individuales se volvieron lo suficientemente pequeñas como para ser vulnerables a los rayos cósmicos y/o a la emisión de partículas alfa . Los errores provocados por estos fenómenos se denominan errores leves . Más del 8 % de los módulos DIMM experimentan al menos un error corregible por año. [2] Esto puede ser un problema para las memorias basadas en DRAM y SRAM . La probabilidad de que se produzca un error leve en cualquier bit de memoria individual es muy pequeña. Sin embargo, junto con la gran cantidad de memoria con la que están equipadas las computadoras modernas, especialmente los servidores , y junto con períodos prolongados de tiempo de actividad , la probabilidad de errores leves en la memoria total instalada es significativa. [ cita necesaria ]

La información en una memoria ECC se almacena de manera suficientemente redundante para corregir un error de un solo bit por palabra de memoria. Por lo tanto, una memoria ECC puede soportar la limpieza del contenido de la memoria. Es decir, si el controlador de memoria escanea sistemáticamente la memoria, se pueden detectar errores de un solo bit, se puede determinar el bit erróneo utilizando la suma de comprobación ECC y los datos corregidos se pueden volver a escribir en la memoria.

Descripción general

Es importante comprobar cada ubicación de memoria periódicamente, con suficiente frecuencia, antes de que sea muy probable que se produzcan errores de bits múltiples dentro de la misma palabra, porque los errores de un bit se pueden corregir, pero los errores de bits múltiples no se pueden corregir, en el caso de los errores habituales. (a partir de 2008) Módulos de memoria ECC.

Para no perturbar las solicitudes regulares de memoria de la CPU y así evitar una disminución del rendimiento , la limpieza generalmente solo se realiza durante los períodos de inactividad. Como la limpieza consiste en operaciones normales de lectura y escritura, puede aumentar el consumo de energía de la memoria en comparación con la operación sin limpieza. Por tanto, el lavado no se realiza de forma continua sino periódica. Para muchos servidores, el período de limpieza se puede configurar en el programa de configuración del BIOS .

Las lecturas de memoria normales emitidas por la CPU o los dispositivos DMA se verifican para detectar errores ECC, pero debido a razones de localidad de datos , pueden limitarse a un pequeño rango de direcciones y mantener intactas otras ubicaciones de memoria durante mucho tiempo. Estas ubicaciones pueden volverse vulnerables a más de un error leve, mientras que la limpieza garantiza la verificación de toda la memoria dentro de un tiempo garantizado.

En algunos sistemas, no sólo la memoria principal (basada en DRAM) es capaz de borrar, sino también las cachés de la CPU (basadas en SRAM). En la mayoría de los sistemas, las tasas de fregado para ambos se pueden configurar de forma independiente. Debido a que la caché es mucho más pequeña que la memoria principal, no es necesario realizar la limpieza de cachés con tanta frecuencia.

La depuración de memoria aumenta la confiabilidad, por lo que puede clasificarse como una característica RAS .

Variantes

Suele haber dos variantes, conocidas como fregado de patrulla y fregado por demanda . Si bien ambos básicamente realizan limpieza de memoria y corrección de errores asociada (si es posible), la principal diferencia es cómo se inician y ejecutan estas dos variantes. La depuración de patrulla se ejecuta de forma automatizada cuando el sistema está inactivo, mientras que la depuración por demanda realiza la corrección de errores cuando los datos realmente se solicitan desde la memoria principal. [3]

Ver también

Referencias

  1. ^ Ronald K. Burek. "Los registradores de datos de estado sólido NEAR". Resumen técnico de Johns Hopkins APL. 1998.
  2. ^ Errores de DRAM en la naturaleza: un estudio de campo a gran escala
  3. ^ "Manual de la placa base Supermicro X9SRA" (PDF) . Supermicro . 5 de marzo de 2014. págs. 4-10 . Consultado el 22 de febrero de 2015 .