IP Library Granted Patent US 9,798,665
Granted Patent B1
US 9,798,665 · App. 14/975,794 · Granted Oct 24, 2017

Cache eviction according to data hit ratio and service level agreement

Inventor: Yechiel Yochai (Moshav Aviel, IL)
Assignee: INFINIDAT LTD.
G06F12/0833G06F12/0891G06F2212/621
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 9,798,665
App. No.
14/975,794
Granted
Oct 24, 2017
Kind
B1
Abstract

A method that may include determining, for each user of a group of users, a time difference between an event of a first type that is related to a storage of a user data unit of the user within a cache of a storage system and to an eviction of the user data unit from the cache, in response to (a) a service-level agreement (SLA) associated with the user and to (b) multiple data hit ratios associated with multiple different values of a time difference between events of the first type and evictions, from the cache, of multiple user data units of the user; and evicting from the cache, based upon the determination, one or more user data units associated with one or more users of the group.

Claims (31)

1. A method comprising:

determining, for each user of a group of users, a time difference between an event of a first type that is related to a storage of a user data unit of the user within a cache of a storage system and to an eviction of the user data unit from the cache, in response to (a) a service-level agreement (SLA) associated with the user and to (b) multiple data hit ratios associated with multiple different values of a time difference between events of the first type and evictions, from the cache, of multiple user data units of the user; wherein the determining comprises:

checking, for a given user of the group, whether the SLA associated with the given user will be maintained when reducing the time difference;

preventing a reduction of the time difference when the SLA associated with the given user will not be maintained after the reduction; and

reducing the time difference when the SLA associated with the given user will be maintained after the reduction; and

evicting from the cache, based upon the determination, one or more user data units associated with one or more users of the group.

2. The method according to claim 1 wherein the event related to the storage of the user data unit is a writing of the user data unit to the cache; and wherein the time difference is a caching period of the user data unit; wherein the caching period of the user data unit equals a difference between a time of writing of the user data unit to the cache and the eviction of the user data unit from the cache.

3. The method according to claim 2 wherein the multiple data hit ratios are facilitated by a mapping between hit ratios and ages of the multiple user data units; wherein an age of a user data unit equals a time difference between writing the user data unit to the cache and an occurrence of a cache hit related to the user data unit.

4. The method according to claim 1 wherein the event of the first type differs from a writing of the user data unit to the cache.

5. The method according to claim 1 comprising translating an SLA parameter associated with each user of the group to a desired hit ratio associated with user data units of the user.

6. The method according to claim 5 wherein the SLA parameter associated with each user of the group defines a desired maximal response time or a minimal amount of input output operations per second.

7. The method according to claim 1 comprising:

monitoring accesses to user data units associated with a given user of the group; and

calculating, in response to the monitoring, multiple data hit ratios associated with multiple different values of a time difference between events of the first type related to the given user and evictions, from the cache, of multiple user data units of the given user.

8. The method according to claim 1 comprising monitoring accesses to user data units associated with a given user of the group at a first granularity.

9. The method according to claim 8 comprising changing the time difference associated with the given user at a second granularity that differs from the first granularity.

10. The method according to claim 8 comprising decreasing the time difference associated with the given user at the first granularity; and increasing the time difference associated with the given user by a second granularity that is finer than the first granularity.

11. The method according to claim 1 wherein the determining further comprises evaluating an increment of the time difference associated with each user of the group when the SLA associated with the user is not maintained.

12. The method according to claim 1 wherein the determining further comprises evaluating an increment of the time difference associated with a given user of the group by increasing the time difference of only a portion of user data units of the given user that are stored in the cache.

13. A non-transitory computer readable medium that stores instructions that once executed by a storage system cause the storage system to execute the steps of: determining, for each user of a group of users, a time difference between an event of a first type that is related to a storage of a user data unit of the user within a cache of a storage system and to an eviction of the user data unit from the cache, in response to (a) a service-level agreement (SLA) associated with the user and to (b) multiple data hit ratios associated with multiple different values of a time difference between events of the first type and evictions, from the cache, of multiple user data units of the user; and evicting from the cache, based upon the determination, one or more user data units associated with one or more users of the group; wherein the determining comprises: checking, for a given user of the group, whether the SLA associated with the given user will be maintained when reducing the time difference; preventing a reduction of the time difference when the SLA associated with the given user will not be maintained after the reduction; and reducing the time difference when the SLA associated with the given user will be maintained after the reduction.

14. The non-transitory computer readable medium according to claim 13 wherein the event related to the storage of the user data unit is a writing of the user data unit to the cache; and wherein the time difference is a caching period of the user data unit; wherein the caching period of the user data unit equals a difference between a time of writing of the user data unit to the cache and the eviction of the user data unit from the cache.

15. The non-transitory computer readable medium according to claim 14 wherein the multiple data hit ratios are facilitated by a mapping between hit ratios and ages of the multiple user data units; wherein an age of a user data unit equals a time difference between writing the user data unit to the cache and an occurrence of a cache hit related to the user data unit.

16. The non-transitory computer readable medium according to claim 13 wherein the event of the first type differs from a writing of the user data unit to the cache.

17. The non-transitory computer readable medium according to claim 13 that stores instructions for translating an SLA parameter associated with each user of the group to a desired hit ratio associated with user data units of the user.

18. The non-transitory computer readable medium according to claim 17 wherein the SLA parameter associated with each user of the group defines a desired maximal response time or a minimal amount of input output operations per second.

19. The non-transitory computer readable medium according to claim 13 that stores instructions for monitoring accesses to user data units associated with a given user of the group; and calculating, in response to the monitoring, multiple data hit ratios associated with multiple different values of a time difference between events of the first type related to the given user and evictions, from the cache, of multiple user data units of the given user.

20. The non-transitory computer readable medium according to claim 13 that stores instructions for monitoring accesses to user data units associated with a given user of the group at a first granularity.

21. The non-transitory computer readable medium according to claim 20 that stores instructions for changing the time difference associated with the given user at a second granularity that differs from the first granularity.

22. The non-transitory computer readable medium according to claim 21 that stores instructions for decreasing the time difference associated with the given user at the first granularity; and increasing the time difference associated with the given user by a second granularity that is finer than the first granularity.

23. The non-transitory computer readable medium according to claim 13 wherein the determining further comprises evaluating an increment of the time difference associated with each user of the group when the SLA associated with the user is not maintained.

24. The non-transitory computer readable medium according to claim 13 wherein the determining further comprises evaluating an increment of the time difference associated with a given user of the group by increasing the time difference of only a portion of user data units of the given user that are stored in the cache.

Assignments (8)
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 →
RELEASE OF SECURITY INTEREST Recorded Mar 30, 2021
From: BANK LEUMI LE-ISRAEL B.M.
To: INFINIDAT LTD.
Reel/Frame 055776/0526 →
SECURITY INTEREST Recorded Mar 18, 2021
From: INFINIDAT LTD.
To: SILICON VALLEY BANK
Reel/Frame 055653/0854 →
SECURITY INTEREST Recorded Apr 12, 2018
From: INFINIDAT LTD.
To: BANK LEUMI LE-ISRAEL B.M.
Reel/Frame 045914/0276 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2016
From: YOCHAI, YECHIEL
To: INFINIDAT LTD.
Reel/Frame 037938/0201 →