【技术实现步骤摘要】
处理内存故障的方法与计算机系统
本申请涉及信息
,并且更具体地,涉及处理内存故障的方法与计算机系统。
技术介绍
一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像(mirroring),镜像是冗余的一种类型。在存储控制设备上,镜像是由一个控制器将接收到的数据通过镜像通道在另一个控制器做副本。当通过直接内存访问(directmemoryaccess,DMA)方式进行镜像访问时,由于是直接访问内存的物理地址空间,一个控制器中的数据从该控制器的物理地址空间直接复制到另一个控制器中完全相同的地址空间。如果另一个控制器的内存存在故障,当将数据写入该控制器中存在故障的内存时,则会导致内存溢出(outofmemory,OOM)。
技术实现思路
本申请提供一种处理内存故障的方法,能够降低镜像访问时由于内存故障导致的OOM发生的概率。第一方面,提供了一种处理内存故障的方法,应用于计算机系统中,该计算机系统包括处理单元、第一控制单元、第二控制单元,该第一控制单元与该第二控制单元均与该处理单元连接,包括:该第一控制单元确定该第一存储空间中存在故障的内存的地址,该第一存储空间是该第一控制单元中的存储空间,该第一存储空间能够存储该第二控制单元以直接内存访问DMA的方式在该第一控制单元中备份的数据;该第一控制单元将该第一存储空间中存在故障的内存的地址同步至该第二控制单元;该第二控制单元获取该第一存储空间中存在故障的内存的地址;该第二控制单元以DMA的方式将缓存在该第二控制单元中的该数据存储至该第一存储空间,并且在存储该数据时隔离该第一存储空间中存在故障的内存,其中,该数据 ...
【技术保护点】
1.一种处理内存故障的方法,应用于计算机系统中,其特征在于,所述计算机系统包括处理单元、第一控制单元、第二控制单元,所述第一控制单元与所述第二控制单元均与所述处理单元连接,包括:所述第一控制单元确定第一存储空间中存在故障的内存的地址,所述第一存储空间是所述第一控制单元中的存储空间,所述第一存储空间能够存储所述第二控制单元以直接内存访问DMA的方式在所述第一控制单元中备份的数据;所述第一控制单元将所述第一存储空间中存在故障的内存的地址同步至所述第二控制单元;所述第二控制单元获取所述第一存储空间中存在故障的内存的地址;所述第二控制单元以DMA的方式将缓存在所述第二控制单元中的所述数据存储至所述第一存储空间,并且在存储所述数据时隔离所述第一存储空间中存在故障的内存,其中,所述数据是由所述处理单元通过所述第二控制单元进行存储的数据。
【技术特征摘要】
1.一种处理内存故障的方法,应用于计算机系统中,其特征在于,所述计算机系统包括处理单元、第一控制单元、第二控制单元,所述第一控制单元与所述第二控制单元均与所述处理单元连接,包括:所述第一控制单元确定第一存储空间中存在故障的内存的地址,所述第一存储空间是所述第一控制单元中的存储空间,所述第一存储空间能够存储所述第二控制单元以直接内存访问DMA的方式在所述第一控制单元中备份的数据;所述第一控制单元将所述第一存储空间中存在故障的内存的地址同步至所述第二控制单元;所述第二控制单元获取所述第一存储空间中存在故障的内存的地址;所述第二控制单元以DMA的方式将缓存在所述第二控制单元中的所述数据存储至所述第一存储空间,并且在存储所述数据时隔离所述第一存储空间中存在故障的内存,其中,所述数据是由所述处理单元通过所述第二控制单元进行存储的数据。2.根据权利要求1所述的方法,其特征在于,在所述第二控制单元以DMA的方式将缓存在所述第二控制单元中的所述数据存储至所述第一存储空间之前,所述方法还包括:所述第二控制单元将缓存在与所述第一存储空间中存在故障的内存的地址对应的地址空间的数据,迁移到第二存储空间其它的存储空间中;其中,所述第二存储空间是所述第二控制单元中的存储空间。3.根据权利要求1或2所述的方法,其特征在于,所述第一控制单元包括第一处理器与第一主板管理控制器BMC,所述第二控制单元包括第二BMC,所述将所述第一存储空间中存在故障的内存的地址同步至所述第二控制单元,包括:所述第一处理器将所述第一存储空间中存在故障的内存的地址写入所述第一控制单元中预先分配的存储空间中;所述第一BMC从所述第一控制单元中预先分配的存储空间中获取所述第一存储空间中存在故障的内存的地址;所述第一BMC向所述第二BMC发送第一报文,所述第一报文中携带有所述第一存储空间中存在故障的内存的地址。4.根据权利要求3所述的方法,其特征在于,所述第一控制单元还包括第一平台控制单元PCH与第一复杂可编程逻辑器件CPLD,所述第一控制单元中预先分配的存储空间是所述第一CPLD中的存储空间,所述第一处理器将所述第一存储空间中存在故障的内存的地址写入所述第一控制单元中预先分配的存储空间中,包括:所述第一处理器通过所述第一PCH将所述第一存储空间中存在故障的内存的地址写入所述第一CPLD中的预先分配的存储空间中;所述第一BMC从所述第一控制单元中预先分配的存储空间中获取所述第一存储空间中存在故障的内存的地址,包括:所述第一BMC从所述第一CPLD中的预先分配的存储空间中获取所述第一存储空间中存在故障的内存的地址。5.根据权利要求1或2所述的方法,其特征在于,所述第一控制单元包括第一处理器与第一直接内存访问控制器DMAC,所述第二控制单元包括第二处理器,所述将所述第一存储空间中存在故障的内存的地址同步至所述第二控制单元,包括:所述第一处理器向所述第一DMAC发送第一写数据指令,所述第一写数据指令中携带有所述第一存储空间中存在故障的内存的地址在第二存储空间中的第一存储子空间中的存储地址,所述第二存储空间为所述第二控制单元中的存储空间,所述第一存储子空间用于存储所述第一存储空间中存在故障的内存的地址,所述第二存储空间还包括第二存储子空间,所述第二存储子空间用于存储所述第一控制单元以DMA的方式在所述第二控制单元中备份的数据;所述第一DMAC根据所述第一写数据指令,将所述第一存储空间中存在故障的内存的地址存储至所述存储地址在所述第一存储子空间中对应的存储空间;所述第一处理器向所述第二处理器发送第二报文,所述第二报文中携带有所述第一存储空间中存在故障的内存的地址在所述第一存储子空间中的存储地址。6.根据权利要求3或4所述的方法,其特征在于,所述第二控制单元包括第二处理器与第二BMC,所述第二控制单元获取所述第一存储空间中存在故障的内存的地址,包括:所述第二BMC接收所述第一BMC发送的所述第一报文,所述第一报文中携带有所述第一存储空间中存在故障的内存的地址;所述第二BMC对所述第一报文进行解析,获取所述第一存储空间中存在故障的内存的地址;所述第二BMC将所述第一存储空间中存在故障的内存的地址写入所述第二控制单元中预先分配的存储空间中;所述第二处理器从所述第二控制单元中预先分配的存储空间中获取所述第一存储空间中存在故障的内存的地址。7.根据权利要求6所述的方法,其特征在于,所述第二控制单元还包括第二PCH与第二CPLD,所述第二控制单元中预先分配的存储空间是所述第二CPLD中的存储空间,所述第二BMC将所述第一存储空间中存在故障的内存的地址写入所述第二控制单元中预先分配的存储空间中,包括:所述第二BMC将所述第一存储空间中存在故障的内存的地址写入所述第二CPLD中的预先分配的存储空间中;所述第二处理器从所述第二控制单元中的预先分配的存储空间中获取所述第一存储空间中存在故障的内存的地址,包括:所述第二处理器通过所述第二PCH从所述第二CPLD中的预先分配的存储空间中获取所述第一存储空间中存在故障的内存的地址。8.根据权利要求5所述的方法,其特征在于,所述第二控制单元包括第二处理器,所述第二控制单元获取所述第一存储空间中存在故障的内存的地址,包括:所述第二处理器接收所述第一处理器发送的所述第二报文,所述第二报文中携带有所述第一存储空间中存在故障的内存的地址在所述第一存储子空间中的存储地址;所述第二处理器根据所述第二报文,从所述存储地址在所述第一存储子空间中对应的存储空间获取所述第一存储空间中存在故障的内存的地址。9.根据权利要求1至8中任一项所述的方法,其特征在于,所述第二控制单元以DMA的方式将缓存在所述第二控制单元中的所述数据存储至所述第一存储空间,并且在存储所述数据时隔离所述第一存储空间中存在故障的内存,包括:所述第二控制单元向所述第二控制单元中的第二DMAC发送第二写数据指令,所述第二写数据指令用于指示所述第二DMAC将缓存在所述第二控制单元中的所述数据存储至所述第一存储空间中,所述第二写数据指令携带的目的地址...
【专利技术属性】
技术研发人员:邓誉春,尹泽生,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。