0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

深度解讀UFS 4.0的FBO特性

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

UFS簡介

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

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

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

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

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

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

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

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

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

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

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

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

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


如圖3所示:

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

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

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

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

如圖4所示:

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

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

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

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

文件碎片化對性能的影響

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

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

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

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

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

FBO特性

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

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

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

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

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

FBO沒有解決的問題

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

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

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

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

點評FBO

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

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

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

導(dǎo)致文件物理碎片化主要有兩個原因:

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

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

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

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

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

江波龍Smart GC技術(shù)

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

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

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • UFS
    UFS
    +關(guān)注

    關(guān)注

    6

    文章

    103

    瀏覽量

    23710
收藏 人收藏

    評論

    相關(guān)推薦

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

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

    鎧俠發(fā)布全新UFS 4.0閃存芯片,提供256GB至1TB多種容量選擇

    據(jù)了解,日本存儲巨頭鎧俠于近日宣布推出全新第四代UFS 4.0閃存顆粒。該系列閃存包含256GB、512GB及1TB三種容量版本,主要面向高端智能手機等新一代移動設(shè)備領(lǐng)域。
    的頭像 發(fā)表于 04-23 14:28 ?667次閱讀

    Flash存儲芯片:NOR Flash、NAND Flash、UFS和eMMC的比較與解析

    地位。本博客將詳細介紹Flash存儲芯片中的NOR Flash、NAND Flash、UFS和eMMC,分析它們的用途、優(yōu)缺點,并對其進行比較。   1.Nor Flash   1.1 用途特性
    發(fā)表于 04-03 12:05

    UFS4.0主控進入6nm,把握生成式AI脈動,廠商新品迭出

    進行升級。UFS4.0首先應(yīng)用于旗艦智能手機,UFS3.1也因其性價比滿足中低階智能設(shè)備的需求。在最近,我們看到許多存儲主控芯片廠商都推出了UFS解決方案,布局智能手機等市場。 ? 群聯(lián) 群聯(lián)電子在1月一口氣發(fā)布了四款全新的
    的頭像 發(fā)表于 03-23 01:09 ?3120次閱讀
    <b class='flag-5'>UFS4.0</b>主控進入6nm,把握生成式AI脈動,廠商新品迭出

    三星半導(dǎo)體UFS新品即將來襲,UFS 4.0UFS 5.0即將推出

    UFS 4.0的技術(shù)升級令人矚目。與舊版本相比,其通道數(shù)量翻倍,從原先的2路升至4路,如同拓寬的高速公路,讓數(shù)據(jù)傳輸通道更為暢通,能夠并行處理更多數(shù)據(jù)流。
    的頭像 發(fā)表于 03-21 15:31 ?1229次閱讀

    三星發(fā)布UFS 4.0UFS 5.0產(chǎn)品規(guī)劃,順序讀取速度提升至8GB/s

    隨著端側(cè)人工智能的崛起,智能手機市場對UFS技術(shù)也提出更高要求??紤]到大語言模型在未來的應(yīng)用前景,提升UFS接口速度迫在眉睫。
    的頭像 發(fā)表于 03-21 10:51 ?1440次閱讀

    美光推出增強版通用閃存(UFS)4.0移動解決方案

    美光科技股份有限公司近日宣布推出其增強版通用閃存(UFS4.0移動解決方案,標志著手機存儲技術(shù)的新里程碑。這一方案不僅具備創(chuàng)新的專有固件功能,還采用了業(yè)界領(lǐng)先的緊湊型UFS封裝(9 x 13mm),為智能手機市場帶來了前所未有
    的頭像 發(fā)表于 03-01 09:41 ?487次閱讀

    生成式 AI令智能手機UFS4.0進階

    參數(shù),大多數(shù)機型的閃存都配置了512GB這一容量。 ? 在閃存規(guī)格上,主要為UFS4.0。UFS是一種允許設(shè)備同時讀取和寫入的全雙工接口,并且在標準層面能幫助設(shè)備以更低的功耗實現(xiàn)高速讀寫,UFS4.0理論速度達到4,640MB/
    的頭像 發(fā)表于 03-01 00:16 ?4916次閱讀
    生成式 AI令智能手機<b class='flag-5'>UFS4.0</b>進階

    美光推出緊湊封裝型 UFS 4.0,助力下一代智能手機設(shè)計搭載更大容量電池

    2024 年 2 月 28 日,中國上海 –Micron Technology, Inc.(美光科技股份有限公司,納斯達克股票代碼:MU)宣布開始送樣增強版通用閃存(UFS4.0 移動解決方案,該
    的頭像 發(fā)表于 02-29 16:46 ?387次閱讀
    美光推出緊湊封裝型 <b class='flag-5'>UFS</b> <b class='flag-5'>4.0</b>,助力下一代智能手機設(shè)計搭載更大容量電池

    美光推出業(yè)界領(lǐng)先的增強版通用閃存UFS 4.0移動解決方案

    2024 年 2 月28日,Micron Technology, Inc.(美光科技股份有限公司,納斯達克股票代碼:MU)今日宣布開始送樣增強版通用閃存(UFS4.0 移動解決方案,該方案具有突破性專有固件功能并采用業(yè)界領(lǐng)先的緊湊型
    的頭像 發(fā)表于 02-28 10:58 ?467次閱讀

    鎧俠正式發(fā)布業(yè)界首款車載UFS 4.0嵌入式閃存

    存儲器解決方案的全球領(lǐng)導(dǎo)者鎧俠株式會社宣布,該公司已開始提供業(yè)界首款面向車載應(yīng)用的通用閃存(UFS)4.0版嵌入式閃存設(shè)備的樣品。
    的頭像 發(fā)表于 02-22 16:21 ?849次閱讀

    UFS 3.1誤傳為4.0,一加 12R 256GB版退款,UFS4.0持續(xù)走向主流

    近日,一加官方對外宣布,一加 12R 所有機型均配備 UFS 3.1,因之前UFS 3.1誤傳為4.0 一加 12R 256GB版開放全額退款。具體操作可以咨詢客戶服務(wù),截止日期為 2024 年 3
    的頭像 發(fā)表于 02-20 18:24 ?3833次閱讀
    <b class='flag-5'>UFS</b> 3.1誤傳為<b class='flag-5'>4.0</b>,一加 12R 256GB版退款,<b class='flag-5'>UFS4.0</b>持續(xù)走向主流

    Kioxia推出業(yè)界首款面向汽車應(yīng)用的UFS 4.0版嵌入式閃存器件

    全球領(lǐng)先的存儲解決方案提供商Kioxia Corporation今天宣布推出[1]業(yè)界首款[2]面向汽車應(yīng)用的通用閃存[3](UFS) 4.0版嵌入式閃存器件樣品。這些性能更高的新型器件封裝小巧
    的頭像 發(fā)表于 01-31 18:19 ?441次閱讀

    ufs3.1和ufs4.0有什么區(qū)別?ufs4.0ufs3.1實際使用區(qū)別

    ufs3.1和ufs4.0有什么區(qū)別?ufs4.0ufs3.1實際使用區(qū)別? UFS是一種高速、節(jié)能、可靠的非易失性存儲器,旨在提供更快的
    的頭像 發(fā)表于 01-17 11:05 ?2.4w次閱讀

    UFS 4.0是如何幫助手機加速的?

    存儲的讀寫性能更是在其中占據(jù)了重要因素。有意思的是,新發(fā)售的智能手機中,大多數(shù)都不約而同的選擇了UFS 4.0*1存儲方案。那么UFS 4.0是如何改變移動端的使用體驗,又為何可以受到
    的頭像 發(fā)表于 01-08 10:58 ?880次閱讀
    <b class='flag-5'>UFS</b> <b class='flag-5'>4.0</b>是如何幫助手機加速的?