--- Quote Start ---
I am not sure that I understand what you are saying in your last post. It sounds like you are talking about two different devices performing memory read requests where the two devices assign the same tag to the requests. Short of analyzing packets on the bus, I don't know how you could know that this is the case. You simply need to guarantee that your PCIe device does not make two memory read requests with the same ID. You can only re-use the ID for a new request after a completion comes back for the first request containing that same ID.
Sorry if I am not getting to the heart of your question.
--- Quote End ---
One device. The PC can access to the memory on this device. And this device can access to the main memory on PC (bus mastering). PC make memory read request to the device memory. And device make memory read request to PC memory. PC and device make memory read request in same time. I can guarantee that my device does not make two memory read request in same time. But I can't guarantee that PC does not make memory read request with same tag. My device make memory read request from PC memory with tag 5 and and same time PC make memory read request with tag 5 from device memory. In this case will be two memory read request in system with same tag. One from my device and other from PC. Is this problem?