大家好,我目前任職於某家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://webptt.cc/bbs/Tech_Job/M.1649656821.A.283.html
※ 編輯: Caramel715 (125.227.10.151 臺灣), 04/11/2022 14:22:14
其實我就是看到大陸很多這種技術文章,
但在台灣很少看到,
因為大陸有些用語我看得不太習慣,
所以我就自己寫了
※ 編輯: Caramel715 (125.227.10.151 臺灣), 04/11/2022 16:08:19
印象中這個可能要講到BIOS,
因為BIOS會define MMIO base address位置,
BIOS就依據這個base,
從bus number 0~255、dev 0~32、func 0~8,
三個for迴圈全部掃過一遍,
如果VendorID和DeviceID有值代表device存在
※ 編輯: Caramel715 (125.227.10.151 臺灣), 04/11/2022 19:20:11
沒錯,我很多PCIe知識也都從那邊獲得
※ 編輯: Caramel715 (1.169.193.191 臺灣), 04/11/2022 22:16:10
其實我也很想看,不然我都不知道back-end在做什麼 XD
※ 編輯: Caramel715 (1.169.193.191 臺灣), 04/11/2022 23:39:36
有道理,其實FTL的精隨就是如何去操作NAND,
現在為了省錢好像都使用TLC,但TLC的缺點就是P/E值較低
所以演算法非常重要,因為要延長NAND的壽命
演算法就是公司的Know-how了吧
※ 編輯: Caramel715 (1.169.193.191 臺灣), 04/12/2022 00:39:24
有道理,以防被偷,以後加個浮水印好了
※ 編輯: Caramel715 (125.227.10.151 臺灣), 04/12/2022 19:13:56
※ 編輯: Caramel715 (1.169.224.116 臺灣), 04/13/2022 19:29:20
推文 (155)
推
iamala
推推
04/11 14:02
→
lolpklol0975
群聯 推
04/11 14:05
推
gn01216674
推
04/11 14:06
推
s869225
推
04/11 14:07
推
legendary02
推推
04/11 14:09
推
kuyfd456
推
04/11 14:13
推
andyw7612162
推
04/11 14:14
推
bnd0327
推推
04/11 14:17
推
Eligor41
推
04/11 14:17
推
tim82518
推
04/11 14:19
推
djboy
謝謝分享
04/11 14:19
推
fakon
先推一個
04/11 14:19
推
benson01
推
04/11 14:21
推
loveabc
推
04/11 14:29
推
roy19991013
推
04/11 14:30
推
lohas1019
知識 推!
04/11 14:30
推
andrew82465
推推 動畫清楚明瞭
04/11 14:31
推
sabar
謝分享
04/11 14:31
推
gugeegee
推推 真的看到都會背章節了XD
04/11 14:32
推
cjw0716
推,謝謝學長
04/11 14:33
推
ulovebaby
smi 無私讚讚讚
04/11 14:33
推
ja5566412
推!最近也在study Front end 的spec,這些資料讓
04/11 14:34
→
ja5566412
我收益良多。
04/11 14:34
推
aika472405
推
04/11 14:35
推
b0117
請問原po是在p還是s高就?
04/11 14:39
推
Lhmstu
推,感謝分享
04/11 14:41
推
e80276
推推
04/11 14:42
推
leojojo
推推
04/11 14:44
推
basterds
和我想的差不多 (茶)
04/11 15:04
推
matthewka
推
04/11 15:33
推
chiro1982
我記得ssd fan有好幾篇對FE介紹的也蠻詳細的
04/11 15:36
推
sustr55
推
04/11 15:38
推
tech1140
感謝分享
04/11 15:38
推
yugi2567
想也知道群聯
04/11 15:40
推
hihihihsuan
感謝分享!
04/11 15:42
推
a9101214
推
04/11 15:45
推
lplay
good
04/11 15:49
推
ShangLai
推
04/11 15:52
推
stevenwin
推
04/11 15:54
推
dear82000
感謝高手分享
04/11 16:02
推
shoushing
推 剛拜讀完大大的AER
04/11 16:03
推
bloodpiece
只能推了
04/11 16:06
推
kjay
感謝分享 造福雜魚我
04/11 16:09
推
ckpetercheng
好文推推 台灣沒有這種技術社群真的可惜
04/11 16:11
推
jupei
狂
04/11 16:21
推
xoy232
推
04/11 16:45
推
kolipjum1
推大神
04/11 16:48
推
s89029
推推
04/11 17:01
推
ninja4great
推
04/11 17:02
推
la8day
推
04/11 17:03
推
yorkeram
推分享 很多技術文章都簡體居多
04/11 17:05
→
sheepxo
推
04/11 17:05
推
samluna
推
04/11 17:24
推
jacky31232
推
04/11 17:37
推
pilodee
推
04/11 17:42
推
spirit
好用心
04/11 17:43
推
zzztrees
推推
04/11 17:47
推
happy410489
推
04/11 17:49
推
hankower
推
04/11 18:09
推
cityioio
推
04/11 18:11
推
Helloyu
好心人推推
04/11 18:13
推
ohohohya
有沒有講程式的 我想看pci enumuration
04/11 18:17
推
assassinzero
推推,感謝分享
04/11 18:21
推
jerry012188
推
04/11 18:22
推
maxumin
希望分享nvme2.0b,pcie5.0
04/11 18:27
推
longandersen
推
04/11 18:28
推
Dracarys
好奇這specs都幾頁啊?
04/11 18:39
推
omnmnmnm
推
04/11 18:45
推
AaronWang
推
04/11 18:58
推
jasonwung
推
04/11 19:00
推
aaron70221
推
04/11 19:01
推
GenesisXD
優文!
04/11 19:01
推
q10293847
推推
04/11 19:09
推
aspirev3
推
04/11 19:28
推
BingLing
推
04/11 19:32
推
god4yoo
推
04/11 19:46
推
meokay
推好心
04/11 19:49
推
hold5566
push
04/11 19:49
推
goldie
push
04/11 20:07
推
GuoJing18
推
04/11 20:33
推
a901601
推
04/11 20:53
→
dildoe
伸手的連picsig會員都沒吧 XD
04/11 20:57
推
k798976869
推
04/11 21:04
推
sitting
感謝分享
04/11 21:10
推
roy415012
推推 好文章
04/11 21:38
推
A1ch3mi5t
推
04/11 21:46
推
rockrock1127
優質文章 推!
04/11 22:07
推
woulin
對岸csdn很多這類文章
04/11 22:13
推
anewlife
推推
04/11 22:19
推
jarjar3215
推
04/11 22:19
推
rosty
推
04/11 22:36
推
qoo69600
好文一起推
04/11 22:37
推
dnweimin
推
04/11 23:04
推
lplpkkk
推
04/11 23:15
推
caeserhaha
有沒有人要寫FTL的
04/11 23:36
推
ho83leo
不錯
04/11 23:37
推
gR7P4zXH
o.o
04/12 00:16
推
TWkobe
Haha 我想寫FTL 的筆記但感覺會牽涉機密,一般常見
04/12 00:26
→
TWkobe
的感覺看論文就好
04/12 00:26
推
tim32338519
推 感謝分享
04/12 00:50
→
rizman28
好人好事
04/12 01:06
推
BlueToast
好人
04/12 01:14
推
apple5811
用心好文 推推
04/12 01:31
推
a830606
讚
04/12 02:08
推
Jiraya
推
04/12 02:22
推
jason911665
推推之前就有看過大大的文章 非常實用
04/12 02:41
推
poem5566
高手推
04/12 03:08
推
EinArthur
厲害 推
04/12 05:06
推
mikemike1021
我們可以來建立台灣的技術社群
04/12 05:18
→
mikemike1021
個人有建立了 forum.community.tw
04/12 05:19
→
mikemike1021
能使用markdown跟自動為程式碼上色等,也能當一些靜
04/12 05:19
→
mikemike1021
態部落格的留言系統或者用rss轉貼(經作者同意)。
04/12 05:19
→
mikemike1021
歡迎大家來試試
04/12 05:19
推
ppony
慧榮?
04/12 06:37
推
ppony
強
04/12 06:47
推
neil908413
推 用心
04/12 08:11
推
iori305
推
04/12 08:29
推
Padparacha
我的天啊我在bios海載浮載沉的時候就是你的網誌救了
04/12 08:42
→
Padparacha
我一命QQ
04/12 08:42
推
qq155266
推
04/12 10:30
推
southwind
大推!
04/12 11:15
推
koka813
讚喔
04/12 11:24
推
loge400
推! 這太讚了
04/12 11:46
推
tuner123
推
04/12 11:52
推
albert7530
FTL一定有known how, 不用想了
04/12 12:20
推
albert7530
我建議可以朝flash access下手,例如分析讀data ret
04/12 12:22
→
albert7530
ension nand scaled, read refrence 這就無關機密了
04/12 12:22
推
ipieee
推一個
04/12 12:50
推
freezeblue
好文推~
04/12 13:17
推
bloodmoon16
推
04/12 13:26
推
Leo930057
推爆
04/12 13:27
推
SMInice
學長推
04/12 14:02
推
elesterknigh
推 分享
04/12 14:16
推
warcraft354
推!!
04/12 15:04
推
panrong
推! 要不要在動畫裡放國旗XD 以防...
04/12 17:59
推
u9412038
推
04/12 18:39
推
goldie
推
04/12 19:15
推
shibin
推,NVMe台灣的文章真的不多
04/12 21:24
推
NotForever
推 感謝你~
04/13 00:26
推
apnsd2y
推
04/13 01:17
推
sef96121
推
04/13 08:41
推
nic0935
高
04/13 09:29
推
hh440977
推
04/13 09:34
推
heaviest
推
04/13 10:17
推
peterlin0224
讚
04/13 11:57
推
nomorex6
推
04/13 16:58
推
pudin0116
推
04/13 23:11
推
yhaoo666
讚,寫的很棒,受用無窮
04/14 00:44
推
Milesians
推
04/14 18:55
推
a910184
必須推
04/15 08:23
推
craigwang
push
04/17 00:08
推
cherry0712
推好心
04/18 23:23
推
xx5236294roy
我推
04/19 22:48
推
stwart
推推認真文
10/13 17:15
推
bluesky1020
推 認真文 太強大了 我要來拜讀一下
10/22 07:30