Encontrei um artigo muito interessante que fornece uma explicação detalhada sobre como funcionam os SSDs:
Mas diz que o cache DRAM é realmente usado como cache de gravação. É por isso que inicialmente o evitei e procurei apenas SSDs sem DRAM: é muito possível que o controlador não tenha tempo suficiente para liberar 1-2 GB de arquivos pequenos enquanto ainda estiver carregado. Então, IMHO, definitivamente NÃO deveria responder ao sistema operacional que os dados estão "nas bandejas" (ou "nos chips" no nosso caso).
Mas então aprendi que não é para isso que o cache DRAM é usado; Encontrei vários casos dizendo que ele é usado apenas para ler e armazenar em cache as tabelas de alocação FTL para que um local adequado possa ser encontrado mais rapidamente.
Eu me pergunto qual está correto?
Tenho certeza de que o cache pseudo-SLC é usado para cache de gravação, já que muitas análises de SSD precisam levar em conta isso; a velocidade de gravação geralmente diminui após os primeiros (geralmente) 2 GB gravados (de uma só vez). Isso já parece melhor... contanto que seja captado corretamente após uma perda de energia. Mas e se não for? Posso muito bem imaginar como a área de cache poderia ser tratada como "vazia" após a reinicialização do controlador.
Então, existem SSDs para cache DRAM para a tabela de alocação FTL e cache de gravação pseudo-SLC? Ou o cache DRAM é realmente usado como cache de gravação?