确定永久性存储器模块成功迁移的方法与流程

文档序号:18641874发布日期:2019-09-11 23:30阅读:207来源:国知局
确定永久性存储器模块成功迁移的方法与流程

本发明涉及计算机中的存储器设备,尤其涉及永久性存储器模块从一台计算机迁移到另一台计算机。



背景技术:

近年来,现代计算机中的存储器技术已经急剧发展,以向计算机提供更多选择的存储器设备以存储数据。例如,非易失性双列直插式存储器模块(nvdimm)开始布置在服务器中,与传统的双列直插式存储器模块(dimm)在物理接口上兼容。某些类型的nvdimm提供两种不同的模式,即内存模式,在内存模式中nvdimm像dimm一样工作,数据在系统断电时消失;以及appdirect模式,在appdirect模式中,即使在系统断电时数据仍然被存储。在appdirect模式中,nvdimm因此表现得像传统的永久性存储设备(例如,硬盘驱动器)并且包含一个或者多个永久性区域以实现永久数据存储。

由于nvdimm包含即使在系统电源切断时也能用于存储数据的一个或者多个永久性区域,所以这提供了迁移nvdimm的可能性,迁移nvdimm是指nvdimm从一台计算机被物理移动(通常是由于一台计算机故障、断电或其他形式导致不可操作)到另一台计算机,以便永久性存储在nvdimm中的数据可以被第二台计算机快速地重用。然而,nvdimm的成功迁移通常要求源计算机中的nvdimm的群体信息和目标计算机中的nvdimm的群体信息至少部分相同。如果源群体信息和目标群体信息不匹配,则迁移将导致存储在nvdimm的永久性存储器中的原始数据被错误地写入/读取,因为与硬盘驱动器不同,由nvdimm形成的单个虚拟永久性存储器可能在多个nvdimm上交错,并且错误放置的nvdimm将导致由交错的nvdimm形成的永久性区域不能在目标计算机上恢复,使得存储在永久性区域中的数据不可用。

传统上,为了确保成功的迁移,用户手动记录每个nvdimm的顺序号及其插槽id,然后,以正确的顺序将它们一个接一个地迁移到目标计算机。但是,对于可能有很多nvdimm(例如,48个)的计算机,如果用户错误地记录了多个nvdimm的位置,那么再次找出正确的顺序将非常困难,因为用户需要一个接一个地手动移除每个已经迁移的nvdimm,以找出错位的那一个。



技术实现要素:

因此,本发明的一个方面是一种用于确定两个信息处理装置之间的永久性存储器模块的迁移是否成功的方法。所述方法包括以下步骤:检测永久性存储器模块是否包含已保存的群体信息;如果检测的结果为是,则检测永久性存储器模块的当前群体信息;将保存的群体信息与当前的群体信息进行比较;和如果当前群体信息至少部分对应于保存的群体信息,则报告成功的迁移事件或者部分迁移事件。

本发明的另一方面提供了一种信息处理装置,其适于确定永久性存储器模块到信息处理装置的迁移是否成功。信息处理装置包括:用于检测永久性存储器模块是否包含已保存的群体信息的装置;用于如果永久性存储器模块确实包含所保存的群体信息,则检测永久性存储器模块的当前群体信息的装置;将保存的群体信息与当前的群体信息进行比较的装置;和用于如果当前群体信息至少部分对应于保存的群体信息,则报告成功的迁移事件的装置。

本发明的另一方面提供了一种计算机程序产品,其包含在非暂时性计算机可读存储介质上体现的程序指令。程序指令可由处理器执行,以使处理器执行包含以下内容的方法:检测永久性存储器模块是否包含已保存的群体信息;如果永久性存储器模块确实包含所保存的群体信息,则检测永久性存储器模块的当前群体信息;将保存的群体信息与当前的群体信息进行比较;和如果当前群体信息至少部分对应于保存的群体信息,则报告成功的迁移事件。

