CN113821369A - 一种内存巡检的方法、装置及介质 - Google Patents

一种内存巡检的方法、装置及介质 Download PDF

Info

Publication number
CN113821369A
CN113821369A CN202111389874.7A CN202111389874A CN113821369A CN 113821369 A CN113821369 A CN 113821369A CN 202111389874 A CN202111389874 A CN 202111389874A CN 113821369 A CN113821369 A CN 113821369A
Authority
CN
China
Prior art keywords
memory
address
routing inspection
memory address
patrol
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
Application number
CN202111389874.7A
Other languages
English (en)
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 Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur 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 Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202111389874.7A priority Critical patent/CN113821369A/zh
Publication of CN113821369A publication Critical patent/CN113821369A/zh
Priority to PCT/CN2022/090213 priority patent/WO2023092946A1/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring 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
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation

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)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种内存巡检的方法、装置及介质,包括:创建BIOS配置接口,获取需要指定巡检内存地址和系统内存映射的物理地址构成的结构体数组,依据结构体数据判断指定巡检内存地址是否为有效内存地址,若为有效内存地址,则将指定巡检内存地址存储于寄存器,以判断对应的内存是否存在错误,进而实现对指定内存的巡检。由此可见,本发明提供的技术方案,通过创建BIOS配置接口,获取指定巡检的内存地址,并根据内存映射的物理地址构成的结构体数组确定该地址是否为有效地址,若有效,将该指定巡检内存地址存储于寄存器,并进一步判断是否存在错误,进而实现对指定内存的巡检,使内存巡检灵活可控,提升系统的性能。

Description

