当前位置: 首页 > news >正文

Day2-UFS协议栈

UFS

学习链接1:UFS定义一个完整的协议栈
学习链接2:UFS协议栈(应用层、传输层、互联层)
学习链接3:UFS3.1分层架构

应用层基于SCSI,数据链路层基于UniPro,物理层基于M-PHY,仅传输层为原创的UTP;
应用层 :命令集、设备管理器、任务管理器
传输层:UPIU

UDM_SAP(通用设备管理服务访问节点-Universal Device Management Service Access Point)是设备管理器与传输层之间通信的接口。
UTP_CMD_SAP是命令集与传输层之间通信的接口。
UTP_TM_SAP是任务管理器与传输层之间通信的接口。
UIO_SAP提供了一种机制,允许设备管理器在用户空间直接与硬件设备交互,绕过内核空间的某些层。
UIC_SAP传输层与数据链路层之间通信的接口。

疑问:服务访问点(Service Access Point,简称SAP)如何实现,具体是个啥?

学习链接4:UPIU:UFS协议信息单元
学习链接5:UPIU架构
客户-服务端架构,UFS主机(客户)主动发起请求,UFS设备(服务)执行后并返回相应状态。并且只能主机主动发起,设备作为从机不能发起而只能被动响应。
UPIU的事务类型包括4种格式,分别是:请求命令UPIU、数据传输UPIU、设备响应UPIU、其他UPIU。
每个请求或命令均包括:命令阶段、(数据阶段)、响应阶段。
写操作时采用一问一答的形式,读操作则不需要。

疑问:这个UPIU和TCP有类比关系吗?

C++

c++开发中常见的崩溃问题及解决办法
c++常见崩溃问题分析
gdb调试

vector迭代器失效:实质在于迭代器底层对应指针所指向的空间被销毁或变得非法,导致迭代器不再指向有效的内存地址或预期的元素。
【C++】vector的使用及其迭代器失效问题
STL之vector 迭代器失效问题

相关文章:

  • uniapp使用createSelectorQuery,boundingClientRect获取宽度和高度不准确的可用的解决方案
  • STM32 HAL库 内部传感器驱动实现
  • 写书的三驾马车
  • 回归,git 分支开发操作命令
  • ONLYOFFICE深度解锁系列.2-Excel 跨文件数据整合实战指南-可道云的另一个严重bug
  • Vscode --- LinuxPrereqs │远程主机可能不符合 glibc 和 libstdc++ Vs code 服务器的先决条件
  • STM32 串口中断接收方式笔记:HAL_UART_Receive_IT vs __HAL_UART_ENABLE_IT
  • 用GitHub Actions实现CI/CD
  • 【uniapp】uni.setClipboardData 方法失效 bug 解决方案
  • 阿里云OSS应对DDoS攻击策略
  • TDengine 存储引擎剖析:数据文件与索引设计(二)
  • 告别昂贵语音合成服务!用GPT-SoVITS生成你的个性化AI语音
  • 【eNSP实验】OSPF单区域配置
  • 高效培训,借助课程编辑器塑造卓越团队​
  • BH1750光照传感器---附代码
  • 2025年4月16日华为笔试第二题200分
  • js逆向分享
  • NAT、代理服务、内网穿透
  • AI 推理与训练优化的核心理论体系建构及关键技术分析框架
  • Leetcode - 周赛445
  • 中国纪检监察刊文:力戒形式主义官僚主义关键是要坚持实事求是
  • 特朗普公开“怼”库克:苹果不应在印度生产手机
  • 南昌上饶领导干部任前公示:2人拟提名为县(市、区)长候选人
  • 武大校长:人工智能不存在“过度使用”,武大不会缩减文科
  • 习近平同巴西总统卢拉会谈
  • “救护车”半路加价?陕西卫健委已介入,记者调查:黑救护车挤占市场