UFS协议—新手快速入门(四)【10】

目录

十、UPIU数据包格式详解

1、Transaction Type(类型)

 2、Flags(附加信息)

 其它

3、LUN(逻辑单元号):

4、Task Tag(任务标签):

5、Command Type(命令类型):

6、Initiator ID(发起者ID):

7、Response(响应):

8、Status(状态):

9、Query Function(查询功能)、Task Management Function(任务管理功能)

(1)任务管理功能值及其描述 

(2)设备管理器功能字段值及其描述

(3)函数操作码值及其描述 

10、Device Information(设备信息)


UFS协议—新手快速入门(一)【1-4】

UFS协议—新手快速入门(二)【5-6】

UFS协议—新手快速入门(三)【7-9】

UFS协议—新手快速入门(五)【11-13】 

十、UPIU数据包格式详解

UPIU(UFS Protocol Information Unit,UFS协议信息单元)是UFS(Universal Flash Storage,通用闪存存储)协议中用于传输命令、数据和状态信息的数据包。它具有固定的格式,是UFS协议的核心组成部分。每个UPIU都有一个Header,再加上跟每个UPIU相关的域。我们可以了解到以下关于UPIU数据包格式的信息:

  1. Header(头部):每个UPIU都有一个12字节的Header,这是UPIU数据包的开始部分,包含了UPIU的基本信息。
  2. 最小和最大:一个UPIU(包括Header)的最小大小为32字节,最大可以达到65600字节24。
  3. 命令或请求的执行:UFS采用“客户-服务器”架构,主机(Client)发送命令或请求给UFS设备(Target),然后设备执行命令并返回状态信息。命令的执行包括命令阶段、数据阶段和状态阶段3。
  4. 命令类型:UFS主机通过不同类型的UPIU来发送命令请求、传输数据或返回命令状态信息。例如,COMMAND UPIU用于封装UFS命令模块发送的命令,TASK MANAGEMENT REQUEST UPIU用于封装任务管理器的请求,QUERY REQUEST UPIU用于封装设备管理器的请求。

UPIU(UFS Protocol Information Unit)基础头部格式的描述

1、Transaction Type(类型

Transaction Type”字段。这个字段在UPIU(UFS Protocol Information Unit)的Header中用来标识该UPIU的类型。

  • 事务代码的第5位表示UPIU的流向和发起者:当为'0'时,发起者是发起者设备;当为'1'时,发起者是目标设备。

 2、Flags(附加信息

只对命令和其响应的UPIU有用,指定命令的属性。

  • "-" 表示该位是保留的或在该UPIU类型中未使用。
  • "R" 和 "W" 在Command UPIU中分别表示读和写操作。
  • "Cp(2)" 在Command UPIU的Bit 2位置表示命令优先级。
  • "ATTR" 命令属性域。UFS命令有simple ,ordered 和Head of Queue命令。
  • "O", "U", "D" 在Response UPIU中分别表示操作类型、是否为未请求的响应和数据传输方向。
 其它

 1、Simple Command(简单命令)

  • 特点:不需要特别处理,按照接收顺序执行。
  • 执行策略:通常遵循先到先服务(FCFS)的原则。

2、Ordered Command(有序命令)

  • 特点:必须在该命令之前的所有命令完成后才能执行。
  • 执行策略:确保命令的顺序性,类似于“明星出场前清场”,即前面的命令(“观众”)需要先被处理。

3、Head of Queue Command(队列头部命令)

  • 特点:接收到后立即放置于命令队列的头部并执行。
  • 执行策略:具有高优先级,类似于“插队”,打破了常规的排队顺序,需要立即被处理。

4、CP(Command Priority,命令优先级)

  • 含义:表示命令的优先级,1表示高优先级,0表示低优先级。
  • 适用范围:仅适用于简单命令。高优先级的简单命令可能会在命令队列中优先于其他简单命令执行。 

3、LUN(逻辑单元号):

  • 概念来源:UFS协议继承自SCSI,采用了逻辑单元的概念。
  • 作用:将存储设备的物理空间划分为多个逻辑空间,每个逻辑空间都是独立的,并且从LBA(Logical Block Addressing,逻辑块寻址)0开始。
  • 标识:每个逻辑空间通过LUN进行标识。
  • 寻址:主机在发送命令或请求时,通过指定LUN来确定命令的目标逻辑空间。
  • 与NVMe的关系:UFS的LU概念与NVMe中的Namespace概念相似,都是用来标识存储设备的逻辑分区。

4、Task Tag(任务标签):

  • 支持:UFS支持命令队列,允许主机同时发送多个命令给设备。
  • 目的:为了区分不同的命令或请求,主机需要为每个命令分配一个唯一的标签。
  • 关联:与特定命令UPIU相关的数据UPIU和状态UPIU会具有相同的Tag,确保数据和状态信息与原始命令正确关联。
  • 处理:设备使用这个Tag来识别和管理命令的执行顺序,以及与命令相关的数据和状态的匹配。

  • 一致性:在上图读命令的整个过程中,从命令发起到数据传输,再到最终的命令状态响应,所有的UPIU都使用相同的Task Tag,确保整个命令处理过程的连贯性和可追踪性。
  • 命令执行:设备接收到读命令后,执行操作,并将数据通过DATA IN UPIU发送回主机,最后通过RESPONSE UPIU发送命令执行的状态。
  • 错误处理:如果命令执行过程中出现问题,RESPONSE UPIU将携带相应的错误状态信息,主机可以通过Task Tag将此状态与原始命令关联起来。
  • LUN和Task Tag是UFS协议中用于确保命令正确寻址和区分的关键机制。
  • LUN允许对存储设备的逻辑空间进行寻址,而Task Tag则允许在复杂的命令队列中跟踪和管理每个命令的状态

5、Command Type(命令类型):

  • 分类
    • 简化的SCSI命令:UFS目前使用的命令大多来源于SCSI。
    • UFS原生命令:UFS协议特有的命令,目前尚未制定。
    • 用户自定义命令:根据用户需求定制的命令。
  • 默认值:如果没有用户自定义命令,该域通常设置为0,表示使用的是SCSI命令。

6、Initiator ID(发起者ID):

  • 用途:标识发送命令的主机。
  • 常见值:在大多数手机系统中,一个主机连接一个UFS设备,因此主机ID通常为0。

7、Response(响应):

  • 功能:设备使用该字段告知主机命令或请求的执行情况。

8、Status(状态):

  • 功能:设备返回命令执行的状态信息。
  • SCSI命令状态:UFS协议定义了几种状态,用于指示SCSI命令的执行结果。

9、Query Function(查询功能)、Task Management Function(任务管理功能

查询功能(Query Function):

  • 状态报告:提供文件系统的整体状态,包括使用情况、性能指标等。
  • 元数据查询:检索文件的元数据,这可能包括文件的创建者、标签、注释等。
  • 文件属性查看:查看文件的详细信息,如大小、类型、权限、所有者等。
  • 目录列表:列出指定目录下的所有文件和子目录。
  • 文件检索:允许用户根据文件名、扩展名、大小、创建日期、修改日期等属性来搜索文件。

任务管理功能(Task Management Function)

  • 任务调度:允许用户或系统自动安排任务在特定时间执行,例如备份、索引更新等。
  • 任务监控:实时监控正在进行的任务,包括它们的状态、进度和可能的错误。
  • 任务日志:记录任务的执行历史,包括成功、失败和警告信息。
  • 任务优先级管理:设置任务的优先级,以确保关键任务能够优先执行。
  • 任务依赖性管理:管理任务之间的依赖关系,确保任务按正确的顺序执行。
(1)任务管理功能值及其描述 

(2)设备管理器功能字段值及其描述

(3)函数操作码值及其描述 

 

10、Device Information(设备信息)

  • 设备信息域通常与命令或请求无关,它属于设备附带的信息。
  • 在UFS主从架构中,设备不能主动向主机报告其状态,除非主机发出了命令或请求。
  • 如果设备有特殊事件,它可以在返回RESPONSE UPIU时,将这些事件信息顺带通知主机。
  • 设备信息域仅对RESPONSE UPIU有效。 
  • 17
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
UFS(Universal Flash Storage)协议和MPHY(M-PHY)是用于存储设备的通信协议和物理层接口。 UFS协议是由JEDEC(联合电子设备工程委员会)开发的一种高性能、低功耗的存储设备通信协议。它被广泛应用于移动设备和高性能计算设备中的闪存储存储器。UFS协议支持多个闪存设备同时访问,并且具有快速的数据传输速率和低延迟。此外,UFS协议还具有高度的可扩展性和灵活性,可以适应不同设备的需求。对于移动设备而言,UFS协议可以提供快速的应用程序启动时间、高速连续数据读写和低功耗消耗。 MPHY是一种用于通信接口的物理层技术。它提供了一种高速、低功耗的物理层接口,适用于多种应用领域。MPHY物理层接口可以与各种不同的通信协议配合使用,如UFS协议、PCI Express协议等。它采用了串行信号传输的方式,通过差分信号和预编码技术来提高数据传输速率和抗干扰能力。 UFS协议和MPHY物理层接口之间的关系是密切的。UFS协议需要使用MPHY来进行物理层的传输。MPHY提供了高速、低功耗的物理层接口,确保了UFS协议的可靠传输和高效性能。两者配合使用可以实现高速闪存设备的数据传输和存储操作。 综上所述,UFS协议是一种用于存储设备通信的协议,而MPHY是一种物理层接口技术。它们之间的配合使用可以实现高速、低功耗的存储设备通信。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ITC小浪花、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值