PCIe Question about LCRC and ECRC!

Can someone clearly explain me about the difference between the LCRC and ECRC in simple way??

In PCI express the ECRC is an optional field which is added by transaction layer and is indicated by TD field in TLP header that it is present. It traverse the pcie hierarchy from source to destination.

While LCRC is a mandatory field which is added by Data Link Layer it is only valid for a link i.e. it cannot traverse the pcie hierarchy.

The function of both LCRC and ECRC is to check data integrity.

Hope this solves your confusion.

Thanks,
Darshil.