CN109074269B - 确定设备磨损率 - Google Patents

确定设备磨损率 Download PDF

Info

Publication number
CN109074269B
CN109074269B CN201680084826.8A CN201680084826A CN109074269B CN 109074269 B CN109074269 B CN 109074269B CN 201680084826 A CN201680084826 A CN 201680084826A CN 109074269 B CN109074269 B CN 109074269B
Authority
CN
China
Prior art keywords
devices
determining
applications
wear rate
application
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.)
Active
Application number
CN201680084826.8A
Other languages
English (en)
Other versions
CN109074269A (zh
Inventor
C·J·格雷厄姆
T·J·弗林
V·Q·赫雷拉
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN109074269A publication Critical patent/CN109074269A/zh
Application granted granted Critical
Publication of CN109074269B publication Critical patent/CN109074269B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • 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/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/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3409Recording 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 for performance assessment
    • G06F11/3433Recording 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 for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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
    • 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/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

示例实现方式涉及确定设备磨损率。用于确定设备磨损率的示例系统可以包括多个过滤器驱动器,用以:监视对与系统的设备相关联的I/O的系统请求,并将与系统请求相关联的信息传送到过滤器管理器。所述系统还可以包括:过滤器管理器,用于对所述信息编目录;服务,用于跨多个机器配置和工作负载核对信息;以及处理器,用于基于对所核对的信息的分析来确定设备的磨损率。

Description

确定设备磨损率
背景技术
应用(也称为应用程序)是一种程序,所述程序被设计成为用户的利益执行一组协调的功能、任务或活动。输入/输出(I/O)是信息处理系统(例如计算机)与外部世界之间的通信。不同应用可以采用不同的方式执行I/O。
附图说明
图1图示了根据示例的包括多个过滤器驱动器、过滤器管理器和服务的系统的示意图;
图2图示了根据示例的示例计算系统的示意图,该计算系统包括处理资源、存储器资源和多个模块;
图3图示了根据示例的用于确定设备磨损率的方法的示意图;和
图4示出了根据示例的用于确定设备磨损率的方法的示意图。
具体实施方式
在系统内建模和识别攻击性和/或有害的应用行为可能具有挑战性,这是因为应用采用不同的方式执行I/O。如本文所使用的,攻击性和/或有害的应用行为可以包括破坏应用和/或设备的性能的行为。例如,攻击性和/或有害的应用行为可以包括破坏固态介质(例如,固态驱动器(SSD))的耐久性的应用行为。
操作系统(OS)支持多个进程,所述多个进程运行用于管理I/O和存储器利用的同时的多个子系统,并且应用可以使用用于映射数据、操纵数据和使数据存留到存储设备的多个应用程序接口(API)端点或方法。在设备级别,数据可以是通过公共总线接口的不同存储设备命令的集合,而无需标识哪个应用或OS进程执行了它的任何细节。没有更多信息和/或细节,设备磨损率的确定可能是困难的和/或不可靠的。例如,可用于确定设备已经被使用了多久或可用于作出关于存储在设备中的数据位的累积的确定的仅有因素包括上电时间和读取/写入计数,但在少到几乎没有更多细节的情况下,可以仅仅作出关于设备已经被轻微地还是严重地使用的预测。因此,关于设备的实际使用的少到几乎没有的细节是可用的,因此就可能会降低预测性故障模型的精度。
向持久存储设备(例如,瘦客户端)进行写入的应用可能导致过早的设备(例如,SSD)磨损。例如,写入少量数据,将其冲洗到盘以及关闭并重新打开文件的记录应用可能会导致过早的设备磨损。与所期望的相比,这可能导致设备上的写入/擦除周期增加。类似地,对设备(例如,硬盘驱动器)的重复性访问可能导致过早故障。过早磨损可能会导致提前的设备故障,因此确定设备的磨损率以改善设备磨损率和或在设备故障发生之前预测设备故障就能够是有益的。
确定设备磨损率的一些方法包括使用写入过滤器(例如,盘过滤和注册表过滤),但是这些写入过滤器可能难以理解和使用,导致用户断开写入过滤器连接的错误配置。写入过滤器可能不允许系统用户或管理员知道任何给定应用写入哪些文件或哪些注册表项以及采用什么频率来写入。这可能会增加设置写入过滤器参数和/或配置写入过滤器的困难。
相比之下,本公开的示例可以允许分析一个应用或多个应用的I/O行为,滤除多个应用或OS内的OS服务的附加噪声以及数据在高级别(例如,进程/应用)通过I/O进程的相关,其中可以剥离高级别信息以将I/O请求变成为原始数据和存储命令。这与其他只能记录多个字节的写入的或读取的信息的方法形成对比。另外,可以跨机器和/或设备组执行数据的相关以构建聚合数据族,从而可以作出关于异常值的确定。
本公开的示例还可以允许识别应用和应用工作负载对设备的实际影响,并且可以允许可视化由应用引起的I/O的影响,而不管其I/O方法如何。另外,本公开的示例可以允许基于应用分析而不是人工输入来建模I/O过滤子系统的配置,人工输入可能是不完整的或容易出错的。
在一些示例中,可以利用设备驱动器层来监视应用行为,并且这些行为可以用于收集关于个体进程和/或应用正如何使用设备的附加信息(例如,写入、读取、异常值等)。可以基于附加信息作出关于设备的寿命(特别是其磨损率)的确定,如将在本文中进一步讨论。
图1图示了根据示例的系统100的示意图,系统100包括多个过滤器驱动器120、124、128,过滤器管理器118,和服务112。图1也图示了I/O过滤器API 104和文件系统API102作为用户模式106的一部分。其余组件是内核模式108的一部分。例如,内核模式108包括I/O管理器116,系统服务114,过滤器管理器118,文件系统驱动器120,文件系统微过滤器122,卷管理器124,卷微过滤器126,存储驱动器128,物理存储器130,I/O过滤器管理服务112,网络存储服务110,处理器115,以及收集的应用I/O简档高速缓存132内的应用134-1,134-2,...,134-n。
多个过滤器驱动器120,124,128可以监视对与系统的设备相关联的I/O的系统请求,并且可以将与系统请求相关联的信息发送到过滤器管理器118,过滤器管理器118可以管理微过滤器驱动器122和126的插入或移除。在一些示例中,过滤器管理器118可以管理比图1中所图示的更多过滤器(例如,注册表过滤器)。多个过滤器驱动器120,124,128还可以监视对来自直接API的I/O和/或存储器映射的I/O的系统请求。多个过滤器驱动器120,124,128连同微过滤器122和126一起可以组成设备驱动器层。这个层针对应用行为监视系统(例如,如上所述的对I/O的系统请求),以收集关于应用和/或其他处理器正如何使用该设备的信息。
I/O过滤器管理服务112可以为信息编目录。在一些示例中,I/O过滤器管理服务112可以基于应用上下文,I/O量,I/O类型和时间来为系统请求编目录。文件系统微过滤器122和卷微过滤器126可以充当看门人(gatekeepter),因为它可以一致地工作以捕获不同类型的I/O(例如,在API或文件系统级别出现的那些,以及在设备或存储器映射的级别出现的那些)。它们可以观察多个驱动器120,124,128与应用层(例如,包括应用134-1,134-2,...,134-n)之间的每次I/O交互。
网络存储服务110可以跨多个机器配置和工作负载核对所编目录的信息,并且处理器115可以基于对所核对的信息的分析来确定设备的磨损率。处理器115还可以分析所拼贴的信息以确定共性的分组并确定系统内的异常值。处理器115还可以确定设备的磨损率何时超过特定阈值。
I/O过滤器管理服务112可以确定哪些应用134-1,134-2,...,134-n正在读取和写入以及它们正在读取和写入多少数据。附加地或替代地,I/O过滤器管理服务112可以确定应用134-1,134-2,...,134-n正在从哪些文件(例如,公共文件集)读取和写入。可以使用这些确定来创建使用模式,并且可以将使用模式发送到网络存储服务110以用于跨多个机器,设备,系统等的行为的核对。在某些情况下,可以在图中1未示出的数据库中进行核对。
在一些示例中,高速缓存132可以包括应用I/O简档。例如,这可以包括应用134-1,134-2,...,134-n中的每一个上的读取/写入简档以及其他简档信息。
在一些示例中,系统100可以理解哪些进程正在执行I/O操作,以及哪些进程可关联到应用的构造中。如本文所使用的,应用可以包括执行单个线程或多个线程的单个进程。应用还可以包括多个可执行体,所述可执行体可以大量生成多个进程,服务守护程序(由操作系统和/或应用拥有)以及附加的软件服务(诸如注册表或数据库访问)。
系统100可以针对I/O请求监视进程并经由注册表过滤器(未被图示)来过滤底层软件服务(诸如注册表)以捕获可以向回关联到拥有的进程的I/O的机构。此外,系统280可以使用附加数据或提示来确定二进制可执行体如何相互关连以形成应用。示例二进制可执行体可包括共享相同资源句柄,存储器上下文和/或文件的二进制文件(binaries)。具有将其标识为来自相同组织的共同签名(例如,代码签名)的二进制文件也可以是二进制可执行体的示例,如本文所使用的。
应用可以同时部署这些I/O机构。系统100可以使用过滤器来分析I/O机构(例如,读取/写入机构)之间的数据并使所述数据相关,以在整个I/O进程流中监视数据并对数据采用数字方式加标记。可以将这个数据标记与对底层设备的I/O请求的实际数据有效载荷进行比较,并可以针对设备的物理段使用这个数据标记。通过这样做,系统100可以监视,加标记和捕获I/O操作的数据日志,该数据日志可以被后置处理以可视化和分析应用对设备的磨损率的影响。
在包括卷微过滤器126和卷管理器124的卷层处,可以作出关于I/O操作如何被转换为设备总线命令以及关于I/O操作对设备的影响的确定。在一些示例中,在卷层处的监视可以捕捉对来自诸如高速缓存管理器的组件的I/O操作的修改,或者捕捉与用于存储器映射的I/O或虚拟存储器管理的存储器管理器的交互。系统100可以继续对数据块加数字标记,并且这些数字标记可以用于将来自高级别的应用的数据的流向下相关到对设备的直接影响。数据一旦被收集就可以被后置处理成用于用户可读性的可视化和/或处理成用于写入过滤器管理器的配置选项和机器可读指令。
图2图示了根据示例的示例计算系统280的示意图,该示例计算系统280包括处理资源282,存储器资源284和多个模块283,281,286,288,287,289。计算系统280可以利用指令(例如,软件和/或固件),硬件和/或逻辑来执行包括本文描述的那些功能的多个功能。计算系统280可以是被配置为共享信息的硬件和程序指令的组合。硬件例如可以包括处理资源282和/或存储器资源284(例如,(例如,计算机可读介质(CRM),机器可读介质(MRM)等,数据库等)。
如本文使用的处理资源282可以包括能够执行由存储器资源284存储的指令的处理器(例如,图1中所图示的处理器115)。处理资源282可以在单个设备中实现或跨多个设备分布。程序指令(例如,机器可读指令(MRI))可以包括存储在存储器资源284上并且可由处理资源282执行以实现期望功能(例如,存储器模式分类)的指令。
存储器资源284可以与处理资源282通信。如本文使用的存储器资源284可以包括能够存储可以由处理资源282执行的指令的存储器组件。这样的存储器资源284可以是非暂时性CRM或MRM。存储器资源284可以集成在单个设备中或跨多个设备分布。此外,存储器资源284可以与处理资源282完全或部分地集成在相同的设备中,或者它可以是分离的但可被该设备和处理资源282访问。因此,应注意,计算系统280可以被实现在参与者设备上,在服务器设备上,在服务器设备的集合上,和/或在用户设备和服务器设备的组合上。
存储器资源284可以经由通信链路(例如,路径)285与处理资源282通信。通信链路285可以处在与处理资源282相关联的机器(例如,计算系统)的本地或远离于与处理资源282相关联的机器(例如,计算系统)。本地通信链路285的示例可以包括机器(例如,计算系统)内部的电子总线,其中存储器资源284是经由电子总线与处理资源282通信的易失性,非易失性,固定和/或可移动存储介质之一。
一个模块和/或多个模块283,281,286,288,287,289可以包括MRI,MRI在由处理资源282执行时可以执行包括本文描述的那些功能的多个功能。多个模块283,281,286,288,287,289可以是其他模块的子模块。例如,读取/写入模块I 286和读取/写入模块II 281可以是子模块和/或被包含在相同计算系统之内。在另一个示例中,多个模块283,281,286,288,287,289可以包括在分离且不同的位置处的个体模块(例如,MRM等)。
多个模块283,281,286,288,287,289中的每一个可以包括当由处理资源282执行时可以用作相应引擎的指令。例如,交互模块283可以包括当由处理资源282执行时可以用作交互引擎的指令。类似地,多个模块283,281,286,288,287,289中的每一个可以包括当由处理资源582执行时可以用作引擎的指令。
在一些示例中,引擎可以是包括数据库,子系统和多个引擎的系统(未示出)的一部分。子系统可以包括经由通信链路(例如,如图2中所引用的链路285)与数据库通信的多个引擎。所述系统可以表示网络控制器(例如,如图2中所引用的系统280等)的指令和/或硬件。
多个引擎可以包括硬件和编程的组合以执行包括本文描述的那些功能的功能。指令可以包括存储在存储器资源(例如,CRM,MRM等)中的指令(例如,软件,固件等)以及硬连线程序(例如,逻辑)。
在示例中,交互模块283可以包括当由处理资源282执行时可以使计算系统监视计算系统的应用层和文件系统之间的交互的指令。例如,可以针对包括读取和写入的活动以及读取和写入多长时间发生一次,多少次读取和写入发生了,读取和写入何时发生等而监视交互。
读取/写入模块II 281可以包括指令,所述指令当由处理资源282执行时可以使计算系统使用文件系统过滤器层确定正在读取和写入数据的应用层的多个应用。在一些示例中,指令能够被执行,以确定多个应用正在从与计算系统相关联的哪些文件读取和写入。
读取/写入模块I 286可以包括指令,所述指令当由处理资源282执行时可以使计算系统确定多个应用中的每个应用正在读取和写入多少数据。例如,某些应用可以比其他应用更频繁地执行读取和/或写入操作。
使用模式模块288可以包括指令,所述指令当由处理资源282执行时可以使计算系统基于所监视的交互,所确定的多个应用和所确定的数据量来创建系统设备使用模式。在一些示例中,系统设备使用模式的创建可以进一步基于关于多个应用正在从与计算系统相关联的哪些文件读取和写入而作出的确定。这些使用模式可以包括使用某些应用,执行某些操作,读取和/或写入达某些时间量之久等的设备的模式。
核对模块287可以包括指令,所述指令当由处理资源282执行时可以使计算系统使用网络服务层和数据库跨多个系统设备核对使用模式。在一些示例中,可以基于多个系统设备之一的位置,多个系统设备之一的使用日期,多个系统设备之一的使用时间,多个系统设备之一的业务组和/或多个系统设备之一的应用使用来核对使用模式。
磨损率模块289可以包括指令,所述指令当由处理资源282执行时可以使计算系统基于核对来确定多个系统设备的磨损率模式。例如,可以基于相关性对设备进行分组,但是这些组可以具有异常值。例如,特定组(也称为集合(concentration))中的设备如果它与具有相似行为的其他设备采用不同方式执行,则它可以是异常值。例如,一个异常值与其组中的其他异常值相比可能具有更高的故障概率。使用这些异常值以及核对,可以确定设备的磨损率。
图3图示了根据示例的用于确定设备磨损率的方法360的示意图。在一些示例中,方法360可以在多个不同的操作系统中执行。方法360可以通过将多个层处的过滤器放置在I/O链中来协调来自多个服务的数据。例如,这些过滤器可以基于数据团(blob)的散列,其他数字键控和/或标记和/或用于外推的其他唯一标志来协调数据,以识别在将高级别API请求转换为底层设备(例如,存储设备)的总线命令期间可能丢失的信息。通过这种数据协调和数据记录机制,过滤器和相应的数据可视化服务可以协调从应用域内读取和写入的命令和基础数据大小并把从应用域内读取和写入的命令和基础数据大小相关。
方法360在362处可以包括过滤器驱动器监视对来自各种直接API的I/O或存储器映射的I/O的系统请求。基于这一监视,方法360在364处可以包括在过滤器驱动器接收请求时将所监视到的信息发送到过滤器管理器。例如,尽管正在过滤器驱动器处接收请求,所监视的信息也可以被发送并且可以例如在366处被按照应用上下文,I/O的数量和类型以及时间来编目录。这能够有助于将信息编组或集中到类别中。
方法360在368处可以包括过滤器管理器收集I/O数据并将数据发送到外部存储和分析服务,并且方法360在370处可以包括存储和分析服务跨机器配置和工作负载而核对数据。这考虑到跨不同设备的比较。方法360在372处可以包括分析所核对的数据以示出系统内的异常值和共性的分组。例如,某些设备可以具有相同或相似的应用使用,使用时间,使用量等。在这些类似行为的区域内,可能出现异常值,所述异常值可以包括与类似分组中的其他设备相比具有更高故障概率的设备。
方法360在374处可以包括使用该分析来清楚地表达设备的磨损率并且示出其中磨损率过度的情况。例如,当磨损率超过特定阈值时,可以使设备停止使用或修理所述设备以避免故障。
图4图示了根据示例的用于确定设备磨损率的方法440的示意图。方法440在442处可以包括通过分析应用的行为来收集和与系统相关联的多个应用相关联的信息。这可以例如使用文件系统设备驱动器来被收集。在一些示例中,收集信息可以包括分析多个应用中的每个应用的读取和写入活动。分析读取和写入活动可以包括确定多个应用中的每个应用的读取和写入活动的长度。
方法440在444处可以包括使多个集合中的所收集的信息相关。例如,特定集合(例如文职工作者)的设备简档可具有与不同集合(例如,工程师,软件开发者等)的设备简档不同的磨损率。相对于这些集合所收集的信息可以包括所使用的应用类型,执行的写入数量等,并且该信息可以被相关。
方法440在446处可以包括确定多个集合中的每个集合中的异常值。确定异常值可以包括确定与多个集合中的每一个内的其他系统设备相比具有更快磨损率的多个集合中的每个集合内的系统设备。例如,异常值可以在特定的业务组,位置,设备被使用的时间或日期,使用的应用等中见到。
方法440在448处可以包括使异常值与在系统内表现出类似行为的其他异常值相关。例如,异常值可以在具有相似行为的其他异常值的生态系统(例如具有业务,网络,系统等)之内被关联,并且可以作出磨损率的确定。例如,某些异常值设备可能比特定集合和/或生态系统中的其他设备故障得快。在这样的示例中,如450处所示,方法440可以包括基于相关性确定系统中的多个设备的故障概率。例如,所使用的特定应用与特定设备之间的相关性可能导致设备更快的故障,从而增加它们的故障概率。
方法440在452处可以包括基于故障概率确定多个设备之一的磨损率。在一些示例中,具有更高和/或更快故障概率的设备能够具有更快的磨损率。例如,使用表明导致更高故障概率的特定应用的设备比不使用该特定应用或不太频繁使用它的设备能够具有更快的磨损率。
方法440还可以包括基于与多个设备中的每个设备相关联的应用负载以及将应用负载应用于多个设备中的每个设备的时间量来相互比较多个设备中的每个设备的性能。附加地或替代地,方法440可以包括基于磨损率的确定来创建过滤子系统。
在本公开的前述详细描述中,参考形成其一部分的附图,并且在附图中通过图示的方式示出了如何实践本公开的示例。足够详细地描述了这些示例以使得本领域普通技术人员能够实践本公开的示例,并且应当理解,可以利用其他示例并且在不脱离本公开的范围的情况下可以作出过程,电气和/或结构的改变。
本文的图遵循这样的编号惯例,其中第一数字对应于附图编号,并且其余数字标识附图中的元件或组件。可以添加,交换,和/或消除本文各个附图中所示出的元件,以便提供本公开的多个附加示例。此外,图中提供的元件的比例和相对尺度旨在图示本公开的示例,并且不应该在限制的意义上加以理解。此外,如本文所使用的,“多个”元件和/或特征可以指代一个或多个这样的元件和/或特征。

Claims (15)

1.一种用于确定设备的磨损率的系统,包括:
多个过滤器驱动器,用于:
  监视对与系统的所述设备相关联的输入/输出I/O的系统请求; 和
  将与系统请求相关联的信息传送到过滤器管理器;
过滤器管理器,用于对所述信息编目录;
服务,用于跨多个机器配置和工作负载核对信息; 和
处理器,用于基于对所核对的信息的分析来确定所述设备的磨损率。
2.如权利要求1所述的系统,还包括多个过滤器驱动器,用于监视对来自直接应用编程接口的I/O的系统请求。
3.如权利要求1所述的系统,还包括多个过滤器驱动器,用于监视对来自存储器映射的I/O的I/O的系统请求。
4.如权利要求1所述的系统,还包括过滤器管理器,用以基于应用上下文、I/O数量、I/O类型和时间来为系统请求编目录。
5.如权利要求1所述的系统,还包括处理器,用以分析所核对的信息以确定共性的分组并确定系统内的异常值。
6.如权利要求1所述的系统,还包括处理器,用于确定设备的磨损率何时超过特定阈值。
7.一种用于确定设备的磨损率的方法,包括:
使用文件系统设备驱动器通过分析应用的行为来收集和与系统相关联的多个应用相关联的信息;
将在多个集合中的所收集的信息相关;
确定多个集合中的每个集合中的异常值;
把异常值与在系统内表现出类似行为的其他异常值相关;
基于相关性确定系统中的多个设备的故障概率; 和
基于故障概率确定多个设备之一的磨损率。
8.如权利要求7所述的方法,其中收集与多个应用相关联的信息包括分析多个应用中的每个应用的读取和写入活动。
9.如权利要求8所述的方法,其中分析读取和写入活动包括确定多个应用中的每个应用的读取和写入活动的长度。
10.如权利要求7所述的方法,还包括基于与多个设备中的每个设备相关联的应用负载以及将应用负载应用于多个设备中的每个设备的时间量来相互比较多个设备中的每个设备的性能。
11.如权利要求7所述的方法,还包括基于磨损率的确定来创建系统的过滤子系统。
12.如权利要求7所述的方法,其中确定异常值包括确定与多个集合中的每一个内的其他系统设备相比具有更快磨损率的多个集合中的每个集合内的系统设备。
13.一种非暂时性机器可读介质,用于存储指令,所述指令可由处理资源执行以使计算系统:
监视计算系统的应用层和文件系统之间的交互;
使用文件系统过滤器层确定正在读取和写入数据的应用层的多个应用;
确定多个应用中的每个应用正在读取和写入多少数据;
基于所监视的交互、所确定的多个应用和所确定的数据量来创建系统设备使用模式;
使用网络服务层和数据库跨多个系统设备核对使用模式; 和
基于所述核对确定多个系统设备的磨损率的模式。
14.如权利要求13所述的非暂时性机器可读介质,还包括可执行用以确定多个应用正在从与计算系统相关联的哪些文件读取和写入的指令。
15.如权利要求13所述的非暂时性机器可读介质,其中可由处理资源执行以使计算系统使用网络服务层和数据库跨多个系统设备核对使用模式的所述指令还包括可执行用以基于所述多个系统设备之一的位置、所述多个系统设备之一的使用日期、所述多个系统设备之一的使用时间、所述多个系统设备之一的业务组、以及所述多个系统设备之一的应用使用中的至少一个来核对所述使用模式的指令。
CN201680084826.8A 2016-07-08 2016-07-08 确定设备磨损率 Active CN109074269B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2016/041483 WO2018009212A1 (en) 2016-07-08 2016-07-08 Determining a device wear-rate

Publications (2)

Publication Number Publication Date
CN109074269A CN109074269A (zh) 2018-12-21
CN109074269B true CN109074269B (zh) 2022-08-05

Family

ID=60913051

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680084826.8A Active CN109074269B (zh) 2016-07-08 2016-07-08 确定设备磨损率

Country Status (4)

Country Link
US (2) US10860218B2 (zh)
EP (1) EP3430507A4 (zh)
CN (1) CN109074269B (zh)
WO (1) WO2018009212A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11144226B2 (en) 2019-04-11 2021-10-12 Samsung Electronics Co., Ltd. Intelligent path selection and load balancing

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2858542B2 (ja) * 1994-06-03 1999-02-17 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ用ディスク・ドライブの電力消費を節減する方法及び装置
US6460151B1 (en) * 1999-07-26 2002-10-01 Microsoft Corporation System and method for predicting storage device failures
US20090216641A1 (en) 2000-03-30 2009-08-27 Niration Network Group, L.L.C. Methods and Systems for Indexing Content
US7680758B2 (en) * 2004-09-30 2010-03-16 Citrix Systems, Inc. Method and apparatus for isolating execution of software applications
US8347373B2 (en) * 2007-05-08 2013-01-01 Fortinet, Inc. Content filtering of remote file-system access protocols
US7395394B2 (en) 2006-02-03 2008-07-01 Hewlett-Packard Development Company, L.P. Computer operating system with selective restriction of memory write operations
JP4857818B2 (ja) 2006-03-02 2012-01-18 株式会社日立製作所 ストレージ管理方法およびストレージ管理サーバ
US8560760B2 (en) * 2007-01-31 2013-10-15 Microsoft Corporation Extending flash drive lifespan
DK2195724T3 (da) * 2007-08-28 2020-01-20 Commvault Systems Inc Energistyring af databehandlingsressourcer, såsom adaptiv energistyring af datalagringsoperationer
US8085586B2 (en) 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US8078918B2 (en) * 2008-02-07 2011-12-13 Siliconsystems, Inc. Solid state storage subsystem that maintains and provides access to data reflective of a failure risk
CN101465863B (zh) * 2009-01-14 2012-09-26 北京航空航天大学 一种内核虚拟机环境下高效网络i/o的实现方法
US20120102220A1 (en) * 2010-10-20 2012-04-26 Microsoft Corporation Routing traffic in an online service with high availability
US9195588B2 (en) * 2010-11-02 2015-11-24 Hewlett-Packard Development Company, L.P. Solid-state disk (SSD) management
US9116812B2 (en) * 2012-01-27 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a de-duplication cache
US8677044B1 (en) * 2012-10-25 2014-03-18 Qlogic, Corporation Method and system for communication using multiple DMA channels
US9037792B1 (en) * 2013-06-06 2015-05-19 Symantec Corporation Systems and methods for providing caching for applications with solid-state storage devices
US9581612B2 (en) * 2013-08-26 2017-02-28 EveryFit, Inc. Systems and methods for a power efficient method for detecting wear and non-wear of a sensor
JP6468609B2 (ja) * 2014-02-26 2019-02-13 フィリップス ライティング ホールディング ビー ヴィ 光の反射に基づく検出
US10133488B2 (en) 2014-03-17 2018-11-20 Primaryio, Inc. Apparatus and method for cache provisioning, configuration for optimal application performance
CO6930066A1 (es) * 2014-04-08 2014-04-28 Apoyo Tecnico Especializado En Aire Acondicionado Automotrizateac Ltda Método y equipo para realizar el mantenimiento preventivo y automatizado al interior de los sistemas de aire acondicionado y de refrigeración.
US20160078966A1 (en) * 2014-09-14 2016-03-17 Transcend Information, Inc. Method of performing wear management in non-volatile memory devices
US9886324B2 (en) * 2016-01-13 2018-02-06 International Business Machines Corporation Managing asset placement using a set of wear leveling data

Also Published As

Publication number Publication date
WO2018009212A1 (en) 2018-01-11
CN109074269A (zh) 2018-12-21
US20190121552A1 (en) 2019-04-25
EP3430507A4 (en) 2020-04-01
US20210042042A1 (en) 2021-02-11
US10860218B2 (en) 2020-12-08
US11429283B2 (en) 2022-08-30
EP3430507A1 (en) 2019-01-23

Similar Documents

Publication Publication Date Title
CN106980636B (zh) 保单数据处理方法和装置
US10861117B2 (en) Server-side, variable drive health determination
US8560671B1 (en) Systems and methods for path-based management of virtual servers in storage network environments
US9389916B1 (en) Job scheduling management
CN109271321B (zh) 一种贡献代码数统计方法及装置
US20150234716A1 (en) Variable drive health determination and data placement
US20080195404A1 (en) Compliant-based service level objectives
WO2020168756A1 (zh) 集群日志特征提取方法、装置、设备及存储介质
CN107783829B (zh) 任务处理方法、装置、存储介质和计算机设备
CN110537170B (zh) 分析大规模数据处理作业的方法、系统以及计算机可读存储设备
US11257565B2 (en) Management of test resources to perform testing of memory components under different temperature conditions
US20130254524A1 (en) Automated configuration change authorization
US9870278B2 (en) Managing spaces in memory
EP2806383A1 (en) Device and method for collecting and managing information of equipment
US11101015B2 (en) Multi-dimensional usage space testing of memory components
US10713162B1 (en) System and method for computer data garbage collection acceleration using peer to peer data transfers
CN104007942A (zh) 日志的打印控制方法和打印控制装置
US11429283B2 (en) Determining a device wear-rate
CN106708865B (zh) 流处理系统中访问窗口数据的方法和装置
CN109634740A (zh) 内存管理方法和装置
US11694112B2 (en) Machine learning data management system and data management method
CN112417459B (zh) 一种大规模终端设备安全评估方法、系统及计算机设备
WO2021096346A1 (en) A computer-implemented system for management of container logs and its method thereof
WO2015116057A1 (en) Dumping resources
US20220121513A1 (en) Management apparatus and management method

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
GR01 Patent grant
GR01 Patent grant