本发明涉及存储技术领域,尤其涉及一种nand闪存块的管理方法及其系统。
背景技术:
每一个ftl(flashtranslationlayer)算法都需要空闲队列中的一个自由块来作为新的写入块。传统的nand闪存的空闲队列记录表中的自由块是依据被擦除的时间先后顺序排列的,因此,会经常出现擦除次数较多的块持续被使用的情况,造成nand闪存的使用寿命缩短。
技术实现要素:
本发明所要解决的技术问题是:提供一种可以提高nand闪存使用寿命的nand闪存块的管理方法及其系统。
为了解决上述技术问题,本发明采用的技术方案为:
一种nand闪存块的管理方法,包括:
擦除nand闪存中的一块的数据,得到待排列块;
按擦除次数由少到多的顺序,将所述待排列块添加至nand闪存的空闲队列记录表中;
顺序提取空闲队列记录表中的自由块作为写入块。
本发明采用的另一技术方案为:
一种nand闪存块的管理系统,包括:
擦除模块,用于擦除nand闪存中的一块的数据,得到待排列块;
第一添加模块,用于按擦除次数由少到多的顺序,将所述待排列块添加至nand闪存的空闲队列记录表中;
提取模块,用于顺序提取空闲队列记录表中的自由块作为写入块。
本发明的有益效果在于:根据擦除次数来排列待排列块,将擦除次数较少的块排列在前,优先被提取使用,可以有效避免擦除次数较多的块被持续使用的情况,提高nand闪存的使用寿命。
附图说明
图1为本发明的nand闪存块的管理方法的流程图;
图2为本发明实施例一的nand闪存块的管理方法的流程图;
图3为本发明的nand闪存块的管理系统的示意图;
图4为本发明实施例二的nand闪存块的管理系统的示意图。
标号说明:
1、擦除模块;2、第一添加模块;3、提取模块;4、获取模块;5、判断模块;6、第二添加模块;7、建立模块;8、保存模块;21、判断单元;22、第一排列单元;23、第二排列单元。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
本发明最关键的构思在于:根据擦除次数来排列待排列块,将擦除次数较少的块排列在前,优先被使用,可以有效避免擦除次数较多的块被持续使用的情况。
请参照图1,一种nand闪存块的管理方法,包括:
擦除nand闪存中的一块的数据,得到待排列块;
按擦除次数由少到多的顺序,将所述待排列块添加至nand闪存的空闲队列记录表中;
顺序提取空闲队列记录表中的自由块作为写入块。
从上述描述可知,本发明的有益效果在于:根据擦除次数来排列待排列块,将擦除次数较少的块排列在前,优先被使用,可以有效避免擦除次数较多的块被持续使用的情况,提高nand闪存的使用寿命。进行自由块的提取时,可以根据需要顺序提取一个或者多个自由块作为写入块。
进一步的,所述擦除nand闪存中的一块的数据,得到待排列块之后还包括:
获取空闲队列记录表;
判断所述空闲队列记录表中是否存在自由块;
若否,则直接将所述待排列块添加至所述空闲队列记录表中。
由上述描述可知,当待排列块为第一个擦除的块时,此时空闲队列记录表中没有自由块与其进行擦除次数的比较,直接将待排列块添加至空闲队列记录表即可。
进一步的,所述按擦除次数由少到多的顺序,将所述待排列块添加至nand闪存的空闲队列记录表中具体包括:
当所述空闲队列记录表中存在自由块时,则判断所述待排列块的擦除次数是否小于空闲队列记录表中的一自由块的擦除次数;
若是,则将所述待排列块排列在所述一自由块之前;
若否,则将所述待排列块排列在所述一自由块之后。
由上述描述可知,当空闲队列记录表中存在自由块时,需要将待排列块逐一与自由块进行擦除次数的对比,然后添加进空闲队列记录表中。
进一步的,所述获取空闲队列记录表之前还包括:建立空闲队列记录表。
进一步的,按擦除次数由少到多的顺序,将所述待排列块添加至nand闪存的空闲队列记录表中之后还包括:保存所述空闲队列记录表。
请参照图3,本发明的另一技术方案为:
一种nand闪存块的管理系统,包括:
擦除模块,用于擦除nand闪存中的一块的数据,得到待排列块;
第一添加模块,用于按擦除次数由少到多的顺序,将所述待排列块添加至nand闪存的空闲队列记录表中;
提取模块,用于顺序提取空闲队列记录表中的自由块作为写入块。
进一步的,还包括:
获取模块,用于获取空闲队列记录表;
判断模块,用于判断所述空闲队列记录表中是否存在自由块;
第二添加模块,用于若否,则直接将所述待排列块添加至所述空闲队列记录表中。
进一步的,所述第一添加模块具体包括:
判断单元,用于当所述空闲队列记录表中存在自由块时,则判断所述待排列块的擦除次数是否小于空闲队列记录表中的一自由块的擦除次数;
第一排列单元,用于若是,则将所述待排列块排列在所述一自由块之前;
第二排列单元,用于若否,则将所述待排列块排列在所述一自由块之后。
进一步的,还包括建立模块,所述建立模块用于建立空闲队列记录表。
进一步的,还包括保存模块,所述保存模块用于保存所述空闲队列记录表。
实施例一
请参照图2,本发明的实施例一为:
一种nand闪存块的管理方法,可以提高nand闪存的使用寿命,包括:
s1、擦除nand闪存中的一块的数据,得到待排列块。
s2、获取空闲队列记录表。当然,在此之前,还需要建立一空闲队列记录表。
s3、判断所述空闲队列记录表中是否存在自由块;若是,则进行步骤s4,若否,则进行步骤s5。
s4、按擦除次数由少到多的顺序,将所述待排列块添加至nand闪存的空闲队列记录表中。本实施例中,步骤s4具体包括:
s41、判断所述待排列块的擦除次数是否小于空闲队列记录表中的一自由块的擦除次数;若是,则进行步骤s42;若否,则进行步骤s43。
s42、将所述待排列块排列在所述一自由块之前;
s43、将所述待排列块排列在所述一自由块之后。当待排列块的擦除次数大于或者等于所述一自由块的次数时,均将待排列块排列在所述一自由块之后。
s5、直接将所述待排列块添加至所述空闲队列记录表中。此时,待排列块为擦除的第一个块,空闲队列记录表中没有自由块与其进行擦除次数的对比。
将待排列块添加进空闲队列记录表之后,需要保存所述空闲队列记录表。
s6、顺序提取空闲队列记录表中的自由块作为写入块。可以根据需要,顺序提取一个或者多个自由块作为写入块。
本实施例中,根据擦除次数来排列待排列块,将擦除次数较少的块排列在前,优先被提取使用,可以有效避免擦除次数较多的块被持续使用的情况,提高nand闪存的使用寿命。
实施例二
请参照图4,本发明的实施例二为:一种nand闪存块的而管理方法及其系统,包括:
擦除模块1,用于擦除nand闪存中的一块的数据,得到待排列块;
第一添加模块2,用于按擦除次数由少到多的顺序,将所述待排列块添加至nand闪存的空闲队列记录表中;
提取模块3,用于顺序提取空闲队列记录表中的自由块作为写入块。
进一步的,还包括:
获取模块4,用于获取空闲队列记录表;
判断模块5,用于判断所述空闲队列记录表中是否存在自由块;
第二添加模块6,用于若否,则直接将所述待排列块添加至所述空闲队列记录表中。
进一步的,所述第一添加模块2具体包括:
判断单元21,用于当所述空闲队列记录表中存在自由块时,则判断所述待排列块的擦除次数是否小于空闲队列记录表中的一自由块的擦除次数;
第一排列单元22,用于若是,则将所述待排列块排列在所述一自由块之前;
第二排列单元23,用于若否,则将所述待排列块排列在所述一自由块之后。
进一步的,还包括建立模块7,所述建立模块7用于建立空闲队列记录表。
进一步的,还包括保存模块8,所述保存模块8用于保存所述空闲队列记录表。
综上所述,本发明提供的一种nand闪存块的管理方法及其系统,根据擦除次数来排列待排列块,将擦除次数较少的块排列在前,优先被提取使用,可以有效避免擦除次数较多的块被持续使用的情况,提高nand闪存的使用寿命。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。