[心得] PCIe & NVME Protocol Study

楼主: Caramel715 (焦糖)   2022-04-11 14:00:18
大家好,我目前任职于某家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
作者: lolpklol0975 (鬼邢)   2022-04-11 14:05:00
群联 推
作者: andyw7612162 (NewPolice)   2022-04-11 14:14:00
作者: ckpetercheng (ckpetercheng)   2022-04-11 16:11:00
好文推推 台湾没有这种技术社群真的可惜
作者: assassinzero (刺客教条 我的最爱)   2022-04-11 18:21:00
推推,感谢分享
作者: longandersen (longandersen)   2022-04-11 18:28:00
作者: rockrock1127 (rockrock1127)   2022-04-11 22:07:00
优质文章 推!
作者: mikemike1021 (mike)   2022-04-12 05:18:00
我们可以来建立台湾的技术社群个人有建立了 forum.community.tw能使用markdown跟自动为程式码上色等,也能当一些静态部落格的留言系统或者用rss转贴(经作者同意)。欢迎大家来试试
作者: elesterknigh   2022-04-12 14:16:00
推 分享
作者: peterlin0224 (普通人)   2022-04-13 11:57:00

Links booklink

Contact Us: admin [ a t ] ucptt.com