JP2012203583A - 情報処理装置およびプログラム - Google Patents

情報処理装置およびプログラム Download PDF

Info

Publication number
JP2012203583A
JP2012203583A JP2011066649A JP2011066649A JP2012203583A JP 2012203583 A JP2012203583 A JP 2012203583A JP 2011066649 A JP2011066649 A JP 2011066649A JP 2011066649 A JP2011066649 A JP 2011066649A JP 2012203583 A JP2012203583 A JP 2012203583A
Authority
JP
Japan
Prior art keywords
unit
data
storage unit
writing
power
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
Application number
JP2011066649A
Other languages
English (en)
Inventor
Tatsunori Kanai
達徳 金井
Tetsuo Kimura
哲郎 木村
Haruhiko Toyama
春彦 外山
Koichi Fujisaki
浩一 藤崎
Hiromi Haruki
洋美 春木
Masaya Taruie
昌也 樽家
Satoshi Shirai
智 白井
Akihiro Shibata
章博 柴田
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2011066649A priority Critical patent/JP2012203583A/ja
Priority to US13/345,818 priority patent/US20120246390A1/en
Publication of JP2012203583A publication Critical patent/JP2012203583A/ja
Priority to JP2013134287A priority patent/JP2013232216A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1635Details related to the integration of battery packs and other power supplies such as fuel cells or integrated AC adapter
    • 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/263Arrangements for using multiple switchable power supplies, e.g. battery and AC
    • 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/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • G06F1/305Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations in the event of power-supply fluctuations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Power Sources (AREA)

Abstract

【課題】2次ストレージへの書き込み頻度を下げて消費電力を下げる。
【解決手段】実施形態の情報処理装置は、補助記憶部と、主記憶部と、蓄電部と、第1書込部と、第2書込部と、を備える。主記憶部は、補助記憶部に記憶するデータを一時記憶するキャッシュ領域を含む不揮発性の記憶部である。第1書込部は、データをキャッシュ領域に書き込む。第2書込部は、蓄電部の電力量が予め定められた第1閾値より大きい場合に、キャッシュ領域に書き込まれたデータを補助記憶部に書き込む。
【選択図】図3

Description

本発明の実施形態は、情報処理装置およびプログラムに関する。
PC(パーソナルコンピュータ)、携帯電話、タブレット型端末、および、スレート型端末などの情報機器(情報処理装置)では、さまざまなデータを2次ストレージ(補助記憶部)に記憶する。2次ストレージには、ハードディスクドライブ(HDD)、シリコンディスクドライブ(SSD)、および、フラッシュメモリを搭載したメモリカード(SDカード、コンパクトフラッシュ(登録商標)など)などが利用される。また、CPU(Central Processing Unit)に直結したフラッシュメモリのチップを2次ストレージとして利用する場合もある。2次ストレージに記憶したデータは、情報処理装置の電源を遮断にしても消えずに保持される。
これらの情報処理装置に搭載されるソフトウェアは、基盤となるオペレーティングシステムと、その上で動作する各種のアプリケーションプログラムから構成される。2次ストレージ上のデータは、オペレーティングシステムがファイルとして管理する。アプリケーションプログラムが2次ストレージ上のデータをアクセス(読み出し(read)、および、書き込み(write)など)するときは、オペレーティングシステムに対してファイルの操作(ファイルの作成、書き込み、読み出し、および、削除など)を依頼するシステムコールを発行する。オペレーティングシステムの中でファイルの管理をする部分を、ファイルシステムと呼ぶ場合もある。
一般に、2次ストレージのデータを読み出したり書き込んだりする速度は、メインメモリ(主記憶部)上のデータを読み出したり書き込んだりする速度に比べて遅い。そこでオペレーティングシステムは、ディスクキャッシュを用いて、速度の遅い2次ストレージ上のデータを効率良くアクセスする。オペレーティングシステムは、過去にアプリケーションプログラムが2次ストレージから読み出したデータや2次ストレージに書き込んだデータを、メインメモリ上に確保したディスクキャッシュ領域に一時的に記憶しておく。アプリケーションプログラムからデータの読み出しを依頼されたオペレーティングシステムは、読み出すべきデータがディスクキャッシュ中にあれば、2次ストレージから読み出すことなくディスクキャッシュ中のデータをアプリケーションプログラムに返す。また、アプリケーションプログラムによる2次ストレージへのデータの書き込みは、データをディスクキャッシュに書き込んだ時点で完了でき、オペレーティングシステムがディスクキャッシュ中のデータを後で一括して2次ストレージへ書き込む。その結果、アプリケーションプログラムによる2次ストレージ上のデータの読み出しや書き込みの平均的な時間を短縮でき、2次ストレージにアクセスする頻度を低減できる。ディスクキャッシュは、ページキャッシュまたはバッファキャッシュと呼ばれることもある。
ディスクキャッシュを用いるオペレーティングシステムでは、アプリケーションプログラムが2次ストレージに書き込むデータがディスクキャッシュに書き込まれる時点と、そのデータが実際に2次ストレージへ書き込まれる時点との間に時間差が生じる。通常、ディスクキャッシュ領域は揮発性のメインメモリ上に確保するので、障害発生等によって、ディスクキャッシュに書き込まれたがまだ2次ストレージに書き込まれていないデータが失われると、アプリケーションプログラムが2次ストレージに書き込んだはずのデータが失われる。そのため、多くのオペレーティングシステムは、ディスクキャッシュ上に書き込まれたデータを、書き込まれてから一定の時間が経過した時点や、ディスクキャッシュの空き領域が少なくなった時点で、ディスクキャッシュから2次ストレージに書き込む。
Understanding the Linux Kernel, Third Edition, Daniel P. Bovet, Marco Cesati, O'Reilly Media 2005, Chapter15, P599-630.
しかしながら、2次ストレージへの書き込みはディスクキャッシュへの書き込みに比べて多くの電力を消費する。このため、バッテリ等の限られた電力で動作する情報処理装置では、可能な限り2次ストレージへの書き込み頻度を下げて消費電力を下げることが望ましい。
実施形態の情報処理装置は、補助記憶部と、主記憶部と、蓄電部と、第1書込部と、第2書込部と、を備える。主記憶部は、補助記憶部に記憶するデータを一時記憶するキャッシュ領域を含む不揮発性の記憶部である。第1書込部は、データをキャッシュ領域に書き込む。第2書込部は、蓄電部の電力量が予め定められた第1閾値より大きい場合に、キャッシュ領域に書き込まれたデータを補助記憶部に書き込む。
本実施形態の情報処理装置の外観図。 本実施形態の情報処理装置のハードウェア構成図。 本実施形態の情報処理装置の機能構成例を示すブロック図。 2次ストレージにアクセスする動作の説明図。 フラッシュ処理のフローチャート。 フラッシュ処理のフローチャート。
以下に添付図面を参照して、この発明にかかる情報処理装置の好適な実施形態を詳細に説明する。
図1は、本実施形態の情報処理装置100の外観を示す図である。図1は、タブレット型の情報処理装置100の例を示している。情報処理装置100は、端末表面に低消費電力の反射型液晶ディスプレイまたは電子ペーパーなどの表示部102aを備える。また、情報処理装置100は、端末表面の表示部102a以外の部分に太陽電池101を備えている。また、情報処理装置100は、表示部102aの表面にはポインティングデバイスとして機能するタッチパネル102bを備える。さらに、情報処理装置100は、端末表面の表示部102aと重ならない部分にキーボード103を備える。キーボード103は太陽電池101の表面に透明なタッチパネル102bを重ねることで実現しても良い。また、透明な素材または遮光性の部分の少ない素材を用いた機械式のキーボード103として実現しても良い。
図2は、本実施形態の情報処理装置100のハードウェア構成例を示すブロック図である。情報処理装置100は、主なハードウェア構成として、太陽電池101と、表示部102aと、タッチパネル102bと、キーボード103と、CPU110と、通信インタフェース(通信I/F)111と、不揮発メモリ121と、2次ストレージ122と、電源制御部130と、蓄電部131と、を備えている。
情報処理装置100は、太陽電池101で発電した電力で動作する。しかし、太陽電池101で発電する電力だけでは動作時(何らかの処理を実行している時)の情報処理装置100全体のピークの消費電力をまかなえない。このため、アイドル時(ユーザからの応答待ちの時間や、情報処理装置100を使用していない時間など)に太陽電池101で発電した余剰電力を蓄電部131に充電しておく。そして、動作時には、電源制御部130が、蓄電部131からの電力を情報処理装置100の各部に供給するように制御する。このような電源制御はピークシフトとも呼ばれる。このように、太陽電池101は、蓄電部131を含む情報処理装置100の各部に電力を供給する供給部として機能する。
蓄電部131は、リチウムイオン電池などのバッテリ、または電気2重層キャパシタなどを、単独で、または組み合わせて実現できる。例えば、太陽電池101で発電した電力をまず電気2重層キャパシタに蓄積し、蓄積した電力をさらにリチウムイオン電池に充電するように組み合わせる。
CPU110は、アプリケーションプログラムやオペレーティングシステムを実行して全体を制御する。
不揮発メモリ121は、メインメモリとして用いる不揮発性の記憶素子で構成される記憶部(主記憶部)である。例えば、不揮発メモリ121は、高速に読み書きできるMRAM(Magnetic Random Access Memory)で実現する。MRAM以外に、PCM(Phase Change Memory、PRAMやPCRAMと呼ばれることもある)やReRAM(Resistance Random Access Memory)を不揮発メモリ121として用いることもできる。
2次ストレージ122は、情報処理装置100が必要とするデータやプログラムを記憶する記憶部(補助記憶部)である。例えば、2次ストレージ122は、フラッシュメモリのチップを搭載した記憶部により実現できる。2次ストレージ122としてSDカードやSSDを用いることもできる。
2次ストレージ122を備えず、2次ストレージ122に記憶すべきすべてのデータやプログラムを格納できる容量の不揮発メモリ121のみを備える構成では、コストの増大等の問題が生じる。したがって、本実施形態では、主記憶部(不揮発メモリ121)と補助記憶部(2次ストレージ122)とを備え、補助記憶部のデータをキャッシュするディスクキャッシュを主記憶部に備える構成とする。
また、本実施形態では、主記憶部としてDRAM(Dynamic Random Access Memory)などの揮発性の記憶素子ではなく、不揮発性の記憶素子を用いる。したがって、仮に障害が発生したとしても2次ストレージ122に書き込むべきデータが失われることはない。しかし、上述のように主記憶部にディスクキャッシュを備える構成とするため、ディスクキャッシュのデータを2次ストレージ122に書き込む処理(フラッシュ処理)が必要となる。
情報処理装置100は、入出力装置として、電子ペーパーまたは低消費電力液晶ディスプレイなどの表示部102a、表示部102aの表面に重ねて実装する透明のタッチパネル102b、キーボード103、および、通信I/F111を備える。キーボード103を省略して、表示部102aに仮想キーボードを表示し、それをタッチパネル102bで押さえるように実装しても良い。なお、タッチパネル102bおよびキーボード103以外の入出力インタフェースを備える、または、接続可能とするように構成してもよい。
通信I/F111は、例えば無線LAN(Local Area Network)などによる通信を行うためのインタフェースである。通信のプロトコルは無線LANに限られず、有線LAN、Bluetooth、ZigBee、赤外線通信、可視光通信、光回線網、電話回線網、およびインターネットなどのあらゆるプロトコルを利用できる。
電源制御部130は、蓄電部131に蓄積している電力量を管理し、CPU110などの外部の構成部が蓄電部131に蓄積している電力量を知るための機能を備える。CPU110が蓄電部131に蓄積している電力量を知る機能は、例えば、蓄電部131に蓄積している電力量が予め決められた規定量より少なくなった時点、または多くなった時点で、電源制御部130がCPU110に対して割り込みで伝えるように構成することで実現できる。また、別の実現方法としては、CPU110からのコマンドを受け取ると電源制御部130が現在の電力量をCPU110に送り返すように実装することもできる。
図3は、本実施形態の情報処理装置100の機能構成例を示すブロック図である。図3では、図2に示したハードウェア構成を省略している。情報処理装置100は、表示制御部151と、通信制御部152と、入出力制御部153と、記憶制御部160と、を備えている。
これらの各部(表示制御部151と、通信制御部152と、入出力制御部153と、記憶制御部160)の機能は、例えば、オペレーティングシステムが備える機能として実現できる。なお、これらの各部のうち少なくとも1つをハードウェア回路により実現してもよい。
表示制御部151は、表示部102aに対する情報の表示処理を制御する。通信制御部152は、通信I/F111を介した外部装置(図示せず)との間の通信処理を制御する。入出力制御部153は、タッチパネル102bおよびキーボード103を用いたデータの入出力処理を制御する。
記憶制御部160は、不揮発メモリ121および2次ストレージ122に対するデータのアクセスを制御する。例えば、記憶制御部160は、不揮発メモリ121内にディスクキャッシュ用のキャッシュ領域(以下、ディスクキャッシュという)を確保し、2次ストレージ122から読み書きするデータを当該ディスクキャッシュに一時記憶する。そして、記憶制御部160は、所定の条件が満たされたときに、ディスクキャッシュに一時記憶したデータを2次ストレージ122に書き戻す。記憶制御部160は、第1書込部161と、第2書込部162と、対応管理部163と、を備えている。
第1書込部161は、アプリケーションプログラムなどからアクセスが要求された2次ストレージ122内のデータをディスクキャッシュに書き込む。第2書込部162は、ディスクキャッシュのデータを2次ストレージ122に書き込むために定められる所定の条件が満たされたときに、当該データを2次ストレージ122に書き込む。例えば、第2書込部162は、蓄電部131の電力量が予め定められた閾値(第1閾値)より大きい場合に、アプリケーションプログラムからの書き込み要求によってディスクキャッシュに書き込まれたデータを2次ストレージ122に書き込む。
対応管理部163は、ディスクキャッシュと2次ストレージ122内の記憶領域との間の対応を管理する。例えば、一般的なオペレーティングシステムが備えるファイルシステムと呼ぶソフトウェアモジュールにより対応管理部163を実現できる。
一般に、オペレーティングシステムは、2次ストレージ122を一定のサイズのブロックに分割して管理する。1つのブロックのサイズは代表的には4キロバイトの大きさである。同様に、対応管理部163は、2次ストレージ122の全記憶領域を4キロバイトのブロックに区切り、各ブロックに順に番号(ブロック番号)を付与する。そして、対応管理部163は、ブロック番号をブロックのアドレスとして扱う。
対応管理部163は、データを指定するファイル名と、そのファイル名のデータが実際に記憶されている2次ストレージ122の中のブロック番号(1つまたは複数)の対応を管理する。具体的には、Linux(登録商標)やUnix(登録商標)で広く用いられているファイルシステムではiノードと呼ぶデータ構造を使ってこの対応を管理している。また、Windows(登録商標)で広く用いられているファイルシステムではFATと呼ぶデータ構造を使ってこの対応を管理している。ファイルシステムは、2次ストレージ122中の各ブロックが使用中か未使用かも管理する。
このように、本実施形態の情報処理装置100は、Linux(登録商標)等のオペレーティングシステムを搭載する。オペレーティングシステムは、ディスクキャッシュを使って2次ストレージ122に記憶するデータを管理する。
次に、図4を用いて、アプリケーションプログラムが2次ストレージ122をアクセスする際のオペレーティングシステム(図3の各部)の動作を説明する。図4は、2次ストレージ122にアクセスするときの動作を説明するための図である。図4に示す2次ストレージ122中の長方形がそれぞれ1つのブロックに相当し、ブロックそれぞれに付与した番号がブロックのアドレスに相当する。
情報処理装置100では、記憶制御部160は、ディスクキャッシュの領域を不揮発メモリ121上に確保する。記憶制御部160は、ディスクキャッシュも2次ストレージ122の管理単位と同じブロックサイズに切り分けて管理する。対応管理部163は、ディスクキャッシュの各ブロックが使用中か未使用か、使用中なら2次ストレージ122のいずれのブロックに対応したデータを記憶しているか、使用中のブロックがダーティか否かを管理する。使用中のブロックがダーティとは、ディスクキャッシュ内のブロックに書き込まれたデータが、まだ対応する2次ストレージ122のブロックに書き込まれていない状態をいう。図4に示すディスクキャッシュ中の長方形がそれぞれ1つのブロックに相当する。数字が記載されたブロックは使用中であり、数字は対応する2次ストレージ122中のブロックのアドレスである。網掛けされたブロックは使用中でダーティなブロックを示す。数字が書かれていないブロックは未使用であることを示す。
アプリケーションプログラムが2次ストレージ122に記憶しているデータを読み出す際の処理の手順(以下の(1)〜(4))を、図4を用いて説明する。
(1)アプリケーションプログラムは、記憶制御部160に対してOpen(オープン)システムコールを発行して、読み出すデータを記憶しているファイル名を指定する。
(2)記憶制御部160は、指定されたファイル名から、そのデータを記憶している2次ストレージ122中のブロック(1つまたは複数)のアドレスを得る。
(3)アプリケーションプログラムは、Read(リード)システムコールを発行してデータを読み出すことを記憶制御部160に指示する。
(4)記憶制御部160は、読み出すべきデータを記憶している2次ストレージ122中のブロックのデータがディスクキャッシュ中に存在するか否かを調べる。ディスクキャッシュ中に存在すれば、記憶制御部160は、そのデータをアプリケーションプログラムに返す(図4のR2)。ディスクキャッシュ中に存在しなければ、記憶制御部160(第1書込部161)は、2次ストレージ122からデータを読み出してディスクキャッシュ中の未使用ブロックに書き込む(図4のR1)とともに、そのデータをアプリケーションプログラムに返す(図4のR2)。
次に、アプリケーションプログラムが2次ストレージ122にデータを書き込む際の処理の手順(以下の(1)〜(5))を、図4を用いて説明する。
(1)アプリケーションプログラムは、記憶制御部160に対してOpen(オープン)システムコールを発行して、データを書き込むファイル名を指定する。
(2)アプリケーションプログラムは、Write(ライト)システムコールを発行して書き込むデータを記憶制御部160に伝える。
(3)新しいファイルに書き込む場合は、以下の(4)のように書込みの処理を行う。既に存在するファイルに上書きする場合は以下の(5)のように書き込みの処理を行う。既に存在するファイルへの上書きの場合でも、既に2次ストレージ122が割り当てられている範囲を超えてファイルを大きくする場合は、新しく増えるブロックに関しては以下の(4)の手順で書き込みの処理を行う。
(4)新しいファイルに書き込む場合は、第1書込部161は、ディスクキャッシュ中の未使用ブロックを必要な個数確保してアプリケーションプログラムから渡されたデータを書き込む(図4のW1)。対応管理部163は、データを書き込んだブロックを使用中として管理する。さらに、対応管理部163は、そのデータを書き込むために必要な個数の2次ストレージ122中の未使用ブロックを確保し、対応するディスクキャッシュ中のブロックと対応付けて管理する。
(5)既に存在するファイルに上書きする場合は、対応管理部163は、指定されたファイル名から、そのデータを記憶している2次ストレージ122中のブロック(1つまたは複数)のアドレスを得る。2次ストレージ122中のブロックに対応するディスクキャッシュのブロックが既に使用中として存在する場合は、第1書込部161は、そのブロックにデータを書き込む(図4のW1)。また、対応管理部163は、そのブロックをダーティとして管理する。2次ストレージ122中のブロックに対応するディスクキャッシュのブロックがまだ存在しない場合には、対応管理部163は、ディスクキャッシュ中の未使用のブロックを割り当てる。そして、第1書込部161は、割り当てられたブロックにデータを書き込む(図4のW1)。また、対応管理部163は、データを書き込んだブロックを使用中かつダーティとするとともに対応する2次ストレージ122のブロックと対応付けて管理する。
ディスクキャッシュ中のダーティな使用中のブロック、すなわちアプリケーションプログラムが書き込んだデータを記憶しているブロックで、そのデータがまだ対応する2次ストレージ122中のブロックに書き込まれていないブロックは、所定のタイミングで第2書込部162が2次ストレージ122への書き込みを実行する(図4のW2)。この処理はフラッシュ処理と呼ばれる。例えばLinux(登録商標)の場合には、フラッシュ処理はpdflushと呼ぶデーモンプログラムにより実行される。フラッシュ処理によってディスクキャッシュから2次ストレージ122へのデータの書き込みが行われるのは、Linux(登録商標)など従来の多くのオペレーティングシステムでは、主に次の2つの場合である。
(1)アプリケーションプログラムが書き込んだデータを記憶するディスクキャッシュ中の使用中でダーティなブロックで、書き込まれてから長い時間そのデータを2次ストレージ122へ書き込んでいないブロックが存在する場合:この場合、第2書込部162は、そのブロックのデータを対応する2次ストレージ122に書き込む。そして対応管理部163は、そのブロックを使用中だがダーティでない状態にする。なお、ディスクキャッシュ中で使用中かつダーティであったブロックを未使用でなく使用中かつダーティでないブロックにする理由は、後にアプリケーションプログラムがそのデータを読み出す場合にディスクキャッシュ中のデータを読めるようにするためである。ディスクキャッシュ中で使用中だがダーティでないブロックは、必要に応じて未使用ブロックとして扱うことができる。
(2)ディスクキャッシュ中に使用中でダーティなブロックが多くなり、未使用のブロックや使用中だがダーティでないブロックが少なくなった場合:この場合、第2書込部162は、使用中でダーティなブロックのデータを対応する2次ストレージ122に書き込む。そして対応管理部163は、そのブロックを使用中だがダーティでない状態、または未使用状態にする。
このようなフラッシュ処理は、図5に示すような手順で実行される。図5は、フラッシュ処理の一例を示すフローチャートである。
まず、記憶制御部160が、ディスクキャッシュ中に使用中でダーティな状態になってから予め決められた一定時間(例えば数十秒)以上経過しているブロックが存在するか否かを判断する(ステップS101)。存在する場合(ステップS101:Yes)、第2書込部162が、対応する2次ストレージ122のブロックにデータを書き出す(ステップS102)。対応管理部163は、当該ブロックを使用中だがダーティではない状態にして管理する。
一定時間以上経過しているブロックが存在しない場合(ステップS101:No)、記憶制御部160は、さらに、ディスクキャッシュ中の未使用ブロックが不足しているか否かを判断する(ステップS103)。例えば、記憶制御部160は、ディスクキャッシュ中の未使用ブロックの個数が予め決められた閾値(第2閾値)以上であるか否かを判断し、個数が閾値より小さい場合に不足していると判断する。
不足していない場合は(ステップS103:No)、ステップS101に戻り処理を繰り返す。不足している場合は(ステップS103:Yes)、第2書込部162は、ディスクキャッシュ中で使用中かつダーティであるブロックを選択し、選択したブロックのデータを対応する2次ストレージ122に書き込む(ステップS104)。対応管理部163は、データを書き込んだブロックを使用中だがダーティでない状態にする。なお、未使用ブロックが不足しているか否かを判断する際は、使用中でもダーティでないブロックはいつでも未使用ブロックにできるので、未使用ブロックとして数えて良い。
本実施形態の情報処理装置100は、さらに図6に示すように、蓄電部131の電力量に応じてフラッシュ処理を実行するか否かを切り替える。図6は、本実施形態のフラッシュ処理の全体の流れを示すフローチャートである。図6のフラッシュ処理は、図5と比較して、蓄電部131の電力量を考慮するステップS202が追加される点が相違する。その他のステップS201、ステップS203〜ステップS205は、それぞれ図5のステップS101、ステップS102〜ステップS104と同様であるため詳細な説明を省略する。
すなわち、ディスクキャッシュ中に使用中でダーティな状態になってから予め決められた一定時間(例えば数十秒)以上経過しているブロックが存在するか否か調べられる(ステップS201)。そのようなブロックが存在すれば(ステップS201:Yes)、記憶制御部160は、蓄電部131の電力量に余裕があるか否かを判断する(ステップS202)。記憶制御部160は、上述のように、例えば電源制御部130からの割り込み、または、現在の電力量を要求するコマンドに対する応答から、蓄電部131の現在の電力量を取得する。そして、記憶制御部160は、例えば、蓄電部131の電力量が予め決められた閾値(第1閾値)より大きい場合に、電力量に余裕があると判断する(ステップS202:Yes)。この場合、第2書込部162が、対応する2次ストレージ122のブロックにデータを書き出す(ステップS203)。また、対応管理部163が、ディスクキャッシュ中の使用中でダーティなブロックを、使用中だがダーティではない状態にして管理する。
電力量に余裕がない場合(ステップS202:No)、2次ストレージ122への書き込みを実行せずに、ステップS101に戻って処理を繰り返す。これにより、消費電力を削減できる。
なお、蓄電部131の電力量を判断する処理(ステップS202)は、図6のタイミングで実行する必要はない。例えば、図6のステップS201とステップS202の順序を入れ替えても良い。また、ステップS204の判断がYesの場合、さらにステップS202と同様に蓄電部131の電力量を判断する処理を行い、電力に余裕がある場合にのみステップS205の処理を行っても良い。
情報処理装置100は、不揮発メモリ121にディスクキャッシュの領域を確保しているため、障害発生時にもディスクキャッシュ中の使用中かつダーティなブロックのデータは失われない。そのため、オペレーティングシステムのブート時に、前回は正常な手順でシャットダウンされたのか、または、障害で電源が遮断されたのかを判断して、障害で電源が遮断された場合にはディスクキャッシュ中で使用中かつダーティなブロック(すなわち、アプリケーションプログラムによってディスクキャッシュに書き込まれたが、まだ対応する2次ストレージ122には書き込まれていないブロック)を検出して、そのブロックのデータを2次ストレージ122に書き込むようにするのが望ましい。
この機能は、例えば以下の手順により実現できる。まず、正常にシャットダウンされたか否かを判断する領域を例えば不揮発メモリ121上に設ける。その領域には、ブート時に第1の値(例えば0)を書き込み、正常シャットダウン時に第2の値(例えば1)を書き込むようにする。記憶制御部160は、ブート時に第1の値(0)を書き込む前に、この領域に書き込まれている値を読み出す。記憶制御部160は、その値が第2の値(1)でなければ、正常にシャットダウンされていないと判断する。
本実施形態は、上記のようなオペレーティングシステムのファイルシステムなどによるデータ管理のみでなく、データベース管理システムにおける2次ストレージ122に記憶したデータベースとメインメモリ上のデータベースキャッシュの管理にも適用できる。また、仮想記憶を実現するためのスワップ用の2次ストレージ122とメインメモリに確保したページキャッシュの管理に対しても適用できる。特に最近のLinux(登録商標)やUnix(登録商標)などのオペレーティングシステムでは、ディスクキャッシュと仮想記憶のためのページキャッシュが統合されている場合がある。このように統合されたキャッシュに対して本実施形態を適用すると、ディスクキャッシュにもスワップにも本実施形態の効果を得られる。
これまでに示した実施例では、太陽電池101を供給部として用いているが、供給部は太陽電池101に限るものではない。太陽電池101以外に、ワイヤレス給電を用いて電力を外部から供給する方法や、振動や熱などから電力を得る方法を用いても良い。特に発電または供給できる電力が一定しない場合には、本実施形態は効果がある。
本実施形態により、2次ストレージ122へデータを書き込む頻度を低減できるので、2次ストレージ122への書き込みで消費する電力を削減することができる。また、蓄電部131に蓄積している電力が少ない時に、フラッシュ処理で消費する電力を削減できるので、削減した電力をユーザとの対話処理など優先度の高い処理に使うことができる。
本実施形態にかかる情報処理装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されてコンピュータプログラムプロダクトとして提供される。
また、本実施形態にかかる情報処理装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態にかかる情報処理装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
また、本実施形態のプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
本実施形態にかかる情報処理装置で実行されるプログラムは、上述した各部(表示制御部151、通信制御部152、入出力制御部153、記憶制御部160)を含むモジュール構成となっており、実際のハードウェアとしてはCPU110が2次ストレージ122などの記憶媒体からプログラムを読み出して実行することにより上記各部が主記憶部(不揮発メモリ121)上にロードされ、上述した各部が主記憶部上に生成されるようになっている。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
100 情報処理装置
101 太陽電池
102a 表示部
102b タッチパネル
103 キーボード
111 通信インタフェース
121 不揮発メモリ
122 2次ストレージ
130 電源制御部
131 蓄電部
151 表示制御部
152 通信制御部
153 入出力制御部
160 記憶制御部
161 第1書込部
162 第2書込部
163 対応管理部

