JP2020087055A - メモリ制御装置 - Google Patents

メモリ制御装置 Download PDF

Info

Publication number
JP2020087055A
JP2020087055A JP2018221786A JP2018221786A JP2020087055A JP 2020087055 A JP2020087055 A JP 2020087055A JP 2018221786 A JP2018221786 A JP 2018221786A JP 2018221786 A JP2018221786 A JP 2018221786A JP 2020087055 A JP2020087055 A JP 2020087055A
Authority
JP
Japan
Prior art keywords
page
access
dram
counter
accessed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018221786A
Other languages
English (en)
Inventor
真宏 会見
Masahiro Aimi
真宏 会見
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2018221786A priority Critical patent/JP2020087055A/ja
Publication of JP2020087055A publication Critical patent/JP2020087055A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)

Abstract

【課題】DRAMのリフレッシュの影響を考慮してページヒットを判定することで、DRAMにアクセスする際のレイテンシをより改善することができるメモリ制御装置、メモリ制御システム、記録装置及びメモリ制御方法を提供する。【解決手段】メモリコントローラシステムにおいて、メモリコントローラ200は、メモリアクセスにおいて要求されたページと異なるページ、かつ、リフレッシュ後の2回目以降のアクセス要求がされた数を計数するカウンターを設け、カウンターの値に応じて、アクセス中の対象ページを保持するページオープンの指示、あるいは、アクセス中の対象ページを閉じるページクローズの指示を切り替える。【選択図】図1

Description

