CN113722242B - 内存配置方法、装置、电子设备及可读介质 - Google Patents

内存配置方法、装置、电子设备及可读介质 Download PDF

Info

Publication number
CN113722242B
CN113722242B CN202111017402.9A CN202111017402A CN113722242B CN 113722242 B CN113722242 B CN 113722242B CN 202111017402 A CN202111017402 A CN 202111017402A CN 113722242 B CN113722242 B CN 113722242B
Authority
CN
China
Prior art keywords
memory
parameter
memory parameter
configuration file
fixed
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
Application number
CN202111017402.9A
Other languages
English (en)
Other versions
CN113722242A (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.)
Loongson Technology Corp Ltd
Original Assignee
Loongson Technology Corp 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 Loongson Technology Corp Ltd filed Critical Loongson Technology Corp Ltd
Priority to CN202111017402.9A priority Critical patent/CN113722242B/zh
Publication of CN113722242A publication Critical patent/CN113722242A/zh
Application granted granted Critical
Publication of CN113722242B publication Critical patent/CN113722242B/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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供了一种内存配置方法、装置、电子设备及可读介质,该方法中,在电子设备的操作系统启动阶段,从内存参数配置文件中读取预先配置的固定内存参数,固定内存参数与电子设备相适配,固定内存参数为稳定性满足稳定性要求的内存参数,然后根据固定内存参数,对电子设备的内存进行配置。这样,通过直接使用预先配置的固定内存参数,可以避免每次启动时均重新进行内存参数训练的操作,进而可以避免由于本次启动训练出不稳定的内存参数导致内存不稳定的问题以及批量生产的板子中某些板子训练出的参数差异性较大的情况,因而降低了电子设备启动的不稳定性,还降低了批量生产的电子设备的调试成本。

Description

