CN116431413A - 一种内存测试装置、方法、电子设备和存储介质 - Google Patents
一种内存测试装置、方法、电子设备和存储介质 Download PDFInfo
- Publication number
- CN116431413A CN116431413A CN202310448616.4A CN202310448616A CN116431413A CN 116431413 A CN116431413 A CN 116431413A CN 202310448616 A CN202310448616 A CN 202310448616A CN 116431413 A CN116431413 A CN 116431413A
- Authority
- CN
- China
- Prior art keywords
- memory
- test
- result
- module
- programmable gate
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 255
- 238000012360 testing method Methods 0.000 title claims abstract description 224
- 238000000034 method Methods 0.000 title abstract description 18
- 238000012549 training Methods 0.000 claims abstract description 64
- 238000004590 computer program Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 230000017525 heat dissipation Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000005291 magnetic effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000010998 test method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000005294 ferromagnetic effect Effects 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection 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/221—Detection 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 buses, lines or interfaces, e.g. stuck-at or open line faults
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection 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/2221—Detection 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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
本申请公开了一种内存测试装置、方法、电子设备和存储介质,涉及计算机技术领域。所述装置包括:现场可编程逻辑门阵列模块、内存控制器模块以及内存模块;现场可编程逻辑门阵列模块用于接收测试端的指令,并将指令以及测试用例传递给内存控制器模块;内存控制器模块用于根据指令对待测内存进行训练和/或测试并返回训练结果和/或测试结果至现场可编程逻辑门阵列模块;现场可编程逻辑门阵列模块还用于接收训练结果和/或测试结果进行分析得到分析结果,并将训练结果和/或测试结果以及分析结果发送至测试端。本申请能够降低测试对硬件环境的需求,降低使用门槛同时降低成本。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种内存测试装置、方法、电子设备和存储介质。
背景技术
随着云计算技术以及相关衍生技术与产品的不断兴起和发展,互联网行业的业务量逐渐呈现一种爆发式的增长。而作为虚拟数据的物理载体,服务器节点的需求量也是随之与日俱增。
目前服务器在实际运行过程中由DRAM(Dynamic Random Access Memory,动态随机存取存储器)也即内存故障导致的整机性能降低乃至宕机的故障率远远超出我们对其的预估值。因此,针对于内存故障机器的维护及维修会消耗掉大量的人力和物力,同时也对整机造成巨大的负面影响。
为此,我们需要提高内存模组在整机系统中的可靠性。由于内存本体故障导致的内存故障实际上在完备的整机系统中占了很大一部分,但是由于其故障一般集中在DRAM端,肉眼难以观测,在理想情况下我们需要通过对应的ATE(Automatic Test Equipment,集成电路自动测试机)设备来对内存进行质量检测,筛选出可能有问题且无法修复的内存。
目前现有的内存测试方法包括如下两种方式:
1、在操作系统中执行对应的内存测试程序进行内存测试。但这种方式存在一个问题,内存测试需要改写内存中每个cell的数据,如果内存已经在被操作系统使用,操作系统会占用部分的内存,对这一部分数据进行改写会导致不可预知的错误。故而,这种测试无法实现内存的全覆盖测试;
2、在Bios(Basic Input Output System,基本输入输出系统)中执行内存测试程序进行内存测试。这种方式是在整机进入系统之前对内存进行测试,此时代码工作在Bios的ROM(Read-Only Memory,只读存储器)中,内存空间都处于未被占用的状态,故而能实现内存的全覆盖测试。但是这种方式由于代码在ROM中,运行效率低,同时由于需要在Bios阶段测试,还需要一些支持,从而增加研发成本。
目前现有技术还有结合上述两种方式进行内存测试的,将内存本体空间分为两部分,操作系统部分使用的内存空间通过Bios来实现内存测试,非操作系统使用的内存空间通过操作系统来实现内存测试。以此来实现内存测试的全覆盖性,同时又规避了单纯由Bios进行测试带来的测试效率低的弊端。然而,通过采用这样的方式,该方案中所需要的硬件环境相较于传统的内存测试工具并没有任何区别,此方案硬件成本相较于传统测试工具没有任何优化;同时,其逻辑处理复杂度变高了,这种技术还是建立在传统内存测试方案基础上的,需要一定的技术支持,从而增加研发成本;另外,此技术对于内存测试工具的空间也没有实现优化,需要建立在几乎一整个完整的服务器系统架构下,这样会导致占地空间大、带来散热以及噪声等附带问题。
发明内容
为了解决上述背景技术中提到的至少一个问题,本申请提供了一种内存测试装置、方法、电子设备和存储介质,能够降低测试对硬件环境的需求,降低使用门槛同时降低成本。
本申请实施例提供的具体技术方案如下:
第一方面,提供一种内存测试装置,包括:
现场可编程逻辑门阵列模块、内存控制器模块以及内存模块;
所述现场可编程逻辑门阵列模块用于接收测试端的指令,并将所述指令以及测试用例传递给所述内存控制器模块;
所述内存控制器模块用于根据所述指令对待测内存进行训练和/或测试并返回训练结果和/或测试结果至所述现场可编程逻辑门阵列模块;
所述现场可编程逻辑门阵列模块还用于接收所述训练结果和/或所述测试结果进行分析得到分析结果,并将所述训练结果和/或所述测试结果以及所述分析结果发送至所述测试端。
进一步的,所述现场可编程逻辑门阵列模块与所述内存控制器模块通过快连计算通道协议通信,以使得所述内存模块对于所述现场可编程逻辑门阵列模块可见。
进一步的,所述指令包括校准指令,所述现场可编程逻辑门阵列模块还用于接收测试端的校准指令,并将所述校准指令以及测试用例传递给所述内存控制器模块;
所述内存控制器模块还用于根据所述校准指令对待测内存进行训练并返回训练结果至所述现场可编程逻辑门阵列模块;
所述现场可编程逻辑门阵列模块还用于记录满足预设规格的训练结果作为当前所述待测内存的校准数据直至下一次进行校准。
进一步的,所述内存控制器模块还用于在校准完成后将通道切换为高速串行计算机扩展总线标准通道。
进一步的,所述现场可编程逻辑门阵列模块还用于响应于检测到所述训练结果中的链路裕量满足目标预设规格,记录满足所述目标预设规格的训练结果作为当前所述待测内存的校准数据;
所述内存控制器模块还用于保存当前所述待测内存的校准数据至存储单元中。
进一步的,所述指令还包括测试指令;
在校准完成之后,所述现场可编程逻辑门阵列模块还用于接收测试端的测试指令,并将所述测试指令以及测试用例传递给所述内存控制器模块;
在校准完成之后,所述内存控制器模块还用于根据所述测试指令通过存储器内建自测试模块对待测内存进行测试并返回测试结果至所述现场可编程逻辑门阵列模块;
所述现场可编程逻辑门阵列模块还用于接收所述测试结果进行分析得到分析结果,并将所述测试结果以及所述分析结果发送至所述测试端;
其中,所述分析结果描述所述待测内存的故障情况。
进一步的,所述现场可编程逻辑门阵列模块还用于通过带外总线协议读取控温箱的温度数据并对所述控温箱下达温度控制指令;
所述带外总线协议包括两线式串行总线以及高速串行计算机扩展总线标准中的至少一种。
第二方面,提供一种内存测试方法,包括:
通过现场可编程逻辑门阵列模块接收测试端的指令,并将所述指令以及测试用例传递给内存控制器模块;
通过所述内存控制器模块根据所述指令对待测内存进行训练和/或测试并返回训练结果和/或测试结果至所述现场可编程逻辑门阵列模块;
通过所述现场可编程逻辑门阵列模块接收所述训练结果和/或所述测试结果进行分析得到分析结果,并将所述训练结果和/或所述测试结果以及所述分析结果发送至所述测试端。
第三方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的内存测试方法。
第四方面,提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行所述的内存测试方法。
本申请实施例具有如下有益效果:
本申请实施例提供的一种内存测试装置、方法、电子设备和存储介质,能够解耦传统的内存测试工具对于高性能CPU的硬件需求,同时能够解耦传统内存测试工具对于AMI的软件支持需求,极大程度降低了成本;仅需要三个模组(现场可编程逻辑门阵列模块、内存控制器模块以及内存模块)即可实现内存测试,降低了对于硬件环境的高需求门槛,也同时减少散热需求,降低了使用门槛以及使用成本。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本申请实施例提供的内存测试装置的总框架图;
图2示出根据本申请一个实施例的内存测试装置的具体框架图;
图3示出根据本申请一个实施例的内存控制器中MBIST模块的架构示意图;
图4示出本申请实施例提供的内存测试方法的总流程图;
图5示出根据本申请一个实施例的内存测试方法的具体流程图;
图6示出可被用于实施本申请中所述的各个实施例的示例性系统。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,在本申请的描述中,除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
实施例一
本申请提供了一种内存测试装置,参照图1,包括:现场可编程逻辑门阵列模块、内存控制器模块以及内存模块。
其中,现场可编程逻辑门阵列模块用于接收测试端的指令,并将指令以及测试用例传递给内存控制器模块;内存控制器模块用于根据指令对待测内存进行训练和/或测试并返回训练结果和/或测试结果至现场可编程逻辑门阵列模块;现场可编程逻辑门阵列模块还用于接收训练结果和/或测试结果进行分析得到分析结果,并将训练结果和/或测试结果以及分析结果发送至测试端。
具体的,测试端可以是服务器或个人计算机,视具体的测试工作规模决定测试端的选定。测试端下发指令至内存测试装置,现场可编程逻辑门阵列模块通过网络或者JTAG(Joint Test Action Group,联合测试工作组)接口接收来自测试端的指令,指令具体可以是针对待测内存的测试项,包括但不限于下述的校准指令以及测试指令。现场可编程逻辑门阵列模块还可以存储内存测试所需要的测试用例Pattern并将指令以及测试用例传递给内存控制器模块。内存控制器模块接收现场可编程逻辑门阵列模块下发的指令并执行,并根据指令对内存模块进行相关的算法动作,然后收集内存模块的反馈值回传给现场可编程逻辑门阵列模块。现场可编程逻辑门阵列模块收集内存控制器模块返回的训练结果和/或测试结果并进行分析,通过网络或者JTAG接口将测试的原始数据以及分析结果传递给测试端。通过采用这样的技术手段,能够解耦传统的内存测试工具对于高性能CPU(CentralProcessing Unit,中央处理器)的硬件需求,同时能够解耦传统内存测试工具对于AMI的软件支持需求,极大程度降低了成本;仅需要三个模组(现场可编程逻辑门阵列模块、内存控制器模块以及内存模块)即可实现内存测试,降低了对于硬件环境的高需求门槛,也同时减少散热需求,降低了使用门槛以及使用成本。
下面将结合附图2对本实施例进行进一步的说明:
在一些实施方式中,现场可编程逻辑门阵列模块与内存控制器模块通过快连计算通道协议通信,以使得内存模块对于现场可编程逻辑门阵列模块可见。
在一些实施方式中,内存控制器模块还用于在校准完成后将通道切换为高速串行计算机扩展总线标准通道。
具体的,现场可编程逻辑门阵列模块(FPGA模块)与内存控制器模块(MemoryController)之间的通道协议是Optional的,可以通过CXL(Compute Express Link,快连计算通道协议)以及PCI-Express(peripher al component interconnect express,高速串行计算机扩展总线标准)进行通信。当第一次使用内存测试装置时,首先需要将现场可编程逻辑门阵列模块(FPGA模块)与内存控制器模块(Memory Controller)之间的通道协议设置为CXL协议,此时对端内存模块对于FPGA模块是可见的,以便于在此基础上对待测内存执行训练动作,从而能够对测试工具的SI(sign al integrity,信号完成性)链路执行校准。在完成校准工作以后,内存模块对于现场可编程逻辑门阵列模块(FPGA模块)就没有可见的必要了,就可以通过内存控制器模块(Memory Controller)再将与现场可编程逻辑门阵列模块(FPGA模块)之间的通信通道选择为PCIe通道,通过PCIe通道与FPGA模块继续进行交互。通过采用这样的技术手段,能够通过CXL协议实现内存测试工具对于硬件上的解耦。
在一些实施方式中,指令包括校准指令,现场可编程逻辑门阵列模块还用于接收测试端的校准指令,并将校准指令以及测试用例传递给内存控制器模块;内存控制器模块还用于根据校准指令对待测内存进行训练并返回训练结果至现场可编程逻辑门阵列模块;现场可编程逻辑门阵列模块还用于记录满足预设规格的训练结果作为当前待测内存的校准数据直至下一次进行校准。
具体的,现场可编程逻辑门阵列模块(FPGA模块)会将校准指令给到内存控制器模块,此时两者之间的链路为CXL协议,内存模块对于FPGA模块是可见的。内存控制器会根据校准指令对待测内存进行训练并返回训练结果。FPGA模块会根据返回的训练结果执行校准动作,在校准之后才会发下测试任务。能够针对不同型号的内存执行校准,且可保存相关数据上传至云端。
在一些实施方式中,现场可编程逻辑门阵列模块还用于响应于检测到训练结果中的链路裕量满足目标预设规格,记录满足目标预设规格的训练结果作为当前待测内存的校准数据;内存控制器模块还用于保存当前待测内存的校准数据至存储单元中。
具体的,FPGA模块还会判断训练结果中得到的链路裕量是否满足目标预设规格,这里的目标预设规格一般是目标厂商(例如Intel等)具体的预设规格(spec),可以由实际部署测试进行参数设定。如果不满足目标预设规格,则说明测试工具存在问题,需要维护;如果裕量满足目标预设规格,则FPGA模块会记录校准数据直至对当前待测内存再次进行校准,内存控制器模块会保存至其RAM(Random Access Memory,随机存取存储器)或者其他外挂非易失性存储单元中。
在一些实施方式中,指令还包括测试指令。在校准完成之后,现场可编程逻辑门阵列模块还用于接收测试端的测试指令,并将测试指令以及测试用例传递给内存控制器模块;在校准完成之后,内存控制器模块还用于根据测试指令通过存储器内建自测试模块对待测内存进行测试并返回测试结果至现场可编程逻辑门阵列模块;现场可编程逻辑门阵列模块还用于接收测试结果进行分析得到分析结果,并将测试结果以及分析结果发送至测试端;其中,分析结果描述待测内存的故障情况。
具体的,在校准完成以后,可以选择对待测内存执行的测试项目,包括但不限于Row Hammer、MarchA、MarchX、MarchC、MarchG以及MATS等测试项目。FPGA模块会将携带有需要执行测试项目的测试指令发送给内存控制器,内存控制器中的MBIST(memory build-in-self test,存储器内建自测试)模块会将具体需要进行的测试任务,调用对应的测试算法对内存各个存储单元进行读写作用。示例性的,以上述March算法为例,内存控制器会按照内存物理地址顺移往内存各存储单元中以此读写0和1,此时再由内存控制器中的比较器模组比对读出值和预期值并将结果返回。FPGA模组根据返回值及对应算法,分析内存本体的故障情况。故障情况包括是否存在故障或者存在故障风险,若存在故障或存在故障风险,还会描述出具体故障类型及故障位置。通过采用这样的技术手段,能够通过内存控制器实现测试工具对于软件的解耦,解耦对于AMI支持的软件需求,降低了成本。
具体的,参照图3,图3为内存控制器中MBIST模块的架构示意。MBIST模块包括物理子系统、CXL子系统以及内存子系统。其中,物理子系统(PHY Subsystem)可以包括PCIe/CXL物理接口,用于实现和FPGA Module的互联。还包括RISC-V Core和RISC-V FW(firmware,固件),内存控制器内部Code运行在此RISC-V小系统中,用以实现对芯片的基础功能管理以及监控,包括但不限于完成物理层训练,监控芯片内部健康状态,温度等等。CXL子系统(CXLSubsystem)包括CXL Controller,其中包含CXL协议定义的基本cxl.io和cxl.memory接口,用以实现CXL到DDR I/O(输入输出)的转换,以此实现系统链路的初次训练,用以校准。同样的,校准完成的数据会报错在内存控制器的RAM或者外挂非易失性存储单元。完成校准后此处用以实现FPGA通过PCIe的指令传递。同时完成MBIST Controller单元的指令传递。最后,内存子系统(DDR Subsystem)的主要功能是实现DDR I/O的接口,同时根据CXL Subsystem传递的指令实现对DDR指定位置的读写,比较,并回传数据。
在一些实施方式中,现场可编程逻辑门阵列模块还用于通过带外总线协议读取控温箱的温度数据并对控温箱下达温度控制指令;带外总线协议包括两线式串行总线以及高速串行计算机扩展总线标准中的至少一种。
具体的,现场可编程逻辑门阵列模块(FPGA模块)还可以承载控温箱控制功能。FPGA模块可以通过I2C两线式串行总线或者PCIe总线读取到控温箱的温度数据,并根据温度数据下发温度控制指令,以使得控温箱根据温度控制指令执行对应的温度控制。若FPGA模块的资源已经用完,也可以将温度控制任务通过测试端执行,而FPGA模块仅做指令传递和执行。
在本实施例中,能够解耦传统的内存测试工具对于高性能CPU的硬件需求,同时能够解耦传统内存测试工具对于AMI的软件支持需求,极大程度降低了成本;仅需要三个模组(现场可编程逻辑门阵列模块、内存控制器模块以及内存模块)即可实现内存测试,降低了对于硬件环境的高需求门槛,也同时减少散热需求,降低了使用门槛以及使用成本。
实施例二
对应上述实施例,本申请还提供了一种内存测试方法,参照图4,方法包括:
S1、通过现场可编程逻辑门阵列模块接收测试端的指令,并将指令以及测试用例传递给内存控制器模块;
S2、通过内存控制器模块根据指令对待测内存进行训练和/或测试并返回训练结果和/或测试结果至现场可编程逻辑门阵列模块;
S3、通过现场可编程逻辑门阵列模块接收训练结果和/或测试结果进行分析得到分析结果,并将训练结果和/或测试结果以及分析结果发送至测试端。
具体的,测试端下发指令至内存测试装置,现场可编程逻辑门阵列模块通过网络或者JTAG接口接收来自测试端的指令,指令具体可以是针对待测内存的测试项,包括但不限于下述的校准指令以及测试指令。现场可编程逻辑门阵列模块还可以存储内存测试所需要的测试用例Pattern并将指令以及测试用例传递给内存控制器模块。内存控制器模块接收现场可编程逻辑门阵列模块下发的指令并执行,并根据指令对内存模块进行相关的算法动作,然后收集内存模块的反馈值回传给现场可编程逻辑门阵列模块。现场可编程逻辑门阵列模块收集内存控制器模块返回的训练结果和/或测试结果并进行分析,通过网络或者JTAG接口将测试的原始数据以及分析结果传递给测试端。通过采用这样的技术手段,能够解耦传统的内存测试工具对于高性能CPU的硬件需求,同时能够解耦传统内存测试工具对于AMI的软件支持需求,极大程度降低了成本;仅需要三个模组(现场可编程逻辑门阵列模块、内存控制器模块以及内存模块)即可实现内存测试,降低了对于硬件环境的高需求门槛,也同时减少散热需求,降低了使用门槛以及使用成本。
下面将结合附图5对本实施例进行进一步的说明:
在一些实施方式中,方法还包括:
101、将现场可编程逻辑门阵列模块与内存控制器模块通过快连计算通道协议通信,以使得内存模块对于现场可编程逻辑门阵列模块可见。
在一些实施方式中,所述指令包括校准指令,基于此,S1包括:
S11、通过现场可编程逻辑门阵列模块接收测试端的校准指令,并将校准指令以及测试用例传递给内存控制器模块;
S2包括:
S21、通过内存控制器模块根据校准指令对待测内存进行训练并返回训练结果至现场可编程逻辑门阵列模块;
S3包括:
S31、通过现场可编程逻辑门阵列模块接收训练结果,记录满足预设规格的训练结果作为当前所述待测内存的校准数据直至下一次进行校准。
在一些实施方式中,方法还包括:
201、通过内存控制器模块在校准完成后将通道切换为高速串行计算机扩展总线标准通道。
在一些实施方式中,S31还包括:
S311、现场可编程逻辑门阵列模块响应于检测到训练结果中的链路裕量满足目标预设规格,记录满足目标预设规格的训练结果作为当前待测内存的校准数据;
S312、通过内存控制器模块保存当前待测内存的校准数据至存储单元中。
在一些实施方式中,所述指令包括测试指令,基于此,S1还包括:
S12、在校准完成之后,通过现场可编程逻辑门阵列模块接收测试端的测试指令,并将测试指令以及测试用例传递给内存控制器模块;
S2还包括:
S22、在校准完成之后,通过内存控制器模块根据测试指令通过存储器内建自测试模块对待测内存进行测试并返回测试结果至现场可编程逻辑门阵列模块;
S3还包括:
S32、通过现场可编程逻辑门阵列模块接收测试结果进行分析得到分析结果,并将测试结果以及分析结果发送至测试端。
其中,分析结果描述待测内存的故障情况。
在一些实施方式中,方法还包括:
通过现场可编程逻辑门阵列模块通过带外总线协议读取控温箱的温度数据并对所述控温箱下达温度控制指令;
所述带外总线协议包括两线式串行总线以及高速串行计算机扩展总线标准中的至少一种。
需要注意的是,术语“S1”、“S2”等仅用于步骤的描述目的,并非特别指称次序或顺位的意思,亦非用以限定本申请,其仅仅是为了方便描述本申请的方法,而不能理解为指示步骤的先后顺序。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
关于上述内存测试方法的一些具体限定可以参照上文对于内存测试装置的相关限定,故此处不再赘述。
实施例三
对应上述实施例,本申请还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时可以实现上述内存测试方法。
如图6所示,在一些实施例中,系统能够作为各所述实施例中的任意一个用于内存测试方法的上述电子设备。在一些实施例中,系统可包括具有指令的一个或多个计算机可读介质(例如,系统存储器或NVM/存储设备)以及与该一个或多个计算机可读介质耦合并被配置为执行指令以实现模块从而执行本申请中所述的动作的一个或多个处理器(例如,(一个或多个)处理器)。
对于一个实施例,系统控制模块可包括任意适当的接口控制器,以向(一个或多个)处理器中的至少一个和/或与系统控制模块通信的任意适当的设备或组件提供任意适当的接口。
系统控制模块可包括存储器控制器模块,以向系统存储器提供接口。存储器控制器模块可以是硬件模块、软件模块和/或固件模块。
系统存储器可被用于例如为系统加载和存储数据和/或指令。对于一个实施例,系统存储器可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,系统存储器可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。
对于一个实施例,系统控制模块可包括一个或多个输入/输出(I/O)控制器,以向NVM/存储设备及(一个或多个)通信接口提供接口。
例如,NVM/存储设备可被用于存储数据和/或指令。NVM/存储设备可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。
NVM/存储设备可包括在物理上作为系统被安装在其上的设备的一部分的存储资源,或者其可被该设备访问而不必作为该设备的一部分。例如,NVM/存储设备可通过网络经由(一个或多个)通信接口进行访问。
(一个或多个)通信接口可为系统提供接口以通过一个或多个网络和/或与任意其他适当的设备通信。系统可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信。
对于一个实施例,(一个或多个)处理器中的至少一个可与系统控制模块的一个或多个控制器(例如,存储器控制器模块)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器中的至少一个可与系统控制模块的一个或多个控制器的逻辑封装在一起以形成系统级封装(SiP)。对于一个实施例,(一个或多个)处理器中的至少一个可与系统控制模块的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器中的至少一个可与系统控制模块的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(SoC)。
在各个实施例中,系统可以但不限于是:服务器、工作站、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)。在各个实施例中,系统可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,系统包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。本领域技术人员应能理解,计算机程序指令在计算机可读介质中的存在形式包括但不限于源文件、可执行文件、安装包文件等,相应地,计算机程序指令被计算机执行的方式包括但不限于:该计算机直接执行该指令,或者该计算机编译该指令后再执行对应的编译后程序,或者该计算机读取并执行该指令,或者该计算机读取并安装该指令后再执行对应的安装后程序。在此,计算机可读介质可以是可供计算机访问的任意可用的计算机可读存储介质或通信介质。
通信介质包括藉此包含例如计算机可读指令、数据结构、程序模块或其他数据的通信信号被从一个系统传送到另一系统的介质。通信介质可包括有导的传输介质(诸如电缆和线(例如,光纤、同轴等))和能传播能量波的无线(未有导的传输)介质,诸如声音、电磁、RF、微波和红外。计算机可读指令、数据结构、程序模块或其他数据可被体现为例如无线介质(诸如载波或诸如被体现为扩展频谱技术的一部分的类似机制)中的已调制数据信号。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。调制可以是模拟的、数字的或混合调制技术。
在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
实施例四
对应上述实施例,本申请还提供了一种计算机可读存储介质,存储有计算机可执行指令,计算机可执行指令用于执行内存测试方法。
在本实施例中,计算机可读存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。例如,计算机可读存储介质包括,但不限于,易失性存储器,诸如随机存储器(RAM,DRAM,SRAM);以及非易失性存储器,诸如闪存、各种只读存储器(ROM,PROM,EPROM,EEPROM)、磁性和铁磁/铁电存储器(MRAM,FeRAM);以及磁性和光学存储设备(硬盘、磁带、CD、DVD);或其它现在已知的介质或今后开发的能够存储供计算机系统使用的计算机可读信息/数据。
尽管已描述了本申请实施例中的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例中范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种内存测试装置,其特征在于,包括:
现场可编程逻辑门阵列模块、内存控制器模块以及内存模块;
所述现场可编程逻辑门阵列模块用于接收测试端的指令,并将所述指令以及测试用例传递给所述内存控制器模块;
所述内存控制器模块用于根据所述指令对待测内存进行训练和/或测试并返回训练结果和/或测试结果至所述现场可编程逻辑门阵列模块;
所述现场可编程逻辑门阵列模块还用于接收所述训练结果和/或所述测试结果进行分析得到分析结果,并将所述训练结果和/或所述测试结果以及所述分析结果发送至所述测试端。
2.根据权利要求1所述的内存测试装置,其特征在于,所述现场可编程逻辑门阵列模块与所述内存控制器模块通过快连计算通道协议通信,以使得所述内存模块对于所述现场可编程逻辑门阵列模块可见。
3.根据权利要求1所述的内存测试装置,其特征在于,所述指令包括校准指令,所述现场可编程逻辑门阵列模块还用于接收测试端的校准指令,并将所述校准指令以及测试用例传递给所述内存控制器模块;
所述内存控制器模块还用于根据所述校准指令对待测内存进行训练并返回训练结果至所述现场可编程逻辑门阵列模块;
所述现场可编程逻辑门阵列模块还用于记录满足预设规格的训练结果作为当前所述待测内存的校准数据直至下一次进行校准。
4.根据权利要求3所述的内存测试装置,其特征在于,所述内存控制器模块还用于在校准完成后将通道切换为高速串行计算机扩展总线标准通道。
5.根据权利要求3所述的内存测试装置,其特征在于,所述现场可编程逻辑门阵列模块还用于响应于检测到所述训练结果中的链路裕量满足目标预设规格,记录满足所述目标预设规格的训练结果作为当前所述待测内存的校准数据;
所述内存控制器模块还用于保存当前所述待测内存的校准数据至存储单元中。
6.根据权利要求3所述的内存测试装置,其特征在于,所述指令还包括测试指令;
在校准完成之后,所述现场可编程逻辑门阵列模块还用于接收测试端的测试指令,并将所述测试指令以及测试用例传递给所述内存控制器模块;
在校准完成之后,所述内存控制器模块还用于根据所述测试指令通过存储器内建自测试模块对待测内存进行测试并返回测试结果至所述现场可编程逻辑门阵列模块;
所述现场可编程逻辑门阵列模块还用于接收所述测试结果进行分析得到分析结果,并将所述测试结果以及所述分析结果发送至所述测试端;
其中,所述分析结果描述所述待测内存的故障情况。
7.根据权利要求1所述的内存测试装置,其特征在于,所述现场可编程逻辑门阵列模块还用于通过带外总线协议读取控温箱的温度数据并对所述控温箱下达温度控制指令;
所述带外总线协议包括两线式串行总线以及高速串行计算机扩展总线标准中的至少一种。
8.一种内存测试方法,其特征在于,包括:
通过现场可编程逻辑门阵列模块接收测试端的指令,并将所述指令以及测试用例传递给内存控制器模块;
通过所述内存控制器模块根据所述指令对待测内存进行训练和/或测试并返回训练结果和/或测试结果至所述现场可编程逻辑门阵列模块;
通过所述现场可编程逻辑门阵列模块接收所述训练结果和/或所述测试结果进行分析得到分析结果,并将所述训练结果和/或所述测试结果以及所述分析结果发送至所述测试端。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求8所述的内存测试方法。
10.一种计算机可读存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令用于执行权利要求8所述的内存测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310448616.4A CN116431413A (zh) | 2023-04-24 | 2023-04-24 | 一种内存测试装置、方法、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310448616.4A CN116431413A (zh) | 2023-04-24 | 2023-04-24 | 一种内存测试装置、方法、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116431413A true CN116431413A (zh) | 2023-07-14 |
Family
ID=87094269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310448616.4A Pending CN116431413A (zh) | 2023-04-24 | 2023-04-24 | 一种内存测试装置、方法、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116431413A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117056149A (zh) * | 2023-10-08 | 2023-11-14 | 飞腾信息技术有限公司 | 一种内存测试方法、装置、计算设备及存储介质 |
CN117807005A (zh) * | 2024-02-29 | 2024-04-02 | 苏州元脑智能科技有限公司 | 一种内存扩展系统、服务器、内存请求方法及存储介质 |
-
2023
- 2023-04-24 CN CN202310448616.4A patent/CN116431413A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117056149A (zh) * | 2023-10-08 | 2023-11-14 | 飞腾信息技术有限公司 | 一种内存测试方法、装置、计算设备及存储介质 |
CN117056149B (zh) * | 2023-10-08 | 2024-02-02 | 飞腾信息技术有限公司 | 一种内存测试方法、装置、计算设备及存储介质 |
CN117807005A (zh) * | 2024-02-29 | 2024-04-02 | 苏州元脑智能科技有限公司 | 一种内存扩展系统、服务器、内存请求方法及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116431413A (zh) | 一种内存测试装置、方法、电子设备和存储介质 | |
KR101087182B1 (ko) | 스토리지 테스터 및 ssd 디바이스 | |
KR100858651B1 (ko) | 순차적 반도체 테스트 장치 | |
CN105738854A (zh) | 智能电表嵌入式应用的模拟存储器测试板系统及测试方法 | |
CN105008943A (zh) | 对在fpga块内分组创建加速的测试仪 | |
CN103052993A (zh) | 用于全速、并行dut测试的解决方案 | |
CN103853639A (zh) | 自测试芯片上功能逻辑块的芯片上集成的系统和方法 | |
RU2438164C2 (ru) | Система функционального тестирования корпусированных микросхем оперативно запоминающих устройств | |
CN104838373A (zh) | 基于单个微控制器的多个计算节点管理 | |
CN101458725B (zh) | 微控制器芯片及其调试方法 | |
CN101419844B (zh) | 一种闪存器件仿真设备以及闪存主控模块评测方法 | |
CN115547400A (zh) | 非易失性存储芯片测试系统及非易失性存储芯片测试方法 | |
CN105487953A (zh) | 一种总线性能分析方法和装置 | |
US10002062B2 (en) | Quasi disk drive for testing disk interface performance | |
CN101853198B (zh) | 地址总线的检测方法、设备和系统 | |
US9612272B2 (en) | Testing memory devices with parallel processing operations | |
CN110727611A (zh) | 一种带状态监测的可配置一致性验证系统 | |
CN116032812A (zh) | 一种多交换机供电测试方法、装置、电子设备和存储介质 | |
TWI610246B (zh) | 在固態硬碟中以無線射頻識別爲基之缺陷偵測技術 | |
CN104134464A (zh) | 地址线测试系统及方法 | |
CN113254290A (zh) | 一种内存颗粒多维测试方法、装置、系统和可读存储介质 | |
US7197677B1 (en) | System and method to asynchronously test RAMs | |
US20230342274A1 (en) | Modular test system | |
CN111370051B (zh) | 一种非易失存储器验证系统及方法 | |
CN114449370B (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 |