CN113064702A - 一种加速部署内存模块配置spd信息的方法及装置 - Google Patents
一种加速部署内存模块配置spd信息的方法及装置 Download PDFInfo
- Publication number
- CN113064702A CN113064702A CN202110239096.7A CN202110239096A CN113064702A CN 113064702 A CN113064702 A CN 113064702A CN 202110239096 A CN202110239096 A CN 202110239096A CN 113064702 A CN113064702 A CN 113064702A
- Authority
- CN
- China
- Prior art keywords
- memory
- memory module
- modified
- configuration
- address
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种加速部署内存模块配置SPD信息的方法及装置,所述方法包括如下步骤:S 1.启动运行内存模块;S2.根据内存模块数量计算工作线程数;S3.根据内存模块应用场景确定待修改内存地址及待修改内存数据;S4.启动所有工作线程,并通过每个工作线程同时向对应内存模块的待修改内存地址中写入待修改内存数据。本发明实现内存模块配置最佳化运作,实现短时间内完成大批量SPD内存信息配置,节省后台使用人员时间,且在平台转换部署时,无需更改BIOS相关设定,尤其对于无法修改BIOS设定的应用场景,降低大量部署成本,节省客户端时间。
Description
技术领域
本发明属于内存配置技术领域,具体涉及一种加速部署内存模块配置SPD信息的方法及装置。
背景技术
SPD,是Serial Presence Detect的简称,模组中存在的串行检测。
内存模块是一种配置有内存集成电路芯片的印刷电路板,内存模块可以安装到个人电脑、工作站和服务器等计算机的电子系统中并且可以进行更换。内存模块除了存储芯片外还有一颗EEPROM,用于储存内存模块配置的SPD信息,例如,模块制造商,内存芯片制造商,内存芯片工作频率,内存芯片工作参数配置等等,这些内存模块配置信息对于服务器系统非常重要,是服务器系统要以何种内存配置运作的关键依据。
实际应用中,我们常常会根据服务器系统运行环境及应用场景来调整适合的内存模块配置,来达到系统的最佳化。目前修改内存模块配置SPD信息的方式,是从第0个字节地址开始逐一写入内存模块配置信息,直到第255个字节地址,此方式将整个256字节大小的EEPROM直接重写,这样就必须对256个字节地址进行写操作,写入一个字节地址配置数据需要160微秒,此160微秒发送字节地址数据与字节配置数据的时间,所以整个EEPROM重写就必须花费至少40.96毫秒,对于高速运算计算机产品,这个时间相当长,造成不必要的时间浪费,如果有数量庞大的内存模块需要修改内存模块配置,那累积的时间浪费将会更加多。
此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种加速部署内存模块配置SPD信息的方法及装置,是非常有必要的。
发明内容
针对现有技术的上述现有内存模块配置SPD信息调整需要将整个EEPROM直接重写,耗费时间长,造成时间浪费的缺陷,本发明提供一种加速部署内存模块配置SPD信息的方法及装置,以解决上述技术问题。
第一方面,本发明提供一种加速部署内存模块配置SPD信息的方法,包括如下步骤:
S1.启动运行内存模块;
S2.根据内存模块数量计算工作线程数;
S3.根据内存模块应用场景确定待修改内存地址及待修改内存数据;
S4.启动所有工作线程,并通过每个工作线程同时向对应内存模块的待修改内存地址中写入待修改内存数据。
进一步地,步骤S1具体步骤如下:
S11.将各内存模块插槽中插入内存模块,设置内存模块插槽满配;
S12.设置所有内存模块启动运行。
进一步地,步骤S2具体步骤如下:
S21.向各内存模块插槽确认内存模块数量;
S22.根据内存模块数量设定相同数量的工作线程数。
进一步地,步骤S3具体步骤如下:
S31.获取内存模块应用场景,并根据内存模块应用场景确定待修改内存运行参数;
S32.根据待修改内存运行参数确定待修改内存地址,及待修改内存运行参数值。
进一步地,步骤S4具体步骤如下:
S41.根据计算的工作线程数为每个内存模块配置一个工作线程;
S42.通过每个工作线程查找对应内存模块的待修改内存地址;
S43.通过每个工作线程将对应内存模块的待修改内存地址中数据修改为待修改内存运行参数值。
第二方面,本发明提供一种加速部署内存模块配置SPD信息的装置,包括内存配置启动单元和内存模块配置编辑器;
内存配置启动单元,用于设置内存模块启动运行,并开启内存模块配置编辑器;
内存模块配置编辑器包括线程数计算单元、地址及数据确定单元以及配置修改单元;
线程数计算单元,用于根据内存模块数量计算工作线程数;
地址及数据确定单元,用于根据内存模块应用场景确定待修改内存地址及待修改内存数据;
配置修改单元,用于启动所有工作线程,并通过每个工作线程同时向对应内存模块的待修改内存地址中写入待修改内存数据。
进一步地,内存启动单元包括:
内存满配设置子单元,将各内存模块插槽中插入内存模块,设置内存模块插槽满配;
内存及配置启动子单元,用于设置所有内存模块启动运行,并开启内存模块配置编辑器。
进一步地,线程数计算单元包括:
可编程逻辑器件,用于向各内存模块插槽获取并确认内存模块数量;
线程数确定子单元,用于根据内存模块数量设定相同数量的工作线程数。
进一步地,地址及数据确定单元包括:
待修改参数确定子单元,用于获取内存模块应用场景,并根据内存模块应用场景确定待修改内存运行参数;
地址及参数值确定子单元,用于根据待修改内存运行参数确定待修改内存地址,及待修改内存运行参数值。
进一步地,配置修改单元包括:
工作线程配置子单元,用于根据计算的工作线程数为每个内存模块配置一个工作线程;
地址查找子单元,用于通过每个工作线程查找对应内存模块的待修改内存地址;
配置参数值修改子单元,用于通过每个工作线程将对应内存模块的待修改内存地址中数据修改为待修改内存运行参数值。
本发明的有益效果在于,
本发明提供的加速部署内存模块配置SPD信息的方法及装置,针对服务器运行场景众多,系统配置复杂的形势,实现内存模块配置最佳化运作,实现短时间内完成大批量SPD内存信息配置,节省后台使用人员时间,且在平台转换部署时,无需更改BIOS相关设定,尤其对于无法修改BIOS设定的应用场景,降低大量部署成本,节省客户端时间。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的方法流程示意图一;
图2是本发明的方法流程示意图二;
图3是本发明的系统示意图;
图中,1-内存配置启动单元;1.1-内存满配设置子单元;1.2-内存及配置启动子单元;2-线程数计算单元;2.1-可编程逻辑器件;2.2-线程数确定子单元;3-地址及数据确定单元;3.1-待修改参数确定子单元;3.2-地址及参数值确定子单元;4-配置修改单元;4.1-工作线程配置子单元;4.2-地址查找子单元;4.3-配置参数值修改子单元。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
实施例1:
如图1所示,本发明提供一种加速部署内存模块配置SPD信息的方法,包括如下步骤:
S1.启动运行内存模块;
S2.根据内存模块数量计算工作线程数;
S3.根据内存模块应用场景确定待修改内存地址及待修改内存数据;
S4.启动所有工作线程,并通过每个工作线程同时向对应内存模块的待修改内存地址中写入待修改内存数据。
实施例2:
如图2所示,本发明提供一种加速部署内存模块配置SPD信息的方法,包括如下步骤:
S1.启动运行内存模块;具体步骤如下:
S11.将各内存模块插槽中插入内存模块,设置内存模块插槽满配;
S12.设置所有内存模块启动运行;
S2.根据内存模块数量计算工作线程数;具体步骤如下:
S21.向各内存模块插槽确认内存模块数量;
S22.根据内存模块数量设定相同数量的工作线程数;
S3.根据内存模块应用场景确定待修改内存地址及待修改内存数据;具体步骤如下:
S31.获取内存模块应用场景,并根据内存模块应用场景确定待修改内存运行参数;
S32.根据待修改内存运行参数确定待修改内存地址,及待修改内存运行参数值;
S4.启动所有工作线程,并通过每个工作线程同时向对应内存模块的待修改内存地址中写入待修改内存数据;具体步骤如下:
S41.根据计算的工作线程数为每个内存模块配置一个工作线程;
S42.通过每个工作线程查找对应内存模块的待修改内存地址;
S43.通过每个工作线程将对应内存模块的待修改内存地址中数据修改为待修改内存运行参数值。
上述实施例2中,内存模块插槽数量为24,将24个内存模块分别插入一个内存模块插槽中;
内存模块配置编辑器通过可编程逻辑器件向各内存模块插槽确认内存模块数量是否为5个,得到确认后,设定5个工作线程数;
内存模块编辑器获取到内存模块应用场景为高效能系统环境时,需要修改与内存运行频率相关的5个待修改内存地址,为0x09,0x0A,0x0B,0X0C,0x22,将5个待修改内存地址与要修改的内存频率数据参数值加入内存模块配置编辑器,内存模块配置编辑器完成地址进制转换,需要将16进制地址数据转换为二进制,内存模块配置编辑器进程产生5个工作线程,为每个工作线程设置内存模块配置改写任务,对24条内存模块的内存运作频率相关5个待修改内存地址进行数据修改,而完成修改5个字节地址数据只需要800us就可以完成24条内存模块配置SPD信息的修改,相比原来重写全部256个字节地址,效能得到大幅度提升,也可以加快部署时间。
上述实施例2中,内存模块应用场景相关的内存运行参数如效能取向配置,稳定性取向配置,特殊高低温环境需求配置以及特定运算应用配置;以上这些情景通常会配置不同的内存模块信息。
实施例3:
如图3所示,本发明提供一种加速部署内存模块配置SPD信息的装置,包括内存配置启动单元1和内存模块配置编辑器;
内存配置启动单元1,用于设置内存模块启动运行,并开启内存模块配置编辑器;内存启动单元1包括:
内存满配设置子单元1.1,将各内存模块插槽中插入内存模块,设置内存模块插槽满配;
内存及配置启动子单元1.2,用于设置所有内存模块启动运行,并开启内存模块配置编辑器;
内存模块配置编辑器包括线程数计算单元2、地址及数据确定单元3以及配置修改单元4;
线程数计算单元2,用于根据内存模块数量计算工作线程数;线程数计算单元2包括:
可编程逻辑器件2.1,用于向各内存模块插槽获取并确认内存模块数量;
线程数确定子单元2.2,用于根据内存模块数量设定相同数量的工作线程数;
地址及数据确定单元3,用于根据内存模块应用场景确定待修改内存地址及待修改内存数据;地址及数据确定单元3包括:
待修改参数确定子单元3.1,用于获取内存模块应用场景,并根据内存模块应用场景确定待修改内存运行参数;
地址及参数值确定子单元3.2,用于根据待修改内存运行参数确定待修改内存地址,及待修改内存运行参数值;
配置修改单元4,用于启动所有工作线程,并通过每个工作线程同时向对应内存模块的待修改内存地址中写入待修改内存数据;配置修改单元4包括:
工作线程配置子单元4.1,用于根据计算的工作线程数为每个内存模块配置一个工作线程;
地址查找子单元4.2,用于通过每个工作线程查找对应内存模块的待修改内存地址;
配置参数值修改子单元4.3,用于通过每个工作线程将对应内存模块的待修改内存地址中数据修改为待修改内存运行参数值。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种加速部署内存模块配置SPD信息的方法,其特征在于,包括如下步骤:
S1.启动运行内存模块;
S2.根据内存模块数量计算工作线程数;
S3.根据内存模块应用场景确定待修改内存地址及待修改内存数据;
S4.启动所有工作线程,并通过每个工作线程同时向对应内存模块的待修改内存地址中写入待修改内存数据。
2.如权利要求1所述的加速部署内存模块配置SPD信息的方法,其特征在于,步骤S1具体步骤如下:
S11.将各内存模块插槽中插入内存模块,设置内存模块插槽满配;
S12.设置所有内存模块启动运行。
3.如权利要求1所述的加速部署内存模块配置SPD信息的方法,其特征在于,步骤S2具体步骤如下:
S21.向各内存模块插槽确认内存模块数量;
S22.根据内存模块数量设定相同数量的工作线程数。
4.如权利要求3所述的加速部署内存模块配置SPD信息的方法,其特征在于,步骤S3具体步骤如下:
S31.获取内存模块应用场景,并根据内存模块应用场景确定待修改内存运行参数;
S32.根据待修改内存运行参数确定待修改内存地址,及待修改内存运行参数值。
5.如权利要求4所述的加速部署内存模块配置SPD信息的方法,其特征在于,步骤S4具体步骤如下:
S41.根据计算的工作线程数为每个内存模块配置一个工作线程;
S42.通过每个工作线程查找对应内存模块的待修改内存地址;
S43.通过每个工作线程将对应内存模块的待修改内存地址中数据修改为待修改内存运行参数值。
6.一种加速部署内存模块配置SPD信息的装置,其特征在于,包括内存配置启动单元(1)和内存模块配置编辑器;
内存配置启动单元(1),用于设置内存模块启动运行,并开启内存模块配置编辑器;
内存模块配置编辑器包括线程数计算单元(2)、地址及数据确定单元(3)以及配置修改单元(4);
线程数计算单元(2),用于根据内存模块数量计算工作线程数;
地址及数据确定单元(3),用于根据内存模块应用场景确定待修改内存地址及待修改内存数据;
配置修改单元(4),用于启动所有工作线程,并通过每个工作线程同时向对应内存模块的待修改内存地址中写入待修改内存数据。
7.如权利要求6所述的加速部署内存模块配置SPD信息的装置,其特征在于,内存启动单元(1)包括:
内存满配设置子单元(1.1),将各内存模块插槽中插入内存模块,设置内存模块插槽满配;
内存及配置启动子单元(1.2),用于设置所有内存模块启动运行,并开启内存模块配置编辑器。
8.如权利要求6所述的加速部署内存模块配置SPD信息的装置,其特征在于,线程数计算单元(2)包括:
可编程逻辑器件(2.1),用于向各内存模块插槽获取并确认内存模块数量;
线程数确定子单元(2.2),用于根据内存模块数量设定相同数量的工作线程数。
9.如权利要求8所述的加速部署内存模块配置SPD信息的装置,其特征在于,地址及数据确定单元(3)包括:
待修改参数确定子单元(3.1),用于获取内存模块应用场景,并根据内存模块应用场景确定待修改内存运行参数;
地址及参数值确定子单元(3.2),用于根据待修改内存运行参数确定待修改内存地址,及待修改内存运行参数值。
10.如权利要求9所述的加速部署内存模块配置SPD信息的装置,其特征在于,配置修改单元(4)包括:
工作线程配置子单元(4.1),用于根据计算的工作线程数为每个内存模块配置一个工作线程;
地址查找子单元(4.2),用于通过每个工作线程查找对应内存模块的待修改内存地址;
配置参数值修改子单元(4.3),用于通过每个工作线程将对应内存模块的待修改内存地址中数据修改为待修改内存运行参数值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110239096.7A CN113064702B (zh) | 2021-03-04 | 2021-03-04 | 一种加速部署内存模块配置spd信息的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110239096.7A CN113064702B (zh) | 2021-03-04 | 2021-03-04 | 一种加速部署内存模块配置spd信息的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113064702A true CN113064702A (zh) | 2021-07-02 |
CN113064702B CN113064702B (zh) | 2023-01-13 |
Family
ID=76559750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110239096.7A Active CN113064702B (zh) | 2021-03-04 | 2021-03-04 | 一种加速部署内存模块配置spd信息的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113064702B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090037900A1 (en) * | 2007-07-30 | 2009-02-05 | Ocz Technology Group, Inc. | Method for optimizing memory modules for user-specific environments |
CN104657111A (zh) * | 2013-11-20 | 2015-05-27 | 方正信息产业控股有限公司 | 一种并行计算方法和装置 |
CN106776125A (zh) * | 2016-11-25 | 2017-05-31 | 武汉斗鱼网络科技有限公司 | 一种实现pc客户端软件实时修复的方法及装置 |
CN107807839A (zh) * | 2016-09-09 | 2018-03-16 | 阿里巴巴集团控股有限公司 | 一种修改虚拟机内存数据的方法、装置及电子设备 |
CN109739583A (zh) * | 2018-12-13 | 2019-05-10 | 平安科技(深圳)有限公司 | 多线程并行运行的方法、装置、计算机设备以及存储介质 |
-
2021
- 2021-03-04 CN CN202110239096.7A patent/CN113064702B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090037900A1 (en) * | 2007-07-30 | 2009-02-05 | Ocz Technology Group, Inc. | Method for optimizing memory modules for user-specific environments |
CN104657111A (zh) * | 2013-11-20 | 2015-05-27 | 方正信息产业控股有限公司 | 一种并行计算方法和装置 |
CN107807839A (zh) * | 2016-09-09 | 2018-03-16 | 阿里巴巴集团控股有限公司 | 一种修改虚拟机内存数据的方法、装置及电子设备 |
CN106776125A (zh) * | 2016-11-25 | 2017-05-31 | 武汉斗鱼网络科技有限公司 | 一种实现pc客户端软件实时修复的方法及装置 |
CN109739583A (zh) * | 2018-12-13 | 2019-05-10 | 平安科技(深圳)有限公司 | 多线程并行运行的方法、装置、计算机设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113064702B (zh) | 2023-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112014726B (zh) | Dsp芯片测试装置及方法 | |
CN112328440B (zh) | 一种硬盘物理位置确定方法和装置 | |
CN111177043B (zh) | 加快读取现场可更换单元信息的方法、系统、设备及介质 | |
US9298662B2 (en) | Providing expansion card settings | |
CN108881521B (zh) | 网络id配置方法、装置、电子设备及存储介质 | |
WO2014082583A1 (zh) | 在Nand闪存中生成动态分区信息的方法和装置 | |
CN106873970B (zh) | 一种操作系统的安装方法和装置 | |
CN104636165A (zh) | 移动设备启动方法及装置 | |
CN113064625B (zh) | 一种带外升级bios的方法、装置、设备及介质 | |
WO2024002325A1 (zh) | 计算设备上故障芯片的定位方法、设备及存储介质 | |
CN109902056A (zh) | 一种串行传输的方法、装置、设备及计算机可读存储介质 | |
CN113064702B (zh) | 一种加速部署内存模块配置spd信息的方法及装置 | |
US20240107647A1 (en) | Control method, control device and lighting system | |
EP3550430B1 (en) | Method for processing configuration file, touch chip, apparatus, and medium | |
CN115291952A (zh) | 一种BIOS下配置PCIe设备插槽定位信息的方法及系统 | |
CN113704177B (zh) | 一种服务器固件升级文件的存储方法、系统及相关组件 | |
CN105515786A (zh) | 网卡、服务器以及预启动测试的方法 | |
CN109669727A (zh) | 一种服务器的配置方法、系统及相关组件 | |
CN113238778B (zh) | 一种升级bios固件的方法、系统、设备及介质 | |
CN115268566A (zh) | 一种满足不同长度走线的ncsi链路通信系统及方法 | |
CN114237506A (zh) | 一种emmc数据存储和读写的方法 | |
CN110098960B (zh) | 一种分布式块存储系统免密自动化配置方法及装置 | |
WO2013189177A1 (zh) | 存储空间映射方法及装置 | |
CN109918323A (zh) | 集成电路中数据讯号撷取方法、装置、设备及存储介质 | |
CN114443150B (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 |