JP7414477B2 - メモリコントローラ、メモリコントローラで実施される方法および装置 - Google Patents

メモリコントローラ、メモリコントローラで実施される方法および装置 Download PDF

Info

Publication number
JP7414477B2
JP7414477B2 JP2019203509A JP2019203509A JP7414477B2 JP 7414477 B2 JP7414477 B2 JP 7414477B2 JP 2019203509 A JP2019203509 A JP 2019203509A JP 2019203509 A JP2019203509 A JP 2019203509A JP 7414477 B2 JP7414477 B2 JP 7414477B2
Authority
JP
Japan
Prior art keywords
memory access
access request
dram
issuing
command
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.)
Active
Application number
JP2019203509A
Other languages
English (en)
Other versions
JP2021077121A (ja
Inventor
大介 白石
元久 伊藤
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 JP2019203509A priority Critical patent/JP7414477B2/ja
Priority to US17/072,400 priority patent/US20210141567A1/en
Publication of JP2021077121A publication Critical patent/JP2021077121A/ja
Application granted granted Critical
Publication of JP7414477B2 publication Critical patent/JP7414477B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Memory System (AREA)
  • Dram (AREA)

Description

本発明は、メモリコントローラ、メモリコントローラで実施される方法および装置に関する。
コンピュータシステムの主記憶装置として、一般的にDRAM(Dynamic Random Access Memory)が使用されている。コンピュータシステムの高機能化、高性能化に伴い、DRAMに対する性能要求は高まっており、その性能を最大限に引き出すために様々なメモリコントローラが提案されている。
DRAMの複数バンクへのメモリアクセスを独立に制御する場合に、複数のコマンドの発行タイミングが重なることがある。複数のコマンドを同時に発行することはできないため、いずれかのコマンド発行を遅らせる必要があり、メモリ利用効率が低下する要因となる。これに対して、アクセスしたページをメモリアクセス後にプリチャージするオートプリチャージ付きリードライトコマンドを利用することでコマンド発行数を少なくし、複数コマンドの発行タイミングが重なる蓋然性を減少させる工夫がなされている。
特許文献1では、現在のメモリアクセスと次のメモリアクセスがアクセスするページを比較し、ページが異なる場合はオートプリチャージ付きリードライトコマンドを発行する。一方、ページが同じ場合はオートプリチャージなしでリードライトコマンドを発行する。
特開2007-249837号公報
近年、メモリコントローラは、バスから受信したメモリアクセス要求をメモリアクセス要求の優先順位やDRAM状態に基づいて並び替えるリオーダ機能によって、メモリ利用効率の向上、および、レイテンシ削減を実現している。
特許文献1に示される手法によると、現在のメモリアクセスとその次にバスから受信したメモリアクセスとがアクセスするページを比較しており、リオーダ機能によるメモリアクセス要求の並び替えは考慮されていない。そのため、リオーダ機能によりメモリアクセス要求が並び替えられた場合に、後続に同じページへのメモリアクセスがあるにも関わらずオートプリチャージ付きリードライトコマンドを発行することがある。同様に、後続に異なるページへのメモリアクセスがあるにも関わらずオートプリチャージなしでリードライトを発行することがある。このように、メモリ利用効率が低下するおそれがある。
本発明はこうした課題に鑑みてなされたものであり、その目的は、リオーダ機能を実装するメモリコントローラにおいてメモリ利用効率を高めることができる技術の提供にある。
本発明のある態様はメモリコントローラに関する。このメモリコントローラは、DRAMに接続されたメモリコントローラであって、DRAMに対するメモリアクセス要求を格納する格納手段と、格納手段に格納されているメモリアクセス要求の発行順を所定の基準に基づいて決定する決定手段と、決定手段により決定された発行順に基づきDRAMへコマンドを発行する発行手段と、発行手段が第一メモリアクセス要求のコマンドをDRAMへ発行する際に、第一メモリアクセス要求の次に同じバンクにコマンドを発行する第二メモリアクセス要求を、所定の基準に基づき決定された発行順にしたがって選択し、第一メモリアクセス要求と第二メモリアクセス要求とが同じページを対象とするか否かを判定し、前記第一メモリアクセス要求の次に同じバンクにコマンドを発行するメモリアクセス要求がなかった場合、予め決められているページ制御に基づいて比較結果を出力する判定手段と、を備える。発行手段は、判定手段が同じページを対象とすると判定した場合、オートプリチャージなしで第一メモリアクセス要求のコマンドを発行する。
本発明によれば、リオーダ機能を実装するメモリコントローラにおいてメモリ利用効率を高めることができる。
実施の形態に係るメモリコントローラを備える画像処理装置のハードウエア構成を示す図。 図1のメモリコントローラおよびそれに接続される部材の機能および構成を示すブロック図。 図2のメモリアクセス要求格納部を構成するエントリを示すデータ構造図。 本実施の形態における格納部制御信号の構成図。 図2のメモリアクセス要求発行順決定部の機能および構成を示すブロック図。 図2のページ判定部におけるページ判定アルゴリズムを示すフローチャート。
以下、添付図面を参照して実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る発明を限定するものではない。実施の形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。また、以下に示す実施の形態は、特に限定する場合を除き、ハードウエア上に実装しても、あるいはソフトウエアで実装しても構わない。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
実施の形態では、DRAMのメモリコントローラにおいて、リオーダ機能によりメモリアクセス要求が並び替えられた場合であっても、並び替え後の実際のメモリアクセス要求の発行順に基づいて、同じバンクに次にアクセスするメモリアクセス要求とページを比較し、リードライトコマンドのオートプリチャージを制御する。これにより、不要なオートプリチャージを抑制することができ、メモリの利用効率を高めることができる。
図1は、実施の形態に係るメモリコントローラ100を備える画像処理装置200のハードウエア構成を示す図である。画像処理装置200は例えばスマートフォンなどの小型電子機器である。画像処理装置200は、被写体を撮像し、リアルタイムでモニタに表示させる機能を有する。なお、以下では実施の形態に係るメモリコントローラ100が画像処理装置200に搭載される場合について説明する。しかしながら、当該メモリコントローラ100はデジタルカメラ等などの電子機器一般に広く搭載されうることは、本明細書に触れた当業者には明らかである。
画像処理装置200は、少なくとも、撮像部201と、DRAM110と、画像処理部202と、システムバス204と、メモリコントローラ100と、表示部205と、バスマスタ120と、を備える。
撮像部201は、被写体を撮像することで被写体の撮像画像を取得する。本実施の形態における撮像部201は、静止画像だけでなく、動画像を取得可能であり、所定の撮像タイミングで、動画像を構成する各フレーム画像を出力する。画像処理部202は、撮像部201で取得された画像に対して所望の画像処理を行う。画像処理は、輝度補正やガンマ補正などの一般的なものであり、詳細な説明は省略する。
DRAM110は、撮像部201で取得された撮像画像や画像処理部202で画像処理された撮像画像を一時的に記憶するワークメモリとして利用される同期型メモリである。メモリコントローラ100は、DRAM110へのアクセスを制御するインタフェースである。メモリコントローラ100の構成や動作については後述する。
表示部205は、画像処理部202で画像処理された画像を、所定の表示タイミングで表示するモニタである。以上の各処理部間のデータは、バスマスタ120による調停のもと、システムバス204を介して送受信される。メモリコントローラ100は、撮像部201で所定の撮像タイミングで取得された撮像画像が、画像処理部202で画像処理され、所定の表示タイミングで表示部205に表示されるようにするため、DRAM110へのアクセスを制御する。
図2は、図1のメモリコントローラ100およびそれに接続される部材の機能および構成を示すブロック図である。メモリコントローラ100は、DRAM110とバスマスタ120とに接続される。バスマスタ120は、アドレス情報と、書き込み要求であればライトデータと、を含むメモリアクセス要求をメモリコントローラ100に送信する。メモリコントローラ100は、バスマスタ120から受信したメモリアクセス要求を基にDRAMコマンドを生成し、DRAM110に送信する。また、送信したDRAMコマンドに基づいてDRAM110とデータ転送を行う。DRAM110はオートプリチャージ付きリードライトコマンドを受信すると、リードライトを実行した後に、アクセスしたページをプリチャージする。オートプリチャージ付きリードライトコマンドは、例えば、DDR3 SDRAMにおけるライトオートプリチャージやリードオートプリチャージである。メモリコントローラ100およびDRAM110はそれぞれ別個の半導体チップに設けられてもよいし、ひとつの半導体チップに設けられてもよい。あるいはまた、DRAM110はそれぞれが別個の半導体チップに設けられた複数のメモリデバイスであってもよい。
DRAM110は複数のバンクと各種デコーダと入出力センスアンプとデータバスバッファとを含む。各バンクでは、記憶素子であるDRAMセルがマトリクス状に配置される。DRAM110は、DDR3 SDRAMやLPDDR4に準拠するDRAMメモリデバイスであってもよい。
メモリコントローラ100は、DRAM110にコマンド(DRAMコマンド)とアドレスとを提供することでDRAM110を制御する。メモリコントローラ100はDRAM110に書き込み用のデータを送信し、DRAM110から読み出されたデータを受信する。メモリコントローラ100およびDRAM110は、システムバス204から供給される共通のクロック信号に同期して動作する。以下では、説明を簡略化するために、メモリコントローラ100のコマンドの発行に係る機能を中心に説明し、データ線(DQ)の制御などのメモリコントローラ100の他の機能については説明を省略する。
メモリコントローラ100は、メモリアクセス要求格納部101と、メモリアクセス要求発行順決定部102と、ページ判定部103と、DRAMコマンド発行部104と、を備える。
まず、メモリアクセス要求格納部101を説明する。メモリアクセス要求格納部101は、DRAM110に対するアクセス要求であるメモリアクセス要求を保持するバッファである。メモリアクセス要求格納部101はm(m≧2)個のエントリで構成し、各エントリには0からm-1までのエントリ番号を付与する。なお、本実施の形態は具体的なmの数に限定されない。
図3は、図2のメモリアクセス要求格納部101を構成するエントリ1011を示すデータ構造図である。本実施の形態では、メモリアクセス要求格納部101には、図3に示すエントリ1011をm本有する。図3に示すように、エントリ1011は、リクエスト種別フィールドと、対象バンクフィールドと、対象ページフィールドと、DRAMコマンド数フィールドと、インデックスフィールドと、を有している。
各フィールドに格納する情報は次の通りである。
(a)リクエスト種別フィールド
当該エントリに格納したメモリアクセス要求の種別を示す。
WRITE メモリアクセス要求がライト(データの書込み)
READ メモリアクセス要求がリード(データの読込み)
(b)対象バンクフィールド
当該エントリに格納したメモリアクセス要求がアクセスするバンク番号
(c)対象ページフィールド
当該エントリに格納したメモリアクセス要求がアクセスするページ番号
(d)DRAMコマンド数フィールド
当該エントリに格納したメモリアクセス要求により実行されるDRAMコマンドの数
(e)インデックスフィールド
当該エントリに格納したメモリアクセス要求により実行されるDRAMコマンドのうち、次に発行するDRAMコマンドの番号(0、…、DRAMコマンド数-1)を示す
メモリアクセス要求格納部101にメモリアクセス要求を新規に格納する場合、新規に格納するメモリアクセス要求を、既に格納されているメモリアクセス要求の最後尾に続いたエントリに格納する。メモリアクセス要求格納部101からメモリアクセス要求を読み出す場合、任意のエントリから読み出し可能である。
表1を使用してメモリアクセス要求格納部101の動作を説明する。
Figure 0007414477000001
表1中、REQ00、REQ01、REQ02、REQ03はそれぞれ、メモリアクセス要求格納部101が格納しているメモリアクセス要求を一意に識別するIDである。メモリアクセス要求格納部101の状態が、表1の列「現在の状態」に示す状態であったとする。すなわち、メモリアクセス要求格納部101のエントリ0からエントリ2に、それぞれREQ00、REQ01、およびREQ02が格納されている。一方、エントリ3から最後尾のエントリm-1までは、メモリアクセス要求を格納しておらず、空きである。
ここで、新たなメモリアクセス要求であるREQ03を格納する動作を説明する。新たなメモリアクセス要求の格納先エントリは、メモリアクセス要求格納部101に既に格納されているメモリアクセス要求の最後尾に続いたエントリである。したがって、表1の列「現在の状態」に示す状態にREQ03を追加して格納する場合、REQ03をエントリ3に格納する。REQ03を格納した後の状態を、表1の列「メモリアクセス要求格納後」に示す。REQ03を格納した後、表1の列「メモリアクセス要求格納後」に示すように、エントリ0からエントリ3までの各エントリにメモリアクセス要求が格納されている。
続いて、メモリアクセス要求格納部101に入力される格納部制御信号について説明する。図4は、本実施の形態における格納部制御信号1021の構成図である。格納部制御信号1021は、エントリ番号フィールドと、パージフィールドと、更新不フィールドと、を含む。
各フィールドが示す情報は次の通りである。
(a)エントリ番号フィールド
制御対象とするメモリアクセス要求格納部101のエントリを示す。
(b)パージフィールド
エントリ番号フィールドが示すメモリアクセス要求格納部101のエントリをパージすることを示す
1’b1:パージ、1’b0:バージ動作無し
(c)更新フィールド
エントリ番号フィールドが示すメモリアクセス要求格納部101のエントリを更新することを示す
1’b1:インデックスフィールドの値を+1、1’b0:更新動作無し
格納部制御信号1021の更新フィールドに1が設定されている場合、メモリアクセス要求格納部101はエントリ番号フィールドが示すエントリのインデックスフィールドの値に1を加算する。また、パージフィールドに1が設定されている場合、エントリ番号フィールドが示すエントリをパージし、同時に空いたエントリに後続のエントリが格納しているメモリアクセス要求を一つずつ移動する。表1の列「メモリアクセス要求格納後」に示す状態から、エントリ1のREQ01をパージしたとする。パージ後、エントリ2以降のエントリに格納しているメモリアクセス要求は一つずつ若いエントリに移動する。エントリ1のREQ01をパージした後の状態を、表1の列「エントリパージ後」に示す。
図2に戻り、メモリアクセス要求発行順決定部102を説明する。メモリアクセス要求発行順決定部102は、メモリアクセス要求格納部101が格納する格納済メモリアクセス要求の全てを参照可能である。メモリアクセス要求発行順決定部102は、メモリアクセス要求格納部101に格納されている格納済メモリアクセス要求のDRAM110への発行順を、メモリアクセス要求の優先順位およびDRAM110の状態のうちの少なくともひとつに基づいて、決定する。そして、格納済メモリアクセス要求の内で最初に発行するメモリアクセス要求を、発行対象メモリアクセス要求としてDRAMコマンド発行部104に出力する。
メモリアクセス要求発行順決定部102は、後述のページ判定部103におけるページ判定とは独立して発行順を決定する。ページ判定部103の判定結果により影響を受けるのはDRAMコマンド発行部104であり、メモリアクセス要求発行順決定部102は当該判定結果を受け取らないので、その影響も受けない。
メモリアクセス要求発行順決定部102により決定された発行順は、メモリアクセス要求格納部101へのメモリアクセス要求の登録順とは異なる。上述の通り、メモリアクセス要求はメモリアクセス要求格納部101に時系列で並ぶよう登録される。これに対して、発行の際には、古いメモリアクセス要求から順番に選択されるのではなく、メモリアクセス要求発行順決定部102が決めた発行順で任意のエントリからメモリアクセス要求が発行される。
メモリアクセス要求発行順決定部102の入力は、メモリアクセス要求格納部101が格納する格納済メモリアクセス要求と、DRAMコマンド発行部104の出力であるDRAMコマンド発行状態と、である。
DRAMコマンド発行状態は、発行したDRAMコマンドと、そのDRAMコマンドに関する情報と、を示す信号であり、次に挙げる状態を表す信号を含んでいる。
(a)cmd 発行したDRAMコマンド
(b)bank 発行したDRAMコマンドの対象バンク
(c)page 発行したDRAMコマンドの対象ページ
メモリアクセス要求発行順決定部102の出力は、発行対象メモリアクセス要求と、格納部制御信号と、DRAM状態と、である。発行対象メモリアクセス要求は、格納済メモリアクセス要求のなかで最初に発行するメモリアクセス要求である。格納部制御信号は、メモリアクセス要求格納部101に対してエントリのパージまたは更新を指示する制御信号である。DRAM状態はメモリアクセス要求発行順決定部102が管理するDRAMの状態である。
図5は、図2のメモリアクセス要求発行順決定部102の機能および構成を示すブロック図である。メモリアクセス要求発行順決定部102は、DRAM状態管理部1022と、発行順決定部1023と、を含む。
DRAM状態管理部1022は、DRAMコマンド発行状態の値を基にDRAM状態を管理している。DRAM状態管理部1022が管理しているDRAM状態は、少なくとも次に示す状態を含んでいる。
(a)ref(k)
バンクkが、リフレッシュ動作中であるか否かを示す
1’b1:リフレッシュ動作中
1’b0:非リフレッシュ動作中
(b)pcmd
直前に発行したDRAMコマンドのリクエスト種別
WRITE DRAMコマンドはデータの書込み
READ DRAMコマンドはデータの読込み
(c)padd(k)
バンクkがオープンしているページアドレス
(d)bst(k)
バンクkの状態を示す
1’b1:バンクkはページをオープンしている状態
1’b0:バンクkはページをクローズしている状態
DRAM状態管理部1022をさらに詳しく説明する。まず、ref(k)の動作を説明する。DRAMコマンド発行部104が、バンクkに対してREFコマンドを発行すると、DRAM状態管理部1022はref(k)に1’b1を設定する。そして、リフレッシュ動作時間が経過した後、DRAM状態管理部1022はref(k)の値を1’b0に設定する。例えば、DRAMコマンド発行部104がバンク0に対してREFコマンドを発行したとする。この時、DRAMコマンド発行状態の値は、
(cmd,bank,page)==(REF,0,-)
に変化する。ここで、「-」はdon’t careを表すものとする。この変化に基づき、DRAM状態管理部1022は、バンク0に対するリフレッシュ動作の開始を認識する。リフレッシュ動作の開始を認識したことでref(0)に1’b1を設定する。
pcmdは、直前に発行したリクエスト種別を保持している。例えば、DRAMコマンド発行部104がバンク0ページ0にWRコマンドを発行したとする。このとき、DRAMコマンド発行状態は、
(cmd,bank,page)==(WR,0,0)
に変化する。この変化に依り、DRAM状態管理部1022はWRコマンドの発行を認識し、pcmdに、WRコマンドのリクエスト種別であるWRITEを設定する。
padd(k)とbst(k)とはバンクkの状態を示している。DRAMコマンド発行部104が、バンクkページpに対してACTコマンドを発行すると、DRAM状態管理部1022はバンクkページpがオープン状態になったことを認識する。そして、次の動作を実施する。
(a)padd(k)にpを設定
(b)bst(k)に1’b1(有効)を設定
一方、DRAMコマンド発行部104が、バンクkページpに対してPREコマンドやオートプリチャージ付きリードライトコマンドを発行すると、DRAM状態管理部1022はバンクkがクローズ状態になったと認識する。そして、次の動作を実施する。
(a)bst(k)に1’b0を設定
なお、padd(k)の値は変化しない。
例えば、DRAMコマンド発行部104がバンク0ページ5にACTコマンドを発行したとする。このとき、DRAMコマンド発行状態は、
(cmd,bank,page)==(ACT,0,5)
に変化する。この変化に基づき、DRAM状態管理部1022は、次の動作を実施する。
(a)padd(0)に5を設定
(b)bst(0)に1’b1を設定
反対に、DRAMコマンド発行部104がバンク0ページ5にPREコマンドを発行したとする。このとき、DRAMコマンド発行状態は、
(cmd,bank,page)==(PRE,0,5)
に変化する。この変化に基づき、DRAM状態管理部1022は、次の動作を実施する。
(a)bst(0)に1’b0を設定
DRAM状態管理部1022が管理するDRAM状態は発行順決定部1023およびページ判定部103に出力される。
続けて、発行順決定部1023を説明する。発行順決定部1023は、次のDRAM状態基準にしたがって、格納済メモリアクセス要求の発行順を決定する。
(A)決定対象の格納済メモリアクセス要求に対応するDRAMコマンドの種別と、直前に発行されたDRAMコマンドの種別と、の異同、
(B)決定対象の格納済メモリアクセス要求が対象とするバンクがリフレッシュ動作中であるか否か、
(C)決定対象の格納済メモリアクセス要求が対象とするページがオープンか否か、
発行順決定部1023は、格納済メモリアクセス要求の発行順を決定するに当たり、基準(A)から(C)を単独で適用してもよいし、複数の基準を同時に適用してもよい。また、本実施の形態では、複数の格納済メモリアクセス要求が基準を満たす場合、基準を満たす格納済メモリアクセス要求の内で最もエントリ番号が若いメモリアクセス要求を選択する。さらに、全ての格納済メモリアクセス要求が基準を満たさない場合、格納済メモリアクセス要求内で最もエントリ番号が若いメモリアクセス要求を選択する。
本実施の形態では、DRAM状態を基に格納済メモリアクセス要求の発行順を決定しているが、発行順を決定する基準はDRAM状態に限られない。他の実施の形態では、別の基準、例えばメモリアクセス要求に付与される優先順位を基に発行順を決定してもよい。
続いて、表2を用いて発行順決定部1023が格納部制御信号1021を生成する手順を説明する。
Figure 0007414477000002
表2は、図3に示すエントリ1011の各フィールドがとる値を、メモリアクセス要求毎に示している。表2の「インデックス」列は、当該エントリに格納したメモリアクセス要求により実行されるDRAMコマンドのうち、次に発行するDRAMコマンドの番号を示している。例えば、表2のエントリ0は「インデックス」列の値が0である。これは、0番目、すなわちメモリアクセス要求により実行されるDRAMコマンドの先頭に位置するDRAMコマンドが次に発行されることを示す。メモリアクセス要求により実行される最後のDRAMコマンドを発行すると、対応するメモリアクセス要求の処理は完了する。従って、メモリアクセス要求格納部101から対応するエントリをパージする。一方、DRAMコマンドを発行した場合、メモリアクセス要求格納部101の対応するエントリを更新する。ただし、最後のDRAMコマンドを発行した場合は対応するエントリを更新する必要はない。発行したDRAMコマンドが最後のDRAMコマンドであるかは、エントリ1011のDRAMコマンド数フィールドの値とインデックスフィールドの値とから判断する。(インデックスフィールドの値=DRAMコマンド数フィールドの値-1)の状態でDRAMコマンド発行状態がDRAMコマンド発行を示す場合に、最後のDRAMコマンドが発行されたことを示す。従って、DRAMコマンド発行状態がDRAMコマンドの発行を示し、かつ、(インデックスフィールドの値=DRAMコマンド数フィールドの値-1)の場合、対応するメモリアクセス要求のエントリをパージするように格納部制御信号1021を生成する。一方、DRAMコマンド発行状態がDRAMコマンドの発行を示し、かつ、(インデックスフィールドの値≠DRAMコマンド数フィールドの値-1)の場合、対応するメモリアクセス要求のエントリを更新するように格納部制御信号1021を生成する。
ページ判定部103の動作を説明する。ページ判定部103は、DRAMコマンド発行部104が発行対象メモリアクセス要求のコマンドをDRAM110へ発行する際に、発行対象メモリアクセス要求の次に同じバンクにコマンドを発行する格納済メモリアクセス要求を、メモリアクセス要求発行順決定部102が用いた基準と同じ基準に基づき決定された発行順にしたがって選択する。ページ判定部103は、発行対象メモリアクセス要求と選択されたメモリアクセス要求とが同じページを対象とするか否かを判定する。ページ判定部103は、発行対象メモリアクセス要求が対象とするバンクと同じバンクを対象とする格納済メモリアクセス要求が複数ある場合、当該複数の格納済メモリアクセス要求のなかから、ひとつの格納済メモリアクセス要求を上記の発行順にしたがって選択する。
図6は、図2のページ判定部103におけるページ判定アルゴリズムを示すフローチャートである。ページ判定部103は、メモリアクセス要求発行順決定部102が出力する発行対象メモリアクセス要求に対して、その対象バンクに次にアクセスする格納済メモリアクセス要求を選択し、対象ページが同じか否かを判定する。そして、判定した結果をページ判定結果としてDRAMコマンド発行部104に出力する。
ページ判定部103は、メモリアクセス要求発行順決定部102が出力する発行対象メモリアクセス要求と対象バンクが同じメモリアクセス要求がメモリアクセス要求格納部101に存在するかを判定する(S1031)。該当する格納済メモリアクセス要求が存在する場合(S1031のYES)、ページ判定部103は、該当するメモリアクセス要求が2つ以上格納されているかを判定する(S1032)。該当する格納済メモリアクセス要求が2つ以上存在する場合(S1032のYES)、ページ判定部103は、メモリアクセス要求発行順決定部102が発行順を決定する際の基準に基づいて、発行対象メモリアクセス要求と同じバンクに次に発行されるメモリアクセス要求を選択する(S1033)。ページ判定部103は、選択されたメモリアクセス要求の対象ページと発行対象メモリアクセス要求の対象ページとを比較する(S1034)。ページ判定部103は、S1034で比較した結果をDRAMコマンド発行部104にページ判定結果として出力する(S1035)。
S1031にて、該当する格納済メモリアクセス要求が存在しなかった場合(S1031のNO)、ページ判定部103は、レジスタ設定で指定される、または、予め決められているページ制御に基づいて比較結果を生成する(S1037)。例えば、同じバンクを対象とする連続するメモリアクセス要求が異なるページにアクセスする蓋然性が高い場合、オートプリチャージありのリードライトコマンドを発行するために、ページ判定部103は「対象ページは異なる」という比較結果を生成する。逆に、2つのメモリアクセス要求が同じページにアクセスする蓋然性が高い場合、オートプリチャージなしでリードライトコマンドを発行するために、ページ判定部103は「対象ページは同じ」という比較結果を生成する。
S1032にて、該当する格納済メモリアクセス要求が2つ以上存在しない場合(S1032のNO)、該当する格納済メモリアクセス要求はひとつのみであるから、ページ判定部103は、そのひとつのみの格納済メモリアクセス要求の対象ページと発行対象メモリアクセス要求の対象ページとを比較する(S1036)。
以下に、メモリアクセス要求発行順決定部102およびページ判定部103の動作を条件Aと条件Bの2例を挙げて詳しく説明する。説明にあたり、メモリアクセス要求格納部101の状態を示す表2を使用する。なお、表2に記載の各メモリアクセス要求間に依存関係は無いものとし、任意の発行順に変更可能であるものとする。
例を以下に示す。なお、DRAM状態は、説明に必要な情報のみ記載している。
[条件A]
・メモリアクセス要求発行順決定部102の選択基準は以下の通りとする。
(A)対象バンクはリフレッシュ動作中ではない
(B)直前に発行したDRAMリクエストと同一種別のDRAMリクエスト
(C)対象ページはオープン状態
・基準間の優先度は(A)>(B)>(C)とする。
・メモリアクセス要求格納部101の状態は表2の状態とする。
・DRAM状態は以下の通りとする。
(a)
ref(0)==1’b1 バンク0はリフレッシュ動作中
ref(1)==1’b0 バンク1は非リフレッシュ動作中
ref(2)==1’b0 バンク2は非リフレッシュ動作中
(b)
pcmd==WRITE 直前に発行したDRAMコマンドはWRITE
(c)
padd(1)==0 バンク1はページ0が対象
padd(2)==1 バンク2はページ1が対象
(d)
bst(1)==1 バンク1はページをオープンしている状態
bst(2)==1 バンク2はページをオープンしている状態
表2中で、選択基準(A)、(B)、(C)の全てを満たすエントリは、エントリ3、エントリ4、エントリ6である。複数の格納済メモリアクセス要求が基準を満たす場合、メモリアクセス要求発行順決定部102は基準を満たす格納済メモリアクセス要求の内で最もエントリ番号が若いメモリアクセスを選択する。従って、メモリアクセス要求発行順決定部102はエントリ3を発行対象メモリアクセス要求として選択する。発行対象メモリアクセス要求としてエントリ3が選択されると、ページ判定部103は、エントリ3と対象バンクが同じであるメモリアクセス要求が格納済メモリアクセス要求内に存在するか確認する。ここでは、エントリ5とエントリ6の2つのエントリが該当する。そのため、ページ判定部103は、エントリ5とエントリ6のうち、発行対象メモリアクセス要求の次に対象バンクに発行するメモリアクセス要求を、選択基準(A)、(B)、(C)に基づき決定される発行順にしたがって選択する。DRAMコマンド発行部104が発行対象メモリアクセス要求であるエントリ3に対してDRAMコマンドを発行した後のDRAM状態を次に示す。
エントリ3に対してDRAMコマンドを発行した後のDRAM状態:
(a)
ref(0)==1’b1 バンク0はリフレッシュ動作中
ref(1)==1’b0 バンク1は非リフレッシュ動作中
ref(2)==1’b0 バンク2は非リフレッシュ動作中
(b)
pcmd==WRITE 直前に発行したDRAMコマンドはWRITE
(c)
padd(1)==0 バンク1はページ0が対象
padd(2)==1 バンク2はページ1が対象
(d)
bst(1)==1 バンク1はページをオープンしている状態
bst(2)==1 バンク2はページをオープンしている状態
上述するDRAM状態において、メモリアクセス要求発行順決定部102と同じ選択基準にしたがうと、エントリ5とエントリ6のうち、直前に発行したDRAMコマンドと同じリクエスト種別であるエントリ6が発行対象メモリアクセス要求として選択されることになる。このように、ページ判定部103はDRAM状態と発行対象メモリアクセス要求に基づいて、エントリ3の対象バンクへ次に発行されるメモリアクセス要求としてエントリ6を選択する。ページ判定部103は、選択されたエントリ6のメモリアクセス要求の対象ページと、発行対象メモリアクセス要求の対象ページと、を比較する。エントリ3の対象ページとエントリ6の対象ページとは同じであるため、ページ判定部103は発行対象メモリアクセス要求と、その対象バンクへ次にアクセスするメモリアクセス要求と、が同じページにアクセスするという比較結果をDRAMコマンド発行部104に出力する。
[条件B]
・メモリアクセス要求発行順決定部102の選択基準は以下の通りとする。
(A)対象バンクはリフレッシュ動作中ではない
(B)直前に発行したDRAMリクエストと同一種別のDRAMリクエスト
(C)対象ページはオープン状態
・基準間の優先度は(A)>(B)>(C)とする。
・メモリアクセス要求格納部101の状態は表2の状態とする。
・DRAM状態は以下の通りとする。
(a)
ref(0)==1’b1 バンク0はリフレッシュ動作中
ref(1)==1’b0 バンク1は非リフレッシュ動作中
ref(2)==1’b0 バンク2は非リフレッシュ動作中
(b)
pcmd==WRITE 直前に発行したDRAMコマンドはWRITE
(c)
padd(1)==1 バンク1はページ1が対象
padd(2)==1 バンク2はページ1が対象
(d)
bst(1)==1 バンク1はページをオープンしている状態
bst(2)==1 バンク2はページをオープンしている状態
表2中で、選択基準(A)(B)(C)の全てを満たすエントリはエントリ4のみであるから、メモリアクセス要求発行順決定部102はエントリ4を発行対象メモリアクセス要求として選択する。発行対象メモリアクセス要求としてエントリ4が選択されると、ページ判定部103は、エントリ4と対象バンクが同じであるメモリアクセス要求が格納済メモリアクセス要求内に存在するか確認する。ここでは、エントリ7とエントリ8の2つのエントリが該当する。そのため、ページ判定部103は、エントリ7とエントリ8のうち、発行対象メモリアクセス要求の次に対象バンクに発行するメモリアクセス要求を、選択基準(A)、(B)、(C)に基づき決定される発行順にしたがって選択する。DRAMコマンド発行部104が発行対象メモリアクセス要求であるエントリ4に対してDRAMコマンドを発行した後のDRAM状態を次に示す。
エントリ4に対してDRAMコマンドを発行した後のDRAM状態:
(a)
ref(0)==1’b1 バンク0はリフレッシュ動作中
ref(1)==1’b0 バンク1は非リフレッシュ動作中
ref(2)==1’b0 バンク2は非リフレッシュ動作中
(b)
pcmd==WRITE 直前に発行したDRAMコマンドはWRITE
(c)
padd(1)==1 バンク1はページ1が対象
padd(2)==1 バンク2はページ1が対象
(d)
bst(1)==1 バンク1はページをオープンしている状態
bst(2)==1 バンク2はページをオープンしている状態
上述するDRAM状態において、メモリアクセス要求発行順決定部102と同じ選択基準にしたがうと、エントリ7とエントリ8のうち、直前に発行したDRAMコマンドと同じリクエスト種別であるエントリ7が発行対象メモリアクセス要求として選択されることになる。このように、ページ判定部103はDRAM状態と発行対象メモリアクセス要求に基づいて、エントリ4の対象バンクへ次に発行されるメモリアクセス要求としてエントリ7を選択する。ページ判定部103は、選択されたエントリ7のメモリアクセス要求の対象ページと、発行対象メモリアクセス要求の対象ページと、を比較する。エントリ4の対象ページとエントリ7の対象ページは異なるため、ページ判定部103は発行対象メモリアクセス要求と、その対象バンクへ次にアクセスするメモリアクセス要求と、が異なるページにアクセスするという比較結果をDRAMコマンド発行部104に出力する。
図2に戻り、DRAMコマンド発行部104の機能を説明する。DRAMコマンド発行部104は、メモリアクセス要求発行順決定部102により決定された発行順に基づきDRAM110へDRAMコマンドを発行する。DRAMコマンド発行部104は、ページ判定部103が同じページを対象とすると判定した場合、オートプリチャージなしで発行対象メモリアクセス要求のコマンドを発行し、ページ判定部103が同じページを対象としないと判定した場合、オートプリチャージ付きで発行対象メモリアクセス要求のコマンドを発行する。
DRAMコマンド発行部104は、発行対象メモリアクセス要求およびページ判定結果に基づいてDRAMコマンドをDRAM110に発行する。まず、DRAMコマンド発行部104は、発行するDRAMコマンドが発行対象メモリアクセス要求により実行される最後のDRAMコマンドかを判定する。最後のDRAMコマンドであり、かつ、ページ判定部103が出力するページ判定結果が、対象バンクを次にアクセスするメモリアクセス要求が同じページにアクセスすることを示す場合、DRAMコマンド発行部104はオートプリチャージなしでコマンドを発行する。このコマンドは例えばリードコマンドやライトコマンドである。また、ページ判定結果が同じページにアクセスしないことを示す場合、DRAMコマンド発行部104は、オートプリチャージ付きコマンドを発行する。このコマンドは例えばリードオートプリチャージやライトオートプリチャージである。最後のDRAMコマンドでなかった場合、DRAMコマンド発行部104は、ページ判定結果に関わらずオートプリチャージなしでコマンドを発行する。
本実施の形態に係るメモリコントローラ100によると、リオーダ機能を有するメモリコントローラ100であっても、実際のメモリアクセス要求の発行順に基づいて同じバンクに次にアクセスするメモリアクセス要求とページを比較してリードライトコマンドのオートプリチャージを制御する。これにより、メモリ利用効率を向上することができる。
以上、実施の形態に係るメモリコントローラ100の構成と動作について説明した。この実施の形態は例示であり、その各構成要素や各処理の組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
実施の形態では、ページ判定部103がメモリアクセス要求発行順決定部102からDRAM状態を受け、受けたDRAM状態に基づき決定された発行順にしたがってメモリアクセス要求の選択を行う場合を説明したが、これに限られず、例えばページ判定部103はメモリアクセス要求発行順決定部102によって決定された発行順そのものを受けてもよい。
本実施の形態に係る技術的思想は、DRAMに接続されてオートプリチャージ付きでリードライトコマンドを発行する様々なメモリコントローラに適用可能である。
発明は上記実施の形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
100 メモリコントローラ、 110 DRAM、 120 バスマスタ。

Claims (11)

  1. DRAMに接続されたメモリコントローラであって、
    前記DRAMに対するメモリアクセス要求を格納する格納手段と、
    前記格納手段に格納されているメモリアクセス要求の発行順を所定の基準に基づいて決定する決定手段と、
    前記決定手段により決定された発行順に基づき前記DRAMへコマンドを発行する発行手段と、
    前記発行手段が第一メモリアクセス要求のコマンドを前記DRAMへ発行する際に、前記第一メモリアクセス要求の次に同じバンクにコマンドを発行する第二メモリアクセス要求を、前記所定の基準に基づき決定された発行順にしたがって選択し、前記第一メモリアクセス要求と前記第二メモリアクセス要求とが同じページを対象とするか否かを判定し、前記第一メモリアクセス要求の次に同じバンクにコマンドを発行するメモリアクセス要求がなかった場合、予め決められているページ制御に基づいて比較結果を出力する判定手段と、を備え、
    前記発行手段は、前記判定手段が同じページを対象とすると判定した場合、オートプリチャージなしで前記第一メモリアクセス要求のコマンドを発行するメモリコントローラ。
  2. 前記所定の基準は、メモリアクセス要求の優先順位および前記DRAMの状態のうちの少なくともひとつを含む請求項1に記載のメモリコントローラ。
  3. 前記決定手段は、少なくとも前記DRAMの状態に基づいて発行順を決定し、
    前記DRAMの状態は、
    (1)決定対象のメモリアクセス要求に対応するコマンドの種別と、直前に発行されたコマンドの種別と、の異同、
    (2)決定対象のメモリアクセス要求が対象とするバンクがリフレッシュ動作中であるか否か、
    (3)決定対象のメモリアクセス要求が対象とするページがオープンか否か、
    のうちの少なくともひとつを含む請求項2に記載のメモリコントローラ。
  4. 前記判定手段は、前記第一メモリアクセス要求が対象とするバンクと同じバンクを対象とする複数のメモリアクセス要求が前記格納手段に格納されている場合、当該格納されている複数のメモリアクセス要求のなかから、前記第二メモリアクセス要求を前記所定の基準に基づき決定された発行順にしたがって選択する請求項1から3のいずれか一項に記載のメモリコントローラ。
  5. 前記発行手段は、前記判定手段が同じページを対象としないと判定した場合、オートプリチャージ付きで前記第一メモリアクセス要求のコマンドを発行する請求項1から4のいずれか一項に記載のメモリコントローラ。
  6. オートプリチャージ付きのコマンドは、リードオートプリチャージまたはライトオートプリチャージである請求項5に記載のメモリコントローラ。
  7. 前記決定手段は、前記判定手段における判定とは独立して発行順を決定する請求項1から6のいずれか一項に記載のメモリコントローラ。
  8. 前記格納手段は、それぞれがメモリアクセス要求を格納するよう構成された複数のエントリを含み、
    前記格納手段は、任意のエントリからメモリアクセス要求を読み出し可能に構成される請求項1から7のいずれか一項に記載のメモリコントローラ。
  9. 前記決定手段により決定された発行順は、前記格納手段へのメモリアクセス要求の登録順とは異なる請求項1から8のいずれか一項に記載のメモリコントローラ。
  10. DRAMに接続されたメモリコントローラで実施される方法であって、前記メモリコントローラは前記DRAMに対するメモリアクセス要求を格納する格納手段を備え、前記方法は、
    前記格納手段に格納されているメモリアクセス要求の発行順を所定の基準に基づいて決定することと、
    決定された発行順に基づき前記DRAMへコマンドを発行することと、
    第一メモリアクセス要求のコマンドを前記DRAMへ発行する際に、前記第一メモリアクセス要求の次に同じバンクにコマンドを発行する第二メモリアクセス要求を、前記所定の基準に基づき決定された発行順にしたがって選択し、前記第一メモリアクセス要求と前記第二メモリアクセス要求とが同じページを対象とするか否かを判定し、前記第一メモリアクセス要求の次に同じバンクにコマンドを発行するメモリアクセス要求がなかった場合、予め決められているページ制御に基づいて比較結果を出力することと、を含み、
    前記発行することは、同じページを対象とすると判定された場合、オートプリチャージなしで前記第一メモリアクセス要求のコマンドを発行することを含む方法。
  11. DRAMと、
    前記DRAMに接続されたメモリコントローラと、を備え、
    前記メモリコントローラは、
    前記DRAMに対するメモリアクセス要求を格納する格納手段と、
    前記格納手段に格納されているメモリアクセス要求の発行順を所定の基準に基づいて決定する決定手段と、
    前記決定手段により決定された発行順に基づき前記DRAMへコマンドを発行する発行手段と、
    前記発行手段が第一メモリアクセス要求のコマンドを前記DRAMへ発行する際に、前記第一メモリアクセス要求の次に同じバンクにコマンドを発行する第二メモリアクセス要求を、前記所定の基準に基づき決定された発行順にしたがって選択し、前記第一メモリアクセス要求と前記第二メモリアクセス要求とが同じページを対象とするか否かを判定し、前記第一メモリアクセス要求の次に同じバンクにコマンドを発行するメモリアクセス要求がなかった場合、予め決められているページ制御に基づいて比較結果を出力する判定手段と、を備え、
    前記発行手段は、前記判定手段が同じページを対象とすると判定した場合、オートプリチャージなしで前記第一メモリアクセス要求のコマンドを発行する装置。
JP2019203509A 2019-11-08 2019-11-08 メモリコントローラ、メモリコントローラで実施される方法および装置 Active JP7414477B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019203509A JP7414477B2 (ja) 2019-11-08 2019-11-08 メモリコントローラ、メモリコントローラで実施される方法および装置
US17/072,400 US20210141567A1 (en) 2019-11-08 2020-10-16 Memory controller, method executed by memory controller, and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019203509A JP7414477B2 (ja) 2019-11-08 2019-11-08 メモリコントローラ、メモリコントローラで実施される方法および装置

Publications (2)

Publication Number Publication Date
JP2021077121A JP2021077121A (ja) 2021-05-20
JP7414477B2 true JP7414477B2 (ja) 2024-01-16

Family

ID=75846570

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019203509A Active JP7414477B2 (ja) 2019-11-08 2019-11-08 メモリコントローラ、メモリコントローラで実施される方法および装置

Country Status (2)

Country Link
US (1) US20210141567A1 (ja)
JP (1) JP7414477B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022118548A (ja) * 2021-02-02 2022-08-15 キヤノン株式会社 メモリコントローラ及びその制御方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010003067A (ja) 2008-06-19 2010-01-07 Sony Corp メモリシステムおよびそのアクセス制御方法、並びにプログラム
JP2014154119A (ja) 2013-02-14 2014-08-25 Ricoh Co Ltd メモリ制御装置及び半導体記憶装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010003067A (ja) 2008-06-19 2010-01-07 Sony Corp メモリシステムおよびそのアクセス制御方法、並びにプログラム
JP2014154119A (ja) 2013-02-14 2014-08-25 Ricoh Co Ltd メモリ制御装置及び半導体記憶装置

Also Published As

Publication number Publication date
JP2021077121A (ja) 2021-05-20
US20210141567A1 (en) 2021-05-13

Similar Documents

Publication Publication Date Title
US7209405B2 (en) Memory device and method having multiple internal data buses and memory bank interleaving
US8510480B2 (en) Memory system and method having uni-directional data buses
US7707328B2 (en) Memory access control circuit
US6820142B2 (en) Token based DMA
US7370161B2 (en) Bank arbiter system which grants access based on the count of access requests
JP2002342159A (ja) メモリコントローラ
JPH02223091A (ja) コンピュータメモリシステム
US20060059320A1 (en) Memory control device
JP2024038365A (ja) メモリコントローラおよびメモリコントローラで実施される方法
JP7414477B2 (ja) メモリコントローラ、メモリコントローラで実施される方法および装置
US9620215B2 (en) Efficiently accessing shared memory by scheduling multiple access requests transferable in bank interleave mode and continuous mode
KR20080079187A (ko) 메모리 컨트롤러, 반도체 메모리의 액세스 제어 방법 및시스템
US10423548B2 (en) Memory controller, control method for the memory controller, and control method for memory
US6374244B1 (en) Data transfer device
TW491970B (en) Page collector for improving performance of a memory
JP2007018222A (ja) メモリアクセス制御回路
US11694735B2 (en) Memory controller and method of controlling the memory controller
US7376803B1 (en) Page stream sorter for DRAM systems
KR100607987B1 (ko) 명령어 스케줄링을 수행하는 메모리 제어장치 및 방법
EP4323877A1 (en) Adaptive memory access management
JP2010061498A (ja) メモリ制御装置、半導体試験装置およびメモリ制御方法
JP2000029777A (ja) デ―タ転送装置
JP3314395B2 (ja) メモリ制御装置
JP2021190002A (ja) 情報処理装置及びプログラム
US20050140799A1 (en) Memory access control unit and network camera apparatus

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230919

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231117

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231201

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231228

R151 Written notification of patent or utility model registration

Ref document number: 7414477

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151