女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

深度解讀UFS 4.0的FBO特性

江波龍電子 ? 2022-09-22 10:26 ? 次閱讀

UFS簡介

UFS(Universal Flash Storage, 通用閃存存儲)協議是JEDEC為移動存儲設備制定的通訊接口協議,業界通常將基于UFS協議的移動存儲產品稱為UFS設備。UFS設備廣泛應用于智能手機、平板電腦VR(虛擬現實)設備、AR(增強現實)設備、無人機、3D游戲、監控系統、PDA、數字記錄器、MP3播放器、電子玩具等領域。

UFS是eMMC的替代者,它提供比eMMC更高的性能和能效比。圖1是eMMC和各代UFS的性能數據對比。

0f046c84-39e7-11ed-b180-dac502259ad0.jpg

(圖 1:eMMC和UFS最大帶寬)

從圖1可以看到,最新UFS 4.0的最大帶寬可達到4GB/s以上,是eMMC最大帶寬的10倍有余。目前eMMC已停止演進,而UFS正在慢慢取代eMMC。

UFS經歷幾次迭代,目前最新版本是UFS 4.0(2022年8月發布)。從圖1可以看到,每一次迭代,UFS性能都是在前一代的基礎上翻倍。UFS 4.0也不例外,它在UFS 3.0/3.1的基礎上性能翻倍,最大帶寬達到4GB/s以上。除此之外,UFS 4.0在UFS 3.0/3.1的基礎上,引入了一些新的特性,比如引入Barrier命令、高級RPMB、FBO等。今天我們將重點解讀FBO特性。

FBO,全稱為File Based Optimization,基于文件的優化,顧名思義,它是基于文件來做性能優化。在繼續FBO介紹之前,首先交代一下背景知識,了解什么是文件的邏輯碎片和物理碎片。

文件的邏輯碎片和物理碎片

對于一個文件來說,文件系統會為其分配若干個邏輯塊(Logical Block,用LBA尋址)用于存儲文件數據。當文件系統在為一個文件分配邏輯塊時,會盡量為其分配連續的邏輯塊,但如果分配不到所需的連續邏輯塊,則會分配不連續的塊。

0f14084c-39e7-11ed-b180-dac502259ad0.jpg

(圖 2:一個文件分配邏輯塊的兩個場景)

在這里,我們把LBA連續簡稱為“邏輯連續”。圖2場景1為“邏輯連續”,場景2則為“邏輯不連續”。一個文件的LBA如果“邏輯不連續”,通俗來講就是這個文件存在邏輯碎片化——該文件的LBA越離散,則表示其邏輯碎片化程度越高。

文件數據最終都是要存儲在存儲設備上,即這些邏輯塊(不管連續還是不連續)都是要寫到存儲設備的閃存物理塊上去。在設備端,如果沒有其它寫入命令插入,存儲設備會把上述文件數據寫入到連續的閃存空間里。


如圖3所示:

0f240cf6-39e7-11ed-b180-dac502259ad0.jpg

(圖 3:存儲設備把文件數據寫入到連續的閃存空間)

我們把文件的數據在閃存空間連續寫入的場景稱之為“物理連續”。

但主機端在寫入上述文件的時候,可能會混雜著其它的寫入,比如該文件元數據的寫入,或者其它文件數據的寫入,設備端按接收到的寫命令依次接收寫入數據,由于各種數據的穿插寫入,就可能導致上述文件的數據不是被連續寫到閃存空間。

如圖4所示:

0f34e86e-39e7-11ed-b180-dac502259ad0.jpg

(圖 4:存儲設備把文件數據寫入到不連續的閃存空間)

我們把文件數據在閃存空間不是連續寫入的場景稱之為“物理不連續”,通俗來講就是文件存在物理碎片化——一個文件的數據在閃存空間存儲越分散,則表示其物理碎片化程度越高。

值得一提的是,即使文件剛開始寫入到閃存是連續的,但由于后續存儲設備內部的一些操作,比如垃圾回收,也有可能導致文件數據最后存儲在閃存空間的位置不是連續的。

文件碎片化對性能的影響

對存儲設備(比如UFS設備)來說,由于一個LBA的數據可能存儲在閃存的任意一個物理位置,因此存儲設備需要維護一張邏輯地址到物理地址的映射關系表,即L2P映射表。L2P映射表是一個大的數組:索引為LBA,內容是該LBA在閃存的物理地址(簡稱為PBA)。當存儲設備要讀取數據時,首先查找L2P映射表獲得該LBA對應的PBA,然后根據該PBA讀取該LBA對應的數據。L2P映射表大小一般為存儲設備容量的1/1024,比如一個256GB的UFS設備,其L2P映射表大小為256MB。對消費級存儲設備來說,一般不帶DRAM所以L2P映射表數據大多數時間都是存儲在閃存中的,而存儲設備固件則按需加載部分L2P映射關系到小容量的SRAM中。

