区域描述元管理方法及其电子装置的制造方法

文档序号:10624728阅读:253来源:国知局
区域描述元管理方法及其电子装置的制造方法
【专利摘要】本发明提出一种区域描述元管理方法以及其电子装置。区域描述元管理方法适用于电子装置的装置控制器。管理方法包括下列步骤。由区域描述元列表提取多个区域描述元项目,并且每一区域描述元项目包括区块起始地址以及区块长度以对应描述存储器模块的一个存储器区块。依据多个区域描述元项目的区块起始地址以及区块长度,调整部分的区域描述元项目为至少一个目前区域描述元项目。基于前述的目前区域描述元项目,产生目前区域描述元列表。
【专利说明】
区域描述元管理方法及其电子装置
技术领域
[0001]本发明是有关于一种管理方法及其电子装置,且特别是关于一种区域描述元(Reg1n Descriptor)的管理方法及其电子装置。
【背景技术】
[0002]于已知技术中,当任一储存装置或任一外围装置需要与主机系统的系统存储器作资料传输时,可以例如是利用直接存储器访问(Direct Memory Access)的形式,在不增加主机系统的负载下进行资料的传送。
[0003]一般而言,系统存储器上的存储器区块可以通过区域描述元(Reg1nDescriptor)所定义。换言之,即是通过区域描述元定义每一资料片段(Data Segment)在系统存储器上的位置。详细来说,每一区域描述元项目(Reg1n Descriptor Entry)分别记录了存储器区块的起始地址以及长度。因此,储存装置可以通过提取(fetch)区域描述元项目来进一步存取特定的存储器区块,以达到资料传输的目的。
[0004]已知技术之中,区域描述元项目是由主机系统对应系统存储器内的资料片段进行分配,但主机系统基于效能上的考虑或者是为了对应不同储存装置的规格,经常使得区域描述元项目的配置是过于复杂或脆弱,导致储存装置与系统存储器间的资料传输在传输速度以及效率的表现上是较差的。

【发明内容】

