(57)【要約】【課題】消費電力の削減を図りつつ、プロセッサがメモリにデータを読み書きできるようになるまでの時間を短縮する。【解決手段】実施形態のメモリ制御装置は、クロック切替部と、制御信号切替部と、を備える。クロック切替部は、第１クロックと、前記第１クロックよりも周波数が高い第２クロックと、を入力し、前記第２クロックが安定するまで前記第１クロックをメモリに供給し、前記第２クロックが安定した後に、前記第２クロックを前記メモリに供給する。制御信号切替部は、前記メモリに前記第１クロックが供給されているときに、前記メモリをプロセッサによるデータの読み書きが可能な状態に初期化するための第１制御信号の前記メモリへの供給を開始し、前記メモリに前記第２クロックが供給され、且つ、前記メモリが初期化された後に、前記プロセッサによるデータの読み書きに応じた第２制御信号を前記メモリに供給する。【選択図】図７
2014016696.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサによりデータが読み書きされるメモリを制御するメモリ制御装置であって、
第１クロックと、前記第１クロックよりも周波数が高い第２クロックと、を入力し、前記第２クロックが安定するまで前記第１クロックを前記メモリに供給し、前記第２クロックが安定した後に、前記第２クロックを前記メモリに供給するクロック切替部と、
前記メモリに前記第１クロックが供給されているときに、前記メモリを前記プロセッサによるデータの読み書きが可能な状態に初期化するための第１制御信号の前記メモリへの供給を開始し、前記メモリに前記第２クロックが供給され、且つ、前記メモリが初期化された後に、前記プロセッサによるデータの読み書きに応じた第２制御信号を前記メモリに供給する制御信号切替部と、を備えることを特徴とするメモリ制御装置。
【請求項２】
前記メモリは、前記プロセッサが割り込みを待つスタンバイ状態のときに、電力の供給が停止され、
前記第１制御信号は、前記メモリに対する電力の供給が開始されてから所定時間が経過した後に前記メモリのレジスタにパラメータを設定するための信号であることを特徴とする請求項１に記載のメモリ制御装置。
【請求項３】
前記制御信号切替部は、前記スタンバイ状態が解除されると、前記メモリへの前記第１制御信号の供給を開始することを特徴とする請求項２に記載のメモリ制御装置。
【請求項４】
前記制御信号切替部は、前記メモリに対する電力の供給が開始されると、前記メモリへの前記第１制御信号の供給を開始することを特徴とする請求項２に記載のメモリ制御装置。
【請求項５】
前記メモリは、前記プロセッサが割り込みを待つスタンバイ状態のときに、第１の消費電力で動作する状態から前記第１の消費電力よりも小さい第２の消費電力で待機する状態に変更され、
前記第１制御信号は、前記メモリが前記第２の消費電力で待機する状態から前記第１の消費電力で動作する状態に復帰してから所定時間が経過した後に前記メモリのレジスタにパラメータを設定するための信号であることを特徴とする請求項１に記載のメモリ制御装置。
【請求項６】
前記制御信号切替部は、前記スタンバイ状態が解除されると、前記メモリに対する前記第１制御信号の供給を開始することを特徴とする請求項５に記載のメモリ制御装置。
【請求項７】
前記制御信号切替部は、前記メモリが前記第２の消費電力で待機する状態から前記第１の消費電力で動作する状態に復帰すると、前記メモリに対する前記第１制御信号の供給を開始することを特徴とする請求項５に記載のメモリ制御装置。
【請求項８】
プロセッサと、前記プロセッサによりデータが読み書きされるメモリを制御するメモリ制御装置と、が半導体基板に実装された半導体装置であって、
前記メモリ制御装置は、
第１クロックと、前記第１クロックよりも周波数が高い第２クロックと、を入力し、前記第２クロックが安定するまで前記第１クロックを前記メモリに供給し、前記第２クロックが安定した後に、前記第２クロックを前記メモリに供給するクロック切替部と、
前記メモリに前記第１クロックが供給されているときに、前記メモリを前記プロセッサによるデータの読み書きが可能な状態に初期化するための第１制御信号の前記メモリへの供給を開始し、前記メモリに前記第２クロックが供給され、且つ、前記メモリが初期化された後に、前記プロセッサによるデータの読み書きに応じた第２制御信号を前記メモリに供給する制御信号切替部と、を備えることを特徴とする半導体装置。
【請求項９】
プロセッサと、前記プロセッサによりデータが読み書きされるメモリと、前記メモリを制御するメモリ制御装置と、が搭載されたシステムボードであって、
前記メモリ制御装置は、
第１クロックと、前記第１クロックよりも周波数が高い第２クロックと、を入力し、前記第２クロックが安定するまで前記第１クロックを前記メモリに供給し、前記第２クロックが安定した後に、前記第２クロックを前記メモリに供給するクロック切替部と、
前記メモリに前記第１クロックが供給されているときに、前記メモリを前記プロセッサによるデータの読み書きが可能な状態に初期化するための第１制御信号の前記メモリへの供給を開始し、前記メモリに前記第２クロックが供給され、且つ、前記メモリが初期化された後に、前記プロセッサによるデータの読み書きに応じた第２制御信号を前記メモリに供給する制御信号切替部と、を備えることを特徴とするシステムボード。
【請求項１０】
プロセッサによりデータが読み書きされるメモリを制御するメモリ制御装置であって、  前記メモリに第１クロックを供給しているときに、前記メモリを前記プロセッサによるデータの読み書きが可能な状態に初期化するための第１制御信号の前記メモリへの供給を開始し、前記第１クロックよりも周波数の高い第２クロックが安定した後に、前記メモリに供給するクロックを前記第１クロックから前記第２クロックに切り替え、前記メモリに前記第２クロックを供給しているときであって、且つ、前記メモリが初期化された後に、前記プロセッサによるデータの読み書きに応じた第２制御信号を前記メモリに供給することを特徴とするメモリ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施の形態は、メモリ制御装置、半導体装置、およびシステムボードに関する。
【背景技術】
【０００２】
タブレット端末やスマートフォンなどの携帯型の情報処理装置は、限られた電力を有効に利用して動作することが望まれる。そのため、情報処理装置の消費電力を削減することが重要な課題である。
【０００３】
情報処理装置は、プロセッサがデバイスからの入力待ちでスタンバイ状態（割り込みを待ち続けている状態）のときに、プロセッサがタスクを処理する際のクロック源となる高周波発振器を停止することで、消費電力を減らすことができる。また、情報処理装置は、スタンバイ状態のときに、プロセッサによりデータが読み書きされるメモリへの電力の供給を停止することで、さらに消費電力を削減することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−３２６１５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、プロセッサが割り込みを受けて情報処理装置がスタンバイ状態から復帰する際に、まず高周波発振器を動かしてクロックが安定してからメモリの初期化を行うと、プロセッサがメモリにデータを読み書きできるようになるまでに時間がかかるという問題がある。
【０００６】
本発明が解決しようとする課題は、消費電力の削減を図りつつ、プロセッサがメモリにデータを読み書きできるようになるまでの時間を短縮できるメモリ制御装置、半導体装置、およびシステムボードを提供することである。
【課題を解決するための手段】
【０００７】
実施形態のメモリ制御装置は、プロセッサによりデータが読み書きされるメモリを制御する。このメモリ制御装置は、クロック切替部と、制御信号切替部と、を備える。クロック切替部は、第１クロックと、前記第１クロックよりも周波数が高い第２クロックと、を入力し、前記第２クロックが安定するまで前記第１クロックを前記メモリに供給し、前記第２クロックが安定した後に、前記第２クロックを前記メモリに供給する。制御信号切替部は、前記メモリに前記第１クロックが供給されているときに、前記メモリを前記プロセッサによるデータの読み書きが可能な状態に初期化するための第１制御信号の前記メモリへの供給を開始し、前記メモリに前記第２クロックが供給され、且つ、前記メモリが初期化された後に、前記プロセッサによるデータの読み書きに応じた第２制御信号を前記メモリに供給する。
【図面の簡単な説明】
【０００８】
【図１】実施形態のメモリコントローラを備える情報処理装置の外観図。
【図２】情報処理装置のハードウェア構成例を示すブロック図。
【図３】情報処理装置の要部の構成例を示すブロック図。
【図４】従来のスタンバイ解除の動作を説明するタイミングチャート。
【図５】従来のメモリ初期化処理を説明するタイミングチャート。
【図６】実施形態におけるスタンバイ解除の動作を説明するタイミングチャート。
【図７】実施形態のメモリコントローラの構成例を示すブロック図。
【図８】実施形態のメモリ初期化処理を説明するタイミングチャート。
【図９】実施形態のメモリ初期化処理の他の例を説明するタイミングチャート。
【図１０】実施形態のメモリコントローラの動作を説明するタイミングチャート。
【図１１】実施形態のメモリコントローラの動作を説明するタイミングチャート。
【図１２】実施形態のメモリコントローラの動作を説明するタイミングチャート。
【発明を実施するための形態】
【０００９】
図１は、本実施形態のメモリコントローラを備える情報処理装置１の外観を示す図である。この情報処理装置１は、タブレット型の情報端末として構成されている。
【００１０】
情報処理装置１は、端末表面に表示部２ａを備える。表示部２ａには、たとえば、低消費電力の反射型液晶ディスプレイ、あるいは電子ペーパーなどが用いられる。また、情報処理装置１は、端末表面の表示部２ａ以外の部分に太陽電池３を備える。また、情報処理装置１は、表示部２ａの表面にポインティングデバイスとして機能するタッチパネル２ｂを備える。さらに、情報処理装置１は、端末表面の表示部２ａと重ならない位置にキーボード４を備える。キーボード４は、太陽電池３の表面に透明なタッチパネル２ｂを重ねることで実現してもよい。また、透明な素材または遮光性の部分の少ない素材を用いた機械式のキーボード４として実現してもよい。
【００１１】
図２は、情報処理装置１のハードウェア構成例を示すブロック図である。情報処理装置１は、主なハードウェア構成として、ＳｏＣ（System  on  ａ  Chip）１０、メインメモリ５、２次ストレージ６、太陽電池３、蓄電部７、ＰＭＩＣ（Power  Management  Integrated  Circuit；電源管理ＩＣ）８、表示部２ａ、タッチパネル２ｂ、キーボード４、および通信インタフェース（通信Ｉ／Ｆ）９の各モジュールを備えている。
【００１２】
情報処理装置１は、太陽電池３で発電した電力で動作する。しかし、太陽電池３で発電する電力だけでは動作時（何らかの処理を実行しているとき）の情報処理装置１全体のピークの消費電力をまかなえない。このため、アイドル時（ユーザからの応答待ちの時間や、情報処理装置１を使用していない時間など）に太陽電池３で発電した余剰電力を蓄電部７に充電しておく。そして、動作時には、ＰＭＩＣ８が、蓄電部７が蓄積している電力と太陽電池３が発電した電力とをあわせてＰＭＩＣ８で必要な電圧に調整して、情報処理装置１の各モジュールに供給する。このような電源制御は、ピークアシストあるいはピークシフトと呼ばれる。
【００１３】
蓄電部７は、リチウムイオン電池などのバッテリ、または電気２重層キャパシタなどを、単独で、または組み合わせて実現できる。たとえば、太陽電池３で発電した電力をまず電気２重層キャパシタに蓄積し、蓄積した電力をさらにリチウムイオン電池に充電するような組み合わせが可能である。
【００１４】
ＰＭＩＣ８は、ＳｏＣ１０やメインメモリ５などの各モジュールへの電力を供給するモジュールである。ＰＭＩＣ８は、太陽電池３や蓄電部７から供給される電力を、ＳｏＣ１０やメインメモリ５など各モジュールが必要とする電圧に変換して、各モジュールに供給する。ＰＭＩＣ８は、各モジュールへの電力の供給をオン／オフする機能も持つ。
【００１５】
ＳｏＣ１０は、情報処理装置１の全体を制御するコアとなるプロセッサ（ＣＰＵ；Central  Processing  Unit）１１や、本実施形態のメモリコントローラ（メモリ制御装置）１００などを半導体基板に実装したシステムＬＳＩ（半導体装置）である。なお、ＳｏＣ１０およびメモリ制御装置１００の具体的な構成例については、詳細を後述する。
【００１６】
メインメモリ５は、ＳｏＣ１０のＣＰＵ１１によりデータが読み書きされるメモリであり、ＣＰＵ１１が各種の処理を実行する際のワークエリアとして利用する主記憶部である。メインメモリ５には、たとえば、ＤＤＲ  ＳＤＲＡＭ（Double  Date  Rate  Synchronous  Dynamic  Random  Access  Memory）、ＤＤＲ２  ＳＤＲＡＭ（Double  Date  Rate  2  Synchronous  Dynamic  Random  Access  Memory）、ＤＤＲ３  ＳＤＲＡＭ（Double  Date  Rate  3  Synchronous  Dynamic  Random  Access  Memory）、ＬＰＤＤＲ  ＳＤＲＡＭ（Low  Power  Double  Date  Rate  Synchronous  Dynamic  Random  Access  Memory）、ＬＰＤＤＲ２  ＳＤＲＡＭ（Low  Power  Double  Date  Rate  2  Synchronous  Dynamic  Random  Access  Memory）などの同期型のインタフェースを持つＤＲＡＭなどを用いることができる。
【００１７】
２次ストレージ６は、情報処理装置１が必要とするデータやプログラムを記憶する、不揮発メモリを用いた補助記憶部である。２次ストレージ６には、たとえば、フラッシュメモリを用いることができる。また、２次ストレージ６としてＳＤカードやＳＳＤを用いることもできる。
【００１８】
情報処理装置１は、入出力デバイスとして、表示部２ａやタッチパネル２ｂ、キーボード４、通信Ｉ／Ｆ９を備える。通信Ｉ／Ｆ９は、たとえば無線ＬＡＮ（Local  Area  Network）などによる通信を行うためのインタフェースである。通信の方式は無線ＬＡＮに限られず、有線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＺｉｇＢｅｅ（登録商標）、赤外線通信、可視光通信、光回線網、電話回線網、およびインターネットなどのあらゆる方式を利用できる。
【００１９】
図３は、情報処理装置１の要部の構成例を示すブロック図であり、ＳｏＣ１０と、メインメモリ５と、ＰＭＩＣ８とを抜き出して示したものである。これらの各モジュールは、たとえば、情報処理装置１のマザーボード（システムボード）に搭載される。
【００２０】
ＳｏＣ１０は、上述したように、ＣＰＵ１１とメモリコントローラ１００とを備える。ＣＰＵ１１とメモリコントローラ１００は、チップに形成されたバス１２により接続されている。ＳｏＣ１０は、メモリコントローラ１００によって、外部のメインメモリ５と接続される。ＳｏＣ１０やメインメモリ５を動作させる電力は、ＰＭＩＣ８から供給される。なお、図３では図示を省略しているが、ＳｏＣ１０の内部に、表示部２ａやタッチパネル２ｂ、キーボード４、通信Ｉ／Ｆ９などの入出力デバイスのコントローラを設けるようにしてもよい。
【００２１】
また、ＳｏＣ１０は、チップに搭載されたシステムを動作させるためのクロックを生成するために、低周波発振器１３と高周波発振器１４とを備える。低周波発振器１３は、たとえば３２ＫＨｚの水晶発振子が接続されて発振する。また、高周波発振器１４は、たとえば２４ＭＨｚの水晶発振子が接続されて発振する。
【００２２】
低周波発振器１３の出力は、サブクロックとしてＣＰＵ１１とメモリコントローラ１００とに供給され、チップに搭載されたシステムの起動やスタンバイ状態での動作に用いられる。一方、高周波発振器１４の出力は、さらにＰＬＬ（Phase  Locked  Loop）１５によって周波数を高くしてＣＰＵ１１とメモリコントローラ１００とに供給され、ＣＰＵ１１が各種処理を実行する際のメインクロックとして用いられる。
【００２３】
さらに、ＳｏＣ１０は、アイドル時にＳｏＣ１０が消費電力の少ない待機状態になるように制御する電力状態管理部１６を備える。ＣＰＵ１１は、すぐに実行すべきタスクがなくなり、入出力デバイスからの割り込み待ちになると、ＷＦＩ（Wait  for  Interrupt）命令を出して割り込みを待つ。このとき、割り込みを待っている間の消費電力を下げるために、電力状態管理部１６は、ＳｏＣ１０を待機状態にする。多くのＳｏＣでは、待機状態の消費電力と待機状態への遷移と復帰に必要なコストが異なる複数の種類の待機状態を提供している。その中でも消費電力の小さいスタンバイ状態では、電力状態管理部１６がＳｏＣ１０内の各モジュールのパワーゲーティングを行ったり、高周波発振器１４を止めてメインクロックの供給を停止したりする。このとき、電力状態管理部１６は、高周波発振器１４だけでなくＰＬＬ１５も同時に停止することもある。またこのとき、電力状態管理部１６は、メインメモリ５への電力の供給の停止をＰＭＩＣ８に指示する、あるいはメインメモリ５を第１の消費電力で動作する状態からこの第１の消費電力よりも小さい第２の消費電力で待機する状態（ディープパワーダウンやセルフリフレッシュ）に切り替えることをメモリコントローラ１００に指示することで、消費電力の大幅な削減を図る。
【００２４】
電力状態管理部１６は、入出力デバイスからの割り込み発生を検出すると、ＳｏＣ１０内の各モジュールのパワーゲーティングを行っている場合はそれを解除し、高周波発振器１４やＰＬＬ１５を停止している場合はそれらの動作を再開する。さらに、このとき、電力状態管理部１６は、メインメモリ５への電力の供給の再開をＰＭＩＣ８に指示する、あるいはメインメモリ５を第２の消費電力で待機する状態から第１の消費電力で動作する状態に切り替えることをメモリコントローラ１００に指示する。
【００２５】
電力状態管理部１６は、ＳｏＣ１０がスタンバイ状態かそうでないかを示すスタンバイ信号を出力し、このスタンバイ信号を使って、ＰＭＩＣ８に対してメインメモリ５への電力の供給の停止や再開を指示する、あるいはメモリコントローラ１００に対してメインメモリ５を第１の消費電力で動作する状態と第２の消費電力で待機する状態の相互の間の切り替えを指示するように実施してもよい。この場合、ＰＭＩＣ８は、スタンバイ信号がオンになるとメインメモリ５への電力の供給を停止し、スタンバイ信号がオフになるとメインメモリへ５の電力の供給を再開する。また、この場合、メモリコントローラ１００は、スタンバイ信号がオフからオンになるとメインメモリ５に信号（コマンド）を送って第２の消費電力で待機する状態にし、スタンバイ信号がオンからオフになるとメインメモリ５に信号（コマンド）を送って第１の消費電力で動作する状態にする。別の実施方法としては、スタンバイ信号を使わずに、電力状態管理部１６からＰＭＩＣ８あるいはメモリコントローラ１００に専用の信号線を使って指示するように実施してもよい。
【００２６】
なお、電力状態管理部１６は、Power  Reset  Manager、General  Power  Controller、またはLow-Leakage  Wake-Up  Unitなどと呼ばれることもある。また、電力状態管理部１６の一部あるいはすべての機能をＣＰＵ１１が内蔵する場合もある。
【００２７】
メインメモリ５として上述したＤＲＡＭなどの揮発性のメモリを用いる場合は、メインメモリ５への電力の供給を停止するとデータが消えるが、実行状態でＣＰＵ１１が作業用として用いるデータであればスタンバイ状態に入れば消えても問題ない。また、消えてはいけないデータがある場合は、そのデータを別の揮発性のメモリに記憶し、そのメモリはスタンバイ状態でも電力の供給を止めないようにする、あるいは、そのデータを別の不揮発メモリに記憶させるようにしてもよい。さらに、メインメモリ５としてＰＣＭやＭＲＡＭなどの不揮発性のメモリを用いて、メインメモリ５への電力の供給を停止してもデータが消えないようにしてもよい。
【００２８】
メインメモリ５としてＤＲＡＭを用い、スタンバイ状態のときにメインメモリ５を第２の消費電力で待機する状態にする場合には、メインメモリ５が第２の消費電力で待機する状態として、ＤＲＡＭのセルフリフレッシュモードやディープパワーダウンモードを用いることができる。
【００２９】
なお、低周波発振器１３で生成したサブクロックは、スタンバイ状態の間のタイマのカウントや割り込みの監視、スタンバイ状態から動作状態への状態遷移などに必要なので止めることはできない。低周波発振器１３の消費電力は高周波発振器１４の消費電力に比べて小さいので問題にはならない。
【００３０】
本実施形態のＳｏＣ１０では、入出力デバイスからの割り込みを受けて、電力状態管理部１６が、スタンバイ状態を解除し、高周波発振器１４（およびＰＬＬ１５）の動作を開始させるとともに、ＰＭＩＣ８に指示してメインメモリ５への電力の供給を開始する、あるいはメモリコントローラ１００に指示してメインメモリ５を第２の消費電力で待機する状態から第１の消費電力で動作する状態に復帰する際、メモリコントローラ１００が、メインクロックが安定するのを待つことなくメインメモリ５の初期化処理を開始することで、ＣＰＵ１１が割り込みを処理できるようになるまでの時間を短縮する。
【００３１】
ここで、本実施形態に対する比較例として、従来の一般的なスタンバイ解除の動作について図４を参照しながら説明する。図４は、従来の一般的なＳｏＣが割り込みを受けてスタンバイ状態から動作状態へ遷移するときのタイミングチャートである。なお、従来の一般的なＳｏＣの構成は、図３に示した本実施形態のＳｏＣ１０と同様であるが、低周波発振器１３が生成したサブクロックがメモリコントローラ１００に供給されず、メモリコントローラ１００がサブクロックに基づく動作を行わない点が、本実施形態と異なる。以下では、便宜上、本実施形態と対応する比較例の構成要素について、本実施形態の構成要素の符号に添え字ｎを付加した符号を付して説明する。
【００３２】
時刻Ｔ１でいずれかの入出力デバイスなどからＣＰＵ１１ｎへの割り込みが入ると、それを検出した電力状態管理部１６によってスタンバイ状態が解除される。従来の一般的なＳｏＣ１０ｎでは、スタンバイ状態であることを示すスタンバイ信号が定義されており、スタンバイ状態が解除されるとスタンバイ信号がローレベルになる。それにあわせて、ＳｏＣ１０ｎの電力状態管理部１６は、まず高周波発振器１４ｎ（および必要ならＰＬＬ１５ｎ）を動作開始させ、高周波発振器１４ｎの発振が安定するのを待つ。高周波発振器１４ｎの出力はＰＬＬ１５ｎに入り、そこで周波数を上げて、メインクロックにする。また、スタンバイ状態のときにメインメモリ５ｎへの電力の供給を停止している場合には、ＳｏＣ１０ｎの電力状態管理部１６は、時刻Ｔ１でスタンバイ状態が解除されると、そのタイミングでＰＭＩＣ８ｎに指示してメインメモリ５ｎに対する電力の供給を開始させる。
【００３３】
時刻Ｔ２でメインクロックが安定すると、ＣＰＵ１１ｎは割り込み処理が可能な状態になる。しかし、この段階ではメインメモリ５ｎの初期化が終わっていないので、ＣＰＵ１１ｎはメモリコントローラ１００ｎにメインメモリ５ｎの初期化を指示する。この際、スタンバイ状態のときにメインメモリ５ｎを第２の消費電力で待機する状態にしている場合には、ＣＰＵ１１ｎの指示を受けたメモリコントローラ１００ｎは、まずメインメモリ５ｎを第１の消費電力で動作する状態にさせる。そして、時刻Ｔ３で、ＣＰＵ１１ｎの指示を受けたメモリコントローラ１００ｎがメインメモリ５ｎの初期化処理を開始し、時刻Ｔ４でメインメモリ５ｎの初期化が完了すると、メインメモリ５ｎがデータの読み書き可能な状態となる。その後、ＣＰＵ１１ｎがメインメモリ５ｎを用いて割り込み処理を実行する。なお、メモリコントローラ１００ｎとしては、上述のようにＣＰＵ１１ｎからの指示でメインメモリ５ｎの初期化処理を開始するメモリコントローラもあれば、スタンバイ解除の後、メインクロックが安定したことを検知した電力状態管理部１６の指示によってメインメモリ５ｎの初期化処理を開始するメモリコントローラもある。
【００３４】
ここでメインメモリ５ｎの初期化処理とは、スタンバイ状態が解除されてメインメモリ５ｎに対して電力の供給が開始された後、あるいはメインメモリ５ｎが第２の消費電力で待機する状態から第１の消費電力で動作する状態に復帰した後に、メインメモリ５ｎをＣＰＵ１１ｎによるデータの読み書きが可能な状態に初期化するための処理である。具体的には、メインメモリ５ｎの初期化処理は、メインメモリ５ｎに対して電力の供給が開始されてから所定時間が経過した後にメインメモリ５ｎ内の制御用レジスタにバースト長や信号の遅延に関するパラメータなどを設定する処理、あるいはメインメモリ５ｎが第２の消費電力で待機する状態から第１の消費電力で動作する状態に復帰してから所定時間が経過した後にメインメモリ５ｎ内の制御用レジスタにバースト長や信号の遅延に関するパラメータなどを設定する処理である。
【００３５】
ここで、メインメモリ５ｎとしてＤＤＲ３  ＳＤＲＡＭを用い、スタンバイ状態のときにメインメモリ５ｎに対する電力の供給を停止する場合を想定して、従来の一般的なメインメモリ５ｎの初期化処理について図５を参照しながら説明する。図５は、従来の一般的なメモリコントローラ１００ｎによるメインメモリ５ｎの初期化処理を説明するタイミングチャートである。
【００３６】
メインメモリ５ｎがＤＤＲ３  ＳＤＲＡＭのような同期型のインタフェースを持つメモリの場合、メモリコントローラ１００ｎは、図５に示すように、メインメモリ５ｎに対して、メモリクロックを供給しながら、このメモリクロックに同期してメインメモリ５ｎを初期化するためのコマンド（第１制御信号）を供給する。このとき、従来の一般的なメモリコントローラ１００ｎは、上述したメインクロックをそのまま、あるいはメインクロックをＰＬＬやフリップフロップなどにより内部で周波数変換したものを、メモリクロックとしてメインメモリ５ｎに供給する。このため、メインクロックが安定するまでは、メインメモリ５ｎにメモリクロックを供給することができず、メインメモリ５ｎの初期化処理を行うことができない。
【００３７】
すなわち、従来の一般的なメモリコントローラ１００ｎは、スタンバイ状態が解除されてメインメモリ５ｎに電力の供給が開始された後、メインクロックが安定するのを待つ。そして、時刻Ｔ１１でメインクロックが安定すると、メモリコントローラ１００ｎは、メインメモリ５ｎに対するメモリクロックの供給を開始し、その後、時刻Ｔ１２でＣＫＥ（Clock  Enable）信号がハイレベルになってから予め定められた所定時間の間、メインメモリ５ｎに対して、メモリクロックに同期してＮＯＰ（No  Operation）コマンドを供給し続ける。なお、ＣＫＥ信号は、メモリクロックが有効か否かを示す信号であり、ＣＫＥ信号がハイレベルであればメモリクロックが有効であることを示し、ＣＫＥ信号がローレベルであればメモリクロックが無効であることを示す。
【００３８】
その後、時刻Ｔ１３で所定時間が経過すると、メモリコントローラ１００ｎは、メインメモリ５ｎ内の制御用レジスタにバースト長や信号の遅延に関するパラメータなどを設定するためのＭＲＳ（Mode  Register  Set）コマンドを、メモリクロックと同期してメインメモリ５ｎに供給する。そして、時刻Ｔ１４でメインメモリ５ｎの初期化が完了すると、その後、メモリコントローラ１００ｎは、ＣＰＵ１１ｎによるデータの読み書きに応じたコマンド（第２制御信号）を、メモリクロックと同期してメインメモリ５ｎに供給する。図５では、メインメモリ５ｎに対してデータの読み出しを要求するＲＥＡＤコマンドを供給している例を示している。
【００３９】
以上のように、従来の一般的なメモリコントローラ１００ｎは、スタンバイ状態が解除されてメインメモリ５ｎに対する電力の供給が開始され、さらに、メインクロックが安定した後にメインメモリ５ｎの初期化処理を開始するようにしていた。このため、ＣＰＵ１１ｎがメインメモリ５ｎにデータを読み書きできるようになるまでに時間がかかる、つまり、いずれかの入出力デバイスなどから割り込みが入ってからＣＰＵ１１ｎが割り込み処理を開始するまでの遅延時間が長くなるという問題があった。
【００４０】
次に、本実施形態におけるスタンバイ解除の動作について図６を参照しながら説明する。図６は、本実施形態のＳｏＣ１０が割り込みを受けてスタンバイ状態から動作状態へ遷移するときのタイミングチャートである。
【００４１】
時刻Ｔ２１でいずれかの入出力デバイスなどから割り込みが入ると、ＳｏＣ１０の電力状態管理部１６によってスタンバイ状態が解除され、スタンバイ信号がローレベルになる。それにあわせて、ＳｏＣ１０の電力状態管理部１６は、まず高周波発振器１４（および必要ならばＰＬＬ１５）を動作開始させる。また、スタンバイ状態のときにメインメモリ５への電力の供給を停止している場合には、ＳｏＣ１０の電力状態管理部１６は、時刻Ｔ２１でスタンバイ状態が解除されると、そのタイミングでＰＭＩＣ８に指示してメインメモリ５に対する電力の供給を開始させる。
【００４２】
本実施形態のメモリコントローラ１００は、上述したように低周波発振器１３で生成されたサブクロックが供給されるため、メインクロックが安定する前にサブクロックで動作することができる。そこで、本実施形態のメモリコントローラ１００は、時刻Ｔ２１でスタンバイ状態が解除されると、メインクロックが安定するのを待つことなく、電力状態管理部１６からの指示によってメインメモリ５の初期化処理を開始する。この際、スタンバイ状態のときにメインメモリ５を第２の消費電力で待機する状態にしている場合には、メモリコントローラ１００は、まずメインメモリ５を第１の消費電力で動作する状態にさせる。そして、時刻Ｔ２２でメインメモリ５の初期化が完了すると、メインメモリ５はＣＰＵ１１によるデータの読み書きが可能な状態となる。
【００４３】
その後、時刻Ｔ２３でメインクロックが安定すると、ＣＰＵ１１は割り込み処理が可能な状態になる。このとき、メインメモリ５はすでに初期化が完了し、データの読み書きが可能な状態になっているので、ＣＰＵ１１はこの段階で割り込み処理を開始することができる。このように、本実施形態では、スタンバイ状態が解除されてメインメモリ５に電力の供給が開始された後、メインクロックが安定するのを待つことなくメインメモリ５の初期化処理を行うようにしているので、いずれかの入出力デバイスなどから割り込みが入ってスタンバイ状態が解除されてからＣＰＵ１１が割り込み処理を開始するまでの遅延時間を小さくすることができる。
【００４４】
なお、図６に示した例は、メインメモリ５の初期化処理に要する時間がメインクロックが安定するまでの時間よりも短いことを想定しているが、メインメモリ５の初期化処理に要する時間がメインクロックが安定するまでの時間よりも長い場合は、メインクロックが安定してからメインメモリ５の初期化が完了するまで、ＣＰＵ１１は割り込み処理を開始するのを待つ必要がある。しかし、この場合であっても、従来のようにメインクロックが安定した後にメインメモリ５ｎの初期化処理を開始する場合に比べると、ＣＰＵ１１が割り込み処理を開始するまでの遅延時間は小さくなる。
【００４５】
図７は、図６に示したようなスタンバイ解除の動作を実現するための本実施形態のメモリコントローラ１００の構成例を示すブロック図である。本実施形態のメモリコントローラ１００には、ＣＰＵ１１がバス１２を介して接続されるのに加え、周波数の高いメインクロックおよび周波数の低いサブクロックの２種類のクロックと、電力状態管理部１６からのスタンバイ信号とが入力される。
【００４６】
メインクロックには、ＳｏＣ１０の高周波発振器１４の出力をＰＬＬ１５で周波数を上げたクロックを用いる。メインクロックは、スタンバイ状態では停止する。一方、サブクロックは、ＳｏＣ１０の低周波発振器１３の出力をそのまま用いる。なお、サブクロックとして、ＳｏＣ１０の低周波発振器１３の出力を、ＰＬＬ１５とは別のＰＬＬで周波数を上げたクロックを用いるようにしてもよい。サブクロックは、スタンバイ状態になっても停止しない。メモリコントローラ１００に入力されるメインクロックおよびサブクロックの周波数は、メモリコントローラ１００に接続されるメインメモリ５が動作できる範囲で定められる。
【００４７】
電力状態管理部１６からのスタンバイ信号は、従来と同様、スタンバイ状態のときにハイレベル（あるいはオン、アサート、アクティブなどとも呼ばれる）となり、スタンバイ状態が解除されるとローレベル（あるいはオフ、デアサート、インアクティブ）となる信号である。
【００４８】
メモリコントローラ１００とメインメモリ５は、図７に示すように、それぞれのメモリインタフェースの仕様により定められた信号線で接続される。メモリコントローラ１００とメインメモリ５を接続する信号線は、大きく分けて、データ信号線、メモリクロック信号線、制御信号線からなる。データ信号線は、ＣＰＵ１１がメインメモリ５に対して読み書きするデータが伝送される信号線であり、１６ビットや３２ビットなどの幅を持つ。メモリクロック信号線は、メモリコントローラ１００とメインメモリ５との間でデータや制御信号の送受信を同期させるためのメインクロックが伝送される信号線である。制御信号線は、アドレスやバンク指定やコマンドなどを伝送するための信号線であり、伝送される信号の種類に応じた複数本の信号線からなる。
【００４９】
本実施形態のメモリコントローラ１００は、一例として、図７に示すように、初期化回路１０１と、読み書き制御回路１０２と、クロック切替回路１０３と、制御信号切替回路１０４と、を備える。
【００５０】
初期化回路１０１は、周波数の低いサブクロックで動作し、電力状態管理部１６がスタンバイ信号をオフすることによりスタンバイ状態の解除が通知されると、メインメモリ５の初期化処理に必要な制御信号（第１制御信号）の少なくとも前半の一部（たとえばＮＯＰコマンド）を生成して制御信号切替回路１０４に供給する。この際、スタンバイ状態のときにメインメモリ５を第２の消費電力で待機する状態にしている場合には、初期化回路１０１は、メインメモリ５の初期化処理に必要な制御信号（第１制御信号）の最初に、メインメモリ５を第１の消費電力で動作する状態に切り替えるための制御信号（コマンド）を挿入して、制御信号切替回路１０４に供給する。また、初期化回路１０１は、スタンバイ信号によりスタンバイ状態の解除が通知されると、入力したサブクロックをそのまま、あるいはＰＬＬやフリップフロップなどによりサブクロックを内部で周波数変換したものを、クロック切替回路１０３に供給する。以下、この初期化回路１０１からクロック切替回路１０３に供給される周波数の低いクロックを第１クロックという。なお、サブクロックを周波数変換せずにそのまま第１クロックとする場合は、メモリコントローラ１００に入力されるサブクロックをクロック切替回路１０３に直接入力するようにしてもよい。
【００５１】
読み書き制御回路１０２は、周波数の高いメインクロックで動作し、ＣＰＵ１１からバス１２を介して供給されるメモリアクセスの指示に従って、メインメモリ５にデータを読み書きするための制御信号（第２制御信号）を生成して制御信号切替回路１０４に供給するとともに、メインメモリ５との間でデータ信号線を用いてＣＰＵ１１が読み書きするデータを送受信する。また、読み書き制御回路１０２は、メインクロックが安定してもメインメモリ５の初期化が完了しない場合などは、メインメモリ５にデータを読み書きするための制御信号（第２制御信号）を生成する前に、メインメモリ５の初期化処理に必要な制御信号（第１制御信号）の後半の一部（たとえばＭＲＳコマンド）を生成して制御信号切替回路１０４に供給する。また、読み書き制御回路１０２は、入力したメインクロックをそのまま、あるいはＰＬＬやフリップフロップなどによりメインクロックを内部で周波数変換したものを、クロック切替回路１０３に供給する。以下、この読み書き制御回路１０２からクロック切替回路１０３に供給される周波数の高いクロックを第２クロックという。なお、メインクロックを周波数変換せずにそのまま第２クロックとする場合は、メモリコントローラ１００に入力されるメインクロックを、クロック切替回路１０３に直接入力するようにしてもよい。
【００５２】
読み書き制御回路１０２は、従来の一般的なメモリコントローラ１００ｎと同様にメインクロックで動作するので、スタンバイ状態が解除された後、メインクロックが安定するまでの間は動作することができない。
【００５３】
スタンバイ状態のときにメインメモリ５を第２の消費電力で待機させる場合には、たとえば、スタンバイ信号を読み書き制御回路１０２にも接続する構成とする。そして、スタンバイ信号がオフからオンになったことを検出した読み書き制御回路１０２は、メインメモリ５に対して第２の消費電力で待機する状態に切り替える制御信号（コマンド）を送るように実施する。別の実施方法としては、スタンバイ状態に入る時点でＣＰＵ１１がメモリコントローラ１００に対して、メインメモリ５を第２の消費電力で待機する状態に切り替える制御信号（コマンド）を送るように指示する方法もある。この場合は、スタンバイ信号を読み書き制御回路１０２に接続する必要はない。また、スタンバイ状態のときにメインメモリ５への電力の供給を停止する場合は、スタンバイ信号を読み書き制御回路１０２に接続する必要はない。
【００５４】
クロック切替回路１０３は、初期化回路１０１からの周波数の低い第１クロックと、読み書き制御回路１０２からの周波数の高い第２クロックとを入力し、第２クロックが安定するまでの間は第１クロックをメモリクロックとしてメインメモリ５に供給し、第２クロックが安定した後は第２クロックをメモリクロックとしてメインメモリ５に供給する。
【００５５】
制御信号切替回路１０４は、クロック切替回路１０３が第１クロックをメモリクロックとしてメインメモリ５に供給しているときに、初期化回路１０１が生成した第１制御信号のメインメモリ５への供給を開始する。そして、制御信号切替回路１０４は、初期化回路１０１が生成した第１制御信号をメインメモリ５に供給し続け、クロック切替回路１０３がメインメモリ５に供給するメモリクロックを第１クロックから第２クロックに切り替えてもメインメモリ５の初期化が完了しない場合は、その後、読み書き制御回路１０２が生成した第１制御信号をメインメモリ５に供給する。そして、制御信号切替回路１０４は、クロック切替回路１０３がメインメモリ５に供給するメモリクロックを第１クロックから第２クロックに切り替えた後であって、且つ、メインメモリ５の初期化が完了した後に、読み書き制御回路１０２が生成した第２制御信号をメインメモリ５に供給する。
【００５６】
第２クロックが安定したことをメモリコントローラ１００が知る方法としては、たとえば、電力状態管理部１６がメモリコントローラ１００に対して第２クロックが安定したことを伝達する方法、ＳｏＣ１０内のメインクロックが有効であることを示す信号を利用する方法、スタンバイ信号を見てスタンバイ解除から一定時間が経過したら第２クロックが安定していると判断する方法、ＣＰＵ１１が割り込み処理の実行を開始する時点でメモリコントローラ１００に指示する方法などが挙げられる。
【００５７】
次に、メインメモリ５としてＤＤＲ３  ＳＤＲＡＭを用い、スタンバイ状態のときにメインメモリ５に対する電力の供給を停止する場合を想定して、本実施形態のメモリコントローラ１００によるメインメモリ５の初期化処理について図８を参照しながら説明する。図８は、本実施形態のメモリコントローラ１００によるメインメモリ５の初期化処理を説明するタイミングチャートである。
【００５８】
時刻Ｔ３１でスタンバイ状態が解除され、ＰＭＩＣ８からメインメモリ５への電力の供給が開始されると、本実施形態のメモリコントローラ１００は、まず周波数の低い第１クロックをメモリクロックとしてメインメモリ５に供給する。第１クロックは、上述したようにサブクロックに基づいて生成される、あるいはサブクロックをそのまま用いる。そして、時刻Ｔ３２の時点でメモリクロックが有効であることを示すハイレベルのＣＫＥ信号をメインメモリ５に供給し、その後、予め定められた所定時間の間、メモリクロックに同期してＮＯＰコマンド（第１制御信号）を供給し続ける。
【００５９】
そして、メインクロックが安定すると、メモリコントローラ１００は、時刻Ｔ３３で、メインメモリ５に供給するメモリクロックを周波数の低い第１クロックから周波数の高い第２クロックに切り替える。第２クロックは、上述したようにメインクロックに基づいて生成される、あるいはメインクロックをそのまま用いる。そして、この段階でメインメモリ５の初期化が完了していなければ、メモリコントローラ１００はメインクロックに基づいて初期化処理を継続し、初期化処理に必要な残りのコマンドを、第２クロックに切り替えられたメモリクロックに同期してメインメモリ５に供給する。図８に示す例では、ＭＲＳコマンド（第１制御信号）を、第２クロックに切り替えられたメモリクロックと同期してメインメモリ５に供給している。
【００６０】
そして、時刻Ｔ３４でメインメモリ５の初期化が完了すると、その後、メモリコントローラ１００は、ＣＰＵ１１によるデータの読み書きに応じたコマンド（第２制御信号）を、第２クロックに切り替えられたメモリクロックと同期してメインメモリ５に供給する。図８では、メインメモリ５に対してデータの読み出しを要求するＲＥＡＤコマンドを供給している例を示している。なお、メインメモリ５に供給するメモリクロックを第１クロックから第２クロックに切り替えた時点（時刻Ｔ３３）でメインメモリ５の初期化が完了している場合には、その後すぐに、ＣＰＵ１１によるデータの読み書きに応じたコマンドをメインメモリ５に供給することができる。
【００６１】
なお、図８に示す例では、メインメモリ５に供給するメモリクロックを周波数が低い第１クロックから周波数が高い第２クロックに切り替える際に、ＣＫＥ信号はハイレベルのままとなっている。しかし、図９に示すように、メモリクロックの周波数が切り替わる際にＣＫＥ信号を一旦ローレベルとし、その後、ＣＫＥ信号をハイレベルに戻すように実施することもできる。
【００６２】
図１０は、図８に示した初期化処理を実行する際のメモリコントローラ１００の動作を説明するタイミングチャートである。
【００６３】
初期化回路１０１は、サブクロックとスタンバイ信号を入力しており、時刻Ｔ３１でスタンバイ状態が解除されてスタンバイ信号がローレベルになると、サブクロックに基づいて生成、あるいはサブクロックをそのまま用いた周波数の低い第１クロックを、クロック切替回路１０３に入力する。また、初期化回路１０１は、スタンバイ状態が解除されると、メインメモリ５の初期化に必要なコマンドを生成して制御信号切替回路１０４に入力する。具体的には、初期化回路１０１は、時刻Ｔ３２でＣＫＥ信号がハイレベルになった後、予め定めた所定時間の間、ＮＯＰコマンドを生成して制御信号切替回路１０４に入力する。
【００６４】
読み書き制御回路１０２は、メインクロックを入力しており、メインクロックが安定すると動作を開始し、メインクロックに基づいて生成、あるいはメインクロックをそのまま用いた周波数の高い第２クロックを、クロック切替回路１０３に入力する。また、読み書き制御回路１０２は、メインクロックが安定して動作を開始したときにメインメモリ５の初期化が完了していなければ、初期化に必要な残りのコマンド（図８および図１０の例ではＭＲＳコマンド）を生成して制御信号切替回路１０４に入力する。そして、読み書き制御回路１０２は、時刻Ｔ３４でメインメモリ５の初期化が完了すると、ＣＰＵ１１によるデータの読み書きに応じたコマンド（図８および図１０の例ではＲＥＡＤコマンド）を生成して制御信号切替回路１０４に入力する。
【００６５】
クロック切替回路１０３は、第１クロックと第２クロックとを入力し、メインクロックが安定するまでは、第１クロックをメモリクロックとしてメインメモリ５に供給する。そして、クロック切替回路１０３は、メインクロックが安定した後（時刻Ｔ３３以降）は、第２クロックをメモリクロックとしてメインメモリ５に供給する。
【００６６】
制御信号切替回路１０４は、初期化回路１０１が生成したコマンドと読み書き制御回路１０２が生成したコマンドとを入力し、メインクロックが安定するまでは、初期化回路１０１が生成したコマンドを、第１クロックと同期してメインメモリ５に供給する。そして、制御信号切替回路１０４は、メインクロックが安定した後（時刻Ｔ３３以降）は、読み書き制御回路１０２が生成したコマンドを、第２クロックと同期してメインメモリ５に供給する。
【００６７】
なお、図８および図１０の例では、スタンバイ状態が解除されてからメインクロックが安定するまでの時間よりも、メインメモリ５の初期化処理に要する時間が長い場合を想定し、メインメモリ５の初期化に必要なコマンドの後半部分を読み書き制御回路１０２が生成するようにしているが、メインクロックが安定する前にメインメモリ５の初期化が完了する場合は、メインメモリ５の初期化に必要なコマンドのすべてを初期化回路１０１が生成し、読み書き制御回路１０２は、ＣＰＵ１１によるデータの読み書きに応じたコマンドのみを生成すればよい。
【００６８】
メインメモリ５としてＤＤＲ３  ＳＤＲＡＭを用いる場合、メモリコントローラ１００は、ＣＫＥ信号がハイレベルになってから予め定めた所定時間の間はＮＯＰコマンドをメインメモリ５に供給し続け、所定時間が経過するとＭＲＳコマンドをメインメモリ５に供給する。図８および図１０では、説明を簡単にするために、メインメモリ５に供給するメインクロックが第１クロックから第２クロックに切り替わるときに、メインメモリ５に供給するコマンドがＮＯＰコマンドからＭＲＳコマンドに切り替わるように図示しているが、この限りではない。
【００６９】
すなわち、メインクロックが安定するまでの時間よりも上記の所定時間が長ければ、図１１に示すように、上記の所定時間が経過するまで読み書き制御回路１０２がＮＯＰコマンドを生成して、上記の所定時間が経過するとＭＲＳコマンドを生成し、その後、メインメモリ５の初期化が完了すると、ＣＰＵ１１によるデータの読み書きに応じたＲＥＡＤコマンドなどを生成する。この場合、制御信号切替回路１０４は、メインクロックが安定してメインメモリ５に供給するメモリクロックが第１クロックから第２クロックに切り替わるまでは、初期化回路１０１が生成したＮＯＰコマンドをメインメモリ５に供給し、メインクロックが安定した後、上記所定時間が経過するまでは、読み書き制御回路１０２が生成したＮＯＰコマンドをメインメモリ５に供給する。そして、上記の所定時間が経過すると、読み書き制御回路１０２が生成したＭＲＳコマンドをメインメモリ５に供給し、メインメモリ５の初期化が完了すると、読み書き制御回路１０２が生成したＲＥＡＤコマンドなどをメインメモリ５に供給する。
【００７０】
一方、メインクロックが安定するまでの時間よりも上記の所定時間が短ければ、図１２に示すように、上記の所定時間が経過した後に初期化回路１０１がＭＲＳコマンドを生成する。そして、メインクロックが安定してメインメモリ５に供給するメモリクロックが第１クロックから第２クロックに切り替わったときに、メインメモリ５の初期化が完了していなければ、メインメモリ５の初期化が完了するまで読み書き制御回路１０２がＭＲＳコマンドを生成する。この場合、制御信号切替回路１０４は、メインクロックが安定してメインメモリ５に供給するメモリクロックが第１クロックから第２クロックに切り替わるまでは、初期化回路１０１が生成したＮＯＰコマンドとＭＲＳコマンドを順次メインメモリ５に供給し、メインクロックが安定した後は、メインメモリ５の初期化が完了するまで読み書き制御回路１０２が生成したＭＲＳコマンドをメインメモリ５に供給し、メインメモリ５の初期化が完了すると、読み書き制御回路１０２が生成したＲＥＡＤコマンドなどをメインメモリ５に供給する。
【００７１】
以上、スタンバイ状態を解除するときのメモリコントローラ１００の動作を説明したが、ＳｏＣ１０がスタンバイ状態に入るときは、ＳｏＣ１０の電力状態管理部１６から、ＰＭＩＣ８に指示して、メインメモリ５に対する電力の供給を停止する、あるいは、メモリコントローラに指示してメインメモリ５を第１の消費電力で動作する状態から第２の消費電力で待機する状態に遷移させる。
【００７２】
以上のように、本実施形態のメモリコントローラ１００は、スタンバイ状態が解除されて、メインメモリ５に対する電力の供給が開始される、あるいはメインメモリ５が第２の消費電力で待機する状態から第１の消費電力で動作する状態に復帰すると、メインクロックが安定するのを待つことなくメインメモリ５の初期化処理を開始するので、スタンバイ状態が解除されてからＣＰＵ１１が割り込み処理を開始するまでの遅延時間を小さくすることができる。
【００７３】
なお、上述した実施形態では、メインメモリ５としてＤＲＡＭを用いた例を説明したが、ＤＲＡＭのほかに、たとえば、ＳＲＡＭ（Static  Random  Access  Memory）、ＦｅＲＡＭ（Ferroelectric  Random  Access  Memory）、ＰＣＭ（Phase  Change  Memory）、ＭＲＡＭ（Magnetoresistive  Random  Access  Memory）、ＲｅＲＡＭ（Resistance  Random  Access  Memory）、ＮＯＲ  Ｆｌａｓｈなど各種のランダムアクセスメモリをメインメモリ５として用いることができる。この場合、メインメモリ５の初期化に必要なコマンドはメインメモリ５として用いるメモリのインタフェースの種類によって異なるが、メモリコントローラ１００は、メインメモリ５として用いるメモリのインタフェースの種類に応じたコマンドをメインメモリ５に供給すればよい。
【００７４】
また、上述した実施形態は、メインメモリ５に接続されたメモリコントローラ１００への適用例であるが、適用されるメモリコントローラはこの例に限らず、メインメモリ５以外の他のメモリに接続されたメモリコントローラへの適用も可能である。
【００７５】
以上、具体的な例を挙げながら詳細に説明したように、本実施形態のメモリコントローラ１００によれば、消費電力の削減を図りつつ、プロセッサがメモリにデータを読み書きできるようになるまでの時間を短縮することができる。
【００７６】
以上、本発明の実施形態を説明したが、ここで説明した実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。ここで説明した新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。ここで説明した実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７７】
１  情報処理装置
５  メインメモリ
８  ＰＭＩＣ
１０  ＳｏＣ
１１  ＣＰＵ
１００  メモリコントローラ
１０３  クロック切替回路
１０４  制御信号切替回路
【図１】
2014016696.tif 000003
【図２】
2014016696.tif 000004
【図３】
2014016696.tif 000005
【図４】
2014016696.tif 000006
【図５】
2014016696.tif 000007
【図６】
2014016696.tif 000008
【図７】
2014016696.tif 000009
【図８】
2014016696.tif 000010
【図９】
2014016696.tif 000011
【図１０】
2014016696.tif 000012
【図１１】
2014016696.tif 000013
【図１２】
2014016696.tif 000014