Claims (5)

  1. 補助記憶部と、
    前記補助記憶部に記憶するデータを一時記憶するキャッシュ領域を含む不揮発性の主記憶部と、
    蓄電部と、
    データを前記キャッシュ領域に書き込む第1書込部と、
    前記蓄電部の電力量が予め定められた第1閾値より大きい場合に、前記キャッシュ領域に書き込まれた前記データを前記補助記憶部に書き込む第2書込部と、
    を備えることを特徴とする情報処理装置。
  2. 前記第2書込部は、前記電力量が前記第1閾値より大きく、かつ、前記キャッシュ領域に書き込まれてから一定時間経過した前記データを前記補助記憶部に書き込むこと、
    を特徴とする請求項1に記載の情報処理装置。
  3. 前記第1書込部は、予め定められたサイズの記憶領域であるブロックを単位として前記データを前記キャッシュ領域に書込み、
    前記第2書込部は、さらに、前記キャッシュ領域でデータが書き込まれていない前記ブロックの個数が予め定められた第2閾値より小さい場合に、前記キャッシュ領域に書き込まれた前記データを前記補助記憶部に書き込むこと、
    を特徴とする請求項1に記載の情報処理装置。
  4. 前記蓄電部に電力を供給する供給部をさらに備えること、
    を特徴とする請求項1に記載の情報処理装置。
  5. 補助記憶部と、前記補助記憶部に記憶するデータを一時記憶するキャッシュ領域を含む不揮発性の主記憶部と、蓄電部と、を備えるコンピュータを、
    データを前記キャッシュ領域に書き込む第1書込部と、
    前記蓄電部の電力量が予め定められた第1閾値より大きい場合に、前記キャッシュ領域に書き込まれた前記データを前記補助記憶部に書き込む第2書込部、
    として機能させるためのプログラム。
