A method, comprising: in a memory (108A-108C) of a local node, generating a copied cache line that is a copy of a source cache line on a source node, wherein said copied cache line comprises version bits and data bits, said version bits being set to a first version value; generating a pointer that points to said copied cache line, said pointer including a second version value; using said pointer to perform a load operation on said copied cache line, including: determining (404, 406) whether the version bits in the copied cache line indicate that the copied cache line is invalid, wherein the copied cache line is determined as invalid if the version bits indicate a version value of one or more reserved version values, the one or more reserved version values being reserved for indicating that the copied cache line is invalid; if the copied cache line is determined as invalid, then: copying the source cache line, or an updated version thereof that is modified by any updates to the copied cache line made by the local node that have not been propagated to the source cache line, to the copied cache line; if the copied cache line is not determined as invalid, then: comparing the second version value included in said pointer to the first version value to which the version bits of the copied cache line are set; and determining whether memory corruption has occurred based on the comparison, wherein it is determined that memory corruption has occurred if the first and second version values do not match. in a memory (108A-108C) of a local node, generating a copied cache line that is a copy of a source cache line on a source node, wherein said copied cache line comprises version bits and data bits, said version bits being set to a first version value; generating a pointer that points to said copied cache line, said pointer including a second version value; using said pointer to perform a load operation on said copied cache line, including: determining (404, 406) whether the version bits in the copied cache line indicate that the copied cache line is invalid, wherein the copied cache line is determined as invalid if the version bits indicate a version value of one or more reserved version values, the one or more reserved version values being reserved for indicating that the copied cache line is invalid; if the copied cache line is determined as invalid, then: copying the source cache line, or an updated version thereof that is modified by any updates to the copied cache line made by the local node that have not been propagated to the source cache line, to the copied cache line; if the copied cache line is not determined as invalid, then: comparing the second version value included in said pointer to the first version value to which the version bits of the copied cache line are set; and determining whether memory corruption has occurred based on the comparison, wherein it is determined that memory corruption has occurred if the first and second version values do not match. determining (404, 406) whether the version bits in the copied cache line indicate that the copied cache line is invalid, wherein the copied cache line is determined as invalid if the version bits indicate a version value of one or more reserved version values, the one or more reserved version values being reserved for indicating that the copied cache line is invalid; if the copied cache line is determined as invalid, then: copying the source cache line, or an updated version thereof that is modified by any updates to the copied cache line made by the local node that have not been propagated to the source cache line, to the copied cache line; if the copied cache line is not determined as invalid, then: comparing the second version value included in said pointer to the first version value to which the version bits of the copied cache line are set; and determining whether memory corruption has occurred based on the comparison, wherein it is determined that memory corruption has occurred if the first and second version values do not match. comparing the second version value included in said pointer to the first version value to which the version bits of the copied cache line are set; and determining whether memory corruption has occurred based on the comparison, wherein it is determined that memory corruption has occurred if the first and second version values do not match.