能够感知RAID的闪存转换层及其实现方法技术

技术编号:13324823 阅读:55 留言:0更新日期:2016-07-11 13:26
本发明专利技术涉及能够感知RAID的闪存转换层及其实现方法。为闪存的每个逻辑页添加表示对该页的最近一次访问的访问类型的操作标识和表示该页是普通数据还是校验数据的逻辑页类型标识;为闪存的每个物理块添加表示该块存储的数据是普通数据还是校验数据的块类型标识;当访问某个逻辑页时,对比最近一次访问和本次访问的访问类型,如果都是读操作,则表明该逻辑页对应的数据为普通数据;当对某个逻辑页进行写操作时,根据该页的类型标识,将该页写在新分配的空闲块中并将空闲块的类型置成与该页类型相同,或者直接写入与该页类型相同的物理块中。本发明专利技术开销很小,减少垃圾回收过程中迁移的数据量,减少对闪存的写,从而延长闪存的寿命。

【技术实现步骤摘要】

本专利技术适用于闪存固态存储
,提供了一种基于闪存实现的能够感知RAID的冷热数据自动分离方法、系统及闪存。
技术介绍
闪存(Flash Memory)是近年来应用广泛的一种半导体存储器,闪存技术的发展引起了存储领域新的变革。闪存具有体积小、重量轻、无噪声、抗震动、低功耗(其能耗只有传统硬盘的1/5~1/6),读写速度快(是普通磁盘的两倍以上)和工作温度范围大的优点,是一种理想的存储介质。闪存的一个重要特性就是修改数据时不能作覆盖写(over-write),也即当一页数据需要修改时,不能像磁盘那样直接在原地作修改,而需要将该页擦除后再重新写入数据。由于擦除操作延迟较大,一般将新的数据写到另一个空白页上,同时让原数据失效,这就是常说的非定点更新(out-of-place update),这一特性使得传统磁盘上的文件系统不能直接应用到闪存设备上。为充分利用传统磁盘领域积累的技术和大量软件产品,各大厂商纷纷将一个或多个闪存芯片组合封装成类似磁盘的固态盘SSD(Solid State Drive),为上层应用提供与磁盘一样的接口,而不需要修改应用和文件系统。闪存固态盘采用一个转换层FTL (Flash Translat1n Layer)将闪存模拟成磁盘设备。FTL主要完成以下几项功能:地址映射、损耗均衡、垃圾回收,其中地址映射实现了物理地址空间到逻辑地址空间的转换,损耗均衡和垃圾回收在保证各闪存块擦除次数均衡的前提下对失效闪存块进行回收。垃圾回收的基本过程是:先将物理块中的有效数据迀移,然后擦除该块。其中迀移数据涉及大量的读写操作,延迟很大。一般说来,数据迀移是由同一物理块中既包含热点数据又包含冷数据导致的。热点数据因为被更新很快变得无效,而冷数据仍然有效,回收该块时就需要数据迀移。如果能把冷热数据分别写到不同的块中,所有的物理块就可以分成两类:热块和冷块。其中,冷快中不含无效数据,不需要垃圾回收;热块中的所有数据很快变得无效,回收这些块不需要数据迀移。冷热数据分类能够降低垃圾回收的开销。独立磁盘冗余阵列(RAID,redundantarray of independent disks)是把相同的数据存储在多个硬盘的不同的地方(因此,冗余地)的方法。通过把数据放在多个硬盘上,输入输出操作能以平衡的方式交叠,改良性能。因为多个硬盘增加了平均故障间隔时间(MTBF ),储存冗余数据也增加了容错。以RAID5 (5块盘)为例,它的数据分成均等的四份,并以这四份数据的异或作为校验数据,分别存储在5块盘中,并且校验数据在每块盘中的位置都不一样,可以并发访问。同时,校验数据存在所有磁盘上,也提高了可靠性。对于RAID5来说,大部分数据传输只针对其中的一块盘操作,可进行并行操作。所以,RAID5的读出效率很高,但是写入效率一般。因为RAID5存在“写损失”,即每次写操作都要将旧的数据和校验信息读出,更新数据和校验信息后再写入新的数据和校验信息。固态存储(SSD)技术已逐步渗入到服务器、混合存储阵列以及缓存设备的应用中,另外,新兴的全闪存阵列正在开始进入高性能存储系统市场。全闪存存储系统是完全由固态存储介质(通常是NAND闪存)构成的独立的存储阵列或设备。这些系统是用于增强可能包含磁盘阵列的环境的性能,或者用于取代所有传统的硬盘存储阵列。并且,由于其便捷性、在总体拥有成本方面的竞争力以及高性能等优势,使得其越来越受到企业和厂商的关注。但是,直接按传统方法将闪存搭建成RAID阵列存在一个严重的问题。从前面对RAID5的描述可知,每次对数据更新的同时,需要更新相应的校验信息。所以,相对于普通数据,校验数据就是热数据。如果不加区分的将普通数据和校验数据存储在闪存块中,将大大影响闪存块的垃圾回收性能,同时也增加了对闪存的写次数,降低闪存的寿命。目前有基于闪存实现冷热数据自动分离的相关研究。其实现策略是为闪存的逻辑物理地址映射表中每个记录添加表示数据的访问频率高低的热度标识,当闪存对数据进行处理时,根据预设的热度等级对逻辑物理地址映射表中的热度标识进行更新,不同的热度等级区分出不同热度的数据。该方法实现简单且通用性较强,但主要缺点是空间开销较大,当内存大小有限时,热度标识信息无法全部放在内存中,需要来回替换,导致总的开销比较大。另外,该方法还需要频繁更新热度标识,增加了对闪存的写入,降低闪存的寿命。还有研究通过在RAID控制器中增加缓存校验信息及数据的Cache,减少对闪存的实际写入次数,从而减少闪存的写延迟并延长闪存的寿命。该方法的缺点主要是设计复杂,开销比较大,需要修改RAID控制器并提供非易失性存储介质作为Cache以保证数据不丢失。同时,需要较多的逻辑来管理和优化Cache,并且不能够保证能取得好的效果,具有应用依赖性。另外也有方法通过加大写缓冲来减少对闪存的写入,这与Cache的方法大同小异。这些研究都忽略了 RAID系统中的一个重要特性:普通数据和校验数据的热度不同,访问特性也不同。本专利技术正是基于这两点不同,将普通数据和校验数据分开存储,达到降低延迟和延长寿命的效果。另外,由于本专利技术将普通数据和校验数据分离存储,使得其他针对校验数据的优化方案能更好的发挥效果。
技术实现思路
本专利技术所要解决的技术问题是在全闪存阵列中,在闪存转换层中实现普通数据(冷数据)和校验数据(热数据)的识别,并将普通数据和校验数据分布在不同的闪存块中,减少因校验数据频繁更新导致的普通数据的频繁迀移,降低垃圾回收的延迟,同时也能减少对闪存的写,延长闪存的寿命。本专利技术的技术方案是:为闪存的每个逻辑页添加表示对该页的最近一次访问的访问类型的操作标识和表示该页是普通数据还是校验数据的逻辑页类型标识;为闪存的每个物理块添加表示该块存储的数据是普通数据还是校验数据的块类型标识;当访问某个逻辑页时,对比最近一次访问和本次访问的访问类型,如果都是读操作,则表明该逻辑页对应的数据为普通数据(未识别为普通数据前,默认为校验数据);当对某个逻辑页进行写操作时,根据该页的类型标识,将该页写在新分配的空闲块中并将空闲块的类型置成与该页类型相同,或者直接写入与该页类型相同的物理块中。本专利技术直接在闪存逻辑物理地址映射表对普通数据和校验数据进行识别,并写入到对应类型的闪存块中,仅需修改FTL算法即可,因此无需额外的软件和缓存来实现普通数据和校验数据的分离。从而本专利技术能使数据在闪存的存储过程中,自动实现根据前后两次的访问类型进行分离存储,无需额外的判断算法和缓存支持。而且,由于本专利技术只修改SSD控制器,只要根据数据的访问类型就能区分普通数据和校验数据,因此无需对上层RAID控制器做任何修改就能实现感知RAID的效果。冷热数据分离的关键在于如何识别冷热数据。在RAID系统(以RAID5为例)中,普通数据就是冷数据,校验数据就是热数据。从RAID控制器的视角来看,哪些是普通数据,哪些是校验数据,这很清楚。但是RAID控制器并没有将这些已知信息告诉下层驱动器。有利的一点是,RAID对普通数据和校验数据具有不同的访问特性。从前面对RAID5的介绍可知,读取数据时并不需要读取校验信息。只有在数据更新时才会同时更新校验信息,而且是连续的一次读和一次写。因此,若发现对某个数本文档来自技高网
...

