Ir ao conteúdo

Desligar o "Habilitar gravação de cache no dispositivo"


Ir à solução Resolvido por Marcos FRM,

Posts recomendados

Postado

Não é um problema e sim uma dúvida sobre como funciona esse recurso.

Muito antigamente havia uma dica sobre isso, que desligando a gravação em cache do HD, em ambientes onde não se tem um no-break, melhoraria a resiliência dos dados no HD em quedas de energia. (como a própria descrição do item explica)
O padrão é habilitado, então havia essa dica para desligar isso caso não tenha um no-break. O lado ruim é que deve perder desempenho do disco. Nunca fiz testes de desempenho pra ver se afetava, só fiz isso em alguns clientes que não tinham no-break e nunca reclamaram de lentidão alguma. Também fiquei com a impressão de que isso ajudou a quebrar menos o Windows quando há falta de energia (Isso no tempo do XP, Vista e 7). Mas é apenas uma "impressão" de que funcionava, podia ser apenas um viés de confirmação atuando na minha cabeça.

Eu sei das boas práticas em se usar no-break, backup e etc. É uma dúvida/curiosidade que gostaria de saber.
As dúvidas são: Isso realmente funciona? Aumentam as chances em evitar corrupção de dados em quedas de energia? Será que a perda de desempenho é significativa? Em caso de SSD, tem alguma implicação?

Muito Obrigado.

image.png.7b692f4785638ef781ab8455856b2f05.png

Postado

Deve afetar sim a performance, mas apenas de escrita. Isso significa que o impacto vai depender do perfil de uso...

 

Não vai fazer um jogo carregar mais rápido por exemplo, pois é leitura.

  • Curtir 1
  • Membro VIP
Postado
4 minutos atrás, W46n3r disse:

Não vai fazer um jogo carregar mais rápido por exemplo, pois é leitura.

Bom dia a todos no tópico.

Na verdade, a lógica desta frase está invertida: justamente por se tratar de leitura, é que favorece o carregamento mais rápido dos arquivos. Porém, no seu desfecho, está correta: deve beneficiar muito pouco os jogos.

 

A gravação em cache permite que o HD armazene a localização dos arquivos lidos recentemente ou com maior frequência, para localizar mais rápido quando eles se tornarem necessários novamente. Habilitar faz com que a abertura repetitiva de arquivos aconteça mais rápido, e desabilitar simplesmente passa essa função para a Indexação do Windows, apenas. Pode deixar o sistema um pouco menos responsivo, quando em HD, mas a diferença não deve ser perceptível em SSD.

  • Curtir 1
Postado

Bem, o cachê de escrita só afeta escritas. Ao invés da controladora gravar imediatamente o dado no disco, ele passa pelo cachê antes onde várias chamadas de escritas são acumuladas (daí o ganho de performance em escrita).

 

É por isso que pode haver perda de dados. Porque dados não escritos se perdem no caso de falha de energia. Para leitura tanto faz, já que os dados já estavam no disco.

 

Existe ainda o cachê de leitura, que é outra coisa completamente diferente, e acredito que nem dá pra desligar

  • Membro VIP
  • Solução
Postado

"Habilitar gravação em cache no dispositivo" não causa risco de perda de dados, desde que "Desativar liberação do buffer do cache de gravação do Windows no dispositivo" não esteja marcada. Essa configuração padrão faz com que o cache seja usado para melhor desempenho. No entanto, o sistema de arquivos precisa que certas operações de escrita sejam ordenadas para conseguir recuperar sua consistência em caso de desligamento abrupto. Imagine a "contabilidade interna" de seus metadados, especialmente o journal.

 

O firmware do disco pode reordenar à vontade as escritas com o cache ativo para otimizar o desempenho, o que seria mortal para o sistema de arquivos. Para isso, existe um comando no protocolo ATA (FLUSH_CACHE_EXT) para drenar o cache, que diz para o disco: ok, grave tudo que tem no cache de escrita e me avise quando estiver seguro na mídia, que daí eu continuo a enviar coisas para serem gravadas depois. Tal comando é usado para proteger as estruturas do próprio sistema de arquivos e para garantir que os dados dos arquivos em si estão a salvo quando a API adequada é chamada no espaço de usuário, como FlushFileBuffers() no Windows -- e tem muita heurística para fazer isso automaticamente também, cobrindo os programas mal escritos. Observação: não sei ao certo como o protocolo NVMe funciona, mas com certeza tem algo equivalente, talvez com maior granularidade como o Force Unit Access (FUA) do protocolo SCSI/SAS.

 

O que traz risco de perda de dados é marcar as duas opções, como a descrição da segunda diz claramente, pois daí, sem drenar o cache quando necessário, não há garantia que o journal e demais estruturas do sistema de arquivos representarão precisamente o que aconteceu antes do desligamento abrupto e, portanto, a recuperação perde robustez e potencialmente pode causar corrompimentos generalizados.

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!