CN103984642A - 冗余辅助储存器缓存的重建 - Google Patents

冗余辅助储存器缓存的重建 Download PDF

Info

Publication number
CN103984642A
CN103984642A CN201410042760.9A CN201410042760A CN103984642A CN 103984642 A CN103984642 A CN 103984642A CN 201410042760 A CN201410042760 A CN 201410042760A CN 103984642 A CN103984642 A CN 103984642A
Authority
CN
China
Prior art keywords
buffer memory
equipment
memory device
reservoir
reservoir buffer
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.)
Granted
Application number
CN201410042760.9A
Other languages
English (en)
Other versions
CN103984642B (zh
Inventor
S·毕斯瓦斯
K·舍克
S·萨曼特
D·K·梅尔德哈
N·S·瓦达拉曼尼
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 International Sales 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 CN103984642A publication Critical patent/CN103984642A/zh
Application granted granted Critical
Publication of CN103984642B publication Critical patent/CN103984642B/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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0808Multiuser, multiprocessor or multiprocessing cache systems with cache invalidating means
    • 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1088Reconstruction on already foreseen single or plurality of spare disks
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1009Cache, i.e. caches used in RAID system with parity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1028Distributed, i.e. distributed RAID systems with parity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Quality & Reliability (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本公开涉及冗余辅助储存器缓存的重建。描述了用于重建包括第一和第二储存器设备的冗余辅助储存器缓存的系统和技术。接收表示由第一储存器缓存设备储存的并且与主储存器设备的一区域相关联的部分信息的有效性的元数据条目。当确定与主储存器设备的该区域相关联的部分信息的有效性时,请求对与由第一储存器缓存设备储存的部分信息相关联的主储存器设备的所述区域的区域锁定。然后将与主储存器设备的所述区域相关联的部分信息和对应的元数据条目从第一储存器缓存设备复制到第二储存器缓存设备以重建第二储存器缓存设备。

Description

冗余辅助储存器缓存的重建
技术领域
本公开涉及用于重建储存系统中的冗余辅助缓存的系统和技术。
背景技术
在储存器(storage)体系架构中,本地固态驱动器(SSD)缓存可以用于辅助缓存。这些配置中的辅助缓存设备通常是冗余的,以便可靠地缓存“脏”数据(例如,辅助缓存中的反映主储存器内容的数据)。然而,当冗余驱动器发生故障时,冗余驱动器的重建操作可能是复杂且费时的,因为相同设备可能正在缓存不同虚拟驱动器(VD)源头的数据。在不执行后台输入/输出(IO)时,可以相对容易地离线重建SSD卷。然而,此技术需要使IO系统离线较长时间,不适于涉及任务关键数据、始终“ON”的系统等的实际应用情况。一种避免重建的技术是从幸存的驱动器去除脏数据(例如,从SSD缓存向主储存器清空脏数据),使得数据不被交换以用于重建。一旦脏数据已被去除(清空),脏数据的冗余储存可被执行以用于随后的写操作IO。然而,在SSD具有大储存容量的情况下(例如,大约数百万兆字节的数据),向磁盘清空脏数据是非常费时的,并且对性能有损害,因为不能重新开始新的WRITE缓存(脏数据生成),除非全部脏数据被清空到磁盘。这在数据跨多个服务器被镜像的配置中(例如,每当一服务器重启时就需要清空全部脏缓存的情况),即使当被镜像的驱动器从储存系统断开仅少量时间(由于对应的服务器重启),也可能是成问题的。
发明内容
描述了用于重建包括第一储存设备和第二储存设备的冗余辅助储存器缓存的系统和技术。接收表示由第一储存器缓存设备储存的并且与主储存设备的一区域相关联的部分信息的有效性的元数据条目。当与所述主储存设备的所述区域相关联的部分信息的效性时得到确定时,请求对与由所述第一储存器缓存设备储存的所述部分信息相关联的所述主储存设备的所述区域的区域锁定。然后,将与所述主储存设备的所述区域相关联的所述部分信息和对应的元数据条目从所述第一储存器缓存设备复制到第二储存器缓存设备以重建所述第二储存器缓存设备。在实施例中,维护表示重建完成水平的水印。水印之上的IO被缓存并被像命中冗余在线辅助缓存那样处理。
根据示范性实施例,提供一种用于重建包括第一储存器设备和第二储存器设备的冗余辅助储存器缓存的系统。所述系统可包括:元数据接收单元,配置成接收元数据条目,所述元数据条目表示由第一储存器缓存设备储存的并且与主储存器设备的一区域相关联的部分信息的有效性;有效性确定单元,配置成确定与所述主储存器设备的所述区域相关联的所述部分信息的所述有效性;区域锁定请求单元,配置成当确定了与所述主储存器设备的所述区域相关联的所述部分信息的有效性时,请求对与由所述第一储存器缓存设备储存的所述部分信息相关联的所述主储存器设备的所述区域的区域锁定;以及复制单元,配置成将与所述主储存器设备的所述区域相关联的所述部分信息和对应的所述元数据条目从所述第一储存器缓存设备复制到第二储存器缓存设备以重建所述第二储存器缓存设备。
在示例中,该系统还可包括水印单元,配置为维护表示重建完成水平的水印。
在示例中,所述系统还可包括:指示接收单元,配置为在请求了对与由所述第一储存器缓存设备储存的所述部分信息相关联的所述主储存器设备的所述区域的区域锁定之后,接收所述元数据条目已经改变的指示;以及释放单元,配置成释放对与由所述第一储存器缓存设备储存的所述部分信息相关联的所述主储存器设备的所述区域的区域锁定。
提供本公开内容是为了以简化形式介绍将在下面的具体实施方式中进一步描述的一些概念。本公开内容无意标识出所要求保护的主题的关键特征或必要特征,也无意用于帮助确定所要求保护的主题的范围。
附图说明
本公开的其他实施例将变得明显。
图1是示出了向客户端提供主数据储存的系统的框图,其中该系统实施根据本公开的示范性实施例的冗余辅助储存器缓存。
图2是示出了根据本公开的示范性实施例的实施冗余辅助储存器缓存的数据储存系统(诸如图1所示的系统)的单个控制器的框图。
图3是示出了根据本公开的示范性实施例的实施冗余辅助储存器缓存的数据储存系统(诸如图1所示的系统)的两个控制器的框图,其中第一控制器连接到第二控制器以实施写回数据(write back data)的镜像。
图4是示出了根据本公开的示范性实施例的用于在向客户端提供主数据储存的系统中重建辅助储存器缓存的方法的流程图。
图5是根据本公开的示范性实施例的系统的功能框图。
具体实施方式
一般性地参考图1到图3,描述了系统100。系统100包括连接到储存设备(例如,主储存器104)的一个或多个信息处理系统设备(例如,服务器102)。在本公开的实施例中,主储存器104包括一个或多个储存设备,包括但不一定局限于:独立磁盘冗余阵列(RAID)子系统设备106、光盘(CD)塔设备108、磁带库设备110等。然而,这些储存设备仅以示例的方式提供,不意味着对本公开的限制。因此,其他储存设备也可以与系统100一起使用,诸如数字万用盘(DVD)加载器和塔设备等。
在实施例中,服务器102中的一个或多个通过诸如储存区域网络(SAN)之类的网络112(例如,串接SCSI(SAS)网络、光纤通道网络等)连接到主储存器104。例如,服务器102通过一个或多个集线器、桥接器、交换机等连接到主储存器104。在本公开的实施例中,配置系统100,使得主储存器104向一个或多个客户端114提供块级别(block-level)的数据储存。例如,客户端114中的一个或多个通过诸如局域网(LAN)之类的网络116(例如,以太网)连接到服务器102,配置服务器102,使得主储存器104中包括的储存设备被客户端114用于数据储存。
服务器102中的一个或多个包括辅助储存器缓存118和/或与之耦接。辅助储存器缓存118配置成向服务器102提供本地缓存。以此方式,辅助储存器缓存118通过对从主储存器104接收到的数据和/或被引导至主储存器104的数据(例如,并非从服务器102通过例如交换机交织结构引导所有数据至主储存器104,然后回到服务器102)进行缓存来缩短延迟和/或增大可用的每秒输入/输出操作(IOPS)的次数。例如,要被写回到主储存器104的数据被收集在辅助储存器缓存118中,直到包含该数据的缓存块将要被修改和/或被新内容替代,此时数据被写回到主储存器104。
辅助储存器缓存118包括一个或多个数据储存设备。例如,辅助储存器缓存118包括驱动器120,以及可能包括一个或多个额外的驱动器,诸如驱动器122、驱动器124等。在本公开的实施例中,驱动器120、122和/或124中的一个或多个包括诸如固态驱动器(SSD)之类的储存设备。然而,SSD只是作为示例来提供的,不对本公开构成限制。因此,在其他实施例中,驱动器120、122和/或124中的一个或多个可以是另一数据储存设备。辅助储存器缓存118提供冗余数据储存。例如,使用数据镜像和/或保护技术来配置辅助储存器缓存118,包括但不一定局限于:RAID1、RAID5、RAID6等。以此方式,在辅助储存器缓存118中保护脏的写回数据(还没有提交到主储存器104的写回数据)。
在一些实施例中,驱动器120上储存的数据被复制在驱动器122(可能地,以及驱动器124等)上,以提供数据冗余。在这些实施例中,辅助储存器缓存118提供服务器级别的驱动器故障保护。然而,此示例不对本公开构成限制。在其他实施例中,数据跨多个服务器102被镜像。例如,两个或更多服务器102可以使用与每一个服务器102相关联的每一个辅助储存器缓存118所包括的驱动器120来镜像数据。以此方式,如果一个服务器发生故障,则数据可以从另一服务器恢复。另外,还可以在服务器级别以及跨多个服务器提供数据冗余。例如,两个或更多服务器102可以使用与每一个服务器102相关联的每一个辅助储存器缓存118所包括的驱动器120、驱动器122以及可能额外的驱动器(例如,驱动器124)来镜像数据。在此示例中,在服务器级别,在驱动器122(以及有可能驱动器124等)上复制储存在驱动器120上的数据,并且还跨与多个服务器102相关联的多个辅助储存器缓存118镜像数据。因此将理解,措辞“冗余”在此处关于辅助储存器缓存118的储存设备使用时将把与相同服务器相关联的储存设备称为另一储存设备,与不同服务器相关联的储存设备称为另一设备,等等。
现在参考图2和图3,系统100的控制器126包括IO和缓存模块128。IO和缓存模块128通信地耦合到本地读/写直通(WT)缓存130。读/写直通缓存130配置成与主储存器104一起用新数据更新(例如,当写入操作被定向到已经缓存在读取缓存中的区域时)。IO和缓存模块128还可通信地耦合到高可用性服务模块132。IO和缓存模块128往返于高可用性服务模块132发送和接收消息和本地写回缓存数据。在本公开的实施例中,高可用性服务模块132使用控制器126的写回缓存数据的本地副本储存和取回本地写回缓存数据。该控制器126通信地耦合到一冗余控制器126,该冗余控制器126也配置成使用写回缓存数据的本地副本储存和取回本地写回缓存数据。例如,一个控制器126的高可用性服务模块132通过串接小型计算机系统接口(SCSI)链路连接到另一控制器126的高可用性服务模块132。在此配置中,两个控制器126彼此镜像它们的脏写回数据,以便一个控制器126的故障导致另一个控制器126上的数据可用。例如,一个控制器126为另一个控制器126储存和取回镜像的写回缓存数据,而另一个控制器126为第一控制器126储存和取回镜像的写回缓存数据(例如,如图3所示)。
控制器126,包括其组件的某些或全部,可以在计算机的控制下进行操作。例如,处理器134可以与控制器126一起被包括,或包括在控制器126中,以使用软件、固件、硬件(例如,固定逻辑电路)、手动处理或它们的组合来控制此处所描述的系统100的组件和功能。这里使用时术语“控制器”、“功能”、“服务”和“逻辑”一般表示软件、固件、硬件、或一起控制系统100的软件、固件或硬件的组合。在软件实现的情况下,模块、功能或逻辑表示当在处理器(例如,一个或多个CPU)上运行时执行特定任务的程序代码。程序代码可以储存在一个或多个计算机可读储存设备(例如,内部储存器和/或一个或多个有形介质)等上。此处所描述的结构、功能、方法和技术可以在具有各种处理器的各种商业计算平台上实现。
处理器134为控制器126提供处理功能,并且可包括任意数量的处理器、微控制器或其他处理系统,以及用于储存由系统100访问或生成的数据和其他信息的常驻或外部储存器。处理器134可以执行实现此处所描述的技术的一个或多个软件程序。处理器134不限于用来制造它的材料或其中使用的处理机制,如此,处理器134可以通过半导体和/或晶体管(例如,使用电子集成电路(IC)组件)等来实现。
控制器126包括通信接口136。通信接口136操作上配置成与系统100的组件进行通信。例如,通信接口136可以配置成发送用于储存在系统100中的数据,从系统100中的储存器取回数据等。通信接口136也与处理器134通信地耦合,以促进系统100的组件和处理器134之间的数据传输(例如,用于将从与系统100通信耦合的设备接收到的输入传递到处理器134)。应注意,尽管通信接口136被描述为系统100的组件,但是通信接口136的一个或多个组件可被实现为通过有线和/或无线连接通信耦合到系统100的外部组件。
通信接口136和/或处理器134可配置成与各种不同的网络进行通信,包括但不一定局限于:广域蜂窝电话网络,诸如3G蜂窝网络、4G蜂窝网络、或全球移动通信系统(GSM)网络;无线计算机通信网络,诸如WiFi网络(例如,使用IEEE802.11网络标准操作的无线局域网(WLAN));互联网;因特网;广域网(WAN);局域网(LAN);个人区域网络(PAN)(例如,使用IEEE802.15网络标准操作的无线个人区域网络(WPAN);公用电话网;外联网;内联网等。然而,此列表只是作为示例来提供的,不对本公开构成限制。此外,通信接口136可配置成与单个网络或跨不同接入点的多个网络进行通信。
控制器126还包括存储器(memory)138。存储器138是有形的计算机可读储存介质的示例,其提供储存功能以储存与控制器126的操作相关联的各种数据,诸如软件程序和/或代码段,或指示处理器134以及可能控制器126的其他组件以执行此处所描述的功能的其他数据。因此,存储器138可以储存数据,诸如用于操作控制器126(包括其组件)的指令程序等。应注意,虽然描述了单个存储器138,但是可以使用各种类型和组合的存储器(例如,有形的非暂时性存储器)。存储器138可以与处理器134集成,可以包括独立存储器,或者可以是二者的组合。存储器138可包括但不一定局限于:可移除和不可移除的存储器组件,诸如随机存取存储器(RAM)、只读存储器(ROM)、闪存(例如,安全数字(SD)存储卡、小型SD存储卡和/或微型SD存储卡)、磁存储器、光存储器、通用串行总线(USB)存储设备、硬盘存储器、外部存储器等。
现在参考图4,描述了用于为向若干客户端提供主数据储存器的系统重建辅助储存器缓存的示例技术。图4描绘了在一示范性实施例中用于重建辅助储存器缓存(诸如图1至图3所示且上文所描述的辅助储存器缓存118)的过程400。例如当辅助储存器缓存的驱动器发生故障并且被另一驱动器替代时,当驱动器未进行缓存操作达一段时间时(例如,由于服务器关闭所导致)并且稍后恢复时,等等,辅助储存器缓存118被重建。在本公开的实施例中,当输入/输出在源卷(source volume)上运行时,辅助储存器缓存118被重建。此外,根据需要,只对数据(例如,只对储存器卷的储存脏缓存写回数据的部分)执行重建操作。
在本公开的实施例中,元数据储存在储存器卷中。元数据表示储存在辅助储存器缓存118中的信息的有效性,并且还包括与辅助储存器缓存118中的信息相关联的源卷(例如,源VD)和对应的逻辑块地址(LBA)信息。该信息用于启动例如对源VD的区域锁定。在本公开的实施例中,元数据也可以包括下列信息,诸如但不一定局限于:储存器的一区域被访问的次数、缓存类型(例如,WRITE缓存、READ缓存/WT缓存等)。在某些实施例中,元数据与缓存数据分开储存(例如,在单独的位置),并且元数据的布局是预定的(例如,连续的)。例如,第一窗口的元数据是元数据布局中的第一元数据条目,等等。辅助储存器缓存元数据包括有关储存卷中的有效数据和该数据与哪些源卷相关联的信息。重建操作使用元数据来避免储存器卷上的区域锁定。在某些实施例中,元数据还用于执行辅助储存器缓存的选择性重建和/或基于存在的有效数据来加速重建操作。
在所示过程400中,输入/输出得以保留,来自辅助储存器缓存的元数据被读取到存储器中,然后输入/输出被重启(框410)。例如,参考图1至图3,通过获取全局命令块,为一个或多个储存器卷(例如,驱动器120、122和/或124)保留所有输入/输出。元数据被读取到存储器138中。在某些实施例中,处理器134包括控制程序以使存储器138中的数据与对储存器卷中的数据的改变同步,和/或利用永久性元数据来更新存储器138。然后,通过释放全局命令块来重启驱动器120、122和/或124的输入/输出操作。
接下来,元数据条目被取回(判断框420)。继续参考图1-3,可以顺序地访问储存在存储器138中的每个元数据条目。如果没有发现元数据条目,则过程400前进以完成辅助储存器缓存的重建(框422)。当发现元数据条目时,过程400前进以检查元数据条目的有效性(判断框430)。如果元数据条目不是有效的,则过程400前进以设置/递增重建水印(rebuild watermark)(框470)。例如,跳过储存器卷的相关区域。如果元数据条目有效,则过程400前进以基于该元数据来请求对源卷的区域锁定(框440)。例如,过程400根据元数据确定源卷和对应的逻辑块地址(LBA),并且基于元数据条目请求对源卷的区域锁定。
然后,检查元数据(判断框450)。如果元数据已经改变,则过程400前进以释放区域锁定(框452),然后检查元数据条目的有效性(判断框430)。如果元数据尚未改变,则过程400前进以重建数据,然后更新元数据(框460)。例如,参考图1-3,在辅助储存器缓存118的镜像臂(mirror arm)上重建数据,然后镜像臂元数据被更新。接下来,设置/增大重建水印,然后释放区域锁定(框470)。过程400然后前进以取回下一元数据条目(判断框420)。
在过程400的执行过程中,常规输入/输出操作可以继续在后台执行,对于在重建水印之上的所有输入/输出操作,储存器卷被视为在线,而在重建水印之下时,被视为降级。因此,逐个元数据记录地执行重建,当正在处理特定元数据记录时,采取对源的锁定,其制止了去往该特定记录的任何输入/输出(例如,在元数据级别以及在LBA级别)。通过基于与缓存的数据相关联的元数据来执行重建操作,可以对数据所属的逻辑卷执行区域锁定(例如,并非对缓存卷本身采取区域锁定)。此外,只对储存器卷的具有冗余脏写回缓存数据的部分执行选择性重建。这提高了IO性能,并且缩短了辅助储存器缓存的重建时间(例如,特别是当跨多个服务器执行重建操作时)。
根据本公开的一些示范性实施例,图5示出根据本公开的原理配置的系统500的功能框图。系统500的功能框可以通过硬件、软件、或者硬件与软件的组合来实现,以实施本公开的原理。本领域技术人员将理解,图5描述的功能框可以组合或细分为子框以实施本公开的原理。因此,这里的描述支持此处描述的功能框的任何可行的组合、细分或进一步定义。
参照图5,示出根据本公开的示范性实施例用于重建诸如图1所示的辅助储存器缓存118之类的冗余辅助储存器缓存的系统500。如上所述,该冗余辅助储存器缓存可包括第一储存器设备和第二储存器设备。系统500可包括元数据接收单元510。元数据接收单元510可接收元数据条目,所述元数据条目表示由第一储存器缓存设备储存的并且与主储存器设备(诸如图1所示的主储存器设备104)的一区域相关联的部分信息的有效性。有效性确定单元520可以设置在系统500中以确定与所述主储存器设备的所述区域相关联的所述部分信息的所述有效性。系统500还可包括区域锁定请求单元530。当有效性确定单元520确定了与所述主储存器设备的所述区域相关联的所述部分信息的有效性时,区域锁定请求单元530可以请求对与由所述第一储存器缓存设备储存的所述部分信息相关联的所述主储存器设备的所述区域的区域锁定。然后,复制单元540可以将与所述主储存器设备的所述区域相关联的所述部分信息和对应的所述元数据条目从所述第一储存器缓存设备复制到第二储存器缓存设备以重建所述第二储存器缓存设备。
在示例中,系统500还可包括水印单元560。水印单元560维护表示重建完成水平的水印。
在示例中,系统500还可包括指示接收单元570和释放单元580。在区域锁定请求单元530请求了对与由所述第一储存器缓存设备储存的所述部分信息相关联的所述主储存器设备的所述区域的区域锁定之后,指示接收单元570可能接收到所述元数据条目已经改变的指示。于是,释放单元580可释放对与由所述第一储存器缓存设备储存的所述部分信息相关联的所述主储存器设备的所述区域的区域锁定。
一般而言,这里描述的任何功能都可以使用硬件(例如,诸如集成电路之类的固定逻辑电路)、软件、固件、手动处理或它们的组合来实现。如此,以上公开中论述的框一般表示硬件(例如,诸如集成电路之类的固定逻辑电路)、软件、固件、或它们的组合。在本公开的以集成电路形式表现的实施例中,以上公开中论述的各种框可以与其他功能一起被实现为集成电路。这样的集成电路可以包括给定框、系统或电路的全部功能,或者框、系统或电路的部分功能。此外,可以跨多个集成电路实现框、系统或电路的元件。这样的集成电路可以包括各种集成电路,包括但不一定局限于:系统级芯片(SoC)、单片式集成电路、倒装芯片集成电路、多片模块集成电路和/或混合信号集成电路。在本公开的以软件形式表现的实施例中,以上公开中论述的各种框表示当在处理器上运行时执行指定任务的可执行指令(例如,程序代码)。这些可执行指令可以储存在一个或多个有形计算机可读介质中。在某些这样的实施例中,整个系统、框或电路可以使用其软件或固件等价物来实现。在某些实施例中,给定系统、框或电路的一部分可以以软件或固件来实现,而其他部分以硬件来实现。
尽管已经用对结构特征和/或方法动作专用的语言描述了本公开的实施例,但是可理解,所附权利要求书中定义的主题不一定受到所描述的这些具体实施例的限制。虽然讨论了各种配置,但是,在不偏离本公开的原理的情况下,可以以各种方式构建设备、系统、子系统、组件等。相反,具体特征和动作是作为实现权利要求的实施例来公开的。

Claims (20)

1.一种用于重建包括第一储存器设备和第二储存器设备的冗余辅助储存器缓存的系统,所述系统包括:
处理器,被配置成接收元数据条目,所述元数据条目表示由第一储存器缓存设备储存的并且与主储存器设备的一区域相关联的部分信息的有效性;以及
存储器,被配置成储存表示由所述第一储存器缓存设备储存的所述部分信息的有效性的所述元数据条目,所述存储器上储存有计算机可执行指令,所述计算机可执行指令被配置成由所述处理器执行以:
确定与所述主储存器设备的所述区域相关联的所述部分信息的有效性,
当确定了与所述主储存器设备的所述区域相关联的所述部分信息的有效性时,请求对与由所述第一储存器缓存设备储存的所述部分信息相关联的所述主储存器设备的所述区域的区域锁定,以及
将与所述主储存器设备的所述区域相关联的所述部分信息和对应的所述元数据条目从所述第一储存器缓存设备复制到第二储存器缓存设备以重建所述第二储存器缓存设备。
2.如权利要求1所述的系统,其中,所述第一储存器缓存设备和所述第二储存器缓存设备与单个信息处理系统设备相关联。
3.如权利要求1所述的系统,其中,所述第一储存器缓存设备和所述第二储存器缓存设备与不同的信息处理系统设备相关联。
4.如权利要求1所述的系统,其中,串接小型计算机系统接口链路被用于将所述第一储存器缓存设备连接到所述第二储存器缓存设备。
5.如权利要求1所述的系统,其中,所述主储存器设备包括独立磁盘设备的冗余阵列。
6.如权利要求1所述的系统,其中,所述冗余辅助储存器缓存通过储存器区域网络与所述主储存器设备耦接。
7.如权利要求1所述的系统,其中,所述系统被制造在集成电路中。
8.一种用于重建包括第一储存器设备和第二储存器设备的冗余辅助储存器缓存的设备,所述设备包括:
用于接收元数据条目的装置,所述元数据条目表示由第一储存器缓存设备储存的并且与主储存器设备的一区域相关联的部分信息的有效性;
用于当确定了与所述主储存器设备的所述区域相关联的所述部分信息的有效性时,请求对与由所述第一储存器缓存设备储存的所述部分信息相关联的所述主储存器设备的所述区域的区域锁定的装置;以及
用于将与所述主储存器设备的所述区域相关联的所述部分信息和对应的所述元数据条目从所述第一储存器缓存设备复制到第二储存器缓存设备以重建所述第二储存器缓存设备的装置。
9.如权利要求8所述的设备,其中,所述第一储存器缓存设备和所述第二储存器缓存设备与单个信息处理系统设备相关联。
10.如权利要求8所述的设备,其中,所述第一储存器缓存设备和所述第二储存器缓存设备与不同的信息处理系统设备相关联。
11.如权利要求10所述的设备,其中,串接小型计算机系统接口链路被用于将所述第一储存器缓存设备连接到所述第二储存器缓存设备。
12.如权利要求8所述的设备,其中,所述主储存器设备包括独立磁盘设备的冗余阵列。
13.如权利要求8所述的设备,其中,所述冗余辅助储存器缓存通过储存器区域网络与所述主储存器设备耦接。
14.如权利要求8所述的设备,还包括:
用于在请求对与由所述第一储存器缓存设备储存的所述部分信息相关联的所述主储存器设备的所述区域的所述区域锁定之后,接收所述元数据条目已经改变的指示的装置;
用于释放对与由所述第一储存器缓存设备储存的所述部分信息相关联的所述主储存器设备的所述区域的所述区域锁定的装置;以及
用于接收后续元数据条目的装置,所述后续元数据条目表示由所述第一储存器缓存设备储存的并且与所述主储存器设备的所述区域相关联的另一部分信息的有效性。
15.一种用于重建包括第一储存器设备和第二储存器设备的冗余辅助储存器缓存的计算机实施的方法,所述计算机实施的方法包括:
接收元数据条目,所述元数据条目表示由第一储存器缓存设备储存的并且与主储存器设备的一区域相关联的部分信息的有效性;
当确定了与所述主储存器设备的所述区域相关联的所述部分信息的有效性时,请求对与由所述第一储存器缓存设备储存的所述部分信息相关联的所述主储存器设备的所述区域的区域锁定;
当在请求了对与由所述第一储存器缓存设备储存的所述部分信息相关联的所述主储存器设备的所述区域的所述区域锁定之后接收到所述元数据条目已经发生改变的指示时,释放对与由所述第一储存器缓存设备储存的所述部分信息相关联的所述主储存器设备的所述区域的所述区域锁定;以及
当在请求了对与由所述第一储存器缓存设备储存的所述部分信息相关联的所述主储存器设备的所述区域的所述区域锁定之后没有接收到所述元数据条目已经发生改变的指示时,使处理器将与所述主储存器设备的所述区域相关联的所述部分信息和对应的所述元数据条目从所述第一储存器缓存设备复制到第二储存器缓存设备,以重建所述第二储存器缓存设备。
16.如权利要求15所述的计算机实施的方法,其中,所述第一储存器缓存设备和所述第二储存器缓存设备与单个信息处理系统设备相关联。
17.如权利要求15所述的计算机实施的方法,其中,所述第一储存器缓存设备和所述第二储存器缓存设备与不同的信息处理系统设备相关联。
18.如权利要求15所述的计算机实施的方法,还包括使用串接小型计算机系统接口链路将所述第一储存器缓存设备连接到所述第二储存器缓存设备。
19.如权利要求15所述的计算机实施的方法,其中,所述主储存器设备包括独立磁盘设备的冗余阵列。
20.如权利要求15所述的计算机实施的方法,还包括通过储存器区域网络将所述冗余辅助储存器缓存与所述主储存器设备耦接。
CN201410042760.9A 2013-02-11 2014-01-29 冗余辅助储存器缓存的重建 Active CN103984642B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/763,909 US9037799B2 (en) 2013-02-11 2013-02-11 Rebuild of redundant secondary storage cache
US13/763,909 2013-02-11

Publications (2)

Publication Number Publication Date
CN103984642A true CN103984642A (zh) 2014-08-13
CN103984642B CN103984642B (zh) 2018-05-01

Family

ID=50064416

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410042760.9A Active CN103984642B (zh) 2013-02-11 2014-01-29 冗余辅助储存器缓存的重建

Country Status (6)

Country Link
US (1) US9037799B2 (zh)
EP (1) EP2765515B1 (zh)
JP (1) JP2014154154A (zh)
KR (1) KR20140101689A (zh)
CN (1) CN103984642B (zh)
TW (1) TW201443774A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI710909B (zh) * 2018-09-28 2020-11-21 普安科技股份有限公司 具多平台相容性模組之資料儲存子系統之儲存系統架構及其方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9015525B2 (en) * 2012-06-19 2015-04-21 Lsi Corporation Smart active-active high availability DAS systems
GB2503274A (en) * 2012-06-22 2013-12-25 Ibm Restoring redundancy in a RAID
US9367412B2 (en) * 2012-06-25 2016-06-14 Netapp, Inc. Non-disruptive controller replacement in network storage systems
EP2984810B1 (en) 2013-04-12 2018-10-17 Microsoft Technology Licensing, LLC Energy efficient data handling for mobile devices
US9684607B2 (en) 2015-02-25 2017-06-20 Microsoft Technology Licensing, Llc Automatic recovery of application cache warmth
US20150363319A1 (en) * 2014-06-12 2015-12-17 Netapp, Inc. Fast warm-up of host flash cache after node failover
US9684596B2 (en) * 2015-02-25 2017-06-20 Microsoft Technology Licensing, Llc Application cache replication to secondary application(s)
US9864686B2 (en) * 2015-10-14 2018-01-09 International Business Machines Corporation Restriction of validation to active tracks in non-volatile storage during a warmstart recovery
US10630802B2 (en) 2015-12-07 2020-04-21 International Business Machines Corporation Read caching in PPRC environments
US10169120B2 (en) * 2016-06-24 2019-01-01 International Business Machines Corporation Redundant software stack
TWI744752B (zh) * 2019-12-24 2021-11-01 大陸商合肥沛睿微電子股份有限公司 應用於快閃記憶體儲存裝置的冗餘方法及快閃記憶體儲存裝置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6571324B1 (en) * 1997-06-26 2003-05-27 Hewlett-Packard Development Company, L.P. Warmswap of failed memory modules and data reconstruction in a mirrored writeback cache system
US20050177687A1 (en) * 2004-02-10 2005-08-11 Sun Microsystems, Inc. Storage system including hierarchical cache metadata
CN101415024A (zh) * 2007-09-28 2009-04-22 赛门铁克公司 利用协作存储设备冗余地存储和检索数据

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6279078B1 (en) 1996-06-28 2001-08-21 Compaq Computer Corporation Apparatus and method for synchronizing a cache mode in a dual controller, dual cache memory system operating in a plurality of cache modes
US6928521B1 (en) * 2000-08-01 2005-08-09 International Business Machines Corporation Method, system, and data structures for using metadata in updating data in a storage device
US7162587B2 (en) 2002-05-08 2007-01-09 Hiken Michael S Method and apparatus for recovering redundant cache data of a failed controller and reestablishing redundancy
US6795850B2 (en) 2002-12-13 2004-09-21 Sun Microsystems, Inc. System and method for sharing memory among multiple storage device controllers
US7441081B2 (en) * 2004-12-29 2008-10-21 Lsi Corporation Write-back caching for disk drives
US7523260B2 (en) 2005-12-22 2009-04-21 International Business Machines Corporation Propagating data using mirrored lock caches
US7769951B2 (en) 2007-04-10 2010-08-03 Yahoo! Inc. Intelligent caching of user data for real time communications
US9519540B2 (en) * 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US8650328B1 (en) * 2008-12-15 2014-02-11 American Megatrends, Inc. Bi-directional communication between redundant storage controllers
US9015525B2 (en) * 2012-06-19 2015-04-21 Lsi Corporation Smart active-active high availability DAS systems
US20140173330A1 (en) * 2012-12-14 2014-06-19 Lsi Corporation Split Brain Detection and Recovery System

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6571324B1 (en) * 1997-06-26 2003-05-27 Hewlett-Packard Development Company, L.P. Warmswap of failed memory modules and data reconstruction in a mirrored writeback cache system
US20050177687A1 (en) * 2004-02-10 2005-08-11 Sun Microsystems, Inc. Storage system including hierarchical cache metadata
CN101415024A (zh) * 2007-09-28 2009-04-22 赛门铁克公司 利用协作存储设备冗余地存储和检索数据

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI710909B (zh) * 2018-09-28 2020-11-21 普安科技股份有限公司 具多平台相容性模組之資料儲存子系統之儲存系統架構及其方法
US11061604B2 (en) 2018-09-28 2021-07-13 Infortrend Technology, Inc. Method and storage system architecture for accessing data by means of a compatible module

Also Published As

Publication number Publication date
EP2765515A1 (en) 2014-08-13
CN103984642B (zh) 2018-05-01
TW201443774A (zh) 2014-11-16
US9037799B2 (en) 2015-05-19
US20140229676A1 (en) 2014-08-14
KR20140101689A (ko) 2014-08-20
JP2014154154A (ja) 2014-08-25
EP2765515B1 (en) 2015-12-30

Similar Documents

Publication Publication Date Title
CN103984642A (zh) 冗余辅助储存器缓存的重建
US11086774B2 (en) Address translation for storage device
US11449239B2 (en) Write-ahead log maintenance and recovery
EP3726364B1 (en) Data write-in method and solid-state drive array
US10776267B2 (en) Mirrored byte addressable storage
US9547552B2 (en) Data tracking for efficient recovery of a storage array
US8838936B1 (en) System and method for efficient flash translation layer
US11722064B2 (en) Address translation for storage device
KR101870521B1 (ko) 스토리지 저널링을 개선하는 방법 및 시스템
JP5582418B2 (ja) トランザクションメモリ
WO2014144384A1 (en) Vertically integrated storage
US20140129765A1 (en) Method to improve data reliability in dram ssd using asynchronous logging and incremental backup
US10019315B2 (en) Control device for a storage apparatus, system, and method of controlling a storage apparatus
US9836223B2 (en) Changing storage volume ownership using cache memory
CN101923446B (zh) 存储阵列辅助架构
CN103562878A (zh) 在镜像虚拟机系统中的存储器检查点设置
US11379326B2 (en) Data access method, apparatus and computer program product
CN105302665B (zh) 一种改进的写时拷贝快照方法及系统
CN111124258B (zh) 全闪存阵列的数据存储方法、装置、设备及可读存储介质
JP2006268420A (ja) ディスクアレイ装置、ストレージシステムおよび制御方法
CN103902368A (zh) 虚拟机磁盘镜像跨存储热迁移实现方法和虚拟机系统
CN103064762B (zh) 重删备份数据的恢复方法和装置
US20150019822A1 (en) System for Maintaining Dirty Cache Coherency Across Reboot of a Node
JP2012203437A (ja) ストレージ装置、方法及びプログラム
US20140297942A1 (en) Data cache for a storage array

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) CORPORAT

Free format text: FORMER OWNER: INFINEON TECHNOLOGIES CORP.

Effective date: 20150805

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150805

Address after: Singapore Singapore

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

Address before: California, USA

Applicant before: LSI Corp.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20181018

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.