Por que os PCs não usam RAM para correção de erros? “Porque Intel”, diz Linus

Enlarge / Nós “temos desfrutado de um Linus Torvalds mais gentil e gentil nos últimos anos. .mas isso não significa que ele deixou de ter opiniões.

Nesta segunda-feira, o criador do kernel do Linux, Linus Torvalds, fez um discurso frustrado sobre a falta de RAM de soma de verificação de correção de erros (ECC) em PCs de consumo e laptops.

… a política equivocada e retrógrada de “consumidores não precisam de ECC”, o mercado de memória ECC vai embora.

Os argumentos contra o ECC sempre foram completos e um lixo. Agora, até mesmo os fabricantes de memória estão começando a fazer o ECC internamente, porque finalmente admitiram que é absolutamente necessário.

Se você não está familiarizado com ECC RAM, provavelmente é porque você não constrói ou especifica servidores dedicados usando CPUs e placas-mãe de nível de servidor – o que, infelizmente, é sobre o único lugar onde você realmente encontra ECC. Resumindo, ECC RAM inclui uma pequena quantidade de memória extra usada para detecção e correção de erros.

Erros de memória e probabilidade

Na maioria das implementações modernas, isso significa para cada 64- palavra de bits armazenada na RAM, existem oito bits de verificação. Um erro de bit único – 0 alterado para 1 ou 1 alterado para 0 – pode ser detectado e corrigido automaticamente. Dois bits invertidos na mesma palavra podem ser detectados, mas não corrigidos. Provavelmente, três ou mais bits invertidos na mesma palavra serão detectados, mas a detecção não é garantida.

A inversão de bits pode acontecer por vários motivos, começando com impacto de raios cósmicos ou simples falha de hardware. Um estudo em grande escala dos servidores do Google descobriu que cerca de 32 por cento de todos os servidores (e 8 por cento de todos os DIMMs) na frota do Google apresentam pelo menos um erro de memória por ano. Mas a grande maioria deles são erros de um único bit— e como o Google está usando CPUs de servidor e RAM ECC, isso significa que as máquinas em questão continuam em trânsito.

Veja mais

Em máquinas de consumo, mesmo esses erros de bit único – que têm mais de 40 vezes mais probabilidade de ocorrer do que erros de vários bits, de acordo com os dados do Google – passam despercebidos e podem apresentar instabilidade nos sistemas e corrupção nos dados.

As mudanças de bits nem sempre são acidentais

Nem todo erro de RAM é o resultado de uma falha de hardware ou problema de EMF não intencional. Nos últimos anos, os pesquisadores desenvolveram ataques de canal lateral baseados na física cada vez mais práticos, usando flips de bits rápidos e controlados em áreas da RAM acessíveis a um aplicativo para deduzir ou modificar os valores dos dados em áreas adjacentes da RAM que eles não deveriam ser capazes de fazer. .

Embora ECC RAM não possa “mitigar ataques do tipo RAMBleed que deduzem os valores da memória adjacente, ele geralmente pode interromper os ataques de Rowhammer – nos quais a mudança rápida de bits em uma área da RAM faz com que os bits em uma área adjacente mudem.

Mesmo quando o ECC não pode “impedir ativamente que um ataque Rowhammer tenha um impacto no sistema – por exemplo, quando ele inverte vários bits em uma palavra – ele pode pelo menos alertar o sistema sobre o problema e, em na maioria dos casos, evita que o ataque Rowhammer faça qualquer coisa além de causar tempo de inatividade. (A maioria dos sistemas ECC são configurados para parar a máquina inteira se um erro incorrigível for detectado.)

Torvalds culpa Intel

E os fabricantes de memória c laim é por causa da economia e menor poder. E eles são bastardos mentirosos – deixe-me mais uma vez apontar para o martelo sobre como esses problemas já existem há várias gerações, mas esses idiotas venderam hardware quebrado para os consumidores e alegaram que foi um “ataque”, quando sempre foi “estamos cortando atalhos.”

Quantas vezes um bit-flip do tipo martelo em linha aconteceu apenas por puro azar em cargas reais que não eram de ataque? Nunca saberemos. Porque a Intel estava forçando uma merda aos consumidores.

Torvalds assume a posição ousada de que a falta de ECC RAM na tecnologia do consumidor é culpa da Intel devido à política de artificiais da empresa segmentação de mercado. A Intel tem interesse em impulsionar negócios com mais recursos para suas CPUs de nível de servidor mais caras – e lucrativas, em vez de permitir que essas entidades usem efetivamente as peças de consumo necessariamente de margem inferior.

Remoção do suporte para ECC RAM de CPUs que não são direcionadas diretamente para o mundo dos servidores é uma das maneiras que a Intel manteve mercados fortemente segmentados. O argumento de Torvalds aqui é que a recusa da Intel em suportar ECC RAM em suas partes direcionadas ao consumidor – junto com seu quase monopólio de fato nesse espaço – é a verdadeira razão pela qual ECC está quase indisponível fora do espaço do servidor.

Publicidade

O argumento usual em torno de por que o ECC não está presente na tecnologia do consumidor gira em torno do custo, mas suspeitamos que Torvalds tem razão nisso aqui. Apesar de ECC RAM ser essencialmente uma peça especial difícil de encontrar, normalmente custa apenas cerca de 20 por cento mais por DIMM do que não-ECC no varejo. O verdadeiro problema é que sem placas-mãe e CPUs que suportam, ele não vai servir você é bom.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *