确定存储驱动器的健康的制作方法

文档序号:16367013发布日期:2018-12-22 08:29阅读:164来源:国知局
确定存储驱动器的健康的制作方法

存储驱动器(例如,硬盘驱动器或固态驱动器)可以包括为了监测并报告各种性能和遥测指标的自我监测、分析及报告技术(s.m.a.r.t.)系统。计算机系统可以依赖于由存储驱动器的s.m.a.r.t.系统所提供的、为了评估驱动器的健康的指标。

附图说明

图1和图6是根据示例实施方式的计算机系统的示意图。

图2和图5是根据示例实施方式的描绘用于确定存储驱动器的健康的技术的流程图。

图3图示了根据示例实施方式的用于生成对于存储驱动器的健康等级条的过程。

图4是根据示例实施方式的对于存储驱动器的健康等级条的图示。

图7是根据示例实施方式的与监测存储驱动器群体的健康相关联的基于图形用户界面(gui)的仪表板的图示。

图8是根据示例实施方式的与监测存储驱动器的各方面相关联的基于gui仪表板的图示。

具体实施方式

及时地检测存储驱动器(例如,硬盘驱动器或固态驱动器)何时将要故障对于允许采取预防动作(故障切换操作、热调换、数据备份操作等)以最小化驱动器故障对计算机系统的影响可能是重要的。因此,计算机系统可以为了连续地评估驱动器的健康来监测存储驱动器性能。

计算机系统评估存储驱动器的健康的一种方式是估算由驱动器提供或报告的一个或多个性能指标数值。例如,存储驱动器可以报告与不同的s.m.a.r.t.属性类别(例如读取错误率、吞吐量性能、起转时间(spin-uptime)、查找错误率、读取信道冗余等)相关联的数值。通过将所报告的数值与相关联的阈值比较,计算机系统可以获得存储驱动器健康的图片。

单纯依赖于s.m.a.r.t.报告来评估存储驱动器健康的挑战在于报告的各方面可能取决于存储驱动器的制造商。以这种方式,由存储驱动器所报告的特定s.m.a.r.t.属性类别(在所有可能的s.m.a.r.t.属性类别外)以及所报告的属性类别的数值范围可能因制造商而异。同样,s.m.a.r.t.属性报告可以提供存储驱动器健康的非标准化图片。因此,这种方案可以不适用于监控了与许多制造商相关联的相对较大群体的存储驱动器的健康的计算机系统。

根据在此所述的示例实施方式,大数据分析方案由计算机系统使用以确定相对较大群体的存储驱动器(例如数百存储驱动器)中的给定存储驱动器的健康。更具体地,根据在此所述的示例实施方式,对于一群体存储驱动器,计算机系统将由存储驱动器所报告的属性数值(s.m.a.r.t.属性数值,例如)转换为标准化或归一化属性数值;至少部分地基于归一化属性数值来确定对于存储驱动器的度量(例如健康分数);以及至少部分地基于对于给定存储驱动器的一个或多个度量以及对于群体中的至少另一个存储驱动器的一个或多个度量来确定群体中的给定存储驱动器的健康。根据示例实施方式,计算机系统应用基于机器的学习以基于对于群体的度量的观察时间曲线来确定度量阈值,由此可以通过将对于给定存储驱动器的度量与度量阈值比较来评估群体中的给定存储驱动器的健康。

作为更具体的示例,图1描绘了根据示例实施方式的计算机系统100。作为示例,计算机系统100可以是局域网(lan)、广域网(wan)、服务器、客户端、存储区域网(san)、台式计算机等。不论其特定的形式,计算机系统100具有存储驱动器110的群体。以这样的方式,存储驱动器110可以是硬盘驱动器、光存储驱动器,固态驱动器(ssd)、与这些存储技术中的一些存储技术的组合相关联的驱动器等。根据示例实施方式,计算机系统100可以对于群体中的每个存储驱动器110确定相关联的健康分数(也即度量)集合140。作为示例,对于存储驱动器110的给定分数集合140可以包括对于存储驱动器110的总健康分数,以及对于存储驱动器110的相关联的性能相关属性的健康分数。

更具体地,根据示例实施方式,计算机系统100包括属性数值收集引擎120,属性数值收集引擎120获取表示对于每个存储驱动器110的性能指标的数值(在此称作“属性数值111”)。作为示例,根据一些实施方式,“属性数值111”可以是与特定s.m.a.r.t.属性类别相关联的s.m.a.r.t.属性数值,例如原始读取错误计数、命令超时计数、再分配扇区计数、端到端错误计数、命令超时计数、再分配扇区计数、当前挂起扇区计数、离线不可校正错误计数等。

例如在此所述的实施方式,较高的属性数值对应于与较低的属性数值相比更好的性能指标。此外,根据示例实施方式,计算机系统100假设存储驱动器110的健康随时间退化。因此,通常,给定属性数值可能已经处于或接近其相对新的存储驱动器110的最大值,并且属性数值可以随着时间而下降,因为存储驱动器110的健康随着年龄而退化。然而,应注意,根据其他示例实施方式,属性数值可能不随性能变化,因为增大的属性数值可以对应于减小的性能;并且,根据其他示例实施方式,一些属性数值可以在存储驱动器110的健康随时间退化时增大,并且其他属性数值可以在存储驱动器110的健康随时间退化时减小。

通常,给定存储驱动器110可以与特定制造商和特定型号相关联。因此,存储驱动器110中的一些存储驱动器可以与不同的制造商相关联;并且此外,与相同制造商相关联的一些存储驱动器110可以与不同型号相关联。结果,属性数值111可以是“非标准化的”,其中不同的存储驱动器110可以为一些属性类别(例如,一些s.m.a.r.t.属性类别)提供属性数值111,但是不为其他属性类别提供属性数值111。此外,甚至在存储驱动器110提供属于相同属性类别的属性数值111时,存储驱动器110可以提供不同范围的属性数值。例如,第一存储驱动器110可以对于特定属性类别报告在从50至100范围内的数值111,而第二存储驱动器110(与和第一存储驱动器110不同的制造商相关联)可以对于相同属性类别报告在从40至120范围内的数值111。

根据示例实施方式,属性数值收集引擎120过滤并归一化属性数值111以对于每个存储驱动器110形成标准化、归一化属性数值的对应集合130。作为过滤的一部分,属性数值收集引擎120收集相关属性数值并丢弃不相关的属性数值,以便标准化驱动器群体的属性类别集合。在该上下文中,“相关”属性类别指的是属于属性类别的定义集合的属性类别,并且“不相关”属性类别指的是不属于该集合的属性类别。如在此所述,根据示例实施方式,计算机系统100可以动态地更新或改变哪个属性类别属于属性类别的相关集合的定义,并且同样,相关属性类别集合的成员可以随时间改变。通常,计算机系统100将属于相关集合的属性类别视为在确定存储驱动器健康方面最显著或最有影响力的属性类别。应注意,由属性值收集引擎120的过滤还可以包括去除不良属性数据。

根据示例实施方式,属性数值收集引擎120可以进一步补充由存储驱动器110所报告的数据。例如,属性数值111可以与诸如“制造商字段”等附加信息相关联;并且属性数值收集引擎120可以基于型号名称而填写制造商字段。

标准化将属性数值111转换为通常共用的标度。以这种方式,存储驱动器制造商可能不容易提供属性数值的范围,并且对于相同属性类别的属性数值范围可能因制造商而异。为了归一化属性数值,属性数值收集引擎120可以监控/分析由每个存储驱动器110所提供的属性数值数据集,以便对于每个相关属性类别确定最大值和最小值。基于所确定的范围,属性数值收集引擎120可以将属性数值111转换为共用共同标度的归一化数值集合130。例如,根据一些实施方式,归一化数值可以从0变化至1(对应于从0%至100%的百分数)。例如,属性数值收集引擎120可以确定:对于制造商a,属性“x”可以从0变化至100,并且确定:对于制造商b,属性“x”可以从20变化至100。因此,对于这样的示例,属性数值收集引擎120将对于制造商a的属性“x”的数值50转换为标准化数值0.5,并且将对于制造商b的属性“x”的数值40转换为标准化数值0.25。

