7. UFS 传输协议(UTP)层

10.1 概述

SCSI 架构模型[SAM]被用作 UTP 的通用架构模型,以及用于任务管理的 SAM 任务管理功能。任务通常是 SCSI 命令或服务请求。虽然该模型使用 SCSI 命令集作为命令集,但不一定必须专门使用 SCSI 命令。

SAM 架构是一种客户端-服务器模型,或者更常见的是请求-响应架构。客户端被称为发起者设备,服务器被称为目标设备。发起者设备和目标设备被映射到 UFS 物理网络设备中。发起者设备向目标设备发出命令或服务请求,目标设备将执行所请求的服务。目标设备是 UFS 设备。UFS 设备将包含一个或多个逻辑单元。逻辑单元是设备内的独立处理实体。

客户端请求被定向到设备内的单个逻辑单元。逻辑单元将接收并处理客户端命令或请求。每个逻辑单元在目标设备内都有一个地址,称为逻辑单元号(LUN)。

发起者设备和目标设备之间的通信被分为一系列消息。这些消息被格式化为 UFS 协议信息单元(UPIU),如本标准所定义。定义了许多不同的 UPIU 类型。所有 UPIU 结构在数据结构的开头(最低地址)都包含一个公共头部区域。结构的其余字段根据 UPIU 的类型而变化。

任务是执行请求服务的命令或一系列动作。逻辑单元包含一个任务队列,该队列将支持一个或多个任务的处理。任务队列由逻辑单元管理。发起者设备在构建任务时生成一个唯一的任务标签。目标设备和发起者设备使用此任务标签来区分多个任务。与特定任务相关的所有事务和序列都将在相关的数据结构中包含该任务标签。

命令结构由命令描述符块(CDB)组成,其中包含命令操作码和相关参数、标志和属性。CDB 内容和结构的描述在[SAM]、[SBC]和[SPC]INCITS T10 草案标准中有详细定义。

命令事务由命令、

<think>好的,用户现在想了解UFS的UniPro传输单位及命令格式。根据之前的对话,用户已经对UFS的分结构有了一定了解,特别是应用传输、数据链路和物理。现在他们深入到UniPro,也就是UIC,属于MIPI UniPro协议部分。 首先,我需要回顾之前提供的引用内容。引用[1]提到UniPro作为服务交付子系统,为UTP提供传输能力,控制平面交互使用设备管理实体服务原语。引用[3]指出UniPro报文可以任意大小,但受T_MTU限制,且接收和发送的报文不同,可能不带EOM flag。同时,用户之前的问题中提到了物理的帧结构,这可能与UniPro传输单位有关联。 用户的问题集中在传输单位和命令格式上,需要明确UniPro传输单位是什么,以及相关的数据结构和控制命令。根据引用,UniPro传输单位是报文(Packet),而报文会被切片成更小的传输单元(如PhyADAPT的帧)。需要解释报文的结构,包括头部、载荷和校验部分,以及分片机制。 另外,用户提到了命令格式,但UniPro本身属于传输,可能不直接处理应用的命令,而是负责封装和传输UTP的UPIU。因此,需要说明UniPro如何将UPIU封装成报文,以及控制平面的命令,如设备管理原语(DME)的格式。 还需要注意用户之前的问题中提到的重叠命令不允许,这可能影响传输的处理机制,但UniPro主要负责可靠传输,所以需要提到错误检测和流控机制,如CRC校验和ARQ重传。 最后,要确保回答结构清晰,分点说明传输单位和命令格式,结合引用中的信息,特别是T_MTU限制、报文分片、控制平面交互等,并生成相关问题帮助用户深入理解。</think>根据UFS协议架构及MIPI UniPro的技术规范,UniPro传输单位和命令格式设计如下: --- ### 一、UniPro传输单位 #### 1. **基本传输单元:报文(Packet)** - 报文是UniPro的核心传输单位,支持**可变长度**结构,但受制于**T_MTU(Transport Maximum Transmission Unit)**限制[^3] - **分处理**: $$ \text{UTPUPIU} \xrightarrow{封装} \text{UniPro报文} \xrightarrow{分片} \text{PhyADAPT帧} $$ - **关键限制**: - 单个报文最大长度由链路配置决定 - 超过T_MTU的报文需分片传输(例如1KB报文分片为多个256B物理帧) #### 2. **报文结构** ```plaintext +----------------+----------------+----------------+----------------+ | 头部 (32位) | 扩展头(可选) | 有效载荷 | CRC校验码 | | - 路由控制字段 | - QoS参数 | (UTP UPIU内容) | (32位循环冗余码)| | - 优先级标识 | - 流控制标记 | | | +----------------+----------------+----------------+----------------+ ``` - **分片机制**:报文在物理会被拆分为**256B物理帧**,接收端重组报文[^3] --- ### 二、UniPro控制平面命令格式 #### 1. **设备管理实体(DME)命令** 用于链路初始化与配置,格式为: $$ \text{DME_CMD_TYPE(4B)} \mid \text{PAYLOAD(0-64B)} \mid \text{STATUS_CODE(2B)} $$ - **典型命令**: - `DME_LINKSTARTUP`:启动链路训练 - `DME_PWRMODE`:切换功耗模式 #### 2. **服务访问点(SAP)接口** 通过**T_CO_SAP**接口与UTP交互,服务原语包含: ```plaintext +----------+----------+---------------------+ | 原语类型 | 参数长度 | 参数域(动态长度) | | (1B) | (1B) | (N*4B对齐) | +----------+----------+---------------------+ ``` - 示例:`CPort连接请求`原语包含CPort ID和QoS参数[^1] --- ### 三、关键特性 1. **传输可靠性**: - **CRC32校验**:每个报文尾部附加校验码 - **ARQ重传**:通过滑动窗口协议实现丢包重传 2. **流控制**: - 基于信用值的流量控制机制 - 支持多优先级数据通道 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值