CN116820849A - 内存spd读写测试方法、装置、电子设备和存储介质 - Google Patents

内存spd读写测试方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN116820849A
CN116820849A CN202310618948.2A CN202310618948A CN116820849A CN 116820849 A CN116820849 A CN 116820849A CN 202310618948 A CN202310618948 A CN 202310618948A CN 116820849 A CN116820849 A CN 116820849A
Authority
CN
China
Prior art keywords
spd
memory
ddr5
test
tested
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310618948.2A
Other languages
English (en)
Inventor
高文艳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202310618948.2A priority Critical patent/CN116820849A/zh
Publication of CN116820849A publication Critical patent/CN116820849A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • G06F11/2635Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers using a storage for the test inputs, e.g. test ROM, script files

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供一种内存SPD读写测试方法、装置、电子设备和存储介质,属于计算机技术领域。其中,内存SPD读写测试方法包括:通过修改基本输入输出系统BIOS代码,开启在操作系统下通过中央处理器CPU的串行存在检测SPD控制器或寄存器对服务器的所有DDR5内存的SPD访问权限;在确定SPD访问权限处于开启状态的情况下,通过在操作系统下运行DDR5内存SPD访问工具以及测试命令,对服务器的待测DDR5内存的SPD读写性能进行测试,可降低测试成本,同时可实现批量DDR5内存的SPD读写操作及性能测试。

Description

内存SPD读写测试方法、装置、电子设备和存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种内存SPD读写测试方法、装置、电子设备和存储介质。
背景技术
随着计算机内存容量的增大和速度的加快,对内存各种性能的要求越来越高,其中,读取内存的串行存在检测(serial presence detect,SPD)内容,以及验证SPD写保护功能是内存的一项重要测试。内存SPD的读写性能测试一般需要通过测试设备进行。DDR5是第5代双倍数据速率同步动态随机存取内存,具有一些全新特性,可以提高性能、降低功耗并增强数据完整性。针对DDR5内存,其SPD的读写性能测试,因开发平台、中央处理器(CentralProcessing Unit,CPU)架构等的变更,前期开发的DDR4内存的测试设备无法继续应用于DDR5内存,若要对DDR5内存进行SPD的读写性能测试,只能重新设计开发或购买针对DDR5内存的测试设备,导致测试成本较高,并且使用测试设备无法实现批量DDR5内存的SPD读写操作或读写性能测试。
发明内容
本发明提供一种内存SPD读写测试方法、装置、电子设备和存储介质,用以解决相关技术中在对DDR5内存的SPD进行读写性能测试时,存在测试成本较高,且无法实现批量DDR5内存的SPD读写操作或读写性能测试的缺陷。
第一方面,本发明提供一种内存SPD读写测试方法,包括:
通过修改基本输入输出系统BIOS代码,开启在操作系统下通过中央处理器CPU的串行存在检测SPD控制器或寄存器对服务器的所有DDR5内存的SPD访问权限;
在确定所述SPD访问权限处于开启状态的情况下,通过在所述操作系统下运行DDR5内存SPD访问工具以及测试命令,对所述服务器的待测DDR5内存的SPD读写性能进行测试。
在一些实施例中,所述通过在所述操作系统下运行DDR5内存SPD访问工具以及测试命令,对所述服务器的待测DDR5内存的SPD读写性能进行测试,包括:
通过在所述操作系统下运行DDR5内存SPD访问工具,对所述CPU的寄存器或SPD控制器进行访问,并通过所述CPU的寄存器或SPD控制器对所述服务器的所有DDR5内存的SPD进行寻址;
通过运行所述测试命令,对所述服务器的待测DDR5内存的SPD进行读写性能测试,得到所述待测DDR5内存的SPD读写性能测试结果。
在一些实施例中,所述通过运行所述测试命令,对所述服务器的待测DDR5内存的SPD进行读写性能测试,得到所述待测DDR5内存的SPD读写性能测试结果,包括:
运行第一测试命令,得到第一SPD信息,所述第一测试命令用于读取所述服务器的所有DDR5内存的SPD信息;
确定第二测试命令,所述第二测试命令用于写入目标内容至所述待测DDR5内存的SPD;
运行所述第二测试命令,将所述目标内容写入至所述待测DDR5内存的SPD空间;
运行所述第一测试命令,得到第二SPD信息;
比较所述第一SPD信息和第二SPD信息,确定所述待测DDR5内存的SPD的写保护功能测试是否通过;
在所述写保护功能测试通过的情况下,重启所述服务器;
运行所述第一测试命令,得到第三SPD信息;
比较所述第二SPD信息和第三SPD信息,若所述第二SPD信息和第三SPD信息一致,则确定所述待测DDR5内存的SPD读写性能测试通过。
在一些实施例中,所述确定第二测试命令,包括:
获取所述待测DDR5内存的槽位信息;
基于所述槽位信息、所述目标内容、所述目标内容写入的字节位置、所述目标内容的长度,确定第二测试命令。
在一些实施例中,所述运行所述第二测试命令,将所述目标内容写入至所述待测DDR5内存的SPD空间,包括:
运行所述第二测试命令,将第一目标内容写入至所述待测DDR5内存的SPD空间的写保护区域,将第二目标内容写入至所述待测DDR5内存的SPD空间的可修改区域。
在一些实施例中,所述比较所述第一SPD信息和第二SPD信息,确定所述待测DDR5内存的SPD的写保护功能测试是否通过,包括:
比较所述第一SPD信息和第二SPD信息,若所述第一SPD信息和第二SPD信息中所述写保护区域对应的SPD信息一致,且所述第二SPD信息中可修改区域对应的SPD信息为所述第二目标内容,则确定所述待测DDR5内存的SPD的写保护功能测试通过。
在一些实施例中,所述确定所述待测DDR5内存的SPD读写性能测试通过之后,所述方法还包括:
基于所述第一SPD信息,恢复所述服务器的所有DDR5内存的SPD信息。
第二方面,本发明还提供一种内存SPD读写测试装置,包括:
访问权限开启单元,用于通过修改基本输入输出系统BIOS代码,开启在操作系统下通过中央处理器CPU的串行存在检测SPD控制器或寄存器对服务器的所有DDR5内存的SPD访问权限;
读写性能测试单元,用于在确定所述SPD访问权限处于开启状态的情况下,通过在所述操作系统下运行DDR5内存SPD访问工具以及测试命令,对所述服务器的待测DDR5内存的SPD读写性能进行测试。
第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面任一项所述的内存SPD读写测试方法。
第四方面,本发明提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述的内存SPD读写测试方法。
第五方面,本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述的内存SPD读写测试方法。
本发明提供的内存SPD读写测试方法、装置、电子设备和存储介质,首先通过修改BIOS代码,开启在操作系统下通过CPU的SPD控制器或寄存器对服务器的所有DDR5内存的SPD访问权限;然后在确定SPD访问权限处于开启状态的情况下,通过在操作系统下运行DDR5内存SPD访问工具以及测试命令,实现对服务器的待测DDR5内存的SPD读写性能进行测试,可降低测试成本,同时可实现批量DDR5内存的SPD读写操作及性能测试。
附图说明
为了更清楚地说明本发明或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一个实施例提供的EGS平台CPU与DDR5中SPD的连接关系示意图;
图2为本发明一个实施例提供的内存SPD读写测试方法的流程示意图之一;
图3为本发明一个实施例提供的内存SPD读写测试方法的流程示意图之二;
图4为本发明一个实施例提供的内存SPD读写测试方法的流程示意图之三;
图5为本发明一个实施例提供的确定第二测试命令的流程示意图;
图6为本发明一个实施例提供的读写DDR5内存SPD的方法的流程示意图;
图7为本发明一个实施例提供的对DDR5内存SPD读写性能进行测试的流程示意图;
图8为本发明一个实施例提供的内存SPD读写测试装置的结构示意图;
图9为本发明一个实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”所区别的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”一般表示前后关联对象是一种“或”的关系。
针对相关技术中,在对DDR5内存SPD进行读写性能测试时,存在测试成本较高、无法实现批量DDR5内存SPD读写操作等缺陷,本发明提供了一种DDR5内存SPD读写测试方法、装置、电子设备和存储介质。
本发明通过开发操作系统下的DDR5内存SPD访问工具,实现在操作系统下通过CPU的SPD控制器或寄存器对DDR5内存的SPD的访问,并通过运行测试命令,得到不同测试情况下的SPD信息,对不同测试情况下的SPD信息进行比较,实现了对DDR5内存的SPD读写性能的测试。
DDR5是采用将SPD EEPROM与更多HUB功能相集成的新装置,从而管理对外部控制器的访问并将内部总线上的内存负载与外部分离开。本发明基于Intel Eagle stream(EGS)平台开发DDR5内存SPD访问工具,需要说明的是,若有新的DDR5服务器平台,也可以基于新的DDR5服务器平台进行开发,本发明对此不作限定。下文描述中以基于EGS开发为例进行说明,这并不构成对本发明的限制。
操作系统可以是Linux系统,也可以是其他操作系统,本发明不作具体限定。
本发明所提供的内存SPD读写测试方法的执行主体可以是内存SPD读写测试装置,该装置可通过软件和/或硬件实现,该装置可集成在电子设备中,电子设备可以是终端设备(如智能手机、个人电脑、学习机等),也可以是服务器(如本地服务器或云端服务器,也可以为服务器集群等),也可以是处理器,也可以是芯片等。
SPD是内存模组上的一个电可擦写可编程只读存储器(Electrically ErasableProgrammable read only memory,EEPROM),里面记录了内存的许多重要信息,诸如内存的芯片及模组厂商、工作频率、工作电压、速度、容量、电压与行、列地址带宽等参数。SPD信息一般都是在出厂前,由内存模组制造商根据内存芯片的实际性能写入到EEPROM芯片中。
表1为SPD内容定义,从表1可知,SPD空间分为两部分,一部分空间(如表1中的0-639byte)因为记录了DDR5内存关键信息,不可被改写,在本发明实施例中,称该部分空间为写保护区域;另一部分空间(如表1中的640-1023byte)预留给用户记录补充信息,可以被改写,在本发明实施例中,称该部分空间为可修改区域。因此,读取内存SPD内容以及验证SPD写保护功能是内存的一项重要测试。
表1SPD内容定义
下面以执行主体是DDR5内存SPD读写测试装置为例,结合图1-图9,对本发明进行描述。
图1为本发明一个实施例提供的EGS平台CPU与DDR5中SPD的连接关系示意图,如图1所示,DDR5的SPD集线器(SPD HUB)110通过I3C(improved inter integrated circuit)总线200连接到CPU 300的SPD I3C接口,进而连接到了CPU,DDR5的所有本地双列直插式存储模块(Dual Inline Memory Modules,DIMM)都作为SPD I3C总线上的终端设备可见,CPU中SPD控制器310是I3C主设备,其中,本地DIMM至少包括:SPD HUB 110、电源管理集成电路(Power Management IC,PMIC)120、剩余电流装置(Residual Current Device,RCD)130和内存温度传感器(Temperature Sensor on the DIMM,TSOD)140。
图2为本发明一个实施例提供的内存SPD读写测试方法的流程示意图之一,如图2所示,该方法包括以下步骤:步骤210和步骤220。该方法流程步骤仅仅作为本发明一个可能的实现方式。
步骤210、通过修改基本输入输出系统(Basic Input Output System,BIOS)代码,开启在操作系统下通过CPU的SPD控制器或寄存器对服务器的所有DDR5内存的SPD访问权限;
当前EGS平台下,CPU的SPD控制器或寄存器在操作系统下对所有DDR5内存的SPD访问权限只有读权限,没有写权限,导致无法访问SPD内容。因此,需要开启在操作系统下通过CPU的SPD控制器或寄存器对服务器的所有DDR5内存的SPD访问权限,才能对服务器的待测DDR5内存的SPD读写性能进行测试。
具体可以通过修改BIOS代码将操作系统下的SPD访问通道打开,即开启在操作系统下通过CPU的SPD控制器或寄存器对服务器的所有DDR5内存的SPD访问权限。
本发明在对服务器的待测DDR5内存的SPD读写性能进行测试前,通过修改BIOS代码的方式,将操作系统下的访问通道从默认的关闭状态修改为开启状态,从而开启在操作系统下通过CPU的SPD控制器或寄存器对服务器的所有DDR5内存的SPD访问权限,为对服务器的待测DDR5内存的SPD读写性能进行测试做准备。
步骤220、在确定所述SPD访问权限处于开启状态的情况下,通过在所述操作系统下运行DDR5内存SPD访问工具以及测试命令,对所述服务器的待测DDR5内存的SPD读写性能进行测试。
需要说明的是,DDR5内存SPD访问工具是为实现在操作系统下通过CPU的SPD控制器或寄存器对DDR5内存SPD进行访问而开发的工具。
所述待测DDR5内存为服务器的所有DDR5内存中的至少一个,在待测DDR5内存为多个时,即可实现批量DDR5内存的SPD读写操作及性能测试。
在具体实施时,在确定所述SPD访问权限处于开启状态的情况下,首先在所述操作系统下运行DDR5内存SPD访问工具,实现通过CPU的SPD控制器或寄存器对DDR5内存SPD的访问,进一步运行测试命令,通过CPU的SPD控制器或寄存器下发测试命令至DDR5内存SPD,进一步对所述服务器的待测DDR5内存的SPD读写性能进行测试。
在本发明实施例中,通过修改BIOS代码,开启在操作系统下通过CPU的SPD控制器或寄存器对服务器的所有DDR5内存的SPD访问权限;进一步在确定所述SPD访问权限处于开启状态的情况下,通过在操作系统下运行DDR5内存SPD访问工具以及测试命令,实现对服务器的待测DDR5内存的SPD读写性能进行测试,可降低测试成本,同时可实现批量DDR5内存的SPD读写操作及性能测试。
在一些实施例中,图3为本发明一个实施例提供的DDR5内存SPD读写测试方法的流程示意图之二,如图3所示,步骤220包括:
步骤310、通过在所述操作系统下运行DDR5内存SPD访问工具,对所述CPU的寄存器或SPD控制器进行访问,并通过所述CPU的寄存器或SPD控制器对所述服务器的所有DDR5内存的SPD进行寻址;
步骤320、通过运行所述测试命令,对所述服务器的待测DDR5内存的SPD进行读写性能测试,得到所述待测DDR5内存的SPD读写性能测试结果。
在本发明实施例中,运行DDR5内存SPD访问工具,是用于实现:对所述CPU的寄存器或SPD控制器进行访问,并通过所述CPU的寄存器或SPD控制器对所述服务器的所有DDR5内存的SPD进行寻址。
可以理解,CPU的寄存器或SPD控制器作为I3C主设备,可以寻址到服务器的所有DDR5内存的SPD。
在具体实施时,首先通过I3C总线访问所述CPU的寄存器或SPD控制器,然后通过所述CPU的寄存器或SPD控制器寻址到所述服务器的所有DDR5内存的SPD。在寻址完成后,通过CPU的SPD控制器或寄存器下发测试命令至所述服务器的所有DDR5内存的SPD(即运行测试命令),从而实现对所述服务器的待测DDR5内存的SPD进行读写性能测试,得到所述待测DDR5内存的SPD读写性能测试结果。
在本发明实施例中,首先对CPU的寄存器或SPD控制器进行访问;然后通过CPU的寄存器或SPD控制器对服务器的所有DDR5内存的SPD进行寻址;进一步基于测试命令,对所述服务器的待测DDR5内存的SPD进行读写性能测试,得到待测DDR5内存的SPD读写性能测试结果,可降低测试成本,同时可实现批量DDR5内存的SPD读写操作。
在一些实施例中,图4为本发明一个实施例提供的DDR5内存SPD读写测试方法的流程示意图之三,如图4所示,步骤320包括:
步骤410、运行第一测试命令,得到第一SPD信息,所述第一测试命令用于读取所述服务器的所有DDR5内存的SPD信息;
通常情况下,服务器包括至少一个DDR5内存。运行第一测试命令,得到第一SPD信息,所述第一测试命令用于读取所述服务器的所有DDR5内存的SPD信息,可以理解,在服务器中存在多个DDR5内存时,第一SPD信息包含了服务器的所有DDR5内存的SPD信息,运行第一测试命令,可实现批量DDR5内存的SPD读操作。
例如,第一测试命令为./SPDrw。
在具体实施时,运行第一测试命令,得到第一SPD信息,并存储第一SPD信息,存储方式可以采用文本文档,也可以采用其他存储方式,本发明不作具体限定。
例如,以文本文档形式存储第一SPD信息,得到第一文档SPD1.txt。
需要说明的是,若能够得到第一SPD信息,则说明服务器的所有DDR5内存的读性能是正常的。
步骤420、确定第二测试命令,所述第二测试命令用于写入目标内容至所述待测DDR5内存的SPD;
为了实现对待测DDR5内存的SPD的写性能测试,需要通过写入数据到待测DDR5内存的SPD,因此,需要确定待测DDR5内存的槽位信息,以向槽位信息对应的DDR5内存的SPD发送写命令。并且,由于前文已经提及SPD空间分为写保护区域和可修改区域,因此,对待测DDR5内存的SPD的写性能测试包括两个方面:对待测DDR5内存的SPD的写操作进行测试和对待测DDR5内存的SPD的写保护功能进行测试。为了实现对待测DDR5内存的SPD的写操作进行测试和对待测DDR5内存的SPD的写保护功能进行测试,还需要确定写入数据的位置。还需要确定写入的数据,在一些实施例中,还需要确定写入的数据的长度,从而确定出第二测试命令,以便通过运行第二测试命令,写入目标内容至所述待测DDR5内存的SPD,对待测DDR5内存的SPD的写性能进行测试。
在一些实施例中,图5为本发明一个实施例提供的确定第二测试命令的流程示意图,如图5所示,所述确定第二测试命令包括:
步骤510、获取所述待测DDR5内存的槽位信息;
可以理解,服务器包括多个DDR5内存,每个DDR5内存会被安装于各自对应的插槽,故每个DDR5内存都有对应的槽位信息,通过槽位信息即可确定对应的DDR5内存。
步骤520、基于所述槽位信息、所述目标内容、所述目标内容写入的字节位置、所述目标内容的长度,确定第二测试命令。
在具体实施时,将所述待测DDR5内存的槽位信息、所述目标内容、所述目标内容写入的字节位置、所述目标内容的长度进行拼接,从而确定第二测试命令。
示例性地,确定的第二测试命令为
./SPDrw Socket Channel Dimm Index Data Length
其中,Socket Channel Dimm代表待测DDR5内存的槽位信息;Index代表要写入的字节位置;Data代表要写入的目标内容;Length:写入的目标内容的长度。
在需要对多个DDR5内存的SPD进行读写性能测试时,确定的第二测试命令中的槽位信息为所有待测DDR5内存的槽位信息,通过运行第二测试命令,可实现批量DDR5内存的SPD写操作。
在本发明实施例中,首先通过获取待测DDR5内存的槽位信息;然后基于槽位信息、目标内容、目标内容写入的字节位置、目标内容的长度,确定第二测试命令,可以实现对待测DDR5内存的SPD的写操作进行测试和对待测DDR5内存的SPD的写保护功能进行测试。
步骤430、运行所述第二测试命令,将目标内容写入至所述待测DDR5内存的SPD空间;
运行所述第二测试命令,可以理解为,通过CPU的SPD控制器或寄存器下发第二测试命令至待测DDR5内存的SPD。待测DDR5内存的SPD接收到第二测试命令后,对第二测试命令进行解析,根据第二测试命令中的目标内容的长度,将目标内容写入至其SPD空间中的相应位置,即目标内容的写入位置。
在一些实施例中,步骤430包括:
运行所述第二测试命令,将第一目标内容写入至所述待测DDR5内存的SPD空间的写保护区域,将第二目标内容写入至所述待测DDR5内存的SPD空间的可修改区域。
可选地,目标内容可以分为第一目标内容和第二目标内容,第一目标内容和第二目标内容可以相同,也可以不同。
下面以第一目标内容和第二目标内容均为0x99为例,选取待测DDR5内存的SPD空间的写保护区域0-639byte空间中的任意10个byte(简称byteA)写入数据0x99,示例性地,执行语句为:./SPDrw0 0 0 320 0x99 1;./SPDrw 0 0 0 639 0x99 1,上述执行语句中的“0 0 0”代表待测DDR5内存的槽位信息,“320”和“639”代表要写入的字节位置,“0x99”代表要写入的目标内容,“1”代表写入的目标内容的长度为1个字节。
选取待测DDR5内存的SPD空间的可修改区域640-1023byte空间中的任意10个byte(简称byteB)写入数据0x99。示例性地,执行语句为:./SPDrw 0 0 0 640 0x99 1;./SPDrw0 0 0 1023 0x99 1,上述执行语句中的“0 0 0”代表待测DDR5内存的槽位信息,“640”和“1023”代表要写入的字节位置,“0x99”代表要写入的目标内容,“1”代表写入的目标内容的长度为1个字节。
在本发明实施例中,通过将第一目标内容写入至所述待测DDR5内存的SPD空间的写保护区域,将第二目标内容写入至所述待测DDR5内存的SPD空间的可修改区域,可以实现对待测DDR5内存的SPD的写操作进行测试和对待测DDR5内存的SPD的写保护功能进行测试。
步骤440、运行所述第一测试命令,得到第二SPD信息;
在执行完成将目标内容写入至所述待测DDR5内存的SPD空间后,再次运行所述第一测试命令,实现对所述服务器的所有DDR5内存的SPD信息的再次读取,得到第二SPD信息。可以理解,若将目标内容写入至待测DDR5内存的SPD成功,第二SPD信息与第一SPD信息会不一致。
得到第二SPD信息后,存储第二SPD信息,存储方式可以采用文本文档,也可以采用其他存储方式,本发明不作具体限定。例如,以文本文档形式存储第二SPD信息,得到第二文档SPD2.txt。
步骤450、比较所述第一SPD信息和第二SPD信息,确定所述待测DDR5内存的SPD的写保护功能测试是否通过;
在具体实施时,比较所述第一SPD信息和第二SPD信息包括:将所述第一SPD信息中写保护区域对应的SPD信息和第二SPD信息中写保护区域对应的SPD信息进行比较,以及将所述第一SPD信息中可修改区域对应的SPD信息和第二SPD信息中可修改区域对应的SPD信息进行比较。
若所述第一SPD信息中写保护区域对应的SPD信息和第二SPD信息中写保护区域对应的SPD信息一致,表明写保护区域的内容没有被改写。
若所述第一SPD信息中写保护区域对应的SPD信息和第二SPD信息中写保护区域对应的SPD信息不一致,表明写保护区域的内容被改写,则进一步说明待测DDR5内存的SPD的写保护功能测试失败。
若所述第一SPD信息中可修改区域对应的SPD信息和第二SPD信息中可修改区域对应的SPD信息不一致,第二SPD信息中可修改区域对应的SPD信息为改写后的目标内容,表明可修改区域被改写了,即写操作成功。
若所述第一SPD信息中可修改区域对应的SPD信息和第二SPD信息中可修改区域对应的SPD信息一致,第二SPD信息中可修改区域对应的SPD信息为改写前的内容,表明可修改区域未被改写成功,则进一步说明待测DDR5内存的SPD的写操作测试失败。
可选地,所述比较所述第一SPD信息和第二SPD信息,确定所述待测DDR5内存的SPD的写保护功能测试是否通过,包括:
比较所述第一SPD信息和第二SPD信息,若所述第一SPD信息和第二SPD信息中所述写保护区域对应的SPD信息一致且所述第二SPD信息中所述可修改区域对应的SPD信息为所述第二目标内容,则确定所述待测DDR5内存的SPD的写保护功能测试通过。
需要说明的是,若所述第一SPD信息中写保护区域对应的SPD信息和第二SPD信息中写保护区域对应的SPD信息一致,且所述第一SPD信息中可修改区域对应的SPD信息和第二SPD信息中可修改区域对应的SPD信息一致,不能认为所述待测DDR5内存的SPD的写保护功能测试通过,因为写操作本身是失败的,则无法对写保护功能进行判断。当所述第二SPD信息中所述可修改区域对应的SPD信息为所述第二目标内容,即在所述第一SPD信息中可修改区域对应的SPD信息和第二SPD信息中可修改区域对应的SPD信息不一致(说明写操作成功)且所述第一SPD信息中写保护区域对应的SPD信息和第二SPD信息中写保护区域对应的SPD信息一致(说明写保护成功),才能确定待测DDR5内存的SPD的写保护功能测试通过。
示例性地,比较SPD1.txt与SPD2.txt的内容,其中0~639byte中byteA的数据一致,没有被改写,640~1023byte中byteB的数据均被更新为0x99,即可确定待测DDR5内存的SPD的写保护功能测试通过。
步骤460、在所述写保护功能测试通过的情况下,重启所述服务器;
可以理解,在所述写保护功能测试通过的情况下,重启所述服务器,用于进一步确定所述目标内容是否成功写入至所述待测DDR5内存的SPD空间。
需要说明的是,若步骤450的执行结果为写操作测试失败或写保护功能测试失败,则结束对待测DDR5内存的读写性能测试。
步骤470、运行所述第一测试命令,得到第三SPD信息;
在具体实施时,在重启服务器后,再次运行所述第一测试命令,实现对所述服务器的所有DDR5内存的SPD信息的读取,得到第三SPD信息并进行存储,得到的第三SPD信息为当前所述服务器的所有DDR5内存的SPD信息,存储方式可以采用文本文档,也可以采用其他存储方式,本发明不作具体限定。例如,以文本文档形式存储第三SPD信息,得到第三文档SPD3.txt。
步骤480、比较所述第二SPD信息和第三SPD信息,若所述第二SPD信息和第三SPD信息一致,则确定所述待测DDR5内存的SPD读写性能测试通过。
可以理解,若所述目标内容成功写入至所述待测DDR5内存的SPD,则在服务器重启后该目标内容不会丢失,即通过运行第一测试命令得到的第三SPD信息中待测DDR5内存的可修改区域对应的SPD信息还是写入的该目标内容,则第二SPD信息与第三SPD信息应该是一致。反之,如果第二SPD信息与第三SPD信息不一致,则说明该目标内容实质并没有成功写入,则所述待测DDR5内存的SPD的写性能测试不通过。
若第二SPD信息与第三SPD信息一致,则所述待测DDR5内存的SPD的写性能测试通过,进一步,所述待测DDR5内存的SPD的读写性能测试通过。
在本发明实施例中,通过运行DDR5内存SPD访问工具,实现了在操作系统下通过CPU的SPD控制器或寄存器对DDR5内存的SPD的访问,并通过运行测试命令,得到不同测试情况下的SPD内容,通过对不同测试情况下的SPD内容进行比较,验证DDR5内存的SPD的读写性能及写保护性能,可降低测试投入成本。
在一些实施例中,所述确定所述待测DDR5内存的SPD读写性能测试通过之后,所述方法还包括:
基于所述第一SPD信息,恢复所述服务器的所有DDR5内存的SPD信息。
可以理解,在完成对待测DDR5内存的SPD读写性能测试之后,需要恢复待测DDR5内存的SPD信息,从而该待测DDR5内存能够被作为产品被正常使用。
在具体实施时,参照第一SPD信息,将待测DDR5内存的SPD信息进行恢复。
在本发明实施例中,在确定待测DDR5内存的SPD读写性能测试通过之后,基于第一SPD信息,将服务器的所有DDR5内存的SPD信息进行恢复,以实现DDR5内存可被正常使用。
图6为本发明一个实施例提供的读写DDR5内存SPD的方法的流程示意图,如图6所示,该方法包括以下步骤:包括步骤610、步骤620和步骤630。
步骤610、修改访问权限,实现Intel Eagle Stream平台在OS下通过控制器寄存器访问DDR5内存SPD;
步骤620、开发DDR5内存SPD访问工具SPDrw,通过CPU寄存器下发命令给DDR5内存SPD,实现对DDR5内存SPD的访问;
步骤630、运行命令./SPDrw,实现对服务器上所有DDR5内存的SPD信息读取;或运行命令./SPDrw Socket Channel Dimm Index Data Length,实现对DDR5内存SPD的写入操作。
本发明实施例可实现对服务器上DDR5内存SPD的读写操作。
在一些实施例中,图7为本发明一个实施例提供的对DDR5内存SPD读写性能进行测试的流程示意图,如图7所示,该方法包括以下步骤:
步骤710、运行命令./SPDrw,读取服务器上所有DDR5内存的SPD内容,记作SPD1.txt;
步骤720、选取0~639byte空间中的任意10个byte(简称byteA)写入数据0x99;
步骤730、选取640~1023byte中的任意10个byte(简称byteB)写入数据0x99;
步骤740、运行命令./SPDrw,读取服务器上所有DDR5内存的SPD信息,记作SPD2.txt;
步骤750、比较SPD1.txt与SPD2.txt,0~639byte中byteA的数据一致,640~1023byte中byteB的数据均为0x99;
步骤760、重启服务器;
步骤770、运行命令./SPDrw,读取服务器上所有DDR5内存的SPD信息,记作SPD3.txt;
步骤780、比较SPD2.txt与SPD3.txt,内容一致;
步骤790、DDR5内存SPD数据复原,原数据重新写回。
本发明实施例中,详细描述了对DDR5DDR5内存SPD读写性能进行测试的具体实现方式,可降低测试投入成本,同时可实现批量DDR5内存的SPD读写操作。
下面对本发明提供的内存SPD读写测试装置进行描述,下文描述的内存SPD读写测试装置与上文描述的内存SPD读写测试方法可相互对应参照。
图8为本发明一个实施例提供的内存SPD读写测试装置的结构示意图,如图8所示,该内存SPD读写测试装置800包括:
访问权限开启单元810,用于通过修改基本输入输出系统BIOS代码,开启在操作系统下通过中央处理器CPU的串行存在检测SPD控制器或寄存器对服务器的所有DDR5内存的SPD访问权限;
读写性能测试单元820,用于在确定所述SPD访问权限处于开启状态的情况下,通过在所述操作系统下运行DDR5内存SPD访问工具以及测试命令,对所述服务器的待测DDR5内存的SPD读写性能进行测试。
在一些实施例中,所述通过在所述操作系统下运行DDR5内存SPD访问工具以及测试命令,对所述服务器的待测DDR5内存的SPD读写性能进行测试,包括:
通过在所述操作系统下运行DDR5内存SPD访问工具,对所述CPU的寄存器或SPD控制器进行访问,并通过所述CPU的寄存器或SPD控制器对所述服务器的所有DDR5内存的SPD进行寻址;
通过运行所述测试命令,对所述服务器的待测DDR5内存的SPD进行读写性能测试,得到所述待测DDR5内存的SPD读写性能测试结果。
在一些实施例中,所述通过运行所述测试命令,对所述服务器的待测DDR5内存的SPD进行读写性能测试,得到所述待测DDR5内存的SPD读写性能测试结果,包括:
运行第一测试命令,得到第一SPD信息,所述第一测试命令用于读取所述服务器的所有DDR5内存的SPD信息;
确定第二测试命令,所述第二测试命令用于写入目标内容至所述待测DDR5内存的SPD;
运行所述第二测试命令,将所述目标内容写入至所述待测DDR5内存的SPD空间;
运行所述第一测试命令,得到第二SPD信息;
比较所述第一SPD信息和第二SPD信息,确定所述待测DDR5内存的SPD的写保护功能测试是否通过;
在所述写保护功能测试通过的情况下,重启所述服务器;
运行所述第一测试命令,得到第三SPD信息;
比较所述第二SPD信息和第三SPD信息,若所述第二SPD信息和第三SPD信息一致,则确定所述待测DDR5内存的SPD读写性能测试通过。
在一些实施例中,所述确定第二测试命令,包括:
获取所述待测DDR5内存的槽位信息;
基于所述槽位信息、所述目标内容、所述目标内容写入的字节位置、所述目标内容的长度,确定第二测试命令。
在一些实施例中,所述运行所述第二测试命令,将所述目标内容写入至所述待测DDR5内存的SPD空间,包括:
运行所述第二测试命令,将第一目标内容写入至所述待测DDR5内存的SPD空间的写保护区域,将第二目标内容写入至所述待测DDR5内存的SPD空间的可修改区域。
在一些实施例中,所述比较所述第一SPD信息和第二SPD信息,确定所述待测DDR5内存的SPD的写保护功能测试是否通过,包括:
比较所述第一SPD信息和第二SPD信息,若所述第一SPD信息和第二SPD信息中所述写保护区域对应的SPD信息一致,且所述第二SPD信息中可修改区域对应的SPD信息为所述第二目标内容,则确定所述待测DDR5内存的SPD的写保护功能测试通过。
在一些实施例中,所述确定所述待测DDR5内存的SPD读写性能测试通过之后,所述装置还包括:
恢复单元,用于基于所述第一SPD信息,恢复所述服务器的所有DDR5内存的SPD信息。
在此需要说明的是,本发明实施例提供的内存SPD读写测试装置,能够实现上述内存SPD读写测试方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
图9为本发明一个实施例提供的电子设备的实体结构示意图,如图9所示,该电子设备可以包括:处理器(processor)910、通信接口(Communications Interface)920、存储器(memory)930和通信总线940,其中,处理器910,通信接口920,存储器930通过通信总线940完成相互间的通信。处理器910可以调用存储器930中的逻辑指令,以执行内存SPD读写测试方法,该方法包括:通过修改基本输入输出系统BIOS代码,开启在操作系统下通过中央处理器CPU的串行存在检测SPD控制器或寄存器对服务器的所有DDR5内存的SPD访问权限;在确定所述SPD访问权限处于开启状态的情况下,通过在所述操作系统下运行DDR5内存SPD访问工具以及测试命令,对所述服务器的待测DDR5内存的SPD读写性能进行测试。
此外,上述的存储器930中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的内存SPD读写测试方法,该方法包括:通过修改基本输入输出系统BIOS代码,开启在操作系统下通过中央处理器CPU的串行存在检测SPD控制器或寄存器对服务器的所有DDR5内存的SPD访问权限;在确定所述SPD访问权限处于开启状态的情况下,通过在所述操作系统下运行DDR5内存SPD访问工具以及测试命令,对所述服务器的待测DDR5内存的SPD读写性能进行测试。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的内存SPD读写测试方法,该方法包括:通过修改基本输入输出系统BIOS代码,开启在操作系统下通过中央处理器CPU的串行存在检测SPD控制器或寄存器对服务器的所有DDR5内存的SPD访问权限;在确定所述SPD访问权限处于开启状态的情况下,通过在所述操作系统下运行DDR5内存SPD访问工具以及测试命令,对所述服务器的待测DDR5内存的SPD读写性能进行测试。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种内存SPD读写测试方法,其特征在于,包括:
通过修改基本输入输出系统BIOS代码,开启在操作系统下通过中央处理器CPU的串行存在检测SPD控制器或寄存器对服务器的所有DDR5内存的SPD访问权限;
在确定所述SPD访问权限处于开启状态的情况下,通过在所述操作系统下运行DDR5内存SPD访问工具以及测试命令,对所述服务器的待测DDR5内存的SPD读写性能进行测试。
2.根据权利要求1所述的内存SPD读写测试方法,其特征在于,所述通过在所述操作系统下运行DDR5内存SPD访问工具以及测试命令,对所述服务器的待测DDR5内存的SPD读写性能进行测试,包括:
通过在所述操作系统下运行DDR5内存SPD访问工具,对所述CPU的寄存器或SPD控制器进行访问,并通过所述CPU的寄存器或SPD控制器对所述服务器的所有DDR5内存的SPD进行寻址;
通过运行所述测试命令,对所述服务器的待测DDR5内存的SPD进行读写性能测试,得到所述待测DDR5内存的SPD读写性能测试结果。
3.根据权利要求2所述的内存SPD读写测试方法,其特征在于,所述通过运行所述测试命令,对所述服务器的待测DDR5内存的SPD进行读写性能测试,得到所述待测DDR5内存的SPD读写性能测试结果,包括:
运行第一测试命令,得到第一SPD信息,所述第一测试命令用于读取所述服务器的所有DDR5内存的SPD信息;
确定第二测试命令,所述第二测试命令用于写入目标内容至所述待测DDR5内存的SPD;
运行所述第二测试命令,将所述目标内容写入至所述待测DDR5内存的SPD空间;
运行所述第一测试命令,得到第二SPD信息;
比较所述第一SPD信息和第二SPD信息,确定所述待测DDR5内存的SPD的写保护功能测试是否通过;
在所述写保护功能测试通过的情况下,重启所述服务器;
运行所述第一测试命令,得到第三SPD信息;
比较所述第二SPD信息和第三SPD信息,若所述第二SPD信息和第三SPD信息一致,则确定所述待测DDR5内存的SPD读写性能测试通过。
4.根据权利要求3所述的内存SPD读写测试方法,其特征在于,所述确定第二测试命令,包括:
获取所述待测DDR5内存的槽位信息;
基于所述槽位信息、所述目标内容、所述目标内容写入的字节位置、所述目标内容的长度,确定第二测试命令。
5.根据权利要求3所述的内存SPD读写测试方法,其特征在于,所述运行所述第二测试命令,将所述目标内容写入至所述待测DDR5内存的SPD空间,包括:
运行所述第二测试命令,将第一目标内容写入至所述待测DDR5内存的SPD空间的写保护区域,将第二目标内容写入至所述待测DDR5内存的SPD空间的可修改区域。
6.根据权利要求5所述的内存SPD读写测试方法,其特征在于,所述比较所述第一SPD信息和第二SPD信息,确定所述待测DDR5内存的SPD的写保护功能测试是否通过,包括:
比较所述第一SPD信息和第二SPD信息,若所述第一SPD信息和第二SPD信息中所述写保护区域对应的SPD信息一致且所述第二SPD信息中所述可修改区域对应的SPD信息为所述第二目标内容,则确定所述待测DDR5内存的SPD的写保护功能测试通过。
7.根据权利要求3-6中任一项所述的内存SPD读写测试方法,其特征在于,所述确定所述待测DDR5内存的SPD读写性能测试通过之后,所述方法还包括:
基于所述第一SPD信息,恢复所述服务器的所有DDR5内存的SPD信息。
8.一种内存SPD读写测试装置,其特征在于,包括:
访问权限开启单元,用于通过修改基本输入输出系统BIOS代码,开启在操作系统下通过中央处理器CPU的串行存在检测SPD控制器或寄存器对服务器的所有DDR5内存的SPD访问权限;
读写性能测试单元,用于在确定所述SPD访问权限处于开启状态的情况下,通过在所述操作系统下运行DDR5内存SPD访问工具以及测试命令,对所述服务器的待测DDR5内存的SPD读写性能进行测试。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述的内存SPD读写测试方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的内存SPD读写测试方法。
CN202310618948.2A 2023-05-29 2023-05-29 内存spd读写测试方法、装置、电子设备和存储介质 Pending CN116820849A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310618948.2A CN116820849A (zh) 2023-05-29 2023-05-29 内存spd读写测试方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310618948.2A CN116820849A (zh) 2023-05-29 2023-05-29 内存spd读写测试方法、装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN116820849A true CN116820849A (zh) 2023-09-29

