午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

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

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

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


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

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

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

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

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

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

在逆境境中才能檢驗(yàn)SSD主控的真實(shí)領(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ù)時(shí),閃存轉(zhuǎn)換層FTL會(huì)將數(shù)據(jù)寫入物理區(qū)塊P1', 同時(shí)把之前的邏輯區(qū)塊P1標(biāo)記為無效塊。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

對于LDPC技術(shù),這是主控的核心機(jī)密,每一家主控供應(yīng)商都有自己的專利,這里就不多說咯。
參考文獻(xiàn):
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)

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多