自动判断硬盘健康状态的方法、装置、设备及介质与流程

文档序号:21080841发布日期:2020-06-12 16:30阅读:328来源:国知局
自动判断硬盘健康状态的方法、装置、设备及介质与流程

本发明涉及固态硬盘,更具体地说是一种自动判断硬盘健康状态的方法、装置、设备及介质。



背景技术:

判断硬盘是否健康的依据有很多,各家硬盘厂商也不尽相同,主要涉及标准smart中criticalwarning,mediaerror,vendorsmart中新增坏块个数、擦写次数、剩余生命、写放大等参数。一般工具会将这些log保存下来,然后看这些参数是否超过阈值,从而判断该硬盘的健康度。但是这种方式不够直观简洁,试想,如果一次要复判大量的盘,很多数据放在一起,需要研发人员逐个甄别,手工判断严重影响测试效率和准确度。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供了自动判断硬盘健康状态的方法、装置、设备及介质,以提高调试效率,节省人力成本。

为实现上述目的,本发明采用以下技术方案:

第一方面

自动判断硬盘健康状态的方法,所述方法包括:

查找目标盘;

读取目标盘中与健康状态信息相关的健康属性;

将目标盘的健康属性与预设健康条件进行对比,以得出目标盘的健康状态数据;

记录目标盘的健康状态数据并将目标盘的健康状态数据发送至显示界面进行显示。

其进一步技术方案为:所述将目标盘的健康属性与预设健康条件进行对比,以得出目标盘的健康状态数据的步骤,具体包括以下步骤:

检查目标盘的擦写次数;

判断目标盘的擦写次数是否超过预设健康条件,若是,则进入所述设置错误比特位的步骤,若否,则进入所述判断目标盘的写放大是否超过预设健康条件的步骤;

判断目标盘的写放大是否超过预设健康条件,若是,则进入所述设置错误比特位的步骤,若否,则进入所述判断目标盘的vdd是否超过预设健康条件的步骤;

判断目标盘的vdd是否超过预设健康条件,若是,则进入所述设置错误比特位的步骤,若否,则进入所述判断目标盘的新增坏块是否超过预设健康条件的步骤;

判断目标盘的新增坏块是否超过预设健康条件,若是,则进入所述设置错误比特位的步骤,若否,则判断目标盘的剩余寿命是否超过预设健康条件;

判断目标盘的剩余寿命是否超过预设健康条件,若是,则进入所述设置错误比特位的步骤;

设置错误比特位。

其进一步技术方案为:所述将目标盘的健康属性与预设健康条件进行对比,以得出目标盘的健康状态数据的步骤,还包括以下步骤:

获取目标盘的固件版本号;

判断目标盘的固件版本号是否为最新版本,若否,则进入所述设置错误比特位的步骤。

第二方面

自动判断硬盘健康状态的装置,所述装置包括查找单元、读取单元、对比单元以及记录单元;

所述查找单元,用于查找目标盘;

所述读取单元,用于读取目标盘中与健康状态信息相关的健康属性;

所述对比单元,用于将目标盘的健康属性与预设健康条件进行对比,以得出目标盘的健康状态数据;

所述记录单元,用于记录目标盘的健康状态数据并将目标盘的健康状态数据发送至显示界面进行显示。

其进一步技术方案为:所述对比单元包括检查模块、第一判断模块、第二判断模块、第三判断模块、第四判断模块、第五判断模块以及错误比特位设置模块;

所述检查模块,用于检查目标盘的擦写次数;

所述第一判断模块,用于判断目标盘的擦写次数是否超过预设健康条件;

所述第二判断模块,用于判断目标盘的写放大是否超过预设健康条件;

所述第三判断模块,用于判断目标盘的vdd是否超过预设健康条件;

所述第四判断模块,用于判断目标盘的新增坏块是否超过预设健康条件;

所述第五判断模块,用于判断目标盘的剩余寿命是否超过预设健康条件;

所述错误比特位设置模块,用于设置错误比特位。

其进一步技术方案为:所述对比单元还包括获取模块以及第六判断模块;

所述获取模块,用于获取目标盘的固件版本号;

所述第六判断模块,用于判断目标盘的固件版本号是否为最新版本。

第三方面

一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的自动判断硬盘健康状态的方法步骤。

第四方面

一种存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,使得所述处理器执行如上述的自动判断硬盘健康状态的方法步骤。

