Estou planejando escrever um aplicativo que tenta gravar o máximo possível no arquivo para nunca perder uma quantidade significativa de dados. Ele gravará cada toque de tecla, incluindo micro ou até nano-segundos, no disco. Agora, isso parece muito, mas ainda levará um pouco de tempo para atingir um GB de dados gravados. Para aliviar as coisas, pretendo gravar esses dados como atualizações no final do arquivo usando um fluxo de saída, mas liberarei o fluxo imediatamente depois.
Agora, com os SSDs, toda vez que escrevo dados, ele geralmente grava em um local diferente toda vez que uma atualização é realizada. Presumo que o OS/FS apenas envie "setores" para a unidade e que não seja capaz de distinguir que são apenas atualizações no final de um arquivo. Então, isso significaria que, embora as atualizações sejam pequenas, isso definitivamente afetará o nivelamento de desgaste do SSD.
A descrição acima está correta e devo considerar uma quantidade razoável de buffer no aplicativo? Quanto os sistemas de arquivos modernos armazenam em cache antes de gravar no SSD? Ou o buffer dentro do próprio SSD virá em socorro? Alguém já fez uma análise desse uso?