Funciona assim:
A maioria dos sistemas operacionais possui uma chamada de sistema que permite a chamada "gravação síncrona". Isso significa que, durante uma operação de gravação, se uma gravação foi concluída, é garantido que ela foi confirmada no disco.
A gravação síncrona é, portanto, não armazenada em cache. Ele bloqueia o aplicativo até que seja concluído. Esse tipo de operação é obviamente mais lento do que a gravação em cache, que mantém os dados na memória do SO até que o disco fique ocioso o suficiente e, em seguida, grava os dados.
Alguns softwares críticos, como o software de banco de dados, executam gravações síncronas para dados críticos porque uma atualização pela metade em caso de perda de energia pode ser prejudicial à integridade do banco de dados.
Os controladores RAID são notoriamente lentos com gravações RAID-5, portanto, isso se torna um problema se o software aplicativo usar muitas gravações síncronas. Por esse motivo, os controladores RAID-5 são equipados com seus próprios caches.
O que o controlador RAID faz é gravar os dados em seu cache e LIES no SO, informando que os dados foram enviados para o disco, enquanto os dados ainda estão no cache do RAID.
Mas e se a energia foi perdida enquanto os dados ainda estavam no buffer do controlador RAID? Você teria dados parcialmente escritos e provavelmente inconsistentes em seus discos.
Você pode dizer que esse comportamento anula o propósito de uma gravação síncrona ... se fosse correto ter uma gravação em cache, o software do aplicativo não solicitaria uma gravação de sincronização em primeiro lugar.
O compromisso é este: o controlador RAID ainda está no sistema operacional para o qual os dados foram enviados ao disco, mas para proteger esses dados críticos em caso de falha de energia, o controlador RAID possui uma bateria que mantém o cache ativo por algum tempo até a energia pode ser restaurada.
Assim, depois que a energia voltar e os discos girarem e inicializarem, o controlador ainda terá esses dados em seu cache graças à bateria e poderá terminar de gravar sua transação no disco.
Todos estão felizes.
É por isso que os controladores RAID geralmente não permitem a ativação do cache de gravação, a menos que você tenha uma unidade de bateria funcional e carregada.