CN115237333A - 用于管理盘的方法、电子设备和计算机程序产品 - Google Patents

用于管理盘的方法、电子设备和计算机程序产品 Download PDF

Info

Publication number
CN115237333A
CN115237333A CN202110444199.7A CN202110444199A CN115237333A CN 115237333 A CN115237333 A CN 115237333A CN 202110444199 A CN202110444199 A CN 202110444199A CN 115237333 A CN115237333 A CN 115237333A
Authority
CN
China
Prior art keywords
disk
access operation
failed
determined
status code
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
CN202110444199.7A
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 CN202110444199.7A priority Critical patent/CN115237333A/zh
Priority to US17/528,562 priority patent/US11755215B2/en
Publication of CN115237333A publication Critical patent/CN115237333A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • 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/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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • 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/061Improving I/O performance
    • 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
    • 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/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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/062Securing storage 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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
    • G06F3/0674Disk device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • 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/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Abstract

本公开的实施例涉及用于管理盘的方法、电子设备和计算机程序产品。该方法包括获取针对盘的访问操作的消息,消息包括针对访问操作的操作系统级别的第一状态代码。该方法还包括如果确定第一状态代码指示访问操作失败,获取针对访问操作的盘硬件级别的第二状态代码。该方法还包括根据与第二状态代码相对应的处理策略确定盘是否将被标记为故障。该方法还包括如果确定盘未被标记为故障,基于针对盘的失败的访问操作的次数来管理盘。通过该方法,可以快速确定盘访问操作失败的具体原因,使得能够快速解决问题,节省了时间,改进了用户体验。

Description

用于管理盘的方法、电子设备和计算机程序产品
技术领域
本公开的实施例涉及数据存储领域,并且更具体地,涉及用于管理盘的方法、电子设备和计算机程序产品。
背景技术
存储系统是指由存放程序和数据的各种存储设备、控制部件及管理信息调度的设备和算法所组成的系统。随着存储技术的发展,越来越多的数据被存储到存储系统中,导致用户对存储系统的使用越来越多。
现在由于用户对存储系统系统的使用快速增多,导致对存储系统的性能、安全性以及可靠性的要求不断增加。然而,在使用存储系统来存储数据时还存在许多需要解决的问题。
发明内容
本公开的实施例提供一种用于管理盘的方法、电子设备和计算机程序产品。
根据本公开的第一方面,提供了一种用于管理盘的方法。该方法包括获取针对盘的访问操作的消息,消息包括针对访问操作的操作系统级别的第一状态代码。该方法还包括如果确定第一状态代码指示访问操作失败,获取针对访问操作的盘硬件级别的第二状态代码。该方法还包括根据与第二状态代码相对应的处理策略确定盘是否将被标记为故障。该方法还包括如果确定盘未被标记为故障,基于针对盘的失败的访问操作的次数来管理盘。
根据本公开的第二方面,提供了一种电子设备。该电子设备包括至少一个处理器;以及存储器,耦合至至少一个处理器并且具有存储于其上的指令,指令在由至少一个处理器执行时使设备执行动作,动作包括:获取针对盘的访问操作的消息,消息包括针对访问操作的操作系统级别的第一状态代码;如果确定第一状态代码指示访问操作失败,获取针对访问操作的盘硬件级别的第二状态代码;以及根据与第二状态代码相对应的处理策略确定盘是否将被标记为故障;如果确定盘未被标记为故障,基于针对盘的失败的访问操作的次数来管理盘。
根据本公开的第三方面,提供了一种计算机程序产品,该计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令,该机器可执行指令在被执行时使机器执行本公开的第一方面中的方法的步骤。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1图示了根据本公开的实施例的设备和/或方法可以在其中被实施的示例环境100的示意图;
图2图示了根据本公开的实施例的用于处理数据的方法300的流程图;
图3图示了根据本公开的实施例的状态码和处理策略对应关系的示例300的示意图;
图4图示了根据本公开的实施例的管理设备内的各部件交互的示例400示意图;
图5图示了适于用来实施本公开内容的实施例的示例设备500的示意性框图。
在各个附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
下面将参考附图中示出的若干示例实施例来描述本公开的原理。虽然附图中显示了本公开的优选实施例,但应当理解,描述这些实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。
对于存储系统,用户通常需要将数据写入存储系统的盘或者从存储系统的盘读取数据。然而,在这些写入或读取操作过程中有时会出现错误。因此,如何处理存储系统中盘的输入/输出(Input/Output,I/O)错误对于提高存储系统的服务质量非常重要,特别是对于由符合高速非易失性存储器(Non-Volatile Memory express,NVMe)规范的盘形成的存储系统。
根据NVMe规范,可以使用NVMe控制器的返回状态代码来识别NVMe I/O状态。但是,在操作系统中,用户区和内核之间存在一定的I/O堆栈,这些I/O堆栈跨过NVMe驱动程序、块层和异步I/O和系统调用层。在对NVMe盘进行各种I/O操作后会获得对应的NVMe状态代码。然后,NVMe状态代码在在各层之间映射最终得到操作系统级别的状态代码,例如“ENODATA”。该映射过程将NVMe状态代码的详细信息丢失。因此,上层的应用无法识别NVMe盘的实际状态或实际的问题。在这种情况下通常无法正确地解决问题,导致存储系统的性能下降,并且不能很好的为用户服务。
至少为了解决上述和其他潜在问题,本公开的实施例提出了一种用于管理盘的方法。在该方法中,管理设备先接收针对盘的访问操作的消息,消息包括针对访问操作的操作系统级别的第一状态代码。如果通过第一状态代码确定出访问操作失败,则获取针对访问操作的盘硬件级别的第二状态代码。然后管理设备根据与第二状态代码相对应的处理策略确定盘是否将被标记为故障;如果确定盘未被标记为故障,则利用针对盘的失败的访问操作的次数来管理盘。通过该方法,可以快速确定盘访问操作失败的具体原因,使得能够快速解决问题,节省了时间,改进了用户体验。
以下将进一步结合附图来详细描述本公开的实施例。图1示出了本公开的实施例能够在其中被实现的示例环境100的示意图。
在示例环境100中包括管理设备102和盘108,管理设备用于管理对盘108的访问操作。管理设备102包括但不限于个人计算机、服务器计算机、手持或膝上型设备、移动设备(诸如移动电话、个人数字助理(PDA)、媒体播放器等)、多处理器系统、消费电子产品、小型计算机、大型计算机、包括上述系统或设备中的任意一个的分布式计算环境等。图1中仅示了一个盘108,其仅是示例,而非对本公开的具体限定,管理设备102可用于管理多个盘。
管理设备102中包括管理器104和盘驱动模块106。管理器104可用于将来自用户的对盘的访问操作发送到盘驱动模块106,例如NVMe驱动模块。然后盘驱动模块106来对盘108执行访问操作。执行的访问操作的状态信息会通过盘驱动模块106返回给管理器104。
在一些实施例中,盘驱动模块106包括盘驱动程序模块、块层和异步I/O和系统调用层。用于标识对盘108的访问操作的状态的盘硬件级别的状态代码通常会从盘108返给盘驱动模块106。盘驱动模块106从盘108获取的盘硬件级别的代码进行多次映射以便得到操作系统级别的状态代码。然后将包括操作系统级别的状态代码的消息返回给管理器104。
在一个示例中,盘108为NVMe盘,如果其得到的盘硬件级别的NVMe状态码为0x286,表明访问被拒绝。在将其传递到盘驱动模块106的块层时,其会被映射到状态码“BLK_STS_MEDIUM”,确后在通过异步I/O和系统调用层后会被映射到操作系统级别的状态代码“-ENODATA”。此时,关于针对盘108的访问操作的具体的原因已经无法确定。
如果通地盘驱动模块106返回给管理器104的操作系统级别的状态代码指示访问操作正常进行,则管理器104可以向上层应用返回访问操作正确执行的信息。如果通地盘驱动模块106返回给管理器104的操作系统级别的状态代码指示访问操作失败,为了解决这种问题,管理器104需要直接获得盘硬件级别的状态码。然后依据该硬件级别的状态码来确定访问操作失败的原因,然后执行对应的处理策略。
在一些实施例中,通过设置专用访问通道来从盘108获取盘硬件级别的状态代码。在一些实施例中,通过向盘发送请求来获取盘硬件级别的状态代码。上述示例仅是用于描述本公开,而非对本公开的具体限定。本领域技术人员可以设置任意合适的方法来获得该硬件级别的状态代码。
在获得状态代码后,管理器104会获取与该状态代码相对应的处理策略。如果处理策略为直接将该盘标记为故障,表明盘不能再被使用,则执行该策略。如果处理策略不是将该盘标记为故障,则在依据策略进行相应处理。此时还需要统计与该盘相应的访问失败的次数,然后访问失败的次数来对盘进行管理操作。
在一些实施例中,可以确定预定大小的访问操作次数窗口内失败的访问操作的次数是否达到不同的阈值来对盘进行对应的处理,例如达到不同的阈值次数以分别进行盘重置、盘重启或将盘标记为故障等操作。
在一些实施例中,可以确定预定大小的访问操作次数窗口内失败次数与次数窗口的大小的比值是否达到不同的阈值来进行对应的处理,例如达到不同的阈值以分别进行盘重置、盘重启或将盘标记为故障等操作。上述示例仅是用于描述本公开,而非对本公开的具体限定。本领域技术人员可以依据需要设置任意合适的方式来依据失败的访问操作次数来管理盘。
在一些实施例中,针对某些盘硬件级别的状态代码其处理策略提供指示以用于对盘访问操作进行重试并且记录错误;有的盘硬件级别的状态代码其处理策略为将盘标记为锁定,并且发送用于解除锁定的指示。上述示例仅是用于描述本公开,而非对本公开的限定。
通过该方法,可以快速确定盘访问操作失败的具体原因,使得能够快速解决问题,节省了时间,改进了用户体验。
上面结合图1描述了本公开的实施例能够在其中被实现的示例系统100的框图。下面结合图2描述根据本公开的实施例的用于管理盘的方法200的流程图。方法200可以在图1中的管理设备102及任意合适的计算设备处执行。
如图2所示,在框202处,管理设备102获取针对盘的访问操作的消息,该消息包括针对访问操作的操作系统级别的第一状态代码。管理设备102对盘108进行访问操作后,会获得访问操作完成情况的消息。该消息中通常包括指示该访问动作的状态的操作系统级别的状态代码。
在一些实施例中,该操作系统级别的状态代码是经过盘驱动模块106从盘硬件级别的状态代码映射得到的。操作系统级别的状态代码通常反映粒度较大的错误,并不能确定盘硬件级别的故障。进一步地,通常多个盘硬件级别的故障对应于一个操作系统级别的状态代码。
在框204处,管理设备102如果确定第一状态代码指示访问操作失败,获取针对访问操作的盘硬件级别的第二状态代码。
在一些实施例中,管理设备102会确定与第一状态代码相对应的值。第一状态代码的值通常为正数,为了便于使用,通常将该对应的值设置为在第一状态码的值前加负号。然后,管理设备102将第一状态代码相对应的值与例如0的阈值进行比较来确定访问操作是否失败。如果小于阈值,则确定访问操作失败。然后管理设备102获取针对访问操作的盘硬件级别的第二状态代码。
在一些实施例中,管理设备可以保存指示访问操作失败的操作系统级别的状态代码的列表,然后从该列表中查找是否有该第一状态代码来确定访问操作是否失败。如果从该列表中查找到该第一状态代码,表明访问操作失败。然后管理设备102获取针对访问操作的盘硬件级别的第二状态代码。上述示例仅是用于描述本公开,而非对本公开的具体限定。
盘管理设备102如果确定第一状态代码未指示访问操作失败,则可以向应用返回访问操作成功的指示以进行后续的操作。
在框206处,管理设备102根据与所述第二状态代码相对应的处理策略确定盘是否将被标记为故障。为了对与第二状态代码相对应的问题进行处理,预先确定了与每个第二状态代码相对应的处理策略。图3示出了与第二状态码相对应的处理策略的示例。
如图3所示,此时第二状态码为NVMe状态码,每个状态码具有对应的描述并且还具有对应的处理策略。例如,对于状态码0x286,其对应的处理策略为将驱动器标记为锁定的,通过设置存储加密盘的lock属性来通知对其进行解锁操作。
现在返回图2接着进行描述,在框208处,管理设备102如果确定盘未被标记为故障,基于针对盘的失败的访问操作的次数来管理盘。如果对应的处理策略为将盘标记为故障,则将盘标记为故障后不再对该盘进行访问操作。
在一些实施例中,如果对应的策略不是将盘直接标记为故障,则管理设备102利用与第二状态码对应的策略进行相应的处理。此外,管理设备102还会递增针对盘的失败的访问操作的次数来更新次数。然后,按照更新的次数来管理盘。通过该方式,可以通过失败的次数来进一步合理的管理盘。
在一些实施例中,如果确定次数大于或等于第一阈值次数,则对盘进行重置;如果确定次数大于或等于第二阈值次数,则对盘进行重启,第二阈值次数大于第一阈值次数;以及如果确定次数大于或等于第三阈值次数,则将盘标记为故障,第三阈值次数大于第二阈值次数。通过该方式,可以更好的对盘进行管理。备选地或附加地,该失败的访问操作的次数是预定数量的访问操作次数窗口内的访问操作失败的次数,例如,失败的访问操作的次数为最近5000次访问操作中失败的访问操作的次数。
在一些实施例中,如果失败的访问操作的次数与次数窗口的大小的比值大于或等于第一阈值,则对盘进行重置;如果确定该比值大于或等于第二阈值,则对盘进行重启,第二阈值大于第一阈值;以及如果确定该比值大于或等于第三阈值,则将盘标记为故障,第三阈值大于第二阈值。通过该方式,可以更好的对盘进行管理。上述示例仅是用于描述本公开,而非对本公开的具体限定。
在一些实施例中,可以根据处理策略确定访问操作是否将被重试;如果确定访问操作将被重试,发送关于重试访问操作的指示。通过该方式,可以提高故障的处理效率,改进用户体验。
在一些实施例中,该盘包括符合高速非易失性存储器NVMe规范的盘。
通过该方法,可以快速确定盘访问操作失败的具体原因,使得能够快速解决问题,节省了时间,改进了用户体验。
上面结合图2和图3描述了本公开的实施例用于管理盘的方法200的流程图。下面结合图4描述根据本公开的实施例的管理设备内的各部件交互的示例400的示意图。
如图4所示,管理设备402中包括应用404。应用404向盘对象模块406发送针对盘416的访问操作,其中盘对象模块用于管理一个盘。然后由NVMe驱动模块414将访问操作发送到盘416执行。在执行结束后,会通过NVMe驱动模块414将访问操作的通知消息提供盘对象模块406。该盘对象模块406可以从该通知消息中获取到操作系统级别的状态代码。如果该状态代码未指示访问操作失败,则可以向应用404返回操作成功的信息以进行后面的操作。
如果盘对象模块406根据操作系统级别的状态码确定访问操作失败,则会使用错误处理模块408来进行处理。错误处理模块408获取针对该次访问操作由盘416生成的盘硬件级别的状态代码410。然后依据该状态代码410对应的处理策略来进行数理。如果处理策略将盘标记为故障,则盘不能被使用,并不再进行其他操作。如果处理策略未将盘标记为故障,例如发出重试或解除锁定的指示,则可以将该指示发送给应用404以进行对应的处理。例如该状态码为0x286时,将盘标记为锁定,并通过设置盘的lock属性来向应用404发出指示以对盘416进行解锁处理。
在处理策略未指示将盘标记为故障并使用对应的策略进行处理时,同时还会向桶模块412中累积针对该盘的访问操作失败的次数,如果在滑动的次数窗口内累积的访问操作失败的次数超过不同的阈值,则可以进行不同的操作,例如重置盘、重启盘或者将盘标记为故障。在一个示例中,如果需要对盘进行重置,则可以通过专用的模块形成的、与由从NVMe模块414到盘416的路径不同的路径来传输带外信号到盘416以对盘416进行操作。如果需要将盘标记为故障,则可以向应用404发送将盘标记为故障的指示。上述示例仅是用于描述本公开,而非对本公开的具体限定。
通过该方法,可以快速确定盘访问操作失败的具体原因,使得能够快速解决问题,节省了时间,改进了用户体验。
图5示出了可以用来实施本公开的实施例的示例设备500的示意性框图。图1中的管理设备102和图4中的管理设备402中可以利用设备500来实现。如图所示,设备500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的计算机程序指令或者从存储单元508加载到随机访问存储器(RAM)503中的计算机程序指令,来执行各种适当的动作和处理。在RAM 503中,还可存储设备500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
设备500中的多个部件连接至I/O接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储页面508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法200,可由处理单元501执行。例如,在一些实施例中,方法200可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序被加载到RAM503并由CPU 501执行时,可以执行上文描述的方法200的一个或多个动作。
本公开可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是——但不限于——电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (13)

1.一种用于管理盘的方法,包括:
获取针对盘的访问操作的消息,所述消息包括针对所述访问操作的操作系统级别的第一状态代码;
如果确定所述第一状态代码指示所述访问操作失败,获取针对所述访问操作的盘硬件级别的第二状态代码;以及
根据与所述第二状态代码相对应的处理策略确定所述盘是否将被标记为故障;
如果确定所述盘未被标记为故障,基于针对所述盘的失败的访问操作的次数来管理所述盘。
2.根据权利要求1所述的方法,其中获取针对所述访问操作的盘硬件级别的第二状态代码包括:
确定与所述第一状态代码相对应的值;以及
如果确定与所述第一状态代码相对应的值小于阈值,
确定所述访问操作失败,以及
获取针对所述访问操作的盘硬件级别的所述第二状态代码。
3.根据权利要求1所述的方法,其中基于针对所述盘的失败的访问操作的次数来管理所述盘包括:
通过递增针对所述盘的所述失败的访问操作的次数来更新所述次数;以及
按照更新的所述次数来管理所述盘。
4.根据权利要求1所述的方法,其中管理所述盘包括:
如果确定所述次数大于或等于第一阈值次数,则对所述盘进行重置;
如果确定所述次数大于或等于第二阈值次数,则对所述盘进行重启,所述第二阈值次数大于所述第一阈值次数;以及
如果确定所述次数大于或等于第三阈值次数,则将所述盘标记为故障,所述第三阈值次数大于所述第二阈值次数。
5.根据权利要求1所述的方法,还包括:
根据所述处理策略确定所述访问操作是否将被重试;
如果确定所述访问操作将被重试,发送关于重试所述访问操作的指示。
6.根据权利要求1所述的方法,其中所述盘包括符合高速非易失性存储器NVMe规范的盘。
7.一种电子设备,所述电子设备包括:
至少一个处理器;以及
存储器,耦合至所述至少一个处理器并且具有存储于其上的指令,所述指令在由所述至少一个处理器执行时使所述设备执行动作,所述动作包括:
获取针对盘的访问操作的消息,所述消息包括针对所述访问操作的操作系统级别的第一状态代码;
如果确定所述第一状态代码指示所述访问操作失败,获取针对所述访问操作的盘硬件级别的第二状态代码;以及
根据与所述第二状态代码相对应的处理策略确定所述盘是否将被标记为故障;
如果确定所述盘未被标记为故障,基于针对所述盘的失败的访问操作的次数来管理所述盘。
8.根据权利要求7所述的电子设备,其中获取针对所述访问操作的盘硬件级别的第二状态代码包括:
确定与所述第一状态代码相对应的值;以及
如果确定与所述第一状态代码相对应的值小于阈值,
确定所述访问操作失败,以及
获取针对所述访问操作的盘硬件级别的所述第二状态代码。
9.根据权利要求7所述的电子设备,其中基于针对所述盘的失败的访问操作的次数来管理所述盘包括:
通过递增针对所述盘的所述失败的访问操作的次数来更新所述次数;以及
按照更新的所述次数来管理所述盘。
10.根据权利要求7所述的电子设备,其中管理所述盘包括:
如果确定所述次数大于或等于第一阈值次数,则对所述盘进行重置;
如果确定所述次数大于或等于第二阈值次数,则对所述盘进行重启,所述第二阈值次数大于所述第一阈值次数;以及
如果确定所述次数大于或等于第三阈值次数,则将所述盘标记为故障,所述第三阈值次数大于所述第二阈值次数。
11.根据权利要求7所述的电子设备,所述动作还包括:
根据所述处理策略确定所述访问操作是否将被重试;
如果确定所述访问操作将被重试,发送关于重试所述访问操作的指示。
12.根据权利要求7所述的电子设备,其中所述盘包括符合高速非易失性存储器NVMe规范的盘。
13.一种计算机程序产品,所述计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1至6中任一项所述的方法的步骤。
CN202110444199.7A 2021-04-23 2021-04-23 用于管理盘的方法、电子设备和计算机程序产品 Pending CN115237333A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110444199.7A CN115237333A (zh) 2021-04-23 2021-04-23 用于管理盘的方法、电子设备和计算机程序产品
US17/528,562 US11755215B2 (en) 2021-04-23 2021-11-17 Method, electronic device and computer program product for managing disk

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110444199.7A CN115237333A (zh) 2021-04-23 2021-04-23 用于管理盘的方法、电子设备和计算机程序产品

Publications (1)

Publication Number Publication Date
CN115237333A true CN115237333A (zh) 2022-10-25

Family

ID=83666758

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110444199.7A Pending CN115237333A (zh) 2021-04-23 2021-04-23 用于管理盘的方法、电子设备和计算机程序产品

Country Status (2)

Country Link
US (1) US11755215B2 (zh)
CN (1) CN115237333A (zh)

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100505692B1 (ko) 2003-06-23 2005-08-03 삼성전자주식회사 디스크 드라이브의 고장 진단 서비스 시스템 및 방법
US7779306B1 (en) 2007-03-23 2010-08-17 Emc Corporation Method for automatically diagnosing hardware faults in a data storage system
US7743284B1 (en) * 2007-04-27 2010-06-22 Netapp, Inc. Method and apparatus for reporting storage device and storage system data
US8719320B1 (en) 2012-03-29 2014-05-06 Amazon Technologies, Inc. Server-side, variable drive health determination
JP6078984B2 (ja) * 2012-05-23 2017-02-15 富士通株式会社 処理装置,処理方法,処理プログラム及び管理装置
JP2016053808A (ja) * 2014-09-03 2016-04-14 ソニー株式会社 記憶制御装置、記憶装置、および、記憶制御方法
WO2017048261A1 (en) * 2015-09-17 2017-03-23 Hewlett Packard Enterprise Development Lp Memory store error check
US10176036B2 (en) 2015-10-29 2019-01-08 Commvault Systems, Inc. Monitoring, diagnosing, and repairing a management database in a data storage management system
US10223224B1 (en) 2016-06-27 2019-03-05 EMC IP Holding Company LLC Method and system for automatic disk failure isolation, diagnosis, and remediation
US11604690B2 (en) * 2016-07-24 2023-03-14 Pure Storage, Inc. Online failure span determination
US10241848B2 (en) 2016-09-30 2019-03-26 Microsoft Technology Licensing, Llc Personalized diagnostics, troubleshooting, recovery, and notification based on application state
US10705902B2 (en) * 2018-05-03 2020-07-07 Western Digital Technologies, Inc. Crash log storage and retrieval using boot partitions in solid state systems
US11106523B2 (en) 2018-10-24 2021-08-31 EMC IP Holding Company LLC Method and system for intelligently resolving failures recurring in information technology environments
US20200201568A1 (en) * 2018-12-20 2020-06-25 Micron Technology, Inc. Exception handling based on responses to memory requests in a memory subsystem
US11237935B2 (en) 2019-09-11 2022-02-01 Commvault Systems, Inc. Anomaly detection in data protection operations
TWI713325B (zh) * 2019-09-17 2020-12-11 宜鼎國際股份有限公司 可遠端控制電子設備的系統及方法
US11314609B2 (en) 2019-10-24 2022-04-26 EMC IP Holding Company LLC Diagnosing and remediating errors using visual error signatures
CN115220937A (zh) 2021-04-15 2022-10-21 伊姆西Ip控股有限责任公司 存储管理的方法、电子设备和程序产品

