BLOCK STORAGE BY DECOUPLING ORDERING FROM DURABILITY
First Claim
Patent Images
1. A method performed by a computing device, the method comprising:
- receiving multiple logical write commands comprising write data for writing to one or more physical storage devices;
receiving a flush command to flush the write data to the one or more physical storage devices, the multiple write commands being within a flush epoch defined by the flush command;
acknowledging the flush command; and
issuing corresponding device write commands to send the write data to the one or more physical storage devices, wherein at least some of the corresponding device write commands are issued after the flush command is acknowledged.
3 Assignments
0 Petitions
Accused Products
Abstract
This document relates to data storage techniques. One example can buffer write commands and cause the write commands to be committed to storage in flush epoch order. Another example can maintain a persistent log of write commands that are arranged in the persistent log in flush epoch order. Both examples may provide a prefix consistent state in the event of a crash.
25 Citations
20 Claims
-
1. A method performed by a computing device, the method comprising:
-
receiving multiple logical write commands comprising write data for writing to one or more physical storage devices; receiving a flush command to flush the write data to the one or more physical storage devices, the multiple write commands being within a flush epoch defined by the flush command; acknowledging the flush command; and issuing corresponding device write commands to send the write data to the one or more physical storage devices, wherein at least some of the corresponding device write commands are issued after the flush command is acknowledged. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system comprising:
-
one or more physical storage devices; one or more hardware processing resources; and computer-readable instructions that, when executed by the hardware processing resources, cause the hardware processing resources to; receive multiple logical write commands having corresponding write data; receive multiple flush commands, the flush commands defining corresponding flush epochs; and issue the write data to a persistent log on the one or more physical storage devices via corresponding device write commands, wherein the write data is arranged on the persistent log in flush epoch order. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method performed by a computing device, the method comprising:
-
upon restarting after a crash, accessing a persistent log of write data, wherein the write data is arranged in the persistent log in flush epoch order; and rolling forward through the persistent log while inspecting consistency data in the persistent log until the consistency data indicates that at least one consistency criteria cannot be met. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification