IP Library Granted Patent US 10,877,699
Granted Patent B1
US 10,877,699 · App. 16/453,453 · Granted Dec 29, 2020

I/O destaging bandwidth control

Inventors: Aditya Kotwal (Mountain View, CA); Christian Dickmann (Kassel, DE)
Assignee: VMware, Inc.
G06F3/0659G06F3/0611G06F3/0673
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,877,699
App. No.
16/453,453
Granted
Dec 29, 2020
Kind
B1
Abstract

Destaging data from a first tier data store to a second tier data store can be performed periodically and concurrently while processing user I/O operations. Each round of destaging can be delayed by certain amount (sleep time). A throttling factor can be used to compute the sleep time as a fraction of a base sleep time. The throttling factor can vary based on the usage level of first tier data store, and can be used to determine the destage frequency.

Claims (76)

1. A method comprising:

receiving, by a computer, I/O operations;

storing, by the computer, data in the received I/O operations to a first data store;

destaging, by the computer, a batch of data stored in the first data store, including:

moving the batch of data from the first data store to a second data store to decrease a level of usage in the first data store by a size of the batch of data moved; and

computing a metric based on the level of usage in the first data store; and

varying, by the computer, a frequency of the destaging with each round of destaging based on the computed metric.

2. The method of claim 1 , wherein the computed metric is a fractional value between 0.00 and 1.00.

3. The method of claim 1 , further comprising delaying an amount of time between successive rounds of destaging to vary the frequency of destaging, the amount of time based on the computed metric.

4. The method of claim 1 , wherein the frequency of the destaging is related to the computed metric as a quadratic function of the computed metric.

5. The method of claim 1 , wherein varying the frequency of the destaging includes computing a delay time based at least on a product of a base delay time and the metric, and delaying for a period of time equal to at least the delay time before performing a subsequent round of destaging data in the first data store.

6. The method of claim 5 , wherein the delay time is equal to a product of the base delay time and the square of the metric.

7. The method of claim 1 , wherein the frequency of the destaging is expressed as:

1

L

+

S

k

2

,

where

L is a latency of one round of destaging data from the first data store,

S is a base delay time, and

k is the computed metric.

8. The method of claim 1 , wherein the metric is equal to one when the level of usage in the first data store is equal to a minimum value, usage min .

9. A non-transitory computer-readable storage medium having stored thereon computer executable instructions, which when executed by a computer device, cause the computer device to:

receive I/O operations;

store data in the received I/O operations to a first data store;

destage a batch of data stored in the first data store, including:

moving the batch of data from the first data store to a second data store to decrease a level of usage in the first data store by a size of the batch of data moved; and

computing a metric based on the level of usage in the first data store; and

vary a frequency of the destaging with each round of destaging based on the computed metric.

10. The non-transitory computer-readable storage medium of claim 9 , wherein the computed metric is a fractional value between 0.00 and 1.00.

11. The non-transitory computer-readable storage medium of claim 9 , wherein the frequency of the destaging is related to the computed metric as a quadratic function of the computed metric.

12. The non-transitory computer-readable storage medium of claim 9 , wherein varying the frequency of the destaging includes computing a delay time based at least on a product of a base delay time and the metric, and delaying for a period of time equal to at least the delay time before performing a subsequent round of destaging data in the first data store.

13. The non-transitory computer-readable storage medium of claim 12 , wherein the delay time is equal to a product of the base delay time and the square of the metric.

14. The non-transitory computer-readable storage medium of claim 9 , wherein the frequency of the destaging is expressed as:

1

L

+

S

k

2

,

where

L is a latency of one round of destaging data from the first data store,

S is a base delay time, and

k is the computed metric.

15. The non-transitory computer-readable storage medium of claim 9 , wherein the computer executable instructions, which when executed by the computer device, further cause the computer device to disable the destaging when the level of usage in the first data store is less than usage min .

16. An apparatus comprising:

one or more computer processors; and

a computer-readable storage medium comprising instructions for controlling the one or more computer processors to be operable to:

receive I/O operations;

store data in the received I/O operations to a first data store;

destage a batch of data stored in the first data store, including:

moving the batch of data from the first data store to a second data store to decrease a level of usage in the first data store by a size of the batch of data moved; and

computing a metric based on the level of usage in the first data store; and

vary a frequency of the destaging with each round of destaging based on the computed metric.

17. The apparatus of claim 16 , wherein the computed metric is a fractional value between 0.00 and 1.00.

18. The apparatus of claim 16 , wherein the frequency of the destaging is related to the computed metric as a quadratic function of the computed metric.

19. The apparatus of claim 16 , wherein varying a frequency of the destaging includes computing a delay time based on a product of a base delay time and the square of the metric, and delaying for a period of time equal to at least the delay time before performing a subsequent round of destaging data in the first data store.

20. The apparatus of claim 16 , wherein the frequency of the destaging is expressed as:

1

L

+

S

k

2

,

where

L is a latency of one round of destaging data from the first data store,

S is a base delay time, and

k is the computed metric.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067103/0030 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2020
From: KOTWAL, ADITYA; DICKMANN, CHRISTIAN
To: VMWARE INC.
Reel/Frame 054084/0079 →
Cited By (1)
US 12,561,089