CN118298897B - 一种内存模组自动断电压力测试方法及系统 - Google Patents
一种内存模组自动断电压力测试方法及系统 Download PDFInfo
- Publication number
- CN118298897B CN118298897B CN202410719886.9A CN202410719886A CN118298897B CN 118298897 B CN118298897 B CN 118298897B CN 202410719886 A CN202410719886 A CN 202410719886A CN 118298897 B CN118298897 B CN 118298897B
- Authority
- CN
- China
- Prior art keywords
- temperature
- memory
- test
- memory module
- module
- 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.)
- Active
Links
- 238000010998 test method Methods 0.000 title claims description 7
- 238000012360 testing method Methods 0.000 claims abstract description 145
- 238000000034 method Methods 0.000 claims abstract description 56
- 230000006870 function Effects 0.000 claims abstract description 47
- 238000004458 analytical method Methods 0.000 claims abstract description 30
- 238000013461 design Methods 0.000 claims abstract description 22
- 230000002159 abnormal effect Effects 0.000 claims abstract description 11
- 238000004422 calculation algorithm Methods 0.000 claims description 22
- 210000000349 chromosome Anatomy 0.000 claims description 21
- 238000005457 optimization Methods 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 19
- 238000012544 monitoring process Methods 0.000 claims description 18
- 230000008859 change Effects 0.000 claims description 17
- 230000002068 genetic effect Effects 0.000 claims description 17
- 238000009826 distribution Methods 0.000 claims description 15
- 230000017525 heat dissipation Effects 0.000 claims description 12
- 238000004088 simulation Methods 0.000 claims description 12
- 239000000463 material Substances 0.000 claims description 11
- 230000005855 radiation Effects 0.000 claims description 9
- 230000035772 mutation Effects 0.000 claims description 7
- 238000013178 mathematical model Methods 0.000 claims description 6
- 230000001052 transient effect Effects 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 4
- 238000009662 stress testing Methods 0.000 claims description 3
- 239000000758 substrate Substances 0.000 description 8
- 210000004027 cell Anatomy 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 239000008186 active pharmaceutical agent Substances 0.000 description 5
- 230000004907 flux Effects 0.000 description 5
- 230000007547 defect Effects 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012805 post-processing Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 239000000243 solution Substances 0.000 description 3
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 2
- 239000004593 Epoxy Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 108090000623 proteins and genes Proteins 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 206010064571 Gene mutation Diseases 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013079 data visualisation Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 239000003822 epoxy resin Substances 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007334 memory performance Effects 0.000 description 1
- 238000002715 modification method Methods 0.000 description 1
- 239000005022 packaging material Substances 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 150000003071 polychlorinated biphenyls Chemical class 0.000 description 1
- 229920000647 polyepoxide Polymers 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000005057 refrigeration Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000010183 spectrum analysis Methods 0.000 description 1
- 238000002076 thermal analysis method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请实施例提供了一种内存模组自动断电压力测试方法及系统,涉及信息技术领域。该方法包括:采用多层抽象工厂模式进行整体测试软件架构设计,划分数据层、业务逻辑层和表示层;集成Memtester作为压力测试的核心引擎,并开发配置文件解析功能,提供测试接口,并对内存模组进行压力测试;集成内存温度传感器,实时采集所述内存模组的温度参数,并对温度进行分析和预警;设计自动断电保护功能,当温度异常时,通过继电器实现内存供电的切断操作。
Description
技术领域
本申请涉及信息技术领域,具体而言,本申请涉及一种内存模组自动断电压力测试方法及系统。
背景技术
内存是现代计算机平台中的关键部件之一。计算机运行的程序,如Windows操作系统,一般都是安装在硬盘等外存上的,但仅此是不能使用其功能的,必须把它们调入内存中运行,才能真正使用其功能。内存中存放的是正在被程序处理的数据或者代码,计算机的运行性能除了CPU中央处理器之外,很大程度地决定于内存。
内存压力测试就是为了确保信号数量众多、时序复杂的内存总线在高强度的程序运行中的正常工作,它伴随着内存的诞生而出现,并随着内存的发展更新也不断地推陈出新。内存作为计算机平台的一个重要的组成部分,既有自身可能存在的缺陷,又有与系统平台的兼容性问题。内存是存储器的一种,它是一个高密度的设计,在检测中通常是将物理故障模型转化为逻辑故障,通过检测故障模型达到检测物理缺陷。
目前常用的内存压力测试方法主要有:
物理缺陷检测法:通过将内存的物理故障模型转化为逻辑故障模型,利用故障模型检测内存的物理缺陷。
兼容性测试法:测试内存模组与系统平台的兼容性,发现潜在的兼容性问题。
测试参数修改法:通过修改测试参数,对内存模组进行测试,提高内存良品率。
然而,现有的内存压力测试方法仍然存在一些不足:
缺乏实时的温度监控功能,无法动态跟踪内存温度的变化,存在安全隐患。
测试过程相对复杂,缺乏简单易用的自动化测试工具。
可扩展性不足,难以适应不同的系统架构和接口协议。
发明内容
本申请实施例提供了一种内存模组自动断电压力测试方法及系统,用于解决现有的内存模组测试中缺乏温度监控、测试过程复杂且可扩展性不足的问题。
根据本申请实施例的一个方面,提供了一种内存模组自动断电压力测试方法,包括:
采用多层抽象工厂模式进行整体测试软件架构设计,划分数据层、业务逻辑层和表示层;
集成Memtester作为压力测试的核心引擎,并开发配置文件解析功能,提供测试接口,并对内存模组进行压力测试;
集成内存温度传感器,实时采集所述内存模组的温度参数,并对温度进行分析和预警;
设计自动断电保护功能,当温度异常时,通过继电器实现内存供电的切断操作。
可选地,集成Memtester作为压力测试的核心引擎,并开发配置文件解析功能,提供测试接口,包括:
修改Memtester源码,在入口函数处添加命令行参数解析逻辑,允许用户通过命令行指定测试参数;
定义Memtester适配器接口;
通过适配器进行适配,并将所述Memtester集成到测试流程中;
定义统一的配置文件格式YML;
开发配置文件解析模块,以便在运行时动态加载测试参数;
提供基于HTTP结合JSON的RESTful测试接口。
可选地,提供基于HTTP结合JSON的RESTful测试接口,包括:
使用ASP.NET Core开发Web API,定义压力测试的HTTP接口;
定义Protobuf消息格式,序列化或反序列化测试配置和结果;
在压力测试服务中设置基于Protobuf的RPC接口。
可选地,实时采集所述内存模组的温度参数,并对温度进行分析和预警,包括:
实时采集所述内存模组的温度参数;
设置温度预警阈值;
实时比较所述温度参数与所述阈值,并在所述温度参数超过所述阈值时进行报警;
记录温度变化曲线,实现温度追踪和故障分析。
可选地,设计自动断电保护功能,当温度异常时,通过继电器实现内存供电的切断操作,包括:
设计继电器控制电路,通过MCU驱动所述继电器;
设计温度监控服务进程TemperatureMonitor,持续监控所述温度参数;
当所述TemperatureMonitor进程产生报警信号时,控制所述继电器控制进行内存供电的切断操作。
可选地,实时采集所述内存模组的温度参数,并对温度进行分析和预警,包括:
将所述内存模组抽象为包含了多层次的热力模块的数学模型,建立所述内存模组不同热力模块之间的热传导、对流和辐射关联关系;
定义不同层级的所述热力模块的材料属性和边界条件;
计算各个所述热力模块的瞬态温度场的分布;
利用有限元进行温升预测;
评估各个所述热力模块的热点区域,优化散热设计。
可选地,将所述内存模组抽象为包含了多层次的热力模块的数学模型,包括:
将内存PCB板、内存芯片、散热片部件作为模型的不同层级的热力模块,建立各个所述热力模块之间的热传导、对流、辐射的物理关联;
其中,所述内存PCB板为第一层级,所述内存芯片为第二层级,芯片封装为第三层级。
可选地,利用有限元进行温升预测,包括:
使用有限元仿真软件,构建有限元模型,并对各层级的热力模块的温度分布进行仿真,得到温度云图;
使用实测的温度数据,对比仿真结果,通过参数拟合方法校准模型;
模拟不同工况下的温度变化趋势,估计最大温升幅度;
使用遗传算法,最小化误差函数。
可选地,使用遗传算法,最小化误差函数,包括:
将芯片热导率和界面热阻定义为两个优化变量,分别记为kc和Ri;
定义目标函数为
其中n是温度采样点的数量,Ti sim和Ti meas分别是第i个采样点处的仿真温度和实测温度;
将kc和Ri映射为二进制串,定义为染色体;
随机生成多个染色体,作为初始种群;
将每条染色体解码为(kc,Ri),代入所述有限元模型计算RMSE,得到每个个体的适应度;
迭代进行选择、交叉和变异操作;
基于操作结果,更新所述有限元模型。
本申请实施例还提供一种内存模组自动断电压力测试系统,包括:
设计模块,用于采用多层抽象工厂模式进行整体测试软件架构设计,划分数据层、业务逻辑层和表示层;
压力测试模块,用于集成Memtester作为压力测试的核心引擎,并开发配置文件解析功能,提供测试接口,并对内存模组进行压力测试;
温度分析和预警模块,用于集成内存温度传感器,实时采集所述内存模组的温度参数,并对温度进行分析和预警;
断电模块,用于设计自动断电保护功能,当温度异常时,通过继电器实现内存供电的切断操作。
本申请实施例提供的技术方案带来的有益效果是:
1.集成内存温度监控和自动断电保护功能,有效防止内存过热导致的硬件损坏,提高测试的安全性。
2.配置化的压力测试方式,通过YML等配置文件实现测试参数的灵活配置,适应不同的测试需求。
3.提供多种标准化的测试接口,如HTTP、Protobuf等,可与不同的系统架构和平台进行集成,提高测试效率。
4.采用多层抽象工厂模式,将接口与实现分离,预留扩展点,可灵活支持Remoting、Web Service等技术,具备良好的可扩展性。
5.定制化的测试报告生成,支持用户自定义报告模板,自动生成图表丰富的压力测试报告,方便测试结果的追踪和分析。
上述说明仅是本申请技术方案的概述,为了能更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为让本申请的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种内存模组自动断电压力测试方法的流程示意图;
图2为本申请实施例提供的一种内存模组自动断电压力测试系统的结构示意图。
具体实施方式
下面结合附图对本申请实施例进行详细描述。
应当明确,以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
图1为本申请实施例提供的一种内存模组自动断电压力测试方法的流程示意图,所述内存模组自动断电压力测试方法包括步骤S101至S104。
S101、采用多层抽象工厂模式进行整体测试软件架构设计,划分数据层、业务逻辑层和表示层;
本申请实施例中,采用的核心技术如下:
软件开发语言:C#,逻辑代码使用Lua脚本实现,通信协议采用Protobuf。
压力测试:基于Google开源的Memtester工具,通过修改测试参数实现内存压力测试。
测试方式:支持HTTP+JSON和自定义API两种测试方式,通过ConfigYML进行配置。
架构设计:采用多层抽象工厂模式,可扩展支持Remoting、Web Services、Asp.net等不同结构系统。
温度监控:集成内存条温度传感器,实时监测内存温度变化,超过阈值自动断电保护。
多层抽象工厂模式进行整体架构设计中,可以定义统一的接口规范,实现不同模块间的低耦合。此外,还可以使用依赖注入降低各层之间的依赖,提高系统的可测试性和可维护性。还可以预留扩展接口,支持Remoting、Web Service、Asp.net等框架的集成。
多层抽象工厂模式是一种常用的软件设计模式,属于创建型模式的一种。它是抽象工厂模式的扩展和变种,用于解决复杂系统中对象创建的问题。
在标准的抽象工厂模式中,有一个抽象工厂类定义了一组创建不同产品的接口,每个具体工厂类实现这些接口,负责实例化一组相关的产品对象。但是,当系统中的产品类型非常多,产品之间的关系复杂时,可能需要进一步将工厂进行分组和分层,以更好地组织和管理对象的创建过程。这就是多层抽象工厂模式的思想。
多层抽象工厂模式的核心特点是:
将工厂分为多个层次,每个层次的工厂创建一组相关的产品对象。
高层工厂将产品创建的任务委托给低层工厂,低层工厂通过实现不同的接口,提供具体的产品实例。
不同层次的工厂和产品对象可以独立地扩展和修改,增加系统的灵活性。
S102、集成Memtester作为压力测试的核心引擎,并开发配置文件解析功能,提供测试接口,并对内存模组进行压力测试;
S102中,集成Memtester作为压力测试的核心引擎,并开发配置文件解析功能,提供测试接口,包括:
A1.修改Memtester源码,在入口函数处添加命令行参数解析逻辑,允许用户通过命令行指定测试参数;
Memtester是一个用于测试内存子系统的实用工具,可以检测内存的完整性和可靠性。它通过对内存进行一系列的读写操作,模拟实际的内存使用场景,检测内存是否存在错误或故障。Memtester可以用于排查内存硬件问题,如内存条损坏、内存槽接触不良等,也可以用于测试内存的稳定性和兼容性。它支持多种测试模式和参数配置,如测试内存大小、循环次数、并发线程数等,可以全面评估内存的性能和可靠性。
修改Memtester源码,在入口函数处添加命令行参数解析逻辑,允许用户通过命令行指定测试参数,如:
将测试参数抽象为结构体,在代码中使用,例如:
A2.定义Memtester适配器接口;
Memtester适配器接口的主要目的是将Memtester工具集成到本申请实施例的测试体系中,实现配置灵活、调用便捷和结果解析自动化。下面是实现该接口涉及的步骤:
接口设计:设计Memtester适配器接口,它作为一个中介,让本申请实施例的测试系统可以无缝地调用Memtester工具进行压力测试。其中涉及到几个关键的方法:
SetConfig(TestConfig config):用于设置Memtester的测试配置,这些配置可以包括内存大小、测试循环次数、并发线程数等参数。
Execute():执行测试,根据之前设置的配置进行。
TestResult GetResult():获取测试结果,可以设计为返回一个包含测试详情(例如测试是否通过、错误信息、内存性能指标等)的结果对象。
实现逻辑:
在SetConfig方法中,需要将用户输入的配置转换成Memtester命令行工具可以识别的参数格式。
Execute方法将会根据这些参数启动Memtester进程进行测试,并监视其执行过程。
最后,GetResult方法需要解析Memtester的输出,将其转换成本申请实施例预定义的TestResult格式,以便后续处理。
代码:
使用C#语言:
实现类和方法具体的逻辑将会依赖于Memtester具体的输出格式和本申请实施例系统的整体架构设计。
通过上述的设计和实现思路,可以将Memtester工具有效地集成到本申请实施例的内存测试框架中,同时也为未来可能的扩展预留了空间。
A3.通过适配器进行适配,并将所述Memtester集成到测试流程中;
A31.实现IMemtesterAdapter接口:
为了将Memtester集成到测试流程中,本申请实施例首先需要实现IMemtesterAdapter接口。实现这个接口意味着本申请实施例需要编写具体的代码来配置Memtester参数、执行Memtester压力测试和解析测试结果。
A32.配置Memtester测试参数:
在SetConfig方法中,本申请实施例要为Memtester测试提供必要的参数。比如用户可以设定内存大小、测试轮数、线程数量等。参数需要按照Memtester的要求格式化后,通过命令行方式传递给Memtester。
A33.执行Memtester测试:
在Execute方法中,本申请实施例需要处理实际启动Memtester的逻辑。这会涉及到启动一个进程来执行Memtester并且监控该进程直到其完成测试。
A34.获取测试结果:
最后,在GetResult方法中,本申请实施例要读取Memtester输出的结果数据,并将其解析成本申请实施例的TestResult对象。这可能涉及到解析文本输出,提取信息并且转化成结构化的数据。
样例代码(使用C#语言):
A4.定义统一的配置文件格式YML;
YML常用于配置文件、数据交换、日志格式等场景,可以存储字符串、数字、列表、映射等多种数据类型。
例如,在项目根目录下创建`config.yml`文件,定义DDR4内存测试的配置参数:
A5.开发配置文件解析模块,以便在运行时动态加载测试参数;
添加YML配置文件解析支持,读取测试配置:
A6.提供基于HTTP结合JSON的RESTful测试接口。
RESTful是一种软件架构风格,用于设计基于网络的应用程序接口(API)。它遵循REST(Representational State Transfer)原则,将服务器上的资源抽象为一组URL,通过标准的HTTP方法(如GET、POST、PUT、DELETE等)对资源进行操作。RESTful强调接口的统一性、无状态性、可缓存性等特点,提高了系统的可伸缩性、可维护性和互操作性。在RESTful架构中,服务器和客户端之间通过HTTP协议传输数据,数据格式通常为JSON或XML。
A6中,提供基于HTTP+JSON的RESTful测试接口,方便与第三方系统集成。
使用ASP.NET Core开发Web API,定义压力测试的HTTP接口:
定义Protobuf消息格式,序列化或反序列化测试配置和结果;
在压力测试服务中设置基于Protobuf的RPC接口:
通过集成Memtester进行二次开发,并提供YML配置文件和多种测试接口,可以灵活地对内存进行压力测试。
此外,上述代码中,可以根据具体的需求配置测试参数,如内存大小、测试循环次数、并发线程数、温度上限、电压等。通过不断调整参数,对内存进行反复的高强度测试,从而验证内存的可靠性和稳定性。
在另一实施例中,为了提供基于HTTP和JSON的RESTful测试接口,需要构建后端服务,这个服务将接收HTTP请求,通过JSON格式交换数据,并调用Memtester适配器来实施内存压力测试。以下是这个服务实现的步骤,以及样例的伪代码实现:
步骤1.定义HTTP接口:
定义一个HTTP端点,供客户端调用以启动内存压力测试。这个端点可以接收测试相关的配置参数,并返回一个测试任务的唯一标识符。
步骤2.接收和处理请求:
服务需要能够解析HTTP请求中的JSON数据,将其转换为TestConfig对象,这个对象随后会传递给Memtester适配器。
步骤3.调用Memtester适配器:
一旦接口接收并解析了请求,它就调用Memtester适配器来设置配置,执行测试,并获取结果。
步骤4.返回结果:
结果通过HTTP响应返回给客户端,这通常也是一个JSON对象。
伪代码示例(使用ASP.NET Core)
try
{
memtesterAdapter.SetConfig(config);
memtesterAdapter.Execute();
TestResult result=memtesterAdapter.GetResult();
//可以根据需要添加逻辑来存储测试结果,或者生成唯一的测试标识等
return Ok(result);
}
catch(Exception ex)
{
//处理异常情况
return StatusCode(500,"An error occurred while running the memorytest.");
}
}}
上述示例是一个基础的RESTful API端点的实现,使用了ASP.NET Core框架进行定义和路由配置。这种方式提供了灵活性,可以轻松地与其他系统和服务集成。
同时,通过提供标准化的HTTP接口和高性能的Protobuf接口,可以方便地与其他系统集成,实现自动化的压力测试,提高测试效率。
此外,还可以在压力测试服务中设置基于Protobuf的RPC接口。其中,Protobuf(Protocol Buffers)是一种数据序列化格式,由Google开发和维护。它使用严格的二进制编码规则,将结构化的数据压缩成紧凑的二进制格式,减小数据的存储和传输开销。Protobuf通过定义.proto文件,描述数据的结构和字段类型,然后使用Protobuf编译器生成不同编程语言的数据访问代码。与JSON和XML等文本格式相比,Protobuf具有更高的性能和更小的空间占用,适合高并发、低延迟的应用场景。
而RPC(Remote Procedure Call)是一种远程过程调用协议,允许一个程序调用另一个程序中的函数,而无需了解底层的网络细节。基于Protobuf的RPC接口,是指使用Protobuf作为数据序列化格式,定义RPC服务的接口规范和数据结构。在.proto文件中,通过关键字service和rpc定义服务的名称、方法、参数和返回值类型,Protobuf编译器会自动生成RPC存根代码。客户端通过存根代码,以本地函数调用的方式发起RPC请求,服务器通过存根代码,将请求反序列化为Protobuf对象,执行相应的方法,并将结果序列化后返回给客户端。基于Protobuf的RPC接口具有高性能、强类型、跨语言等优点,广泛用于分布式系统的服务间通信。
S103、集成内存温度传感器,实时采集所述内存模组的温度参数,并对温度进行分析和预警;
可选地,实时采集所述内存模组的温度参数,并对温度进行分析和预警,包括:
B1.实时采集所述内存模组的温度参数;
选型合适的温度传感器,如热电偶、热敏电阻等。采用传感器采集温度,将温度数据转换为标准格式。
B2.设置温度预警阈值;
B3.实时比较所述温度参数与所述阈值,并在所述温度参数超过所述阈值时进行报警;
B4.记录温度变化曲线,实现温度追踪和故障分析。
下面以温度分析和预警为例,给出一个更详细的技术实现步骤。
已知,温度分析和预警的核心需求如下:
1.实时采集内存温度数据,并进行处理和分析。
2.设置温度预警阈值,当温度超出安全范围时发出警报。
3.记录温度变化趋势,生成温度分析报告,用于故障诊断和优化。
下面本申请实施例针对每个需求,给出具体的实现步骤:
D1:设定温度安全阈值,当温度超出阈值时发出预警。
D1.1:定义温度安全范围。
根据内存规格和散热条件,确定安全温度的上下限,例如:
D1.2:实时比较温度值与阈值,判断是否需要预警。
创建温度监控服务`TemperatureMonitor`进程,定期采集温度数据,并与阈值比较:
D1.3:在监控服务中添加报警联动机制。
当监测到温度超标时,触发报警联动,如短信通知、自动降频、紧急制冷等。
报警联动逻辑可以和步骤3.3的自动断电保护相结合。
D2:记录温度变化曲线,实现温度追踪和故障分析。
D2.1:设计温度快照数据结构,定期将温度数据写入存储。
定义温度快照对象,包含时间戳和温度值:
在`TemperatureMonitor`服务中,每隔一定时间(如1秒)记录一次温度快照:
D2.2:开发温度快照存储模块,提供数据持久化和查询接口。
使用关系型数据库(如PostgreSQL)或时间序列数据库(如InfluxDB)存储温度快照,定义表结构如下:
实现温度快照存储服务,提供基本的增删改查接口:
D2.3:集成数据可视化组件,以曲线图的形式呈现温度变化趋势。
使用前端图表库(如ECharts、D3.js)或商业BI套件(如Tableau、PowerBI),分析展示温度快照数据。
配置查询条件(如时间范围、采样粒度),生成温度变化曲线图表:
通过这些措施,本申请实施例可以实时监控内存温度的变化情况,当温度超出安全范围时及时预警,并通过历史温度数据的分析,优化系统的散热和配置,从而提高内存的稳定性和可靠性。
示例性的,该内存温度如下:
Configuration
Clk/Temp:3456MHz/71℃
L1 Cache:80K 605.8GB/s
L2 Cache:2048K 127.1GB/s
L3 Cache:30720K 49.0GB/s
Memory:15.8G 17.0GB/s
RAM Info:PC5-38400 DDR5 4800MHz/Golden Empire CL40-40-40-764800
CPU:13th Gen Intel Core i7-13700KF
Test Information
Test:5(Moving inversions,random pattern)
Range:0x100000000-0x47F983000
Pattern:0xAE657C80
RAM Temp:51℃
CPU Found:24
CPUs Started:24
CPUs Active:24
State
State indicators(showing different patterns for each CPU)
Timer and Status
Time:00:03:57
AddrMode:64-bit
Pass:1/1
Errors:0
Additional Information
Memory SPD information(not displayed in detail)
上述数据是在测试内存时的详细信息,包括处理器类型、时钟频率、缓存大小、内存大小及频率、温度(51℃)等,以及测试进度和结果。
在另一个实施例中,实时采集所述内存模组的温度参数,并对温度进行分析和预警,包括:
C1.将所述内存模组抽象为包含了多层次的热力模块的数学模型,建立所述内存模组不同热力模块之间的热传导、对流和辐射关联关系;
例如,将内存PCB板、内存芯片、散热片部件(作为芯片封装)作为模型的不同层级的热力模块,建立各个所述热力模块之间的热传导、对流、辐射的物理关联,在每个层级中,划分适当的网格单元,生成有限元模型。
其中,所述内存PCB板为第一层级,所述内存芯片为第二层级,芯片封装为第三层级。
以某厂商M378A1K43CB2-CTD 8GB DDR4-2666内存条为例:
第一层级:PCB基板
将PCB基板抽象为一个长方体,尺寸为133.35mm×31.25mm×1.6mm(长×宽×厚)。
基板材料为FR-4环氧玻璃布,导热系数为0.3W/(m·K),比热容为1400J/(kg·K),密度为1900kg/m3。
在基板上布置8×8的网格单元,每个单元的尺寸约为16.7mm×3.9mm×1.6mm。
第二层级:内存芯片
基板上装配有16颗内存芯片,每颗尺寸为13mm×12mm×1mm。
芯片材料为硅,导热系数为130W/(m·K),比热容为700J/(kg·K),密度为2330kg/m3。
每颗芯片划分为4×4的网格单元,单元尺寸为3.25mm×3mm×1mm。
第三层级:芯片封装
每颗芯片外部封装为FBGA-96,尺寸为14mm×13mm×1.2mm。
封装材料为环氧树脂,导热系数为0.7W/(m·K),比热容为1000J/(kg·K),密度为2000kg/m3。
封装划分为5×5的网格单元,单元尺寸为2.8mm×2.6mm×1.2mm。
C2.定义不同层级的所述热力模块的材料属性和边界条件;
根据各层级的材质,如FR4环氧板、硅、铜等,设置其热导率、比热容等物性参数。定义表面的对流换热系数、辐射率、环境温度等边界条件。
示例性地,如C1,不同层级的材料属性在C1中已经定义。
此外,PCB基板底面贴附散热片,散热片的导热系数为400W/(m·K),与基板的接触面积为4000mm2。
整个内存条置于空气中,环境温度为25℃,空气的对流换热系数为10W/(m2·K)。
各层级之间的界面认为是理想接触,传热系数无穷大。
这种分层建模的方法可以全面考虑内存条的结构细节和材料特性,得到精细的三维温度分布,从而深入分析热点区域和传热机制,为优化散热提供指导。
C3.计算各个所述热力模块的瞬态温度场的分布;
内存芯片的功耗:每颗芯片的平均功耗为0.2W,瞬时最大功耗为0.5W。
使用ANSYS Mechanical软件进行温度场求解,时间步长为0.1s,模拟总时长为100s。
具体地,该温度场中,芯片区域的温度明显高于PCB基板,最高温度出现在芯片中心,约为65℃。
靠近散热片的一侧温度较低,约为35℃,说明散热片起到了一定的散热作用。
随着时间的推移,温度逐渐趋于稳定,但分布模式保持不变。
这样,通过多级分解,将内存条拆分为PCB、芯片、封装三个层级,在每个层级中划分网格单元,建立详细的几何和物理模型。然后定义材料属性和边界条件,施加实际的功耗负载,利用ANSYS等工具求解温度场。
C4.利用有限元进行温升预测;
具体地,利用有限元进行温升预测,包括:
C41.使用有限元仿真软件,构建有限元模型,并对各层级的热力模块的温度分布进行仿真,得到温度云图;
根据内存条的应用领域和使用环境,总结几种代表性的工作模式,如:
持续高负载:内存持续以最大功耗工作,模拟极限性能测试。
脉冲高负载:内存间歇性地出现功耗尖峰,模拟突发性数据访问。
周期性负载:内存的功耗呈现周期性的变化,模拟有规律的数据刷新。
对每种工作模式,给出功耗的时间曲线,作为仿真模型的输入。
在ANSYS Mechanical中,定义每种工况下的功耗载荷,设置载荷的时间变化函数。
配置求解器的时间步长和迭代参数,确保计算的时间分辨率和收敛精度。
启动瞬态热分析,计算一个完整的负载周期内的温度变化过程。
后处理温度响应数据,评估关键指标
提取芯片、PCB等关键部位的温度-时间曲线,分析升温和降温的速率。
找出温度的最大值和最小值,计算温度的波动范围和循环幅值。
对温度变化进行频谱分析,评估温度波动的主导频率及其影响。
绘制温度云图,直观展示热点分布
在ANSYS中调用Post Processing模块,生成不同时刻的温度云图。
通过动画或者帧序列,观察热点区域的演化过程,判断散热薄弱环节。
找出温度最高的芯片或者PCB区域,分析其几何结构和功耗特征。
在Post Processing中提取各个面的热流密度矢量,显示为箭头图。
分析热流的流动方向和大小,找出散热的主要通路和瓶颈位置。
计算单位面积的平均热流密度,比较不同部位的散热效率,定量评估散热能力。
C42.使用实测的温度数据,对比仿真结果,通过参数拟合方法校准模型;
具体地,使用实测的温度数据,对比仿真结果,通过参数拟合等方法校准模型。
不断迭代优化模型,降低预测误差,确保仿真结果接近实际情况。
C43.模拟不同工况下的温度变化趋势,估计最大温升幅度;
根据内存的使用场景,设计不同的功耗曲线,如高负载、低负载、间歇负载等。
代入仿真模型,预测这些工况下内存温度的变化规律,估计最大温升幅度。
以某厂商M378A1K43CB2-CTD 8GB DDR4-2666内存条为例:
在内存条的不同位置布置温度传感器,如热电偶或者红外测温仪。
将内存条安装在测试平台上,运行测试程序,记录一段时间内的温度数据。
测试过程中,同时记录内存条的功耗数据,作为仿真模型的输入。
使用有限元模型,输入实测的功耗数据,计算温度分布。
提取关键位置(如芯片中心、PCB边缘等)的仿真温度值,与实测数据进行对比。
计算温度误差的均方根值(RMSE),评估模型的整体精度。
分析误差的来源,可能是材料属性、边界条件、网格质量等因素引起的。
将这些因素作为设计变量,构建温度误差关于变量的响应面模型。
采用优化算法(如遗传算法、粒子群算法等),寻找误差最小时的变量组合。
C44.使用遗传算法,最小化误差函数。
可选地,使用遗传算法,最小化误差函数,包括:
将芯片热导率和界面热阻定义为两个优化变量,分别记为kc和Ri;
定义目标函数为
其中n是温度采样点的数量,Ti sim和Ti meas分别是第i个采样点处的仿真温度和实测温度;
将kc和Ri映射为二进制串,定义为染色体;
随机生成多个染色体,作为初始种群;
将每条染色体解码为(kc,Ri),代入所述有限元模型计算RMSE,得到每个个体的适应度;
迭代进行选择、交叉和变异操作;
基于操作结果,更新所述有限元模型。
具体地,本申请实施例中,调整有限元模型的参数,以最小化仿真温度和实测温度之间的误差。这实际上是一个参数优化问题,可以用遗传算法来高效求解。
遗传算法是一种模拟生物进化过程的启发式搜索算法,通过自然选择、交叉、变异等操作,不断改善候选解的质量,最终收敛到最优解。它特别适合求解复杂的非线性、多模态的优化问题。
以调整内存芯片热导率和界面热阻为例,具体步骤如下:
步骤E1:确定优化变量和目标函数
步骤E1.1:选择优化变量
在内存温度模型中,芯片的热导率和芯片与封装的界面热阻是两个关键参数,对温度分布有显著影响。
将芯片热导率和界面热阻定义为两个优化变量,分别记为kc和Ri,并规定它们的取值范围:
kc∈[120,140]W/(m·K)
Ri∈[0.1,1](m2·K)/W
步骤E1.2:定义目标函数
目标是最小化仿真温度和实测温度之间的误差,可以用均方根误差(RMSE)来度量:
定义目标函数为
其中n是温度采样点的数量,Ti sim和Ti meas分别是第i个采样点处的仿真温度和实测温度;
优化目标就是找到一组(kc,Ri),使得RMSE(kc,Ri)最小。
步骤E2:实现遗传算法
步骤E2.1:编码
遗传算法中的每个个体对应一组可能的参数值(kc,Ri),需要将其映射为一条二进制串,称为染色体。
例如,可以用16位二进制分别表示kc和Ri,每个变量对应8位。则一个染色体形如:1011010010110101前8位表示kc,后8位表示Ri,通过二进制到十进制的转换和尺度变换,可以将染色体解码为具体的参数值。
步骤E2.2:初始化种群
随机生成一定数量(如50个)的染色体,作为初始种群。
将每条染色体解码为(kc,Ri),代入有限元模型计算RMSE,得到每个个体的适应度。
步骤E2.3:选择
根据个体的适应度,以一定的概率从当前种群中选择一些个体,作为下一代的父母。
适应度高的个体被选中的概率更大,这体现了"优胜劣汰"的自然选择原理。
常用的选择算子有轮盘赌选择、锦标赛选择等。
步骤E2.4:交叉
对选中的父母个体两两配对,以一定的概率(如0.8)发生交叉操作,生成新的子代个体。
交叉就是将两条父代染色体的某些片段互换,形成新的染色体组合,如:
父代1:1011010010110101
父代2:0101101101101001
↓
子代1:1011001110110101
子代2:0101110001101001
交叉模拟了生物遗传中基因重组的过程,能够结合父母的优良特征,产生更具潜力的子代。
步骤E2.5:变异
对交叉后的子代个体,以一定的概率(如0.01)发生变异操作。
变异就是将染色体上的某些位翻转,引入新的基因,如:
子代1:1011001110110101
↓
1011001110110001
变异模拟了生物遗传中的基因突变,有助于跳出局部最优,维持种群的多样性。
步骤E2.6:评估新种群
对新产生的子代个体,重复步骤E2.2,解码、计算适应度,得到新一代种群。
步骤E2.7:终止条件判断
如果达到最大迭代次数(如500代),或者连续多代(如50代)最优适应度没有明显提高,则终止算法。
否则,回到步骤E2.3,开始新一轮迭代。
步骤E3:结果分析和应用
步骤E3.1:结果统计
对最终收敛的种群,找出适应度最高的个体,将其解码为(kc^,Ri^),作为最优参数组合。
统计算法的收敛速度、计算成本等指标,评估算法性能。
步骤E3.2:更新有限元模型
将最优参数(kc*,Ri*)代入有限元模型,重新计算温度分布。
对比优化前后的温度场和误差分布,定量评估参数优化的效果。
步骤E3.3:验证和确认
用另一组独立的实测数据,验证优化后模型的预测精度,确保参数的可靠性。
如果精度不够理想,可能需要重新调整优化变量的选择、遗传算法的参数设置等,迭代优化。
以上就是用遗传算法进行参数辨识优化的完整流程。遗传算法通过模拟生物进化,智能搜索参数空间,能够高效寻优,特别适合这种复杂系统的参数调节问题。
C5.评估各个所述热力模块的热点区域,优化散热设计。
通过仿真结果,找出温度最高的区域,分析其成因,如功耗过高、散热不良等。
调整散热结构,如增大散热片面积、优化风道设计等,并重新仿真验证改进效果。
例如:
优化前:散热片为一块长方体,尺寸为100mm×30mm×2mm,布置在PCB板的背面。
温度云图显示,芯片区域的最高温度为85℃,超过了安全阈值,存在过热风险。
热流密度图显示,散热片的两端热流密度较小,中间区域的热流密度较大,散热效率不均衡。
优化方案:在散热片上开设若干个通孔,同时增加散热片的厚度到3mm。
优化后:芯片区域的最高温度降低到75℃,满足安全要求;散热片各处的热流密度更加均匀,整体散热效率提高。
S104、设计自动断电保护功能,当温度异常时,通过继电器实现内存供电的切断操作。
S104中,设计自动断电保护功能,当温度异常时,通过继电器实现内存供电的切断操作,包括:
设计继电器控制电路,通过MCU驱动所述继电器;
设计温度监控服务进程TemperatureMonitor,持续监控所述温度参数;
当所述TemperatureMonitor进程产生报警信号时,控制所述继电器控制进行内存供电的切断操作。
例如,对于DDR4内存,工作电压一般为1.2V,峰值电流可达到10A以上,需要选择高功率的继电器,如:
```
型号:Omron G8P-1A4P
触点参数:16A 250VAC,16A 30VDC
线圈额定值:12VDC,43.2mA
```
设计继电器控制电路,通过MCU或其他控制器件驱动继电器。使用MCU的数字I/O口控制继电器线圈,实现继电器的通断。
考虑到继电器线圈的工作电流较大,可能超出MCU的驱动能力,需要增加驱动电路
在PCB布线时,注意继电器触点端子的连接。
将继电器的常开触点(NO)连接到内存电源正极,常闭触点(NC)悬空。
当继电器线圈通电时,常开触点闭合,内存电源接通;当线圈断电时,常开触点打开,内存电源切断。
集成到温度监控模块中,实现温度异常时的自动断电保护。
步骤3.3.2.1:在温度监控服务中,添加断电保护逻辑。
修改`TemperatureMonitor`服务,增加保护动作阈值和断电控制:
确保断电后的系统安全。
内存断电可能导致操作系统崩溃或数据丢失,需要采取适当的措施,如:
在切断电源前,通过API通知操作系统,尽快保存当前状态并完成关键操作。
内存供电恢复后,操作系统要有自动恢复机制,确保系统可以正常启动和工作。
考虑断电保护的恢复条件和时间。
内存温度降到安全范围后,可以自动恢复供电,或者由用户手动重启系统。
断电状态维持的时间可以根据实际情况设定,例如至少保持30秒,以确保内存温度完全降下来。
自动断电保护是一种极端情况下的硬件安全保护手段,它与温度分析预警等软件级别的保护方式一起,构成了完整的内存温度监控和保护体系。
本申请实施例提供的技术方案带来的有益效果是:
1.集成内存温度监控和自动断电保护功能,有效防止内存过热导致的硬件损坏,提高测试的安全性。
2.配置化的压力测试方式,通过YML等配置文件实现测试参数的灵活配置,适应不同的测试需求。
3.提供多种标准化的测试接口,如HTTP、Protobuf等,可与不同的系统架构和平台进行集成,提高测试效率。
4.采用多层抽象工厂模式,将接口与实现分离,预留扩展点,可灵活支持Remoting、Web Service等技术,具备良好的可扩展性。
5.定制化的测试报告生成,支持用户自定义报告模板,自动生成图表丰富的压力测试报告,方便测试结果的追踪和分析。
实施例二
图2为本申请实施例提供的一种内存模组自动断电压力测试系统的结构示意图,所述内存模组自动断电压力测试系统200,包括:
设计模块201,用于采用多层抽象工厂模式进行整体测试软件架构设计,划分数据层、业务逻辑层和表示层;
压力测试模块202,用于集成Memtester作为压力测试的核心引擎,并开发配置文件解析功能,提供测试接口,并对内存模组进行压力测试;
温度分析和预警模块203,用于集成内存温度传感器,实时采集所述内存模组的温度参数,并对温度进行分析和预警;
断电模块204,用于设计自动断电保护功能,当温度异常时,通过继电器实现内存供电的切断操作。
本申请实施例的系统可执行本申请实施例所提供的方法,其实现原理相类似,本申请各实施例的系统中的各模块所执行的动作是与本申请各实施例的方法中的步骤相对应的,对于系统的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
在本申请中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序,本申请中涉及的器件、系统、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、系统、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
另外,如在此使用的,在以“至少一个”开始的项的列举中使用的“或”指示分离的列举,以便例如“A、B或C的至少一个”的列举意味着A或B或C,或AB或AC或BC,或ABC(即A和B和C)。此外,措辞“示例的”不意味着描述的例子是优选的或者比其他例子更好。
意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (7)
1.一种内存模组自动断电压力测试方法,其特征在于,包括:
采用多层抽象工厂模式进行整体测试软件架构设计,划分数据层、业务逻辑层和表示层;
集成Memtester作为压力测试的核心引擎,并开发配置文件解析功能,提供测试接口,并对内存模组进行压力测试;
集成内存温度传感器,实时采集所述内存模组的温度参数,并对温度进行分析和预警;
设计自动断电保护功能,当温度异常时,通过继电器实现内存供电的切断操作;
其中,实时采集所述内存模组的温度参数,并对温度进行分析和预警,包括:
将所述内存模组抽象为包含了多层次的热力模块的数学模型,建立所述内存模组不同热力模块之间的热传导、对流和辐射关联关系;
定义不同层级的所述热力模块的材料属性和边界条件;
计算各个所述热力模块的瞬态温度场的分布;
利用有限元进行温升预测;
评估各个所述热力模块的热点区域,优化散热设计;
其中,利用有限元进行温升预测,包括:
使用有限元仿真软件,构建有限元模型,并对各层级的热力模块的温度分布进行仿真,得到温度云图;
使用实测的温度数据,对比仿真结果,通过参数拟合方法校准模型;
模拟不同工况下的温度变化趋势,估计最大温升幅度;
使用遗传算法,最小化误差函数;
其中,使用遗传算法,最小化误差函数,包括:
将芯片热导率和界面热阻定义为两个优化变量,分别记为kc和Ri;
定义目标函数为
其中n是温度采样点的数量,Ti sim和Ti meas分别是第i个采样点处的仿真温度和实测温度;
将kc和Ri映射为二进制串,定义为染色体;
随机生成多个染色体,作为初始种群;
将每条染色体解码为(kc,Ri),代入所述有限元模型计算RMSE,得到每个个体的适应度;
迭代进行选择、交叉和变异操作;
基于操作结果,更新所述有限元模型。
2.根据权利要求1所述的方法,其特征在于,集成Memtester作为压力测试的核心引擎,并开发配置文件解析功能,提供测试接口,包括:
修改Memtester源码,在入口函数处添加命令行参数解析逻辑,允许用户通过命令行指定测试参数;
定义Memtester适配器接口;
通过适配器进行适配,并将所述Memtester集成到测试流程中;
定义统一的配置文件格式YML;
开发配置文件解析模块,以便在运行时动态加载测试参数;
提供基于HTTP结合JSON的RESTful测试接口。
3.根据权利要求2所述的方法,其特征在于,提供基于HTTP结合JSON的RESTful测试接口,包括:
使用ASP.NET Core开发Web API,定义压力测试的HTTP接口;
定义Protobuf消息格式,序列化或反序列化测试配置和结果;
在压力测试服务中设置基于Protobuf的RPC接口。
4.根据权利要求1所述的方法,其特征在于,实时采集所述内存模组的温度参数,并对温度进行分析和预警,包括:
实时采集所述内存模组的温度参数;
设置温度预警阈值;
实时比较所述温度参数与所述温度预警阈值,并在所述温度参数超过所述温度预警阈值时进行报警;
记录温度变化曲线,实现温度追踪和故障分析。
5.根据权利要求1所述的方法,其特征在于,设计自动断电保护功能,当温度异常时,通过继电器实现内存供电的切断操作,包括:
设计继电器控制电路,通过MCU驱动所述继电器;
设计温度监控服务进程TemperatureMonitor,持续监控所述温度参数;
当所述温度监控服务进程TemperatureMonitor产生报警信号时,控制所述继电器控制进行内存供电的切断操作。
6.根据权利要求1所述的方法,其特征在于,将所述内存模组抽象为包含了多层次的热力模块的数学模型,包括:
将内存PCB板、内存芯片、散热片部件作为模型的不同层级的热力模块,建立各个所述热力模块之间的热传导、对流、辐射的物理关联;
其中,所述内存PCB板为第一层级,所述内存芯片为第二层级,芯片封装为第三层级。
7.一种内存模组自动断电压力测试系统,其特征在于,包括:
设计模块,用于采用多层抽象工厂模式进行整体测试软件架构设计,划分数据层、业务逻辑层和表示层;
压力测试模块,用于集成Memtester作为压力测试的核心引擎,并开发配置文件解析功能,提供测试接口,并对内存模组进行压力测试;
温度分析和预警模块,用于集成内存温度传感器,实时采集所述内存模组的温度参数,并对温度进行分析和预警;
断电模块,用于设计自动断电保护功能,当温度异常时,通过继电器实现内存供电的切断操作;
其中,实时采集所述内存模组的温度参数,并对温度进行分析和预警,包括:
将所述内存模组抽象为包含了多层次的热力模块的数学模型,建立所述内存模组不同热力模块之间的热传导、对流和辐射关联关系;
定义不同层级的所述热力模块的材料属性和边界条件;
计算各个所述热力模块的瞬态温度场的分布;
利用有限元进行温升预测;
评估各个所述热力模块的热点区域,优化散热设计;
其中,利用有限元进行温升预测,包括:
使用有限元仿真软件,构建有限元模型,并对各层级的热力模块的温度分布进行仿真,得到温度云图;
使用实测的温度数据,对比仿真结果,通过参数拟合方法校准模型;
模拟不同工况下的温度变化趋势,估计最大温升幅度;
使用遗传算法,最小化误差函数;
其中,使用遗传算法,最小化误差函数,包括:
将芯片热导率和界面热阻定义为两个优化变量,分别记为kc和Ri;
定义目标函数为
其中n是温度采样点的数量,Ti sim和Ti meas分别是第i个采样点处的仿真温度和实测温度;
将kc和Ri映射为二进制串,定义为染色体;
随机生成多个染色体,作为初始种群;
将每条染色体解码为(kc,Ri),代入所述有限元模型计算RMSE,得到每个个体的适应度;
迭代进行选择、交叉和变异操作;
基于操作结果,更新所述有限元模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410719886.9A CN118298897B (zh) | 2024-06-05 | 2024-06-05 | 一种内存模组自动断电压力测试方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410719886.9A CN118298897B (zh) | 2024-06-05 | 2024-06-05 | 一种内存模组自动断电压力测试方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118298897A CN118298897A (zh) | 2024-07-05 |
CN118298897B true CN118298897B (zh) | 2024-08-20 |
Family
ID=91687794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410719886.9A Active CN118298897B (zh) | 2024-06-05 | 2024-06-05 | 一种内存模组自动断电压力测试方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118298897B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5956350A (en) * | 1997-10-27 | 1999-09-21 | Lsi Logic Corporation | Built in self repair for DRAMs using on-chip temperature sensing and heating |
CN117031165A (zh) * | 2023-08-10 | 2023-11-10 | 南宁泰克半导体有限公司 | Ddr5温度传感器的测试系统、方法、计算机设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106291336B (zh) * | 2016-07-15 | 2019-10-25 | 上海华岭集成电路技术股份有限公司 | 一种fpga测试配置码流实时下载方法及系统 |
-
2024
- 2024-06-05 CN CN202410719886.9A patent/CN118298897B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5956350A (en) * | 1997-10-27 | 1999-09-21 | Lsi Logic Corporation | Built in self repair for DRAMs using on-chip temperature sensing and heating |
CN117031165A (zh) * | 2023-08-10 | 2023-11-10 | 南宁泰克半导体有限公司 | Ddr5温度传感器的测试系统、方法、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN118298897A (zh) | 2024-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6876143B2 (ja) | システムアーキテクチャの一貫性の定量化 | |
US7653510B2 (en) | Load calculating device and load calculating method | |
TWI630400B (zh) | 用於判定電路故障率之方法及系統 | |
US9684752B2 (en) | Automating system on a chip customized design integration, specification, and verification through a single, integrated service | |
US8522183B1 (en) | Static timing analysis adjustments for aging effects | |
JPH0812675B2 (ja) | ディジタル・マシン性能シミュレーション方法及び装置 | |
US9195730B2 (en) | Verifying correctness of a database system via extended access paths | |
JP6983252B2 (ja) | システムアーキテクチャを表すプロパティグラフデータモデル | |
JP6833058B2 (ja) | プロパティグラフデータモデルを解析することによるロバスト性の定量化 | |
CN115841046B (zh) | 基于维纳过程的加速退化试验数据处理方法和装置 | |
CN113743006A (zh) | 参数的优化方法、装置、设备和存储介质 | |
JP2022540311A (ja) | 量子プロセッサをシミュレートするシステム及び方法 | |
CN114357812A (zh) | 产品可靠性试验方法、装置、计算机设备和存储介质 | |
US10248462B2 (en) | Management server which constructs a request load model for an object system, load estimation method thereof and storage medium for storing program | |
CN112926259A (zh) | 一种基于rbf神经网络模型预测半导体器件结温的方法 | |
CN116502596A (zh) | 芯片功耗评估方法、功耗模型的生成方法和计算机设备 | |
CN118298897B (zh) | 一种内存模组自动断电压力测试方法及系统 | |
CN113946983A (zh) | 产品可靠性薄弱环节评估方法、装置和计算机设备 | |
Xu et al. | A Bayesian method for planning accelerated life testing | |
US20140200845A1 (en) | Numerical Analysis System | |
Zanini et al. | Temperature sensor placement in thermal management systems for MPSoCs | |
CN117093463A (zh) | 测试程序调度策略生成方法、装置、存储介质及电子设备 | |
US8533512B2 (en) | Dynamic power and performance calibration of data processing systems | |
Pastor et al. | Seduce: a testbed for research on thermal and power management in datacenters | |
CN116306485A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |