Methods and system for verifying memory device integrity
First Claim
Patent Images
1. A method for verifying an integrity of a memory device, the method comprising:
- calculating at a first time, by a processor coupled to the memory device, a first checksum for a memory block corresponding to at least one memory location within the memory device while the memory block is mapped to a first portion of a first file;
associating the memory block with the first portion of the first file to which the memory block is mapped at the first time, and to the first checksum representing data within the memory block at the first time;
determining, by the processor, whether the memory block is mapped to the first portion of the first file at a second time subsequent to the first time; and
based at least in part on determining that the memory block is mapped to the first portion of the first file at the second time, indicating, by the processor, that the first checksum represents expected data within the memory block at the second time,wherein the calculating, the determining, and the indicating occur during a time period when the processor is executing one or more application programs.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for verifying memory device integrity includes identifying at least one memory block corresponding to at least one memory location within a memory device. The memory block is associated with a portion of a file and a checksum representing data within the memory block at a first time. Based at least in part on determining that the memory block is mapped to the same portion of the same file at a second time, it is indicated that the checksum represents expected data within the memory block. A system for verifying memory device integrity is also disclosed.
34 Citations
26 Claims
-
1. A method for verifying an integrity of a memory device, the method comprising:
-
calculating at a first time, by a processor coupled to the memory device, a first checksum for a memory block corresponding to at least one memory location within the memory device while the memory block is mapped to a first portion of a first file; associating the memory block with the first portion of the first file to which the memory block is mapped at the first time, and to the first checksum representing data within the memory block at the first time; determining, by the processor, whether the memory block is mapped to the first portion of the first file at a second time subsequent to the first time; and based at least in part on determining that the memory block is mapped to the first portion of the first file at the second time, indicating, by the processor, that the first checksum represents expected data within the memory block at the second time, wherein the calculating, the determining, and the indicating occur during a time period when the processor is executing one or more application programs. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for verifying an integrity of a memory device, the system comprising:
-
a memory device comprising a plurality of memory locations; and a processor coupled to the memory device programmed to perform the following during a time period in which the processor is executing one or more application programs of an operation system; identify a memory block corresponding to at least one memory location of the plurality of memory locations within the memory device; calculate, at a first time, a checksum for the memory block while the memory block is mapped to a first portion of a first file; associate the memory block with the first portion of the first file to which the memory block is mapped at the first time and with the checksum representing data within the memory block at the first time; determine whether the memory block is mapped to the first portion of the first file at a second time subsequent to the first time; and based at least in part on determining that the memory block is mapped to the first portion of the first file at the second time, indicate that the checksum represents expected data within the memory block at the second time. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. One or more non-transitory computer-readable storage media having computer-executable components for verifying an integrity of a memory device using at least one processor coupled to the memory device, the components comprising:
-
a control component that when executed by the at least one processor causes the at least one processor to; identify a memory block corresponding to at least one memory location within the memory device during a time period in which the processor is also executing one or more application programs within an operating system; and calculate, at a first time, a checksum for the memory block while the memory block is mapped to a first portion of a first file; a fingerprinting component that when executed by the at least one processor causes the at least one processor to; associate the memory block with the first portion of the first file to which the identified memory block is mapped at the first time and the checksum representing data within the identified memory block at the first time; and determine whether the memory block is mapped to the first portion of the first file at a second time; and a result component that when executed by the at least one processor causes the at least one processor to; calculate a second checksum representing data within the memory block at the second time when the memory block is mapped to the first portion of the first file at the second time; and indicate whether the second checksum is equal to the first checksum.
-
-
21. A method for verifying an integrity of a memory device, the method comprising:
-
identifying, by a processor coupled to the memory device, a memory block corresponding to at least one memory location within the memory device, the memory block associated with a first portion of a first file to which the memory block is mapped at a first time and a prior checksum representing data within the memory block at the first time; determining, by the processor, whether the memory block is mapped to the first portion of the first file at a second time subsequent to the first time; and based at least in part on determining that the memory block is mapped to the first portion of the first file at the second time, indicating, by the processor, that the prior checksum represents expected data within the memory block at the second time based in part on determining that no write operations corresponding to the first file have been executed between the first time and the second time by comparing a first write count associated with the first file at the first time with a second write count associated with the first file at the second time.
-
-
22. A method for verifying an integrity of a memory device, the method comprising:
-
identifying, by a processor coupled to the memory device, a memory block corresponding to at least one memory location within the memory device, the memory block associated with a first portion of a first file to which the memory block is mapped at a first time and a prior checksum representing data within the memory block at the first time; determining, by the processor, whether the memory block is mapped to the first portion of the first file at a second time subsequent to the first time; and based at least in part on determining that the memory block is mapped to the first portion of the first file at the second time, indicating, by the processor, that the prior checksum represents expected data within the memory block at the second time based in part on determining that no write operations corresponding to the first file are pending at the second time.
-
-
23. A method for verifying an integrity of a memory device, the method comprising:
-
identifying, by a processor coupled to the memory device, a memory block corresponding to at least one memory location within the memory device, the memory block associated with a first portion of a first file to which the memory block is mapped at a first time and a prior checksum representing data within the memory block at the first time; determining, by the processor, whether the memory block is mapped to the first portion of the first file at a second time subsequent to the first time; based at least in part on determining that the memory block is mapped to the first portion of the first file at the second time, indicating, by the processor, that the prior checksum represents expected data within the memory block at the second time; wherein identifying the memory block comprises receiving an address corresponding to a first memory location within the memory device and identifying a memory block corresponding to the first memory location, based in part on a predefined memory block size.
-
-
24. A system for verifying an integrity of a memory device, the system comprising:
-
a memory device comprising a plurality of memory locations; and a processor coupled to the memory device and programmed to; identify a memory block corresponding to at least one memory location of the plurality of memory locations within the memory device; associate the identified memory block with a first portion of a first file to which the identified memory block is mapped at a first time and a checksum representing data within the identified memory block at the first time; determine whether the identified memory block is mapped to the first portion of the first file at a second time subsequent to the first time; based at least in part on determining that the identified memory block is mapped to the first portion of the first file at the second time, indicate that the checksum represents expected data within the identified memory block; and determine whether the identified memory block is mapped to the first portion of the first file at the second time by, at least in part, determining whether the identified memory block is allocated to operating system kernel text.
-
-
25. A system for verifying an integrity of a memory device, the system comprising:
-
a memory device comprising a plurality of memory locations; a storage device coupled to at least one of a processor and the memory device; and the processor coupled to the memory device and programmed to; identify a memory block corresponding to at least one memory location of the plurality of memory locations within the memory device by identifying a page the first memory location corresponding to a second memory location within the storage device; associate the identified memory block with a first portion of a first file to which the identified memory block is mapped at a first time and a checksum representing data within the identified memory block at the first time; determine whether the identified memory block is mapped to the first portion of the first file at a second time subsequent to the first time; and based at least in part on determining that the identified memory block is mapped to the first portion of the first file at the second time, indicate that the checksum represents expected data within the identified memory block. - View Dependent Claims (26)
-
Specification