根据示例实施方式,属性数值收集引擎120可以执行将先前属性数值聚集为属性数据集合的合并/聚集功能。例如,根据示例实施方式,属性数值收集引擎120可以由运行r语言机器可执行指令的处理器122形成,处理器122竖直地调用关于数据帧的执行函数。

根据示例实施方式,计算机系统100包括评分引擎136,该评分引擎136基于相关联的归一化属性数值集合130对于每个存储驱动器110确定相关联的健康分数集合140。以这种方式,根据示例实施方式,对于存储驱动器110的健康分数集合140包括对于存储驱动器110的总健康分数以及对于每个相关属性类别的分数(称作“属性分数”)。此外,根据示例实施方式,计算机系统100的健康确定引擎150使用回归模型160以至少部分地基于健康分数来产生对于存储驱动器110的健康评估170。作为示例,给定的健康评估170可以是对于相关联的存储驱动器110的估算剩余寿命,和/或健康评估170可以是对于存储驱动器110的健康等级水平(良好、轻度退化、高度退化等)。

更具体地,根据示例实施方式,健康确定引擎150被构建,用于将基于机器学习的回归分析应用于对于存储驱动器群体的所观察的健康分数,以根据属性分数学习总健康分数的时间衰减。根据示例实施方式,基于所学习的时间衰减,健康确定引擎150可以确定阈值分数;并且健康确定引擎150可以随后将给定存储驱动器110的总健康分数与阈值分数比较,以便评估存储驱动器110的健康(例如,以健康评估170的形式报告存储驱动器110的健康等级水平或标度)。

通常,机器学习回归通过预测以一个或多个其他变量数值为条件的给定变量的连续数值来解决存储驱动器110何时即将故障或崩溃的预测问题。在此,根据示例实施方式,健康确定引擎150可以预测对于驱动群体以所观察的健康分数为调节的阈值分数;并且如下所述,健康确定引擎150可以使用该阈值分数作为基准,用于确定对于任意存储驱动器110的健康评估170。

根据示例实施方式,为了训练回归模型160,健康确定引擎150可以通过观察存储驱动器110何时离线或者从驱动器110的群体去除(即,健康确定引擎150可以假设去除的存储驱动器110已经到达其寿命终点)来确定特定存储驱动器110故障的时间。健康确定引擎150也可以经由训练输入数据173来获取与已去除的存储驱动器110的状态相关的信息(例如驱动110是否已经故障)。通常,训练输入数据173表示例如可以由人类管理员提供的外部数据。根据示例实施方式,训练输入数据173可以包含由健康确定引擎150使用以训练回归模型的附加标注的训练数据(即,标注的训练数据,除了从监控驱动器群体的时间衰减的引擎150得到的数据之外)。

根据示例实施方式,作为回归分析的一部分,健康确定引擎150可以自适应地识别最显著地影响存储驱动器110的健康的属性类别。以这种方式,根据示例实施方式,健康确定引擎150可以识别最大数目的属性类别,这最显著地影响驱动器的总健康分数的所观察的时间衰退,即,引擎170可以对应地识别相关属性类别。健康确定引擎150可以与属性数值收集引擎120通信,以便为属性数值收集引擎120编程或指示有相关属性类别。根据示例实施方式,“最大数目”可以是预定数目的最有影响力的属性类别。根据一些实施方式,健康确定引擎150可以定期(例如周期性地)识别最大数目的属性类别,使得由属性数值收集引擎120使用的相关属性类别可以随时间改变。此外,根据一些实施方式,健康确定引擎150可以增大或减小相关属性集合的成员的数目。

结合图1参照图2,因此,通常,根据示例实施方式,计算机系统100可以执行技术200,该技术200包括:对于多个存储驱动器中的每个存储驱动器,至少部分地基于与存储驱动器相关联的多个属性来确定(框204)与存储驱动器相关联的度量。可以至少部分地基于与给定存储驱动器相关联的度量以及与一个或多个其他存储驱动器相关联的一个或多个其他度量来确定(框208)给定存储驱动器的健康,依照框208。

