Existe alguma evidência de que a memória ECC seja necessária ou benéfica para usar? Os benefícios e o mecanismo de ação são fáceis de entender, mas nunca ouvi evidências para justificar seu uso.
de Drew Stephens
E quais são as várias conseqüências possíveis da ocorrência de tais erros de memória (bit)? Por exemplo, acabei de desligar um servidor que ficou on-line por 5 anos sem interrupção (com ram ECC) e, no geral, tudo correu bem, nunca tive reclamações de clientes hospedados lá ou que já experimentaram um grande problema. falha nisso ... Mesmo com a minha experiência com computadores desktop - um BSOD aqui e ali muito raramente, mas isso é tudo? :)
Denis Volovik
@ Denis, acho que se você quer que as pessoas respondam sua pergunta, talvez seja necessário fazer uma pergunta separada, em vez de um comentário.
perfil completo de Toby Allen
Respostas:
28
A RAM do ECC pode se recuperar de pequenos erros em bits, utilizando bits de paridade. Como os servidores são um recurso compartilhado, onde o tempo de atividade e a confiabilidade são importantes, a RAM do ECC geralmente é usada com apenas uma modesta diferença de preço. A RAM ECC também é usada em estações de trabalho CAD / CAM, onde pequenos erros de bits podem causar erros de cálculo que se tornam problemas mais significativos quando um projeto é fabricado.
Um pequeno erro em um número em qualquer lugar, incluindo o pacote financeiro de pequenas empresas de alguém, pode ser muito pequeno ou muito grande. Tudo depende de que parte.
Zan Lynx
Acrescente a isso o fato de que o erro errado no lugar errado pode derrubar muito mais de uma máquina quando você virtualiza para consolidar.
MikeyB
11
Só estou esperando uma empresa sem escrúpulos reivindicar que sua fraude contábil foi realmente apenas um pequeno erro.
Este artigo fornece o primeiro estudo em larga escala de erros de memória DRAM em campo. Ele se baseia em dados coletados da frota de servidores do Google por um período de mais de dois anos, perfazendo muitos milhões de dias DIMM. A DRAM em nosso estudo abrange vários fornecedores, densidades e tecnologias de DRAM (DDR1, DDR2 e FBDIMM).
O artigo aborda as seguintes perguntas: Qual é a frequência dos erros de memória na prática? Quais são as suas propriedades estatísticas? Como eles são afetados por fatores externos, como temperatura e utilização do sistema? E como eles variam com fatores específicos de chip, como densidade de chips, tecnologia de memória e idade de DIMM?
Descobrimos que, em muitos aspectos, os erros DRAM no campo se comportam de maneira muito diferente do que normalmente se supõe. Por exemplo, observamos taxas de erro de DRAM que são ordens de magnitude superiores às relatadas anteriormente, com taxas de FIT (falhas no tempo por bilhão de horas de dispositivo) de 25.000 a 70.000 por Mbit e mais de 8% dos DIMMs afetados por ano. Fornecemos fortes evidências de que os erros de memória são dominados por erros físicos, em vez de erros físicos, nos quais a maioria dos trabalhos anteriores se concentra. Descobrimos que, dentre todos os fatores que afetam o comportamento de erro de um DIMM no campo, a temperatura tem um efeito surpreendentemente pequeno. Por fim, diferentemente do temido, não observamos nenhuma indicação de que as taxas de erro por DIMM aumentem com as novas gerações de DIMMs.
Interessante que a maioria dos erros de memória seja difícil - erros de memória rígida são irrecuperáveis, o que significa que a memória deve ser substituída fisicamente como falha , enquanto os erros de memória flexível podem ser corrigidos substituindo a memória pelo valor correto. Isso indica para mim que o valor do ECC é bastante limitado.
Existem dois tipos de erros que normalmente podem ocorrer em um sistema de memória. O primeiro é chamado de erro repetitivo ou difícil. Nessa situação, um pedaço de hardware está quebrado e sempre retorna resultados incorretos. Um bit pode ficar travado para que ele sempre retorne "0", por exemplo, não importa o que seja gravado nele. Erros físicos geralmente indicam módulos de memória soltos, chips queimados, defeitos na placa-mãe ou outros problemas físicos. Eles são relativamente fáceis de diagnosticar e corrigir porque são consistentes e repetíveis.
Parece que todos os servidores do estudo usaram ECC, portanto, não podemos saber taxas de erro de ECC vs. não-ECC.
Este artigo estudou a incidência e as características dos erros DRAM em uma grande frota de servidores básicos. Nosso estudo é baseado em dados coletados por mais de 2 anos e abrange DIMMs de vários fornecedores, gerações, tecnologias e capacidades. Todos os DIMMs foram equipados com lógica de correção de erros (ECC) para corrigir pelo menos erros de bit único.
+1 em um bom relatório. Embora eu não conheça taxas de erro não-ECC, estimo que as taxas de erro não-ECC sejam aproximadamente as mesmas que as taxas de erro ECC por GB. Os mesmos chips de RAM usados são usados em DIMMs ECC e não-ECC (os DIMMs ECC simplesmente usam 9/8 quantos chips - 72 bits de memória bruta para armazenar uma palavra de dados de 64 bits e 8/9 a taxa de erro é aproximadamente a mesma taxa de erro) e não vejo razão para que um chip de RAM tenha uma taxa de erro significativamente diferente quando colocado em um DIMM ECC vs. quando colocado em um DIMM não-ECC.
David Cary
9
O ECC tem várias vantagens sobre a paridade. Por um lado, ele pode detectar e reparar erros de bit único e fazê-lo sem precisar parar o sistema inteiro. Erros de vários bits ainda retornarão um erro de paridade, mas as chances de isso acontecer são astronomicamente baixas durante a vida útil de um PC, a menos que a própria memória esteja com defeito. O ECC é como o seguro de automóvel: ele cobre a maioria das coisas que podem dar errado, mas não pode impedir um acúmulo de carros.
Eu discordo do artigo. Eu acho que todo mundo deveria estar usando ECC. Eu não iria desistir, mas queria um novo Core I7 o suficiente para finalmente fazê-lo. No entanto, tenho certeza de que meus 6 GB de RAM estão detectando erros em todo o lugar.
Zan Lynx
4
@zan e esses erros você tem "certeza", que conseqüência eles têm?
Jeff Atwood
Não fique adivinhando; erros corrigíveis deve henerate MCES que podem ser registrados no SO (Sistema Log no Windows, / var / log / mcelog em Linux)
MikeyB
@ JeffAtwood: Normalmente, nada, mas tive uma tela azul ocasional sem motivo aparente. Em sistemas que tenho que fazer têm ECC vou ver um par de erros de um único bit de cada mês.
Zan Lynx
@ JeffAtwood: E, como todo mundo, tenho certeza de que ocasionalmente tive que reinstalar um aplicativo (Office. Visual Studio.) Porque, aparentemente, ficou louco. Bug no aplicativo ou erro ECC causando um arquivo de disco corrompido? Quem sabe se você não tem ECC?
A interferência elétrica ou magnética dentro de um sistema de computador pode fazer com que um único bit de DRAM mude espontaneamente para o estado oposto. Pensou-se inicialmente que isso se devia principalmente às partículas alfa emitidas por contaminantes no material de embalagem dos chips, mas pesquisas [5] mostraram que a maioria dos erros pontuais ("suaves") nos chips DRAM ocorre como resultado da radiação de fundo
...
Esse problema pode ser atenuado usando módulos DRAM que incluem bits de memória extras e controladores de memória que exploram esses bits. Esses bits extras são usados para registrar paridade ou usar um código de correção de erros
Respostas:
A RAM do ECC pode se recuperar de pequenos erros em bits, utilizando bits de paridade. Como os servidores são um recurso compartilhado, onde o tempo de atividade e a confiabilidade são importantes, a RAM do ECC geralmente é usada com apenas uma modesta diferença de preço. A RAM ECC também é usada em estações de trabalho CAD / CAM, onde pequenos erros de bits podem causar erros de cálculo que se tornam problemas mais significativos quando um projeto é fabricado.
fonte
Excelente estudo do mundo real:
Erros DRAM em estado selvagem: um estudo de campo em larga escala (pdf)
Interessante que a maioria dos erros de memória seja difícil - erros de memória rígida são irrecuperáveis, o que significa que a memória deve ser substituída fisicamente como falha , enquanto os erros de memória flexível podem ser corrigidos substituindo a memória pelo valor correto. Isso indica para mim que o valor do ECC é bastante limitado.
Parece que todos os servidores do estudo usaram ECC, portanto, não podemos saber taxas de erro de ECC vs. não-ECC.
fonte
O ECC tem várias vantagens sobre a paridade. Por um lado, ele pode detectar e reparar erros de bit único e fazê-lo sem precisar parar o sistema inteiro. Erros de vários bits ainda retornarão um erro de paridade, mas as chances de isso acontecer são astronomicamente baixas durante a vida útil de um PC, a menos que a própria memória esteja com defeito. O ECC é como o seguro de automóvel: ele cobre a maioria das coisas que podem dar errado, mas não pode impedir um acúmulo de carros.
mais detalhes aqui: Memória ECC : essencial para servidores, não para PCs
fonte
Para simplificar, citando a Wikipedia :
fonte