An embodiment of this invention will be described below with reference to the accompanying drawings.
Printer 100 has a CPU 101, a ROM 102, a RAM 103, an operating panel 104, a printing unit 105, a network interface 106, and an external memory interface 107, all of which are interconnected with each other via a bus 108 for exchanging signals.
The CPU 101 controls various parts indicated above and executes various arithmetic processes according to a program. The ROM 102 stores various programs and data. The RAM 103 stores programs and data temporarily as a working area. The RAM 103 is an internal memory unit built into the printer 100, which is also called the internal memory hereunder.
The operating panel 104 is used for various information displays and for entering various instructions. The printing unit 105 prints images on recording media such as paper using a known image forming process such as an electronic photography type process.
The network interface 106 is an interface for communicating with other devices on the network via the network using standards such as Ethernet®, Token Ring, FDDI, etc. The external memory interface 107 is an interface that can connect or disconnect the external memory 250 (see
The external memory interface 107 discussed here is, for example, a USB (Universal Serial Bus) interface, and the external memory 250 is, for example, a USB memory. When the USB memory, which is a USB Mass Storage Class memory device, is connected to the USB interface, the connected USB memory is recognized as a memory device on the host side. The USB memory discussed here is a flash memory that can be used by being connected to a connector that meets the USB standard.
As shown in
The communication processing unit 301 conducts the communication process with a terminal device such as a PC (Personal Computer), and receives printing data from, for example, the PC. The image processing unit 302 conducts image processing by analyzing the printing data received via the communication processing unit 301. The external memory control unit 303 monitors the attaching and detaching of the external memory 250. The external memory control unit 303 registers to the operating system 306 a vacant space of the connected external memory as a virtual memory area and provides the virtual memory area that can be used for the image processing unit 302. When it is judged that a memory shortage status has arisen due to the lack of vacant areas in the internal memory, the memory shortage control unit 304 notifies the memory shortage status to the device status control unit 305. Also, the memory shortage control unit 304 requests the external memory control unit 303 to provide a usable virtual memory area in place of the decreased internal memory area. The device status control unit 305 controls the device's status. Moreover, the device status control unit 305 causes the operating panel 104 to display information such as error status or error averting procedure information. The operating system 306 is a basic system for controlling hardware resources including the memory and for causing upper level applications to function more efficiently. The USB host control unit 307 controls the hardware of the USB host controller at the external memory interface 107. The USB host control unit 307 is in charge of establishing the connection and disconnection with the external memory 250 as well as data read/write. The abovementioned functions of the firmware are realized by the CPU 101 executing the corresponding programs on the RAM 103.
The operation of the printer 100 in this embodiment will be described in the following.
The algorithm shown in the flowcharts of
With reference to
Next, the image process and the printing process start as a part of the image forming process based on the printing data (S102). In other words, the image processing unit 302 executes the imaging process by analyzing the received printing data. The printing data is described by a page description language and contains multiple types of data such as commands (procedures), font data and image data. More specifically, the image processing unit 302 prepares bitmap data, which will be printing output images, in a page unit or a band unit in accordance with a series of commands (procedures). The prepared bitmap data is transferred to the printing unit 105, where the printing process is conducted.
While the image processing is conducted, data that is not allowed to be erased as it is expected to be used continues to be accumulated in the internal memory, as the printing output is not yet completed. The image processing unit 302 uses the internal memory dividing its area depending on the purpose of each of the various types of printing data in order to use the internal memory efficiently. Various types of printing data include commands, font data, image data, display lists that are intermediate data prepared in the imaging process, bitmap data prepared in the imaging process, etc.
In step S103, a judgment is made as to whether the memory area shortage status was generated or not regarding the shortage of the internal memory area.
Memory shortage status here can include a case where memory area shortage is expected in addition to a case where memory area shortage is actually detected. Future memory usage amount can be estimated from the usage status of each of areas 401-405 of the internal memory and the result of analysis of the received printing data. The result of an analysis may include, for example, either color printing or monochromatic printing, printing by departments, paper size, either text printing or image printing, etc.
The occurrence of memory shortage is preferably judged for each of the areas 401-405. Moreover, the usage limit for concluding that a memory shortage status has occurred is preferably set up for each of the areas 401-405. The usage limit can be expressed, for example, by the usage rate (e.g., 80%) for each of the areas 401-405 of the internal memory.
The usage limit can also be expressed in term of usable capacity (number of bytes). It is also possible to allocate the external memory always to processes related to printing data by setting the usage limit to zero.
The following is an example of a case in which a memory shortage status occurs. (1) Because the data size of the command in the received printing data is too large, there is a shortage of vacant area in the system and work area 401 of the internal memory, making the next command's analysis impossible, thus generating a memory shortage status. (2) Because the data size of the font data included in the received printing data is too large, there is a shortage of vacant area in the RAM disk area 402 of the internal memory, making the imaging process impossible to continue, thus generating a memory shortage status. (3) Because the data size of the image data included in the received printing data is too large, there is a shortage of vacant area in the PDL HEAP area 403 of the internal memory, making the imaging process impossible to continue, thus generating a memory shortage status. (4) As the data size of the display list prepared in the imaging process based on the received printing data has grown too large, there is a shortage of vacant area in the display list area 404, making the imaging process impossible to continue, thus generating a memory shortage status. (5) Because the data size of the bitmap data generated by the imaging process has grown too large, making the imaging process impossible to continue, thus generating a memory shortage status. (6) In a case where printing by departments is specified and also where the system accumulates printing data for all pages, a shortage of vacant area occurs in which the data such as bitmap data for all pages is to be accumulated, thus generating a memory shortage status.
If it is judged that no memory shortage status exists in step S103 (S103: No), the imaging process and the printing process continue to make a judgment as to whether the printing is completed or not (S105). When the printing is completed (S105: Yes), the process shown in
On the other hand, if it is judged that memory shortage status has occurred in step S103 (S103: Yes), a memory shortage solving process is conducted (S104). At this time, the imaging process unit 302 notifies to the memory shortage control unit 304 that a memory shortage status has occurred when it is judged that the memory shortage status has occurred. Next, the memory shortage solving process is described with reference to
First, the imaging process and the printing process are stopped temporarily (S201).
Next, a judgment is made as to whether the usable external memory 250 is connected to the printer 100 or not (S202).
If the external memory 250 is not connected to the printer 100 (S202: No), the information that notifies the occurrence of a memory shortage status is displayed on the display panel 205 of the operating panel 104 (S203). At this point, the memory shortage control unit 304 notifies the memory shortage status to the device status control unit 305, and the device status control unit 305 issues an instruction to display information on the display panel 205 to notify the occurrence of the memory shortage status.
On the other hand, if it is judged that the external memory 250 is connected to the printer 100 in step S202 or S204 (S202: Yes, S204: Yes), information notifying that the external memory 250 is in use is displayed on the display panel 205 as shown in
If the external memory 250 is inserted into the connector 203 of the external memory interface 107 of the printer 100, the USB host control unit 307 detects said connection and registers the external memory 250, which is a memory device of the Mass Storage Class of the USB standard, as a file device on the file system via the operating system 306. By registering the external memory 250 as a file device, the operating system 306 becomes able to read and write the memory area in the external memory 250 as a file. The USB host control unit 307 notifies the external memory control unit 303 that the external memory 250 has become usable when the external memory 250 has become readable and writable.
Next, the external memory 250 is set up as a usable area in place of the internal memory area causing shortage (S207). At this point, the memory shortage control unit 304 requests the external memory control unit 303 to provide a usable virtual memory area in place of the decreased internal memory area. The external memory control unit 303 registers the vacant space of the external memory as a virtual memory area via the operating system 306. The virtual memory area is used in the same manner as the internal memory or for saving the internal memory's data.
Next, the imaging process and the printing process which have been temporarily stopped are restarted and continued (S208). The imaging process unit 302 can continue printing by avoiding the occurrence of the internal memory shortage using the virtual memory area.
In the step S209, a judgment is made as to whether the usage of the external memory 250 has been terminated or not. At this point, it is judged that the usage of the external memory 250 is terminated when the data inside the virtual memory area became unnecessary in the printing process or because of the printing output is completed, etc.
If it is judged that the usage of the external memory 250 is terminated (S209: Yes), the area of the external memory 250 is liberated. In other words, the unused state of the virtual memory is notified to the external memory control unit 303, and the external memory control unit 303 deletes the virtual memory area in the unused state.
Next, the information displayed on the display panel 205 notifying that the external memory 250 is in use is removed (S211).
At this time, the external memory control unit 303 notifies the unused status of the external memory 250 to the memory shortage control unit 304, and the memory shortage control unit 304 issues a notice that the unused memory 250 can be removed to the device status control unit 305. The device status control unit 305 issues an instruction to display on the display panel 205 information notifying that the external memory 250 can be removed.
When the external memory 250 is removed while the virtual memory area is in use, or when the external memory 250 is short of vacant areas, the error status related to the external memory will be notified to the device status control unit 305. The device status control unit 305 issues an instruction to display on the display panel 205 information notifying that an error status concerning the external memory exists.
The printer 100 of the present embodiment receives printing data and sets the area of the external memory 250 as the area that is usable for processing the received printing data when it is judged that memory shortage status is occurred concerning a shortage of vacant areas in the internal memory built into the printer 100 and when it is detected that the external memory 250 is connected to the external memory interface 107 that can be connected to or disconnected from the particular printer while the printer 100 is powered.
Therefore, if the internal memory's memory shortage status occurs, it becomes possible to continue the printing process using the external memory 250 for processing the printing data while the printer 100 is being energized (powered). Further, since it is unnecessary to increase the memory capacity or have the hard disk connected all the time, it is possible to avert the memory shortage problem with a relatively inexpensive constitution. Moreover, since it does not use an external device that is connected in advance to a printer 100 via a network, it is not necessary to make a complex control concerning the data transfer.
As can be seen from the above, the present embodiment provides a simple and quick solution for the memory shortage problem of the printer 100 and allows the printer to continue printing processes.
The invention is not limited to the embodiment described above, but also can be changed in various ways within the scope of the claims.
For example, although it was described in the abovementioned embodiment using a USB memory as the external memory 250, the invention is not limited to it. The external memory 250 means a storage medium with portability, which includes typically, in addition to USB memories, Compact Flash (registered trademark) memory, SD card memory, etc. The external memory 250 can also be any portable terminal device such as an information portable terminal and a cellular phone being equipped with a built-in or externally attached storage medium. The connection unit for allowing connecting or disconnecting the external memory 250 can be any interface that corresponds to said external memory.
Also, although the embodiments described above uses a printer as the image forming device, the invention is not limited to it. Various other image forming devices such as a copying machine and MFP (Multi-Function Peripheral) can be used as well in the present invention.
The means and method of conducting various processes in the image forming device according to the present invention can be realized by means of a dedicated hardware circuit, or a programmed computer. Said program can be provided either by a computer readable storage medium such as a flexible disk and a CD-ROM, or by being supplied on-line via a network such as the Internet. In this case, the program recorded on the computer readable storage medium is normally transferred to and stored in a memory unit such as a hard disk. Said program can also be provided as independent application software or can be built into the software of the image processing device as a part of its function.
Number | Date | Country | Kind |
---|---|---|---|
2006-128152 | May 2006 | JP | national |