JP2022078790A - 情報処理装置及び情報処理プログラム - Google Patents
情報処理装置及び情報処理プログラム Download PDFInfo
- Publication number
- JP2022078790A JP2022078790A JP2020189715A JP2020189715A JP2022078790A JP 2022078790 A JP2022078790 A JP 2022078790A JP 2020189715 A JP2020189715 A JP 2020189715A JP 2020189715 A JP2020189715 A JP 2020189715A JP 2022078790 A JP2022078790 A JP 2022078790A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- data
- writing
- write
- information processing
- 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.)
- Pending
Links
- 230000010365 information processing Effects 0.000 title claims description 56
- 230000015654 memory Effects 0.000 claims abstract description 320
- 238000005457 optimization Methods 0.000 claims abstract description 43
- 238000012545 processing Methods 0.000 claims abstract description 35
- 238000000034 method Methods 0.000 claims description 72
- 230000008569 process Effects 0.000 claims description 69
- 230000008859 change Effects 0.000 claims description 9
- 230000006870 function Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000007423 decrease Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
【課題】情報処理装置が有するメモリに対して連続的にデータが書き込まれる状況であっても、当該メモリへのデータの書き込み速度を回復させるための最適化処理を実行可能とする。【解決手段】書き込み速度取得部26は、第1メモリ20へのデータの書き込み速度を取得する。書き込み先設定部28は、第1メモリ20へのデータの書き込み速度が速度閾値未満となった場合に、データの書き込み先を第1メモリ20から第2メモリ22へ変更する。最適化処理実行部30は、データの書き込み先が第2メモリ22である状態において、第1メモリ20に対して、第1メモリ20のデータの書き込み速度が回復するように第1メモリ20の状態を最適化する最適化処理を実行する。【選択図】図1
Description
本発明は、情報処理装置及び情報処理プログラムに関する。
従来、メモリへのデータの書き込みを繰り返していくうちに、メモリへのデータの書き込み速度が低下する場合があった。書き込み速度とは、単位時間当たりにメモリに書き込めるデータのデータ容量を表す指標である。書き込み速度が低下する要因としては、例えば、古いデータが書き込まれたデータブロックに新しいデータを書き込む際に、当該古いデータを消去してからデータを書き込むことが必要になること、あるいは、データブロックの空き状況に起因して1つのデータが非連続の複数のデータブロックに分割されて記憶されること(フラグメンテーション)などがある。
そこで、従来、メモリへのデータの書き込み速度を回復させるための最適化処理が提案されている。最適化処理には、例えば、不要なデータを予めデータブロックから消去する処理や、データブロック群におけるデータの配置を整理する処理(デフラグメンテーション)などがある。
ここで、最適化処理の効果を好適に発揮させるには、メモリに対してデータの書き込み処理が行われていない間に最適化処理を実行する必要がある。したがって、従来、最適化処理のタイミングを工夫した技術が提案されている。例えば、特許文献1には、入力された処理命令(ジョブ)の状況が所定の状況である場合に、メモリに対して最適化処理を実行する画像処理装置が開示されている。上記所定の状況とは、例えば、減速プリント中、キャリブレーション中、印刷用紙補給待ち中、トナー補給待ち中、ジャム解除待ち中、給紙カセット切り替え中などである。すなわち、特許文献1では、メモリに対するデータの書き込みが中断すると考えられるタイミングにおいて、メモリに対して最適化処理が実行されている。
上述の通り、メモリへのデータの書き込み速度を回復させるための最適化処理は、メモリに対するデータの書き込み処理が行われていない間に行う必要があるところ、従来、メモリに対して連続的にデータが書き込まれる状況においては、メモリに対する最適化処理を行うことが困難であった。
本発明の目的は、情報処理装置が有するメモリに対して連続的にデータが書き込まれる状況であっても、当該メモリへのデータの書き込み速度を回復させるための最適化処理を実行可能とすることにある。
請求項1に係る発明は、プロセッサ、第1メモリ、及び第2メモリを備え、前記プロセッサは、前記第1メモリへのデータの書き込み速度が速度閾値未満となった場合に、データの書き込み先を前記第1メモリから前記第2メモリに変更し、データの書き込み先が前記第2メモリである状態において、前記第1メモリに対して、前記第1メモリへのデータの書き込み速度が回復するように前記第1メモリの状態を最適化する最適化処理を実行する、ことを特徴とする情報処理装置である。
請求項2に係る発明は、前記プロセッサは、前記最適化処理の完了後、データの書き込み先を前記第2メモリから前記第1メモリに変更する、ことを特徴とする請求項1に記載の情報処理装置である。
請求項3に係る発明は、前記プロセッサは、データの書き込み先を前記第1メモリから前記第2メモリに変更し、前記第2メモリに対してデータセットの書き込みが開始された後、当該データセットの書き込み処理の実行中においては、前記データの書き込み先を前記第2メモリから前記第1メモリに変更しない、ことを特徴とする請求項2に記載の情報処理装置である。
請求項4に係る発明は、前記プロセッサは、前記第1メモリに対するデータセットの書き込み処理実行中においては、前記データの書き込み先を前記第1メモリから前記第2メモリに変更しない、ことを特徴とする請求項1に記載の情報処理装置である。
請求項5に係る発明は、前記第2メモリは複数設けられ、複数の前記第2メモリは、書き込み寿命が有る第2メモリと、書き込み寿命が無い第2メモリを含み、前記プロセッサは、前記第1メモリへのデータの書き込み速度が速度閾値未満となった場合に、前記書き込み寿命が有る第2メモリよりも前記書き込み寿命が無い第2メモリを優先して、複数の前記第2メモリの中から変更後のデータの書き込み先を選択する、ことを特徴とする請求項1に記載の情報処理装置である。
請求項6に係る発明は、前記プロセッサは、前記第1メモリへのデータの書き込み速度が速度閾値未満となった場合に、複数の前記第2メモリの全ての空き容量が空き容量閾値未満である場合は、データの書き込み先を変更しない、ことを特徴とする請求項5に記載の情報処理装置である。
請求項7に係る発明は、前記プロセッサは、自装置に入力された処理命令に応じた処理を実行し、前記第1メモリへのデータの書き込み速度が速度閾値未満となった場合に、自装置に入力された処理命令に係るデータの書き込み先を前記第1メモリから前記第2メモリに変更する、ことを特徴とする請求項1に記載の情報処理装置である。
請求項8に係る発明は、第1メモリ及び第2メモリを備えるコンピュータに、前記第1メモリへのデータの書き込み速度が速度閾値未満となった場合に、データの書き込み先を前記第1メモリから前記第2メモリに変更させ、データの書き込み先が前記第2メモリである状態において、前記第1メモリに対して、前記第1メモリへのデータの書き込み速度が回復するように前記第1メモリの状態を最適化する最適化処理を実行させる、ことを特徴とする情報処理プログラムである。
請求項2に係る発明は、前記プロセッサは、前記最適化処理の完了後、データの書き込み先を前記第2メモリから前記第1メモリに変更する、ことを特徴とする請求項1に記載の情報処理装置である。
請求項3に係る発明は、前記プロセッサは、データの書き込み先を前記第1メモリから前記第2メモリに変更し、前記第2メモリに対してデータセットの書き込みが開始された後、当該データセットの書き込み処理の実行中においては、前記データの書き込み先を前記第2メモリから前記第1メモリに変更しない、ことを特徴とする請求項2に記載の情報処理装置である。
請求項4に係る発明は、前記プロセッサは、前記第1メモリに対するデータセットの書き込み処理実行中においては、前記データの書き込み先を前記第1メモリから前記第2メモリに変更しない、ことを特徴とする請求項1に記載の情報処理装置である。
請求項5に係る発明は、前記第2メモリは複数設けられ、複数の前記第2メモリは、書き込み寿命が有る第2メモリと、書き込み寿命が無い第2メモリを含み、前記プロセッサは、前記第1メモリへのデータの書き込み速度が速度閾値未満となった場合に、前記書き込み寿命が有る第2メモリよりも前記書き込み寿命が無い第2メモリを優先して、複数の前記第2メモリの中から変更後のデータの書き込み先を選択する、ことを特徴とする請求項1に記載の情報処理装置である。
請求項6に係る発明は、前記プロセッサは、前記第1メモリへのデータの書き込み速度が速度閾値未満となった場合に、複数の前記第2メモリの全ての空き容量が空き容量閾値未満である場合は、データの書き込み先を変更しない、ことを特徴とする請求項5に記載の情報処理装置である。
請求項7に係る発明は、前記プロセッサは、自装置に入力された処理命令に応じた処理を実行し、前記第1メモリへのデータの書き込み速度が速度閾値未満となった場合に、自装置に入力された処理命令に係るデータの書き込み先を前記第1メモリから前記第2メモリに変更する、ことを特徴とする請求項1に記載の情報処理装置である。
請求項8に係る発明は、第1メモリ及び第2メモリを備えるコンピュータに、前記第1メモリへのデータの書き込み速度が速度閾値未満となった場合に、データの書き込み先を前記第1メモリから前記第2メモリに変更させ、データの書き込み先が前記第2メモリである状態において、前記第1メモリに対して、前記第1メモリへのデータの書き込み速度が回復するように前記第1メモリの状態を最適化する最適化処理を実行させる、ことを特徴とする情報処理プログラムである。
請求項1又は8に係る発明によれば、情報処理装置が有するメモリに対して連続的にデータが書き込まれる状況であっても、当該メモリへのデータの書き込み速度を回復させるための最適化処理を実行することができる。
請求項2に係る発明によれば、第1メモリの最適化処理が完了した後、再度データを第1メモリに書き込むことができる。
請求項3又は4に係る発明によれば、データセットを読み出す際に、当該データセットの読み出しの対象となるメモリを途中で変更する必要が生じることを抑制することができる。
請求項5に係る発明によれば、第2メモリの書き込み寿命の低下を抑制することができる。
請求項6に係る発明によれば、データが第2メモリに書き込めなくなることを抑制することができる。
請求項7に係る発明によれば、情報処理装置に入力された処理命令に係るデータがメモリに対して連続的に書き込まれる状況であっても、当該メモリへのデータの書き込み速度を回復させるための最適化処理を実行することができる。
請求項2に係る発明によれば、第1メモリの最適化処理が完了した後、再度データを第1メモリに書き込むことができる。
請求項3又は4に係る発明によれば、データセットを読み出す際に、当該データセットの読み出しの対象となるメモリを途中で変更する必要が生じることを抑制することができる。
請求項5に係る発明によれば、第2メモリの書き込み寿命の低下を抑制することができる。
請求項6に係る発明によれば、データが第2メモリに書き込めなくなることを抑制することができる。
請求項7に係る発明によれば、情報処理装置に入力された処理命令に係るデータがメモリに対して連続的に書き込まれる状況であっても、当該メモリへのデータの書き込み速度を回復させるための最適化処理を実行することができる。
図1は、本実施形態に係る情報処理装置10の構成概略図である。本実施形態では、情報処理装置10は、利用者(ユーザ)から入力された処理命令としてのジョブに応じて、当該ジョブに係る処理を実行する装置(例えば、プリント(印刷)機能、スキャン(画像読取)機能、コピー機能、FAX送信機能などを備える複合機など)である。しかしながら、情報処理装置10としては、メモリを複数有し、データをメモリに記憶させるものであって、メモリに対して最適化処理を実行可能な限りにおいてどのような装置であってもよい。例えば、情報処理装置10は、パーソナルコンピュータ、サーバ、その他の装置であってもよい。
通信インターフェース12は、例えばネットワークアダプタなどを含んで構成される。通信インターフェース12は、LAN(Local Area Network)などの通信回線を介して他の装置(例えばユーザが使用するユーザ端末)と通信する機能を発揮する。特に、通信インターフェース12は、ユーザ端末から、処理対象となるデータを含むジョブを受信する。そのようなジョブとしては、例えば、情報処理装置10に印刷処理を行わせるためのプリントジョブなどがある。プリントジョブには、当該プリントジョブに係る(印刷処理の対象となる)画像データが含まれる。
入出力インターフェース14は、例えばタッチパネルあるいはボタンなどの入力インターフェース、及び、ディスプレイあるいはスピーカなどの出力インターフェースを含んで構成される。
入力インターフェースは、ユーザが情報処理装置10に種々の指示を入力するために用いられる。例えば、ユーザは、情報処理装置10が有する用紙トレイ(不図示)に紙原稿をセットした上で、情報処理装置10にスキャン処理を行わせるためのスキャンジョブを入力インターフェースから入力することができる。後述のスキャナ16は、当該スキャンジョブに応じて、用紙トレイにセットされた紙原稿を光学的に読み取って、当該スキャンジョブに係る画像データを取得する。同様に、ユーザは、入力インターフェースから、情報処理装置10にコピー処理(紙原稿をスキャンして得られた画像データを印刷媒体に印刷する処理)を行わせるためのコピージョブや、情報処理装置10にFAX送信処理(紙原稿をスキャンして得られた画像データをFAX送信する処理)を行わせるためのFAXジョブを入力インターフェースから入力することができる。
出力インターフェースは、情報処理装置10がユーザに対して種々の情報を出力するために用いられる。例えば、出力インターフェースとしてのディスプレイには、種々の画面が表示される。
スキャナ16は、例えば光源及びCCD(Charge Coupled Device)などから構成される。スキャナ16は、紙原稿を光学的に読み取って、当該紙原稿に応じた画像データを生成する。上述のように、スキャナ16は、ユーザがスキャンジョブ、コピージョブ、又はFAXジョブを情報処理装置10に入力した場合、用紙トレイにセットされた紙原稿を光学的に読み取って、ジョブに係る画像データを取得する。
プリンタ18は、例えば帯電装置、感光ドラム、トナー、あるいは印刷媒体搬送装置などを含んで構成される。プリンタ18は、ユーザがプリントジョブを情報処理装置10に入力した場合、当該プリントジョブに係る画像データに基づいて、印刷媒体上に画像を形成(すなわち印刷)する。また、プリンタ18は、ユーザがコピージョブを情報処理装置10に入力した場合、当該コピージョブに応じてスキャナ16が取得した画像データに基づいて、印刷媒体上に画像を形成する。
第1メモリ20は、データを書き込むことにより、書き込み速度が低下し得るメモリである。上述の通り、書き込み速度とは、単位時間当たりに第1メモリ20に書き込めるデータのデータ容量を表す指標である。
例えば、第1メモリ20は、NAND型メモリであってよい。NAND型メモリとしては、例えば、SSD(Solid State Drive)、eMMC(embedded Multi Media Card)、あるいはSDカードなどがある。なお、NAND型メモリは不揮発性のメモリであり、書き込み寿命が有るメモリである。書き込み寿命とは、第1メモリ20にデータを書き込むことに起因して減っていくものであり、第1メモリ20に対してデータを書き込むことができなくなるまでの間の、第1メモリ20に対してデータを書き込む回数、又は、第1メモリ20に対して書き込むデータの総容量などに応じて決まるパラメータである。
NAND型メモリは、古いデータ(不要なデータ)が書き込まれたデータブロックに新たなデータを書き込む際、当該古いデータを削除する必要がある。したがって、第1メモリ20へのデータの書き込み処理を繰り返し、不要なデータが記憶されたデータブロックが多くなると、データ削除処理の分だけ第1メモリ20へのデータの書き込み速度が低下してしまう。また、NAND型メモリの各データブロックは書き込み寿命があるため、データを書き込む際に、各データブロックへの書き込み回数を平滑化するための処理(ウェアレベリング処理)が実行される場合がある。当該ウェアレベリング処理においては、既に第1メモリ20に記憶されているデータを他のデータブロックに移す場合があるところ、移転先のデータブロックに不要なデータが記憶されている場合は、当該不要なデータを削除してから、データを移す必要がある。したがって、第1メモリ20へのデータの書き込み処理を繰り返し、不要なデータが書き込まれたデータブロックが多くなると、ウェアレベリング処理にも時間がかかり、これにより第1メモリ20へのデータの書き込み速度が低下してしまう。
また、第1メモリ20は、HDD(Hard Disk Drive)のような磁気ディスクであってもよい。なお、磁気ディスクは不揮発性のメモリであり、書き込み寿命が無いメモリである。磁気ディスクにおいては、データの書き込み処理を繰り返していくと、データが書き込まれていない空きデータブロックが非連続となる場合が生じ、このような場合、1つのデータを非連続の複数のデータブロックに分割して記憶しなければならなくなる。この場合、データを連続したデータブロックに書き込む場合に比して、磁気ヘッドの移動量が多くなり、これにより第1メモリ20へのデータの書き込み速度が低下してしまう。
また、第1メモリ20は、低下した書き込み速度を回復させるための最適化処理を施すことが可能であるメモリである。
例えば、第1メモリ20がSSDなどのNAND型メモリである場合、最適化処理としてトリムと呼ばれる処理を第1メモリ20に施すことができる。トリムは、第1メモリ20に記憶されたデータであって不要なデータ(例えばユーザから削除指示がされているデータ)を、予め(つまり当該不要なデータが書き込まれたデータブロックに対して書き込まれるべき新しいデータが決定される前に)削除しておく処理である。トリムによれば、新しいデータをデータブロックに書き込む際に、古いデータを削除する必要がないから、第1メモリ20へのデータの書き込み速度を回復させることができる。また、ウェアレベリング処理を行う際にも、データを他のデータブロックに書き写す際に削除処理が不要となり、ウェアレベリング処理が効率化されることによっても第1メモリ20へのデータの書き込み速度を回復させることができる。
また、例えば、第1メモリ20がHDDなどの磁気ディスクである場合、最適化処理としてデフラグメンテーションと呼ばれる処理を第1メモリ20に施すことができる。デフラグメンテーションは、空きデータブロック(及び断片化されたデータ断片)を連続的に配置しなおす処理である。これにより、データの書き込みの際における磁気ヘッドの移動量が低減され、第1メモリ20へのデータの書き込み速度を回復させることができる。
第1メモリ20には、種々のデータが書き込まれる。本実施形態では、第1メモリ20には、情報処理装置10に入力されたジョブに係るデータが書き込まれる。例えば、情報処理装置10にプリントジョブが入力された場合、当該プリントジョブに含まれる画像データが第1メモリ20に書き込まれる。また、情報処理装置10にスキャンジョブ、コピージョブ、又はFAXジョブが入力された場合、当該ジョブに応じてスキャナ16が紙原稿を読み取って取得した画像データが第1メモリ20に書き込まれる。
また、第1メモリ20には、情報処理装置10の各部を動作させるための情報処理プログラムが記憶される。
第2メモリ22は、第1メモリ20とは別個に設けられるメモリである。第2メモリ22は様々な種類のメモリであってもよい。例えば、第2メモリ22は、NAND型メモリや磁気ディスクのような不揮発性メモリであってもよいし、DRAMのような揮発性メモリであってもよい。また、第2メモリ22は、NAND型メモリなどのような書き込み寿命の有るメモリであってもよいし、磁気ディスクのような書き込み寿命が無いメモリであってもよい。また、第2メモリ22の記憶可能容量は、第1メモリ20に比して小さいものであってよい。
また、図1には、1つの第2メモリ22のみが示されているが、情報処理装置10は、複数の第2メモリ22を有していてもよい。複数の第2メモリ22が設けられている場合、複数の第2メモリ22は、書き込み寿命が有る第2メモリ22と、書き込み寿命の無い第2メモリ22とを含んでいてもよい。
第2メモリ22にも様々な種類のデータが書き込まれる。本実施形態では、第2メモリ22には、情報処理装置10に入力されたジョブに係るデータが書き込まれる。このように、情報処理装置10には、データ(本実施形態ではジョブに係るデータ)が書き込まれるメモリとして、第1メモリ20及び第2メモリ22が設けられているが、データがどのメモリに書き込まれるかは、後述のプロセッサ24(より詳しくは書き込み先設定部28)により決定される。
プロセッサ24は、広義的なプロセッサを指し、汎用的なプロセッサ(例えばCPU(Central Processing Unit)など)、及び、専用の処理装置(例えばGPU(Graphics Processing Unit)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、あるいは、プログラマブル論理デバイスなど)の少なくとも1つを含んで構成される。プロセッサ24としては、1つの処理装置によるものではなく、物理的に離れた位置に存在する複数の処理装置の協働により構成されるものであってもよい。図1に示す通り、プロセッサ24は、第1メモリ20に記憶された情報処理プログラムにより書き込み速度取得部26、書き込み先設定部28、及び、最適化処理実行部30としての機能を発揮する。
書き込み速度取得部26は、第1メモリ20へのデータの書き込み速度を取得する。本実施形態では、書き込み速度取得部26は、実際に第1メモリ20へデータが書き込む際に、当該データの容量と、当該データを第1メモリ20に書き込むのに要した書き込み時間を測定する。その上で、データ容量と書き込み時間とに基づいて、単位時間当たりの第1メモリ20へのデータ書き込み容量を算出する。このように算出された値を第1メモリ20へのデータの書き込み速度として取得する。また、第1メモリ20へのデータの書き込み速度として、連続したデータブロックへのデータの書き込み速度であるシーケンシャルライト性能と、非連続のデータブロックへのデータの書き込み速度であるランダムライト性能があり、両者の速度が異なる場合がある。このような場合は、書き込み速度取得部26は、シーケンシャルライト性能とランダムライト性能の少なくとも一方を取得する。
なお、第1メモリ20へのデータの書き込み速度の取得方法はこれには限られず、他の方法であってもよい。例えば、ジョブに係る処理には、ジョブに係るデータを第1メモリ20に書き込むステップがあるため、当該データの第1メモリ20への書き込み速度に応じて当該ジョブの処理速度が変動することになる。したがって、ジョブの処理速度に基づいて、間接的に、第1メモリ20へのデータの書き込み速度を算出するようにしてもよい。
書き込み速度取得部26は、第1メモリ20にデータが書き込まれる度に第1メモリ20へのデータの書き込み速度を取得するようにしてもよいが、間欠的に書き込み速度を取得するようにしてもよい。例えば、定期的に(数分毎、数時間毎など)第1メモリ20へのデータの書き込み速度を取得するようにしてもよい。
書き込み先設定部28は、書き込み速度取得部26が取得した第1メモリ20へのデータの書き込み速度に基づいて、データの書き込み先を第1メモリ20及び第2メモリ22のいずれかに設定する。具体的には、書き込み先設定部28は、第1メモリ20へのデータの書き込み速度が速度閾値未満となった場合に、データの書き込み先を第1メモリ20から第2メモリ22へ変更する。ここでの速度閾値は、例えば情報処理装置10の管理者などによって予め定められていてよい。
なお、書き込み速度取得部26により、書き込み速度として、シーケンシャルライト性能と、ランダムライト性能が取得される場合には、シーケンシャルライト性能に関する速度閾値と、ランダムライト性能に関する速度閾値を別個に設けられてよい。その上で、書き込み先設定部28は、シーケンシャルライト性能とランダムライト性能のいずれか一方が速度閾値未満となった場合、又は、シーケンシャルライト性能とランダムライト性能の両方が速度閾値未満となった場合に、データの書き込み先を第1メモリ20から第2メモリ22へ変更する。
書き込み先設定部28によりデータの書き込み先が第2メモリ22へ設定されている間は、第1メモリ20に書き込まれる予定だったあらゆるデータが第2メモリ22に書き込まれるようになる。つまり、第1メモリ20には一切データが書き込まれなくなる。
最適化処理実行部30は、データの書き込み先が第2メモリ22である状態において、第1メモリ20に対して、第1メモリ20のデータの書き込み速度が回復するように第1メモリ20の状態を最適化する最適化処理を実行する。本実施形態では、最適化処理実行部30は、第1メモリ20に対して最適化処理指示を送り、第1メモリ20に最適化のための実処理を行わせる。上述の通り、最適化処理とは、例えば、第1メモリ20がNAND型メモリであればトリムであり、第1メモリ20がHDDであれば、デフラグメンテーションである。
上述の通り、データの書き込み先が第2メモリ22である状態においては、第1メモリ20には一切データが書き込まれないから、第1メモリ20に対する最適化処理(詳しくは第1メモリ20における最適化のための実処理)が好適に実行される。なお、第1メモリ20からデータの読み出しが行われている場合には、第1メモリ20に対する最適化処理が好適に実行されない場合があるが、第1メモリ20からのデータの読み出しが行われていないことを前提とすれば、少なくとも、第2メモリ22へデータを書き込んでいる間においても、第1メモリ20に対する最適化処理を好適に実行することができる。且つ、第1メモリ20に対する最適化処理が実行されている間も、データは第2メモリ22に書き込まれるから、情報処理装置10における当該データを用いた処理が停滞することがない。
情報処理装置10に複数の第2メモリ22が設けられている場合、データの書き込み先が第1メモリ20である状態において、第1メモリ20へのデータの書き込み速度が速度閾値未満となると、まず、書き込み先設定部28は、情報処理装置10内にある複数の第2メモリ22に関する情報を取得する。第2メモリ22に関する情報には、第2メモリ22のメモリ種別(SDカード、eMMC、DRAMなど)、第2メモリ22の空き容量を示す情報が含まれる。書き込み先設定部28は、第2メモリ22のメモリ種別を取得することで、当該第2メモリ22が書き込み寿命を有するメモリであるか、書き込み寿命を有さないメモリであるかを識別することができる。
書き込み先設定部28は、取得した複数の第2メモリ22に関する情報に基づいて、複数の第2メモリ22の中から、変更後のデータの書き込み先となる第2メモリ22を選択する。
具体的には、書き込み先設定部28は、書き込み寿命が有る第2メモリ22よりも書き込み寿命が無い第2メモリ22を優先して、複数の第2メモリ22の中から変更後のデータの書き込み先を選択する。例えば、第2メモリ22として、eMMC(書き込み寿命有り)と、DRAM(書き込み寿命無し)が有る場合、書き込み先設定部28は、eMMCに優先して、DRAMを変更後のデータの書き込み先として選択する。書き込み寿命の無い第2メモリ22を優先的に選択することで、第2メモリ22にデータを書き込んだときに第2メモリ22の書き込み寿命が減ってしまうことを抑制することができる。
また、書き込み先設定部28は、空き容量が空き容量閾値以上の第2メモリ22の中から、変更後のデータの書き込み先となる第2メモリ22を選択する。換言すれば、書き込み先設定部28は、第1メモリ20へのデータの書き込み速度が速度閾値未満となった場合に、複数の第2メモリ22の全ての空き容量が空き容量閾値未満である場合は、データの書き込み先を変更しない。ここでの空き容量閾値も、例えば情報処理装置10の管理者などによって予め定められていてよい。例えば、情報処理装置10が画像処理装置である場合、空き容量閾値として、数~数十個のジョブに係るデータの総データ容量程度の値(例えば300MBなど)が設定される。空き容量が空き容量閾値以上の第2メモリ22を選択することで、第2メモリ22にデータを書き込んだときに第2メモリ22の空き容量が無くなってしまい、データが第2メモリ22に書き込めなくなることを抑制することができる。
例えば、第2メモリ22として、空き容量が400MBのeMMC(書き込み寿命有り)と、空き容量が200MBのDRAM(書き込み寿命無し)が有る場合であって、空き容量閾値が300MBである場合を考える。この場合、本来、eMMCに優先してDRAMが変更後のデータの書き込み先として選択したいところではあるが、DRAMの空き容量が空き容量閾値未満であるため、書き込み先設定部28は、変更後のデータの書き込み先としてeMMCを選択する。仮に、上記例において、eMMCの空き容量も空き容量閾値未満である場合、書き込み先設定部28は、データの書き込み先を変更しない。
書き込み先設定部28は、最適化処理実行部30による第1メモリ20に対する最適化処理の完了後、データの書き込み先を第2メモリ22から第1メモリ20に変更する(戻す)。これにより、書き込み速度が回復した第1メモリ20に再度データが書き込まれるようになる。
書き込み先設定部28は、データの書き込み先を第1メモリ20から第2メモリ22に変更し、第2メモリ22に対してあるデータセット(例えば1つのジョブに係るデータ)の書き込みが開始された後において、当該データセットの書き込み処理の実行中においては、データの書き込み先を第2メモリ22から第1メモリ20に変更しないようにするのがよい。仮に、1つのデータセットを第2メモリ22に書き込んでいる間に、データの書き込み先を第1メモリ20に変更した場合、1つのデータセットの一部が第2メモリ22に書き込まれ、当該データセットの残りの一部が第1メモリ20に書き込まれることになる。そうすると、当該データセットを読み出す場合、途中でデータの読み出し先のメモリが変わることになってしまい、不都合が生じる可能性がある。例えば、ジョブに係るデータセットが第1メモリ20と第2メモリ22に分割して記憶された場合、当該データセットが1つのメモリに記憶されている場合に比して、当該データセットの読み出しに時間が掛かり、ジョブの処理時間が長くなってしまう場合がある。したがって、データセットが分割して複数のメモリに書き込まれるのを防止すべく、データセットの書き込み処理の実行中においては、データの書き込み先を第1メモリ20に変更しないようにするのがよい。
同じく、データセットが分割して複数のメモリに書き込まれるのを防止する観点から、書き込み先設定部28は、第1メモリ20に対してデータセットを書き込んでいる間は、データの書き込み先を第1メモリ20から第2メモリ22に変更しないようにするのがよい。
本実施形態に係る情報処理装置10の概要は以上の通りである。以下、図2に示すフローチャートに従って、情報処理装置10の処理の流れについて説明する。
ステップS10において、書き込み速度取得部26は、第1メモリ20の書き込み速度を取得する。
ステップS12において、書き込み先設定部28は、ステップS10で取得した第1メモリ20の書き込み速度が速度閾値未満であるか否かを判定する。第1メモリ20の書き込み速度が速度閾値未満ではない場合は処理を終了し(すなわちデータの書き込み先を第1メモリ20から変更せず)、第1メモリ20の書き込み速度が速度閾値未満である場合はステップS14に進む。
ステップS14において、書き込み先設定部28は、情報処理装置10内にある複数の第2メモリ22に関する情報を取得する。
ステップS16において、書き込み先設定部28は、ステップS14で取得した複数の第2メモリ22に関する情報に基づいて、複数の第2メモリ22のうち、空き容量が空き容量閾値以上であって、書き込み寿命が無い第2メモリ22(例えばDRAM)が有るか否かを判定する。そのような第2メモリ22が無ければステップS18に進み、そのような第2メモリ22が有ればステップS20に進む。
ステップS18において、書き込み先設定部28は、ステップS14で取得した複数の第2メモリ22に関する情報に基づいて、複数の第2メモリ22のうち、空き容量が空き容量閾値以上であって、書き込み寿命が有る第2メモリ22(例えばSSDやeMMC)が有るか否かを判定する。そのような第2メモリ22が有ればステップS20に進み、そのような第2メモリ22が無ければ処理を終了する(すなわちデータの書き込み先を第1メモリ20から変更しない)。
ステップS20において、書き込み先設定部28は、変更後のデータの書き込み先である第2メモリ22を選択する。空き容量が空き容量閾値以上であって、書き込み寿命が無い第2メモリ22が有った場合(ステップS16で「はい」)は、書き込み先設定部28は、当該書き込み寿命の無い第2メモリ22を変更後のデータの書き込み先として選択する。なお、空き容量が空き容量閾値以上であって書き込み寿命が無い第2メモリ22が複数有った場合は、書き込み先設定部28は、その中のいずれか(例えば空き容量が最も大きい第2メモリ22)を選択してよい。空き容量が空き容量閾値以上であって書き込み寿命が無い第2メモリ22が無く、空き容量が空き容量閾値以上であって書き込み寿命が有る第2メモリ22有った場合(ステップS16で「いいえ」、ステップS18で「はい」)は、書き込み先設定部28は、当該書き込み寿命の有る第2メモリ22を変更後のデータの書き込み先として選択する。なお、空き容量が空き容量閾値以上であって、書き込み寿命が有る第2メモリ22が複数有った場合も、書き込み先設定部28は、その中のいずれか(例えば空き容量が最も大きい第2メモリ22)を選択してよい。
ステップS22において、書き込み先設定部28は、データの書き込み先をステップS20で選択した第2メモリ22に変更する。
ステップS24において、最適化処理実行部30は、第1メモリ20に対して最適化処理を実行する。
ステップS26において、書き込み先設定部28は、データの書き込み先を第2メモリ22から第1メモリ20に変更する。
以上、本発明に係る実施形態を説明したが、本発明は上記実施形態に限られるものではなく、本発明の趣旨を逸脱しない限りにおいて種々の変更が可能である。
10 情報処理装置、12 通信インターフェース、14 入出力インターフェース、16 スキャナ、18 プリンタ、20 第1メモリ、22 第2メモリ、24 プロセッサ、26 書き込み速度取得部、28 書き込み先設定部、30 最適化処理実行部。
Claims (8)
- プロセッサ、第1メモリ、及び第2メモリを備え、
前記プロセッサは、
前記第1メモリへのデータの書き込み速度が速度閾値未満となった場合に、データの書き込み先を前記第1メモリから前記第2メモリに変更し、
データの書き込み先が前記第2メモリである状態において、前記第1メモリに対して、前記第1メモリへのデータの書き込み速度が回復するように前記第1メモリの状態を最適化する最適化処理を実行する、
ことを特徴とする情報処理装置。 - 前記プロセッサは、
前記最適化処理の完了後、データの書き込み先を前記第2メモリから前記第1メモリに変更する、
ことを特徴とする請求項1に記載の情報処理装置。 - 前記プロセッサは、
データの書き込み先を前記第1メモリから前記第2メモリに変更し、前記第2メモリに対してデータセットの書き込みが開始された後、当該データセットの書き込み処理の実行中においては、前記データの書き込み先を前記第2メモリから前記第1メモリに変更しない、
ことを特徴とする請求項2に記載の情報処理装置。 - 前記プロセッサは、
前記第1メモリに対するデータセットの書き込み処理実行中においては、前記データの書き込み先を前記第1メモリから前記第2メモリに変更しない、
ことを特徴とする請求項1に記載の情報処理装置。 - 前記第2メモリは複数設けられ、
複数の前記第2メモリは、書き込み寿命が有る第2メモリと、書き込み寿命が無い第2メモリを含み、
前記プロセッサは、
前記第1メモリへのデータの書き込み速度が速度閾値未満となった場合に、前記書き込み寿命が有る第2メモリよりも前記書き込み寿命が無い第2メモリを優先して、複数の前記第2メモリの中から変更後のデータの書き込み先を選択する、
ことを特徴とする請求項1に記載の情報処理装置。 - 前記プロセッサは、
前記第1メモリへのデータの書き込み速度が速度閾値未満となった場合に、複数の前記第2メモリの全ての空き容量が空き容量閾値未満である場合は、データの書き込み先を変更しない、
ことを特徴とする請求項5に記載の情報処理装置。 - 前記プロセッサは、
自装置に入力された処理命令に応じた処理を実行し、
前記第1メモリへのデータの書き込み速度が速度閾値未満となった場合に、自装置に入力された処理命令に係るデータの書き込み先を前記第1メモリから前記第2メモリに変更する、
ことを特徴とする請求項1に記載の情報処理装置。 - 第1メモリ及び第2メモリを備えるコンピュータに、
前記第1メモリへのデータの書き込み速度が速度閾値未満となった場合に、データの書き込み先を前記第1メモリから前記第2メモリに変更させ、
データの書き込み先が前記第2メモリである状態において、前記第1メモリに対して、前記第1メモリへのデータの書き込み速度が回復するように前記第1メモリの状態を最適化する最適化処理を実行させる、
ことを特徴とする情報処理プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020189715A JP2022078790A (ja) | 2020-11-13 | 2020-11-13 | 情報処理装置及び情報処理プログラム |
US17/331,644 US11656788B2 (en) | 2020-11-13 | 2021-05-27 | Information processing apparatus and non-transitory computer readable medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020189715A JP2022078790A (ja) | 2020-11-13 | 2020-11-13 | 情報処理装置及び情報処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022078790A true JP2022078790A (ja) | 2022-05-25 |
Family
ID=81586620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020189715A Pending JP2022078790A (ja) | 2020-11-13 | 2020-11-13 | 情報処理装置及び情報処理プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US11656788B2 (ja) |
JP (1) | JP2022078790A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117785071B (zh) * | 2024-02-27 | 2024-05-24 | 合肥康芯威存储技术有限公司 | 一种存储器及其性能优化方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140068220A1 (en) * | 2012-09-06 | 2014-03-06 | Advanced Micro Devices, Inc. | Hardware based memory allocation system with directly connected memory |
JP6209926B2 (ja) * | 2013-10-09 | 2017-10-11 | 富士通株式会社 | ストレージ制御装置、およびストレージ装置の制御プログラム |
JP6289128B2 (ja) | 2014-01-30 | 2018-03-07 | キヤノン株式会社 | 情報処理装置及びその制御方法、並びにプログラム |
US11829493B2 (en) * | 2020-10-27 | 2023-11-28 | Dell Products L.P. | Device access control system |
-
2020
- 2020-11-13 JP JP2020189715A patent/JP2022078790A/ja active Pending
-
2021
- 2021-05-27 US US17/331,644 patent/US11656788B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11656788B2 (en) | 2023-05-23 |
US20220155993A1 (en) | 2022-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5419500B2 (ja) | プログラムおよび情報処理装置 | |
US10178265B2 (en) | Image formation apparatus, method of controlling flash memory, and non-transitory computer-readable storage medium | |
JP5641900B2 (ja) | 管理装置及びその制御方法、並びにプログラム | |
JP6875808B2 (ja) | 情報処理装置 | |
US20120268757A1 (en) | Image forming apparatus and image forming method | |
JP2022078790A (ja) | 情報処理装置及び情報処理プログラム | |
JP6405736B2 (ja) | 画像処理装置及び書き込み制御プログラム並びに書き込み制御方法 | |
JP6418400B2 (ja) | 電子機器および情報処理プログラム | |
US8988723B2 (en) | Printing apparatus for executing print processing based upon print data | |
JP4218582B2 (ja) | 画像形成装置 | |
JP4099725B2 (ja) | 画像形成装置 | |
JP6083416B2 (ja) | ジョブ実行装置、プログラム、データ削除方法 | |
US9667531B2 (en) | Image processing apparatus and control method | |
JP6590890B2 (ja) | 画像形成装置及びその制御方法、並びにプログラム | |
JP2012234458A (ja) | 画像処理装置、画像処理装置の制御方法及びプログラム | |
CN107544761B (zh) | 图像形成装置及信息处理方法 | |
JP2014138265A (ja) | 画像形成装置 | |
US10437488B2 (en) | Electronic device and non-transitory computer readable storage medium | |
US11652943B2 (en) | Image processing apparatus for writing data based on write lifetime of memories and non-transitory computer readable medium | |
US20200288031A1 (en) | Information processing apparatus equipped with storage device, control method therefor, and storage medium | |
JP7067095B2 (ja) | 画像形成装置及び画像形成プログラム | |
JP2018099804A (ja) | 印刷装置および印刷装置の制御方法 | |
JP7265112B2 (ja) | 画像形成装置、画像形成方法及び画像形成プログラム | |
JP5509704B2 (ja) | 情報処理装置、ログ管理方法およびログ管理プログラム | |
JP2017135562A (ja) | 画像形成装置およびデータ処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231018 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240618 |