1. Field of the Invention
The present invention relates to an information processing apparatus, a method for controlling an information processing apparatus, and a program.
2. Description of the Related Art
An image forming apparatus having a copying function and a printer function includes a storage device inside. Programs of the apparatus, program processing data, and user data are stored in the storage device. Some image forming apparatuses include a plurality of storage devices and perform mirroring to protect data stored in the storage devices and perform data backup processing.
In regard to providing a plurality of storage devices, protecting data stored in such storage devices, and performing data backup processing, Japanese Patent Application Laid-Open No. 2002-175157 discusses an apparatus in which storage devices, or storages, can be replaced for extending a storage capacity.
The foregoing conventional technology mainly uses hard disk drives (HDDs) as the storage devices.
In recent years, solid state drives (SSDs) have appeared as storage devices. An HDD and an HDD have conventionally been combined to perform mirroring to protect data in the storage devices of the image forming apparatus. Aside from such a conventional combination, a new combination of an HDD and an SSD, a storage device of different type, has become possible.
Since SSDs are costly, an image forming apparatus system becomes very expensive if an SSD having the same storage capacity as that of an HDD is used. Therefore, in terms of cost, the capacity of the SSD for use is reduced. As compared to HDDs, SSDs are capable of high-speed read operation.
Thus, using an HDD and an SSD in combination and performing a read operation with the SSD can speed up the performance of the image forming apparatus. A mechanism effective for mirroring with a combination of a plurality of storage devices of different types and capacities has thus been desired.
According to an aspect of the present invention, an apparatus includes a plurality of storage units, a setting unit configured to set mirroring areas to be subjected to mirroring in storage areas of the plurality of storage units, a determination unit configured to determine a degree of importance of data to be stored in the storage units, and a control unit configured to perform control to store data that has a high degree of importance into the mirroring areas of the plurality of storage units, and store data that has a low degree of importance into a non-mirroring area of anyone of the storage units.
Further features and aspects of the present invention will become apparent from the following detailed description of exemplary embodiments with reference to the attached drawings.
The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate exemplary embodiments, features, and aspects of the invention and, together with the description, serve to explain the principles of the invention.
Various exemplary embodiments, features, and aspects of the invention will be described in detail below with reference to the drawings.
In
A network unit 4 performs control on data transmission and reception to/from external devices such as a personal computer (PC) over a not-illustrated network. A storage unit 5 includes storages (storage devices) such as a hard disk drive (HDD) and a solid state drive (SSD) and uses the storages to store various types of data, including image data read by the scanner unit 1 and print data.
An operation unit 6 controls a not-illustrated operation panel to display various types of information and input user instructions. A bus 7 is a system bus through which control signals from the controller unit 3 and data signals between the devices are transmitted and received.
Referring to
As illustrated in
Referring to
As illustrated in
The following is the method by which the image forming apparatus stores data into the storages. The storages used in the image forming apparatus include an HDD and an SSD. Examples of the data to be stored into such storages include program data of the image forming apparatus, apparatus setting data (setting data on the image forming apparatus), user-stored data (data stored in response to a storage instruction from the user), image data, and image processing intermediate data. The image forming apparatus stores all pieces of such data in the storage unit 5, which uses an enormous amount of the storage capacity.
In view of this, the image forming apparatus adds a degree of importance to the data to be stored into the storages. The program data, the apparatus setting data, and the user-stored data have a high degree of importance. The controller unit 3 adds data degree of importance information of “1” to header information on such pieces of data.
Buffer data, temporary data, and intermediate data during data processing (image processing) of the image forming apparatus have a low degree of importance. The controller unit 3 adds data degree of importance information of “0” to header information on such pieces of data.
The data having a low degree of importance refers to temporary data that is temporarily stored in the storage unit 5 in the process of data processing. The data having a high degree of importance refers to data other than the temporary data. The pieces of data stored in the storages of the image forming apparatus are classified into the two groups (data having the high degree of importance and data having the low degree of importance).
The image forming apparatus maybe configured so that the user can set the data types of the data having the high degree of importance from a degree of importance setting screen on the operation unit 6 (not illustrated).
For example, the image forming apparatus 10 may include a facsimile unit and be capable of transmitting and receiving facsimile data. In such a case, the user may specify the received facsimile data to be data having the high degree of importance or data having the low degree of importance from the operation unit 6. The image forming apparatus 10 may have a web browser function. In such a case, the user may specify a user-input password, included in temporary files stored by the web browser function, to be data having the high degree of importance or data having the low degree of importance.
The above descriptions are just a few examples, and the data of which the user can specify the degree of importance is not limited thereto. It should be noted that even the temporary data described above is handled by the controller unit 3 as the data having the high degree of importance if so specified by the user in the case that the user specifies the degree of importance. On the other hand, even the data other than the above-described temporary data is handled by the controller unit 3 as having the low degree of importance if so specified by the user.
Next, storage address conversion will be described. In the following description, all addresses will be expressed in hexadecimal notation.
The storage A 22 and the storage C 23 illustrated in
The storage controller unit 21 of the image forming apparatus contains an address correspondence list (address correspondence information) for the storage A and the storage C as illustrated in
For example, in the case of the storages in
The mirroring operation between the storage A 22 and the storage C 23 in
The storage A 22 includes an HDD with address space of “00” to “1F.” The storage C 23 includes an SSD with address space of “00” to “0F.”
The address space “00” to “0F” of the storage A 22 is set to be a non-mirroring area, and the address space “10” to “1F” (hatched area) is set to be a mirroring area. The address space “00” to “0F” (hatched area) of the storage C 23 is set to be a mirroring area. The storage controller unit 21 sets the mirroring area and the non-mirroring area in the address spaces as specified from the operation unit 6. The address correspondence list in
The storage controller unit 21 determines that an address space is a mirroring area if the address space has a corresponding address in the address correspondence list (for example,
If the nonvolatile memory in the storage controller unit 21 contains the address correspondence list as illustrated in
Referring to
When the user presses an option specification setting button 501 on the user mode screen of
When the user presses (touches) a mirroring button 601 on the option specification setting screen of
The storage controller unit 21 notified creates an address correspondence list as illustrated in
When the user inputs “0” (no mirroring setting) to the setting value 602 of the mirroring setting again and presses the OK button 603, the controller unit 3 notifies the storage controller unit 21 of the release of the mirroring setting. The storage controller unit 21 notified performs control to delete the address correspondence list (
Referring to a flowchart in
The processing in step S703 in the flowchart is implemented by a CPU of the storage controller unit 21 reading and executing a program that is recorded in a ROM or the like of the storage controller unit 21 in a computer-readable fashion. The following description will be given on the assumption that the mirroring setting illustrated in
When the user sets a document to be scanned on a platen of the scanner unit 1 of the image forming apparatus according to the present invention and inputs a scan operation from the operation unit 6, the controller unit 3 starts the processing in the flowchart. In step S701, the controller unit 3 initially controls the scanner unit 1 to perform scan processing. The scanner unit 1 reads a document image from the document, converts the document image into image data, and transmits the image data to the controller unit 3.
In step S702, the controller unit 3 processes the image data transmitted from the scanner unit 1, and transmits the processed image data to the storage unit 5.
In step S703, the storage unit 5 receives the image data transmitted from the controller unit 3. The storage controller unit 21 checks the degree of importance of the image data, and performs mirroring processing to write the image data to a storage 22 and a storage 23. Then, the processing in the flowchart is ended. As described above, the mirroring processing is performed on image data.
The processing in steps S805 to S810 in the flowchart is implemented by the CPU of the storage controller unit 21 reading and executing a program that is recorded in the ROM or the like of the storage controller unit 21 in a computer-readable fashion.
In step S801, when the user inputs an instruction to start setting the image forming apparatus from the operation unit 6, the controller unit 3 receives image forming apparatus setting (address conversion setting for implementing the mirroring function of the storage) from the operation unit 6. After the image forming apparatus setting, the controller unit 3 performs control to receive a job. If no particular setting is performed, the processing simply proceeds to step S802, in which case the job operation is performed using default values as illustrated in
The storage controller unit 21 of the storage unit 5 may notify the controller unit 3 of the detection of a change in the storage configuration of the storage unit 5. In such a case, the controller unit 3 performs control to receive the image forming apparatus setting from the operation unit 6. The image forming apparatus setting is transmitted from the controller unit 3 to the storage controller unit 21 of the storage unit 5, and stored into a memory in the storage controller unit 21.
In step S802, the controller unit 3 receives an instruction to start a job, and starts the job. For example, in the case of a scan job as illustrated in
In step S803, the controller unit 3 performs data processing on the read image data. Here, the controller unit 3 adds information that indicates the degree of importance of the data (degree of importance information) to the header information on the image data. The controller unit 3 gives the degree of importance of “0” to temporary data, and the degree of importance of “1” to important data.
In step S804, the controller unit 3 temporarily stores the data processed in step S803 into a data buffer that is provided in a memory in the controller unit 3. The data stored in the data buffer is successively transmitted by the controller unit 3 to the storage unit 5.
In step S805, the storage controller unit 21 of the storage unit 5 receives the data transmitted from the controller unit 3 and determines whether the degree of importance information in the data header of the data is “1” (data having the high degree of importance).
If the degree of importance information in the data header is “1,” i.e., the data is determined to have the high degree of importance (Yes in step S805), the processing proceeds to step S806. In step S806, the storage controller unit 21 determines whether the storage unit 5 is set as capable of mirroring (mirroring setting is performed).
If the mirroring setting is performed (Yes in step S806), then in step S807, the storage controller unit 21 acquires converted addresses for the mirroring function (address correspondence list) that are stored in the memory in the storage controller unit 21.
It is determined in step S805 that the degree of importance information in the data header is “1,” i.e. , the data is important data. In step S808, the storage controller unit 21 then writes the data determined as the important data to the mirroring areas (in the example in
Completing writing to the mirroring areas of the storages, the storage controller unit 21 notifies the controller unit 3 of the completion of the data writing. Thus, the mirroring write processing is ended.
On the other hand, if the storage unit 5 is determined not to be set for mirroring (No in step S806), then in step S809, the storage controller unit 21 writes the data to either one of the storages (for example, the storage A).
Completing writing to the storage, the storage controller unit 21 notifies the controller unit 3 of the completion of the data writing. Thus, the write processing in the case of no mirroring setting is ended.
If the degree of importance information in the data header is “0,” i.e., the data is determined to be temporary data (No in step S805), then in step S810, the storage controller unit 21 simply writes the data to the non-mirroring area of the storage (in the example in
Completing writing to the storage, the storage controller unit 21 notifies the controller unit 3 of the completion of the data writing. Thus, the write processing on the temporary data is ended.
If the storage controller unit 21 determines that the data header does not contain the degree of importance information (No in step S805), then in step S810, the storage controller unit 21 simply writes the data to the non-mirroring area of the storage (in the example in
As described above, the image forming apparatus according to the present exemplary embodiment allows replacement of storage devices with ones of different types and different capacities, with a configuration change for reduced capacity. Further, the image forming apparatus can also use the entire space of the storage devices. Further, the storage controller unit 21 can perform a read operation of the mirroring function with the SSD (for example, the storage C in
Consequently, it is possible to implement mirroring control with a combination of a plurality of storage devices of different capacities (and types). It is also possible to use the entire space of the plurality of storage devices and improve the processing performance and user usability.
A second exemplary embodiment is configured so that the mirroring areas can be selected and specified by a user operation. Referring to
In the second exemplary embodiment, when the user presses the option specification setting button 501 on the user mode screen illustrated in
When the user presses (touches) an advanced setting button 901 on the option specification setting screen in
The controller unit 3 then performs control to receive an input to a setting value 1001 of the mirroring advanced setting from the numeric keypad (not illustrated) of the operation unit 6. The setting value 1001 of the mirroring advanced setting is “0” by default. Such mirroring setting is targeted for the last half of the disk as illustrated in
When the user inputs “1” to the setting value 1001 of the mirroring advanced setting from the numeric keypad, the mirroring setting is targeted for a center part of the disk as illustrated in
When the user presses the OK button 603 with “1” in the setting value 602, the controller unit 3 notifies the storage controller unit 21 of the mirroring setting and the setting value 1001 of the mirroring advanced setting. The storage controller unit 21 notified creates an address correspondence list corresponding to the setting value 1001 of the mirroring advanced setting, and stores the address correspondence list into the nonvolatile memory in the storage controller unit 21. The storage controller unit 21 subsequently performs mirroring control on the storages based on the address correspondence list.
The image forming apparatus maybe configured so that when the user selects setting 1 (to set mirroring the center part of the disk) on the mirroring advanced setting screen in
Now, other storage methods of the storage unit (settings for mirroring the center part of the disk and mirroring the first half of the disk) in the image forming apparatus according to the present invention will be described with reference to
In
In the example of setting illustrated in
As illustrated in
In the storage A, the address space “00” to “07” is set to be the non-mirroring area, the address space “08” to “17” (hatched area) is set to be the mirroring area, and the address space “18” to “1F” is set to be the non-mirroring area. The address space “00” to “0F” (hatched area) of the storage C is set to be the mirroring area.
With the storage set in
In the storage A that is set as in
In the example of setting illustrated in
As illustrated in
In other words, the address space “00” to “0F” (hatched area) of the storage A is set to be the mirroring area, and the address space “10” to “1F” is set to be the non-mirroring area. The address space “00” to “0F” (hatched area) of the storage C is set to be the mirroring area.
With the storage settings in
According to the present exemplary embodiment, as illustrated in
A third exemplary embodiment is configured so that the mirroring area and the non-mirroring area can be more finely specified by a user operation.
When the user presses (touches) the advanced setting button 901 on the option specification setting screen of
Next, the controller unit 3 receives corresponding address settings for the storage A. For example, as illustrated in
The storage controller unit 21 notified creates an address correspondence list corresponding to the information about the mirroring setting (for example,
The following is the setting of the mirroring area and the non-mirroring area of the storage A in
As illustrated in
Addresses “16” to “1D” of the storage A correspond to addresses “08” to “0F” of the storage C (mirroring area). Addresses “1E” and “1F” of the storage A have no corresponding address of the storage C (non-mirroring area).
In other words, the address spaces “02” to “09” and “16” to “1D” (hatched areas) of the storage A are set to be the mirroring areas, and the address spaces “00” to “01,” “0A” to “15,” and “1E” to “1F” are set to be the non-mirroring areas. The address space “00” to “0F” (hatched area) of the storage C is set to be the mirroring area.
With the storage settings in
In the storage A that is set as in
According to the present exemplary embodiment, as in
In the configuration illustrated in
The above-described exemplary embodiments have dealt with an apparatus that is configured to perform mirroring with two storage devices. However, the present invention is also applicable to an apparatus that is configured to perform mirroring with a plurality of more than two storage devices (which may differ in storage capacity and in type). In such a case, the user specifies from the operation unit 6 the storage areas of storages to mirror the entire storage area of the storage that has the smallest storage capacity. Based on the specification, the storage controller unit 21 sets the mirroring areas in the storage areas of the plurality of storages.
In the configuration corresponding to the first exemplary embodiment, the storage areas of the other storages to mirror the entire storage area of the storage having the smallest storage capacity among the plurality of storages are set to where the access time is longer (the outer periphery sides of the HDDs). Data stored in the mirroring areas is read from a storage of the type that has the shortest read time.
For example, when the image forming apparatus includes a plurality of HDDs and an SSD, the data is read from the SSD. When the image forming apparatus includes a plurality of HDDs and a plurality of SSDs, the data is read from an SSD that has the shortest read time. The storage controller unit 21 may measure the data read time by actually reading data from each storage, and determine the storage to read data from based on the measurement.
In the configuration corresponding to the second exemplary embodiment, the user specifies the storage areas of the other storages to mirror the entire storage area of the storage having the smallest storage capacity. The controller unit 3 accepts the specification from the operation unit 6 (screens as illustrated in
In the configuration corresponding to the third exemplary embodiment, the controller unit 3 performs control so that the user can specify a plurality of discrete storage areas of the other storages from the operation unit 6 as the storage areas of the other storages to mirror the entire storage area of the storage having the smallest storage capacity.
In the above-described exemplary embodiments, the image forming apparatus is described as an example of the information processing apparatus according to the present invention. However, the information processing apparatus according to an exemplary embodiment of the present invention may also cover apparatuses other than an image forming apparatus, such as a personal computer (PC) and a server computer (server).
For example, in the case of a PC or server, data having a low degree of importance may include temporary files that are stored by a web browser, temporary program work files that are stored during installation or use of a program, and data that is saved to a virtual memory. The temporary files stored by a web browser may include Internet temporary files such as data that is stored for quick display (copies of web pages, images, and media), cookies, a browsing history, form data, and passwords.
The data saved to a virtual memory refers to data that is temporarily saved to a secondary storage device because of insufficient physical memory capacity. In other words, the virtual memory is set to be a non-mirroring area. In the case of a PC or server, data other than the data having a low degree of importance described above is data having a high degree of importance.
As described above, the application of the information processing apparatus according to the present invention to a PC or server can improve the processing performance of the PC or server for improved user usability. The information processing apparatus can thus implement mirroring control with a combination of a plurality of storage devices of different capacities (and different types). It is also possible to use the entire space of the plurality of storage devices, and improve the processing performance and user usability.
While exemplary embodiments of the present invention have been described above, the present invention may be practiced, for example, as a system, apparatus, method, program, storage medium, and other modes of embodiment. More specifically, the present invention may be applied to a system that includes a plurality of devices. The present invention may be applied to an apparatus that includes a single device. All combinations of the configurations of the above-described exemplary embodiments are intended to be covered by the present invention.
Aspects of the present invention can also be realized by a computer of a system or apparatus (or devices such as a CPU or MPU) that reads out and executes a program recorded on a memory device to perform the functions of the above-described embodiment(s), and by a method, the steps of which are performed by a computer of a system or apparatus by, for example, reading out and executing a program recorded on a memory device to perform the functions of the above-described embodiment(s). For this purpose, the program is provided to the computer for example via a network or from a recording medium of various types serving as the memory device (e.g., computer-readable medium).
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all modifications, equivalent structures, and functions.
This application claims priority from Japanese Patent Application No. 2010-184783 filed Aug. 20, 2010, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2010-184783 | Aug 2010 | JP | national |