UFS 3.1协议分析(第五章) -- UFS协议栈

UFS顶层架构

    UFS基于SCSI SAM架构模型定义了一个完整的协议栈,从上到下依次为应用层、传输层、数据链路层、物理层。UFS使用MIPI联盟的UniPro作为数据链路层和MIPI的M-PHY作为物理层,两者合起来称之为互连层(UFS InterConnect Layer)
ufs架构

应用层

    应用层包括UFS命令集、设备管理器(Device Manager)和任务管理器(Task Manager)。应用层处于整个协议栈的最高层,所有的命令或者请求都来源于该层。
    UCS负责命令的生成,目前UFS没有定义自己的命令(没有UFS Native Command Set),使用的命令是简化的SCSI命令(基于SBC和SPC),由INCITS T10组织定义。
    任务管理器用于处理命令队列控制的命令。设备管理器将提供设备级别的控制,如查询请求和较低级别的链路层控制。

UFS命令集

    目前ufs没有定义自己的命令,使用的是简化的SCSI命令,主要包括SPC(SCSI Primary Commands)命令和SBC(SCSI Block Commands)命令

命令类型命令名
SPCINQUIRY
SPCMODE SELECT(10)
SPCMODE SENSE(10)
SPCREPORT LUNS
SPCREAD BUFFER
SPCTEST UNIT READY
SPCWRITE BUFFER
SPCSECURITY PROTOCOL IN
SPCSECURITY PROTOCOL OUT
SBCFORMAT UNIT
SBCPRE-FETCH(10)/(16)
SBCREAD(6)/(10)/(16)
SBCWRITE(6)/(10)/(16)
SBCREAD CAPACITY(10)/(16)
SBCREQUEST SENSE
SBCSEND DIAGNOSTIC
SBCUNMAP
SBCSTART STOP UNIT
SBCSYNCHRONIZE CACHE(10)/(16)
SBCVERIFY(10)
UFS 设备管理器

    设备管理器主要完成以下两种任务:

  • 处理设备级别的操作:管理设备功耗、设置数据传输相关参数、后台操作使能/禁止和其它设备相关操作
  • 管理设备级别的配置:维护和存储一组描述符,处理查询请求修改或获取设备的配置信息
        从UFS架构模型来看,下层为UFS设备管理器提供了服务访问节点:
  • UDM_SAP:访问传输层,查询请求,查询响应等操作
  • UIO_SAP:管理和控制互联层,主要是通过一系列原语操作,主要包括重启设备、重启互联层、让物理层进入和退出休眠模式等
        因此设备管理器既可以通过正常流程(由UTP传输层传递UPIU数据包),快速访问模式(以原语的形式发送UIC命令)管理和操作设备 。
UFS任务管理器

    任务管理器主要处理命令队列中的命令,比如当某个命令超时时,任务管理器可以通过发送Abort命令将这个命令终止掉;也可以使用Clear命令清空命令队列中的所有命令,具体定义如下:
任务管理功能

传输层

    UTP使用SAM作为通用架构模型,是一种请求-响应架构模型。
    UTP层使用UPIU(UFS Protocol Information Unit)用作传递host与ufs设备之间的基本数据单元,不同种类的UPIU都包含有一个通用的头结构。当host端传输层接收到来自应用层的命令或者请求后,会产生相应的UPIU,然后交由下层传导接收端的传输层。 无论UTP 下发何种命令协议,UFS 设备都应统一采用 SCSI CDB、状态和任务管理功能。

互连层

    UFS互联层由MIPI UniPro和M-PHY构成,为上层(UTP)提供基本的传输能力。数据链路层负责主机和设备的链接,物理层负责传输物理电气信号。
    系统模型
UFS系统模型
    UFS 信号

Name描述
RST_nUFS设备硬件复位信号
REF_CLK链路上每个UFS设备低速参考时钟
DOUT_t由UFS设备输出的差分信号
DOUT_c由UFS设备输出的差分信号
DIN_t输入UFS设备的差分信号
DIN_c输入UFS设备的差分信号
UniPro

    UniPro除了是一个数据链路层,它也是一个完整的协议栈,
UniPro

  • 传输层(L4)支持多设备之间的双向连接,但是UFS只支持CPort0;
  • 网络层(L3)支持通过设备ID寻址多达128个设备,但是由于UFS是点对点的传输,所以不需要使用网络层;
  • 数据链路层(L2)支持流控、CRC生成和校验,重传机制等,UFS利用了UniPro的数据链路层为主机和设备之间通讯提供可靠的连接;
  • 物理层(M-PHY)使用8/10编码,差分信号进行串行数据传输。数据传输分为高低速模式,每种模式下又有集中不同的速度档位;
  • 5
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值