你的位置:首頁 > 互連技術(shù) > 正文

分區(qū)存儲(chǔ)助力QLC應(yīng)用到嵌入式存儲(chǔ)設(shè)備

發(fā)布時(shí)間:2023-02-14 來源:江波龍電子 責(zé)任編輯:lina

【導(dǎo)讀】目前應(yīng)用在移動(dòng)終端的嵌入式存儲(chǔ)設(shè)備(這里主要指UFS/eMMC等,以下統(tǒng)稱“嵌入式存儲(chǔ)設(shè)備”)中主流介質(zhì)還是TLC。但更高存儲(chǔ)密度的QLC也已經(jīng)產(chǎn)品化,比如一些數(shù)據(jù)中心(讀密集型應(yīng)用)已經(jīng)在部署QLC存儲(chǔ)設(shè)備。QLC可以給存儲(chǔ)設(shè)備帶來更低的成本,作為消費(fèi)級產(chǎn)品的嵌入式存儲(chǔ)設(shè)備,未來引入QLC也是勢在必行。

 

背景


目前應(yīng)用在移動(dòng)終端的嵌入式存儲(chǔ)設(shè)備(這里主要指UFS/eMMC等,以下統(tǒng)稱“嵌入式存儲(chǔ)設(shè)備”)中主流介質(zhì)還是TLC。但更高存儲(chǔ)密度的QLC也已經(jīng)產(chǎn)品化,比如一些數(shù)據(jù)中心(讀密集型應(yīng)用)已經(jīng)在部署QLC存儲(chǔ)設(shè)備。QLC可以給存儲(chǔ)設(shè)備帶來更低的成本,作為消費(fèi)級產(chǎn)品的嵌入式存儲(chǔ)設(shè)備,未來引入QLC也是勢在必行。


但和當(dāng)前主流TLC相比,QLC在性能和壽命上都相差很大,從下面某原廠TLC和QLC在性能和壽命方面的一個(gè)對比可見一斑。


分區(qū)存儲(chǔ)助力QLC應(yīng)用到嵌入式存儲(chǔ)設(shè)備

(Table 1:某原廠TLC和QLC性能和壽命對比)


因此,QLC要應(yīng)用在嵌入式存儲(chǔ)設(shè)備上,首先需要解決性能差和壽命短兩大問題。


雖然QLC還不到TLC的1/4寫入性能,但目前消費(fèi)級固態(tài)存儲(chǔ)產(chǎn)品都有成熟的SLC cache機(jī)制,能保證用戶有比較好的突發(fā)寫入性能(寫SLC的性能)。由于嵌入式存儲(chǔ)設(shè)備有比較充裕的空閑時(shí)間,存儲(chǔ)設(shè)備可以利用空閑時(shí)間把數(shù)據(jù)從SLC搬到QLC,只要不是重度寫入場景,這部分QLC寫入性能,用戶一般感知不到。


但數(shù)據(jù)一旦寫到QLC,對比TLC,用戶讀取性能變差。針對這個(gè)讀取性能差的問題,有一種方案是把熱數(shù)據(jù)(經(jīng)常讀取)寫回SLC,但這樣無疑增加了設(shè)備復(fù)雜性,而且數(shù)據(jù)搬移帶來了額外的寫放大,這讓壽命本來就不長的QLC“雪上加霜”。


如果說性能問題可以通過SLC解決或者緩解,那對于QLC壽命問題,在分區(qū)存儲(chǔ)引入之前,可能的解決方案有:用戶端使用類F2FS文件系統(tǒng)和使用數(shù)據(jù)分流。


F2FS文件系統(tǒng)化隨機(jī)寫為順序?qū)?,這會(huì)減少存儲(chǔ)設(shè)備內(nèi)部垃圾回收導(dǎo)致的寫放大,但F2FS文件系統(tǒng)本身的垃圾回收,會(huì)給存儲(chǔ)設(shè)備帶來額外的寫。綜合下來,F(xiàn)2FS文件系統(tǒng)給設(shè)備帶來的寫放大不一定減少。


數(shù)據(jù)分流需要主機(jī)和設(shè)備配合:主機(jī)端對數(shù)據(jù)進(jìn)行冷熱甄別,設(shè)備端根據(jù)數(shù)據(jù)的冷熱程度把它們存儲(chǔ)在不同的閃存塊上。數(shù)據(jù)分流能一定程度上減少存儲(chǔ)設(shè)備寫放大,但具體能帶來多大收益,這取決于用戶冷熱數(shù)據(jù)的比例,因此有一定的局限性。


今天要介紹減小寫放大的終極大招——分區(qū)存儲(chǔ)(Zoned Storage),它能消除QLC和TLC壽命之間的差異,而且能提升存儲(chǔ)設(shè)備性能,讓QLC應(yīng)用到嵌入式存儲(chǔ)設(shè)備上變得可能。


什么是分區(qū)存儲(chǔ)?


分區(qū)存儲(chǔ)概念最早來源于SMR HDD。SMR是“Shingled Magnetic Recording”(疊瓦式磁記錄)的首字母縮寫,是一種用于增加容量并降低硬盤每TB成本的重要技術(shù)。SMR硬盤把硬盤分成一個(gè)個(gè)的分區(qū)(Zone),每個(gè)分區(qū)內(nèi)部必須順序?qū)懀駝t會(huì)發(fā)生數(shù)據(jù)覆蓋從而導(dǎo)致之前寫入的數(shù)據(jù)丟失問題。


分區(qū)存儲(chǔ)助力QLC應(yīng)用到嵌入式存儲(chǔ)設(shè)備

(Figure 1:SMR HDD)


分區(qū)存儲(chǔ)設(shè)備的邏輯空間被劃分成一個(gè)個(gè)連續(xù)的分區(qū),分區(qū)內(nèi)部只能被順序?qū)懭?。每個(gè)分區(qū)都有一個(gè)寫指針,用于跟蹤下一次寫入的位置。分區(qū)中的數(shù)據(jù)不能被覆蓋,必須首先使用特殊命令(區(qū)域重置)擦除數(shù)據(jù)。


分區(qū)存儲(chǔ)助力QLC應(yīng)用到嵌入式存儲(chǔ)設(shè)備

(Figure 2:分區(qū)存儲(chǔ)概念)


除了HDD,基于閃存的固態(tài)存儲(chǔ)設(shè)備,也是非常喜歡順序?qū)懭氲?,因?yàn)轫樞驅(qū)懶阅芎茫覍?dǎo)致的寫放大也小?!白屩鳈C(jī)端順序?qū)懭搿币恢笔枪虘B(tài)存儲(chǔ)設(shè)備的夢想,在SMR HDD助力下,分區(qū)存儲(chǔ)生態(tài)日趨完善,NVMe也制定了ZNS(Zoned Namespace)標(biāo)準(zhǔn),SSD也算是“圓夢”了。


分區(qū)存儲(chǔ)帶來的好處


分區(qū)存儲(chǔ)帶來的一大好處就是能消除存儲(chǔ)設(shè)備內(nèi)部的垃圾回收。存儲(chǔ)設(shè)備垃圾回收會(huì)導(dǎo)致兩個(gè)主要問題:一是引入寫放大,導(dǎo)致存儲(chǔ)設(shè)備壽命減少;二是垃圾回收的同時(shí)如果伴有主機(jī)讀寫,垃圾回收操作則會(huì)影響主機(jī)讀寫性能。

分區(qū)存儲(chǔ)助力QLC應(yīng)用到嵌入式存儲(chǔ)設(shè)備

(Figure 3:垃圾回收示例)


垃圾回收原理:為騰出空閑閃存塊,需要把有效數(shù)據(jù)A、B、C從源閃存數(shù)據(jù)塊搬到新的閃存塊,內(nèi)部數(shù)據(jù)的搬移引入寫放大。寫放大 = 寫入閃存的數(shù)據(jù)量/主機(jī)寫入的數(shù)據(jù)量,寫放大越大,對閃存磨損越厲害。


分區(qū)存儲(chǔ)怎么就能消除存儲(chǔ)設(shè)備垃圾回收的呢?


如果分區(qū)大小是存儲(chǔ)設(shè)備閃存塊大小的整數(shù)倍,這樣一個(gè)分區(qū)的數(shù)據(jù)會(huì)被寫到閃存設(shè)備的整數(shù)個(gè)閃存塊內(nèi)。由于分區(qū)不允許覆蓋寫,一個(gè)分區(qū)數(shù)據(jù)只能被整體無效掉,也就是意味著該分區(qū)對應(yīng)的閃存塊也是整體被無效掉(上面沒有任何有效數(shù)據(jù)),因此存儲(chǔ)設(shè)備內(nèi)部回收閃存塊無需垃圾回收——只需要一個(gè)擦除動(dòng)作。


傳統(tǒng)垃圾回收由于需要搬移閃存塊上的有效數(shù)據(jù),會(huì)導(dǎo)致寫放大。還有,為減小寫放大和加速垃圾回收,存儲(chǔ)設(shè)備都會(huì)預(yù)留一些閃存空間(也就是我們常說的OP),以減少閃存塊上有效數(shù)據(jù)數(shù)量?,F(xiàn)在分區(qū)存儲(chǔ)設(shè)備中由于不存在垃圾回收,因此沒有寫放大,同時(shí)這部分OP也可以省掉了(節(jié)省成本)。


分區(qū)存儲(chǔ)助力QLC應(yīng)用到嵌入式存儲(chǔ)設(shè)備

(Figure 4:傳統(tǒng)SSD數(shù)據(jù)存放和分區(qū)SSD數(shù)據(jù)存放比較)


分區(qū)存儲(chǔ)帶來的另一大好處就是大大減少了映射表大小,從而提升系統(tǒng)性能,減少存儲(chǔ)設(shè)備成本。


基于閃存的傳統(tǒng)存儲(chǔ)設(shè)備一般按4KB邏輯塊大小為映射粒度,其L2P映射表(邏輯地址到物理地址的映射)大小一般為存儲(chǔ)設(shè)備容量的1/1024,比如一個(gè)512GB的UFS設(shè)備,其L2P映射表大小為512MB。企業(yè)級SSD一般都配有相應(yīng)大小的DRAM來存儲(chǔ)運(yùn)行時(shí)的L2P映射表,比如512GB的企業(yè)級SSD需要搭載至少512MB的DRAM;而業(yè)界消費(fèi)級存儲(chǔ)設(shè)備則是出于成本考慮,一般都沒有DRAM,它利用控制器小的SRAM緩存部分L2P映射表,而絕大多數(shù)L2P映射表都是存在閃存,固件按需從閃存加載映射關(guān)系數(shù)據(jù)到控制器SRAM。這種DRAM-less的存儲(chǔ)設(shè)備,與帶DRAM的存儲(chǔ)設(shè)備相比,少了DRAM的成本,但性能無疑會(huì)大打折扣,因?yàn)榭刂破鱏RAM大小有限,對隨機(jī)讀取場景來說,映射表緩存命中率很低,固件很多時(shí)候需要先從閃存加載映射關(guān)系,然后再根據(jù)獲得的物理地址去讀用戶數(shù)據(jù),也就是說讀取一筆數(shù)據(jù)需要訪問幾次閃存,意味著讀取性能肯定比只訪問一次閃存要慢得多。


問題的根因是傳統(tǒng)存儲(chǔ)設(shè)備映射粒度太細(xì)了,導(dǎo)致映射表巨大。而分區(qū)存儲(chǔ)設(shè)備,我們可以按照分區(qū)大小為映射粒度。假設(shè)分區(qū)大小為128MB,一個(gè)512GB的設(shè)備有4096個(gè)分區(qū),每個(gè)分區(qū)對應(yīng)的物理地址用4字節(jié)表示,那么整個(gè)L2P映射表只有16KB!這么小的映射表完全可以存儲(chǔ)在控制器SRAM中,因此在企業(yè)級SSD中可節(jié)省DRAM的使用;對消費(fèi)級存儲(chǔ)產(chǎn)品來說,L2P映射表可以常駐內(nèi)存,無需從閃存中獲取映射關(guān)系,讀取一筆數(shù)據(jù)只需訪問一次閃存,這大大加速了隨機(jī)讀取性能。


分區(qū)存儲(chǔ)助力QLC應(yīng)用到嵌入式存儲(chǔ)設(shè)備

(Table 2:傳統(tǒng)存儲(chǔ)設(shè)備和分區(qū)存儲(chǔ)設(shè)備映射對比)


分區(qū)存儲(chǔ)助力QLC嵌入式存儲(chǔ)設(shè)備


回到QLC應(yīng)用到嵌入式存儲(chǔ)設(shè)備的話題。


在傳統(tǒng)嵌入式存儲(chǔ)設(shè)備中,垃圾回收一般會(huì)引入3-4的寫放大,即一個(gè)3000次擦寫次數(shù)的TLC閃存,真正給到用戶的擦寫次數(shù)可能不到1000次。而分區(qū)存儲(chǔ)的使用,由于不存在垃圾回收,因此寫放大可以做到接近1,也就是一個(gè)1500次擦寫次數(shù)的QLC,給到用戶就是實(shí)打?qū)嵉?500次。這意味著:傳統(tǒng)用3000次擦寫次數(shù)TLC的存儲(chǔ)設(shè)備,假設(shè)TBW為100TB,現(xiàn)在如果用QLC,雖然QLC的擦寫次數(shù)只有TLC的一半,但由于分區(qū)存儲(chǔ)的使用,TBW反而能提升到150TB。


對分區(qū)存儲(chǔ)設(shè)備,由于L2P映射表很小,完全能夠存放在控制器SRAM,因此可快速更新和獲取映射關(guān)系,從而大幅提升系統(tǒng)讀寫性能。傳統(tǒng)基于TLC的嵌入式存儲(chǔ)設(shè)備,在隨機(jī)讀取一筆數(shù)據(jù)(4KB)的時(shí)候,由于L2P映射緩存很小(幾百KB),固件大概率要先從閃存上加載L2P映射關(guān)系,這個(gè)時(shí)間大概40us左右,然后再花60us左右的時(shí)間從閃存加載用戶數(shù)據(jù)——隨機(jī)讀取一筆數(shù)據(jù)的時(shí)間大概需要花100us左右;而現(xiàn)在基于分區(qū)存儲(chǔ)的嵌入式存儲(chǔ)設(shè)備,由于省掉了加載映射關(guān)系的時(shí)間,雖然讀取閃存的時(shí)間QLC要比TLC長,但總的時(shí)間下來,兩者是相當(dāng)?shù)摹?/p>


由于分區(qū)存儲(chǔ)設(shè)備的使用,再加上成熟的SLC緩存機(jī)制,這兩大特性彌補(bǔ)了QLC壽命短和性能差兩大短板,讓QLC應(yīng)用到嵌入式存儲(chǔ)設(shè)備上變得可行?,F(xiàn)在典型的嵌入式存儲(chǔ)設(shè)備為UFS設(shè)備,如果引入了分區(qū)存儲(chǔ),像UFS中的HPB、FBO等特性完全可以拋棄,這也無疑簡化了UFS設(shè)備的設(shè)計(jì)。


嵌入式存儲(chǔ)設(shè)備技術(shù)展望

前端接口協(xié)議方面,應(yīng)用于安卓平臺上的嵌入式存儲(chǔ)設(shè)備當(dāng)前主流是UFS設(shè)備,相信未來很長一段時(shí)間也會(huì)沿著UFS路線繼續(xù)向前。UFS4.0協(xié)議今年8月份發(fā)布,三星早前也發(fā)布了UFS4.0存儲(chǔ)設(shè)備。

分區(qū)存儲(chǔ)助力QLC應(yīng)用到嵌入式存儲(chǔ)設(shè)備

(Figure 5:嵌入式存儲(chǔ)協(xié)議發(fā)展路線)


存儲(chǔ)介質(zhì)方面,作為消費(fèi)級產(chǎn)品,嵌入式存儲(chǔ)設(shè)備對成本敏感,隨著QLC閃存的成熟,QLC必然會(huì)應(yīng)用到未來的嵌入式存儲(chǔ)設(shè)備上,無論是廠商還是消費(fèi)者,都要做好這個(gè)心理準(zhǔn)備。事實(shí)上,今年(2022年)年初鎧俠已經(jīng)發(fā)布了基于QLC的UFS3.1產(chǎn)品。

QLC應(yīng)用到嵌入式存儲(chǔ)設(shè)備上,要讓消費(fèi)者用得放心,這需要相關(guān)的技術(shù)來解決QLC介質(zhì)可靠性差、壽命短、性能差等問題。因此在技術(shù)趨勢方面,一方面是嵌入式存儲(chǔ)控制器糾錯(cuò)能力需要變得越來越強(qiáng);另一方面,像數(shù)據(jù)分流、分區(qū)存儲(chǔ)這些能減小寫放大的技術(shù)也會(huì)被引入,來彌補(bǔ)QLC壽命短這塊短板。

目前,江波龍具有基于主流3D TLC閃存的豐富的嵌入式存儲(chǔ)產(chǎn)品,從eMMC到高性能UFS3.1,從消費(fèi)級存儲(chǔ)到車規(guī)級存儲(chǔ),產(chǎn)品矩陣全面。同時(shí),公司也在思考怎么把存儲(chǔ)密度更高的QLC應(yīng)用到嵌入式存儲(chǔ)產(chǎn)品上,并開展相關(guān)技術(shù)預(yù)研工作。未來,江波龍會(huì)持續(xù)給客戶帶來更多超越期望的嵌入式存儲(chǔ)產(chǎn)品。

(來源:江波龍電子)


免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請聯(lián)系小編進(jìn)行處理。


推薦閱讀:

對照一下,你了解幾種電阻?

兩個(gè)低壓差線性穩(wěn)壓器創(chuàng)建極其緊湊的三路輸出解決方案

如何加快和改進(jìn)濾波器設(shè)計(jì)的解決方法

負(fù)降壓轉(zhuǎn)換器無需電感器

LT3761 LED驅(qū)動(dòng)器精確的PWM LED調(diào)光功能


特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
?

關(guān)閉

?

關(guān)閉