用来提高闪存存取效能的方法以及相关的记忆装置的制作方法

文档序号:6582916阅读:189来源:国知局
专利名称:用来提高闪存存取效能的方法以及相关的记忆装置的制作方法
技术领域
本发明涉及闪存(Flash Memory)的存取(Access),更具体地说,涉及一种用来提 高一闪存的存取效能的方法以及相关的记忆装置及其控制器。
背景技术
近年来由于闪存的技术不断地发展,各种可携式记忆装置(例如符合SD/MMC、 CF、MS、)(D标准的记忆卡)被广泛地实施于诸多应用中。因此,这些可携式记忆装置中的闪 存的存取控制也就成为相当热门的议题。以常用的NAND型闪存而言,其主要可区分为单层单元(Single Level Cell,SLC) 与多层单元(Multiple Level Cell,MLC)两大类的闪存。单层单元闪存中的每个被当作记 忆单元的晶体管只有两种电荷值,分别用来表示逻辑值0与逻辑值1。另外,多层单元闪存 中的每个被当作记忆单元的晶体管的储存能力则被充分利用,采用较高的电压来驱动,以 通过不同级别的电压在一个晶体管中记录两组位信息(例如00、01、11、10);理论上,多层 单元闪存的记录密度可以达到单层单元闪存的记录密度的两倍以上,这对于曾经在发展过 程中遇到瓶颈的NAND型闪存的相关产业而言,是非常好的消息。相较于单层单元闪存,由于多层单元闪存的价格较便宜,并且在有限的空间里可 提供较大的容量,故多层单元闪存很快地成为市面上的可携式记忆装置竞相采用的主流。 然而,多层单元闪存的不稳定性所导致的问题也一一浮现。因此,现有技术针对这些问 题提出了一些解决方案。然而,有些解决方案可能导致一些副作用;例如存储器耐用度 (endurance)降低、效能不佳、读取/写入速度变慢、容易发生读取/写入错误等,还会导致 某些种类的可携式记忆装置(例如符合SD标准的记忆卡)在实际运作上发生困难。因 此,需要一种新颖的方法来加强控管闪存的数据存取,以提高可携式记忆装置的整体效能。

发明内容
因此本发明的目的之一在于提供一种用来提高一闪存的存取效能的方法以及相 关的记忆装置及其控制器,以达到可携式记忆装置的最佳整体效能。本发明的较佳实施例中提供一种用来提高一闪存的存取效能的方法,所述闪存包 括多个区块且位于一记忆装置中,所述方法包括在将数据写入所述闪存的过程中,在所述 记忆装置的一随机存取存储器中建立/更新至少一链接表,其中针对所述闪存,所述链接 表指出逻辑地址与实体地址之间的链接关系、或实体地址与逻辑地址之间的链接关系;以 及只有在侦测到来自一主装置的一清除快取指令时,才将所述链接表写入所述闪存,作为 日后存取所述闪存的参考。本发明在提供上述方法的同时,还对应地提供一种记忆装置,其包括一闪存,所 述闪存包括多个区块;以及一控制器,用来存取所述闪存以及管理所述区块,其中在将数据 写入所述闪存的过程中,所述控制器在所述记忆装置的一随机存取存储器中建立/更新至 少一链接表,以及针对所述闪存,所述链接表指出逻辑地址与实体地址之间的链接关系、或实体地址与逻辑地址之间的链接关系;其中只有在侦测到来自一主装置的一清除快取指令 时,所述控制器才将所述链接表写入所述闪存,作为日后存取所述闪存的参考。
本发明在提供上述方法的同时,还对应地提供一种记忆装置的控制器,所述控制 器用来存取一闪存,所述闪存包括多个区块,所述控制器包括一只读存储器,用来储存一 程序代码;以及一微处理器,用来执行所述程序代码以控制对所述闪存的存取以及管理所 述区块;其中在将数据写入所述闪存的过程中,通过所述微处理器执行所述程序代码的所 述控制器在所述记忆装置的一随机存取存储器中建立/更新至少一链接表,以及针对所述 闪存,所述链接表指出逻辑地址与实体地址之间的链接关系、或实体地址与逻辑地址之间 的链接关系;以及只有在侦测到来自一主装置的一清除快取指令时,通过所述微处理器执 行所述程序代码的所述控制器才将所述链接表写入所述闪存,作为日后存取所述闪存的参 考。


下面将结合附图及实施例对本发明作进一步说明,附图中图1为依据本发明一第一实施例的一种记忆装置的示意图。图2为依据本发明一实施例的一种用来提高一闪存(Flash Memory)的存取效能 的方法的流程图。图3为图2所示的方法在一实施例中所涉及的正常关机检核表的示意图。主要组件符号说明100记忆装置110存储器控制器 112微处理器112C程序代码112M只读存储器 114控制逻辑116缓冲存储器118接口逻辑120闪存310正常关机检核表 910用来提高一闪存的存取效能的方法912,914 步骤
具体实施例方式请参考图1,图1为依据本发明一第一实施例的一种记忆装置100的示意图,其中 本实施例的记忆装置100尤其为可携式记忆装置(例如符合SD/MMC、CF、MS、)(D标准的记 忆卡)。记忆装置100包括一闪存(Flash Memory) 120 ;以及一控制器,用来存取(Access) 闪存120,其中该控制器例如一存储器控制器110。依据本实施例,存储器控制器110包括 一微处理器112、一只读存储器(Read Only Memory, ROM) 112M、一控制逻辑114、一缓冲存 储器116、与一接口逻辑118。只读存储器用来储存一程序代码112C,而微处理器112则用 来执行程序代码112C以控制对闪存120的存取。请注意到,程序代码112C还需储存在缓 冲存储器116或任何形式的存储器内。在典型状况下,闪存120包括多个区块(Block),而该控制器(例如通过微处理 器112执行程序代码112C的存储器控制器110)对闪存120进行抹除数据的运作以区块为 单位来进行抹除。另外,一区块可记录特定数量的页O^age),其中该控制器对闪存120进行 写入数据的运作以页为单位来进行写入。实际运作上,通过微处理器112执行程序代码112C的存储器控制器110可利用其本身内部的组件来进行诸多控制运作,例如利用控制逻辑114来控制闪存120的存取运 作(尤其是对至少一区块或至少一页的存取运作)、利用缓冲存储器116进行所需的缓冲处 理、以及利用接口逻辑118来与一主装置沟通。依据本实施例,除了能存取闪存120,该控制器还能妥善地管理该些区块。更明确 而言,在将数据写入闪存120的过程中,该控制器在记忆装置100的一随机存取存储器(例 如存储器控制器110中的缓冲存储器116)中建立/更新至少一链接表,其中针对闪存 120,该链接表指出逻辑地址与实体地址之间的链接关系、或实体地址与逻辑地址之间的链 接关系。尤其是,该至少一链接表包括至少一页链接表或至少一区块链接表。例如在该至 少一链接表包括至少一页链接表的状况下,该页链接表指出逻辑页地址与实体页地址之间 的链接关系、或实体页地址与逻辑页地址之间的链接关系。又例如在该至少一链接表包括 至少一区块链接表的状况下,该区块链接表指出逻辑区块地址与实体区块地址之间的链接 关系、或实体区块地址与逻辑区块地址之间的链接关系。请注意,上述的随机存取存储器可为存储器控制器110中的缓冲存储器116。这只 是为了说明的目的而已,并非对本发明的限制。依据本实施例的一变化例,上述的随机存取 存储器可为位于该控制器之外的随机存取存储器。另外,在本实施例中,只有在侦测到来自 该主装置的一清除快取指令(Flush Cache Command)时,该控制器才将该链接表写入闪存 120,作为日后存取闪存120的参考。该清除快取指令特别是在主装置欲进行关机动作时必 然发出的指令,意在通知与之连结的所有储存装置,例如硬盘机、光驱、随身碟或者各类记 忆卡,尽快将各自缓冲器中的数据写入各自储存媒体。在一实施例中,清除快取指令可以是 高级技术附件封包接口 (Advanced Technology Attachment Packet Interface,ATAPI)规 范中的E^1指令。相关细节可参考图2来进一步说明。图2为依据本发明一实施例的一种用来提高一闪存的存取效能的方法910的流程 图。该方法可应用于图1所示的记忆装置100,尤其是上述的控制器(例如通过微处理器 112执行程序代码112C的存储器控制器110)。另外,该方法可通过利用图1所示的记忆装 置100来实施,尤其是通过利用上述的控制器来实施。该方法说明如下在步骤912中,在将数据写入闪存120的过程中,上述的控制器(例如通过微处 理器112执行程序代码112C的存储器控制器110)在上述的随机存取存储器(尤其是存储 器控制器110中的缓冲存储器116)中建立/更新至少一链接表,其中针对闪存120,该链接 表指出逻辑地址与实体地址之间的链接关系、或实体地址与逻辑地址之间的链接关系。在步骤914中,只有在侦测到来自该主装置的清除快取指令时,该控制器才将该 链接表写入闪存120,作为日后存取该闪存的参考;在本实施例中,在未侦测到来自该主装 置的清除快取指令之前,该控制器避免将该链接表写入闪存120,以减少记忆装置100出现 整体效能低落的状况的机会。依据本实施例,在记忆装置100的一启动程序期间,该控制器可以从闪存120取得 该链接表的一来源版本(如果存在的话),作为该链接表在该随机存取存储器中在该启动 程序之后的起始版本。如此,在步骤914中,将该链接表写入闪存120代表将该链接表的最 新版本回存(Restore)至闪存120。这只是为了说明的目的而已,并非对本发明的限制。依 据本实施例的一变化例,在闪存120当中不存在该链接表的任何来源版本的状况下,该控 制器可以直接在该随机存取存储器中建立该链接表。依据本实施例的另一变化例,该控制器可在记忆装置100的一启动程序之后,从闪存120取得该链接表的一来源版本(如果存 在的话),作为该链接表在该随机存取存储器中在该启动程序之后的起始版本。另外,本实施例的该控制器可在闪存120中建立/更新至少一正常关机检核表,其 中该正常关机检核表指出最近一次关机时该链接表的最新版本是否成功地写入闪存120。 请参考图3,图3为图2所示的方法在一实施例中所涉及的正常关机检核表310的示意图。 在一预定条件成立的状况下,该控制器会在图3所示的正常关机检核表310中写入一第一 逻辑值(例如逻辑值0),其中该第一逻辑值代表该链接表有所变动或即将有所变动。例如 该预定条件在本实施例中代表该记忆装置的开机;如此,每逢记忆装置100开机时,该控制 器就在正常关机检核表310中写入该第一逻辑值。这只是为了说明的目的而已,并非对本 发明的限制。依据本实施例的一变化例,该预定条件代表记忆装置100从该主装置接收到 一写入指令;如此,每逢记忆装置100从该主装置接收到写入指令时,该控制器就在图3所 示的正常关机检核表310中写入该第一逻辑值。依据本实施例,在该链接表的最新版本成功地回存至闪存120的状况下,该控制 器在正常关机检核表310中写入一第二逻辑值(例如逻辑值1),用来指出该控制器已完成 最新版本的回存动作。于是,该控制器可依据正常关机检核表310中最新写入的值为该第 一逻辑值或该第二逻辑值,决定是否修复该链接表的最新版本。更明确而言,每逢该记忆装 置开机,一旦正常关机检核表310中最新写入的值为该第一逻辑值时,这表示该控制器尚 未完成最新版本的回存动作,则该控制器决定要修复该链接表的最新版本;否则(即正常 关机检核表310中最新写入的值为该第二逻辑值),该控制器决定不需要修复该链接表的 最新版本,这是因为该控制器已完成最新版本的回存动作。请注意,在本实施例中,该第一逻辑值为逻辑值0,且该第二逻辑值为逻辑值1。这 只是为了说明的目的而已,并非对本发明的限制。依据本实施例的一变化例,该第一逻辑值 为逻辑值1,且该第二逻辑值为逻辑值0。依据本实施例的另一变化例,该第一、第二逻辑值 可代换为别的数值。本发明的好处之一是,只有在侦测到来自该主装置的清除快取指令时,该控制器 才将该链接表写入闪存120,作为日后存取该闪存的参考,而非随时在该链接表一有变动就 写入闪存120,故本发明可减少记忆装置100出现整体效能低落的状况的机会。尤其是,在 遭遇极度频繁的数据存取的状况下,本发明仍能达到可携式记忆装置的最佳整体效能。以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与 修饰,皆应属本发明的涵盖范围。
权利要求
1.一种用来提高一闪存的存取效能的方法,所述闪存包括多个区块且位于一记忆装置 中,所述方法包括在将数据写入所述闪存的过程中,在所述记忆装置的一随机存取存储器中建立/更新 至少一链接表,其中针对所述闪存,所述链接表指出逻辑地址与实体地址之间的链接关系、 或实体地址与逻辑地址之间的链接关系;以及只有在侦测到来自一主装置的一清除快取指令时,才将所述链接表写入所述闪存,作 为日后存取所述闪存的参考。
2.根据权利要求1所述的用来提高一闪存的存取效能的方法,还包括在所述记忆装置的一启动程序期间或之后,从所述闪存取得所述链接表的一来源版 本,作为所述链接表在所述随机存取存储器中在所述启动程序之后的起始版本;其中将所述链接表写入所述闪存代表将所述链接表的最新版本回存至所述闪存。
3.根据权利要求1所述的用来提高一闪存的存取效能的方法,还包括在所述闪存申建立/更新至少一正常关机检核表,其中所述正常关机检核表指出最近 一次关机时所述链接表的最新版本是否成功地写入所述闪存。
4.根据权利要求3所述的用来提高一闪存的存取效能的方法,还包括在一预定条件成立的状况下,在所述正常关机检核表中写入一第一逻辑值,其中所述 第一逻辑值代表所述链接表有所变动或即将有所变动;在所述链接表的最新版本成功地回存至所述闪存的状况下,在所述正常关机检核表中 写入一第二逻辑值;以及依据所述正常关机检核表中最新写入的值为所述第一逻辑值或所述第二逻辑值,决定 是否修复所述链接表的最新版本。
5.根据权利要求4所述的用来提高一闪存的存取效能的方法,其中所述预定条件代表 所述记忆装置的开机。
6.根据权利要求4所述的用来提高一闪存的存取效能的方法,其中所述预定条件代表 所述记忆装置从所述主装置接收到一写入指令。
7.根据权利要求1所述的用来提高一闪存的存取效能的方法,其中所述记忆装置包括 用来存取所述闪存以及管理所述区块的一控制器;以及所述随机存取存储器为所述控制器 中的缓冲存储器。
8.一种记忆装置,其包括一闪存,所述闪存包括多个区块;以及一控制器,用来存取所述闪存以及管理所述区块,其中在将数据写入所述闪存的过程 中,所述控制器在所述记忆装置的一随机存取存储器中建立/更新至少一链接表,以及针 对所述闪存,所述链接表指出逻辑地址与实体地址之间的链接关系、或实体地址与逻辑地 址之间的链接关系;其中只有在侦测到来自一主装置的一清除快取指令时,所述控制器才将所述链接表写 入所述闪存,作为日后存取所述闪存的参考。
9.根据权利要求8所述的记忆装置,其中在所述记忆装置的一启动程序期间或之后, 所述控制器从所述闪存取得所述链接表的一来源版本,作为所述链接表在所述随机存取存 储器中在所述启动程序之后的起始版本;以及将所述链接表写入所述闪存代表将所述链接表的最新版本回存至所述闪存。
10.根据权利要求8所述的记忆装置,其中所述控制器在所述闪存中建立/更新至少一 正常关机检核表,且所述正常关机检核表指出最近一次关机时所述链接表的最新版本是否 成功地写入所述闪存。
11.根据权利要求10所述的记忆装置,其中在一预定条件成立的状况下,所述控制器 在所述正常关机检核表中写入一第一逻辑值,其中所述第一逻辑值代表所述链接表有所变 动或即将有所变动;在所述链接表的最新版本成功地回存至所述闪存的状况下,所述控制 器在所述正常关机检核表中写入一第二逻辑值;以及所述控制器依据所述正常关机检核表 中最新写入的值为所述第一逻辑值或所述第二逻辑值,决定是否修复所述链接表的最新版 本。
12.根据权利要求11所述的记忆装置,其中所述预定条件代表所述记忆装置的开机。
13.根据权利要求11所述的记忆装置,其中所述预定条件代表所述记忆装置从所述主 装置接收到一写入指令。
全文摘要
本发明提供一种用来提高一闪存的存取效能的方法以及相关的记忆装置,所述闪存包括多个区块且位于一记忆装置中,所述方法包括在将数据写入所述闪存的过程中,在所述记忆装置的一随机存取存储器中建立/更新至少一链接表,其中针对所述闪存,所述链接表指出逻辑地址与实体地址之间的链接关系、或实体地址与逻辑地址之间的链接关系;以及只有在侦测到来自一主装置的一清除快取指令时,才将所述链接表写入所述闪存,作为日后存取所述闪存的参考。本发明还提供相关的记忆装置及其控制器,而所述控制器包括一只读存储器;以及一微处理器。
文档编号G06F12/08GK102043728SQ20091020867
公开日2011年5月4日 申请日期2009年10月23日 优先权日2009年10月23日
发明者李俊坤, 林仁文 申请人:慧荣科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1