Um cara sábio chamado NickN mantém um longo post no fórum sobre seus pontos de vista sobre a construção de um computador poderoso (direcionado para jogar o Flight Simulator X da Microsoft, um software muito exigente).
Ele resume pontos sobre unidades SSD em algum lugar e conclui a lista da seguinte maneira:
NÃO PARTICIPE SSD
Ele não explica isso infelizmente, mas me pergunto por que ele diz isso. Quais são as desvantagens de particionar um SSD? (Particionar neste contexto significa> = 2 partições)
partitioning
ssd
storage
MarioDS
fonte
fonte
Respostas:
Repito, os SSDs NÃO funcionam no nível do sistema de arquivos!
Não há correlação 1: 1 entre como o sistema de arquivos vê as coisas e como o SSD vê as coisas.
Sinta-se à vontade para particionar o SSD da maneira que desejar (assumindo que cada partição esteja alinhada corretamente, e um sistema operacional moderno lidará com tudo isso para você); NÃO prejudicará nada, NÃO afetará adversamente os tempos de acesso ou qualquer outra coisa, e também não se preocupe em fazer uma tonelada de gravações no SSD. Eles os possuem para que você possa gravar 50 GB de dados por dia e durará 10 anos.
Respondendo à resposta de Robin Hood ,
Isso está totalmente errado. É impossível desgastar uma partição porque você lê / grava somente nessa partição. NÃO é nem remotamente como os SSDs funcionam.
Um SSD funciona em um acesso de nível muito inferior ao que o sistema de arquivos vê; um SSD trabalha com blocos e páginas.
Nesse caso, o que realmente acontece é que, mesmo se você estiver gravando uma tonelada de dados em uma partição específica, o sistema de arquivos é restringido pela partição, MAS, o SSD não. Quanto mais gravações o SSD obtiver, mais blocos / páginas o SSD será trocado para fazer o nivelamento de desgaste. Não se importava como o sistema de arquivos vê as coisas! Isso significa que, ao mesmo tempo, os dados podem residir em uma página específica no SSD, mas, em outro momento, eles podem e serão diferentes. O SSD manterá o controle de onde os dados são embaralhados, e o sistema de arquivos não terá idéia de onde estão no SSD.
Para facilitar ainda mais: digamos que você grave um arquivo na partição 1. O sistema operacional informa o sistema de arquivos sobre as necessidades de armazenamento e o sistema de arquivos aloca os "setores" e, em seguida, informa ao SSD que precisa de X espaço. O sistema de arquivos vê o arquivo em um LBA ( Endereço de bloco lógico ) de 123 (por exemplo). O SSD observa que o LBA 123 está usando o bloco / página nº 500 (por exemplo). Portanto, toda vez que o sistema operacional precisar desse arquivo específico, o SSD terá um ponteiro para a página exata que está usando. Agora, se continuarmos escrevendo para o SSD, usar chutes de nivelamento e dizer o bloco / página nº 500, podemos otimizar melhor você no bloco / página nº 2300. Agora, quando o sistema operacional solicitar o mesmo arquivo e o sistema de arquivos solicitar o LBA 123 novamente, Dessa vez, o SSD retornará o bloco / página nº 2300 e NÃO nº 500.
Não, isso está errado de novo! Robin Hood está pensando em termos de sistema de arquivos, em vez de pensar exatamente como um SSD funciona. Novamente, não há como o sistema de arquivos saber como o SSD armazena os dados. Não há "mais longe" aqui; isso é apenas aos olhos do sistema de arquivos, NÃO da maneira real como um SSD armazena informações. É possível que o SSD tenha os dados espalhados em diferentes chips NAND, e o usuário não notará nenhum aumento nos tempos de acesso. Caramba, devido à natureza paralela da NAND, ela pode até acabar sendo mais rápida do que antes, mas estamos falando em nanossegundos aqui; pisque e você perdeu.
Não desculpe; novamente isso está errado. A exibição de arquivos do sistema de arquivos e a exibição do SSD desses mesmos arquivos nem são remotamente próximas. O sistema de arquivos pode ver o arquivo fragmentado na pior das hipóteses, mas a visualização SSD dos mesmos dados quase sempre é otimizada.
Assim, um programa de desfragmentação examinaria esses LBAs e diria que esse arquivo deve estar realmente fragmentado! Mas, como não tem idéia das partes internas do SSD, está 100% errado. É por esse motivo que um programa de desfragmentação não funciona em SSDs e, sim, um programa de desfragmentação também causa gravações desnecessárias, como mencionado.
A série de artigos Coding for SSDs é uma boa visão geral do que está acontecendo, se você quiser ser mais técnico sobre o funcionamento dos SSDs.
Para uma leitura mais "leve" sobre como o FTL (Flash Translation Layer) realmente funciona, sugiro também que você leia Papel crítico das camadas de firmware e de tradução do Flash no Solid State Drive Design (PDF) no site do Flash Memory Summit .
Eles também têm muitos outros documentos disponíveis, como:
Outro artigo sobre como isso funciona: Visão geral da memória flash (PDF). Consulte a seção "Gravação de dados" (páginas 26-27).
Se o vídeo é o que você mais gosta, consulte Um FTL eficiente no nível da página para otimizar a tradução de endereços na memória flash e slides relacionados .
fonte
Respostas muito longas aqui, quando a resposta é bastante simples e segue diretamente apenas do conhecimento geral dos SSDs. Não é necessário mais do que ler o termo Wikipedia da unidade de estado sólido para entender a resposta, que é:
No passado (agora distante), os sistemas operacionais não suportavam muito bem os SSDs, e especialmente quando o particionamento não tomava o cuidado de alinhar as partições de acordo com o tamanho do bloco de apagamento.
Essa falta de alinhamento, quando um setor de disco lógico do sistema operacional era dividido entre blocos SSD físicos, poderia exigir que o SSD exibisse dois setores físicos quando o sistema operacional pretendia apenas atualizar um, diminuindo o acesso ao disco e aumentando o nível de desgaste .
Atualmente, os SSDs estão se tornando muito maiores e os sistemas operacionais sabem tudo sobre apagar blocos e alinhamentos, para que o problema não exista mais. Talvez esse conselho tenha sido destinado a evitar erros no alinhamento da partição, mas hoje esses erros são praticamente impossíveis.
De fato, hoje o argumento para particionar SSDs é exatamente o mesmo que para discos clássicos:
Para organizar e separar melhor os dados.
Por exemplo, a instalação do sistema operacional em uma partição separada e menor é útil para obter uma imagem de backup como uma precaução ao fazer grandes atualizações no sistema operacional.
fonte
Não há desvantagens em particionar um SSD e você pode realmente prolongar sua vida útil deixando algum espaço não particionado.
O nivelamento de desgaste é aplicado em todos os blocos do dispositivo (ref. Papel branco HP, link abaixo)
A partir disso, podemos concluir que as partições não importam para o nível de desgaste. Isso faz sentido, porque do ponto de vista do HDD e do controlador, as partições realmente não existem. Existem apenas blocos e dados. Até a tabela de partição é gravada nos mesmos blocos (1º bloco da unidade para MBR). É o SO que lê a tabela e decide em quais blocos gravar dados e quais não. O sistema operacional vê blocos usando o LBA para fornecer um número exclusivo para cada bloco. No entanto, o controlador mapeia o bloco lógico para um bloco físico real, levando em consideração o esquema de nível de desgaste.
O mesmo documento técnico oferece uma boa sugestão para estender a vida útil do dispositivo:
Isso também sugere que mesmo o espaço não particionado é usado para nivelar o desgaste, comprovando ainda mais o ponto acima.
Fonte: White paper técnico - SSD Endurance ( http://h20195.www2.hp.com/v2/getpdf.aspx/4AA5-7601ENW.pdf )
fonte
Os setores do disco têm 512 bytes há muito tempo, e os discos mecânicos têm a propriedade de que a única coisa que afeta o tempo que leva para ler / gravar um setor é o atraso da busca. Portanto, a principal etapa de otimização com discos rígidos mecânicos foi tentar ler / gravar blocos sequencialmente para minimizar as buscas.
O Flash funciona muito diferente dos discos rígidos mecânicos. No nível do flash bruto, você não possui blocos, mas páginas e "apagamentos" (para emprestar da terminologia MTD do Linux). Você pode escrever para piscar uma página de cada vez e apagar um flash de apagamento por vez.
Um tamanho de página típico para o flash é de 2 KB e um tamanho típico para bloqueios de apagamento é de 128 KB.
Mas os SSDs SATA apresentam uma interface que funciona com tamanhos de setor de 512 bytes para o sistema operacional.
Se houver um mapeamento 1: 1 entre páginas e setores, você poderá ver como teria problemas se a tabela de partição iniciasse em uma página ímpar ou em uma página no meio de um bloco de apagamento. Dado que os sistemas operacionais preferem buscar dados das unidades em pedaços de 4Kbyte, uma vez que isso se alinha ao hardware de paginação x86, você pode ver como um bloco de 4Kbyte poderia atravessar um bloqueio de apagamento, ou seja, atualizá-lo exigiria apagar e reescrever 2 blocos em vez de 1. desempenho inferior.
No entanto, o firmware SSD não mantém um mapeamento 1: 1, faz uma conversão de endereço de bloco físico (PBA) em endereço de bloco lógico (LBA). Ou seja, você nunca sabe para onde o setor 5000 ou qualquer outro setor está realmente sendo gravado no flash. Está fazendo muitas coisas nos bastidores por design para tentar sempre escrever em bloqueios de borracha pré-apagados. Você não pode saber com certeza exatamente o que está fazendo sem a desmontagem do firmware, mas, a menos que o firmware seja completamente indesejado, o firmware provavelmente contorna isso.
Você pode ter ouvido falar sobre os discos rígidos 4Kn. São discos rígidos mecânicos que usam internamente um tamanho de setor de 4Kbytes, mas ainda apresentam uma interface de setor de 512 bytes para os sistemas operacionais. Isso é necessário porque as lacunas entre os setores precisam ficar menores no prato para ajustar mais dados.
Isso significa que internamente ele sempre lê e grava setores em 4K, mas o oculta no sistema operacional. Nesse caso, se você não gravar em setores que caem em um limite de 4KByte, você sofrerá uma penalidade de velocidade, pois cada leitura / gravação resultará na leitura e reescrita de dois setores internos de 4KByte. Mas isso não se aplica aos SSDs.
Enfim, essa é a única situação em que posso pensar por que é sugerido não particionar SSDs. Mas isso não se aplica.
fonte
O que essas respostas ignoram são as otimizações de SSD do Windows. Não sei se isso significa que o particionamento se torna melhor, mas para uma unidade C particionada como unidade Windows, você pode:
fonte
Decidi que algumas informações básicas podem ser úteis para esclarecer essa resposta, mas como você pode ver, fiquei um pouco obcecado por isso, talvez você queira pular para o final e depois voltar, se necessário. Embora eu saiba um pouco, não sou especialista em SSDs, por isso, se alguém vê um erro, EDITE -O. :).
Informações básicas:
O que é um SSD ?:
Uma unidade SSD ou de estado sólido é um dispositivo de armazenamento sem partes móveis. O termo SSD costuma se referir especificamente a unidades de estado sólido baseadas em flash nand destinadas a atuar como uma alternativa ao disco rígido, mas na realidade elas são apenas uma forma de SSD e nem mesmo a mais popular. O tipo mais popular de SSD é a mídia removível baseada em nand-flash, como pen drives (pen drives) e cartões de memória, embora raramente sejam referidos como SSD. Os SSDs também podem ser baseados em RAM, mas a maioria das unidades de ram é gerada por software em oposição ao hardware físico.
Por que os SSDs Nand-flash destinados a atuar como uma alternativa ao disco rígido existem ?:
Para executar um sistema operacional e seu software, é necessário um meio de armazenamento rápido. É aqui que o ram entra em cena, mas historicamente o ram era caro e as CPUs não podiam lidar com grandes quantidades. Quando você executa um sistema operacional ou programa, as partes de dados atualmente necessárias são copiadas para sua memória RAM, porque seu dispositivo de armazenamento não é rápido o suficiente. Um gargalo é criado, porque você precisa aguardar a cópia dos dados do dispositivo de armazenamento lento para a ram. Embora nem todos os SSDs nand-flash tenham melhor desempenho do que o disco rígido mais tradicional, os que ajudam a reduzir o gargalo, proporcionando tempos de acesso mais rápidos, velocidades de leitura e velocidades de gravação.
O que é o flash Nand ?:
O armazenamento flash é um meio de armazenamento que usa eletricidade em vez de magnetismo para armazenar dados. Nand-flash é um armazenamento flash que usa um gateway NAND. Ao contrário do flash normal, que é de acesso aleatório, o flash nand é acessado sequencialmente.
Como os SSDs Nand-flash armazenam dados?
O armazenamento flash nand é composto por blocos, esses blocos são divididos em células, as células contêm páginas. Ao contrário de um disco rígido que usa magnetismo para armazenar dados, as mídias flash usam eletricidade, porque esses dados não podem ser substituídos; os dados devem ser apagados para reutilizar o espaço. O dispositivo não pode apagar páginas individuais; A eliminação deve ocorrer no nível do bloco. Como os dados não podem ser gravados em um bloco que já está sendo usado (mesmo que nem todas as páginas estejam), o bloco inteiro deve ser apagado primeiro e, em seguida, o bloco em branco agora pode ter dados gravados em suas páginas. O problema é que você perderia dados já existentes nessas páginas, incluindo dados que não deseja descartar! Para impedir que esses dados existentes sejam retidos, eles devem ser copiados em outro lugar antes de executar a exclusão do bloco.
Nos discos rígidos, uma placa magnética é usada para armazenar dados. Assim como os discos de vinil, o prato tem faixas, e essas faixas são divididas em seções chamadas setores. Um setor pode conter uma certa quantidade de dados (normalmente 512 bytes, mas alguns mais novos são 4KB). Quando você aplica um sistema de arquivos, os setores são agrupados em clusters (com base no tamanho especificado, chamado tamanho de alocação ou tamanho do cluster) e, em seguida, os arquivos são gravados nos clusters. Também é possível dividir um setor para tornar os clusters menores que o tamanho do seu setor. O espaço não utilizado em um cluster após a gravação de um arquivo em um cluster (ou vários) não é utilizável; o próximo arquivo inicia em um novo cluster. Para evitar muito espaço inutilizável, as pessoas geralmente usam tamanhos de cluster menores, mas isso pode diminuir o desempenho ao gravar arquivos grandes. Os SSDs nand-flash não possuem uma placa magnética, eles usam eletricidade passando através de blocos de memória. Um bloco é constituído por células contendo páginas. As páginas têm capacidade X (geralmente 4 KB) e, portanto, o número de páginas determinará a capacidade de um bloco (geralmente 512 KB). Nos SSDs, uma página equivale ao setor em um disco rígido, porque ambos representam a menor divisão de armazenamento.
O que é o nivelamento de desgaste ?:
Os blocos de armazenamento flash nand podem ser gravados e apagados um número limitado de vezes (referido como seu ciclo de vida). Para evitar que a unidade sofra redução de capacidade (blocos mortos), faz sentido desgastar os blocos da maneira mais uniforme possível. O ciclo de vida limitado também é a principal razão pela qual muitas pessoas sugerem não ter um arquivo de paginação ou partição de troca no sistema operacional se você estiver usando um SSD baseado em Nand-flash (embora as rápidas velocidades de transferência de dados do dispositivo para a ram também sejam uma das principais fator nessa sugestão).
O que é excesso de provisionamento ?:
O excesso de provisionamento define a diferença entre quanto espaço livre existe, comparado ao quanto parece haver. Os dispositivos de armazenamento baseados em flash nand afirmam ser menores do que são, de modo a garantir blocos vazios para o descarte de lixo. Existe um segundo tipo de provisionamento em excesso chamado dinâmico sobre provisionamento que simplesmente se refere ao espaço livre conhecido dentro do espaço livre mostrado. Existem dois tipos de provisionamento dinâmico em excesso: nível do sistema operacional e nível do controlador de unidade. No nível do sistema operacional, o Trim pode ser usado para liberar blocos que podem ser gravados imediatamente. No nível do controlador, espaço em disco não alocado (não particionado, sem sistema de arquivos) pode ser usado. Ter mais blocos gratuitos ajuda a manter a unidade funcionando com o melhor desempenho, pois ela pode gravar imediatamente.
O que é a amplificação de gravação ?:
Como as mídias Nand-flash exigem que um bloco seja apagado antes de ser gravado, todos os dados dentro do bloco que não estão sendo apagados devem ser copiados para um novo bloco por meio do triturador de lixo. Essas gravações adicionais são chamadas de amplificação de gravação.
O que é o Trim.?:
Os sistemas operacionais são construídos com os discos rígidos tradicionais em mente. Lembre-se de que um disco rígido tradicional pode substituir diretamente dados. Quando você exclui um arquivo, o sistema operacional o marca como excluído (aceitável sobrescrever), mas os dados ainda estão lá até que uma operação de gravação ocorra lá. Nos SSDs baseados em flash Nand, isso é um problema, porque os dados devem ser apagados primeiro. A exclusão ocorre no nível do bloco, portanto, pode haver dados adicionais que não estão sendo excluídos. O descarte de lixo copia todos os dados que não estão sendo excluídos para os blocos vazios e, em seguida, os blocos em questão podem ser apagados. Tudo isso leva tempo e causa gravações desnecessárias (amplificação de gravação)! Para contornar isso, um recurso chamado Trim foi criado. Trim fornece ao sistema operacional o poder de informar o SSD para apagar blocos com páginas que contêm dados que o sistema operacional marcou como excluídos durante períodos de tempo em que você não está solicitando uma operação de gravação no local. A coleta de lixo faz isso e, como resultado, os blocos são liberados para que, com sorte, as gravações possam ocorrer em blocos que não precisam ser apagados primeiro, o que torna o processo mais rápido e ajuda a reduzir ao máximo a amplificação de gravação. Isso não é feito em uma base de arquivo; Trim usa endereçamento de bloco lógico. O LBA especifica os setores (páginas) a serem apagados e a eliminação ocorre no nível do bloco. e ajuda a reduzir ao máximo a amplificação de gravação. Isso não é feito em uma base de arquivo; Trim usa endereçamento de bloco lógico. O LBA especifica os setores (páginas) a serem apagados e a eliminação ocorre no nível do bloco. e ajuda a reduzir ao máximo a amplificação de gravação. Isso não é feito em uma base de arquivo; Trim usa endereçamento de bloco lógico. O LBA especifica os setores (páginas) a serem apagados e a eliminação ocorre no nível do bloco.
A resposta à sua pergunta "Desvantagens de particionar um SSD?":
SSDs baseados em RAM:
Não há absolutamente nenhuma desvantagem, porque eles são de acesso aleatório!
SSDs baseados em flash nand:
As únicas desvantagens que vêm à minha mente seriam:
O nivelamento de desgaste não terá tanto espaço livre para brincar, porque as operações de gravação serão espalhadas por um espaço menor, para que você "possa", mas não necessariamente desgastará essa parte da unidade mais rapidamente do que se a unidade inteira era uma única partição, a menos que você esteja executando um desgaste equivalente nas partições adicionais (por exemplo: uma inicialização dupla).
Como os discos rígidos, os SSDs nand-flash são acesso seqüencial, portanto, todos os dados que você escreve / lê nas partições adicionais ficam mais distantes do que "poderiam" se estivessem escritos em uma única partição, porque as pessoas geralmente deixam espaço livre nas partições . Isso aumentará o tempo de acesso aos dados armazenados nas partições adicionais.
Menos espaço total aumenta a probabilidade de gravar arquivos fragmentados e, embora o impacto sobre o desempenho seja pequeno, lembre-se de que geralmente é uma má idéia desfragmentar um SSD nand-flash, pois isso desgastará a unidade. É claro que, dependendo do sistema de arquivos que você está usando, resultará em quantidades extremamente baixas de fragmentação, porque elas foram projetadas para gravar arquivos como um todo sempre que possível, em vez de despejá-lo em todo o lugar para criar velocidades de gravação mais rápidas.
Eu diria que não há problema em ter várias partições, mas o nivelamento de desgaste pode ser uma preocupação se você tiver algumas partições com muita atividade de gravação e outras com muito pouca. Se você não particionar o espaço que não planeja usar, e em vez disso deixá-lo para provisionamento dinâmico, poderá receber um aumento no desempenho, pois será mais fácil liberar blocos e gravar dados seqüenciais. No entanto, não é necessário garantir que o excesso de provisionamento seja necessário, o que nos leva de volta ao ponto 1 sobre o nivelamento de desgaste.
Algumas outras pessoas neste segmento discutiram como o particionamento afetará as contribuições da Trim para o provisionamento dinâmico. No meu entender, o TRIM é usado para apontar setores (páginas) que possuem dados sinalizados para exclusão e, portanto, o descarte de lixo pode apagar livremente esses blocos. Esse espaço livre atua como provisionamento dinâmico dinâmico somente dentro da partição THAT, porque esses setores fazem parte dos clusters usados pelo sistema de arquivos dessa partição; outras partições têm seus próprios sistemas de arquivos. No entanto, posso estar totalmente enganado quanto a isso, pois toda a ideia de provisionamento em excesso não é clara para mim, pois os dados serão gravados em locais que nem sequer possuem sistemas de arquivos ou aparecem na capacidade das unidades. Isso me faz pensar se talvez o excesso de provisionamento de espaço seja usado temporariamente antes de uma operação de gravação otimizada final para blocos dentro de um sistema de arquivos? É claro que as contribuições da Trim para o provisionamento dinâmico em excesso no sistema de arquivos não seriam temporárias, pois poderiam ser gravadas diretamente, pois já estão no espaço útil. Essa é minha teoria pelo menos. Talvez meu entendimento de itens de arquivos esteja errado? Não consegui encontrar nenhum recurso detalhado sobre isso.
fonte
Não, isso faz sentido.
A velocidade de um SSD se conecta diretamente à quantidade de espaço utilizável na partição em uso. Se você particionou a unidade em pequenas seções, a eficiência do SSD será atingida devido à falta de espaço livre.
Portanto, não há desvantagens em particionar um SSD, mas há desvantagens em não ter espaço livre na unidade.
Consulte esta postagem do SuperUser .
fonte