令随机存取闪存最佳效能的控制方法

文档序号:6421051阅读:243来源:国知局
专利名称:令随机存取闪存最佳效能的控制方法
技术领域
本发明为一种令随机存取闪存达最佳效能的控制方法,尤指该方法提供一种以页(Page)或以区块(Block)为单位,对该闪存进行数据存取的设置方法。
背景技术
一般传统闪存(Flash)的存取方式,受限于快闪存储器本身结构设计的关系,在读取时只能以一个页(Page)为单位,从各页内的任一地址开始读取数据。在写入时,则须以区块(Block)为单位,先删除(Erase)整个区块后,才能逐页写入(Page by Page)。这样一来在处理容量小于一个区块的数据时必须受限于闪存的结构,来设定存取的方式。
由于闪存的物理特性,该闪存中必须不含任何数据,才能将相当一个扇区(Sector)的数据,完完整整的写到该闪存一个页中,所以,于该页中写入数据时,就得先确定这个页是″空″的,所谓″空″的就是说这个页原本的数据都是″1″。以往对闪存的管理是以区块(Block)为单位,所以若要写数据到区块里其中一个页(Page)中时,为了方便及安全起见,就得于闪存中找出一个无任何数据的新区块(也称为备用的区块)来,将此数据写入该新区块相对的页中,而原来旧区块的数据就完完整整的搬到该新区块中,再将旧区块删除(Erase)掉,以当成另一个新的区块。
若处理的数据容量大小为连续好几个区块时,则于闪存中找出一个新区块来,将要写入的数据逐个写到相对的页中,等到所有的数据都写完后,再将旧区块原有数据搬到新区块相对页中,之后再将旧区块删除掉。由于主机(如计算机、读卡机、手机等)常会不断地更新闪存的档案配置表(FAT),且若拷贝的数据都是一些小档案的话,这时对闪存而言一次也不过处理几个页的数据,但闪存就得不断地找一个新的区块出来,并不断地将旧区块里的数据搬到新的区块去,及不断地对旧的区块做删除。
基于闪存的物理特性,对闪存作删除的动作超过一百万次后,会容易造成闪存内部的损毁,所以要延长闪存的寿命,就得减少对闪存做删除的动作。由此,利用以往现有区块为单位来管理闪存,闪存的破坏率相较于以页为单位来管理会高出很多。

发明内容
发明人有鉴于前述现有以区块为单位来管理闪存的方法,容易造成闪存内部的损毁的缺陷,乃依其从事电子元件、电子装置的制造经验和技术累积,针对上述缺陷悉心研究各种解决的方法,在经过不断地研究、实验与改良后,终于开发设计出一种全新的令随机存取闪存达最佳效能的控制方法的发明,该方法能加快写入的速度,并减少对该闪存做删除的动作,以解决现有技术中的许多缺陷。
本发明的主要目的,提供一种以页(Page)或以区块(Block)为单位,对该闪存进行数据存取的设置方法,当一主机(如计算机、读卡机、手机等)于该闪存中进行数据的写入时,能依据此数据的容量大小,计算以区块为单位的删除、搬移数据的时间及次数,以及计算以页为单位的删除、搬移数据的时间及次数,再根据上述计算的数据,选择一种最佳的写入方式,达成可加快写入的速度的目的,并减少对该闪存做删除的动作,令该闪存得以延长使用寿命的目的。


