(57)【要約】【課題】ＵＦＳメモリを使用したシステムの低消費電力化と処理速度の高速化を実現する。【解決手段】メモリ制御装置（１）は、ＵＦＳメモリ（８）を制御するためのＣＰＵの動作周波数および前記ＣＰＵのコア数のうち少なくとも一方を参照して、前記ＵＦＳメモリ（８）における低消費電力状態への移行を禁止させるメモリ管理部（４）を備えており、前記低消費電力状態は、前記ＵＦＳメモリ（８）においてデータ転送が行われる通常状態と比較して、消費電力が低くかつ前記ＵＦＳメモリ（８）における休止状態から活動状態への復帰時間が長いことを特徴とする。【選択図】図１
2018041257.tif 000002
【特許請求の範囲】
【請求項１】
ＵＦＳ（Universal Flash Storage）メモリを制御するためのＣＰＵの動作周波数および前記ＣＰＵのコア数のうち少なくとも一方を参照して、前記ＵＦＳメモリにおける低消費電力状態への移行を禁止させるメモリ管理部を備えており、
前記低消費電力状態は、前記ＵＦＳメモリにおいてデータ転送が行われる通常状態と比較して、消費電力が低くかつ前記ＵＦＳメモリにおける休止状態から活動状態への復帰時間が長いことを特徴とするメモリ制御装置。
【請求項２】
前記メモリ管理部は、前記動作周波数および前記コア数のうち少なくとも一方を参照して、前記通常状態と前記低消費電力状態とを切り替えることを特徴とする請求項１に記載のメモリ制御装置。
【請求項３】
前記メモリ管理部は、前記ＣＰＵが特定のアプリケーションを実行させている状態において、当該アプリケーションの実行に適するように、前記通常状態と前記低消費電力状態とを切り替えることを特徴とする請求項２に記載のメモリ制御装置。
【請求項４】
前記メモリ制御装置に充電器が接続されている状態において、前記メモリ管理部は、前記低消費電力状態への移行を禁止させることを特徴とする請求項１から３のいずれか１項に記載のメモリ制御装置。
【請求項５】
前記メモリ管理部は、前記ＵＦＳメモリが前記休止状態になったとき、前記低消費電力状態への移行を禁止させるか否かの制御を開始することを特徴とする請求項１から４のいずれか１項に記載のメモリ制御装置。
【請求項６】
請求項１から５のいずれか１項に記載のメモリ制御装置を備えていることを特徴とする電子機器。
【請求項７】
ＵＦＳ（Universal Flash Storage）メモリを制御するためのＣＰＵの動作周波数および前記ＣＰＵのコア数のうち少なくとも一方を参照して、前記ＵＦＳメモリにおける低消費電力状態への移行を禁止させるメモリ管理工程を含んでおり、
前記低消費電力状態は、前記ＵＦＳメモリにおいてデータ転送が行われる通常状態と比較して、消費電力が低くかつ前記ＵＦＳメモリにおける休止状態から活動状態への復帰時間が長いことを特徴とするメモリの制御方法。
【請求項８】
請求項１から５のいずれか１項に記載のメモリ制御装置の前記メモリ管理部としてコンピュータを機能させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＵＦＳ（Universal Flash Storage）メモリを制御するメモリ制御装置、電子機器、メモリの制御方法、および制御プログラムに関するものである。
【背景技術】
【０００２】
従来のメモリ制御装置として、例えば、特許文献１に開示されている技術が挙げられる。特許文献１には、比較的低い電圧で駆動可能な回路に小さい駆動電圧を印加し、比較的高い電圧で駆動させることが好ましい回路に高い駆動電圧を印加する技術が記載されている。これにより、印加電圧の低減に起因した動作特性の劣化や所定の動作特性を維持するための素子数の増加および回路構成の変更が生じること無く、消費電力を低減させることができる。
【０００３】
また、特許文献２には、管理部が記憶部を参照してホストデバイスがバックグランド処理を行うことを許可しているか否かを判定し、許可されていない場合、記憶部に設定されたバックグランド処理の情報と優先順位とを参照して、メモリの未使用のブロックの数と、必要とされているバックグランド処理の優先順位および数とに基づいてバックグランド処理の重要度を記憶部に設定する技術が記載されている。これにより、効率良くバックグランド処理を行うことができる。また、管理部は、緊急性のないバックグランド処理等を判断できるので、ホストデバイスのコマンドを優先することができ、ホストデバイスの消費電力を抑制することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−４９１７２号公報（２０１４年３月１７日公開）
【特許文献２】特開２０１３−６９０６９号公報（２０１３年４月１８日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１および２の技術においては、ＵＦＳメモリがｉｄｌｅ時の低消費電力モードへの遷移方法については想定されていないので、下記のＵＦＳメモリに特有の問題を解決することができない。このＵＦＳメモリに特有の問題について、以下に説明する。
【０００６】
ＵＦＳメモリにおいては、データ転送がないときに、Ｈｉｂｅｒｎａｔｅ状態と呼ばれる状態に遷移する場合がある。Ｈｉｂｅｒｎａｔｅ状態は、データ転送時に遷移可能な各種状態と比較して、低消費電力であるという利点がある。
【０００７】
一方、Ｈｉｂｅｒｎａｔｅ状態は、データ転送時に遷移可能な各種状態と比較して、メモリアクセス発生時にメモリアクセス可能になるまでの復帰時間が大きいという欠点がある。そして、当該欠点に起因して、ＵＦＳメモリがＨｉｂｅｒｎａｔｅ状態に遷移することが、処理の低速化を招いたり、トータルの消費電力の増大を招いたりする虞がある。当該ケースの一例として、高速なメモリ応答性が求められるケース、または高速処理中にメモリアクセスが発生するケースが挙げられる。
【０００８】
本発明は、前記の問題点に鑑みてなされたものであり、その目的は、ＵＦＳメモリを使用したシステムの低消費電力化と処理速度の高速化を実現することにある。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明の一態様に係るメモリ制御装置は、ＵＦＳメモリを制御するためのＣＰＵの動作周波数および前記ＣＰＵのコア数のうち少なくとも一方を参照して、前記ＵＦＳメモリにおける低消費電力状態への移行を禁止させるメモリ管理部を備えており、前記低消費電力状態は、前記ＵＦＳメモリにおいてデータ転送が行われる通常状態と比較して、消費電力が低くかつ前記ＵＦＳメモリにおける休止状態から活動状態への復帰時間が長いことを特徴とする。
【発明の効果】
【００１０】
本発明の一態様によれば、ＵＦＳメモリを使用したシステムの低消費電力化と処理速度の高速化を実現するという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態１に係るメモリデバイスの構成を示すブロック図である。
【図２】本発明の実施形態１に係るＨｉｂｅｒｎａｔｅ管理部の構成を示すブロック図である。
【図３】（ａ）は本発明のＵＦＳメモリの消費電力とメモリデバイス全体の消費電力とを示す模式図であり、（ｂ）は従来のＵＦＳメモリの消費電力とメモリデバイス全体の消費電力とを示す模式図である。
【図４】Ｈｉｂｅｒｎａｔｅ状態への移行を禁止するときにおける、図２に示すＨｉｂｅｒｎａｔｅ管理部の動作を示すフローチャートである。
【図５】Ｈｉｂｅｒｎａｔｅ状態への移行を許可するときにおける、図２に示すＨｉｂｅｒｎａｔｅ管理部の動作を示すフローチャートである。
【図６】ＵＦＳコントローラの動作を示すフローチャートである。
【図７】本発明の実施形態２に係るＨｉｂｅｒｎａｔｅ管理部の構成を示すブロック図である。
【図８】図７に示すＨｉｂｅｒｎａｔｅ管理部の動作を示すフローチャートである。
【発明を実施するための形態】
【００１２】
〔実施形態１〕
以下、本発明の実施の形態について、図１〜図６に基づいて説明すれば、以下のとおりである。
【００１３】
携帯電話機のｂｏｏｔ ｍｅｍｏｒｙには、ｅＭＭＣ（embedded Multi Media Card）が採用されてきた。最近では、ｂｏｏｔ ｍｅｍｏｒｙへのアクセスを高速化させるため、ハイエンド機種のｂｏｏｔ ｍｅｍｏｒｙについては、ｅＭＭＣからＵＦＳメモリへの置き換えが実施されている。ＵＦＳメモリは、パフォーマンス（処理速度）に関しては、ｅＭＭＣより有利であるが、ｉｄｌｅ時の電流がｅＭＭＣと比較して多いという問題がある。上記の問題を克服するために、ＵＦＳメモリでは、低電力状態になるＨｉｂｅｒｎａｔｅ状態（低消費電力状態）という状態を作り、ｉｄｌｅ中はＨｉｂｅｒｎａｔｅ状態にすることで、ｉｄｌｅ中の低消費電流化を図っている。
【００１４】
本発明の一実施形態において、メモリデバイス１（メモリ制御装置）は、図１に示すように、ＡＰＰ・ＣＰＵ部２、ＵＦＳコントローラ３、Ｈｉｂｅｒｎａｔｅ管理部４（メモリ管理部）、モデムＤＳＰ（Digital Signal Processor）５、ＡｕｄｉｏＤＳＰ６、およびＤＭＡ（Direct Memory Access）コントローラ７を備えている。図１は、本発明の実施形態１に係るメモリデバイス１の構成を示すブロック図である。ＡＰＰ・ＣＰＵ部２、ＵＦＳコントローラ３、Ｈｉｂｅｒｎａｔｅ管理部４、モデムＤＳＰ５、ＡｕｄｉｏＤＳＰ６、およびＤＭＡコントローラ７は、例えばバスを介してそれぞれ互いに接続されている。メモリデバイス１は、後述するＣＰＵ群２１のコア数（動作しているＣＰＵの個数）と、ＣＰＵ群２１を構成する各ＣＰＵのうち動作しているＣＰＵの動作周波数に応じて、ＵＦＳメモリ８のｉｄｌｅ時の状態を制御する。また、メモリデバイス１は、電子機器に備えられていてもよい。
【００１５】
ＡＰＰ・ＣＰＵ部２は、ＣＰＵ群２１および割り込みコントローラ２２を備えている。ＣＰＵ群２１は８個のＣＰＵ（central processing unit）から構成されており、８個のＣＰＵそれぞれはメモリデバイス１全体を制御するＯＳ（operating system）を管理する。割り込みコントローラ２２は各ブロック（ＵＦＳコントローラ３、Ｈｉｂｅｒｎａｔｅ管理部４、モデムＤＳＰ５、ＡｕｄｉｏＤＳＰ６、およびＤＭＡコントローラ７等）からの割り込みを受けて、割り込みを受けたことをＣＰＵ群２１に通知する。モデムＤＳＰ５、ＡｕｄｉｏＤＳＰ６、およびＤＭＡコントローラ７は、ＵＦＳメモリ８にアクセスするバスマスタとしてメモリデバイス１に実装される。
【００１６】
ＵＦＳコントローラ３は、バスマスタ（モデムＤＳＰ５、ＡｕｄｉｏＤＳＰ６、およびＤＭＡコントローラ７）からＵＦＳメモリ８へのアクセス要求を管理し、ＵＦＳメモリ８の制御を行う。また、ＵＦＳコントローラ３には、ＵＦＳメモリ８を接続する接続部があり、この接続部によってＵＦＳコントローラ３とメモリデバイス１外部のＵＦＳメモリ８とが接続される。
【００１７】
ＵＦＳメモリ８におけるｉｄｌｅ状態として、ＦａｓｔＡｕｔｏ状態（通常状態）、ＳｌｏｗＡｕｔｏ状態（通常状態）、Ｈｉｂｅｒｎａｔｅ状態の３つの状態がある。Ｈｉｂｅｒｎａｔｅ状態は、ＵＦＳメモリ８において、ｅＭＭＣと比較してｉｄｌｅ状態のときの電流が多いという課題に対する対応手段として使用される。ＦａｓｔＡｕｔｏ状態およびＳｌｏｗＡｕｔｏ状態では、ｉｄｌｅ状態中の消費電流は大きいが、ｉｄｌｅ状態（休止状態）からＡｃｔｉｖｅ状態（活動状態）への復帰時間が短い。ｉｄｌｅ状態とは、ホストコントローラとＵＦＳメモリ８との間でのデータ処理（リードアクセス、プログラム処理、イレース処理、レジスタアクセス）などがない状態であり、Ａｃｔｉｖｅ状態とは、上記データ処理が、ホストコントローラとＵＦＳメモリ８との間で行われている状態である。ホストコントローラとは、コンピュータとＵＦＳメモリ８との通信を制御するものである。Ｈｉｂｅｒｎａｔｅ状態では、ｉｄｌｅ状態中の消費電流は小さいが、ｉｄｌｅ状態からＡｃｔｉｖｅ状態への復帰時間が長い。つまり、Ｈｉｂｅｒｎａｔｅ状態は、ＵＦＳメモリ８においてデータ転送が行われるＦａｓｔＡｕｔｏ状態およびＳｌｏｗＡｕｔｏ状態と比較して、消費電力が低くかつＵＦＳメモリ８におけるｉｄｌｅ状態からＡｃｔｉｖｅ状態への復帰時間が長い。
【００１８】
具体的には、ＦａｓｔＡｕｔｏ状態は、ＵＦＳメモリ８において、高速データ転送が可能な状態と、データ転送が行われていない低消費電力状態との間を、データ転送状況に応じて動的に切り替わる状態である。ＳｌｏｗＡｕｔｏ状態は、ＵＦＳメモリ８において、低速データ転送が可能な状態と、データ転送が行われていない低消費電力状態との間を、データ転送状況に応じて動的に切り替わる状態である。Ｈｉｂｅｒｎａｔｅ状態は、データ転送が行われていないときに、ＵＦＳメモリ８が移行することが可能な状態である。Ｈｉｂｅｒｎａｔｅ状態は、ＦａｓｔＡｕｔｏ状態およびＳｌｏｗＡｕｔｏ状態と比較して最も消費電力が低い状態である。しかし、ＵＦＳメモリ８は、Ｈｉｂｅｒｎａｔｅ状態から、ＦａｓｔＡｕｔｏ状態またはＳｌｏｗＡｕｔｏ状態に移行するときに時間がかかる。
【００１９】
また、ＦａｓｔＡｕｔｏ状態およびＳｌｏｗＡｕｔｏ状態では、ＵＦＳメモリ８が、ハードウェアで、メモリアクセスが可能な状態と、データ転送が行われていない低消費電力状態（Ｈｉｂｅｒｎａｔｅ状態とは異なり、ＦａｓｔＡｕｔｏ状態またはＳｌｏｗＡｕｔｏ状態における低消費電力状態）とを切り替えるため、ソフトウェアがその切り替える動作に関与しない。Ｈｉｂｅｒｎａｔｅ状態では、ＵＦＳコントローラ３が、ＵＦＳメモリ８においてデータ転送が行われていない状態を検出し、ソフトウェアによってＵＦＳメモリ８をＨｉｂｅｒｎａｔｅ状態に移行させる必要がある。
【００２０】
Ｈｉｂｅｒｎａｔｅ状態では、ｉｄｌｅ状態からＡｃｔｉｖｅ状態への復帰時間が長いという課題がある。そのため、高速なメモリ応答性が要求される場合やシステムが高速処理中にＵＦＳメモリ８にメモリアクセスが発生した場合は、ＦａｓｔＡｕｔｏ状態またはＳｌｏｗＡｕｔｏ状態でＵＦＳメモリ８を使用した方が、メモリデバイス１のシステム全体の処理速度が速くなったり、消費電流を低減することができたりする場合がある。この場合の一例として、ネットワークからデータをダウンロードする場合やＣＰＵが高速動作中にＵＦＳメモリ８にメモリアクセスが発生した場合などが挙げられる。
【００２１】
Ｈｉｂｅｒｎａｔｅ管理部４は、図２に示すように、ＡＮＤ回路１０、ＡＮＤ回路１３、およびレジスタ４１を備えている。ＡＮＤ回路１３の２つの入力端は、ＡＰＰ・ＣＰＵ部２と接続されており、ＡＮＤ回路１３の出力端は、ＡＮＤ回路１０の一方の入力端と接続されている。また、ＡＮＤ回路１０の出力端は、ＡＰＰ・ＣＰＵ部２の割り込みコントローラ２２と接続されている。さらに、ＡＮＤ回路１０の出力端の論理値は、Ｈｉｂｅｒｎａｔｅ管理部４に設けられているレジスタ４１内のＨｉｂｅｒｎａｔｅ許可ｂｉｔ９に格納される。レジスタ４１には、Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９、Ｈｉｂｅｒｎａｔｅ制御ＥＮｂｉｔ１２、周波数ｂｉｔ１４、およびコア数ｂｉｔ１５が設けられている。Ｈｉｂｅｒｎａｔｅ制御ＥＮｂｉｔ１２には、ＡＮＤ回路１０の一方の入力端に入力する信号の論理値が格納される。周波数ｂｉｔ１４およびコア数ｂｉｔ１５には、ＡＮＤ回路１３の入力端に入力される信号の論理値が格納される。本願明細書では、ＡＮＤ回路１３の出力信号を、ＡＰＰ・ＣＰＵ信号１１と称している。Ｈｉｂｅｒｎａｔｅ管理部４は、ＣＰＵ群２１を構成する各ＣＰＵについて、ＵＦＳメモリ８を制御するためのＣＰＵの動作周波数およびＣＰＵのコア数を参照して、ＵＦＳメモリ８における低消費電力状態への移行を禁止させる（メモリ管理工程）。また、Ｈｉｂｅｒｎａｔｅ管理部４は、ＣＰＵ群２１を構成する各ＣＰＵについて、ＵＦＳメモリ８を制御するためのＣＰＵの動作周波数およびＣＰＵのコア数を参照して、ＵＦＳメモリ８における低消費電力状態への移行を許可させる。Ｈｉｂｅｒｎａｔｅ管理部４がＨｉｂｅｒｎａｔｅ状態への移行を禁止させるか、許可させるかの判断については後述する。また、Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９は、ＡＮＤ回路１０の出力信号によって論理値の切替が可能なビットを有しており、当該ビットの論理値の値を変更するとき、Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９は、割り込みコントローラ２２に、Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９の論理値の値が変更されたことを通知する。Ｈｉｂｅｒｎａｔｅ管理部４は、図示しない記録媒体からＡＰＰ・ＣＰＵ部２が読み出した制御プログラムに基づいて動作するものである。その制御プログラムは、Ｈｉｂｅｒｎａｔｅ管理部４としてコンピュータを機能させるためのプログラムである。Ｈｉｂｅｒｎａｔｅ管理部４の構成は、図２に示すようにハードウェア（すなわち、ＡＮＤ回路１０およびＡＮＤ回路１３）を含んでいてもよいし、全てソフトウェアで実現されてもよい。
【００２２】
Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９は、ＡＮＤ回路１０の出力信号を受信する。具体的には、ＡＮＤ回路１０の入力の一端にはＡＰＰ・ＣＰＵ信号１１が供給され、ＡＮＤ回路１０の入力の他端にはＨｉｂｅｒｎａｔｅ制御ＥＮｂｉｔ１２に格納されている論理値に基づく信号が供給される。よって、ＡＰＰ・ＣＰＵ信号１１の論理値およびＨｉｂｅｒｎａｔｅ制御ＥＮｂｉｔ１２の論理値の両方の論理値が１になれば、Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９の論理値は１になる。また、Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９の値が変化すると、Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９は、ＡＰＰ・ＣＰＵ部２の割り込みコントローラ２２へ割り込み処理を発生させる。この割り込み処理によって、ＡＰＰ・ＣＰＵ部２は、ＵＦＳコントローラ３に、現状のＨｉｂｅｒｎａｔｅ状態への移行の許可または禁止に更新があった（Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９の値が変化した）ことを通知して、Ｈｉｂｅｒｎａｔｅ状態への移行の許可または禁止の制御を行う。
【００２３】
Ｈｉｂｅｒｎａｔｅ制御ＥＮｂｉｔ１２は、Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９によりＨｉｂｅｒｎａｔｅ状態への移行の許可または禁止の制御を行う場合に、論理値１が設定される。これにより、ＡＰＰ・ＣＰＵ信号１１の論理値が０のとき、Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９の論理値も０になり、Ｈｉｂｅｒｎａｔｅ状態への状態遷移が常時許可される。また、ＡＰＰ・ＣＰＵ信号１１の論理値が１のとき、Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９の論理値も１になり、Ｈｉｂｅｒｎａｔｅ状態への状態遷移が常時禁止される。
【００２４】
また、周波数ｂｉｔ１４の論理値およびコア数ｂｉｔ１５の論理値の両方が１になれば、ＡＰＰ・ＣＰＵ信号１１の論理値が１になる。言い換えると、ＣＰＵの動作周波数が事前に設定された閾値以上になっており、かつ、ＣＰＵが事前に設定された個数以上動作していれば、ＡＰＰ・ＣＰＵ信号１１の論理値は１になる。ＣＰＵの動作周波数が事前に設定された閾値未満になっている、または、ＣＰＵが事前に設定された個数未満で動作していれば、ＡＰＰ・ＣＰＵ信号１１の論理値は０になる。
【００２５】
周波数ｂｉｔ１４は、ＣＰＵ群２１の８個のＣＰＵのうち、１個のＣＰＵの動作周波数が事前に設定された閾値以上になったときに、論理値１が設定される。その閾値を例えば８００ＭＨｚとすると、周波数ｂｉｔ１４は、ＣＰＵの動作周波数が８００ＭＨｚ以上になったときに、論理値１が設定される。
【００２６】
コア数ｂｉｔ１５は、ＣＰＵ群２１の８個のＣＰＵのうち、事前に設定された個数以上のＣＰＵが動作しているときに、論理値１が設定される。例えば、その事前に設定された個数を２個で設定すると、コア数ｂｉｔ１５は、２個以上のＣＰＵが動作しているときに、論理値１が設定される。
【００２７】
これにより、メモリデバイス１は、１個のＣＰＵの動作周波数が事前に設定された閾値以上になったとき、かつ、事前に設定された個数以上のＣＰＵが動作しているときにＨｉｂｅｒｎａｔｅ状態への移行を禁止する。つまり、メモリデバイス１は、高速なメモリ応答性が要求される場合やシステムが高速処理中にＵＦＳメモリ８にメモリアクセスが発生した場合は、Ｈｉｂｅｒｎａｔｅ状態への移行を禁止し、そうでない場合は、Ｈｉｂｅｒｎａｔｅ状態への移行を許可する。したがって、メモリデバイス１は、ＵＦＳメモリ８を使用したシステムの低消費電力化と処理速度の高速化を実現する。
【００２８】
モデムＤＳＰ５は、Ｗｉ−Ｆｉ（登録商標）やネットワークなどの通信処理を行う。ＡｕｄｉｏＤＳＰ６は、音楽の再生を行う。ＤＭＡコントローラ７は、ＤＭＡ制御を管理する。
【００２９】
次に、メモリデバイス１全体の電力およびＵＦＳメモリ８の電力について、図３に基づいて説明する。図３の（ａ）は本発明のＵＦＳメモリの消費電力１６ａとメモリデバイス全体の消費電力１７ａとを示す模式図であり、図３の（ｂ）は従来のＵＦＳメモリの消費電力１６ｂとメモリデバイス全体の消費電力１７ｂとを示す模式図である。図３の（ａ）および（ｂ）において、横軸は経過時間を示しており、縦軸は消費電力を示している。
【００３０】
メモリデバイス１のシステムが高負荷であるとき、メモリデバイス１のシステム全体の消費電流が大きく、ＵＦＳメモリ８の待機電流を無視できるような状態になっている。この場合、従来では、図３の（ｂ）に示すように、ＵＦＳメモリ８におけるメモリアクセスの発生からデータフェッチ（メモリのデータ取り込み）までに消費されていたメモリデバイス１のシステム全体の消費電力が多くなっていた。本発明の一実施形態では、図３の（ａ）に示すように、ＵＦＳメモリ８におけるメモリアクセスの発生からデータフェッチ（メモリのデータ取り込み）までの時間が短縮され、メモリデバイス１のシステム全体の消費電力が、従来の場合より少なくすることができる。これは、メモリデバイス１が、高速なメモリ応答性が要求される場合やシステムが高速処理中にＵＦＳメモリ８にメモリアクセスが発生した場合は、Ｈｉｂｅｒｎａｔｅ状態への移行を禁止し、そうでない場合は、Ｈｉｂｅｒｎａｔｅ状態への移行を許可するためである。これにより、メモリアクセスの発生からデータフェッチ（メモリのデータ取り込み）までの時間が短縮されるため、メモリデバイス１のシステム全体の消費電力を削減させることができ、さらに、ＵＦＳメモリ８における処理速度の高速化も実現することができる。
【００３１】
次に、ＣＰＵの動作周波数および動作しているＣＰＵのコア数に基づくＨｉｂｅｒｎａｔｅ管理部４の動作について、図４および図５に基づいて説明する。図４は、Ｈｉｂｅｒｎａｔｅ状態への移行を禁止するときにおける、図２に示すＨｉｂｅｒｎａｔｅ管理部４の動作を示すフローチャートである。図５は、Ｈｉｂｅｒｎａｔｅ状態への移行を許可するときにおける、図２に示すＨｉｂｅｒｎａｔｅ管理部４の動作を示すフローチャートである。
【００３２】
Ｈｉｂｅｒｎａｔｅ状態への移行を禁止するとき、Ｈｉｂｅｒｎａｔｅ管理部４の動作は、図４に示すフローチャートのようになる。ここでは、ＣＰＵの動作周波数が８００ＭＨｚ以上で、かつ、２個以上のＣＰＵが動作すると、Ｈｉｂｅｒｎａｔｅ状態への移行を禁止するものとする。
【００３３】
図４に示すように、まず、ＣＰＵのコア数が１で動作し、ＣＰＵの動作周波数が４００ＭＨｚで動作する（ステップＳＡ１）。
【００３４】
ＣＰＵ群２１が行う処理が増加したため、動作しているＣＰＵのコア数が２個に変更にされ、ＣＰＵの動作周波数が４００ＭＨｚから１ＧＨｚに変更される（ステップＳＡ２）。
【００３５】
ＣＰＵの動作周波数が１ＧＨｚに変更されたため、Ｈｉｂｅｒｎａｔｅ管理部４はＣＰＵ群２１から情報を受け取り、周波数ｂｉｔ１４の論理値とコア数ｂｉｔ１５の論理値を１にセットする（ステップＳＡ３）。
【００３６】
周波数ｂｉｔ１４の論理値およびコア数ｂｉｔ１５の論理値が１にセットされることで、ＡＮＤ回路１３の出力が１になるため、ＡＰＰ・ＣＰＵ信号１１の論理値も１になり、Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９の論理値が０から１に変更される（ステップＳＡ４）。
【００３７】
Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９の論理値が変更されたため、割り込みコントローラ２２に割り込みが発生する（ステップＳＡ５）。
【００３８】
割り込みコントローラ２２に割り込みが発生した後、ＣＰＵ群２１は、割り込み要因を特定して、ＵＦＳコントローラ３にＨｉｂｅｒｎａｔｅ状態への移行の禁止を通知する（ステップＳＡ６）。
【００３９】
Ｈｉｂｅｒｎａｔｅ状態への移行を許可するとき、Ｈｉｂｅｒｎａｔｅ管理部４の動作は、図５に示すフローチャートのようになる。Ｈｉｂｅｒｎａｔｅ状態への移行を禁止するときと同様に、ここでは、ＣＰＵの動作周波数が８００ＭＨｚ以上で、かつ、２個以上のＣＰＵが動作すると、Ｈｉｂｅｒｎａｔｅ状態への移行を禁止するものとする。
【００４０】
図５に示すように、まず、ＣＰＵのコア数が２で動作し、ＣＰＵの動作周波数が１ＧＨｚで動作する（ステップＳＢ１）。
【００４１】
ＣＰＵ２１が行う処理が軽減したため、動作しているＣＰＵのコア数が１個に変更され、ＣＰＵの動作周波数が１ＧＨｚから４００ＭＨｚに変更される（ステップＳＢ２）。
【００４２】
動作しているＣＰＵのコア数が１個に変更され、ＣＰＵの動作周波数が４００ＭＨｚに変更されたため、Ｈｉｂｅｒｎａｔｅ管理部４はＣＰＵ群２１から情報を受け取り、周波数ｂｉｔ１４の論理値とコア数ｂｉｔ１５の論理値を０にセットする（ステップＳＢ３）。
【００４３】
周波数ｂｉｔ１４の論理値およびコア数ｂｉｔ１５の論理値が０にセットされることで、ＡＮＤ回路１３の出力が０になるため、ＡＰＰ・ＣＰＵ信号１１の論理値も０になり、Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９の論理値が１から０に変更される（ステップＳＢ４）。
【００４４】
Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９の論理値が変更されたため、割り込みコントローラ２２に割り込みが発生する（ステップＳＢ５）。
【００４５】
そして、ＣＰＵ群２１は、割り込み要因を特定して、ＵＦＳコントローラ３にＨｉｂｅｒｎａｔｅ状態への移行の許可を通知する（ステップＳＢ６）。
【００４６】
次に、ＣＰＵの動作周波数および動作しているＣＰＵのコア数に基づくＵＦＳコントローラ３の動作について、図６に基づいて説明する。図６は、ＵＦＳコントローラ３の動作を示すフローチャートである。
【００４７】
図６に示すように、まず、ＡＰＰ／ＣＰＵ部２がＨｉｂｅｒｎａｔｅ制御ＥＮｂｉｔ１２の論理値を０から１に変更する（ステップＳＣ１）。このとき、ＵＦＳメモリ８へのアクセスがない場合は、ＵＦＳメモリ８がｉｄｌｅ状態になる（ステップＳＣ２）。そして、Ｈｉｂｅｒｎａｔｅ管理部４のＨｉｂｅｒｎａｔｅ許可ｂｉｔ９の論理値が、ＵＦＳメモリ８がｉｄｌｅ状態のときに変更された場合、Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９は割り込みコントローラ２２に割り込みを発生する。
【００４８】
割り込みコントローラ２２に割り込みが発生したとき、ＣＰＵ群２１は、Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９の論理値が１であるかを判定する（ステップＳＣ３）。Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９の論理値が１の場合（Ｈｉｂｅｒｎａｔｅ状態への移行が禁止の場合）、ステップＳＣ４に進む。Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９の論理値が０の場合（Ｈｉｂｅｒｎａｔｅ状態への移行が許可の場合）、ステップＳＣ８に進む。ステップＳＣ２の後段階かつステップＳＣ３の前段階において、Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９の論理値の変更による割り込みが発生していない場合に、ステップＳＣ８に進んでもよい。
【００４９】
Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９の論理値が１の場合、ＵＦＳコントローラ３は、現在のＵＦＳメモリ８の状態に応じて、ＵＦＳメモリ８をＦａｓｔＡｕｔｏ状態またはＳｌｏｗＡｕｔｏ状態に移行させる（ステップＳＣ４）。
【００５０】
ＵＦＳコントローラ３が、ＵＦＳメモリ８をＦａｓｔＡｕｔｏ状態またはＳｌｏｗＡｕｔｏ状態に移行させた後に、ＣＰＵ群２１は、Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９の論理値の変更による割り込みが発生したかを判定する（ステップＳＣ５）。割り込みコントローラ２２に、Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９の論理値の変更による割り込みが発生した場合は、ステップＳＣ８に進む。Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９の論理値の変更による割り込みが発生していない場合は、ステップＳＣ６に進む。
【００５１】
Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９の論理値が変更されない場合、ＵＦＳコントローラ３は、ＵＦＳメモリ８へのアクセスが発生したかを判定する（ステップＳＣ６）。ＵＦＳメモリ８へのアクセスが発生した場合、ステップＳＣ７に進む。ＵＦＳメモリ８へのアクセスが発生していない場合、ステップＳＣ５に戻る。
【００５２】
ＵＦＳメモリ８へのアクセスが発生した場合、ＵＦＳコントローラ３は、ＵＦＳメモリ８の状態に応じて、ＵＦＳメモリ８をＦａｓｔＡｕｔｏ状態またはＳｌｏｗＡｕｔｏ状態でメモリアクセスを実行する（ステップＳＣ７）。
【００５３】
ステップＳＣ３において、Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９の論理値が０の場合、ステップＳＣ８に進む。
【００５４】
Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９の論理値が変更されない場合、ＵＦＳメモリ８のｉｄｌｅ状態の時間が１００ｍｓ以上続いているかを判定する（ステップＳＣ８）。ＵＦＳメモリ８のｉｄｌｅ状態の時間が１００ｍｓ以上続いている場合は、ステップＳＣ９に進む。１００ｍｓ未満にＵＦＳメモリ８へのアクセスが発生した場合は、ステップＳＣ７に進む。
【００５５】
ＵＦＳメモリ８のｉｄｌｅ状態の時間が１００ｍｓ以上続いている場合、ＵＦＳメモリコントローラ３は、ＵＦＳメモリ８をＨｉｂｅｒｎａｔｅ状態へ移行させる（ステップＳＣ９）。
【００５６】
ＵＦＳメモリコントローラ３が、ＵＦＳメモリ８をＨｉｂｅｒｎａｔｅ状態へ移行させた後、Ｈｉｂｅｒｎａｔｅ管理部４は、Ｈｉｂｅｒｎａｔｅ状態中に、ＣＰＵ群２１は、Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９の論理値の変更による割り込みが発生したかを判定する（ステップＳＣ１０）。Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９の論理値の変更による割り込みが発生した場合、ステップＳＣ４に進む。割り込みコントローラ２２で、Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９の論理値の変更による割り込みが発生していない場合、ステップＳＣ１１に進む。
【００５７】
Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９の論理値が変更されない場合、ＵＦＳコントローラ３は、ＵＦＳメモリ８へのアクセスが発生したかを判定する（ステップＳＣ１１）。ＵＦＳメモリ８へのアクセスが発生した場合、ステップＳＣ７に進む。ＵＦＳメモリ８へのアクセスが発生していない場合、ステップＳＣ１０に戻る。
【００５８】
以上により、Ｈｉｂｅｒｎａｔｅ管理部４は、ＣＰＵの動作周波数およびＣＰＵのコア数のうち少なくとも一方を参照して、ＵＦＳメモリ８におけるＦａｓｔＡｕｔｏ状態またはＳｌｏｗＡｕｔｏ状態と、Ｈｉｂｅｒｎａｔｅ状態とを切り替える。また、Ｈｉｂｅｒｎａｔｅ管理部４が、ＵＦＳメモリ８における低消費電力状態への移行を禁止させている状態において、Ｈｉｂｅｒｎａｔｅ管理部４は、ＵＦＳメモリ８をＦａｓｔＡｕｔｏ状態またはＳｌｏｗＡｕｔｏ状態に移行させる。Ｈｉｂｅｒｎａｔｅ管理部４は、ＵＦＳメモリ８がｉｄｌｅ状態になったとき、Ｈｉｂｅｒｎａｔｅ状態への移行を禁止させるか否かの制御を開始する。つまり、メモリデバイス１は、１個のＣＰＵの動作周波数が事前に設定された閾値以上になったとき、かつ、事前に設定された個数以上のＣＰＵが動作しているときに、Ｈｉｂｅｒｎａｔｅ状態への移行を禁止することで、メモリデバイス１の処理速度の高速化と省電力化を図ることができる。また、ＣＰＵの動作周波数・動作しているＣＰＵのコア数のどちらか片方に基づいて禁止を制御してもよい。具体的には、Ｈｉｂｅｒｎａｔｅ管理部４において、ＡＮＤ回路１３をＯＲ回路に変更してもよく、また、ＡＮＤ回路１３を設けずにＡＮＤ回路１０に周波数ｂｉｔ１４またはコア数ビット１５のいずれか一方の信号が入力するようにしてもよい。
【００５９】
〔実施形態２〕
本発明の他の実施形態について、図７および図８に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
【００６０】
携帯電話機では、ネットワークやＷｉ−Ｆｉ（登録商標）などの外部からデータをダウンロードして、ＵＦＳメモリ８へデータをストアするときなどは、消費電力に関わらず、高速にデータのダウンロード処理を完了する必要がある。また、携帯電話機に充電器が接続されている状況では、低消費電力化よりも処理速度の高速化が期待される場合がある。
【００６１】
本発明の実施形態２では、上記のような外部からデータをダウンロードする場合や充電器が接続されている場合には、ＵＦＳメモリ８のＨｉｂｅｒｎａｔｅ状態への移行を禁止して、メモリデバイスの処理速度の高速化を実現する。
【００６２】
また、本発明の実施形態２において、ＵＦＳコントローラ３の動作については、図６に示す動作と同様である。
【００６３】
本発明の実施形態２について、Ｈｉｂｅｒｎａｔｅ管理部４ａは、図７に示すように、ＯＲ回路１０ａおよびレジスタ４１ａを備えている。ＯＲ回路１０ａの複数の入力端は、レジスタ４１ａと接続されている。ＯＲ回路１０ａの出力端の論理値はＡＰＰ・ＣＰＵ部２の割り込みコントローラ２２とＨｉｂｅｒｎａｔｅ管理部４ａ内のレジスタ４１ａに設けられたＨｉｂｅｒｎａｔｅ許可ｂｉｔ９ａに格納される。レジスタ４１ａには、Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９ａ、ＡＰＰ・ＣＰＵｂｉｔ１１ａ、モデムＤＳＰｂｉｔ１８、ＡｕｄｉｏＤＳＰｂｉｔ１９、チャージャ有／無ｂｉｔ３０、およびＤＭＡコントローラｂｉｔ３１が設けられている。
【００６４】
Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９ａは、ＯＲ回路１０ａの出力に相当する。つまり、Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９ａには、ＯＲ回路１０ａの出力信号の論理値が格納される。また、ＯＲ回路１０ａの複数の入力端にはＡＰＰ・ＣＰＵｂｉｔ１１ａ、モデムＤＳＰｂｉｔ１８、ＡｕｄｉｏＤＳＰｂｉｔ１９、チャージャ有／無ｂｉｔ３０、およびＤＭＡコントローラｂｉｔ３１の論理値に応じた信号が供給される。
【００６５】
ＡＰＰ・ＣＰＵｂｉｔ１１ａ、モデムＤＳＰｂｉｔ１８、ＡｕｄｉｏＤＳＰｂｉｔ１９、およびＤＭＡコントローラｂｉｔ３１にはそれぞれ、Ｈｉｂｅｒｎａｔｅ状態への移行の禁止または許可を管理する信号の論理値が格納される。また、チャージャ有／無ｂｉｔ３０には、チャージャの有／無を管理する信号の論理値が格納される。Ｈｉｂｅｒｎａｔｅ状態への移行を禁止する場合は、ＡＰＰ・ＣＰＵ部２は、Ｈｉｂｅｒｎａｔｅ状態への移行の禁止または許可を管理する信号の論理値を１にセットする。Ｈｉｂｅｒｎａｔｅ状態への移行を許可する場合は、Ｈｉｂｅｒｎａｔｅ状態への移行の禁止または許可を管理する信号の論理値を０にセットする。
【００６６】
また、Ｈｉｂｅｒｎａｔｅ管理部４ａが備えられているメモリデバイス１ａに図示しないチャージャ（充電器）を接続するとき、チャージャ有／無ｂｉｔ３０は、論理値を１にセットされる。メモリデバイス１ａにチャージャを接続しないとき、チャージャ有／無ｂｉｔ３０は、論理値を０にセットされる。すなわち、このとき、メモリデバイス１ａにチャージャが接続されている状態において、Ｈｉｂｅｒｎａｔｅ管理部４ａは、ＵＦＳメモリ８におけるＨｉｂｅｒｎａｔｅ状態への移行の禁止をＵＦＳコントローラ３に通知する。
【００６７】
Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９ａは、ＡＰＰ・ＣＰＵｂｉｔ１１ａ、モデムＤＳＰｂｉｔ１８、ＡｕｄｉｏＤＳＰｂｉｔ１９、チャージャ有／無ｂｉｔ３０、およびＤＭＡコントローラｂｉｔ３１のうち１つでもＨｉｂｅｒｎａｔｅ状態への移行の禁止のリクエストがあれば（論理値が１になれば）、Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９ａの論理値が１になる。Ｈｉｂｅｒｎａｔｅ状態への移行の禁止のリクエストが１つもない場合だけ、Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９ａの論理値が０になる。これにより、Ｈｉｂｅｒｎａｔｅ管理部４ａは、ＣＰＵ群２１が特定のアプリケーションを実行させている状態において、当該アプリケーションの実行に適するように、ＵＦＳメモリ８におけるＦａｓｔＡｕｔｏ状態またはＳｌｏｗＡｕｔｏ状態と、Ｈｉｂｅｒｎａｔｅ状態とを切り替える。メモリデバイス１ａにチャージャが接続されている状態において、Ｈｉｂｅｒｎａｔｅ管理部４ａは、ＵＦＳメモリ８におけるＨｉｂｅｒｎａｔｅ状態への移行を禁止させる。つまり、特定のアプリケーション（ＡＰＰ・ＣＰＵｂｉｔ１１ａ、モデムＤＳＰｂｉｔ１８、ＡｕｄｉｏＤＳＰｂｉｔ１９、チャージャ有／無ｂｉｔ３０、およびＤＭＡコントローラｂｉｔ３１に対応するアプリケーション）が実行されているときにおいて、ＵＦＳメモリ８へのアクセス効率をアップさせることができる。また、アプリケーションに応じて、Ｈｉｂｅｒｎａｔｅ管理部４ａを制御することで、メモリシステム１ａの処理速度の高速化と省電力化を図ることができる。
【００６８】
また、Ｈｉｂｅｒｎａｔｅ管理部４ａは、Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９ａの論理値が変更する毎に、割り込みコントローラ２２へ、Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９ａの論理値が変更されたことを通知する割り込みを発生させる。
【００６９】
Ｗｉ−Ｆｉ（登録商標）によりデータをダウンロードし、ＵＦＳメモリ８へデータを格納する場合において、Ｗｉ−Ｆｉ（登録商標）からデータをダウンロードする処理を行うときのみ、Ｈｉｂｅｒｎａｔｅ状態への移行を禁止するときのＨｉｂｅｒｎａｔｅ管理部４ａの動作を図８に示す。図８は、図７に示すＨｉｂｅｒｎａｔｅ管理部４ａの動作を示すフローチャートである。
【００７０】
図８に示すように、まず、モデムＤＳＰ５が、ユーザからの命令、つまり、ＣＰＵ群２１からの命令で、Ｗｉ−Ｆｉ（登録商標）によるデータのダウンロード処理の開始命令を受けて、Ｗｉ−Ｆｉ（登録商標）によるデータのダウンロード処理を開始する（ステップＳＤ１）。
【００７１】
モデムＤＳＰ５がＷｉ−Ｆｉ（登録商標）によるデータのダウンロード処理を開始した後、モデムＤＳＰ５は、ＡＰＰ・ＣＰＵ部２に、Ｗｉ−Ｆｉ（登録商標）によるデータのダウンロード処理の一番最初の処理として、Ｈｉｂｅｒｎａｔｅ管理部４ａのモデムＤＳＰｂｉｔ１８の論理値を１にセットするように指示する（ステップＳＤ２）。
【００７２】
モデムＤＳＰ５がモデムＤＳＰｂｉｔ１８の論理値を１にセットするように指示した後、ＯＲ回路１０ａの出力のＨｉｂｅｒｎａｔｅ許可ｂｉｔ９ａの論理値が０から１に変更される（ステップＳＤ３）。
【００７３】
Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９ａの論理値が変更されたため、割り込みコントローラ２２へ割り込みが発生する（ステップＳＤ４）。
【００７４】
割り込みコントローラ２２へ割り込みが発生した後、ＣＰＵ群２１は、Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９ａからの割り込みを処理して、ＵＦＳコントローラ３にＨＩｂｅｒｎａｔｅ状態への移行の禁止を通知する（ステップＳＤ５）。これにより、ＵＦＳメモリ８は、Ｈｉｂｅｒｎａｔｅ状態にはならなくなる。
【００７５】
ＣＰＵ群２１がＵＦＳコントローラ３にＨＩｂｅｒｎａｔｅ状態への移行の禁止を通知した後、モデムＤＳＰ５がＷｉ−Ｆｉ（登録商標）からのデータのダウンロード処理を終了する（ステップＳＤ６）。言い換えると、モデムＤＳＰ５がＷｉ−Ｆｉ（登録商標）によりダウンロードされるデータをＵＦＳメモリ８に格納する処理が終了する。
【００７６】
モデムＤＳＰ５がＷｉ−Ｆｉ（登録商標）からのデータのダウンロード処理を終了した後、モデムＤＳＰ５は、ＡＰＰ・ＣＰＵ部２に、モデムＤＳＰｂｉｔ１８の論理値を０にセットするように指示する（ステップＳＤ７）。
【００７７】
モデムＤＳＰｂｉｔ１８の論理値が０にセットされたため、Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９ａの論理値が１から０に変更される（ステップＳＤ８）。
【００７８】
Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ９ａの論理値が１から０に変更されたため、割り込みコントローラ２２へ割り込みが発生する（ステップＳＤ９）。
【００７９】
ＣＰＵ群２１は、Ｈｉｂｅｒｎａｔｅ管理部４ａからの割り込みを処理して、ＵＦＳコントローラ３へ、Ｈｉｂｅｒｎａｔｅ状態への移行の許可を通知する（ステップＳＤ１０）。
【００８０】
よって、メモリデバイス１ａがＷｉ−Ｆｉ（登録商標）からダウンロードされたデータをＵＦＳメモリ８に格納する前に、ＵＦＳメモリ８がＨｉｂｅｒｎａｔｅ状態になることがない。これにより、ＵＦＳメモリ８がｉｄｌｅ状態からＡｃｔｉｖｅ状態へ移行するのにかかる時間を最小化することができる。最小化することにより短縮された時間分、ダウンロードされたデータをＵＦＳメモリ８に格納するのが完了するまでの時間を短縮することができる。
【００８１】
また、同様に、メモリデバイス１ａにチャージャを接続するとき、チャージャ有／無ｂｉｔ３０の論理値を１にセットすることで、チャージャ接続中のＵＦＳメモリのＨｉｂｅｒｎａｔｅ状態への移行を禁止する。よって、ＵＦＳメモリ８がｉｄｌｅ状態からＡｃｔｉｖｅ状態へ移行するのにかかる時間を最小化することができる。これにより、メモリデバイス１ａの処理速度を速くすることができる。
【００８２】
〔実施形態３〕（ソフトウェアによる実現例）
メモリデバイス１、１ａの制御ブロック（特にＨｉｂｅｒｎａｔｅ管理部４、４ａ）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【００８３】
後者の場合、メモリデバイス１、１ａは、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００８４】
〔まとめ〕
本発明の態様１に係るメモリ制御装置（メモリデバイス１、１ａ）は、ＵＦＳメモリ８を制御するためのＣＰＵの動作周波数および前記ＣＰＵのコア数のうち少なくとも一方を参照して、前記ＵＦＳメモリ８における低消費電力状態への移行を禁止させるメモリ管理部（Ｈｉｂｅｒｅｎａｔｅ管理部４、４ａ）を備えており、前記低消費電力状態は、前記ＵＦＳメモリ８においてデータ転送が行われる通常状態と比較して、消費電力が低くかつ前記ＵＦＳメモリ８における休止状態から活動状態への復帰時間が長いことを特徴とする。
【００８５】
上記の構成によれば、メモリ制御装置は、ＣＰＵの動作周波数および動作しているＣＰＵのコア数に基づいて、高速なメモリ応答性が要求される場合、およびシステムが高速処理中にＵＦＳメモリにメモリアクセスが発生した場合を検出する。そして、これらの場合を検出したとき、メモリ制御装置は、低消費電力状態への移行を禁止する。したがって、メモリ制御装置は、これらの場合において、ＵＦＳメモリを使用したシステムの低消費電力化と処理速度の高速化を実現することができる。
【００８６】
本発明の態様２に係るメモリ制御装置（メモリデバイス１、１ａ）は、上記態様１において、前記メモリ管理部（Ｈｉｂｅｒｅｎａｔｅ管理部４、４ａ）は、前記動作周波数および前記コア数のうち少なくとも一方を参照して、前記通常状態と前記低消費電力状態とを切り替えてもよい。
【００８７】
上記の構成によれば、メモリ管理部がＣＰＵの動作周波数および動作しているＣＰＵのコア数に応じて、ＵＦＳメモリにおける通常状態と低消費電力状態とを切り替える。このため、メモリ制御装置は、高速なメモリ応答性が要求されない場合、およびシステムが高速処理中にＵＦＳメモリにメモリアクセスが発生しない場合において、低消費電力状態への移行を許可するといった設定ができる。
【００８８】
本発明の態様３に係るメモリ制御装置（メモリデバイス１ａ）は、上記態様２において、前記メモリ管理部（Ｈｉｂｅｒｅｎａｔｅ管理部４ａ）は、前記ＣＰＵが特定のアプリケーションを実行させている状態において、当該アプリケーションの実行に適するように、前記通常状態と前記低消費電力状態とを切り替えてもよい。
【００８９】
上記の構成によれば、特定のアプリケーションを実行するときに、メモリ管理部がＵＦＳメモリを低消費電力状態から通常状態に切り替えるように設定できる。このため、特定のアプリケーションが実行されているときにおいて、ＵＦＳメモリへのアクセス効率をアップさせることができる。また、アプリケーションに応じて、メモリ管理部を制御することで、メモリシステムの処理速度の高速化と省電力化を図ることができる。
【００９０】
本発明の態様４に係るメモリ制御装置（メモリデバイス１ａ）は、上記態様１から３のいずれかにおいて、前記メモリ制御装置（メモリデバイス１ａ）に充電器が接続されている状態において、前記メモリ管理部（Ｈｉｂｅｒｅｎａｔｅ管理部４ａ）は、前記低消費電力状態への移行を禁止させてもよい。
【００９１】
上記の構成によれば、メモリ制御装置に充電器を接続するときにおいて、ＵＦＳメモリが休止状態から活動状態へ移行するのにかかる時間を最小化することができる。これにより、メモリ制御装置の処理速度を速くすることができる。
【００９２】
本発明の態様５に係るメモリ制御装置（メモリデバイス１、１ａ）は、上記態様１から４のいずれかにおいて、前記メモリ管理部（Ｈｉｂｅｒｅｎａｔｅ管理部４、４ａ）は、前記ＵＦＳメモリ８が前記休止状態になったとき、前記低消費電力状態への移行を禁止させるか否かの制御を開始してもよい。
【００９３】
上記の構成によれば、ＵＦＳメモリが休止状態になったときに、ＵＦＳコントローラへ低消費電力状態への移行の禁止を通知するか否かの制御が開始されるため、メモリ制御装置の低消費電力化を図ることができる。
【００９４】
本発明の態様６に係る電子機器は、上記態様１から５のいずれかにおいて、前記メモリ制御装置（メモリデバイス１、１ａ）を備えていてもよい。
【００９５】
本発明の態様７に係るメモリの制御方法は、ＵＦＳメモリ８を制御するためのＣＰＵの動作周波数および前記ＣＰＵのコア数のうち少なくとも一方を参照して、前記ＵＦＳメモリ８における低消費電力状態への移行を禁止させるメモリ管理工程（Ｈｉｂｅｒｅｎａｔｅ管理部４、４ａ）を含んでおり、前記低消費電力状態は、前記ＵＦＳメモリ８においてデータ転送が行われる通常状態と比較して、消費電力が低くかつ前記ＵＦＳメモリ８における休止状態から活動状態への復帰時間が長いことを特徴とする。
【００９６】
本発明の各態様に係るメモリ管理部（Ｈｉｂｅｒｅｎａｔｅ管理部４、４ａ）は、コンピュータによって実現してもよく、この場合には、コンピュータを上記メモリ管理部（Ｈｉｂｅｒｅｎａｔｅ管理部４、４ａ）が備える各部（ソフトウェア要素）として動作させることにより上記メモリ管理部（Ｈｉｂｅｒｅｎａｔｅ管理部４、４ａ）をコンピュータにて実現させるメモリ管理部（Ｈｉｂｅｒｅｎａｔｅ管理部４、４ａ）の管理プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【００９７】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。
【符号の説明】
【００９８】
１、１ａ  メモリデバイス（メモリ制御装置）
２  ＡＰＰ・ＣＰＵ部
３  ＵＦＳコントローラ
４、４ａ  Ｈｉｂｅｒｎａｔｅ管理部（メモリ管理部）
５  モデムＤＳＰ
６  ＡｕｄｉｏＤＳＰ
７  ＤＭＡコントローラ
８  ＵＦＳメモリ
９、９ａ  Ｈｉｂｅｒｎａｔｅ許可ｂｉｔ
１０、１３  ＡＮＤ回路
１０a  ＯＲ回路
１１  ＡＰＰ・ＣＰＵ信号
１１ａ  ＡＰＰ・ＣＰＵｂｉｔ
１２  Ｈｉｂｅｒｎａｔｅ制御ＥＮｂｉｔ
１４  周波数ｂｉｔ
１５  コア数ｂｉｔ
１６ａ、１６ｂ  ＵＦＳメモリの消費電力
１７ａ、１７ｂ  メモリデバイス全体の消費電力
１８  モデムＤＳＰｂｉｔ
１９  ＡｕｄｉｏＤＳＰｂｉｔ
２１  ＣＰＵ群
２２  割り込みコントローラ
３０  チャージャ有／無ｂｉｔ
３１  ＤＭＡコントローラｂｉｔ
【図１】
2018041257.tif 000003
【図２】
2018041257.tif 000004
【図３】
2018041257.tif 000005
【図４】
2018041257.tif 000006
【図５】
2018041257.tif 000007
【図６】
2018041257.tif 000008
【図７】
2018041257.tif 000009
【図８】
2018041257.tif 000010