一种面向非易失性存储器的恶意读写程序监控装置及方法制造方法及图纸

技术编号:15004030 阅读:65 留言:0更新日期:2017-04-04 12:17
本发明专利技术公开了一种面向非易失性存储器的恶意读写程序监控装置,所述装置包括第一模块、第二模块、第三模块和第四模块,所述第一模块,包括写次数管理单元、PM页损耗均衡管理单元和PM页恶意写管理单元,该模块用于记录PM物理页的写次数以及PM物理页的所有映射关系,所述第二模块,包括计数器、PM页累计命中记录器、附加寄存器、随机数生成单元和计算单元,用于检测当前程序在其对应物理页上的写频繁程度,所述第三模块,由决策逻辑单元组成,用于决策当前程序的恶意程度和相应均衡措施,所述第四模块,由DRAM_Reserve表组成,用于管理判定为恶意程序所对应的物理页。

【技术实现步骤摘要】

本专利技术属于计算机系统结构
,特别涉及一种面向非易失性存储器的恶意读写程序监控装置及方法
技术介绍
在计算机体系结构设计中,由于PM寿命的限制,技术人员不仅要考虑其均匀损耗的问题,更要防止恶意程序对PM进行连续长时间的写,否则,PM极容易在短时间内遭受损害。因此,专门针对PM的恶意程序的检测和控制是十分必要且具有积极的意义。然而,现有技术中鲜有这方面的研究。在本领域,涉及的术语如下。DRAM:DynamicRandomAccessMemory,动态随机存储器,即现阶段广泛使用的内存,其特点是断电后信息丢失,理论上读写寿命不受限制。SRAM:StaticRandomAccessMemory,静态随机存储器,静止存取数据,不需要刷新电路即能保存它内部存储的数据。PM:PersistentMemory,非易失性内存或持久性内存,STTRAM,PCM,RRAM都属于PM,其特点是断电后信息不丢失,可字节寻址;但读写次数受限制,并且读写不均衡,根据材料的不同,PM写耗费时间大概是其读耗费时间的4到10倍,PM读的时间比DRAM慢1到4倍。WearLeveling:损耗均衡,通过跟踪存储器上存储空间的使用情况使数据能够重写到存储器中的不同地方,避免一直写入存储器的同一位置。使用这种方式最大限度使用存储器的各个存储块,减少了存储器的耗损程度。LRU:LeastRecentlyUsed,近期最少使用算法
技术实现思路
本专利技术主要针对PM的恶意程序攻击问题,提供一种在线检测方法,同时提供一种装置使得PM能够均衡损耗和安全损耗,所述装置能够快捷的添加到内存控制器当中。本专利技术的技术方案是,一种面向非易失性存储器的恶意读写程序监控装置,所述装置包括第一模块、第二模块、第三模块和第四模块,所述第一模块,包括写次数管理单元、PM页损耗均衡管理单元和PM页恶意写管理单元,该模块用于记录PM物理页的写次数以及PM物理页的所有映射关系,所述第二模块,包括计数器、PM页累计命中记录器、附加寄存器、随机数生成单元和计算单元,用于检测当前程序在其对应物理页上的写频繁程度,所述第三模块,由决策逻辑单元组成,用于决策当前程序的恶意程度和相应均衡措施,所述第四模块,由DRAM_Reserve表组成,用于管理判定为恶意程序所对应的物理页,在所述第一模块中:写次数管理单元由一颗平衡二叉排序树构成,所述的平衡二叉排序树的每个节点由标志位、物理页号、对应物理页号的写次数三个域组成;PM页损耗均衡管理单元由PM_WH_to_WL表构成,这个表的第一列是按照写次数递减的物理页的页号,第二列是按照写次数递增的物理页的页号;PM_WH_to_WL表的作用是交换两个物理页时记录其正映射和逆映射关系;PM页恶意写管理单元由PM_to_DRAM表构成,这个表的第一列是写次数达到某较大阈值的物理页的页号,第二列是按照物理地址递增的DRAM物理页的页号;PM_to_DRAM表的作用是将当前写次数最多的PM物理页复制到DRAM时,记录PM物理页号到DRAM物理页号的映射关系;在所述第二模块中:计数器由计数器Write_Sum构成,用来统计当前活动窗口内部的偏移值;PM页累计命中记录器由Hit_Sum统计表构成,这个表的第一列是最近一段时间内访问物理页的页号,第二列是在对应物理页上的写次数Hit_Counter,记Hit_Counter_Sum为所述Hit_Sum统计表中第二列写次数求和的结果,Hit_Sum统计表的作用是统计写次数多的物理页的写次数,所述Hit_Sum统计表的大小为检测的活动窗口大小的1%到2%,记录的是写次数较多的物理页的写次数;附加寄存器由Hit_add寄存器构成,由于PM页累计命中记录器中所述Hit_Sum统计表的大小仅为检测的活动窗口大小的1%到2%,当所述Hit_Sum统计表中某行被替换出去时,所述Hit_add寄存器用来累计所述的Hit_Sum统计表中替换出去的行的第二列Hit_Counter的和;随机数生成单元,若当前读写操作的物理页号在PM页累计命中记录器中所述Hit_Sum统计表中第一列没有找到时,在第一个模块的写次数管理单元中所述的平衡二叉排序树中以当前读写操作的物理页号为关键字查找,若找到,根据当前读写操作的物理页的写次数按照某种计算方法得到所述的当前读写操作的物理页号的替换概率,然后由随机数生成单元生成一个随机数与所述的当前读写操作的物理页号的替换概率进行某种运算,结果为1则替换,结果为0则不替换;计算单元用来计算当前检测的写密度,所述的写密度为PM页累计命中记录器中所述Hit_Counter_Sum与附加寄存器中所述Hit_add的累加和,再与计数器中所述Write_Sum的比值;在第三模块中,若当前程序对应物理页的写密度在[0,1%]内,则判定当前程序为正常程序,继续下一次检测;若当前程序对应物理页的写密度在[1%,10%]内,则判定当前程序为危险程序,从第一个模块的写次数管理单元的所述平衡二叉排序树中以写次数为关键字查找一定数量的写次数最多的物理页号和写次数最少的物理页号,依次将所述写次数最多的物理页的内容和所述写次数最少的物理页的内容交换,同时在第一个模块的PM页损耗均衡管理单元中的PM_WH_to_WL表中添加所述交换的物理页号的正映射和逆映射;若当前程序对应物理页的写密度在(10%,100%]内,则判定当前程序为恶意程序,在第一个模块的写次数管理单元中所述的平衡二叉排序树上以写次数为关键字查找写次数最多的物理页号,将所述的写次数最多的物理页号复制到第四个模块的DRAM_Reserve表的第一列的相应行,同时在第一个模块的PM页损耗均衡管理单元的表PM_to_DRAM中增添一行,所述行的第一列为第一个模块的写次数管理单元中所述的平衡二叉排序树的右子树最右边的叶子节点对应的物理页号,所述行的第二列为DRAM中对应的物理页号,同时将第一个模块的写次数管理单元的平衡二叉排序树中写次数最多的对应节点删除;在第四模块中,所述的DRAM_Reserve表有两列,第一列是DRAM保留区的物理页号,所述的物理页号按自然数递增,第二列是对应物理页的写次数。一种面向非易失性存储器的恶意读写程序监控方法,所述方法也可以方便的移植到面向非易失性存储器的操作系统的内存管理部分,包括以下步骤:步本文档来自技高网
...

【技术保护点】
一种面向非易失性存储器的恶意读写程序监控装置,其特征在于,所述装置包括第一模块、第二模块、第三模块和第四模块,所述第一模块,包括写次数管理单元、PM页损耗均衡管理单元和PM页恶意写管理单元,该模块用于记录PM物理页的写次数以及PM物理页的所有映射关系,所述第二模块,包括计数器、PM页累计命中记录器、附加寄存器、随机数生成单元和计算单元,用于检测当前程序在其对应物理页上的写频繁程度,所述第三模块,由决策逻辑单元组成,用于决策当前程序的恶意程度和相应均衡措施,所述第四模块,由DRAM_Reserve表组成,用于管理判定为恶意程序所对应的物理页,在所述第一模块中:写次数管理单元由一颗平衡二叉排序树构成,所述的平衡二叉排序树的每个节点由标志位、物理页号、对应物理页号的写次数三个域组成;PM页损耗均衡管理单元由PM_WH_to_WL表构成,这个表的第一列是按照写次数递减的物理页的页号,第二列是按照写次数递增的物理页的页号,PM_WH_to_WL表的作用是交换两个物理页时记录其正映射和逆映射关系;PM页恶意写管理单元由PM_to_DRAM表构成,这个表的第一列是写次数达到某较大阈值的物理页的页号,第二列是按照物理地址递增的DRAM物理页的页号,PM_to_DRAM表的作用是将当前写次数最多的PM物理页复制到DRAM时,记录PM物理页号到DRAM物理页号的映射关系;在所述第二模块中:计数器由计数器Write_Sum构成,用来统计当前活动窗口内部的偏移值;PM页累计命中记录器由Hit_Sum统计表构成,这个表的第一列是最近一段时间内访问物理页的页号,第二列是在对应物理页上的写次数Hit_Counter,记Hit_Counter_Sum为所述Hit_Sum统计表中第二列写次数求和的结果,Hit_Sum统计表的作用是统计写次数多的物理页的写次数,所述Hit_Sum统计表的大小为检测的活动窗口大小的1%到2%,记录的是写次数较多的物理页的写次数;附加寄存器由Hit_add寄存器构成,由于PM页累计命中记录器中所述Hit_Sum统计表的大小仅为检测的活动窗口大小的1%到2%,当所述Hit_Sum统计表中某行被替换出去时,所述Hit_add寄存器用来累计所述的Hit_Sum统计表中替换出去的行的第二列Hit_Counter的和;随机数生成单元,若当前读写操作的物理页号在PM页累计命中记录器中所述Hit_Sum统计表中第一列没有找到时,在第一个模块的写次数管理单元中所述的平衡二叉排序树中以当前读写操作的物理页号为关键字查找,若找到,根据当前读写操作的物理页的写次数按照某种计算方法得到所述的当前读写操作的物理页号的替换概率,然后由随机数生成单元生成一个随机数与所述的当前读写操作的物理页号的替换概率进行某种运算,结果为1则替换,结果为0则不替换;计算单元用来计算当前检测的写密度,所述的写密度为PM页累计命中记录器中所述Hit_Counter_Sum与附加寄存器中所述Hit_add的累加和,再与计数器中所述Write_Sum的比值;在第三模块中,若当前程序对应物理页的写密度在[0,1%]内,则判定当前程序为正常程序,继续下一次检测;若当前程序对应物理页的写密度在[1%,10%]内,则判定当前程序为危险程序,从第一个模块的写次数管理单元的所述平衡二叉排序树中以写次数为关键字查找一定数量的写次数最多的物理页号和写次数最少的物理页号,依次将所述写次数最多的物理页的内容和所述写次数最少的物理页的内容交换,同时在第一个模块的PM页损耗均衡管理单元中的PM_WH_to_WL表中添加所述交换的物理页号的正映射和逆映射;若当前程序对应物理页的写密度在(10%,100%]内,则判定当前程序为恶意程序,在第一个模块的写次数管理单元中所述的平衡二叉排序树上以写次数为关键字查找写次数最多的物理页号,将所述的写次数最多的物理页号复制到第四个模块的DRAM_Reserve表的第一列的相应行,同时在第一个模块的PM页损耗均衡管理单元的表PM_to_DRAM中增添一行,所述行的第一列为第一个模块的写次数管理单元中所述的平衡二叉排序树的右子树最右边的叶子节点对应的物理页号,所述行的第二列为DRAM中对应的物理页号,同时将第一个模块的写次数管理单元的平衡二叉排序树中写次数最多的对应节点删除;在第四模块中,所述的DRAM_Reserve表有两列,第一列是DRAM保留区的物理页号,所述的物理页号按自然数递增,第二列是对应物理页的写次数。...

