JP2015197832A - 情報処理装置及びフラッシュメモリの制御方法 - Google Patents

情報処理装置及びフラッシュメモリの制御方法 Download PDF

Info

Publication number
JP2015197832A
JP2015197832A JP2014075950A JP2014075950A JP2015197832A JP 2015197832 A JP2015197832 A JP 2015197832A JP 2014075950 A JP2014075950 A JP 2014075950A JP 2014075950 A JP2014075950 A JP 2014075950A JP 2015197832 A JP2015197832 A JP 2015197832A
Authority
JP
Japan
Prior art keywords
data
flash memory
amount
processing apparatus
write
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.)
Granted
Application number
JP2014075950A
Other languages
English (en)
Other versions
JP6245041B2 (ja
Inventor
啓史 佐久間
Keishi Sakuma
啓史 佐久間
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.)
Konica Minolta Inc
Original Assignee
Konica Minolta 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 Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2014075950A priority Critical patent/JP6245041B2/ja
Publication of JP2015197832A publication Critical patent/JP2015197832A/ja
Application granted granted Critical
Publication of JP6245041B2 publication Critical patent/JP6245041B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】フラッシュメモリに保持したデータの信頼性を確保する。【解決手段】複数のメモリブロックで構成され、各々の前記メモリブロックへのデータの書き込みがウェアレベリングによって制御されるフラッシュメモリを使用する情報処理装置において、前記フラッシュメモリを制御する制御部は、予め定めた所定期間内に前記フラッシュメモリに書き込まれる書き込みデータ量を取得する第1の機能と、前記書き込みデータ量が予め定めた所定量以上となるように、前記フラッシュメモリへのデータの書き込み時のデータ転送サイズを調整する第2の機能と、を備える。【選択図】図7

Description

本発明は、情報処理装置及びフラッシュメモリの制御方法に関し、特に、ウェアレベリングによりデータの書き込みが制御されるフラッシュメモリを備える情報処理装置及び当該フラッシュメモリへのデータの書き込みを制御する方法に関する。
フラッシュメモリのデータ保持期間は比較的短く、また、環境温度に著しく依存し、温度の上昇に伴ってデータ保持期間が大幅に減少する。よって、フラッシュメモリを装置に組み込む場合、データの消失を防ぐために定期的にリフレッシュ処理を行う等の方法により、データ信頼性を確保するのが一般的である。
このようなリフレッシュ処理に関して、例えば、下記特許文献1には、記憶媒体に記憶されているデータの読み出し、及び書き込みを行い、リフレッシュ処理を行う再書き込み装置に関し、前記記憶媒体の前記所定の領域に対する前記リフレッシュ処理を開始する条件であるリフレッシュ処理開始条件を記憶している記憶手段と、前記記憶手段に記憶されている前記リフレッシュ処理開始条件が成立したか否かを判定する開始条件判定処理を実行し、前記開始条件判定処理において前記リフレッシュ処理開始条件が成立したと判定した場合、成立した前記リフレッシュ処理開始条件に係る前記所定の領域に対し前記リフレッシュ処理を実行する制御手段と、を備え、前記記憶手段に記憶されている前記リフレッシュ処理開始条件を、前記リフレッシュ処理を最後まで実行できる可能性が高い場合に成立する条件とすることが開示されている。
特開2009−140589号公報
データのリフレッシュ制御は、一般的には、デバイスに格納されている全データのリード又は全データのリライト等の方法で行われるため、システムへの負荷が大きい。例えば、フラッシュメモリへのアクセス要求が頻発する条件下でリフレッシュ制御を行った場合、フラッシュメモリへのアクセス要求とリフレッシュ制御によるデータのリード/ライトとが競合し、リフレッシュ処理が中断してしまう可能性がある。そして、リフレッシュ処理に失敗した場合に、データが消失する等のリスクが発生する。
そこで、上記特許文献1では、フラッシュメモリへのアクセス要求が発生しにくい条件下であることを判別した上で、リフレッシュ制御を実施するように制御することにより、リフレッシュ処理が中断する可能性を低減している。しかしながら、特許文献1にも記載されているように、リフレッシュ制御を実施する場合、リフレッシュ処理が中断される危険性やフラッシュメモリへのアクセス競合など、様々な要素を加味した上でリフレッシュ制御を実施する必要があるため、制御が非常に煩雑になるという問題がある。
本発明は、上記問題点に鑑みてなされたものであって、その主たる目的は、フラッシュメモリに保持したデータの信頼性を確保することができる情報処理装置及びフラッシュメモリの制御方法を提供することにある。
本発明の一側面は、複数のメモリブロックで構成され、各々の前記メモリブロックへのデータの書き込みがウェアレベリングによって制御されるフラッシュメモリを使用する情報処理装置において、前記フラッシュメモリを制御する制御部は、予め定めた所定期間内に前記フラッシュメモリに書き込まれる書き込みデータ量を取得する第1の機能と、前記書き込みデータ量が予め定めた所定量以上となるように、前記フラッシュメモリへのデータの書き込み時のデータ転送サイズを調整する第2の機能と、を備えることを特徴とする。
本発明の一側面は、複数のメモリブロックで構成され、各々の前記メモリブロックへのデータの書き込みがウェアレベリングによって制御されるフラッシュメモリを使用する情報処理装置における前記フラッシュメモリの制御方法であって、前記フラッシュメモリを制御する制御部は、予め定めた所定期間内に前記フラッシュメモリに書き込まれる書き込みデータ量を取得する第1の処理と、前記書き込みデータ量が予め定めた所定量以上となるように、前記フラッシュメモリへのデータの書き込み時のデータ転送サイズを調整する第2の処理と、を実行することを特徴とする。
本発明の情報処理装置及びフラッシュメモリの制御方法によれば、フラッシュメモリに保持したデータの信頼性を確保することができる。
その理由は、複数のメモリブロックで構成され、各メモリブロックへのデータ書き込みがウェアレベリングによって制御されるフラッシュメモリを使用する情報処理装置において、フラッシュメモリを制御する制御部は、所定期間(フラッシュメモリの各ブロックのデータ保持期間を十分に確保するために必要となるデータ書き込み間隔)内のフラッシュメモリへの書き込みデータ量を取得する処理と、取得した書き込みデータ量が、所定量(ウェアレベリングによりフラッシュメモリ内部の全データが少なくとも1回以上更新されるために必要となる書き込みデータ量)以上となるように、前記フラッシュメモリへのデータ書き込み時のデータ転送サイズを調整する処理と、を実行するからである。
本発明の一実施例に係る情報処理装置の概略構成を示すブロック図である。 フラッシュメモリのウェアレベリングによるデータの置き換え処理を説明する図である。 フラッシュメモリの特性(データ書き込み直後からトランジスタの閾値電圧が変化し始めるまでの時間の書き込み間隔依存性)を示す図である。 フラッシュメモリの特性(トランジスタの閾値電圧の放置時間依存性)を示す図である。 フラッシュメモリの外部バスと内部バスを示す図である。 フラッシュメモリの特性(W/A係数の転送データサイズ依存性)の測定結果を示す図である。 本発明の一実施例に係る情報処理装置の動作を示すフローチャート図である。 本発明の一実施例に係るフラッシュメモリの制御による効果(データ転送サイズの調整制御を実施した場合と実施しない場合のフラッシュメモリ内部バスの書き込みデータ量の週変化)を示す図である。 本発明の一実施例に係るフラッシュメモリの制御による効果(データ転送サイズの調整制御を実施した場合と実施しない場合のフラッシュメモリ内部バスの書き込みデータ量の月変化)を示す図である。
フラッシュメモリは、一般に、ゲート電極が2層構造となったMOS(Metal Oxide Semiconductor)トランジスタ(セル)からなり、1バイト単位で読み出し/書き込み、消去、書き換えが可能な(すなわち、ソース線とビット線が個々のセルに繋がっている)NOR型と、複数ビットでの読み出し/書き込み、消去、書き換えが可能な(複数のセルがソース線とビット線の間に直列に接続された)NAND型と、がある。いずれの場合も、浮遊ゲートとシリコン基板の間に高電界を加えることによって、電子がゲート絶縁膜をトンネリングして浮遊ゲートに注入され、これによってMOSトランジスタがオフ状態からオン状態に変わるゲート電圧(閾値電圧)が変化することを利用して情報を記憶する。
そのため、フラッシュメモリへのデータの書き込み回数が多くなると、電子のトンネリングによってゲート絶縁膜が劣化し、浮遊ゲートに注入した電子がシリコン基板に逃げやすくなり、データ保持期間が短くなる。特に、NAND型のフラッシュメモリでは、メモリブロック(以下、単にブロックと称する。)内の一部のセルに対する書き込みでもブロック単位で書き込みを行うため、書き込み回数が実質的に増加してゲート絶縁膜の劣化が進行し、データ保持期間が短くなる。
このような背景から、通常は、フラッシュメモリへのデータの書き込みに際し、ウェアレベリングの機能により、同一のブロックに対してデータの書き込みが集中しないように制御している。このウェアレベリングの機能は、フラッシュメモリのブロック毎の書き込み履歴に基づいて、偏りなくフラッシュメモリ内の各ブロックにデータを書き込むものである。
ウェアレベリングの機能により、全てのブロックに対して偏りなくデータを書き込むことができ、各ブロックのデータ保持期間を確保し、データの信頼性を高めることができるが、そもそもフラッシュメモリに入力されるデータが少ないと、所定時間内にデータの書き込みが行われないブロックが発生する。そして、このようなブロックでは、保持したデータが消失する恐れがある。
そこで、背景技術で示したように、フラッシュメモリを装置に組み込む場合、データの信頼性を確保するために、定期的にリフレッシュ処理が実施されるが、リフレッシュ制御は、一般的には、デバイスに格納されている全データのリード又は全データのリライト等の方法で行われるため、システムへの負荷が大きい。特に、フラッシュメモリへのアクセス要求とリフレッシュ制御によるデータのリード/ライトとが競合した場合には、リフレッシュ処理が中断してしまう可能性があり、リフレッシュ制御に失敗した場合はデータが消失する可能性が高くなる。
この問題に対して、上記特許文献1では、フラッシュメモリへのアクセス要求が発生しにくい条件下であることを判別した上で、リフレッシュ制御を実施するように制御しているが、この方法では、リフレッシュ処理が中断される危険性やフラッシュメモリへのアクセス競合などの様々な要素を加味した上で、リフレッシュ制御を実施する必要があり、制御が煩雑になるという問題がある。
このように、リフレッシュ処理はデータの信頼性を確保する上で重要な処理ではあるが、ウェアレベリングの機能によって、データ保持期間内に全てのブロックにデータの書き込みが行われる場合には、リフレッシュ制御を実施しなくても、データの信頼性を確保することは可能である。
そこで、本発明の一実施の形態では、ウェアレベリング機能を備えるフラッシュメモリの制御において、フラッシュメモリへのデータ書き込み時のデータ転送サイズを調整し、所定期間(例えば、データの信頼性(フラッシュメモリの各ブロックのデータ保持期間)を確保するために必要となるデータの書き込み間隔)内のフラッシュメモリ内部における書き込みデータ量が所定量(例えば、ウェアレベリングにより、フラッシュメモリ内部の全データが少なくとも1回以上更新されるために必要となる書き込みデータ量)以上となるように制御する。
これにより、フラッシュメモリ内の全ブロックに対して、所定期間内に少なくとも1回以上のデータ書き込みが発生するため、リフレッシュ制御を実施することなく、データの信頼性を確保することができる。また、リフレッシュ制御を実施しないことにより、データの書き込み回数の増加を抑制することができるため、各々のブロックのデータ保持期間を延長することができ、フラッシュメモリの寿命を延ばすことができる。
上記した本発明の実施の形態についてさらに詳細に説明すべく、本発明の一実施例に係る情報処理装置及びフラッシュメモリの制御方法について、図1乃至図9を参照して説明する。図1は、本実施例の情報処理装置の概略構成を示すブロック図であり、図2は、フラッシュメモリのウェアレベリングによるデータの置き換え処理を説明する図である。また、図3、4、6は、フラッシュメモリの特性を示す図であり、図5は、フラッシュメモリの外部バスと内部バスを示す図である。また、図7は、本実施例の情報処理装置の動作を示すフローチャート図であり、図8及び図9は、本実施例のフラッシュメモリの制御による効果を示す図である。なお、以下の説明において、フラッシュメモリへのデータ書き込みとは、データが保持されていないブロックにデータを書き込む場合の他、ブロックに保持されているデータを他のデータに書き換える場合も含む。
本発明は、例えば、図1に示すような情報処理装置、特に、ウェアレベリング機能を有するフラッシュメモリを使用するシステム上で実施される。具体的には、情報処理装置は、メインコントローラ10、フラッシュメモリ20などを含む。メインコントローラ10は、CPU(Central Processing Unit)11、メインメモリ12、フラッシュメモリコントローラ13などで構成され、フラッシュメモリ20は、NANDコントローラ21、RAW NAND22などで構成される。
CPU11はメインメモリ12を利用して、情報処理装置全体の制御を行う。フラッシュメモリコントローラ13(フラッシュメモリ20の制御部)は、フラッシュメモリ20に対するデータの読み出し/書き込み、消去、書き換え(これらを総称して書き込みと称する。)を制御する。具体的には、フラッシュメモリコントローラ13は、図示しない入力装置から入力されたデータを一旦メインメモリ12に格納し、ウェアレベリングによってフラッシュメモリ20の各ブロックに書き込むと共に、フラッシュメモリ20からデータを読み出し、図示しない出力装置に出力する。
更に、フラッシュメモリコントローラ13は、所定時間内にフラッシュメモリ20に書き込まれるデータ量(書き込みデータ量と呼ぶ。)を取得(予測)する機能と、取得した書き込みデータ量が予め定めた所定量以上となるように、後述するW/A係数とデータ転送サイズとの相関に基づいて、フラッシュメモリ20へのデータ転送サイズを制御する機能とを備える。なお、上記所定時間は、後述するように、例えば、フラッシュメモリ20の各ブロックに書き込んだデータの信頼性を確保するために必要となるデータの書き込み間隔であり、上記所定量は、例えば、ウェアレベリングにより、フラッシュメモリ20の内部に書き込んだ全データが少なくとも1回以上更新されるために必要となる書き込みデータ量(必要書き込みデータ量と呼ぶ。)である。
フラッシュメモリ20は、データの読み出し/書き込み、消去、書き換えが可能なNAND型の不揮発性メモリであり、フラッシュメモリコントローラ13の指示に従って、入力されたデータを保持し、保持したデータを出力する。具体的には、フラッシュメモリ20へのデータの読み出し/書き込みは、8ビット又は16ビットのデータポートを経由して行われるが、NANDコントローラ21は、データポートで読み出し/書き込みが行われるデータを区別するための制御信号(CLE(Command Latch Enable)、ALE(Address Latch Enable)、RE(Read Enable)、WE(Write Enable)など)を認識し、制御信号に従って、データを保持する部分であるRAW NAND22に対して、データの読み出し/書き込みを行う。
図1に示すシステムにおいて、フラッシュメモリ20は、例えば、プログラムデータの保存、データのストレージ、一時データの保存などに使用されるが、このうち、プログラムデータ等のシステムの動作において重要なデータについては、システムが利用されている間、継続的に高いデータ信頼性が確保される必要がある。これに対して、フラッシュメモリ20のデータ保持期間は有限であり、継続的に高いデータ信頼性を確保するためには、定期的にリフレッシュ処理を実施する必要がある。
ここで、リフレッシュ制御では、一般的に、フラッシュメモリ20内に保存されている全データのリード又は全データのリライトが行われる。しかしながら、フラッシュメモリ20が次第に大容量化されている昨今では、リフレッシュ制御のためにシステムに大きな負荷がかかり、リフレッシュ制御によるフラッシュメモリ20へのアクセスと、それ以外のフラッシュメモリ20へのアクセスとが競合した場合、リフレッシュ制御の中断処理、再開処理が必要となるなど、制御が煩雑になるといった問題がある。
従って、リフレッシュ制御を実施することなく、データの信頼性が確保され、かつ、データ保持期間が延長されるようにすることが望ましい。そこで、本実施例では、フラッシュメモリ20のウェアレベリング機能を有効に利用することにより、リフレッシュ制御を実施することなく、データ信頼性の確保、及びデータ保持期間の延長を可能にする方法を提案する。
本実施例のフラッシュメモリ20の制御について説明する前に、ウェアレベリング機能について説明する。フラッシュメモリのウェアレベリングでは、一般的に、図2に示すように、複数のブロック間で、各ブロックの書き込み回数に偏りが発生しないようにデータの置き換え処理が行われる。このデータ置き換え処理では、頻繁にライトアクセスが発生するブロックと、ほとんどライトアクセスが発生しないブロックとの間で、書き込み回数のばらつきが発生しないように、データの書き込みが発生した際、データの書き込み対象となるブロックと、それに付随して、データの書き込み対象となっていないブロックに対しても、データの置き換えを実施する。
例えば、図2に示すように、メインコントローラ10(フラッシュメモリコントローラ13)からフラッシュメモリ20に対して、Address 00Hへのデータ書き込み要求を行ったとする。その際、図2(a)に示すように、NANDコントローラ21は、RAW NAND22のAddress 00Hに格納されているData Aと、それとは関係のない別のAddressに格納されているData Dを読み出して待避させる。次に、図2(b)に示すように、NANDコントローラ21は、RAW NAND22のData AとData Dが格納されていたAddressのデータを消去すると共に、データが格納されていないブロック(Blank)のAddressにData Dを書き込み。そして、図2(c)に示すように、NANDコントローラ21は、データが格納されていない他のブロックのAddressにData Aを書き込む。この一連の動作により、最終的に書き込み対象のData Aのみならず、Data Dについてもデータ更新が行われる。
ここで、フラッシュメモリ20に対して、所定量以上のデータの書き込みが発生した場合、図2に示すウェアレベリングによるデータ置き換え処理により、フラッシュメモリ20内の全てのブロックに対してデータ更新が発生すると考えられる。そして、全てのブロックのデータ更新が、所定期間内に必ず発生すれば、リフレッシュ制御を行わなくても、常に、全てのブロックに保存されたデータは高い信頼性が確保された状態となり、また、データ更新の度にデータ保持期間が延長される。
そこで、本実施例では、フラッシュメモリ20に対して、所定期間内に必ず所定量以上のデータの書き込みが発生するようにするために、後述するW/A係数とデータ転送サイズ(フラッシュメモリコントローラ13がフラッシュメモリ20にデータを転送する際の単位サイズ)との関係に基づき、データ転送サイズを調整して書き込みデータ量を制御する。以下、詳細に説明する。
まず、上記所定期間に関して、図3及び図4を参照して説明する。図3は、フラッシュメモリ20を構成する各ブロックの各セルに関して、データ書き込み直後からセルを構成するトランジスタの閾値電圧が変化し始めるまでの時間(time offset T0と表記)の書き込み間隔依存性を示している。また、図4は、セルを構成するトランジスタの閾値電圧(ΔVthと表記)の放置時間依存性を示している。
図3及び図4に示すように、データの書き込み間隔が長い場合、ゲート絶縁膜の劣化は遅くなるため、トランジスタの閾値電圧が変化し始めるまでの時間は長くなり(例えば、図3のT0_L)、その結果、閾値電圧の変化の許容レベルで規定されるデータ保持期間(いわゆるデータリテンション)を長くすることができ、データの信頼性を高めることができる。一方、データの書き込み間隔が短くなるにつれて、ゲート絶縁膜の劣化が進行するため、トランジスタの閾値電圧が変化し始めるまでの時間は短くなり(例えば、図3のT0_S)、その結果、閾値電圧の変化の許容レベルで規定されるデータ保持期間は短くなり、データの信頼性が低下する。
従って、上記所定期間は、フラッシュメモリ20の特性に基づき、データの信頼性を確保するために必要となる(言い換えると、フラッシュメモリの各ブロックのデータ保持期間を所望の値とするために必要となる)データの書き込み間隔に設定すればよい。具体的には、フラッシュメモリ20の寿命が情報処理装置の寿命と同等以上となるようなデータ保持期間で規定されるデータの書き込み間隔とすることができる。
次に、上記所定量及びデータ転送サイズに関して、図5及び図6を参照して説明する。図5は、フラッシュメモリの外部バスと内部バスを示す図であり、図6は、フラッシュメモリの特性(W/A係数の転送データサイズ依存性)の測定結果である。例えば、上述したデータ信頼性を確保するために必要となるデータの書き込み間隔(所定期間)をT、フラッシュメモリ20内の全ブロックに対してデータ更新を発生させるために必要となる書き込みデータ量(必要書き込みデータ量)をWとすると、所定期間T内に必要書き込みデータ量Wのデータの書き込みが発生すれば、リフレッシュ制御が不要となる。
ただし、図5に示す外部バス部分の所定期間T内のフラッシュメモリ20への書き込みデータ量は、ユーザの装置使用頻度に依存して増減する。そこで、本実施例では、フラッシュメモリ20内のNANDコントローラ21の性能指標の一つである、W/A(Write Amplification)係数を用いて、データ書き込み時のデータ転送サイズの調整を行い、図5に示すフラッシュメモリ20の内部バスの書き込みデータ量を制御する。
具体的に説明すると、フラッシュメモリ20の内部バス(NANDコントローラ21−RAW NAND22間)における書き込みデータ量は、一般的にフラッシュメモリ20の外部バス(フラッシュメモリコントローラ13−NANDコントローラ21間)での書き込みデータ量よりも増加する。この要因は、NAND型フラッシュメモリの、データのリード、ライト、消去時の最低データサイズ単位に制約があるためであり、内部バスでの書き込みデータ量の、外部バスでの書き込みデータ量に対する比率をW/A係数と呼ぶ。
このW/A係数は、図6の測定結果に示すように、外部バスでのデータ転送サイズ(アクセスサイズ)が大きくなるほど減少し、外部バスでのデータ転送サイズが小さくなるほど増加する。つまり、外部バスでのデータ転送サイズを小サイズに制約すると、外部バスでの書き込みデータ量に対して内部バスでの書き込みデータ量は増加し、外部バスでのデータ転送サイズを大サイズにすると、外部バスでの書き込みデータ量と内部バスでの書き込みデータ量との差異はほぼなくなる。
このようなフラッシュメモリ20の特性を参照して、所定期間T内に、フラッシュメモリ20の内部バスでの書き込みデータ量が必要書き込みデータ量W以上となるようにするための制御を考える。所定期間T内でのフラッシュメモリ20の外部バスでの書き込みデータ量がW0であったとする。この時、フラッシュメモリ20の内部バスでの書き込みデータ量を必要書き込みデータ量W以上とするためには、W/A係数が下記(1)式を満たすように、フラッシュメモリ20の外部バスでのデータ転送サイズを選択すればよい。
W/A≧W/W0 … (1)
すなわち、上記(1)式を満たすようにデータ転送サイズを選択すれば、ユーザの装置使用頻度に依存して増減する、フラッシュメモリ20の外部バスでの書き込みデータ量に関係なく、所定期間内のフラッシュメモリ20の内部バスでの書き込みデータ量を必要書き込みデータ量以上に制御可能である。結果として、フラッシュメモリ20内の全ブロックに対して、定期的にデータの更新がされることになり、リフレッシュ制御を実施しなくても、データの信頼性を確保することができる。
以下、一例として、MFP(Multi Function Peripheral)などの画像形成装置に対して、本実施例によるデータ信頼性の確保、及びデータ保持期間の延長のための制御について、図7のフローチャート図を参照して説明する。なお、MFPは、一般的に、スキャン、コピー、プリント、FAXが何枚実施されたかをカウントするカウンタを備えており、そのカウント値をカウンタ情報として保持している。また、スキャン、コピー、プリント、FAXの1カウントあたりのデータ量は取得可能である。従って、所定期間内のカウンタ情報の増加幅を参照することにより、ユーザの装置使用頻度の把握、及び、フラッシュメモリ20への書き込みデータ量を取得可能である。MFPは、CPU11が、フラッシュメモリ20が記憶するプログラムを実行することにより、図7に示す処理を実現する。
まず、メインコントローラ10は、ユーザの所定期間内の装置使用頻度を把握するため、所定期間が経過するまで待機する(S101)。所定期間が経過したら、メインコントローラ10は、上記カウンタ情報を取得し(S102)、所定期間内のカウンタ情報の増加幅を算出する。更に、メインコントローラ10は、算出したカウンタ情報の増加幅と、予め取得した1カウントあたりのデータ量から、所定期間内のフラッシュメモリ20への書き込みデータ量を取得する(S103)。
次に、メインコントローラ10は、リフレッシュ制御を不要とするために必要となる、所定期間内の書き込みデータの所定量(すなわち、ウェアレベリングにより、フラッシュメモリ20内部の全ブロックのデータが少なくとも1回以上更新されるために必要となる必要書き込みデータ量)と、所定期間内の実際の書き込みデータ量の取得値とを比較し、取得値を所定量で除算することにより、実際の書き込みデータ量が所定量以上であるかを判断するための指標を算出する(S104)。
そして、メインコントローラ10は、算出した指標が1以上であるかを判断し(S105)、指標≧1の場合は、実際の書き込みデータ量が所定量以上であるため、この時は、W/A係数が最低となるデータ転送サイズ(例えば、処理の効率を考慮して予め設定した大きなデータ転送サイズ)を選択する(S106)。一方、指標<1となる場合は、実際の書き込みデータ量が所定量未満であるため、フラッシュメモリ20のW/A係数特性を参照して、最適なデータ転送サイズを選択し、フラッシュメモリ20の内部バスでの書き込みデータ量を増加させるように調整する(S107)。
なお、最適なデータ転送サイズは、実際の書き込みデータ量が所定量以上となる値であればよいが、データ転送サイズを小さくし過ぎると、実際の書き込みデータ量が必要以上に増加し、データ保持期間の低下を招くため、実際の書き込みデータ量が所定量とほぼ等しいか、わずかに越える程度のデータ転送サイズを選択することが好ましい。
その後、メインコントローラ10は、データ転送サイズを更新し、一定期間、更新したデータ転送サイズでフラッシュメモリ20へのデータ書き込みを制御し(S108)、一定期間が経過したら、S101に戻って同様の処理を繰り返す。
上記制御を定期的に実施することにより、ユーザの装置使用頻度にばらつきがあった場合においても、フラッシュメモリ20の内部バスでの書き込みデータ量を、常に、必要書き込みデータ量以上に調整することができる。よって、リフレッシュ制御を行わなくても、全てのブロックに保存されたデータは高い信頼性が確保された状態となる。
なお、上記フローでは、データ転送サイズを調整することにより、フラッシュメモリ20の内部バスでの書き込みデータ量が必要書き込みデータ量以上になるようにしたが、フラッシュメモリ20の外部バスでの書き込みデータ量が極端に小さい場合は、データ転送サイズを調整しても、フラッシュメモリ20の内部バスでの書き込みデータ量を必要書き込みデータ量以上にすることができない場合も考えられる。そのような場合は、リフレッシュ制御を実施して、データの信頼性を確保してもよいし、予め定めたダミーのデータを加算するなどしてフラッシュメモリ20の内部バスの書き込みデータ量を増加させるようにしてもよい。また、データ転送サイズの調整幅が大きい場合も、予め定めたダミーのデータを加算するなどしてフラッシュメモリ20の内部バスの書き込みデータ量を増加させ、データ転送サイズの調整幅が小さくなるようにしてもよい。
以下に、MFPのカウンタ情報(ユーザの装置使用頻度)が表1のようになった場合の制御例を示す。なお、以下の制御例では、高いデータ信頼性を得るために必要となる、データの書き込み間隔(所定期間)を1カ月とし、所定期間内にフラッシュメモリ20内の全ブロックに対して少なくとも1回以上のデータ更新を発生させるために必要となる、フラッシュメモリ20の内部バスの必要書き込みデータ量(所定量)を100000MBとする。また、カウンタ情報の1カウントあたり、フラッシュメモリ20に対して20MBのデータ書き込みが行われるものとする。
Figure 2015197832
まず、表1に示すように、週1回、カウンタ情報(ユーザの装置使用頻度)を参照し、カウンタ情報の増加量を取得する。カウンタ情報の増加量より、その週のフラッシュメモリ20の外部バスへの書き込みデータ量は、下記の(2)式により算出される。
フラッシュメモリ外部バス書き込み量[MB]=カウンタ情報の増加量[枚]×20[MB/枚] … (2)
上記、フラッシュメモリ20の外部バスへの書き込みデータ量に、その週のW/A係数の設定値を乗算し、フラッシュメモリ20の内部バスへの書き込みデータ量を算出する。
次に、この算出した書き込みデータ量と1週間あたりの必要書き込みデータ量とを比較し、算出した書き込みデータ量が必要書き込みデータ量以上である場合は、翌週のW/A係数を最低値に設定する。つまり、W/A係数が最低値を取るようなデータ転送サイズを選択する。算出した書き込みデータ量が必要書き込みデータ量未満の場合は、以下の(3)式により、翌週のW/A係数の設定値を算出し、算出されたW/A係数の設定値に従い、翌週のデータ転送サイズを選択する。なお、下記の(3)式における調整値は、次の一週間において、フラッシュメモリ20の内部バスの書き込みデータ量が必要書き込みデータ量未満とならないようにするための安全係数であり、装置の使用状況に応じて適宜設定することができる。
W/A係数の設定値=必要書き込みデータ量÷フラッシュメモリの内部バスの書き込みデータ量×調整値 … (3)
データ転送サイズが選択された以降は、本データ転送サイズに従い、フラッシュメモリ20へのデータの書き込みを行う。
なお、上記説明では、カウンタ情報を1種類としたが、スキャン、コピー、プリント、FAXなどの機能毎にカウンタ情報を取得し、各カウンタ情報について、その増加量とその機能の1カウントあたりのデータ量を乗算した値を求め、全カウンタ情報について加算して書き込みデータ量を取得するようにしてもよい。また、1カウントあたりのデータ量は一定の値としてもよいし、その機能の動作条件に基づいてデータ量を調整したり、装置の使用時間に基づいてデータ量を調整したりしてもよい。
上記のデータ転送サイズの選択プロセスを週1回実施し、ユーザの装置使用頻度に合わせてデータ転送サイズを調整した場合の効果について説明する。
図8及び図9は、データ転送サイズの調整制御を実施した場合と実施しなかった場合のフラッシュメモリ20の内部バスの書き込みデータ量の週毎の推移(図8)及び月毎の推移(図9)を示している。図8及び図9に示すように、データ転送サイズの調整制御を実施しない場合と比較して、データ転送サイズの調整制御を実施した場合は、必要書き込みデータ量に満たなかった分が是正され、常に、必要書き込みデータ量以上の書き込みデータ量を確保することができる。これにより、リフレッシュ制御を行うことなく、高いデータ信頼性を確保することが可能となる。
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨を逸脱しない限りにおいて、フラッシュメモリを備える装置の構成やフラッシュメモリの制御方法は適宜変更可能である。
例えば、上記実施例では、カウンタ情報の増加量と1カウントあたりのデータ量から、所定期間内の書き込みデータ量を予測したが、フラッシュメモリ20の外部バスの書き込みデータ量を直接取得(又は計測)してもよい。
本発明は、フラッシュメモリを備える情報処理装置及び当該情報処理装置におけるフラッシュメモリの制御方法に利用可能である。
10 メインコントローラ
11 CPU
12 メインメモリ
13 フラッシュメモリコントローラ
20 フラッシュメモリ
21 NANDコントローラ
22 RAW NAND

Claims (12)

  1. 複数のメモリブロックで構成され、各々の前記メモリブロックへのデータの書き込みがウェアレベリングによって制御されるフラッシュメモリを使用する情報処理装置において、
    前記フラッシュメモリを制御する制御部は、
    予め定めた所定期間内に前記フラッシュメモリに書き込まれる書き込みデータ量を取得する第1の機能と、
    前記書き込みデータ量が予め定めた所定量以上となるように、前記フラッシュメモリへのデータの書き込み時のデータ転送サイズを調整する第2の機能と、を備える、
    ことを特徴とする情報処理装置。
  2. 前記制御部は、前記フラッシュメモリの外部バスのデータ量に対する内部バスのデータ量の比率を示すW/A(Write Amplification)係数と前記データ転送サイズとの相関に基づいて、前記所定期間内の前記書き込みデータ量が前記所定量以上となるように、前記データ転送サイズを調整する、
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記所定期間は、前記フラッシュメモリの各々の前記メモリブロックのデータ保持期間を特定期間以上とするためのデータ書き込み間隔であり、
    前記所定量は、前記ウェアレベリングにより、前記フラッシュメモリ内部の全てのデータが少なくとも1回以上更新されるために必要となるデータ書き込み量であり、
    前記制御部は、前記データ転送サイズを調整することにより、前記所定期間内に、前記フラッシュメモリ内の全てのデータに対して少なくとも1回以上の更新を発生させ、リフレッシュ制御を不要とする、
    ことを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記特定期間は、前記情報処理装置の寿命である、
    ことを特徴とする請求項3に記載の情報処理装置。
  5. 前記制御部は、前記所定期間の前記情報処理装置の使用頻度と、前記情報処理装置の1回の使用につき前記フラッシュメモリに書き込まれるデータ量と、に基づいて、前記所定期間内の前記書き込みデータ量を予測する、
    ことを特徴とする請求項1乃至4のいずれか一に記載の情報処理装置。
  6. 前記制御部は、前記予測した書き込みデータ量と、当該予測した書き込みデータ量に基づいて調整した前記データ転送サイズで前記所定期間に前記フラッシュメモリに実際に書き込まれたデータ量と、を比較し、前記実際に書き込まれたデータ量が前記予測した書き込みデータ量未満の場合は、前記データ転送サイズを調整する、
    ことを特徴とする請求項5に記載の情報処理装置。
  7. 複数のメモリブロックで構成され、各々の前記メモリブロックへのデータの書き込みがウェアレベリングによって制御されるフラッシュメモリを使用する情報処理装置における前記フラッシュメモリの制御方法であって、
    前記フラッシュメモリを制御する制御部は、
    予め定めた所定期間内に前記フラッシュメモリに書き込まれる書き込みデータ量を取得する第1の処理と、
    前記書き込みデータ量が予め定めた所定量以上となるように、前記フラッシュメモリへのデータの書き込み時のデータ転送サイズを調整する第2の処理と、を実行する、
    ことを特徴とするフラッシュメモリの制御方法。
  8. 前記第2の処理では、前記フラッシュメモリの外部バスのデータ量に対する内部バスのデータ量の比率を示すW/A(Write Amplification)係数と前記データ転送サイズとの相関に基づいて、前記所定期間内の前記書き込みデータ量が前記所定量以上となるように、前記データ転送サイズを調整する、
    ことを特徴とする請求項7に記載のフラッシュメモリの制御方法。
  9. 前記所定期間は、前記フラッシュメモリの各々の前記メモリブロックのデータ保持期間を特定期間以上とするためのデータ書き込み間隔であり、
    前記所定量は、前記ウェアレベリングにより、前記フラッシュメモリ内部の全てのデータが少なくとも1回以上更新されるために必要となるデータ書き込み量であり、
    前記第2の処理で、前記データ転送サイズを調整することにより、前記所定期間内に、前記フラッシュメモリ内の全てのデータに対して少なくとも1回以上の更新を発生させ、リフレッシュ制御を不要とする、
    ことを特徴とする請求項7又は8に記載のフラッシュメモリの制御方法。
  10. 前記特定期間は、前記情報処理装置の寿命である、
    ことを特徴とする請求項9に記載のフラッシュメモリの制御方法。
  11. 前記第1の処理では、前記所定期間の前記情報処理装置の使用頻度と、前記情報処理装置の1回の使用につき前記フラッシュメモリに書き込まれるデータ量と、に基づいて、前記所定期間内の前記書き込みデータ量を予測する、
    ことを特徴とする請求項7乃至10のいずれか一に記載のフラッシュメモリの制御方法。
  12. 前記第2の処理では、前記予測した書き込みデータ量と、当該予測した書き込みデータ量に基づいて調整した前記データ転送サイズで前記所定期間に前記フラッシュメモリに実際に書き込まれたデータ量と、を比較し、前記実際に書き込まれたデータ量が前記予測した書き込みデータ量未満の場合は、前記データ転送サイズを調整する、
    ことを特徴とする請求項11に記載のフラッシュメモリの制御方法。
JP2014075950A 2014-04-02 2014-04-02 情報処理装置及びフラッシュメモリの制御方法 Active JP6245041B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014075950A JP6245041B2 (ja) 2014-04-02 2014-04-02 情報処理装置及びフラッシュメモリの制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014075950A JP6245041B2 (ja) 2014-04-02 2014-04-02 情報処理装置及びフラッシュメモリの制御方法

Publications (2)

Publication Number Publication Date
JP2015197832A true JP2015197832A (ja) 2015-11-09
JP6245041B2 JP6245041B2 (ja) 2017-12-13

Family

ID=54547461

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014075950A Active JP6245041B2 (ja) 2014-04-02 2014-04-02 情報処理装置及びフラッシュメモリの制御方法

Country Status (1)

Country Link
JP (1) JP6245041B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020071855A (ja) * 2018-10-25 2020-05-07 キヤノン株式会社 情報処理装置および情報処理装置の制御方法、ならびにプログラム
US11323688B2 (en) 2018-07-20 2022-05-03 Canon Kabushiki Kaisha Information processing apparatus and information processing method for generating a virtual viewpoint
US11392294B2 (en) 2018-02-23 2022-07-19 Canon Kabushiki Kaisha Information processing apparatus that controls storage unit and information processing method for transmitting an instruction to write data to a storage a number of times

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011103077A (ja) * 2009-11-11 2011-05-26 Toyota Motor Corp 記憶装置
US20120221784A1 (en) * 2009-11-23 2012-08-30 Amir Ban Memory controller and methods for enhancing write performance of a flash device
WO2013118170A1 (en) * 2012-02-08 2013-08-15 Hitachi, Ltd. Storage apparatus with a plurality of nonvolatile semiconductor storage units and control method thereof to place hot data in storage units with higher residual life and cold data in storage units with lower residual life

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011103077A (ja) * 2009-11-11 2011-05-26 Toyota Motor Corp 記憶装置
US20120221784A1 (en) * 2009-11-23 2012-08-30 Amir Ban Memory controller and methods for enhancing write performance of a flash device
WO2013118170A1 (en) * 2012-02-08 2013-08-15 Hitachi, Ltd. Storage apparatus with a plurality of nonvolatile semiconductor storage units and control method thereof to place hot data in storage units with higher residual life and cold data in storage units with lower residual life

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11392294B2 (en) 2018-02-23 2022-07-19 Canon Kabushiki Kaisha Information processing apparatus that controls storage unit and information processing method for transmitting an instruction to write data to a storage a number of times
US11323688B2 (en) 2018-07-20 2022-05-03 Canon Kabushiki Kaisha Information processing apparatus and information processing method for generating a virtual viewpoint
JP2020071855A (ja) * 2018-10-25 2020-05-07 キヤノン株式会社 情報処理装置および情報処理装置の制御方法、ならびにプログラム
JP7313840B2 (ja) 2018-10-25 2023-07-25 キヤノン株式会社 情報処理装置および情報処理装置の制御方法、ならびにプログラム

