CN115248757A - 一种硬盘健康评估方法和存储设备 - Google Patents
一种硬盘健康评估方法和存储设备 Download PDFInfo
- Publication number
- CN115248757A CN115248757A CN202110812127.3A CN202110812127A CN115248757A CN 115248757 A CN115248757 A CN 115248757A CN 202110812127 A CN202110812127 A CN 202110812127A CN 115248757 A CN115248757 A CN 115248757A
- Authority
- CN
- China
- Prior art keywords
- hard disk
- health
- time
- models
- data
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3447—Performance evaluation by modeling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供一种硬盘健康评估方法和装置,所述方法包括:获取硬盘在指定使用时间的与健康度相关的多个指标的数据;将所述数据输入多个不同的模型;根据所述多个模型的输出确定所述硬盘在所述指定使用时间的健康度获。本申请实施例提供的硬盘健康度评估方法通过对多个模型的输出进行融合,得到稳定且准确的健康度指标。
Description
技术领域
本申请涉及存储技术领域,具体涉及一种硬盘健康评估方法和存储设备。
背景技术
伴随大数据、云计算、人工智能技术的飞速发展,对高可靠性的存储系统的需求日益增多。而存储系统中硬盘的可靠性成为制约存储系统可靠性的重要因素之一,硬盘故障会导致用户数据丢失损坏、系统读写性能降低、存储系统瘫痪等。因此,如何准确地预测硬盘健康度和寿命,成为日益关注的问题。
在硬盘中通常根据自动监视分析及报告技术(Self-Monitoring,Analysis andReporting Technology,SMART),对硬盘中多个参数进行实时监测并记录为SMART数据,从而可基于该SMART数据对每块硬盘进行监控。
在相关技术中,通常通过欧式距离法或者线性评估法等方法评估硬盘的健康度。其中,在欧式距离法中,基于硬盘的SMART数据与阈值数据之间的距离度量硬盘健康度,在线性评估方法中,根据构建的硬盘健康度与时间的线性函数来预测硬盘的健康度。然而,通过上述方法获取的硬盘健康度都不能稳定地指示硬盘的实际健康度,具有较大的误差。
发明内容
本申请实施例旨在提供一种硬盘健康度评估方案,通过对多个异常检测模型的基于硬盘SMART数据的输出值进行融合,得到稳定且准确的健康度指标。
为实现上述目的,本申请第一方面提供一种硬盘健康评估方法,所述方法由存储设备执行,包括:获取硬盘在指定使用时间的与健康度相关的多个指标的数据;将所述数据输入多个不同的模型;根据所述多个模型的输出确定所述硬盘在所述指定使用时间的健康度。一。
通过根据多个不同模型的输出确定硬盘的健康度,综合各个模型的特点,提供了稳定且准确的健康度指标。
在第一方面的一种可能的实现方式中,所述根据所述多个模型的输出确定所述硬盘在所述指定使用时间的健康度具体包括,基于所述多个模型的输出的加权和确定所述硬盘在所述指定使用时间的健康度。
通过对多个模型的输出进行加权求和,对多个模型的输出进行了融合,各个模型的输出的权重可以是相等的,或者可以是不相等的,或者可以是根据不同的场景动态调整。
在第一方面的一种可能的实现方式中,所述多个模型中每个模型基于异常检测算法训练得到,且每个模型所采用的异常检测算法不同。
通过基于不同的异常检测算法训练得到不同的模型,由于异常检测算法为非监督学习,因此不需要对样本进行人工标注,节省了人工成本,同时,异常检测模型可提供较高的预测准确性。
在第一方面的一种可能的实现方式中,所述多个模型的数量为三个,所述三个模型所采用的异常检测算法分别为孤立森林算法、局部异常因子算法、K均值聚类算法。
在第一方面的一种可能的实现方式中,所述多个模型由训练设备发送给所述存储设备或者由所述存储设备训练得到,所述训练设备用于训练所述多个模型。
在第一方面的一种可能的实现方式中,所述多个模型通过以下采样数据进行训练:故障硬盘在寿命结束之前的预设使用时段内的与健康度相关的多个指标的采样数据。
通过采用故障硬盘在寿命结束之前的一段时间内的多个指标的采样数据训练异常检测模型,由于实际中存储设备通常采样硬盘使用寿命后半段的SMART数据,因此,该采样数据更容易获取,另外,由于所述采样数据对应于硬盘的较低健康度,从而使得异常检测模型输出的异常度可与健康度正相关,例如,可直接将该异常度用作为健康度,从而减少了健康度的计算成本。
在第一方面的一种可能的实现方式中,所述硬盘包括目标盘,所述方法还包括:获取或生成多个对标盘的第一数据集,所述第一数据集包括所述对标盘在多个使用时间的健康度;生成所述目标盘的第二数据集,所述第二数据集包括所述目标盘在多个使用时间的健康度,所述第一数据集中的多个使用时间的时间跨度大于所述第二数据集中的多个使用时间的时间跨度;根据所述第一数据集与所述第二数据集对应的多个使用时间的健康度的相似度,选取对标盘;根据所述选取的对标盘的第一数据集,预测所述目标盘在未来的指定时间的健康度。。
通过根据对标盘的数据预测目标盘的健康度,可减少计算成本,并准确地预测目标盘在未来某个时间的健康度。
在第一方面的一种可能的实现方式中,所述根据所述选取的对标盘的第一数据集,预测所述目标盘在未来的指定时间的健康度包括:拟合所述选取的对标盘的第一使用时间的健康度与所述目标盘的第二使用时间的健康度之间的映射关系,所述第一使用时间与所述第二使用时间为对应的时间;根据所述映射关系和所述第一数据集预测所述目标盘在未来多个指定时间的健康度。
通过拟合对标盘的健康度与目标盘的对应使用时间的健康度之间的映射关系,可进一步提高预测的目标盘在未来时间的健康度的准确性。
在第一方面的一种可能的实现方式中,所述方法还包括,根据所预测的所述目标盘在未来多个指定时间的健康度,确定所述目标盘的健康度达到阈值的时间,将健康度达到阈值的时间作为所述目标盘的寿命结束时间。
通过根据预测的目标盘在未来时间的健康度预测目标盘的寿命,可较准确地预测目标盘的寿命,从而可预先进行数据备份等操作,以防止目标盘故障导致的各种问题。
在第一方面的一种可能的实现方式中,所述硬盘为固态硬盘。
本申请第二方面提供一种存储设备,包括:获取单元,用于获取硬盘在指定使用时间的与健康度相关的多个指标的数据;输入单元,用于将所述数据输入多个不同的模型;确定单元,用于根据所述多个模型的输出确定所述硬盘在所述指定使用时间的健康度。
在第二方面的一种可能的实现方式中,所述确定单元具体用于,基于所述多个模型的输出的加权和确定所述硬盘在所述指定使用时间的健康度。
在第二方面的一种可能的实现方式中,所述多个模型中每个模型基于异常检测算法训练得到,且每个模型所采用的异常检测算法不同。
在第二方面的一种可能的实现方式中,所述多个模型的数量为三个,所述三个模型所采用的异常检测算法分别为孤立森林算法、局部异常因子算法、K均值聚类算法。
在第二方面的一种可能的实现方式中,所述多个模型由训练设备发送给所述存储设备或者由所述存储设备训练得到,所述训练设备用于训练所述多个模型。
在第二方面的一种可能的实现方式中,所述多个模型通过以下采样数据进行训练:故障硬盘在寿命结束之前的预设使用时段内的与健康度相关的多个指标的采样数据。
在第二方面的一种可能的实现方式中,所述硬盘包括目标盘,所述存储设备还包括:获取或生成单元,用于获取或生成多个对标盘的第一数据集,所述第一数据集包括所述对标盘在多个使用时间的健康度;生成单元,用于生成所述目标盘的第二数据集,所述第二数据集包括所述目标盘在多个使用时间的健康度,所述第一数据集中的多个使用时间的时间跨度大于所述第二数据集中的多个使用时间的时间跨度;选取单元,用于根据所述第一数据集与所述第二数据集对应的多个使用时间的健康度的相似度,选取对标盘;预测单元,用于根据所述选取的对标盘的第一数据集,预测所述目标盘在未来的指定时间的健康度。
在第二方面的一种可能的实现方式中,所述预测单元具体用于:拟合所述选取的对标盘的第一使用时间的健康度与所述目标盘的第二使用时间的健康度之间的映射关系,所述第一使用时间与所述第二使用时间为对应的时间;根据所述映射关系和所述第一数据集预测所述目标盘在未来多个指定时间的健康度。
在第二方面的一种可能的实现方式中,所述确定单元还用于,根据所预测的所述目标盘在未来多个指定时间的健康度,确定所述目标盘的健康度达到阈值的时间,将健康度达到阈值的时间作为所述目标盘的寿命结束时间。
本申请第三方面提供一种存储设备,其特征在于,包括处理器和存储器,所述存储器中存储有可执行计算机程序指令,所述处理器执行所述可执行计算机程序指令以实现第一方面或第一方面可能的实施方式所述的方法。
本申请第四方面提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序指令,当所述计算机程序指令在计算机或处理器中执行时,使得所述计算机或处理器执行第一方面或第一方面可能的实施方式所述的方法。
本申请第五方面提供一种计算机程序产品,包括计算机程序指令,当所述计算机程序指令在计算机或处理器中运行时,使得所述计算机或处理器执行第一方面或第一方面可能的实施方式所述的方法。
附图说明
通过结合附图描述本申请实施例,可以使得本申请实施例更加清楚:
图1A为本申请实施例所应用的盘控分离结构的集中式存储系统120的架构图;
图1B为本申请实施例所应用的盘控一体结构的集中式存储系统120的架构图;
图1C为本申请实施例所应用的分布式存储系统的架构图;
图2是本申请实施例提供的一种用于训练硬盘异常检测模型的系统架构示意图;
图3为本申请实施例提供的训练异常检测模型的方法流程图;
图4为本申请实施例提供的一种硬盘健康评估方法流程图;
图5为本申请实施例提供的各个硬盘的健康度曲线的示意图
图6为图5中的一个健康度曲线的放大图;
图7为本申请实施例提供的预测硬盘健康度的方法流程图;
图8为本申请实施例提供的预测的硬盘健康度曲线的示意图;
图9为本申请实施例提供的一种存储设备的架构图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
本申请实施例提供的硬盘健康评估方案可应用于存储系统中。存储系统包括集中式存储系统和分布式存储系统。所述集中式存储系统是指由一台或多台主设备组成中心节点,数据集中存储于这个中心节点中,并且整个系统的所有数据处理业务都集中部署在这个中心节点上。所述分布式存储系统是指将数据分散存储在多台独立的存储节点上的系统。用户可通过应用程序来向存储节点存取数据。运行这些应用程序的计算机被称为“应用服务器”。应用服务器可以是物理机,也可以是虚拟机。物理应用服务器包括但不限于桌面电脑、服务器、笔记本电脑以及移动设备。应用服务器可通过光纤交换机访问存储节点以存取数据。其中,交换机只是一个可选设备,应用服务器也可以直接通过网络与存储节点通信。
图1A为本申请实施例所应用的盘控分离结构的集中式存储系统120的架构图。该存储系统120与多个主机200连接,所述多个主机200例如为应用服务器,其都与存储系统120连接,以向存储系统120存取数据。图1A所示的集中式存储系统的特点是具有统一的入口,从主机200来的数据都要经过这个入口,这个入口例如为存储系统120中的引擎121。
如图1A所示,引擎121中有一个或多个控制器,图1A以引擎包含两个控制器为例予以说明。控制器0与控制器1之间具有镜像通道,那么当控制器0将一份数据写入其内存124后,可以通过所述镜像通道将所述数据的副本发送给控制器1,控制器1将所述副本存储在自己本地的内存124中。由此,控制器0和控制器1互为备份,当控制器0发生故障时,控制器1可以接管控制器0的业务,当控制器1发生故障时,控制器0可以接管控制器1的业务,从而避免硬件故障导致整个存储系统120的不可用。当引擎121中部署有4个控制器时,任意两个控制器之间都具有镜像通道,因此任意两个控制器互为备份。
引擎121还包含前端接口125和后端接口126,其中前端接口125用于与应用服务器通信,从而为应用服务器提供存储服务。而后端接口126用于与硬盘134通信,以扩充存储系统的容量。通过后端接口126,引擎121可以连接更多的硬盘134,从而形成一个非常大的存储资源池。
在硬件上,如图1A所示,控制器0至少包括处理器123、内存124。处理器123是一个中央处理器(central processing unit,CPU),用于处理来自存储系统外部(服务器或者其他存储系统)的数据访问请求,也用于处理存储系统内部生成的请求。示例性的,处理器123通过前端端口接收服务器发送的写数据请求时,会将这些写数据请求中的数据暂时保存在内存124中。当内存124中的数据总量达到一定阈值时,处理器123通过后端端口126将内存124中存储的数据发送给硬盘134进行持久化存储。
内存124是指与处理器123直接交换数据的内部存储器,它可以随时读写数据,而且速度很快,作为操作系统或其他正在运行中的程序的临时数据存储器。内存124包括至少两种存储器,例如内存既可以是随机存取存储器,也可以是只读存储器(Read OnlyMemory,ROM)。举例来说,随机存取存储器是动态随机存取存储器(Dynamic Random AccessMemory,DRAM),或者存储级存储器(Storage Class Memory,SCM)。DRAM是一种半导体存储器,与大部分随机存取存储器(Random Access Memory,RAM)一样,属于一种易失性存储器(volatile memory)设备。SCM是一种同时结合传统储存装置与存储器特性的复合型储存技术,存储级存储器能够提供比硬盘更快速的读写速度,但运算速度上比DRAM慢,在成本上也比DRAM更为便宜。然而,DRAM和SCM在本实施例中只是示例性的说明,内存还可以包括其他随机存取存储器,例如静态随机存取存储器(Static Random Access Memory,SRAM)等。而对于只读存储器,举例来说,可以是可编程只读存储器(Programmable Read Only Memory,PROM)、可抹除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)等。另外,内存124还可以是双列直插式存储器模块或双线存储器模块(DualIn-lineMemoryModule,简称DIMM),即由动态随机存取存储器(DRAM)组成的模块,还可以是固态硬盘(Solid State Disk,SSD)。实际应用中,控制器0中可配置多个内存124,以及不同类型的内存124。本实施例不对内存124的数量和类型进行限定。此外,可对内存124进行配置使其具有保电功能。保电功能是指系统发生掉电又重新上电时,内存124中存储的数据也不会丢失。具有保电功能的内存被称为非易失性存储器。
内存124中存储有软件程序,处理器123运行内存124中的软件程序可实现对硬盘的管理。所述对硬盘的管理例如将硬盘抽象化为存储资源池,然后划分为LUN提供给服务器使用等。这里的LUN其实就是在服务器上看到的硬盘。当然,一些集中式存储系统本身也是文件服务器,可以为服务器提供共享文件服务。
控制器1(以及其他图1A中未示出的控制器)的硬件组件和软件结构与控制器0类似,这里不再赘述。
在图1A所示的盘控分离的存储式系统中,引擎121可以不具有硬盘槽位,硬盘134需要放置在硬盘阵列130中,后端接口126与硬盘阵列130通信。后端接口126以适配卡的形态存在于引擎121中,一个引擎121上可以同时使用两个或两个以上后端接口126来连接多个硬盘阵列。或者,适配卡也可以集成在主板上,此时适配卡可通过PCIE总线与处理器123通信。
需要说明的是,图1A中只示出了一个引擎121,然而在实际应用中,存储系统中可包含两个或两个以上引擎121,多个引擎121之间做冗余或者负载均衡。
硬盘阵列130包括控制单元131和若干个硬盘134。控制单元131可具有多种形态。一种情况下,硬盘阵列130属于智能盘框,如图1A所示,控制单元131包括CPU和内存。CPU用于执行地址转换以及读写数据等操作。内存用于临时存储将要写入硬盘134的数据,或者从硬盘134读取出来将要发送给控制器的数据。另一种情况下,控制单元131是一个可编程的电子部件,例如数据处理单元(data processing unit,DPU)。DPU具有CPU的通用性和可编程性,但更具有专用性,可以在网络数据包,存储请求或分析请求上高效运行。DPU通过较大程度的并行性(需要处理大量请求)与CPU区别开来。可选的,这里的DPU也可以替换成图形处理单元(graphics processing unit,GPU)、嵌入式神经网络处理器(neural-networkprocessing units,NPU)等处理芯片。通常情况下,控制单元131的数量可以是一个,也可以是两个或两个以上。当硬盘阵列130包含至少两个控制单元131时,硬盘134与控制单元131之间具有归属关系,每个控制单元只能访问归属于它的硬盘,因此这往往涉及到在控制单元131之间转发读/写数据请求,导致数据访问的路径较长。另外,如果存储空间不足,在硬盘阵列130中增加新的硬盘134时需要重新绑定硬盘134与控制单元131之间的归属关系,操作复杂,导致存储空间的扩展性较差。因此在另一种实施方式中,控制单元131的功能可以卸载到网卡104上。换言之,在该种实施方式中,硬盘阵列130内部不具有控制单元131,而是由网卡104来完成数据读写、地址转换以及其他计算功能。此时,网卡104是一个智能网卡。它可以包含CPU和内存。CPU用于执行地址转换以及读写数据等操作。内存用于临时存储将要写入硬盘134的数据,或者从硬盘134读取出来将要发送给控制器的数据。也可以是一个可编程的电子部件,例如数据处理单元(data processing unit,DPU)。DPU具有CPU的通用性和可编程性,但更具有专用性,可以在网络数据包,存储请求或分析请求上高效运行。DPU通过较大程度的并行性(需要处理大量请求)与CPU区别开来。可选的,这里的DPU也可以替换成图形处理单元(graphics processing unit,GPU)、嵌入式神经网络处理器(neural-network processing units,NPU)等处理芯片。硬盘阵列130中的网卡104和硬盘134之间没有归属关系,网卡104可访问该硬盘阵列130中任意一个硬盘134,因此在存储空间不足时扩展硬盘会较为便捷。
所述硬盘134可以为SSD,或者可以为机械硬盘(即磁盘)。SSD与传统磁盘相比具有启动快、快速读写、读取时间固定、工作温度范围广及无噪音等特点,同时固态硬盘不会出现由机械部件活动导致的机械故障,耐冲击、振动和碰撞,具有较高的安全性和可靠性。本申请实施例提供的硬盘健康评估方法适用于对SSD进行健康评估,可以理解,本申请实施例提供的硬盘健康评估方法也适用于对磁盘进行健康评估。
按照引擎121与硬盘阵列130之间通信协议的类型,硬盘阵列130可能是SAS硬盘阵列,也可能是NVMe硬盘阵列以及其他类型的硬盘阵列。SAS硬盘阵列,采用SAS3.0协议,每个框支持25块SAS硬盘。引擎121通过板载SAS接口或者SAS接口模块与硬盘阵列130连接。NVMe硬盘阵列,更像一个完整的计算机系统,NVMe硬盘插在NVMe硬盘阵列内。NVMe硬盘阵列再通过RDMA端口与引擎121连接。
可以理解,图1A中虽然示出了具有盘控分离结构的集中式存储系统,但并不用于限制本申请实施例的应用范围,例如,本申请实施例还可以应用于图1B所示的盘控一体结构的集中式存储系统。在盘控一体结构的集中式存储系统中,与盘控分离结构不同在于,引擎121具有硬盘槽位,硬盘134可直接部署在引擎121中,后端接口126属于可选配置,当系统的存储空间不足时,可通过后端接口126连接更多的硬盘或硬盘阵列。
本申请实施例还可以应用于图1C所示的分布式的存储系统。所述分布式的存储系统包括存储节点集群。其中,存储节点集群包括一个或多个存储节点20(图1C中示出了三个存储节点20a、20b及20C,但不限于三个存储节点),各个存储节点20之间可以互联。每个存储节点20与多个主机200连接。每个主机200连接多个存储节点20,并且与多个存储节点20交互,以将数据分布存储在多个存储节点中20,从而实现数据的可靠存储。每个存储节点20至少包括处理器201、内存202、及硬盘203。其中,处理器201、内存202级硬盘203与图1A中的处理器123、内存124及硬盘134的结构及功能相同,具体请参看图1A中的相关描述,在此不再赘述。
在存储系统中,可为每个硬盘定期采样SMART数据,从而可根据SMART数据监控硬盘的健康度,预测硬盘故障。其中,该SMART数据例如包括通电时间、开关计数、不可校正错误数、新增坏扇区数、新增坏块数、总擦除次数等多项指标的值。每项SMART指标通常设置有阈值,如果硬盘的某项SMART数据接近该阈值,则表示硬盘将变得不可靠,例如可能导致数据丢失或硬盘故障。
在相关技术中,评估硬盘健康度的方法包括二值法、欧氏距离法及线性评估法等方法。其中,在二值法中,硬盘的健康度包括健康和故障两个状态,即该方法可以预测硬盘是否发生故障、何时发生故障等,但是该方法不能定量的预测硬盘实时的健康度。在欧式距离法中,根据硬盘的SMART数据与对应SMART指标的阈值之间的距离确定硬盘的健康度,然而,限于硬盘实际运行数据的特性,单一的基于距离度量的方法难以获得稳定且准确的健康评价指标。在线性评估方法中,建立硬盘健康度和时间的线性相关函数,然而,硬盘的实际健康度同时受到读写频次、环境温度等工况因素的影响,与时间因素没有严格意义上的强相关性,因此,该方法得到的健康度具有较大的误差。
本申请实施例提供了一种有效地评估硬盘健康状况的方法,在存储系统中使用多个异常检测模型基于硬盘的SMART数据进行预测,并对该多个异常检测模型的输出进行融合,从而得到较准确的硬盘健康度,其中,所述多个异常检测模型基于硬盘的SMART数据训练获得。该方法可由图1A所示的存储系统120、图1B所示的存储系统120或者图1C所示的存储系统执行,下文中以图1A中存储系统120为例进行描述。
图2是本申请实施例提供的一种用于训练异常检测模型的系统架构示意图。所述异常检测模型具有与异常检测算法对应的模型参数,通过基于异常检测算法使用多个训练样本进行训练,从而可确定异常检测模型的模型参数。训练好的异常检测模型可基于待测样本的特征输出该样本的异常度,该异常度也即该待测样本与训练样本集中的大多数样本的差异程度。从而,在通过使用与高健康度对应的多个硬盘样本来训练异常检测模型的情况中,该异常检测模型输出的待测硬盘样本的异常度与硬盘健康度负相关,或者,在通过使用与低健康度对应的多个硬盘样本来训练异常检测模型的情况中,该异常检测模型输出的待测硬盘样本的异常度与硬盘健康度正相关,从而可使用该经训练的异常检测模型预测硬盘的健康度。
如图2所示,该系统架构包括:训练设备210,用于从存储系统120获取硬盘的SMART数据,并使用该SMART数据训练多个不同的异常检测模型,其中,对多个异常检测模型的训练过程将在下文结合图3进行描述。训练设备210在训练得到多个异常检测模型之后,将该多个模型发送给存储系统120,从而存储系统120可以使用该多个异常检测模型对硬盘健康度预测。可以理解,训练设备210可与多个存储系统连接,以获取各个存储系统中硬盘的SMART数据,以进行模型训练。在另一种实施方式中,存储系统120可将硬盘的SMART数据传输至存储设备的数据库中,训练设备210可从数据库中读取硬盘数据以进行模型训练。在另一种实施方式中,存储系统120可通过自身的CPU123对模型训练,从而得到异常检测模型。在另一种实施方式中,存储系统120可通过插接在存储系统120上的计算芯片(如现场可编程门阵列(Field Programmable Gate Array,FPGA)芯片)进行对模型的训练,从而得到异常检测模型。下文中,将以图2所示的系统架构为例进行描述。
在图2所示的存储系统120中,CPU123和内存124可以为图1A中控制器0中的CPU和内存,也可以为控制器1中的CPU和内存,下文中以控制器0为例进行描述。
存储系统120在运行期间可以定期采集其包括的每块硬盘134的SMART数据,并可根据模型训练的需要将特定SMART数据发送给训练设备210,这将在下文参考图3详细描述。
存储系统120在从训练设备210接收到多个异常检测模型之后,可将该多个异常检测模型存储在持久性存储,例如硬盘134中。存储系统120当需要使用多个异常检测模型220进行对硬盘健康度的预测时,可从硬盘134读取多个异常检测模型,并将该多个异常检测模型存入内存124中,以供CPU123读取并运行该多个模型。CPU123可定期获取各个硬盘134的在指定使用时间(例如当前时间)的SMART数据,并将该SMART数据分别输入多个异常检测模型,之后,CPU123对该多个异常检测模型的输出进行融合,从而可获取每个硬盘134在指定使用时间的健康度。或者CPU123可在存储系统120增加新的硬盘134时,多次获取该新的硬盘134在当前时间的SMART数据,并将该SMART数据分别输入多个异常检测模型,从而CPU123可基于该多个异常检测模型的输出预测该新增加的硬盘134在指定使用时间的健康度,该部分内容将在下文参考图4详细描述。
图3为本申请实施例提供的训练异常检测模型的方法流程图,该方法可由图2中的训练设备210执行,包括以下步骤:
步骤S301,从存储系统接收硬盘在至少一个使用时间的SMART数据;
步骤S302,基于所述SMART数据训练异常检测模型。
下面将详细描述图3所示方法中的各个步骤。
首先,在步骤S301,从存储系统120接收硬盘在至少一个使用时间的SMART数据。
存储系统120可根据模型训练的需要选取硬盘的SMART数据发送给训练设备210。硬盘的全部SMART数据包括多个指标的值,例如一百多个指标,存储系统120可从全部SMART数据中选取与硬盘健康度和寿命退化相关的指标的数据。所述选取的指标例如包括通电时间、开关计数、不可校正错误数、新增坏扇区数、新增坏块数、总擦除次数等。
存储系统120还可以根据模型训练的策略选取硬盘预定使用时段中多个使用时间的SMART数据发送给训练设备210。
具体是,在一种实施方式中,存储系统120可选取多个硬盘在启用之后的预定时段中的SMART数据来训练异常检测模型。由于硬盘在新启用时的健康度通常是最高的(例如此时的健康度可表示为1),因此,通过使用该时段的SMART数据来训练异常检测模型,即,以对应于高健康度的SMART数据作为大多数的正常样本,训练得到的异常检测模型输出的硬盘的异常度与该硬盘的健康度负相关,即,异常度越大,说明该硬盘健康状态越差,即健康度越小。
在另一种实施方式中,存储系统120可在硬盘发生故障之后选取该故障硬盘在发生故障之前的预定使用时段中的SMART数据来训练异常检测模型。由于硬盘在发生故障时的健康度为最低(例如此时的健康度可表示为0),因此,通过使用该时段的SMART数据来训练异常检测模型,即,以对应于低健康度的SMART数据作为大多数的正常样本,训练得到的异常检测模型输出的硬盘的异常度与该硬盘的健康度正相关,即,异常度越大,说明该硬盘的健康状态越好,即健康度越高。在实际中,由于硬盘在刚启用时通常健康状态良好,因此,存储系统120通常在硬盘启用之后预定时段内并不采集SMART数据,而是在硬盘使用较长一段时间之后(例如硬盘寿命的中间时间)开始采集SMART数据,以用于对硬盘的健康状态进行监控。因此,存储系统120中存储的硬盘SMART数据通常缺乏硬盘刚启用时的数据,而发生故障之前的数据较多。针对该实际情况,更适于采用该实施方式中的训练异常检测模型的方法。另外,由于在该实施方式中,异常检测模型输出的异常度与健康度正相关,例如可直接将该异常度视为健康度,从而减少了健康度的计算成本。下文中将以该实施方式为例进行详细描述。
存储系统120在选取硬盘的SMART数据之后,还可以对该选取的SMART数据进行预处理,并将经预处理的SMART数据发送给训练设备210。例如,可通过处理使得SMART数据的采样时间是均匀分布的,例如,为了使得硬盘的SMART数据为每天一组SMART数据,在一天有多个采样时间点的情况下,对该多个采样时间点采样的SMART数据求均值作为与该天对应的SMART数据,在一天的采样样本缺失的情况下,可通过插值方法补全该天的SMART数据。
在步骤S302,基于所述SMART数据训练异常检测模型。
本申请实施例中采用基于不同原理的多种异常检测算法,通过上述获取的SMART数据训练多个异常检测模型。
在一种实施方式中,通过孤立森林(Isolation Forest,iforest)算法来训练iforest异常检测模型。孤立森林算法是一种无监督异常检测算法,即不需要带标签的样本进行训练。每个训练样本例如为对硬盘在某个时间采集的一组SMART数据X={x1,x2,…,xn},该组SMART数据中包括多个与健康度相关的指标(即指标1到n)的数据。如上文所述,训练样本可以为硬盘在发生故障之前预定时段中的某个时间的一组SMART数据,该预定时段可以为距离硬盘发生故障的时间小于预定时长的一段时间。
训练设备210可使用N个样本X来训练多个孤立树,从而得到iforest异常检测模型。在训练一棵孤立树时,可从N个样本随机选取部分(例如Ψ个)样本,将该Ψ个样本放入孤立树的根节点,随机指定与根节点对应的一个SMART指标q,并随机确定该指标对应的分裂值p,该分裂值p为根节点当前Ψ个样本中的指标q的最大值和最小值之间的值;基于该指标q和分裂值p将Ψ个样本分割到该根节点的两个子节点中,例如将指标q的值小于p的样本分入左边的子节点,将指标q的值大于p的样本分入右边的子节点。之后,可通过与上面类似的过程对新生成的节点中的样本进行分割,并生成新的子节点,直到最后生成的子节点中只有一个样本(无法继续分割,该子节点即为叶子节点)或孤立树已经生长到了设定层高,从而停止对孤立树的生长,所述层高即为从叶子节点到根节点之间的节点间的连接边的个数。
在如上所述获得t棵孤立树(t为预定数目,例如100)之后,对iforest异常检测模型的训练完成。从而可基于该训练得到的iforest异常检测模型,通过如下公式(1)预测待测试样本的异常度:
其中,x表示待测试样本,其与X一样包括与健康度相关的多个指标的SMART数据,ψ为用于训练各个孤立树的样本数,h(x)为样本x在每棵孤立树的层高,E(h(x))为样本x在t棵孤立树的层高期望值,c(ψ)为给定训练样本数ψ时的孤立树的层高的平均值,用于对样本x的层高期望值E(h(x))进行标准化处理。通过公式(1)可以看出,如果待测试样本在孤立森林模型中的层高期望值越小,异常度越高。这是因为,待测试样本的层高期望值越小,表示该待测试样本落在了训练样本分布稀疏的区域,因此该待测试样本与训练样本相比的异常度越高。
也就是说,在通过硬盘发生故障之前预定时段的多个样本训练异常检测模型的情况下,该异常检测模型的输出指示待测试样本与所述健康度较低的多个样本相比的异常度,因此,异常度越高,即表示该待测试样本的健康度越高。
在另一种实施方式中,通过局部异常因子(Local Outlier Factor,LOF)算法来训练LOF异常检测模型。LOF算法为基于空间中点密度的算法。与上述iForest算法类似地,为了训练LOF模型,训练设备210可获取多个样本X={x1,x2,…,xn},并将该多个样本分布到包括维度1至n的空间中,从而,对于待测试的样本x,可通过如下的公式(2)计算样本x的LOF分数:
其中,样本x在上述空间中具有对应的点x,Nk(x)表示与点x的距离为第k距离以内的所有点,可称为点x的第k邻域,ρk(p)为属于Nk(x)范围中的点p的第k邻域中的点的密度,ρk(x)为点x的第k邻域中的点密度。根据公式(2)可以得出,如果样本x的LOF分数大于1,表示点x的密度小于其邻域中点的密度,样本x可能为异常样本,即异常度较高,如果样本x的LOF分数小于等于1,表示点x的密度大于等于其邻域中点的密度,样本x的异常度较小。
在又一种实施方式中,通过基于K均值(K-means)聚类算法的异常检测算法训练K均值异常检测模型。类似地,训练设备210可从数据库220获取N个样本X={x1,x2,…,xn},通过聚类算法对这N个样本进行聚类从而得到类的质心点(即质心样本),从而得到异常检测模型。在使用该异常检测模型对待测试样本x进行预测时,可计算待测试样本x与质心点之间的距离,并基于该距离确定样本x的异常度,具体是,距离越大,样本x距离质心越远,因此异常度越高。在另一种实施方式中,考虑在各个类的大小不一致的情况中,为了对各个类中的待测试样本计算一致的相似度,可通过如下的公式(3)计算异常度:
其中,pi为待测试样本,pj为N个训练样本,Dis(pi)表示样本pi距离质心的距离,表示N个训练样本pj分别距离质心的距离的均值,var(Dis(pj))为N个训练样本pj分别距离质心的距离的方差。
可以理解,本申请实施例中所训练的异常检测模型不限于上述三种异常检测模型,而可以为任意其他类型的异常检测模型。
训练设备210在通过图3所示方法得到多个异常检测模型之后,将该多个异常检测模型发送给存储系统120,从而存储系统120可通过该多个异常检测模型预测硬盘的健康度。具体是,训练设备210可将各个异常检测模型中包括的模型结构和模型参数发送给存储系统120。例如,对于上述iforest异常检测模型,训练设备210可将该模型中包括的各个孤立树中的节点构成、各个非叶子节点对应的SMART指标和分裂值、训练样本数ψ等模型数据发送给存储系统120,从而存储系统120可通过该模型数据进行对iforest异常检测模型的使用。
图4为本申请实施例提供的一种硬盘健康评估方法的流程图,该方法可由图2中的存储系统120执行,该方法包括:
步骤S401,获取硬盘在指定使用时间的与健康度相关的多个指标的数据;
步骤S402,将所述数据输入多个不同的异常检测模型;
步骤S403,根据多个异常检测模型的输出确定所述硬盘在指定使用时间的健康度。
下文将详细描述图4所示方法的各个步骤。
首先,在步骤S401,获取硬盘在指定使用时间的与健康度相关的多个指标的数据。
存储系统120可在每次采集硬盘的与当前使用时间对应的一组SMART数据之后,从该组SMART数据中选取该硬盘在当前使用时间的与健康度相关的多个指标的数据。另外,存储系统120在获取该多个指标的数据之后,还可以如上文所述,对该多个指标的数据进行预处理,所述预处理例如用于获得时间分布均匀的数据。可以理解,存储系统120不限于在采集硬盘的SMART数据之后立即选取多个指标的数据以用于预测硬盘的健康度,也可以在任意时间从预先采集的硬盘的SMART数据中选取指定使用时间的多个指标的数据以用于预测硬盘在指定使用时间的健康度。
在步骤S402,将所述数据输入多个不同的异常检测模型。
如图2所示,存储系统120可将通过上一步骤选取的硬盘134在指定使用时间的多个指标的数据输入多个异常检测模型,从而可得到各个模型输出的该数据的异常度。
在步骤S403,根据多个异常检测模型的输出确定硬盘在指定使用时间的健康度。
从上述参考图3的描述可以看出,通过选择训练样本,可使得每个异常检测模型输出的硬盘的异常度与硬盘的健康度有一定的相关性,从而可根据各个异常检测模型输出的硬盘在指定使用时间的异常度确定硬盘在指定使用时间的健康度。例如,当异常检测模型输出的异常度与健康度负相关的情况中,存储系统120可以将异常检测模型输出的硬盘在指定使用时间的异常度直接作为硬盘在指定使用时间的健康度。或者,当异常检测模型输出的异常度与健康度负相关的情况中,存储系统120可基于该相关性,将异常检测模型输出的异常度转换为健康度或者与健康度正相关的值。
另外,上述训练得到的三种异常检测模型各有优缺点。具体是,iForest异常检测模型的优点是通过集成多棵二叉树,算法鲁棒性较好,且适合大规模数据集和并行计算,且对超参数不敏感,其缺点是对某些特殊分布、异常样本较多、或者特征维度较高的数据集准确性欠佳。LOF异常检测模型的优点是对原始数据分布不做过多的先验假设,且具有很强的局部异常判别能力,其缺点是,计算量较大,不适用于大数据集场景,对超参数过于敏感。K-Means异常检测模型的优点是,算法简单直观,且对局部异常与全部异常同时具备一定的适应能力,其缺点是,算法本身是针对数据聚类而设计,更适用于数据集成球形分布的场景,且对超参数相对敏感。
在本申请实施例中,存储系统120在将硬盘在指定使用时间的多个指标的数据分别输入多个异常检测模型之后,可对该多个模型的输出进行融合,并根据融合的结果得到硬盘的健康度,从而均衡了各个异常检测模型的缺点,可得到硬盘的稳定平滑的健康度相对于时间的变化曲线。
具体是,在各个异常检测模型的输出与健康度正相关的情况中,存储系统120可如公式(4)所示对多个异常检测模型的输出求加权和,从而将加权和的结果作为硬盘的健康度:
其中,Scorei为各个异常检测模型的输出,ai为各个异常检测模型的权重,Score为通过对各个异常检测模型的输出进行融合所得到的硬盘的健康度。可以理解,在模型的输出与健康度负相关的情况中,公式(4)中的Scorei可以为对各个异常检测模型的输出进行转换所获取的与健康度正相关的值。
在一种实施方式中,假设各个异常检测模型的输出与硬盘健康度的相关性是基本相同的,则在上述公式(4)中,可以将各个异常检测模型的权重ai可以是设置为相同的,从而上述公式(4)变为如下公式(5)所示:
即,对多个异常检测模型的输出求均值。
在另一种实施方式中,可根据模型输入数据的维度、异常数据的比例、数据分布等特征和各个异常检测模型的特性,预先确定各个异常检测模型的输出与硬盘健康度的相关性的大小,从而确定公式(4)中各个异常检测模型的权重ai。例如,在硬盘在多个使用时间的SMART数据的分布趋近球形分布的情况中,根据各个异常检测模型的特点,可确定通过K-Means异常检测模型可更准确地预测,因此,可将K-Means异常检测模型的权重设置为较高。在待预测的硬盘的数据较多,数据的维度也较多的情况中,根据各个异常检测模型的特点,可确定iForest异常检测模型更适于该情况下的预测,因此可将iForest异常检测模型的权重设置为较高。
在又一种实施方式中,在对不同的硬盘进行预测时,可根据不同硬盘的例如异常数据的比例、数据分布等特征,动态调整公式(4)中各个异常检测模型的权重ai,以提高预测准确性。
存储系统120可通过图4所示方法确定各个硬盘的各个使用时间的健康度。当某个硬盘发生故障之后,存储系统120可通过该硬盘在各个使用时间的健康度构建该硬盘的从开始启用到发生故障(即寿命结束)的完整健康度曲线,从而可如下文参考图7所述,将该故障硬盘的健康度曲线作为对标健康度曲线(或比对健康度曲线)用于预测其他硬盘(即目标盘)在未来时间的健康度和寿命,下文中将提供对标健康度曲线的故障硬盘称为对标盘。
具体是,存储系统120在获取各个对标盘的各个使用时间的健康度之后,由于该健康度数据中存在因测量不准或测量过程中的噪声形成的波动,存储系统120还可以采用高斯平滑方法对各个对标盘的健康度数据进行平滑处理。具体是,可设置平滑窗的时间长度,在平滑窗内按照经验对各个使用时间的样本设置平滑权重,并将该平滑窗在硬盘的健康度数据中根据使用时间进行滑动,并根据平滑权重对滑动窗内的健康度数据进行修改,从而起到平滑数据的作用。表1示出了平滑窗的示例形式:
表1
如表1所示,假设将滑动窗的使用时间长度设置为5天,其中,将滑动窗内第1天的数据的权重设置为2.28%,将滑动窗内第2天的数据的权重设置为13.59%,将滑动窗内第3天的数据的权重设置为68.27%,等等。从表1可以看出,高斯平滑方法中假设健康度曲线中每段数据的中心点与平滑结果的关系最为密切,因此具有最高的权重,随着与中心点的距离逐渐增大,关系逐渐变小,即权重逐渐变小。之后,存储系统120可基于对标盘的经过上述平滑处理的各个使用时间的健康度绘制对标盘的健康度曲线。
图5为通过上述过程获取的各个硬盘的健康度曲线的示意图。图6为图5中的一个健康度曲线的放大图。如图6所示,在该健康度曲线中,坐标的横轴表示从硬盘启用时开始计时的时间(例如时间单位为“天”),坐标的纵轴表示硬盘的健康度。从该多个健康度曲线可以看出,通过本申请实施例提供的方法获取的硬盘的健康度基本上随着时间平滑而稳定的下降。
存储系统120在获取各个对标盘的从启用到发生故障的完整健康度曲线之后,可将这些健康度曲线加入到对标数据集中,以用于预测正在使用的硬盘在未来时间的健康度和寿命。可以理解,存储系统120不限于如上文所述获取自身包括的故障硬盘的健康度曲线,例如,存储系统120可从其他存储系统接收该其他存储系统中的故障硬盘的健康度曲线,并将该健康度曲线加入到对标数据集中。
存储系统120通过同样的过程可获取存储系统120中正在使用的硬盘134所使用的一段时间的健康度曲线,该一段时间例如为从硬盘134启用开始到当前的一段时间,存储系统120可通过将硬盘134的部分健康度曲线与上述对标数据集中的对标健康度曲线进行比对,从而预测硬盘134在未来时间的健康度和寿命。
图7为本申请实施例提供的预测硬盘健康度的方法流程图,该方法可由图2中的存储系统120执行,包括以下步骤:
步骤S701,在对标数据集中,根据对标健康度曲线与待预测的硬盘134的部分健康度曲线中对应使用时间的健康度的相似度,选取对标健康度曲线;
步骤S702,拟合选取的对标健康度曲线中的健康度与待预测的硬盘134的部分健康度曲线中的对应使用时间的健康度之间的映射关系;
步骤S703,根据选取的对标健康度曲线和映射关系,预测硬盘134在未来某个时间的健康度。
下文将详细描述图7所示方法的各个步骤。
首先,在步骤S701,在对标数据集中,根据对标健康度曲线与待预测的硬盘134的部分健康度曲线中对应使用时间的健康度的相似度,选取对标健康度曲线。
存储系统120在如上所述获取硬盘134的部分健康度曲线和对标数据集中多个对标健康度曲线之后,CPU123可分别计算硬盘134的部分健康度曲线与对标数据集中各个对标健康度曲线的相似度。CPU123可计算硬盘134的部分健康度曲线中的健康度与各个对标健康度曲线中的对应使用时间的健康度之间的欧式距离,从而计算该部分健康度曲线与各个对标健康度曲线之间的相似度。
具体是,通常,硬盘134的部分健康度曲线与对标数据集中任一对标健康度曲线中可能具有两个相似的一段曲线,如果该两个相似的曲线在时间上是对齐的,则该两个相似的曲线中的对应使用时间的健康度可以为该两个相似曲线中相同使用时间的健康度。
在一些实际场景中,该两个相似的曲线在时间(即x轴)上可能是不对齐的(即时间长度不相等)。例如,对于不同容量的硬盘,其健康度在时间上的衰退速度可能是不同的,因此不同容量的硬盘的健康度曲线中的相似曲线的时间跨度不同。例如,对于容量较大的硬盘,由于硬盘中每个存储单元的使用概率较低,其健康度的衰退速度相比于容量较小的硬盘可能更慢,因此该容量较大的硬盘的健康度曲线中的相似曲线的时间跨度更长。为此,CPU123可通过动态时间规整算法(Dynamic Time Warping,DTW)确定上述两个相似曲线中对应使用时间的健康度。具体是,CPU123对该两段相似曲线中的一个在时间轴上进行缩短或延伸,以使得该两段相似曲线在时间上对齐,在经过该处理之后,该两段时间对齐的相似曲线中的相同使用时间的健康度即为对应使用时间的健康度。在获取两个相似曲线的对应使用时间的健康度之后,CPU123可计算该对应使用时间的健康度之间的欧式距离,从而计算两个相似曲线之间的相似度,也即硬盘134的部分健康度曲线与对标健康度曲线之间对应使用时间的健康度的相似度。
在计算硬盘134的部分健康度曲线与对标数据集中各个对标健康度曲线之间的相似度之后,可从对标数据集中选取相似度最高的一个或多个对标健康度曲线。
在步骤S702,拟合选取的对标健康度曲线中的健康度与待预测的硬盘134的部分健康度曲线中的对应使用时间的健康度之间的映射关系。
可从对标健康度曲线中获取使用时间t的健康度,从硬盘134的部分健康度曲线中获取与使用时间t对应的使用时间t’的健康度,将时间t的健康度和时间t’的健康度构成一个训练样本,如此可获取与多个使用时间对(t,t’)对应的多个训练样本,用于训练回归模型,以拟合对标健康度曲线中的使用时间t的健康度x与硬盘134的健康度曲线中的对应使用时间t’的健康度y之间的映射关系。其中,如上文所述,在对标健康度曲线与硬盘134的部分健康度曲线中的两个相似曲线时间对齐或者经过DTW处理使得两个相似曲线中时间对齐的情况中,时间t和时间t’为相同的时间。所述回归模型例如具有如下公式(6)的线性回归模型:
y=a+b·x (6),
其中,a和b为需要通过训练样本进行训练确定的系数,例如可通过最小二乘法进行对该回归模型的训练,以确定系数a和b。可以理解,在本申请实施例中,该回归模型不限于线性回归模型,而可以为其它任意形式的回归模型,如多项式回归模型等。
在步骤S703,根据选取的对标健康度曲线和映射关系,预测硬盘134在未来某个时间的健康度。
在拟合硬盘134的部分健康度曲线中的健康度与对标健康度曲线中的对应使用时间的健康度之间的映射关系之后,可基于该映射关系和对标健康度曲线,预测硬盘134在未来某个时间t1的健康度。具体是,为了预测硬盘134在未来某个时间t1的健康度y1,可获取对标健康度曲线中的与时间t1对应的使用时间t2的健康度x1,将x1代入公式(6),从而可预测硬盘134的健康度y1=a+b·x1。其中,与上文类似地,在硬盘134的部分健康度曲线与对标健康度曲线中的两个相似曲线时间对齐的情况中,上述时间t1和t2可以为相同的时间,在两个相似曲线的时间不对齐的情况中,可通过DTW方法确定与时间t1对应的时间t2。
在前述步骤中确定多个(例如m个)对标健康度曲线的情况中,可类似地,根据m个对标健康度曲线和对应的映射关系,计算m个健康度yi(其中i为1至m),可如公式(7)所示对该m个健康度yi进行加权求和,从而得到硬盘134的健康度Y1:
其中,ki为预设的各个对标健康度曲线对应的权重,例如,可根据各个对标健康度曲线与硬盘134的部分健康度曲线的相似度的大小排序,确定各个对标健康度曲线对应的权重。
从上文的预测过程可以看出,通过如上所述训练得到的回归模型可以将对标健康度曲线中的健康度随时间变化的过程迁移到目标盘(即硬盘134)的健康度曲线中,从而该回归模型起到了迁移知识的作用,也可以称为迁移模型。
存储系统120可通过图7所示方法预测硬盘134在未来多个时间的健康度,例如,可预测硬盘134在未来每天的健康度,从而预测硬盘134在未来的健康度曲线。存储系统120可预设硬盘134的健康度阈值,该健康度阈值对应于硬盘134在发生故障时的健康度。从而,存储系统可以在预测的硬盘134的未来时间的健康度曲线中确定硬盘134的健康度达到所述阈值的时间,并根据该时间确定硬盘的剩余寿命。图8为本申请实施例提供的预测的硬盘健康度曲线的示意图。如图8中所示,横轴表示从硬盘启用之后开始计时的时间,纵轴表示硬盘的健康度。假设图8中下方的点连接线为对标盘的健康度曲线C1,上方的点连接线为待预测的硬盘134的健康度曲线C2,其中曲线C2中的实线部分为基于硬盘134自身的启用后一段时间的SMART数据确定的健康度曲线,曲线C2中的虚线部分为通过图7所示方法预测的硬盘134在未来时间的健康度曲线。具体是,例如,为了预测曲线C2中的时间t1的健康度,首选可确定曲线C1中与时间t1对应的时间t2,获取曲线C1中时间t2的健康度x1,将x1代入上述公式(6),从而可计算曲线C2中时间t1的健康度y1,在根据选取的多个对标健康度曲线预测硬盘134的健康度时,还可以通过上述公式(7)计算硬盘134的健康度Y1。
如图8中所示,假设在曲线C2中设置健康度的阈值,该阈值对应于待预测的硬盘134的寿命结束的时间,从而,在如上所述预测了硬盘134的未来的健康度曲线之后,可在曲线C1中确定该阈值对应的时间t3,并将时间t3视为硬盘134的寿命结束时间。
可以理解,图7所示的方法仅仅为本申请实施例中用于预测硬盘在未来时间的健康度和寿命的一种实施方式,本申请实施例不限于此。例如,在另一种实施方式中,存储系统120在选取与待预测的硬盘134对应的对标健康度曲线之后,在预测硬盘134在未来的时间t1的健康度时,可直接以该对标健康度曲线中与时间t1对应的时间t2的健康度作为硬盘134在未来的时间t1的健康度。
图9为本申请实施例提供的存储设备的架构图,所述存储设备可用于执行图3、图4或图7所示的任一方法,所述存储设备包括:
获取单元91,用于获取硬盘在指定使用时间的与健康度相关的多个指标的数据;
输入单元92,用于将所述数据输入多个不同的模型;
确定单元93,用于根据所述多个模型的输出确定所述硬盘在所述指定使用时间的健康度。
在一种实施方式中,所述确定单元93具体用于,基于所述多个模型的输出的加权和确定所述硬盘在所述指定使用时间的健康度。
在一种实施方式中,所述多个模型中每个模型基于异常检测算法训练得到,且每个模型所采用的异常检测算法不同。
在一种实施方式中,所述多个模型的数量为三个,所述三个模型所采用的异常检测算法分别为孤立森林算法、局部异常因子算法、K均值聚类算法。
在一种实施方式中,所述多个模型由训练设备发送给所述存储设备或者由所述存储设备训练得到,所述训练设备用于训练所述多个模型。
在一种实施方式中,所述多个模型通过以下采样数据进行训练:故障硬盘在寿命结束之前的预设时段内的与健康度相关的多个指标的采样数据。
在一种实施方式中,所述硬盘包括目标盘,所述存储设备还包括:
获取或生成单元,用于获取或生成多个对标盘的第一数据集,所述第一数据集包括所述对标盘在多个使用时间的健康度;
生成单元,用于生成所述目标盘的第二数据集,所述第二数据集包括所述目标盘在多个使用时间的健康度,所述第一数据集中的多个使用时间的时间跨度大于所述第二数据集中的多个使用时间的时间跨度;
选取单元,用于根据所述第一数据集与所述第二数据集对应的多个使用时间的健康度的相似度,选取对标盘;
预测单元,用于根据所述选取的对标盘的第一数据集,预测所述目标盘在未来的指定时间的健康度。
在一种实施方式中,所述预测单元具体用于:拟合所述选取的对标盘的第一使用时间的健康度与所述目标盘的第二使用时间的健康度之间的映射关系,所述第一使用时间与所述第二使用时间为对应的时间;根据所述映射关系和所述第一数据集预测所述目标盘在未来多个指定时间的健康度。
在一种实施方式中,所述确定单元93还用于,根据所预测的所述目标盘在未来多个指定时间的健康度,确定所述目标盘的健康度达到阈值的时间,将健康度达到阈值的时间作为所述目标盘的寿命结束时间。
本申请第三方面提供一种存储设备,包括处理器和存储器,所述存储器中存储有可执行计算机程序指令,所述处理器执行所述可执行计算机程序指令以用于执行图3、图4或图7所示的任一方法。
本申请第四方面提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序指令,当所述计算机程序指令在计算机或处理器中执行时,使得所述计算机或处理器执行图3、图4或图7所示的任一方法。
本申请第五方面提供一种计算机程序产品,包括计算机程序指令,当所述计算机程序指令在计算机或处理器中运行时,使得所述计算机或处理器执行第一方面或第一方面可能的实现方式所述的方法。
需要理解,本文中的“第一”,“第二”等描述,仅仅为了描述的简单而对相似概念进行区分,并不具有其他限定作用。
本领域的技术人员可以清楚地了解到,本申请提供的各实施例的描述可以相互参照,为描述的方便和简洁,例如关于本申请实施例提供的各装置、设备的功能以及执行的步骤可以参照本申请方法实施例的相关描述,各方法实施例之间、各装置实施例之间也可以互相参照。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,在没有超过本申请的范围内,可以通过其他的方式实现。例如,以上所描述的实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
另外,所描述装置和方法以及不同实施例的示意图,在不超出本申请的范围内,可以与其它系统,模块,技术或方法结合或集成。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电子、机械或其它的形式。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (20)
1.一种硬盘健康评估方法,其特征在于,所述方法由存储设备执行,包括:
获取硬盘在指定使用时间的与健康度相关的多个指标的数据;
将所述数据输入多个不同的模型;
根据所述多个模型的输出确定所述硬盘在所述指定使用时间的健康度。
2.根据权利要求1所述的方法,其特征在于,所述根据所述多个模型的输出确定所述硬盘在所述指定使用时间的健康度具体包括,基于所述多个模型的输出的加权和确定所述硬盘在所述指定使用时间的健康度。
3.根据权利要求1或2所述的方法,其特征在于,所述多个模型中每个模型基于异常检测算法训练得到,且每个模型所采用的异常检测算法不同。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述多个模型的数量为三个,所述三个模型所采用的异常检测算法分别为孤立森林算法、局部异常因子算法、K均值聚类算法。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述多个模型由训练设备发送给所述存储设备或者由所述存储设备训练得到,所述训练设备用于训练所述多个模型。
6.根据权利要求5所述的方法,其特征在于,所述多个模型通过以下采样数据进行训练:故障硬盘在寿命结束之前的预设使用时段内的与健康度相关的多个指标的采样数据。
7.根据权利要求1-6任一项所述的方法,所述硬盘包括目标盘,其特征在于,所述方法还包括:
获取或生成多个对标盘的第一数据集,所述第一数据集包括所述对标盘在多个使用时间的健康度;
生成所述目标盘的第二数据集,所述第二数据集包括所述目标盘在多个使用时间的健康度,所述第一数据集中的多个使用时间的时间跨度大于所述第二数据集中的多个使用时间的时间跨度;
根据所述第一数据集与所述第二数据集对应的多个使用时间的健康度的相似度,选取对标盘;
根据所述选取的对标盘的第一数据集,预测所述目标盘在未来的指定时间的健康度。
8.根据权利要求7所述的方法,其特征在于,所述根据所述选取的对标盘的第一数据集,预测所述目标盘在未来的指定时间的健康度包括:
拟合所述选取的对标盘的第一使用时间的健康度与所述目标盘的第二使用时间的健康度之间的映射关系,所述第一使用时间与所述第二使用时间为对应的时间;根据所述映射关系和所述第一数据集预测所述目标盘在未来多个指定时间的健康度。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括,根据所预测的所述目标盘在未来多个指定时间的健康度,确定所述目标盘的健康度达到阈值的时间,将健康度达到阈值的时间作为所述目标盘的寿命结束时间。
10.一种存储设备,其特征在于,所述存储设备包括:
获取单元,用于获取硬盘在指定使用时间的与健康度相关的多个指标的数据;
输入单元,用于将所述数据输入多个不同的模型;
确定单元,用于根据所述多个模型的输出确定所述硬盘在所述指定使用时间的健康度。
11.根据权利要求10所述的存储设备,其特征在于,所述确定单元具体用于,基于所述多个模型的输出的加权和确定所述硬盘在所述指定使用时间的健康度。
12.根据权利要求10或11所述的存储设备,其特征在于,所述多个模型中每个模型基于异常检测算法训练得到,且每个模型所采用的异常检测算法不同。
13.根据权利要求10-12任一项所述的存储设备,其特征在于,所述多个模型的数量为三个,所述三个模型所采用的异常检测算法分别为孤立森林算法、局部异常因子算法、K均值聚类算法。
14.根据权利要求10-13任一项所述的存储设备,其特征在于,所述多个模型由训练设备发送给所述存储设备或者由所述存储设备训练得到,所述训练设备用于训练所述多个模型。
15.根据权利要求14所述的存储设备,其特征在于,所述多个模型通过以下采样数据进行训练:故障硬盘在寿命结束之前的预设使用时段内的与健康度相关的多个指标的采样数据。
16.根据权利要求10-15任一项所述的存储设备,所述硬盘包括目标盘,其特征在于,所述存储设备还包括:
获取或生成单元,用于获取或生成多个对标盘的第一数据集,所述第一数据集包括所述对标盘在多个使用时间的健康度;
生成单元,用于生成所述目标盘的第二数据集,所述第二数据集包括所述目标盘在多个使用时间的健康度,所述第一数据集中的多个使用时间的时间跨度大于所述第二数据集中的多个使用时间的时间跨度;
选取单元,用于根据所述第一数据集与所述第二数据集对应的多个使用时间的健康度的相似度,选取对标盘;
预测单元,用于根据所述选取的对标盘的第一数据集,预测所述目标盘在未来的指定时间的健康度。
17.根据权利要求16所述的存储设备,其特征在于,所述预测单元具体用于:
拟合所述选取的对标盘的第一使用时间的健康度与所述目标盘的第二使用时间的健康度之间的映射关系,所述第一使用时间与所述第二使用时间为对应的时间;根据所述映射关系和所述第一数据集预测所述目标盘在未来多个指定时间的健康度。
18.根据权利要求17所述的存储设备,其特征在于,所述确定单元还用于,根据所预测的所述目标盘在未来多个指定时间的健康度,确定所述目标盘的健康度达到阈值的时间,将健康度达到阈值的时间作为所述目标盘的寿命结束时间。
19.一种存储设备,其特征在于,包括处理器和存储器,所述存储器中存储有可执行计算机程序指令,所述处理器执行所述可执行计算机程序指令以实现权利要求1-9任意一项所述的方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序指令,当所述计算机程序指令在计算机或处理器中执行时,使得所述计算机或处理器执行权利要求1-9中任一项的所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/118513 WO2022227373A1 (zh) | 2021-04-26 | 2021-09-15 | 一种硬盘健康评估方法和存储设备 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110453844 | 2021-04-26 | ||
CN2021104538441 | 2021-04-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115248757A true CN115248757A (zh) | 2022-10-28 |
Family
ID=83697123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110812127.3A Pending CN115248757A (zh) | 2021-04-26 | 2021-07-16 | 一种硬盘健康评估方法和存储设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115248757A (zh) |
WO (1) | WO2022227373A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115774652B (zh) * | 2023-02-13 | 2023-04-21 | 浪潮通用软件有限公司 | 一种基于聚类算法的群控设备健康监测方法、设备及介质 |
CN117407661B (zh) * | 2023-12-14 | 2024-02-27 | 深圳前海慧联科技发展有限公司 | 一种用于设备状态检测的数据增强方法 |
CN117520104B (zh) * | 2024-01-08 | 2024-03-29 | 中国民航大学 | 一种预测硬盘异常状态的系统 |
CN117573420B (zh) * | 2024-01-16 | 2024-06-04 | 武汉麓谷科技有限公司 | 一种zns固态硬盘掉电数据保存方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104951383A (zh) * | 2014-03-31 | 2015-09-30 | 伊姆西公司 | 用于监测硬盘的健康状况的方法和装置 |
DE102014115885B4 (de) * | 2014-10-31 | 2018-03-08 | Infineon Technologies Ag | Funktionstüchtigkeitszustand von nicht-flüchtigem Speicher |
CN108845760A (zh) * | 2018-05-28 | 2018-11-20 | 郑州云海信息技术有限公司 | 一种硬盘维护方法、装置、设备及可读存储介质 |
CN110119344B (zh) * | 2019-04-10 | 2023-09-01 | 深圳市科新精密电子有限公司 | 基于s.m.a.r.t参数的硬盘健康状态分析方法 |
CN111966569A (zh) * | 2019-05-20 | 2020-11-20 | 中国电信股份有限公司 | 硬盘健康度评估方法和装置、计算机可读存储介质 |
CN112214369A (zh) * | 2020-10-23 | 2021-01-12 | 华中科技大学 | 基于模型融合的硬盘故障预测模型建立方法及其应用 |
CN112364567B (zh) * | 2020-11-18 | 2022-04-22 | 浙江大学 | 一种基于退化轨迹相似度一致检验的剩余寿命预测方法 |
-
2021
- 2021-07-16 CN CN202110812127.3A patent/CN115248757A/zh active Pending
- 2021-09-15 WO PCT/CN2021/118513 patent/WO2022227373A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2022227373A1 (zh) | 2022-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115248757A (zh) | 一种硬盘健康评估方法和存储设备 | |
US11029972B2 (en) | Method and system for profile learning window optimization | |
CN110413227B (zh) | 一种硬盘设备的剩余使用寿命在线预测方法和系统 | |
US10031671B2 (en) | Method, apparatus, and system for calculating identification threshold to distinguish cold data and hot data | |
US10095774B1 (en) | Cluster evaluation in unsupervised learning of continuous data | |
WO2017129032A1 (zh) | 磁盘的故障预测方法和装置 | |
CN106897178B (zh) | 一种基于极限学习机的慢盘检测方法及系统 | |
US7769562B2 (en) | Method and apparatus for detecting degradation in a remote storage device | |
JP7405773B2 (ja) | マルチコア相互接続のレベル2キャッシュへのアクセスを検証する方法 | |
CN106776288B (zh) | 一种基于Hadoop的分布式系统的健康度量方法 | |
CN112596964A (zh) | 磁盘故障的预测方法及装置 | |
US10866875B2 (en) | Storage apparatus, storage system, and performance evaluation method using cyclic information cycled within a group of storage apparatuses | |
CN108667740A (zh) | 流量控制的方法、装置及系统 | |
CN116414661B (zh) | 分布式存储的固态硬盘处理方法和装置 | |
WO2023061209A1 (zh) | 内存故障的预测方法、电子设备和计算机可读存储介质 | |
CN111614504A (zh) | 基于时间序列和故障树分析的电网调控数据中心业务特性故障定位方法及系统 | |
CN113568798B (zh) | 服务器故障定位方法、装置、电子设备及存储介质 | |
CN114048085B (zh) | 一种磁盘故障分析方法、装置、设备及可读存储介质 | |
CN111831389A (zh) | 一种数据处理方法、装置以及存储介质 | |
CN110515757A (zh) | 分布式存储系统的信息处理方法、装置、服务器、介质 | |
US20210397508A1 (en) | Localization of potential issues to objects | |
US10776240B2 (en) | Non-intrusive performance monitor and service engine | |
US20220019375A1 (en) | Abnormal condition detection based on temperature monitoring of memory dies of a memory sub-system | |
Chen et al. | SSD drive failure prediction on Alibaba data center using machine learning | |
CN117556331B (zh) | 基于ai增强的空压机维护决策方法及系统 |
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 |