[心得] PCIe & NVME Protocol Study

看板Tech_Job作者 (焦糖)時間2年前 (2022/04/11 14:00), 2年前編輯推噓141(141012)
留言153則, 142人參與, 2年前最新討論串1/3 (看更多)
大家好,我目前任職於某家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的推演。 https://reurl.cc/VjGMzb ■原理PCI Express - LTSSM 狀態機推演 "Detect -> Polling -> Configuration -> L0" PCIe為point-to-point interconnects(點對點的連接),所以就算系統上由多層PCIe bus 所構成,每個component只要負責與他對面的component之間的link negotiation就可以了 ,這篇文章主要會推演兩個端點之間的LTSSM是如何從Detect state演進到L0。 https://reurl.cc/akpd4D ■簡介PCI Express: Link Training and Status State Machine( LTSSM 狀態機 ) 由於工作上很容易會遇到PCIe Link上的問題或者我們需要驗證LTSSM state transition 有沒有符合預期 ,常常需要透過Protocol Analyzer錄製PCIe Trace來進一步分析。此篇 主要會介紹Traning Sequence,和各個LTSSM state主要目的為何。 https://reurl.cc/9Od37x ■原理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的機制,方便以後查 詢。 https://reurl.cc/veyva1 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 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.227.10.151 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Tech_Job/M.1649656821.A.283.html

04/11 14:02, 2年前 , 1F
推推
04/11 14:02, 1F

04/11 14:05, 2年前 , 2F
群聯 推
04/11 14:05, 2F

04/11 14:06, 2年前 , 3F
04/11 14:06, 3F

04/11 14:07, 2年前 , 4F
04/11 14:07, 4F

04/11 14:09, 2年前 , 5F
推推
04/11 14:09, 5F

04/11 14:13, 2年前 , 6F
04/11 14:13, 6F

04/11 14:14, 2年前 , 7F
04/11 14:14, 7F

04/11 14:17, 2年前 , 8F
推推
04/11 14:17, 8F

04/11 14:17, 2年前 , 9F
04/11 14:17, 9F

04/11 14:19, 2年前 , 10F
04/11 14:19, 10F

04/11 14:19, 2年前 , 11F
謝謝分享
04/11 14:19, 11F

04/11 14:19, 2年前 , 12F
先推一個
04/11 14:19, 12F
※ 編輯: Caramel715 (125.227.10.151 臺灣), 04/11/2022 14:22:14

04/11 14:21, 2年前 , 13F
04/11 14:21, 13F

04/11 14:29, 2年前 , 14F
04/11 14:29, 14F

04/11 14:30, 2年前 , 15F
04/11 14:30, 15F

04/11 14:30, 2年前 , 16F
知識 推!
04/11 14:30, 16F

04/11 14:31, 2年前 , 17F
推推 動畫清楚明瞭
04/11 14:31, 17F

04/11 14:31, 2年前 , 18F
謝分享
04/11 14:31, 18F

04/11 14:32, 2年前 , 19F
推推 真的看到都會背章節了XD
04/11 14:32, 19F

04/11 14:33, 2年前 , 20F
推,謝謝學長
04/11 14:33, 20F

04/11 14:33, 2年前 , 21F
smi 無私讚讚讚
04/11 14:33, 21F

04/11 14:34, 2年前 , 22F
推!最近也在study Front end 的spec,這些資料讓
04/11 14:34, 22F

04/11 14:34, 2年前 , 23F
我收益良多。
04/11 14:34, 23F

04/11 14:35, 2年前 , 24F
04/11 14:35, 24F

04/11 14:39, 2年前 , 25F
請問原po是在p還是s高就?
04/11 14:39, 25F

04/11 14:41, 2年前 , 26F
推,感謝分享
04/11 14:41, 26F

04/11 14:42, 2年前 , 27F
推推
04/11 14:42, 27F

04/11 14:44, 2年前 , 28F
推推
04/11 14:44, 28F

04/11 15:04, 2年前 , 29F
和我想的差不多 (茶)
04/11 15:04, 29F

04/11 15:33, 2年前 , 30F
04/11 15:33, 30F

04/11 15:36, 2年前 , 31F
我記得ssd fan有好幾篇對FE介紹的也蠻詳細的
04/11 15:36, 31F
其實我就是看到大陸很多這種技術文章, 但在台灣很少看到, 因為大陸有些用語我看得不太習慣, 所以我就自己寫了

