(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024159379
(43)【公開日】2024-11-08
(54)【発明の名称】情報処理装置、情報処理システム、データ書き込み方法、およびプログラム
(51)【国際特許分類】
G06F 3/06 20060101AFI20241031BHJP
G11B 5/09 20060101ALI20241031BHJP
G11B 5/012 20060101ALI20241031BHJP
G11B 20/10 20060101ALI20241031BHJP
G11B 27/00 20060101ALI20241031BHJP
【FI】
G06F3/06 301T
G11B5/09 311Z
G11B5/012
G11B20/10 311
G11B27/00 D
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2023104566
(22)【出願日】2023-06-26
(31)【優先権主張番号】P 2023073340
(32)【優先日】2023-04-27
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】高下 孔明
(72)【発明者】
【氏名】本橋 弘臣
【テーマコード(参考)】
5D044
5D110
【Fターム(参考)】
5D044BC01
5D044CC04
5D044EF03
5D110AA13
5D110DA01
5D110DA04
5D110DA06
5D110DA11
(57)【要約】
【課題】SMR方式のHDDを採用した場合に、リアルタイム性を必要とする組込みシステムにおける書き込み性能を担保することができる、情報処理装置、情報処理システム、データ書き込み方法、およびプログラムを提供する。
【解決手段】本発明は、トラックを半径方向に重ねて配置する瓦記録方式でデータを書き込む不揮発記憶装置と、前記不揮発記憶装置に対してセクタ単位でのデータの書き込みを指示するファイル書き込み要求部と、前記不揮発記憶装置のデータ書き込み領域に対してデータを追記する追記部と、データ揮発メモリ上に、前記データ書き込み領域に対して書き込むデータを一時保持する遅延書き込みバッファを設け、前記遅延書き込みバッファに溜まった前記データの総量が閾値を超えた場合、前記遅延書き込みバッファ内の前記データを前記不揮発記憶装置に書き込む遅延書き込み部と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
トラックを半径方向に重ねて配置する瓦記録方式でデータを書き込む不揮発記憶装置と、
前記不揮発記憶装置に対してセクタ単位でのデータの書き込みを指示するファイル書き込み要求部と、
前記不揮発記憶装置のデータ書き込み領域に対してデータを追記する追記部と、
データ揮発メモリ上に、前記データ書き込み領域に対して書き込むデータを一時保持する遅延書き込みバッファを設け、前記遅延書き込みバッファに溜まった前記データの総量が閾値を超えた場合、前記遅延書き込みバッファ内の前記データを前記不揮発記憶装置に書き込む遅延書き込み部と、
を備える情報処理装置。
【請求項2】
前記追記部は、前記データ書き込み領域に対するデータの追記位置が当該データ書き込み領域の末端に達した場合には、前記データ書き込み領域の先頭に戻ってデータの追記を行う、請求項1に記載の情報処理装置。
【請求項3】
前記遅延書き込み部は、前記不揮発記憶装置内に用意した前記データ書き込み領域を複数個の固定長ブロックとして管理し、前記不揮発記憶装置に書き込むデータを1個または複数個の固定長ブロックに分割して書き込む、請求項1に記載の情報処理装置。
【請求項4】
前記遅延書き込み部は、前記不揮発記憶装置内に複数の前記データ書き込み領域を用意して、書き込むデータの種類に応じて書き込み先の前記データ書き込み領域を切り替える、請求項1から3のいずれか一つに記載の情報処理装置。
【請求項5】
前記遅延書き込み部は、書き込むデータの種類に応じた前記データ書き込み領域毎に前記遅延書き込みバッファを設ける、請求項4に記載の情報処理装置。
【請求項6】
前記遅延書き込み部は、4KB バウンダリでデータを前記データ書き込み領域に書き込む、請求項1に記載の情報処理装置。
【請求項7】
前記遅延書き込み部は、前記データ書き込み領域に書き込まれたデータのファイル管理情報をRAM上に配置して、前記ファイル管理情報に基づいて、前記データ書き込み領域に書き込まれたデータのファイル管理を行う、請求項1に記載の情報処理装置。
【請求項8】
前記遅延書き込み部は、前記ファイル管理情報を含むDBを用いて、前記データ書き込み領域に書き込まれたデータのファイル管理を行う、請求項7に記載の情報処理装置。
【請求項9】
前記遅延書き込み部は、前記ファイル管理情報をシステム起動および終了時にバックアップまたはリストアする、請求項7または8に記載の情報処理装置。
【請求項10】
前記遅延書き込み部は、前記ファイル管理情報のバックアップデータを固定ファイルに常に上書きする、請求項9に記載の情報処理装置。
【請求項11】
前記遅延書き込み部は、前記ファイル管理情報のバックアップを二重化する、請求項9に記載の情報処理装置。
【請求項12】
ユーザ空間プロセスからのファイルアクセス時にFUSE(Filesystem in Userspace)を利用する、請求項8に記載の情報処理装置。
【請求項13】
データ揮発メモリと、
トラックを半径方向に重ねて配置する瓦記録方式でデータを書き込む不揮発記憶装置と、
前記不揮発記憶装置に対してセクタ単位でのデータの書き込みを指示するファイル書き込み要求部と、
前記不揮発記憶装置のデータ書き込み領域に対してデータを追記する追記部と、
前記データ揮発メモリ上に、前記データ書き込み領域に対して書き込むデータを一時保持する遅延書き込みバッファを設け、前記遅延書き込みバッファに溜まった前記データの総量が閾値を超えた場合、前記遅延書き込みバッファ内の前記データを前記不揮発記憶装置に書き込む遅延書き込み部と、
を備える情報処理システム。
【請求項14】
情報処理装置で実行されるデータ書き込み方法であって、
トラックを半径方向に重ねて配置する瓦記録方式でデータを書き込む不揮発記憶装置に対してセクタ単位でのデータの書き込みを指示するステップと、
前記不揮発記憶装置のデータ書き込み領域に対してデータを追記するステップと、
データ揮発メモリ上に、前記データ書き込み領域に対して書き込むデータを一時保持する遅延書き込みバッファを設け、前記遅延書き込みバッファに溜まった前記データの総量が閾値を超えた場合、前記遅延書き込みバッファ内の前記データを前記不揮発記憶装置に書き込むステップと、
を含むデータ書き込み方法。
【請求項15】
コンピュータを、
トラックを半径方向に重ねて配置する瓦記録方式でデータを書き込む不揮発記憶装置に対してセクタ単位でのデータの書き込みを指示するファイル書き込み要求部と、
前記不揮発記憶装置のデータ書き込み領域に対してデータを追記する追記部と、
データ揮発メモリ上に、前記データ書き込み領域に対して書き込むデータを一時保持する遅延書き込みバッファを設け、前記遅延書き込みバッファに溜まった前記データの総量が閾値を超えた場合、前記遅延書き込みバッファ内の前記データを前記不揮発記憶装置に書き込む遅延書き込み部と、
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理システム、データ書き込み方法、およびプログラムに関する。
【背景技術】
【0002】
リアルタイム性が要求される組込みシステムにおいて、CMR(Conventional Magnetic Recording)方式のHDD(Hard Disk Drive)に代わり、CMR方式のHDDと同じ保存容量であるにも関わらず、安価かつ省スペースを実現可能なSMR(Shingled Magnetic Recording)方式のHDDを採用する場合がある。
【0003】
特許文献1には、SMR方式のHDDの書き込み性能を向上する目的で、単一バンドへの複数のシーケンシャルな書き込みが要求された場合に、1度にバンド書き込みを行えるよう、各書き込み要求時にHDD内部で各データにヘッダを付与して管理を行う構成が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、既存のFile System(FS:ストレージに保存したファイルを管理するための仕組み)を使用したHDDアクセス制御では、SMR方式のHDDが持つ特性により、リアルタイム性を必要とする組込みシステムにおいて、書き込み性能が担保できない。また、特許文献1記載の技術では、単一バンドへの複数のシーケンシャルな書き込みが要求されるという限定的な条件でのみ効力を果たすにすぎず、リアルタイム性を必要とする組込みシステムにおける書き込み性能を担保できない。
【0005】
本発明は、上記に鑑みてなされたものであって、SMR方式のHDDを採用した場合に、リアルタイム性を必要とする組込みシステムにおける書き込み性能を担保することができる、情報処理装置、情報処理システム、データ書き込み方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決し、目的を達成するために、本発明は、トラックを半径方向に重ねて配置する瓦記録方式でデータを書き込む不揮発記憶装置と、前記不揮発記憶装置に対してセクタ単位でのデータの書き込みを指示するファイル書き込み要求部と、前記不揮発記憶装置のデータ書き込み領域に対してデータを追記する追記部と、データ揮発メモリ上に、前記データ書き込み領域に対して書き込むデータを一時保持する遅延書き込みバッファを設け、前記遅延書き込みバッファに溜まった前記データの総量が閾値を超えた場合、前記遅延書き込みバッファ内の前記データを前記不揮発記憶装置に書き込む遅延書き込み部と、を備える。
【発明の効果】
【0007】
本発明によれば、SMR方式のHDDを採用した場合に、リアルタイム性を必要とする組込みシステムにおける書き込み性能を担保することができる、という効果を奏する。
【図面の簡単な説明】
【0008】
【
図1】
図1は、本実施の形態にかかる情報処理装置が接続されたプリンタの構成の一例を示す図である。
【
図2】
図2は、本実施の形態にかかる情報処理装置の構成の一例を示す図である。
【
図3】
図3は、本実施の形態にかかる情報処理装置上で動作するソフトウェアの構成の一例を示す図である。
【
図4】
図4は、本実施の形態にかかる情報処理装置が有するSMR方式HDDの構成の一例を示す図である。
【
図5A】
図5Aは、SMR方式HDDへのデータの書き込み処理の一例を説明するための図である。
【
図5B】
図5Bは、SMR方式HDDへのデータの書き込み処理の一例を説明するための図である。
【
図6A】
図6Aは、本実施の形態にかかる情報処理装置におけるSMR方式HDDへのデータの書き込み処理の一例を説明するための図である。
【
図6B】
図6Bは、本実施の形態にかかる情報処理装置におけるSMR方式HDDへのデータの書き込み処理の流れの一例を示すフローチャートである。
【
図7】
図7は、本実施の形態にかかる情報処理装置におけるSMR方式HDDに対するデータの書き込み構成の一例を説明するための図である。
【
図8】
図8は、本実施の形態にかかる情報処理装置におけるSMR方式HDDに対するデータの書き込み構成の一例を説明するための図である。
【
図9】
図9は、本実施の形態にかかる情報処理装置におけるファイル管理情報の取り扱いの一例を説明するための図である。
【
図10】
図10は、本実施の形態にかかる情報処理装置におけるファイル管理情報のリストアの流れの一例を示すフローチャートである。
【
図11】
図11は、本実施の形態にかかる情報処理装置における新規のファイル管理情報DBを用いた書き込みバッファの監視処理の流れの一例を示すフローチャートである。
【
図12】
図12は、本実施の形態にかかる情報処理装置におけるSMR方式HDDに対するアクセスの一例を説明するための図である。
【
図13】
図13は、本実施の形態にかかる情報処理装置におけるSMR方式HDDに対するデータの書き込み構成の一例を説明するための図である。
【発明を実施するための形態】
【0009】
以下に添付図面を参照して、情報処理装置、情報処理システム、データ書き込み方法、およびプログラムの実施の形態を詳細に説明する。
【0010】
本実施の形態にかかる情報処理装置は、SMR方式のHDD(以下、SMR方式HDDという)を搭載し、SMR方式HDDへの書き込みにおいて、書き込み制御プログラムが直接書き込み先セクタを指定してシーケンシャルに書き込みを行い、揮発メモリ上にSMR方式HDDへの書き込みのバッファを用意し、一定サイズの書き込み要求を蓄積して遅延書き込みを行う。
【0011】
図1は、本実施の形態にかかる情報処理装置が接続されたプリンタの構成の一例を示す図である。プリンタ101(画像形成装置の一例)は、情報処理装置102により、当該プリンタ101全体の動作が制御される。プリンタ101は、外部コントローラ104から印刷情報が送信された後、給紙部105より用紙を取得し、図中の点線で示す経路にて用紙を搬送する。次に、プリンタ101は、ドラム113,114,115,116のそれぞれK(ブラック)、C(シアン)、M(マゼンタ)、Y(イエロー)のトナー像をベルト111上に重ね、ローラ117にて搬送される用紙にトナー像を転写し、ローラ117にて用紙上に定着させる。
【0012】
次いで、プリンタ101は、ローラ117で搬送されてきた用紙を、読取装置131により読み取る。情報処理装置102は、読取装置131により読み取られた読取画像を保存する。そして、プリンタ101は、片面印刷の場合には、用紙をそのままスタッカ103に排紙し、両面印刷の場合には、反転パス118において用紙を反転させて、さらに用紙の反対側にもトナー像を転写および定着させてスタッカ103に排紙する。スタッカ103は、プリンタ101から排出された用紙をトレイ141にスタックする。
【0013】
図2は、本実施の形態にかかる情報処理装置の構成の一例を示す図である。この情報処理装置102は、CPU(Central Processing Unit)201と、RAM(Random Access Memory)202と、SMR方式HDD203と、ROM(Read Only Memory)204と、入力装置205と、表示装置206と、外部I/F207と、通信I/F208と、を有し、これらのハードウェアはバスBで互いに接続されている。SMR方式HDD203は、トラックを半径方向に重ねて配置する瓦記録方式でデータを書き込む不揮発記憶装置の一例である。
【0014】
図3は、本実施の形態にかかる情報処理装置上で動作するソフトウェアの構成の一例を示す図である。本実施の形態にかかる情報処理装置102のソフトウェアは、全体制御モジュール301と、I/F処理モジュール302と、読取画像受信制御モジュール303と、HDD書き込み制御モジュール304と、画像処理モジュール305と、を有する。
【0015】
全体制御モジュール301は、I/F処理モジュール302により印刷情報を取得し、読取画像受信制御モジュール303に対して、読取装置131からの読取画像の受信を指示する。また、全体制御モジュール301は、読取画像を、HDD書き込み制御モジュール304に送信してSMR方式HDD203への保存を指示したり、画像処理モジュール305に送信して画像処理を指示したりできる。全体制御モジュール301は、SMR方式HDD203に対してセクタ単位でのデータの書き込みを指示するファイル書き込み要求部の一例である。
【0016】
I/F処理モジュール302は、外部装置から、印刷情報等を取得する。読取画像受信制御モジュール303は、全体制御モジュール301からの指示に応じて、読取装置131から、読取画像を受信する。画像処理モジュール305は、全体制御モジュール301からの指示に応じて、読取画像に対して画像処理を行う。
【0017】
HDD書き込み制御モジュール304は、セクタ単位書き込み手段304a、ファイル書き込み領域追記手段304b、および遅延書き込み手段304cを有する。セクタ単位書き込み手段304aは、SMR方式HDD203のデータ書き込み領域に対してセクタ単位でデータの書き込みを行う。ファイル書き込み領域追記手段304bは、SMR方式HDD203のデータ書き込み領域に対してデータを追記する追記部の一例である。
【0018】
遅延書き込み手段304cは、データ揮発メモリの一例であるRAM202(
図2参照)上に、SMR方式HDD203のデータ書き込み領域に対して書き込むデータを一時保持する書き込みバッファ(遅延書き込みバッファの一例)を設ける。また、遅延書き込み手段304cは、当該書き込みバッファに溜まったデータの総量が閾値を超えた場合、書き込みバッファ内のデータをSMR方式HDD203に書き込む遅延書き込み部の一例である。これにより、空きセクタの断片化を低減できる。また、小さな書き込み要求またはランダムアクセスの書き込み要求を低減し、さらに、キャッシュフラッシュが発生したとしても、遅延書き込みによる待機時間を隠蔽できる。その結果、SMR方式HDD203を採用した場合に、リアルタイム性を必要とする組込みシステムにおける書き込み性能を担保することができる。
【0019】
図4は、本実施の形態にかかる情報処理装置が有するSMR方式HDDの構成の一例を示す図である。本実施の形態では、SMR方式HDD203は、HDDコントローラ401、データ揮発メモリの一例であるRAM402、プラッタ403、およびヘッド404を有し、バスで互いに接続されている。また、プラッタ403上には、書き込み要求を蓄積するキャッシュ領域とデータ保存領域が存在する。SMR方式HDD203は、プラッタ403(例えば、円盤状の金属板)を回転させてヘッド404(例えば、磁気ヘッド)でデータの読み取りおよび書き込みを行う。また、プラッタ403のデータ保存領域(記憶領域)には、同心円状に分割されたデータ保存領域であるトラックと、トラックをさらに円周方向に分割された小さい単位のデータ保存領域であるセクタ(通常512bytes)を持っている。
【0020】
図5Aおよび
図5Bは、SMR方式HDDへのデータの書き込み処理の一例を説明するための図である。
図5Aおよび
図5Bに示すように、SMR方式HDD203のデータ書き込み領域に対して、小さなデータサイズのデータの書き込みまたはランダムアクセスのデータの書き込みを実行すると、書き込むデータのサイズに対して大きなバンド単位での書き込み処理を繰り返すことになり、データの書き込み性能を落とすこととなる。
【0021】
そこで、本実施の形態では、
図6Aに示す通り、遅延書き込みを行うことで、小さなデータサイズまたはランダムアクセスのデータの書き込みを低減する。HDD書き込み制御モジュール304(遅延書き込み手段304c)は、全体制御モジュール301から読取画像の保存指示を受信すると、逐次、書き込みデータをRAM202上の書き込みバッファに書き込む。その後、HDD書き込み制御モジュール304(遅延書き込み手段304c)は、
図6Bに示す手順で、書き込みデータをSMR方式HDD203に書き込む。
【0022】
図6Bは、本実施の形態にかかる情報処理装置におけるSMR方式HDDへのデータの書き込み処理の流れの一例を示すフローチャートである。まず、遅延書き込み手段304cは、RAM202上の書き込みバッファを監視し、一定時間以上、書き込みバッファに書き込みデータがあるか否かを判断する(ステップS501)。一定時間以上、書き込みバッファに書き込みデータがない場合(ステップS501:No)、遅延書き込み手段304cは、一定容量以上、書き込みバッファに書き込みデータがあるか否かを判断する(ステップS502)。
【0023】
一定時間以上、書き込みバッファに書き込みデータがある場合(ステップS501:Yes)、および、一定容量以上、書き込みバッファに書き込みデータがある場合(ステップS502:Yes)、遅延書き込み手段304cは、書き込みバッファ内のデータをまとめてSMR方式HDD203に書き込む処理をシーケンシャルに実施する(ステップS503)。このとき、最適な書き込みバッファのサイズと、閾値と、は、プリンタ101の印刷周期と読取画像のサイズ、SMR方式HDD203の書き込み性能によって変動するため、SMR方式HDD203の書き込み性能に応じて、それぞれの値を切り替えながら遅延書き込み動作を実験して最適な値を採用しても良い。
【0024】
SMR方式HDD203へのデータの書き込み後、遅延書き込み手段304cは、全体制御モジュール301から、読取画像の保存の終了処理が要求されているか否かを判断する(ステップS504)。読取画像の保存の終了処理が要求されていない場合(ステップS504:No)、遅延書き込み手段304cは、ステップS501に進み、書き込みバッファの監視に戻る。一方、読取画像の保存の終了処理が要求されている場合(ステップS504:Yes)、遅延書き込み手段304cは、SMR方式HDD203へのデータの書き込みを終了する。
【0025】
図7および
図8は、本実施の形態にかかる情報処理装置におけるSMR方式HDDに対するデータの書き込み構成の一例を説明するための図である。遅延書き込み手段304cは、
図7に示す通り、SMR方式HDD203上の書き込み領域全体に1つの巨大なアーカイブファイルを確保する。これにより、遅延書き込み手段304cが書き込み先セクタに書き込みを行えるようにしている。また、遅延書き込み手段203cは、アーカイブファイル内のデータ書き込み領域上のファイル管理情報をRAM202上に配置することで、ファイル管理用のランダムアクセスを低減することができる。
【0026】
すなわち、遅延書き込み手段304cは、SMR方式HDD203のデータ書き込み領域に書き込まれたデータのファイル管理情報をRAM202上に配置して、当該ファイル管理情報に基づいて、データ書き込み領域に書き込まれたデータのファイル管理を行っても良い。既存ファイルシステムではファイル管理情報の更新のために保存先のHDDへのランダムアクセスが発生してしまうが、ファイル管理情報をRAM202上に配置した独自のファイル管理を行うことで、SMR方式HDD203へのランダムアクセスを低減できる。
【0027】
また、遅延書き込み手段304cが、次回、SMR方式HDD203への書き込みを実施する際に、前回の書き込みデータの続きのセクタからシーケンシャルに書き込みを行うことができる。ただし、ファイル(書き込みデータ)の書き込みの際は、4KB バウンダリで行うようにし、Direct I/O動作でディスクI/Oの要求を発行する。すなわち、遅延書き込み手段304cは、4KB バウンダリでデータをデータ書き込み領域に書き込む。これにより、全体制御モジュール301がHDD等のストレージデバイスに対してディスクアクセスする際に、OS(Operating System)のデータキャッシング機構を返さずに直接ストレージデバイスに対してディスクI/Oの要求を発行するDirect I/O動作を行うことが可能となるため、OS内でディスクI/Oオーバーヘッドを低減することができる。
【0028】
そして、遅延書き込み手段304cは、
図8に示す通り、データ書き込み領域の末端に達した場合、先頭に戻ってファイル(書き込みデータ)の追記を行う。すなわち、遅延書き込み手段304cは、データ書き込み領域に対するデータの追記位置が当該データ書き込み領域の末端に達した場合には、データ書き込み領域の先頭に戻ってデータの追記を行う。これにより、ディスク容量が満杯になった場合でも、古いファイルを消して、新しいファイルを書き込み続けることができるので、製品寿命がHDD容量で制限されてしまうことを防止できる。
【0029】
図9は、本実施の形態にかかる情報処理装置におけるファイル管理情報の取り扱いの一例を説明するための図である。遅延書き込み手段304cは、SMR方式HDD203上にファイル管理情報のバックアップ用領域(ファイル管理情報バックアップ領域)を確保し、2つのバックアップ固定ファイル(ファイル管理情報DBバックアップ1,2)を作成しても良い。すなわち、遅延書き込み手段304cは、ファイル管理情報のバックアップを二重化する。これにより、バックアップ中の突然の電源遮断に対応することができ、バックアップ固定ファイルとして作成しておくことで、バックアップ処理時にデータ書き込み領域が固定され、常にシーケンシャルに書き込みを行うことができる。
【0030】
また、遅延書き込み手段304cは、SMR方式HDD203のデータ書き込み領域に書き込まれたデータのファイル管理情報を含むDB(ファイル管理情報DB)を用いて、データ書き込み領域に書き込まれたデータのファイル管理を行っても良い。これにより、ファイル管理情報に複数のプロセスからアクセスできるようになり、容易に並列動作を実装可能な使い勝手の良い構成を実現できる。
【0031】
本実施の形態では、遅延書き込み手段304cは、モジュールの開始時に、ファイル管理情報をSMR方式HDD203からRAM202にリストアする。また、遅延書き込み手段304cは、モジュールの終了時に、RAM202からSMR方式HDD203にバックアップすることでファイル管理情報を永続化する。すなわち、遅延書き込み手段304cは、ファイル管理情報をシステム起動および終了時にバックアップまたはリストアする。また、遅延書き込み手段304cは、ファイル管理情報のバックアップデータを固定ファイルに常に上書きしても良い。これにより、ファイル管理情報をバックアップまたはリストアする際のディスクアクセスをシーケンシャルアクセスのみにできるので、ファイル管理情報のバックアップまたはリストア処理を効率化できる。
【0032】
図10は、本実施の形態にかかる情報処理装置におけるファイル管理情報のリストアの流れの一例を示すフローチャートである。本実施の形態では、遅延書き込み手段304cは、2つのバックアップ固定ファイル(ファイル管理情報DBバックアップ1,2)のうち、新しい方のバックアップファイル(すなわち、新しいタイムスタンプを持つバックアップファイル)が破損しているか確認する(ステップS601、ステップS602)。
【0033】
新しい方のバックアップファイルが破損していない場合(ステップS602:No)、遅延書き込み手段304cは、確認した新しい方のバックアップファイルをRAM202に書き出す(ステップS603)。次に、遅延書き込み手段304cは、遅延書き込み動作のための書き込みバッファの監視を開始する(ステップS607)。一方、新しい方のバックアップファイルが破損していた場合(ステップS602:Yes)、遅延書き込み手段304cは、古い方のバックアップファイルが破損しているか確認する(ステップS604、ステップS605)。
【0034】
古い方のバックアップファイル(古いタイムスタンプを持つバックアップファイル)が破損していない場合(ステップS605:No)、遅延書き込み手段304cは、確認した古い方のバックアップファイルをRAM202に書き出し(ステップS606)、書き込みバッファの監視を開始する(ステップS607)。一方、古い方のバックアップファイルも破損していた場合(ステップS605:Yes)、遅延書き込み手段304cは、リストアをあきらめて新規のファイル管理情報DBバックアップを用いて書き込みバッファの監視を開始する(ステップS607)。
【0035】
図11は、本実施の形態にかかる情報処理装置における新規のファイル管理情報DBを用いた書き込みバッファの監視処理の流れの一例を示すフローチャートである。まず、遅延書き込み手段304cは、書き込みバッファの全書き込みデータをSMR方式HDD203に書き込み、書き込みバッファの監視を終了する(ステップS701、ステップS702)。その後、遅延書き込み手段304cは、RAM202のファイル管理情報DBを、SMR方式HDD203の2つのバックアップファイルのうち、古い方のバックアップファイルに上書き保存する(ステップS703)。
【0036】
図12は、本実施の形態にかかる情報処理装置におけるSMR方式HDDに対するアクセスの一例を説明するための図である。本実施の形態では、ユーザ空間プロセスからのファイルアクセス時に、FUSE(Filesystem in Userspace)を利用する。すなわち、遅延書き込み手段304cは、ユーザ空間プロセスから、SMR方式HDD203に対するファイルアクセス(例えば、データ書き込み領域に対するデータの書き込み)時にFUSEを利用しても良い。FUSEを導入することにより、
図12に示すように、ユーザ空間プロセスからのファイルアクセスをユーザ空間で実装したファイル管理システムを介して行うよう構成できる。そのため、ファイル管理情報DBの操作に一般的なDBMS(Data Base Management System)ソフトを導入することができ、SMR方式HDD203上に構成した独自のファイルシステムへのアクセス機能を容易に実現できる。
【0037】
最後に、SMR方式HDD203に書き込まれているファイルに対する上書きおよび削除に対応するためにデータ書き込み領域を複数個の固定長ブロックとして管理する構成と、複数のファイル書き込み領域を用意して書き込みデータの特性に応じて書き込み先のファイル書き込み領域を切り替える構成を持つ例について説明する。
【0038】
図13は、本実施の形態にかかる情報処理装置におけるSMR方式HDDに対するデータの書き込み構成の一例を説明するための図である。遅延書き込み手段304cは、データ書き込み領域1を、書き込まれているファイルに対する上書きおよび削除に対応するためにデータ書き込み領域を複数個の固定長ブロックとして管理している。遅延書き込み手段304cは、データ書き込み領域1に遅延書き込みをするための書き込みバッファ1も複数の同様の固定長ブロックとして管理し、遅延書き込み時は、データが書き込まれたブロックをまるごとシーケンシャルに書き込みを実施する。すなわち、遅延書き込み手段304cは、SMR方式HDD203内に用意したデータ書き込み領域を複数個の固定長ブロックとして管理し、SMR方式HDD203に書き込むデータを1個または複数個の固定長ブロックに分割して書き込んでも良い。
【0039】
このように、データ書き込み領域1を固定長ブロック単位で取り扱うことにより、上書きおよび削除実施時のセクタ断片化サイズがせいぜい固定長ブロックのサイズとなり、小さなセクタ断片化を低減でき、不連続なセクタに書き込まれたファイルへのアクセスする際のヘッドシーク回数を低減することができる。
【0040】
また、遅延書き込み手段304cは、削除および上書きを必要とするか否か、ひたすら追記を行うファイルであるか(主にログファイル)、ファイルサイズが変化するか否か、ファイルあたりのデータサイズといった、書き込みデータの特性に応じて、データ書き込み領域2,3を作成し、書き込むデータの種類に応じて書き込み先のデータ書き込み領域を切り替える。すなわち、遅延書き込み手段304cは、SMR方式HDD203内に複数のデータ書き込み領域を用意して、書き込むデータの種類に応じて書き込み先のデータ書き込み領域を切り替えても良い。
【0041】
これにより、削除および上書きを必要としないデータに対してはブロック分割を適用せずに最大限の領域を活用することができる。また、ブロック分割を適用するデータに対してファイルあたりのデータサイズに応じてブロックサイズをチューニングすることできる。また、データのサイズまたは書き込み頻度に応じてバッファサイズと遅延書き込み閾値をチューニングすることができる。さらに、ファイルサイズが変化するデータを固定領域内で管理することができるため、ディスク利用率向上、固定長ブロック管理による書き込み性能向上、遅延書き込みによる書き込み性能向上をより追求することができる。
【0042】
また、遅延書き込み手段304cは、書き込むデータの種類に応じたデータ書き込み領域毎に、RAM202上に遅延書き込みバッファを設けても良い。これにより、書き込むデータの特性に合わせて、ディスクI/O性能の最適化とライトバッファとして使用するメモリ量のバランスをチューニングした最適な大きさのライトバッファを用意することが可能となる。
【0043】
このように、本実施の形態にかかる情報処理装置102によれば、空きセクタの断片化を低減できる。また、小さな書き込み要求またはランダムアクセスの書き込み要求を低減し、さらに、キャッシュフラッシュが発生したとしても、遅延書き込みによる待機時間を隠蔽できる。その結果、SMR方式HDD203を採用した場合に、リアルタイム性を必要とする組込みシステムにおける書き込み性能を担保することができる。
【0044】
なお、本実施の形態の情報処理装置102で実行されるプログラムは、ROM204等に予め組み込まれて提供される。本実施の形態の情報処理装置102で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、フレキシブルディスク(FD)、CD-R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成しても良い。
【0045】
さらに、本実施の形態の情報処理装置102で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施の形態の情報処理装置102で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【0046】
本実施の形態の情報処理装置102で実行されるプログラムは、上述した各部(全体制御モジュール301、I/F処理モジュール302、読取画像受信制御モジュール303、HDD書き込み制御モジュール304、画像処理モジュール305)を含むモジュール構成となっており、実際のハードウェアとしてはCPU201等のプロセッサが上記ROM204からプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、全体制御モジュール301、I/F処理モジュール302、読取画像受信制御モジュール303、HDD書き込み制御モジュール304、画像処理モジュール305が主記憶装置上に生成されるようになっている。
【0047】
なお、上記実施の形態では、本発明の画像形成装置を、コピー機能、プリンタ機能、スキャナ機能およびファクシミリ機能のうち少なくとも2つの機能を有する複合機に適用した例を挙げて説明するが、複写機、プリンタ、スキャナ装置、ファクシミリ装置等の画像形成装置であればいずれにも適用することができる。
【0048】
本発明の態様は、例えば、以下のとおりである。
<1> トラックを半径方向に重ねて配置する瓦記録方式でデータを書き込む不揮発記憶装置と、
前記不揮発記憶装置に対してセクタ単位でのデータの書き込みを指示するファイル書き込み要求部と、
前記不揮発記憶装置のデータ書き込み領域に対してデータを追記する追記部と、
データ揮発メモリ上に、前記データ書き込み領域に対して書き込むデータを一時保持する遅延書き込みバッファを設け、前記遅延書き込みバッファに溜まった前記データの総量が閾値を超えた場合、前記遅延書き込みバッファ内の前記データを前記不揮発記憶装置に書き込む遅延書き込み部と、
を備える情報処理装置。
<2> 前記追記部は、前記データ書き込み領域に対するデータの追記位置が当該データ書き込み領域の末端に達した場合には、前記データ書き込み領域の先頭に戻ってデータの追記を行う、<1>に記載の情報処理装置。
<3> 前記遅延書き込み部は、前記不揮発記憶装置内に用意した前記データ書き込み領域を複数個の固定長ブロックとして管理し、前記不揮発記憶装置に書き込むデータを1個または複数個の固定長ブロックに分割して書き込む、<1>に記載の情報処理装置。
<4> 前記遅延書き込み部は、前記不揮発記憶装置内に複数の前記データ書き込み領域を用意して、書き込むデータの種類に応じて書き込み先の前記データ書き込み領域を切り替える、<1>から<3>のいずれか一つに記載の情報処理装置。
<5> 前記遅延書き込み部は、書き込むデータの種類に応じた前記データ書き込み領域毎に前記遅延書き込みバッファを設ける、<4>に記載の情報処理装置。
<6> 前記遅延書き込み部は、4KB バウンダリでデータを前記データ書き込み領域に書き込む、<1>から<5>のいずれか一つに記載の情報処理装置。
<7> 前記遅延書き込み部は、前記データ書き込み領域に書き込まれたデータのファイル管理情報をRAM上に配置して、前記ファイル管理情報に基づいて、前記データ書き込み領域に書き込まれたデータのファイル管理を行う、<1>から<6>のいずれか一つに記載の情報処理装置。
<8> 前記遅延書き込み部は、前記ファイル管理情報を含むDBを用いて、前記データ書き込み領域に書き込まれたデータのファイル管理を行う、<7>に記載の情報処理装置。
<9> 前記遅延書き込み部は、前記ファイル管理情報をシステム起動および終了時にバックアップまたはリストアする、<7>または<8>に記載の情報処理装置。
<10> 前記遅延書き込み部は、前記ファイル管理情報のバックアップデータを固定ファイルに常に上書きする、<9>に記載の情報処理装置。
<11> 前記遅延書き込み部は、前記ファイル管理情報のバックアップを二重化する、<9>または<10>に記載の情報処理装置。
<12> ユーザ空間プロセスからのファイルアクセス時にFUSE(Filesystem in Userspace)を利用する、<8>に記載の情報処理装置。
<13> データ揮発メモリと、
トラックを半径方向に重ねて配置する瓦記録方式でデータを書き込む不揮発記憶装置と、
前記不揮発記憶装置に対してセクタ単位でのデータの書き込みを指示するファイル書き込み要求部と、
前記不揮発記憶装置のデータ書き込み領域に対してデータを追記する追記部と、
前記データ揮発メモリ上に、前記データ書き込み領域に対して書き込むデータを一時保持する遅延書き込みバッファを設け、前記遅延書き込みバッファに溜まった前記データの総量が閾値を超えた場合、前記遅延書き込みバッファ内の前記データを前記不揮発記憶装置に書き込む遅延書き込み部と、
を備える情報処理システム。
<14> 情報処理装置で実行されるデータ書き込み方法であって、
トラックを半径方向に重ねて配置する瓦記録方式でデータを書き込む不揮発記憶装置に対してセクタ単位でのデータの書き込みを指示するステップと、
前記不揮発記憶装置のデータ書き込み領域に対してデータを追記するステップと、
データ揮発メモリ上に、前記データ書き込み領域に対して書き込むデータを一時保持する遅延書き込みバッファを設け、前記遅延書き込みバッファに溜まった前記データの総量が閾値を超えた場合、前記遅延書き込みバッファ内の前記データを前記不揮発記憶装置に書き込むステップと、
を含むデータ書き込み方法。
<15> コンピュータを、
トラックを半径方向に重ねて配置する瓦記録方式でデータを書き込む不揮発記憶装置に対してセクタ単位でのデータの書き込みを指示するファイル書き込み要求部と、
前記不揮発記憶装置のデータ書き込み領域に対してデータを追記する追記部と、
データ揮発メモリ上に、前記データ書き込み領域に対して書き込むデータを一時保持する遅延書き込みバッファを設け、前記遅延書き込みバッファに溜まった前記データの総量が閾値を超えた場合、前記遅延書き込みバッファ内の前記データを前記不揮発記憶装置に書き込む遅延書き込み部と、
して機能させるためのプログラム。
【符号の説明】
【0049】
101 プリンタ
102 情報処理装置
201 CPU
202,402 RAM
203 SMR方式HDD
204 ROM
205 入力装置
206 表示装置
207 外部I/F
208 通信I/F
301 全体制御モジュール
302 I/F処理モジュール
303 読取画像受信制御モジュール
304 HDD書き込み制御モジュール
304a セクタ単位書き込み手段
304b ファイル書き込み領域追記手段
304c 遅延書き込み手段
305 画像処理モジュール
401 HDDコントローラ
403 プラッタ
404 ヘッド
【先行技術文献】
【特許文献】
【0050】