In CHI specification,
Table 4-33 shows that the Requester final cache state of a ReadClean transaction is UD/SD while its initial state is UD/SD/UDP.
But in Table 4-5, it seems that only UC/SC state is permitted for ReadClean request.
Why is that?
This an error/oversight in the CHI Specification for Table 4-5.
Previously, it was not legal to issue ReadClean from anything other than a Invalid or UCE state, and so UC and SC were the only valid final states.
However, with MTE, if ReadClean has TagOp = Transfer then it is legal to issue ReadClean from other states and so SD and UD are valid final states. The reason for this is that the RN might have valid data, but invalid tags.