返回参照图1,根据一些实施方式,属性数值收集引擎120、评分引擎136和健康确定引擎150可以分别包含处理器122、138和152。以这种方式,给定处理器例如可以是包含一个或多个处理内核的中央处理单元(cpu)。取决于特定实施方式,引擎120、136和150中的一个或多个可以共用给定cpu。以这种方式,根据一些实施方式,引擎120、136和150可以至少部分地由机器可执行指令、或运行在cpu上的“软件”形成。根据其他示例实施方式,引擎120、136和150中的一个或多个可以由专用硬件部件(例如专用硬件电路)形成。因此,预期许多实施方式,这些实施方式在所附权利要求的范围内。

根据一些实施方式,评分引擎136通过将对应归一化属性数值乘以相关联的权重来确定给定属性健康分数;并且评分引擎136通过将与驱动器110相关联的属性健康分数求和来确定对于给定存储驱动器110的总健康分数。通常,权重表示健康确定引擎110认为相关属性健康分数对于评估或确定总体存储驱动器健康的目的有多重要,因为计算机系统100可以确定一些相关属性类别比其他相关属性类别影响存储驱动器健康的时间衰减更多。作为示例,根据示例实施方式,经由回归分析,健康确定引擎150可以规律地确定对于相关属性类别中的每个的影响程度,并且与评分引擎136通信以为引擎136指示或编程有属性权重。因此,加权本质上可以是动态的,并且作为正在进行的回归分析的结果可以改变。

根据示例实施方式,评分引擎136还可以将每个属性健康分数与属性健康分数阈值相关联,这表示在将相关联的存储驱动器健康视作临界之前对于属性分数的较低限制。因此,根据示例实施方式,健康确定引擎150可以基于以下任一个来将给定存储驱动器110视为具有故障或临界健康:1、给定存储驱动器110的总健康分数(根据属性分数的加权组合计算)下降预定阈值的某一百分数(如由回归分析所确定的);或者2、对于存储驱动器110的给定属性健康分数降到低于相关联的属性健康分数阈值。根据示例实施方式,健康确定引擎150可以基于回归分析的结果来调节属性健康分数阈值。因此,类似于权重,阈值指派可以是动态的并且作为正在进行的回归分析的结果而改变。

作为更具体的示例,属性数值收集引擎120可以编程为收集属于以下所列出七个相关属性类别的属性数值:

表格1示例属性权重和阈值

除了相关属性类别之外,表格1表示对于每个属性类别的相关联的权重和相关联的属性健康分数阈值。对于表格1中的示例,原始读取错误(在表格1中称作“原始读取错误”并且分配50%的权重)比当前挂起请求的数目(表格1中称作“当前挂起”并分配40%的权重)具有更显著性,因为,对于该示例,健康确定引擎150确定:原始读取误差退化比当前挂起请求的数目对于存储驱动器110的总健康具有更多的影响。

如上所述,属性健康分数阈值是一数值,作为百分数(或作为对应的几分之一),该数值表示相关联属性健康分数数值可以衰减多久,直至该数值被认为对于总健康计算是临界的。对于表格1中的示例,再分配扇区计数(在表格1中称作“再分配扇区计数”)具有相关联阈值70%,这意味着在对应属性健康分数达到70%时,则相关联的存储驱动器110已经到达故障点。根据示例实施方式,阈值可以由健康确定引擎150再访问并随时间调节。

根据示例实施方式,计算机系统100可以以健康等级条的形式提供相关联的存储驱动器110的当前健康状态的视觉指示。以这种方式,如以下进一步所述,健康等级条可以作为图形用户界面(gui)的一部分显示在计算机系统100的显示监视器上。健康等级条视觉地表示:1、对于存储驱动器(以百分数)的从0%(最低分数)至100%(最高分数)的总健康分数;以及2、有助于总健康分数的属性健康分数。通常,健康等级条的高度表示对于存储驱动器110的总健康分数。

结合图1参照图3,根据示例实施方式,可以确定健康等级条,如由示例过程300所描绘的。首先,如在302处所示,健康等级条具有最大百分数100(对应于最大总健康分数),例如在相关联存储驱动器100相对较新时。如在310处所示,健康等级条可以具有(作为示例)十个可应用权重,(即,每个10%),并且可以对于分数选择七个(作为示例)相关属性。如在附图标记320处所示,对这七个属性分配不同的相关联阈值权重以加起来达到100%。例如,属性1分配20%的权重,属性2分配20%的权重,属性3分配20%的权重;以及属性4、属性5、属性6和属性7每个分配10%的权重。给定这些权重,属性数值因此倍乘(以产生对应的属性分数342、344、346、348、350、352和354),并且求和以产生健康等级条,如在330处所示。健康等级条330的高度表示存储驱动器110的总健康分数。如在附图标记340处所描绘的,每个属性分数可以是相关联的属性阈值。例如,属性1分数342具有70%的相关联属性阈值,并且属性5分数350具有10%的属性阈值。这些属性阈值标记(如图3中所描绘的)可以由健康等级条中对应的视觉标记高亮显示或者不高亮显示,这取决于特定实施方式。

根据示例实施方式,每个存储驱动器110具有相同的健康等级条结构。因此,可以独立地监控属性和阈值;并且此外,可以监控总健康分数,以便确定哪些属性影响总健康分数。

给定存储驱动器110可以不报告在计算存储驱动器110的总健康中考虑的所有相关属性。例如,给定存储驱动器110可以不报告对于给定属性类别的数值。对于这种情形,评分引擎136(图1)将指派给遗漏属性类别的对应百分数分配给健康等级条的另一相关属性类别,以考虑每个权重。例如,如果给定的遗漏属性类别具有权重10,则评分引擎136分配剩余的90%之中的10%的权重。

如上所述,根据示例实施方式,由评分引擎136应用的加权可以是自适应的,其中可以将新属性类别添加至相关集合,然而可以从相关集合删去现有属性类别。根据示例实施方式,如果在健康分数的计算开始之后报告对于特定属性类别的数值,评分引擎136考虑该数值并重新设置阈值和总健康分数以反应新属性的影响。此外,评分引擎136可以重新设置阈值、权重和健康以反应被删去的任何属性类别的影响。

根据示例实施方式,评分引擎136可以如下计算属性健康分数:

其中,“maxattrvaluebymanufacturer”表示对于模型和制造商的给定属性类别所观察的最大值。给定属性的衰减可以如下计算:

其中“relativearea”表示总健康条中相关属性的面积。给定存储驱动器110的具有n个属性分数的总健康可以如下计算:

overallhealth(drivesn)=attributedecay(attribute2)+...+attributedecay(attribute1)+attributedecay(attributen)方程3

因此,通过应用方程1、方程2和方程3,评分引擎136可以确定对于特定存储驱动器110的总健康分数。此外,如上所述,健康确定引擎150可以监控健康分数的时间衰减并且基于所监控的衰减训练回归模型160。根据示例实施方式,健康确定引擎150可以将表示监控条的数据存储在表格中,每次确定对于存储驱动器110的健康条时添加执行的日期时间。在一段时间期间,健康条衰减,并且健康确定引擎150可以使用所观察的衰减来训练回归模型160。

作为更具体的示例,图4是对于五个各自存储驱动器110的健康等级条410、416、420、426和432的图示400。根据示例实施方式,健康确定引擎150确定总健康等级阈值分数,通过应用回归分析来比较总驱动器健康(即,健康等级条的高度被比较)。此外,健康确定引擎150调节阈值分数,这取决于相关联存储驱动器110所使用的属性类别的数目。例如,健康等级条410、416和420每个与七个属性类别相关联并分别具有相同的相关联阈值分数414、418和423。健康等级条426和430每个与五个属性类别相关联(即,两个相关属性类别并未由相关存储驱动器110报告)并且具有较低(由于属性类别的较少数目)且相同的相关联阈值429和434。每个健康等级条410、416、420、426和432分别具有相关联总分数411、417、421、427和432。

