IP Library Granted Patent US 10,120,587
Granted Patent B2
US 10,120,587 · App. 15/628,445 · Granted Nov 6, 2018

Tier-optimized write scheme

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,120,587
App. No.
15/628,445
Granted
Nov 6, 2018
Kind
B2
Abstract

Techniques are disclosed for storing data in a plurality of storage tiers on a computing node. A node receives a request to write data corresponding to at least a first portion of a file. The node determines whether to perform the request either as an in-place write or as an out-of-place write. Upon determining to perform the request as the in-place write, the node writes the data to a first location on a storage tier which currently stores the first portion of the file. Upon determining to perform the request as the out-of-place write, the node writes the data to a second location on one of the storage tiers, other than the first location.

Claims (50)

1. A method for storing data, the method comprising:

receiving a request to write data corresponding to at least a first portion of a file;

determining whether to perform the request either as an in-place write or as an out-of-place write, wherein performing the in-place write comprises performing a write to a low latency storage device and performing the out-of-place write comprises performing a write to a higher latency storage device;

in an event it is determined to perform the request as the in-place write, writing the data to a first location on a storage tier which currently stores the first portion of the file; and

in an event it is determined to perform the request as the out-of-place write, writing the data to a second location on one of a plurality of storage tiers of a computing node, other than the first location.

2. The method of claim 1 , wherein determining to perform the request as the out-of-place write comprises:

determining that the first portion of the file corresponds to a deduplicated portion.

3. The method of claim 1 , wherein determining to perform the request as the out-of-place write comprises:

determining that the first portion of the file corresponds to a compressed group of portions from one or more files.

4. The method of claim 1 , further comprising:

recording a pattern of input/output operations to one or more portions of the file.

5. The method of claim 4 , further comprising:

determining, based on the recorded pattern of the input/output operations, whether to perform the request as either the in-place write or as the out-of-place write.

6. The method of claim 5 , wherein determining, based on the recorded pattern of the input/output operations, whether to perform the request as the out-of-place write comprises:

determining that the recorded pattern of input/output operations corresponds to a sequential pattern of input/output operations.

7. The method of claim 5 , further comprising:

determining, based on the recorded pattern of the input/output operations, whether to write the data to the first location on the storage tier which currently stores the first portion of the file or to the second location on one of the storage tiers, other than the first location.

8. The method of claim 1 , wherein the computing node is a node of a secondary storage system.

9. A computer program product for storing data, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving a request to write data corresponding to at least a first portion of a file;

determining whether to perform the request either as an in-place write or as an out-of-place write, wherein performing the in-place write comprises performing a write to a low latency storage device and performing the out-of-place write comprises performing a write to a higher latency storage device;

in an event it is determined to perform the request as the in-place write, writing the data to a first location on a storage tier which currently stores the first portion of the file; and

in an event it is determined to perform the request as the out-of-place write, writing the data to a second location on one of a plurality of storage tiers of a computing node, other than the first location.

10. The computer program product of claim 9 , wherein determining to perform the request as the out-of-place write comprises:

determining that the first portion of the file corresponds to a deduplicated portion.

11. The computer program product of claim 9 , wherein determining to perform the request as the out-of-place write comprises:

determining that the first portion of the file corresponds to a compressed group of portions from one or more files.

12. The computer program product of claim 9 , further comprising computer instructions for:

recording a pattern of input/output operations to one or more portions of the file.

13. The computer program product of claim 12 , further comprising computer instructions for:

determining, based on the recorded pattern of the input/output operations, whether to perform the request as either the in-place write or as the out-of-place write.

14. The computer program product of claim 13 , wherein determining, based on the recorded pattern of the input/output operations, whether to perform the request as the out-of-place write comprises:

determining that the recorded pattern of input/output operations corresponds to a sequential pattern of input/output operations.

15. A system, comprising:

a processor; and

a memory coupled with the processor, wherein the memory is configured to provide the processor with instructions which when executed cause the processor to:

receive a request to write data corresponding to at least a first portion of a file;

determine whether to perform the request either as an in-place write or as an out-of-place write, wherein performing the in-place write comprises performing a write to a low latency storage device and performing the out-of-place write comprises performing a write to a higher latency storage device;

in an event it is determined to perform the request as the in-place write, write the data to a first location on a storage tier which currently stores the first portion of the file; and

in an event it is determined to perform the request as the out-of-place write, write the data to a second location on one of a plurality of storage tiers of a computing node, other than the first location.

16. The system of claim 15 , wherein determining to perform the request as the out-of-place write comprises:

determining that the first portion of the file corresponds to a deduplicated portion.

17. The system of claim 15 , wherein determining to perform the request as the out-of-place write comprises:

determining that the first portion of the file corresponds to a compressed group of portions from one or more files.

18. The system of claim 15 , wherein the memory is further configured to provide the processor with instructions which when executed cause the processor to:

record a pattern of input/output operations to one or more portions of the file; and

determine, based on the recorded pattern of the input/output operations, whether to perform the request as either the in-place write or as the out-of-place write.

19. The system of claim 18 , wherein determining, based on the recorded pattern of the input/output operations, whether to perform the request as the out-of-place write comprises:

determining that the recorded pattern of input/output operations corresponds to a sequential pattern of input/output operations.

20. The system of claim 15 , wherein the computing node is a node of a secondary storage system.

Assignments (4)
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 10, 2024
From: FIRST-CITIZENS BANK & TRUST COMPANY (AS SUCCESSOR TO SILICON VALLEY BANK)
To: COHESITY, INC.
Reel/Frame 069584/0498 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
SECURITY INTEREST Recorded Sep 23, 2022
From: COHESITY, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 061509/0818 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2019
From: ARON, MOHIT; SHANMUGANATHAN, GANESHA
To: COHESITY, INC.
Reel/Frame 048496/0845 →