图1本发明的整体系统结构图。
图2本发明以页为基本存取单位的闪存结构图。
图3本发明进行删除的时序图。
图4本发明以页为单位进行写入的时序图。
图5本发明作页删除的示意图。
图6本发明以页为单位的写入示意图。
图7本发明以区块为单位进行写入数据的示意图之一。
图8本发明以区块为单位进行写入数据的示意图之二。
图9本发明以区块为单位进行写入数据的示意图之三。
图10本发明以区块为单位进行写入数据的示意图之四。
图11本发明以区块为单位进行写入数据的示意图之五。
图中符号说明11单芯片闪存控制器12闪存13主机接口14主机15程序内存具体实施方式
为能对本发明的目的、形状、构造装置特征及其功效,做更进一步的认识与了解,将以实施例配合附图,详细说明如下本发明乃有关于一种令随机存取闪存达最佳效能的控制方法,该方法提供一种以页(Page)或以区块(Block)为单位,对该闪存进行数据存取的设置方法,当一主机(如计算机、读卡机、手机等)于该闪存中进行数据的写入时,能依据此数据的容量大小,计算以区块为单位的删除、搬移数据的时间及次数,以及依据此数据的容量大小,计算以页为单位的删除、搬移数据的时间及次数,再根据上述计算的数据,选择一种最佳的写入方式,若以区块为单位的删除次数少且搬移数据时间速度快,就选择以区块为单位进行该数据的写入,若以页为单位的删除次数少且搬移数据时间速度快,就选择以页为单位进行该数据的写入,达到可加快写入的速度的目的,并减少对该闪存做删除(Erase)的动作的目的,令该闪存得以延长使用寿命。
请参阅图1所示,本发明的整体系统结构图,该系统包括一单芯片闪存控制器11、一闪存12、一主机接口13及一主机14,其中单芯片闪存控制器11与闪存12相连接,并透过主机接口13与主机14(如计算机、读卡机、手机等)相接,令该主机14可操控该单芯片闪存控制器11自该闪存12中存取数据,而该单芯片闪存控制器11内嵌或外挂一程序内存15,俾该单芯片闪存控制器11可依该程序内存15事先设定的程序,执行对该闪存12的存取动作。
在该发明中,请参阅图2所示,以页为基本存取单位的新型闪存结构图,当每次在写入之前都会对页/区块作删除的动作,其中删除的时序如图3所示,而写入是以页为单位,写入的时序如图4所示。
在该发明中,请参阅图1、5、6所示,本发明的方法可根据欲写入数据容量的页数多少,来决定是否要用新的区块(备用的区块)来存放新的数据,亦或直接删除(Erase)欲更改的页51(Page),使这个页51变成″空″的之后(如图5所示),再将新的数据写到这个新的页51中(如图6所示),以减少删除的动作,免除闪存12的损毁,及延长闪存12的使用寿命。
再者,根据规格书上的特性,区块删除(Block Erase)的时间是4毫秒(ms),页删除(Page Erase)的时间也是4毫秒(ms)。而页写入数据的时间是200微秒(μs)以一个区块(Block)共有32个页(Page),故区块写入数据(Block Program)的时间就是页写入数据(PageProgram)的时间乘以32(即200微秒×32)等于6.4毫秒(ms),而页数据读出(Page read)的时间是5微秒(μs)(First byte latency)加上50奈秒(ns)乘以528等于31.4微秒(μs),所以,依以往如果以区块(Block)为单位的管理方式,如只是要更改区块(Block)里的某一个页(Page),除了新的页(Page)的数据是由外部控制器所输入,其余31个页(Page)的数据都需由旧的区块(Block)搬到新的区块(Block)去(如图7、8、9、10、11所示),共至少需要区块删除(Block Erase)乘1加上页数据读出(Page read)乘31加上页数据写入(Page Program)乘32等于11.37毫秒(ms),但以页(Page)为单位的管理时(如图5、6所示),只需要一个页删除(Page Erase)加上一个页数据写入(Page Program)等于4.2毫秒(ms),省去了其它31个页(Page)从旧的区块(Block)搬到新的区块(Block)的时间。
但由于页删除(Page Erase)和区块删除(Block Erase)的时间相等,都是4毫秒(ms),因此若32个页(Page)的数据都和原来的数据不同,需全部删除(Erase)时,都只用页删除(Page Erase)的方式来处理,反而需要页删除(Page Erase)乘32加上页数据写入(PageProgram)乘32等于134.4毫秒(ms),比用区块(Block)方式需一个区块删除(Block Erase)加上页数据写入(Page Program)乘32等于10.4毫秒(ms)多出甚多,因此何时需要以页删除(Page Erase)来处理,何时需要以区块删除(Block Erase)来处理,必须要视闪存12(Flash Memory)中的规格上页数据写入(PageProgram)的时间、页删除(Page Erase)的时间、页数据读出(Page read)的时间以及区块删除(Block Erase)的时间来决定。存取的页(Page)少时,以页删除(Page Erase)来做较有利,存取页(Page)数目多时,以区块删除(Block Erase)来处理较省时。
而这个多与少的个数如何决定呢?我们可以假设各时间的变量,来计算出在存取几个页(Page)以何种方式可得到最有利的结果首先,假设页数据读出(Page read)的时间是pr、页数据写入(Page Program)的时间是pp、页删除(Page Erase)的时间是pe,区块删除(Block Erase)的时间是be,则以页删除(Page Erase)的方式存取若干个(N个)页(Page)所花的时间是pe×N+pp×N,另外,以区块删除(Block Erase)方式存取所花的时间为be×1+pr×(32-N)+pp×32;两相比较,欲使页删除(Page Erase)的时间少于区块删除(Block Erase)的时间pe×N+pp×N<be×1+pr×(32-N)+pp×32代入此闪存12(Flash Memory)的参数,pe=4ms,pp=200μs,pr=31.4μs,be=4ms可计算出N<2.6时使用页删除(Page Erase)的方式,可以得到较佳的效能,其原因是因为此闪存12(Flash Memory)在页删除(Page Erase)的时间和区块删除(BlockErase)的时间相同,若未来有新的规格的闪存页删除(Flash Memory Page Erase)的时间低于区块删除(Block Erase)的时间,即可提高N值,使管理闪存(Flash Memory)的弹性更大。
以上所述,仅为本发明最佳具体实施例,本发明的构造特征并不局限于此,任何熟悉该技艺者在本发明领域内,可轻易思及的变化或修饰,皆可涵盖在所述的专利范围内。
权利要求
1.一种令随机存取闪存达最佳效能的控制方法,该方法提供一种以页或以区块为单位,对该闪存进行数据存取的设置方法,其特征在于当一主机于该闪存中进行数据的写入时,能依据此数据的容量大小,计算以区块为单位的数据删除、页数据读出、页数据写入的时间及次数;并依据此数据的容量大小,计算以页为单位的页数据删除、页数据写入的时间及次数;再根据上述计算的数据,选择一种最佳的写入方式;若以区块为单位的删除次数少且搬移数据时间速度快,就选择以区块为单位进行该数据的写入;若以页为单位的删除次数少且搬移数据时间速度快,就选择以页为单位进行该数据的写入。
2.如权利要求1所述的令随机存取闪存达最佳效能的控制方法,其中,该页数据读出的时间是pr、页数据写入的时间是pp、页删除的时间是pe,区块删除的时间是be,则以页删除的方式存取若干个(N个)页所花的时间是pe×N+pp×N,而以区块删除方式存取所花的时间则为be×1+pr×(32-N)+pp×32。
3.如权利要求1所述的令随机存取快闪记忆体达最佳效能的控制方法,其中该主机可为一计算机、读卡机或手机。
全文摘要
本发明涉及一种令随机存取闪存达最佳效能的控制方法,该方法提供一种以页(Page)或以区块(Block)为单位,对该闪存进行数据存取的设置方法,当一主机(如计算机、读卡机、手机等)于该闪存中进行数据的写入时,能依据此数据的容量大小,来选择以逐页写入该数据,或者选择以区块为单位进行该数据的写入,达成可加快写入的目的,并减少对该闪存做删除(Erase)的动作,令该闪存得以延长使用寿命。
文档编号G06F12/00GK1619507SQ20031011967
公开日2005年5月25日 申请日期2003年11月21日 优先权日2003年11月21日
发明者梁鸣仁, 欧阳志光 申请人:群联电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1