本发明专利技术提供了一种实现基于UBI的动态磨损均衡的方法,该方法在原有基础上通过修改文件系统有选择的擦写Flash芯片中的块,使得芯片中各个块均衡的被擦写,从而延长整块Flash芯片的寿命。本发明专利技术提出“超龄区”和“虚年龄”的概念可以尽量减少有效数据迁移操作的发生,还可以有效的避免了有效数据迁移操作的副作用,从而不再需要新分块数据保护措施,简化了设计,同时也降低了系统损耗。
【技术实现步骤摘要】
本专利技术涉及一种实现存储器擦写均衡的方法,特别是涉及一种适用于实现基于Flash文件系统的动态磨损均衡的方法。
技术介绍
随着半导体技术的发展,Flash存储器(闪存)以其体积、功耗、性能等各方面的优势,终于取代了传统的R0M、EPR0M等成为嵌入式领域主流的存储器。闪存是一种非易失性存储器,即断电数据也不会丢失。由于其体积小,携带方便,所以广泛应用于数码相机,掌上电脑,MP3等小型数码产品中作为存储介质中。然而,有限的使用寿命成为闪存广泛应用的一大绊脚石,市场上曾经出现的闪存芯片包括3种: SLC = Single-Level Cell ,即lbit/cell,其特点是速度快,寿命长,但价格超贵,约10万次擦写寿命。MLC = Mult1-Level Cell,即2bit/cell,其特点是速度一般寿命一般,价格一般,约300010000次擦写寿命。TLC = Trinary-Level Cell,即 3bit/cell,也有 Flash 厂家叫 8LC,其特点是速度慢寿命短,价格便宜,约500次擦写寿命,目前还没有厂家能做到1000次。从上述可以看出,TLC芯片的闪存仅仅有约500次的寿命,然而,由于其容量大价格便宜,反而成为当前市面上主流的闪存芯片,因此,如何增加Flash芯片的使用寿命已经成为一项至关重要的任务。研究者们虽然开发出了专门针对闪存而设计的文件系统,在一定程度上缓解了一部分压力,却不能从根本上解决问题。
技术实现思路
本专利技术要解决的技术问题是提供一种实现基于UBI (Unsorted Block Images)的动态磨损均衡的方法,该方法在原有基础上通过修改文件系统有选择的擦写Flash芯片中的块,使得芯片中各个块均衡的被擦写,从而延长整块Flash芯片的寿命。本专利技术或专利技术采用的技术方案如下: 一种实现基于UBI的动态磨损均衡的方法,其特征在于: 步骤一、对所有的逻辑块进行温度评估,划分为高温块和低温块; 步骤二、对所有物理块根据擦写次数划归入低龄区、高龄区和超龄区; 步骤三、对逻辑块进行空闲块分配,依据逻辑块温度类型选择低龄区和高龄区中合适的物理块作为映射对象,超龄区中物理块不进行映射; 步骤四、通过数据迁移回收脏页,清理Flash存储器中的脏页,获得可用的物理块; 步骤五、若回收后仍无法得到足够的可用的物理块,则释放超龄区中的物理块。作为优化,所述步骤一中温度评估的依据为各个逻辑块的写操作频率。作为优化,所述步骤三中对逻辑块进行空闲分配的具体方法步骤为:将低温逻辑块映射到高龄物理块,高温逻辑块映射到低龄物理块,而超龄区中的物理块被强制冻结。作为优化,所述步骤三的具体方法步骤为: a.将有效块集合按照脏度由高到低排列; b.当空闲块的集合中的物理块数量小于预先指定的阈值N1时,就唤醒垃圾回收线程; c.对脏度大于阈值Dtl的物理块进行数据迁移,并放入脏块集合中; d.擦除脏块集合中的物理块,再次进入睡眠。与现有技术相比,本专利技术的有益效果是: 1.设计温度评估方法,使实验中获得数据更加接近真实设备运行的情况;为空闲块分配方法提供最理想的依据; 2.使用超龄区(擦写次数大于等于给定阈值的物理块划归的区域)可以尽量减少有效数据迁移操作的发生,还可以有效的避免了有效数据迁移操作的副作用,从而不再需要新分块数据保护措施,简化了设计,同时也降低了系统损耗。附图说明图1为本专利技术其中一实施例的垃圾回收流程图。具体实施例方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。本说明书中公开的所有特征,除了互相排除的特征以外,均可以以任何方式组合。本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。在本专利技术中提出“超龄区”和“虚年龄”的概念,使用虚年龄来区分由于磨损统计方法本身所带来物理块擦除次数的增加,尽量降低虚年龄的增加,从而减少磨损均衡统计方法本身所带来的损耗。本专利技术是基于已有的UBI文件系统,结合基于温度的磨损均衡统计方法及垃圾回收方法而实现的。其过程主要包括以下几个步骤: 步骤一、对所有的逻辑块进行温度评估,划分为高温块和低温块; 步骤二、对所有物理块根据擦写次数划归入低龄区、高龄区和超龄区; 步骤三、对逻辑块进行空闲块分配,依据逻辑块温度类型选择低龄区和高龄区中合适的物理块作为映射对象,超龄区中物理块不进行映射; 步骤四、通过数据迁移回收脏页,清理Flash存储器中的脏页,获得可用的物理块; 步骤五、若回收后仍无法得到足够的可用的物理块,则释放超龄区中的物理块。所述步骤一中温度评估的依据为各个逻辑块的写操作频率。逻辑块温度评估策略:根据过去一段时间各个逻辑块的写操作频率(单位时间内的擦写次数)将所有逻辑块划分为高温块和低温块,为优化空闲块分配策略提供依据;频率划分点可以根据实际运行情况人工配置,通过调整划分点的大小来获得一个最优的方案。设计温度评估方法,使实验中获得数据更加接近真实设备运行的情况;为空闲块分配方法提供最理想的依据。所述步骤三中对逻辑块进行空闲分配的具体方法步骤为:将低温逻辑块映射到高龄物理块,高温逻辑块映射到低龄物理块,而超龄区中的物理块被强制冻结。空闲块分配:当系统执行写操作时,依据逻辑块温度类型(高温块和低温块)选择合适的物理块作为映射对象。在传统方法中,依据前面逻辑块温度评估的结果,将高温逻辑块映射到低龄块集合中,中温逻辑块映射到中龄块中,低温逻辑块映射到高龄块中,这样可以降低高龄块的频繁擦除操作,从而使得各个物理块尽可能得到平均的使用。统计表明,在Flash存储系统上,超过80%的逻辑块都是低温块,如果只是简单的将低温逻辑块映射到高龄块,虽然低温逻辑块的使用频率低于高温逻辑块,但是低温逻辑块的数量要远远大于高温逻辑块,最终的结果将导致高龄物理块使用的频率不仅没有减少,反而增加了。有效数据迁移策略虽然可以在一定程度上缓解高低年龄差值的增大,但是又将带来巨大的系统消耗和虚年龄的增加,是一种饮鸩止渴的方法。本专利技术提出“超龄区”的概念,同样是将物理块按年龄划分为3个区间,分别为低龄区、高龄区和超龄区,而将逻辑块划分为高温块和低温块两个区间,不再考虑中温区间,和传统方法一样,将低温逻辑块映射到高龄物理块,高温逻辑块映射到低龄物理块,而超龄区中的物理块被强制冻结,这样就避免了低龄块与高龄块年龄差距继续拉大的情况发生。统计数据表明,系统存储器中数据占用率通常都在95%以下,Flash存储器就更低一些,超龄区正是利用这一空闲区间,既保护了高龄物理块,又没影响到系统存储器的正常使用。强制冻结就是在逻辑块分配给物理块的过程中,不考虑超龄区的物理块,即超龄区的物理块永远不会被使用,相当于被冻结。所述步骤三的具体方法步骤为: a.将有效块集合按照脏度由高到低排列; b.当空闲块的集合中的物理块数量小于预先指定的阈值N1时,就唤醒垃圾回收线程; c.对脏度大于阈值Dtl的物理块进行数本文档来自技高网...
【技术保护点】
一种实现基于UBI的动态磨损均衡的方法,其特征在于:步骤一、对所有的逻辑块进行温度评估,划分为高温块和低温块;步骤二、对所有物理块根据擦写次数划归入低龄区、高龄区和超龄区;步骤三、对逻辑块进行空闲块分配,依据逻辑块温度类型选择低龄区和高龄区中合适的物理块作为映射对象,超龄区中物理块不进行映射;步骤四、通过数据迁移回收脏页,清理Flash存储器中的脏页,获得可用的物理块;步骤五、若回收后仍无法得到足够的可用的物理块,则释放超龄区中的物理块。
【技术特征摘要】
1.一种实现基于UBI的动态磨损均衡的方法,其特征在于: 步骤一、对所有的逻辑块进行温度评估,划分为高温块和低温块; 步骤二、对所有物理块根据擦写次数划归入低龄区、高龄区和超龄区; 步骤三、对逻辑块进行空闲块分配,依据逻辑块温度类型选择低龄区和高龄区中合适的物理块作为映射对象,超龄区中物理块不进行映射; 步骤四、通过数据迁移回收脏页,清理Flash存储器中的脏页,获得可用的物理块; 步骤五、若回收后仍无法得到足够的可用的物理块,则释放超龄区中的物理块。2.根据权利要求1所述的一种实现基于UBI的动态磨损均衡的方法,其特征在于: 所述步骤一中温度评估的依据为各个逻辑...
【专利技术属性】
技术研发人员:李宗海,
申请(专利权)人:四川长虹电器股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。