Ir ao conteúdo
  • Cadastre-se

Como evitar fragmentacao no SSD?


Yan_

Posts recomendados

A fragmentação apesar de acontecer nos SSDs não afeta no desempenho da mesma forma que afetaria um HD comum justamente porque SSDs não fazem a leitura e escrita mecânicamente como seria o caso de um HD.

 

https://www.windowscentral.com/how-ensure-trim-enabled-windows-10-speed-ssd-performance

Por fim, o Windows também realiza uma otimização de tempos em tempos no SSD com o uso do comando TRIM, você até pode fazer manualmente na ferramenta de defragmentação do próprio Windows.

Link para o comentário
Compartilhar em outros sites

@Amanda Gonçalo tava vendo a serie la do baboo e ele recomendou o defraggler, fora ele ter citado um acontecimento com os SSDs do servidor dele e com a desfragmentacao voltaram a ser rapidos, consegui desfragmentar 100% o meu SSD secudanrio, porém o C : ficou varios arquivos fragmentados, porém apenas uns 600MB

Link para o comentário
Compartilhar em outros sites

8 horas atrás, Yan_ disse:

sabe algo sobre quando aparece "desfragmentacao abortada, nao foi possivel desfragmentar" no defraggler?

Em alguns casos tem algum arquivo de sistema gravado mais para o final do disco e com o windows ativo o desfragmentador não consegue mover este arquivo

O ideal é desfragmentar antes do windows entrar, ou seja, no boot

O Defragler tem essa opção

Configurações 
Desfragmentação na Inicialização, Executar uma vez
Na pequena janela clique em Não
Na próxima reinicialização o Defraggler executará antes de entrar o Windows

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Não tem como evitar a fragmentação. É exatamente por isso que existem os programas desfragmentadores.

 

A fragmentação em sistemas como as distros Linux existe, mas é muito menor pois o funcionamento do sistema de arquivos (ext4 e outros) é diferente do NTFS do Windows.

https://www.howtogeek.com/115229/htg-explains-why-linux-doesnt-need-defragmenting/

 

A fragmentação existe exatamente para aumentar o desempenho do sistema, porém, em SSDs, a diferença na velocidade de abertura de um arquivo fragmentado e não-fragmentado é imperceptível, pois o funcionamento dessas unidades é totalmente diferente de HDs tradicionais (fora a diferença na velocidade de leitura e escrita), tornando a desfragmentação até certo ponto, dispensável.

 

9 horas atrás, Yan_ disse:

@Amanda Gonçalo tava vendo a serie la do baboo e ele recomendou o defraggler, fora ele ter citado um acontecimento com os SSDs do servidor dele e com a desfragmentacao voltaram a ser rapidos, consegui desfragmentar 100% o meu SSD secudanrio, porém o C : ficou varios arquivos fragmentados, porém apenas uns 600MB

O caso do Baboo foi num cenário totalmente diferente: Um servidor WEB com centenas e centenas de GB, que estavam absurdamente fragmentados, ao ponto de fazer com que a controladora gargalasse o sistema. Isso é extremamente difícil de acontecer com o usuário doméstico visto que dificilmente se encontra um HD/SSD com mais de 70% da capacidade total em utilização.

 

Na prática, os principais responsáveis pela alta taxa de fragmentação em unidades de armazenamento são os arquivos temporários, especialmente os dos navegadores.

 

PS: Mesmo configurando o defraggler para ser executado antes da inicialização, a desfragmentação não será tão eficiente quanto se você estivesse utilizando um desfragmentador através de uma mídia bootavel, como o Hirensboot 👍

  • Curtir 1
  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

@zex Informação totalmente incorreta. Se os fabricantes programassem o SSD para fazer isso, tenha certeza absoluta que isso se enquadraria como obsolescência programada, visto que ao mover um dado de um bloco do SSD, ele precisa ser escrito em outro, ou seja, desgastando a célula, não faria o menor sentido "nivelar" o desgaste de células fazendo com que outras células fossem desgastadas (tanto é que é por isso que a desfragmentação em SSDs não é recomendada)...

 

Esta tecnologia que você deve estar se referindo é o TRIM, que é uma funcionalidade para aumentar o desempenho dos SSDs.

 

Quando um arquivo é apagado no HD, ele não é apagado de fato, mas sim, o espaço original onde o arquivo estava presente fica marcado como "livre", sendo que ele só será apagado de fato quando um novo arquivo for escrito por cima (sendo que é por isso que conseguimos utilizar programas como o Recuva para recuperar dados, pois eles não foram de fato apagados, e muitos utilizam a técnica conhecida como formatação de baixo nível (zero fill) para escrever zeros em todos os setores do disco rígido, para apagar completamente todos os dados).

 

Isso não ocorre em SSDs graças ao TRIM, pois quando um arquivo é apagado, os blocos onde esse arquivo estavam são automaticamente apagados (tanto é que após apagar um arquivo e reiniciar o computador, você não conseguirá restaura-lo mais, sendo que programas como o Recuva não encontrarão nada para ser restaurado), fazendo com que a escrita de dados seja sempre rápida (pois escrever um arquivo por cima de outro é uma tarefa demorada em relação a escrever o mesmo arquivo em um bloco vazio).

 

O "nivelamento" que de fato ocorre é quando a controladora verifica quais blocos já foram gastos, e procura então salvar os arquivos em blocos que ainda não foram gastos ou que foram utilizados com uma menor frequência. É como se você distribuísse um litro de café entre 6 xícaras, colocando um pouco em cada uma de forma a fazer com que todas tenham a mesma quantidade de café.

  • Curtir 1
  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

27 minutos atrás, GabrielLV disse:

@zex Informação totalmente incorreta. Se os fabricantes programassem o SSD para fazer isso, tenha certeza absoluta que isso se enquadraria como obsolescência programada, visto que ao mover um dado de um bloco do SSD, ele precisa ser escrito em outro, ou seja, desgastando a célula, não faria o menor sentido "nivelar" o desgaste de células fazendo com que outras células fossem desgastadas (tanto é que é por isso que a desfragmentação em SSDs não é recomendada)...

 

Esta tecnologia que você deve estar se referindo é o TRIM, que é uma funcionalidade para aumentar o desempenho dos SSDs.

 

Quando um arquivo é apagado no HD, ele não é apagado de fato, mas sim, o espaço original onde o arquivo estava presente fica marcado como "livre", sendo que ele só será apagado de fato quando um novo arquivo for escrito por cima (sendo que é por isso que conseguimos utilizar programas como o Recuva para recuperar dados, pois eles não foram de fato apagados, e muitos utilizam a técnica conhecida como formatação de baixo nível (zero fill) para escrever zeros em todos os setores do disco rígido, para apagar completamente todos os dados).

 

Isso não ocorre em SSDs graças ao TRIM, pois quando um arquivo é apagado, os blocos onde esse arquivo estavam são automaticamente apagados (tanto é que após apagar um arquivo e reiniciar o computador, você não conseguirá restaura-lo mais, sendo que programas como o Recuva não encontrarão nada para ser restaurado), fazendo com que a escrita de dados seja sempre rápida (pois escrever um arquivo por cima de outro é uma tarefa demorada em relação a escrever o mesmo arquivo em um bloco vazio).

 

O "nivelamento" que de fato ocorre é quando a controladora verifica quais blocos já foram gastos, e procura então salvar os arquivos em blocos que ainda não foram gastos ou que foram utilizados com uma menor frequência. É como se você distribuísse um litro de café entre 6 xícaras, colocando um pouco em cada uma de forma a fazer com que todas tenham a mesma quantidade de café.

E como fica a situação dos blocos que estão gravados com dados  e que não podem ser apagados pelo trim porque não são lixo,  a controladora vai deixar eles lá parados só olhando os outros blocos de desgastarem mais rápidos?   

 

Exemplo: Você tem um SSD com 50% da capacidade ocupada com dados permanentes gravados nesses blocos , se a controladora não fizer nenhum tipo de rodízio ou nivelamento, os outros 50% dos blocos vão se desgastar muito mais rápido do que os blocos que estão com os arquivos permanentes ..

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Não sei se entendi direito sua pergunta, mas o desgaste das células se dá por ciclos de escrita e apagamento e não pela existência de dados ali. A célula se desgasta somente se os dados nela foram escritos e apagados (ou seja, se a controladora "fragmentasse" os arquivos de propósito, ela estaria o tempo todo desgastando as células).

 

 

Link para o comentário
Compartilhar em outros sites

1 hora atrás, GabrielLV disse:

Não sei se entendi direito sua pergunta, mas o desgaste das células se dá por ciclos de escrita e apagamento e não pela existência de dados ali. A célula se desgasta somente se os dados nela foram escritos e apagados (ou seja, se a controladora "fragmentasse" os arquivos de propósito, ela estaria o tempo todo desgastando as células).

 

 

 

O que eu quis dizer é que a controladora uma hora outra ela vai ter que movimentar esses dados que estão parados a muito tempo em um determinado bloco a fim de fazer esse balanceamento com outros blocos mais desgastado. Aqueles dados permanentes que eu usei no exemplo seriam os dados dos usuários ou os dados do sistema que são armazenados no ssd e uma vez armazenados, muitos deles acabam sendo acessados como leitura somente e só seriam reescritos sabe-se lá quando. As vezes esses arquivos pode ficar por meses na memória antes do usuário  ou do sistema deletar/modificar eles ou passar eles para algum outro lugar...

 

Por por exemplo .

Isso é bem comum em jogos em que boa parte dos arquivos deles são acessados somente como leitura e só serão reescritos a hora que esses arquivos receberem algum tipo de update..  Vários dos arquivos do próprio Windows também funcionam dessa forma, e enquanto eles não receberem nenhum update, eles não vão ser reescritos .

 

Esse dados não pode ficar muito tempo parados em um bloco  porque isso vai fazer com que o restante dos blocos teoricamente livres da memória do ssd  se desgastem mais rápido que os que estão realmente ocupados conforme disse no exemplo .

 

Já em um HD comum com disco magnético, esse tipo de problema não acontece, porque lá os dados podem ficar parados em um determinado setor  por um tempo indeterminado, que por mais que o HD use os setores restantes, esse praticamente  quase que não sofrem com desgastes..

 

Isso foi o que eu entendi desse trecho( a partir dos 2:12 min) do video que o Gabriel Torres fez a algum tempo trás .. Continuação do artigo que você passou no post acima .

 

 

Link para o comentário
Compartilhar em outros sites

Não sei o porque, mas o fórum não deixou eu fazer um ultimo edit no post, mas de qualquer forma..

 

Eu achei agora pouco, o nome da função que é usada para fazer o balanceamento dos blocos ocupados com os dados permanentes como no do exemplo que citei, ele se chama Nivelamento de desgaste estático(Static wear leveling).

https://www.ontrack.com/en-us/blog/wear-leveling

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

31 minutos atrás, Yan_ disse:

@rpioveza o problema e que estava 40% fragmentado e ele estava ficando lerdo, a otimizacao baixou 4% e olha la

 

Em teoria não era para essa fragmentação trazer grandes consequências, como falou a @Amanda Gonçalo
e muito provavelmente não tem nada a ver com o sistema de arquivos nem tem grande relação com o SO (a não ser pela falta de recursos como o TRIM), pelo jeito que os SSDs funcionam ela deve estar ocorrendo num nível mais abaixo.

 

