É possível inicializar um sistema consumidor i7 com um processador Xeon e memória ECC?

5

Eu li alguns posts na Internet que parecem implicar que você pode inicializar pelo menos algumas placas-mãe i7 com memória ECC sem buffer e um processador Xeon 43xx instalado.

Eu posso inicializar minha placa-mãe MSI P55-GD80 com um processador X4370 e memória padrão não-ECC, mas ela trava com um código postal FF quando eu instalo dois DIMMs de memória ECC sem buffer. Curiosamente, se eu instalar a memória incorretamente, ela exibe uma seqüência curta de códigos postais, seguida pelo som do código de bipe sem memória.

Eu tenho um longo projeto planejado para hackear o código de referência da memória para permitir a inicialização com os DIMMs ECC (sem ECC ativado), seguido pela ativação da correção de erro de bit único como um segundo projeto.

Alguém tentou fazer isso? Com sucesso?

    
por cmarslett 16.05.2011 / 23:08

3 respostas

2

Eu costumava escrever BIOSes para ganhar a vida e ainda estou envolvida nesse negócio, mas não consigo fazer muita codificação interessante.

Respondendo a resposta: por que eu iria querer comprar uma placa-mãe cara com capacidade limitada de expansão PCI-e para uma estação de trabalho? Quando melhor hardware está disponível muito mais barato? Eu acho que a resposta é óbvia. É para mim. Eu quero o melhor hardware para o meu desenvolvimento de software. E os benefícios da placa do servidor (um iBMC e suporte para gerenciamento remoto) não parecem valer muito para mim nas minhas circunstâncias.

No entanto, sei que 16 GB de memória não-ECC (minha configuração de destino) vai gerar pânicos e setores corrompidos em meus discos rígidos com bastante regularidade. Números como uma falha de memória a cada poucos dias parecem bastante comuns em artigos na web que discutem sistemas com essa quantidade de RAM.

Com 16 GB de memória não-ECC nesta placa-mãe, estou vendo de 2 a 3 falhas por semana executando um diagnóstico de memória de estoque (não consegui testar a configuração de ECC, é claro, mas esperaria a falha probabilidade de cair para praticamente 0 se eu exigisse que 2 dessas 3 falhas ocorressem na mesma palavra de 64 bits).

Isso parece muito bem o que eu devo esperar, e é um problema o suficiente para mim que estou disposto a colocar algum esforço de codificação para eliminar o problema.

Eu também não quero apenas voar e fazer um hack sozinho se alguém já tiver feito alguma investigação da situação. Infelizmente, não conheço pessoas suficientes que hackearam BIOS para ter conexões pessoais. Assim, a questão.

Mas se eu for o único a olhar para o problema, estou um pouco surpreso, mas não me importo de aprofundar o hacking de um BIOS. Pode ou não valer a pena.

É por isso que coloco a questão em uma área de perguntas de programação, não em uma área administrativa. Isso requer alterar o código do BIOS (eu ficaria muito surpreso se não, francamente).

Estou bastante confiante de que o hardware do sistema (com a possível exceção de falta de 8 ou 16 fios para os 8 bits de paridade) é capaz de rodar em modo ECC completo - o processador inclui um controlador de memória compatível com ECC, os DIMMs são sem buffer DIMMs ECC com os mesmos requisitos elétricos que os DIMMs não-ECC sem buffer têm, portanto, o único recurso da placa-mãe envolvido é o conjunto de fios e componentes passivos que conectam os dois.

E em resposta ao comentário de que 85% das placas de consumo não conseguirão inicializar com o ECC: minha experiência está no mesmo parque. Sem modificar o conteúdo do EEPROM do SPD nos DIMMs, a placa do consumidor EVERY que inicialize não inicializa com DIMMs ECC instalados (todos eram placas DDR e DDR2, não DDR3, Apesar). No entanto, com DIMMs ECC hackeados, todos eles foram inicializados com sucesso e os que executaram diags de memória foram executados por dias sem erros. Portanto, a falha na inicialização é uma decisão tomada pelo firmware / BIOS da placa-mãe ou qualquer outra coisa que leia o conteúdo do EEPROM do SPD.

WRT a nota sobre a seqüência de falhas fazendo sentido: o que me incomoda é que eu vejo nenhuma indicação de que o BIOS está seguindo essa seqüência. Parece que está testando validamente DIMMs ECC instalados primeiro (já que não vejo nenhum código PORT80 exibido no caso dos DIMMs ECC instalados de forma válida), depois faz algumas outras coisas (vários códigos PORT80) e finalmente informa que os DIMMs ECC instalados inválidos não são instalado nos slots corretos.

Na verdade, acho isso promissor, pois acho que pode haver um teste explícito para DIMMs ECC executados no início do POST (possivelmente para evitar que o sistema seja executado com um processador Xeon e DIMMs ECC) .

    
por 19.05.2011 / 01:54
1

Estou completamente confuso sobre o porquê de você fazer isso, mas a resposta curta é: Não, você não irá obter placas de chipset Intel® para a maioria dos consumidores para inicializar com a RAM ECC. Se você quiser RAM ECC, consiga uma placa de chipset de servidor.

Você pode hackear isso? Talvez. Existe alguma placa obscura lá fora, com códigos de referência munged up que irá inicializá-lo? Provavelmente. É a norma? Não.

Para expandir o que Fopedush disse: Eu vi que a maioria (como em 85% +) de placas de consumo falha ao inicializar com a RAM ECC. Simplesmente não é algo que a maioria das placas de consumo se preocupa em fazer ou é projetada para fazer. Geralmente, se alguém tiver gasto todas as despesas para obter um processador Xeon e uma memória RAM ECC, eles simplesmente obterão uma placa para servidor para colocá-lo.

e: Uma outra coisa a notar: Você disse que isso lhe dará códigos postais quando a RAM estiver encaixada incorretamente, e isso faz todo o sentido. Inicialmente, o processo de inicialização verifica se alguma RAM está instalada, verifica se está instalada corretamente e, por fim, verifica se ela é compatível. Ele vai acertar a verificação "instalado incorretamente" antes de atingir a verificação "esta é a RAM ECC e não consigo inicializá-lo". A RAM ECC ainda é apenas SDRAM de 240 pinos em seu núcleo.

    
por 18.05.2011 / 19:56
0

Sim. De acordo com Puget Systems , algumas placas-mãe de consumo funcionarão extra-oficialmente com CPUs Xeon e RAM ECC. Aqui está um exemplo:

The Asus X99 Deluxe II is an update to one of the premiere motherboards for Intel's Core i7 and Xeon E5 processors. The X99 chipset on this board supports DDR4 memory, and unofficially also works with ECC Registered memory which is available in higher capacities. A host of connectivity is provided as well, with four each of USB 2.0, 3.0, and 3.1 ports along with dual Gb Ethernet, WiFi, and audio connections. Internally it has several SATA connections, one M.2 slot, and two of the new U.2 ports.

Eu tentei esta placa-mãe e ela realmente funciona com uma CPU Xeon e uma RAM ECC. A Puget vendeu muitos sistemas com essa configuração, então presumo que seja uma solução robusta.

Essa é uma pergunta antiga, mas o Google ainda a veicula em resposta a pesquisas sobre o assunto, então achei que postaria algumas informações da era atual.

    
por 29.06.2018 / 05:30