通过比较总分数与其相关阈值分数,健康确定引擎150可以将等级水平或标度指派给存储驱动器110(即,确定相关健康评估170)。例如,根据示例实施方式,健康确定引擎150可以计算总分数与阈值分数的百分比并如下指派健康等级(低于阈值、高度退化、合理退化、轻度退化或良好):

–∞至0=低于阈值

0%至35%=高度退化

36%至65%=合理退化

66%至95%=轻度退化

95%至100%=良好

该计算提供了每个存储驱动器110如何执行的快照,并且在应用于群体时,该计算提供了标准方法用于比较跨多个制造商的存储驱动器健康。

根据一些实施方式,计算机系统100可以提供具有一个或多个仪表板以用于监控驱动器健康的gui,如由图7的基于gui仪表板的示例所示。仪表板700允许监控一群存储驱动器110的健康。例如,仪表板700描绘了若干存储驱动器110对日期的健康。因此,仪表板700可以提供驱动器群体的健康对时间的总快照的视觉描绘。此外,仪表板700可以描绘可滚卷的窗口720,允许检查特定存储驱动器110,分析对于存储驱动器110的属性分数。此外,仪表板700可以包括直方图710,允许历史地视觉化每个等级的存储驱动器110的数目;直方图722,提供每个分类等级的存储驱动器110的计数;以及直方图730,描绘由制造商的退化等级的计数。

参照图8,根据一些实施方式,计算机系统100可以提供基于gui的仪表板800,该仪表板800允许分析对于特定存储驱动器110的属性。在这点上,可以例如通过“点击”来自图7的仪表板700的特定存储驱动器110来选择仪表板800。除其他特征外,仪表板800包括:图810,描绘驱动存储器110随时间的总健康分数;可滚卷窗口830,描绘对于特定日期的总健康分数;以及窗口820,描绘对于存储驱动器110的随时间的单个属性分数。

参照图5,总之,根据示例实施方式,技术500包括从多个存储驱动器接收(框504)多个属性数值,并归一化(框508)多个属性数值以为每个存储驱动器提供相关联的归一化后的属性数值的集合。依照技术500,对于每个存储驱动器,对相关联的归一化后的属性数值的集合进行选择性加权;并且依照框512,将加权后的属性数值组合以确定存储驱动器的度量。随后可以至少部分地基于随时间对度量的观察来学习(框516)存储驱动器退化行为。随后可以应用(框520)所学习的存储驱动器退化行为来确定多个存储驱动器中的给定存储驱动器的健康。

结合图1参照图6,根据示例实施方式,计算机系统100可以具有架构600。通常,架构600表示包含了真实硬件602和机器可执行指令650或“软件”的真实物理机器。作为示例,硬件602可以包括一个或多个处理内核606(例如,一个或多个cpu内核)、存储器608、一个或多个网络接口614、显示器612、存储驱动器110等。通常,存储器608是非暂时性存储介质,该非暂时性存储介质可以存储数据和机器可执行指令或程序指令,机器可执行指令或程序指令由一个或多个处理内核606执行,以便执行在此所述技术中的一个或多个的一部分或全部。存储器608可以由半导体存储设备、磁性存储设备、快闪存储设备、易失性存储设备、非易失性存储设备、这些存储器技术中的一些的组合等来形成。

通常,机器可执行指令650可以包括指令654,该指令654在由处理内核606执行时形成属性数值收集引擎120;指令662,该指令662在由处理内核606执行时形成评分引擎136;以及指令658,该指令658在由处理内核606执行时形成健康确定引擎150。此外,机器可执行指令650可以包括指令670,该指令670在由处理内核606执行时形成图形用户界面(gui)670,该gui(例如,在显示器612上)显示给定存储驱动器的健康、多个存储驱动器的健康、整个存储驱动器群体的健康、在此所述的仪表板、健康等级条等的表示。同样如图6中所描绘的,计算机系统100可以存储数据666,该数据666表示回归模型160的参数。

尽管已经参照有限数目实施例描述了本发明,受益于本公开的本领域技术人员将知晓由此得到的若干修改和变形。旨在所附权利要求覆盖如落入本发明的真实精神和范围内的所有这种修改和变形。

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