Funciona así:
La mayoría de los sistemas operativos tienen una llamada al sistema que permite una llamada "escritura sincrónica". Esto significa que durante una operación de escritura, si una escritura se ha completado, se garantiza que se confirmó en el disco.
Por lo tanto, la escritura síncrona no se almacena en caché. Bloquea la aplicación hasta que se haya completado. Este tipo de operación es obviamente más lenta que la escritura en caché que mantiene los datos en la memoria del sistema operativo hasta que el disco esté lo suficientemente inactivo y luego escribe los datos.
Algunos software críticos, como el software de base de datos, realizan escrituras sincrónicas para datos críticos porque una actualización a medio escribir en caso de una pérdida de energía puede ser perjudicial para la integridad de la base de datos.
Los controladores RAID son notoriamente lentos con las escrituras RAID-5, por lo que esto se convierte en un problema si el software de su aplicación utiliza muchas escrituras síncronas. Por esta razón, los controladores RAID-5 están equipados con sus propios cachés.
Lo que hace el controlador RAID es que escribe los datos en su caché y MIENTE al SO, diciéndole que confirmó los datos en el disco, mientras que los datos todavía están en caché RAID.
Pero, ¿qué pasa si se pierde la energía mientras los datos todavía estaban en el búfer del controlador RAID? Tendría datos medio escritos y probablemente inconsistentes en sus discos.
Puede decir que este comportamiento anula el propósito de una escritura síncrona ... si estaba bien tener una escritura en caché, entonces el software de la aplicación no solicitaría una escritura de sincronización en primer lugar.
El compromiso es el siguiente: el controlador RAID todavía le miente al sistema operativo que confirmó los datos en el disco, pero para proteger estos datos críticos en caso de una falla de energía, el controlador RAID tiene una batería que mantiene el caché con vida durante un tiempo hasta que se pueda volver a encender. restaurado
Entonces, después de que vuelve la energía y los discos giran e inicializan, el controlador todavía tiene esos datos en su caché gracias a la batería y puede terminar de escribir su transacción en el disco.
Todos son felices.
Esta es la razón por la cual los controladores RAID generalmente no le permitirán habilitar la caché de escritura a menos que tenga una unidad de batería funcional y cargada.