以下、本発明に係る画像処理装置の一実施形態を図面に基づいて説明する。尚、本実施形態では、画像処理装置として複写機を例に説明するが、これに限定する趣旨ではなく、画像処理装置は、例えば、プリンター、ファクシミリ装置、スキャナー、又は、複合機であってもよい。
図1は、本発明に係る画像処理装置の一実施形態に係る複写機1の電気的構成を示すブロック図である。例えば、図1に示すように、複写機1は、画像読取部21と、画像形成部22と、操作部23と、USBインターフェイス部24と、制御部10と、を備えている。
画像読取部21は、CCD(Charge Coupled Device)ラインセンサーや露光ランプ等を有する不図示の光学系ユニットを備えている。画像読取部21は、制御部10による制御の下、光学系ユニットに原稿の画像を読み取らせ、原稿の画像を表す画像データを出力させるスキャン動作を行う。
画像形成部22は、制御部10による制御の下、上記スキャン動作によって生成された画像データに基づいて、用紙に画像を形成する画像形成動作を行う。具体的には、画像形成部22は、感光体ドラム、感光体ドラムの周面に対向して配設された帯電部、帯電部の下流側であって感光体ドラムの周面に対向して配設された露光部、露光部の下流側であって感光体ドラムの周面に対向して配設された現像部、現像部の下流側であって感光体ドラムの周面に対向して配設されたクリーニング部等を備えた周知の構成を有する。
操作部23は、情報を表示するための表示部231と、ユーザーによって各種指示の操作を行わせるための操作キー部232と、を備えている。表示部231は、例えばタッチパネル機能を有する液晶ディスプレイ等であり、各種情報を表示する。操作キー部232は、例えば、数値や記号を入力するためのテンキー等の各種キーを含む。
USBインターフェイス部24は、外部装置に備えられたUSBコネクターが着脱自在に接続される不図示のUSBソケットを備えている。USBインターフェイス部24は、USBソケットにUSBコネクターが接続された場合に、USBソケットに接続されたUSBコネクターを介して外部装置への電力の供給を開始するとともに、外部装置が接続されたことを示す信号を制御部10へ出力する。
具体的には、図1に示すように、USBインターフェイス部24のUSBソケットには、SSD9に備えられたUSBコネクター90が着脱自在に接続される。つまり、USBインターフェイス部24には、SSD9が着脱自在に接続される。USBインターフェイス部24にSSD9が接続されると、USBインターフェイス部24は、USBコネクター90を介してSSD9への電力の供給を開始するとともに、外部装置が接続されたことを示す信号を制御部10へ出力する。
制御部10は、例えば、所定の演算処理を実行する不図示のCPUと、所定の制御プログラムや、各種初期設定データが記憶されたEEPROM等の不図示の不揮発性メモリーと、データを一時的に記憶するための不図示のRAMと、現在時刻を計時する不図示のタイマーと、これらの周辺回路等とを備えている。制御部10は、不揮発性メモリー等に記憶された制御プログラムをCPUに実行させることにより、複写機1内の各部や、USBインターフェイス部24に接続された外部装置の動作を制御する。
次に、USBインターフェイス部24に接続されるSSD9の詳細について説明する。尚、USBインターフェイス部24に接続されるSSDの構成等を、以下の説明において示す構成等に限定する趣旨ではない。
SSD9は、例えば、USBコネクター90と、不図示のキャッシュメモリーと、NANDメモリー91と、NANDコントローラー92と、を備えている。
USBコネクター90は、USBインターフェイス部24のUSBソケットに着脱自在に接続可能なUSBコネクターである。NANDメモリー91は、所謂NAND型フラッシュメモリーと呼ばれる不揮発性メモリーである。NANDコントローラー92は、不図示のCPU(Central Processing Unit)、不図示のRAM(Random Access Memory)、及び、NANDメモリー91に対するデータの読み出し/消去/書き込み/書き換え指示を示すコマンドや当該指示の対象のデータを、USBインターフェイス部24を介して制御部10との間で入出力するための入出力回路等を備えている。
NANDコントローラー92は、制御部10から入力されたNANDメモリー91に対するデータの読み出し/消去/書き込み/書き換え指示を示すコマンドをCPUに実行させることにより、当該指示が示すデータの読み出し/消去/書き込み/書き換えを行う。
NANDコントローラー92は、NANDメモリー91が有するデータの記憶領域を複数のブロックに分割し、更に各ブロックを複数のページに分割して管理する。NANDコントローラー92は、データの読み出しや、データが記憶されていない空きブロックへのデータの書き込みをページ単位で行うが、データの消去はブロック単位で行う。尚、データの消去は、データの書き込みに比して数倍以上の処理時間を要するものとなっている。
NANDメモリー91の特性上、データを上書き更新することはできないため、NANDコントローラー92は、データが記憶されているページが存在するブロックへデータを書き込む場合や、ブロック内に記憶されているデータを別のデータに書き換える場合、以下の煩雑な手順をとる。
手順1:データの書き込み(書き換え)対象のブロックに記憶されている全てのデータを退避する。手順2:退避したデータを、書き込み(書き換え)対象のデータによって更新する。手順3:書き込み(書き換え)対象のブロックに記憶されている全てのデータを消去し、当該書き込み(書き換え)対象のブロックを空きブロックにする。手順4:手順2において更新した後のデータを、書き込み(書き換え)対象のブロックに書き込む。
そこで、NANDコントローラー92は、所謂ガベージコレクションと呼ばれるデータの再配置処理を行う。データの再配置処理とは、複数のブロックに散在して記憶されているデータをなるべく同じブロックに集約するように移動させて、空きブロックの数を多くする処理である。つまり、NANDコントローラー92は、データの再配置処理を行うことによって、データの書き込みを空きブロックに行える機会を増大し、データの書き込みに要する時間をなるべく低減するようにしている。
ただし、データの再配置処理は、データを移動させるときに、移動前及び移動後のブロックに記憶されているデータを消去する必要があり、長い処理時間が必要になる。特に、空きブロックが少ない場合や複数のブロックにデータが散在して記憶されている場合にデータの再配置処理を行うと、他のブロックへ移動させるデータの量が多くなり、更に長い処理時間が必要になる。
このため、NANDコントローラー92は、電力の供給が開始されたとき等、データの読み出し/消去/書き込み/書き換えを行っていない所定の時期にデータの再配置処理を行う。
また、NANDコントローラー92は、データの書き込みを行う場合、データが記憶されていない空きページを特定し、当該特定した空きページにデータを書き込む。NANDコントローラー92は、制御部10による指示の下行ったデータの書き込みが、アドレスが連続するページ(記憶領域)に対するデータの書き込みである連続書き込みであったか、又は、アドレスが連続しないページ(記憶領域)に対するデータの書き込みであるランダム書き込みであったかを示す書き込み情報を、制御部10による指示の下、出力可能になっている。
次に、USBインターフェイス部24に外部装置が接続された場合に制御部10が行う制御について詳述する。図1に示すように、制御部10は、USBインターフェイス部24に外部装置が接続された場合に行う制御に関し、特に、接続処理部11、記憶部12、異常判定部13、制限時間変更部14、指示受付部15、実行制御部16(SSD制御部)、及び制限時間補正部17として動作する。
接続処理部11は、外部装置が接続されたことを示す信号が制御部10へ入力されたことにより、外部装置がUSBインターフェイス部24に接続されたと判断する。接続処理部11は、外部装置がUSBインターフェイス部24に接続されたと判断した場合、USBインターフェイス部24に当該外部装置が接続されたことを認識するために、所謂エニュメレーションと呼ばれる接続処理を行う。接続処理とは、USBインターフェイス部24を介して外部装置に対してデバイス情報の送信を要求し、外部装置によって送信されたデバイス情報を受信する処理である。
具体的には、接続処理部11は、接続処理において、USBインターフェイス部24を介して外部装置にデバイス情報の送信を要求し、外部装置から送信されたデバイス情報を受信するまで待機する。そして、接続処理部11は、外部装置から送信されたデバイス情報を受信した場合、受信したデバイス情報をRAMに記憶し、接続処理を終了する。
接続処理が正常に終了すると、制御部10は、接続処理においてRAMに記憶されたデバイス情報に基づき、USBインターフェイス部24に接続された外部装置がどのような装置であるかを認識する。このように、制御部10は、USBインターフェイス部24に当該外部装置が接続されたことを認識した結果、当該外部装置に適した制御を実施可能となる。
例えば、外部装置が上述のSSD9であるものとする。この場合、接続処理部11は、接続処理において、USBインターフェイス部24を介してSSD9にデバイス情報の送信を要求する。そして、接続処理部11は、SSD9から送信されたデバイス情報を受信した場合、受信したデバイス情報をRAMに記憶し、接続処理を終了する。
この場合、制御部10は、RAMに記憶されたデバイス情報に基づき、USBインターフェイス部24に接続された外部装置がSSD9であると判断する。これにより、制御部10は、USBインターフェイス部24にSSD9が接続されたことを認識し、以降、SSD9に適した制御を実施可能となる。
以下では、USBインターフェイス部24に接続される外部装置が、上記のSSD9であるものとして説明する。
記憶部12は、不揮発性メモリーの記憶領域のうちの一部の記憶領域である。記憶部12には、後述の異常判定部13によって用いられる制限時間が記憶されている。
異常判定部13は、接続処理部11によって接続処理が開始されてから、記憶部12に記憶されている制限時間が経過するまでの間に当該接続処理が終了しない場合、USBインターフェイス部24に接続された外部装置に異常があると判定し、接続処理部11に接続処理を中止させる。
制限時間変更部14は、接続処理が中止されずに正常に終了した場合、記憶部12に記憶されている制限時間を、当該接続処理の開始時から終了時までの経過時間に変更する。
指示受付部15は、ユーザーによる操作部23の操作により入力された複写機1に対する各種指示を受け付ける。複写機1に対する各種指示には、画像読取部21によるスキャン動作の実行指示等が含まれる。
また、接続処理において受信したデバイス情報に基づき、制御部10が、USBインターフェイス部24にSSD9が接続されたことを認識しているとする。この場合、指示受付部15は、ユーザーによる操作部23の操作により入力されたSSD9に対する各種指示も受け付ける。
実行制御部16は、指示受付部15によって複写機1に対する指示が受け付けられた場合、当該指示に従って、複写機1内の各動作部(画像読取部21、画像形成部22、操作部23)の動作を制御する。また、実行制御部16は、指示受付部15によってSSD9に対する指示が受け付けられた場合、当該指示に従ってSSD9の動作を制御する。
例えば、SSD9がUSBインターフェイス部24に接続され、接続処理部11による接続処理が制限時間以内に終了し、制御部10が、USBインターフェイス部24にSSD9が接続されたことを認識したとする。そして、ユーザーが操作部23を操作し、スキャナー動作の実行指示、及び、当該スキャナー動作により生成された画像データをSSD9に書き込ませる書き込み指示を入力したとする。
この場合、指示受付部15は、上記実行指示と上記書き込み指示を受け付ける。実行制御部16は、指示受付部15によって受け付けられた上記実行指示に従い、画像読取部21にスキャナー動作を行わせる。
そして、実行制御部16は、上記書き込み指示に従って、スキャナー動作により生成された画像データをSSD9へ書き込む指示を示すコマンドと、当該画像データとを、NANDコントローラー92へ送信する。NANDコントローラー92は、受信したコマンドが示す指示に従い、受信した画像データをNANDメモリー91に書き込む。つまり、実行制御部16は、NANDコントローラー92へ、指示受付部15により受け付けられた指示を示すコマンドを送信し、当該指示に応じた動作をNANDコントローラー92に行わせることにより、SSD9の動作を制御する。
制限時間補正部17は、実行制御部16がSSD9にデータの書き込みを行わせた場合、記憶部12に記憶されている制限時間を、所定の補正係数で増大した時間に変更する。補正係数は、制御部10内の不揮発性メモリーに記憶されている。補正係数は、実行制御部16がSSD9に書き込みを行わせたデータ量が多い程大きく定められている。
図2は、補正係数Cの一例を示す図である。例えば、図2に示すように、不揮発性メモリーには、実行制御部16がSSD9に書き込みを行わせたデータ量と補正係数Cとを対応付けたテーブルT1が記憶されている。
具体的には、ページサイズ未満のデータ量D1に対応付けて補正係数C1が定められている。補正係数C1は、1よりも大きい、「1+A1(1>A1>0)」に定められている。尚、ページサイズとは、NANDメモリー91が有するデータの記憶領域のうち、1ページに対応する記憶領域に記憶可能な最大のデータ量を示す。ページサイズは、接続処理部11が行った接続処理において受信されるデバイス情報に含まれている。
また、データ量D1よりも多い、ページサイズ以上且つブロックサイズ未満のデータ量D2に対応付けて補正係数C2が定められている。補正係数C2は、データ量D1に対応付けられた補正係数C1よりも大きい、「1+A2(1>A2>A1)」に定められている。尚、ブロックサイズとは、NANDメモリー91が有するデータの記憶領域のうち、1ブロックに対応する記憶領域に記憶可能な最大のデータ量を示す。ブロックサイズは、接続処理部11が行った接続処理において受信されるデバイス情報に含まれている。
更に、データ量D2よりも多い、ブロックサイズ以上のデータ量D3に対応付けて補正係数C3が定められている。補正係数C3は、データ量D2に対応付けられた補正係数C2よりも大きい、「1+A3(1>A3>A2)」に定められている。
つまり、ページサイズ未満のデータ量D1のデータを書き込む場合、当該データは少なくとも1つの空きページを含むブロックに書き込まれる可能性が高いので、空きブロックの数が少なくなる可能性は低い。また、ページサイズ以上且つブロックサイズ未満のデータ量D2のデータを書き込む場合、当該データは、少なくとも2つの空きページに書き込まれるので、2つのブロックの空きページにデータが書き込まれる可能性がある。つまり、この場合の空きブロックの数が少なくなる可能性は、ページサイズ未満のデータ量D1のデータを書き込む場合に比して高い。また、ブロックサイズ以上のデータ量D3のデータを書き込む場合、当該データは少なくとも1ブロック以上のブロックにデータが書き込まれるので、空きブロックの数が少なくとも1つは減少する。つまり、この場合の空きブロックが少なくなる可能性は、ページサイズ以上且つブロックサイズ未満のデータ量D2のデータを書き込む場合に比して高い。
このように書き込むデータ量が多い程、空きブロックの数が少なくなる可能性が高くなる。データの書き込み後、NANDコントローラー92がデータの再配置処理を行い、上記のように、他のブロックへデータを移動させるとする。この場合、空きブロックの数が少ない程、移動先のブロックが空きブロックではない可能性が高くなり、移動先のブロックに記憶されているデータの消去を行う機会が多くなると考えられる。つまり、SSD9に書き込むデータ量が多い程、空きブロックの数が少なくなり、その後行われるデータの再配置処理に要する時間は長くなると考えられる。
SSD9がUSBインターフェイス部24に接続され、接続処理部11が接続処理を行ったときに、NANDコントローラー92がデータの再配置処理を開始したとする。この場合、データの再配置処理に要する時間が長くなる程、制限時間内にデバイス情報を送信できない可能性が高くなり、SSD9が認識されなくなる可能性が高くなる。
したがって、補正係数Cは、データの再配置処理に要する時間が長くなる程、制限時間を増大することができるように、データの再配置処理に要する時間が長くなる程、つまり、SSD9に書き込むデータ量が多い程、大きく定められている。
図2に示すように補正係数Cが定められている場合において、例えば、実行制御部16がSSD9に書き込みを行わせたデータ量が、ページサイズ未満のデータ量D1であったとする。
この場合、制限時間補正部17は、不揮発性メモリーに記憶されているテーブルT1を用いて、データ量D1に対応付けられた補正係数C1を取得する。そして、制限時間補正部17は、当該取得した1よりも大きい補正係数C1と、記憶部12に記憶されている制限時間と、との積によって、記憶部12に記憶されている制限時間を更新する。これにより、制限時間補正部17は、記憶部12に記憶されている制限時間を補正係数C1で増大した時間に変更する。
以下、USBインターフェイス部24にSSD9が接続されたときの動作について説明する。図3は、USBインターフェイス部24にSSD9が接続されたときの動作を示すフローチャートである。
図3に示すように、USBインターフェイス部24にSSD9が接続されると、接続処理部11は接続処理を開始する(S1)。このとき、異常判定部13は、制御部10内のタイマーを用いて現在時刻を取得し、当該現在時刻を接続処理の開始時刻としてRAMに記憶する(S2)。
異常判定部13は、制御部10内のタイマーを用いて現在時刻を取得し、当該現在時刻が、ステップS2でRAMに記憶された接続処理の開始時刻から、記憶部12に記憶されている制限時間TLが超えた時刻になっているか否かを判定する(S3)。
異常判定部13は、現在時刻が、接続処理の開始時刻から制限時間TLを超えた時刻ではないと判定した場合に(S3;NO)、ステップS1で開始された接続処理が終了していなかったときは(S4;NO)、ステップS3を行う。そして、異常判定部13は、現在時刻が、接続処理の開始時刻から制限時間TLを超えた時刻ではないと判定した場合に(S3;NO)、ステップS1で開始された接続処理が終了していたときは(S4;YES)、当該接続処理が正常に終了したと判定する。
この場合(S4;YES)、制限時間変更部14は、接続処理が中止されずに正常に終了したと判断する。そして、制限時間変更部14は、制御部10内のタイマーを用いて現在時刻を取得し、当該取得した現在時刻と、ステップS2でRAMに記憶された接続処理の開始時刻と、の差を、接続処理の開始時から終了時までの経過時間TEとして算出する(S5)。そして、制限時間変更部14は、記憶部12に記憶されている制限時間TLを、当該算出した経過時間TEに変更する(S6)。
一方、異常判定部13は、現在時刻が、接続処理の開始時刻から制限時間TLを超えた時刻になったと判定した場合(S3;YES)、USBインターフェイス部24に接続された外部装置が異常な状態であると判定し、接続処理部11に当該接続処理を中止させる(S7)。つまり、異常判定部13は、ステップS3、S4によって、接続処理が開始されてから、記憶部12に記憶されている制限時間TLが経過するまでの間に、当該接続処理が終了したか否かを判定する。
次に、指示受付部15によりSSD9に対する各種指示が受け付けられたときの動作について説明する。図4は、指示受付部15によりSSD9に対する各種指示が受け付けられたときの動作を示すフローチャートである。尚、以下に示す動作の前には、ステップS1で行われた接続処理が正常に終了しているものとする。そして、制御部10は、当該接続処理においてRAMに記憶されたデバイス情報に基づき、USBインターフェイス部24にSSD9が接続されていることを認識し、SSD9に適した制御を実施可能になっているものとする。
図4に示すように、指示受付部15によってSSD9に対する各種指示が受け付けられると(S11)、実行制御部16は、当該受け付けられた指示を示すコマンドをNANDコントローラー92へ送信することにより、当該指示に応じた動作をSSD9に行わせる(S12)。
ステップS11において、SSD9にデータの書き込みを行わせる指示が受け付けられ、ステップS12において、実行制御部16がSSD9にデータの書き込みを行わせたとする(S13;YES)。
この場合、制限時間補正部17は、不揮発性メモリーに記憶されているテーブルT1(図2)を用いて、ステップS12で実行制御部16がSSD9にデータの書き込みを行わせたときのデータ量に対応付けられた補正係数Cを取得する(S14)。制限時間補正部17は、記憶部12に記憶されている制限時間TLを、ステップS14で取得した補正係数Cで増大した時間に変更する(S15)。
このように、上記実施形態の構成によれば、記憶部12に記憶されている制限時間TLを、過去に正常に終了した接続処理の開始時から終了時までの経過時間TEに変更することができる。これにより、異常な状態のSSD9がUSBインターフェイス部24に接続された場合に、過去に正常に終了した接続処理に要した時間よりも長い制限時間が記憶部12に記憶されていたことによって、USBインターフェイス部24に接続された外部装置が異常な状態であることを判定するのに要する時間が不要に長くなる虞を低減することができる。
また、上記実施形態の構成によれば、SSD9へのデータの書き込みが行われたときに、記憶部12に記憶されている制限時間TLを所定の補正係数Cで増大することができる。つまり、記憶部12に記憶されている制限時間TLを、SSD9に記憶されているデータ量の増加に応じて増大することができる。
このため、次にSSD9がUSBインターフェイス部24に接続され、接続処理部11が接続処理を開始し、SSD9がデータの再配置処理を実行した場合に、当該データの再配置処理に要する時間がSSD9に記憶されているデータ量に応じて長くなっていたとしても、制限時間TLもSSD9に記憶されているデータ量に応じて同様に増大させているので、制限時間TL内に接続処理が終了できない虞を低減することができる。これにより、USBインターフェイス部24にSSD9が接続されたことを認識できない虞を低減することができる。
また、上記実施形態の構成によれば、補正係数Cは、実行制御部16がSSD9に書き込みを行わせたデータ量が多い程大きく定められているので、SSD9に書き込むデータ量の増加分に応じて制限時間TLを増大することができる。これにより、次にSSD9がUSBインターフェイス部24に接続され、接続処理部11が接続処理を開始し、SSD9がデータの再配置処理を実行した場合に、当該データの再配置処理に要する時間がSSD9に記憶されているデータ量の増加分に応じて長くなっていたとしても、SSD9に記憶されているデータ量の増加分に応じて制限時間TLも同様に増大させているので、制限時間TL内に接続処理が終了できない虞を低減することができる。
尚、上記実施形態は、本発明に係る実施形態の例示に過ぎず、本発明を上記実施形態に限定する趣旨ではない。例えば、以下に示す変形実施形態であってもよい。
(1)補正係数Cは、実行制御部16がSSD9に行わせたデータの書き込みが、アドレスが連続するページに対するデータの書き込みである連続書き込みであった場合と、アドレスが連続しないページに対するデータの書き込みであるランダム書き込みであった場合と、のそれぞれに対応付けて定められ、ランダム書き込みに対応する補正係数Cが、連続書き込みに対応する補正係数Cよりも大きく定められていてもよい。
図5は、補正係数Cの図2とは別の一例を示す図である。例えば、図5に示すように、不揮発性メモリーには、実行制御部16がSSD9に行わせたデータの書き込みが、上記連続書き込みであったか、ランダム書き込みであったかを示す書き込み種別と、補正係数Cとを対応付けたテーブルT2が記憶されている。
具体的には、実行制御部16がSSD9に行わせたデータの書き込みが、上記連続書き込みであったことを示す書き込み種別R1に対応付けて、補正係数C4が定められている。補正係数C4は、1よりも大きい、「1+B1(1>B1>0)」に定められている。一方、実行制御部16がSSD9に行わせたデータの書き込みが、上記ランダム書き込みであったことを示す書き込み種別R2に対応付けて、補正係数C5が定められている。補正係数C5は、補正係数C4よりも大きい、「1+B2(1>B2>B1)」に定められている。
つまり、実行制御部16がSSD9に行わせたデータの書き込みがランダム書き込みであった場合、当該ランダム書き込みによってデータが書き込まれたページを含むブロックの数は、連続書き込みによってデータが書き込まれたページを含むブロックの数に比して多いと考えられる。このため、ランダム書き込みを行った後、NANDコントローラー92がデータの再配置処理を行った場合に、なるべく同じブロックに集約するように移動されるデータ量は、連続書き込みを行った後に行われるデータの再配置処理に比して多くなると考えられる。したがって、ランダム書き込みを行った後に行われるデータの再配置処理に要する時間は、連続書き込みを行った後に行われるデータの再配置処理に比して、長くなると考えられる。
そこで、ランダム書き込みが行われた後、SSD9がUSBインターフェイス部24に接続され、接続処理部11が接続処理を行ったときに、NANDコントローラー92がデータの再配置処理を開始したとする。この場合、データの再配置処理に要する時間が、連続書き込みを行った後に行われるデータの再配置処理に要する時間に比して長いと考えられるので、連続書き込みを行った場合に比して、制限時間内にデバイス情報を送信できない可能性が高いと考えられる。そこで、補正係数Cは、ランダム書き込みが行われた後の制限時間を、連続書き込みが行われた後の制限時間よりも増大することができるように、ランダム書き込みに対応する補正係数C5が、連続書き込みに対応する補正係数C4よりも大きく定められている。
この場合、ステップS14(図4)において、制限時間補正部17は、以下に示す処理を実行する。
制限時間補正部17は、先ず、ステップS12(図4)において実行制御部16が行わせたデータの書き込みが、連続書き込みであったか、又はランダム書き込みであったかを示す上記書き込み情報を送信する指示を示すコマンドを、NANDコントローラー92に送信する。これにより、NANDコントローラー92は、当該コマンドを受信し、受信したコマンドが示す指示に応じて、当該書き込み情報を送信する。そして、制限時間補正部17は、NANDコントローラー92が送信した上記書き込み情報を受信する。
そして、制限時間補正部17は、不揮発性メモリーに記憶されているテーブルT2を用いて、受信した書き込み情報に対応する補正係数Cを取得する。例えば、制限時間補正部17は、実行制御部16が行わせたデータの書き込みが連続書き込みであったことを示す書き込み情報を受信したとする。この場合、制限時間補正部17は、実行制御部16がSSD9に行わせたデータの書き込みが連続書き込みであったことを示す書き込み種別R1に対応付けられた補正係数C4を取得する。
本変形実施形態の構成によれば、SSD9に行わせたデータの書き込みがランダム書き込みであった場合、SSD9に行わせたデータの書き込みが連続書き込みであった場合よりも制限時間TLを増大させることができる。
これにより、ランダム書き込みが行われた後、次にSSD9がUSBインターフェイス部24に接続され、接続処理部11が接続処理を開始したときに行われるデータの再配置処理に要する時間が、連続書き込みが行われた後に行われるデータの再配置処理に要する時間に比して長くなっていたとしても、制限時間TLも同様に連続書き込みが行われた場合よりも長い時間に増大させているので、制限時間TL内に接続処理が終了できない虞を低減することができる。
(2)図6は、補正係数Cの図2及び図5とは別の一例を示す図である。図6に示すように、図2及び図5に示した各補正係数C1〜C5を組み合わせるようにして、補正係数C14、C24、C34、C15、C25、C35が定められていてもよい。つまり、実行制御部16がSSD9に書き込みを行わせたデータ量と、実行制御部16がSSD9に行わせたデータの書き込みが連続書き込みであったかランダム書き込みであったかを示す書き込み種別と、の組み合わせのそれぞれに対応付けて、補正係数Cが定められていてもよい。
具体的には、図6に示すように、実行制御部16がSSD9に書き込みを行わせたページサイズ未満のデータ量D1と、実行制御部16がSSD9に行わせたデータの書き込みが連続書き込みであったことを示す書き込み種別R1と、の組み合わせに対応付けて、補正係数C14が定められていてもよい。補正係数C14は、補正係数C1(図2)と補正係数C4(図5)とを組み合わせるようにして、1よりも大きい、「1+A1(図2)+B2(図5)」に定められている。以下、同様にして、補正係数C24、C34、C15、C25、C35が定められていてもよい。
この場合、制限時間補正部17は、ステップS14(図4)において、上記(1)の変形実施形態と同様に、NANDコントローラー92が送信した書き込み情報を受信し、ステップS12で実行制御部16がSSD9に書き込みを行わせたデータ量と、受信した当該書き込み情報が示す書き込み種別と、の組み合わせに対応する補正係数Cを、不揮発性メモリーから取得する。
例えば、ステップS12において、実行制御部16がSSD9に書き込みを行わせたデータ量がページサイズ未満のデータ量D1であったとする。また、制限時間補正部17は、実行制御部16が行わせたデータの書き込みが連続書き込みであったことを示す書き込み情報を受信したとする。この場合、制限時間補正部17は、ページサイズ未満のデータ量D1と書き込み種別R1との組み合わせに対応付けられた補正係数C14を取得する。
(3)また、接続処理部11が、接続処理を開始するタイミングは、SSD9がUSBインターフェイス部24に接続された場合に限らない。例えば、SSD9がUSBインターフェイス部24に接続されている状態で複写機1が起動された場合、当該起動時にUSBインターフェイス部24からSSD9への給電が開始される。つまり、当該起動時に、USBインターフェイス部24にSSD9が接続されたと考えられる。そこで、接続処理部11は、SSD9がUSBインターフェイス部24に接続されている状態で複写機1が起動された場合にも、接続処理を行ってもよい。
本変形実施形態の構成によれば、SSD9がUSBインターフェイス部24に接続されている状態で複写機1が起動された場合にも接続処理が行われるので、複写機1の起動時に、上記のように、USBインターフェイス部24にSSD9が接続されたことを認識できない虞を低減することができる。これにより、複写機1の起動後に行われる各種動作において、SSD9を用いた動作を行えなくなる虞を低減することができる。
(4)また、異常判定部13は、ステップS7(図3)において、USBインターフェイス部24に接続された外部装置が異常な状態である旨のメッセージを表示部231に表示してもよい。また、操作部23に、音声を出力するスピーカーを備えるようにし、異常判定部13は、ステップS7(図3)において、USBインターフェイス部24に接続された外部装置が異常な状態である旨の警告音をスピーカーに出力させてもよい。この場合、ユーザーは、USBインターフェイス部24に接続された外部装置が異常な状態であることに気づきやすくなる。