因此,本发明为信息处理装置的用户提供了更好的用户体验,因为他/她可以执行永久性存储器模块从源机器到目标机器的平滑迁移,而不必担心自己错误地将永久性存储器模块安装到错误的位置,并因此去尝试识别许多永久性存储器模块中的哪一个导致了该错误的麻烦。如果存在于永久性存储器模块的迁移期间,将永久性存储器模块放置在错误的位置的任何严重错误,则这种错误被目标机器检测到并且向用户报告并清楚地识别每个永久性存储器模块的所保存的群体信息和当前群体信息,以便用户可以容易地找出错误安装的永久性存储器模块。因此,本发明提供了一种使迁移过程顺利的万无一失的机制,大大提高了迁移过程的效率。

附图说明

从以下优选实施例的描述中,本发明的前述和另外的特征将变得显而易见,所述优选实施例仅通过示例的方式结合附图提供,其中:

图1示出了根据本发明实施例的计算机设备的内部结构。

图2示出了根据本发明实施例的源机器和目标机器,永久性存储器模块将在该源机器和目标机器之间迁移。

图3示出了与图2中相同的源机器和目标机器,但是与图2相比,迁移永久性存储器模块将被安装到目标机器中的不同位置。

图4是图2-3所示的永久性存储器模块的图示。

图5是根据本发明另一实施例的用于确定两条信息处理装置之间的永久性存储器模块的迁移是否成功的方法的流程图。

在附图中,贯穿本文描述的若干实施例,相同的附图标记表示相同的部件。

具体实施例

现在参考图1,其示出了根据本发明第一实施例的计算机设备20。计算机设备20适于执行确定永久性存储器模块是否成功迁移的方法。计算机设备20是信息处理装置的示例。计算机设备20包含作为主处理器的一个或多个cpu22,cpu22安装在信息处理装置的一个或多个插口(未示出)中,并且连接到平台控制集线器(pch)26和闪存芯片30。在图1中,cpu22直接连接到pch26但并非直接连接到闪存芯片30。相反,cpu22只能通过pch26访问闪存芯片30。pch26连接到闪存芯片30并且还连接到基带管理控制器(bmc)28。bmc28是计算机设备20中的服务处理器。另一方面,一个或多个永久性存储器模块24连接到每个cpu22,并且可以在计算机设备20中的其他组件请求时由cpu22访问,例如,操作系统(未示出)和在操作系统上运行的应用程序。永久性存储器模块24的示例是上面提到的nvdimm。统一可扩展固件接口(uefi)32存储在闪存芯片30(即,闪存)中。如本领域技术人员所理解的,uefi32充当计算机设备20中的操作系统和平台硬件之间的固件接口。

尽管在图1中没有明确地示出多个cpu22和多个永久性存储器模块(24),但是,计算机设备20实际上可以安装多个cpu22,每个cpu22与多个永久性存储器模块24连接。如本领域技术人员所理解的,多个cpu22互连,而只有第一cpu连接到pch26和其他一个或者多个cpu通过第一cpu连接到pch26。

