The invention discloses a method for realizing solid state disk wear leveling method, which is characterized in that the partition of FLASH into a plurality of memory, each memory contains a number of blocks; balanced assessment data including the average values of E, Var and erase times the variance of random walk current position P erase times; random walk on the current position of P is a record of each storage location balancing block walk, specifically for the block number; wear leveling operation by controlling the random walk of the current position of the P position and direction, and the implementation of data migration, each storage control makes the Var value increasingly small, and the control of each storage the maximum erasing times of average value of E_max E_min more small. The new wear leveling method is almost the same as the conventional BET technology, but it requires less memory and saves memory. With the increase of Nand capacity, the memory consumption of new method remains basically unchanged, and the expansibility is very good.
【技术实现步骤摘要】
一种实现固态硬盘磨损均衡的方法
本专利技术涉及固态硬盘控制技术,特别涉及一种实现固态硬盘磨损均衡的方法。
技术介绍
固态硬盘由于其每个数据块的擦写寿命是有限的,不同的数据修改的概率也不同,如果长时间集中对某些数据块进行擦写操作,很容易将数据块写坏,因此固态硬盘中都必须要有磨损均衡来避免出现该问题。常规技术采用的是静态磨损均衡算法,该算法需要在高速内存(SRAM)中分配一张块擦除信息表BET(blockerasetable)表,图1是BET表结构示意图;FLASH中每个块block对应BET中一个bit,该bit的值表示对应block在一定时间T内是否被擦除过(1表示被擦除过,0表示没有被擦除过)。除了BET表,固件还维护两个值擦除次数erase_cnt和one_cnt,erase_cnt记录所有block在时间T内被擦除的总次数。在SSD工作期间,内部的垃圾回收任务会不定时擦除无效的block,以腾出空闲block,one_cnt表示BET表中值为1的个数。显然有erase_cnt大于等于one_cnt,因为在时间T内同一个block可能擦除多次,特别是在硬盘空间不足的情况下,当erase_cnt/one_cnt的值过大时,说明BET表中某些值为1对应的block在时间T内被反复擦除,而那些值为0对应的block一直没有被擦除,各block的磨损已经不均衡了,图2是出现磨损不均衡情况示意图;此时需要启用SSD内部任务遍历BET表,找到表中值为0对应的block(冷数据块),将该block上的数据搬移到表中值为1对应的block(热数据块),图3是冷热数据交 ...
【技术保护点】
一种实现固态硬盘磨损均衡的方法,其特征在于将FLASH的块划分为多个存储面,每个存储面包含若干个块;每个存储面都分别采用一组均衡评估数据描述各个存储面内的各个块的磨损均衡程度;所述均衡评估数据包括擦除次数平均值E、擦除次数的方差Var和随机游走当前位置P;随机游走当前位置P记录的是各个存储面均衡的块游走的位置,具体为块序号;磨损均衡操作时通过控制随机游走当前位置P的移动位置和方向,并执行数据搬移,控制使得各个存储面的Var值趋小,同时控制各个存储面的最大擦除次数平均值E_max‑E_min值趋小。
【技术特征摘要】
1.一种实现固态硬盘磨损均衡的方法,其特征在于将FLASH的块划分为多个存储面,每个存储面包含若干个块;每个存储面都分别采用一组均衡评估数据描述各个存储面内的各个块的磨损均衡程度;所述均衡评估数据包括擦除次数平均值E、擦除次数的方差Var和随机游走当前位置P;随机游走当前位置P记录的是各个存储面均衡的块游走的位置,具体为块序号;磨损均衡操作时通过控制随机游走当前位置P的移动位置和方向,并执行数据搬移,控制使得各个存储面的Var值趋小,同时控制各个存储面的最大擦除次数平均值E_max-E_min值趋小。2.根据权利要求1所述的实现固态硬盘磨损均衡的方法,其特征在于每个存储面发生一次块擦除操作,则更新一次擦除次数平均值和擦除次数的方差,具体更新如下:E_新=E_旧+1/N;E_新表...
【专利技术属性】
技术研发人员:许毅,姚兰,郑春阳,
申请(专利权)人:记忆科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。