(57)【要約】【課題】  装置、例えば、コンピュータの運用中の温度変化が原因となって発生するメモリスループットの低下を抑制する。【解決手段】  アクセス要求を受信すると設定された遅延時間に基づくタイミング調整をしてメモリアクセスを実行し、異常検出すると遅延時間の再設定を行うメモリアクセス手段と、外部装置からアクセス要求を受信してメモリアクセス手段に転送し、アクセス手段がアクセス要求処理中または再設定中であればアクセス要求を保持するリクエスト待ち合わせ手段と、発熱量が所定範囲内のアクセス要求を繰り返し発生させるダミーアクセス発生手段と、リクエスト待ち合わせ部に保持中のアクセス要求が無いと、ダミーアクセス発生手段が発生したアクセス要求をメモリアクセス手段に転送するリクエスト有無判定手段と、を備えるメモリインタフェース制御回路。【選択図】      図２
2017138691.tif 000002
【特許請求の範囲】
【請求項１】
アクセス要求を受信すると設定された遅延時間に基づくタイミング調整をしてメモリアクセスを実行し、異常検出すると前記遅延時間の再設定を行うメモリアクセス手段と、
外部装置から前記アクセス要求を受信して前記メモリアクセス手段に転送し、前記アクセス手段が前記アクセス要求処理中または前記再設定中であれば前記アクセス要求を保持するリクエスト待ち合わせ手段と、
発熱量が所定範囲内の前記アクセス要求を繰り返し発生させるダミーアクセス発生手段と、
前記リクエスト待ち合わせ部に保持中の前記アクセス要求が無いと、前記ダミーアクセス発生手段が発生した前記アクセス要求を前記メモリアクセス手段に転送するリクエスト有無判定手段と、を備えるメモリインタフェース制御回路。
【請求項２】
前記メモリアクセス手段から、前記メモリから読み出されたデータを入力して、前記外部装置に出力するダミーリードリプライ破棄手段を、さらに、備え、
前記ダミーアクセス発生手段は、前記発熱量が最大となるメモリリード要求である前記アクセス要求を繰り返し発生させ、
前記ダミーリードリプライ破棄手段は、前記ダミーアクセス発生手段が発生させた前記メモリリード要求により読み出されたデータを破棄する、請求項１のメモリインタフェース制御回路。
【請求項３】
前記ダミーアクセス発生手段は、前記発熱量が最大となるメモリ内データ移動要求である前記アクセス要求を繰り返し発生させる、請求項１のメモリインタフェース制御回路。
【請求項４】
前記ダミーアクセス発生手段は、転送長が最大となる前記アクセス要求を繰り返し発生させる、請求項２乃至請求項３の何れか１項のメモリインタフェース制御回路。
【請求項５】
請求項１乃至請求項４の何れか１項のメモリインタフェース制御回路と、
前記メモリインタフェース制御回路に接続された前記メモリと、
前記上位装置と、を備えるデータ処理装置。
【請求項６】
外部装置からアクセス要求を受信して、設定された遅延時間に基づくタイミング調整をしてメモリアクセスを実行し、異常検出すると前記遅延時間の再設定を行う一方、前記アクセス要求を受信した時に前記アクセス要求処理中または前記再設定中であれば、完了する迄前記アクセス要求を保持し、
保持中の前記アクセス要求が無いと、発熱量が所定範囲内の前記アクセス要求を発生させ、発生させた前記アクセス要求に基づいてメモリアクセスを実行する、メモリインタフェース制御方法。
【請求項７】
保持中の前記アクセス要求が無いと、前記発熱量が最大となるメモリリード要求である前記アクセス要求を前記発生させ、発生させた前記メモリリード要求に基づいてメモリアクセスを実行し、
前記メモリから読み出されたデータを前記外部装置に出力するが、発生させた前記メモリリード要求により読み出されたデータは破棄する、請求項６のメモリインタフェース制御方法。
【請求項８】
保持中の前記アクセス要求が無いと、前記発熱量が最大となるメモリ内データ移動要求である前記メモリアクセス要求を発生させ、発生させた前記メモリ内データ移動要求に基づいてメモリアクセスを実行する請求項６のメモリインタフェース制御方法。
【請求項９】
転送長が最大となる前記アクセス要求を発生させる、請求項７乃至請求項８の何れか１項のメモリインタフェース制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリインタフェース制御回路、データ処理装置、および、メモリインタフェース制御方法、特に、システム運転中の温度変化による性能低下を抑制するメモリインタフェース制御回路、データ処理装置、および、メモリインタフェース制御方法に関する。
【背景技術】
【０００２】
近年、メモリインタフェースの高速化によりメモリインタフェース回路とメモリ間にはタイミング調整回路が必要となってきている。この調整回路は細かなタイミング調整を行うことが出来るよう遅延ゲートで構成されているため、コンピュータシステムの運用中に発生する温度変化により遅延量が変動してしまう。
【０００３】
タイミング調整の設定は、コンピュータシステムの初期化時に行われる。以降、コンピュータシステムは、必要に応じジョブを実行し、メモリに対し読み書きを行う。しかし、ジョブは、常に投入され続けるわけではないため、メモリに対して長期にわたり読み書きが全く行われない時間が発生する場合がある。
【０００４】
このような状態では、メモリアクセスが行われていた時に比べ遅延ゲートの温度が低下し、適切に調整されていた遅延量に変化が生じる。温度変化が大きくなる原因のひとつとして、近年需要が高まっている省電力モードからの運用再開が考えられる。
【０００５】
このようなケースでコンピュータシステムの運用が再開されると、メモリインタフェースのデータ転送の品質が低下しているため、遅延変動量によってはメモリアクセスエラーが発生してしまう。この時に、メモリインタフェース制御回路は、タイミングの再調整をおこない遅延量の最適化を行い、データ転送の品質を向上させている。しかしながら、このときメモリインタフェース制御回路は、同時に通常のデータ転送を停止させてしまうためメモリスループットを低下させてしまう。
【０００６】
特許文献１は、メモリリフレッシュ周期等で、タイミング調整機構のキャリブレーションをやり直し、温度変化などに追従してタイミング調整を行う回路を開示する。
【０００７】
この回路は、メモリリフレッシュインターバルに一回もメモリリードが発生しない場合、メモリリフレッシュサイクルを始める直前に、自動的にメモリリードサイクルを発生させる。このことにより、この回路は、ホールド回路２１が保持する同期化制御情報を更新することが出来ないことを回避する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】公報特開２００５−７８５４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
コンピュータシステムの運用中に発生する温度変化が原因となって、遅延量に変動が生じると、メモリインタフェースでデータ転送エラーが発生し、タイミング再調整処理が行われる。しかし、このタイミング再調整処理により、通常のデータ転送が中断されてしまうため、メモリスループットが低下してしまう。
【００１０】
特許文献１が開示する回路は、タイミング調整機構のキャリブレーションを何度もやり直すため、上述した通常のデータ転送が何度も中断される。このため、特許文献１が開示する回路は、メモリスループットの低下を抑制することが出来ない。
【００１１】
本発明は、上記スループットの低下を抑制できるメモリインタフェース制御回路、データ処理装置、および、メモリインタフェース制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の１実施の形態のメモリインタフェース制御回路は、アクセス要求を受信すると設定された遅延時間に基づくタイミング調整をしてメモリアクセスを実行し、異常検出すると前記遅延時間の再設定を行うメモリアクセス手段と、外部装置から前記アクセス要求を受信して前記メモリアクセス手段に転送し、前記アクセス手段が前記アクセス要求処理中または前記再設定中であれば前記アクセス要求を保持するリクエスト待ち合わせ手段と、発熱量が所定範囲内の前記アクセス要求を繰り返し発生させるダミーアクセス発生手段と、前記リクエスト待ち合わせ部に保持中の前記アクセス要求が無いと、前記ダミーアクセス発生手段が発生した前記アクセス要求を前記メモリアクセス手段に転送するリクエスト有無判定手段と、を備える。
【００１３】
本発明の１実施の形態のメモリインタフェース制御方法は、外部装置からアクセス要求を受信して、設定された遅延時間に基づくタイミング調整をしてメモリアクセスを実行し、異常検出すると前記遅延時間の再設定を行う一方、前記アクセス要求を受信した時に前記アクセス要求処理中または前記再設定中であれば、完了する迄前記アクセス要求を保持し、保持中の前記アクセス要求が無いと、発熱量が所定範囲内の前記アクセス要求を発生させ、発生させた前記アクセス要求に基づいてメモリアクセスを実行する。
【発明の効果】
【００１４】
本発明にかかるメモリインタフェース制御回路は、当該回路を含む装置、例えば、コンピュータの運用中の温度変化が原因となって発生するメモリスループットの低下を抑制する。
【図面の簡単な説明】
【００１５】
【図１】図１は、メモリインタフェース制御回路１を用いたコンピュータ２０の構成図である。
【図２】図２は、第１の実施の形態にかかるメモリインタフェース制御回路１の構成図である。
【図３】図３は、第２の実施の形態にかかるメモリインタフェース制御回路１の構成図である。
【発明を実施するための形態】
【００１６】
＜第１の実施の形態＞
＜概要＞
本実施の形態にかかるメモリインタフェース制御回路１は、メモリインタフェースでデータ転送が行われていない期間に、メモリ２に対しダミーアクセスを行い続ける。これにより、メモリインタフェース制御回路１は、メモリインタフェースの温度を一定に保ち、遅延量の変動を抑える。
【００１７】
このため、メモリインタフェース制御回路１は、メモリ２に対する上位装置１５からのリクエストの有無を判定する回路を備え、リクエストが無い場合はメモリ２に対しダミーアクセスリクエストを発行し続ける。これにより、メモリインタフェース制御回路１は、タイミング再調整の頻度を低下させ、メモリスループットの低下を抑える。
【００１８】
なお、メモリインタフェース制御回路１は、ダミーリードリクエストに専用タグを割り当ててダミーリードリプライを識別し、これを破棄する回路を設けることにより上位装置１５へのリプライデータ返却を抑止する。
【００１９】
＜構成＞
図１は、本実施の形態にかかるメモリインタフェース制御回路１を用いたデータ処理装置、例えば、コンピュータ２０の構成図である。コンピュータ２０において、メモリインタフェース制御回路１は、上位装置１５とメモリ２に接続されている。上位装置１５は、例えば、プロセッサとその周辺回路である。メモリ２は、例えば、ＤＲＡＭ（Dynamic Access Memory）である。
【００２０】
上位装置１５は、メモリインタフェース制御回路１に対し、例えば、メモリリードリクエストを入力する。それを受けたメモリインタフェース制御回路１は、メモリ２からデータを読み込んで、上位装置１５にリプライを出力する。
【００２１】
なお、コンピュータ２０は、他のデータ処理装置であっても良い。その場合、上位装置１５は、通信処理装置や音声認識装置であっても良い。
【００２２】
図２は、第１の実施の形態にかかるメモリインタフェース制御回路１の構成図である。メモリインタフェース制御回路１は、リクエスト待ち合わせ回路３、リクエスト有無判定回路４、ダミーアクセス発生回路５、セレクタ６、メモリ制御回路７、遅延回路８、タイミング調整回路９、データ訂正回路１０、および、ダミーリードリプライ破棄回路１１を包含する。
【００２３】
リクエスト待ち合わせ回路３は、上位装置１５から発行されるライト命令およびリード命令をリクエスト有無判定回路４に対し転送する。また、リクエスト待ち合わせ回路３は、メモリ制御回路７から通知されるビジー信号受信時にはこれらのリクエストを、ビジー信号が解除されるまで一時的に保持する。すなわち、リクエスト待ち合わせ回路３は、ビジー信号の解除を待ち合わせて、リクエストをリクエスト有無判定回路４に転送する。
【００２４】
リクエスト有無判定回路４は、リクエスト待ち合わせ回路３内の待ち合わせ状態を監視し、待ち合わせが有れば、待ち合わせているリクエストをメモリ制御回路７に出力する。待ち合わせが無くなった時、リクエスト有無判定回路４は、ダミーアクセス発生回路５が発行するダミーアクセスリクエストをメモリ制御回路７に出力する。
【００２５】
ダミーアクセス発生回路５は、メモリ２に対しアクセスリクエストを発行し続ける回路であり、そのリクエストであることを識別するために、専用タグをリクエストに付与する回路である。
【００２６】
メモリ制御回路７は、リクエスト有無判定回路４から送出されたリクエストをメモリリクエストフォーマットに変換するための回路である。メモリ制御回路７は、下記の場合、後続のリクエストを止めるためにリクエスト待ち合わせ回路３およびダミーアクセス発生回路５に対しビジー信号を通知する。
ａ）タイミング調整が開始された場合
ｂ）タイミング調整回路９から調整中の通知を受けた場合
ｃ）メモリ２に対しリフレッシュ動作が必要な場合
ｄ）アクセス要求を処理中の場合
セレクタ６は、メモリ制御回路７からのリクエストとタイミング調整回路９からのリクエストとを、タイミング調整回路９からのセレクト信号に従い選択するための回路である。
【００２７】
遅延回路８は、メモリ２に対する制御信号、およびライトデータ、リードデータのタイミングを、タイミング調整回路９の指示に従い調整するための回路である。
【００２８】
タイミング調整回路９は、初期化時およびデータ訂正回路１０からの開始指示があった場合に、遅延回路８の調整を行いつつ、メモリ２に対しライト、リードを行い、そのデータの期待値一致ポイントを検索する回路である。タイミング調整回路９は、この動作中は、メモリ制御回路７に対しビジー信号を発行する。
【００２９】
データ訂正回路１０は、メモリインタフェース制御回路１とメモリ２の間のデータ転送品質の低下等によるデータ化けを訂正する回路であり、一般的なECC（Error Check and Correct）回路である。
【００３０】
ダミーリードリプライ破棄回路１１は、リードデータに付与されたタグがダミーリード用のタグであった場合はリードデータを上位装置１５に返却せずに破棄する回路である。
【００３１】
＜動作＞
まずコンピュータ２０の初期化および通常運用中に行われる、メモリインタフェース制御回路１とメモリ２の間のタイミング調整の動作について説明する。
【００３２】
コンピュータ２０の初期化中に行われるメモリ初期化の処理が終わった後、ソフトウエアビジブルによるタイミング調整開始指示がタイミング調整回路９にわれる。タイミング調整回路９は、遅延回路８に対し遅延設定を行い、セレクタ６、遅延回路８を介しメモリ２の特定アドレス番地にライトリクエストを発行する。
【００３３】
その後、タイミング調整回路９は、ライトしたアドレス番地と同一アドレスに対しリードリクエストを発行し、メモリ２から遅延回路８を介してリードデータを取り込む。タイミング調整回路９は、ライトしたデータとリードしたデータとの期待値比較を行い、一致した場合はタイミング調整が正しく行われたと判断し、以降の初期化処理を開始する。
【００３４】
期待値比較で不一致した場合は、タイミング調整回路９は、遅延回路８に対し次の遅延ステップ値を設定し、再度ライト、リードの期待値比較を行い、期待値一致が行われるまで、このシーケンスを繰り返す。
【００３５】
次に通常運用のライト、リード動作について説明する。
【００３６】
上位装置１５が発行したライトリクエストは、リクエスト待ち合わせ回路３、リクエスト有無判定回路４、メモリ制御回路７、セレクタ６、遅延回路８を介しメモリ２に転送され、ライトデータがメモリ２に書き込まれる。
【００３７】
上位装置１５が発行したリードリクエストは、ライトリクエストと同じ経路をたどりメモリ２に転送される。一方、メモリ２から読み出されたリードデータは、メモリ制御回路７、データ訂正回路１０、ダミーリードリプライ破棄回路１１を介し上位装置１５へ返却される。
【００３８】
この時、メモリインタフェース制御回路１とメモリ２の間のデータ転送品質が温度変化による遅延値変動で低下していると、データ訂正回路１０でデータ訂正が行われ、訂正されたデータが、ダミーリードリプライ破棄回路１１を介し上位装置１５へ返却される。
【００３９】
データ訂正を行ったとき、データ訂正回路１０は、データ訂正の発生をタイミング調整回路９に通知し、それを受けたタイミング調整回路９は、メモリ制御回路７へビジー信号を通知する。さらに、メモリ制御回路７は、リクエスト待ち合わせ回路３、ダミーアクセス発生回路５へビジー信号を通知し、後続のリクエストの発行を抑止する。
【００４０】
タイミング調整回路９は、セレクタ６に対し自回路を選択するためのセレクト信号を発行し、その後、上述したタイミング調整の動作に移行する。タイミング調整回路９は、タイミング調整が終了した時点でビジー信号の発行を停止し、メモリ制御回路７が後続リクエストの受け付けを再開する。
【００４１】
このように、メモリインタフェース制御回路１とメモリ２の間のデータ転送品質が温度変化による遅延値変動で低下していた場合、タイミング再調整のために後続のリクエストが一時停止させられ、メモリスループットが低下する。
【００４２】
本実施の形態のメモリインタフェース制御回路１は、遅延回路８の温度変化による遅延値変動を抑えるため、リクエスト待ち合わせ回路３の状態を監視するリクエスト有無判定回路４を備える。リクエスト有無判定回路４は、リクエスト待ち合わせ回路３内にリクエストが存在しない場合は、ダミーアクセス発生回路５が発行するダミーメモリアクセスリクエストをメモリ制御回路７に転送する。
【００４３】
ダミーアクセス発生回路５は、常にダミーアクセス専用のタグを付与したメモリアクセスリクエストを発行し続ける。
【００４４】
ダミーアクセス発生回路５は、遅延回路８付近の温度を一定に保つのになるべく適した、すなわち、発熱量が所定基準範囲のダミーアクセスを行うように設計される。ダミーアクセス発生回路５は、例えば、メモリ制御回路７が処理できる、最大の発熱量を伴うメモリアクセスを実行する。最大の発熱量を伴うメモリアクセスを実行に何らかの問題、例えば、発熱量が大きすぎる問題や製品寿命を縮める問題、が有れば、当該問題が発生しない条件下で、ダミーアクセス発生回路５は最大の発熱量を伴うメモリアクセスを実行する。
【００４５】
いずれにしろ、ダミーアクセス発生回路５は、メモリインタフェース制御回路１の各種条件を考慮して、遅延回路８付近の温度を一定に保つのになるべく適した範囲の発熱量のメモリアクセスを実行する。
【００４６】
具体的には、ダミーアクセス発生回路５は、例えば、データ転送量が最も多いメモリリードリクエストを発行する。ダミーアクセス発生回路５は、例えば、データ転送量が最も多いデータ転送リクエストを発行しても良い。ここで、データ転送リクエストは、例えば、Ａ番地以降の所定長のデータを、Ｂ番地以降に異動させるリクエストである。
【００４７】
ダミーメモリアクセスがリードリクエストである場合、メモリ２から読み出されたリードデータは、通常のリードデータと同じ経路をたどり、ダミーリードリプライ破棄回路１１に送られる。ダミーリードリプライ破棄回路１１は、タグからダミーリードリクエストのリードデータを判別し、このリードデータを破棄し上位装置１５への返却は行わない。なお、このタグは、メモリ制御回路７でダミーリードリクエストに付与される。
【００４８】
以上のように、メモリインタフェース制御回路１は、上位装置１５からの通常リクエストを受け付けていない期間は、ダミーメモリアクセスリクエストを発行し続けて、遅延回路８付近の温度変化を一定に保つ。これにより、遅延回路８の遅延値の変動が抑えられる。
【００４９】
＜効果＞
本実施の形態にかかるメモリインタフェース制御回路１は、コンピュータ２０の運用中の温度変化が原因となって発生するメモリスループットの低下を抑制する。その理由は、ダミーアクセス発生回路５とリクエスト有無判定回路４が、上位装置１５からのメモリアクセスリクエストが無くデータ転送が行われていない期間でも、メモリ２に対しダミーアクセスを行い続け、温度を一定に保つからである。
【００５０】
これにより、メモリインタフェース制御回路１は、温度変化による遅延量の変動を抑え、タイミング再調整処理回数を低減し、タイミング再調整処理に伴うスループットの低下を抑制する。
【００５１】
＜第２の実施形態＞
図３は、第２の実施の形態にかかるメモリインタフェース制御回路１の構成図である。
【００５２】
本実施の形態のメモリインタフェース制御回路１は、メモリアクセス回路１２と、リクエスト待ち合わせ回路３と、ダミーアクセス発生回路５と、転送するリクエスト有無判定回路４と、を備える。
【００５３】
メモリアクセス回路１２は、アクセス要求を受信すると設定された遅延時間に基づくタイミング調整をしてメモリアクセスを実行し、異常検出すると遅延時間の再設定を行う。
【００５４】
メモリアクセス回路１２は、例えば、第１の実施の形態における、セレクタ６、メモリ制御回路７、遅延回路８、タイミング調整回路９、データ訂正回路１０のように構成される。メモリアクセス回路１２は、上述とは異なる構成をとっても良い。
【００５５】
リクエスト待ち合わせ回路３は、上位装置１５からアクセス要求を受信してメモリアクセス回路１２に転送し、メモリアクセス回路１２がアクセス要求処理中または再設定中であればアクセス要求を保持する。ダミーアクセス発生回路５は、発熱量が所定範囲内のアクセス要求を繰り返し発生させる。
【００５６】
リクエスト有無判定回路４は、リクエスト待ち合わせ回路３に保持中のアクセス要求が無いと、ダミーアクセス発生回路５が発生したアクセス要求をメモリアクセス回路１２に転送する。
【００５７】
本実施の形態にかかるメモリインタフェース制御回路１は、コンピュータ２０の運用中の温度変化が原因となって発生するメモリスループットの低下を抑制する。その理由は、ダミーアクセス発生回路５とリクエスト有無判定回路４が、上位装置１５からのメモリアクセスリクエストが無くデータ転送が行われていない期間でも、メモリ２に対しダミーアクセスを行い続け、温度を一定に保つからである。
【００５８】
これにより、温度変化による遅延量の変動を抑え、タイミング再調整処理回数を低減し、タイミング再調整処理に伴うスループットの低下を抑制する。
【００５９】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００６０】
１    メモリインタフェース制御回路
２    メモリ
３    リクエスト待ち合わせ回路
４    リクエスト有無判定回路
５    ダミーアクセス発生回路
６    セレクタ
７    メモリ制御回路
８    遅延回路
９    タイミング調整回路
１０    データ訂正回路
１１    ダミーリードリプライ破棄回路
１２    メモリアクセス回路
１５    上位装置
２０    コンピュータ
【図１】
2017138691.tif 000003
【図２】
2017138691.tif 000004
【図３】
2017138691.tif 000005