在訪問一個文件的時候,如果該文件的LBA是連續的:一方面,主機端只要發很少的命令到存儲設備,以圖2場景1為例,要讀該文件,只需要發一個讀取命令即可,而對圖2場景2,即文件存在邏輯碎片,要讀取該文件,主機端需要發三個讀取命令,增加了I/O命令的個數。I/O命令個數的增多,無論是對主機端軟件,還是設備端固件,都帶來了不小的負擔。另一方面,如果文件LBA連續,存儲設備從閃存設備一次加載4KB的L2P映射關系,就能滿足4MB的LBA數據訪問,相反,如果LBA不連續,則最壞情況是每讀一個LBA,存儲設備需要從閃存中加載一個4KB的映射關系,然而頻繁的L2P加載,將會嚴重影響存儲設備的讀取性能。

簡而言之,無論是主機端還是設備端,都是特別喜歡“邏輯連續”的,不喜歡文件邏輯碎片化。

那“物理連續”呢?很顯然,存儲設備也同樣“喜聞樂見”。原因在于讀取的時候,如果數據都集中在一起,一次讀可以使用多Plane操作,比如對4 Plane閃存來說,一次讀取可以獲得64KB數據。但這64KB數據如果不是物理連續——分散在閃存中的不同地方,則最壞情況下要讀取16次閃存(每個命令只讀取4KB)。

至此我們能得出的結論是:“邏輯連續”和“物理連續”都滿足的場景下,文件具有最好的讀取性能。但只要其中任何一個場景不滿足,文件讀取性能則會受影響,最終可能導致手機出現“卡頓”的問題。因此,文件讀取性能優化方向是避免或者減少文件邏輯碎片和物理碎片。

FBO特性

現在我們回到FBO特性上來。FBO作為UFS 4.0的一個擴展協議,概括下來就是:主機和設備一起配合,把文件數據從“物理不連續”轉換成“物理連續”,以提升文件數據的讀取性能。

具體來說,系統空閑的時候(比如夜深人靜的時候),主機把需要性能優化的某個(或某些)文件的LBA信息告訴存儲設備,讓存儲設備去檢查這些LBA在閃存塊上是否連續。設備會查詢這些LBA的映射關系,通過這些LBA在閃存上的物理地址,來分析該文件在閃存空間上是否物理連續,以及不連續的程度(物理碎片化程度),然后把這些信息返回給主機。主機根據設備反饋信息,來指示存儲設備下一步動作:如果該文件在閃存空間上很分散,就要叫存儲設備把這些不連續的數據塊都搬到連續的地方去。在設備接到指示后,便會執行數據的整理:將不連續的數據集中寫到新的連續閃存塊位置。FBO通過主機和設備的這種協作,就能夠解決文件數據在存儲空間的“碎片化”問題,從而改善文件的讀取性能。

0f42ef68-39e7-11ed-b180-dac502259ad0.jpg

(圖5:FBO把文件數據從物理不連續整理成物理連續)

FBO旨在解決文件物理碎片化問題。

FBO沒有解決的問題

FBO解決了文件的物理碎片化問題,即把“物理不連續”變成“物理連續”,但他沒有解決文件邏輯碎片化問題。有數據表明,文件“邏輯不連續”相比文件“物理不連續”,對文件性能影響更大,因此解決文件的邏輯碎片化問題顯得更為重要。

文件邏輯碎片化問題從古(HDD時代)至今(固態存儲時代)一直存在。業界對此做了不少努力。

首先是日志結構文件系統(log-structured file system)的出現,以F2FS(Flash Friendly File System,閃存友好文件系統)為代表。F2FS是專門為基于閃存的存儲設備而設計的文件系統,是手機中最常用的兩大文件系統之一(另一個是EXT4文件系統)。F2FS在為文件分配邏輯塊的時候,一般采用追加方式分配邏輯塊,即按順序分配;只有當存儲設備邏輯空間很滿的時候,才采用一種叫Threaded Logging的邏輯塊分配方式,這種方式可能為一個文件分配離散的邏輯塊。盡管如此,F2FS的出現,仍然大幅緩解了文件的邏輯碎片化問題。

其次是SSD中的ZNS(Zoned Namespace)技術,它把整個存儲空間劃分成若干個區塊(Zone),在區塊內部強制順序寫入。這對存儲設備來說是個好消息,它的L2P映射表可以變得很小(采用更大的映射粒度),因此L2P映射表可常駐內存,當固件在處理讀取命令的時候,能夠快速獲取LBA的物理地址,從而提升讀取性能。在制定UFS 4.0標準的過程中,業界很多企業建議把Zoned Storage的概念應用到UFS上來,但從結果來看,這個建議并沒有在UFS 4.0上被采納。但可以預見類似SSD的ZNS技術一定會出現在未來的某個UFS版本中。

點評FBO

雖然沒有解決文件邏輯碎片問題,但FBO解決了文件物理碎片問題,一定程度上能提升文件的讀取性能。如果考慮到類似F2FS文件系統的使用,即絕大多數文件的LBA是連續的,而現在有了FBO的加持,在手機上大文件的讀取性能將會得到改善,手機“越用越卡”的問題“可能”會得到解決。(為什么說“可能”?前面分析了影響文件系統性能最大因素是文件邏輯碎片化,如果文件邏輯碎片化問題沒有得到解決,FBO效果不會很好。)

俗話說“萬事有得必有失”,文件碎片整理需要從一個閃存塊把數據讀出來,然后集中寫到另外閃存塊,而FBO這種額外的寫會引入寫放大,影響存儲設備壽命。

另外,FBO是一種“亡羊補牢”的做法,即文件出現物理碎片,然后再將它們做整理。如果一開始存儲設備對文件的物理碎片化問題有針對性設計,即一開始就拒絕文件物理碎片的產生,那么FBO就失去了其意義。

導致文件物理碎片化主要有兩個原因:

1.由于各種數據混合著寫,某個文件的LBA數據一開始就有可能被寫到不連續的閃存空間;

2.還有就是有些存儲設備在設計上沒有意識到文件數據在閃存空間連續存放的意義,一些諸如垃圾回收的內部操作,可能會導致最初連續寫入的文件數據,被分散寫入到閃存空間,最終導致“物理不連續”。

如果知道物理碎片產生的原因,那么存儲設備就可以有針對性設計了。

比如存儲設備在算法上可以采用物理隔離的方式,將大尺寸數據寫入到一個閃存塊,而把小尺寸數據寫到另外一個閃存塊,這樣避免了因小尺寸元數據寫入,而導致大尺寸數據在物理空間上寫入不連續的情況。

或者一開始文件數據被不連續地寫入到閃存塊,但是在對這個閃存數據塊做垃圾回收的時候,將該閃存塊上連續的LBA數據寫到連續的新的物理塊上,從而達到類似FBO的功效。

江波龍Smart GC技術

江波龍UFS3.1在設計之初就意識到文件的物理碎片化問題,當研發團隊在設計垃圾回收算法時,不單只考慮到通過垃圾回收功能來回收閃存塊,還利用執行垃圾回收的時機同時完成“物理不連續”到“物理連續”的整理。我們把這種“畢其功于一役”的垃圾回收技術稱為Smart GC。

0f708400-39e7-11ed-b180-dac502259ad0.jpg

(圖6:Smart GC:設備執行垃圾回收的同時完成物理碎片整理)