Pelo que sei pode ser impacto de falta de espaço livre para o wear-leveling trabalhar (isto é, de falta de blocos/páginas/sei lá o quê menos gastos nos quais distribuir os dados escritos no armazenamento). SSDs têm que ser mantidos sempre com um tanto de espaço livre, apesar que muitos já reservam de antemão uma "gordurinha" de espaço não-alocado para terem como trabalhar essa questão (mesmo assim é importante não deixar encher demais).

 

Esses SSDs têm quantos % de espaço livre? Esse que você desfragmentou 100% foi uma desfragmentação só ou foram várias? O que desfragmentou pouco tinha comparativamente pouco espaço livre? Certeza absoluta que a lentidão é por conta da fragmentação?

 

Também não sei a fundo o funcionamento então não vou cravar uma teoria.

Link para o comentário
Compartilhar em outros sites

Todo SSD sempre vem com um espaço livre para que a controladora possa fazer esse serviço do nivelamento . O espaço mínimo é a diferença da capacidade real do chip de memória e a capacidade que ela ganha depois de formatado , ou seja é a conversão entre GiB e o GB  que propriamente dito e é de +- 7% da capacidade total desse chip memória, esse é espaço mínimo reservado.  Esse espaço reservado se chama OP ou Over Provisioning. Além desse espaço citado que todo SSD possui, o fabricante ainda pode definir um segundo valor  fixo, e esse valor aumenta ainda mais esse espaço do OP  . O usuário não tem acesso de forma alguma  a esse espaço fixo reservado, nem mesmo o S.O tem acesso a ele. Geralmente esse espaço extra também gira em torno dos 7%, além dos primeiros 7% ..Se o fabricante quiser, ele pode definir um OP maior..

 

Uma tabelinha  com um exemplo da divisão do OP dentro do SSD .

 

spacer.png

 

 

Esses dados eu peguei lá do link que está no final do post

 

 

Depois ainda tem o OP dinâmico que trabalha em toda a faixa vazia do SSD e que complementa os espaços anteriores

Graças a esse OP, um usuário nunca vai conseguir lotar a memória total do SSD. Se o usuário conseguisse lotar totalmente a memória do SSD, a controladora não iria conseguir fazer o nivelamento de desgaste e nem  iria conseguir fazer o Trim.

 

Claro , que  se o usuário lotar todo os espaço útil do SSD, ele vai ficar mais lento, mas isso não quer dizer que ele vai se degradar mais rápido ou coisa do tipo. Ele vai ficar mais lento porque  a controladora vai ter que fazer o nivelamento estático mais vezes do que o nivelamento dinâmico .. O nivelamento  estático é mais lento porque a controladora tem que mover alguns dados que não são lixo de um bloco para outro mais desgastado, deixando o bloco menos desgastado livre para receber novos dados..  O Nivelamento dinâmico só trabalha na área do SSD que está teoricamente vazia, onde os dados que estão nos  blocos são tratados como lixo .

 

A Seagate tem um artigo que explica muito bem como funciona essas divisões do OP e o espaço que elas podem ocupar...

 

https://www.seagate.com/br/pt/tech-insights/ssd-over-provisioning-benefits-master-ti/

 

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

@zex Existem 3 níveis de balanceamento de desgaste: Dynamic, Static, e Global.

 

Dynamic: Faz com que os dados que serão escritos sejam salvos em blocos que ainda não foram usados (ou que foram usados poucas vezes em relação a outro blocos), fazendo com que o desgaste ocorra de maneira uniforme.

 

Static: Faz com que os blocos onde possuem dados do usuário sejam movidos para outros blocos, visto que esses blocos, como você disse, são escritos uma vez e ficarão um longo tempo sem serem utilizados, portanto, o sistema "static" utiliza-o de vez em quando exatamente pela questão do desgaste (o erro na sua postagem foi usar as palavras "vive trocando os dados de lugar", pois acabou deixando brechas para uma má interpretação, que foi o meu caso hehe).

 

