JP6004923B2 - 情報処理装置及びその制御方法とプログラム - Google Patents

情報処理装置及びその制御方法とプログラム Download PDF

Info

Publication number
JP6004923B2
JP6004923B2 JP2012261630A JP2012261630A JP6004923B2 JP 6004923 B2 JP6004923 B2 JP 6004923B2 JP 2012261630 A JP2012261630 A JP 2012261630A JP 2012261630 A JP2012261630 A JP 2012261630A JP 6004923 B2 JP6004923 B2 JP 6004923B2
Authority
JP
Japan
Prior art keywords
dummy data
data
logical
information processing
processing apparatus
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
Application number
JP2012261630A
Other languages
English (en)
Other versions
JP2014106918A (ja
Inventor
中下 綱人
綱人 中下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2012261630A priority Critical patent/JP6004923B2/ja
Priority to US14/083,543 priority patent/US9442843B2/en
Priority to CN201310614175.7A priority patent/CN103853502B/zh
Publication of JP2014106918A publication Critical patent/JP2014106918A/ja
Application granted granted Critical
Publication of JP6004923B2 publication Critical patent/JP6004923B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)
  • Storing Facsimile Image Data (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ストレージ装置の読み書きを行う情報処理装置及びその制御方法とプログラムに関するものである。
従来、画像形成装置にHDD(ハードディスク・ドライブ)を搭載し、そのHDDに、その画像形成装置が実行するプログラムを格納すると共に、そのHDDに画像データの保存や編集などを行うストレージ機能を実現した画像形成装置がある。
近年、大容量化と低価格化が進み、モバイルPC等を中心に急速に普及が進んでいるSSD(Solid State Drive)は、HDDと比べて高速なランダムアクセスが可能である。更に、SSDは、低消費電力、高い耐衝撃性、軽量、省スペースといった点に特徴がある。特にシステムの起動時に、HDDの場合に必要となるスピンアップ等の初期動作が不要であるため、高速なデータ転送機能と相まって起動時間の短縮化に非常に効果があると期待されている。
しかしながら、SSDに搭載されている記憶デバイスであるNAND型フラッシュメモリは、書き込み可能回数に上限がある(SLCで約10万回、MLCで約1万回)。更に、プロセスの微細化により、将来的に、フラッシュメモリは現在の書き換え可能回数から更に、その回数が減少する傾向にある。このため、SSDに搭載されているフラッシュメモリ・コントローラは、同じ領域への書き込み頻度が集中しないように書き込み先を平均化させて記憶デバイスの寿命を延伸化させるウェアレベリングという技術を用いて、上記問題に対応している。このウェアレベリングには、主にダイナミック・ウェアレベリングとスタティック・ウェアレベリングの2種類がある。
図5は、ダイナミック・ウェアレベリングを説明する図である。
ダイナミック・ウェアレベリングは、書き込みアドレスに割り当てられた物理メモリの範囲でウェアレベリングを実行するのが特徴である。つまりオペレーション・システム(以下OS)等のような頻繁に更新されないスタティック(静的)データはリードオンリー領域にしてそのままにし、ダイナミックデータ(新しいデータ)のみを分散化する。このため、物理メモリに対して必要な書き換えのみ行うので、書き換え回数を抑制できる長所を持つ半面、物理メモリの使用状況によってウェアレベリングの有効範囲が狭くなる可能性があるという短所を持つ。
図6は、スタティック・ウェアレベリングを説明する図である。
スタティック・ウェアレベリングは、書き込みを行わないアドレスに割り当てられた物理メモリに対してもデータの移し変えをして、全領域においてウェアレベリングを実行する。このとき各ブロックの書き換え回数を記録し、なるべく書き換えの少ないブロックにデータを書き込んでいく。また必要に応じて、書き換えられていないブロックのデータ(スタティックデータ)を別のブロックに移し変えて、書き込み回数の均等化を図る。これにより、スタティック・ウェアレベリングは、ダイナミック・ウェアレベリングに対してウェアレベリングの有効範囲の制限が無いという長所がある。しかしその反面、物理メモリの無駄な書き換えが頻繁に発生するという短所を持つ。一般的にSSDは、上記2種類のウェアレベリングの何れか、もしくはそれらを組み合わせて使用されている(例えば、特許文献1,2参照)。
更に、近年の画像形成装置に搭載されるストレージデバイスに記憶されるデータのセキュリティの確保やプライバシ保護への要求は非常に高く、ストレージに記録されたスプールデータや保存データを完全に消去できることが求められている。しかしSSDはHDDとは異なり、1回の書き換えでデータを完全に消去可能であるが、ウェアレベリングによって通常の書き込み処理では、消去対象データを直接書き換えられないことから完全消去に対応した特別な書き込み処理を行う必要がある。
特開2004−234473号公報 特開2009−093242号公報
ダイナミック・ウェアレベリングを採用するSSDでは、搭載されるフラッシュメモリの未使用ブロックが十分に多い場合は極めて有効的に平準化が機能するが、未使用ブロックの数が少ない状態になると平準化が適切に機能しなくなってしまう。例えば、マスタディスクからデュプリケータ等のコピーツールでSSDにディスクコピーを行った場合、コピー先のSSDに、マスタディスクのディスクイメージが全領域にコピーされる場合がある。この場合、そのコピーされたSSDは、ファイルシステムからみて論理的空き領域に割り当てられた物理ブロックにも全てデータが書き込まれた状態となっている。つまり、SSDに搭載されるフラッシュメモリ・コントローラからみると、全てのブロックが使用済み状態となるためダイナミック・ウェアレベリングが機能しない状態となる。
図7は、ダイナミック・ウェアレベリングが機能しなくなったSSDの状態を4GBのSSDを例にして示す図である。図7では、有効データ領域であるリードオンリー領域と、論理的空き領域とにデータが書き込まれた状態となっているため、わずかな未使用領域と書き換え領域との間でウェアレベリングが実行されることになる。
図8は、図7の状態におけるSSDの論理アドレスと物理ブロックの関係を示す図である。
この状態でシステムに組み込んで動作させた場合に、OS等が特定領域に書き換え処理を集中して行うと、ウェアレベリングによる平準化が機能しないために、その特定領域に割り当てられた物理ブロックの寿命が著しく疲弊するという問題がある。
このような問題を解決するためには、論理的空き領域に割り当てられている物理ブロックを、使用済み状態から未使用状態である未使用ブロックに戻す必要がある。未使用ブロックの生成は、ファイルシステム上の論理的空き領域に対してブロック単位で任意のデータ(ダミーデータ)を書き込んだ後で、そのダミーデータを書き込んだ領域を解放するデータの書き換え処理を行うことで可能となる。しかしながらフラッシュメモリへの書き込み処理は処理速度が遅いため、書き換え対象となる論理空き領域が大きい場合には、この書き込み処理によってシステムのパフォーマンスが低下するという問題があった。
本発明の目的は、上記従来技術の問題点を解決することにある。
本発明の特徴は、論理空き領域の全域に対するダミーデータの書き換え処理による負荷を分散して、パフォーマンスの低下を防止する技術を提供することにある。
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
書き換え頻度の平準化をダイナミック・ウェアレベリングで行うフラッシュメモリを備えたストレージ装置に読み書きを行う情報処理装置であって、
前記ストレージ装置の特定の論理アドレス領域に対するアクセスの頻度が所定量以上かどうかを判定する判定手段と、
前記判定手段がアクセスの頻度が所定量以上と判断した場合、前記ストレージ装置の論理的空き領域を確認する確認手段と、
前記確認手段が確認した前記論理的空き領域にダミーデータを書き込み、前記ダミーデータを書き込んだ領域の論理的消去を行う未使用ブロック生成手段と、を有することを特徴とする。
本発明によれば、論理空き領域の全域に対するダミーデータの書き換え処理による負荷を分散して、パフォーマンスの低下を防止できるという効果がある。
本発明の実施形態に係る画像形成装置の全体構成を示すブロック図。 本発明の実施形態に係るコントローラ制御部の構成を示すブロック図。 実施形態に係る画像形成装置の操作部の構成を説明する図。 実施形態に係るSSDの構成を示すブロック図。 ダイナミック・ウェアレベリングを説明する図。 スタティック・ウェアレベリングを説明する図。 ダイナミック・ウェアレベリングが機能しなくなったSSDの状態を4GBのSSDを例にして示す図。 図7の状態におけるSSDの論理アドレスと物理ブロックの関係を示す図。 本実施形態により、前述の図7の状態から改善されたSSDの状態を示す図。 図9の状態におけるSSDの論理アドレスと物理ブロックの関係を示す図。 本実施形態に係る画像形成装置のコントローラ制御部によるSSDの論理空き領域への周期的なダミーデータの書き込み処理により、論理空き領域に割り当てられた使用済みブロックの解消処理を説明するフローチャート。 実施形態に係る画像形成装置がアイドル状態における、SSDの論理空き領域へのダミーデータの書き換え処理によって論理空き領域に割り当てられた使用済みブロックの一括解消処理を説明するフローチャート。 図11で示す処理に、S.M.A.R.T情報によるダミーデータの書き換え処理実施の判断処理を追加した処理を説明するフローチャート。 図12の処理に、S.M.A.R.T情報によるダミーデータの書き換え処理実施の判断処理を追加した処理を示すフローチャート。 画像形成装置にHDDが無い環境下で、SSDの論理空き領域への周期的なダミーデータの書き換え処理による、論理空き領域に割り当てられた使用済みブロックの解消処理を説明するフローチャート。 画像形成装置にHDDが無い環境下で、画像形成装置がアイドル状態における、SSDの論理空き領域へのダミーデータの書き換え処理によって、使用済みブロックの一括解消処理を説明するフローチャート。 画像形成装置にHDDが無い環境下で、図13と同様に、S.M.A.R.T情報によるダミーデータの書き換え処理実施の判断処理を追加した処理を説明するフローチャート。 画像形成装置にHDDが無い環境下で、図14と同様に、図12の処理に、S.M.A.R.T情報によるダミーデータの書き換え処理実施の判断処理を追加した処理を示すフローチャート。
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。尚、この実施形態では、本発明の情報処理装置を、多機能処理装置(MFP)である画像形成装置を例にして説明するが、本発明はこのような多機能処理装置に限定されるものではない。
図1は、本発明の実施形態に係る画像形成装置100の全体構成を示すブロック図である。
この画像形成装置100は、コントローラ制御部400により制御されている。コントローラ制御部400は、操作部800(図3)やコンピュータ453からの指示に基づいて原稿搬送装置を制御する原稿搬送制御部101、イメージリーダを制御するイメージリーダ制御部201と通信し、入力される原稿の画像データを取得する。またプリンタ部を制御するプリンタ制御部301と通信して、画像データをシートに印刷する。また折り装置を制御する折り装置制御部501、フィニッシャを制御するフィニッシャ制御部601と通信を行い、印刷されたシートにステイプルやパンチといった所望の後処理を実行する。
外部I/F451は、コンピュータ453と接続するインターフェースである。外部I/F451は、例えばネットワークやUSBなどの外部バス452を介してコンピュータ453からのプリントデータを受信し、画像に展開して出力する。また図2を参照して後述する半導体ストレージ413(以下、SSD)及びハードディスク407(以下、HDD)に記憶されている画像データを読み出してコンピュータ453に送信する。
図2は、本発明の実施形態に係るコントローラ制御部400の構成を示すブロック図である。
コントローラ制御部400はCPU−A401及びCPU−B408の2つのCPUを有し、それぞれオペレーティングシステム(以下、OS)で制御される。CPU−A401にはバスブリッジ404が接続され、このバスブリッジ404を介して、CPU−A401とCPU−B408とが通信を行う。またバスブリッジ404は、CPU−A401の初期起動プログラムを格納しているROM−A402を接続し、RAM−A403にCPU−A401の制御データを一時的に保持する。またバスブリッジ404は、制御に伴う演算の作業領域として用いられるRAM−A403を接続し、SSD413やHDD407等のストレージ機器を制御するストレージ制御部412を接続している。
SSD413には、CPU−A401及びCPU−B408の2つのOSを含むメインプログラムが格納されている。また、オプション設定となっているHDD407が接続されていない場合は、SSD413は、イメージリーダや外部I/F451より取得した画像データや操作部800で画像を編集したときの画像データの格納先となる。またSSD413は、アプリケーションプログラムやユーザプリファレンスデータ等の全てのデータの格納先として使用される。本実施形態では、このSSD413は、フラッシュディスクを想定している。アクセス監視部414は、SSD413の特定の論理アドレス領域に対する集中的なアクセスがあるか否かを監視している。
また、オプションであるHDD407が接続された場合は、SSD413の代わりに、HDD407がイメージリーダや外部I/F451より取得した画像データや、編集された画像データの保存用やアプリケーションプログラムの格納先として使用される。またHDD407は、アプリケーションプログラムやユーザプリファレンスデータの格納先としても使用される。このHDD407は、CPU−A401及びCPU−B408からアクセスができるように構成されている。またバスブリッジ404には、ネットワークやUSBインターフェースを制御する外部I/F制御部405、操作部800を制御する操作部制御部406が接続されている。
CPU−B408には、CPU−B408の初期起動プログラムを格納しているROM−B409、CPU−B408の制御データを一時的に保持し、制御に伴う演算の作業領域として用いられるRAM−B410が接続されている。更にCPU−B408はデバイス制御部411と接続されている。このデバイス制御部411は、図1に示す原稿搬送制御部101、イメージリーダ制御部201、プリンタ制御部301、折り装置制御部501、フィニッシャ制御部601と接続して、これらを制御している。
図3は、実施形態に係る画像形成装置100の操作部800の構成を説明する図である。
表示部900は、画面上にタッチパネルシートが貼られており、操作画面を表示するとともに、ユーザが、その表示しているキーを押下すると、その位置情報を操作部制御部406に伝える。テンキー801は、ユーザがコピー枚数等の数字を入力する際に使用される。スタートキー802は、ユーザが所望の条件を設定した後、複写動作、原稿の読取り動作の開始を指示するときなどに用いられる。またガイドキー805は、ユーザがキーの機能が解らないとき押下すると、そのキーの説明が表示される。コピーモードキー806は、ユーザが複写を指示するときに押下する。ファクスキー807は、ユーザがファクスに関する設定を行うときに押下する。ファイルキー808は、ユーザがファイルデータを出力したいときに押下する。プリンタキー809は、ユーザが、コンピュータ453等の外部装置からのプリント出力に関する設定などを行うときに使用する。
次に、本実施形態に係る画像形成装置100のSSD413においてデータ完全消去モード時のデータ書き込み処理の動的な切り替え制御方法ついて詳しく説明する。
図4は、実施形態に係るSSD413の構成を示すブロック図である。
フラッシュ制御部1000は、主にストレージI/F1001とメモリ制御部1002とを有している。ストレージI/F1001は、コントローラ制御部400のストレージ制御部412と通信するためのモジュールである。本実施形態ではシリアルATA(以下、SATA)インターフェースを想定している。
メモリ制御部1002は、フラッシュメモリ1003への書き換え頻度の平準化をダイナミック・ウェアレベリングで行う。メモリ制御部1002はストレージI/F1001が受信したコマンドに基づいて、フラッシュメモリ1003にデータのリード/ライトを行うデータの書き込み処理切り替え部1004を含んでいる。この書き込み処理切り替え部1004は、アクセスしたアドレスにデータを書き込む第1の書き込み動作と、データの書き込み時に不要になったデータを消去してからデータを書き込む第2の書き込み動作を切り替えて実行できる。ここで、論理空き領域へのダミーデータの書き込みには第2書き込み動作が用いられる。
次に図9及び図10を参照して、本実施形態の特徴を説明する。
図9は、本実施形態により、前述の図7の状態から改善されたSSDの状態を示す図である。
また図10は、図9の状態におけるSSDの論理アドレスと物理ブロックの関係を示す図である。
図9では、使用済み状態となっているフラッシュメモリの物理ブロックに割り当てられている論理空き領域901に対してダミーデータを書き込むことにより未使用領域902を生成している。これにより、この未使用領域902と書き換え領域903及び未使用領域904を使用することにより平準化の機能を回復させることができる。
また、論理空き領域901の全域に対するダミーデータの書き込み処理を適切なサイズで周期的に行うことで、この処理による負荷を分散して、システムパフォーマンスの低下を抑えることができる。
また、ダミーデータとしてデータ「FF」を使用することにより、SSD413に搭載されるフラッシュメモリの書き込み対象のブロックのビットデータに0(ゼロ)が含まれない場合に、実質的なデバイス寿命の消費を抑制することが出来る。
また、1周期あたりに書き込むダミーデータのデータサイズを、SSD413に搭載されるフラッシュメモリのブロックサイズの整数倍に設定する。
また、SSD413のS.M.A.R.T.情報から、そのSSD413の未使用ブロック数を読み出して、論理空き領域の総容量と比較する。そして、両者の差が予め定めた所定値を下回った場合は、論理空き領域901へのダミーデータの書き込みと、書き込んだダミーデータの論理的消去処理を行わない。
以下、詳しく説明する。
図11は、本実施形態に係る画像形成装置100のコントローラ制御部400によるSSD413の論理空き領域への周期的なダミーデータの書き込み処理により、論理空き領域に割り当てられた使用済みブロックの解消処理を説明するフローチャートである。この処理を実行するプログラムは、実行時、RAM−A403に展開され、CPU−A401の制御の下に実行される。
CPU−A401が、OSからのストレージ情報の確認の要求を受けると、先ずS101で、CPU−A401は、画像形成装置001のストレージ構成を確認する。そしてS102で、CPU−A401は、S101で確認したストレージ構成に基づいて、オプションであるHDD407が接続されているかどうかを判定し、HDD407が接続されているとS103に進む。S103でCPU−A401は、SSD413の特定の論理アドレス領域に対して集中的なアクセスがあるか否かをアクセス監視部414により監視する。このときアクセス監視部414は、SSD143へのアクセス状態を監視して、SSD413の特定アドレスへの集中的なアクセスの有無を判定し、そのアクセスの頻度及びデータサイズをRAM−A403又はHDD407に保持する。
次にS104に進み、CPU−A401は、SSD413の特定の論理アドレス領域に対する集中的なアクセスがあると判定したときはS105に進み、CPU−A401は、そのアクセスの頻度を判定する。S105で、そのアクセスの頻度が予め設定された所定値αより大きいと判定した場合はS106に進み、CPU−A401は、SSD413の論理的空き領域を確認する。そしてS107に進み、CPU−A401は、アクセス監視部414から得た、集中的なアクセスの頻度、及びそのアクセスするデータサイズに基づいて、SSD413の論理的空き領域へダミーデータを書き込む周期と、そのデータサイズを決定する。ここで、ダミーデータを書き込む周期は、画像形成装置100のパフォーマンスに影響を与えない範囲で任意に設定が可能である。また、特定の論理アドレス領域への集中アクセスに周期性がある場合は、ダミーデータを書き込む周期を、この周期に同期させても良い。また、ダミーデータのデータサイズは、SSD413に搭載されるフラッシュメモリのブロックサイズの整数倍の条件で任意に設定可能であり、CPU−A401は、その設定されたサイズで「FF」(16進数)のダミーデータを生成する。
そしてS108に進み、CPU−A401は、S107で設定した条件で、SSD413に対する、ダミーデータの周期的な書き込みと、その書き込んだダミーデータの論理的な消去処理を開始する。そしてS109に進み、CPU−A401は、S106で確認したSSD413の論理空き領域全域を網羅するように、ダミーデータの書き込みと、その書き込んだダミーデータの論理的な消去処理を周期的に行う。そして、未処理の論理空き領域が無いことを確認するとダミーデータによる書き換え処理を終了する。
尚、S102でHDD407が接続されていないとき、S104でSSD413の特定の論理アドレス領域に対する集中的なアクセスがないとき、及びS105で、アクセスの頻度が予め設定された所定値αよりも小さいときは何もせずに処理を終了する。
この処理によれば、特定の論理アドレス領域へのアクセスの頻度が所定よりも高い場合には、論理的空き領域にダミーデータを書き込んで、その論理的空き領域に空きブロックを生成することができる。また、集中的なアクセスの頻度、及びそのアクセスするデータサイズに基づいて、SSD413の論理的空き領域へダミーデータを書き込む周期と、そのデータサイズを決定することにより、より効果的に、空きブロックを生成することができる。
図12は、実施形態に係る画像形成装置100がアイドル状態における、SSD413の論理空き領域へのダミーデータの書き換え処理によって論理空き領域に割り当てられた使用済みブロックの一括解消処理を説明するフローチャートである。ここでは図11と共通する部分は同じ記号で示し、それらの処理の説明を省略する。ここでも、この処理を実行するプログラムは、実行時、RAM−A403に展開され、CPU−A401の制御の下に実行される。
S106で、CPU−A401が、SSD413の論理的空き領域を確認した後、S201に進み、CPU−A401は、この画像形成装置100がアイドル状態にあるかを確認する。S202で、CPU−A401が、アイドル状態であると確認するとS203に進む。S203でCPU−A401は、SSD413の論理的空き領域の全域に対して、連続してダミーデータを書き込み、その書き込んだダミーデータを連続して論理的に消去する一括処理を開始する。
そしてS204に進み、CPU−A401は、そのダミーデータによる書き換え処理中に、外部から画像形成装置100へのジョブの投入状況を監視し、ジョブの投入が確認された場合はS205に進む。S205でCPU−A401は、ダミーデータによる書き換え処理を中断する。次にS206に進み、CPU−A401は、その受信したジョブの処理を行って、そのジョブの処理が終了するとS207に進み、CPU−A401は、ダミーデータによる書き換え処理を再開する。そしてS208で、CPU−A401が、未処理の論理空き領域が無くなるまでダミーデータによる書き換え処理を実行し、未処理の論理空き領域が無くなると、この処理を終了する。
この処理によれば、画像形成装置100がアイドル状態にあるときに、SSD413の論理的空き領域の全域に対して、ダミーデータの書き込みと、その書き込んだダミーデータの論理的な消去の一括処理を行う。これにより、より効率的に、かつ迅速に、論理的空き領域に空きブロックを生成できるという効果がある。
図13は、図11で示す処理に、S.M.A.R.T(Self-Monitoring, Analysis and Reporting Technology)情報によるダミーデータの書き換え処理実施の判断処理を追加した処理を説明するフローチャートである。ここでは図11と共通する部分は同じ記号で示し、それらの処理の説明を省略する。ここでも、この処理を実行するプログラムは、実行時、RAM−A403に展開され、CPU−A401の制御の下に実行される。尚、S.M.A.R.T情報は、SSD413の障害の早期発見・故障の予測を目的として、SSD413に搭載されている機能である。
S106で、CPU−A401が、SSD413の論理的空き領域を確認した後、S301に進み、CPU−A401は、SSD413のS.M.A.R.T.情報を取得する。そして、このS.M.A.R.T.情報から、SSD413に搭載されるフラッシュメモリの未使用の物理ブロック数を抽出する。次にS302に進み、CPU−A401は、S106で確認したSSD413の論理空き領域の容量と、S.M.A.R.T.情報から抽出した未使用の物理ブロック数の総容量から差分容量を算出する。そしてS303に進み、CPU−A401は、S302で算出した差分容量と、予め設定された所定値βとを比較し、その差分容量が所定値βを上回る場合はS107に進む。こうしてCPU−A401はS107〜S109で、SSD413の論理的空き領域へダミーデータを書き込む周期とそのデータサイズを決定し、SSD413へのダミーデータの周期的な書き込みと、その書き込んだダミーデータの論理的な消去処理を実行する。
このように、S.M.A.R.T.情報に基づいて、SSD413の論理空き領域の容量に対する未使用の物理ブロック数が所定値よりも少なくなったと判定すると、論理的空き領域の全域に対するダミーデータの書き込みと、その論理的な消去を行う。これにより、より効率的に、論理的空き領域に空きブロックを生成できるという効果がある。
図14は、図12の処理に、S.M.A.R.T情報によるダミーデータの書き換え処理実施の判断処理を追加した処理を示すフローチャートである。ここでは図11〜図13と共通する部分は同じ記号で示し、それらの処理の説明を省略する。ここでも、この処理を実行するプログラムは、実行時、RAM−A403に展開され、CPU−A401の制御の下に実行される。
この処理では、S.M.A.R.T.情報に基づいて、SSD413の論理空き領域の容量に対する未使用の物理ブロック数が所定値よりも少なくなったと判定すると、論理的空き領域の全域に対するダミーデータの書き込みと、その論理的な消去を行う。その際、画像形成装置100がアイドル状態にあるときに、SSD413の論理的空き領域の全域に対して、ダミーデータの書き込みと、その書き込んだダミーデータの論理的な消去の一括処理を行うようにしている。
これにより、より効率的に、かつ迅速に、論理的空き領域に空きブロックを生成できるという効果がある。
尚、前述の図11〜図14では、画像形成装置100のストレージ構成としてSSD413とHDD407の両方がある場合を例に説明した。しかしながら本実施形態は、HDD407が無い場合にも適用可能である。以下、HDD407が無い環境下における実施形態の説明を行う。
図15は、画像形成装置100にHDD407が無い環境下で、SSD413の論理空き領域への周期的なダミーデータの書き換え処理による、論理空き領域に割り当てられた使用済みブロックの解消処理を説明するフローチャートである。ここでは図11と比較すると明らかなように、図11のS101、S102が省略されている。ここでは図11と共通する部分は同じ記号で示し、それらの処理の説明を省略する。ここでも、この処理を実行するプログラムは、実行時、RAM−A403に展開され、CPU−A401の制御の下に実行される。
まずS401で、CPU−A401は、OSにより、SSD413の特定の論理アドレス領域に対する集中的なアクセスがあるかアクセス監視部414を使って監視する。ここでアクセス監視部414は、SSD143へのアクセス状態を監視して特定アドレスへの集中的アクセスの有無を検知し、その頻度及びデータサイズをRAM−A403又はSSD413に保持する。そしてS402でCPU−A401は、集中的なアクセスがあると判断するとS105に進み、そうでないと判断したときは、そのまま処理を終了する。
この処理によれば、特定の論理アドレス領域へのアクセスの頻度が所定よりも高い場合には、論理的空き領域にダミーデータを書き込んで、その論理的空き領域に空きブロックを生成することができる。また、集中的なアクセスの頻度、及びそのアクセスするデータサイズに基づいて、SSD413の論理的空き領域へダミーデータを書き込む周期と、そのデータサイズを決定することにより、より効果的に、空きブロックを生成することができる。
図16は、画像形成装置100にHDD407が無い環境下で、画像形成装置100がアイドル状態における、SSD413の論理空き領域へのダミーデータの書き換え処理によって、使用済みブロックの一括解消処理を説明するフローチャートである。ここでは図12と比較すると明らかなように、S101、S102が省略されて、図15のS401、S402が追加されている。また図11、図12、図15と共通する部分は同じ記号で示し、それらの処理の説明を省略する。ここでも、この処理を実行するプログラムは、実行時、RAM−A403に展開され、CPU−A401の制御の下に実行される。
この処理によれば、画像形成装置100がアイドル状態にあるときに、SSD413の論理的空き領域の全域に対して、ダミーデータの書き込みと、その書き込んだダミーデータの論理的な消去の一括処理を行う。これにより、より効率的に、かつ迅速に、論理的空き領域に空きブロックを生成できるという効果がある。
図17は、画像形成装置100にHDD407が無い環境下で、図13と同様に、S.M.A.R.T情報によるダミーデータの書き換え処理実施の判断処理を追加した処理を説明するフローチャートである。ここでは図13と比較すると明らかなように、S101、S102が省略されて、図15のS401、S402が追加されている。また、図11、図13、図15と共通する部分は同じ記号で示し、それらの処理の説明を省略する。ここでも、この処理を実行するプログラムは、実行時、RAM−A403に展開され、CPU−A401の制御の下に実行される。
このように、S.M.A.R.T.情報に基づいて、SSD413の論理空き領域の容量に対する未使用の物理ブロック数が所定値よりも少なくなったと判定すると、論理的空き領域の全域に対するダミーデータの書き込みと、その論理的な消去を行う。これにより、より効率的に、論理的空き領域に空きブロックを生成できるという効果がある。
図18は、画像形成装置100にHDD407が無い環境下で、図14と同様に、図12の処理に、S.M.A.R.T情報によるダミーデータの書き換え処理実施の判断処理を追加した処理を示すフローチャートである。ここでは図14と比較すると明らかなように、S101、S102が省略されて、図15のS401、S402が追加されている。また、図11、図14、図15と共通する部分は同じ記号で示し、それらの処理の説明を省略する。ここでも、この処理を実行するプログラムは、実行時、RAM−A403に展開され、CPU−A401の制御の下に実行される。
この処理では、S.M.A.R.T.情報に基づいて、SSD413の論理空き領域の容量に対する未使用の物理ブロック数が所定値よりも少なくなったと判定すると、論理的空き領域の全域に対するダミーデータの書き込みと、その論理的な消去を行う。その際、画像形成装置100がアイドル状態にあるときに、SSD413の論理的空き領域の全域に対して、ダミーデータの書き込みと、その書き込んだダミーデータの論理的な消去の一括処理を行うようにしている。これにより、より効率的に、かつ迅速に、論理的空き領域に空きブロックを生成できるという効果がある。
以上説明したように本実施形態によれば、半導体ストレージ装置の使用済み状態となっているフラッシュメモリの物理ブロックに割り当てられている論理空き領域に、ダミーデータによる書き換え処理を行う。これにより、論理空き領域に未使用ブロックを生成して、書き換え頻度の平準化の機能を回復させることができる。
また、論理空き領域の全域に対するダミーデータの書き換え処理を、適切なデータサイズで周期的に行うことにより、この処理による負荷を分散できる。これにより、この処理によるパフォーマンスの低下を抑えることができる。
また、ダミーデータとして、全ビットが「1」の“FF”データを使用する。これにより、半導体ストレージ装置に搭載されるフラッシュメモリの書き込み対象ブロック内部のビットデータに「0」が含まれないことによる、実質的なデバイス寿命の消費を抑制できる。
また、1周期当たり書き込むダミーデータのサイズを、半導体ストレージ装置に搭載されるフラッシュメモリのブロックサイズの整数倍に設定することにより、ダミーデータの書き込みによる未使用ブロックの生成を確実に行うことができる。
また、データの書き換え時に、不要になったデータを完全に消してから更新データを書き込むことにより、未使用ブロック内のデータを完全に消去することができる。
また、S.M.A.R.T.情報によるストレージ装置の未使用ブロックの量と論理空き容量とを比較して、その差分が所定値を下回った場合(未使用ブロックの量が所定量以上になった場合)に、ダミーデータによる未使用ブロック生成処理を中止する。これにより、不要な書き換え処理を防止できるという効果がある。
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (9)

  1. 書き換え頻度の平準化をダイナミック・ウェアレベリングで行うフラッシュメモリを備えたストレージ装置に読み書きを行う情報処理装置であって、
    前記ストレージ装置の特定の論理アドレス領域に対するアクセスの頻度が所定量以上かどうかを判定する判定手段と、
    前記判定手段がアクセスの頻度が所定量以上と判断した場合、前記ストレージ装置の論理的空き領域を確認する確認手段と、
    前記確認手段が確認した前記論理的空き領域にダミーデータを書き込み、前記ダミーデータを書き込んだ領域の論理的消去を行う未使用ブロック生成手段と、
    を有することを特徴とする情報処理装置。
  2. 前記未使用ブロック生成手段は、前記アクセスの頻度、及びアクセスするデータのデータサイズに基づいて、前記論理的空き領域に書き込む前記ダミーデータのデータサイズと、その書き込む周期とを決定することを特徴とする請求項1に記載の情報処理装置。
  3. 前記ダミーデータを書き込む周期は、前記論理アドレス領域へのアクセスの周期に同期していることを特徴とする請求項2に記載の情報処理装置。
  4. 前記ダミーデータのデータサイズは、前記ストレージ装置に搭載されるフラッシュメモリのブロックサイズの整数倍であることを特徴とする請求項2又は3に記載の情報処理装置。
  5. 前記未使用ブロック生成手段は、前記情報処理装置がアイドル状態の場合に、連続して前記ダミーデータの書き込み、前記ダミーデータを書き込んだ領域の論理的消去を行うことを特徴とする請求項1に記載の情報処理装置。
  6. 前記確認手段は、前記ストレージ装置のS.M.A.R.T.情報に含まれる前記ストレージ装置に搭載されるフラッシュメモリの未使用ブロックの量を取得し、
    前記未使用ブロック生成手段は、前記未使用ブロックの量と前記論理空き領域の総容量との差分に従って、前記ダミーデータの書き込み、前記ダミーデータの論理的消去を行うことを特徴とする請求項1に記載の情報処理装置。
  7. 前記ダミーデータは、全てのビットが1のデータであることを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
  8. 書き換え頻度の平準化をダイナミック・ウェアレベリングで行うフラッシュメモリを備えたストレージ装置に読み書きを行う情報処理装置を制御する制御方法であって、
    特定手段が、前記ストレージ装置の特定の論理アドレス領域に対するアクセスの頻度が所定量以上かどうかを判定する判定工程と、
    確認手段が、前記判定工程がアクセスの頻度が所定量以上と判断した場合、前記ストレージ装置の論理的空き領域を確認する確認工程と、
    未使用ブロック生成手段が、前記確認工程で確認した前記論理的空き領域にダミーデータを書き込み、前記ダミーデータを書き込んだ領域の論理的消去を行う未使用ブロック生成工程と、
    を有することを特徴とする情報処理装置の制御方法。
  9. コンピュータを、請求項1乃至7のいずれか1項に情報処理装置として機能させるためのプログラム。
JP2012261630A 2012-11-29 2012-11-29 情報処理装置及びその制御方法とプログラム Expired - Fee Related JP6004923B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012261630A JP6004923B2 (ja) 2012-11-29 2012-11-29 情報処理装置及びその制御方法とプログラム
US14/083,543 US9442843B2 (en) 2012-11-29 2013-11-19 Information processing apparatus, method of controlling the same, and storage medium
CN201310614175.7A CN103853502B (zh) 2012-11-29 2013-11-27 信息处理设备及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012261630A JP6004923B2 (ja) 2012-11-29 2012-11-29 情報処理装置及びその制御方法とプログラム

Publications (2)

Publication Number Publication Date
JP2014106918A JP2014106918A (ja) 2014-06-09
JP6004923B2 true JP6004923B2 (ja) 2016-10-12

Family

ID=50774328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012261630A Expired - Fee Related JP6004923B2 (ja) 2012-11-29 2012-11-29 情報処理装置及びその制御方法とプログラム

Country Status (3)

Country Link
US (1) US9442843B2 (ja)
JP (1) JP6004923B2 (ja)
CN (1) CN103853502B (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012128816A (ja) * 2010-12-17 2012-07-05 Toshiba Corp メモリシステム
US10452596B2 (en) * 2015-10-29 2019-10-22 Micron Technology, Inc. Memory cells configured in multiple configuration modes
KR102621467B1 (ko) * 2016-09-05 2024-01-05 삼성전자주식회사 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 온도 조절 방법
JP7205090B2 (ja) * 2018-07-13 2023-01-17 富士通株式会社 制御装置、制御プログラム、及び制御方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05113858A (ja) * 1991-10-22 1993-05-07 Hokuriku Nippon Denki Software Kk 不揮発性メモリを含むプリンタ装置
US7886108B2 (en) * 2000-01-06 2011-02-08 Super Talent Electronics, Inc. Methods and systems of managing memory addresses in a large capacity multi-level cell (MLC) based flash memory device
JP4199519B2 (ja) * 2002-11-05 2008-12-17 パナソニック株式会社 メモリ管理装置及びメモリ管理方法
JP2004234473A (ja) 2003-01-31 2004-08-19 Matsushita Electric Ind Co Ltd 不揮発性記憶装置
JP4710056B2 (ja) 2007-10-04 2011-06-29 Necインフロンティア株式会社 情報処理装置、フラッシュメモリ管理方法およびフラッシュメモリ管理プログラム
JP4164118B1 (ja) * 2008-03-26 2008-10-08 眞澄 鈴木 フラッシュメモリを用いた記憶装置
US8554987B2 (en) * 2009-06-18 2013-10-08 Panasonic Corporation Nonvolatile memory system for improving stream data writing
JP2012123499A (ja) * 2010-12-07 2012-06-28 Toshiba Corp メモリシステム
JP5405513B2 (ja) * 2011-03-22 2014-02-05 株式会社東芝 メモリシステム、不揮発性記憶装置、不揮発性記憶装置の制御方法、及びプログラム
US8879319B1 (en) * 2011-07-29 2014-11-04 Ecole Polytechnique Federale De Lausanne (Epfl) Re-writing scheme for solid-state storage devices

Also Published As

Publication number Publication date
JP2014106918A (ja) 2014-06-09
US20140149645A1 (en) 2014-05-29
CN103853502B (zh) 2017-04-26
US9442843B2 (en) 2016-09-13
CN103853502A (zh) 2014-06-11

Similar Documents

Publication Publication Date Title
JP5917163B2 (ja) 情報処理装置、その制御方法及びプログラム並びに記憶媒体
JP5959958B2 (ja) 記憶装置及び記憶装置におけるデータ消去方法
JP2015064860A (ja) 画像形成装置およびその制御方法、並びにプログラム
JP2011095916A (ja) 電子機器
KR20150044655A (ko) 데이터 저장 장치
JP6004923B2 (ja) 情報処理装置及びその制御方法とプログラム
JP2014010498A5 (ja)
JP6875808B2 (ja) 情報処理装置
JP2012240397A (ja) 印刷装置及びその制御方法
JP2014032582A (ja) 画像処理装置、画像処理装置のストレージデバイス制御方法、及びプログラム
JP2017142776A (ja) 寿命管理装置および寿命管理方法
US9948809B2 (en) Image forming apparatus, memory management method for image forming apparatus, and program, using discretely arranged blocks in prioritizing information
JP6271939B2 (ja) 情報処理装置及びその制御方法、並びにプログラム
JP2008225576A (ja) Nand型フラッシュメモリの制御装置
JP7401193B2 (ja) 情報処理装置及びその制御方法並びにプログラム
JP2019199059A (ja) 画像形成装置、画像形成装置の制御方法及びプログラム
JP2010009553A (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP7401215B2 (ja) 情報処理装置、その制御方法およびプログラム
JP2018156582A (ja) 情報処理装置および画像形成装置等のストレージ制御方法
JP2012191370A (ja) 画像形成装置
JP2018014005A (ja) ストレージ制御装置
JP2014138265A (ja) 画像形成装置
JP2016091059A (ja) 情報処理装置
JP2015204071A (ja) 情報処理装置、情報処理方法およびプログラム
JP2018063499A (ja) 情報処理装置及びその制御方法、並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160802

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: 20160808

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160906

R151 Written notification of patent or utility model registration

Ref document number: 6004923

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees