IP Library Granted Patent US 9,087,006
Granted Patent B2
US 9,087,006 · App. 13/481,981 · Granted Jul 21, 2015

Destaging cached data in multiple recurrences in a storage system

Inventors: Yechiel Yochai (Moshav Aviel, IL); Michael Dorfman (Ramat HaSharon, IL); Efraim Zeidner (Haifa, IL)
Assignee: INFINIDAT LTD.
G06F11/1441G06F12/0868
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,087,006
App. No.
13/481,981
Granted
Jul 21, 2015
Kind
B2
Abstract

Storage system(s) for storing data in physical storage in a recurring manner, method(s) of operating thereof, and corresponding computer program product(s). For example, a possible method can include: upon start of a storage recurrence, destaging dirty data which had been accommodated in the cache memory prior to the start of said storage recurrence thus giving rise to destaged data group, wherein destaging is provided with no overwriting of at least superseded data destaged before starting said storage recurrence while enabling retaining metadata indicative of location of said superseded data in the physical storage space; accommodating data obtained in said cache memory subsequent to the start of said storage recurrence while preventing said data from being destaged during said storage recurrence, thus giving rise to accommodated data group; and registering a point-in-time indicative of successful destaging of the destaged data group, thereby providing an order-preservation consistency indication corresponding to said recurrence.

Claims (36)

1. A method of operating a storage system which includes a cache memory operatively coupled to a physical storage space comprising a plurality of disk drives, the method comprising performing a plurality of storage recurrences for destaging data from the cache memory to the physical storage space, wherein a performing of each storage recurrence comprises:

upon a start of the storage recurrence, destaging first dirty data which had been accommodated in the cache memory prior to the start of said storage recurrence, wherein the destaging of the first dirty data is provided with no overwriting of superseded data that includes data that was destaged before starting said storage recurrence whilst enabling retaining metadata indicative of location of said superseded data in the physical storage space; wherein the destaging of the first dirty data is performed in an order that differs from an order in which the first dirty data had been accommodated in the cache memory;

queuing second dirty data accommodated in said cache memory subsequent to the start of said storage recurrence, wherein the queuing of the second dirty data is in a second data structure that differs from a first data structure used for queuing the first dirty data;

preventing said second dirty data from being destaged during the performing of said storage recurrence and until a start of a next storage recurrence; and

registering a point-in-time indicative of a successful destaging of the first dirty data, thereby providing an order-preservation consistency indication corresponding to said storage recurrence.

2. The method of claim 1 wherein, if a total crash happened during said storage recurrence, the method further comprises returning the storage system to an order-preservation consistency condition using said superseded data and the metadata indicative of the location of the superseded data in the physical storage space and corresponding to an order-preservation consistency indication provided in a previous recurrence.

3. The method of claim 1 wherein time intervals between storage recurrences of the plurality of storage recurrences have equal duration.

4. The method of claim 1 , wherein a frequency of the plurality of storage recurrences is dynamically adjustable.

5. The method of claim 1 wherein each storage recurrence is initiated by the storage system in response to an occurrence of at least one event selected from a group consisting of: power instability meets a predefined condition, cache overload meets a predefined condition, kernel panic actions taken by an operational system.

6. The method of claim 1 further comprising predefining one or more logical volumes corresponding to a consistency class, wherein the first dirty data and the second dirty data are associated with said one or more logical volumes.

7. The method of claim 1 , wherein said destaging is provided in a write-out-of-place manner.

8. A method of operating a storage system which includes a cache memory operatively coupled to a physical storage space comprising a plurality of disk drives, the method comprising performing a plurality of storage recurrences for destaging data from the cache memory to the physical storage space, wherein a performing of each storage recurrence comprises:

upon a start of the storage recurrence, destaging first dirty data which has been accommodated in the cache memory prior to the start of said storage recurrence, wherein the destaging of the first dirty data is provided with no overwriting of superseded data that includes data that was destaged before starting said storage recurrence; wherein the destaging of the first dirty data is performed in an order that differs from an order in which the first dirty data had been accommodated in the cache memory;

queuing second dirty data accommodated in said cache memory subsequent to the start of said storage recurrence, wherein the queuing of the second dirty data is in a second data structure that differs from a first data structure used for queuing the first dirty data;

preventing said second dirty data from being destaged during the performing of said storage recurrence and until a start of a next storage recurrence;

registering details of storage transactions during said storage recurrence in a manner enabling retaining metadata indicative of location of said superseded data in the physical storage space; and

registering a point-in-time indicative of successful destaging of the first dirty data, thereby providing an order-preservation consistency indication corresponding to said storage recurrence.

9. The method of claim 8 wherein, if a total crash happened during said storage recurrence, the method further comprises restoring the storage system to a state of the storage system immediately before the total crash and then returning the storage system to a data consistency condition, wherein said restoring comprises: executing all said storage transactions, and wherein said returning comprises: rolling back transactions that were registered after said registered point-in-time, providing recovery in accordance with data and metadata corresponding to an order-preservation consistency indication corresponding to a previous recurrence.

10. The method of claim 9 further comprising remapping virtual addresses of destaged data to physical addresses of corresponding superseded data.

11. A storage system comprising:

a physical storage space comprising a plurality of disk drives; and

a cache memory, operatively coupled to said physical storage space;

said storage system is configured to perform a plurality of storage recurrences for destaging data from the cache memory to the physical storage space, wherein the storage system is configured to perform for each storage recurrence:

upon a start of the storage recurrence, destage first dirty data which had been accommodated in the cache memory prior to the start of said storage recurrence, wherein the destaging of the first dirty data is provided with no overwriting of superseded data that includes data that was destaged before starting said storage recurrence whilst enabling retaining metadata indicative of location of said superseded data in the physical storage space; wherein the destaging of the first dirty data is performed in an order that differs from an order in which the first dirty data had been accommodated in the cache memory;

queue second dirty data accommodated in said cache memory subsequent to the start of said storage recurrence, wherein the queuing of the second dirty data is in a second data structure that differs from a first data structure used for queuing the first dirty data;

preventing said second dirty data from being destaged during the performing of said storage recurrence and until a start of a next storage recurrence; and

register a point-in-time indicative of a successful destaging of the first dirty data, thereby providing an order-preservation consistency indication corresponding to said storage recurrence.

12. The storage system of claim 11 , further operable, if a total crash happened during said storage recurrence, to return the storage system to an order-preservation consistency condition using said superseded data and the metadata indicative of the location of the superseded data in the physical storage space and corresponding to an order-preservation consistency indication provided in a previous recurrence.

13. The storage system of claim 11 , wherein time intervals between storage recurrences of the plurality of storage recurrences have equal duration.

14. The storage system of claim 11 , wherein each storage recurrence is initiated by the storage system in response to an occurrence of at least one event selected from a group consisting of: power instability meets a predefined condition, cache overload meets a predefined condition, kernel panic actions taken by an operational system.

15. The storage system of claim 11 , further operable to predefine one or more logical volumes corresponding to a consistency class, wherein the first dirty data and the second dirty data are associated with said one or more logical volumes.

16. A computer program product comprising a non-transitory computer useable medium having computer readable program code embodied therein for operating a storage system which includes a cache memory operatively coupled to a physical storage space comprising a plurality of disk drives, said computer readable program code including computer readable program code for perform a plurality of storage recurrences for destaging data from the cache memory to the physical storage space, the computer program product comprising for each storage recurrence:

computer readable program code for causing the computer to, upon a start of the storage recurrence, destage first dirty data which had been accommodated in the cache memory prior to the start of said storage recurrence, wherein the destaging of the first dirty data is provided with no overwriting of superseded data that includes data that was destaged before starting said storage recurrence whilst enabling retaining metadata indicative of location of said superseded data in the physical storage space; wherein the destaging of the first dirty data is performed in an order that differs from an order in which the first dirty data had been accommodated in the cache memory;

computer readable program code for causing the computer to queue second dirty data accommodated in said cache memory subsequent to the start of said storage recurrence, wherein the queuing of the second dirt data is in a second data structure that differs from a first data structure used for queuing the first dirty data;

computer readable program code for causing the computer to prevent said second dirty data from being destaged during the performing of said storage recurrence and until a start of a next storage recurrence; and

computer readable program code for causing the computer to register a point-in-time indicative of successful destaging of the first dirty data, thereby providing an order-preservation consistency indication corresponding to said storage recurrence.

Assignments (9)
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 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 →
RELEASE OF SECURITY INTEREST Recorded Mar 30, 2021
From: BANK LEUMI LE-ISRAEL B.M.
To: INFINIDAT LTD.
Reel/Frame 055776/0597 →
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 →
LIEN Recorded Jul 18, 2016
From: INFINIDAT LTD.
To: BANK LEUMI LE-ISRAEL B.M.
Reel/Frame 039361/0161 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2012
From: YOCHAI, YECHIEL; DORFMAN, MICHAEL; ZEIDNER, EFRAIM
To: INFINIDAT LTD.
Reel/Frame 028277/0668 →
Continuity (1)
Related Publication 20130326272A1 · Dec 5, 2013