×

Consistent, disk-backed arrays

  • US 10,067,674 B2
  • Filed: 08/10/2016
  • Issued: 09/04/2018
  • Est. Priority Date: 01/16/2013
  • Status: Active Grant
First Claim
Patent Images

1. A method of managing changes to an array in non-volatile storage, the method comprising:

  • storing, in volatile memory of a computing device, the array that is stored in the non-volatile storage;

    storing, in the volatile memory of the computing device, information indicative of changes to be made to a portion of the array;

    computing a first cyclic redundancy check (CRC) value for the array before the changes are made to the portion of the array;

    computing a second CRC value for the portion of the array before the changes are made to the portion of the array;

    in response to storing, in the volatile memory of the computing device, the information indicative of the changes to be made to the portion of the array;

    computing a third CRC value for the portion of the array with the changes having been made to the portion of the array; and

    computing a fourth CRC value for the array with the changes having been made to the portion of the array, based on;

    (i) the first CRC value for the array before the changes are made to the portion of the array,(ii) the second CRC value for the portion of the array before the changes are made to the portion of the array, and(iii) the third CRC value for the portion of the array with the changes having been made to the portion of the array,carrying over to the portion of the array in the non-volatile storage the changes indicated by the information stored in the volatile memory;

    storing, in the non-volatile storage, the fourth CRC value that was generated based on the first CRC value, the second CRC value, and the third CRC value;

    detecting, by the computing device, a power interruption;

    in response to detecting the power interruption;

    computing a fifth CRC value based on the portion of the array in the non-volatile storage; and

    comparing the fourth CRC value that was generated based on the first CRC value, the second CRC value, and the third CRC value to the fifth CRC value; and

    based on determining the fourth CRC value matches the fifth CRC value, determining that the array in the non-volatile storage is valid.

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