System and method for parallelized replay of an NVRAM log in a storage appliance
First Claim
1. A method for replay of a backup memory in a storage system having a file system for managing transfer of data to and from an attached disk array, the method comprising:
- accumulating, in a log in the backup memory, storage system transaction request entries after a consistency point at which time results of the transaction request entries are committed to the disk array;
establishing a swarm of messages with respect to the transaction request entries and delivering the swarm to the file system; and
performing a parallel disk information-retrieval process of the file system that is carried out in an arbitrary order on the swarm of messages in parallel by a processor within the storage system, wherein the processor commingles steps of each message to process the messages in parallel.
0 Assignments
0 Petitions
Accused Products
Abstract
A system and method for enabling parallel replay of a backup memory log of client transaction request entries to a network storage appliance file system is provided. The backup memory is typically implemented as a non-volatile random access memory (NVRAM). An initiator establishes a swarm of messages with a plurality of transaction blocks pointing to logged request entries and related states associated therewith. The states represent the various phases of file system recovery and disk storage including a retrieval of disk information (data and meta-data), typically in the form of a LOAD, and a subsequent modify phase. The swarm is transferred to the file system for parallel disk information-retrieval in an interleaved process. Any transactions that cannot be performed due to a required prerequisite action (e.g. a prior file-create) are returned to the initiator for reloading once the prerequisite action has occurred.
-
Citations
23 Claims
-
1. A method for replay of a backup memory in a storage system having a file system for managing transfer of data to and from an attached disk array, the method comprising:
-
accumulating, in a log in the backup memory, storage system transaction request entries after a consistency point at which time results of the transaction request entries are committed to the disk array; establishing a swarm of messages with respect to the transaction request entries and delivering the swarm to the file system; and performing a parallel disk information-retrieval process of the file system that is carried out in an arbitrary order on the swarm of messages in parallel by a processor within the storage system, wherein the processor commingles steps of each message to process the messages in parallel. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-readable storage medium containing executable program instructions executed by a processor, comprising:
-
program instructions that accumulate, in a log in a backup memory, storage system transaction request entries after a consistency point at which results of the transaction request entries are committed to an attached disk array; program instructions that establish a swarm of messages with respect to the transaction request entries and delivering the swarm to a file system; and program instructions that perform parallel a disk information-retrieval process of the file system that is carried out in an arbitrary order on the swarm of messages in parallel by a processor within a storage system, wherein the processor commingles steps of each message to process the messages in parallel. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A method for replay of a backup memory in a storage system having a file system for managing transfer of data to and from an attached disk array, the method comprising:
-
accumulating one or more transaction request entries after a consistency point, said consistency point is a time at which results of the transaction request entries are committed to the disk array; establishing a plurality of messages with respect to the transaction request entries, said plurality of messages being referred to as a swarm of messages and delivering the swarm to the file system; and executing a parallel disk information-retrieval process on the swarm of messages in parallel in an arbitrary order by a processor within the storage system, wherein the processor commingles steps of each message to process the messages in parallel. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A file system, comprising:
-
a backup memory storing a plurality of file system transaction entries; a first process that establishes a swarm of messages with respect to the file system transaction entries and delivers the swarm of messages to the file system; a second process that performs a parallel LOAD phase for a plurality of messages in the swarm of messages where the LOAD phase is processed in an arbitrary order by commingling one or more steps of the LOAD phase applied to each message of the swarm of messages; and a third process that performs a MODIFY phase for at least some messages in the swarm of messages, the MODIFY phase operating on messages based on the order in which file system transaction entries were stored in the backup memory. - View Dependent Claims (18, 19)
-
-
20. A method, comprising:
-
storing a plurality of file system transaction entries in a backup memory; establishing a swarm of messages with respect to the file system transaction entries; delivering the swarm of messages to a file system; performing a parallel LOAD phase for a plurality of messages in the swarm of messages where the LOAD phase is processed in an arbitrary order by commingling one or more steps of the LOAD phase applied to each message of the swarm of messages; and performing a MODIFY phase for at least some messages in the swarm of messages, the MODIFY phase operating on messages based on the order in which file system transaction entries were stored in the backup memory.
-
-
21. A method for operating a storage system, comprising:
-
storing a plurality of file system transaction entries in a backup memory; establishing a swarm of messages with respect to the plurality of file system transaction entries; delivering the swarm of messages to a file system; and performing a parallel retrieval process by a processor within the storage system, for a plurality of messages in the swarm of messages by processing the messages in an arbitrary order, where the processor executes the messages in the arbitrary order by commingling the processing of messages and steps of the retrieval process.
-
-
22. An operating system configured with a storage system, comprising:
-
a backup memory storing a plurality of transaction entries; a first process that establishes a swarm of messages with respect to the transaction entries and delivers the swarm of messages to the operating system; a second process that performs a parallel LOAD phase for a plurality of messages in the swarm of messages where the LOAD phase is processed in an arbitrary order by a processor commingling one or more steps of the LOAD phase applied to each message of the swarm of messages; and a third process that performs a MODIFY phase for at least some messages in the swarm of messages, the MODIFY phase operating on messages based on the order in which the transaction entries were stored in the backup memory.
-
-
23. A system for replay of a backup memory in a storage system having an operating system for managing transfer of data to and from an attached disk array, the system comprising:
-
a log in the backup memory containing the storage system transaction entries accumulated after a consistency point at which time results of the storage system transaction entries are committed to the disk array; an initiator process that establishes a plurality of messages with respect to the storage system transaction entries and delivers the plurality of messages to the operating system; and a parallel disk information-retrieval process in the operating system that is carried out on the plurality of messages in an arbitrary order by the processor commingling steps of each message of the plurality of messages.
-
Specification