衡阳派盒市场营销有限公司

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

PCIe掃盲—PCIe錯誤檢測機制的詳細資料概述

SwM2_ChinaAET ? 來源:未知 ? 作者:易水寒 ? 2018-08-18 11:05 ? 次閱讀

PCIe總線錯誤檢測囊括了鏈路(Link)上的錯誤以及包傳遞過程中的錯誤,如下圖所示。用戶設計的應用程序層中的錯誤不屬于鏈路傳輸中的錯誤,不應當通過PCIe的錯誤檢測與處理機制處理,一般可借助設備特殊中斷(Device Specific Interrupt)等合適的方式進行報告與處理。

包傳遞過程的錯誤主要通過CRC編碼來檢測。PCIe定義了兩種CRC——LCRC和ECRC。其中LCRC(Link CRC)由數(shù)據(jù)鏈路層產生和校檢,用于檢測從一端的數(shù)據(jù)鏈路層發(fā)送到另一端的數(shù)據(jù)鏈路層的TLP是否發(fā)生的錯誤。而ECRC(End-to-end CRC)由事務層產生和校檢,且ECRC是可選的。

有人可能會質疑ECRC存在的必要性,因為LCRC已經對TLP進行了CRC校檢,在此基礎上多加一層ECRC可能是沒有必要的。這里來簡單地說明一下,一般情況下(尤其是沒有Switch的簡單PCIe總線系統(tǒng)中),ECRC的確是沒有必要存在的。ECRC主要為解決Switch中傳輸?shù)目赡苠e在的傳輸錯誤問題的,換句話說,如果用戶的設計中并沒有Switch(只是簡單的Root與Endpoint的端對端直連),完全可以不使用ECRC。

如下圖所示,假設來自Endpoint的TLP被正確地傳輸?shù)絊witch的Downstream輸入端口(Ingress Port),Downstream輸入端口中的數(shù)據(jù)鏈路層也完成了對其的LCRC校檢,且未發(fā)現(xiàn)錯誤。然后Switch會將該LCRC移除,并添加新的序列號(Sequence Number),隨后重新計算LCRC,再將該TLP發(fā)送至Switch的Upstream輸出端口(Egress Port)。顯然,在此過程中TLP是不受保護的,一旦期間數(shù)據(jù)傳輸遇到錯誤等異常,可能會導致重新計算LCRC前的數(shù)據(jù)已經受到了破壞,且僅僅使用LCRC是無法發(fā)現(xiàn)這樣的錯誤的。

注:關于序列號(Sequence Number),可以參考前面的關于Ack/Nak的相關文章。

需要注意的是,ECRC是AER中的一部分,要想使用ECRC,該PCIe設備必須是支持AER的。

如果按照錯誤產生的層(Layer)來分,則可以分為物理層錯誤,數(shù)據(jù)鏈路層錯誤和事務層錯誤。

物理層錯誤(Physical Layer Errors)主要有:

· 8b/10b編解碼異常

· Framing異常(8b/10b編碼中是可選的,128b/130b中是必選的)

· Elastic Buffer錯誤(可選的)

· 起始字符失鎖(Loss of Symbol Lock)或者通道對齊失鎖(Lane Deskew)(可選的)

數(shù)據(jù)鏈路層錯誤(Data Link Layer Errors)主要有:

· LCRC校檢失敗

· 序列號(Sequence Number)異常

· DLLP中的16-bit CRC校檢失敗

· 鏈路層協(xié)議錯誤(Link Layer Protocol Errors)

事務層錯誤(Transaction Layer Errors)主要有:

· ERCR校檢失?。蛇x的)

· 異常的TLP(Malformed TLP)(即TLP的格式異常)

· 流量控制協(xié)議異常(Flow Control Protocol Violation)

· 不支持的請求

· 數(shù)據(jù)損壞(Data Corruption,又稱為Poisoned Packet)

· Completer Abort(可選的)

· 接收端溢出(Receiver Overflow)(可選的)

· 返回包超時(Completion Timeout)

· 不對應的返回包(Unexpected Completion,即Completion與發(fā)出的Request不一致)