Also Published As

Publication number Publication date
JP6245041B2 (ja) 2017-12-13

Similar Documents

Publication Publication Date Title
JP5979512B2 (ja) 画像形成装置及びフラッシュメモリの制御方法
US8301830B2 (en) Wear leveling technique for storage devices
KR100875292B1 (ko) 플래시 메모리 장치 및 그것의 리프레쉬 방법
JP2008152464A (ja) 記憶装置
US10775865B2 (en) Memory system including a nonvolatile memory and a volatile memory, and method
JP5867464B2 (ja) 情報処理装置及びリフレッシュ制御プログラム並びにリフレッシュ制御方法
JP2009134416A (ja) メモリシステム
US20180276123A1 (en) Memory system and control method
US9898211B2 (en) Nonvolatile memory control device, nonvolatile memory control method and computer readable storage medium
JP6245041B2 (ja) 情報処理装置及びフラッシュメモリの制御方法
TWI680459B (zh) 儲存裝置以及資料保存方法
TWI680460B (zh) 儲存裝置以及資料保存方法
CN112599177A (zh) 一种阈值电压的管理方法、读取闪存数据的方法
CN105304127B (zh) 图像形成装置以及闪速存储器的控制方法
JP6405736B2 (ja) 画像処理装置及び書き込み制御プログラム並びに書き込み制御方法
JP6640776B2 (ja) メモリシステム
US11016705B2 (en) Electronic apparatus and method of managing read levels of flash memory
JP2008276832A (ja) 半導体記憶装置およびその駆動方法
CN111667870A (zh) 存储系统
JP6308433B2 (ja) 画像形成装置及び制御方法並びに制御プログラム
CN113467713A (zh) 数据分离方法及固态硬盘
JP2015191294A (ja) メモリコントローラ、メモリシステム及びメモリ制御方法
KR101512199B1 (ko) 불휘발성 메모리 소자의 동작 방법
KR100764748B1 (ko) 향상된 리프레쉬 기능을 갖는 플래시 메모리 장치
US10437488B2 (en) Electronic device and non-transitory computer readable storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170123

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170920

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171030

R150 Certificate of patent or registration of utility model

Ref document number: 6245041

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150