1. A method for performing cache coherency in a computer system, comprising: selecting one of a plurality of coherency protocols for a first memory transaction, each of the plurality of coherency protocols having a unique set of cache states that may be applied to cached data for the first memory transaction; performing cache coherency for the first memory transaction on caches in the computer system by applying the set of cache states of the selected one of the plurality of coherency protocols.