掌桥专利:专业的专利平台
掌桥专利
首页

用于在UFS系统中自主检测链路的状态的方法和设备

文献发布时间:2023-06-19 19:28:50


用于在UFS系统中自主检测链路的状态的方法和设备

技术领域

本公开一般地涉及数据通信,并且更具体地,涉及通用快闪存储(UFS)系统内的数据通信。

背景技术

根据联合电子设备工程委员会(JEDEC)发布的UFS规范(例如,版本3.1),当发起方设备的数据链路层向目标设备的数据链路层发送数据帧时,发起方设备在每个数据帧传输结束时以每业务数据的专用时间段(65535μs(微秒))启动重放(replay)计时器。重放计时器用于识别在专用时间段内接收的、针对所发送的数据帧的确认和流控制(AFC)帧或否定确认(NAC)帧。如果在专用时间段内没有接收到AFC帧或NAC帧,则发起方设备假定发起方设备和目标设备之间的链路存在问题。

图1示出了根据现有技术的正常操作场景:在该场景中,发起方设备100向目标设备200发送数据帧,并且发起方设备100在重放计时器到期之前从目标设备200接收AFC帧。在S102,发起方设备100的发送器110向目标设备200的接收器220发送数据帧。在发送数据帧之后,发起方设备100启动重放计时器。在S104,目标设备200的接收器220接收数据帧,并且将AFC帧发送到目标设备200的发送器210。在S106,目标设备200的发送器210将AFC帧发送到发起方设备100的接收器120。一旦在发起方设备100处接收到AFC帧,发起方设备100就停止重放计时器。考虑以下场景,当在专用时间段内,在发起方设备100处没有接收到AFC帧时,发起方设备100等待重放计时器到期。在重放计时器到期之后,发起方设备100假定发起方设备100和目标设备200之间的链路存在问题。此外,发起方设备100在发起方设备100和目标设备200之间发起链路重新初始化,以将数据帧从发起方设备100发送到目标设备200。然而,直到重放计时器到期,发起方设备100都在等待来自目标设备200的AFC帧。因此,发起方设备100浪费了电力和资源(例如,带宽)。参考图2解释这个问题。

图2示出了以下问题场景:在该场景中,发起方设备100向目标设备200发送数据帧,并且发起方设备100直到重放计时器到期都没有从目标设备200接收到AFC。在S202,发起方设备100的发送器110将数据帧发送到目标设备200的接收器220。在发送数据帧之后,发起方设备100启动重放计时器。在S204,目标设备200的接收器220接收数据帧,并且将AFC帧发送到目标设备200的发送器210。然而,目标设备200的发送器210没有向发起方设备100的接收器120发送AFC帧。尽管如此,发起方设备100仍然等待来自目标设备200的AFC或否定确认(NAC)帧,直到重放计时器到期。

此外,当在专用时间段内在发起方设备100处没有接收到AFC帧或NAC帧时,发起方设备100等待重放计时器到期。按照UFC规范,重放计时器的默认时间是65535μs,这是相当高的。在重放计时器到期之后,发起方设备100假定发起方设备100和目标设备200之间的链路存在问题。此外,发起方设备100在发起方设备100和目标设备200之间发起链路重新初始化,以将数据帧从发起方设备100发送到目标设备200。然而,直到重放计时器到期,发起方设备100都在等待来自目标设备200的AFC帧或NAC帧。因此,发起方设备100浪费了电力和资源(例如,带宽)。

此外,发起方设备100和目标设备200支持多种速度模式。速度模式调节发起方设备100和目标设备200处的数据帧的速度。速度模式可以是例如但不限于脉冲宽度调制1档(PWM G1)模式、高速1档(HSG1)模式、高速2档(HSG2)模式、高速3档(HSG3)模式和高速4档(HSG4)模式。在示例中,在HSG1模式下,数据帧传输的速度是1248Mbps。在另一示例中,在HSG2模式中,数据帧传输的速度是2496Mbps。速度模式可以由发起方设备100选择。基于选择的速度模式,数据帧传输时间变化。此外,在选择速度模式之前,发起方设备100可以改变针对发起方设备100和目标设备200两者的重放计时器的计时器值。因此,发起方设备100可以基于选择的速度模式设置针对重放计时器的预定义的计时器值。然而,选择速度模式和设置计时器值的问题在于,每当速度模式改变时,发起方设备100必须重置计时器值。另外,发起方设备100通常为重放计时器分配更高的重置(reset)计时器值,以避免链路重新初始化惩罚(penalty)。例如,超时(timeout)时段的实际持续时间应当是在属性±10%中设置的值,并且重放计时器值是65535μs。

