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

3

Eu possuo um disco rígido externo Seagate Expansion Desktop 5TB, contendo um ST5000DM000 de acordo com hdparm . Embora as informações encontradas na Internet não sejam conclusivas, suspeito strongmente que essa unidade utilize gravações magnéticas shingled - os padrões de E / S Eu estou observando dificilmente pode ser explicado de outra forma. Obviamente, é da variedade gerenciada pela unidade e, portanto, é transparente para o usuário (e para o SO).

Ao ler 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 tem que continuar sempre escrevendo para uma zona nessa posição. Como alternativa, para reescrever completamente uma zona, o ponteiro de gravação pode ser redefinido para o início. Presumo que as unidades SMR gerenciadas por unidade funcionem no mesmo princípio, com o controlador de unidade gerenciando os acessos da zona. Qualquer gravação que não caia no ponteiro de gravação será colocada primeiro no cache persistente de acesso aleatório, preservando a velocidade na maioria dos casos.

No entanto, como o sistema operacional não sabe que se trata de uma unidade SMR (e, mesmo que fosse adivinhar corretamente, não saberia onde estão os limites da zona), não há como informar a unidade para redefinir a gravação. ponteiro para uma zona. Assim que uma zona é preenchida pela primeira vez, qualquer comando de gravação subseqüente (que não grava toda a zona de uma só vez) acionará um ciclo de leitura-modificação-gravação. Pelo menos, essa é a minha hipótese de por que não posso transferir um arquivo contíguo de 100 GB sem a retificação de velocidade para MB / s de um dígito depois do primeiro GB de 20 ou mais. (Provavelmente está escrevendo para uma região da unidade anteriormente ocupada por um arquivo grande que foi excluído desde então.)

Então, alguém sabe, ou alguém já imaginou se existe alguma maneira de dizer a uma unidade SMR gerenciada por unidade que uma determinada região não contém mais nenhum dado útil e que pode ser parcialmente sobrescrita sem passar pelo cache? primeiro? (Eu poderia imaginar um Security Erase para desencadear isso, mas isso dificilmente é algo que alguém faz rotineiramente.)

    
por Taral 02.03.2018 / 22:05

0 respostas

Tags