进行动态资源管理的方法、记忆装置及记忆装置的控制器与流程

文档序号:16972451发布日期:2019-02-26 18:41阅读:150来源:国知局
本发明涉及闪存(flashmemory)的存取(access),尤其涉及一种用来于一记忆装置中进行动态资源管理的方法以及相关的记忆装置及其控制器。
背景技术
::近年来由于存储器的技术不断地发展,各种可携式记忆装置(例如:符合sd/mmc、cf、ms、或xd标准的记忆卡)被广泛地实施于诸多应用中。因此,这些可携式记忆装置中的存储器的访问控制遂成为相当热门的议题。以常用的nand型闪存而言,其主要可区分为单阶细胞(singlelevelcell,slc)与多阶细胞(multiplelevelcell,mlc)两大类的闪存。单阶细胞闪存中的每个被当作记忆细胞(memorycell)的晶体管只有两种电荷值,分别用来表示逻辑值0与逻辑值1。另外,多阶细胞闪存中的每个被当作记忆单元的晶体管的存储能力则被充分利用,采用较高的电压来驱动,以通过不同级别的电压在一个晶体管中记录至少两组位信息(诸如00、01、11、10);理论上,多阶细胞闪存的记录密度可以达到单阶细胞闪存的记录密度的至少两倍,这对于曾经在发展过程中遇到瓶颈的nand型闪存的相关产业而言,是非常好的消息。相较于单阶细胞闪存,由于多阶细胞闪存的价格较便宜,并且在有限的空间里可提供较大的容量,故多阶细胞闪存很快地成为市面上的可携式记忆装置竞相采用的主流。然而,多阶细胞闪存的不稳定性所导致的问题也一一浮现。为了确保可携式记忆装置对闪存的访问控制能符合相关规范,闪存的控制器通常备有某些管理机制以妥善地管理数据的存取。依据相关技术,有了这些管理机制的记忆装置还是有不足之处。举例来说,因应的某些类型的读取(read)运作,记忆装置中用来进行存取管理的硬件资源可能不敷使用而导致整体效能变差。因此,需要一种新颖的方法及存储器存取架构,以在没有副作用或较不可能带来副作用的状况下达到记忆装置的优化(optimal)效能。技术实现要素:本发明的一目的在于公开一种用来于一记忆装置中进行动态资源管理的方法以及相关的记忆装置及其控制器,以解决上述问题。本发明的另一目的在于公开一种用来于一记忆装置中进行动态资源管理的方法以及相关的记忆装置及其控制器,以在没有副作用或较不可能带来副作用的状况下达到记忆装置的优化(optimal)效能。本发明的至少一实施例公开一种用来于一记忆装置中进行动态资源管理的方法,其中所述记忆装置包括一非挥发性存储器(non-volatilememory,nvmemory),且所述非挥发性存储器包括多个非挥发性存储器组件(nvmemoryelement)。例如,所述方法可包括:分别存储涉及多个主装置指令(hostcommand)的多组实体区域描述符(physicalregiondescriptor,prd)信息,且将分别对应于所述多组实体区域描述符信息的多个中间(intermediate)实体区域描述符存储进入一第一队列(queue),其中所述多个主装置指令是接收自所述记忆装置以外,且所述多个中间实体区域描述符中的任一者包括所述多组实体区域描述符信息中的一组的辨识符(identifier,id);从所述第一队列取得所述多个中间实体区域描述符中的一中间实体区域描述符,且将所述中间实体区域描述符存储进入一第二队列;依据所述第二队列中的所述中间实体区域描述符,传送一指令至所述非挥发性存储器,以存取(access)所述多个非挥发性存储器组件的至少一非挥发性存储器组件中的数据;以及当存取所述数据的运作成功,将所述中间实体区域描述符从所述第二队列释放(release)至所述第一队列。本发明的至少一实施例公开一种记忆装置,其包括有:一非挥发性存储器,用来存储信息,其中所述非挥发性存储器包括多个非挥发性存储器组件;以及一控制器,耦接至所述非挥发性存储器,用来控制所述记忆装置的运作。例如:所述控制器可包括一多队列型(multi-queuetype)实体区域描述符存储模块,其可用来存储至少一实体区域描述符,其中所述多队列型实体区域描述符存储模块包括一实体区域描述符信息缓存器、一第一队列(queue)以及一第二队列。另外,所述控制器可还包括一处理电路,而所述处理电路可用来依据来自一主装置(hostdevice)的多个主装置指令控制所述控制器,以容许所述主装置通过所述控制器存取所述非挥发性存储器。此外,所述控制器于所述实体区域描述符信息缓存器中分别存储涉及所述多个主装置指令的多组实体区域描述符信息,且将分别对应于所述多组实体区域描述符信息的多个中间实体区域描述符存储进入所述第一队列,其中所述多个中间实体区域描述符中的任一者包括所述多组实体区域描述符信息中的一组的辨识符。所述控制器从所述第一队列取得所述多个中间实体区域描述符中的一中间实体区域描述符,且将所述中间实体区域描述符存储进入所述第二队列;依据所述第二队列中的所述中间实体区域描述符,所述控制器传送一指令至所述非挥发性存储器,以存取所述多个非挥发性存储器组件的至少一非挥发性存储器组件中的数据。当存取所述数据的运作成功,所述控制器将所述中间实体区域描述符从所述第二队列释放至所述第一队列。本发明的至少一实施例公开一种记忆装置的控制器,其中所述记忆装置包括所述控制器与一非挥发性存储器,且所述非挥发性存储器包括多个非挥发性存储器组件。例如,所述控制器可包括一多队列型实体区域描述符存储模块,其可用来存储至少一实体区域描述符,其中所述多队列型实体区域描述符存储模块包括一实体区域描述符信息缓存器、一第一队列以及一第二队列。另外,所述控制器可还包括一处理电路,而所述处理电路可用来依据来自一主装置的多个主装置指令控制所述控制器,以容许所述主装置通过所述控制器存取所述非挥发性存储器。此外,所述控制器于所述实体区域描述符信息缓存器中分别存储涉及所述多个主装置指令的多组实体区域描述符信息,且将分别对应于所述多组实体区域描述符信息的多个中间实体区域描述符存储进入所述第一队列,其中所述多个中间实体区域描述符中的任一者包括所述多组实体区域描述符信息中的一组的辨识符。所述控制器从所述第一队列取得所述多个中间实体区域描述符中的一中间实体区域描述符,且将所述中间实体区域描述符存储进入所述第二队列;依据所述第二队列中的所述中间实体区域描述符,所述控制器传送一指令至所述非挥发性存储器,以存取所述多个非挥发性存储器组件的至少一非挥发性存储器组件中的数据。当存取所述数据的运作成功,所述控制器将所述中间实体区域描述符从所述第二队列释放至所述第一队列。本发明的好处之一在于,通过适当地进行动态资源管理,本发明能针对所述控制器的运作进行妥善的控制,以避免记忆装置中用来进行存取管理的硬件资源不足。另外,依据本发明的相关实施例来实施并不会增加许多额外的成本,甚至比相关技术更能节省成本。因此,相关技术的问题可被解决,且整体成本不会增加太多。相较于相关技术,本发明能在没有副作用或较不可能带来副作用的状况下达到记忆装置的优化效能。附图说明图1为依据本发明一第一实施例的一种记忆装置与一主装置(hostdevice)的示意图。图2绘示图1所示实体区域描述符存储模块于一实施例中的实施细节。图3为依据本发明一实施例的一种用来于一记忆装置中进行动态资源管理的方法的流程图。图4绘示图3所示方法于一实施例中之后指派(post-assign)控制方案。图5绘示图3所示方法于一实施例中的多队列(multi-queue)控制方案。图6绘示图3所示方法于一实施例中的分时缓冲器(timesharingbuffer,tsb)资源管理方案。其中,附图标记说明如下:50主装置100记忆装置110存储器控制器112微处理器112c程序代码112m只读存储器114控制逻辑电路115实体区域描述符存储模块116缓冲存储器118传输接口电路120非挥发性存储器122-1,122-2,…,122-n非挥发性存储器组件210实体区域描述符信息缓存器300用来于记忆装置中进行动态资源管理的方法s310接收主装置指令的步骤s312存储实体区域描述符信息的步骤s314将中间实体区域描述符存储进入第一队列的步骤s316将第一队列中的部分中间实体区域描述符搬移到第二队列的步骤s318检查第二队列的中间实体区域描述符中操作同一非挥发性存储器组件者的数量是否达到预定数量门坎值的步骤s320调整第二队列的中间实体区域描述符的顺序的步骤s322操作非挥发性存储器以取得操作结果的步骤s324输出操作结果至主装置的步骤s326将中间实体区域描述符从第二队列搬移至第一队列的步骤s328检查第一队列中是否有尚未被搬移的中间实体区域描述符的步骤s330检查第二队列中是否有尚未被处理的中间实体区域描述符的步骤f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11中间实体区域描述符h1,h2,h3,h4硬件实体区域描述符head_ptr(a),head_ptr(b)头部指标hwprd硬件实体区域描述符存储模块prdinf,prdinf(1),prdinf(2),prdinf(3),prdinf(4),…实体区域描述符信息queue(a)第一队列queue(b)第二队列tail_ptr(a),tail_ptr(b)尾部指标具体实施方式i.存储器系统请参考图1,图1为依据本发明一第一实施例的一种记忆装置100与一主装置(hostdevice)50的示意图。例如:记忆装置100可为一可携式记忆装置(例如:符合sd/mmc、cf、ms、或xd标准的记忆卡)或固态硬盘(solidstatedrive,ssd)。另外,主装置50的例子可包括(但不限于):多功能移动电话(multifunctionalmobilephone)、平板计算机(tablet)、可穿戴装置(wearabledevice)、以及个人计算机(personalcomputer)诸如桌面计算机与膝上型计算机。依据本实施例,记忆装置100可包括一控制器诸如存储器控制器110,且可还包括一非挥发性存储器(non-volatilememory,nvmemory)120,其中所述控制器是用来存取(access)非挥发性存储器120,且非挥发性存储器120是用来存储信息。非挥发性存储器120可包括多个非挥发性存储器组件(nvmemoryelement)122-1、122-2、…与122-n,其中符号「n」可代表大于一的正整数。例如:非挥发性存储器120可为一闪存(flashmemory),而非挥发性存储器组件122-1、122-2、…与122-n可分别为多个闪存芯片(flashmemorychip)或多个闪存裸晶(flashmemorydie),但本发明不限于此。如图1所示,存储器控制器110可包括处理电路诸如微处理器112、存储器诸如只读存储器(readonlymemory,rom)112m、控制逻辑电路114、实体区域描述符(physicalregiondescriptor,prd)存储模块115、缓冲存储器116、与传输接口电路118,其中这些组件可通过总线彼此耦接。缓冲存储器116是以随机存取存储器(randomaccessmemory,ram)来实施。实体区域描述符存储模块115可用来存储至少一实体区域描述符,且可用任何形式的存储器(例如:所述随机存取存储器或任何其它存储器)来实施,但本发明不限于此。另外,本实施例的只读存储器112m是用来存储一程序代码112c,而微处理器112则用来执行程序代码112c以控制对非挥发性存储器120的存取。请注意,程序代码112c也可以存储在缓冲存储器116或任何形式的存储器内。此外,控制逻辑电路114可包括一错误更正码电路(未显示),以保护数据、或进行错误更正,而传输接口电路118可符合一特定通信标准(诸如串行高级技术附件(serialadvancedtechnologyattachment,sata)标准、通用串行总线(universalserialbus,usb)标准、或快捷外设互联(peripheralcomponentinterconnectexpress,pcie)标准)且可依据所述特定通信标准进行通信。于本实施例中,主装置50可通过传送主装置指令(hostcommand)与对应的逻辑地址予存储器控制器110来间接地存取记忆装置100。存储器控制器110接收主装置指令与逻辑地址,并将主装置指令转译成存储器操作指令(简称操作指令),再以操作指令控制非挥发性存储器120读取、写入(write)/编程(program)非挥发性存储器120当中特定实体地址的记忆单位(memoryunit)或数据页(page),其中实体地址对应于逻辑地址。在下述说明中,将以非挥发性存储器120的读取操作为例进行说明,但本发明不以此为限。ii.多队列架构存储器控制器110可以队列多个主装置指令,并依序执行主装置指令,最后,回传操作结果至主装置50。然而,主装置指令的完成时间或成功与否可能与预期不符,如果于接收主装置指令时即对主装置指令预留系统资源,这可能造成系统资源的长期占用及低效率。因此,本发明采用多队列架构并赋予其每一队列不同的功能,且于回传操作结果至主装置50时才占用系统资源,如此一来,可有效地克服主装置指令执行时所造成的问题。图2绘示图1所示实体区域描述符存储模块115于一实施例中的实施细节。实体区域描述符存储模块115可包括实体区域描述符信息(physicalregiondescriptorinformation,prdinformation)缓存器210、第一队列queue(a)以及第二队列queue(b)。例如第一队列queue(a)与第二队列queue(b)可实施成循环(cyclic)缓冲器,但本发明不限于此。存储器控制器110的微处理器112接收多个主装置指令后,可于实体区域描述符信息缓存器210中分别存储涉及所述多个主装置指令的多组实体区域描述符信息prdinf。所述多组实体区域描述符信息prdinf可包括图2所示的各组实体区域描述符信息prdinf(1)、prdinf(2)、prdinf(3)、prdinf(4)…等。依据本实施例,实体区域描述符信息prdinf是涉及这些主装置指令的参数,例如所述多组实体区域描述符信息prdinf中的任一组(尤其是每一组)可包括:指令标识符(commandid)、目标数据的逻辑区块地址(logicalblockaddress,lba)、主装置存储器的地址、数据读取量(data-transferamount)、指令型态等等。另外,微处理器112依据闪存转换层(flashtranslationlayer,ftl)或是逻辑地址-物理地址对照表(hostlogical-to-flashphysicaladdressmappingtable;或h2ftable)可以得知操作非挥发性存储器组件所需的操作参数,例如,通道(channel,ch)参数、芯片启用(chipenable,ce)等参数等,操作参数也可记录至实体区域描述符信息prdinf。如果是写入操作时,存储实体区域描述符信息prdinf更包括记录用户数据目前所暂存的地址,例如:用户数据在存储器控制器110内建的分时缓冲器(timesharingbuffer,tsb)或缓冲存储器116中的地址。在微处理器112的控制下,存储器控制器110可将分别对应于所述多组实体区域描述符信息prdinf的多个中间(intermediate)实体区域描述符存储进入第一队列queue(a)。所述多个中间实体区域描述符中的任一者可包括所述多组实体区域描述符信息prdinf中的一组的辨识符(identifier,id),或是所述多组实体区域描述符信息prdinf中的所述组的地址,或是指向所述多组实体区域描述符信息prdinf中的所述组的地址的指标(pointer),但本发明不限于此。在微处理器112的控制下,存储器控制器110可安排所述多个中间实体区域描述符队列(queuing)在第一队列queue(a)或第二队列queue(b)中,犹如所述多组实体区域描述符信息prdinf队列在第一队列queue(a)或第二队列queue(b)中。例如:存储器控制器110可保持所述多个中间实体区域描述符中的至少一部分(例如一部分或全部)队列在第一队列queue(a)中。又例如:于需要时,存储器控制器110可将所述多个中间实体区域描述符中的一个或多个中间实体区域描述符从第一队列queue(a)移动至第二队列queue(b)。又例如:于需要时,存储器控制器110可将所述一个或多个中间实体区域描述符从第二队列queue(b)移动至第一队列queue(a)。依据本实施例,存储于第一队列queue(a)中的多个中间实体区域描述符可代表待处理的第一层排队中实体区域描述符(firstlayerofqueuedprd),而存储于第二队列queue(b)中的多个中间实体区域描述符可代表处理中的第二层排队中实体区域描述符(secondlayerofqueuedprd);其中,处理中的第二层排队中实体区域描述符较佳取自于待处理的第一层排队中实体区域描述符,但本发明不限于此。如图2所示,存储器控制器110可分别利用头部指标head_ptr(a)与尾部指标tail_ptr(a)来指出第一队列queue(a)中的所述第一层排队中实体区域描述符的序列的头部与尾部。依据本实施例,存储器控制器110可从第一队列queue(a)中的这个序列的尾部取出某一中间实体区域描述符、并将此中间实体区域描述符搬移至第二队列queue(b)、执行此中间实体区域描述符、于执行完毕后将此中间实体区域描述符搬移至第一队列queue(a)中的这个序列的头部,但本发明不限于此。例如:在第一时刻,第一队列queue(a)包括分别对应于四组实体区域描述符信息prdinf(1)、prdinf(2)、prdinf(3)与prdinf(4)的四个中间实体区域描述符f1、f2、f3与f4,其中中间实体区域描述符f4与f1可分别位于第一队列queue(a)的头部与尾部,并且在中间实体区域描述符f1、f2、f3与f4依序加入第一队列queue(a)的过程中,存储器控制器110可对应地将头部指标head_ptr(a)指向最新加入的中间实体区域描述符,以更新第一队列queue(a)的头部的位置。在另一时刻,存储器控制器110可从第一队列queue(a)的尾部取出中间实体区域描述符f1,且对应地将尾部指标tail_ptr(a)指向中间实体区域描述符f2,这表示这个序列变得更短。在又一时刻,存储器控制器110可将被执行完成的中间实体区域描述符f1加入到第一队列queue(a),即第一队列queue(a)中目前序列以外的下一个位置,诸如紧邻于中间实体区域描述符f4的位置,其中在加入中间实体区域描述符f1至第一队列queue(a)之前,存储器控制器110已触发主装置50读取对应于中间实体区域描述符f1的数据。此状况下,对应于中间实体区域描述符f1的这一组实体区域描述符信息prdinf(1)已变成无效(invalid)信息。当收到新的主装置指令,存储器控制器110可将所述无效信息取代为对应至新的主装置指令的新的一组实体区域描述符信息prdinf’(1)、且对应地将头部指标head_ptr(a)移到中间实体区域描述符f4右侧的位置以记录新的中间实体区域描述符f1’(其紧邻于中间实体区域描述符f4右侧),这表示这个序列变得更长。如此,随着这个序列变化,头部指标head_ptr(a)与尾部指标tail_ptr(a)可对应地变化。相仿地,存储器控制器110可分别利用头部指标head_ptr(b)与尾部指标tail_ptr(b)来指出第二队列queue(b)中的所述第二层排队中实体区域描述符的序列的头部与尾部。依据本实施例,存储器控制器110可将从第一队列queue(a)所取得的某一中间实体区域描述符搬移到第二队列queue(b)中的这个序列的头部以等待被处理,但本发明不限于此。例如:在第二时刻,这个序列包括分别对应于二组实体区域描述符信息prdinf(1)与prdinf(2)的二个中间实体区域描述符f1与f2,其中中间实体区域描述符f2与f1可分别位于这个序列的头部与尾部,并且在中间实体区域描述符f1与f2依序加入这个序列的过程中,存储器控制器110可对应地将头部指标head_ptr(b)移到最新加入的中间实体区域描述符,以更新这个序列的头部的位置。存储器控制器110依据中间实体区域描述符f1所对应的实体区域描述符信息prdinf(1)操作非挥发性存储器120。当操作成功并产生操作结果后,存储器控制器110依据中间实体区域描述符f1所对应的实体区域描述符信息prdinf(1)回传操作结果至主装置50,此时,存储器控制器110已将中间实体区域描述符f1处理完毕。存储器控制器110可将处理完成后的中间实体区域描述符f1从第二队列queue(b)搬移至第一队列queue(a),且对应地将尾部指标tail_ptr(b)指向中间实体区域描述符f2。假设存储器控制器110接着将中间实体区域描述符f2处理完毕。存储器控制器110可将被处理后的中间实体区域描述符f2从第二队列queue(b)搬移至第一队列queue(a)、且将尾部指标tail_ptr(b)指向第二队列queue(b)中的下一个中间实体区域描述符(诸如刚加入的中间实体区域描述符f3)。如此,随着这个序列变化,头部指标head_ptr(b)与尾部指标tail_ptr(b)可对应地变化。在另一实施方式中,存储器控制器110依据中间实体区域描述符所对应的实体区域描述符信息prdinf回传操作结果至主装置50后,直接将中间实体区域描述符自第二队列queue(b)中移除,而不再将中间实体区域描述符搬移到第一队列queue(a),以增快主装置指令的执行速度。依据本实施例,实体区域描述符信息缓存器210的存储容量可足以存储m组实体区域描述符信息,第一队列queue(a)的存储容量可足以存储ma个中间实体区域描述符,且第二队列queue(b)的存储容量可足以存储mb个中间实体区域描述符,其中符号「m」、「ma」与「mb」中的任一者可代表大于一的正整数。例如:m=64,ma=64,且mb=256;但本发明不限于此。iii.动态资源管理存储器控制器110可以队列多个主装置指令,并依序执行主装置指令,最后,回传操作结果至主装置50。如果多个连续主装置指令都操作同一非挥发性存储器组件,而非均匀地操作每一非挥发性存储器组件,这将造成系统效能低落。本发明采用动态资源管理来决定主装置指令的执行顺序,通过延迟或调整主装置指令的执行,可有效地提升主装置指令执行的效能。图3为依据本发明一实施例的一种用来于一记忆装置中进行动态资源管理的方法300的流程图,其中方法300可应用于记忆装置100,且可应用于所述控制器诸如存储器控制器110。例如:在所述处理电路诸如微处理器112的控制下,存储器控制器110可进行方法300的运作。于步骤s310中,存储器控制器110可接收多个主装置指令。于步骤s312中,存储器控制器110可存储对应至多个主装置指令的多组实体区域描述符信息prdinf(诸如prdinf(1)、prdinf(2)、prdinf(3)、prdinf(4)…等)。例如:存储器控制器110可于实体区域描述符信息缓存器210中存储涉及多个主装置指令的多组实体区域描述符信息prdinf。于步骤s314中,存储器控制器110将对应至多组实体区域描述符信息prdinf的多个中间实体区域描述符存储进入第一队列queue(a)。于步骤s316中,存储器控制器110将第一队列queue(a)中的部分中间实体区域描述符搬移到第二队列queue(b)。于步骤s318中,存储器控制器110检查第二队列queue(b)的中间实体区域描述符中欲操作同一非挥发性存储器组件者的数量是否达到一预定数量门坎值。由中间实体区域描述符、或中间实体区域描述符所对应至实体区域描述符信息prdinf中的各组详细实体区域描述符信息可以得知欲读取的非挥发性存储器组件为何。以非挥发性存储器组件122-1为例,存储器控制器110可以判断在第二队列queue(b)当中欲操作非挥发性存储器组件122-1的中间实体区域描述符的数量是否达到预定数量门坎值(例如3)。达到预定数量门坎值表示存储器控制器110将频繁地操作非挥发性存储器组件122-1,而频繁地操作同一非挥发性存储器组件而非均匀地操作每一非挥发性存储器组件将导致系统效能低落。当步骤s318的判断结果为真时,进入步骤s320;否则,进入步骤s322。于步骤s320中,存储器控制器110调整第二队列queue(b)的中间实体区域描述符的顺序,接着进入步骤s322。存储器控制器110将至少一排队中实体区域描述符诸如超过所述预定数量门坎值的中间实体区域描述符搬移至第二队列queue(b)的尾部,即第二层排队中实体区域描述符的序列的尾部,以推迟(postpone)所述至少一中间实体区域描述符的执行(诸如其至少一存取运作),但本发明不限于此。在另一实施例中,存储器控制器110可依预设间隔重新排列第二队列queue(b)的中间实体区域描述符,例如,每4个中间实体区域描述符中仅有一个中间实体区域描述符与非挥发性存储器组件122-1的操作有关。在另一实施例中,存储器控制器110可于任两个相邻且与非挥发性存储器组件122-1的操作有关的中间实体区域描述符之间插入另一个与非挥发性存储器组件122-1的操作无关的中间实体区域描述符。通过调整第二队列queue(b)的多个中间实体区域描述符的顺序,使每一非挥发性存储器组件可被均匀地操作,以达到提升系统效能的目标。于步骤s322中,存储器控制器110依序依据第二队列queue(b)的中间实体区域描述符所对应的多组实体区域描述符信息,诸如实体区域描述符信息prdinf的至少一部分(例如一部分或全部),操作非挥发性存储器120以取得多个操作结果。基于方法300的工作流程,存储器控制器110依据第二队列queue(b)的中间实体区域描述符所对应的多组实体区域描述符信息prdinf依序操作非挥发性存储器组件122-1、122-2、…与122-n以取得操作结果,例如:取得目标数据,并可将操作结果存储于分时缓冲器(tsb)或缓冲存储器116。于步骤s324中,存储器控制器110输出多个操作结果至主装置50。存储器控制器110可依据实体区域描述符信息prdinf的所述至少一部分(例如一部分或全部),将操作结果自分时缓冲器或缓冲存储器116输出至主装置50,例如,通知主装置50某一(些)主装置指令已执行完毕或触发主装置50读取存储器控制器110所备妥的目标数据,但本发明不限于此。依据某些实施例,步骤s322的运作和步骤s324的运作可同时或交替地进行。于步骤s326中,存储器控制器110可将中间实体区域描述符从第二队列queue(b)搬移至第一队列queue(a)。于步骤s328中,存储器控制器110可检查第一队列queue(a)中是否有尚未被搬移的任何中间实体区域描述符,诸如未曾被搬移到第二队列queue(b)的任何中间实体区域描述符。当第一队列queue(a)中有尚未被搬移的任何中间实体区域描述符,进入步骤s316;否则,进入步骤s330。于步骤s330中,存储器控制器110可检查第二队列queue(b)中是否有尚未被处理的任何中间实体区域描述符,诸如未曾执行对应的存取运作的任何中间实体区域描述符。当第二队列queue(b)中有尚未被处理的任何中间实体区域描述符,进入步骤s318以执行从s318开始的对应于此中间实体区域描述符的相关运作(诸如存取运作);否则,方法300的工作流程结束,但本发明并不限于此(例如:工作流程结束可改成进入步骤s310)。依据本实施例,针对步骤s316所述的所述部分中间实体区域描述符中的任一中间实体区域描述符,在所述中间实体区域描述符从第一队列queue(a)被搬移至第二队列queue(b)之前,所述中间实体区域描述符是所述第一层排队中实体区域描述符的其中的一。当所述中间实体区域描述符从第一队列queue(a)被搬移至第二队列queue(b)之后,所述中间实体区域描述符从所述第一层排队中实体区域描述符中被移除。例如,在所述中间实体区域描述符从第一队列queue(a)被搬移之前,所述中间实体区域描述符可位于所述第一层排队中实体区域描述符的序列的尾部。当所述中间实体区域描述符从第一队列queue(a)被搬移时,存储器控制器110可移动尾部指标tail_ptr(a)以指出这个序列的尾部的最新位置。另外,在步骤s316所述的所述部分中间实体区域描述符中的所述中间实体区域描述符从第一队列queue(a)被搬移至第二队列queue(b)之前,所述中间实体区域描述符尚未成为所述第二层排队中实体区域描述符的其中的一。当所述中间实体区域描述符从第一队列queue(a)被搬移至第二队列queue(b)之后,所述中间实体区域描述符成为所述第二层排队中实体区域描述符的其中的一。依据某些实施例,涉及步骤s324的输出操作结果,在主装置50读取某一中间实体区域描述符的操作结果之后,对应于所述中间实体区域描述符的那一组实体区域描述符信息可变成无效的(invalid)实体区域描述符信息,但本发明不限于此。依据某些实施例,所述中间实体区域描述符也可称为韧体实体区域描述符(firmwareprd),但本发明不限于此。图4绘示图3所示方法300于一实施例中之后指派(post-assign)控制方案。存储器控制器110可还包括硬件实体区域描述符存储模块hwprd,其属于存储器控制器110的硬件资源、且可供主装置50直接存取,其中硬件实体区域描述符存储模块hwprd的容量足以存储mh个硬件实体区域描述符,且符号「mh」可代表大于一的正整数,诸如64;但本发明不限于此。另外,存储器控制器110可基于方法300进行某些运作。例如,步骤s312中可存储分别对应至八个主装置指令的八组实体区域描述符信息prdinf,且存储器控制器110已存储分别对应于这八个主装置指令的八个中间实体区域描述符f1、f2、f3、f4、f5、f6、f7与f8至实体区域描述符存储模块115中的第一队列queue(a)。在分别对应于四个中间实体区域描述符f1、f2、f3与f5的存取操作之后,中间实体区域描述符f1、f2、f3与f5已经从第二队列queue(b)被释放至第一队列queue(a)且对应的操作结果已经备妥于分时缓冲器中,并且中间实体区域描述符f4被搬移到第二层排队中实体区域描述符的序列的尾部以推迟涉及中间实体区域描述符f4的一存取操作。存储器控制器110可触发主装置50自行读取操作结果(例如将中间实体区域描述符f1、f2、f3与f5分别映像到硬件实体区域描述符存储模块hwprd中的硬件实体区域描述符h1、h2、h3与h4),同时避免相关技术的问题。尤其是,在涉及中间实体区域描述符f4的存取操作尚未完成以前,存储器控制器110不自硬件实体区域描述符存储模块hwprd占用任何资源,如此一来,可以避免硬件实体区域描述符存储模块hwprd被占用的问题。因此,在硬件实体区域描述符存储模块hwprd的容量有限的状况下,存储器控制器110可在没有副作用或较不可能带来副作用的状况下达到记忆装置100的优化(optimal)效能。图5绘示图3所示方法300于一实施例中的多队列(multi-queue)控制方案。存储器控制器110可基于方法300进行某些运作。例如,存储器控制器110存储分别对应至十一个主装置指令的十一组实体区域描述符信息prdinf,且存储分别对应于这十一个主装置指令的十一个中间实体区域描述符f1、f2、f3、f4、f5、f6、f7、f8、f9、f10与f11至第一队列queue(a)。在第二队列queue(b)中分别对应于中间实体区域描述符f1、f2、f3、f4、f7与f9的存取操作成功之后,中间实体区域描述符f1、f2、f3、f4、f7与f9已经从第二队列queue(b)被搬移至第一队列queue(a)且操作结果已经被存储至分时缓冲器中,其中中间实体区域描述符f5、f6、f8、f10与f11可停留在第二队列queue(b)排队且等待被处理,而不会妨碍分别对应于中间实体区域描述符f1、f2、f3、f4、f7与f9的存取操作。因此,藉助于多队列控制,存储器控制器110可进行动态资源管理,以在没有副作用或较不可能带来副作用的状况下达到记忆装置100的优化效能。图6绘示图3所示方法300于一实施例中的分时缓冲器资源管理方案。存储器控制器110可检查(第二队列queue(b)中的)第二层排队中实体区域描述符当中用来存取同一非挥发性存储器组件(诸如非挥发性存储器组件122-1、122-2、…与122-n中的某一者)的排队中实体区域描述符的数量是否达到所述预定数量门坎值,诸如3。例如,所述预定数量门坎值可等于3,但本发明并不以此为限。假设在中间实体区域描述符f1、f2、f3、f4、f5、f6、f7、f8、f9、f10与f11当中,只有中间实体区域描述符f4、f5、f6与f7是用来存取同一非挥发性存储器组件。此状况下,存储器控制器110可将中间实体区域描述符f7推到所述第二层排队中实体区域描述符的序列的尾部,以推迟对应于中间实体区域描述符f7的存取运作,藉此重分配所述分时缓冲器的硬件资源。因此,存储器控制器110可因应所述分时缓冲器的循序运作特性来妥善地管理所述分时缓冲器的硬件资源,以在没有副作用或较不可能带来副作用的状况下达到记忆装置100的优化效能。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1