本発明は、複数のマスターとメモリ間に介在し、マスターからの要求に基づいてメモリへのアクセス制御を行うメモリ制御装置に関する。
デジタルカメラにおいては、映像信号や音声信号などの情報を処理することが要求される。複数種類の情報を統合的に処理するために、複数の機能を1チップにまとめたシステムLSIが用いられる。このシステムLSIは、映像のエンコード・デコード、映像処理、映像表示および音声処理などを行う多くのモジュールを含む。これらのモジュールにおいて処理に必要とされるデータは、たとえばDynamic Random Access Memory(以下、DRAM)などのメモリに格納されるのが一般的である。DRAMへアクセスを行なうモジュールとDRAMとは、メモリコントローラを介して結合される。メモリに対するアクセス要求を発行するモジュールを「マスター」とする。メモリコントローラは、複数のマスターが並行してメモリにアクセス要求を発行した場合、これらのアクセス競合を調停する機能を持つ。
近年、デジタルカメラで扱う映像の高解像度化、高フレームレート化などの影響によりシステムLSIで処理する映像データの量が増加している。そのため、メモリコントローラが所定期間内(たとえば1映像フレーム期間内)にメモリに所望量の映像データを読み書きすることができないことが起こりうる。このような帯域破綻を回避するためには、メモリコントローラ内でより効率的に映像データを処理する必要がある。
メモリコントローラの処理内容について記載する。メモリコントローラに接続されるDRAMは、複数(4つ又は8つ)のバンクを備える。メモリコントローラはマスターから要求されたロウアドレスとカラムアドレスを指定して、対応するバンクからのデータの読出し又は書込み動作を行う。このとき、要求されたアドレスに対応する1つのバンクが選択され、その選択されたバンク中のロウアドレスで指定された1行分のデータ(ページ)をセンスアンプに保持する。そして、センスアンプに保持されたページ中のカラムアドレスで指定された箇所に対しデータの書込み又は読出しを行う。
次回のアクセス時には、前回アクセスと同一ページが指定されれば、開かれたページに直ぐにアクセスできる。しかし、前回アクセスと異なるページ(異ページ)が指定された場合は、ページを一旦閉じるページクローズ動作(プリチャージ動作)と、ページを開くページオープン動作とが必要になる。このプリチャージ動作とページオープン動作には時間がかかるので、メモリコントローラのアクセス時の遅延時間(レイテンシ)が増大し、時間当たりのデータ処理量(帯域)が劣化する原因になる。
また、アクセス終了時の動作を予めオープンとクローズのうち一方に固定しておく固定方式も知られている。
例えばオープン固定方式(以下、オープンモード)ではアクセス終了後はページオープン状態に保持する。この場合、次のアクセスが同一ページであった場合には、開かれたページに直ぐにアクセスでき、レイテンシを改善することができる。しかし、次のアクセスが異ページであった場合、プリチャージ動作(ページクローズ動作)から開始しなければならず、レイテンシが増大する。
一方、クローズ固定方式(以下、クローズモード)ではアクセス終了の度にプリチャージ動作を行う。この場合、次のアクセスが異ページであった場合は、プリチャージ動作から開始する必要がなく、レイテンシを改善できる。しかし、次のアクセスが同一ページであった場合は、ページオープン動作が必要になり、次回のアクセスの開始がその分遅延し、この場合もレイテンシが増大する。
特許文献1には、それまでのアクセスの傾向からオープンかクローズかを予測し、オープンモード、クローズモードの切り替えを行う技術が開示されている。1つのマスターからDRAMに対するアクセスは、ランダムアクセスであっても、現在アクセスしたアドレスやその近くのアドレスは、近い将来に、頻繁に、再度アクセスされる可能性が高いという性質(「空間的局所性」と呼ぶ)がある。従って、空間的局所性を有する1つのマスターからのDRAMへのアクセスは同一ページ内へ頻繁に生じることになる。
一方で、メモリコントローラには多くのマスターが接続されるので、ある1つのマスターと関わりの無いマスターも同時にアクセス要求が発行されることがある。その場合、2つのマスター間に空間的局所性はないことが多いので、マスターからのDRAMへのアクセスは異ページ内へ生じやすくなる。この場合は、2つのマスターが独立に動作しているが、競合している時間が存在することになり、ある時間に異ページへのアクセスが発生しやすく、逆にそれ以外の時間は同ページへのアクセスが発生しやすい(「時間的局所性」と呼ぶ)。以下、空間的局所性、時間的局所性を合わせて局所性と呼ぶ。
特許文献1は、上記の局所性を利用して、アクセス中の対象バンクの総アクセスに対するページヒットの回数をページヒット率として算出し、次のアクセスが同一ページか異ページかを予測する。すなわち、ページヒット率が設定値以上となり、次回アクセスも同一ページになる可能性が高いと予測される場合、コントローラはオープンモードとなり、アクセス中の対象ページをオープン状態に保持する。
一方、アクセス中の対象バンクのページヒット率が設定値未満であり、次回アクセスが同一ページとならない可能性が高いと予測される場合、コントローラはクローズモードとなり、アクセス中の対象ページを閉じる。つまり、同一ページの可能性が高い場合に、不要なページクローズ動作を高確率で回避することが可能となる。一方で異ページの可能性が高い場合、ページクローズ動作を次回のアクセスに先立って行っておくことで、次回のアクセスが異ページの場合にページオープン動作から開始することにより、次回アクセスを早期に開始できる。この結果、メモリ制御装置においてDRAMにアクセスする際のレイテンシを改善でき、帯域を向上させることができる。
特開2011−197707号公報
DRAMは複数個のDRAMセルで構成され、DRAMセルとは、1個のトランジスターと1個のコンデンサーから構成される。DRAMは、コンデンサーに蓄えられた電荷が消失する前に「内容を読み取ってもう一度上書きする」という、内容を消さないための処理が必須となる。これをリフレッシュと呼ぶ。従来技術はページヒット率の算出に、DRAMのリフレッシュの影響を考慮しておらず、帯域向上の施策を誤ることが起こりうる。たとえば、リフレッシュ直後に異ページへのアクセスが発生した場合、必ずページオープン動作から開始する必要があり、先行アクセスについてクローズモードでもオープンモードでもレイテンシは同じである。
しかし、従来技術では、このアクセスを異ページのアクセスと判定してしまい、ページヒット率を下げてしまう。もしこういったアクセスが多く発生した場合、ページヒット率が低くなるため、クローズモードが選択されやすくなる。そのため、これ以外のアクセスにおいて同ページのアクセスが多い場合においても、オープンモードを選択した方がレイテンシは改善されるのにも関わらず、クローズモードが選択されるので問題となる。
本発明は、上記課題に鑑みてなされたものであり、DRAMのリフレッシュの影響を考慮してページヒットを判定することで、DRAMにアクセスする際のレイテンシをより改善することができるメモリ制御装置、メモリ制御システム、記録装置及びメモリ制御方法を提供することを目的とする。
上記の目的を達成するために、本発明は、メモリアクセスにおいて要求されたページと異なるページ、かつ、リフレッシュ後の2回目以降のアクセス要求がされた数を計数する第1カウンターを設け、前記第1カウンターの値に応じて、アクセス中の対象ページを保持するページオープンの指示、あるいは、アクセス中の対象ページを閉じるページクローズの指示を切り替えるようにした。また、全アクセス数を計数する第2カウンターと前記第1カウンターの計測値によりページヒット率を算出し、前記ページヒット率が所定値以上の場合、アクセス中の対象ページを保持するページオープンの指示、それ以外の場合、アクセス中の対象ページを閉じるページクローズの指示を切り替えるようにした。
メモリアクセスにおいて要求されたページと異なるページ、かつ、リフレッシュ後またはリトレーニング後の2回目以降のアクセス要求がされた数を計数する第1カウンターを設け、前記第1カウンターの値に応じて、アクセス中の対象ページを保持するページオープンの指示、あるいは、アクセス中の対象ページを閉じるページクローズの指示を切り替えるようにした。全アクセス数を計数する第2カウンターと前記第1カウンターの計測値によりページヒット率を算出し、前記ページヒット率が所定値以上の場合、アクセス中の対象ページを保持するページオープンの指示、それ以外の場合、アクセス中の対象ページを閉じるページクローズの指示を切り替えるようにした。
本発明によれば、DRAMのリフレッシュの影響を考慮し、適切なメモリ制御方法をとることで、帯域を向上させ、より高解像度、高フレームレートの映像を取り込むことが可能となる。
本発明にかかるメモリコントローラシステムの構成例を示すブロック図 本発明にかかるモード制御部の構成例を示すブロック図 本発明にかかるモードオープンモード、クローズモードのレイテンシの差を説明するタイミング図 本発明にかかるモード制御の例を示すフローチャート
以下、図面を参照しながら本発明の好適な実施の形態を説明する。
図1は、実施例におけるメモリコントローラシステムの構成例を示す構成図である。図1に示すメモリコントローラシステムは、マスター群100、メモリコントローラ200、DRAM300から構成される。
マスター群100はDRAM300に対してアクセス要求を発行するモジュール(マスター)群で、補正処理部101、エンコード処理部102、デコード処理部103、NR処理部104、表示処理部105、現像処理部106から構成される。各処理部は、処理の内容に応じてDRAMをアクセスするための要求信号を含む各種信号を出力する。
以下、各バスマスタの詳細な処理内容を述べる。補正処理部101は、撮像部から出力されるベイヤー配列の映像データに対し傷補正等の前処理を行い、処理後のデータをDRAMに格納する。エンコード処理部102はDRAMに格納してある輝度色差データを読み出し、所定の方式(例えば動画、音声を圧縮する規格であるMPEG方式)に変換した圧縮データを生成し、DRAMに格納する。
デコード処理部103は圧縮データを伸長した画像データを生成し、DRAMに格納する。NR処理部104は、DRAMから読み出したデータに対して所定の処理を行ってノイズを除去し、処理後のデータをDRAMに格納する。
表示処理部105は、DRAMから読み出したデータを表示データに変換し、変換後のデータを表示部に出力する。現像処理部106は、補正処理部101による補正処理後のRGBデータをDRAMから読み出して輝度色差データに変換し、処理後のデータをDRAMに格納する。
メモリコントローラ200は、各処理部を調停する調停部201、DRAMに送る制御情報を生成するコマンド生成部202、アクセス後のページがオープンかクローズかを制御するモード制御部203から構成される。
調停部201は、マスター群100につながっており、マスター群100から同時に複数のアクセスが発生した場合に、それらを調停する。調停部201によるアクセス要求の調停方式には、固定優先方式およびラウンドロビン方式等種々の方式がある。調停部201は、前記調停方式による調停結果に応じて、1つのマスターに対する要求をコマンド生成部202に渡し、残りの要求は後で処理するために調停部内で順番に記憶する。
コマンド生成部202は、マスター群100内の各マスターからメモリコントローラ200を介して要求されたアドレスが前回要求されたアドレスと同一バンクか否かを判定し、適切なコマンドをDRAM300に対して発行する。詳細については後述する。
モード制御部203は、次回のアクセスが同一ページか異ページかを予測し、予測結果に基づいて、コマンド生成部に対して、オープンモード/クローズモードの制御信号を送信する。詳細については後述する。
このシステムにより、マスターは、メモリコントローラ200を介してDRAM300にアクセスすることができる。メモリコントローラ200は、マスターから読出し要求を受け付けた場合、DRAM300に対して読出しコマンドを送り、DRAM300はこのコマンドをデコードして所望のデータの読出し制御を行なう。
一方、メモリコントローラ200は、マスターからから書込み要求を受け付けた場合、DRAM300に対して書込みコマンドを送り、DRAM300はこのコマンドをデコードして所望のデータの書込み制御を行なう。
DRAM300は、コマンド生成部202と、アドレスバス、コマンドバス、データバスを介して接続されている。DRAM300は、コマンドデコーダー301、カラムアドレスバッファ302、ロウアドレスバッファ303、データバッファ304、DRAMセルアレイ305、カラムデコーダー306と、ロウデコーダー307と、センスアンプ308を備えている。
DRAMセルアレイ305は、バンクとも呼ばれ、複数のバンクを兼ね備えている。各バンクは、複数のメモリセルをマトリクス配列して構成され、各メモリセルは互いに交差する複数本のワード線と複数本のビット線の交差部に配置されている。一本のワード線に沿った複数のメモリセルの集合が、データ読み出し及び書き込みの単位であるページとなる。
コマンドデコーダー301は、コマンド生成部202から送信されたコマンドを解析し、各種の制御を行う。コマンドデコーダー301は、アクティブコマンドを受けると、DRAMセルアレイ305のバンクを活性化させ、各バンクとデータバスとの間のデータ転送を制御する。プリチャージコマンドを受けると、センスアンプに保持されているデータを消去する。
リフレッシュコマンドを受けると、各バンク内に蓄えてあるデータを読み出し、再度書き込み処理を行う。また、コマンドデコーダー301は、各種タイミング制御信号に基づいてシーケンス制御を行い、ロウアドレスバッファ303からロウデコーダー307へのロウアドレスの供給、カラムアドレスバッファ302からカラムデコーダー306へのカラムアドレスの供給、データ読出し動作及びデータ書込み動作等の制御を行う。
ロウデコーダー307は、ワード線ドライバーを含み、バンクの選択及びワード線の選択駆動等を行う。センスアンプ308は、選択中のバンクにおけるビット線データをセンスする1ページ分のセンスアンプ素子列を備える。
1ページ分の読み出しデータは、カラムデコーダー306により選択されて、データバッファ304に出力される。データバッファ304から供給される書き込みデータは、カラムデコーダー306により選択されてセンスアンプ308にロードされる。コマンド生成部202からアドレスバスを介して転送されるロウアドレスがロウアドレスバッファ303に送られ、カラムアドレスがカラムアドレスバッファ302に送られる。そして、ロウアドレスバッファ303のロウアドレスがロウデコーダー307に転送され、カラムアドレスバッファ302のカラムアドレスがカラムデコーダー306に転送される。
このような構成の元、コマンド生成部202は、まず、マスター群100内の各マスターからメモリコントローラ200を介して要求されたアドレスが前回要求されたアドレスと同一バンクか否かを判定する。
そして、異なるバンクへのアクセスと判定した場合は、アクティブコマンドとロウアドレスをDRAM300へ送る。このコマンドとロウアドレスによって、DRAM300内の特定のバンクが選択され、かつその選択されたバンクにおけるロウアドレスに対応するワード線が選択され、このワード線上の一行分のデータが、センスアンプに転送及び増幅されて保持される。
一方、要求されたアドレスから同一バンクへのアクセスの場合は、アクティブコマンドを送らず、ロウアドレスをDRAM300に送る。このロウアドレスによって、選択中のバンクにおけるロウアドレスに対応するワード線が選択され、このワード線上の一行分のデータが、センスアンプに転送及び増幅されて保持される。
次に、コマンド生成部202は、読み出しの際は、リード命令とカラムアドレスをDRAM300に送り、この命令とカラムアドレスによって、センスアンプで保持されているページのうちカラムアドレスに対応するデータが読み出される。
一方、書き込みの際は、コマンド生成部202は、ライト命令とカラムアドレスをDRAM300に送り、この命令とカラムアドレスによって、センスアンプで保持されているページのうちカラムアドレスに対応するデータが書き替えられる。
図2はモード制御部203の内部構造を示した図である。
モード制御部203は、アクセス観測部400、ページミス観測部401、ヒット率計算部402、モード判定部403から構成される。
アクセス観測部400は、コマンド生成部202からDRAM 300に送信されるアクセスコマンド(読出しコマンド、書込みコマンドおよびアドレス)が入力され、バンク毎に全アクセス数をそれぞれ計数する。
ページミス観測部401は、コマンド生成部202からDRAM300に送信されるアクティブコマンドおよびリフレッシュコマンドが入力される。異ページに対するアクセスには、アクティブコマンドが送信され、その数を積算してページミス数として記憶する。しかし、各バンクへのリフレッシュコマンドがアサートされた後に発行されたアクティブコマンドについては、1回目のみ記憶せず、2回目以降を記憶する。このような計数方法にすることで、リフレッシュ後1回目のアクセスについてのページミスのカウント数を減らし、ヒット率の低下を防いでいる。詳細は後述する。
ヒット率計算部402は、アクセス観測部400からの全アクセス数、および、ページミス観測部401からのページミス数からヒット率を計算する。ヒット率の計算は、以下の計算式の通りである。
ページヒット率[%]=(全アクセス数-ページミス数)/全アクセス数×100[%]
ヒット率の計算結果は、モード判定部403に送信される。モード判定部403は、ヒット率計算部402から入力されたページヒット率[%]が設定値[%]以上であるか否かを判定し、判定結果に基づきオープンモード、クローズモードの制御信号をコマンド生成部に送信する。本例では設定値を50%とし、ページヒット率が50%を下回るときにクローズモード、ページヒット率が50%以上のときにオープンモードの制御信号をコマンド生成部に出力する。設定値の設定は、CPU(図示しない)から行う。
図3は、あるアクセスに対するオープンモード、クローズモードの場合のレイテンシの差を説明するタイミング図である。
tRP(Row precharge Time)はページをクローズしてから別ページをオープンするまでに待つ時間であり、tRCD(RAS−CAS Delay Time)は、ページをオープンしてからアクセス開始までに待つ時間である。
本実施例ではtRP=tRCD=18nsとする。オープンモードの場合、今回のアクセス終了から次回のアクセス開始までの待ち時間(レイテンシ)は、次回のアクセスが同一ページ(ページヒット)であれば「0」、異なるページ(ページミス)であれば「tRP+tRCD」になる。クローズモードの場合、今回のアクセスはプリチャージ動作をして終えるので、次回のアクセスが異ページのときも同一ページのときも共にレイテンシは、tRCDになる。
図3の例では、異ページ、異ページ、リフレッシュ、異ページ、同ページ、リフレッシュ、異ページ、同ページとアクセスしている。図3(a)はクローズモードでこれらのアクセスを行った場合、図3(b)はオープンモードでこれらのアクセスを行った場合のタイミング図を示している。レイテンシを比較すると図3(a)は3tRCD=54ns、図3(b)はtRP+tRCD=36nsとなるので、図3(b)のオープンモードの方がレイテンシを削減できる。
従来技術では、図3のアクセスに対しては、異ページ4回、同ページ2回とカウントし、ページヒット率は約33%となり、ページヒット率が50%を下回るのでクローズモードが選択される。
一方、本実施例のページミス観測部401においては、リフレッシュ直後の異ページへのアクセスはカウントしないので、異ページ2回、同ページ2回とカウントする。その結果、ページヒット率は約50%となり、ページヒット率が50%以上なのでオープンモードが選択される。図3の例の場合、オープンモードの方がレイテンシは少ないため、本実施例によれば、よりレイテンシの少ない適切なモードを選択することが可能となる。
図4は、モード制御部203が行う処理をフローチャートで示したものである。
ステップS100では、CPUからの設定にてページの制御を自動で行うか否かを判定する。ページ自動制御モードで無い場合は、処理を終了する。ページ自動制御の場合、ステップS101に進み、モード制御部203によるページヒット率の計測を行う。すなわち、アクセス観測部400によるアクセスコマンドの観測と、ページミス観測部403によるアクティブコマンド、リフレッシュコマンドの観測を行う。
そして、ヒット率計算部401が、ページミス観測部403によるページミス数と、アクセス観測部400による全アクセス数とを用いて、バンク毎のページヒット率を演算する。ヒット率計算部401は、それぞれのヒット率計算結果をモード判定部402に出力する。
ステップS102では、モード判定部402がバンク毎のページヒット率が50%以上であるか否かを判断する。そして、モード判定部402はその演算したページヒット率が設定値(本例では50%)以上であるか否かをバンク毎に判定する。このとき、バンク毎のページヒット率が設定値以上であれば、ステップS103に進んで、コマンド生成部202にオープンモードになるよう制御信号を送信する。
一方、バンク毎のページヒット率が50%未満であれば、ステップS104に進んで、コマンド生成部202にクローズモードになるよう制御信号を送信する。モード選択が終わると、ステップS100に戻り、ページの制御を自動で行うか否かを判定する。
本構成によれば、現在選択中のバンクにおけるページヒット率が50%以上であれば、次回のアクセスが同一ページになると確率が高いと予想されるため、ページオープンが指示される。
一方、現在選択中のバンクにおけるページヒット率が50%未満であれば、次回のアクセスが異ページになる確率が高いと予測されるため、ページクローズ動作(プリチャージ動作)が指示される。
本構成にて、DRAM300にアクセスする際のレイテンシを改善できるが、その仕組みについて記載する。DRAM300にてワード線が選択され、1ページをセンスアンプ308に一旦保持してしまえば、同一ワード線上のアクセスつまり同一ページのアクセスは比較的短時間で行うことができる。
しかし、現在、選択されているワード線とは異なるワード線上のデータ、つまり異ページにアクセスする場合は、センスアンプ308に保持されているデータを一旦消去するプリチャージ動作と、新しいワード線上の1行分のデータ(異ページ)をセンスアンプに転送及び増幅して保持させるページオープン動作とが必要になる。このため、異ページにアクセスする場合は、データの読み出し又は書き込みを開始できるまでに比較的長いレイテンシが発生する。
本実施例におけるメモリコントローラ200は、次のアクセスが同一ページか否かを予測する。そして、同一ページと予測した場合はセンスアンプ308に現在保持されている1行分のデータ(現ページ)を保持すべくページオープン状態の保持を指示し、異ページと予測した場合はページクローズ動作(プリチャージ動作)を指示する。このページオープンの指示とページクローズの指示は、今回のアクセスが終了するまでに行われる。
このため、次回のアクセスを異ページと予測した場合は、今回のアクセス終了前にプリチャージ動作が開始され、今回と次回のアクセス要求を連続的に受け付けた場合でも、今回のアクセス終了時点でプリチャージ動作が終了しているので、次回のアクセスは異ページのページオープン動作から開始すればよい。
ここで、「ページオープン」とは特定のバンクのワード線を選択状態にしたまま1ページ分のデータをセンスアンプ308に保持しておくことを指す。一方、「ページクローズ」とはセンスアンプ308に保持されたデータを消去するプリチャージ動作を行うことでバンク内のワード線を非選択状態にして、このバンクに対するワード線の選択要求があったときどのワード線でもすぐに選択できるようにしておくことを指す。
DRAM300へのアクセスには前述の通り局所性があるので、ページヒット率が高い場合は、次回のアクセスにおいて同一ページをアクセスする確率が高い。そのため、ページオープンの状態でアクセスを終了しておくと、レイテンシを削減することができる。
一方、ページヒット率が低い場合は、次回のアクセスは異ページである確率が高い。次回のアクセスが異ページの場合、ページオープンとしておくと一旦そのページを閉じて別のページを開き直す分時間がかかってしまう。このため、ページヒット率が低い場合は、ページクローズでアクセスを終了する。こうすることで、次回のアクセスが異ページの場合、ページオープン動作から開始すればよいため、レイテンシが削減できる。
本構成のモード制御部203においては、動作時間が経過するつれ、ヒット率の分母であるアクセス数が多くなるので、ヒット率があまり変わらなくなり、モードの切り替わりが遅くなる。時間が経過し、モードの切り替わりが遅くなってから、局所性が短時間で切り替わるようなアクセスが多く発生した場合、それらのアクセスに追従できなくなる。それを防ぐため、モード制御部は周期的にリセットをかけて、再度ヒット率計算をやり直すようにしてもよい。たとえば、1ライン周期など、一定周期毎に動作するマスターがあり、局所性がその周期で切り替わるようなアクセスが多い場合、その周期に合わせてリセット周期を設定した方がレイテンシは改善される。
また、DRAM 300の種類がLPDDR4規格準拠の場合、一定周期毎にリトレーニングを行う必要がある。リトレーニングとは、前記DRAMとの入出力のタイミングが一致するように、所定周期でメモリコントローラの入出力タイミングを調整することである。当該リトレーニングに関しても、リトレーニング前後にバンククローズ、オープンの操作が入るので、リフレッシュと同様に1回目のバンクアクティブコマンドをページヒット率の計算にカウントしないという構成でもよい。
本構成によれば、リフレッシュやリトレーニングの影響を考慮して、オープン/クローズモードを適切に選択することで、レイテンシを減らし、帯域を向上させ、より高解像度、高フレームレートの映像を取り込むことが可能となる。
100 バスマスタ群、101 現像処理部、102 エンコード処理部、
103 デコード処理部、104 NR処理部、105 表示処理部、
106 補正処理部、200 メモリコントローラ、201 調停部、
202 コマンド生成部、203 モード制御部、300 DRAM、
301 コマンドデコーダー、302 カラムアドレスバッファ、
303 ロウアドレスバッファ、304 データバッファ、
305 DRAMセルアレイ、306 カラムデコーダー、
307 ロウデコーダー、308 センスアンプ

