Block storage by decoupling ordering from durability
First Claim
Patent Images
1. A method comprising:
- receiving multiple write commands having corresponding write data;
receiving multiple flush commands, the multiple flush commands defining corresponding flush epochs;
issuing the write data to a persistent log on a physical storage device with consistency data;
acknowledging an individual flush command that defines an individual flush epoch before confirming that at least some write data for the individual flush epoch has committed on the physical storage device; and
after a crash, recovering the write data on the physical storage device to a consistent state using the consistency data.
2 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.
229 Citations
20 Claims
-
1. A method comprising:
-
receiving multiple write commands having corresponding write data; receiving multiple flush commands, the multiple flush commands defining corresponding flush epochs; issuing the write data to a persistent log on a physical storage device with consistency data; acknowledging an individual flush command that defines an individual flush epoch before confirming that at least some write data for the individual flush epoch has committed on the physical storage device; and after a crash, recovering the write data on the physical storage device to a consistent state using the consistency data. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system comprising:
-
one or more physical storage devices; one or more hardware processing resources configured via computer-readable instructions which, when executed by the one or more hardware processing resources, cause the one or more hardware processing resources to; receive multiple write commands having corresponding write data; receive multiple flush commands, the multiple flush commands defining corresponding flush epochs; issue the write data to a persistent log on the one or more physical storage devices with consistency data; acknowledge an individual flush command that defines an individual flush epoch before receiving confirmation that at least some write data for the individual flush epoch has committed on the one or more physical storage devices; and after a crash, recover the persistent log to a consistent state using the consistency data. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A storage resource storing computer-readable instructions which, when executed by one or more hardware processing resources, cause the one or more hardware processing resources to perform acts comprising:
-
receiving multiple write commands having corresponding write data; receiving multiple flush commands, the multiple flush commands defining corresponding flush epochs; issuing the write data to a persistent log on a physical storage device with consistency data; acknowledging an individual flush command that defines an individual flush epoch before confirming that at least some write data for the individual flush epoch has committed on the physical storage device; and after a crash, using the write data and the consistency data to recover a virtual storage device to a consistent state. - View Dependent Claims (17, 18, 19, 20)
-
Specification