JP6289128B2 - Information processing apparatus, control method therefor, and program - Google Patents
Information processing apparatus, control method therefor, and program Download PDFInfo
- Publication number
- JP6289128B2 JP6289128B2 JP2014015613A JP2014015613A JP6289128B2 JP 6289128 B2 JP6289128 B2 JP 6289128B2 JP 2014015613 A JP2014015613 A JP 2014015613A JP 2014015613 A JP2014015613 A JP 2014015613A JP 6289128 B2 JP6289128 B2 JP 6289128B2
- Authority
- JP
- Japan
- Prior art keywords
- job
- information processing
- processing apparatus
- optimization
- status
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、情報処理装置及びその制御方法、並びにプログラムに関し、特に、情報処理装置が備える不揮発性の半導体記憶装置のディスク最適化の制御技術に関する。 The present invention relates to an information processing apparatus, a control method therefor, and a program, and more particularly, to a disk optimization control technique for a nonvolatile semiconductor memory device included in the information processing apparatus.
近年、HDD(ハードディスクドライブ)に代えて、SSD(ソリッドステートドライブ)と呼ばれる、フラッシュメモリを用いた不揮発性の半導体記憶装置を備える情報処理装置が増えている。SSDでは、内蔵するフラッシュメモリの寿命を延ばすために、ウェアレベリングと呼ばれる分散書き込みが行われている。ウェアレベリングでは、書き込み回数の少ないブロックをなるべく使用するように、ブロックを置き換えて書き込みが行われていく。そのため、情報処理装置にてウェアレベリング処理を実行中には、ブロック置き換え時にブロック消去やデータコピーなどが発生し、SSDのパフォーマンス(読み書き性能)が低下する場合がある。 In recent years, information processing apparatuses including a nonvolatile semiconductor memory device using a flash memory called SSD (solid state drive) instead of HDD (hard disk drive) are increasing. In SSD, distributed writing called wear leveling is performed in order to extend the life of a built-in flash memory. In wear leveling, writing is performed by replacing blocks so that a block with a small number of times of writing is used as much as possible. For this reason, during the wear leveling process in the information processing apparatus, block erasure, data copying, etc. may occur during block replacement, and SSD performance (read / write performance) may deteriorate.
SSD等の不揮発性半導体記憶装置では、パフォーマンスの低下を改善する方法としてトリムと呼ばれる処理を行うのが一般的である。トリムとは、記憶装置に対して、OS(オペレーティングシステム)のファイルシステムにとって不要になった記憶領域を通知するコマンドである。記憶装置にトリムコマンドで通知することにより、不必要な領域までウェアレベリング処理をする必要がなくなり、パフォーマンス低下を抑制することができる。 In a nonvolatile semiconductor memory device such as an SSD, a process called “trim” is generally performed as a method for improving performance degradation. The trim is a command for notifying a storage device of a storage area that is no longer necessary for an OS (operating system) file system. By notifying the storage device with a trim command, it is not necessary to perform wear leveling processing to an unnecessary area, and performance degradation can be suppressed.
一方、HDD等の磁気ディスク記憶装置では、パフォーマンスの低下を抑制する方法として、断片化したファイルを再構成するデフラグと呼ばれる最適化処理を行うのが一般的である。例えば、特許文献1では、スタンバイ時に最適化処理を実行する装置が記載されている。
On the other hand, in a magnetic disk storage device such as an HDD, an optimization process called defragmentation for reconstructing a fragmented file is generally performed as a method for suppressing a decrease in performance. For example,
SSD等の不揮発性半導体記憶装置でトリムを実行する場合も上記デフラグと同様に、アイドル時やスタンバイ時に実行したり、ユーザの指示に応じて実行したり、指定された時刻に実行したりするのが一般的である。いずれにしても、不揮発性半導体記憶装置を備えた情報処理装置では、該記憶装置の最適化処理を実行しないで連続して使用し続けた場合、該記憶装置のパフォーマンスが低下する。そのため、その情報処理装置で実行されるジョブが、不揮発性半導体記憶装置の読み書き性能低下に起因して遅くなることがある。 Similarly to the above defragmentation, when performing trimming in a nonvolatile semiconductor memory device such as SSD, it is executed at idle or standby, or in response to a user instruction, or at a specified time. Is common. In any case, in an information processing apparatus provided with a nonvolatile semiconductor memory device, the performance of the memory device deteriorates when it is continuously used without executing optimization processing of the memory device. Therefore, a job executed by the information processing apparatus may be delayed due to a decrease in read / write performance of the nonvolatile semiconductor memory device.
しかしながら、特許文献1では、スタンバイ状態(記録処理というジョブを実行していないとき)か否かを判断し、スタンバイ時のみデフラグと呼ばれる最適化処理を実行する。そのため、ジョブを連続して実行中で長時間スタンバイ状態にならない場合には、その間に記憶装置の最適化処理を行えずに記憶装置への読み書きが遅くなり、情報処理装置の処理能力が低下するおそれがある。SSD等の不揮発性半導体記憶装置でトリムを実行して最適化する場合も同様であり、ジョブを連続で実行し続ける場合に最適化処理が行えない。
However, in
本発明は、上記問題に鑑みて成されたものであり、半導体記憶装置を備える情報処理装置でジョブが実行中であっても情報処理装置の生産性を落とすことなく半導体記憶装置の最適化処理を実行することができる技術を提供することにある。 The present invention has been made in view of the above problems, the optimization process of the semiconductor memory device without reducing the productivity of the even information processing apparatus a job is running in the information processing apparatus having a semiconductor memory device It is to provide a technique capable of performing the above.
上記目的を達成するために、本発明の情報処理装置は、半導体記憶装置を備える情報処理装置において、前記情報処理装置における印刷ジョブのジョブ状況を取得する取得手段と、前記取得手段により取得した前記情報処理装置のジョブ状況が所定のジョブの中断を示す状況にあるか否かを判断する判断手段と、前記判断手段により、前記情報処理装置が前記所定のジョブの中断を示す状況にあると判断された場合に前記半導体記憶装置の物理メモリブロックのウェアレベリングのために利用可能なトリムコマンドを実行する実行手段と、前記所定のジョブの中断の原因が解消されたことに応じて、前記トリムコマンドの実行に基づく前記半導体記憶装置の最適化処理を中断して前記印刷ジョブの再開を行う制御手段と、を備えることを特徴とする。 In order to achieve the above object, an information processing apparatus according to the present invention includes an acquisition unit that acquires a job status of a print job in the information processing apparatus in the information processing apparatus including a semiconductor storage device, and the acquisition unit that acquires the job status. determining a determination unit that the job status of the information processing apparatus determines whether the status indicating an interruption of a predetermined job, by the determining means, and said information processing apparatus is in a situation which indicates an interruption of the predetermined job and execution means for executing a trimming command available for wear leveling of the physical memory blocks of the semiconductor memory device when it is, in response to the cause of the interruption of the predetermined job is eliminated, the trim command characterized in that to interrupt the optimization processing based on the execution the semiconductor memory device and a control means for resuming the print job To.
本発明によれば、半導体記憶装置を備える情報処理装置でジョブが実行中であっても情報処理装置の生産性を落とすことなく半導体記憶装置の最適化処理を実行することができる。 According to the present invention, it is possible to conduct the optimizing process of the semiconductor memory device without reducing the productivity of the even information processing apparatus a job is running in the information processing apparatus including a semiconductor memory device.
以下、本発明の実施の形態を図面を参照して詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
図1は、本発明の実施形態に係る画像形成装置の概略構成を示すブロック図である。 FIG. 1 is a block diagram illustrating a schematic configuration of an image forming apparatus according to an embodiment of the present invention.
図1において、画像形成装置100は、ROM102あるいはStorage1_110に記憶されたプログラムを実行するCPU101を備える。CPU101は、以下に説明するシステムバス115に接続される各部を総括的に制御する。
In FIG. 1, the
Storage1_110は、SSD(Solid State Drive)等の不揮発性半導体記憶装置であり、プログラムを記憶するほか、画像データの一時記憶場所としても使われる。 Storage1_110 is a non-volatile semiconductor storage device such as SSD (Solid State Drive), which stores a program and is also used as a temporary storage location for image data.
ディスクコントローラ(DISKC)109は、Storage1_110からの画像データやプログラムの読み出しや書き込みを制御する。なお、DISKC109は、オプションとして複数の記憶装置の接続および制御が可能であり、図示例ではStorage1_110とStorage2_111が接続されている。この場合、Storage1_110およびStorage2_111は、ディスクコントローラ(DISKC)109によって読み書きの制御が行われる。 A disk controller (DISKC) 109 controls reading and writing of image data and programs from Storage1_110. The DISKC 109 can connect and control a plurality of storage devices as an option. In the example shown in the figure, Storage1_110 and Storage2_111 are connected. In this case, read / write control of Storage1_110 and Storage2_111 is performed by the disk controller (DISKC) 109.
RAM103は、CPU101の主メモリ、ワークエリア等として機能する。外部入力コントローラ(PANELC)105は、画像形成装置100に備えられた各種ボタンあるいはタッチパネル(PANEL)106等からの指示入力を制御する。ディスプレイコントローラ(DISPC)107は、例えば、液晶ディスプレイなどで構成される表示モジュール(DISPLAY)108の表示制御を行う。
The
ネットワークインタフェースカード(NIC)104は、外部のネットワーク機器あるいはファイルサーバ等との間で双方向にデータをやりとりするネットワークインタフェースである。 A network interface card (NIC) 104 is a network interface that exchanges data bidirectionally with an external network device or a file server.
印字部(PRINTER)112は、電子写真方式やインクジェット方式などにより記録紙に印刷するプリントエンジンである。PRINTER112には、オプションとして給紙カセット(不図示)が複数段装着されており、複数種類(サイズ)の印刷用紙をそれぞれのカセット段に入れておき、印字時にカセットから印刷用紙を給紙することができる。
The printing unit (PRINTER) 112 is a print engine that prints on recording paper by an electrophotographic method, an inkjet method, or the like. A plurality of paper cassettes (not shown) are installed in the
画像読み取り部(SCANNER)113は、紙に印字された画像を読み込む機能および構造を有する。多くの場合、SCANNER113にはオプションとしてオートドキュメントフィーダ(不図示)が装着されており、複数枚の原稿を自動的に読み込むことができる。 The image reading unit (SCANNER) 113 has a function and a structure for reading an image printed on paper. In many cases, the SCANNER 113 is equipped with an auto document feeder (not shown) as an option, and can automatically read a plurality of documents.
図2は、図1の画像形成装置100のソフトウェア構成を示すブロック図である。
FIG. 2 is a block diagram illustrating a software configuration of the
画像形成装置100上で動作するソフトウェア200において、オペレーティングシステム(OS)201は、ソフトウェアやハードウェア全体を制御および管理し、多くのアプリケーションから共通して利用される基本ソフトウェアである。このOS201上では、例えば、図1に示すDISKC109などのハードウェアを制御するデバイスドライバ202が動作している。また、OS201には、Storage1_110に対してデータを読み書きするためのファイルシステム203が存在する。
In the
ファイルシステム203は、アプリケーション204からファイルの読み出し要求を受け取ると、デバイスドライバ202に指示してDISKC109を動作させる。そして、DISKC109からコマンドが発行され、Storage1_110からデータが読み出される。同様に、ファイルシステム203は、アプリケーション204からファイルの書き込み要求を受け取ると、デバイスドライバ202に指示してDISKC109を動作させる。そして、DISKC109がデータを転送し、Storage1_110へデータを書き込む。
Upon receiving a file read request from the
OS201上で動作するアプリケーションとしてはJOB制御部205がある。JOB制御部205は、画像形成装置100におけるコピーやプリントなどのジョブの実行を制御するソフトウェアである。また、JOB制御部205には、PRINTER112を制御するPrint制御206や、SCANNER113を制御するScan制御207などの制御アプリケーションが含まれる。
An application that runs on the OS 201 is a
ストレージ管理部208は、OS201上で動作し、Storage1_110等の最適化管理や最適化制御指示を行うアプリケーションである。また、ストレージ管理部208は、最適化判断/指示タスク209と、最適化実行管理タスク210の2つの処理タスクに分かれている。最適化判断/指示タスク209は、Storage1_110等の最適化を行うか否かを判断して最適化の指示を行う処理を行う。最適化実行管理タスク210は、実際にStorage1_110等の最適化の実行管理を行う。なお、最適化実行管理タスク210は、ストレージ管理部208の中に組み込まれているが、最適化実行管理の処理をファイルシステムの一機能としてファイルシステム203の中に組み込まれていても構わない。
The
図示のソフトウェアは、前述したとおり、ROM102あるいはStorage1_110(若しくはStorage2_111)に記憶されており、RAM103上に読み出された後、CPU101で実行される。
As described above, the illustrated software is stored in the
次に、ストレージ管理部208の最適化判断/指示タスク209にて、ジョブ状況を取得して最適化処理を実行するか否かを判断し、最適化の実行/中断指示を行う処理について説明する。
Next, a description will be given of processing for determining whether or not to execute optimization processing by acquiring a job status in the optimization determination /
図3は、ストレージ管理部208の最適化判断/指示タスク209により実行される記憶装置の最適化判断処理の流れを示すフローチャートである。なお、本処理は、上述したようにCPU101がROM102またはStorage1_110から読み出したプログラムを実行することにより実現されるものであるが、便宜上、最適化判断/指示タスク209を主体にして説明する。
FIG. 3 is a flowchart showing the flow of the storage device optimization determination process executed by the optimization determination /
まず、最適化判断/指示タスク209は、ジョブ状況の通知待ちを行う(ステップS302)。ジョブ状況の通知は、前述したJOB制御部205の中で動作しているPrint制御206やScan制御207から逐次通知される。例えば、PRINTER112にてキャリブレーション(画像調整処理)が開始された場合、PRINTER112からシステムバス115を通じてRAM103にキャリブレーション開始のコマンドデータが記録される。そして、Print制御206がそのコマンドデータを受信し、キャリブレーションの実行が開始されたことを認識する。JOB制御部205から通知されるジョブ状況の詳細内容は、RAM103にジョブ状況テーブル400として書き込まれる。ジョブ状況テーブル400の一例を示す図4(a)に示す。
First, the optimization determination /
図4(a)において、ジョブ状況テーブル400は、ジョブ番号(JobNo)401、ジョブタイプ(JobType)402、ジョブステータス(JobStatus)403、詳細ステータス1(DetailStatus−1)404、詳細ステータス2(DetailStatus−2)405から構成される。 4A, the job status table 400 includes a job number (JobNo) 401, a job type (JobType) 402, a job status (JobStatus) 403, a detailed status 1 (DetailStatus-1) 404, and a detailed status 2 (DetailStatus- 2) 405.
ジョブ番号401はジョブの識別番号であり、ジョブが発生するたびにユニークな値が割り当てられ、ジョブの識別に用いられる。ジョブタイプ402は、ジョブの種類を表す情報であり、例えばプリントジョブであれば、“PrintJob”、FAXなどの送信するセンドジョブであれば“SendJob”が格納される。
A
ジョブステータス403は、ジョブの実行状況を表す情報であり、例えばプリント中であれば“Printing”、送信中であれば“Forwarding”が格納される。
The
詳細ステータス1_404は、詳細なジョブ状況を表す情報が格納される。例えば、プリントジョブで厚紙などに印刷するために通常の半分の速度でプリントを実行中の場合には“HalfSpeedPrinting”が格納される。また、センドジョブでFAXを送信中の場合には、“Fax”が格納される。詳細なジョブ状況が複数ある場合には、詳細ステータス2_405に追加で情報が格納される。 Detailed status 1_404 stores information indicating a detailed job status. For example, “HalfSpeedPrinting” is stored when printing is being executed at half the normal speed for printing on thick paper or the like in a print job. Further, “FAX” is stored when a FAX is being transmitted in a send job. When there are a plurality of detailed job statuses, additional information is stored in the detailed status 2_405.
JOB制御部205は、Print制御206やScan制御207が実行するジョブの状況が変化するたびに、RAM103のジョブ状況テーブル400への書き込みや更新を行う。これにより、ジョブの状況が逐次ジョブ状況テーブル400に反映されるようになっている。
The
図3に戻り、最適化判断/指示タスク209は、ジョブ状況の通知を受けたか判定し(ステップS303)、ジョブ状況の通知を受けてない場合には、ステップS302に戻り、ジョブ状況の通知待ちを行う。一方、ジョブ状況の通知を受けた場合、最適化判断/指示タスク209は、ジョブ状況テーブル400を参照する(ステップS304)。
Returning to FIG. 3, the optimization determination /
次に、最適化判断/指示タスク209は、ROM102に書き込まれている最適化実行許可パターンテーブル500を参照する(ステップS305)。最適化実行許可パターンテーブルの一例を図4(b)に示す。
Next, the optimization determination /
図4(b)において、最適化実行許可パターンテーブル500は、ジョブタイプ条件(JobType condition)501、ジョブステータス条件(JobStatus condition)502、詳細ステータス条件(DetailStatus condition)503から構成される。 In FIG. 4B, the optimization execution permission pattern table 500 includes a job type condition (JobType condition) 501, a job status condition (Job Status condition) 502, and a detailed status condition (Detail Status condition) 503.
ジョブタイプ条件501には、最適化を実行許可するジョブ種類の条件を示す情報が格納される。ジョブステータス条件502には、最適化を実行許可するジョブ状況の条件を示す情報が格納される。詳細ステータス条件503には、最適化を実行許可するジョブ状況の詳細条件を示す情報が格納される。
The
パターン504は、ジョブタイプ条件501が“PrintJob”、ジョブステータス条件502が“Printing”、詳細ステータス条件503が“HalfSpeedPrinting”の場合に、記憶装置の最適化を実行許可するものである。なお、詳細ステータス条件503が“−”の場合には、ジョブ状況の詳細条件は無し(詳細状況は見ない)という意味である。
The
図4(a)に示すジョブ状況テーブル400でジョブ番号401が“1”の実行ジョブは、ジョブタイプ402が“PrintJob”であり、ジョブタイプ条件501が“PrintJob”という条件にまず一致する。更に、ジョブステータス403が“Printing”であり,ジョブステータス条件502が“Printing”という条件に一致する。更に、詳細ステータス1_404が“HalfSpeedPrinting”(減速プリント中)であり、詳細ステータス条件503が“HalfSpeedPrinting”という条件に一致する。よって、ジョブ番号401が“1”の実行ジョブは、最適化実行を許可するパターンの1つに条件がすべて一致するため、最適化を実行すると判断する(図3のステップS306でYES)。
In the job status table 400 shown in FIG. 4A, an execution job whose
一方、パターン505は、ジョブタイプ条件501が“PrintJob”でジョブステータス403が“Calibrating”(キャリブレーション中)である。これは、PRINTER112がキャリブレーション中の場合に最適化の実行を許可する、というパターンである。キャリブレーションとは、画像の位置ずれや色の濃度を定期的に調整する機能のことであり、この調整処理を実行中の状態をキャリブレーション中という。
On the other hand, in the
また、パターン506は、ジョブタイプ条件501が“PrintJob”でジョブステータス403が“Waiting for_Paper”(印刷用紙補給待ち)である。これは、PRINTER112が印刷用紙を補給されるのを待っている状態の場合に最適化の実行を許可する、というパターンである。印刷用紙補給待ちとは、例えば、A4用紙を給紙して印刷中にA4用紙が切れた状態で、A4用紙を入れるカセットにA4用紙が補給されるまでの状態をいう。
In the
また、パターン507は、ジョブタイプ条件501が“PrintJob”でジョブステータス403が“Waiting for Toner”(トナー補給待ち)である。これは、PRINTER112がトナーを補給されるのを待っている状態の場合に最適化の実行を許可する、というパターンである。
In the
また、パターン508は、ジョブタイプ条件501が“PrintJob”でジョブステータス403が“Waiting for Jam cancel”(ジャム解除待ち)である。これは、PRINTER112がジャムを解消されるのを待っている状態の場合に最適化の実行を許可する、というパターンである。ジャムとは、印刷用紙がPRINTER112の中で詰まってしまった状態であり、詰まった用紙を取り除き、印字可能な状態になるのを待っている状態をジャム解除待ちという。
In the
また、パターン509は、ジョブタイプ条件501が“PrintJob”でジョブステータス403が“Waiting for Cassette change”(給紙カセット段切り替え中)である。これは、PRINTER112が給紙カセット段の切り替え中の場合に最適化の実行を許可する、というパターンである。給紙カセット段切り替え中とは、例えば、A4サイズの用紙がセットされているカセットからA3サイズの用紙がセットされている給紙カセットに給紙段を切り替えるまでの切り替え処理中のことである。
In the
また、パターン510は、ジョブタイプ条件501が“PrintJob”で、ジョブステータス403が“Finishing”(ジョブ終了中)で、詳細ステータス条件503が“No Next Job”である。これは、PRINTER112がジョブ終了中で、次のジョブが存在しない場合に最適化の実行を許可する、というパターンである。
In the
最後に、パターン511は、ジョブタイプ条件501が“SendJob”でジョブステータス403が“Forwarding”(データ送信中)である。これは、SCANNER113が画像を読み取った後に、読み取った画像データを送信中、というパターンである。画像データの送信中の例としては、FAXでの画像送信やE−mailによる画像送信などが該当する。
Finally, in the
このようにして、ジョブ状況テーブル400に示すジョブ状況が、最適化実行許可パターンテーブル500に記載された条件のいずれかに一致するかで最適化を実行するか否かを判断することができる。 In this way, it is possible to determine whether or not to perform optimization based on whether the job status shown in the job status table 400 matches any of the conditions described in the optimization execution permission pattern table 500.
図3に戻り、最適化判断/指示タスク209は、ジョブ状況テーブル400に記述されたジョブ状況が最適化実行許可パターンテーブル500のパターンのいずれかに一致するか否かで最適化を実行するか否かを判定する(ステップS306)。この判定の結果、最適化実行許可パターンテーブル500のパターンのいずれかに一致した場合、最適化判断/指示タスク209は、最適化を実行すると判断してステップS307へ進む。
Returning to FIG. 3, the optimization determination /
ステップS307では、既に最適化処理が実行中の場合もあるため、最適化判断/指示タスク209は、RAM103に保存されている最適化実行状況テーブル600を参照し、最適化処理の実行状況を確認する。最適化実行状況テーブルの一例を図4(c)に示す。
In step S307, since the optimization process may already be in progress, the optimization determination /
図4(c)において、最適化実行状況テーブル600は、メインステータス(MainStatus)601、エントリ番号(EntryNo.)602、サブステータス(SubStatus)603、アドレス(Address(LBA))604、サイズ(Sise(sectors))605で構成される。 In FIG. 4C, the optimization execution status table 600 includes a main status (MainStatus) 601, an entry number (EntryNo.) 602, a sub status (SubStatus) 603, an address (Address (LBA)) 604, and a size (Sise ( sectors)) 605.
メインステータス601は、最適化のメイン状況を示す情報が格納される。メインステータス601が“Executing”であれば最適化を実行中であり、“Suspend”であれば中断中であり、“Idle”であれば未実行(アイドル)状態である。
The
エントリ番号602は、トリムを実行する対象領域のエントリ番号であり、ファイルシステム203によって未使用領域(トリム対象領域)と記録された領域情報が最適化実行管理タスク210の処理により、本テーブルに連番で登録される。
The
サブステータス603は、そのエントリ番号で登録された領域に対するトリム実行状況を示す情報が格納される。“Finished”であれば既にトリム実行完了済みを示し、“Executing”であれば現在トリムを実行中であることを示す。“Waiting”であれば実行待ち状態であることを示す。
The
アドレス604およびサイズ605は、そのエントリ番号で登録されたトリム対象領域の開始アドレスとサイズが格納される。例えば、エントリ番号602が“1”の場合、開始アドレス(記憶装置のロジカルブロックアドレス)は“3125810”であり、サイズ(セクター数)は“128”である。つまり、LBA:3125810のアドレスから128セクター分の領域がトリム対象の領域であることを示している。
The
図3に戻り、最適化判断/指示タスク209は、最適化実行状況テーブル600のメインステータス601を参照して最適化処理が実行中かを判定する(ステップS308)。その結果、実行中でなければ、最適化処理の実行を指示して(ステップS309)、ステップS302に戻る。一方、ステップS308で最適化を実行中であると判定した場合は、そのままステップS302に戻る。
Returning to FIG. 3, the optimization determination /
ステップS306の判定結果から、最適化実行許可パターンテーブル500のパターンのいずれにも一致しなかった場合、最適化判断/指示タスク209は、最適化を実行しないと判断してステップS311へ進む。
If the result of determination in step S306 does not match any of the patterns in the optimization execution permission pattern table 500, the optimization determination /
ステップS311では、既に最適化処理が実行中の場合もあるため、最適化判断/指示タスク209は、RAM103に保存されている最適化実行状況テーブル600を参照し、最適化処理の実行状況を確認する。
In step S311, since the optimization process may already be in progress, the optimization determination /
次に、最適化判断/指示タスク209は、最適化実行状況テーブル600のメインステータス601を参照して最適化処理が実行中かを判定し(ステップS312)、実行中であれば、最適化処理の中断を指示する(ステップS313)。一方、実行中でなければ、そのままステップS302に戻る。
Next, the optimization determination /
このようにして、ジョブの実行状況を取得し、不揮発性半導体記憶装置の最適化を実行するか否かを逐次判断し、ジョブ処理中であっても実行可能なタイミングで最適化実行指示を行い、該記憶装置のパフォーマンス低下を抑制する。 In this way, the job execution status is acquired, it is sequentially determined whether or not the nonvolatile semiconductor memory device is to be optimized, and an optimization execution instruction is given at a timing that can be executed even during job processing. , To suppress the performance degradation of the storage device.
次に、図3の最適化判断フローにて最適化の実行指示・中断指示を行った後、最適化実行管理タスク210上で動作する最適化の実行・中断を行う処理について図5を用いて説明する。
Next, with reference to FIG. 5, a process for executing / suspending optimization performed on the optimization
図5は、ストレージ管理部208の最適化実行管理タスク210により実行される記憶装置の最適化実行処理の流れを示すフローチャートである。なお、本処理は、上述したようにCPU101がROM102またはStorage1_110から読み出したプログラムを実行することにより実現されるものであるが、便宜上、最適化実行管理タスク210を主体にして説明する。
FIG. 5 is a flowchart showing the flow of the storage device optimization execution process executed by the optimization
まず、最適化実行管理タスク210は、ファイルシステム203に記録されている不図示のトリム対象領域の情報(アドレス、サイズ)を取得する(ステップS701)。
First, the optimization
次に、最適化実行管理タスク210は、最適化実行状況テーブル600を参照し、ファイルシステム203から取得したトリム対象領域の情報(アドレス、サイズ)と比較して差分がある場合にはエントリ追加や削除の更新を行う(ステップS702)。エントリ追加の場合には、エントリ番号602、アドレス604、サイズ605にファイルシステム203から取得した追加の領域情報が追加される。エントリ新規追加の場合、サブステータス603に“Waiting”(実行待ち)が登録される。エントリ削除の場合には、該当するエントリ番号602の情報が全て削除される。
Next, the optimization
ステップS702で最適化実行状況テーブル600のテーブル更新が完了すると、最適化実行管理タスク210は、最適化未実行のエントリがあるか判定する(ステップS703)。最適化未実行のエントリの判定方法は、各エントリのサブステータス603を確認し、“Waiting”(実行待ち)のエントリがあるか否かで行われる。その結果、未実行のエントリがあった場合、最適化実行管理タスク210は、そのエントリが示すトリム対象領域に対してトリムコマンドを実行する(ステップS704)。具体的には、最適化実行管理タスク210は、トリム対象領域の情報(アドレス604、サイズ605の情報)を付加してトリムの実行をデバイスドライバ202に命令する。デバイスドライバ202は、DISKC109にトリムコマンドの発行設定を行い、DISKC109からトリムコマンドが発行され、Storage1_110でトリム処理が実行される。
When the table update of the optimization execution status table 600 is completed in step S702, the optimization
トリムコマンドの実行開始後、最適化実行管理タスク210は、最適化実行状況テーブル600の更新を行う(ステップS705)。具体的には、最適化実行管理タスク210は、メインステータス601を“Executing”に書き換え、最適化を実行開始したエントリのサブステータス603を“Executing”に書き換える。
After starting the execution of the trim command, the optimization
次に、最適化実行管理タスク210は、図3のステップ313で説明したように、最適化判断/指示タスク209から中断指示があるか判定する(ステップS706)。中断指示がなかった場合は、ステップS703に戻り、未実行エントリに対するトリム実行を継続する。一方、中断指示があった場合、最適化実行管理タスク210は、最適化実行状況テーブル600の更新を行う(ステップS707)。具体的には、最適化実行管理タスク210は、メインステータス601を“Suspend”に書き換え、後続のエントリに対してトリム処理は実施せずに、本処理を終了する。
Next, the optimization
このように、最適化実行管理タスク210は、最適化判断/指示タスク209の指示を受けて不揮発性半導体記憶装置に対する最適化の実行や中断を行い、不揮発性半導体記憶装置の読み書き性能の低下を改善する。
As described above, the optimization
以上説明したように、取得したジョブ状況から情報処理装置が所定のジョブ状況にあるか否かを判断し、所定のジョブ状況にある場合には記憶装置の最適化を実行する。これにより、記憶装置を備える情報処理装置でジョブが実行中であっても情報処理装置の生産性を落とすことなく記憶装置の最適化処理を実行することができる。 As described above, it is determined from the acquired job status whether or not the information processing device is in a predetermined job status. If the information processing device is in the predetermined job status, the storage device is optimized. Thereby, even if a job is being executed by the information processing apparatus including the storage device, the optimization processing of the storage device can be executed without reducing the productivity of the information processing device.
なお、上述した実施形態では、本発明を画像形成装置に適用した場合について説明したが、画像形成装置以外の装置、例えば情報処理装置等であってもかまわない。 In the above-described embodiment, the case where the present invention is applied to the image forming apparatus has been described. However, an apparatus other than the image forming apparatus, such as an information processing apparatus, may be used.
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。 The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, or the like) of the system or apparatus reads the program. It is a process to be executed.
100 画像形成装置
110 Storage1
203 ファイルシステム
208 ストレージ管理部
209 最適化判断/指示タスク
210 最適化実行管理タスク
100
203
Claims (8)
前記情報処理装置における印刷ジョブのジョブ状況を取得する取得手段と、
前記取得手段により取得した前記情報処理装置のジョブ状況が所定のジョブの中断を示す状況にあるか否かを判断する判断手段と、
前記判断手段により、前記情報処理装置が前記所定のジョブの中断を示す状況にあると判断された場合に前記半導体記憶装置の物理メモリブロックのウェアレベリングのために利用可能なトリムコマンドを実行する実行手段と、
前記所定のジョブの中断の原因が解消されたことに応じて、前記トリムコマンドの実行に基づく前記半導体記憶装置の最適化処理を中断して前記印刷ジョブの再開を行う制御手段と、
を備えることを特徴とする情報処理装置。 In an information processing apparatus including a semiconductor storage device,
Obtaining means for obtaining a job status of a print job in the information processing apparatus;
Determination means for determining whether or not the job status of the information processing apparatus acquired by the acquisition means is in a status indicating interruption of a predetermined job;
Executing said by determining means, the information processing apparatus executes the trim command available for wear leveling of the physical memory blocks of the semiconductor memory device when it is determined that the status indicating interruption of the predetermined job Means ,
Control means for resuming the print job by interrupting the optimization processing of the semiconductor memory device based on execution of the trim command in response to elimination of the cause of interruption of the predetermined job;
An information processing apparatus comprising:
前記情報処理装置における印刷ジョブのジョブ状況を取得手段により取得する取得工程と、
前記取得工程にて取得した前記情報処理装置のジョブ状況が所定のジョブの中断を示す状況にあるか否かを判断手段により判断する判断工程と、
前記判断工程にて前記情報処理装置が前記所定のジョブ中断を示す状況にあると判断された場合に前記半導体記憶装置の物理メモリブロックのウェアレベリングのために利用可能なトリムコマンドを実行手段により実行する実行工程と、
前記所定のジョブの中断の原因が解消されたことに応じて、前記トリムコマンドの実行に基づく前記半導体記憶装置の最適化処理を中断して前記印刷ジョブの再開を制御手段により行う制御工程と、
を備えることを特徴とする制御方法。 In a control method of an information processing apparatus including a semiconductor memory device,
An acquisition step of acquiring the job status of the print job in the information processing apparatus by an acquisition unit ;
A determination step of determining by a determination means whether or not the job status of the information processing apparatus acquired in the acquisition step indicates a status indicating interruption of a predetermined job;
Executed by the execution means the trim command available for wear leveling of the physical memory blocks of the semiconductor memory device when said information processing apparatus by said determining step is determined to be in the situation shown the interruptions predetermined job An execution process to perform ,
A control step of interrupting optimization processing of the semiconductor memory device based on execution of the trim command and resuming the print job by a control means in response to elimination of the cause of interruption of the predetermined job;
A control method comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014015613A JP6289128B2 (en) | 2014-01-30 | 2014-01-30 | Information processing apparatus, control method therefor, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014015613A JP6289128B2 (en) | 2014-01-30 | 2014-01-30 | Information processing apparatus, control method therefor, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015141681A JP2015141681A (en) | 2015-08-03 |
JP6289128B2 true JP6289128B2 (en) | 2018-03-07 |
Family
ID=53771957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014015613A Expired - Fee Related JP6289128B2 (en) | 2014-01-30 | 2014-01-30 | Information processing apparatus, control method therefor, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6289128B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11599303B2 (en) | 2019-07-19 | 2023-03-07 | Canon Kabushiki Kaisha | Information processing apparatus using nonvolatile semiconductor memory device and control method therefor |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7467088B2 (en) | 2019-12-03 | 2024-04-15 | キヤノン株式会社 | Information processing device, processing method and program for information processing device |
JP2021090169A (en) | 2019-12-05 | 2021-06-10 | キヤノン株式会社 | Image forming apparatus and method for controlling image forming apparatus |
JP2021100182A (en) | 2019-12-20 | 2021-07-01 | キヤノン株式会社 | Image forming apparatus and method for controlling image forming apparatus |
JP2021099642A (en) | 2019-12-20 | 2021-07-01 | キヤノン株式会社 | Information processing device and method for controlling information processing device |
JP7419909B2 (en) | 2020-03-23 | 2024-01-23 | 富士フイルムビジネスイノベーション株式会社 | Image forming device and program |
JP2022078790A (en) | 2020-11-13 | 2022-05-25 | 富士フイルムビジネスイノベーション株式会社 | Information processor and information processing program |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004234546A (en) * | 2003-01-31 | 2004-08-19 | Sanyo Electric Co Ltd | Program running method and device |
US7774389B2 (en) * | 2007-01-17 | 2010-08-10 | Microsoft Corporation | Optimized garbage collection techniques |
JP2009054016A (en) * | 2007-08-28 | 2009-03-12 | Ricoh Co Ltd | Image forming apparatus, image forming method and program |
CA2700872A1 (en) * | 2007-10-05 | 2009-04-09 | Diskeeper Corporation | Solid state drive optimizer |
JP2011034305A (en) * | 2009-07-31 | 2011-02-17 | Ricoh Co Ltd | Image forming device, method of controlling generation of garbage collection function, program, and storage medium |
-
2014
- 2014-01-30 JP JP2014015613A patent/JP6289128B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11599303B2 (en) | 2019-07-19 | 2023-03-07 | Canon Kabushiki Kaisha | Information processing apparatus using nonvolatile semiconductor memory device and control method therefor |
Also Published As
Publication number | Publication date |
---|---|
JP2015141681A (en) | 2015-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6289128B2 (en) | Information processing apparatus, control method therefor, and program | |
US8176344B2 (en) | Information processing apparatus and control method thereof | |
US9412055B2 (en) | Image forming apparatus that selectively stores print data in a cache memory to a secondary memory device | |
JP5917163B2 (en) | Information processing apparatus, control method and program thereof, and storage medium | |
US10963196B2 (en) | Printing apparatus, method for controlling the same, and storage medium | |
JP4939175B2 (en) | Image forming apparatus | |
US10114596B2 (en) | Printing apparatus capable of preventing information leakage when error occurs, method of controlling the same, and storage medium | |
JP6875808B2 (en) | Information processing device | |
KR20200131201A (en) | Printing apparatus and method for controlling printing apparatus | |
JP6703790B2 (en) | Information processing apparatus, control method thereof, and program | |
JP7071549B2 (en) | Printing device, control method of printing device, and program | |
JP2011003060A (en) | Information processor, and control method and program of the same | |
JP6000754B2 (en) | Image processing apparatus, image processing apparatus control method, and program | |
JP2013117910A (en) | Information processor, control method thereof, and program | |
US9519552B2 (en) | Image forming apparatus which executes rebuild processes | |
JP2014138265A (en) | Image forming apparatus | |
JP2018063499A (en) | Information processing device, control method thereof, and program | |
JP2012191370A (en) | Image forming device | |
JP2021093569A (en) | Image processing apparatus, information processing method, and program | |
JP2021179786A (en) | Information processor, control method therefor, and program | |
JP2021072016A (en) | Image forming apparatus, method for controlling the same, and program | |
JP2020107386A (en) | Storage control device and control method thereof, and program | |
JP2014045405A (en) | Image processing apparatus, control method of image processing apparatus, and program | |
JP2017069660A (en) | Image forming apparatus and job execution program | |
JP2017097706A (en) | Information processing device and control method therefor, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170123 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171010 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171017 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171218 |
|
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: 20180109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180206 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6289128 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |