Questão Por que os SSDs têm tamanhos estranhos?


Por que os SSDs têm tamanhos como 240 GB ou 120 GB, em vez dos 256 GB normais ou 512 GB? Esses números fazem muito mais sentido do que 240 ou 120.


79


origem


Por que esses números fazem mais sentido? - Matthew Williams
@MatthewWilliams Eu pensaria porque são divisões fracionárias da maior medida de armazenamento. 256 GB é 1/4 de terabyte, 512 GB é 1/2 e assim por diante. - Moses
@MatthewWilliams Eu disse que por causa da aritmética da base 2: 2 ^ 8 = 256, 2 ^ 9 = 512, e assim por diante - Dudemanword
Esperar que as unidades sejam dimensionadas em uma potência de 2 é uma bobagem, já que as unidades nunca foram dimensionadas em potências de 2. Uma unidade de 1 TB não é 240 bytes, normalmente é 1012 bytes. - Zoredache
@Zoredache Isso faz sentido para os HDDs, mas estamos falando de SSDs. Seu armazenamento é basicamente transistores que podem conter apenas dois estados. Então, em minha mente, as SSDs devem sempre ser radix 2. As respostas ajudaram a esclarecer a ambigüidade - Dudemanword


Respostas:


Embora muitos SSDs modernos, como a série 840 EVO, forneçam os tamanhos que você está habituado a gostar, os 256GB mencionados, os fabricantes costumavam preservar um pouco de armazenamento para mecanismos que combatem quedas de desempenho e defeitos.

Se você, por exemplo, comprou uma unidade de 120 GB, pode ter certeza de que ela é realmente de 128 GB internamente. O espaço preservado simplesmente dá espaço ao controlador / firmware para coisas como TRIM, Garbage Collection e Wear Leveling. Tem sido uma prática comum deixar um pouco de espaço não particionado - no topo do espaço que já foi tornado invisível pelo controlador - quando os SSDs chegaram ao mercado, mas os algoritmos ficaram significativamente melhores, então você não precisa faça isso mais.

EDITAR: Tem havido alguns comentários sobre o fato de que esse fenômeno tem que ser explicado com a discrepância entre o espaço anunciado, declarado em GigaBytes (por exemplo, 128x10 ^ 9 Bytes) versus o valor GibiByte mostrado pelo sistema operacional, que é - na maioria das vezes uma potência de dois, calculando para 119,2 Gibibyte neste exemplo.

Quanto a como eu sei, isso é algo que vem em cima das coisas já explicadas acima. Embora não seja possível afirmar com precisão quais algoritmos precisam da maior parte desse espaço extra, o cálculo permanece o mesmo. O fabricante monta um SSD que realmente usa uma potência de dois números de células flash (ou uma combinação de tais), embora o controlador não torne todo esse espaço visível para o sistema operacional. O espaço restante é anunciado como Gigabytes, gerando 111 Gibibites neste exemplo.


98



Exceto que alguns SSDs agora usam estados TLC (três níveis) e realmente precisam de mais espaço reservado do que os anteriores, devido às taxas de erro mais altas. O software Magician para minha unidade Samsung EVO recomendou reservar mais espaço quando fiz a configuração. Então, em vez de um terabyte, são apenas 920 GB. - Zan Lynx
Você quer dizer a discrepância de Gibibyte vs. Gigabyte? Eu entendi a pergunta de forma diferente, já que essa discrepância vem em cima do fenômeno 120 x 128GB. A compra de um SSD com tamanho anunciado de 120 GB lhe renderá ainda menos espaço utilizável exibido no sistema operacional. - Patrick R.
@Matthew Bem, isso foi o que eu estava tentando dizer - posso confirmar que isso não parou. Meu 512G Samsung 840 me dá apenas um pouco mais de 465G de espaço utilizável. Desculpe pela confusão. Então, para resumir isso, um SSD anunciado como 120GB pode ter fisicamente 128.000.000.000 de bytes, 120.000.000.000 de espaço útil para partições - levando a ~ 110 exibidos pelo sistema operacional. - Patrick R.
O termo técnico é sobre-aprovisionamento. - Ben Voigt
@ ADTC Por que 8GB de 128GB devem ser demais? Especialmente as células multi-nível tendem a viver não tanto quanto você quer. Como os fabricantes não querem que você devolva o seu SSD dentro do prazo de garantia, definitivamente faz sentido reservar muito espaço. A propaganda falsa também foi discutida antes, isso é algo que vem por cima. Você compra 120GB anunciados e obtém 128x10 ^ 9 Bytes, ganhando ~ 110 Gibibyte exibidos no sistema operacional. - Patrick R.


