UFS协议

1. 名词解释

UFS: universal flash storage
SCSI:小型计算机系统接口
SPC:SCSI Primary Commands
SBC: SCSI Block Commands
Application Client:作为主机中SCSI命令和任务管理功能请求源的实体。
Device Server:设备中处理SCSI命令和任务管理功能的实体。
Command Descriptor Block(CDB): 用于将命令从Application Client传送到Device Server的结构。CDB的固定长度可以高达16字节,可变长度可以在12到260字节之间。
Device ID: 一个ufs设备的总线地址
Host:具有主要计算设备特征的实体或设备,包括一个或多个主机更多SCSI启动器设备( Initiator device)。
Transaction: 一个 UFS 原语动作,指示在目标设备和发起方设备之间传输串行数据包。
Initiator device: 在一个 Transaction中,向目标设备发送 SCSI 命令请求消息的发起者。
Logical Unit: 逻辑单元是总线设备的内部实体,它执行某种功能或寻址总线设备内的特定空间或配置。这个概念其实经常用到了,个人认为暂且归到SAM中固定的基本概念。
Logical Unit Number(LUN): 标识设备内逻辑单元的数值,也就是LUN,同上一个概念。
Segment:表示在UFS传输数据时的单位
Segment ID:在数据传输中的一个 Segment标识,暂且理解为是门牌号,标识特定的路由。(非网络科班,可能借鉴错?大体就是这个意思)
SCSI Request Block:包含多字节SCSI 命令和执行命令操作所需的附加上下文信息的数据包(附加的上下文信息,就好比写数据,写的数据要带上吧,比如配置ufs设备级别的属性值)。 SCSI 请求块由 Host构建并针对特定的总线设备( Device ID)。
Target device: 在一个 Transaction中,来自 Initiator device,接收 SCSI 命令请求消息的接收方。
Task:一个任务是一个 SCSI 命令,它包括,完成所有数据传输的所有事务和一个状态响应(ufs设备会返回数据包,数据包中会有状态响应),并且这个响应将满足该命令请求的服务的要求。这里我理解倘若ufs设备无法完成一个请求,那这个Task不会被清除。
UFS Protocol Information Unit(UPIU): UFS 主机和设备之间的信息传输(通信) 是通过称为 UFS 协议信息单元的消息完成的。 这些消息是 UFS 定义的数据结构,其中包含许多按不同信息字段排列的顺序寻址字节。协议中有UPIU的基本组成格式,包括头部,状态位,等等。使用UPIU用来完成各种不同的功能。
CPort: 一个CPort是设备内 UniPro 传输层 (L4) 上的服务接入点,用于组织数据传输。因为数据包要在L4进行加工组装成,下一层需要的数据格式。CPort可以看作成一个接口。在unipro的协议中有叙述,之后看看。
FFU: Field Firmware Update 固件升级。
HCI:Host Controller Interface 主机控制接口
IID:Initiator ID 这个还比较重要,在UPIU中的字段存在
PDU:Protocol Data Unit 协议数据单元
RPMB:Replay Protected Memory Block 存储上的一个安全保护机制,提供对重放保护内存块的签名访问。 此功能为系统提供了以经过验证和重放保护的方式将数据存储到特定存储区域的方法。 这是通过首先将身份验证密钥信息编程到 UFS 设备存储器(共享机密)来提供的。 由于系统在此阶段还不能进行身份验证,因此身份验证密钥编程必须在像 OEM 生产一样的安全环境中进行。 此外,身份验证密钥用于使用消息身份验证代码 (MAC) 对重放保护存储区进行的读写访问进行签名。随机数生成和计数寄存器的使用提供了额外的保护,防止消息重放 由攻击者录制并稍后播放。
SID: Segment ID同上
SDU: Service Data Unit
T_PDU: MIPI Unipro Protocol Data Unit
T_SDU: MIPI Unipro Protocol Service Data Unit 在unipro协议栈中的数据结构单元,最小大小 T_SDU 将为 32 字节。 最大 T_SDU 大小将为 65600 字节。
UniPro: Unified Protocol
UTP: UFS Transport Protocol

相关推荐

  1. UFS协议

    2024-07-19 00:12:02       22 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-19 00:12:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-19 00:12:02       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-19 00:12:02       58 阅读
  4. Python语言-面向对象

    2024-07-19 00:12:02       69 阅读

热门阅读

  1. 透过三星Galaxy Z Fold6,看见高效生活的未来图景

    2024-07-19 00:12:02       19 阅读
  2. 设计模式之观察者模式

    2024-07-19 00:12:02       20 阅读
  3. 微服务拆分流程 (黑马商城拆分商品服务)

    2024-07-19 00:12:02       19 阅读
  4. C# 邮件发送

    2024-07-19 00:12:02       23 阅读
  5. Repl.it: 在线的集成开发环境

    2024-07-19 00:12:02       25 阅读
  6. js基础知识

    2024-07-19 00:12:02       26 阅读
  7. vivado H_SET and HU_SET

    2024-07-19 00:12:02       21 阅读
  8. xhdra的使用记录

    2024-07-19 00:12:02       20 阅读
  9. Docker无网环境下配置方法

    2024-07-19 00:12:02       19 阅读
  10. 手动实现堵塞队列

    2024-07-19 00:12:02       25 阅读