【技术实现步骤摘要】
本专利技术涉及计算机
,特别涉及一种内存管理方法及装置。
技术介绍
内存是计算机的重要组件,当内存中的相应内存模块出现故障时,操作系统则无法利用故障内存模块正确读写业务数据,需要对内存进行相应的管理。目前,对计算机的内存进行管理时,主要通过在计算机的操作系统中设置ECC(Error Checking and Correction,错误检查和纠正)功能模块,在操作系统运行时,如果操作系统无法利用当前内存模块正确读写业务数据,即当前内存模块出现故障时,产生对应该故障内存模块的ECC错误信息,ECC功能模块根据ECC错误信息对故障内存模块进行临时屏蔽,并修复故障内存模块。但是,由于内存模块的集成度越来越高,在当前内存模块出现故障时,可能导致与其相邻的其他内存模块也出现故障,当操作系统无法在其相邻的内存模块上正确读写业务数据时,将产生更多的ECC错误信息,而过多的ECC错误信息,可能导致操作系统崩溃,进而使计算机无法正常工作。
技术实现思路
本专利技术实施例提供了一种内存管理方法及装置,可确保计算机能够正常工作。第一方面,本专利技术实施例提供了一种内存管理方法,包括:S0:在启动计算机的操作系统后,获取对应所述操作系统的多个内存单元分别对应的地址信息以及多个内存单元之间的排列结构;S1:获取携带目标地址信息的错误检查和纠正ECC错误信息;S2:根据所述多个内存单元分别对应的地址信息及所述目标地址信息确定目标内存单元;S3:根据所述多个内存单元之间的排列结构,确定与所述目标内存单元相邻的至少一个相邻内存单元;S4:分别检测每一个所述相邻内存单元是否发生故障;S5 ...
【技术保护点】
一种内存管理方法,其特征在于,包括:在启动计算机的操作系统后,获取对应所述操作系统的多个内存单元分别对应的地址信息以及多个内存单元之间的排列结构;获取携带目标地址信息的错误检查和纠正ECC错误信息;根据所述多个内存单元分别对应的地址信息及所述目标地址信息确定目标内存单元;根据所述多个内存单元之间的排列结构,确定与所述目标内存单元相邻的至少一个相邻内存单元;分别检测每一个所述相邻内存单元是否发生故障;当存在发生故障的相邻内存单元时,隔离所述目标内存单元和每一个所述发生故障的相邻内存单元,以使所述操作系统不再利用所述目标内存单元和每一个所述发生故障的相邻内存单元存储业务数据。
【技术特征摘要】
1.一种内存管理方法,其特征在于,包括:在启动计算机的操作系统后,获取对应所述操作系统的多个内存单元分别对应的地址信息以及多个内存单元之间的排列结构;获取携带目标地址信息的错误检查和纠正ECC错误信息;根据所述多个内存单元分别对应的地址信息及所述目标地址信息确定目标内存单元;根据所述多个内存单元之间的排列结构,确定与所述目标内存单元相邻的至少一个相邻内存单元;分别检测每一个所述相邻内存单元是否发生故障;当存在发生故障的相邻内存单元时,隔离所述目标内存单元和每一个所述发生故障的相邻内存单元,以使所述操作系统不再利用所述目标内存单元和每一个所述发生故障的相邻内存单元存储业务数据。2.根据权利要求1所述的内存管理方法,其特征在于,在所述在启动计算机的操作系统后之前,还包括:预先在计算机的基本输出输出系统中设置内存管理模块;在启动计算机的基本输入输出系统时,利用所述内存管理模块分别检测对应当前计算机的每一个内存单元是否发生故障;当检测到至少一个内存单元发生故障时,获取每一个发生故障的内存单元的地址信息,并将每一个发生故障的内存单元的地址信息存储至非易失性存储介质;根据所述非易失性存储介质中存储的每一个发生故障的内存单元的地址信息,隔离每一个发生故障的内存单元,以将当前未隔离的内存单元作为对应所述操作系统的多个内存单元。3.根据权利要求2所述的内存管理方法,其特征在于,在所述隔离所述目标内存单元和每一个所述发生故障的相邻内存单元之后,还包括:将每一个所述发生故障的相邻内存单元和所述目标内存单元分别对应的
\t地址信息存储至所述非易失性存储介质。4.根据权利要求1至3中任一所述的内存管理方法,其特征在于,还包括:预先设置测试参数n和故障阈值,其中,n为不小于3的整数;所述分别检测每一个所述相邻内存单元是否发生故障,包括:分别在每一个所述相邻内存单元上读写n次测试数据;检测每一个所述相邻内存单元分别对应的能够正确读写测试数据的次数;根据测试参数n及每一个所述相邻内存单元分别对应的能够正确读写测试数据的次数计算当前相邻内存单元的非故障概率;分别比较每一个相邻内存单元对应的非故障概率和所述故障阈值,在当前相邻内存单元对应的非故障概率小于所述故障阈值时,确定当前相邻内存单元发生故障。5.根据权利要求4所述的内存管理方法,其特征在于,在所述确定与所述目标内存单元相邻的至少一个相邻内存单元之后,在所述分别在每一个所述相邻内存单元上读写n次测试数据之前,进一步包括:分别检测每一个所述相邻内存单元是否处于空闲状态,当每一个所述相邻内存单元均处于空闲状态时,执行所述分别在每一个所述相邻内存单元上读写n次测试...
【专利技术属性】
技术研发人员:周茂庸,刘胜,庞潇,
申请(专利权)人:浪潮电子信息产业股份有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。