掌桥专利:专业的专利平台
掌桥专利
首页

内存巡检方法、系统及计算机可读存储介质

文献发布时间:2023-06-19 19:20:08


内存巡检方法、系统及计算机可读存储介质

技术领域

本发明涉及内存检测技术领域,尤其涉及一种内存巡检方法、系统及计算机可读存储介质。

背景技术

CXL(Compute Express Link)是一种开放式互连新标准,面向CPU(centralprocessing unit,中央处理器)和专用加速器的密集型工作负载,这些负载都需要在主机和设备之间实现高效稳定的存储器访问。其中,CXL.memory是为主机处理器(通常是CPU)提供使用加载/存储命令直接访问设备附加内存的协议,将此视为CPU使用专用存储级内存设备或使用GPU(graphics processing unit,图形处理器)/加速器设备上的内存。

在相关技术中,CXL.memory提供者会在固件和控制器上提供BIST(Built-inSelfTest,内建自测)测试算法。然而对故障率高而且影响恶劣的内存产品来说,这样做是不足够的。越来越多的云数据中心大客户把内存的RAS(Reliability,Availability,Serviceability,可靠性,可用性,可保护性)设计作为差异化的竞争力,有着很深入的研究分析,而相关技术中的测试算法功能仍较少,标准的测试算法并不能满足用户的需求。

发明内容

以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。

本发明实施例提供了一种内存巡检方法、系统及计算机可读存储介质,为使用者提供了额外的自定义模式,从而对内存的可靠性、可用性以及可保护性进行检测,提高了检测和预测内存质量状态的效率。

第一方面,本发明实施例提供了一种内存巡检方法,该方法包括:

接收自定义算法;

接收用于启动巡检的第一指令;

根据所述自定义算法对预设的默认算法进行替换;

根据所述自定义算法对内存进行巡检,并得到巡检结果。

在一些实施例中,在所述接收自定义算法后,所述方法还包括:将所述自定义算法存储至本地服务器。

在一些实施例中,所述根据所述自定义算法对预设的默认算法进行替换,包括:确定设备状态,所述设备状态包括在线和离线;当所述设备状态为在线,对业务状态进行检测,所述业务状态包括业务空闲期和业务忙碌期;确定所述业务状态为业务空闲期,以便根据所述自定义算法对预设的默认算法进行替换。

在一些实施例中,所述方法还包括:当所述业务状态为业务忙碌期,持续对业务状态进行检测,直至检测确定所述业务状态为业务空闲期。

在一些实施例中,所述根据所述自定义算法对预设的默认算法进行替换,还包括:确定设备状态,所述设备状态包括在线和离线;当所述设备状态为离线,根据所述自定义算法对预设的默认算法进行替换。

在一些实施例中,所述方法还包括:根据所述巡检结果得到故障问题;根据预设措施对所述故障问题进行处理。

在一些实施例中,所述预设措施包括硬件修复,软件修复和缺陷空间隔离。

在一些实施例中,所述方法还包括:接收第二指令,所述第二指令用于启动等时间间隔的多次巡检;根据预设间隔,定期启动巡检。

在一些实施例中,所述根据所述自定义算法对预设的默认算法进行替换,还包括:当接收到多个所述自定义算法,确定预设的所述默认算法的数量;当所述默认算法的数量与多个所述自定义算法相对应,建立所述自定义算法与所述默认算法之间的对应关系;根据所述对应关系,使用所述自定义算法对所述默认算法进行替换。

在一些实施例中,在所述当接收到多个所述自定义算法,确定预设的所述默认算法的数量之后,还包括:当所述默认算法的数量与多个所述自定义算法不对应,将多个所述自定义算法依据预设条件排序;根据排序完成的多个所述自定义算法对所述默认算法进行替换,以使得在多次巡检中能够使用不同的自定义算法。

第二方面,本发明实施例提供了一种内存巡检系统,包括:

第一内存固件,用于接收自定义算法;

处理器,用于接收用于启动巡检的第一指令;

第二内存固件,用于根据所述自定义算法对预设的默认算法进行替换;

控制器,用于根据所述自定义算法对内存进行巡检,并得到巡检结果。

第三方面,本发明实施例提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,实现如上述第一方面的内存巡检方法。

本发明实施例包括:在接收到用户提交的并且已经经过了验证的自定义算法之后,当需要进行巡检时,系统接收到用于启动巡检的第一指令,并在第一指令的指示下,根据自定义算法对预设在系统中的默认算法进行替换,从而根据自定义算法来对内存进行巡检,并将得到的巡检结果进行反馈。根据本发明实施例提供的方案,在常规使用默认算法的巡检模式的基础上,额外提供用户自定义算法的巡检模式,为使用者可能需要进行的动态刷新和使用自定义巡检算法提供支持,提高了内存巡检的可靠性、可用性和可服务性。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。