Nessas duas funcionalidades, os dados que estão sendo escritos (em tempo real) são salvos em blocos não utilizados (através do nível Dynamic), e os dados dos usuários que já estão em blocos gravados são movidos de vez em quando para utilizar aqueles blocos pouco utilizados de maneira a fazer com que o desgaste seja uniforme (através do nivel Static). Mas, os arquivos do sistema não podem ser movidos. Isso é notado até mesmo por programas de desfragmentação onde exigem uma desfragmentação offline para poder mover determinados arquivos do sistema que não podem ser desfragmentados em tempo real. No caso do wear-leveling, entra o nível global.

 

Global: Faz com que os arquivos do sistema também sejam movidos para outros blocos para garantir que o desgaste das células seja uniforme. Sendo que este nível está presente apenas em unidades de armazenamento destinada ao mercado corporativo, visto que isso exigiria a utilização de algoritmos específicos para fazer com que a perda de performance fosse a mínima possível, aumentando o custo final do produto.

 

 

image.png

 

https://www.atpinc.com/blog/how-SSD-wear-leveling-works

 

Se formos dar uma olhada em documentos de SSDs do mercado doméstico, como por exemplo no ótimo SSD WD Blue, veremos que ele trabalha apenas com os níveis Static e Dynamic:

image.png

Download do PDF do SSD WD Blue

 

3 horas atrás, rpioveza disse:

Pessoal, não tragam o hábito de desfragmentar HD para o cenário dos SSDs porque é outra realidade, outra forma de funcionamento. Sites especializados e fabricantes em geral não recomendam.

A desfragmentação no SSD faz com que os dados sejam movidos de um bloco para o outro, exigindo diversas operações de escrita, o que desgasta as células, e por isso a desfragmentação em SSDs não é recomendada e até certo ponto dispensável, pois mesmo que o arquivo esteja fragmentado, a perda de desempenho é insignificante e imperceptível para o usuário. MAS, caso o SSD esteja em um nível de fragmentação absurdamente alta, a perda de performance será grande (geralmente causado por centenas e centenas de GBs de arquivos fragmentados) pois a controladora dos SSDs não dão conta de tamanha quantidade de fragmentos. Isso foi abordado perfeitamente pelo Baboo neste vídeo: https://www.youtube.com/watch?v=gE5bWnzNuB8

 

O cenário abordado no vídeo era este: um servidor WEB (armazenando um fórum que era amplamente utilizado na época) com 600GB de dados fragmentados, apresentando extrema lentidão, a otimização não resolveu o problema, mas a desfragmentação sim. Em casos de fragmentação extremamente alta, a desfragmentação é sim recomendada em SSDs. MAS, novamente, isso dificilmente ocorrerá com o usuário doméstico visto que a carga de trabalho de um usuário comum obviamente que não se compara com a de um servidor WEB.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Moderador
4 horas atrás, rpioveza disse:

Pessoal, não tragam o hábito de desfragmentar HD para o cenário dos SSDs porque é outra realidade, outra forma de funcionamento. Sites especializados e fabricantes em geral não recomendam.

Não é bem assim, os SSDs de hoje em dia têm vida útil muito mais longa do que os de alguns anos atrás, mesmos os modelos mais de entrada têm uma vida útil bem longa, o que recomendo é: evite que a fragmentação ultrapasse de 10% tanto para SSD quando para HDD, dê uma olhada:

 

Link para o comentário
Compartilhar em outros sites

3 horas atrás, zex disse:

O usuário não tem acesso de forma alguma  a esse espaço fixo reservado, nem mesmo o S.O tem acesso a ele.

 

Isso vai ao encontro do meu entendimento, que o wear-leveling é gerenciado pela controladora do SSD de uma forma altamente autônoma e ocorre num nível mais baixo que o sistema de arquivos e que deverá ter pouca relação com o SO, então a desfragmentação tipo de HD em princípio não deveria afetar.

 

 

Citação

 

 

Geralmente esse espaço extra também gira em torno dos 7%, além dos primeiros 7% ..Se o fabricante quiser, ele pode definir um OP maior..

 

Uma tabelinha  com um exemplo da divisão do OP dentro do SSD .

 

spacer.png

 

 

Esses dados eu peguei lá do link que está no final do post

 

 

Depois ainda tem o OP dinâmico que trabalha em toda a faixa vazia do SSD e que complementa os espaços anteriores

Graças a esse OP, um usuário nunca vai conseguir lotar a memória total do SSD. Se o usuário conseguisse lotar totalmente a memória do SSD, a controladora não iria conseguir fazer o nivelamento de desgaste e nem  iria conseguir fazer o Trim.

 

Juntando o que foi falado de tipos de wear-leveling (que deixaram o assunto menos nebuloso para mim), observa-se na figura que o espaço livre tem uma influência importante no wear-leveling dinâmico, que deve ser sempre a forma preferencial de wear-leveling a atuar, já que é a menos custosa em desempenho e também gasta menos ciclos de escrita/apagamento que a estática. Por isso que é interessante sempre trabalhar com espaço livre sobrando, que foi a lebre que eu levantei para a baixa performance e foi a primeira dica do Baboo. Aliás muito bom o Baboo, não conhecia. Já são vídeos um pouquinho datados, por exemplo falam só em velocidades SATA III e não por exemplo em NVMe. Cita de passagem alguma coisa sobre cache de RAM, não sei é a mesma coisa que o cache de DRAM, que é um ponto que parece importante hoje em dia ao escolher um SSD. Deve ser. Eu tenho uma dica bem atual: se por acaso você tem um perfil não-gamer e que gosta de Mini PCs como os Dell OptiPlex Micro (MFF), evite a linha 30x0 (3070, 3080, etc.) pois usam um chipset mais capado da Intel que limita a entrada M.2 NVme a funcionar em modo PCI-e 2.0/2.1 e não 3.0, e isso reduz a velocidade máxima do SSD à metade. Prefira a linha 50x0 ou 70x0. Não que essa percepção deva ser muito sentida fora dos benchmarks, mas eu acho sacanagem que a Dell não deixe isso claro nas especificações. Isso esclarece muita coisa sobre a classificação meio arbitrária da Dell para SSDs  (classes 30, 35, 40, 50, etc.) e suas taxas de transferência.

 

O Baboo também sugeriu aumentar o  provisionamento do fabricante. Enfim, tudo que ajuda o SSD a trabalhar com folga para distribuir os dados igualmente pelos blocos e evitar realocá-los em excesso vai naturalmente trazer benefícios dada a noção básica de como ele funciona.

 

Citação

Claro , que  se o usuário lotar todo os espaço útil do SSD, ele vai ficar mais lento, mas isso não quer dizer que ele vai se degradar mais rápido ou coisa do tipo.

 

Acho que degrada mais rápido sim, talvez não muito, mas degrada. Porque o nivelamento estático, que está ocorrendo com mais frequência nesse caso, por sua própria definição tende a custar mais ciclos de escrita/apagamento, que são o que em algum grau reduz a vida útil do SSD.

 

 

Citação

Ele vai ficar mais lento porque  a controladora vai ter que fazer o nivelamento estático mais vezes do que o nivelamento dinâmico .. O nivelamento  estático é mais lento porque a controladora tem que mover alguns dados que não são lixo de um bloco para outro mais desgastado, deixando o bloco menos desgastado livre para receber novos dados..

 

Então o que acontece é que o excesso de operações de nivelamento estático numa situação de pouco espaço livre e alta fragmentação impacta a performance da controladora, como falou o @GabrielLV  Faz sentido. Mas aí o que é considerado alta fragmentação? A porcentagem de dados fragmentada, ou o número alto de arquivos fragmentados? Porque vejam que o Baboo cita um cenário prosumer, de carga de trabalho de servidor, que o caso do @Yan_  a princípio está longe de ser.

 

Link para o comentário
Compartilhar em outros sites

2 horas atrás, GabrielLV disse:

@zex Existem 3 níveis de balanceamento de desgaste: Dynamic, Static, e Global.

 

Dynamic: Faz com que os dados que serão escritos sejam salvos em blocos que ainda não foram usados (ou que foram usados poucas vezes em relação a outro blocos), fazendo com que o desgaste ocorra de maneira uniforme.

 

Static: Faz com que os blocos onde possuem dados do usuário sejam movidos para outros blocos, visto que esses blocos, como você disse, são escritos uma vez e ficarão um longo tempo sem serem utilizados, portanto, o sistema "static" utiliza-o de vez em quando exatamente pela questão do desgaste (o erro na sua postagem foi usar as palavras "vive trocando os dados de lugar", pois acabou deixando brechas para uma má interpretação, que foi o meu caso hehe).

 

Nessas duas funcionalidades, os dados que estão sendo escritos (em tempo real) são salvos em blocos não utilizados (através do nível Dynamic), e os dados dos usuários que já estão em blocos gravados são movidos de vez em quando para utilizar aqueles blocos pouco utilizados de maneira a fazer com que o desgaste seja uniforme (através do nivel Static). Mas, os arquivos do sistema não podem ser movidos. Isso é notado até mesmo por programas de desfragmentação onde exigem uma desfragmentação offline para poder mover determinados arquivos do sistema que não podem ser desfragmentados em tempo real. No caso do wear-leveling, entra o nível global.

 

Global: Faz com que os arquivos do sistema também sejam movidos para outros blocos para garantir que o desgaste das células seja uniforme. Sendo que este nível está presente apenas em unidades de armazenamento destinada ao mercado corporativo, visto que isso exigiria a utilização de algoritmos específicos para fazer com que a perda de performance fosse a mínima possível, aumentando o custo final do produto.

 

 

image.png

 

https://www.atpinc.com/blog/how-SSD-wear-leveling-works

 

Se formos dar uma olhada em documentos de SSDs do mercado doméstico, como por exemplo no ótimo SSD WD Blue, veremos que ele trabalha apenas com os níveis Static e Dynamic:

image.png

Download do PDF do SSD WD Blue

 

A desfragmentação no SSD faz com que os dados sejam movidos de um bloco para o outro, exigindo diversas operações de escrita, o que desgasta as células, e por isso a desfragmentação em SSDs não é recomendada e até certo ponto dispensável, pois mesmo que o arquivo esteja fragmentado, a perda de desempenho é insignificante e imperceptível para o usuário. MAS, caso o SSD esteja em um nível de fragmentação absurdamente alta, a perda de performance será grande (geralmente causado por centenas e centenas de GBs de arquivos fragmentados) pois a controladora dos SSDs não dão conta de tamanha quantidade de fragmentos. Isso foi abordado perfeitamente pelo Baboo neste vídeo: https://www.youtube.com/watch?v=gE5bWnzNuB8

 

O cenário abordado no vídeo era este: um servidor WEB (armazenando um fórum que era amplamente utilizado na época) com 600GB de dados fragmentados, apresentando extrema lentidão, a otimização não resolveu o problema, mas a desfragmentação sim. Em casos de fragmentação extremamente alta, a desfragmentação é sim recomendada em SSDs. MAS, novamente, isso dificilmente ocorrerá com o usuário doméstico visto que a carga de trabalho de um usuário comum obviamente que não se compara com a de um servidor WEB.

Eu usei termo " vive mudado de lugar "  foi de forma super resumida, a quantidade de vezes que o SSD vai ter que mexer vai depender quantidade de dados que tem no SSD  e quanto mais lotado SSD estiver, mais vezes esses dados terão quer ser trocados de lugar.

 

2 minutos atrás, rpioveza disse:

 

 

 

 

Então o que acontece é que o excesso de operações de nivelamento estático numa situação de pouco espaço livre e alta fragmentação impacta a performance da controladora. Faz sentido. Mas aí o que é considerado alta fragmentação? A porcentagem de dados fragmentada, ou o número alto de arquivos fragmentados? Porque vejam que o Badoo cita um cenário prosumer, de carga de trabalho de servidor, que o caso do @Yan_  a princípio está longe de ser.

 

 

