(57)【要約】      （修正有）【課題】電子装置のプロセッサが待機モードである期間中であっても、電子装置に含まれる他のデバイスやメモリによって消費される電力を抑制することができる電子装置及びその制御方法を提供する。【解決手段】デバイスが、プロセッサが待機モードである期間においてアクティブモードで動作すると判定した場合は、デバイスに対応するデバイスドライバが行うメモリに対するメモリ領域取得要求に対し、メモリの第１領域をデバイスの使用領域として割り当て、プロセッサが待機モードで動作する期間において、第１領域を、デバイスによって利用されることが可能な第１モードで制御し、メモリの第１領域以外の領域のうちの少なくとも第２領域を、第１モードにおける消費電力よりも低い消費電力となる第２モードで制御する。【選択図】図４
2016206951.tif 000002
【特許請求の範囲】
【請求項１】
メモリと、
プロセッサと、
第１デバイスを含み、
前記プロセッサは、
前記第１デバイスが、前記プロセッサが待機モードである期間においてアクティブモードで動作する第１タイプのデバイスであるか否かを判定し、
前記第１デバイスが前記第１タイプのデバイスであると判定された場合は、前記メモリの第１領域を前記第１デバイスの使用領域として割り当て、
前記プロセッサが前記待機モードで動作する期間において、前記第１領域を、前記第１デバイスによって利用されることが可能な第１モードで制御し、前記メモリの前記第１領域以外の領域のうちの少なくとも第２領域を、前記第１モードにおける消費電力よりも低い消費電力となる第２モードで制御することを特徴とする電子装置。
【請求項２】
前記プロセッサは、前記第１デバイスによって使用されるメモリ領域の取得を要求する第１要求に対し、前記第１領域を前記第１デバイスの前記使用領域として割り当てることを特徴とする請求項１に記載の電子装置。
【請求項３】
前記第１要求は、前記第１デバイスに対応する第１デバイスドライバが発行することを特徴とする請求項１又は２に記載の電子装置。
【請求項４】
前記第１デバイスは通信デバイスであり、前記プロセッサが前記待機モードの期間に他の電子装置からの信号を受信し、
前記プロセッサは、前記信号の受信に基づき前記アクティブモードへ移行することを特徴とする請求項１乃至３何れか一項に記載の電子装置。
【請求項５】
前記通信デバイスは、前記信号を受信し、前記メモリの前記第１領域にデータの書込みを行った後、前記プロセッサに対してアクティベート信号を送信することを特徴とする請求項４に記載の電子装置。
【請求項６】
前記プロセッサは、前記第１要求に対して前記メモリの前記第１領域を割り当てるメモリ管理部として機能し、
前記第１デバイスドライバは、前記第１要求を前記メモリ管理部に対して発行し、
前記メモリ管理部は、前記第１要求の要求元が前記第１タイプのデバイスに対応するデバイスドライバであるか否かを判定し、前記第１要求の要求元が前記第１タイプのデバイスに対応するデバイスドライバであると判定された場合に、前記メモリの前記第１領域を前記第１デバイスの使用領域として割り当てる
ことを特徴とする請求項２乃至５何れか一項に記載の電子装置。
【請求項７】
前記プロセッサは、前記第１デバイスを検索するためのデバイス管理部として機能し
前記メモリ管理部は、前記第１デバイスドライバから前記第１要求を受信するインターフェースを有し、
前記デバイス管理部は、前記第１デバイスの種別情報もしくは前記第１デバイスが前記第１タイプのデバイスであるか否かの情報を、前記インターフェースに通知する
ことを特徴とする請求項６に記載の電子装置。
【請求項８】
前記電子装置は更に第２デバイスを含み、
前記プロセッサは、
前記第２デバイスが前記第１タイプのデバイスであるか否かを判定し、
前記第２デバイスが前記第１タイプのデバイスでない場合は、前記第２デバイスに対応する第２デバイスドライバが行う前記メモリに対する第２要求に対し、前記メモリの前記第２領域を前記第２デバイスの使用領域として割り当てる
ことを特徴とする請求項１乃至７何れか一項に記載の電子装置。
【請求項９】
前記メモリは揮発性メモリであることを特徴とする請求項１乃至６何れか一項に記載の電子装置。
【請求項１０】
メモリと、プロセッサと、第１デバイスを含む電子装置を制御するコンピュータプログラムであって、
前記第１デバイスが、前記プロセッサが待機モードである期間においてアクティブモードで動作する第１タイプのデバイスであるか否かを判定し、
前記第１デバイスが前記第１タイプのデバイスであると判定された場合は、前記メモリの第１領域を前記第１デバイスの使用領域として割り当て、
前記プロセッサが前記待機モードで動作する期間において、前記第１領域を前記第１デバイスによって利用されることが可能な第１モードで制御し、前記メモリの前記第１領域以外の領域のうちの少なくとも第２領域を、前記第１モードにおける消費電力よりも低い消費電力となる第２モードで制御する
ことを前記プロセッサに実行させることを特徴とする電子装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、電子装置及び電子装置の制御方法に関する。
【背景技術】
【０００２】
バッテリで駆動する電子装置、例えばスマートフォン等の携帯通信端末装置や人体の一部に装着可能なウェアラブルデバイスに関し、消費電力を抑制する技術が開発されている。例えばスマートフォンやウェアラブルデバイスに搭載されたＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）等のプロセッサを、データ処理が不要な期間は待機モードで動作させ、データ処理を行う状況が発生した場合にアクティベートさせてアクティブモードへ移行させるという制御方法がある。プロセッサはアクティブモードにて必要なデータ処理を行った後、処理するためのデータがない場合等には再度待機モードへ移行する。このようにプロセッサがデータ処理を行う必要がない期間に、プロセッサを待機モードで動作させることにより、プロセッサの消費電力を抑制することができる。
【０００３】
より具体的な例として、ウェアラブルデバイスがスマートフォンと連携し、スマートフォンが電子メールを受信した場合にウェアラブルデバイスが震動などによってユーザに電子メールの着信を通知するような場合を想定する。ウェアラブルデバイスのプロセッサは、消費電力を抑制するために待機モードで動作し、一方、ウェアラブルデバイスに搭載された無線デバイスは、スマートフォンからの通知を受信するためにアクティブモードで制御されているものとする。この状態でスマートフォンは電子メールを受信したことを例えば無線通信によってウェアラブルデバイスへ通知し、ウェアラブルデバイスは無線デバイスにてスマートフォンからの通知を受信する。そして無線デバイスが通知を受信したことに基づいてプロセッサがアクティベートされる。このような動作により、プロセッサがデータ処理を行わない期間のウェアラブルデバイスの消費電力を抑制することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１３１９４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
電子装置のプロセッサが待機モードである期間中であっても、他の電子装置からプロセッサをアクティベートさせるトリガーとなる通知の受信を可能とするために、無線デバイスなど電子装置の一部のデバイスはアクティブモードによる動作を維持している。そのため、プロセッサが待機モードで動作している期間中も一定量の電力が消費される。
【課題を解決するための手段】
【０００６】
開示の電子装置は、メモリと、プロセッサと、第１デバイスを含み、前記プロセッサは、前記第１デバイスが、前記プロセッサが待機モードである期間においてアクティブモードで動作する第１タイプのデバイスであるか否かを判定し、前記第１デバイスが前記第１タイプのデバイスである場合は、前記第１デバイスに対応する第１デバイスドライバが行う前記メモリに対する第１メモリ領域取得要求に対し、前記メモリの第１領域を前記第１デバイスの使用領域として割り当て、前記プロセッサが前記待機モードで動作する期間において、前記第１領域を、前記第１デバイスによって利用されることが可能な第１モードで制御し、前記メモリの前記第１領域以外の領域のうちの少なくとも第２領域を、前記第１モードにおける消費電力よりも低い消費電力となる第２モードで制御することを特徴とする。
【発明の効果】
【０００７】
電子装置のプロセッサが待機モードで動作している期間における、電子装置に含まれる他のデバイスやメモリによって消費される電力を抑制することができる。
【図面の簡単な説明】
【０００８】
【図１】電子装置の例を示す図である。
【図２】電子装置のハードウェア構成図である。
【図３】電子装置の消費電力の変化の様子を示す図である。
【図４】第１実施例におけるプロセッサの機能ブロック図である。
【図５】第１実施例におけるデバイス管理部の機能ブロック図である。
【図６】第１実施例におけるデバイスドライバ対応情報を示す図である。
【図７】第１実施例におけるメモリ管理部の機能ブロック図である。
【図８】第１実施例におけるデバイス動作モード情報を示す図である。
【図９】第１実施例におけるメモリ動作モード情報を示す図である。
【図１０】第１実施例におけるメモリ領域の割り当てを示す図である。
【図１１】第１実施例におけるアドレスとメモリの動作モードとの対応情報を示す図である。
【図１２】第１実施例におけるメモリ領域の割り当ての処理フローを示す図である。
【図１３】第１実施例におけるハードウェアの接続を示す図である。
【図１４】第１実施例におけるアドレスとバンクの対応を示す図である。
【図１５】第１実施例におけるバンクとメモリの動作モードの対応を示す図である。
【図１６】第１実施例における揮発性メモリの構成を示す図である。
【図１７】第１実施例における電力制御の処理フローを示す図である。
【図１８】第１実施例におけるアクティベートイベント受信の処理フローを示す図である。
【図１９】第１実施例におけるプロセッサのアクティベートの処理フローを示す図である。
【図２０】第２実施例におけるメモリ管理部の機能ブロック図である。
【図２１】第２実施例におけるデバイス管理部の機能ブロック図である。
【図２２】第２実施例におけるメモリ領域の割り当ての処理フローを示す図である。
【図２３】第３実施例におけるプロセッサの機能ブロック図である。
【図２４】第３実施例におけるデバイス動作モード情報を示す図である。
【図２５】第３実施例におけるデバイス属性変更の処理フローを示す図である。
【発明を実施するための形態】
【０００９】
＜第１実施例＞
本実施例では、電子装置のプロセッサが待機モードで動作する期間における、電子装置の有する揮発性メモリの電力を抑制することを目的とする。プロセッサが待機モードで動作する期間においても、プロセッサをアクティベートさせるトリガーとなる外部信号等を受信するために、電子装置に含まれる何等かのデバイス、例えば無線デバイスについてはアクティブモードが維持される。また無線デバイスが、受信した信号の保存等を行うために揮発性メモリについてもアクセス可能な状態が維持される。ここで、電子装置に搭載された揮発性メモリの全体をアクセス可能な状態に維持すると、揮発性メモリで消費される電力が嵩み、電子装置全体としての消費電力が増加する。そこで本実施例では、揮発性メモリの全領域のうち、プロセッサが待機モードとなる期間においても動作を維持するデバイスが利用するメモリ領域についてはアクセス可能な状態で動作させる。その一方で、プロセッサが待機モードとなる期間においては動作しない、または低消費電力モードで動作するデバイスが利用するメモリ領域を、低消費電力モードで動作させる。これにより、プロセッサが待機モードで動作する期間における揮発性メモリの消費電力を抑制することができる。
【００１０】
図１は、電子装置の一例を示すものである。図１は、スマートフォン等の通信端末装置１およびウェアラブルデバイス２それぞれの外観を示している。通信端末装置１として、スマートフォン以外の携帯端末装置や、タブレット型のＰｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ（ＰＣ）、Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ（ＰＤＡ）等を用いてもよい。以下、電子装置として通信端末装置１を例に挙げて説明する。
【００１１】
図２は、通信端末装置１のハードウェア構成図である。通信端末装置１は、プロセッサ１０、通信デバイス２０、揮発性メモリ３０、不揮発性メモリ４０、センサ５０、表示デバイス６０、電源制御回路７０、バッテリ７５、クロック生成回路８０、バス９０を有する。尚、本明細書においては、通信デバイス２０、不揮発性メモリ４０、センサ５０、表示デバイス６０を「デバイス」と呼ぶ場合もある。
【００１２】
プロセッサ１０は、通信端末装置１の全体の制御やデータ処理等を行う。またプロセッサ１０がデータ処理を行わない期間、プロセッサ１０は自らの動作モードを待機モードに設定することができる。待機モードとは、プロセッサ１０がデータ処理を行うアクティブモードに比べて消費電力が小さい動作モードを意味し、例えばアクティブモードに比べて動作クロック周波数を低下させることやプロセッサ１０への動作クロック周波数の供給を停止させること、またはアクティブモードに比べてプロセッサ１０の動作電圧を低下させることやプロセッサ１０への電力供給を停止させることなどによって実現される。この低電圧モードに対してアクティブモードは、低電圧モードよりも高い電源電圧でプロセッサ１０が動作する動作モードである。アクティブモードにおけるプロセッサ１０の動作電圧は、例えば、プロセッサ１０が通常動作を行うためにその仕様で規定されている動作電圧（定格電圧）である。
【００１３】
本明細書の以下の部分においては、待機モードの一例としてアクティブモードの電源電圧よりも低い電源電圧で動作する低電圧モードを挙げて説明する。低電圧モードにおいてプロセッサ１０はデータ処理を停止するが、電力供給が停止されるモードに比べるとアクティブモードへの復帰に要する時間は短縮される。プロセッサ１０は、ＣＰＵ、Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ（ＭＣＵ）、Ｍｉｃｒｏ−Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＭＰＵ）、Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ（ＤＳＰ）、Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ（ＦＰＧＡ）等の電子回路部品である。
【００１４】
通信デバイス２０は、他の通信端末装置やサーバ等の情報処理装置との間でデータ通信を行う。データ通信は無線による通信と有線による通信の何れであってもよい。無線通信の場合、通信デバイス２０は例えば無線回路、ベースバンド回路、増幅回路、アンテナ等を含む。また通信デバイス２０は、低電圧モードで動作中のプロセッサ１０をアクティベートさせるアクティベート信号を生成する。例えばプロセッサ１０が低電圧モードで動作する状態において通信デバイス２０が他の通信端末装置から電子メールを受信した際に、必要なデータを揮発性メモリ３０に書込んだうえで、プロセッサ１０にアクティベート信号を送信する。通信デバイス２０は例えばＳｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＳＲＡＭ）が内蔵されたＭＣＵを有する。通信デバイス２０に設けられたＭＣＵは、プロセッサ１０が低電圧モードで動作する状態においても、自ら揮発性メモリ３０の特定の領域へアクセスすることが可能である。プロセッサ１０は通信デバイス２０から受信したアクティベート信号に基づき動作モードを低電圧モードからアクティブモードへ移行する。本明細書の以下の部分において、通信デバイス２０が外部から受信する信号のうち、プロセッサ１０の動作モードを低電圧モードからアクティブモードへ切り替えるトリガーとなるものを「アクティベートイベント」と呼ぶこととする。尚、本明細書において、単に「イベント」と記載した場合は、通信端末装置１の外部から受信する信号に限らず、通信端末装置１の内部において発生する通知信号や、待機モードのプロセッサ１０をアクティベートさせない通知信号も含むものとする。
【００１５】
揮発性メモリ３０は、プロセッサ１０が所定のデータ処理を行う際に用いるデータや、データ処理を行った結果を格納する。また揮発性メモリ３０には、プロセッサ１０によって実行されるコンピュータプログラムが不揮発性メモリ４０からロードされる。更に通信端末装置１に搭載されているデバイス、例えば通信デバイス２０が所定の処理を行う際にも、揮発性メモリ３０の特定の領域がデータの格納場所として使用される。揮発性メモリ３０は、Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＤＲＡＭ）、ＳＲＡＭ等の電子回路部品である。本実施例においては、揮発性メモリ３０がＤＲＡＭである場合を例として挙げて説明する。また揮発性メモリ３０は複数のメモリ領域を有し、メモリ領域毎に、データの書込みや読み出しといったアクセスが可能なオペレーションモードと、アクセスは行えないが既に書込まれたデータが消失しないようにリフレッシュ動作を行うセルフリフレッシュモードと、アクセスは行えず、かつリフレッシュ動作も行わないクロックゲーティングモードとを切り換えることが可能であるものとする。揮発性メモリ３０における消費電力は、オペレーションモード、セルフリフレッシュモード、クロックゲーティングモードの順に小さくなる。揮発性メモリ３０のメモリ領域毎の動作モードとして、他の動作モード、例えば電源電位を低下させる動作モードや電力供給を停止させる動作モード等をセルフリフレッシュモードやクロックゲーティングモードの代わりに用いてもよい。
【００１６】
不揮発性メモリ４０は、プロセッサ１０によって実行されるコンピュータプログラム等を格納する。不揮発性メモリ４０は、Ｍａｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（マスクＲＯＭ）や、Ｐｒｏｇｒａｍａｂｌｅ  ＲＯＭ（ＰＲＯＭ）、又はフラッシュメモリ等の電子回路部品である。
【００１７】
センサ５０は、ＧＰＳや加速度センサやＮｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ（ＮＦＣ）用無線デバイスやＢｌｕｅｔｏｏｔｈ（登録商標）用無線デバイス等である。
【００１８】
表示デバイス６０は、例えばディスプレイであり、タッチパネル機能を有するディスプレイであれば入力デバイスの機能も兼ねる。
【００１９】
通信デバイス２０、不揮発性メモリ４０、センサ５０および表示デバイス６０はそれぞれ、各デバイスの機能を実行するアクティブモードの他、消費電力を抑制するための待機モードや休止モードで制御され得る。本実施例では、待機モードとしてアクティブモードの電源電圧よりも低い電源電圧で動作する低電圧モードを、休止モードとして電力供給が停止される電源オフモードを例として挙げて説明する。本実施例は、プロセッサ１０が低電圧モードで動作する場合、通信デバイス２０はアクティブモードを維持し、不揮発性メモリ４０とセンサ５０は低電圧モードで制御され、表示デバイス６０は電源オフモードで制御される場合を想定するものとする。
【００２０】
電源制御回路７０は、バッテリ７５から供給される電力を、プロセッサ１０や各デバイス等に分配供給する。またプロセッサ１０からの指示に基づき、通信端末装置１の消費電力を抑制するために、各デバイスへの電力制御を行う。電源制御回路７０は例えばＤｉｒｅｃｔ  Ｃｕｒｒｅｎｔ−Ｄｉｒｅｃｔ  Ｃｕｒｒｅｎｔ（ＤＣ−ＤＣ）変換回路である。バッテリ７５は、通信端末装置１内のプロセッサ１０やデバイス等の回路に対して供給される電力の供給源であり、例えばリチウムイオン電池である。
【００２１】
バス９０はプロセッサ１０、通信デバイス２０、揮発性メモリ３０、不揮発性メモリ４０、センサ５０、表示デバイス６０等を接続し、互いのデータ送信の経路として機能する。
【００２２】
図３は、通信端末装置１の消費電力を示す図である。横軸が時間を、縦軸が消費電力をそれぞれ示す。図３に示すように、通信端末装置１は、プロセッサ１０がアクティブモードで動作する期間と、プロセッサ１０が低電圧モードで動作する期間を有する。プロセッサ１０が低電圧モードで動作する期間における消費電力は、プロセッサ１０がアクティブモードで動作する期間の消費電力よりも低くなる。これにより、プロセッサ１０を継続してアクティブモードで動作する場合に比べて、消費電力を抑制することができる。本実施例にて開示する技術により、プロセッサ１０が低電圧モードで動作する期間における通信端末装置１の消費電力を抑制することができる。
【００２３】
図４は、プロセッサ１０が実現する機能ブロックと、通信端末装置１に含まれるデバイスとの関係を示す図である。ここで「通信端末装置に含まれるデバイス」とは、必ずしも通信端末装置１の筐体内に包含されるデバイスに限定されず、通信端末装置１に対して外付けされる場合や、無線接続により通信端末装置１と協同して動作するデバイスも含む。プロセッサ１０は、例えば揮発性メモリ３０にロードされたコンピュータプログラムを実行することにより、図４に示す各機能ブロックを実現する。プロセッサ１０は、デバイス管理部１１０、メモリ管理部１２０、メモリ動作モード制御部１３０、通信デバイス用デバイスドライバ１５１、センサ用デバイスドライバ１５２、不揮発性メモリ用デバイスドライバ１５３、表示デバイス用デバイスドライバ１５４、カーネルモジュール１５５、デバイス動作モード制御部１６０として機能する。またメモリ管理部１２０はメモリ領域取得要求を受信するインターフェース（図中においてはＩ／Ｆと表記）１２１Ａ、１２１Ｂ、１２１Ｃ、１２１Ｄ、１２１Ｅ、１２１Ｆを有する。またプロセッサ１０は、デバイス動作モード情報１４１、メモリ領域割り当て情報１４２を保持する。またプロセッサ１０はアプリケーションプログラムを実行することによりアプリ２００として機能する。図４において、アプリ２００以外の機能ブロックは、例えばＯｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ（ＯＳ）のカーネルによって実現される。本実施例においてカーネルモジュール１５５は、デバイスドライバ以外のカーネルモジュールを意味し、カーネルモジュール１５５の例としてはファイルシステムが挙げられる。
【００２４】
デバイス管理部１１０は、通信端末装置１に含まれるデバイス、図４においては通信デバイス２０、不揮発性メモリ４０、センサ５０、表示デバイス６０を検索する。通信デバイス用デバイスドライバ１５１、センサ用デバイスドライバ１５２、不揮発性メモリ用デバイスドライバ１５３、表示デバイス用デバイスドライバ１５４はそれぞれ通信デバイス２０、不揮発性メモリ４０、センサ５０、表示デバイス６０のデバイスドライバである。またメモリ管理部１２０には、通信デバイス用デバイスドライバ１５１、センサ用デバイスドライバ１５２、不揮発性メモリ用デバイスドライバ１５３、表示デバイス用デバイスドライバ１５４のそれぞれに対応してインターフェース１２１Ａ、１２１Ｂ、１２１Ｃ、１２１Ｄが設けられる。各デバイスドライバはメモリ領域取得要求を、自身に対応するインターフェース１２１Ａ、１２１Ｂ、１２１Ｃ、１２１Ｄに対してそれぞれ発行する。またメモリ管理部１２０には、カーネルモジュール１５５およびアプリ２００各々に対応するインターフェース１２１Ｅ、１２１Ｆが設けられている。カーネルモジュール１５５およびアプリ２００はメモリ領域取得要求を、自身に対応するインターフェース１２１Ｅ、１２１Ｆに対してそれぞれ発行する。
【００２５】
メモリ管理部１２０は、インターフェース１２１Ａ、１２１Ｂ、１２１Ｃ、１２１Ｄ、１２１Ｅ、１２１Ｆにて受け付けたメモリ領域取得要求に対し、デバイス動作モード情報１４１を参照することにより、メモリ領域取得要求の発行元の属性に基づき揮発性メモリ３０の特定の領域を割り当てる。デバイス動作モード情報１４１の具体的内容およびメモリ領域取得要求の発行元の属性に基づくメモリ領域の割り当て処理の具体的な内容については後述する。メモリ管理部１２０は、メモリ領域を割り当てた結果をメモリ領域取得要求の発行元に通知する。またメモリ管理部１２０は、メモリ領域の割り当て結果をメモリ領域割り当て情報１４２に記録する。メモリ動作モード制御部１３０は、メモリ領域割り当て情報１４２に基づき、揮発性メモリ３０の動作モードの制御を行う。デバイス動作モード制御部１６０はデバイス動作モード情報１４１に基づき、電源制御回路７０に対して各デバイスの動作モードの制御を指示する。
【００２６】
図５は、デバイス管理部１１０のより詳細な機能ブロック図である。デバイス管理部１１０は、デバイス検索部１１１、デバイスドライバ初期化指示部１１２、デバイス種別情報通知部１１３として機能し、またデバイスドライバ対応情報１１５を保持する。図６は、デバイスドライバ対応情報１１５の内容の一例を示すものである。図６に示すように、デバイスドライバ対応情報１１５は、デバイスの種別とデバイスドライバの種別との互いの対応関係を示す情報であり、通信デバイス２０のデバイスドライバが通信デバイス用デバイスドライバ１５１であること、センサ５０のデバイスドライバがセンサ用デバイスドライバ１５２であること、不揮発性メモリ４０のデバイスドライバが不揮発性メモリ用デバイスドライバ１５３であること、表示デバイス６０のデバイスドライバが表示デバイス用デバイスドライバ１５４であることを規定している。図５の説明に戻り、デバイス検索部１１１は、通信端末装置１に含まれるデバイスを検索する。本実施例では、デバイスとして通信デバイス２０、不揮発性メモリ４０、センサ５０、表示デバイス６０の各々がデバイス検索部１１１によって検索される。デバイスドライバ初期化指示部１１２は、検索されたデバイスに対応するデバイスドライバに対して初期化の指示を与える。具体的には、デバイスドライバ初期化指示部１１２はデバイスドライバ対応情報１１５を参照することにより、検索されたデバイスに対応するデバイスドライバを認識する。そしてデバイスドライバ初期化指示部１１２は、検索されたデバイスに対応するデバイスドライバのそれぞれに対して初期化の指示を行う。デバイス種別情報通知部１１３は、各デバイスドライバからのメモリ領域取得要求を受信するようメモリ管理部１２０に設けられたインターフェース１２１Ａ、１２１Ｂ、１２１Ｃ、１２１Ｄに対して、各デバイスの種別情報を通知する。例えばメモリ管理部１２０はインターフェース１２１Ａに対して、インターフェース１２１Ａに対応するデバイスドライバが通信デバイス２０に対応するデバイスドライバであることを通知する。
【００２７】
図７は、メモリ管理部１２０のより詳細な機能ブロック図である。メモリ管理部１２０は、デバイス動作モード判定部１２２、メモリ領域割り当て部１２３、割り当て情報管理部１２４として機能する。またメモリ管理部１２０は、メモリ構成情報１２５、メモリ動作モード情報１２６を保持する。またメモリ管理部１２０にはインターフェース１２１Ａ、１２１Ｂ、１２１Ｃ、１２１Ｄ、１２１Ｅ、１２１Ｆが設けられている。これらのインターフェースは、各デバイスドライバ、カーネルモジュール１５５、アプリ２００に対して個別に設けられている。図４に示したように、インターフェース１２１Ａは通信デバイス用デバイスドライバ１５１に、インターフェース１２１Ｂはセンサ用デバイスドライバ１５２に、インターフェース１２１Ｃは不揮発性メモリ用デバイスドライバ１５３に、インターフェース１２１Ｄは表示デバイス用デバイスドライバ１５４に、インターフェース１２１Ｅはカーネルモジュール１５５に、そしてインターフェース１２１Ｆはアプリ２００にそれぞれ対応している。この対応関係は、カーネルの設計時にソースコードにて規定されてもよい。インターフェース１２１Ａ、１２１Ｂ、１２１Ｃ、１２１Ｄは、上述したデバイス管理部１１０のデバイス種別情報通知部１１３から、自身に対応付けられているデバイスドライバに対応するデバイスの種別情報の通知を受け、デバイスの種別情報を記憶する。デバイス動作モード判定部１２２は、各インターフェースに記憶されたデバイスの種別情報とデバイス動作モード情報１４１とに基づいて、各インターフェースに接続されたデバイスドライバに対応するデバイスが、プロセッサ１０が低電圧モードで動作する期間にどの動作モードで制御されるのかを判定する。
【００２８】
図８は、デバイス動作モード情報１４１の一例を示す図である。デバイス動作モード情報１４１は、テバイスの種別情報と、プロセッサ１０が低電圧モードである期間に各デバイスがどの動作モードで制御されるかを示している。図８においては、プロセッサ１０が低電圧モードで動作する期間は通信デバイス２０がアクティブモードで制御されることを規定する。その他、不揮発性メモリ４０、表示デバイス６０、センサ５０のそれぞれは、プロセッサ１０が低電圧モードで動作する期間は、それぞれ低電圧モード、電源オフモード、低電圧モードで動作することが規定されている。もちろん図８に示される内容は各デバイスの動作モードの一例であり、他の動作モードが規定されてもよい。
【００２９】
図７の説明に戻り、メモリ領域割り当て部１２３は、各インターフェースが受け付けたメモリ領域取得要求に対して、揮発性メモリ３０の有するメモリ空間の所定のメモリ領域を割り当てる。このメモリ領域の割り当てに際してメモリ領域割り当て部１２３は、メモリ動作モード情報１２６を参照する。メモリ動作モード情報１２６の一例を図９に示す。メモリ動作モード情報１２６は、メモリ領域取得要求を行った要求元と、その要求に対して割り当てられるメモリ領域の動作モードとの対応関係を規定する。図９においては、メモリ領域取得要求元が「プロセッサ１０が低電圧モードで動作する期間にアクティブモードで制御されるデバイスに対応するデバイスドライバ」である場合、当該デバイスドライバに対応するデバイスが使用するメモリ領域は、プロセッサ１０が低電圧モードで動作する期間は「オペレーションモード」で制御されることを意味している。同様に、メモリ領域取得要求元が「プロセッサ１０が低電圧モードで動作する期間に低電圧モードで制御されるデバイスに対応するデバイスドライバ」である場合、当該デバイスドライバに対応するデバイスが使用するメモリ領域は、プロセッサ１０が低電圧モードで動作する期間は「セルフリフレッシュモード」で制御されることを意味している。またメモリ領域取得要求元が「プロセッサ１０が低電圧モードで動作する期間に電源オフモードで制御されるデバイスに対応するデバイスドライバ」である場合、当該デバイスドライバに対応するデバイスが使用するメモリ領域は、プロセッサ１０が低電圧モードで動作する期間は「クロックゲーティングモード」で制御されることを意味している。更にメモリ動作モード情報１２６は、メモリ領域取得要求が、デバイスドライバ以外からなされたものである場合についても規定する。すなわちメモリ動作モード情報１２６は、メモリ領域取得要求元が「アプリ２００」または「カーネルモジュール１５５」である場合、アプリ２００またはカーネルモジュール１５５が使用するメモリ領域は、プロセッサ１０が低電圧モードで動作する期間は「セルフリフレッシュモード」で制御されることを意味している。
【００３０】
再び図７の説明に戻り、メモリ領域割り当て部１２３はメモリ動作モード情報１２６の記述に基づき、各メモリ領域取得要求に対して、メモリ動作モードを考慮してメモリ領域の割り当てを行う。例えば、対応するメモリ動作モードが「オペレーションモード」となるメモリ領域取得要求元に対しては、メモリ領域の第１領域を割り当て、対応するメモリ動作モードが「セルフリフレッシュモード」となるメモリ領域取得要求元に対しては、メモリ領域の第２領域を割り当て、対応するメモリ動作モードが「クロックゲーティングモード」となるメモリ領域取得要求元に対しては、メモリ領域の第３領域を割り当てる。このようにしてメモリ領域割り当て部１２３は、メモリ領域取得要求元の属性に基づいて、メモリ領域として異なる領域を割り当てる。特に、メモリ領域割り当て部１２３は、メモリ領域取得要求元がデバイスドライバである場合、そのデバイスドライバに対応するデバイスが、プロセッサ１０が低電圧モードで動作する期間にどの動作モードで制御されるかに基づいてメモリ領域を割り当てる。これにより、プロセッサ１０が低電圧モードで動作する際、特定のデバイスを選択的にアクティブモードで制御し、当該デバイスが使用するメモリ領域を選択的にオペレーションモードで制御することが可能となる。またプロセッサ１０が低電圧モードで動作する場合に低電圧モードや電源オフモードで制御される他のデバイスが使用するメモリ領域を、セルフリフレッシュモードやクロックゲーティングモードで制御することが可能となり、通信端末装置１の消費電力を抑制することができる。尚、揮発性メモリ３０に含まれる異なるメモリ領域を異なる動作モードで制御する具体的な手法は後述する。
【００３１】
図１０は、揮発性メモリ３０のアドレス空間と、各デバイスドライバ、カーネルモジュール１５５およびアプリ２００に割り当てられたメモリ領域の例を示す図である。ここでは揮発性メモリ３０の一例として、８つのバンクを含むＤＲＡＭを示す。メモリアドレスが０からａ、ａ＋１からｂ、ｂ＋１からｃ、ｃ＋１からｄ、ｄ＋１からｅ、ｅ＋１からｆ、ｆ＋１からｇ、ｇ＋１からｈのそれぞれの領域が、第１バンクから第８バンクに対応するものとする。このような構成を有する揮発性メモリ３０において、通信デバイス用デバイスドライバ１５１の行ったメモリ領域取得要求に対して、アドレスが０からＡ（Ａ≦ａとする）のメモリ領域が割り当てられる。また表示デバイス用デバイスドライバ１５４の行ったメモリ領域取得要求に対して、アドレスがＢ＋１からＣ（Ｂ＝ｂ、Ｃ≦ｃとする）のメモリ領域が割り当てられる。またセンサ用デバイスドライバ１５２、不揮発性メモリ用デバイスドライバ１５３、カーネルモジュール１５５およびアプリ２００の行ったメモリ領域取得要求に対して、アドレスがＤ＋１からＥ（Ｄ≧ｄ、Ｅ＝ｈとする）のメモリ領域が割り当てられる。このように、メモリ管理部１２０は、メモリ領域取得要求に対して、そのメモリ領域取得要求元の属性（メモリ領域取得要求元がデバイスドライバである場合は、そのデバイスドライバが対応するデバイスが、プロセッサ１０がアクティブモードで動作する期間にどの動作モードで制御されるか）に基づいて、メモリ領域を分類する。
【００３２】
図１１は、メモリ領域割り当て情報１４２の内容を示す図である。メモリ管理部１２０は、メモリ領域の割り当てを行った場合にその結果としてメモリ領域割り当て情報１４２を作成する。メモリ領域割り当て情報１４２は、揮発性メモリ３０のアドレスと、そのアドレスに対応するメモリ領域を、プロセッサ１０が低電圧モードで動作する際にどの動作モードで制御するかを規定するものである。メモリ領域割り当て情報１４２の１行目は、プロセッサ１０が低電圧モードで動作する時、アドレスが０からＡのメモリ領域は「オペレーションモード」で制御されることを規定する。すなわちプロセッサ１０が低電圧モードで動作している期間も、このメモリ領域へのアクセスは可能である。メモリ領域割り当て情報１４２の２行目は、プロセッサ１０が低電圧モードで動作する時、アドレスがＡ＋１からＤのメモリ領域は「クロックゲーティングモード」で制御されることを規定する。すなわちプロセッサ１０が低電圧モードで動作している期間は、このメモリ領域へのアクセスは行えない。メモリ領域割り当て情報１４２の３行目は、プロセッサ１０が低電圧モードで動作する時、アドレスがＤ＋１からＥのメモリ領域は「セルフリフレッシュモード」で制御されることを規定する。すなわちプロセッサ１０が低電圧モードで動作している期間、このメモリ領域へのアクセスは行えないが、このメモリ領域に既に格納されているデータは保持される。
【００３３】
図１２は、メモリ領域の割り当てに関する処理フローを示す図である。メモリ領域の割り当ての処理フローは処理１０００により開始され、処理１００１においてデバイス検索部１１１が、通信端末装置１に含まれるデバイスを検索する。処理１００２においてデバイスドライバ初期化指示部１１２が、デバイスドライバ対応情報１１５を参照することにより、処理１００１で検索されたデバイスに対応するデバイスドライバを特定し、特定されたデバイスドライバに対して初期化の指示を行う。処理１００３においてデバイス種別情報通知部１１３が、デバイスドライバ対応情報１１５を参照することにより、処理１００１で検索されたデバイスの種別情報をメモリ管理部１２０のインターフェース１２１Ａから１２１Ｄに登録する。処理１００４においてインターフェース１２１Ａから１２１Ｆが、メモリ領域取得要求を受信する。処理１００５においてメモリ領域割り当て部１２３が、処理１００４にて受信したメモリ領域取得要求の要求元の属性を判定する。ここで要求元の属性の判定とは、要求元がアプリ２００であるのか、カーネルモジュール１５５であるのか、デバイスドライバであるのか、また要求元がデバイスドライバである場合は、そのデバイスドライバが対応するデバイスの動作モードがアクティブモードであるのか、低電圧モードであるのか、電源オフモードであるのか、を判定することである。次に処理１００６においてメモリ領域割り当て部１２３が、デバイス動作モード情報１４１に基づいて、処理１００４において受信したメモリ領域取得要求に対してメモリ領域の割り当てを行う。そして処理１００７において割り当て情報管理部１２４が、メモリ領域の割り当てた結果をメモリ領域割り当て情報１４２に保存し、処理１００８において処理が終了する。
【００３４】
ここまで、メモリ領域取得要求の要求元の属性に基づいて、メモリ領域を割り当てる手順について説明した。次に、プロセッサ１０がアクティブモードから低電圧モードへ遷移する場合、併せて各デバイスの動作モードを切り換え、更に揮発性メモリ３０を、メモリ領域割り当て情報１４２に基づいて制御する方法について説明する。
【００３５】
図４に示したように、プロセッサ１０が低電圧モードで動作する際の各デバイスの動作モードを規定する情報がデバイス動作モード情報１４１に格納されている。またメモリ管理部１２０がメモリ領域取得要求に対して行ったメモリ領域の割り当て結果はメモリ領域割り当て情報１４２に格納される。デバイス動作モード制御部１６０およびメモリ動作モード制御部１３０は、これらデバイス動作モード情報１４１とメモリ領域割り当て情報１４２に基づいて、それぞれ電源制御回路７０および揮発性メモリ３０の制御を行う。
【００３６】
図１３は、プロセッサ１０と電源制御回路７０と揮発性メモリ３０との接続関係を示す図である。プロセッサ１０は電源制御回路７０とバス９０で接続され、プロセッサ１０のデバイス動作モード制御部１６０がバス９０を介して電源制御回路７０の制御を行う。またプロセッサ１０は揮発性メモリ３０とバス９０で接続され、プロセッサ１０のメモリ動作モード制御部１３０は揮発性メモリ３０に対してコマンドを送信してメモリの動作モードを制御する。また電源制御回路７０は、電力供給線９５を介してプロセッサ１０および揮発性メモリ３０に接続されている。尚、図１３には、電源制御回路７０に接続されたバッテリ７５と、電源制御回路７０と電力供給線９５を介して接続された通信デバイス２０、不揮発性メモリ４０、センサ５０、表示デバイス６０も示されている。
【００３７】
デバイス動作モード制御部１６０はデバイス動作モード情報１４１の規定内容に従い、各デバイスの動作モードを切り換えるよう、電源制御回路７０に指示を行う。本実施例では、図８に示されるように通信デバイス２０の動作モードは「アクティブモード」と規定されている。そのため、デバイス動作モード制御部１６０は電源制御回路７０に対して、プロセッサ１０が低電圧モードで制御される期間も通信デバイス２０が通常動作を行えるよう、通信デバイス２０に接続された電力供給線９５の電位を通常電位に維持するよう指示する。一方、図８に示されるように、不揮発性メモリ４０およびセンサ５０の動作モードは「低電圧モード」と規定されている。そのためデバイス動作モード制御部１６０は電源制御回路７０に対して、プロセッサ１０が低電圧モードで制御される期間に不揮発性メモリ４０とセンサ５０に与えられる電位を、通常電圧よりも低い電位に切り替えるよう指示する。更に図８に示されるように、表示デバイス６０の動作モードは「電源オフモード」と規定されている。そのためデバイス動作モード制御部１６０は電源制御回路７０に対して、プロセッサ１０が低電圧モードで制御される期間に表示デバイス６０に供給される電力を停止するよう指示する。このようにして各デバイスで消費される電力の適正化が行われる。
【００３８】
次に、揮発性メモリ３０の動作モードの制御方法について説明する。図１４は、揮発性メモリ３０のアドレスとバンクとの対応関係を示すメモリ構成情報１２５を示し、このメモリ構成情報１２５は例えばメモリ管理部１２０により保持される。メモリ動作モード制御部１３０は、メモリ構成情報１２５と、図１１に示したメモリ領域割り当て情報１４２とを参照することにより、揮発性メモリ３０に含まれるバンクのうち、オペレーションモードで制御されるバンク、セルフリフレッシュモードで制御されるバンク、クロックゲーティングモードで制御されるバンクをそれぞれ特定する。図１５は、メモリ動作モード制御部１３０によって特定されたそれぞれの動作モードで制御されるバンクを示すバンク制御情報１４３の内容を示す図である。このバンク制御情報１４３は例えばメモリ動作モード制御部１３０内に保持される。図１５に示されるように、第１バンクはオペレーションモードで制御され、第２バンクから第４バンクはクロックゲーティングモードで制御され、第５バンクから第８バンクはセルフリフレッシュモードで制御されることが規定される。次にメモリ動作モード制御部１３０は、図１５に示したバンク制御情報１４３に基づき、揮発性メモリ３０に対して各バンクがどの動作モードで制御されるかを示すコマンドを送信する。このコマンドに基づき、揮発性メモリ３０はバンク単位で動作モードを切り換えて動作する。具体的には、プロセッサ１０が低電圧モードで動作する期間もアクティブモードを維持するデバイスによって使用されるメモリ領域を含むバンクを選択的にオペレーションモードで制御する。またプロセッサ１０が低電圧モードで動作する期間は低電圧モードで制御されるデバイスによって使用されるメモリ領域を含むバンクを選択的にセルフリフレッシュモードで制御する。また、プロセッサ１０が低電圧モードで動作する期間は電源オフモードで制御されるデバイスによって使用されるメモリ領域を含むバンクを選択的にクロックゲーティングモードにて制御する。
【００３９】
次に図１６を用いて、揮発性メモリ３０の構成について説明する。揮発性メモリ３０は、プロセッサ１０から送信されるコマンドを受信するコマンドデコーダ３６０と、クロック生成回路８０から供給されるクロックを受信するクロックゲート回路３１０を有する。更に揮発性メモリ３０は、セルフリフレッシュを行う時間間隔を定める内部クロックを生成するリフレッシュカウンター３２０と、各々が第１バンクから第８バンクに対応する８つのメモリセルアレイ３３０を含む。クロックゲート回路３１０と各メモリセルアレイ３３０は、クロック供給線３５０で接続され、リフレッシュカウンター３２０と各メモリセルアレイ３３０は、内部クロック供給線３４０で接続される。
【００４０】
コマンドデコーダ３６０は、メモリ動作モード制御部１３０から受信したコマンドに基づき、クロックゲート回路３１０に対して、どのメモリセルアレイ３３０にクロックを供給するかを指示する。クロックゲート回路３１０は、コマンドデコーダ３６０からの指示に従い、特定のメモリセルアレイ３３０、すなわち、バンク制御情報１４３にてメモリ動作モードがオペレーションモードであると指定された第１バンクに対応するメモリセルアレイ３３０にクロックを供給し、他のメモリセルアレイ３３０に対してのクロック供給を停止する。またコマンドデコーダ３６０は、メモリ動作モード制御部１３０から受信したコマンドに基づき、リフレッシュカウンター３２０に対して、どのメモリセルアレイ３３０に内部クロックを供給するかを指示する。リフレッシュカウンター３２０は、コマンドデコーダ３６０からの指示に従い、特定のメモリセルアレイ３３０、すなわち、バンク制御情報１４３にてメモリ動作モードがセルフリフレッシュモードであると指定された第５バンクから第８バンクに相当するメモリセルアレイ３３０に選択的に内部クロックを供給する。このような制御により、揮発性メモリ３０に含まれるバンク単位で動作モードを選択することにより、揮発性メモリ３０の消費電力を抑制することができる。尚、図１６は複数のバンクを有するＤＲＡＭを揮発性メモリ３０の例として説明したが、本実施例はこのようなＤＲＡＭを利用する場合に限定されるものではない。例えば複数の異なる半導体チップがモジュール化されて１つのメモリパッケージを構成し、半導体チップ単位で動作モードを切り換えるＤＲＡＭ構成にも本願は適用可能である。
【００４１】
図１７は、プロセッサ１０がアクティブモードから低電圧モードへ遷移する際の処理フローを示す図である。モード遷移の処理フローは処理１１００により開始され、処理１１０１においてデバイス動作モード制御部１６０は、デバイス動作モード情報１４１を参照し、電源制御回路７０に対して各デバイスの動作モードの変更を指示する。具体的には、通信デバイス２０に接続された電力供給線９５の電位を通常電位とし、不揮発性メモリ４０およびセンサ５０それぞれに接続された電力供給線９５の電位を低電位とし、表示デバイス６０に接続された電力供給線９５に対する電力供給を停止するよう、デバイス動作モード制御部１６０が電源制御回路７０にバス９０を介して指示を送信する。処理１１０２においてメモリ動作モード制御部１３０は、揮発性メモリ３０に対して各バンクの動作モードの変更を指示する。具体的には、第１バンクにはクロックを供給し、第２バンクから第４バンクについてはクロックの供給を停止し、第５バンクから第８バンクについてはクロックの供給を停止するとともに内部クロックの供給を行いセルフリフレッシュを行うことを指示する。処理１１０３においてデバイス動作モード制御部１６０は、電源制御回路７０に対し、プロセッサ１０自身の動作モードの変更を指示する。具体的には、プロセッサ１０に接続された電力供給線９５の電位を低電位とするよう、デバイス動作モード制御部１６０が電源制御回路７０にバス９０を介して指示を送信する。
【００４２】
これらの処理により、プロセッサ１０がアクティブモードから低電圧モードに移行する一方で、通信デバイス２０のようにアクティベートイベントの受信を行うデバイスはアクティブモードを維持する。また、センサ５０や不揮発性メモリ４０のデバイスは低電圧モード、表示デバイス６０は電源オフモードへ移行することにより、デバイスによって消費される電力を抑制することができる、また、アクティブモードを維持するデバイスが使用するメモリ領域を含むバンクをオペレーションモードで制御することで、アクティブモードで動作するデバイスが揮発性メモリ３０にアクセスすることが可能になる。また、低電圧モードで制御されるデバイスが使用するメモリ領域を含むバンクをセルフリフレッシュモードで制御することで、当該バンクに保持されたデータが消去されることを防止しつつ、揮発性メモリ３０の消費電力を抑制することができる。更に、電源オフモードで制御されるデバイスが使用するメモリ領域を含むバンクをクロックゲーティングモードで制御することで、揮発性メモリ３０の消費電力を更に抑制することができる。
【００４３】
次に、プロセッサ１０が低電圧モードで動作する期間において、通信デバイス２０が他の通信端末装置等からアクティベートイベントを受信してプロセッサ１０をアクティベートさせる際の、処理内容について説明する。図１８は、通信デバイス２０が実行する処理フローを示す。通信デバイス２０による処理フローは処理１２００により開始され、処理１２０１において通信デバイス２０が、外部からアクティベートイベントを受信する。処理１２０２において通信デバイス２０が、受信したアクティベートイベントに関する必要なデータを、揮発性メモリ３０のうち割り当てられたメモリ領域に書込む。処理１２０３において通信デバイス２０が、プロセッサ１０にアクティベート信号を送信し、処理１２０４において処理が終了する。
【００４４】
続いて図１９を用いて、通信デバイス２０からアクティベート信号を受信したプロセッサ１０が行うアクティベートの処理フローについて説明する。プロセッサ１０が実行するアクティベートの処理フローは処理１３００により開始され、処理１３０１においてデバイス動作モード制御部１６０が、電源制御回路７０に対して各デバイスおよびプロセッサ１０の動作モードの変更を指示する。処理１３０２においてメモリ動作モード制御部１３０が、揮発性メモリ３０に対して各バンクの動作モードの変更を指示する。その後、処理１３０３にて処理が終了する。
【００４５】
ここまで、第１実施例について説明した。第１実施例では、デバイス管理部１１０がインターフェース１２１Ａから１２１Ｄにデバイスの種別情報を登録する例を説明した。他の方法として、デバイス管理部１１０がデバイス動作モード情報１４１を参照し、インターフェース１２１Ａから１２１Ｄにデバイスの動作モードの情報を登録してもよい。この方法によればメモリ管理部１２０は、メモリ領域取得要求を受けた際にデバイス動作モード情報１４１にアクセスせずにメモリ領域の割り当てを行うことができる。
【００４６】
＜第２実施例＞
第１実施例では、通信端末装置１に含まれるデバイスが定まっており、カーネルの設計段階において各デバイスドライバとメモリ管理部１２０に設けられるインターフェース１２１Ａから１２１Ｄとの対応関係が規定されている例について説明した。第２実施例では、デバイスが動的に変化する場合、つまりデバイスドライバが、新たにメモリ管理部１２０に接続され、またはメモリ管理部１２０への接続が解消される場合について説明する。尚、第１実施例で説明したハードウェアや機能ブロックのうち、第２実施例にも適用可能なものについては同一の参照符号を用いて引用し、説明を適宜省略する。
【００４７】
図２０は、第２実施例におけるメモリ管理部１２０のブロック図である。第２実施例におけるメモリ管理部１２０は、デバイスドライバ用のインターフェースとして、インターフェース１２７Ａ、１２７Ｂ、１２７Ｃを有する。インターフェース１２７Ａは、プロセッサ１０が待機モードとしての低電圧モードで動作する場合にアクティブモードで動作するデバイスに対応するデバイスドライバに対して共通で設けられたインターフェースである。インターフェース１２７Ｂは、プロセッサ１０が低電圧モードで動作する場合に低電圧モードで動作するデバイスに対応するデバイスドライバに対して共通で設けられたインターフェースである。インターフェース１２７Ｃは、プロセッサ１０が低電圧モードで動作する場合に電源オフモードで動作するデバイスに対応するデバイスドライバに対して共通で設けられたインターフェースである。メモリ領域割り当て部１２３は、インターフェース１２７Ａにて受信したメモリ領域割り当て要求に対しては、プロセッサ１０が低電圧モードで動作する際にオペレーションモードで制御されるメモリ領域への割り当てを行う。またメモリ領域割り当て部１２３は、インターフェース１２７Ｂにて受信したメモリ領域割り当て要求に対しては、プロセッサ１０が低電圧モードで動作する際にセルフリフレッシュモードで制御されるメモリ領域への割り当てを行う。またメモリ領域割り当て部１２３は、インターフェース１２７Ｃにて受信したメモリ領域割り当て要求に対しては、プロセッサ１０が低電圧モードで動作する際にクロックゲーティングモードで制御されるメモリ領域への割り当てを行う。
【００４８】
図２１は、第２実施例におけるデバイス管理部１１０のブロック図である。デバイス管理部１１０は、インターフェース選択部１１４を有する。通信端末装置１に外部デバイスが新たに接続された場合、デバイス検索部１１１はデバイスの検索を実行する。そして新たに接続されたデバイスに対応するデバイスドライバをダウンロードする。そしてデバイスドライバ初期化指示部１１２は、新たに接続されたデバイスに対応するデバイスドライバに初期化の指示を行う。インターフェース選択部１１４はデバイス動作モード情報１４１を参照し、新たに接続されたデバイスが、プロセッサ１０が低電圧モードで動作する場合にどの動作モードで動作するのかを判定する。そして動作モードがアクティブモードと判定された場合は、インターフェース選択部１１４は対応するデバイスドライバをインターフェース１２７Ａに対応させる。また動作モードが低電圧モードと判定された場合は、インターフェース選択部１１４は対応するデバイスドライバをインターフェース１２７Ｂに対応させる。また動作モードが電源オフモードと判定された場合は、インターフェース選択部１１４は対応するデバイスドライバをインターフェース１２７Ｃに対応させる。また通信端末装置１からデバイスの接続が解消される場合は、デバイスドライバと、そのデバイスドライバに対応するインターフェースとの対応関係が解除される。
【００４９】
図２２は、メモリ領域の割り当ての処理フローを示す図である。メモリ領域の割り当ての処理フローは処理１４００により開始され、処理１４０１においてデバイス検索部１１１が、通信端末装置１に新たに接続されたデバイスを検索する。処理１４０２においてデバイス検索部１１１が、検索されたデバイスに対応するデバイスドライバをダウンロードする。処理１４０３においてデバイスドライバ初期化指示部１１２が、新たに接続されたデバイスに対応するデバイスドライバに対して初期化の指示を行う。処理１４０４においてインターフェース選択部１１４が、デバイス動作モード情報１４１を参照することにより、新たに検索されたデバイスが、プロセッサ１０が低電圧モードで動作する場合にどの動作モードで制御されるのかを判定する。処理１４０４の判定において動作モードがアクティブモードと判定された場合は、処理１４０５においてインターフェース選択部１１４が、デバイスドライバをインターフェース１２７Ａに対応させる。処理１４０４の判定において動作モードが低電圧モードと判定された場合は、処理１４０６においてインターフェース選択部１１４が、デバイスドライバをインターフェース１２７Ｂに対応させる。また処理１４０４の判定において動作モードが電源オフモードと判定された場合は、処理１４０７においてインターフェース選択部１１４が、デバイスドライバをインターフェース１２７Ｃに対応させる。処理１４０８においてメモリ領域割り当て部１２３が、受信したメモリ領域取得要求に対してメモリ領域の割り当てを行う。この処理においてメモリ領域割り当て部１２３は、メモリ領域取得要求を、インターフェース１２７Ａ、１２７Ｂ、１２７Ｃの何れで受信したのかを考慮してメモリ領域の割り当てを行う。その後、処理１４０９において割り当て情報管理部１２４が、メモリ領域の割り当てた結果をメモリ領域割り当て情報１４２に保存し、処理１４１０において処理が終了する。
【００５０】
このように第２実施例では、メモリ管理部１２０にデバイスの動作モードに合わせた専用のインターフェースを設け、新たに接続されたデバイスの動作モードに基づき、デバイスに対応するデバイスドライバの接続先インターフェースを選択する。これによりメモリ管理部１２０は、デバイスドライバが行うメモリ領域取得要求に対して適切なメモリ領域の割り当てを行うことができる。そして第１実施例と同様に、揮発性メモリ３０の特定の領域を選択してオペレーションモード、またはセルフリフレッシュモード、またはクロックゲーティングモードで制御することができる。
【００５１】
尚、第２実施例においては、通信端末装置１に新たにデバイスが接続される場合について説明したが、「デバイスが接続される」とは、有線接続に限られる意味ではなく、無線による接続も含まれる。
【００５２】
＜第３実施例＞
第１実施例および第２実施例では、例えば通信デバイス２０は、プロセッサ１０が低電圧モードで動作する場合にもアクティブモードを維持するデバイスとして規定されていた。しかし、あるデバイスが、プロセッサ１０が低電圧モードで動作する場合にアクティブモードで制御されるか、低電圧モードあるいは電源オフモードで制御されるかが動的に変化する場合がある。例えばアプリ２００が、ある特定のアクティベートイベントを通信デバイス２０が受信した場合に通知を受けることを要求するものであるケースを想定する。このような状況において、通信端末装置１のユーザがアプリ２００の機能を不要と判断してアプリ２００を停止させると、通信デバイス２０をアクティブモードに維持する必要がなくなる場合がある。この場合、通信デバイス２０を低電圧モードまたは電源オフモードへ移行させ、通信デバイス２０に対して割り当てられていたメモリ領域をセルフリフレッシュモードまたはクロックゲーティングモードで制御される領域へ移行させる。逆に、このようなアプリ２００が起動した場合には、通信デバイス２０をアクティブモードへ移行させ、通信デバイス２０に対して割り当てられていたメモリ領域をオペレーティングモードで制御される領域へ移行させる。第３実施例ではこのような場合の制御方法について説明する。
【００５３】
図２３は、第３実施例においてプロセッサ１０が実現する機能ブロックと、通信端末装置１に含まれるデバイスとの関係を示す図である。ここでは第１実施例の図４にて説明したプロセッサ１０の機能と相違する部分について説明する。プロセッサ１０は、図４に示した機能に加え、イベント受信通知部１７０として機能する。イベント受信通知部１７０はアプリ２００から、あるイベントが発生した場合に通知を送信するよう依頼を受ける。イベント受信通知部１７０は、アプリ２００から指定されたイベントの種類が、通信端末装置１に含まれる何れかのデバイスを用いて検出されるものであるか否かを判定する。更に、当該イベントが、通信端末装置１に含まれる何れかのデバイスを用いて検出されるものである場合は、低電圧モードで動作するプロセッサ１０をアクティブモードへ移行させるアクティベート信号を生成する可能性があるか否かを判定する。当該デバイスがプロセッサ１０に対するアクティベート信号を生成する可能性がある場合は、プロセッサ１０が低電圧モードで動作する期間も、当該デバイスをアクティブモードに維持する必要があるからである。当該デバイスがアクティベート信号を生成する可能性がある場合は、イベント受信通知部１７０はデバイス動作モード情報１４１にアクセスし、当該デバイスの動作モードを「アクティブモード」に規定する。逆に、アプリ２００が停止され、当該デバイスをアクィブモードに維持する必要が無くなった場合は、イベント受信通知部１７０はデバイス動作モード情報１４１にアクセスし、当該デバイスの動作モードを「低電力モード」もしくは「電源オフモード」に規定する。
【００５４】
図２４は、デバイス動作モード情報１４１の記述内容の変更の様子の一例を示すものである。この例では通信デバイス２０を利用するアプリ２００が機能している場合は、通信デバイス２０の動作モードが「アクティブモード」として規定され、アプリ２００が停止している場合は、通信デバイス２０の動作モードが「低電圧モード」として規定されるケースを示している。
【００５５】
図２５は、第３実施例における動作モード変更に関する処理フローを示す図である。動作モード変更の処理フローは処理１５００により開始され、処理１５０１においてアプリ２００がイベント受信通知部１７０に対して、特定のイベントが受信された場合にイベント受信通知を配信するよう依頼する。処理１５０２においてイベント受信通知部１７０は、特定のイベントが通信端末装置１のデバイスに関連するか否かを判定する。処理１５０２においてデバイスに関連しないと判定された場合は処理１５０８へ移行し、デバイスに関連すると判定された場合は処理１５０３へ移行する。処理１５０３においてイベント受信通知部１７０が、特定のイベントに関連するデバイスが、低電圧モードで動作するプロセッサ１０に対してアクティベート信号を発行する可能性があるか否かを判定する。処理１５０３において、デバイスがアクティベート信号を発行する可能性がないと判定された場合は処理１５０８へ移行し、デバイスがアクティベート信号を発行する可能性があると判定された場合は処理１５０４へ移行する。処理１５０４においてイベント受信通知部１７０が、デバイス動作モード情報１４１の内容を変更し、当該デバイスの動作モードがアクティブモードとなる旨、デバイス動作モード情報１４１に登録する。また処理１５０５においてイベント受信通知部１７０が、当該デバイスの動作モードがアクティブモードに変更されたことに応じてメモリ領域割り当て情報１４２の内容を変更する。そして処理１５０６においてデバイス動作モード制御部１６０が、デバイス動作モード情報１４１の変更内容に応じてデバイスの動作モードを変更する。また処理１５０７においてメモリ動作モード制御部１３０が、メモリ領域割り当て情報１４２の変更内容に応じてメモリの動作モードを変更し、処理１５０８において処理が終了する。尚、図２５においては、デバイス動作モード情報１４１においてあるデバイスの動作モードがアクティブモードへ変更される場合について説明したが、デバイス動作モード情報１４１においてあるデバイスの動作モードがアクティブモードから他のモードへ変更される場合にも同様の処理フローが適用される。この場合は、処理１５０１の処理においてアプリが、イベント受信通知の配信の停止を依頼する。そして処理１５０４においてイベント受信通知部１７０が、特定のイベントに関連するデバイスの動作モードをアクティブモードとしてデバイス動作モード情報１４１に登録する。
【００５６】
以上の処理により、プロセッサ１０が低電圧モードで動作する際のデバイスの動作モードが変更される場合であっても、当該デバイスおよび揮発性メモリ３０における消費電力を抑制することが可能となる。
【００５７】
＜第４実施例＞
第１乃至第３実施例では、揮発性メモリ３０が、プロセッサ１０および各デバイスの動作に必要なデータを保存するものとして説明した。第４実施例では、揮発性メモリ３０に代えて、磁気抵抗メモリや強誘電体メモリが用いられる場合について説明する。Ｍａｇｎｅｔｏｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＭＲＡＭ）やＦｅｒｒｏｅｌｅｃｔｒｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＦｅＲＡＭ）は電源が遮断されてもデータを保持することが可能なメモリである。揮発性メモリ３０に代えてＭＲＡＭもしくはＦｅＲＡＭを用いた場合には、第１乃至第３実施例で説明したようなセルフリフレッシュモードを用いなくても、既に格納されているデータを保持することができる。そのため、第１乃至第３実施例のように、第５バンクから第８バンクについてセルフリフレッシュモードでの制御を行う必要がなくなる。これにより、メモリの消費電力を抑制することができる。第４実施例においては、図９に示したメモリ動作モード情報１２６の「低電圧モードで動作するデバイスに対応するドライバ」の動作モードが「セルフリフレッシュモード」から「クロックゲーティングモード」に変更される。これにより、図１５に示したバンク制御情報１４３の第５バンクから第８バンクの動作モードが「セルフリフレッシュモード」から「クロックゲーティングモード」に変更され、メモリでの消費電力が削減される。
【００５８】
開示の実施例に基づき、更に以下の付記を開示する。
（付記１）
メモリと、
プロセッサと、
第１デバイスを含み、
前記プロセッサは、
前記第１デバイスが、前記プロセッサが待機モードである期間においてアクティブモードで動作する第１タイプのデバイスであるか否かを判定し、
前記第１デバイスが前記第１タイプのデバイスであると判定された場合は、前記メモリの第１領域を前記第１デバイスの使用領域として割り当て、
前記プロセッサが前記待機モードで動作する期間において、前記第１領域を、前記第１デバイスによって利用されることが可能な第１モードで制御し、前記メモリの前記第１領域以外の領域のうちの少なくとも第２領域を、前記第１モードにおける消費電力よりも低い消費電力となる第２モードで制御することを特徴とする電子装置。
（付記２）
前記プロセッサは、前記第１デバイスによって使用されるメモリ領域の取得を要求する第１要求に対し、前記第１領域を前記第１デバイスの前記使用領域として割り当てることを特徴とする付記１に記載の電子装置。
（付記３）
前記第１要求は、前記第１デバイスに対応する第１デバイスドライバが発行することを特徴とする付記１又は２に記載の電子装置。
（付記４）
前記第１デバイスは通信デバイスであり、前記プロセッサが前記待機モードの期間に他の電子装置からの信号を受信し、
前記プロセッサは、前記信号の受信に基づき前記アクティブモードへ移行することを特徴とする付記１乃至３何れか一つに記載の電子装置。
（付記５）
前記通信デバイスは、前記信号を受信し、前記メモリの前記第１領域にデータの書込みを行った後、前記プロセッサに対してアクティベート信号を送信することを特徴とする付記４に記載の電子装置。
（付記６）
前記プロセッサは、前記第１要求に対して前記メモリの前記第１領域を割り当てるメモリ管理部として機能し、
前記第１デバイスドライバは、前記第１要求を前記メモリ管理部に対して発行し、
前記メモリ管理部は、前記第１要求の要求元が前記第１タイプのデバイスに対応するデバイスドライバであるか否かを判定し、前記第１メモリ領域取得要求の要求元が前記第１タイプのデバイスに対応するデバイスドライバであると判定された場合に、前記メモリの前記第１領域を前記第１デバイスの使用領域として割り当てる
ことを特徴とする付記３乃至５何れか一つに記載の電子装置。
（付記７）
前記プロセッサは、前記第１デバイスを検索するためのデバイス管理部として機能し
前記メモリ管理部は、前記第１デバイスドライバから前記第１要求を受信するインターフェースを有し、
前記デバイス管理部は、前記第１デバイスの種別情報もしくは前記第１デバイスが前記第１タイプのデバイスであるか否かの情報を、前記インターフェースに通知する
ことを特徴とする付記６に記載の電子装置。
（付記８）
前記第１デバイスドライバ、前記メモリ管理部および前記デバイス管理部は、前記プロセッサにおいて実行されるカーネルにより実現されることを特徴とする付記７に記載の電子装置。
（付記９）
前記電子装置は更に第２デバイスを含み、
前記プロセッサは、
前記第２デバイスが前記第１タイプのデバイスであるか否かを判定し、
前記第２デバイスが前記第１タイプのデバイスでない場合は、前記メモリの前記第２領域を前記第２デバイスの使用領域として割り当てる
ことを特徴とする付記１乃至８何れか一つに記載の電子装置。
（付記１０）
前記メモリは揮発性メモリであることを特徴とする付記１乃至９何れか一つに記載の電子装置。
（付記１１）
前記第２モードは、セルフリフレッシュモードであることを特徴とする付記１０に記載の電子装置。
（付記１２）
前記メモリは、磁気抵抗メモリまたは強誘電体メモリであることを特徴とする付記１乃至９何れか一つに記載の電子装置。
（付記１３）
前記メモリは複数のバンクを有し、前記複数のバンクに含まれる第１バンクが前記第１モードで制御され、前記複数のバンクに含まれる第２バンクが前記第２モードで制御されることを特徴とする付記１乃至１０何れか一つに記載の電子装置。
（付記１４）
メモリと、プロセッサと、第１デバイスを含む電子装置の制御方法であって、
前記第１デバイスが、前記プロセッサが待機モードである期間においてアクティブモードで動作する第１タイプのデバイスであるか否かを判定し、
前記第１デバイスが前記第１タイプのデバイスである場合は、前記メモリの第１領域を前記第１デバイスの使用領域として割り当て、
前記プロセッサが前記待機モードで動作する期間において、前記第１領域を前記第１デバイスによって利用されることが可能な第１モードで制御し、前記メモリの前記第１領域以外の領域のうちの少なくとも第２領域を、前記第１モードにおける消費電力よりも低い消費電力となる第２モードで制御する
ことを特徴とする電子装置の制御方法。
（付記１５）
前記第１デバイスによって使用されるメモリ領域の取得を要求する第１要求に対し、前記第１領域が前記第１デバイスの前記使用領域として割り当てられることを特徴とする付記１４に記載の電子装置の制御方法。
（付記１６）
前記第１要求は、前記第１デバイスに対応する第１デバイスドライバによって発行されることを特徴とする付記１４又は１５に記載の電子装置の制御方法。
（付記１７）
前記第１デバイスは通信デバイスであり、
前記第１デバイスにより、前記プロセッサが前記待機モードの期間に他の電子装置からの信号を受信し、
前記プロセッサを、前記信号の受信に基づき前記アクティブモードへ移行させる
ことを特徴とする付記１４乃至１６何れか一つに記載の電子装置の制御方法。
（付記１８）
前記通信デバイスにより前記信号を受信した後、前記メモリの前記第１領域にデータの書込みを行ない、
前記データの書込みの後、前記通信デバイスから前記プロセッサにアクティベート信号を送信する
ことを特徴とする付記１７に記載の電子装置の制御方法。
（付記１９）
前記プロセッサは、前記第１要求に対して前記メモリの前記第１領域を割り当てるメモリ管理部として機能し、
前記第１デバイスドライバは、前記第１要求を前記メモリ管理部に対して発行し、
前記メモリ管理部が、前記第１要求の要求元が前記第１タイプのデバイスに対応するデバイスドライバであるか否かを判定し、
前記第１要求の要求元が前記第１タイプのデバイスに対応するデバイスドライバであると判定された場合に、前記メモリ管理部が、前記メモリの前記第１領域を前記第１デバイスの使用領域として割り当てる
ことを特徴とする付記１５乃至１８何れか一つに記載の電子装置の制御方法。
（付記２０）
前記プロセッサは、前記第１デバイスを検索するためのデバイス管理部として機能し
前記メモリ管理部は、前記第１デバイスドライバから前記第１要求を受信するインターフェースを有し、
前記デバイス管理部が、前記第１デバイスの種別情報もしくは前記第１デバイスが前記第１タイプのデバイスであるか否かの情報を、前記インターフェースに通知する
ことを特徴とする付記１９に記載の電子装置の制御方法。
【符号の説明】
【００５９】
１  通信端末装置
２  ウェアラブルデバイス
１０  プロセッサ
２０  通信デバイス
３０  揮発性メモリ
４０  不揮発性メモリ
５０  センサ
６０  表示デバイス
７０  電源制御回路
７５  バッテリ
８０  クロック生成回路
９０  バス
９５  電力供給線
１１０  デバイス管理部
１１１  デバイス検索部
１１２  デバイスドライバ初期化指示部
１１３  デバイス種別情報通知部
１１４  インターフェース選択部
１１５  デバイスドライバ対応情報
１２０  メモリ管理部
１２１Ａ、１２１Ｂ、１２１Ｃ、１２１Ｄ、１２１Ｅ、１２１Ｆ、１２７Ａ、１２７Ｂ、１２７Ｃ  インターフェース
１２２  デバイス動作モード判定部
１２３  メモリ領域割り当て部
１２４  割り当て情報管理部
１２５  メモリ構成情報
１２６  メモリ動作モード情報
１３０  メモリ動作モード制御部
１４１  デバイス動作モード情報
１４２  メモリ領域割り当て情報
１４３  バンク制御情報
１５１  通信デバイス用デバイスドライバ
１５２  センサ用デバイスドライバ
１５３  不揮発性メモリ用デバイスドライバ
１５４  表示デバイス用デバイスドライバ
１５５  カーネルモジュール
１６０  デバイス動作モード制御部
１７０  イベント受信通知部
２００  アプリ
３１０  クロックゲート回路
３２０  リフレッシュカウンター
３３０  メモリセルアレイ
３４０  内部クロック供給線
３５０  クロック供給線
３６０  コマンドデコーダ
【図１】
2016206951.tif 000003
【図２】
2016206951.tif 000004
【図３】
2016206951.tif 000005
【図４】
2016206951.tif 000006
【図５】
2016206951.tif 000007
【図６】
2016206951.tif 000008
【図７】
2016206951.tif 000009
【図８】
2016206951.tif 000010
【図９】
2016206951.tif 000011
【図１０】
2016206951.tif 000012
【図１１】
2016206951.tif 000013
【図１２】
2016206951.tif 000014
【図１３】
2016206951.tif 000015
【図１４】
2016206951.tif 000016
【図１５】
2016206951.tif 000017
【図１６】
2016206951.tif 000018
【図１７】
2016206951.tif 000019
【図１８】
2016206951.tif 000020
【図１９】
2016206951.tif 000021
【図２０】
2016206951.tif 000022
【図２２】
2016206951.tif 000023
【図２３】
2016206951.tif 000024
【図２４】
2016206951.tif 000025
【図２５】
2016206951.tif 000026
【図２１】
2016206951.tif 000027