Um stick de RAM tem alguns blocos ruins. Existe alguma maneira de desativá-los ou alocar os blocos ruins para que outros programas não possam usá-los?

1

A instabilidade do sistema, como certos programas travando sob carga, me levou a testar meus módulos de memória. Os blocos defeituosos no problema estão no intervalo de 001CB18000 a 001CB19000.

O cartão de memória tem uma capacidade de 512MB, estou rodando em três no momento. O bad stick está sendo preparado para uma solicitação de RMA.

Sistema operacional: Windows XP (32 bits)

Uma vez antes, o Google mostrou um tópico semelhante, mas não consigo reproduzir a pesquisa, e não acredito que alguém tenha oferecido uma solução para ela.

É possível escrever um programa que possa alocar os blocos que eu quero?

    
por Mark C 23.07.2012 / 20:45

2 respostas

6

Se você estiver usando o linux, o badram ou badmem os patches do kernel podem ajudar.

a patch to make (partly) buggy memory modules work in a (vanilla)-Linux kernel

No Windows, sua melhor aposta seria rezar para que nenhum dos buracos sejam atingidos durante o processo inicial de inicialização e, em seguida, carregar um driver de sistema de inicialização que declare os buracos como se fossem registradores mapeados na memória em hardware periférico.

Ou você pode usar o patch do badram para xen e carregar qualquer sistema operacional de sua escolha em uma máquina virtual.

    
por 23.07.2012 / 20:57
2

Além de comprar RAM sendo a melhor escolha - se você puder - você também pode tentar soldar um módulo de trabalho de reposição. Isso seria um pouco de tentativa e erro. Também muito trabalho. Talvez não tanto quanto escrever um driver para o Windows (se isso funciona desde que você não pode reivindicar a memória que já foi reivindicada) que reivindica os blocos defeituosos :) mas algumas horas também.

Além disso, você pode considerar o uso do Linux (como na solução do Ben Vogt) e a inicialização do Windows em uma VM. Solução rápida, um pouco menos de desempenho.

    
por 23.07.2012 / 21:36