闪存资料读写寿命提升方法

文档序号:6564652阅读:177来源:国知局

专利名称::闪存资料读写寿命提升方法
技术领域
:本发明涉及一种闪存资料读写寿命提升方法。技术背景闪存广泛使用于计算机主机或消费性电子产品中,例如现有随身碟、MP3播放器中的闪存,即为最常见的闪存应用场合,然而,现有的闪存在进行资料读写时需借由资料读写控制电路加以控制资料读写动作,图1为典型现有的闪存数据读写控制电路,其中,该控制电路A包括一闪存控制接口A1、随机存取内存A2、微处理器A3、直接内存存取单元A4及上流端(UPSTREAM)接口A5,该闪存控制接口Al连结一赔偿存B,以控制该闪存B的资料读写,该随机存取内存A2连结该闪存控制接口A1,以提供闪存B读写所需的资料、指令暂存功能,该微处理器A3为负责控制闪存B的资料读写的中枢,该直接内存存取单元A4提供闪存B资料读写所需的直接存取控制,该上流端接口A5提供连结如计算机主机、笔记型计算机等电子设备,以提供该闪存B对外连结上层电子装置以达到资料读写的功能。上述现有的闪存资料读写控制的过程,必需针对存储区块予以规划,使闪存接受控制电路A的资料读写命令后,可以利用存储区块作为资料读写的基本单元,但此种现有闪存资料读写模式,则有以下的缺点1、各存储区块利用的情况不均,如某些存储区块经常被使用,而某些存储区块不常被使用或甚至不被使用,造成资料读写的利用效率偏低及不均衡;2、由于某些存储区块经常被使用,使用的次数频繁,易造成该存储区块的损坏而使闪存组件有受损的危险,并使闪存的资料读写效能及使用寿命降低。此外,在相关的先前专利技术文献方面,如美国发明专利第6985992号"WEAR-LEVELINGINNON-VOLATILESTORAGESYSTEM"发明专利案,揭示利用冗余区(redundantarea)作为闪存的各存储区块的使用次数计数用,但此种方式在重复抹除冗余区的计数资料时,使存储区块资料读写的效能变低。美国发明专利第2005/0055495号"MEMORYWEAR-LEVELING"发明专利案,则揭示一种用热区(HOTSPOT)来规划存储区块的读写利用次数,但此种以热区方式来规划存储区块资料读写次数的方式,在资料经常频繁的读写过程中,由于存储区块常常被重新分配,对于该存储区块读写的利用与寿命提升并不具实质的助益,且亦无法达到使存储区块被均衡利用的功能。
发明内容本发明所要解决的主要技术问题在于,克服现有技术存在的上述缺陷,而提供一种闪存资料读写寿命提升方法,其可以准确计数存储区块读写次数,以便于有效的使用存储区块,使闪存的效能与寿命提升,并可以使闪存的存储区块不论是经常使用或不经常使用皆能达到精确分配与平衡使用的功效。本发明解决其技术问题所采用的技术方案是一种闪存资料读写寿命提升方法,其特征在于,其步骤包含a、内存写入资料,即闪存受一控制电路的资料写入命令控制进行资料写入旧的存储区块中的动作,该闪存中规划有若干实体的存储区块及若干存储计数器,该存储计数器以一对一方式对应各存储区块,且各存储计数器分别记录各实体的存储区块的写入次数,且各存储计数器被规划设定一临界值,该实体的存储区块分别对应若干逻辑存储区块与逻辑空白存储区块;b、检査新的存储计数器记数值是否值是超过计数临界值?即检查歩骤a的存储计数器的值是否达到临界值,如果是,进行步骤bl,如果不是则进行步骤C;bl、搜寻存储计数器数组中计数值最小的存储计数器所对应的存储区块,即对步骤a的存储计数器中搜寻最小值存储计数器及其所对应的存储区块;b2、是否无最小值的存储计数器?根据步骤bl搜寻是否无最小值的存储计数器,如果是则进步骤b21,如果不是则进行步骤b3;b21、清除所有的存储计数器值为0,将步骤a的存储计数器全部清除为0,重复步骤bl;b3、复制计数值最小的存储区块内容至新的存储区块内,即将步骤b2所搜寻到的最小值存储计数器所对应的最小值存储区块内容复制至歩骤a的一新的存储区块中;b4、递增新的存储区块对应的存储计数器值,即将步骤b3中的新的空白存储区块所对应新的存储计数器值加--;b5、交换计数值最小的存储区块与新的存储区块地址,即将步骤b3中的最小值存储计数器对应的最小值存储区块与步骤b3中的新的存储区块相互交换地址;b6、将资料写入计数值最小的存储区块中,即将步骤a所需写入的资料写入步骤b5中的最小值存储区块中;b7、递增计数值最小的存储计数器内容值,即将步骤b6中的最小值存储区块所对应的最小值存储计数器内容加一;b8、交换计数值最小的存储区块与旧的存储区块的地址,即将该步骤b6中已写入资料的最小值存储区块的地址与步骤a的旧的存储区块的地址交换,使资料被正确写入旧的存储区块的地址;b9、抹除旧的存储区块的内容,即将步骤b8已进行地址交换的旧的存储区块内容抹除而变成新的空白存储区块,并进行步骤g;c、规划新的空白存储区块于保留区块内,即规划一新的空白存储区块于闪存的保留区块中;d、递增对应新的空白存储区块的新的存储计数器内容值,即将该对应步骤c的新的空白存储区块的新的存储计数器的值加--;e、交换旧的存储区块与新的空白存储区块的地址,即将步骤c的新的空白存储区块与旧的存储区块进行地址交换;f、抹除旧的存储区块内容的值在保留区块中,即将步骤e中已交换地址至保留区块的旧的存储区块内容予以抹除;g、闲置,等待下一笔资料写入。前述的闪存资料读写寿命提升方法,其中步骤a的存储计数器为闪存规划的计数器数组。前述的闪存资料读写寿命提升方法,其中步骤a的该实体的存储区块分别对应若干逻辑存储区块与逻辑空白存储区块。前述的闪存资料读写寿命提升方法,其中步骤b8的最小值存储区块的地址对应闪存中的数据写入的逻辑存储区块。本发明的有益效果是,其可以准确计数存储区块读写次数,以便于有效的使用存储区块,使闪存的效能与寿命提升,并可以使闪存的存储区块不论是经常使用或不经常使用皆能达到精确分配与平衡使用的功效。下面结合附图和实施例对本发明进一步说明。图1是现有闪存的资料读写控制电路的方块结构2是本发明方法中的闪存的实体存储区块的规划结构3a是本发明方法中的闪存逻辑存储区块与逻辑空白存储区块的对应关系3b是本发明方法中的闪存资料的相关组件定义关系对应图图4是本发明的闪存资料读写寿命提升方法的流程图图5是本发明的方法操作实施图之-图6是本发明的方法操作实施图之二图中标号说明100闪存PB0PBN存储区块PC0PCN存储计数器LB0LBN逻辑存储区块LBF0LBFM逻辑空白存储区块Pbmin最小值存储区块Pbold旧的存储区块Pbnew新的空白存储区块Pcmin最小值存储计数器Pcnew新的存储计数器10内存写入资料20检查新的存储计数器PCnew记数值是否值是超过计数临界值21搜寻存储计数器数组中计数值最小的存储计数器所对应的存储区块22是否无最小值的存储计数器221消除所有的存储计数器值为023复制计数值最小的存储区块内容至新的存储区块内24递增新的存储区块对应的存储计数器值25交换计数值最小的存储区块与新的存储区块地址26将资料写入计数值最小的存储区块中27递增计数值最小的存储计数器内容值28交换计数值最小的存储区块与旧的存储区块的地址29抹除旧的存储区块的内容30规划新的空白存储区块于保留区块内40递增对应新的空白存储区块的新的存储计数器内容值50交换旧的存储区块与新的空白存储区块的地址60抹除旧的存储区块内容的值在保留区块中70闲置A控制电路Al闪存控制接口A2随机存取内存A3微处理器A4直接内存存取单元A5上流端B闪存具体实施方式首先请参阅图2所示,本发明闪存资料读写寿命提升方法,是先借由一闪存100的若干个实体存储区块PB0PBN加以规划定义出多个存储计数器PC0PCN,其中,该实体存储区块PBOPBN为闪存100的物理内存区块,且与存储计数器PC0PCN为一对一的关系,该存储计数器PC0PCN的来源可由闪存100的内存部分容量于格式化时规划形成或者是利用闪存100存储地址所形成的计数器数组构成,该存储计数器PC0PCN用来计数每一个实体存储区块PB0PBN的数据写入次数,且该存储计数器PC0PCN为可程序形态,可以规划设定其计数临界值。请再配合图3a所示,本发明方法中,该实体存储区块PB0PBN与闪存100资料读写过程中所利用的逻辑存储区块LB0LBN与逻辑空白存储区块LBF0LBFM间的定义及规划,该定义及规划可以被以软件或程序形态烧录设定在图1所示的控制电路A的微处理器A3中,其中,可以借由逻辑对实体转换表(logicaltophysicaltable,LPT),来得到该逻辑存储区块LB1LBN与逻辑空白存储区块LBF0LBFM与存储区块PB0PBN间的对应关系,如图3所示,可以使如图1所示的控制电路A—F达资料读写命令时,顺利找寻到所要的实体的存储区块PB0PBN。此外,如图3b所示,更进一步定义该计数值最小值存储区块为PBmin,包含于上述的存储区块PB0PBN中,存储计数器最小值的实体存储区块可以多个或单-一个,该旧的存储区块为PBold新的空白存储区块PBnew,同样也包含于存储区块PBOPBN中,该最小值存储计数器PCmin,包含于存储计数器PC0PCN中,该相对于新的空白存储区块PBnew的新的存储计数器PCnew。请再配合图4所示,为本发明方法中资料写入的操作流程图,该步骤包含步骤1070,其中10内存写入资料,即如图1所示的闪存B受一控制电路A的数据写入命令控制进行数据写入逻辑存储区块,此逻辑存储区块对应的实体的存储区块为PBold,微处理器A3会寻找一个新的空白存储区块PBnew并准备将资料写入以取代PBold;20检查新的存储计数器PCnevv记数值是否值是超过计数临界值?如果是进行步骤21,如果不是则进行步骤30。21搜寻存储计数器数组中计数值最小存储计数器所对应的存储区块,即在存储计数器PC0PCN中搜寻最小值存储计数器PCmin及其所对应的存储区块PBmin。22是否无最小值的存储计数器?如果是则进行步骤221,如果不是则进行步骤23221消除所有的存储计数器值为0,将该存储计数器PC0PCN全部清除为0,(此时所有存储计数器为O的实体区块皆为PBmin)重复步骤21。23复制计数值最小的存储区块内容至新的存储区块内,即将步骤22所搜寻到的最小值存储计数器PCmin所对应的最小值存储区块Pbmin内容复制至新的存储区块PBnew中并累计PCnew。24递增新的存储区块对应的存储计数器值,即将步骤23所示的新的空白存储区块PBnew所对应新的存储计数器PCnew值加一。25交换计数值最小的存储区块与新的存储区块地址,即将步骤23中的最小值存储计数器PCmin的最小值存储区块PBmin与新的空白存储区块PBnew相互交换被逻辑区块所记录的实体存储区块地址。并抹除PBmin所存储的资料。26将资料写入计数值最小的存储区块中,即将所需写入的资料写入该最小值存储区块PBmin中。27递增计数值最小的存储计数器内容值,即将步骤26中的最小值存储区块PBmin所对应的最小值存储计数器PCmin内容加一。28交换计数值最小的存储区块与旧的存储区块的地址,即将该步骤26中已写入资料的最小值存储区块PBmin地址与旧的存储区块PBold的地址交换,使资料被正确写入旧的存储区块PBold的地址。29抹除旧的存储区块的内容,即将步骤28已进行地址交换的旧的存储区块PBold内容抹除而变成新的空白存储区块PBiiew,并进行步骤70。30规划新的空白存储区块于保留区块内,即规划一新的空白存在区块PBnew于闪存100的保留区块中。40递增对应新的空白存储区块的新的存储计数器内容值,即将该对应步骤30的新的空白存储区块PBnew的新的存储计数器PCnew的值加50交换旧的存储区块与新的空白存储区块的地址,即将步骤30的新的空白存储区块PBnew与旧的存储区块PBold进行地址交换。60抹除旧的存储区块内容的值在保留区块中,即将步骤50中已交换地址至保留区块的旧的存储区块PBold内容予以抹除。70闲置,等待下一笔资料写入。请再参阅图5所示,为本发明方法的资料写入实际应用操作例之一,其中,显示闪存100经由如图1所示的控制电路A接受数据欲写入逻辑存储区块LB3,寻找逻辑空白存储区块所对应的内存区块PB091中,该内存区块PB091的存储计数器PC091的值为128,而存储计数器PCOPCN规划的临界值为128,而选定的最小值存储区块PB152,其最小值存储计数器PC152的值为6,因所对应的逻辑空白存储区块LBF9,选定新的存储区块PB019,其新的存储计数器PC091的值为128,图5显示尚未进行资料写入前的状态。请再配合图6所示,为本发明方法的资料写入实际应用操作例之二,其中,依图4的步骤23的方法,将内存区块PB152的内容值复制至新的存储区块PB091内,并根据步骤24将该新的存储计数器PC091的内容值加--』即变为129,并根据步骤25将最小值存储区块PB091与新的存储区块PB152相互交换地址并抹除PB152所记录的资料,并借步骤26将资料写入最小值存储区块PB152,再由步骤27将最小值存储计数器PB152的值加一而成为7,再由步骤28将最小值存储区块PB091与存储区块PB287相互交换地址,即使该最小值存储区块PB091对应于上开写入逻辑存储区块LB3的地址,再由步骤29将该存储区块PB287内容进行消除,如此即可达到本发明对闪存100的各实体的存储区块PBOPBN的写入效率及寿命提升的功效。上述图4至图6所示本发明的方法流程及操作过程,可以借由软件或程序形态预先烧录于如图1的控制电路A的微处理器A3中,以提供如图4图6的操作功能。在以上图2图6中所示本发明的闪存资料读写寿命提升方法的较佳实施例,仅是本发明的较佳实施例之一而已,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。权利要求1.一种闪存资料读写寿命提升方法,其特征在于,其步骤包含a、内存写入资料,即闪存受一控制电路的资料写入命令控制进行资料写入旧的存储区块中的动作,该闪存中规划有若干实体的存储区块及若干存储计数器,该存储计数器以一对一方式对应各存储区块,且各存储计数器分别记录各实体的存储区块的写入次数,且各存储计数器被规划设定一临界值,该实体的存储区块分别对应若干逻辑存储区块与逻辑空白存储区块;b、检查新的存储计数器记数值是否值是超过计数临界值?即检查步骤a的存储计数器的值是否达到临界值,如果是,进行步骤b1,如果不是则进行步骤c;b1、搜寻存储计数器数组中计数值最小的存储计数器所对应的存储区块,即对步骤a的存储计数器中搜寻最小值存储计数器及其所对应的存储区块;b2、是否无最小值的存储计数器?根据步骤b1搜寻是否无最小值的存储计数器,如果是则进步骤b21,如果不是则进行步骤b3;b21、清除所有的存储计数器值为0,将步骤a的存储计数器全部清除为0,重复步骤b1;b3、复制计数值最小的存储区块内容至新的存储区块内,即将步骤b2所搜寻到的最小值存储计数器所对应的最小值存储区块内容复制至步骤a的一新的存储区块中;b4、递增新的存储区块对应的存储计数器值,即将步骤b3中的新的空白存储区块所对应新的存储计数器值加一;b5、交换计数值最小的存储区块与新的存储区块地址,即将步骤b3中的最小值存储计数器对应的最小值存储区块与步骤b3中的新的存储区块相互交换地址;b6、将资料写入计数值最小的存储区块中,即将步骤a所需写入的资料写入步骤b5中的最小值存储区块中;b7、递增计数值最小的存储计数器内容值,即将步骤b6中的最小值存储区块所对应的最小值存储计数器内容加一;b8、交换计数值最小的存储区块与旧的存储区块的地址,即将该步骤b6中已写入资料的最小值存储区块的地址与步骤a的旧的存储区块的地址交换,使资料被正确写入旧的存储区块的地址;b9、抹除旧的存储区块的内容,即将步骤b8已进行地址交换的旧的存储区块内容抹除而变成新的空白存储区块,并进行步骤g;c、规划新的空白存储区块于保留区块内,即规划一新的空白存储区块于闪存的保留区块中;d、递增对应新的空白存储区块的新的存储计数器内容值,即将该对应步骤c的新的空白存储区块的新的存储计数器的值加一;e、交换旧的存储区块与新的空白存储区块的地址,即将步骤c的新的空白存储区块与旧的存储区块进行地址交换;f、抹除旧的存储区块内容的值在保留区块中,即将步骤e中已交换地址至保留区块的旧的存储区块内容予以抹除;g、闲置,等待下一笔资料写入。2、根据权利要求1所述的闪存资料读写寿命提升方法,其特征在于所述步骤a的存储计数器为闪存规划的计数器数组。3、根据权利要求1所述的闪存资料读写寿命提升方法,其特征在于所述步骤a的该实体的存储区块分别对应若干逻辑存储区块与逻辑空白存储区块。4、根据权利要求1所述的闪存资料读写寿命提升方法,其特征在于所述步骤b8的最小值存储区块的地址对应闪存中的数据写入的逻辑存储区块。全文摘要一种闪存资料读写寿命提升方法,其步骤包含a.内存写入资料;b.检查新的存储计数器记数值是否值是超过计数临界值?c.规划新的空白存储区块于保留区块内;d.递增对应新的空白存储区块的新的存储计数器内容值;e.交换旧的存储区块与新的空白存储区块的地址;f.抹除旧的存储区块内容的值在保留区块中。本发明可以准确计数存储区块读写次数,以便于有效的使用存储区块,使闪存的效能与寿命提升,并可以使闪存的存储区块不论是经常使用或不经常使用皆能达到精确分配与平衡使用的功效。文档编号G06F12/02GK101211314SQ20061017049公开日2008年7月2日申请日期2006年12月31日优先权日2006年12月31日发明者张哲潍,杨政智,魏烽栩申请人:创惟科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1