(57)【要約】      （修正有）【課題】ＤＲＡＭのリフレッシュの影響を考慮してページヒットを判定することで、ＤＲＡＭにアクセスする際のレイテンシをより改善することができるメモリ制御装置、メモリ制御システム、記録装置及びメモリ制御方法を提供する。【解決手段】メモリコントローラシステムにおいて、メモリコントローラ２００は、メモリアクセスにおいて要求されたページと異なるページ、かつ、リフレッシュ後の２回目以降のアクセス要求がされた数を計数するカウンターを設け、カウンターの値に応じて、アクセス中の対象ページを保持するページオープンの指示、あるいは、アクセス中の対象ページを閉じるページクローズの指示を切り替える。【選択図】図１
2020087055.tif 000002
【特許請求の範囲】
【請求項１】
複数のマスターからのＤＲＡＭへのアクセスを制御するメモリ制御装置であって、アクセスにおいて要求されたページと異なるページ、かつ、リフレッシュ後の２回目以降のアクセス要求がされた数を計数する第１カウンターを設け、前記第１カウンターの値に応じて、アクセス中の対象ページを保持するページオープンの指示、あるいは、アクセス中の対象ページを閉じるページクローズの指示を切り替えることを特徴とするメモリ制御装置。
【請求項２】
全アクセス数を計数する第２カウンターと前記第１カウンターの計測値によりページヒット率を算出し、前記ページヒット率が所定値以上の場合、アクセス中の対象ページを保持するページオープンの指示、それ以外の場合、アクセス中の対象ページを閉じるページクローズの指示を切り替えることを特徴とする請求項１に記載のメモリ制御装置。
【請求項３】
複数のマスターからのＤＲＡＭへのアクセスを制御するメモリ制御装置であって、メモリアクセスにおいて要求されたページと異なるページ、かつ、リフレッシュ後またはリトレーニング後の２回目以降のアクセス要求がされた数を計数する第１カウンターを設け、前記第１カウンターの値に応じて、アクセス中の対象ページを保持するページオープンの指示、あるいは、アクセス中の対象ページを閉じるページクローズの指示を切り替えることを特徴とするメモリ制御装置。
【請求項４】
全アクセス数を計数する第２カウンターと前記第１カウンターの計測値によりページヒット率を算出し、前記ページヒット率が所定値以上の場合、アクセス中の対象ページを保持するページオープンの指示、それ以外の場合、アクセス中の対象ページを閉じるページクローズの指示を切り替えることを特徴とする請求項３に記載のメモリ制御装置。
【請求項５】
前記１カウンターの計測値を所定周期で初期化することを特徴とする請求項１又は請求項３に記載のメモリ制御装置。
【請求項６】
前記１カウンターの計測値および前記第２カウンターの計測値を所定周期で初期化することを特徴とする請求項２又は４に記載のメモリ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のマスターとメモリ間に介在し、マスターからの要求に基づいてメモリへのアクセス制御を行うメモリ制御装置に関する。
【背景技術】
【０００２】
デジタルカメラにおいては、映像信号や音声信号などの情報を処理することが要求される。複数種類の情報を統合的に処理するために、複数の機能を１チップにまとめたシステムＬＳＩが用いられる。このシステムＬＳＩは、映像のエンコード・デコード、映像処理、映像表示および音声処理などを行う多くのモジュールを含む。これらのモジュールにおいて処理に必要とされるデータは、たとえばＤｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（以下、ＤＲＡＭ）などのメモリに格納されるのが一般的である。ＤＲＡＭへアクセスを行なうモジュールとＤＲＡＭとは、メモリコントローラを介して結合される。メモリに対するアクセス要求を発行するモジュールを「マスター」とする。メモリコントローラは、複数のマスターが並行してメモリにアクセス要求を発行した場合、これらのアクセス競合を調停する機能を持つ。
【０００３】
近年、デジタルカメラで扱う映像の高解像度化、高フレームレート化などの影響によりシステムＬＳＩで処理する映像データの量が増加している。そのため、メモリコントローラが所定期間内（たとえば１映像フレーム期間内）にメモリに所望量の映像データを読み書きすることができないことが起こりうる。このような帯域破綻を回避するためには、メモリコントローラ内でより効率的に映像データを処理する必要がある。
【０００４】
メモリコントローラの処理内容について記載する。メモリコントローラに接続されるＤＲＡＭは、複数（４つ又は８つ）のバンクを備える。メモリコントローラはマスターから要求されたロウアドレスとカラムアドレスを指定して、対応するバンクからのデータの読出し又は書込み動作を行う。このとき、要求されたアドレスに対応する１つのバンクが選択され、その選択されたバンク中のロウアドレスで指定された１行分のデータ（ページ）をセンスアンプに保持する。そして、センスアンプに保持されたページ中のカラムアドレスで指定された箇所に対しデータの書込み又は読出しを行う。
【０００５】
次回のアクセス時には、前回アクセスと同一ページが指定されれば、開かれたページに直ぐにアクセスできる。しかし、前回アクセスと異なるページ（異ページ）が指定された場合は、ページを一旦閉じるページクローズ動作（プリチャージ動作）と、ページを開くページオープン動作とが必要になる。このプリチャージ動作とページオープン動作には時間がかかるので、メモリコントローラのアクセス時の遅延時間（レイテンシ）が増大し、時間当たりのデータ処理量（帯域）が劣化する原因になる。
【０００６】
また、アクセス終了時の動作を予めオープンとクローズのうち一方に固定しておく固定方式も知られている。
【０００７】
例えばオープン固定方式（以下、オープンモード）ではアクセス終了後はページオープン状態に保持する。この場合、次のアクセスが同一ページであった場合には、開かれたページに直ぐにアクセスでき、レイテンシを改善することができる。しかし、次のアクセスが異ページであった場合、プリチャージ動作（ページクローズ動作）から開始しなければならず、レイテンシが増大する。
【０００８】
一方、クローズ固定方式（以下、クローズモード）ではアクセス終了の度にプリチャージ動作を行う。この場合、次のアクセスが異ページであった場合は、プリチャージ動作から開始する必要がなく、レイテンシを改善できる。しかし、次のアクセスが同一ページであった場合は、ページオープン動作が必要になり、次回のアクセスの開始がその分遅延し、この場合もレイテンシが増大する。
【０００９】
特許文献１には、それまでのアクセスの傾向からオープンかクローズかを予測し、オープンモード、クローズモードの切り替えを行う技術が開示されている。１つのマスターからＤＲＡＭに対するアクセスは、ランダムアクセスであっても、現在アクセスしたアドレスやその近くのアドレスは、近い将来に、頻繁に、再度アクセスされる可能性が高いという性質（「空間的局所性」と呼ぶ）がある。従って、空間的局所性を有する１つのマスターからのＤＲＡＭへのアクセスは同一ページ内へ頻繁に生じることになる。
【００１０】
一方で、メモリコントローラには多くのマスターが接続されるので、ある１つのマスターと関わりの無いマスターも同時にアクセス要求が発行されることがある。その場合、２つのマスター間に空間的局所性はないことが多いので、マスターからのＤＲＡＭへのアクセスは異ページ内へ生じやすくなる。この場合は、２つのマスターが独立に動作しているが、競合している時間が存在することになり、ある時間に異ページへのアクセスが発生しやすく、逆にそれ以外の時間は同ページへのアクセスが発生しやすい（「時間的局所性」と呼ぶ）。以下、空間的局所性、時間的局所性を合わせて局所性と呼ぶ。
【００１１】
特許文献１は、上記の局所性を利用して、アクセス中の対象バンクの総アクセスに対するページヒットの回数をページヒット率として算出し、次のアクセスが同一ページか異ページかを予測する。すなわち、ページヒット率が設定値以上となり、次回アクセスも同一ページになる可能性が高いと予測される場合、コントローラはオープンモードとなり、アクセス中の対象ページをオープン状態に保持する。
【００１２】
一方、アクセス中の対象バンクのページヒット率が設定値未満であり、次回アクセスが同一ページとならない可能性が高いと予測される場合、コントローラはクローズモードとなり、アクセス中の対象ページを閉じる。つまり、同一ページの可能性が高い場合に、不要なページクローズ動作を高確率で回避することが可能となる。一方で異ページの可能性が高い場合、ページクローズ動作を次回のアクセスに先立って行っておくことで、次回のアクセスが異ページの場合にページオープン動作から開始することにより、次回アクセスを早期に開始できる。この結果、メモリ制御装置においてＤＲＡＭにアクセスする際のレイテンシを改善でき、帯域を向上させることができる。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２０１１−１９７７０７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
ＤＲＡＭは複数個のＤＲＡＭセルで構成され、ＤＲＡＭセルとは、１個のトランジスターと１個のコンデンサーから構成される。ＤＲＡＭは、コンデンサーに蓄えられた電荷が消失する前に「内容を読み取ってもう一度上書きする」という、内容を消さないための処理が必須となる。これをリフレッシュと呼ぶ。従来技術はページヒット率の算出に、ＤＲＡＭのリフレッシュの影響を考慮しておらず、帯域向上の施策を誤ることが起こりうる。たとえば、リフレッシュ直後に異ページへのアクセスが発生した場合、必ずページオープン動作から開始する必要があり、先行アクセスについてクローズモードでもオープンモードでもレイテンシは同じである。
【００１５】
しかし、従来技術では、このアクセスを異ページのアクセスと判定してしまい、ページヒット率を下げてしまう。もしこういったアクセスが多く発生した場合、ページヒット率が低くなるため、クローズモードが選択されやすくなる。そのため、これ以外のアクセスにおいて同ページのアクセスが多い場合においても、オープンモードを選択した方がレイテンシは改善されるのにも関わらず、クローズモードが選択されるので問題となる。
【００１６】
本発明は、上記課題に鑑みてなされたものであり、ＤＲＡＭのリフレッシュの影響を考慮してページヒットを判定することで、ＤＲＡＭにアクセスする際のレイテンシをより改善することができるメモリ制御装置、メモリ制御システム、記録装置及びメモリ制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記の目的を達成するために、本発明は、メモリアクセスにおいて要求されたページと異なるページ、かつ、リフレッシュ後の２回目以降のアクセス要求がされた数を計数する第１カウンターを設け、前記第１カウンターの値に応じて、アクセス中の対象ページを保持するページオープンの指示、あるいは、アクセス中の対象ページを閉じるページクローズの指示を切り替えるようにした。また、全アクセス数を計数する第２カウンターと前記第１カウンターの計測値によりページヒット率を算出し、前記ページヒット率が所定値以上の場合、アクセス中の対象ページを保持するページオープンの指示、それ以外の場合、アクセス中の対象ページを閉じるページクローズの指示を切り替えるようにした。
【００１８】
メモリアクセスにおいて要求されたページと異なるページ、かつ、リフレッシュ後またはリトレーニング後の２回目以降のアクセス要求がされた数を計数する第１カウンターを設け、前記第１カウンターの値に応じて、アクセス中の対象ページを保持するページオープンの指示、あるいは、アクセス中の対象ページを閉じるページクローズの指示を切り替えるようにした。全アクセス数を計数する第２カウンターと前記第１カウンターの計測値によりページヒット率を算出し、前記ページヒット率が所定値以上の場合、アクセス中の対象ページを保持するページオープンの指示、それ以外の場合、アクセス中の対象ページを閉じるページクローズの指示を切り替えるようにした。
【発明の効果】
【００１９】
本発明によれば、ＤＲＡＭのリフレッシュの影響を考慮し、適切なメモリ制御方法をとることで、帯域を向上させ、より高解像度、高フレームレートの映像を取り込むことが可能となる。
【図面の簡単な説明】
【００２０】
【図１】本発明にかかるメモリコントローラシステムの構成例を示すブロック図
【図２】本発明にかかるモード制御部の構成例を示すブロック図
【図３】本発明にかかるモードオープンモード、クローズモードのレイテンシの差を説明するタイミング図
【図４】本発明にかかるモード制御の例を示すフローチャート
【発明を実施するための形態】
【００２１】
以下、図面を参照しながら本発明の好適な実施の形態を説明する。
【００２２】
図１は、実施例におけるメモリコントローラシステムの構成例を示す構成図である。図１に示すメモリコントローラシステムは、マスター群１００、メモリコントローラ２００、ＤＲＡＭ３００から構成される。
【００２３】
マスター群１００はＤＲＡＭ３００に対してアクセス要求を発行するモジュール（マスター）群で、補正処理部１０１、エンコード処理部１０２、デコード処理部１０３、ＮＲ処理部１０４、表示処理部１０５、現像処理部１０６から構成される。各処理部は、処理の内容に応じてＤＲＡＭをアクセスするための要求信号を含む各種信号を出力する。
【００２４】
以下、各バスマスタの詳細な処理内容を述べる。補正処理部１０１は、撮像部から出力されるベイヤー配列の映像データに対し傷補正等の前処理を行い、処理後のデータをＤＲＡＭに格納する。エンコード処理部１０２はＤＲＡＭに格納してある輝度色差データを読み出し、所定の方式（例えば動画、音声を圧縮する規格であるＭＰＥＧ方式）に変換した圧縮データを生成し、ＤＲＡＭに格納する。
【００２５】
デコード処理部１０３は圧縮データを伸長した画像データを生成し、ＤＲＡＭに格納する。ＮＲ処理部１０４は、ＤＲＡＭから読み出したデータに対して所定の処理を行ってノイズを除去し、処理後のデータをＤＲＡＭに格納する。
【００２６】
表示処理部１０５は、ＤＲＡＭから読み出したデータを表示データに変換し、変換後のデータを表示部に出力する。現像処理部１０６は、補正処理部１０１による補正処理後のＲＧＢデータをＤＲＡＭから読み出して輝度色差データに変換し、処理後のデータをＤＲＡＭに格納する。
【００２７】
メモリコントローラ２００は、各処理部を調停する調停部２０１、ＤＲＡＭに送る制御情報を生成するコマンド生成部２０２、アクセス後のページがオープンかクローズかを制御するモード制御部２０３から構成される。
【００２８】
調停部２０１は、マスター群１００につながっており、マスター群１００から同時に複数のアクセスが発生した場合に、それらを調停する。調停部２０１によるアクセス要求の調停方式には、固定優先方式およびラウンドロビン方式等種々の方式がある。調停部２０１は、前記調停方式による調停結果に応じて、１つのマスターに対する要求をコマンド生成部２０２に渡し、残りの要求は後で処理するために調停部内で順番に記憶する。
【００２９】
コマンド生成部２０２は、マスター群１００内の各マスターからメモリコントローラ２００を介して要求されたアドレスが前回要求されたアドレスと同一バンクか否かを判定し、適切なコマンドをＤＲＡＭ３００に対して発行する。詳細については後述する。
【００３０】
モード制御部２０３は、次回のアクセスが同一ページか異ページかを予測し、予測結果に基づいて、コマンド生成部に対して、オープンモード／クローズモードの制御信号を送信する。詳細については後述する。
【００３１】
このシステムにより、マスターは、メモリコントローラ２００を介してＤＲＡＭ３００にアクセスすることができる。メモリコントローラ２００は、マスターから読出し要求を受け付けた場合、ＤＲＡＭ３００に対して読出しコマンドを送り、ＤＲＡＭ３００はこのコマンドをデコードして所望のデータの読出し制御を行なう。
【００３２】
一方、メモリコントローラ２００は、マスターからから書込み要求を受け付けた場合、ＤＲＡＭ３００に対して書込みコマンドを送り、ＤＲＡＭ３００はこのコマンドをデコードして所望のデータの書込み制御を行なう。
【００３３】
ＤＲＡＭ３００は、コマンド生成部２０２と、アドレスバス、コマンドバス、データバスを介して接続されている。ＤＲＡＭ３００は、コマンドデコーダー３０１、カラムアドレスバッファ３０２、ロウアドレスバッファ３０３、データバッファ３０４、ＤＲＡＭセルアレイ３０５、カラムデコーダー３０６と、ロウデコーダー３０７と、センスアンプ３０８を備えている。
【００３４】
ＤＲＡＭセルアレイ３０５は、バンクとも呼ばれ、複数のバンクを兼ね備えている。各バンクは、複数のメモリセルをマトリクス配列して構成され、各メモリセルは互いに交差する複数本のワード線と複数本のビット線の交差部に配置されている。一本のワード線に沿った複数のメモリセルの集合が、データ読み出し及び書き込みの単位であるページとなる。
【００３５】
コマンドデコーダー３０１は、コマンド生成部２０２から送信されたコマンドを解析し、各種の制御を行う。コマンドデコーダー３０１は、アクティブコマンドを受けると、ＤＲＡＭセルアレイ３０５のバンクを活性化させ、各バンクとデータバスとの間のデータ転送を制御する。プリチャージコマンドを受けると、センスアンプに保持されているデータを消去する。
【００３６】
リフレッシュコマンドを受けると、各バンク内に蓄えてあるデータを読み出し、再度書き込み処理を行う。また、コマンドデコーダー３０１は、各種タイミング制御信号に基づいてシーケンス制御を行い、ロウアドレスバッファ３０３からロウデコーダー３０７へのロウアドレスの供給、カラムアドレスバッファ３０２からカラムデコーダー３０６へのカラムアドレスの供給、データ読出し動作及びデータ書込み動作等の制御を行う。
【００３７】
ロウデコーダー３０７は、ワード線ドライバーを含み、バンクの選択及びワード線の選択駆動等を行う。センスアンプ３０８は、選択中のバンクにおけるビット線データをセンスする１ページ分のセンスアンプ素子列を備える。
【００３８】
１ページ分の読み出しデータは、カラムデコーダー３０６により選択されて、データバッファ３０４に出力される。データバッファ３０４から供給される書き込みデータは、カラムデコーダー３０６により選択されてセンスアンプ３０８にロードされる。コマンド生成部２０２からアドレスバスを介して転送されるロウアドレスがロウアドレスバッファ３０３に送られ、カラムアドレスがカラムアドレスバッファ３０２に送られる。そして、ロウアドレスバッファ３０３のロウアドレスがロウデコーダー３０７に転送され、カラムアドレスバッファ３０２のカラムアドレスがカラムデコーダー３０６に転送される。
【００３９】
このような構成の元、コマンド生成部２０２は、まず、マスター群１００内の各マスターからメモリコントローラ２００を介して要求されたアドレスが前回要求されたアドレスと同一バンクか否かを判定する。
【００４０】
そして、異なるバンクへのアクセスと判定した場合は、アクティブコマンドとロウアドレスをＤＲＡＭ３００へ送る。このコマンドとロウアドレスによって、ＤＲＡＭ３００内の特定のバンクが選択され、かつその選択されたバンクにおけるロウアドレスに対応するワード線が選択され、このワード線上の一行分のデータが、センスアンプに転送及び増幅されて保持される。
【００４１】
一方、要求されたアドレスから同一バンクへのアクセスの場合は、アクティブコマンドを送らず、ロウアドレスをＤＲＡＭ３００に送る。このロウアドレスによって、選択中のバンクにおけるロウアドレスに対応するワード線が選択され、このワード線上の一行分のデータが、センスアンプに転送及び増幅されて保持される。
【００４２】
次に、コマンド生成部２０２は、読み出しの際は、リード命令とカラムアドレスをＤＲＡＭ３００に送り、この命令とカラムアドレスによって、センスアンプで保持されているページのうちカラムアドレスに対応するデータが読み出される。
【００４３】
一方、書き込みの際は、コマンド生成部２０２は、ライト命令とカラムアドレスをＤＲＡＭ３００に送り、この命令とカラムアドレスによって、センスアンプで保持されているページのうちカラムアドレスに対応するデータが書き替えられる。
【００４４】
図２はモード制御部２０３の内部構造を示した図である。
【００４５】
モード制御部２０３は、アクセス観測部４００、ページミス観測部４０１、ヒット率計算部４０２、モード判定部４０３から構成される。
【００４６】
アクセス観測部４００は、コマンド生成部２０２からＤＲＡＭ  ３００に送信されるアクセスコマンド（読出しコマンド、書込みコマンドおよびアドレス）が入力され、バンク毎に全アクセス数をそれぞれ計数する。
【００４７】
ページミス観測部４０１は、コマンド生成部２０２からＤＲＡＭ３００に送信されるアクティブコマンドおよびリフレッシュコマンドが入力される。異ページに対するアクセスには、アクティブコマンドが送信され、その数を積算してページミス数として記憶する。しかし、各バンクへのリフレッシュコマンドがアサートされた後に発行されたアクティブコマンドについては、１回目のみ記憶せず、２回目以降を記憶する。このような計数方法にすることで、リフレッシュ後１回目のアクセスについてのページミスのカウント数を減らし、ヒット率の低下を防いでいる。詳細は後述する。
【００４８】
ヒット率計算部４０２は、アクセス観測部４００からの全アクセス数、および、ページミス観測部４０１からのページミス数からヒット率を計算する。ヒット率の計算は、以下の計算式の通りである。
【００４９】
ページヒット率［％］＝（全アクセス数-ページミス数）／全アクセス数×１００［％］
ヒット率の計算結果は、モード判定部４０３に送信される。モード判定部４０３は、ヒット率計算部４０２から入力されたページヒット率［％］が設定値［％］以上であるか否かを判定し、判定結果に基づきオープンモード、クローズモードの制御信号をコマンド生成部に送信する。本例では設定値を５０％とし、ページヒット率が５０％を下回るときにクローズモード、ページヒット率が５０％以上のときにオープンモードの制御信号をコマンド生成部に出力する。設定値の設定は、ＣＰＵ（図示しない）から行う。
【００５０】
図３は、あるアクセスに対するオープンモード、クローズモードの場合のレイテンシの差を説明するタイミング図である。
【００５１】
ｔＲＰ（Ｒｏｗ  ｐｒｅｃｈａｒｇｅ  Ｔｉｍｅ）はページをクローズしてから別ページをオープンするまでに待つ時間であり、ｔＲＣＤ（ＲＡＳ−ＣＡＳ  Ｄｅｌａｙ  Ｔｉｍｅ）は、ページをオープンしてからアクセス開始までに待つ時間である。
【００５２】
本実施例ではｔＲＰ＝ｔＲＣＤ＝１８ｎｓとする。オープンモードの場合、今回のアクセス終了から次回のアクセス開始までの待ち時間（レイテンシ）は、次回のアクセスが同一ページ（ページヒット）であれば「０」、異なるページ（ページミス）であれば「ｔＲＰ＋ｔＲＣＤ」になる。クローズモードの場合、今回のアクセスはプリチャージ動作をして終えるので、次回のアクセスが異ページのときも同一ページのときも共にレイテンシは、ｔＲＣＤになる。
【００５３】
図３の例では、異ページ、異ページ、リフレッシュ、異ページ、同ページ、リフレッシュ、異ページ、同ページとアクセスしている。図３（ａ）はクローズモードでこれらのアクセスを行った場合、図３（ｂ）はオープンモードでこれらのアクセスを行った場合のタイミング図を示している。レイテンシを比較すると図３（ａ）は３ｔＲＣＤ＝５４ｎｓ、図３（ｂ）はｔＲＰ＋ｔＲＣＤ＝３６ｎｓとなるので、図３（ｂ）のオープンモードの方がレイテンシを削減できる。
【００５４】
従来技術では、図３のアクセスに対しては、異ページ４回、同ページ２回とカウントし、ページヒット率は約３３％となり、ページヒット率が５０％を下回るのでクローズモードが選択される。
【００５５】
一方、本実施例のページミス観測部４０１においては、リフレッシュ直後の異ページへのアクセスはカウントしないので、異ページ２回、同ページ２回とカウントする。その結果、ページヒット率は約５０％となり、ページヒット率が５０％以上なのでオープンモードが選択される。図３の例の場合、オープンモードの方がレイテンシは少ないため、本実施例によれば、よりレイテンシの少ない適切なモードを選択することが可能となる。
【００５６】
図４は、モード制御部２０３が行う処理をフローチャートで示したものである。
【００５７】
ステップＳ１００では、ＣＰＵからの設定にてページの制御を自動で行うか否かを判定する。ページ自動制御モードで無い場合は、処理を終了する。ページ自動制御の場合、ステップＳ１０１に進み、モード制御部２０３によるページヒット率の計測を行う。すなわち、アクセス観測部４００によるアクセスコマンドの観測と、ページミス観測部４０３によるアクティブコマンド、リフレッシュコマンドの観測を行う。
【００５８】
そして、ヒット率計算部４０１が、ページミス観測部４０３によるページミス数と、アクセス観測部４００による全アクセス数とを用いて、バンク毎のページヒット率を演算する。ヒット率計算部４０１は、それぞれのヒット率計算結果をモード判定部４０２に出力する。
【００５９】
ステップＳ１０２では、モード判定部４０２がバンク毎のページヒット率が５０％以上であるか否かを判断する。そして、モード判定部４０２はその演算したページヒット率が設定値（本例では５０％）以上であるか否かをバンク毎に判定する。このとき、バンク毎のページヒット率が設定値以上であれば、ステップＳ１０３に進んで、コマンド生成部２０２にオープンモードになるよう制御信号を送信する。
【００６０】
一方、バンク毎のページヒット率が５０％未満であれば、ステップＳ１０４に進んで、コマンド生成部２０２にクローズモードになるよう制御信号を送信する。モード選択が終わると、ステップＳ１００に戻り、ページの制御を自動で行うか否かを判定する。
【００６１】
本構成によれば、現在選択中のバンクにおけるページヒット率が５０％以上であれば、次回のアクセスが同一ページになると確率が高いと予想されるため、ページオープンが指示される。
【００６２】
一方、現在選択中のバンクにおけるページヒット率が５０％未満であれば、次回のアクセスが異ページになる確率が高いと予測されるため、ページクローズ動作（プリチャージ動作）が指示される。
【００６３】
本構成にて、ＤＲＡＭ３００にアクセスする際のレイテンシを改善できるが、その仕組みについて記載する。ＤＲＡＭ３００にてワード線が選択され、１ページをセンスアンプ３０８に一旦保持してしまえば、同一ワード線上のアクセスつまり同一ページのアクセスは比較的短時間で行うことができる。
【００６４】
しかし、現在、選択されているワード線とは異なるワード線上のデータ、つまり異ページにアクセスする場合は、センスアンプ３０８に保持されているデータを一旦消去するプリチャージ動作と、新しいワード線上の１行分のデータ（異ページ）をセンスアンプに転送及び増幅して保持させるページオープン動作とが必要になる。このため、異ページにアクセスする場合は、データの読み出し又は書き込みを開始できるまでに比較的長いレイテンシが発生する。
【００６５】
本実施例におけるメモリコントローラ２００は、次のアクセスが同一ページか否かを予測する。そして、同一ページと予測した場合はセンスアンプ３０８に現在保持されている１行分のデータ（現ページ）を保持すべくページオープン状態の保持を指示し、異ページと予測した場合はページクローズ動作（プリチャージ動作）を指示する。このページオープンの指示とページクローズの指示は、今回のアクセスが終了するまでに行われる。
【００６６】
このため、次回のアクセスを異ページと予測した場合は、今回のアクセス終了前にプリチャージ動作が開始され、今回と次回のアクセス要求を連続的に受け付けた場合でも、今回のアクセス終了時点でプリチャージ動作が終了しているので、次回のアクセスは異ページのページオープン動作から開始すればよい。
【００６７】
ここで、「ページオープン」とは特定のバンクのワード線を選択状態にしたまま１ページ分のデータをセンスアンプ３０８に保持しておくことを指す。一方、「ページクローズ」とはセンスアンプ３０８に保持されたデータを消去するプリチャージ動作を行うことでバンク内のワード線を非選択状態にして、このバンクに対するワード線の選択要求があったときどのワード線でもすぐに選択できるようにしておくことを指す。
【００６８】
ＤＲＡＭ３００へのアクセスには前述の通り局所性があるので、ページヒット率が高い場合は、次回のアクセスにおいて同一ページをアクセスする確率が高い。そのため、ページオープンの状態でアクセスを終了しておくと、レイテンシを削減することができる。
【００６９】
一方、ページヒット率が低い場合は、次回のアクセスは異ページである確率が高い。次回のアクセスが異ページの場合、ページオープンとしておくと一旦そのページを閉じて別のページを開き直す分時間がかかってしまう。このため、ページヒット率が低い場合は、ページクローズでアクセスを終了する。こうすることで、次回のアクセスが異ページの場合、ページオープン動作から開始すればよいため、レイテンシが削減できる。
【００７０】
本構成のモード制御部２０３においては、動作時間が経過するつれ、ヒット率の分母であるアクセス数が多くなるので、ヒット率があまり変わらなくなり、モードの切り替わりが遅くなる。時間が経過し、モードの切り替わりが遅くなってから、局所性が短時間で切り替わるようなアクセスが多く発生した場合、それらのアクセスに追従できなくなる。それを防ぐため、モード制御部は周期的にリセットをかけて、再度ヒット率計算をやり直すようにしてもよい。たとえば、１ライン周期など、一定周期毎に動作するマスターがあり、局所性がその周期で切り替わるようなアクセスが多い場合、その周期に合わせてリセット周期を設定した方がレイテンシは改善される。
【００７１】
また、ＤＲＡＭ  ３００の種類がＬＰＤＤＲ４規格準拠の場合、一定周期毎にリトレーニングを行う必要がある。リトレーニングとは、前記ＤＲＡＭとの入出力のタイミングが一致するように、所定周期でメモリコントローラの入出力タイミングを調整することである。当該リトレーニングに関しても、リトレーニング前後にバンククローズ、オープンの操作が入るので、リフレッシュと同様に１回目のバンクアクティブコマンドをページヒット率の計算にカウントしないという構成でもよい。
【００７２】
本構成によれば、リフレッシュやリトレーニングの影響を考慮して、オープン／クローズモードを適切に選択することで、レイテンシを減らし、帯域を向上させ、より高解像度、高フレームレートの映像を取り込むことが可能となる。
【符号の説明】
【００７３】
１００  バスマスタ群、１０１  現像処理部、１０２  エンコード処理部、
１０３  デコード処理部、１０４  ＮＲ処理部、１０５  表示処理部、
１０６  補正処理部、２００  メモリコントローラ、２０１  調停部、
２０２  コマンド生成部、２０３  モード制御部、３００  ＤＲＡＭ、
３０１  コマンドデコーダー、３０２  カラムアドレスバッファ、
３０３  ロウアドレスバッファ、３０４  データバッファ、
３０５  ＤＲＡＭセルアレイ、３０６  カラムデコーダー、
３０７  ロウデコーダー、３０８  センスアンプ
【図１】
2020087055.tif 000003
【図２】
2020087055.tif 000004
【図３】
2020087055.tif 000005
【図４】
2020087055.tif 000006