(57)【要約】【課題】リフレッシュを行う専用回路を不要とする。【解決手段】データ保持のためのリフレッシュを必要とするＳＤＲＡＭ１５と、ＳＤＲＡＭ１５をバスを介して共有するＣＰＵ１１、１２と、ＣＰＵ１１、１２がＳＤＲＡＭ１５をアクセスしようとするときに出力するバス要求信号を受け取り、バスの使用を許可するときにバス許可信号を許可を行うＣＰＵに対して送出する調停部１３と、調停部１３によってＣＰＵ１１、１２のうちでバスの使用を許可するとされたＣＰＵから送られてきたＳＤＲＡＭ１５へのアクセス用データを選択する選択部１４と、を備え、バスの使用を許可するとされたＣＰＵは、少なくともＳＤＲＡＭ１５のリフレッシュ周期以内にＳＤＲＡＭ１５に対してリフレッシュに必要とされるアクセスを行う。【選択図】図１
2009157576.tif 000002
【特許請求の範囲】
【請求項１】
データ保持のためのリフレッシュを必要とするメモリと、
前記メモリをバスを介して共有する複数の処理部と、
前記複数の処理部が前記メモリをアクセスしようとするときに出力するバス要求信号を受け取り、バスの使用を許可するときにバス許可信号を許可を行う処理部に対して送出する調停部と、
前記調停部によって前記複数の処理部のうちでバスの使用を許可するとされた処理部から送られてきた前記メモリへのアクセス用データを選択する第１の選択部と、
を備え、
前記バスの使用を許可するとされた処理部は、少なくとも前記メモリのリフレッシュ周期以内に前記メモリに対してリフレッシュに必要とされるアクセスを行うことを特徴とするメモリ制御回路。
【請求項２】
前記メモリの電源投入時の初期設定を行う初期設定用データを発生させる初期設定サイクル発生部と、
前記メモリの電源投入時に前記初期設定用データを選択すると共に、前記メモリの初期設定が終了した時点で前記第１の選択部から送られてくる前記アクセス用データを選択して前記メモリに供給する第２の選択部と、
をさらに備えることを特徴とする請求項１記載のメモリ制御回路。
【請求項３】
前記アクセス用データおよび初期設定用データは、前記メモリのアドレス、コマンドに係るデータを含むことを特徴とする請求項２記載のメモリ制御回路。
【請求項４】
前記アクセス用データおよび初期設定用データに含まれるアドレスのデータを前記メモリのアドレスに変換するアドレス変換部を備えることを特徴とする請求項３記載のメモリ制御回路。
【請求項５】
前記メモリは、ロウアドレスとカラムアドレスとによってアドレスが指定されるＤＲＡＭであって、
前記アドレス変換部は、前記アクセス用データおよび初期設定用データに含まれるアドレスを前記ロウアドレスに変換することを特徴とする請求項４記載のメモリ制御回路。
【請求項６】
データ保持のためのリフレッシュを必要とするメモリと、このメモリをバスを介して共有する複数の処理部とを備えるメモリ制御回路における方法であって、
前記複数の処理部が前記メモリをアクセスしようとするときに出力するバス要求信号を受け取り、バスの使用を許可するときにバス許可信号を許可を行う処理部に対して送出するステップと、
前記複数の処理部のうちでバスの使用を許可するとされた処理部から送られてきた前記メモリへのアクセス用データを選択するステップと、
前記バスの使用を許可するとされた処理部は、少なくとも前記メモリのリフレッシュ周期以内に前記メモリに対してリフレッシュに必要とされるアクセスを行うステップと、
を含むことを特徴とするメモリ制御方法。
【請求項７】
前記メモリの電源投入時の初期設定を行う初期設定用データを発生させるステップと、
前記メモリの電源投入時に前記初期設定用データを選択すると共に、前記メモリの初期設定が終了した時点で前記アクセス用データを選択して前記メモリに供給するステップと、
をさらに含むことを特徴とする請求項６記載のメモリ制御方法。
【請求項８】
前記アクセス用データおよび初期設定用データは、前記メモリのアドレス、コマンドに係るデータを含むことを特徴とする請求項７記載のメモリ制御方法。
【請求項９】
前記アクセス用データおよび初期設定用データに含まれるアドレスのデータを前記メモリのアドレスに変換するステップを含むことを特徴とする請求項８記載のメモリ制御方法。
【請求項１０】
前記メモリは、ロウアドレスとカラムアドレスとによってアドレスが指定されるＤＲＡＭであって、
前記メモリのアドレスに変換するステップにおいて、前記アクセス用データおよび初期設定用データに含まれるアドレスを前記ロウアドレスに変換することを特徴とする請求項９記載のメモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ制御回路およびメモリ制御方法に係り、特に、リフレッシュを必要とするメモリに対するメモリ制御回路およびメモリ制御方法に係る。
【背景技術】
【０００２】
ＤＲＡＭ（Dynamic Random Access Memory）あるいはＳＤＲＡＭ（Synchronous DRAM）等のある種の半導体メモリは、トランジスタとそれに付随するキャパシタを用いてデータの記憶を行っている。このため、所定のリフレッシュサイクルでリフレッシュを行い、データを保持することが必要である。このようなメモリは、複数のＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）によって共有される場合がある。このような場合には、従来からデュアル・ポートＲＡＭ（ランダム・アクセス・メモリ）が使用されていた。
【０００３】
ところが、デュアル・ポートＲＡＭは高価であるだけでなく、ポート端子数の増加によって配線量も多くなり、メモリを搭載した基板の小型化に問題が生じる。そこで、シングル・ポートを有する通常のＲＡＭを複数のＣＰＵが共有すると共に、バスの使用権を獲得できなかったＣＰＵのバスサイクルを一時的に待機させるようにしたメモリ制御回路が提案されている。
【０００４】
例えば、特許文献１には、メモリを共有して使用するＣＰＵやＤＳＰといった複数の処理手段がメモリの使用について競合するとき、競合により使用を待機している処理手段のために無駄な電力を消費させないメモリ制御回路が開示されている。ここでメモリは、データ保持のためにリフレッシュを必要とし、リフレッシュを周期的に要求するリフレッシュタイマ手段、およびリフレッシュ用のデータを発生させるリフレッシュ用データ発生手段が備えられている。
【０００５】
また、関連する技術として、特許文献２には、ＣＰＵとアクセラレータが連携して動作する際に発生するメモリアクセスでのデータ連携によるボトルネックを最小限に抑えて、マルチメディア処理性能を高めることができるマイクロコンピュータが開示されている。
【０００６】
【特許文献１】特開２００５−２５８５８７号公報
【特許文献２】特開２００６−６５８５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
以下の分析は本発明において与えられる。
【０００８】
電子機器の高機能化、小型化、省電力化に伴い、ＩＣ部品が搭載される基板の実装密度は高くなり、搭載部品点数の減少、回路の簡素化が望まれている。複数のＣＰＵとメモリが搭載されるシステムにおいても同様であって、少しでも回路規模を削減することが望まれる。このような観点から見れば、特許文献１に記載のメモリ制御回路にあって、リフレッシュを行う専用の制御回路は、省略可能であれば好ましい回路といえる。
【０００９】
したがって、本発明の目的は、リフレッシュを行う専用回路を不要とするメモリ制御回路およびメモリ制御方法を提供することにある。
【課題を解決するための手段】
【００１０】
本発明の１つのアスペクト（側面）に係るメモリ制御回路は、データ保持のためのリフレッシュを必要とするメモリと、メモリをバスを介して共有する複数の処理部と、複数の処理部がメモリをアクセスしようとするときに出力するバス要求信号を受け取り、バスの使用を許可するときにバス許可信号を許可を行う処理部に対して送出する調停部と、調停部によって複数の処理部のうちでバスの使用を許可するとされた処理部から送られてきたメモリへのアクセス用データを選択する第１の選択部と、を備え、バスの使用を許可するとされた処理部は、少なくともメモリのリフレッシュ周期以内にメモリに対してリフレッシュに必要とされるアクセスを行う。
【００１１】
本発明のメモリ制御回路において、メモリの電源投入時の初期設定を行う初期設定用データを発生させる初期設定サイクル発生部と、メモリの電源投入時に初期設定用データを選択すると共に、メモリの初期設定が終了した時点で第１の選択部から送られてくるアクセス用データを選択してメモリに供給する第２の選択部と、をさらに備えるようにしてもよい。
【００１２】
本発明のメモリ制御回路において、アクセス用データおよび初期設定用データは、メモリのアドレス、コマンドに係るデータを含んでもよい。
【００１３】
本発明のメモリ制御回路において、アクセス用データおよび初期設定用データに含まれるアドレスのデータをメモリのアドレスに変換するアドレス変換部を備えるようにしてもよい。
【００１４】
本発明のメモリ制御回路において、メモリは、ロウアドレスとカラムアドレスとによってアドレスが指定されるＤＲＡＭであって、アドレス変換部は、アクセス用データおよび初期設定用データに含まれるアドレスをロウアドレスに変換するようにしてもよい。
【００１５】
本発明の他のアスペクト（側面）に係るメモリ制御方法は、データ保持のためのリフレッシュを必要とするメモリと、このメモリをバスを介して共有する複数の処理部とを備えるメモリ制御回路における方法であって、複数の処理部がメモリをアクセスしようとするときに出力するバス要求信号を受け取り、バスの使用を許可するときにバス許可信号を許可を行う処理部に対して送出するステップと、複数の処理部のうちでバスの使用を許可するとされた処理部から送られてきたメモリへのアクセス用データを選択するステップと、バスの使用を許可するとされた処理部は、少なくともメモリのリフレッシュ周期以内にメモリに対してリフレッシュに必要とされるアクセスを行うステップと、を含む。
【発明の効果】
【００１６】
本発明によれば、リフレッシュを行う専用の制御回路を不要とし、回路規模を削減することができる。
【発明を実施するための最良の形態】
【００１７】
本発明の実施形態に係るメモリ制御回路は、データ保持のためのリフレッシュを必要とするメモリ（図１の１５）と、メモリをバスを介して共有する複数のＣＰＵ（図１の１１、１２）と、複数のＣＰＵがメモリをアクセスしようとするときに出力するバス要求信号を受け取り、バスの使用を許可するときにバス許可信号を許可を行うＣＰＵに対して送出する調停部（図１の１３）と、調停部によって複数のＣＰＵのうちでバスの使用を許可するとされたＣＰＵから送られてきたメモリへのアクセス用データを選択する第１の選択部（図１の１４）と、を備える。バスの使用を許可するとされたＣＰＵは、少なくともメモリのリフレッシュ周期以内にメモリに対してリフレッシュに必要とされるアクセスを行う。
【００１８】
このようなメモリ制御回路は、ＣＰＵがメモリに対してリフレッシュに必要とされるアクセスを行うので、リフレッシュを行う専用の制御回路を不要とし、回路規模を削減することができる。以下、実施例に即し、図面を参照して詳しく説明する。
【実施例１】
【００１９】
図１は、本発明の実施例に係るメモリ制御回路の構成を示す図である。図１において、メモリ制御回路は、ＣＰＵ１１、１２、調停部１３、選択部１４、ＳＤＲＡＭ１５、アドレス変換部１６を備える。また、アドレス変換部１６は、アドレス変換部６１、初期設定サイクル発生部６２、選択部６３を備える。
【００２０】
ＣＰＵ１１は、ＳＤＲＡＭ１５にアクセスするためのバス要求信号ｒｑ１を調停部１３に対して出力し、バス許可信号ａｋ１の入力によってＳＤＲＡＭ１５に対するアドレスａｄ１、コマンドｃｍ１を選択部１４に出力すると共に、ライトアクセス時にはライトデータｗｄ１を選択部１４に出力し、リードアクセス時にはリードデータｒｄをＳＤＲＡＭ１５から入力する。
【００２１】
同様に、ＣＰＵ１２は、ＳＤＲＡＭ１５にアクセスするためのバス要求信号ｒｑ２を調停部１３に対して出力し、バス許可信号ａｋ２の入力によってＳＤＲＡＭ１５に対するアドレスａｄ２、コマンドｃｍ２を選択部１４に出力すると共に、ライトアクセス時にはライトデータｗｄ２を選択部１４に出力し、リードアクセス時にはリードデータｒｄをＳＤＲＡＭ１５から入力する。
【００２２】
調停部１３は、電源投入後、アドレス変換部１６から初期設定終了信号ｉｎｉが入力されるとそれ以降はＣＰＵ１１から入力されるバス要求信号ｒｑ１とＣＰＵ１２から入力されるバス要求信号ｒｑ２とを調停し、どちらか一方にバス許可信号ａｋ１あるいはバス許可信号ａｋ２を出力する。また、調停結果に応じた選択信号ｓｌ１を選択部１４に出力する。
【００２３】
選択部１４は、ＣＰＵ１１から出力されるアドレスａｄ１、コマンドｃｍ１、ライトデータｗｄ１、またはＣＰＵ１２から出力されるアドレスａｄ２、コマンドｃｍ２、ライトデータｗｄ２の一方の組を、調停部１３から出力される選択信号ｓｌ１の論理に従って選択し、それぞれアドレスａｄ３、コマンドｃｍ３、ライトデータｗｄ３としてアドレス変換部１６に出力する。
【００２４】
ＳＤＲＡＭ１５は、リフレッシュを必要とされるＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）であって、アドレス変換部１６から出力されるアドレスａｄ４、コマンドｃｍ４、ライトデータｗｄ４に従い、初期設定、ライトサイクル、リードサイクルのいずれかを実行する。
【００２５】
アドレス変換部１６は、電源投入後、初期設定サイクル発生部６２によって初期設定サイクルを発生させ、その終了後、初期設定終了信号ｉｎｉを調停部１３に出力し、その後は、選択部１４から入力するアドレスａｄ３に対してＳＤＲＡＭ１５のロウアドレスを優先的に使うアドレス変換を行ったアドレス、コマンドｃｍ３、ライトデータｗｄ３を、それぞれアドレスａｄ４、コマンドｃｍ４、ライトデータｗｄ４としてＳＤＲＡＭ１５に出力する。
【００２６】
図２は、アドレス変換部１６の構成の詳細を示す図である。
【００２７】
アドレス変換部６１は、アドレスａｄ３に対しロウアドレスから使われるようにアドレスを変換してアドレスａｄ５として選択部６３に出力する。
【００２８】
初期設定サイクル発生部６２は、電源投入後、初期設定信号としてアドレスａｄ６、コマンドｃｍ６、ライトデータｗｄ６、選択信号ｓｌ２を出力し、その終了時、初期設定終了信号ｉｎｉをアサート（”Ｌ”アクティブ）する。
【００２９】
選択部６３は、アドレス変換部６１から出力されるアドレスａｄ５及び選択部１４から出力されるコマンドｃｍ３、ライトデータｗｄ３、あるいは、初期設定サイクル発生部６２から出力されるアドレスａｄ６、コマンドｃｍ６、ライトデータｗｄ６のどちらか一組を、選択信号ｓｌ２に応じて選択し、それぞれアドレスａｄ４、コマンドｃｍ４、ライトデータｗｄ４として出力する。
【００３０】
次に、メモリ制御回路の動作について、調停部１３、選択部１４、アドレス変換部１６を中心に説明する。
【００３１】
先ず、図３を用いて電源投入後の調停部１３の動作について説明する。初期設定終了信号ｉｎｉのアサート（”Ｌ”アクティブ）によって、ＣＰＵ１１とＣＰＵ１２からＳＤＲＡＭ１５へのアクセスが可能になる。図３では、バス要求信号ｒｑ１がアサート（”Ｌ”アクティブ）されており、初期設定終了信号ｉｎｉのアサートによってバス許可信号ａｋ１がアサート（”Ｌ”アクティブ）される。また、ＣＰＵ１１がＳＤＲＡＭ１５にアクセス中、ＣＰＵ１２からバス要求信号ｒｑ２がアサート（”Ｌ”アクティブ）されているが、ＣＰＵ１１のアクセス終了を待って、バス許可信号ａｋ２がアサート（”Ｌ”アクティブ）され、同時に選択信号ｓｌ１も“Ｈ”に変化する。
【００３２】
続いて、図４を用いてＣＰＵ１１とＣＰＵ１２のバス要求が競合した場合の動作について説明する。バス要求信号ｒｑ１とバス要求信号ｒｑ２が同時にアサートされた場合、どちらか一方に対してバス許可信号をアサートする。図４では、ＣＰＵ１１からのバス要求信号ｒｑ１に対してバス許可信号ａｋ１をアサートしている。ＣＰＵ１２に対しては、ＣＰＵ１１のバスサイクル終了後、バス許可信号ａｋ２がアサートされる。
【００３３】
次に、選択部１４の動作について説明する。図５は、選択部１４における入出力間の真理値表である。選択部１４は、図５（Ａ）に示すように、ＣＰＵ１１及びＣＰＵ１２からそれぞれ出力されるアドレスａｄ１及びアドレスａｄ２の一方を選択信号ｓｌ１によって選択し、アドレスａｄ３として出力する。また、選択部１４は、図５（Ｂ）に示すように、ＣＰＵ１１及びＣＰＵ１２からそれぞれ出力されるライトデータｗｄ１及びライトデータｗｄ２の一方を選択信号ｓｌ１によって選択し、ライトデータｗｄ３として出力する。さらに、選択部１４は、図５（Ｃ）に示すように、ＣＰＵ１１及びＣＰＵ１２からそれぞれ出力されるコマンドｃｍ１及びコマンドｃｍ２の一方を選択信号ｓｌ１によって選択し、コマンドｃｍ３として出力する。
【００３４】
さらに、アドレス変換部６１の動作について説明する。図６は、アドレス変換部６１におけるアドレス変換規則を表す図である。アドレス変換部６１は、選択部１４から出力されるアドレスａｄ３を先ずロウアドレスが一巡するように変換する。図６において、ロウアドレスが１３ｂｉｔ、カラムアドレスが９ｂｉｔであるＳＤＲＡＭ１５に対して、ＣＰＵからのアドレスが０、１、２、３、・・・と順次変化した場合の例を示す。ロウアドレスが０ｈから１ＦＦＦｈまでを優先的に使用している。カラムアドレスの変換ルールは特に問わない。
【００３５】
次に、選択部６３の動作について説明する。図７は、選択部６３における入出力間の真理値表である。選択部６３は、図７（Ａ）に示すようにアドレス変換部６１から出力されるアドレスａｄ５と初期設定サイクル発生部６２から出力されるアドレスａｄ６とを初期設定サイクル選択信号ｓｌ２によって選択し、アドレスａｄ４として出力する。また、選択部６３は、図７（Ｂ）に示すように選択部１４から出力されるライトデータｗｄ３または初期設定サイクル発生部６２から出力されるライトデータｗｄ６を初期設定サイクル選択信号ｓｌ２によって選択し、ライトデータｗｄ４として出力する。さらに、選択部６３は、図７（Ｃ）に示すように選択部１４から出力されるコマンドｃｍ３または初期設定サイクル発生部６２から出力されるコマンドｃｍ６を初期設定サイクル選択信号ｓｌ２によって選択し、コマンドｃｍ４として出力する。
【００３６】
最後に、図８を用いてメモリ制御回路の動作について説明する。電源投入後、初期設定サイクル発生部６２で初期設定サイクルが実行され、その終了後、通常状態になる。ここでｔＲＥＦは、リフレッシュ周期であって、ｔＲＥＦ時間内に、データ保持のためリフレッシュを実行するか、全てのロウアドレスにアクセスする必要がある。ここで、ＣＰＵ１１からＣＰＵ１２にｔＲＥＦ時間内、ロウアドレス以上のアクセスを必要とするＳＤＲＡＭ１５を介したデータ受け渡しがあったとする。先ず、初期設定完了後、ＣＰＵ１１によるライト動作（ＷＲ）が行われる。ライト動作によるアクセスは、ＳＤＲＡＭ１５の全てのロウアドレスが使われるようにアドレス変換部６１でアドレス変換され、ＳＤＲＡＭ１５にアクセスする。その後、ＣＰＵ１２によるリード動作（ＲＤ）も同一アドレスに対して行われ、同様にアドレス変換部６１でアドレス変換され、ＳＤＲＡＭ１５にアクセスする。
【００３７】
ｔＲＥＦ時間内にこれを繰り返すことで、リフレッシュサイクルを実行することなく、通常の使用が可能である。なお、ＣＰＵ１１からのＷＲが無い場合であっても、ＣＰＵ１２のＲＤは、必須であり、必ずｔＲＥＦ時間内にロウアドレス以上のアクセスを行うことで、ＳＤＲＡＭ１５のデータの保持が保証される。
【００３８】
なお、以上の説明において、処理部をＣＰＵとして説明したが、ＣＰＵに限定されず、ＤＳＰなどの処理装置であってもよい。
【００３９】
以上のようなメモリ制御回路によれば、リフレッシュサイクルを発生する専用の回路及びそのための調停回路が不要である。
【００４０】
特にＣＰＵが周期的にＳＤＲＡＭにアクセスするようなアプリケーションを実行する場合、データ保持のためのリフレッシュを特に行うことなく、ＳＤＲＡＭのデータが保持され、パフォーマンスの向上につながる。例えば、ＳＤＲＡＭがビデオＲＡＭの機能やストリーミングデータ用のバッファを担う場合、ＣＰＵが周期的にＳＤＲＡＭにアクセスするので、リフレッシュが不要である。
【産業上の利用可能性】
【００４１】
本発明の利用分野として、複数のＣＰＵやＤＳＰが搭載され、その間のデータ転送用にメモリが搭載されるシステム、例えばビデオＲＡＭの機能やストリーミングデータ用のバッファに適用することができる。
【００４２】
なお、前述の特許文献等の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【図面の簡単な説明】
【００４３】
【図１】本発明の実施例に係るメモリ制御回路の構成を示す図である。
【図２】アドレス変換部の構成の詳細を示す図である。
【図３】電源投入後の調停部の動作を示すタイムチャートである。
【図４】２つのＣＰＵのバス要求が競合した場合の動作を示すタイムチャートである。
【図５】選択部における入出力間の真理値表である。
【図６】アドレス変換部におけるアドレス変換規則を表す図である。
【図７】選択部における入出力間の真理値表である。
【図８】メモリ制御回路の動作についてのタイムチャートである。
【符号の説明】
【００４４】
１１、１２  ＣＰＵ
１３  調停部
１４、６３  選択部
１５  ＳＤＲＡＭ
１６、６１  アドレス変換部
６２  初期設定サイクル発生部
【図１】
2009157576.tif 000003
【図２】
2009157576.tif 000004
【図３】
2009157576.tif 000005
【図４】
2009157576.tif 000006
【図５】
2009157576.tif 000007
【図６】
2009157576.tif 000008
【図７】
2009157576.tif 000009
【図８】
2009157576.tif 000010