Patent ID: 8219767
Filing Date: 2012-07-10
Classification: G06F

Abstract:
1. An information processing apparatus comprising: a main memory unit that is non-volatile and has a plurality of first storage areas; a backup memory unit that is non-volatile; a sequence number storage unit that stores a sequence number used at the time of identifying whether data stored in the backup memory unit needs to be written back to the main memory unit; a first reading unit that reads original data stored in the first storage area specified by a write destination address when a write access is detected, the write access being transmitted from a processor unit, the write access including first data and a write destination address, the first data being data to be written to the main memory unit, the write destination address specifying a write destination of the first data; a second reading unit that reads the sequence number stored in the sequence number storage unit; a first writing unit that writes backup data to the backup memory unit, the backup data including the original data, the write destination address included in the write access, the sequence number, and integrity verification data that indicates whether the original data, the write destination address, and the sequence number are completely written to the backup memory unit; a second writing unit that writes the first data to the first storage area of the main memory unit specified by the write destination address, after the backup data is written to the backup memory unit; an updating unit that updates a value of the sequence number stored in the sequence number storage unit; a selecting unit that selects first backup data from the backup data stored in the backup memory unit when an instruction for writing back the original data to the main memory unit is received, the first backup data including the sequence number stored in the sequence number storage unit and including the integrity verification data indicating that the data is completely written; an extracting unit that extracts the original data and the write destination address included in the first backup data; and a third writing unit that writes, for each of the original data and the write address extracted from the first backup data, the original data to the first storage area in the main memory unit indicated by the write destination address; wherein a value of the integrity verification data is equal to one of the original data, the write destination address, and the sequence number; and wherein writing backup data to the backup memory unit by the first writing unit further comprises: