CN101982816B - 用于保护高速缓存数据完整性的方法和装置 - Google Patents

用于保护高速缓存数据完整性的方法和装置 Download PDF

Info

Publication number
CN101982816B
CN101982816B CN201010200765.1A CN201010200765A CN101982816B CN 101982816 B CN101982816 B CN 101982816B CN 201010200765 A CN201010200765 A CN 201010200765A CN 101982816 B CN101982816 B CN 101982816B
Authority
CN
China
Prior art keywords
data
stored
array
das
raid
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
CN201010200765.1A
Other languages
English (en)
Other versions
CN101982816A (zh
Inventor
L·伯特
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.)
Avago Technologies General IP Singapore Pte Ltd
Original Assignee
Infineon Technologies North America Corp
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 Infineon Technologies North America Corp filed Critical Infineon Technologies North America Corp
Publication of CN101982816A publication Critical patent/CN101982816A/zh
Application granted granted Critical
Publication of CN101982816B publication Critical patent/CN101982816B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/222Non-volatile memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/26Using a specific storage system architecture
    • G06F2212/261Storage comprising a plurality of storage devices
    • G06F2212/262Storage comprising a plurality of storage devices configured as RAID

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明涉及用于保护高速缓存数据完整性的方法和装置,提供了一种执行RAID技术的DAS系统,其中DAS系统的DAS控制器外部的固态盘(SSD)阵列被DAS控制器用作WB高速缓冲存储器,以便执行WB高速缓存操作。使用外部SSD阵列作为WB高速缓冲存储器允许DAS系统完全实现高速缓存一致性,而不会明显增加DAS系统的复杂性,并且不会增加用于执行高速缓存操作的带宽数量。另外,使用外部SSD阵列作为WB高速缓冲存储器避免了镜像DAS控制器的需要。

Description