一种内存巡检的方法、装置及介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种内存巡检的方法、装置及介质。
背景技术
目前,为了监控服务器、存储服务器等计算机系统中的内存健康状态,及时清理内存冗余空间存储的错误数据,基本输入输出系统(Basic Input Output System,简称BIOS)菜单提供了内存巡检功能,其中,BIOS菜单包括使能控制选项和巡检时间选项,通常情况下,使能控制选项默认为使能,即内存巡检功能处于开启状态,巡检时间选项默认为24小时,即在内存巡检功能的启动阶段,BIOS会在每24小时后,控制内存控制器开启巡检模式,对计算机系统内所有内存进行一次巡检。
在实际的巡检过程中,若对所有内存进行巡检,则巡检操作会影响服务器的整体性能,目前没有一个配置接口可以对指定内存地址范围进行巡检,若客户应用进程绑定了某个处理器的内存空间,用户为了确保性能不受干扰,想跳过此段内存空间的巡检功能,或者在系统运行阶段想单独对某个内存进行重点巡检,都是无法实现的。
由此可见,如何实现对指定内存地址范围进行巡检,使内存巡检操作更灵活可控,提升系统性能,是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种内存巡检的方法、装置及介质,实现对系统内存进行指定巡检,使系统的内存巡检更灵活可控,提升系统的整体性能。
为解决上述技术问题,本申请提供一种内存巡检的方法,包括:
创建BIOS配置接口;
获取指定巡检内存地址和系统内存映射的物理地址的结构体数组;
依据所述结构体数组,确定所述指定巡检内存地址是否为有效内存地址,若为有效内存地址,将所述指定巡检内存地址存储于寄存器;
根据所述寄存器中的所述指定巡检内存地址判断对应的在位内存是否错误。
优选地,所述指定巡检内存地址包括指定巡检内存槽位或指定巡检地址区间。
优选地,所述指定巡检内存地址为指定巡检内存槽位,所述确定所述指定巡检内存地址是否为有效内存地址包括:
判断所述指定巡检内存槽位是否能从所述结构体数组检索出对应的内存地址区间;
若能,则确定所述指定巡检内存槽位为有效内存地址,否则,无效。
优选地,所述指定巡检内存地址为指定巡检地址区间,所述确定所述指定巡检内存地址是否为有效内存地址包括:
将所述指定巡检地址区间与所述结构体数组进行匹配;
判断所述指定巡检地址区间是否存在于所述结构体数组中,若存在,则确定所述指定巡检地址区间为有效地址区间;
相应地,还包括,若不存在,则删除所述指定巡检地址区间并将匹配失败事件上传。
优选地,所述获取系统内存映射的物理地址的结构体数组包括:
创建用于存储系统内存对应物理地址的所述结构体数组;
映射系统内存对应的所述物理地址,填写所述物理地址至所述结构体数组中。
优选地,所述确定所述指定巡检内存地址是否为有效内存地址还包括:
获取执行确定所述指定巡检内存地址是否为有效内存地址的次数;
当所述指定巡检内存地址为有效内存地址的次数满足预设条件时,确定所述指定巡检内存地址为有效内存地址。
优选地,所述根据所述寄存器中的所述指定巡检内存地址判断对应的在位内存是否错误包括:
判断存储于所述寄存器中的所述指定巡检内存地址是否存在错误;
若存在错误,对所述指定巡检内存地址进行纠正,判断纠正是否成功,若成功,将纠正后的指定巡检内存地址写回内存,若失败,将纠正失败信号上传。
为了解决上述技术问题,本申请还提供了一种内存巡检的装置,包括:
创建模块,用于创建BIOS配置接口;
获取模块,用于获取指定巡检内存地址和系统内存映射的物理地址的结构体数组;
确定模块,用于依据所述结构体数组,确定所述指定巡检内存地址是否为有效内存地址,若为有效内存地址,将所述指定巡检内存地址存储于寄存器;
判断模块,用于根据所述寄存器中的所述指定巡检内存地址判断对应的在位内存是否错误。
为了解决上述技术问题,本申请还提供了一种内存巡检的装置,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如所述的内存巡检的方法的步骤。
为了解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如所述的内存巡检的方法的步骤。
本发明所提供的一种内存巡检的方法,包括:创建BIOS配置接口,获取指定巡检的内存地址和系统内存映射的物理地址构成的结构体数组,根据获取的结构体数据和指定巡检内存地址,判断指定巡检内存地址是否为有效内存地址,若为有效内存地址,则将指定巡检内存地址存储于寄存器,以便于依据存储器中的指定巡检内存地址判断对应的内存是否存在错误以实现对指定内存的巡检。由此可见,本发明所提供的技术方案,通过创建的BIOS配置接口,获取指定巡检的内存地址,并与内存映射的物理地址构成的结构体数组进行对比以判断获取的指定巡检内存地址是否有效,若有效,将该指定巡检内存地址存储于寄存器,并进一步判断是否存在错误,进而实现对指定内存的巡检,使内存巡检灵活可控,提升系统的性能。
此外,本申请还提供一种内存巡检的装置及介质对上述方法对应,效果同上。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种内存巡检的方法流程图;
图2为本发明实施例提供的一种内存巡检的装置结构图;
图3为本申请另一实施例提供的一种内存巡检的装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种内存巡检的方法、装置及介质,通过创建BIOS配置接口,实现对系统指定内存的巡检,使系统内存巡检灵活可控,提高系统的整体性能。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
目前,为了监控服务器,存储服务器等计算机系统的内存健康状态,及时清理内存冗余空间存储的错误数据,BIOS提供了内存巡检功能,由处理器的内存控制器发起巡检动作,在指定时间内对系统内所有内存执行一次巡检操作。在实际巡检过程中,由于目前没有一个配置接口可以指定内存地址范围进行巡检,因此内存控制器在指定时间内会对系统内所有内存进行巡检,而对所有内存进行巡检的操作会影响服务器的整体性能。若用户应用进程绑定了某个处理器的内存空间,用户为了确保该处理器性能不受影响,想要跳过该处理器对应内存的巡检是无法实现的,此外,用户想要对某个内存进行重点巡检也是无法实现的。
为了使系统内存巡检灵活可控,实现对指定内存进行巡检,本发明提供了一种内存巡检的方法,通过创建BIOS配置接口,并获取指定巡检内存地址和系统内存映射的物理地址构成的结构体数组,依据结构体数组判断指定巡检内存地址是否为有效地址,若为有效地址,则将指定巡检内存地址存储于寄存器中,判断寄存器中的指定巡检内存地址对应的系统在位内存是否存在错误,并采取相应的措施,进而提高系统性能。
图1为本发明实施例提供的一种内存巡检的方法流程图,如图1所示,该方法包括:
S10:创建BIOS配置接口。
S11:获取指定巡检内存地址和系统内存映射的物理地址的结构体数组。
S12:依据结构体数组,确定指定巡检内存地址是否为有效内存地址,若为有效内存地址,进入步骤S13。
S13:将指定巡检内存地址存储于寄存器。
S14:根据寄存器中的指定巡检内存地址判断对应的在位内存是否错误。
在具体实施例中,用户若要对系统中某个内存进行巡检,需要先对系统内存进行初始化,然后获取系统在位内存的容量,位置,频率,以及对应的内存物理地址区间等系统变量,以便于获取系统的在位内存信息以及映射内存地址的分布情况,此外,依据获取的系统变量判断内存巡检功能是否开启,若开启,进一步判断指定巡检内存功能是否开启,若开启,等待用户输入需要指定巡检的内存地址,若未开启,则对系统所有在位内存进行巡检。
若指定巡检功能已开启,则进入步骤S10,创建BIOS配置接口,此外,还需要创建BIOS菜单,其中,BIOS菜单包括不同的内存地址巡检模式,分别为指定巡检内存槽位模式和指定巡检地址区间模式。创建BIOS配置接口和BIOS菜单后,进入步骤S11,获取指定巡检内存地址和系统内存映射的物理地址构成的结构体数组,需要说明的是,由于BIOS菜单包含指定巡检内存槽位和指定巡检地址区间两种模式,所以,获取的指定巡检内存地址为指定巡检内存槽位或指定巡检地址区间,当用户选择指定巡检内存槽位模式时,指定巡检地址区间模式隐藏,用户仅需输入需要巡检的指定巡检内存槽位即可,当用户选择指定巡检地址区间模式时,指定巡检内存槽位模式隐藏,用户需要输入指定巡检地址区间。
在步骤S12中,得到用户输入的指定巡检内存地址和结构体数组后,依据获取的结构体数组确定指定巡检内存地址是否为有效地址,若为有效地址,则进入步骤S13将该指定巡检内存地址存储于寄存器,在步骤S14中,根据寄存器中的指定巡检内存地址判断对应的在位内存是否存在错误,若存在错误进行纠正,并将纠正后的地址写会内存中,若纠正失败,则将纠正失败信号上传。
值得注意的是,当指定巡检功能已开启,需要建立用于存放映射系统内存物理地址的结构体数组,在获取用户的指定巡检内存地址的同时,映射系统内存的物理地址并写入结构体数组中,需要说明的是,创建结构体数组和写入在位内存对应的物理地址可以在获取指定巡检内存地址之前,也可以在获取指定巡检内存地址之后,当然,也可以和获取指定巡检内存地址同时进行,对此本发明不作限定。
还需要说明的是,本发明提供的内存巡检方法可以用于巡检服务器、笔电、存储等计算机系统,对于巡检的对象,本发明不做限定。
本发明所提供的一种内存巡检的方法,包括:创建BIOS配置接口,获取指定巡检的内存地址和系统内存映射的物理地址构成的结构体数组,根据获取的结构体数据和指定巡检内存地址,判断指定巡检内存地址是否为有效内存地址,若为有效内存地址,则将指定巡检内存地址存储于寄存器,以便于依据存储器中的指定巡检内存地址判断对应的内存是否存在错误以实现对指定内存的巡检。由此可见,本发明所提供的技术方案,通过创建的BIOS配置接口,获取指定巡检的内存地址,并与内存映射的物理地址构成的结构体数组进行对比以判断获取的指定巡检内存地址是否有效,若有效,将该指定巡检内存地址存储于寄存器,并进一步判断是否存在错误,进而实现对指定内存的巡检,使内存巡检灵活可控,提升系统的性能。
在具体实施例中,创建包含指定巡检内存槽位模式和指定巡检地址区间模式两种模式的BISO菜单,指定巡检内存槽位模式和指定巡检地址区间模式本质上都是对系统中某个指定的内存进行巡检,当用户选择指定巡检内存槽位模式时,指定巡检地址区间模式会自动隐藏,用户输入需要巡检的内存槽位,并在内存映射物理地址构成的结构体数组中检索出对应的在位内存物理地址。若用户选择指定巡检地址区间模式,同样的,指定巡检内存槽位模式会自动隐藏,当获取到用户输入的指定巡检地址区间后,与在位内存物理地址构成的结构体数组进行匹配,以确定用户输入的指定巡检地址区间是否为有效地址,即输入的指定巡检地址区间是否存在于系统内存。
本发明实施例提供的内存巡检的方法,通过提供包含指定巡检内存槽位模式和指定巡检地址区间模式两种模式的BISO菜单,用户可以依据实际业务需求对指定内存进行巡检,相应的,不必要的内存即可跳过巡检,从而使系统的内存巡检更灵活可控,提升系统的整体性能。
在上述实施例的基础上,当用户选择指定巡检内存槽位时,则指定巡检地址区间模式隐藏。需要说明的是,虽然指定巡检内存地址包括指定巡检内存槽位和指定巡检地址区间,但两种方式本质上相同,都是指定某个特定内存地址进行巡检,若选择指定巡检内存槽位,对于用户而言,只需要输入系统内存的某个槽位即可。获取到用户输入的内存槽位后,依据映射系统内存的物理地址构成的结构体数组进行检索,若能检索出相对应的物理地址,则确定获取的指定巡检内存槽位为有效内存地址,否则,确定获取的指定巡检内存槽位在系统中找不到对应的在位内存,即指定巡检内存槽位为无效内存地址。需要注意的是,若用户填写的内存槽位为有效内存地址,则在物理地址的结构体数组中能够检索出对应的高低地址,检索出对应的物理地址后存储与寄存器中。为了便于理解,下面将举例说明。
预先设置寄存器:scrubaddress1lo和scrubaddress1hi用于填写巡检结果的高位地址,其中,scrubaddress1lo填写地址的bit37:6,即scrubaddress1hi填写地址的bit52:38。scrubaddress2lo和scrubaddress2hi用于填写巡检结果的低位地址,其中,scrubaddress2lo填写地址的bit37:6,scrubaddress2hi填写地址的bit52:38。
当用户输入的指定巡检内存槽位为CPU0_Channel2_DIMM1,依据获取的该指定巡检内存槽位在物理地址的结构体数组中进行检测,若能检索出对应的物理地址,则确定用户输入的指定内存槽位为有效内存地址。例如,检索出对应的地址为0x80000000-0x107fffffff,则该地址的低地址为0x80000000,由于此地址由32bit数据组成,bit37:6为0x2000000,因此寄存器scrubaddress2lo写入0x2000000,bit52:38为0,故scrubaddress2hi无需填写。巡检结果的高地址为0x107fffffff,此地址由36bit数据组成,bit37:6为0x41FFFFFF,所以scrubaddress1lo写入0x41FFFFFF,bit52:38为0,故scrubaddress1hi无需填写。
本发明实施例提供的内存巡检的方法,用户可以指定需要巡检的某个内存槽位,通过获取指定巡检内存槽位,并依据系统内存映射的物理地址构成的结构体数组,检索指定巡检内存槽位对应的物理地址存储与寄存器中,以便于判断该指定巡检内存槽位是否存在错误,进而实现对指定内存槽位的巡检,提高系统的性能。
在具体实施例中,在实际的业务需求中,有时需要对某段内存地址进行巡检,即指定巡检内存地址为指定巡检地址区间,需要说明的是,该段内存区间可以是某个内存槽位对应的在位内存物理地址,也可以系统中任意一段内存地址对应的物理地址。当用户输入需要巡检的指定巡检地址区间后,与映射系统内存的物理地址构成的结构体数组进行匹配,判断该指定巡检地址区间是否为有效地址,即该地址是否能在结构体数组中找到对应的物理地址,若确定该指定巡检地址区间为有效地址后,将其存储于寄存器中。若在结构体数组中匹配不到对应的物理地址,则确定该指定巡检地址区间为无效地址,例如,用户需要指定巡检的地址区间为0x6900000000-0x1ffffffffff,由于该地址过高,超出实际映射的物理地址区间,当用户输入该指定巡检地址区间后,无法在物理地址的结构体数组中找到对应的地址,则该指定巡检地址区间为无效地址,需要用户重新输入有效地址进行巡检。
本发明实施例提供的内存巡检的方法,可以依据实际业务需求对某段指定的内存地址区间进行巡检,使系统的内存巡检更灵活可控,满足用户的不同需求,提高用户体验感,同时提升系统性能。
为了监控计算机系统内存的健康状态,及时清理内存的冗余空间,并满足用户对指定内存进行巡检的需求,本发明提供了一种内存巡检的方法,在实施中,需要创建可以存放系统内存映射物理地址的结构体数组,在确定指定巡检功能开启后,对系统内存进行映射以获取系统内存对应的物理地址,并将该物理地址填写入结构体数组中。当获取指定巡检内存地址后,依据该结构体数组确定用户输入的指定巡检内存地址是否为有效内存地址,以便于判断指定巡检内存地址对应的在位内存是否存在错误。
本发明实施例提供的内存巡检的方法,通过映射系统内存得到对应的物理地址,并将该物理地址写入预先创建的结构体数组中,依据该结构体数组确定获取的指定巡检内存地址是否为有效地址,进而实现系统内存的指定巡检,使内存巡检灵活可控,可满足用户的不同业务需求,提升系统的整体性能。
在具体实施例中,依据系统映射的物理地址所构成的结构体数组,确定指定巡检内存地址是否为有效地址时,为了避免出现误判,在执行确定指定巡检内存地址是否为有效地址前,先获取需要执行的次数,当指定巡检内存地址为有效地址的次数满足预设条件时,才确定指定巡检内存地址为有效地址。为了便于理解,下面将举例说明。
例如,获取到需要执行确定指定巡检内存地址是否为有效地址的次数为3次,预设条件为:确定指定巡检内存地址为有效地址的次数大于或等于获取的执行次数的三分之二。则确定指定巡检内存地址为有效地址的次数为2次或3时,确定获取的指定巡检内存地址为有效地址。
本发明实施例提供的内存巡检的方法,增加设置获取执行确定指定巡检内存地址是否为有效地址的次数,当指定巡检内存地址为有效地址的次数满足预设条件时,则确定指定巡检内存地址为有效地址,避免了只进行一次判断时出现误判导致巡检结果出错的现象,提升巡检准确性,进而提升系统的性能。
在上述实施例的基础上,当确定指定巡检内存地址为有效地址后,将该指定巡检内存地址存放于寄存器中,通过对寄存器中的地址判断是否存在错误即可完成对指定内存的巡检。首先,通过循环冗余校验检对寄存器内的指定巡检内存地址进行判断以确定该内存是否存在错误,若存在错误,则通过错误检查和纠正技术(Error Correcting Code,简称Ecc)对有误地址进行纠正,若纠正成功,则将纠正后的内存地址再次写回内存,若Ecc纠正失败,则将纠正失败的信号上报处理器,交由操作系统进一步处理,进而实现对指定内存的巡检。
本发明实施例提供的内存巡检的方法,通过创建BIOS配置接口,并依据系统内存映射的物理地址所构成的结构体数组,确定指定巡检的内存地址是否有效,若有效存放于寄存器中,最后对寄存器内的地址判断是否存在错误以进行错误纠正,实现对计算机系统内错误数据的清理,保证了计算机系统的内存健康,提升系统的性能。
在上述实施例中,对于一种内存巡检的方法进行了详细描述,本申请还提供一种内存巡检的装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件结构的角度。
图2为本发明实施例提供的一种内存巡检的装置结构图,如图2所示,该装置包括:
创建模块10,用于创建BIOS配置接口。
获取模块11,用于获取指定巡检内存地址和系统内存映射的物理地址的结构体数组。
确定模块12,用于依据结构体数组,确定指定巡检内存地址是否为有效内存地址,若为有效内存地址,将指定巡检内存地址存储于寄存器。
判断模块13,用于根据寄存器中的指定巡检内存地址判断对应的在位内存是否错误。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本发明实施例提供的内存巡检的装置,包括:创建BIOS配置接口,获取指定巡检的内存地址和系统内存映射的物理地址构成的结构体数组,根据获取的结构体数据和指定巡检内存地址,判断指定巡检内存地址是否为有效内存地址,若为有效内存地址,则将指定巡检内存地址存储于寄存器,以便于依据存储器中的指定巡检内存地址判断对应的内存是否存在错误以实现对指定内存的巡检。由此可见,本发明所提供的技术方案,通过创建的BIOS配置接口,获取指定巡检的内存地址,并与内存映射的物理地址构成的结构体数组进行对比以判断获取的指定巡检内存地址是否有效,若有效,将该指定巡检内存地址存储于寄存器,并进一步判断是否存在错误,进而实现对指定内存的巡检,使内存巡检灵活可控,提升系统的性能。
图3为本申请另一实施例提供的一种内存巡检的装置的结构图,如图3所示,内存巡检的装置包括:存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例所提到的内存巡检的方法的步骤。
本实施例提供的内存巡检的装置可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理 (Digital Signal Processing,简称DSP)、现场可编程门阵列 (Field-Programmable Gate Array,简称FPGA)、可编程逻辑阵列(Programmable Logic Array,简称PLA)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器 (Central Processing Unit,简称CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有图像处理器(Graphics Processing Unit,简称GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能 (Artificial Intelligence,简称AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的内存巡检的方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于内存巡检的方法中涉及的数据等。
在一些实施例中,内存巡检的装置还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图3中示出的结构并不构成对内存巡检的装置的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的内存巡检的装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:内存巡检的方法。
本发明实施例提供的内存巡检的装置,通过创建的BIOS 配置接口,获取指定巡检的内存地址,并根据内存映射的物理地址构成的结构体数组确定获取的指定巡检内存地址是否有效,若有效,将该指定巡检内存地址存储于寄存器,并进一步判断是否存在错误,进而实现对指定内存的巡检,使内存巡检灵活可控,提升系统的性能。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本申请所提供的一种内存巡检的方法、装置及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种内存巡检的方法,其特征在于,包括:
创建BIOS配置接口;
获取指定巡检内存地址和系统内存映射的物理地址的结构体数组;
依据所述结构体数组,确定所述指定巡检内存地址是否为有效内存地址,若为有效内存地址,将所述指定巡检内存地址存储于寄存器;
根据所述寄存器中的所述指定巡检内存地址判断对应的在位内存是否错误。
2.根据权利要求1所述的内存巡检的方法,其特征在于,所述指定巡检内存地址包括指定巡检内存槽位或指定巡检地址区间。
3.根据权利要求2所述的内存巡检的方法,其特征在于,所述指定巡检内存地址为指定巡检内存槽位,所述确定所述指定巡检内存地址是否为有效内存地址包括:
判断所述指定巡检内存槽位是否能从所述结构体数组检索出对应的内存地址区间;
若能,则确定所述指定巡检内存槽位为有效内存地址,否则,无效。
4.根据权利要求2所述的内存巡检的方法,其特征在于,所述指定巡检内存地址为指定巡检地址区间,所述确定所述指定巡检内存地址是否为有效内存地址包括:
将所述指定巡检地址区间与所述结构体数组进行匹配;
判断所述指定巡检地址区间是否存在于所述结构体数组中,若存在,则确定所述指定巡检地址区间为有效地址区间;
相应地,还包括,若不存在,则删除所述指定巡检地址区间并将匹配失败事件上传。
5.根据权利要求1所述的内存巡检的方法,其特征在于,所述获取系统内存映射的物理地址的结构体数组包括:
创建用于存储系统内存对应物理地址的所述结构体数组;
映射系统内存对应的所述物理地址,填写所述物理地址至所述结构体数组中。
6.根据权利要求3或4任意一项所述的内存巡检的方法,其特征在于,所述确定所述指定巡检内存地址是否为有效内存地址还包括:
获取执行确定所述指定巡检内存地址是否为有效内存地址的次数;
当所述指定巡检内存地址为有效内存地址的次数满足预设条件时,确定所述指定巡检内存地址为有效内存地址。
7.根据权利要求1所述的内存巡检的方法,其特征在于,所述根据所述寄存器中的所述指定巡检内存地址判断对应的在位内存是否错误包括:
判断存储于所述寄存器中的所述指定巡检内存地址是否存在错误;
若存在错误,对所述指定巡检内存地址进行纠正,判断纠正是否成功,若成功,将纠正后的指定巡检内存地址写回内存,若失败,将纠正失败信号上传。
8.一种内存巡检的装置,其特征在于,包括:
创建模块,用于创建BIOS配置接口;
获取模块,用于获取指定巡检内存地址和系统内存映射的物理地址的结构体数组;
确定模块,用于依据所述结构体数组,确定所述指定巡检内存地址是否为有效内存地址,若为有效内存地址,将所述指定巡检内存地址存储于寄存器;
判断模块,用于根据所述寄存器中的所述指定巡检内存地址判断对应的在位内存是否错误。
9.一种内存巡检的装置,其特征在于,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的内存巡检的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的内存巡检的方法的步骤。
CN202111389874.7A 2021-11-23 2021-11-23 一种内存巡检的方法、装置及介质 Pending CN113821369A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111389874.7A CN113821369A (zh) 2021-11-23 2021-11-23 一种内存巡检的方法、装置及介质
PCT/CN2022/090213 WO2023092946A1 (zh) 2021-11-23 2022-04-29 一种内存巡检的方法、装置及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111389874.7A CN113821369A (zh) 2021-11-23 2021-11-23 一种内存巡检的方法、装置及介质

Publications (1)

Publication Number Publication Date
CN113821369A true CN113821369A (zh) 2021-12-21

Family

ID=78919698

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111389874.7A Pending CN113821369A (zh) 2021-11-23 2021-11-23 一种内存巡检的方法、装置及介质

Country Status (2)

Country Link
CN (1) CN113821369A (zh)
WO (1) WO2023092946A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023092946A1 (zh) * 2021-11-23 2023-06-01 苏州浪潮智能科技有限公司 一种内存巡检的方法、装置及介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1508688A (zh) * 2002-12-17 2004-06-30 英业达股份有限公司 多适应性内存探测方法
US20070130452A1 (en) * 2003-09-18 2007-06-07 Muir Robert L Bios protection device
CN103092709A (zh) * 2013-01-22 2013-05-08 浪潮电子信息产业股份有限公司 一种内存错误处理方法
CN103279406A (zh) * 2013-05-31 2013-09-04 华为技术有限公司 一种内存的隔离方法和装置
CN104809039A (zh) * 2015-04-24 2015-07-29 英业达科技有限公司 基于物理内存分配映射的内存检测方法
CN106547655A (zh) * 2015-09-22 2017-03-29 龙芯中科技术有限公司 侦测电路板上的内存条数量的方法及系统
CN107957923A (zh) * 2016-10-14 2018-04-24 华为技术有限公司 一种内存诊断方法和装置
CN110377443A (zh) * 2019-06-26 2019-10-25 苏州浪潮智能科技有限公司 一种内存巡检方法及相关装置
CN113282434A (zh) * 2021-07-19 2021-08-20 苏州浪潮智能科技有限公司 一种基于封装后修复技术的内存修复方法及相关组件

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3614956B2 (ja) * 1995-12-20 2005-01-26 株式会社東芝 メモリ制御システム
CN101751284B (zh) * 2009-12-25 2013-04-24 华为技术有限公司 一种分布式虚拟机监控器的i/o资源调度方法
CN104484274B (zh) * 2014-12-24 2017-09-22 浪潮电子信息产业股份有限公司 一种基于itp工具的内存轮巡检查功能测试方法
CN106155910B (zh) * 2015-03-27 2021-02-12 华为技术有限公司 一种实现内存访问的方法、装置和系统
CN112306867B (zh) * 2020-10-26 2022-11-11 苏州浪潮智能科技有限公司 一种基于层序遍历自动检测系统i2c地址异常的方法
CN112667442B (zh) * 2020-12-29 2023-08-04 浪潮(北京)电子信息产业有限公司 基于非易失内存器件启动系统的控制方法、装置及设备
CN113821369A (zh) * 2021-11-23 2021-12-21 苏州浪潮智能科技有限公司 一种内存巡检的方法、装置及介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1508688A (zh) * 2002-12-17 2004-06-30 英业达股份有限公司 多适应性内存探测方法
US20070130452A1 (en) * 2003-09-18 2007-06-07 Muir Robert L Bios protection device
CN103092709A (zh) * 2013-01-22 2013-05-08 浪潮电子信息产业股份有限公司 一种内存错误处理方法
CN103279406A (zh) * 2013-05-31 2013-09-04 华为技术有限公司 一种内存的隔离方法和装置
CN104809039A (zh) * 2015-04-24 2015-07-29 英业达科技有限公司 基于物理内存分配映射的内存检测方法
CN106547655A (zh) * 2015-09-22 2017-03-29 龙芯中科技术有限公司 侦测电路板上的内存条数量的方法及系统
CN107957923A (zh) * 2016-10-14 2018-04-24 华为技术有限公司 一种内存诊断方法和装置
CN110377443A (zh) * 2019-06-26 2019-10-25 苏州浪潮智能科技有限公司 一种内存巡检方法及相关装置
CN113282434A (zh) * 2021-07-19 2021-08-20 苏州浪潮智能科技有限公司 一种基于封装后修复技术的内存修复方法及相关组件

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
UEFI FORUM, INC.: "《Advanced Configuration and Power Interface (ACPI) Specification》", 《HTTPS://WEB.ARCHIVE.ORG/WEB/20211120061438/HTTPS://UEFI.ORG/SITES/DEFAULT/FILES/RESOURCES/ACPI_6_3_FINAL_JAN30.PDF》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023092946A1 (zh) * 2021-11-23 2023-06-01 苏州浪潮智能科技有限公司 一种内存巡检的方法、装置及介质

Also Published As

Publication number Publication date
WO2023092946A1 (zh) 2023-06-01

Similar Documents

Publication Publication Date Title
US20230185562A1 (en) Method and apparatus for remotely updating firmware in batches, and computer-readable storage medium
CN109522175B (zh) 一种内存评估的方法及装置
US10489289B1 (en) Physical media aware spacially coupled journaling and trim
CN108875061A (zh) 一种分布式文件系统的一致性测试方法及相关装置
CN113821369A (zh) 一种内存巡检的方法、装置及介质
CN104866388B (zh) 数据处理方法及装置
CN111104246A (zh) 提升dram的错误检测与纠错的验证效率的方法、装置、计算机设备及存储介质
CN117131014A (zh) 数据库迁移方法、装置、设备及存储介质
CN112667442A (zh) 基于非易失内存器件启动系统的控制方法、装置及设备
WO2022228315A1 (zh) 一种服务器系统mmioh基地址的设置方法、装置
WO2023206926A1 (zh) 一种恢复用户配置数据的方法、装置及介质
CN114461142B (zh) 一种读写Flash数据的方法、系统、装置及介质
EP3264254B1 (en) System and method for a simulation of a block storage system on an object storage system
CN110008105A (zh) 一种bmc时间保留方法、装置及电子设备和存储介质
CN115480973A (zh) 一种服务器性能测试方法、装置、介质
CN113031863B (zh) Ssd命令相关性管理方法、装置、计算机设备及存储介质
CN109491870A (zh) 一种传感器的接入状态的检测方法及装置
CN106790521A (zh) 采用基于ftp的节点设备进行分布式组网的系统及方法
WO2019169615A1 (zh) 访问指令sram的方法和电子设备
CN110765022B (zh) 自动化测试送样ssd的方法、装置、计算机设备及存储介质
CN111625192B (zh) 一种元数据对象访问方法、装置、设备以及介质
CN110838333B (zh) 哈希表修复方法及装置
CN117149487A (zh) 确定数据丢失的方法、装置、设备及存储介质
CN117827554A (zh) 测试方法、装置、计算机设备和存储介质
CN116301654A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20211221