[发明专利]避免主存储器中的错误单元的虚拟存储器管理装置及其方法在审
申请号: | 201780002586.7 | 申请日: | 2017-04-07 |
公开(公告)号: | CN107851051A | 公开(公告)日: | 2018-03-27 |
发明(设计)人: | 金善郁;白允雅;全渽永 | 申请(专利权)人: | 高丽大学校产学协力团 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F12/16;G06F9/30 |
代理公司: | 北京品源专利代理有限公司11332 | 代理人: | 王小衡,王天鹏 |
地址: | 韩国*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 避免 主存储器 中的 错误 单元 虚拟 存储器 管理 装置 及其 方法 | ||
技术领域
本发明涉及一种用于避免主存储器中的错误单元的虚拟存储器管理装置及其方法,其使用如下的虚拟存储器的特性。在栈(stack)区的情况下,以包括错误单元的块被位于栈帧之间的方式来分配和释放栈帧。在堆(heap)区的情况下,包括错误单元的块在用于堆管理的数据结构中被标记为处于已分配状态。在代码存储器的情况下,包括错误单元的页面经由配置文件被分配给不经常被使用的代码的部分。在文件映射存储器的情况下,将包括错误单元的物理存储器页面分配给最后一页的未使用空间。
背景技术
当存储器中发生错误时,写入程序的值不会按原样存储,并且可能发生数据丢失,并且因为写入的值由于错误而导致被读取为不同的值,所以程序可能会发生故障。
为了解决这个问题,已经使用了在硬件或软件中检测/纠正或避免存储器中的错误的方法。
也就是说,作为硬件方法,通过使用额外的存储器空间来以额外的空间替换具有错误的空间或者将能够检测或纠正错误的代码(例如,错误校正码)存储在额外的存储器空间以检测或纠正错误,从而防止数据丢失和故障,但是在硬件方法中,由于需要额外的存储器空间,所以其成本增加。
此外,作为软件方法,在操作系统的存储器管理系统中,可以通过其中具有错误的存储器空间(可替选地,页面)在程序中未被分配的方法来避免对错误单元的访问,但是由于操作系统的存储器管理是通过页面单元来执行的,所以即使页面中只包括一个错误,也不能使用整个页面。
现有技术文献
专利文献
韩国专利公开公布号10-2007-0098133[发明名称:闪速存储器的错误块管理方法]
技术问题
本发明的一个目的是提供一种用于避免主存储器中的错误单元的虚拟存储器管理装置及其方法,以防止软件访问有错误的存储器区域。
本发明的另一个目的是提供一种用于避免主存储器中的错误单元的虚拟存储器管理装置及其方法,其中:在栈区的情况下,以包括错误单元的块位于栈帧之间的方式来分配和释放栈帧;在堆区的情况下,包括错误单元的块在用于堆管理的数据结构中被标记为处于已分配状态;在代码存储器的情况下,包括错误单元的页面经由配置文件被分配给不经常被使用的代码存储器的部分;并且在文件映射存储器的情况下,包括错误单元的物理存储器页面被分配给最后一页的未使用空间。
技术方案
根据本发明的一个方面,提供了一种用于避免主存储器中的错误单元的栈存储器管理方法,包括:存储器管理单元检查关于所述主存储器中的错误单元的信息;当分配被调用者的栈帧时,所述存储器管理单元检查所述错误单元是否位于要被分配给被调用者的栈帧的空间中;并且作为检查结果,当所述错误单元位于要被分配给所述被调用者的栈帧的空间中时,所述存储器管理单元通过将所述被调用者的栈帧的位置调整为紧接着包括所述错误单元的块而将所述错误单元配置为位于调用者的栈帧和被调用者的栈帧之间。
作为与本发明有关的示例,在将所述错误单元配置为位于所述调用者的栈帧和所述被调用者的栈帧之间中,所述存储器管理单元可以通过将与所述调用者的栈帧的最后一点对应的栈指针减小与包括所述错误单元的空间对应的大小和与所述被调用者的栈帧对应的大小而被标记为分配所述被调用者的栈帧。
作为与本发明有关的示例,栈存储器管理方法可以进一步包括:作为所述检查结果,当所述错误单元不位于要被分配给所述被调用者的栈帧的空间中时,所述存储器管理单元通过将与所述调用者的栈帧的最后一点对应的栈指针减小与所述被调用者的栈帧对应的大小而分配所述被调用者的栈帧。
作为与本发明有关的示例,栈存储器管理方法可以进一步包括:当被分配给所述被调用者的栈帧被释放时,所述存储器管理单元将位于所述被调用者的栈帧的最后一点处的栈指针移动到调用所述被调用者的调用者的栈帧的结束点。
根据本发明的另一方面,提供了一种用于避免主存储器中的错误单元的堆存储器管理方法,包括:存储器管理单元检查关于所述主存储器中的错误单元的信息;所述存储器管理单元确定包括错误单元的区块是否存在于被包括在空闲区块列表中的多个区块中;作为确定结果,当包括所述错误单元的区块存在于被包括在所述空闲区块列表中的多个区块中时,所述存储器管理单元将包括所述空闲区块列表中的错误单元的块配置为已分配状态;在包括所述错误单元的块被标记为所述已分配状态之后,所述存储器管理单元通过删除包括所述空闲区块列表中的错误单元的块而生成新的空闲区块列表;并且由所述存储器管理单元基于所述新的空闲区块列表将空闲区块分配给程序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于高丽大学校产学协力团,未经高丽大学校产学协力团许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780002586.7/2.html,转载请声明来源钻瓜专利网。