IP Library Patent Application 15193147
Patent Application
App. No. 15/193,147

CACHE-AWARE BACKGROUND STORAGE PROCESSES

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 None
App. No.
15/193,147
Abstract

A system for data storage includes one or more storage devices, a cache memory, and one or more processors. The processors are configured to store data in the storage devices, to cache part of the stored data in the cache memory, and to apply a background maintenance process to at least some of the data stored in the storage devices, including modifying the background maintenance process depending on the part of the data that is cached in the cache memory.

Claims (27)

1 . A system for data storage, comprising:

one or more storage devices;

a cache memory; and

one or more processors, which are configured to store data in the storage devices, to cache part of the stored data in the cache memory, and to apply a background maintenance process to at least some of the data stored in the storage devices, including modifying the background maintenance process depending on the part of the data that is cached in the cache memory.

2 . The system according to claim 1 , wherein the processors are configured to notify a first background maintenance process of a data item that was accessed by a second background maintenance process, and to apply the first background maintenance process using a cached version of the data item.

3 . The system according to claim 1 , wherein the processors are configured to modify the background maintenance process by detecting that a data item is present in the cache memory, and in response prioritizing processing of the data item relative to other data items that are not present in the cache memory.

4 . The system according to claim 1 , wherein the processors are configured to apply the background maintenance process by scrubbing data items stored in the storage devices, and to modify the background maintenance process by refraining from scrubbing a data item in the storage devices, in response to detecting that the data item is present in the cache memory.

5 . The system according to claim 1 , wherein the processors are configured to apply the background maintenance process by de-fragmenting data items stored in the storage devices based on metadata, and to modify the background maintenance process by reading at least part of the metadata from the cache memory instead of from the storage devices.

6 . The system according to claim 1 , wherein the processors are configured to apply the background maintenance process by de-duplicating data items stored in the storage devices, and to modify the background maintenance process by reading one or more of the data items from the cache memory instead of from the storage devices.

7 . The system according to claim 1 , wherein the processors are configured to apply the background maintenance process by collecting statistical information relating to data items stored in the storage devices, and to modify the background maintenance process by reading one or more of the data items from the cache memory instead of from the storage devices.

8 . The system according to claim 1 , wherein the processors are configured to apply the background maintenance process by replicating data items stored in the storage devices to secondary storage, and to adapt an eviction policy, which selects data items for eviction from the cache memory, depending on replication of the data items.

9 . The system according to claim 8 , wherein the processors are configured to defer eviction of a data item in response to detecting that the data item is about to be replicated.

10 . The system according to claim 1 , wherein the processors are configured to defer eviction of a data item from the cache memory in response to detecting that the data item is about to be processed by the background maintenance process.

11 . A method for data storage, comprising:

storing data in one or more storage devices;

caching part of the stored data in a cache memory; and

applying a background maintenance process to at least some of the data stored in the storage devices, including modifying the background maintenance process depending on the part of the data that is cached in the cache memory.

12 . The method according to claim 11 , wherein applying the background maintenance process comprises notifying a first background maintenance process of a data item that was accessed by a second background maintenance process, and applying the first background maintenance process using a cached version of the data item.

13 . The method according to claim 11 , wherein modifying the background maintenance process comprises, in response to detecting that a data item is present in the cache memory, prioritizing processing of the data item relative to other data items that are not present in the cache memory.

14 . The method according to claim 11 , wherein applying the background maintenance process comprises scrubbing data items stored in the storage devices, and wherein modifying the background maintenance process comprises refraining from scrubbing a data item in the storage devices, in response to detecting that the data item is present in the cache memory.

15 . The method according to claim 11 , wherein applying the background maintenance process comprises de-fragmenting data items stored in the storage devices based on metadata, and wherein modifying the background maintenance process comprises reading at least part of the metadata from the cache memory instead of from the storage devices.

16 . The method according to claim 11 , wherein applying the background maintenance process comprises de-duplicating data items stored in the storage devices, and wherein modifying the background maintenance process comprises reading one or more of the data items from the cache memory instead of from the storage devices.

17 . The method according to claim 11 , wherein applying the background maintenance process comprises collecting statistical information relating to data items stored in the storage devices, and wherein modifying the background maintenance process comprises reading one or more of the data items from the cache memory instead of from the storage devices.

18 . The method according to claim 11 , wherein applying the background maintenance process comprises replicating data items stored in the storage devices to secondary storage, and comprising adapting an eviction policy, which selects data items for eviction from the cache memory, depending on replication of the data items.

19 . The method according to claim 18 , wherein adapting the eviction policy comprises deferring eviction of a data item in response to detecting that the data item is about to be replicated.

20 . The method according to claim 11 , and comprising deferring eviction of a data item from the cache memory in response to detecting that the data item is about to be processed by the background maintenance process.

21 . A computer software product, the product comprising a tangible non-transitory computer-readable medium in which program instructions are stored, which instructions, when read by one or more processors, cause the processors to store data in one or more storage devices, to cache part of the stored data in a cache memory, and to apply a background maintenance process to at least some of the data stored in the storage devices, including modifying the background maintenance process depending on the part of the data that is cached in the cache memory.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2020
From: STRATO SCALE LTD.
To: MELLANOX TECHNOLOGIES, LTD.
Reel/Frame 053184/0620 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2016
From: TRAEGER, AVISHAY
To: STRATO SCALE LTD.
Reel/Frame 039011/0092 →