本发明与现有技术相比的有益效果是:本发明提供的自动判断硬盘健康状态的方法,通过将获取的目标盘中的健康状态信息相关的健康属性与预设健康条件进行对比,可以自动得出目标盘的健康状态数据,并且可通过显示界面对目标盘的健康状态数据进行直观的显示,这大大提高调试效率,节省人力成本。另外,还可以检测目标盘固件版本是不是最新版本号,从而便于及时的对固件进行更新。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明技术手段,可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征及优点能够更明显易懂,以下特举较佳实施例,详细说明如下。

附图说明

图1为本发明自动判断硬盘健康状态的方法具体实施例的流程图一;

图2为本发明自动判断硬盘健康状态的方法具体实施例的流程图二;

图3为本发明自动判断硬盘健康状态的装置具体实施例的结构示意性框图一;

图4为本发明自动判断硬盘健康状态的装置具体实施例的结构示意性框图二;

图5为本发明具体实施例中错误代码图表;

图6为本发明一种计算机设备的示意性框图。

具体实施方式

为了更充分理解本发明的技术内容,下面结合具体实施例对本发明的技术方案进一步介绍和说明,但不局限于此。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

本发明提供了一种自动判断硬盘健康状态的方法,请参考图1,该方法包括以下步骤:

s10、查找目标盘。

具体的,一般需要待测的硬盘有多个,因此,为了从多个待测的硬盘中找到目标盘,则需要获取全部需要待测的硬盘的型号,然后通过将其与预设型号列表进行比较,从而可以找到目标盘,如果没有找到目标盘,则设置错误比特位,表示没有找到目标盘,如果找到目标盘,则检查该盘security状态,查看locked属性,检查该盘是否被锁住。

s20、读取目标盘中与健康状态信息相关的健康属性。

本发明的目的是为了自动判断硬盘健康状态,因此,需要读取目标盘中与健康状态信息相关的健康属性,具体的健康属性包括擦写次数属性、写放大属性、vdd属性、新增坏块属性、剩余寿命属性、mediaerror属性等等。

s30、将目标盘的健康属性与预设健康条件进行对比,以得出目标盘的健康状态数据。

预设健康条件是可根据判断需求进行定制的,因此,可根据实际需求进行设定。例如对于擦写次数而言,设定的预设健康条件是8000次,如果目标盘的擦写次数超过了8000次,则说明目标盘的这一属性是不健康的。

s40、记录目标盘的健康状态数据并将目标盘的健康状态数据发送至显示界面进行显示。

具体的,为了更加直观的查看目标盘的健康状况,可通过gui窗口将目标盘的健康状态数据呈现出来。

进一步的,请参考图2,步骤s30具体包括以下步骤:

s301、获取目标盘的固件版本号;

s302、判断目标盘的固件版本号是否为最新版本,若是,则进入步骤s303,若否,则进入步骤s309;

s303、检查目标盘的擦写次数;

s304、判断目标盘的擦写次数是否超过预设健康条件,若是,则进入步骤s309,若否,则进入步骤s305;

s305、判断目标盘的写放大是否超过预设健康条件,若是,则进入步骤s309,若否,则进入步骤s306;

s306、判断目标盘的vdd是否超过预设健康条件,若是,则进入步骤s309,若否,则进入步骤s307;

s307、判断目标盘的新增坏块是否超过预设健康条件,若是,则进入步骤s309,若否,则进入步骤s308;

s308、判断目标盘的剩余寿命是否超过预设健康条件,若是,则进入步骤s309,若否,则结束判断。

s309、设置错误比特位。

对于步骤s301-s309,通过对上述对目标盘的各健康属性的一一判断,可以有效、快捷的知道目标盘的各属性的健康状态,每一步检查不通过时,则需要设置错误比特位,请参考图5,图5为错误代码表。该表列出了所有的错误,以及错误对应的比特位,错误代码用一个8比特的数据表示。例如错误代码0x00010000,bit4为1,其他bit为0,对照错误代码表可知,bit4表示固件版本号需要更新。此时按钮会提示用户进行固件更新。错误代码0表示绝对健康,无需下一步操作。最后,根据错误代码表分析出是否发生错误,发生了何种错误。而所有的用于判断的预设健康条件都写在配置文件中,可由用户定制标准,相当于一次设置,就完成了现有技术中人工比对的步骤,提升了测试效率和准确性。并且工具设计得灵活利于维护和二次开发,界面通过不同的颜色呈现的结果直观易读。另外,通过gui窗口将各属性的健康状态直观的呈现出来,方便工作人员一目了然的知道目标盘的健康情况,以便采取下一步的合理操作。

在某些实施例中,比如在本实施例中,在步骤s308之后,还增加了一项健康属性的判断,即mediaerro的判断,但有mediaerro错误时,则会进入步骤s309。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

对应于上述的自动判断硬盘健康状态的方法,本发明还提供了自动判断硬盘健康状态的装置,请参考图3,该装置查找单元1、读取单元2、对比单元3以及记录单元4;

查找单元1,用于查找目标盘;

读取单元2,用于读取目标盘中与健康状态信息相关的健康属性;

对比单元3,用于将目标盘的健康属性与预设健康条件进行对比,以得出目标盘的健康状态数据;

记录单元4,用于记录目标盘的健康状态数据并将目标盘的健康状态数据发送至显示界面进行显示。

进一步的,请参考图4,对比单元3包括检查模块31、第一判断模块32、第二判断模块33、第三判断模块34、第四判断模块35、第五判断模块36以及错误比特位设置模块37、获取模块38以及第六判断模块39;

检查模块31,用于检查目标盘的擦写次数;

第一判断模块32,用于判断目标盘的擦写次数是否超过预设健康条件;

第二判断模块33,用于判断目标盘的写放大是否超过预设健康条件;

第三判断模块34,用于判断目标盘的vdd是否超过预设健康条件;

第四判断模块35,用于判断目标盘的新增坏块是否超过预设健康条件;

第五判断模块36,用于判断目标盘的剩余寿命是否超过预设健康条件;

错误比特位设置模块37,用于设置错误比特位;

获取模块38,用于获取目标盘的固件版本号;

第六判断模块39,用于判断目标盘的固件版本号是否为最新版本。

如图6所示,本实施例还提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述的自动判断硬盘健康状态的方法步骤。

该计算机设备700可以是终端或服务器。该计算机设备700包括通过系统总线710连接的处理器720、存储器和网络接口750,其中,存储器可以包括非易失性存储介质730和内存储器740。

该非易失性存储介质730可存储操作系统731和计算机程序732。该计算机程序732被执行时,可使得处理器720执行任意一种自动判断硬盘健康状态的方法。

该处理器720用于提供计算和控制能力,支撑整个计算机设备700的运行。

该内存储器740为非易失性存储介质730中的计算机程序732的运行提供环境,该计算机程序732被处理器720执行时,可使得处理器720执行任意一种自动判断硬盘健康状态的方法。

该网络接口750用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备700的限定,具体的计算机设备700可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。其中,所述处理器720用于运行存储在存储器中的程序代码,以实现以下步骤:

查找目标盘;

读取目标盘中与健康状态信息相关的健康属性;

将目标盘的健康属性与预设健康条件进行对比,以得出目标盘的健康状态数据;

记录目标盘的健康状态数据并将目标盘的健康状态数据发送至显示界面进行显示。

在某些实施例中,所述将目标盘的健康属性与预设健康条件进行对比,以得出目标盘的健康状态数据的步骤,具体包括以下步骤:

检查目标盘的擦写次数;

判断目标盘的擦写次数是否超过预设健康条件,若是,则进入所述设置错误比特位的步骤,若否,则进入所述判断目标盘的写放大是否超过预设健康条件的步骤;

判断目标盘的写放大是否超过预设健康条件,若是,则进入所述设置错误比特位的步骤,若否,则进入所述判断目标盘的vdd是否超过预设健康条件的步骤;

判断目标盘的vdd是否超过预设健康条件,若是,则进入所述设置错误比特位的步骤,若否,则进入所述判断目标盘的新增坏块是否超过预设健康条件的步骤;

判断目标盘的新增坏块是否超过预设健康条件,若是,则进入所述设置错误比特位的步骤,若否,则判断目标盘的剩余寿命是否超过预设健康条件;

判断目标盘的剩余寿命是否超过预设健康条件,若是,则进入所述设置错误比特位的步骤;

设置错误比特位。

在某些实施例中,所述将目标盘的健康属性与预设健康条件进行对比,以得出目标盘的健康状态数据的步骤,还包括以下步骤:

获取目标盘的固件版本号;

判断目标盘的固件版本号是否为最新版本,若否,则进入所述设置错误比特位的步骤。

应当理解,在本申请实施例中,处理器720可以是中央处理单元(centralprocessingunit,cpu),该处理器720还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

本领域技术人员可以理解,图6中示出的计算机设备700结构并不构成对计算机设备700的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明中各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

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

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

上述仅以实施例来进一步说明本发明的技术内容,以便于读者更容易理解,但不代表本发明的实施方式仅限于此,任何依本发明所做的技术延伸或再创造,均受本发明的保护。本发明的保护范围以权利要求书为准。

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