一种内存数据的迁移方法、计算机和装置的制造方法_5

文档序号:9597126阅读:来源:国知局
所述ACPI列表中,例如通过步骤401和402将所述源内存卡与所述备份内存卡的标识配置到所述ACPI列表中,也可以将所述源内存卡与所述备份内存卡的标识一起配置到所述ACPI列表中,本发明实施例在此不作限定。
[0178]S403:所述处理器根据所述0S的指令触发第一触发指令。
[0179]在所述处理器执行0S的指令进行业务处理时,如果用户有内存数据的迀移需求,可以向0S发送内存数据的迀移指示,即启动指令,所述0S根据用户发送内存数据的迀移指示,指令处理器产生所述第一触发指令,所述处理器根据所述0S的指令产生所述第一触发指令,所述第一触发指令用于指示所述处理器退出0S并执行B1S的内存数据的迀移指令。
[0180]其中,所述第一触发指令具体可以是SMI,例如,所述处理器可以根据所述0S的指令,改变GP10的管脚电平,使得该计算机的南桥芯片(South Bridge)触发所述SMI,所述处理器可以接收所述SMI ;又例如,所述处理器可以根据所述0S的指令,对计算机中的南桥中的寄存器进行配置,使得该计算机的南桥触发所述SMI,所述处理器可以接收所述SMI ;在本发明实施例中,所述处理器还可以通过其它的方式触发所述第一触发指令,本发明实施例在此不作限定。
[0181]S404:所述处理器根据所述第一触发指令,退出操作系统并执行B1S的内存数据的迀移指令。
[0182]所述处理器接收到所述SMI中断之后,进入系统管理模式,此时所述处理器退出0S并执行B1S的内存数据的迀移指令,所述内存数据的迀移指令可以使得所述处理器执行步骤S405-步骤S411。
[0183]S405:所述处理器查询所述ACPI列表,确定所述源内存卡和所述备份内存卡。
[0184]由于所述处理器预先在所述ACPI列表中记录了所述源内存卡和所述备份内存卡的标识,因此所述处理器可以查询所述述ACPI列表中,获取记录的所述源内存卡和所述备份内存卡的标识,根据所述源内存卡和所述备份内存卡的标识,确定所述源内存卡和所述备份内存卡。
[0185]当所述备份内存卡有多个时,则所述处理器可以从所述ACPI列表中获取多个所述备份内存卡的标识,并根据所述源内存卡的信息,从多个所述备份内存卡的标识中挑选一个作为所述备份内存卡的标识,例如根据所述源内存卡的内存容量,从所述多个备份内存卡中挑选一个内存容量大于所述源内存卡的内存容量的内存卡,确定该内存卡的标识作为所述备份内存卡的标识,又例如,可以根据所述源内存卡归属的处理器的信息,从所述多个备份内存卡中挑选一个与所述源内存卡不属于同一个处理器控制的内存卡,确定该内存卡的标识作为所述备份内存卡的标识。
[0186]S406:所述处理器确定所述备份内存卡是否满足迀移条件。
[0187]S407:若所述备份内存卡满足迀移条件,则所述处理器指示所述源内存卡的内存控制器执行内存巡检操作,以确定所述源内存卡中的非错误数据。
[0188]S408:若所述备份内存卡满足迀移条件,则所述处理器将所述源内存卡和所述备份内存卡设置为镜像模式。
[0189]S409:所述处理器指示所述源内存卡的内存控制器进行内存数据的迀移。
[0190]S410:所述处理器建立所述源内存卡的系统地址与所述备份内存卡的映射关系。
[0191]S411:所述处理器对所述源内存卡执行下电操作。
[0192]在本发明实施例中,步骤S406-S411的【具体实施方式】与步骤S307-S312类似,在此不再赘述。
[0193]在所述源内存卡的内存数据迀移完成之后,所述处理器可以对所述源内存卡执行下电操作,使得在所述计算机不下电的情况下,可以移除或者更换所述源内存卡,解决了现有技术中需要对整个计算机下电才能进行故障内存卡的更换或维护的问题。
[0194]在本发明实施例中,所述处理器可以获取第一触发指令,根据所述第一触发指令,退出0S并执行B1S的内存数据的迀移指令,所述B1S的内存数据的迀移指令使得所述处理器能够确定所述源内存卡和所述备份内存卡,并在确定所述备份内存卡满足迀移条件后,将所述源内存卡和所述备份内存卡设置为镜像模式,指示所述源内存卡的内存控制器根据所述镜像模式,将所述源内存卡的内存数据写入所述备份内存卡,从而在计算机不下电的情况下,能够对所述源内存卡的内存数据进行迀移,实现了对故障内存卡的在线维护,解决了现有技术中需要对整个计算机下电才能进行故障内存卡的更换或维护的问题。并且,所述处理器根据触发的第一触发指令,启动内存数据的迀移,只在源内存卡出现故障或需要进行内存数据迀移时才进行内存数据迀移,有效节约了系统资源。此外,由于所述处理器是执行B1S的指令完成内存数据的迀移,能够实现对OS内核模块所在的内存卡的数据进行迀移,避免了不能对0S内核模块数据进行迀移的问题。。
[0195]在本发明实施例中,所述处理器还可以将所述源内存卡的所有数据迀移到所述备份内存卡,而不是只迀移在启动内存迀移之后,新写入所述源内存卡的内存数据,保证了内存数据的完整迀移。进一步,所述处理器还可以根据分次迀移策略,指示所述源内存卡的内存控制器分多次将所述源内存卡的内存数据迀移到所述备份内存卡,使得在进行内存数据迀移的过程中,所述处理器能够根据需求退出0S执行B1S的内存数据的迀移指令,或者退出B1S执行0S的指令进行业务处理,从而保证所述计算机的业务能够及时处理,避免在进行大量内存数据迀移时导致的计算机业务的长时间中断,保障了该计算机的正常运行。进一步,所述处理器还能够指示所述源内存卡的内存控制器确定所述源内存卡中的非错误数据,并指示所述源内存卡的内存控制器将所述非错误数据迀移到所述备份内存卡,避免将所述源内存卡中的错误数据迀移到所述备份内存卡而可能导致的计算机重启。
[0196]进一步,在本发明实施例中,在进行内存数据迀移之前,所述处理器还可以确定所述备份内存卡是否满足迀移条件,如果满足迀移条件,才对所述源内存卡进行内存数据的迀移,保证了内存数据迀移的顺利进行,避免由于所述备份内存卡未完成初始化或者内存容量不够等问题而导致的数据迀移失败。
[0197]本发明实施例提供了一种基本输入输出系统,如图5所示,所述基本输入输出系统包括计算机执行指令501,所述基本输入输出系统可以是一个处理芯片,当计算机的处理器执行所述计算机执行指令501时,所述计算机执行如下方法:
[0198]确定待迀移内存数据的源内存卡;
[0199]为所述源内存卡确定备份内存卡;
[0200]指示所述源内存卡的内存控制器进行内存数据的迀移,以使得所述源内存卡的内存控制器根据所述处理器的指示将所述源内存卡的内存数据迀移到所述备份内存卡。
[0201]进一步,所述计算机还可以根据所述计算机执行指令501执行如下方法:
[0202]将所述源内存卡和所述备份内存卡设置为镜像模式;
[0203]所述处理器指示所述源内存卡的内存控制器进行内存数据的迀移,以使得所述源内存卡的内存控制器根据所述处理器的指示读取所述源内存卡的内存数据,将所读取的所述源内存卡的内存数据写入到所述备份内存卡,包括:
[0204]所述处理器向所述源内存卡的内存控制器发送数据读指令,所述数据读指令用于指示所述源内存卡的内存控制器读取所述源内存卡的内存数据;
[0205]所述处理器向所述源内存卡的内存控制器发送数据写指令,所述数据写指令用于指示所述源内存卡的内存控制器将所述读取的数据写回所述源内存卡,以使得所述源内存卡的内存控制器根据所述处理器的数据读指令读取所述源内存卡的内存数据,接收到所述数据写指令后,根据所述源内存卡和所述备份内存卡之间的镜像模式,将所读取的所述源内存卡的内存数据发送给所述备份内存卡的内存控制器。
[0206]进一步,所述计算机还可以根据所述计算机执行指令501执行如下方法:
[0207]所述计算机获取分次迀移策略;
[0208]所述计算机根据所述分次迀移策略,指示所述源内存卡的内存控制器分多次进行内存数据的迀移。进一步,所述计算机根据所述分次迀移策略指示所述源内存卡的内存控制器分多次进行内存数据的迀移可以包括:
[0209]所述计算机确定当次迀移的数据量,指示所述源内存卡的内存控制器将所述当次迀移的数据量迀移到所述备份内存卡,或者,所述计算机确定当次迀移的时长,指示所述源内存卡的内存控制器在所述当次迀移的时长内进行内存数据的迀移;
[0210]在确定所述源内存卡的内存控制器完成所述当次迀移之后,所述计算机退出所述基本输入输出系统并执行操作系统的指令。
[0211]进一步,所述计算机还可以根据所述计算机执行指令501执行如下方法:
[0212]所述计算机确定所述备份内存卡是否满足迀移条件,如果满足所述迀移条件,执行所述指示所述源内存卡的内存控制器进行内存数据的迀移的步骤;其中,所述迀移条件包括但不限于以下条件之一或任意组合:所述备份内存卡完成初始化、所述备份板的内存容量大于或等于所述源内存卡的内存容量。
[0213]此外,所述计算机还可以根据所述计算机执行指令501,在所述备份内存卡未完成初始化时,对所述备份内存卡进行初始化,其中,所述初始化避免为所述备份内存卡分配系统地址。
[0214]进一步,当计算机的处理器执行所述计算机执行指令501时,在所述计算机指示所述源内存卡的内存控制器进行内存数据的迀移之前,所述计算机还可以执行如下方法:
[0215]所述计算机指示所述源内存卡的内存控制器检测所述源内存卡中的非错误数据并进行标记;
[0216]则,所述计算机根据所述基本输入输出系统的内存数据的迀移指令,指示所述源内存卡的内存控制器根据所述标记对所述非错误数据进行迀移。
[0217]进一步,所述计算机还可以根据所述计算机执行指令501,在确定所述源内存卡的内存数据全部迀移到所述备份内存卡之后,将所述源内存卡的系统地址指向的目标内存卡更改为所述备份内存卡。
[0218]在本发明实施例中,所述基本输入输出系统包括计算机执行指令501,使得计算机执行所述计算机执行指令501时,可以确定待迀移内存数据的源内存卡、为所述源内存卡确定备份内存卡,将所述源内存卡和所述备份内存卡设置为镜像模式,指示所述源内存卡的内存控制器根据所述镜像模式,将所述源内存卡的内存数据写入所述备份内存卡,从而在计算机不下电的情况下,能够对所述源内存卡的内存数据进行迀移,实现了对故障内存卡的在线维护,解决了现有技术中需要对整个计算机下电才能进行故障内存卡的更换或维护的问题。此外,由于所述计算机的处理器是执行B1S的计算机执行指令501完成内存数据的迀移,能够实现对0S内核模块所在的内存卡的数据进行迀移,避免了不能对OS内核模块数据进行迀移的问题。
[0219]在本发明实施例中,还可以将所述源内存卡的所有数据迀移到所述备份内存卡,而不是只迀移在启动内存迀移之后,新写入所述源内存卡的内存数据,保证了内存数据的完整迀移。进一步,所述计算机的处理器执行所述计算机执行指令501时,还可以根据分次迀移策略,指示所述源内存卡的内存控制器分多次将所述源内存卡的内存数据迀移到所述备份内存卡,使得在进行内存数据迀移的过程中,所述处理器能够根据需求退出0S执行B1S的计算机执行指令501,或者退出B1S执行0S的指令进行业务处理,从而保证所述计算机的业务能够及时处理,避免在进行大量内存数据迀移时导致的计算机业务的长时间中断,保障了该计算机的正常运行。进一步,所述处理器还能够指示所述源内存卡的内存控制器确定所述源内存卡中的非错误数据,并指示所述源内存卡的内存控制器将所述非错误数据迀移到所述备份内存卡,避免将所述源内存卡中的错误数据迀移到所述备份内存卡而可能导致的计算机重启。
[0220]进一步,在本发明实施例中,在进行内存数据迀移之前,所述处理器执行所述计算机执行指令501时,还可以确定所述备份内存卡是否满足迀移条件,如果满足迀移条件,才对所述源内存卡进行内存数据的迀移,保证了内存数据迀移的顺利进行,避免由于所述备份内存卡未完成初始化或者内存容量不够等问题而导致的数据迀移失败。
[0221]本发明的各方面、或各个方面的可能实现方式可以采用计算机程序产品的形式,计算机程序产品是指存储在计算机可读介质中的计算机可读程序代码。
[0222]计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质包含但不限于电子、磁性、光学、电磁、红外或半导体系统、设备或者装置,或者前述的任意适当组合,如随机存取存储器(RAM)、只读存储器(R0M)、可擦除可编程只读存储器(EPR0M或者快闪存储器)、光纤、便携式只读存储器(CD-ROM)。
[0223]计算机中的处理器读取存储在计算机可读介质中的计算机可读程序代码,使得处理器能够执行在流程图中每个步骤、或各步骤的组合中规定的功能动作;生成实施在框图的每一块、或各块的组合中规定的功能动作的装置。
[0224]计算机可读程序代码可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为单独的软件包、部分在用户的计算机上并且部分在远程计算机上,或者完全在远程计算机或者服务器上执行。也应该注意,在某些替代实施方案中,在流程图中各步骤、或框图中各块所注明的功能可能不按图中注明的顺序发生。例如,依赖于所涉及的功能,接连示出的两个步骤、或两个块实际上可能被大致同时执行,或者这些块有时候可能被以相反顺序执行。
[0225]本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0226]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
【主权项】
1.一种计算机,包括: 处理器; 基本输入输出系统; 主存储器,用于加载所述基本输入输出系统的指令以及所述计算机的操作系统的指令,所述主存储器包括一个或多个内存卡; 内存控制器,每个内存卡配置有对应的内存控制器; 其特征在于, 所述处理器用于执行所述操作系统的指令,并在执行所述操作系统的指令时接收第一触发指令,根据所述第一触发指令,执行所述基本输入输出系统的内存数据的迀移指令,所述处理器根据所述基本输入输出系统的内存数据的迀移指令执行如下操作:确定待迀移内存数据的源内存卡;为所述源内存卡确定备份内存卡;指示所述源内存卡的内存控制器进行内存数据的迀移; 所述源内存卡的内存控制器用于接收所述处理器的指示,根据所述处理器的指示将所述源内存卡的内存数据迀移到所述备份内存卡。2.如权利要求1所述的计算机,其特征在于,所述处理器具体用于将所述源内存卡和所述备份内存卡设置为镜像模式,向所述源内存卡的内存控制器发送数据读指令,所述数据读指令用于指示所述源内存卡的内存控制器读取所述源内存卡的内存数据,以及向所述源内存卡的内存控制器发送数据写指令,所述数据写指令用于指示
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1