0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

協(xié)議測試Open Lab分析底層PCIe的問題

SSDFans ? 來源:SSDFans ? 2023-05-06 09:25 ? 次閱讀

最近某開發(fā)嵌入式平臺的客戶到我們的協(xié)議測試Open Lab分析底層PCIe的問題。問題癥狀看起來很簡單,開發(fā)板上DSP芯片的RC(Root Complex)端通過PCIe鏈路直連M.2 NVMe SSD,讀操作沒有任何問題,但是寫操作會失敗。前后折騰了6個多月,最后找到我們實驗室通過SerialTek公司的Kodiak系列PCIe協(xié)議分析儀通過協(xié)議抓包的方式快速解決了問題。

下面是分析的大致步驟和過程。

1.我們先抓取一個read操作,讀取一個扇區(qū)512字節(jié)。

4be24fee-eb7c-11ed-90ce-dac502259ad0.png

從上圖,我們看到,藍(lán)色底色部分是NVMe SSD controller去主內(nèi)存里面拿這個read command,成功完成。緊接著,SSD controller從NAND拿到數(shù)據(jù)后將這些數(shù)據(jù)通過4個128byte的memory write寫到主內(nèi)存。

2.我們再來抓取一個write操作,寫一個扇區(qū)512字節(jié)。執(zhí)行命令后,發(fā)現(xiàn)寫失敗。

4c1b8444-eb7c-11ed-90ce-dac502259ad0.png

從上圖可以看出,SSD controller在時間戳16.353.876.194.000這一行取到write command后,在藍(lán)色底色這一行報錯,Unsupported Request。這一行是SSD controller發(fā)送Memory Read命令到內(nèi)存讀取512byte的數(shù)據(jù),但是被RC端拒絕了。

在問題未仔細(xì)分析之前,我們開始覺得這是否可能和SSD的sector扇區(qū)的block size有關(guān),因為一般都是512byte,也有1K, 2K, 4K block size的。所以,我們就用ChatGPT先問了一下業(yè)內(nèi)是否有支持256byte sector大小的NVMe SSD。參看下圖。

4c6bb662-eb7c-11ed-90ce-dac502259ad0.png

結(jié)果找到全球只有Micron 一個M.2 SSD支持。

4c7e5e16-eb7c-11ed-90ce-dac502259ad0.png

結(jié)果發(fā)現(xiàn)ChatGPT弄了一個大烏龍,整個Micron產(chǎn)品單頁中確實出現(xiàn)好多256,但是要么是256GB,AES Key Size 256 Bits,SHA 256,甚至256 sector或者256 words。所以,看來使用ChatGPT來給出建議還不是很靠譜啊。

我們再次仔細(xì)來分析該錯誤,同時比對為什么read command可以成功,但是write command卻失敗了。直觀的對比發(fā)現(xiàn)可能和Max Read Request Size 有關(guān)。我們查找RC的手冊,發(fā)現(xiàn)它的規(guī)格Spec里面明確寫明RC接受的遠(yuǎn)端device的Max Read Request Size為256byte,但是我們抓包發(fā)現(xiàn)SSD的PCIe memory read request size是512 byte,這個應(yīng)該就是RC回復(fù)SSD的Unsupported Request的直接原因。

4caf8964-eb7c-11ed-90ce-dac502259ad0.png

為了驗證這個想法,我們在RC端在初始化的時加入一行代碼設(shè)置device端的Max Read Request Size為001 (該字段為3bit, 二進(jìn)制001表示256byte)。然后重新開機(jī)運(yùn)行寫操作,這次寫2048個字節(jié),結(jié)果成功了。2048個字節(jié)分解成8次memory read,每次256字節(jié),參見下圖。

4cc9a8e4-eb7c-11ed-90ce-dac502259ad0.png

至此,問題得到有效解決。當(dāng)然,平時有的時候也會發(fā)現(xiàn)你請求512byte,結(jié)果發(fā)送4次128 byte的情況,就像我們上面的read command一樣,解釋如下。

4d0e8a9a-eb7c-11ed-90ce-dac502259ad0.png






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • dsp
    dsp
    +關(guān)注

    關(guān)注

    553

    文章

    7998

    瀏覽量

    348965
  • NAND
    +關(guān)注

    關(guān)注

    16

    文章

    1682

    瀏覽量

    136165
  • SSD
    SSD
    +關(guān)注

    關(guān)注

    21

    文章

    2862

    瀏覽量

    117436
  • PCIe接口
    +關(guān)注

    關(guān)注

    0

    文章

    120

    瀏覽量

    9706

原文標(biāo)題:一個PCIe底層Max Read Request Size問題差點(diǎn)被ChatGPT忽悠了

文章出處:【微信號:SSDFans,微信公眾號:SSDFans】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    PCIe引腳定義和PCIe協(xié)議層介紹

    本文我們將向大家介紹PCIe引腳定義以及PCIe協(xié)議層。
    發(fā)表于 09-26 11:39 ?1.7w次閱讀
    <b class='flag-5'>PCIe</b>引腳定義和<b class='flag-5'>PCIe</b><b class='flag-5'>協(xié)議</b>層介紹

    PCIE 3.0的接收機(jī)物理層測試方案

    信號速率高于5Gbps 以上,規(guī)范均會規(guī)定要求產(chǎn)品必須通過接收機(jī)一致性測試。接收端測試的基本原理是測試儀器(通常使用誤碼分析儀或者信號源和能分析
    發(fā)表于 09-26 17:33

    體驗紫光PCIE之使用WinDriver驅(qū)動紫光PCIE

    對BAR0寫進(jìn)去和讀出來是一致的,但是這樣并不知底層如何操作,可以在FPGA使用Inserter抓取相關(guān)信號結(jié)合PCIE協(xié)議分析。RX信號在axis_master,TX信號在axis
    發(fā)表于 11-17 14:35

    攜手共進(jìn),合作共贏--全志科技&OPEN AI LAB聯(lián)合發(fā)布會圓滿舉行!

    全志科技和OPEN AI LAB達(dá)成戰(zhàn)略合作協(xié)議--致力于提供嵌入式AI應(yīng)用開發(fā)工具與平臺,共同推進(jìn)芯片、硬件、軟件整個產(chǎn)業(yè)鏈的深入?yún)f(xié)作,讓有計算的地方就有人工智能,最終解決機(jī)器智能化以及系統(tǒng)生態(tài)碎片化的問題。
    發(fā)表于 09-20 08:39 ?1232次閱讀

    PCIe Gen 4協(xié)議分析儀的竟然那么強(qiáng)大!

    分析革命性創(chuàng)新的領(lǐng)導(dǎo)者,SerialTek公司的PCIe Gen 4和Gen 5協(xié)議分析儀不僅顛覆了傳統(tǒng)的PCIe
    的頭像 發(fā)表于 09-21 14:26 ?1.1w次閱讀

    廣和通5G模組FM150-AE順利完成華為Open Lab認(rèn)證測試

    近日,廣和通5G模組FM150-AE在華為Open Lab順利完成認(rèn)證測試,成為首批獲得Huawei Compatible技術(shù)認(rèn)證的模組產(chǎn)品。 華為Open
    的頭像 發(fā)表于 01-18 11:08 ?3381次閱讀

    最新PCIe Gen 5 switch芯片已內(nèi)置SerialTek PCIe抓包分析功能

    環(huán)節(jié)可能遇到的各種疑難問題,工程師只需要免費(fèi)下載SerialTek PCIe協(xié)議分析儀軟件BusXpert即可直接配置PCIe Gen 5 switch進(jìn)行抓包
    的頭像 發(fā)表于 04-13 15:30 ?5670次閱讀
    最新<b class='flag-5'>PCIe</b> Gen 5 switch芯片已內(nèi)置SerialTek <b class='flag-5'>PCIe</b>抓包<b class='flag-5'>分析</b>功能

    淺析PCIe Gen 5 switch芯片內(nèi)置的SerialTek PCIe抓包分析功能

    SerialTek是PCIe,NVMe和SAS/SATA協(xié)議測試解決方案的全球領(lǐng)先提供商,今天推出的PCIe測試
    的頭像 發(fā)表于 04-13 15:34 ?6772次閱讀
    淺析<b class='flag-5'>PCIe</b> Gen 5 switch芯片內(nèi)置的SerialTek <b class='flag-5'>PCIe</b>抓包<b class='flag-5'>分析</b>功能

    力科將推出(PCIe)完整性新協(xié)議分析和流量生成解決方案

    2022年6月14日,Milpitas,串行數(shù)據(jù)測試解決方案的全球領(lǐng)導(dǎo)者力科,將在 PCI-SIG開發(fā)者大會2022上展示用于測試 PCI Express (PCIe) 完整性和數(shù)據(jù)加密 (IDE) 安全
    的頭像 發(fā)表于 06-17 17:01 ?4825次閱讀

    解決PCIe協(xié)議驗證挑戰(zhàn)

      在滿足所有測試以建立穩(wěn)定的通信通道后,下一步是驗證PCIe 總線上的應(yīng)用層(例如 NVMe)。對于 NVMe 協(xié)議測試,用戶將需要一個工具來觀察不同部分的交互方式。數(shù)據(jù)鏈路層、確認(rèn)
    的頭像 發(fā)表于 06-19 15:44 ?2322次閱讀
    解決<b class='flag-5'>PCIe</b><b class='flag-5'>協(xié)議</b>驗證挑戰(zhàn)

    PCIE協(xié)議5.0完整版

    PCIE協(xié)議5.0完整版
    發(fā)表于 09-13 14:32 ?0次下載

    U4301A PCIE3.0協(xié)議分析儀:首款可在AXIe機(jī)箱中工作的測量模塊

    PCIE3.0協(xié)議分析儀U4301A,它是一塊采用了Agilent AXIe架構(gòu)的插卡,可以插在AXIe的機(jī)箱里,通過探頭來捕獲高速的PCIE 3.0信號,并通過外部PC控制顯示
    的頭像 發(fā)表于 10-12 17:33 ?1523次閱讀

    PCIe5.0, CXL, NVMe, NAND, DDR5, UFS4測試技術(shù)和工具白皮書Ver 8.0發(fā)布了!

    Chapter 1:Saniffer開放實驗室Open Lab介紹,包括可提供的測試產(chǎn)品和服務(wù),合作實驗室提供的針對PCIe Gen5 物理層和協(xié)議
    的頭像 發(fā)表于 02-24 10:28 ?2815次閱讀

    pcie協(xié)議規(guī)范

    pcie協(xié)議
    發(fā)表于 05-16 09:09 ?98次下載

    Prodigy Technovations推出功能強(qiáng)大的PCIe Gen5協(xié)議分析

    印度班加羅爾2024年7月26日?/美通社/ -- 創(chuàng)新協(xié)議分析解決方案的領(lǐng)先供應(yīng)商Prodigy Technovations今日宣布推出其PGY-PCIeGen5-PA,即PCIe Gen5
    的頭像 發(fā)表于 07-29 05:36 ?357次閱讀
    Prodigy Technovations推出功能強(qiáng)大的<b class='flag-5'>PCIe</b> Gen5<b class='flag-5'>協(xié)議</b><b class='flag-5'>分析</b>儀