IP Library Granted Patent US 11,347,699
Granted Patent B2
US 11,347,699 · App. 16/741,567 · Granted May 31, 2022

File system cache tiers

Inventors: Edward Carpenter (Seattle, WA); Thomas Gregory Rothschilds (Seattle, WA); Peter J. Godman (Seattle, WA); Duncan Robert Fairbanks (Seattle, WA); Patrick Jakubowski (Seattle, WA); Zexuan Wang (Seattle, WA)
Assignee: Qumulo, Inc.
G06F16/185G06F3/0647G06F3/0653G06F11/3037G06F12/0897G06F12/122G06F16/119G06F16/172G06F16/182G06F2212/1021G06F2212/1024G06F2212/608
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 11,347,699
App. No.
16/741,567
Granted
May 31, 2022
Kind
B2
Abstract

Embodiments are directed to a file system engine that provides a file system that includes a plurality of blocks on a file storage tier with portion of the blocks associated with a cache storage tier. A cache engine provides heat extents that include a heat score and a run length value such that the heat extents are represent activities associated with the blocks. Heat extents associated with file system activities are determined based on a position of the blocks that corresponds with the run length values of the heat extents and sectors on the file storage tier. Heat scores associated with the heat extents may be modified based on the activities and distribution models to conform the heat extents with the distribution models. Blocks associated with heat scores that are less than a threshold value provided by the distribution models may be disassociated from the cache storage tier.

Claims (67)

1. A method for managing data in a file system over a network using one or more processors that execute instructions to perform actions, comprising:

providing a file system that includes a plurality of blocks on a file storage tier, wherein a portion of the plurality of blocks are associated with a cache storage tier;

providing one or more heat extents that are stateful representations of one or more activities associated with one or more of the plurality of blocks in the cache storage tier;

determining the one or more heat extents associated with the one or more activities based on a position of the one or more blocks, wherein the position corresponds with one or more run length values associated with the one or more heat extents and one or more sectors on the file storage tier that are associated with the one or more blocks;

modifying one or more heat scores associated with the one or more heat extents based on the one or more activities and one or more distribution models, wherein the modification includes changing the one or more heat scores to conform to the one or more heat extents associated with the one or more distribution models to reduce consumption of computing resources;

employing the one or more distribution models to provide different groups of summaries of the one or more heat extents based on a time period assigned for checking distribution of the one or more activities associated with the plurality of blocks; and

employing a write operation to one or more blocks to map each block associated with one or more portions of a group of heat extents, wherein the mapping of each block is used to identify a position of each block for the write operation.

2. The method of claim 1 , wherein the modification further comprises:

queueing one or more changes to the one or more heat scores; and

performing the one or more changes to the one or more heat scores during an idle time period for the file system.

3. The method of claim 1 , further comprising:

storing, at the cache storage tier and the file storage tier, each block promoted from the file storage tier; and

storing, at the file system tier, each block demoted from the cache storage tier.

4. The method of claim 1 , wherein the different groups of summaries of the one or more heat extents further comprises:

assigning a summary group of active heat extents to a shortest time period for checking distribution; and

assigning a summary group of dormant heat extents to a longest time period for checking distribution.

5. The method of claim 1 , further comprising:

disassociating the one or more blocks from the cache storage tier that are associated with heat scores that are less than a threshold value provided by the one or more distribution models.

6. The method of claim 1 , further comprising:

employing a cache to monitor the one or more activities associated with the one or more blocks.

7. The method of claim 1 , wherein the modification further comprises:

decreasing the one or more heat scores to conform to the one or more heat extents associated with the one or more distribution models.

8. A system for managing data in a file system comprising:

a network computer, comprising:

memory that stores at least instructions; and

one or more processors that execute instructions that perform actions, including:

providing a file system that includes a plurality of blocks on a file storage tier, wherein a portion of the plurality of blocks are associated with a cache storage tier;

providing one or more heat extents that are stateful representations of one or more activities associated with one or more of the plurality of blocks in the cache storage tier;

determining the one or more heat extents associated with the one or more activities based on a position of the one or more blocks, wherein the position corresponds with one or more run length values associated with the one or more heat extents and one or more sectors on the file storage tier that are associated with the one or more blocks;

modifying one or more heat scores associated with the one or more heat extents based on the one or more activities and one or more distribution models, wherein the modification includes changing the one or more heat scores to conform to the one or more heat extents associated with the one or more distribution models to reduce consumption of computing resources;

employing the one or more distribution models to provide different groups of summaries of the one or more heat extents based on a time period assigned for checking distribution of the one or more activities associated with the plurality of blocks; and

employing a write operation to one or more blocks to map each block associated with one or more portions of a group of heat extents, wherein the mapping of each block is used to identify a position of each block for the write operation.

9. The system of claim 8 , wherein the modification further comprises:

queueing one or more changes to the one or more heat scores; and

performing the one or more changes to the one or more heat scores during an idle time period for the file system.

10. The system of claim 8 , further comprising:

storing, at the cache storage tier and the file storage tier, each block promoted from the file storage tier; and

storing, at the file storage tier, each block demoted from the cache storage tier.

11. The system of claim 8 , wherein the different groups of summaries of the one or more heat extents further comprises:

assigning a summary group of active heat extents to a shortest time period for checking distribution; and

assigning a summary group of dormant heat extents to a longest time period for checking distribution.

12. The system of claim 8 , further comprising:

disassociating the one or more blocks from the cache storage tier that are associated with heat scores that are less than a threshold value provided by the one or more distribution models.

13. The system of claim 8 , further comprising:

employing a cache to monitor the one or more activities associated with the one or more blocks.

14. The system of claim 8 , wherein the modification further comprises:

decreasing the one or more heat scores to conform to the one or more heat extents associated with the one or more distribution models.

15. A processor readable non-transitory storage media that includes instructions for managing data in a file system over a network, wherein execution of the instructions by one or more processors on one or more network computers performs actions, comprising:

providing a file system that includes a plurality of blocks on a file storage tier, wherein a portion of the plurality of blocks are associated with a cache storage tier;

providing one or more heat extents that are stateful representations of one or more activities associated with one or more of the plurality of blocks in the cache storage tier;

determining the one or more heat extents associated with the one or more activities based on a position of the one or more blocks, wherein the position corresponds with one or more run length values associated with the one or more heat extents and one or more sectors on the file storage tier that are associated with the one or more blocks;

modifying one or more heat scores associated with the one or more heat extents based on the one or more activities and one or more distribution models, wherein the modification includes changing the one or more heat scores to conform to the one or more heat extents associated with the one or more distribution models to reduce consumption of computing resources;

employing the one or more distribution models to provide different groups of summaries of the one or more heat extents based on a time period assigned for checking distribution of the one or more activities associated with the plurality of blocks; and

employing a write operation to one or more blocks to map each block associated with one or more portions of a group of heat extents, wherein the mapping of each block is used to identify a position of each block for the write operation.

16. The processor readable non-transitory storage media of claim 15 , wherein the modification further comprises:

queueing one or more changes to the one or more heat scores; and

performing the one or more changes to the one or more heat scores during an idle time period for the file system.

17. The processor readable non-transitory storage media of claim 15 , further comprising:

storing, at the cache storage tier and the file storage tier, each block promoted from the file storage tier; and

storing, at the file storage tier, each block demoted from the cache storage tier.

18. The processor readable non-transitory storage media of claim 15 , wherein the different groups of summaries of the one or more heat extents further comprises:

assigning a summary group of active heat extents to a shortest time period for checking distribution; and

assigning a summary group of dormant heat extents to a longest time period for checking distribution.

19. The processor readable non-transitory storage media of claim 15 , further comprising:

disassociating the one or more blocks from the cache storage tier that are associated with heat scores that are less than a threshold value provided by the one or more distribution models.

20. The processor readable non-transitory storage media of claim 15 , wherein the modification further comprises:

decreasing the one or more heat scores to conform to the one or more heat extents associated with the one or more distribution models.

Assignments (2)
SECURITY INTEREST Recorded Jun 24, 2022
From: QUMULO, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 060439/0967 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2020
From: CARPENTER, EDWARD; ROTHSCHILDS, THOMAS GREGORY; GODMAN, PETER J.; FAIRBANKS, DUNCAN ROBERT; JAKUBOWSKI, PATRICK; WANG, ZEXUAN
To: QUMULO, INC.
Reel/Frame 051500/0665 →
Continuity (2)
Continuation 16228716 · Dec 20, 2018
Related Publication 20200210385A1 · Jul 2, 2020
Cited By (12)
US 12,222,903 US 12,292,853 US 12,346,290 US 12,443,559 US 12,443,568 US 12,481,625 US 12,487,935 US 12,541,326 US 12,585,563 US 12,591,530 US 12,619,582 US 12,670,081