百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

UFS深入浅出 第三章 UFS状态图解 第二节 UFS数据突发状态转移图解

yuyutoo 2024-11-03 17:32 7 浏览 0 评论

Section 2 UFS Data Burst State Diagram

第二节UFS数据突发状态转移图解

In the first section of this chapter, we focus on the power state transition diagram from UFS UTP layer point of view. Now we go deeper to UniPro and M-PHY for data burst and PMC (power mode change) diagram. In this diagram, we have M-PHY Line Status, symbols and UniPro packets. No need to know the detail of these now, knowing their names is enough for this chapter. We will illustrate them in the following chapters.

在这一章的第一节,我们聚焦在从UFS UTP层的角度来看的电源状态转移图。现在我们深入一点到UniPro和M-PHY来看一下data burst数据突发和PMC(电源模式转化)图解。在这个图解里面我们有M-PHY的线路状态,字符以及UniPro包。现在没必要知道这些细节,这一章里只需要知道它们的名字就够了。我们将会在随后的章节里面解释它们。

We start from LSS (Link Start Sequence), to simplify the diagram, we only list M-PHY line state Activate and Line-Reset here, Activate is defined as Diff_n (Negative Differential signals) before Line -Reset, which is a Diff_p (Positive differential signal) pulse with specific minimum pulse width requirement. Line-Reset is not only used in the LSS sequence, but also could be used in error recovery process.

我们从LSS(链接开始序列)开始,为了简化这个图解,我们这里只列出了M-PHY的线路状态Activate激活和Line-Reset线路复位,Activate这里定义的是一个在线路复位之前的负差分信号,而Line-Reset是一个有特定最低脉宽要求的正差分信号脉冲信号。Line-Reset不仅用在LSS里,也可以用在错误恢复的流程里。

TRG_UPR (UniPro Trigger) packet for LSS are not stated here and will be explained in the UniPro Chapter. LSS is for Handshaking process between UFS Host and UFS Device, which could only be initialized from UFS Host. Before UFS4.0 specification, LSS could only be done in Low Speed PWM mode, this is for easy interconnecting between UFS Host and UFS Device when power up. However, in order to save LSS time, in latest UFS4.0 specification define the high Speed LSS as well.

LSS的TRG_UPR(UniPro触发)包在这里不表述,会在Unipro里面细讲。LSS是UFS主机和UFS器件之间的握手流程,只能由UFS主机发起。在UFS4.0协议之前,LSS只能在低速模式PWM里,因为这样比较容易在上电的时候UFS主机和UFS器件之间的互联。然而,为了节省LSS的时间,在最新的UFS4.0协议里面也定义了高速的LSS。

Next, we have options to Change Power Mode by PMC (Power Mode Change) packet, either to Low-Speed specific Gear or High-Speed specific Gear. Please note we could still stay in the original Gear for Data Burst transmission, either in High-Speed or in Low-Speed. In order to start Data Burst, we need first go Diff_n. This negative Differential signal is called sleep for Low-Speed or Stall for High-Speed. Then it is followed by a Diff_p pulse called Prepare.

接下来,我们可以通过PMC(电源模式改变)包来选择性的改变电源模式到低速特定档位或者高速特定档位。请注意我们仍然可以待在原来的低速或者高速档位进行数据突发传输。为了开始数据数据突发传输,我们首先要来一个Diff_n。这个负差分信号在高速叫做STALL,在低速叫做SLEEP。之后再跟一个叫做Prepare的Diff-p的脉冲信号。

In order to secure high-speed data sampling synchronization at peer receiver, termination is used on the transmission line for the High-Speed signal. Meanwhile and a series of special symbols stream called SYNC will be transmitted right before data burst. Low-Speed Data Burst transmission do not need these two.

为了保证对面接受端的正高速信号采样同步,高速信号需要Termination。同时就在数据突发之前,还需要传输叫做SYNC的一系列特殊的字符流。低速数据突发传输不需要这两个。

Then we finally start Data Burst transmission。MK0 (Marker0) is a M-PHY symbol used to indicate the HOB (Head of Burst), now we can transmit different kinds of controlled symbols MKn, FLR (filler symbol) or the packet composed by data symbols and controlled symbols. TOB (Tail of Burst) is used to indicate the end of Burst.

最后我们终于开了数据突发传输。MK0(标记0)是一个用来指示HOB(突发头)的M-PHY控制字符,现在我们可以开始传输各种不同控制字符MKn,FLR(填充字符)或者由数据字符以及控制字符组成的包。TOB(突发尾)用来标识突发结束。

Another PMC packet requested by UFS Host after Data Bust will let UFS device goes into Hibernate. Hibernate is short as HIBERN8, as EIGHT share the same pronunciation as the last syllable with Hibernate. Hibernate is short as H8 sometimes. Hibernate is an important power state for Differential Signals Zero from M-PHY point of view, which could be connected with UFS UTP Layer UFS Sleep and UFS DeepSleep Power State which are explained in the Section 1 of this Chapter.

在数据突发之后,另外一个PMC包用来让UFS器件进入休眠模式。休眠被简写成HIBERN8,因为Eight的发音和Hibernate的最后一个音节发音相同。有时候Hibernate也被简写成H8。从M-PHY的角度来看,Hibernate是一个差分0电平的重要电源状态,这个可以和这一章上一节解释过的UFS睡眠和UFS深度睡眠联系起来。

From HS-G4 (High-Speed Gear 4), a new feature Adapt is introduced for extreme High-Speed data transmission. Adapt is optional, not mandatory. Which means if the system design is with high confidence level of Signal Integrity, there is no need to use Adapt. Adapt could be treated as a special Data Burst with specific Data Pattern to train the peer receiver sampling. There are two types of Adapt, one is longer one once initialization LSS and power mode change to HS-G4 done while right before HS-G4 Data Burst. The other is short one after Hibernate to minimize the temperature or other negative impact to the signal transmission with a period Hibernation time. Again, both these two types of Adapt are optional, decided by UFS Host design.

从HS-G4(高速档位4)开始,为了极高速度的数据传输,一个新的特性Adapt被引入。Adapt是可选的,并不强制。这个也意味着如果对于信号完整性自信比较高的系统设计,没必要使用Adapt。Adapt可以认为是一个特殊的包含特定数据样式的数据突发,用来训练对方接收器的采样。用两种类型的Adapt,一个长一点,是在初始化 LSS和数据模式切换到HS-G4完成,而正在HS-G4数据突发之前。另外一个是在Hibernate之后短的,为了尽量减小一段时间的休眠时间内温度或者其他负面影响。

相关推荐

.NET 奇葩问题调试经历之3——使用了grpc通讯类库后,内存一直增长......

...

全局和隐式 using 指令详解(全局命令)

1.什么是全局和隐式using?在.NET6及更高版本中,Microsoft引入了...

请停止微服务,做好单体的模块化才是王道:Spring Modulith介绍

1、介绍模块化单体是一种架构风格,代码是根据模块的概念构成的。对于许多组织而言,模块化单体可能是一个很好的选择。它有助于保持一定程度的独立性,这有助于我们在需要的时候轻松过渡到微服务架构。Spri...

ASP.NET程序集引用之痛:版本冲突、依赖地狱等解析与实战

我是一位多年后端经验的工程师,其中前几年用ASP.NET...

.NET AOT 详解(.net 6 aot)

简介AOT(Ahead-Of-TimeCompilation)是一种将代码直接编译为机器码的技术,与传统的...

一款基于Yii2开发的免费商城系统(一款基于yii2开发的免费商城系统是什么)

哈喽,我是老鱼,一名致力于在技术道路上的终身学习者、实践者、分享者!...

asar归档解包(游戏arc文件解包)

要学习Electron逆向,首先要有一个Electron开发的程序的发布的包,这里就以其官方的electron-quick-start作为例子来进行一下逆向的过程。...

在PyCharm 中免费集成Amazon CodeWhisperer

CodeWhisperer是Amazon发布的一款免费的AI编程辅助小工具,可在你的集成开发环境(IDE)中生成实时单行或全函数代码建议,帮助你快速构建软件。简单来说,AmazonCodeWhi...

2014年最优秀JavaScript编辑器大盘点

1.WebstormWebStorm是一种轻量级的、功能强大的IDE,为Node.js复杂的客户端开发和服务器端开发提供完美的解决方案。WebStorm的智能代码编辑器支持JavaScript,...

基于springboot、tio、oauth2.0前端vuede 超轻量级聊天软件分享

项目简介:基于JS的超轻量级聊天软件。前端:vue、iview、electron实现的PC桌面版聊天程序,主要适用于私有云项目内部聊天,企业内部管理通讯等功能,主要通讯协议websocket。支持...

JetBrains Toolbox推出全新产品订阅授权模式

捷克知名软件开发公司JetBrains最为人所熟知的产品是Java编程语言开发撰写时所用的集成开发环境IntelliJIDEA,相信很多开发者都有所了解。而近期自2015年11月2日起,JetBr...

idea最新激活jetbrains-agent.jar包,亲测有效

这里分享一个2019.3.3版本的jetbrains-agent.jar,亲测有效,在网上找了很多都不能使用,终于找到一个可以使用的了,这里分享一下具体激活步骤,此方法适用于Jebrains家所有产品...

CountDownTimer的理解(countdowntomars)

CountDownTimer是android开发常用的计时类,按照注释中的说明使用方法如下:kotlin:object:CountDownTimer(30000,1000){...

反射为什么性能会很慢?(反射时为什么会越来越长)

1.背景前段时间维护一个5、6年前的项目,项目总是在某些功能使用上不尽人意,性能上总是差一些,仔细过了一下代码发现使用了不少封装好的工具类,工具类里面用了好多的反射,反射会影响到执行效率吗?盲猜了一...

btrace 开源!基于 Systrace 高性能 Trace 工具

介绍btrace(又名RheaTrace)是抖音基础技术团队自研的一款高性能AndroidTrace工具,它基于Systrace实现,并针对Systrace不足之处加以改进,核心改进...

取消回复欢迎 发表评论: