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

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

Info

Publication number
JP7401193B2
JP7401193B2 JP2019078722A JP2019078722A JP7401193B2 JP 7401193 B2 JP7401193 B2 JP 7401193B2 JP 2019078722 A JP2019078722 A JP 2019078722A JP 2019078722 A JP2019078722 A JP 2019078722A JP 7401193 B2 JP7401193 B2 JP 7401193B2
Authority
JP
Japan
Prior art keywords
control unit
memory
nonvolatile memory
information processing
memory control
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.)
Active
Application number
JP2019078722A
Other languages
English (en)
Other versions
JP2020177415A (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 JP2019078722A priority Critical patent/JP7401193B2/ja
Priority to US16/839,482 priority patent/US11321001B2/en
Publication of JP2020177415A publication Critical patent/JP2020177415A/ja
Application granted granted Critical
Publication of JP7401193B2 publication Critical patent/JP7401193B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、情報処理装置及びその制御方法並びにプログラムに関し、特に、フラッシュメモリを利用したストレージを搭載するホスト装置として機能する情報処理装置及びその制御方法並びにプログラムに関する。
一般に、画像形成装置等の情報処理装置のストレージにはハードディスクドライブ(HDD)が用いられており、HDDへのプログラムの格納や画像データの保存や編集などが行われる。
ところで、近年、フラッシュメモリを利用したストレージ、特にソリッドステートドライブ(SSD)は、大容量化および低価格化が進み、モバイルPC等のパソコンを中心として急速にストレージとしての普及が進んでいる。
SSDはHDDと比べて高速なランダムアクセスが可能であるばかりでなく、低消費電力、軽量、および省スペースという利点がある。また、SSDにおいては、システム起動の際にHDDにおいて必要となるスピンアップ等の初期動作が不要なため、HDDと比較して起動時間をかなり短縮することができる。さらに、SSDにはHDDと異なり衝撃によって破損しやすいディスクの駆動部分が存在しないので、耐衝撃性及び耐熱性に優れている。このため、SSDは画像形成装置のストレージとしても注目されている。
但し、SSDに搭載される記憶デバイスであるフラッシュメモリには書き込み可能回数に上限があり、且つそのタイプによってその上限回数も異なる。例えば、SLC(Single Level Cell)のタイプで約10万回、MLC(Multiple Level Cell)のタイプで約1万回である。さらに、半導体の微細化に起因して、フラッシュメモリにおける書き換え可能回数は減少する傾向にある。
フラッシュメモリにおける書き込み可能回数の制限(上限)に対処するため、SSDに搭載されるメモリ制御部は、フラッシュメモリにおいて同一の領域に対する書き込みの頻度が集中しないように、書き込み先の領域を平均化させている。これによって、フラッシュメモリ、ひいては、これを搭載するストレージとしてのSSDの寿命を延伸化している。この技術はウェアレベリングと呼ばれている。
また、メモリ制御部はフラッシュメモリの空き容量を確保する為、消去対象データが記憶された領域に対して書き込み時と逆方向に電圧をかけることにより、ブロックと呼ばれる単位でデータの消去を行っている(特許文献1,2参照)。以下、かかる方法でのデータの消去をガベージコレクションという。
特開2007-193883号公報 特開2018-156600号公報
しかしながら、特許文献1,2に記載されるガベージコレクションは、SSDに搭載されるメモリ制御部が実行条件に達したかを判断し実行している。すなわち、従来技術では、SSDをストレージとして搭載するホスト装置側で実行条件に達したかを判断したり、その判断結果に基づき、ホスト装置側からガベージコレクションを実行する旨のコマンドをSSDに送信したりすることは出来ない。またガベージコレクションの実行条件はメモリ制御部の仕様にて異なる。
一方、SSDからホスト装置に通知するReturn Status Errorの発生条件の一つに、データが保管されていないブロックの数(以下「空きブロック数」という)が一定値以下であるという要件がある。すなわち、メモリ制御部の仕様によっては、空きブロック数がメモリ制御部での処理ができなくなるまで減ったとしてもガベージコレクションが実行されない事態が生じる。この場合、SSDが動作不良となってしまう。
従って、本発明の目的は、空きブロック数の減少による、フラッシュメモリを利用したストレージの動作不良を防止することができる情報処理装置及びその制御方法並びにプログラムを提供することにある。
本発明の請求項1に係る情報処理装置は、揮発性メモリと前記不揮発性メモリを制御するメモリ制御部とを有するストレージを制御する情報処理装置であって、前記不揮発性メモリの空きブロック数を検出する検出手段と、前記不揮発性メモリに対してデータの書き込みのみを前記メモリ制御部に実施させる第1の書き込みモード、及び前記不揮発性メモリに対してデータの書き込みを前記メモリ制御部に実施させた後にガベージコレクションを前記メモリ制御部に実施させる第2の書き込みモードの一方への切り替えを前記検出された空きブロック数に応じて前記メモリ制御部に対して指示する指示手段とを備え、前記指示手段は、前記メモリ制御部に対して前記第1及び第2の書き込みモードの一方への切り替え指示を行ってから前記不揮発性メモリに対するデータの書き込み回数が予め設定された値となった場合、前記不揮発性メモリの空きブロック数に応じて、前記メモリ制御部に対して前記第1及び第2の書き込みモードの一方への切り替え指示を再度行うことを特徴とする。
本発明によれば、空きブロック数の減少による、フラッシュメモリを利用したストレージの動作不良を防止することができる。
本発明の実施例1に係る情報処理装置としての画像形成装置が有するコントローラ部の構成を示すブロック図である。 図1におけるSSDの内部構成を示すブロック図である。 実施例1における書き込みモード切り替え処理のフローチャートである。 実施例2における書き込みモード切り替え処理のフローチャートである。 実施例3における書き込みモード切り替え処理のフローチャートである。
[実施例1]
以下、本実施例におけるメモリ制御装置を備える画像形成装置1を例に挙げ、図面を用いて説明する。但し、以下の実施例は本発明をそれらのみに限定するものではなく、また、以下の実施例に記載されている特徴の組み合わせの全てが本発明の解決に必須のものとは限らない。尚、同一の構成については、同一の符号を付して説明する。
図1は、本実施例における画像形成装置1が有するコントローラ部100の構成を示すブロック図である。
コントローラ部100は、CPU101、ROM102、RAM103、バスブリッジ104、を有し、CPU101は、オペレーティングシステム(以下、OS)に基づき制御される。CPU101は、リアルタイムクロック(以下RTC)115及びバスブリッジ104と接続されており、バスブリッジ104を介して、CPU101の初期起動用プログラムをROM102から読み出す。また、CPU101は不図示のタイマーを内蔵する。
バスブリッジ104には、CPU101及びROM102の他、RAM103、操作部インターフェース(操作部I/F)106、及びストレージ制御部112が接続されている。
RAM103は、CPU101が制御に伴う演算を行う際の作業領域として用いられる
操作部インターフェース(操作部I/F)106は、操作部に接続され、CPU101は操作部I/F106を介し操作部の制御を行う。
ストレージ制御部112は、CPU101からの指示に基づき、SSD113の電源投入を行なったり、SSD113へのプログラムの格納やデータの保存・編集を行う。
SSD113には、CPU101のOSを含むメインプログラムの他、画像データが格納される。この画像データは例えば、イメージリーダを用いて、又は、外部PCから外部I/F151を介して取得された画像データや、ユーザの操作部への操作により作成された画像データ等である。また、SSD113には、アプリケーションプログラムや、プリファレンスデータ等も格納される。プリファレンスデータは、操作部の表示、省電力モードへの移行時間等のユーザ設定に関する情報(いわゆる設定情報)と、アドレス帳等の登録情報が格納される。尚、本実施例に係る情報処理装置は画像形成装置1であるが、SSD113をストレージとして搭載するホスト装置としての機能を有する情報処理装置であれば、画像形成装置に限定されない。例えば、ビデオカメラがかかる情報処理装置であってもよい。この場合、SSD113への書き込みデータは画像データではなく映像データや音声データとなる。
また、バスブリッジ104には、外部I/F制御部105、操作部I/F106、及びデバイス制御部111が接続されている。
外部I/F制御部105は、外部インターフェース(外部I/F)151を制御する。また、外部I/F151は、ネットワークやUSBインターフェース等から構成され、ネットワークやUSB等の外部バスを介して外部PCと接続するインターフェースである。例えば、外部I/F151は、外部PCから受信した印刷データを画像データに展開して出力したり、後述するSSD113内の画像データを外部PCに送信したりする。
操作部I/F106は、操作部と接続され。その制御を司る。
デバイス制御部111は、不図示の原稿搬送装置制御部、イメージリーダ制御部、プリンタ制御部、折り装置制御部、フィニッシャ制御部と接続され、これらの制御を司る。
コントローラ部100は、操作部I/F106や外部I/F151を介して操作部や外部コンピュータ(外部PC)からの指示を受信する。また、コントローラ部100は、この受信した指示に基づき、デバイス制御部111を介して原稿搬送装置制御部やイメージリーダ制御部と通信することで入力される原稿の画像データを取得する。また、コントローラ部100は、デバイス制御部111を介してプリンタ制御部と通信することで、取得した画像データに基づき、用紙等の記録媒体に画像を形成する。さらに、コントローラ部100は、折り装置制御部やフィニッシャ制御部と通信することで、画像形成した用紙を折ったり、ステイプルやパンチといった後加工を実現する。
RTC115は、現在時刻を取得可能であり、取得した現在時刻を示すタイムスタンプをCPU101に通知する。
図2は、SSD113の内部構成を示すブロック図である。
SSD113は、フラッシュ制御部200および不揮発性メモリである複数のフラッシュメモリ203を有する。
フラッシュ制御部200は、ストレージI/F201およびメモリ制御部202を備えており、ストレージI/F201はストレージ制御部112に接続されている。つまり、ストレージI/F201はストレージ制御部112との通信するためのモジュールである。本実施例では、ストレージI/F201として、シリアルATA(Serial AT Attachment:以下SATAという)インターフェースが用いられる。
メモリ制御部202は、ストレージI/F201を介して受信したストレージ制御部112からの指示に基づいてフラッシュメモリ203に対するデータのリード/ライトを行う。
メモリ制御部202は、後述する画像形成装置1のコントローラ部100からの書き込みモードの切り替え指示に応じて第1および第2の書き込みモードの一方の書き込みモードに切り替える。その後、メモリ制御部202は、その切り替えられた書き込みモードに応じて、フラッシュメモリ203に対する処理を実施する。
第1の書き込みモードでは、メモリ制御部202は、フラッシュメモリ203のデータが保管されていないページ(以下「空きページ」という。)に書き込みデータを書き込む処理を実施する。
第2の書き込みモードでは、まず、メモリ制御部202は、フラッシュメモリ203内のデータが保管されていないブロック(以下「空きブロック」という。)に書き込みデータを書き込む処理を実施する。その後、消去対象データが含まれるブロックに存在する必要なデータのコピーを書き込みデータが保管されたブロックに行い、不要となったコピー元ブロックのデータを消去する処理(ガベージコレクション)を実施する。
尚、ブロックとは、フラッシュメモリ203内のデータを消去する単位であり、データにアクセスする単位であるページよりも大きい。
以下後述する空きブロック数等を管理するSMART情報はフラッシュメモリ203に保存される。また、ストレージ制御部112からの指示に応じて、メモリ制御部202はSMART情報をフラッシュメモリ203から取得し、ストレージI/F201を介し、ストレージ制御部112へ通知する。
図3は、本実施例における書き込みモード切り替え処理を説明するためのフローチャートである。なお、図3に示す処理は、図1に示すコントローラ部100のCPU101がストレージ制御部112を介してSSD113に対して電源投入することに応じて開始する。
ステップS301において、まず、CPU101はメモリ制御部202に対しSMART情報の提示要求を行う。この提示要求に応じてメモリ制御部202はフラッシュメモリ203内に管理されるSMART情報を取得し、CPU101に通知する。この通知により、CPUはSMART情報を取得すると、CPU101はそのSMART情報に含まれるフラッシュメモリ203の空きブロック数を検出する。
尚、SMART情報にはフラッシュメモリの空きブロック数の他に、ディスクの概要(メーカ、型版、シリアル番号等)、ディスク状態(温度、不良セクタ数、作業時間等)等が登録されている。
ステップS302において、CPU101はステップS301で検出したフラッシュメモリ203の空きブロック数が予め設定された空きブロック数の閾値A(以下単に閾値Aという)を下回ったかを判定する。この判定の結果、フラッシュメモリ203の空きブロック数が閾値Aを下回った場合(ステップS302でYES)、ステップS303へ進む。一方、この判定の結果、フラッシュメモリ203の空きブロック数が閾値A以上である場合(ステップS302でNO)、ステップS304へ進む。尚、閾値Aはメモリ制御部202の動作不良が発生する値より大きい値が設定される。
ステップS303において、CPU101は書き込みモードを第2の書き込みモードへ切り替えるよう、メモリ制御部202に指示する。またこの指示と並行してCPU101は、RTC115に現在時刻を示すタイムスタンプの提示要求を行う。
ステップS304において、CPU101は書き込みモードを第1の書き込みモードへ切り替えるよう、メモリ制御部202に指示する。またこの指示と並行してCPU101は、RTC115に現在時刻を示すタイムスタンプの提示要求を行う。
ステップS305において、CPU101は、ステップS303もしくはステップS304の提示要求に応じてRTC115から提示されたタイムスタンプを確認し、タイマーで時間の計測を開始する。
ステップS306において、CPU101はタイマーで計測された時間が予め設定された時間Bを経過したかを判定する。この判定の結果、時間Bを経過した場合(ステップS306でYES)、時間B内にステップS303,S304の一方の指示で切り替えられた書き込みモードでの処理がメモリ制御部202において実施された判断し、タイマーをリセットする。その後、ステップS303,S304の一方の指示を再度行うべくステップS301へ戻る。一方、この判定の結果、時間Bをまだ経過していない場合(ステップS306でNO)、ステップS307へ進む。
ステップS307において、CPU101は画像形成装置1が省電力モードに移行したか判定する。この判定の結果、画像形成装置1が省電力モードに移行した場合(ステップS307でYES)、CPU101はSSD113への電源を遮断し、本処理を終了する。一方、この判定の結果、画像形成装置1が省電力モードに移行していない場合(ステップS307でNO)、ステップS306へ戻る。尚、ステップS307では、画像形成装置1がSSD113への電源が遮断される状態に移行するかが判定されればよい。例えば、ステップS307で画像形成装置1がシャットダウンされるかを判定するようにしてもよい。
以上実施例1によれば、CPU101は、まず、フラッシュメモリ203の空きブロック数が閾値Aを下回ったと判定した場合、データの書き込み後にガベージコレクションを行う第2の書き込みモードへの切り替え指示をメモリ制御部202に行う。これにより、適切なタイミングにて消去対象データがフラッシュメモリ203から消去されるため、空きブロック数の減少によるSSD113の動作不良を防止することができる。
更にCPU101は、上記切り替え指示後、時間Bが経過した後に、再度上記判定を行う。この判定の結果、フラッシュメモリ203の空きブロック数が閾値Aを下回っていないと判定した場合、第2の書き込みモードからガベージコレクションは行わずデータの書き込みのみを行う第1の書き込みモードへの切り替え指示をメモリ制御部202に行う。これにより、第2の書き込みモードでの処理において実行されるガベージコレクションによるSSD113のパフォーマンス低下を抑制することが可能となる。
[実施例2]
次に、実施例2について説明する。尚、本実施例において、実施例1と同一の構成及びステップについては同一の符号を付し、重複した説明は省略する。
図4は、本実施例における書き込みモード切り替え処理を説明するためのフローチャートである。なお、図4に示す処理は、図3と同様、図1に示すコントローラ部100のCPU101がストレージ制御部112を介してSSD113に対して電源投入することに応じて開始する。
まず、本処理が開始すると、ステップS301~ステップS304と同じ処理が実行される。但し、ステップS303,S304においてCPU101は、RTC115に現在時刻を示すタイムスタンプの提示要求は行わない。
次に、ステップS401において、CPU101はステップS303もしくはステップS304での書き込みモードの切り替えが完了した後、SSD113へのデータの書き込み回数をカウントする。
ステップS402において、CPU101はカウントされた書き込み回数が予め設定された値Cとなったかを判断する。この判定の結果、カウントされた書き込み回数が値Cとなった場合(ステップS402でYES)、カウントされた書き込み回数をリセットした後に、ステップS301へ戻る。一方、この判定の結果、カウントされた書き込み回数が値Cとなっていない場合(ステップS402でNO)、ステップS307へ進む。
ステップS307は図3と同じ処理が実行される。
以上実施例2によれば、CPU101は、第2の書き込みモードへの切り替え指示をメモリ制御部202に行った後、SSD113へのデータの書き込み回数が値Cとなったと判定した場合、第1の書き込みモードへの切り替え指示をメモリ制御部202に行う。これにより、第2の書き込みモードにおいて実行されるガベージコレクションによるSSD113のパフォーマンス低下を抑制することが可能となる。
[実施例3]
次に、実施例3について説明する。尚、本実施例において、実施例1と同一の構成及びステップについては同一の符号を付し、重複した説明は省略する。
図5は、本実施例における書き込みモード切り替え処理を説明するためのフローチャートである。
まず、ステップS501において、図1に示すコントローラ部100のCPU101は、操作部に対してSSD113へのデータ書き込みのユーザ指示があったか判定する。この判定の結果、データ書き込みのユーザ指示があった場合、図1のステップS301~S304と同じ処理が実行された後、本処理を終了する。但し、ステップS303,S304においてCPU101は、RTC115に現在時刻を示すタイムスタンプの提示要求は行わない。
以上実施例3によれば、SSD113へのデータ書き込みのユーザ指示がある毎に、フラッシュメモリ203の空きブロック数が閾値Aを下回ったか否かを判定する。この判定の結果、フラッシュメモリ203の空きブロック数が閾値Aを下回った場合、データの書き込み後にガベージコレクションを行う第2の書き込みモードへの切り替える指示をメモリ制御部202に対して行う。一方、この判定の結果、フラッシュメモリ203の空きブロック数が閾値Aを下回っていないと判定した場合、ガベージコレクションは行わずデータの書き込みのみを行う第1の書き込みモードへの切り替え指示をメモリ制御部202に行う。これにより、適切なタイミングで消去対象データがフラッシュメモリ203から消去されるため、空きブロック数の減少によるSSD113の動作不良を防止することができる。
尚、実施例1~3では、本発明における空きブロック数の減少によるSSD113の動作不良を防止する方法を説明したが、これに限定されない。例えば、フラッシュメモリを利用した他のストレージ、例えばeMMCに対しても実施例1~3で説明した方法を適用することができる。
[その他の実施例]
本発明の目的は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、装置に供給することによっても、達成されることは言うまでもない。このとき、供給された装置の制御部を含むコンピュータ(またはCPUやMPU)は、記憶媒体に格納されたプログラムコードを読み出し実行する。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、上述のプログラムコードの指示に基づき、装置上で稼動しているOS(基本システムやオペレーティングシステム)などが処理の一部又は全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、装置に挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれ、前述した実施例の機能が実現される場合も含まれることは言うまでもない。このとき、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行う。
1 画像形成装置
100 コントローラ部
101 CPU
106 操作部I/F
112 ストレージ制御部
113 SSD
115 RTC
200 フラッシュ制御部
202 メモリ制御部
203 フラッシュメモリ

Claims (7)

  1. 不揮発性メモリと前記不揮発性メモリを制御するメモリ制御部とを有するストレージを制御する情報処理装置であって、
    前記不揮発性メモリの空きブロック数を検出する検出手段と、
    前記不揮発性メモリに対してデータの書き込みのみを前記メモリ制御部に実施させる第1の書き込みモード、及び前記不揮発性メモリに対してデータの書き込みを前記メモリ制御部に実施させた後にガベージコレクションを前記メモリ制御部に実施させる第2の書き込みモードの一方への切り替えを前記検出された空きブロック数に応じて前記メモリ制御部に対して指示する指示手段とを備え、
    前記指示手段は、前記メモリ制御部に対して前記第1及び第2の書き込みモードの一方への切り替え指示を行ってから前記不揮発性メモリに対するデータの書き込み回数が予め設定された値となった場合、前記不揮発性メモリの空きブロック数に応じて、前記メモリ制御部に対して前記第1及び第2の書き込みモードの一方への切り替え指示を再度行うことを特徴とする情報処理装置。
  2. 前記指示手段は、前記不揮発性メモリの空きブロック数が閾値を下回った場合、前記メモリ制御部に対して前記第2の書き込みモードへの切り替え指示を行うことを特徴とする請求項1記載の情報処理装置。
  3. 前記指示手段は、前記不揮発性メモリの空きブロック数が閾値を下回っていない場合、前記メモリ制御部に対して前記第1の書き込みモードへの切り替え指示を行うことを特徴とする請求項1記載の情報処理装置。
  4. 前記指示手段は、前記ストレージに対して電源投入がされたときに、前記不揮発性メモリの空きブロック数に応じて、前記メモリ制御部に対して前記第1及び第2の書き込みモードの一方への切り替え指示を行うことを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記検出手段は、前記空きブロック数の情報を前記メモリ制御部を介して前記不揮発性メモリから取得することを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  6. 不揮発性メモリと前記不揮発性メモリを制御するメモリ制御部とを有するストレージを制御する情報処理装置の制御方法であって、
    前記不揮発性メモリの空きブロック数を検出する検出ステップと、
    前記不揮発性メモリに対してデータの書き込みのみを前記メモリ制御部に実施させる第1の書き込みモード、及び前記不揮発性メモリに対してデータの書き込みを前記メモリ制御部に実施させた後にガベージコレクションを前記メモリ制御部に実施させる第2の書き込みモードの一方への切り替えを前記検出された空きブロック数に応じて前記メモリ制御部に対して指示する指示ステップとを有し、
    前記指示ステップにおいて、前記メモリ制御部に対して前記第1及び第2の書き込みモードの一方への切り替え指示が行われてから、前記不揮発性メモリに対するデータの書き込み回数が予め設定された値となった場合、前記不揮発性メモリの空きブロック数に応じて、前記メモリ制御部に対して前記第1及び第2の書き込みモードの一方への切り替え指示を再度行うことを特徴とする制御方法。
  7. コンピュータを、請求項1乃至のいずれか1項に記載された情報処理装置の各手段として機能させるためのプログラム。
JP2019078722A 2019-04-17 2019-04-17 情報処理装置及びその制御方法並びにプログラム Active JP7401193B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019078722A JP7401193B2 (ja) 2019-04-17 2019-04-17 情報処理装置及びその制御方法並びにプログラム
US16/839,482 US11321001B2 (en) 2019-04-17 2020-04-03 Information processing apparatus equipped with storage using flash memory, control method therefor, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019078722A JP7401193B2 (ja) 2019-04-17 2019-04-17 情報処理装置及びその制御方法並びにプログラム

Publications (2)

Publication Number Publication Date
JP2020177415A JP2020177415A (ja) 2020-10-29
JP7401193B2 true JP7401193B2 (ja) 2023-12-19

Family

ID=72832482

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019078722A Active JP7401193B2 (ja) 2019-04-17 2019-04-17 情報処理装置及びその制御方法並びにプログラム

Country Status (2)

Country Link
US (1) US11321001B2 (ja)
JP (1) JP7401193B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200091679A (ko) * 2019-01-23 2020-07-31 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
KR20220103340A (ko) * 2021-01-15 2022-07-22 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012501027A (ja) 2008-08-26 2012-01-12 サンディスク アイエル リミテッド 多性能モードメモリシステム
JP2016177822A (ja) 2016-04-28 2016-10-06 株式会社東芝 メモリシステム
JP2018032105A (ja) 2016-08-22 2018-03-01 富士通株式会社 ストレージシステム、ストレージ制御装置及びデータ格納方法
US20180275915A1 (en) 2017-03-22 2018-09-27 Silicon Motion, Inc. Methods for regular and garbage-collection data access and apparatuses using the same
JP2019057193A (ja) 2017-09-22 2019-04-11 東芝メモリ株式会社 メモリシステム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06222985A (ja) * 1993-01-26 1994-08-12 Oki Electric Ind Co Ltd メモリ制御装置
JP2007193883A (ja) 2006-01-18 2007-08-02 Sony Corp データ記録装置及び方法、及びデータ再生装置及び方法、並びにデータ記録再生装置及び方法
US9268487B2 (en) * 2014-03-24 2016-02-23 Western Digital Technologies, Inc. Method and apparatus for restricting writes to solid state memory when an end-of life condition is reached
JP6697410B2 (ja) 2017-03-21 2020-05-20 キオクシア株式会社 メモリシステムおよび制御方法
US10380018B2 (en) * 2017-04-04 2019-08-13 Micron Technology, Inc. Garbage collection
US11200113B2 (en) * 2020-01-14 2021-12-14 Intel Corporation Auto-increment write count for nonvolatile memory

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012501027A (ja) 2008-08-26 2012-01-12 サンディスク アイエル リミテッド 多性能モードメモリシステム
JP2016177822A (ja) 2016-04-28 2016-10-06 株式会社東芝 メモリシステム
JP2018032105A (ja) 2016-08-22 2018-03-01 富士通株式会社 ストレージシステム、ストレージ制御装置及びデータ格納方法
US20180275915A1 (en) 2017-03-22 2018-09-27 Silicon Motion, Inc. Methods for regular and garbage-collection data access and apparatuses using the same
JP2019057193A (ja) 2017-09-22 2019-04-11 東芝メモリ株式会社 メモリシステム

Also Published As

Publication number Publication date
US11321001B2 (en) 2022-05-03
US20200333967A1 (en) 2020-10-22
JP2020177415A (ja) 2020-10-29

Similar Documents

Publication Publication Date Title
US10776153B2 (en) Information processing device and system capable of preventing loss of user data
TWI385669B (zh) 用於快閃記憶體的平均磨損方法、儲存系統與控制器
JP4472010B2 (ja) 記憶装置
US8397017B2 (en) Controller and data storage device
JP4164118B1 (ja) フラッシュメモリを用いた記憶装置
JP5409159B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
JP2015064860A (ja) 画像形成装置およびその制御方法、並びにプログラム
US8266611B2 (en) Hard disk drive with disk embedded DOS boot image and firmware download method
US11194481B2 (en) Information processing apparatus and method for controlling information processing apparatus
JP2010211734A (ja) 不揮発性メモリを用いた記憶装置
JP5917163B2 (ja) 情報処理装置、その制御方法及びプログラム並びに記憶媒体
CN101796495A (zh) 存储器设备和文件系统
JP7401193B2 (ja) 情報処理装置及びその制御方法並びにプログラム
JP5141278B2 (ja) ディスクアレイシステム,ディスクアレイ制御方法及びディスクアレイ制御用プログラム
JP2012240397A (ja) 印刷装置及びその制御方法
US9442843B2 (en) Information processing apparatus, method of controlling the same, and storage medium
US9948809B2 (en) Image forming apparatus, memory management method for image forming apparatus, and program, using discretely arranged blocks in prioritizing information
JP2008059007A (ja) 半導体記憶装置
JP2019199059A (ja) 画像形成装置、画像形成装置の制御方法及びプログラム
JP2015069241A (ja) 画像処理装置、制御装置、それらの制御方法、及びプログラム
US20100037004A1 (en) Storage system for backup data of flash memory and method for the same
JP2010513993A (ja) 情報処理装置および不揮発性半導体メモリドライブ
EP4386517A1 (en) Method for storing data in storage device and storage device
JP2003308242A (ja) 半導体記憶装置及びその制御方法
KR20120017832A (ko) 반도체 저장 장치 및 상기 반도체 저장 장치의 성능 조절 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220330

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231005

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231207

R151 Written notification of patent or utility model registration

Ref document number: 7401193

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151