内存条有几个坏块。有什么方法可以关闭它们,或者分配坏块以使其他程序无法使用它们吗?

内存条有几个坏块。有什么方法可以关闭它们,或者分配坏块以使其他程序无法使用它们吗?

系统不稳定,例如某些程序在负载下崩溃,促使我测试了我的内存模块。问题内存条上的坏块位于 001CB18000 到 001CB19000 范围内。

内存条容量为 512MB,目前我用的是三根。坏的内存条正在准备 RMA 请求。

操作系统:Windows XP(32位)

之前,Google 曾经显示过类似的主题,但我无法重现搜索,并且我也不相信有人能提供解决方案。

编写一个程序来分配我想要的块是否可行?

答案1

如果你运行的是 Linux,badram或者badmem内核补丁可能会有帮助。

一个补丁,使(部分)有缺陷的内存模块在(原始)Linux 内核中正常工作

在 Windows 上,最好的选择是祈祷在早期启动过程中不会遇到任何漏洞,然后加载启动时系统驱动程序,该驱动程序将这些漏洞视为外围硬件中的内存映射寄存器。

或者您可以使用 xen 的 badram 补丁,并将您选择的任何操作系统加载到虚拟机中。

答案2

除了购买 RAM 是最佳选择(如果可以的话),您还可以尝试用备用模块焊接一个可以工作的模块。不过,这需要反复试验。而且需要做很多工作。可能不如编写一个用于声明坏块的 Windows 驱动程序(如果这可行,因为您无法声明已经声明的内存)那么费劲 :),但也需要几个小时。

另外,您可以考虑使用 Linux(如 Ben Vogt 的解决方案)并在 VM 中启动 Windows。解决方案很快,但性能稍差。

相关内容