现在转向图2-3,图2-3示出了在本发明的另一实施例中,源机器120中的永久性存储器模块124a的场景将被迁移到目标机器220。源机器120和目标机器220都是信息处理装置,其可以具有类似于图1中所示的计算机设备的内部结构。但是,为了简单起见,图2-3中未示出源机器120和目标机器220的其他组件。相反,在图2-3中仅示出了连接到源机器120和目标机器220中的cpu的cpu和永久性存储器模块。在该实施例中,源机器120和目标机器220构建在相同平台上。永久性存储器模块124a是安装在源机器120中的许多类似的永久性存储器模块124中的一个。具体地,永久性存储器模块124是nvdimm。源机器120包含两个中央处理单元(cpu)122a、122b,它们互连以形成多处理器系统。例如,cpu122a、122b可以是使用英特尔超路径互连(upi)技术互连的intel处理器。两个cpu122a和122b分别安装在源机器120的母板(未示出)上的两个不同的物理插口(未示出)中。cpu122a和122b中的每一个具有六个通道,并且每个通道具有两个插槽。但是,为了简洁起见,在图2-3中,每个cpu122a或122b仅示出均具有两个插槽的三个通道。特别地,插槽1中的三个永久性存储器模块124和插槽0中的三个普通存储器模块125经由三个不同的双倍数据速率(ddr)通道(图2-3中,由ch0、ch1和ch2表示)连接到cpu122a或cpu122b。普通存储器模块125是ddrdimm。因此,对于通道ch0、ch1和ch2中的每一个,存在着连接在插槽1中的一个永久性存储器模块124。连接到cpu122a或122b的奇数或偶数个永久性存储器模块124可被设置为一个永久性存储器交错设置,并形成一个连续的永久性存储器范围。因此,对于源机器120中设置的永久性存储器交错的任何特定永久性存储器模块124,它具有插口、通道和插槽信息(这也用s/c/l表示)的唯一组合。例如,对于图2中所示的永久性存储器模块124a,则s=0(即,插口0),c=0(即,ch0),以及l=1(即,插槽1),并且对于在图2中所示的永久性存储器模块124b,则s=0(即,插口0),c=1(即,ch1),以及l=1(即,插槽1)。在该示例中,永久性存储器模块124a和永久性存储器模块124b被配置到一个永久性区域(即,一个x2永久性存储器交错集)。另外,供源机器120构建其上的平台也可以作为永久性存储器模块124的信息,并由p表示。对于每个永久性存储器模块124,则指定四条信息,包括平台信息、插口信息、通道信息和插槽信息(由p/s/c/l表示)。四条信息p/s/c/l也单独或统称为永久性存储器模块124的群体信息。如果用户将任何永久性存储器范围配置到一个或者多个永久性存储器模块124中,则群体信息是必要的,因为永久性存储器范围的启用需要形成永久性存储器范围的所有相关的一个或多个永久性存储器模块124的群体信息。可以在一个或多个永久性存储器模块124中建立一个或多个永久性区域。如果跨多于一个永久性存储器模块124建立永久性区域,则必须使得所参与的永久性存储器模块124交错。例如,对于intel的optanetm永久性存储器(dcpmm),目前,它支持x1、x2、x4和x6在一个插口中的交错。

图2和3中所示的目标机器220在cpu的数量、连接到每个cpu的永久性存储器模块的数量、以及连接到每个cpu的这种通道的数量方面,具有与源机器120类似的配置。目标机器220中有两个cpu222a,222b,每个cpu连接到普通存储器模块225和永久性存储器模块224。然而,与源机器120不同之处在于,在目标机器220中有两个空位置224a、224b,以用于安装两个永久性存储器模块。永久性存储器模块124a和124b从图2中的源机器120到目标机器220的迁移不同于图3中的迁移。如图2-3所示,目标机器220中的空位置224a、224b分别具有s=1(即,插口1),c=0(即,ch0),l=1(即,插槽1),以及s=1(即,插口1),c=1(即,ch1)和l=1(即,插槽1)的群体信息,当它们安装在源机器120中时,它们分别类似于永久性存储器模块124a和124b的群体信息。如图2所示的迁移是正确的方式,因为永久性存储器模块124a被移动到空位置224a,以及永久性存储器模块124b被移动到空位置224b。然而,在图3中,永久性存储器模块124a移动到空位置224b,以及永久性存储器模块124b移动到空位置224a是不正确的。这是因为,当它们安装在源机器120中时,空位置224b和224a的群体信息分别不同于永久性存储器模块124a和124b的群体信息,因此在将永久性存储器模块124a和124b移动到目标机器220之后,这些移动将破坏永久性存储器模块124a和124b的永久性区域(x2永久性存储器如上所述交错设置)。

转到图4,其示出了图2和3中的永久性存储器模块124a的组件。应当注意,其他永久性存储器模块124具有与图4中所示的结构类似或相同的结构,因为它们都连接到相同或类似的cpu。重要的是,可以在一个永久性存储器模块124中或在交错的多个永久性存储器模块124中创建永久性区域。永久性区域提供了用于永久性存储数据的大型存储装置,就像传统的硬盘一样。在永久性存储器模块124a中,存在多个存储器芯片138,存储器芯片138提供用于数据存储的介质。另外,存在特殊芯片,特殊芯片是串行存在检测(spd)芯片134,芯片134存储关于永久性存储器模块124a的信息和参数。spd芯片134实际上是电可擦除可编程只读存储器(eeprom),因此当没有电源时,保存在spd芯片134中的任何数据都不会丢失。在一个示例中,spd芯片134具有512字节的容量。在spd芯片134的数据存储容量内,容量的一部分还是最终用户可编程部分(eup)136,其允许除永久性存储器模块124a的制造商之外的人将数据写入eup136中。例如,信息处理系统的制造商(例如,服务器制造商)可以将oem定制信息写入eup136。由于spd芯片134作为eeprom的性质,当永久性存储器模块124a从一条信息处理装置到另一条信息处理装置时,例如,从图2和3中的源机器120到目标机器220,则保存在eup136中的永久性区域配置数据不会丢失。

接下来,图5示出了根据本发明的另一实施例的确定一个或者多个永久性存储器模块一旦从源机器移除并安装到目标机器、并重新启用目标机器上的一个或者多个永久性存储器模块的永久性区域(即迁移)之后的成功迁移的过程。换句话说,这里描述的迁移是指一个或者多个永久性存储器模块从一个系统到另一个系统的物理重新分配,并且在新系统上重新启用永久性存储器模块的永久性区域,而不是基于迁移(例如,虚拟机迁移的情况)的任何虚拟/通信。由于迁移的移动部分是用户完成的物理活动,因此,将一个或者多个永久性存储器模块从源机器物理地移除到目标机器没有困难。然而,问题在于如何确保存储在一个或者多个永久性存储器模块中形成的任何永久性区域中的数据的完整性以及如何重新启用一个或者多个永久范围。这对于构建在交错的多个永久性存储器模块上的永久性存储区域尤其重要,因为如果错误地选择了永久性存储区域的新位置(如可以通过如上所述的群体信息识别),则在永久性存储区域中的数据段可能被加扰,因此,无法恢复目标机器上的数据的全部内容。图5中所示的方法通过以下方式来克服该问题:自动检测已迁移的一个或者多个永久性存储器模块中的每个永久性存储器模块是否安装到目标机器中的正确位置。

应当注意,图5中所示的方法是在目标机器上执行的,即,供一个或者多个永久性存储器模块被迁移到的系统。这种目标机器可以具有与图2-3和/或图1所示的类似结构,但不一定如此。为了便于描述,图2-4中的源机器120和目标机器220以及永久性存储器模块124a和124b可以作为示例来描述图5中的方法,虽然应该明白的是,这种方法不仅适用于图2-3中的目标机器220。

从步骤50开始,目标机器220被启动,并且这里假设先前安装在源机器120上的永久性存储器模块124a和124b已被重新分配给目标机器220,即已被迁移到目标机器220。在图2-3所示的不同场景中,永久性存储器模块124a和124b分别插入到空位置224a和224b中的不同空位置。然后,在步骤52中,目标机器220的uefi对cpu222a和cpu222b中的每一个的所有永久性存储器模块(“pmm”,包括已迁移的永久性存储器模块124a和124b,以及可以是现有的或者新安装的永久性存储器模块224的其他永久性存储器模块224)进行检测,以查看它们是否包含在它们各自的spd芯片中已保存的群体信息。如前所述,所保存的群体信息包含平台信息、插口信息、通道信息和插槽信息(由p/s/c/l值表示)。对于永久性模块124a和124b的永久性存储区域,因为它先前安装在源机器120上并且假设它先前正常工作,它应该包含已保存的群体信息,群体信息的生成类似于图5的步骤94-99。