图1是本发明实施例提供的内存巡检方法的流程图;

图2是本发明实施例提供的设备在线巡检的流程图;

图3是本发明实施例提供的设备离线巡检的流程图;

图4是本发明实施例提供的故障处理的流程图;

图5是本发明实施例提供的定期巡检的流程图;

图6是本发明实施例提供的内存巡检系统的模块框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

需要说明的是,虽然在模块示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于模块中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

本发明实施例描述的内存巡检方法以及应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域技术人员可知,随着协议检测领域的演变和新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。

如图1所示,图1是本发明实施例提供的内存巡检方法的流程图。可以理解的是,本发明提出了一种内存巡检方法,包括但不限于有步骤S100,步骤S200,步骤S300以及步骤S400。

步骤S100,接收自定义算法。

步骤S200,接收用于启动巡检的第一指令。

步骤S300,根据自定义算法对预设的默认算法进行替换。

步骤S400,根据自定义算法对内存进行巡检,并得到巡检结果。

可以理解的是,在接收到用户提交的并且已经经过了验证的自定义算法之后,当需要进行巡检时,系统接收到用于启动巡检的第一指令,并在第一指令的指示下,根据自定义算法对预设在系统中的默认算法进行替换,从而根据自定义算法来对内存进行巡检,并将得到的巡检结果进行反馈。本方法在常规使用默认算法的巡检模式的基础上,额外提供用户自定义算法的巡检模式。由于在实际使用的过程中,需要对内存进行更加深度的检测,这使得使用者本身对内存有更为深刻的研究,他们的设计水平并不比硬件提供者低,因此,自定义算法这一巡检模式的提供,为客户带来了更多的可能性,提高了使用者的潜在收益。同时,也为使用者可能需要进行的动态刷新和使用自定义巡检算法提供支持,提高了内存巡检的可靠性、可用性和可服务性。

可以理解的是,在将自定义算法来对预设的默认算法进行替换时,如果接收到的自定义算法有多个,则此时系统会确定预设的默认算法的数量。当系统中存储有多个默认算法,并且接收到的多个自定义算法分别对应了系统中预设的多个默认算法,则建立多个默认算法与多个自定义算法之间的对应关系,并且根据对应关系来进行相应的替换;也可以是,在系统中的默认算法的数量与多个自定义算法并不对应,或者默认算法只有一个的情况下,将多个的自定义算法按照预设条件进行排序,然后再将排序好的自定义算法来对默认算法进行替换,从而在之后的多次巡检中依次使用不同的自定义算法。本发明对此不作具体限定。

需要说明的是,在本发明中提出的内存巡检方法中,除了使用用户提交的自定义算法来进行巡检以外,也可以直接使用系统中预设的默认算法来进行巡检,本发明对此不作具体限定。

可以理解的是,在执行步骤S100,接收自定义算法之后,还需要将该自定义算法存储至本地服务器。在接收到用户提交的自定义算法之后,处理器将接收到的自定义算法批量下发至内存固件上,内存固件进而对这些自定义算法进行存储,以便设备在离线状态下也能够使用这些自定义算法来对内存进行巡检,这非常适用于设备调试、工厂的老化以及FT(Final Test,最终测试)等场景。

如图2所示,图2是本发明实施例提供的设备在线巡检的流程图。可以理解的是,图1所示实施例中的步骤S300,包括但不限于有步骤S310,步骤S320以及步骤S330。

步骤S310,确定设备状态,设备状态包括在线和离线。

步骤S320,当设备状态为在线,对业务状态进行检测,业务状态包括业务空闲期和业务忙碌期。

步骤S330,确定业务状态为业务空闲期,根据自定义算法对预设的默认算法进行替换。

可以理解的是,当系统接收到用于启动巡检的第一指令之后,由于在线状态下可能有业务在运行,因此与离线状态下的巡检步骤有不同,因此需要执行步骤S310,确定设备状态,其中,设备状态包括有在线状态和离线状态。当确定当前的设备状态为在线之后,执行步骤S320,对业务状态进行检测,其中,业务状态包括业务空闲期和业务忙碌期。当确定处于业务空闲期时(即无业务运行),执行步骤S330,根据自定义算法对预设的默认算法进行替换处理。此后,系统利用业务空闲期,根据自定义算法来启动巡检。

需要说明的是,在执行步骤S320,对业务状态进行检测的过程中,如果检测得知当前的业务状态为业务忙碌期,由于系统在有业务运行的时候进行巡检,可能会导致业务不能流畅运行,因此需要对业务状态持续进行检测,直至检测确定业务状态为业务空闲期,再使用自定义算法对默认算法进行替换,从而启动巡检,以便对内存的可靠性,可用性以及可保护性进行测试。

如图3所示,图3是本发明实施例提供的设备离线巡检的流程图。可以理解的是,图1所示实施例中的步骤S300,还包括但不限于有步骤S340以及步骤S350。

步骤S340,确定设备状态,设备状态包括在线和离线。

步骤S350,当设备状态为离线,根据自定义算法对预设的默认算法进行替换。

可以理解的是,当确定设备状态为离线状态时,由于此时系统中没有业务运行,系统能够直接根据自定义算法对预设的默认算法进行替换,从而启动巡检。

如图4所示,图4是本发明实施例提供的故障处理的流程图。可以理解的是,本发明提出的内存巡检方法,还包括但不限于有步骤S510和步骤S520。

步骤S510,根据巡检结果得到故障问题。

步骤S520,根据预设措施对故障问题进行处理。

可以理解的是,经过巡检之后,能够得知当前内存中哪些位置是性能良好的,而哪些位置是存在故障或者可能会发生故障的。在得到这些故障问题之后,系统会根据预设措施来对故障问题进行处理。其中,预设措施包括但不限于有硬件修复,软件修复和缺陷空间隔离。

如图5所示,图5是本发明实施例提供的定期巡检的流程图。可以理解的是,本发明提出的内存巡检方法,还包括但不限于有步骤S610和步骤S620。

步骤S610,接收第二指令,第二指令用于启动等时间间隔的多次巡检。

步骤S620,根据预设间隔,定期启动巡检。

可以理解的是,本方法中也可以根据实际需求来发起用于启动等时间间隔的多次巡检的第二指令。当系统接收到第二指令之后,会根据预设间隔,定期对内存进行巡检。在设备实际使用的过程中,定期的离线/在线巡检,能够有效地检测和预测内存质量。同时,用户的自定义算法这一巡检模式,也使得在定期的多次巡检中使用不同的算法,从而完成多种参数指标的测试。

如图6所示,图6是本发明实施例提供的内存巡检系统的模块框图。可以理解的是,本发明还提出了一种内存巡检系统100,包括但不限于有处理器110、第一内存固件120、第二内存固件130以及控制器140。其中,处理器110,用于接收自定义算法;第一内存固件120,用于接收用于启动巡检的第一指令;第二内存固件130,用于根据自定义算法对预设的默认算法进行替换;控制器140,用于根据自定义算法对内存进行巡检,并得到巡检结果。处理器110在获得用户提交的并且已经经过了验证的自定义算法之后,通过第一内存固件120来对自定义算法进行存储。在需要进行巡检时,第一内存固件120接收用于启动巡检的第一指令。在第一指令的指示下,第二内存固件130根据自定义算法对预设在系统中的默认算法进行替换。进而根据自定义算法,通过控制器140来启动对内存的巡检,并将得到的巡检结果进行反馈。根据本发明实施例提供的方案,在常规使用默认算法的巡检模式的基础上,额外提供用户自定义算法的巡检模式,为使用者可能需要进行的动态刷新和使用自定义巡检算法提供支持,提高了内存巡检的可靠性、可用性和可服务性。

此外,本发明实施例提供了一种内存巡检系统。其中,该内存巡检系统可以包括终端设备和HTTP服务器。该内存巡检系统包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述实施例中的内存巡检方法。

存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序,如本发明上述实施例中的内存巡检方法。处理器通过运行存储在存储器中的非暂态软件程序以及指令,从而实现上述本发明上述实施例中的内存巡检方法。

存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储执行上述实施例中的内存巡检方法所需的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。需要说明的是,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

实现上述实施例中的内存巡检方法所需的非暂态软件程序以及指令存储在存储器中,当被一个或者多个处理器执行时,执行上述实施例中的内存巡检方法,例如,执行以上描述的图1中的方法步骤S100至步骤S400、图2中的方法步骤S310至步骤S330、图3中的方法步骤S340至步骤S350、图4中的方法步骤S510至步骤S520以及图6中的方法步骤S610至步骤S620中的至少一种。

本发明还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使计算机执行如上述实施例中的内存巡检方法,例如,执行以上描述的图1中的方法步骤S100至步骤S400、图2中的方法步骤S310至步骤S330、图3中的方法步骤S340至步骤S350、图4中的方法步骤S510至步骤S520以及图6中的方法步骤S610至步骤S620中的至少一种。

以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

上面结合附图对本发明实施例作了详细说明,本发明不限于上述实施例,在技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。

相关技术
  • 一种内存共享方法、容器管理平台及计算机可读存储介质
  • 内存数据库锁的实现方法和装置及计算机可读存储介质
  • 机房巡检方法、装置、电子设备及计算机可读存储介质
  • 巡检路径规划方法、装置、无人机和计算机可读存储介质
  • 显示方法及系统、计算机系统及计算机可读存储介质
  • 内存页隔离方法、内存监控系统及计算机可读存储介质
  • 水泵的巡检方法、巡检系统、水泵及计算机可读存储介质
技术分类

06120115870422