Os ponteiros de gravação nas unidades SMR gerenciadas por unidade serão redefinidos?

Os ponteiros de gravação nas unidades SMR gerenciadas por unidade serão redefinidos?

Eu possuo um disco rígido externo Seagate Expansion Desktop de 5 TB, contendo um ST5000DM000 de acordo com hdparm. Embora as informações encontradas na Internet sejam inconclusivas, suspeito fortemente que esta unidade utilizagravação magnética em telhas- os padrões de E/S que estou observando dificilmente podem ser explicados de outra forma. Obviamente, é do tipo gerenciado por unidade e, portanto, transparente para o usuário (e para o sistema operacional).

Lendo sobre a tecnologia, descobri que para os próximos tipos gerenciados por host (e, em parte, com reconhecimento de host), cada zona da unidade terá um ponteiro de gravação associado, e o driver de dispositivo e o sistema de arquivos terão que sempre continue escrevendo em uma zona nessa posição. Alternativamente, para reescrever completamente uma zona, o ponteiro de escrita pode ser reiniciado. Presumo que as unidades SMR gerenciadas por unidade funcionem com o mesmo princípio, com o controlador da unidade gerenciando os acessos à zona. Qualquer gravação que não cair no ponteiro de gravação será colocada primeiro no cache persistente de acesso aleatório, preservando assim a velocidade na maioria dos casos.

No entanto, como o sistema operacional não sabe que esta é uma unidade SMR (e mesmo se adivinhasse corretamente, não saberia onde estão os limites da zona), não há como dizer à unidade para redefinir o ponteiro de gravação para um zona. Assim que uma zona for preenchida pela primeira vez, qualquer comando de gravação subsequente (que não escreva a zona inteira de uma vez) acionará um ciclo de leitura-modificação-gravação. Pelo menos, essa é a minha hipótese de por que não consigo transferir um arquivo contíguo de 100 GB sem que a velocidade atinja MB/s de um dígito após os primeiros 20 ou mais GB. (Provavelmente está gravando em uma região da unidade anteriormente ocupada por um arquivo grande que já foi excluído.)

Então, alguém sabe ou já se perguntou se existe alguma maneira de informar a uma unidade SMR gerenciada por unidade que uma região específica não contém mais dados úteis e pode ser parcialmente substituída com segurança sem passar primeiro pelo cache? (Eu poderia imaginar um apagamento de segurança para acionar isso, mas dificilmente é algo que se faz rotineiramente.)

informação relacionada