Storage integration for host-based write-back caching
AssigneeVMware, Inc.
InventorsAndrew Banta, Erik Cota-Robles
Life of this patent
Estimating the term…
Abstract
Techniques for enabling integration between a storage system and a host system that performs write-back caching are provided. In one embodiment, the host system can transmit to the storage system a command indicating that the host system intends to cache, in a write-back cache, writes directed to a range of logical block addresses (LBAs). The host system can further receive from the storage system a response indicating whether the command is accepted or rejected. If the command is accepted, the host system can initiate the caching of writes in the write-back cache.
Claims18
A method for enabling integration between a storage system and a host system that performs write-back caching, the method comprising:
- transmitting, by the host system to the storage system, a first command indicating that the host system intends to cache, in a write-back cache local to the host system, writes directed to a range of logical block addresses (LBAs) of a storage object stored on the storage system, wherein the writes originate from one or more storage clients resident on the host system;
- receiving, by the host system from the storage system, a response indicating that the first command is accepted;
- based on the response, initiating, by the host system, caching of the writes in the write-back cache;
- receiving, by the host system from the storage system, a first message indicating that the entirety of the write-back cache should be flushed once;
- in response to the first message:
- flushing, by the host system, the entirety of the write-back cache;
- transmitting, by the host system to the storage system, a second command indicating that the flushing is complete;
- and
- continuing the caching;
- receiving, by the host system from the storage system, a second message indicating that the entirety of the write-back cache should be flushed permanently, such that the caching of writes to the write-back cache is terminated on the host system;
- and
- in response to the second message:
- flushing, by the host system, the entirety of the write-back cache;
- transmitting, by the host system to the storage system, a third command indicating that the flushing is complete and no further write-back caching will be performed;
- and
- terminating, by the host system, the caching of writes to the write-back cache.
A non-transitory computer readable storage medium having stored thereon software executable by a host system, the software embodying a method for enabling integration between a storage system and a host system that performs write-back caching, the method comprising:
- transmitting, by the host system to the storage system, a first command indicating that the host system intends to cache, in a write-back cache local to the host system, writes directed to a range of logical block addresses (LBAs) of a storage object stored on the storage system, wherein the writes originate from one or more storage clients resident on the host system;
- receiving, by the host system from the storage system, a response indicating that the first command is accepted;
- based on the response, initiating, by the host system, caching of the writes in the write-back cache;
- receiving, by the host system from the storage system, a first message indicating that the entirety of the write-back cache should be flushed once;
- in response to the first message:
- flushing, by the host system, the entirety of the write-back cache;
- transmitting, by the host system to the storage system, a second command indicating that the flushing is complete;
- and
- continuing the caching;
- receiving, by the host system from the storage system, a second message indicating that the entirety of the write-back cache should be flushed permanently, such that the caching of writes to the write-back cache is terminated on the host system;
- and
- in response to the second message:
- flushing, by the host system, the entirety of the write-back cache;
- transmitting, by the host system to the storage system, a third command indicating that the flushing is complete and no further write-back caching will be performed;
- and
- terminating, by the host system, the caching of writes to the write-back cache.
A computer system comprising:
- a processor;
- a write-back cache;
- one or more storage clients;
- and
- a non-transitory data store having stored thereon program code which, when executed by processor, causes the processor to:
- transmit, to a storage system, a first command indicating that the computer system intends to cache, in the write-back cache, writes directed to a range of logical block addresses (LBAs) of a storage object stored on the storage system, wherein the writes originate from the one or more storage clients;
- receive, from the storage system, a response indicating that the first command is accepted;
- based on the response, initiate caching of the writes in the write-back cache;
- receive, from the storage system, a first message indicating that the entirety of the write-back cache should be flushed once;
- in response to the first message:
- flush the entirety of the write-back cache;
- transmit, to the storage system, a second command indicating that the flushing is complete;
- and
- continue the caching;
- receive, from the storage system, a second message indicating that the entirety of the write-back cache should be flushed permanently, such that the caching of writes to the write-back cache is terminated on the host system;
- and
- in response to the second message:
- flush the entirety of the write-back cache;
- transmit, to the storage system, a third command indicating that the flushing is complete and no further write-back caching will be performed;
- and
- terminate the caching of writes to the write-back cache.
Dependencies are inferred from the claim text.