在步骤52之后,在步骤54中,具体地,目标机器220的uefi确定:对于所有永久性存储器模块224和安装在目标机器220中的已迁移的永久性存储器模块124a和124b,它们中的至少一个是否包含其spd芯片中的p/s/c/l值。在下文中,迁移的永久性存储器模块124a和124b用作永久性区域(其为一个x2交错集)的示例,以描述后续步骤,并且因为其包含包括p/s/c/l值的已保存的群体信息,p/s/c/l值对应于如上所述安装在源机器120上的永久性存储器模块124a和124b,该方法在步骤54之后进入步骤56。在步骤56中,目标机器220的uefi检测所有永久性存储器模块224和迁移的永久性存储器模块124a和124b的当前平台信息(即,p)与这些永久性存储器模块224和迁移的永久性存储器模块124a和124b的spd芯片中的已保存的群体信息中的平台信息是否相同。在该示例中,由于源机器120和目标机器220构建在同一平台上,步骤56中的测试可以通过,并且该方法前进到步骤58。假设目标机器220中的所有其他永久性存储器模块224是现有的,则这些永久性存储器模块224中的任何群体信息等于包括平台信息的当前群体信息。如果这些永久性存储器模块224中的任何一个是新安装的而没有任何已保存的群体信息,则它将从步骤54运行到步骤78。另一方面,如果步骤56中的平台检测失败,则表示在目标机器220中的当前的平台信息与任何永久性存储器模块224或迁移的永久性存储器模块124a和124b的spd芯片中的已保存的群体信息中的(即,不匹配)不同,然后,uefi将向用户报告警告。然而,平台信息的不匹配将不会影响迁移的永久性存储器模块的操作,因此即使报告了警告,该方法也可以继续到步骤58。

在步骤58中,目标机器220的uefi检测所有永久性存储器模块224和迁移的永久性存储器模块124a和124b的当前插槽信息和通道信息(即c/l)是否与在这些永久性存储器模块224和迁移的永久性存储器模块124a和124b的spd芯片中的已保存的群体信息中的插槽信息和通道信息相同。对于在图2的场景中安装到空位置224a和224b的迁移的永久性存储器模块124a和124b,则永久性存储器模块124a和124b的当前c/l值与保存在永久性存储器模块124a和124b的spd芯片的群体信息中所保存的那些相同,由于如上所述的正确迁移方式,因此,永久性存储器模块124a和124b的永久性区域可以通过该测试。假设目标机器220中的所有其他永久性存储器模块224都存在,则这些永久性存储器模块224中的任何群体信息等于包括c/l的当前群体信息。因此,该方法可以进行到步骤64,步骤64中,目标机器220的uefi检测所有永久性存储器模块224和迁移的永久性存储器模块124a和124b的当前插口信息(即,s)是否与这些永久性存储器模块224的spd芯片中的已保存的群体信息中的平台信息相同。对于在图2的场景中安装到空位置224a和224b的迁移的永久性存储器模块124a和124b,永久性存储器模块124a和124b的当前s值与保存在永久性存储器模块124a和124b的spd芯片中的所保存的群体信息中的s值相同,因此,永久性存储器模块124a和124b的永久性区域可以通过该测试。假设目标机器220中的所有其他永久性存储器模块224都存在,则这些永久性存储器模块224中的任何群体信息等于包括s的当前群体信息。

然后,从步骤56到步骤64的所有四个测试已经通过,并且如果已经对目标机器220中的所有永久性存储器模块224和永久性存储器模块124a和124b进行了这样的测试,则目标机器220的uefi确定成功的迁移事件,并且这将在步骤66中报告给目标机器220中的用户和/或其他模块。然后,该方法将进行到步骤74,以基于永久性存储器模块124a和124b,来初始化永久性存储区域,其中,永久性存储区域可以与当永久性存储器模块124a和124b安装其上时的源机器120上的永久性存储区域相同。在初始化永久性区域之后,该方法然后进行到步骤88。

从步骤60开始,如果永久性存储器模块124a和124b被安装到目标机器220中的不期望的位置,例如,永久性存储器模块124a安装到空位置224b,以及永久性存储器模块124b安装到空位置224a(如在图3的场景中所示),那么步骤58中的测试将失败,因为永久性存储器模块124a的当前c/l值(其为c=1且l=0)不同于永久性存储器模块124a的spd芯片中保存的群体信息中的那些c/l值(其为c=0且l=1),并且永久性存储器模块124b也发生类似的不匹配。结果,不会在步骤64中继续检测插口信息,而是在这种情况下方法将进行到步骤62,以报告失败的迁移事件,因为永久性存储器模块124a和124b的不匹配的c/l值将使得先前在源机器120上的永久性区域不能在目标机器220上操作。类似地,如果永久性存储器模块124a和124b中的一个或两个可以通过该测试,但是任何其他现有的永久性存储器模块224都不能通过该测试,那么该方法也将进行到步骤62。任何未通过此测试的永久性存储器模块的当前群体信息(当前p/s/c/l)和已保存的群体信息也将被报告,以便用户立即知道什么问题导致迁移事件失败。与现有技术相比,这提供了重要的优点,因为不必手动拆卸所有新迁移的永久性存储器模块,并且试图找出哪个或者哪些错位的永久性存储器模块导致不成功的迁移事件,本发明的该方法中的用户可以立即呈现有问题的迁移的一个或者多个永久性存储器模块的信息。因此,可以避免通过逐个卸载所有永久性存储器模块,来尝试识别有问题的迁移的永久性存储器模块的繁琐过程。在步骤62之后,然后,该步骤进行到步骤70,步骤70中,将跳过永久性区域的初始化步骤,因为如上所述具有不匹配的c/l值,因此,这导致不可能重新启用永久范围。然后,该方法进行到步骤88。

对于目标机器220中的任何永久性存储器模块,如果当前c/l值与spd芯片的保存的群体信息中的那些值匹配,但是插口信息(即,s值)不匹配,则在步骤64测试将失败。然后,该方法将进行到步骤68,步骤68中,仍然报告成功的迁移事件,因为即使具有不匹配的插口信息,永久性区域仍然可以在目标机器220上操作。但是,有点类似于步骤62的是,永久性存储器模块的改变的信息将向用户报告(在这种情况下,已改变的插口信息)。然后,在步骤68中,在具有改变的插口信息的迁移的永久性存储器模块的spd芯片中,更新永久性存储器模块的新的群体信息(即p/s/c/l)。然后,该方法进行到步骤74,步骤74中,如上所述,初始化永久性区域,然后,进入步骤88。

在步骤88中,目标机器220继续其启动过程,并且在步骤90中,确定用户是否选择了启动设置选项。如果用户没有选择启动设置选项,则该方法前进到步骤92,步骤92中,启动操作系统(os),之后目标机器220准备好正常运行。如果在步骤90中用户确实选择进行启动设置,则该方法进行到步骤94,并且目标机器220启动到bios设置,其中,用户可以对uefi提供的偏好和选项进行改变。特别地,步骤96中,用户可以创建新的永久性区域,或者在步骤97中用户可以删除现有的永久性区域。从步骤96或步骤97,然后,该方法进行到步骤98,步骤98中,关于新的永久性区域的配置信息被保存到目标机器220中的dcpmm。随着永久性区域的改变和信息保存到dcpmm中,然后,重新启动目标机器220。

回到步骤54,考虑另一种场景。在步骤54中,如果目标机器220上的任何永久性存储器模块224都不包含在其spd芯片中已保存的群体信息(例如,当所有永久性存储器模块224是新购买的并且从未投入运行时),则从步骤54,根据用户的选择,该方法进入步骤80或步骤82。如果用户想要添加新的永久性区域,则该方法进行到步骤80,步骤80中,在目标机器220上安装的永久性存储器模块上创建新的永久性区域。之后,新的群体信息(p/s/c/l)被保存到相应的永久性存储器模块的spd芯片中。如果用户想要移除现有的永久性区域,则来自步骤78的方法进行到步骤82,步骤82中,移除现有的永久性区域。然后,从一个或者多个永久性存储器模块的spd芯片中中的每一个中移除一个或者多个永久性存储器模块的群体信息(p/s/c/l)。从步骤84或86,然后,该方法进行到步骤88。

应该注意,关于图4中的方法的以上描述基于图2-3中的示例性配置,其中,迁移一个永久性存储器模块。在该方法的其他可能的应用中,可以同时迁移两个或多个永久性存储器模块,在这种情况下,必须为新迁移的永久性存储器模块中的每个来执行步骤56、58、60和64。如果任何一个新迁移的永久性存储器模块在步骤60中未通过测试,则在步骤62中,这将触发不成功的事件。类似地,如果在步骤56中任何一个新迁移的永久性存储器模块未通过测试,则将触发警告消息。类似地,如果任何一个新迁移的永久性存储器模块具有改变的插口信息,则在步骤72中必须在spd芯片中更新该信息。

因此,完整地描述了本发明的示例性实施例。尽管该描述涉及具体实施例,但是本领域技术人员将清楚,可以通过改变这些具体细节来实践本发明。因此,本发明不应被解释为限于这里阐述的实施例。

尽管已经在附图和前面的描述中详细示出和描述了本发明,但是相同的内容被认为是说明性的而非限制性的,应当理解,仅示出和描述了示例性实施例,并且不以任何方式限制本发明的范围。可以理解,本文描述的任何特征可以用在任何实施例中。说明性实施例不排除彼此或本文未列举的其他实施例。因此,本发明还提供了包括上述一个或多个说明性实施方案的组合的实施方案。在不背离本发明的精神和范围的情况下,可以对本文所述的本发明进行修改和变化,因此,仅应当如所附权利要求所示的那样施加这些限制。

对于该示例,在上述实施例中,nvdimm被描述为用于创建永久性存储区域的信息处理装置的主存储器,并且特别地,nvdimm可以是如上所述的optanetmdcpmm。然而,本发明不限于基于nvdimm的实施方案。与nand闪存相比提供更快访问速度并且即使在断电之后同样提供永久数据存储的任何其他过去或未来存储器类型可用于实现本发明。

另外,本发明中描述的确定永久性存储器模块的成功迁移的方法可以在任何类型的信息处理装置上实现,尽管上面使用计算机设备作为示例来解释这些方法。用于执行自动解锁方法的合适平台是处理器平台。本领域技术人员应该认识到,其他类型的处理器(以及同一主板上的多个处理器)也可以适用于本发明。例如,信息处理装置中的cpu的数量可以是1、2、4、8,并且每个cpu可以与它们各自的一个或者多个nvdimm连接。

上面在图5中描述的方法由目标机器中的uefi执行。然而,应该注意,该方法可以由以下任何计算机程序来执行:其包含在暂时或非暂时性计算机可读存储介质上体现的程序指令和当由处理器执行时可能使处理器执行这些方法的这样的程序指令。例如,在本发明的变型中,图5中的虚线框内所示的方法步骤可以由目标机器的bmc(而不是uefi)来执行。

在图4所示的永久性存储器模块的结构和图5所示的方法中,群体信息被描述为保存在nvdimm的spd芯片中。然而,在本发明的其他变型中,可以使用允许永久数据存储的任何配置空间或特殊区域来代替永久性存储器模块上的spd芯片。

应当注意,上述描述中的词汇“源”和“目标”仅用于方便参考以描述关于永久性存储器模块28a的迁移方向的两个机器,并且它们不以任何方式来限制本发明的范围。例如,当前一个目标机器中的永久性存储器模块被移动到前一个源机器时,关于两个机器中的哪一个是“源机器”和“目标机器”,可以交换两个机器。此外,源机器目标机器可以具有不同的硬件配置,例如,它们的平台,插槽、通道、插口的数量等。

尽管在图2-3中示出的实施例中,cpu只连接到永久性存储器模块。然而,在本发明的其他变型中,cpu可以同时连接到dram和诸如nvdimm的永久性存储器模块。

图5中所示的方法示出了将四条信息的当前值与它们的保存值进行比较的特定顺序,即p=>c/l=>s。然而,本领域技术人员可以设想,检测这些群体信息可以以任何顺序进行,而不会影响该方法的有效性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1