[go: up one dir, main page]

JP6299617B2 - 画像形成装置、画像形成装置の制御プログラム、コントローラー、およびコントローラーの制御プログラム - Google Patents

画像形成装置、画像形成装置の制御プログラム、コントローラー、およびコントローラーの制御プログラム Download PDF

Info

Publication number
JP6299617B2
JP6299617B2 JP2015013434A JP2015013434A JP6299617B2 JP 6299617 B2 JP6299617 B2 JP 6299617B2 JP 2015013434 A JP2015013434 A JP 2015013434A JP 2015013434 A JP2015013434 A JP 2015013434A JP 6299617 B2 JP6299617 B2 JP 6299617B2
Authority
JP
Japan
Prior art keywords
cpu
data
priority
fixed storage
rebuild process
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015013434A
Other languages
English (en)
Other versions
JP2016139251A (ja
Inventor
竹寿 中尾
竹寿 中尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2015013434A priority Critical patent/JP6299617B2/ja
Priority to US15/005,299 priority patent/US9519552B2/en
Publication of JP2016139251A publication Critical patent/JP2016139251A/ja
Application granted granted Critical
Publication of JP6299617B2 publication Critical patent/JP6299617B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32561Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using a programmed control device, e.g. a microprocessor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32609Fault detection or counter-measures, e.g. original mis-positioned, shortage of paper
    • H04N1/32646Counter-measures
    • H04N1/32673Adjusting or controlling an operating mode, e.g. from paper reception to memory reception
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Facsimiles In General (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、画像形成装置、画像形成装置の制御プログラム、コントローラー、およびコントローラーの制御プログラムに関する。より特定的には、本発明は、リビルド処理を行う画像形成装置、画像形成装置の制御プログラム、コントローラー、およびコントローラーの制御プログラムに関する。
動画データおよび画像データの高精細化や、ネットワークの普及などに伴い、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの固定記憶装置の大容量化が求められている。固定記憶装置を備えた画像形成装置では、データを高速に読み書きできるようにすること(パフォーマンス性能の向上)と、データを安全に保存すること(バックアップ機能の向上)とが求められる。
画像形成装置が1台の固定記憶装置に全てのデータを記憶する場合には、固定記憶装置に障害が発生すると全てのデータが失われる。特に、HDDは可動部分を有しているために障害が発生しやすい。
そこで、画像形成装置のパフォーマンス性能やバックアップ機能を向上しうる技術に、複数の固定記憶装置を利用したRAID(Redundant Arrays of Inexpensive Disks)がある。このRAIDには、RAID0、RAID1などの複数の書込方式が存在する。
RAID0は、ストライピングと呼ばれる技術である。RAID0におけるデータの書き込み時には、データがブロック単位で複数の分割データに分割され、複数の分割データの各々が、対応する固定記憶装置に書き込まれる。RAID0におけるデータの読み出し時には、複数の固定記憶装置の各々から分割データが並行して読み出される。これにより、固定記憶装置への書込速度を向上することができ、画像形成装置のパフォーマンス性能を向上することができる。
RAID1は、ミラーリングと呼ばれる技術である。RAID1におけるデータの書き込み時には、データが複製され、複数の同一のデータの各々が複数の固定記憶装置の各々に書き込まれる。RAID1におけるデータの読み出し時には、複数の固定記憶装置のうち正常な1つの固定記憶装置のみからデータが読み出される。これにより、複数の固定記憶装置のいずれかに障害が発生した場合にも、正常な固定記憶装置からデータを読み出すことができ、画像形成装置のバックアップ機能を向上することができる。
ミラーリングを行う複数の固定記憶装置のうち1つの固定記憶装置が故障した場合、画像形成装置はリビルド処理を行う。リビルド処理とは、正常に動作している固定記憶装置に記憶されていたデータを、故障から復旧した(または取り替えられた新品の)固定記憶装置に複製する処理である。
画像形成装置において、リビルド処理を行う主体と、固定記憶装置へアクセスする主体(固定記憶装置へのデータの書き込み、または固定記憶装置からのデータの読み出しを行う主体)とは、互いに異なっている。すなわち、リビルド処理やRAIDに関する処理は、一般的にRAIDコントローラーが行う。一方、固定記憶装置へのアクセスは、画像形成装置全体の動作を制御するCPU(Central Processing Unit)が行う。リビルド処理は、RAIDコントローラーの判断で実行される。
なお、下記特許文献1および2には、リビルド処理に関する技術が開示されている。下記特許文献1には、HDDのリビルド処理を行う場合に、ホストからのアクセス要求が一定時間無い場合には、リビルド処理の1回の処理サイズを、リビルド処理の通常の1回の処理サイズよりも大きくすることが開示されている。これにより、リビルド処理に要する時間を短縮することができる。
下記特許文献2には、リビルド処理にリソースを割り当て、リビルド処理中に所定の処理が要求された場合、要求された処理を実行するだけの残リソースがあるか否かに応じて、要求された処理に残リソースを割り当てる技術が開示されている。
特開2007−94994号公報 特開2013−58103号公報
CPUは、リビルド処理中であるか否かに関わらずに固定記憶装置にアクセスする。その結果、従来においては、CPUがリビルド処理中に固定記憶装置にアクセスした場合には、リビルド処理の複製元である固定記憶装置からのRAIDコントローラーによるデータの読み出しと、リビルド処理の複製元である固定記憶装置へのCPUによるアクセスとが競合することがあった。また、リビルド処理の複製先である固定記憶装置へのRAIDコントローラーによるデータの書き込みと、リビルド処理の複製先である固定記憶装置へのCPUによるアクセスとが競合することがあった。その結果、CPUによる固定記憶装置へのアクセス速度が低下し、処理の遅延が発生していた。
特に画像形成装置が、MFP(Multifunction Peripheral)である場合、MFPのCPUは、コピージョブ、プリントジョブ、またはスキャンジョブなどを実行する際に、処理対象である画像データを固定記憶装置に書き込んだり、固定記憶装置から読み出したりする。MFPの画像処理回路の動作速度と比較して、固定記憶装置への転送速度は遅いので、固定記憶装置へのアクセス速度の低下は、MFP自体の性能の低下につながる。具体的には、リビルド処理中のCPUによるHDDへのアクセス速度は、リビルド処理中でない場合のCPUによるHDDへのアクセス速度の約40%程度まで低下する。
本発明は、上記課題を解決するためのものであり、その目的は、高性能な画像形成装置、画像形成装置の制御プログラム、コントローラー、およびコントローラーの制御プログラムを提供することである。
本発明の一の局面に従う画像形成装置は、第1および第2の固定記憶装置と、故障した第2の固定記憶装置が復旧した場合に、第1の固定記憶装置に記憶されていたデータを、第2の固定記憶装置に複製するリビルド処理を行うコントローラーと、第1および第2の固定記憶装置の各々にアクセスするCPUと、CPUから第1および第2の固定記憶装置のうち少なくとも一方の固定記憶装置にアクセスする必要が生じた場合に、リビルド処理中であるか否かを判別する判別手段と、判別手段がリビルド処理中であると判別した場合に、CPUによるアクセスの対象となるデータの優先度と、リビルド処理中であるデータの優先度とを取得する優先度取得手段と、CPUによるアクセスの対象となるデータの優先度が、リビルド処理中であるデータの優先度よりも高いか否かを判別する優先度判別手段と、優先度判別手段が、CPUによるアクセスの対象となるデータの優先度が、リビルド処理中のデータの優先度よりも高いと判別した場合、リビルド処理を停止する停止手段と、CPUから少なくとも一方の固定記憶装置へのアクセスが終了した場合に、リビルド処理を再開する再開手段とを備える。
上記画像形成装置において好ましくは、判別手段は、CPUから少なくとも一方の固定記憶装置にアクセスする必要が生じた場合に、CPUからの要求に従って、コントローラーからCPUへリビルド処理中であるか否かを示す情報を送信する情報送信手段と、情報送信手段から受信した情報に基づいて、リビルド処理中であるか否かを、CPUを用いて判別するCPU側判別手段とを含み、優先度取得手段は、リビルド処理中であると判別手段にて判別した場合に、CPUを用いてリビルド処理中であるデータを読み出すCPU読出手段と、CPU読出手段にて読み出したデータの優先度を、CPUを用いて特定する優先度特定手段とを含み、優先度判別手段は、優先度特定手段にて特定した優先度に基づいて、CPUによるアクセスの対象となるデータの優先度が、リビルド処理中のデータの優先度よりも高いか否かを、CPUを用いて判別するCPU側優先度判別手段を含み、停止手段は、CPUからコントローラーへリビルド処理の停止を要求する停止要求手段を含み、再開手段は、CPUからコントローラーへリビルド処理の再開を要求する再開要求手段を含む。
上記画像形成装置において好ましくは、判別手段は、CPUから少なくとも一方の固定記憶装置にアクセスする必要が生じた場合に、リビルド処理中であるか否かを、コントローラーを用いて判別するコントローラー側判別手段を含み、優先度取得手段は、リビルド処理中であると判別手段にて判別した場合に、CPUによるアクセスの対象となるデータの優先度を指標する情報を、CPUからコントローラーに送信するCPU側優先度送信手段を含み、優先度判別手段は、CPU側優先度送信手段から受信した情報に基づいて、CPUによるアクセスの対象となるデータの優先度が、リビルド処理中のデータの優先度よりも高いか否かを、コントローラーを用いて判別するコントローラー側優先度判別手段を含む。
上記画像形成装置において好ましくは、リビルド処理を開始する場合に、リビルド処理の開始をコントローラーからCPUに通知する開始通知手段と、リビルド処理を終了する場合に、リビルド処理の終了をコントローラーからCPUに通知する終了通知手段とをさらに備え、判別手段は、開始通知手段および終了通知手段の各々の通知に基づいて、リビルド処理中であるか否かを、CPUを用いて判別する通知判別手段を含む。
本発明の他の局面に従う画像形成装置は、第1および第2の固定記憶装置と、故障した第2の固定記憶装置が復旧した場合に、第1の固定記憶装置に記憶されていたデータを、第2の固定記憶装置に複製するリビルド処理を行うコントローラーと、第1および第2の固定記憶装置の各々にアクセスするCPU(Central Processing Unit)と、第1および第2の固定記憶装置のうち少なくとも一方の固定記憶装置に対してデータを書き込むジョブである書込ジョブの実行指示を受け付ける書込ジョブ受付手段と、書込ジョブの実行指示を受け付けた場合に、CPUを用いて、書込ジョブの対象となる書込データを、書込データを一時的に保存するためのメモリに書き込むメモリ書込手段と、メモリ書込手段にて書込データをメモリに書き込む場合に、メモリの空き容量が第1の閾値未満であるか否かを判別する第1の残量判別手段と、第1の残量判別手段が、メモリの空き容量が第1の閾値未満であると判別することにより、CPUから少なくとも一方の固定記憶装置にアクセスする必要が生じた場合に、リビルド処理を停止する停止手段と、CPUから少なくとも一方の固定記憶装置へのアクセスが終了した場合に、リビルド処理を再開する再開手段とを備える。
本発明のさらに他の局面に従う画像形成装置は、第1および第2の固定記憶装置と、故障した第2の固定記憶装置が復旧した場合に、第1の固定記憶装置に記憶されていたデータを、第2の固定記憶装置に複製するリビルド処理を行うコントローラーと、第1および第2の固定記憶装置の各々にアクセスするCPU(Central Processing Unit)と、第1および第2の固定記憶装置のうち少なくとも一方の固定記憶装置からデータを読み出すジョブである読出ジョブの実行指示を受け付ける読出ジョブ受付手段と、読出ジョブの実行指示の受け付けにより、CPUから第1および第2の固定記憶装置のうち少なくとも一方の固定記憶装置にアクセスする必要が生じた場合に、リビルド処理を停止する停止手段と、読出ジョブの実行指示を受け付けた場合であって、停止手段にてリビルド処理を停止した後に、CPUを用いて、読出ジョブの対象となる読出データを第1または第2の固定記憶装置から読出データを一時的に保存するためのメモリに読み出す読出手段と、読出手段にて読出データをメモリに読み出す場合に、メモリの空き容量が第2の閾値未満であるか否かを判別する第2の残量判別手段と、第2の残量判別手段が、メモリの空き容量が第2の閾値未満であると判別することにより、CPUから少なくとも一方の固定記憶装置へのアクセスが終了した場合に、リビルド処理を再開する再開手段とを備える
上記画像形成装置において好ましくは、再開手段にてリビルド処理を再開した後で、未出力の読出データが存在する場合に、メモリの空き容量が第3の閾値以上であるか否かを判別する第3の残量判別手段と、メモリの空き容量が第3の閾値以上であると第3の残量判別手段にて判別した場合に、リビルド処理を再度停止する再度停止手段とをさらに備える。
上記画像形成装置において好ましくは、リビルド処理は、第1の固定記憶装置に記憶されていたデータを複数の分割データに分割し、複数の分割データの各々を第2の固定記憶装置に順次複製する処理であり、停止手段は、CPUから第1および第2の固定記憶装置のうち少なくとも一方の固定記憶装置にアクセスする必要が生じた場合に、複数の分割データのうちリビルド処理中の分割データのリビルド処理が完了してから、次の分割データのリビルド処理を開始するまでのウェイト時間を増加するウェイト時間増加手段を含む。
上記画像形成装置において好ましくは、コントローラーは、第1および第2の固定記憶装置のうち一方の固定記憶装置のデータを他方の固定記憶装置にコピーするミラーリング処理を実行可能である。
本発明のさらに他の局面に従う画像形成装置の制御プログラムは、第1および第2の固定記憶装置と、故障した第2の固定記憶装置が復旧した場合に、第1の固定記憶装置に記憶されていたデータを、第2の固定記憶装置に複製するリビルド処理を行うコントローラーと、第1および第2の固定記憶装置の各々にアクセスするCPUとを備えた、画像形成装置の制御プログラムであって、CPUから第1および第2の固定記憶装置のうち少なくとも一方の固定記憶装置にアクセスする必要が生じた場合に、リビルド処理中であるか否かを判別する判別ステップと、リビルド処理中であると判別ステップにて判別した場合に、CPUによるアクセスの対象となるデータの優先度と、リビルド処理中であるデータの優先度とを取得する優先度取得ステップと、CPUによるアクセスの対象となるデータの優先度が、リビルド処理中のデータの優先度よりも高いか否かを判別する優先度判別ステップと、CPUによるアクセスの対象となるデータの優先度が、リビルド処理中のデータの優先度よりも高いと優先度判別ステップにて判別した場合に、リビルド処理を停止する停止ステップと、CPUから少なくとも一方の固定記憶装置へのアクセスが終了した場合に、リビルド処理を再開する再開ステップとをコンピューターに実行させるためのものである。
記画像形成装置の制御プログラムにおいて好ましくは、判別ステップは、CPUから少なくとも一方の固定記憶装置にアクセスする必要が生じた場合に、CPUからの要求に従って、コントローラーからCPUへリビルド処理中であるか否かを示す情報を送信する情報送信ステップと、情報送信ステップにおいて受信した情報に基づいて、リビルド処理中であるか否かを、CPUを用いて判別するCPU側判別ステップとを含み、優先度取得ステップは、リビルド処理中であると判別ステップにて判別した場合に、CPUを用いてリビルド処理中であるデータを読み出すCPU読出ステップと、CPU読出ステップにて読み出したデータの優先度を、CPUを用いて特定する優先度特定ステップとを含み、優先度判別ステップは、優先度特定ステップにて特定した優先度に基づいて、CPUによるアクセスの対象となるデータの優先度が、リビルド処理中のデータの優先度よりも高いか否かを、CPUを用いて判別するCPU側優先度判別ステップを含み、停止ステップは、CPUからコントローラーへリビルド処理の停止を要求する停止要求ステップを含み、再開ステップは、CPUからコントローラーへリビルド処理の再開を要求する再開要求ステップを含む。
上記画像形成装置の制御プログラムにおいて好ましくは、判別ステップは、CPUから少なくとも一方の固定記憶装置にアクセスする必要が生じた場合に、リビルド処理中であるか否かを、コントローラーを用いて判別するコントローラー側判別ステップを含み、優先度取得ステップは、リビルド処理中であると判別ステップにて判別した場合に、CPUによるアクセスの対象となるデータの優先度を指標する情報を、CPUからコントローラーに送信するCPU側優先度送信ステップを含み、優先度判別ステップは、CPU側優先度送信ステップにて受信した情報に基づいて、CPUによるアクセスの対象となるデータの優先度が、リビルド処理中のデータの優先度よりも高いか否かを、コントローラーを用いて判別するコントローラー側優先度判別ステップを含む。
本発明のさらに他の局面に従う画像形成装置の制御プログラムは、第1および第2の固定記憶装置と、故障した第2の固定記憶装置が復旧した場合に、第1の固定記憶装置に記憶されていたデータを、第2の固定記憶装置に複製するリビルド処理を行うコントローラーと、第1および第2の固定記憶装置の各々にアクセスするCPU(Central Processing Unit)とを備えた、画像形成装置の制御プログラムであって、第1および第2の固定記憶装置のうち少なくとも一方の固定記憶装置に対してデータを書き込むジョブである書込ジョブの実行指示を受け付ける書込ジョブ受付ステップと、書込ジョブの実行指示を受け付けた場合に、CPUを用いて、書込ジョブの対象となる書込データを、書込データを一時的に保存するためのメモリに書き込むメモリ書込ステップと、メモリ書込ステップにて書込データをメモリに書き込む場合に、メモリの空き容量が第1の閾値未満であるか否かを判別する第1の残量判別ステップとメモリの空き容量が第1の閾値未満であると第1の残量判別ステップにて判別することにより、CPUから第1および第2の固定記憶装置のうち少なくとも一方の固定記憶装置にアクセスする必要が生じた場合に、リビルド処理を停止する停止ステップと、CPUから少なくとも一方の固定記憶装置へのアクセスが終了した場合に、リビルド処理を再開する再開ステップとをコンピューターに実行させるためのものである。
本発明のさらに他の局面に従う画像形成装置の制御プログラムは、第1および第2の固定記憶装置と、故障した第2の固定記憶装置が復旧した場合に、第1の固定記憶装置に記憶されていたデータを、第2の固定記憶装置に複製するリビルド処理を行うコントローラーと、第1および第2の固定記憶装置の各々にアクセスするCPU(Central Processing Unit)とを備えた、画像形成装置の制御プログラムであって、第1および第2の固定記憶装置のうち少なくとも一方の固定記憶装置からデータを読み出すジョブである読出ジョブの実行指示を受け付ける読出ジョブ受付ステップと、読出ジョブの実行指示を受け付けることにより、CPUから第1および第2の固定記憶装置のうち少なくとも一方の固定記憶装置にアクセスする必要が生じた場合に、リビルド処理を停止する停止ステップと、読出ジョブの実行指示を受け付けた場合であって、停止ステップにてリビルド処理を停止した後に、CPUを用いて、読出ジョブの対象となる読出データを第1または第2の固定記憶装置から読出データを一時的に保存するためのメモリに読み出す読出ステップと、読出ステップにて読出データをメモリに読み出す場合に、メモリの空き容量が第2の閾値未満であるか否かを判別する第2の残量判別ステップとメモリの空き容量が第2の閾値未満であると第2の残量判別ステップにて判別することにより、CPUから少なくとも一方の固定記憶装置へのアクセスが終了した場合に、リビルド処理を再開する再開ステップとをコンピューターに実行させるためのものである。
上記画像形成装置の制御プログラムにおいて好ましくは、再開ステップにてリビルド処理を再開した後で、未出力の読出データが存在する場合に、メモリの空き容量が第3の閾値以上であるか否かを判別する第3の残量判別ステップと、メモリの空き容量が第3の閾値以上であると第3の残量判別ステップにて判別した場合に、リビルド処理を再度停止する再度停止ステップとをさらにコンピューターに実行させるためのものである
本発明のさらに他の局面に従うコントローラーは、第1および第2の固定記憶装置の各々にアクセスするCPUとの間で通信を行うコントローラーであって、故障した第2の固定記憶装置が復旧した場合に、第1の固定記憶装置に記憶されていたデータを、第2の固定記憶装置に複製するリビルド処理を行うリビルド処理手段と、CPUから第1および第2の固定記憶装置のうち少なくとも一方の固定記憶装置にアクセスする必要が生じた場合に、リビルド処理中であるか否かを判別する判別手段と、判別手段がリビルド処理中であると判別した場合に、CPUによるアクセスの対象となるデータの優先度と、リビルド処理中であるデータの優先度とを取得する優先度取得手段と、CPUによるアクセスの対象となるデータの優先度が、リビルド処理中のデータの優先度よりも高いか否かを判別する優先度判別手段と、優先度判別手段が、CPUによるアクセスの対象となるデータの優先度が、リビルド処理中のデータの優先度よりも高いと判別した場合、リビルド処理を停止する停止手段と、CPUから少なくとも一方の固定記憶装置へのアクセスが終了した場合に、リビルド処理を再開する再開手段とを備える
本発明のさらに他の局面に従うコントローラーの制御プログラムは、第1および第2の固定記憶装置の各々にアクセスするCPUとの間で通信を行うコントローラーの制御プログラムであって、故障した第2の固定記憶装置が復旧した場合に、第1の固定記憶装置に記憶されていたデータを、第2の固定記憶装置に複製するリビルド処理を行うリビルド処理ステップと、CPUから第1および第2の固定記憶装置のうち少なくとも一方の固定記憶装置にアクセスする必要が生じた場合に、リビルド処理中であるか否かを判別する判別ステップと、リビルド処理中であると判別ステップにて判別した場合に、CPUによるアクセスの対象となるデータの優先度と、リビルド処理中であるデータの優先度とを取得する優先度取得ステップと、CPUによるアクセスの対象となるデータの優先度が、リビルド処理中のデータの優先度よりも高いか否かを判別する優先度判別ステップと、CPUによるアクセスの対象となるデータの優先度が、リビルド処理中のデータの優先度よりも高いと優先度判別ステップにて判別した場合、リビルド処理を停止する停止ステップと、CPUから少なくとも一方の固定記憶装置へのアクセスが終了した場合に、リビルド処理を再開する再開ステップとをコンピューターに実行させるためのものである。
本発明によれば、高性能な画像形成装置、画像形成装置の制御プログラム、コントローラー、およびコントローラーの制御プログラムを提供することができる。
本発明の第1の実施の形態における画像形成装置の概略的な構成を示す断面図である。 本発明の第1の実施の形態における画像形成装置の構成を示すブロック図である。 本発明の第1の実施の形態においてRAIDコントローラー150が実行するリビルド処理を説明する図である。 本発明の第1の実施の形態における画像形成装置の動作を説明する図である。 本発明の第1の実施の形態における画像形成装置の動作を示すフローチャートである。 本発明の第2の実施の形態における優先度テーブルを模式的に示す図である。 本発明の第2の実施の形態における画像形成装置の動作を示すフローチャートである。 本発明の第3の実施の形態における画像形成装置の動作を説明する図である。 本発明の第3の実施の形態における画像形成装置の動作を示すフローチャートである。 本発明の第4の実施の形態において、画像形成装置が書込ジョブを実行する場合の画像形成装置の動作を説明する図である。 本発明の第4の実施の形態において、画像形成装置が読出ジョブを実行する場合の画像形成装置の動作を説明する図である。 本発明の第4の実施の形態における画像形成装置の動作を示すフローチャートである。 図12の書込処理(S5)のサブルーチンの第1の部分である。 図12の書込処理(S5)のサブルーチンの第2の部分である。 図12の読出処理(S7)のサブルーチンの第1の部分である。 図12の読出処理(S7)のサブルーチンの第2の部分である。 本発明の第5の実施の形態におけるRAIDコントローラー150の動作を示すフローチャートである。 本発明の第5の実施の形態におけるCPU110の動作を示すフローチャートである。 本発明の第6の実施の形態におけるCPU110の動作を示すフローチャートである。 本発明の第7の実施の形態における画像形成装置の動作を示すタイミングチャートである。
以下、本発明の実施の形態について、図面に基づいて説明する。
以下の実施の形態では、画像形成装置が、スキャナー機能、複写機能、プリンターとしての機能、ファクシミリ機能、データ通信機能、およびサーバー機能を備えるMFPである場合について説明する。画像形成装置は、MFPである場合の他、ファクシミリ装置、プリンター、または複写機などであってもよい。
本明細書において、固定記憶装置へのアクセスとは、固定記憶装置へのデータの書き込み、および固定記憶装置からのデータの読み出しのうち少なくともいずれか一方の動作を意味している。
また本明細書において、リビルド処理の再開には、リビルド処理を停止する前に、復旧した固定記憶装置(複製先の固定記憶装置)に既に複製したデータの一部または全部を上書きするように、データの複製を再開する場合が含まれている。
[第1の実施の形態]
始めに、本実施の形態における画像形成装置の構成について説明する。
図1は、本発明の第1の実施の形態における画像形成装置の概略的な構成を示す断面図である。図2は、本発明の第1の実施の形態における画像形成装置の構成を示すブロック図である。
図1および図2を参照して、本実施の形態における画像形成装置は、CPU110と、メモリ120と、画像処理装置130と、印刷装置140と、RAIDコントローラー150(コントローラーの一例)と、第1のHDD151(第1の固定記憶装置の一例)と、第2のHDD152(第2の固定記憶装置の一例)と、表示装置160と、スキャナー装置170と、ファクシミリ送受信部180とを備えている。CPU110と、メモリ120、画像処理装置130、印刷装置140、RAIDコントローラー150、第1のHDD151、第2のHDD152、表示装置160、スキャナー装置170、およびファクシミリ送受信部180の各々とは、相互に接続されており、通信が可能となっている。
CPU110は、画像形成装置全体の動作を制御する。CPU110は、制御プログラムに基づいて処理を行う。またCPU110は、所要のタイミングで第1のHDD151および第2のHDD152の各々にアクセスする。
メモリ120は、ROM(Read Only Memory)121と、RAM(Random Access Memory)122とを含んでいる。ROM121は、CPU110が実行する制御プログラムや各種テーブルなどを記憶する。RAM122はCPU110の作業用のメモリであり、各種ジョブに関するデータを一時的に保存する。
画像処理装置130は、画像データを編集する画像編集部131と、画像データを記憶する画像記憶部132とを含んでいる。
印刷装置140は、印刷を行う印刷部141と、印刷後の用紙に対してステープルを行うステープル部142とを含んでいる。印刷部141は、おおまかに、トナー像形成部、定着装置、および用紙搬送部などで構成される。印刷部141は、たとえば電子写真方式で用紙に画像を形成する。トナー像形成部は、いわゆるタンデム方式で4色の画像を合成し、用紙(記録媒体)にカラー画像を形成する。トナー像形成部は、C(シアン)、M(マゼンタ)、Y(イエロー)、K(ブラック)の各色について設けられた感光体と、感光体からトナー像が転写(1次転写)される中間転写ベルトと、中間転写ベルトから用紙に画像を転写(2次転写)する転写部などで構成される。定着装置は、加熱ローラーおよび加圧ローラーを有する。定着装置は、加熱ローラーと加圧ローラーとでトナー像が形成された用紙を挟みながら搬送し、その用紙に加熱および加圧を行なう。これにより、定着装置は、用紙に付着したトナーを溶融させて用紙に定着させ、用紙に画像を形成する。用紙搬送部は、給紙ローラー、搬送ローラー、およびそれらを駆動するモーターなどで構成されている。用紙搬送部は、用紙を給紙カセットから給紙して、画像形成装置の筐体の内部で搬送する。また、用紙搬送部は、画像が形成された用紙を画像形成装置の筐体から排紙トレイなどに排出する。
RAIDコントローラー150は、第1のHDD151および第2のHDD152を用いて、所要のタイミングでミラーリング処理またはリビルド処理を実行可能である。ミラーリング処理とは、第1のHDD151および第2のHDD152のうち一方のデータを他方にコピーする処理である。RAIDコントローラー150は、RAIDコントローラー150が実行する処理を制御するCPU150aと、CPU150aが実行する制御プログラムを記憶するROM150bと、CPU150aの作業用のメモリであるRAM150cなどを含んでいる。
第1のHDD151および第2のHDD152の各々は、各種データを保存する。第1のHDD151および第2のHDD152の各々は、互いに独立して動作する。CPU110は、RAIDコントローラー150を介して第1のHDD151および第2のHDD152の各々にアクセスする。第1のHDD151および第2のHDD152の各々は、画像形成装置に対して外付けされるものであってもよい。
表示装置160は、各種情報を表示する表示パネル161と、表示パネルへの入力操作を検出する検出部162とを含んでいる。
スキャナー装置170は、原稿の画像を読み取り、その画像データを作成する。スキャナー装置170は、原稿の画像を読み取る読取部171を含んでいる。
ファクシミリ送受信部180は、ファクシミリを用いたデータの送受信を行う。
次に、本実施の形態においてRAIDコントローラー150が実行するリビルド処理について説明する。
図3は、本発明の第1の実施の形態においてRAIDコントローラー150が実行するリビルド処理を説明する図である。なお、以降の説明では、第1のHDD151がマスター(データの複製元)であり、第2のHDD152がスレーブ(データの複製先)であるものとする。
図3を参照して、RAIDコントローラー150は、所要のタイミングで、第1のHDD151および第2のHDD152を用いてミラーイング処理を行う。その結果、第1のHDD151および第2のHDD152の各々には、同一のデータDTが保存されている。
ここで、第2のHDD152が故障した場合には、画像形成装置の管理者やサービスマンなどによって、故障した第2のHDD152が修理されたり、新品のものに交換されたりする。これにより、第2のHDD152が復旧する。第2のHDD152が復旧した場合、RAIDコントローラー150はリビルド処理を行う。具体的には、RAIDコントローラー150は、矢印PR1で示すように、正常に動作している第1のHDD151に保存されているデータDTを、復旧した第2のHDD152に複製する。
一方、CPU110は、矢印PR2で示すように、リビルド処理中であるか否かに関わらずに、所要のタイミングで、第1のHDD151および第2のHDD152の各々にアクセスする。
続いて、本実施の形態における画像形成装置の動作について説明する。
図4は、本発明の第1の実施の形態における画像形成装置の動作を説明する図である。
図4を参照して、RAIDコントローラー150は、矢印PR10で示すように、第1のHDD151から第2のHDD152にデータを複製するリビルド処理を行っている。リビルド処理中に、CPU110が第1のHDD151または第2のHDD152のうち少なくともいずれか一方にアクセスする必要が生じた場合、CPU110は、矢印PR11で示すように、RAIDコントローラー150に対して、リビルド処理中であるか否かを示す情報(以降、ステータスと記すことがある)の送信を要求する。RAIDコントローラー150は、矢印PR12で示すように、CPU110からの要求に従って、ステータスをCPU110に送信する。
CPU110は、RAIDコントローラー150から受信したステータスに基づいて、リビルド処理中であるか否かを判別する。CPU110は、リビルド処理中である場合に、RAIDコントローラー150に対して、リビルド処理の停止を要求する。RAIDコントローラー150は、矢印PR13で示すように、CPU110からの要求に従って、リビルド処理を停止する。
RAIDコントローラー150がリビルド処理を停止した後で、CPU110は、矢印PR14で示すように、必要なHDDへアクセスする(必要なHDDは、第1のHDD151および第2のHDD152のうち少なくとも一方のHDDであればよい。以降の説明では、必要なHDDが第1のHDD151である場合を想定している)。必要なHDDへのアクセスが終了すると、CPU110は、RAIDコントローラー150に対して、リビルド処理の再開を要求する。RAIDコントローラー150は、矢印PR15で示すように、CPU110からの要求に従って、リビルド処理を再開する。
図5は、本発明の第1の実施の形態における画像形成装置の動作を示すフローチャートである。
図5を参照して、CPU110は、第1のHDD151および第2のHDD152のうち少なくともいずれか一方にアクセスする必要が生じたか否かを判別する(S101)。第1のHDD151および第2のHDD152のうち少なくともいずれか一方にアクセスする必要が生じたと判別するまで、CPU110は、ステップS101の処理を繰り返す。
ステップS101において、第1のHDD151および第2のHDD152のうち少なくともいずれか一方にアクセスする必要が生じたと判別した場合(S101でYES)、CPU110は、RAIDコントローラー150のステータスを確認する(S103)。RAIDコントローラー150のCPU150aは、CPU110からの要求に従って、ステータスを送信する(S151)。S103の処理に続いて、CPU110は、ステータスに基づいて、リビルド処理中であるか否かを判別する(S105)。
ステップS105において、リビルド処理中であると判別した場合(S105でYES)、CPU110は、RAIDコントローラー150に対して、リビルド処理の停止を要求する(S107)。RAIDコントローラー150のCPU150aは、CPU110からの要求に従って、リビルド処理を停止する(S153)。S107の処理に続いて、CPU110は、必要なHDDにアクセスし(S109)、RAIDコントローラー150に対して、リビルド処理の再開を要求し(S111)、処理を終了する。RAIDコントローラー150のCPU150aは、CPU110からの要求に従って、リビルド処理を再開する(S155)。
ステップS105において、リビルド処理中でないと判別した場合(S105でNO)、CPU110は、必要なHDDにアクセスし(S113)、処理を終了する。
本実施の形態では、CPU110がHDDへのアクセスを行う場合に、CPU110はリビルド処理中であるか否かを判別する。CPU110は、リビルド処理中である場合、RAIDコントローラー150に対してリビルド処理の停止を要求する。CPU110は、リビルド処理が停止してから必要なHDDにアクセスする。CPU110は、必要なHDDへのアクセスが終了した後で、RAIDコントローラー150に対してリビルド処理の再開を要求する。これにより、リビルド処理中のCPU110のHDDへのアクセス速度の低下および画像形成装置のパフォーマンスの低下を防ぐことができ、高性能な画像形成装置を実現することができる。
[第2の実施の形態]
本実施の形態では、CPU110は、リビルド処理中に第1のHDD151および第2のHDD152のうち少なくとも一方のHDDにアクセスする必要が生じた場合に、優先度テーブルに基づいて優先度を比較する。具体的には、CPU110は、必要なHDDへのアクセスの対象となるデータの優先度と、リビルド処理中であるデータの優先度とを比較する。CPU110は、必要なHDDへのアクセスの対象となるデータの優先度が、リビルド処理中のデータの優先度よりも高い場合に、リビルド処理の停止を要求する。
図6は、本発明の第2の実施の形態における優先度テーブルを模式的に示す図である。図6においては、A→B→Cという順序で優先度が高くなっている。
図6を参照して、優先度テーブルは、CPU110によるHDDへのアクセスの対象となるデータの優先度と、リビルド処理の対象となるデータの優先度とを示すテーブルである。本実施の形態では、優先度テーブルはROM121に格納されている。
優先度テーブルでは、CPU110によるHDDへのアクセスの対象となるデータのうち、「コピー」(コピージョブのデータ)、「スキャン to BOX」(スキャンした画像データをHDDのBOX領域に保存するジョブの対象となる画像データ)、「FAX」(ファクシミリ送信または受信ジョブの対象となるデータ)の各々は、「A」という優先度を有している。これらのデータは、HDDに迅速に保存される必要があるため、優先度が最も高くなっている。また、「BOXプリント」(HDDのBOX領域に保存されているデータをプリントするジョブの対象となるデータ)、および「PCプリント」(PCログイン名から受信したデータをプリントするジョブの対象となるデータ)の各々は、「B」という優先度を有している。さらに、「ネットワークアクセス」(ネットワークを通じて外部機器から受信したデータ)は、「C」という優先度を有している。ネットワークを通じて外部機器から受信したデータは、HDDに迅速に保存される必要性が他のデータよりも低いものと推測されるためである。
優先度テーブルでは、リビルド処理の対象となるデータのうち、「アドレス帳」、「FAX受信データ」(ファクシミリ受信ジョブで受信したデータ)、および「プログラム」の各々は、「B」という優先度を有している。また、「BOXデータ」(HDDのBOX領域に保存されているデータ)は、「C」という優先度を有している。HDDのBOX領域に保存されているデータは、使用頻度や重要性が他のデータよりも低いものと推測されるためである。
CPU110は、必要なHDDへのアクセスの対象となるデータの優先度が、リビルド処理中のデータの優先度よりも高ければ、リビルド処理を停止させる。一方、CPU110は、必要なHDDへのアクセスの対象となるデータの優先度が、リビルド処理中のデータの優先度と同じか、それより低ければ、リビルド処理を停止させない。この場合CPU110は、リビルド処理と並行して必要なHDDへのアクセスを行う。
図7は、本発明の第2の実施の形態における画像形成装置の動作を示すフローチャートである。
図7を参照して、始めにCPU110は、図5のフローチャートにおけるステップS101〜S105の処理と同様の処理を行う。
ステップS105において、リビルド処理中であると判別した場合(S105でYES)、CPU110は、リビルド処理中のセクタのデータを読み出す(S201)。RAIDコントローラー150のCPU150aは、CPU110からの要求に従って、リビルド処理中のセクタのデータの読み出しを受け付ける(S152)。ステップS201の処理に続いて、CPU110は、必要なHDDへのアクセスの対象となるデータの種別と、リビルド処理中のセクタのデータの種別との各々を特定し、特定した種別に対応する優先度を優先度テーブルから特定する。そしてCPU110は、特定した優先度に基づいて、必要なHDDへのアクセスの対象となるデータの優先度が、リビルド処理中のデータの優先度よりも高いか否かを判別する(S203)。
ステップS203において、必要なHDDへのアクセスの対象となるデータの優先度が、リビルド処理中のデータの優先度よりも高いと判別した場合(S203でYES)、CPU110は、ステップS107以降の処理を行う。
ステップS203において、必要なHDDへのアクセスの対象となるデータの優先度が、リビルド処理中のデータの優先度と同じか、それよりも低いと判別した場合(S203でNO)、CPU110は、ステップS113以降の処理を行う。
なお、本実施の形態における画像形成装置の構成や、上述以外の動作は、第1の実施の形態の場合の構成および動作と同様であるため、その説明は繰り返さない。
本実施の形態によれば、第1の実施の形態と同様の効果を得ることができる。加えて、CPU110によるHDDへのアクセスの対象となるデータの優先度と、リビルド処理中のデータの優先度とに基づいて、リビルド処理を停止するか否かを決定するので、CPU110によるHDDへのアクセスと、リビルド処理との各々の速度の調和をとることができ、リビルド処理の不要な停止を回避することができる。
[第3の実施の形態]
第1および第2の実施の形態では、リビルド処理の停止および再開などを、CPU110が主体的に行う場合について説明した。本実施の形態では、リビルド処理の停止および再開などを、RAIDコントローラー150が主体的に行う場合について説明する。
図8は、本発明の第3の実施の形態における画像形成装置の動作を説明する図である。
図8を参照して、RAIDコントローラー150は、矢印PR20で示すように、第1のHDD151から第2のHDD152にデータを複製するリビルド処理を行っている。リビルド処理中に、CPU110が第1のHDD151または第2のHDD152のうち少なくともいずれか一方のHDDにアクセスする必要が生じた場合、CPU110は、矢印PR21で示すように、RAIDコントローラー150に対して、必要なHDDへのアクセスを要求する。またCPU110は、矢印PR22で示すように、必要なHDDへのアクセスの対象となるデータの種別(優先度を指標する情報の一例)をRAIDコントローラー150に通知する。
RAIDコントローラー150は、必要なHDDへのアクセスの要求をCPU110から受け付けた場合に、優先度テーブルを用いて、CPU110によるHDDへのアクセスの対象となるデータの優先度を特定する。RAIDコントローラー150は、特定した優先度と、リビルド処理中のデータの優先度とを比較する。なお、優先度テーブルは、RAIDコントローラー150のROM150b(図2)に保存されていることが好ましい。そしてRAIDコントローラー150は、CPU110によるHDDへのアクセスの対象となるデータの優先度の方が高い場合、矢印PR23で示すように、リビルド処理を停止する。
RAIDコントローラー150がリビルド処理を停止した後で、CPU110は、矢印PR24で示すように、必要なHDDへアクセスする。必要なHDDへのアクセスが終了すると、RAIDコントローラー150は、矢印PR25で示すように、リビルド処理を再開する。
図9は、本発明の第3の実施の形態における画像形成装置の動作を示すフローチャートである。
図9を参照して、CPU110は、第1のHDD151および第2のHDD152のうち少なくともいずれか一方にアクセスする必要が生じた場合に、RAIDコントローラー150のCPU150aに対して、必要なHDDへのアクセスを要求する(S301)。次にCPU110は、必要なHDDへのアクセスの対象となるデータの種別を特定し、CPU150aに対して特定した種別を通知する(S303)。
なお、ステップS303において、CPU110は、必要なHDDへのアクセスの対象となるデータの種別の代わりに優先度を、CPU150aに対して通知してもよい。データの優先度を通知する場合、図6に示す優先度テーブルは、ROM121(図2)にも保存されていることが好ましい。
CPU150aは、HDDへのアクセスの要求をCPU110から受け付けたか否かを判別する(S351)。HDDへのアクセスの要求をCPU110から受け付けたと判別するまで、CPU150aはステップS351の処理を繰り返す。
ステップS351において、HDDへのアクセスの要求をCPU110から受け付けたと判別した場合(S351でYES)、CPU150aは、リビルド処理を実行中であるか否かを判別する(S353)。
ステップS353において、リビルド処理を実行中であると判別した場合(S353でYES)、CPU150aは、CPU110によるHDDへのアクセスの対象となるデータの種別の通知をCPU110から受信したか否かを判別する(S355)。データの種別の通知をCPU110から受信したと判別するまで、CPU150aはステップS355の処理を繰り返す。
ステップS355において、データの種別の通知をCPU110から受信したと判別した場合(S355でYES)、CPU150aは、CPU110から受信したデータの種別の優先度を優先度テーブルから特定する。またCPU150aは、リビルド処理中のセクタのデータの種別を特定し、特定した種別に対応する優先度を優先度テーブルから特定する。そしてCPU150aは、CPU110によるHDDへのアクセスの対象となるデータの優先度が、リビルド処理中のデータの優先度よりも高いか否かを判別する(S357)。
ステップS357において、CPU110によるHDDへのアクセスの対象となるデータの優先度が、リビルド処理中のデータの優先度よりも高いと判別した場合(S357でYES)、CPU150aは、リビルド処理を停止し(S359)、CPU110による必要なHDDへのアクセスを受け入れる(S361)。CPU110は、必要なHDDへアクセスする(S305)。続いてCPU150aは、リビルド処理を再開し(S363)、処理を終了する。
ステップS353において、リビルド処理を実行中でないと判別した場合(S353でNO)、またはステップS357において、CPU110によるHDDへのアクセスの対象となるデータの優先度が、リビルド処理中のデータの優先度と同じか、それよりも低いと判別した場合(S357でNO)、CPU150aは、CPU110によるHDDへのアクセスを受け入れる(S365)。CPU110は、必要なHDDへアクセスする(S305)。その後CPU150aは処理を終了する。
なお、本実施の形態における画像形成装置の構成や、上述以外の動作は、第1および第2の実施の形態の場合の構成および動作と同様であるため、その説明は繰り返さない。
[第4の実施の形態]
本実施の形態では、画像形成装置が、各種ジョブを実行するのに伴って、リビルド処理を停止して必要なHDDへアクセスする場合について説明する。
図10は、本発明の第4の実施の形態において、画像形成装置が書込ジョブを実行する場合の画像形成装置の動作を説明する図である。
図10を参照して、RAIDコントローラー150は、矢印PR30で示すように、第1のHDD151から第2のHDD152にデータを複製するリビルド処理を行っている。
CPU110は、リビルド処理中に書込ジョブを実行している。書込ジョブとは、第1のHDD151および第2のHDD152のうち少なくとも一方のHDDに対してデータを書き込むジョブである。具体的には、書込ジョブとは、コピージョブ、スキャンジョブ、ファクシミリ受信ジョブ、およびボックス保存ジョブなどである。
CPU110は、矢印PR31で示すように、書込データをバンド単位またはページ単位でメモリ120に保存する。書込ジョブがコピージョブまたスキャンジョブである場合、保存対象となる書込データは、読み取った原稿の画像データである。書込ジョブがファクシミリ受信ジョブである場合、保存対象となる書込データは、ファクシミリを通じて受信したデータである。書込ジョブがボックス保存ジョブである場合、保存対象となる書込データはボックスへの保存対象となるデータである。
CPU110は、書込データの保存によってメモリ120の残量(空き容量)が閾値T1未満となった場合に、CPU110が第1のHDD151または第2のHDD152のうち少なくともいずれか一方にアクセスする必要が生じたと判断する。CPU110は、矢印PR32で示すように、RAIDコントローラー150に対して、ステータスの送信を要求する。そしてCPU110は、RAIDコントローラー150から受信したステータスに基づいて、リビルド処理中であるか否かを判別する。CPU110は、リビルド処理中である場合に、RAIDコントローラー150に対して、リビルド処理の停止を要求する。
RAIDコントローラー150は、矢印PR33で示すように、CPU110からの要求に従って、リビルド処理を停止する。
RAIDコントローラー150がリビルド処理を停止した後で、CPU110は、矢印PR34で示すように、必要なHDD(ここでは第1のHDD151)へアクセスする。これにより、CPU110は、メモリ120に記憶した書込データを、必要なHDDに転送する。CPU110は、HDDに転送した書込データをメモリ120から消去する。
CPU110は、メモリ120からHDDへの書込データの転送が完了すると、矢印PR35で示すように、RAIDコントローラー150に対して、リビルド処理の再開を要求する。RAIDコントローラー150は、矢印PR36で示すように、CPU110からの要求に従って、リビルド処理を再開する。
書込データをメモリ120からHDDに転送すると、メモリ120の残量は閾値T2(≧T1)以上のレベルまで増加する。この場合CPU110は、未処理の書込データ(メモリ120またはHDDに保存していない書込データ)が存在していれば、矢印PR31で示す処理に戻り、同様の動作を繰り返す。
図11は、本発明の第4の実施の形態において、画像形成装置が読出ジョブを実行する場合の画像形成装置の動作を説明する図である。
図11を参照して、RAIDコントローラー150は、矢印PR40で示すように、第1のHDD151から第2のHDD152にデータを複製するリビルド処理を行っている。
CPU110は、リビルド処理中に読出ジョブを開始する。読出ジョブとは、第1のHDD151および第2のHDD152のうち少なくとも一方のHDDからデータを読み出す処理を含むジョブである。具体的には、読出ジョブとは、プリントジョブ、ファクシミリ送信ジョブ、およびボックス内データ送信ジョブなどである。
CPU110は、読出ジョブを開始する場合に、CPU110が第1のHDD151または第2のHDD152のうち少なくともいずれか一方にアクセスする必要が生じたと判断する。CPU110は、矢印PR41で示すように、RAIDコントローラー150に対して、ステータスの送信を要求する。そしてCPU110は、RAIDコントローラー150から受信したステータスに基づいて、リビルド処理中であるか否かを判別する。CPU110は、リビルド処理中である場合に、コントローラーに対して、リビルド処理の停止を要求する。
RAIDコントローラー150は、矢印PR42で示すように、CPU110からの要求に従って、リビルド処理を停止する。
RAIDコントローラー150がリビルド処理を停止した後で、CPU110は、必要なHDDへアクセスする。これにより、CPU110は、矢印PR43およびPR44で示すように、必要なHDDから読出データをバンド単位またはページ単位でメモリ120に読み出す。読出ジョブがプリントジョブである場合、読み出しの対象となる読出データは、プリントする画像データである。読出ジョブがファクシミリ送信ジョブである場合、読み出しの対象となる読出データは、ファクシミリを通じて送信するデータである。読出ジョブがボックス内データ送信ジョブである場合、読出となる読出データはボックス内の送信対象となるデータである。
CPU110は、読出データの保存によってメモリ120の残量が閾値T3未満となった場合に、HDDからメモリ120への読出データの読み出しを停止する。この場合、CPU110は、矢印PR45で示すように、メモリ120に保存した読出データを出力する。CPU110は、出力した読出データをメモリ120から消去する。またCPU110は、矢印PR46で示すように、RAIDコントローラー150に対して、リビルド処理の再開を要求する。RAIDコントローラー150は、矢印PR47で示すように、CPU110からの要求に従って、リビルド処理を再開する。
メモリ120に保存した読出データの出力が進行すると、メモリ120の残量は閾値T4(≧T3)以上のレベルまで増加する。この場合CPU110は、未処理の読出データ(メモリ120に保存していない読出データ)が存在していれば、矢印PR41で示す処理に戻り、リビルド処理を再度停止する。そしてCPU110は、同様の動作を繰り返す。
図12は、本発明の第4の実施の形態における画像形成装置の動作を示すフローチャートである。
図12を参照して、CPU110は、ジョブの実行指示を受け付けると(S1)と、受け付けたジョブの種別が書込ジョブであるか読出ジョブであるかを判別する(S3)。
ステップS3において、受け付けたジョブの種別が書込ジョブであると判別した場合(S3で「書込」)、CPU110は、書込処理を行い(S5)、処理を終了する。
ステップS3において、受け付けたジョブの種別が読出ジョブであると判別した場合(S3で「読出」)、CPU110は、読出処理を行い(S7)、処理を終了する。
図13および図14は、図12の書込処理(S5)のサブルーチンである。
図13を参照して、書込処理においてCPU110は、メモリ120に書込データを蓄積し(書き込み)(S401)、蓄積した書き込みデータをメモリ120から読み出して、書込ジョブを実行する(S403)。続いてCPU110は、メモリ120の残量が閾値以上であるか否かを判別する(S405)。
ステップS405において、メモリ120の残量が閾値以上であると判別した場合(S405でYES)、CPU110はステップS407の処理へ進む。
ステップS407において、CPU110は、未処理の書込データがあるか否かを判別する(S407)。ステップS407において、未処理の書込データがあると判別した場合(S407でYES)、CPU110はステップS401の処理へ進む。一方、ステップS407において、未処理の書込データが無いと判別した場合(S407でNO)、CPU110はリターンする。
ステップS405において、メモリ120の残量が閾値未満であると判別した場合(S405でNO)、CPU110は、RAIDコントローラー150のステータスを確認する(S409)。RAIDコントローラー150のCPU150aは、CPU110からの要求に従って、ステータスを送信する(S451)。S409の処理に続いて、CPU110は、図14のステップS411の処理に進む。
図14を参照して、ステップS411において、CPU110は、ステータスに基づいて、リビルド処理中であるか否かを判別する(S411)。
ステップS411において、リビルド処理中であると判別した場合(S411でYES)、CPU110は、RAIDコントローラー150に対して、リビルド処理の停止を要求する(S413)。RAIDコントローラー150のCPU150aは、CPU110からの要求に従って、リビルド処理を停止する(S453)。S413の処理に続いて、CPU110は、必要なHDDにデータを蓄積(転送)し(S415)、RAIDコントローラー150に対して、リビルド処理の再開を要求する(S417)。その後CPU110は、図13のステップS407の処理へ進む。RAIDコントローラー150のCPU150aは、CPU110からの要求に従って、リビルド処理を再開する(S455)。
ステップS411において、リビルド処理中でないと判別した場合(S411でNO)、CPU110は、必要なHDDにアクセスし(S419)、図13のステップS407の処理へ進む。
図15および図16は、図12の読出処理(S7)のサブルーチンである。
図15を参照して、読出処理においてCPU110は、読出の準備を行う(S501)。たとえばファクシミリ送信ジョブである場合、ステップS501において、CPU110は送信先へ電話をかける。次にCPU110は、RAIDコントローラー150のステータスを確認する(S503)。RAIDコントローラー150のCPU150aは、CPU110からの要求に従って、ステータスを送信する(S551)。S503の処理に続いて、CPU110は、ステータスに基づいて、リビルド処理中であるか否かを判別する(S505)。
ステップS505において、リビルド処理中であると判別した場合(S505でYES)、CPU110は、RAIDコントローラー150に対して、リビルド処理の停止を要求する(S507)。RAIDコントローラー150のCPU150aは、CPU110からの要求に従って、リビルド処理を停止する(S553)。S507の処理に続いて、CPU110は、必要なHDDからメモリ120にデータを読み出し(S509)、図16のステップS511の処理へ進む。
ステップS505において、リビルド処理中でないと判別した場合(S505でNO)、CPU110は、必要なHDDからメモリ120にデータを読み出し(S517)、図16のステップS515の処理へ進む。
図16を参照して、ステップS511において、CPU110は、メモリ120の残量が閾値未満であるか否かを判別する(S511)。
ステップS511において、メモリ120の残量が閾値未満であると判別した場合(S511でYES)、CPU110は、必要なHDDからメモリ120へのデータの読み出しを停止し、RAIDコントローラー150に対して、リビルド処理の再開を要求する(S513)。RAIDコントローラー150のCPU150aは、CPU110からの要求に従って、リビルド処理を再開する(S555)。
ステップS513の処理に続いて、CPU110は、メモリ120に値失せ記した読出データを出力する。次にCPU110は、未処理の(HDDから読み出していない)読出データがあるか否か判別する(S519)。
ステップS519において、未処理の読出データがあると判別した場合(S519でYES)、CPU110は、メモリ120の残量が閾値以上であるか否かを判別する(S521)。メモリ120の残量が閾値以上であると判別するまで、CPU110はS521の処理を繰り返す。
ステップS521において、メモリ120の残量が閾値以上であると判別した場合(S521でYES)、CPU110は図15のステップS503の処理へ進む。
ステップS519において、未処理の読出データが無いと判別した場合(S519でNO)、CPU110はリターンする。
なお、本実施の形態における画像形成装置の構成や、上述以外の動作は、第1の実施の形態の場合の構成および動作と同様であるため、その説明は繰り返さない。
本実施の形態によれば、第1の実施の形態と同様の効果を得ることができる。加えて、画像形成装置が各種ジョブを実行する場合に、必要なHDDへ迅速にアクセスすることができるので、ジョブの実行速度を向上することができる。
[第5の実施の形態]
本実施の形態では、RAIDコントローラー150が、CPU110からの要求無しに、リビルド処理の実行および終了をCPU110に通知する場合について説明する。CPU110は、RAIDコントローラー150からの通知に基づいて、リビルド処理中であるか否かを判別する。
図17は、本発明の第5の実施の形態におけるRAIDコントローラー150の動作を示すフローチャートである。
図17を参照して、RAIDコントローラー150のCPU150aは、リビルド処理の開始のタイミングであるか否かを判別する(S601)。リビルド処理の開始のタイミングであると判別するまで、CPU150aはステップS601の処理を繰り返す。
ステップS601において、リビルド処理の開始のタイミングであると判別した場合(S601でYES)、CPU150aは、リビルド処理の開始をCPU110に通知し(S603)、リビルド処理を実行(開始)する(S603)。続いてCPU150aは、リビルド処理の停止要求をCPU110から受け付けたか否かを判別する(S607)。
ステップS607において、リビルド処理の停止要求をCPU110から受け付けたと判別した場合(S607でYES)、CPU150aは、リビルド処理を停止する(S609)。次にCPU150aは、リビルド処理の再開要求をCPU110から受け付けたか否かを判別する(S611)。
ステップS607において、リビルド処理の停止要求をCPU110から受け付けないと判別した場合(S607でNO)、CPU150aはステップS611の処理へ進む。
ステップS611において、リビルド処理の再開要求をCPU110から受け付けたと判別した場合(S611でYES)、CPU150aは、リビルド処理を再開する(S613)。次にCPU150aは、リビルド処理が終了したか否かを判別する(S615)。
ステップS611において、リビルド処理の再開要求をCPU110から受け付けないと判別した場合(S611でNO)、CPU150aはステップS615の処理へ進む。
ステップS615において、リビルド処理が終了したと判別した場合(S615でYES)、CPU110は、リビルド処理の終了をCPU110に通知し(S617)、処理を終了する。
ステップS615において、リビルド処理が終了しないと判別した場合(S615でNO)、CPU110はステップS607の処理へ進む。
図18は、本発明の第5の実施の形態におけるCPU110の動作を示すフローチャートである。
図18を参照して、CPU110は、RAIDコントローラー150からリビルド処理の開始の通知を受信したか否かを判別する(S651)。
ステップS651において、リビルド処理の開始の通知を受信したと判別した場合(S651でYES)、CPU110は、リビルド処理の開始(リビルド処理中であること)をメモリ120に記憶し(S653)、ステップS655の処理へ進む。一方、ステップS651において、リビルド処理の開始の通知を受信しないと判別した場合(S651でNO)、CPU110はステップS655の処理へ進む。
ステップS655において、CPU110は、RAIDコントローラー150からリビルド処理の終了の通知を受信したか否かを判別する(S655)。
ステップS655において、リビルド処理の終了の通知を受信したと判別した場合(S655でYES)、CPU110は、リビルド処理の終了(リビルド処理中でないこと)をメモリ120に記憶し(S657)、ステップS659の処理へ進む。一方、ステップS655において、リビルド処理の終了の通知を受信しないと判別した場合(S655でNO)、CPU110はステップS659の処理へ進む。
ステップS659において、CPU110は、第1のHDD151および第2のHDD152のうち少なくともいずれか一方にアクセスする必要が生じたか否かを判別する(S659)。
ステップS659において、第1のHDD151および第2のHDD152のうち少なくともいずれか一方にアクセスする必要が生じたと判別した場合(S659でYES)、CPU110は、記憶した最新のRAIDコントローラー150のステータスを確認し(S661)、リビルド処理中であるか否かを判別する(S663)。一方、ステップS659において、第1のHDD151および第2のHDD152のうちいずれにもアクセスする必要が生じないと判別した場合(S659でNO)、CPU110はステップS651の処理へ進む。
ステップS663において、リビルド処理中であると判別した場合(S663でYES)、CPU110は、RAIDコントローラー150に対して、リビルド処理の停止を要求する(S665)。続いてCPU110は、必要なHDDにアクセスする(S667)。次にCPU110は、RAIDコントローラー150に対して、リビルド処理の再開を要求し(S669)、処理を終了する。
ステップS663において、リビルド処理中でないと判別した場合(S663でNO)、必要なHDDにアクセスし(S671)、処理を終了する。
なお、本実施の形態における画像形成装置の構成や、上述以外の動作は、第1の実施の形態の場合の構成および動作と同様であるため、その説明は繰り返さない。
本実施の形態によれば、CPU110は、RAIDコントローラー150のステータスを常に把握している。これにより、HDDにアクセスする必要が生じた場合に、CPU110は、RAIDコントローラー150に対してステータスの送信を要求する必要が無くなる。
[第6の実施の形態]
本実施の形態では、リビルド処理中であるか否かに関わらず、必要に応じてCPU110がRAIDコントローラー150に対して、リビルド処理の停止または再開を要求する場合について説明する。
図19は、本発明の第6の実施の形態におけるCPU110の動作を示すフローチャートである。
図19を参照して、CPU110は、第1のHDD151および第2のHDD152のうち少なくともいずれか一方にアクセスする必要が生じたか否かを判別する(S701)。第1のHDD151および第2のHDD152のうち少なくともいずれか一方にアクセスする必要が生じたと判別するまで、CPU110は、ステップS701の処理を繰り返す。
ステップS701において、第1のHDD151および第2のHDD152のうち少なくともいずれか一方にアクセスする必要が生じたと判別した場合(S701でYES)、CPU110は、RAIDコントローラー150に対してリビルド処理の停止を要求し(703)、必要なHDDにアクセスする(S705)。その後CPU110は、RAIDコントローラー150に対して、リビルド処理の再開を要求し(S707)、処理を終了する。
RAIDコントローラー150のCPU150aは、リビルド処理を行っていない場合に、リビルド処理の停止の要求を受け付けたときは、その要求を無視する。RAIDコントローラー150のCPU150aは、リビルド処理を停止していない場合(リビルド処理を全く行っていない場合、またはリビルド処理中の場合)に、リビルド処理の再開の要求を受け付けたときは、その要求を無視する。
なお、本実施の形態における画像形成装置の構成や、上述以外の動作は、第1の実施の形態の場合の構成および動作と同様であるため、その説明は繰り返さない。
本実施の形態によれば、CPU110は、RAIDコントローラー150のステータスに関わらずに、必要に応じてCPU150aに対してリビルド処理の停止または再開を要求する。これにより、HDDにアクセスする必要が生じた場合に、CPU110は、RAIDコントローラー150に対してステータスの送信を要求する必要が無くなる。
[第7の実施の形態]
本実施の形態では、RAIDコントローラー150がCPU110からリビルド処理の停止の要求を受け付けた場合に、分割データの書き込みの間のウェイト時間を増加することによりリビルド処理を停止する場合について説明する。
図20は、本発明の第7の実施の形態における画像形成装置の動作を示すタイミングチャートである。
図20を参照して、時刻t0において、RAIDコントローラー150は、リビルド処理を開始する。RAIDコントローラー150は、リビルド処理の対象となるデータを複数の分割データD1、D2、D3・・・D8に分割して、分割データの各々をこの順序で第2のHDD152に書き込む(複製する)。複数の分割データD1、D2、D3・・・の各々は、リビルド処理の対象となるデータをバンド毎に分割したものである。
CPU110からリビルド処理の停止の要求を受け付けていない場合(時刻t0から時刻t1の間)、RAIDコントローラー150は、ウェイト時間をゼロに設定する。すなわち、RAIDコントローラー150は、1つの分割データの書き込みを完了すると、次の分割データの書き込みを直ちに開始する。
時刻t1において、RAIDコントローラー150は、分割データD6の書き込みを行っている。時刻t1において、CPU110は、HDDにアクセスする必要が生じ、RAIDコントローラー150に対してリビルド処理の停止を要求する。この要求を受け付けても、RAIDコントローラー150は、分割データD6の書き込みを直ちには停止せずに、継続する。
時刻t2において、RAIDコントローラー150は、分割データD6の書き込みを完了する。RAIDコントローラー150は、CPU110からリビルド処理の停止の要求を受け付けた場合、分割データD6のリビルド処理が完了してから、分割データD7のリビルド処理を開始するまでの間に、ゼロでないウェイト時間を設定する(ウェイト時間を増加する)。この場合、CPU110がHDDへアクセスするのに十分なウェイト時間が設定されることが好ましい。ウェイト時間は、CPU110によって設定されてもよい。
時刻t2の直後の時刻t3から時刻t4にかけて、CPU110は、必要なHDDへのアクセスを行う。時刻t4において、CPU110は、HDDへアクセスを終了する。
ウェイト時間が経過した時刻t5において、RAIDコントローラー150は、リビルド処理を再開する。RAIDコントローラー150は、分割データD7から書き込みを再開する。なお、RAIDコントローラー150は、書き込みが完了した分割データD1〜D5のうちいずれかに戻って書き込みを再開してもよい。この場合、書き込みが完了した分割データD1〜D5の一部または全部が上書きされる。
RAIDコントローラー150は、リビルド処理を再開すると、ウェイト時間をゼロに戻す。そしてRAIDコントローラー150は、時刻t6においてリビルド処理を終了する。
なお、本実施の形態における画像形成装置の構成や、上述以外の動作は、第1の実施の形態の場合の構成および動作と同様であるため、その説明は繰り返さない。
[その他]
上述の実施の形態における第1のHDD151および第2のHDDの各々は、固定記憶装置であればよく、SSDで置き換えられてもよい。
上述の実施の形態は適宜組み合わせることができる。たとえば、第4の実施の形態において、第3の実施の形態のように、リビルド処理の停止および再開などを、RAIDコントローラー150が主体的に行ってもよい。
上述の実施の形態における処理は、ソフトウェアにより行っても、ハードウェア回路を用いて行ってもよい。また、上述の実施の形態における処理を実行するプログラムを提供することもできるし、そのプログラムをCD−ROM、フレキシブルディスク、ハードディスク、ROM、RAM、メモリカードなどの記録媒体に記録してユーザーに提供することにしてもよい。プログラムは、CPUなどのコンピューターにより実行される。また、プログラムはインターネットなどの通信回線を介して、装置にダウンロードするようにしてもよい。
上述の実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
110,150a CPU(Central Processing Unit)
120 メモリ
121,150b ROM(Read Only Memory)
122,150c RAM(Random Access Memory)
130 画像処理装置
131 画像編集部
132 画像記憶部
140 印刷装置
141 印刷部
142 ステープル部
150 RAID(Redundant Arrays of Inexpensive Disks)コントローラー
151,152 HDD(Hard Disk Drive)
160 表示装置
161 表示パネル
162 検出部
170 スキャナー装置
171 読取部
180 ファクシミリ送受信部
D1,D2,D3,D4,D5,D6,D7,D8 分割データ
DT リビルド処理の対象となるデータ
PR1,PR2,PR10,PR11,PR12,PR13,PR14,PR15,PR20,PR21,PR22,PR23,PR24,PR30,PR31,PR32,PR33,PR34,PR35,PR36,PR40,PR41,PR42,PR43,PR44,PR45,PR46,PR47 矢印

Claims (17)

  1. 第1および第2の固定記憶装置と、
    故障した前記第2の固定記憶装置が復旧した場合に、前記第1の固定記憶装置に記憶されていたデータを、前記第2の固定記憶装置に複製するリビルド処理を行うコントローラーと、
    前記第1および前記第2の固定記憶装置の各々にアクセスするCPU(Central Processing Unit)と、
    前記CPUから前記第1および第2の固定記憶装置のうち少なくとも一方の固定記憶装置にアクセスする必要が生じた場合に、前記リビルド処理中であるか否かを判別する判別手段と、
    前記判別手段が前記リビルド処理中であると判別した場合に、前記CPUによるアクセスの対象となるデータの優先度と、前記リビルド処理中であるデータの優先度とを取得する優先度取得手段と、
    前記CPUによるアクセスの対象となるデータの優先度が、前記リビルド処理中であるデータの優先度よりも高いか否かを判別する優先度判別手段と、
    前記優先度判別手段が、前記CPUによるアクセスの対象となるデータの優先度が、前記リビルド処理中のデータの優先度よりも高いと判別した場合、前記リビルド処理を停止する停止手段と、
    前記CPUから前記少なくとも一方の固定記憶装置へのアクセスが終了した場合に、前記リビルド処理を再開する再開手段とを備えた、画像形成装置。
  2. 前記判別手段は、
    前記CPUから前記少なくとも一方の固定記憶装置にアクセスする必要が生じた場合に、前記CPUからの要求に従って、前記コントローラーから前記CPUへ前記リビルド処理中であるか否かを示す情報を送信する情報送信手段と、
    前記情報送信手段から受信した情報に基づいて、前記リビルド処理中であるか否かを、前記CPUを用いて判別するCPU側判別手段とを含み、
    前記優先度取得手段は、
    前記リビルド処理中であると前記判別手段にて判別した場合に、前記CPUを用いて前記リビルド処理中であるデータを読み出すCPU読出手段と、
    前記CPU読出手段にて読み出したデータの優先度を、前記CPUを用いて特定する優先度特定手段とを含み、
    前記優先度判別手段は、
    前記優先度特定手段にて特定した優先度に基づいて、前記CPUによるアクセスの対象となるデータの優先度が、前記リビルド処理中のデータの優先度よりも高いか否かを、前記CPUを用いて判別するCPU側優先度判別手段を含み、
    前記停止手段は、
    前記CPUから前記コントローラーへ前記リビルド処理の停止を要求する停止要求手段を含み、
    前記再開手段は、
    前記CPUから前記コントローラーへ前記リビルド処理の再開を要求する再開要求手段を含む、請求項に記載の画像形成装置。
  3. 前記判別手段は、
    前記CPUから前記少なくとも一方の固定記憶装置にアクセスする必要が生じた場合に、前記リビルド処理中であるか否かを、前記コントローラーを用いて判別するコントローラー側判別手段を含み、
    前記優先度取得手段は、
    前記リビルド処理中であると前記判別手段にて判別した場合に、前記CPUによるアクセスの対象となるデータの優先度を指標する情報を、前記CPUから前記コントローラーに送信するCPU側優先度送信手段を含み、
    前記優先度判別手段は、
    前記CPU側優先度送信手段から受信した情報に基づいて、前記CPUによるアクセスの対象となるデータの優先度が、前記リビルド処理中のデータの優先度よりも高いか否かを、前記コントローラーを用いて判別するコントローラー側優先度判別手段を含む、請求項に記載の画像形成装置。
  4. 前記リビルド処理を開始する場合に、前記リビルド処理の開始を前記コントローラーから前記CPUに通知する開始通知手段と、
    前記リビルド処理を終了する場合に、前記リビルド処理の終了を前記コントローラーから前記CPUに通知する終了通知手段とをさらに備え、
    前記判別手段は、
    前記開始通知手段および前記終了通知手段の各々の通知に基づいて、前記リビルド処理中であるか否かを、前記CPUを用いて判別する通知判別手段を含む、請求項に記載の画像形成装置。
  5. 第1および第2の固定記憶装置と、
    故障した前記第2の固定記憶装置が復旧した場合に、前記第1の固定記憶装置に記憶されていたデータを、前記第2の固定記憶装置に複製するリビルド処理を行うコントローラーと、
    前記第1および前記第2の固定記憶装置の各々にアクセスするCPU(Central Processing Unit)と、
    前記第1および第2の固定記憶装置のうち少なくとも一方の固定記憶装置に対してデータを書き込むジョブである書込ジョブの実行指示を受け付ける書込ジョブ受付手段と、
    前記書込ジョブの実行指示を受け付けた場合に、前記CPUを用いて、前記書込ジョブの対象となる書込データを、前記書込データを一時的に保存するためのメモリに書き込むメモリ書込手段と、
    前記メモリ書込手段にて前記書込データを前記メモリに書き込む場合に、前記メモリの空き容量が第1の閾値未満であるか否かを判別する第1の残量判別手段と
    前記第1の残量判別手段が、前記メモリの空き容量が前記第1の閾値未満であると判別することにより、前記CPUから前記少なくとも一方の固定記憶装置にアクセスする必要が生じた場合に、前記リビルド処理を停止する停止手段と、
    前記CPUから前記少なくとも一方の固定記憶装置へのアクセスが終了した場合に、前記リビルド処理を再開する再開手段とを備えた、画像形成装置。
  6. 第1および第2の固定記憶装置と、
    故障した前記第2の固定記憶装置が復旧した場合に、前記第1の固定記憶装置に記憶されていたデータを、前記第2の固定記憶装置に複製するリビルド処理を行うコントローラーと、
    前記第1および前記第2の固定記憶装置の各々にアクセスするCPU(Central Processing Unit)と、
    前記第1および第2の固定記憶装置のうち少なくとも一方の固定記憶装置からデータを読み出すジョブである読出ジョブの実行指示を受け付ける読出ジョブ受付手段と、
    前記読出ジョブの実行指示の受け付けにより、前記CPUから前記第1および第2の固定記憶装置のうち少なくとも一方の固定記憶装置にアクセスする必要が生じた場合に、前記リビルド処理を停止する停止手段と、
    前記読出ジョブの実行指示を受け付けた場合であって、前記停止手段にて前記リビルド処理を停止した後に、前記CPUを用いて、前記読出ジョブの対象となる読出データを前記第1または前記第2の固定記憶装置から前記読出データを一時的に保存するためのメモリに読み出す読出手段と、
    前記読出手段にて前記読出データを前記メモリに読み出す場合に、前記メモリの空き容量が第2の閾値未満であるか否かを判別する第2の残量判別手段と
    前記第2の残量判別手段が、前記メモリの空き容量が前記第2の閾値未満であると判別することにより、前記CPUから前記少なくとも一方の固定記憶装置へのアクセスが終了した場合に、前記リビルド処理を再開する再開手段とを備えた、画像形成装置。
  7. 前記再開手段にて前記リビルド処理を再開した後で、未出力の前記読出データが存在する場合に、前記メモリの空き容量が第3の閾値以上であるか否かを判別する第3の残量判別手段と、
    前記メモリの空き容量が前記第3の閾値以上であると前記第3の残量判別手段にて判別した場合に、前記リビルド処理を再度停止する再度停止手段とをさらに備えた、請求項に記載の画像形成装置。
  8. 前記リビルド処理は、前記第1の固定記憶装置に記憶されていたデータを複数の分割データに分割し、前記複数の分割データの各々を前記第2の固定記憶装置に順次複製する処理であり、
    前記停止手段は、
    前記CPUから前記第1および第2の固定記憶装置のうち少なくとも一方の固定記憶装置にアクセスする必要が生じた場合に、前記複数の分割データのうち前記リビルド処理中の分割データの前記リビルド処理が完了してから、次の分割データの前記リビルド処理を開始するまでのウェイト時間を増加するウェイト時間増加手段を含む、請求項1〜のいずれかに記載の画像形成装置。
  9. 前記コントローラーは、前記第1および第2の固定記憶装置のうち一方の固定記憶装置のデータを他方の固定記憶装置にコピーするミラーリング処理を実行可能である、請求項1〜のいずれかに記載の画像形成装置。
  10. 第1および第2の固定記憶装置と、故障した前記第2の固定記憶装置が復旧した場合に、前記第1の固定記憶装置に記憶されていたデータを、前記第2の固定記憶装置に複製するリビルド処理を行うコントローラーと、前記第1および第2の固定記憶装置の各々にアクセスするCPU(Central Processing Unit)とを備えた、画像形成装置の制御プログラムであって、
    前記CPUから前記第1および第2の固定記憶装置のうち少なくとも一方の固定記憶装置にアクセスする必要が生じた場合に、前記リビルド処理中であるか否かを判別する判別ステップと、
    前記リビルド処理中であると前記判別ステップにて判別した場合に、前記CPUによるアクセスの対象となるデータの優先度と、前記リビルド処理中であるデータの優先度とを取得する優先度取得ステップと、
    前記CPUによるアクセスの対象となるデータの優先度が、前記リビルド処理中のデータの優先度よりも高いか否かを判別する優先度判別ステップと、
    前記CPUによるアクセスの対象となるデータの優先度が、前記リビルド処理中のデータの優先度よりも高いと前記優先度判別ステップにて判別した場合に、前記リビルド処理を停止する停止ステップと、
    前記CPUから前記少なくとも一方の固定記憶装置へのアクセスが終了した場合に、前記リビルド処理を再開する再開ステップとをコンピューターに実行させるための、画像形成装置の制御プログラム。
  11. 前記判別ステップは、
    前記CPUから前記少なくとも一方の固定記憶装置にアクセスする必要が生じた場合に、前記CPUからの要求に従って、前記コントローラーから前記CPUへ前記リビルド処理中であるか否かを示す情報を送信する情報送信ステップと、
    前記情報送信ステップにおいて受信した情報に基づいて、前記リビルド処理中であるか否かを、前記CPUを用いて判別するCPU側判別ステップとを含み、
    前記優先度取得ステップは、
    前記リビルド処理中であると前記判別ステップにて判別した場合に、前記CPUを用いて前記リビルド処理中であるデータを読み出すCPU読出ステップと、
    前記CPU読出ステップにて読み出したデータの優先度を、前記CPUを用いて特定する優先度特定ステップとを含み、
    前記優先度判別ステップは、
    前記優先度特定ステップにて特定した優先度に基づいて、前記CPUによるアクセスの対象となるデータの優先度が、前記リビルド処理中のデータの優先度よりも高いか否かを、前記CPUを用いて判別するCPU側優先度判別ステップを含み、
    前記停止ステップは、
    前記CPUから前記コントローラーへ前記リビルド処理の停止を要求する停止要求ステップを含み、
    前記再開ステップは、
    前記CPUから前記コントローラーへ前記リビルド処理の再開を要求する再開要求ステップを含む、請求項10に記載の画像形成装置の制御プログラム。
  12. 前記判別ステップは、
    前記CPUから前記少なくとも一方の固定記憶装置にアクセスする必要が生じた場合に、前記リビルド処理中であるか否かを、前記コントローラーを用いて判別するコントローラー側判別ステップを含み、
    前記優先度取得ステップは、
    前記リビルド処理中であると前記判別ステップにて判別した場合に、前記CPUによるアクセスの対象となるデータの優先度を指標する情報を、前記CPUから前記コントローラーに送信するCPU側優先度送信ステップを含み、
    前記優先度判別ステップは、
    前記CPU側優先度送信ステップにて受信した情報に基づいて、前記CPUによるアクセスの対象となるデータの優先度が、前記リビルド処理中のデータの優先度よりも高いか否かを、前記コントローラーを用いて判別するコントローラー側優先度判別ステップを含む、請求項10に記載の画像形成装置の制御プログラム。
  13. 第1および第2の固定記憶装置と、故障した前記第2の固定記憶装置が復旧した場合に、前記第1の固定記憶装置に記憶されていたデータを、前記第2の固定記憶装置に複製するリビルド処理を行うコントローラーと、前記第1および第2の固定記憶装置の各々にアクセスするCPU(Central Processing Unit)とを備えた、画像形成装置の制御プログラムであって、
    前記第1および第2の固定記憶装置のうち少なくとも一方の固定記憶装置に対してデータを書き込むジョブである書込ジョブの実行指示を受け付ける書込ジョブ受付ステップと、
    前記書込ジョブの実行指示を受け付けた場合に、前記CPUを用いて、前記書込ジョブの対象となる書込データを、前記書込データを一時的に保存するためのメモリに書き込むメモリ書込ステップと、
    前記メモリ書込ステップにて前記書込データを前記メモリに書き込む場合に、前記メモリの空き容量が第1の閾値未満であるか否かを判別する第1の残量判別ステップと
    前記メモリの空き容量が前記第1の閾値未満であると前記第1の残量判別ステップにて判別することにより、前記CPUから前記第1および第2の固定記憶装置のうち少なくとも一方の固定記憶装置にアクセスする必要が生じた場合に、前記リビルド処理を停止する停止ステップと、
    前記CPUから前記少なくとも一方の固定記憶装置へのアクセスが終了した場合に、前記リビルド処理を再開する再開ステップとをコンピューターに実行させるための、画像形成装置の制御プログラム。
  14. 第1および第2の固定記憶装置と、故障した前記第2の固定記憶装置が復旧した場合に、前記第1の固定記憶装置に記憶されていたデータを、前記第2の固定記憶装置に複製するリビルド処理を行うコントローラーと、前記第1および第2の固定記憶装置の各々にアクセスするCPU(Central Processing Unit)とを備えた、画像形成装置の制御プログラムであって、
    前記第1および第2の固定記憶装置のうち少なくとも一方の固定記憶装置からデータを読み出すジョブである読出ジョブの実行指示を受け付ける読出ジョブ受付ステップと、
    前記読出ジョブの実行指示を受け付けることにより、前記CPUから前記第1および第2の固定記憶装置のうち少なくとも一方の固定記憶装置にアクセスする必要が生じた場合に、前記リビルド処理を停止する停止ステップと、
    前記読出ジョブの実行指示を受け付けた場合であって、前記停止ステップにて前記リビルド処理を停止した後に、前記CPUを用いて、前記読出ジョブの対象となる読出データを前記第1または前記第2の固定記憶装置から前記読出データを一時的に保存するためのメモリに読み出す読出ステップと、
    前記読出ステップにて前記読出データを前記メモリに読み出す場合に、前記メモリの空き容量が第2の閾値未満であるか否かを判別する第2の残量判別ステップと
    前記メモリの空き容量が前記第2の閾値未満であると前記第2の残量判別ステップにて判別することにより、前記CPUから前記少なくとも一方の固定記憶装置へのアクセスが終了した場合に、前記リビルド処理を再開する再開ステップとをコンピューターに実行させるための、画像形成装置の制御プログラム。
  15. 前記再開ステップにて前記リビルド処理を再開した後で、未出力の前記読出データが存在する場合に、前記メモリの空き容量が第3の閾値以上であるか否かを判別する第3の残量判別ステップと、
    前記メモリの空き容量が前記第3の閾値以上であると前記第3の残量判別ステップにて判別した場合に、前記リビルド処理を再度停止する再度停止ステップとをさらにコンピューターに実行させる、請求項14に記載の画像形成装置の制御プログラム。
  16. 第1および第2の固定記憶装置の各々にアクセスするCPU(Central Processing Unit)との間で通信を行うコントローラーであって、
    故障した前記第2の固定記憶装置が復旧した場合に、前記第1の固定記憶装置に記憶されていたデータを、前記第2の固定記憶装置に複製するリビルド処理を行うリビルド処理手段と、
    前記CPUから前記第1および前記第2の固定記憶装置のうち少なくとも一方の固定記憶装置にアクセスする必要が生じた場合に、前記リビルド処理中であるか否かを判別する判別手段と、
    前記判別手段が前記リビルド処理中であると判別した場合に、前記CPUによるアクセスの対象となるデータの優先度と、前記リビルド処理中であるデータの優先度とを取得する優先度取得手段と、
    前記CPUによるアクセスの対象となるデータの優先度が、前記リビルド処理中のデータの優先度よりも高いか否かを判別する優先度判別手段と、
    前記優先度判別手段が、前記CPUによるアクセスの対象となるデータの優先度が、前記リビルド処理中のデータの優先度よりも高いと判別した場合、前記リビルド処理を停止する停止手段と、
    前記CPUから前記少なくとも一方の固定記憶装置へのアクセスが終了した場合に、前記リビルド処理を再開する再開手段とを備えた、コントローラー。
  17. 第1および第2の固定記憶装置の各々にアクセスするCPU(Central Processing Unit)との間で通信を行うコントローラーの制御プログラムであって、
    故障した前記第2の固定記憶装置が復旧した場合に、前記第1の固定記憶装置に記憶されていたデータを、前記第2の固定記憶装置に複製するリビルド処理を行うリビルド処理ステップと、
    前記CPUから前記第1および前記第2の固定記憶装置のうち少なくとも一方の固定記憶装置にアクセスする必要が生じた場合に、前記リビルド処理中であるか否かを判別する判別ステップと、
    前記リビルド処理中であると前記判別ステップにて判別した場合に、前記CPUによるアクセスの対象となるデータの優先度と、前記リビルド処理中であるデータの優先度とを取得する優先度取得ステップと、
    前記CPUによるアクセスの対象となるデータの優先度が、前記リビルド処理中のデータの優先度よりも高いか否かを判別する優先度判別ステップと、
    前記CPUによるアクセスの対象となるデータの優先度が、前記リビルド処理中のデータの優先度よりも高いと前記優先度判別ステップにて判別した場合、前記リビルド処理を停止する停止ステップと、
    前記CPUから前記少なくとも一方の固定記憶装置へのアクセスが終了した場合に、前記リビルド処理を再開する再開ステップとをコンピューターに実行させる、コントローラーの制御プログラム。
JP2015013434A 2015-01-27 2015-01-27 画像形成装置、画像形成装置の制御プログラム、コントローラー、およびコントローラーの制御プログラム Active JP6299617B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015013434A JP6299617B2 (ja) 2015-01-27 2015-01-27 画像形成装置、画像形成装置の制御プログラム、コントローラー、およびコントローラーの制御プログラム
US15/005,299 US9519552B2 (en) 2015-01-27 2016-01-25 Image forming apparatus which executes rebuild processes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015013434A JP6299617B2 (ja) 2015-01-27 2015-01-27 画像形成装置、画像形成装置の制御プログラム、コントローラー、およびコントローラーの制御プログラム

Publications (2)

Publication Number Publication Date
JP2016139251A JP2016139251A (ja) 2016-08-04
JP6299617B2 true JP6299617B2 (ja) 2018-03-28

Family

ID=56434098

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015013434A Active JP6299617B2 (ja) 2015-01-27 2015-01-27 画像形成装置、画像形成装置の制御プログラム、コントローラー、およびコントローラーの制御プログラム

Country Status (2)

Country Link
US (1) US9519552B2 (ja)
JP (1) JP6299617B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021012447A (ja) * 2019-07-04 2021-02-04 富士ゼロックス株式会社 情報処理装置および半導体装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08221217A (ja) * 1995-02-17 1996-08-30 Hitachi Ltd ディスクアレイサブシステムのデータ再構築方法
US6647514B1 (en) * 2000-03-23 2003-11-11 Hewlett-Packard Development Company, L.P. Host I/O performance and availability of a storage array during rebuild by prioritizing I/O request
JP3668810B2 (ja) * 2002-11-08 2005-07-06 株式会社日立製作所 記憶装置の障害回復方法
JP4817783B2 (ja) 2005-09-30 2011-11-16 富士通株式会社 Raidシステム及びそのリビルド/コピーバック処理方法
JP5303935B2 (ja) * 2008-01-08 2013-10-02 日本電気株式会社 データ多重化システムおよびデータ多重化方法
JP5409159B2 (ja) * 2009-07-23 2014-02-05 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム
JP5454224B2 (ja) * 2010-02-25 2014-03-26 ソニー株式会社 記憶装置および記憶システム
JP5762016B2 (ja) * 2011-01-28 2015-08-12 キヤノン株式会社 情報処理装置、制御方法、及びプログラム
JP2013058103A (ja) 2011-09-08 2013-03-28 Toshiba Corp 映像収録再生装置及びリビルド処理方法
JP2014059659A (ja) 2012-09-14 2014-04-03 Toshiba Corp 映像収録再生装置及びリビルド再開方法

Also Published As

Publication number Publication date
JP2016139251A (ja) 2016-08-04
US20160217048A1 (en) 2016-07-28
US9519552B2 (en) 2016-12-13

Similar Documents

Publication Publication Date Title
US8176344B2 (en) Information processing apparatus and control method thereof
JP5419500B2 (ja) プログラムおよび情報処理装置
JP6289128B2 (ja) 情報処理装置及びその制御方法、並びにプログラム
JP2015013429A (ja) 画像処理装置及びその制御方法、並びにプログラム
JP5917163B2 (ja) 情報処理装置、その制御方法及びプログラム並びに記憶媒体
JP6875808B2 (ja) 情報処理装置
JP5494556B2 (ja) 画像形成方法および画像形成装置
US9641701B2 (en) Image output system and method, and non-transitory computer readable medium to control execution of an image output process
JP6299617B2 (ja) 画像形成装置、画像形成装置の制御プログラム、コントローラー、およびコントローラーの制御プログラム
US8988723B2 (en) Printing apparatus for executing print processing based upon print data
JP6233279B2 (ja) 画像形成装置、画像形成装置の制御プログラム、およびコントローラー
JP2010098403A (ja) データ管理装置と画像処理装置
JP2018063676A (ja) 情報処理装置及びその制御方法、並びにプログラム
JP2012155488A (ja) データ処理装置及びその制御方法
US11656788B2 (en) Information processing apparatus and non-transitory computer readable medium
JP2013117910A (ja) 情報処理装置、その制御方法、およびプログラム
JP5704318B2 (ja) 画像形成方法および画像形成装置
CN103605488B (zh) 打印控制装置和打印系统
JP5132393B2 (ja) 情報処理装置、情報管理方法及びプログラム
JP2014138265A (ja) 画像形成装置
JP2018063499A (ja) 情報処理装置及びその制御方法、並びにプログラム
US20200288031A1 (en) Information processing apparatus equipped with storage device, control method therefor, and storage medium
JP2022072970A (ja) 画像形成装置及びその制御方法、並びにプログラム
JP2020173548A (ja) データ処理装置、画像形成装置、リストア方法、およびプログラム
JP2016139252A (ja) 画像形成装置および画像形成装置の制御プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170330

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170523

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20171017

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180109

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180110

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180212

R150 Certificate of patent or registration of utility model

Ref document number: 6299617

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150