Information processing apparatus, control method for the information processing apparatus, and recording medium

Even when a main board is replaced, if no change is made to a connected storage unit, existent mirroring information is obtained to resume mirroring function processing. An information processing apparatus that performs mirroring to store same data in a plurality of storage units includes a first storage unit configured to store mirroring information indicating a state of the mirroring in a memory of a main board, a second storage unit configured to store the mirroring information in a memory of a sub board, a detection unit configured to detect replacement of the main board, and a restoration unit configured to restore the mirroring information stored in the memory of the sub board by the second storage unit in a memory of a replaced main board in accordance with detection of the replacement of the main board by the detection unit.

BACKGROUND OF THE INVENTION

Field of the Invention

The present invention relates to an information processing apparatus, a control method for the information processing apparatus, and a recording medium.

Description of the Related Art

A hard disk drive (HDD) is installed as standard equipment in a latest information processing apparatus such as a printing apparatus, in particular, a multi-function printer (MFP). Since the hard disk drive has a mechanical structure, the hard disk drive has a disadvantage of a lower reliability as compared with a semiconductor device. Redundant arrays of independent disks (RAID) are implemented as a device to compensate the disadvantage and construct a highly reliably storage system. The RAID includes several systems. According to RAID-1, two or more HDDs are used to write the same content at the same time, so that it is possible to construct a storage system having a high fault tolerance. The RAID-1 is generally referred to as mirroring. Herein, an operation mode based on one HDD is defined as single, and an operation mode based on two HDDs is defined as mirroring. Pieces of information used for mirroring processing are collectively referred to as mirroring information.

According to Japanese Patent Laid-Open No. 3-259346, the mirroring information and partner's HDD information (such as a serial number) are recorded in mutual HDD fixed areas in a multiplexing manner. A configuration is adopted in which, when the mirroring information is updated during the operation, the recorded information in the HDD fixed areas is also updated in both of the HDDs.

When the mirroring information is lost due to a failure that has occurred during the mirroring mode operation, even if a part where the failure has occurred is recovered, a normal mirroring state before the failure is not restored.

For example, in a case where an on-board RAID control-IC (integrated circuit) is installed on a main board, the mirroring information may be lost due to a failure in the main board in some cases. In this case, even when the main board is replaced, the normal mirroring state before the failure is not restored. This means that there is a probability that at least part or all of user data in the HDD may be lost.

SUMMARY OF THE INVENTION

The present invention has been made in view of the above-described problems, and the present invention provides a method in which, even when a main board is replaced, backed-up mirroring information is obtained, and mirroring function processing can be resumed.

An information processing apparatus that addresses the above-described problem according to an aspect of the present invention includes the following configuration.

That is, the information processing apparatus includes: a controller configured to perform mirror processing on a plurality of storage units, the controller being installed on a main board; a communication unit configured to communicate with a sub board that performs predetermined processing, the communication unit being installed on the main board; a first writing unit configured to write information for identifying the respective storage units obtained from the respective storage units and mirror information for specifying the mirror processing in a first memory; a second writing unit configured to write the mirror information written in the first memory and the information for identifying the respective storage units in a second memory; a determination unit configured to determine whether or not replacement of the main board is executed on the basis of the mirror information written in the first memory; when it is determined that the replacement of the main board is executed, information for identifying the respective storage units obtained by a replaced controller from the respective storage units is matched with the information for identifying the respective storage units stored in the second memory; and a third writing unit configured to write, when it is determined that the information for identifying the respective storage units obtained by the replaced controller is matched with the information for identifying the respective storage units stored in the second memory, the mirror information obtained from the second memory and the information for identifying the respective storage units in the first memory by the replaced controller.

According to the aspect of the present invention, even when the main board is replaced, the backed-up mirroring information is obtained, and it is possible to resume the mirroring function processing.

DESCRIPTION OF THE EMBODIMENTS

Descriptions of System Configuration

First Exemplary Embodiment

