闪存的数据储存方法

文档序号:6779572阅读:301来源:国知局
专利名称:闪存的数据储存方法
技术领域
本发明涉及闪存,具体涉及闪存的储存方法。
背景技术
近年来,闪存的发展非常迅速,它的运用也日新月异,各式存储
卡、随身碟(Flash drive )都已很普及。然而随着闪存技术日趋成熟, 成本逐日降低,各厂商也开始投入大量资源研究闪存更广泛的运用, 如固态硬盘SSD (Solid-State Disk) 。 SSD是为以闪存作储存媒体的 纯电子硬盘机,该装置依旧保有闪存存取速度快、低耗电、低散热、 重量轻、低震动和耐震动等特点,能够在传统磁性硬盘机无法胜任的 恶劣环境中使用,甚至有取代传统磁性硬盘机的潜力。
但是,闪存本身具有明显的缺点,其使用寿命有一定限制,所述 限制是相对于其数据删除(Erase)的次数而定。目前闪存的可删除数 据的次数因制造厂商的不同而略有出入,平均约在10万次左右,并且 该装置已删除的次数越接近最大极限,闪存内所储存的数据越不稳定。 因此,若不能延长闪存的使用寿命,将会为使用闪存储存装置造成极 大的限制,并提高其置换成本。然而闪存的可删除次数依赖于半导体 制造技术的提高。在目前闪存的制造技术难有突破性进步的前提下, 如何减少闪存的删除次数,成为现阶段延长闪存寿命的最有效方式。
闪存的架构以页面(Page)为基本单位,多个页面组成区块 (Block)。然而,闪存具有在储存时以页面为单位,删除时以区块为 单位执行的特点,由于储存与删除的单位大小区别,将使得删除次数 远高于储存实际所需的次数。例如,当计算机仅想储存一页面大小的 数据,如果该储存指令所指向的页面已被写入有数据并尚未删除时,
则需先将该页面所在的区块整个删除,才能将上述新的数据写入该页 面。然而,该区块中与该新数据无关的页面,无论其中是否已存有数据,皆需被删除。即,为使所述新数据顺利存入,该区块中的所有页
面都皆需被消耗一次的删除次数。例如,区块中包含A、 B、 C三个页 面,且A、 B两页面已被写入数据,若想修改A页面中的数据,或当 储存数据的地址指向A页面时,依照写入前删除(Erase before write ) 的规则,闪存系统需要在删除该区块的内容后才能够将该新数据写入 A页面。如果想修改B页面时,也需要删除该区块内容后才能够将新 数据写入B页面,如此一来,A页面及和B页面均只^皮^修改过一次, 但却要被删除两次,浪费删除的次数。并且空白的C页面始终没有被 使用,却需消耗两次的删除次数,形成不必要的浪费,如此长期使用, 浪费的次数实为可观。
鉴于此数据储存与删除的特点对闪存所造成的影响,目前已相继 提出许多特殊的内存储存方法,希望通过优化闪存内部空间的应用而 减少删除次数,从而达到增长使用寿命的目的。例如美国专利 5,937,425号公开了该技术,该专利所提及的单元(Unit)为本发明中 的区块(Block),而该专利中所提及的区块(Block)等于本发明中 的页面(Page),由于发明人所定义的名词不同,为避免混淆,下述 对,425专利的说明将采用与本发明相同的名称。
图1是上述,425号专利的数据储存示意图,假设该闪存具有多个 区块,图中所示的为其中两个区块,即第一区块(10)及第二区块(20), 而每一区块各包含五页面(10a~10e,20a~20e),当储存指令经计算机 译码后,指向第一区块(10)中的第二页面(10b),而第二页面(10b) 已被写入数据,但尚未被删除时,该发明并不执行先删除再写入数据 到第二页面(10b)的方法,而是另行寻找一个完全空置的第二区块 (20),并在其内找到与第二页面(10b)具有相同偏移量(Offset) 的页面(20b),然后将新数据写入。在完成此次储存后,如果还想写 入另一份数据,系统指向第一区块(10)中的第四页面(10d),而第 四页面(10d)也已被写入数据,但尚未被删除时,如上所述,存储程 序需要找寻另一个完全空置的区块并将想写入的另一份数据写入。这 是因为第二区块(20)虽仅被写入一个页面,尚余四个空白的页面, 但因为已不再完全空置,无法让第二份数据写入,因此必须再寻找一个完全空置的第三区块(30),将第二份数据写入第三区块(30)中, 所写入的地址应与该第一区块(10)中的第四页面(10d)具有相同偏 移量的页面(30d)。
上述方法虽然能够降低各区块的平均删除次数,但仍有不足之处, 即使用该方法时,闪存储存空间的利用率极低。如上述的例子,当第 一份数据写入第二区块(20)的第二页面(20b)后,虽然第二区块(20) 中的其它页面(10a,10c 10e)尚未被写入,但第二区块(20)仍会因 其已非完全空置,而被系统视为无法使用(Unavailable),致使在下 次寻找时被跳过。也就是说,不论已用区块中剩余多少空白页面,只 要该区块中的任何一页面被写入一次,该区块只能等待删除后才可运 用其余空白的页面。假设区块是由五十个页面所共同组成,若其中仅 一个页面被写入数据,则其余四十九个空白页面都将被空置而无法使 用,并在重整时分别浪费一次的删除次数。如此的闪存空间运用,相 当不恰当,由此可见,此方法并非最有效率的储存方法,仍有可改进 的空间及必要。

