基于页级映射的动态二级缓存闪存转换层地址映射方法技术

技术编号:21089438 阅读:51 留言:0更新日期:2019-05-11 09:55
本发明专利技术提出一种基于页级映射的动态二级缓存闪存转换层地址映射方法,解决了目前页级地址映射未能充分利用顺序I/O局部性的问题以及在随机I/O较多时I/O性能下降的问题。本发明专利技术的方法利用顺序I/O的时间局部性和空间局部性,分别设置一级缓存L1Cache,二级缓存L2Cache,在两级缓存上采用不同的缓存管理策略,一级缓存L1Cache用来缓存单个地址映射项,二级缓存L2Cache用来缓存整个映射页;在二级缓存上采用空间局部性检测法,对当前一定数量的I/O请求进行检测,如果检测到当前的I/O请求具有较强的空间局部性,则提取相应的映射页到二级缓存L2Cache中;同时一级缓存L1Cache根据缓存命中率来动态调整一级缓存大小,保证随机I/O模式下的I/O性能。

【技术实现步骤摘要】
基于页级映射的动态二级缓存闪存转换层地址映射方法
本专利技术属于计算机科学
,尤其涉及一种基于页级映射的动态二级缓存闪存转换层地址映射方法。
技术介绍
NANDFlash因为其低功耗、非易失性以及出色的IOPS等特点在很多领域被大量使用,比如嵌入式设备,高性能服务器。其I/O性能远远高于传统的机械硬盘,在一定程度上弥补了计算机系统中CPU和I/O的速度差距,其容量目前每年以成倍的速度增长。与传统机械硬盘的结构截然不同,NANDFlash支持随机寻址,以页为读写的基本单位,以块作为擦除的基本单位,并且只能进行异地更新,不能直接对数据进行重写,所以目前的操作系统支持NANDFlash存储设备有两种普遍的做法,一种是为NANDFlash定制专用的文件系统,另一种是在NANDFlash内部增加一层闪存转换层,负责地址翻译以及其他管理工作,闪存转换层使得NANDFlash可以当做机械硬盘来使用而不用对现有的文件系统做任何修改。NANDFlash内部存储是由块(block)和页(page)组成的,典型的NANDFlash每个page的大小为4KB,一个块包含64个page。NANDFlas本文档来自技高网...

【技术保护点】
1.一种基于页级映射的动态二级缓存闪存转换层地址映射方法,其特征在于,利用顺序I/O的时间局部性和空间局部性,分别设置一级缓存L1Cache,二级缓存L2Cache,在两级缓存上采用不同的缓存管理策略,一级缓存L1Cache用来缓存单个地址映射项,二级缓存L2Cache用来缓存整个映射页;在二级缓存上采用空间局部性检测法,对当前一定数量的I/O请求进行检测,如果检测到当前的I/O请求具有较强的空间局部性,则提取相应的映射页到二级缓存L2Cache中;同时一级缓存L1Cache根据缓存命中率来动态调整一级缓存大小,保证随机I/O模式下的I/O性能。

【技术特征摘要】
1.一种基于页级映射的动态二级缓存闪存转换层地址映射方法,其特征在于,利用顺序I/O的时间局部性和空间局部性,分别设置一级缓存L1Cache,二级缓存L2Cache,在两级缓存上采用不同的缓存管理策略,一级缓存L1Cache用来缓存单个地址映射项,二级缓存L2Cache用来缓存整个映射页;在二级缓存上采用空间局部性检测法,对当前一定数量的I/O请求进行检测,如果检测到当前的I/O请求具有较强的空间局部性,则提取相应的映射页到二级缓存L2Cache中;同时一级缓存L1Cache根据缓存命中率来动态调整一级缓存大小,保证随机I/O模式下的I/O性能。2.根据权利要求1所述的方法,其特征在于,包括以下步骤:步骤1:接收上层I/O请求并在一级缓存L1Cache中查找请求对应的地址映射项,如果命中缓存,则根据目前缓存命中率的高低决定是否需要减小一级缓存L1Cache的大小,如果需要减小,则将脏缓存项以及不常用的缓存项打包写回全局映射表GMT中,减小L1Cache,然后跳到步骤7,如果未命中则进行下一步;步骤2:根据I/O请求的逻辑地址LPN计算逻辑映射页号LMP,通过LMP查询映射表目录GTD,查看二级缓存L2Cache中是否缓存了该请求地址映射项对应的映射页,如果已经缓存,跳到步骤7,否则进行下一步;步骤3:在映射表目录GTD中查找该请求地址映射项在全局映射表GMT中的物理页地址PMP,并根据目前缓存命中率的高低决定是否需要增大一级缓存L1Cache的大小,如果需要增大,则将一级缓存L1Cache增加一个映射页的大小;步骤4:根据空间局部性检测法判断目前的请求是否有较强的空间局部性,如果没有则直接进行下一步,否则将请求的地址映射项所在的映射页从全局映射表GMT中提取出来;此时如果二级缓存L2Cache已满,则需要根据“请求距离”找出要进行替换的映射页,然后将新的映射页放入二级缓存L2Cache中,如果未满则直接将新的映射页放入二级缓存L2Cache;步骤5:如果一级缓存L1Cache未满,则直接将该请求的地址映射项放入一级缓存L1Cache中,然后跳到步骤7,如果已满,则根据SegmentLRU算法找出需要换出的缓存项进行替换;步骤6:如果一级缓存L1Cache的替换项未被修改过则直接进行下一步,如果修改过则查看该...

【专利技术属性】
技术研发人员:阮利丁树勋肖利民苏书宾李昂鸿殷成涛
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:北京,11

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

1