UFS4.0 逻辑单元(Logic Unit)简介

UFS协议中可的逻辑单元(Logic Unit,LU)是一个外部可寻址的、独立的处理实体,用于处理SCSI任务并执行任务管理功能(支持一个或多个任务),有最多32个普通LU和四个Well known LU(众所周知的LU)

逻辑单元的特点

1.设备端逻辑单元相互独立

如表10.3所示,在UPIU中有LU字段会指定单独LU进行处理,即发往逻辑单元 i 的命令由逻辑单元 i 单独处理,逻辑单元 j 不可见也无法处理此命令。UPIU中的8位LUN字段用于提供LUN或W-LUN。其中,该字段的最高有效位(WLUN_ID)应根据逻辑单元类型设置,当WLUN_ID = 0b表示逻辑单元,WLUN_ID = 1b表示知名逻辑单元。LUN字段(UNIT_NUMBER_ID)的剩余7位根据逻辑单元类型设置为LUN值或W-LUN值。UPIU中LUN字段的编码最多支持128个LUN和128个W-LUN (0 <= UNIT_NUMBER_ID <= 127)。

2.除了well_known逻辑单元之外,UFS还应支持bMaxNumberLU指定的逻辑单元数量。

3.逻辑单元可用于存储引导代码(boot code)、应用程序代码和存储数据应用

逻辑单元的组成

逻辑单元包含内容

•设备服务器(Device Server):逻辑单元中的概念对象,用于处理SCSI命令。

•任务管理器(Task Manager):逻辑单元中的概念对象,用于控制命令的顺序并执行任务管理功能。

•TASK SET:由一个或多个命令(列表、队列等)组成的用于存放命令的概念组

逻辑单元的分类

逻辑单元大致分为两种:普通逻辑单元和Well Known逻辑单元普通LU的逻辑块大小至少是4KB,用来存储用户数据,没有别的特殊的属性。着重介绍Well Known逻辑单元。

Well Known逻辑单元为实现特定的UFS功能,通常只有4或5个命令,包含以下逻辑单元(表10.64):

Report LUNS LU

Report LUNS提供给主机LU清单,当主机想询问设备LU的支持情况,就需要发命令给该LU。

UFS Device LU

提供UFS设备级交互信息(如电源模式控制,格式化设备),当UFS主机对整个UFS设备发命令的时候,UFS Device LU负责接收命令,

BOOT LU

BOOT LU用来存储启动代码的LU,不过它只是主机指定的引导代码的实际逻辑单元的虚拟引用,本身并不存储启动代码。启动代码存储在普通LU上,分为两个Boot LU,LU A和LU B,但在启动过程中,只有一个普通LU为Active状态。32个普通LU中可以任意配置为Boot LU A或者Boot LU B。主机启动时会通过设备管理器发送Query 请求给设备,获取“bBootLunEn ”的属性(attribute)以获得当前活跃(Active)的Boot LU。

注:Boot LU不是必须的。如果系统的启动代码不是存储在UFS设备上就不需要Boot LU。

RPMB LU

用于校验主机读写数据操作的合法性,只允许特定主机读取和写入,通常用来存放一些很重要的信息(例如手机解锁信息)

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值