黑猫带你学UFS协议第1篇:全网最全UFS协议中文详讲,这份学习框架图,你值得拥有!!!(持续更新中...)

黑猫带你学:UFS协议详解
专栏收录该内容
¥99.90
¥299.90
28 篇文章

文/黑猫学长

1 作者想说

笔者本人从事于存储芯片行业多年,对eMMC/UFS/SD等芯片有深入研究,协议尤甚。而今看来,UFS协议在整个存储产品中(包括U盘、SPI、SD卡,NM卡、emmc、SSD、flash颗粒等),属于最难梯队。

对于嵌入式存储芯片来说,从最初大家熟悉的SD/TF卡,发展到emmc,再到如今的UFS,速率越来越快,性能越来越稳定。即使是最新的UFS产品,从问世到笔者写这篇文章(2022.07),都已经发展10余年了。奈何国内芯片产业起步比较晚,对于UFS,国内各大相关厂商大部分都是近两年才逐渐投入人力、财力研发。但UFS已经大规模应用到高端旗舰智能手机、平板电脑、AR/VR等智能终端领域。

尽管目前嵌入式产品中eMMC依旧是主流,但随着5G、人工智能、大数据的发展,对性能、数据量要求越来越高,

UFS的使用率和市场占有率一定会越来越大。因此,对于嵌入式设备相关技术人员,将难免会越来越多的与UFS打交道。无论对于是否为存储芯片行业的人员,想要在有限的时间内搞通UFS相关知识,还是非常困难的。

中文互联网上对于UFS相关的资料也相对来说比较少也不够详细。因此,笔者会根据UFS spec、学习/工作经验、网络资料等,对UFS协议进行详细讲解。希望能够帮助到需要研究UFS芯片的朋友们,让你不再繁琐地查阅各种资料,不再头大地翻译英文spec,物有所值,欢迎订阅…

本专栏适合人群:

1、存储芯片行业相关人员,包括但不限于:IC\FW\验证开发\TE\FAE\AE\销售等

2、嵌入式开发人员

3、对eMMC、UFS等存储芯片感兴趣人员

注意:

《黑猫带你学:UFS协议详解》系列文章预估15万+字,撰写不易,为付费内容,禁止私自转载。

本专栏文章主要针对UFS jedec 3.1协议相关内容,关于Unipro、M-PHY等内容不会过多涉及。

内容如若有误,欢迎评论留言。

2 专栏内容

黑猫带你学UFS协议第1篇:全网最全UFS协议中文详讲

黑猫带你学UFS协议第2篇:UFS相关名词释义

黑猫带你学UFS协议第3篇:UFS简介

黑猫带你学UFS协议第4篇:UFS协议栈详解

黑猫带你学UFS协议第5篇:UFS物理层简介(MIPI M-PHY)

黑猫带你学UFS协议第6篇:UFS链路层简介(MIPI UNIPRO)

黑猫带你学UFS协议第7篇:UFS传输层(UTP)简介

黑猫带你学UFS协议第8篇:UFS电气特性详解(Power、CLK、Reset等)

黑猫带你学UFS协议第9篇:两万字详解UFS SCSI命令

黑猫带你学UFS协议第10篇:UFS协议信息单元详解(UPIU)

黑猫带你学UFS协议第11篇:UFS描述符详解(descriptor)

黑猫带你学UFS协议第12篇:UFS标志(Flags)和属性(Atrributes)详解

黑猫带你学UFS协议第13篇:UFS初始化详解(Boot Operation)

黑猫带你学UFS协议第14篇:什么是逻辑单元(LU)与逻辑块(Sector)

黑猫带你学UFS协议第15篇:UFS如何配置逻辑单元(LU Management)

黑猫带你学UFS协议第16篇:UFS模式页是什么(Mode Page)

黑猫带你学UFS协议第17篇:UFS安全模式详解(Secure Mode)

黑猫带你学UFS协议第18篇:UFS数据保护机制(Device Data Protection)

黑猫带你学UFS协议第19篇:UFS语境管理详解(context management)

黑猫带你学UFS协议第20篇:UFS cache详解