用于保护高速缓存数据完整性的方法和装置
与相关申请的交叉引用
本申请要求享有提交于2009年6月8日的序列号为61/268,055的题目为“METHOD TO EFFICIENTLY USE SSD AS WB CACHEELEMENT IN BOTH PRIVATE AND SHARED DASCONFIGURATIONS”的美国临时专利申请的提交日的优先权,通过引用将其完整结合在此。
技术领域
本发明一般地涉及数据存储系统,并且更具体地,涉及用于保护直接连接存储(DAS)系统中的高速缓存数据的完整性的方法和装置。
背景技术
存储阵列或盘阵列是包括多个磁硬盘驱动器(HDD)或类似的永久存储单元的数据存储设备。存储阵列可以允许以高效的方式存储大量数据。服务器或工作站可被直接连接到存储阵列,从而该存储阵列对于服务器或工作站来说是本地的。在服务器或工作站被直接连接到存储阵列的情况下,存储阵列通常被称为直接连接存储(DAS)系统。可替换地,服务器或工作站可被通过存储阵列网络(SAN)远程地连接到存储阵列。在SAN系统中,虽然存储阵列对于服务器或工作站不是本地的,该阵列中的盘驱动器对于服务器或工作站的操作系统(OS)来说看似是被连接在本地的。
DAS系统和SAN系统通常被配置为廉价(或独立)磁盘冗余阵列(RAID)系统。RAID系统使用存储冗余,以便改进存储可靠性和/或以便改进输入/输出(I/O)性能。一般地,RAID系统同时使用两个或多个磁HDD,通常被称为物理磁盘驱动器(PD),以便实现更高级别的性能、可靠性和/或更大的数据量大小。短语“RAID”一般用于描述在多个PD之间划分和复制数据的计算机数据存储方案。在RAID系统中,一个或多个PD被设立为RAID虚拟磁盘驱动器(VD)。在RAID VD中,数据可被分布在多个PD上,但是该VD被用户和服务器或工作站的OS看作单个磁盘。
在被配置为RAID系统的DAS系统内,DAS控制器作为RAID控制器。在该系统中,RAID控制器使用其本地存储器的一部分用作高速缓冲存储器。高速缓冲存储器被用于临时存储将被写到PD的数据。用于这种目的的一种类型的高速缓冲存储器配置被称为写回式(WB)高速缓冲存储器配置。在WB高速缓冲存储器配置中,通常一旦数据移入高速缓冲存储器,高速缓存命令就被完成。在这种配置中,由于一旦数据被高速缓存,该数据就被提交以便写入PD的事实,在发生失效备援(failover)和失效恢复(failback)事件的情况下,保持高速缓存数据的完整性可能是一个挑战。因此,应当采取措施,以便确保失效备援或失效恢复事件的发生不会导致高速缓存数据被破坏。换言之,DAS系统应当提供高速缓存一致性。为了提供高速缓存一致性,高速缓存的数据通常被复制到另一个存储器设备内,如现在将参考图1-3对其进行描述。
图1示出了实现RAID技术的典型DAS系统2的方框图。系统2包括服务器3、RAID控制器4和外设互连(PCI)总线5。RAID控制器4包括中央处理单元(CPU)6、存储器设备7和I/O接口设备8。存储器设备7的一部分存储空间被用作高速缓冲存储器。可替换地,RAID控制器4可以包括用作高速缓冲存储器的单独的存储器设备(未示出)。I/O接口设备8被配置为执行符合诸如串行连接SCSI(SAS)和/或串行高级技术附件(SATA)标准的已知数据传输协议标准的数据传输。I/O接口设备8控制去往和来自多个PD9的数据传输。RAID控制器4通过PCI总线5与服务器CPU11和服务器存储器设备12通信。服务器存储器设备12存储由服务器CPU11执行的软件程序和数据。
在典型的写动作中,服务器CPU11通过PCI总线5向RAID控制器4发送写请求指令。RAID控制器4的CPU6使得数据被临时存储在RAID控制器4的存储器设备7的高速缓冲存储器内。该数据随后被从存储器设备7通过I/O接口设备8传输到一个或多个PD9。存储器设备7包含用于在RAID VD的虚拟地址和PD9的物理地址之间执行映射的核心逻辑。RAID控制器4的CPU6根据系统2的RAID级别执行计算,诸如奇偶校验计算。在系统2的当前RAID级别使用奇偶校验的情况下,I/O接口设备8使得奇偶校验位被存储在一个或多个PD9内。
在典型的读操作过程中,服务器CPU11通过PCI总线5向RAID控制器4发送相应的读请求。RAID控制器CPU6使用保持在存储器设备7内的逻辑处理该请求,并且如果被请求的数据保持在存储器设备7的高速缓冲存储器内,从存储器设备7的高速缓冲存储器中检索所请求的数据。如果被请求的数据未被保持在存储器设备7的高速缓冲存储器内,RAID控制器CPU6使得从PD9检索所请求的数据。检索到的数据被在PCI总线5上传输到服务器CPU11,以便满足读请求。
图2示出了已知的共享DAS系统23的方框图,该系统包括图1所示的多个RAID控制器4和由RAID控制器4共享的图1所示的PD9的阵列。为了在共享DAS系统23中提供高速缓存一致性,高速缓存在其中一个RAID控制器4中的存储器设备7内的数据被复制,或镜像到其它RAID控制器4中的其中一个RAID控制器4的存储器设备7内,从而根据高速缓存镜像给RAID控制器4配对。在图2中以箭头24表示高速缓存数据的复制。虽然这种类型的高速缓存一致性技术一般是有效的,但如果在给定对的两个RAID控制器4中都发生失效备援或失效恢复事件,将危及该镜像对的高速缓存数据的完整性。
图3示出了图2所示的共享DAS系统23的方框图,其中通过将每个RAID控制器4的存储器设备7内高速缓存的数据复制到每个其它RAID控制器4的存储器设备7内,以提供高速缓存一致性。在图3中以箭头24和25表示高速缓存数据的复制。虽然这种类型的高速缓存一致性技术一般是有效的,但这种技术的物理实现极其复杂,并且利用大量带宽。另外,当扩大系统23的规模并且向系统23添加大量RAID控制器4时,系统23的复杂性和用于高速缓存镜像的带宽数量指数地增加。出于这些原因,这种高速缓存一致性解决方案在大部分情况下是不现实的。
DAS系统中的高速缓存一致性问题的另一种解决方案是使用WT高速缓存配置,而不是WB高速缓存配置。然而,取代WB高速缓存配置使用WT高速缓存配置一般会降低DAS系统的I/O性能,并且因此对于竞争市场内的许多存储应用是不适合的。虽然可以使用SAN控制器容易地处理高速缓存一致性问题,但这种解决方案相对昂贵,并且在许多情况下,其实现昂贵得惊人。
因此,存在对足以保护高速缓存数据的完整性,并且克服DAS系统中所使用的已知高速缓存一致性解决方案的上述限制的DAS系统的需求。
发明内容
本发明提供了一种用于保护高速缓存数据的完整性的DAS系统、方法和计算机可读介质。该DAS系统包括配置为PD的RAID阵列的多个磁HDD、配置为高速缓冲存储器的固态盘(SSD)阵列,以及连接到所述PD的RAID阵列以及连接到所述SSD阵列的至少第一和第二DAS控制器。每个DAS控制器具有CPU、本地存储器设备和I/O接口设备。每个CPU和每个本地存储器设备配置为执行与所述PD的RAID阵列的RAID配置一致的RAID级别的技术。每个CPU配置为执行高速缓存算法,该高速缓存算法使得在相应DAS控制器中接收的数据被临时存储在所述SSD阵列的高速缓冲存储器内,并且随后被存储在所述PD的RAID阵列的一个或多个PD内。
一种用于保护DAS系统内的高速缓存数据的完整性的方法包括如下步骤:在第一DAS控制器中,接收数据;在第一DAS控制器的CPU中,执行高速缓存算法,该高速缓存算法使得在所述第一DAS控制器中接收的数据被临时存储在SSD阵列的一个或多个SSD内,并且随后被存储在配置为PD的RAID阵列的一个或多个磁HDD内;在第二DAS控制器中,接收数据;并且在第二DAS控制器的CPU中,执行高速缓存算法,该高速缓存算法使得在所述第二DAS控制器中接收的数据被临时存储在所述SSD阵列的一个或多个SSD内,并且随后被存储在配置为PD的RAID阵列的一个或多个磁HDD内。
一种计算机可读介质包括用于由DAS控制器执行的第一指令集合和第二指令集合。第一指令集合在DAS控制器中接收数据。第二指令集合在第一DAS控制器中执行高速缓存算法,该高速缓存算法使得在所述第一DAS控制器中接收的数据被临时存储在SSD阵列的一个或多个SSD内,并且随后被存储在配置为PD的RAID阵列的一个或多个磁HDD内。
从下面的描述、附图和权利要求中,将明了本发明的这些和其它特征和优点。
附图说明
图1示出了实现RAID技术的已知DAS系统的方框图。
图2示出了共享DAS系统的方框图,其中图1所示的多个RAID控制器共享图1所示的PD阵列,并且其中通过在RAID控制器对的存储器设备内镜像高速缓存数据提供高速缓存一致性。
图3示出了图2所示的共享DAS系统的方框图,其中通过将每个RAID控制器的高速缓存数据镜像到所有其它RAID控制器的存储器设备内提供高速缓存一致性。
图4示出了根据一个实施例的共享DAS系统的方框图,其中该DAS系统的DAS控制器外部的至少一个共享的固态盘(SSD)被用作用于高速缓存将被写到DAS系统的PD的数据的WB高速缓冲存储器。
图5示出了图4所示的DAS控制器之一的方框图。
图6示出了一个流程图,其表示根据一个说明性实施例,由图4所示的DAS控制器之一的CPU执行的WB高速缓存算法。
图7示出了根据一个说明性实施例的图4所示的DAS系统的方框图,其中数据被高速缓存在SSD阵列内,而相关联的元数据被高速缓存到DAS控制器内的高速缓冲存储器内。
图8示出了根据一个说明性实施例的图4所示的DAS系统的方框图,其中数据和相关联的元数据被高速缓存在SSD阵列内。
图9示出了表示由图8所示的DAS控制器执行的WB高速缓存算法的流程图。
具体实施方式
根据本发明,提供了一种实现RAID技术的DAS系统,其中该DAS系统的DAS控制器外部的固态盘(SSD)阵列被DAS控制器用作用于执行WB高速缓存操作的WB高速缓冲存储器。使用外部SSD阵列作为WB高速缓冲存储器使得DAS系统是完全高速缓存一致的,而不会明显增加DAS系统的复杂性,并且不会增加用于执行高速缓存操作的带宽数量。另外,使用外部SSD阵列作为WB高速缓冲存储器避免了以上面参考图1-3所述的方式镜像DAS控制器的需要。
图4示出了根据说明性实施例的本发明的DAS系统100的方框图,其中DAS系统100的SSD阵列110作为WB高速缓冲存储器被DAS系统100的多个DAS控制器120共享。图5示出了图4所示的其中一个DAS控制器120的方框图。DAS系统100的DAS控制器120具有与图1所示的RAID控制器4相同或类似的配置。除了相对于高速缓存操作之外,每个DAS控制器120以与RAID控制器4相同的方式操作。因此,如同图1所示的RAID控制器4的情况,图4所示的每个DAS控制器120被配置为RAID控制器。DAS系统100采用RAID技术。本发明不受关于DAS系统100所采用的RAID级别的限制。
RAID具有相应于不同系统设计的7种基本级别,并且可以在DAS系统100中实现那些级别中的任意一种或多种。现在将提供对不同RAID级别的简要讨论,即使这些RAID级别是本领域公知的。通常被称为RAID级别0-6的这7种基本RAID级别如下。RAID级别0使用条带化(striping)实现改进的数据可靠性和增加的I/O性能。术语“条带化”的含义是逻辑上连续的数据,诸如单个数据文件,被分段并且被以循环方式分配给多个PD。因此,当写数据时数据被称为“被条带化”在多个PD上。条带化提高了性能,并且提供额外的存储容量。RAID级别1使用不带奇偶检验的镜像。术语“镜像”的含义是数据被实时地复制到不同的PD上,以便确保数据持续可用。这种类型的复制提供数据冗余。RAID级别2使用冗余和条带化。在RAID级别2中,通过使用汉明码实现冗余,对PD上的位计算汉明码,并且将其存储在多个PD上。如果PD失效,可以使用奇偶校验位重构数据。
RAID级别3系统结合交叉奇偶校验位和专用的奇偶校验PD使用字节级条带化。使用字节级条带化和冗余产生改进的性能并且给系统提供容错。RAID级别3系统可以持续操作而不使用奇偶校验,并且在奇偶校验PD失效的情况下不会受到性能损失。除了RAID级别4系统采用块级条带化而不是字节级或字级条带化之外,RAID级别4基本与RAID级别3相同。由于每个条带相对大,单个文件可被存储在块内。每个PD独立地操作,并且可以并行处理许多不同的I/O请求。通过使用块级奇偶校验位交叉实现错误检测。交叉的奇偶校验位被存储在单个单独的奇偶检验PD内。
RAID级别5结合分布式奇偶校验使用条带化。为了实现分布式奇偶校验,除了一个PD之外的所有PD必须向系统呈现以便操作。任何一个PD的失效必然导致该PD的更换。然而,单个PD的失效不会引起系统失效。RAID级别6结合双重分布式奇偶校验使用条带化。RAID级别6系统需要使用至少4个PD,2个PD用于存储分布式奇偶校验位。即使2个PD失效,该系统还可以继续操作。双重奇偶校验在每个VD由大量PD构成的系统中变得日益重要。使用单奇偶校验的RAID级别系统易遭受数据丢失损坏,直到重建失效设备为止。在RAID级别6的系统中,在第一个失效的PD的重建完成之前,其它VD之一的PD失效的情况下,使用双重奇偶校验允许重建具有失效PD的VD,不会具有丢失数据的风险。
再次参考图5,DAS控制器120包括CPU130、存储器设备140,以及I/O接口设备150。I/O接口设备150控制去往和来自PD129的数据传输。I/O接口设备150通常被配置为执行符合例如诸如SAS和/或SATA标准以及其变体的已知数据传输协议标准的数据传输,尽管也可以为这个目的使用其它已知的数据传输协议以及专有数据传输协议。
现在将参考图4和5描述DAS系统100的操作。在典型的写操作过程中,DAS控制器120的CPU130从外部服务器或工作站(未示出)接收将被写到一个或多个PD129的数据。DAS控制器CPU130使用SSD阵列110作为WB高速缓冲存储器,以便临时存储将被写到PD129的数据。下面参考图6更详细地描述在SSD110内WB高速缓存数据的处理。在数据已被WB高速缓存到SSD110之后的某个时间点,DAS控制器CPU130使得高速缓存的数据被从SSD110传输,并且被存储在一个或多个PD129内。存储器设备140包含用于执行RAID VD的虚拟地址和PD129的物理地址之间的映射的核心逻辑。DAS控制器120使得高速缓存的数据被存储在PD129中相应的物理地址处。DAS控制器CPU130还根据DAS系统100的RAID级别执行计算,诸如奇偶校验计算。例如,如果DAS系统100的RAID级别使用奇偶校验,DAS控制器CPU130计算奇偶检验位,并且I/O接口设备150使得该奇偶校验位被存储在一个或多个PD129内。
在典型的读操作过程中,DAS控制器CPU130从外部服务器或工作站(未示出)接收读请求,并且使用保持在存储器设备140内的逻辑,处理该读请求,以便确定将从其读取数据的一个或多个PD129的物理地址。DAS控制器CPU130然后使得从所述数据驻留在PD129内的地址检索请求的数据,并且将其发送到外部服务器或工作站(未示出)。存储器设备140的一部分或DAS控制器120内的某些其它存储器设备(未示出)可被用作读高速缓冲存储器,在该情况下,如果CPU130确定所请求的数据被保持在读高速缓冲存储器内,CPU130从读高速缓冲存储器而不是从PD129读取数据。
图6示出了表示根据说明性实施例,由DAS控制器120之一的CPU130执行的WB高速缓存算法的流程图。每个DAS控制器120的CPU130执行该WB高速缓存算法。然而,为了简短起见,将仅参考其中一个DAS控制器120描述该算法。当服务器或工作站(未示出)向DAS控制器120发送将被写到PD129的数据时,如方框201所指示的,DAS控制器120接收该数据。然后CPU130处理接收到的数据,以便确定发生了高速缓存“命中”还是高速缓存“缺失”,如方框203所指示的。高速缓存“命中”意味着CPU130确定该数据当前被保持在SSD110内的高速缓冲存储器中。高速缓存“缺失”意味着CPU130确定该数据当前未被保持在高速缓冲存储器内。
如果CPU130确定发生了高速缓存缺失,CPU130使得该数据被写到SSD阵列110的高速缓冲存储器,如方框205所指示的。在数据被写到SSD阵列110的高速缓冲存储器之后的某个时间点,CPU130使得该数据被存储在PD129内的物理地址内,如方框206所指示的。在方框203,如果CPU130确定发生了高速缓存命中,在由方框206表示的步骤中,CPU130使得保持在SSD阵列110的高速缓冲存储器内的相应数据被存储在SSD阵列110内的相应物理地址内。
与上面参考图1-3所述的已知高速缓存一致性方法相反,根据本发明,通过为SSD阵列110使用一定级别的RAID技术提供高速缓存一致性。具体地,当DAS控制器120在SSD阵列110的高速缓冲存储器内存储数据时,使用RAID技术以便确保在SSD阵列110中的高速缓存该数据的SSD失效的情况下,该数据可以被恢复。例如,可以使用RAID级别0,从而当每个DAS控制器120在SSD阵列110的高速缓冲存储器内存储数据时,数据被条带化在SSD阵列110的多个SSD上。例如,如果使用RAID级别1,那么当每个DAS控制器120在SSD阵列110的高速缓冲存储器内存储数据时,该数据被复制或镜像到SSD阵列110的多个SSD内。如果SSD阵列110的其中一个SSD失效,SSD阵列110实现的RAID级别的技术将允许恢复数据。以这种方式,DAS系统100是完全高速缓存一致的。本发明不受用于确保高速缓存在SSD阵列110的高速缓冲存储器内的数据的高速缓存一致性所使用的RAID级别的限制。
另外,SSD阵列110通常,但不必须,被划分为由相应DAS控制器120使用的相应部分。例如,假设总共有N个DAS控制器120,其中N是等于或大于1的正整数,SSD阵列110的存储容量将被划分为N个相等的部分,每个部分被相应的DAS控制器120使用。以这种方式划分SSD阵列110避免了DAS控制器120访问SSD阵列110时的访问冲突。然而,如果DAS控制器120中的其中一个失效,其它DAS控制器120中的其中一个可以访问存储在SSD阵列110内并且与失效的DAS控制器120相关联的数据。
如本领域已知的,数据具有与其相关联的元数据,元数据定义该数据的属性,诸如,例如,数据来源的标识(即,散列高速缓存标签)、数据流的长度、以及数据是否已被修改(即,状态指示)。在DAS系统中,元数据通常被存储在DAS控制器内的动态随机存取存储器(DRAM)内。根据本发明的一个说明性实施例,元数据存储在DAS控制器120的存储器设备140内,而相应的数据被以参考图4-6的上述方式存储在SSD阵列110的高速缓冲存储器内。现在将参考图7描述用于处理元数据的说明性实施例。
图7示出了根据说明性实施例的图4所示的DAS系统100的方框图,其中数据被高速缓存在SSD阵列110内,而相关联的元数据被高速缓存在DAS控制器120内的高速缓冲存储器内。根据这个实施例,当DAS控制器120之一的CPU130在SSD阵列110的高速缓冲存储器内存储数据时,相应的元数据被存储在该DAS控制器120的存储器设备140的高速缓冲存储器部分(未示出)内,或被存储在该DAS控制器120的某些其它存储器设备(未示出)内。另外,为了提供元数据的高速缓存一致性,如图7中穿过相邻DAS控制器120之间的箭头所示,存储在该DAS控制器120内的高速缓冲存储器内的元数据被镜像到一个或多个其它DAS控制器120内的高速缓冲存储器内。以这种方式,如果其中一个DAS控制器120失效,可以从其中已经镜像元数据的其它DAS控制器120的高速缓冲存储器中恢复相应的元数据。
图8示出了根据说明性实施例的图4所示的DAS系统100的方框图,其中数据和相关联的元数据被高速缓存在SSD阵列110内。在SSD中,数据通常被写到预定字节(B)数目的块内,例如,每个块520B。由信息技术标准国际委员会(INCITS)的标准T10管理块格式。标准T10规定每个数据块包括数据完整性字段(DIF),该字段包括保护信息,诸如循环冗余校验(CRC)位、应用标签位和参考标签位。标准T10定义的DIF由每个块末尾的8B构成。因此,每个块由512B的数据和8B的DIF构成。根据这个说明性实施例,每个数据块的8B DIF用于表示与该数据块相关联的元数据。因此,数据和其相关联的元数据一起存储在SSD阵列110的高速缓冲存储器内。
将数据和其相关联的元数据一起高速缓存确保在操作过程中在出现电源故障的情况下,更新数据而不更新其相关联的元数据,或反之亦然。例如,如果数据和元数据被彼此无关地高速缓存在不同的存储器设备内,一个存储器设备的电源故障将使得不更新存储在失效存储器设备内的数据或元数据,而更新存储在不受电源故障影响的其它存储器设备内的数据或元数据。将数据和元数据一起高速缓存在SSD阵列110的高速缓冲存储器内避免了这种问题。
根据这个示例实施例,由64KB构成SSD阵列110的高速缓冲存储器中的高速缓存行,其中k=1024。由于给定的高速缓存行的每个块由512B的数据构成,每个高速缓存行由128个块构成(即,(64B×1024)/512B=128)。给定高速缓存行的128个块中的每一个块的DIF由8B元数据构成。然而,对于每个高速缓存行仅需要大约64B的元数据。这些64B的元数据被划分为8B的部分。因此,元数据仅需要用于给定高速缓存行的8块的DIF。根据该说明性实施例,每个128块高速缓存行的前8个块被分配给与包含在该高速缓存行内的数据相关联的8B元数据。为了提供冗余,相同的8B元数据被复制到该高速缓存行的下8个块的8个DIF中的每一个内。该高速缓存行的最后8个块的8个DIF中包含64B元数据的散列。由于写到高速缓存行的第一个块和最后一个块被该散列彼此相关联,这种方法确保了原子性。
图9示出了表示由图8所示的DAS控制器120执行的WB高速缓存算法的流程图。将参考图5、8和9描述该算法。DAS控制器120中的每一个的CPU130执行该WB高速缓存算法。然而为了简短起见,仅参考其中一个DAS控制器120描述该算法。当服务器或工作站(未示出)向DAS控制器120发送将被写到PD129的数据时,DAS控制器120接收该数据和其相关联的元数据,如方框301所指示的。然后CPU130处理接收到的数据,以便确定发生了高速缓存“命中”还是高速缓存“缺失”,如方框303所指示的。
如果CPU130确定发生了高速缓存缺失,CPU130计算元数据散列,并且使得数据、元数据和元数据散列被写到SSD阵列110的高速缓冲存储器,如方框305所指示的。存在用于计算元数据散列的各种已知散列算法。可以为这个目的使用任意适合的已知散列算法。因此,为了简短起见,此处不对用于计算元数据散列的算法进行描述。
在数据被写到SSD阵列110的高速缓冲存储器之后的某个时间点,CPU130使得该数据和其相关联的元数据被存储到PD129中的物理地址内,如方框306所指示的。如果在方框303,CPU130确定发生了高速缓存命中,在由方框306表示的步骤中,CPU130使得保持在SSD阵列110的高速缓冲存储器内的相应数据和元数据被存储到SSD阵列110内的相应物理地址内。
应当注意,上述参考图6和9描述的WB高速缓存算法可被以各种方法实现。通常在CPU130中完全以硬件或以硬件和软件或固件的组合执行该WB算法。用于这个目的的软件或固件指令被存储在计算机可读介质内,例如,诸如存储在DAS控制器120的存储器设备140内。
本领域的技术人员应当理解,可以对上述实施例进行许多变型,并且所有这些变型都在本发明的范围内。例如,可以在市场上获得不使用DIF的SSD。这些SSD适用于本发明用以高速缓存数据、元数据和元数据散列。本发明不限于在SSD阵列110中使用任意特定类型或配置的SSD。本发明还不限于有关DAS控制器120的配置。图5所示的DAS控制器120的配置仅是适用于本发明的SSD控制器配置的一个例子。
应当注意,出于证明本发明的原理和概念的目的,上面参考说明性实施例描述了本发明。本领域的技术人员将会理解,可以对此处描述的实施例进行许多修改,并且所有这些修改都在本发明的范围内。

Claims (20)

1.一种直接连接存储DAS系统,包括:
配置为物理磁盘驱动器PD的廉价或独立磁盘冗余阵列RAID阵列的多个磁硬盘驱动器HDD;
配置为高速缓冲存储器的固态盘SSD阵列;以及
连接到所述PD的RAID阵列并且连接到所述SSD阵列的至少第一和第二DAS控制器,每个DAS控制器具有中央处理单元CPU、本地存储器设备和输入/输出I/O接口设备,其中每个CPU和每个本地存储器设备配置为执行与所述PD的RAID阵列的RAID配置一致的RAID级别的技术,并且其中每个CPU配置为执行使得在相应DAS控制器中接收的数据被临时存储在所述SSD阵列的高速缓冲存储器内,并且随后被存储在所述PD的RAID阵列的一个或多个PD内的高速缓存算法,其中所述数据具有与其相关联的元数据,并且其中由相应CPU执行的所述高速缓存算法使得所述数据被存储在所述SSD阵列的块内,每个块包括数据完整性字段DIF,并且其中所述相应CPU使得与在相应DAS控制器内接收到的数据相关联的元数据被存储在与所述块中的至少一个块相关联的DIF中的至少一个DIF内,相关联的所述数据在所述块内被存储在所述SSD阵列内。
2.如权利要求1所述的DAS系统,其中所述相应CPU配置为关于数据在所述SSD阵列内的临时存储执行一定级别的RAID技术,从而为临时存储在所述SSD阵列内的数据提供高速缓存一致性。
3.如权利要求1所述的DAS系统,其中由每个相应CPU执行的高速缓存算法包括计算所述元数据的散列的散列算法,并且其中每个相应散列被存储在与所述块中的至少一个块相关联的DIF中的所述至少一个DIF内,所述相关联数据在所述块内被存储在所述SSD阵列内。
4.如权利要求1所述的DAS系统,其中与所述数据相关联的元数据包括数据来源的指示、数据长度的指示、以及所述数据是否已被修改的指示。
5.一种用于保护直接连接存储DAS系统内的高速缓存数据的完整性的方法,该方法包括:
在第一DAS控制器中,接收数据,所述第一DAS控制器包括中央处理单元CPU、本地存储器设备和输入/输出I/O接口设备;
在第一DAS控制器的CPU中,执行使得在所述第一DAS控制器中接收的数据被临时存储在固态盘SSD阵列的一个或多个固态盘中的块内,并且随后被存储在被配置为物理磁盘驱动器PD的廉价或独立磁盘冗余阵列RAID阵列的一个或多个磁硬盘驱动器HDD内的高速缓存算法,其中所述数据具有与其相关联的元数据,并且其中通过所述CPU被临时存储在所述SSD阵列的一个或多个固态盘内的数据的每个块包括数据完整性字段DIF,并且其中所述CPU使得与在DAS控制器内接收到的数据相关联的元数据被存储在与所述块中的至少一个块相关联的DIF中的至少一个DIF内,相关联的所述数据在所述块内被存储在所述SSD阵列内;
在第二DAS控制器中,接收数据,所述第二DAS控制器包括CPU、本地存储器设备和I/O接口设备;和
在所述第二DAS控制器的CPU中,执行使得在所述第二DAS控制器中接收的数据被临时存储在所述SSD阵列的一个或多个SSD中的块内,并且随后被存储在配置为PD的RAID阵列的一个或多个磁HDD内的高速缓存算法,其中在所述第二DAS控制器中接收的所述数据具有与其相关联的元数据,并且其中通过所述第二DAS控制器的CPU被临时存储在所述SSD阵列的一个或多个固态盘内的数据的每个块包括DIF,并且其中所述第二DAS控制器的CPU使得与在所述第二DAS控制器内接收到的数据相关联的元数据被存储在与所述块中的至少一个块相关联的DIF中的至少一个DIF内,相关联的所述数据在所述块内被存储在所述SSD阵列内。
6.如权利要求5所述的方法,其中每个相应CPU配置为关于数据在所述SSD阵列内的临时存储执行一定级别的RAID技术,从而为临时存储在所述SSD阵列内的数据提供高速缓存一致性。
7.如权利要求5所述的方法,其中由每个相应CPU执行的高速缓存算法包括计算所述元数据的散列的散列算法,并且其中每个相应散列被存储在与所述块中的至少一个块相关联的DIF中的所述至少一个DIF内,相关联的所述数据在所述块内被存储在所述SSD阵列内。
8.如权利要求5所述的方法,其中与所述数据相关联的元数据包括数据来源的指示、数据长度的指示、以及所述数据是否已被修改的指示。
9.一种用于保护直接连接存储DAS系统内的高速缓存数据的完整性的装置,所述装置包括:
用于在第一DAS控制器中接收数据的部件;和
用于在所述第一DAS控制器中执行高速缓存算法的部件,该高速缓存算法使得在所述第一DAS控制器中接收的数据被临时存储在固态盘SSD阵列的一个或多个固态盘中的块内,并且随后被存储在被配置为物理磁盘驱动器PD的廉价或独立磁盘冗余阵列RAID阵列的一个或多个磁硬盘驱动器HDD内,其中每个块包括数据完整性字段DIF,并且其中所述数据具有与其相关联的元数据,并且其中所述高速缓存算法使得与在所述DAS控制器内接收到的数据相关联的元数据被存储在与所述块中的至少一个块相关联的DIF中的至少一个DIF内,相关联的所述数据在所述块内被存储在所述SSD阵列内。
10.如权利要求9所述的装置,其中所述DAS控制器配置为关于数据在所述SSD阵列内的临时存储执行一定级别的RAID技术,从而为临时存储在所述SSD阵列内的数据提供高速缓存一致性。
11.如权利要求9所述的装置,其中由所述DAS控制器执行的高速缓存算法包括计算所述元数据的散列的散列算法,并且其中每个相应散列被存储在与所述块中的至少一个块相关联的DIF中的所述至少一个DIF内,相关联的所述数据在所述块内被存储在所述SSD阵列内。
12.如权利要求9所述的装置,其中与所述数据相关联的元数据包括数据来源的指示、数据长度的指示、以及所述数据是否已被修改的指示。
13.一种用于保护直接连接存储DAS系统内的高速缓存数据的完整性的方法,所述方法包括:
在第一DAS控制器中接收数据;和
在所述第一DAS控制器中执行高速缓存算法,该高速缓存算法使得在所述第一DAS控制器中接收的数据被临时存储在固态盘SSD阵列的一个或多个固态盘中的块内,并且随后被存储在被配置为物理磁盘驱动器PD的廉价或独立磁盘冗余阵列RAID阵列的一个或多个磁硬盘驱动器HDD内,其中每个块包括数据完整性字段DIF,并且其中所述数据具有与其相关联的元数据,并且其中所述高速缓存算法使得与在所述DAS控制器内接收到的数据相关联的元数据被存储在与所述块中的至少一个块相关联的DIF中的至少一个DIF内,相关联的所述数据在所述块内被存储在所述SSD阵列内。
14.如权利要求13所述的方法,其中所述DAS控制器配置为关于数据在所述SSD阵列内的临时存储执行一定级别的RAID技术,从而为临时存储在所述SSD阵列内的数据提供高速缓存一致性。
15.如权利要求13所述的方法,其中由所述DAS控制器执行的高速缓存算法包括计算所述元数据的散列的散列算法,并且其中每个相应散列被存储在与所述块中的至少一个块相关联的DIF中的所述至少一个DIF内,相关联的所述数据在所述块内被存储在所述SSD阵列内。
16.如权利要求13所述的方法,其中与所述数据相关联的元数据包括数据来源的指示、数据长度的指示、以及所述数据是否已被修改的指示。
17.一种直接连接存储DAS系统,包括:
配置为物理磁盘驱动器PD的廉价或独立磁盘冗余阵列RAID阵列的多个磁硬盘驱动器HDD;
配置为高速缓冲存储器的固态盘SSD阵列;以及
连接到所述PD的RAID阵列并且连接到所述SSD阵列的至少第一和第二DAS控制器,每个DAS控制器具有中央处理单元CPU、本地存储器设备和输入/输出I/O接口设备,其中每个CPU和每个本地存储器设备配置为执行与所述PD的RAID阵列的RAID配置一致的RAID级别的技术,并且其中每个CPU配置为执行使得在相应DAS控制器中接收的数据被临时存储在所述SSD阵列的高速缓冲存储器内,并且随后被存储在所述PD的RAID阵列的一个或多个PD内的高速缓存算法,其中相应CPU配置为关于数据在所述SSD阵列内的临时存储执行一定级别的RAID技术,从而为临时存储在所述SSD阵列内的数据提供高速缓存一致性。
18.如权利要求17所述的DAS系统,其中所述数据具有与其相关联的元数据,并且其中所述DAS控制器的每个本地存储器设备具有其用作高速缓冲存储器的部分,并且其中由所述相应CPU执行的WB高速缓存算法使得与在相应DAS控制器内接收到的数据相关联的元数据被临时存储在相应本地存储器设备的相应高速缓冲存储器部分内,并且随后被存储在PD的RAID阵列的一个或多个PD内。
19.一种用于保护直接连接存储DAS系统内的高速缓存数据的完整性的方法,该方法包括:
在第一DAS控制器中,接收数据,所述第一DAS控制器包括中央处理单元CPU、本地存储器设备和输入/输出I/O接口设备;以及
在第一DAS控制器的CPU中,执行使得在所述第一DAS控制器中接收的数据被临时存储在固态盘SSD阵列的一个或多个固态盘内,并且随后被存储在被配置为物理磁盘驱动器PD的廉价或独立磁盘冗余阵列RAID阵列的一个或多个磁硬盘驱动器HDD内的高速缓存算法,其中所述CPU配置为关于数据在所述SSD阵列内的临时存储执行一定级别的RAID技术,从而为临时存储在所述SSD阵列内的数据提供高速缓存一致性。
20.如权利要求19所述的方法,其中所述数据具有与其相关联的元数据,并且其中所述DAS控制器的本地存储器设备具有其用作高速缓冲存储器的部分,并且其中由所述CPU执行的WB高速缓存算法使得与在所述DAS控制器内接收到的数据相关联的元数据被临时存储在所述本地存储器设备的所述高速缓冲存储器部分内,并且随后被存储在PD的RAID阵列的一个或多个PD内。
CN201010200765.1A 2009-06-08 2010-06-08 用于保护高速缓存数据完整性的方法和装置 Active CN101982816B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US26805509P 2009-06-08 2009-06-08
US61/268,055 2009-06-08

Publications (2)

Publication Number Publication Date
CN101982816A CN101982816A (zh) 2011-03-02
CN101982816B true CN101982816B (zh) 2015-04-08

Family

ID=42829597

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010200765.1A Active CN101982816B (zh) 2009-06-08 2010-06-08 用于保护高速缓存数据完整性的方法和装置

Country Status (6)

Country Link
US (1) US8732396B2 (zh)
EP (1) EP2264607A3 (zh)
JP (2) JP5489868B2 (zh)
KR (1) KR101345572B1 (zh)
CN (1) CN101982816B (zh)
TW (1) TWI451257B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8495469B2 (en) 2011-05-16 2013-07-23 International Business Machines Corporation Implementing enhanced IO data conversion with protection information model including parity format of data integrity fields
US9921954B1 (en) * 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
US9256384B2 (en) * 2013-02-04 2016-02-09 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for reducing write latency in a data storage system by using a command-push model
FR3010598B1 (fr) * 2013-09-06 2017-01-13 Sagem Defense Securite Procede de gestion de coherence de caches
KR102146037B1 (ko) 2013-11-14 2020-08-19 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 동작 방법
CN104199751A (zh) * 2014-08-27 2014-12-10 山东超越数控电子有限公司 一种刀片服务器中备份冗余硬盘的系统识别方法
US11237727B2 (en) * 2015-10-05 2022-02-01 Weka.IO Ltd. Electronic storage system
US10025664B2 (en) 2015-12-22 2018-07-17 Western Digital Technologies, Inc. Selective buffer protection
CN107870731B (zh) * 2016-09-23 2021-07-27 伊姆西Ip控股有限责任公司 独立盘冗余阵列系统的管理方法和电子设备
US10976361B2 (en) * 2018-12-20 2021-04-13 Advantest Corporation Automated test equipment (ATE) support framework for solid state device (SSD) odd sector sizes and protection modes
CN112286625B (zh) * 2020-09-11 2022-07-08 苏州浪潮智能科技有限公司 一种基于云平台多用户的镜像缓存状态管理方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101415024A (zh) * 2007-09-28 2009-04-22 赛门铁克公司 利用协作存储设备冗余地存储和检索数据

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4476526A (en) * 1981-11-27 1984-10-09 Storage Technology Corporation Cache buffered memory subsystem
JP3181398B2 (ja) * 1992-10-06 2001-07-03 三菱電機株式会社 アレイ型記録装置
US5640506A (en) * 1995-02-15 1997-06-17 Mti Technology Corporation Integrity protection for parity calculation for raid parity cache
US6321298B1 (en) * 1999-01-25 2001-11-20 International Business Machines Corporation Full cache coherency across multiple raid controllers
US6574709B1 (en) * 1999-09-30 2003-06-03 International Business Machine Corporation System, apparatus, and method providing cache data mirroring to a data storage system
JP2001222385A (ja) * 2000-02-10 2001-08-17 Hitachi Ltd 記憶装置および情報処理システム
US6578160B1 (en) * 2000-05-26 2003-06-10 Emc Corp Hopkinton Fault tolerant, low latency system resource with high level logging of system resource transactions and cross-server mirrored high level logging of system resource transactions
JP2002023966A (ja) * 2000-06-30 2002-01-25 Toshiba Corp 転送データを冗長化したディスクシステム
US7003688B1 (en) * 2001-11-15 2006-02-21 Xiotech Corporation System and method for a reserved memory area shared by all redundant storage controllers
US7127633B1 (en) * 2001-11-15 2006-10-24 Xiotech Corporation System and method to failover storage area network targets from one interface to another
US7181581B2 (en) * 2002-05-09 2007-02-20 Xiotech Corporation Method and apparatus for mirroring data stored in a mass storage system
JP2004021811A (ja) * 2002-06-19 2004-01-22 Hitachi Ltd 不揮発メモリを使用したディスク制御装置
JP2004054845A (ja) * 2002-07-24 2004-02-19 Sony Corp データ管理装置
US7043610B2 (en) * 2002-08-19 2006-05-09 Aristos Logic Corporation System and method for maintaining cache coherency without external controller intervention
CA2498154A1 (en) * 2002-09-16 2004-03-25 Tigi Corporation Storage system architectures and multiple caching arrangements
US7076606B2 (en) * 2002-09-20 2006-07-11 Quantum Corporation Accelerated RAID with rewind capability
WO2004114116A1 (ja) * 2003-06-19 2004-12-29 Fujitsu Limited キャッシュ二重化方式におけるミラーキャッシュからの書き戻し方法
US20050066230A1 (en) * 2003-09-23 2005-03-24 Bean Robert George Data reliabilty bit storage qualifier and logical unit metadata
JP4383321B2 (ja) * 2004-11-09 2009-12-16 富士通株式会社 記憶制御装置および外部記憶装置
JP4805660B2 (ja) * 2005-02-08 2011-11-02 富士通株式会社 ディスクライト抜け検出装置
JP2006268524A (ja) * 2005-03-24 2006-10-05 Fujitsu Ltd 記憶装置、その制御方法及びプログラム
US20060294300A1 (en) * 2005-06-22 2006-12-28 Seagate Technology Llc Atomic cache transactions in a distributed storage system
KR20070029358A (ko) * 2005-09-09 2007-03-14 주식회사 태진인포텍 고속 메모리 기반의 스토리지 시스템 및 그 제어방법
US7444541B2 (en) * 2006-06-30 2008-10-28 Seagate Technology Llc Failover and failback of write cache data in dual active controllers
US20080140724A1 (en) * 2006-12-06 2008-06-12 David Flynn Apparatus, system, and method for servicing object requests within a storage controller
JP4362134B2 (ja) * 2007-02-09 2009-11-11 富士通株式会社 データアクセス方法、チャネルアダプタ、データアクセス制御装置およびデータアクセスプログラム
US20090063895A1 (en) * 2007-09-04 2009-03-05 Kurt Smith Scaleable and maintainable solid state drive
US7873878B2 (en) * 2007-09-24 2011-01-18 International Business Machines Corporation Data integrity validation in storage systems

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101415024A (zh) * 2007-09-28 2009-04-22 赛门铁克公司 利用协作存储设备冗余地存储和检索数据

