UFS协议—新手快速入门(二)【5-6】

目录

五、UFS协议栈

六、UFS技术演进与详解

1、UFS应用层

设备管理器

任务管理器

2、UFS传输层

3、UFS互联层


UFS协议—新手快速入门(一)【1-4】

五、UFS协议栈

UFS(Universal Flash Storage)协议是针对固态存储设备(如UFS存储卡)的接口规范,它由JEDEC(联合电子设备工程委员会)制定。UFS协议的设计初衷是为了提供一种高性能、低功耗的存储解决方案,以满足移动设备对存储速度和容量的需求。

UFS协议之所以被设计为四层结构,主要是为了满足以下几个方面的需求:

  1. 物理层(Physical Layer):这是UFS协议栈的最顶层,它负责处理如读写命令等存储操作。UFS应用层使用的是简化的SCSI命令集,这些命令由UCS(UFS命令集)生成。负责与存储设备的物理连接和电气特性,确保数据可以正确地在设备之间传输。

  2. 传输层(Transport Layer)传输层负责将应用层的命令和数据封装成UPIU(UFS Protocol Information Unit),并确保它们在设备和主机之间可靠地传输。处理数据的传输协议,确保数据在物理层之上可靠地传输。

  3. 协议层(Protocol Layer):在这一层,UFS使用MIPI UniPro规范,它支持数据的传输、错误检测和纠正、流量控制等功能。其定义了UFS设备的操作命令和数据结构,包括读写操作、块管理、错误处理等。

  4. 应用层(Application Layer)物理层由MIPI M-PHY规范定义,它负责在物理介质上传输电气信号,包括信号编码、速率匹配、电压级别等。与操作系统和应用层软件交互,提供文件系统和存储管理的功能。

这种分层设计使得UFS协议能够灵活地适应不同的硬件平台和应用场景,同时也便于实现标准化和模块化。每一层都有其特定的功能和职责,这有助于简化开发过程,提高系统的可维护性和可扩展性。

UFS协议栈的构建是借鉴和整合了现有的技术规范来实现其功能。这种集成不同组织定义的技术来创建新的标准的做法在技术发展中是相当常见的。

  1. 应用层:UFS协议栈的应用层并没有定义自己的原生命令集,而是采用了简化版的SCSI命令集,这些命令集由INCITS T10组织定义。SCSI(Small Computer System Interface)是一种广泛使用的存储设备接口标准,它定义了存储设备如何与计算机系统通信。

  2. 传输层:UFS的传输层(UTP,UFS Transport Protocol)是JEDEC(Joint Electron Device Engineering Council)自己定义的。这一层负责将应用层的命令和数据封装成UPIU(UFS Protocol Information Unit),并管理它们在UFS设备和主机之间的传输。

  3. 数据链路层:UFS协议栈的数据链路层基于MIPI(Mobile Industry Processor Interface)联盟的UniPro规范。UniPro是一个灵活的互连协议,支持多种通信接口,包括UFS。

  4. 物理层:UFS的物理层同样采用了MIPI联盟的M-PHY规范。M-PHY定义了电气和物理特性,如信号传输方式、电压级别等,以支持高速数据传输。

通过整合T10的SCSI命令集、MIPI的UniPro和M-PHY以及JEDEC自己的UTP,UFS能够为移动设备提供一种高性能、高可靠性的存储解决方案。这种集成方式使得UFS能够利用现有技术的优势,加速开发过程,并确保与现有生态系统的兼容性。

JEDEC的这种做法确实体现了一种高效的技术整合能力,它不是从头开始创建所有内容,而是通过集成和适配现有的技术标准来构建新的技术规范。这不仅节省了研发时间和成本,还确保了新技术能够快速融入现有的技术生态系统中。这种策略在快速发展的科技领域中是一种非常实用的方法。

六、UFS技术演进与详解

1、UFS应用层

在UFS协议栈中,应用层扮演着至关重要的角色,其主要功能如下:

  1. UFS命令集:应用层定义了一套UFS命令集,这些命令用于控制UFS设备执行各种操作,如读写数据、擦除块、查询设备信息等。

  2. 设备管理器(Device Manager):设备管理器负责管理UFS设备的生命周期,包括设备的初始化、配置、状态监控和异常处理等。

  3. 任务管理器(Task Manager):任务管理器负责调度和管理UFS设备上的任务,确保命令的执行顺序和优先级符合要求。

应用层作为协议栈的最高层,它充当用户与UFS设备之间的桥梁,将用户的命令或请求转化为具体的UFS命令,并通过网络层、传输层和内联层等下层协议进行处理和执行。应用层的决策和命令对于整个UFS系统的运作至关重要,它决定了如何高效地管理UFS设备,以及如何优化数据的存取和传输。

