[心得] PCIe & NVME Protocol Study

工作

1431390

大家好,我目前任職於某家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
iamala1樓推推 04/11 14:02
lolpklol09752樓群聯 推 04/11 14:05
gn012166743樓 04/11 14:06
s8692254樓 04/11 14:07
legendary025樓推推 04/11 14:09
kuyfd4566樓 04/11 14:13
andyw76121627樓 04/11 14:14
bnd03278樓推推 04/11 14:17
Eligor419樓 04/11 14:17
tim8251810樓 04/11 14:19
djboy11樓謝謝分享 04/11 14:19
fakon12樓先推一個 04/11 14:19
benson0113樓 04/11 14:21
loveabc14樓 04/11 14:29
roy1999101315樓 04/11 14:30
lohas101916樓知識 推! 04/11 14:30
andrew8246517樓推推 動畫清楚明瞭 04/11 14:31
sabar18樓謝分享 04/11 14:31
gugeegee19樓推推 真的看到都會背章節了XD 04/11 14:32
cjw071620樓推,謝謝學長 04/11 14:33
ulovebaby21樓smi 無私讚讚讚 04/11 14:33
ja556641222樓推!最近也在study Front end 的spec,這些資料讓 04/11 14:34
ja556641223樓我收益良多。 04/11 14:34
aika47240524樓 04/11 14:35
b011725樓請問原po是在p還是s高就? 04/11 14:39
Lhmstu26樓推,感謝分享 04/11 14:41
e8027627樓推推 04/11 14:42
leojojo28樓推推 04/11 14:44
basterds29樓和我想的差不多 (茶) 04/11 15:04
matthewka30樓 04/11 15:33
更多心得
[心得] 靠北光復路某3C賣場aka滷肉(絕不自刪)
[心得] 科技業10年之我見
[心得] 觸控產業
[心得] 大碩補習班獎學金
[心得] 老廢物設備(ASML/UMC/LAM/ASM)
[心得] 肉鬆通膨調薪
[心得] 系統廠學士五年薪水分享
[心得] 老廢物