小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

如何成為一個具有領(lǐng)導(dǎo)力的SSD主控?

 Long_龍1993 2021-08-08
SSD主控領(lǐng)導(dǎo)力之FTL篇
幸福就是體味生活中每一件小而美的瞬間。

如何成為一個具有領(lǐng)導(dǎo)力的SSD主控?


之前的文章中,已經(jīng)偷偷的分享了SSD主控的成功秘訣:
1. 針對Host和NAND閃存采用不同的安撫策略(Interface/protocol);
2. 高效的處理Host和NAND閃存之間的數(shù)據(jù)傳輸,并保證數(shù)據(jù)的完整性。

此時還是很有必要再一次把SSD主控架構(gòu)圖請出來(最近出鏡率有點高哈,這一次應(yīng)該是最后一次麻煩TA老人家咯):
圖片

沒有人可以隨隨便便成功,為了高效的處理Host和NAND閃存之間的傳輸,SSD主控也是付出了極大的努力。

SSD主控的夢想就是實現(xiàn)以下功能:
1. 磨損平衡(Wear-leveling)
2. 垃圾數(shù)據(jù)回收(Garbage Collection)
3. 壞塊管理(Bad Block Management)
4. 數(shù)據(jù)糾錯處理(ECC, Error Correction Code)

SSD主控的想法是好,但是理想和現(xiàn)實總是有或多或少的差距,現(xiàn)實是Host的愿景跟NAND閃存的本性有了沖突。

按照Host的愿景,數(shù)據(jù)可以寫入并且可以重復(fù)寫入同一區(qū)塊,  然而,NAND閃存的本質(zhì)是不允許重復(fù)寫入的,在寫入同一區(qū)塊之前必須先進行擦除動作。

在逆境境中才能檢驗SSD主控的真實領(lǐng)導(dǎo)力,SSD主控大膽的啟用了邏輯與物理轉(zhuǎn)換層(logical to physical)的概念,也稱為閃存轉(zhuǎn)換層 (FTL,F(xiàn)lash Translation Layer)。
圖片
在上圖中第一行是存儲塊的邏輯地址,第二行是存儲塊的物理地址。

如果Host想要在同一邏輯區(qū)塊L1重復(fù)寫入數(shù)據(jù)時,閃存轉(zhuǎn)換層FTL會將數(shù)據(jù)寫入物理區(qū)塊P1', 同時把之前的邏輯區(qū)塊P1標(biāo)記為無效塊。

有了閃存轉(zhuǎn)換層FTL這一秘密武器,SSD主控可以輕松實現(xiàn)自己的夢想。

1. 磨損平衡(Wear-leveling,WL)
在現(xiàn)實應(yīng)用過程中,SSD主控在NAND閃存寫入數(shù)據(jù)時,并非均勻等機會的寫入NAND閃存的每一個區(qū)塊(Block)。

借用宋小寶的經(jīng)典橋段,SSD主控很難做到“雨露均沾”,而是很大程度可能會“獨寵”一些NAND閃存區(qū)塊。但是這樣的“獨寵”會嚴(yán)重透支NAND閃存區(qū)塊壽命(NAND閃存區(qū)塊的磨損-Write/Earse count會大大的增加,性能變差)。

為了最大化的延長SSD的存儲壽命,閃存轉(zhuǎn)換層FTL引入磨損平衡(Wear-leveling)技術(shù),盡量使NAND閃存的每一個Block/Page壽命均衡化。

在Host對同一邏輯區(qū)塊更新數(shù)據(jù)時,SSD主控會動態(tài)的指向不同的物理區(qū)塊,之前的物理區(qū)塊標(biāo)記為“無效”,進入等待保養(yǎng)狀態(tài),這樣就可以確保每一個物理區(qū)塊都被使用。

用更通俗的話來講就是,每次寫入的時候挑年輕力壯的區(qū)塊, 年老的區(qū)塊則頤養(yǎng)天年。

2. 垃圾數(shù)據(jù)回收(Garbage Collection, GC)
垃圾數(shù)據(jù)回收GC技術(shù), 類似于平時我們電腦、手機內(nèi)存整理優(yōu)化的概念。

對SSD可用存儲區(qū)塊的數(shù)量,主控會設(shè)定一定閥值。當(dāng)可用存儲區(qū)塊的數(shù)量低于閥值時,主控會啟動垃圾數(shù)據(jù)回收,將一些無效存儲區(qū)塊擦除,保養(yǎng)維護之后標(biāo)記為可用區(qū)塊供Host使用。

3. 壞塊管理(Bad Block Management,BBM)
圖片
盡管SSD主控FTL層采用了磨損平衡技術(shù),NAND閃存始終有一些區(qū)塊不能堪當(dāng)大任,我們稱之為“壞塊”(Bad Block)。

FTL層采用了壞塊管理模塊, 并且將所有的壞塊記錄在一張黑名單上,這張表單的信息是對Host不可見的,所以Host寫入數(shù)據(jù)時,不會把對壞塊進行操作。

在終端客戶使用的過程也會不斷產(chǎn)生壞塊,SSD主控會及時更新壞塊表單。

4. 數(shù)據(jù)糾錯處理(ECC, Error Correction Code)
NAND閃存不能保證數(shù)據(jù)在整個生命周期里都不出錯,NAND閃存一般不會整個Block或Page全部出錯,只是其中的一個或者幾個bit出錯,如果直接將整個Block標(biāo)記為壞塊,那實在是太浪費了(罪過,罪過~~~)。

數(shù)據(jù)糾錯處理(ECC, Error Correction Code)技術(shù)可以糾正一定數(shù)量的錯誤bit。目前SSD主控基本通過硬件的方式實現(xiàn),主流的SSD ECC糾錯技術(shù)主要有BCH編碼和LDPC編碼。

不過,由于3D NAND閃存的普及,對主控ECC糾錯能力的要求越來越苛刻, BCH編碼技術(shù)會慢慢退出歷史舞臺。

對于LDPC技術(shù),這是主控的核心機密,每一家主控供應(yīng)商都有自己的專利,這里就不多說咯。
參考文獻:
1. S.-W. Lee, D.-J. Park, T.-S. Chung, D.-H. Lee, S.-W. Park, H.-J. Songe, FAST: A log-buffer
based FTL scheme with fully associative sector translation, in 2005 US-Korea Conference on
Science, Technology, & Entrepreneurship, Seoul, Aug 2005
2. R. Micheloni, A. Marelli, R. Ravasio, Error Correction Codes for Non-Volatile Memories
(Springer, Dordrecht, 2008)

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多