[心得] PCIe & NVME Protocol Study
大家好,我目前任職於某家SSD韌體,主要是負責NVMe Front-end的部分,Front-end主要負責PCIe和NVMe protocol的firmware porting,所以必須study這兩份spec。由於spec
的內容過於龐大,所以我習慣會用網誌做筆記,一方便怕自己忘記,一方面也可以在遇到問題的時候快速查詢,當然我所寫的都是我對於spec的理解,所以希望有這方面的專家,可以討論不同的見解,也歡迎大家討論與指教。
PCIE:
■原理PCI Express - LTSSM Equalization狀態機推演
由於PCIe通道傳輸的特性,會有所謂的碼間干擾(Inter-Symbol Interference,ISI),而導致資料無法被辨識,且隨著PCIe頻率越來越高,這個問題會更加明顯,因此必須透過
Equalizer來調整彼此間的訊號,得到比較好的眼圖,搭建起溝通的橋樑,此篇為EQ
LTSSM的推演。
■原理PCI Express - LTSSM 狀態機推演 "Detect -> Polling -> Configuration ->
L0"
PCIe為point-to-point interconnects(點對點的連接),所以就算系統上由多層PCIe bus所構成,每個component只要負責與他對面的component之間的link negotiation就可以了,這篇文章主要會推演兩個端點之間的LTSSM是如何從Detect state演進到L0。
■簡介PCI Express: Link Training and Status State Machine( LTSSM 狀態機 )
由於工作上很容易會遇到PCIe Link上的問題或者我們需要驗證LTSSM state transition有沒有符合預期 ,常常需要透過Protocol Analyzer錄製PCIe Trace來進一步分析。此篇主要會介紹Traning Sequence,和各個LTSSM state主要目的為何。
■原理PCI Express: Advanced Error Reporting(AER)
Advanced Error Report(簡稱AER)為PCIe 較為強健的錯誤回報機制,在PCI Express?
Base Specification Revision 3.0 的6.2節"Error Signaling and Logging"章節有詳細的介紹整個AER的logging與repoting機制,由於工作上常常遇到Linux Kernel log中,出現AER error訊息,所以又把spec拿出來翻一翻,藉此寫一篇關於AER的機制,方便以後查詢。
NVME:
■原理NVM Express - NVMe Submission Queue & Completion Queue (SQ & CQ)
NVMe最基本的communicate架構主要是建立在Submission Queue和Completion Queue,
Host Software透過Submission Queue來提交command讓NVMe Controller執行,
Controller會透過Completion Queue來回報command執行狀況為何。此篇主要介紹NVMe基本架構。
https://reurl.cc/bkZYVd
--
推推
群聯 推
推
推
推推
推
推
推推
推
推
謝謝分享
先推一個
推
推
推
知識 推!
推推 動畫清楚明瞭
謝分享
推推 真的看到都會背章節了XD
推,謝謝學長
smi 無私讚讚讚
推!最近也在study Front end 的spec,這些資料讓
我收益良多。
推
請問原po是在p還是s高就?
推,感謝分享
推推
推推
和我想的差不多 (茶)
推
我記得ssd fan有好幾篇對FE介紹的也蠻詳細的
其實我就是看到大陸很多這種技術文章, 但在台灣很少看到, 因為大陸有些用語我看得不太習慣, 所以我就自己寫了
推
感謝分享
想也知道群聯
感謝分享!
推
good
推
推
感謝高手分享
推 剛拜讀完大大的AER
只能推了
感謝分享 造福雜魚我
好文推推 台灣沒有這種技術社群真的可惜
狂
推
推大神
推推
推
推
推分享 很多技術文章都簡體居多
推
推
推
推
好用心
推推
推
推
推
好心人推推
有沒有講程式的 我想看pci enumuration
印象中這個可能要講到BIOS, 因為BIOS會define MMIO base address位置, BIOS就依據這個base, 從bus number 0~255、dev 0~32、func 0~8, 三個for迴圈全部掃過一遍, 如果VendorID和DeviceID有值代表device存在
推推,感謝分享
推
希望分享nvme2.0b,pcie5.0
推
好奇這specs都幾頁啊?
推
推
推
推
優文!
推推
推
推
推
推好心
push
push
推
推
伸手的連picsig會員都沒吧 XD
推
感謝分享
推推 好文章
推
優質文章 推!
對岸csdn很多這類文章
沒錯,我很多PCIe知識也都從那邊獲得
※ 編輯: Caramel715 (1.169.193.191 臺灣), 04/11/2022 22:16:10推推
推
推
好文一起推
推
推
有沒有人要寫FTL的
其實我也很想看,不然我都不知道back-end在做什麼 XD
不錯
o.o
Haha 我想寫FTL 的筆記但感覺會牽涉機密,一般常見
的感覺看論文就好
有道理,其實FTL的精隨就是如何去操作NAND, 現在為了省錢好像都使用TLC,但TLC的缺點就是P/E值較低 所以演算法非常重要,因為要延長NAND的壽命 演算法就是公司的Know-how了吧
※ 編輯: Caramel715 (1.169.193.191 臺灣), 04/12/2022 00:39:24推 感謝分享
好人好事
好人
用心好文 推推
讚
推
推推之前就有看過大大的文章 非常實用
高手推
厲害 推
我們可以來建立台灣的技術社群
個人有建立了 forum.community.tw
能使用markdown跟自動為程式碼上色等,也能當一些靜
態部落格的留言系統或者用rss轉貼(經作者同意)。
歡迎大家來試試
慧榮?
強
推 用心
推
我的天啊我在bios海載浮載沉的時候就是你的網誌救了
我一命QQ
推
大推!
讚喔
推! 這太讚了
推
FTL一定有known how, 不用想了
我建議可以朝flash access下手,例如分析讀data ret
ension nand scaled, read refrence 這就無關機密了
推一個
好文推~
推
推爆
學長推
推 分享
推!!
推! 要不要在動畫裡放國旗XD 以防...
有道理,以防被偷,以後加個浮水印好了
推
推
推,NVMe台灣的文章真的不多
推 感謝你~
推
推
高
推
推
讚
推
推
讚,寫的很棒,受用無窮
推
必須推
push
推好心
我推
3
推 caeserhaha : 有沒有人要寫FTL的 04/11 23:36 FTL不像host protocol或是NAND interface是一套公開的規範 所以各公司甚至同公司不同產品之間 可能架構上會有很大的不同 而且FTL早期是不傳之密 XD48
大家好,繼上次分享了幾篇有關PCIE和NVME的文章,陸陸續續又撰寫了幾篇NVME的文章, 這幾年發現,對於剛畢業的新鮮人看spec可能是一個很高的門檻,常常一知半解,後來把 我撰寫的文章丟給他們看後,發現他們其實都能理解原理,所以意外發現撰寫Blog其實也 是可以當作教育訓練的教材,培養人才事半功倍,省時省力,雖然最近景氣不太好 ,不過還是歡迎大家來做SSD controller,以下是文章分享,歡迎大家一起討論
爆
Re: [問卦] 紫微斗數的「夫妻宮」,交往能算嗎?新的修文回應: 感謝版友的肯定與厚愛,推文經計算後大概千來人參加抽選,很顯然是並不容易抽到@@ 過年後我會再寫一篇文章推廣斗數與命理觀念,並再多安排一些額度抽選。 年初三用程式抽選的結果如下: A組中選:yun1989 HarukaLM爆
[討論] 真的是我的問題嗎?最近跟男友討論到結婚的問題 婚後勢必要跟公婆一起住 我最在意的點就是男友家的廁所 因為馬桶老舊 前一位上完廁所下一位使用者沒辦法使用爆
[求助] 老公一直希望我和前男友聯絡非常感謝大家的回覆,雖然不是我本人,但因為朋友真心覺得非常困擾,但我被問到不知 怎麼回答,所以才想來板 上詢問大家的看法 只能說真的不是幻想文!也是經過當事人同意才詢問的,有些細節寫得太詳細真的會落落 長到不行!只能說非常確定雙方以前的事情彼此都非常清楚,之前男方看了醫療紀錄也沒40
[閒聊] Reddit 熱議:Champions Queue 現狀-- 起因是前選手 Lourlo 的這篇推特 到現在,我根本不知道是什麼讓選手在晚上至少打一、兩場 Champions Queue(以下簡稱25
[開箱] 我的 PCIe Gen4 高速初體驗!趁前陣子發年終買了 C920 SSD,體驗一下最新 PCIe Gen4 的速度,不知跟我舊的Gen3 S SD 差多少?順便來個不專業的小開箱! 上機照,通常主機板會有兩組M.2插槽,AMD Ryzen 平台建議先從第一組使用,因為第一 組M.2插槽直接走捷徑進CPU通道,所以通常可以帶來更低的延遲與更佳的SSD效能。27
[情報] Phison重申PCIeGen5 SSD很熱最好上風扇在Phison發布的新文章中,控制器製造商重申了PCIe Gen 5 NVMe SSD 將有更高的溫度並需要主動散熱解決方案。 去年Phison透露了很多關於PCIe Gen 5 NVMe SSD的細節 Phison的首席技術官Sebastien Jean透露,第一個Gen 5解決方案 將於今年年底開始向客戶發貨。至於 PCIe Gen 5 SSD將帶來什麼23
[情報] PC家 十銓 MP34 2TB M.2 PCIe $3700TEAM 十銓 MP34 2TB M.2 PCIe SSD 固態硬碟 讀3500MB ; 寫2900MB ●內建DRAM快取記憶體,高速耐用 ●採用新一代3D快閃記憶體:容量、效率、耐用度同步大躍進 ●PCIe介面-支援最新 NVMe 1.3協定。9
[情報] 三星 980 1TB NVMe M.2 2280 PCIe降三百▼職場ㄟ工作術#WOW系南波萬▼ SAMSUNG 三星 980 1TB NVMe M.2 2280 PCIe 固態硬碟(MZ-V8V1TBW) 《3C設備備再升級特殺回饋中!》 開始:03/18(五)11:00 結束:03/22(二)11:00