Aggregation of Write Traffic to a Data Store
First Claim
1. A machine-implemented method for sequentially aggregating a data set in a write log in a flash-based storage, the machine-implemented method comprising:
- determining whether the data set is suitable for the sequential aggregating in the write log in the flash-based storage;
sequentially writing the data set to the write log in the flash-based storage, instead of writing to an intended destination of a random access medium, when the data set is determined to be suitable for the sequential aggregating, the random access medium being the flash-based storage, a second flash-based storage, or a disk;
maintaining a remapping tree for mapping entries in the write log to logical block addresses in a volume of the random access medium;
draining entries of the write log to respective intended destinations of the random access medium upon detection of any one of a plurality of conditions, the plurality of conditions including;
a disabling of the write log;
an absence of input/output activity with respect to the random access medium and the write log being more than a first predetermined amount full;
the write log being at least a second predetermined amount full regardless of the input/output activity with respect to the random access medium, the second predetermined amount being larger than the first predetermined amount; and
the remapping tree being larger than a third predetermined size.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and a processing device are provided for sequentially aggregating data to a write log included in a volume of a random-access medium. When data of a received write request is determined to be suitable for sequentially aggregating to a write log, the data may be written to the write log and a remapping tree, for mapping originally intended destinations on the random-access medium to one or more corresponding entries in the write log, may be maintained and updated. At time periods, a checkpoint may be written to the write log. The checkpoint may include information describing entries of the write log. One or more of the checkpoints may be used to recover the write log, at least partially, after a dirty shutdown. Entries of the write log may be drained to respective originally intended destinations upon an occurrence of one of a number of conditions.
-
Citations
20 Claims
-
1. A machine-implemented method for sequentially aggregating a data set in a write log in a flash-based storage, the machine-implemented method comprising:
-
determining whether the data set is suitable for the sequential aggregating in the write log in the flash-based storage; sequentially writing the data set to the write log in the flash-based storage, instead of writing to an intended destination of a random access medium, when the data set is determined to be suitable for the sequential aggregating, the random access medium being the flash-based storage, a second flash-based storage, or a disk; maintaining a remapping tree for mapping entries in the write log to logical block addresses in a volume of the random access medium; draining entries of the write log to respective intended destinations of the random access medium upon detection of any one of a plurality of conditions, the plurality of conditions including;
a disabling of the write log;
an absence of input/output activity with respect to the random access medium and the write log being more than a first predetermined amount full;
the write log being at least a second predetermined amount full regardless of the input/output activity with respect to the random access medium, the second predetermined amount being larger than the first predetermined amount; and
the remapping tree being larger than a third predetermined size. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for sequentially aggregating a data set in a write log residing on a flash-based storage, the system comprising:
-
at least one processor; and a memory connected to the at least one processor and including instructions for the at least one processor, when the at least one processor executes the instructions the at least one processor performs a method comprising; determining whether a data set is suitable for sequentially writing to the write log in the flash-based storage when a size of the data set is less than a predetermined size, sequentially writing the data set to the write log, instead of writing to an intended destination on a random access medium, when the data set is determined to be suitable for the sequential writing, the random access medium being the flash-based storage, a second flash-based storage, or a disk; maintaining a remapping tree for mapping between entries in the write log and logical block addresses in the random access medium, and draining entries of the write log to respective intended destinations on the random access medium when an absence of input/output activity with respect to the random access medium is detected and the write log is at least a predetermined amount full. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A machine-readable storage medium having instructions recorded thereon for at least one processor, the instructions comprising:
-
instructions for determining whether data intended to be written to a random access medium is suitable for being sequentially written to a write log included within a volume of a flash-based storage device, the random access medium being the flash-based storage device, a second flash-based storage device, or a disk; instructions for sequentially writing the data to the write log when the data is determined to be suitable for being sequentially written to the write log; instructions for maintaining a remapping tree for mapping between entries in the write log and logical block addresses of the random access medium; and instructions for draining entries of the write log to respective intended destinations on the random access medium upon detection of at least one of a plurality of conditions, the plurality of conditions comprising, as one of the plurality of conditions, the remapping tree being larger than a predetermined size. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification