一种基于局部性分析的混合地址映射方法技术

技术编号:6161291 阅读:190 留言:0更新日期:2012-04-11 18:40
一种基于局部性分析的混合地址映射方法,通过三种顺序日志块回收方式的改进提高了闪存顺序日志块的使用效率,并且通过写请求的空间局部性分析和时间局部性分析,降低了随机型I/O请求对系统性能的影响。同时该地址映射方法减小了闪存垃圾回收操作的开销,避免了不必要的块擦除操作,提高了系统的整体性能。

【技术实现步骤摘要】

本专利技术涉及闪存地址映射
,具体涉及。
技术介绍
非易失性存储器闪存具有读写速度快、存储密度高、能耗低、体积小、重量轻、 抗震能力强等优点,广泛的应用于音乐播放器、数码相机、掌上电脑等中小型存储产品中。并且在未来有取代传统的磁介质硬盘的趋势。闪存一个重要的操作特点就是不能够就地更新数据。为了降低更新数据时对闪存的频繁擦除和写入操作,闪存数据更新采用了异地更新的方式,将原有的数据变为无效,同时将新的数据写入到空闲的存储区域中。这种更新方式虽然降低了块的擦除频率,但是导致了先后同一逻辑地址对应的物理地址的不同。为了和现有的文件系统兼容,将闪存映射为块设备,从而需要地址映射机制来管理逻辑地址和物理地址的对应关系。地址映射将访问请求的逻辑地址转化为物理地址,保证读写操作的顺利执行。现有的闪存地址映射方法根据映射单位大小分为页地址映射、块地址映射和混合地址映射。页地址映射的映射方式灵活,映射效果较好,但是占用了较大的内存存储空间。 块地址映射受到固定页偏移地址的限制,映射效果较差,却降低了内存空间的需求量。混合地址映射兼容了页地址映射和块地址映射的优点。日志型混合映射采用一小部分存储空间的以日志形式存放数据的更新,按照页地址映射方式存储。日志块相当于数据块的存储 cache,因此数据块和日志块间的对应关系可以分为单一映射、组相连映射和全面映射。全面映射的日志型混合地址映射方法极大的提高了日志块的使用效率,降低了块擦除的频繁程度,但是全面合并的回收方式却增加了垃圾回收的复杂程度。写请求的时间局部性和空间局部性是写请求的逻辑地址的规律性变化,对地址映射方法的性能有严重的影响。
技术实现思路
为了克服上述现有技术存在的不足,本专利技术的目的在于提供,通过三种顺序日志块回收方式的改进提高了闪存顺序日志块的使用效率,并且通过写请求的空间局部性分析和时间局部性分析,提高日志块的使用效率,降低垃圾回收操作的开销,减小块擦除操作,提高系统的整体性能。为了达到上述目的,本专利技术所采用的技术方案是—种基于局部性分析的混合地址映射方法,当闪存中写入数据时,根据工作负载的时间局部特性的特征,即数据的更新次数,将待写入闪存的日志更新数据分为冷数据和热数据,热数据直接分配到热数据存储区域,即闪存的热数据日志块中;而冷数据分配到冷数据存储区域,即闪存的冷数据日志块中,具体是根据时间局部性原理将对冷数据的写请求区分为顺序请求和随机请求,将顺序请求的冷数据作为顺序更新数据分离出来存放在冷数据日志块的顺序日志块中,将随机请求的冷数据作为随机数据存放于冷数据日志块的随机日志块中;如果顺序日志块和随机日志块中的数据再次被更新,就将顺序日志块和随机日志块中再次被更新的数据作为热数据转存到热数据日志块中;当顺序日志块、随机日志块和热数据日志块的空闲空间使用完成后,通过和闪存中对应的数据块的合并操作,回收空闲的日志存储空间供下次数据更新使用。 所述的将待写入闪存的日志更新数据区分为冷数据和热数据的方式为,当更新次数大于2次时,对应的待写入闪存的日志更新数据为热数据;当更新次数小于等于2次时, 对应的待写入闪存的日志更新数据为冷数据。所述的数据的空间局部性分析,是根据对冷数据的写请求的尺寸区分顺序请求和随机请求当写请求的尺寸大于4KB时为顺序请求;当写请求的尺寸小于等于4KB时为随机请求。所述的热数据日志块和冷数据日志块的总计存储空间容量大小固定,为整个闪存存储空间的3% ;而顺序日志块的存储空间容量小于等于热数据日志块和冷数据日志块的总计存储空间容量的1/4 ;同时热数据日志块存储空间的大小还能通过工作负载不同以及随机日志块的存储空间的大小进行动态调整,但是不能够超过预先设定的范围。所述的热数据日志块回收空闲的日志存储空间的方式为替换策略或者清空策略, 替换策略或者清空策略将现有的热数据日志块作为随机日志块,并且分配新的空闲日志块给热数据日志块。所述的顺序日志块和闪存中对应的数据块的合并操作有三种改进方式顺序日志块间隔写、顺序日志块更新写和顺序日志块不含首页写;顺序日志块间隔写是指针对顺序日志块间隔空闲页写时,延迟对该顺序日志块的回收,并在随后进行的回收操作中,该顺序日志块间隔空闲页写入的数据不用从随机日志块或者数据块中查询复制迁移到顺序日志块中;顺序日志块更新写是指顺序日志块中所存储的数据再次更新时,将再次更新的数据迁移到热数据日志块中,在合并该顺序日志块和对应的数据块时,顺序日志块中该页的无效状态保持,而相应的存放在顺序日志块中存放的热数据采用不予回收的方式,仍旧存放在热数据块中;顺序日志块不含首页是指当顺序请求的逻辑请求地址和逻辑块边界首地址相距一定偏移量时,为该顺序请求额外的分配顺序日志块的方式。通过三种顺序日志块回收方式的改进提高了闪存顺序日志块的使用效率,并且通过写请求的空间局部性分析和时间局部性分析,降低了随机型I/O请求对系统性能的影响。该地址映射方法减小了闪存垃圾回收操作的开销,避免了不必要的块擦除操作,提高了系统的整体性能。附图说明附图是本专利技术的地址映射方法的结构示意图。 具体实施例方式下面结合附图对本专利技术作更详细的说明。如附图所示,基于局部性分析的混合地址映射方法,当对闪存发送写请求时,根据工作负载的时间局部特性的特征,即数据的更新次数,将待写入闪存的日志更新数据区分为冷数据和热数据,热数据直接分配到热数据存储区域,即闪存的热数据日志块中;而冷数据分配到冷数据存储区域,即闪存的冷数据日志块中,具体是根据时间局部性原理将对冷数据的写请求区分为顺序请求和随机请求,将顺序请求的冷数据作为顺序更新数据分离出来存放在冷数据日志块的顺序日志块中,将随机请求的冷数据作为随机数据存放于冷数据日志块的随机日志块中;如果顺序日志块和随机日志块中的数据再次被更新,就将顺序日志块和随机日志块中再次被更新的数据作为热数据转存到热数据日志块中;当顺序日志块、随机日志块和热数据日志块的空闲空间使用完成后,通过和闪存中对应的数据块的合并操作,回收空闲的日志存储空间供下次数据更新使用。所述的将待写入闪存的日志更新数据区分为冷数据和热数据的方式为,当更新次数大于2次时,对应的待写入闪存的日志更新数据为热数据;当更新次数小于等于2 次时,对应的待写入闪存的日志更新数据为冷数据。所述的数据的空间局部性分析,是根据对冷数据的写请求的尺寸区分顺序请求和随机请求当写请求的尺寸大于4KB时为顺序请求;当写请求的尺寸小于等于4KB时为随机请求。所述的热数据日志块和冷数据日志块的总计存储空间容量大小固定,为整个闪存存储空间的3% ;而顺序日志块的存储空间容量小于等于热数据日志块和冷数据日志块的总计存储空间容量的1/4 ;同时热数据日志块存储空间的大小还能通过工作负载不同并根据随机日志块的存储空间的大小比例进行动态调整,但是不能够超过一定的阈值范围。所述的热数据日志块回收空闲的日志存储空间的方式为替换策略或者清空策略,替换策略或者清空策略将现有的热数据日志块作为随机日志块,并且分配新的空闲日志块给热数据日志块。所述的顺序日志块和闪存中对应的数据块的合并操作有三种改进方式顺序日志块间隔写、顺序日志块更新写和顺序日志块不含首页写;顺序日志块间隔写是指针对顺序日志块间隔空闲页写时,本文档来自技高网
...

【技术保护点】
1.一种基于局部性分析的混合地址映射方法,其特征在于:当闪存中写入数据时,根据工作负载的时间局部特性的特征,即数据的更新次数,将待写入闪存的日志更新数据区分为冷数据和热数据,热数据直接分配到热数据存储区域,即闪存的热数据日志块中;而冷数据分配到冷数据存储区域,即闪存的冷数据日志块中,具体是根据时间局部性原理将对冷数据的写请求区分为顺序请求和随机请求,将顺序请求的冷数据作为顺序更新数据分离出来存放在冷数据日志块的顺序日志块中,将随机请求的冷数据作为随机数据存放于冷数据日志块的随机日志块中;如果顺序日志块和随机日志块中的数据再次被更新,就将顺序日志块和随机日志块中再次被更新的数据作为热数据转存到热数据日志块中;当顺序日志块、随机日志块和热数据日志块的空闲空间使用完成后,通过和闪存中对应的数据块的合并操作,回收空闲的日志存储空间供下次数据更新使用。

【技术特征摘要】

【专利技术属性】
技术研发人员:常越孙宏滨王建校
申请(专利权)人:西安交通大学
类型:发明
国别省市:87

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

1