CN117312183A - 一种内存容量调整方法、装置、电子设备及存储介质 - Google Patents

一种内存容量调整方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN117312183A
CN117312183A CN202311629028.7A CN202311629028A CN117312183A CN 117312183 A CN117312183 A CN 117312183A CN 202311629028 A CN202311629028 A CN 202311629028A CN 117312183 A CN117312183 A CN 117312183A
Authority
CN
China
Prior art keywords
memory
target
spd
spd data
bios
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
Application number
CN202311629028.7A
Other languages
English (en)
Other versions
CN117312183B (zh
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 Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Metabrain 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 Metabrain Intelligent Technology Co Ltd filed Critical Suzhou Metabrain Intelligent Technology Co Ltd
Priority to CN202311629028.7A priority Critical patent/CN117312183B/zh
Publication of CN117312183A publication Critical patent/CN117312183A/zh
Application granted granted Critical
Publication of CN117312183B publication Critical patent/CN117312183B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请实施例提供了一种内存容量调整方法、装置、电子设备及存储介质。所述方法包括:从所述BIOS的BIOS镜像内读取预留的目标内存的SPD数据,所述目标内存为未设置SPD控制器的物理内存;基于所述目标内存的SPD数据,调整所述目标内存的内存容量。本申请实施例可以实现无SPD控制器的内存容量的动态调整,无需人为动态对服务器内存条的拆卸功能即可满足对服务器整机的内存容量进行动态调整,满足客户的实际业务需求,提高了内存的使用寿命及降低了运维成本。

Description

一种内存容量调整方法、装置、电子设备及存储介质
技术领域
本申请涉及内存调整技术领域,尤其涉及一种内存容量调整方法、装置、电子设备及存储介质。
背景技术
在计算机系统中,通常数据信息需要运行在内存上,即使部分处理器会支持一定容量的缓存功能,但这些缓存功能也只是为处理器开机运行时提供的基本指令运行需求而已。同样的BIOS(Basic Input Output System,基本输入输出系统)镜像运行也需要运行在一定的内存空间上,服务器开机启动的自检程序及系统下运行的应用程序均需要一定数量的内存进行支持,所以,内存是任何架构计算机产品中必须存在的物理设备。内存在服务器运行中涉及多个参数的设置,如内存的芯片及模组厂商、工作频率、工作电压、速度、容量、电压与行、列地址带宽等参数,这些参数均被内存的SPD(Serial Presence Detect,模组存在的串行检测)所控制。
SPD是内存模块上的一种存储器,用来存储内存模块的参数信息,这些信息在计算机启动时被读取并保存到主板芯片组中,以便系统能够正确地配置内存控制器,其中最重要的是自动配置内存的工作频率,以确保内存控制器工作在合适的频率范围内,从而提高计算机的性能。随着使用环境的不同,需要将传统的内存由插槽形式转化为主板贴片形式,这种转变只是单独的内存链接方式的改变并不影响实际的使用。但在某些特殊场合或者节约投入成本的考量,需要将内存的SPD控制器进行移除,即无SPD控制器。
通常情况下,针对无SPD控制器的内存需要运维人员对接入服务器的内存进行拆卸,以调整内存容量,此种方式,会导致内存的使用寿命降低,且增加了运维成本。同时,服务器厂商为了消耗同一内存厂商不同批次不同容量的内存,但内存条本身是包含SPD控制器的且设置参数各个均不相同,而无SPD控制器的情况下,将导致这些内存条混插接入服务器整机会导致服务器无法开机等技术问题。
发明内容
本申请实施例提供一种内存容量调整方法、装置、电子设备及存储介质,以解决现有技术中人工拆卸导致内存使用寿命降低,增加了运维成本,且内存条混插接入服务器整机会导致服务器无法开机的问题。
为了解决上述技术问题,本申请实施例是这样实现的:
第一方面,本申请实施例提供了一种内存容量调整方法,应用于BIOS,所述方法包括:
从所述BIOS的BIOS镜像内读取预留的目标内存的SPD数据,所述目标内存为未设置SPD控制器的物理内存;
基于所述目标内存的SPD数据,调整所述目标内存的内存容量。
可选地,在所述从所述BIOS的BIOS镜像内读取预留的目标内存的SPD数据之前,还包括:
获取多种类型内存的SPD数据,所述多种类型内存包括所述目标内存;
在所述BIOS镜像内建立每个内存参数对应的数据结构体;
根据每种类型内存的内存参数,将每种类型内存的所述SPD数据存储于对应的数据结构体中;
将每种类型内存的数据结构体存储于每种类型内存对应的存储地址内。
可选地,所述根据每种类型内存的内存参数,将每种类型内存的所述SPD数据存储于对应的数据结构体中,包括:
获取用户设置的每种类型内存的内存容量参数;
基于所述内存容量参数替换所述每种类型内存的SPD数据中的原始内存容量参数,生成所述每种类型内存的新的SPD数据;
将所述SPD数据和所述新的SPD数据分别存储于对应的数据结构体内,不同的SPD数据对应于不同的数据结构体。
可选地,所述从所述BIOS的BIOS镜像内读取预留的目标内存的SPD数据,包括:
在响应于服务器启动,所述BIOS进入初始化阶段之后,获取用户对所述目标内存设置的内存容量参数;
从所述BIOS镜像内读取所述目标内存的与所述内存容量参数匹配的SPD数据。
可选地,所述从所述BIOS镜像内读取所述目标内存的与所述内存容量参数匹配的SPD数据,包括:
根据所述目标内存的内存类型,确定所述目标内存对应的目标存储地址;
基于预设协议从所述目标存储地址内读取与所述内存容量参数匹配的SPD数据。
可选地,所述基于预设协议从所述目标存储地址内读取与所述内存容量参数匹配的SPD数据,包括:
获取所述内存容量参数对应的目标数据结构体;
基于所述预设协议从所述目标存储地址内读取所述目标数据结构体内的与所述内存容量参数匹配的SPD数据。
可选地,所述基于所述目标内存的SPD数据,调整所述目标内存的内存容量,包括:
将所述目标内存的SPD数据赋值给所述目标内存;
对所述目标内存进行初始化处理,以调整所述目标内存的内存容量。
可选地,在所述基于所述目标内存的SPD数据,调整所述目标内存的内存容量之后,还包括:
在所述目标内存初始化完成之后,检查接入所述BIOS所属服务器的内存中是否存在未初始化的内存;
在所述内存中存在未初始化的内存的情况下,依次识别所述内存中未初始化的内存;
从所述BIOS镜像内依次读取所述未初始化的内存的SPD数据,以依次对所述未初始化的内存进行初始化处理。
可选地,在所述检查接入所述BIOS所属服务器的内存中是否存在未初始化的内存之后,还包括:
在检查到所述内存全部初始化完成之后,确定所述服务器是否正常启动;
响应于所述服务器未正常启动,对所述内存重新进行初始化处理。
可选地,所述对所述内存重新进行初始化处理,包括:
获取预先设置的所述内存的最小内存参数;
从所述BIOS镜像内读取所述最小内存参数对应的目标SPD数据;
将所述目标SPD数据赋值给所述内存,并对所述内存进行初始化处理。
可选地,在所述对所述内存重新进行初始化处理之后,还包括:
响应于所述服务器正常启动,从所述BIOS镜像内依次读取所述内存的SPD数据;
依次基于所述内存的SPD数据对所述内存进行初始化处理,以调整所述内存的内存容量。
可选地,在所述确定所述服务器是否正常启动之后,还包括:
响应于所述服务器正常启动,结束内存初始化流程。
第二方面,本申请实施例提供了一种内存容量调整装置,应用于BIOS,所述装置包括:
SPD数据读取模块,用于从所述BIOS的BIOS镜像内读取预留的目标内存的SPD数据,所述目标内存为未设置SPD控制器的物理内存;
内存容量调整模块,用于基于所述目标内存的SPD数据,调整所述目标内存的内存容量。
可选地,所述装置还包括:
SPD数据获取模块,用于获取多种类型内存的SPD数据,所述多种类型内存包括所述目标内存;
数据结构体建立模块,用于在所述BIOS镜像内建立每个内存参数对应的数据结构体;
SPD数据存储模块,用于根据每种类型内存的内存参数,将每种类型内存的所述SPD数据存储于对应的数据结构体中;
数据结构体存储模块,用于将每种类型内存的数据结构体存储于每种类型内存对应的存储地址内。
可选地,所述SPD数据存储模块包括:
内存容量参数获取单元,用于获取用户设置的每种类型内存的内存容量参数;
新SPD数据生成单元,用于基于所述内存容量参数替换所述每种类型内存的SPD数据中的原始内存容量参数,生成所述每种类型内存的新的SPD数据;
SPD数据存储单元,用于将所述SPD数据和所述新的SPD数据分别存储于对应的数据结构体内,不同的SPD数据对应于不同的数据结构体。
可选地,所述SPD数据读取模块包括:
内存参数设置单元,用于在响应于服务器启动,所述BIOS进入初始化阶段之后,获取用户对所述目标内存设置的内存容量参数;
SPD数据读取单元,用于从所述BIOS镜像内读取所述目标内存的与所述内存容量参数匹配的SPD数据。
可选地,所述SPD数据读取单元包括:
目标地址确定子单元,用于根据所述目标内存的内存类型,确定所述目标内存对应的目标存储地址;
SPD数据读取子单元,用于基于预设协议从所述目标存储地址内读取与所述内存容量参数匹配的SPD数据。
可选地,所述SPD数据读取子单元包括:
目标结构体获取子单元,用于获取所述内存容量参数对应的目标数据结构体;
SPD数据获取子单元,用于基于所述预设协议从所述目标存储地址内读取所述目标数据结构体内的与所述内存容量参数匹配的SPD数据。
可选地,所述内存容量调整模块包括:
SPD数据赋值单元,用于将所述目标内存的SPD数据赋值给所述目标内存;
内存容量调整单元,用于对所述目标内存进行初始化处理,以调整所述目标内存的内存容量。
可选地,所述装置还包括:
未初始化内存检查模块,用于在所述目标内存初始化完成之后,检查接入所述BIOS所属服务器的内存中是否存在未初始化的内存;
未初始化内存识别模块,用于在所述内存中存在未初始化的内存的情况下,依次识别所述内存中未初始化的内存;
内存初始化模块,用于从所述BIOS镜像内依次读取所述未初始化的内存的SPD数据,以依次对所述未初始化的内存进行初始化处理。
可选地,所述装置还包括:
正常启动确定模块,用于在检查到所述内存全部初始化完成之后,确定所述服务器是否正常启动;
内存重新初始化模块,用于响应于所述服务器未正常启动,对所述内存重新进行初始化处理。
可选地,所述内存重新初始化模块包括:
最小内存参数获取单元,用于获取预先设置的所述内存的最小内存参数;
目标SPD数据读取单元,用于从所述BIOS镜像内读取所述最小内存参数对应的目标SPD数据;
内存初始化单元,用于将所述目标SPD数据赋值给所述内存,并对所述内存进行初始化处理。
可选地,所述装置还包括:
内存SPD数据读取模块,用于响应于所述服务器正常启动,从所述BIOS镜像内依次读取所述内存的SPD数据;
内存调整模块,用于依次基于所述内存的SPD数据对所述内存进行初始化处理,以调整所述内存的内存容量。
可选地,所述装置还包括:
初始化流程结束模块,用于响应于所述服务器正常启动,结束内存初始化流程。
第三方面,本申请实施例提供了一种电子设备,包括:
存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述任一项所述的内存容量调整方法。
第四方面,本申请实施例提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任一项所述的内存容量调整方法。
在本申请实施例中,通过从所述BIOS的BIOS镜像内读取预留的目标内存的SPD数据,目标内存为未设置SPD控制器的物理内存。基于目标内存的SPD数据,调整目标内存的内存容量。本申请实施例通过将内存的SPD数据存储于BIOS镜像内,在服务器启动时,可以直接通过BIOS镜像中预留的SPD数据将其赋值给内存,从而可以实现无SPD控制器的内存容量调整,无需人工拆卸调整内存容量,从而避免内存频繁拆卸导致内存寿命下降的问题,降低了运维成本。同时,也可以避免同一内存厂商不同批次不同容量的内存接入服务器导致服务器无法开机的问题。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种内存容量调整方法的步骤流程图;
图2为本申请实施例提供的一种SPD数据存储方法的步骤流程图;
图3为本申请实施例提供的另一种SPD数据存储方法的步骤流程图;
图4为本申请实施例提供的一种SPD数据读取方法的步骤流程图;
图5为本申请实施例提供的另一种SPD数据读取方法的步骤流程图;
图6为本申请实施例提供的又一种SPD数据读取方法的步骤流程图;
图7为本申请实施例提供的另一种内存容量调整方法的步骤流程图;
图8为本申请实施例提供的一种内存初始化方法的步骤流程图;
图9为本申请实施例提供的另一种内存初始化方法的步骤流程图;
图10为本申请实施例提供的又一种内存初始化方法的步骤流程图;
图11为本申请实施例提供的又一种内存调整方法的步骤流程图;
图12为本申请实施例提供的一种服务器内存物理链接的示意图;
图13为本申请实施例提供的一种服务器启动流程的示意图;
图14为本申请实施例提供的一种硬件结构的示意图;
图15为本申请实施例提供的一种内存容量调整装置的结构示意图;
图16为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参照图1,示出了本申请实施例提供的一种内存容量调整方法的步骤流程图,该内存容量调整方法可以应用于BIOS。如图1所示,该内存容量调整方法可以包括:步骤101和步骤102。
步骤101:从所述BIOS的BIOS镜像内读取预留的目标内存的SPD数据,所述目标内存为未设置SPD控制器的物理内存。
本申请实施例可以应用于对无SPD控制器的内存进行内存容量的动态调整的场景中。
本申请实施例可以应用于BIOS,即执行主体为BIOS。
在具体实现中,可以预先将内存的SPD数据存储于BIOS的BIOS镜像内,从而无需在内存中内置SPD控制器。对于SPD数据的存储过程可以结合图2进行如下详细描述。
参照图2,示出了本申请实施例提供的一种SPD数据存储方法的步骤流程图。如图2所示,该SPD数据存储方法可以包括:步骤201、步骤202、步骤203和步骤204。
步骤201:获取多种类型内存的SPD数据,所述多种类型内存包括所述目标内存。
在本实施例中,在进行SPD的数据存储时,可以获取多种类型内存的SPD数据,其中,多种类型内存可以包括目标内存。
在实际应用中,多种类型内存可以包括:不同内存生产商的不同型号不同内存容量的内存。
在进行SPD数据的存储时,可以获取多种类型内存的SPD数据。多种类型内存的SPD数据可以是内存生产厂商在生产内存时定义的SPD数据。
在获取到多种类型内存的SPD数据之后,执行步骤202。
步骤202:在所述BIOS镜像内建立每个内存参数对应的数据结构体。
在本示例中,数据结构体是指一种用于存储数据的数据结构,在C语言中,数据结构体是C语言中聚合数据类型的一类,数据结构体可以声明为变量、指针或数组等,用以实现复杂的数据结构。数据结构体同时也是一些元素的集合,这些元素称为结构体的成员。在本示例中,可以将SPD数据作为数据结构体的成员,以进行存储。
在获取到多种类型内存的SPD数据之后,则可以在BIOS镜像内建立每个内存参数对应的数据结构体。在本示例中,一种内存参数的SPD数据对应于一个数据结构体。
在BIOS镜像内建立每个内存参数对应的数据结构体之后,执行步骤203。
步骤203:根据每种类型内存的内存参数,将每种类型内存的所述SPD数据存储于对应的数据结构体中。
在BIOS镜像内建立每个内存参数对应的数据结构体之后,则可以将每种类型内存的内存参数,将每种类型内存的SPD数据存储于对应的数据结构体中。
步骤204:将每种类型内存的数据结构体存储于每种类型内存对应的存储地址内。
进而,可以将每种类型内存的数据结构体存储于每种类型内存对应的存储地址内。在具体实现中,存储地址可以为I2C地址,每种类型内存可以对应于一个I2C地址,在一个I2C地址内可以存储多个数据结构体。如图12所示,内存0对应的SPD地址可以包括:CPU0下的SPD地址A0、SPD地址A2、SPD地址A4、SPD地址A6,以及SPD地址B0、SPD地址B2、SPD地址B4、SPD地址B6。与CPU1下的SPD地址C0、SPD地址C2、SPD地址C4、SPD地址C6,以及SPD地址D0、SPD地址D2、SPD地址D4、SPD地址D6等等。CPU可以通过I2C协议从SPD地址内读取相应的SPD数据。
本申请实施例通过将不同类型的SPD数据存储于BIOS镜像内,从而在将SPD控制器从内存中移除之后,也可以实现对内存的内存容量的动态调整。
在本实施例中,除了内存生产厂商定义的内存的SPD数据之外,用户还可以对不同内存设置相应的内存容量参数,并替换获取的SPD数据的原始内存容量参数,生成新的SPD数据并进行存储。对于该实现过程可以结合图3进行如下详细描述。
参照图3,示出了本申请实施例提供的另一种SPD数据存储方法的步骤流程图。如图3所示,该SPD数据存储方法可以包括:步骤301、步骤302和步骤303。
步骤301:获取用户设置的每种类型内存的内存容量参数。
在本申请实施例中,在获取到多种类型内存的SPD数据之后,可以由用户设置每种类型内存的内存容量参数。
在具体实现中,用户针对每种类型内存可以设置一种内存容量参数,也可以设置多种内存容量参数,具体地,可以根据业务需求而定,本实施例对此不加以限制。
在获取到用户设置的每种类型内存的内存容量参数之后,执行步骤302。
步骤302:基于所述内存容量参数替换所述每种类型内存的SPD数据中的原始内存容量参数,生成所述每种类型内存的新的SPD数据。
在获取到用户设置的每种类型内存的内存容量参数之后,则可以基于内存容量参数替换每种类型内存的SPD数据中的原始内存容量参数,以生成每种类型内存的新的SPD数据。
步骤303:将所述SPD数据和所述新的SPD数据分别存储于对应的数据结构体内,不同的SPD数据对应于不同的数据结构体。
进而,可以在每种类型内存对应的存储地址内创建新的SPD数据对应的数据结构体,然后,将SPD数据和新的SPD数据分别存储于对应的数据结构体内,且,不同的SPD数据对应于不同的数据结构体。
在本实施例中,用户可以自定义内存的内存容量参数,从而可以便于后续对内存按需进行内存容量调整,以根据用户实际需求对物理内存进行设置,以动态调整服务器的内存容量,以满足客户的实际业务需求。
在完成上述SPD数据的存储之后,在对目标内存进行初始化时,则可以从BIOS的BIOS镜像内读取预留的目标内存的SPD数据,该目标内存即为未设置SPD控制器的物理内存。在具体实现中,在BIOS进入初始化阶段之后,可以由用户设置目标内存的内存容量参数,进而,可以从BIOS镜像内读取与该内存容量参数匹配的SPD数据。对于该实现过程可以结合图4进行如下详细描述。
参照图4,示出了本申请实施例提供的一种SPD数据读取方法的步骤流程图。如图4所示,该SPD数据读取方法可以包括:步骤401和步骤402。
步骤401:在响应于服务器启动,所述BIOS进入初始化阶段之后,获取用户对所述目标内存设置的内存容量参数。
在本申请实施例中,在服务器开机启动之后,则BIOS可以启动进入初始化阶段,如图14所示,服务器启动之后,BIOS开始进行内存初始化。此时,可以显示BIOS界面,用户可以在BIOS界面内设置对目标内存的内存容量参数,即用户设置目标内存所需调整的内存容量。
在获取到用户对目标内存设置的内存容量参数之后,执行步骤402。
步骤402:从所述BIOS镜像内读取所述目标内存的与所述内存容量参数匹配的SPD数据。
在获取到用户对目标内存设置的内存容量参数之后,则可以从BIOS镜像内读取目标内存的与内存容量参数匹配的SPD数据,该SPD数据内即包含了用户设置的内存容量参数。如图14所示,BIOS可以通过I2C协议读取内存SPD数据,首先,BIOS可以获取内存容量选项预设值。并按照预设值读取BIOS的预设SPD数据。
本申请实施例通过用户自定义目标内存的内存容量参数,可以实现目标内存的内存容量按照用户实际需求进行设置,满足了用户的实际业务需求。
在具体实现中,在读取与内存容量参数匹配的SPD数据时,可以获取目标内存所对应的存储地址,进而,可以从该存储地址内读取相应的SPD数据。对于该实现过程可以结合图5进行如下详细描述。
参照图5,示出了本申请实施例提供的另一种SPD数据读取方法的步骤流程图。如图5所示,该SPD数据读取方法可以包括:步骤501和步骤502。
步骤501:根据所述目标内存的内存类型,确定所述目标内存对应的目标存储地址。
在本实施例中,在获取到用户设置的目标内存的内存容量参数之后,则可以根据目标内存的内存类型,确定目标内存对应的目标存储地址,即在目标存储地址内存储有目标内存的至少一种SPD数据。
在根据目标内存的内存类型确定出目标内存对应的目标存储地址之后,执行步骤502。
步骤502:基于预设协议从所述目标存储地址内读取与所述内存容量参数匹配的SPD数据。
在根据目标内存的内存类型确定出目标内存对应的目标存储地址之后,则可以基于预设协议从目标存储地址内读取与内存容量参数匹配的SPD数据。在本示例中,目标存储地址可以为I2C地址,预设协议为I2C协议,在确定目标存储地址之后,则可以基于I2C协议从I2C地址内读取与内存容量参数匹配的SPD数据。
在具体实现中,在确定出目标内存对应的目标存储地址之后,还可以根据内存容量参数确定对应的目标数据结构体,从而可以从目标内存的目标数据结构体内读取相应的SPD数据。对于该实现过程可以结合图6进行如下详细描述。
参照图6,示出了本申请实施例提供的又一种SPD数据读取方法的步骤流程图。如图6所示,该SPD数据读取方法可以包括:步骤601和步骤602。
步骤601:获取所述内存容量参数对应的目标数据结构体。
在本申请实施例中,在获取到用户设置的目标内存的内存容量参数之后,可以获取内存容量参数对应的目标数据结构体,可以理解地,由于每种SPD数据对应相应的数据结构体,BIOS可以预先记录这种对应关系。进而,在获取到用户设置的目标内存的内存容量参数之后,即可以根据该对应关系,确定内存容量参数所对应的目标数据结构体。
在获取到内存容量参数对应的目标数据结构体之后,执行步骤602。
步骤602:基于所述预设协议从所述目标存储地址内读取所述目标数据结构体内的与所述内存容量参数匹配的SPD数据。
在获取到内存容量参数对应的目标数据结构体之后,则可以基于预设协议从目标存储地址内读取目标数据结构体内的与内存容量参数匹配的SPD数据。
本申请实施例通过预先对每个内存设置相应的存储地址,并对该内存的不同的SPD数据设计相应的数据结构体,从而可以在获取到用户设置的内存容量参数之后,可以快速读取到相应的SPD数据,提高了数据读取的效率,从而可以提高内存初始化的效率。
在从BIOS的BIOS镜像内读取预留的目标内存的SPD数据之后,执行步骤102。
步骤102:基于所述目标内存的SPD数据,调整所述目标内存的内存容量。
在从BIOS的BIOS镜像内读取预留的目标内存的SPD数据之后,则可以基于目标内存的SPD数据,调整目标内存的内存容量。具体地内存容量调整过程可以结合图7进行如下详细描述。
参照图7,示出了本申请实施例提供的另一种内存容量调整方法的步骤流程图。如图7所示,该内存容量调整方法可以包括:步骤701和步骤702。
步骤701:将所述目标内存的SPD数据赋值给所述目标内存。
在本实施例中,在从BIOS镜像内读取到目标内存的SPD数据之后,则可以将目标内存的SPD数据赋值给目标内存。如图14所示,BIOS可以将BIOS内置SPD数据赋值给内存并初始化。
步骤702:对所述目标内存进行初始化处理,以调整所述目标内存的内存容量。
进而,可以对目标内存进行初始化处理,以调整目标内存的内存容量。
本申请实施例通过将内存的SPD数据存储于BIOS镜像内,在服务器启动时,可以直接通过BIOS镜像中预留的SPD数据将其赋值给内存,从而可以实现无SPD控制器的内存容量调整,无需人工拆卸调整内存容量,从而避免内存频繁拆卸导致内存寿命下降的问题,降低了运维成本。同时,也可以避免同一内存厂商不同批次不同容量的内存接入服务器导致服务器无法开机的问题。
在具体实现中,在目标内存初始化完成之后,还可以检查接入BIOS所属服务器的内存中是否存在未初始化的内存,若存在,则可以针对未初始化的内存依次进行初始化处理。对于该实现过程可以结合图8进行如下详细描述。
参照图8,示出了本申请实施例提供的一种内存初始化方法的步骤流程图。如图8所示,该内存初始化方法可以包括:步骤801、步骤802和步骤803。
步骤801:在所述目标内存初始化完成之后,检查接入所述BIOS所属服务器的内存中是否存在未初始化的内存。
在本申请实施例中,在目标内存初始化完成之后,则可以检查接入BIOS所属服务器的内存中是否存在未初始化的内存。如图14所示,在当前内存初始化完成之后,可以判断全部内存初始化是否已完成,若否,则初始化下一个内存,按照上述SPD数据的读取、赋值过程对下一个内存进行初始化,直至全部内存初始化完成。
步骤802:在所述内存中存在未初始化的内存的情况下,依次识别所述内存中未初始化的内存。
在接入BIOS所属服务器的内存中存在未初始化的内存时,则可以依次识别接入BIOS所属服务器的内存中未初始化的内存。
步骤803:从所述BIOS镜像内依次读取所述未初始化的内存的SPD数据,以依次对所述未初始化的内存进行初始化处理。
进而,可以从BIOS镜像内依次读取未初始化的内存的SPD数据,以依次对未初始化的内存进行初始化处理。例如,未初始化的内存包括:内存1、内存2和内存3,那么,可以先从BIOS镜像内读取内存1的SPD数据,以赋值给内存1,并对内存1进行初始化。然后,可以从BIOS镜像内读取内存2的SPD数据,以赋值给内存2,并对内存2进行初始化。最后,从BIOS镜像内读取内存3的SPD数据,以赋值给内存3,并对内存3进行初始化等。
可以理解地,上述示例仅是为了更好地理解本申请实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
本申请实施例通过对所有内存是否初始化完成进行检查并依次进行初始化处理,可以完成所有内存的初始化,避免存在内存未初始化导致无法正常开机的情况出现。
在具体实现中,若检查到服务器内的所有内存均初始化完成,则可以确定服务器是否正常启动。若服务器正常启动,则结束内存初始化流程,正常开机即可。若服务器未正常启动,则可以对内存重新进行初始化处理。对于该实现过程结合图9进行如下详细描述。
参照图9,示出了本申请实施例提供的另一种内存初始化方法的步骤流程图。如图9所示,该内存初始化方法可以包括:步骤901和步骤902。
步骤901:在检查到所述内存全部初始化完成之后,确定所述服务器是否正常启动。
在本实施例中,在检查到接入服务器的所有内存全部初始化完成之后,则服务器继续启动,并由BIOS判断服务器是否能正常启动。
若服务器未正常启动,则执行步骤902。
步骤902:响应于所述服务器未正常启动,对所述内存重新进行初始化处理。
在确定服务器未正常启动时,可以响应于服务器未正常启动,以对内存重新进行初始化处理。即对接入服务器的所有内存均重新进行初始化。
在本示例中,可以获取所有内存的最小内存参数,并结合最小内存参数对应的SPD数据对所有内存进行重新初始化。对于该实现过程可以结合图10进行如下详细描述。
参照图10,示出了本申请实施例提供的又一种内存初始化方法的步骤流程图。如图10所示,该内存初始化方法可以包括:步骤1001、步骤1002和步骤1003。
步骤1001:获取预先设置的所述内存的最小内存参数。
在本实施例中,在确定服务器未正常启动时,则可以获取预先设置的接入服务器的内存的最小内存参数。
可以理解地,最小内存参数可以是由内存生产厂商生产内存时设置的参数。
在获取到预先设置的内存的最小内存参数之后,执行步骤1002。
步骤1002:从所述BIOS镜像内读取所述最小内存参数对应的目标SPD数据。
在获取到预先设置的内存的最小内存参数之后,则可以从BIOS镜像内读取最小内存参数对应的目标SPD数据。
步骤1003:将所述目标SPD数据赋值给所述内存,并对所述内存进行初始化处理。
进而,可以将目标SPD数据赋值给内存,并对内存进行初始化处理,然后服务器继续启动。如图14所示,若服务器正常启动,则内存初始化完成,服务器正常启动即可。若服务器未正常启动,则重新初始化并加载最小容量的SPD数据。
本申请实施例通过在服务器无法正常启动时,依据最小内存参数的SPD数据对内存重新进行初始化,可以解决内存容量调整后服务器无法正常启动的问题。
在一种具体实现中,在对内存重新初始化,并且服务器正常启动之后,可以不对内存的内存容量进行调整,即结束内存容量调整的流程。
在另一种具体实现中,在对内存重新初始化,并且服务器正常启动之后,用户可以设置内存参数,以对内存的内存容量进行调整。对于该实现过程可以结合图11进行如下详细描述。
参照图11,示出了本申请实施例提供的又一种内存调整方法的步骤流程图。如图11所示,该内存调整方法可以包括:步骤1101和步骤1102。
步骤1101:响应于所述服务器正常启动,从所述BIOS镜像内依次读取所述内存的SPD数据。
在本实施例中,在对内存重新初始化,且服务器正常启动之后,则可以响应于服务器正常启动,从所述BIOS镜像内依次读取内存的SPD数据。具体地,可以由用户再次设置内存的内存容量参数,然后从BIOS镜像内读取内存容量参数对应的SPD数据。
步骤1102:依次基于所述内存的SPD数据对所述内存进行初始化处理,以调整所述内存的内存容量。
进而,可以依次基于内存的SPD数据对内存进行初始化处理,以调整内存的内存容量。
本申请实施例通过在服务器启动之后,按照SPD数据对内存的容量进行调整,可以实现内存容量的动态调整。
对于上述实现过程可以结合图13进行如下完整性描述。
如图13所示,在服务器启动之后,BIOS内存初始化开始。首先,BIOS通过I2C协议去读取内存I2C地址的SPD数据。在BIOS读取SPD数据时,先获取BIOS界面内存容量选项对内存容量的设置参数,即内存容量选项预设值。进而,BIOS获取BIOS选项内存参数设置后,将根据参数对应的SPD数据进行读取。 BIOS按照BIOS选项的设置获取BIOS预设的SPD数据参数后,将参数赋值给此时识别的内存并对该内存进行初始化。当BIOS识别的内存条已初始化完毕后,再去读取下一个内存的参数并进行初始化。在所有的内存初始化完成后,服务器继续启动;若初始化完毕后服务器无法继续启动,则重新初始化内存并将内存参数设置为最小值设置且忽略BIOS内存容量选项设置值。
本申请实施例提供的内存容量调整方法,通过从所述BIOS的BIOS镜像内读取预留的目标内存的SPD数据,目标内存为未设置SPD控制器的物理内存。基于目标内存的SPD数据,调整目标内存的内存容量。本申请实施例通过将内存的SPD数据存储于BIOS镜像内,在服务器启动时,可以直接通过BIOS镜像中预留的SPD数据将其赋值给内存,从而可以实现无SPD控制器的内存容量调整,无需人工拆卸调整内存容量,从而避免内存频繁拆卸导致内存寿命下降的问题,降低了运维成本。同时,也可以避免同一内存厂商不同批次不同容量的内存接入服务器导致服务器无法开机的问题。
参照图15,示出了本申请实施例提供的一种内存容量调整装置的结构示意图,该内存容量调整装置可以应用于BIOS。如图15所示,该内存容量调整装置1500可以包括以下模块:
SPD数据读取模块1510,用于从所述BIOS的BIOS镜像内读取预留的目标内存的SPD数据,所述目标内存为未设置SPD控制器的物理内存;
内存容量调整模块1520,用于基于所述目标内存的SPD数据,调整所述目标内存的内存容量。
可选地,所述装置还包括:
SPD数据获取模块,用于获取多种类型内存的SPD数据,所述多种类型内存包括所述目标内存;
数据结构体建立模块,用于在所述BIOS镜像内建立每个内存参数对应的数据结构体;
SPD数据存储模块,用于根据每种类型内存的内存参数,将每种类型内存的所述SPD数据存储于对应的数据结构体中;
数据结构体存储模块,用于将每种类型内存的数据结构体存储于每种类型内存对应的存储地址内。
可选地,所述SPD数据存储模块包括:
内存容量参数获取单元,用于获取用户设置的每种类型内存的内存容量参数;
新SPD数据生成单元,用于基于所述内存容量参数替换所述每种类型内存的SPD数据中的原始内存容量参数,生成所述每种类型内存的新的SPD数据;
SPD数据存储单元,用于将所述SPD数据和所述新的SPD数据分别存储于对应的数据结构体内,不同的SPD数据对应于不同的数据结构体。
可选地,所述SPD数据读取模块包括:
内存参数设置单元,用于在响应于服务器启动,所述BIOS进入初始化阶段之后,获取用户对所述目标内存设置的内存容量参数;
SPD数据读取单元,用于从所述BIOS镜像内读取所述目标内存的与所述内存容量参数匹配的SPD数据。
可选地,所述SPD数据读取单元包括:
目标地址确定子单元,用于根据所述目标内存的内存类型,确定所述目标内存对应的目标存储地址;
SPD数据读取子单元,用于基于预设协议从所述目标存储地址内读取与所述内存容量参数匹配的SPD数据。
可选地,所述SPD数据读取子单元包括:
目标结构体获取子单元,用于获取所述内存容量参数对应的目标数据结构体;
SPD数据获取子单元,用于基于所述预设协议从所述目标存储地址内读取所述目标数据结构体内的与所述内存容量参数匹配的SPD数据。
可选地,所述内存容量调整模块包括:
SPD数据赋值单元,用于将所述目标内存的SPD数据赋值给所述目标内存;
内存容量调整单元,用于对所述目标内存进行初始化处理,以调整所述目标内存的内存容量。
可选地,所述装置还包括:
未初始化内存检查模块,用于在所述目标内存初始化完成之后,检查接入所述BIOS所属服务器的内存中是否存在未初始化的内存;
未初始化内存识别模块,用于在所述内存中存在未初始化的内存的情况下,依次识别所述内存中未初始化的内存;
内存初始化模块,用于从所述BIOS镜像内依次读取所述未初始化的内存的SPD数据,以依次对所述未初始化的内存进行初始化处理。
可选地,所述装置还包括:
正常启动确定模块,用于在检查到所述内存全部初始化完成之后,确定所述服务器是否正常启动;
内存重新初始化模块,用于响应于所述服务器未正常启动,对所述内存重新进行初始化处理。
可选地,所述内存重新初始化模块包括:
最小内存参数获取单元,用于获取预先设置的所述内存的最小内存参数;
目标SPD数据读取单元,用于从所述BIOS镜像内读取所述最小内存参数对应的目标SPD数据;
内存初始化单元,用于将所述目标SPD数据赋值给所述内存,并对所述内存进行初始化处理。
可选地,所述装置还包括:
内存SPD数据读取模块,用于响应于所述服务器正常启动,从所述BIOS镜像内依次读取所述内存的SPD数据;
内存调整模块,用于依次基于所述内存的SPD数据对所述内存进行初始化处理,以调整所述内存的内存容量。
可选地,所述装置还包括:
初始化流程结束模块,用于响应于所述服务器正常启动,结束内存初始化流程。
本申请实施例提供的内存容量调整装置,通过从所述BIOS的BIOS镜像内读取预留的目标内存的SPD数据,目标内存为未设置SPD控制器的物理内存。基于目标内存的SPD数据,调整目标内存的内存容量。本申请实施例通过将内存的SPD数据存储于BIOS镜像内,在服务器启动时,可以直接通过BIOS镜像中预留的SPD数据将其赋值给内存,从而可以实现无SPD控制器的内存容量调整,无需人工拆卸调整内存容量,从而避免内存频繁拆卸导致内存寿命下降的问题,降低了运维成本。同时,也可以避免同一内存厂商不同批次不同容量的内存接入服务器导致服务器无法开机的问题。
另外地,本申请实施例还提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述内存容量调整方法。
图16示出了本发明实施例的一种电子设备1600的结构示意图。如图16所示,电子设备1600包括中央处理单元(CPU)1601,其可以根据存储在只读存储器(ROM)1602中的计算机程序指令或者从存储单元1608加载到随机访问存储器(RAM)1603中的计算机程序指令,来执行各种适当的动作和处理。在RAM1603中,还可存储电子设备1600操作所需的各种程序和数据。CPU1601、ROM1602以及RAM1603通过总线1604彼此相连。输入/输出(I/O)接口1605也连接至总线1604。
电子设备1600中的多个部件连接至I/O接口1605,包括:输入单元1606,例如键盘、鼠标、麦克风等;输出单元1607,例如各种类型的显示器、扬声器等;存储单元1608,例如磁盘、光盘等;以及通信单元1609,例如网卡、调制解调器、无线通信收发机等。通信单元1609允许电子设备1600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,可由处理单元1601执行。例如,上述任一实施例的方法可被实现为计算机软件程序,其被有形地包含于计算机可读介质,例如存储单元1608。在一些实施例中,计算机程序的部分或者全部可以经由ROM1602和/或通信单元1609而被载入和/或安装到电子设备1600上。当计算机程序被加载到RAM1603并由CPU1601执行时,可以执行上文描述的方法中的一个或多个动作。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述内存容量调整方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (15)

1.一种内存容量调整方法,其特征在于,应用于BIOS,所述方法包括:
从所述BIOS的BIOS镜像内读取预留的目标内存的SPD数据,所述目标内存为未设置SPD控制器的物理内存;
基于所述目标内存的SPD数据,调整所述目标内存的内存容量。
2.根据权利要求1所述的方法,其特征在于,在所述从所述BIOS的BIOS镜像内读取预留的目标内存的SPD数据之前,还包括:
获取多种类型内存的SPD数据,所述多种类型内存包括所述目标内存;
在所述BIOS镜像内建立每个内存参数对应的数据结构体;
根据每种类型内存的内存参数,将每种类型内存的所述SPD数据存储于对应的数据结构体中;
将每种类型内存的数据结构体存储于每种类型内存对应的存储地址内。
3.根据权利要求2所述的方法,其特征在于,所述根据每种类型内存的内存参数,将每种类型内存的所述SPD数据存储于对应的数据结构体中,包括:
获取用户设置的每种类型内存的内存容量参数;
基于所述内存容量参数替换所述每种类型内存的SPD数据中的原始内存容量参数,生成所述每种类型内存的新的SPD数据;
将所述SPD数据和所述新的SPD数据分别存储于对应的数据结构体内,不同的SPD数据对应于不同的数据结构体。
4.根据权利要求1所述的方法,其特征在于,所述从所述BIOS的BIOS镜像内读取预留的目标内存的SPD数据,包括:
在响应于服务器启动,所述BIOS进入初始化阶段之后,获取用户对所述目标内存设置的内存容量参数;
从所述BIOS镜像内读取所述目标内存的与所述内存容量参数匹配的SPD数据。
5.根据权利要求4所述的方法,其特征在于,所述从所述BIOS镜像内读取所述目标内存的与所述内存容量参数匹配的SPD数据,包括:
根据所述目标内存的内存类型,确定所述目标内存对应的目标存储地址;
基于预设协议从所述目标存储地址内读取与所述内存容量参数匹配的SPD数据。
6.根据权利要求5所述的方法,其特征在于,所述基于预设协议从所述目标存储地址内读取与所述内存容量参数匹配的SPD数据,包括:
获取所述内存容量参数对应的目标数据结构体;
基于所述预设协议从所述目标存储地址内读取所述目标数据结构体内的与所述内存容量参数匹配的SPD数据。
7.根据权利要求1所述的方法,其特征在于,所述基于所述目标内存的SPD数据,调整所述目标内存的内存容量,包括:
将所述目标内存的SPD数据赋值给所述目标内存;
对所述目标内存进行初始化处理,以调整所述目标内存的内存容量。
8.根据权利要求1所述的方法,其特征在于,在所述基于所述目标内存的SPD数据,调整所述目标内存的内存容量之后,还包括:
在所述目标内存初始化完成之后,检查接入所述BIOS所属服务器的内存中是否存在未初始化的内存;
在所述内存中存在未初始化的内存的情况下,依次识别所述内存中未初始化的内存;
从所述BIOS镜像内依次读取所述未初始化的内存的SPD数据,以依次对所述未初始化的内存进行初始化处理。
9.根据权利要求8所述的方法,其特征在于,在所述检查接入所述BIOS所属服务器的内存中是否存在未初始化的内存之后,还包括:
在检查到所述内存全部初始化完成之后,确定所述服务器是否正常启动;
响应于所述服务器未正常启动,对所述内存重新进行初始化处理。
10.根据权利要求9所述的方法,其特征在于,所述对所述内存重新进行初始化处理,包括:
获取预先设置的所述内存的最小内存参数;
从所述BIOS镜像内读取所述最小内存参数对应的目标SPD数据;
将所述目标SPD数据赋值给所述内存,并对所述内存进行初始化处理。
11.根据权利要求9所述的方法,其特征在于,在所述对所述内存重新进行初始化处理之后,还包括:
响应于所述服务器正常启动,从所述BIOS镜像内依次读取所述内存的SPD数据;
依次基于所述内存的SPD数据对所述内存进行初始化处理,以调整所述内存的内存容量。
12.根据权利要求9所述的方法,其特征在于,在所述确定所述服务器是否正常启动之后,还包括:
响应于所述服务器正常启动,结束内存初始化流程。
13.一种内存容量调整装置,其特征在于,应用于BIOS,所述装置包括:
SPD数据读取模块,用于从所述BIOS的BIOS镜像内读取预留的目标内存的SPD数据,所述目标内存为未设置SPD控制器的物理内存;
内存容量调整模块,用于基于所述目标内存的SPD数据,调整所述目标内存的内存容量。
14.一种电子设备,其特征在于,包括:
存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至12中任一项所述的内存容量调整方法。
15.一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行权利要求1至12中任一项所述的内存容量调整方法。
CN202311629028.7A 2023-11-30 2023-11-30 一种内存容量调整方法、装置、电子设备及存储介质 Active CN117312183B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311629028.7A CN117312183B (zh) 2023-11-30 2023-11-30 一种内存容量调整方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311629028.7A CN117312183B (zh) 2023-11-30 2023-11-30 一种内存容量调整方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN117312183A true CN117312183A (zh) 2023-12-29
CN117312183B CN117312183B (zh) 2024-02-20

Family

ID=89260823

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311629028.7A Active CN117312183B (zh) 2023-11-30 2023-11-30 一种内存容量调整方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN117312183B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009199478A (ja) * 2008-02-25 2009-09-03 Hitachi Ltd メモリミラーリング自動構成制御方式
US9069717B1 (en) * 2012-03-06 2015-06-30 Inphi Corporation Memory parametric improvements
JP6835423B1 (ja) * 2019-11-21 2021-02-24 Necプラットフォームズ株式会社 情報処理システム及びその初期化方法
CN115687172A (zh) * 2022-10-26 2023-02-03 超聚变数字技术有限公司 内存初始化方法、计算机设备及存储介质
CN116955219A (zh) * 2023-09-13 2023-10-27 新华三信息技术有限公司 一种数据镜像方法、装置、主机及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009199478A (ja) * 2008-02-25 2009-09-03 Hitachi Ltd メモリミラーリング自動構成制御方式
US9069717B1 (en) * 2012-03-06 2015-06-30 Inphi Corporation Memory parametric improvements
JP6835423B1 (ja) * 2019-11-21 2021-02-24 Necプラットフォームズ株式会社 情報処理システム及びその初期化方法
CN115687172A (zh) * 2022-10-26 2023-02-03 超聚变数字技术有限公司 内存初始化方法、计算机设备及存储介质
CN116955219A (zh) * 2023-09-13 2023-10-27 新华三信息技术有限公司 一种数据镜像方法、装置、主机及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
刘龙;祝跃飞;张长河;: "Windows启动过程安全机制分析", 信息工程大学学报, no. 03 *
张祯;袁爱东;高剑刚;: "服务器内存数据保护技术浅析", 硅谷, no. 12 *
王晓箴;周振柳;刘宝旭;: "BIOS采样分析系统的设计与实现", 计算机工程, no. 11 *

Also Published As

Publication number Publication date
CN117312183B (zh) 2024-02-20

Similar Documents

Publication Publication Date Title
US8332490B2 (en) Method, apparatus and program product for provisioning a computer system
US20080294933A1 (en) Fail-over method, computer system, management server, and backup server setting method
CN110908770A (zh) 虚拟机的运行及创建方法、虚拟机及虚拟机化管理平台
US10372639B2 (en) System and method to avoid SMBus address conflicts via a baseboard management controller
CN110908753B (zh) 一种智能融合的云桌面服务器、客户端及系统
CN109874010B (zh) 一种摄像头模组的自动检测方法及系统
CN110096314B (zh) 一种接口初始化方法、装置、设备及计算机可读存储介质
WO2022134855A1 (zh) PCIe外插卡的带宽分配方法、装置、设备及存储介质
CN111124508A (zh) 一种调整网卡pxe启动顺序的方法和装置
CN115905094A (zh) 一种电子设备及其PCIe拓扑配置方法和装置
US20230229481A1 (en) Provisioning dpu management operating systems
CN117312183B (zh) 一种内存容量调整方法、装置、电子设备及存储介质
CN117687695A (zh) 信息处理方法、装置、电子设备及存储介质
CN111367735B (zh) 一种基于待测服务器和乌班图操作系统的测试方法及系统
CN116627472A (zh) 高速外围组件设备的固件程序升级方法及服务器
CN116886524A (zh) 一种预启动执行环境功能的配置方法、装置及服务器
CN115878327A (zh) 总线预留方法、装置、服务器、电子设备和存储介质
CN113468027B (zh) 监测器件地址管理方法及装置、基板管理控制器、设备
CN115454896A (zh) 基于smbus的ssd mctp控制消息验证方法、装置、计算机设备及存储介质
CN113918179A (zh) 一种Linux下主机和智能网卡协同自动安装OS的方法及系统
TW201328246A (zh) 雲端伺服系統的管理方法及管理系統
CN111694587A (zh) 服务器pnor固件升级方法、装置、设备及存储介质
CN117331723B (zh) 应用于arm服务器的arm安全固件配置方法及装置
CN116089020B (zh) 虚拟机运行方法、扩容方法、扩容系统
CN115291957B (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