Checksum technique for verifying integrity of disk space reserved for suspend-to-disk operations
First Claim
1. In a computer comprising a hard disk electrically connected to a system memory, a method for verifying the integrity of a plurality of blocks of hard disk space reserved for use in implementing a requested computer operation, said requested computer operation being executed other than by a native operating system of said computer, the method comprising:
- responsive to a first command, for each of said blocks of hard disk space;
computing a first checksum for said block; and
recording said first checksum at a designated location on said hard disk; and
responsive to a second command identifying one of said blocks of hard disk space;
reading said hard disk to locate said identified one of said blocks;
responsive to location of said identified one of said blocks, computing a second checksum for said identified one of said blocks;
comparing said second checksum with said recorded first checksum for said identified one of said blocks;
responsive to said compared checksums being identical, writing data stored in said system memory to said identified one of said blocks; and
responsive to said compared checksums not being identical, indicating that data stored in said system memory may not be written to said identified one of said blocks.
7 Assignments
0 Petitions
Accused Products
Abstract
Method and apparatus for implementing a checksum technique for verifying the integrity of hard disk space reserved for use in implementing S2D capabilities is disclosed. In a preferred embodiment, a root block stored in a dedicated, fixed-size S2D partition comprises a plurality of entries each of which contains a pointer to the location of a corresponding pointer block located and a checksum for use in verifying the integrity of the pointer block. Similarly, each pointer block comprises a plurality of entries each of which contains a pointer to the location of a corresponding data block and a checksum for use in verifying the integrity of the data block. When an S2D operation is initiated, an S2D utility of the present invention locates a next available data block in the S2D partition or an extended partition, using the entries in the root block and pointer blocks, computes the checksum for the located data block, compares the computed checksum to the stored checksum for the block and, if the two checksums match writes a portion of RAM to the located block. If at any point, two checksums do not match, an error results and the S2D operation terminates. In one aspect of the invention, an MKS2D utility locates the available blocks of disk space for generating the extended partition, computes a checksum for each block and appropriately fills in the root and pointer blocks with pointers and checksums for use by the S2D utility. In another aspect of the invention, an RMS2D utility deletes the extended partition and returns the data blocks previously allocated thereto to the native OS and/or other partition(s).
-
Citations
22 Claims
-
1. In a computer comprising a hard disk electrically connected to a system memory, a method for verifying the integrity of a plurality of blocks of hard disk space reserved for use in implementing a requested computer operation, said requested computer operation being executed other than by a native operating system of said computer, the method comprising:
-
responsive to a first command, for each of said blocks of hard disk space; computing a first checksum for said block; and recording said first checksum at a designated location on said hard disk; and responsive to a second command identifying one of said blocks of hard disk space; reading said hard disk to locate said identified one of said blocks; responsive to location of said identified one of said blocks, computing a second checksum for said identified one of said blocks; comparing said second checksum with said recorded first checksum for said identified one of said blocks; responsive to said compared checksums being identical, writing data stored in said system memory to said identified one of said blocks; and responsive to said compared checksums not being identical, indicating that data stored in said system memory may not be written to said identified one of said blocks. - View Dependent Claims (2, 3, 4, 5)
-
-
6. In a computer comprising a hard disk electrically connected to a system memory, a method for verifying the integrity of blocks of hard disk space reserved for use in implementing an S2D operation, the method comprising:
-
responsive to a first command, reading said hard disk to locate said blocks of said hard disk space; for each of said located blocks; computing a first checksum for said located block; and storing at a designated location on said hard disk an entry corresponding to said located block, said located block entry comprising said first checksum and a pointer to a location on said hard disk of said located block; and responsive to a second command; reading said hard disk to locate a first one of said blocks of hard disk space; responsive to said first one of said blocks being located, computing a second checksum for said first one of said blocks; comparing said second checksum with said stored first checksum for said first one of said blocks; responsive to said compared checksums being identical, writing data stored in said system memory to said first one of said blocks; and responsive to said compared checksums not being identical, reading said hard disk to locate a next one of said blocks. - View Dependent Claims (7, 8, 9, 10)
-
-
11. In a computer comprising a hard disk electrically connected to a system memory, a method for verifying the integrity of hard disk space reserved for use in implementing S2D capabilities, the method comprising:
-
responsive to a first command; determining an amount of hard disk space needed to store contents of said system memory during said S2D operation; writing to said hard disk an extent file of a size equal to said determinded amount with a known pattern; reading said hard disk to locate a block of said extent file; computing a first checksum for said located block; storing a pointer to said located block and said first checksum at a designated location on said hard disk; and repeating said reading, computing and storing for all of said extent file; and responsive to a second command; locating a designated block of said extended partition; computing a second checksum for said located designated block; comparing said second checksum with said stored first checksum for said located designated block; responsive to a determination that said checksums are identical writing a portion of said system memory contents to said located designated block; and responsive to a determination that said checksums are not identical, returning to said locating; and wherein said located blocks comprise an extended partition. - View Dependent Claims (12, 13)
-
-
14. In a computer comprising a processor, a hard disk and system memory electrically interconnected via a bus, an apparatus for verifying the integrity of a plurality of blocks of hard disk space reserved for use in implementing a suspend-to-disk (S2D) operation, the apparatus comprising:
-
logic executable by said processor responsive to a first command for reading said hard disk to locate said blocks of said hard disk space; logic executable by said processor for computing a first checksum for each of said located blocks; logic executable by said processor for storing at a designated location on said hard disk, for each of said located blocks, an entry corresponding to said located block, said located block entry comprising said first checksum for said located block and a pointer to a location on said hard disk of said located block; logic executable by said processor responsive to a second command for reading said hard disk to locate a first one of said blocks of hard disk space; logic executable by said processor and responsive to said first one of said blocks being located for computing a second checksum for said first one of said blocks; logic executable by said processor for comparing said second checksum with said stored first checksum for said first one of said blocks; logic executable by said processor and responsive to said compared checksums being identical for writing data stored in said system memory to said first one of said blocks; and logic executable by said processor and responsive to said compared checksums not being identical for reading said hard disk to locate a next one of said blocks. - View Dependent Claims (15, 16, 17, 18)
-
-
19. In a computer comprising a processor, a hard disk and system memory electrically interconnected via a bus, an apparatus for verifying the integrity of a plurality of blocks of hard disk space reserved for use in implementing a suspend-to-disk (S2D) operation, the apparatus comprising:
-
means responsive to a first command for reading said hard disk to locate said blocks of said hard disk space; means for computing a first checksum for each of said located blocks; means for storing at a designated location on said hard disk, for each of said located blocks, an entry corresponding to said located block, said located block entry comprising said first checksum for said located block and a pointer to a location of said located block; means responsive to a second command for reading said hard disk to locate an identified one of said blocks of hard disk space; means responsive to said identified one of said blocks being located for computing a second checksum for said identified one of said blocks; means for comparing said second checksum with said stored first checksum for said identified one of said blocks; means responsive to said compared checksums being identical for writing data stored in said system memory to said identified one of said blocks; and means responsive to said compared checksums not being identical for reading said hard disk to locate a next identified one of said blocks. - View Dependent Claims (20, 21, 22)
-
Specification