(57)【要約】      （修正有）【課題】前段から送信されてくるデータを不揮発性半導体記憶装置に書き込む際に、前段から送信されてくるデータを、当該データを構成するデータ単位で不揮発性半導体記憶装置に順次書き込む場合と比較して、不揮発性半導体記憶装置への書き込み速度を向上させる。【解決手段】画像形成システムにおいてコントローラのＤＭＡバッファ４２は、端末装置２０から送信されてくる印刷データをページ単位で順次格納する。ライトバッファ４３は、ＳＳＤ１３に書き込もうとするデータを一時的に格納するための書込バッファメモリである。制御部は、ＤＭＡバッファ４２に格納されたデータを、ページ単位でライトバッファ４３に順次転送し、ライトバッファ４３に格納されたデータのデータ量が最大容量である１．５ＧＢに達すると、格納された印刷データをＳＳＤ１３に一括して書き込む。【選択図】図４
2020091776.tif 000002
【特許請求の範囲】
【請求項１】
記憶素子がフラッシュメモリにより構成された不揮発性半導体記憶装置と、
前記不揮発性半導体記憶装置に書き込もうとするデータを格納するための書込バッファメモリと、
前記書込バッファメモリに格納されたデータのデータ量が予め設定されたデータ量に達すると前記書込バッファメモリに格納されたデータを前記不揮発性半導体記憶装置に一括して書き込むよう制御する制御手段と、
を備えた情報処理装置。
【請求項２】
前記予め設定されたデータ量が、前記書込バッファメモリの前段から送信されてくるデータを、当該データを構成するデータ単位毎に前記不揮発性半導体記憶装置に直接書き込む場合よりも、前記不揮発性半導体記憶装置に対する書き込み速度が速くなるような値に設定される請求項１記載の情報処理装置。
【請求項３】
前記予め設定されたデータ量が、書き込み対象の前記不揮発性半導体記憶装置のデータ容量が大きくなるほど大きな値に設定される請求項２記載の情報処理装置。
【請求項４】
前記予め設定されたデータ量が、前記書込バッファメモリの最大容量である請求項１から３のいずれか記載の情報処理装置。
【請求項５】
前記不揮発性半導体記憶装置から読み出したデータを格納するための読出バッファメモリをさらに備え、
前記制御手段は、前記不揮発性半導体記憶装置から予め設定されたデータ量のデータを一括して読み出して前記読出バッファメモリに格納し、前記読出バッファメモリに格納されたデータを、当該データを構成するデータ単位毎に後段に順次転送するよう制御する請求項１記載の情報処理装置。
【請求項６】
前記書込バッファメモリの最大容量と、前記読出バッファメモリの最大容量とが同一のデータ容量であり、
前記予め設定されたデータ量が、前記書込バッファメモリ及び前記読出バッファメモリの最大容量であり、
前記制御手段は、前記不揮発性半導体記憶装置へのデータの書き込みと、前記不揮発性半導体記憶装置からのデータの読み出しを交互に行う請求項５記載の情報処理装置。
【請求項７】
記憶素子がフラッシュメモリにより構成された複数の不揮発性半導体記憶装置と、
前段から送信されてくるデータを格納し、予め定められたデータ単位として後段に送信するデータ格納手段と、
前記複数の不揮発性半導体記憶装置に書き込もうとするデータをそれぞれ格納するための複数の書込バッファメモリと、
前記データ格納手段から前記データ単位を対応する不揮発性半導体記憶装置に一括して書き込む際のデータ量に応じて分割したデータ量毎に前記複数の書込バッファメモリにそれぞれ順次転送し、前記複数の書込バッファメモリに格納されたデータのデータ量が予め設定されたデータ量に達すると前記複数の書込バッファメモリに格納されたデータを前記複数の不揮発性半導体記憶装置にそれぞれ一括して書き込むよう制御する制御手段と、
を備えた情報処理装置。
【請求項８】
前記複数の書込バッファメモリは、前記複数の不揮発性半導体記憶装置のうちの対応している不揮発性半導体記憶装置のデータ容量に応じて最大容量がそれぞれ設定されている請求項７記載の情報処理装置。
【請求項９】
前記データが印刷装置に対して転送しようとする印刷データであり、
前記データを構成するデータ単位がページ単位であり、
前記制御手段は、前記印刷データがカラー印刷である場合には、各色の印刷データが前記複数の不揮発性半導体装置にそれぞれ分かれて書き込まれるように制御し、前記印刷データがモノクロ印刷である場合には、黒色の印刷データが前記複数の不揮発性半導体装置に分割して格納されるように制御する請求項７記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に関する。
【背景技術】
【０００２】
特許文献１には、フラッシュメモリチップにおいて書込みシーケンスを並列化することにより物理ページ単位のデータを１回のアクセスで書き込む制御を実現して、書き込み時間の少ない動作性能を実現したデータ記憶装置が開示されている。
【０００３】
特許文献２には、ライトコマンドを多数発行し過ぎることによりＳＳＤ（Solid State Drive）コントローラの応答性能が劣化してトータルスループットが低下すること抑制するために、ライトコマンドの発行数に制限を設けて同時に発行するライトコマンドの数を抑えるようにした情報処理装置が開示されている。
【０００４】
特許文献３には、フラッシュメモリのＥＣＣ（Error Correcting Code）によるエラー訂正処理の実行回数を少なくすることにより、ストレージ応答特性を向上させるようにした記憶装置が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−２３０５５４号公報
【特許文献２】特開２０１３−０６５０６０号公報
【特許文献３】国際公開第２０１５／０２９２３０号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、前段から送信されてくるデータを不揮発性半導体記憶装置に書き込む際に、前段から送信されてくるデータを、当該データを構成するデータ単位で不揮発性半導体記憶装置に順次書き込む場合と比較して、不揮発性半導体記憶装置への書き込み速度を向上させることが可能な情報処理装置を提供することである。
【課題を解決するための手段】
【０００７】
請求項１に係る本発明は、記憶素子がフラッシュメモリにより構成された不揮発性半導体記憶装置と、
前記不揮発性半導体記憶装置に書き込もうとするデータを格納するための書込バッファメモリと、
前記書込バッファメモリに格納されたデータのデータ量が予め設定されたデータ量に達すると前記書込バッファメモリに格納されたデータを前記不揮発性半導体記憶装置に一括して書き込むよう制御する制御手段とを備えた情報処理装置である。
【０００８】
請求項２に係る本発明は、前記予め設定されたデータ量が、前記書込バッファメモリの前段から送信されてくるデータを、当該データを構成するデータ単位毎に前記不揮発性半導体記憶装置に直接書き込む場合よりも、前記不揮発性半導体記憶装置に対する書き込み速度が速くなるような値に設定される請求項１記載の情報処理装置である。
【０００９】
請求項３に係る本発明は、前記予め設定されたデータ量が、書き込み対象の前記不揮発性半導体記憶装置のデータ容量が大きくなるほど大きな値に設定される請求項２記載の情報処理装置である。
【００１０】
請求項４に係る本発明は、前記予め設定されたデータ量が、前記書込バッファメモリの最大容量である請求項１から３のいずれか記載の情報処理装置である。
【００１１】
請求項５に係る本発明は、前記不揮発性半導体記憶装置から読み出したデータを格納するための読出バッファメモリをさらに備え、
前記制御手段は、前記不揮発性半導体記憶装置から予め設定されたデータ量のデータを一括して読み出して前記読出バッファメモリに格納し、前記読出バッファメモリに格納されたデータを、当該データを構成するデータ単位毎に後段に順次転送するよう制御する請求項１記載の情報処理装置である。
【００１２】
請求項６に係る本発明は、前記書込バッファメモリの最大容量と、前記読出バッファメモリの最大容量とが同一のデータ容量であり、
前記予め設定されたデータ量が、前記書込バッファメモリ及び前記読出バッファメモリの最大容量であり、
前記制御手段は、前記不揮発性半導体記憶装置へのデータの書き込みと、前記不揮発性半導体記憶装置からのデータの読み出しを交互に行う請求項５記載の情報処理装置である。
【００１３】
請求項７に係る本発明は、記憶素子がフラッシュメモリにより構成された複数の不揮発性半導体記憶装置と、
前段から送信されてくるデータを格納し、予め定められたデータ単位として後段に送信するデータ格納手段と、
前記複数の不揮発性半導体記憶装置に書き込もうとするデータをそれぞれ格納するための複数の書込バッファメモリと、
前記データ格納手段から前記データ単位を対応する不揮発性半導体記憶装置に一括して書き込む際のデータ量に応じて分割したデータ量毎に前記複数の書込バッファメモリにそれぞれ順次転送し、前記複数の書込バッファメモリに格納されたデータのデータ量が予め設定されたデータ量に達すると前記複数の書込バッファメモリに格納されたデータを前記複数の不揮発性半導体記憶装置にそれぞれ一括して書き込むよう制御する制御手段とを備えた情報処理装置である。
【００１４】
請求項８に係る本発明は、前記複数の書込バッファメモリは、前記複数の不揮発性半導体記憶装置のうちの対応している不揮発性半導体記憶装置のデータ容量に応じて最大容量がそれぞれ設定されている請求項７記載の情報処理装置である。
【００１５】
請求項９に係る本発明は、前記データが印刷装置に対して転送しようとする印刷データであり、
前記データを構成するデータ単位がページ単位であり、
前記制御手段は、前記印刷データがカラー印刷である場合には、各色の印刷データが前記複数の不揮発性半導体装置にそれぞれ分かれて書き込まれるように制御し、前記印刷データがモノクロ印刷である場合には、黒色の印刷データが前記複数の不揮発性半導体装置に分割して格納されるように制御する請求項７記載の情報処理装置である。
【発明の効果】
【００１６】
請求項１に係る本発明によれば、前段から送信されてくるデータを不揮発性半導体記憶装置に書き込む際に、前段から送信されてくるデータを、当該データを構成するデータ単位で不揮発性半導体記憶装置に順次書き込む場合と比較して、不揮発性半導体記憶装置への書き込み速度を向上させることが可能な情報処理装置を提供することができる。
【００１７】
請求項２に係る本発明によれば、前段から送信されてくるデータを不揮発性半導体記憶装置に書き込む際に、前段から送信されてくるデータを、当該データを構成するデータ単位で不揮発性半導体記憶装置に順次書き込む場合と比較して、不揮発性半導体記憶装置への書き込み速度を向上させることが可能な情報処理装置を提供することができる。
【００１８】
請求項３に係る本発明によれば、不揮発性半導体記憶装置のデータ容量に応じたデータ量で一括して、書込バッファメモリから不揮発性半導体記憶装置への書き込みを行うことが可能な情報処理装置を提供することができる。
【００１９】
請求項４に係る本発明によれば、予め設定されたデータ量が書込バッファメモリの最大容量でない場合と比較して、書込バッファメモリの利用効率が向上した情報処理装置を提供することができる。
【００２０】
請求項５に係る本発明によれば、不揮発性半導体記憶装置からデータを読み出す際のデータ量を設定することにより、後段にデータを転送するデータ単位で不揮発性半導体記憶装置からデータを読み出す場合と比較して、不揮発性半導体記憶装置からのデータ読み出し速度を向上させることが可能な情報処理装置を提供することができる。
【００２１】
請求項６に係る本発明によれば、不揮発性半導体記憶装置へ書き込むデータ量と不揮発性半導体記憶装置から読み出すデータ量とが異なる場合と比較して、不揮発性半導体記憶装置へのデータ書き込み処理と、不揮発性半導体記憶装置からのデータ読み出し処理の切替回数を削減することが可能な情報処理装置を提供することができる。
【００２２】
請求項７に係る本発明によれば、前段から送信されてくるデータを不揮発性半導体記憶装置に書き込む際に、前段から送信されてくるデータを、当該データを構成するデータ単位で不揮発性半導体記憶装置に順次書き込む場合と比較して、不揮発性半導体記憶装置への書き込み速度を向上させることが可能な情報処理装置を提供することができる。
【００２３】
請求項８に係る本発明によれば、複数の不揮発性半導体記憶装置のデータ容量がそれぞれ異なる場合でも、予め設定されたデータ量が書込バッファメモリの最大容量でない場合と比較して、書込バッファメモリの利用効率が向上した情報処理装置を提供することができる。
【００２４】
請求項９に係る本発明によれば、カラー印刷の場合でもモノクロ印刷の場合でも、特定の不揮発性半導体記憶装置に集中してデータが書き込まれることを防ぐことが可能な情報処理装置を提供することができる。
【図面の簡単な説明】
【００２５】
【図１】本発明の第１の実施形態の画像形成システムのシステム構成を示す図である。
【図２】本発明の第１の実施形態におけるコントローラ１０のハードウェア構成を示すブロック図である。
【図３】本発明の第１の実施形態におけるコントローラ１０の機能構成を示すブロック図である。
【図４】データ受信部４１により受信された印刷データがＤＭＡバッファ４２、ライトバッファ４３を経由してＳＳＤ１３に書き込まれ、ＳＳＤ１３から読み出された印刷データがリードバッファ４５、ページバッファ４６を経由してデータ送信部４７から印刷装置３０に転送される様子を説明するための図である。
【図５】比較のためにライトバッファ４３及びリードバッファ４５が無い場合の構成を示す図である。
【図６】ライトバッファ４３、リードバッファ４５が無い場合に、ＳＳＤ１３への書き込み処理及びＳＳＤ１３からの読み出し処理が行われる様子を説明するための図である。
【図７】ライトバッファ４３、リードバッファ４５が存在する場合に、ＳＳＤ１３への書き込み処理及びＳＳＤ１３からの読み出し処理が行われる様子を説明するための図である。
【図８】それぞれの構成における書込速度および読出速度の比較を示すための図である。
【図９】本発明の第２の実施形態におけるコントローラ１０Ａの機能構成を示すブロック図である。
【図１０】本発明の第２の実施形態のコントローラ１０Ａにおいて印刷データが転送される様子を示す図である。
【図１１】ＤＭＡバッファ４２からライトバッファ４３ａ、４３ｂに印刷データがページ単位で転送される様子を示す図である。
【図１２】４つのＳＳＤ１３ａ〜１３ｄを用いた構成においてカラー印刷を行う場合の様子を説明するための図である。
【図１３】４つのＳＳＤ１３ａ〜１３ｄを用いた構成においてモノクロ印刷を行う場合の様子を説明するための図である。
【発明を実施するための形態】
【００２６】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００２７】
［第１の実施形態］
図１は本発明の第１の実施形態の画像形成システムの構成を示す図である。
【００２８】
本発明の第１の実施形態の画像形成システムは、図１に示されるように、連続紙に対してカラー印刷を行う印刷装置３０と、この印刷装置３０の印刷動作の制御を行うコントローラ１０と、端末装置２０とから構成されている。そして、コントローラ１０と端末装置２０とはネットワークにより接続されている。
【００２９】
端末装置２０は、印刷ジョブ（印刷要求）を生成してネットワーク経由にてコントローラ１０に対して送信する。コントローラ１０は、端末装置２０から送信されてきた印刷ジョブに基づいて印刷装置３０の印刷動作を制御する。印刷装置３０は、コントローラ１０による制御に基づいて印刷ジョブに応じた画像を連続紙上に出力する。
【００３０】
このような連続紙に対して印刷を行う印刷装置３０では印刷速度が高速であるため、コントローラ１０では、高速な画像処理を実行する必要がある。そのため、コントローラ１０では画像処理を並列に実行することにより必要な画像処理速度を得ている。
【００３１】
そして、連続紙に対する印刷処理では、コントローラ１０から印刷装置３０への印刷データの転送が間に合わない場合でもすぐに連続紙の搬送を停止することができないため無駄な白紙ページが大量に発生してしまうことになる。そのため、コントローラ１０では、画像処理後の印刷データを蓄えておくスプール制御が行われる。
【００３２】
従来のスプール制御では、複数台のＨＤＤ（Hard Disk Drive）をＲＡＩＤ（Redundant Arrays of Inexpensive(Independent) Disks）構成により組み合わせて画像処理後の印刷データを格納することが行われていた。具体的には、各ページのデータを複数台のＨＤＤに分割して同時に格納するストライピング（ＲＡＩＤ０）という構成により印刷データのスプール制御が行われていた。
【００３３】
しかし、印刷装置３０の高速化、高解像度化に伴ってスプール制御には高い性能が求められるようになっている。特に上述したように印刷処理を止められない連続紙印刷装置では、途中で印刷を止めないで印刷処理を継続するためには必要な印刷データの転送速度が決まっており、スプール制御では、その必要な転送速度を保証する必要がある。
【００３４】
従来のコントローラでは、数多くのＨＤＤを備えることによりこの転送速度を実現していた。しかし、近年では、半導体記憶装置であるＳＳＤ（Solid State Drive）の進歩に伴いＨＤＤをＳＳＤに置き換えることが可能となってきている。
【００３５】
ＳＳＤはＨＤＤに対して数倍の書込速度、読出速度を実現可能であるため、例えば、ＨＤＤ８台により構成していたＲＡＩＤ０構成をＳＳＤ２台に置き換えることが可能である。
【００３６】
ただし、ＳＳＤは、メモリ素子がＮＡＮＤ型のフラッシュメモリ等により構成されており、ＨＤＤとは異なり書込回数制限がある、書込速度が読出速度よりも遅い等の様々なＳＳＤ特有の特性を有しているため、従来のＨＤＤの場合と同様の制御を行うだけでは不十分である。
【００３７】
そのため、本実施形態のコントローラ１０では、以下において説明するような制御を行うことによりＳＳＤを用いた印刷データのスプール制御を実現している。
【００３８】
次に、本実施形態の画像形成システムにおけるコントローラ１０のハードウェア構成を図２に示す。
【００３９】
コントローラ１０は、図２に示されるように、ＣＰＵ１１、メモリ１２、記憶素子がＮＡＮＤ型のフラッシュメモリにより構成された不揮発性半導体記憶装置であるＳＳＤ１３、ネットワークを介して外部の装置等との間でデータの送信及び受信を行う通信インタフェース（ＩＦ）１４、タッチパネル又は液晶ディスプレイ並びにキーボードを含むユーザインタフェース（ＵＩ）装置１５を有する。これらの構成要素は、制御バス１６を介して互いに接続されている。
【００４０】
ＣＰＵ１１は、メモリ１２またはＳＳＤ１３に格納された制御プログラムに基づいて所定の処理を実行して、コントローラ１０の動作を制御する。なお、本実施形態では、ＣＰＵ１１は、メモリ１２またはＳＳＤ１３内に格納された制御プログラムを読み出して実行するものとして説明するが、当該プログラムをＣＤ−ＲＯＭ等の記憶媒体に格納してＣＰＵ１１に提供することも可能である。
【００４１】
図３は、上記の制御プログラムが実行されることにより実現されるコントローラ１０の機能構成を示すブロック図である。
【００４２】
本実施形態のコントローラ１０は、図３に示されるように、データ受信部４１と、ＤＭＡ（Direct Memory Access）バッファメモリ４２と、ライトバッファメモリ（書込バッファメモリ）４３と、制御部４４と、リードバッファメモリ（読出バッファメモリ）４５と、ページバッファメモリ４６と、データ送信部４７と、ＳＳＤ１３とを備えている。
【００４３】
なお、以下の説明においては、バッファメモリを単にバッファと略して表現するものとする。また、本実施形態において１ＧＢという単位は、実際には、１ＧｉＢ（ギビバイト：２30バイト）のことを意味しているが、以下の説明においては簡易的にＧＢという表記を用いて説明する。同様に、１ＴＢ、１ＭＢも実際にはそれぞれ１ＴｉＢ（テビバイト：２40バイト）、１ＭｉＢ（メビバイト：２20バイト）のことを意味しているが、以下の説明においては簡易的にＴＢ、ＭＢという表記を用いて説明する。
【００４４】
データ受信部４１は、端末装置２０から送信されてきた印刷データを受信する。
【００４５】
ＤＭＡバッファ４２は、例えば３２ＧＢのデータ容量となっており、前段である端末装置２０から送信されてくる印刷データを、この印刷データを構成するデータ単位であるページ単位で順次格納する入力データ格納手段である。
【００４６】
なお、制御部４４は、データ受信部４１により受信された印刷データをラスタ形式に変換する画像処理を実行して、画像処理後の印刷データをＤＭＡバッファ４２に格納する。
【００４７】
ライトバッファ４３は、ＳＳＤ１３に書き込もうとするデータを一時的に格納するための書込バッファメモリである。
【００４８】
そして、制御部４４は、ＤＭＡバッファ４２に格納されたデータを、ページ単位でライトバッファ４３に順次転送し、ライトバッファ４３に格納されたデータのデータ量が予め設定されたデータ量、具体的にはライトバッファ４３の最大容量である１．５ＧＢに達するとライトバッファ４３に格納された印刷データをＳＳＤ１３に一括して書き込むよう制御する。
【００４９】
リードバッファ４５は、ＳＳＤ１３から読み出したデータを一時的に格納するための読出バッファメモリである。
【００５０】
ページバッファ４６は、例えば、４．５ＧＢのデータ容量となっており、後段である印刷装置３０に送信しようとする印刷データを、ページ単位で順次格納する出力データ格納手段である。
【００５１】
データ送信部４７は、ページバッファ４６に格納された印刷データをページ単位で順次印刷装置３０に送信する。
【００５２】
制御部４４は、ＳＳＤ１３から予め設定されたデータ量の印刷データ、具体的には１．５ＧＢの印刷データを一括して読み出してリードバッファ４５に格納し、リードバッファ４５に格納された印刷データを、ページ単位毎に後段のページバッファ４６に順次転送するよう制御する。なお、制御部４４がＳＳＤ１３から一括して読み出す印刷データのデータ量である１．５ＧＢは、リードバッファ４５の最大容量となっている。
【００５３】
ここで、本実施形態では、１ページの印刷データのデータサイズは、幅１２インチ、長さ２１．５インチ、解像度１２００ｄｐｉ（dot per inch）×１２００ｄｐｉの画像データを圧縮することにより、９６ＭＢとなっている。
【００５４】
そのため、ＤＭＡバッファ４２への印刷データの転送およびＤＭＡバッファ４２からライトバッファ４３への印刷データの転送は、ページ単位である９６ＭＢ単位で行われる。同様に、リードバッファ４５からページバッファ４６への印刷データの転送及びページバッファ４６からデータ送信部４７へのデータ転送も、ページ単位である９６ＭＢ単位で行われる。
【００５５】
そして、本実施形態におけるライトバッファ４３、リードバッファ４５の最大容量は、１．５ＧＢとなっている。そのため、制御部４４は、ライトバッファ４３に格納された印刷データのデータ量が１．５ＧＢになると、この１．５ＧＢの印刷データを一括してＳＳＤ１３に転送して書込み処理を実行する。また、制御部４４は、ＳＳＤ１３から１．５ＧＢ単位で一括して印刷データを読み出してリードバッファ４５に格納する。
【００５６】
ここで、本実施形態においては、ライトバッファ４３からＳＳＤ１３に一括して印刷データを書き込む際の予め設定されたデータ量は、ライトバッファ４３の最大容量である１．５ＧＢと同じとなっている。
【００５７】
そのため、制御部４４は、ライトバッファ４３に格納されたデータのデータ量が、ライトバッファ４３の最大容量に達するとライトバッファ４３に格納された印刷データをＳＳＤ１３に一括して書き込むよう制御している。
【００５８】
ここで、制御部４４がライトバッファ４３に格納された印刷データを一括してＳＳＤ１３に書き込む際のデータ量である１．５ＧＢは、ある理由に基づいて設定されている。具体的には、この１．５ＧＢというデータ量は、ライトバッファ４３の前段であるＤＭＡバッファ４２に格納された印刷データを、ページ単位である９６ＭＢ毎にＳＳＤ１３に直接書き込む場合よりも、ＳＳＤ１３に対する書き込み速度が速くなるような値に設定されている。このＳＳＤ１３への印刷データの書き込み及びＳＳＤ１３からの印刷データの読み出しが１．５ＧＢ単位で行われることにより、９６ＭＢ単位で印刷データの書き込み及び読み出しを行うよりも書き込み速度が速くなる理由については後述する。
【００５９】
そして、このデータ量は、印刷データの書き込み対象のＳＳＤ１３のデータ容量が大きくなるほど大きな値に設定される。
【００６０】
なお、本実施形態においては、ライトバッファ４３の最大容量と、リードバッファ４５の最大容量とがほぼ同一のデータ容量、つまりいずれも１．５ＧＢとなっている。
【００６１】
そして、制御部４４は、ＳＳＤ１３への印刷データの書き込みと、ＳＳＤ１３からの印刷データの読み出しを交互に行う。
【００６２】
なお、データ受信部４１により受信された印刷データがＤＭＡバッファ４２、ライトバッファ４３を経由してＳＳＤ１３に書き込まれ、ＳＳＤ１３から読み出された印刷データがリードバッファ４５、ページバッファ４６を経由してデータ送信部４７から印刷装置３０に転送される様子を図４に示す。
【００６３】
図４を参照すると、データ受信部４１により端末装置２０から受信された印刷データは、ページ単位である９６ＭＢ単位でＤＭＡバッファ４２に一旦書き込まれた後に読み出されてライトバッファ４３に格納され、ライトバッファ４３に格納されている印刷データのデータ量が１．５ＧＢに達すると一括してＳＳＤ１３に書き込まれる様子が示されている。
【００６４】
そして、ＳＳＤ１３からの印刷データの読み出しについては、図４を参照すると、ＳＳＤ１３から１．５ＧＢの印刷データが一括して読み出されてリードバッファ４５に格納され、ページ単位である９６ＭＢ単位でページバッファ４６に一旦格納された後にデータ送信部４７により印刷装置３０に転送される様子が示されている。
【００６５】
次に、ＳＳＤ１３への印刷データの書き込み及びＳＳＤ１３からの印刷データの読み出しが１．５ＧＢ単位で行われることにより、９６ＭＢ単位で印刷データの書き込み及び読み出しを行うよりも書き込み速度が速くなる理由を下記において説明する。
【００６６】
本実施形態のＳＳＤ１３の記憶素子として用いられているＮＡＮＤ型のフラッシュメモリにデータを書き込むためには、ブロックイレース処理とプログラムライト処理を行う必要がある。
【００６７】
フラッシュメモリには、その構造上の理由により書込み済みのデータはブロック単位でしか消去することができないという特性がある。また、フラッシュメモリは、書込み済みのデータを上書きするためには、一旦そのデータを消去する必要があるという特性も有している。そのため、あるブロックの書込み済みのデータを上書きする場合には、そのブロック全体のデータを一旦読み出して格納しておき、そのブロック全体を消去した後に、上書きしたい部分のデータを変更して、ブロック全体のデータ書込みを行うという複雑な処理が必要となる。
【００６８】
このブロック単位でのデータの消去がブロックイレース処理であり、上述したような手順によりデータの書き込みがプログラムライト処理である。
【００６９】
このような理由により、フラッシュメモリでは、データの読み出し処理よりも書き込み処理の方が処理速度は遅くなる。
【００７０】
例えば、本実施形態のＳＳＤ１３における規格では、シーケンシャルライト性能及びシーケンシャルリード性能として、それぞれ、９２０ＭＢ／Ｓ（ＭＢ／秒）という書込速度、１０７０ＭＢ／Ｓという読出速度が規定されている。
【００７１】
ここで、シーケンシャルライト性能とは、連続するエリアに大きなデータ量のデータを書き込む際の書込速度により示される。また、シーケンシャルリード性能とは、連続するエリアに書き込まれた大きなデータ量のデータを読み出す際の読出速度により示される。
【００７２】
しかし、このようなシーケンシャルライト性能、シーケンシャルリード性能は、あくまでも大きなデータ量のデータを連続して書き込んだり読み出したりした場合の速度であるため、小さなデータ量のデータの書き込みおよび読み出しを交互に繰り返した場合には、上記のような書込速度や読出速度を得ることができない。
【００７３】
ここで、比較のためにライトバッファ４３及びリードバッファ４５が無い場合の構成を図５に示す。
【００７４】
図５では、ライトバッファ４３が無いことによりＤＭＡバッファ４２からＳＳＤ１３に対して直接印刷データがページ単位（９６ＭＢ）で転送されている。また、図５では、リードバッファ４５が無いことによりＳＳＤ１３からページ単位（９６ＭＢ）で印刷データが読み出されてページバッファ４６に格納されている。そして、ＤＭＡバッファ４２からの印刷データの書き込みとページバッファ４６への印刷データの読み出しとが交互に行われる。
【００７５】
そのため、図５に示したようなライトバッファ４３、リードバッファ４５が存在しない場合の構成では、図６に示すように、９６ＭＢの印刷データの書き込みと９６ＭＢの印刷データの読み出しが交互に行われる。
【００７６】
そして、このようなＳＳＤ１３への印刷データの書き込み処理とＳＳＤ１３からの印刷データの読み出し処理とが交互に行われた場合の書込速度は実測したところ４５０ＭＢ／Ｓとなった。
【００７７】
具体的には、９６ＭＢのデータの書き込みに約２１３ｍｓかかっており、書込速度は下記の式により約４５０ＭＢ／Ｓと算出される。
【００７８】
９６ＭＢ×（１０００／２１３）≒４５０ＭＢ／Ｓ
【００７９】
この４５０ＭＢ／Ｓという書込速度は、ＳＳＤ１３の規格値である９２０ＭＢ／Ｓという書込速度と比較しておおよそ半分（５０％）の速度となってしまっている。
【００８０】
なお、上述したようにフラッシュメモリでは、書込速度の方が読出速度よりも処理速度が遅いため、以降の説明では主として書込速度について言及する。
【００８１】
これに対して、本実施形態のコントローラ１０の構成のように、ＤＭＡバッファ４２、ページバッファ４６だけでなく、ライトバッファ４３、リードバッファ４５が存在する場合には、図７に示すように、ＤＭＡバッファ４２からの９６ＭＢ単位の印刷データは１６回分がライトバッファ４３に格納される。そして、ライトバッファ４３に格納された印刷データのデータ量が１．５ＧＢ（９６ＭＢ×１６）になると、制御部４４は、この１．５ＧＢの印刷データを一括してＳＳＤ１３に書き込む処理を実行する。
【００８２】
本出願の発明者らは、ＳＳＤ１３に対して一括して書き込む印刷データのデータ量がどの程度大きくすれば、９２０ＭＢ／Ｓという規格値に近づくかを検討して、１．５ＧＢ以上連続してデータの書き込みを行うことにより、書込速度を規格値に近づけることができることを見つけた。
【００８３】
具体的には、９６ＭＢのデータの書き込み時間は約１２４ｍｓとなっており、書込速度は下記の式により約７７０ＭＢ／Ｓと算出される。
【００８４】
９６ＭＢ×（１０００／１２４）≒７７０ＭＢ／Ｓ
【００８５】
この７７０ＭＢ／Ｓという書込速度は、ＳＳＤ１３の規格値である９２０ＭＢ／Ｓという書込速度に対して約８４％という速度となっており、上述した４５０ＭＢよりも高速な書込速度を実現しているのが分かる。
【００８６】
このようなそれぞれの構成における書込速度および読出速度の比較を図８に示す。
【００８７】
図８を参照すると分かるように、ライトバッファ４３を設けてＤＭＡバッファ４２からの印刷データを格納して１．５ＧＢになると一括してＳＳＤ１３に書き込むようにした書込速度７７０ＭＢ／Ｓは、ライトバッファ４３を設けずに９６ＭＢ単位でＳＳＤ１３に書き込んだ場合の書込速度４５０ＭＢ／Ｓよりも高速になっているのが分かる。
【００８８】
［第２の実施形態］
次に、本発明の第２の実施形態の画像形成システムについて説明する。
【００８９】
上記で説明した第１の実施形態では、説明を簡単にするためにＳＳＤが１つのみの構成の場合を用いて説明した。しかし、実際の高速な印刷装置に対するスプール制御では、多数のＳＳＤが用いられる。そのため、本発明の第２の実施形態では、複数のＳＳＤを用いてスプール制御を行う場合の構成について説明する。
【００９０】
本実施形態の画像形成システムは、図１に示した第１の実施形態の画像形成システムに対して、コントローラ１０を図９に示すコントローラ１０Ａに置き換えた構成となっている。なお、図９において、第１の実施形態において説明した図３の構成と同じ構成要素については同じ符号を付してその説明については省略する。
【００９１】
本実施形態におけるコントローラ１０Ａでは、２台のＳＳＤ１３ａ、１３ｂと、この２台のＳＳ１３ａ、１３ｂにそれぞれ対応した２つのライトバッファ４３ａ、４３ｂ及びリードバッファ４５ａ、４５ｂが設けられている。
【００９２】
一般的に、複数の記憶装置を用いて書込速度／読出速度を向上させる構成として、ＲＡＩＤ構成が用いられる。このＲＡＩＤ構成では、例えば、ストライピング制御（ＲＡＩＤ０）を行う場合、ＲＡＩＤコントローラにより１つのデータ複数の記憶装置に分割して同時に書き込み／読み出しを行うことにより書込速度／読出速度を向上させている。
【００９３】
しかし、記憶装置としてＳＳＤを用いた場合、図６に示したように９６ＭＢ単位でＳＳＤに対してデータの書き込みおよび読み出しを行ったのでは、複数の記憶装置を用いたとしても希望通りの性能を実現することが難しい。それは、ＳＳＤでは、上述したように書込速度が読出速度よりも遅く、または少ないデータ量での書き込みを行った場合、書込処理毎に書込速度がばらつくという特性がある。その結果、複数のＳＳＤを用いてＲＡＩＤ構成を採用して並列処理を行ったとしても、書込速度が最も遅いＳＳＤにおける書込処理が完了するまで次の書き込み処理を実行することができず、最も遅い書込速度により全体の書込速度が決定されてしまう。そして、それぞれのＳＳＤにおいて書込速度がばらつくと、毎回最も遅い書込速度のＳＳＤにより全体の書込速度が決定されてしまい、複数台のＳＳＤを用いることによる書込速度の向上が期待通りに実現することができない場合がある。
【００９４】
また、現在ＳＳＤのデータ容量としては、４００ＧＢ、８００ＧＢ、１６００ＧＢ（１．６ＴＢ）というように２倍ずつの容量が設定されている。そのため、例えばスプールの容量を２．４ＴＢとしてシステムの設計を行う場合、８００ＧＢと１６００ＧＢのそれぞれ１台のＳＳＤを組み合わせることにより希望のスプール容量を実現することが可能である。しかし、上述したようなＲＡＩＤ０構成を採用する場合、ＲＡＩＤコントローラは、それぞれの記憶装置が同じデータ容量であることを条件に設定されており、使用するＳＳＤのデータ容量を同一容量で揃える必要がある。つまり、例えばスプールの容量を２．４ＴＢとしてシステムの設計を行う場合、３台の８００ＧＢのＳＳＤにより構成する必要がある。
【００９５】
しかし、コントローラ１０を構成するサーバ装置のスロット数には制限があるため、実装するＳＳＤの数が多くなるとスロットに収まりきらない場合が発生し得る。そのため、希望するスプール容量を実現しつつ、使用するＳＳＤの数はできるだけ少なくすることが要求されている。
【００９６】
そこで、本実施形態では、ハードウェアによるＲＡＩＤコントローラを用いることなく、制御部４４によるソフトウェア・ストライピング制御を行うことにより、上述したような異なるデータ容量のＳＳＤを用いたＲＡＩＤ構成を実現するとともに、複数台のＳＳＤを用いることによる書込速度の向上を実現する。
【００９７】
本実施形態のコントローラ１０Ａにおいて印刷データが転送される様子を図１０に示す。
【００９８】
本実施形態におけるＳＳＤ１３ａ、１３ｂのデータ容量は、図１０に示されるように、それぞれ１．６ＴＢ（１６００ＧＢ）、８００ＧＢとなっている。そして、ライトバッファ４３ａ、４３ｂの最大容量は、それぞれ１．５ＧＢ、０．７５ＧＢとなっている。また、リードバッファ４５ａ、４５ｂの最大容量は、それぞれ１．５ＧＢ、０．７５ＧＢとなっている。
【００９９】
ライトバッファ４３ａ、４３ｂは、２台のＳＳＤ１３ａ、１３ｂに書き込もうとする印刷データをそれぞれ一時的に格納するための書込バッファメモリである。また、ＤＭＡバッファ４２は、前段から送信されてくるデータを格納し、予め設定されたデータ単位として後段のライトバッファ４３ａ、４３ｂに送信するデータ格納手段である。
【０１００】
なお、２つのライトバッファ４３ａ、４３ｂは、２つのＳＳＤ１３ａ、１３ｂのうちの対応しているＳＳＤのデータ容量に応じて最大容量がそれぞれ設定されている。
【０１０１】
具体的には、データ容量が１．６ＴＢのＳＳＤ１３ａに書き込もうとする印刷データを一旦格納するためのライトバッファ４３ａの最大容量が１．５ＧＢであるため、データ容量が０．８ＴＢのＳＳＤ１３ｂに書き込もうとする印刷データを一旦格納するためのライトバッファ４３ｂの最大容量は０．７５ＧＢとなっている。
【０１０２】
そして、本実施形態における制御部４４は、ＤＭＡバッファ４２に格納された印刷データを、１ページのデータ量を対応するＳＳＤに一括して書き込む際のデータ量に応じて分割したデータ量毎に２つのライトバッファ４３ａ、４３ｂにそれぞれ順次転送し、２つのライトバッファ４３ａ、４３ｂに格納された印刷データのデータ量が最大容量に達すると２つのライトバッファ４３ａ、４３ｂに格納された印刷データを２つのＳＳＤ１３ａ、１３ｂにそれぞれ一括して書き込むよう制御する。
【０１０３】
具体的には、本実施形態における制御部４４は、ＤＭＡバッファ４２に格納された印刷データのうちの１ページ分の９６ＭＢのデータを、書き込み対象のＳＳＤ１３ａ、１３ｂのデータ容量で分割した６４ＭＢ、３２ＭＢのデータ量毎にライトバッファ４３ａ、４３ｂに転送する。
【０１０４】
そして、制御部４４は、ライトバッファ４３ａ、４３ｂに格納された印刷データのデータ量がそれぞれ最大容量である１．５ＧＢ、０．７５ＧＢになると、２つのライトバッファ４３ａ、４３ｂに格納された印刷データを２つのＳＳＤ１３ａ、１３ｂにそれぞれ一括して書き込むよう制御する。
【０１０５】
このＤＭＡバッファ４２からライトバッファ４３ａ、４３ｂに印刷データがページ単位で転送される様子を図１１に示す。
【０１０６】
具体的には、図１１に示されるように、制御部４４は、ＤＭＡバッファ４２に格納されている印刷データを３分割して、２／３の印刷データをライトバッファ４３ａに転送し、１／３の印刷データをライトバッファ４３ｂに転送する。図１１では、第１ページが３分割されて１−１、１−２、１−３という印刷データとなり、印刷データ１−１、１−２がライトバッファ４３ａ、印刷データ１−３がライトバッファ４３ｂに転送される様子が示されている。
【０１０７】
なお、このように分割された印刷データは、ＳＳＤ１３ａ、１３ｂから読み出されてリードバッファ４５ａ、４５ｂに一旦格納された後にページバッファ４６において合成されてページ単位の印刷データとなる。
【０１０８】
本実施形態の構成では、ストライピング制御により分割された印刷データは、それぞれライトバッファ４３ａ、４３ｂにおいて１．５ＧＢ、０．７５ＧＢになるまで蓄積された後にＳＳＤ１３ａ、１３ｂにそれぞれ一括して書き込まれる。そのため、ＤＭＡバッファ４２からの個々の印刷データの書き込みがばらついたとしても、一連の書き込み処理において平均化されるため、書込速度の低下が発生しない。
【０１０９】
その結果、本実施形態のように２台のＳＳＤ１３ａ、１３ｂによるＲＡＩＤ構成とすることにより、トータルの書込速度は、第１の実施形態のように１台のＳＳＤ１３のみの構成の場合と比較して、約１．５倍程度になることが予想される。
【０１１０】
つまり、本実施形態のような２台のＳＳＤ１３ａ、１３ｂによる構成によれば、１１５５ＭＢ／Ｓ（＝７７０ＭＢ／Ｓ×１．５）程度の書込速度を実現することが可能である。
【０１１１】
なお、上記では、２つのＳＳＤ１３ａ、１３ｂを用いた場合について説明したが、さらに多くのＳＳＤを用いて印刷データの転送を行う場合もある。例えば、図１２、図１３では、４つのＳＳＤ１３ａ〜１３ｄを用いた構成の一例である。
【０１１２】
このような４つのＳＳＤＳＳＤ１３ａ〜１３ｄを用いた構成では、ＳＳＤＳＳＤ１３ａ〜１３ｄに対して４つのライトバッファ４３ａ〜４３ｄ及び４つのライトバッファ４３ａ〜４３ｄがそれぞれ対応して設けられている。
【０１１３】
そして、このような構成では、図１２に示すように、例えばカラー印刷が行われる場合には、ＳＳＤＳＳＤ１３ａ〜１３ｄのそれぞれに対してＣＭＹＫ各色の印刷データを分割して格納することにより、４つのＳＳＤＳＳＤ１３ａ〜１３ｄを均等に使用することが可能である。
【０１１４】
しかし、モノクロ（白黒）印刷の時においても図１２に示したような制御を行ったのでは、Ｋ色の印刷データを格納するＳＳＤ１３ｄのみが使用されることになってしまう。
【０１１５】
そして、フラッシュメモリにはその構造上の理由により書き込み回数に制限があるため特定のＳＳＤのみに対してデータの書き込みを繰り返したのでは、特定のＳＳＤのみ書込み回数が上限に達することになり、システム全体の寿命を早めることになってしまう。
【０１１６】
そのため、このような構成の場合、制御部４４は、印刷データがカラー印刷である場合には、ＣＭＹＫ各色の印刷データが４つのＳＳＤ１３ａ〜１３ｄにそれぞれ分かれて書き込まれるように制御し、印刷データがモノクロ印刷である場合には、黒色の印刷データが４つのＳＳＤ１３ａ〜１３ｄに分割して格納されるように制御する。
【０１１７】
具体的には、図１３に示すように、制御部４４は、Ｋ色の１つのページの印刷データを４つに分割して印刷データＫ１−１、１−２、１−３、１−４として、それぞれライトバッファ４３ａ〜４３ｄに転送する。そのため、４つの分割された印刷データＫ１−１、１−２、１−３、１−４は、ＳＳＤ１３ａ〜１３ｄに書き込まれる。
【０１１８】
そして、４つの分割された印刷データＫ１−１、１−２、１−３、１−４は、ＳＳＤ１３ａ〜１３ｄから読み出されてリードバッファ４５ａ〜４５ｄに一旦格納された後にページバッファ４６において合成されてページ単位の印刷データとなる。
【０１１９】
[変形例]
上記実施形態では、印刷装置３０に対して転送するための印刷データのスプール制御を行う場合を用いて説明したが、本発明はこのような構成に限定されるものではなく、前段からのデータを一旦格納して蓄積した後に後段にデータを転送するような情報処理装置であれば同様に本発明を適用することができるものである。
【符号の説明】
【０１２０】
１０、１０Ａ    コントローラ
１１    ＣＰＵ
１２    メモリ
１３、１３ａ〜１３ｄ    ＳＳＤ
１４    通信インタフェース（ＩＦ）
１５    ユーザインタフェース（ＵＩ）装置
１６    制御バス
２０    端末装置
３０    印刷装置
４１    データ受信部
４２    ＤＭＡバッファメモリ
４３、４３ａ〜４３ｄ    ライトバッファメモリ
４４    制御部
４５、４５ａ〜４５ｄ    リードバッファメモリ
４６    ページバッファメモリ
４７    データ送信部
【図１】
2020091776.tif 000003
【図２】
2020091776.tif 000004
【図３】
2020091776.tif 000005
【図４】
2020091776.tif 000006
【図５】
2020091776.tif 000007
【図６】
2020091776.tif 000008
【図７】
2020091776.tif 000009
【図８】
2020091776.tif 000010
【図９】
2020091776.tif 000011
【図１０】
2020091776.tif 000012
【図１１】
2020091776.tif 000013
【図１２】
2020091776.tif 000014
【図１３】
2020091776.tif 000015