SSD终端故障诊断方法、系统、计算机设备和存储介质与流程

文档序号:22124249发布日期:2020-09-04 17:00阅读:281来源:国知局
SSD终端故障诊断方法、系统、计算机设备和存储介质与流程

本发明涉及固态硬盘技术领域,特别是涉及一种ssd终端故障诊断方法、系统、计算机设备和存储介质。



背景技术:

随着固态硬盘价格的下跌,固态硬盘越来越普及,nvmessd简称ssd以其优越的性能更是发展迅猛,各大电脑厂商纷纷将硬盘做成nvmessd,从可靠性和性能方面为用户提供较好的体验。

目前,由于ssd的应用区域遍布各地,如果系统一旦出现问题,需要进行逐级的排查,确认问题关联ssd后才能将盘退回供应商进行问题排查。如此效率很低,从问题发现到分析/定位常常需要花费数月之久。因此,如何有效地对ssd进行问题诊断以及错误信息搜集是定位问题的重要因素之一,也是改善ssd质量的关键。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种可以实现提高故障诊断效率的ssd终端故障诊断方法、系统、计算机设备和存储介质。

一种ssd终端故障诊断方法,所述方法包括:

当ssd检测到有异常发生时进入诊断模式,在所述诊断模块中ssd对内部器件及数据进行诊断;

判断当前诊断是否完成;

若诊断未完成,则按照特定频率闪烁指示灯以表征诊断中的状态;

若在诊断过程中接收到主机下发的命令,则向所述主机返回错误状态以表征诊断中的状态;

继续对内部器件及数据进行诊断直至诊断完成。

在其中一个实施例中,所述ssd对内部器件及数据进行诊断的步骤包括:

检查soc各个模块功能是否正常;

检查外设是否工作正常;

检查系统数据区是否正常;

检查用户数据区是否正常。

在其中一个实施例中,在所述判断当前诊断是否完成的步骤之后还包括:

若诊断已完成则生成对应的诊断日志,所述诊断日志包括日志上传地址信息及故障分析;

待主机下发获取诊断日志命令时,向所述主机返回生成的诊断日志。

在其中一个实施例中,所述方法还包括:

通过监控程序持续查询诊断是否完成,若诊断已完成则获取ssd返回的诊断日志;

根据所述诊断日志中的上传地址信息,将故障分析上传到对应的ssd供应商服务器以使ssd供应商根据所述诊断日志快速定位问题。

一种ssd终端故障诊断系统,所述系统包括:

异常检测模块,所述异常检测模块用于当ssd检测到有异常发生时进入诊断模式,在所述诊断模块中ssd对内部器件及数据进行诊断;

判断模块,所述判断模块用于判断当前诊断是否完成;

状态表征模块,所述状态表征模块用于若诊断未完成,则按照特定频率闪烁指示灯以表征诊断中的状态;

状态返回模块,所述状态返回模块用于若在诊断过程中接收到主机下发的命令,则向所述主机返回错误状态以表征诊断中的状态;

诊断模块,所述诊断模块用于对内部器件及数据进行诊断直至诊断完成。

在其中一个实施例中,所述诊断模块具体用于:

检查soc各个模块功能是否正常;

检查外设是否工作正常;

检查系统数据区是否正常;

检查用户数据区是否正常。

在其中一个实施例中,所述系统还包括日志生成模块,所述日志生成模块用于:

若诊断已完成则生成对应的诊断日志,所述诊断日志包括日志上传地址信息及故障分析;

待主机下发获取诊断日志命令时,向所述主机返回生成的诊断日志。

在其中一个实施例中,所述系统还包括主机端,所述主机端用于:

通过监控程序持续查询诊断是否完成,若诊断已完成则获取ssd返回的诊断日志;

根据所述诊断日志中的上传地址信息,将故障分析上传到对应的ssd供应商服务器以使ssd供应商根据所述诊断日志快速定位问题。

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项方法的步骤。

上述ssd终端故障诊断方法、系统、计算机设备和存储介质当ssd检测到有异常发生时进入诊断模式,并在所述诊断模块中ssd对内部器件及数据进行诊断;判断当前诊断是否完成;若诊断未完成,则按照特定频率闪烁指示灯以表征诊断中的状态;若在诊断过程中接收到主机下发的命令,则向所述主机返回错误状态以表征诊断中的状态;继续对内部器件及数据进行诊断直至诊断完成。本发明通过内建的ssd故障诊断,以及主机端的工具,当发生问题时,ssd能够自动检测可能的部件及逻辑错误,将诊断结果进行汇总,以实现ssd供应商可以实时获取到对应的诊断日志,故而可以及时有效地进行问题分析,提高ssd故障诊断效率。

