高速率儲存器UFS
導讀 | 隨著智慧手機的快速發展,手機已經變成了一種生活中的必需品。人們對於智慧手機的要求也越來越高。卓越的手機效能可以給使用者帶來指尖跳舞的感覺。為了滿足這種需求,各大廠家對手機的CPU,記憶體,儲存裝置都投入了大量的研發。 |
隨著智慧手機的快速發展,手機已經變成了一種生活中的必需品。人們對於智慧手機的要求也越來越高。卓越的手機效能可以給使用者帶來指尖跳舞的感覺。為了滿足這種需求,各大廠家對手機的CPU,記憶體,儲存裝置都投入了大量的研發。現在CPU和記憶體的發展已經是相當地迅速,執行速度在成倍增長。但是傳統的儲存裝置執行速度已經遠遠落後於CPU和記憶體。高速的CPU和記憶體搭配低速的儲存裝置,就像是大牛拉小車發揮不出自己的優勢。所以對於快速儲存裝置的需求尤為迫切,從而有了UFS(Universal Flash Storage)的誕生。
說起UFS,必須要講講它的前輩eMMC。eMMC是一種嵌入式多媒體卡,是由JEDEC協會所制定的一種嵌入式非易失性儲存器。它採用並行傳輸技術,讀寫必須分開執行,雖然僅提供單路讀寫功能,但仍具備體積小、高度整合與低複雜度的優勢。目前最新的 eMMC 5.1 標準,連續讀取速度約為 250MB/s。
UFS最早是由JEDEC在2011年推出的,採用全新的序列傳輸技術,可同時讀寫操作。第一代 UFS 由於與當時 eMMC 標準速度差異不大,且成本較為高昂,因此並未成功普及。直至 2014 年 UFS 2.0 標準問世後,連續讀取速度約達 800MB/s,UFS 才成為 Android 旗艦手機逐漸採用的標準配置。目前最新的 UFS 3.1 標準,連續讀取速度約為 1,700MB/s。這時,UFS的傳輸速度已遠遠領先於eMMC。
上圖分別是用AndroBench實測的UFS和eMMC的讀寫速率。新手機發布後,很多手機測評自媒體都會使用AndroidBench測試手機的讀寫速率來判斷其效能。對於AndroBench所測的資料,業內也是比較認可的。從圖1和圖2來看,UFS的速率是eMMC的兩倍,但也不難發現,這一速率和理想的資料還是有差距的。理想總歸是理想,實際的速率還要結合整機的效能。
為什麼UFS的速率要高於eMMC?具體有兩方面的原因:
UFS是差分序列傳輸,與單端訊號傳輸相比,差分訊號抗干擾能力強,能提供更寬的頻寬處理,速度更快。eMMC使用的是並行資料傳輸。並行最大的問題是速度上不去,因為一旦時鐘上去,干擾就變大,訊號完整性無法保證。
好的器件如果沒有優良的上層軟體(firmware)就相當於法拉利不加98號汽油,再好也跑不快。eMMC和UFS的協議都是由JEDEC制定的,器件廠家根據協議來設計器件。eMMC的通訊方式是半雙工的,讀寫不能同時進行。UFS是全雙工通訊,讀寫是可以同時進行的。簡單來說,eMMC的通訊方式是一種應答式的,host傳送資料給eMMC 需要等eMMC應答之後才可以繼續傳送資料。UFS則不一樣,host只管向UFS傳送資料誰先完成誰先返回狀態不需要等待。所以,速度就會比eMMC要快,如圖3。
整個UFS協議棧可以分為三層:應用層(UFS Application Layer(UAP)),傳輸層(UFS Transport Layer(UTP)),鏈路層(UIC InterConnect Layer(UIC))。應用層發出SCSI (UFS沒有自己的 使用的是簡化的SCSI命令),在傳輸層將SCSI分裝為UPIU,再經過鏈路層將命令傳送給Devices。下面分別介紹這三層:
- UFS command set(UCS):使用的命令是簡化的SCSI命令(SCSI Primary Command(SPC),SCSI Block Command(SBC)),如讀寫命令等。
- Device Manager: 用於管理UFS裝置、裝置集操作(對裝置的工作模式或狀態進行控制),裝置集配置(對裝置硬體屬性進行設定)。
- Task Manager:工作管理員用於管理命令佇列中的命令。比如工作管理員可以發Abort命令,終止之前發下去的命令。它也可以清空命令佇列中的所有命令。
這一層是JEDEC協議制定的,其他兩層都是引用別人的協議。這一層也是UFS最重要的一層。在這一層將應用層的SCSI命令封裝為 UFS可以識別的UPIU(固定格式的資料結構,用以傳輸應用層發來的命令或者請求),通過互聯層到Devices實現端到端的資料傳輸。
最小的UPIU是32位元組,根據不同的Transaction Type這個大小也是不同的。0~11是12位元組的幀頭。具體的UPIU型別和12位元組的幀頭可以參考“JESD220D_UFS3.0”,這裡就不在贅述。
主要包括MIPI UniPro 資料鏈路層和MIPI M-PHY 物理層。其中,MIPI UniPro 資料鏈路層負責主機和裝置的連結,它本身是一個完整的協議棧;MIPI M-PHY 物理層負責傳輸實實在在的物理訊號,使用8/10編碼、差分訊號序列資料傳輸。資料傳輸分高低速模式,每種模式下又有幾種不同的速度檔。
UFS的整個架構要比eMMC的複雜,有些知識點可以用晦澀難懂來形容。十分考驗個人的功底。UFS的整個系統很龐大,本文只是一個入門的介紹,如果想深入去學習,建議先啃協議,後續結合協議看程式碼。
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2893904/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【知識分享】計算機“儲存容量”、“速率”計算機
- 5G時代,eMMC5.1會被UFS3.0、UFS2.7儲存晶片完全取代嗎?S3晶片
- 儲存器
- 為什麼說UFS儲存晶片是手機儲存的未來?宏旺半導體一文解析晶片
- 基於 NVMe SSD 的分散式檔案儲存 UFS 效能提升技術解析分散式
- 主儲存器
- 外部儲存器
- k8s之資料儲存-高階儲存K8S
- 傳統儲存器和新興儲存器應用
- 20932虛擬儲存器
- 只讀儲存器ROM
- 儲存器的知識
- 嵌入式中常見的儲存器總結(一)儲存器分類
- UFS系列9:UFS資料安全
- 塊儲存 檔案儲存 物件儲存物件
- 資料成本:雲端儲存成本高嗎如何節省資料儲存成本
- 醫療刺激裝置如何使用外部儲存器來支援高階功能
- SRAM是什麼儲存器
- Flash儲存器的故障特徵特徵
- 常見儲存器分類
- 瀏覽器儲存的方法瀏覽器
- 資料儲存(1):從資料儲存看人類文明-資料儲存器發展歷程
- 儲存—物件儲存_Minio物件
- 如何延長儲存伺服器上資料的儲存時間?伺服器
- 新UFS控制器家族可為移動裝置提供新一代高效能、大容量嵌入式儲存解決方案
- 儲存器的層次結構
- 伺服器資料的儲存伺服器
- 第5章 虛擬儲存器
- 非易失性儲存器EEPROM
- 【計組】3.7 虛擬儲存器
- 雲原生儲存編排器Rook
- 行式儲存 列式儲存
- MySQL高階10-InnoDB引擎儲存架構MySql架構
- 儲存器、I/O組織、微處理器
- 資料儲存--檔案儲存
- 三星S10國行配置曝光:驍龍8150+3190mAh電池 無緣UFS3.0儲存S3
- MySQL 高階 | 用儲存過程、定時器、觸發器來解決資料分析問題MySql儲存過程定時器觸發器
- 物件儲存 vs 檔案儲存 vs 塊儲存,選哪個?物件