CN117203620A - 存储阵列错误缓解 - Google Patents

存储阵列错误缓解 Download PDF

Info

Publication number
CN117203620A
CN117203620A CN202180097233.6A CN202180097233A CN117203620A CN 117203620 A CN117203620 A CN 117203620A CN 202180097233 A CN202180097233 A CN 202180097233A CN 117203620 A CN117203620 A CN 117203620A
Authority
CN
China
Prior art keywords
thread
array
heat map
threads
error
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
CN202180097233.6A
Other languages
English (en)
Inventor
M·阿尔沙瓦布克
S·古马斯特
A·萨纳普
R·萨赫德瓦
P·索尼
虞荣
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
Publication of CN117203620A publication Critical patent/CN117203620A/zh
Pending legal-status Critical Current

Links

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/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/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/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/0721Error 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 within a central processing unit [CPU]
    • 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
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • 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/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开的一方面涉及标识和解决存储阵列错误的一种或多种技术。在实施例中,可以接收与计算设备相关的错误通知。还可以标识与错误通知相关的一个或多个线程。此外,可以基于每个所标识的线程来执行错误解决技术。

Description

存储阵列错误缓解
相关申请的交叉引用
本申请要求2021年4月19日提交的序列号为17/234,293并且题为“STORAGE ARRAYERROR MITIGATION”(存储阵列错误缓解)的美国非临时申请的优先权,其全部内容并入本文。
背景技术
存储阵列是包括多个存储驱动器(例如,硬盘驱动器(HDD)或固态驱动器(SSD))的数据存储系统。存储阵列系统允许将数据存储与计算设备分离。数据存储与计算设备的分离使多个用户能够以可扩展的方式协作和共享信息。存储阵列可以包括控制数据存储和访问的存储管理系统。存储管理系统可以包括管理存储阵列的存储器、进程、软件、硬件和通信的操作系统。
发明内容
本公开的一方面涉及标识和解决存储阵列错误的一种或多种技术。在实施例中,可以接收与计算设备相关的错误通知。还可以标识与错误通知相关的一个或多个线程。此外,可以基于每个所标识的线程来执行错误解决技术。
在实施例中,可以监测每个线程的处理事件。
在实施例中,可以在每个线程的处理路径中插入事件追踪器。
在实施例中,每个事件追踪器可以响应于每个事件追踪器的相关线程的处理初始化而递增。
在实施例中,可以使用每个线程的事件追踪器来捕获一个或多个线程的周期性快照。
在实施例中,可以使用快照来生成每个周期的一个或多个线程的热图。
在实施例中,可以标识当前热图上的至少一个位置与一个或多个先前热图上的至少一个对应位置之间的热图差异。
在实施例中,每个热图的位置可以与一个或多个线程的主题线程相关。
在实施例中,可以标识当前热图上具有超过阈值的热图差异的每个位置。
在实施例中,可以选择与每个所标识的位置相关的线程中的至少一个。可以基于所选择的至少一个线程来执行错误解决技术。
附图说明
从以下对实施例的更具体描述中可以明显看出上述和其他目的、特征和优点,如附图所示。在不同的视图中,相同的附图标记指的是相同的部件。附图不一定是按比例绘制的,而是强调说明实施例的原理。
图1是根据本公开的实施例的存储阵列的框图。
图2是根据本公开的实施例的EDS处理器的框图。
图3是根据本公开的实施例的热图图表。
图4是根据本公开的实施例的热图信号图。
图5是根据本公开实施例的用于存储阵列错误标识和解决的方法的流程图。
具体实施方式
存储阵列可以包括控制数据存储和访问的存储管理系统。存储管理系统可以包括管理存储阵列的存储器、进程、软件、硬件和通信的操作系统。此外,远程系统可以向阵列的管理系统提供阵列操作系统的更新。操作系统更新可以包括服务包、版本升级、安全更新、驱动程序等。有时,操作系统更新可能会导致不可预见的错误。这些错误可能很难诊断。因此,这些类型的错误可能需要大量资源(例如,人员和成本)。
本公开的实施例涉及标识和解决例如由操作系统更新引起的错误的一种或多种技术。
参考图1,系统100包括存储阵列105,其包括被配置为执行一个或多个分布式文件存储服务的组件101。在实施例中,阵列105可以包括通信地耦合每个阵列的组件101的一个或多个内部通信信道160。通信信道160可以包括光纤信道、内部总线和/或通信模块。例如,阵列的全局存储器150可以使用通信信道160来在阵列的组件101之间传输数据和/或发送其他通信。
在实施例中,阵列105和一个或多个设备可以形成网络。例如,第一通信网络118可以将阵列105通信地耦合到一个或多个主机系统114a-n。同样,第二通信网络120可以将阵列105通信地耦合到远程系统115。第一和第二网络118、120可以互连设备以形成网络(联网设备)。网络可以是广域网(WAN)(例如,互联网)、局域网(LAN)、内联网、存储区域网络(SAN)等。
在其他实施例中,阵列105和其他联网设备(例如,主机114a-n和远程系统115)可以使用通信协议发送/接收信息(例如,数据)。通信协议可以包括远程直接存储器访问(RDMA)、TCP、IP、TCP/IP协议、SCSI、光纤信道、融合以太网上的远程直接存储器访问(RDMA)协议、互联网小型计算机系统接口(iSCSI)协议、基于结构的NVMe协议(例如,基于ROCEv2的NVMe和基于TCP的NVMe)等。
阵列105、远程系统116、主机115a-n等可以经由有线/无线网络连接接口、总线、数据链路等连接到第一和/或第二网络118、120。此外,第一和第二网络118、120还可以包括使联网设备能够建立通信会话的通信节点。例如,通信节点可以包括交换设备、电话线、中继器、多路复用器、卫星等。
在实施例中,阵列的组件101中的一个或多个可以处理输入/输出(IO)工作负载。IO工作负载可以包括源自主机114a-n中的一个或多个的一个或多个IO请求(例如,操作)。主机114a-n和阵列105可以在物理上共同定位或彼此远离定位。在实施例中,IO请求可以包括读/写请求。例如,在主机114a-n之一上执行的应用可以执行导致对阵列105的一个或多个数据请求的读或写操作。IO工作负载可以对应于阵列105在一段时间间隔内接收的IO请求。
在实施例中,阵列105和远程系统115可以包括各种专有或市场上可买到的单处理器或多处理器系统(例如,基于英特尔的处理器等)中的任何一个。同样,阵列的组件101(例如,HA 121、RA 140、设备接口123等)可以包括物理/虚拟计算资源(例如,处理器和存储器)或需要访问阵列的资源。该存储器可以是被配置为存储处理器可以执行以执行一个或多个存储阵列操作的代码的本地存储器145。
在实施例中,HA 121可以是管理阵列105和任何联网设备(例如,主机114a-n)之间的通信和数据请求的光纤信道适配器(FA)。例如,HA 121可以将一个或多个IO定向到一个或多个阵列的组件101以进行进一步的存储处理。在实施例中,HA 121可以将IO请求定向到阵列的设备接口123。设备接口123可以管理需要访问阵列的数据存储设备116a-n的IO请求的读/写数据操作。例如,数据存储接口123可以包括控制对存储设备116a-n的访问的设备适配器(DA)130(例如,存储设备控制器)、闪存驱动器接口135等。同样,阵列的引擎数据服务(EDS)处理器110可以管理对阵列的本地存储器145的访问。在附加实施例中,阵列的EDS110可以执行一种或多种自我优化技术(例如,一种或多种机器学习技术),以提供阵列105及其组件101的性能、可用性和数据完整性服务。
在实施例中,阵列的存储设备116a-n可以包括一个或多个数据存储类型,每个数据存储类型具有不同的性能能力。例如,存储设备116a-n可以包括硬盘驱动器(HDD)、固态驱动器(SSD)等。同样,阵列的本地存储器145可以包括全局存储器150和存储器组件155(例如,寄存器存储器、共享存储器常量存储器、用户定义存储器等)。阵列的存储器145可以包括主存储器(例如,存储器组件155)和高速缓冲存储器(例如,全局存储器150)。主存储器和高速缓冲存储器可以是易失性和/或非易失性存储器。与非易失性存储器不同,易失性存储器需要电力来存储数据。因此,如果阵列105因任何原因断电,则易失性存储器丢失其存储的数据。在实施例中,主存储器可以包括动态(RAM)等,而高速缓冲存储器可以包括静态RAM等。与阵列的存储设备116a-n一样,阵列的存储器145可以具有不同的存储性能能力。
在实施例中,服务等级协议(SLA)可以定义主机114a-n期望阵列105实现的至少一个服务等级目标(SLO)。例如,主机115a-n可以包括主机操作的应用。主机操作的应用可以为阵列105生成数据以存储和/或读取阵列105存储的数据。主机114a-n可以将不同等级的业务重要性分配给它们生成或读取的数据类型。因此,每个SLO可以为主机114a-n写入阵列105和/或从阵列105读取的每个数据类型定义服务等级(SL)。此外,每个SL可以为一个或多个数据类型定义主机的预期存储性能要求(例如,响应时间和正常运行时间(uptime))。
因此,阵列的EDS110可以基于SLA和阵列的存储/存储器性能能力中的一项或多项来建立存储/存储器层级结构。例如,EDS110可以建立层级结构以包括具有类似性能能力(例如,响应时间和正常运行时间)的一个或多个层(例如,阵列的存储/存储器的子集)。因此,EDS建立的快速存储器/存储层可以为主机标识的关键和有价值的数据(例如,白金、钻石和黄金SL)提供服务,而慢速存储器/存储层为主机标识的非关键和价值较低的数据(例如,银和铜SL)提供服务。
在实施例中,HA 121可以向主机114a-n呈现阵列的物理存储设备116a-n和存储器145的逻辑表示,而不是给予它们各自的物理地址空间。例如,EDS110可以建立表示已配置的盘集合(例如,存储设备116a-n)的切片或部分的至少一个逻辑单元号(LUN)。阵列105可以向主机114a-n呈现一个或多个LUN。例如,每个LUN可以与至少一个存储的物理地址空间相关。此外,阵列105可以安装(例如,分组)一个或多个LUN以定义至少一个逻辑存储设备(例如,逻辑卷(LV))。
在其他实施例中,HA 121可以接收标识一个或多个阵列的存储轨道的IO请求。因此,HA 121可以解析来自IO请求的信息以将请求的相关数据路由到其目标存储轨道。在其他示例中,阵列105可能先前没有将存储轨道与IO请求的相关数据相关联。在这种情况下,阵列的DA 130可以分配至少一个存储轨道来服务IO请求的相关数据。在实施例中,DA 130可以为每个存储轨道分配唯一轨道标识符(TID)。因此,每个TID可以对应于阵列的存储设备116a-n和/或全局存储器145的一个或多个物理存储地址空间。HA 121可以存储标识每个LUN、LV、TID和/或物理地址空间之间的关系的可搜索数据结构。例如,LUN可以对应于存储轨道的一部分,而LV可以对应于一个或多个LUN,并且TID对应于整个存储轨道。
在实施例中,阵列的RA 140可以使用通信协议,通过例如第二通信介质120,来管理阵列105与外部存储系统(例如,远程系统115)之间的通信。在实施例中,第一介质118和/或第二介质120可以是启用显式拥塞通知(ECN)的以太网络。
在实施例中,阵列的EDS110还可以执行一种或多种自我优化技术(例如,一种或多种机器学习技术),以提供阵列105及其组件101的性能、可用性和数据完整性服务。例如,如本文更详细地讨论的,EDS110可以执行标识和解决例如由操作系统更新引起的错误的一种或多种技术。
关于图2,阵列的HA 121可以从主机114a-n中的至少一个主机接收IO工作负载215。IO工作负载215可以包括具有读/写操作的一个或多个IO请求。在实施例中,IO的请求可以包括用于阵列105存储到其存储资源(例如,图1的存储器145和/或设备116a-n)或从其读取的数据。例如,每个IO可以使用表示阵列的存储器145和/或设备116a-n的一部分(例如,切片)的虚拟标识符(例如,LUN),来标识存储资源。在实施例中,阵列的EDS110可以从HA121接收工作负载的IO请求中的一个或多个。如下文更详细描述的,EDS110管理每个IO请求的处理。
在实施例中,EDS110可以包括动态监测阵列的组件101的事件控制器225。例如,控制器225可以维护每个阵列的组件101的事件的活动日志。事件可以包括实时(即,当前)和历史活动数据。例如,阵列105可以包括例如经由图1的光纤信道160通信地耦合到阵列的组件110的守护程序260。守护程序260可以在其各自的活动日志中记录其连接的组件的事件。每个记录可以包括定义每个记录的事件特性的信息,包括组件标识符、组件类型、事件时间、事件持续时间、性能度量和遥测数据以及其他与事件相关的元数据。
在实施例中,控制器225可以通过周期性地检索每个守护程序的活动日志来生成一个或多个阵列活动快照。控制器225可以存储快照和活动日志。备选地,控制器225可以随机检索快照。在其他实施例中,守护程序260可以随机地或周期性地向事件控制器225发布活动日志报告。例如,控制器225可以生成定义每个守护程序的事件收集周期的持续时间、开始时间和/或结束时间的守护程序报告调度。
在检索或接收每个守护程序的活动日志后,控制器225可以根据来自一个或多个活动日志的记录事件的聚合来生成阵列活动快照。此外,控制器225可以解析快照以标识是否有任何记录事件涉及错误事件。例如,事件控制器225可以解析快照的事件记录以确定是否有任何事件记录的活动类型对应于错误。事件控制器225可以经由HA 121在关键体征信号(vitals signal)270中向主机114a-n发出错误警报。此外,控制器可以经由RA 140向远程系统115发出关键体征信号270。
有时,在更新阵列的操作系统(OS)后可能会出现错误。例如,阵列105可以从远程系统115接收OS更新240。更新240可以仅包括用于更新阵列的元素集合的指令。例如,OS更新240可以包括服务包、版本升级、安全性、驱动程序更新等。有时,像更新240这样的操作系统更新可能会导致不可预见的错误。这些错误可能很难诊断。因此,这些类型的错误可能需要大量资源(例如,人员和成本)。本公开的实施例涉及标识和解决例如由操作系统更新引起的错误的一种或多种技术。
在实施例中,EDS110可以包括资源控制器220,其可以分配一个或多个阵列的CPU资源221来处理由HA 121接收的每个工作负载的IO请求215。CPU资源221可以包括至少一个阵列的处理器的一个或多个CPU周期。此外,资源控制器可以分配阵列的存储器资源280的一个或多个部分(例如,图1的存储器组件155)。例如,资源控制器220可以基于每个请求的IO特性来分配CPU和存储器资源221、280。例如,资源控制器220可以从每个请求的元数据中解析特性。IO特性可以对应于每个请求的IO的类型、服务等级、读/写轨道标识符(TID)、性能度量、遥测数据、与IO序列的关系等。基于每个请求的IO特性,资源控制器220可以确定满足每个请求的相关服务等级要求所需的资源的数目。
在实施例中,EDS处理器的线程控制器230可以建立线程205,包括一个或多个代码路径210a-n。线程控制器230可以建立代码路径210a-n中的每个代码路径,以处理特定IO请求(即,具有不同IO特性的请求)。例如,线程205可以定义用于遍历代码路径210a-n中的每个代码路径的一个或多个策略和/或指令。
此外,线程控制器230可以在代码路径210a-n中的每个代码路径中插入线程事件追踪器(例如,追踪器245a-n之一)。事件追踪器245a-n中的每一个可以记录它们各自的代码路径的线程统计(统计)数据。统计数据可以是对应于一个或多个每个路径的特性的多维时间系列统计数据。这些特性可以对应于阵列105和线程205的一个或多个关键体征(例如,连接性和性能)。此外,事件追踪器245a-n可以包括计数器,其递增每个实例,它们各自的代码路径210a-n初始化IO请求处理。线程控制器230可以将每个追踪器的计数器与守护程序的报告调度同步。例如,线程控制器230可以根据其报告调度,在守护进程的事件收集周期的开始或结束时将每个追踪器的计数器重置为零(0)。线程控制器230可以将每个追踪器的所记录的统计数据和计数器数据聚合到关键体征快照中。控制器230可以存储阵列的存储资源285(例如,本地存储器250、存储器145和设备116a-n)之一的每个关键体征快照和/或将报告发送到远程系统115。线程控制器230可以根据数据模式格式化关键体征报告,该数据模式具有使得能够有效地搜索和分析多维时间系列数据的配置,例如星形数据模式。
如本文所描述的,阵列105可以接收OS更新240。更新240可以包括针对各自代码路径210a-b的代码路径更新240a-b。有时,代码路径更新240a-b中的一个或多个可能导致至少一个错误。该错误可能会导致阵列的性能下降,甚至中断其提供存储服务的能力。因此,EDS110可以包括线程分析器235,其可以标识代码路径更新240a-b中的哪一个可能是错误的原因,如在以下段落中更详细地描述的。
在实施例中,线程分析器235可以根据快照周期,分析每个关键体征快照并生成定义每个代码路径的活动等级的热图(例如,图3的热图300)。此外,分析器235可以分析一个或多个历史和当前关键体征快照以标识每个代码路径的活动(例如,IO处理)变化率。例如,线程分析器235可以根据代码路径的对应事件追踪器的计数器值来确定每个代码路径的活动等级。使用机器学习(ML)引擎290,分析器235还可以标识每个代码路径的对应活动变化率中的模式。此外,ML引擎290还可以发现对应于所报告的错误事件的错误模式。
此外,ML引擎290可以将每个路径的变化率模式与错误模式相关联。基于该相关性,ML引擎290可以标识代码路径210a-n中的每个代码路径、路径更新240a-b、事件追踪器计数器值和每个所标识的错误之间的任何潜在关系。因此,ML引擎290可以确定由相关性标识的每个代码路径可能是潜在的根本原因。例如,线程分析器235可以基于它们各自对OS更新240的介入来预测每个相关性的所标识的代码路径210a-b的错误关系。例如,线程分析器235可以对OS更新240直接影响(例如,更新)的每个代码路径赋予更大的权重。此外,ML引擎290可以发现每个相关性的所标识的代码路径与它们介入具有与当前错误之一相似的特性的先前解决的尝试之间的模式。因此,线程分析器235可以进一步对代码路径210a-b赋予具有相对较高的错误解决介入等级的附加权重。
在实施例中,事件控制器225可以向远程系统115发送错误解决报告,该错误解决报告定义每个代码路径与现有错误的预测关系。此外,事件控制器225可以执行一个或多个错误缓解操作。例如,事件控制器225可以确定代码路径的错误关系预测中的至少一个是否大于关系阈值。对于满足阈值条件的每个代码路径的错误关系预测,事件控制器225可以标识例如存储在本地存储器250中的对应的错误缓解策略,以动态地解决错误。具体地,本地存储器250可以存储将至少一个错误解决策略与错误类型、代码路径210a-n中的每个代码路径和/或代码路径210a-n的可能组合相关联的错误策略数据结构。每个策略都可以包括用于解决所报告的错误的指令。
关于图3,线程分析器235可以包括生成快照热图300的快照处理器335。快照热图300可以在每个代码路径的先前记录的活动等级快照的集合上定义每个代码路径210a-n的活动等级。在实施例中,快照处理器335可以选择可以共同产生统计上相关的分析结果的集合的先前记录的快照的数目。例如,快照处理器335可以确定OS更新相关错误发生的历史平均总大小。基于历史OS更新相关错误平均总大小,快照处理器335可以确定热图300的代码路径的先前记录的快照的数量。此外,快照处理器335可以基于它们与OS更新240、预期OS更新和/或一个或多个最新报告错误的直接和/或间接关系来选择热图300的代码路径210a-n的集合。
在实施例中,快照处理器335可以将每个代码路径的事件追踪器245a-n映射到代码路径的快照305的集合。例如,热图300可以用其对应的唯一事件追踪器ID 310来标识事件追踪器245a-n中的每一个。此外,热图300可以使用定义每个快照的收集日期、时间和/或时段的时间戳数据来定义代码路径的每个快照305。另外,快照处理器335可以包括定义热强度指数315的热图引擎315。热强度指数315可以定义用于视觉表示代码路径的相对活动等级的指令。例如,热图引擎315可以通过标识具有最高和最低计数器值的事件追踪器245a-n来标识由热图300表示的代码路径210a-n的集合的活动等级范围。热图引擎可以使用活动等级范围来生成热图强度指数315。
关于图4,阈值分析器235还可以包括线程错误检测器435,其标识每个代码路径与一个或多个未解决错误的关系。例如,线程错误检测器435可以生成标识热图代码路径的其各自活动等级变化率410的轨迹405的变化率图400。例如,错误检测器435可以比较先前和/或最新生成的热图的集合(例如,如图3的热图300)之间的差异。例如,错误检测器435可以包括使用变化点检测技术来计算活动等级变化率的检测处理器(未示出)。变化点检测技术还可以标识具有与历史变化率的统计相关不一致的每个轨迹的异常变化点415。例如,检测处理器可以向ML引擎290提供与基本上相似的时间间隔相对应的统计相关数量的变化率图(例如,图400)。ML引擎290可以返回一个或多个变化率模型,其定义每个路径的轨迹预期模式。因此,错误检测器435可以使用变化点检测技术将轨迹405与一个或多个变化率模型的轨迹进行比较,以标识异常变化点415。阈值分析器235还可以响应于标识如本文描述的异常变化点415来执行一个或多个错误缓解技术。
以下文本包括根据本公开的一种或多种方法和/或流程图的细节。为简单起见,将这些方法描绘并描述为一系列动作。然而,根据本公开的动作可以以各种顺序发生和/或与本文未呈现和描述的其他动作同时发生。此外,可能不需要所有图示的动作来实现根据所公开的主题的方法。
关于图5,方法500可以由例如阵列的EDS处理器和/或阵列的任何其他组件(例如,分别为图1的EDS处理器110和/或组件101)执行。方法500描述了用于标识和解决例如由操作系统更新引起的错误的步骤。在505,方法500可以包括接收与计算设备相关的错误通知。在510,方法500还可以包括标识与错误通知相关的一个或多个线程。在515,方法500还可以包括基于每个所标识的线程执行错误解决技术。应当注意,方法500的每个步骤可以包括由本文描述的实施例实现的技术的任何组合。
使用本文公开的教导,本领域技术人员可以在数字电子电路、计算机硬件、固件和/或软件中实现上述系统和方法。该实现可以作为计算机程序产品。该实现可以例如在机器可读存储设备中,用于由数据处理设备执行或控制数据处理设备的操作。例如,该实现可以是可编程处理器、计算机和/或多台计算机。
计算机程序可以是任何编程语言,包括编译和/或解释语言。该计算机程序可以具有任何部署的形式,包括单机程序或作为适合于计算环境的子例程、元件和/或其他单元。一台或多台计算机可以执行所部署的计算机程序。
一个或多个可编程处理器可以通过执行计算机程序来执行方法步骤,以通过对输入数据进行操作并产生输出来执行本文描述的概念的功能。装置也可以执行方法步骤。该装置可以是专用逻辑电路。例如,该电路是FPGA(现场可编程门阵列)和/或ASIC(专用集成电路)。子例程和软件代理可以指实现该功能的计算机程序、处理器、特殊电路、软件和/或硬件的部分。
例如,适合于执行计算机程序的处理器包括通用和专用微处理器以及任何数字计算机的任何一个或多个处理器。一般而言,处理器从只读存储器或随机存取存储器或两者接收指令和数据。例如,计算机的基本元件是用于执行指令的处理器以及用于存储指令和数据的一个或多个存储器设备。一般而言,计算机可以包括、可以操作地耦合,以从用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘)接收数据和/或向其传输数据。
数据传输和指令也可以通过通信网络进行。适合实施计算机程序指令和数据的信息载体包括所有非易失性存储形式,包括半导体存储器设备。例如,信息载体可以是EPROM、EEPROM、闪存设备、磁盘、内部硬盘、可移除盘、磁光盘、CD-ROM和/或DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充和/或合并到专用逻辑电路中。
具有能够实现用户交互的显示设备的计算机可以实现上述技术。例如,显示设备可以是阴极射线管(CRT)和/或液晶显示器(LCD)监测器。与用户的交互可以例如是向用户显示信息以及键盘和定点设备(例如,鼠标或轨迹球),用户可以通过它们向计算机提供输入(例如,与用户界面元素交互)。其他种类的设备可以提供与用户的交互。例如,其他设备可以是以任何形式的感觉反馈(例如,视觉反馈、听觉反馈或触觉反馈)提供给用户的反馈。例如,来自用户的输入可以是任何形式,包括声学、语音和/或触觉输入。
包括后端组件的分布式计算系统也可以实现上述技术。例如,后端组件可以是数据服务器、中间件组件和/或应用服务器。此外,包括前端组件的分布式计算系统可以实现上述技术。前端组件可以是例如具有图形用户界面的客户端计算机、用户可以通过其与示例实现交互的Web浏览器、和/或用于发送设备的其他图形用户界面。该系统的组件可以使用任何形式或介质的数字数据通信(例如,通信网络)来互连。通信网络的示例包括局域网(LAN)、广域网(WAN)、互联网、有线网络和/或无线网络。
该系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络交互。客户端和服务器关系可以由在相应计算机上运行并具有客户端-服务器关系的计算机程序产生。
基于分组的网络可以包括例如互联网、运营商互联网协议(IP)网络(例如,局域网(LAN)、广域网(WAN)、园区网(CAN)、城域网(MAN)、家庭局域网(HAN))、私有IP网络、IP私有分支交换(IPBX)、无线网络(例如,无线电接入网(RAN)、802.11网络、802.16网络、通用分组无线电业务(GPRS)网络、HiperLAN)和/或其他基于分组的网络。基于电路的网络可以包括例如公共交换电话网(PSTN)、私有分支交换(PBX)、无线网络和/或其他基于电路的网络。无线网络可以包括RAN、蓝牙、码分多址(CDMA)网络、时分多址(TDMA)网络和全球移动通信系统(GSM)网络。
发送设备可以包括例如计算机、具有浏览器设备的计算机、电话、IP电话、移动设备(例如,蜂窝电话、个人数字助理(P.D.A.)设备、膝上型计算机、电子邮件设备)和/或其他通信设备。浏览器设备包括例如具有万维网浏览器(例如,Internet和/>)的计算机(例如,台式计算机、膝上型计算机)。移动计算设备包括例如/>
包括、包含和/或每个项目的复数形式都是非穷举列表。因此,它们是开放式的,并且包含任何列出的元素和未列出的附加元素。和/或是开放式的,并且包括所列出的部件的一个或多个和所列出的特征的组合。
本领域技术人员将认识到,在不背离其精神或基本特性的情况下,其他特定形式可以实施本文描述的概念。因此,前面的实施例在所有方面都是说明性的,而不是限制本文描述的概念。因此,概念的范围由所附权利要求指示,而不是由前面的描述指示。因此,所有变更都包含权利要求的等同形式的含义和范围。

Claims (20)

1.一种方法,包括:
接收与计算设备相关的错误通知;
标识与所述错误通知相关的一个或多个线程;以及
基于每个所标识的线程执行错误解决技术。
2.根据权利要求1所述的方法,还包括:
监测每个线程的处理事件。
3.根据权利要求2所述的方法,还包括:
在每个线程的处理路径中插入事件追踪器。
4.根据权利要求3所述的方法,还包括:
响应于每个事件追踪器的相关线程的处理初始化,递增每个事件追踪器。
5.根据权利要求4所述的方法,还包括:
使用每个线程的事件追踪器来捕获所述一个或多个线程的周期性快照。
6.根据权利要求5所述的方法,还包括:
使用所述快照针对每个周期生成所述一个或多个线程的热图。
7.根据权利要求6所述的方法,还包括:
标识当前热图上的至少一个位置与一个或多个先前热图上的至少一个对应位置之间的热图差异。
8.根据权利要求7所述的方法,其中每个热图上的每个位置与所述一个或多个线程的主题线程相关。
9.根据权利要求8所述的方法,还包括:
标识所述当前热图上具有超过阈值的热图差异的每个位置。
10.根据权利要求9所述的方法,还包括:
选择所述线程中的与每个所标识的位置相关的至少一个线程;以及
基于所选择的所述至少一个线程执行所述错误解决技术。
11.一种装置,包括存储器和处理器,被配置为:
接收与计算设备相关的错误通知;
标识与所述错误通知相关的一个或多个线程;以及
基于每个所标识的线程执行错误解决技术。
12.根据权利要求1所述的装置,还被配置为监测每个线程的处理事件。
13.根据权利要求2所述的装置,还被配置为在每个线程的处理路径中插入事件追踪器。
14.根据权利要求3所述的装置,还被配置为:响应于每个事件追踪器的相关线程的处理初始化,递增每个事件追踪器。
15.根据权利要求4所述的装置,还被配置为使用每个线程的事件追踪器捕获所述一个或多个线程的周期性快照。
16.根据权利要求5所述的装置,还被配置为使用所述快照针对每个周期生成所述一个或多个线程的热图。
17.根据权利要求6所述的装置,还被配置为标识当前热图上的至少一个位置与一个或多个先前热图上的至少一个对应位置之间的热图差异。
18.根据权利要求7所述的装置,其中每个热图上的每个位置与所述一个或多个线程的主题线程相关。
19.根据权利要求8所述的装置,还被配置为标识所述当前热图上具有超过阈值的热图差异的每个位置。
20.根据权利要求9所述的装置,还被配置为
选择所述线程中的与每个所标识的位置相关的至少一个线程;以及
基于所选择的所述至少一个线程执行所述错误解决技术。
CN202180097233.6A 2021-04-19 2021-04-26 存储阵列错误缓解 Pending CN117203620A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/234,293 US11392442B1 (en) 2021-04-19 2021-04-19 Storage array error mitigation
US17/234,293 2021-04-19
PCT/US2021/029117 WO2022225538A1 (en) 2021-04-19 2021-04-26 Storage array error mitigation

Publications (1)

Publication Number Publication Date
CN117203620A true CN117203620A (zh) 2023-12-08

Family

ID=75919439

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180097233.6A Pending CN117203620A (zh) 2021-04-19 2021-04-26 存储阵列错误缓解

Country Status (4)

Country Link
US (1) US11392442B1 (zh)
CN (1) CN117203620A (zh)
DE (1) DE112021006772T5 (zh)
WO (1) WO2022225538A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10942650B1 (en) 2018-03-05 2021-03-09 Pure Storage, Inc. Reporting capacity utilization in a storage system
US11861170B2 (en) * 2018-03-05 2024-01-02 Pure Storage, Inc. Sizing resources for a replication target

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000010800A (ja) * 1998-06-19 2000-01-14 Toshiba Corp 計算機システムに於けるスレッド制御装置、及び同システムに於けるスレッド制御方法
US7739689B1 (en) * 2004-02-27 2010-06-15 Symantec Operating Corporation Internal monitoring of applications in a distributed management framework
US8365014B2 (en) * 2010-01-14 2013-01-29 Juniper Networks, Inc. Fast resource recovery after thread crash
US9183116B1 (en) * 2014-04-23 2015-11-10 Microsoft Technology Licensing, Llc Call chain interval resource impact aggregation differencing
US20170153962A1 (en) * 2015-11-30 2017-06-01 International Business Machines Corporation Monitoring the performance of threaded applications
US9990273B2 (en) * 2016-03-17 2018-06-05 Tata Consultancy Services Limited Methods and systems for anomaly detection
US11080190B2 (en) * 2019-07-10 2021-08-03 EMC IP Holding Company LLC Detecting and correcting cache memory leaks

Also Published As

Publication number Publication date
DE112021006772T5 (de) 2024-02-15
WO2022225538A1 (en) 2022-10-27
US11392442B1 (en) 2022-07-19

Similar Documents

Publication Publication Date Title
US10795905B2 (en) Data stream ingestion and persistence techniques
US10691716B2 (en) Dynamic partitioning techniques for data streams
US9811445B2 (en) Methods and systems for the use of synthetic users to performance test cloud applications
US20150135255A1 (en) Client-configurable security options for data streams
JP4990018B2 (ja) 装置性能管理方法、装置性能管理システム、および管理プログラム
US20150134626A1 (en) Partition-based data stream processing framework
US20150134797A1 (en) Managed service for acquisition, storage and consumption of large-scale data streams
US20160246662A1 (en) Automatic troubleshooting
US20150074450A1 (en) Hard disk drive (hdd) early failure detection in storage systems based on statistical analysis
US11368372B2 (en) Detection of outlier nodes in a cluster
US10067704B2 (en) Method for optimizing storage configuration for future demand and system thereof
Thereska et al. Informed data distribution selection in a self-predicting storage system
US9690576B2 (en) Selective data collection using a management system
Mogul et al. Thinking about availability in large service infrastructures
CN117203620A (zh) 存储阵列错误缓解
US20180121237A1 (en) Life cycle management of virtualized storage performance
CN114746843A (zh) 针对已分化数据恢复配置的存储器健康跟踪
JP2004152274A (ja) 測定装置
US9465684B1 (en) Managing logs of storage systems
US20160139961A1 (en) Event summary mode for tracing systems
US20180287914A1 (en) System and method for management of services in a cloud environment
EP3382555A1 (en) System and method for management of services in a cloud environment
US20230060461A1 (en) Inference engine configured to provide a heat map interface
US11687243B2 (en) Data deduplication latency reduction
Jha et al. Holistic measurement-driven system assessment

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