附图说明

图1为传统的ssd失效分析流程示意图;

图2为一个实施例中ssd终端故障诊断系统框架的交互示意图;

图3为一个实施例中ssd终端故障诊断方法的流程示意图;

图4为另一个实施例中ssd终端故障诊断方法的流程示意图;

图5为再一个实施例中ssd终端故障诊断方法的流程示意图;

图6为又一个实施例中ssd终端故障诊断方法的流程示意图;

图7为一个实施例中ssd端执行ssd终端故障诊断方法的流程示意图;

图8为一个实施例中ssd终端故障诊断系统的结构框图;

图9为另一个实施例中ssd终端故障诊断系统的结构框图;

图10为一个实施例中计算机设备的内部结构图。

具体实施方式

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

如图1所示,为目前传统的ssd失效分析流程示意图,主要步骤如下的实现步骤:

s0:终端客户获取一些基础log信息。

s1:终端客户将log信息反馈给pc供应商。

s2:pc供应商将log信息反馈给ssd供应商。

s3:ssd供应商进行基础分析。

s4:需要获取盘进行进一步分析,终端客户将盘返回给pc供应商。

s5:pc供应商将盘返回给ssd供应商。

s6:ssd供应商对盘进行深入分析,定位问题根因。

从上述流程可以看到,在传统技术中一个失效流程的分析涉及到终端用户/pc供应商/ssd供应商,从初步的分析例如:基础log,如smart等标准信息到深入分析例如:盘实体,环节诸多,定位问题效率比较低。

在一个实施例中,如图3所示,提供了一种ssd终端故障诊断方法,该方法包括:

步骤302,当ssd检测到有异常发生时进入诊断模式,在诊断模块中ssd对内部器件及数据进行诊断;

步骤304,判断当前诊断是否完成;

步骤306,若诊断未完成,则按照特定频率闪烁指示灯以表征诊断中的状态;

步骤308,若在诊断过程中接收到主机下发的命令,则向主机返回错误状态以表征诊断中的状态;

步骤310,继续对内部器件及数据进行诊断直至诊断完成。

本方法提供了一种ssd终端故障诊断方法,该方法可以应用于如图2所示的ssd终端故障诊断框架中。在该ssd终端故障诊断框架包括:ssd、终端用户pc即主机端及ssd供应商。具体地,该方法可以应用于ssd中包括如下步骤:

首先,在正常工作的情况下,ssd端与主机端之间正常交互。当ssd检测到错误,进入故障诊断模式。具体地,在该故障诊断模式中,如盘有自带的led灯,则进入特定的闪烁模式,提醒用户。此外,主机的任何访问均返回对应的错误提示信息。

在ssd进行自检的过程中,终端客户pc上通过监控程序持续查询自检是否完成。若ssd完成自检,将诊断日志存放本地内存。然后,终端客户pc上的监控程序获取ssd诊断日志。

最后,终端客户pc上的监控程序根据日志中的上传地址信息,将故障诊断分析上传到对应的ssd供应商服务器。供应商在获取上传的信息后,即可及时完成故障分析,准备修复方案。

在本实施例中,当ssd检测到有异常发生时进入诊断模式,并在所述诊断模块中ssd对内部器件及数据进行诊断;判断当前诊断是否完成;若诊断未完成,则按照特定频率闪烁指示灯以表征诊断中的状态;若在诊断过程中接收到主机下发的命令,则向所述主机返回错误状态以表征诊断中的状态;继续对内部器件及数据进行诊断直至诊断完成。本方案通过内建的ssd故障诊断,以及主机端的工具,当发生问题时,ssd能够自动检测可能的部件及逻辑错误,将诊断结果进行汇总,以实现ssd供应商可以实时获取到对应的诊断日志,故而可以及时有效地进行问题分析,提高ssd故障诊断效率。

在一个实施例中,如图4所示,提供了一种ssd终端故障诊断方法,该方法中ssd对内部器件及数据进行诊断的步骤包括:

步骤402,检查soc各个模块功能是否正常;

步骤404,检查外设是否工作正常;

步骤406,检查系统数据区是否正常;

步骤408,检查用户数据区是否正常。

在一个实施例中,如图5所示,提供了一种ssd终端故障诊断方法,该方法在判断当前诊断是否完成的步骤之后还包括:

步骤502,若诊断已完成则生成对应的诊断日志,诊断日志包括日志上传地址信息及故障分析;

步骤504,待主机下发获取诊断日志命令时,向主机返回生成的诊断日志。

在本实施例中提供了一种ssd终端故障诊断方法,具体地可参考图7所示,以ssd端执行该方法的步骤进行说明,包括:

