Patent ID: 7412464

Claim:
A method for managing a data storage system that includes primary and secondary storage subsystems, including respective first and second non-volatile storage media, the method comprising: maintaining a record of locations to which data are expected to be written on the primary storage subsystem by a host processor, as indicated by a predetermined prediction algorithm based on the locations to which the data have already been written; receiving the data from the host processor at the primary storage subsystem to be written to a specified location on the first non-volatile storage media; if the specified location is not included in the record, updating the record using the prediction algorithm so that the record includes both the specified location and one or more further locations that have not yet been specified by the host processor; outputting an acknowledgment to the host processor to indicate that the data have been stored in the data storage system after receiving the data and after updating the record if the specified location was not included in the record prior to updating the record; copying the data from the primary storage subsystem to the secondary storage subsystem so as to create a mirror on the secondary storage subsystem of the data received by the primary storage subsystem; storing the data in the specified location on both the first and second non-volatile storage media; and upon recovery of the system from a failure of the primary storage subsystem, conveying, responsively to the record, a portion of the data from the secondary storage subsystem to the primary storage subsystem for storage on the primary storage subsystem.