(57)【要約】【課題】システム全体で消費電力を低減させることを目的とする。【解決手段】省電力モードで動作する機能を有する複数のメモリにアクセスするメモリ制御回路であって、メモリに対するアクセスを複数、保持するアクセス保持手段と、アクセスが複数のメモリのどれに対するものであるかをデコードするデコード手段と、デコード手段のデコードの結果と各メモリが省電力モードへ投入されているか否かの情報とからアクセス保持手段に保持されている複数のアクセスと外部からのアクセスとのリオーダを行うリオーダ手段と、を有することによって課題を解決する。【選択図】図１
2010287057.tif 000002
【特許請求の範囲】
【請求項１】
省電力モードで動作する機能を有する複数のメモリにアクセスするメモリ制御回路であって、
メモリに対するアクセスを複数、保持するアクセス保持手段と、
前記アクセスが前記複数のメモリのどれに対するものであるかをデコードするデコード手段と、
前記デコード手段のデコードの結果と各メモリが省電力モードへ投入されているか否かの情報とから前記アクセス保持手段に保持されている複数のアクセスと外部からのアクセスとのリオーダを行うリオーダ手段と、
を有する、メモリ制御回路。
【請求項２】
前記アクセス保持手段は、前記リオーダ手段の前記リオーダの結果に応じてアクセスの順番を入れ替える、請求項１記載のメモリ制御回路。
【請求項３】
前記リオーダ手段は、外部からのアクセスが省電力モードでないメモリに対するアクセスである場合、前記アクセスを、前記アクセス保持回路に保持されている省電力モードへ投入されているメモリに対するアクセスの前に登録する、請求項１又は２記載のメモリ制御回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ制御回路に関する。
【背景技術】
【０００２】
近年のＬＳＩは、チップ上にＣＰＵ以外にも多数のＩＰ（Ｉｎｔｅｌｌｅｃｔｕａｌ    Ｐｒｏｐｅｒｔｙ）を搭載し高機能化が進んでいる。また、個々のＩＰが同時にデータ処理を行おうとするためＬＳＩと同時にシステム基板上に搭載されるメモリデバイスも高速、大容量のものが多数必要となってきている。
この要求を満たすため、昨今ではＳＤＲＡＭデバイスがメモリデバイスとして用いられているが、更に高速アクセスのためにＤＤＲ−ＳＤＲＡＭ或いはＤＤＲ２−ＳＤＲＡＭ等の高速なメモリデバイスが複数個用いられている。このようなシステム、特にバッテリー駆動を前提とするシステムにおいては、システム全体での消費電力が無視できなくなってきている。
この解決方法として、特許文献１が既に公知となっている。
特許文献１では、メモリ制御回路は外部からのアクセスを一旦、アクセス保持回路にバッファリングし、蓄積された数回分のアクセスの中から、アクセスする前後での、データのハミング距離が小さくなるようにアクセスの順序を入れ替えている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１４０８５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、このような従来のメモリへのアクセスでは、メモリデバイス特有の省電力モードを活用することによる消費電力低減の概念がなく、時間的に変化するビット変化を抑制することでＩＯの消費電力を低減させている。ＬＳＩ全体の消費電力のうちＩＯ電力の占める割合が大きいためＬＳＩでの消費電力は低減できるが、システム基板や外部メモリを含めたシステム全体における消費電力の低減効果が十分ではないという問題がある。
【０００５】
本発明はこのような問題点に鑑みなされたもので、システム全体で消費電力を低減させることを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明のメモリ制御回路は、省電力モードで動作する機能を有する複数のメモリにアクセスするメモリ制御回路であって、メモリに対するアクセスを複数、保持するアクセス保持手段と、前記アクセスが前記複数のメモリのどれに対するものであるかをデコードするデコード手段と、前記デコード手段のデコード結果と各メモリが省電力モードへ投入されているか否かの情報とから前記アクセス保持手段に保持されている複数のアクセスと外部からのアクセスとのリオーダを行うリオーダ手段と、前記アクセス保持手段は、前記リオーダ手段の前記リオーダの結果に応じてアクセス順序を入れ替える。
【発明の効果】
【０００７】
本発明によれば、システム全体で消費電力を低減させることができる。
【図面の簡単な説明】
【０００８】
【図１】メモリ制御回路の概略ブロック図である。
【図２】リオーダ回路が外部からのアクセスをアクセス保持回路のどこに登録するかを決定するフローチャート（その１）である。
【図３】リオーダ回路の指示を受けてアクセス保持回路がアクセスの順番を入れ替えるフローチャートである。
【図４】メモリ制御回路の動作を説明するための波形の一例を示す図である。
【図５】リオーダ機能を無効にした場合の波形の一例を示す図である。
【図６】リオーダ回路が外部からのアクセスをアクセス保持回路のどこに登録するかを決定するフローチャート（その２）である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
【００１０】
＜第１の実施形態＞
以下、図１、図２、図３に基づき、メモリ制御回路を説明する。
図１は、メモリ制御回路の概略ブロック図である。図１にて１００は、第１の実施形態のメモリ制御回路である。２０１、２０２は、メモリ制御回路１００によってアクセスされるメモリである。１０１は、メモリ２０１、２０２を省電力モードへ投入、又は解除をする省電力モード制御回路である。１０２は、省電力モード制御回路１０１によりメモリ２０１、２０２が省電力モードに投入されているか監視する省電力モード監視回路である。１０３は、アクセスを複数保持するアクセス保持回路である。１０４は、アクセス保持回路１０３の先頭に登録されているアクセスを取り出し、メモリ２０１、２０２へアクセスするためのコマンドに変換し、発行するメモリコマンド生成回路である。１０５は、外部からのアクセスがメモリ２０１、２０２のどちらに対するものかデコードするデコード回路である。１０６は、アクセス保持回路１０３の保持する複数アクセスとデコード回路１０５のデコード結果と省電力モード監視回路１０２の情報とから外部からのアクセスをアクセス保持回路１０３のどこに登録するかを決定するリオーダ回路である。
【００１１】
図２は、リオーダ回路が外部からのアクセスをアクセス保持回路のどこに登録するかを決定するフローチャートである。図３は、リオーダ回路の指示を受けてアクセス保持回路がアクセスの順番を入れ替えるフローチャートである。図２、図３において、ＰＴＲは、アクセス保持回路１０３が保持するアクセスの数である。ＣＭＤＱは、アクセス保持回路１０３が保持するアクセスの配列である。ＰＯＳは、外部からのアクセスをＣＭＤＱのどこに登録するかを示す。
以下、図４等に基づき、メモリ制御回路の動作を説明する。
図４は、メモリ制御回路の動作を説明するための波形の一例を示す図である。図４においてＣＬＫは、メモリ制御回路１００、メモリ２０１、２０２を動作させるためのクロックである。ＰＤＷＮ［０］、ＰＤＷＮ［１］は、メモリ２０１、２０２を省電力モードに投入するための図示しない外部からのトリガ信号である。ＰＤＷＮ［０］が'Ｈ'になると省電力モード制御回路１０１は、メモリ２０１を省電力モードに投入する。また、ＰＤＷＮ［１］が'Ｈ'になると省電力モード制御回路１０１は、メモリ２０２を省電力モードに投入する。
ＣＫＥ［０］、ＣＫＥ［１］は、メモリ２０１、２０２を省電力モードにするための信号である。ＣＫＥ［０］が'Ｌ'になるとメモリ２０１は、省電力モードに投入され、ＣＫＥ［１］が'Ｌ'になるとメモリ２０２は、省電力モードに投入される。ＰＵＳＨは、外部からのアクセスをアクセス保持回路１０３に登録するための外部からのトリガ信号である。ＣＭＤ＿ＩＮは、ＰＵＳＨが'Ｈ'のときにアクセス保持回路１０３に登録される外部からのアクセスである。ＣＭＤＱ［０］〜ＣＭＤＱ［３］は、アクセス保持回路１０３に登録されているアクセスである。ＣＭＤＱ［０］から順にメモリコマンド生成回路１０４に取り出される。ＣＭＤは、メモリコマンド生成回路１０４により生成され、メモリ２０１、２０２に送信されるアクセスである。ＰＯＰは、メモリコマンド生成回路１０４がアクセス保持回路１０３から先頭のアクセスを取り出すためのトリガ信号である。ＰＯＰが'Ｈ'になるとアクセス保持回路１０３は、ＣＭＤＱを１つシフトする。
Ｔ１において、ＰＤＷＮ＿ＥＮ［１］が'Ｈ'であるため省電力モード制御回路１０１はＣＫＥ［１］を'Ｌ'にする。
【００１２】
Ｔ２において、ＣＫＥ［１］が'Ｌ'であるためメモリ２０２は省電力モードへ移行する。
Ｔ３〜Ｔ８において、ＰＵＳＨが'Ｈ'となりアクセスＡ〜ＦがＣＭＤ＿ＩＮとしてアクセス保持回路１０３に入力される。ここではアクセスＣ、Ｅがメモリ２０２へのアクセスであり、それ以外はメモリ２０１へのアクセスであるものとする。
Ｔ３において、ＰＵＳＨが'Ｈ'となりアクセスＡがアクセス保持回路１０３に入力される。このときデコード回路１０５は、アクセスＡがメモリ２０１へのアクセスであることを算出し、リオーダ回路１０６に通知する。リオーダ回路１０６は、図２の処理に基づいてアクセスＡがアクセス保持回路１０３のどこに登録されるかを示すＰＯＳを生成する。ここではメモリ２０１は、省電力モードではなく、ＰＴＲ＝０であるため、ＰＯＳ＝０となる。これを受けてアクセス保持回路１０３はアクセスＡをＣＭＤＱ［０］に登録する。
Ｔ４において、ＰＵＳＨが'Ｈ'となりアクセスＢがアクセス保持回路１０３に入力される。このときデコード回路１０５は、アクセスＢがメモリ２０１へのアクセスであることを算出し、リオーダ回路１０６に通知する。リオーダ回路１０６は、図２の処理に基づいてアクセスＢがアクセス保持回路１０３のどこに登録されるかを示すＰＯＳを生成する。ここではメモリ２０１は、省電力モードではなく、ＰＴＲ＝１であるため、ＰＯＳ＝１となる。これを受けてアクセス保持回路１０３はアクセスＢをＣＭＤＱ［１］に登録する。
Ｔ５において、アクセスＡがメモリ２０１に発行されてＰＯＰが'Ｈ'となる。またＰＵＳＨが'Ｈ'となりアクセスＣがアクセス保持回路１０３に入力される。このときデコード回路１０５は、アクセスＣがメモリ２０２へのアクセスであることを算出し、リオーダ回路１０６に通知する。リオーダ回路１０６は、図２の処理に基づいてアクセスＣがアクセス保持回路１０３のどこに登録されるかを示すＰＯＳを生成する。ここではメモリ２０２は省電力モードであり、ＰＴＲ＝２であるため、ＰＯＳ＝２となる。これを受けてアクセス保持回路１０３は、アクセスＣをＣＭＤＱ［２］に登録する。しかしながら、同時にＰＯＰが'Ｈ'となっているため、アクセス保持回路１０３は、ＣＭＤＱを１つシフトし、アクセスＢがＣＭＤＱ［０］に、アクセスＣがＣＭＤＱ［１］に登録する。
【００１３】
Ｔ６において、ＰＵＳＨが'Ｈ'となりアクセスＤがアクセス保持回路１０３に入力される。このときデコード回路１０５は、アクセスＤがメモリ２０１へのアクセスであることを算出し、リオーダ回路１０６に通知する。リオーダ回路１０６は、図２の処理に基づいてアクセスＤがアクセス保持回路１０３のどこに登録されるかを示すＰＯＳを生成する。ここではメモリ２０１は、省電力モードではなく、ＰＴＲ＝２であり、ＣＭＤＱ［１］のアクセスＣが省電力モードのメモリ２０２へのアクセスであるため、ＰＯＳ＝１となる。これを受けてアクセス保持回路１０３はアクセスＣをＣＭＤＱ［１］からＣＭＤＱ［２］へシフトし、アクセスＤをＣＭＤＱ［１］に登録する。
Ｔ７において、アクセスＢがメモリ２０１に発行されてＰＯＰが'Ｈ'となる。またＰＵＳＨが'Ｈ'となりアクセスＥがアクセス保持回路１０３に入力される。このときデコード回路１０５は、アクセスＥがメモリ２０２へのアクセスであることを算出し、リオーダ回路１０６に通知する。リオーダ回路１０６は図２の処理に基づいてアクセスＥがアクセス保持回路１０３のどこに登録されるかを示すＰＯＳを生成する。ここではメモリ２０２は省電力モードであり、ＰＴＲ＝３であるため、ＰＯＳ＝３となる。これを受けてアクセス保持回路１０３は、アクセスＣをＣＭＤＱ［３］に登録するが、同時にＰＯＰが'Ｈ'となっているため、ＣＭＤＱは１つシフトされ、アクセスＥはＣＭＤＱ［２］に登録される。
【００１４】
Ｔ８において、ＰＵＳＨが'Ｈ'となりアクセスＦがアクセス保持回路１０３に入力される。このときデコード回路１０５は、アクセスＦがメモリ２０１へのアクセスであることを算出し、リオーダ回路１０６に通知する。リオーダ回路１０６は、図２の処理に基づいてアクセスＦがアクセス保持回路１０３のどこに登録されるかを示すＰＯＳを生成する。ここではメモリ２０１は省電力モードではなく、ＰＴＲ＝３であり、ＣＭＤＱ［１］とＣＭＤＱ［２］のアクセスＣ、アクセスＥが省電力モードのメモリ２０２へのアクセスであるため、ＰＯＳ＝１となる。これを受けてアクセス保持回路１０３は、アクセスＣ、アクセスＥをＣＭＤＱ［２］、ＣＭＤＱ［３］へシフトし、アクセスＦをＣＭＤＱ［１］に登録する。
Ｔ９、Ｔ１１において、アクセスＤ、アクセスＦがメモリ２０１に発行される。
Ｔ１２において、アクセスＣがアクセス保持回路１０３の先頭になり、省電力モード制御回路１０１は、メモリ２０２の省電力モードを解除する。つまりＣＫＥ［１］を'Ｈ'にする。
Ｔ１３において、メモリ２０２はＣＫＥ［１］が'Ｈ'になったことを検知し、省電力モードから抜ける。
Ｔ１６において、メモリコマンド生成回路１０４は、メモリ２０２が省電力モードから復帰するのを待ってアクセスＣを発行する。ここではメモリの省電力モードからの復帰サイクルを３サイクルとしている。
Ｔ１８において、アクセスＥがメモリ２０２に発行される。
図５にリオーダ機能を無効にした場合の波形を示す。図５ではメモリ２０２が省電力モードに投入されている時間が６サイクルであるのに対して、リオーダ機能を有効にした図４では１１サイクルに延長される。
【００１５】
＜第２の実施形態＞
第１の実施形態では省電力モードのメモリに対するアクセスは必ず省電力モードでないメモリに対するアクセスに追い越されるものとした。しかしながら、省電力モードであるメモリに対するアクセス性能を考慮し、１つのアクセスが他のアクセスに追い越される回数の上限を設けてもよい。
例えば、アクセス保持回路１０３は、アクセスごとのカウンタを持ち、追い越された回数をそれぞれカウントする。カウント値が一定回数に達するとその旨をリオーダ回路１０６に通知する。リオーダ回路１０６は、カウント値が一定回数に達したアクセスは他のアクセスによって追い越されないようにＰＯＳを生成する。このときのリオーダ回路１０６がアクセスをアクセス保持回路１０３のどこに登録するかを決定する処理の一例を図６に示す。これにより一定回数追い越しされたアクセスはそれ以上他のアクセスによって追い越されないように制限することができる。
【００１６】
＜第３の実施形態＞
第１の実施形態では省電力モードのメモリに対するアクセスは必ず省電力モードでないメモリに対するアクセスに追い越されるものである。省電力モードであるメモリに対するアクセス性能を考慮し、１つのアクセスがアクセス保持回路１０３に登録されてから一定時間経過した場合は他のアクセスに追い越されないよう時間の上限を設けてもよい。
例えば、アクセス保持回路１０３は、アクセスごとのカウンタを持ち、アクセス保持回路１０３に登録されてからのサイクル数をカウントする。カウント値が一定回数に達するとその旨をリオーダ回路１０６に通知する。リオーダ回路１０６は、カウント値が一定回数に達したアクセスは他のアクセスによって追い越されないようにＰＯＳを生成する。このときのリオーダ回路１０６がアクセスをアクセス保持回路１０３のどこに登録するかを決定する処理は第２の実施形態で示した図６と同じである。これによりアクセス保持回路１０３に登録されてから一定時間経過したアクセスはそれ以上他のアクセスによって追い越されないように制限することができる。
【００１７】
以上、上述した各実施形態によれば、複数のメモリデバイスに接続されるメモリ制御回路において、省電力モードに投入されたメモリに対するアクセスの処理優先度を下げる。このことにより長い時間メモリを省電力モードに投入しておくことができ、システム全体で消費電力を低減させることができる。
【００１８】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００１９】
１００  メモリ制御回路
【図１】
2010287057.tif 000003
【図２】
2010287057.tif 000004
【図３】
2010287057.tif 000005
【図４】
2010287057.tif 000006
【図５】
2010287057.tif 000007
【図６】
2010287057.tif 000008