设备管理器

UFS(Universal Flash Storage)协议栈中,设备管理器(Device Manager)是核心组件之一,它负责管理和控制UFS设备的各种操作和配置。

设备级操作:设备管理器负责执行和管理与UFS设备相关的各种操作。这包括但不限于:

  • 功耗管理:控制设备的功耗,以优化电池寿命或系统性能。
  • 数据传输参数设置:配置数据传输的速率、模式等参数,以确保数据传输的效率和可靠性。
  • 后台操作(Background Operation):使能或禁止设备在后台执行的操作,如垃圾回收、块擦除等。
  • 其他设备相关操作:例如设备重置、健康状态监测等。

1、设备级配置管理:

设备管理器还负责维护和存储设备的配置信息。这通常通过一系列的描述符(Descriptor)来实现,这些描述符包含了设备的详细信息和配置参数。设备管理器可以通过Query请求来修改或获取这些配置信息。

2、与传输层的交互:

设备管理器通过传输层为其提供服务,这种交互通常是通过特定的服务访问点(Service Access Point,简称SAP)来实现的。例如,UDM_SAP(Universal Device Management Service Access Point)是设备管理器与传输层之间通信的接口。

3、描述符:

描述符是UFS协议中用于描述设备属性和配置的一组数据结构。它们可以包含设备的制造商信息、产品信息、序列号、固件版本、容量、性能参数等。通过Query命令,设备管理器可以查询或修改这些描述符中的信息。

4、命令集:

除了基本的读写命令和TRIM(UNMAP)命令外,UFS还定义了其他命令,用于执行更复杂的操作,如安全擦除、固件升级等。

从UFS(Universal Flash Storage)的层次架构图来看,设备管理器(Device Manager)与传输层(Transport Layer)之间的交互是通过服务访问点(Service Access Point,简称SAP)来实现的。UDM_SAP(Universal Device Management Service Access Point)是设备管理器与传输层之间通信的接口,它允许设备管理器发送命令和接收响应,以及执行各种设备管理任务。 

在UFS协议栈中,设备管理器(Device Manager)除了可以通过传输层(Transport Layer)进行操作外,还可以通过用户空间直接输入输出(User-space I/O,简称UIO)服务访问点(UIO_SAP)直接管理与控制互联层(Interconnect Layer)。UIO_SAP提供了一种机制,允许设备管理器在用户空间直接与硬件设备交互,绕过内核空间的某些层。 

任务管理器

当系统中某个命令执行超时,即该命令没有在预定时间内完成,系统可能会采取一些措施来确保系统的稳定性和响应性。在许多系统中,"Abort"命令就是用来中断或终止一个超时的命令或进程的。执行Abort命令后,系统会尝试停止该命令的执行,释放它占用的资源,并可能返回一个错误信息或状态码,以便用户或系统管理员了解发生了什么。

2、UFS传输层

在UFS架构中,传输层起着至关重要的作用,它位于协议层和物理层之间,负责将应用层的命令和请求转换为可以发送到接收端的数据包。

想象一下,UFS传输层就像是一位忙碌的将军,它站在战场(也就是数据传输的前线)上,指挥着千军万马——也就是那些数据包。

应用层的统帅下达命令时,传输层这位将军就会迅速行动起来,把命令翻译成敌军(也就是接收端)能够理解的语言——也就是UPIU。

将军(传输层)不仅需要确保命令被正确传达,还要确保它们以最高效的方式被执行。这就像是在战场上,将军需要确保每支箭都射中目标,每匹马都跑到正确的位置。而且,如果命令在战场上迷失了方向或者遇到了障碍,将军还得迅速做出反应,可能是重新组织队伍,或者调整战术。

在这个过程中,将军还得时刻关注敌情——也就是接收端的反馈。如果接收端传来了“一切顺利”的消息,那么将军就可以松一口气,继续执行下一个命令。但如果接收端传来了“遇到问题”的消息,那么将军就得立刻采取行动,可能是重新发送命令,或者调整策略。

所以,虽然UFS传输层的工作听起来很复杂,但其实它就像是一位在战场上运筹帷幄的将军,既要保证命令的传达,又要确保数据的安全和效率。在这个数字化的战场上,传输层这位将军可是至关重要的角色。

3、UFS互联层

在UFS互联层中,UniPro和M-PHY共同工作,以实现主机和存储设备之间的高效通信。UniPro在数据链路层上处理数据包的组织、传输和错误控制,而M-PHY则在物理层上确保这些数据包能够准确地在物理介质上被传输。这种分层的方法使得UFS能够提供高性能的数据传输能力,同时保持对不同设备和应用场景的兼容性。

MIPI UniPro 是一种高性能的串行通信协议,它在UFS互联层中扮演数据链路层的角色。UniPro的设计旨在提供高效的数据传输速率和强大的错误检测与纠正机制。它不仅定义了数据链路层的功能,还包含了一整套协议栈,这使得UniPro能够支持复杂的通信需求,如数据包的路由、流量控制、以及服务质量管理等。UniPro的这些特性使其成为UFS高速数据传输的理想选择。

M-PHY 是一种物理层接口,负责在物理介质上传输电信号。M-PHY的设计允许它支持多种不同的数据传输速率,并且能够适应不同的信号完整性要求。作为物理层的一部分,M-PHY确保了信号在传输过程中的完整性和可靠性,无论数据传输速率如何变化。M-PHY的灵活性和鲁棒性使其成为实现UFS物理连接的关键技术。

UniPro和OSI七层模型的对比:

看来我们要聊聊UFS互联层的两位大明星——MIPI UniPro和M-PHY,它们就像是UFS世界的超级英雄组合。

首先,让我们来认识一下UniPro,这位数据链路层的超级英雄。UniPro不仅仅是一个简单的数据链路层,它其实是一个全能型的协议栈。想象一下,UniPro就像是一个多才多艺的特工,不仅能够确保主机和设备之间的链接,还能够处理数据的打包、传输、错误检测和恢复等一系列任务。UniPro的超能力包括但不限于:高效的数据传输、灵活的链路管理、以及强大的错误处理机制。

然后,我们有M-PHY,这位物理层的超级英雄。M-PHY的职责是传输那些实实在在的物理信号,就像是在幕后默默工作的特技演员,虽然不常出现在聚光灯下,但其作用至关重要。M-PHY确保了电信号在物理介质上的准确传输,无论是高速的还是低速的,都能够保证信号的完整性和稳定性。

这两位英雄的合作,就像是一场精彩的舞台剧,UniPro在前台指挥着数据的流动,而M-PHY在幕后确保信号的传输。他们共同确保了UFS设备能够以最高的效率和最佳的性能运行。

所以,下次当你听到UFS互联层时,不妨想象一下UniPro和M-PHY这两位超级英雄,他们正在一起努力,确保你的数据传输既快速又安全。这就像是一场精彩的动作大片,只不过这一次,场景换成了你的设备内部!

下期预告:UFS协议—新手快速入门(三) 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/22135.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

渡众机器人自动驾驶小车运行Autoware 实现港口物流运输

Autoware 是一个开源的自动驾驶软件堆栈,提供了丰富的功能和模块,用于实现自动驾驶车辆的感知、定位、规划和控制等功能。北京渡众机器人公司将多款自动驾驶小车在多场景运行Autoware ,它可以实现以下功能: 1. 感知:利…

Spark的性能调优——RDD

前言 RDD 是 Spark 对于分布式数据集的抽象,每一个 RDD 都代表着一种分布式数据形态。比如 lineRDD,它表示数据在集群中以行(Line)的形式存在;而 wordRDD 则意味着数据的形态是单词,分布在计算集群中。 参…

数据挖掘综合案例-家用热水器用户行为分析与事件识别

文章目录 1. 背景与挖掘目标2. 分析方法与过程3. 数据分析3.1 数据探索分析3. 2 数据预处理1. 属性约束2. 划分用水事件3. 确定单次用水事件时长阈值4. 属性构造5.筛选候选洗浴事件 3.3 模型构建3.4 模型检验 4. 思考总结 1. 背景与挖掘目标 随着国内大家电品牌的进入和国外品…

了解CAN功能

了解CAN功能,学习CAN功能,理解CAN和串口的区别,以及它和RS485的相似之处。 1、“多主机”特性 在CAN网络通讯中,无需其它设备同意,每个CAN设备都可以主动向外发送数据,且所有设备都会收到数据&#xff0c…

【面试干货】 非关系型数据库(NoSQL)与 关系型数据库(RDBMS)的比较

【面试干货】 非关系型数据库(NoSQL)与 关系型数据库(RDBMS)的比较 一、引言二、非关系型数据库(NoSQL)2.1 优势 三、关系型数据库(RDBMS)3.1 优势 四、结论 💖The Begin…

孵化器补贴政策提问模板

对于一些需要创业的人来说,找场地是非常非常难的,一个好的场地能够提高创业的成功率,下面这些内容对于孵化器产业园的政策有一个好的提问,可以帮助你们了解这个孵化器合不合适。需要创业的人可以收藏 某孵化器政策示例 提问模板 …

【竞技宝】欧洲杯:德国被乌克兰逼平,27脚射门仍难得分!