Claims (6)

  1. 複数のマスターからのDRAMへのアクセスを制御するメモリ制御装置であって、アクセスにおいて要求されたページと異なるページ、かつ、リフレッシュ後の2回目以降のアクセス要求がされた数を計数する第1カウンターを設け、前記第1カウンターの値に応じて、アクセス中の対象ページを保持するページオープンの指示、あるいは、アクセス中の対象ページを閉じるページクローズの指示を切り替えることを特徴とするメモリ制御装置。
  2. 全アクセス数を計数する第2カウンターと前記第1カウンターの計測値によりページヒット率を算出し、前記ページヒット率が所定値以上の場合、アクセス中の対象ページを保持するページオープンの指示、それ以外の場合、アクセス中の対象ページを閉じるページクローズの指示を切り替えることを特徴とする請求項1に記載のメモリ制御装置。
  3. 複数のマスターからのDRAMへのアクセスを制御するメモリ制御装置であって、メモリアクセスにおいて要求されたページと異なるページ、かつ、リフレッシュ後またはリトレーニング後の2回目以降のアクセス要求がされた数を計数する第1カウンターを設け、前記第1カウンターの値に応じて、アクセス中の対象ページを保持するページオープンの指示、あるいは、アクセス中の対象ページを閉じるページクローズの指示を切り替えることを特徴とするメモリ制御装置。
  4. 全アクセス数を計数する第2カウンターと前記第1カウンターの計測値によりページヒット率を算出し、前記ページヒット率が所定値以上の場合、アクセス中の対象ページを保持するページオープンの指示、それ以外の場合、アクセス中の対象ページを閉じるページクローズの指示を切り替えることを特徴とする請求項3に記載のメモリ制御装置。
  5. 前記1カウンターの計測値を所定周期で初期化することを特徴とする請求項1又は請求項3に記載のメモリ制御装置。
  6. 前記1カウンターの計測値および前記第2カウンターの計測値を所定周期で初期化することを特徴とする請求項2又は4に記載のメモリ制御装置。
