改善Nand Flash存储性能的方法及其系统技术方案

技术编号:15822372 阅读:36 留言:0更新日期:2017-07-15 04:40
本发明专利技术公开了一种改善Nand Flash存储性能的方法及其系统,方法包括:获取Nand Flash中各个块的抹除次数;计算得到所述各个块的抹除次数的平均值;若存在预设第一个数的块的抹除次数小于所述平均值,且与所述平均值相差超过预设第一次数,则将所述预设第一个数的块的抹除次数更新为所述平均值。将抹除次数与平均值差距过大的块的抹除次数提高到平均值,虽然牺牲了这些块的抹除次数,但避免因为这些块的抹除次数过少,而系统为了达到磨损均衡而不断地做数据搬移和GC操作,通过节省系统搬移块的时间,提升系统性能。

【技术实现步骤摘要】
改善NandFlash存储性能的方法及其系统
本专利技术涉及数据存储
,尤其涉及一种改善NandFlash存储性能的方法及其系统。
技术介绍
NandFlash内存是flash内存(闪存)的一种,其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。NandFlash存储器具有容量较大,改写速度快等优点,适用于大量数据的存储,因而在业界得到了越来越广泛的应用,如嵌入式产品中包括数码相机、MP3随身听记忆卡、体积小巧的U盘等。数码产品都会用到存储设备,那就有机会用到NandFlash,在数码产品越来越广泛的情况下,存储设备的算法将影响到NandFlash平均抹写。一个闪存通常是由若干个闪存块(block)组成的,每个闪存块又分成若干个物理页(page)。页是写入数据的最小单位,块是擦除数据的最小单位。页内数据不能被反复写入,只有当包含该页的块被擦除后才能重新写入。而每个闪存块的擦除次数是有限制的,只要其中有一个闪存块的擦除次数达到了上限,数据存储就会变得不可靠,会影响到整个闪存的寿命。在公开号为CN102880556A的中国专利公开文件中,提出了一种实现NandFlash磨损均衡的方法:统计当前NandFlash中每个Block的擦除次数,并计算出各Block的热度;根据数据存储信息以及热度将各Block分配至EDOL、HSL或CSL中;定时启动冷块处理程序;当NandFlash有数据写入时,从空闲块链表中挑选出擦除次数最少的若干Block,将数据写入这些Block中。但该方案中,一旦发现有些块被使用的次数较少,会不断地将这些块列入空白块,并将其他块的数据搬移到这些块中,从而造成不必要的GC(GabageCollection,垃圾回收)现象,导致系统性能下降。
技术实现思路
本专利技术所要解决的技术问题是:提出一种改善NandFlash存储性能的方法及其系统,可提升系统性能。为了解决上述技术问题,本专利技术采用的技术方案为:一种改善NandFlash存储性能的方法,包括:获取NandFlash中各个块的抹除次数;计算得到所述各个块的抹除次数的平均值;若存在预设第一个数的块的抹除次数小于所述平均值,且与所述平均值相差超过预设第一次数,则将所述预设第一个数的块的抹除次数更新为所述平均值。本专利技术还涉及一种改善NandFlash存储性能的系统,包括:获取模块,用于获取NandFlash中各个块的抹除次数;计算模块,用于计算得到所述各个块的抹除次数的平均值;第一更新模块,用于若存在预设第一个数的块的抹除次数小于所述平均值,且与所述平均值相差超过预设第一次数,则将所述预设第一个数的块的抹除次数更新为所述平均值。本专利技术的有益效果在于:将抹除次数与所有块的抹除次数的平均值差距过大的块的抹除次数提高到平均值,虽然牺牲了这些块的抹除次数,但避免因为这些块的抹除次数过少,而系统为了达到磨损均衡而不断地做数据搬移和GC操作,通过节省系统搬移块的时间,提升系统性能。附图说明图1为本专利技术一种改善NandFlash存储性能的方法的流程图;图2为本专利技术实施例一的方法流程图;图3为本专利技术一种改善NandFlash存储性能的系统的结构示意图;图4为本专利技术实施例二的系统结构示意图。标号说明:1、获取模块;2、计算模块;3、第一更新模块;4、建立模块;5、第二更新模块;6、搬移模块;7、设置模块。具体实施方式为详细说明本专利技术的
技术实现思路
、所实现目的及效果,以下结合实施方式并配合附图详予说明。本专利技术最关键的构思在于:将抹除次数与平均值差异较大的块的抹除次数提升至平均值。请参阅图1,一种改善NandFlash存储性能的方法,包括:获取NandFlash中各个块的抹除次数;计算得到所述各个块的抹除次数的平均值;若存在预设第一个数的块的抹除次数小于所述平均值,且与所述平均值相差超过预设第一次数,则将所述预设第一个数的块的抹除次数更新为所述平均值。从上述描述可知,本专利技术的有益效果在于:避免因为某一个块抹除次数太少,而系统为了这个块不断地做GC造成的系统效能下降。进一步地,所述“获取NandFlash中各个块的抹除次数”之前,进一步包括:建立块抹除记录表,所述块抹除记录表记录NandFlash中各个块的抹除次数;当发生块的抹除时,更新发生抹除的块的抹除次数。由上述描述可知,有效记录各个块的抹除次数。进一步地,所述“将所述预设第一个数的块的抹除次数更新为所述平均值”之后,进一步包括:当抹除次数最大的预设第二个数的块中的数据需要进行更新时,则将所述数据搬移至其他块中。进一步地,所述“将所述预设第一个数的块的抹除次数更新为所述平均值”之后,进一步包括:将抹除次数最大的预设第二个数的块的选用优先级设置为最低的等级,直至各个块的抹除次数相差小于或等于预设第二次数。由上述描述可知,当块之间的抹除次数差异较大时,则在选用空白块的时候,将不选用抹除次数最大的预设第二个数的块,而是选用其他的块进行数据存储,实现各个块之间的耗损均衡。进一步地,所述第一个数的取值范围为3-5;所述第二个数的取值范围为3-5;所述第一次数大于或等于60;所述第二次数的取值范围为10-20。由上述描述可知,第一个数不能设定的太多,避免因牺牲掉过多块的抹除次数反而大大降低NandFlash的生命周期。请参照图3,本专利技术还提出一种改善NandFlash存储性能的系统,包括:获取模块,用于获取NandFlash中各个块的抹除次数;计算模块,用于计算得到所述各个块的抹除次数的平均值;第一更新模块,用于若存在预设第一个数的块的抹除次数小于所述平均值,且与所述平均值相差超过预设第一次数,则将所述预设第一个数的块的抹除次数更新为所述平均值。进一步地,还包括:建立模块,用于建立块抹除记录表,所述块抹除记录表记录NandFlash中各个块的抹除次数;第二更新模块,用于当发生块的抹除时,更新发生抹除的块的抹除次数。进一步地,还包括:搬移模块,用于当抹除次数最大的预设第二个数的块中的数据需要进行更新时,则将所述数据搬移至其他块中。进一步地,还包括:设置模块,用于将抹除次数最大的预设第二个数的块的选用优先级设置为最低的等级,直至各个块的抹除次数相差小于或等于预设第二次数。进一步地,所述第一个数的取值范围为3-5;所述第二个数的取值范围为3-5;所述第一次数大于或等于60;所述第二次数的取值范围为10-20。实施例一请参照图2,本专利技术的实施例一为:一种改善NandFlash存储性能的方法,包括如下步骤:S1:建立块抹除记录表,所述块抹除记录表记录NandFlash中各个块的抹除次数。S2:当发生块的抹除时,更新发生抹除的块的抹除次数。NandFlash控制芯片的算法中,因为NandFlash的物理特性,只能将1变为0,而不能将0变为1,因此,当一个块中的数据要进行更新时,必须将数据搬移存储至另外一个块,具体地,将旧数据中没有改变的数据直接搬移到另外一个块中,然后将更新后的旧数据中有改变的数据存储至所述另外一个块中,然后抹除旧数据原来所在的块,被抹除后的块就变成空白块(freeblock),可以供下一次数据写入的选用。例如,假设第一个块中有10页数据,第二个块为空白块,现要更新第一块中第10页中的数本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/201710186377.html" title="改善Nand Flash存储性能的方法及其系统原文来自X技术">改善Nand Flash存储性能的方法及其系统</a>

【技术保护点】
一种改善Nand Flash存储性能的方法,其特征在于,包括:获取Nand Flash中各个块的抹除次数;计算得到所述各个块的抹除次数的平均值;若存在预设第一个数的块的抹除次数小于所述平均值,且与所述平均值相差超过预设第一次数,则将所述预设第一个数的块的抹除次数更新为所述平均值。

【技术特征摘要】
1.一种改善NandFlash存储性能的方法,其特征在于,包括:获取NandFlash中各个块的抹除次数;计算得到所述各个块的抹除次数的平均值;若存在预设第一个数的块的抹除次数小于所述平均值,且与所述平均值相差超过预设第一次数,则将所述预设第一个数的块的抹除次数更新为所述平均值。2.根据权利要求1所述的改善NandFlash存储性能的方法,其特征在于,所述“获取NandFlash中各个块的抹除次数”之前,进一步包括:建立块抹除记录表,所述块抹除记录表记录NandFlash中各个块的抹除次数;当发生块的抹除时,更新发生抹除的块的抹除次数。3.根据权利要求1所述的改善NandFlash存储性能的方法,其特征在于,所述“将所述预设第一个数的块的抹除次数更新为所述平均值”之后,进一步包括:当抹除次数最大的预设第二个数的块中的数据需要进行更新时,则将所述数据搬移至其他块中。4.根据权利要求1所述的改善NandFlash存储性能的方法,其特征在于,所述“将所述预设第一个数的块的抹除次数更新为所述平均值”之后,进一步包括:将抹除次数最大的预设第二个数的块的选用优先级设置为最低的等级,直至各个块的抹除次数相差小于或等于预设第二次数。5.根据权利要求4所述的改善NandFlash存储性能的方法,其特征在于,所述第一个数的取值范围为3-5;所述第二个数的取值范围为3-5;所述第一次数大于或等于...

【专利技术属性】
技术研发人员:孙成思孙日欣李振华王昭凯赖声泓王忠胜赖永富
申请(专利权)人:深圳佰维存储科技股份有限公司
类型:发明
国别省市:广东,44

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

1