特許第6054203号(P6054203)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社東芝の特許一覧
特許6054203情報処理装置、デバイス制御方法及びプログラム
<>
  • 特許6054203-情報処理装置、デバイス制御方法及びプログラム 図000002
  • 特許6054203-情報処理装置、デバイス制御方法及びプログラム 図000003
  • 特許6054203-情報処理装置、デバイス制御方法及びプログラム 図000004
  • 特許6054203-情報処理装置、デバイス制御方法及びプログラム 図000005
  • 特許6054203-情報処理装置、デバイス制御方法及びプログラム 図000006
  • 特許6054203-情報処理装置、デバイス制御方法及びプログラム 図000007
  • 特許6054203-情報処理装置、デバイス制御方法及びプログラム 図000008
  • 特許6054203-情報処理装置、デバイス制御方法及びプログラム 図000009
  • 特許6054203-情報処理装置、デバイス制御方法及びプログラム 図000010
  • 特許6054203-情報処理装置、デバイス制御方法及びプログラム 図000011
  • 特許6054203-情報処理装置、デバイス制御方法及びプログラム 図000012
  • 特許6054203-情報処理装置、デバイス制御方法及びプログラム 図000013
  • 特許6054203-情報処理装置、デバイス制御方法及びプログラム 図000014
  • 特許6054203-情報処理装置、デバイス制御方法及びプログラム 図000015
  • 特許6054203-情報処理装置、デバイス制御方法及びプログラム 図000016
  • 特許6054203-情報処理装置、デバイス制御方法及びプログラム 図000017
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6054203
(24)【登録日】2016年12月9日
(45)【発行日】2016年12月27日
(54)【発明の名称】情報処理装置、デバイス制御方法及びプログラム
(51)【国際特許分類】
   G06F 1/32 20060101AFI20161219BHJP
   G06F 1/28 20060101ALI20161219BHJP
   G06F 1/26 20060101ALI20161219BHJP
【FI】
   G06F1/32 B
   G06F1/28 Z
   G06F1/26 334D
【請求項の数】9
【全頁数】20
(21)【出願番号】特願2013-40176(P2013-40176)
(22)【出願日】2013年2月28日
(65)【公開番号】特開2014-167781(P2014-167781A)
(43)【公開日】2014年9月11日
【審査請求日】2015年9月14日
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】瀬川 淳一
(72)【発明者】
【氏名】金井 達徳
(72)【発明者】
【氏名】木村 哲郎
(72)【発明者】
【氏名】城田 祐介
(72)【発明者】
【氏名】吉村 礎
(72)【発明者】
【氏名】樽家 昌也
(72)【発明者】
【氏名】春木 洋美
(72)【発明者】
【氏名】白井 智
(72)【発明者】
【氏名】藤崎 浩一
(72)【発明者】
【氏名】柴田 章博
(72)【発明者】
【氏名】外山 春彦
【審査官】 片岡 利延
(56)【参考文献】
【文献】 特開2012−063907(JP,A)
【文献】 特開平09−081284(JP,A)
【文献】 米国特許第08359425(US,B1)
【文献】 米国特許第07913100(US,B1)
【文献】 特開2012−198643(JP,A)
【文献】 特開2011−238206(JP,A)
【文献】 特開2013−020593(JP,A)
【文献】 特開2011−129100(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 1/32
G06F 1/26
G06F 1/28
(57)【特許請求の範囲】
【請求項1】
第1デバイスの動作を制御する第1制御部と、
第2デバイスの動作を制御する第2制御部とを備え、
前記第1制御部は、
前記第1デバイスの処理開始の指示を含む第1リクエストを受信する第1リクエスト処理部と、
前記第1リクエストを受信したことを前記第2制御部に通知する通知部と、
前記第1リクエストにより指示される動作を実行する第1実行部とを備え、
前記第2制御部は、
前記第2デバイスの処理開始の指示を含む第2リクエストを受信する第2リクエスト処理部と、
前記第2リクエスト処理部が前記第2リクエストを受信したときに、前記第1デバイスがアクティブ状態でない場合に、前記第2リクエストを記憶する記憶部と、
前記通知を受信する通知受信部と、
前記第1デバイスがアクティブ状態の場合に、前記第2リクエスト処理部が受信した前記第2リクエストを実行し、前記通知受信部が前記通知を受信したときに、前記記憶部に記憶されていた前記第2リクエストを実行する第2実行部と
を備える情報処理装置。
【請求項2】
前記第2制御部は、
前記情報処理装置の電力量を監視する電力量監視部を更に備え、
前記第2実行部は、前記電力量が所定の値以上ある場合は、前記第2リクエスト処理部が受信した前記第2リクエストを実行する
請求項1に記載の情報処理装置。
【請求項3】
前記情報処理装置は、
複数の前記第1制御部を備え、
前記第2実行部は、
いずれか1つの前記第1デバイスがアクティブ状態の場合に、前記第2リクエスト処理部が受信した前記第2リクエストを実行し、前記通知受信部が前記通知を受信したときに、前記記憶部に記憶されていた前記第2リクエストを実行する
請求項1又は2に記載の情報処理装置。
【請求項4】
前記情報処理装置は、
複数の前記第2制御部を備え、
前記通知部は、
前記複数の第2制御部の前記通知受信部に前記通知を通知し、
前記第2実行部は、
前記第1デバイスがアクティブ状態である場合に、前記第2リクエスト処理部が受信した前記第2リクエストを実行し、前記通知受信部が前記通知を受信したときに、前記記憶部に記憶されていた前記第2リクエストを実行する
請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
前記第2デバイスは、プロセッサであり、
前記第2リクエストは、前記プロセッサで実行するプログラムの実行開始を指示するリクエストである
請求項1乃至4のいずれか1項に記載の情報処理装置。
【請求項6】
前記第2制御部は、
前記第2リクエストを前記記憶部に記憶するときにタイマを設定するタイマ設定部を更に備え、
前記第2実行部は、
前記タイマが満了したときに、前記記憶部に記憶された前記第2リクエストを実行する
請求項1乃至5のいずれか1項に記載の情報処理装置。
【請求項7】
第1デバイスの動作を制御する第1制御部と、
第2デバイスの動作を制御する第2制御部とを備え、
前記第1制御部は、
前記第1デバイスの処理開始の指示を含む第1リクエストを受信する第1リクエスト処理部と、
前記第1リクエストを受信したことを前記第2制御部に通知する通知部と、
前記第1リクエストにより指示される動作を実行する第1実行部とを備え、
前記第2制御部は、
前記第2デバイスの処理開始の指示を含む第2リクエストを受信する第2リクエスト処理部と、
前記通知を受信する通知受信部と、
前記第1デバイスがアクティブ状態の場合に、前記第2リクエスト処理部が前記第2リクエストを受信すると、受信した前記第2リクエストを実行し、前記第1デバイスがアクティブ状態でない場合に、前記第2リクエスト処理部が前記第2リクエストを受信すると、前記通知を受信してから前記第2リクエストを実行する第2実行部と
を備える情報処理装置。
【請求項8】
第1デバイスの動作を制御する第1制御部と、第2デバイスの動作を制御する第2制御部とを備える情報処理装置のデバイス制御方法であって、
前記第1制御部の第1リクエスト処理部が、前記第1デバイスの処理開始の指示を含む第1リクエストを受信するステップと、
前記第1制御部の通知部が、前記第1リクエストを受信したことを前記第2制御部に通知するステップと、
前記第1制御部の第1実行部が、前記第1リクエストにより指示される動作を実行するステップと、
前記第2制御部の第2リクエスト処理部が、前記第2デバイスの処理開始の指示を含む第2リクエストを受信するステップと、
前記第2制御部の記憶部が、前記第1デバイスがアクティブ状態でない場合に、前記第2リクエストを記憶するステップと、
前記第2制御部の通知受信部が、前記通知を受信するステップと、
前記第2制御部の第2実行部が、前記第1デバイスがアクティブ状態の場合に、前記第2リクエスト処理部が受信した前記第2リクエストを実行し、前記通知受信部が前記通知を受信したときに、前記記憶部に記憶されていた前記第2リクエストを実行するステップと
を含むデバイス制御方法。
【請求項9】
第1デバイスの動作を制御する第1制御部と、
第2デバイスの動作を制御する第2制御部として機能させるためのプログラムであって、
前記第1制御部は、
前記第1デバイスの処理開始の指示を含む第1リクエストを受信する第1リクエスト処理部と、
前記第1リクエストを受信したことを前記第2制御部に通知する通知部と、
前記第1リクエストにより指示される動作を実行する第1実行部と、を備え、
前記第2制御部は、
前記第2デバイスの処理開始の指示を含む第2リクエストを受信する第2リクエスト処理部と、
前記第1デバイスがアクティブ状態でない場合に、前記第2リクエストを記憶する記憶部と、
前記通知を受信する通知受信部と、
前記第1デバイスがアクティブ状態の場合に、前記第2リクエスト処理部が受信した前記第2リクエストを実行し、前記通知受信部が前記通知を受信したときに、前記記憶部に記憶されていた前記第2リクエストを実行する第2実行部と、を備える、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理装置、デバイス制御方法及びプログラムに関する。
【背景技術】
【0002】
近年の機器は、様々なデバイスを搭載しているため、省電力化を考慮したデバイスの制御を行えば、機器全体の消費電力を抑えることができる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許第7913100号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明が解決しようとする課題は、情報処理装置のデバイスのハードウェア構成を変更せずに省電力化を実現できる情報処理装置、デバイス制御方法及びプログラムを提供することである。
【課題を解決するための手段】
【0005】
実施形態の情報処理装置は、第1デバイスと、第2デバイスと、第1デバイスに処理の開始・終了などを行わせる第1デバイスコントローラと、第2デバイスに処理の開始・終了などを行わせる第2デバイスコントローラと、前記第1デバイスの動作を制御する第1制御部と、前記第2デバイスの動作を制御する第2制御部とを備える。前記第1制御部は、第1リクエスト処理部と、通知部と、第1実行部とを備える。前記第2制御部は、第2リクエスト処理部と、記憶部と、通知受信部と、第2実行部とを備える。第1リクエスト処理部は、前記第1デバイスの処理開始の指示を含む第1リクエストを受信する。通知部は、前記第1リクエストを受信したことを前記第2制御部に通知する。第1実行部は、前記第1リクエストにより指示される処理開始の指示を第1デバイスコントローラに行い、第1デバイスコントローラが第1デバイスの処理の実行を開始させる。第2リクエスト処理部は、前記第2デバイスの処理開始の指示を含む第2リクエストを受信する。記憶部は、前記第1デバイスがアクティブ状態でない場合に、前記第2リクエストを記憶する。通知受信部は、前記通知を受信する。第2実行部は、前記第1デバイスがアクティブ状態の場合に、前記第2リクエスト処理部が受信した前記第2リクエストを記憶せずに実行し、前記通知受信部が前記通知を受信したときに、前記記憶部に記憶されていた前記第2リクエストをを取り出し、処理開始の指示を第2デバイスコントローラに行い、第2デバイスコントローラが第2デバイスの処理の実行を開始させる。
【0006】
実施形態のデバイス制御方法は、第1デバイスと、第2デバイスと、第1デバイスに処理の開始・終了などを行わせる第1デバイスコントローラと、第2デバイスに処理の開始・終了などを行わせる第2デバイスコントローラと、前記第1デバイスの動作を制御する第1制御部と、前記第2デバイスの動作を制御する第2制御部とを備える情報処理装置のデバイス制御方法である。デバイス制御方法は、前記第1制御部の第1リクエスト処理部が、前記第1デバイスの処理開始の指示を含む第1リクエストを受信するステップと、前記第1制御部の通知部が、前記第1リクエストを受信したことを前記第2制御部に通知するステップと、前記第1制御部の第1実行部が、前記第1リクエストにより指示される処理開始の指示を第1デバイスコントローラに行い、第1デバイスの処理の実行を開始させるステップと、前記第2制御部の第2リクエスト処理部が、前記第2デバイスの処理開始の指示を含む第2リクエストを受信するステップと、前記第2制御部の記憶部が、前記第1デバイスがアクティブ状態でない場合に、前記第2リクエストを記憶するステップと、前記第2制御部の通知受信部が、前記通知を受信するステップと、前記第2制御部の第2実行部が、前記第1デバイスがアクティブ状態の場合に、前記第2リクエスト処理部が受信した前記第2リクエストを記憶せずに処理開始の指示を第2デバイスコントローラに行い第2デバイスコントローラが第2デバイスに処理を開始させ、前記通知受信部が前記通知を受信したときに、前記記憶部に記憶されていた前記第2リクエストに含まれる処理開始の指示を第2デバイスコントローラに行い第2デバイスコントローラが第2デバイスに処理を開始させるステップとを含む。
【0007】
実施形態のプログラムは、第1デバイスと第2デバイスと第1デバイスに処理の開始・終了などを行わせる第1デバイスコントローラと、第2デバイスに処理の開始・終了などを行わせる第2デバイスコントローラを含むコンピュータを、前記第1デバイスの動作を制御する第1制御部と、前記第2デバイスの動作を制御する第2制御部として機能させる。前記第1制御部は、第1リクエスト処理部と、通知部と、第1実行部とを備える。前記第2制御部は、第2リクエスト処理部と、記憶部と、通知受信部と、第2実行部とを備える。第1リクエスト処理部は、前記第1デバイスの処理開始の指示を含む第1リクエストを受信する。通知部は、前記第1リクエストを受信したことを前記第2制御部に通知する。第1実行部は、前記第1リクエストにより指示される処理開始の指示を第1デバイスコントローラに行い、第1デバイスの処理の実行を開始させる。第2リクエスト処理部は、前記第2デバイスの処理開始の指示を含む第2リクエストを受信する。記憶部は、前記第1デバイスがアクティブ状態でない場合に、前記第2リクエストを記憶する。通知受信部は、前記通知を受信する。第2実行部は、前記第1デバイスがアクティブ状態の場合に、前記第2リクエスト処理部が受信した前記第2リクエストを記憶せずに第2リクエストにより指示される処理開始の指示を第2デバイスコントローラに行い、第2デバイスコントローラが第2デバイスに処理を開始させ、前記通知受信部が前記通知を受信したときに、前記記憶部に記憶されていた前記第2リクエストにより指示される処理開始の指示を第2デバイスコントローラに行い、第2デバイスコントローラが第2デバイスに処理を開始させる。
【図面の簡単な説明】
【0008】
図1】第1実施形態の情報処理装置の機能ブロックの構成の一例を示す図。
図2】第1実施形態の第2リクエスト処理部の機能ブロックの構成の一例を示す図。
図3】第1実施形態の情報処理装置のハードウェア構成の一例を示す図。
図4】第1実施形態の第1制御部の動作の一例を示すフローチャート。
図5】第1実施形態の第2制御部の動作の一例を示すフローチャート。
図6】第1実施形態の通知受信部が通知を受信したときの動作の一例を示すフローチャート。
図7】第1実施形態のデバイス制御方法の一例(EPD及びNANDフラッシュ)を示す図。
図8】第1実施形態のデバイス制御方法の一例(EPD及び無線LANデバイス)を示す図。
図9】第2実施形態の情報処理装置の機能ブロックの一例を示す図。
図10】第2実施形態の第2制御部の動作の一例を示すフローチャート。
図11】第3実施形態の情報処理装置の機能ブロックの一例を示す図。
図12】第3実施形態の情報処理装置のデバイス制御方法の一例を示す図。
図13】第4実施形態の情報処理装置の機能ブロックの一例を示す図。
図14】従来の情報処理装置のデバイス制御方法の一例を示す図。
図15】第4実施形態の情報処理装置のデバイス制御方法の一例を示す図。
図16】第1実施形態の変形例の情報処理装置の機能ブロックの構成の一例を示す図。
【発明を実施するための形態】
【0009】
(第1の実施形態)
図1は、第1実施形態の情報処理装置100の機能ブロックの構成の一例を示す図である。本実施形態の情報処理装置100は、第1制御部10、第1デバイスコントローラ14、第1デバイス15、第2制御部20、第2デバイスコントローラ26、第2デバイス27、PMIC39、クロック制御モジュール31を備える。第1制御部10は、第1リクエスト処理部11、通知部12、アクティブ状態フラグ管理部16及び第1実行部13を備える。第2制御部20は、第2リクエスト処理部21、記憶部22、タイマ設定部23、通知受信部24、第2実行部25、を備える。
【0010】
第1デバイス15及び第2デバイス27は、情報処理装置100を構成するデバイスの一つである。第1デバイス15及び第2デバイス27は、任意のデバイスでよい。
【0011】
第1リクエスト処理部11は、第1デバイス15の処理開始の指示を含むリクエスト(以下「第1リクエスト」という)を第1制御部の外部から受信する。第1リクエストを送信するのは、例えば情報処理装置100で実行しているアプリケーションやオペレーティング・システム、デバイスドライバなどである。第1リクエスト処理部11が第1リクエストを受信すると、第1リクエスト処理部11は通知部12に通知する。通知部12は、第1リクエスト処理部11から通知を受けると、第1リクエストを受信したことを第2制御部20(通知受信部24)に通知する。また、第1リクエスト処理部11が第1リクエストを受信すると第1実行部13に第1リクエストを送る。第1実行部13は、第1リクエストを受けとり、第1デバイスコントローラ14に処理開始の指示を送り、第1デバイスコントローラ14が第1リクエストで指示された処理を第1デバイス15に開始させる。アクティブ状態フラグ管理部16は、第1デバイスがアクティブ状態であるか否かを示すフラグを管理するものであり、第1実行部13が第1デバイスコントローラ14に処理開始の指示を送る際に、第1実行部13からアクティブ状態フラグ管理部16に実行開始の通知を行い、それを受けてアクティブ状態フラグ管理部16は、フラグをONにしてアクティブ状態であることを示す。また、第1デバイス15は処理を終了したらアクティブ状態フラグ管理部16に処理終了の通知を送り、アクティブ状態フラグ管理部16は、フラグをOFFにする。
【0012】
第2リクエスト処理部21は、第2デバイス27の処理開始の指示を含むリクエスト(以下「第2リクエスト」という)を第2制御部20の外部から受信する。第2リクエストを送信するのは、例えば情報処理装置100で実行しているアプリケーションやオペレーティング・システム、デバイスドライバなどである。
【0013】
図2は第1実施形態の第2リクエスト処理部21の機能ブロックの構成の一例を示す図である。第2リクエスト処理部21は、受信部28及び判定部29を備える。受信部28は、第2リクエストを受信する。
【0014】
第2リクエスト処理部21の受信部28は、第2リクエスト処理部21の判定部29に対し、第1デバイス15がアクティブ状態であるか否かを問い合わせる。第1デバイス15がアクティブ状態であるとはデバイスが処理を実行中である場合のことであり、例えば、第1デバイス15にクロックが送られている場合、第1デバイス15もしくは第1デバイスコントローラ14のステータスレジスタがONを示している場合、PMIC39が第1デバイス15に電力を供給している場合、第1制御部10のアクティブ状態フラグ管理部16のフラグがアクティブ状態を示している場合などのことである。判定部29は受信部28から第1デバイス15がアクティブ状態であるか否かの問い合わせを受信すると、第1デバイス15がアクティブ状態であるかを判定する。判定方法は例えば、第1デバイス15にクロックが送られているかを調べるために判定部がクロック制御モジュール31内の第1デバイスにクロックを供給しているかを示すレジスタを参照する、または、第1デバイス15もしくは第1デバイスコントローラ14にあるアクティブ状態かを示すステータスレジスタを参照する、または、PMIC39内にある第1デバイス15に電力を供給しているかを示すレジスタを参照する、または、第1制御部10のアクティブ状態フラグ管理部16で管理しているアクティブ状態かを示すフラグを参照するかのいずれかの方法、もしくは、複数の方法にて第1デバイス15がアクティブ状態かどうかを判定する。
【0015】
判定部29にて第1デバイス15がアクティブ状態ではないと判定された場合は、第2リクエスト処理部21は記憶部22へ第2リクエストを送り、記憶部22は第2リクエストを第2リクエストを識別するIDと対応付けて記憶する。記憶部22は、複数の第2リクエストを時系列順に記憶できるように内部にキューを持つ。記憶部22は第2リクエストを記憶する際に、タイマ設定部23に対し、一定時間以上記憶部に第2リクエストが記憶されて実行されないことを防ぐため、記憶部22が記憶している第2リクエストを取り出して第2実行部に送る処理を実行するように第2リクエストを識別するIDとともにタイマを設定する。タイマを設定した時間が経過すると、タイマ設定部23は、第2リクエストを識別するIDを記憶部22に送り、記憶部22は、IDと対応する第2リクエストが記憶部に残っている場合は、その第2リクエストを第2実行部に送る。また、第2リクエスト処理部21の受信部28は、判定部29にて第1デバイス15がアクティブ状態と判定した場合には、第2リクエストを第2実行部25に送る。第2実行部25は、第2リクエストを受けとり、第2デバイスコントローラ26に処理開始の指示を送り、指示を受け取った第2デバイスコントローラ26が第2リクエストで指示された処理を第2デバイス27に開始させる。
【0016】
通知受信部24は、第1リクエストを受信したことを示す通知を通知部12から受信する。受信通知部24は通知を受信すると、記憶部22にそれを通知する。記憶部22は、その通知を受けると、記憶していた第2リクエストを第2実行部に送り、第2実行部25は、第2リクエストを受けとり、第2デバイスコントローラ26に処理開始の指示を送り、指示を受け取った第2デバイスコントローラ26が第2リクエストで指示された処理を第2デバイス27に開始させる。
【0017】
第1制御部10及び第2制御部20は、プログラムが実行されることによって実現される。第1制御部10と第2制御部20のプログラムは、それぞれオペレーティング・システムとデバイスドライバの一部、または、オペレーティング・システムとアプリケーションの一部、デバイスドライバとアプリケーションの一部、オペレーティング・システムとデバイスドライバとアプリケーションの一部のプログラムで実現できる。第1制御部10及び第2制御部20により、第1デバイス15がアクティブ状態である場合に、第2デバイス27の動作を開始させる制御を行うことができる。
【0018】
図3は、第1実施形態の情報処理装置100のハードウェア構成の一例を示す図である。本実施形態の情報処理装置100は、SoC30(System on a chip)、電力量計測装置38、PMIC39(Power Management Integrated Circuit)、メインメモリ40、表示デバイス41、ストレージデバイス42、ネットワークデバイス43、蓄電装置44及び電源装置45を備える。なお、図3では図示されていないが、情報処理装置100は、更にキーボードやタッチパネル等の様々なデバイスを備えていてもよい。
【0019】
SoC30は、クロック制御モジュール31、プロセッサコア32、バス33、メモリコントローラ34、表示デバイスコントローラ35、ストレージコントローラ36及びネットワークコントローラ37を備える。なお、メモリコントローラ34、表示デバイスコントローラ35、ストレージコントローラ36及びネットワークコントローラ37は、SoC30の外部にあってもよい。
【0020】
ここで、本実施形態の情報処理装置100の第1デバイス15及び第2デバイス27の具体例について説明する。例えば、本実施形態の情報処理装置100が、ネットワークデバイス43が無線LANデバイス、ストレージデバイス42がNANDフラッシュ、表示デバイス35が液晶ディスプレイの場合は、第1デバイス14を無線LANとし、第2デバイス27を、NANDフラッシュ42とすることができる。デバイスがアクティブ状態になるタイミングを合わせるには、基準となる第1デバイス15を決めて、基準となるデバイスがアクティブ状態である期間に、他のデバイスを第2デバイス27とし、アクティブ状態になるタイミングを合わせる方法が望ましい。平均的なアクティブ状態の時間を比較すると、無線LANデバイスは、NANDフラッシュと比べてアクティブ状態になる時間が長い。また、NANDフラッシュを用いる処理のうち、NANDフラッシュの書き込み処理は、メインメモリ40上のページキャッシュの書き込み処理であるため、多少タイミングが遅れても問題になることが無い。また、メインメモリ40を不揮発性にした場合、電力が失われてもメインメモリ40上のページキャッシュを失うことが無いため、書き込みが遅れることによる問題発生の可能性は更に小さくなる。
【0021】
したがって、本実施形態の情報処理装置100において、ネットワークデバイス43が無線LAN、ストレージデバイス42がNANDフラッシュ、表示デバイス41が液晶ディスプレイで、液晶ディスプレイの表示を消しており液晶ディスプレイをオフにしている場合は、無線LANデバイスを第1デバイス15、NANDフラッシュを第2デバイス27とし、無線LANのアクティブ状態にNANDフラッシュのアクティブ状態を合わせ込むことが望ましい。ただし、基準となるデバイスは無線LANデバイスに限定するものではない。
【0022】
一方、例えば、情報処理装置100において、表示デバイス41にEPDを用いるような電子書籍端末の場合、EPDは無線LANやNANDフラッシュとくらべてアクティブ状態が長い。そのため、EPDを基準となる第1デバイス15とし、第2デバイス27に無線LANまたは、NANDフラッシュにするのが望ましい。または、EPDを第1デバイス15にし、無線LANとNANDフラッシュの両方を第2デバイス27にしてもよい。このとき、NANDフラッシュに加えて、無線LANデバイスの処理がEPDのアクティブ状態に合わせ込まれるため、処理開始が遅延されるが、元々ネットワーク処理は遅延することが前提であるため、問題になりにくい。なお、第2デバイス15が複数の場合の説明は、第4実施形態の情報処理装置100として説明する。
【0023】
また、表示デバイス41がEPDではないデバイスであり、ネットワークが近接ノードのみで構成されており、ネットワーク処理のレスポンスが非常に早いネットワークでの使用が想定される場合、無線LANデバイスとNANDフラッシュのアクティブ状態に大きな差が無い場合がある。その場合は、無線LANデバイスとNANDフラッシュの両方を第1デバイス15とし、他のデバイスを第2デバイス27にすることもできる。なお、第1デバイス15が複数の場合の説明は、第3実施形態の情報処理装置100として説明する。
【0024】
次に、本実施形態の情報処理装置100を構成するデバイスを、第1デバイス15又は第2デバイス27として動作させるための方法の一例について説明する。例えば、第1デバイス15を表示デバイス41とし、第2デバイス27を、ストレージデバイス42とする方法について説明する。表示デバイス41を基準となるデバイス(第1デバイス15)にして、表示デバイス41がアクティブ状態であるときに、ストレージデバイス42の書き込み処理のタイミングを合わせたい場合は、例えば、表示デバイス41のデバイスドライバに第1制御部10を組込む。つまり、従来の表示デバイス41のドライバは、第1リクエスト処理部11でリクエストを受信し、第1実行部13で第1リクエストにより指示される動作の実行を開始していたが、本実施形態の情報処理装置100では、第1リクエスト処理部11と第1実行部13との間に通知部12を組み込む。一方、ストレージデバイス42のデバイスドライバには、第2制御部20を組み込む。つまり、従来のストレージデバイス42のデバイスドライバの第2リクエスト処理部21と第2実行部25に加えて、新たに、記憶部22、タイマ設定部23及び通知受信部24を組み込む。また、第2リクエスト処理部21には、判定部29を組み込む。
【0025】
また、別の例として、メインメモリ40上のページキャッシュをストレージデバイス42に書き込む処理の実行を、表示デバイス41のアクティブ状態に合わせるには、例えば、第2制御部20をオペレーティングシステムに組み込むことで実現できる。つまり、オペレーティングシステム内でページキャッシュの書き込み要求を受信し、ストレージデバイス42にページキャッシュの書き込みを行なっている箇所に第2制御部20を組み込む。
【0026】
次に、本実施形態の情報処理装置100のハードウェア構成の各ハードウェアの詳細について説明する。
【0027】
クロック制御モジュール31は、プロセッサコア32、バス33、メモリコントローラ34、表示デバイスコントローラ35、ストレージコントローラ36及びネットワークコントローラ37にクロックを供給する。メインメモリ40、表示デバイス41、ストレージデバイス42及びネットワークデバイス43にもクロックを供給する場合は、各コントローラ(メモリコントローラ34、表示デバイスコントローラ35、ストレージコントローラ36及びネットワークコントローラ37)から、又はクロック制御モジュール31から直接、クロックを供給する。
【0028】
クロック制御モジュール31は、メインメモリ40、表示デバイス41、ストレージデバイス42及びネットワークデバイス43等のデバイスがアクティブ状態である場合に、アクティブ状態のデバイス、メインメモリ40及びバス33等にクロックを供給する。クロック制御モジュール31は、情報処理装置100内に動作中(アクティブ状態)のデバイスが1つでもある場合、クロックの供給を停止しない。本実施形態の情報処理装置100(又はSoC30)は、複数の省電力モードを備えていてもよいが、最も消費電力が抑えられるアイドル状態では、クロック制御モジュール31を停止できるものとする。したがって、アクティブ状態のデバイスが1つでもあると、情報処理装置100(又はSoC30)は動作状態をアイドル状態にすることができない。
【0029】
プロセッサコア32は、オペレーティングシステムやアプリケーションなどのプログラムを実行して情報処理装置100の動作を制御する。バス33は、情報処理装置100のデバイス間でデータを送受信するための伝送路である。
【0030】
PMIC39は、情報処理装置100を構成している各デバイスに電力を供給するパワーレール(電源ライン)を複数備える。PMIC39は、パワーレール(電源ライン)毎に異なる電圧を供給することができる。PMIC39は、蓄電装置44から供給される電力を、各デバイスが必要とする電圧に変換してから、それぞれのデバイスに供給する。PMIC39は、電力供給のパワーレール(電源ライン)毎に電圧を変更したり、電力供給を停止したりすることができる。デバイスの数だけのパワーレール(電源ライン)を提供できない等の場合は、1つのパワーレール(電源ライン)を複数のデバイスで共有してもよい。例えば、本実施形態の情報処理装置100では、ストレージコントローラ42及びネットワークデバイス43に電力を供給するためのパワーレール(電源ライン)が共有されている。しかしながら、パワーレール(電源ライン)を複数のデバイスで共有する場合は、アクティブ状態のデバイスのみに電力を供給すれば十分であるにも関わらず、アクティブ状態のデバイス以外のデバイスにも同時に電力を供給せざるを得ず、余計に電力消費を発生してしまうことがある。
【0031】
メインメモリ40は、揮発性のメモリでも不揮発性のメモリでもよい。例えば、メインメモリ40が揮発性である場合は、DRAM(Dynamic Random Access Memory)や、SRAM(Static Random Access Memory)である。また、メインメモリ40が不揮発性である場合は、MRAM(Magnetoresistive Random Access Memory)、PCM(Phase Change Memory)、ReRAM(Resistance Random Access Memory)、FeRAM(Ferroelectric Random Access Memory)、NOR型フラッシュメモリ等である。
【0032】
メインメモリ40は、メモリコントローラ34により制御されている。メインメモリ40の動作に必要なクロックは、メモリコントローラ34から供給する。メインメモリ40は、プロセッサコア32や、他のデバイスのコントローラがアクセスしていない間は、電力消費の少ないセルフリフレッシュモードなどの省電力モードに遷移することで消費電力を抑えることができる。メインメモリ40が不揮発性のメモリである場合は、電力が無くてもデータを保持できる。そのため、この場合は、PMIC39がメインメモリ40への電力供給を遮断することで、更に電力消費を抑えることができる。
【0033】
また、表示デバイス41、ストレージデバイス42及びネットワークデバイス43は、アクティブ状態のときに、メインメモリ40にアクセスすることが多い。そのため、本実施形態の情報処理装置100は、表示デバイス41、ストレージデバイス42及びネットワークデバイス43のうち、いずれか1つのデバイスがアクティブ状態であるときは、メインメモリ40にもアクセスできるようにしておく。メインメモリ40は、セルフリフレッシュモードなどの省電力モードを提供していたり、不揮発性メモリの場合は電力を落としたりすることで消費電力を抑えることができる。しかしながら、セルフリフレッシュモード中や、電力を落としている間は、外部からのメモリアクセスができない。そのため、メインメモリ40にアクセスが発生するアクティブ状態のデバイスがあると、メモリコントローラ34は、メインメモリ40をセルフリフレッシュモードにしたり、電力供給を停止したりするなどしてメインメモリの電力消費を抑えることができない。
【0034】
表示デバイス41は、例えば、液晶ディスプレイ、メモリ液晶ディスプレイ、EPD(Electrophoretic Display)などで実現できる。液晶ディスプレイは、表示中はデバイスとコントローラに電力とクロックを供給しなければならない。メモリ液晶ディスプレイは表示中はデバイスに電力を供給しなければならないが、表示内容を書き換えなければコントローラのクロックを止めることができる。EPDは、書き換え時にクロックや電力が必要だが、書き換え時以外は、電力を落としても描画内容を保持できる。一般に、EPDは、液晶ディスプレイなどと比べて書き換えに必要な時間が長いため、描画速度よりも消費電力削減が優先される電子リーダなどで用いられることが多い。EPDは、表示デバイスコントローラ35により制御される。EPDが描画処理を行うアクティブ状態である場合は、表示デバイスコントローラ35は、EPDにクロックを供給する。また、EPDのアクティブ状態では、メインメモリ40もアクティブ状態になる。これは、表示デバイスコントローラ35が、メインメモリ40上に展開された描画内容のデータをEPDに転送したり、描画内容のデータを元にEPDの電圧制御のためのパラメータを、メインメモリ40を使用して計算したりするためである。
【0035】
ストレージデバイス42は、2次ストレージとして使用する。ストレージデバイス42は、例えば、NANDフラッシュ、NORフラッシュ、SDカードなどの各種メモリカード、ハードディスクなどで実現できる。本実施形態の情報処理装置100では、ストレージデバイス42がNANDフラッシュであることを前提として説明する。なお、ストレージデバイス42は、NANDフラッシュに限られず、任意のストレージデバイスでよい。NANDフラッシュは、ファイルやプログラムなどのデータを記憶する。NANDフラッシュは、ストレージコントローラ36により制御される。ストレージコントローラ36は、NANDフラッシュが読み書き処理を行うアクティブ状態のときにクロックを供給する。NANDフラッシュ上のデータを読み込む場合は、ストレージコントローラ36が、当該データをメインメモリ40上にページキャッシュとして展開する。アプリケーションやOSなどがデータを書き換える場合は、メインメモリ40上のページキャッシュを変更する。当該ページキャッシュは、定期的にストレージコントローラ36によってNANDフラッシュに書き込まれる。そのため、NANDフラッシュへのデータの読み書きが発生する場合は、メインメモリ40もアクティブ状態になる。
【0036】
ネットワークデバイス43は、例えば、有線LANデバイス、802.11a/802.11b/802.11gなどの伝送規格の無線LANデバイス、Bluetooth(登録商標)などで実現できる。本実施形態の情報処理装置100では、ネットワークデバイス43が無線LANデバイスであることを前提として説明する。なお、ネットワークデバイス43は、無線LANデバイスに限られず、任意のネットワークデバイスでよい。無線LANデバイスは、ネットワークコントローラ37によって制御される。ネットワークコントローラ37は、無線LANデバイスがネットワーク処理を行うアクティブ状態のときにクロックを供給する。無線LANデバイスがアクティブ状態のときは、メインメモリ40を使用して送受信用のデータを読み書きするため、メインメモリ40もアクティブ状態になる。
【0037】
電源装置45は、例えば、ACアダプタなどのAC電源や、エナジーハーベスト装置などの各種発電装置で実現できる。エナジーハーベスト装置は、光エネルギーを利用した太陽電池や、熱エネルギーの利用などの環境発電技術を利用した装置である。本実施形態の情報処理装置100では、電源装置45をエナジーハーベスト装置として説明するが、電源装置45は、エナジーハーベスト装置に限られない。電源装置45としてエナジーハーベスト装置を使用する場合、電源装置45の発電する電力のみでは、情報処理装置100の動作のピーク時の消費電力を得ることができないので、消費電力が少ない間に余剰電力を蓄電装置44に蓄電しておき、ピーク時の電力をまかなう。蓄電装置44は、電気2重層キャパシタやリチウムイオンキャパシタなどの大容量キャパシタ、又はリチウムイオン電池などのバッテリなどである。なお、蓄電装置44は、大容量キャパシタ及びバッテリの両方を組み合わせた装置でもよい。
【0038】
電力量計測装置38は、蓄電装置44が蓄積している電力量を計測する装置である。例えば、蓄電装置44が電気二重層キャパシタやリチウムイオンキャパシタなどのキャパシタである場合は、その出力電圧を計測することで蓄積している電力量を知ることができる。そのため、ADコンバータを電力量計測装置38として用いることができる。また、蓄電装置44がリチウムイオン電池などのバッテリである場合は、クーロンカウンタを電力量計測装置38として用いることができる。つまり、バッテリの充放電量をクーロンカウンタで計測することで蓄積している電力量を知ることができる。
【0039】
次に、本実施形態の情報処理装置100の第1制御部10及び第2制御部20によるデバイス制御方法について説明する。
【0040】
図4は、第1実施形態の情報処理装置100の第1制御部10の動作の一例を説明するためのフローチャートである。第1リクエスト処理部11は、第1デバイス15の処理開始の指示を含む第1リクエストを受信する(ステップS1)。通知部12は、第1リクエストを受信したことを第2制御部20に通知する(ステップS2)。第1実行部13は、第1リクエスト(第1リクエストにより指示される動作)の実行を第1デバイスが開始できるように第1デバイスコントローラに指示し、第1デバイスコントローラは第1デバイスに処理の実行を開始させる(ステップS3)。
【0041】
図5は、第1実施形態の情報処理装置100の第2制御部20の動作の一例を説明するためのフローチャートである。第2リクエスト処理部21は、第2デバイス27の処理開始の指示を含む第2リクエストを受信する(ステップS11)。第2リクエスト処理部21(判定部29)は、第1デバイス15が動作中(アクティブ状態)であるか否かを調べる(ステップS12)。第2リクエスト処理部21(判定部29)は、第1デバイス15が動作中(アクティブ状態)であるか否かを判定する(ステップS13)。第1デバイス15がアクティブ状態でない場合(ステップS13、No)は、記憶部22が、第2リクエストを記憶する(ステップS14)。第1デバイス15がアクティブ状態である場合(ステップS13、Yes)は、第2実行部25が、第2リクエスト(第2リクエストにより指示される動作)の実行を第2デバイスが開始できるように第2デバイスコントローラに指示し、第2デバイスコントローラは第2デバイスに処理の実行を開始させる(ステップS15)。
【0042】
図6は、第1実施形態の情報処理装置100の通知受信部24が通知を受信したときの動作の一例を説明するためのフローチャートである。通知受信部24は、第1制御部10の通知部12から第1リクエストを受信したことを示す通知を受信する(ステップS21)。第2実行部25は、記憶部22に第2リクエストが記憶されているか否かを確認する(ステップS22)。第2リクエストが記憶されている場合(ステップS22、Yes)は、記憶部22に記憶されていた第2リクエストの実行を開始する(ステップS23)。第2リクエストが記憶されていない場合(ステップS22、No)は、処理を終了する。
【0043】
なお、図6のフローチャートの処理は、第1デバイス15に第1リクエストが来なかった場合は実行されない。このため、タイマ設定部23が設定したタイマの満了を契機としても、図6のフローチャートの処理(ステップS22及びステップS23)を行うようにする。一般に、オペレーティングシステムには、一定時間経過した後に、又は周期的に、指定された処理を実行させるタイマ機能が提供されている。そのため、オペレーティングシステムのタイマ機能を用いてもタイマ割込み処理を実現できる。例えば、タイマ設定部23が、第2リクエストを記憶する際にタイマをセットしたり、オペレーティングシステムの起動時に、一定の間隔で周期的に図6のフローチャートの処理(ステップS22及びステップS23)を起動するようにしたりすることでタイマ割込み処理を実現できる。
【0044】
次に、本実施形態の情報処理装置100のデバイス制御方法による効果について説明する。
【0045】
図7は、第1実施形態の情報処理装置100のデバイス制御方法の一例(EPD及びNANDフラッシュ)を示す図である。本実施形態の情報処理装置100(図7の具体例の場合)は、第1デバイス15(EPD)がアクティブ状態である場合に、第2デバイス27(NANDフラッシュ)の動作を開始させる。図8は、第1実施形態の情報処理装置100のデバイス制御方法の一例(EPD及び無線LANデバイス)を示す図である。本実施形態の情報処理装置100(図8の具体例の場合)は、第1デバイス15(EPD)がアクティブ状態である場合に、第2デバイス27(無線LANデバイス)の動作を開始させる。これにより、従来の情報処理装置100よりもアイドル状態を長くすることができ、情報処理装置100を省電力化することができる。すなわち、SoC30を消費電力の少ないアイドル状態にしたり、メインメモリ40を省電力モードや電源オフ状態にしたりすることができる時間を長くすることができる。また、PMIC39がデバイスに電力を供給する時間を短くすることができる。
【0046】
(第2実施形態)
次に、第2実施形態の情報処理装置100について説明する。第1実施形態の情報処理装置100は、第2デバイス27が第2リクエストを受信してから、第2リクエストで指定された処理の実行開始のタイミングをずらすことで省電力化を行っている。しかしながら、リクエストの受信と実行開始のタイミングに時間差が発生するため、電力に余裕がある場合は、時間差が無いほうが望ましい。本実施形態の情報処理装置100は、第2制御部20に電力量監視部17を備えることで、蓄積している電力量が閾値以下の場合にのみ、デバイスのアクティブ状態のタイミングを合わせる。
【0047】
図9は、第2実施形態の情報処理装置100の機能ブロックの一例を示す図である。本実施形態の情報処理装置100は、第1制御部10、第1デバイスコントローラ14、第1デバイス15、第2制御部20、第2デバイスコントローラ26第2デバイス27、PMIC39、クロック制御モジュール31、電力量計測装置38を備える。第1制御部10は、第1リクエスト処理部11、通知部12及び第1実行部13を備える。第2制御部20は、第2リクエスト処理部21、記憶部22、タイマ設定部23、第1デバイス判定部24、通知受信部24、第2実行部25及び電力量監視部17を備える。電力量監視部17以外の機能ブロックについては、第1実施形態の情報処理装置100と同じであるため説明を省略する。
【0048】
電力量監視部17は、情報処置装置100の電力量を監視する。電力量監視部17は,電力量を調べるには、電力量監視部17に電力量を問い合わせる。電力量監視部17は、電力量計測装置38から電力量を取得する。図10は、第2実施形態の情報処理装置100の第2制御部20の動作の一例を説明するためのフローチャートである。第2リクエスト処理部21は、第2デバイス27の処理開始の指示を含む第2リクエストを受信する(ステップS31)。電力量監視部17は、情報処置装置100の電力量が閾値(所定の値)以上であるか否かを判定する(ステップS32)。電力量が閾値以上である場合(ステップS32、Yes)は、ステップS36に進む。電力量が閾値より小さい場合(ステップS32、No)は、第2リクエスト処理部21(判定部29)が、第1デバイス15が動作中(アクティブ状態)であるか否かを調べる(ステップS33)。第2リクエスト処理部21(判定部29)は、第1デバイス15が動作中(アクティブ状態)であるか否かを判定する(ステップS34)。第1デバイス15がアクティブ状態でない場合(ステップS34、No)は、記憶部22が、第2リクエストを記憶する(ステップS35)。第1デバイス15がアクティブ状態である場合(ステップS34、Yes)は、第2実行部25が、第2リクエスト(第2リクエストにより指示される動作)の実行を第2デバイスが開始できるように第2デバイスコントローラに指示し、第2デバイスコントローラは第2デバイスに処理の実行を開始させる(ステップS36)。
【0049】
本実施形態の情報処理装置100によれば、情報処置装置100に蓄積している電力量が閾値以下の場合にのみ、第2デバイス27のアクティブ状態のタイミングを、第1デバイス15のアクティブ状態に合わせる。これにより、情報処理装置100の省電力化を図りつつ、電力量に余裕がある場合は、リクエストの受信と実行開始のタイミングの差を小さくすることができる。
【0050】
(第3実施形態)
次に、第3実施形態の情報処理装置100について説明する。第1実施形態の情報処理装置100は、第1デバイス15および第1デバイスコントローラが1つだった。しかしながら、情報処理装置100は、第1デバイス15を複数(任意の個数)備えていてもよい。本実施形態の情報処理装置100は、第1デバイス15を複数備えている場合である。
【0051】
図11は、第3実施形態の情報処理装置100の機能ブロックの一例を示す図である。本実施形態の情報処理装置100は、第1制御部10、第1デバイスコントローラ14、第1デバイス15、第2制御部20、第2デバイスコントローラ26、第2デバイス27、PMIC39、クロック制御モジュール31を備える。本実施形態の情報処理装置100は、第1制御部10、第1デバイスコントローラ14、及び第1デバイス15を、それぞれ3つ備えている場合の例である。第1制御部10は、第1リクエスト処理部11、通知部12及び第1実行部13を備える。第2制御部20は、第2リクエスト処理部21、記憶部22、タイマ設定部23、第1デバイス判定部24、通知受信部24及び第2実行部25を備える。本実施形態の情報処理装置100は、第1デバイス判定部24を3つ備え、それぞれが、3つの第1デバイス15のうちの1つのアクティブ状態を判定している。
【0052】
本実施形態の情報処理装置100の具体例について説明する。例えば、EPDと無線LANデバイスを第1デバイス15(基準となるデバイス)にする場合について説明する。この場合、たとえば、第1制御部10を、基準のデバイス(EPD及び無線LANデバイス)のデバイスドライバに組み込む。また、第2制御部20を、基準となるデバイスのアクティブ状態に、動作の開始を合わせたい第2デバイス27のデバイスドライバに組み込む。これにより、第2デバイス27は、複数の第1デバイス15のうちアクティブ状態の第1デバイス15が1つでもあれば、第2リクエストにより指示される動作の実行を開始することができる。
【0053】
次に、本実施形態の情報処理装置100のデバイス制御方法による効果について説明する。第1デバイス15が2つであり、第2デバイス27が1つである場合について、具体例に基づいて説明する。図12は、第3実施形態の情報処理装置100のデバイス制御方法の一例を示す図である。本実施形態の情報処理装置100(図12の具体例の場合)は、第1デバイス15(NANDフラッシュ及び無線LANデバイス)のいずれか1つがアクティブ状態である場合に、第2デバイス27(処理の短いデバイス)の動作を開始させる。これにより、従来の情報処理装置100よりもアイドル状態を長くすることができ、情報処理装置100を省電力化することができる。すなわち、SoC30を消費電力の少ないアイドル状態にしたり、メインメモリ40を省電力モードや電源オフ状態にしたりすることができる時間を長くすることができる。また、PMIC39がデバイスに電力を供給する時間を短くすることができる。
【0054】
(第4実施形態)
次に、第4実施形態の情報処理装置100について説明する。情報処理装置100は、第2デバイス27を複数(任意の個数)備えていてもよい。本実施形態の情報処理装置100は、第2デバイス27を複数備えている場合である。
【0055】
本実施形態の情報処理装置100では、第1デバイス15をEPDとし、第2デバイス27を、NANDフラッシュ及び無線LANデバイスとする。この理由について説明する。デバイスがアクティブ状態になるタイミングを合わせるには、基準となるデバイスを決めて、基準となるデバイスがアクティブ状態である時間に、他のデバイスがアクティブ状態になるタイミングを合わせる方法が望ましい。デバイスの平均的なアクティブ状態の時間を比較すると、EPDは、NANDフラッシュや無線LANデバイスと比べてアクティブ状態になる時間が長い。また、NANDフラッシュを用いる処理のうち、NANDフラッシュの書き込み処理は、メインメモリ40上のページキャッシュの書き込み処理であるため、多少タイミングが遅れても問題になることが無い。また、メインメモリ40を不揮発性にした場合、電力が失われてもメインメモリ40上のページキャッシュを失うことが無いため、書き込みが遅れることによる問題発生の可能性は更に小さくなる。また、無線LANデバイスについても、元々ネットワーク処理は遅延することが前提であるため、無線LANデバイスの処理を遅延させても問題にはなりにくい。
【0056】
したがって、本実施形態の情報処理装置100では、EPDをアクティブ状態のタイミングを合わせる基準とすることが望ましい。ただし、基準となるデバイスはEPDに限定されない。例えば、表示デバイス41としてEPDではなく、液晶ディスプレイを用いるパーソナルコンピュータのような情報処理装置100では、無線LANデバイスやNANDフラッシュのアクティブ状態が、他のデバイスと比べて相対的に大きくなることが多い。このような場合は、基準となるデバイスを無線LANデバイスやNANDフラッシュにしてもよい。
【0057】
図13は、第4実施形態の情報処理装置100の機能ブロックの一例を示す図である。本実施形態の情報処理装置100は、第1制御部10、第1デバイス15、第2制御部20及び第2デバイス27を備える。本実施形態の情報処理装置100は、第2制御部20及び第2デバイス27を、それぞれ3つ備えている場合の例である。第1制御部10は、第1リクエスト処理部11、通知部12及び第1実行部13を備える。本実施形態の通知部12は、3つの第2制御部20(通知受信部24)に、第1リクエストを受信したことを通知する。図13には、通知部12が第2制御部と一対一に対応するように図示されているが、一つの通知部12が複数の第2制御部に受信を通知するような形態でもよい。第2制御部20は、第2リクエスト処理部21、記憶部22、タイマ設定部23、第1デバイス判定部24、通知受信部24及び第2実行部25を備える。
【0058】
次に、本実施形態の情報処理装置100のデバイス制御方法による効果について、第1デバイス15が1つであり、第2デバイス27が2つである場合について、具体例に基づいて説明する。図14は、従来の情報処理装置のデバイス制御方法の一例を示す図である。図14では、それぞれのデバイスが、独立にアクティブ状態になっているため、アクティブ状態である時間の重なりがあまり無い。そのため、すべてのデバイスがアクティブ状態でない期間が短いため、情報処理装置100がアイドル状態になる期間が短い。
【0059】
図15は、第4実施形態の情報処理装置100のデバイス制御方法の一例を示す図である。本実施形態の情報処理装置100は、第1デバイス15(EPD)がアクティブ状態である場合に、第2デバイス27(NANDフラッシュ及び無線LANデバイス)の動作を開始させる。これにより、従来の情報処理装置100よりもアイドル状態を長くすることができ、情報処理装置100を省電力化することができる。すなわち、SoC30を消費電力の少ないアイドル状態にしたり、メインメモリ40を省電力モードや電源オフ状態にしたりすることができる時間を長くすることができる。また、PMIC39がデバイスに電力を供給する時間を短くすることができる。
【0060】
本実施形態の情報処理装置100は、第1制御部10の通知部12が、情報処理装置100を構成するそれぞれの第2デバイス27に、第1リクエストを受信したことを通知する。これにより、本実施形態の情報処理装置100は、第2デバイス27の数が任意でも、第1実施形態の情報処理装置100が奏する効果と同様の効果を奏する。
【0061】
以上のように、第1〜4実施形態の情報処理装置100によれば、情報処理装置100のデバイスのハードウェア構成を変更せずに省電力化を実現することができる。
【0062】
なお、情報処理装置100を構成するデバイスは、任意のデバイスでよい。上述の実施形態では説明しなかったデバイスの具体例として、デバイスがプロセッサである場合について説明する。
【0063】
図16は、第1実施形態の変形例(第2デバイスがプロセッサの例)の情報処理装置100の機能ブロックの構成の一例を示す図である。図1の第2デバイスコントローラ26及び第2デバイス27が、図16では、第2プロセッサ47となるところが図1とは異なる。この場合は、第2プロセッサ47上で実行するプログラムの実行開始を第1デバイスがアクティブ状態であるときに合わせることになる。
【0064】
具体的なプログラムの処理の例としては、例えば、アプリケーションが実行するGC(Garbage Collection)がある。GCは、アプリケーションが確保したメモリ領域のうち、不要となったメモリ領域を解放するための処理である。GCは、処理の負荷が大きいが、開始のタイミングの制約が厳しくなく、開始タイミングが遅れても大きな問題が無いという特徴がある。そのため、アプリケーションの中でGCを呼び出す箇所に第2制御部20を組込むことで、GCの実行のタイミングを第1デバイス(基準となるデバイス)のアクティブ状態に合わせれば、情報処理装置100の省電力化を実現できる。
【0065】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0066】
10 第1制御部
11 第1リクエスト処理部
12 通知部
13 第1実行部
14 第1デバイスコントローラ
15 第1デバイス
16 アクティブ状態フラグ管理部
17 電力量監視部
20 第2制御部
21 第2リクエスト処理部
22 記憶部
23 タイマ設定部
24 通知受信部
25 第2実行部
26 第2デバイスコントローラ
27 第2デバイス
28 受信部
29 判定部
30 SoC
31 クロック制御モジュール
32 プロセッサコア
33 バス
34 メモリコントローラ
35 EPDコントローラ
36 NANDコントローラ
37 無線LANコントローラ
38 電力量計測装置
39 PMIC
40 メインメモリ
41 EPD
42 NANDフラッシュ
43 無線LANデバイス
44 蓄電装置
45 電源装置
46 プロセッサ
100 情報処置装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16