CN102043728A - 用来提高闪存存取效能的方法以及相关的记忆装置 - Google Patents
用来提高闪存存取效能的方法以及相关的记忆装置 Download PDFInfo
- Publication number
- CN102043728A CN102043728A CN2009102086720A CN200910208672A CN102043728A CN 102043728 A CN102043728 A CN 102043728A CN 2009102086720 A CN2009102086720 A CN 2009102086720A CN 200910208672 A CN200910208672 A CN 200910208672A CN 102043728 A CN102043728 A CN 102043728A
- Authority
- CN
- China
- Prior art keywords
- flash memory
- memory
- chained list
- controller
- access
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种用来提高一闪存的存取效能的方法以及相关的记忆装置,所述闪存包括多个区块且位于一记忆装置中,所述方法包括:在将数据写入所述闪存的过程中,在所述记忆装置的一随机存取存储器中建立/更新至少一链接表,其中针对所述闪存,所述链接表指出逻辑地址与实体地址之间的链接关系、或实体地址与逻辑地址之间的链接关系;以及只有在侦测到来自一主装置的一清除快取指令时,才将所述链接表写入所述闪存,作为日后存取所述闪存的参考。本发明还提供相关的记忆装置及其控制器,而所述控制器包括:一只读存储器;以及一微处理器。
Description
技术领域
本发明涉及闪存(Flash Memory)的存取(Access),更具体地说,涉及一种用来提高一闪存的存取效能的方法以及相关的记忆装置及其控制器。
背景技术
近年来由于闪存的技术不断地发展,各种可携式记忆装置(例如:符合SD/MMC、CF、MS、XD标准的记忆卡)被广泛地实施于诸多应用中。因此,这些可携式记忆装置中的闪存的存取控制也就成为相当热门的议题。
以常用的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、XD标准的记忆卡)。记忆装置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进行抹除数据的运作以区块为单位来进行抹除。另外,一区块可记录特定数量的页(Page),其中该控制器对闪存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)规范中的E7h指令。相关细节可参考图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出现整体效能低落的状况的机会。尤其是,在遭遇极度频繁的数据存取的状况下,本发明仍能达到可携式记忆装置的最佳整体效能。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (13)
1.一种用来提高一闪存的存取效能的方法,所述闪存包括多个区块且位于一记忆装置中,所述方法包括:
在将数据写入所述闪存的过程中,在所述记忆装置的一随机存取存储器中建立/更新至少一链接表,其中针对所述闪存,所述链接表指出逻辑地址与实体地址之间的链接关系、或实体地址与逻辑地址之间的链接关系;以及
只有在侦测到来自一主装置的一清除快取指令时,才将所述链接表写入所述闪存,作为日后存取所述闪存的参考。
2.根据权利要求1所述的用来提高一闪存的存取效能的方法,还包括:
在所述记忆装置的一启动程序期间或之后,从所述闪存取得所述链接表的一来源版本,作为所述链接表在所述随机存取存储器中在所述启动程序之后的起始版本;
其中将所述链接表写入所述闪存代表将所述链接表的最新版本回存至所述闪存。
3.根据权利要求1所述的用来提高一闪存的存取效能的方法,还包括:
在所述闪存申建立/更新至少一正常关机检核表,其中所述正常关机检核表指出最近一次关机时所述链接表的最新版本是否成功地写入所述闪存。
4.根据权利要求3所述的用来提高一闪存的存取效能的方法,还包括:
在一预定条件成立的状况下,在所述正常关机检核表中写入一第一逻辑值,其中所述第一逻辑值代表所述链接表有所变动或即将有所变动;
在所述链接表的最新版本成功地回存至所述闪存的状况下,在所述正常关机检核表中写入一第二逻辑值;以及
依据所述正常关机检核表中最新写入的值为所述第一逻辑值或所述第二逻辑值,决定是否修复所述链接表的最新版本。
5.根据权利要求4所述的用来提高一闪存的存取效能的方法,其中所述预定条件代表所述记忆装置的开机。
6.根据权利要求4所述的用来提高一闪存的存取效能的方法,其中所述预定条件代表所述记忆装置从所述主装置接收到一写入指令。
7.根据权利要求1所述的用来提高一闪存的存取效能的方法,其中所述记忆装置包括用来存取所述闪存以及管理所述区块的一控制器;以及所述随机存取存储器为所述控制器中的缓冲存储器。
8.一种记忆装置,其包括:
一闪存,所述闪存包括多个区块;以及
一控制器,用来存取所述闪存以及管理所述区块,其中在将数据写入所述闪存的过程中,所述控制器在所述记忆装置的一随机存取存储器中建立/更新至少一链接表,以及针对所述闪存,所述链接表指出逻辑地址与实体地址之间的链接关系、或实体地址与逻辑地址之间的链接关系;
其中只有在侦测到来自一主装置的一清除快取指令时,所述控制器才将所述链接表写入所述闪存,作为日后存取所述闪存的参考。
9.根据权利要求8所述的记忆装置,其中在所述记忆装置的一启动程序期间或之后,所述控制器从所述闪存取得所述链接表的一来源版本,作为所述链接表在所述随机存取存储器中在所述启动程序之后的起始版本;以及将所述链接表写入所述闪存代表将所述链接表的最新版本回存至所述闪存。
10.根据权利要求8所述的记忆装置,其中所述控制器在所述闪存中建立/更新至少一正常关机检核表,且所述正常关机检核表指出最近一次关机时所述链接表的最新版本是否成功地写入所述闪存。
11.根据权利要求10所述的记忆装置,其中在一预定条件成立的状况下,所述控制器在所述正常关机检核表中写入一第一逻辑值,其中所述第一逻辑值代表所述链接表有所变动或即将有所变动;在所述链接表的最新版本成功地回存至所述闪存的状况下,所述控制器在所述正常关机检核表中写入一第二逻辑值;以及所述控制器依据所述正常关机检核表中最新写入的值为所述第一逻辑值或所述第二逻辑值,决定是否修复所述链接表的最新版本。
12.根据权利要求11所述的记忆装置,其中所述预定条件代表所述记忆装置的开机。
13.根据权利要求11所述的记忆装置,其中所述预定条件代表所述记忆装置从所述主装置接收到一写入指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102086720A CN102043728B (zh) | 2009-10-23 | 2009-10-23 | 用来提高闪存存取效能的方法以及相关的记忆装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102086720A CN102043728B (zh) | 2009-10-23 | 2009-10-23 | 用来提高闪存存取效能的方法以及相关的记忆装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102043728A true CN102043728A (zh) | 2011-05-04 |
CN102043728B CN102043728B (zh) | 2012-07-04 |
Family
ID=43909879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102086720A Active CN102043728B (zh) | 2009-10-23 | 2009-10-23 | 用来提高闪存存取效能的方法以及相关的记忆装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102043728B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109634517A (zh) * | 2017-10-06 | 2019-04-16 | 慧荣科技股份有限公司 | 进行存取管理的方法、记忆装置、电子装置和其控制器 |
CN109783396A (zh) * | 2017-11-13 | 2019-05-21 | 慧荣科技股份有限公司 | 存取闪存模块的方法及相关的闪存控制器与电子装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101196851B (zh) * | 2006-12-05 | 2011-09-07 | 慧荣科技股份有限公司 | 闪存的数据管理方法 |
CN101256535B (zh) * | 2007-03-01 | 2011-03-09 | 创惟科技股份有限公司 | 硬盘资料读写快取装置及方法 |
CN101552032B (zh) * | 2008-12-12 | 2012-01-18 | 深圳市晶凯电子技术有限公司 | 用较大容量dram参与闪存介质管理构建高速固态存储盘的方法及装置 |
-
2009
- 2009-10-23 CN CN2009102086720A patent/CN102043728B/zh active Active
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109634517A (zh) * | 2017-10-06 | 2019-04-16 | 慧荣科技股份有限公司 | 进行存取管理的方法、记忆装置、电子装置和其控制器 |
CN109857336A (zh) * | 2017-10-06 | 2019-06-07 | 慧荣科技股份有限公司 | 进行存取管理的方法、记忆装置及其控制器、电子装置 |
US11449435B2 (en) | 2017-10-06 | 2022-09-20 | Silicon Motion, Inc. | Method for performing access management in a memory device, associated memory device and controller thereof, and associated electronic device |
US11550730B2 (en) | 2017-10-06 | 2023-01-10 | Silicon Motion, Inc. | Method for performing access management in a memory device, associated memory device and controller thereof, and associated electronic device |
US11741016B2 (en) | 2017-10-06 | 2023-08-29 | Silicon Motion, Inc. | Method for performing access management in a memory device, associated memory device and controller thereof, and associated electronic device |
US12038849B2 (en) | 2017-10-06 | 2024-07-16 | Silicon Motion, Inc. | Method for performing access management in a memory device, associated memory device and controller thereof, and associated electronic device |
CN109783396A (zh) * | 2017-11-13 | 2019-05-21 | 慧荣科技股份有限公司 | 存取闪存模块的方法及相关的闪存控制器与电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102043728B (zh) | 2012-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8086787B2 (en) | Wear leveling method, and storage system and controller using the same | |
US8234466B2 (en) | Flash memory storage system applying SLC NAND flash memory and MLC NAND flash memory and data writing method thereof | |
US8788778B1 (en) | Garbage collection based on the inactivity level of stored data | |
US8131911B2 (en) | Data writing method, and flash storage system and controller using the same | |
US8250286B2 (en) | Block management method, and storage system and controller using the same | |
US9063728B2 (en) | Systems and methods for handling hibernation data | |
US20170160989A1 (en) | Solid state disk and method for implementing trim command of the same | |
US8214578B2 (en) | Method of storing data into flash memory according to usage patterns of addresses and data storage system using the same | |
CN100501868C (zh) | 基于NAND Flash存储器文件系统的实现方法 | |
US8296504B2 (en) | Data management method and flash memory storage system and controller using the same | |
US20100042774A1 (en) | Block management method for flash memory, and storage system and controller using the same | |
CN104461397A (zh) | 一种固态硬盘及其读写方法 | |
WO2014074449A2 (en) | Wear leveling in flash memory devices with trim commands | |
CN110674056B (zh) | 一种垃圾回收方法及装置 | |
US20090172269A1 (en) | Nonvolatile memory device and associated data merge method | |
CN102033811B (zh) | 用于管理闪存多个区块的方法和相关记忆装置及其控制器 | |
CN106445832A (zh) | 闪存存储系统的地址映射方法及装置 | |
CN101634967A (zh) | 用于闪存的区块管理方法、储存系统与控制器 | |
CN112347001B (zh) | 闪存垃圾回收的校验方法、装置及电子设备 | |
CN102279809A (zh) | 一种在固态硬盘中重定向写入及垃圾回收的方法 | |
CN102890655A (zh) | 存储器储存装置、其存储器控制器与有效数据识别方法 | |
US20220171562A1 (en) | Garbage collection in a memory component using an adjusted parameter | |
US11403018B2 (en) | Method and apparatus for performing block management regarding non-volatile memory | |
CN102043728B (zh) | 用来提高闪存存取效能的方法以及相关的记忆装置 | |
US20110087828A1 (en) | Method for enhancing performance of accessing a flash memory, and associated memory device and controller thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |