UFS HCI 2.1 学习(1) - HCI 结构

本文介绍了UFS(通用闪存存储)的HCI(Host Controller Interface)2.1规范,重点讲解了HCI在主机端的作用,包括其与JEDEC UFS2.1协议的关系、UTP Transfer Request List和UTP Task Management Request List的结构,以及如何通过Memory Mapped I/O空间与硬件交互。同时,提到了关键寄存器如Host Controller Capabilities和Interrupt/Host Status等。
摘要由CSDN通过智能技术生成

HCI 全称是Host Controller Interface. 他和JEDEC UFS2.1 协议都是UFS的行业规范,但是约束的位置是不同的。

从Figure 1 中可以看到,HCI主要是针对主机端从驱动(软件)到controller 接口(硬件)标准的规范。再往下到UTP和UIC层都不是HCI的范围。

如果是大家在看kernel /uboot/lk等代码的时候,看到驱动最底层的代码,是可以和HCI协议的描述对应起来的。

Figure 2中我们先看右边Host Memory Space. 这里每一块都代表一段连续的内存空间。在UTP Transfer Request List中连续存放的是slot0-31共32个UTRD(UTP Transfer Request Descriptor).UTRD的格式这里不做展开,但是可以看到其中必定包含指向另一段内存的地址。可以看到每一个UTRD都指向了一个含有Command UPIU 及 Response UPIU的数据段,而有些还包含有PRDT会指向另一段data buffer. 这就会让我们联想到在学习UFS协议时的有些命令含有数据的交互,而有些命令没有。32个slot是不是也会让大家联想到UFS 命令常用的队列深度32.

而下面有8个slot的UTP Task Management Request List是不是也会让大家想到UFS协议中 Task Managemeng Request的队列深度8.

左侧的i/o memory/register space代表的是HCI的所有寄存器。software 和 controller硬件的交互就是依赖这些寄存器实现。但是软件在对这些寄存器管理和使用的过程中,实际上访问的是一段和寄存器空间已经建立对应

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值