04/11 15:38, 2年前 , 32F
04/11 15:38, 32F

04/11 15:38, 2年前 , 33F
感謝分享
04/11 15:38, 33F

04/11 15:40, 2年前 , 34F
想也知道群聯
04/11 15:40, 34F

04/11 15:42, 2年前 , 35F
感謝分享!
04/11 15:42, 35F

04/11 15:45, 2年前 , 36F
04/11 15:45, 36F
※ 編輯: Caramel715 (125.227.10.151 臺灣), 04/11/2022 16:08:19
還有 80 則推文
還有 6 段內文
04/12 08:29, 2年前 , 117F
04/12 08:29, 117F

04/12 08:42, 2年前 , 118F
我的天啊我在bios海載浮載沉的時候就是你的網誌救了
04/12 08:42, 118F

04/12 08:42, 2年前 , 119F
我一命QQ
04/12 08:42, 119F

04/12 10:30, 2年前 , 120F
04/12 10:30, 120F

04/12 11:15, 2年前 , 121F
大推!
04/12 11:15, 121F

04/12 11:24, 2年前 , 122F
讚喔
04/12 11:24, 122F

04/12 11:46, 2年前 , 123F
推! 這太讚了
04/12 11:46, 123F

04/12 11:52, 2年前 , 124F
04/12 11:52, 124F

04/12 12:20, 2年前 , 125F
FTL一定有known how, 不用想了
04/12 12:20, 125F

04/12 12:22, 2年前 , 126F
我建議可以朝flash access下手,例如分析讀data ret
04/12 12:22, 126F

04/12 12:22, 2年前 , 127F
ension nand scaled, read refrence 這就無關機密了
04/12 12:22, 127F

04/12 12:50, 2年前 , 128F
推一個
04/12 12:50, 128F

04/12 13:17, 2年前 , 129F
好文推~
04/12 13:17, 129F

04/12 13:26, 2年前 , 130F
04/12 13:26, 130F

04/12 13:27, 2年前 , 131F
推爆
04/12 13:27, 131F

04/12 14:02, 2年前 , 132F
學長推
04/12 14:02, 132F

04/12 14:16, 2年前 , 133F
推 分享
04/12 14:16, 133F

04/12 15:04, 2年前 , 134F
推!!
04/12 15:04, 134F

04/12 17:59, 2年前 , 135F
推! 要不要在動畫裡放國旗XD 以防...
04/12 17:59, 135F
有道理,以防被偷,以後加個浮水印好了

04/12 18:39, 2年前 , 136F
04/12 18:39, 136F
※ 編輯: Caramel715 (125.227.10.151 臺灣), 04/12/2022 19:13:56

04/12 19:15, 2年前 , 137F
04/12 19:15, 137F

04/12 21:24, 2年前 , 138F
推,NVMe台灣的文章真的不多
04/12 21:24, 138F

04/13 00:26, 2年前 , 139F
推 感謝你~
04/13 00:26, 139F

04/13 01:17, 2年前 , 140F
04/13 01:17, 140F

04/13 08:41, 2年前 , 141F
04/13 08:41, 141F

04/13 09:29, 2年前 , 142F
04/13 09:29, 142F

04/13 09:34, 2年前 , 143F
04/13 09:34, 143F

04/13 10:17, 2年前 , 144F
04/13 10:17, 144F

04/13 11:57, 2年前 , 145F
04/13 11:57, 145F

04/13 16:58, 2年前 , 146F
04/13 16:58, 146F
※ 編輯: Caramel715 (1.169.224.116 臺灣), 04/13/2022 19:29:20

04/13 23:11, 2年前 , 147F
04/13 23:11, 147F

04/14 00:44, 2年前 , 148F
讚,寫的很棒,受用無窮
04/14 00:44, 148F

04/14 18:55, 2年前 , 149F
04/14 18:55, 149F

04/15 08:23, 2年前 , 150F
必須推
04/15 08:23, 150F

04/17 00:08, 2年前 , 151F
push
04/17 00:08, 151F

04/18 23:23, 2年前 , 152F
推好心
04/18 23:23, 152F

04/19 22:48, 2年前 , 153F
我推
04/19 22:48, 153F
文章代碼(AID): #1YKyFrA3 (Tech_Job)
文章代碼(AID): #1YKyFrA3 (Tech_Job)