发明内容

本文的实施例公开了一种用于在UFS系统中自主检测发起方设备和目标设备之间的链路的状态的方法。该方法包括由发起方设备通过链路向目标设备发送数据帧。此外,该方法包括由发起方设备以重放时间段启动重放计时器。此外,该方法包括由发起方设备以第一时间段启动周转(turn-around)计时器。周转计时器的第一时间段小于重放计时器的重放时间段。此外,该方法包括由发起方设备确定在周转计时器到期之前是否接收到数据帧的AFC帧。此外,该方法包括由发起方设备执行以下中的一个:响应于确定在周转计时器到期之前从目标设备接收到AFC帧,将发起方设备和目标设备之间的链路的状态检测为活动的,以及响应于确定在周转计时器到期之前没有接收到AFC帧,通过以第二时间段重新启动周转计时器,来检测发起方设备和目标设备之间的链路的状态。

在实施例中,通过以第二时间段重新启动周转计时器来检测发起方设备和目标设备之间的链路的状态包括:由发起方设备通过链路向目标设备发送否定确认(NAC)帧,由发起方设备以第二时间段重新启动周转计时器,其中,周转计时器的第二时间段小于重放计时器的时间段,由发起方设备确定在重新启动的周转计时器到期之前是否从目标设备接收到AFC帧和NAC帧中的一个,以及由发起方设备执行以下中的一个:响应于确定在重新启动的周转计时器到期之前从目标设备接收到AFC帧和NAC帧中的一个,将发起方设备和目标设备之间的链路的状态检测为活动的,以及响应于确定在重新启动的周转计时器到期之前没有从目标设备接收到AFC帧和NAC帧中的一个,将发起方设备和目标设备之间的链路的状态检测为不活动的,并且重新初始化发起方设备和目标设备之间的链路。

在实施例中,由发起方设备以第一时间段启动周转计时器包括:由发起方设备基于通过链路从发起方设备到目标设备发送数据帧所需要的时间、通过链路从目标设备接收针对数据帧的AFC帧所需要的时间、以及在目标设备处对数据帧进行处理所需要的时间,来确定用于周转计时器的第一时间段,以及由发起方设备通过配置第一时间段来启动周转计时器。

在实施例中,通过链路从发起方设备到目标设备发送数据帧所需要的时间是基于在发起方设备处配置的速度模式来确定的。

在实施例中,通过链路从目标设备到发起方设备接收针对数据帧的AFC帧所需要的时间是基于在发起方设备处配置的速度模式来确定的。

在实施例中,由发起方设备以第二时间段重新启动周转计时器包括:由发起方设备基于通过链路从发起方设备到目标设备发送NAC帧所需要的时间、通过链路从目标设备接收AFC帧和NAC帧中的一个所需要的时间、以及在目标设备处对NAC帧进行处理和准备AFC帧和NAC帧中的一个所需要的时间,来确定用于周转计时器的第二时间段,并且由发起方设备通过配置第二时间段来重新启动周转计时器。

在实施例中,通过链路从发起方设备到目标设备发送NAC帧所需要的时间是基于在发起方设备处配置的速度模式来确定的。

在实施例中,通过链路从目标设备接收AFC帧和NAC帧中的一个所需要的时间是基于在发起方设备处配置的速度模式来确定的。

本文的实施例公开了一种用于在UFS系统中自主检测发起方设备和目标设备之间的链路的状态的发起方设备。发起方设备包括存储链路的状态的UFS存储器和连接到UFS存储器的链路状态控制器。链路状态控制器被配置为通过链路向目标设备发送数据帧。此外,链路状态控制器被配置为以重放时间段启动重放计时器。此外,链路状态控制器被配置为以第一时间段启动周转计时器。周转计时器的第一时间段小于重放计时器的重放时间段。此外,链路状态控制器被配置为确定在周转计时器到期之前是否接收到数据帧的AFC帧。此外,链路状态控制器被配置为执行以下中的一个:响应于确定在周转计时器到期之前从目标设备接收到AFC帧,将发起方设备和目标设备之间的链路的状态检测为活动的,以及响应于确定在周转计时器到期之前没有接收到AFC帧,通过以第二时间段重新启动周转计时器,来检测发起方设备和目标设备之间的链路的状态。

在另一方面中,一种用于在UFS系统中自主检测发起方设备和目标设备之间的链路的状态的方法包括,在发起方设备处:通过链路向目标设备发送至少一个数据帧;以重放时间段启动重放计时器;以及以小于重放时间段的第一时间段启动周转计时器。然后,确定在周转计时器到期之前是否接收到针对至少一个数据帧的AFC帧或NAC帧;如果是,则检测到链路的状态是活动的;如果不是,则以第二时间段重新启动周转计时器,该第二时间段在重放时间段到期之前到期,并且在第二时间段内检测链路的状态。

在另一方面中,一种用于在通用快闪存储系统中自主检测发起方设备和目标设备之间的链路的状态的方法包括:在发起方设备处,通过链路向目标设备发送至少一个数据帧;在参考至少一个数据帧的发送的时间处,以第一时间段启动周转计时器;确定在周转计时器到期之前是否接收到针对至少一个数据帧的AFC帧或NAC帧;如果是,则检测到链路的状态是活动的;如果不是,则发送NAC帧并且以第二时间段重新启动周转计时器,以及在第二时间段内检测链路的状态,该状态基于是否从目标设备接收到对所发送的NAC帧的响应。

当结合下面的描述和附图考虑时,将更好地认识和理解本文的实施例的这些和其他方面。然而,应当理解的是,以说明的方式而非限制性的方式给出下面的描述,虽然其指示了优选的实施例及其许多具体的细节。在不脱离本文的实施例的范围的情况下,可以在本文的实施例的范围内进行许多改变和修改,并且本文的实施例包括所有这样的修改。

附图说明

在附图中示出了该方法、发起方设备和UFS系统的实施例,贯穿附图,相同的附图标记指示各个图中的相对应部分。参考附图,从下面的描述中将更好地理解本文的实施例,在附图中:

图1示出根据现有技术的正常操作场景,在该场景中,发起方设备向目标设备发送数据帧,并且发起方设备在重放计时器到期之前从目标设备接收AFC帧;

图2示出根据现有技术的问题场景,在该场景中,发起方设备向目标设备发送数据帧,并且发起方设备直到重放计时器到期也没有从目标设备接收到AFC帧;

图3是示出根据本文公开的实施例的,当发起方设备检测到发起方设备和目标设备之间的链路的状态是活动的时,用于关于周转计时器到期场景从发起方设备向目标设备传送数据帧的各种操作的定时图;

图4是示出根据本文公开的实施例的,当发起方设备检测到发起方设备和目标设备之间的链路的状态是不活动的时,用于关于周转计时器到期场景从发起方设备向目标设备传送数据帧的各种操作的定时图;

图5是根据本文公开的实施例的、用于自主检测发起方设备和目标设备之间的链路的状态的UFS系统的总体视图;

图6示出根据本文公开的实施例的、用于在UFS系统中自主检测与目标设备的链路的状态的发起方设备的各种硬件组件;

图7是根据现有技术的计算重放计时器的重放时间段的示例图示;

图8是根据本文公开的实施例的计算周转计时器的时间段的示例图示;

图9A是示出根据本文公开的实施例的、用于在UFS系统中自主检测发起方设备和目标设备之间的链路的状态的方法的第一部分的流程图;和

图9B是示出根据本文公开的实施例的、用于在UFS系统中自主检测发起方设备和目标设备之间的链路的状态的方法的第二部分的流程图。

具体实施方式

参考在附图中示出的并且在以下描述中详述的非限制性实施例,更全面地解释了本文的实施例及其各种特征和有利细节。省略了对熟知的组件和处理技术的描述,以免不必要地模糊本文的实施例。另外,本文描述的各种实施例不必是互斥的,因为一些实施例可以与一个或多个其他实施例组合以形成新的实施例。除非另有说明,本文使用的术语“或”指代非排他性的或。本文使用的示例仅仅是为了便于理解可以实践本文的实施例的方式,并且进一步使得本领域技术人员能够实践本文的实施例。因此,这些示例不应被解释为限制本文实施例的范围。

如本领域中传统的那样,可以根据执行所描述的一个或多个功能的块来描述和说明实施例。在本文中可以被称为单元或模块等的这些块通过模拟或数字电路物理地实现,诸如逻辑门、集成电路、微处理器、微控制器、存储器电路、无源电子组件、有源电子组件、光学组件、硬连线电路等;并且可以可选地通过固件来驱动。例如,电路可以体现在一个或多个半导体芯片中,或者在诸如印刷电路板等的衬底支撑上。构成块的电路可以通过下述来实现:通过专用硬件、或者通过处理器(例如,一个或多个编程的微处理器和相关联的电路)、或者通过执行块的一些功能的专用硬件和执行块的其他功能的处理器的组合。在不脱离本发明构思的范围的情况下,实施例的每个块可以物理上被分离为两个或更多个相互作用并且离散的块。同样地,实施例的块可以物理地组合为更复杂的块,而不脱离本发明构思的范围。