Also Published As

Publication number Publication date
EP2264607A3 (en) 2011-07-20
EP2264607A2 (en) 2010-12-22
US8732396B2 (en) 2014-05-20
TWI451257B (zh) 2014-09-01
JP2010282628A (ja) 2010-12-16
CN101982816A (zh) 2011-03-02
TW201107981A (en) 2011-03-01
JP5489868B2 (ja) 2014-05-14
KR20100131949A (ko) 2010-12-16
US20100312960A1 (en) 2010-12-09
JP2014038660A (ja) 2014-02-27
KR101345572B1 (ko) 2014-01-06

Similar Documents

Publication Publication Date Title
CN101982816B (zh) 用于保护高速缓存数据完整性的方法和装置
US10191676B2 (en) Scalable storage protection
US10019362B1 (en) Systems, devices and methods using solid state devices as a caching medium with adaptive striping and mirroring regions
JP5038897B2 (ja) データ復旧のためのパリティ情報の記憶
US10452498B2 (en) Fault tolerance for persistent main memory
US8060772B2 (en) Storage redundant array of independent drives
US9817715B2 (en) Resiliency fragment tiering
US20160217040A1 (en) Raid parity stripe reconstruction
US8959420B1 (en) Data storage system and method for data migration between high-performance computing architectures and data storage devices using memory controller with embedded XOR capability
WO2017140262A1 (zh) 数据更新技术
WO2015058542A1 (zh) 独立冗余磁盘阵列的重构方法及装置
US20140351523A1 (en) System and Method of Rebuilding READ Cache for a Rebooted Node of a Multiple-Node Storage Cluster
TW202011202A (zh) 持久性儲存元件管理
US20230068214A1 (en) Storage system
US9348525B2 (en) Systems and methods for a storage array-managed initiator cache
US20160371192A1 (en) Apparatus and method for performing cache management in a storage system
WO2022146177A1 (ru) Способ хранения данных в избыточном массиве независимых дисков с повышенной отказоустойчивостью
US20120017057A1 (en) Data copying device, method for copying data and data storage device
KR20230101405A (ko) 분산 파일 시스템에서 이레이저 코딩을 가속화하는 전자 장치 및 그 동작 방법
Rosenfeld et al. Using disk add-ons to withstand simultaneous disk failures with fewer replicas

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160812

Address after: Singapore Singapore

Patentee after: Avago Technologies General IP (Singapore) Pte. Ltd.

Address before: American Pennsylvania

Patentee before: LSI Corp.

TR01 Transfer of patent right

Effective date of registration: 20181024

Address after: Singapore Singapore

Patentee after: Avago Technologies General IP (Singapore) Pte. Ltd.

Address before: Singapore Singapore

Patentee before: Avago Technologies General IP (Singapore) Pte. Ltd.

TR01 Transfer of patent right