IP Library Granted Patent US 10,503,645
Granted Patent B1
US 10,503,645 · App. 15/652,235 · Granted Dec 10, 2019

Data protection

Inventors: Kariel Sandler (Bat Hefer, IL); Jacob Broido (Kfar Saba, IL)
Assignee: INFINIDAT LTD.
G06F12/084G06F12/0842
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,503,645
App. No.
15/652,235
Granted
Dec 10, 2019
Kind
B1
Abstract

A method for providing fast access, the method may include obtaining, by a first storage controller of a storage system, retrieval information for retrieving, from a permanent storage space, a subset of cached data units, the subset of the cached data units forms a part of a set of cached data units that are cached in a first cache memory and were destaged to the permanent storage space; and retrieving, using the retrieval information, at least some of the cached data units of the subset from the permanent storage space to a second cache memory, wherein the retrieving occurs in response to an occurrence of a failure to access the first cache memory; wherein the second cache memory differs from the first cache memory.

Claims (27)

1. A method for data protection, the method comprises:

obtaining, by a first storage controller of a storage system, retrieval information for retrieving, from a permanent storage space, a subset of cached data units, the subset of the cached data units forms a part of a set of cached data units that are cached in a first cache memory and were destaged to the permanent storage space;

selecting cached data units that belong to the subset, wherein the selecting is based on an estimate of which cached data units out of the set of cached data units are associated with a majority of access requests aimed to the first cache memory;

and

retrieving, using the retrieval information, at least some of the cached data units of the subset from the permanent storage space to a second cache memory, wherein the retrieving occurs in response to an occurrence of a failure to access the first cache memory; wherein the second cache memory differs from the first cache memory.

2. The method according to claim 1 , comprising receiving, by the storage system, a request to read a data unit that is included in the at least some of the cached data units, and retrieving the data unit from the second cache memory.

3. The method according to claim 1 , comprising initiating the retrieving of the at least some of the cached data units before receiving access requests by the first storage controller.

4. The method according to claim 1 , comprising controlling the retrieving of the at least some of the cached data units based on (i) priorities of cached data units that belong to the subset, and (ii) priorities of cached data units that are stored in the second memory cache and do not belong to the subset.

5. The method according to claim 1 , comprising selecting cached data units that belong to the subset based on priorities of the cached data units.

6. The method according to claim 1 , comprising managing the first memory cache and the second memory cache by the first storage controller.

7. The method according to claim 1 , comprising managing the second memory cache by the first storage controller, without managing the first memory cache by the first storage controller.

8. The method according to claim 1 , comprising generating, by the first storage controller, another retrieval information for retrieving, from the permanent storage space, another subset of cached data units that is cached in the second cache memory and was destaged to the permanent storage space.

9. The method according to claim 8 , comprising sending the additional retrieval information to another storage controller of the storage system.

10. A non-transitory computer readable medium that stores instructions that once executed by a storage controller of a storage system, cause the storage controller to execute the steps of:

obtaining retrieval information for retrieving, from a permanent storage space, a subset of cached data units, the subset of the cached data units forms a part of a set of cached data units that are cached in a first cache memory and were destaged to the permanent storage space;

selecting cached data units that belong to the subset, wherein the selecting is based on an estimate of which cached data units out of the set of cached data units are associated with a majority of access requests aimed to the first cache memory;

and

retrieving, using the retrieval information, at least some of the cached data units of the subset from the permanent storage space to a second cache memory, wherein the retrieving occurs in response to an occurrence of a failure to access the first cache memory; wherein the second cache memory differs from the first cache memory.

11. The non-transitory computer readable medium according to claim 10 , that stores instructions for receiving, by the storage system, a request to read a data unit that is included in the at least some of the cached data units, and retrieving the data unit from the second cache memory.

12. The non-transitory computer readable medium according to claim 10 , that stores instructions for initiating the retrieving of the at least some of the cached data units before receiving access requests by the first storage controller.

13. The non-transitory computer readable medium according to claim 10 , that stores instructions for controlling the retrieving of the at least some of the cached data units based on (i) priorities of cached data units that belong to the subset, and (ii) priorities of cached data units that are stored in the second memory cache and do not belong to the subset.

14. The non-transitory computer readable medium according to claim 10 , that stores instructions for selecting cached data units that belong to the subset based on priority of the cached data units.

15. The non-transitory computer readable medium according to claim 10 , that stores instructions for managing the first memory cache and the second memory cache by the first storage controller.

16. The non-transitory computer readable medium according to claim 10 , that stores instructions for managing the second memory cache by the first storage controller, without managing the first memory cache by the first storage controller.

17. The non-transitory computer readable medium according to claim 10 , that stores instructions for generating, by the first storage controller, another retrieval information for retrieving, from the permanent storage space, another subset of cached data units that is cached in the second cache memory and was destaged to the permanent storage space.

18. The non-transitory computer readable medium according to claim 17 , that stores instructions for sending the additional retrieval information to another storage controller of the storage system.

19. A storage system comprising a first storage controller, a first cache memory, a second cache memory unit and a permanent storage space, wherein the first storage controller is configured to (a) obtain retrieval information for retrieving, from a permanent storage space, a subset of cached data units, the subset of the cached data units forms a part of a set of cached data units that are cached in a first cache memory and were destaged to the permanent storage space; (b) select cached data units that belong to the subset, based on an estimate of which cached data units out of the set of cached data units are associated with a majority of access requests aimed to the first cache memory; and (c) retrieve, using the retrieval information, at least some of the cached data units of the subset from the permanent storage space to a second cache memory, wherein the retrieving occurs in response to an occurrence of a failure to access the first cache memory; wherein the second cache memory differs from the first cache memory.

Assignments (6)
SECURITY INTEREST Recorded Jan 30, 2025
From: INFINIDAT LTD
To: KREOS CAPITAL VII AGGREGATOR SCSP,
Reel/Frame 070056/0458 →
RELEASE OF SECURITY INTEREST IN IP RECORDED AT R/F 55653/0854 Recorded Jan 18, 2024
From: SILICON VALLEY BANK
To: INFINIDAT LTD.
Reel/Frame 066344/0064 →
SECURITY INTEREST Recorded Jan 11, 2024
From: INFINIDAT LTD
To: KREOS CAPITAL VI (EXPERT FUND) L.P.; KREOS CAPITAL 2020 OPPORTUNITY L.P.
Reel/Frame 066270/0359 →
SECURITY INTEREST Recorded Jan 10, 2024
From: INFINIDAT LTD
To: HSBC BANK PLC
Reel/Frame 066268/0584 →
SECURITY INTEREST Recorded Mar 18, 2021
From: INFINIDAT LTD.
To: SILICON VALLEY BANK
Reel/Frame 055653/0854 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2020
From: SANDLER, KARIEL; BROIDO, JACOB
To: INFINIDAT LTD.
Reel/Frame 054496/0905 →
Cited By (1)
US 12,561,253