JP2018221786A 2018-11-28 2018-11-28 メモリ制御装置 Pending JP2020087055A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018221786A JP2020087055A (ja) 2018-11-28 2018-11-28 メモリ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018221786A JP2020087055A (ja) 2018-11-28 2018-11-28 メモリ制御装置

Publications (1)

Publication Number Publication Date
JP2020087055A true JP2020087055A (ja) 2020-06-04

Family

ID=70908278

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018221786A Pending JP2020087055A (ja) 2018-11-28 2018-11-28 メモリ制御装置

Country Status (1)

Country Link
JP (1) JP2020087055A (ja)

Similar Documents

Publication Publication Date Title
US7089369B2 (en) Method for optimizing utilization of a double-data-rate-SDRAM memory system
US6792516B2 (en) Memory arbiter with intelligent page gathering logic
JP4742116B2 (ja) アウトオブオーダdramシーケンサ
US20150046642A1 (en) Memory command scheduler and memory command scheduling method
TWI236591B (en) Method and apparatus for determining a dynamic random access memory page management implementation
US6385692B2 (en) Methods and apparatus for variable length SDRAM transfers
CN108139994B (zh) 内存访问方法及内存控制器
US6182192B1 (en) Memory interface device and method for accessing memories
CN113641603A (zh) 一种基于axi协议的ddr仲裁与调度方法及系统
US10509743B2 (en) Transferring data between memory system and buffer of a master device
US6622222B2 (en) Sequencing data on a shared data bus via a memory buffer to prevent data overlap during multiple memory read operations
JP2008210088A (ja) メモリコントローラ、半導体メモリのアクセス制御方法およびシステム
US20050182868A1 (en) Apparatus and method for controlling memory
JP2020087055A (ja) メモリ制御装置
US7581072B2 (en) Method and device for data buffering
US20030126380A1 (en) Memory arbiter with grace and ceiling periods and intelligent page gathering logic
US7613866B2 (en) Method for controlling access to a multibank memory
JP2000172560A (ja) メモリ制御装置
JP2011197707A (ja) メモリー制御装置、メモリー制御システム、記録装置及びメモリー制御方法
JP2021077121A (ja) メモリコントローラ、メモリコントローラで実施される方法および装置
US10768859B1 (en) History-based memory control system and method
JP2006107245A (ja) メモリコントローラ
US20200331485A1 (en) Command control system, vehicle, command control method and non-transitory computer-readable medium
JP2000207883A (ja) シンクロナスdram
EP1513072A2 (en) Method for multibank memory scheduling

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20191125