PCIe veri yolu hata tespiti, aşağıdaki şekilde gösterildiği gibi bağlantıdaki (Bağlantı) hataları ve paket aktarımı sırasındaki hataları içerir. Kullanıcı tarafından tasarlanan uygulama katmanındaki hatalar, bağlantı aktarımındaki hatalar değildir ve PCIe'nin hata algılama ve işleme mekanizması aracılığıyla ele alınmamalıdır.Genel olarak, Cihaza Özel Kesinti gibi uygun yöntemlerle raporlanabilir ve işlenebilir.
Paket aktarım sürecindeki hatalar esas olarak CRC kodlamasıyla tespit edilir. PCIe, iki CRC-LCRC ve ECRC tanımlar. Bunların arasında, bir uçtaki veri bağlantı katmanından diğer uçtaki veri bağlantı katmanına gönderilen TLP'de hata olup olmadığını saptamak için LCRC (Bağlantı CRC) oluşturulur ve veri bağlantı katmanı tarafından kontrol edilir. ECRC (Uçtan Uca CRC), işlem katmanı tarafından oluşturulur ve kontrol edilir ve ECRC isteğe bağlıdır.
Birisi ECRC'nin gerekliliğini sorgulayabilir, çünkü LCRC, TLP üzerinde CRC kontrolü gerçekleştirmiştir ve bu temelde fazladan bir ECRC katmanı eklemek gerekmeyebilir. İşte kısa bir açıklama: Normal koşullar altında (özellikle Switch'siz basit bir PCIe veri yolu sisteminde), ECRC gerçekten gereksizdir. ECRC temel olarak Switch'in iletiminde yanlış olabilecek iletim hataları sorununu çözmektir.Başka bir deyişle, kullanıcının tasarımında Switch yoksa (sadece Kök ve Uç Nokta arasında basit bir uçtan uca bağlantı), ECRC tamamen gereksizdir.
Aşağıdaki şekilde gösterildiği gibi, Uç Noktadan gelen TLP'nin Anahtarın Aşağı akış giriş bağlantı noktasına (Giriş Bağlantı Noktası) doğru şekilde iletildiğini varsayarsak, Aşağı Akış giriş bağlantı noktasındaki veri bağlantı katmanı da LCRC kontrolünü tamamlamıştır ve hiçbir hata bulunmaz. Ardından Anahtar, LCRC'yi kaldıracak ve yeni bir sıra numarası (Sıra Numarası) ekleyecek, ardından LCRC'yi yeniden hesaplayacak ve ardından TLP'yi Anahtarın Yukarı Akış çıkış bağlantı noktasına (Çıkış Bağlantı Noktası) gönderecektir. Açıktır ki, TLP bu işlem sırasında korunmamaktadır Veri aktarımı veri aktarımı sırasında bir hata veya başka anormalliklerle karşılaştığında, LCRC'nin yeniden hesaplanmasından önceki veriler zarar görmüş olabilir ve bu tür bir hata sadece LCRC kullanılarak bulunamaz.
Not: Sıra numarası (Sıra Numarası) için Ack / Nak ile ilgili bir önceki makaleye bakabilirsiniz.
ECRC'nin AER'nin bir parçası olduğu unutulmamalıdır. ECRC'yi kullanmak için PCIe cihazının AER'yi desteklemesi gerekir.
Hatanın oluştuğu katmana göre bölünürse, fiziksel katman hataları, veri bağlantı katmanı hataları ve işlem katmanı hatalarına bölünebilir.
Fiziksel Katman Hataları temel olarak şunları içerir:
· 8b / 10b codec bileşeni anormal
Çerçeve istisnası (8b / 10b kodlama isteğe bağlıdır, 128b / 130b zorunludur)
· Elastic Buffer hatası (isteğe bağlı)
Sembol Kilidi Kaybı veya Şerit Eğriliği (isteğe bağlı)
Veri Bağlantısı Katmanı Hataları başlıca şunları içerir:
· LCRC kontrolü başarısız oldu
· Sıra Numarası anormal
· DLLP'deki 16 bitlik CRC denetimi başarısız oldu
· Bağlantı Katmanı Protokol Hataları
İşlem katmanı hataları (İşlem Katmanı Hataları) başlıca şunları içerir:
· ERCR kontrol hatası (isteğe bağlı)
· Hatalı biçimlendirilmiş TLP (Hatalı biçimlendirilmiş TLP) (yani, TLP'nin biçimi anormaldir)
· Akış Kontrol Protokolü İhlali
· Desteklenmeyen istek
· Veri Bozulması (Veri Bozulması, Zehirli Paket olarak da bilinir)
· Tamamlayıcı İptali (isteğe bağlı)
· Alıcı Taşması (isteğe bağlı)
· Tamamlama Zaman Aşımı
· Karşılıksız iade paketi (Beklenmeyen Tamamlanma, yani Tamamlanma, gönderilen Talep ile tutarsızdır)
Alıcı ucun fiziksel katmanı, TLP'de bir hata tespit ettiğinde, TLP, veri bağlantı katmanına ve işlem katmanına iletilmeye devam ederse, hata kaçınılmaz olarak bulunacaktır. Çok fazla hata, hata analizini ve işlemeyi zorlaştıracaktır. Bu nedenle, TLP'yi yukarı iletmeye gerek yoktur, ancak doğrudan atıp ilgili hatayı rapor edin.
Bununla birlikte, yine de, PCIe veri yolu hata raporundaki birçok hata aynı hata kaynağından kaynaklanır. Bu nedenle, hata kaynağının (en düşük hata) daha yüksek önceliğe sahip olması ve ilk olarak ele alınabilmesi için hataların önceliklendirilmesi gerekir. PCIe veri yolundaki hataların önceliği aşağıdaki gibidir (yüksekten düşüğe doğru öncelik):
· Düzeltilemez Dahili Hata (Düzeltilemez Dahili Hata)
· Alıcı uçta tampon taşması
· Akış kontrol protokol hatası
· ECRC kontrolü başarısız oldu
· Anormal TLP (Hatalı biçimlendirilmiş TLP)
· AtomicOp Çıkışı Engellendi
· TLP Öneki Engellendi (TLP Öneki Engellendi)
Erişim Kontrol Hizmetleri (ACS) istisnası
· MC (Çoklu yayın) Engellenen TLP
· Desteklenmeyen İstek (UR), Tamamlayıcı İptal (CA) veya Beklenmeyen Tamamlanma
· Hasarlı bir paket aldı (Zehirli Paket)