CN111813585A - 慢盘的预测和处理 - Google Patents

慢盘的预测和处理 Download PDF

Info

Publication number
CN111813585A
CN111813585A CN201910284704.9A CN201910284704A CN111813585A CN 111813585 A CN111813585 A CN 111813585A CN 201910284704 A CN201910284704 A CN 201910284704A CN 111813585 A CN111813585 A CN 111813585A
Authority
CN
China
Prior art keywords
storage disk
disk
storage
historical data
slow
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
Application number
CN201910284704.9A
Other languages
English (en)
Inventor
刘冰
翁凌冬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN201910284704.9A priority Critical patent/CN111813585A/zh
Priority to US16/697,260 priority patent/US11429497B2/en
Publication of CN111813585A publication Critical patent/CN111813585A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1092Rebuilding, e.g. when physically replacing a failing disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound

Abstract

本公开的实施例提供了一种计算机实现的方法、电子设备和计算机程序产品。该方法包括:获得存储盘在过去的第一时间段内发生的可恢复错误的历史数据。该方法还包括:基于历史数据,来确定存储盘在未来的第二时间段内将要发生的可恢复错误的预测数目。第一时间段与第二时间段具有相同的时长。该方法进一步包括:响应于预测数目超过用于识别慢盘的阈值,针对存储盘执行用于处理慢盘的操作。本公开的实施例可以预测出存储盘将变为慢盘,因此可以主动地执行用于处理慢盘的操作,从而提高存储系统的性能。

Description

慢盘的预测和处理
技术领域
本公开的实施例一般地涉及计算机系统或存储系统,并且更特别地,涉及一种预测和处理慢盘的方法、电子设备和计算机程序产品。
背景技术
在存储系统中,慢存储盘(或简称慢盘)一般是指存储性能下降达到预定性能阈值以下的存储盘,但该存储盘仍然可以工作。例如,存储盘的输入/输出(I/O)响应时延长于阈值时延,但仍然可以正确执行I/O操作。在许多情况下,慢盘将导致不良的用户体验。例如,由于慢盘的I/O响应时延较长,用户的存储指令将无法及时地返回。此外,一些应用程序如果不能在预定时间窗口内得到I/O响应,则可能产生错误。存储系统的工程师往往需要付出大量的努力来诊断和分析由慢盘导致的问题。
然而,在存储系统的行业中,大多数存储盘故障预测机制是用来预测坏存储盘的,而不关注于慢存储盘的问题。换言之,传统的预测机制被设计为“故障-停用”的模式,而不存在针对慢盘的预测和处理机制。
发明内容
本公开的实施例涉及一种预测和处理慢盘的方法、电子设备和计算机程序产品。
在本公开的第一方面,提供了一种计算机实现的方法。该方法包括:获得存储盘在过去的第一时间段内发生的可恢复错误的历史数据。该方法还包括:基于历史数据,来确定存储盘在未来的第二时间段内将要发生的可恢复错误的预测数目。第一时间段与第二时间段具有相同的时长。该方法进一步包括:响应于预测数目超过用于识别慢盘的阈值,针对存储盘执行用于处理慢盘的操作。
在本公开的第二方面,提供了一种电子设备。该电子设备包括至少一个处理器以及存储有计算机程序指令的至少一个存储器。至少一个存储器和计算机程序指令被配置为,与至少一个处理器一起,使得电子设备:获得存储盘在过去的第一时间段内发生的可恢复错误的历史数据。至少一个存储器和计算机程序指令还被配置为,与至少一个处理器一起,使得电子设备:基于历史数据,来确定存储盘在未来的第二时间段内将要发生的可恢复错误的预测数目。第一时间段与第二时间段具有相同的时长。至少一个存储器和计算机程序指令进一步被配置为,与至少一个处理器一起,使得电子设备:响应于预测数目超过用于识别慢盘的阈值,针对存储盘执行用于处理慢盘的操作。
在本公开的第三方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令。机器可执行指令在被执行时使机器执行根据第一方面的方法的步骤。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其他特征通过以下的描述将变得容易理解。
附图说明
通过参考附图阅读下文的详细描述,本公开的实施例的上述以及其他目的、特征和优点将变得容易理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施例,其中:
图1示出了本公开的实施例可以在其中被实现的示例性存储系统的示意图。
图2示出了根据本公开的实施例的预测和处理慢盘的方法的示意性流程图。
图3示出了根据本公开的实施例的机器学习模型的训练和测试的示意图。
图4示出了根据本公开的实施例的对历史数据的标记过程的示意图。
图5示出了根据本公开的实施例的将可用历史数据划分为训练数据和测试数据的示意图。
图6示出了根据本公开的实施例的慢盘处理操作过程的示意性流程图。
图7示出了一种可以被用来实施本公开的实施例的设备的示意性框图。
贯穿所有附图,相同或者相似的参考标号被用来表示相同或者相似的组件。
具体实施方式
下面将参考附图中所示出的若干示例性实施例来描述本公开的原理和精神。应当理解,描述这些具体的实施例仅是为了使本领域的技术人员能够更好地理解并实现本公开,而并非以任何方式限制本公开的范围。
图1示出了本公开的实施例可以在其中被实现的示例性存储系统100的示意图。如图1所示,存储系统100包括存储盘110和控制器120。存储盘110和控制器120可以经由通信链路130进行通信。例如,控制器120可以经由通信链路130来获取存储盘110的各种信息,诸如存储盘110的配置信息、运行时统计数据和事件日志等数据。另外地或替换地,控制器120也可以从存储系统100的其他单元或组件(未示出)获取与存储盘110有关的信息。
另一方面,控制器120也可以经由通信链路130向存储盘110发送控制信号,以实现对存储盘110的各种控制、管理和操作。另外地或替换地,控制器120也可以同时连接到并且控制与存储盘110协同操作的其他存储盘(未示出),例如与存储盘110在相同的独立存储盘冗余阵列(RAID)组中的其他存储盘。将明白,尽管图1将控制器120描绘为在存储盘110的外部,但是在一些实施例中,控制器120也可以被包括在存储盘110的内部作为其组成部分。
在一些实施例中,存储盘110可以包括各种类型的具有存储功能的设备,包括但不限于,硬盘(HDD)、固态盘(SSD)、可移除盘、紧致盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘、蓝光盘、串行附接小型计算机系统接口(SCSI)存储盘(SAS)、串行高级技术附接(SATA)存储盘、任何其他磁性存储设备和任何其他光学存储设备、或它们的任何组合。
类似地,控制器120可以包括任何实现控制功能的设备,包括但不限于,专用计算机、通用计算机、通用处理器、微处理器、微控制器、或状态机。控制器120还可以实施为个体的计算设备或计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP核心、或者任何其他这样的配置。
此外,通信链路130可以是能够实现存储盘110与控制器120之间的通信的任何形式的连接或耦合,包括但不限于,同轴电缆、光纤电缆、双绞线、或无线技术(诸如红外、无线电和微波)。在一些实施例中,通信链路130可以包括各种类型的总线。
应当理解,图1仅示意性地示出了存储系统100中的与本公开的实施例相关的单元、模块或组件。在实践中,存储系统100还可以包括用于其他功能的其他单元、模块或组件。因此,本公开的实施例不限于图1所描绘的具体设备、单元、模块或组件,而是一般性地适用于任何包括存储盘和控制器的存储系统。
如上文提到的,在存储系统的行业中,大多数存储盘故障预测机制是用来预测坏存储盘的,而不关注于慢存储盘问题。事实上,在存储系统的行业中,尚不存在良好的方法或机制来预测和处理慢盘。在实践中,如果用户报告了存储盘的I/O长时延的问题,工程师将会检查存储盘的运行统计数据,并且借助于经验来确定存储盘是否已经成为慢盘。但是,这样的传统方法存在一些问题。
首先,这种方法是一种被动而非主动的方式,其无法提前识别出慢盘并且只能离线地进行,因而造成了不良的用户体验。其次,这种方法也没有用于智能地处理慢盘问题的系统化的框架,诸如如何预测慢盘以及是停用慢盘还是进行其他处理,等等。
关于慢盘问题,本公开的发明人经过研究发现,随着存储盘的存储介质的磨损,I/O错误将随之产生。其中的一些I/O错误可以通过存储盘的内部逻辑(例如,扇区重映射、内部重试、容错编码等)来恢复。然而,这样的恢复处理也引入了额外的I/O时延。当越来越多的可恢复错误发生时,存储盘将变得越来越慢,最终导致不友好的I/O响应。因此,慢盘问题与增长的可恢复错误是密不可分的。也即,慢盘与其发生的可恢复错误的数目紧密相关。
鉴于传统方案中存在的上述问题以及潜在的其他问题,并且通过发明人的上述研究和发现。本公开的实施例提出了一种预测和处理慢盘的方法、电子设备和计算机程序产品。本公开的实施例的基本思想是,从存储盘发生的可恢复错误的历史数据中确定未来将要发生的可恢复错误的数目与历史数据之间的关联性,然后基于该关联性来预测存储盘在未来的时间是否将变为慢盘。如果预测出存储盘将变为慢盘,则执行相应的处理慢盘的操作。在一些实施例中,上述关联性可以通过经训练的机器学习模型来表征。例如,各种机器学习模型可以用于从历史数据中学习上述关联性。
本公开的实施例可以准确地预测出存储盘在未来时间(例如,一周之后)是否将会变成慢盘,进而可以采取积极的应对措施。例如,在预测到存储盘将变为慢盘的情况下,存储系统可以采用不同的策略来处理该存储盘,从而提高该存储盘所在的存储系统的性能。在一些实施例中,本公开的实施例使用随机森林回归模型来学习存储盘的历史数据并预测慢盘。仿真表明,相对于其他机器学习模型(例如,各种分类模型),随机森林回归模型可以取得更为准确的预测结果。下面结合图2至图6来详细地描述本公开的实施例。
图2示出了根据本公开的实施例的预测和处理慢盘的方法200的流程图。在一些实施例中,方法200可以由存储系统100中的控制器120来实现,例如可以由控制器120的处理器或处理单元来实现,或者由控制器120的各种功能模块来实现。在其他实施例中,方法200也可以由独立于存储系统100的计算设备来实现,或者可以由存储系统100中的其他单元或模块来实现。为了便于讨论,下文将结合图1来讨论方法200。
在205处,控制器120获得存储盘110在过去的第一时间段内发生的可恢复错误的历史数据。在本公开的上下文中,可恢复错误一般是指使得存储盘变为慢盘的任何错误。换言之,可恢复错误可以包括与存储盘110相关联的各种错误,本公开的实施例不限于任何特定的错误。作为示例,在自监测分析和报告技术(SMART)统计数据或背景介质扫描(BMS)统计数据中的“重新分配的扇区”错误或“已恢复错误”均属于可恢复错误。
因此,在一些实施例中,控制器120可以获得某种特定的可恢复错误的历史数据,然后针对该特定的可恢复错误来预测存储盘110是否将变为慢盘。替换地,控制器120也可以同时获得多种可恢复错误的历史数据,然后针对这些种类的可恢复错误来预测存储盘110是否将变为慢盘。此外,控制器120还可以同时获得所有可获得的可恢复错误的历史数据,然后针对所有可恢复错误来预测存储盘110是否将变为慢盘。
另外,与控制器120获得的历史数据相关联的上述第一时间段可以是具有任何适当时长的时间段。例如,该第一时间段可以是一天,也即,控制器120可以获得存储盘110在过去的某天内发生的可恢复错误的历史数据。在其他实施例中,第一时间段也可以合理地被设置为其他时长,例如,一小时、三小时、五小时、十小时、三天、五天、十天、一个月,等等。这可以由存储系统100的管理员或用户根据具体的技术环境和设计要求来确定。
控制器120可以使用任何适当的方式来获得上述历史数据。例如,控制器120可以在存储盘110的工作期间直接记录上述历史数据。然而,在一些实施例中,控制器120可以利用日常记录的关于存储盘110的信息来获得上述历史数据。例如,控制器120可以获得包括存储盘110的配置信息、运行时统计数据和事件日志的原始数据。该原始数据可以从记录存储盘110的相关信息的数据库来下载,诸如自动支持(ASUP)数据库,其类似于日常运转的存储库。在实践中,相关的工作人员可以对ASUP数据库的原始数据进行解析和格式化,从而将存储系统100的每天的快照形成在由大量数据库表组成的结构化数据库中。因此,控制器120可以利用这样的结构化数据库来获得上述历史数据。
对于预测存储盘110是否将变为慢盘,与存储盘110相关联的若干数据库表是值得关注的。在联机连接到这些数据库表之后,控制器120可以得到存储盘110的各种属性,包括存储盘110的序列号、供应商、型号/类型(诸如SAS、SATA、SSD和HDD等)、SMART统计数据、BMS统计数据(仅SAS存储盘)、记录的时间戳、以及健康/故障标签,等等。
但是,控制器120获得的上述原始数据通常没有很好地格式化并且可能包含许多噪声信息。因此,为了准确地预测存储盘110的未来信息,控制器120可以对获得的原始数据进行预处理,以从其中提取所需要的有用历史数据。例如,这样的预处理可以包括对原始数据进行信息抽取、格式化、过滤、填充缺失值,等等。
具体地,假设控制器120需要预测存储盘110在n天(n为自然数)之后将要发生的特定的可恢复错误E的数目。首先,控制器120可以从原始数据中抽取有用信息,其可能包括错误E的数目、存储盘的序列号、时间戳、SMART统计数据、BMS统计数据,等等。为了描述的简便性,下文将某个存储盘在某个时间戳下的成行信息称为“实例”,并且将具有相同序列号(即相同存储盘)的所有实例的集合称为“存储盘组”。
接着,控制器120可以对抽取的信息进行格式化。如上所述,抽取的信息包含实例行,每个实例行指示存储盘在某个时间戳下的状态。控制器120可以根据实例行的序列号将实例行分组,从而每个存储盘组包含具有相同序列号的存储盘信息。然后,在每个存储盘组中,控制器120可以通过时间戳将实例排序。以这种方式,控制器120可以获得各个存储盘组,并且在每个存储盘组中实现实例从第一天到最后一天的排序。
接着,控制器120可以对格式化后的信息进行过滤。在一些情况下,来自原始数据中的许多实例包含空值的属性。因此,控制器120可以滤除空值的属性数目超过一定比例(例如,50%)的实例。另一方面,控制器120可以删除错误E数目为空值的实例,因为这些实例对于预测错误E的数目可能是无用的。
然后,控制器120可以对过滤后的信息进行填充缺失值。具体地,控制器120可以使用特定值(例如,-999)来填充具有可接受数目的空值(缺失值)的实例中的这些空值。经过对原始数据的上述预处理,控制器120可以获得存储盘110在过去的第一时间段内发生的可恢复错误的历史数据。
在210处,控制器120基于所获得的存储盘110在过去的第一时间段内发生的可恢复错误的历史数据,来确定存储盘110在未来的第二时间段内将要发生的可恢复错误的预测数目。第一时间段与第二时间段具有相同的时长。例如,在第一时间段是一天的情况下,第二时间段也为一天。换言之,控制器120可以基于过去某天发生的可恢复错误的数目,来预测未来某天将要发生的可恢复错误的数目。如上文提到的,第一时间段也可以合理地设置为其他时长,因此第二时间段的时长可以相应地设置为其他时长。在其他实施例中,第一时间段可以基于第二时间段来确定。例如,如果需要预测存储盘110在未来一周将要发生的可恢复错误的数据,即第二时间段为一周,则第一时间段可以相应地被确定为一周。
将理解,基于存储盘110在过去的第一时间段发生的可恢复错误的历史数据,来预测在未来的第二时间段将要发生的可恢复错误的数目的原理在于,存储盘110在不同时间发生的可恢复错误的数目存在一定的规律。在一些情况下,这种规律可能比较简单。例如,存储盘110发生可恢复错误的数目可能随着时间线性地增长,或者可以通过曲线拟合的方式来确定。在这些情况下,控制器120可以通过线性函数计算、曲线拟合等简单的方式,从存储盘110过去发生的可恢复错误的数目来确定上述预测数目。
然而,在更多的情况下,存储盘110发生可恢复错误的数目在时间上的规律可能是较为复杂的,难以通过简单的数学计算来确定。但是,存储盘110未来将要发生的可恢复错误的数目仍然与存储盘110过去发生可恢复错误的行为存在某种相关性。这种相关性可以具体地体现在存储盘110未来将要发生的可恢复错误的数目与存储盘110过去发生可恢复错误的各种属性之间存在关联性。
在一些实施例中,上述关联性可以基于存储盘110在第一时间段之前发生的可恢复错误的历史数据来确定。具体地,如果控制器120需要根据存储盘110在某天(假设日期为X)发生的可恢复错误的数目,来预测存储盘110在n天以后将要发生的可恢复错误的数目,则上述关联性可以基于存储盘110在日期X以前发生的可恢复错误的历史数据来确定。这种方式可以确保用于确定上述关联性的历史数据在时间上的跨度大于或等于n,从而有利于更准确地确定该关联性。然而,将理解,使用日期X以后的历史数据来确定关联性也是可行的。
在一些实施例中,为了确定上述关联性,控制器120可以首先从上述历史数据中确定存储盘110在第一时间段内发生的可恢复错误的属性。例如,该属性可以是存储盘110在具有相同时长的时间段内发生的可恢复错误的数目。具体地,如果要预测的是存储盘110在未来某天将要发生的可恢复错误的数目,则属性可以是过去某天所发生的可恢复错误的数目。也即,存储盘110在未来某天发生的可恢复错误的数目与过去某天发生的数目存在关联性。
又例如,属性可以是发生的可恢复错误的数目在预定时间窗口内的变化率。该预定时间窗口可以由存储系统100的管理员或用户根据具体的技术环境和设计要求设置为任何适当的时长,诸如三天、五天、七天,等等。可理解的是,存储盘110在未来第二时间段发生的可恢复错误的数目与上述变化率也存在关联性。再例如,属性可以是发生的可恢复错误的数目在预定时间窗口内的方差。可理解的是,存储盘110在未来第二时间段发生的可恢复错误的数目与该方差也存在关联性。上面列举的这几种属性以可理解的方式与存储盘110未来将要发生的可恢复错误的数目是密切相关的,因此使用这些属性来确定上述关联性可以提高预测准确性。
在其他实施例中,上述属性还可以包括SMART统计数据和BMS统计数据中的任何属性(诸如,温度、通电时长、总写入次数等),因为存储盘110在未来第二时间段发生的可恢复错误的数目与这些属性都可能存在一定的关联性。SMART统计数据和BMS统计数据中所包括的属性是已知的,此处不再一一列举。更一般地,上述属性可以是与存储盘110在第一时间段内发生的可恢复错误相关联的已知的或未来将发现的任何属性。此外,控制器120可以从上述历史数据中确定一个或多个属性,也即,属性的数目是可配置的。
在确定上述属性之后,控制器120可以基于存储盘110在未来的第二时间段将要发生的可恢复错误的预测数目与所确定的属性之间的关联性,来确定该预测数目。例如,在存储盘110发生可恢复错误的数目在时间上的规律较为简单的情况下,控制器120可以基于存储盘110在过去发生的可恢复错误的数目和数目的变化率之类的属性,通过数学计算来得出存储盘110在未来的第二时间段将要发生的可恢复错误的预测数目。
然而,在更多的情况下,上述规律性不是简单或明确的。在这样的情况下,经训练的机器学习模型可以用来表征上述预测数目与上述属性之间的关联性。以这种方式,更为复杂或难以解释的关联性可以被学习并用于预测,从而改进预测的准确性。下文结合图3来描述本公开的实施例中的机器学习模型的训练和测试过程。将理解,在一些实施例中,机器学习模型的训练和测试过程可以由控制器120来执行。在其他实施例中,机器学习模型的训练和测试过程也可以由不同于控制器120的任何其他的计算设备来完成,而控制器120可以直接使用训练和测试后的机器学习模型。进一步地,机器学习模型的训练过程和测试过程也可以分别在不同的计算设备上完成。
图3示出了根据本公开的实施例的机器学习模型350的训练和测试的示意图。如图3所示,原始数据310可以输入到数据处理模块320。数据处理模块320可以执行类似于上文描述的从原始数据中提取历史数据的数据处理过程。例如,数据处理模块320可以包括提取有用信息模块322、数据格式化模块324和缺失值处理模块326等。这些模块的功能和作用类似于上文描述的从原始数据中提取历史数据的预处理中的各种处理,此处不再赘述。
在数据处理模块320完成对原始数据310的数据处理后,可以对历史数据进行标记(labelling),下文结合图4来具体描述标记过程。图4示出了根据本公开的实施例的对可用的历史数据340的标记过程400的示意图。在机器学习的过程中,所谓的标记过程一般指的是向训练样本指定输出结果的过程。因此,用于机器学习模型350的标记过程400可以基于要预测的未来的第二时间段与过去的第一时间段之间在时间上的距离来进行。例如,如果需要预测存储盘110在七天之后将要发生的可恢复错误的数目,则标记过程400可以基于七天的时间长度来进行。
作为示例,图4中示出了基于三天的时间长度的标记过程400,也即需要训练机器学习模型350来预测存储盘110在三天以后将要发生的可恢复错误的数目。如图4所示,在第一天(假设日期为Y)记录的历史数据410可以包括可恢复错误发生的数目412以及其他属性信息414。类似地,分别在第二天(日期为Y+1)直到第六天(日期为Y+5)记录的历史数据420至460可以分别包括可恢复错误发生的数目422至462以及其他属性信息424至464。
在图4的示例中,第一天(日期为Y)发生的可恢复错误的数目412为44个,第二天(日期为Y+1)发生的可恢复错误的数目422为44个,第三天(日期为Y+2)发生的可恢复错误的数目432为44个,第四天(日期为Y+3)发生的可恢复错误的数目442为45个,第五天(日期为Y+4)发生的可恢复错误的数目452为46个,并且第六天(日期为Y+5)发生的可恢复错误的数目462为49个。
在图4的示例中,因为需要预测的是三天以后将要发生的可恢复错误的数目,所以对于历史数据410,其指定的预测结果为历史数据440,也即使用历史数据440来标记历史数据410。类似地,历史数据450和460分别用于标记历史数据420和430。历史数据440-460可以按照相同的方式被标记。
返回参考图3,在完成对历史数据的标记以后,可以由特征工程模块330来进行特征工程。在特征工程中,上文描述的用于预测存储盘110在未来的第二时间段将要发生的可恢复错误的数目的所确定的历史数据的属性均可以作为机器学习模型350要学习的特征,例如存储盘110在具有特定时长的时间段内发生的可恢复错误的数目、该数目在预定时间窗口内的变化率、以及该数目在预定时间窗口内的方差。
此外,存储盘110的所有的SMART属性和BMS属性均可以作为机器学习模型350要学习的特征。进一步地,在特征工程中还可以增加新特征用于机器学习模型350进行学习。例如,所有属性取值的方差和变化率也可以作为新特征用于机器学习模型350进行学习。作为示例,存储盘110发生的可恢复错误E的数目在n天内的变化率可以使用公式(1)表示如下。
Echange=|Ei-Ei-n| (1)
其中Ei是在第i天可恢复错误E的数目,Ei-n是在第i天之前的n天可恢复错误E的数目。
如图3所示,在特征工程模块330完成特征工程之后,可用的历史数据340可以被分成训练数据342和测试数据344来分别训练346和测试348机器学习模型。图5示出了根据本公开的实施例的将可用历史数据340划分为训练数据342和测试数据344的示意图。在图5示出的实施例中,历史数据340可以按照发生时间的先后顺序被划分成训练数据342和测试数据344。例如,训练数据342可以是从时间点A(例如,第一日期)至时间点B(例如,第二日期)所记录的历史数据,而测试数据344可以是从时间点B(例如,第二日期)至时间点C(例如,第三日期)所记录的历史数据。
按照时间先后顺序来划分训练数据342和测试数据344可以确保用于训练和测试机器学习模型350的历史数据的时间连贯性,有利于改进机器学习模型350的训练效果。在其他实施例中,训练数据342和测试数据344也可以使用其他的方式在时间轴上被划分。例如,训练数据342和测试数据344在时间轴上可以是交替分布的。更一般地,训练数据342和测试数据344可以基于除了时间以外的其他参数或者按任何其他方式被划分,只要训练数据342能有效地训练机器学习模型350,测试数据344能有效地测试机器学习模型350。
在一些实施例中,为了使得机器学习模型350可以有效地预测出存储盘110在未来的第二时间段将要发生的可恢复错误的数目的具体取值,可以使用回归的机器学习模型。另一方面,已知的是随机森林分类模型在坏盘预测方面可以实现良好的预测结果,并且是针对该类问题最为可解释的机器学习模型。因此,本公开的实施例可以使用随机森林回归模型来作为机器学习模型350,用于预测存储盘110在未来的第二时间段将要发生的可恢复错误的数目。
返回参考图3,测试结果模块360可以测量机器学习模型350的测试结果,并且对机器学习模型350进行调节355。在模型的测试方面,回归的机器学习模型具有与分类的机器学习模型不同的性能度量,包括解释方差得分、中值绝对误差、以及R2得分,等等。因此,针对回归的机器学习模型350,测试结果模块360可以包括解释方差得分模块362、中值绝对误差模块364、R2得分模块366。解释方差得分测量的是数学模型计入给定数据集的变化的比例,其可以使用公式(2)定义如下:
Figure BDA0002022870770000131
其中
Figure BDA0002022870770000132
是预测值集合并且Y是真值集合,解释方差得分越接近1表示回归模型的性能越好。
中值绝对误差测量的是真值与预测值之间的绝对差值的中值。该测量是特别值得关注的,因为它对异常值非常鲁棒。中值绝对误差可以使用公式(3)表示如下:
Figure BDA0002022870770000141
其中
Figure BDA0002022870770000142
是预测值集合并且Y是真值集合。
R2得分测量的是在由模型所解释的结果的总变化的比例的基础上,所观测的结果由模型重复得有多好。R2得分可以使用公式(4)表示如下:
Figure BDA0002022870770000143
其中
Figure BDA0002022870770000144
是所有yi的平均值,R2得分也是越接近1表示回归模型的性能越好。
在一些实施例中,机器学习模型350的超参数可以基于测试结果被调节,以使得机器学习模型350适应各种不同的预测场景,例如不同的存储盘供应商、不同的存储盘型号等,而无需修改机器学习模型350的代码。这种调节由仅具有存储技术背景的工程师即可完成。除了机器学习模型350的常规超参数(诸如随机森林中回归树的数目)以外,用于确定可恢复错误的数目变化率的时间窗口长度可以被作为机器学习模型350的超参数,来优化机器学习模型350。
本公开的一些实施例还针对特定的存储盘进行了仿真,从而验证了机器学习模型350的有效性。具体地,在该仿真中,选用的存储盘110的类型是SAS-HDD、训练数据342的时间窗口为2018年1月1日至2018年1月31日,而测试数据344的时间窗口为2018年2月1日至2018年2月15日。要预测的可恢复错误包括BMS统计数据中的可恢复错误和SMART统计数据中的重新分配扇区错误。仿真所使用的机器学习模型350为随机森林回归模型。
在仿真的实验设置中,将机器学习模型350的超参数时间窗口长度设置为7,而超参数回归树的数目设置为20。使用随机森林回归模型来预测存储盘110在7天之后将要发生的可恢复错误的数目。在评估步骤中,在测量机器学习模型350的各种得分时,可恢复错误的数目在7天内没有发生变化的实例被排除。这意味着仿真仅关注于可恢复错误的数目发生增长的情况,这些情况可以真正显示出机器学习模型350如何预测可恢复错误的变化。该仿真的结果如下。
对于BMS可恢复错误,机器学习模型350的可用实例数目为1184332,解释方差得分为0.92,中值绝对误差为2.2,R2得分为0.92。对于SMART重新分配扇区错误,机器学习模型350的可用实例数目为1309793,解释方差得分为0.92,中值绝对误差为4.75,R2得分为0.92。仿真结果显示了预测的错误数目与真实的错误数目之间非常小的差距。此外,解释方差得分接近于1也表明预测结果是准确的。因此,本公开的实施例的机器学习模型350,特别是随机森林回归模型可以实现良好的性能。
返回参考图2,在215处,控制器120确定存储盘110将要发生的可恢复错误的预测数目是否超过用于识别慢盘的阈值。如上文指出的,慢盘是与其发生的可恢复错误的数目紧密相关的。因此,存储系统100的管理员或用户可以根据具体的技术环境和设计需求或其他因素来合理地设置用于识别慢盘的阈值。也即,如果预测数目超过该阈值,则存储盘110被认为在未来的第二时间段之后将会变为慢盘。如果预测数目未超过该阈值,则存储盘110被认为在第二时间段之后仍然是好的或健康的存储盘。
在220处,如果预测数目超过用于识别慢盘的阈值,则控制器120针对存储盘110执行用于处理慢盘的操作。例如,这样的操作可以是发送指示存储盘110将变为慢盘的警告信息,以使得存储系统100的管理员可以针对存储盘110人工地选择应对措施,诸如更换存储盘110或继续使用存储盘110一段时间。又例如,这样的操作可以是将存储盘110直接标记为故障盘,以触发存储盘110被更换。再例如,这样的操作可以是减少针对存储盘110的I/O访问。因此,如果接收到从存储盘110读取数据的请求,控制器120可以从另外的存储盘中提供数据(例如,从RAID组中的其他存储盘中恢复出该数据),以避免对存储盘110的读取。在其他实施例中,用于处理慢盘的操作可以包括消除或缓解慢盘影响的任何操作。
在一些实施例中,控制器120可以基于用户配置的策略针对存储盘110执行不同的操作。图6示出了根据本公开的实施例的慢盘处理操作过程600的示意性流程图。在一些实施例中,过程600可以由存储系统100中的控制器120来实现,例如可以由控制器120的处理器或处理单元来实现,或者由控制器120的各种功能模块来实现。在其他实施例中,过程600也可以由独立于存储系统100的计算设备来实现,或者可以由存储系统100中的其他单元或模块来实现。为了便于讨论,下文将结合图1来讨论过程600。
在602处,控制器120预测出存储盘110将变为慢盘。例如,控制器120可以借助于经训练的机器学习模型350来预测存储盘110将要发生的可恢复错误的数目。接着,控制器120可以将预测的数目与用户配置的识别慢盘的阈值数目进行比较。如果预测的数目超出阈值数目,则控制器120可以预测存储盘110将成为慢盘。应当理解,用于的识别慢盘的阈值数目是用户可配置的,例如用户可以通过配置接口来配置该阈值数目。
在604处,控制器120确定用户配置的针对慢盘的处理策略。在第一种策略下,过程600前进到606。在606处,控制器120将预测为慢盘的存储盘110标记为故障盘,以触发存储盘110被更换。接着,在608处,控制器120对更换的新存储盘执行数据重构。
在第二种策略下,过程600前进到610。在610处,控制器120发出指示存储盘110将变为慢盘的警告信息。例如,控制器120可以通过各种方式(诸如,在用于显示存储系统100的相关信息的显示屏上显示)向存储盘110的管理员发送警告信息,以使得管理员知晓存储盘110将变为慢盘。在接收到警告信息之后,管理员可以人工确定采取何种应对措施。
在第三种策略下,过程600前进到612。在612处,控制器120确定继续使用存储盘110。在这种情况下,控制器120可以同时减少对存储盘110的I/O操作,以缓解存储盘110上的压力。具体地,在614处,控制器120确定对存储盘110的I/O操作是读操作还是写操作。如果确定是读操作,则过程600前进到616。在616处,控制器120可以从另外的存储盘(例如,备份盘或RAID中的其他存储盘)中提供需要读取的数据,以避免对存储盘110的读取。
如果在614处确定是写操作,则过程600前进到618。在618处,控制器120将需要写入的数据写入存储盘110。在620处,控制器120可以监测存储盘110是否发生不可恢复的写入错误。如果存储盘110发生不可恢复的错误,则过程600前进到606,以触发存储盘110被更换,然后执行数据重构。
图7示意性地示出了一种可以被用来实施本公开的实施例的设备700的框图。如图7中所示出的,设备700包括中央处理单元(CPU)701,其可以根据存储在只读存储设备(ROM)702中的计算机程序指令或者从存储单元708加载到随机访问存储设备(RAM)703中的计算机程序指令,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法200和过程600可由处理单元701来执行。例如,在一些实施例中,方法200和过程600可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序被加载到RAM703并由CPU 701执行时,可以执行上文描述的方法200或过程600的一个或多个步骤。
如本文所使用的,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。本文还可能包括其他明确的和隐含的定义。
如本文所使用的,术语“确定”涵盖各种各样的动作。例如,“确定”可以包括运算、计算、处理、导出、调查、查找(例如,在表格、数据库或另一数据结构中查找)、查明等。此外,“确定”可以包括接收(例如,接收信息)、访问(例如,访问存储器中的数据)等。此外,“确定”可以包括解析、选择、选取、建立等。
应当注意,本公开的实施例可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。
此外,尽管在附图中以特定顺序描述了本公开的方法的操作,但是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤组合为一个步骤执行,和/或将一个步骤分解为多个步骤执行。还应当注意,根据本公开的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
虽然已经参考若干具体实施例描述了本公开,但是应当理解,本公开不限于所公开的具体实施例。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等效布置。

