CN117075711A - 一种内存温度控制方法、系统、装置及可读存储介质 - Google Patents
一种内存温度控制方法、系统、装置及可读存储介质 Download PDFInfo
- Publication number
- CN117075711A CN117075711A CN202310943973.8A CN202310943973A CN117075711A CN 117075711 A CN117075711 A CN 117075711A CN 202310943973 A CN202310943973 A CN 202310943973A CN 117075711 A CN117075711 A CN 117075711A
- Authority
- CN
- China
- Prior art keywords
- memory
- period register
- period
- assignment
- value
- 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
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000012360 testing method Methods 0.000 claims abstract description 27
- 238000011056 performance test Methods 0.000 claims abstract description 13
- 230000007334 memory performance Effects 0.000 claims description 12
- 238000001514 detection method Methods 0.000 claims description 7
- 125000004122 cyclic group Chemical group 0.000 abstract description 2
- 230000000737 periodic effect Effects 0.000 abstract description 2
- 238000012545 processing Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 9
- 108010028984 3-isopropylmalate dehydratase Proteins 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000005265 energy consumption Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- UPPMZCXMQRVMME-UHFFFAOYSA-N valethamate Chemical compound CC[N+](C)(CC)CCOC(=O)C(C(C)CC)C1=CC=CC=C1 UPPMZCXMQRVMME-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
- G06F1/3225—Monitoring of peripheral devices of memory devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提出的一种内存温度控制方法、系统、装置及可读存储介质,所述方法包括:为内存控制器设置周期寄存器,周期寄存器用于存储内存控制器轮询内存温度传感器的周期控制参数。获取内存的当前温度值,判断内存的当前温度值是否超过温度阈值。如果超过温度阈值,则需要先调整周期寄存器赋值,再循环对内存进行性能测试,并根据测试结果调整周期寄存器的赋值,直到确定出周期寄存器的最优赋值。如果未超过温度阈值,直接采用上述循环测试的方法确定出周期寄存器的最优赋值。从而以周期寄存器的最优赋值控制内存温度传感器的轮询周期。本发明通过改变内存控制器轮询内存温度传感器的周期控制内存的功耗,实现了内存的温度控制。
Description
技术领域
本发明涉及计算机技术领域,更具体的说是涉及一种内存温度控制方法、系统、装置及可读存储介质。
背景技术
服务器自诞生以来已经经过了多次的迭代,随着近些年服务器的高速发展,服务器的性能越来越强大,对CPU、内存、PCIE设备要求越来越高,内存作为其中一个重要环节,它是外存与CPU进行沟通的桥梁,服务器中所有程序的运行都在内存中进行,内存性能的强弱影响服务器整体发挥的水平。只要服务器开始运行,操作系统就会把需要运算的数据从内存调到CPU中进行运算,当运算完成,CPU将结果传送出来。因此,内存性能的稳定可靠对保障服务器的整体性能起着至关重要的作用。而保障内存性能稳定可靠的关键在于对内存温度的合理管控。
相关技术中,主要通过BMC利用传感器监控CPU及内存温度,然后根据内存温度的识别结果,确定风扇的转速调整策略,通过调节风扇转速,达到服务器整体的温度控制的结果。
但是,采用此种方法,只能通过BMC监控CPU及内存温度,然后通过调节风扇转速,达到服务器整体温度控制的结果,并未直接对内存的温度进行管控,内存温度的控制效果并不明显。而且,CPU和内存在高温状态下运行时,自身就已经处于高能耗状态,为了快速的散热降温,风扇加速转动后会造成能耗叠加,导致服务器整体的能耗更高。
发明内容
针对以上问题,本发明的目的在于提供一种内存温度控制方法、系统、装置及可读存储介质,通过改变内存控制器轮询内存温度传感器的周期控制内存的功耗,实现了内存的温度控制。
本发明为实现上述目的,通过以下技术方案实现:
第一方面,本发明公开了一种内存温度控制方法,包括如下步骤:
S1:为内存控制器设置周期寄存器,周期寄存器用于存储内存控制器轮询内存温度传感器的周期控制参数;
S2:获取内存的当前温度值;
S3:判断内存的当前温度值是否超过温度阈值;若是,则执行步骤S4,若否,
则执行步骤S5;
S4:调整周期寄存器赋值,并记为Y;
S5:循环对内存进行性能测试,并根据测试结果调整周期寄存器的赋值,直到确定出周期寄存器的最优赋值。
进一步,所述为内存控制器设置周期寄存器,包括:
将内存控制器的地址偏移N位对应的寄存器设置为周期寄存器,周期寄存器的赋值范围为00000000-00011110。
进一步,当周期寄存器的赋值y∈[00000000,00001010]时,内存控制器对内存温度传感器的轮询周期为T1;当周期寄存器的赋值y∈[00001011,00010100]时,内存控制器对内存温度传感器的轮询周期为T2;
当周期寄存器的赋值y∈[00010101,00011110]时,内存控制器对内存温度传感器的轮询周期为T3;其中T3<T2<T1。
进一步,所述获取内存的当前温度值,包括:
通过ipmi命令获取当前内存温度传感器的值,以获取内存的当前温度值。
进一步,所述获取内存的当前温度值,包括:
读取服务器BMC Web下的资产信息;
根据资产信息中的内存信息,确定内存的当前温度值。
进一步,所述周期寄存器赋值Y≤00010100。
进一步,所述循环对内存进行性能测试,并根据测试结果调整周期寄存器的值,直到确定出周期寄存器的最优值,具体包括如下步骤:
S501:利用内存性能测试工具获取内存的带宽值;
S502:判断内存带宽值是否大于性能判定值;若是,则执行步骤S503;若否,则执行步骤S504;
S503:将当前周期寄存器的赋值减一,并返回步骤S501:
S504:读取当前周期寄存器的赋值;
S505:判断当前周期寄存器的赋值是否为Y;若是,则执行步骤S4;若否,则执行步骤S506;
S506:将当前周期寄存器的赋值加一。
第二方面,本发明还公开了一种内存温度控制系统,包括:
寄存器设置模块,配置用于为内存控制器设置周期寄存器,周期寄存器用于存储内存控制器轮询内存温度传感器的周期控制参数;
温度检测模块,配置用于获取内存的当前温度值;
判断模块,配置用于判断内存的当前温度值是否超过温度阈值;
赋值调整模块,配置用于调整周期寄存器赋值,并记为Y;
测试调整模块,配置用于循环对内存进行性能测试,并根据测试结果调整周期寄存器的赋值,直到确定出周期寄存器的最优赋值。
第三方面,本发明还公开了一种内存温度控制装置,包括:
存储器,用于存储内存温度控制程序;
处理器,用于执行所述内存温度控制程序时实现如上文任一项所述内存温度控制方法的步骤。
第四方面,本发明还公开了一种可读存储介质,所述可读存储介质上存储有内存温度控制程序,所述内存温度控制程序被处理器执行时实现如上文任一项所述内存温度控制方法的步骤。
对比现有技术,本发明有益效果在于:本发明公开了一种内存温度控制方法、系统、装置及可读存储介质,通过更改内存控制器对应的寄存器值,进而控制内存控制器轮询内存温度传感器的周期。通过轮询周期变化与内存温度升高的关系,达到内存温度控制的作用,进而可以在保护内存及内存功耗方面发挥作用。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明具体实施方式中一种内存温度控制方法的方法流程图。
图2是本发明具体实施方式中确定周期寄存器的最优赋值的方法流程图。
图3是本发明具体实施方式中另一种内存温度控制方法的方法流程图。
图4是本发明具体实施方式中一种内存温度控制系统的系统结构图。
图5是本发明具体实施方式中一种内存温度控制装置的结构示意图。
图中,1、寄存器设置模块;2、温度检测模块;3、判断模块;4、赋值调整模块;5、测试调整模块;101、处理器;102、存储器;103、输入接口;104、输出接口;105、通讯单元;106、键盘;107、显示器;108、鼠标。
具体实施方式
本发明的核心是提供一种内存温度控制方法,相关技术中,只能通过BMC监控CPU及内存温度,然后通过调节风扇转速,达到服务器整体温度控制的结果,并未直接对内存的温度进行管控,内存温度的控制效果并不明显。而且,CPU和内存在高温状态下运行时,自身就已经处于高能耗状态,为了快速的散热降温,风扇加速转动后会造成能耗叠加,导致服务器整体的能耗更高。
而本发明提供的内存温度控制方法,首先,为内存控制器设置周期寄存器,周期寄存器用于存储内存控制器轮询内存温度传感器的周期控制参数。然后,获取内存的当前温度值,判断内存的当前温度值是否超过温度阈值。如果超过温度阈值,则需要先调整周期寄存器赋值,再循环对内存进行性能测试,并根据测试结果调整周期寄存器的赋值,直到确定出周期寄存器的最优赋值。如果未超过温度阈值,直接采用上述循环测试的方法确定出周期寄存器的最优赋值。从而以周期寄存器的最优赋值控制内存温度传感器的轮询周期。由此可见,本发明通过改变内存控制器轮询内存温度传感器的周期控制内存的功耗,实现了内存的温度控制。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
下面对本发明中出现的关键术语进行解释。
IMC,集成存储器控制器或内存控制器,英文全称为Integrated MemoryController。
IPMI,是智能型平台管理接口(Intelligent Platform Management Interface)的缩写,是管理基于Intel结构的企业系统中所使用的外围设备采用的一种工业标准。用户可以利用IPMI监视服务器的物理健康特征,如温度、电压、风扇工作状态、电源状态等。而且更为重要的是IPMI是一个开放的免费标准,用户无需为使用该标准而支付额外的费用。IPMI的核心是一个专用芯片/控制器(叫做服务器处理器或基板管理控制器(BMC)),其并不依赖于服务器的处理器、BIOS或操作系统来工作,可谓非常地独立,是一个单独在系统内运行的无代理管理子系统,只要有BMC与IPMI固件其便可开始工作,而BMC通常是一个安装在服务器主板上的独立的板卡,也有服务器主板提供对IPMI支持的。IPMI良好的自治特性便克服了以往基于操作系统的管理方式所受的限制,例如操作系统不响应或未加载的情况下其仍然可以进行开关机、信息提取等操作。
TSOD,内存温度传感器,英文全称为Temperture Sensor On DIMM。
Memory CLTT,内存热量控制闭环,大部分服务器的内存都有热传感器,会使用CLTT。内存控制器会周期性的访问热传感器,并根据数据对内存设置频率占空比。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1所示,本实施例提供了一种内存温度控制方法,本方法基于Intel平台,在此平台下,IMC会定期检查TSOD(Temperture Sensor On DIMM内存温度传感器)并将数据存储在寄存器中,PCU(Power Controller Unit电源控制单元)通过SMBUS(SystemManagement Bus,系统管理总线)从TSOD中获取温度信息,进行内存温度控制,其中,PCU用于内存温度信息和内存控制信息交互,PCU通过外部控制器PCEI bus获取内存温度。
本方法具体包括如下步骤:
S1:为内存控制器设置周期寄存器,周期寄存器用于存储内存控制器轮询内存温度传感器的周期控制参数。
具体的,将内存控制器的地址偏移N位对应的寄存器设置为周期寄存器,周期寄存器的赋值范围为00000000-00011110。
在具体实施方式中,将内存控制器内存地址的OffsetX位的寄存器设置为周期寄存器。
其中,周期寄存器的值的取值范围在00000000-00001010的区间内时,内存控制器轮询内存条TSOD(Temperature Sensor on the DIMM)的周期为T1,T1为长周期。
周期寄存器的值的取值范围在00001011-00010100的区间内时,内存控制器轮询内存条TSOD(Temperature Sensor on the DIMM)的周期为T2,T2为适中周期。
周期寄存器的值的取值范围在00010101-00011110的区间内时,内存控制器轮询内存条TSOD(Temperature Sensor on the DIMM)的周期为T3,T3为短周期。即T3<T2<T1。
S2:获取内存的当前温度值。
在具体实施方式中,通过以下两种方式获取内存的当前温度值:
1、通过ipmi命令ipmitool sdr elist获取当前内存温度传感器的值,以获取内存的当前温度值。
2、先读取服务器BMC Web下的资产信息,再根据资产信息中的内存信息,确定内存的当前温度值。
S3:判断内存的当前温度值是否超过温度阈值;若是,则执行步骤S4,若否,则执行步骤S5;
需要特别说明的是,温度阈值可根据当前服务器的配置信息进行调整,在保证当前服务器处于正常的运行状态的基础上设定温度阈值。
S4:调整周期寄存器赋值,并记为Y。
在具体实施方式中,可采用常用的程序设计语言对周期寄存器进行赋值。将周期寄存器赋值为Y≤00010100。
S5:循环对内存进行性能测试,并根据测试结果调整周期寄存器的赋值,直到确定出周期寄存器的最优赋值。
在具体实施方式中,本步骤的目的在于确定周期寄存器的最优赋值,如图2所示,主要包括如下流程:
S501:利用内存性能测试工具获取内存的带宽值。
作为示例的,可采用STREAM软件获取内存的带宽值。STREAM软件是内存带宽性能测试的基准工具,也是衡量服务器内存性能指标的通用工具。STREAM软件具有良好的空间局部性,是对转换检测缓冲区TLB(Translation Lookaside Buffer)友好、缓存友好的一款软件。STREAM软件支持复制(Copy)、尺度变换(Scale)、矢量求和(Add)、复合矢量求和(Triad)四种运算方式测试内存带宽的性能。
S502:判断内存带宽值是否大于性能判定值;若是,则执行步骤S503;若否,则执行步骤S504。
需要特别说明的是,性能判定值可根据当前服务器的配置信息进行调整,在保证当前服务器处于正常的运行状态的基础上设定性能判定值。
S503:将当前周期寄存器的赋值减一,并返回步骤S501。
S504:读取当前周期寄存器的赋值。
具体来说,首先通过CPU EDS文档读取相关内存的MEM_Bar值,获取内存地址(Mem_addr)为Bar_X。然后通过寄存器工具write read方式读取某内存地址的OffsetX位寄存器值。具体命令如下:
i2c-test-b<Mem_Bar>-s<Mem_addr>-m 1–rc<count>-d
<data>……<data n>
其中,寄存器工具可采用寄存器查看器(RegisterMaster)
S505:判断当前周期寄存器的赋值是否为Y;若是,则执行步骤S4;若否,则执行步骤S506。
本步骤的目的在于,如果识别到周期寄存器的赋值为Y时,内存性能未达标,则需要返回步骤S4,重新设定周期寄存器的赋值,并继续进入内存性能测试流程。如果识别到周期寄存器的当前赋值通过减一操作后,导致内存性能未达标,则可确定减一操作之前的周期寄存器赋值为周期寄存器的最优赋值。
S506:将当前周期寄存器的赋值加一。
由于减一操作之前的周期寄存器赋值为周期寄存器的最优赋值,此时将当前周期寄存器的赋值加一,即将周期寄存器进行最优赋值。此时,内存能够在保证温度正常的前提下,保持最佳的内存传感器轮询周期。
可见,本方法通过CPU EDS文档获取Memory Bar,使用寄存器工具读取相关内存的寄存器值,然后设置其寄存器值达到改变内存控制器轮询内存条TSOD(TemperatureSensor on the DIMM)的周期的作用,通过轮询周期变化与内存温度升高正相关关系,达到内存温度控制的作用,进而可以在保护内存及降低内存功耗方面发挥作用。
参见图3所示,基于上述实施例,本发明还公开了一种内存温度控制方法,包括如下步骤:
S201:通过sdr命令获取当前内存温度。
S202:判断当前内存温度是否超过阈值。若是,则执行步骤S203;若否,则执行步骤S204。
S203:将内存控制器的周期寄存器赋值为Y。
S204:判断当前内存性能是否达标。若是,则执行步骤S205;若否,则执行步骤S206。
S205:将内存控制器的周期寄存器赋值减一,并执行步骤S204。
S206:读取并判断周期寄存器赋值是否为Y。若是,则执行步骤S203;若否,则执行步骤S207。
S207:将内存控制器的周期寄存器赋值加一。
本发明公开了一种内存温度控制方法,通过更改内存控制器对应的寄存器值,进而控制内存控制器轮询内存温度传感器的周期。通过轮询周期变化与内存温度升高的关系,达到内存温度控制的作用,进而可以在保护内存及内存功耗方面发挥作用。
参见图4所示,本发明还公开了一种内存温度控制系统,包括:寄存器设置模块1、温度检测模块2、判断模块3、赋值调整模块4和测试调整模块5。
寄存器设置模块1,配置用于为内存控制器设置周期寄存器,周期寄存器用于存储内存控制器轮询内存温度传感器的周期控制参数。
在具体实施方式中,寄存器设置模块1具体用于:将内存控制器的地址偏移N位对应的寄存器设置为周期寄存器,周期寄存器的赋值范围为00000000-00011110。
温度检测模块2,配置用于获取内存的当前温度值。
在具体实施方式中,温度检测模块2具体用于:通过ipmi命令获取当前内存温度传感器的值,以获取内存的当前温度值。
在另一具体实施方式中,温度检测模块2具体用于:读取服务器BMC Web下的资产信息;根据资产信息中的内存信息,确定内存的当前温度值。
判断模块3,配置用于判断内存的当前温度值是否超过温度阈值。
需要特别说明的是,温度阈值可根据当前服务器的配置信息进行调整,在保证当前服务器处于正常的运行状态的基础上设定温度阈值。
赋值调整模块4,配置用于调整周期寄存器赋值,并记为Y。其中,周期寄存器赋值Y≤00010100。当周期寄存器的赋值y∈[00000000,00001010]时,内存控制器对内存温度传感器的轮询周期为T1;
当周期寄存器的赋值y∈[00001011,00010100]时,内存控制器对内存温度传感器的轮询周期为T2;当周期寄存器的赋值y∈[00010101,00011110]时,内存控制器对内存温度传感器的轮询周期为T3;其中T3<T2<T1。
测试调整模块5,配置用于循环对内存进行性能测试,并根据测试结果调整周期寄存器的赋值,直到确定出周期寄存器的最优赋值。
在具体实施方式中,测试调整模块5具体用于实现以下步骤:
步骤A:利用内存性能测试工具获取内存的带宽值;
步骤B:判断内存带宽值是否大于性能判定值;若是,则执行步骤C;若否,则执行步骤D;
步骤C:将当前周期寄存器的赋值减一,并返回步骤A:
步骤D:读取当前周期寄存器的赋值;
步骤E:判断当前周期寄存器的赋值是否为Y;若是,则继续调整周期寄存器赋值,并记为Y;若否,则执行步骤F;
步骤F:将当前周期寄存器的赋值加一。
由此可见,本发明提供了一种内存温度控制系统,通过更改内存控制器对应的寄存器值,进而控制内存控制器轮询内存温度传感器的周期。通过轮询周期变化与内存温度升高的关系,达到内存温度控制的作用,进而可以在保护内存及内存功耗方面发挥作用。
参见图5所示,本发明还公开了一种内存温度控制装置,包括处理器101和存储器102;其中,所述处理器101执行所述存储器中保存的内存温度控制程序时实现以下步骤:
1、为内存控制器设置周期寄存器,周期寄存器用于存储内存控制器轮询内存温度传感器的周期控制参数。
2、获取内存的当前温度值。
3、判断内存的当前温度值是否超过温度阈值;若是,则执行步骤,若否,则执行步骤5。
4、调整周期寄存器赋值,并记为Y。
5、循环对内存进行性能测试,并根据测试结果调整周期寄存器的赋值,直到确定出周期寄存器的最优赋值。
本实施例提供的内存温度控制装置可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器101可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器101可以采用数字信号处理(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器101也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器101可以在集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器101还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器102可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器102还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器102至少用于存储以下计算机程序,其中,该计算机程序被处理器101加载并执行之后,能够实现前述任一实施例公开的内存温度控制方法的相关步骤。另外,存储器102所存储的资源还可以包括操作系统和数据等,存储方式可以是短暂存储或者永久存储。其中,操作系统可以包括Windows、Unix、Linux等。数据可以包括但不限于上述内存温度控制方法中涉及的数据等。
在具体实施方式中,所述处理器101执行所述存储器102中保存的计算机程序时,可以具体实现以下步骤:将内存控制器的地址偏移N位对应的寄存器设置为周期寄存器,周期寄存器的赋值范围为00000000-00011110。
在具体实施方式中,所述处理器101执行所述存储器102中保存的计算机程序时,可以具体实现以下步骤:通过ipmi命令获取当前内存温度传感器的值,以获取内存的当前温度值。
在具体实施方式中,所述处理器101执行所述存储器102中保存的计算机程序时,可以具体实现以下步骤:读取服务器BMC Web下的资产信息;根据资产信息中的内存信息,确定内存的当前温度值。
在具体实施方式中,所述处理器101执行所述存储器102中保存的计算机程序时,可以具体实现以下步骤:
步骤A:利用内存性能测试工具获取内存的带宽值;
步骤B:判断内存带宽值是否大于性能判定值;若是,则执行步骤C;若否,则执行步骤D;
步骤C:将当前周期寄存器的赋值减一,并返回步骤A:
步骤D:读取当前周期寄存器的赋值;
步骤E:判断当前周期寄存器的赋值是否为Y;若是,则继续调整周期寄存器赋值,并记为Y;若否,则执行步骤F;
步骤F:将当前周期寄存器的赋值加一。
进一步的,本实施例中的内存温度控制装置,还可以包括:
输入接口103,用于获取外界导入的内存温度控制程序,并将获取到的内存温度控制程序保存至所述存储器102中,还可以用于获取外界终端设备传输的各种指令和参数,并传输至处理器101中,以便处理器101利用上述各种指令和参数展开相应的处理。本实施例中,所述输入接口103具体可以包括但不限于USB接口、串行接口、语音输入接口、指纹输入接口、硬盘读取接口等。
输出接口104,用于将处理器101产生的各种数据输出至与其相连的终端设备,以便于与输出接口相连的其他终端设备能够获取到处理器101产生的各种数据。本实施例中,所述输出接口104具体可以包括但不限于USB接口、串行接口等。
通讯单元105,用于在服务器运行业务优化配置装置和外部服务器之间建立远程通讯连接,以便于内存温度控制装置能够将镜像文件挂载到外部服务器中。本实施例中,通讯单元105具体可以包括但不限于基于无线通讯技术或有线通讯技术的远程通讯单元。
键盘106,用于获取用户通过实时敲击键帽而输入的各种参数数据或指令。
显示器107,用于对运行内存温度控制过程的相关信息进行实时显示。
鼠标108,可以用于协助用户输入数据并简化用户的操作。
由此可见,本发明提供了一种内存温度控制装置,能够通过获取内存控制器的地址,使用寄存器工具读取相关内存的寄存器值,然后设置其寄存器值达到改变内存控制器轮询内存温度传感器的周期的作用,通过轮询周期变化与内存温度升高正相关关系,达到内存温度控制的作用,进而可以在保护内存及降低内存功耗方面发挥作用。
本发明还公开了一种可读存储介质,这里所说的可读存储介质包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动硬盘、CD-ROM或技术领域内所公知的任意其他形式的存储介质。可读存储介质中存储有内存温度控制程序,所述内存温度控制程序被处理器执行时实现以下步骤:
1、为内存控制器设置周期寄存器,周期寄存器用于存储内存控制器轮询内存温度传感器的周期控制参数。
2、获取内存的当前温度值。
3、判断内存的当前温度值是否超过温度阈值;若是,则执行步骤,若否,则执行步骤5。
4、调整周期寄存器赋值,并记为Y。
5、循环对内存进行性能测试,并根据测试结果调整周期寄存器的赋值,直到确定出周期寄存器的最优赋值。
综上所述,本发明通过改变内存控制器轮询内存温度传感器的周期控制内存的功耗,实现了内存的温度控制。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的方法而言,由于其与实施例公开的系统相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。
同理,在本发明各个实施例中的各处理单元可以集成在一个功能模块中,也可以是各个处理单元物理存在,也可以两个或两个以上处理单元集成在一个功能模块中。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的内存温度控制方法、系统、装置及可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种内存温度控制方法,其特征在于,包括如下步骤:
S1:为内存控制器设置周期寄存器,周期寄存器用于存储内存控制器轮询内存温度传感器的周期控制参数;
S2:获取内存的当前温度值;
S3:判断内存的当前温度值是否超过温度阈值;若是,则执行步骤S4,若否,则执行步骤S5;
S4:调整周期寄存器赋值,并记为Y;
S5:循环对内存进行性能测试,并根据测试结果调整周期寄存器的赋值,直到确定出周期寄存器的最优赋值。
2.根据权利要求1所述的内存温度控制方法,其特征在于,所述为内存控制器设置周期寄存器,包括:
将内存控制器的地址偏移N位对应的寄存器设置为周期寄存器,周期寄存器的赋值范围为00000000-00011110。
3.根据权利要求2所述的内存温度控制方法,其特征在于,当周期寄存器的赋值y∈[00000000,00001010]时,内存控制器对内存温度传感器的轮询周期为T1;当周期寄存器的赋值y∈[00001011,00010100]时,内存控制器对内存温度传感器的轮询周期为T2;当周期寄存器的赋值y∈[00010101,00011110]时,内存控制器对内存温度传感器的轮询周期为T3;其中T3<T2<T1。
4.根据权利要求1所述的内存温度控制方法,其特征在于,所述获取内存的当前温度值,包括:
通过ipmi命令获取当前内存温度传感器的值,以获取内存的当前温度值。
5.根据权利要求1所述的内存温度控制方法,其特征在于,所述获取内存的当前温度值,包括:
读取服务器BMC Web下的资产信息;
根据资产信息中的内存信息,确定内存的当前温度值。
6.根据权利要求3所述的内存温度控制方法,其特征在于,所述周期寄存器赋值Y≤00010100。
7.根据权利要求6所述的内存温度控制方法,其特征在于,所述循环对内存进行性能测试,并根据测试结果调整周期寄存器的值,直到确定出周期寄存器的最优值,具体包括如下步骤:
S501:利用内存性能测试工具获取内存的带宽值;
S502:判断内存带宽值是否大于性能判定值;若是,则执行步骤S503;若否,则执行步骤S504;
S503:将当前周期寄存器的赋值减一,并返回步骤S501;
S504:读取当前周期寄存器的赋值;
S505:判断当前周期寄存器的赋值是否为Y;若是,则执行步骤S4;若否,则执行步骤S506:
S506:将当前周期寄存器的赋值加一。
8.一种内存温度控制系统,其特征在于,包括:
寄存器设置模块,配置用于为内存控制器设置周期寄存器,周期寄存器用于存储内存控制器轮询内存温度传感器的周期控制参数;
温度检测模块,配置用于获取内存的当前温度值;
判断模块,配置用于判断内存的当前温度值是否超过温度阈值;
赋值调整模块,配置用于调整周期寄存器赋值,并记为Y;
测试调整模块,配置用于循环对内存进行性能测试,并根据测试结果调整周期寄存器的赋值,直到确定出周期寄存器的最优赋值。
9.一种内存温度控制装置,其特征在于,包括:
存储器,用于存储内存温度控制程序;
处理器,用于执行所述内存温度控制程序时实现如权利要求1至7任一项权利要求所述的内存温度控制方法的步骤。
10.一种可读存储介质,其特征在于:所述可读存储介质上存储有内存温度控制程序,所述内存温度控制程序被处理器执行时实现如权利要求1至7任一项权利要求所述的内存温度控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310943973.8A CN117075711A (zh) | 2023-07-28 | 2023-07-28 | 一种内存温度控制方法、系统、装置及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310943973.8A CN117075711A (zh) | 2023-07-28 | 2023-07-28 | 一种内存温度控制方法、系统、装置及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117075711A true CN117075711A (zh) | 2023-11-17 |
Family
ID=88708907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310943973.8A Pending CN117075711A (zh) | 2023-07-28 | 2023-07-28 | 一种内存温度控制方法、系统、装置及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117075711A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117806891A (zh) * | 2024-02-28 | 2024-04-02 | 苏州元脑智能科技有限公司 | 一种基于服务器的测试系统、方法、装置、设备及介质 |
-
2023
- 2023-07-28 CN CN202310943973.8A patent/CN117075711A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117806891A (zh) * | 2024-02-28 | 2024-04-02 | 苏州元脑智能科技有限公司 | 一种基于服务器的测试系统、方法、装置、设备及介质 |
CN117806891B (zh) * | 2024-02-28 | 2024-05-17 | 苏州元脑智能科技有限公司 | 一种基于服务器的测试系统、方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100444084C (zh) | 计算机系统中的扼制存储器 | |
US7747881B2 (en) | System and method for limiting processor performance | |
RU2624563C2 (ru) | Оперативное регулирование производительности твердотельных запоминающих устройств | |
US8949635B2 (en) | Integrated circuit performance improvement across a range of operating conditions and physical constraints | |
JP5697284B2 (ja) | コンピュータプラットフォームのシステム電力状態を遷移させる方法、装置およびシステム | |
US10691594B2 (en) | Selective execution of cache line flush operations | |
US10929535B2 (en) | Controlled introduction of uncertainty in system operating parameters | |
US9250920B2 (en) | Initializing processor cores in a multiprocessor system | |
US7870400B2 (en) | System having a memory voltage controller which varies an operating voltage of a memory and method therefor | |
CN102057344A (zh) | 睡眠处理器 | |
JP2013512526A (ja) | プロセッサスワップ無しという条件を検出するメカニズムおよびブート中の高速バスキャリブレーションの修正変更 | |
CN117075711A (zh) | 一种内存温度控制方法、系统、装置及可读存储介质 | |
CN100517176C (zh) | 实现热调节逻辑的数据处理系统和方法 | |
CN113157043A (zh) | 基于强化学习的异构多核处理器动态电压调节方法及系统 | |
CN108235276A (zh) | 基于物联网的传感器节点运行系统及传感器节点运行方法 | |
US20110119450A1 (en) | Multi-processor and apparatus and method for managing cache coherence of the same | |
CN107609120A (zh) | 日志信息上报方法、装置及存储介质、adsp和终端 | |
CN110109381A (zh) | 热传感器动态关闭 | |
WO2019127081A1 (zh) | 智能终端的功耗稳定方法、其装置及电子设备 | |
CN103970253A (zh) | 省电操作方法与电子装置 | |
CN113010303A (zh) | 一种处理器间的数据交互方法、装置以及服务器 | |
CN114185837A (zh) | 片上系统和调节电压和频率的方法 | |
CN108181983A (zh) | 具有控制器进入低功率模式的电子设备 | |
CN212411180U (zh) | 可信启动打印机及打印系统 | |
CN110716886B (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 |