Eu acho que a coisa já está complicando..kkkk.  Porque além partes do arquivos fragmentados em blocos diferentes ainda tem partes dos arquivos diferentes ocupando o mesmo bloco. .. Esses fragmentos ainda podem ficar misturados junto com os fragmentos do lixo dos arquivos anteriores, e a controladora vai  alocar esses dados que estão junto com o lixo em algum outro bloco que não tem lixo. E mesmo que a pessoa consiga gravar os dados todos na sequência dentro dos blocos na memória física do SSD, com o passar do tempo ou passar do uso, a própria controladora vai trocar os dados que estão parados de lugar, para outros blocos dentro do chip, essa ordem é definida pelo indíce de desgaste, e isso vai fazer com que os arquivos seja fragmentado de novo, conforme a controladora vai balanceado o desgaste. Só a controladora  sabe  qual bloco está menos desgastado que qual.. 

 

Eu acho que mesmo com o SSD lotado, o desgaste vai variar muito  conforme o uso que a pessoa faz do disco.. Por exemplo : Um SSD em que vive gravado centenas de GB toda semana  até lotar( 500GB valor simbólico), vai se desgastar mais rápido do que um outro SSD que esteja quase lotado com dados, mas que essa pessoa faça  gravações de dezenas de GB( 50 GB) .. Obviamente que esse segundo caso o SSD vai trabalhar de forma mais lenta devido a lotação.

 

Em um HD  convencional  magnético, os ficam fixos no lugar até que o sistema os reescreva, independente de ser lixo ou não, Se o disco for desfragmentado e se esses dados forem usados somente como leitura, eles não vão sair da ordem  que foram gravados.

 

 

 

 

 

Link para o comentário
Compartilhar em outros sites

1 hora atrás, Frib 2K4 disse:

Não é bem assim, os SSDs de hoje em dia têm vida útil muito mais longa do que os de alguns anos atrás, mesmos os modelos mais de entrada têm uma vida útil bem longa, o que recomendo é: evite que a fragmentação ultrapasse de 10% tanto para SSD quando para HDD, dê uma olhada:

 

 

Na verdade ele não falou isso, falou para evitar o espaço livre ficar em 10%, procurar deixar em torno de 40%. A fragmentação tende a piorar quanto menos espaço a unidade tem para alocar os blocos, não sei se dá pra ter uma medida muito clara, depende se fatores como o espaço livre e o tamanho dos arquivos. Mas eu não quis implicar que prejudicava a vida útil de maneira significativa porque eu não tinha certeza, então eu nem toquei no assunto. Só falei que não era recomendado desfragmentar. Veja por exemplo esse fabricante dizendo isso (pelo menos trocando em miúdos):

 

https://www.crucial.com/articles/about-ssd/should-you-defrag-an-ssd

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
1 hora atrás, rpioveza disse:

A porcentagem de dados fragmentada, ou o número alto de arquivos fragmentados? Porque vejam que o Baboo cita um cenário prosumer, de carga de trabalho de servidor, que o caso do @Yan_  a princípio está longe de ser

Você saberá que está com um nível de fragmentação muito alto quando começar a ter perda de performance (nesse caso a desfragmentação fará toda a diferença), sendo que para o cenário doméstico, é extremamente raro de acontecer, por tanto, a desfragmentação é dispensável 😉

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

6 horas atrás, Yan_ disse:

o problema e que estava 40% fragmentado e ele estava ficando lerdo, a otimizacao baixou 4% e olha la

Certamente não é esse o motivo de estar lento, é alguma outra coisa. Meu SSD tem 287 de 465 GiB no momento e mostra 50% de fragmentação, mas não tenho diminuição de performance alguma.
image.png.c0c5346880adce8d1cca8069bf8541a7.png

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...