La depuración de datos es una técnica de corrección de errores que utiliza una tarea en segundo plano para inspeccionar periódicamente la memoria principal o el almacenamiento en busca de errores, luego corrige los errores detectados utilizando datos redundantes en forma de diferentes sumas de verificación o copias de datos. La depuración de datos reduce la probabilidad de que se acumulen errores individuales corregibles, lo que reduce los riesgos de errores incorregibles.
La integridad de los datos es una preocupación de alta prioridad al escribir, leer, almacenar, transmitir o procesar los datos de la computadora en los sistemas operativos de la computadora y en los sistemas de transmisión de datos y almacenamiento de la computadora . Sin embargo, solo algunos de los sistemas de archivos existentes y utilizados actualmente brindan protección suficiente contra la corrupción de datos . [1] [2] [3]
Para abordar este problema, la depuración de datos proporciona comprobaciones de rutina de todas las inconsistencias en los datos y, en general, la prevención de fallas de hardware o software. Esta característica de "depuración" ocurre comúnmente en la memoria, matrices de discos, sistemas de archivos o FPGA como un mecanismo de detección y corrección de errores. [4] [5] [6]
REDADA
Con la depuración de datos, un controlador RAID puede leer periódicamente todas las unidades de disco duro en una matriz RAID y comprobar si hay bloques defectuosos antes de que las aplicaciones puedan acceder a ellos. Esto reduce la probabilidad de corrupción de datos silenciosa y pérdida de datos debido a errores de nivel de bits. [7]
En los entornos Dell PowerEdge RAID, una función llamada "lectura de patrulla" puede realizar la depuración de datos y el mantenimiento preventivo . [8]
En OpenBSD , la bioctl(8)
utilidad permite al administrador del sistema controlar estas lecturas de patrulla a través de BIOCPATROL
ioctl en el /dev/bio
pseudodispositivo ; A partir de 2019, esta funcionalidad es compatible con algunos controladores de dispositivo para controladores LSI Logic y Dell; esto incluye mfi(4)
desde OpenBSD 5.8 (2015) y mfii(4)
desde OpenBSD 6.4 (2018). [9] [10]
En FreeBSD y DragonFly BSD , la patrulla se puede controlar a través de una utilidad específica del controlador RAIDmfiutil(8)
desde FreeBSD 8.0 (2009) y 7.3 (2010). [11] Los desarrolladores de OpenBSD utilizaron la implementación de FreeBSD para agregar soporte de patrulla a su marco genérico bio (4) y la utilidad bioctl , sin necesidad de una utilidad específica del controlador separada.
En NetBSD en 2008, el marco bio (4) de OpenBSD se extendió para ofrecer soporte para verificaciones de coherencia, que se implementó para /dev/bio
pseudodispositivo bajo el comando BIOCSETSTATE
ioctl , con las opciones iniciar y detener ( BIOC_SSCHECKSTART_VOL
y BIOC_SSCHECKSTOP_VOL
, respectivamente); esto es compatible solo con un solo controlador a partir de 2019 - arcmsr(4)
. [12]
Linux MD RAID , como una implementación de software RAID , hace que las comprobaciones de consistencia de datos estén disponibles y proporciona reparación automatizada de las inconsistencias de datos detectadas. Estos procedimientos generalmente se realizan configurando un trabajo cron semanal . El mantenimiento se realiza mediante la emisión de verificación de operaciones , reparación o inactividad a cada uno de los dispositivos MD examinados. Los estados de todas las operaciones realizadas, así como los estados RAID generales, siempre están disponibles. [13] [14] [15]
Sistemas de archivos
Btrfs
Como sistema de archivos de copia en escritura (CoW) para Linux , Btrfs proporciona aislamiento de fallas, detección y corrección de daños y depuración del sistema de archivos. Si el sistema de archivos detecta una discrepancia en la suma de comprobación mientras lee un bloque, primero intenta obtener (o crear) una buena copia de este bloque desde otro dispositivo, si se están utilizando sus técnicas de duplicación interna o RAID. [dieciséis]
Btrfs puede iniciar una verificación en línea de todo el sistema de archivos activando un trabajo de limpieza del sistema de archivos que se realiza en segundo plano. El trabajo de limpieza escanea todo el sistema de archivos en busca de integridad e intenta automáticamente informar y reparar cualquier bloque defectuoso que encuentre en el camino. [17] [18]
ZFS
Las características de ZFS, que es un sistema de archivos combinado y un administrador de volumen lógico , incluyen la verificación contra modos de corrupción de datos , verificación continua de integridad y reparación automática. Sun Microsystems diseñó ZFS desde cero con un enfoque en la integridad de los datos y para proteger los datos en los discos contra problemas como errores de firmware de disco y escrituras fantasmas . [19]
ZFS proporciona una utilidad de reparación llamada scrub
que examina y repara la corrupción de datos silenciosa causada por la descomposición de los datos y otros problemas.
Memoria
Debido a la alta densidad de integración de los chips de memoria de las computadoras contemporáneas , 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 la emisión de partículas alfa . Los errores causados por estos fenómenos se denominan errores leves . Esto puede ser un problema para las memorias basadas en DRAM y SRAM .
La limpieza de memoria detecta y corrige errores de bits en la RAM de la computadora mediante el uso de memoria ECC , otras copias de los datos u otros códigos de detección de errores.
FPGA
El fregado es una técnica que se utiliza para reprogramar un FPGA . Se puede utilizar periódicamente para evitar la acumulación de errores sin necesidad de encontrar uno en el bitstream de configuración, simplificando así el diseño.
Se pueden tomar numerosos enfoques con respecto al lavado, desde simplemente reprogramar el FPGA hasta una reconfiguración parcial. El método más simple de depuración es reprogramar completamente el FPGA a una tasa periódica (típicamente 1/10 de la tasa de alteración calculada). Sin embargo, la FPGA no está operativa durante ese tiempo de reprogramación, del orden de micro a milisegundos. Para situaciones que no pueden tolerar ese tipo de interrupción, está disponible una reconfiguración parcial. Esta técnica permite reprogramar la FPGA mientras aún está operativa. [20]
Ver también
- Corrupción de datos
- Detección y corrección de errores
- fsck : una herramienta para verificar la consistencia de un sistema de archivos
- CHKDSK : similar a fsck, utilizado en los sistemas operativos Windows
Referencias
- ^ "Comprobación de la integridad del sistema de archivos ZFS" . Guía de administración de Oracle Solaris ZFS . Oracle . Consultado el 25 de noviembre de 2012 .
- ^ Vijayan Prabhakaran (2006). "SISTEMAS DE ARCHIVOS DE HIERRO" (PDF) . Doctor en Filosofía en Ciencias de la Computación . Universidad de Wisconsin-Madison . Consultado el 9 de junio de 2012 .
- ^ "Paridad perdida y paridad recuperada" . 2008.
- ^ "Un análisis de la corrupción de datos en la pila de almacenamiento" (PDF) .
- ^ "Impacto de la corrupción del disco en DBMS de código abierto" (PDF) .
- ^ "Baarf.com" . Baarf.com . Consultado el 4 de noviembre de 2011 .
- ^ Ulf Troppens, Wolfgang Mueller-Friedt, Rainer Erkens, Rainer Wolafka, Nils Haustein. Explicación de las redes de almacenamiento: conceptos básicos y aplicación de SAN Fibre Channel, NAS, ISCSI, InfiniBand y FCoE. John Wiley and Sons, 2009. p.39
- ^ "Acerca de los controladores PERC 6 y CERC 6i" . Archivado desde el original el 29 de mayo de 2013 . Consultado el 20 de junio de 2013 .
La función Patrol Read está diseñada como una medida preventiva para garantizar la salud del disco físico y la integridad de los datos. Patrol Read busca y resuelve problemas potenciales en discos físicos configurados.
- ^ "/sys/dev/ic/mfi.c - Controlador RAID SAS LSI Logic y Dell MegaRAID" . Referencia cruzada BSD . OpenBSD .
- ^ "/sys/dev/pci/mfii.c - Controlador RAID LSI Logic MegaRAID SAS Fusion" . Referencia cruzada BSD . OpenBSD .
- ^ "mfiutil - Utilidad para la gestión de controladores LSI MegaRAID SAS" . Referencia cruzada BSD . FreeBSD . Lay resumen .
- ^ "sys / dev / pci / arcmsr.c - Controlador RAID SATA / SAS de Areca Technology Corporation" . Referencia cruzada BSD . NetBSD . Lay resumen .
- ^ "Administración RAID" . kernel.org . Consultado el 20 de septiembre de 2013 .
- ^ "Software RAID y LVM: depuración de datos" . archlinux.org . Consultado el 20 de septiembre de 2013 .
- ^ "Documentación del kernel de Linux: Documentation / md.txt" . kernel.org . Archivado desde el original el 21 de septiembre de 2013 . Consultado el 20 de septiembre de 2013 .
- ^ "Wiki btrfs: características" . El proyecto btrfs . Consultado el 20 de septiembre de 2013 .
- ^ Bierman, Margaret; Grimmer, Lenz (agosto de 2012). "Cómo utilizo las capacidades avanzadas de Btrfs" . Consultado el 20 de septiembre de 2013 .
- ^ Coekaerts, Wim (28 de septiembre de 2011). "btrfs scrub - ¡arregle las corrupciones con copias espejo, por favor!" . Consultado el 20 de septiembre de 2013 .
- ^ Bonwick, Jeff (8 de diciembre de 2005). "Integridad de datos de extremo a extremo de ZFS" . Consultado el 19 de septiembre de 2013 .
- ^ "Revista Xcell, número 50" (PDF) . FPGA en Marte . Xilinx. 2004. p. 9 . Consultado el 16 de octubre de 2013 .
enlaces externos
- Errores de software en la memoria electrónica