IP Library › Granted Patent US 10,467,195
Granted Patent B2
US 10,467,195 · App. 15/400,835 · Granted Nov 5, 2019

Adaptive caching replacement manager with dynamic updating granulates and partitions for shared flash-based storage system

Inventors: Zhengyu Yang (Boston, MA); Thomas David Evans (San Marcos, CA); Jiayin Wang (Dorchester, MA)
Assignee: Samsung Electronics Co., Ltd.
G06F16/172G06F3/06G06F3/061G06F3/0634G06F3/0685G06F9/45558G06F12/0808G06F12/0811G06F12/0842G06F12/0862G06F12/124G06F12/126G06F16/188G06F12/0868G06F2009/4557G06F2009/45579G06F2009/45583G06F2212/1021G06F2212/602G06F2212/6024G06F2212/62
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,467,195
App. No.
15/400,835
Granted
Nov 5, 2019
Kind
B2
Abstract

A method of adjusting temporal and spatial granularities associated with operation of a virtualized file system, the method including analyzing past workloads of a plurality of virtual machines associated with the virtualized file system, and adjusting the temporal and spatial granularities to be similar to average re-access temporal and spatial distances of data sets corresponding to the past workloads.

Claims (38)

1. A method of improving disk allocation in a virtualized file system by adjusting temporal and spatial granularities associated with operation of the virtualized file system, the method comprising:

analyzing past workloads of a plurality of virtual machines associated with the virtualized file system;

adjusting the temporal and spatial granularities to be similar to average re-access temporal and spatial distances of data sets stored in the virtualized file system and corresponding to the past workloads;

conducting load balancing, wear leveling, disk health monitoring, and disk retirement/replacement on an array of fast drives based on the past workloads of the virtual machines respectively corresponding to the array of fast drives;

separating the virtual machines into subsets based on respective wear levels of the fast drives predicted from the past workloads; and

assigning the subsets of the virtual machines across the fast drives of the array of fast drives to balance wear of the fast drives.

2. The method of claim 1 , further comprising adjusting partition sizes inside a fast drive of the virtualized file system for each virtual machine disk of the virtual machines.

3. The method of claim 2 , further comprising detecting IO changes of each virtual machine disk, and wherein adjusting partition sizes is based on the detected IO changes.

4. The method of claim 1 , wherein adjusting the temporal and spatial granularities comprises adjusting a time interval of a workload monitor sliding window for updating content of a fast drive used as a cache of the virtualized file system.

5. The method of claim 4 , wherein the analyzing past workloads of the plurality of virtual machines occurs at an end of the workload monitor sliding window.

6. The method of claim 1 , wherein adjusting the temporal and spatial granularities comprises adjusting a prefetching bin size corresponding to an amount of data retrieved from a fast drive or a slow drive of the virtualized file system.

7. The method of claim 1 , wherein adjusting the temporal and spatial granularities comprises adjusting a cache size or an epoch updating frequency of each of the virtual machines based on the past workloads.

8. The method of claim 1 , further comprising updating a fast drive as a cache of the virtualized file system by prefetching data in a most recent epoch based on the adjusted temporal and spatial granularities.

9. A virtualized file system capable of improved disk allocation, the virtualized file system comprising:

a plurality of virtual machines;

one or more slow drives;

a fast drive as a cache for the one or more slow drives;

a memory; and

a processor coupled to the memory, the processor executing a software component that is configured to:

analyze past workloads of a plurality of virtual machines associated with the virtualized file system;

adjust temporal and spatial granularities to be similar to average re-access temporal and spatial distances of data sets stored in the virtualized file system and corresponding to the past workloads;

conduct load balancing, wear leveling, disk health monitoring, and disk retirement/replacement on an array of fast drives based on the past workloads of the virtual machines respectively corresponding to the array of fast drives;

separating the virtual machines into subsets based on respective wear levels of the fast drives predicted from the past workloads; and

assigning the subsets of the virtual machines across the fast drives of the array of fast drives to balance wear of the fast drives.

10. The virtualized file system of claim 9 , wherein the software component is further configured to adjust partition sizes inside the fast drive for each virtual machine disk of the virtual machines.

11. The virtualized file system of claim 10 , wherein the software component is further configured to detect IO changes of each virtual machine disk, and wherein the software component is configured to adjust the partition sizes based on detected IO changes.

12. The virtualized file system of claim 9 , wherein the software component is configured to adjust the temporal and spatial granularities by adjusting a time interval of a workload monitor sliding window for updating content of a fast drive used as a cache of the virtualized file system.

13. The virtualized file system of claim 9 , wherein the software component is configured to adjust the temporal and spatial granularities by adjusting a prefetching bin size corresponding to an amount of data retrieved from a fast drive or a slow drive of the virtualized file system.

14. The virtualized file system of claim 9 , wherein the software component is configured to adjust the temporal and spatial granularities by adjusting a cache size or an epoch updating frequency of each of the virtual machines based on the past workloads.

15. The virtualized file system of claim 9 , further comprising updating a fast drive as a cache of the virtualized file system by prefetching data in a most recent epoch based on the adjusted temporal and spatial granularities.

16. A method of improving disk allocation in a virtualized file system by adjusting temporal and spatial granularities associated with operation of the virtualized file system, the method comprising:

determining whether an end of a workload monitor sliding window corresponding to a plurality of virtual machines of the virtualized file system is reached;

updating one or more of a prefetching granularity, a cache size, and an update frequency of a content update epoch sliding window for each of the virtual machines;

determining whether an end of the content update epoch sliding window of a corresponding one of the virtual machines is reached;

updating content of the corresponding one of the virtual machines in response to a determination that the end of the content update epoch sliding window is reached;

conducting load balancing, wear leveling, disk health monitoring, and disk retirement/replacement on an array of fast drives based on past workloads of the virtual machines;

separating the virtual machines into subsets based on respective wear levels of the fast drives predicted from the past workloads; and

assigning the subsets of the virtual machines across the fast drives of the array of fast drives to balance wear of the fast drives.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2017
From: YANG, ZHENGYU; EVANS, THOMAS DAVID; WANG, JIAYIN
To: SAMSUNG ELECTRONICS CO., LTD
Reel/Frame 041357/0136 →
Continuity (2)
Provisional Application 62384078 · Sep 6, 2016
Related Publication 20180067961A1 · Mar 8, 2018
Cited By (1)
US 12,748,541