Os SSDs são fragmentados e, se o fazem, isso é um problema?

34

Não drives de estado sólido se fragmentado? E se o fizerem, isso prejudica o desempenho deles?

Jader Dias
fonte
Sem cabeças para debater, então, sem sofrimento.
Fiasco Labs
2
@JaderDias O seguinte artigo fornece uma boa explicação: hanselman.com/blog/…
Simon

Respostas:

23

Sim, os SSDs ficam fragmentados. Isso afeta o desempenho tanto quanto os discos rígidos comuns? Não.

Fragmentação refere-se apenas à colocação de arquivos fora de ordem. É necessário em todos os dispositivos de armazenamento sem ter que reorganizar todos os dados que já foram gravados toda vez que você escreve algo.

Marcin
fonte
12
A fragmentação realmente não prejudica o desempenho porque, diferentemente dos HDDs, não há penalidade no tempo de busca para SSDs (pelo menos nada da mesma ordem de magnitude). No entanto, o nível de desgaste tende a "consumir" espaço livre sempre que um arquivo é excluído (portanto, o desempenho do SSD é reduzido desnecessariamente); é aqui que o comando TRIM ajuda.
sblair
3
@blair Essa informação está obsoleta. A fragmentação em SSDs prejudica o desempenho, pois cada extensão do arquivo precisa ser processada pelo sistema de arquivos, atualizada quando o arquivo é excluído e assim por diante. O efeito é particularmente dramático quando o snapshot e o versionamento de arquivos estão em uso, o que é típico nos sistemas Windows.
David Schwartz
@DavidSchwartz Source?
Aaron Franke
@AaronFranke Não sei ao certo para que você quer uma fonte. Esse foi um argumento fundamentado que inclui os fatos nos quais se baseia. Os SSDs são limitados por IOPS e os fragmentos aumentam o IOPS necessário.
David Schwartz
18

As unidades de estado sólido NÃO requerem desfragmentação. Isso pode diminuir a vida útil da unidade. A tecnologia de nivelamento de desgaste propositadamente "fragmenta" os dados para garantir a vida consistente da unidade.

Fonte: OCZ

Peter Mortensen
fonte
4
Isto também é verdade. Como a memória flash se esgota após tantas leituras / gravações (acho que a maioria é escrita), faz sentido espalhar a atividade por toda a unidade. Por exemplo, se você tem um SSD de 64 GB e sempre usa cerca de 20 GB, se ele não se fragmentasse automaticamente, você acabaria matando a unidade enquanto, infelizmente, 44 GB ainda estão intactos.
Marcin
2
Esta informação está obsoleta. Os SSDs modernos não têm sua vida útil significativamente afetada por desfragmentação ocasional, e a fragmentação prejudica o desempenho do SSD. Por exemplo, considere a diferença no trabalho que deve ser feito quando um arquivo com 1.000 extensões é excluído em comparação com um arquivo com uma única extensão.
David Schwartz
Os SSDs modernos não nivelam automaticamente a carga entre os blocos, para que os sistemas de arquivos sem fragmentos tenham a mesma vida útil (se não maior) que os sistemas com fragmentos?
Aaron Franke
13

"Sofra"? Não. Experiência ? Sim.

A fragmentação é simplesmente quando os arquivos são gravados em blocos não contíguos. Isso não é um problema com uma unidade nova e limpa, mas depois de um tempo, à medida que a unidade é preenchida e os arquivos são excluídos, novos arquivos acabam sendo gravados nos blocos disponíveis, que nem sempre são grandes o suficiente para o arquivo inteiro. . Não há realmente nenhuma maneira de contornar isso (não basta escrever tudo uma vez em uma unidade vazia e não escrever nada novamente), nem mesmo com um sistema de arquivos melhor.

No entanto, como sblair apontou, na verdade não é um problema com os SSDs, como ocorre com os HDs, porque não há como mover-se fisicamente pelo disco para coletar dados; portanto, não há penalidade no desempenho.

Além disso, como Marcin e Molly explicaram, os SSDs precisam espalhar os dados por toda a unidade para evitar que o início seja desgastado, enquanto o restante permanece sem uso. Como resultado, os SSDs fragmentam propositalmente os dados para espalhá-los por toda a unidade. Além disso, você não deseja desfragmentar os SDDs, porque isso não apenas anula o propósito de espalhar os dados, mas todas as gravações extras desgastam-no mais rapidamente. Os robôs deram uma boa explicação sobre como os SSDs são diferentes dos discos giratórios tradicionais e que os setores em um SSD não refletem o layout físico.


Esse é mais um benefício dos SSDs sobre os HDs giratórios: a fragmentação não é mais um problema.

SSDs : 5 (less power, less heat, faster, no fragmentation, smaller)
HDs  : 1 (longer lasting)

Advertência :

No entanto, tudo isso não significa que os SSDs sejam a solução ideal de armazenamento sem necessidade de cuidados. Além do fato de que eles se desgastam, há um problema crítico a ser observado. Embora seja verdade que os SSDs empregam nivelamento de desgaste e seu firmware administra mapeamento setor, que não nega o fato de que os SSDs, como todos os dispositivos de armazenamento que permitem a modificação, não ficar fragmentada que é a morte, quando você precisar recuperar arquivos perdidos.

Usar um sistema de arquivos mais tolerante, como NTFS, em vez de FAT32, ajuda até certo ponto, mas o fato é que um arquivo fragmentado é muito mais difícil de recuperar (se não impossível) do que um que não está fragmentado. Obviamente, nesse caso, "fragmentado" significa do ponto de vista do SO, independentemente do layout físico.

Synetech
fonte
4

O consenso geral é que eles podem se fragmentar, mas que não é necessário desfragmentar e, pior, isso pode levar a uma vida útil mais curta da unidade. Gosto do hardware de Tom e sua explicação ao investigar o produto de desfragmentação de SSD do Diskeeper .

tcv
fonte
2

Na verdade, você pode sofrer um desempenho reduzido devido à fragmentação no SSD. A fragmentação continua sendo um problema lógico porque o sistema operacional / sistema de arquivos deve acompanhar todas as partes de arquivos e as partes de espaço livre. À medida que os arquivos diminuem e crescem e à medida que o espaço livre se torna mais fragmentado logicamente, com o tempo, as operações de E / S naturalmente se tornam menores, enquanto o sistema de arquivos / SO consome naturalmente mais sobrecarga da CPU para descobrir onde colocar os próximos dados a serem armazenados ou ao ler mais despesas gerais para descobrir onde estão todos os bits de um arquivo enorme.

Basicamente, o IOPS aumentará à medida que a fragmentação aumentar. Mais IOPS geralmente é ruim. Estou errado?

Isso pode não parecer tão evidente em sistemas não baseados em arquivos, como bancos de dados que armazenam todo o seu conteúdo em um enorme espaço em disco (permitindo que o banco de dados gerencie a fragmentação de uma ou duas camadas do sistema de arquivos).

No entanto, você pode e sofrerá fragmentação, mesmo no SSD, se não fizer algo de alguma forma para mitigar os efeitos a longo prazo.

O SSD é realmente incrível, mas não é a panacéia. Quem insiste em fragmentar é coisa do passado no SSD provavelmente está vendendo alguma coisa.

Tommy Noble
fonte
1

O motivo de você sofrer fragmentação, geralmente, é porque o cabeçote da unidade precisa se mover para muitos lugares diferentes para acessar o arquivo. Ele precisa se mover fisicamente , o que leva tempo. Com uma unidade de estado sólido (SSD), você ainda experimentará a fragmentação, mas não há partes móveis que precisem ser movidas para o local das outras partes do arquivo, para que você não encontre os mesmos sintomas ( desempenho reduzido).

Além disso, as unidades de estado sólido têm um número finito de vezes em que podem ser gravadas. Portanto, desfragmentá-los pode realmente reduzir a vida útil do disco, sem realmente oferecer o benefício de um desempenho aprimorado, como você experimentaria com um disco que possui pratos.

Jack
fonte