星载固态存储系统自适应闪存转换层设计
发布时间:2021-03-20 13:37
传统星载存储系统闪存转换层(Flash Translation Layer, FTL)算法采用页级FTL映射方案和固定分区的文件管理策略,存在主机占用率高、系统响应时间长以及没有充分考虑FLASH磨损均衡等问题.为此,对传统星载存储系统方案和星载固态存储系统的工作原理深入分析研究,结合实际型号任务需求,提出了一种数据驱动的自适应超级块闪存转换层算法(Data-driven Adaptive Superblock FTL, DASFTL).DASFTL算法采用自适应超级块的分级地址映射方案,其中超级块映射表(Superblock Mapping Table, SMT)作为一级映射,页地址映射表(Page Mapping Table, PMT)作为二级映射,以提高系统的响应速度;将超级块作为FLASH地址管理的最小单元,以减少存储系统对主机的依赖;引入动态块回收权重作为超级块分组和目标回收块选择的标准,以均衡FLASH芯片内各物理块的磨损程度,延长其使用寿命.搭建硬件测试平台对DASFTL算法进行验证,实验结果表明,提出的数据驱动的自适应超级块闪存转换层算法相比于传统星载FTL算法在主机占...
【文章来源】:哈尔滨工业大学学报. 2020,52(05)北大核心EICSCD
【文章页数】:7 页
【部分图文】:
典型星载固态存储系统结构框图
Jung等最先提出基于超级块的闪存转换层算法 [12],其比块级FTL算法更进一步,它将多个连续的逻辑块组合成一个超级块.例如,超级块的大小为4,那么逻辑块编号为0,1,2,3的4个逻辑块构成了超级块0.虽然超级块闪存转换层算法能在块级FTL算法上进一步减少RAM的占用空间,但其只是由几个连续的逻辑块组合而成,无法根据实际系统中数据的运行特点进行调整.因此,提出了一种数据驱动的自适应超级块FTL算法(DASFTL),其地址映射机制见图2.超级块映射表SMT和页地址映射表PMT组成两级映射,其中超级块映射表SMT为一级映射,页地址映射表为二级映射.超级块映射表SMT由超级块号SBN进行索引,每个超级映射表项由逻辑块号LBN、页映射表PMT和逻辑块权重WRecy组成.与Superblock FTL不同,在DASFTL中,超级块不是由几个连续的逻辑块简单组合而成,而是根据系统中数据运行的特点动态组合而成.每个超级块中所拥有的逻辑块数为K,K的取值范围从0到存储系统中所有有效物理块的个数.这K个逻辑块可以是连续的逻辑块也可以是不连续的,并且不同超级块的K值可能不同.具体哪些逻辑块组合成为一个超级块由块回收权重WRecy决定.在超级块内部采用页级映射,超级块中每一个映射表项都可以映射至其对应的实际物理页上.PMT被分为S个页映射子表(PMST1、PMST2、…、PMSTs),由页映射表索引PMTI进行索引.页映射表索引的内容为物理页码,页映射子表的内容由物理页码PPN和页热度Hpage两部分组成,其中S的值可由OOB区的大小和逻辑块数计算得到.假设每个物理块包含α个物理页,每个OOB区可以存储m(0<m≤α)个页映射条目,则每个超级块所含有的页地址映射项为m×α个,由此可得S=(m×α)÷K.逻辑块号LBN和页地址映射表偏移量PMToffset的计算公式为:
在DASFTL算法中,块回收权重WRecy将作为超级块组成单位的度量单位.存储系统初次使用时,每个逻辑块的初始块回收权重都为0.随着存储系统的运行,超级块映射表SMT会计算并保存每个逻辑块的块回收权重.块回收权重WRecy相同的逻辑块将被组合成为一个超级块,即使这些逻辑块所对应的物理块地址是离散的.图3为DASFTL算法垃圾回收流程图.当超级块映射表SMT中没有足够的空闲块来响应写操作时将触发垃圾回收.与响应写操作相同,主控CPU单元在响应垃圾回收操作时,将块回收权重最大的整个超级块下发给存储控制单元.存储控制单元会按照顺序依次回收超级块内的逻辑块.在完成一次回收之后超级块映射表SMT将更新块回收权重和新的映射索引.3 实验结果与分析
【参考文献】:
期刊论文
[1]星载存储器吞吐率瓶颈与高速并行缓存机制[J]. 董振兴,朱岩,许志宏,宋琪. 哈尔滨工业大学学报. 2017(11)
[2]星载大容量固态存储器快速可靠启动算法设计[J]. 李姗,宋琪,朱岩,安军社. 哈尔滨工业大学学报. 2015(10)
博士论文
[1]面向星载一体化综合电子系统的固态存储技术研究[D]. 许志宏.中国科学院大学(中国科学院国家空间科学中心) 2017
[2]星载固态存储文件化管理方案应用研究[D]. 董振兴.中国科学院大学(中国科学院国家空间科学中心) 2017
[3]星载固态存储管理技术的应用研究[D]. 宋琪.中国科学院研究生院(空间科学与应用研究中心) 2015
本文编号:3091090
【文章来源】:哈尔滨工业大学学报. 2020,52(05)北大核心EICSCD
【文章页数】:7 页
【部分图文】:
典型星载固态存储系统结构框图
Jung等最先提出基于超级块的闪存转换层算法 [12],其比块级FTL算法更进一步,它将多个连续的逻辑块组合成一个超级块.例如,超级块的大小为4,那么逻辑块编号为0,1,2,3的4个逻辑块构成了超级块0.虽然超级块闪存转换层算法能在块级FTL算法上进一步减少RAM的占用空间,但其只是由几个连续的逻辑块组合而成,无法根据实际系统中数据的运行特点进行调整.因此,提出了一种数据驱动的自适应超级块FTL算法(DASFTL),其地址映射机制见图2.超级块映射表SMT和页地址映射表PMT组成两级映射,其中超级块映射表SMT为一级映射,页地址映射表为二级映射.超级块映射表SMT由超级块号SBN进行索引,每个超级映射表项由逻辑块号LBN、页映射表PMT和逻辑块权重WRecy组成.与Superblock FTL不同,在DASFTL中,超级块不是由几个连续的逻辑块简单组合而成,而是根据系统中数据运行的特点动态组合而成.每个超级块中所拥有的逻辑块数为K,K的取值范围从0到存储系统中所有有效物理块的个数.这K个逻辑块可以是连续的逻辑块也可以是不连续的,并且不同超级块的K值可能不同.具体哪些逻辑块组合成为一个超级块由块回收权重WRecy决定.在超级块内部采用页级映射,超级块中每一个映射表项都可以映射至其对应的实际物理页上.PMT被分为S个页映射子表(PMST1、PMST2、…、PMSTs),由页映射表索引PMTI进行索引.页映射表索引的内容为物理页码,页映射子表的内容由物理页码PPN和页热度Hpage两部分组成,其中S的值可由OOB区的大小和逻辑块数计算得到.假设每个物理块包含α个物理页,每个OOB区可以存储m(0<m≤α)个页映射条目,则每个超级块所含有的页地址映射项为m×α个,由此可得S=(m×α)÷K.逻辑块号LBN和页地址映射表偏移量PMToffset的计算公式为:
在DASFTL算法中,块回收权重WRecy将作为超级块组成单位的度量单位.存储系统初次使用时,每个逻辑块的初始块回收权重都为0.随着存储系统的运行,超级块映射表SMT会计算并保存每个逻辑块的块回收权重.块回收权重WRecy相同的逻辑块将被组合成为一个超级块,即使这些逻辑块所对应的物理块地址是离散的.图3为DASFTL算法垃圾回收流程图.当超级块映射表SMT中没有足够的空闲块来响应写操作时将触发垃圾回收.与响应写操作相同,主控CPU单元在响应垃圾回收操作时,将块回收权重最大的整个超级块下发给存储控制单元.存储控制单元会按照顺序依次回收超级块内的逻辑块.在完成一次回收之后超级块映射表SMT将更新块回收权重和新的映射索引.3 实验结果与分析
【参考文献】:
期刊论文
[1]星载存储器吞吐率瓶颈与高速并行缓存机制[J]. 董振兴,朱岩,许志宏,宋琪. 哈尔滨工业大学学报. 2017(11)
[2]星载大容量固态存储器快速可靠启动算法设计[J]. 李姗,宋琪,朱岩,安军社. 哈尔滨工业大学学报. 2015(10)
博士论文
[1]面向星载一体化综合电子系统的固态存储技术研究[D]. 许志宏.中国科学院大学(中国科学院国家空间科学中心) 2017
[2]星载固态存储文件化管理方案应用研究[D]. 董振兴.中国科学院大学(中国科学院国家空间科学中心) 2017
[3]星载固态存储管理技术的应用研究[D]. 宋琪.中国科学院研究生院(空间科学与应用研究中心) 2015
本文编号:3091090
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3091090.html