一种隔离内存中坏块的方法及系统技术方案

技术编号:9765732 阅读:193 留言:0更新日期:2014-03-15 10:20
本发明专利技术公开一种隔离内存中坏块的方法及系统。所述方法应用于具有内存和处理器的电子设备,所述处理器通过逻辑地址对所述内存中的物理地址进行数据的读写操作,所述方法包括:当所述内存中的数据发生错误时,获取错误物理地址,所述错误物理地址为发生错误的数据在所述内存中的物理地址;确定与所述错误物理地址相对应的错误逻辑地址;在逻辑地址与物理地址的映射表中,将所述错误逻辑地址在所述映射表中对应的物理地址修改为所述内存中预留的未做映射的预留物理地址。采用本发明专利技术的方法或系统,即使内存中的物理地址出现永久性损坏,存在坏块,依然可以避免电子设备的操作系统复位,当前运行的业务中断,或电子设备的性能下降等问题。

【技术实现步骤摘要】
一种隔离内存中坏块的方法及系统
本专利技术涉及数据安全领域,特别是涉及一种隔离内存中坏块的方法及系统。
技术介绍
内存是计算机中重要的部件之一,其主要作用是暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。由于计算机中所有程序的运行都是在内存中进行的,因此,一旦内存中存储的数据发生错误,则会直接导致程序运行失败甚至引起操作系统的崩溃。现有技术中,有一种检查和纠正内存中的错误数据的技术,称为ECC技术。ECC是“Error Correcting Code”的简写,中文名称是“错误检查和纠正”。ECC技术的主要原理是:向内存中写入数据时,采用一定的算法生成ECC代码并存储;从内存中向外提供该数据时,采用相同的算法计算该数据的ECC代码,如果计算得到的ECC代码与之前存储的ECC代码相同,则表明该数据在读写过程中没有出现错误,否则,意味着数据发生错误。当数据中的某一数据位的数据发生错误时,采用ECC技术还可以纠正该数据位的数据。但是,ECC技术只能纠正一位发生错误的数据,当多个数据位的数据发生错误时,ECC技术就无法纠正发生错误的数据位。现有技术中,当多个数据位的数据发生错误时,通常会导致操作系统复位或重启,同时也会导致当前正在运行的业务中断。而专利技术人经过研究发现,现有技术中,多个数据位的数据发生错误的情况通常是由于内存中存在坏块导致的。当内存中存在坏块时,内存将频繁出现多个数据位的数据发生错误的情况,进而导致操作系统多次复位或重启,严重影响相关设备的性能。
技术实现思路
本专利技术的目的是提供一种隔离内存中坏块的方法及系统,能够对内存中存在的坏块进行隔离,避免使用内存中的坏块进行数据的存储,即使内存中存在坏块,也可以尽量避免该坏块的存在导致的频繁出现多个数据位的数据发生错误的情况。为实现上述目的,本专利技术提供了如下方案:根据本专利技术的第一方面的第一种可能的实现方式,本专利技术提供一种隔离内存中坏块的方法,所述方法应用于具有内存和处理器的电子设备,所述处理器通过逻辑地址对所述内存中的物理地址进行数据的读写操作,所述方法包括:当所述内存中的数据发生错误时,获取错误物理地址,所述错误物理地址为发生错误的数据在所述内存中的物理地址;确定与所述错误物理地址相对应的错误逻辑地址;在逻辑地址与物理地址的映射表中,将所述错误逻辑地址在所述映射表中对应的物理地址修改为所述内存中预留的未做映射的预留物理地址。结合第一方面的第二种可能的实现方式,将所述逻辑地址对应的物理地址修改为所述内存中预留的未做映射的预留物理地址之前,还包括:累计所述错误物理地址存储的数据发生错误的次数;判断所述次数是否大于或等于预设数值;如果是,则执行修改所述逻辑地址对应的物理地址的步骤;否则,保持所述逻辑地址对应的物理地址。结合第一方面的第三种可能的实现方式,还包括:实时将写入所述内存中的数据备份至所述另外的内存;从备份的数据中读取与所述发生错误的数据相对应的数据;将所述相对应的数据写入修改后的所述逻辑地址对应的物理地址。结合第一方面的第四种可能的实现方式,还包括:采用错误检查和纠正技术纠正所述发生错误的数据;将纠正后的所述发生错误的数据写入修改后的所述逻辑地址对应的物理地址。结合第一方面的四种可能的实现方式中的任意一种,所述获取错误物理地址,包括:检测所述内存中的数据是否发生内存访问错误;当所述内存中的数据发生内存访问错误时,获取发生内存访问错误的数据在所述内存中的错误物理地址。根据本专利技术的第二方面的第一种可能的实现方式,本专利技术提供一种隔离内存中坏块的系统,所述系统应用于具有内存和处理器的电子设备,所述处理器通过逻辑地址对所述内存中的物理地址进行数据的读写操作,所述系统包括:错误物理地址获取单元,用于当所述内存中的数据发生错误时,获取错误物理地址,将所述错误物理地址发送至逻辑地址确定单元,所述错误物理地址为发生错误的数据在所述内存中的物理地址;逻辑地址确定单元,用于接收所述错误物理地址获取单元发送的所述错误物理地址,确定与所述错误物理地址相对应的逻辑地址,将所述逻辑地址发送至映射关系修改单元;映射关系修改单元,用于接收所述逻辑地址确定单元发送的所述逻辑地址,在逻辑地址与物理地址的映射表中,将所述错误逻辑地址在所述映射表中对应的物理地址修改为所述内存中预留的未做映射的预留物理地址。结合第二方面的第二种可能的实现方式,还包括:出错次数累计单元,用于累计所述错误物理地址存储的数据发生错误的次数,将所述次数发送至出错次数判断单元;出错次数判断单元,用于接收所述出错次数累计单元发送的所述次数,判断所述次数是否大于或等于预设数值,将判断结果发送至映射关系修改控制单元;映射关系修改控制单元,用于接收所述出错次数判断单元发送的判断结果,当所述出错次数判断单元的判断结果为是时,控制所述映射关系修改单元执行修改所述逻辑地址对应的物理地址的步骤;映射关系保持单元,用于接收所述出错次数判断单元发送的判断结果,当所述出错次数判断单元的判断结果为否时,保持所述逻辑地址对应的物理地址。结合第二方面的第三种可能的实现方式,所述电子设备具有另外的内存,所述方法还包括:数据备份单元,用于实时将写入所述内存中的数据备份至所述另外的内存;备份数据读取单元,用于从备份的数据中读取与所述发生错误的数据相对应的备份数据,将与所述发生错误的数据相对应的备份数据发送至备份数据写入单元;备份数据写入单元,用于接收所述备份数据读取单元发送的与所述发生错误的数据相对应的备份数据,将所述相对应的备份数据写入修改后的所述逻辑地址对应的物理地址。结合第二方面的第四种可能的实现方式,还包括:错误数据纠正单元,用于采用错误检查和纠正技术纠正所述发生错误的数据,将纠正后的所述发生错误的数据发送至纠正数据写入单元;纠正数据写入单元,用于接收所述错误数据纠正单元发送的纠正后的所述发生错误的数据,将纠正后的所述发生错误的数据写入修改后的所述逻辑地址对应的物理地址。结合第二方面的四种可能的实现方式中的任意一种,所述错误物理地址获取单元,包括:内存访问错误检测子单元,用于检测所述内存中的数据是否发生内存访问错误,将检测结果发送至错误物理地址获取子单元;错误物理地址获取子单元,用于接收所述内存访问错误检测子单元发送的所述检测结果,当所述内存中的数据发生内存访问错误时,获取发生内存访问错误的数据在所述内存中的错误物理地址。根据本专利技术提供的具体实施例,本专利技术公开了以下技术效果:本专利技术公开的隔离内存中坏块的方法或系统,通过获取出现错误的错误物理地址,确定与所述错误物理地址相对应的错误逻辑地址,在逻辑地址与物理地址的映射表中,将所述错误逻辑地址在所述映射表中对应的物理地址修改为所述内存中预留的未做映射的预留物理地址,由于处理器是通过逻辑地址对所述内存中的物理地址进行数据的读写操作的,在将与内存中的坏块所在的物理地址对应的错误逻辑地址修改为与该内存中预留的未做映射的预留物理地址对应之后,对于处理器而言,内存中出现错误的物理地址就被隔离了。采用本专利技术的方法或系统,即使内存中的物理地址出现永久性损坏,存在坏块,依然可以避免电子设备的操作系统复位,当前运行的业务中断,或电子设备的性能下降等问题。【附图说明】为了更清楚地说明本发本文档来自技高网...

【技术保护点】
一种隔离内存中坏块的方法,其特征在于,所述方法应用于具有内存和处理器的电子设备,所述处理器通过逻辑地址对所述内存中的物理地址进行数据的读写操作,所述方法包括:当所述内存中的数据发生错误时,获取错误物理地址,所述错误物理地址为发生错误的数据在所述内存中的物理地址;确定与所述错误物理地址相对应的错误逻辑地址;在逻辑地址与物理地址的映射表中,将所述错误逻辑地址在所述映射表中对应的物理地址修改为所述内存中预留的未做映射的预留物理地址。

【技术特征摘要】
1.一种隔离内存中坏块的方法,其特征在于,所述方法应用于具有内存和处理器的电子设备,所述处理器通过逻辑地址对所述内存中的物理地址进行数据的读写操作,所述方法包括: 当所述内存中的数据发生错误时,获取错误物理地址,所述错误物理地址为发生错误的数据在所述内存中的物理地址; 确定与所述错误物理地址相对应的错误逻辑地址; 在逻辑地址与物理地址的映射表中,将所述错误逻辑地址在所述映射表中对应的物理地址修改为所述内存中预留的未做映射的预留物理地址。2.根据权利要求1所述的方法,其特征在于,将所述逻辑地址对应的物理地址修改为所述内存中预留的未做映射的预留物理地址之前,还包括: 累计所述错误物理地址存储的数据发生错误的次数; 判断所述次数是否大于或等于预设数值; 如果是,则执行修改所述逻辑地址对应的物理地址的步骤;否则,保持所述逻辑地址对应的物理地址。3.根据权利要求1所述的方法,其特征在于,所述电子设备具有另外的内存,所述方法还包括: 实时将写入所述内存 中的数据备份至所述另外的内存; 从备份的数据中读取与所述发生错误的数据相对应的数据; 将所述相对应的数据写入修改后的所述逻辑地址对应的物理地址。4.根据权利要求1所述的方法,其特征在于,还包括: 采用错误检查和纠正技术纠正所述发生错误的数据; 将纠正后的所述发生错误的数据写入修改后的所述逻辑地址对应的物理地址。5.根据权利要求1-4任一项所述的方法,其特征在于,所述获取错误物理地址,包括: 检测所述内存中的数据是否发生内存访问错误; 当所述内存中的数据发生内存访问错误时,获取发生内存访问错误的数据在所述内存中的错误物理地址。6.一种隔离内存中坏块的系统,其特征在于,所述系统应用于具有内存和处理器的电子设备,所述处理器通过逻辑地址对所述内存中的物理地址进行数据的读写操作,所述系统包括: 错误物理地址获取单元,用于当所述内存中的数据发生错误时,获取错误物理地址,将所述错误物理地址发送至逻辑地址确定单元,所述错误物理地址为发生错误的数据在所述内存中的物理地址;逻辑地址确定单元,用于接收所述错误物理地址获取单元发送的所述错误物理地址,确定与所述错误物理地址相对应的逻辑地址,将所述逻辑地址发送至映射关系修改单元;映射关系修改单元,用于接收所...

【专利技术属性】
技术研发人员:张洪岽李小华
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1