闪存控制装置及其存取方法

文档序号:6580313阅读:111来源:国知局
专利名称:闪存控制装置及其存取方法
技术领域
本发明涉及一种闪存控制装置及其存取方法,尤其涉及一种闪存损耗平均(wear leveling)的存取方法。
背景技术
闪存(flash memory)是一种可程式(programmable)的只读存储器(read only memory, ROM),其允许被多次的抹除并更新所储存的数据。这种闪存在现今的电子产 品中的应用非常广泛,常见于存储卡及随身碟等作为数字电子产品间交换数据的媒介。
通常,闪存被划分成多个区块(block),而每一个区块中又被细分为许多容量相 同的页(Piige)。在此,闪存存在着一个限制,就是在当对闪存进行数据的更新时,必须 针对要被更新的地址所在的区块进行抹除的动作后,再把新的数据写入。而针对闪存进 行数据抹除是有一定的寿命(抹除次数)限制。并且,闪存有一个特性就是闪存中的每 一个区块的寿命都是独立的。为了有效提升闪存的使用寿命,现有技术提出一种所谓的 损耗平均(wearleveling)的技术来使每个区块的抹除次数能够较为平均。
请参照图1 图3,图1 图3为现有的闪存的损耗平均存取方法的示意图。 如图1所示,闪存Iio依据其实体地址PBAO PBA767分成3个分区,其中,实体地址 PBAO PBA255为第一分区DIV0,实体地址PBA256 PBA511为第二分区DIVl,而 实体地址PBA512 PBA767为第三分区DIV2。然后,针对第一分区DIVO依据逻辑地 址LBAO LBA255建立对应查找表120。由于第一分区DIVO包括256个区块(每一个 实体地址表示对应一个区块)。其中,对应查找表120储存的数据代表逻辑地址及实体地 址的对应关系。在图1中,逻辑地址LBAO与实体地址PBAO相对应。
接着请参照图2,现有的损耗平均技术还包括建立空白队列区130,空白队列区 130记录未被写入数据的区块的实体地址。如图2所示,图示左侧的对应查找表120皆为 空白(未被写入),而图示左侧的空白队列区130则记录出所有的实体地址PBAO PBAN 皆为空白。然而在执行存取命令210后,由于逻辑地址LBAO LBA2要被写入,因此, 闪存依据空白队列区130的记录提供实体地址ΡΒΑ0、PBAU PBA2分别对应逻辑地址 LBAO, LBAU LBA2以储存数据。也因此,图示右侧的对应查找表120对应逻辑地址 LBAO, LBAU LBA2的储存字段分别存入实体地址ΡΒΑ0、PBAU PBA2。而图示右侧 的空白队列区130也移除了原先实体地址ΡΒΑ0、PBAU PBA2的记录。
接着继续参照图3,此时执行存取命令310以针对逻辑地址LBA1、LBA2进行 数据的更新。依据空白队列区130(如图示左侧)来提供实体地址PBA3、PBA4来存入 要更新至逻辑地址LBA1、LBA2的数据。并且将实体地址ΡΒΑ0、PBAl清除,并加入 空白队列区130(如图示右侧)。
此种现有的损耗平均技术因为对应查找表120与闪存的实体地址必须一对一存 在,而需要相当大的存储空间,而空白队列区130也需要多的存储空间。换言之,此种 现有的损耗平均技术是需要较高的成本的。发明内容
本发明提供一种闪存存取方法,有效平均分配闪存中的各区块的被更新次数。
本发明提供一种闪存控制装置,有效平均分配闪存中的各区块的被更新次数。
本发明提出一种闪存存取方法,首先依据闪存的多个实体地址分割闪存为至少 一个节区。接着,针对节区分割出数据储存区及空白队列区。然后依据闪存的多个逻辑 地址建立对应查找表,其中的对应查找表中包括多个储存字段,用以储存数据储存区的 实体地址。并且,接收存取命令,其中的存取命令针对目标逻辑地址写入存入数据。最 后,写入存入数据至空白队列区中的数据区块,并把对应查找表中对应目标逻辑地址的 储存字段的原始实体地址更新为数据区块的实体地址。
在本发明一实施例中,上述的闪存存取方法还包括清除已被移至新增空白区块 的数据储存区所对应原始实体地址。
在本发明一实施例中,上述的空白队列区具有优先存取顺序,且数据区块的优 先存取顺序为最高。
在本发明一实施例中,上述的闪存存取方法还包括增加新增空白区块至空白队 列区中,且新增空白区块的优先存取顺序为最低。
在本发明一实施例中,上述的闪存存取方法还包括自空白队列区中移除数据区块。
在本发明一实施例中,上述的对应查找表建立在储存装置中。
在本发明一实施例中,上述的储存装置为静态内存或动态内存。
在本发明一实施例中,上述的闪存存取方法还包括动态调整数据储存区及空白 队列区的存储容量。
本发明提出一种存取闪存的闪存控制装置,包括控制器以及储存装置。控制器 耦接闪存,控制器依据闪存的多个实体地址分割闪存为至少一节区,并且针对节区分割 出数据储存区及空白队列区。储存装置耦接该控制器,用以依据闪存的多个逻辑地址建 立对应查找表。其中对应查找表中包括多个储存字段,用以储存数据储存区的实体地 址。其中,当控制器接收到存取命令,而此存取命令针对目标逻辑地址写入存入数据 时,控制器写入存入数据至空白队列区中的数据区块,并把对应查找表中对应目标逻辑 地址的储存字段的原始实体地址更新为数据区块的实体地址。
在本发明一实施例中,上述的闪存控制装置还包括耦接控制器的传输接口,用 以接收存取命令。
基于上述,本发明利用预先设定好的对应查找表以及由闪存的节区中分割出的 空白队列区来进行闪存中的数据更新。有效的平均分配闪存的各区块的更新次数。并 且,不需要与闪存的总容量相等的对应查找表,有效节省对应查找表的面积,进而降低 成本。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图 式作详细说明如下。


