US12541316B2ActiveUtilityA1
Dynamic block write cache pass-through mode
Assignee: MICROSOFT TECHNOLOGY LICENSING LLCPriority: Nov 13, 2023Filed: Mar 4, 2024Granted: Feb 3, 2026
Est. expiryNov 13, 2043(~17.3 yrs left)· nominal 20-yr term from priority
Inventors:WANG JUNXIANGSun XigengMAKHERVAKS VADIMHUANG SIJIATong YingruiZHOU YUXINGLIU ZHIHAOZHU BANGZHU
G06F 2009/45583G06F 2009/45579G06F 12/0888G06F 12/0802G06F 9/45558G06F 3/0683G06F 3/0656G06F 3/0604G06F 3/065G06F 11/1471G06F 2212/1032G06F 2212/1048G06F 2212/152G06F 2212/154G06F 2212/313G06F 2212/311G06F 12/0813G06F 2212/502G06F 2212/286G06F 3/067G06F 12/0868
72
PatentIndex Score
0
Cited by
89
References
20
Claims
Abstract
Methods and systems for transitioning write input/output (I/O) requests from a write-caching mode to a pass-through mode. The method includes determining when a condition has been met for transitioning the write I/O requests and de-staging one or more logs from a write cache to a backing store, where each log corresponds to a pending write I/O operation by a consumer. The method further includes determining when no log remains in the write cache for de-staging to the backing store and initiating the pass-through mode by routing new write I/O requests directly to the backing store instead of the write cache.
Claims
exact text as granted — not AI-modifiedWhat is claimed:
1 . A method implemented in a computer system that includes a processor system, comprising:
determining that a condition has been met for transitioning write input/output (I/O) requests for a consumer from a write-caching mode to a pass-through mode; de-staging one or more logs for the consumer from a write cache to a backing store, each log corresponding to a pending write I/O operation by the consumer; determining that no log for the consumer remains in the write cache for de-staging to the backing store; and initiating the pass-through mode after determining that no log for the consumer remains in the write cache for de-staging to the backing store, including routing a new write I/O request to the backing store rather than routing the new write I/O request to the write cache.
2 . The method of claim 1 , wherein,
the consumer is a virtual machine (VM) or a container executing in the computer system; and de-staging the one or more logs for the consumer to the backing store comprises de-staging the one or more logs to a virtual disk corresponding to the VM or the container.
3 . The method of claim 1 , wherein the condition for transitioning write I/O requests for the consumer is met when,
a user request has been identified, a migration of the consumer has been identified, an I/O error count for the consumer has reached a first threshold, or an I/O error rate for the consumer has reached a second threshold.
4 . The method of claim 3 , wherein,
the condition for transitioning write I/O requests for the consumer is met when the I/O error count for the consumer has reached the first threshold or the I/O error rate for the consumer has reached the second threshold; and the I/O error count for the consumer or the I/O error rate for the consumer is calculated over a sliding time window.
5 . The method of claim 1 , wherein de-staging the one or more logs for the consumer from the write cache to the backing store comprises de-staging the one or more logs from a replica set that is associated with the consumer.
6 . The method of claim 1 , wherein de-staging the one or more logs for the consumer from the write cache to the backing store comprises de-staging a log from each of a plurality of replica sets in a replica list that is associated with the consumer.
7 . The method of claim 1 , wherein,
the new write I/O request is a first new write I/O request; and the method further comprises:
routing a second new write I/O request to the write cache after determining that the condition has been met, but prior to determining that no log for the consumer remains in the write cache for de-staging to the backing store.
8 . The method of claim 7 , wherein de-staging the one or more logs for the consumer from the write cache to the backing store comprises introducing latency into the second new write I/O request.
9 . The method of claim 8 , wherein a magnitude of the latency is based on a rate of de-staging the one or more logs for the consumer from the write cache to the backing store.
10 . The method of claim 8 , wherein a magnitude of the latency is based on a rate of write I/O requests received after identifying the condition for transitioning write I/O requests for the consumer.
11 . The method of claim 1 , wherein,
the new write I/O request is a first new write I/O request; and the method further comprises:
determining that write I/O requests for the consumer are to be transitioned from the pass-through mode to the write-caching mode after initiating the pass-through mode; and
initiating the write-caching mode, including routing a second new write I/O request to the write cache.
12 . A computer system, comprising:
a processor system; and a computer storage medium that stores computer-executable instructions that are executable by the processor system to at least:
determine that a condition has been met for transitioning write input/output (I/O) requests for a consumer from a write-caching mode to a pass-through mode;
de-stage one or more logs for the consumer from a write cache to a backing store, each log corresponding to a pending write I/O operation by the consumer;
route a first new write I/O request to the write cache after determining that the condition has been met;
determine that no log for the consumer remains in the write cache for de-staging to the backing store; and
initiate the pass-through mode after determining that no log for the consumer remains in the write cache for de-staging to the backing store, including routing a second new write I/O request to the backing store rather than routing the second new write I/O request to the write cache.
13 . The computer system of claim 12 , wherein,
the consumer is a virtual machine (VM) or a container executing in the computer system; and de-staging the one or more logs for the consumer to the backing store comprises de-staging the one or more logs to a virtual disk corresponding to the VM or the container.
14 . The computer system of claim 12 , wherein the condition for transitioning write I/O requests for the consumer is met when,
a user request has been identified, a migration of the consumer has been identified, an I/O error count for the consumer has reached a first threshold, or an I/O error rate for the consumer has reached a second threshold.
15 . The computer system of claim 12 , wherein de-staging the one or more logs for the consumer from the write cache to the backing store comprises de-staging the one or more logs from a replica set that is associated with the consumer.
16 . The computer system of claim 12 , wherein de-staging the one or more logs for the consumer from the write cache to the backing store comprises de-staging a log from each of a plurality of replica sets in a replica list that is associated with the consumer.
17 . The computer system of claim 12 , wherein de-staging the one or more logs for the consumer from the write cache to the backing store comprises introducing latency into the first new write I/O request.
18 . The computer system of claim 17 , wherein a magnitude of the latency is based on a rate of de-staging the one or more logs for the consumer from the write cache to the backing store.
19 . The computer system of claim 17 , wherein a magnitude of the latency is based on a rate of write I/O requests received after identifying the condition for transitioning write I/O requests for the consumer.
20 . A computer storage medium that stores computer-executable instructions that are executable by a processor system to at least:
determine that a condition has been met for transitioning write input/output (I/O) requests for a consumer from a write-caching mode to a pass-through mode; de-stage one or more logs for the consumer from a write cache to a backing store, each log corresponding to a pending write I/O operation by the consumer; route a first new write I/O request to the write cache after determining that the condition has been met, including introducing latency into the first new write I/O request based on,
a first rate of de-staging the one or more logs for the consumer from the write cache to the backing store, or
a second rate of write I/O requests received after identifying the condition for transitioning write I/O requests for the consumer;
determine that no log for the consumer remains in the write cache for de-staging to the backing store; and initiate the pass-through mode after determining that no log for the consumer remains in the write cache for de-staging to the backing store, including routing a second new write I/O request to the backing store rather than routing the second new write I/O request to the write cache.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.