Enhancements to data integrity verification mechanism
AssigneeOracle International Corporation
InventorsJuan Loaiza, Wei-Ming Hu, Jingling Lee
Life of this patent
Estimating the term…
Abstract
A method and apparatus is provided for maintaining data integrity. According to the method, a physical checksum calculation is performed on a block of data. After performing the physical checksum calculation, a logical check is performed on the data contained with the block of data. If the block of data passes the logical check, then the block of data may be written to nonvolatile memory. Thereafter, when the block of data is read from nonvolatile memory a physical checksum verification procedure is performed on the block of data to determine whether the block of data was corrupted after performing the logical check on the data contained with the block of data.
Claims24
A method for storing a data block to a nonvolatile memory, the method comprising the computer-implemented steps of:
- determining whether an operation that will store the data block to the nonvolatile memory will store the data block at a desired storage location that is determined based upon data contained in the data block;
- and
- only storing the data block to the nonvolatile memory if the operation that will store the data block to the nonvolatile memory will store the data block at the desired storage location associated with the data block.
A method for storing a data block to a nonvolatile memory, the method comprising the computer-implemented steps of:
- determining whether a location verification check is to be performed for the data block;
- and
- if a location verification check is to be performed for the data block, then
- determining whether an operation that will store the data block to the nonvolatile memory will store the data block at a desired storage location associated with the data block;
- and
- only storing the data block to the nonvolatile memory if the operation that will store the data block to the nonvolatile memory will store the data block at the desired storage location associated with the data block.
A computer-readable medium for storing a data block to a nonvolatile memory, the computer-readable medium carrying one or more sequences of one or more instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
- determining whether an operation that will store the data block to the nonvolatile memory will store the data block at a desired storage location that is determined based upon data contained in the data block;
- and
- only storing the data block to the nonvolatile memory if the operation that will store the data block to the nonvolatile memory will store the data block at the desired storage location associated with the data block.
A computer-readable medium for storing a data block to a nonvolatile memory, the computer-readable medium carrying one or more sequences of one or more instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
- determining whether a location verification check is to be performed for the data block;
- and
- if a location verification check is to be performed for the data block, then
- determining whether an operation that will store the data block to the nonvolatile memory will store the data block at a desired storage location associated with the data block;
- and
- only storing the data block to the nonvolatile memory if the operation that will store the data block to the nonvolatile memory will store the data block at the desired storage location associated with the data block.
A storage apparatus comprising:
- a nonvolatile memory;
- and
- a storage mechanism communicatively coupled to the nonvolatile memory and configured to:
- determine whether an operation that will store a data block to the nonvolatile memory will store the data block at a desired storage location that is determined based upon data contained in the data block;
- and
- only store the data block to the nonvolatile memory if the operation that will store the data block to the nonvolatile memory will store the data block at the desired storage location associated with the data block.
A storage apparatus comprising:
- a nonvolatile memory;
- and
- a storage mechanism communicatively coupled to the nonvolatile memory and configured to:
- determine whether a location verification check is to be performed for a data block;
- and
- if a location verification check is to be performed for the data block, then
- determine whether an operation that will store the data block to the nonvolatile memory will store the data block at a desired storage location that is determined based upon data contained in the data block;
- and
- only storing the data block to the nonvolatile memory the operation that will store the data block to the nonvolatile memory will store the data block at the desired storage location associated with the data block.
Dependencies are inferred from the claim text.