附图用于帮助容易地理解各种技术特征,并且应当理解,本文呈现的实施例不受附图的限制。因此,本公开应当被解释为除了附图中特别地阐述的那些之外延伸到任何变更、等同物和替代物。虽然术语第一、第二等可以在本文用来描述各种元件,但是这些元件不应当被这些术语所限制。这些术语通常仅用于将一个元件与另一元件相区分。

与传统的方法和系统不同,在本发明构思的实施例中,发起方设备可以快速地检测UFS系统中的发起方设备和目标设备之间的链路的状态。如果发起方设备在周转(turn-around)计时器到期之前没有接收到AFC帧或NAC帧,则发起方设备向目标设备发送NAC帧,并且重新启动周转计时器,以便发起/请求目标设备发送AFC帧或NAC帧。即使在向目标设备发送NAC帧之后,如果在重新启动的周转计时器到期之前发起方设备没有接收到AFC帧或NAC帧,则发起方设备将发起链路重新初始化,而不等待重放计时器到期。(相比之下,传统系统在开始链路重新初始化之前总是等待直到重放计时器到期。)因此,发起方设备消耗更少的电力,并且避免浪费其自身的资源(例如,浪费带宽等),从而提高UFS系统的整体性能。

在本发明构思的实施例中,在发送NAC帧之后,发起方设备重新启动周转计时器。根据UFS规范,当目标设备接收到NAC帧时,目标设备应当优先地将AFC帧(如果可用)发送到发起方设备。此外,目标设备接收NAC帧,并且目标设备向发起方设备发送AFC帧。在本文的实施例中,一旦在发起方设备处接收到AFC帧,发起方设备就停止周转计时器,并且发起方设备检测到发起方设备和目标设备之间的链路的状态是活动的。因此,发起方设备可以快速地检测发起方设备和目标设备之间的链路的状态,而不会浪费资源和电力,因为发起方设备不需要等待重放计时器到期。

现在参考附图并且更具体地参考图3至图9,示出了示例实施例。

图3是示出根据本文公开的实施例的,当发起方设备100检测到发起方设备100和目标设备200之间的链路的状态是活动的时,用于关于周转计时器到期场景从发起方设备100向目标设备200发送数据帧的方法各种操作的定时图。该链路可以是例如但不限于:无线通信链路、串行点对点链路、传输线路、铜线路、光线路和红外通信链路。发起方设备100和目标设备200之间的连接被称为链路。该链路可以支持一条通路(lane)。每条通路代表一组差分信号对(一对用于发送,一对用于接收)。为了缩放带宽,链路可以聚合由xN表示的多个通路,其中,N是任何支持的链路宽度,例如1、2或4,或者更宽。

发起方设备100和/或目标设备200可以是快闪存储设备。当发起方设备是快闪存储设备时,目标设备可以是电子设备的处理器,诸如计算机微处理器、图像处理器、应用处理器、音频处理器等等。发起方设备100和目标设备200可以用于例如汽车和第五代(5G)应用中。发起方设备100和目标设备200可以被用于同一电子设备(例如,智能电话、膝上型计算机、平板电脑、柔性设备、物联网(IoT)设备等)中。发起方设备100和目标设备200各自可以是电子设备内的嵌入式设备或者可以集成在可移除卡上,以便与不同的电子设备一起灵活使用。

参考图3,在S302,发起方设备100的发送器110将数据帧发送到目标设备200的接收器220。在发送数据帧之后,发起方设备100启动重放计时器和周转计时器。在示例中,重放计时器的时间段是65535μs。在图3的示例中,在紧接数据帧发送之后的时间段311中,没有从目标设备200到发起方设备100的响应。基于该方法,在S304,发起方设备100的发送器110向目标设备200的接收器220发送NAC帧。在发送NAC帧之后,发起方设备100启动周转计时器。在示例中,对于HS-G1/1通路配置,周转计时器的时间段可以是4.57μs。根据UFS规范(例如,版本3.1),当目标设备200接收到NAC帧时,目标设备200应当优先地(on aprioritized basis)将AFC帧发送到发起方设备100。替代地,根据本文公开的实施例,当目标设备200接收到NAC帧时,目标设备200可以将AFC帧发送到发起方设备100。在S306,目标设备200的接收器220接收NAC帧,并且将AFC帧或NAC帧发送到目标设备200的发送器210。在S308,目标设备200的发送器210向发起方设备100的接收器120发送AFC帧或NAC帧。一旦在发起方设备100处接收到AFC帧或NAC帧,发起方设备100就停止周转计时器。因此,发起方设备100识别出发起方设备100和目标设备200之间的链路的状态是活动的。因此,基于该方法,发起方设备100可以快速地检测发起方设备100和目标设备200之间的链路的状态,而不浪费资源和电力,因为发起方设备100不需要等待重放计时器的到期。考虑以下示例,对于HS-G1/1通路配置,重放计时器的时间段是65535μs,而周转计时器的时间段是4.57μs,那么对于检测发起方设备100和目标设备200之间的链路的状态节省的总时间是65530.43μs。

图4是示出根据本文公开的实施例的,当发起方设备100检测到发起方设备100和目标设备200之间的链路的状态是不活动的时,用于关于周转计时器到期场景从发起方设备100向目标设备200发送数据帧的方法的各种操作的定时图。

在S402,发起方设备100的发送器110将数据帧发送到目标设备200的接收器220。在发送数据帧之后,发起方设备100启动重放计时器和周转计时器。然而,没有从目标设备200到发起方设备100的响应。基于该方法,在S404,发起方设备100的发送器110将NAC帧发送到目标设备200的接收器220。在发送NAC帧之后,发起方设备100重新启动周转计时器。根据UFS规范,当目标设备200接收到NAC帧时,目标设备200应当优先地将AFC帧发送到发起方设备100。替代地,根据本文公开的实施例,当目标设备200接收到NAC帧时,目标设备200可以将AFC帧发送到发起方设备100。在S406,目标设备200的接收器220接收NAC帧,并且目标设备200的接收器220将AFC帧或NAC帧发送到目标设备200的发送器210。然而,目标设备200的发送器210没有向发起方设备100的接收器120发送AFC帧或NAC帧。如果在从目标设备200接收到AFC帧或NAC帧之前,发起方设备100的周转计时器到期,则发起方设备100可以确认链路存在问题,由此发起方设备100可以立即地启动链路重新初始化。注意,这种链路重新初始化在重放计时器将要另外地(otherwise)到期的时间之前启动,因为重新启动的周转计时器被设计为在重放计时器到期之前到期。因此,发起方设备100消耗更少的电力,并且避免浪费其自身的资源(例如,带宽浪费等),从而提高UFS系统的整体性能。基于该方法,发起方设备100可以快速地检测发起方设备100和目标设备200之间的链路的状态,因为发起方设备100不需要等待重放计时器的到期。

图5是根据本文公开的实施例的、用于自主检测发起方设备100和目标设备200之间的链路的状态的UFS系统5000的总体视图。UFS系统5000包括发起方设备100和目标设备200。UFS系统5000可以是由JEDEC标准定义的快闪存储器系统,其被设计用于高数据传输速度和低电力消耗。

发起方设备100被配置为通过链路将数据帧发送到目标设备200。在发送数据帧之后,发起方设备100被配置为以重放时间段启动重放计时器。根据UFS规范(例如版本3.1),重放计时器的默认值是65535μs。此外,发起方设备100可以被配置为基于通过链路从发起方设备100到目标设备200发送数据帧所需要的时间、通过链路从目标设备200接收针对数据帧的AFC帧或NAC帧所需要的时间、以及在目标设备200处对数据帧进行处理所需要的时间,来确定用于周转计时器的第一时间段。发起方设备100可以被配置为基于所配置的第一时间段来启动周转计时器。在示例中,对于HSG 4 2通路,第一次计时器值(即,对应于第一时间段)如下:

第一次计时器值=T1+B=0.186+B

T1=t1+t2+t3=0.186μs[0.136+0.047+0.003]

其中,B是指Beta时间。

Beta时间可以指为适应不同硬件块处理和准备确认的时间差异而添加的裕量时间。通常,硬件块可以被设计为快速处理和发送确认以获得性能优势。

在实施例中,B的值可以小于0.001μs。

注意:

1)t1=0.136μs[通过链路从发起方到目标设备的272字节传输]

2)t2=0.047μs[目标设备内部的6个周期的内部数据帧处理和AFC帧准备(170MHz)+从发起方PA(physical adapter,物理适配器)层到发起方DL RX域的2个周期的内部AFC帧到达(170MHz)]

3)t3=0.003μs[通过链路从目标设备到发起方设备的AFC帧到达]。

此外,发起方设备100可以被配置为确定在周转计时器到期之前是否接收到了针对数据帧的AFC帧或NAC帧。如果在周转计时器到期之前接收到针对数据帧的AFC帧或NAC帧,则发起方设备100将发起方设备100和目标设备200之间的链路的状态检测为活动的。如早前讨论的,发起方设备100可以快速地将发起方设备100和目标设备200之间的链路的状态检测为活动的,而不浪费资源和电力,因为发起方设备100不需要等待重放计时器到期。如果在周转计时器到期之前没有接收到针对数据帧的AFC帧或NAC帧中的任一,则发起方设备100被配置为通过链路向目标设备200发送NAC帧。

此外,发起方设备100可以被配置为基于通过链路从发起方设备100到目标设备200发送NAC帧所需要的时间、通过链路从目标设备200接收AFC帧或NAC帧所需要的时间、以及在目标设备200处对NAC帧进行处理和准备AFC帧或NAC帧所需要的时间,来确定用于周转计时器的第二时间段。此外,发起方设备100可以被配置为通过配置第二时间段来重新启动周转计时器。在示例中,对于HSG4 2通路,第二次计时器值(即,对应于第二时间段)如下:

第二次计时器值=T1’+T2’+T3’+B

T1’=NAC帧发送时间=0.002μs

T2’=NAC帧解码时间=~0.047μs

T3’=AFC帧接收时间=0.003μs

第二次计时器值=0.002+0.047+0.003+B

第二次计时器值=0.052+B

总计时器值=第一次计时器值+第二次计时器值

总计时器值=0.186+B+0.052+B

总计时器值=0.24+2B=0.374。

发起方设备100可以被配置为确定在重新启动的周转计时器到期之前是否从目标设备200接收到AFC帧和/或NAC帧。如果在重新启动的周转计时器到期之前从目标设备200接收到AFC帧和NAC帧中的任一,则发起方设备100被配置为将发起方设备100和目标设备200之间的链路的状态检测为活动的。

如果在重新启动的周转计时器到期之前没有从目标设备200接收到AFC帧和NAC帧中的任一,则发起方设备100被配置为将发起方设备100和目标设备200之间的链路的状态检测为不活动。此外,发起方设备100被配置为重新初始化与目标设备200的链路。发起方设备100可以快速地将发起方设备100和目标设备200之间的链路的状态检测为不活动的,而不浪费资源和电力,因为发起方设备100不需等待重放计时器的到期。

图6示出了根据本文公开的实施例的,用于在UFS系统5000中自主检测与目标设备200的链路的状态的发起方设备100的各种硬件组件。发起方设备100包括发送器110、接收器120、处理器130、UFS存储器140、速度模式控制器150和链路状态控制器160。处理器130与发送器110、接收器120、UFS存储器140、速度模式控制器150和链路状态控制器160耦合。

链路状态控制器160通过模拟或数字电路(诸如,逻辑门、集成电路、微处理器、微控制器、存储电路、无源电子组件、有源电子组件、光学组件、硬连线电路等)物理地实现,并且可以可选地通过固件来驱动。例如,链路状态控制器160可以具体体现在一个或多个半导体芯片中,或者在诸如印刷电路板等的衬底支撑上。构成块的电路可以通过下述来实现:专用硬件、或者处理器(例如,一个或多个编程的微处理器和相关联的电路)、或者执行块的一些功能的专用硬件和执行块的其他功能的处理器的组合。

链路状态控制器160被配置为通过链路向目标设备200发送数据帧。在发送数据帧之后,链路状态控制器160被配置为以重放时间段启动重放计时器。根据UFS规范,重放时间段为65535μs。此外,链路状态控制器160被配置为基于通过链路从发起方设备100到目标设备200发送数据帧所需要的时间、通过链路从目标设备200接收针对数据帧的AFC帧或NAC帧所需要的时间、以及在目标设备200处对数据帧进行处理所需要的时间来确定用于周转计时器的第一时间段。链路状态控制器160被配置为基于第一时间段启动周转计时器。

此外,链路状态控制器160被配置为确定在周转计时器到期时或之前是否接收到针对数据帧的AFC帧或NAC帧。如果在周转计时器到期之前接收到针对数据帧的AFC帧或NAC帧,则发起方设备100可以将发起方设备100和目标设备200之间的链路的状态检测为活动的。如果在周转计时器到期之前既没有接收到针对数据帧的AFC帧也没有接收到针对数据帧的NAC帧,则链路状态控制器160被配置为通过链路向目标设备200发送NAC帧。

此外,发起方设备100被配置为基于通过链路从发起方设备100到目标设备200发送NAC帧所需要的时间、通过链路从目标设备200接收AFC帧或NAC帧所需要的时间、以及在目标设备200处对NAC帧进行处理和准备AFC帧或NAC帧所需要的时间来确定用于周转计时器的第二时间段。此外,链路状态控制器160被配置为基于所配置的第二时间段来重新启动周转计时器。

链路状态控制器160被配置为确定在重新启动的周转计时器到期之前是否从目标设备200接收到AFC帧或NAC帧。如果在重新启动的周转计时器到期之前从目标设备200接收到AFC帧或NAC帧,则链路状态控制器160将发起方设备100和目标设备200之间的链路的状态检测为活动的。

如果在重新启动的周转计时器到期之时或之前没有从目标设备200接收到AFC帧或NAC帧中的任一,则链路状态控制器160将发起方设备100和目标设备200之间的链路的状态检测为不活动。此外,链路状态控制器160被配置为重新初始化与目标设备200的链路。

可以基于使用速度模式控制器150在发起方设备100处配置的速度模式,确定通过链路从发起方设备100到目标设备200发送数据帧所需要的时间。此外,可以基于使用速度模式控制器150在发起方设备100处配置的速度模式,来确定通过链路从目标设备200到发起方设备100接收针对数据帧的AFC帧或NAC帧所需要的时间。在示例中,如果速度模式是HSG1,针对HSG1的速度是1248Mbps以及发起方设备100中的通路的总数量是1,则周转计时器的值是4.57μs。下面,表1和表2指示在不同速度下的周转计时器的各种值。

表1. 1通路数据传输中的节省:

表2. 2通路数据传输中的节省:

处理器130被配置为运行在UFS存储器140中所存储的指令,并且执行各种处理。处理器130可以包括一个或多个处理器。一个或多个处理器可以是通用处理器,诸如中央处理单元(CPU)、应用处理器(AP)等;图形专用处理单元,诸如图形处理单元(GPU)、视觉处理单元(VPU);和/或AI专用处理器,诸如神经处理单元(NPU)。处理器130可以包括多个核心,并且被配置为运行在UFS存储器140中所存储的指令。

一个或多个处理器根据在非易失性存储器和易失性存储器中所存储的预定义的操作规则或人工智能(AI)模型来控制输入数据的处理。通过训练或学习来提供预定义的操作规则或人工智能模型。

UFS存储器140还存储要由处理器130运行的指令。UFS存储器140存储链路的状态。UFS存储器140可以包括非易失性存储元件。另外,在一些示例中,UFS存储器140可以被认为是非暂时性存储介质。术语“非暂时性的”可以指示存储介质不具体体现在载波或传播信号中。然而,术语“非暂时性的”不应当被解释为UFS存储器140是不可移动的。在一些示例中,UFS存储器140可以被配置为存储更大量的信息。在某些示例中,非暂时性存储介质可以存储可以随时间改变的数据(例如,在随机存取存储器(RAM)或高速缓存中)。

发送器110被配置为用于在内部硬件组件之间内部地通信,以及经由一个或多个网络与外部设备通信。发送器110可以是例如但不限于蓝牙通信器、无线保真(Wi-Fi)模块和Li-Fi模块。接收器120被配置用于在内部硬件组件之间内部地通信,以及经由一个或多个网络与外部设备通信。接收器120可以是例如但不限于蓝牙通信器、无线保真(Wi-Fi)模块和Li-Fi模块。

此外,发起方设备100还包括存储器核心,该存储器核心可以包括例如使用快闪存储器技术设计的存储器单元(诸如NAND快闪存储器单元)的一个或多个体(bank)、阵列和/或其他组织。

尽管图6示出了发起方设备100的各种硬件组件,但是要理解的是,其他实施例不限于此。在其他实施例中,发起方设备100可以包括更多或更少的组件。此外,组件的标签或名称仅用于说明目的,并且不限制本发明构思的范围。一个或多个组件可以组合在一起执行相同或基本相似的功能,以用于在UFS系统中自主检测发起方设备100和目标设备200之间的链路的状态。

图7是根据现有技术计算重放计时器的重放时间段的示例图。在示例中,在发起方设备100和目标设备200之间传输272比特的数据。发起方设备100和目标设备200支持HSG4-2通路(即,每通路11660Mbps)。基于UFS规范,重放计时器的默认值是65535μs。

图8是根据本文公开的实施例的计算周转计时器的时间段的示例图。在示例中,在发起方设备100和目标设备200之间要传输272比特的数据。发起方设备100和目标设备200支持HSG4-2通路(即,每通路11660Mbps)。

发起方设备100基于通过链路从发起方设备100到目标设备200发送数据帧所需要的时间、通过链路从目标设备200接收针对数据帧的AFC帧或NAC帧所需要的时间、以及在目标设备200处对数据帧进行处理所需要的时间,来确定用于周转计时器的第一时间段。发起方设备100通过配置第一时间段来启动周转计时器。

发起方设备100基于通过链路从发起方设备100向目标设备200发送NAC帧所需的时间、通过链路从目标设备200接收AFC帧或NAC帧所需的时间、以及在目标设备200处理NAC帧和准备AFC帧或NAC帧所需的时间,来确定用于周转计时器的第二时间段。发起方设备100通过配置第二时间段来重新启动周转计时器。

图9A是根据本文公开的实施例的方法的、用于在UFS系统(5000)中自主检测发起方设备100和目标设备200之间的链路的状态的方法的第一部分S900A的流程图。图9B是用于这种自主检测的方法的第二部分S900B的流程图。图9A-图9B的操作S902-S930由链路状态控制器160执行。

在S902,该方法包括通过链路向目标设备200发送数据帧。在S904,该方法包括以重放时间段启动重放计时器。在S906,该方法包括基于通过链路从发起方设备100到目标设备200发送数据帧所需要的时间、通过链路从目标设备200接收针对数据帧的AFC帧或NAC帧所需要的时间、以及在目标设备200处对数据帧进行处理所需要的时间来确定用于周转计时器的第一时间段。在S908,该方法包括通过配置第一时间段来启动周转计时器。

在S910,该方法包括确定在周转计时器到期之前(替选地,在周转计时器到期之时或之前)是否接收到针对数据帧的AFC帧或NAC帧。如果在周转计时器到期之前(或之时或之前)接收到针对数据帧的AFC帧或NAC帧,则在S912,该方法包括将发起方设备100和目标设备200之间的链路的状态检测为活动的。如果在周转计时器到期之前(或之时或之前)既没有接收到针对数据帧的AFC帧也没有接收到针对数据帧的NAC帧,则在S914,该方法包括通过链路向目标设备200发送NAC帧。在本文中,周转计时器的“到期之时”意味着紧接在周转计时器到期之后。

在S916,该方法包括基于通过链路从发起方设备100到目标设备200发送NAC帧所需要的时间、通过链路从目标设备200接收AFC帧和NAC帧中的一个所需要的时间、以及在目标设备200处对NAC帧进行处理和准备AFC帧或NAC帧所需要的时间,来确定用于周转计时器的第二时间段。在S918,该方法包括通过配置第二时间段来重新启动周转计时器。

在S920,该方法包括确定在重新启动的周转计时器到期之前(或之时或之前)是否从目标设备200接收到AFC和NAC帧中的一个。如果在重新启动的周转计时器到期之时或之前从目标设备200接收到AFC帧和NAC帧中的一个,则在S922,该方法包括将发起方设备100和目标设备200之间的链路的状态检测为活动的。

如果在重新启动的周转计时器到期之前(或之时或之前)没有从目标设备200接收到AFC帧和NAC帧中的任一,则在S924,该方法包括将发起方设备100和目标设备200之间的链路的状态检测为不活动的。在S926,该方法包括重新初始化发起方设备100和目标设备200之间的链路。

流程图(S900A和S900B)中的各种动作、行为、块(block)、步骤等可以以所呈现的顺序、以不同的顺序或同时执行。此外,在一些实施例中,在不脱离本发明的范围的情况下,可以省略、添加、修改、跳过动作、行为、块、步骤等中的一些。

本文公开的实施例可以使用运行在至少一个硬件设备上的网络管理功能来实现。

特定实施例的前述描述将如此充分地揭示本文实施例的一般性质,以至于其他人可以通过应用当前知识,在不脱离一般构思的情况下,容易地修改和/或适配这种特定实施例以用于各种应用;并且因此,这种适配和修改应该并且是旨在被理解在所公开的实施例的等同物的含义和范围内。要理解的是,本文使用的措辞或术语是为了描述而非限制的目的。因此,尽管已经根据示例实施例描述了本文的实施例,但是本领域技术人员将认识到,本文的实施例可以通过在本文描述的实施例的范围内进行修改来实施。

技术分类

06120115927851