Como as unidades de estado sólido baseadas em flash estão se tornando o principal meio de armazenamento permanente de informações nos datacenters, é importante perceber o quão confiáveis elas são. Até o momento, um grande número de estudos de laboratório de chips de memória flash usando testes sintéticos foi realizado, mas não há informações suficientes sobre seu comportamento em campo. Este artigo é dedicado aos resultados de um estudo de campo em larga escala que abrange milhões de dias de uso de discos rígidos, 10 modelos diferentes de unidades de estado sólido, várias tecnologias de memória flash (MLC, eMLC, SLC) e mais de 6 anos de uso operacional nos data centers do Google.

Examinamos uma ampla gama de características de confiabilidade desses dispositivos e chegamos a várias conclusões inesperadas. Por exemplo, quando uma unidade se desgasta, a Taxa de Erros de Bit Bit (RBER) aumenta a uma taxa muito mais lenta do que o indicador exponencial sugere e, mais importante, não permite prever a ocorrência de erros incorrigíveis ou outros tipos de erros.
A métrica UBER (Taxa de erro de bits irrecuperável) amplamente usada não é um indicador significativo de confiabilidade, pois não vimos a relação entre o número de leituras e o número de erros incorrigíveis. Também não encontramos evidências de que, durante a vida normal do SSD, as unidades baseadas na arquitetura SLC de nível único sejam mais confiáveis que as unidades MLC. Comparado aos discos rígidos tradicionais, a frequência de substituição de SSDs baseados em flash é muito menor, mas eles têm um nível mais alto de correção de erros.
1. Introdução
A popularidade do uso de drives flash de estado sólido baseados na tecnologia NAND em data centers está em constante crescimento. Quanto mais dados puderem ser colocados em um disco, maior a segurança e a disponibilidade das informações dependerão da confiabilidade da própria unidade flash. Embora as vantagens de desempenho dos SSDs em comparação aos HDDs sejam bem conhecidas, as características de falha das unidades flash não são bem conhecidas.
Os dados fornecidos pelos fabricantes de memória flash contêm apenas garantias vagas, como o número de ciclos de apagamento até que o dispositivo esteja completamente desgastado. Um entendimento típico do problema é baseado em estudos que estudam a confiabilidade de pen drives, realizando experimentos controlados em laboratório (por exemplo, testes de durabilidade acelerados). Ao mesmo tempo, um pequeno número de dispositivos selecionados aleatoriamente é usado para testar os efeitos de cargas de trabalho sintéticas. Faltam pesquisas para estabelecer uma ligação entre os resultados dos testes de laboratório e as características de confiabilidade dos pen drives que são operados em condições reais.
Este artigo fornece resultados detalhados de um estudo de campo da confiabilidade das unidades flash, com base nos dados coletados ao longo de 6 anos de operação nos data centers do Google. Esses dados abrangem milhões de dias de operação do disco (o número exato de discos e dispositivos que os utilizam é confidencial pelo Google, portanto não podemos fornecer números exatos. No entanto, conseguimos verificar a significância estatística dos dados fornecidos), dez modelos diferentes de drives flash, vários flash -tecnologias (MLC, eMLC e SLC) com tecnologia de chip de 24 a 50 nm.
Usamos esses dados para fornecer uma melhor compreensão da confiabilidade operacional da memória flash. Em particular, analisamos esses aspectos da confiabilidade do dispositivo:
- Vários tipos de erros que ocorrem na memória flash e a frequência de sua ocorrência no campo (seção 3).
- Taxa de erros de bits (RBER), a influência de fatores como desgaste, idade da unidade e carga de trabalho, bem como a relação do RBER com outros tipos de erros (seção 4).
- Erros irrecuperáveis, sua frequência e a influência de vários fatores sobre eles (seção 5).
- Características de campo de vários tipos de falhas no equipamento, incluindo falhas complexas, falhas de chip e a frequência de unidades de reparo e substituição (seção 6).
- 5. Comparação de confiabilidade de várias tecnologias de flash (discos MLC, eMLC, SLC) (seção 7) e comparação de confiabilidade SSD e HDD (seção 8).
Garantimos que nossa análise revele vários aspectos da confiabilidade da memória flash no campo, que diferem das conclusões feitas em trabalhos anteriores. Esperamos que nosso trabalho sirva de incentivo para futuras pesquisas nessa área.
Tab. 1. Características dos módulos que participaram dos testes de campo.2. Informações básicas sobre dados e sistemas
2.1 Drives Flash
Nossa pesquisa envolveu unidades SSD de alto desempenho em série baseadas em chips flash produzidos industrialmente, mas usamos uma interface PCIe personalizada, firmware personalizado e um driver. Nosso foco foi em duas gerações de unidades, em que todas as unidades da mesma geração usam o mesmo driver de dispositivo e o mesmo firmware. Isso significa que eles também usam os mesmos códigos de correção de erros (ECCs) para detectar e corrigir bits danificados e os mesmos algoritmos para determinar o grau de desgaste. A principal diferença entre os modelos de unidade da mesma geração é o tipo de chip de memória usado.
Nosso estudo se concentrou em 10 modelos de drive, cujas principais características são mostradas na Tabela 1. Selecionamos modelos de quatro fabricantes, cada um dos quais trabalhou por vários milhões de dias, usando os três tipos mais comuns de memória flash (MLC, SLC, eMLC).
2.2 Dados utilizados
Utilizamos dados do monitoramento diário da operação de drives flash em campo durante um período de 6 anos de operação. Além disso, vários tipos de erros foram contados diariamente, estatísticas sobre a carga de trabalho foram compiladas, incluindo o número de operações de gravação e exclusão e o número de blocos inválidos que ocorreram durante o dia foi calculado. O número de operações de leitura, gravação e exclusão incluiu o número de operações do usuário e o número de operações internas de "coleta de lixo". Também foram usadas gravações registrando casos de falha de chip, bem como casos de reparo ou substituição de SSDs.
3. A prevalência de vários tipos de erros
Vamos começar com algumas estatísticas básicas sobre a frequência de ocorrência de vários tipos de erros no campo. Destacamos erros transparentes que são invisíveis para o usuário e erros opacos que levam à falha nas operações do usuário. O driver da unidade flash relata os seguintes tipos de erros transparentes:
Erro corrigível: durante uma operação de leitura, o erro detectado é corrigido pela função interna de correção de erros do ECC.
- Erro de leitura Erro de leitura: um erro que ocorre durante o processo de leitura (para memória sem correção de erro não-ECC), corrigido após leitura repetida;
- Write error Write error: operação de gravação de erro que é bem-sucedida após tentar novamente.
- Apagar erro Apagar erro: A operação de exclusão no bloco falha.
Os dispositivos também relatam os seguintes tipos de erros opacos:
- Erro incorrigível: durante a operação, ocorrem mais bits danificados do que o ECC pode corrigir.
- Erro final de leitura Erro final de leitura: um erro que ocorreu durante a leitura não é corrigido em tentativas repetidas;
- Erro de gravação final Erro de gravação final: um erro que ocorreu durante a gravação não é corrigido em tentativas repetidas;
- Meta-erro Meta-erro: erro ao acessar os metadados internos do disco.
- Erro de tempo limite: a operação é interrompida após 3 segundos.
Erros fatais incluem erros que foram detectados durante operações iniciadas pelo usuário ou operações internas de coleta de lixo, enquanto erros finais de leitura incluem erros que ocorreram durante as operações do usuário.
Observe que os erros variam em gravidade do impacto. Além da diferença entre erros transparentes e opacos, a gravidade dos próprios erros opacos muda. Em particular, alguns desses erros (erro final de leitura, erro fatal, meta erro) levam à perda de dados se o sistema não tiver redundância em níveis mais altos, porque o disco não pode fornecer ao usuário os dados que foram aceitos para armazenamento.
Consideramos apenas discos que foram colocados em produção há pelo menos 4 anos (os discos eMLC foram lançados há 3 anos, por se tratar de um tipo mais recente de unidades flash) e erros que ocorreram durante os primeiros 4 anos de operação. A Tabela 2 mostra a porcentagem de unidades de cada modelo que estão sujeitas a vários tipos de erros se esses erros ocorreram pelo menos uma vez (metade superior da tabela) e a porcentagem de dias de operação durante os quais as unidades foram sujeitas a erros de um determinado tipo (metade inferior da tabela).
Tab. 2. A prevalência de vários tipos de erros. A metade superior da tabela mostra a porcentagem de discos afetados por erros e a metade inferior mostra a porcentagem de dias de uso do disco durante os quais ocorreram vários tipos de erros.3.1 Erros opacos
Acreditamos que os erros opacos mais comuns são erros finais de leitura, ou seja, erros que não podem ser corrigidos por uma operação de leitura repetida. Dependendo do modelo da unidade, pelo menos 20-63% dos dispositivos têm esse erro ocorrido dentro de 2 a 6 dias em 1000 dias após a operação do disco.
Concluímos que o número de erros de leitura final está altamente correlacionado com o número de erros incorrigíveis e que esses erros de leitura final ocorrem apenas porque o dano ao bit não pode ser corrigido usando o ECC. Para todos os modelos de disco, os erros finais de leitura ocorrem 2 ordens de magnitude com mais frequência (se você se concentrar no número de dias em que os discos foram usados quando esses erros ocorreram) do que em qualquer outro tipo de erro opaco.
Ao contrário dos erros de leitura, os erros de gravação raramente se transformam em erros opacos. Dependendo do modelo, apenas 1,5-2,5% dos discos apresentaram um erro final de gravação dentro de 1 a 4 dias em 10.000 dias de operação, ou seja, operação de gravação malsucedida que não foi corrigida após tentativas repetidas. Essa diferença na frequência dos erros finais de leitura e gravação deve-se provavelmente ao fato de que a operação de gravação com falha foi simplesmente corrigida gravando em outro local do disco na área com os bits intactos. Portanto, se a falha da operação de leitura puder ser causada apenas pela presença de vários bits corrompidos, o erro final de gravação indica um problema maior de hardware.
Meta erros ocorrem em uma frequência comparável à taxa de erros de gravação, mas novamente com muito menos frequência do que os erros finais de leitura. Isso não é surpreendente, já que o disco contém muito menos metadados do que a quantidade de dados reais, o que reduz a frequência de acesso aos metadados. Outros erros opacos (erros de tempo limite e erros de resposta) são bastante raros e, como regra, afetam menos de 1% dos discos durante 1 dia em 100.000 dias de operação do disco.
3.2 Erros transparentes
Não é de surpreender que as correções de erros sejam o tipo mais comum de erro transparente. Quase todas as unidades possuem pelo menos alguns erros corrigíveis que ocorrem durante a maioria dos dias de operação do disco (61-90%). Os erros que podem ser corrigidos com mais detalhes, incluindo a análise de taxa de erro de bits (RBER), são discutidos na Seção 4 deste artigo.
Os seguintes tipos de erros transparentes mais comuns são erros de gravação e exclusão. Geralmente eles ocorrem em 6-10% das unidades, mas para alguns modelos os SSDs chegam a 40-68%. Na maioria dos casos, esses erros ocorrem em menos de 5 dias em 10.000 dias de operação. De acordo com nossa pesquisa, erros de gravação e exclusão indicam danos à unidade, esse problema é discutido em detalhes na seção 6.
Erros que ocorrem durante operações de leitura são menos comuns que erros transparentes, provavelmente porque, além de corrigir erros dinamicamente usando o ECC, esse problema não é corrigido por operações repetidas. Erros de leitura incompletos, ou seja, erros de leitura que podem ser corrigidos por tentativas repetidas, ocorrem em menos de 2% das unidades e duram menos de 2 a 8 dias em 100.000 dias de operação em disco.
Como resultado, além dos erros corrigíveis que ocorrem em um grande número de dias de operação do disco, erros transparentes ocorrem com menos frequência em comparação com todos os tipos de erros opacos. O tipo mais comum de erros opacos são erros incorrigíveis que ocorrem entre 2 a 6 dias em 1000 dias de operação do disco.
4. Taxa de erros de bits (RBER)
A métrica padrão para avaliar a confiabilidade das unidades flash é a taxa de erro de bits (RBER) de um disco, definida como a proporção entre o número de bits danificados e o número de bits lidos (incluindo casos de erros corrigíveis e não corrigíveis).
A segunda geração de unidades (modelos eMLC-A e eMLC-B) fornece o número exato de bits danificados e de leitura, permitindo determinar o RBER com alta precisão.
A primeira geração de unidades relata o número exato de bits lidos, mas para cada página composta por 16 blocos de dados, é fornecido um relatório sobre o número de bits danificados apenas do bloco de dados que teve o maior número de bits danificados. Como resultado, no pior caso estatístico, quando todos os blocos contêm erros e o número desses erros é o mesmo, o coeficiente RBER pode ser 16 vezes maior que o coeficiente obtido com base no relatório de status do disco.
Esse problema não importa muito enquanto a comparação é feita entre unidades da mesma geração, mas deve ser levada em consideração ao comparar unidades de gerações diferentes.
Tab. 3. Taxa de erro de bits agregada RBER para vários modelos de SSD.4.1 Revisão RBER de alto nível
A Tabela 3 mostra o valor médio do RBER para cada modelo de unidade para todas as unidades deste modelo, bem como os percentis 95 e 99. Decidimos trabalhar com medianas e percentis, porque achamos que os indicadores médios são altamente tendenciosos devido a vários valores nitidamente distintos, o que dificulta a identificação de tendências.
Observamos grandes diferenças no RBER para diferentes modelos de unidades, variando de 5,8e-10 a mais de 3e-08 para unidades de primeira geração. Essas diferenças são ainda maiores quando se considera não o valor mediano da RBER, mas o percentil 95 ou 99. Por exemplo, o percentil 99 da RBER varia de 2,2e-08 para o modelo SLC-B a 2,7e-05 para o modelo MLC-D. Existem grandes diferenças mesmo dentro da linha de acionamento do mesmo modelo: o acionador RBER no percentil 99 tende a ser pelo menos uma ordem de magnitude maior que o acionador RBER mediano do mesmo modelo.
A diferença RBER entre os modelos pode ser parcialmente explicada por diferenças na tecnologia flash subjacente. O valor do RBER para os modelos MLC é mais alto do que para os modelos SLC; portanto, o preço mais alto dos modelos SLC leva em consideração o valor mais baixo do RBER. Na seção 5 deste artigo, veremos como essas diferenças se traduzem em diferenças nos erros opacos visíveis ao usuário.
Os modelos EMLC relatam o RBER, que é várias ordens de magnitude mais altas que as de outros modelos de inversores. Mesmo considerando que as unidades RBER de primeira geração podem ser 16 vezes maiores no pior caso, a diferença existente nos valores do coeficiente é uma ordem de magnitude maior. Assumimos que existe um fator de tamanho, uma vez que os dois modelos de eMLC possuem chips com a menor litografia microeletrônica em comparação com todos os outros modelos de inversores.
Por fim, não há fabricantes cujos produtos tenham vantagens sobre produtos de outros fabricantes. No grupo de discos SLC e eMLC, o mesmo fornecedor produz um dos piores e um dos melhores modelos do grupo.
Em geral, o RBER varia muito entre os modelos de disco e entre os SDDs do mesmo modelo. Isso nos motiva a estudar mais os fatores que influenciam o RBER.
4.2 Quais fatores influenciam o valor RBER
Nesta seção, examinaremos o efeito no RBER de vários fatores:
- desgaste causado por ciclos de programa / apagamento (PE);
- idade física, isto é, o número de meses durante os quais o dispositivo foi operado em campo, independentemente dos ciclos de PE;
- carga de trabalho, medida pelo número de operações de leitura, gravação e exclusão, bem como o número de operações na página que podem potencialmente danificar as células de memória circundantes;
- a presença de outros tipos de erros.
Estudamos o efeito de cada fator no RBER de duas maneiras diferentes. Utilizamos dados visuais visuais, plotando a influência de fatores no RBER e investigamos indicadores quantitativos de influência usando o coeficiente de correlação. Utilizamos o coeficiente de correlação de Spearman, uma vez que ele pode abranger relações não lineares monotônicas em métodos não paramétricos, em contraste com, por exemplo, o coeficiente de correlação de Pearson.
Antes de analisar os fatores individuais em detalhes, compilamos um gráfico de resumo, como mostra a Figura 1.
Fig. 1. A dependência do coeficiente de correlação de classificação de Spearman entre o valor RBER durante o mês de operação do disco e outros fatores.Isso mostra a relação entre o coeficiente de correlação de classificação de Spearman entre o valor RBER durante o mês de operação do disco e fatores como o número de ciclos PE anteriores, o número de leituras, gravações ou apagamentos neste mês, o valor RBER no mês anterior e o número de erros incorrigíveis (UE) em mês anterior. O coeficiente de correlação de Spearman pode variar de -1 (forte correlação negativa) a +1 (forte correlação positiva).
Cada grupo de etiquetas mostra os coeficientes de correlação entre o RBER e um fator específico (consulte a interpretação no eixo X), e as etiquetas diferentes em cada grupo correspondem a diferentes modelos de acionamento. Todos os coeficientes de correlação merecem mais de 95% de confiança.
Garantimos que todos os fatores, exceto a ocorrência de erros fatais no mês anterior, mostrem uma relação clara com o RBER, pelo menos em alguns modelos. Também chamamos a atenção para o fato de que algumas dessas dependências podem ser falsas, uma vez que alguns fatores podem se correlacionar entre si; portanto, examinamos cada fator com mais detalhes na próxima subseção.
4.2.1 RBER e desgaste
Como a resistência da célula de memória flash é limitada, o coeficiente RBER aumenta com o aumento dos ciclos de Programa / Apagamento (PE). Os altos coeficientes de correlação entre os ciclos RBER e PE na Figura 2 comprovam sua relação.
Fig. 2. A dependência da mediana e RBER a 95% do número de ciclos de PE.2 95- RBER . , PE, 95- RBER .
, , RBER PE , 95- RBER. , , . : , , .
, RBER , , RBER PE. , MLC RBER PE, , PE (3,000 MLC), 4- RBER.
, , RBER , (., , MLC-D PE = 3000). , RBER 3- PE, , , PE.
…
, . ? ? Ajude-nos fazendo um pedido ou recomendando a seus amigos, um
desconto de 30% para os usuários da Habr em um análogo exclusivo de servidores básicos que inventamos para você: Toda a verdade sobre o VPS (KVM) E5-2650 v4 (6 núcleos) 10GB DDR4 240GB SSD 1Gbps de US $ 20 ou como dividir o servidor? ( RAID1 RAID10, 24 40GB DDR4).
Dell R730xd 2 ? 2 Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 $199 ! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — $99! . c Dell R730xd 5-2650 v4 9000 ?