1. 從Flash系統的性能提升說(shuō)起
從SD卡、手機、平板等消費級產(chǎn)品到數據中心企業(yè)級場(chǎng)景,NAND Flash憑借其高性能、大容量、低功耗以及低成本等特性大受歡迎,是目前應用最為廣泛的半導體非易失存儲介質(zhì)。為了滿(mǎn)足業(yè)務(wù)場(chǎng)景越來(lái)越嚴苛的性能要求,人們想了許多方法來(lái)提升基于NAND Flash的系統性能,具體可分為以下幾類(lèi):
圖一 Flash系統性能提升概覽
- 提升總線(xiàn)頻率,優(yōu)化AC Timing:在滿(mǎn)足可靠傳輸的基礎上,提升NAND Flash總線(xiàn)頻率,盡可能使用較小的時(shí)序參數進(jìn)行操作。特別是在Page Size越來(lái)越大(2K 4K 8K 16KB)的情況下,優(yōu)化時(shí)序參數從而減小數據在總線(xiàn)上的傳輸時(shí)間顯得尤為重要,這也是過(guò)去二十多年來(lái)人們一直在持續努力的方向,比如總線(xiàn)接口速率為200Mbps (100MHz)時(shí),完成4KB數據傳輸需要大約40us,但如果將總線(xiàn)接口速率提升到1600Mbps (800MHz)時(shí),完成4KB數據傳輸僅需要大約5us。
- 使用Cache Read/Program: 一般情況下,LUN(Logic Unit Number)是NAND Flash最小的邏輯操作單元,讀/寫(xiě)操作是串行執行的,即一個(gè)讀/寫(xiě)命令完成后,才能進(jìn)行下一個(gè)讀/寫(xiě)操作。Cache Read/Program允許用戶(hù)在NAND Flash Array Busy時(shí),同時(shí)在總線(xiàn)上進(jìn)行讀/寫(xiě)數據傳輸,從而提高流水效率。
- 多路并發(fā)技術(shù)包括:1)通道間并發(fā),允許用戶(hù)在不同的通道上并發(fā)執行獨立的命令和數據操作;2)通道內并發(fā),即Interleaving操作,允許用戶(hù)在滿(mǎn)足一定約束的情況下,在通道內的不同CE或CE內的不同Die之間進(jìn)行交織操作;3)多平面操作,即Multi-Plane操作,允許用戶(hù)并發(fā)讀/寫(xiě)Die內的不同Plane??梢哉f(shuō),正是因為有了多路并發(fā)技術(shù),才使得基于NAND Flash的固態(tài)存儲產(chǎn)品能達到GB級別的讀/寫(xiě)性能。
可見(jiàn),以上優(yōu)化覆蓋了NAND Flash基礎時(shí)序/指令優(yōu)化到系統級的綜合優(yōu)化,在實(shí)際應用中可以根據系統要求組合選用。經(jīng)過(guò)多年發(fā)展,Cache Read/Program及多路并發(fā)技術(shù)已發(fā)展得較為成熟,近年來(lái)的變化相對較小,但NAND Flash總線(xiàn)頻率提升技術(shù)一直在蓬勃發(fā)展,并且近年來(lái)有加速演進(jìn)的趨勢,下面我們將結合ONFI協(xié)議演進(jìn)來(lái)感受一下NAND Flash接口速率的演進(jìn)。
2. ONFI接口演進(jìn)歷史
ONFI (Open NAND Flash Interface)組織成立于2006年5月,致力于簡(jiǎn)化NAND Flash在消費電子應用和計算平臺中的集成和普及。自2006年12月發(fā)布第一個(gè)ONFI協(xié)議以來(lái),ONFI組織已經(jīng)累計發(fā)布了數十個(gè)版本,最大接口速率也從最初的50Mbps發(fā)展到目前最新的3600Mbps,從圖二可以看到ONFI協(xié)議不斷優(yōu)化的接口演進(jìn)趨勢。
圖二 ONFI接口速率演進(jìn)
- ONFI 1.0:隨著(zhù)NAND Flash在SD卡及IPod等消費級電子產(chǎn)品的成功應用,以及基于閃存的MP3、U盤(pán)等需求量不斷增大,極大地拓展了NAND Flash的應用領(lǐng)域。但由于不同NAND Flash廠(chǎng)家的接口協(xié)議各有不同,導致下游的主控廠(chǎng)商和產(chǎn)品制造廠(chǎng)商遇到各種兼容性問(wèn)題。為了改變這種局面,Intel牽頭成立了ONFI組織,并在不久后迅速推出ONFI 1.0版本,目的是統一NAND Flash接口協(xié)議。
- ONFI 2.x:ONFI 2.x引入了NV-DDR技術(shù),通過(guò)雙邊沿采樣(Double Data Rate)實(shí)現速率倍增,最大接口速率從ONFI 2.0的133Mbps演進(jìn)到ONFI 2.1/2.2的200Mbps。NV-DDR技術(shù)引入外部參考電壓作為數據輸入/輸出信號的采樣基準,采用源同步時(shí)鐘來(lái)精確鎖存數據、命令、地址信號,但由于DQS和Clock不是差分信號,所以邊沿容易受干擾,目前主流消費級/企業(yè)級NAND Flash已經(jīng)很少看到NV-DDR接口。
- ONFI 3.x:ONFI 3.x引入了NV-DDR2技術(shù),最大接口速率從ONFI 3.0/3.1的400Mbps演進(jìn)到ONFI 3.2的533Mbps。NV-DDR2引入了差分信號和On-Die Termination (ODT)技術(shù)來(lái)提升信號質(zhì)量。在差分模式下,通過(guò)在數據傳輸階段使能RE_n/RE_c差分信號對和DQS_t/DQS_c signals差分信號對,可有效抑制噪聲和干擾。通過(guò)在NAND Flash芯片上集成ODT端接電阻,可以將控制器和NAND Flash的信號傳輸通道上的阻抗失配減少到最小,有助于減少信號反射;另外,ODT阻值可以通過(guò)軟件配置寄存器來(lái)控制,因此可以大大簡(jiǎn)化硬件電路設計。
- ONFI 4.x:ONFI 4.x引入了NV-DDR3技術(shù),最大接口速率從ONFI 4.0的800Mbps演進(jìn)到ONFI 4.2的1600Mbps。為保障高速信號傳輸質(zhì)量,NV-DDR3引入了多項校準技術(shù),包括ZQ Calibration、Duty Cycle Correction (DCC)和讀/寫(xiě)DQ校準。上文提到ONFI 3.0引入了ODT技術(shù),由于NAND Flash上的ODT電阻采用CMOS工藝制備,容易在溫度和電壓變化時(shí)發(fā)生阻值漂移,因此需要通過(guò)ZQ Calibration技術(shù)通過(guò)外接高精度電阻進(jìn)行阻值校準。DCC校準可調節信號占空比,解決高速信號傳輸路徑不對稱(chēng)導致的上升沿與下降沿失配問(wèn)題,而讀/寫(xiě)DQ校準可以保證讀/寫(xiě)采樣信號對準眼圖中心。
- ONFI 5.x:ONFI 5.x引入了NV-LPDDR4技術(shù),最大接口速率從ONFI 5.0的2400Mbps演進(jìn)到ONFI 5.1的3600Mbps。為了解決高速接口帶來(lái)的巨大信號完整性挑戰,ONFI 5.x除了進(jìn)一步加強寫(xiě)校準和VrefQ校準外,還引入了非對稱(chēng)DQS設計和自適應均衡器設計。如DFE(ecision Feedback Equalizer,判決反饋均衡器)技術(shù)用上次信道的輸出經(jīng)過(guò)判斷后加權反饋到輸入上,可以消除碼后干擾。另外,NV-DDR3和NV-LPDDR4支持的最大接口速率相同,但NV-LPDDR4的優(yōu)勢在于采用LTT技術(shù)后可大幅度降低讀操作功耗。
從ONFI 1.0到近期最新發(fā)布的ONFI 5.1可以看出,為了匹配系統前端接口(如eMMC/UFS/PCIe)越來(lái)越高的帶寬要求,NAND Flash接口速率整整提升了72倍,而且未來(lái)還將快速走向下一個(gè)峰值。
那接口速率的提升給系統帶來(lái)的收益是否也在翻倍上漲呢?答案是否定的。
3. 傳統協(xié)議的不足呼喚進(jìn)一步改進(jìn)
NAND Flash總線(xiàn)上傳輸的信號可分為命令、地址和數據3種,通過(guò)DQ[7:0]時(shí)分復用,在不同的時(shí)刻分別傳輸命令、地址和數據。其中,數據是同步傳輸、差分采樣,速率較高;但命令和地址是異步傳輸、單端采樣,速率較低。從ONFI 1.0到ONFI 5.1,接口速率得到了飛速發(fā)展,但命令、地址和數據的傳輸形式基本不變。實(shí)際上,隨著(zhù)總線(xiàn)速率提升,改善的主要是數據傳輸時(shí)延,命令和地址的傳輸時(shí)延并沒(méi)有得到改善,對系統而言總線(xiàn)使用效率是在不斷下降的。如下圖三在樂(lè )觀(guān)的場(chǎng)景下比較了寫(xiě)/讀場(chǎng)景的總線(xiàn)效率,可以看到,讀和寫(xiě)的總線(xiàn)效率都在逐漸降低,尤其是在讀場(chǎng)景跌落到50%左右時(shí)進(jìn)一步加劇了系統設計的挑戰。
圖三 NAND Flash總線(xiàn)效率分析
圖四以業(yè)內某型號SSD為參考,與憶聯(lián)企業(yè)級固態(tài)硬盤(pán)產(chǎn)品UH811a進(jìn)行了對比分析??梢钥吹?,兩款SSD的讀帶寬相當,都在7000MB/s左右,但UH811a的4K隨機讀IOPS相比參考SSD有顯著(zhù)提升。進(jìn)一步分析可以發(fā)現,將UH811a的4K IOPS換算成帶寬,是與讀帶寬相當的;但對參考SSD進(jìn)行同樣的換算,則換算出來(lái)的帶寬只有讀帶寬的70%,原因就在于隨機讀操作的總線(xiàn)開(kāi)銷(xiāo)高于順序讀。
圖四 讀帶寬 vs 4K讀IOPS
可見(jiàn),在傳統命令/地址/數據傳輸形式不變的情況下,隨著(zhù)接口速率提升,增加系統復雜度的同時(shí),帶來(lái)的收益卻在衰減,因此,傳統協(xié)議的不足推動(dòng)協(xié)議不斷改進(jìn)。面對這個(gè)問(wèn)題,JEDEC組織正緊鑼密鼓地討論協(xié)議的下一輪演進(jìn),未來(lái)將在提升接口速率的同時(shí)優(yōu)化命令/地址傳輸方式,這也勢必會(huì )給主控設計帶來(lái)新的考驗。
4. 總結
一直以來(lái),提升NAND Flash接口速率是提高系統性能的主要手段,NAND Flash廠(chǎng)商也想出了各種辦法來(lái)解決高速信號帶來(lái)的信號完整性問(wèn)題。面向未來(lái),傳統的命令/地址輸入方式導致總線(xiàn)利用率不高,協(xié)議的進(jìn)一步演進(jìn)除了考慮繼續提升接口速率外,也將迎來(lái)新的命令/地址輸入方式。憶聯(lián)將密切關(guān)注協(xié)議發(fā)展動(dòng)態(tài),并以靈活的架構來(lái)兼容支持未來(lái)的介質(zhì),給客戶(hù)帶來(lái)更好的存儲產(chǎn)品與解決方案。
參考資料:
1. ONFI spec:
http://www.onfi.org/specifications
2.2022, Phison, NAND Flash 101: Flash Device Interfaces:
https://phisonblog.com/nand-flash-101-flash-device-interfaces-2/
3.2021, 移動(dòng)NAND閃存存儲的演進(jìn):
https://phisonblog.com/the-evolution-of-mobile-nand-flash-memory-storage-2/
4.芯片中的數學(xué)——均衡器EQ和它在高速外部總線(xiàn)中的應用:
https://zhuanlan.zhihu.com/p/48343011
地址:深圳市南山區記憶科技后海中心B座19樓
電話(huà):0755-2681 3300
郵箱:support@unionmem.com