JP2020071632A - 情報処理装置、制御方法、及びプログラム - Google Patents
情報処理装置、制御方法、及びプログラム Download PDFInfo
- Publication number
- JP2020071632A JP2020071632A JP2018204789A JP2018204789A JP2020071632A JP 2020071632 A JP2020071632 A JP 2020071632A JP 2018204789 A JP2018204789 A JP 2018204789A JP 2018204789 A JP2018204789 A JP 2018204789A JP 2020071632 A JP2020071632 A JP 2020071632A
- Authority
- JP
- Japan
- Prior art keywords
- data
- processing
- control unit
- state
- written
- 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.)
- Pending
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 76
- 238000000034 method Methods 0.000 title claims description 118
- 238000012545 processing Methods 0.000 claims abstract description 174
- 230000008569 process Effects 0.000 claims description 109
- 230000007704 transition Effects 0.000 claims description 39
- 238000012360 testing method Methods 0.000 claims description 4
- 238000013500 data storage Methods 0.000 abstract description 167
- 238000012805 post-processing Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 12
- 238000007726 management method Methods 0.000 description 12
- 230000004913 activation Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000003825 pressing Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【課題】不揮発性メモリへのデータ保存処理を適切に制御すること。【解決手段】情報処理装置は、所定のプログラムに基づいて処理を実行するとともに、該処理を実行するために必要なデータを不揮発性メモリ内の特定のデータ領域に書き込む処理部と、処理部による処理に基づいて表示部に表示する表示情報を出力する表示制御部と、処理部による処理が実行中の第1の状態から少なくとも表示制御部が表示情報を出力しない第2の状態に遷移したことに基づいて、特定のデータ領域に書き込まれているデータのうち少なくとも処理に不要な無効データを消去するメモリ制御部と、を備える。【選択図】図1
Description
本発明は、情報処理装置、制御方法、及びプログラムに関する。
コンピュータシステムにおいて、SPI(Serial Peripheral Interface) Flashメモリなどの不揮発性メモリをデータの保存先として利用するものがある。FlashメモリのBIOS(Basic Input Output System)領域には、BIOSのコードが保存される領域と、データが保存されるデータ保存領域(Variable領域)とがある。このデータ保存領域には、BIOSによるブート時のPOST(Power On Self Test)処理に必要なBIOS設定情報などが保存されるだけでなく、POST処理後もOS(Operating System)などのソフトウェアプログラムによって各種のデータが読み書きされる。
ここで、上記のデータ保存領域は、Flashメモリ内の予め設定された特定のデータ領域であり、有限の領域である。同じデータの更新は、前回書き込んだデータを無効にし、新たな領域にデータ(有効なデータ)を書き込むことにより行われる。そのため、データが更新されるたびに、データ保存領域に書き込まれているデータ量が多くなり、空き容量が減少する。データ保存領域の空き容量が不足すると、実行中の処理が正常に続けられなくなり、例えばブルー画面にエラー情報が表示されるBSOD(Blue Screen of Death)となることがある。そこで、データ保存領域に書き込まれているデータを消去し各データの最新データのみに整理するガベージコレクション処理を行うことで、Flashメモリ内のデータ保存領域の空き容量を増やす技術が開示されている(例えば、特許文献1参照)。
しかしながら、近年、コンピュータで行われる処理の高機能化などにより、ガベージコレクション処理にかかる時間が長くなってきている。ガベージコレクション処理は、SMI(System Management Interrupt)で実行されるため、CPU(Central Processing Unit)を占有してしまい他の処理を実行できなくなる。そのため、通常動作状態ではガベージコレクション処理を実行せず、他の処理を一時的に実行できなくても影響の少ないPOST処理においてのみガベージコレクション処理を実行するようになってきている。
ところが、コンピュータを使用しないときにシャットダウンを行わないでスタンバイ(又はスリープ)モードに入れるだけで再び使用する利用方法が一般的になってきている。この利用方法では、シャットダウンされる頻度が低いため、POST処理が実行される機会が少なくなり、ガベージコレクション処理が実行される機会が少なくなる。シャットダウンされないままの状態で継続的にコンピュータが使用されると、いずれデータ保存領域の空き容量が不足し、データの読み込みはできるが、データの更新や新規データの書き込みができなくなる。このように、Flashメモリへのデータ保存処理を行えなくなる懸念があった。
本発明は、上記した事情に鑑みてなされたもので、不揮発性メモリへのデータ保存処理を適切に制御することができる情報処理装置、制御方法、及びプログラムを提供することを目的の一つとする。
本発明は上記の課題を解決するためになされたものであり、本発明の第1態様に係る情報処理装置は、所定のプログラムに基づいて処理を実行するとともに、該処理を実行するために必要なデータを不揮発性メモリ内の特定のデータ領域に書き込む処理部と、前記処理部による前記処理に基づいて表示部に表示する表示情報を出力する表示制御部と、前記処理部による前記処理が実行中の第1の状態から少なくとも前記表示制御部が表示情報を出力しない第2の状態に遷移したことに基づいて、前記特定のデータ領域に書き込まれているデータのうち少なくとも前記処理に不要な無効データを消去するメモリ制御部と、を備える。
上記情報処理装置において、前記メモリ制御部は、前記特定のデータ領域へのデータの書き込み状態と前記第1の状態から前記第2の状態に遷移したことに基づいて、前記特定のデータ領域に書き込まれているデータのうち少なくとも前記処理に不要な無効データを消去してもよい。
上記情報処理装置において、前記メモリ制御部は、前記特定のデータ領域に書き込まれたデータ量が第1の閾値以上であると判定した場合、前記第1の状態から前記第2の状態に遷移したことに基づいて、前記特定のデータ領域に書き込まれているデータのうち少なくとも前記処理に不要な無効データを消去してもよい。
上記情報処理装置において、前記メモリ制御部は、前記特定のデータ領域に書き込まれたデータ量が第1の閾値以上であると判定した場合、該判定に基づいて通知するための表示情報を前記表示制御部に出力させてもよい。
上記情報処理装置において、前記処理部は、前記情報処理装置を起動させる際に、BIOS(Basic Input Output System)設定情報に基づいてPOST(Power On Self Test)処理を実行し、前記メモリ制御部は、前記特定のデータ領域に書き込まれたデータ量が第2の閾値以上であると判定した場合、前記POST処理の開始から終了までの間の所定のタイミングで、前記特定のデータ領域に書き込まれているデータのうち前記処理に不要な無効データを消去してもよい。
上記情報処理装置において、前記第1の閾値は、前記第2の閾値より大きい値に設定されてもよい。
上記情報処理装置において、前記メモリ制御部は、前記無効データを消去する場合、前記特定のデータ領域に書き込まれているデータのうち前記処理に必要な有効データを前記特定のデータ領域以外のデータ領域に保存してから前記特定のデータ領域に書き込まれているデータを消去し、消去後に前記特定のデータ領域内の所定の位置に前記有効データを書き込んでもよい。
上記情報処理装置において、前記メモリ制御部は、前記第2の状態に遷移したことに応じた所定のタイミングで、前記無効データを消去してもよい。
上記情報処理装置において、前記メモリ制御部は、前記第2の状態に遷移した後、前記第2の状態から前記第1の状態に復帰するタイミングに応じて、前記第1の状態に復帰する前に前記無効データを消去してもよい。
上記情報処理装置において、前記処理部は、前記処理を実行するために必要なデータを、前記特定のデータ領域と揮発性メモリ内の所定の領域とに書き込み、前記メモリ制御部は、前記第1の状態から前記第2の状態に遷移したことに基づいて、前記特定のデータ領域に書き込まれているデータを消去し、該消去した後に、前記揮発性メモリ内の所定の領域に書き込まれているデータのうち前記処理を実行するために必要なデータを、前記特定のデータ領域に書き込んでもよい。
上記情報処理装置において、前記処理部は、前記特定のデータ領域へのデータの書き込み状態に基づいて、前記処理を実行するために必要なデータの書き込み先を、前記特定のデータ領域と前記揮発性メモリ内の所定の領域とのいずれかに切り替えてもよい。
上記情報処理装置において、前記処理部は、前記特定のデータ領域に書き込まれたデータ量が第1の閾値未満である場合には前記処理を実行するために必要なデータを前記特定のデータ領域に書き込み、前記特定のデータ領域に書き込まれたデータ量が前記第1の閾値以上である場合には前記揮発性メモリ内の所定の領域に書き込んでもよい。
上記情報処理装置において、前記メモリ制御部は、前記特定のデータ領域に書き込まれたデータ量が前記第1の閾値以上であると判定した場合、前記特定のデータ領域に書き込まれたデータの少なくとも一部を読み出して前記揮発性メモリ内の所定の領域に書き込んでもよい。
また、本発明の第2態様に係る情報処理装置の制御方法は、処理部が、所定のプログラムに基づいて処理を実行するとともに、該処理を実行するために必要なデータを不揮発性メモリ内の特定のデータ領域に書き込むステップと、表示制御部が、前記処理部による前記処理に基づいて表示部に表示する表示情報を出力するステップと、メモリ制御部が、前記処理部による前記処理が実行中の第1の状態から少なくとも前記表示制御部が表示情報を出力しない第2の状態に遷移したことに基づいて、前記特定のデータ領域に書き込まれているデータのうち少なくとも前記処理に不要な無効データを消去するステップと、を有する。
また、本発明の第3態様に係るプログラムは、情報処理装置としてのコンピュータに、所定のプログラムに基づいて処理を実行するとともに、該処理を実行するために必要なデータを不揮発性メモリ内の特定のデータ領域に書き込むステップと、前記処理が実行中の第1の状態において、前記処理に基づいて表示部に表示する表示情報を出力するステップと、第2の状態において、少なくとも前記表示情報を出力しないように制御するステップと、前記第1の状態から前記第2の状態に遷移したことに基づいて、前記特定のデータ領域に書き込まれているデータのうち少なくとも前記処理に不要な無効データを消去するステップと、を実行させる。
本発明の上記態様によれば、不揮発性メモリへのデータ保存処理を適切に制御することができる。
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
[第1の実施形態]
(情報処理装置10の構成)
まず、本発明の第1の実施形態について説明する。
図1は、本実施形態に係る情報処理装置10の構成例を示すブロック図である。情報処理装置10は、例えば、パーソナルコンピュータである。情報処理装置10は、デスクトップ型、ラップトップ型、タブレット型等いずれのパーソナルコンピュータであってもよい。例えば、情報処理装置10は、通信部11と、入力部12と、表示部13と、スピーカ14と、制御部15と、RAM(Random Access Memory)16と、Flashメモリ17とを備えている。これらの各部は、バスを介して通信可能に接続されている。
(情報処理装置10の構成)
まず、本発明の第1の実施形態について説明する。
図1は、本実施形態に係る情報処理装置10の構成例を示すブロック図である。情報処理装置10は、例えば、パーソナルコンピュータである。情報処理装置10は、デスクトップ型、ラップトップ型、タブレット型等いずれのパーソナルコンピュータであってもよい。例えば、情報処理装置10は、通信部11と、入力部12と、表示部13と、スピーカ14と、制御部15と、RAM(Random Access Memory)16と、Flashメモリ17とを備えている。これらの各部は、バスを介して通信可能に接続されている。
通信部11は、例えば、複数のイーサネット(登録商標)ポートや複数のUSB等のデジタル入出力ポート、WiFi(登録商標)等の無線通信等を含んで構成される。
入力部12は、パーソナルコンピュータ100に設けられたキーボードやタッチパッドに対するユーザの操作入力が入力される。入力部12は、入力された操作入力に基づく入力信号を出力する。なお、入力部12は、表示部13の表示画面に対する操作を検出するタッチパネルとして表示部13と一体に構成されてもよい。また、USB(Universal Serial Bus)などにより接続されるキーボードやマウスなど、外付けの操作デバイスに対するユーザの操作入力が入力されてもよい。
表示部13は、映像、画像、テキスト等を表示するディスプレイであり、例えば、液晶ディスプレイパネル、有機ELディスプレイパネルなどを含んで構成される。スピーカ14は、電子音や音声などを出力する。
制御部15は、CPU(Central Processing Unit)などを含んで構成される。制御部15は、BIOS(Basic Input Output System)、OS(Operating System)、または各種のアプリケーションなどのプログラムを実行することにより、各種の演算や処理などを行う。また、制御部15は、RAM16、Flashメモリ17などに対してデータの読み書きや消去などのメモリ制御を行う。
RAM16は、制御部15が演算や制御、処理などを行うプログラムやデータが展開され、適宜、各種データの保存または消去が行われる。なお、RAM16は、揮発性メモリであるため、給電が停止されるとデータを保持できない。
Flashメモリ17は、Flash−ROM(Resad Only Memory)などの不揮発性メモリである。つまり、Flashメモリ17は、給電が停止されでもデータを保持できる。例えば、Flashメモリ17は、SPI(Serial Peripheral Interface) Flashメモリである。例えば、Flashメモリ17は、BIOSのコードを保存する領域や、制御部15が実行する処理に必要なデータを保存するデータ領域(以下、「データ保存領域」)など、複数の領域に区分されている。
データ保存領域には、BIOSによるブート時のPOST(Power On Self Test)処理に必要なBIOS設定情報などが保存されるだけでなく、POST処理後もOSなどのソフトウェアプログラムによって各種のデータが読み書きされる。同じデータの更新は、前回書き込んだデータを無効にし、新たな領域(データ保存領域内のまだ書き込みされていない領域)にデータを書き込むことにより行われる。そのため、データが更新されるたびに無効データが多くなるので、データ保存領域に書き込まれているデータ量が多くなり、空き容量が減少する。そのため、制御部15は、所定のタイミングで、ガベージコレクションを実行する。
(ガベージコレクションの概要)
ここで、図2を参照して、ガベージコレクションの処理について説明する。図2は、ガベージコレクションの概要を示す概念図である。図2の(a)〜(f)に示す図は、データ保存領域に書き込まれるデータの状態を時系列に表している。Flashメモリ17は、データの読み出し及び書き込みがページ単位で行われ、データの消去が複数のページをまとめたブロック単位で行われる。例えば、1ブロック64ページなどで構成されるが、ここでは、簡易的に1ブロック15ページとしてデータ保存領域を表している。以下、(a)〜(f)に示す図の順に従って説明する。
ここで、図2を参照して、ガベージコレクションの処理について説明する。図2は、ガベージコレクションの概要を示す概念図である。図2の(a)〜(f)に示す図は、データ保存領域に書き込まれるデータの状態を時系列に表している。Flashメモリ17は、データの読み出し及び書き込みがページ単位で行われ、データの消去が複数のページをまとめたブロック単位で行われる。例えば、1ブロック64ページなどで構成されるが、ここでは、簡易的に1ブロック15ページとしてデータ保存領域を表している。以下、(a)〜(f)に示す図の順に従って説明する。
(a)データ保存領域に何もデータが書き込まれていない状態(消去された状態)で、制御部15は、A及びBのデータとして「A=1」及び「B=2」をデータ保存領域に書き込む。書き込んだ最新のデータを有効データとも称する。これにより、15ページ中2ページ分の領域にデータが書き込まれている状態となる。
(b)次に、制御部15は、A及びBのデータを「A=2」及び「B=0」に更新し、且つ新たにCのデータとして「C=5」をデータ保存領域に書き込む場合、前回書き込んだ「A=1」及び「B=2」を無効データとし、新たな領域(ページ)に「A=2」及び「B=0」、そして「C=5」を書き込む。つまり、「A=2」、「B=0」、及び「C=5」が有効データとなる。制御部15は、各データを読み出す場合には、無効データは読み出さず有効データを読み出すことになる。これにより、15ページ中5ページ分の領域にデータが書き込まれている状態となる。
(c)さらに、制御部15は、A及びCのデータを「A=0」及び「C=3」に更新する場合、前回書き込んだ「A=2」及び「C=5」を無効データとし、新たな領域(ページ)に「A=0」及び「C=3」を書き込む。つまり、「A=0」、「B=0」、及び「C=3」が有効データとなる。これにより、15ページ中7ページ分の領域にデータが書き込まれている状態となる。
(d)データの書き込み(更新)を繰り返すと、ブロック内の無効データが増え、書き込み済みの領域が増加する。これにより、新たに書き込める領域(ページ)が少なくなり、空き容量が減少する。図示する例では、有効データは3ページ分であるが無効データが9ページ分あり、15ページ中12ページ分の領域にデータが書き込まれている状態となっている。この状態では、新たに書き込める領域は3ページ分しかなく、ほぼ容量いっぱい(Almost Full)に書き込まれている状態と判定される。このように、データ保存領域がいっぱいになりそうな場合(空き容量が不足しそうな場合)、制御部15は、ガベージコレクションを実行する。なお、このガベージコレクションを実行する状態は、例えば、書き込まれているデータ量が所定の閾値以上であるか否かによって判定される。
(e)ガベージコレクションの処理では、まず、制御部15は、データ保存領域に書き込まれているデータのうちの有効データ(「A=0」、「C=3」、「B=2」)を、Flashメモリ17のデータ保存領域以外の所定のデータ領域に書き込むことにより移動させてから、データ保存領域に対して消去を行う。これにより、15ページすべての領域にデータが書き込まれていない状態(すなわち、データの書き込みが可能な状態)となる。
(f)次に、ガベージコレクションの処理では、制御部15は、他の領域に移動させておいた有効データ(「A=0」、「C=3」、「B=2」)を、データ保存領域に書き戻す。有効データを書き戻す際のデータ保存領域は、全ページが書き込まれていない空き領域の状態となっているため、空き領域(全領域)の端のページから詰めて有効データを書き込む。つまり、制御部15は、ガベージコレクションを実行することにより、(d)に示すデータ保存領域に書き込まれているデータのうち無効データを消去し、且つ有効データを端に移動させることで、まとまった空き領域(書き込み可能な領域)を確保する。
これにより、データ保存領域に空き領域が確保され、引き続きデータの書き込み(更新)が可能になる。ここで、ガベージコレクションの処理は、SMI(System Management Interrupt)で実行されるため、CPUを占有してしまい他の処理を実行できなくなる。そのため、通常動作状態(例えば、ACPI(Advanced Configuration and Power Interface)で規定されているS0状態)のときにガベージコレクションを実行してしまうと、実行中のアプリケーションが一時的に停止してしまうため好ましくない。
そこで、本実施形態では、他の処理が一時的に行えなくても影響の少ないPOST処理のタイミングでガベージコレクションを実行するとともに、それに加えて、通常動作状態からスタンバイに遷移した場合にガベージコレクションを実行する。ここで、本実施形態におけるスタンバイとは、通常動作状態よりも消費電力が低く、少なくとも表示情報を出力しない状態(即ち、画面OFFの状態)であり、迅速に通常動作状態に復帰可能な動作状態のことである。例えば、スタンバイは、画面OFF以外の動作が通常動作状態と同じであってもよいし、画面OFFに加えて少なくとも一部のハードウェアが通常動作状態より低消費電力で動作する状態であってもよいし、メモリ関連以外への給電が停止される状態であってもよい。具体的には、スタンバイは、例えば、Windows(登録商標)におけるモダンスタンバイである。また、スタンバイは、例えば、ACPIで規定されているS3(スリープ)状態であってもよいが、通常動作状態への復帰時にPOST処理(ブート処理)を行うS4状態やS5状態は含まなくてもよい。
(制御部15の構成)
以下、本実施形態において、POST処理とスタンバイとにおいてガベージコレクションを実行する制御部15の構成について詳細に説明する。
図1に戻り、制御部15は、処理部151と、表示制御部152と、電源管理部153と、メモリ制御部154とを備えている。
以下、本実施形態において、POST処理とスタンバイとにおいてガベージコレクションを実行する制御部15の構成について詳細に説明する。
図1に戻り、制御部15は、処理部151と、表示制御部152と、電源管理部153と、メモリ制御部154とを備えている。
処理部151は、BIOS、OS、OS上で動作するアプリケーションなどのプログラムに基づいて各種の演算や処理を実行する。処理部151は、各処理に応じた表示情報を表示部13に表示する際には、その旨を表示制御部152へ指示する。また、処理部151は、消去及び書き込みが可能なFlashメモリ17内のデータ保存領域に、上記の各処理の実行中に、各処理を実行するために必要なデータを書き込む。ここで、処理部151は、図2の(a)〜(d)を参照して説明したように、データ保存領域にデータを書き込む場合には、以前のデータを無効にし、新たに領域にデータを書き込む。また、処理部151は、電源管理部153からの指示に応じて、情報処理装置10の起動やシャットダウン、及びスタンバイへの遷移、スタンバイからの復帰などに伴う処理(BIOSによるPOST処理、OSの起動またはシャットダウン処理、動作状態をスタンバイにする処理またはスタンバイから復帰させる処理など)を実行する。
表示制御部152は、処理部151からの指示に基づいて表示部13に表示する各種の表示情報を出力する制御を行う。例えば、表示制御部152は、処理部151による処理に基づいて表示部13に表示する表示情報を出力する。また、表示制御部152は、処理部151からの指示に基づいて、表示情報の出力のON/OFF(即ち、画面のON/OFF)を制御する。なお、表示部13がバックライトを用いた液晶ディスプレイパネルを含んで構成されている場合、表示情報の出力のON/OFFの制御にはバックライトのON/OFFの制御も含まれる。
電源管理部153は、情報処理装置10の起動やシャットダウン、及びスタンバイへの遷移、スタンバイからの復帰などを制御する。例えば、電源OFFの状態で電源ボタンに対する操作入力が入力部12に入力されると、電源管理部153は、起動の指示を処理部151へ受け渡す。また、通常動作状態でシャットダウンを選択する操作入力が入力部12に入力されると、電源管理部153は、シャットダウンの指示を処理部151へ受け渡す。また、通常動作状態からスタンバイに遷移させる操作入力(例えば、電源ボタンを押下する操作入力またはスタンバイを選択する操作入力)が入力部12に入力されると、電源管理部153は、スタンバイへ遷移させる指示を処理部151へ受け渡す。なお、操作入力が一定時間ないことを条件にスタンバイへ遷移させる設定がなされている場合、電源管理部153は、当該条件が満たされたことに応じて、スタンバイへ遷移させる指示を処理部151へ受け渡してもよい。また、スタンバイの状態でスタンバイを解除する操作入力(例えば、電源ボタンを押下する操作入力)が入力部12に入力されると、電源管理部153は、スタンバイから通常動作状態へ復帰させる指示(スタンバイを解除する指示)を処理部151へ受け渡す。
メモリ制御部154は、Flashメモリ17のデータ保存領域に対してガベージコレクションを実行する。ガベージコレクションとは、上述したように、データ保存領域に書き込まれているデータのうち処理に不要な無効データを消去する処理である。具体的には、図2を参照して説明したように、メモリ制御部154は、データ保存領域に書き込まれているデータのうち処理に必要な有効データをデータ保存領域以外のデータ領域に保存してからデータ保存領域のすべてを消去し、消去後にデータ保存領域内の所定の位置に有効データを書き込む(書き戻す)。
例えば、メモリ制御部154は、データ保存領域へのデータの書き込み状態と所定のタイミングとに基づいてガベージコレクションを実行する。ここで、データ保存領域へのデータの書き込み状態とは、例えば、データ保存領域に書き込まれたデータ量、またはデータ保存領域の空き容量(空き領域の量)などの状態である。例えば、メモリ制御部154は、データ保存領域へのデータの書き込み状態として、データ保存領域に書き込まれたデータ量が予め設定された閾値以上であるか否かを判定する。また、所定のタイミングとは、POST処理の実行に基づくタイミング、または、通常動作状態からスタンバイに遷移したことに基づくタイミングである。
以下では、POST処理に基づくタイミングでガベージコレクションを実行するか否かを判定するための閾値を「閾値HP」と称する。一方、スタンバイに基づくタイミングでガベージコレクションを実行するか否かを判定するための閾値を「閾値HS」と称する。
例えば、メモリ制御部154は、データ保存領域に書き込まれたデータ量が閾値HP以上であると判定した場合、POST処理の開始から終了までの間の所定のタイミングでガベージコレクションを実行する。一方、メモリ制御部154は、データ保存領域に書き込まれたデータ量が閾値HP未満であると判定した場合、ガベージコレクションを実行しない。
また、メモリ制御部154は、データ保存領域に書き込まれたデータ量が閾値HS以上であると判定した場合、処理部151による処理が実行中の通常動作状態からスタンバイに遷移したことに基づいて、ガベージコレクションを実行する。例えば、メモリ制御部154は、スタンバイに遷移したことに応じた所定のタイミングでガベージコレクションを実行する。また、メモリ制御部154は、スタンバイに遷移した後、スタンバイから通常動作状態に復帰するタイミングに応じて、通常動作状態に復帰する前にガベージコレクションを実行してもよい。つまり、メモリ制御部154は、スタンバイに入ったときにガベージコレクションを実行してもよいし、スタンバイから復帰するときにガベージコレクションを実行してもよい。これにより、少なくとも画面OFFとなるスタンバイ期間にガベージコレクションが実行されるため、ユーザへの影響が少ない。
閾値HP及び閾値HSは、データ保存領域がいっぱいになって処理が行えなくなってしまう状態を回避するために、ガベージコレクションを実行させるか否かを判定する閾値である。但し、POST処理における閾値HPは、POST処理を一時的に止めてもユーザへの影響が少ないため、起動後にガベージコレクションがなるべく必要にならないように、データ保存領域の空き容量にある程度余裕がある段階でも積極的にガベージコレクションが実行されるように設定されてもよい。一方、スタンバイにおける閾値HSは、起動後であるため、通常動作をなるべく妨げないようにデータ保存領域がある程度いっぱいになった段階で、ガベージコレクションが実行されるように設定されてもよい。つまり、例えば閾値HSは閾値HPより大きい値に設定されている。
なお、閾値HSと閾値HPとの関係は上記に限られるものではなく、例えば閾値HSと閾値HPとは同じ値に設定されてもよいし、閾値HPが閾値HSより大きい値に設定されてもよい。
また、メモリ制御部154は、データ保存領域に書き込まれたデータ量が閾値HS以上であると判定した場合、該判定に基づいて通知するための表示情報を表示制御部152に出力させ、表示部13に表示させてもよい。
例えば、メモリ制御部154は、データ保存領域に書き込まれたデータ量が閾値HS以上であると判定した場合、スタンバイに入るとき又はスタンバイから復帰するときにガベージコレクションを行う旨の通知を示す表示情報を表示部13に表示させてもよい。ガベージコレクションを行う旨の通知とは、例えば、「次回のスタンバイ時にメモリ内の使用していないデータを消去します」、「次回のスタンバイ時にメモリをクリーンアップします」などである。
また、メモリ制御部154は、データ保存領域に書き込まれたデータ量が閾値HS以上であると判定した場合、メモリが不足している旨の通知を表示情報として、表示部13に表示させてもよい。また、メモリ制御部154は、メモリが不足している旨の通知に代えて、又は加えて、スタンバイ、再起動などをユーザに促す通知を表示情報として、表示部13に表示させてもよい。
(第1の実施形態における処理の動作)
次に、ガベージコレクションに関連する処理の動作について説明する。
(POST処理時における処理の動作)
まず、制御部15が起動時のPOST処理においてガベージコレクションを実行する処理の動作について説明する。
図3は、本実施形態に係るPOST処理におけるガベージコレクション処理の一例を示すフローチャートである。
次に、ガベージコレクションに関連する処理の動作について説明する。
(POST処理時における処理の動作)
まず、制御部15が起動時のPOST処理においてガベージコレクションを実行する処理の動作について説明する。
図3は、本実施形態に係るPOST処理におけるガベージコレクション処理の一例を示すフローチャートである。
(ステップS101)制御部15は、BIOSのプログラムを実行することによりPOST処理を開始し、メモリのイニシャライズを実行する。そして、ステップS103の処理に進む。
(ステップS103)制御部15は、接続されているデバイスに関する情報(例えば、ベンダー情報、デバイス情報、及び通信確立情報)を取得し、取得した情報に基づいてTBTに接続されているデバイスを検出し、イニシャライズを実行する。そして、ステップS105の処理に進む。
(ステップS105)制御部15は、Flashメモリ17のデータ保存領域に書き込まれているデータ量が閾値HP以上であるか否かを判定する。例えば、制御部15は、データ保存領域に書き込まれたデータ量が閾値HP以上であると判定した場合(YES)、ステップS107の処理に進む。一方、制御部15は、データ保存領域に書き込まれたデータ量が閾値HP未満であると判定した場合(NO)、ステップS107の処理を行わずに、POST処理を終了する。
(ステップS107)制御部15は、Flashメモリ17のデータ保存領域に対してガベージコレクションを実行してから、POST処理を終了する。
(通常動作状態における処理の操作)
次に、通常動作状態において、データ保存領域に書き込まれているデータ量が閾値HS以上になった場合に、制御部15がガベージコレクションを行う旨をユーザに通知する処理の動作について説明する。
図4は、本実施形態に係る通常動作状態におけるガベージコレクションの通知処理の一例を示すフローチャートである。
次に、通常動作状態において、データ保存領域に書き込まれているデータ量が閾値HS以上になった場合に、制御部15がガベージコレクションを行う旨をユーザに通知する処理の動作について説明する。
図4は、本実施形態に係る通常動作状態におけるガベージコレクションの通知処理の一例を示すフローチャートである。
(ステップS111)制御部15は、通常動作状態において、Flashメモリ17のデータ保存領域に書き込まれたデータ量が閾値HS以上であるか否かを判定する。例えば、制御部15は、データ保存領域に書き込まれたデータ量が閾値HS以上であると判定した場合(YES)、即ち、データ保存領域が「Almost Full」になったと判定した場合、ステップS113の処理に進む。一方、制御部15は、データ保存領域に書き込まれたデータ量が閾値HS未満であると判定した場合(NO)、ステップS113〜S115の処理を行わずに、ステップS117の処理に進む。
(ステップS113)制御部15は、ステップS111の判定に基づいて通知するための表示情報を出力し、表示部13に表示させる。例えば、制御部15は、スタンバイに入るとき又はスタンバイから復帰するときにガベージコレクションを行う旨の通知を示す表示情報を表示部13に表示させる。そして、ステップS115の処理に進む。
(ステップS115)制御部15は、データ保存領域の空き領域がなくなったか否か(即ち、データ保存領域が「Full」になったか否か)を判定する。例えば、制御部15は、データ保存領域の空き領域がなくなったと判定した場合(YES)、正常動作を行えなくなり、エラーで終了する。一方、制御部15は、データ保存領域の空き領域がなくなっていないと判定した場合(NO)、ステップS117の処理に進む。
(ステップS117)制御部15は、実行中の処理に応じて、処理に必要なデータを適宜Flashメモリ17のデータ保存領域に書き込む。
(スタンバイ時における処理の動作)
次に、制御部15が通常動作状態からスタンバイに遷移した場合にガベージコレクションを実行する処理の動作について説明する。
図5は、本実施形態に係るスタンバイにおけるガベージコレクション処理の一例を示すフローチャートである。
次に、制御部15が通常動作状態からスタンバイに遷移した場合にガベージコレクションを実行する処理の動作について説明する。
図5は、本実施形態に係るスタンバイにおけるガベージコレクション処理の一例を示すフローチャートである。
(ステップS121)制御部15は、通常動作状態において、スタンバイへ遷移させる操作入力(電源ボタンへの押下など)の有無を判定する。例えば、制御部15は、スタンバイへ遷移させる操作入力が無いと判定した場合(NO)、再びステップS121の処理を行う。一方、制御部15は、スタンバイへ遷移させる操作入力があったと判定した場合(YES)、ステップS123の処理に進む。
(ステップS123)制御部15は、通常動作状態からスタンバイへ遷移させる。例えば、制御部15は、少なくとも表示情報の出力を停止し、表示部13を画面OFFに制御する。そして、ステップS125の処理に進む。
(ステップS125)制御部15は、Flashメモリ17のデータ保存領域に書き込まれているデータ量が閾値HS以上であるか否かを判定する。例えば、制御部15は、データ保存領域に書き込まれたデータ量が閾値HS以上であると判定した場合(YES)、ステップS127の処理に進む。一方、制御部15は、データ保存領域に書き込まれたデータ量が閾値HS未満であると判定した場合(NO)、ステップS127の処理を行わずに、ステップS128の処理に進む。
(ステップS127)制御部15は、Flashメモリ17のデータ保存領域に対してガベージコレクションを実行し、ステップS128の処理に進む。
(ステップS128)制御部15は、スタンバイの状態において、スタンバイを解除する操作入力(電源ボタンへの押下など)の有無を判定する。例えば、制御部15は、スタンバイ解除する操作入力が無いと判定した場合(NO)、再びステップS128の処理を行う。一方、制御部15は、スタンバイを解除する操作入力があったと判定した場合(YES)、ステップS129の処理に進む。
(ステップS129)制御部15は、スタンバイから通常動作状態へ遷移させ、画面ONに制御する。
なお、図5に示す処理では、スタンバイに入ったときにガベージコレクションを実行する例を説明したが、スタンバイから復帰するときにガベージコレクションを実行してもよい。その場合、図5に示すステップS127の処理とステップS128の処理との順を入れ替え、制御部15は、スタンバイを解除する操作入力があったと判定した場合、ガベージコレクションを実行してから、通常動作状態へ遷移させ、画面ONに制御する。
また、図4を参照して説明した通常動作状態における処理において、制御部15は、Flashメモリ17のデータ保存領域に書き込まれたデータ量が閾値HS以上であると判定した場合に、該判定に基づく通知を表示部13に表示させたが、該判定に基づく通知を表示させなくてもよい。つまり、制御部15は、ユーザに通知することなく、スタンバイに遷移したときに、ガベージコレクションを実行してもよい。
また、制御部15は、Flashメモリ17のデータ保存領域に書き込まれているデータ量を確認せずに、ガベージコレクションを実行してもよい。例えば、制御部15は、POST処理とスタンバイに遷移したときには、データ保存領域に書き込まれているデータ量を確認せずに、ガベージコレクションを実行してもよい。
以上説明したように、本実施形態に係る情報処理装置10は、処理部151と、表示制御部152と、メモリ制御部154とを備えている。処理部151は、所定のプログラムに基づいて処理を実行するとともに、該処理を実行するために必要なデータをFlashメモリ17(不揮発性メモリの一例)内のデータ保存領域(特定のデータ領域の一例)に書き込む。表示制御部152は、処理部151による処理に基づいて表示部13に表示する表示情報を出力する。メモリ制御部154は、処理部151による処理が実行中の通常動作状態(第1の状態の一例)から少なくとも表示制御部152が表示情報を出力しないスタンバイ(第2の状態の一例)に遷移したことに基づいて、データ保存領域に書き込まれているデータのうち少なくとも処理に不要な無効データを消去する。
これにより、情報処理装置10は、通常動作状態で実行中の処理を一旦中断させることなく、スタンバイに遷移したときに、Flashメモリ17のデータ保存領域に書き込まれている無効データを消去することにより空き容量を増やすことができる。よって、情報処理装置10は、使用しないときにシャットダウンを行わないでスタンバイにするだけで再び使用するような利用方法であっても、通常動作状態での処理を妨げることなくデータ保存領域の空き容量が不足してしまうことを抑制できるため、Flashメモリ17へのデータ保存処理を適切に制御することができる。
例えば、メモリ制御部154は、データ保存領域(特定のデータ領域の一例)へのデータの書き込み状態と通常動作状態(第1の状態の一例)からスタンバイ(第2の状態の一例)に遷移したことに基づいて、データ保存領域に書き込まれているデータのうち少なくとも処理に不要な無効データを消去する。ここでデータの書き込み状態とは、上述したように、データ保存領域に書き込まれたデータ量、またはデータ保存領域の空き容量(空き領域の量)などの状態である。
これにより、情報処理装置10は、Flashメモリ17のデータ保存領域がいっぱいになる前に、スタンバイに遷移したことに基づいてデータ保存領域に書き込まれている無効データを消去することにより空き容量を増やすことができる。
例えば、メモリ制御部154は、データ保存領域(特定のデータ領域の一例)に書き込まれたデータ量が閾値HS(第1の閾値)以上であると判定した場合、通常動作状態(第1の状態の一例)からスタンバイ(第2の状態の一例)に遷移したことに基づいて、データ保存領域に書き込まれているデータのうち少なくとも処理に不要な無効データを消去する。
これにより、情報処理装置10は、Flashメモリ17のデータ保存領域に書き込まれたデータ量が一定値を超えた場合、スタンバイに遷移したときに、データ保存領域に書き込まれている無効データを消去することにより空き容量を増やすことができる。つまり、情報処理装置10は、データ保存領域がFullになりそうなときには、スタンバイ中に空き容量を増やし、スタンバイから復帰した後にデータ保存領域の空き容量が増えた状態で動作を継続することができる。
なお、メモリ制御部154は、データ保存領域の空き容量が所定の閾値未満であるか否かを判定し、所定の閾値未満であると判定した場合、通常動作状態(第1の状態の一例)からスタンバイ(第2の状態の一例)に遷移したことに基づいて、データ保存領域に書き込まれているデータのうち少なくとも処理に不要な無効データを消去してもよい。
また、具体的には、メモリ制御部154は、無効データを消去する場合、データ保存領域(特定のデータ領域の一例)に書き込まれているデータのうち処理に必要な有効データをデータ保存領域以外のデータ領域に保存してからデータ保存領域に書き込まれているデータを消去し、消去後にデータ保存領域内の所定の位置に有効データを書き込む。
これにより、情報処理装置10は、Flashメモリ17に書き込んだデータのうち有効データを残し、無効データの分を空き領域としてデータの書き込みが可能なようにすることができる。
また、メモリ制御部154は、スタンバイ(第2の状態の一例)に遷移したことに応じた所定のタイミングで、データ保存領域内の無効データを消去する。
これにより、情報処理装置10は、スタンバイに入ったときに、データ保存領域内の無効データを消去して空き容量を増やすことができる。
なお、メモリ制御部154は、スタンバイ(第2の状態の一例)に遷移した後、スタンバイから通常動作状態(第1の状態の一例)に復帰するタイミングに応じて、通常動作状態に復帰する前に、データ保存領域内の無効データを消去してもよい。
これにより、情報処理装置10は、スタンバイから復帰するときに、データ保存領域内の無効データを消去して空き容量を増やすことができる。
また、メモリ制御部154は、データ保存領域(特定のデータ領域の一例)に書き込まれたデータ量が閾値HS(第1の閾値)以上であると判定した場合、該判定に基づいて通知するための表示情報を表示制御部152に出力させる。
これにより、情報処理装置10は、データ保存領域がFullに近づいていること、または、次にスタンバイに遷移したときに、ガベージコレクションが実行されること(メモリのクリーンアップが行われること)などをユーザに通知することができる。また、情報処理装置10は、メモリが不足している旨の通知を行うことにより、メモリ不足によりエラーが発生しないように、スタンバイへの遷移をユーザに促すことができる。
なお、情報処理装置10は、データ保存領域に書き込まれたデータ量を判定する閾値を複数設けることにより、データ量が増加するに従って、段階的にユーザに通知をおこなってもよい。
また、処理部151は、情報処理装置10を起動させる際に、BIOS設定情報に基づいてPOST処理を実行する。そして、メモリ制御部154は、データ保存領域(特定のデータ領域の一例)に書き込まれたデータ量が閾値HP(第2の閾値)以上であると判定した場合、POST処理の開始から終了までの間の所定のタイミングで、データ保存領域に書き込まれているデータのうち処理に不要な無効データを消去する。
これにより、情報処理装置10は、シャットダウンされた場合にはその後の起動時に、Flashメモリ17のデータ保存領域に書き込まれている無効データを消去することにより空き容量を増やすことができる。
例えば、上記スタンバイにおける閾値HS(第1の閾値)は、上記POST処理における閾値HP(第2の閾値)より大きい値に設定される。
これにより、情報処理装置10は、POST処理では、ガベージコレクションを行ってもユーザへの影響が少ないため、データ保存領域の空き容量にある程度余裕がある段階でも積極的にデータ保存領域に書き込まれている無効データを消去して空き容量を増やし、スタンバイでは、通常動作をなるべく妨げないようにデータ保存領域がある程度いっぱいになった段階でデータ保存領域に書き込まれている無効データを消去して空き容量を増やすことができる。
[第2の実施形態]
次に、本発明の第2の実施形態について説明する。第1の実施形態では、スタンバイ中にFlashメモリ17のデータ保存領域に対してガベージコレクションを行うことにより、通常動作状態での処理を妨げることなくデータ保存領域の空き容量を確保したが、通常動作状態からスタンバイに遷移した際に一部の処理が継続して実行されるものがある。例えば、音楽を再生中にスタンバイになってもその音楽の再生処理が継続される場合がある。このような場合にガベージコレクションを行うと、一時的に再生処理を中断する必要がありデータ量によっては中断時間が長くなる。ユーザが音楽を聴いている途中でスタンバイになった際に、再生が中断される時間が長くなることは望ましくない。そこで、本実施形態では、スタンバイ中にガベージコレクションを行う場合、ガベージコレクションにかかる時間をなるべく短くする処理について説明する。具体的には、本実施形態では、RAM16を仮想Flashメモリとして利用することにより、Flashメモリ17に対して行うガベージコレクションに係る時間を削減する。
次に、本発明の第2の実施形態について説明する。第1の実施形態では、スタンバイ中にFlashメモリ17のデータ保存領域に対してガベージコレクションを行うことにより、通常動作状態での処理を妨げることなくデータ保存領域の空き容量を確保したが、通常動作状態からスタンバイに遷移した際に一部の処理が継続して実行されるものがある。例えば、音楽を再生中にスタンバイになってもその音楽の再生処理が継続される場合がある。このような場合にガベージコレクションを行うと、一時的に再生処理を中断する必要がありデータ量によっては中断時間が長くなる。ユーザが音楽を聴いている途中でスタンバイになった際に、再生が中断される時間が長くなることは望ましくない。そこで、本実施形態では、スタンバイ中にガベージコレクションを行う場合、ガベージコレクションにかかる時間をなるべく短くする処理について説明する。具体的には、本実施形態では、RAM16を仮想Flashメモリとして利用することにより、Flashメモリ17に対して行うガベージコレクションに係る時間を削減する。
なお、本実施形態に係る情報処理装置10の基本的な構成は、第1の実施形態で説明した図1に示す構成と同様であり、ここでは、第1の実施形態と異なる処理について説明する。制御部15は、Flashメモリ17のデータ保存領域に対してガベージコレクションを行う際に、RAM16を利用する。
具体的には、処理部151は、処理を実行するために必要なデータを、データ保存領域に書き込むとともに、所定の条件を満たした場合にはRAM16内の所定の領域に書き込む。ここで、所定の領域とは、仮想Flashメモリとして利用する領域としてRAM16内に予め設定された領域である。例えば、Flashメモリ17のデータ保存領域に書き込まれたデータ量が閾値HS以上である場合には、処理部151は、処理を実行するために必要なデータをデータ保存領域に書き込まないで、RAM16内の所定の領域に書き込む。一方、Flashメモリ17のデータ保存領域に書き込まれたデータ量が閾値HS未満である場合には、処理部151は、処理を実行するために必要なデータをFlashメモリ17のデータ保存領域に書き込む。
例えば、Flashメモリ17のデータ保存領域に書き込まれたデータ量が閾値HS未満である場合には、処理部151は、処理を実行するために必要なデータをFlashメモリ17のデータ保存領域に書き込む。メモリ制御部は、Flashメモリ17のデータ保存領域に書き込まれたデータ量が閾値HS以上であると判定した場合、データ保存領域に書き込まれたデータを読み出してRAM16内の所定の領域に書き込む。つまり、メモリ制御部は、データ保存領域に書き込まれたデータをRAM16内の所定の領域にコピーする。また、メモリ制御部154は、RAM16にコピーしたデータのうち無効データを消去し、有効データを抽出して上記所定の領域の所定の位置に(例えば、端から詰めて)書き込む。そして、メモリ制御部は、RAM16を仮想Flashメモリとして機能させるように切り替える。以下では、RAM16を仮想Flashメモリとして機能させるように切り替える制御のことを、「仮想Flashメモリ(RAM)スイッチON」ともいう。逆にRAM16を仮想Flashメモリとして機能させなくする制御を「仮想Flashメモリ(RAM)スイッチOFF」ともいう。
メモリ制御部154により仮想Flashメモリ(RAM)スイッチONに制御されると、処理部151は、処理を実行するために必要なデータをデータ保存領域に書き込まないで、RAM16内の所定の領域に書き込む。即ち、Flashメモリ17のデータ保存領域に書き込まれたデータ量が閾値HS以上である場合には、処理部151は、処理を実行するために必要なデータをデータ保存領域に書き込まないで、RAM16内の所定の領域に書き込む。
その後、メモリ制御部154は、通常動作状態からスタンバイに遷移したことに基づいて、Flashメモリ17のデータ保存領域に書き込まれているデータを消去する。そして、メモリ制御部154は、データ保存領域に書き込まれているデータを消去した後に、RAM16内の所定の領域に書き込まれているデータのうち、処理を実行するために必要な有効データを、Flashメモリ17のデータ保存領域に書き込む。
これにより、Flashメモリ17のデータ保存領域が整理され空き領域が確保される。また、本実施形態におけるスタンバイ時のガベージコレクションの処理は、Flashメモリ17のデータ保存領域のデータを消去してRAM16から有効データを書き込むだけの処理である。そのため、本実施形態では、第1の実施形態におけるスタンバイ時のガベージコレクションの処理のようにFlashメモリ17において有効データを一旦移動させてからデータ消去と有効データの書き戻しを行うよりも処理に係る時間を削減することができる。また、Flashメモリ17のデータ保存領域に書き込まれたデータ量が閾値HS以上である場合、処理部151は、処理を実行するために必要なデータをRAM16内の所定の領域に書き込むため、仮に通常動作状態が継続されても、Flashメモリ17のデータ保存領域の空き容量不足により実行中の処理が正常に続けられなくなってしまうことを防止できる。
(第2の実施形態における処理の動作)
次に、本実施形態に係るガベージコレクションに関連する処理の動作について説明する。なお、POST処理時の動作は、第1の実施形態と同様であるためその説明を省略し、ここでは、通常動作状態における処理の動作と、スタンバイ時の処理の動作について説明する。
次に、本実施形態に係るガベージコレクションに関連する処理の動作について説明する。なお、POST処理時の動作は、第1の実施形態と同様であるためその説明を省略し、ここでは、通常動作状態における処理の動作と、スタンバイ時の処理の動作について説明する。
上述したように、本実施形態では、制御部15は、通常動作状態においてFlashメモリ17に書き込まれたデータ量が閾値HS以上になると、RAM16内の所定の領域へデータを移動し、当該所定の領域を仮想Flashメモリの領域として利用する。また、制御部15は、スタンバイ時にFlashメモリ17のデータ保存領域に書き込まれているデータを消去し、消去後にRAM16からFlashメモリ17へ有効データを書き込むガベージコレクションを行う。まず、通常動作状態におけるガベージコレクションに関連する処理の動作について説明する。
(通常動作状態における処理の動作)
図6は、本実施形態に係る通常動作状態におけるガベージコレクションの処理の一例を示すフローチャートである。
(ステップS211)制御部15は、通常動作状態において、Flashメモリ17のデータ保存領域に書き込まれたデータ量が閾値HS以上であるか否かを判定する。例えば、制御部15は、データ保存領域に書き込まれたデータ量が閾値HS以上であると判定した場合(YES)、即ち、データ保存領域が「Almost Full」になったと判定した場合、ステップS213の処理に進む。一方、制御部15は、データ保存領域に書き込まれたデータ量が閾値HS未満であると判定した場合(NO)、ステップS219の処理に進む。
図6は、本実施形態に係る通常動作状態におけるガベージコレクションの処理の一例を示すフローチャートである。
(ステップS211)制御部15は、通常動作状態において、Flashメモリ17のデータ保存領域に書き込まれたデータ量が閾値HS以上であるか否かを判定する。例えば、制御部15は、データ保存領域に書き込まれたデータ量が閾値HS以上であると判定した場合(YES)、即ち、データ保存領域が「Almost Full」になったと判定した場合、ステップS213の処理に進む。一方、制御部15は、データ保存領域に書き込まれたデータ量が閾値HS未満であると判定した場合(NO)、ステップS219の処理に進む。
(ステップS213)制御部15は、仮想Flashメモリ(RAM)スイッチONであるか否かを判定する。すでに仮想Flashメモリ(RAM)スイッチONであると判定された場合(YES)、ステップS218の処理に進む。一方、仮想Flashメモリ(RAM)スイッチOFFであると判定された場合(NO)、ステップS215の処理に進む。
(ステップS215)制御部15は、ステップS213の判定に基づいて通知するための表示情報を出力し、表示部13に表示させる。例えば、制御部15は、スタンバイに入るとき又はスタンバイから復帰するときにガベージコレクションを行う旨の通知を示す表示情報を表示部13に表示させる。そして、ステップS217の処理に進む。
(ステップS217)制御部15は、RAM16を仮想Flashメモリとして機能させるように切り替えるメモリ切替処理を行う。具体的には、制御部15は、次に示すステップS2171〜ステップS2177の処理を実行する。
(ステップS2171)制御部15は、Flashメモリ17のデータ保存領域に書き込まれたデータを読み出してRAM16内の所定の領域に書き込む(コピーする)。そして、ステップS2173の処理に進む。
(ステップS2173)制御部15は、RAM16にコピーしたデータのうち無効データを消去し、ステップS2175の処理に進む。
(ステップS2175)制御部15は、RAM16にコピーしたデータのうち有効データを抽出して上記所定の領域の所定の位置に(例えば、端から詰めて)書き込む。そして、ステップS2177の処理に進む。
(ステップS2177)制御部15は、仮想Flashメモリ(RAM)スイッチONに制御し、RAM16を仮想Flashメモリとして機能させるように切り替える。
(ステップS218)制御部15は、仮想Flashメモリ(RAM)スイッチONの状態では(ステップS213がYESの場合、またはステップS2177の処理後)、実行中の処理に応じて、処理に必要なデータを適宜RAM16の所定の領域に書き込む。
(ステップS219)仮想Flashメモリ(RAM)スイッチOFFの場合には(ステップS221がNO)、制御部15は、実行中の処理に応じて、処理に必要なデータを適宜Flashメモリ17のデータ保存領域に書き込む。
なお、図6に示すステップS217のメモリ切替処理において、制御部15は、Flashメモリ17のデータ保存領域に書き込まれたデータのうち有効データのみを抽出して、RAM16の所定の領域の所定の位置に(例えば、端から詰めて)書き込んでもよい。
(スタンバイ時における処理の動作)
次に、スタンバイにおけるガベージコレクションの処理の動作について説明する。
図7は、本実施形態に係るスタンバイにおけるガベージコレクション処理の一例を示すフローチャートである。
次に、スタンバイにおけるガベージコレクションの処理の動作について説明する。
図7は、本実施形態に係るスタンバイにおけるガベージコレクション処理の一例を示すフローチャートである。
(ステップS221)制御部15は、通常動作状態において、スタンバイへ遷移させる操作入力(電源ボタンへの押下など)の有無を判定する。例えば、制御部15は、スタンバイへ遷移させる操作入力が無いと判定した場合(NO)、再びステップS221の処理を行う。一方、制御部15は、スタンバイへ遷移させる操作入力があったと判定した場合(YES)、ステップS223の処理に進む。
(ステップS223)制御部15は、通常動作状態からスタンバイへ遷移させる。例えば、制御部15は、少なくとも表示情報の出力を停止し、表示部13を画面OFFに制御する。そして、ステップS225の処理に進む。
(ステップS225)制御部15は、仮想Flashメモリ(RAM)スイッチONであるか否かを判定する。仮想Flashメモリ(RAM)スイッチONであると判定された場合(YES)、ステップS227の処理に進みガベージコレクションを実行する。一方、仮想Flashメモリ(RAM)スイッチOFFであると判定された場合(NO)、制御部15は、ガベージコレクションを実行しないで、ステップS229の処理に進む。
(ステップS227)制御部15は、Flashメモリ17に対してガベージコレクションを実行する。具体的には、制御部15は、次に示すステップS2271〜ステップS2275の処理を実行する。
(ステップS2271)制御部15は、Flashメモリ17のデータ保存領域に書き込まれているデータを消去し、ステップS2273の処理に進む。
(ステップS2273)制御部15は、RAM16内の所定の領域に書き込まれている有効データを、Flashメモリ17のデータ保存領域に書き込み、ステップS2275の処理に進む。
(ステップS2275)制御部15は、仮想Flashメモリ(RAM)スイッチOFFに制御し、RAM16を仮想Flashメモリとして機能させなくする。つまり、以降の処理では、制御部15は、処理を実行するために必要なデータをFlashメモリ17のデータ保存領域に書き込む。
(ステップS228)制御部15は、スタンバイの状態において、スタンバイを解除する操作入力(電源ボタンへの押下など)の有無を判定する。例えば、制御部15は、スタンバイ解除する操作入力が無いと判定した場合(NO)、再びステップS228の処理を行う。一方、制御部15は、スタンバイを解除する操作入力があったと判定した場合(YES)、ステップS229の処理に進む。
(ステップS229)制御部15は、スタンバイから通常動作状態へ遷移させ、画面ONに制御する。
なお、図7に示す処理では、スタンバイに入ったときにガベージコレクションを実行する例を説明したが、スタンバイから復帰するときにガベージコレクションを実行してもよい。その場合、図7に示すステップS227の処理とステップS228の処理との順を入れ替え、制御部15は、スタンバイを解除する操作入力があったと判定した場合、ガベージコレクションを実行してから、通常動作状態へ遷移させ、画面ONに制御する。
以上説明したように、本実施形態に係る情報処理装置10において、処理部151は、前記処理を実行するために必要なデータを、Flashメモリ17(不揮発性メモリの一例)内のデータ保存領域(特定のデータ領域の一例)とRAM16(揮発性メモリの一例)内の所定の領域とに書き込む。具体的には、処理部151は、データ保存領域に書き込み状態に基づいて、データの書き込み先をFlashメモリ17内のデータ保存領域とRAM16内の所定の領域とのいずれかに切り替える。一方、処理部151は、データ保存領域に書き込まれたデータ量が閾値HS(第1の閾値)以上である場合にはRAM16内の所定の領域に書き込む。
これにより、情報処理装置10は、Flashメモリ17のデータ保存領域がいっぱいになる前に、データの書き込み先をRMA16に切り替えるため、通常動作状態が継続しても、Flashメモリ17のデータ保存領域の空き容量不足により実行中の処理が正常に続けられなくなってしまうことを防止できる。よって、情報処理装置10はFlashメモリ17へのデータ保存処理を適切に制御することができる。
また、メモリ制御部154は、Flashメモリ17のデータ保存領域に書き込まれたデータ量が閾値HS(第1の閾値)以上であると判定した場合、データ保存領域に書き込まれたデータの少なくとも一部を読み出してRMA16内の所定の領域に書き込む。
これにより、情報処理装置10は、RMA16に切り替える前にFlashメモリ17のデータ保存領域に保存された有効データとRMA16に切り替えた後にRMA16の所定の領域に書き込まれた有効データとを合わせてRMA16に保存することができる。
そして、メモリ制御部154は、通常動作状態(第1の状態の一例)からスタンバイ(第2の状態の一例)に遷移したことに基づいて、データ保存領域に書き込まれているデータを消去し、該消去した後に、RAM16内の所定の領域に書き込まれている有効データをデータ保存領域に書き込む。即ち、メモリ制御部154は、RAM16の有効データを用いてFlashメモリ17のデータ保存領域に対してガベージコレクションを実行する。
これにより、情報処理装置10は、スタンバイに遷移したタイミングでFlashメモリ17のデータ保存領域を整理して空き領域を確保することができる。また、情報処理装置10は、一時的にRMA16を利用してデータの保存を行うが、給電が停止されるとRMA16にはデータを保存できないため、スタンバイに遷移したタイミングでガベージコレクションを実行することによりデータの保存先をFlashメモリ17に戻すことができ、安全性を高めることができる。なお、仮にデータの保存先をFlashメモリ17に戻す前に給電停止が発生した場合でも、データの保存先をRMA16に切り替える前にFlashメモリ17に保存していたデータは残っているため、その時のデータで復帰させることが可能である。
また、本実施形態におけるスタンバイ時に実行するガベージコレクションの処理は、Flashメモリ17のデータ保存領域のデータを消去してRAM16から有効データを書き込むだけであるため、第1の実施形態よりもガベージコレクションの処理時間を短縮することができる。
以上、図面を参照してこの発明の第1及び第2の実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。例えば、第1及び第2の実施形態で説明した構成は、任意に組み合わせてもよい。
また、上記実施形態では、情報処理装置10は、Flashメモリ17のデータ保存領域へのデータの書き込み状態に基づいてガベージコレクションを実行する際に、書き込まれたデータ量が一定値を超えたか否かによってガベージコレクションを実行するか否かを判定したが、データ保存領域の空き容量に基づいてガベージコレクションを実行するか否かを判定してもよい。例えば、情報処理装置10は、データ保存領域の空き容量が所定の閾値未満になった場合に、POST処理またはスタンバイのタイミングでガベージコレクションを実行し、データ保存領域の空き容量が所定の閾値以上ある場合にはガベージコレクションを実行しないように制御してもよい。つまり、データ保存領域へのデータの書き込み状態は、書き込まれたデータ量についての状態であってもよいし、データ保存領域の空き容量についての状態であってもよい。
また、上記実施形態では、情報処理装置10は、Flashメモリ17のデータ保存領域へのデータの書き込み状態に基づいてガベージコレクションを実行したが、データ保存領域へのデータの書き込み状態にかかわらず、POST処理時またはスタンバイ時には常にガベージコレクションを実行してもよい。
なお、上述した情報処理装置10は、内部にコンピュータシステムを有している。そして、上述した情報処理装置10が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述した情報処理装置10が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD−ROM等の非一過性の記録媒体であってもよい。
また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後に情報処理装置10が備える各構成で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
また、上述した実施形態における情報処理装置10が備える各機能の一部、または全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。各機能は個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
10 情報処理装置、11 通信部、12 入力部、13 表示部、14 スピーカ、15 制御部、16 RAM、17 Flashメモリ、151 処理部、152 表示制御部、153 電源管理部、154 メモリ制御部
Claims (15)
- 所定のプログラムに基づいて処理を実行するとともに、該処理を実行するために必要なデータを不揮発性メモリ内の特定のデータ領域に書き込む処理部と、
前記処理部による前記処理に基づいて表示部に表示する表示情報を出力する表示制御部と、
前記処理部による前記処理が実行中の第1の状態から少なくとも前記表示制御部が表示情報を出力しない第2の状態に遷移したことに基づいて、前記特定のデータ領域に書き込まれているデータのうち少なくとも前記処理に不要な無効データを消去するメモリ制御部と、
を備える情報処理装置。 - 前記メモリ制御部は、
前記特定のデータ領域へのデータの書き込み状態と前記第1の状態から前記第2の状態に遷移したことに基づいて、前記特定のデータ領域に書き込まれているデータのうち少なくとも前記処理に不要な無効データを消去する、
請求項1に記載の情報処理装置。 - 前記メモリ制御部は、
前記特定のデータ領域に書き込まれたデータ量が第1の閾値以上であると判定した場合、前記第1の状態から前記第2の状態に遷移したことに基づいて、前記特定のデータ領域に書き込まれているデータのうち少なくとも前記処理に不要な無効データを消去する、
請求項2に記載の情報処理装置。 - 前記メモリ制御部は、
前記特定のデータ領域に書き込まれたデータ量が第1の閾値以上であると判定した場合、該判定に基づいて通知するための表示情報を前記表示制御部に出力させる、
請求項3に記載の情報処理装置。 - 前記処理部は、
前記情報処理装置を起動させる際に、BIOS(Basic Input Output System)設定情報に基づいてPOST(Power On Self Test)処理を実行し、
前記メモリ制御部は、
前記特定のデータ領域に書き込まれたデータ量が第2の閾値以上であると判定した場合、前記POST処理の開始から終了までの間の所定のタイミングで、前記特定のデータ領域に書き込まれているデータのうち前記処理に不要な無効データを消去する、
請求項3または請求項4に記載の情報処理装置。 - 前記第1の閾値は、前記第2の閾値より大きい値に設定される、
請求項5に記載の情報処理装置。 - 前記メモリ制御部は、
前記無効データを消去する場合、前記特定のデータ領域に書き込まれているデータのうち前記処理に必要な有効データを前記特定のデータ領域以外のデータ領域に保存してから前記特定のデータ領域に書き込まれているデータを消去し、消去後に前記特定のデータ領域内の所定の位置に前記有効データを書き込む、
請求項1から請求項6のいずれか一項に記載の情報処理装置。 - 前記メモリ制御部は、
前記第2の状態に遷移したことに応じた所定のタイミングで、前記無効データを消去する、
請求項1から請求項7のいずれか一項に記載の情報処理装置。 - 前記メモリ制御部は、
前記第2の状態に遷移した後、前記第2の状態から前記第1の状態に復帰するタイミングに応じて、前記第1の状態に復帰する前に前記無効データを消去する、
請求項1から請求項7のいずれか一項に記載の情報処理装置。 - 前記処理部は、
前記処理を実行するために必要なデータを、前記特定のデータ領域と揮発性メモリ内の所定の領域とに書き込み、
前記メモリ制御部は、
前記第1の状態から前記第2の状態に遷移したことに基づいて、前記特定のデータ領域に書き込まれているデータを消去し、該消去した後に、前記揮発性メモリ内の所定の領域に書き込まれているデータのうち前記処理を実行するために必要なデータを、前記特定のデータ領域に書き込む、
請求項1から請求項4のいずれか一項に記載の情報処理装置。 - 前記処理部は、
前記特定のデータ領域へのデータの書き込み状態に基づいて、前記処理を実行するために必要なデータの書き込み先を、前記特定のデータ領域と前記揮発性メモリ内の所定の領域とのいずれかに切り替える、
請求項10に記載の情報処理装置。 - 前記処理部は、
前記特定のデータ領域に書き込まれたデータ量が第1の閾値未満である場合には前記処理を実行するために必要なデータを前記特定のデータ領域に書き込み、前記特定のデータ領域に書き込まれたデータ量が前記第1の閾値以上である場合には前記揮発性メモリ内の所定の領域に書き込む、
請求項11に記載の情報処理装置。 - 前記メモリ制御部は、
前記特定のデータ領域に書き込まれたデータ量が前記第1の閾値以上であると判定した場合、前記特定のデータ領域に書き込まれたデータの少なくとも一部を読み出して前記揮発性メモリ内の所定の領域に書き込む、
請求項10から請求項12のいずれか一項に記載の情報処理装置。 - 情報処理装置の制御方法であって、
処理部が、所定のプログラムに基づいて処理を実行するとともに、該処理を実行するために必要なデータを不揮発性メモリ内の特定のデータ領域に書き込むステップと、
表示制御部が、前記処理部による前記処理に基づいて表示部に表示する表示情報を出力するステップと、
メモリ制御部が、前記処理部による前記処理が実行中の第1の状態から少なくとも前記表示制御部が表示情報を出力しない第2の状態に遷移したことに基づいて、前記特定のデータ領域に書き込まれているデータのうち少なくとも前記処理に不要な無効データを消去するステップと、
を有する制御方法。 - コンピュータに、
所定のプログラムに基づいて処理を実行するとともに、該処理を実行するために必要なデータを不揮発性メモリ内の特定のデータ領域に書き込むステップと、
前記処理が実行中の第1の状態において、前記処理に基づいて表示部に表示する表示情報を出力するステップと、
第2の状態において、少なくとも前記表示情報を出力しないように制御するステップと、
前記第1の状態から前記第2の状態に遷移したことに基づいて、前記特定のデータ領域に書き込まれているデータのうち少なくとも前記処理に不要な無効データを消去するステップと、
を実行させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018204789A JP2020071632A (ja) | 2018-10-31 | 2018-10-31 | 情報処理装置、制御方法、及びプログラム |
US16/270,550 US20200133562A1 (en) | 2018-10-31 | 2019-02-07 | Information processing device, controlling method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018204789A JP2020071632A (ja) | 2018-10-31 | 2018-10-31 | 情報処理装置、制御方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020071632A true JP2020071632A (ja) | 2020-05-07 |
Family
ID=70326690
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018204789A Pending JP2020071632A (ja) | 2018-10-31 | 2018-10-31 | 情報処理装置、制御方法、及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20200133562A1 (ja) |
JP (1) | JP2020071632A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7571214B2 (ja) | 2022-08-17 | 2024-10-22 | レノボ・(ベイジン)・リミテッド | 情報処理装置、および、制御方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3786804B1 (en) * | 2019-08-30 | 2023-04-05 | Canon Kabushiki Kaisha | Recording apparatus, image capturing apparatus, control method, and storage medium |
CN111651277B (zh) * | 2020-06-11 | 2024-03-26 | 深圳创维-Rgb电子有限公司 | 一种内存的清理方法、智能终端及可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002318714A (ja) * | 2001-04-23 | 2002-10-31 | Casio Comput Co Ltd | フラッシュメモリ最適化装置及びプログラム |
JP2004178417A (ja) * | 2002-11-28 | 2004-06-24 | Hitachi Ltd | 不揮発性メモリ手段を備える処理装置および不揮発性メモリ制御方法 |
US20040248612A1 (en) * | 2003-06-03 | 2004-12-09 | Lg Electronics Inc. | Garbage collection system and method for a mobile communication terminal |
JP2005020540A (ja) * | 2003-06-27 | 2005-01-20 | Kyocera Corp | 通信装置 |
US20100235563A1 (en) * | 2009-03-11 | 2010-09-16 | Hsu-Ping Ou | Method for enhancing performance of a flash memory, and associated portable memory device and controller thereof |
US20120117406A1 (en) * | 2010-11-09 | 2012-05-10 | Samsung Electronics Co. Ltd. | Method and apparatus for memory management in mobile device |
JP2017211367A (ja) * | 2016-05-18 | 2017-11-30 | レノボ・シンガポール・プライベート・リミテッド | ユーザの存否を認定する方法、デバイスの制御方法および電子機器 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6898602B2 (en) * | 2002-04-22 | 2005-05-24 | Sun Microsystems Inc. | Measuring the exact memory requirement of an application through intensive use of garbage collector |
US6862674B2 (en) * | 2002-06-06 | 2005-03-01 | Sun Microsystems | Methods and apparatus for performing a memory management technique |
US20060184718A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct file data programming and deletion in flash memories |
US8463826B2 (en) * | 2009-09-03 | 2013-06-11 | Apple Inc. | Incremental garbage collection for non-volatile memories |
JP5002719B1 (ja) * | 2011-03-10 | 2012-08-15 | 株式会社東芝 | 情報処理装置、外部記憶装置、ホスト装置、中継装置、制御プログラム及び情報処理装置の制御方法 |
US9443591B2 (en) * | 2013-01-23 | 2016-09-13 | Seagate Technology Llc | Storage device out-of-space handling |
US9128820B1 (en) * | 2012-06-18 | 2015-09-08 | Western Digital Technologies, Inc. | File management among different zones of storage media |
US9996268B2 (en) * | 2015-12-18 | 2018-06-12 | Toshiba Memory Corporation | Memory system and control method of the same |
KR20180138398A (ko) * | 2017-06-21 | 2018-12-31 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작방법 |
US10572388B2 (en) * | 2017-08-30 | 2020-02-25 | Micron Technology, Inc. | Managed NVM adaptive cache management |
US11537513B2 (en) * | 2017-12-11 | 2022-12-27 | SK Hynix Inc. | Apparatus and method for operating garbage collection using host idle |
KR102620255B1 (ko) * | 2018-05-18 | 2024-01-04 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
-
2018
- 2018-10-31 JP JP2018204789A patent/JP2020071632A/ja active Pending
-
2019
- 2019-02-07 US US16/270,550 patent/US20200133562A1/en not_active Abandoned
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002318714A (ja) * | 2001-04-23 | 2002-10-31 | Casio Comput Co Ltd | フラッシュメモリ最適化装置及びプログラム |
JP2004178417A (ja) * | 2002-11-28 | 2004-06-24 | Hitachi Ltd | 不揮発性メモリ手段を備える処理装置および不揮発性メモリ制御方法 |
US20040248612A1 (en) * | 2003-06-03 | 2004-12-09 | Lg Electronics Inc. | Garbage collection system and method for a mobile communication terminal |
JP2005020540A (ja) * | 2003-06-27 | 2005-01-20 | Kyocera Corp | 通信装置 |
US20100235563A1 (en) * | 2009-03-11 | 2010-09-16 | Hsu-Ping Ou | Method for enhancing performance of a flash memory, and associated portable memory device and controller thereof |
US20120117406A1 (en) * | 2010-11-09 | 2012-05-10 | Samsung Electronics Co. Ltd. | Method and apparatus for memory management in mobile device |
JP2017211367A (ja) * | 2016-05-18 | 2017-11-30 | レノボ・シンガポール・プライベート・リミテッド | ユーザの存否を認定する方法、デバイスの制御方法および電子機器 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7571214B2 (ja) | 2022-08-17 | 2024-10-22 | レノボ・(ベイジン)・リミテッド | 情報処理装置、および、制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US20200133562A1 (en) | 2020-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101156292B1 (ko) | 신속한 하이버네이트 및 리줌을 위한 장치 및 방법 | |
KR101602360B1 (ko) | 시스템 고속 부팅 장치 및 방법 | |
CN102207881B (zh) | 一种基于Android的操作系统快速启动方法 | |
TWI436199B (zh) | 電源管理控制器與方法 | |
JP4843013B2 (ja) | Vmmシステムにおけるユーザosがサービスosによって使用されている装置の電源を切らないようにするためのシステム及び方法 | |
JP4175838B2 (ja) | 待機モード付情報処理装置およびその待機モード開始方法と待機モード解除方法 | |
JP5860543B2 (ja) | ブートデータのロード | |
KR101842321B1 (ko) | 세그먼트화된 캐시 | |
TW201624273A (zh) | 韌體變量更新方法 | |
KR20060015329A (ko) | 비휘발성 메모리로부터의 부팅 | |
JPH077317B2 (ja) | システム再起動装置 | |
JP2008276555A (ja) | 情報処理装置、およびファームウェア更新方法 | |
CN109313604B (zh) | 用于压缩虚拟存储器的动态配置的计算系统、装置和方法 | |
TW201525869A (zh) | 用於雙作業系統記憶體切換的系統及方法 | |
JP2015102889A (ja) | ファームウェアの更新方法、電子機器、コンピュータおよびコンピュータ・プログラム | |
US20130061090A1 (en) | Partial rebooting recovery apparatus and method | |
CN113703799A (zh) | 计算设备及其bios更新方法和介质 | |
JP2020071632A (ja) | 情報処理装置、制御方法、及びプログラム | |
KR20060131296A (ko) | 다중 운영체제 지원이 가능한 컴퓨터 시스템 및 그러한시스템에서의 다중 운영체제 지원 방법 | |
JP2010176568A (ja) | 情報処理装置、情報操作方法およびプログラム | |
JP2008059387A (ja) | 情報処理装置、外部記憶装置および制御方法 | |
JP2008090554A (ja) | 情報処理装置、制御装置およびメモリ管理方法 | |
JP6775651B1 (ja) | 情報処理装置、制御方法、及びプログラム | |
TWI522924B (zh) | 電子裝置及其切換作業系統的方法 | |
JP3961669B2 (ja) | コンピュータシステムおよびデータ転送制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200630 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20210216 |