Claims (19)

1.一种计算机实现的方法,包括:
获得存储盘在过去的第一时间段内发生的可恢复错误的历史数据;
基于所述历史数据,来确定所述存储盘在未来的第二时间段内将要发生的所述可恢复错误的预测数目,所述第一时间段与所述第二时间段具有相同的时长;以及
响应于所述预测数目超过用于识别慢盘的阈值,针对所述存储盘执行用于处理慢盘的操作。
2.根据权利要求1所述的方法,其中确定所述预测数目包括:
从所述历史数据中确定所述存储盘在所述第一时间段内发生的所述可恢复错误的属性;以及
基于所述预测数目与所述属性之间的关联性,来确定所述预测数目。
3.根据权利要求2所述的方法,其中所述关联性是基于所述存储盘在所述第一时间段之前发生的所述可恢复错误的历史数据来确定的。
4.根据权利要求2所述的方法,其中所述属性包括以下至少一项:所述存储盘在具有所述时长的时间段内发生的所述可恢复错误的数目、所述数目在预定时间窗口内的变化率、以及所述数目在所述预定时间窗口内的方差。
5.根据权利要求2所述的方法,其中所述关联性使用经训练的机器学习模型来表征。
6.根据权利要求5所述的方法,其中用于确定所述可恢复错误的数目变化率的时间窗口长度被作为所述机器学习模型的超参数,来优化所述机器学习模型。
7.根据权利要求5所述的方法,其中所述机器学习模型包括随机森林回归模型。
8.根据权利要求1所述的方法,其中获得所述历史数据包括:
获得包括所述存储盘的配置信息、运行时统计数据和事件日志的原始数据;以及
从所述原始数据中提取所述历史数据。
9.根据权利要求1所述的方法,其中执行用于处理慢盘的操作包括以下至少一项:
发送指示所述存储盘将变为慢盘的警告信息;
将所述存储盘标记为故障盘,以触发所述存储盘被更换;以及
响应于接收到从所述存储盘读取数据的请求,从另外的存储盘中提供所述数据以避免对所述存储盘的读取。
10.一种电子设备,包括:
至少一个处理器;以及
存储有计算机程序指令的至少一个存储器,所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,使得所述电子设备:
获得存储盘在过去的第一时间段内发生的可恢复错误的历史数据;
基于所述历史数据,来确定所述存储盘在未来的第二时间段内将要发生的所述可恢复错误的预测数目,所述第一时间段与所述第二时间段具有相同的时长;以及
响应于所述预测数目超过用于识别慢盘的阈值,针对所述存储盘执行用于处理慢盘的操作。
11.根据权利要求10所述的电子设备,其中所述至少一个存储器和所述计算机程序指令还被配置为,与所述至少一个处理器一起,使得所述电子设备:
从所述历史数据中确定所述存储盘在所述第一时间段内发生的所述可恢复错误的属性;以及
基于所述预测数目与所述属性之间的关联性,来确定所述预测数目。
12.根据权利要求11所述的电子设备,其中所述关联性是基于所述存储盘在所述第一时间段之前发生的所述可恢复错误的历史数据来确定的。
13.根据权利要求11所述的电子设备,其中所述属性包括以下至少一项:所述存储盘在具有所述时长的时间段内发生的所述可恢复错误的数目、所述数目在预定时间窗口内的变化率、以及所述数目在所述预定时间窗口内的方差。
14.根据权利要求11所述的电子设备,其中所述关联性使用经训练的机器学习模型来表征。
15.根据权利要求14所述的电子设备,其中用于确定所述可恢复错误的数目变化率的时间窗口长度被作为所述机器学习模型的超参数,来优化所述机器学习模型。
16.根据权利要求14所述的电子设备,其中所述机器学习模型包括随机森林回归模型。
17.根据权利要求10所述的电子设备,其中所述至少一个存储器和所述计算机程序指令还被配置为,与所述至少一个处理器一起,使得所述电子设备:
获得包括所述存储盘的配置信息、运行时统计数据和事件日志的原始数据;以及
从所述原始数据中提取所述历史数据。
18.根据权利要求10所述的电子设备,其中所述至少一个存储器和所述计算机程序指令还被配置为,与所述至少一个处理器一起,使得所述电子设备执行以下至少一项:
发送指示所述存储盘将变为慢盘的警告信息;
将所述存储盘标记为故障盘,以触发所述存储盘被更换;以及
响应于接收到从所述存储盘读取数据的请求,从另外的存储盘中提供所述数据以避免对所述存储盘的读取。
19.一种计算机程序产品,所述计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1-9中任一项所述的方法的步骤。
CN201910284704.9A 2019-04-10 2019-04-10 慢盘的预测和处理 Pending CN111813585A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910284704.9A CN111813585A (zh) 2019-04-10 2019-04-10 慢盘的预测和处理
US16/697,260 US11429497B2 (en) 2019-04-10 2019-11-27 Predicting and handling of slow disk

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910284704.9A CN111813585A (zh) 2019-04-10 2019-04-10 慢盘的预测和处理

Publications (1)

Publication Number Publication Date
CN111813585A true CN111813585A (zh) 2020-10-23

Family

ID=72749245

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910284704.9A Pending CN111813585A (zh) 2019-04-10 2019-04-10 慢盘的预测和处理

Country Status (2)

Country Link
US (1) US11429497B2 (zh)
CN (1) CN111813585A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256291A (zh) * 2020-12-22 2021-01-22 上海伟测半导体科技股份有限公司 一种Wafer ID烧写防呆的方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11303672B2 (en) * 2020-04-02 2022-04-12 International Business Machines Corporation Detecting replay attacks using action windows
CN113312218A (zh) * 2021-03-31 2021-08-27 阿里巴巴新加坡控股有限公司 磁盘的检测方法和装置
CN114415973B (zh) * 2022-03-28 2022-08-30 阿里云计算有限公司 慢盘检测方法、装置、电子设备及存储介质
CN114706720B (zh) * 2022-06-06 2022-09-06 南京鹏云网络科技有限公司 分布式存储系统慢盘判断方法、系统、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102129397A (zh) * 2010-12-29 2011-07-20 深圳市永达电子股份有限公司 一种自适应磁盘阵列故障预测方法及系统
CN106897178A (zh) * 2017-02-21 2017-06-27 曲阜师范大学 一种基于极限学习机的慢盘检测方法及系统
US20180157438A1 (en) * 2015-07-31 2018-06-07 Huawei Technologies Co., Ltd. Slow-disk detection method and apparatus
US20180357535A1 (en) * 2017-06-12 2018-12-13 Western Digital Technologies, Inc. Identifying memory block write endurance using machine learning
CN109240867A (zh) * 2018-09-18 2019-01-18 鸿秦(北京)科技有限公司 硬盘故障预测方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7389396B1 (en) * 2005-04-25 2008-06-17 Network Appliance, Inc. Bounding I/O service time
US9189320B2 (en) * 2012-08-15 2015-11-17 International Business Machines Corporation Handling intermittent recurring errors in a network
US10762456B2 (en) * 2014-09-30 2020-09-01 International Business Machines Corporation Migration estimation with partial data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102129397A (zh) * 2010-12-29 2011-07-20 深圳市永达电子股份有限公司 一种自适应磁盘阵列故障预测方法及系统
US20180157438A1 (en) * 2015-07-31 2018-06-07 Huawei Technologies Co., Ltd. Slow-disk detection method and apparatus
CN106897178A (zh) * 2017-02-21 2017-06-27 曲阜师范大学 一种基于极限学习机的慢盘检测方法及系统
US20180357535A1 (en) * 2017-06-12 2018-12-13 Western Digital Technologies, Inc. Identifying memory block write endurance using machine learning
CN109240867A (zh) * 2018-09-18 2019-01-18 鸿秦(北京)科技有限公司 硬盘故障预测方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256291A (zh) * 2020-12-22 2021-01-22 上海伟测半导体科技股份有限公司 一种Wafer ID烧写防呆的方法

