UFS深入浅出 第三章 UFS状态图解 第二节 UFS数据突发状态转移图解
yuyutoo 2024-11-03 17:32 4 浏览 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之后短的,为了尽量减小一段时间的休眠时间内温度或者其他负面影响。
相关推荐
- 【Socket】解决UDP丢包问题
-
一、介绍UDP是一种不可靠的、无连接的、基于数据报的传输层协议。相比于TCP就比较简单,像写信一样,直接打包丢过去,就不用管了,而不用TCP这样的反复确认。所以UDP的优势就是速度快,开销小。但是随之...
- 深入学习IO多路复用select/poll/epoll实现原理
-
Linux服务器处理网络请求有三种机制,select、poll、epoll,本文打算深入学习下其实现原理。0.结论...
- 25-1-Python网络编程-基础概念
-
1-网络编程基础概念1-1-基本概念1-2-OSI七层网络模型OSI(开放系统互联)七层网络模型是国际标准化组织(ISO)提出的网络通信分层架构,用于描述计算机网络中数据传输的过程。...
- Java NIO多路复用机制
-
NIO多路复用机制JavaNIO(Non-blockingI/O或NewI/O)是Java提供的用于执行非阻塞I/O操作的API,它极大地增强了Java在处理网络通信和文件系统访问方面的能力。N...
- Python 网络编程完全指南:从零开始掌握 Socket 和网络工具
-
Python网络编程完全指南:从零开始掌握Socket和网络工具在现代应用开发中,网络编程是不可或缺的技能。Python提供了一系列高效的工具和库来处理网络通信、数据传输和协议操作。本指南将从...
- Rust中的UDP编程:高效网络通信的实践指南
-
在实时性要求高、允许少量数据丢失的场景中,UDP(用户数据报协议)凭借其无连接、低延迟的特性成为理想选择。Rust语言凭借内存安全和高性能的特点,为UDP网络编程提供了强大的工具支持。本文将深入探讨如...
- Python 网络编程的基础复习:理解Socket的作用
-
计算机网络的组成部分在逻辑上可以划分为这样的结构五层网络体系应用层:应用层是网络协议的最高层,解决的是具体应用问题...
- 25-2-Python网络编程-TCP 编程示例
-
2-TCP编程示例应用程序通常通过“套接字”(socket)向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通信。Python语言提供了两种访问网络服务的功能。...
- linux下C++ socket网络编程——即时通信系统(含源码)
-
一:项目内容本项目使用C++实现一个具备服务器端和客户端即时通信且具有私聊功能的聊天室。目的是学习C++网络开发的基本概念,同时也可以熟悉下Linux下的C++程序编译和简单MakeFile编写二:需...
- Python快速入门教程7:循环语句
-
一、循环语句简介循环语句用于重复执行一段代码块,直到满足特定条件为止。Python支持两种主要的循环结构:for循环和while循环。...
- 10分钟学会Socket通讯,学不会你打我
-
Socket通讯是软硬件直接常用的一种通讯方式,分为TCP和UDP通讯。在我的职业生涯中,有且仅用过一次UDP通讯。而TCP通讯系统却经常写,正好今天写了一个TCP通讯的软件。总结一下内容软件使用C#...
- Python 高级编程之网络编程 Socket(六)
-
一、概述Python网络编程是指使用Python语言编写的网络应用程序。这种编程涉及到网络通信、套接字编程、协议解析等多种方面的知识。...
- linux网络编程Socket之RST详解
-
产生RST的三个条件:1.目的地为某端口的SYN到达,然而该端口上没有正在监听的服务器;2.TCP想取消一个已有的连接;3.TCP接收到一个根本不存在的连接上的分节;现在模拟上面的三种情况:cl...
- Python中实现Socket通讯(附详细代码)
-
套接字(socket)是一种在计算机网络中进行进程间通信的方法,它允许不同主机上的程序通过网络相互通信。套接字是网络编程的基础,几乎所有的网络应用程序都使用某种形式的套接字来实现网络功能。套接字可以用...
你 发表评论:
欢迎- 一周热门
-
-
前端面试:iframe 的优缺点? iframe有那些缺点
-
带斜线的表头制作好了,如何填充内容?这几种方法你更喜欢哪个?
-
漫学笔记之PHP.ini常用的配置信息
-
其实模版网站在开发工作中很重要,推荐几个参考站给大家
-
推荐7个模板代码和其他游戏源码下载的网址
-
[干货] JAVA - JVM - 2 内存两分 [干货]+java+-+jvm+-+2+内存两分吗
-
正在学习使用python搭建自动化测试框架?这个系统包你可能会用到
-
织梦(Dedecms)建站教程 织梦建站详细步骤
-
【开源分享】2024PHP在线客服系统源码(搭建教程+终身使用)
-
2024PHP在线客服系统源码+完全开源 带详细搭建教程
-
- 最近发表
- 标签列表
-
- mybatis plus (70)
- scheduledtask (71)
- css滚动条 (60)
- java学生成绩管理系统 (59)
- 结构体数组 (69)
- databasemetadata (64)
- javastatic (68)
- jsp实用教程 (53)
- fontawesome (57)
- widget开发 (57)
- vb net教程 (62)
- hibernate 教程 (63)
- case语句 (57)
- svn连接 (74)
- directoryindex (69)
- session timeout (58)
- textbox换行 (67)
- extension_dir (64)
- linearlayout (58)
- vba高级教程 (75)
- iframe用法 (58)
- sqlparameter (59)
- trim函数 (59)
- flex布局 (63)
- contextloaderlistener (56)