CN112306766A - 用于错误检测的方法、电子设备、存储***和计算机程序产品 - Google Patents
用于错误检测的方法、电子设备、存储***和计算机程序产品 Download PDFInfo
- Publication number
- CN112306766A CN112306766A CN201910701346.7A CN201910701346A CN112306766A CN 112306766 A CN112306766 A CN 112306766A CN 201910701346 A CN201910701346 A CN 201910701346A CN 112306766 A CN112306766 A CN 112306766A
- Authority
- CN
- China
- Prior art keywords
- error
- switch
- storage system
- computing device
- storage
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000001514 detection method Methods 0.000 title claims abstract description 13
- 238000004590 computer program Methods 0.000 title claims abstract description 11
- 238000012360 testing method Methods 0.000 claims abstract description 36
- 238000011144 upstream manufacturing Methods 0.000 claims abstract description 33
- 238000012545 processing Methods 0.000 claims abstract description 19
- 238000002347 injection Methods 0.000 claims description 30
- 239000007924 injection Substances 0.000 claims description 30
- 230000004044 response Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 10
- 230000000875 corresponding effect Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 6
- 239000004744 fabric Substances 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开的实施例涉及一种用于错误检测的方法、电子设备、存储***和计算机程序产品。该用于错误检测的方法包括向存储***的交换机注入表示该存储***的至少一个待测试设备的错误的信息,使得表示该错误的该信息从该交换机的上行端口被传递给与该交换机相连的计算设备,该交换机经由下行端口连接至该至少一个待测试设备。该方法还包括获取该计算设备对表示该错误的该信息的处理结果。该方法还包括至少部分地通过分析该处理结果来确定该存储***的错误处理能力。以此方式,能够对存储***中的***节点的从存储设备、连接器以及CPU级别的整个PCIe拓扑以及NVMe总线进行测试,因此可以在整个错误处理的逻辑路径进行测试。提高了***性能并且节省了用于测试的成本。
Description
技术领域
本公开的实施例总体涉及错误注入领域,更具体地,涉及用于错误检测的方法、电子设备、存储***和计算机程序产品。
背景技术
在服务器和存储行业中,高速外部部件互连(PCIe)总线协议的使用越来越广泛,总线速度越来越快,性能也越来越好。因此对于整个***的稳定性和可靠性要求逐步提高。特别是,对于下一代存储产品,将部署遵循非易失性内存主机控制器接口规范(NVMe)的NVMe盘,并且NVMe依赖于PCIe总线,因此存储行业中PCIe总线的稳定性要求变得更加突出。
为了使***更加稳定,需要对PCIe和NVMe错误源,***行为和错误处理机制进行研究。例如期望能测试存储***的错误处理能力。这可以通过向存储***主动注入错误,并监测存储***对错误的处理能力来实现。基于错误注入的机制能够衡量存储***在错误发生时是否能够正确应对,从而可以执行相应措施来及时修复或改机***的错误处理能力。
发明内容
本公开的实施例涉及一种用于错误检测的方法、电子设备、存储***和计算机程序产品。
在本公开实施例的第一方面,提供了一种用于错误检测的方法。该方法包括向存储***的交换机注入表示该存储***的至少一个待测试设备的错误的信息,使得表示该错误的该信息从该交换机的上行端口被传递给与该交换机相连的计算设备,该交换机经由下行端口连接至该至少一个待测试设备。该方法还包括获取该计算设备对表示该错误的该信息的处理结果。该方法还包括至少部分地通过分析该处理结果来确定该存储***的错误处理能力。
在本公开实施例的第二方面,提供了一种电子设备。该电子设备包括处理器;以及与该处理器耦合的存储器,该存储器保存需要执行的指令,该指令在被处理器执行时使该电子设备执行动作。动作包括向存储***的交换机注入表示该存储***的至少一个待测试设备的错误的信息,使得表示该错误的该信息从该交换机的上行端口被传递给与该交换机相连的计算设备,该交换机经由下行端口连接至该至少一个待测试设备。动作还包括获取该计算设备对表示该错误的该信息的处理结果。该动作还包括至少部分地通过分析该处理结果来确定该存储***的错误处理能力。
在本公开的第三方面,提供一种存储***。该存储***包括至少一个待测试设备和计算设备。该存储***还包括交换机。该交换机经由下行端口连接至少一个待测试设备,并且该交换机经由上行端口连接至该计算设备。该存储***还包括上述第二方面的电子设备。该电子设备与该交换机连接并且将表示该至少一个待测试设备的错误的信息注入该交换机。
在本公开的第四方面,提供一种计算机程序产品,该计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,该机器可执行指令在被执行时使机器执行上述第一方面的方法的步骤。
提供发明内容部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开内容的关键特征或主要特征,也无意限制本公开内容的范围。
附图说明
图1示出了可以在其中实施本公开实施例的示例性运行环境的示意图;
图2示意性示出了根据本公开的实施例的在错误注入模式中的存储***的示例的框图;
图3示意性示出了根据本公开的实施例的在错误注入模式中的存储***的另一示例的框图;
图4示出了根据本公开的实施例的用于错误检测的方法的流程图;以及
图5示出了可以用来实施本公开的实施例的示例设备的框图。
在各个附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
在下文中,将参考附图详细描述本公开的各个示例性实施例。应当注意,这些附图和描述涉及的仅仅是作为示例性的实施例。应该指出的是,根据随后描述,很容易设想出此处公开的结构和方法的替换实施例,并且可以在不脱离本公开要求保护的原理的情况下使用这些替代实施例。
应当理解,给出这些示例性实施例仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。
在此使用的术语“包括”、“包含”及类似术语应该被理解为是开放性的术语,即“包括/包含但不限于”。术语“基于”是“至少部分地基于”。术语“一些实施例”表示“至少一些实施例”;术语“另一实施例”表示“至少一个另外的实施例”。其他术语的相关定义将在下文描述中给出。
图1示出了可以在其中实施本公开实施例的示例性运行环境100的示意图。应当理解,仅出于示例性的目的描述运行环境100的结构和功能,而不暗示对本公开的范围的任何限制。本公开的实施例还可以被应用到具有不同的结构和/或功能的运行环境100中。
如图1所示,在数据运行环境100中部署了用于存储数据的存储设备132-1至132-5。为便于描述,存储设备132-1至132-5有时被统称为或分别称为存储设备132。应当理解,图1中示出的存储设备的数目仅仅是示例性的,而无意限制本公开的范围。
存储设备132可以是非易失性存储设备或存储单元,诸如固态硬盘(SSD)、磁盘等等。存储设备132可以遵循适当的接口规范,例如可以遵循非易失性内存主机控制器接口规范(NVMe)。遵循NVMe接口规范的存储设备132有时可以被称为NVMe设备或NVMe盘。每个存储设备132的存储容量可以是任意大小。
在运行环境100中,计算设备102被配置为控制对存储设备132的输入/输出(I/O)操作。计算设备102有时也可以被称为存储服务器或主机设备。计算设备102可以响应于用户或者其他设备的请求,执行对存储设备132的数据读写操作,并且可以管理存储设备132中的数据访问和存储。
存储设备132(例如存储设备132-3至132-5)可以经由盘簇(JBOD)阵列柜120连接到计算设备102。JBOD有时也称为盘阵列柜(DAE)。JBOD 120是计算设备外部的独立阵列柜,用于支持连接的存储设备与计算设备之间的交互。在一些实施例中,JBOD 120是独立于计算设备102的外部设备,并且可能不具有存储管理或处理功能。
运行环境100包括诸如交换机112。交换机112与存储设备132相连,并且与计算设备102相连。由此,计算设备102可以实现对这些存储设备132的I/O操作控制。
在图1的示例中,交换机可以包括多个下行端口116-1至116-4。该下行端口116-1至116-4可以被视作不同类型的连接器。例如,存储设备132-1可以经由切换卡134-1被连接到交换机112的下行端口116-1,该下行端口116-1例如可以被视作U.2型连接器。存储设备132-3可以经由切换卡134-2被连接到交换机112的下行端口116-2,该下行端口116-2例如可以被视作M.2型连接器。JBOD 120可以经由切换卡134-3被连接到交换机112的下行端口116-3,该下行端口116-3例如可以被视作微型高密度串行连接小型计算机***连接器(MiniSAS HD)。
此外,交换机还可以包括下行端口116-4。该下行端口116-4例如可以被视作高速外部部件互连(PCIe)扩展端口。PCIe卡,例如PCIe主机总线适配器(PCIe HBA)138可以经由切换卡134-4被连接到下行端口116-4。出于示意的目的,图1中仅示出了交换机112的示例下行端口116-1至116-4。然而应理解,可以存在更多的下行端口。
交换机112还包括上行端口114,用于连接到计算设备102。在一些实施例中,该上行端口114例如可以包括不同于上述PCIe扩展端口(PCIe extension)另一种类型PCIe接口,也称作PCIe金手指(PCIe Golden Finger)。此外,在一些实施例中,该上行端口114例如也可以是U.2型连接器。
在一些实施例中,存储设备132与交换机112的互连以及交换机112与计算设备102的互连可以基于总线。当总线为PCIe链路或PCIe总线时,交换机112可以是PCIe交换机。PCIe交换机112可以基于PCIe协议与存储设备132和计算设备102进行通信。
为便于描述,交换机112的下行端口116-1、116-2等有时被统称为或分别称为下行端口116。在本公开中,将交换机与计算设备连接的端口称为上行端口,将交换机与存储设备连接的端口称为下行端口。此处的“上行端口”和“下行端口”无意限定数据的传输方向。换言之,通过下行端口,存储设备可以向交换机发送数据,并且交换机也可以向存储设备发送数据。类似地,通过上行端口,计算设备可以向交换机发送数据,并且交换机也可以向计算设备发送数据。作为交换机,上行端口与下行端口之间按照内部交换结构执行数据通信,以使数据被转发到相应目的地。
在运行环境100的正常操作模式中,如果计算设备102需要执行针对某个存储设备132的I/O操作,来自计算设备102的信息被提供给交换机112的上行端口,并经由交换机112的内部交换结构而被转发到与该存储设备132的下行端口116,从而到达下行端口116被传递到存储设备132。在相反路径上,来自存储设备132的信息(诸如读取的数据、对写请求的响应等)被提供给交换机112的下行端口116,并通过内部交换结构被转发到上行端口114,从而到达相应的计算设备102。
在运行环境100的操作中,存储设备132以及其连接端口、盘簇及其连接端口、PCIe扩展接口和PCIe设备(例如PCIe HBA 138)均可能发生错误,其均有可能在错误注入中被视作待测试的设备。这些设备和端口可能会出现软件和/或硬件级别的错误。错误的出现可能会使得在运行环境100的I/O路径上的信息传输发生错误,例如产生错误信息或者信息无法被传递到目的地。计算设备102通常被配置有相应的错误处理能力,能够检测或校正***中发生的错误。例如,可以在检测到错误发生时,执行相应动作解决错误,或者可以在无法解决错误时发出告警。由于***运行时自主发生的错误是无法预知的,为了测试***的错误处理能力,可以主动向数据存储***注入表示特定错误的信息,并且观察对该错误信息的处理结果。
如以上提及的,期望能够测试或检测存储***的错误处理能力。一种错误处理检测的机制可以基于错误注入来实现。作为存储***的硬件基础设施,存储设备内部或者存储设备的链路可能发生错误。因此,测试存储***如何处理与存储设备相关的错误具有重要意义。通常,存储设备的制造商不提供在存储设备处直接注入错误的方法。因此,无法检测在从存储设备向上直到计算设备这整条I/O路径上传输表示错误的信息时,计算设备是否有能力执行正确的应对措施。这使得对数据存储***的错误处理能力的检测存在困难。
根据本公开的实施例,提出了一种存储管理的方案,以模拟来自存储设备的错误。在该方案中,可以在交换机中注入表示存储***中的设备或端口的错误的信息并将该信息传递给计算设备。通过获取计算设备对表示错误的信息的处理结果,确定存储***的错误处理能力。
通过这种错误注入的方式,可以在由交换机将计算设备与存储设备连接的场景以及由交换机将计算设备与PCIe设备连接的场景中模拟来自底层存储设备的错误,有助于全面检测数据存储***对整个I/O路径错误的处理。此外,这种错误注入方式无需借助专门的错误注入工具,可以被容易地应用于适当的存储***中的设备。
以下将参考附图来详细描述本公开的示例实施例。
图2图示出了根据本公开的一些实施例的在数据存储***处于错误注入模式时的***框图。为便于讨论,参考图1的数据运行环境100来讨论如何实现数据存储***的错误注入。应理解,本公开的实施例的错误注入可以被应用到其他具有双交换机或多交换机的数据存储***中。
在图2中,运行环境100被设置到错误注入模式。在错误注入模式中,控制设备210被配置为向运行环境100注入表示存储设备132的错误的信息202。控制设备202作为错误注入的控制设备,可以独立于运行环境100。控制设备202可以是任何计算设备。表示存储设备132的错误的信息202可以指示存储设备132可能出现的错误。
在一些实施例中,表示错误的信息202可以是在运行环境100中传输的数据包的形式,但数据包中存在错误,这样的错误例如可以是由于存储设备内部故障导致(例如,存储数据错误)或者是由于存储设备的错误链接导致(例如,错误的事务层数据包(TLP))。
此外,在一些实施例中,表示错误的信息202还可以是PCIe可校正错误(PCIecorrectable error),该错误应当能够自动地被硬件识别并被自动地校正和恢复。应当理解,表示错误的信息202可以表示在测试运行环境100的错误处理能力时任何可能在存储设备阵列处产生的错误。表示错误的信息202可以通过预先被设计,例如可以由检测人员根据测试需要而生成。
根据本公开的实施例,如图2所示,表示错误的信息202被注入交换机112。控制设备210可以在需要执行错误注入时被连接到交换机112。控制设备210与交换机112的连接可以是支持两者通信的任何连接。在一些实施例中,控制设备210可以经由通用异步收发器(UART)接口(有时也被称为串口)或通过以太网(Ethernet)电缆被连接到交换机112,以向交换机112注入表示错误的信息202。
为了使表示错误的信息202能够被传递到计算设备104,根据本公开的实施例,交换机112下行端口与上行端口114被连接。在图2的示例中,出于解释说明的目的,示例性示出交换机112的下行端口116-1和上行端口114被连接。在正常操作中,下行端口116-1和上行端口114分别连接到存储设备132-1和计算设备104,但两者之间并不互连,但在错误注入模式中,这两个下行端口被连接。这例如可以通过将存储设备132-1的切换卡134-1连接到上行端口114的链路短接来实现。
在一些实施例中,在由图2示出的错误注入的场景下,该下行端口116-1例如可以是U.2型连接器,上行端口114例如也可以是U.2型连接器。
在一些实施例中,在注入表示错误的信息202时,控制设备210可以将表示错误的信息202注入到下行端口116-1。由于下行端口116-1与上行端口114的连接,错误的信息202因此可以经由交换机122的内部交换结构被传递给上行端口114,从而被计算设备104接收。图2中用实线箭头指示了表示错误的信息202的传递路径。
通过交换机的端口连接,从计算设备104来看,错误的信息204被认为是从存储设备132-1经由完整的计算设备-交换机-存储设备的I/O路径被接收到。这模拟了在存储设备产生的错误的完整行进路线。在存储***中,取决于计算设备104的能力,计算设备104可能采取相应动作来处理表示错误的信息202。通过模拟来自存储设备的错误,可以更好地测试在错误发生时,运行环境100中对错误的完整处理逻辑。
在一些实施例中,为了错误注入和检测的目的,可以配置使得计算设备104执行与下行端口116-1相连的存储设备132-1的I/O操作,以将表示错误的信息202传递到计算设备104。由此,可以更好地模拟在数据运行环境100正在运行I/O操作时的错误处理能力。这样的配置可以从控制设备210向计算设备104发出相关配置的控制指示,或者可以直接配置计算设备104来实现。
在一些实施例中,可以由用户指定表示错误的信息202如何注入。例如,用户可以经由控制设备210或者通过其他方式指定要执行测试的存储设备,从而指定从存储设备开始到计算设备104的I/O路径。用户可以通过手动将下行端口与上行端口相连来实现对要测试的I/O路径的指定。由此,相比于使用专门仪器的错误注入,可以实现更灵活的用户定制化错误注入。
在一些实施例中,以由用户指定表示错误的信息202的类型,例如在图2示出的场景下,表示错误的信息202可以是上文所提到的表示存储设备132的错误的信息,也可以是表示PCIe总线错误的信息,例如在前文所提及的PCIe可校正错误。
为了监测错误注入的结果,控制设备210可以获得计算设备104对所注入的表示错误的信息的处理结果,从而确定运行环境100的错误处理能力。处理结果可以指示计算设备104是否有能力正确检测错误和/或是否能够校正错误。在一些实施例中,如果确定表示错误的信息202未被检测或者未被正确校正,还可以提供报警提示,以促进对数据运行环境100的错误处理能力进行改进。
尽管在图2中示出了针对存储设备132可能出现的错误的测试,应当理解,这样的错误注入测试也可以被应用在运行环境100中的其他设备之间。当针对不同的测试设备进行错误注入和测试时,交换机112的上行端口和下行端口的类型可以不同。
图3示意性示出了根据本公开的实施例的在错误注入模式中的存储***的另一示例的框图。
与图2示出的场景类似的,控制设备210向交换机112注入表示错误的信息202。为了使表示错误的信息202能够被传递到计算设备104,交换机112的下行端口116-1和上行端口114被连接。
与图3的区别在于,所注入的表示错误的信息202是表示PCIe HBA 138可能出现的错误的信息。在注入表示错误的信息202时,控制设备210可以将表示错误的信息202注入到下行端口116-1。示例性的,下行端口116-1可以与下行端口116-4连接,错误的信息202因此可以经由交换机122的内部交换结构被传递给下行端口116-4,并且进而传递给上行端口114,从而被计算设备104接收。图3中用实线箭头指示了表示错误的信息202的传递路径。
在由图2示出的错误注入的场景下,该下行端口116-1例如可以是U.2型连接器,下行端口116-1例如可以是PCIe扩展端口,而上行端口114例如也可以是PCIe金手指。
应当理解,针对不同的待测试设备,控制设备210能够注入不同类型的表示错误的信息。而待测试设备和处理错误的计算设备与交换机的连接可能经由多种不同的上/下行端口。在下表中列出了上行端口与下行端口的多种可能的应用模式。
表1:上/下行端口应用模式
图4示出了根据本公开的一些实施例的用于错误注入的方法400的流程图。方法400可以被实现在图2的控制设备210处。为便于说明,参考图2来描述方法400。
在框410,控制设备210向存储***的交换机注入表示该存储***的至少一个待测试设备的错误的信息,使得表示该错误的该信息从该交换机的上行端口被传递给与该交换机相连的计算设备,该交换机经由下行端口连接至该至少一个待测试设备。在框420,控制设备210获取该计算设备对表示该错误的该信息的处理结果。在框430,控制设备210至少部分地通过分析该处理结果来确定该存储***的错误处理能力。
在一些实施例中,注入表示所述错误的所述信息包括:在下行端口处注入表示错误的信息;以及使计算设备执行存储***中与下行端口相连的存储设备的I/O操作,以将表示错误的信息传递到所述计算设备。
在一些实施例中,信息响应于用户输入而被注入。
在一些实施例中,交换机是高速外部部件互连(PCIe)交换机。
在一些实施例中,至少一个待测试设备包括存储***的存储设备、高速外部部件互连(PCIe)设备、U.2型连接器M.2型连接器以及MINISASHD中的至少一项。
通过结合图2至图4描述的错误注入的方式,能够对存储***中的***节点的从存储设备、连接器以及CPU级别的整个PCIe拓扑进行测试,因此可以在整个错误处理的逻辑路径进行测试。提高了***性能并且节省了用于测试的成本。
图5示出了可以用来实施本公开的实施例的示例设备500的示意性框图。设备500可以被实现为或者被包括于图2的计算设备102、或控制设备210。
如图所示,设备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通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元501执行上文所描述的各个方法和处理,例如方法400。例如,在一些实施例中,方法400可被实现为计算机软件程序或计算机程序产品,其被有形地包含于机器可读介质,诸如非瞬态计算机可读介质,诸如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到RAM 503并由CPU 501执行时,可以执行上文描述的方法400的一个或多个步骤。备选地,在其他实施例中,CPU 501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法400。
本领域的技术人员应当理解,上述本公开的方法的各个步骤可以通过通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本公开不限制于任何特定的硬件和软件结合。
应当理解,尽管在上文的详细描述中提及了设备的若干装置或子装置,但是这种划分仅仅是示例性而非强制性的。实际上,根据本公开的实施例,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
以上所述仅为本公开的可选实施例,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本公开的保护范围之内。
Claims (16)
1.一种用于错误检测的方法,包括:
向存储***的交换机注入表示所述存储***的至少一个待测试设备的错误的信息,使得表示所述错误的所述信息从所述交换机的上行端口被传递给与所述交换机相连的计算设备,所述交换机经由下行端口连接至所述至少一个待测试设备;
获取所述计算设备对表示所述错误的所述信息的处理结果;以及
至少部分地通过分析所述处理结果来确定所述存储***的错误处理能力。
2.根据权利要求1所述的方法,其中所述注入表示所述错误的所述信息包括:
在所述下行端口处注入表示所述错误的所述信息;以及
使所述计算设备执行所述存储***中与所述下行端口相连的存储设备的I/O操作,以将表示所述错误的所述信息传递到所述计算设备。
3.根据权利要求1所述的方法,其中所述信息响应于用户输入而被注入。
4.根据权利要求1所述的方法,其中交换机是高速外部部件互连(PCIe)交换机。
5.根据权利要求1所述的方法,其中所述至少一个待测试设备包括以下中的至少一项:
存储***的存储设备,
高速外部部件互连(PCIe)设备,
U.2型连接器,
M.2型连接器,以及
微型高密度串行连接小型计算机***连接器(MINISASHD)。
6.根据权利要求1所述的方法,其中所述错误可以包括以下中的至少一项:
高速外部部件互连(PCIe)可纠正错误;以及
存储***的存储设备的媒体错误。
7.根据权利要求1所述的方法,其中所述上行端口与所述下行端口在错误注入模式中被连接。
8.一种电子设备,包括:
处理器;以及
与所述处理器耦合的存储器,所述存储器保存需要执行的指令,所述指令在被处理器执行时使所述电子设备执行动作,所述动作包括:
向所述存储***的交换机注入表示所述存储***的至少一个待测试设备的错误的信息,使得表示所述错误的所述信息从所述交换机的上行端口被传递给与所述交换机相连的计算设备,所述交换机经由下行端口连接至所述至少一个待测试设备;以及
获取所述计算设备对表示所述错误的所述信息的处理结果;以及
至少部分地通过分析所述处理结果来来确定所述存储***的错误处理能力。
9.根据权利要求8所述的设备,其中注入表示所述错误的所述信息包括:
在所述下行端口处注入表示所述错误的所述信息;以及
使得所述计算设备执行所述存储***中与所述下行端口相连的存储设备的I/O操作,以将表示所述错误的所述信息传递到所述计算设备。
10.根据权利要求8所述的设备,所述信息响应于用户输入而被注入。
11.根据权利要求8所述的设备,其中所述交换机是高速外部部件互连(PCIe)交换机。
12.根据权利要求8所述的设备,其中所述至少一个待测试设备包括以下中的至少一项:
存储***的存储设备,
高速外部部件互连(PCIe)设备,
U.2型连接器,
M.2型连接器,以及
微型高密度串行连接小型计算机***连接器(MINISASHD)。
13.根据权利要求8所述的设备,其中所述错误可以包括以下中的至少一项:
高速外部部件互连(PCIe)可纠正错误,以及
存储***的存储设备的媒体错误。
14.根据权利要求8所述的设备,其中所述上行端口与所述下行端口在错误注入模式中被连接。
15.一种存储***,包括:
至少一个待测试设备;
计算设备;
交换机,所述交换器经由下行端口连接至少一个待测试设备,并且所述交换机经由上行端口连接至所述计算设备;以及
根据权利要求8-14中任一项所述的电子设备,所述电子设备与所述交换机连接并且将表示所述至少一个待测试设备的错误的信息注入所述交换机。
16.一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,所述计算机可执行指令在被执行时使设备根据权利要求1-7中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910701346.7A CN112306766A (zh) | 2019-07-31 | 2019-07-31 | 用于错误检测的方法、电子设备、存储***和计算机程序产品 |
US16/846,820 US11748218B2 (en) | 2019-07-31 | 2020-04-13 | Methods, electronic devices, storage systems, and computer program products for error detection |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910701346.7A CN112306766A (zh) | 2019-07-31 | 2019-07-31 | 用于错误检测的方法、电子设备、存储***和计算机程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112306766A true CN112306766A (zh) | 2021-02-02 |
Family
ID=71732520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910701346.7A Pending CN112306766A (zh) | 2019-07-31 | 2019-07-31 | 用于错误检测的方法、电子设备、存储***和计算机程序产品 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11748218B2 (zh) |
CN (1) | CN112306766A (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10922203B1 (en) * | 2018-09-21 | 2021-02-16 | Nvidia Corporation | Fault injection architecture for resilient GPU computing |
US10644954B1 (en) | 2019-05-10 | 2020-05-05 | Capital One Services, Llc | Techniques for dynamic network management |
US20210200611A1 (en) * | 2019-12-30 | 2021-07-01 | Capital One Services, Llc | Techniques for utilizing disruptions to enterprise systems |
CN113190167A (zh) | 2020-01-14 | 2021-07-30 | 伊姆西Ip控股有限责任公司 | 用于管理计算设备的方法、电子设备和计算机存储介质 |
US11500717B2 (en) | 2020-07-23 | 2022-11-15 | EMC IP Holding Company LLC | Method for detecting data storage system, device and data storage system |
CN112711503B (zh) * | 2020-12-28 | 2024-03-26 | 北京同有飞骥科技股份有限公司 | 一种基于飞腾2000+cpu的存储测试方法 |
CN113254289B (zh) * | 2021-06-11 | 2021-10-15 | 武汉卓目科技有限公司 | 基于NVMe磁盘阵列的单机测试方法、装置及*** |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6182248B1 (en) * | 1998-04-07 | 2001-01-30 | International Business Machines Corporation | Method and tool for computer bus fault isolation and recovery design verification |
US6560720B1 (en) * | 1999-09-09 | 2003-05-06 | International Business Machines Corporation | Error injection apparatus and method |
US20050125189A1 (en) * | 2003-12-08 | 2005-06-09 | Clegg Roger T. | Method to provide external observability when embedded firmware detects predefined conditions |
US20070234118A1 (en) * | 2006-03-30 | 2007-10-04 | Sardella Steven D | Managing communications paths |
CN102571498A (zh) * | 2012-02-09 | 2012-07-11 | 华为技术有限公司 | 故障注入控制方法和装置 |
CN103001808A (zh) * | 2012-12-24 | 2013-03-27 | 上海斐讯数据通信技术有限公司 | 一种端口故障检测交换机及实现方法 |
CN204965090U (zh) * | 2015-08-31 | 2016-01-13 | 中国人民解放军63908部队 | 集成多种故障类型的智能化故障注入*** |
CN106357462A (zh) * | 2016-10-28 | 2017-01-25 | 北京润科通用技术有限公司 | 故障注入方法、芯片和设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6490544B1 (en) | 2000-02-04 | 2002-12-03 | Hewlett-Packard Company | System for testing a multi-tasking computing device |
US6647516B1 (en) | 2000-04-19 | 2003-11-11 | Hewlett-Packard Development Company, L.P. | Fault tolerant data storage systems and methods of operating a fault tolerant data storage system |
US6886116B1 (en) | 2001-07-26 | 2005-04-26 | Emc Corporation | Data storage system adapted to validate error detection logic used in such system |
US7020803B2 (en) | 2002-03-11 | 2006-03-28 | Hewlett-Packard Development Company, Lp. | System and methods for fault path testing through automated error injection |
US10764611B2 (en) * | 2016-08-30 | 2020-09-01 | Disney Enterprises, Inc. | Program verification and decision system |
US10255172B1 (en) | 2016-09-30 | 2019-04-09 | EMC IP Holding Company LLC | Controlled testing using code error injection |
CN111858222A (zh) * | 2019-04-30 | 2020-10-30 | 伊姆西Ip控股有限责任公司 | 错误注入的方法、设备、数据存储***和程序产品 |
-
2019
- 2019-07-31 CN CN201910701346.7A patent/CN112306766A/zh active Pending
-
2020
- 2020-04-13 US US16/846,820 patent/US11748218B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6182248B1 (en) * | 1998-04-07 | 2001-01-30 | International Business Machines Corporation | Method and tool for computer bus fault isolation and recovery design verification |
US6560720B1 (en) * | 1999-09-09 | 2003-05-06 | International Business Machines Corporation | Error injection apparatus and method |
US20050125189A1 (en) * | 2003-12-08 | 2005-06-09 | Clegg Roger T. | Method to provide external observability when embedded firmware detects predefined conditions |
US20070234118A1 (en) * | 2006-03-30 | 2007-10-04 | Sardella Steven D | Managing communications paths |
CN102571498A (zh) * | 2012-02-09 | 2012-07-11 | 华为技术有限公司 | 故障注入控制方法和装置 |
CN103001808A (zh) * | 2012-12-24 | 2013-03-27 | 上海斐讯数据通信技术有限公司 | 一种端口故障检测交换机及实现方法 |
CN204965090U (zh) * | 2015-08-31 | 2016-01-13 | 中国人民解放军63908部队 | 集成多种故障类型的智能化故障注入*** |
CN106357462A (zh) * | 2016-10-28 | 2017-01-25 | 北京润科通用技术有限公司 | 故障注入方法、芯片和设备 |
Also Published As
Publication number | Publication date |
---|---|
US20200241985A1 (en) | 2020-07-30 |
US11748218B2 (en) | 2023-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112306766A (zh) | 用于错误检测的方法、电子设备、存储***和计算机程序产品 | |
US7843836B2 (en) | Systems, methods and computer program products for controlling high speed network traffic in server blade environments | |
EP2696534B1 (en) | Method and device for monitoring quick path interconnect link | |
CN101385276A (zh) | 用于对通信链路上的错误进行评估的设备、***和方法 | |
US5220567A (en) | Signature detecting method and apparatus for isolating source of correctable errors | |
US10235278B2 (en) | Software testing using statistical error injection | |
US20070183337A1 (en) | FC-AL cabling management system | |
CN111858222A (zh) | 错误注入的方法、设备、数据存储***和程序产品 | |
CN112527582A (zh) | 服务器线缆的检测方法、检测装置、检测设备及存储介质 | |
US20140032967A1 (en) | Sas self-test operations | |
US7925728B2 (en) | Facilitating detection of hardware service actions | |
CN109885420B (zh) | 一种PCIe链路故障的分析方法、BMC及存储介质 | |
US7168029B2 (en) | Method for testing a universal serial bus host controller | |
CN115951266A (zh) | 一种计算*** | |
CN116501536A (zh) | Axi互连模块检查、校验与保护方法、装置及存储介质 | |
US20080168161A1 (en) | Systems and methods for managing faults within a high speed network employing wide ports | |
US7000170B2 (en) | Method and apparatus for generating CRC/parity error in network environment | |
JP2003167796A (ja) | ファイバーチャネルに接続されるデバイス、及びこのデバイスのマージンテスト方法、並びに、ファイバーチャネルに接続されるデバイスを有するシステムの障害部位特定方法 | |
CN115729872A (zh) | 一种计算设备及pcie线缆连接的检测方法 | |
CN111367838B (zh) | 用于检测数据存储***的方法、设备和数据存储*** | |
JP2022061792A (ja) | 情報処理装置制御プログラム、情報処理装置制御方法及び情報処理装置 | |
US11500717B2 (en) | Method for detecting data storage system, device and data storage system | |
CN112100109B (zh) | 一种线缆连接容错连接装置及方法 | |
CN118051375B (zh) | 用于计算设备间直连链路的故障诊断的方法和*** | |
CN115955416A (zh) | 测试upi降带宽的方法、装置、设备及存储介质 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210202 |
|
WD01 | Invention patent application deemed withdrawn after publication |