Image forming apparatus and nonvolatile memory writing method

Provided is an image forming apparatus, including a nonvolatile memory writing unit configured to write into the nonvolatile memory, at every predetermined time period in which change data is written into the volatile memory within that predetermined time period, the change data written into the volatile memory, a temporary area writing unit configured to write new change data into a temporary area while a primary area writing unit is writing any change data into the primary area, and a primary area transfer unit configured to transfer any change data written into the temporary area by the temporary area writing unit to the primary area when the primary area writing unit completes writing the change data into the primary area.

REFERENCE TO RELATED APPLICATIONS

This application is based upon and claims the benefit of priority from corresponding Japanese Patent Application No. 2009-297073, filed Dec. 28, 2009, now Japanese Patent No. JP5091940, which issued on Dec. 5, 2012, the entire contents of which are incorporated herein by reference.

BACKGROUND

1. Field of the Invention

The present invention relates to an image forming apparatus in which writing apparatus data is written into a nonvolatile memory.

2. Description of the Related Art

In a typical current image forming apparatus, when apparatus data is changed, the changed apparatus data is written into a volatile memory (e.g. a synchronous dynamic random access memory (SDRAM)), with a copy also being written into a nonvolatile memory (e.g. a flash read only memory (ROM)).

Each time the apparatus data is changed, the apparatus data is written into the flash ROM. Therefore, the number of flash ROM writing operations reaches the limit of rewritable times of the flash ROM before the image forming apparatus itself reaches the end of its product life cycle; thus, the flash ROM may not be able to retain the apparatus data. In an attempt to solve this problem, one known image forming apparatus writes change data into the volatile memory, and then the change data written in the volatile memory is written into the flash ROM only at a predetermined time periods. However, if the apparatus data is frequently changed, the writing of the next change data may occur while the change data is being written into the flash ROM because writing into the flash ROM takes some time. In this case, the next change in apparatus data may not be written correctly. Therefore, there is a demand for an image forming apparatus capable of writing a change in apparatus data into the nonvolatile memory while reducing the number of writing operations with respect to the nonvolatile memory.

SUMMARY

The present disclosure provides an image forming apparatus including a volatile memory into which change data is written, a nonvolatile memory into which the change data is written, a control unit configured to write the first change data into the volatile memory each time the apparatus data under the first category has been changed and retain, in the volatile memory at every predetermined time period, the first change data that is most recently written into the volatile memory within that predetermined time period, and a nonvolatile memory writing unit configured to write into the nonvolatile memory, at every predetermined time period in which the change data is written into the volatile memory within that predetermined time period, the change data retained in the volatile memory within that predetermined time period, wherein the nonvolatile memory writing unit starts writing, at the end of the predetermined time period, the first change data retained in the volatile memory, wherein the nonvolatile memory writing unit writes the first change data simultaneously with and independent of writing and retaining by the control unit, and wherein the nonvolatile memory writing unit avoids writing the apparatus data within the predetermined time period into the nonvolatile memory if the first change data is not retained in the volatile memory within the predetermined time period. The change data represents apparatus data that has been changed. The nonvolatile memory includes a plurality of master planes that serve as a primary area into which the change data is to be primarily written and a plurality of sub planes that serves as a temporary area into which the change data is temporarily written. The nonvolatile memory writing unit includes a primary area writing unit configured to write the change data into the master plane, a temporary area writing unit configured to write the change data into the first sub plane, and a primary area transfer unit configured to transfer the change data written in the first sub plane to the master plane. Furthermore, the temporary area writing unit is configured to write new change data into the second sub plane while the primary area writing unit is writing any change data into the master plane. In addition, the primary area transfer unit is configured to transfer any change data written into the second sub plane by the sub plane writing unit to the master plane when the primary area writing unit completes writing the change data into the master plane.

The present disclosure also provides a nonvolatile memory writing method for an apparatus. The apparatus includes a volatile memory into which change data representing apparatus data that has been changed is written at an occurrence of each change, and a nonvolatile memory into which the change data is written. The nonvolatile memory includes a plurality of master planes that serves as a primary area into which the change data is to be primarily written and a plurality of sub planes that serves as a temporary area into which the change data is temporarily written. The nonvolatile memory writing method includes writing the first change data into the volatile memory each time the apparatus data under the first category has been changed, retaining, in the volatile memory at every predetermined time period, the first change data that is most recently written into the volatile memory within that predetermined time period, writing into the nonvolatile memory, at every predetermined time period, the change data retained in the volatile memory within that predetermined time period, and avoiding writing the apparatus data within the predetermined time period into the nonvolatile memory if the first change data is not retained in the volatile memory within the predetermined time period. The change data is written into the master plane and new change data is written into the sub plane while any change data is being written into the master plane. The change data written into the sub plane is transferred to the master plane upon completion of writing the change data into the master plane.

The present disclosure also provides a method of writing apparatus data into a nonvolatile memory. The method includes writing first change data into the volatile memory each time the apparatus data under a first category has been changed, retaining, in the volatile memory at every time period, the first change data that is most recently written into the volatile memory within a predetermined time period, and upon conclusion of each of a plurality of recurring time periods, (a) determining whether apparatus data has been changed by determining whether a volatile memory retains the change data corresponding to apparatus data that has been most recently changed within the predetermined time period, and (b) upon determining that the apparatus data has been changed within the predetermined time period, writing, into the nonvolatile memory, the change data retained in the volatile memory, and (c) avoiding writing the apparatus data within the predetermined time period into the nonvolatile memory if the apparatus data has not been changed within the predetermined time period, wherein writing the change data into the nonvolatile memory includes starting writing, at the end of the predetermined time period, the first change data retained in the volatile memory, writing the first change data simultaneously with and independent of writing and retaining into the volatile memory, writing the change data into a sub plane of the nonvolatile memory and subsequently transferring the written change data from the sub plane to a master plane of the nonvolatile memory.

DETAILED DESCRIPTION

Hereinafter, an embodiment of the present disclosure is described with reference to the accompanying drawings.

First described is a multifunction peripheral serving as an image forming apparatus according to this embodiment.FIG. 1is a block diagram illustrating a configuration of a multifunction peripheral10according to this embodiment.

As illustrated inFIG. 1, the multifunction peripheral10includes a central processing unit (CPU)11, a ROM12that previously stores a program and various kinds of data, a RAM13, serving as a volatile memory, which is used as a work area of the CPU11, an EEPROM14, serving as a rewritable nonvolatile memory, which stores various kinds of data, a timer15that measures time, an operation unit16on an operation panel through which various kinds of operations are input by a user, a monitor17on the operation panel that displays various kinds of information, a scanner18that reads an image, a printer19that prints by executing a print job, a network interface (I/F) unit20used for communicating with an external apparatus such as a host computer via a local area network (LAN), and a facsimile communication unit21used for performing facsimile communications with an external facsimile apparatus (not illustrated) via a communication line such as a public telephone line.

A control unit28, which is a computer that controls an entirety of the multifunction peripheral10, includes, for example, the CPU11, the ROM12, and the RAM13. The CPU11is a processor that causes the control unit28to operate by executing the programs stored in the ROM12. The RAM13temporarily stores the program and the various kinds of data when the program is executed by the CPU11.

A storage unit29, which stores various kinds of information on the multifunction peripheral10, includes, for example, the RAM13and the EEPROM14.

The operation unit16is an input device including buttons that form a touch panel together with the monitor17and buttons on the operation panel.

The monitor17is, for example, a display device including a liquid crystal display (LCD).

The scanner18is a reading device that reads image data from an original.

The printer19is a printing device that prints by executing various kinds of print jobs such as a print job for print data received from the external apparatus via the network I/F unit20, a print job for FAX data received from the external facsimile apparatus via the facsimile communication unit21, and a print job for image data read by the scanner18. The printer19prints by executing a print job for which an image has been input to the storage unit29.

The network I/F unit20, for example, transmits the image data read by the scanner18to the external apparatus via the LAN and receives the print data to be printed by the printer19from the external apparatus via the LAN.

The facsimile communication unit21, for example, transmits by FAX the image data read by the scanner18to the external facsimile apparatus via the communication line and receives by FAX the print data to be printed by the printer19from the external facsimile apparatus via the communication line.

FIG. 2is a diagram illustrating apparatus data stored in the RAM13.

As illustrated inFIG. 2, the RAM13stores several categories of apparatus data on the multifunction peripheral10.

