Patent US5539879A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5539879A Expired / Lapsed US ⏱️ 0.0 years remaining

Checksum technique for verifying integrity of disk space reserved for suspend-to-disk operations

Assignee: Dell USA LP
•
Filing: 1995-05-24
•
Granted: 1996-07-23
•
Expires: 2015-05-24
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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).

Inventors

  • 👤 John J. Pearce
  • 👤 Kendall Witte

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 06:54
CPC Classifications
G; G11; G11B; G11B19/00; G11B19/02; G11B19/04; G06; G06F; G06F11/00; G06F11/07; G06F11/08; G06F11/10; G06F11/1008; G06F9/00; G06F9/06; G06F9/44; G06F9/4401; G06F9/4418; G11B20/00; G11B20/10; G11B20/18; G11B20/1833

Claims Analysis

Total Claims: 27
Claim 1
Independent Claim 203 words
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.
Claim 2
Dependent Claim 203 words
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.
Claim 3
Dependent Claim 26 words
The method of claim 1 wherein said recording further comprises recording a pointer to said block with said first checksum at said designated hard disk location.
Claim 4
Dependent Claim 15 words
The method of claim 1 wherein said requested computer operation is a suspend-to-disk (S2D) operation.
Claim 5
Dependent Claim 39 words
The method of claim 3 wherein said designated location is within an S2D partition of said hard disk, said S2D partition being of a minimum size necessary for storing said first checksums for said blocks of hard disk space.
Claim 6
Dependent Claim 14 words
The method of claim 1 wherein said blocks of hard disk space are noncontiguous.
Claim 7
Dependent Claim 208 words
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.
Claim 8
Dependent Claim 208 words
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.
Claim 9
Dependent Claim 32 words
The method of claim 6 wherein said designated location comprises an S2D partition of said hard disk, said S2D partition being of a minimum size necessary for storing said located block entries.
Claim 10
Dependent Claim 101 words
The method of claim 6 wherein said located blocks comprise a plurality of data blocks for storing contents of said system memory during said S2D operation and a plurality of pointer blocks, and wherein said storing further comprises: storing in each of said pointer blocks a plurality of pointer blocks entries, each of said pointer block entries comprising said located block entry for one of said data blocks; and storing in a root block of said hard disk a plurality of root block entries, each of said root block entries comprising said located block entry for one of said pointer blocks.
Claim 11
Dependent Claim 33 words
The method of claim 8 wherein said root block is stored in an S2D partition of said hard disk, said S2D partition being of a minimum size necessary for storing said root block.
Claim 12
Dependent Claim 15 words
The method of claim 6 wherein said reserved hard disk space comprises noncontiguous disk space.
Claim 13
Dependent Claim 212 words
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.
Claim 14
Dependent Claim 212 words
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.
Claim 15
Dependent Claim 123 words
The method of claim 11 wherein a first set of said located blocks comprise data blocks and a second set of said located blocks comprise pointer blocks, said computing and storing further comprising: for each of said located data blocks: computing a first checksum for said data block; and writing said data block first checksum and a pointer to a location of said data block in an entry of one of said pointer blocks; and for each of said located pointer blocks: computing a first checksum for said pointer block; and writing said pointer block first checksum and a pointer to a location of said pointer block in an entry of a root block stored in an S2D partition of said hard disk.
Claim 16
Dependent Claim 20 words
The method of claim 12 wherein said S2D partition is of a minimum size necessary for storing said root block.
Claim 17
Dependent Claim 271 words
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.
Claim 18
Dependent Claim 271 words
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.
Claim 19
Dependent Claim 31 words
The apparatus of claim 14 wherein said designated location comprises an S2D partition of said hard disk, said S2D partition being of a minimum size necessary for said located block entries.
Claim 20
Dependent Claim 114 words
The apparatus of claim 14 wherein said located blocks comprise a plurality of data blocks for storing contents of said system memory during said S2D operation and a plurality of pointer blocks, and wherein said storing logic further comprises: logic executable by said processor for storing in each of said pointer blocks a plurality of pointer block entries, each of said pointer block entries comprising said located block entry for one of said data blocks; and logic executable by said processor for storing in a root block of said hard disk a plurality of root block entries, each of said root block entries comprising said located block entry for one of said pointer blocks.
Claim 21
Dependent Claim 33 words
The apparatus of claim 16 wherein said root block is stored in an S2D partition of said hard disk, said S2D partition being of a minimum size necessary for storing said root block.
Claim 22
Dependent Claim 15 words
The apparatus of claim 14 wherein said reserved hard disk space comprises noncontiguous disk space.
Claim 23
Dependent Claim 233 words
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.
Claim 24
Dependent Claim 233 words
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.
Claim 25
Dependent Claim 106 words
The apparatus of claim 19 wherein said located blocks comprise a plurality of data blocks for storing contents of said system memory during said S2D operation and a plurality of pointer blocks, and wherein said storing means further comprises: means for storing in each of said pointer blocks a plurality of pointer block entries, each of said pointer block entries comprising said located block entry for one of said data blocks; and means for storing in a root block of said hard disk a plurality of root block entries, each of said root block entries comprising said located block entry for one of said pointer blocks.
Claim 26
Dependent Claim 33 words
The apparatus of claim 20 wherein said root block is stored in an S2D partition of said hard disk, said S2D partition being of a minimum size necessary for storing said root block.
Claim 27
Dependent Claim 15 words
The apparatus of claim 19 wherein said reserved hard disk space comprises noncontiguous disk space.

References Cited (Backward Citations)

US4092732A Cited
US4380029A Cited
US4807186A Cited
US4727544A Cited
US5146459A Cited
US5032932A Cited
US5181206A Cited
US5280395A Cited
US5422890A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-07-23 2000-01-22 2000-07-23 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-07-23 2004-01-22 2004-07-23 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-07-23 2008-01-22 2008-07-23 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag