(57)【要約】【課題】  ＤＲＡＭアクセスを用いるシステムにおいて、リアルタイム処理を必要とするシステムを破綻させない制御を行うこと。【解決手段】  第一、第二のＤＲＡＭ、第一、第二のＤＲＡＭ−ＰＨＹ、温度センサ、メモリコントローラ、第一、第二のマスタ、を備えた半導体装置であって、第一、第二のマスタは第一、第二のＤＲＡＭ−ＰＨＹにアクセス可能であり、メモリコントローラは各マスタから各ＤＲＡＭ−ＰＨＹへのアクセス制御を行い、半導体装置の温度変化が検知された場合、メモリコントローラは第一、第二のＤＲＡＭへリトレーニングの命令を発行し、第一のマスタは第一のＤＲＡＭへ、第二のマスタは第二のＤＲＡＭへ優先アクセスするが、第一のＤＲＡＭがアクセスできない期間は第一のマスタは第二のＤＲＡＭへアクセス要求し、第一、第二のマスタから同時に第二のＤＲＡＭへアクセス要求があった場合、メモリコントローラは第一のマスタからの要求を優先する。【選択図】図１
2020087053.tif 000002
【特許請求の範囲】
【請求項１】
第一のＤＲＡＭ、第二のＤＲＡＭ、第一のＤＲＡＭ−ＰＨＹ、第二のＤＲＡＭ−ＰＨＹ、温度センサ、メモリコントローラ、第一のマスタ、第二のマスタ、を備えた半導体装置であって、
第一のマスタおよび第二のマスタは第一のＤＲＡＭ−ＰＨＹ、第二のＤＲＡＭ−ＰＨＹにアクセス可能なマスタであり、メモリコントローラは、各マスタから各ＤＲＡＭ−ＰＨＹへのアクセス制御を行い、
温度センサによって半導体装置の温度変化が検知された場合、メモリコントローラは第一のＤＲＡＭおよび第二のＤＲＡＭへリトレーニングの命令を発行し、
第一のマスタは、第一のＤＲＡＭへ優先的にアクセスするが、第一のＤＲＡＭがアクセスできない期間中は第二のＤＲＡＭへアクセスを要求し、
第二のマスタは、第二のＤＲＡＭへ優先的にアクセスするが、第二のＤＲＡＭがアクセスできない期間中および第一のマスタから第二のＤＲＡＭへアクセス要求があった場合は自身のアクセス処理を後ろ倒し、
第一のマスタおよび第二のマスタから同時に第二のＤＲＡＭへアクセス要求があった場合、メモリコントローラは第一のマスタからの要求を優先することを特徴とする半導体装置。
【請求項２】
第一のマスタとは、リアルタイム処理が求められる回路であり、第二のメモリマスタとはリアルタイム処理が求められない回路であることを特徴とする請求項１に記載の半導体装置。
【請求項３】
メモリコントローラは、温度センサで検知する温度変化がある一定値より大きい場合はリトレーニングの間隔を狭くし、温度センサで検知する温度変化がある一定値より小さい場合はリトレーニングの間隔を広くする、または停止することを特徴とする請求項１又は請求項２に記載の半導体装置。
【請求項４】
メモリコントローラは、各ＤＲＡＭのリトレーニングタイミングが重ならないように、リトレーニング時期を時間分散させることを特徴とする請求項１乃至請求項３の何れか一項に記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に関し、特に半導体装置のメモリアクセス制御に関する。
【背景技術】
【０００２】
半導体装置に一般的に用いられているメモリであるＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）は、その特性から定期的にアクセスできない期間が発生してしまう。
【０００３】
例えばＤＲＡＭはリーク電流によって記憶している内容が徐々に失われてしまうのを防ぐために、定期的にリフレッシュという動作をさせる必要がある。リフレッシュ期間中、ＤＲＡＭアクセスができないことがある。
【０００４】
また、ＤＲＡＭの温度が変化すると、トランジスタの特性変化のためにＤＲＡＭの動作タイミングが変化しＤＲＡＭが動作不良を起こすことがあるが、これを防ぐために定期的にリトレーニングというタイミング調整を行わなければいけない。このリトレーニング期間中も、ＤＲＡＭアクセスができないことがある。
【０００５】
この問題に対して、特許文献１には、ＤＲＡＭの温度をモニタし、温度に応じてリフレッシュ間隔を変更することで、アクセスできない期間を増大させないための技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１６−４８５９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載の技術では、ＤＲＡＭアクセスできない期間が絶対的に生じることによってリアルタイム処理が間に合わなくなってしまうことについて考慮されていない。例えば撮像装置における動画の記録処理や表示処理等、リアルタイム性が求められる処理は、ＤＲＡＭアクセスできない期間が生じてしまうことによって処理が間に合わなくなり、システムが破綻してしまう可能性がある。
【０００８】
そこで本発明は、ＤＲＡＭアクセスを用いるシステムにおいて、リアルタイム処理を必要とするシステムを破綻させないメモリアクセス制御を行うことを目的とする。
【課題を解決するための手段】
【０００９】
上記の目的を達成するために、本発明に係る半導体装置は、
第一のＤＲＡＭ、第二のＤＲＡＭ、第一のＤＲＡＭ−ＰＨＹ、第二のＤＲＡＭ−ＰＨＹ、温度センサ、メモリコントローラ、第一のマスタ、第二のマスタを備えた半導体装置であって、第一のマスタおよび第二のマスタは第一のＤＲＡＭ−ＰＨＹ、第二のＤＲＡＭ−ＰＨＹにアクセス可能なマスタであり、メモリコントローラは、各マスタから各ＤＲＡＭ−ＰＨＹへのアクセス制御を行い、温度センサによって半導体装置の温度変化が検知された場合、メモリコントローラは第一のＤＲＡＭおよび第二のＤＲＡＭへリトレーニングの命令を発行し、第一のマスタは、第一のＤＲＡＭへ優先的にアクセスするが、第一のＤＲＡＭがアクセスできない期間中は第二のＤＲＡＭへアクセスを要求し、第二のマスタは、第二のＤＲＡＭへ優先的にアクセスするが、第二のＤＲＡＭがアクセスできない期間中および第一のマスタから第二のＤＲＡＭへアクセス要求があった場合は自身のアクセス処理を後ろ倒し、第一のマスタおよび第二のマスタから同時に第二のＤＲＡＭへアクセス要求があった場合、メモリコントローラは第一のマスタからの要求を優先することを特徴とする。
【発明の効果】
【００１０】
本発明に係る半導体装置によれば、ＤＲＡＭアクセスを用いるシステムにおいて、リアルタイム処理を必要とするシステムを破綻させないメモリアクセス制御を行うことができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施例１における半導体装置１００の全体図
【図２】半導体装置１００の温度変化とリトレーニング間隔の関係について示した図
【図３】半導体装置１００の各ＤＲＡＭへのアクセスについて示した図
【発明を実施するための形態】
【００１２】
以下に、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。
【実施例１】
【００１３】
図１は、本発明の実施例１にかかわる半導体装置の図である。
【００１４】
１００は、本発明における半導体装置である。半導体装置１００は、ＣＰＵ１０１、メモリコントローラ１０２、マスタ１０３（第一のマスタ）、マスタ１０４（第二のマスタ）、ＤＲＡＭ−ＰＨＹ１０５、ＤＲＡＭ−ＰＨＹ１０６、温度センサ１０７によって構成される。半導体装置１００は、外部メモリであるＤＲＡＭ１１０、ＤＲＡＭ１２０と接続しており、これらをシステム上のメインメモリとして使用する。
【００１５】
ＣＰＵ１０１は、半導体装置１００全体の制御を担う制御装置である。ＣＰＵ１０１は、マスタ１０３、マスタ１０４、メモリコントローラ１０２、温度センサ１０７等、各回路ブロックのレジスタにアクセスすることで、各回路ブロックの制御を行う。
【００１６】
マスタ１０３、１０４は、外部メモリであるＤＲＡＭ１１０、１２０に対してマスタとなる機能ブロックである。マスタ１０３は、例えば動画符号化回路、動画記録回路、表示回路等、リアルタイム性が求められ、多くの処理を必要とする回路である。マスタ１０４は、レンズ制御回路、静止画現像回路等、マスタ１０３と比較するとリアルタイム性が求められない回路である。また、ここではマスタは１０３、１０４の２つのみしか図示していないが、他にも不図示の多くのマスタが存在している。
【００１７】
１０２はメモリコントローラである。メモリコントローラ１０２は、マスタ１０３、１０４等、数多くのマスタからメモリアクセスの要求を受け付け、ＤＲＡＭ−ＰＨＹ１０５または１０６を経由して、ＤＲＡＭ１１０または１２０へメモリアクセスの要求を行う。その際、メモリコントローラ１０２は各マスタからのアクセス要求を調停し、あらかじめ決められた優先順位に従って各ＤＲＡＭ−ＰＨＹ経由で各ＤＲＡＭへアクセスを行う。
【００１８】
１１０、１２０は、外部のＤＲＡＭである。ＤＲＡＭ１１０、１２０は、それぞれ対応するＤＲＡＭ−ＰＨＹ１０５、１０６からのアクセス要求に従って、データ書き込みまたは読み出しを行う。ここではＤＲＡＭは２つとしたが、３つ以上のＤＲＡＭが存在しても良い。その場合は別途独立したＤＲＡＭ−ＰＨＹがメモリコントローラ１０２に接続されているものとする。
【００１９】
なお、図１は模式図であり、各マスタと各ＤＲＡＭ−ＰＨＹの実際の大きさや位置関係は必ずしもこの図と一致しないが、相対的な位置関係としては、マスタ１０３とＤＲＡＭ−ＰＨＹ１０５が近傍に、マスタ１０４とＤＲＡＭ−ＰＨＹ１０６が近傍に配置されているものとする。そのため、マスタ１０３がＤＲＡＭ−ＰＨＹ１０５へアクセスする際は小さなレイテンシでアクセスできるが、マスタ１０３がＤＲＡＭ−ＰＨＹ１０６へアクセスする際は大きなレイテンシが発生する。同様に、マスタ１０４がＤＲＡＭ−ＰＨＹ１０６へアクセスする際は小さなレイテンシでアクセスできるが、マスタ１０４がＤＲＡＭ−ＰＨＹ１０５へアクセスする際は大きなレイテンシが発生する。
【００２０】
１０７は、温度センサである。温度センサ１０７は、半導体装置１００の温度をある一定間隔で定期的に測定する。ＣＰＵ１０１は、温度センサ１０７によって得られた温度情報を定常的に監視し、その温度変化情報によって、メモリコントローラ１０２に対してリトレーニングの実施／非実施、リトレーニング間隔の変更などの制御を命令する。
【００２１】
図２は、半導体装置１００の温度の時間変化と、リトレーニング間隔の関係について表した図である。
【００２２】
時刻ｔ１００までは、半導体装置１００は定常動作をしており、半導体装置１００の温度変化はほとんどない。時刻ｔ１００以降、半導体装置１００の動作モードが変化し、動画記録モード等、電力を多く消費し発熱するモードに切り替わったとする。動作モードが切り替わった後、時刻ｔ２００までは温度変化が大きく、時刻ｔ２００までは傾きがある一定値Ｋ以上である。また、時刻ｔ２００以降は温度変化も緩やかになり、傾きがある一定値Ｋ以下になったとする。さらに、時刻ｔ３００以降は定常状態になり、温度変化はほぼなくなるものとする。
【００２３】
時刻ｔ１００までの区間では、温度変化がほぼないためトランジスタの特性もほぼ変化せず、リトレーニング実施は不要である。よって、メモリコントローラ１０２は、ＰＨＹ１０５、１０６に対してリトレーニング実行の命令を発行することが無く、ＤＲＡＭ１１０、１２０においてリトレーニングが実行されない。
【００２４】
時刻ｔ１００からｔ２００までの区間では、温度変化が傾きＫ以上であり、リトレーニングをＴ１の間隔で実施する。この区間は温度変化が大きい区間であるため、Ｔ１は比較的小さな時間間隔であり、頻繁にリトレーニングを必要とする。メモリコントローラ１０２は、ＰＨＹ１０５、１０６に対してＴ１の間隔でリトレーニング実施の命令を発行し、ＤＲＡＭ１１０、１２０のリトレーニングを行う。
【００２５】
また、時刻ｔ２００からｔ３００までの、傾きがＫ以下の区間では、Ｔ２＞Ｔ１であるＴ２の間隔でリトレーニングを実施する。この区間では温度変化が緩やかになるため、Ｔ１ほどの間隔でリトレーニングを実施する必要はなく、Ｔ１より大きなＴ２の間隔でリトレーニングを実施する。さらに、時刻ｔ３００以降は温度変化がほぼ無くなり、リトレーニング実施も中止する。
【００２６】
以上により、半導体装置１００の温度変化に応じて適切なリトレーニング間隔となり、ＤＲＡＭアクセスできない期間が不必要に増えるということが無い。また、ＤＲＡＭ１１０とＤＲＡＭ１２０が同時にリトレーニングを開始してしまうと、ＤＲＡＭにアクセスできない期間が生じてしまう。そのため、ＤＲＡＭ１１０とＤＲＡＭ１２０のリトレーニングは、図２の通りタイミングをずらして実行される。例えば、時刻ｔ１００からｔ２００の区間ではＤＲＡＭ１１０と１２０のリトレーニングのタイミングはＴ１／２の時間だけずれ、時刻ｔ２００からｔ３００の区間では、ＤＲＡＭ１１０と１２０のリトレーニングのタイミングはＴ２／２の時間だけずれる。
【００２７】
また、ＤＲＡＭが３つ以上であった場合においても、メモリコントローラ１０２はすべてのＤＲＡＭのリトレーニングタイミングがバラバラになるように制御する。そのため、すべてのＤＲＡＭをトータルで見たときに、ＤＲＡＭにアクセスできない期間は存在しない。
【００２８】
次に、図３を用いて、ＤＲＡＭ１１０とＤＲＡＭ１２０のアクセス量について説明する。図３における時間軸としては、例えば図２におけるｔ１００からｔ２００の間の間隔を拡大したものである。
【００２９】
図３（ａ）は、時間軸に対してＤＲＡＭ１１０に対するアクセス量を表したグラフである。図３（ａ）のＡ１で示した領域は、マスタ１０３のＤＲＡＭ１１０へのアクセスを示している。マスタ１０３は、定常的にグラフ縦軸でＡの量のアクセス量を必要としている。マスタ１０３は、基本的には少ないレイテンシでアクセスできるＤＲＡＭ１１０へアクセスをする。
【００３０】
図３（ａ）の時刻ｔ１〜ｔ２およびｔ７〜ｔ８の空白期間は、ＤＲＡＭ１１０のリトレーニング期間を表している。この間、各マスタはＤＲＡＭ１１０へアクセスすることができない。
【００３１】
図３（ｂ）は、時間軸に対してＤＲＡＭ１２０に対するアクセス量を表したグラフである。図３（ｂ）のＢ１〜Ｂ３で示した領域は、マスタ１０４のＤＲＡＭ１２０へのアクセスを示している。マスタ１０４は、定常的にグラフ縦軸でＢの量のアクセス量を必要としている。マスタ１０４は、基本的には少ないレイテンシでアクセスできるＤＲＡＭ１２０へアクセスをする。
【００３２】
また、図３（ｂ）のＡ２で示した領域は、マスタ１０３のＤＲＡＭ１２０へのアクセスを示している。本来であればマスタ１０３は少ないレイテンシでアクセスできるＤＲＡＭ１１０へアクセスするが、時刻ｔ１〜ｔ２およびｔ７〜ｔ８ではＤＲＡＭ１１０へアクセスできないため、ＤＲＡＭ１２０へ割込みアクセス要求を行う。
【００３３】
メモリコントローラ１０２は、このようにリアルタイム処理が必要なマスタ１０３からＤＲＡＭ１２０へ割込みアクセス要求があった場合、本来ＤＲＡＭ１２０へアクセスを必要としていたマスタ１０４よりもマスタ１０３のアクセスを優先するように制御する。
【００３４】
時刻ｔ１〜ｔ２で、本来ＤＲＡＭ１２０へアクセスを必要としていたマスタ１０４は、マスタ１０３の割込みアクセスを優先することにより、本来の自分のアクセスを時刻ｔ２〜ｔ３で後ろ倒しのアクセスを行う（Ｂ２の領域）。
【００３５】
また、図３（ｂ）の時刻ｔ４〜ｔ５およびｔ１０〜ｔ１１の空白期間は、ＤＲＡＭ１２０のリトレーニング期間を表している。この間、各マスタはＤＲＡＭ１２０へアクセスすることができない。この期間中、本来ＤＲＡＭ１２０へアクセスを必要としていたマスタ１０４は、アクセスの時刻をｔ５〜ｔ６へ後ろ倒しする（Ｂ３の領域）。
【００３６】
以上の構成にすることで、複数マスタ、複数ＤＲＡＭをとる構成において、リアルタイム処理を必要とするシステムを破綻させないメモリアクセス制御をすることが可能となる。
【００３７】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【符号の説明】
【００３８】
１００  半導体装置、１０１  ＣＰＵ、１０２  メモリコントローラ、
１０３  マスタ、１０４  マスタ、１０５  ＤＲＡＭ−ＰＨＹ、
１０６  ＤＲＡＭ−ＰＨＹ、１０７  温度センサ、１１０  ＤＲＡＭ、
１２０  ＤＲＡＭ
【図１】
2020087053.tif 000003
【図２】
2020087053.tif 000004
【図３】
2020087053.tif 000005