内存配置方法、装置、电子设备及可读介质
技术领域
本发明实施例涉及电子设备技术领域,尤其涉及一种内存配置方法、装置、电子设备及可读介质。
背景技术
目前,对于电子设备而言,内存对于电子设备中操作系统的正常运行起到决定性作用。为了确保电子设备的内存能够被正常访问,往往需要为内存配置内存参数。
现有技术中,往往是在操作系统每次启动时,基于预设的内存训练算法,重新训练一组内存参数,然后基于该内存参数进行内存配置。这种方式中,可能会因为环境、电子设备内部因素的干扰和/或硬件差异性,而导致在多次启动中可能会出现一或多次训练算法训练出的内存参数与该电子设备的适配性较低,而且/或者导致批量生产的电子设备中某些电子设备训练出的参数差异性较大,增加了电子设备启动的不稳定性。
发明内容
本发明实施例提供一种内存配置方法、装置、电子设备及可读介质,以解决相关技术中的问题。
第一方面,提供了一种内存配置方法,应用于电子设备,所述方法包括:
在所述电子设备的操作系统启动阶段,从内存参数配置文件中读取预先配置的固定内存参数;
根据所述固定内存参数,对所述电子设备进行内存配置;
其中,所述固定内存参数与所述电子设备相适配,所述固定内存参数的稳定性满足稳定性要求。
可选的,在所述电子设备的操作系统启动阶段,从内存参数配置文件中读取预先配置的固定内存参数之前,所述方法还包括:
执行固定内存参数设置操作;
其中,所述固定内存参数设置操作包括:
获取备选内存参数;
执行所述备选内存参数的稳定性测试操作,以确定所述备选内存参数的稳定性;
从所述备选内存参数中选择稳定性满足稳定性要求的备选内存参数,作为所述固定内存参数;
将所述固定内存参数存储至所述内存参数配置文件中。
可选的,所述获取备选内存参数,包括:
打开测试设备的固件代码中的第一宏定义,利用所述第一宏定义在所述测试设备的操作系统启动时输出训练出的内存参数,将所述内存参数作为备选内存参数,其中,所述测试设备与所述电子设备的设备配置相匹配。
可选的,所述执行所述备选内存参数的稳定性测试操作,以确定所述备选内存参数的稳定性,包括:
对于任一所述备选内存参数,对所述备选内存参数进行N次测试操作,其中,所述测试操作包括使用所述备选内存参数进行内存配置;
根据所述N次测试操作中测试失败的次数,确定所述备选内存参数的稳定性,其中,所述稳定性与所述测试失败的次数负相关。
可选的,在所述电子设备的操作系统启动阶段从内存参数配置文件中读取预先配置的固定内存参数之前,所述方法还包括:
在所述电子设备的固件代码中添加第二宏定义,所述第二宏定义用于禁止所述操作系统中的内存训练算法自动执行内存参数训练操作。
可选的,在所述将所述固定内存参数存储至所述内存参数配置文件中之后,所述方法还包括:
将所述内存参数配置文件中控制内存控制器初始化的第一参数修改为指定值,所述指定值用于指示所述内存参数配置文件中的固定内存参数已经过训练,所述电子设备直接读取所述内存参数配置文件中的固定内存参数;
所述从内存参数配置文件中读取预先配置的固定内存参数,包括:
检测所述第一参数的值是否为所述指定值;
在所述第一参数的值为所述指定值的情况下,对所述内存参数配置文件执行参数读取操作,以获取所述固定内存参数。
可选的,在所述将所述固定内存参数存储至所述内存参数配置文件中之后,所述方法还包括:
将所述内存参数配置文件中控制内存刷新频率的第二参数修改为目标刷新频率;
其中,所述内存刷新频率用于表征对所述内存中数据进行刷新的频率;所述目标刷新频率是根据所述电子设备中内存对应的颗粒信息确定的与所述内存相适配的刷新频率。
第二方面,提供了一种内存配置装置,应用于电子设备,所述装置包括:
读取模块,用于在所述电子设备的操作系统启动阶段,从内存参数配置文件中读取预先配置的固定内存参数,其中,所述固定内存参数与所述电子设备相适配,所述固定内存参数的稳定性满足稳定性要求;
配置模块,用于根据所述固定内存参数,对所述电子设备进行内存配置。
第三方面,提供了一种电子设备,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行所述内存配置方法。
第四方面,提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行所述内存配置方法。
本发明实施例中,在电子设备的操作系统启动阶段,从内存参数配置文件中读取预先配置的固定内存参数,固定内存参数与电子设备相适配,固定内存参数为稳定性满足稳定性要求的内存参数,然后根据固定内存参数,对电子设备的内存进行配置。这样,通过直接使用预先配置的固定内存参数,可以避免每次启动时均重新进行内存参数训练的操作,进而可以避免由于本次启动训练出不稳定的内存参数导致内存不稳定的问题以及批量生产的板子中某些板子训练出的参数差异性较大的情况,因而降低了电子设备启动的不稳定性,还降低了批量生产的电子设备的调试成本。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明实施例提供的一种内存配置方法的步骤流程图;
图2是本发明实施例提供的一种固定内存参数设置操作的步骤流程图;
图3是本发明实施例提供的一种确定备选内存参数的稳定性的步骤流程图;
图4是本发明实施例提供的一种获取备选内存参数的步骤流程图;
图5是本发明实施例提供的一种内存配置装置的结构框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
图1是本发明实施例提供的一种内存配置方法的步骤流程图,该方法可以应用于电子设备,如图1所示,该方法可以包括:
步骤101、在所述电子设备的操作系统启动阶段,从内存参数配置文件中读取预先配置的固定内存参数。
所述固定内存参数与所述电子设备相适配,所述固定内存参数的稳定性满足稳定性要求。
本发明实施例中,电子设备可以为手机、计算机、和/或平板电脑等计算设备。操作系统的启动阶段可以通过启动电子设备中的板卡开启。内存参数配置文件可以为用于存储固定内存参数的文件,该内存参数配置文件可以在对电子设备进行内存配置之前存储在存储器中。进一步地,固定内存参数可以是预先为电子设备设定的内存参数。其中,固定内存参数可以是通过实验预先确定并设定在电子设备中的,内存参数的具体种类可以根据实际情况设置,内存参数中可以包括用于表征电子设备中内存控制器的寄存器对应的寄存器值,例如,内存参数可以包括寄存器的地址及其对应的寄存器值。相较于每次在启动阶段训练获取内存参数的方式,本发明实施例中仅需直接读取设置好的固定内存参数,进而一定程度上降低内存参数的获取成本。
步骤102、根据所述固定内存参数,对所述电子设备进行内存配置。
本发明实施例中,固定内存参数可以用于控制内存控制器输出的读写时序以及控制时序,以达到稳定访存的目的。采用不同的内存参数配置的内存,可以使得读写时序以及控制时序不同。相应地,进行内存配置时,可以将固定内存参数写入电子设备的内存控制器。具体的,可以将从内存参数配置文件中读取到的固定内存参数写入操作系统的指定配置文件,电子设备的操作系统可以运行该指定配置文件,以实现将固定内存参数写入内存控制器,进而实现内存配置,完成操作系统的启动。
本发明实施例中,在电子设备的操作系统启动阶段,从内存参数配置文件中读取预先配置的固定内存参数,其中,该固定内存参数是与电子设备相适配且稳定性满足稳定性要求的内存参数。然后,根据固定内存参数,对电子设备的内存进行配置。这样,通过直接使用预先配置的固定内存参数,可以避免每次启动时均重新进行内存参数训练的操作,进而可以避免由于本次启动训练出不稳定的内存参数导致内存不稳定的问题以及批量生产的板卡中某些板卡训练出的参数差异性较大的情况,因而降低了电子设备启动的不稳定性,还降低了批量生产的电子设备的调试成本。
可选的,本发明的实施例可以通过在所述电子设备的操作系统启动阶段,从内存参数配置文件中读取预先配置的固定内存参数的操作之前,预先执行固定内存参数设置操作,实现设置固定内存参数,其中,该固定内存参数设置操作可以是在电子设备出厂前执行的。进一步地,图2是本发明实施例提供的一种固定内存参数设置操作的步骤流程图,如图2所示,该固定内存参数设置操作可以具体包括以下步骤:
步骤S11、获取备选内存参数。
本步骤中,可以通过预设的内存参数训练算法,训练出多组内存参数,然后输出这些内存参数,进而得到备选内存参数。
步骤S12、执行所述备选内存参数的稳定性测试操作,以确定所述备选内存参数的稳定性。
步骤S13、从所述备选内存参数中选择稳定性满足稳定性要求的备选内存参数,作为所述固定内存参数。
其中,稳定性要求可以是根据实际需求设置的。由于固定内存参数后续会被多次使用,因此,选择稳定性满足稳定性要求的备选内存参数,作为固定内存参数,一定程度上可以确保后续使用过程中的内存稳定性。
步骤S14、将所述固定内存参数存储至所述内存参数配置文件中。
本步骤中,内存参数配置文件可以是根据实际需求设定的,其中,所采用板卡的型号不同,内存参数配置文件可以不同。对于一种示例的板卡,内存参数配置文件中符号ddr3_reg_data下面的MC0_DDR3_CTRL_0x000到MC0_DDR3_CTRL_0x368均可以用于表征固定内存参数。
本发明实施例中,通过先获取备选内存参数,然后执行备选内存参数的稳定性测试操作,以确定备选内存参数的稳定性,从备选内存参数中选择稳定性满足稳定性要求的内存参数作为固定内存参数,并将固定内存参数存储至内存参数配置文件中。这样,一定程度上可以确保采用固定内存参数进行内存配置之后,内存能够被正常访问,进而确保内存配置效果,增强电子设备的稳定性。
可选的,图3是本发明实施例提供的一种确定备选内存参数的稳定性的步骤流程图,如图3所示,步骤S12执行所备选内存参数的稳定性测试操作,以确定所述备选内存参数的稳定性,可以具体包括:
步骤S12a、对于任一所述备选内存参数,对所述备选内存参数进行N次测试操作,其中,所述测试操作包括使用所述备选内存参数进行内存配置。
本步骤中,N的具体值可以根据实际需求设置,示例的,N可以为10。N次测试操作可以为压力测试中包含的测试操作。对于任一次测试操作,进行本次测试操作时,可以以该备选内存参数进行内存配置,如果配置成功且配置后的内存稳定运行预设时长,则可以确定该备选内存参数通过本次测试,本次测试成功。反之,则可以确定该备选内存参数未通过本次测试,本次测试失败。其中,预设时长可以是根据实际需求设置的,示例的,预设时长可以为60分钟。
步骤S12b、根据所述N次测试操作中测试失败的次数,确定所述备选内存参数的稳定性,其中,所述稳定性与所述测试失败的次数负相关。
本步骤中,可以先确定N次测试操作中测试失败的次数,测试失败的次数越大,说明该组备选内存参数的可靠性较低,运行时的稳定性较低;测试失败的次数越小,说明该组备选内存参数的可靠性较高,运行时的稳定性较高。相应地,可以基于稳定性与测试失败的次数负相关,为备选内存参数设置稳定性度量方案。示例的,可以采用预设函数确定备选内存参数的稳定性。该预设函数的因变量与自变量负相关,其中因变量为稳定性,自变量为次数。相应地,可以将N次测试操作中测试失败的次数输入预设函数,将预设函数的输出作为备选内存参数的稳定性。
相应地,在确定固定内存参数时,如果备选内存参数测试的结果为测试失败次数小于失败次数阈值,则可以说明该备选内存参数的稳定性达到稳定性要求,从而确定该备选内存参数通过压力测试,可以将该备选内存参数确定为固定内存参数。需要说明的是,在备选内存参数通过压力测试之后,还可以记录该备选内存参数,以便后续使用。本发明实施例中,通过多次测试,并基于测试失败的次数确定备选内存参数的稳定性,这样,在选择稳定性满足稳定性要求的备选内存参数作为固定内存参数的情况下,一定程度上可以降低后续使用固定内存参数进行内存配置时出现异常的概率,进而确保内存配置的可靠性。
可选的,图4是本发明实施例提供的一种获取备选内存参数的步骤流程图,如图4所示,步骤S11所述获取备选内存参数,可以具体包括:
步骤S11a、打开测试设备的固件代码中的第一宏定义,利用所述第一宏定义在所述测试设备的操作系统启动时输出训练出的内存参数,将所述内存参数作为备选内存参数,其中,所述测试设备与所述电子设备的设备配置相匹配。
本步骤中,测试设备可以为上述电子设备。当然,该测试设备也可以是与上述电子设备不同的设备,在该测试设备与上述电子设备不同的情况下,电子设备可以通过向该测试设备发送控制指令,以实现本步骤。同时,测试设备与电子设备的设备配置相匹配,可以是两者的硬件配置以及软件配置均相匹配,这样,可以确保从备选内存参数中测试确定的固定内存参数能够满足后续的使用需求。
第一宏定义可以是根据实际需求设置的,示例的,第一宏定义可以为设置在固件代码中的宏定义“PRINT_DDR_LEVELING”,该第一宏定义可以用于在测试设备的操作系统启动时输出每次训练算法训练完成后的内存参数,方便测试通过后记录。示例的,可以通过预先指定的串口,将内存参数发送至电子设备以实现输出,或者是,将内存参数打印输出至电子设备中预先指定的文档,以实现输出。进一步地,可以使用编译器对第一宏定义进行编译,然后将该编译后的第一宏定义烧录至测试设备的板卡中,这样,通过烧录操作,即可实现添加第一宏定义,一定程度上可以在为测试设备赋予输出训练出的内存参数的功能的同时,确保添加操作的效率。对于一种示例的板卡,在启动信息中可以包括内存参数的标号、地址以及内存参数与该地址对应的内存参数寄存器值。其中,地址以及该地址对应的内存参数寄存器值可以使用冒号“":"”隔开。标号的范围可以为0~368。示例的,预设标记“TheMC param after leveling is:”之后的内容,即为内存参数的标号、地址以及内存参数与该地址对应的内存参数寄存器值。内存参数每一位的具体含义可以通过阅读对应中央处理器(CPU)的相关文献获知。本发明实施例中,通过在与电子设备的设备配置相匹配的测试设备中烧录编译后的第一宏定义,使得训练出的内存参数被记录下来,以便进行后续的测试操作。同时,通过采用与电子设备的设备配置相匹配的测试设备,一定程度上可以确保基于测试设备设置的固定内存参数能够适配于电子设备。
可选的,本发明实施例中还可以在电子设备的操作系统启动阶段,从内存参数配置文件中读取预先配置的固定内存参数的操作之前,预先在所述电子设备的固件代码中添加第二宏定义,所述第二宏定义用于禁止所述操作系统中的内存训练算法自动执行内存参数训练操作。
具体的,第二宏定义可以根据实际需求设置,第二宏定义可以用于禁止内存训练算法自动计算内存参数,通过设置该第二宏定义,可以控制电子设备不会再进行内存训练,以便于后续直接采用内存参数配置文件中的固定内存参数,应用到内存控制器中。其中,在固件代码中添加第二宏定义的操作,可以是在内存初始化之前,例如电子设备出厂之前执行的。
本发明实施例中,通过对固件代码进行改动,即,在电子设备的固件代码中添加第二宏定义,可以避免执行不必要的内存参数训练操作,节省计算资源。同时,可以避免自动训练出内存参数,对电子设备造成干扰,导致内存参数读取错误的问题。进一步可以在确保电子设备兼容以往支持功能的同时,完善固件功能,提高固件体验。
可选的,本发明实施例中还可以在将固定内存参数存储至内存参数配置文件中之后,将所述内存参数配置文件中控制内存控制器初始化的第一参数修改为指定值,所述指定值用于指示所述内存参数配置文件中的固定内存参数已经过训练,所述电子设备直接读取所述内存参数配置文件中的固定内存参数。相应地,所述从内存参数配置文件中读取预先配置的固定内存参数的操作,可以包括:检测所述第一参数的值是否为所述指定值;在所述第一参数的值为所述指定值的情况下,对所述内存参数配置文件执行参数读取操作,以获取所述固定内存参数。其中,第一参数可以是用于控制内存控制器进行初始化,以向内存发起初始化,即,使用当前内存参数配置文件中的内存参数进行内存配置。只有该操作完成后电子设备的内存空间才可以被访问,否则,内存空间无法被外部访问。示例的,第一参数可以为修改内存参数配置文件中“MC0_DDR3_CTRL_0x018”后面的第一个字节位。指定值可以是根据实际需求定义的,示例的,指定值可以为0。因为禁用了内存训练算法,因此,通过将第一参数设置为指定值,可以确保后续能够正常进行内存配置,进而确保后续内存可以正常访问。
本发明实施例中,通过将内存参数配置文件中的第一参数设置为指定值,电子设备先检测第一参数的值是否为指定值,在第一参数的值为指定值的情况下,对内存参数配置文件执行参数读取操作,获取固定内存参数。这样,通过将第一参数设置为指定值,即可便捷的控制电子设备直接读取固定内存参数进行内存配置,进而可以避免由于内存训练算法的自动训练操作被禁止,导致内存配置流程出错的问题。
可选的,本发明实施例中还可以在将固定内存参数存储至内存参数配置文件中之后,包括以下步骤:
步骤S51、将所述内存参数配置文件中控制内存刷新频率的第二参数修改为目标刷新频率,其中,所述内存刷新频率用于表征对所述内存中数据进行刷新的频率;所述目标刷新频率是根据所述电子设备中内存对应的颗粒信息确定的与所述内存相适配的刷新频率。
其中,颗粒可以指的是内存的存储芯片。颗粒信息可以用于表征该电子设备中内存对应具体内存颗粒。由于不同存储芯片的制造工艺、材质等不同,因此会导致与内存相适配的刷新频率值不同。相应地,本发明实施例中,通过颗粒信息,确定与内存相适配的刷新频率,作为目标刷新频率,一定程度上可以确保目标刷新频率的适配性。示例的,由于ddr3颗粒的使用范围较大,因此,可以将目标刷新频率设置为“0x15”。
进一步地,在将内存的内存刷新频率设置为目标刷新频率时,可以是将“MC0_DDR3_CTRL_0x1c8”后面的参数字节的第31~24位表示的第二参数“tREF”修改为目标刷新频率,以实现设置。由于内存控制器的参数是从左到右依次为高位到低位,所以为了方便对应,将第二参数“tREF”按照从高位到低位的顺序表示。其中,该第二参数可以用于表征同一片选刷新操作之间的时间间隔,单位可以为256个时钟周期。
本发明实施例中,将内存参数配置文件中控制内存刷新频率的第二参数修改为根据电子设备中内存对应颗粒信息确定的与内存相适配的目标刷新频率值,可以使得内存刷新频率与电子设备的内存更加适配,进而可以避免由于内存刷新频率不适配,导致内存刷新频率过高或过低,进而降低内存稳定性的问题。
在一种现有实现方式中,在每次启动时,使用内存训练算法训练新的内存参数进行内存配置,这种方式中,可能会因为存在环境、电子设备内部因素的干扰和/或硬件差异性,而导致某次训练出的内存参数与该电子设备的适配性较低,存在较大偏差,进而会导致内存配置效果较差。例如,在一百次或者一千次启动中可能会有一到多次训练出的参数不匹配板卡,进而导致内存不稳定的现象,或者,在批量生产的板卡中某些板卡训练出的参数差异性较大,进而导致批量生产的板卡中会出现某些板卡内存不稳定的问题。
而本发明实施例中,通过预先获取稳定性足够的固定内存参数,将每次启动进行内存配置时使用的内存参数固定为预先设置的固定内存参数,一定程度上可以优化内存配置过程,提高内存稳定性。
图5是本发明实施例提供的一种内存配置装置的结构框图,如图5所示,该装置可以包括:
读取模块201,用于在所述电子设备的操作系统启动阶段,从内存参数配置文件中读取预先配置的固定内存参数,其中,所述固定内存参数与所述电子设备相适配,所述固定内存参数的稳定性满足稳定性要求;
配置模块202,用于根据所述固定内存参数,对所述电子设备进行内存配置。
可选的,所述装置还包括:
执行模块,用于执行固定内存参数设置操作;
其中,所述固定内存参数设置操作包括:
获取备选内存参数;
执行所述备选内存参数的稳定性测试操作,以确定所述备选内存参数的稳定性;
从所述备选内存参数中选择稳定性满足稳定性要求的备选内存参数,作为所述固定内存参数;
将所述固定内存参数存储至所述内存参数配置文件中。
可选的,所述执行模块,具体用于:打开测试设备的固件代码中的第一宏定义,利用所述第一宏定义在所述测试设备的操作系统启动时输出训练出的内存参数,将所述内存参数作为备选内存参数,其中,所述测试设备与所述电子设备的设备配置相匹配;执行所述备选内存参数的稳定性测试操作。
可选的,所述执行模块,还具体用于:对于任一所述备选内存参数,对所述备选内存参数进行N次测试操作,其中,所述测试操作包括使用所述备选内存参数进行内存配置;根据所述N次测试操作中测试失败的次数,确定所述备选内存参数的稳定性,其中,所述稳定性与所述测试失败的次数负相关。
可选的,所述装置还包括:
添加模块,用于在所述电子设备的固件代码中添加第二宏定义,所述第二宏定义用于禁止所述操作系统中的内存训练算法自动执行内存参数训练操作。
可选的,所述装置还包括:
第一修改模块,用于将所述内存参数配置文件中控制内存控制器初始化的第一参数修改为指定值,所述指定值用于指示所述内存参数配置文件中的固定内存参数已经过训练,所述电子设备直接读取所述内存参数配置文件中的固定内存参数;
所述读取模块201,具体用于:检测所述第一参数的值是否为所述指定值;在所述第一参数的值为所述指定值的情况下,对所述内存参数配置文件执行参数读取操作,以获取所述固定内存参数。
可选的,所述装置还包括:
第二修改模块,用于将所述内存参数配置文件中控制内存刷新频率的第二参数修改为目标刷新频率的数值,其中,所述内存刷新频率用于表征对所述内存中数据进行刷新的频率;所述目标刷新频率是根据所述电子设备中内存对应的颗粒信息确定的与所述内存相适配的刷新频率。
综上所述,本发明实施例提供的一种内存配置装置,在电子设备的操作系统启动阶段,从内存参数配置文件中读取预先配置的固定内存参数,固定内存参数与电子设备相适配,固定内存参数为稳定性满足稳定性要求的内存参数,然后根据固定内存参数,对电子设备的内存进行配置。这样,通过直接使用预先配置的固定内存参数,可以避免每次启动时均重新进行内存参数训练的操作,进而可以避免由于本次启动训练出不稳定的内存参数导致内存不稳定的问题以及批量生产的板子中某些板子训练出的参数差异性较大的情况,因而降低了电子设备启动的不稳定性,还降低了批量生产的电子设备的调试成本。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
优选的,本发明实施例还提供一种电子设备,包括一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行上述实施例提供的内存配置方法。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例提供的内存配置方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random AccessMemory,简称RAM)、磁碟或者光盘等。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域技术人员易于想到的是:上述各个实施例的任意组合应用都是可行的,故上述各个实施例之间的任意组合都是本发明的实施方案,但是由于篇幅限制,本说明书在此就不一一详述了。
在此提供的方法不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造具有本发明方案的系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的任意个模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序,可将这些单词解释为名称。