发明内容
本发明的主要目的是提供一种闪存的数据储存方法,该方法能够 有效地分配内存内部的空间并加以管理,提高数据储存与重整的效率, 并降低内存的删除次数,延长闪存的使用寿命。
本发明提供一种闪存的数据储存方法,其特征包括
a) 划分至少两个由主要区块与替代区块所组成的存储区段,其中 所述区块由多个页面所组成;
b) 当主要区块中被指向的页面已被写入数据但尚未删除时,先将 数据写入替代区块中;
c) 当系统发出重整指令时,储存在所述区段内的数据将被复制到 其它空白区段内并进行重整;
d) 在执行完步骤c后,将原始区段予以删除;以及,
e) 在执行完步骤c后,将重整后的数据由暂存的区段存回所述原 始区段中。本发明所提出的方法,不但可有效运用闪存内部的空间,并在储 存、重整时的管理也有条不紊,确实可达到提高效率、降低删除率的 目。


图1是现有技术的数据储存示意图2是根据本发明闪存储存方法的一种优选的实施方式示例的流 程图3A和3B是根据本发明闪存储存方法的另 一种优选的实施方式 示例的示意图4是根据本发明闪存储存方法的又一种优选的实施方式示例的 流程图;以及,
图5是根据本发明闪存储存方法的又一种优选的实施方式示例的 示意图。
组件代表符号
10…第一区块 20…第二区块 30…第三区块 4…区段 5…主要区块 6…第一替代区块 7…第二替代区块 S11 S15, S21 S2具体实施例方式
有关本发明的技术内容,现结合

如下
图2是根据本发明闪存储存方法的 一种优选的实施方式示例的流 程图,该实施方式将内存划分成多个区段(Zone),而这些区段是由 主要区块与替代区块所组成(S11),每一区块又由多个页面所组成。
10a 10e…第一区块的第一页面至第五页面 20a 20e…第二区块的第一页面至第五页面 30a 30e…第三区块的第一页面至第五页面
51 55…主要区块内的页面 61~65:第一替代区块内的页面 8…空白区段 步骤当计算机下达逻辑寻址指令LBA (Logical Block Addressing)时,该 LBA指令经译码后指向某区段内的主要区块(Block)中的某页面
(Page),如果该页面已经被写入数据,但尚未被删除,系统将新数 据写入同一区段内的替代区块中的任一空白页面(S12),由替代区块 中的页面取代主要区块中的页面,而当又一份储存数据所指向的页面 仍为已被写入但尚未被删除的状态时,以同样的方式在同一区段内的 替代区块中的其它空白页面将又一份数据写入。
当区段内的替代区块的全部页面都被写满,或是系统处于闲置
(Idle)状态时,将储存在该区段内的那些主要区块与那些替代区块中 的数据复制至另一空白区段中并进行重整(S13),在数据全部复制并 重整完毕后,将原始区段删除(S14),清空原储存数据。当原始区段 删除完毕后,将上述暂存至其它空白区段并重整过后的数据,再行存 回原始区段内(S15)。当然,也可在将原始区段删除(S14)前,即 将该些重整过后的数据存回该原始区段内(S15),本领域技术人员应 该理解上述方法并非固定的步骤,应根据使用目的而加以变换,本实 施方式为依优选的顺序所描述的优选实施方式,并不对本发明加以限 制。
图3 A和3B是根据本发明闪存储存方法的另一种优选的实施方式 示实例的示意图。如图3A所示,区段4中包括多个主要区块5及多 个替代区块6,为便于解释本发明,此处仅分别标示一个区块大小的 示图并加以描述。本实施方式中假设各区块皆由五个页面51~55、 61~65所组成,当第一数据欲写入区段4内的主要区块5中,但其所 指向的第二页面52已被写入数据但尚未被删除时,不进行删除就将第 一数据写入主要区块5中的第二页面52,是通过将第一数据写入同一 区段4内的替代区块6中的任一空白页面而完成的,在本实施方式中 是将第一份数据将写入替代区块6中的第一页面61。而要写入第二数 据时,系统所指的主要区块5内的第四页面54也已被写入数据但尚未 被删除,系统将第二数据写入同一区段4内的替代区块6中除第一页 面61外的任一空白页面即可。当该区段4内的替代区块6中的页面都 被写满时,如图3B所示,只需另行找寻一个空白的区段8,将原始区段4中的数据全部复制到所述的空白区段8并加以重整即可。在本实 施方式中的数据共为四份,当数据全数复制完毕后,将原区段4删除, 从而清空原储存数据,使其还原为空置的区段,再将该些重整过后的 数据存回原始区段4中。
上述的方法,可有效地运用替代区块内的所有页面,致使内存的 删除周期(Erase cycle)得以延长,有效降底内存的删除率。
图4是根据本发明的闪存储存方法的又一种优选的实施方式示例 的流程图,其流程大致与图2所示的流程类似。不同之处在于,此实 施方式中的区段是由主要区块、第一替代区块,第二替代区块三者共 同组成S21,其中第一替代区块与上述实施方式中所描述的替代区块 相同,用于供所需空间较小的档案以页面为单位一页一页写入,而第 二替代区块提供所需空间大小近似或等于一个区块的连续性档案并以 区块为单位连续写入。数据写入前,系统先要判断写入该数据所需的 空间大小S22,若所需的空间较小,仅需几个页面的空间S22N,执行 步骤S22a,步骤S22a与第二图中的步骤(S12)相同。但如果该份数 据为连续性档案,或其所需的空间大小相当于一整块的区块S22Y时, 执行步骤S22b,即将该份连续性档案存入第二替代区块内, 一次写入 一整区块,而不是如步骤S22a与步骤S12那样为分页写入内存。此机 制的优点在于,当写入的数据是需要的空间较大的连续性档案时,系 统将会该份数以区块为单位(即多个连续的页面)整份连续写入,降 低储存与重整时所需花费的时间,并在系统闲置,或第一替代区块、 第二替代区块其中之一被写满时,再进行重整动作S23。
图5是根据本发明的闪存储存方法的又一种优选的实施方式示例 的示意图,区段4分为主要区块5、第一替代区块6及第二替代区块7。 如上一实施方式所述,本图也仅分别标示一区块大小的视图并加以描 述。假设各该区块都是由五个页面51 55、 61~65组成,当第三数据想 写入主要区块5内的第一页面51,而且该第三数据存入所需空间的大 小将近一区块时,虽然第一页面51内并没有写入数据,但第二页面 52内已被写入数据并尚未被删除,由于该页面51~55所共同组成的区 块5并非完全空置,因此第三数据无法连续写入区块5中。此时系统将会第三数据储存到同一区段4内的第二替代区块7中。因为第三数 据是以区块为单位连续地存入第二替代区块7,并非如图3中的实施 方式那样以页面为单位一页一页存入第一替代区块6,此做法可使连 续性档案的储存与重整时间皆缩短,从而提高非常高的效率。
经过实验,当本发明的主要区块5、第一替代区块6、第二替代 区块7的比例为64: 8: 1时,最适合用于需要经常进行存取动作的闪 存,例如用于存放系统文件的闪存。而主要区块5、第一替代区块6、 第二替代区块7为128: 4: l的比率,则最适合用于储存一般数据的 闪存。本领域技术人员可以理解,此实验数据仅为优选比例的说明, 并非固定不变,实用时应该#4居需求而加以变化。
以上所述仅为本发明的优选实施方案,并非因此即限制本发明的专 利范围,凡是在本发明特征范围内所作的其它等效变化或修饰,均应包 括在本发明的范围内。
权利要求
1. 一种闪存的数据储存方法,其特征在于,包括如下步骤a)划分至少两个由主要区块与替代区块所组成的存储区段,其中所述区块由多个页面所组成;b)当主要区块中被指向的页面已被写入数据但尚未删除时,先将数据写入替代区块中;c)当系统发出重整指令时,储存在所述区段内的数据将被复制到其它空白区段内并进行重整;d)在执行完步骤c后,将原始区段予以删除;以及,e)在执行完步骤c后,将重整后的数据由暂存的区段存回所述原始区段中。
2. 如权利要求1所述的闪存的数据储存方法,其特征在于,所述 步骤c中的所述重整指令在所述替代区块被写满时发出。
3. 如权利要求1所述的闪存的数据储存方法,其特征在于,所述 步骤c中的所述重整指令在所述系统闲置时发出。
4. 一种闪存的数据储存方法,其特征在于,包括如下步骤a) 划分至少两个由主要区块、第一替代区块与第二替代区块所组 成的存储区段,其中所述区块由多个页面组成;b) 数据写入前,判断所述数据是否符合第二替代区块的使用条件;c) 当条件符合,并且主要区块中被指向的页面已被写入数据但尚 未删除时,将数据写入第二替代区块中;d) 当条件不符合,并且主要区块中被指向的页面已被写入数据但 尚未删除时,将数据写入第一替代区块中;e) 当系统发出重整指令时,将储存在所述区段内的数据复制到其 它空白区段内并进行重整;f) 在执行完步骤e后,将原始区段予以删除;g)在执行完步骤e后,将重整后的所述数据由暂存的区段存回所 述原始区段中。
5. 如权利要求4所述的闪存的数据储存方法,其特征在于,所述 步骤e中的重整指令是在所述第一替代区块被写满时发出。
6. 如权利要求4所述的闪存的数据储存方法,其特征在于,所述 步骤e中的重整指令是在所述第二替代区块被写满时发出。
7. 如权利要求4所述的闪存的数据储存方法,其特征在于,所述 步骤e中的重整指令是在所述系统闲置时发出。
全文摘要
一种闪存的数据储存方法,所述方法将内存分割成多个由主要区块与替代区块所组成的区段。在写入数据时,如果储存地址指向主要区块中的某一页面,而该页面已被写入但尚未被删除时,本发明将该数据写入到同一区段的替代区块中的任一个空白页面,在系统闲置,或替代区块被写满时,本发明将储存在该区段的主要区块与替代区块内的数据复制到另一空白区段进行重整,然后再将原始区段进行删除动作,最后将重整后的数据存回原始区段内。
文档编号G11C16/06GK101419840SQ20071016561
公开日2009年4月29日 申请日期2007年10月23日 优先权日2007年10月23日
发明者王锦源, 程威得, 陈明胜 申请人:宇瞻科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1