[心得] 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的推演。
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
04/11 14:32, 19F
推
04/11 14:33,
2年前
, 20F
04/11 14:33, 20F
推
04/11 14:33,
2年前
, 21F
04/11 14:33, 21F
推
04/11 14:34,
2年前
, 22F
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
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
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
04/12 08:42, 118F
→
04/12 08:42,
2年前
, 119F
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
04/12 12:20, 125F
推
04/12 12:22,
2年前
, 126F
04/12 12:22, 126F
→
04/12 12:22,
2年前
, 127F
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
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
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
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
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 1 之 3 篇):