SSD Nivelamento de Desgaste e Fragmentação

3

Estou tentando entender os efeitos do nivelamento de desgaste na fragmentação no SSD. Para ser mais específico, quando o controlador SSD decide alocar um bloco não contíguo a um arquivo por causa do nivelamento de desgaste, o arquivo será fragmentado.

Agora, essa fragmentação será refletida na parte do PBA do endereçamento ou no LBA? Por exemplo, o Arquivo A ocupa LBA (Logical Block Addresses, endereços de bloco lógico) 10,11,12 (correspondendo ao PBA 300, 301, 302). O arquivo é atualizado e precisa de um bloqueio adicional. Agora, por causa do nivelamento de desgaste, digamos que o próximo bloco contíguo disponível (PBA 303) tem uma contagem alta de Programa / Apagar, e o controlador seleciona o bloco BPA 500 que é mapeado para o LBA 600. o controlador agora atualizará o LBA 13 para apontar para o BPA 500? (e, portanto, nenhuma fragmentação do ponto de vista do sistema operacional)? ou o arquivo terá 10, 11, 12 e 600 do LBA, resultando, portanto, na fragmentação do LBA? (e o sistema operacional do host visualizando o arquivo como fragmentado)

Se o arquivo estiver fragmentado em termos de PBA, mas o mapeamento for feito de forma que o LBA seja sempre contíguo, então, para o sistema operacional host, o arquivo sempre será contíguo.

No entanto, continuo lendo, por exemplo, no caso de recuperação de arquivos, que um dos problemas na recuperação de arquivos de SSDs é que eles são muito fragmentados. Se for esse o caso, então isso deve significar que a fragmentação é refletida no próprio LBA.

Eu realmente aprecio se alguém puder esclarecer como a fragmentação realmente ocorre em vista do BPA e do LBA. Obrigado.

    
por OSM10 15.05.2014 / 23:25

1 resposta

2

AFAIK, o nivelamento de desgaste é completamente transparente para o sistema operacional. O sistema operacional solicitará os blocos 10, 11, 12 e 13, e o SSD fornecerá o LBA 10, 11, 12 e 13. (Veja o comentário do ultrasawblade abaixo)

Os SSDs são geralmente muito fragmentados porque há pouco ou nenhum benefício de desfragmentá-los. Solicitar PBA 10, 11, 12 e 13 pode na verdade ser mais lento do que solicitar o PBA 10, 11, 12 e 600, pois o PBA 600 pode ser buscado em paralelo ao PBA 10, 11 e 12 se o PBA os últimos 3 estão todos no mesmo chip e devem ser buscados em sequência. O nivelamento de desgaste pode realmente intencionalmente mapear esses blocos para chips diferentes e criar fragmentação.

LBAs se fragmentam naturalmente com criação / exclusão de arquivos.

O resultado final é que os LBAs são fragmentados e, em seguida, o LBA - > O mapeamento de PBA também está fragmentando os PBAs para garantir que o disco seja usado uniformemente. Como os LBAs são fragmentados, a recuperação de arquivos é difícil.

Assim, tanto o LBA quanto o PBA são ambos independentemente fragmentados, mas por diferentes razões. Se o SO mantivesse o sistema de arquivos completamente desfragmentado, ele seria realmente desfragmentado (no que diz respeito aos LBAs e independentemente do nivelamento de desgaste e da fragmentação do PBA) e da recuperação de arquivos. A maioria dos sistemas operacionais não mantém o sistema de arquivos desfragmentado se souberem que ele está em um SSD, pois isso resulta em desgaste adicional na unidade, com pouco ou nenhum benefício de desempenho.

    
por 15.05.2014 / 23:56