JP2011066649A 2011-03-24 2011-03-24 情報処理装置およびプログラム Pending JP2012203583A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011066649A JP2012203583A (ja) 2011-03-24 2011-03-24 情報処理装置およびプログラム
US13/345,818 US20120246390A1 (en) 2011-03-24 2012-01-09 Information processing apparatus, program product, and data writing method
JP2013134287A JP2013232216A (ja) 2011-03-24 2013-06-26 情報処理装置およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011066649A JP2012203583A (ja) 2011-03-24 2011-03-24 情報処理装置およびプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2013134287A Division JP2013232216A (ja) 2011-03-24 2013-06-26 情報処理装置およびプログラム

Publications (1)

Publication Number Publication Date
JP2012203583A true JP2012203583A (ja) 2012-10-22

Family

ID=46878296

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2011066649A Pending JP2012203583A (ja) 2011-03-24 2011-03-24 情報処理装置およびプログラム
JP2013134287A Pending JP2013232216A (ja) 2011-03-24 2013-06-26 情報処理装置およびプログラム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2013134287A Pending JP2013232216A (ja) 2011-03-24 2013-06-26 情報処理装置およびプログラム

Country Status (2)

Country Link
US (1) US20120246390A1 (ja)
JP (2) JP2012203583A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014167700A (ja) * 2013-02-28 2014-09-11 Toshiba Corp 計算機、メモリ管理方法およびプログラム
JP2015135603A (ja) * 2014-01-17 2015-07-27 株式会社東芝 ストレージ装置及びデータを書き込む記憶領域を選択する方法
JP2015186372A (ja) * 2014-03-25 2015-10-22 日本電気株式会社 情報処理装置

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5674611B2 (ja) 2011-09-22 2015-02-25 株式会社東芝 制御システム、制御方法およびプログラム
JP5674613B2 (ja) 2011-09-22 2015-02-25 株式会社東芝 制御システム、制御方法およびプログラム
JP2013149093A (ja) 2012-01-19 2013-08-01 Toshiba Corp 制御装置、制御方法、プログラムおよび電子機器
JP6113538B2 (ja) 2012-03-23 2017-04-12 株式会社東芝 制御装置、制御方法、プログラムおよび半導体装置
JP5677376B2 (ja) 2012-07-06 2015-02-25 株式会社東芝 メモリ制御装置、半導体装置、およびシステムボード
JP5787852B2 (ja) 2012-09-07 2015-09-30 株式会社東芝 制御装置、情報処理装置、制御方法およびプログラム
JP5696110B2 (ja) 2012-09-19 2015-04-08 株式会社東芝 電源システム、電源制御装置およびプログラム
JP5802637B2 (ja) 2012-09-21 2015-10-28 株式会社東芝 情報処理装置、情報処理方法およびプログラム
JP6087662B2 (ja) 2013-02-28 2017-03-01 株式会社東芝 制御装置、制御プログラム及び情報処理システム
JP6054203B2 (ja) 2013-02-28 2016-12-27 株式会社東芝 情報処理装置、デバイス制御方法及びプログラム
JP6116941B2 (ja) 2013-02-28 2017-04-19 株式会社東芝 情報処理装置
JP6071647B2 (ja) 2013-02-28 2017-02-01 株式会社東芝 情報処理装置、動作状態制御方法及びプログラム
CN103218430B (zh) * 2013-04-11 2016-03-02 华为技术有限公司 控制数据写入的方法、系统及设备
PL2789741T5 (pl) * 2013-04-12 2019-05-31 Voegele Ag J Wykańczarka z urządzeniem termograficznym
US9274899B2 (en) 2013-07-11 2016-03-01 Red Hat, Inc. Providing non-volatile memory for suspend-to-random access memory
JP2015064676A (ja) 2013-09-24 2015-04-09 株式会社東芝 情報処理装置、半導体装置、情報処理方法およびプログラム
JP6184891B2 (ja) 2014-03-12 2017-08-23 東芝メモリ株式会社 情報処理装置、半導体チップ、情報処理方法およびプログラム
KR102693841B1 (ko) * 2019-07-31 2024-08-12 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
CN112818021B (zh) * 2021-02-23 2024-02-02 东莞中国科学院云计算产业技术创新与育成中心 数据请求处理方法、装置、计算机设备和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04287108A (ja) * 1991-03-15 1992-10-12 Oki Electric Ind Co Ltd ディスクキャッシュ装置
JPH06149483A (ja) * 1992-11-13 1994-05-27 Ricoh Co Ltd コンピュータシステム
JPH11288387A (ja) * 1998-12-11 1999-10-19 Fujitsu Ltd ディスクキャッシュ装置
JP2003167781A (ja) * 2001-11-30 2003-06-13 Matsushita Electric Ind Co Ltd 磁気ディスク装置およびデータ読み出し制御方法
JP2005190385A (ja) * 2003-12-26 2005-07-14 Fujitsu Ltd ディスクキャッシュ装置
JP2005313407A (ja) * 2004-04-28 2005-11-10 Mitsui Chemicals Inc ポリイミド金属積層板の製造方法
JP2010044727A (ja) * 2008-08-13 2010-02-25 Park:Kk データストレージ・キャッシュ装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5448719A (en) * 1992-06-05 1995-09-05 Compaq Computer Corp. Method and apparatus for maintaining and retrieving live data in a posted write cache in case of power failure
JP3062050B2 (ja) * 1995-07-21 2000-07-10 インターナショナル・ビジネス・マシーンズ・コーポレ−ション ディスク駆動制御方法及び装置
US6801994B2 (en) * 2000-12-20 2004-10-05 Microsoft Corporation Software management systems and methods for automotive computing devices
US7035155B2 (en) * 2002-09-26 2006-04-25 Xware Technology, Inc. Dynamic memory management
JP4561462B2 (ja) * 2005-05-06 2010-10-13 富士通株式会社 ダーティデータ処理方法、ダーティデータ処理装置およびダーティデータ処理プログラム
JP2009075759A (ja) * 2007-09-19 2009-04-09 Hitachi Ltd ストレージ装置及びストレージ装置におけるデータの管理方法
JP2009205662A (ja) * 2008-02-28 2009-09-10 Toshiba Personal Computer System Kk パソコンの電源供給装置、電源供給方法及びプログラム
JP2010026969A (ja) * 2008-07-24 2010-02-04 Hitachi Ltd データ処理装置
JP5581577B2 (ja) * 2008-08-29 2014-09-03 富士通株式会社 データ処理装置
US8806271B2 (en) * 2008-12-09 2014-08-12 Samsung Electronics Co., Ltd. Auxiliary power supply and user device including the same
JP5514364B2 (ja) * 2010-08-27 2014-06-04 株式会社日立製作所 記憶制御装置及び記憶制御装置の動作モード制御方法
WO2012172608A1 (en) * 2011-06-16 2012-12-20 Hitachi, Ltd. Storage system and control method for a storage system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04287108A (ja) * 1991-03-15 1992-10-12 Oki Electric Ind Co Ltd ディスクキャッシュ装置
JPH06149483A (ja) * 1992-11-13 1994-05-27 Ricoh Co Ltd コンピュータシステム
JPH11288387A (ja) * 1998-12-11 1999-10-19 Fujitsu Ltd ディスクキャッシュ装置
JP2003167781A (ja) * 2001-11-30 2003-06-13 Matsushita Electric Ind Co Ltd 磁気ディスク装置およびデータ読み出し制御方法
JP2005190385A (ja) * 2003-12-26 2005-07-14 Fujitsu Ltd ディスクキャッシュ装置
JP2005313407A (ja) * 2004-04-28 2005-11-10 Mitsui Chemicals Inc ポリイミド金属積層板の製造方法
JP2010044727A (ja) * 2008-08-13 2010-02-25 Park:Kk データストレージ・キャッシュ装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014167700A (ja) * 2013-02-28 2014-09-11 Toshiba Corp 計算機、メモリ管理方法およびプログラム
JP2015135603A (ja) * 2014-01-17 2015-07-27 株式会社東芝 ストレージ装置及びデータを書き込む記憶領域を選択する方法
JP2015186372A (ja) * 2014-03-25 2015-10-22 日本電気株式会社 情報処理装置
US9760152B2 (en) 2014-03-25 2017-09-12 Nec Corporation Information processing device

Also Published As

Publication number Publication date
JP2013232216A (ja) 2013-11-14
US20120246390A1 (en) 2012-09-27

Similar Documents

Publication Publication Date Title
JP2013232216A (ja) 情報処理装置およびプログラム
JP6517684B2 (ja) メモリシステムおよび制御方法
EP2936272B1 (en) Reducing power consumption of volatile memory via use of non-volatile memory
US9626126B2 (en) Power saving mode hybrid drive access management
JP6785204B2 (ja) メモリシステムおよび制御方法
TW201818249A (zh) 操作對多重名稱空間進行管理的儲存裝置的方法
JP2018049522A (ja) メモリシステム及び制御方法
CN107908571B (zh) 一种数据写入方法、闪存装置及存储设备
US9323460B2 (en) Assigning priorities to data for hybrid drives
KR20120031971A (ko) 비-휘발성 메모리를 구비한 시스템에 대한 전력 예산의 동적 할당
KR20140006299A (ko) 낸드 플래시 메모리 기반의 저장부에 데이터 기록을 제어하는 방법 및 장치
US20110197019A1 (en) Method of accelerating access to primary storage and storage system adopting the method
US20200042357A1 (en) Os/hypervisor-based persistent memory
CN112051970A (zh) 混合驱动器的脏数据管理
US20130212317A1 (en) Storage and Host Devices for Overlapping Storage Areas for a Hibernation File and Cached Data
KR20200072639A (ko) 저장 장치 및 그것의 동작 방법
CN111694511A (zh) 存储装置和包括存储装置的计算装置
US20140297927A1 (en) Information processing apparatus, information processing method, and recording medium
JP2014032582A (ja) 画像処理装置、画像処理装置のストレージデバイス制御方法、及びプログラム
WO2019165774A1 (zh) 一种双镜像共享conf分区文件的设计方法及装置
US8433873B2 (en) Disposition instructions for extended access commands
JP2011090460A (ja) データ記憶装置およびデータ記憶装置における制御方法
US8627126B2 (en) Optimized power savings in a storage virtualization system
JP2011186563A (ja) メモリ管理装置およびメモリ管理方法
JP2011186558A (ja) メモリ管理装置及び方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130108

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130311

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130402