Examples of the categories of the apparatus data include a “device general setting” category that is a category of setting data generally applied across a plurality of functions of the multifunction peripheral10, a “copy setting” category that is a category of setting data on a copy function of the multifunction peripheral10, a “printer setting” category that is a category of setting data on a printer function of the multifunction peripheral10, a “FAX setting” category that is a category of setting data on a FAX function of the multifunction peripheral10, a “network setting” category that is a category of network-related setting data on the multifunction peripheral10, a “counter information” category that is a category of counter information on the multifunction peripheral10, and a “log information” category that is a category of various kinds of records of the multifunction peripheral10.

The “device general setting” category includes, for example, data on a sheet size of a sheet-feeding cassette and a time of day. The “copy setting” category includes, for example, data on resolution set for image reading performed by the scanner18. The “printer setting” category includes, for example, font data on characters printed by the printer19. The “FAX setting” category includes, for example, data on a local number. The “network setting” category includes, for example, data on an internet protocol (IP) address and a media access control (MAC) address. The “counter information” category includes, for example, data on the number of sheets printed by the printer19. The “log information” category includes, for example, records of print jobs executed for printing by the printer19and records of errors that have occurred on the multifunction peripheral10.

FIG. 3is a diagram illustrating apparatus data stored in the EEPROM14.

As illustrated inFIG. 3, the EEPROM14stores a copy of the apparatus data stored in the RAM13for when the multifunction peripheral10is powered down. The EEPROM14stores the apparatus data under each of the categories of the apparatus data in the same manner as the RAM13.

The EEPROM14includes a plurality of master planes14aand a plurality of sub planes14b. The plurality of master planes14serve as a primary area into which change data (i.e. the changed apparatus data) is to be written. The plurality of sub planes14bserve as a temporary area into which the change data is to be written temporarily. Further, the EEPROM14stores management information14cused for managing the plurality of master planes14aand the plurality of sub planes14b. The apparatus data under each of the categories of “device general setting”, “copy setting”, “printer setting”, “FAX setting”, “network setting”, “counter information”, and “log information” is stored into one of the master planes14a. Writing information generated for causing the apparatus data to be written into the master planes14ais stored into the sub plane14b. It should be noted that the writing information on the apparatus data under any of the categories may be written into each of the sub planes14b. The management information14cis information for managing which of the master planes14a(i.e. which category) the apparatus data is written in, and which of the sub planes14b(i.e. which category and which period) the writing information is written in. That is, in the EEPROM14, which includes an order storage unit according to the present disclosure, an order in which the control unit28writes the change data into the plurality of sub planes14bis stored by the management information14c.

One of a usable state and a using state is recorded into the RAM13for each of the plurality of master planes14aand the plurality of sub planes14b. The usable state refers to a state in which the plane can be used for an arbitrary process. The using state refers to a state in which the plane is being used for a specific process and cannot be used for another process.

Next described is an operation of the multifunction peripheral10.

For each of the categories of the apparatus data, the multifunction peripheral10separately monitors whether or not the apparatus data has been changed, writes the change data (i.e. the changed apparatus data) into the EEPROM14, and recovers the apparatus data when the multifunction peripheral is powered-up. The following describes the apparatus data under the “device general setting” category.

FIG. 4is a flowchart illustrating an operation of the multifunction peripheral10that is performed when the multifunction peripheral10monitors whether or not the apparatus data has been changed.

The control unit28of the multifunction peripheral10obtains a time period of a fixed cycle T as a predetermined time period based on the time measured by the timer15. The cycle T may be, for example, one second. As illustrated inFIG. 4, first, the control unit28determines whether or not the apparatus data under the “device general setting” category has been changed (S41).

Each time the control unit28determines in Step S41that the apparatus data under the “device general setting” category has been changed, the change data is written into the RAM13(S42). The control unit28retains the entirety of the apparatus data under the “device general setting” category including the change data in the RAM13as the writing information under the “device general setting” category within the current time period (S43). After that, the control unit28determines whether or not the current time period has ended (S44). Meanwhile, if the control unit28determines in Step S41that the apparatus data under the “device general setting” category has not been changed, the control unit28determines whether or not the current time period has ended without the process of Steps S42and S43(S44). If, in Step S44, it is determined that the current time period has not been ended, the control unit28returns to the process of Step S41again. If the apparatus data under the “device general setting” category has been changed a plurality of times within the same time period, the control unit28retains the entirety of the apparatus data under the “device general setting” category including the most recent change data in the RAM13as the writing information under the “device general setting” category within the current time period.

If, in Step S44, it is determined that the current time period has ended, the control unit28determines whether or not the writing information under the “device general setting” category within the current time period is retained in the RAM13(S45).

If, in Step S45, it is determined that the writing information under the “device general setting” category within the current time period is retained in the RAM13, the control unit28starts writing into the EEPROM14based on the writing information under the “device general setting” category within the current time period (S46). Then, the control unit28returns to the process of Step S41as the process for the next time period. Meanwhile, if, in Step S45, it is determined that the writing information under the “device general setting” category within the current time period is not retained in the RAM13, the control unit28returns to the process of Step S41again as the process for the next time period without the process of Step S46. Thus, when the change data is written into the RAM13within the time period of the cycle T, the control unit28writes the writing information including the change data written into the RAM13within the time period of the cycle T into the EEPROM14every time period of the cycle T. The control unit28constitutes a nonvolatile memory writing unit according to the present disclosure.

FIG. 5is a diagram illustrating a specific example of the operation illustrated inFIG. 4.

As illustrated inFIG. 5, time periods T1, T2, and T3are each a time period of the fixed cycle T.

In the specific example illustrated inFIG. 5, if the apparatus data under the “device general setting” category is changed within the time period T1(S51), the control unit28writes the change data into the RAM13(S42). Further, the control unit28retains the entirety of the apparatus data under the “device general setting” category including the change data in the RAM13as the writing information under the “device general setting” category within the time period T1(S43).

At the end of the time period T1, the writing information under the “device general setting” category within the time period T1is retained in the RAM13, and hence the control unit28starts the writing into the EEPROM14based on the writing information under the “device general setting” category within the current time period (S46). That is, the control unit28starts writing into the EEPROM14based on the writing information under the “device general setting” category within the time period T1retained in the RAM13(S52).

In the specific example ofFIG. 5, the apparatus data under the “device general setting” category is not changed during the time period T2. Therefore, at the end of the time period T2, the writing information under the “device general setting” category within the time period T2is not retained in the RAM13, and hence the control unit28avoids writing the apparatus data under the “device general setting” category within the time period T2into the EEPROM14(S53).

If the apparatus data under the “device general setting” category is changed within the time period T3(S54), the control unit28writes the change data into the RAM13(S42). The control unit28retains the entirety of the apparatus data under the “device general setting” category including the change data in the RAM13as the writing information under the “device general setting” category within the time period T3(S43).

Subsequently, if the apparatus data under the “device general setting” category is changed for a second time within the time period T3(S55), the control unit28writes the change data into the RAM13(S42). The control unit28retains the entirety of the apparatus data under the “device general setting” category including the most recent change data in the RAM13as the writing information under the “device general setting” category within the time period T3(S43).

At the end of the time period T3, the writing information under the “device general setting” category within the time period T3is retained in the RAM13, and hence the control unit28starts the writing into the EEPROM14based on the writing information under the “device general setting” category within the current time period (S46). That is, the control unit28starts the writing into the EEPROM14based on the most recent writing information under the “device general setting” category within the time period T3retained in the RAM13(S56).

As described above, a time period, between when the control unit28has started writing into the EEPROM14until the control unit28next starts writing into the EEPROM14, is always a natural number multiple of the cycle T. Thus, at most, the control unit28writes into the EEPROM14every cycle T.

FIG. 6is a flowchart illustrating an operation of the multifunction peripheral10that is performed when change data is written into the EEPROM14. The process illustrated inFIG. 6is what is performed at Step S46ofFIG. 4, when the control unit28starts writing into the EEPROM14based on the writing information under the “device general setting” category. The control unit28performs the process illustrated inFIG. 6simultaneously with and independent of the process illustrated inFIG. 4. Further, the control unit28can perform a plurality of simultaneous processes illustrated inFIG. 6independently from one another.

In the process illustrated inFIG. 6, the control unit28first determines whether or not an untransferred sub plane14bin the using state exists for the apparatus data under the “device general setting” category (S61). The untransferred sub plane14brefers to the sub plane14bfrom which the change data has not been transferred to the master plane14ayet. The untransferred sub plane14bconstitutes a temporary area in which written data has not yet been transferred, according to the present disclosure.

If, in Step S61, it is determined that the untransferred sub plane14bin the using state does not exist for the apparatus data under the “device general setting” category, the control unit28determines whether or not the master plane14a, in which the apparatus data under the “device general setting” category is stored, is in the usable state (S62).

If, in Step S62, it is determined that the master plane14ain which the apparatus data under the “device general setting” category is stored is in the usable state, the control unit28executes a master plane writing process illustrated inFIG. 7(S63). Thus, the control unit28writes the change data into the master plane14a. The control unit28constitutes a primary area writing unit according to the present disclosure.

FIG. 7is a flowchart illustrating the master plane writing process of the flowchart illustrated inFIG. 6.

As illustrated inFIG. 7, the control unit28sets the master plane14aunder the “device general setting” category to the using state (S80). The control unit28reads the entirety of the apparatus data in the master plane14aunder the “device general setting” category into the RAM13as pre-write information (S81).

Subsequently, the control unit28compares the pre-write information in Step S81with the writing information under the “device general setting” category within a target time period stored in the RAM13, and generates final writing information in the RAM13(S82). Here, the target time period refers to a time period for the writing information illustrated inFIG. 4that has caused the process illustrated inFIG. 6to be started. For example, the target time period of the process illustrated inFIG. 6started at the end of the time period T1is the time period T1, and the target time period of the process illustrated inFIG. 6started at the end of the time period T3is the time period T3. The final writing information refers to data having a minimum necessary size to write the change data into the master plane14a, and is decided according to a minimum write unit of a write-target nonvolatile memory. For example, the minimum write unit of the nonvolatile memory may be 1 byte if the nonvolatile memory is an EEPROM as in this embodiment, while the minimum write unit of the nonvolatile memory may be 1 sector if the nonvolatile memory is a flash ROM.

Subsequently, the control unit28transfers the final writing information in the RAM13generated in Step S82upon the apparatus data in the master plane14aunder the “device general setting” category (S83). The control unit28deletes the pre-write information under the “device general setting” category read into the RAM13in Step S81, the writing information under the “device general setting” category within the target time period stored in the RAM13, and the final writing information under the “device general setting” category generated in the RAM13in Step S82(S84).

Finally, the control unit28sets the master plane14aunder the “device general setting” category to the usable state (S85), and terminates the process illustrated inFIG. 7.

As illustrated inFIG. 6, after executing the master plane writing process in Step S63, the control unit28terminates the process illustrated inFIG. 6.

If, in Step S61, it is determined that the untransferred sub plane14bin the using state exists for the apparatus data under the “device general setting” category, or if, in Step S62, it is determined that the master plane14ain which the apparatus data under the “device general setting” category is stored is in the using state, then the control unit28determines whether or not the sub plane14bin the usable state exists (S64). If, in Step S64, it is determined that no sub plane14bwith a usable state exists, then the control unit28continues executing the process of Step S64until determining that the sub plane14bexists in a usable state. It should be noted that the length of the cycle T and the number of the sub planes14bmay be designed for the multifunction peripheral10according to the performance of the nonvolatile memory mounted to the multifunction peripheral10, so that the control unit28may not determine in Step S64that the sub plane14bin the usable state does not exist.

If, in Step S64, it is determined that the sub plane14bin the usable state exists, the control unit28sets one of the sub planes14bin the usable state to the using state (S65). The control unit28writes the writing information under the “device general setting” category within the target time period stored in the RAM13into the sub plane14bset to the using state in Step S65(S66). Thus, if the process of writing new change data into the EEPROM14occurs while the change data is being written into the master plane14a(“NO” in S62), the control unit28writes the new change data into the sub plane14b(S66). When writing the new change data into the EEPROM14while the untransferred sub plane14bexists (“YES” in S61), the control unit28writes the new change data into a sub plane14bother than the untransferred sub plane14b(S66). The control unit28thus constitutes a temporary area writing unit according to the present disclosure. It should be noted that, in the process of Step S66, the control unit28writes into the management information14ccorrespondence information between the sub plane14bin which the writing information is written and the target time period and the category of the writing information written in the sub plane14b.

Subsequently, the control unit28deletes the writing information under the “device general setting” category within the target time period stored in the RAM13(S67). The control unit28determines whether or not the untransferred sub plane14bin the using state that precedes in order exists for the apparatus data under the “device general setting” category (S68). If it is determined that in Step S68that the untransferred sub plane14bin the using state that precedes in order exists, the control unit28continues executing the process of Step S68until the control unit28determines that the untransferred sub plane14bin the using state that precedes in the order does not exist. Here, the sub plane14bthat precedes in the order refers to the sub plane14bin which the writing information within the time period before the target time period is stored under the corresponding category.

If, in Step S68, it is determined that the untransferred sub plane14bin the using state that precedes in the order does not exist for the apparatus data under the “device general setting” category, the control unit28determines whether or not the master plane14ain which the apparatus data under the “device general setting” category is stored is in the usable state (S69). If, in Step S69, it is determined that the master plane14ain which the apparatus data is stored is in the using state, the control unit28continues executing the process of Step S69until the control unit28determines that the master plane14ain which the apparatus data is stored is in the usable state.

If, in Step S69, it is determined that the master plane14ain which the apparatus data under the “device general setting” category is stored is in the usable state, the control unit28reads the writing information under the “device general setting” category within the target time period written into the sub plane14bin Step S66into the RAM13(S70). The control unit28executes the master plane writing process illustrated inFIG. 7(S71). Thus, if there is no other untransferred sub plane14bthat precedes in order the sub plane14bin which the writing information within the target time period is stored (i.e. sub plane14bfrom which the change data is transferred to the master plane14a) (S68), then when the writing of the change data into the master plane14ais completed (S69), the control unit28transfers the change data included in the writing information written in the target sub plane14bupon the master plane14a(S71). The control unit28thus constitutes a primary area transfer unit according to the present disclosure.

When executing the master plane writing process in Step S71, the control unit28sets to the usable state (S72) the sub plane14bpreviously set to the using state in Step S65, and terminates the process illustrated inFIG. 6. The control unit28deletes from the management information14cthe correspondence information between the sub plane14bset to the usable state in the process of Step S72and the target time period and the category of the writing information written in the sub plane14b.

As described above, if the new change data is written into the EEPROM14while the change data is being written into the master plane14a(“NO” in S62), the control unit28writes the writing information including new change data into the sub plane14b(S66). Then, when the writing of the change data into the master plane14ais completed (“YES” in S69), the control unit28transfers the change data included in the writing information written in the target sub plane14bupon the master plane14a(S71).

Further, when writing the new change data into the EEPROM14while the untransferred sub plane14bexists (“YES” in S61), the control unit28writes the writing information including the new change data into the sub plane14bother than the untransferred sub plane14b(S66). Then, if there is no other untransferred sub plane14bthat precedes in the order (“NO” in S68), and when the writing of the change data into the master plane14ais completed (“YES” in S69), the control unit28transfers the change data included in the writing information written in the sub plane14bupon the master plane14a(S71).

FIG. 8is a flowchart illustrating an operation of the multifunction peripheral10that is performed when the apparatus data is recovered at the time of power on.

When the power of the multifunction peripheral10is turned on, the control unit28determines whether or not the untransferred sub plane14bexists under the “device general setting” category as illustrated inFIG. 8(S91). Here, based on the correspondence information on the management information14cin the EEPROM14, the control unit28determines that the untransferred sub plane14bexists under the “device general setting” category when the sub plane14bin which the writing information under the “device general setting” category is stored exists.

If it is determined in Step S91that the untransferred sub plane14bdoes not exist under the “device general setting” category, that is, the sub plane14bin which the writing information under the “device general setting” category is stored does not exist, the control unit28reads the apparatus data in the master plane14aunder the “device general setting” category as the apparatus data under the “device general setting” category in the RAM13(S92), and terminates the process illustrated inFIG. 8.

If it is determined in Step S91that the untransferred sub plane14bexists under the “device general setting” category, that is, the sub plane14bin which the writing information under the “device general setting” category is stored exists, the control unit28reads the writing information from the untransferred sub plane14bthat is last in order under the “device general setting” category into the RAM13(S93). Here, the sub plane14bthat is last in order refers to the sub plane14bin which the most recent writing information is stored. Based on the correspondence information on the management information14c, the control unit28identifies the sub plane14bwithin the newest target time period among the sub planes14bin which the writing information under the “device general setting” category is stored, as the sub plane14bthat is last in the order.

