×

Maintaining consistency among copies of a logical storage volume in a distributed storage system

  • US 10,534,549 B2
  • Filed: 09/19/2017
  • Issued: 01/14/2020
  • Est. Priority Date: 09/19/2017
  • Status: Active Grant
First Claim
Patent Images

1. A system comprising one or more processing devices and one or more memory devices operably coupled to the one or more processing devices, the one or more memory devices storing executable code effective to cause the one or more processing devices to:

  • receive first write input/output operations (IOPs) from one or more compute nodes; and

    for each first write input/output operation (IOP) from one of the one or more compute nodes, execute the each first write IOP with respect to a first copy of a first storage unit referenced by the each first write IOP by—

    assigning a first virtual block address (VBA) to a logical block address (LBA) referenced in the each first write IOP according to a VBA counter;

    incrementing the VBA counter;

    storing an association between the LBA and the first VBA;

    writing data from the each first write IOP to a first physical storage location;

    storing an association between the first physical storage location and the first VBA; and

    transmitting the each first write IOP to a second storage node of a plurality of storage nodes with the first VBA;

    receive second write IOPs from the plurality of storage nodes;

    for each second write IOP received from a first storage node of the plurality of storage nodes, execute the each second write IOP with respect to a second copy of a second storage unit referenced by the each second write IOP by—

    comparing a second VBA included with the each second write IOP to a second VBA counter;

    if the second VBA is not consistent with the second VBA counter, notifying the first storage node that the second copy is not current;

    if the second VBA is consistent with the second VBA counter—

    incrementing the second VBA counter;

    storing an association between a second LBA in the each second write IOP and the second VBA;

    writing data from the each second write IOP to a second physical storage location;

    storing an association between the second physical storage location and the VBA; and

    transmitting an acknowledgment to the first storage node.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×