CN110134572B - 验证存储系统中的数据 - Google Patents

验证存储系统中的数据 Download PDF

Info

Publication number
CN110134572B
CN110134572B CN201810104857.6A CN201810104857A CN110134572B CN 110134572 B CN110134572 B CN 110134572B CN 201810104857 A CN201810104857 A CN 201810104857A CN 110134572 B CN110134572 B CN 110134572B
Authority
CN
China
Prior art keywords
host
data
storage system
storage
test
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
CN201810104857.6A
Other languages
English (en)
Other versions
CN110134572A (zh
Inventor
刘友生
杨利锋
贾瑞勇
徐鑫磊
高健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN201810104857.6A priority Critical patent/CN110134572B/zh
Priority to US16/265,113 priority patent/US11217324B2/en
Publication of CN110134572A publication Critical patent/CN110134572A/zh
Application granted granted Critical
Publication of CN110134572B publication Critical patent/CN110134572B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair

Abstract

一种在验证存储系统中的数据中使用的方法。该方法在主机I/O操作的处理期间将主机数据写入到存储系统,其中主机与存储系统通信。存储系统将主机数据以及与主机数据相关联的测试数据写入到存储系统的存储设备。该方法从存储设备读取主机数据和测试数据以用于验证主机数据,并且评估测试数据以确定主机数据是否已经由存储系统正确地写入到存储设备。在确定由于故障而导致主机数据尚未由存储系统正确地写入到存储设备时,该方法评估测试数据以确定故障的原因。

Description

验证存储系统中的数据
技术领域
本申请涉及验证存储系统中的数据。
背景技术
计算机系统可以包括由一个或多个主机处理器使用的不同的资源。计算机系统中的资源和主机处理器可以通过一个或多个通信连接而相互连接。这些资源可以包括例如数据存储设备,诸如被包括在由EMC公司制造的数据存储系统中的那些数据存储设备。这些数据存储系统可以被耦合到一个或多个主机处理器并且将存储服务提供到每个主机处理器。来自一个或多个不同的供应商的多个数据存储系统可以被连接并且可以为计算机系统中的一个或多个主机处理器提供共同数据存储。
主机处理器可以使用数据存储系统来执行各种数据处理任务和操作。例如,主机处理器可以结合数据请求执行基本系统输入/输出(I/O)操作,诸如数据读取和写入操作。
主机处理器系统可以使用包含多个主机接口单元、盘驱动器和盘接口单元的存储设备来存储并且取回数据。这样的存储设备例如由马萨诸塞州的霍普金顿的EMC公司提供。主机系统通过与其提供的多个信道来访问存储设备。主机系统通过信道将数据和访问控制提供到存储设备,并且存储系统还通过信道将数据提供到主机系统。主机系统未直接地寻址存储设备的盘驱动器,相反,访问对于主机系统什么看起来作为逻辑盘单元、逻辑设备或者逻辑卷的内容。逻辑磁盘单元可以对应或可以不对应于实际的盘驱动器。允许多个主机系统访问单个存储设备单元允许主机系统共享存储在其中的数据。
结合数据存储,可以使用各种不同的技术。数据可以被存储例如在不同类型的盘设备和/或闪速存储器设备上。数据存储环境可以定义多个存储层,其中每个层包括具有不同技术的物理设备或者驱动器。数据存储系统(诸如数据存储阵列(或者“存储阵列”))的物理设备可以被用于存储用于多个应用的数据。
数据存储系统是硬件和软件的布置,其通常包括耦合到非易失性存储设备(诸如磁盘驱动器、电子闪存驱动器和/或光学驱动器)的阵列的多个存储处理器。存储处理器服务来自主机的I/O操作。接收到的I/O操作指定待写入、读取、创建或者删除的存储对象。存储处理器运行软件,软件管理输入I/O操作并且执行各种数据处理任务以组织并且保护被存储在非易失性存储设备上的主机数据。
发明内容
根据本发明的一个方面是一种在验证存储系统中的数据中使用的方法。该方法在主机I/O操作的处理期间将主机数据写入到存储系统,其中主机与存储系统通信。该方法将主机数据以及与主机数据相关联的测试数据写入到存储系统的存储设备。该方法从存储设备读取主机数据和测试数据以用于验证主机数据,并且评估测试数据以确定主机数据是否已经由存储系统正确地写入到存储设备。
根据本发明的另一方面,一种在验证存储系统中的数据时使用的系统。该系统包括处理器,处理器被配置为在主机I/O操作的处理期间将主机数据写入到存储系统,其中主机与存储系统通信。系统将主机数据以及与主机数据相关联的测试数据写入到存储系统的存储设备。系统从存储设备读取主机数据和测试数据以用于验证主机数据,并且评估测试数据以确定主机数据是否已经由存储系统正确地写入到存储设备。
根据本发明的另一方面,一种包括计算机可读介质的计算程序产品,计算机可读介质被编码有计算机可执行程序代码。代码实现跨一个或多个处理器的执行以用于验证存储系统中的数据。代码在主机I/O操作的处理期间将主机数据写入到存储系统,其中主机与存储系统通信。代码将主机数据以及与主机数据相关联的测试数据写入到存储系统的存储设备。代码从存储设备读取主机数据和测试数据以用于验证主机数据,并且评估测试数据以确定主机数据是否已经由存储系统正确地写入到存储设备。
附图说明
本技术的特征和优点将从结合附图理解的其示例性实施例的以下详细描述变得更明显,在附图中:
图1是根据本公开的实施例的计算机系统的简化示图。
图2是根据本公开的实施例的将存储系统设定在测试模式中的示例过程。
图3是根据本公开的实施例的用于验证存储系统中的数据的示例过程。
图4是根据本公开的实施例的示例扇区数据布局。
图5是图示可以结合在此所公开的技术一起使用的过程的流程图。
具体实施方式
下面描述了用于在验证存储系统中的数据时使用的技术,该技术可以至少被用于在主机I/O操作的处理期间将主机数据写入到存储系统,其中主机与存储系统通信,将主机数据以及与主机数据相关联的测试数据写入到存储系统的存储设备,从存储设备读取主机数据和测试数据以用于验证主机数据,并且评估测试数据以确定主机数据是否已经由存储系统正确地写入到存储设备。
如在此所描述的,在存储系统中,主机例如通过执行在主机上运行的数据验证测试来执行数据验证测试,并且验证由存储系统写入的数据的正确性。主机将数据写入到存储系统,并且然后从存储系统读取数据。将读取的数据与写入的数据相比较。如果它们其相同,则测试已经成功,并且系统前进到下一测试。如果读取的数据与写入的数据不相同,则测试已经发生故障,测试过程报告故障,并且测试过程停止。
在传统的技术中,数据验证测试仅能标识从存储系统的存储设备读取的数据和写入到存储设备的数据的比较是否失败,但是除了向主机报告比较已经失败之外不能分析这样的故障的原因。在这样的传统的系统中,在数据验证测试期间,主机数据从主机被接收并且被写入到存储系统,并且被存储在存储系统中,但是存储系统和高速缓存二者都不产生与数据验证测试有关的任何数据。因此,没有测试故障数据由存储系统和/或高速缓存模块或者存储系统的任何其他模块来提供。
传统的技术不能定位故障的原因。传统的技术利用随机数据来填充所有数据字段,并且不能提供与存储系统的内部状态相关联的数据。传统的技术不能提供与故障的历史相关联的数据。传统地,当数据验证测试故障发生时,例如,当主机写入操作不正确地写入主机数据时,测试故障不仅仅在一个位置处发生。常常地,一个测试故障引起一系列后续故障,诸如当主机数据的长度不正确地写入到存储系统时。因此,单个不匹配可能引起整个扇区不正确地写入数据。
标识数据验证故障的传统技术降低了性能。例如,将跟踪日志添加在I/O路径中以记录和保存I/O处理历史降低了性能,并且如果跟踪日志在故障发生之后被添加,则不能再现必要的数据。避免添加跟踪日志的传统技术涉及将主机设置到错误上的应急。然而,应急仅在应急发生时保存存储系统的状态;应急未保存处理历史。此外,在故障之后由主机触发的应急可能未在故障时采集高速缓存模块的内部状态,因为状态可能在主机使存储系统应急时发生改变。
相比之下,在根据如在此所描述的技术的至少一些实现中,存储关于存储系统的内部状态以及关于在从主机接收到的主机I/O操作期间发生的各种事件的历史的信息,使得存储系统和主机能够有效地验证被写入到存储系统的主机数据是否已经正确地被写入。在根据如在此所描述的技术的至少一些实现中,关于从主机接收到的主机数据的信息(例如,元数据)在这些事件中的至少一个事件期间被写入到主机专用字段和存储专用字段:1)当主机将主机数据写入到存储系统时以及2)当存储系统的内部状态改变时。此外,在根据如在此所描述的技术的至少一些实现中,从存储系统读取并且被提供到主机的主机数据包括主机专用字段信息,其然后由主机验证而不是比较如在传统的系统中比较主机数据本身。而且,在根据如在此所描述的技术的至少一些实现中,如果主机专用字段信息的验证失败,则故障的原因可能通过评估与这样的主机数据相关联的存储系统专用信息而被有效地确定。因此,当前技术不仅测试被存储在存储系统上的数据的正确性,而且当数据不正确地被写入到存储系统时,使得存储系统能够高效地定位故障的原因。
在根据如在此所描述的当前技术的至少一些实现中,验证存储系统中的数据技术的使用可以提供以下优点中的一个或多个优点:通过高效地标识在将主机数据写入到存储系统时发生的故障来改进数据存储系统的效率;通过提供标识在将主机数据写入到存储系统时发生的故障的原因的能力来提高性能;以及通过存储内部高速缓存状态和用于分析故障的原因的事件历史来提高存储系统的诊断能力。
与传统的技术相反,在根据如在此所描述的当前技术的至少一些实现中,一种方法验证存储系统中的数据。该方法在主机I/O操作的处理期间将主机数据写入到存储系统,其中主机与存储系统通信。存储系统将主机数据以及与主机数据相关联的测试数据写入到存储系统的存储设备。方法从存储设备读取主机数据和测试数据以用于验证主机数据,并且评估测试数据以确定主机数据是否已经由存储系统正确地写入到存储设备。
在当前技术的示例实施例中,测试数据包括主机专用信息和存储系统专用信息。
根据当前技术的示例实施例中,主机专用信息包括关于主机I/O操作的信息,其中信息在主机I/O操作的执行期间主机数据由存储系统处理时被写入。
在当前技术的示例实施例中,存储系统专用信息包括关于存储系统部件的内部状态的信息以及关于在存储系统中的I/O操作的处理期间发生的事件集合的历史信息,其中存储系统专用信息在主机数据由存储系统从存储设备读取时被写入。
在当前技术的示例实施例中,在确定由于故障而导致主机数据尚未由存储系统正确地写入到存储设备时,方法评估测试数据以确定故障的原因。
在当前技术的示例实施例中,当方法评估测试数据以确定主机数据是否已经由存储系统正确地写入到存储设备时,方法将测试数据的主机专用信息与从存储设备读取的主机数据和测试数据相比较。
在当前技术的示例实施例中,与主机数据相关联的测试数据包括与主机写入I/O操作和主机读取I/O操作中的至少一个相关联的历史。
在当前技术的示例实施例中,方法将测试发起命令从主机传输到存储系统。作为响应,方法由主机从存储系统接收对测试发起命令的确认。响应于确认,方法将存储系统转换到测试模式中,在测试模式中,存储系统除了写入与主机I/O操作相关联的主机数据之外,还写入测试数据。
在当前技术的示例实施例中,方法将主机数据和测试数据存储在存储系统的存储设备的存储扇区上。
现在参考图1,示出了可以结合执行在此所描述的(一个或多个)技术一起使用的计算机系统的实施例的示例。计算机系统10包括一个或多个数据存储系统12,其通过通信介质18被连接到主机系统14a-14n。系统10还包括管理系统16,其通过通信介质20被连接到一个或多个数据存储系统12。在计算机系统10的该实施例中,管理系统16和N个服务器或者主机14a-14n可以例如在执行输入/输出(I/O)操作、数据请求以及其他操作时访问数据存储系统12。通信介质18可以是各种网络或其他类型的通信连接中的任何一种或多种,如本领域的技术人员已知的。通信介质18和20中的每个通信介质可以是网络连接、总线和/或其他类型的数据链路(诸如本领域中已知的硬连线或其他连接)。例如,通信介质18可以是因特网、内联网、网络或其他无线或其他(一个或多个)硬连线连接,主机系统14a-14n可以通过通信介质访问并且与数据存储系统12通信,并且还可以与可以被包括在计算机系统10中的其他部件(未示出)通信。在至少一个实施例中,通信介质20可以是LAN连接,并且通信介质18可以是iSCSI或光纤信道连接。
被包括在计算机系统10中的主机系统14a-14n和数据存储系统12中的每一个可以通过如可以根据通信介质18的类型提供并且支持的各种连接中的任一种而被连接到通信介质18。类似地,管理系统16可以通过根据通信介质20的类型的各种连接中的任一种而被连接到通信介质20。被包括在主机计算机系统14a-14n和管理系统16中的处理器可以是各种专有或可商购的单处理器系统或多处理器系统中的任一个,诸如基于Intel的处理器或者能够根据每个特定实施例和应用支持业务的其他类型的可商购的处理器。
应当注意,在此更详细地描述可以被包括在数据存储系统12中的硬件和软件的特定示例,并且可以随着每个特定实施例而变化。主机计算机14a-14n、管理系统16和数据存储系统中的每一个可以全部被定位在相同物理地点处,或者备选地还可以被定位在不同的物理位置中。结合通信介质18和20,可以使用各种不同的通信协议(诸如SCSI、光纤信道、iSCSI、FCoE等)。主机、管理系统和数据存储系统可以被连接到其相应的通信介质所通过的一些或全部连接可以穿过其他通信设备,诸如可以存在的Connectrix或者其他交换设备(诸如电话线、中继器、多路复用器或甚至卫星)。在至少一个实施例中,主机可以通过iSCSI或光纤通信连接与数据存储系统通信,并且管理系统可以通过使用TCP/IP的分离的网络连接与数据存储系统通信。应当注意,虽然图1图示了主机与数据存储系统之间的通信通过第一连接,并且管理系统与数据存储系统之间的通信通过第二不同的连接,但是实施例还可以使用相同的连接。特定类型和数目的连接可以根据每个实施例的细节而变化。
主机计算机系统中的每一个可以根据不同的类型的任务执行不同的类型的数据操作。在图1的实施例中,主机计算机14a-14n中的任一个可以将数据请求发布到数据存储系统12以执行数据操作。例如,在主机计算机14a-14n中的一个上执行的应用可以执行导致对数据存储系统12的一个或多个数据请求的读取或者写入操作。
管理系统16可以结合数据存储系统12的管理一起使用。管理系统16可以包括硬件和/或软件部件。管理系统16可以包括一个或多个计算机处理器,其连接到一个或多个I/O设备(诸如例如显示器或其他输出设备)和输入设备(诸如例如键盘、鼠标等)。数据存储系统管理器可以例如查看关于管理系统16的显示设备上的当前存储卷配置的信息。管理器还可以例如通过使用管理软件定义逻辑定义设备的逻辑分组(在本文其他地方被称为存储组(SG))来对数据存储系统进行配置,并且限制对逻辑组的访问。
应当注意,虽然元件12被图示为单个数据存储系统(诸如单个数据存储阵列),元件12还可以单独或组合其他数据存储设备、系统、设备和/或具有适合的连接性的部件表示多个数据存储阵列(诸如在SAN中,在使用在此技术的实施例中)。还应当注意,实施例可以包括来自一个或多个供应商的数据存储阵列或者其他部件。在图示在此技术的后续示例中,可以通过供应商(诸如通过马萨诸塞州的霍普金顿的Dell EMC)对单个数据存储阵列进行参考。然而,如本领域的技术人员将理解到,在此技术适于与由其他供应商的其他数据存储阵列一起使用,并且与除了出于示例的目的如在此所描述的其他部件一起使用。
数据存储系统12的实施例可以包括一个或多个数据存储系统。数据存储系统中的每个数据存储系统可以包括一个或多个数据存储设备(诸如盘)。一个或多个数据存储系统可以由一个或多个不同的供应商来制造。被包括在12中的数据存储系统中的每个数据存储系统可以相互连接(未示出)。此外,数据存储系统还可以通过可以随着每个特定实施例变化的任何一个或多个通信连接以及根据在特定实施例中使用的不同的协议的设备而被连接到主机系统。所使用的通信连接的类型可以随着某些系统参数和要求(诸如与根据如可以由主机计算机系统发出例如到数据存储系统12的I/O请求的速率所要求的带宽和吞吐量有关的那些系统参数和要求)而变化。
应当注意,数据存储系统中的每个数据存储系统可以独立操作,或者还可以被包括为包括例如其他部件(诸如其他数据存储系统)的存储区域网络(SAN)的一部分。
元件12的数据存储系统中的每个数据存储系统可以包括多个盘设备或卷。出于说明的目的,如在此所描述的特定数据存储系统和示例不应当被解释为限制。其他类型的可商购的数据存储系统以及处理器和控制对这些特定设备的访问的硬件也可以被包括在实施例中。
服务器或主机系统(诸如14a-14n)通过信道将数据和访问控制信息提供到存储系统,并且存储系统还通过信道还将数据提供到主机系统。主机系统未直接地寻址存储系统的磁盘驱动器,而是相反对数据的访问可以从主机系统视为多个逻辑设备或逻辑卷的内容被提供到一个或多个主机系统。逻辑卷可以或可以不对应于实际的盘驱动器。例如,一个或多个逻辑卷可以驻留在单个物理盘驱动器上。单个存储系统中的数据可以由允许主机共享驻留在其中的数据的多个主机来访问。LUN(逻辑单元号)可以被用于指代前述逻辑定义设备或卷之一。由存储阵列保持的地址映射可以将主机系统逻辑地址与物理设备地址相关联。
在其中图1的元件12使用一个或多个数据存储系统被实现的这样的实施例中,数据存储系统中的每个数据存储系统可以在其上包括用于执行如在此所描述的技术的代码。在以下段落中,可以对特定实施例(诸如例如在其中图1的元件12包括单个数据存储系统、多个数据存储系统、具有多个存储处理器的数据存储系统等的实施例)进行参考。然而,本领域的技术人员将理解到,这出于图示的目的并且不应当被解释为对在此技术的限制。如本领域的技术人员将理解到,数据存储系统12还可以包括除了如出于图示在此技术的目的所描述的部件之外的其他部件。
图2是将存储系统放置在测试模式中以验证存储系统中的数据的示例过程。在测试模式期间,除了将由主机提供的主机数据写入到如在图4中所图示的存储系统之外,方法写入测试数据(诸如存储系统的内部状态和内部事件历史)。在步骤200处,驻留在主机上的测试程序将测试发起命令从主机传送到存储系统。在存储系统接收到测试发起命令之后,在步骤210处,存储系统指示DRAM高速缓存模块开启测试模式。在步骤220处,DRAM高速缓存模块被设定到测试模式。在测试模式中,当处理主机数据时,方法将关于主机数据的信息填充在主机数据被写入在其上的相同存储扇区上的主机专用信息中,如在图4中所图示的。在示例实施例中,当状态变化在存储系统上发生时和/或当高速缓存事件发生时,方法写入存储系统专用信息。
在示例实施例中,当存储系统未处于测试模式时,主机数据扇区未利用任何附加的测试数据被修改。在这样的情况中,除了渴望高速缓存模块中的主机数据之外,主机数据在写入I/O操作期间从主机被传递到存储系统的后端存储设备或者在读取I/O操作期间从后端存储设备被传递到主机。
在步骤230中,存储系统将对测试发起命令的确认返回到主机。主机从存储系统接收对测试发起命令的确认,并且作为响应,主机开始将主机I/O操作(诸如读取和写入I/O操作)发送到存储系统以验证写入到存储系统的数据的正确性。除了写入与主机I/O操作相关联的主机数据之外,已经转换到测试模式的存储系统写入测试数据(诸如主机专用字段和存储专用字段)。换句话说,主机发起主机写入操作和主机读取操作。
通常,主机将主机I/O操作发送到存储系统,以用于从存储系统读取数据或者将数据写入到存储系统。通常,对于主机写入操作(在此还被称为“主机写入请求”)而言,存储系统从主机接收写入I/O请求并且将由主机发送的主机数据暂时存储在高速缓存模块中。在将主机数据存储在高速缓存模块中之后,存储系统将写入完成确认返回到主机,其指示写入I/O请求已经完成。存储系统然后稍后将被存储在高速缓存模块中的主机数据冲刷到后端存储设备。类似地,当存储系统从主机接收到主机读取操作(在此还被称为“主机读取请求”)时,存储系统确定与主机读取请求相关联的主机数据是否已经被高速缓存在高速缓存模块中。如果在高速缓存模块中不存在数据,则存储系统从后端存储设备读取(或者取回)与主机读取请求相关联的主机数据。然后,读取完成确认因此连同主机数据一起被发送到主机。
图3是验证存储系统中的数据的示例过程。在当前技术的至少一个实施例中,存储系统接收主机写入请求以写入来自与存储系统通信的主机的主机数据。在步骤300处,当前方法通过填充用于主机数据的相应的主机专用字段来写入测试数据,如在图4中所图示的。在步骤310处,方法在主机写入操作的处理期间将主机数据连同包括在步骤300中填充的主机专用字段的测试数据在存储系统的存储设备上的特定地址处写入到存储系统。此外,除了将主机数据和测试数据写入到存储设备之外,关于写入操作事务的信息暂时被保存在存储系统中的写入操作记录(例如,日志、事务日志、高速缓存)中。在示例实施例中,当在存储系统上发生状态改变时和/或当发生高速缓存事件时,方法写入测试数据(诸如存储系统专用信息)。在步骤320处,在主机数据由存储系统写入之后,方法从存储系统的存储设备上的相同地址读取主机数据以便验证主机数据的正确性。当主机数据从存储设备被读取时,被包括在与主机数据相关联的测试数据中的存储系统专用信息被更新。此外,当主机数据从存储设备被读取时,与被写入到相同存储扇区的主机数据相关联的测试数据连同主机数据一起被读取。在步骤330处,存储系统将被包括在从存储设备读取的测试数据中的主机专用字段与在写入操作期间先前地暂时存储在写入操作记录中的主机专用字段信息相比较。如果从存储设备读取的主机数据和被存储在写入操作记录中的主机专用字段信息相同(步骤340),则在步骤350处,方法验证指示主机数据已经正确地写入到存储设备的成功,并且开始下一步骤。如果从存储设备读取的主机数据和被存储在写入操作记录中的主机专用字段信息不相同(步骤340),则在步骤370处,方法停止指示主机数据尚未正确地写入到存储设备的数据不匹配的测试。在主机数据不匹配期间,方法清除包括从存储设备读取的主机专用字段和存储系统专用字段的主机数据和测试数据以及被存储在写入操作记录中的主机专用字段信息以用于进一步评估以确定这样的数据不匹配的原因(步骤360),如在图4中所图示的。因此,基于由存储系统清除并且可用于存储系统的用户的这样的数据使得用户能够分析故障(数据不匹配)的原因,因为其向用户提供指示被高速缓存在存储系统中的数据的状态的变化。
图4描绘了根据本发明的实施例的示例扇区数据布局。在示例实施例中,在测试模式期间,方法在主机I/O操作的处理期间(例如,在主机写入操作期间)将(例如,在主机专用字段中的)主机专用信息写入到存储系统。主机专用信息可以包括例如磁盘ID(例如,通过存储系统呈现给主机的逻辑卷的LUN(逻辑单元号))、逻辑块地址(LBA)(即,当前扇区的扇区号)、写入操作地址(即,主机写入操作的第一LBA)、写入操作长度(即,写入操作的大小)、写入时间(即,主机写入操作的时间戳)和/或主机填充字段(即,时间戳)。
在示例实施例中,当在存储系统上发生状态变化时和/或当发生高速缓存事件时,方法写入存储系统专用信息(例如,在存储系统专用字段中)。存储专用信息可以包括例如卷ID、LBA、主机读取开始时间、主机读取完成时间、主机写入开始时间、主机写入完成时间、后端读取开始时间、后端写入开始时间、后端写入完成时间、高速缓存存储器分配时间、高速缓存存储器释放时间、高速缓存状态改变时间和/或i)在高速缓存状态改变之前的和ii)在高速缓存状态改变之后的高速缓存的高速缓存状态。
在测试模式下,方法将与主机I/O操作相关联的内部状态和内部历史写入到存储系统专用信息。与存储系统的高速缓存模块相关联的事件可以由主机、后端存储设备或者高速缓存模块自身来触发(或者起源于或者产生)。可以存在来自主机、主机读取开始、主机读取完成、主机写入开始以及主机写入完成的四个或更多个事件。可以存在四个或更多个后端存储设备事件;后端读取开始、后端读取完成、后端写入开始以及后端写入完成。存储系统上的内部高速缓存事件可以是从存储系统分配的高速缓存缓冲器、将高速缓存缓冲器释放到存储系统以及高速缓存状态变化。此外,对于高速缓存模块而言,可以存在用于被存储在高速缓存模块中的高速缓存对象的四个或更多个高速缓存状态——高速缓存对象是否是“无效的”、“干净的”、“脏的”或“脏准备的”。当数据未被高速缓存在高速缓存模块中时,数据的状态被认为是“无效的”。当高速缓存模块接收主机写入操作并且与主机写入操作相关联的主机数据正被高速缓存(被存储)到高速缓存模块中时,数据的状态或者存储该数据的高速缓存对象被认为是“脏准备的”。而且,在这样的情况中,当这样的主机数据被存储到高速缓存模块中时,高速缓存对象的状态变为“脏的”。此外,稍后,当被存储在高速缓存模块中的数据被冲刷(或者被写入)到后端存储设备或者从后端存储设备被读取时,高速缓存对象的状态变为“干净的”。
在当前技术的示例实施例中,在存储系统中的内部事件的发生时,存储专用字段被更新或者被写入。例如,在高速缓存数据从存储系统的存储器管理系统被分配之后,当前方法将卷ID、LBA和高速缓存存储器分配时间字段填充在存储系统专用字段中。在示例实施例中,当被高速缓存在高速缓存模块中的高速缓存数据被冲刷到后端存储设备从而将高速缓存存储释放回存储器管理系统时,当前方法填充存储系统专用字段中的高速缓存存储器释放时间字段。在示例实施例中,当被存储在高速缓存模块变化中的高速缓存对象的状态指示高速缓存状态改变时,当前方法填充高速缓存事件改变时间,以及在存储系统专用字段中的高速缓存状态改变之前并且在高速缓存状态在改变之后的关于高速缓存状态的信息。在示例实施例中,当高速缓存模块接收主机I/O操作(例如,主机读取请求和/或主机写入请求)时,当前方法利用当前时间戳来填充存储专用字段的主机读取开始时间字段和主机写入开始时间字段。在示例实施例中,在高速缓存模块响应于接收到主机读取请求将数据提供到主机或者确认对主机的主机写入请求之前,当前方法相应地填充存储系统专用字段的主机读取开始时间和主机写入完成时间字段。在示例实施例中,当高速缓存模块开始从后端存储设备读取主机数据或者开始将主机数据写入到后端存储设备时,当前方法相应地填充存储系统专用字段的主机读取完成时间和主机写入完成时间字段。在示例实施例中,在高速缓存模块完成从后端存储设备读取主机数据或者完成将主机数据写入到后端存储设备时,当前方法相应地填充存储系统专用字段的后端读取时间和后端写入完成时间字段。
参考图5,示出了图示验证存储系统中的数据的更详细的流程图。如上文所指出的,主机处理器可以使用数据存储系统执行各种数据处理任务和操作。在由存储处理器执行的各种数据处理任务之间是核实或者验证存储系统数据。简化数据验证测试系统包括例如由以太网或光纤信道连接的主机和存储系统。主机例如通过执行在主机上运行的数据验证测试来执行数据验证测试,并且测试存储系统。例如,主机将主机数据写入到存储系统,并且然后从存储系统上的数据被写入到的地址读取主机数据。执行比较以验证所读取的主机数据与被写入的主机数据相同。
存储系统包括主机接口模块、高速缓存模块以及后端存储设备。主机接口模块负责与主机通信并且将主机数据传输到主机。在数据验证过程期间,主机将主机数据写入到存储系统。作为该步骤的一部分,(由主机发起的)写入请求和(将被写入到存储系统的)主机数据首先被传送到主机接口模块。当主机执行主机读取操作以从存储系统读取主机数据时,主机接口模块将读取确认响应和主机数据传送回主机。
高速缓存模块用于提高读取和写入性能。在数据验证测试期间,当主机数据被写入到存储系统时,主机数据首先暂时被存储在高速缓存模块中。作为响应,写入完成确认响应被返回到主机。在稍后的时间点处,存储系统将主机数据冲刷到后端存储设备。后端存储设备负责将主机数据存储在存储介质中。后端存储设备是持久性存储介质(诸如硬盘驱动器(HDD)或者固态驱动器(SSD)或者闪存驱动器)。
在数据验证测试期间,存储系统从主机接收读取请求。存储系统首先检查主机数据是否存在于高速缓存模块中。如果主机数据未存在于高速缓存模块中,则存储系统从后端存储设备读取主机数据。一旦主机数据已经由后端存储设备读取,读取完成确认响应就被返回到主机。主机数据被返回到主机以用于与被写入到后端存储设备的主机数据相比较。
还参考图1至图4,方法在主机I/O操作的处理期间将主机数据写入到存储系统。主机与存储系统通信。存储系统将主机数据以及与主机数据相关联的测试数据写入到存储系统的存储设备(步骤500)。在当前技术的示例实施例中,与主机数据相关联的测试数据包括与主机写入I/O操作和主机读取I/O操作中的至少一个相关联的历史。在当前技术的示例实施例中,方法将主机数据和测试数据存储在存储系统的存储设备的存储扇区上。如上文所指出的,被存储在指示由主机发送到存储系统的主机数据与由存储系统写入在存储扇区上的数据不匹配的、存储系统的后端存储设备的存储扇区的一部分上的数据的数据不匹配,其通常指示被存储在该整个存储扇区而不是扇区的仅该部分上的其他数据的数据不匹配。因此,使用在其上主机数据通常被存储以存储与这样的主机数据相关联的测试数据的存储空间的部分是有利的,使得测试数据被访问以用于在主机读取操作从存储系统读取主机数据时的评估,因为测试数据连同主机数据一起被取回。在示例实施例中,并且如在图4中所图示的,由测试数据使用的存储扇区上的存储空间的部分被分为两个部分:主机专用字段、以及存储系统专用字段。
当前方法从存储设备(在此还被称为“后端存储设备”)读取主机数据和测试数据(步骤510)以用于验证主机数据。在示例实施例中,在主机读取操作期间,方法填充存储系统专用字段,如在图4中所图示的。在另一示例实施例中,每当在存储系统中内部状态改变(例如,高速缓存状态改变)时,方法填充存储系统专用字段。在又一示例实施例中,在主机读取操作期间,方法取回主机专用字段中的信息,例如,存储系统将全部扇区数据返回给主机。
方法评估测试数据以确定主机数据是否已经由存储系统正确地写入到存储设备(步骤520)。在示例实施例中,当方法评估测试数据以确定主机数据是否已经由存储系统正确地写入到存储设备时,方法将从存储设备读取的测试数据的主机专用信息与在主机写入操作期间被保存在存储系统上的主机专用信息相比较。例如,在主机写入操作期间,测试数据(包含主机专用信息)连同主机数据一起被存储在存储系统的存储设备上。此外,测试数据(包含主机专用信息)还暂时被保存在存储系统上以用于稍后执行验证测试。在主机读取操作期间,将从存储设备读取的主机专用信息与在主机写入操作期间暂时被保存在存储系统上的主机专用信息相比较。
在确定由于故障(例如,软件漏洞、磁盘故障)而导致主机数据尚未由存储系统正确地写入到存储设备时,方法评估测试数据(例如,存储系统专用字段)以确定故障的原因(步骤530)。如在图4中所图示的,存储主机数据的用户数据扇区还包含测试数据(诸如故障的事件状态和内部历史)。
在示例实施例中,测试数据包括主机专用信息和存储系统专用信息。在示例实施例中,存储系统专用信息包括关于存储系统部件的内部状态的信息以及关于在存储系统中的I/O操作的处理期间发生的事件集合的历史信息。存储系统专用信息在主机数据由存储系统从存储设备读取时被写入。
在示例实施例中,存储系统专用信息包括关于存储系统部件的内部状态的信息以及关于在存储系统中的I/O操作的处理期间发生的事件集合的历史信息。存储系统专用信息在主机数据由存储系统从存储设备被读取时被写入。
在示例实施例中,主机专用信息包括关于主机I/O操作的信息,其中信息在在主机I/O操作的执行期间主机数据由存储系统处理时被写入。
存在在此所公开的实施例的多个优点。例如,方法使用连同主机数据存储的测试数据并且通过主机读取操作来使存储系统的内部状态和事件的历史暴露。当发生数据验证故障时,在此所公开的实施例提供存储系统的内部状态和事件历史。因此,在此所公开的实施例验证数据,并且还提供有价值的故障信息以更有效地定位故障。在主机写入操作期间在主机专用字段中所采集的信息通过使用主机专用字段验证数据而不是要求对写入到存储系统的所有主机数据的验证来提供用于数据验证测试的效率。
应当再次强调,上文所描述的技术实现通过说明而被提供,并且不应当被解释为将本发明限于任何特定实施例或者实施例组。例如,本发明可以使用处理设备和处理操作的不同布置而被实现在其他类型的系统中。而且,在备选实施例中,所利用的消息格式和通信协议可以变化。此外,在描述说明性实施例的过程中上文做出的各种简化假定还应当被视为示例性的,而不是本发明的要求或者限制。所附的权利要求的范围内的许多备选实施例对于本领域的技术人员将是容易明显的。
此外,如由本领域的技术人员将理解到,本公开可以被实现为方法、系统或计算机程序产品。因此,本发明的各方面可以采取完全硬件实施例、完全软件实施例(包括固件、常驻软件、微代码等)或者组合可以全部通常在本文中被称为“电路”、“模块”或“系统”的软件和硬件的实施例的形式。另外,本公开可以采取具有被实现在介质中的计算机可用程序代码的计算机可用存储介质上的计算机程序产品的形式。
附图中的流程图和块图图示了根据本公开的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这方面中,流程图或块图中的每个块可以表示模块、分段或代码部分,其包括用于实现(一个或多个)指定的逻辑功能的一个或多个可执行指令。还应当指出,在一些备选实现中,块中指出的功能可以脱离附图中指出的次序发生。例如,连续所示的两个块可以实际上基本上并发地执行,或者块可以有时以相反的次序执行,这取决于所涉及的功能。还将指出块图和/或流程图示图的每个块以及块图和/或流程图示图中的块的组合可以通过执行指定功能或动作的基于专用硬件的系统或者专用硬件和计算机指令的组合而被实现。
在此使用的术语仅出于描述特定实施例的目的并且不旨在对本公开的限制。如在此所使用的,除非上下文另外清楚指示,否则单数形式“一”、“一种”和“该”旨在也包括复数形式。还将理解到,当使用在该说明书中时,术语“包括”和/或“包含”指定所陈述的特征、整数、步骤、操作、元素和/或部件的存在,但是不排除一个或多个其他特征、整数、步骤、操作、元素、部件和/或其组的存在或者添加。
虽然已经结合详细示出并且描述的优选的实施例公开了本发明,在其上的修改和改进将对于本领域的技术人员变得明显。因此,本发明的精神和范围应当仅由所附权利要求进行限制。

Claims (13)

1.一种验证存储系统中的数据的方法,所述方法包括:
在主机I/O操作的处理期间将主机数据和测试数据从主机写入到所述存储系统,其中所述主机与所述存储系统通信,其中所述存储系统将所述主机数据以及与所述主机数据相关联的所述测试数据写入到所述存储系统的存储设备,其中使得能够标识故障的原因的所述测试数据包括主机专用信息和存储系统专用信息;
从所述存储设备读取所述主机数据和所述测试数据以用于验证所述主机数据;以及
评估所述测试数据以确定所述主机数据是否已经由所述存储系统正确地写入到所述存储设备,
其中所述主机专用信息包括关于所述主机I/O操作的信息,
其中所述信息在所述主机I/O操作的执行期间所述主机数据由所述存储系统处理时被写入,
其中所述存储系统专用信息包括关于所述存储系统部件的内部状态的信息以及关于在所述存储系统中的I/O操作的处理期间发生的事件集合的历史信息,
其中所述存储系统专用信息在所述主机数据由所述存储系统从所述存储设备读取时被写入,
其中关于所述存储系统部件的所述内部状态的所述信息包括高速缓存模块的内部状态,并且
其中所述历史信息包括关于所述I/O操作的历史信息。
2.根据权利要求1所述的方法,还包括:
在确定由于故障而导致所述主机数据尚未由所述存储系统正确地写入到所述存储设备时,评估所述测试数据以确定所述故障的原因。
3.根据权利要求1所述的方法,其中评估所述测试数据以确定所述主机数据是否已经由所述存储系统正确地写入到所述存储设备还包括:将所述测试数据的所述主机专用信息与从所述存储设备读取的所述主机数据和所述测试数据相比较。
4.根据权利要求1所述的方法,其中与所述主机数据相关联的所述测试数据包括与以下各项中的至少一项相关联的历史:主机写入I/O操作和主机读取I/O操作。
5.根据权利要求1所述的方法,还包括:
从所述主机向所述存储系统传输测试发起命令;
作为响应,由所述主机从所述存储系统接收对所述测试发起命令的确认;以及
响应于所述确认,将所述存储系统转换到测试模式中,在所述测试模式中,所述存储系统除了写入与主机I/O操作相关联的主机数据之外,还写入测试数据。
6.根据权利要求1所述的方法,还包括:
将所述主机数据和所述测试数据存储在所述存储系统的所述存储设备的存储扇区上。
7.一种用于在验证存储系统中的数据时使用的系统,所述系统包括处理器,所述处理器被配置为:
在主机I/O操作的处理期间将主机数据和测试数据从主机写入到所述存储系统,其中所述主机与所述存储系统通信,其中所述存储系统将所述主机数据以及与所述主机数据相关联的所述测试数据写入到所述存储系统的存储设备,其中使得能够标识故障的原因的所述测试数据包括主机专用信息和存储系统专用信息;
从所述存储设备读取所述主机数据和所述测试数据以用于验证所述主机数据;以及
评估所述测试数据以确定所述主机数据是否已经由所述存储系统正确地写入到所述存储设备,
其中所述主机专用信息包括关于所述主机I/O操作的信息,
其中所述信息在所述主机I/O操作的执行期间所述主机数据由所述存储系统处理时被写入,
其中所述存储系统专用信息包括关于所述存储系统部件的内部状态的信息以及关于在所述存储系统中的I/O操作的处理期间发生的事件集合的历史信息,
其中所述存储系统专用信息在所述主机数据由所述存储系统从所述存储设备读取时被写入,
其中关于所述存储系统部件的所述内部状态的所述信息包括高速缓存模块的内部状态,并且
其中所述历史信息包括关于所述I/O操作的历史信息。
8.根据权利要求7所述的系统,还被配置为:
在确定由于故障而导致所述主机数据尚未由所述存储系统正确地写入到所述存储设备时,评估所述测试数据以确定所述故障的原因。
9.根据权利要求7所述的系统,其中被配置为评估所述测试数据以确定所述主机数据是否已经由所述存储系统正确地写入到所述存储设备的所述处理器还被配置为:将所述测试数据的所述主机专用信息与从所述存储设备读取的所述主机数据和所述测试数据相比较。
10.根据权利要求7所述的系统,其中与所述主机数据相关联的所述测试数据包括与以下各项中的至少一项相关联的历史:主机写入I/O操作和主机读取I/O操作。
11.根据权利要求7所述的系统,还被配置为:
从所述主机向所述存储系统传输测试发起命令;
作为响应,由所述主机从所述存储系统接收对所述测试发起命令的确认;以及
响应于所述确认,将所述存储系统转换到测试模式中,在所述测试模式中,所述存储系统除了写入与主机I/O操作相关联的主机数据之外,还写入测试数据。
12.根据权利要求7所述的系统,还被配置为:
将所述主机数据和所述测试数据存储在所述存储系统的所述存储设备的存储扇区上。
13.一种计算机可读存储介质,所述计算机可读存储介质存储计算机可执行程序代码,所述计算机可执行程序代码在被执行时,使计算机处理器执行根据权利要求1-6所述的方法的步骤。
CN201810104857.6A 2018-02-02 2018-02-02 验证存储系统中的数据 Active CN110134572B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810104857.6A CN110134572B (zh) 2018-02-02 2018-02-02 验证存储系统中的数据
US16/265,113 US11217324B2 (en) 2018-02-02 2019-02-01 Validating data in storage systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810104857.6A CN110134572B (zh) 2018-02-02 2018-02-02 验证存储系统中的数据

Publications (2)

Publication Number Publication Date
CN110134572A CN110134572A (zh) 2019-08-16
CN110134572B true CN110134572B (zh) 2023-08-08

Family

ID=67475722

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810104857.6A Active CN110134572B (zh) 2018-02-02 2018-02-02 验证存储系统中的数据

Country Status (2)

Country Link
US (1) US11217324B2 (zh)
CN (1) CN110134572B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11243972B1 (en) * 2018-12-28 2022-02-08 Lumeris Solutions Company, LLC Data validation system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6047353A (en) * 1997-05-07 2000-04-04 Emc Corporation Method and apparatus for monitoring of host activities relating to an attached storage device
CN1448827A (zh) * 2002-03-28 2003-10-15 株式会社日立制作所 存储系统中检验数据的方法及设备
CN105573676A (zh) * 2015-12-16 2016-05-11 浪潮(北京)电子信息产业有限公司 一种存储系统中验证数据一致性的方法
CN105743731A (zh) * 2014-12-11 2016-07-06 国际商业机器公司 用于存储系统中的故障检测的方法和装置
CN105892936A (zh) * 2015-02-12 2016-08-24 Hgst荷兰公司 性能平缓的数据存储设备
CN107015881A (zh) * 2015-09-23 2017-08-04 Hgst荷兰公司 数据存储驱动器中的增强的低开销数据保护

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010042230A1 (en) * 2000-05-10 2001-11-15 Seagate Technology Llc Sector validation for use in ECC engine validation
US6938188B1 (en) * 2002-01-29 2005-08-30 Advanced Digital Information Corporation Method for verifying functional integrity of computer hardware, particularly data storage devices
US20040015762A1 (en) * 2002-07-22 2004-01-22 Finisar Corporation Scalable system testing tools
US7882393B2 (en) * 2007-03-28 2011-02-01 International Business Machines Corporation In-band problem log data collection between a host system and a storage system
TWI385516B (zh) * 2008-08-12 2013-02-11 Phison Electronics Corp 快閃記憶體儲存系統及其資料寫入方法
WO2015087426A1 (ja) * 2013-12-12 2015-06-18 株式会社日立製作所 ストレージ装置及びストレージ装置の制御方法
US20170060674A1 (en) * 2015-09-02 2017-03-02 Hewlett-Packard Development Company, L.P. Persistent checksum data validation
US10528416B2 (en) * 2017-12-11 2020-01-07 International Business Machines Corporation Checking data integrity of data storage systems

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6047353A (en) * 1997-05-07 2000-04-04 Emc Corporation Method and apparatus for monitoring of host activities relating to an attached storage device
CN1448827A (zh) * 2002-03-28 2003-10-15 株式会社日立制作所 存储系统中检验数据的方法及设备
CN105743731A (zh) * 2014-12-11 2016-07-06 国际商业机器公司 用于存储系统中的故障检测的方法和装置
CN105892936A (zh) * 2015-02-12 2016-08-24 Hgst荷兰公司 性能平缓的数据存储设备
CN107015881A (zh) * 2015-09-23 2017-08-04 Hgst荷兰公司 数据存储驱动器中的增强的低开销数据保护
CN105573676A (zh) * 2015-12-16 2016-05-11 浪潮(北京)电子信息产业有限公司 一种存储系统中验证数据一致性的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
片上网络存储器的BIST电路设计;许川佩等;《微电子学与计算机》;20131005;第30卷(第10期);105-109、113 *

Also Published As

Publication number Publication date
CN110134572A (zh) 2019-08-16
US11217324B2 (en) 2022-01-04
US20190244675A1 (en) 2019-08-08

Similar Documents

Publication Publication Date Title
US10108367B2 (en) Method for a source storage device sending data to a backup storage device for storage, and storage device
JP4843604B2 (ja) データ・ストレージ装置からデータ・ストレージ装置特有情報を得るための方法及びシステム
US20070027999A1 (en) Method for coordinated error tracking and reporting in distributed storage systems
US7434012B1 (en) Techniques for media scrubbing
US8839026B2 (en) Automatic disk power-cycle
US7617373B2 (en) Apparatus, system, and method for presenting a storage volume as a virtual volume
US7024593B1 (en) End-to-end checksumming for database environments
US10133505B1 (en) Cooperative host and data storage system services for compression and encryption
US8843781B1 (en) Managing drive error information in data storage systems
US9798638B2 (en) Systems and methods providing mount catalogs for rapid volume mount
US11194663B2 (en) Protocol for improving rebuild times of redundant array of independent disks
CN112732163B (zh) 一种数据校验方法和装置
US10915405B2 (en) Methods for handling storage element failures to reduce storage device failure rates and devices thereof
CN110134572B (zh) 验证存储系统中的数据
US7409519B2 (en) Synchronizing logical systems
US6865689B1 (en) Method and apparatus for fault isolation on network loops using low level error counters
US11080136B2 (en) Dropped write error detection
CN115658404A (zh) 一种测试方法及系统
US7673115B1 (en) Data operation validation
US10346437B1 (en) Event triggered data collection
US9411835B1 (en) Method and system for validating data integrity
US11662908B2 (en) Space-efficient storage of system-monitoring data
US11409666B2 (en) Techniques for providing I/O hints using I/O flags
US20230153206A1 (en) Selective rebuild of interrupted devices in data storage device arrays
US6990530B1 (en) Method and apparatus for fault isolation on network loops

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