Re: [心得] PCIe & NVME Protocol Study
FTL不像host protocol或是NAND interface是一套公開的規範
所以各公司甚至同公司不同產品之間
可能架構上會有很大的不同
而且FTL早期是不傳之密 XD
完整寫一個FTL的架構出來很可能會被公司告洩露機密
小弟這邊在不涉及架構的前提下
稍微條列式分享下之前從事相關工作 所體會到的粗淺FTL相關精神
希望可以拋磚引玉
FTL主要的工作有幾個 :
1. NAND Block management.
2. GC/Wearleveling.
3. L2P/P2L Table management.
I.
先從最簡單的Data flow來
Host write => 把data 放到buffer上
=> 對NAND下Write cmd將Data寫進 NAND
=> 更新L2P Table
Host read => 先根據Logical address查找P2L(L2P) Table
=> 找到Physical address
=> 拿著Physical address對NAND下Read cmd
=> 將讀上來的 Data 發給host
從performance的角度來講
這中間根據不同的NAND 就有太多可以優化的地方
(比方說估Buffer usage size, Table structure design...etc.)
另外 這兩個flow是最直觀會影響滿碟前的performance的部分
所以非常重要
II.
Block managnment
把NAND的block綁在一起管理幾乎是業界公認的常識
因為絕大部分的NAND erase cmd是以block為單位
而將block綁在一起管理 在某些場景下也稍微有助於NAND command interleaving.
III.
GC & wearleaving.
同樣都是搬data & update L2P Table
GC的精神在於SSD busy時 要能夠及時release出empty NAND blocks供host繼續寫入.
而廣義的Wearleaving則是著眼於延長NAND Block的壽命
(端看你要看甚麼Read cnt/erase cnt還是其他可以象徵性評估NAND Block壽命的數值)
這兩個最終想達成的精神不一樣
但大家設計FW時 都想搬得越快/盡可能搬越少次 越能達成這兩者精神越好
至於怎麼設計就是各家公司的秘密
另外評估GC做得好不好的一個標準就是寫入放大(write amplification)
IV.
L2P/P2L Table management
除了前述的GC/Wearleaving之外
其他會涉及到搬data & update L2P Table的場景
主要有兩個
a. FTL等級的data error handle.
b. Abnormal power cycle後的Data recovery.
除了protect data還要保持data consistency.
(尤其當涉入host大量的erase/format cmd時 會更為複雜)
這兩個東西的設計同樣非常依賴NAND的規則. 細節不提
另外有一些也可能會在FTL layer處理的工作, 但比較偏SOC的部分
1. Data protection (包括E2E過程中Buffer的各種ECC 保護)
2. Thermal Throttling(溫控)
3. Power control.
至於NAND cmd的優化 要不要放在FTL這層
要端看FW架構設計
以我的認知 基本上放一起的是越來越少
因為從Table management的角度來看 Logical address是連續的
但是NAND cmd排程的優化 則是要從NAND的physical架構角度切入
兩個基本上不是很對頭的東西
大概就這樣
--
可是哈卜拉姆再聰明、再有學問,有一件事卻是他不能解答的,因為包羅萬有的「可蘭
經」上也沒有答案;如果你深深愛著的人,卻深深的愛上了別人,有甚麼法子?
白馬帶著她一步步的回到中原。白馬已經老了,只能慢慢的走,但終是能回到中原的。
江南有楊柳、桃花,有燕子、金魚……漢人中有的是英俊勇武的少年,倜儻瀟灑的少年…
但這個美麗的姑娘就像古高昌國人那樣固執:「那都是很好很好的,可是我偏不喜歡。」 金庸<白馬嘯西風>(完)
--
Block management會流行用block或block sets原因還
有(1)適合bulk read/write(2)host通常會bulk且是s
equential(3)通常這些資料的hot cold是接近的(4)
通常invalid也較均勻,所以未來wear程度類似也更好
GC, 可以參考nvme spec
感謝樓上說明 XD
漲知識,推!
讚
爆
首Po大家好,我目前任職於某家SSD韌體,主要是負責NVMe Front-end的部分,Front-end主要 負責PCIe和NVMe protocol的firmware porting,所以必須study這兩份spec。由於spec 的內容過於龐大,所以我習慣會用網誌做筆記,一方便怕自己忘記,一方面也可以在遇到 問題的時候快速查詢,當然我所寫的都是我對於spec的理解,所以希望有這方面的專家, 可以討論不同的見解,也歡迎大家討論與指教。48
大家好,繼上次分享了幾篇有關PCIE和NVME的文章,陸陸續續又撰寫了幾篇NVME的文章, 這幾年發現,對於剛畢業的新鮮人看spec可能是一個很高的門檻,常常一知半解,後來把 我撰寫的文章丟給他們看後,發現他們其實都能理解原理,所以意外發現撰寫Blog其實也 是可以當作教育訓練的教材,培養人才事半功倍,省時省力,雖然最近景氣不太好 ,不過還是歡迎大家來做SSD controller,以下是文章分享,歡迎大家一起討論
24
[問卦] 油價大爆崩 物價也要跌了吧?如題 以往油電雙漲 市場就會因此傳出要漲價的聲音 我們也不想漲價 是油價再漲 反映物價云云 阿這幾天 油價 大!爆!崩! 有鑑於此 賣便當賣早餐的應該要降價了吧?18
[問卦] 八卦板就一堆噁男 幹嘛否認?如題 從我用PTT以來 八卦板就一堆噁男阿= =? 有奶就是讚 沒奶就是噓 妹妹文 母豬文 偷拍文各種層出不窮 說是噁男聚集地不過份 之前還有母豬教跟女權互戰 怎麼今天嘴砲收留烏克蘭妹子就變成國際新聞阿15
[問卦] 台灣是不是該開放槍枝合法化?如題 以前我也是反槍的 覺得美國每個人都有槍很奇怪 不過在烏克蘭戰爭後 我反而認為台灣應該開放槍枝合法化 在應對戰爭的時候反應會更快 而且槍枝賦予人民保護自己的安全9
[問卦] 處男是不是該正名?如題 處女膜議題最近吵得沸沸揚揚的 大家都想正名! 但是! 處女怎麼說 都還是個美好的名詞 與之相對的8
[問卦] 好壞好帥的代表人物?如題 最近家暴神拳又成為話題 不禁讓人感嘆 男人不壞女人不愛 是真的 善良的處男宅宅就像草食綿羊 根本不是壞壞8+9這種肉食動物可比的 那好壞好帥的代表性人物是誰呢? --5
[問卦] 我這套路是不是無敵?這套路很簡單 辯論一個問題 假如是缺電好了 先不討論科學 先說對方的論點是在唱衰國家 不愛國 等到問題如缺電真的發生了 再說災難發生了還在幸災樂禍 是內奸 反正科學問題打上愛國就可以迎刃而解2
Re: [問卦] 一直洗烏克蘭支持納粹的是怎樣?不談現代 只談歷史 以前還有一個國家以前也支持納粹 誰? 中華民國 對DER 號稱反法西斯的中國也曾經支持納粹1
[問卦] 會不會是綠電讓台電停電?如題 我半夜睡不著 有個大膽的想法 其實就是綠電讓台電停電吧? 綠電太環保->小動物暴增->停電意外頻傳1
Re: [問卦] 幹破你娘耶誕城其實這就跟 台南人說討厭外地人來台南 一窩蜂去名店排隊 讓名店爛掉 名店不行了X
Re: [問卦] 「移工變移民」明年上路的八卦??:噓 max0815: 誰擔心搶工作?是不爽劣等民族進入我視線 話說 兩三百年 原住民大概也是這樣想 不過他們馬上就做成番膏了 之後漢族在台灣佔地為王 反而排斥其他民族 還大聲說自己的閩南語才是台語 自己的文化才是台灣文化