System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于计算机存储领域,具体涉及一种基于嵌入式系统可变内存的页面管理优化策略。
技术介绍
1、物联网设备中传统的基于dram的主存存在高能耗和功耗墙等问题,这些问题限制了物联网设备的性能。一个设备总能量的30%-50%将被dram消耗,同时,更多的dram将加速物联网设备上有限而宝贵的能源的枯竭,有限资源物联网可能会消耗更多的区域资源来支持较大的主存。因此,dram的高能耗和差可扩展性使得物联网设备难以满足边缘计算中高性能应用日益增长的性能要求。
2、可变形存储器结合了slc和mlc模式单元各自的优点,旨在结合slc和mlc模式之间动态转换存储单元状态特性,以在有限的资源设备上实现高性能存储系统。为了提高可变形存储器的性能,人们提出了各种有效的技术来跟踪程序变量、内存段或内存页中的热点数据,并对热点数据和其他数据分别分配低成本的slc和高密度的mlc。上述技术可以有效提高通用计算平台中可变形存储器的性能,但需要额外的硬件支持或软件支持,不可直接应用于资源有限的物联网设备。此外,物联网设备的内存访问模式与这些通用计算平台有很大不同。
3、由于物联网设备大多是面向应用的,一个常见的应用通常有固定的访问模式。根据之前的实验,iot设备中10-15%的热内存页面占了80%的内存访问。同时,这些热内存页面将被频繁访问,直到应用程序关闭。这些热内存数据应该始终存储在高性能slc页面中,以降低内存访问成本。其他数据可以存储在高密度的mlc页面中,以减少对应用程序带来巨大性能损失的缺页中断错误。此外,特定于应用程序
4、因此,这些现象激励我们在具有可变内存的物联网设备中提出一种简单而新颖的内存优化技术,以最大限度地降低内存访问成本。
技术实现思路
1、鉴于此,本专利技术旨在提供一种新颖的基于嵌入式系统可变内存的页面管理优化策略,其根据物联网设备的特定应用特性,为冷热数据动态分配内存,以最小化可变形内存设备中的内存访问成本。同时通过非易失存储器内存单元可变性质,达到了存储器存储密度与访问性能的平衡。
2、为达到上述目的,本专利技术提供如下技术方案:
3、一种基于嵌入式系统可变内存的页面管理优化策略,属于计算机存储系统领域。具体包括以下步骤:
4、s1:根据数据页面的访问模式,即数据访问的临时性,提出基于热度的多级链表管理数据页面,以区分数据访问热度。将频繁被读写的数据定义为热数据,在一段时间内被访问频率较低的数据定义为冷数据,根据数据页在当前时间段中被内存访问的情况,创建多级的页面队列记录数据热度;
5、s2:提出多级页面链表的页面分配器,动态地将性能好的slc单元分配给热页面,同时将容量大的mlc单元分配给冷页面。通过链表链接的多级队列动态跟踪热数据页面和冷数据页面,利用多个slc和mlc队列来记录并维护数据热度。利用地址转换表记录地址更新信息,完成数据页面在slc页面和mlc页面队列的迁移,将变热的数据迁移到slc内存中存储,变冷的数据迁移到mlc内存中存储;
6、s3:提出成本感知的slc/mlc页面转换器,根据当前缺页错误数量与访问时延,动态调整slc单元与mlc单元的数量,获取存储器存储密度与访问性能的平衡。页面转换器周期性地分析转换存储器单元模式对内存访问成本的影响,并由模式转换器发出转换存储器单元模式转换命令,通过编程改变内存单元模式。
7、进一步,所述步骤s1具体包括以下步骤:
8、s11:将多层slc页面队列中的数据定义为热数据,存储在低延迟的slc内存单元中。将多层mlc队列中的数据定义为冷数据,存储在高容量的mlc内存单元中。其中页面所处层数表示该页面数据热度;
9、s12:首次存入内存的数据为热数据,数据被访问则认为其热度提升,一个存储在mlc内存的冷数据在多个时间周期内被连续被访问则成为热数据;
10、s13:存储在slc内存的热数据被访问变为最热数据,一个周期内未被访问的数据热度将会下降,多次热度下降的热数据可能变为冷数据。
11、进一步,所述步骤s2具体包括以下步骤:
12、s21:初次被写入内存中的数据页面进入首层slc页面队列,根据上一个周期数据读写情况更新页面队列,当热数据被调用时,其对应页面插入到首层slc队列,在i个时间段未被访问则下降i层并插入到各自的i+1个页面队列尾部;
13、s22:每个slc队列中的页面都有一个最新访问距离(n),它表示在n-1个周期内没有访问过的页面。最新访问距离越大,该队列中的数据越冷;
14、s23:在slc队列中选择页面最新访问距离最大的页面。将这些slc页面中的一部分迁移到空闲mlc页面中。满足用的空闲slc页面的数量大于等于阈值,保证空闲slc页面的数量满足存储下一个阶段可能的热数据;
15、s24:释放在首个mlc队列中的一些mlc页面,直到可用mlc页面的数量大于最新访问距离最大的slc队列的页面数量,保证可用mlc页面的数量满足存储下一阶段可能的冷数据;
16、s25:若首个mlc队列中没有mlc页面,则表示所有使用的mlc页面都处于活动状态。在最新访问距离最大的slc队列中回收一些slc页面,同时将内存中对应的数据擦除;
17、s26:每个mlc队列中的页面都有一个访问频率(m),表示该页面在m-1个周期内连续被访问了m-1次。访问频率的值越大,这意味着该mlc页面热度增加越快;
18、s27:每个周期未被访问的mlc页面下降一层,若被访问则上升一层。当mlc页面的访问频率大于阈值t,它将被认为是热mlc页面,此时将mlc页面转化为slc页面,并插入到slc队列首层,同时将热mlc页面的数据迁移到低成本的slc内存。降低内存访问成本。
19、进一步,所述步骤s3具体包括以下步骤:
20、s31:空闲slc单元不足且slc层数为1时,均衡器将部分mlc单元转化为slc单元;
21、s32:将单个slc单元转变为mlc单元的收益和损失分别表示为pctotal和lstotal。计算当前转化对内存访问总成本可能的影响,如果pctotal大于lstotal,将1个slc内存单元转换为mlc内存单元,并循环找到最佳转换次数nsm;
22、s33:如果pctotal小于lstotal,且mlc到slc的转换会导致成本降低时,则寻找最佳转换次数nms,并将mlc单元转化为slc单元;
23、s34:如果pctotal等于lstotal,则保持当前状态;
24、s35:若出现内存占用率过高导致程序阻塞,则将最底层slc队列页面映射的内存单元逐个转换为mlc单元,并逐层以寻找最佳转换策略。
25、进一步,所述步骤s32具体包括以下步骤:<本文档来自技高网...
【技术保护点】
1.一种基于嵌入式系统可变内存的页面管理优化策略,属于计算机存储系统领域。包括以下步骤:
2.根据权利要求1中所述的一种基于嵌入式系统可变内存的页面管理优化策略,其特征在于,上述S1中根据数据页面的访问模式,即数据访问的临时性,提出基于热度的多级链表管理数据页面,以区分数据访问热度。所述步骤S1具体包括以下步骤:
3.根据权利要求1所述的一种基于嵌入式系统可变内存的页面管理优化策略,其特征在于,上述S2中提出多级页面链表的页面分配器,通过链表链接的多级队列动态跟踪热数据页面和冷数据页面,动态地将性能好的SLC单元分配给热页面,同时将容量大的MLC单元分配给冷页面。具体包括以下步骤:
4.根据权利要求1所述的一种基于嵌入式系统可变内存的页面管理优化策略,其特征在于,上述S3中提出成本感知的SLC/MLC页面转换器,根据当前缺页错误数量与访问时延,动态调整SLC单元与MLC单元的数量,获取存储器存储密度与访问性能的平衡。具体包括以下步骤:
【技术特征摘要】
1.一种基于嵌入式系统可变内存的页面管理优化策略,属于计算机存储系统领域。包括以下步骤:
2.根据权利要求1中所述的一种基于嵌入式系统可变内存的页面管理优化策略,其特征在于,上述s1中根据数据页面的访问模式,即数据访问的临时性,提出基于热度的多级链表管理数据页面,以区分数据访问热度。所述步骤s1具体包括以下步骤:
3.根据权利要求1所述的一种基于嵌入式系统可变内存的页面管理优化策略,其特征在于,上述s2中提出多级页...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。