Claims (9)

1.一种内存配置方法,其特征在于,应用于电子设备,所述方法包括:
在所述电子设备的操作系统启动阶段,从内存参数配置文件中读取预先配置的固定内存参数,其中,在所述电子设备的操作系统启动阶段,从内存参数配置文件中读取预先配置的固定内存参数之前,还包括:将所述固定内存参数存储至所述内存参数配置文件中;
根据所述固定内存参数,对所述电子设备进行内存配置;
其中,所述固定内存参数与所述电子设备相适配,所述固定内存参数的稳定性满足稳定性要求;
在所述将所述固定内存参数存储至所述内存参数配置文件中之后,还包括:
将所述内存参数配置文件中控制内存控制器初始化的第一参数修改为指定值,所述指定值用于指示所述内存参数配置文件中的固定内存参数已经过训练,所述电子设备直接读取所述内存参数配置文件中的固定内存参数;
所述从内存参数配置文件中读取预先配置的固定内存参数,包括:检测所述第一参数的值是否为所述指定值;在所述第一参数的值为所述指定值的情况下,对所述内存参数配置文件执行参数读取操作,以获取所述固定内存参数。
2.根据权利要求1所述的方法,其特征在于,在所述将所述固定内存参数存储至所述内存参数配置文件中之前,还包括:
获取备选内存参数;
执行所述备选内存参数的稳定性测试操作,以确定所述备选内存参数的稳定性;
从所述备选内存参数中选择稳定性满足稳定性要求的备选内存参数,作为所述固定内存参数。
3.根据权利要求2所述的方法,其特征在于,所述获取备选内存参数,包括:
打开测试设备的固件代码中的第一宏定义,利用所述第一宏定义在所述测试设备的操作系统启动时输出训练出的内存参数,将所述内存参数作为备选内存参数,其中,所述测试设备与所述电子设备的设备配置相匹配。
4.根据权利要求2或3所述的方法,其特征在于,所述执行所述备选内存参数的稳定性测试操作,以确定所述备选内存参数的稳定性,包括:
对于任一所述备选内存参数,对所述备选内存参数进行N次测试操作,其中,所述测试操作包括使用所述备选内存参数进行内存配置;
根据所述N次测试操作中测试失败的次数,确定所述备选内存参数的稳定性,其中,所述稳定性与所述测试失败的次数负相关。
5.根据权利要求1或2所述的方法,其特征在于,在所述电子设备的操作系统启动阶段从内存参数配置文件中读取预先配置的固定内存参数之前,还包括:
在所述电子设备的固件代码中添加第二宏定义,所述第二宏定义用于禁止所述操作系统中的内存训练算法自动执行内存参数训练操作。
6.根据权利要求1所述的方法,其特征在于,在所述将所述固定内存参数存储至所述内存参数配置文件中之后,还包括:
将所述内存参数配置文件中控制内存刷新频率的第二参数修改为目标刷新频率;
其中,所述内存刷新频率用于表征对所述内存中数据进行刷新的频率;所述目标刷新频率是根据所述电子设备中内存对应的颗粒信息确定的与所述内存相适配的刷新频率。
7.一种内存配置装置,其特征在于,应用于电子设备,所述装置包括:
读取模块,用于在所述电子设备的操作系统启动阶段,从内存参数配置文件中读取预先配置的固定内存参数,其中,在所述电子设备的操作系统启动阶段,从内存参数配置文件中读取预先配置的固定内存参数之前,还包括:将所述固定内存参数存储至所述内存参数配置文件中;
配置模块,用于根据所述固定内存参数,对所述电子设备进行内存配置;
其中,所述固定内存参数与所述电子设备相适配,所述固定内存参数的稳定性满足稳定性要求;
所述装置还包括:第一修改模块,用于将所述内存参数配置文件中控制内存控制器初始化的第一参数修改为指定值,所述指定值用于指示所述内存参数配置文件中的固定内存参数已经过训练,所述电子设备直接读取所述内存参数配置文件中的固定内存参数;
所述读取模块,具体用于:检测所述第一参数的值是否为所述指定值;在所述第一参数的值为所述指定值的情况下,对所述内存参数配置文件执行参数读取操作,以获取所述固定内存参数。
8.一种电子设备,其特征在于,包括:
一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如权利要求1-6任一项所述的内存配置方法。
9.一个或多个机器可读介质,其特征在于,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-6任一项所述的内存配置方法。
CN202111017402.9A 2021-08-31 2021-08-31 内存配置方法、装置、电子设备及可读介质 Active CN113722242B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111017402.9A CN113722242B (zh) 2021-08-31 2021-08-31 内存配置方法、装置、电子设备及可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111017402.9A CN113722242B (zh) 2021-08-31 2021-08-31 内存配置方法、装置、电子设备及可读介质

Publications (2)

Publication Number Publication Date
CN113722242A CN113722242A (zh) 2021-11-30
CN113722242B true CN113722242B (zh) 2023-12-08

Family

ID=78680212

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111017402.9A Active CN113722242B (zh) 2021-08-31 2021-08-31 内存配置方法、装置、电子设备及可读介质

Country Status (1)

Country Link
CN (1) CN113722242B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116737472B (zh) * 2022-10-27 2024-05-03 荣耀终端有限公司 一种测试存储器时序训练过程的方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107301103A (zh) * 2017-06-22 2017-10-27 济南浪潮高新科技投资发展有限公司 一种调整国产处理器的内存参数的方法及装置
CN108984219A (zh) * 2018-08-29 2018-12-11 迈普通信技术股份有限公司 内存参数配置方法及电子设备
CN110659171A (zh) * 2019-09-25 2020-01-07 苏州浪潮智能科技有限公司 一种测试方法、电子设备和计算机可读存储介质
CN111221582A (zh) * 2020-01-02 2020-06-02 深圳中电长城信息安全系统有限公司 一种内存训练的方法及系统
CN112328305A (zh) * 2020-10-30 2021-02-05 歌尔光学科技有限公司 一种眼图测试方法、装置、电子设备及可读存储介质
KR20210026353A (ko) * 2019-08-30 2021-03-10 삼성전자주식회사 메모리 장치 트레이닝 방법 및 이를 포함한 전자 기기 및 전자 시스템
CN112732435A (zh) * 2019-10-29 2021-04-30 浙江宇视科技有限公司 内存动态分配方法、装置、电子设备及可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186439A (zh) * 2011-12-27 2013-07-03 鸿富锦精密工业(深圳)有限公司 服务器测试系统及服务器稳定性测试方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107301103A (zh) * 2017-06-22 2017-10-27 济南浪潮高新科技投资发展有限公司 一种调整国产处理器的内存参数的方法及装置
CN108984219A (zh) * 2018-08-29 2018-12-11 迈普通信技术股份有限公司 内存参数配置方法及电子设备
KR20210026353A (ko) * 2019-08-30 2021-03-10 삼성전자주식회사 메모리 장치 트레이닝 방법 및 이를 포함한 전자 기기 및 전자 시스템
CN110659171A (zh) * 2019-09-25 2020-01-07 苏州浪潮智能科技有限公司 一种测试方法、电子设备和计算机可读存储介质
CN112732435A (zh) * 2019-10-29 2021-04-30 浙江宇视科技有限公司 内存动态分配方法、装置、电子设备及可读存储介质
CN111221582A (zh) * 2020-01-02 2020-06-02 深圳中电长城信息安全系统有限公司 一种内存训练的方法及系统
CN112328305A (zh) * 2020-10-30 2021-02-05 歌尔光学科技有限公司 一种眼图测试方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN113722242A (zh) 2021-11-30