Os discos rígidos mecânicos e de estado sólido têm capacidade bruta superior à capacidade nominal. A capacidade "extra" é mantida de lado para substituir os setores defeituosos, para que os drives não tenham que ser perfeitos fora da linha de montagem, e para que os setores defeituosos possam ser mapeados mais tarde, durante o uso, para os setores sobressalentes. Durante os testes iniciais na fábrica, quaisquer setores defeituosos são mapeados para os setores sobressalentes. Como o drive é usado, ele monitora os setores (usando rotinas de correção de erros para detectar erros de nível de bits) e quando um setor começa a ficar ruim, ele copia o setor para um sobressalente, e então o remapeia. Sempre que esse setor é solicitado, a unidade vai para o novo setor, em vez do setor original.

Em unidades mecânicas, eles podem adicionar quantidades arbitrárias de armazenamento de reserva, pois controlam a codificação de servo, cabeçote e platter, para que possam ter um armazenamento classificado de 1 terabyte com um adicional de 1 gigabyte de espaço livre para remapeamento de setor.

No entanto, os SSDs usam memória flash, que é sempre fabricada em potências de dois. O silício necessário para decodificar um endereço é o mesmo para um endereço de 8 bits acessando 200 bytes como um endereço de 8 bits acessando 256 bytes. Como essa parte do silício não muda de tamanho, o uso mais eficiente do silício é usar potências de dois na capacidade real do flash.

Portanto, os fabricantes de drives estão com uma capacidade bruta total em potências de 2, mas ainda precisam reservar parte da capacidade bruta de remapeamento do setor. Isso leva a 256 GB de capacidade bruta fornecendo apenas 240 GB de capacidade utilizável, por exemplo.


23





Simplificando, todos os SSDs são, na base, não o que anunciam. O que eles anunciam é o espaço em disco "utilizável". Para a maioria das unidades com 120 GB "utilizáveis" de armazenamento, a unidade básica na verdade é uma unidade de 128 GB. 8 GB são reservados para algumas tarefas de gerenciamento de plano de fundo específicas, conforme mencionado anteriormente.

Agora, tecnicamente eles poderiam colocar outro chip na peça para lhe dar 128 GB de espaço "utilizável", mas isso custa mais dinheiro. As empresas que produzem drives perceberam que as pessoas se importam mais com o tamanho de sua unidade do que com o fato de seu espaço utilizável ser realmente um múltiplo de 2.

Sidenote - na verdade, existem algumas maneiras de escrever o código do sistema necessário, e é por isso que você verá unidades de 120, 124 e 128 GB de diferentes fabricantes. Todos eles têm 128 GB de espaço "bruto", mas eles lidam com as coisas de fundo necessárias de maneira diferente. Nenhuma versão da codificação da unidade é muito melhor do que as outras que você notaria na maioria dos casos. Você pode notar uma ligeira diferença nos benchmarks de desempenho, mas é muito improvável que você perceba a menos que seu computador esteja fazendo um trabalho pesado e saiba o que procurar.


6



não múltiplo de 2, mas poder de 2. - Keltari


Crescer em potências de dois é um conceito estritamente matemático que facilita o uso de atalhos matemáticos em um computador baseado em dois estados. Isso quer dizer que um computador pode realizar multiplicação de inteiros ou divisão por um fator de dois tão facilmente quanto você pode multiplicar ou dividir um número por 10. Você simplesmente desloca os dígitos para a esquerda ou para a direita sem ter que realmente realizar um cálculo.

Toda linguagem de programação possui operadores para estas operações simples, em linguagens tipo C, elas são n >> m aka shift n right m bits aka divide n by 2^me n << m aka shift left aka multiply n by 2^m. Dentro do processador, esta operação geralmente leva um ciclo e acontece com os dados no local. Qualquer outra operação aritmética, como multiplicar por 3, requer a chamada de uma Unidade Lógica de Aritmética (ALU) para gastar um ciclo extra ou dois empacotando os bits e copiando o resultado de volta para um certo registro. O céu te ajuda se você precisar de precisão de pontos decimais e a FPU [unidade de ponto flutuante] se envolver.

De qualquer forma, é por isso que o seu computador gosta de se referir a tudo internamente como poderes de dois. Se a máquina tivesse que ir para uma operação da ALU toda vez que quisesse fazer alguma matemática simples para calcular um deslocamento de ponteiro de memória, seu computador estaria executando uma ordem de grandeza mais lenta.

O crescimento do armazenamento físico, por outro lado, é governado menos pela matemática bruta do que pela física, engenharia e * engasga com a palavra * marketing. Com um disco de fuso a capacidade é determinada por: o número de pratos, o tamanho dos pratos, o tamanho dos "cilindros" e o número de setores que podem caber em um cilindro. Estes são geralmente determinados mais pelas capacidades físicas do hardware e pela precisão das cabeças de leitura / gravação do que qualquer outra coisa.

Não estou tão intimamente familiarizado com as características internas dos SSDs, mas imagino que o dimensionamento é baseado em: podemos construir uma matriz de setores N x NAND, colocá-los em profundidade em um chip e encaixá-los em um HDD de 2,5 ". Reserve H% deles para otimização de desempenho, arredondando o número para o múltiplo mais próximo de 5/10/20, e essa é a capacidade do drive que vamos imprimir na caixa.

Ter qualquer um desses cálculos funcionando com um pequeno poder de dois será um golpe completo e de pouco benefício para qualquer um.


1



Gostaria de observar que a facilidade de uso desses operadores de turno também depende do comportamento de preenchimento (0-pad ou 1-pad) da arquitetura que você está direcionando. Evidentemente, isso não é um problema com as linguagens de alto nível de hoje - Dudemanword
Pelo que ouvi, um bom compilador irá até mesmo em frente e substituirá operações matemáticas errantes como var = var / 256 com var >> 8 para você nos dias de hoje. - Sammitch
Os chips de memória são sempre dimensionados como potências de dois, de modo que o número de endereços válidos é exatamente limitado pelo número de sinais de endereço. Isso elimina a necessidade de um sinal de erro "chip selecionado por endereço fora do intervalo", e também torna a detecção de tamanho muito mais fácil. A unidade global pode não ser uma potência de 2 se o número de chips de memória não for (os primeiros SSDs da Intel usaram 10 canais cada um com 128 GB, para um total de 160 GB, por uma pequena vantagem em relação aos modelos de 128 GB da concorrência) - Ben Voigt


Nos SSDs mais antigos, a capacidade era em múltiplos de 8, porque há 8 "bits" (0/1) em um "byte". Assim como com flash drives, isso acontecia quando as pessoas não viam os benefícios para um SSD, e todos os "bits" ajudavam.

Agora que os consumidores estão mais conscientes da tecnologia SSD e também dos avanços na tecnologia, os fabricantes de SSD estão levando-os de volta aos números mais conhecidos por uma combinação de "estimativa" de tamanho, assim como o mercado de HDD, combinando chips de tamanhos diferentes para obter um número igual a 10 (por exemplo, 6 GB + 4 GB = 10 GB)


-8



Talvez você esteja confundindo bits e bytes? - James McLeod