ufs2.2 协议扫盲(十三)

10.8 Logical Units
本节详细介绍了 UFS 标准中逻辑单元的定义。
10.8.1 UFS SCSI Domain
10.8.2 UFS Logical Unit Definition
逻辑单元 (LU) 是一个可外部寻址的独立处理实体,它处理 SCSI 任务(命令)并执行任务管理功能
 每个逻辑单元独立于设备中的其他逻辑单元
 除了 Well Known Logical Unit外,UFS 还应支持 bMaxNumberLU 指定的逻辑单元数量
 逻辑单元可用于存储启动代码、应用程序代码和大容量存储数据应用程序
A logical unit contains the following:
 DEVICE SERVER: 处理 SCSI 命令的逻辑单元中的概念对象。
 TASK MANAGER:逻辑单元内的概念对象,它控制命令的顺序并执行任务管理功能。
 TASK SET: 一个或多个命令的概念组
10.8.3 Well Known Logical Unit Definition
Well Known Logical Unit,由 SCSI 定义,支持非常特定类型的命令,通常只有四五个命令,例如 REPORT LUNS 命令,以允许应用程序客户端发出请求以接收通常与 整个设备相关的特定信息。在此标准中,为特定的 UFS 功能定义了其他众所周知的逻辑单元,包括 Boot 和 RPMB。 每个众所周知的逻辑单元都有一个众所周知的逻辑单元号(W-LUN)。
10.8.4 Logical Unit Addressing
UPIU 中的 8 位 LUN 字段用于提供 LUN 或 W-LUN。 特别是,该字段的最高有效位(WLUN_ID)应根据逻辑单元类型设置如下:
WLUN_ID = 0b for logical unit,
 WLUN_ID = 1b for well known logical unit.
LUN 字段的剩余 7 位 (UNIT_NUMBER_ID) 应设置为 LUN 值或 W-LUN 值,具体取决于逻辑单元类型。因此,UPIU中LUN字段的编码最多支持128个LUN和最多128个W-LUN(0 <= UNIT_NUMBER_ID <= 127)
10.8.5 Well Known Logical Unit Defined in UFS
本标准中为 SCSI 和 UFS 特定功能定义了以下众所周知的逻辑单元: REPORT LUNS, UFS Device, Boot, RPMB
REPORT LUN 众所周知的逻辑单元在 [SPC] 中定义并提供逻辑单元清单。 The UFS Device well known logical unit 提供 UFS 设备级交互(即电源模式控制、擦除设备)。 boot众所周知的逻辑单元是对包含引导代码的实际逻辑单元的虚拟引用,由主机指定。 在系统启动时读取 Boot well known 逻辑单元以访问引导代码。 RPMB 众所周知的逻辑单元支持 RPMB 功能,具有其自己的独立进程和内存空间,如 RPMB 安全定义所规定的。每个众所周知的逻辑单元只能处理表 10-59 中列出的命令。 如果四个众所周知的逻辑单元之一接收到表 10-59 中未列出的命令,则该命令应以 CHECK CONDITION 状态终止,检测键设置为 ILLEGAL REQUEST,附加检测代码设置为无效 命令操作代码。

注意 如果设备描述符中的 bBootEnable 字段设置为零,或者如果 Boot well known logical 未映射到启用的逻辑单元(参见 bLUEnable、bBootLunID 和 bBootLunEn),则 Boot well known 逻辑单元应终止 TEST UNIT READY、READ (6)、READ (10) 和 READ (16) 命令以及 CHECK CONDITION 状态。
10.8.6 Translation of 8-bit UFS LUN to 64-bit SCSI LUN Address
SCSI 体系结构模型描述了 64 位 LUN 寻址方案。 64 位地址的前 8 位中的 C1h 的值表示 SAM SCSI 格式的众所周知的 LUN 地址。 UPIU 中的 8 位 LUN 字段(即一个字节)值转换为 64 位 SCSI 地址的示例如表 10-60 所示。

 
10.8.7 SCSI Write Command
SCSI 写命令的执行由以下后续阶段组成:命令、数据、状态。 在命令阶段,使用 COMMAND UPIU 将写入命令发送到设备,在随后的阶段,使用 DATA OUT UPIU 将数据传送到 UFS 设备:当 UFS 设备准备好下一个 DATA OUT UPIU 时,通过发送 READY TO TRANSFER UPIU 来调整数据传送的速度。 (UFS 设备可能会在接收到先前请求的数据之前发送新的 READY TO TRANSFER UPIU。)


当目标设备准备好接收下一个 DATA OUT UPIU 并且有足够的缓冲区空间来接收数据时,它会发送一个 Ready To Transfer 事务。 如果目标设备有缓冲区空间来接收多个 DATA OUT UPIU 数据包,则可以发送多个 Ready To Transfer UPIU。 READY TO TRANSFER UPIU 包含一个 DMA 上下文,可用于在主机控制器中设置和触发 DMA 操作。通过对主机控制器寄存器的操作,将数据按指定数据结构,交给HCI,在DATA OUT的时候通过DMA传送。
10.8.8 SCSI Read Command
SCSI 读取命令的执行由以下后续阶段组成:命令、数据、状态。 在命令阶段,使用 COMMAND UPIU 将读取命令发送到设备。 在后续阶段,UFS 设备使用 DATA IN UPIU 将数据传送到主机。 读取命令以包含状态的 RESPONSE UPIU 终止。

 

 

 

 

 

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

心无杂念可否?

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

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

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

打赏作者

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

抵扣说明:

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

余额充值