[发明专利]一种用于NAND FLASH的均衡损耗实现方法有效
申请号: | 201210595077.9 | 申请日: | 2012-12-28 |
公开(公告)号: | CN103092766A | 公开(公告)日: | 2013-05-08 |
发明(设计)人: | 张志永;宗宇 | 申请(专利权)人: | 北京时代民芯科技有限公司;北京微电子技术研究所 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 中国航天科技专利中心 11009 | 代理人: | 杨春颖 |
地址: | 100076 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 nand flash 均衡 损耗 实现 方法 | ||
技术领域
本发明涉及一种用于NAND FLASH的均衡损耗。
背景技术
NAND FLASH作为一种非挥发性(简单说就是不加电的情况下数据也不会丢失,区别于目前常用的计算机内存)的半导体存储芯片,具有体积小,功耗低,不易受到物理破坏的优点,是移动数码产品的理性存储介质。
闪存的结构,是由很多块组成,每个块包括一定数目的页,每一页均包含一个数据区和冗余区,数据区用来存储数据,而冗余区通常被用于ECC、均衡损耗(wear leveling)和其他软件开销功能,尽管他在物理上与其它也并没有区别。
NAND FLASH进行写操作时,必须先将对应的块中的内容清空,然后再写入,也就是通常说的“先擦后写”。一般来说,NAND FLASH的使用寿命是由存储单元的最大擦除次数决定的,随着存储单元的擦写次数的增加,该存储单元最终变为只读状态,从而成为坏块。为了延长存储设备的使用寿命,行之有效的方法是在尽量小的影响性能的前提下,均衡使用存储设备中的所有存储单元,而不让某个或某几个存储单元被过度使用,这种均衡使用存储设备中的存储单元的技术称为均衡损耗(wear leveling)技术。
下面简单介绍目前常见的用于NAND FLASH中实现均衡损耗的方法:
NAND FLASH可以达到高存储密度,并且写入和擦除的速度也很快,在大量数据存储中存在优势,应用广泛。NAND FLASH中的基本擦除单元为块,而在NAND FLASH中,页是进行写入操作的基本单位,每一块包含多个页,每页包含一个或多个扇区。为了达到损耗均衡的目的,在向NAND FLASH中某个逻辑扇区写入数据后,记录该逻辑扇区所对应的页已写入数据不可用,当需 要对该逻辑扇区或该扇区所对应的页中的其他扇区中的数据进行更新时,不是将该扇区所对应的块擦除后重新写入更新后的数据,而是将更新后的数据写入其他可用即未保存数据的块所对应的逻辑扇区上。按照该方法,总是将新的数据写入到未写入数据的块内,直到满足一定的条件时,例如,当NAND FLASH中不存在可用块或可用块较少时,才将已保存数据即记录为不可用的块统一进行擦除,以保证NAND FLASH中存储空间的可用性。
上述方法存在以下问题:
现有的均衡损耗的实现方案中,当NAND FLASH中不存在可用块或可用块较少时,才将已保存数据即记录为不可用的块统一进行擦除,这就需要在实际操作中保存大量的块状态信息,增加了垃圾块回收的难度和资源消耗。另外,针对某些块中存储的更新不频繁的数据即COLD-DATA(冷数据),由于数据更新不频繁,导致这些数据一直占据某些固定的块,造成NAND FLASH内块的磨损是不均衡的,有的块寿命已接近使用寿命,但有的块的擦除次数还很少。
发明内容
本发明的技术解决问题是:针对现有技术的不足,提供了一种用于NANDFLASH的均衡损耗实现方法,实现整个NAND FLASH内的COLD-DATA(冷数据)与HOT-DATA(热数据)的管理,实现局部或全局均衡损耗,可有效避免因COLD-DATA导致的对NAND FLASH造成的擦除次数不均衡,可有效提高NAND FLASH的使用寿命。
本发明的技术解决方案是:一种用于NAND FLASH的均衡损耗实现方法,能够实现局部的均衡损耗,包括以下步骤:
(1)将NAND FLASH内的块BLOCK划分为LOG块区及DATA块区,实时记录LOG块区及DATA块区中所有块的擦写次数;
(2)当有新数据需要向某个DATA块写入或更新时,将此DATA块作为原DATA块,若存在与原DATA块对应的LOG块且此LOG块可用,则直接将此LOG块作为存储DATA块写入或更新数据;若存在与原DATA块对应的LOG 块但此LOG块不可用,或者不存在原DATA块对应的LOG块,则在LOG块区中选用擦除次数最少的可用LOG块做为存储DATA块写入或更新数据;若所有LOG块均不可用或者新数据已经写入或更新完毕时,进行存储DATA块与原DATA块的数据合并操作;
(3)将合并操作后的块作为新的DATA块,将原DATA块及存储DATA块进行擦除操作,将擦除后的原DATA块及存储DATA块作为新的LOG块使用;
(4)更新所有块的擦写次数。
所述的实现方法可应用于NAND FLASH控制的固件中,也可应用于以NAND FLASH作为存储介质的数码产品中,也可应用于外接NAND FLASH的设备中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京时代民芯科技有限公司;北京微电子技术研究所,未经北京时代民芯科技有限公司;北京微电子技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210595077.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:提高物理扇区用户容量的方法、装置和基站
- 下一篇:一种资源安全访问方法及装置