
Todo mundo conhece o lendário
teste de confiabilidade do SSD da 3dnews (publicação de 2018.01), como resultado de algumas unidades de orçamento excederem o recurso declarado pelo fabricante por um fator de dez.
Após este estudo, a teoria teológica da conspiração pareceu que os fabricantes subestimam os recursos dos SSDs orçamentários, e espalhou-se a crença de que quase todos os SSDs são capazes de fazer e realizar qualitativamente o nivelamento de desgaste.
Um estudo do 3dnews.ru foi realizado com base nos
testes do Techreport.com (publicado em 2013.08.20).
A metodologia para medir a resistência ao desgaste também foi usada da mesma forma.
Técnica do relatório técnico:
Podemos empurrar os limites de resistência do SSD muito mais rapidamente com benchmarks sintéticos. Existem inúmeras opções, mas a melhor opção é a Utilitários de Armazenamento, da Anvil.
Desenvolvido por um freqüentador dos fóruns do XtremeSystems, este pequeno aplicativo útil inclui um teste de resistência dedicado que preenche as unidades com arquivos de tamanhos variados antes de excluí-los e iniciar o processo novamente. Podemos ajustar a carga útil de cada loop para gravar a mesma quantidade de dados em cada unidade. Há uma verificação de hash MD5 integrada que verifica a integridade dos dados, e a velocidade de gravação é mais do que uma ordem de magnitude mais rápida que a taxa efetiva de gravação do DriveBench 2.0.
O teste de resistência da bigorna grava arquivos sequencialmente, portanto não é uma simulação ideal do mundo real. No entanto, é a melhor ferramenta que temos e nos permite carregar unidades com uma parte dos dados estáticos para desafiar as rotinas de nível de desgaste. Estamos usando 10 GB de dados estáticos, incluindo uma cópia da pasta de instalação do Windows 7, um punhado de arquivos de aplicativos e alguns filmes.
Técnica 3dnews.ru:
Portanto, em nosso teste de resistência, usamos unidades formatadas com o sistema de arquivos NTFS, no qual dois tipos de arquivos são criados contínua e alternadamente: pequeno - com um tamanho aleatório de 1 a 128 KB e grande - com um tamanho aleatório de 128 KB a 10 MB. Durante o teste, esses arquivos com preenchimento aleatório são multiplicados, enquanto a unidade possui mais de 12 GB de espaço livre, quando esse limite é atingido, todos os arquivos criados são excluídos, uma breve pausa é feita e o processo é repetido novamente. Além disso, o terceiro tipo de arquivo também está presente nas unidades de teste - permanente. Esses arquivos com um volume total de 16 GB não participam do processo de exclusão / substituição, mas são usados para verificar a operacionalidade correta das unidades e a legibilidade estável das informações armazenadas: a cada ciclo de preenchimento do SSD, verificamos a soma de verificação desses arquivos e a comparamos com o valor de referência calculado previamente.
Nos dois casos, foram utilizados os Utilitários de Armazenamento da Anvil.
1. E o que há de errado com a técnica?
O problema é que o disco enche sequencialmente. O que não corresponde aos casos de uso reais ou ao procedimento de resistência ao desgaste recomendado pelo
JEDEC (comitê de padronização de engenharia de semicondutores, também chamado de Solid State Technology Association, que inclui todos os maiores fabricantes de memória flash).
O sistema operacional e o controlador (se houver um pequeno cache DRAM) agrupam blocos consecutivos que vão para a gravação e anotação de grandes blocos nativos característicos de um dispositivo específico. Ao mesmo tempo, praticamente não há ganho de gravação e praticamente não há necessidade de algoritmos de nivelamento de desgaste.
Em condições reais, o multiplicador e a implementação de alta qualidade do algoritmo de nivelamento de desgaste têm um forte efeito no recurso de armazenamento.
Problema 1. Ao gravar sequencialmente arquivos WAF ≈ 1
Um teste construído de tal forma que o fator de multiplicação de registros (WAF) tenda a se unir nele, previsivelmente dará resultados superestimados no recurso. A maioria dos discos analisados pelo 3dnews (dos quais WAF pôde ser extraído) teve um ganho de gravação de -1-1,11. Os especialistas da 3dnews explicaram isso com algoritmos de controlador eficientes. Apenas literalmente uma instância do WAF tinha 3 para ser explicada por um controlador ineficaz.
No entanto, na minha opinião, o ponto principal está na metodologia de teste, que gerou um registro seqüencial (no qual WAF → 1), que deu uma superestimação do recurso dos drives SSD.
A seguir, vou avaliar quantas vezes.
Problema 2. A qualidade do algoritmo de nivelamento de desgaste não é testada
Com o enchimento sucessivo do disco e a subsequente exclusão, o mecanismo de nivelamento de desgaste é pouco testado. Se o fabricante pretendeu criar os primeiros GB do disco (onde o bitmap do disco, FAT e outros metadados estão trabalhando) trabalhando no modo SLC (ou armazenando em cache no buffer de RAM), o algoritmo de nivelamento de desgaste pode estar completamente ausente no firmware e ainda será alcançado com a gravação sequencial excelentes indicadores de recursos.
Problema 3. A retenção de dados após a exaustão do recurso não é testada
Se você estiver viajando por vários meses, não está claro se é possível confiar em um disco que desenvolveu seu recurso de passaporte.
Problema 4. O preenchimento seqüencial de um disco, seguido de apagamento quase completo, não é um padrão de comportamento real definido pelo usuário
Como o SSD ainda é um recurso bastante caro, as pessoas geralmente tentam usá-lo o máximo possível e deixam um espaço livre mínimo.
O teste ideal, na minha opinião, é que durante o teste, o SSD permanece obstruído em 80-90%, enquanto exclui aleatoriamente arquivos antigos e adiciona novos.
2. Gravando fatores de animação
2.1 Fragmentação do sistema de arquivos
Como a desfragmentação está desabilitada para SSDs do Windows e o tamanho do cluster NTFS é 4K por padrão, na vida real o disco está muito fragmentado. Nesse caso, até a gravação seqüencial transforma a velocidade em quase aleatória.
Para anotar 1 cluster alterado, o controlador deve primeiro ler a página de hardware NAND inteira (que pode atingir centenas de kilobytes de tamanho), alterar 4K e depois escrever tudo. Se o tamanho da capacidade útil da página NAND for 64K, temos um ganho de gravação de 16 vezes.
Tamanhos reais de página no NANDDo comentário :
Os tamanhos de página reais nos chips NAND geralmente não são centenas de kilobytes, mas 528, 2112, 4224, 4320, 8576, 8640, 8832, 8896, 9216, 17664, 18048, 18336, etc. Tamanhos pequenos são válidos para chips SLC antigos, pois os tamanhos TLC e QLC são maiores. Tamanhos estranhos porque, além dos dados do usuário, é necessário armazenar dados auxiliares (ECC, sinalizadores, números de bloco, contadores de registros, etc.).
2.2 Algoritmo de alinhamento de desgaste
Esse algoritmo pode ser implementado como um processo separado dentro do controlador. Funcionará mais ou menos assim:
Para mover dados estáticos para uma área com maior desgaste, é necessário registrar um tamanho igual aos dados que estão sendo movidos, desde que exista um bloco TRIM liberado. E com um pequeno número de blocos gratuitos, você precisa fazer 2 entradas para trocar dados.
RAM = a a = b b = RAM
Com um buffer DRAM pequeno ou ausente, são necessárias três entradas.
temp = a a = b b = temp
Essas operações em um algoritmo ideal de nivelamento de desgaste serão extremamente raras, pois faz sentido mover apenas dados estáticos para usar páginas com baixo desgaste, portanto, negligenciaremos o efeito do algoritmo de nivelamento de desgaste na animação de registros. Embora, é claro, não haja garantia de que algoritmos reais usem algoritmos ideais.
2.3 A gravação típica de SSD é aleatória, bloco de 4-8 KB
A natureza usual das gravações SSD é basicamente um
registro aleatório de 8 KB . Mesmo se não houver fragmentação, o tamanho de um bloco de gravação típico será menor que o tamanho da página NAND e fará com que a gravação se multiplique.
2.4 Algoritmo de coleta de lixo
Aqui estão as maiores armadilhas. O tamanho do bloco na memória NAND atinge vários megabytes. Um bloco consiste em várias páginas.
As páginas podem ser lidas e escritas separadamente, e um bloco só pode ser completamente apagado.
Com o tempo, muitas páginas do bloco são marcadas como inválidas, porque os dados que foram alterados e gravados em outro local ou devido a uma chamada TRIM. E, mais cedo ou mais tarde, o coletor de lixo deve pegar alguns blocos parcialmente cheios e montar blocos completamente escritos e gratuitos.
Enquanto houver espaço livre, é mais provável que nem seja iniciado; portanto, com o tempo, vários furos se formam nos blocos.
Quanto menos espaço em disco, mais rápido o WAF (Write Amplification Factor) aumenta.
Para ilustrar o aumento do WAF, darei a seguinte imagem:

A imagem mostra blocos de memória NAND com dados preenchidos a 87,5%, paginados. Para liberar espaço para a gravação, ocorre um rearranjo, no qual 7 blocos são reescritos e apagados 1. Total WAF resulta =
8 !
Obviamente, você também deve levar em consideração que a maioria dos SSDs tem uma área de backup na qual a redistribuição de gravação também ocorre. Mas, como regra, é pequeno.
O tamanho típico da área oculta para unidades consumidoras é de
7,37% , conforme Os fabricantes indicam o tamanho em bilhões de bytes e os microcircuitos têm capacidade em gigabytes. 1 gigabyte = 1.073.741.824 bytes).
Se o disco estiver 90% cheio e houver uma área oculta de 7,37%, o WAF será
6,18 !
O WAF pode ser classificado usando esta fórmula:
K plenitude do disco - de 0 a 1, onde 1 - 100% da plenitude do disco.
K área de reserva - de 1, onde 1 - 0% da área de reserva, 1,1 - 10% da área de reserva e assim por diante.
Um gráfico aproximado de WA versus porcentagem de espaço livre em disco.

O gráfico mostra que o WA aumenta catastroficamente à medida que o disco fica cheio, chegando a 15 quando o disco está cheio com uma área livre de
7,37% (um número típico para discos de consumo, porque os fabricantes indicam o tamanho em bilhões de bytes e os microcircuitos têm capacidade em gigabytes. 1 gigabyte = 1.073.741.824 bytes).
Você provavelmente percebeu o quanto o telefone começa a ficar mais lento se houver apenas uma porcentagem de espaço livre lá. Afinal, ele também usa memória flash. Entupir a memória a 100% não é apenas terrivelmente lento, mas também gasta muito recurso de armazenamento.
Um artigo separado sobre o tópico .
2.5 WAF total de todos os fatores
Os WAFs introduzidos por fatores pouco acoplados se multiplicam.
3. Metodologia para medir recursos do JEDEC para SSDs personalizados
Nas Cargas de Trabalho de Resistência da Unidade de Estado Sólido (SSD) da JEDEC de setembro de 2010, a revisão do JESD219A descreve a metodologia para testar SSDs.
Em resumo: os engenheiros da JEDEC registraram logs de gravações, TRIM e flush (um comando para liberar buffers em disco) de um usuário de laptop por 7 meses, trabalhando principalmente com programas de escritório. Presumivelmente, o Windows 7 foi instalado no laptop (suporta TRIM desde 2009) no sistema de arquivos NTFS
com um tamanho de cluster de 4K .
Referência do usuário Detalhes do computador e estatísticas geraisPlataforma e Carga de TrabalhoColetado no laptop padrão, 2 GB de RAM, SSD SATA de 128 GB, sistema operacional compatível
Uso principal: produtividade do escritório
Uso secundário: armazenamento de fotos, músicas e aplicativos
Características de rastreioGravações / guarnições / descargas capturadas em um arquivo no formato CSV: $ command offset size
Tamanho de 49 GB (total de dados tocados)
128 GB estendidos (intervalo de LBAs acessados)
Quantidade média de espaço aparado = 13 GB (média na duração do rastreamento)
Outras características de rastreamento
Analisei esse log para entender quais atividades foram registradas lá.
Durante o teste, é recomendável repetir entradas usando
esse log (rastreamento mestre) até que o número necessário de terabytes registrados (TBW) seja discado, após o qual você precisará verificar por quanto tempo as células armazenam a carga (tempo de retenção). Para um SSD personalizado, esse tempo deve ser de aproximadamente 2 anos a uma temperatura de armazenamento de 25 ℃ se a temperatura operacional for de 40 ℃. Como ninguém espera 2 anos, eles aumentam a temperatura de armazenamento, o que leva a um maior vazamento de elétrons e, de acordo com tabelas especiais (construídas de acordo com
a equação de Arrhenius ), o tempo de armazenamento de dados à temperatura normal é calculado.

Fatos interessantes:
Como você sabe, a memória NAND é dividida em páginas que são combinadas em blocos. A escrita e a leitura ocorrem página a página e são apagadas apenas em blocos.
Quando você precisa reescrever algo, o firmware ideal funciona da seguinte maneira: ele grava páginas com dados modificados em um bloco em que ainda existem páginas não escritas e estabelece uma nova correspondência LBA → página em FTL (Flash Translation Layer) e marca a página antiga como inválida. Se não houver tais blocos, o coletor de lixo será iniciado, que compila os dados dos blocos semi-preenchidos nos preenchidos com a liberação dos blocos.
Esta é uma opção ideal. Nem todos os SSDs personalizados possuem bons algoritmos de nivelamento de desgaste. Como visto nos resultados de testes dramaticamente diferentes do 3dnews.
Um tamanho de página típico é de 8 KB e acima, e um tamanho de bloco de 2 MB e acima. Nos testes JEDEC, a unidade nunca preencheu mais de 38%; portanto, como suspeito, sempre havia blocos livres lá e, portanto, não havia trabalho ativo do coletor de lixo, que também desperdiça recursos SSD. Mas havia WAF (Write Multiplication Factor) devido ao fato de os dados serem escritos às vezes com páginas incompletas e, às vezes, um registro passado ao longo da borda das páginas NAND.
Eu escrevi um script para calcular o WAF, dependendo do tamanho da página no teste do JEDEC. Aqui está o WAF, dependendo do tamanho da página NAND:
No teste do 3dnews, o WAF é aproximadamente 1, pois os arquivos são gravados seqüencialmente e o Windows possui cache de gravação, durante o qual os setores são gravados de maneira ordenada.
Em um cenário típico, quando a página é 8K (Samsung 840 EVO), o WAF é de apenas 1,11 (um erro de 11% dos dados do 3dnews), o que parece ser perdoado. Mas se levarmos em conta o WAF, que introduz o algoritmo de coleta de lixo, não podemos perdoar.
4. Metodologia JEDEC para testar unidades corporativas quanto à resistência ao desgaste
É descrito muito mais formalizado e as condições são mais severas. Uma porcentagem clara de registros de vários comprimentos é especificada. Registros com tamanho de até 4096 bytes podem ser deslocados aleatoriamente e, com um comprimento superior a 4K, devem ser alinhados com as compensações de 4K.
Cálculo do WAF, dependendo do tamanho da página.5. Cálculo de emendas aos resultados dos testes 3dnews
Precisamos de fatores de correção para converter a resistência ao desgaste de acordo com o 3dnews na resistência ao desgaste de acordo com o método Jedec.
Para começar, reduziremos o resultado alcançado em 2 vezes, pois os testes não verificaram a durabilidade do armazenamento. Ninguém quer descobrir que, depois de umas férias, a unidade em seu computador parou de funcionar ou estava coberta de defeitos. O número 2 é retirado do teto.
De acordo com o método JEDEC, o disco está apenas 38% cheio, o que nos dá um aumento no WAF devido à coleta de lixo de 1,55 vezes (de acordo com a fórmula acima). Essa proporção estará no denominador.
A seguir, levaremos em consideração o fator de multiplicação de registros, dependendo do tamanho da página NAND (obtido analisando o teste de SSDs personalizados usando o método JEDEC) e multiplicaremos pelo WAF, que temos do coletor de lixo.
Fatores de correção para discos com uma área em excesso de 7,37%.Fatores de correção para discos com uma área em excesso de 10%. Fatores de correção para discos com uma área em excesso de 20%. Fatores de correção para discos com uma área em excesso de 30%. 6. Alterações nos resultados de teste do 3dnews para o uso de SSDs personalizados em servidores
Devo dizer que esta é uma má ideia. Mas muitos fazem isso. Portanto, tentaremos calcular fatores de correção para determinar o recurso de discos do usuário como servidores. Tomamos resistência ao desgaste dos testes da 3dnews e a dividimos pelo coeficiente necessário para obter o recurso esperado (metodologia JEDEC) para uso corporativo.
Os servidores não exigem esse armazenamento de longo prazo no estado desconectado, como nos SSDs do usuário. Aqui está a tabela correspondente:

Em uma temperatura típica de operação de 50 ℃ sob carga, o inversor deve fornecer 58 semanas a 1 ano de armazenamento de dados no estado desligado a 25 ℃.
Para aplicativos personalizados (onde a segurança dos dados é necessária por 2 anos no estado desligado), reduzimos o recurso em 2 vezes. Para uso corporativo, uma vida útil tão longa não é necessária; portanto, adotamos um número menor, por exemplo, 1.3.
Depois disso, multiplicamos pelo WAF, típico da carga corporativa, e depois levamos em conta o trabalho do coletor de lixo e obtemos as seguintes tabelas de coeficientes. O resultado obtido pelo 3dnews precisa ser dividido por esse número.
Há um problema com o fato de o padrão não descrever o tamanho da área de backup ou o espaço livre para unidades corporativas. Portanto, não podemos avaliar com precisão o WAF do
teste corporativo da JEDEC ; portanto, tiraremos esse número (1,55) do teste SSD personalizado da JEDEC.
Fatores de correção para discos com uma área em excesso de 7,37%.Fatores de correção para discos com uma área em excesso de 10%. Fatores de correção para discos com uma área em excesso de 20%. Fatores de correção para discos com uma área em excesso de 30%. 8. Conclusões
Se você nunca desligar o computador por vários meses, o tamanho da página NAND não será superior a 16 KB e o disco estará aproximadamente pela metade, os indicadores de recursos alcançados pelo 3dnews precisarão ser divididos por 3.
Para um cenário típico (ocupação de disco 90%, tamanho da página 8 KB), para obter um recurso de acordo com os padrões JEDEC, divida por 9 o recurso obtido pelo 3dnews.
Se você às vezes fizer viagens muito longas e a unidade não for usada no momento, aconselho a permanecer no recurso de passaporte, após o qual a unidade deve ser alterada.
Em casos raros, quando o tamanho da página NAND é superior a 16 KB e o disco é bastante denso, para calcular o recurso real da unidade, ele precisa ser reduzido em dezenas e, às vezes, centenas de vezes.
E se você colocar uma unidade de orçamento no servidor, cuide da invasão e do backup. Você não terá um tempo de resposta e velocidades estáveis, proteção de energia e outras vantagens de unidades corporativas, mas poderá calcular o recurso usando divisores de correção na tabela correspondente do artigo. Em um caso típico, divida por 11.
Referências
→
Otimizando o Linux com pen drives baratos→
Como determinar o tamanho da página e o bloco de memória flashPS Direct erros que você percebe no PM. Eu aumento o carma por isso.
Obrigado pela imagem TripletConcept .
Você pode solicitar uma máquina virtual com SSD da
RUVDS para o cupom abaixo.
