发布信息

用于互连协议的信息配置的方法、控制器以及存储设备与流程

作者:admin      2022-10-14 13:39:37     718



电子通信装置的制造及其应用技术1.本发明涉及一种电子设备,特别涉及用于功耗模式改变的信息配置的方法、控制器以及存储设备。背景技术:2.现今移动设备(如智能手机、平板电脑、多媒体设备、穿戴式设备之类的运算设备)中产生和处理的数据量不断增加,移动设备内部的芯片对芯片的或受移动设备影响的互连接口技术需要进一步的演进,从而达至能够满足更高的传输速度、低功耗操作、具可扩充性、支援多工处理、易于采用等目标。3.为此,移动产业处理器接口(mobile industry processor interface,mipi)联盟开发出能够符合上述目标的互连接口技术,例如关于物理层的mipi m-phy规范以及关于统一协议(unified protocol,unipro)的mipi unipro规范。另一方面,联合电子设备工程委员会(joint electron device engineering council,jedec)利用mipi m-phy规范及通用传协议mipi unipro规范推出下一代高性能非易失性存储器标准,称为通用闪存存储(universal flash storage,ufs),其可实现每秒十亿位等级的高速传输及低功耗操作,并具有高阶移动系统所需的功能和可扩展性,从而有助于为业界快速的采用。4.技术人员在依据这些互连接口技术来开发的产品为相关芯片、电子模块或电子设备时,要确保产品的功能及操作能够符合规范。举例而言,依据ufs标准而实现的系统如包含了运算设备及非易失性存储器的存储设备,运算设备及存储设备分别担任本地的(local)主机与遥距的(remote)设备的角色。主机与设备建立起双向的链路(link)。依据unipro规范,主机与设备必需支援多种功耗模式,当需要改变功耗模式时,建立链路的物理层的通道(lane)及速率的配置(configuration)也须跟着改变,从而实现目标功耗模式。5.在unipro规范中定义了功耗模式改变的流程,其中需要设定标准的管理信息库,尤其是物理层的管理信息库,以对物理层进行配置。由于unipro规范基本上由硬件电路来实现,且unipro规范只设定标准的管理信息库,如果在实现unipro规范的时候,因为不同产品的需要而要设定物理层的非标准以外的特定属性参数时,就需要改变此硬件电路的设计,从而造成研发、验证、维护上的困难。技术实现要素:6.实施方式提供了一种用于互连协议的信息配置的技术,其中在互连协议的功耗模式改变的过程中,借由实现所述互连协议的协议层的硬件协议引擎与固件通信,以达成信息配置。所述硬件协议引擎与所述固件的通信是通过非标准的方式进行,且所述固件在所述硬件协议引擎之外。7.以下依据所述信息配置的技术提出各种实施方式,如用于互连协议的功耗模式改变的信息配置的方法、控制器以及存储设备。8.实施方式提供一种用于互连协议的功耗模式改变的信息配置的方法,适用于能够依据互连协议链接第二设备的第一设备,所述方法包括:在所述第一设备的用于实现所述互连协议的协议层的硬件协议引擎依据所述互连协议的所述协议层进行功耗模式改变时:由所述硬件协议引擎产生配置指示信号,以触发所述第一设备的固件,以对所述互连协议的物理层进行信息配置,其中所述配置指示信号相对于所述互连协议为非标准的,且所述固件在所述硬件协议引擎之外;回应于所述配置指示信号,通过所述固件对所述物理层进行信息配置;以及在完成对所述物理层的信息配置后,通过所述固件向所述硬件协议引擎通知所述信息配置的完成。9.于所述方法的一些实施例中,对所述物理层的信息配置是由所述固件依据用于所述物理层的功耗模式改变的至少一个厂商专用的管理信息库(management information base,mib)来进行。10.于所述方法的一些实施例中,所述方法还包括:回应于所述信息配置完成的通知,由所述硬件协议引擎依据用于所述物理层的功耗模式改变的至少一个标准管理信息库对所述物理层进行信息配置。11.于所述方法的一些实施例中,对所述物理层的信息配置是由所述固件依据包括以下的数据来进行:至少一个厂商专用的管理信息库,用于所述物理层的功耗模式改变;以及至少一个标准管理信息库,用于所述物理层的功耗模式改变。12.于所述方法的一些实施例中,通过所述固件向所述硬件协议引擎通知所述信息配置的完成,包括:触发符合所述协议层的请求,以设置额外的厂商专用的管理信息库,从而用作向所述硬件协议引擎通知所述信息配置的完成。13.于所述方法的一些实施例中,由所述固件触发的所述请求是符合所述协议层的设备管理实体(device management entity,dme)请求,并且所述额外的厂商专用的管理信息库是针对所述协议层而设定的。14.于所述方法的一些实施例中,所述互连协议是通用闪存存储(universal flash storage,ufs)标准,并且所述协议层和所述物理层是所述ufs标准的统一协议(unified protocol,unipro)层和物理(m-phy)层。15.实施方式提供一种控制器,适用于能够依据互连协议链接第二设备的第一设备,所述控制器包括:硬件协议引擎以及处理单元。硬件协议引擎,用于实现所述互连协议的协议层。处理单元,其与所述硬件协议引擎耦接。其中所述硬件协议引擎依据所述协议层进行功耗模式改变时,所述硬件协议引擎,用以产生配置指示信号,以触发所述处理单元执行的固件,以对所述互连协议的物理层进行信息配置,其中所述配置指示信号相对于所述互连协议为非标准的,且所述固件在所述硬件协议引擎之外;以及所述固件用以回应于所述配置指示信号对所述物理层进行信息配置,并在所述信息配置完成时向所述硬件协议引擎通知所述信息配置的完成。16.实施方式提供一种存储设备,能够依据互连协议链接主机,所述存储设备包括:接口电路以及设备控制器。接口电路,用于实现所述互连协议的物理层以链接所述主机。设备控制器,耦接到所述接口电路和存储模块。其中所述设备控制器包括:硬件协议引擎以及处理单元。硬件协议引擎,用于实现所述互连协议的协议层。处理单元,其与所述硬件协议引擎耦接。其中所述硬件协议引擎依据所述协议层进行功耗模式改变时,所述硬件协议引擎,用以产生配置指示信号,以触发所述处理单元执行的固件,以对所述互连协议的所述物理层进行信息配置,其中所述配置指示信号相对于所述互连协议为非标准的,且所述固件在所述硬件协议引擎之外;以及所述固件用以回应于所述配置指示信号对所述物理层进行信息配置,并在所述信息配置完成时向所述硬件协议引擎通知所述信息配置的完成。17.于一些实施例中,对所述物理层的信息配置是由所述固件依据用于所述物理层的功耗模式改变的至少一个厂商专用的管理信息库来进行。18.于一些实施例中,所述硬件协议引擎,用以在被告知所述信息配置的完成之后,依据用于所述功耗模式改变的至少一个标准管理信息库来对所述物理层进行信息配置。19.于一些实施例中,所述固件用以依据包括以下的数据对所述物理层进行信息配置:至少一个厂商专用的管理信息库,用于物理层的功耗模式改变;以及至少一个标准管理信息库,用于与协议层兼容的物理层的功耗模式改变。20.于一些实施例中,所述固件用以通过触发符合所述协议层的请求,以设置额外的厂商专用的管理信息库,从而用作向所述硬件协议引擎通知所述信息配置的完成。21.于一些实施例中,由所述固件触发的所述请求是符合所述协议层的设备管理实体(dme)请求,并且所述额外的厂商专用的管理信息库是针对所述协议层而设定的。22.于一些实施例中,所述互连协议是通用闪存存储(universal flash storage,ufs)标准,并且所述协议层和所述物理层是所述ufs标准的统一协议(unified protocol,unipro)层和m-phy层。23.如上所述,实施方式提供了一种用于互连协议的信息配置的技术的多种实施例,其中在互连协议的功耗模式改变的过程中,借由实现所述互连协议的协议层的硬件协议引擎与固件通信,以达成信息配置。所述硬件协议引擎与所述固件的通信是通过非标准的方式进行,且所述固件在所述硬件协议引擎之外。借此技术可提供一种足够弹性的电路架构,这种电路架构能够有效率地被配置来满足不同产品的厂商特定的信息配置的需求,以适应各种厂商的设计而有助于产品开发。附图说明24.图1为依据本发明的一种实施方式的存储系统的示意框图;25.图2a为用于互连协议的功耗模式改变的信息配置的方法的一种实施方式的流程图;26.图2b为图2a的方法的一种实施例的流程图;27.图3为图1的存储系统依据ufs标准的分层架构的示意图;28.图4a为在进行功耗模式改变的过程中依据图2a或图2b的信息配置的方法来进行信息配置的一种实施例的示意图;29.图4b为在进行功耗模式改变的过程中依据图2a或图2b的信息配置的方法来进行信息配置的一种实施例的示意图;以及30.图5为实现上述信息配置的方法的电路架构的一种实施方式的示意图。31.附图标记[0032]1ꢀꢀ存储系统[0033]10ꢀꢀ主机[0034]11ꢀꢀ主机接口[0035]12ꢀꢀ主机控制器[0036]13ꢀꢀ硬件协议引擎[0037]14ꢀꢀ处理单元[0038]16ꢀꢀ应用处理器[0039]20ꢀꢀ存储设备[0040]21ꢀꢀ设备接口[0041]22ꢀꢀ设备控制器[0042]23ꢀꢀ硬件协议引擎[0043]24ꢀꢀ处理单元[0044]26ꢀꢀ存储模块[0045]110 mipi物理(m-phy)层[0046]111 发送器[0047]112 接收器[0048]130 mipi统一协议(unipro)层[0049]131 phy配接器层[0050]132 数据链路层[0051]133 网络层[0052]134 传输层[0053]135 设备管理实体(dme)[0054]210 mipi物理(m-phy)层[0055]211 发送器[0056]212 接收器[0057]230 mipi统一协议(unipro)层[0058]231 phy配接器层[0059]232 数据链路层[0060]233 网络层[0061]234 传输层[0062]235 设备管理实体(dme)[0063]310 接口电路[0064]320 硬件协议引擎[0065]321 功耗模式改变流程控制模块[0066]325 选择模块[0067]330 处理单元[0068]s10~s40 步骤[0069]a100~a142、a200~a232 箭号[0070]b100~b140、b200~b240 图形[0071]bs1~bs3、bs21、bs22 总线[0072]clk 时脉线[0073]din、dout 数据线[0074]rst 重置线[0075]sc 路径[0076]sl1 数据通道[0077]sl2 数据通道[0078]l1、l2 路径具体实施方式[0079]为充分了解本发明的目的、特征及功效,兹借由下述具体的实施例,并配合所附的图式,对本发明做详细说明,说明如后。[0080]以下实施方式提供了一种用于互连协议的信息配置的技术的多种实施例,其中在互连协议的功耗模式改变的过程中,借由实现所述互连协议的一种协议层的硬件协议引擎与固件通信,以达成信息配置。所述硬件协议引擎与所述固件的通信是通过非标准的方式进行,且所述固件在所述硬件协议引擎之外。[0081]为便于理解及说明,首先依据所述技术提供一种电路架构的实施方式,这种电路架构具足够弹性及能够有效率地被配置来满足不同产品的厂商特定的信息配置的需求,以适应各种厂商的设计而有助于产品开发。如图1所示,这种电路架构应用于存储系统1时,存储系统1的主机10的控制器(如主机控制器12)或存储系统1的存储设备20的控制器(如设备控制器22)可分别实现为包括硬件协议引擎及处理单元的电路架构,从而实现用于互连协议的信息配置的技术。又依据用于互连协议的信息配置的技术的方法将揭示于图2a或图2b。[0082]请参考图1,其为依据本发明的一种实施方式的存储系统的示意框图。如图1所示,存储系统1包括主机10及存储设备20。主机10及存储设备20之间通过一种互连协议来通信,从而让主机10对存储设备20进行数据的存取。所述互连协议例如是通用闪存存储(universal flash storage,ufs)标准。主机10例如是智能手机、平板电脑、多媒体设备之类的运算设备。存储设备20例如是所述运算设备内部或外部的存储设备,例如是基于非易失性存储器的存储设备。存储设备20可以在主机10的控制下写入数据或向主机10提供被写入数据。存储设备20可以被实现为固态存储设备(ssd),多媒体卡(mmc),嵌入式mmc(emmc)、安全数字(sd)卡或通用闪存存储(ufs)设备,然而本揭露内容的实现并不受限于上述示例。[0083]主机10包括主机接口11、主机控制器12及应用处理器16。[0084]主机接口11用于实现所述互连协议的物理层以链接所述存储设备20。例如,主机接口11用以实现ufs标准的物理(m-phy)层。[0085]主机控制器12耦接于主机接口11与应用处理器16之间。当应用处理器16需要对存储设备20进行数据的存取时,发出代表对应的存取动作指令至主机控制器12,通过所述互连协议与存储设备20沟通,从而达成对存储设备20进行数据的存取。[0086]主机控制器12包括硬件协议引擎13及处理单元14。[0087]硬件协议引擎13用于实现所述互连协议的协议层。就以所述互连协议为ufs标准为例,所述协议层为统一协议(unified protocol,unipro)层。硬件协议引擎13依据所述协议层的规范来与主机接口11及处理单元14进行沟通及信息的转换。[0088]处理单元14,其与所述硬件协议引擎13耦接,用以与应用处理器16进行通信。处理单元14可执行一个或多个固件。例如应用处理器16所执行的操作系统、驱动程序或应用程序所发出的存取动作指令通过处理单元14所执行的固件转换为符合所述互连协议的协议层的指令格式,并继而发送至硬件协议引擎13以依据所述协议层的规范来进行处理。固件例如可存储于处理单元14的内部存储器,或存储于主机控制器12的内部存储器,其中内部存储器可包括易失性存储器及非易失性存储器。[0089]存储设备20包括设备接口21、设备控制器22及存储模块26。[0090]设备接口21用于实现所述互连协议的物理层以链接所述主机10。例如,主机接口21用以实现ufs标准的物理(m-phy)层。[0091]设备控制器22耦接于设备接口21与存储模块26之间。设备控制器22可以控制存储模块26的写入操作、读取操作或抹除操作。设备控制器22可以通过地址总线或数据总线与存储模块26交换数据。存储模块26例如包含一个或多个非易失性存储器的存储器芯片。[0092]设备控制器22包括硬件协议引擎23及处理单元24。[0093]硬件协议引擎23用于实现所述互连协议的协议层。就以所述互连协议为ufs标准为例,所述协议层为unipro层。硬件协议引擎13依据所述协议层的规范来与设备接口21及处理单元24进行沟通及信息的转换。[0094]处理单元24,其与所述硬件协议引擎23耦接,用以通过设备接口21而与主机10进行通信。处理单元24可执行一个或多个固件。例如处理单元24执行一个或多个固件来控制或指示存储模块26的写入操作、读取操作或抹除操作,对来自硬件协议引擎23的讯息作处理或将讯息发送至硬件协议引擎23。固件例如可存储于处理单元24的内部存储器、设备控制器22的内部存储器,或存储模块26的特定存储区域,其中内部存储器可包括易失性存储器及非易失性存储器。[0095]如图1所示,主机接口11能够通过用于发送/接收数据的数据线din和dout、用于发送硬件重置信号的重置线rst、用于发送数据的时脉线clk而与设备接口21耦接。数据线din和dout可以被实现为多对,其中一对的数据线din和dout可称为一个通道(lane)。主机接口11可以使用至少一种接口协议与设备接口21行通信,接口协议诸如移动工业处理器接口(mipi)、通用闪存存储(ufs)、小型计算机系统接口(scsi)或串行连接的scsi(sas),然而本揭露内容的实现并不受限于上述示例。[0096]基于图1所示的控制器(如主机控制器12或设备控制器22)可分别实现为包括硬件协议引擎及处理单元的电路架构,以下举例说明实现用于互连协议的信息配置的方法。请参考图2a,其为用于互连协议的功耗模式改变的信息配置的方法的一种实施方式的流程图。所述方法可用于能够依据互连协议链接第二设备(如主机10)的第一设备(如存储设备20)中。为便于说明,以下就以第一设备为存储设备20,第二设备为主机10来举例说明。如图2a所示,所述方法包括步骤s10~s30。这些步骤在所述第一设备(如存储设备20)的用于实现所述互连协议的协议层的硬件协议引擎(如硬件协议引擎23)依据所述互连协议的所述协议层进行功耗模式改变时执行。[0097]如步骤s10所示,由所述硬件协议引擎(如硬件协议引擎23)产生配置指示信号,以触发所述第一设备(如存储设备20)的固件(如以处理单元24来执行),以对所述互连协议的物理层进行信息配置,其中所述配置指示信号相对于所述互连协议为非标准的,且所述固件在所述硬件协议引擎(如硬件协议引擎23)之外。[0098]如步骤s20所示,回应于所述配置指示信号,通过所述固件对所述物理层进行信息配置。[0099]如步骤s30所示,在完成对所述物理层的信息配置后,通过所述固件(如以处理单元24来执行)向所述硬件协议引擎(如硬件协议引擎23)通知所述信息配置的完成。[0100]以下进一步举例说明上述步骤的实现方式。[0101]关于步骤s10,举例来说,所述配置指示信号例如是中断信号或任何合适形式的一个或多个触发信号。例如硬件协议引擎23产生配置指示信号(如中断信号),以触发所述第一设备(如存储设备20)的固件(如以处理单元24执行),使处理单元24暂停其他处理工作而针对硬件协议引擎23进行如步骤s20~s30所示的操作。在另一种实施例中,所述配置指示信号可以为轮询(polling)的信号,处理单元24可依据目前正在处理的工作的排程或工作的优先权而判定何时服务硬件协议引擎23。[0102]关于步骤s10,例如互连协议以ufs标准为例,ufs标准中的协议层为unipro层所定义,unipro规范并未揭示步骤s10的配置指示信号,也未揭示在功耗模式改变的过程中由unipro层触发unipro层以外的任何实体进行信息配置,故步骤s10相对于ufs标准来说为非标准的做法。所述固件例如在图1的存储设备20中由设备控制器22的处理单元24来执行,故所述固件在硬件协议引擎23之外实现。[0103]举例来说,步骤s10所述的固件可实现为特定的一个或多个固件,用以实现如步骤s10~s30中相关于的操作。又所述固件例如可存储于处理单元24的内部存储器、设备控制器22的内部存储器,或存储模块26的特定存储区域。[0104]关于步骤s20,在一些实施例中,对所述物理层的信息配置是由所述固件依据用于所述物理层(如m-phy层)的功耗模式改变的至少一个厂商专用(vendor-specific)的管理信息库(management information base,mib)来进行。举例来说,所述固件依据至少一个厂商专用的mib对硬件协议引擎23中的unipro规范所定义的一些寄存器(registers)进行设定,例如依据厂商专用的mib设定这些寄存器的数值。于此,厂商专用的mib是相对于unipro规范中标准的mib来说的,即未被定义于unipro规范的mib的厂商专用的mib。[0105]举例来说,厂商专用的mib可以包括,针对厂商专用的m-phy层的特定电路或操作而设定的属性(attribute)的数值。在一示例中,厂商专用的mib可以包括用以控制主机10与存储设备20之间的数据通道(如某一传输方向的数据通道)对应的一时脉信号的频率大小的数值,其中所述时脉信号的频率大小影响到数据通道的速率,故在功耗模式改变中可能需要改变所述频率大小。厂商专用的m-phy层可以实现基于电压控制振荡器(voltage-controlled oscillator,vco)的电路,以产生主机10与存储设备20之间的数据通道所对应的时脉信号,其中通过输入不同大小的电压信号至电压控制振荡器以控制所述时脉信号的频率大小。针对此频率大小的改变,可在控制器(如主机控制器12或设备控制器22)对应地实现一个或多个寄存器来存储用以控制所述电压控制振荡器的属性的数值,例如所述数值对应至输入至所述电压控制振荡器的电压信号的大小(例如代表信号振幅或直流电压位准)。在另一种示例中,厂商专用的mib可以包括用以控制主机10与存储设备20之间的数据通道(如某一传输方向的数据通道)的信号大小的数值(例如代表振幅),其中所述信号大小的数值影响到数据通道的功耗,故在功耗模式改变中可能需要改变信号大小。厂商专用的m-phy层可以实现基于低压降稳压器(low-dropout regulator,ldo)的电路,以产生主机10与存储设备20之间的数据通道所对应的信号。针对此信号大小的改变,可在控制器(如主机控制器12或设备控制器22)对应地实现一个或多个寄存器来存储用以控制所述低压降稳压器的属性的数值,例如所述数值对应至所述低压降稳压器的信号大小。借此,依据步骤s20,通过所述固件对所述物理层进行信息配置,从而针对厂商专用的m-phy层的特定电路或操作进行设定。[0106]关于步骤s20,于一些实施例中,对所述物理层的信息配置是由所述固件依据包括以下的数据来进行:至少一个厂商专用的管理信息库,用于所述物理层的功耗模式改变;以及至少一个标准管理信息库,用于所述物理层的功耗模式改变。借由这些实施例,硬件协议引擎23可不必实现依据标准管理信息库对所述物理层进行信息配置。[0107]关于步骤s30,对于协议层为unipro层的示例来说,步骤s30的做法为非标准的做法。举例来说,所述硬件协议引擎23相对应地需要实现能够接收并判断此额外的厂商专用的的管理信息库的处理逻辑电路,并与原有unipro层所规范的流程衔接。[0108]于步骤s30的一种实施例中,通过所述固件向所述硬件协议引擎通知所述信息配置的完成,包括:触发符合所述协议层的请求,以设置额外的厂商专用的管理信息库,从而用作向所述硬件协议引擎通知所述信息配置的完成。此种实施例是指在完成了实际要进行的信息配置以后,利用原有所述协议层中所规范的请求,来用作向所述硬件协议引擎通知所述信息配置的完成。[0109]于步骤s30的另一种实施例中,由所述固件触发的所述请求是符合所述协议层的设备管理实体(device management entity,dme)请求,并且所述额外的厂商专用的管理信息库是针对所述协议层而设定的。[0110]请参考图2b,其为用于互连协议的功耗模式改变的信息配置的方法的另一种实施方式的流程图。图2b的实施例与图2a的实施例的差异在于,图2b的实施例除了包括前述步骤s10~s30,还包括:回应于所述信息配置完成的通知,由所述硬件协议引擎(如硬件协议引擎23)依据用于所述物理层的功耗模式改变的至少一个标准管理信息库对所述物理层进行信息配置。[0111]借由图2b的实施例,可以利用固件(如以处理单元24执行)来依据一个或多个厂商专用的mib来进行对所述物理层的信息配置,待所述信息配置完成后,由所述硬件协议引擎(如硬件协议引擎23)依据用于所述物理层的功耗模式改变的至少一个标准管理信息库对所述物理层进行信息配置。[0112]在上述关于图2a或图2b的方法的实施方式及实施例中,虽然以第一设备为存储设备20,第二设备为主机10来举例说明,然而所述方法亦适用于第一设备为主机10,第二设备为存储设备20的情况下。[0113]以下借由所述互连协议为通用闪存存储(ufs)标准为例作详细说明。[0114]请参考图3,其为图1的存储系统依据ufs标准的分层架构的示意图。由于ufs标准基于mipi统一协议(unipro)层以及mipi物理(m-phy)层,图1所示的主机10的主机接口11及硬件协议引擎13分别用以实现图3中的m-phy层110及unipro层130;图1所示的存储设备20的设备接口21及硬件协议引擎23分别用以实现图3中的m-phy层210及unipro层230。[0115]如图3所示,unipro层130(或230)可以包括phy配接器层(phy adapter layer)131(或231)、数据链路层(data link layer)132(或232)、网络层(network layer)133(或233)和传输层(transport layer)134(或234)。存储设备20的unipro层230中的各个层也可以相似地操作及实现。[0116]phy配接器层(131或231)用以将m-phy层(110或210)耦合到数据链路层(132或232)。phy配接器层(131或231)可以在m-phy层(110或210)和数据链路层(132或232)之间执行频宽控制、功率管理等。在实现时,主机10的m-phy层110包含发送器111及接收器112,又存储设备20的m-phy层210包含发送器211及接收器212,借此能够建立数据通道sl1及sl2以进行全双功通信。unipro规范支援在每一传输方向上(如前向或反向)的链路有多个数据通道。[0117]数据链路层(132或232)可以执行用于主机10和存储设备20之间的数据传输的流程控制(flow control)。即,数据链路层(132或232)可以监视数据传输或控制数据传输速率。此外,数据链路层(132或232)可以执行基于循环冗余校验(cyclic redundancy check,crc)的错误控制。数据链路层(132或232)可以使用从网络层(133或233)接收到的封包来产生帧(frame),或者可以使用从phy配接器层(131或231)接收到的帧来产生封包。[0118]网络层(133或233)用于对于从传输层(134或234)接收的封包选择传输路径的路由功能。[0119]传输层(134或234)可以使用从ufs应用层接收的命令来配置适合于协议的数据段(segment),并且将所述数据段发送到网络层(133或233),或者可以从网络层(133或233)接收的封包中提取命令并且发送所述命令至ufs应用层。传输层(134或234)可以使用基于序列的错误控制方案,以保证数据传输的有效性。[0120]再者,unipro层(130或230)中还定义了设备管理实体(device management entity,dme)(135或235),其能够与m-phy层(110或210)及unipro层(130或230)中的各层互通,如phy配接器层(131或231)、数据链路层(132或232)、网络层(133或231)和传输层(134或234)以至ufs应用层互通,从而实现涉及统一协议(unipro)整体性的功能如开机、关机、重置、功耗模式改变等控制或组态的功能。[0121]在unipro规范中,功耗模式例如是快速模式(fast_mode)、慢速模式(slow_mode)、快速自动模式(fastauto_mode)、慢速自动模式(slowauto_mode)、休眠模式(hibernate_mode)、关闭模式(off_mode)。unipro规范支援在每一传输方向上设定链路(如前向链路或反向链路)各自的功耗模式。功耗模式改变例如是由上述的一个功耗模式改变为另一个功耗模式,例如由慢速模式改变为快速模式。[0122]请参考图4a及图4b,其为在进行功耗模式改变的过程中依据图2a或图2b的信息配置的方法来进行信息配置的实施例的示意图。[0123]如图4a所示,整体而言,基于unipro规范,phy配接器层(phy adapter layer,或简称pa)131或231为本地和遥距的设备管理实体(dme)135或235提供了一种在功耗模式改变的过程中交换所需信息的方法。所述信息在pacp_pwr_req帧(如箭号a110所示)和pacp_pwr_cnf帧(如箭号a220所示)中的papowermodeuserdata栏位中传输,在unipro规范定义了dme使用的papowermodeuserdata的结构。[0124]请参考图4a,基于unipro规范,如箭号a100所示,本地的dme135建立功耗模式改变请求,如利用基本的原始指令(primitive)pa_lm_set.req(pa_pwrmode,x)。[0125]如图形b100所示,本地的pa层131依据unipro规范当有功耗模式改变的请求时进行能力检查(capability checking),并利用指令pa_lm_set.cnf_l(success)回复本地的dme135,如箭号a102所示。[0126]如图形b102所示,本地的pa层131进行关于暂停数据链路层传输的pa_dl_pause相关处理。接着,如图形b104所示,本地的pa层131指示m-phy层110发送突发传输(burst transmission(tx))。[0127]如箭号a110所示,本地的pa层131发送pacp_pwr_req帧。之后,如图形b106所示,本地的pa层131等待确认(如以waitcnf表示)。[0128]如图形b200所示,遥距的pa层231回应于pacp_pwr_req帧而依据unipro规范进行能力检查(capability checking)。接着,如箭号a200所示,遥距的pa层231回应并通过pa_lm_pwr_mode.ind指令将负载数据(payload)传递到遥距的dme235。如箭号a202所示,遥距的dme235以pa_lm_pwr_mode.rsp_l指令作回应。[0129]如图形b202所示,遥距的pa层231进行关于暂停数据链路层传输的pa_dl_pause相关处理。接着,如图形b204所示,遥距的pa层231指示m-phy层210发送突发传输(burst transmission(tx))。[0130]如箭号a210所示,遥距的pa层231通知遥距的dme235目前在突发传输。此后,如图形b210所示,遥距的pa层231进入信息配置的阶段。[0131]如箭号a211所示,依据如图2a或图2b的方法的步骤s10,遥距的dme235产生配置指示信号(如以符号fw_mphy_cfg.ind来表示),向固件发出指示,目前所述是对m-phy的厂商专用的mib进行信息配置的时候了。借此,触发所述遥距的设备(如存储设备20)的固件(如以处理单元24来执行),以对m-phy层进行信息配置。其中所述配置指示信号相对于所述互连协议为非标准的,且所述固件在所述硬件协议引擎(如硬件协议引擎23)之外。[0132]如图形b215所示,依据如图2a或图2b的方法的步骤s20,所述固件检测到此特定指示后,所述固件开始对目标的m-phy的厂商专用的mib进行信息配置,如进行编程或程序化,或对相对应的m-phy层信息配置的寄存器进行设定等对应的一个或多个操作,如箭号a212所示。[0133]如箭号a214所示,依据如图2a或图2b的方法的步骤s30,所述固件完成对目标的m-phy的厂商专用的mib进行信息配置后,通过所述固件(如以处理单元24来执行)向遥距的pa层231通知所述信息配置的完成。例如,依据步骤s30的一种实施例,对特定的unipro的厂商专用的mib进行信息配置(如编程或寄存器设定或其他合适的操作),以表示完成。上述步骤s30的做法是为非标准的做法。[0134]此后,可选地,如图形b220所示,遥距的pa层231进入另一个信息配置的阶段,此阶段则可以实现为依据unipro层的原有规范,借由硬件(如硬件协议引擎23)依据用于m-phy层的功耗模式改变的至少一个标准mib对所述物理层进行信息配置。[0135]此外,可选地,在另一个实施例中,也可以利用所述固件处实现将厂商专用的mib及标准mib分别进行信息配置,并于完成时依据步骤s30来通知遥距的pa层231,在此实施例下,可不用实现如图形b220所示的处理。[0136]然后,如箭号a220所示,遥距的pa层231发送pacp_pwr_cnf帧。[0137]接着,如图4b所示,如箭号a120所示,本地的pa层131使用pa_lm_pwr_mode.ind将有效负载传递回本地的dme135。如箭号a122所示,本地的dme135用pa_lm_pwr_mode.rsp_l做出回应。如图形b108所示,本地的pa层131检查确认。[0138]如箭号a130所示,依据如图2a或图2b的方法的步骤s10,本地的dme135产生配置指示信号(如以符号fw_mphy_cfg.ind来表示),向固件发出指示,目前所述是对m-phy的厂商专用的mib进行信息配置的时候了。借此,触发所述本地的主机(如主机10)的固件(如以处理单元14来执行),以对m-phy层进行信息配置。其中所述配置指示信号相对于所述互连协议为非标准的,且所述固件在所述硬件协议引擎(如硬件协议引擎13)之外实现。[0139]另一方面,如图形b110所示,本地的pa层131进入信息配置的阶段。同时,如图形b230所示,遥距的pa层231等待本地的突发传输的停止(如以等待eob表示(wait eob))。[0140]如图形b115所示,依据如图2a或图2b的方法的步骤s20,所述固件检测到此特定指示后,所述固件开始对目标的m-phy的厂商专用的mib进行信息配置,如进行编程或程序化,或对相对应的m-phy层信息配置的寄存器进行设定等对应的一个或多个操作,如箭号a132所示。[0141]如箭号a134所示,依据如图2a或图2b的方法的步骤s30,所述固件完成对目标的m-phy的厂商专用的mib进行信息配置后,通过所述固件(如以处理单元14来执行)向本地的pa层131通知所述信息配置的完成。例如,依据步骤s30的一种实施例,对特定的unipro的厂商专用的mib进行信息配置(如编程或寄存器设定或其他合适的操作),以表示完成。上述步骤s30的做法是为非标准的做法。[0142]此后,可选地,如图形b120所示,本地的pa层131进入另一个信息配置的阶段,此阶段则可以实现为依据unipro层的原有规范,借由硬件(如硬件协议引擎13)依据用于m-phy层的功耗模式改变的至少一个标准mib对所述物理层进行信息配置。[0143]此外,可选地,在另一个实施例中,也可以利用所述固件处实现将厂商专用的mib及标准mib分别进行信息配置,并于完成时依据步骤s30来通知本地的pa层131,在此实施例下,可不用实现如图形b120所示的处理。[0144]接着,如图形b130所示,本地的pa层131指示m-phy层110停止突发传输。如图形b131所示,本地的pa层131等待遥距的突发传输的停止(如以等待eob表示(wait eob))。如图形b232所示,遥距的pa层231指示m-phy层210停止突发传输。[0145]接着,如图形b140所示,本地的pa层131利用pa_dl_resume.ind指令将本地的pa层131已完成操作及数据链层可继续使用链结的事向pa的服务使用者(如dme)回报。[0146]如箭号a140所示,本地的pa层131利用pa_lm_pwr_mode_changed.ind(pwr_local)指令向本地的dme135通知在本地的功耗模式改变的操作已完成。[0147]可选地,在一个实施例中,如箭号a142所示,可配置令本地的dme135在收到pa_lm_pwr_mode_changed.ind指令后进而发出dme_powermode.ind(pwr_local)指令至本地的所述固件(如以处理单元14执行)。[0148]另一方面,如图形b240所示,遥距的pa层231利用pa_dl_resume.ind指令将遥距的pa层231已完成操作及数据链层可继续使用链结的事作回报。[0149]如箭号a230所示,遥距的pa层231利用pa_lm_pwr_mode_changed.ind(pwr_remote)指令向遥距的dme235通知在遥距的功耗模式改变的操作已完成。[0150]可选地,在一个实施例中,如箭号a232所示,可配置令遥距的dme235在收到pa_lm_pwr_mode_changed.ind指令后进而发出dme_powermode.ind(pwr_remote)指令至本地的所述固件(如以处理单元24执行)。[0151]请参考图5,其为实现上述信息配置的方法的电路架构的一种实施方式的示意图。如图5所示,所述电路架构包括接口电路310、硬件协议引擎320以及处理单元330。在一个实施例中,控制器可以基于硬件协议引擎320以及处理单元330来实现。在另一个实施例中,控制器可以基于接口电路310、硬件协议引擎320以及处理单元330来实现。所述控制器可用以实现前述图1中的主机10或存储设备20。接口电路310例如是主机接口11或设备接口21,用以实现例如是ufs标准的m-phy层。硬件协议引擎320例如是硬件协议引擎13或23,用以实现例如是ufs标准的unipro层。[0152]举例来说,如图5所示,接口电路310通过总线bs1来与硬件协议引擎320进行通信以进行指令或数据的发送或接收(或称读取或写入)。处理单元330例如通过总线bs2来与接口电路310或硬件协议引擎320进行通信以进行指令或数据的发送或接收(或称读取或写入)。硬件协议引擎320例如通过总线bs3向处理单元330发送配置指示信号,如一个或多个中断信号或任何合适的触发信号。[0153]如图5所示,针对功耗模式改变,硬件协议引擎320可对应地实现为包括功耗模式改变流程控制模块321以及选择模块325。[0154]功耗模式改变流程控制模块321用以控制功耗模式改变的流程,例如依据如前述图4a或图4b的实施例来实现功耗模式改变。[0155]对于利用硬件协议引擎320来实现的主机10的示例来说,功耗模式改变流程控制模块321可以依据前述图4a或图4b的实施例中关于本地的主机10的流程来实现。[0156]对于利用硬件协议引擎320来实现的存储设备20的示例来说,功耗模式改变流程控制模块321可以依据前述图4a或图4b的实施例中关于遥距的存储设备20的流程来实现。[0157]此外,选择模块325用于接口电路310与功耗模式改变流程控制模块321之间以的通信及接口电路310与处理单元330之间的通信。[0158]举例而言,总线bs2通过硬件协议引擎320内部的总线bs21连接至选择模块325。总线bs21用作借由固件进行信息配置的总线。总线bs2通过硬件协议引擎320内部的路径l1连接至功耗模式改变流程控制模块321。路径l1用作借由固件发送用于推进功耗模式改变流程的指示至功耗模式改变流程控制模块321。[0159]功耗模式改变流程控制模块321通过硬件协议引擎320内部的路径l2连接至总线bs3。路径l1用于功耗模式改变流程控制模块321发送配置指示信号至总线bs3。[0160]可选地,功耗模式改变流程控制模块321可通过硬件协议引擎320内部的总线bs22以连接至选择模块325。总线bs22用作借由硬件进行信息配置的总线。在一些前述实施例中,若利用固件依据厂商专用的mib及标准mib来进行信息配置的话,硬件协议引擎320可不必实现依据标准mib对所述物理层进行信息配置,故总线bs22是可选的。[0161]功耗模式改变流程控制模块321可通过硬件协议引擎320内部的路径sc以连接至选择模块325。路径sc用于控制选择模块325作总线切换。[0162]例如,在实现如图4a中如图形b210所示的信息配置的阶段的一个示例中,功耗模式改变流程控制模块321通过路径sc发送代表选择总线bs21的控制信号至选择模块325以选择总线bs21与总线bs1连接,从而如图形b215所示,借由固件(如以处理单元330来执行)以对m-phy层进行信息配置。[0163]例如,在实现如图4a中如图形b220所示的信息配置的阶段的一个示例中,功耗模式改变流程控制模块321通过路径sc发送代表选择总线bs22的控制信号至选择模块325以选择总线bs22与总线bs1连接,从而如图形b220所示,借由硬件(如硬件协议引擎320)依据用于m-phy层的功耗模式改变的至少一个标准mib对所述物理层进行信息配置。[0164]此外,在上述关于主机和存储设备的实施例(如图1、3、5或相关图式、实施例)中,主机控制器或设备控制器中的硬件协议引擎是可以基于使用硬件描述语言(hdl)或本领域技术人员所熟悉的数字电路的任何其他设计方法的技术进行设计,并且可以基于使用现场可程序逻辑闸阵列(field programmable gate array,fpga)、或特定积体电路(application specific integrated circuit,asic)或复杂可编程逻辑器件(cpld)之类的电路中的一个或多个电路来实现,亦可使用专属的电路或模块来实现。主机控制器或设备控制器中的处理单元可以基于微控制器、处理器、或数字信号处理器来实现。[0165]如上所述,上述实施方式提供了一种用于互连协议的信息配置的技术,依据所述控制技术提出各种实施方式,如用于功耗模式改变的信息配置的方法、控制器以及存储设备。其中在互连协议的功耗模式改变的过程中,借由实现所述互连协议的协议层的硬件协议引擎与固件通信,以达成信息配置。所述硬件协议引擎与所述固件的通信是通过非标准的方式进行,且所述固件在所述硬件协议引擎之外。借此技术可提供一种足够弹性的电路架构,这种电路架构能够有效率地被配置来满足不同产品的厂商特定的信息配置的需求,以适应各种厂商的设计而有助于产品开发。[0166]本发明在上文中已以较佳实施例揭露,然而熟习本领域的普通技术人员应理解的是,所述实施例仅用于描绘本发明,而不应解读为限制本发明的范围。应注意的是,举凡与所述实施例等效的变化与置换,均应设为涵盖于本发明的范畴内。因此,本发明的保护范围当以权利要求书所界定的为准。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部