Smart GC這項創新技術不僅解決了文件物理碎片化問題,改善了大文件的讀取性能,同時也避免了額外碎片整理對存儲設備壽命帶來的影響。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • UFS
    UFS
    +關注

    關注

    6

    文章

    109

    瀏覽量

    24801
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    ARM Mali GPU 深度解讀

    ARM Mali GPU 深度解讀 ARM Mali 是 Arm 公司面向移動設備、嵌入式系統和基礎設施市場設計的圖形處理器(GPU)IP 核,憑借其異構計算架構、能效優化和生態協同,成為全球移動
    的頭像 發表于 05-29 10:12 ?313次閱讀

    Arm 公司面向 PC 市場的 ?Arm Niva? 深度解讀

    面向 PC 市場的 ? Arm Niva ? 深度解讀 ? Arm Niva ? 是 Arm 公司為 PC 市場推出的核心計算平臺,屬于其“平臺優先”戰略的關鍵布局。作為 ? Arm 計算
    的頭像 發表于 05-29 09:56 ?293次閱讀

    Analog Devices LT6654 AMPS6-3.3器件參數特性解讀 EDA模型 數據手冊免費下載

    Analog Devices LT6654AMPS6-3.3器件參數特性解讀 EDA模型 數據手冊免費下載
    的頭像 發表于 05-27 11:03 ?188次閱讀
    Analog Devices LT6654 AMPS6-3.3器件參數<b class='flag-5'>特性</b><b class='flag-5'>解讀</b>  EDA模型 數據手冊免費下載

    RK3588參數與主要特性 RK3588數據手冊解讀

    RK3588參數與主要特性 RK3588數據手冊解讀
    的頭像 發表于 05-19 18:34 ?739次閱讀
    RK3588參數與主要<b class='flag-5'>特性</b>  RK3588數據手冊<b class='flag-5'>解讀</b>

    兆易創新人形機器人方案 深度解讀

    三個維度展開深度解讀: 一、核心產品型號與應用場景 (一)主控MCU:多場景精準適配 GD32H7系列(高性能計算) 代表型號 :GD32H75E(Cortex-M7內核,600MHz主頻) 特性 : 雙發射6級流水線架構+雙精
    的頭像 發表于 05-07 15:56 ?307次閱讀

    邊緣AI MPU深度盤點:品牌、型號與技術特性全解析

    邊緣AI MPU深度盤點:品牌、型號與技術特性全解析 隨著邊緣計算與人工智能的深度融合,邊緣AI MPU(微處理器)已成為支撐物聯網、智能制造、自動駕駛等場景的核心硬件。本文從品牌、型號、技術
    的頭像 發表于 04-30 17:27 ?1943次閱讀

    鎧俠UFS閃存解決方案及產品介紹

    文章來源:鼎芯無限UFS4.0特性UFS4.0為下一代智能手機和移動應用提供閃電般快速的存儲傳輸速度,使它們能夠充分利用5G移動網絡的高速率。UFS4.0采用
    的頭像 發表于 04-25 16:32 ?216次閱讀
    鎧俠<b class='flag-5'>UFS</b>閃存解決方案及產品介紹

    深度解讀 30KPA64A 單向 TVS:64V 擊穿機制與高效防護策略

    深度解讀 30KPA64A 單向 TVS:64V 擊穿機制與高效防護策略
    的頭像 發表于 02-24 13:52 ?271次閱讀
    <b class='flag-5'>深度</b><b class='flag-5'>解讀</b> 30KPA64A 單向 TVS:64V 擊穿機制與高效防護策略

    5G與AI融合發展:德明利UFS豐富移動存儲性能體驗

    隨著5G技術深入應用,輕薄化、專業化成為AI智能終端的新趨勢,UFS憑借其高集成度、多功能化成為高性能移動終端應用首選。閃存技術迭代升級使UFS在速度、效率和可擴展性上,應用拓展至汽車信息娛樂系統、工業自動化等多元應用場景,充分展現UF
    的頭像 發表于 01-21 09:40 ?538次閱讀
    5G與AI融合發展:德明利<b class='flag-5'>UFS</b>豐富移動存儲性能體驗

    EMMC與UFS的技術對比

    eMMC(Embedded Multi Media Card)與UFS(Universal Flash Storage)是兩種不同的存儲技術,它們在多個方面存在顯著的技術差異。以下是對eMMC
    的頭像 發表于 12-25 09:44 ?3573次閱讀

    開源鴻蒙5.0 Release版本關鍵特性解讀

    概述 開源鴻蒙 5.0 Release版本是開源鴻蒙操作系統的一個里程碑,在系統能力、性能優化等多個方面進一步增強。本文將從系統功能、性能優化,安全和隱私保護以及分布式能力等角度,解讀該版本的關鍵
    的頭像 發表于 12-23 13:58 ?1754次閱讀

    4G模組加解密藝術:通用函數的深度解讀

    今天是對加解密通用函數的深度解讀,我將詳細講解,建議收藏,不可錯過。
    的頭像 發表于 11-12 09:58 ?565次閱讀
    4G模組加解密藝術:通用函數的<b class='flag-5'>深度</b><b class='flag-5'>解讀</b>

    QLC UFS 4.0量產到來,端側AI加速智能終端UFS升級

    電子發燒友網報道(文/黃晶晶)近日,鎧俠宣布量產QLC UFS 4.0,這是業界首款基于QLC的UFS4.0產品,可用于智能手機和平板電腦,以及其他需要更高的存儲容量和性能的下一代應用包括 PC
    的頭像 發表于 11-08 01:08 ?3629次閱讀
    QLC <b class='flag-5'>UFS</b> <b class='flag-5'>4.0</b>量產到來,端側AI加速智能終端<b class='flag-5'>UFS</b>升級

    鎧俠量產四層單元QLC UFS 4.0閃存

    近日,鎧俠宣布成功量產業界首款采用四層單元(4LC)技術的QLC UFS 4.0閃存。這款新型閃存相較于傳統的TLC UFS,擁有更高的位密度,使其在存儲需求日益增長的移動應用程序領域具有更廣泛的應用前景。
    的頭像 發表于 10-31 18:22 ?2896次閱讀

    深度解讀 VCXO VG7050CDN:可變晶體振蕩器的卓越之選

    深度解讀 VCXO VG7050CDN:可變晶體振蕩器的卓越之選
    的頭像 發表于 07-24 10:58 ?600次閱讀