【技术特征摘要】
1.一种面向非易失性存储器的恶意读写程序监控装置,其特征在于,所述装
置包括第一模块、第二模块、第三模块和第四模块,
所述第一模块,包括写次数管理单元、PM页损耗均衡管理单元和PM页
恶意写管理单元,该模块用于记录PM物理页的写次数以及PM物理页的所有
映射关系,
所述第二模块,包括计数器、PM页累计命中记录器、附加寄存器、随机
数生成单元和计算单元,用于检测当前程序在其对应物理页上的写频繁程度,
所述第三模块,由决策逻辑单元组成,用于决策当前程序的恶意程度和相
应均衡措施,
所述第四模块,由DRAM_Reserve表组成,用于管理判定为恶意程序所对
应的物理页,
在所述第一模块中:
写次数管理单元由一颗平衡二叉排序树构成,所述的平衡二叉排序树的每
个节点由标志位、物理页号、对应物理页号的写次数三个域组成;
PM页损耗均衡管理单元由PM_WH_to_WL表构成,这个表的第一列是按
照写次数递减的物理页的页号,第二列是按照写次数递增的物理页的页号,
PM_WH_to_WL表的作用是交换两个物理页时记录其正映射和逆映射关
系;
PM页恶意写管理单元由PM_to_DRAM表构成,这个表的第一列是写次数
达到某较大阈值的物理页的页号,第二列是按照物理地址递增的DRAM物理页
的页号,
PM_to_DRAM表的作用是将当前写次数最多的PM物理页复制到DRAM
时,记录PM物理页号到DRAM物理页号的映射关系;
在所述第二模块中:
计数器由计数器Write_Sum构成,用来统计当前活动窗口内部的偏移值;
PM页累计命中记录器由Hit_Sum统计表构成,这个表的第一列是最近一
段时间内访问物理页的页号,第二列是在对应物理页上的写次数Hit_Counter,
记Hit_Counter_Sum为所述Hit_Sum统计表中第二列写次数求和的结果,
Hit_Sum统计表的作用是统计写次数多的物理页的写次数,所述Hit_Sum

\t统计表的大小为检测的活动窗口大小的1%到2%,记录的是写次数较多的物理
页的写次数;
附加寄存器由Hit_add寄存器构成,由于PM页累计命中记录器中所述
Hit_Sum统计表的大小仅为检测的活动窗口大小的1%到2%,当所述Hit_Sum
统计表中某行被替换出去时,所述Hit_add寄存器用来累计所述的Hit_Sum统
计表中替换出去的行的第二列Hit_Counter的和;
随机数生成单元,若当前读写操作的物理页号在PM页累计命中记录器中
所述Hit_Sum统计表中第一列没有找到时,在第一个模块的写次数管理单元中
所述的平衡二叉排序树中以当前读写操作的物理页号为关键字查找,若找到,
根据当前读写操作的物理页的写次数按照某种计算方法得到所述的当前读写操
作的物理页号的替换概率,然后由随机数生成单元生成一个随机数与所述的当
前读写操作的物理页号的替换概率进行某种运算,结果为1则替换,结果为0
则不替换;
计算单元用来计算当前检测的写密度,所述的写密度为PM页累计命中记
录器中所述Hit_Counter_Sum与附加寄存器中所述Hit_add的累加和,再与计数
器中所述Write_Sum的比值;
在第三模块中,
若当前程序对应物理页的写密度在[0,1%]内,则判定当前程序为正常程序,
继续下一次检测;
若当前程序对应物理页的写密度在[1%,10%]内,则判定当前程序为危险
程序,从第一个模块的写次数管理单元的所述平衡二叉排序树中以写次数为关
键字查找一定数量的写次数最多的物理页号和写次数最少的物理页号,依次将
所述写次数最多的物理页的内容和所述写次数最少的物理页的内容交换,同时
在第一个模块的PM页损耗均衡管理单元中的PM_WH_to_WL表中添加所述交
换的物理页号的正映射和逆映射;
若当前程序对应物理页的写密度在(10%,100%]内,则判定当前程序为恶
意程序,在第一个模块的写次数管理单元中所述的平衡二叉排序树上以写次数
为关键字查找写次数最多的物理页号,将所述的写次数最多的物理页号复制到
第四个模块的DRAM_Reserve表的第一列的相应行,同时在第一个模块的PM

\t页损耗均衡管理单元的表PM_to_DRAM中增添一行,所述行的第一列为第一
个模块的写次数管理单元中所述的平衡二叉排序树的右子树最右边的叶子节点
对应的物理页号,所述行的第二列为DRAM中对应的物理页号,同时将第一个
模块的写次数管理单元的平衡二叉排序树中写次数最多的对应节点删除;
在第四模块中,
所述的DRAM_Reserve表有两列,第一列是DRAM保留区的物理页号,
所述的物理页号按自然数递增,第二列是对应物理页的写次数。
2.面向非易失性存储器的恶意读写程序监控方法,其特征在于,包括以下步
骤:
步骤A,创建表示存储器物理页写特征的多个统计量,并记录所述物理页
在其对应物理地址上的写次数;
步骤B,检测当前程序的物理页在其对应物理地址上的写频繁程度;
步骤C,决策当前程序的恶意程度,并对所述程序对应的物理页采取相应
的均衡措施或控制措施。
3.如权利要求2所述的面向非易失性存储器的恶意读写程序监控方法,其特
征在于,所述方法是基于在线检测的方法。
4.如权利要求2所述的面向非易失性存储器的恶意读写程序监控方法,其特
征在于,
步骤A包含的具体步骤为:
步骤A1,创建一个写的活动窗口,并用一段时间以来对多个物理页写的次
数和定义活动窗口大小;
步骤A2,创建节点,所述节点由标志位、物理页号、对应物理页号的写次
数三个域组成,所述的标志位在首次创建时其值为0,若所述物理页的写次数
在固定大小的活动窗口内有更新则标志位的值由0变为1;
步骤A3,将步骤A2创建的节点组织为一颗平衡二叉树,同时按照相应物
理页的写次数动态调整为一颗平衡二叉排序树;
步骤A4,创建映射表PM_WH_to_WL,所述的表PM_WH_to_WL有两列,
第一列是按照写次数递减的物理页的页号,第二列是按照写次数递增的物理页
的页号,当需要映射时,第一列的第一行映射第二列的第一行,第一列的第二

\t行映射第二列的第二行,……,按照行号依次递增一一映射;
步骤A5,创建映射表PM_to_DRAM,所述的表PM_to_DRAM有两列,
第一列是写次数达到某较大阈值的物理页的页号,第二列是按照物理地址递增
的DRAM物理页的页号,当需要映射时,第一列的第一行映射第二列的第一行,
第一列的第二行映射第二列的第二行,……,按照行号依次递增一一映射;
步骤A6,创建计数器Write_Sum,所述Write_Sum用来统...

【专利技术属性】
技术研发人员:黄林鹏朱燕民沈艳艳周纤薛栋梁
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海;31

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

1