(57)【要約】【課題】  フラッシュメモリへの書き込み処理は処理速度が遅いため、書き換え対象となる論理空き領域が大きい場合には、この書き込み処理によってシステムのパフォーマンスが低下する。【解決手段】  書き換え頻度の平準化をダイナミック・ウェアレベリングで行うフラッシュメモリを備えたストレージ装置に読み書きを行う情報処理装置と、その情報処理装置を制御する制御方法であって、ストレージ装置の特定の論理アドレス領域に対するアクセスの頻度が所定量以上かどうかを判定し、そのアクセスの頻度が所定量以上と判断した場合にストレージ装置の論理的空き領域を確認し、その確認した前記論理的空き領域にダミーデータを書き込み、前記ダミーデータを書き込んだ領域の論理的消去を行う。【選択図】  図１１
2014106918.tif 000002
【特許請求の範囲】
【請求項１】
書き換え頻度の平準化をダイナミック・ウェアレベリングで行うフラッシュメモリを備えたストレージ装置に読み書きを行う情報処理装置であって、
前記ストレージ装置の特定の論理アドレス領域に対するアクセスの頻度が所定量以上かどうかを判定する判定手段と、
前記判定手段がアクセスの頻度が所定量以上と判断した場合、前記ストレージ装置の論理的空き領域を確認する確認手段と、
前記確認手段が確認した前記論理的空き領域にダミーデータを書き込み、前記ダミーデータを書き込んだ領域の論理的消去を行う未使用ブロック生成手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記未使用ブロック生成手段は、前記アクセスの頻度、及びアクセスするデータのデータサイズに基づいて、前記論理的空き領域に書き込む前記ダミーデータのデータサイズと、その書き込む周期とを決定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記ダミーデータを書き込む周期は、前記論理アドレス領域へのアクセスの周期に同期していることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記ダミーデータのデータサイズは、前記ストレージ装置に搭載されるフラッシュメモリのブロックサイズの整数倍であることを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
前記未使用ブロック生成手段は、前記情報処理装置がアイドル状態の場合に、連続して前記ダミーデータの書き込み、前記ダミーデータを書き込んだ領域の論理的消去を行うことを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記確認手段は、前記ストレージ装置のＳ．Ｍ．Ａ．Ｒ．Ｔ.情報に含まれる前記ストレージ装置に搭載されるフラッシュメモリの未使用ブロックの量を取得し、
前記未使用ブロック生成手段は、前記未使用ブロックの量と前記論理空き領域の総容量との差分に従って、前記ダミーデータの書き込み、前記ダミーデータの論理的消去を行うことを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記ダミーデータは、全てのビットが１のデータであることを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
書き換え頻度の平準化をダイナミック・ウェアレベリングで行うフラッシュメモリを備えたストレージ装置に読み書きを行う情報処理装置を制御する制御方法であって、
特定手段が、前記ストレージ装置の特定の論理アドレス領域に対するアクセスの頻度が所定量以上かどうかを判定する判定工程と、
確認手段が、前記判定工程がアクセスの頻度が所定量以上と判断した場合、前記ストレージ装置の論理的空き領域を確認する確認工程と、
未使用ブロック生成手段が、前記確認工程で確認した前記論理的空き領域にダミーデータを書き込み、前記ダミーデータを書き込んだ領域の論理的消去を行う未使用ブロック生成工程と、
を有することを特徴とする情報処理装置の制御方法。
【請求項９】
コンピュータを、請求項１乃至７のいずれか１項に情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置の読み書きを行う情報処理装置及びその制御方法とプログラムに関するものである。
【背景技術】
【０００２】
従来、画像形成装置にＨＤＤ（ハードディスク・ドライブ）を搭載し、そのＨＤＤに、その画像形成装置が実行するプログラムを格納すると共に、そのＨＤＤに画像データの保存や編集などを行うストレージ機能を実現した画像形成装置がある。
【０００３】
近年、大容量化と低価格化が進み、モバイルＰＣ等を中心に急速に普及が進んでいるＳＳＤ（Solid State Drive）は、ＨＤＤと比べて高速なランダムアクセスが可能である。更に、ＳＳＤは、低消費電力、高い耐衝撃性、軽量、省スペースといった点に特徴がある。特にシステムの起動時に、ＨＤＤの場合に必要となるスピンアップ等の初期動作が不要であるため、高速なデータ転送機能と相まって起動時間の短縮化に非常に効果があると期待されている。
【０００４】
しかしながら、ＳＳＤに搭載されている記憶デバイスであるＮＡＮＤ型フラッシュメモリは、書き込み可能回数に上限がある（ＳＬＣで約１０万回、ＭＬＣで約１万回）。更に、プロセスの微細化により、将来的に、フラッシュメモリは現在の書き換え可能回数から更に、その回数が減少する傾向にある。このため、ＳＳＤに搭載されているフラッシュメモリ・コントローラは、同じ領域への書き込み頻度が集中しないように書き込み先を平均化させて記憶デバイスの寿命を延伸化させるウェアレベリングという技術を用いて、上記問題に対応している。このウェアレベリングには、主にダイナミック・ウェアレベリングとスタティック・ウェアレベリングの２種類がある。
【０００５】
図５は、ダイナミック・ウェアレベリングを説明する図である。
【０００６】
ダイナミック・ウェアレベリングは、書き込みアドレスに割り当てられた物理メモリの範囲でウェアレベリングを実行するのが特徴である。つまりオペレーション・システム（以下ＯＳ）等のような頻繁に更新されないスタティック（静的）データはリードオンリー領域にしてそのままにし、ダイナミックデータ（新しいデータ）のみを分散化する。このため、物理メモリに対して必要な書き換えのみ行うので、書き換え回数を抑制できる長所を持つ半面、物理メモリの使用状況によってウェアレベリングの有効範囲が狭くなる可能性があるという短所を持つ。
【０００７】
図６は、スタティック・ウェアレベリングを説明する図である。
【０００８】
スタティック・ウェアレベリングは、書き込みを行わないアドレスに割り当てられた物理メモリに対してもデータの移し変えをして、全領域においてウェアレベリングを実行する。このとき各ブロックの書き換え回数を記録し、なるべく書き換えの少ないブロックにデータを書き込んでいく。また必要に応じて、書き換えられていないブロックのデータ（スタティックデータ）を別のブロックに移し変えて、書き込み回数の均等化を図る。これにより、スタティック・ウェアレベリングは、ダイナミック・ウェアレベリングに対してウェアレベリングの有効範囲の制限が無いという長所がある。しかしその反面、物理メモリの無駄な書き換えが頻繁に発生するという短所を持つ。一般的にＳＳＤは、上記２種類のウェアレベリングの何れか、もしくはそれらを組み合わせて使用されている（例えば、特許文献１，２参照）。
【０００９】
更に、近年の画像形成装置に搭載されるストレージデバイスに記憶されるデータのセキュリティの確保やプライバシ保護への要求は非常に高く、ストレージに記録されたスプールデータや保存データを完全に消去できることが求められている。しかしＳＳＤはＨＤＤとは異なり、１回の書き換えでデータを完全に消去可能であるが、ウェアレベリングによって通常の書き込み処理では、消去対象データを直接書き換えられないことから完全消去に対応した特別な書き込み処理を行う必要がある。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００４−２３４４７３号公報
【特許文献２】特開２００９−０９３２４２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ダイナミック・ウェアレベリングを採用するＳＳＤでは、搭載されるフラッシュメモリの未使用ブロックが十分に多い場合は極めて有効的に平準化が機能するが、未使用ブロックの数が少ない状態になると平準化が適切に機能しなくなってしまう。例えば、マスタディスクからデュプリケータ等のコピーツールでＳＳＤにディスクコピーを行った場合、コピー先のＳＳＤに、マスタディスクのディスクイメージが全領域にコピーされる場合がある。この場合、そのコピーされたＳＳＤは、ファイルシステムからみて論理的空き領域に割り当てられた物理ブロックにも全てデータが書き込まれた状態となっている。つまり、ＳＳＤに搭載されるフラッシュメモリ・コントローラからみると、全てのブロックが使用済み状態となるためダイナミック・ウェアレベリングが機能しない状態となる。
【００１２】
図７は、ダイナミック・ウェアレベリングが機能しなくなったＳＳＤの状態を４ＧＢのＳＳＤを例にして示す図である。図７では、有効データ領域であるリードオンリー領域と、論理的空き領域とにデータが書き込まれた状態となっているため、わずかな未使用領域と書き換え領域との間でウェアレベリングが実行されることになる。
【００１３】
図８は、図７の状態におけるＳＳＤの論理アドレスと物理ブロックの関係を示す図である。
【００１４】
この状態でシステムに組み込んで動作させた場合に、ＯＳ等が特定領域に書き換え処理を集中して行うと、ウェアレベリングによる平準化が機能しないために、その特定領域に割り当てられた物理ブロックの寿命が著しく疲弊するという問題がある。
【００１５】
このような問題を解決するためには、論理的空き領域に割り当てられている物理ブロックを、使用済み状態から未使用状態である未使用ブロックに戻す必要がある。未使用ブロックの生成は、ファイルシステム上の論理的空き領域に対してブロック単位で任意のデータ（ダミーデータ）を書き込んだ後で、そのダミーデータを書き込んだ領域を解放するデータの書き換え処理を行うことで可能となる。しかしながらフラッシュメモリへの書き込み処理は処理速度が遅いため、書き換え対象となる論理空き領域が大きい場合には、この書き込み処理によってシステムのパフォーマンスが低下するという問題があった。
【００１６】
本発明の目的は、上記従来技術の問題点を解決することにある。
【００１７】
本発明の特徴は、論理空き領域の全域に対するダミーデータの書き換え処理による負荷を分散して、パフォーマンスの低下を防止する技術を提供することにある。
【課題を解決するための手段】
【００１８】
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
書き換え頻度の平準化をダイナミック・ウェアレベリングで行うフラッシュメモリを備えたストレージ装置に読み書きを行う情報処理装置であって、
前記ストレージ装置の特定の論理アドレス領域に対するアクセスの頻度が所定量以上かどうかを判定する判定手段と、
前記判定手段がアクセスの頻度が所定量以上と判断した場合、前記ストレージ装置の論理的空き領域を確認する確認手段と、
前記確認手段が確認した前記論理的空き領域にダミーデータを書き込み、前記ダミーデータを書き込んだ領域の論理的消去を行う未使用ブロック生成手段と、を有することを特徴とする。
【発明の効果】
【００１９】
本発明によれば、論理空き領域の全域に対するダミーデータの書き換え処理による負荷を分散して、パフォーマンスの低下を防止できるという効果がある。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態に係る画像形成装置の全体構成を示すブロック図。
【図２】本発明の実施形態に係るコントローラ制御部の構成を示すブロック図。
【図３】実施形態に係る画像形成装置の操作部の構成を説明する図。
【図４】実施形態に係るＳＳＤの構成を示すブロック図。
【図５】ダイナミック・ウェアレベリングを説明する図。
【図６】スタティック・ウェアレベリングを説明する図。
【図７】ダイナミック・ウェアレベリングが機能しなくなったＳＳＤの状態を４ＧＢのＳＳＤを例にして示す図。
【図８】図７の状態におけるＳＳＤの論理アドレスと物理ブロックの関係を示す図。
【図９】本実施形態により、前述の図７の状態から改善されたＳＳＤの状態を示す図。
【図１０】図９の状態におけるＳＳＤの論理アドレスと物理ブロックの関係を示す図。
【図１１】本実施形態に係る画像形成装置のコントローラ制御部によるＳＳＤの論理空き領域への周期的なダミーデータの書き込み処理により、論理空き領域に割り当てられた使用済みブロックの解消処理を説明するフローチャート。
【図１２】実施形態に係る画像形成装置がアイドル状態における、ＳＳＤの論理空き領域へのダミーデータの書き換え処理によって論理空き領域に割り当てられた使用済みブロックの一括解消処理を説明するフローチャート。
【図１３】図１１で示す処理に、Ｓ．Ｍ．Ａ．Ｒ．Ｔ情報によるダミーデータの書き換え処理実施の判断処理を追加した処理を説明するフローチャート。
【図１４】図１２の処理に、Ｓ．Ｍ．Ａ．Ｒ．Ｔ情報によるダミーデータの書き換え処理実施の判断処理を追加した処理を示すフローチャート。
【図１５】画像形成装置にＨＤＤが無い環境下で、ＳＳＤの論理空き領域への周期的なダミーデータの書き換え処理による、論理空き領域に割り当てられた使用済みブロックの解消処理を説明するフローチャート。
【図１６】画像形成装置にＨＤＤが無い環境下で、画像形成装置がアイドル状態における、ＳＳＤの論理空き領域へのダミーデータの書き換え処理によって、使用済みブロックの一括解消処理を説明するフローチャート。
【図１７】画像形成装置にＨＤＤが無い環境下で、図１３と同様に、Ｓ．Ｍ．Ａ．Ｒ．Ｔ情報によるダミーデータの書き換え処理実施の判断処理を追加した処理を説明するフローチャート。
【図１８】画像形成装置にＨＤＤが無い環境下で、図１４と同様に、図１２の処理に、Ｓ．Ｍ．Ａ．Ｒ．Ｔ情報によるダミーデータの書き換え処理実施の判断処理を追加した処理を示すフローチャート。
【発明を実施するための形態】
【００２１】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。尚、この実施形態では、本発明の情報処理装置を、多機能処理装置（ＭＦＰ）である画像形成装置を例にして説明するが、本発明はこのような多機能処理装置に限定されるものではない。
【００２２】
図１は、本発明の実施形態に係る画像形成装置１００の全体構成を示すブロック図である。
【００２３】
この画像形成装置１００は、コントローラ制御部４００により制御されている。コントローラ制御部４００は、操作部８００（図３）やコンピュータ４５３からの指示に基づいて原稿搬送装置を制御する原稿搬送制御部１０１、イメージリーダを制御するイメージリーダ制御部２０１と通信し、入力される原稿の画像データを取得する。またプリンタ部を制御するプリンタ制御部３０１と通信して、画像データをシートに印刷する。また折り装置を制御する折り装置制御部５０１、フィニッシャを制御するフィニッシャ制御部６０１と通信を行い、印刷されたシートにステイプルやパンチといった所望の後処理を実行する。
【００２４】
外部Ｉ／Ｆ４５１は、コンピュータ４５３と接続するインターフェースである。外部Ｉ／Ｆ４５１は、例えばネットワークやＵＳＢなどの外部バス４５２を介してコンピュータ４５３からのプリントデータを受信し、画像に展開して出力する。また図２を参照して後述する半導体ストレージ４１３（以下、ＳＳＤ）及びハードディスク４０７（以下、ＨＤＤ）に記憶されている画像データを読み出してコンピュータ４５３に送信する。
【００２５】
図２は、本発明の実施形態に係るコントローラ制御部４００の構成を示すブロック図である。
【００２６】
コントローラ制御部４００はＣＰＵ−Ａ４０１及びＣＰＵ−Ｂ４０８の２つのＣＰＵを有し、それぞれオペレーティングシステム（以下、ＯＳ）で制御される。ＣＰＵ−Ａ４０１にはバスブリッジ４０４が接続され、このバスブリッジ４０４を介して、ＣＰＵ−Ａ４０１とＣＰＵ−Ｂ４０８とが通信を行う。またバスブリッジ４０４は、ＣＰＵ−Ａ４０１の初期起動プログラムを格納しているＲＯＭ−Ａ４０２を接続し、ＲＡＭ−Ａ４０３にＣＰＵ−Ａ４０１の制御データを一時的に保持する。またバスブリッジ４０４は、制御に伴う演算の作業領域として用いられるＲＡＭ−Ａ４０３を接続し、ＳＳＤ４１３やＨＤＤ４０７等のストレージ機器を制御するストレージ制御部４１２を接続している。
【００２７】
ＳＳＤ４１３には、ＣＰＵ−Ａ４０１及びＣＰＵ−Ｂ４０８の２つのＯＳを含むメインプログラムが格納されている。また、オプション設定となっているＨＤＤ４０７が接続されていない場合は、ＳＳＤ４１３は、イメージリーダや外部Ｉ／Ｆ４５１より取得した画像データや操作部８００で画像を編集したときの画像データの格納先となる。またＳＳＤ４１３は、アプリケーションプログラムやユーザプリファレンスデータ等の全てのデータの格納先として使用される。本実施形態では、このＳＳＤ４１３は、フラッシュディスクを想定している。アクセス監視部４１４は、ＳＳＤ４１３の特定の論理アドレス領域に対する集中的なアクセスがあるか否かを監視している。
【００２８】
また、オプションであるＨＤＤ４０７が接続された場合は、ＳＳＤ４１３の代わりに、ＨＤＤ４０７がイメージリーダや外部Ｉ／Ｆ４５１より取得した画像データや、編集された画像データの保存用やアプリケーションプログラムの格納先として使用される。またＨＤＤ４０７は、アプリケーションプログラムやユーザプリファレンスデータの格納先としても使用される。このＨＤＤ４０７は、ＣＰＵ−Ａ４０１及びＣＰＵ−Ｂ４０８からアクセスができるように構成されている。またバスブリッジ４０４には、ネットワークやＵＳＢインターフェースを制御する外部Ｉ／Ｆ制御部４０５、操作部８００を制御する操作部制御部４０６が接続されている。
【００２９】
ＣＰＵ−Ｂ４０８には、ＣＰＵ−Ｂ４０８の初期起動プログラムを格納しているＲＯＭ−Ｂ４０９、ＣＰＵ−Ｂ４０８の制御データを一時的に保持し、制御に伴う演算の作業領域として用いられるＲＡＭ−Ｂ４１０が接続されている。更にＣＰＵ−Ｂ４０８はデバイス制御部４１１と接続されている。このデバイス制御部４１１は、図１に示す原稿搬送制御部１０１、イメージリーダ制御部２０１、プリンタ制御部３０１、折り装置制御部５０１、フィニッシャ制御部６０１と接続して、これらを制御している。
【００３０】
図３は、実施形態に係る画像形成装置１００の操作部８００の構成を説明する図である。
【００３１】
表示部９００は、画面上にタッチパネルシートが貼られており、操作画面を表示するとともに、ユーザが、その表示しているキーを押下すると、その位置情報を操作部制御部４０６に伝える。テンキー８０１は、ユーザがコピー枚数等の数字を入力する際に使用される。スタートキー８０２は、ユーザが所望の条件を設定した後、複写動作、原稿の読取り動作の開始を指示するときなどに用いられる。またガイドキー８０５は、ユーザがキーの機能が解らないとき押下すると、そのキーの説明が表示される。コピーモードキー８０６は、ユーザが複写を指示するときに押下する。ファクスキー８０７は、ユーザがファクスに関する設定を行うときに押下する。ファイルキー８０８は、ユーザがファイルデータを出力したいときに押下する。プリンタキー８０９は、ユーザが、コンピュータ４５３等の外部装置からのプリント出力に関する設定などを行うときに使用する。
【００３２】
次に、本実施形態に係る画像形成装置１００のＳＳＤ４１３においてデータ完全消去モード時のデータ書き込み処理の動的な切り替え制御方法ついて詳しく説明する。
【００３３】
図４は、実施形態に係るＳＳＤ４１３の構成を示すブロック図である。
【００３４】
フラッシュ制御部１０００は、主にストレージＩ／Ｆ１００１とメモリ制御部１００２とを有している。ストレージＩ／Ｆ１００１は、コントローラ制御部４００のストレージ制御部４１２と通信するためのモジュールである。本実施形態ではシリアルＡＴＡ（以下、ＳＡＴＡ）インターフェースを想定している。
【００３５】
メモリ制御部１００２は、フラッシュメモリ１００３への書き換え頻度の平準化をダイナミック・ウェアレベリングで行う。メモリ制御部１００２はストレージＩ／Ｆ１００１が受信したコマンドに基づいて、フラッシュメモリ１００３にデータのリード／ライトを行うデータの書き込み処理切り替え部１００４を含んでいる。この書き込み処理切り替え部１００４は、アクセスしたアドレスにデータを書き込む第１の書き込み動作と、データの書き込み時に不要になったデータを消去してからデータを書き込む第２の書き込み動作を切り替えて実行できる。ここで、論理空き領域へのダミーデータの書き込みには第２書き込み動作が用いられる。
【００３６】
次に図９及び図１０を参照して、本実施形態の特徴を説明する。
【００３７】
図９は、本実施形態により、前述の図７の状態から改善されたＳＳＤの状態を示す図である。
【００３８】
また図１０は、図９の状態におけるＳＳＤの論理アドレスと物理ブロックの関係を示す図である。
【００３９】
図９では、使用済み状態となっているフラッシュメモリの物理ブロックに割り当てられている論理空き領域９０１に対してダミーデータを書き込むことにより未使用領域９０２を生成している。これにより、この未使用領域９０２と書き換え領域９０３及び未使用領域９０４を使用することにより平準化の機能を回復させることができる。
【００４０】
また、論理空き領域９０１の全域に対するダミーデータの書き込み処理を適切なサイズで周期的に行うことで、この処理による負荷を分散して、システムパフォーマンスの低下を抑えることができる。
【００４１】
また、ダミーデータとしてデータ「ＦＦ」を使用することにより、ＳＳＤ４１３に搭載されるフラッシュメモリの書き込み対象のブロックのビットデータに０（ゼロ）が含まれない場合に、実質的なデバイス寿命の消費を抑制することが出来る。
【００４２】
また、１周期あたりに書き込むダミーデータのデータサイズを、ＳＳＤ４１３に搭載されるフラッシュメモリのブロックサイズの整数倍に設定する。
【００４３】
また、ＳＳＤ４１３のＳ．Ｍ．Ａ．Ｒ．Ｔ.情報から、そのＳＳＤ４１３の未使用ブロック数を読み出して、論理空き領域の総容量と比較する。そして、両者の差が予め定めた所定値を下回った場合は、論理空き領域９０１へのダミーデータの書き込みと、書き込んだダミーデータの論理的消去処理を行わない。
【００４４】
以下、詳しく説明する。
【００４５】
図１１は、本実施形態に係る画像形成装置１００のコントローラ制御部４００によるＳＳＤ４１３の論理空き領域への周期的なダミーデータの書き込み処理により、論理空き領域に割り当てられた使用済みブロックの解消処理を説明するフローチャートである。この処理を実行するプログラムは、実行時、ＲＡＭ−Ａ４０３に展開され、ＣＰＵ−Ａ４０１の制御の下に実行される。
【００４６】
ＣＰＵ−Ａ４０１が、ＯＳからのストレージ情報の確認の要求を受けると、先ずＳ１０１で、ＣＰＵ−Ａ４０１は、画像形成装置００１のストレージ構成を確認する。そしてＳ１０２で、ＣＰＵ−Ａ４０１は、Ｓ１０１で確認したストレージ構成に基づいて、オプションであるＨＤＤ４０７が接続されているかどうかを判定し、ＨＤＤ４０７が接続されているとＳ１０３に進む。Ｓ１０３でＣＰＵ−Ａ４０１は、ＳＳＤ４１３の特定の論理アドレス領域に対して集中的なアクセスがあるか否かをアクセス監視部４１４により監視する。このときアクセス監視部４１４は、ＳＳＤ１４３へのアクセス状態を監視して、ＳＳＤ４１３の特定アドレスへの集中的なアクセスの有無を判定し、そのアクセスの頻度及びデータサイズをＲＡＭ−Ａ４０３又はＨＤＤ４０７に保持する。
【００４７】
次にＳ１０４に進み、ＣＰＵ−Ａ４０１は、ＳＳＤ４１３の特定の論理アドレス領域に対する集中的なアクセスがあると判定したときはＳ１０５に進み、ＣＰＵ−Ａ４０１は、そのアクセスの頻度を判定する。Ｓ１０５で、そのアクセスの頻度が予め設定された所定値αより大きいと判定した場合はＳ１０６に進み、ＣＰＵ−Ａ４０１は、ＳＳＤ４１３の論理的空き領域を確認する。そしてＳ１０７に進み、ＣＰＵ−Ａ４０１は、アクセス監視部４１４から得た、集中的なアクセスの頻度、及びそのアクセスするデータサイズに基づいて、ＳＳＤ４１３の論理的空き領域へダミーデータを書き込む周期と、そのデータサイズを決定する。ここで、ダミーデータを書き込む周期は、画像形成装置１００のパフォーマンスに影響を与えない範囲で任意に設定が可能である。また、特定の論理アドレス領域への集中アクセスに周期性がある場合は、ダミーデータを書き込む周期を、この周期に同期させても良い。また、ダミーデータのデータサイズは、ＳＳＤ４１３に搭載されるフラッシュメモリのブロックサイズの整数倍の条件で任意に設定可能であり、ＣＰＵ−Ａ４０１は、その設定されたサイズで「ＦＦ」（１６進数）のダミーデータを生成する。
【００４８】
そしてＳ１０８に進み、ＣＰＵ−Ａ４０１は、Ｓ１０７で設定した条件で、ＳＳＤ４１３に対する、ダミーデータの周期的な書き込みと、その書き込んだダミーデータの論理的な消去処理を開始する。そしてＳ１０９に進み、ＣＰＵ−Ａ４０１は、Ｓ１０６で確認したＳＳＤ４１３の論理空き領域全域を網羅するように、ダミーデータの書き込みと、その書き込んだダミーデータの論理的な消去処理を周期的に行う。そして、未処理の論理空き領域が無いことを確認するとダミーデータによる書き換え処理を終了する。
【００４９】
尚、Ｓ１０２でＨＤＤ４０７が接続されていないとき、Ｓ１０４でＳＳＤ４１３の特定の論理アドレス領域に対する集中的なアクセスがないとき、及びＳ１０５で、アクセスの頻度が予め設定された所定値αよりも小さいときは何もせずに処理を終了する。
【００５０】
この処理によれば、特定の論理アドレス領域へのアクセスの頻度が所定よりも高い場合には、論理的空き領域にダミーデータを書き込んで、その論理的空き領域に空きブロックを生成することができる。また、集中的なアクセスの頻度、及びそのアクセスするデータサイズに基づいて、ＳＳＤ４１３の論理的空き領域へダミーデータを書き込む周期と、そのデータサイズを決定することにより、より効果的に、空きブロックを生成することができる。
【００５１】
図１２は、実施形態に係る画像形成装置１００がアイドル状態における、ＳＳＤ４１３の論理空き領域へのダミーデータの書き換え処理によって論理空き領域に割り当てられた使用済みブロックの一括解消処理を説明するフローチャートである。ここでは図１１と共通する部分は同じ記号で示し、それらの処理の説明を省略する。ここでも、この処理を実行するプログラムは、実行時、ＲＡＭ−Ａ４０３に展開され、ＣＰＵ−Ａ４０１の制御の下に実行される。
【００５２】
Ｓ１０６で、ＣＰＵ−Ａ４０１が、ＳＳＤ４１３の論理的空き領域を確認した後、Ｓ２０１に進み、ＣＰＵ−Ａ４０１は、この画像形成装置１００がアイドル状態にあるかを確認する。Ｓ２０２で、ＣＰＵ−Ａ４０１が、アイドル状態であると確認するとＳ２０３に進む。Ｓ２０３でＣＰＵ−Ａ４０１は、ＳＳＤ４１３の論理的空き領域の全域に対して、連続してダミーデータを書き込み、その書き込んだダミーデータを連続して論理的に消去する一括処理を開始する。
【００５３】
そしてＳ２０４に進み、ＣＰＵ−Ａ４０１は、そのダミーデータによる書き換え処理中に、外部から画像形成装置１００へのジョブの投入状況を監視し、ジョブの投入が確認された場合はＳ２０５に進む。Ｓ２０５でＣＰＵ−Ａ４０１は、ダミーデータによる書き換え処理を中断する。次にＳ２０６に進み、ＣＰＵ−Ａ４０１は、その受信したジョブの処理を行って、そのジョブの処理が終了するとＳ２０７に進み、ＣＰＵ−Ａ４０１は、ダミーデータによる書き換え処理を再開する。そしてＳ２０８で、ＣＰＵ−Ａ４０１が、未処理の論理空き領域が無くなるまでダミーデータによる書き換え処理を実行し、未処理の論理空き領域が無くなると、この処理を終了する。
【００５４】
この処理によれば、画像形成装置１００がアイドル状態にあるときに、ＳＳＤ４１３の論理的空き領域の全域に対して、ダミーデータの書き込みと、その書き込んだダミーデータの論理的な消去の一括処理を行う。これにより、より効率的に、かつ迅速に、論理的空き領域に空きブロックを生成できるという効果がある。
【００５５】
図１３は、図１１で示す処理に、Ｓ．Ｍ．Ａ．Ｒ．Ｔ（Self-Monitoring, Analysis and Reporting Technology）情報によるダミーデータの書き換え処理実施の判断処理を追加した処理を説明するフローチャートである。ここでは図１１と共通する部分は同じ記号で示し、それらの処理の説明を省略する。ここでも、この処理を実行するプログラムは、実行時、ＲＡＭ−Ａ４０３に展開され、ＣＰＵ−Ａ４０１の制御の下に実行される。尚、Ｓ．Ｍ．Ａ．Ｒ．Ｔ情報は、ＳＳＤ４１３の障害の早期発見・故障の予測を目的として、ＳＳＤ４１３に搭載されている機能である。
【００５６】
Ｓ１０６で、ＣＰＵ−Ａ４０１が、ＳＳＤ４１３の論理的空き領域を確認した後、Ｓ３０１に進み、ＣＰＵ−Ａ４０１は、ＳＳＤ４１３のＳ．Ｍ．Ａ．Ｒ．Ｔ.情報を取得する。そして、このＳ．Ｍ．Ａ．Ｒ．Ｔ.情報から、ＳＳＤ４１３に搭載されるフラッシュメモリの未使用の物理ブロック数を抽出する。次にＳ３０２に進み、ＣＰＵ−Ａ４０１は、Ｓ１０６で確認したＳＳＤ４１３の論理空き領域の容量と、Ｓ．Ｍ．Ａ．Ｒ．Ｔ.情報から抽出した未使用の物理ブロック数の総容量から差分容量を算出する。そしてＳ３０３に進み、ＣＰＵ−Ａ４０１は、Ｓ３０２で算出した差分容量と、予め設定された所定値βとを比較し、その差分容量が所定値βを上回る場合はＳ１０７に進む。こうしてＣＰＵ−Ａ４０１はＳ１０７〜Ｓ１０９で、ＳＳＤ４１３の論理的空き領域へダミーデータを書き込む周期とそのデータサイズを決定し、ＳＳＤ４１３へのダミーデータの周期的な書き込みと、その書き込んだダミーデータの論理的な消去処理を実行する。
【００５７】
このように、Ｓ．Ｍ．Ａ．Ｒ．Ｔ.情報に基づいて、ＳＳＤ４１３の論理空き領域の容量に対する未使用の物理ブロック数が所定値よりも少なくなったと判定すると、論理的空き領域の全域に対するダミーデータの書き込みと、その論理的な消去を行う。これにより、より効率的に、論理的空き領域に空きブロックを生成できるという効果がある。
【００５８】
図１４は、図１２の処理に、Ｓ．Ｍ．Ａ．Ｒ．Ｔ情報によるダミーデータの書き換え処理実施の判断処理を追加した処理を示すフローチャートである。ここでは図１１〜図１３と共通する部分は同じ記号で示し、それらの処理の説明を省略する。ここでも、この処理を実行するプログラムは、実行時、ＲＡＭ−Ａ４０３に展開され、ＣＰＵ−Ａ４０１の制御の下に実行される。
【００５９】
この処理では、Ｓ．Ｍ．Ａ．Ｒ．Ｔ.情報に基づいて、ＳＳＤ４１３の論理空き領域の容量に対する未使用の物理ブロック数が所定値よりも少なくなったと判定すると、論理的空き領域の全域に対するダミーデータの書き込みと、その論理的な消去を行う。その際、画像形成装置１００がアイドル状態にあるときに、ＳＳＤ４１３の論理的空き領域の全域に対して、ダミーデータの書き込みと、その書き込んだダミーデータの論理的な消去の一括処理を行うようにしている。
【００６０】
これにより、より効率的に、かつ迅速に、論理的空き領域に空きブロックを生成できるという効果がある。
【００６１】
尚、前述の図１１〜図１４では、画像形成装置１００のストレージ構成としてＳＳＤ４１３とＨＤＤ４０７の両方がある場合を例に説明した。しかしながら本実施形態は、ＨＤＤ４０７が無い場合にも適用可能である。以下、ＨＤＤ４０７が無い環境下における実施形態の説明を行う。
【００６２】
図１５は、画像形成装置１００にＨＤＤ４０７が無い環境下で、ＳＳＤ４１３の論理空き領域への周期的なダミーデータの書き換え処理による、論理空き領域に割り当てられた使用済みブロックの解消処理を説明するフローチャートである。ここでは図１１と比較すると明らかなように、図１１のＳ１０１、Ｓ１０２が省略されている。ここでは図１１と共通する部分は同じ記号で示し、それらの処理の説明を省略する。ここでも、この処理を実行するプログラムは、実行時、ＲＡＭ−Ａ４０３に展開され、ＣＰＵ−Ａ４０１の制御の下に実行される。
【００６３】
まずＳ４０１で、ＣＰＵ−Ａ４０１は、ＯＳにより、ＳＳＤ４１３の特定の論理アドレス領域に対する集中的なアクセスがあるかアクセス監視部４１４を使って監視する。ここでアクセス監視部４１４は、ＳＳＤ１４３へのアクセス状態を監視して特定アドレスへの集中的アクセスの有無を検知し、その頻度及びデータサイズをＲＡＭ−Ａ４０３又はＳＳＤ４１３に保持する。そしてＳ４０２でＣＰＵ−Ａ４０１は、集中的なアクセスがあると判断するとＳ１０５に進み、そうでないと判断したときは、そのまま処理を終了する。
【００６４】
この処理によれば、特定の論理アドレス領域へのアクセスの頻度が所定よりも高い場合には、論理的空き領域にダミーデータを書き込んで、その論理的空き領域に空きブロックを生成することができる。また、集中的なアクセスの頻度、及びそのアクセスするデータサイズに基づいて、ＳＳＤ４１３の論理的空き領域へダミーデータを書き込む周期と、そのデータサイズを決定することにより、より効果的に、空きブロックを生成することができる。
【００６５】
図１６は、画像形成装置１００にＨＤＤ４０７が無い環境下で、画像形成装置１００がアイドル状態における、ＳＳＤ４１３の論理空き領域へのダミーデータの書き換え処理によって、使用済みブロックの一括解消処理を説明するフローチャートである。ここでは図１２と比較すると明らかなように、Ｓ１０１、Ｓ１０２が省略されて、図１５のＳ４０１、Ｓ４０２が追加されている。また図１１、図１２、図１５と共通する部分は同じ記号で示し、それらの処理の説明を省略する。ここでも、この処理を実行するプログラムは、実行時、ＲＡＭ−Ａ４０３に展開され、ＣＰＵ−Ａ４０１の制御の下に実行される。
【００６６】
この処理によれば、画像形成装置１００がアイドル状態にあるときに、ＳＳＤ４１３の論理的空き領域の全域に対して、ダミーデータの書き込みと、その書き込んだダミーデータの論理的な消去の一括処理を行う。これにより、より効率的に、かつ迅速に、論理的空き領域に空きブロックを生成できるという効果がある。
【００６７】
図１７は、画像形成装置１００にＨＤＤ４０７が無い環境下で、図１３と同様に、Ｓ．Ｍ．Ａ．Ｒ．Ｔ情報によるダミーデータの書き換え処理実施の判断処理を追加した処理を説明するフローチャートである。ここでは図１３と比較すると明らかなように、Ｓ１０１、Ｓ１０２が省略されて、図１５のＳ４０１、Ｓ４０２が追加されている。また、図１１、図１３、図１５と共通する部分は同じ記号で示し、それらの処理の説明を省略する。ここでも、この処理を実行するプログラムは、実行時、ＲＡＭ−Ａ４０３に展開され、ＣＰＵ−Ａ４０１の制御の下に実行される。
【００６８】
このように、Ｓ．Ｍ．Ａ．Ｒ．Ｔ.情報に基づいて、ＳＳＤ４１３の論理空き領域の容量に対する未使用の物理ブロック数が所定値よりも少なくなったと判定すると、論理的空き領域の全域に対するダミーデータの書き込みと、その論理的な消去を行う。これにより、より効率的に、論理的空き領域に空きブロックを生成できるという効果がある。
【００６９】
図１８は、画像形成装置１００にＨＤＤ４０７が無い環境下で、図１４と同様に、図１２の処理に、Ｓ．Ｍ．Ａ．Ｒ．Ｔ情報によるダミーデータの書き換え処理実施の判断処理を追加した処理を示すフローチャートである。ここでは図１４と比較すると明らかなように、Ｓ１０１、Ｓ１０２が省略されて、図１５のＳ４０１、Ｓ４０２が追加されている。また、図１１、図１４、図１５と共通する部分は同じ記号で示し、それらの処理の説明を省略する。ここでも、この処理を実行するプログラムは、実行時、ＲＡＭ−Ａ４０３に展開され、ＣＰＵ−Ａ４０１の制御の下に実行される。
【００７０】
この処理では、Ｓ．Ｍ．Ａ．Ｒ．Ｔ.情報に基づいて、ＳＳＤ４１３の論理空き領域の容量に対する未使用の物理ブロック数が所定値よりも少なくなったと判定すると、論理的空き領域の全域に対するダミーデータの書き込みと、その論理的な消去を行う。その際、画像形成装置１００がアイドル状態にあるときに、ＳＳＤ４１３の論理的空き領域の全域に対して、ダミーデータの書き込みと、その書き込んだダミーデータの論理的な消去の一括処理を行うようにしている。これにより、より効率的に、かつ迅速に、論理的空き領域に空きブロックを生成できるという効果がある。
【００７１】
以上説明したように本実施形態によれば、半導体ストレージ装置の使用済み状態となっているフラッシュメモリの物理ブロックに割り当てられている論理空き領域に、ダミーデータによる書き換え処理を行う。これにより、論理空き領域に未使用ブロックを生成して、書き換え頻度の平準化の機能を回復させることができる。
【００７２】
また、論理空き領域の全域に対するダミーデータの書き換え処理を、適切なデータサイズで周期的に行うことにより、この処理による負荷を分散できる。これにより、この処理によるパフォーマンスの低下を抑えることができる。
【００７３】
また、ダミーデータとして、全ビットが「１」の“ＦＦ”データを使用する。これにより、半導体ストレージ装置に搭載されるフラッシュメモリの書き込み対象ブロック内部のビットデータに「０」が含まれないことによる、実質的なデバイス寿命の消費を抑制できる。
【００７４】
また、１周期当たり書き込むダミーデータのサイズを、半導体ストレージ装置に搭載されるフラッシュメモリのブロックサイズの整数倍に設定することにより、ダミーデータの書き込みによる未使用ブロックの生成を確実に行うことができる。
【００７５】
また、データの書き換え時に、不要になったデータを完全に消してから更新データを書き込むことにより、未使用ブロック内のデータを完全に消去することができる。
【００７６】
また、Ｓ．Ｍ．Ａ．Ｒ．Ｔ.情報によるストレージ装置の未使用ブロックの量と論理空き容量とを比較して、その差分が所定値を下回った場合（未使用ブロックの量が所定量以上になった場合）に、ダミーデータによる未使用ブロック生成処理を中止する。これにより、不要な書き換え処理を防止できるという効果がある。
【００７７】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014106918.tif 000003
【図２】
2014106918.tif 000004
【図３】
2014106918.tif 000005
【図４】
2014106918.tif 000006
【図５】
2014106918.tif 000007
【図６】
2014106918.tif 000008
【図７】
2014106918.tif 000009
【図８】
2014106918.tif 000010
【図９】
2014106918.tif 000011
【図１０】
2014106918.tif 000012
【図１１】
2014106918.tif 000013
【図１２】
2014106918.tif 000014
【図１３】
2014106918.tif 000015
【図１４】
2014106918.tif 000016
【図１５】
2014106918.tif 000017
【図１６】
2014106918.tif 000018
【図１７】
2014106918.tif 000019
【図１８】
2014106918.tif 000020