Memory corruption detection support for distributed shared memory applications
First Claim
1. A method, comprising:
- in a memory of a local node, generating a copied cache line that is a copy of a source cache line on a source node, wherein the said copied cache line comprises version bits and data bits, said version bits being set to a version value;
generating a pointer that points to said copied cache line, said pointer having a pointer value that includes said version value;
using said pointer to perform a memory operation on said copied cache line, wherein performing a memory operation includes;
comparing the version value included in said pointer value to the 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.
1 Assignment
0 Petitions
Accused Products
Abstract
Nodes in a distributed node system are configured to support memory corruption detection when memory is shared between the nodes. Nodes in the distributed node system share data in units of memory referred to herein as “shared cache lines.” A node associates a version value with data in a shared cache line. The version value and data may be stored in a shared cache line in the node'"'"'s main memory. When the node performs a memory operation, it can use the version value to determine whether memory corruption has occurred. For example, a pointer may be associated with a version value. When the pointer is used to access memory, the version value of the pointer may indicate the expected version value at the memory location. If the version values do not match, then memory corruption has occurred.
-
Citations
24 Claims
-
1. A method, comprising:
-
in a memory of a local node, generating a copied cache line that is a copy of a source cache line on a source node, wherein the said copied cache line comprises version bits and data bits, said version bits being set to a version value; generating a pointer that points to said copied cache line, said pointer having a pointer value that includes said version value; using said pointer to perform a memory operation on said copied cache line, wherein performing a memory operation includes; comparing the version value included in said pointer value to the 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. One or more non-transitory storage media storing instructions which, when executed by one or more processors, cause performance of:
-
in a memory of a local node, generating a copied cache line that is a copy of a source cache line on a source node, wherein the said copied cache line comprises version bits and data bits, said version bits being set to a version value; generating a pointer that points to said copied cache line, said pointer having a pointer value that includes said version value; using said pointer to perform a memory operation on said copied cache line, wherein performing a memory operation includes; comparing the version value included in said pointer value to the version value to which the version bits of the copied cache line are set; determining whether said copied cache line has been corrupted based on the comparison. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer system, comprising:
one or more computing nodes, wherein each computing node of the one or more computing nodes is configured to; in a memory of said each computing node, generate a copied cache line that is a copy of a source cache line on a source node belonging to said one or more computing nodes, wherein the said copied cache line comprises version bits and data bits, said version bits being set to a version value; generate a pointer that points to said copied cache line, said pointer having a pointer value that includes said version value; use said pointer to perform a memory operation on said copied cache line, wherein the memory operation includes; to compare the version value included in said pointer value to the version value to which the version bits of the copied cache line are set; and to determine whether said copied cache line has been corrupted based on the comparison. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
Specification