Performing an atomic write operation across multiple storage devices
First Claim
1. A computer readable storage device having computer program instructions executed in a host system in communication with a plurality of storage devices to cause operations to:
- determine a plurality of storage devices on which to write data for a write operation;
generate a tag to uniquely identify the write operation;
send a write command to each of the determined storage devices including the tag and write data to cause each of the storage devices to write the write data at the storage device, wherein each of the storage devices maintains a copy of a previous version of the data to be updated by the write operation; and
send a revert command with the tag to one of the storage devices to cause the storage device to restore the copy of the previous version of the data at the storage device.
1 Assignment
0 Petitions
Accused Products
Abstract
Provided are a computer program product, system, and method performing an atomic write operation across multiple storage devices. A determination is made of a plurality of storage devices on which to write data for a write operation. A tag is generated to uniquely identify the write operation. A write command is sent to each of the determined storage devices including the tag and write data to cause each of the storage devices to write the write data at the storage device. Each of the storage devices maintains a copy of a previous version of the data to be updated by the write operation. A revert command is sent with the tag to one of the storage devices to cause the storage device to restore the copy of the previous version of the write data at the storage device.
13 Citations
25 Claims
-
1. A computer readable storage device having computer program instructions executed in a host system in communication with a plurality of storage devices to cause operations to:
-
determine a plurality of storage devices on which to write data for a write operation; generate a tag to uniquely identify the write operation; send a write command to each of the determined storage devices including the tag and write data to cause each of the storage devices to write the write data at the storage device, wherein each of the storage devices maintains a copy of a previous version of the data to be updated by the write operation; and send a revert command with the tag to one of the storage devices to cause the storage device to restore the copy of the previous version of the data at the storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A storage device comprising:
-
a controller to communicate with a host system and to; receive, by the controller, a write command from the host system with a tag uniquely identifying a write operation and write data; in response to the write command, write the write data to non-volatile memory in the storage device and maintain a copy of a previous version of data updated as part of the write command; receive a revert command with the tag identifying the write operation for which the write command was received; and in response to the revert command, restore the copy of the previous version of the data updated by the write data. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A system in communication with a plurality of storage devices, comprising:
-
a processor; and a computer readable storage medium having program instructions executed by the processor to; determine a plurality of storage devices on which to write data for a write operation; generate a tag to uniquely identify the write operation; send a write command to each of the determined storage devices including the tag and write data to cause each of the storage devices to write the write data at the storage device, wherein each of the storage devices maintains a copy of a previous version of the data to be updated by the write operation; and send a revert command with the tag to one of the storage devices to cause the storage device to restore the copy of the previous version of the data at the storage device. - View Dependent Claims (20, 21)
-
-
22. A method, comprising:
-
determining a plurality of storage devices on which to write data for a write operation; generating a tag to uniquely identify the write operation; sending a write command to each of the determined storage devices including the tag and the write data to cause each of the storage devices to write the write data at the storage device, wherein each of the storage devices maintains a copy of a previous version of the data to be updated by the write operation; and sending a revert command with the tag to one of the storage devices to cause the storage device to restore the copy of the previous version of the data at the storage device. - View Dependent Claims (23, 24, 25)
-
Specification