Similar Documents

Publication Publication Date Title
CN111105840B (zh) 一种固态硬盘异常掉电的测试方法、装置和系统
CN111105839B (zh) 芯片测试方法、装置、电子设备及计算机可读介质
CN109358908B (zh) 一种获取内存条的spd信息的方法、装置及存储介质
JP2008009721A (ja) 評価システム及びその評価方法
CN113722242B (zh) 内存配置方法、装置、电子设备及可读介质
CN109213505B (zh) 服务器硬盘固件刷新方法及装置
US7334170B2 (en) Method for resolving parameters of DRAM
US8345483B2 (en) System and method for addressing threshold voltage shifts of memory cells in an electronic product
JP2005135407A (ja) 電圧マージニングを使用してコンピュータシステムのコンポーネントをテストするシステムおよび方法
CN107807870B (zh) 一种存储服务器主板掉电保护功能的测试方法和系统
CN110825421B (zh) 一种固件升级方法、系统及可读存储介质
CN112506820A (zh) Usb端口硬件参数分析方法、装置、设备及存储介质
EP2526477B1 (en) Memory controller
CN109087676B (zh) 一种非易失性存储器的编程方法及装置
CN115659883A (zh) 用于存储器控制器的验证装置、验证方法、存储介质及芯片
CN109815071A (zh) 一种基于Linux系统的存储介质掉电测试方法
CN104765626A (zh) 一种固件程序烧写方法及装置
US9632805B2 (en) Data storage device and error correction method thereof
US20130124925A1 (en) Method and apparatus for checking a main memory of a processor
CN115176313A (zh) 内存启动和初始化系统和方法
CN111722855A (zh) 一种基于eMMC的固件烧录系统、方法与集成芯片
US20060010313A1 (en) Methods and devices for DRAM initialization
US20100205598A1 (en) Method for installing operating system in computer
US20100023745A1 (en) Memorandum-presenting method and computer system using the same
CN116524990A (zh) 一种amd系统之动态随机存取存储器模块的检测系统

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