[发明专利]一种系统内存识别测试方法、系统及电子设备有效
申请号: | 202011523944.9 | 申请日: | 2020-12-21 |
公开(公告)号: | CN112631842B | 公开(公告)日: | 2023-10-27 |
发明(设计)人: | 徐宏思;桂晓峰;刘署;李育飞 | 申请(专利权)人: | 成都海光集成电路设计有限公司 |
主分类号: | G06F11/22 | 分类号: | G06F11/22 |
代理公司: | 北京市广友专利事务所有限责任公司 11237 | 代理人: | 张仲波 |
地址: | 610041 四川省成都市高新区天府大道*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 系统 内存 识别 测试 方法 电子设备 | ||
本发明的实施例公开一种系统内存识别测试方法及系统,属于系统内存技术领域,用于解决目前操作系统命令比较粗糙,无法判断芯片哪个内存通道存在问题的问题。本发明的方法,包括:获取内存识别请求;通过访问内存控制器中的寄存器来识别内存。本发明通过底层访问芯片内存控制器寄存器来判断内存是否被识别,可以精确判定芯片上的每个内存通道是否有问题。
技术领域
本发明涉及系统内存技术领域,尤其涉及一种系统内存识别测试方法、系统及电子设备。
背景技术
在芯片使用过程中,内存和主板不存在问题情况下,常常出现系统内存识别不全的现象,如服务器内存有512G物理内存,但通过操作系统命令(如Linux系统中的free命令,此命令用于显示系统内存的使用情况,包括物理内存、交换内存和内核缓冲区内存),查看内存发现远远少于512G,而未识别到的内存大小正好是单个物理内存的倍数。如物理内存一共有32根16G,通过操作系统命令发现只有480G,丢失了32G,正好是两根16G物理内存的大小。目前,操作系统命令比较粗糙,只能通过检查内存总量大小来判断内存有没有被识别完全,根本无法判断芯片哪个内存通道存在问题。
发明内容
有鉴于此,本发明实施例提供一种系统内存识别测试方法、系统及电子设备,通过底层访问芯片内存控制器寄存器来判断内存是否被识别,可以精确判定芯片上的每个内存通道是否有问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明提供一种系统内存识别测试方法,包括:
获取内存识别请求;
通过访问内存控制器中的寄存器来识别内存。。
结合第一方面,在第一方面的第一种实施方式中,所述通过访问内存控制器中的寄存器来识别内存,包括:
测试所述内存控制器的寄存器对应的各内存通道;
判断当前的内存通道是否测试通过;
若当前的内存通道测试通过,则确定当前的内存通道对应内存识别成功,并获取所述内存控制器的寄存器中记录的相应内存参数。
结合第一方面的第一种实施方式,在第一方面的第二种实施方式中,所述测试所述内存控制器的寄存器对应的各内存通道,包括:
通过预先设置的内存控制器测试用例测试所述内存控制器的寄存器对应的各内存通道。
结合第一方面的第一种实施方式,在第一方面的第三种实施方式中,所述测试所述内存控制器的寄存器对应的各内存通道,还包括:
获取以下至少一项参数:所述内存控制器支持的最大内存频率、设计最大内存频率、当前内存频率。
结合第一方面的第一种实施方式,在第一方面的第四种实施方式中,所述判断当前的内存通道是否测试通过步骤之后,还包括:
若当前的内存通道测试不通过,则确定当前的内存通道对应内存识别失败,停止测试并提示识别失败的内存通道信息。
第二方面,本发明提供一种系统内存识别测试系统,包括:包括:
请求获取模块,用于获取内存识别请求;
识别内存模块,用于通过访问内存控制器中的寄存器来识别内存。
结合第二方面,在第二方面的第一种实施方式中,所述识别内存模块,包括:
通道测试子模块,用于测试所述内存控制器的寄存器对应的各内存通道;
判断子模块,用于判断当前的内存通道是否测试通过;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都海光集成电路设计有限公司,未经成都海光集成电路设计有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011523944.9/2.html,转载请声明来源钻瓜专利网。