Subsequently, the control unit28executes the master plane writing process illustrated inFIG. 7(S94), and deletes the correspondence information between all the untransferred sub planes14bunder the “device general setting” category and the target time period and the category of the writing information written in the sub planes14b, from the management information14c(S95).

Finally, the control unit28performs the process of Step S92, and then terminates the process illustrated inFIG. 8. The control unit28thus constitutes a power-on time transfer unit according to the present disclosure.

As described above, when the change data is written into the RAM13within the time period of the cycle T, the multifunction peripheral10performs the process of writing the change data written into the RAM13within the time period into the EEPROM14every time period. This can prevent the change data from being written into the EEPROM14each time the apparatus data is changed, and can reduce the number of writing operations with respect to the EEPROM14. Therefore, the multifunction peripheral10can prevent the number of writing operations with respect to the EEPROM14from reaching the limit of rewritable times of the EEPROM14before the multifunction peripheral10itself reaches the end of its product life cycle. For example, when the apparatus data stored in the RAM13and in the master plane14aof the EEPROM14is reset to factory-default apparatus data stored in the ROM12, even if the factory-default apparatus data may have several thousand items or more, the multifunction peripheral10collectively writes the items into the EEPROM14every time period of the cycle T instead of writing the item into the EEPROM14each time the item is reset. This can effectively suppress the number of writing operations with respect to the EEPROM14.

The multifunction peripheral10includes the plurality of sub planes14b, and hence, in comparison with a configuration including only one sub plane14b, it is possible to shorten intervals at which the process of writing the change data written in the RAM13into the EEPROM14is performed.

The multifunction peripheral10can reduce an amount of the apparatus data written into the EEPROM14every time period of the cycle T because the EEPROM14stores the apparatus data under each of the categories of the apparatus data and the control unit28handles the apparatus data for each of the categories.

The multifunction peripheral10can adjust the cycle T according to the performance of the nonvolatile memory such as a time necessary for writing into the nonvolatile memory and a timing at which the writing into the nonvolatile memory can be performed. Therefore, by adjusting the length of the cycle T to a minimum necessary length according to the performance of the nonvolatile memory mounted to the multifunction peripheral10, a manufacturer of the multifunction peripheral10can reduce the amount of the change data that cannot be saved when the power of the multifunction peripheral10is turned off suddenly.

The multifunction peripheral10writes the new change data into the sub plane14bwhile writing the change data into the master plane14a. Therefore, even when the change data is being written into the master plane14a, it is possible to write the new change data into the EEPROM14. In the same manner, while writing the change data into the sub plane14b, the multifunction peripheral10writes the new change data into another sub plane14b. Therefore, even when the change data is being written into the sub plane14b, it is possible to write the new change data into the EEPROM14.

When transferring the change data written in the sub plane14bto the master plane14a, the multifunction peripheral10always transfers the change data written in the untransferred sub plane14bthat precedes in order first. Therefore, it is possible to avoid overwriting new change data with old change data in the master plane14a.

In the multifunction peripheral10, when the change data written in the sub plane14bis not yet transferred to the master plane14aat the time of power on of the multifunction peripheral10, the control unit28transfers the change data written in the sub plane14bupon the RAM13. Therefore, even if the power of the multifunction peripheral10is turned off when the change data written in the sub plane14bis not yet transferred to the master plane14a, it is possible to transfer the change data written in the sub plane14bto the RAM13at the time of power on of the multifunction peripheral10.

When the untransferred sub plane14bexists at the time of power on of the multifunction peripheral10, the multifunction peripheral10transfers the change data written in the untransferred sub plane14bthat is last in order to the RAM13. Therefore, if the power of the multifunction peripheral10is turned off when there is a plurality of untransferred sub planes14b, it is possible to transfer the most recent change data written in the untransferred sub plane14bto the RAM13in a shorter period of time than in a configuration in which the change data written in the untransferred sub plane14bis transferred to the RAM13in order.

The present disclosure includes various other embodiments. For example, other designs can be used in which the above-described components are each performed.

The image forming apparatus according to the present disclosure is described as the multifunction peripheral in this embodiment, but may be an image forming apparatus other than the multifunction peripheral, such as a copier, a printer, or a facsimile apparatus.

The nonvolatile memory according to the present disclosure is described as the EEPROM in this embodiment, but may be a nonvolatile memory other than the EEPROM, such as a flash ROM.