Family

ID=88113636

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310618948.2A Pending CN116820849A (zh) 2023-05-29 2023-05-29 内存spd读写测试方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN116820849A (zh)

Similar Documents

Publication Publication Date Title
EP3764237B1 (en) System startup method and apparatus, electronic device and storage medium
US9262283B2 (en) Method for reading kernel log upon kernel panic in operating system
CN106445398B (zh) 一种基于新型存储器的嵌入式文件系统及其实现方法
CN113254286B (zh) 一种服务器的日志输出方法、系统及相关装置
US20190065300A1 (en) Method of retrieving debugging data in uefi and computer system thereof
CN115756984A (zh) 内存测试方法、装置、设备及存储介质
CN112541166A (zh) 一种方法、系统和计算机可读存储介质
US20100115004A1 (en) Backup system that stores boot data file of embedded system in different strorage sections and method thereof
US11366596B2 (en) Data storage device and data access method for quickly loading boot data
US8667325B2 (en) Method, apparatus and system for providing memory sparing information
US11514995B2 (en) Memory sub-system self-testing operations
CN111857882B (zh) 可扩展的ssd开卡固件加载方法、装置、计算机设备及存储介质
US20240176887A1 (en) Method for Running Startup Program of Electronic Device, and Electronic Device
US11720276B2 (en) Memory system and controller for managing write status
CN110134545A (zh) 基于可信执行环境的提供虚拟nvram的方法及系统
CN116820849A (zh) 内存spd读写测试方法、装置、电子设备和存储介质
CN113094107B (zh) 数据保护方法、装置、设备及计算机存储介质
US20070208929A1 (en) Device information managements systems and methods
JP4735765B2 (ja) Linuxプログラム起動システム
CN106909341A (zh) 基于寄存器的功能模块的使能方法、装置及移动终端
US7447893B2 (en) Method and system for updating boot block BIOS program
CN110825714A (zh) 文件存储控制方法及其装置、文件存储装置、电子装置
US20240184454A1 (en) Storage device and operating method of the same
US11204781B2 (en) Optimizing power, memory and load time of a computing system during image loading based on image segmentation
CN118057380A (zh) 芯片、芯片启动方法和电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination