CN105743731B - 用于存储***中的故障检测的方法和装置 - Google Patents
用于存储***中的故障检测的方法和装置 Download PDFInfo
- Publication number
- CN105743731B CN105743731B CN201410770650.4A CN201410770650A CN105743731B CN 105743731 B CN105743731 B CN 105743731B CN 201410770650 A CN201410770650 A CN 201410770650A CN 105743731 B CN105743731 B CN 105743731B
- Authority
- CN
- China
- Prior art keywords
- interchanger
- data
- amount
- check errors
- upstream
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/008—Reliability or availability analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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/0727—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/076—Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Human Computer Interaction (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开内容涉及用于存储***中的故障检测的方法和装置。一个实施例提供一种存储***中的故障检测方法,包括:确定所述存储***中的多个交换机中的每个交换机在预定的时间窗口内接收到的数据的量,以获得多个数据量;确定所述多个交换机中的每个交换机在所述数据中检测到的校验错误的计数,以获得多个校验错误计数;以及基于所述多个数据量和所述多个校验错误计数,计算所述多个交换机中的每个交换机的故障风险。本发明的另一实施例提供相应的装置。
Description
技术领域
本公开内容总体上涉及存储技术,并且具体地,涉及用于存储***中的故障检测的方法和装置。
背景技术
在一类存储***中,磁盘、机柜等硬件存储设备可由多个交换机连接在一起,以形成存储网络。在这样的存储网络中,数据的输入/输出(I/O)路径往往涉及多个交换机。已知的是,当存储***中的软件模块发生故障时,可以通过各种软件分析和重现技术而相对容易地定位故障源。然而,当交换机等硬件设备发生故障时,往往难以快速、准确地找到故障源。
具体而言,在存储***的运行中,交换机可能由于设备老化、供电问题(例如,电压不稳)、环境因素(例如,温度、湿度,等等)而发生故障。此时,可以观察到存储***中的数据I/O操作的错误,例如,数据格式丢失、校验错误,等等。此时,传统方案需要对I/O路径中可能导致错误的所有交换机进行逐一排查,这是一个费时费力的过程。
某些已知的方案利用校验技术来进行故障检测。如果I/O路径中的一个交换机接收到的数据发生校验错误,则向该交换机发送该数据的上游交换机被确定为故障设备。然而,这种方法在准确性方面存在缺陷。可以理解,校验错误的发生并非一定意味着交换机发生了故障。在很多情况下,校验错误可能由软件模块、链路甚至某些随机或不可知的原因引起。另外,当I/O路径中的多个交换机检测到传入数据的校验错误时,传统方法会将这些交换机都判定为故障设备,而情况往往并非如此。
发明内容
一般地,本发明的实施例提出一种用于存储***中的故障检测的技术方案。
在一个方面,本发明的实施例提供一种存储***中的故障检测方法。所述方法包括:确定所述存储***中的多个交换机中的每个交换机在预定的时间窗口内接收到的数据的量,以获得多个数据量;确定所述多个交换机中的每个交换机在所述数据中检测到的校验错误的计数,以获得多个校验错误计数;以及基于所述多个数据量和所述多个校验错误计数,计算所述多个交换机中的每个交换机的故障风险。
在另一方面,本发明的实施例提供一种存储***中的故障检测装置。所述装置包括:数据量确定单元,被配置为确定所述存储***中的多个交换机中的每个交换机在预定的时间窗口内接收到的数据的量,以获得多个数据量;校验错误计数单元,被配置为确定所述多个交换机中的每个交换机在所述数据中检测到的校验错误的计数,以获得多个校验错误计数;以及风险计算单元,被配置为基于所述多个数据量和所述多个校验错误计数,计算所述多个交换机中的每个交换机的故障风险。
通过下文描述将会理解,根据本发明的实施例,不再简单地针对存储***中的个体交换机来执行故障检测。相反,存储***中待检测的多个交换机及其关联关系将被作为有机的整体,从而将不同交换机之间的数据传输关系纳入考虑。以此方式,能够更加准确地定位发生故障的交换机。本发明的其他特征和优点将通过下文描述而变得容易理解。
附图说明
通过结合附图对本发明示例性实施方式进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显其中:
图1示出了适于用来实现本发明实施例的示例性计算机***/服务器的示意性框图;
图2示出了本发明的实施例可实现于其中的存储***的示意性框图;
图3示出了根据本发明实施例的用于存储***中的故障检测的方法的示意性流程图;
图4示出了根据本发明实施例的顶层交换机的数据端口的示意性框图;
图5示出了根据本发明实施例的底层交换机的数据端口的示意性框图;
图6示出了根据本发明实施例的中间交换机的数据端口的示意性框图;以及
图7示出了根据本发明实施例的用于存储***中的故障检测的装置的示意性框图。
在附图中,相同或相似的标号被用来表示相同或相似的元素。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
图1示出了适于用来实现本发明实施方式的示例性计算机***/服务器12的方框图。图1显示的计算机***/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图1所示,计算机***/服务器12以通用计算设备的形式表现。计算机***/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,***存储器28,连接不同***组件(包括***存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。
计算机***/服务器12典型地包括多种计算机***可读介质。这些介质可以是任何能够被计算机***/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
***存储器28可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机***/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机***/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机***/服务器12交互的设备通信,和/或与使得该计算机***/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机***/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机***/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机***/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
下面将详细描述本发明实施例的机制和原理。除非特别声明,在下文和权利要求中使用的术语“基于”表示“至少部分地基于”。术语“包括”表示开放性包括,即“包括但不限于”。术语“多个”表示“两个或更多”。术语“一个实施例”表示“至少一个实施例”。术语“另一实施例”表示“至少一个另外的实施例”。其他术语的定义将在下文描述中给出
图2示出了本发明的实施例可实现于其中的示例存储***200的示意性框图。存储***200包括主机(host)210,其与用户或者应用交互,以便接收用户或者应用的数据I/O请求。主机210还控制存储***200中的其他设备完成该请求。
存储***200还包括多个交换机2201…220N(统称为“交换机200”),其中N为大于或者等于2的自然数。每个交换机220是能够完成数据的接收和转发的任何适当设备。在存储***200中,可以使用相同或者不同类型的交换机200。
每个交换机能够与硬盘、磁带、机柜之类的存储设备连接,以便实现数据向存储设备的写入和数据从存储设备的读取。当然,某些交换机也可以仅仅与其他交换机连接,而不直接连接到存储设备。在图2中,示出了与交换机220N连接的存储设备230。然而,应当理解,其他任何适当的交换机均可以与各自的存储设备连接。
在存储***200中,对特定存储设备中的数据的I/O操作可能涉及不止一个交换机。例如,在图2中所示的示例中,当主机210希望向存储设备230写入数据时,待写入的数据依次通过交换机2201…220N而被写入存储设备230。类似地,当主机210希望从存储设备230读取数据时,所读取的数据依次通过交换机220N…2201而被提供给主机210。数据所经过的这些交换机构成了I/O操作的I/O路径。作为示例,图2中示出了主机210与存储设备230之间的I/O路径240。
如前文所述,当I/O路径涉及多个交换机时,需要一种能够快速、准确地定位故障交换机的方法。图3示出了根据本发明的实施例的用于存储***中的故障检测的方法300的示意性流程图。一般而言,根据本发明的实施例,故障检测不再简单地基于单个交换机的工作状态。相反,整个存储***中的交换机及其连接的总体状态被用来检测潜在的故障交换机。通过将交换机之间的连接关系纳入考虑,能够更加准确地定位故障交换机。
具体地,如图3所示,方法300开始于步骤S310,在此确定存储***中的多个交换机中的每一个交换机在一个时间窗口(time window)中接收到的数据量。
在一个实施例中,数据以帧(frame)为单位在存储***中传递。在这样的实施例中,在步骤S310处,可以使用帧数来衡量数据量。备选地,可以使用字节数或者任何其他适当的度量来衡量接收数据量。本发明的范围在此方面不受限制。
请注意,在此所述的“多个交换机”不一定是存储***中所包括的所有交换机。在一个实施例中,在步骤S310处所考虑的交换机可以是发生错误的I/O路径中的全部交换机。备选地,在另一些实施例中,I/O路径中的某些交换机可被认为是可靠的。此时,在步骤S310处所考虑的交换机可以是I/O路径中的部分而非全部交换机。为讨论方便起见,在下文讨论中,将所考虑的交换机的数目描述为N。
在步骤S310处使用的时间窗口的长度可以预先确定。例如,在一个实施例中,当存储***中的主机和/或存储设备发现读取和/或写入的数据的校验错误比较频繁时,可以启动方法300的执行。此时,时间窗口开始计时。
备选地,在另一实施例中,当存储***在一个时刻(记为T1)因为较多的数据错误而被认为处于不稳定状态时,可以将该时刻T1作为时间窗口的结束时刻。时间窗口的开始时刻可以是先前的某个适当时刻T0。例如,在一个实施例中,时刻T0可以是存储***处于稳定状态的任意时刻。在这样的实施例中,在时刻T0,所考虑的每个交换机的接收数据量可被重置为零。
为讨论方便起见,在下文描述中,将主机视为I/O路径的起点,并且将存储设备视为I/O路径的终点,而不考虑实际的数据流向。由此,假设在I/O路径中的两个交换机中,第一交换机距离主机比第二交换机更近,则第一交换机称为第二交换机的上游交换机,而第二交换机称为第一交换机的下游交换机。
根据本发明的实施例,在步骤S310处,可以将I/O操作路径中的交换机分为三类,以便应用不同的处理。第一类交换机被称为“顶层交换机”,它直接与存储***的主机相连接。例如,在图2所示的示例中,交换机2201是I/O访问路径240中的顶层交换机,它直接与主机210连接,中间不存在任何其他交换机。
对于顶层交换机,在步骤S310处所确定的数据量是该交换机在时间窗口内从与之连接的下游交换机接收到的数据量。例如,在图2所示的示例中,交换机2202是顶层交换机2201的下游交换机。由此,在此示例中,在步骤S310处,可以确定顶层交换机2201在时间窗口内从交换机2202接收到的数据量。也就是说,顶层交换机2201在时间窗口内从主机210接收到的数据量被忽略。
图4示出了顶层交换机2201的数据端口的示意框图。如图所示,顶层交换机2201包括四个逻辑数据端口410、420、430和440。注意,图4中所示的端口都是按照功能从逻辑上划分的。在实现中,可以使用一个或多个物理端口来实现这些逻辑端口410-440的功能。
端口410用于从主机210接收待写入的数据,端口420用于将待写入的数据传递给下游交换机2202。端口430用于从下游交换机2202接收所读取的数据,端口440用于将所读取的数据传递给主机210。在一个实施例中,在步骤S310处,对于顶层交换机2201而言,仅考虑在给定时间窗口内从端口430接收到的来自下游交换机2202的数据量,而忽略从端口410接收到的来自主机210的数据。
这样做是有益的:通过排除来自主机的数据,在衡量每个交换机的故障风险时,可以仅仅考虑在交换机之间的数据传输路径。这有助于提高故障检测的准确性。
第二类交换机被称为底层交换机,它直接与I/O路径中的目标存储设备相连接。例如,在图2所示的示例中,交换机220N是I/O访问路径240中的底层交换机,它直接与目标存储设备230连接,中间不存在任何其他交换机。
对于底层交换机,在步骤S310处所确定的数据是该交换机在时间窗口内从与之连接的上游交换机接收到的数据。例如,在图2所示的示例中,底层交换机220N在时间窗口内接收到的数据量是它在该时间窗口内从上游交换机220N-1(未在图中示出)接收到的数据量。也就是说,底层交换机220N在时间窗口内从存储设备230接收到的数据量被忽略。
图5示出了顶层交换机220N的数据端口的示意框图。如图所示,底层交换机220N包括四个逻辑数据端口510、520、530和540。与图4所描述的示例类似,图5中所示的端口都是按照功能从逻辑上划分的。在实现中,可以使用一个或多个物理端口来实现这些逻辑端口510-540的功能。
端口510用于从上游交换机220N-1接收待写入的数据,端口520用于将待写入的数据写入存储设备230。端口530用于从存储设备230接收所读取的数据,端口540用于将所读取的数据传递给上游交换机220N-1。在一个实施例中,在步骤S310处,对于底层交换机220N而言,仅考虑在给定时间窗口内从端口510接收到的来自上游交换机220N-1的数据量,而忽略从端口530接收到的来自存储设备230的数据。
类似于顶层交换机,这样做是有益的。通过排除来自存储设备的数据,在衡量每个交换机的故障风险时,可以仅仅考虑在交换机之间的数据传输路径。这有助于提高故障检测的准确定。
第三类交换机是中间交换机,它与I/O路径中的上游交换机和下游交换机连接,而不直接与主机或者存储设备相连接。对于中间存储设备,在步骤S310处所确定的数据是它从上游交换机和下游交换机二者接收到的数据。
图6示出了某个中间交换机220j(j=2…N-1)的数据端口的示意框图。如图所示,中间交换机220j包括四个逻辑数据端口610、620、630和640。与图4和图5所描述的示例类似,图6中所示的端口都是按照功能从逻辑上划分的。在实现中,可以使用一个或多个物理端口来实现这些逻辑端口610-640的功能。
端口610用于从上游交换机220j-1接收待写入的数据,端口620用于将待写入的数据传递给下游交换机220j+1。端口630用于从下游交换机220j+1接收所读取的数据,端口640用于将所读取的数据传递给上游交换机220j-1。根据本发明的实施例,对于中间交换机220i,考虑在给定时间窗口内从端口610接收到的来自上游交换机220j-1的数据量,以及从端口630接收到的来自下游交换机220j+1的数据量。
通过执行步骤S310,可以确定每个交换机Si(i=1,…,N)在时间窗口内接收到的数据量。为了方便讨论,将数据量分为上游数据(即,写数据)的数据量Wi和下游数据(即,读数据)的数据量Ri。如上文所述,在一个实施例中,顶层交换机的上游数据的数据量W1=0。备选地或附加地,在一个实施例中,底层交换机的下游数据的数据量RN=0。由此,获得了多个数据量测量值的集合{(W1,R1),(W2,R2)…(WN,RN)}。
仍然参考图3,接下来,方法300进行步骤S320。在步骤S320,确定所考虑的多个交换机中的每个交换机在时间窗口内,在接收到的数据中检测到的校验错误的计数。
根据本发明的实施例,每当一个交换机接收到一定量的数据,它对接收到的数据进行校验。例如,校验可以以帧为单位进行。但是这并不是必须的。在备选实施例中,也可以针对任何指定大小的数据执行校验。特别地,在时间窗口的开始时刻T0,可以将所考虑的每个交换机的校验错误计数重置为零。
任何目前已知或者将来开发的数据校验技术均可与本发明的实施例结合使用。例如,在一个实施例中,交换机可以使用循环冗余检验(CRC)或其任何变形对接收到的数据进行校验。备选地或附加地,交换机可以对接收到的数据执行奇偶校验、和校验、MD5校验和/或任何适当的校验过程。本发明的范围在此方面不受限制。
在一个实施例中,可以维护有与每个交换机相关联的校验错误计数器。每当一个交换机在接收到的数据中发现校验一个校验错误,就将相关联的计数器的值递增1。以此方式,可以获得每个交换机在时间窗口内在接收到的数据中检测到的校验错误的计数。
如上所述,在一个实施例中,在步骤S310处确定接收数据量时,顶层交换机可以忽略来自主机的数据量。类似地,在一个实施例中,在步骤S320处,顶层交换机也可以不对来自主机的数据的校验错误进行计数。也即,当顶层交换机在接收自主机的数据中发现校验错误时,将忽略该校验错误而不递增计数器的值。
类似地,如上所述,在一个实施例中,在步骤S310处确定接收数据量时,底层交换机可以忽略来自存储设备的数据量。类似地,在一个实施例中,在步骤S320处,底层交换机也可以不对来自存储设备的数据的校验错误进行计数。也即,当底层交换机在接收自存储设备的数据中发现校验错误时,将忽略该校验错误而不递增计数器的值。
特别地,在一个实施例中,如果一个交换机在从相邻设备接收到的数据中检测到校验错误,可以请求该相邻设备向该交换机重发数据。这里所说的“相邻设备”可以包括交换机,也可以包括主机或者存储设备。相邻设备可以是上游设备,也可以是下游设备。
作为示例,假设数据以帧为单位在存储***中被传递。假设一个中间交换机从相邻交换机(上游交换机或者下游交换机)接收到一个数据帧,并且针对该数据帧的校验(例如,CRC校验)发生错误。此时,中间交换机可以向该相邻交换机发送请求,以使相邻交换机向该中间交换机重新发送该数据帧。重发过程可以执行一次或多次,直到接收到的数据帧的校验没有错误,或者直到预定的重复周期届满。
这样做是有益的。以此方式,可以避免不必要的错误数据的蔓延。假设第一交换机从上游的第二交换机接收到数据,并且在数据中发现校验错误。这种错误可能由于某些偶然因素、不可知原因和/或链路状况而引起的。通借助于第二交换机的重发,可以在故障交换机的标识过程中最大限度地排除这些因素的干扰。当然,这样做并不是必须的。在备选实施例中,当发现数据的校验错误时,可以在不要求重发的情况下直接转发数据。
特别地,如上所述,顶层交换机在确定接收数据量(步骤S310)和校验错误计数(步骤S320)时,可以忽略来自主机的数据。但是,在实践中,顶层交换机同样可能在来自主机的数据中发现校验错误。这例如是由主机与顶层交换机之间的链路或者其他原因导致的。此时,在一个实施例中,顶层交换机可以请求主机重发数据,直到不再发生校验错误。
类似地,底层交换机在确定接收数据量(步骤S310)和校验错误计数(步骤S320)时,可以忽略来自存储设备的数据。但是,在实践中,底层交换机同样可能在来自存储的数据中发现校验错误。这例如是由于底层交换机与存储设备之间的链路或者其他原因导致的。此时,在一个实施例中,底层交换机可以请求存储设备重发数据,直到不再发生校验错误。
通过执行步骤S320,可以获得分别与多个交换机相关联的多个校验错误计数{Ei},i=1…N。接下来,方法300进行到步骤S330,在此基于在步骤S310处确定的多个数据量{(Wi,Ri)}以及在步骤S320处获取的多个校验错误计数{Ei},来计算多个交换机中的每个交换机发生故障的风险。
如上文概述的,不同于单独考虑每个交换机的传统方案,根据本发明的实施例,I/O路径中的多个交换机被作为有机的整体,从而相互关联地确定多个交换机的故障风险。
具体而言,在一个实施例中,可以为每个交换机定义“健康状态”。健康状态指示交换机发生故障的风险。一个交换机的健康状态的值越高,其发生故障的风险越小;反之,一个交换机的健康状态的值越低,其发生故障的风险越大。例如,在一个实施例中,故障风险和健康状态可以互为倒数。在下文描述中,故障风险和健康状态可能互换地使用。
在一个实施例中,对于多个交换机中的每个交换机i(i=1…N),可以利用如下各项来表征交换机i在时间窗口内检测到的校验错误的计数Ei:
Ei=Wi*Hi-1+Ri*Hi+1 (1)
其中Wi表示交换机i在时间窗口T内从与之连接的上游设备(交换机或者主机)接收到的写数据的量;Hi-1表示该上游设备的健康状态;Ri表示交换机i在时间窗口T内从与之连接的下游设备(交换机或者存储设备)接收到的读数据的量;Hi+1表示该下游设备的健康状态。
特别地,对于顶层交换机(i=1),Hi-1(即,H0)可以表示主机的健康状态。在一个实施例中,可以认为主机发生故障的风险比较低。相应地,可以将H0定义为足够大的值。备选地,在一个实施例中,如上所述,顶层交换机可以忽略在时间窗口内从主机接收到的数据,即,W1=0。此时,H0可被定义为任意值。
类似地,对于底层交换机(i=N),Hi+1(即,HN+1)可以表示存储设备的健康状态。在一个实施例中,可以认为存储设备发生故障的风险比较低。相应地,可以将HN+1定义为足够大的值。备选地,在一个实施例中,如上所述,底层交换机可以忽略在时间窗口内从存储设备接收到的数据,即,RN=0。此时,HN+1可被定义为任意值。
应当理解,公式(1)中所示的校验错误计数Ei的表征并不是限制性的。根据实际应用和需求,本领域技术人员可以想到任何适当的变形。例如,在一个实施例中,I/O路径中的某些交换机可能具有不同的重要性。又如,根据交换机的设备类型、生产商、使用时间等因素,不同的交换机可能具有不同的风险等级。此时,可以将公式(1)中的求和变为加权和:
Ei=α*Wi*Hi-1+β*Ri*Hi+1
其中α表示上游交换机的权重,β表示下游交换机的权重。在一个实施例中,α和/或β可以基于相应交换机的设备类型、生产商、使用时间、重要性、历史故障情况等一个或多个相关因素来确定。以此方式,可以给予比较重要和/或风险等级较高的交换机以特别的关注。其他任何适当的变形均是可能的,本发明的范围在此方面不受限制。
以此方式,可以获得校验错误计数的N个表征,每个表征可被视作一个方程。由此,获得了一个具有N个方程、N个未知数(即,H1…HN)的N元方程组。通过求解该方程组,可以基于校验错误计数的表征,一次性确定N个交换机的健康状态,即,故障风险。这样估计出的故障风险考虑了不同交换机之间的连接关系和数据在交换机之间的传输路径。与单独考虑个体交换机的传统方案相比,故障交换机的标识的准确性可以得到显著提高。
在一个实施例中,可以按照故障风险的降序(或者说,健康状态的升序)对多个交换机进行排序。排序在最前面的一个或多个交换机可被标识为故障交换机。备选地或附加地,也可以将每个交换机的故障风险(或健康状态)与预定阈值相比较。如果一个交换机的故障风险超过了预定阈值或者健康状态低于预定阈值,则将该交换机标识为故障交换机。
在一个实施例中,可以对标识到的故障交换机进行自动的和/或人工的修复。例如,可以重启故障交换机或其某些组件、更换故障交换机或其某些组件,等等。此后,可以认为存储***重新进入了稳定状态。相应地,在一个实施例中,可以将每个交换机的接收数据量和校验错误计数都重置为零。此后,在一个实施例中,可以自动地再次开始确定每个交换机的接收数据量和校验错误计数,以便进行后续故障检测。
图7示出了根据本发明实施例的用于存储***中的故障检测装置700的示意性框图。如图所示,装置700包括:数据量确定单元710,被配置为确定所述存储***中的多个交换机中的每个交换机在预定的时间窗口内接收到的数据的量,以获得多个数据量;校验错误计数单元720,被配置为确定所述多个交换机中的每个交换机在所述数据中检测到的校验错误的计数,以获得多个校验错误计数;以及风险计算单元730,被配置为基于所述多个数据量和所述多个校验错误计数,计算所述多个交换机中的每个交换机的故障风险。
在一个实施例中,所述数据量确定单元710可以包括:顶层数据量确定单元,被配置为对于所述多个交换机中与所述存储***的主机相连接的顶层交换机,忽略在所述时间窗口内从所述主机接收到的数据的量。附加地或备选地,在一个实施例中,所述校验错误计数单元720可以包括:顶层计数单元,被配置为对于所述多个交换机中与所述存储***的主机相连接的顶层交换机,忽略在所述时间窗口内从所述主机接收到的所述数据中检测到的校验错误。
在一个实施例中,所述数据量确定单元710可以包括:底层数据量确定单元,被配置为对于所述多个交换机中与所述存储***的存储设备相连接的底层交换机,忽略在所述时间窗口内从所述存储设备接收到的数据的量。附加地或备选地,在一个实施例中,所述校验错误计数单元720可以包括:底层计数单元,被配置为对于所述多个交换机中与所述存储***的存储设备相连接的底层交换机,忽略在所述时间窗口内从所述存储设备接收到的所述数据中检测到的校验错误。
在一个实施例中,所述数据量确定单元710可以包括:上游数据量确定单元,被配置为对于所述多个交换机中的中间交换机,确定在所述时间窗口内从与所述中间交换机相连接的上游交换机接收到的写数据的量;以及下游数据量确定单元,被配置为对于所述多个交换机中的中间交换机,确定在所述时间窗口内从与所述中间交换机相连接的下游交换机接收到的读数据的量。
在一个实施例中,装置700还可以包括:重发请求单元,被配置为响应于所述多个交换机中的给定交换机从与所述给定交换机相连接的相邻设备接收到的数据中检测到校验错误,请求所述相邻设备向所述给定交换机重发所述数据。
在一个实施例中,所述风险计算单元730可以包括:计数表征获取单元,被配置为对于所述多个交换机中的每个交换机,利用以下各项来表征所述校验错误的计数,以获得多个计数表征:上游设备发生故障的所述风险,接收自所述上游设备的写数据的量,下游设备发生故障的所述风险,以及接收自所述下游设备的读数据的量。所述计数表征被用于计算所述多个交换机中的每个交换机的所述故障风险。
在一个实施例中,每个交换机的所述校验错误的计数被表征为以下两项的和:上游设备发生故障的所述风险与接收自所述上游设备的写数据的量的乘积;以及下游设备发生故障的所述风险与接收自所述下游设备的读数据的量的乘积。在一个实施例中,可使用加权和。所述上游设备和所述下游设备中的至少一个的权重基于以下至少一项来确定:设备类型、生产商、使用时间、重要性、历史故障情况。
在一个实施例中,装置700还可以包括:风险排序单元,被配置为按照所述故障风险的降序对所述多个交换机进行排序;以及故障标识单元,被配置为将排序在前的至少一个交换机标识为故障交换机。
应当注意,为清晰起见,图7中没有示出装置700所包括的可选单元或者子单元。上文所描述的所有特征和操作分别适用于装置700,故在此不再赘述。而且,装置700中的单元或子单元的划分不是限制性的而是示例性的,旨在从逻辑上描述其主要功能或操作。一个单元的功能可以由多个单元来实现;反之,多个单元亦可由一个单元来实现。本发明的范围在此方面不受限制。
而且,装置700所包含的单元可以利用各种方式来实现,包括软件、硬件、固件或其任意组合。例如,在某些实施方式中,装置700可以利用软件和/或固件来实现。备选地或附加地,装置700可以部分地或者完全地基于硬件来实现。例如,装置700中的一个或多个单元可以实现为集成电路(IC)芯片、专用集成电路(ASIC)、片上***(SOC)、现场可编程门阵列(FPGA),等等。本发明的范围在此方面不受限制。
本发明可以是***、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是—但不限于—电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Java、Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
计算机可读程序指令也可加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (20)
1.一种存储***中的故障检测方法,包括:
确定所述存储***中的多个交换机中的每个交换机在预定的时间窗口内接收到的数据的量,以获得多个数据量;
确定所述多个交换机中的每个交换机在所述数据中检测到的校验错误的计数,以获得多个校验错误计数;以及
基于所述多个数据量和所述多个校验错误计数,计算所述多个交换机中的每个交换机的故障风险。
2.根据权利要求1所述的方法,其中确定所述存储***中的多个交换机中的每个交换机在预定的时间窗口内接收到的数据的量包括:
对于所述多个交换机中与所述存储***的主机相连接的顶层交换机,忽略在所述时间窗口内从所述主机接收到的数据的量。
3.根据权利要求1所述的方法,其中确定所述多个交换机中的每个交换机在所述数据中检测到的校验错误的计数包括:
对于所述多个交换机中与所述存储***的主机相连接的顶层交换机,忽略在所述时间窗口内从所述主机接收到的所述数据中检测到的校验错误。
4.根据权利要求1所述的方法,其中确定所述存储***中的多个交换机中的每个交换机在预定的时间窗口内接收到的数据的量包括:
对于所述多个交换机中与所述存储***的存储设备相连接的底层交换机,忽略在所述时间窗口内从所述存储设备接收到的数据的量。
5.根据权利要求1所述的方法,其中确定所述多个交换机中的每个交换机在所述数据中检测到的校验错误的计数包括:
对于所述多个交换机中与所述存储***的存储设备相连接的底层交换机,忽略在所述时间窗口内从所述存储设备接收到的所述数据中检测到的校验错误。
6.根据权利要求1所述的方法,其中确定所述存储***中的多个交换机中的每个交换机在预定的时间窗口内接收到的数据的量包括:
对于所述多个交换机中的中间交换机:
确定在所述时间窗口内从与所述中间交换机相连接的上游交换机接收到的写数据的量;以及
确定在所述时间窗口内从与所述中间交换机相连接的下游交换机接收到的读数据的量。
7.根据权利要求1所述的方法,还包括:
响应于所述多个交换机中的给定交换机从与所述给定交换机相连接的相邻设备接收到的数据中检测到校验错误,请求所述相邻设备向所述给定交换机重发所述数据。
8.根据权利要求1所述的方法,其中计算所述多个交换机中的每个交换机的故障风险包括:
对于所述多个交换机中的每个交换机,利用以下各项来表征所述校验错误的计数,以获得多个计数表征:
上游设备发生故障的所述风险,
接收自所述上游设备的写数据的量,
下游设备发生故障的所述风险,以及
接收自所述下游设备的读数据的量;以及
基于所述计数表征来计算所述多个交换机中的每个交换机的所述故障风险。
9.根据权利要求8所述的方法,其中每个交换机的所述校验错误的计数被表征为以下项之和:
所述上游设备发生故障的所述风险与所述接收自所述上游设备的写数据的量的乘积;以及
所述下游设备发生故障的所述风险与所述接收自所述下游设备的读数据的量的乘积。
10.根据权利要求9所述的方法,其中所述和是加权和,并且其中所述上游设备和所述下游设备中的至少一个的权重基于以下至少一项来确定:设备类型、生产商、使用时间、重要性、历史故障情况。
11.一种存储***中的故障检测装置,包括:
数据量确定单元,被配置为确定所述存储***中的多个交换机中的每个交换机在预定的时间窗口内接收到的数据的量,以获得多个数据量;
校验错误计数单元,被配置为确定所述多个交换机中的每个交换机在所述数据中检测到的校验错误的计数,以获得多个校验错误计数;以及
风险计算单元,被配置为基于所述多个数据量和所述多个校验错误计数,计算所述多个交换机中的每个交换机的故障风险。
12.根据权利要求11所述的装置,其中所述数据量确定单元包括:
顶层数据量确定单元,被配置为对于所述多个交换机中与所述存储***的主机相连接的顶层交换机,忽略在所述时间窗口内从所述主机接收到的数据的量。
13.根据权利要求11所述的装置,其中所述校验错误计数单元包括:
顶层计数单元,被配置为对于所述多个交换机中与所述存储***的主机相连接的顶层交换机,忽略在所述时间窗口内从所述主机接收到的所述数据中检测到的校验错误。
14.根据权利要求11所述的装置,其中所述数据量确定单元包括:
底层数据量确定单元,被配置为对于所述多个交换机中与所述存储***的存储设备相连接的底层交换机,忽略在所述时间窗口内从所述存储设备接收到的数据的量。
15.根据权利要求11所述的装置,其中所述校验错误计数单元包括:
底层计数单元,被配置为对于所述多个交换机中与所述存储***的存储设备相连接的底层交换机,忽略在所述时间窗口内从所述存储设备接收到的所述数据中检测到的校验错误。
16.根据权利要求11所述的装置,其中所述数据量确定单元包括:
上游数据量确定单元,被配置为对于所述多个交换机中的中间交换机,确定在所述时间窗口内从与所述中间交换机相连接的上游交换机接收到的写数据的量;以及
下游数据量确定单元,被配置为对于所述多个交换机中的中间交换机,确定在所述时间窗口内从与所述中间交换机相连接的下游交换机接收到的读数据的量。
17.根据权利要求11所述的装置,还包括:
重发请求单元,被配置为响应于所述多个交换机中的给定交换机从与所述给定交换机相连接的相邻设备接收到的数据中检测到校验错误,请求所述相邻设备向所述给定交换机重发所述数据。
18.根据权利要求11所述的装置,其中所述风险计算单元包括:
计数表征获取单元,被配置为对于所述多个交换机中的每个交换机,利用以下各项来表征所述校验错误的计数,以获得多个计数表征:
上游设备发生故障的所述风险,
接收自所述上游设备的写数据的量,
下游设备发生故障的所述风险,以及
接收自所述下游设备的读数据的量;
其中所述计数表征被用于计算所述多个交换机中的每个交换机的所述故障风险。
19.根据权利要求18所述的装置,其中每个交换机的所述校验错误的计数被表征为以下项之和:
所述上游设备发生故障的所述风险与所述接收自所述上游设备的写数据的量的乘积;以及
所述下游设备发生故障的所述风险与所述接收自所述下游设备的读数据的量的乘积。
20.根据权利要求19所述的装置,其中所述和是加权和,并且其中所述上游设备和所述下游设备中的至少一个的权重基于以下至少一项来确定:设备类型、生产商、使用时间、重要性、历史故障情况。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410770650.4A CN105743731B (zh) | 2014-12-11 | 2014-12-11 | 用于存储***中的故障检测的方法和装置 |
US14/919,339 US9760419B2 (en) | 2014-12-11 | 2015-10-21 | Method and apparatus for failure detection in storage system |
US15/689,902 US10394632B2 (en) | 2014-12-11 | 2017-08-29 | Method and apparatus for failure detection in storage system |
US16/430,586 US10936387B2 (en) | 2014-12-11 | 2019-06-04 | Method and apparatus for failure detection in storage system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410770650.4A CN105743731B (zh) | 2014-12-11 | 2014-12-11 | 用于存储***中的故障检测的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105743731A CN105743731A (zh) | 2016-07-06 |
CN105743731B true CN105743731B (zh) | 2019-03-29 |
Family
ID=56111264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410770650.4A Active CN105743731B (zh) | 2014-12-11 | 2014-12-11 | 用于存储***中的故障检测的方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (3) | US9760419B2 (zh) |
CN (1) | CN105743731B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105743731B (zh) | 2014-12-11 | 2019-03-29 | 国际商业机器公司 | 用于存储***中的故障检测的方法和装置 |
US10216591B1 (en) * | 2016-06-30 | 2019-02-26 | EMC IP Holding Company LLC | Method and apparatus of a profiling algorithm to quickly detect faulty disks/HBA to avoid application disruptions and higher latencies |
CN110134572B (zh) * | 2018-02-02 | 2023-08-08 | 伊姆西Ip控股有限责任公司 | 验证存储***中的数据 |
CN111367838B (zh) * | 2018-12-25 | 2023-08-29 | 伊姆西Ip控股有限责任公司 | 用于检测数据存储***的方法、设备和数据存储*** |
CN109981495B (zh) * | 2019-03-11 | 2021-03-16 | 盛科网络(苏州)有限公司 | 一种非现场即时性的芯片诊断方法及装置 |
CN112698782A (zh) * | 2019-10-22 | 2021-04-23 | 中电智能科技有限公司 | 基于存储器数据加载的实现装置及方法 |
US10958758B1 (en) * | 2019-11-22 | 2021-03-23 | International Business Machines Corporation | Using data analytics for consumer-focused autonomous data delivery in telecommunications networks |
US11880265B2 (en) * | 2021-12-21 | 2024-01-23 | Nvidia Corporation | Error rate interrupts in hardware for high-speed signaling interconnect |
CN115387917A (zh) * | 2022-09-22 | 2022-11-25 | 国核自仪***工程有限公司 | 基于fpga的机器故障的检测方法、***、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354633A (zh) * | 2008-08-22 | 2009-01-28 | 杭州华三通信技术有限公司 | 提高虚拟存储***写效率的方法及虚拟存储*** |
CN102316303A (zh) * | 2010-06-29 | 2012-01-11 | 广东迅通科技股份有限公司 | 一种设备运行状态监控*** |
CN103905219A (zh) * | 2012-12-24 | 2014-07-02 | 上海粱江通信***股份有限公司 | 一种业务平台中通信信息的监控存储***及方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7058844B2 (en) | 2001-06-15 | 2006-06-06 | Sun Microsystems, Inc. | System and method for rapid fault isolation in a storage area network |
US20030237017A1 (en) | 2002-06-24 | 2003-12-25 | Jibbe Mahmoud Khaled | Component fault isolation in a storage area network |
US7391732B1 (en) * | 2002-08-05 | 2008-06-24 | At&T Corp. | Scheme for randomized selection of equal cost links during restoration |
US7340649B2 (en) | 2003-03-20 | 2008-03-04 | Dell Products L.P. | System and method for determining fault isolation in an enterprise computing system |
US7076573B2 (en) * | 2003-11-20 | 2006-07-11 | International Business Machines Corporation | Method, apparatus, and program for detecting sequential and distributed path errors in MPIO |
US7619979B2 (en) | 2004-06-15 | 2009-11-17 | International Business Machines Corporation | Fault isolation in a network |
JP2006178720A (ja) * | 2004-12-22 | 2006-07-06 | Hitachi Ltd | ストレージシステム |
US7779306B1 (en) | 2007-03-23 | 2010-08-17 | Emc Corporation | Method for automatically diagnosing hardware faults in a data storage system |
US7702971B2 (en) | 2007-06-06 | 2010-04-20 | Dell Products L.P. | System and method for predictive failure detection |
JP5127491B2 (ja) | 2008-02-08 | 2013-01-23 | 株式会社日立製作所 | ストレージサブシステム及びこれの制御方法 |
US8407527B1 (en) | 2009-06-30 | 2013-03-26 | Emc Corporation | Diagnosing hardware faults in a data storage system |
JP5531625B2 (ja) | 2010-01-13 | 2014-06-25 | 日本電気株式会社 | 通信システム及びその障害検出方法 |
US9185027B2 (en) * | 2011-07-29 | 2015-11-10 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for resilient routing of control traffic in a split-architecture system |
US8745448B2 (en) | 2012-06-06 | 2014-06-03 | Hitachi, Ltd. | Storage system, storage control apparatus and method for failure recovery |
CN103617102A (zh) | 2013-11-08 | 2014-03-05 | 华为技术有限公司 | 一种隔离故障硬盘的方法、装置及存储*** |
CN105743731B (zh) | 2014-12-11 | 2019-03-29 | 国际商业机器公司 | 用于存储***中的故障检测的方法和装置 |
US9819575B2 (en) * | 2015-03-10 | 2017-11-14 | Dell Products Lp | Path selection based on error analysis |
-
2014
- 2014-12-11 CN CN201410770650.4A patent/CN105743731B/zh active Active
-
2015
- 2015-10-21 US US14/919,339 patent/US9760419B2/en active Active
-
2017
- 2017-08-29 US US15/689,902 patent/US10394632B2/en not_active Expired - Fee Related
-
2019
- 2019-06-04 US US16/430,586 patent/US10936387B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354633A (zh) * | 2008-08-22 | 2009-01-28 | 杭州华三通信技术有限公司 | 提高虚拟存储***写效率的方法及虚拟存储*** |
CN102316303A (zh) * | 2010-06-29 | 2012-01-11 | 广东迅通科技股份有限公司 | 一种设备运行状态监控*** |
CN103905219A (zh) * | 2012-12-24 | 2014-07-02 | 上海粱江通信***股份有限公司 | 一种业务平台中通信信息的监控存储***及方法 |
Non-Patent Citations (1)
Title |
---|
智能网络存储***中故障检测与数据迁移技术研究;王静;《中国优秀硕士学位论文 信息科技辑 2013年》;20130215(第02期);全文 |
Also Published As
Publication number | Publication date |
---|---|
US20170357542A1 (en) | 2017-12-14 |
US20160170819A1 (en) | 2016-06-16 |
US9760419B2 (en) | 2017-09-12 |
US10936387B2 (en) | 2021-03-02 |
US10394632B2 (en) | 2019-08-27 |
US20190286503A1 (en) | 2019-09-19 |
CN105743731A (zh) | 2016-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105743731B (zh) | 用于存储***中的故障检测的方法和装置 | |
US10289779B2 (en) | Universal verification methodology (UVM) register abstraction layer (RAL) traffic predictor | |
CN107391421B (zh) | 通过串口传输数据的方法、客户端装置及数据转发装置 | |
US20150200836A1 (en) | Method and system for stream testing by using switching hub | |
CN106415293A (zh) | 用于i/o ac定时的基于占空比的定时余量调整 | |
CN110413439A (zh) | 用于检测数据的不完整写入的方法、设备和计算机程序产品 | |
US10614192B2 (en) | Ranking combinations of mutants, test cases and random seeds in mutation testing | |
CN105763394B (zh) | 一种网络链路检测方法、装置和*** | |
CN109714221A (zh) | 网络数据包的确定方法、装置及*** | |
CN110347672A (zh) | 数据表关联更新的验证方法及装置、电子设备及存储介质 | |
CN109495320A (zh) | 一种数据报文的传输方法和装置 | |
CN106294040A (zh) | 光模块状态信息的获取方法和装置 | |
CN106168918A (zh) | 扩展纠错编码数据存储 | |
CN204683631U (zh) | 放射诊断设备的辅助诊断设备及其放射诊断设备 | |
US8516311B2 (en) | System and method for testing peripheral component interconnect express switch | |
TW201436675A (zh) | 訊號線檢查系統及方法 | |
CN114679402B (zh) | 一种医疗机器人上下位机间通信协议的测试方法及装置 | |
KR20050061358A (ko) | 네트워크 진단 방법, 네트워크 진단을 수행하는 코드를포함하는 컴퓨터 판독 가능 매체 및 시스템 | |
CN107066232B (zh) | 半导体设备及其操作方法 | |
CN110502416A (zh) | 应用卡顿检测方法、装置、计算机设备及可读介质 | |
CN108931213A (zh) | 平整度检测方法、装置、设备及存储介质 | |
US20180121493A1 (en) | Detecting emergency response address errors | |
US10295340B2 (en) | Height measurement to verify position of equipment in a data center rack | |
CN108038871A (zh) | 旋转平台的旋转中心确定方法、装置、服务器和存储介质 | |
US11200125B2 (en) | Feedback from higher-level verification to improve unit verification effectiveness |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |