Patent ID: 6922658

Claim:
A method for testing the validity of shared data in a multiprocessing system, the method comprising: receiving at a first central processing unit a list of fetch and store instructions associated with blocks in a shared memory location, the list including: at least one data value, at least one central processing unit identifier and a relative order associated with the instructions, wherein: one of said data values associated with one of said instructions was stored by a memory-to-memory, memory-to-register or register-to-memory operation; and one of said central processing unit identifiers associated with one of said instructions is an identifier corresponding to one of a plurality of central processing units that have access to said shared memory location including said first central processing unit; performing a fetch operation at a block in said shared memory location from said first central processing unit; receiving fetched data at said first central processing unit in response to said performing, wherein said fetched data was stored by one of said plurality of central processing units; verifying that said fetched data conforms to a block concurrency rule in response to said list, the verifying including identifying a source central processing unit from said plurality of central processing units for said fetched data by scanning said list for said fetched data and reducing said list in response to said fetched data appearing once on said list; and checking that said fetched data conforms to a serialization rule in response to said list.