发明名称 一种改进的BET静态损耗均衡方法
摘要 一种改进的BET静态损耗均衡方法,通过优化BET方法的执行时间、动态设定BET方法的触发阈值,以及完善块组合方式三方面的改进,极大的提升了静态数据识别和处理效率,避免了不必要静态数据回收操作,提高了闪存物理块的擦除均衡水平,延长了闪存存储设备的使用寿命。
申请公布号 CN102222047A 申请公布日期 2011.10.19
申请号 CN201110161755.6 申请日期 2011.06.16
申请人 西安交通大学 发明人 常越;王建校;孙宏滨
分类号 G06F12/06(2006.01)I 主分类号 G06F12/06(2006.01)I
代理机构 西安智大知识产权代理事务所 61215 代理人 贾玉健
主权项 一种改进的BET静态损耗均衡方法,其特征为:闪存控制器按照块数目集合变量K从物理块起始划分地址将先后连续的K个物理块组合为一个块集合,从而将整个闪存存储空间划分为多个闪存块集合,并且对每一个块集合分配一个擦除标志,所述的K为大于1的自然数;当对应的块集合中的一块以上的闪存块被擦除,该标志位置1,而当对应的块集合中的所有的闪存块未被擦除,该标志位置0,当BET表中的所有的擦除标志位都置1,那么BET方法的一个执行周期结束,将所有的块集合的标志位以列表形式集中构成BET表,这样在均衡周期内闪存控制器统计的块擦除操作的总数目和均衡周期内BET表中擦除标志位置1的总数分别放入均衡周期内块擦除操作的总数目变量存储单元e‑cnt和均衡周期内BET表中置1的擦除标志的总数变量存储单元f_cnt;首先闪存控制器根据比较模块判断均衡周期内BET表中置1的擦除标志的总数变量f_cnt是否为0,若均衡周期内BET表中置1的擦除标志的总数变量f_cnt的值为0,结束操作,若均衡周期内BET表中置1的擦除标志的总数的值不为0,闪存控制器就用如果式if操作指令阈值模块判断闪存存储空间擦除的不均衡程度,即均衡周期内块擦除操作的总数目变量e_cnt与均衡周期内BET表中置1的擦除标志的总数变量f_cnt的比值是否超出擦除均衡程度的阈值T,如果不均衡程度小于阈值T,结束操作,反之,如果不均衡程度大于或等于阈值T,闪存控制器就用如果式if操作指令擦除标志总数模块判断均衡周期内BET表中置1的擦除标志的总数变量f_cnt是否大于或等于BET表中块集合擦除标志的数目size(BET),如果均衡周期内BET表中置1的擦除标志的总数变量f_cnt大于或等于BET表中块集合擦除标志的数目size(BET),则标志着此次均衡周期结束,闪存控制器就用清零变量单元模块将均衡周期内块擦除操作的总数目变量e‑cnt和均衡周期内BET表中置1的擦除标志的总数存储变量f_cnt清零,随后再调用随机模块在0到BET表中块集合擦除标志的数目size(BET)减1的范围内随机选取一个数值给块集合的指针f_index,随后闪存控制器用清零标志单元模块将BET表中所有擦除标志清零,结束操作,如果均衡周期内BET表中置1的擦除标志的总数变量f_cnt小于BET表中块集合擦除标志的数目size(BET),闪存控制器用式while操作指令擦除标志模块根据当前块集合的指针f_index判断该块集合的擦除标志BET(f_index)是否为1,当该块集合的擦除标志BET(f_index)为1时,该块集合的指针f_index递增1按序指向下一个块集合,返回当式while操作指令擦除标志模块进行判断该下一个块集合的擦除标志BET(f_index+1)是否为1,当该块集合的擦除标志BET(f_index)不为1时,闪存控制器就用擦除模块擦除该块集合,并将该块集合的指针f_index递增1按序指向下一个块集合,操作结束。
地址 710049 陕西省西安市咸宁路28号