Tier-optimized write scheme

US11733871B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11733871-B2
Application numberUS-201916662899-A
CountryUS
Kind codeB2
Filing dateOct 24, 2019
Priority dateApr 13, 2015
Publication dateAug 22, 2023
Grant dateAug 22, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A request to write data corresponding to at least a first portion of a file is received. It is determined whether to perform the request either as an in-place write or as an out-of-place write. 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. The request is performed as either the in-place write or the out-of-place write based on the determination. Performing the request as the in-place write includes writing the data to a first location on a storage tier storing the first portion of the file, and performing the request as the out-of-place write includes writing the data to a second location on one of a plurality of storage tiers of a computing node, other than the first location.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: receiving a first request to write first data to a first portion of a file; determining whether the first portion of the file is associated with existing data chunks; in response to determining that the first portion of the file is not associated with the existing data chunks: creating a first set of one or more data chunks based on an incoming access pattern; and writing the first set of one or more data chunks to the first portion of the file; receiving a second request to write second data to a second portion of the file; determining whether the second portion of the file is associated with the existing data chunks; and in response to determining that the second portion of the file is associated with the existing data chunks: determining that the existing data chunks are stored in an upper tier of storage; and in response to determining that the existing data chunks are stored in the upper tier of storage, writing the second data to the upper tier of storage or a lower tier of storage based in part on the incoming access pattern. 2. The method of claim 1 , wherein the incoming access pattern is random. 3. The method of claim 2 , wherein the first set of the one or more data chunks are created on the lower tier of storage. 4. The method of claim 1 , wherein the incoming access pattern is sequential. 5. The method of claim 4 , wherein the first set of the one or more data chunks are created on the upper tier of storage. 6. The method of claim 1 , wherein the second data is written to the upper tier of storage or to the lower tier of storage based in part on whether one or more overriding conditions exist. 7. The method of claim 6 , wherein the one or more overriding conditions include whether the existing data chunks correspond to a compressed group of data chunks. 8. The method of claim 6 , wherein in the event the existing data chunks correspond to a compressed group of data chunks, the second data is written to the upper tier of storage. 9. The method of claim 6 , wherein the one or more overriding conditions include whether the existing data chunks are deduplicated. 10. The method of claim 6 , wherein in the event the existing data chunks are deduplicated, the second data is written to the lower tier of storage. 11. A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for: receiving a first request to write first data to a first portion of a file; determining whether the first portion of the file is associated with existing data chunks; in response to determining that the first portion of the file is not associated with the existing data chunks: creating a first set of one or more data chunks based on an incoming access pattern; and writing the first set of one or more data chunks to the first portion of the file; receiving a second request to write second data to a second portion of the file; determining whether the second portion of the file is associated with the existing data chunks; and in response to determining that the second portion of the file is associated with the existing data chunks: determining that the existing data chunks are stored in an upper tier of storage; and in response to determining that the existing data chunks are stored in the upper tier of storage, writing the second data to the upper tier of storage or a lower tier of storage based in part on the incoming access pattern. 12. The computer program product of claim 11 , wherein the incoming access pattern is random, and wherein the first set of the one or more data chunks are created on the lower tier of storage. 13. The computer program product of claim 11 , wherein the incoming access pattern is sequential, and wherein the first set of the one or more data chunks are created on the upper tier of storage. 14. The computer program product of claim 11 , wherein the second data is written to the upper tier of storage or to the lower tier of storage based in part on whether one or more overriding conditions exist. 15. The computer program product of claim 14 , wherein the one or more overriding conditions include whether the existing data chunks correspond to a compressed group of data chunks. 16. The computer program product of claim 14 , wherein in the event the existing data chunks correspond to a compressed group of data chunks, the second data is written to the upper tier of storage. 17. The computer program product of claim 14 , wherein the one or more overriding conditions include whether the existing data chunks are deduplicated. 18. The computer program product of claim 14 , wherein in the event the existing data chunks are deduplicated, the second data is written to the lower tier of storage. 19. A system, comprising: a processor configured to: receive a request to write data to a portion of a file; determine whether the portion of the file is associated with existing data chunks; in response to a determination that the portion of the file is not associated with the existing data chunks: create a first set of one or more data chunks based on an incoming access pattern; and write the first set of one or more data chunks to the portion of the file; and in response to a determination that the portion of the file is associated with the existing data chunks: determine that the existing data chunks are stored in an upper tier of storage; and in response to the determination that the existing data chunks are stored in the upper tier of storage, write the data to the upper tier of storage or a lower tier of storage based in part on the incoming access pattern; and a memory coupled to the processor and configured to provide the processor with instructions. 20. The system of claim 19 , wherein the data is written to the upper tier of storage or to the lower tier of storage based in part on whether one or more overriding conditions exist.

Assignees

Inventors

Classifications

  • G06F3/0611Primary

    in relation to response time · CPC title

  • Management of files · CPC title

  • Data buffering arrangements · CPC title

  • Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays · CPC title

  • Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11733871B2 cover?
A request to write data corresponding to at least a first portion of a file is received. It is determined whether to perform the request either as an in-place write or as an out-of-place write. 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. The requ…
Who is the assignee on this patent?
Cohesity Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/0611. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 22 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).