Verifying shared memory integrity
First Claim
Patent Images
1. A method for verifying an integrity of a coherent shared memory using inline coding, the coherent shared memory comprising a plurality of memory units, the plurality of memory units being accessed by a plurality of bus masters, the method comprising:
- performing an active stage step, wherein the active stage step comprises;
writing, by each of the plurality of bus masters, a corresponding data from a cache memory of each bus master to at least one memory unit from the plurality of memory units, wherein each bus master includes a separate cache memory;
updating, within a status database, a status corresponding to the at least one memory unit to a modified state;
in response to performing the active stage step, performing a rewriting stage step comprising rewriting contents of the corresponding data from each cache memory of each of the plurality of bus masters to the at least one memory unit of the plurality of memory units; and
in response to performing the rewriting stage step, performing a verification stage step, wherein the verification stage step comprises;
each of the plurality of bus masters reading back data written by each of the plurality of bus masters, from the at least one memory unit;
comparing the data read back by each of the plurality of bus masters, with an expected data written in the at least one memory unit, wherein the expected data written is substantially similar to the corresponding data, and wherein the expected data is data which has been written by the plurality of bus masters during the active step; and
updating and/or maintaining the status corresponding to the at least one memory unit in the status database to at least one of;
a verified state, on the event of a match being found between the data read back and the expected data written, by at least one of the plurality of bus masters; and
the modified state, on the event of a mismatch between the data read back and the expected data written by at least one of the plurality of bus masters.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, a system and a computer program product including instructions for verification of the integrity of a shared memory using in line coding is provided. It involves an active step wherein multiple bus masters write a corresponding data to a shared memory. After that it also includes a verification step where data entered in the shared memory by multiple bus masters is verified.
26 Citations
19 Claims
-
1. A method for verifying an integrity of a coherent shared memory using inline coding, the coherent shared memory comprising a plurality of memory units, the plurality of memory units being accessed by a plurality of bus masters, the method comprising:
-
performing an active stage step, wherein the active stage step comprises; writing, by each of the plurality of bus masters, a corresponding data from a cache memory of each bus master to at least one memory unit from the plurality of memory units, wherein each bus master includes a separate cache memory; updating, within a status database, a status corresponding to the at least one memory unit to a modified state; in response to performing the active stage step, performing a rewriting stage step comprising rewriting contents of the corresponding data from each cache memory of each of the plurality of bus masters to the at least one memory unit of the plurality of memory units; and in response to performing the rewriting stage step, performing a verification stage step, wherein the verification stage step comprises; each of the plurality of bus masters reading back data written by each of the plurality of bus masters, from the at least one memory unit; comparing the data read back by each of the plurality of bus masters, with an expected data written in the at least one memory unit, wherein the expected data written is substantially similar to the corresponding data, and wherein the expected data is data which has been written by the plurality of bus masters during the active step; and updating and/or maintaining the status corresponding to the at least one memory unit in the status database to at least one of; a verified state, on the event of a match being found between the data read back and the expected data written, by at least one of the plurality of bus masters; and the modified state, on the event of a mismatch between the data read back and the expected data written by at least one of the plurality of bus masters. - View Dependent Claims (2, 3, 4, 5, 16, 19)
-
-
6. A system for verifying an integrity of a coherent shared memory using inline coding, the coherent shared memory comprising a plurality of memory units, the plurality of memory units being accessed by a plurality of bus masters, the plurality of bus masters each having a cache memory, the system comprising:
-
a write module that; writes, by each of the plurality of bus masters, a corresponding data from a cache memory of each bus master to at least one memory unit from the plurality of memory units; and in response to writing, by each of the plurality of bus masters, the corresponding data to the at least one memory unit and updating a status corresponding to the at least one memory unit in a status database, rewriting contents of the corresponding data from each cache memory of each of the plurality of bus masters to the at least one memory unit of the plurality of memory units; a read module that reads back data written by each of the plurality of bus masters, from the at least one memory unit; a compare module that matches the data read back by each of the plurality of bus masters, with an expected data written in the at least one memory unit, wherein the expected data written is substantially similar to the corresponding data, and wherein the expected data is data which has been written by the plurality of bus masters through the write module; and an update module that updates and/or maintains the status corresponding to the at least one memory unit in the status database, wherein the update module; updates the status corresponding to the at least one memory unit in the status database to a modified state when the corresponding data is written by each of the plurality of bus masters; updates the status database for the at least one memory unit to verified, on the event of a match being found between the data read back and the expected data written, by at least one of the plurality of bus masters; and maintains the status database for the at least one memory unit to the modified state, on the event of a mismatch being found between the data read back and the expected data written, by at least one of the plurality of bus masters. - View Dependent Claims (7, 8, 9, 10, 17)
-
-
11. A computer program product comprising a non-transitory computer readable medium, the non-transitory computer readable medium comprising an inline code used for verifying an integrity of a coherent shared memory, the coherent shared memory comprises a plurality of memory units, the plurality of memory units being accessed by a plurality of bus masters, the plurality of bus masters each having a separate cache memory, the computer program product comprising instructions for:
-
performing an active stage step, wherein the active stage step comprises; writing, by each of the plurality of bus masters, a corresponding data from a cache memory of each bus master to at least one memory unit from the plurality of memory units; updating, within a status database, a status corresponding to the at least one memory unit to a modified state; in response to performing the active stage step, performing a rewriting stage step comprising rewriting contents of the corresponding data from each cache memory of each of the plurality of bus masters to the at least one memory unit of the plurality of memory units; and in response to performing the rewriting stage step, performing a verification stage step, wherein the verification stage step comprises; each of the plurality of bus masters reading back data written by each of the plurality of bus masters, from the at least one memory unit; comparing the data read back by each of the plurality of bus masters, with an expected data written in the at least one memory unit, wherein the expected data written is substantially similar to the corresponding data, and wherein the expected data is data which has been written by the plurality of bus masters during the active step; and updating and/or maintaining the status corresponding to the at least one memory unit in the status database to at least one of; a verified state, on the event of a match being found between the data read back and the expected data written, by at least one of the plurality of bus masters; and the modified state, on the event of a mismatch between the data read back and the expected data written by at least one of the plurality of bus masters. - View Dependent Claims (12, 13, 14, 15, 18)
-
Specification