Journal destage relay for online system checkpoint creation
First Claim
1. A computer-implemented method, comprisingconfiguring a storage system comprising a processor in operable communication with a storage device, the storage system responsive to input/output (I/O) requests to the storage device from a host in operable communication with the storage system;
- configuring on the storage system first, second, and third tables and first, second, and third respective metadata journals associated with the first, second, and third, tables, each respective metadata journal configured to store respective contents, wherein;
the first table maps a first respective logical address associated with a first respective logical unit number (LUN) associated with the storage device to a corresponding first respective hash digest, the first respective hash digest computed based at least in part on data that resides at the first respective logical address;
the first metadata journal comprises first metadata configured to store information associated with time-based changes to information stored in the first table;
the second table maps a first range of respective hash digests to respective associated physical locations on the storage device;
the second metadata journal comprises second metadata configured to store information associated with time-based changes to information stored in the second table;
the third table comprises a mapping indicative of whether or not a given disk block on the storage device is allocated; and
the third respective metadata journal comprises third metadata configured to store information associated with time-based changes to information stored in the third table; and
creating, while the storage system is online and responsive to I/O requests from the host, an online system checkpoint comprising information relating to a state of the storage system at a first point in time, the creation of the checkpoint comprising;
creating a plurality of consistent snapshots of the storage system at the first point in time; and
destaging, in order, the first metadata journal, the second metadata journal, and the third metadata journal, wherein each destaging is configured to destage information stored in the journal up to the first point in time.
8 Assignments
0 Petitions
Accused Products
Abstract
A storage system comprising a processor in operable communication with a storage device is configured to have first, second, and third tables and first, second, and third respective metadata journals storing time-based information associated, respectively, with the first, second, and third tables. The first table maps logical addresses associated with LUNs associated with the storage device to respective hash digests computed based on data residing at respective logical addresses. The second table maps a range of hash digests to respective associated physical locations on the storage device. The third table maps disk block allocation on the storage device. An online system checkpoint is created, comprising information relating to the state of the storage system at a point in time, where the first, second, and third, metadata journals are destaged in order so as to destage information stored in the respective journal up to the point in time.
-
Citations
20 Claims
-
1. A computer-implemented method, comprising
configuring a storage system comprising a processor in operable communication with a storage device, the storage system responsive to input/output (I/O) requests to the storage device from a host in operable communication with the storage system; -
configuring on the storage system first, second, and third tables and first, second, and third respective metadata journals associated with the first, second, and third, tables, each respective metadata journal configured to store respective contents, wherein; the first table maps a first respective logical address associated with a first respective logical unit number (LUN) associated with the storage device to a corresponding first respective hash digest, the first respective hash digest computed based at least in part on data that resides at the first respective logical address; the first metadata journal comprises first metadata configured to store information associated with time-based changes to information stored in the first table; the second table maps a first range of respective hash digests to respective associated physical locations on the storage device; the second metadata journal comprises second metadata configured to store information associated with time-based changes to information stored in the second table; the third table comprises a mapping indicative of whether or not a given disk block on the storage device is allocated; and the third respective metadata journal comprises third metadata configured to store information associated with time-based changes to information stored in the third table; and creating, while the storage system is online and responsive to I/O requests from the host, an online system checkpoint comprising information relating to a state of the storage system at a first point in time, the creation of the checkpoint comprising; creating a plurality of consistent snapshots of the storage system at the first point in time; and destaging, in order, the first metadata journal, the second metadata journal, and the third metadata journal, wherein each destaging is configured to destage information stored in the journal up to the first point in time. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system, comprising;
-
a processor; and a non-volatile memory in operable communication with the processor and storing computer program code that when executed on the processor causes the processor to execute a process operable to perform the operations of; configuring a storage system responsive to input/output (I/O) requests to the storage device from a host in operable communication with the storage system; configuring on the storage system first, second, and third tables and first, second, and third respective metadata journals associated with the first, second, and third, tables, each respective metadata journal configured to store respective contents, wherein; the first table maps a first respective logical address associated with a first respective logical unit number (LUN) associated with the storage system to a corresponding first respective hash digest, the first respective hash digest computed based at least in part on data that resides at the first respective logical address; the first metadata journal comprises first metadata configured to store information associated with time-based changes to information stored in the first table; the second table maps a first range of respective hash digests to respective associated physical locations on the storage device; the second metadata journal comprises second metadata configured to store information associated with time-based changes to information stored in the second table; the third table comprises a mapping indicative of whether or not a given disk block on the storage device is allocated; and the third respective metadata journal comprises third metadata configured to store information associated with time-based changes to information stored in the third table; creating, while the storage system is online and responsive to I/O requests from the host, an online system checkpoint comprising information relating to a state of the storage system at a first point in time, the creation of the checkpoint comprising; creating a plurality of consistent snapshots of the storage system at the first point in time; and destaging, in order, the first metadata journal, the second metadata journal, and the third metadata journal, wherein each destaging is configured to destage information stored in the journal up to the first point in time. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A computer program product including a non-transitory computer readable storage medium having computer program code encoded thereon that when executed on a processor of a computer causes the computer to operate a storage system, the computer program product comprising:
-
computer program code for configuring a storage system comprising a processor in operable communication with a storage device, the storage system responsive to input/output (I/O) requests to the storage device from a host in operable communication with the storage system; computer program code for configuring on the storage system first, second, and third tables and first, second, and third respective metadata journals associated with the first, second, and third, tables, each respective metadata journal configured to store respective contents, wherein; the first table maps a first respective logical address associated with a first respective logical unit number (LUN) associated with the storage device to a corresponding first respective hash digest, the first respective hash digest computed based at least in part on data that resides at the first respective logical address; the first metadata journal comprises first metadata configured to store information associated with time-based changes to information stored in the first table; the second table maps a first range of respective hash digests to respective associated physical locations on the storage device; the second metadata journal comprises second metadata configured to store information associated with time-based changes to information stored in the second table; the third table comprises a mapping indicative of whether or not a given disk block on the storage device is allocated; and the third respective metadata journal comprises third metadata configured to store information associated with time-based changes to information stored in the third table; and computer program code for creating, while the storage system is online and responsive to I/O requests from the host, an online system checkpoint comprising information relating to a state of the storage system at a first point in time, the creation of the checkpoint comprising; creating a plurality of consistent snapshots of the storage system at the first point in time; and destaging, in order, the first metadata journal, the second metadata journal, and the third metadata journal, wherein each destaging is configured to destage information stored in the journal up to the first point in time. - View Dependent Claims (19, 20)
-
Specification