黑猫带你学UFS协议第21篇:UFS命令队列详解(CMDQ)

黑猫带你学UFS协议第22篇:全网最全UFS RPMB LU详解(重放保护逻辑单元)

黑猫带你学UFS协议第23篇:UFS固件升级操作详解(FFU)

黑猫带你学UFS协议第24篇:UFS写加速器详解(WriteBooster)

黑猫带你学UFS协议第25篇:UFS复位详解(Reset)

黑猫带你学UFS协议第26篇:一文搞懂UFS的深度休眠是是什么?(Pre-DeepSleep & DeepSleep)

黑猫带你学UFS协议第27篇:UFS的后台操作详解(BKOPS)

黑猫带你学UFS协议第28篇:生产状态感知(PSA)

3 如何学好UFS协议

关于UFS协议学习框架,本人已整理如下框架,供大家学习使用。

在这里插入图片描述

第一部分为协议栈,类似于网络协议栈,要了解UFS的应用层、传输层、链路层、物理层之间的关系及作用,了解UPIU\SCSI命令帧格式。该部分主要掌握其大体框架,不建议过分过分深究。经过此部分,对UFS层级就有一个相对清晰的认识。

第二部分为UFS寄存器。通过控制这些寄存器,来控制UFS部分功能和属性。学习过程中要注意这些寄存器的属性(即是否可读可写等),大概了解每个寄存器的功能即可。

第三部分为UFS电气特性。比较UFS是颗芯片,是存在现实中的一个硬件设备。那么就应该要了解UFS样片供电应该是多少伏?CLK是多少?几路信道进行数据传输?等各种物理特性。

第四部分为UFS的一些重要功能/机制,大部分知识点之间没有太大联系,不用按顺序学习研究。当掌握基础内容后,该部分内容只需要用到哪一块就对哪一块进行深入研究即可。

本人所列出的UFS学习框架图,为本人工作多年所研究整理,基本涵盖了UFS的常用及主要内容。当然,对于一些细枝末节,基本上不会用到知识点,学习框架图中并未列出,但这无伤大雅,不需要过分纠结。笔者坚信,对于框图中的内容都学习研究后,就已经掌握了UFS3.1协议中至少90%以上的内容,基本就算“吃透”UFS协议了。

《黑猫带你学:UFS协议详解》专栏中文章顺序,基本也就是按照学习框架图顺序所撰写,逐一进行研究即可。

4 更好的阅读体验

为了让读者有更好的阅读体验,读者朋友们应该知道如下信息,不至于看文章时候产生迷惑。

1、文章中设备、device、UFS、Target Port均指UFS;host、主机、initiator port均指使用UFS的具体产品,包括但不限于手机、平板、嵌入式开发板等设备。

2、文章中提到的flash,除特别说明,均表示nand flash。

3、由于UFS内部存储介质一般均为nand flash,因此文章提到的存储介质、flash、nand、存储阵列等词汇,也均表示nand flash。

VIP UFS 3.1协议分析(第一至四章) -- UFS概述 Contents协议规范规范参考术语和定义简单概述通用特性接口特性功能特性 协议规范     UFS3.1协议规定了UFS电气接口和存储器件的特性以及系统架构。 特性:低功耗、高数据吞吐量、低电磁干扰、大容量存储器子系统效率的优化 电气接口:使用基于MIPI M-PHY的高级差分接口;M-PHY作为物理层,MIPI UniPro作为链路层,二者结合形成UFS接口的互联。 架构模型:参考 INCITS T10(SCSI) SAM 标准,命令协议基于 INCITS T1 开通可读全文·1.3w 阅读·14 点赞·89 收藏 阅读全文

相关推荐

黑猫带你学UFS协议第23篇:UFS固件升级操作详解(FFU)

摘要:本文介绍了UFS固件更新(FFU)的实现方法与注意事项。根据UFS3.1 JEDEC协议,FFU通过write buffer命令(MODE=0Eh)下载FW固件,随后必须进行power cycle或硬件复位生效。文章详细阐述了FFU操作的10条规则,包括数据分片传输要求、寄存器访问限制等,同时指出协议未明确的厂商实现差异。关键寄存器包括bFFUTimeout、bDeviceFFUStatus和fPermanentlyDisableFwUpdate。

黑猫奥利奥的博客 1万+

UFS协议介绍(Universal Flash Storage V3.1)

UFS全称为UNIVERSAL FLASH STORAGE通用闪存,其标准由固态技术协会(Joint Electron Device Engineering Council,JEDEC)撰写及维护,实际上相当于eMMC的升级版。可以应用在手机、MP3、DSC等主机设备,也可以应用在外部存储卡等。本版本标准,UFS支持M-PHY的HS-G1~HS-G4的4档速率,低速支持PWM编码信号。信号差分峰峰值为200mV(RT模式),或者400mV(NT模式);误码率在10E-10以下。UFS的整体框架如下图,包含

qflook的博客 2521

UFS总体介绍及FPGA开发

通过实现UFS的主控制器、设备控制器等组件,我们可以在FPGA上进行UFS开发,并实现高速数据传输和低功耗特性的存储解决方案。物理层负责传输物理信号,数据链路层提供数据包的传输和错误检测功能,传输层处理数据包的分段、重组和重传,逻辑层管理设备和主控制器之间的命令和数据传输,文件系统层负责文件管理和数据存储。在本文中,我们将介绍UFS的总体架构和特性,并探讨如何在FPGA上进行UFS开发。这些组件的实现涉及到UFS协议的具体细节和硬件平台的特性,因此需要参考UFS协议规范和FPGA开发平台的相关文档。

PodProgram的博客 2120

黑猫带你学eMMC协议第1篇:全网最全emmc协议中文详讲,这份学习框架图,你值得拥有!!!(持续更新中...)

黑猫带你学eMMC协议第7篇:全网最全emmc写保护详解(write protect) 黑猫带你学eMMC协议第8篇:emmc可靠写详解(Write Reliability) 黑猫带你学eMMC协议第9篇:emmc的分区配置(partitioning) 黑猫带你学eMMC协议第10篇:eMMC命令队列详解(CMDQ) 黑猫带你学eMMC协议第11篇:eMMC擦除详解(erase/trim/discard/sanitize/secure erase/secure trim…) 黑猫带你学eMMC协议第12篇:

黑猫奥利奥的博客 2万+

黑猫带你学UFS协议第4篇:UFS协议栈详解

本文深入解析UFS协议栈,涵盖应用层的UAP、设备管理器,传输协议层的UTP,互联层的UIC,以及物理层的MIPI M-PHY和UniPro。详细阐述了服务访问端口UDM_SAP和UIO_SAP的功能,介绍了UFS如何使用MIPI标准实现数据链路和物理层通信。同时,探讨了任务管理器在命令队列管理中的作用。

黑猫奥利奥的博客 4232

Android11 关于三方应用获取su权限

SELinux,全称Security-Enhanced Linux,是一种基于Linux内核的安全机制。它通过强制访问控制(MAC)来增强Linux系统的安全性,如果不禁用SELinux,完成下面的修改可能会导致设备进入Recovery界面!adb shell getenforce 为Permissive(宽容模式),查看报错日志,发现是客户apk想使用su命令提权,但是没有权限!对于保护系统资源和防止未经授权访问非常有帮助!系统这边做修改,让su权限下放到三方应用.客户的apk运行报错。

sinat_37429535的博客 1897

从Gitee上部署视觉工程到Linux虚拟机

(使用SVM来识别装甲板的编号,此处手机上的图片中只有灯条没有数字,SVM无法识别出编号。这两行代码的意义是,当SVM识别不出或者识别不到编号时,把装甲板的编号默认为2号。找到自瞄程序中,数字识别类下的这两行代码,把注释去掉。这样,每次打开新的终端时,环境变量都会自动设置。(2)查看虚拟机设置选项,检查虚拟机USB接口是否为3.0及以上的接口。如果不是,要更改好。这样,每次打开新的终端时,环境变量都会自动设置。后,每次打开终端时自动设置这些环境变量,你可以将。打开第一个终端,用来挂ROS的内核启动页面。

2301_81035291的博客 1514

Python爬虫实战:利用Selenium与Playwright抓取美团外卖数据

在当今大数据时代,网络数据采集已成为商业分析和市场研究的重要手段。本文以美团外卖平台为例,详细介绍如何使用Python最新爬虫技术(Selenium、Playwright)进行数据采集,并探讨相关技术原理、反爬应对策略及数据存储方案。通过5000+字的详细讲解和完整代码示例,帮助读者掌握现代网络爬虫开发的核心技能。本文详细介绍了使用Python最新爬虫技术采集美团外卖数据的完整流程,涵盖了从环境配置、页面分析到数据存储的全链路解决方案。

2201_76125261的博客 2545

openssl命令数据摘要详解(SM3、sha256、MD5、dss1、mdc2、ripemd160)

SM3是由中国密码学家设计的密码哈希函数,是中国国家密码管理局(National Cryptographic Authority,简称:CNCA)颁布的国家密码算法标准。SM3属于密码杂凑函数家族,它可以计算任意长度的消息并生成固定长度(256比特,即32字节)的哈希值。SM3生成的哈希值长度为256比特(32字节),不管输入消息的长度如何,输出始终是固定的。SM3将输入数据划分为512比特(64字节)的分组,并对每个分组进行处理。

N阶二进制的博客 4454

YOLOv8改进 | 主干网络 | 在backbone添加Swin-Transformer层【论文必备】

YOLOv8改进,Swin-Transform,YOLOv8添加Swin-Transform

kay_545 2362

基于Matlab使用雷达资源管理有效跟踪多个机动目标仿真(附源码)

多功能雷达可以搜索目标,确认新轨道,并重新访问轨道以更新状态。为了执行这些功能,多功能雷达通常由资源管理器管理,该资源管理器创建用于搜索、确认和跟踪的雷达任务。这些任务是根据优先级和时间安排的,因此,在每个时间步长中,多功能雷达都可以将其波束指向所需的方向。在此示例中,对于用于跟踪机动目标的雷达,有两个相互冲突的要求:目标的数量及其初始位置通常事先不知道。因此,雷达必须不断搜索感兴趣的区域才能找到目标。此外,雷达需要在进入雷达覆盖区域后立即检测并建立对每个目标的跟踪。目标机动的时间段事先是未知的。

珞瑜的博客 3141

【面试系列】数据工程师高频面试题及详细解答

本文针对数据工程师岗位,提供了详尽的面试题库和解答,分为初级、中级和高级三个层次。初级面试题主要涉及基本的数据处理和ETL工具的使用,如SQL查询、数据清洗和基本的数据建模。中级面试题重点考察数据管道设计、数据库优化和大数据平台的应用。高级面试题则深入探讨高级数据处理技术、分布式系统架构和数据湖的实现。通过这些问题和解答,候选人可以全面了解数据工程师岗位所需的技能,帮助其更好地准备面试。常考知识点总结部分则系统归纳了数据工程师岗位的关键技能领域。

在路上的专栏 2367

ArcGIS:景观指数和景观单元关联生成景观指数遥感图像

CSDN@_养乐多_本文将记录,使用由 Fragstats V4.2 软件计算的景观指数和瓦片 tif 数据生成景观指数图像的操作步骤。本教程的操作均在ArcGIS上进行,最后生成一个研究区内指定景观单元大小的景观指数图像。结果如下所示,

养乐多的博客 4918

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

上一篇: 黑猫带你学Nand第11篇:万字长文带你了解NandFlash的数据保持原理及特性(Data Retention)
下一篇: 黑猫带你学Nand第12篇:什么是NandFlash的Program Disturb & Pass disturb & Edge disturb?

双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —
黑猫学长呀
黑猫学长呀 新星创作者: 嵌入式与硬件开发技术领域 新星创作者: 嵌入式与硬件开发技术领域
博客等级 码龄8年 2322粉丝 215原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑猫学长呀

有帮助到你就来打个赏呗

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值