Apparatus, system, and method for auto-commit memory management
AssigneeFusion-Io, Inc.
InventorsNisha Talagala, Swaminathan Sundararaman, Srinath Sridharan
Life of this patent
Estimating the term…
Abstract
An apparatus, system, and method are disclosed for auto-commit memory management. The method includes receiving an auto-commit request from a client, such as a barrier request or a checkpoint request. The auto-commit request is associated with an auto-commit buffer of a non-volatile recording device. The method includes issuing a serializing instruction that flushes data from a processor complex to the auto-commit buffer. The method includes determining completion of the serializing instruction flushing the data to the auto-commit buffer.
Claims25
A method for auto-commit memory management, the method comprising:
- receiving an auto-commit request from a client, the auto-commit request associated with an auto-commit buffer of a non-volatile recording device;
- issuing a serializing instruction that flushes data from a processor complex to the auto-commit buffer;
- and
- determining completion of the serializing instruction flushing the data to the auto-commit buffer.
An apparatus for auto-commit memory management, the apparatus comprising:
- an auto-commit buffer within an isolation zone of a non-volatile memory device, the auto-commit buffer configured to receive data destaged from a processor complex of a host computing device in response to a serializing instruction;
- a barrier completion module configured to determine completion of the serializing instruction destaging the data to the auto-commit buffer;
- and
- a checkpoint module configured to create a snapshot copy of one or more pages of the auto-commit buffer in response to completion of the serializing instruction.
A system for auto-commit memory management, the system comprising:
- a device driver for a non-volatile storage device, the device driver configured to execute on a processor of a host computing device, the device driver comprising,
- an auto-commit request module configured to receive an auto-commit request for an auto-commit buffer within an isolation zone of the non-volatile storage device;
- and
- a flush module configured to execute a serializing instruction to flush data from a cache of the processor to the auto-commit buffer in response to the auto-commit request;
- and
- a storage controller disposed on the non-volatile storage device, the storage controller comprising,
- a barrier completion module configured to determine completion of the serializing instruction flushing the data to the auto-commit buffer in response to receiving a completion identifier flushed from the cache of the processor to the non-volatile storage device.
A computer program product comprising a computer readable storage medium storing computer usable program code executable to perform operations for auto-commit memory management, the operations comprising:
- issuing a first serializing instruction in response to an auto-commit request for an auto-commit buffer of a non-volatile memory device, the first serializing instruction to flush data from a processor cache to the auto-commit buffer;
- placing a completion identifier in the processor cache, the completion identifier associated with the non-volatile memory device;
- and
- issuing a second serializing instruction to flush the completion identifier from the processor cache to the non-volatile memory device such that receiving the completion identifier in the non-volatile memory device indicates completion of the first serializing instruction.
An apparatus for auto-commit memory management, the apparatus comprising:
- means for receiving an auto-commit request for an auto-commit buffer of a non-volatile recording device, a memory address range of a host mapped to the auto-commit buffer;
- means for issuing a serializing instruction in response to the auto-commit request, the serializing instruction to flush data of the memory address range from a processor cache of the host to the auto-commit buffer;
- and
- means for determining completion of the serializing instruction flushing the data of the memory address range to the auto-commit buffer.
Dependencies are inferred from the claim text.