[0005]本发明提供一种区域描述元管理方法及其电子装置,通过调整、合并、分割部分的区域描述元项目,使得储存装置以及系统存储器间的资料传输速度能相对的提升。
[0006]本发明的一实施例提出一种区域描述元管理方法,适用于电子装置的装置控制器。前述管理方法包括下列步骤。由区域描述元列表提取多个区域描述元项目,其中每一区域描述元项目包括区块起始地址以及区块长度以对应描述存储器模块的存储器区块。依据多个区域描述元项目的区块起始地址以及区块长度,调整部分的区域描述元项目为至少一个目前区域描述元项目。基于目前区域描述元项目,产生目前区域描述元列表。
[0007]本发明的一实施例提出一种电子装置,包括主机系统、储存装置以及装置控制器。主机系统具有存储器模块,而装置控制器耦接于主机系统以及储存装置之间。装置控制器由主机系统的区域描述元列表提取多个区域描述元项目,其中每一区域描述元项目包括区块起始地址以及区块长度以对应描述存储器模块的存储器区块。装置控制器依据前述区域描述元项目的区块起始地址以及区块长度,调整部分的区域描述元项目为至少一目前区域描述元项目。装置控制器更基于目前区域描述元项目,产生目前区域描述元列表。
[0008]基于上述,本发明实施例所提供的区域描述元管理方法及其电子装置,在进行资料传输时,首先对主机系统所提供的多个区域描述元项目进行调整,以产生至少一个目前区域描述元项目。所产生的目前区域描述元项目以较佳的形式描述存储器模块中的存储器区块,以提升储存装置与存储器模块之间的资料传输速度与效率。
[0009]为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附附图作详细说明如下。
【附图说明】
[0010]下面的所附附图是本发明的说明书的一部分,绘示了本发明的示例实施例,所附附图与说明书的描述一起说明本发明的原理,其中:
[0011]图1是依照本发明一实施例所绘示的电子装置的方块图。
[0012]图2是依照本发明一实施例所绘示的区域描述元管理方法的流程图。
[0013]图3是依照本发明一实施例所绘示的调整区域描述元项目为目前区域描述元项目的示意图。
[0014]图4A是依照本发明一实施例所绘示的目前区域描述元列表的示意图。
[0015]图4B是依照本发明一实施例所绘示的目前区域描述元项目的示意图。
【具体实施方式】
[0016]现将详细参考本发明的示范性实施例,在附图中说明所述示范性实施例的实例。另外,凡可能之处,在附图及实施方式中使用相同标号的元件/构件代表相同或类似部分。
[0017]本发明提供一种区域描述元管理方法及其电子装置,其中区域描述元管理方法适用于耦接在储存装置以及主机系统之间的控制器或系统芯片(System On Chip,S0C)。图1是依照本发明一实施例所绘示的电子装置的方块图。电子装置例如是桌面计算机、笔记本电脑、平板计算机或智能型手机等,但并不以前述为限。参照图1,电子装置100包括主机系统120、储存装置140以及装置控制器160。装置控制器160耦接于主机系统120以及储存装置140之间。主机系统120例如是包括处理器单元(未绘示)以及存储器模块122。处理器单元例如是中央处理单元(Central Processing Unit, CPU)或者是可程序化的一般用途或特殊用途的微处理器(Microprocessor),用于执行各项程序或软件以提供不同的功能。存储器模块122为主机系统120的主存储器(Main Memory),其例如是以静态随机存取存储器(Static Random Access Memory, SRAM)、动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)或同步动态随机存取存储器(Synchronous Dynamic Random AccessMemory, SDRAM)来实现。
[0018]储存装置140 则例如是硬盘(Hard Disk Drive,HDD)、光驱(Optical DiskDrive, ODD)或固态硬盘(Solid State Drive,SSD),其具有并列先进技术配置(ParallelAdvanced Technology Attachment, PATA)接口、串行先进技术配置(Serial AdvancedTechnology Attachment, SATA)接口、快捷外设互联标准(Peripheral ComponentInterconnect Express, PCIE)、串行连接 SCSI 接口 (Serial Attached SCSI,SAS)。装置控制器160例如是嵌入式控制器(embedded controller)或控制芯片(control chip) ο在本发明的一实施例中,装置控制器160包括符合进阶主机控制总线接口(Advanced HostController Interface,AHCI)规范的主机总线配接器(Host Bus Adaptor,HBA),以实现主机系统120与储存装置140间的资料传输,但本发明并不限于此。更详细而言,本发明所提出的区域描述元管理方法,同样适用于不同规范下的装置控制器160。然而,为了更清楚地表达本发明的区域描述元管理方法,以下将搭配符合AHCI规范的装置控制器160以及电子装置100来说明前述区域描述元管理方法。
[0019]图2是依照本发明一实施例所绘示的区域描述元管理方法的流程图。请参照图1以及图2,区域描述元管理方法包括下列步骤。装置控制器160由区域描述元列表提取多个区域描述元项目(步骤S220),其中每一区域描述元项目包括区块起始地址以及区块长度以对应描述存储器模块122的一个存储器区块。接着,装置控制器160依据前述多个区域描述元项目的区块起始地址以及区块长度,调整部分的区域描述元项目为至少一个目前区域描述元项目(步骤S240)。最后,装置控制器160基于目前区域描述元项目,产生目前区域描述元列表(步骤S260)。
[0020]于本发明的一实施例中,主机系统120在AHCI规范下,是通过一个在存储器模块122之中的指令列表(Co_and List)来对装置控制器160下达指令。主机系统120将指令放置于指令列表中的空隙(Slot)之中,并且通知装置控制器160。装置控制器160收到通知后,由存储器模块122提取指令,并且依据指令执行相关程序,例如是资料传输。值得注意的是,在指令中,通常是以区域描述元(即AHCI规范下的实体区域描述元(PhysicalReg1n Descriptor,PRD))描述参与资料传输的存储器模块122的存储器区块。区域描述元例如是包括存储器区块122的区块起始地址以及区块长度(即AHCI规范下的资料基地址(Data Base Address,DBA)以及资料字节计数(Data Byte Count, DBC)),其对应地指示了资料在存储器模块122上的储存位置或传输位置。更详细而言,指令包括一个区域描述元列表(即AHCI规范下的实体区域描述元列表(Physical Reg1n Descriptor Table,PRDT)),而区域描述元列表还包括多个区域描述元项目(即AHCI规范下的实体区域描述元项目(Physical Reg1n Descriptor Entry))。每一个区域描述元项目对应记载了一个存储器区块的位置信息。
[0021]装置控制器160例如是采用分散收集机制(Scatter/Gather Mechanism)来执行资料传输。具体而言,装置控制器160是预先取得相关于资料传输的多个区域描述元后,在对应前述的区域描述元所描述的存储器模块120的多个存储器区块来执行资料传输。一般而言,装置控制器160于每个区域描述元所指示的区块长度为最适区块长度(例如是4096字节(bytes)或者是8192字节)时,在资料传输的表现是较佳的。然而,由主机系统120所配置的区域描述元项目通常是较为杂散,并且每个区域描述元项目并不是依照储存装置140的最适区块长度进行配置,使得装置控制器160在资料传输的表现上无法达到最佳的效果,而通常需要花费更多的时间并且降低整体的效率。
[0022]在本发明的一实施例中,装置控制器160由区域描述元列表提取多个区域描述元项目后,接着是依据区域描述元项目的区块起始地址以及区块长度,选择性地调整部分的区域叙述元项目。图3是依照本发明一实施例所绘示的调整区域描述元项目为目前区域描述元项目的示意图。如图3所示,由区域描述元列表PRDT中的区域描述元项目PRD0、PRD1的资料基地址(区块起始地址)DBA(0xlFD040000h、0xlFD040c00h,十六进制)以及资料字节计数(区块长度)DBC(3072字节、1024字节)可知,区域描述元项目PRD0、PRDl所描述的存储器区块是连续地排列于存储器模块122。基于前述,为了使得装置控制器160能较佳地进行资料传输,装置控制器160首先调整区域描述元项目PRD0、PRDl为目前区域描述元项目PRD0’。由图3可知,目前区域描述元项目PRD0’所描述的存储器区块为区域描述元项目PRD0、PRDl所分别描述的两个存储器区块的合并。此外,目前区域描述元项目PRD0’指示的目前区块长度DBC’为4096字节,符合资料传输中的最适区块长度,而目前区块起始地址DBA’则是区域描述元项目PRDO的区块起始地址DBA。
[0023]基于前述的目前区域描述元项目PRD0’,装置控制器160产生目前区域描述元列表PRDT’。值得注意的是,其它不需要进行调整的区域描述元项目PRD2?PRDm,对应地保留并调整为目前区域描述元项目PRD1’ PRDn’,并且同样放置于目前区域描述元列表PRDT’之中。在本实施例中,前述n、m为大于2的正整数,并且η等于m_l。
[0024]图3所示的实施例仅为调整区域描述元项目为目前区域描述元项目的多个实施例之一,但本申请并不以此为限。以下将更详细地说明调整区域描述元项目为目前区域描述元项目所需要注意的细节。
[0025]图4A是依照本发明一实施例所绘示的目前区域描述元列表的示意图。图4B是依照本发明一实施例所绘示的目前区域描述元项目的示意图。参照图1-图4A、图4B,如同前述,可以被调整为目前区域描述元项目的多个区域描述元项目,其所描述的存储器区块例如是连续地排列于存储器模块122。以图4A、图4B的存储器模块122为例,存储器区块41-44分别对应储存第一资料-第四资料,并且存储器区块41-43是连续地排列于存储器模块122之中。此时,原先用于分别描述存储器区块41-43的区域描述元项目PRD41-PRD43,即可调整为目前区域描述元项目PRD41’-PRD43’,而用于描述存储器区块44的区域描述元项目PRD44则经保留并调整为PRD44’。
[0026]在进行调整的过程中,装置控制器160利用多个固定区块地址以及固定区块长度,比对区域描述元项目PRD41-PRD43的区块起始地址DBA以及区块长度DBC,以产生目前区块起始地址DBA’以及目前区块长度DBC’。在本实施例中,固定区块长度为前述最适区块长度(在本实施例中以4096字节为例),而固定区块地址则是在存储器模块122上,距离地址O为一或多个固定区块长度的地址,例如是0、4096、8192等地址(以字节为单位,十进制)。装置控制器160以固定区块长度以及固定区块地址来比对第一资料-第三资料所在的存储器区块41-43(区块起始地址DBA以及区块长度DBC),以取得多个目前区块起始地址512、4096、8192以及多个目前区块长度3584字节、4096字节、1024字节。最后,依据目前区块起始地址DBA’以及目前区块长度DBC’,取得目前区域描述元项目PRD41’ -PRD43’。
[0027]由前述可知,调整区域描述元项目PRD41-PRD43为目前区域描述元项目PRD41’ -PRD43’的过程中,主要是对区域描述元项目PRD41-PRD43所描述的存储器区块41-43(对应第一资料第三资料)进行合并与裁切,产生符合固定区块长度以及固定区块地址的目前区块起始地址DBA’以及目前区块长度DBC’。明显地,目前区域描述元项目PRD41’ -PRD43’所指示目前区块长度DBC’皆不大于固定区块长度,即4096字节。
[0028]于本发明的一实施例中,装置控制器160更依据目前区域描述元列表(例如是图3所示的PRDT’或图4A所示的PRDT’ 40),对目前区域描述元项目所指示的存储器区块,执行资料传输程序。装置控制器160可以是由目前区域描述元项目所指示的存储器区块取得资料至储存装置140,或者是从储存装置140取得资料并储存至目前区域描述元项目所指示的存储器区块。最后,对于所产生的目前区域描述元项目,装置控制器160还可以写入存储器模块122以更新存储器模块122存储器的区域描述元列表PRDT。
[0029]综上所述,本发明实施例所提供的区域描述元管理方法及其电子装置,对主机系统所提供的多个区域描述元项目进行整并,以产生至少一个目前区域描述元项目。目前区域描述元项目以较佳的形式描述存储器模块中的存储器区块。基于前述的目前区域描述元项目,装置控制器以较佳的速度与效率进行资料传输,以从目前区域描述元项目所描述的存储器区块中取得资料至储存装置,或者是将储存装置的资料传输至目前区域描述元项目所描述的存储器区块。
[0030]虽然本发明已以实施例详述如上,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视后附的权利要求范围所界定的为准。
【主权项】
1.一种区域描述元管理方法,适用于一电子装置的一装置控制器,该管理方法包括: 由一区域描述元列表提取多个区域描述元项目,其中每一所述区域描述元项目包括一区块起始地址以及一区块长度以对应描述一存储器模块的一存储器区块; 依据所述区域描述元项目的所述区块起始地址以及所述区块长度,调整一部分的所述区域描述元项目为至少一目前区域描述元项目;以及 基于该至少一目前区域描述元项目,产生一目前区域描述元列表。2.如权利要求1所述的区域描述元管理方法,其中该部分的所述区域描述元项目所描述的所述存储器区块是连续地排列于该存储器模块。3.如权利要求1所述的区域描述元管理方法,其中调整该部分的所述区域描述元项目为该至少一目前区域描述元项目的步骤,还包括: 利用多个固定区块地址以及一固定区块长度,比对该部分的所述区域描述元项目的所述区块起始地址以及所述区块长度,以产生至少一目前区块起始地址以及至少一目前区块长度;以及 依据该至少一目前区块起始地址以及该至少一目前区块长度,取得该至少一目前区域描述元项目。4.如权利要求3所述的区域描述元管理方法,其中每一该目前区域描述元项目所包括的该目前区块长度不大于该固定区块长度。5.如权利要求1所述的区域描述元管理方法,还包括: 将该至少一目前区域描述元项目写入该存储器模块。6.如权利要求1所述的区域描述元管理方法,还包括: 对该至少一目前区域描述元项目所指示的该至少一存储器区块,执行一资料传输程序。7.一种电子装置,包括: 一主机系统,该主机系统具有一存储器模块; 一储存装置:以及 一装置控制器,耦接于该主机系统以及该储存装置之间,该装置控制器由该主机系统的一区域描述元列表提取多个区域描述元项目,其中每一所述区域描述元项目包括一区块起始地址以及一区块长度以对应描述该存储器模块的一存储器区块, 该装置控制器依据所述区域描述元项目的所述区块起始地址以及所述区块长度,调整一部分的所述区域描述元项目为至少一目前区域描述元项目,并且该装置控制器基于该至少一目前区域描述元项目,产生一目前区域描述元列表。8.如权利要求7所述的电子装置,其中该部分的所述区域描述元项目所描述的所述存储器区块是连续地排列于该存储器模块。9.如权利要求7所述的电子装置,其中该装置控制器更利用多个固定区块地址以及一固定区块长度,比对该部分的所述区域描述元项目的所述区块起始地址以及所述区块长度,以产生至少一目前区块起始地址以及至少一目前区块长度, 该装置控制器依据该至少一目前区块起始地址以及该至少一目前区块长度,取得该至少一目前区域描述元项目。10.如权利要求9所述的电子装置,其中每一该目前区域描述元项目所包括的该目前区块长度不大于该固定区块长度。11.如权利要求7所述的电子装置,其中该装置控制器还将该至少一目前区域描述元项目写入该存储器模块。12.如权利要求7所述的电子装置,其中该装置控制器由该至少一目前区域描述元项目所描述的该至少一存储器区块取得资料至该储存装置,或者是从该储存装置取得资料至该至少一目前区域描述元项目所描述的该至少一存储器区块。
【文档编号】G06F13/28GK105988954SQ201510096782
【公开日】2016年10月5日
【申请日】2015年3月5日
【发明人】江伟凌, 李宜忠
【申请人】光宝科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1