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.pswp.cn/bicheng/22135.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/22135.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/22135.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

渡眾機器人自動駕駛小車運行Autoware 實現港口物流運輸

Autoware 是一個開源的自動駕駛軟件堆棧,提供了豐富的功能和模塊,用于實現自動駕駛車輛的感知、定位、規劃和控制等功能。北京渡眾機器人公司將多款自動駕駛小車在多場景運行Autoware ,它可以實現以下功能: 1. 感知:利…

Spark的性能調優——RDD

前言 RDD 是 Spark 對于分布式數據集的抽象,每一個 RDD 都代表著一種分布式數據形態。比如 lineRDD,它表示數據在集群中以行(Line)的形式存在;而 wordRDD 則意味著數據的形態是單詞,分布在計算集群中。 參…

職稱繼續教育--專業課2

單選題(共10題,每題3分) 1、根據本講,“水十條”總體框架包括()個層次。 C、5 2、根據“水十條”目標指標層,到2020年,地級及以上城市建成區的黑臭水體控制(&#xff09…

數據挖掘綜合案例-家用熱水器用戶行為分析與事件識別

文章目錄 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…

孵化器補貼政策提問模板

對于一些需要創業的人來說,找場地是非常非常難的,一個好的場地能夠提高創業的成功率,下面這些內容對于孵化器產業園的政策有一個好的提問,可以幫助你們了解這個孵化器合不合適。需要創業的人可以收藏 某孵化器政策示例 提問模板 …

源代碼先轉字節碼,再轉機器碼的過程

編程語言分類 1. 機器語言 直接使用 (101010) 二進制指令去編寫程序, 等于 直接操作硬件優點 : 最底層, 離計算機最近, 執行速度快缺點 : 復雜難記, 開發效率最低, 2. 匯編語言 用英文標簽代替一組二進制指令, 本質上仍然是 直接操作硬件優點 : 比較底層, 執行速度最快缺點 …

【競技寶】歐洲杯:德國被烏克蘭逼平,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語言什么打開?件后要及時關閉?

一、問題 對?件讀寫之前,需要使? fopen( ) 函數打開該?件:在使?完?件后,需要及時關閉?件。那么,為什么要及時關閉?件呢? 二、解答 ?件打開的過程是將存放在磁盤等外部設備上的?件讀?到內存中,以…

【第二節】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。 分析: 知識點: 實現鼠標拖動的上下滾動:當…