恢复滞留数据的制作方法
【专利说明】恢复滞留数据
【背景技术】
[0001] 在当前计算系统中,用于计算机系统的大部分主存储器由基于动态随机存取存储 器(DRAM)的双列直插式存储器模块(DIMM)组成。DRAM提供了非常快的存取时间,是字节 可寻址的,以及与其它存储器技术相比具有吸引人的每比特价格的量度。然而,DRAM是易 失性的,从而一旦从设备移除电力,就会损失数据。因而,用于计算机系统的大容量储存装 置经常包括硬盘驱动器、固态闪存存储驱动器或混合组合,以永久地存储数据。即使在移除 电力之后也能够在DIMM中实现数据的长期储存的新一代存储器模块在计算机工业内正开 始变得可用。
【附图说明】
[0002] 在接下来的详细描述中并且参考附图描述了某些实例,其中:
[0003] 图1是允许对故障节点的非易失性存储器(NVM)中的滞留数据(strandeddata) 的存取的计算系统100的实例的框图;
[0004] 图2是可被用在图1的计算系统中的单个节点的实例的框图;
[0005] 图3是示出归属节点(homenode)和故障转移节点的计算系统的示意图;
[0006] 图4是可被用在节点中以通过管理或边带总线存取NVM中的数据的管理设备的框 图;以及
[0007] 图5是图解说明用于存取计算系统的NVM中的滞留数据的方法的过程流程图。
【具体实施方式】
[0008] 网络化计算系统一般包括被配置成提供诸如储存、应用、数据库等等的资源的主 机计算设备(或节点)。主机计算设备可以是被配置成在网络内给客户端设备提供服务的 服务器、诸如数据库服务器、文件服务器、邮件服务器、打印服务器、web服务器或某个其它 类型的服务器。
[0009] 虽然新类型的存储器模块在从节点移除电力之后允许持久的数据储存,但是给定 的服务器或节点("归属"节点)的故障可导致持久的数据不再可由该数据的其它用户存 取。如本文中所使用的那样,这个数据在存储器模块中已经变成"滞留的"并保持"被俘的 (captive)"。本文中描述的技术一般涉及对滞留在计算系统(诸如故障节点)的非易失性 存储器(NVM)中的数据进行存取。在一个实例中,连接到存储器模块上的DIMM控制器的边 带接口允许通过管理子系统读(提取)和写(载入)数据。例如,可使用在工业标准DIMM 模块上的标准串行存在检测(SPD)接口。在操作这个技术期间,管理子系统和部分存储模 块以备用电力为动力来运转。这个方式,当故障节点的主电力例如由于节点故障而断开时, 数据可被提取。
[0010] 任何数目的计算设备都可以是系统中的节点、诸如工作站、服务器、网络附加储存 装置等等。可用在计算系统中的节点的一个实例是刀片式服务器,该刀片式服务器是具有 被优化以最小化物理空间的使用的模块化设计的服务器计算机。尽管标准机架安装式服务 器可利用电源线和网络电缆起作用,但是刀片式服务器出于节约空间的目的却移除了许多 组件,从而最小化电力消耗以及其他考虑,同时仍然具有被认为是计算机的所有功能性组 件。多插槽机壳可容纳多个刀片式服务器盒以及提供共享的资源、诸如电力、冷却、联网、各 种互联以及管理。
[0011] 每个节点通常都包括存储器、诸如双列直插式存储器模块(DIMM)、单列直插式存 储器模块(SIMM)等等。如本文中所使用的那样,对DIMM的任何提及都包括具有任意封装 类型的存储器模块。可被用在节点中的DIMM中的新兴存储器模块可包括DRAM、NVM或这二 者的组合。NVM可包括任何数目的存储器技术,诸如闪速存储器、相变存储器、自旋转移矩随 机存取存储器(spintransfertorqueram)以及电阻式随机存取存储器。NVM存储器模块 也可以采取具有电池备用设备的DRAM模块的形式。
[0012] 在CPU的直接可寻址的主存储器地址空间中直接使用持久储存允许使能很多新 型的系统架构和编程模型,诸如快速电源切断和重启模式或更多的本地储存数据。进一步 地,利用NVM的共享储存系统可在组件故障的情况下使能数据的高可用性,例如通过存储 多个数据副本、或通过利用诸如RAID的技术来使能,所述RAID可在组件故障(诸如处理 器)的情况下重构数据。
[0013] 对由于节点故障(诸如CPU或电力损失)导致滞留的数据进行存取的能力防止节 点故障,而不是DIMM故障。然而本文中所讨论的技术可与如下系统兼容:RAID数据跨越服 务器上的多个DIMM。这个解决方案然后可单独地迀移每个RAID条,以允许连续操作。如果 只有DIMM故障,则服务器可重建。如果服务器和DIMM都故障,则故障转移服务器可在迀移 之后重建。
[0014] 图1是允许对故障节点的非易失性存储器(NVM)中的滞留数据进行存取的计算系 统100的实例的框图。计算系统100可具有基于任意数目的技术的主总线102,所述技术诸 如PCI、无限带宽技术(Infiniband)、PCI_Express、超传输技术(HyperTransport?)、NuBus 等、以太网等等。在一些例子中,主总线102也可采取交换结构的形式。主总线102可连接 任何数目的单元,其包括一个或更多可具有包括NVM106的DIMM(或其它结构)的服务器 节点104。长期储存可由也可包括NVM106的一个或更多固态磁盘驱动器(SSDD)储存节 点108来提供。长期储存也可由一个或更多磁盘节点110提供,所述磁盘节点110可包括 硬盘驱动器、NVM106或其组合。
[0015] 计算系统100可具有路由器112,以提供对一个或更多客户端设备114的访问。客 户端设备可包括网络(诸如LAN、WAN或因特网)或可访问计算系统100的用户设备。
[0016] 管理系统116可通过管理(或边带)总线118被耦合到计算系统100中的其它单 元、诸如服务器节点104、SSDD储存节点108以及磁盘节点110。管理系统116 (或在各个 单独的单元104、108和110中的设备)可检测可在归属节点中滞留数据的单元的故障。管 理系统116然后可从归属节点中的NVM106读出滞留的数据,例如通过管理总线118读出, 以及将数据写到目标节点。数据可被写到目标节点中的NVM106,其中故障节点中的DMM 被直接拷贝到目标节点中的DIMM。在其它实例中,数据可被写到虚拟存储器。在数据传输 期间,可实现任何数据的重建,例如根据RAID条带化的存储器还原数据。一旦数据在目标 节点中,在归属节点中在故障之前是可操作的过程就可被重启。
[0017] 图1的框图并不意图指示计算系统100将要包括图1中示出的所有组件。进一步 地,根据特定实施方案的细节,计算系统100可包括未在图1中示出的任意数目的附加组 件。
[0018] 图2是可被用在图1的计算系统100中的单个节点200的实例的框图。相同编号 的项如参考图1所描述的那样。节点200包括处理器202,以控制操作和执行任务、诸如用 于客户端的计算和数据存取。处理器202可以是单核处理器、多核处理器、计算集群或任意 数目的其它配置。处理器202可被实施为复杂指令集计算机(CISC)或精简指令集计算机 (RISC)处理器、x86指令集兼容处理器、多核或任意其它微处理器或中央处理单元(CPU)。
[0019] 处理器202可被耦合到在节点200内的内部总线204,用于与其它单元通信。 内部总线204可包括任意数目的不同类型,诸如PCI、ISA、PCI-Express、超传输技术 (HyperTransport?),NuBus等等。进一步地,内部总线204可以是与系统总线102相同的 类型,或者可以是不同的类型。网络接口设备206可被用于将内部总线204耦合到系统总 线206。网络接口设备206可包括被配置成把内部总线204与系统总线102隔离同时允许 通信的以太网接口或任意数目的其它类型的其它接口或交换机。
[0020] 在节点200中可包括多个不同的单元,以为数据或程序提供储存。储存单元可包 括磁盘子系统208、存储器子系统210等等。磁盘子系统208可包括磁盘控制器212,该磁 盘控制器212控制数据到磁盘驱动装置214和存储器(诸如NVMDIMM216)的任何组合的 读和写。
[0021] 存储器子系统210可包括非易失性和易失性随机存取存储器这两者,诸如SRAM、 DRAM、零电容器RAM、S0N0S、eDRAM、EDORAM、DDRRAM、RRAM、PRAM等。进一步地,存储器子 系统210可包括只读存储器、诸如掩膜型R0M、PR0M、EPR0M、EEPR0M等等。存储器子系统210 可包括控制对诸如DRAMDIMM220和NVMDIMM222之类的存储器的存取的存储器控制器 218〇
[0022] 如上面所描述的那样,节点200的故障可使数据陷入存储器子系统210中的NVM DIMM222中或磁盘子系统208中的NVMDIMM216中。在本文中描述的实例中,通过边带总 线118可对数据进行存取并将数据传输到不同节点。为了便利于这种传输,存储器控制器 218可具有能够对NVMDIMM222进行存取的管理设备224。在节点200的整个电力故障的 情况下,管理设备224可将足够的电力提供给存储器控制器218和NVMDIMM222,以对数据 进行存取。类似地,磁盘控制器212可具有能够提供类似功能的管理设备226,从而允许对 磁盘子系统208中的NVMDIMM216中的数据进行存取。
[0023] 图2的框图并不意图指示节点200将要包括在图1中示出的所有组件。例如,月艮 务器节点可不具有磁盘子系统208。进一步地,根据特定实施方案的细节,节点200可包括 未在图1中示出的任意数目的附加组件。例如,节点200可包括人机接口、诸如显示器接口、 键盘接口、指向设备接口等等。
[0024] 图3是示出归属节点302和故障转移节点304的计算系统300的示意图。相同编 号的项如参考图1所描述的那样。在这个实例中,节点302和304中的每个都具有处理器 306,该处理器306可以是任意数目的类型,如参考图2中的处理器202所描述的那样。每 个处理器306都被耦合到I/O设备308,例如被耦合到内部总线。I/O设备308提供在每个 节点302和304与系统总线102之间的接口,这可以是本地或数据中心网络。每个处理器 306也都被耦合到存储器控制器310,该存储器控制器310在这个实例中被用于控制一个或 更多混合型DIMM312。每个混合型DIMM312都可包括混合型DIMM控制器314,该混合型DIMM控制器314可被用于将数据读和写到DRAM316。每个混合型DIMM312也可包括被用 于控制在混合型DI丽312上的NVM320的NVM控制器318。节点302和304中的每个也都 包括系统管理设备322,所述系统管理设备322可被用于与管理网络118接口连接。进一步 地,混合