Also Published As

Publication number Publication date
US11755215B2 (en) 2023-09-12
US20220342570A1 (en) 2022-10-27

Similar Documents

Publication Publication Date Title
US11003556B2 (en) Method, device and computer program product for managing storage system
US11418532B1 (en) Automated threat modeling using machine-readable threat models
US10579814B2 (en) Monitoring and preventing unauthorized data access
US10171315B2 (en) Orchestration process template for generation of orchestration process to tolerate errors
US10684791B2 (en) System and method for environment aware backup and restoration
US11210003B2 (en) Method, device and computer program product for restoring data based on replacing child node identifiers with parent node identifier
US20190266040A1 (en) Distributed Product Deployment Validation
US11947427B2 (en) Method, electronic device, and computer program product for storage management using blockchain
WO2023275665A1 (en) Managing application security vulnerabilities
US11269540B2 (en) Method, apparatus, and computer program product for managing application system
US11599519B2 (en) Method, electronic device and computer program product for data management
US20200348858A1 (en) Method, device and computer program product
US11347418B2 (en) Method, device and computer program product for data processing
CN107453937B (zh) 网络连接池的管理方法、网络访问方法及相关设备
US10761940B2 (en) Method, device and program product for reducing data recovery time of storage system
CN115237333A (zh) 用于管理盘的方法、电子设备和计算机程序产品
US20220334744A1 (en) Method, electronic device, and computer program product for processing data
US20210263807A1 (en) Method for managing backup data, electronic device, and computer program product
US20220214820A1 (en) Method, electronic device, and computer program product for data storage
US11023158B2 (en) Constraining placement of replica segment pairs among device pairs based on coding segment count
CN112241337A (zh) 用于管理备份数据的方法、设备和计算机程序产品
US11513718B2 (en) Method, electronic device and computer program product for configuring buffer size associated with backup threads
US20220407877A1 (en) Detecting data leakage
CN113391949A (zh) 用于存储管理的方法、电子设备和计算机程序产品
CN112486404A (zh) 用于管理存储块的方法、设备和计算机程序产品

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