专利名称:具平均抹除机制的闪存装置及其控制方法
技术领域:
本发明是涉及一种闪存装置及其控制方法,特别是指一种具有平均抹除机制的闪
存装置及其控制方法。
背景技术:
由于采用NAND型闪存作储存媒体的非挥发性内存储存装置具有体积小、省电、安 静及耐震等优点,因此目前已广泛地被应用于各种型态的应用系统,例如网络服务器、便 携式计算机、桌上型计算机、随身音乐播放装置、数字相机、行动通信装置等。
请参考图l,为现有技术闪存装置的系统架构方块图。如图l所示,闪存装置8包 括一控制单元81及至少一闪存82。其中,闪存82是用来储存数据;而控制单元81是连接 于一应用系统9,接受应用系统9所下达的指令而进行运作,并配合指令指定的作业来进行 数据存取,以将应用系统9输入的数据记录到闪存82中,或自闪存82读取应用系统9所要 求的数据后传回。在架构上,闪存82中是由多个记忆单元所组成的记忆数组来储存写入的 数据,其中记忆数组是被规划为多个实体记忆区块(Physical Block),而每一记忆区块更 包括多个记忆页(Memory Page)。在存取运作上,闪存82是以记忆页来作为数据读取、写入 与烧录的单位,而以记忆区块来作为抹除作业的单位。 目前,闪存用于储存方面的应用时,其必须面临的便是使用寿命的问题,亦即闪存 所能承受的抹除次数(Erase Cycle)的问题。我们都知道闪存在进行数据写入运作前,会 以一个记忆区块为单位来先执行抹除区块的动作。其中,每一记忆区块会因写入数据所执 行的抹除动作而增加累计抹除次数(Accumulated Erase Count),当其耗损程度接近可用 寿命(Useable Life Cycle)时,保存资料的可靠度(Reliability of Data Retention)将 逐渐劣化(gradually degraded),而不能可靠且正确地记录数据,同时导致闪存装置可能 因为记忆单元中部分记忆区块的劣化而产生故障。 一般而言,闪存所能承受的抹除次数约 在一万次至十万次之间(依不同闪存结构而定),而也就因此,频繁的存取动作将会大幅地 影响闪存的寿命。 而为了降低各记忆区块间的累计抹除次数差异,必须透过平均抹除技术 (Wear-Leveling Technique),来平均使用各个记忆区块,藉以避免过度集中使用部分的记 忆区块,而使其过早达到使用寿命限制,进而导致在其它记忆区块尚未充分使用前,发生闪 存装置无法可靠保存正确数据的现象。 目前提出的平均抹除技术大致分为动态平均抹除(DynamicWear-Leveling)与静 态平均抹除(Static Wear-Leveling)两种。动态平均抹除是在记忆区块内记录保存的数 据改变更新时,从已抹除的记忆区块中选出累计抹除次数最低者来储存更新后的数据。由 于只有内容被更新改变的动态数据会被调整存放位置,因此被称为动态平均抹除技术。
而静态平均抹除则是指,在记忆区块内记录保存的数据虽未改变更新,但当已配 置数据的记忆区块中,累计抹除次数最高及最低的差异到达一预先设定的门限值时,即开 始进行静态平均抹除作业。执行静态平均抹除时,控制器会将累计抹除次数最低的记忆区
4块中的数据搬至累计抹除次数最高的已抹除的记忆区块中,并将最低累计抹除次数的记忆 区块抹除。藉此,可改变静态数据使用的记忆区块的位置,并释出先前长期被静态数据占 用,使累计抹除次数较低的记忆区块,得以供后续写入更新数据时使用,进而达到调整静态 数据使用的记忆区块位置,实现静态平均抹除的功效。 然而,上述的平均抹除作业需要消耗大量的时间及资源来搜寻累计次数较低的记 忆区块,而动态平均抹除作业则是只针对有更新数据的记忆区块进行平均抹除,故仍有抹 除不平均的缺点,因此如何提升平均抹除作业的效能一直是此技术领域值得加以研发改良 的地方。
发明内容
有鉴于此,本发明所要解决的技术问题在于,透过较有效率的管理方法去追踪抹
除次数高的记忆区块以及冷门数据所在的记忆区块来执行闪存的平均抹除作业。藉以改善
平均抹除作业的功效,并且有效提升以闪存作为储存媒体的装置的使用寿命。 为了解决上述问题,根据本发明所提出的一方案,提供一种具平均抹除机制的闪
存装置,包括至少一闪存、一热门清单、一位元对应表、一来源指针及一控制单元。其中,闪
存是包含一记忆单元,而记忆单元更具有多个实体记忆区块。热门清单是记录最近写入的
多个逻辑区块位址位址,而位元对应表是具有多个位元,以分别对应该实体记忆区块,并且
标示该实体记忆区块的一抹除状态,再者来源指针则是循序指向位元对应表中标示为尚未
抹除的实体记忆区块,并且透过更新来移动。控制单元是依据热门清单来确认取得至少一
抹除次数较高的实体记忆区块,并且再控制将来源指针所指的实体记忆区块中的数据搬移
到该抹除次数较高的实体记忆区块,以完成平均抹除作业。 为了解决上述问题,根据本发明所提出的另一方案,提供一种如上述的具平均抹 除机制的闪存装置的控制方法,其步骤包括首先,选择至少一欲回收的实体记忆区块来执 行一记忆区块回收作业,并将该欲回收的实体记忆区块中的有效数据搬移到一已抹除的实 体记忆区块,接着,当该欲回收的实体记忆区块所对应的逻辑区块位址是存在于热门清单, 且该欲回收的实体记忆区块是为抹除次数较高的实体记忆区块时,将该欲回收的实体记忆 区块设为一目标区块,进而更新来源指标,以将来源指针所指的实体记忆区块设为一来源 区块。最后,在将来源区块中的数据复制到目标区块之后,抹除来源区块,以成为一新的已 抹除的实体记忆区块。 藉此,透过热门清单、位元对应表与来源指针的管理,可以正确地追踪出长时间未 被抹除的实体记忆区块,并将该追踪出的实体记忆区块中的数据搬移到抹除次数较高的实 体记忆区块中,藉以释放出所占用的实体记忆区块来供使用,以防止抹除次数高的实体区 块继续磨耗。此外,透过本发明的设计,可以大幅地提升闪存装置执行平均抹除作业的效 能,并更能有效地发挥闪存装置应有的寿命。 以上的概述与接下来的详细说明及附图,皆是为了能进一步说明本发明为达成预 定目的所采取的方式、手段及功效。而有关本发明的其它目的及优点,将在后续的说明及图 式中加以阐述。 以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
图1是现有技术闪存装置的系统架构方块图;图2是本发明具平均抹除机制的闪存装置的实施例方块图3是本发明所提供的窗体及指针实施例示意图4是本发明闪存装置启动及控制进行写入作业的实施例流程图5A及图5B是本发明闪存装置控制进行平均抹除作业时的实施例流程图
图6A至图6E是本发明所提供的窗体及指针的运作状态示意图。其中,附图标记现有技术8闪存装置81控制单元82闪存9应用系统本发明1闪存装置10控制单元101系统接口102内存接口103数据缓冲区104微处理器105缓存单元1051热门清单1052位元对应表1053来源指标1054逻辑实体位址转换表1055子区块记录表11闪存9应用系统S401 S417流程图步骤说明S501 S533流程图步骤说明
具体实施例方式
本发明透过较有效率的管理方法,去追踪抹除次数较高以及冷门数据所在的实体 记忆区块来执行闪存的平均抹除作业,以改善平均抹除作业的效能,并且有效提升以闪存 作为储存媒体的闪存装置的寿命。 请参考图2,为本发明具平均抹除机制的闪存装置的实施例方块图。如图2所示, 本实施例提供一种闪存装置l,其包括一控制单元IO及至少一闪存11。其中,控制单元10 中进一步包含一系统接口 101、一内存接口 102、一数据缓冲区103、一微处理器104及一 缓存单元105。而闪存11是包含一记忆单元(图未示),也就是所谓的记忆胞数组(Memory Cell Array),并且记忆单元是被规划为多个实体记忆区块(图未示)。
而本实施例中的缓存单元105是以内嵌于控制单元10的方式来举例说明,当然在 实际设计上,缓存单元105亦可是以外接的方式来设计连接于控制单元IO,在此并无加以 限制。并且,缓存单元105可例如是采用可随机读写内存(RAM)的设计。
控制单元10中的系统接口 101是连接一应用系统9,作为应用系统9及闪存装置 1间指令与数据的传输接口。内存接口 102是连接闪存11。数据缓冲区103同样是例如采 用可随机读写内存的设计,连接于系统接口 IOI及内存接口 102之间,用以暂存应用系统9 与闪存11之间所传递的数据。而微处理器104是连接系统接口 101、内存接口 102及缓存 单元105,用以执行应用系统9对闪存装置1所发出的指令,而进行控制存取闪存11。
缓存单元105中包含有 一 热门清单(Hot List) 1051、 一位元对应表 (Bitm即)1052、一来源指标(Source Pointer) 1053、一逻辑实体位址转换表(L2P) 1054及 一子区块记录表(Log Block Table) 1055。请再同时参考图3,为本发明所提供的窗体及指 针实施例示意图,其中,热门清单1051是记录最近写入的多个逻辑区块位址,也就是每写 入一笔数据便记录该笔数据的逻辑区块位址于热门清单1051中,让热门清单1051是包含 最近经常更新数据的逻辑区块位址的清单,并且在控制单元10中的微处理器104接受一写 入指令来进行更新数据时,随即会据以更新热门清单1051。此外,由于抹除次数较高的实体 记忆区块即是属于常被更新的记忆区块,所以抹除次数较高的实体记忆区块会对应到经常 被写入的逻辑区块位址,因此,热门清单1051中所列出的逻辑区块位址所对应的实体记忆 区块即可能是抹除次数较高的实体记忆区块。于是,透过检查热门清单1051即可追踪到抹 除次数较高的实体记忆区块。 位元对应表1052是具有多个位元(图未示),用以分别对应该实体记忆区块,并分 别标示该实体记忆区块的一抹除状态。也就是说,位元对应表1052是分别提供闪存11所 有实体记忆区块一个对应位,并藉由位值来表示实体记忆区块是否被抹除过。而在设计上, 该位可例如是以数字"l"的位值来表示为已抹除的实体记忆区块;而以数字"0"的位值来 表示为尚未抹除的实体记忆区块,当然,实际依应用上的不同,亦可为相反的设计。
来源指针1053是搭配位元对应表1052来运作,用以循序地指向位元对应表1052 中标示为尚未抹除的实体记忆区块,如位元对应表1052中对应的位值被设为数字"0"的 实体记忆区块。并且透过更新来源指针1053的指令来进行移动来源指针1053,以从位元对 应表1052中的第一个实体记忆区块循序向下移动,并在指到最后的尚未抹除的实体记忆 区块后,再从头由位元对应表1052的起始位置向下指向尚未抹除的实体记忆区块。藉以追 踪长时间未被抹除的实体记忆区块,进而将所指到的实体记忆区块认定为储存冷门数据的 实体记忆区块。 附带一提的是,来源指标1053是循序且循环地指向位元对应表1052,并且当来源 指针1053经过位元对应表1052中标示为已抹除的实体记忆区块后,位元对应表1052会 将该已抹除的实体记忆区块改变设定以成为尚未抹除的实体记忆区块。因此,当来源指标 1053巡回一圈回到起始位置的时候,即是代表相关的实体记忆区块在来源指针1053巡回 一圈的过程中是否有被抹除过的记录。也就是说,利用位元对应表1052与来源指标1053 的管理方法,可表示来源指针1053离开该位址之后,在接下来巡回一圈的过程中,该位址 的实体记忆区块是否有被抹除过的记录。 此外,熟悉该项技术者应可了解,缓存单元105中的逻辑实体位址转换表1054及 子区块记录表1055是控制单元10用来与应用系统9沟通所使用的表格。其中,逻辑实体 位址转换表1054是提供控制单元10进行逻辑区块位址与实体区块位址的对应。如图3所 示,逻辑区块位址LBA0是对应实体记忆区块PBA2、逻辑区块位址LBA1是对应实体记忆区块 PBA4…等。 子区块记录表1055是搭配逻辑实体位址转换表1054,用来记录闪存11中实体记 忆区块的连结关系,也就是说, 一个逻辑区块位址实际上可能会对应到一个或一个以上的 实体记忆区块(以下称之为一实体记忆区块链)来储存有效数据,于是子区块记录表1055 便是用来记录该实体记忆区块链中所形成的母、子区块的连结关系。
据此,控制单元10中的微处理器104即可依据热门清单1051来确认取得至少一 抹除次数较高的实体记忆区块,并且再控制将来源指针1053所指的实体记忆区块中的数 据搬移到该抹除次数较高的实体记忆区块,以完成执行平均抹除作业。如图3所示,以实体 记忆区块PBA2为例,若控制单元10接收应用系统9传来逻辑区块位址为LBA0的更新数据, 则控制单元10便例如挑选一已抹除的实体记忆区块PBA6来记录更新的数据,所以PBA2与 PBA6中皆存有有效数据,因而利用子区块对应表1055来记录PBA2与PBA6间的连结关系, 而若应用系统9接下来再次写入LBAO的更新数据时,即是使用已抹除的实体区块PBA9来 记录,并且同样透过子区块对应表1055的更新来记录PBA2、PBA6及PBA9间的连结关系,以 便追踪实体记忆区块上的有效数据。 值得一提的是,前述有关确认取得抹除次数较高的实体记忆区块的部分,控制单 元10的微处理器104可进一步是暂存有该实体记忆区块各自累计的一抹除次数以及闪存 装置1的一整体平均抹除次数,并且依据该实体记忆区块的抹除次数及整体平均抹除次数 来确认取得。而进一步说明即是,微处理器104在判断任一实体记忆区块的抹除次数大于 该整体平均抹除次数达一默认值时,便可确认该实体记忆区块是为抹除次数较高的实体记 忆区块。 接着,以下的说明是进一步揭示本发明的闪存装置的详细运作流程。请先参考图 4,为本发明闪存装置启动及控制进行写入作业的实施例流程图。如图4所示,首先,进行启 动闪存装置(S401),并且闪存装置随即进行初始化作业的流程(S403),以使闪存装置得以 与应用系统建立联机,而进行沟通及传递指令与数据。 接着,基于前述实施例中本发明闪存装置的设计,在执行步骤(S403)之后,闪存 装置中的控制单元便会自缓存单元中加载逻辑实体位址转换表、子区块记录表、位元对应 表、热门清单及来源指针(S405)。之后,闪存装置即进入待机状态(S407),以等待应用系统 后续所下达的指令。 而当应用系统下达指令时,控制单元会根据该指令来判断是否进入一写入数据作 业(S409)。若步骤(S409)的判断结果为是,则表示应用系统是下达一写入数据指令,于是 便会进行选择一已抹除的记忆区块,作为写入数据的目标区块(S411)。然后接受应用系统 传输数据,以写入该数据至目标区块(S413)。并且在写入完成之后,随即进行更新热门清 单,以将该写入指令所指的逻辑区块位址列入热门清单,并且更新逻辑实体位址对应表以 维持逻辑区块位址与实体区块位址的对应,而若有需要的话,则也会更新子区块记录表以 更新记录母、子区块间的连结关系(S415)。 反之,若步骤(S409)的判断结果为否,则表示目前应用系统并非下达写入数据指
令,于是控制单元便执行应用系统所下达的指令所代表的其它处理作业(S417)。 上述图4的实施例仅是说明闪存装置执行写入数据作业的流程,然而由于本发明
执行平均抹除作业的时间点是在进行一记忆区块回收作业的时候,也就是当控制单元在执
行一抹除机制以进行记忆区块回收作业时,才会执行平均抹除作业的流程。因此,请接着参
考图5A及图5B,为本发明闪存装置控制进行平均抹除作业时的实施例流程图,用以说明本
发明执行平均抹除作业的实际运作情形。 首先,如图5A所示,闪存装置中的控制单元开始执行一记忆区块回收作业(S501) 时,会选择一欲回收的实体记忆区块链及一已抹除的实体记忆区块(S503)。进而将该欲回收的实体记忆区块链中的有效数据复制到该已抹除的实体记忆区块(S505)。然后更新子区 块记录表,以取消该欲回收的实体记忆区块链中各实体记忆区块间的连结关系,以及更新 逻辑实体位址转换表,以将储存有有效数据的实体记忆区块对应到相对应的逻辑区块位址 (S507)。 而由于该欲回收的实体记忆区块链中的有效数据皆已储存至该已抹除的实体记 忆区块中,接着便可抹除该欲回收的实体记忆区块链中的实体记忆区块(S509),以释放出 原本所占用的区块空间。而在步骤(S509)将该实体记忆区块抹除后,便可进行更新位元对 应表(S511),以标示该实体记忆区块为已抹除过的实体记忆区块。此外,在完成位元对应表 的更新作业后,即进行累计该被抹除的各实体记忆区块的抹除次数,以及闪存装置的整体 平均抹除次数(S513)。 而由于控制单元在选择该欲回收的实体记忆区块链时,即会暂存该欲回收的实体 记忆区块链所对应的逻辑区块位址,于是在步骤(S513)之后,即进行判断欲回收的实体记 忆区块链所对应的逻辑区块位址是否存在于热门清单(S515)。若步骤(S515)的判断结果 为否,则表示热门清单中未发现该逻辑区块位址,于是便结束而无需执行平均抹除的作业。 反之,若步骤(S515)的判断结果为是的话,则如图5B所示,逐一进行判断欲回收的实体记 忆区块链中各个已抹除的实体记忆区块的抹除次数是否大于该整体平均抹除次数达一默 认值(S517),换句话说也就是判断欲回收的实体记忆区块链中各个已抹除的实体记忆区块 的抹除次数是否超过一预设抹除次数,而预设抹除次数即是该实体记忆区块的整体平均抹 除次数加上该默认值,藉以判断该已抹除的实体记忆区块是否已达到触发执行平均抹除作 业的标准,而为抹除次数较高的实体记忆区块。其中默认值的设定是可依据实际搭配的闪 存耐抹除能力而调整。 若步骤(S517)的判断结果为否,则表示并未达到启动平均抹除作业的要求,无需 执行平均抹除作业,于是该已抹除的实体记忆区块则供循环再度使用。而若步骤(S517)的 判断结果为是,则表示已达到触发平均抹除作业的标准,于是将目前所判断的该欲回收的 实体记忆区块链中的已抹除的实体记忆区块设为一目标区块(S519)。并且更新来源指标, 以将来源指针所指的实体记忆区块设为一来源区块(S521)。其中,来源指针所指的实体记 忆区块即是代表久未被抹除的实体记忆区块,亦即表示是储存冷门数据的实体记忆区块。
于是,便可将来源区块中的数据复制到目标区块(S523),用以将冷门数据(较少 更新的数据)复制到抹除次数较高的实体记忆区块。而在复制完成后,即进行更新逻辑实 体位址转换表及子区块记录表(S525),以将目标区块对应至相对应的逻辑区块位址。再接 下来,即可进行抹除来源区块(S527),以释放出原本储存冷门数据的实体记忆区块(抹除 次数较少的实体记忆区块),而成为一新的已抹除的实体记忆区块,以供使用。并且随即再 进行更新该被抹除的来源区块的抹除次数以及整体平均抹除次数(S529),以及更新位元对 应表中的抹除状态(S531),以将该被抹除的来源区块标示为已抹除过的实体记忆区块。
最后,判断是否欲回收的实体记忆区块链的各实体记忆区块的抹除次数皆已判断 完毕(S533),若步骤(S533)的判断结果为否,则重复执行步骤(S517)及其后的步骤,直到 将该欲回收的实体记忆区块链中所有的实体记忆区块执行完毕,才结束平均抹除作业。
如此一来,只要当闪存装置的控制单元执行记忆区块回收作业时,便是藉由找出 抹除次数高的实体记忆区块,然后将较不常更新的冷门数据复制到抹除次数高的实体记忆区块中,避免其继续抹除而能缓和其增加抹除次数的速度,进而达到闪存平均抹除的效果。
为了进一步说明上述图5A及图5B的实施例中所提到的各种窗体及指针于闪存装置运作时的变化,请再继续参考图6A至图6E,为本发明所提供的窗体及指针的运作状态示意图。其中在各图中,斜线的部分是用来表示目前所会执行及运用到的区块,而并非表示区块中是否有资料。 首先,如图6A所示,其中控制单元已加载了热门清单1051、位元对应表1052、来源指针1053、逻辑实体位址转换表1054及子区块记录表1055,并且假设本实施例是选择实体记忆区块PBA2为起始的实体记忆区块链来进行记忆区块回收的作业。
于是再如第六B图所示,控制单元另外选择一已抹除的实体记忆区块PBA12来作为目标区块,然后将所选择的实体记忆区块链中的各个实体记忆区块PBA2、PBA6及PBA9中的有效数据复制到目标区块PBA12。 而在数据复制完毕之后,如第六C图所示,控制单元先是进行更新逻辑实体位址转换表1054及子区块记录表1055,以将原本对应实体记忆区块PBA2的逻辑区块位址LBAO,更新为对应实体记忆区块PBA12。再者,进行抹除实体记忆区块PBA2、 PBA6及PBA9。并且再更新位元对应表1052,以将实体记忆区块PBA2、 PBA6及PBA9所对应的位设定为数字"l"的位值(图中仅以实体记忆区块PBA2来做代表说明),其中本实施例是设计以数字"1 "的位值来标示为已抹除过的实体记忆区块。除此之外,由于实体记忆区块PBA2、PBA6及PBA9的抹除次数已有变动,因此控制单元会再进行更新实体记忆区块PBA2、PBA6及PBA9的抹除次数以及闪存装置的整体平均抹除次数。 而同样参考第六C图,控制单元随即会进行检查热门清单1051,以判断目前所选择的逻辑区块位址LBAO是否存在于热门清单1051中,而如第六C图所示,逻辑区块位址LBAO是有存在于热门清单1051中,表示逻辑区块位址LBAO是最近才有被更新数据过。
于是,再逐一判断原本所选择的实体记忆区块链中各实体记忆区块PBA2、 PBA6及PBA9的抹除次数是否大于整体平均抹除次数达一默认值。假设实体记忆区块PBA2所累计的抹除次数已大于整体平均抹除次数达该默认值,而属于抹除次数较高的实体记忆区块时,则如第六D图所示,会将实体记忆区块PBA2设为目标区块,并且进行更新来源指标1053,以让来源指标1053移动到下一个未抹除的实体记忆区块(标示数字"O"的位值),也就是实体记忆区块PBA1,并将实体记忆区块PBA1设为来源区块。附带一提的是,在第六D图中,我们可以发现位元对应表1052上,来源指标1053所经过的已抹除过的实体记忆区块LBAO的位也已重设为未抹除的实体记忆区块的位值(数字"O")。 于是,控制单元便可将上述所设定的来源区块PBA1中的数据复制到目标区块PBA2中。并且再如图6E所示,进行更新逻辑实体位址转换表1054及子区块记录表1055,以让实体记忆区块PBA2取代实体记忆区块PBA1,而对应于逻辑区块位址LBA3。进而便可抹除实体记忆区块PBA1,以释放出来以供使用,并且随即更新实体记忆区块PBA1所累计的抹除次数及该整体平均抹除次数。以及在更新位元对应表1052,以将实体记忆区块PBA1的对应位设为数字"l"的位值,以代表已抹除过的实体记忆区块。藉此,以完成对实体记忆区块PBA2的判断。 同理可证,再依据相同的运作原理来继续判断该实体记忆区块链中其余的实体记忆区块PBA6及PBA9的抹除次数,以便执行相关的动作,藉以完成整个实体记忆区块链的回
10收作业。 最后,补充提到的是,针对位元对应表及来源指针执行时会遇到的情况作进一步说明。由于本发明的来源指针与位元对应表皆是以实体区块位址为基础来设计,因而所指向的实体记忆区块(于位元对应表上标示为尚未抹除的实体记忆区块(标示为数字"o"的位值所对应的实体记忆区块)),有可能是以下几种情形 1.系统区块(存放韧体、区块分配表或其它控制单元所使用的数据); 2.未分配使用的区块(free block),此时区块内并无有效数据; 3.已分配使用的母区块或子区块,此时区块内仅具备部分有效数据; 4.已分配使用的已合并数据的区块(merged data block),此时区块内具备完整
的有效数据。 其中,本发明的来源指标较佳的是选择4这种实体记忆区块,以直接将整个实体记忆区块执行数据搬移的动作即可。而若来源指标所指的为1或2的实体记忆区块的话,则来源指标便会经过且跳过该实体记忆区块而向下再找另一个尚未抹除的实体记忆区块,并且在位元对应表上,就算是属于1或2的实体记忆区块,只要来源指针所经过的实体记忆区±央,皆会被重设为已抹除过的实体记忆区块。而若来源指针指向3的实体记忆区块的话,则可再有下列几种作法 1.来源指针跳过该实体记忆区块而向下再找另一个尚未抹除过的实体记忆区块; 2.以来源指针所指的实体记忆区块(母区块或子区块)来执行数据搬移的动作; 3.以来源指针所指的实体区块与其相关的实体记忆区块来执行数据搬移动作,也
就是将所述实体记忆区块链中所有实体记忆区块中的有效数据进行搬移的动作。 当然上述是提供实际执行时可能会发生的情形,然而在设计时,可因实际应用的
需求而来选择使用,在此并无加以限制。 综上所述,透过本发明的平均抹除方法,可透过热门清单、位元对应表与来源指针的管理,正确的辨识冷门数据,然后将冷门数据搬移至抹除次数较高的实体记忆区块中,藉此释放冷门数据所占用的实体记忆区块,以及防止抹除次数高的实体记忆区块继续磨耗。此外,透过前述的指针及窗体的管理,本发明改善了在执行平均抹除作业时,所造成的大量系统资源的消耗的缺失,以更能确实地执行平均抹除,以及更有效发挥闪存装置应有的寿命。 当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
一种具平均抹除机制的闪存装置,其特征在于,包括至少一闪存,是包含一记忆单元,该记忆单元是具有多个实体记忆区块;一热门清单,是记录最近写入的多个逻辑区块位址;一位元对应表,是具有多个位元,并且各位元是分别对应表示该实体记忆区块的一抹除状态;一来源指针,是循序指向该位元对应表中表示为尚未抹除的实体记忆区块;一控制单元,是依据该热门清单以及该实体记忆区块的一抹除次数来取得至少一抹除次数较高的实体记忆区块,并且将该来源指针所指的实体记忆区块中的数据复制到该抹除次数较高的实体记忆区块,然后抹除该来源指针所指的实体记忆区块。
2. 根据权利要求1所述的具平均抹除机制的闪存装置,其特征在于,所述热门清单、位 元对应表及该来源指标是储存于一缓存单元。
3. 根据权利要求2所述的具平均抹除机制的闪存装置,其特征在于,所述缓存单元进 一步包含一逻辑实体位址转换表,是提供该控制单元进行逻辑区块位址与实体区块位址的对应;一子区块记录表,是搭配该逻辑实体位址转换表,用来记录该实体记忆区块的母、子区 块的连结关系。
4. 根据权利要求3所述的具平均抹除机制的闪存装置,其特征在于,所述缓存单元是 内嵌或外接于该控制单元。
5. 根据权利要求3所述的具平均抹除机制的闪存装置,其特征在于,所述控制单元是进一步暂存有该实体记忆区块各自累计的抹除次数及一整体平均抹除次数,并且依据该实 体记忆区块的抹除次数及该整体平均抹除次数来确认该实体记忆区块是否为抹除次数较 高的实体记忆区块。
6. 根据权利要求5所述的具平均抹除机制的闪存装置,其特征在于,所述控制单元是 判断任一该实体记忆区块的抹除次数大于该整体平均抹除次数达一默认值时,确认该实体 记忆区块是为抹除次数较高的实体记忆区块。
7. 根据权利要求3所述的具平均抹除机制的闪存装置,其特征在于,所述来源指针是 循序且循环地指向该位元对应表,并且当该来源指针经过该位元对应表中标示为已抹除的 实体记忆区块后,该位元对应表是将该已抹除的实体记忆区块设定成为该尚未抹除的实体 记忆区块。
8. 根据权利要求3所述的具平均抹除机制的闪存装置,其特征在于,所述控制单元进 一步包含一统接口 ,是连接一应用系统,作为该应用系统及该闪存装置间指令与数据的传输接□;一内存接口,是连接该闪存;一数据缓冲区,是连接于该系统接口及该内存接口之间,并且暂存该应用系统与该闪 存之间所传递的数据;一微处理器,是连接该系统接口 、该内存接口及该缓存单元,该微处理器是执行该应 用系统对该闪存装置所发出的指令,并且依据该热门清单及该来源指针来执行平均抹除作业。
9. 一种根据权利要求1所述的具平均抹除机制的闪存装置的控制方法,其特征在于, 其步骤包括将至少一欲回收的实体记忆区块中的有效数据搬到一已抹除的实体记忆区块中存放;当该欲回收的实体记忆区块所对应的逻辑区块位址是存在于该热门清单,且该欲回收 的实体记忆区块的抹除次数超过一预设抹除次数时更新该来源指标;将该来源指针所指的实体记忆区块中的数据搬到该欲回收的实体记忆区块中存放。
10. 根据权利要求9所述的闪存装置的控制方法,其特征在于,所述闪存装置在启动 后,进一步包含加载该热门清单、该位元对应表、该来源指针、一逻辑实体位址转换表及一子区块记录表。
11. 根据权利要求9所述的闪存装置的控制方法,其特征在于,所述预设抹除次数是为 该实体记忆区块的平均抹除次数加上一默认值,以确认该欲回收的实体记忆区块为抹除次 数较高的实体记忆区块。
12. 根据权利要求9所述的闪存装置的控制方法,其特征在于,进一步包含 抹除该来源指针所指的实体记忆区块;更新该被抹除的实体记忆区块的抹除次数及该实体记忆区块的平均抹除次数; 更新该位元对应表中的抹除状态。
13. 根据权利要求9所述的闪存装置的控制方法,其特征在于,进一步包含 抹除该欲回收的实体记忆区块;更新该欲回收的实体记忆区块的抹除次数及该实体记忆区块的平均抹除次数; 更新该位元对应表中的抹除状态。
14. 根据权利要求9所述的闪存装置的控制方法,其特征在于,在更新该来源指标时, 该来源指标是循序且循环地指向该位元对应表,并且当该来源指针经过该位元对应表中标 示为已抹除的实体记忆区块后,该位元对应表是将该已抹除的实体记忆区块设定成为该尚 未抹除的实体记忆区块。
全文摘要
本发明公开了一种具平均抹除机制的闪存装置及其控制方法。所述闪存装置,包括至少一闪存、一热门清单、一位元对应表、一来源指针及一控制单元。其中,控制单元是透过热门清单、一实体记忆区块的抹除次数及闪存装置的一整体平均抹除次数来取得一抹除次数较高的实体记忆区块,并且再透过位元对应表及来源指针的管理,以正确地追踪出储存冷门数据的实体记忆区块。然后控制单元再将冷门数据搬移至抹除次数较高的实体记忆区块中,藉此释放冷门数据所占用的实体记忆区块,以防止抹除次数高的实体记忆区块继续磨损,而达到闪存平均抹除的目的。
文档编号G11C7/10GK101740100SQ20081017906
公开日2010年6月16日 申请日期2008年11月27日 优先权日2008年11月27日
发明者张立平, 陈明达, 黄千庭 申请人:威刚科技股份有限公司