存储器控制方法及存储器控制电路的制作方法

文档序号:6503750阅读:155来源:国知局
存储器控制方法及存储器控制电路的制作方法
【专利摘要】本发明一种存储器控制方法及存储器控制电路,该方法包含有:将具有一逻辑地址的一写入数据写入至一写入数据暂存存储器中;产生该写入数据的该逻辑地址相对应于一主要存储器中的一实体地址的一写入地址对照表,并将其写入至一缓存数据对照表写入暂存存储器中;将该写入数据依据该写入地址对照表写入至该主要存储器;以及若该缓存数据对照表写入暂存存储器的可用储存空间达到一预定临界值,则将该缓存数据对照表写入暂存存储器中的该写入地址对照表写入至该主要存储器中,并将相对应的一主要存储器写入地址对照表记录于一整体对照表暂存存储器中。
【专利说明】存储器控制方法及存储器控制电路
【技术领域】
[0001]本发明所公开的实施例相关于存储器控制,尤指一种页面等级(page-level)的存储器控制方法以及相关电路。
【背景技术】
[0002]近年来固态硬盘(Solid State Drive, SSD)(例如与非门快闪存储器(NANDflash))逐渐巩固其在储存媒介市场中的地位,并且广泛地被使用在个人电脑以及各种移动装置之中。相较于传统硬盘,固态硬盘不需要任何机械元件,没有搜寻及转动所导致的延迟,因此较为省电,然而快闪存储器的效能会受到数据负载的影响,例如对固态硬盘进行随机读写和连续读写具有很大的效能差异。其中,快闪存储器转换层(Flash TranslationLayer,FTL)负责了虚拟地址和实体地址之间的转换,因此快闪存储器转换层的设计对于固态硬盘的效能来说便相当重要。
[0003]传统上,快闪存储器转换层当中会使用一个随机存取存储器(random accessmemory, RAM)来记录虚拟地址和实体地址之间的转换对照表,然而,随着快闪存储器的容量需求越来越高,相对地,快闪存储器转换层当中的随机存取存储器大小也会跟着增加,尤其是当快闪存储器转换层采用的是单位较为细小的页面等级(page-level)地址对照方式时,会快速地增加产品体积以及制造成本。因此,为了能够在固态硬盘系统中降低对随机存取存储器的需求,又要能够兼顾固态硬盘进行随机读写时的效能,便需要一种创新的页面等级存储器控制方法。

【发明内容】

[0004]本发明的目的之一在于提供一种页面等级存储器控制方法以及相关电路来改善上述的问题。
[0005]根据本发明的第一实施例,公开一种存储器控制方法。该存储器控制方法包含有:将具有一逻辑地址的一写入数据写入至一写入数据暂存存储器(cache buffer)中;产生该写入数据的该逻辑地址相对应于一主要存储器中的一实体地址的一写入地址对照表,并将其写入至一缓存(cached)数据对照表写入暂存存储器中;将该写入数据依据该写入地址对照表写入至该主要存储器;以及若该缓存数据对照表写入暂存存储器的可用储存空间达到一预定临界值,则将该缓存数据对照表写入暂存存储器中的该写入地址对照表写入至该主要存储器中,并将相对应的一主要存储器写入地址对照表记录于一整体对照表暂存存储器中。
[0006]根据本发明的第二实施例,公开一种存储器控制方法。该存储器控制方法包含有:在一缓存数据对照表写入暂存存储器中搜寻所欲读取的一读取数据的一逻辑地址相对应于一主要存储器中的一实体地址的一读取地址对照表;若该读取地址对照表存在于该缓存数据对照表写入暂存存储器中,则将具有该实体地址的该读取数据从该主要存储器中读取出来,并写入至一读取数据暂存存储器中。[0007]根据本发明的第三实施例,公开一种存储器控制电路。该存储器控制电路包含有:一写入数据暂存存储器、一缓存数据对照表写入暂存存储器以及一整体对照表暂存存储器。其中该写入数据暂存存储器用来储存具有一逻辑地址的一写入数据;该缓存数据对照表写入暂存存储器用来储存该写入数据的该逻辑地址相对应于一主要存储器中的一实体地址的一写入地址对照表;以及该整体对照表暂存存储器用来在该缓存数据对照表写入暂存存储器的可用储存空间达到一预定临界值时,储存被写入至该主要存储器中的该缓存数据对照表写入暂存存储器中的该写入地址对照表的相对应的一主要存储器写入地址对照表。 [0008]根据本发明的第四实施例,公开一种存储器控制电路。该存储器控制电路包含有:一缓存数据对照表读取暂存存储器、一读取数据暂存存储器以及一整体对照表暂存存储器。其中该缓存数据对照表读取暂存存储器用来储存所欲读取的一读取数据的一逻辑地址相对应于一主要存储器中的一实体地址的一读取地址对照表;该读取数据暂存存储器用来储存从该主要存储器中所读取出来的具有该实体地址的该读取数据;以及该整体对照表暂存存储器用来从该主要存储器中找出该读取地址对照表。
[0009]本发明在不过度影响随机数据的读写效能的情况下,使用主要存储器中的一小部分空间来取代传统的暂存存储器,一方面可增加硬件的弹性,另一方面又可大幅地减少了成本。
【专利附图】

【附图说明】
[0010]图1为本发明存储器写入控制方法的一示范性实施例的流程图。
[0011]图2为本发明存储器读取控制方法的一示范性实施例的流程图。
[0012]图3为本发明存储器控制装置的一示范性实施例的示意图。
[0013]【符号说明】
[0014]200 ~204 步骤
[0015]300存储器控制装置
[0016]302串行先进技术附件缓冲器
[0017]304第一直接存储器存取单元
[0018]306处理器
[0019]308读取数据暂存存储器
[0020]310写入数据暂存存储器
[0021]312缓存数据对照表读取暂存存储器
[0022]314缓存数据对照表写入暂存存储器
[0023]316整体对照表暂存存储器
[0024]320第二直接存储器存取单元
[0025]322与非门快闪存储器
【具体实施方式】
[0026]在说明书及后续的权利要求书当中使用了某些词汇来指称特定的元件。所属领域中具有通常知识者应可理解,制造商可能会用不同的名词来称呼同样的元件。本说明书及后续的权利要求书并不以名称的差异来作为区分元件的方式,而是以元件在功能上的差异来作为区分的准则。在通篇说明书及后续的请求项当中所提及的“包含”为一开放式的用语,故应解释成“包含但不限定于”。另外,“耦接”一词在此包含任何直接及间接的电气连接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表该第一装置可直接电气连接于该第二装置,或通过其他装置或连接手段间接地电气连接至该第二装置。
[0027]请参考图1,图1为本发明存储器写入控制方法的一示范性实施例的流程图。倘若大体上可达到相同的结果,并不需要一定遵照图1所示的流程中的步骤顺序来进行,且图1所示的步骤不一定要连续进行,亦即其他步骤亦可插入其中,此外,图1中的某些步骤亦可根据不同实施例或设计需求省略之。该方法包含有以下步骤:
[0028]步骤100:将具有一逻辑地址的一写入数据写入至一写入数据暂存存储器中;
[0029]步骤102:产生该写入数据的该逻辑地址相对应于一主要存储器中的一实体地址的一写入地址对照表,并将其写入至一缓存数据对照表写入暂存存储器中;
[0030]步骤104:将该写入数据依据该写入地址对照表写入至该主要存储器;以及
[0031]步骤106:若该缓存数据对照表写入暂存存储器的可用储存空间达到一预定临界值,则将该缓存数据对照表写入暂存存储器中的该写入地址对照表写入至该主要存储器中,并将相对应的一主要存储器写入地址对照表记录于一整体对照表暂存存储器中。
[0032]关于图1所示的存储器写入控制方法,请一并参考图3,图3为本发明存储器控制装置的一示范性实施例的示意图。存储器控制装置300用以将上层的逻辑页码(logicalpage number, LPN)转换为固态硬盘中的实体页码(physical page number, PPN),以及包含有一串行先进技术附件(SATA)缓冲器302、一第一直接存储器存取单元(Direct MemoryAccess, DMA) 304、一处理器306、一读取数据暂存存储器308、一写入数据暂存存储器310、一缓存数据对照表读取暂存存储器312、一缓存数据对照表写入暂存存储器314、一整体对照表暂存存储器316、一第二直接存储器存取单元320以及一与非门快闪存储器322。当上层系统欲对与非门快闪存储器322进行一特定写入数据的写入时,首先将该特定写入数据经由SATA缓冲器302通过第一直接存储器存取单元304依序将该特定写入数据写入至写入数据暂存存储器310中,即步骤100。同时,处理器306会产生该特定写入数据的一逻辑地址相对应于与非门快闪存储器322中的一实体地址的一写入地址对照表,并将其写入至缓存数据对照表写入暂存存储器314中,即步骤102。请注意,本发明的存储器控制装置300可针对以页面等级(page-level)为单位的存储器数据读写及地址对照,举例来说,若与非门快闪存储器322中每一页面大小是8K位元组,则无论上层SATA的每一单元大小为何,第一直接存储器存取单元304都会依序将其暂存于写入数据暂存存储器310中,至少待集满一个页面才会通过第二直接存储器存取单元320来将其写入至与非门快闪存储器322中,即步骤104。应注意的是,本实施例中的存储器控制装置300用以控制一 SATA设备端(即与非门快闪存储器322),以及用以通过SATA缓冲器302以及第一直接存储器存取单元304来连结一 SATA主控端,然而实际上本发明并非限定于SATA系统,举例来说,SATA缓冲器302以及第一直接存储器存取单元304可以变化为通用串行总线3.0(USB3.0)缓冲器以及符合USB3.0规范的直接存储器存取单元,除此之外,与非门快闪存储器322亦可以变化为其他种类的固态存储器。这些设计上的变化均落入本发明的范畴。
[0033]本实施例中的缓存数据对照表写入暂存存储器314的大小是64k位元组,然而此仅作为范例说明之用,并非本发明的限制所在。若缓存数据对照表写入暂存存储器314的可用储存空间达到一写入预定临界值Tl时,则先将缓存数据对照表写入暂存存储器314中的写入地址对照表依其逻辑地址按固定大小(例如SM位元组)为间隔单位予以群组,再依组别将其写入至与非门快闪存储器322中,最后并将相对应的一主要存储器写入地址对照表记录于整体对照表暂存存储器316中,即步骤106。应注意的是,在本实施例中,与非门快闪存储器322中会保留千分之一的空间(不以此为限)供该写入地址对照表的存放,然而将缓存数据对照表写入暂存存储器314中的该写入地址对照表写入至与非门快闪存储器322时,并不需要将其写入至与非门快闪存储器322中与一般数据有所区别的特定区域中,换句话说,与非门快闪存储器322中的该写入地址对照表至可混合于一般数据中(亦即当作一般数据来进行数据写入处理),之后需要使用的时候可以依据整体对照表暂存存储器316中所记录的该主要存储器写入地址对照表来找到相对应的该写入地址对照表,如此一来,可以避免与非门快闪存储器322中特定区域的存取次数高于一般数据区域的情况而造成存储器元件的早衰,另一方面,传统的作法中,需要将所有的写入地址对照表记录于暂存存储器中,而随着存储器的增加,往往需要将占存存储器的尺寸增加到数十个或是数百个百万位元组以上;本发明借用与非门快闪存储器322中的一小部分的空间,一方面可增加硬件的弹性,另一方面又可大幅地减少了成本。
[0034]请参考图2,图2为本发明存储器读取控制方法的一示范性实施例的流程图。倘若大体上可达到相同的结果,并不需要一定遵照图2所示的流程中的步骤顺序来进行,且图2所示的步骤不一定要连续进行,亦即其他步骤亦可插入其中,此外,图2中的某些步骤亦可根据不同实施例或设计需求省略之。该方法包含有以下步骤:
[0035]步骤200:在一缓存数据对照表读取暂存存储器中搜寻所欲读取的一读取数据的一逻辑地址相对应于一主要存储器中的一实体地址的一读取地址对照表;
[0036]步骤202:若该读取地址对照表存在于该缓存数据对照表写入暂存存储器中,则将具有该实体地址的该读取数据从该主要存储器中读取出来,并写入至一读取数据暂存存储器中;
[0037]步骤204:若该读取地址对照表不存在于该缓存数据对照表写入暂存存储器中,则搜寻一缓存数据对照表读取暂存存储器;
[0038]步骤206:若该读取地址对照表存在于该缓存数据对照表读取暂存存储器中,则将具有该实体地址的该读取数据从该主要存储器中读取出来,并写入至该读取数据暂存存储器中;
[0039]步骤208:若该读取地址对照表不存在于该缓存数据对照表写入暂存存储器以及该缓存数据对照表读取暂存存储器中,则搜寻一整体对照表暂存存储器;以及
[0040]步骤210:借由该整体对照表暂存存储器来将该读取地址对照表从该主要存储器中读取至该缓存数据对照表读取暂存存储器中,并且将具有该实体地址的该读取数据从该主要存储器中读取出来,并写入至该读取数据暂存存储器中。
[0041]同样地,请一并参考图2与图3。当上层系统欲读取与非门快闪存储器322中一特定读取数据时,处理器306会要求在一缓存数据对照表写入暂存存储器314中搜寻所欲读取的一读取数据的一逻辑地址相对应于一主要存储器中的一实体地址的一读取地址对照表,即步骤200。若该读取地址对照表存在于该缓存数据对照表写入暂存存储器314中,则第二直接存储器存取单元320会将具有该实体地址的该读取数据从与非门快闪存储器322中读取出来,并写入至一读取数据暂存存储器中308中,即步骤202。若该读取地址对照表不存在于缓存数据对照表写入暂存存储器314中,则搜寻一缓存数据对照表读取暂存存储器312,即步骤204。接下来,若该读取地址对照表存在于缓存数据对照表读取暂存存储器312中,则第二直接存储器存取单元320会将具有该实体地址的该读取数据从与非门快闪存储器322中读取出来,并写入至读取数据暂存存储器308中,即步骤206。然而,若该读取地址对照表不存在于缓存数据对照表写入暂存存储器314以及缓存数据对照表读取暂存存储器312中,则搜寻一整体对照表暂存存储器316,即步骤208。最后,在步骤210中,借由整体对照表暂存存储器316来将该读取地址对照表从与非门快闪存储器322中读取至缓存数据对照表读取暂存存储器312中,并且将具有该实体地址的该读取数据从与非门快闪存储器322中读取出来,并写入至读取数据暂存存储器308中。此外,本实施例中的缓存数据对照表读取暂存存储器312的大小是16k位元组,然而此仅作为范例说明之用,并非本发明的限制所在。本发明在不过度影响随机数据的读写效能的情况下,使用主要存储器中的一小部分空间来取代传统的暂存存储器,一方面增加硬件的弹性,另一方面又大幅地减少了成本。
【权利要求】
1.一种存储器控制方法,包含有: 将具有一逻辑地址的一写入数据写入至一写入数据暂存存储器中; 产生该写入数据的该逻辑地址相对应于一主要存储器中的一实体地址的一写入地址对照表,并将其写入至一缓存数据对照表写入暂存存储器中; 将该写入数据依据该写入地址对照表写入至该主要存储器;以及若该缓存数据对照表写入暂存存储器的可用储存空间达到一预定临界值,则将该缓存数据对照表写入暂存存储器中的该写入地址对照表写入至该主要存储器中,并将相对应的一主要存储器写入地址对照表记录于一整体对照表暂存存储器中。
2.如权利要求1所述的存储器控制方法,其特征在于,该主要存储器是一与非门快闪存储器。
3.如权利要求1所述的存储器控制方法,其特征在于,其是基于页面等级的控制方法。
4.如权利要求1所述的存储器控制方法,其特征在于,将该缓存数据对照表写入暂存存储器中的该写入地址对照表写入至该主要存储器中的步骤包含有: 将该缓存数据对照表写入暂存存储器中的该写入地址对照表写入至该主要存储器中,而无需将其写入至该主要存储器中与一般数据有所区别的特定区域中。
5.—种存储器控制方法,包含有: 在一缓存数据对照表写入暂存存储器中搜寻所欲读取的一读取数据的一逻辑地址相对应于一主要存储器中的一实体地址的一读取地址对照表; 若该读取地址对照表存在于该缓存数据对照表写入暂存存储器中,则将具有该实体地址的该读取数据从该主要存储器中读取出来,并写入至一读取数据暂存存储器中。
6.如权利要求5所述的存储器控制方法,其特征在于,另包含有: 若该读取地址对照表不存在于该缓存数据对照表写入暂存存储器中,则搜寻一缓存数据对照表读取暂存存储器; 若该读取地址对照表存在于该缓存数据对照表读取暂存存储器中,则将具有该实体地址的该读取数据从该主要存储器中读取出来,并写入至该读取数据暂存存储器中。
7.如权利要求5所述的存储器控制方法,其特征在于,另包含有: 若该读取地址对照表不存在于该缓存数据对照表写入暂存存储器以及该缓存数据对照表读取暂存存储器中,则搜寻一整体对照表暂存存储器; 借由该整体对照表暂存存储器来将该读取地址对照表从该主要存储器中读取至该缓存数据对照表读取暂存存储器中,并且将具有该实体地址的该读取数据从该主要存储器中读取出来,并写入至该读取数据暂存存储器中。
8.如权利要求5所述的存储器控制方法,其特征在于,该主要存储器是一与非门快闪存储器。
9.如权利要求5所述的存储器控制方法,其特征在于,其是基于页面等级的控制方法。
10.一种存储器控制电路,包含有: 一写入数据暂存存储器,用来储存具有一逻辑地址的一写入数据; 一缓存数据对照表写入暂存存储器,用来储存该写入数据的该逻辑地址相对应于一主要存储器中的一实体地址的一写入地址对照表;以及 一整体对照表暂存存储器,用来在该缓存数据对照表写入暂存存储器的可用储存空间达到一预定临界值时,储存被写入至该主要存储器中的该缓存数据对照表写入暂存存储器中的该写入地址对照表的相对应的一主要存储器写入地址对照表。
11.如权利要求10所述的存储器控制电路,其特征在于,其是基于页面等级的存储器控制电路。
12.—种存储器控制电路,包含有: 一缓存数据对照表读取暂存存储器,用来储存所欲读取的一读取数据的一逻辑地址相对应于一主要存储器中的一实体地址的一读取地址对照表; 一读取数据暂存存储器,用来储存从该主要存储器中所读取出来的具有该实体地址的该读取数据;以及 一整体对照表暂存存储器,用来从该主要存储器中找出该读取地址对照表。
13.如权利要 求12所述的存储器控制电路,其特征在于,其是基于页面等级的存储器控制电路。
【文档编号】G06F12/08GK103577346SQ201310218907
【公开日】2014年2月12日 申请日期:2013年6月4日 优先权日:2012年7月19日
【发明者】袁国华, 邱永丰, 赵秀哲 申请人:智微科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1