FIG. 1is a block diagram illustrating an example information processing apparatus according to the present exemplary embodiment. A RAID-IF control unit116that will be described below is provided as a controller configured to perform mirror processing in a plurality of HDDs (storage units) on a main board of the information processing apparatus according to the present exemplary embodiment. Furthermore, an A-IF control unit111and a B-IF control unit113configured to communicate with a board A112and a board B114functioning as sub boards that perform predetermined processing are installed on the main board. The information processing apparatus includes an image forming apparatus and a multi-function image forming apparatus.

InFIG. 1, a central processing unit (CPU)101performs a system control and various arithmetic processing. A memory control unit102performs input and output control with respect to various memory devices and a direct memory access (DMA) control. A read only memory (ROM)103is a read dedicated memory represented by a flash memory. The ROM103stores a basic input/output system (BIOS) program, a control parameter, and the like. When the flash memory is connected, on-board rewriting can also be performed.

A random access memory (RAM)104is a rewriting dedicated memory represented by a double-data-rate (DDR) memory. The RAM104is used for a work area of the program, a storage area of printing data, and the like. A LAN-IF control unit105performs interface to a local area network106connected to a printing apparatus.

In general, the LAN-IF control unit105corresponds to Transmission Control Protocol/Internet Protocol (TCP/IP). The LAN-IF control unit105is connected to a network corresponding device such as an external host computer107via a network cable and can perform printing via a network. The LAN-IF control unit105can also be connected to the internet via a router. A reader-IF control unit108performs control on a communication with a scanner apparatus109.

In the information processing apparatus according to the present exemplary embodiment, a copy function is realized while input image data scanned by the scanner apparatus109is printed by a printing unit122which will be described below.

An image processing unit110performs various image processings on image data taken via the LAN-IF control unit105and the reader-IF control unit108. A panel IF control unit119performs control on a communication with a panel apparatus120.

Although not illustrated in the drawings herein, it is possible to check various settings and states of the printing apparatus by operating a liquid crystal screen display, a button, or the like on the panel as a user interface (UI). A video IF control unit121performs control on a command/status communication with the printing unit122and transferring of print data.

The printing unit122is constituted by a printing apparatus main body, a sheet feeding system, and a sheet discharging system although not illustrated in the drawings herein. The printing unit122prints the print data on paper mainly in accordance with command information from the video IF control unit121.

A control bus, a data bus, and a local bus between arbitrary blocks are collectively referred to as a system bus123for descriptive purposes. The system bus123includes PCI Express (PCIe) as a representative example.

The A-IF control unit111and the B-IF control unit113respectively perform input and output control with respect to the board A112and the board B114. The board A112and the board B114are boards (sub boards) connected to a main board124and provided with an arbitrary function. There are no particular restrictions with regard to the board as long as the board has a configuration in which a non-volatile storage device (for example, a flash memory301or302that will be described below) can be installed as a minimum condition. For example, a board that stores a boot program of a system or the like is exemplified as the board A112, and a board that stores information of the individual printing apparatus (such as individual identification data or consumable item information) or the like is exemplified as the board B114. The flash memories301and302function as a second memory and a third memory.

An SATA-IF control unit115constituted as a controller performs data input and output control with respect to a device having an IF in conformity to Serial Advanced Technology Attachment (SATA) standards. The RAID-IF control unit116connects a plurality of non-volatile storage devices to each other and performs the RAID processing. The non-volatile storage device includes an HDD, an solid state drive (SSD), and the like.

Herein, according to the present exemplary embodiment, it is assumed that the RAID-IF control unit116connects two hard disk drives including an HDD117and an HDD118to each other and executes the mirroring processing. The RAID-IF control unit116is installed on the main board124as a RAID control-IC.

FIG. 2is an internal system configuration diagram of the RAID-IF control unit116illustrated inFIG. 1. According to the present exemplary embodiment, descriptions will be given while the RAID-IF control unit116is located between the SATA-IF control unit115and the HDDs117and118, and an SATA-SATA bridge configuration is set as a precondition.

InFIG. 2, a central processing unit (CPU)201performs system control and various arithmetic processing. A memory control unit202performs input and output control with respect to various memory devices and a direct memory access (DMA) control.

A flash memory203is a rewritable non-volatile memory. The flash memory203stores a RAID control program, an encryption/decryption program, a control parameter, and the like. A RAM204is a rewritable volatile memory in which a high speed access can be realized. The RAM204is used as a copy area or a work area for part of the programs stored in the flash memory203and a buffer area for data. An SATA-device control unit205is connected to the SATA-IF control unit115(hereinafter will be referred to as a host) and an SATA-IF206corresponding to an interface in conformity to the SATA standards and performs processing on data input and output requests from the host.

An SATA-host control unit207is connected to the HDD117and the HDD118and SATA-IFs208and209and executes mirroring control. An encryption and decryption unit210performs encryption processing in response to a writing data request from the host and decryption processing in response to a reading data request. An encryption algorithm includes Advanced Encryption Standard (AES) representing a common key cryptosystem and the like. A control bus, a data bus, and a local bus between arbitrary blocks are collectively referred to as a system bus211for descriptive purposes.

FIG. 3illustrates a connection configuration of the respective boards and the HDDs illustrated inFIG. 1. Descriptions will be given of a connection relationship and role definitions of the respective boards according to the present exemplary embodiment.

InFIG. 3, the on-board RAID-IF control unit (RAID control-IC)116is installed on the main board124, and the HDDs117and118are connected to the on-board RAID-IF control unit116. The RAID-IF control unit116also includes the built-in flash memory203. Herein,FIG. 3illustrates a mode in which the flash memory203is built in the IC, but of course, a configuration may be adopted in which the flash memory203functioning as a first memory is connected to an external part of the IC as an external memory. The RAID-IF control unit116executes mirroring processing on the two HDDs117and118.

Herein, the mirroring processing will be described.

According to the present exemplary embodiment, in an example of mirroring using a plurality of storage units such as, for example, two HDDs, one of the HDDs is set as a master HDD, and the other storage unit is set as a back-up HDD. At the time of reading processing, data is read out from the master HDD, and at the time of writing processing, data is written to both of the HDDs. In general, states of the mirroring processing basically include four states.

The four states are as follows. In a mirror state, the two HDDs are normally operated. In a degraded state, one of the HDDs fails to function properly, and the operation continues while the normal HDD is set as the master. Furthermore, in a rebuilding state, copy processing from the master is performed on a back-up HDD that has replaced the faulty HDD in the degraded state. Finally, in a halt state, accesses are not allowed to the two HDDs due to some reason.

Specific contents of mirroring information include, the mode information described above, master position information, state information, and the like. It should be noted that it is sufficient when the mirroring information includes at least one of the mode information, the master position information, and the state information. In addition, the mirroring information and an HDD serial number may be updated at random times during the mirroring mode operation.

The RAID-IF control unit116holds a parameter used for the mirroring processing in the flash memory203. The CPU101of the main board124can read out and write various pieces of data held in the flash memory203inside the RAID-IF control unit116. Herein, a structure in which the contents of the flash memory203inside the RAID-IF control unit116can be read out and written with respect to the CPU101will be described.

Although not illustrated herein, a write system extended command and a read system extended command are defined between the CPU101of the main board124and the CPU201in the RAID-IF control unit116which can be recognized by both of the CPUs. In a case where data is desired to be written in the flash memory203, the CPU101transmits the write system extended command and written data accompanied by this command to the CPU201via the SATA-IF206. The CPU201that has received the written data writes the received data in a predetermined position of the flash memory203corresponding to the extended command.

In a case where the reading from the flash memory203is desired to be performed, the CPU101transmits the read system extended command to the CPU201via the SATA-IF206. The CPU201that has received the reading request reads out desired data from a predetermined position of the flash memory203corresponding to the extended command and transmits data read out as a status with respect to the read system extended command to the CPU101via the SATA-IF206. In the following descriptions, to avoid redundancy, reading and writing by the CPU101with respect to the flash memory203inside the RAID-IF control unit116will be simply represented as reading and writing.

The flash memory301is installed on the board A112, and reading and writing with respect to the main board124can be performed via the A-IF control unit111. The CPU101of the main board124performs processing of writing the various pieces of data read out from the flash memory203to the flash memory301on the board A112and can hold the data as recovery data303when the failure of the main board124occurs.

Similarly, the flash memory302is installed on the board B114, and reading and writing with respect to the main board124can be performed via the B-IF control unit113. The CPU101of the main board124performs the writing processing such that unique (individual) data of the printing apparatus main body can be stored in the flash memory302of the board B114.

Details of the data stored in the flash memories203,301, and302will be described with reference toFIG. 4A,FIG. 4B, andFIG. 4C.

FIG. 4Aillustrates a parameter list written in the flash memory203built in the RAID-IF control unit116. From the top, mode information401indicates whether the operation mode is single (one HDD) or mirroring (two HDDs). State information402indicates one of internal states among the four states (mirror/degraded/rebuilding/halt) as the mirroring information for identifying the mirror processing.

Master position information403indicates which port is at the master position among SATA ports A/B to which the two hard disk drives are connected. A serial A404and a serial B405indicate HDD serial numbers respectively obtained from the HDDs. According to the present exemplary embodiment, the serial A404is assigned to the HDD117, and the serial B405is assigned to the HDD118. Individual identification data406indicates unique identification data unique to the individual IC of the RAID-IF control unit116. An encryption flag407is a control flag of OFF/ON with regard to an encryption function. The encryption flag407can be set by the CPU101of the main board124. Others408indicate that stored data other than the above-described data also exists.

FIG. 4Billustrates a parameter list of the recovery data303stored in the flash memory301installed on the board A112. Since descriptions of information409to413and416of the flash memory301are the same as those on the information401to405and408of the flash memory203, the descriptions thereof will be omitted.

The information401to405held in the flash memory203of the RAID-IF control unit are backed up in the information409to413of the flash memory301as the recovery data303. It should be noted that, to clarify which one of the flash memories203and301the information corresponds to, it is set that “P” is added to the end of the name on the flash memory301side, “Q” is added to the end of the name on and the flash memory203to make a distinction with regard to the parameters having the same name. Determination data X415is used for a determination condition on whether or not the restoration processing of restoring the mirroring information to the RAID-IF control unit116is performed. A detail thereof will be described below with reference to a different drawing.

FIG. 4Cillustrates a parameter list stored in the flash memory302installed on the board B114. Main body identification data417stores main body identification information with which the printing apparatus main body can be individually identified. Information unique to the individual such as the consumable item information is recorded in others418.

Subsequently, the restoration processing of the mirroring information will be described which is performed after the main board124fails to function properly during the operation in the mirroring mode and is replaced.

FIG. 5is a flow chart illustrating a control method for the information processing apparatus according to the present exemplary embodiment. The present example corresponds to an example of the restoration processing of restoring the mirroring information to the RAID-IF control unit116. The respective steps can be realized by executing the stored control program by the CPU101.

In501, the CPU101determines whether this activation is the first activation after a power supply of the printing apparatus is turned ON. At this time, in a case where the CPU101determines that this activation is the first activation, the processing proceeds to S502. In S502, the CPU101executes initialization processing. According to the present exemplary embodiment, the initialization processing is an operation of installing a system into a new main board and is basically executed at the time of shipment or executed once for the first time only after the main board is replaced. Detailed descriptions of the initialization processing will be omitted, but the operation is performed while the operation mode of the printing apparatus is set as the mirroring mode as a precondition.

On the other hand, in a case where the CPU101determines in S501that this activation is not the first activation, and after the initialization processing in S502is completed, the CPU101advances the processing to S503. In S503, the CPU101executes the reading processing of reading out mirroring information P409to411from the board A112and mirroring information Q401to403from the RAID-IF control unit116.

In S504, the CPU101compares mode information (P, Q)409and401corresponding to one of the mirroring information with each other and determines whether or not the mirroring modes are matched with each other. At this time, in a case where the CPU101determines that the mirroring modes are matched with each other, the processing proceeds S509, and the operation in the mirroring mode is started. On the other hand, in S504, in a case where the CPU101determines that the mirroring modes are not matched with each other, the processing proceeds to S505.

It should be noted that a mode initial value of the RAID-IF control unit116is set as the single mode. In a case where the main board124has failed to function properly and been already replaced during the operation in the mirroring mode, the mode information held in the board A112is mirroring although the mode of the RAID-IF control unit116is single.

Therefore, when it is determined that the comparison result in S504is NO, this state means that the main board124has been replaced.

In S505, the CPU101executes reading processing of reading out HDD serial numbers P412and413from the board A112and HDD serial numbers Q404and405from the RAID-IF control unit116. In S506, the CPU101compares the HDD serial numbers (P, Q) with each other and determines whether or not the HDD serial numbers are matched with each other. At this time, in a case where the CPU101determines that the HDD serial numbers are matched with each other, the processing proceeds to S507. In S507, the CPU101sets the mode of the RAID-IF control unit116from the single mode to the mirroring mode, and the processing proceeds to S508.

At this time, when the RAID-IF control unit116recognizes the mirroring mode, the HDD serial numbers Q404and405are obtained from the HDD117and the HDD118and saved in a predetermined position of the flash memory203.

In S508, the CPU101executes the restoration processing of restoring the mirroring information P409to411held in the board A112to the RAID-IF control unit116. Herein, the restoration processing will be specifically described.

The CPU101transmits the mirroring information P409to411read out from the board A112to the CPU201accompanied by a restoration processing command defined as the write system extended command.

Subsequently, the CPU201that has received the restoration processing command executes the writing processing in a previously specified position of the flash memory203as the mirroring information Q401to403.

Thereafter, the CPU201starts the mirroring processing by using the updated mirroring information Q401to403. When the restoration processing is completed, the processing proceeds to S509, and the operation in the mirroring mode is started.

On the other hand, in S506, in a case where the CPU101determines that the HDD serial numbers are not matched with each other, the processing proceeds to S510. In S510, the CPU101executes error processing. Hereinafter, an outline of the error processing will be described.

A case where the comparison result in S506is NO means that one or both of the HDDs connected before the failure are replaced at the same time as the main board replacement. The program alone does not make a determination on whether or the replacement is intentional.

Therefore, the CPU101displays an error content on the panel apparatus120functioning as a user interface (UI), and a human-oriented determination is made by an administrator, a service person, or the like.

For this reason, in S511, the operator performs the determination on whether or not the operation can be continued, and a result thereof is accepted by the UI. In a case where the CPU101determines that the accepted content indicates that the operation can be continued, the processing proceeds to S509. Subsequently, the operation in the mirroring mode is started in S509. In the case of NO, the operation of the printing apparatus is stopped as an error.

For example, in a case where the mirroring state before the failure is degraded, the state is shifted from degraded to rebuilding when the faulty HDD is also replaced at the same time the replacement of the main board124due to the failure, and the normal operation can be started.

Next, backup processing of the mirroring information will be described.

FIG. 6is a flow chart illustrating a control method for the information processing apparatus according to the present exemplary embodiment. The present example relates to a backup processing example of the mirroring information. The respective steps are realized while the CPU101executes the stored control program.

In S601, the CPU101determines whether or not the operation is normally carried out in the mirroring mode. In S601, in a case where the CPU101determines that the operation is normally carried out in the mirroring mode, the processing proceeds to S602. In S602, the CPU101determines whether or not a predetermined polling time has elapsed. Herein, the polling time (for example, 5 seconds) is previously set.

In the determination in S602, when it is determined that the predetermined polling time has not elapsed, the processing returns to S601again.

On the other hand, in S602, in a case where the CPU101determines that the predetermined polling time has elapsed, the processing proceeds to S603. In S603, the CPU101executes the reading processing of reading out the mirroring information P409to411from the board A112. Furthermore, the CPU101executes the reading processing of reading out the HDD serial numbers P412and413and the mirroring information Q401to403from the RAID-IF control unit116. Moreover, the CPU101executes the reading processing of reading out the HDD serial numbers Q404and405, and the processing proceeds to S604. In S604, the CPU101compares and determines whether or not the read mirroring information (P, Q) and the read HDD serial numbers (P, Q) are respectively matched with each other.

In S604, in a case where the CPU101compares and determines that the read mirroring information (P, Q) and the read HDD serial numbers (P, Q) are respectively matched with each other, the processing returns to S601.

On the other hand, in S604, in a case where the CPU101compares and determines that the read mirroring information (P, Q) and the read HDD serial numbers (P, Q) are not respectively matched with each other, the processing proceeds to S605.

In S605, the CPU101performs update (backup processing) of information in a predetermined position of the flash memory301installed on the board A112as the mirroring information P409to411read out from the RAID-IF control unit116. Furthermore, the CPU101(backup processing) of information in a predetermined position of the flash memory301installed on the board A112as the HDD serial numbers P412and413, and the processing returns to S601again.

On the other hand, in a case where the CPU101determines in S601that the operation is not normally carried out in the mirroring mode, the polling processing is interrupted. For example, a case where the printing apparatus shifts to a power saving mode and an access to the hard disk drive is temporarily stopped corresponds to the power saving mode.

As described above, the mirroring information and the HDD serial number may be updated at random times during the mirroring mode operation. In view of the above, while the backup processing flow in S601to S605is executed, for example, the update to the latest mirroring information and HDD serial number is realized once in every polling time=5 seconds. Therefore, in the restoration processing described with reference toFIG. 5, the latest information is restored to the RAID-IF control unit116, and it is possible to restore the mirroring state before the failure. It should be noted that a probability that a failure accidentally occurs during an interval of the polling time (=5 seconds) is considered to be extremely low. In addition, the above-described probability can be set to be close to a negligible level by shortening the polling interval.

Second Exemplary Embodiment

According to the present exemplary embodiment, descriptions will be given of a method with which it is possible to safely and reliably restore the mirroring state before the failure in the mirroring processing accompanying encryption.

FIG. 7is a flow chart illustrating a control method for the information processing apparatus according to the present exemplary embodiment. According to the present exemplary embodiment, descriptions will be given of a restoration processing example of the mirroring information in a case where an encryption function of the RAID-IF control unit116is enabled, and the main board replacement is performed. The respective steps are realized while the CPU101executes the stored control program. The printing apparatus is operated in the mirroring mode while the encryption function is enabled (ON) as a precondition. In addition, the encryption function is disabled (OFF) in an initial state of the RAID-IF control unit116.

In S701, the CPU101executes reading processing of reading out the encryption flag407from the RAID-IF control unit116and advances the processing to S702. In S702, the CPU101determines whether or not the encryption function is enabled or disabled. In S702, in a case where the CPU101determines that the encryption function is disabled (NO), the processing proceeds to S703. In S703, the CPU101sets the encryption function of the RAID-IF control unit116to be enabled, and the processing proceeds to S704.

At this time, the RAID-IF control unit116in which the encryption function is set to be enabled generates individual identification data Q406while the CPU201executes a predetermined flow. The individual identification data Q406is a random bit string having a fixed size generated from physical random numbers and has a value unique to the individual RAID control-IC. Each RAID control-IC generates an encryption key on the basis of the individual identification data Q406and executes encryption and decryption processing on the data.

In S704, the CPU101performs reading processing of reading out individual identification data P414of the RAID control unit from the board A112, and the processing proceeds to S705. In S705, the CPU101determines whether a value of the individual identification data P414is an initial value (for example, ALL-F (specific value)). At this time, in a case where the CPU101determines that the value of the individual identification data P414corresponding to an example of the individual identification information is the initial value, backup processing of the individual identification data Q406is started. In S706, the CPU101executes the reading processing of reading out the individual identification data Q406from the RAID-IF control unit116, and the processing proceeds to S707.