欧洲杯前的热身赛已经全面开启,东道主德国队算是打响了热身赛的第一枪,只可惜他们在主场0比0被乌克兰逼平。整场比赛,德国队都占据明显优势,全场比赛轰出27脚射门,可是却无法实现破门。这个时候德国球迷似乎回想到了前两届世界大赛,球队被“锋无力”支配的恐惧。 本场比赛德国队…

如何制作Peppol文件?

Peppol (Pan-European Public Procurement Online) 是一种用于跨境电子采购的标准协议和网络。它允许企业和政府机构以电子方式交换文件,如电子发票、订单和发货单。如果你需要制作Peppol文件,可以参考如下步骤: 准备必要工具和资源 1.Pepp…

Serif Affinity 2.5 (macOS, Windows) - 专业创意软件

Serif Affinity 2.5 (macOS, Windows) - 专业创意软件 Affinity Designer 2, Affinity Photo 2, Affinity Publisher 2 请访问原文链接:Serif Affinity 2.5 (macOS, Windows) - 专业创意软件,查看最新版。原创作品,转载请保留出处。 作者主…

【第二节】C/C++数据结构之线性表

目录 一、线性表基本说明 1.1 基本概念 1.2 抽象数据类型 1.3 存储结构 1.4 插入与删除的区别 1.5 顺序存储和链式存储的优缺点 二、链表 2.1 基本概念 2.2 抽象数据类型 2.3 单链表的定义 2.4 单链表的基本操作 2.5 单链表模板形式的类定义与实现 三、单向循环链…

成功解决“ModuleNotFoundError: No module named ‘tensorflow_datasets‘”错误的全面指南

成功解决“ModuleNotFoundError: No module named ‘tensorflow_datasets’”错误的全面指南 在Python编程和深度学习项目中,tensorflow_datasets(通常简称为tfds)是一个非常重要的库,它提供了大量现成的数据集,方便…

终于来啦!Stable Diffusion 3将在6月12日正式开源

6月3日晚,著名开源大模型平台Stability AI的联合首席执行官Christian Laforte,在AMD的产品发布会上宣布,文生图模型 Stable Diffusion 3将于6月12日在Hugging Face开源权重。 本次开源的是Stable Diffusion 3的Medium模型,有20亿…

武汉盛势启创科技携手三品软件 EDM系统助力企业图文档数字化

客户简介 武汉盛势启创科技有限公司(以下简称“盛世启创”)是一家专注于新能源汽车零部件领域的科技型企业,其主要业务涵盖新能源汽车三电系统智能传感器、智能座舱及线控底盘控制器的芯片开发、硬件设计、嵌入式系统开发。以及相关产品的生产…

C++第二十三弹---深入理解STL中list的使用

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】 目录 1、list的介绍 2、list的使用 2.1、构造函数 2.2、赋值操作符重载 2.3、迭代器使用 2.4、容量操作 2.5、元素访问 2.6、修改操作 2.7、其…

从0开始学人工智能测试节选:Spark -- 结构化数据领域中测试人员的万金油技术(三)

分布式计算原理 分布式计算的原理总结一句话就是:分而治之。 把数据分片,存在不同的机器中,解决数据存储的压力。客户端和服务端之间通过相关协议来自动的完成在不同的机器之间进行数据的存取,用户并不感知数据的物理存储结构。 用…

UIKit之App界面Demo

需求 实现简单的APP界面 功能: 实现滚动实现上层、下层横栏滚动时穿透效果(永远浮在表面,不跟着滚动)。暂用UIView代替,还没学Bar。 分析: 知识点: 实现鼠标拖动的上下滚动:当…

小红书前端2轮面试期望22K,全程问低代码设计

一面(通过) 1、好,那我们开始把,先简单介绍一下自己的一个经历,以及自己有亮点的项目?balabala 2、你可以这样介绍:在这里边主要负责哪几个项目,哪些项目是比较有亮点的&#xff0…

智享直播(三代)2024年:打造24/7实景无人直播,引领年轻资产创业新纪元!

在21世纪的数字化浪潮中,直播行业以其独特的魅力和无限的可能性,正在全球范围内掀起一场前所未有的( keJ0277 )创业革命。而在这场革命中,智享直播(三代)以其创新的技术理念和前瞻的战略布局,立志于2024年打…

怎么用电脑录制视频?小白也能快速上手

随着网络技术的发展,电脑录制视频已经成为了许多人的日常需求,无论是游戏玩家想录制自己的精彩操作,还是上班族需要录制屏幕演示,一款好用的录屏软件变得尤为重要。可是你知道怎么用电脑录制视频吗?本文将介绍两种电脑…

I2C通信协议

I2C通信协议 项目要求是,通过通信线,是实现单片机读写外挂模块寄存器的功能,至少实现,在指定位置写寄存器和在指定位置读寄存器,实现了读写寄存器,就实现对模块的控制。 MPU6050,OLED&#xf…