1、为了达到对内存地址的100%的检测,最好是将内存检测程序嵌入到UEFI BIOS的PEI阶段中;
2、如果无法定制BIOS,退而求其次,内存测试程序不要运行在OS上,因为OS本身就要占用很大一部分内存地址空间;
3、为了尽可能的最大范围的对内存进行测试,建议内存测试程序运行在UEFI的DXE的最后阶段,即BDS阶段;
4、这样我们生成的MemTest.efi内存测试程序就可以通过U盘、PCIE板卡、SD卡或者PXE网络启动;
5、对于UDIMM的检测而言,测试程序的结果需要告知用户的信息有:
5.1、报错的64位的物理地址,比如0x2a124d83f;
5.2、报错时,写入报错物理地址的pattern和读出的数值,比如写入的pattern是0x55555555,读出来的pattern却是0x15555555;
5.3、这个报错的物理地址对应的内存条的卡槽位置、RANK、GROUP、BANK、ROW和COL;
5.4、如果有测试主板的PCB资料、CPU资料、UDIMM的基板原理图,可以通过某些手段推理出报错的DQ;
5.5、这个报错的物理地址位于哪个内存条的哪个内存颗粒上,方便维修人员替换或者维修;
5.6、报错时,内存的实际频率、时序、电压和温度,方便用户知道内存条的测试条件和环境。
6、对于RDIMM的检测而言,测试程序的结果需要告知用户的信息有:
5.1、报错的64位的物理地址,比如0x2a124d83f;
5.2、报错时&#x