In S707, the CPU101executes the reading processing of reading out the main body identification data417from the board B114, and the processing proceeds to S708. In S708, the CPU101calculates the determination data X415from the individual identification data Q406and the main body identification data417. Herein, the determination data X415is a determination unit configured to link the printing apparatus main body to the RAID-IF control unit one-on-one. At this time, the determination data X415is generated, for example, by connecting the main body identification data417corresponding to a unique value of the printing apparatus with the individual identification data Q406corresponding to a unique value of the RAID control-IC and calculating a hash value thereof.

In S709, the CPU101saves the calculated determination data X415in a predetermined position of the flash memory301installed on the board A112as the individual identification data Q406and P414, and the processing proceeds to S716.

In S716, the CPU101executes the restoration processing flow from S501to S510already described with reference toFIG. 5, and the operation in the mirroring mode is started.

On the other hand, in S705, in a case where the CPU101determines that the value of the individual identification data P414is not the initial value, it is determined that the operation is already carried out in a state in which the encryption function is enabled and that the main board is newly replaced, the restoration processing of the individual identification data P414is started. In S710, the CPU101executes the restoration processing on the RAID-IF control unit116as the individual identification data PQ406. In the restoration processing, while the restoration processing command is transmitted to the CPU201similarly as in the time of the restoration of the mirroring information, the predetermined position of the flash memory203inside the RAID-IF control unit116is updated. In S716, the CPU101executes the restoration processing flow of the mirroring information, and the operation in the mirroring mode is started.

On the other hand, in a case where the CPU101determines in S702that the encryption function is enabled (YES), the processing in S711to S715and S717are performed to check whether or not an abnormal state other than the main board replacement occurs.

In S711, the CPU101executes the reading processing of reading out the main body identification data417from the board B114and advances the processing to S712. In S712, the CPU101executes the reading processing of reading out the individual identification data Q406from the RAID-IF control unit116and advances the processing to S713. In S713, the CPU101calculates determination data Y from the main body identification data417and the individual identification data Q406. Since a calculation method for the determination data Y is similar to the descriptions of S708, the descriptions thereof will be omitted.

In S714, the CPU101executes the reading processing of reading out the determination data X415from the board A112and advances the processing to S715. In S715, the CPU101determines whether or not the pieces of the determination data (X, Y) are matched with each other. In S715, in a case where the CPU101determines that the pieces of the determination data (X, Y) are matched with each other, the processing proceeds to S716.

In S716, the CPU101executes the restoration processing flow of the mirroring information, and the operation in the mirroring mode is started.

On the other hand, in S715, in a case where the CPU101determines that the pieces of the determination data (X, Y) are not matched with each other, a case where some failure occurs in the RAID-IF control unit116is supposed. In addition, a case where a malicious user deliberately connects another printing apparatus to the RAID system to wiretap the data in the HDD or the like is supposed. In view of the above, in a case where NO is determined in S715, the CPU101performs predetermined error processing to stop the operation in the mirroring mode in S717.

It should be noted that the restoration of the mirroring state in the mirroring processing accompanying the encryption particularly needs attention. In a case where the encryption key of the RAID control unit is updated by the replacement of the main board112, if writing in the mirroring processing is executed in this state, such a defect occurs that consistency with the HDD data before the failure is lost.

In contrast, by executing S701to S717, it is possible to safely restore the state before the failure even in the mirroring processing accompanying the encryption. In particular, the determination processing in S715secures safety in two meanings including the safety from the viewpoint of security and the safety with which the mirroring state before the failure can be restored.

It should be noted that the case of the configuration in which the board A112and the board B114are independently provided has been described, but a configuration may be adopted in which the board A112also functions as the board B114.

Other Embodiments

This application claims the benefit of Japanese Patent Application No. 2015-024045, filed Feb. 10, 2015, which is hereby incorporated by reference herein in its entirety.