【技术保护点】
能够感知RAID的闪存转换层及其实现方法,其特征在于,为闪存的每个逻辑页添加表示对该页的最近一次访问的访问类型的操作标识和表示该页是普通数据还是校验数据的类型标识;为闪存的每个物理块添加表示该块存储的数据是普通数据还是校验数据的类型标识;当访问某个逻辑页时,对比最近一次访问和本次访问的访问类型,如果都是读操作,则表明该逻辑页对应的数据为普通数据,未识别为普通数据前,默认为校验数据;当对某个逻辑页进行写操作时,根据该页的类型标识,将该页写在新分配的空闲块中并将空闲块的类型置成与该页类型相同,或者直接写入与该页类型相同的物理块中;所述操作标识last_op_type:对逻辑页的最近一次访问的访问类型,下标为逻辑页号,表项值为0表示读操作,表现值为1表示写操作;所述逻辑页类型标识page_type:表示逻辑页所存储的数据是普通数据还是校验数据,下标为逻辑页号,表项值为0表示该页是校验数据,表现值为1表示该页是普通数据;所述块类型标识block_type:表示物理块所存储的是普通数据还是校验数据,下标为物理块号,表项值为0表示该块存储的是校验数据,表项值为1表示该块存储的是普通数据;识别普通数据和校验数据时的操作过程为:每个逻辑页在刚开始时,默认存储的是校验数据,当对该逻辑页进行写操作时,逻辑页的状态不变;当对该逻辑页进行读操作时,逻辑页进入下一状态,即待定状态,但仍不能判断该页为普通数据;在待定状态若下一次操作为写操作,则逻辑页的状态回到初始状态,否则可以断定该页为普通数据;识别后,只要该逻辑页还有效,则该逻辑页始终为普通数据,读写操作都不会影响对该页的判断;若对某个逻辑页进行连续两次的读操作,则可断定该逻辑页为普通数据。...

【技术特征摘要】

【专利技术属性】
技术研发人员:肖侬陈志广刘芳巫小泉
申请(专利权)人:中国人民解放军国防科学技术大学
类型:发明
国别省市:湖南;43

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

1