1、ssd检测到异常:例如命令完成不了,访问器件异常,映射表不一致等。

2、ssd进入诊断模式。

3、判断是否诊断完成,如是则进入4;如否则进入5。

4、诊断完成。

4.1、生成诊断日志;

4.2、等待主机下发获取诊断日志命令;

4.3、返回主机诊断结果。

5、诊断未完成。

5.1、按特定频率闪烁指示灯,表征诊断中;

5.2、若接受到主机命令,则返回错误状态,表征诊断中;

5.3、继续内部器件、数据诊断,对应的工作具体可展开为:

-检查soc各个模块功能是否正常;

-检查外设是否工作正常:nor/dram/pmic/nand/sensor…

-检查系统数据区是否正常:映射表等;

-检查用户数据区是否正常。

5.4、返回3。

在本实施例中,实现了当ssd运行发生故障时,通过指示灯以及命令相应返回的状态告知主机进入诊断状态。此外,ssd还可以对各种外设/内存/映射表等进行检查,将排查结果放在本地内存中,以便于后续的故障诊断。

在一个实施例中,如图6所示,提供了一种ssd终端故障诊断方法,该方法还包括:

步骤602,通过监控程序持续查询诊断是否完成,若诊断已完成则获取ssd返回的诊断日志;

步骤604,根据诊断日志中的上传地址信息,将故障分析上传到对应的ssd供应商服务器以使ssd供应商根据诊断日志快速定位问题。

具体地,结合图2所示的ssd终端故障诊断框架,对本实施例提供的ssd终端故障诊断方法中主机端与ssd端交互过程进行完整的说明如下:

s0:终端客户pc与ssd之间正常交互。

s1:ssd检测到错误,进入故障诊断模式:如盘有自带的led灯,则进入特定的闪烁模式,提醒用户;主机的任何访问均返回对应的错误提示信息。

s2:ssd进行自检。

s3:终端客户pc上的监控程序持续查询自检是否完成。

s4:ssd完成自检,将诊断日志存放本地内存,其中诊断日志包含日志上传地址及诊断故障分析。

s5:终端客户pc上的监控程序获取ssd诊断日志。

s6:终端客户pc上的监控程序根据日志中的上传地址信息,将故障诊断分析上传到对应的ssd供应商服务器。

s7:ssd供应商根据此诊断日志,快速定位问题。

进一步地,作为进一步的优化项,可以基于该路径完成修复固件的升级:

s8:ssd供应商发送修复后的故障给到终端用户pc监控程序。

s9:终端客户pc上的监控程序完成修复的固件升级。

在本实施例中,借助ssd内建的诊断程序,终端客户的监控程序,可以实时完成问题的现场自动诊断,以及诊断结果的自动上传匹配的ssd供应商服务器,从而极大地降低了失效分析流程的复杂性,对于问题定位和解决提升了效率。与此同时,基于该框架可以扩展为修复后的固件的下载,完成问题的修复。

应该理解的是,虽然图2-7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图8所示,提供了一种ssd终端故障诊断系统800,该系统包括:

异常检测模块801,用于当ssd检测到有异常发生时进入诊断模式,在所述诊断模块中ssd对内部器件及数据进行诊断;

判断模块802,用于判断当前诊断是否完成;

状态表征模块803,用于若诊断未完成,则按照特定频率闪烁指示灯以表征诊断中的状态;

状态返回模块804,用于若在诊断过程中接收到主机下发的命令,则向所述主机返回错误状态以表征诊断中的状态;

诊断模块805,用于对内部器件及数据进行诊断直至诊断完成。

在一个实施例中,诊断模块805具体用于:

检查soc各个模块功能是否正常;

检查外设是否工作正常;

检查系统数据区是否正常;

检查用户数据区是否正常。

在一个实施例中,如图9所示,提供了一种ssd终端故障诊断系统800,该系统还包括日志生成模块806,用于:

若诊断已完成则生成对应的诊断日志,所述诊断日志包括日志上传地址信息及故障分析;

待主机下发获取诊断日志命令时,向所述主机返回生成的诊断日志。

在一个实施例中,该系统还包括主机端,用于:

通过监控程序持续查询诊断是否完成,若诊断已完成则获取ssd返回的诊断日志;

根据所述诊断日志中的上传地址信息,将故障分析上传到对应的ssd供应商服务器以使ssd供应商根据所述诊断日志快速定位问题。

关于ssd终端故障诊断系统的具体限定可以参见上文中对于ssd终端故障诊断方法的限定,在此不再赘述。

在一个实施例中,提供了一种计算机设备,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器以及网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种ssd终端故障诊断方法。

本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以上各个方法实施例中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上各个方法实施例中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1