Quick initialization of data regions in a distributed storage system
First Claim
1. A method comprising:
- Flushing a received write transaction from a first memory device to a second memory device on a node in a file system based on byte-range within a file system block;
Determining if the received write transaction is a first write transaction for writing data associated with the received write transaction to the file system block;
Integrating a file system recovery log layer in the file system, wherein the file system buffers data in a cyclical manner, transforming all incoming random requests into a series of synchronous sequential updates;
Determining to flush the received write transaction to a recovery log that is stored in a non-volatile storage layer of the file system;
If it is determined to flush the received write transaction to the recovery log and the received write transaction is the first write transaction for writing the data associated with the received write transaction to the file system block;
Appending the data associated with the received write transaction in the recovery log and recording byte-ranges remaining in the file system block after writing the data associated with the write transaction to the files system block, and recording associated particular bit information that the remaining byte-ranges must be set to when a recovery sequence for recovering data in the recovery log executes due to a system failure;
Replicating the data associated with the received write transaction as well as information regarding the remaining byte-ranges and the associated particular bit information that must be set in another non-volatile storage layer of another node if required; and
Marking the entire file system block byte-range as committed.
1 Assignment
0 Petitions
Accused Products
Abstract
A method includes flushing a write transaction based on byte-ranges within a file system block. It is determined if the write transaction is a first write transaction to the file system block and whether to flush the received write transaction to a recovery log. If it is determined to flush the write transaction to the recovery log and the received write transaction is the first write transaction: the data associated with the write transaction is appended in the recovery log and byte-ranges remaining in the file system block are recorded, and also recording an associated particular bit value or particular bit pattern that the remaining byte-ranges must be set to before the remaining byte-ranges are accessed or when a recovery sequence for recovering data in the recovery log executes due to failure. The write transaction is replicated. The entire file system block byte-range is marked as committed.
34 Citations
20 Claims
-
1. A method comprising:
-
Flushing a received write transaction from a first memory device to a second memory device on a node in a file system based on byte-range within a file system block; Determining if the received write transaction is a first write transaction for writing data associated with the received write transaction to the file system block; Integrating a file system recovery log layer in the file system, wherein the file system buffers data in a cyclical manner, transforming all incoming random requests into a series of synchronous sequential updates; Determining to flush the received write transaction to a recovery log that is stored in a non-volatile storage layer of the file system; If it is determined to flush the received write transaction to the recovery log and the received write transaction is the first write transaction for writing the data associated with the received write transaction to the file system block; Appending the data associated with the received write transaction in the recovery log and recording byte-ranges remaining in the file system block after writing the data associated with the write transaction to the files system block, and recording associated particular bit information that the remaining byte-ranges must be set to when a recovery sequence for recovering data in the recovery log executes due to a system failure; Replicating the data associated with the received write transaction as well as information regarding the remaining byte-ranges and the associated particular bit information that must be set in another non-volatile storage layer of another node if required; and Marking the entire file system block byte-range as committed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer program product for quick initialization using storage and replication, the computer program product comprising a computer readable storage medium having program code embodied therewith, the program code executable by a processor to:
-
Flush a received write transaction from a first memory device to a second memory device on a node in a file system based on byte-range within a file system block; Determine if the received write transaction is a first write transaction for writing data associated with the received write transaction to the file system block; Integrate a file system recovery log layer in the file system, wherein the file system buffers data in a cyclical manner, transforming all incoming random requests into a series of synchronous sequential updates; Determine to flush the received write transaction to a recovery log that is stored in a non-volatile storage layer of the file system; If it is determined to flush the received write transaction to the recovery log and the received write transaction is the first write transaction for writing the data associated with the received write transaction to the file system block; Append the data associated with the received write transaction in the recovery log and recording byte-ranges remaining in the file system block after writing the data associated with the write transaction to the files system block, and recording associated particular bit information that the remaining byte-ranges must be set to when a recovery sequence for recovering data in the recovery log executes due to a system failure; Replicate the data associated with the received write transaction as well as information regarding the remaining byte-ranges and the associated particular bit information that must be set in another non-volatile storage layer of another node if required; and Mark the entire file system block byte-range as committed. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A system comprising:
-
A file system including a primary storage device; and A client note device coupled with a recovery log and a first memory device, the client node including process that; Flushes a received write transaction from a first memory device to the primary memory device on a node in a file system based on at least one byte-range for a file system block; Determines if the received write transaction is a first write transaction for writing data associated with the received write transaction to the file system block; Integrates a file system recovery log layer in the file system, buffers data in a cyclical manner, transforms all incoming random requests into a series of synchronous sequential updates; Determines to flush the received write transaction to a recovery log that is stored in a non-volatile storage layer of the file system; and If it is determined to flush the received write transaction to the recovery log; Appends the data associated with the received write transaction in the recovery log and records byte-ranges remaining in the file system block after writing the data associated with the write transaction to the files system block, and records associated particular bit information that the remaining byte-ranges must be set to when a recovery sequence for recovering data in the recovery log executes due to a system failure; Replicates the data associated with the received write transaction as well as information regarding the remaining byte-ranges and the associated particular bit information that must be set in another non-volatile storage layer of another node if required; and Markis the entire file system block byte-range as committed. - View Dependent Claims (18, 19, 20)
-
Specification