图1 图3为现有的闪存的损耗平均存取方法的示意图。图4为本发明的闪存存取方法的一实施例的动作流程图。 图5A 图5B以及图6为本发明的闪存存取方法的实施例的动作示意图< 图7为本发明的一实施例的闪存控制装置700。 主要附图标记说明110、510、740 闪存; 130、512 空白队列区; 210、310、610 存取命令 700闪存控制装置; 720 储存装置;120、520 对应查找表; 511 数据储存区; 5121:新增空白区块; 710 控制器; 730 传输接口 ;STO ST39!35 储存字段;PBAO PBA8191、PBAN、PBAX 实体地址;DIVO DIV2 分区;SEGO、SEGl 节区;LBAO LBA255、LBAN、LBAm、LDIVO、LDIVl5 逻辑地址;S410 S450 闪存存取方法的步骤。
具体实施方式
以下请参照图4,图4为本发明的闪存存取方法的一实施例的动作流程图。并请 同时参照图5A 图5B以及图6,图5A 图5B以及图6为本发明的闪存存取方法的实施 例的动作示意图。在本实施例中,其步骤包括首先,依据闪存的多个实体地址分割闪 存为至少一节区6410)。如图5A所示,闪存510具有实体地址PBAO PBA8191,而 在本实施例中,依据每4096个区块(每一个实体地址对应一个区块)分割为一个节区。 也就是说,PBAO PBA4095分割为节区SEGO,而PBA4096 PBA8191分割为节区 SEGl0在此请特别注意,节区的数目不一定要与本实施例相同为2个。在本发明中, 节区的数目可依据实际的状况(例如对应查找表的存储容量)来区分,而至少为1个。
接着,则再针对节区分割出数据储存区以及空白队列区6420)。如图5A所示, 节区SEGO则被分割为数据储存区511以及空白队列区512。其中,在本实施例中的数据 储存区511包括实体地址PBAO PBA3935,而空白队列区512则如同图5B所示的包括 实体地址PBA3936 PBA4095。在此请注意,图5A、图5B所示的数据储存区511以及 空白队列区512的划分仅只是一个范例,并不限制数据储存区511以及空白队列区512所 包括的实体地址的范围。事实上,数据储存区511以及空白队列区512的分割方式是可 以动态调整的。
然后,依据闪存的多个逻辑地址建立对应查找表,其中对应查找表中包括多个 储存字段,用以储存数据储存区的实体地址6430)。如图5A所示,对应查找表520是 依据闪存510的逻辑地址LDIVO的LBAO LBA245至LDIV15的LBAO LBA245来建 立的。对应查找表520包括储存字段STO ST3935,其中的每一个储存字段都储存数据 储存区511中的各个实体地址PBAO PBA3935。举例来说,对应查找表520中对应逻 辑地址LDIVO的LBAO的储存字段STO所储存的数据为实体地址ΡΒΑ0,表示逻辑地址 LDIVO的LBAO与实体地址PBAO相对应。还表示当要对闪存510的逻辑地址LDIVO的 LBAO进行存取时,实际上是对闪存510的实体地址PBAO进行存取。
在此,对应查找表520是被建立在一个储存装置中,而这个储存装置可以是动 态内存或是静态内存。
请重新参照图4,当接收到一个针对闪存的目标逻辑地址写入存入数据的存取命 令时6440),则写入存入数据至空白队列区中的数据区块,并把对应查找表中对应目标 逻辑地址的储存字段的原始实体地址更新为数据区块的实体地址6450)。也就是说,请 参照图6,在接收存入数据的存取命令610前,对应查找表520储存数据储存区511的实 体地址PBAO PBA39!35,且空白队列区512则包括实体地址PBA3936 PBA4095。当 接收到要针对逻辑地址LBAO存入数据的存取命令610后,空白队列区512中的其中一个 数据区块(实体地址为PBA3936的区块)则提供用来写入存入数据。同时,对应查找表 520中对应逻辑地址LDIVO的LBAO中的储存字段的原始实体地址(为实体地址ΡΒΑ0) 也被更新为实体地址PBA3936。
这样一来,执行存取命令610后的对应查找表520中,对应逻辑地址LDIVO的 LBAO的储存字段所记录的为实体地址PBA3936,也就是说,逻辑地址LDIVO的LBAO在 执行存取命令610后变更为与实体地址相对应。另外,执行存取命令610前的空白队列 区512中为实体地址PBA3936的区块,在执行存取命令610后也由空白队列区512中移除。
请特别注意,在执行存取命令610后,实体地址PBAO的区块因为已经没有任何 逻辑地址与之对应,因此,实体地址PBAO的区块可以被清除为空白而成为新增空白区块 5121,并将上述的新增空白区块5121加入至空白队列区512中。
另外,为了可以有顺序的由空白队列区512中选择出区块来提供存入命令写入 存入数据。空白队列区512具有优先存取顺序。如图6所示,空白队列区512越左边的 区块,其优先存取顺序越高。相反的,空白队列区512越右边的区块,其优先存取顺序 则越低。并且,当需要由空白队列区512提供区块来进行写入存入数据时,所被选择出 的数据区块为空白队列区512中优先存取顺序最高者。而新加入的新增空白区块的优先 存取顺序则为最低。
由上述说明不难发现,本实施例有效的平均分散各实体地址的区块的清除更新 动作,达成损耗平均的需求。
以下则针对本发明的用以存取闪存的闪存控制装置提出一实施例来加以说明, 以使本领域技术人员都可以轻易了解并实施本发明。
请参照图7,图7为本发明的一实施例的闪存控制装置700。闪存控制装置700 耦接闪存740,并对闪存740进行存取控制。闪存控制装置700包括控制器710、储存装 置720以及传输接口 730。其中,控制器710耦接至闪存740。且控制器710依据闪存 740的多个实体地址来分割闪存为至少一个节区,控制器710并且针对节区分割出数据储 存区及空白队列区。
储存装置720则耦接控制器710。储存装置720用以依据闪存的多个逻辑地址建 立对应查找表,其中的对应查找表中包括多个储存字段。这些储存字段则用来储存数据 储存区的实体地址。
此外,当控制器710接收到针对目标逻辑地址写入存入数据的存取命令时,控 制器710写入存入数据至空白队列区中的数据区块,并把对应查找表中对应目标逻辑地址的储存字段的原始实体地址更新为数据区块的实体地址。另外,控制器710还清除数 据储存区中对应原始实体地址的新增空白区块及增加新增空白区块至空白队列区中。而 上述的数据区块则由空白队列区中移除。
上述关于闪存控制装置700的动作细节在本发明的闪存存取方法的实施例的说 明中已经有详细的介绍。因此,此处不再对闪存控制装置700的动作细节进行重复说 明。
值得注意的是,闪存控制装置700还包括有传输接口 730。传输接口 730耦接控 制器710,用以接收使用者对闪存740所传送的存取命令。当然,传输接口 730也可以用 来传输存入闪存740或由闪存740读出的数据。这种传输接口的功能及建构方式,为本 领域技术人员所熟知的技术,在此不再赘述。
综上所述,本发明利用设定好的对应查找表以及由闪存中分割出的空白队列区 来进行闪存的数据更新动作。并不需要与闪存的实体地址一对一的对应查找表,也不需 要额外的存储器来建立空白队列区。有效的在最小的电路面积下,达成闪存的损耗平均 的存取动作。
最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制; 尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其 依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等 同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方 案的精神和范围。
权利要求
1.一种闪存存取方法,包括依据该闪存的多个实体地址分割该闪存为至少一节区; 针对该节区分割出一数据储存区及一空白队列区;依据该闪存的多个逻辑地址建立一对应查找表,其中该对应查找表中包括多个储存 字段,用以储存该数据储存区的所述实体地址;接收一存取命令,其中该存取命令针对一目标逻辑地址写入一存入数据;以及 写入该存入数据至该空白队列区中的一数据区块,并把该对应查找表中对应该目标 逻辑地址的该储存字段的一原始实体地址更新为该数据区块的实体地址。
2.根据权利要求1所述的闪存存取方法,其中还包括 清除该数据储存区中对应该原始实体地址的一新增空白区块。
3.根据权利要求2所述的闪存存取方法,其中该空白队列区具有一优先存取顺序,且 该数据区块的该优先存取顺序为最高。
4.根据权利要求3所述的闪存存取方法,其中还包括增加该新增空白区块至该空白队列区中,且该新增空白区块的该优先存取顺序为最低。
5.根据权利要求1所述的闪存存取方法,其中还包括 从该空白队列区中移除该数据区块。
6.根据权利要求1所述的闪存存取方法,其中该对应查找表建立在一储存装置中。
7.根据权利要求6所述的闪存存取方法,其中该储存装置为静态内存或动态内存。
8.根据权利要求1所述的闪存存取方法,其中还包括 动态调整该数据储存区及该空白队列区的存储容量。
9.一种闪存控制装置,用以存取一闪存,包括一控制器,耦接该闪存,该控制器依据该闪存的多个实体地址分割该闪存为至少一 节区,并且针对该节区分割出一数据储存区及一空白队列区;以及一储存装置,耦接该控制器,用以依据该闪存的多个逻辑地址建立一对应查找表, 其中该对应查找表中包括多个储存字段,所述储存字段用以储存该数据储存区的所述实 体地址;其中,当该控制器接收到一存取命令,而该存取命令针对该目标逻辑地址写入该 存入数据时,该控制器写入该存入数据至该空白队列区中的一数据区块,并把该对应查 找表中对应该目标逻辑地址的该储存字段的一原始实体地址更新为该数据区块的实体地址。
10.根据权利要求9所述的闪存控制装置,其中该控制器还包括 清除该数据储存区中对应该原始实体地址的一新增空白区块。
11.根据权利要求10所述的闪存控制装置,其中该空白队列区具有一优先存取顺序, 且该数据区块的该优先存取顺序为最高。
12.根据权利要求11所述的闪存控制装置,其中该控制器还包括增加该新增空白区块至该空白队列区中,且该新增空白区块的该优先存取顺序为最低。
13.根据权利要求9所述的闪存控制装置,其中该控制器还包括从该空白队列区中移除该数据区块。
14.根据权利要求9所述的闪存控制装置,其中该储存装置为静态内存或动态内存。
15.根据权利要求9所述的闪存控制装置,其中该控制器还包括 动态调整该数据储存区及该空白队列区的存储容量。
16.根据权利要求9所述的闪存控制装置,其中还包括 一传输接口,耦接该控制器,用以接收该存取命令。
全文摘要
本发明提供一种闪存控制装置及其存取方法,该方法包括首先依据闪存的多个实体地址分割闪存为至少一个节区;接着,针对节区分割出数据储存区及空白队列区;然后依据闪存的多个逻辑地址建立对应查找表,其中的对应查找表中包括多个储存字段,用以储存数据储存区的实体地址;并且,接收存取命令,其中的存取命令针对目标逻辑地址写入存入数据;最后,写入存入数据至空白队列区中的数据区块,并把对应查找表中对应目标逻辑地址的储存字段的原始实体地址更新为数据区块的实体地址。
文档编号G06F12/06GK102023927SQ20091017194
公开日2011年4月20日 申请日期2009年9月22日 优先权日2009年9月22日
发明者周晓薇, 王忠胜, 陈威均 申请人:点序科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1