协调存储在基于非易失性存储器的系统中的数据的复制的制作方法

文档序号:9221643阅读:236来源:国知局
协调存储在基于非易失性存储器的系统中的数据的复制的制作方法
【专利说明】
【背景技术】
[0001]计算机系统传统上包含了易失性和非易失性两种存储设备。在这种方式中,易失性存储器设备(诸如动态随机存取存储器(DRAM)设备)由于它们相对较快的存取时间,通常已被用于形成计算机系统的工作存储器。为了当系统断电时保存计算机系统数据,数据传统上已被存储在与较慢存取时间相关联的非易失性大容量存储设备(诸如基于磁性介质或基于光学介质的大容量存储设备)中。
[0002]相对高密度的发展,固态非易失性存储器技术正在缩小两种技术之间的差距,并且如此,非易失性存储器设备正变得越来越多地用于传统的“存储器”和“存储装置”功能这二者。
【附图说明】
[0003]图1是依据示例实现方式的计算机系统的示意图。
[0004]图2是依据示例实现方式的图1的计算机系统的组合的主要和辅助基于非易失性存储器的存储子系统的示意图。
[0005]图3、7和8图示了依据不同的示例实现方式的图2的存储子系统的操作流程。
[0006]图4是描绘出依据示例实现方式的用以协调图2的存储子系统中的数据冗余存储的技术的流程图。
[0007]图5是图示出依据示例实现方式的一致性组的恢复的图2的存储子系统的示意图。
[0008]图6是图示出依据示例实现方式的写入辅助非易失性存储器存储装置的记录的使用的图2的存储子系统的示意图。
【具体实施方式】
[0009]为了协调计算机系统(其包括主要和辅助基于非易失性存储器(NVM)的存储装置)中的数据的冗余存储的目的,在本文中公开了系统和技术。在这种方式中,基于NVM的计算机系统包括主NVM存储装置,其作为用于计算机系统的主要(S卩,“工作”)存储器;以及辅助NVM存储装置,其存储复制的数据(即,对存储在主NVM存储装置中的数据是冗余的数据)。在其正常操作的过程中,计算机系统产生到主NVM存储装置的第一写入流以在主NVM存储装置中存储数据,并且该第一写入流包括同步命令以创建对应的同步点。如在本文中所描述的,所述计算机系统被构建来产生到辅助NVM存储装置的第二写入流,并且以允许从单个故障点的可恢复性的方式来协调第一流和第二流,同时最小化存储器存取等待时间。
[0010]作为更具体的示例,图1描绘出依据示例实现方式的计算机系统100。该计算机系统100包括应用服务器110,其是由实际的硬件和实际的机器可执行指令组成的实际的物理机器,或者是“软件”。在这种方式中,应用服务器110包括一个或多个中央处理单元(CPU) 114 (作为示例,在图1中描绘了多个CPU114),其各自可包含一个或多个处理核心。应用服务器I1还包括基于NVM的存储子系统120,其包含作为用于应用服务器110的主要或第一位的工作存储器的NVM存储装置124-1。
[0011]CPUl 14执行机器可执行指令以为应用服务器110形成一个或多个基于软件的组件135,诸如示例应用136、由应用136创建和操作的文件/对象存储装置138、NVM管理器140和启动/基本输入操作系统(B1S)固件142。
[0012]应用136操作存储在主NVM存储装置124_1中的各种文件和对象。
[0013]因为CPU114的流水线数据和指令,所以故障或突然的功率损失可导致已由应用136操作但尚未存储或提交到主NVM存储装置124-1的数据的损失。因此,在其操作的过程期间,应用136产生同步命令用于确保足够的数据一致性以保证在故障或突然的功率损失的情况下的可恢复性的目的。
[0014]在这点上,给定的同步命令使存储子系统120确认由同步命令识别的一定数量的写入已经提交到主NVM存储装置124-1。关于这点,“写入”是指数据的传送、适当的写入命令和用于数据存储在主NVM存储装置124-1中的对存储子系统120的地址。依据在本文中公开的示例实现方式,使用由同步命令创建的同步点用于确保数据的冗余副本被存储在辅助NVM存储装置中的目的,如在本文中进一步公开的。
[0015]更具体地,如图1所描绘的,依据示例实现方式,计算机系统100包括存储服务器146,对于这个示例来说,该存储服务器146包含附加的基于NVM的存储子系统120-2,该存储子系统120-2包含两个附加的NVM存储装置124-2和124-3。依据示例实现方式,应用服务器110的NVM存储装置124-1可被认为是“主要” NVM存储装置,NVM存储装置124-2可被认为是“辅助” NVM存储装置,以及NVM存储装置124-3可被认为是第三NVM存储装置。
[0016]像应用服务器110 —样,存储服务器146是由实际的硬件和软件组成的实际的物理机器。存储服务器146的硬件包括诸如一个或多个CPU147之类的组件,以及NVM存储装置124-2和124-3。一个或多个CPU147可以执行机器可执行指令来形成软件组件160,诸如数据服务组件162、一个或多个文件/ 一个或多个对象164、NVM管理器166以及启动/B1S 固件 168。
[0017]依据在本文中公开的示例实现方式,写入存储在主NVM存储装置124-1中的数据的主副本可被同步流传输到辅助NVM系统124-2或标记用于复制。对于给定的同步命令,存储服务器146接收(或完成接收)要复制的所有写入以及与同步操作相关的原子性信息。在两个副本都被更新之后,同步命令的执行完成。虽然两个副本都可在同步命令执行的末期被更新,但是所述副本并不一定被一起提交。这意味着,依据一些实现方式,电力或硬件故障可迫使一个副本或其他全部用于恢复。技术在本文中被公开以允许从主124-1 NVM存储装置和辅助124-2 NVM存储装置的组合中恢复,诸如一致性组和记录技术,如在本文中进一步公开的。
[0018]此外,如在本文中进一步公开的,辅助NVM存储装置124-2可能不是用于复制数据的唯一来源。在这点上,依据一些实现方式,存储服务器146在后台创建附加的冗余。在这点上,如在本文中公开的,存储服务器146可以执行后台数据服务(诸如基于廉价磁盘冗余阵列(RAID)的操作)以将存储在辅助NVM存储装置124-2中的数据拷贝到NVM存储装置124-3。这一后台过程可以主副本不取消映射并且不从主NVM存储装置124-1中移除直到辅助副本是冗余的这种方式与取消映射操作进行协调。
[0019]换言之,在本文中公开技术和系统以创建数据的三个副本(一个主副本和两个冗余副本)。二次复制的速率可使用目标在于描述在取消映射命令之后故障的情况下可能丢失的最大数量的工作的恢复点来控制。此外,在本文中公开了实现方式,其允许各种数据服务(诸如远程复制、时间点复制和数据重复删除)略滞后于应用的存储器访问,同时仍对与应用相关的一致性点进行操作。
[0020]在本文中公开了系统和技术,其中,对数据冗余和其他数据服务进行管理用于其中多个NVM存储装置相互耦合的存储系统。关于这点,“NVM存储装置”是指在每字节或每处理器缓存线的基础上被(或能够被)读取或写入的存储器。关于这点,当NVM使用存储指令由处理器直接写入时,例如,同步操作可用来确保足够的数据一致性,以确保在故障或突然功率损失的情况下的可恢复性。如在本文中公开的,同步点被进一步用来确保数据的冗余副本也处于适当的位置。
[0021]应当指出的是,虽然图1描绘了两个服务器,但在进一步的实现方式中,可采用一个或多个附加的应用服务器和/或一个或多个附加的存储服务器。一般来说,所述服务器可以是共同机箱中的刀片服务器。作为示例,依据一些实现方式,在服务器之间共享的任何组件可由机箱或在它内的其他组件冗余地提供。依据另外的实现方式,在图1中描绘的硬件和软件组件可被置于单个物理服务器上。
[002
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1