當接收端的物理層檢測到TLP存在錯誤時,如果再將該TLP繼續(xù)傳送至數(shù)據(jù)鏈路層和事務層必然也會發(fā)現(xiàn)錯誤。而過多的錯誤會讓錯誤分析與處理變得困難。因此,沒有必要在向上傳遞該TLP,而是將其直接扔掉,并報告相應的錯誤。

然而,即使這樣,PCIe總線的錯誤報告中也有很多錯誤源自同一個錯誤源。因此需要對錯誤進行優(yōu)先級排序,使得錯誤源(最底層的錯誤)的優(yōu)先級更高,能夠最先得到處理。PCIe總線中的錯誤優(yōu)先級排序如下(優(yōu)先級從高到低):

· 不可更正的內部錯誤(Uncorrectable Internal Error)

· 接收端Buffer溢出

· 流量控制協(xié)議錯誤

· ECRC校檢失敗

· 異常的TLP(Malformed TLP)

· AtomicOp Egress Blocked

· TLP包頭異常(TLP Prefix Blocked)

· 訪問控制服務(Access Control Services,ACS)異常

· MC(Multi-cast) Blocked TLP

· 不支持的請求(Unsupported Request,UR),Completer Abort(CA)或者不對應的返回包(Unexpected Completion)

· 接收到損壞的數(shù)據(jù)包(Poisoned Packet)

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

    關注

    0

    文章

    199

    瀏覽量

    29573
  • Link
    +關注

    關注

    0

    文章

    102

    瀏覽量

    27048
  • PCIe
    +關注

    關注

    15

    文章

    1260

    瀏覽量

    83186

原文標題:【博文連載】PCIe掃盲——PCIe錯誤檢測機制

文章出處:【微信號:ChinaAET,微信公眾號:電子技術應用ChinaAET】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    PCIe簡介及引腳定義

    2010年,PCIe 3.0 將數(shù)據(jù)速率提高到了 8.0 GT/s ,并采用了新的 128b/130b 編碼機制,使每個引腳的帶寬比 PCIe 2.0 翻了一番。新的編碼機制通過采用三
    的頭像 發(fā)表于 01-04 11:17 ?1.1w次閱讀

    PCIe插槽竟然能玩出花樣?多個最新PCIe擴展硬盤方式!#PCIe擴展 #PCIe #硬盤盒

    硬盤PCIe
    ICY DOCK硬盤盒
    發(fā)布于 :2024年07月11日 17:21:28

    PCIE總線詳細資料

    PCIE總線詳細資料
    發(fā)表于 02-15 15:23

    基于12槽PCIE擴展塢知識資料

    PCIE SSD+1個級聯(lián)擴展,是穩(wěn)定、高性能的PCIe擴展基礎設備。 基于12槽PCIE擴展塢知識資料.zip [/tr]
    發(fā)表于 07-03 09:37

    PCIe的技術原理詳細說明

    列出該設備的PCIe詳細信息(技術發(fā)燒友或數(shù)字控請關注該部分)。這些內容存儲在PCIe配置空間,它們描述的是PCIe本身的特性。如下圖所示(低位地址0x00在最左邊),可以看到這是一個
    發(fā)表于 05-25 09:22

    體驗紫光PCIE之使用WinDriver驅動紫光PCIE

    。 對于毫無PCIE知識和經驗的小白來說,比如我來說,使用好紫光的PCIE還是有難度的。畢竟紫光的參考資料真不多,網上也可以說幾乎沒有,且官方的IP、說明文檔并不是寫給小白看的。 對小白來說,很可能一開始
    發(fā)表于 11-17 14:35

    PCIe至USB的TMS320DM816xTMS320C6A816x和AM389x評估板詳細資料概述

    本文的主要內容是TI的產品PCIe至USB的TMS320DM816xTMS320C6A816x和AM389x的評估板詳細資料概述
    發(fā)表于 04-19 17:20 ?13次下載
    <b class='flag-5'>PCIe</b>至USB的TMS320DM816xTMS320C6A816x和AM389x評估板<b class='flag-5'>詳細資料</b><b class='flag-5'>概述</b>

    KeyStone中使用PCIE的應用案例和PCIE特征的詳細描述

    該文檔給出了KeyStone中PCIE使用的例子,包括地址轉換、多設備連接和編程示例。它還包含PCIE特征的詳細描述,這些特征補充了PCIE用戶指南中的信息。
    發(fā)表于 04-28 10:32 ?12次下載
    KeyStone中使用<b class='flag-5'>PCIE</b>的應用案例和<b class='flag-5'>PCIE</b>特征的<b class='flag-5'>詳細</b>描述

    PCIe錯誤報告機制上高級錯誤報告AER

    也是其他錯誤的根源。PCIe Spec V2.1還支持多個錯誤的追蹤(Tracking Multiple Errors)。
    的頭像 發(fā)表于 08-27 11:31 ?7558次閱讀
    <b class='flag-5'>PCIe</b><b class='flag-5'>錯誤</b>報告<b class='flag-5'>機制</b>上高級<b class='flag-5'>錯誤</b>報告AER

    PHP出現(xiàn)502錯誤的問題如何解決詳細資料說明

    本文檔的主要內容詳細介紹的是PHP出現(xiàn)502錯誤的問題如何解決詳細資料說明
    發(fā)表于 03-14 17:17 ?6次下載
    PHP出現(xiàn)502<b class='flag-5'>錯誤</b>的問題如何解決<b class='flag-5'>詳細資料</b>說明

    python的內置函數(shù)詳細資料概述

    本文檔的主要內容詳細介紹的是python的內置函數(shù)詳細資料概述
    發(fā)表于 11-18 08:00 ?0次下載

    CAN總線基礎的詳細資料概述

    本文檔的主要內容詳細介紹的是CAN總線基礎的詳細資料概述包括了:概述,汽車總線與CAN標準,CAN的通信機制,數(shù)據(jù)幀,
    發(fā)表于 11-29 15:31 ?121次下載
    CAN總線基礎的<b class='flag-5'>詳細資料</b><b class='flag-5'>概述</b>

    EMC HF墊圈的詳細資料概述

    本文檔的主要內容詳細介紹的是EMC HF墊圈的詳細資料概述免費下載。
    發(fā)表于 09-07 08:00 ?0次下載
    EMC HF墊圈的<b class='flag-5'>詳細資料</b><b class='flag-5'>概述</b>

    PCIe錯誤報告的兩種機制詳解

    機制PCIe設備必需支持的一種錯誤報告機制,同時設備會定義最小的錯誤報告請求。應該是通過配置Device Control和Command
    的頭像 發(fā)表于 10-23 11:14 ?2.6w次閱讀
    <b class='flag-5'>PCIe</b><b class='flag-5'>錯誤</b>報告的兩種<b class='flag-5'>機制</b>詳解

    PCIe熱插拔機制介紹

    前言本文主要講述PCIe熱插拔機制,通過圖形方式方便讀者快速掌握。 一、概述 如果在PCIe設備不支持熱插拔的條件下,在不斷電的情況下插拔一塊PCI
    的頭像 發(fā)表于 11-20 09:07 ?821次閱讀
    <b class='flag-5'>PCIe</b>熱插拔<b class='flag-5'>機制</b>介紹
    大发888 迅雷快传| 大发888娱乐城都有啥扑克牌游戏| 大发888国际体育| 澳门百家乐官网秘诀| 百家乐官网五湖四海娱乐平台 | 雅江县| 百家乐官网赌博大赢家| 7人百家乐桌布| 大发888 真钱娱乐平台| 富锦市| 大世界百家乐官网的玩法技巧和规则 | 正品百家乐玩法| 壶关县| 现金百家乐| 棋牌王中王| 百家乐官网博娱乐网| 百家乐真人游戏攻略| 太阳城娱乐城88| 百家乐官网技巧微笑心法| 百家乐赢家| 奥斯卡娱乐城| 马牌百家乐官网的玩法技巧和规则| 皇室百家乐的玩法技巧和规则| 东山县| 网上百家乐赌场| 奇博网上娱乐| 百家乐官网麻将筹码币镭射贴膜| 澳门百家乐网40125| 娱乐城百家乐官网技巧| 百家乐平台哪个好本站所有数据都是网友推荐及提供 | 玩百家乐官网如何硬| 百家乐五星宏辉怎么玩| 名山县| 百家乐群boaicai| 体育投注| 百家乐玩法及技巧| 永利高足球博彩网| 网上百家乐心得| 明升备用| 百家乐投注平台导航网| bet365备用网|