Patent ID: 8631287

Claim:
In a gaming machine, including a memory for storing gaming data, divided into first and second equal-sized banks each storing copies of gaming data and each including error detecting data, a method for providing data recovery, comprising: writing a data set by: writing the data set to the first bank then updating error detecting data associated with the data set after the data set is completely written; writing the data set to the second bank then updating error detecting data associated with the data set after the data set is completely written; and reading a data set by: in the first bank: reading the data set; reading error detecting data associated with the data set; and calculating error detecting data associated with the read data set and comparing it to the read error detecting data and if they are different, detecting an error in the first bank; in the second bank: reading the data set from the second bank; reading error detecting data associated with the data set from the second bank; and calculating error detecting data associated with the read data set and comparing it to the read error detecting data and if they are different, detecting an error in the second bank; if no errors are detected, returning the data set read from one of the first and second banks; if errors are detected in both the first and second banks, reporting an unrecoverable error; if an error is detected in the first bank, copying the data set and error detecting data associated with the data set from the second bank to the first bank and returning the data set read from the second bank; and if an error is detected in the second bank, copying the data set and error detecting data associated with the data set from the first bank to the second bank and returning the data set read from the first bank.