Also Published As

Publication number Publication date
US11429497B2 (en) 2022-08-30
US20200327020A1 (en) 2020-10-15

Similar Documents

Publication Publication Date Title
US11429497B2 (en) Predicting and handling of slow disk
De Santo et al. Deep Learning for HDD health assessment: An application based on LSTM
CN108647136B (zh) 基于smart信息和深度学习的硬盘损坏预测方法及装置
Kadekodi et al. Cluster storage systems gotta have {HeART}: improving storage efficiency by exploiting disk-reliability heterogeneity
US9311176B1 (en) Evaluating a set of storage devices and providing recommended activities
KR101948634B1 (ko) 스마트 컴퓨팅을 위한 시스템 자원의 장애 예측 방법
US10606722B2 (en) Method and system for diagnosing remaining lifetime of storages in data center
US20220100389A1 (en) Method, electronic device, and computer program product for managing disk
US11449376B2 (en) Method of determining potential anomaly of memory device
US20160204997A1 (en) Extracting Log Files From Storage Devices
Xu et al. General feature selection for failure prediction in large-scale SSD deployment
US8843781B1 (en) Managing drive error information in data storage systems
Pinciroli et al. Lifespan and failures of SSDs and HDDs: similarities, differences, and prediction models
US20160139961A1 (en) Event summary mode for tracing systems
US20170132056A1 (en) Durability and availability evaluation for distributed storage systems
US10776240B2 (en) Non-intrusive performance monitor and service engine
CN114661505A (zh) 存储部件故障处理方法、装置、设备和存储介质
JP2014174895A (ja) バグ収束予測装置及びバグ収束予測プログラム
US20220365841A1 (en) Repair support system and repair support method
CN115981911A (zh) 内存故障的预测方法、电子设备和计算机可读存储介质
Oakley et al. Examining the impact of critical attributes on hard drive failure times: Multi‐state models for left‐truncated and right‐censored semi‐competing risks data
CN117369732B (zh) 一种逻辑盘处理方法、装置、电子设备及存储介质
Bairavasundaram et al. Characteristics, impact, and tolerance of partial disk failures
US11429748B2 (en) Device and method for analyzing performances of a web application
Balu Predicting Hard Disk Drive Failures and Misbehavior

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