【技术实现步骤摘要】
一种基于星载固态存储系统自适应闪存转换层的映射方法
本专利技术属于航天飞行器电子系统、星载固态存储器、航空、航天电子数据处理、存储与传输
,具体涉及一种基于星载固态存储系统自适应闪存转换层的映射方法。
技术介绍
目前,航天器上主流的存储介质为NAND型FLASH。其具有如下突出的优点:数据非易失性,掉电数据不丢失;功耗小,不加电也可以长期保持数据;寿命长,擦写次数可达10万次;密度大,单芯片就能达1GB以上,单个叠装模块容量8GB以上。正是由于这些优点,NAND型FLASH被广泛应用到星载固态存储系统中。星载固态存储系统包括主机、闪存转换层和FLASH芯片;其中,闪存转换层位于主机和FLASH芯片之间,作为中间软件层。星载固态存储系统采用NAND型FLASH作为主存储器介质,现场可编程逻辑阵列(FieldProgrammableGateArray,FPGA)作为FLASH控制器,并配备中央处理器(CentralProcessingUnit,CPU)作为主控CPU单元负责地址管理和系统维护。闪存转换层(FlashTranslationLayer,FTL)作为中间软件层,位于主控CPU单元中,完成地址映射、垃圾回收和负载均衡等功能。地址映射将主控CPU单元中应用的逻辑地址转换为FLASH芯片中的物理地址。垃圾回收为当收到数据写入请求时,FTL寻找一个空页用于写入数据,若不存在空页或空余页余量不足,将会触发垃圾回收并选择一个完整的块作为回收对象。垃圾回收通过擦除过时的数据块来释放存储空间。负载均衡是在 ...
【技术保护点】
1.一种基于星载固态存储系统自适应闪存转换层的映射方法,其特征在于,该方法包括:/n主控CPU单元根据中断类型发出对应的请求;/n当请求为写地址请求或回放地址请求时,判断空页余量是否满足当前写地址请求或回放地址请求的要求;/n如果空页余量满足一个超级块地址的余量要求,则主控CPU单元检索超级块映射表SMT,对应地检索出要分配给写地址请求或回放地址请求的超级块号SBN,完成一级映射;/n根据检索出的超级块号SBN,检索到相应的超级块;利用主控CPU单元依次检索页映射表PMT和块分配表BAT,进行二级映射,获得物理页码PPN和物理块号PBN;/n将得到的物理块号PBN对应实际FLASH芯片中的物理块地址;将物理页码PPN对应实际FLASH芯片中的物理页地址;将得到的实际FLASH芯片中的物理块地址和物理页地址输入至存储控制单元,存储控制单元根据得到的实际FLASH芯片中的物理块地址和物理页地址,寻找到FLASH阵列中相应的物理地址进行数据的写/回放;/n如果空页余量不满足一个超级块地址的余量要求,则生成垃圾回收请求,并将该垃圾回收请求返回至主控CPU单元,供其发送。/n
【技术特征摘要】
1.一种基于星载固态存储系统自适应闪存转换层的映射方法,其特征在于,该方法包括:
主控CPU单元根据中断类型发出对应的请求;
当请求为写地址请求或回放地址请求时,判断空页余量是否满足当前写地址请求或回放地址请求的要求;
如果空页余量满足一个超级块地址的余量要求,则主控CPU单元检索超级块映射表SMT,对应地检索出要分配给写地址请求或回放地址请求的超级块号SBN,完成一级映射;
根据检索出的超级块号SBN,检索到相应的超级块;利用主控CPU单元依次检索页映射表PMT和块分配表BAT,进行二级映射,获得物理页码PPN和物理块号PBN;
将得到的物理块号PBN对应实际FLASH芯片中的物理块地址;将物理页码PPN对应实际FLASH芯片中的物理页地址;将得到的实际FLASH芯片中的物理块地址和物理页地址输入至存储控制单元,存储控制单元根据得到的实际FLASH芯片中的物理块地址和物理页地址,寻找到FLASH阵列中相应的物理地址进行数据的写/回放;
如果空页余量不满足一个超级块地址的余量要求,则生成垃圾回收请求,并将该垃圾回收请求返回至主控CPU单元,供其发送。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
主控CPU单元还发出垃圾回收请求,主控CPU单元检索超级块映射表SMT,并通过检索超级块映射表SMT,对应地检索出要分配给垃圾回收请求的超级块号,并根据该超级块号,获得该超级块号的块回收权重,如果该超级块号的块回收权重是所有超级块中的块回收权重的最大值,则将该超级块内的所有通过物理块号PBN索引的物理块地址对应的物理块进行垃圾回收;
垃圾回收结束后,更新超级块映射表SMT和超级块中的块回收权重WRecy。
3.根据权利要求1所述的方法,其特征在于,所述超级块映射表SMT为一级映射表,由超级块号SBN进行索引,每个超级块映射表项包括:页映射表索引PMTI、逻辑块号LBN和块回收权重WRecy;
页映射表PMT和块分配表BAT共同组成二级映射表;其中,页映射表PMT包括S个页映射表子表PMST,并由页映射表索引PMTI进行索引;根据页映射表索引PMTI,检索页映射表PMT,得到相应的物理页码PPN和页热度Hpage;块分配表BAT包括FLASH阵列中所有的物理块地址,并由逻辑块号LBN进行索引;
存储控制单元,用于根据闪存转换层输出的物理块地址和物理页地址,寻找到FLASH阵列中实际的物理地址,并完成写/回放/擦除操作;
FLASH阵列包括多个FLASH芯片,其中,每个FLASH芯片包括:多个物理块。
4.根据权利要求3所述的方法,其特征在于,所述块回收权重WRecy的获取,具体为:
根据公式(5),计算块平均热度
其中,Hpage为数据页热度;
再根据公式(6),计算块回收权重WRecy:
其中,Nearse为物理块擦除次数;P为权值系数,取值范围为[0,1];Nthre为块擦除次数阈值;Hmax为目标块最大热度。
5.根据权利要求3所述的方法,其特征在于,所述页映射表子表PMST的个数S的获取,具体为:
根据OOB区的大小和逻辑块数,确定页映射子表的个数S;
假设α为FLASH芯片中每个物理块中的物理页数,每个OOB区存储m(0<m≤α)个页映射条目,则每个超级块所含有的页地址映射项为m×α个,则S通过如下公式(1)获得:
其中,K为每个超级块中所拥有的逻辑块数,默认值为300。
6.根据权利要求3所述的方法,其特征在于...
【专利技术属性】
技术研发人员:张伟东,董振兴,朱岩,安军社,
申请(专利权)人:中国科学院国家空间科学中心,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。