基于次计算机中的存储器错误移动主计算机中的对象的制作方法

文档序号:9602494阅读:461来源:国知局
基于次计算机中的存储器错误移动主计算机中的对象的制作方法
【技术领域】
[0001]本发明的实施例主要地涉及计算机系统而更具体地涉及使用镜像的计算机系统。
【背景技术】
[0002]计算机系统通常地包括硬件(比如半导体、晶体管、芯片和电路板)和计算机程序的组合。随着计算机和它们使用的数据已经变得更重要,用户已经变得日益无法容忍对计算机的可用性的任何中断。为了满足用户的高可用性要求,计算机可以提供冗余部件,从而在一个部件出故障或者变得不可用的情况下,计算机自动地切换成使用另一部件。
[0003]—种高可用性技术称为镜像或者检查点设置,其中主计算机向次计算机周期地复制它的存储器的内容和处理器状态。镜像包括跟踪对由分区访问的存储器的改变和对分区在主计算机在其上执行的处理器的状态的改变、周期地暂停分区在主计算机的执行、通过网络向次计算机发送跟踪的改变、等待次计算机确认接收跟踪的改变以及恢复对暂停的分区的执行。在主计算机的故障的情况下,次计算机开始以对在分区中执行的应用透明的方式使用跟踪的改变和处理器状态来执行由主计算机执行的分区。

【发明内容】

[0004]提供一种方法、计算机可读存储介质和计算机。在一个实施例中,在主服务器处执行分区,其中分区访问在主服务器处的第一存储器块地址处的第一存储器位置。如果在次服务器处的第一对应存储器位置具有错误,其中在次服务器处的第一对应存储器位置对应于在主服务器处的第一存储器位置,则从在主服务器处的第一存储器位置向在主服务器处的第二存储器位置移动对象。
【附图说明】
[0005]图1描绘用于实现本发明的一个实施例的例子系统的高级框图。
[0006]图2描绘根据本发明的一个实施例的经由网络和次存储设备连接的例子服务器计算机的高级框图。
[0007]图3描绘根据本发明的一个实施例的用于存储器表的例子数据结构的框图。
[0008]图4描绘根据本发明的一个实施例的用于检查点的例子处理的流程图。
[0009]图5描绘根据本发明的一个实施例的用于处置存储器错误的例子处理的流程图。
[0010]图6描绘根据本发明的一个实施例的用于处置主服务器的故障的例子处理的流程图。
[0011]图7描绘根据本发明的一个实施例的用于处置次服务器的故障的例子处理的流程图。
[0012]然而将注意所附附图仅图示本发明的例子实施例、因此未视为限制本发明的其它实施例的范围。
【具体实施方式】
[0013]参照附图,其中相似标号表示贯穿若干视图的相似部分,图1描绘根据本发明的一个实施例的连接到网络130的服务器计算机系统100的高级框图表示。本发明的实施例的机制和装置同样地适用于任何适当计算系统。服务器计算机系统100的主要部件包括一个或者多个处理器101、存储器102、终端接口单元111、存储接口单元112、1/0(输入/输出)设备接口单元113和网络接口单元114,所有这些部件被直接地或者间接地通信地耦合用于经由存储器总线103、I/O总线104和I/O总线接口单元105的部件间通信。
[0014]服务器计算机系统100包含这里通称为处理器101的一个或者多个通用可编程中央处理单元(CPU)101A、101B、101C和101D。在一个实施例中,服务器计算机系统100包含通常为相对大的系统的多个处理器;然而,在另一实施例中,计算系统100可以备选地是单个CPU系统。每个处理器101执行存储器102中存储的指令并且可以包括一级或者多级板上高速缓存。
[0015]在一个实施例中,存储器102可以包括用于存储或者编码数据和程序的随机存取半导体存储器、存储设备或者存储介质(易失性或者非易失性)。在另一实施例中,存储器102代表服务器计算机系统100的整个虚拟存储器并且也可以包括耦合到服务器计算机系统100的或者经由网络130连接的其它计算机系统的虚拟存储器。存储器102在概念上是单个单片实体,但是在其它实施例中,存储器102是更复杂的布置、比如高速缓存和其它存储器设备的分级。例如存储器可以存在于多级高速缓存中,并且这些高速缓存可以按功能来进一步划分,从而一个高速缓存保持指令而另一高速缓存保持由一个或者多个处理器使用的非指令数据。如在各种所谓非统一存储器存取(NUMA)计算机架构中的任何NUMA计算机架构中已知的那样,存储器可以被进一步分布并且与不同CPU或者CPU集合关联。
[0016]图示存储器102为包括多个分区134、管理程序136和存储器表140。虽然图示分区134、管理程序136和存储器表140为存储于计算机系统100中的存储器102中,但是在其它实施例中,它们中的一些或者全部可以在不同计算系统上并且可以例如经由网络130来远程地访问。另外,服务器计算机系统100可以使用虚拟寻址机制,这些虚拟寻址机制允许服务器计算机系统100的程序表现如同它们仅具有对大的单个存储实体的访问而不是对多个更小存储实体的访问。因此,尽管图示分区134、管理程序136和存储器表140为驻留在存储器102中,但是这些单元未必都被同时完全地包含在相同存储设备中。
[0017]分区134中的每个分区包括应用(app) 144、操作系统(0S) 146和分区数据148。可以支持任何数目的分区134,并且在任何时间在计算机100中驻留的分区134的数目可以随着向计算机100添加或者从计算机100去除分区134而动态地改变。分区134中的每个分区包括在分离或者独立存储器空间中在处理器101上执行的指令。在各种实施例中,实现应用144为用户应用、第三方应用或者其任何部分、多个或者组合。应用144和操作系统146包括在处理器101上执行的指令或者由在处理器101上执行的指令解释的语句。应用144中的每个应用可以相互相同或者互不相同,操作系统146中的每个操作系统可以相互相同或者互不相同,而数据148中的每个数据可以相互相同或者互不相同。
[0018]虽然图示管理程序136为存储于存储器102内,但是在其它实施例中,可以在固件或者硬件中实现管理程序136的全部或者部分。管理程序136可以执行低级管理功能、比如页面表管理并且也可以执行更高级管理功能、比如创建和删除分区134、并行I/O维护和向/从各种分区134分配/取消分配处理器,存储器和其它硬件或者程序资源。管理程序136控制向分区134分配、锁定和解锁共享的资源以及分区134对共享资源的访问从而保证这些分区134在服务器计算机系统100内的安全和隔离。管理程序开始、停止和中止分区134在处理器101上的执行。
[0019]管理程序136静态地和/或动态地向每个分区134分配计算机100中的可用资源的部分。例如可以向每个分区134分配处理器101中的一个或者多个处理器和/或在其上执行的一个或者多个硬件线程以及待访问的可用存储器空间的部分。分区134可以共享具体程序和/或硬件资源、比如处理器101,从而给定的资源可以由多于一个分区134利用。备选地,可以一次向仅一个分区134分配程序和硬件资源。通常地向分区134中的一个或者多个分区分配附加资源、例如海量存储装置、备用存储装置、用户输入、网络连接和/或其I/O适配器。可以用多种方式分配资源、例如在逐个总线基础上或者在逐个资源基础上而多个分区134在相同总线上共享资源。可以一次向多个分区134分配一些资源。这里标识的资源仅为例子,并且可以使用能够分配的任何适当资源。
[0020]在一个实施例中,如以下参照图2、3、4、5、6和7进一步描述的那样,分区134和/或管理程序136包括在处理器101上执行的指令或者由在处理器101上执行的指令解释的语句以执行功能。在另一实施例中,可以在微代码或者固件中实现分区134和/或管理程序136。在另一实施例中,可以经由逻辑门、半导体器件、芯片、电路、电路卡和/或其它物理硬件器件在硬件中实现管理程序136。
[0021]存储器总线103提供用于在处理器101、存储器102和I/O总线接口单元105之中传送数据的数据通信路径或者通信结构。I/o总线接口单元105进一步耦合到I/O总线104用于向和从各种I/O单元传送数据。I/O总线接口单元105通过
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1