《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 解決方案 > 分區(qū)存儲助力QLC應用到嵌入式存儲設備

分區(qū)存儲助力QLC應用到嵌入式存儲設備

2023-02-14
來源:江波龍

  

       背景

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

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

1.png


  因此,QLC要應用在嵌入式存儲設備上,,首先需要解決性能差和壽命短兩大問題,。

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

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

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

  F2FS文件系統(tǒng)化隨機寫為順序寫,,這會減少存儲設備內部垃圾回收導致的寫放大,但F2FS文件系統(tǒng)本身的垃圾回收,,會給存儲設備帶來額外的寫,。綜合下來,F(xiàn)2FS文件系統(tǒng)給設備帶來的寫放大不一定減少,。

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

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

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

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

微信截圖_20230214090849.png

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

微信截圖_20230214090858.png

  除了HDD,基于閃存的固態(tài)存儲設備,,也是非常喜歡順序寫入的,,因為順序寫性能好,而且導致的寫放大也小,。“讓主機端順序寫入”一直是固態(tài)存儲設備的夢想,,在SMR HDD助力下,,分區(qū)存儲生態(tài)日趨完善,NVMe也制定了ZNS(Zoned Namespace)標準,,SSD也算是“圓夢”了,。

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

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

微信截圖_20230214090904.png

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

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

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

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

微信截圖_20230214090910.png

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

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

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

微信截圖_20230214090916.png

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

  回到QLC應用到嵌入式存儲設備的話題,。

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

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

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

  嵌入式存儲設備技術展望

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

微信截圖_20230214090922.png

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

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

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

敬請關注電子技術應用2023年2月22日==>>商業(yè)航天研討會<<


微信圖片_20230210170337.jpg

本站內容除特別聲明的原創(chuàng)文章之外,,轉載內容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點。轉載的所有的文章,、圖片,、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者,。如涉及作品內容,、版權和其它問題,請及時通過電子郵件或電話通知我們,,以便迅速采取適當措施,,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。