JP7369954B2 - メモリコントローラおよびメモリアクセス制御方法 - Google Patents

メモリコントローラおよびメモリアクセス制御方法 Download PDF

Info

Publication number
JP7369954B2
JP7369954B2 JP2021050871A JP2021050871A JP7369954B2 JP 7369954 B2 JP7369954 B2 JP 7369954B2 JP 2021050871 A JP2021050871 A JP 2021050871A JP 2021050871 A JP2021050871 A JP 2021050871A JP 7369954 B2 JP7369954 B2 JP 7369954B2
Authority
JP
Japan
Prior art keywords
mode
command
issue
memory
issuing
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
JP2021050871A
Other languages
English (en)
Other versions
JP2022148977A (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.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
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 Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Priority to JP2021050871A priority Critical patent/JP7369954B2/ja
Priority to US17/702,624 priority patent/US12001691B2/en
Publication of JP2022148977A publication Critical patent/JP2022148977A/ja
Application granted granted Critical
Publication of JP7369954B2 publication Critical patent/JP7369954B2/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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
    • 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
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits

Landscapes

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

Description

本発明は、SDRAMへのアクセスを制御するメモリコントローラおよびメモリアクセス制御方法に関する。
特許文献1は、SDRAM(Synchronous Dynamic Random Access Memory)の同一のバンクに連続してアクセスすることを防止し処理時間を向上させるメモリ制御装置を提案している。
特許文献2は、同じバンクの同じローに対する連続アクセスが発生した場合の、SDRAMに対するアクセスに要するクロックサイクルを削減して、効率の良いメモリアクセスをなし得るアクセス制御装置を提案している。
特開2004-252960号公報 特開2004-013618号公報
しかしながら、上記特許文献1および特許文献2のメモリコントローラには改善の余地がある。
そこで、本開示では、さらなる改善を図ることが可能なメモリコントローラおよびメモリアクセス制御方法を提供する。
本開示の一態様に係るメモリコントローラは、複数のバンクを有するSDRAMへのアクセスを制御するメモリコントローラであって、アクセスマスターからメモリアクセス要求を受け付ける受付部と、コマンド発行に関する第1発行モードおよび第2発行モードのうちの一方を選択する選択部と、選択した発行モードに従って前記メモリアクセス要求に対応するコマンド列を前記SDRAMに発行する発行部と、を備え、前記第1発行モードは、バンクを活性化するアクティベートコマンドを分割しないで連続するクロックサイクルで発行するモードであり、前記第2発行モードは、バンクを活性化するアクティベートコマンドを分割して連続しないクロックサイクルで発行するモードである。
また、本開示の一態様に係るメモリアクセス制御方法は、複数のバンクを有するSDRAMへのアクセスを制御するメモリアクセス制御方法であって、アクセスマスターからメモリアクセス要求を受け付け、コマンド発行に関する第1発行モードおよび第2発行モードのうちの一方を選択し、選択した発行モードに従って前記メモリアクセス要求に対応するコマンド列を前記SDRAMに発行し、前記第1発行モードは、バンクを活性化するアクティベートコマンドを分割しないで連続するクロックサイクルで発行するモードであり、前記第2発行モードは、バンクを活性化するアクティベートコマンドを分割して連続しないクロックサイクルで発行するモードである。
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現され
てもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
本開示の一態様に係るメモリコントローラおよびメモリアクセス制御方法によれば、さらなる改善を図ることができる。
図1は、実施の形態におけるメモリコントローラ、アクセスマスターおよびSDRAMを含むシステムの構成例を示すブロック図である。 図2は、実施の形態におけるメモリコントローラの動作例を示すタイムチャートである。 図3は、実施の形態におけるメモリコントローラの動作例を示すフローチャートである。 図4は、実施の形態における選択部の動作例を示すフローチャートである。 図5は、実施の形態における選択部の他の動作例を示すフローチャートである。
(本開示の一態様を得るに至った経緯)
本発明者は、「背景技術」の欄において記載したSDRAMである半導体メモリデバイスに関し、以下の問題が生じることを見出した。
LPDDR5(Low Power Double Data Rate 5)と呼ばれるSDRAM規格では、新たなクロックシステムが導入され、それに伴い、コマンド発行の仕様も変更されている。
各種コマンドは、クロックの両エッジ(立ち上がりエッジと立ち下りエッジ)に同期してメモリコントローラからSDRAMに発行される。各種コマンドのうちアクティベートコマンドは、SDRAM内の指定されたバンク上のローを活性化するためのコマンドであり、2サイクル長で構成される。このアクティベートコマンドは、1サイクル長の2つのコマンドに分割可能である。2つに分割された部分的なコマンドを、ACT1コマンドとACT2コマンドとする。ACT1コマンドとACT2コマンドは、不連続な2サイクルで発行可能である。ACT1コマンドとACT2コマンドとは、最大8サイクルの間を置くことができる。
また、リードコマンド、ライトコマンド等は、1サイクル長で構成される。LPDDR5のリードコマンドおよびライトコマンドの標準的な最小アクセス単位であるバースト長は16ビートである。なお、データバスのクロック信号は、コマンドバスのクロック信号の4倍速である。上記の16ビートは、データバスのクロック信号の8サイクルであり、コマンドバスのクロック信号の2サイクルである。
16ビートのバースト長のリードまたはライトを複数回連続実行するためには、コマンドバスの2サイクル毎に1回(つまり1サイクル置きに)リードコマンドまたはライトコマンドを発行すればよい。
ところが、先行するアクセス要求のコマンド発行と、後行するアクセス要求のコマンド発行とが競合する場合には次の問題が生じ得る。例えば、先行するアクセス要求の連続アクセスの際中に、後行するアクセス要求に対応する新たなバンクにアクセスするためのアクティベートコマンド(2サイクル長)を発行すると、アクティベートコマンドを発行したタイミングの前後のリードコマンドまたはライトコマンドは、2サイクルの間が空くの
で、データバスにバブルが発生し、連続アクセスできなくなりデータバスの効率を悪化させる。
この場合のバブルの発生は、1サイクル(データバスクロックでは4サイクル)であり、単発のアクセス要求では、わずかであるかもしれない。しかし、例えば動画のエンコードやデコードなど大量のデータアクセスを伴う処理で、頻繁に新たなバンクに対してアクティベートコマンドを発行する場合には、発生するバブルによるSDRAMへのアクセスの効率劣化が発生する。
そこで、本開示は、アクティベートコマンドが分割可能であることを利用して、SDRAMアクセス性能の最適化を図る。
このような問題を解決するために、本開示の一態様に係るメモリコントローラは、(複数のバンクを有するSDRAMへのアクセスを制御するメモリコントローラであって、アクセスマスターからメモリアクセス要求を受け付ける受付部と、コマンド発行に関する第1発行モードおよび第2発行モードのうちの一方を選択する選択部と、選択した発行モードに従って前記メモリアクセス要求に対応するコマンド列を前記SDRAMに発行する発行部と、を備え、前記第1発行モードは、バンクを活性化するアクティベートコマンドを分割しないで連続するクロックサイクルで発行するモードであり、前記第2発行モードは、バンクを活性化するアクティベートコマンドを分割して連続しないクロックサイクルで発行するモードである。
これによれば、さらなる改善を図ることができる。例えば、アクティベートコマンドを分割しない第1発行モードとアクティベートコマンドを分割する第2発行モードとを選択可能にすることによりアクセス効率を最適化することが可能である。例えば、メモリデータを処理する用途に応じて第1発行モードと第2発行モードとを選択可能にすることにより最適化することが可能である。
ここで、前記メモリアクセス要求を受け付けたとき、先行するメモリアクセス要求に対応する未発行のコマンドが存在するか否かを判定し、未発行のコマンドが存在すると判定した場合には、受け付けたメモリアクセス要求の対象となるバンクと、未発行のリードコマンドまたはライトコマンドの対象となるバンクとが異なるか否かを判定する判定部を備え、前記判定部により異なると判定された場合には、前記選択部は、前記第1発行モードおよび前記第2発行モードのうちの一方を選択してもよい。
これによれば、第1発行モードおよび第2発行モードそれぞれのメリットとデメリットとを選択により最適化することができる。
第1発行モードでは、先行するアクセス要求の連続アクセスにバブルが発生しバス効率が劣化する半面、後続するアクセス要求の異なるバンクのリードデータまたはライトデータは最小のレイテンシにすることができる。
一方、第2発行モードでは、先行するアクセス要求の連続アクセスを保証できバス効率を劣化させない半面、後続するアクセス要求のリードデータまたはライトデータは最小のレイテンシに1サイクルの遅延が発生する。
言い換えれば、第1発行モードでは、後続するアクセス要求のレイテンシの最小化を優先する。第2発行モードでは、先行するアクセス要求の連続アクセスを保証しデータバスの効率を優先する。
ここで、前記判定部により未発行コマンドが存在しないと判定された場合に、前記選択部は前記第1発行モードを選択してもよい。
これによれば、先行アクセス要求のコマンドと、後行アクセス要求のコマンドとが競合しない場合には、後行のアクセス要求を第1発行モードにするので、先行アクセス要求の連続アクセスを保証し、かつ、後行アクセス要求のレイテンシを最小にすることができる。
ここで、前記選択部は、受け付けたメモリアクセス要求の要求元が、複数のアクセスマスターのうちの第1アクセスマスターである場合は、前記第1発行モードを選択し、受け付けたメモリアクセス要求の要求元が、前記複数のアクセスマスターのうちの第2アクセスマスターである場合は、前記第2発行モードを選択してもよい。
これによれば、アクセスマスターと発行モードとを対応づけているので、それぞれのアクセスマスター個別に最適な発行モードを選択することができる。
ここで、前記受付部は、前記第1発行モードまたは前記第2発行モードを指定するモード指定コマンドを受け付け、前記選択部は、前記モード指定コマンドに従って前記第1発行モードおよび前記第2発行モードの一方を選択してもよい。
これによれば、モード指定コマンドにより最適な発行モードを選択することができる。
ここで、前記第1発行モードまたは前記第2発行モードを指定するフラグ情報を保持するメモリを備え、前記選択部は、前記メモリからフラグ情報を読み出し、読み出した前記フラグ情報に従って前記第1発行モードおよび前記第2発行モードの一方を選択してもよい。
これによれば、フラグ情報により最適な発行モードを高速に選択することができる。
ここで、前記受付部は、前記第1発行モードまたは前記第2発行モードを指定するモード指定コマンドを受け付け、前記モード指定コマンドに従って前記フラグ情報を生成しメモリに保存してもよい。
これによれば、モード指定コマンドによりフラグ情報を設定することができ、より最適な発行モードを選択することができる。
ここで、前記受付部は、前記アクセスマスターまたは他の装置から前記モード指定コマンドを受け付けてもよい。
これによれば、モード指定コマンドを発行可能な装置が複数あるので、システムの柔軟さを向上させることができる。
ここで、前記フラグ情報は、複数のアクセスマスターのそれぞれに対応して前記メモリに保存され、前記選択部は、受け付けたメモリアクセス要求の要求元のアクセスマスターに対応するフラグ情報を読み出し、読み出した前記フラグ情報に従って前記第1発行モードおよび前記第2発行モードの一方を選択してもよい。
これによれば、フラグ情報とアクセスマスターとを対応づけているので、それぞれのアクセスマスター個別に最適な発行モードを選択することができる。
また、本開示の本開示の一態様に係るメモリアクセス制御方法は、複数のバンクを有するSDRAMへのアクセスを制御するメモリアクセス制御方法であって、アクセスマスターからメモリアクセス要求を受け付け、コマンド発行に関する第1発行モードおよび第2発行モードのうちの一方を選択し、選択した発行モードに従って前記メモリアクセス要求に対応するコマンド列を前記SDRAMに発行し、前記第1発行モードは、バンクを活性化するアクティベートコマンドを分割しないで連続するクロックサイクルで発行するモードであり、前記第2発行モードは、バンクを活性化するアクティベートコマンドを分割して連続しないクロックサイクルで発行するモードである。
これによれば、例えば、メモリデータを処理する用途に応じて第1発行モードと第2発行モードとを選択可能にすることにより最適化することが可能である。
ここで、前記メモリアクセス要求が受け付けられたとき、先行するメモリアクセス要求に対応する未発行のコマンドが存在するか否かを判定し、未発行のコマンドが存在すると判定した場合には、受け付けたメモリアクセス要求の対象となるバンクと、未発行のコマンドの対象となるバンクとが異なるか否かを判定し、異なると判定した場合には、前記発行モードの選択において前記第1発行モードおよび前記第2発行モードのうちの一方を選択してもよい。
これによれば、第1発行モードおよび第2発行モードそれぞれのメリットとデメリットとを選択により最適化することができる。
第1発行モードでは、先行するアクセス要求の連続アクセスにバブルが発生しバス効率が劣化する半面、後続するアクセス要求の異なるバンクのリードデータまたはライトデータは最小のレイテンシにすることができる。
一方、第2発行モードでは、先行するアクセス要求の連続アクセスを保証できバス効率を劣化させない半面、後続するアクセス要求のリードデータまたはライトデータは最小のレイテンシに1サイクルの遅延が発生する。
言い換えれば、第1発行モードでは、後続するアクセス要求のレイテンシの最小化を優先する。第2発行モードでは、先行するアクセス要求の連続アクセスを保証しデータバスの効率を優先する。
ここで、未発行のコマンドが存在しないと判定した場合には、前記選択において前記第1発行モードを選択してもよい。
これによれば、先行アクセス要求のコマンドと、後行アクセス要求のコマンドとが競合しない場合には、後行のアクセス要求を第1発行モードにするので、先行アクセス要求の連続アクセスを保証し、かつ、後行アクセス要求のレイテンシを最小にすることができる。
ここで、 前記発行モードの選択において、受け付けたメモリアクセス要求の要求元が、複数のアクセスマスターのうちの第1アクセスマスターである場合は、前記第1発行モードを選択し、受け付けたメモリアクセス要求の要求元が、前記複数のアクセスマスターのうちの第2アクセスマスターである場合は、前記第2発行モードを選択してもよい。
これによれば、アクセスマスターと発行モードとを対応づけているので、それぞれのアクセスマスター個別に最適な発行モードを選択することができる。
ここで、さらに、前記第1発行モードまたは前記第2発行モードを指定するモード指定コマンドを受け付け、前記発行モードの選択において、前記モード指定コマンドに従って前記第1発行モードおよび前記第2発行モードの一方を選択してもよい。
これによれば、モード指定コマンドにより最適な発行モードを選択することができる。
ここで、前記発行モードの選択において、前記第1発行モードまたは前記第2発行モードを指定するフラグ情報を保持するメモリからフラグ情報を読み出し、読み出した前記フラグ情報に従って前記第1発行モードおよび前記第2発行モードの一方を選択してもよい。
これによれば、フラグ情報により最適な発行モードを選択することができる。
ここで、 前記第1発行モードまたは前記第2発行モードを指定するモード指定コマンドを受け付け、前記モード指定コマンドに従って前記フラグ情報を生成しメモリに保存してもよい。
これによれば、モード指定コマンドによりフラグ情報を設定することができ、より最適な発行モードを選択することができる。
ここで、前記アクセスマスターまたは他の装置から前記モード指定コマンドを受け付けてもよい。
これによれば、モード指定コマンドを発行可能な装置が複数あるので、システムの柔軟さを向上させることができる。
ここで、前記フラグ情報は、複数のアクセスマスターのそれぞれに対応して前記メモリに保存され、前記発行モードの選択において、受け付けたメモリアクセス要求の要求元のアクセスマスターに対応するフラグ情報を読み出し、読み出した前記フラグ情報に従って前記第1発行モードおよび前記第2発行モードの一方を選択してもよい。
これによれば、フラグ情報とアクセスマスターとを対応づけているので、それぞれのアクセスマスター個別に最適な発行モードを選択することができる。
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
以下、実施の形態について、図面を参照しながら具体的に説明する。
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。
(実施の形態)
[1.1 構成例]
図1は、実施の形態におけるメモリコントローラ、アクセスマスターおよびSDRAMを含むシステムの構成例を示すブロック図である。
同図のシステムは、SDRAM1、メモリコントローラ2および複数のアクセスマスター3を備える。
SDRAM1は、複数のメモリアレイ11と、コマンド実行回路12とを備える。
複数のメモリアレイ11は、バンク0からバンク(nー1)までのn個のバンクを構成する。複数のメモリアレイ11のそれぞれは、行列状に配置されたメモリセルと、センスアンプとを含む。
コマンド実行回路12は、メモリコントローラ2から発行される各種コマンドを受信および実行する。
SDRAM1は、LPDDR5に準拠するSDRAMであるものとする。特に、SDRAM1が実行可能な、アクティベートコマンドは2サイクル長であり、1サイクル長の2つに分割可能である。2サイクル長の分割されていないアクティベートコマンドをACTコマンドと記す。分割されたアクティベートコマンドを、ACT1コマンド、ACT2コマンドと記す。アクティベートコマンドは、バンクアドレスとローアドレスとを含み、バンク内のローを活性化するためのコマンドである。コマンド実行回路12は、ACTコマンドを受信すると、バンクアドレスで指定されたバンクを選択し、当該バンク内のローアドレスで指定されたローに属するメモリセルのデータを、センスアンプに転送する。
また、データバスのクロック信号は、コマンドバスのクロック信号の4倍速である。最小アクセス単位である連続バースト長は16ビート(データ用のクロック信号の8サイクルであり、コマンド用のクロック信号で2サイクル)である。データ用のクロック信号は差動信号であり、コマンド用のクロック信号も差動信号である。
また、リードコマンドは1サイクル長であり、ライトコマンドも1サイクル長である。
メモリコントローラ2は、受付部21、判定部22、選択部23、発行部24、フラグメモリ25を備える。
受付部21は、複数のアクセスマスター3のそれぞれからメモリアクセス要求を受け付ける。
判定部22は、受付部21が受け付けたメモリアクセス要求に対応するコマンドを発行すべきタイミングと、先行するメモリアクセス要求に対応するコマンドを発行すべきタイミングとが競合するか否かを判定する。具体的には、判定部22は、受付部21がメモリアクセス要求を受け付けた時、先行するメモリアクセス要求に対応する未発行のリードコマンドまたはライトコマンドが発行部24に存在するか否かを判定する。さらに、判定部22は、未発行のリードコマンドまたはライトコマンドが存在すると判定した場合には、受け付けたメモリアクセス要求の対象となるバンクと、未発行のリードコマンドまたはライトコマンドの対象となるバンクとが異なるか否かを判定する。
選択部23は、判定部22の判定結果に応じて、コマンド発行に関する第1発行モードおよび第2発行モードのうちの一方を選択する。ここで、第1発行モードは、バンクを活性化するアクティベートコマンドを分割しないで連続する2クロックサイクルで発行するモードである。第2発行モードは、バンクを活性化するアクティベートコマンドを分割して連続しない2クロックサイクルで発行するモードである。なお、選択部23は、フラグメモリ25からフラグ情報を読み出し、読み出したフラグ情報に従って第1発行モードお
よび第2発行モードの一方を選択してもよい。フラグ情報は、第1発行モードまたは第2発行モードを指定する情報である。なお、コマンドを分割する例として、アクティベートコマンドを2つに分割する例を取り上げるが、分割数は3以上であってもよいし、アクティベートコマンド以外のコマンドであってもよい。
発行部24は、受付部21が受け付けたメモリアクセス要求を実現するために、SDRAM1が解読および実行可能なコマンド列を生成し、コマンド列に含まれる各コマンドをSDRAM1の仕様として規定されたタイミングで順次SDRAM1に発行する。このとき、発行部24は、選択部23で選択された発行モードに従ってコマンド列を発行する。つまり、選択部23が第1発行モードを選択している場合は、発行部24は、アクティベートコマンドを分割しないで連続する2クロックサイクルで発行する。一方、選択部23が第2発行モードを選択している場合は、発行部24は、アクティベートコマンドを分割して連続しない2以上のクロックサイクルで発行する。
フラグメモリ25は、第1発行モードまたは第2発行モードを指定するフラグ情報を保持する。なお、フラグメモリ25は、工場出荷時に書き込まれるフラグ情報を記憶する不揮発メモリであってもよい。また、フラグメモリ25は、システムの電源オン時、および、リセット時に、初期化処理で書き込まれるフラグ情報を保持するレジスタであってもよい。レジスタのフラグ情報は、外部の装置からの書き換え可能であってもよい。
複数のアクセスマスター3のそれぞれは、具体的には、ビデオデコーダ、ビデオエンコーダ、オーディオデコーダ、オーディオエンコーダ、CPU、キャッシュメモリ、DMAC(Direct Memory Access Controller)、グラフィックスコントローラ、DSP(Digital Signal Processor)などである。各アクセスマスター3は、メモリアクセス要求をメモリコントローラ2に送信する。
[2.1 全体動作例]
以上のように構成されたメモリコントローラ2の動作について説明する。
図2は、実施の形態におけるメモリコントローラ2の動作例を示すタイムチャートである。図中のクロック信号CLKpは、コマンドバスの差動クロック信号に含まれるプラス側の信号を示す。マイナス側のクロック信号CLKnは図示を省略している。
コマンド欄は、コマンド名を示している。バンク欄は、コマンド中のバンクアドレスで指定されるバンク名を示す。データバス欄は、リードコマンドに対応するリードデータを示す。
同図中の白背景の黒文字のコマンド、バンクは、先行するメモリアクセス要求に対応するコマンド、バンクを示す。黒背景の白文字の各コマンドは後行するメモリアクセス要求に対応するコマンドを示す。
リードコマンドRD0~RD3は、先行するメモリアクセス要求に対応し、バンクMへのリードコマンドである。RL(Read Latency)は、リードコマンドのサイクルからリードデータが主力されるサイクルまでの遅延サイクル数を示す。
リードデータD0~D3は、リードコマンドRD0~RD3に従ってバンクMから読み出されたリードデータである。リードデータD0~D3のそれぞれは、最小アクセス単位である連続バースト長の16ビートのデータを示している。
同図上段の(a)は、第1発行モードに従うコマンド列を示している。また、同図の(
b)は、第2発行モードに従うコマンド列を示している。
アクティベートコマンドACTは、後行するメモリアクセス要求に対応し、分割されていない2サイクル長のコマンドであり、バンクNの活性化を示す。このアクティベートコマンドACTは、先行メモリアクセス要求の未発行のリードコマンドRD3と競合する。
同図の(a)の第1発行モードでは、アクティベートコマンドACTは、先行するアクセス要求のリードコマンドRD3よりも優先的に発行される。リードコマンドRD3は、アクティベートコマンドACTの次に発行される。
このように、第1発行モードでは、先行するアクセス要求の連続アクセスにバブルが発生し、先行するアクセス要求でのバス効率が劣化する。その半面、後行するアクセス要求の異なるバンクのリードデータまたはライトデータは最小のレイテンシにすることができる。
同図の(b)の第2発行モードでは、アクティベートコマンドはACT1とACT2に分割される。先行するアクセス要求のリードコマンドRD3は、リードコマンドRD2の発行から1サイクル置いたサイクルで発行され、アクティベートコマンドACT1とACT2の間に発行される。リードコマンドRD3も、1サイクル置きの発行間隔が維持される。その結果、最小アクセス単位を途切れさせないでリードデータD2とD3とを連続させることができる。
このように、第2発行モードでは、先行するアクセス要求の連続アクセスを維持でき、先行するアクセス要求でのバス効率を劣化させない。その半面、後行するアクセス要求のリードデータまたはライトデータは最小のレイテンシに1サイクルの遅延が発生する。これはACT2が、第1発行モードと比べて、1サイクルだけ後ろにずれるからである。
図2に示すように、第1発行モードでは、後続するアクセス要求のレイテンシの最小化を優先する。第2発行モードでは、先行するアクセス要求の連続アクセスを保証しデータバスの効率を優先する。こうして、メモリコントローラ2は、第1発行モードおよび第2発行モードそれぞれのメリットとデメリットとを選択により最適化することができる。
図3は、実施の形態におけるメモリコントローラ2の動作例を示すフローチャートである。図3において、受付部21は、いずれかのアクセスマスター3からメモリアクセス要求を付け付ける(S1)。判定部22は、受付部21でメモリアクセス要求が受け付けられたとき、先行するメモリアクセス要求に対応する未発行のコマンドが存在するか否かを判定し(S2)、未発行のコマンドが存在すると判定した場合には、受け付けたメモリアクセス要求の対象となるバンクと、未発行のリードコマンドまたはライトコマンドの対象となるバンクとが異なるか否かを判定する(S3)。なお、ここでいう未発行のコマンドは、未発行のリードコマンドまたは未発行のライトコマンドでよい。
判定部22によりバンクが異なると判定された場合には(S3でyes)、選択部23は、フラグメモリ25のフラグ情報等に基づいて第1発行モードおよび前記第2発行モードのうちの一方を選択する(S4)。
つづいて、発行部24は、選択部23が第1発行モードを選択している場合は、アクティベートコマンドACTを分割しないで連続する2クロックサイクルで発行し(S11)、先行するメモリアクセス要求の未発行のコマンドを次の1サイクルで発行する(S12)。さらに、発行部24は、後行するメモリアクセス要求のコマンド列に含まれる残りのリードコマンドまたはライドコマンドを順次発行する(S13)。
一方、発行部24は、選択部23が第2発行モードを選択している場合は、アクティベートコマンドをACT1とACT2とに分割し(S21)、連続しない2以上のクロックサイクルで発行する。つまり、発行部24は、まずアクティベートコマンドACT1を1サイクルで発行し(S22)、先行するメモリアクセス要求の未発行のコマンドを次の1サイクルで発行し(S23)する。さらに、発行部24は、アクティベートコマンドACT2を1サイクルで発行する(S24)。その後、発行部24は、後行するメモリアクセス要求のコマンド列に含まれる残りのリードコマンドまたはライドコマンドを順次発行する(S25)。
このように、図3のフローチャートによれば、メモリコントローラ2は、図2のタイムチャートと同様に動作することができる。第1発行モードでは、後行するアクセス要求のレイテンシの最小化を優先する。第2発行モードでは、先行するアクセス要求の連続アクセスを保証しデータバスの効率を優先する。こうして、メモリコントローラ2は、第1発行モードおよび第2発行モードそれぞれのメリットとデメリットとを選択により最適化することができる。
また、判定部22により未発行コマンドが存在しないと判定された場合(S2でno)、、選択部23はデフォルトとして第1発行モードを選択する。
これによれば、先行アクセス要求のコマンドと、後行アクセス要求のコマンドとが競合しない場合には、後行のアクセス要求を第1発行モードにするので、先行アクセス要求の連続アクセスを保証し、かつ、後行アクセス要求のレイテンシを最小にすることができる。
また、判定部22によりバンクが異ならないと判定された場合には(S3でno)、受け付けたメモリアクセス要求の対象となるローと、未発行のリードコマンドまたはライトコマンドの対象となるローとが同じか否かを判定する(S31)。同じであると判定した場合には(S31でyes)、ステップS25に進む。この場合、先行するメモリアクセス要求の未発行コマンドは、ステップS25における後行するメモリアクセス要求のコマンド列の発行の前後または合間に、発行すればよい。一方、ローが異なると判定した場合には(S31でno)、先行するメモリアクセス要求の未発行コマンドを発行し(S32)、プリチャージコマンドを発行して(S33)当該バンクを一旦閉じてから、当該バンク内の異なるローに対するACTコマンドを発行し(S34)、ステップS25に進む。
[2.2 選択動作例]
次に、図3のステップS4の動作例について説明する。
図4は、実施の形態における選択部の動作例を示すフローチャートである。判定部22によりバンクが異なると判定された場合に、選択部23は、フラグメモリ25のフラグ情報を読み出し(S41)、フラグ情報に含まれるフラグF1が1であるか否かを判定する(S42)。選択部23は、フラグF1が1である場合は第1発行モードを選択し(S43)、フラグF1が1でない場合は第2発行モードを選択する(S44)。
これによれば、選択部23は、フラグ情報により最適な発行モードを高速に選択することができる。
次に、図3のステップS4の他の動作例について説明する。
図5は、実施の形態における選択部の他の動作例を示すフローチャートである。判定部
22によりバンクが異なると判定された場合に、選択部23は、メモリアクセス要求の要求元が、複数のアクセスマスター3のうちの第2アクセスマスターであるか否かを判定する(S51)。選択部23は、要求元が第2アクセスマスターであると判定したとき(S51でyes)、第2発行モードを選択する(S52)。
また、選択部23は、メモリアクセス要求の要求元が第1アクセスマスターであるか否かを判定する(S53)。選択部23は、要求元が第1アクセスマスターであると判定したとき(S53でyes)、第1発行モードを選択する(S54)。
さらに、選択部23は、要求元が第1アクセスマスターでも第2アクセスマスターでもないとき(S53でno)、第1発行モードを選択する(S55)。
これによれば、アクセスマスターと発行モードとを対応付けているので、それぞれのアクセスマスター個別に最適な発行モードを選択することができる。
なお、ステップS55では、選択部23は第2発行モードを選択してもよい。
また、図2、図3では、メモリアクセス要求がメモリリードを要求する場合を説明したが、メモリアクセス要求がメモリライトを要求する場合も同様である。
以上のように実施の形態におけるメモリコントローラ2によれば、アクティベートコマンドを分割しない第1発行モードと、アクティベートコマンドを分割する第2発行モードとを選択可能にすることによりアクセス効率を最適化することが可能である。
以上説明してきたように、本開示に係るメモリコントローラ2は、複数のバンクを有するSDRAM1へのアクセスを制御するメモリコントローラであって、アクセスマスター3からメモリアクセス要求を受け付ける受付部21と、コマンド発行に関する第1発行モードおよび第2発行モードのうちの一方を選択する選択部23と、選択した発行モードに従ってメモリアクセス要求に対応するコマンド列をSDRAM1に発行する発行部24と、を備え、第1発行モードは、バンクを活性化するアクティベートコマンドを分割しないで連続するクロックサイクルで発行するモードであり、第2発行モードは、バンクを活性化するアクティベートコマンドを分割して連続しないクロックサイクルで発行するモードである。
これによれば、さらなる改善を図ることができる。例えば、アクティベートコマンドを分割しない第1発行モードとアクティベートコマンドを分割する第2発行モードとを選択可能にすることによりアクセス効率とレイテンシーとを最適化することが可能である。例えば、メモリデータを処理する用途に応じて第1発行モードと第2発行モードとを選択可能にすることにより最適化することが可能である。
たとえば、メモリアクセス要求を受け付けたとき、先行するメモリアクセス要求に対応する未発行のコマンドが存在するか否かを判定し、未発行のコマンドが存在すると判定した場合には、受け付けたメモリアクセス要求の対象となるバンクと、未発行のリードコマンドまたはライトコマンドの対象となるバンクとが異なるか否かを判定する判定部22を備え、判定部23により異なると判定された場合には、選択部23は、第1発行モードおよび第2発行モードのうちの一方を選択してもよい。
これによれば、第1発行モードおよび第2発行モードそれぞれのメリットとデメリットとを選択により最適化することができる。
第1発行モードでは、先行するアクセス要求の連続アクセスにバブルが発生しバス効率が劣化する半面、後続するアクセス要求の異なるバンクのリードデータまたはライトデータは最小のレイテンシにすることができる。
一方、第2発行モードでは、先行するアクセス要求の連続アクセスを保証できバス効率を劣化させない半面、後続するアクセス要求のリードデータまたはライトデータは最小のレイテンシに1サイクルの遅延が発生する。
言い換えれば、第1発行モードでは、後続するアクセス要求のレイテンシの最小化を優先する。第2発行モードでは、先行するアクセス要求の連続アクセスを保証しデータバスの効率を優先する。
たとえば、判定部22により未発行コマンドが存在しないと判定された場合に、選択部23は第1発行モードを選択してもよい。
これによれば、先行アクセス要求のコマンドと、後行アクセス要求のコマンドとが競合しない場合には、後行のアクセス要求を第1発行モードにするので、先行アクセス要求の連続アクセスを保証し、かつ、後行アクセス要求のレイテンシを最小にすることができる。
たとえば、選択部23は、受け付けたメモリアクセス要求の要求元が、複数のアクセスマスターのうちの第1アクセスマスターである場合は、第1発行モードを選択し、受け付けたメモリアクセス要求の要求元が、複数のアクセスマスターのうちの第2アクセスマスターである場合は、第2発行モードを選択してもよい。
これによれば、アクセスマスターと発行モードとを対応づけているので、それぞれのアクセスマスター個別に最適な発行モードを選択することができる。
たとえば、受付部21は、第1発行モードまたは第2発行モードを指定するモード指定コマンドを受け付け、選択部23は、モード指定コマンドに従って第1発行モードおよび第2発行モードの一方を選択してもよい。
これによれば、モード指定コマンドにより最適な発行モードを選択することができる。
たとえば、第1発行モードまたは第2発行モードを指定するフラグ情報を保持するメモリを備え、選択部23は、メモリからフラグ情報を読み出し、読み出したフラグ情報に従って第1発行モードおよび第2発行モードの一方を選択してもよい。
これによれば、フラグ情報により最適な発行モードを高速に選択することができる。
たとえば、受付部21は、第1発行モードまたは第2発行モードを指定するモード指定コマンドを受け付け、モード指定コマンドに従ってフラグ情報を生成しメモリに保存してもよい。
これによれば、モード指定コマンドによりフラグ情報を設定することができ、より最適な発行モードを選択することができる。
たとえば、受付部21は、アクセスマスターまたは他の装置からモード指定コマンドを受け付けてもよい。
これによれば、モード指定コマンドを発行可能な装置が複数あるので、システムの柔軟さを向上させることができる。
たとえば、フラグ情報は、複数のアクセスマスターのそれぞれに対応してメモリに保存され、選択部23は、受け付けたメモリアクセス要求の要求元のアクセスマスターに対応するフラグ情報を読み出し、読み出したフラグ情報に従って第1発行モードおよび第2発行モードの一方を選択してもよい。
これによれば、フラグ情報とアクセスマスターとを対応づけているので、それぞれのアクセスマスター個別に最適な発行モードを選択することができる。
以上説明してきたように、本開示に係るメモリアクセス制御方法は、複数のバンクを有するSDRAM1へのアクセスを制御するメモリアクセス制御方法であって、アクセスマスター3からメモリアクセス要求を受け付け、コマンド発行に関する第1発行モードおよび第2発行モードのうちの一方を選択し、選択した発行モードに従ってメモリアクセス要求に対応するコマンド列をSDRAMに発行し、第1発行モードは、バンクを活性化するアクティベートコマンドを分割しないで連続するクロックサイクルで発行するモードであり、第2発行モードは、バンクを活性化するアクティベートコマンドを分割して連続しないクロックサイクルで発行するモードである。
これによれば、さらなる改善を図ることができる。例えば、アクティベートコマンドを分割しない第1発行モードとアクティベートコマンドを分割する第2発行モードとを選択可能にすることによりアクセス効率とレイテンシーを最適化することが可能である。例えば、メモリデータを処理する用途に応じて第1発行モードと第2発行モードとを選択可能にすることにより最適化することが可能である。
たとえば、メモリアクセス要求が受け付けられたとき、先行するメモリアクセス要求に対応する未発行のコマンドが存在するか否かを判定し、未発行のコマンドが存在すると判定した場合には、受け付けたメモリアクセス要求の対象となるバンクと、未発行のコマンドの対象となるバンクとが異なるか否かを判定し、異なると判定した場合には、発行モードの選択において第1発行モードおよび第2発行モードのうちの一方を選択してもよい。
これによれば、第1発行モードおよび第2発行モードそれぞれのメリットとデメリットとを選択により最適化することができる。
第1発行モードでは、先行するアクセス要求の連続アクセスにバブルが発生しバス効率が劣化する半面、後続するアクセス要求の異なるバンクのリードデータまたはライトデータは最小のレイテンシにすることができる。
一方、第2発行モードでは、先行するアクセス要求の連続アクセスを保証できバス効率を劣化させない半面、後続するアクセス要求のリードデータまたはライトデータは最小のレイテンシに1サイクルの遅延が発生する。
言い換えれば、第1発行モードでは、後続するアクセス要求のレイテンシの最小化を優先する。第2発行モードでは、先行するアクセス要求の連続アクセスを保証しデータバスの効率を優先する。
たとえば、未発行のコマンドが存在しないと判定した場合には、、選択において第1発行モードを選択してもよい。
これによれば、先行アクセス要求のコマンドと、後行アクセス要求のコマンドとが競合しない場合には、後行のアクセス要求を第1発行モードにするので、先行アクセス要求の連続アクセスを保証し、かつ、後行アクセス要求のレイテンシを最小にすることができる。
たとえば、発行モードの選択において、受け付けたメモリアクセス要求の要求元が、複数のアクセスマスターのうちの第1アクセスマスターである場合は、第1発行モードを選択し、受け付けたメモリアクセス要求の要求元が、複数のアクセスマスターのうちの第2アクセスマスターである場合は、第2発行モードを選択してもよい。
これによれば、アクセスマスターと発行モードとを対応づけているので、それぞれのアクセスマスター個別に最適な発行モードを選択することができる。
たとえば、さらに、第1発行モードまたは第2発行モードを指定するモード指定コマンドを受け付け、発行モードの選択において、モード指定コマンドに従って第1発行モードおよび第2発行モードの一方を選択してもよい。
これによれば、モード指定コマンドにより最適な発行モードを選択することができる。
たとえば、発行モードの選択において、第1発行モードまたは第2発行モードを指定するフラグ情報を保持するメモリからフラグ情報を読み出し、読み出したフラグ情報に従って第1発行モードおよび第2発行モードの一方を選択してもよい。
これによれば、フラグ情報により最適な発行モードを高速に選択することができる。
たとえば、第1発行モードまたは第2発行モードを指定するモード指定コマンドを受け付け、モード指定コマンドに従ってフラグ情報を生成しメモリに保存してもよい。
これによれば、モード指定コマンドによりフラグ情報を設定することができ、より最適な発行モードを選択することができる。
たとえば、アクセスマスターまたは他の装置からモード指定コマンドを受け付けてもよい。
これによれば、モード指定コマンドを発行可能な装置が複数あるので、システムの柔軟さを向上させることができる。
たとえば、フラグ情報は、複数のアクセスマスターのそれぞれに対応してメモリに保存され、発行モードの選択において、受け付けたメモリアクセス要求の要求元のアクセスマスターに対応するフラグ情報を読み出し、読み出したフラグ情報に従って第1発行モードおよび第2発行モードの一方を選択してもよい。
これによれば、フラグ情報とアクセスマスターとを対応づけているので、それぞれのアクセスマスター個別に最適な発行モードを選択することができる。
以上、メモリコントローラ2およびメモリアクセス制御方法について、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものも、本開示の範囲内に含まれてもよい。
なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
1 SDRAM
2 メモリコントローラ
3 アクセスマスター
11 メモリアレイ
12 コマンド実行回路
21 受付部
22 判定部
23 選択部
24 発行部
25 フラグメモリ

Claims (14)

  1. 複数のバンクを有するSDRAMへのアクセスを制御するメモリコントローラであって、
    アクセスマスターからメモリアクセス要求を受け付ける受付部と、
    コマンド発行に関する第1発行モードおよび第2発行モードのうちの一方を選択する選択部と、
    選択した発行モードに従って前記メモリアクセス要求に対応するコマンド列を前記SDRAMに発行する発行部と、を備え、
    前記第1発行モードは、バンクを活性化するアクティベートコマンドを分割しないで連続するクロックサイクルで発行するモードであり、
    前記第2発行モードは、バンクを活性化するアクティベートコマンドを分割して連続しないクロックサイクルで発行するモードであり、
    前記選択部は、
    受け付けたメモリアクセス要求の要求元が、複数のアクセスマスターのうちの第1アクセスマスターである場合は、前記第1発行モードを選択し、
    受け付けたメモリアクセス要求の要求元が、前記複数のアクセスマスターのうちの第2アクセスマスターである場合は、前記第2発行モードを選択する、
    モリコントローラ。
  2. 前記メモリアクセス要求を受け付けたとき、先行するメモリアクセス要求に対応する未発行のコマンドが存在するか否かを判定し、未発行のコマンドが存在すると判定した場合には、受け付けたメモリアクセス要求の対象となるバンクと、未発行のリードコマンドまたはライトコマンドの対象となるバンクとが異なるか否かを判定する判定部を備え、
    前記判定部により異なると判定された場合には、前記選択部は、前記第1発行モードおよび前記第2発行モードのうちの一方を選択する
    請求項1に記載のメモリコントローラ。
  3. 前記判定部により未発行コマンドが存在しないと判定された場合に、前記選択部は前記第1発行モードを選択する
    請求項2に記載のメモリコントローラ。
  4. 複数のバンクを有するSDRAMへのアクセスを制御するメモリコントローラであって、
    アクセスマスターからメモリアクセス要求を受け付ける受付部と、
    コマンド発行に関する第1発行モードおよび第2発行モードのうちの一方を選択する選択部と、
    選択した発行モードに従って前記メモリアクセス要求に対応するコマンド列を前記SDRAMに発行する発行部と、を備え、
    前記第1発行モードは、バンクを活性化するアクティベートコマンドを分割しないで連続するクロックサイクルで発行するモードであり、
    前記第2発行モードは、バンクを活性化するアクティベートコマンドを分割して連続しないクロックサイクルで発行するモードであり、
    前記第1発行モードまたは前記第2発行モードを指定するフラグ情報を保持するメモリを備え、
    前記選択部は、前記メモリからフラグ情報を読み出し、読み出した前記フラグ情報に従って前記第1発行モードおよび前記第2発行モードの一方を選択し、
    前記フラグ情報は、複数のアクセスマスターのそれぞれに対応して前記メモリに保存され、
    前記選択部は、受け付けたメモリアクセス要求の要求元のアクセスマスターに対応するフラグ情報を読み出し、読み出した前記フラグ情報に従って前記第1発行モードおよび前記第2発行モードの一方を選択する
    モリコントローラ。
  5. 前記メモリアクセス要求を受け付けたとき、先行するメモリアクセス要求に対応する未発行のコマンドが存在するか否かを判定し、未発行のコマンドが存在すると判定した場合には、受け付けたメモリアクセス要求の対象となるバンクと、未発行のリードコマンドまたはライトコマンドの対象となるバンクとが異なるか否かを判定する判定部を備え、
    前記判定部により異なると判定された場合には、前記選択部は、前記第1発行モードおよび前記第2発行モードのうちの一方を選択する
    請求項に記載のメモリコントローラ。
  6. 前記判定部により未発行コマンドが存在しないと判定された場合に、前記選択部は前記第1発行モードを選択する
    請求項に記載のメモリコントローラ。
  7. 前記受付部は、前記第1発行モードまたは前記第2発行モードを指定するモード指定コマンドを受け付け、前記モード指定コマンドに従って前記フラグ情報を生成しメモリに保存する
    請求項4から6のいずれか1項に記載のメモリコントローラ。
  8. 複数のバンクを有するSDRAMへのアクセスを制御するメモリアクセス制御方法であって、
    アクセスマスターからメモリアクセス要求を受け付け、
    コマンド発行に関する第1発行モードおよび第2発行モードのうちの一方を選択し、
    選択した発行モードに従って前記メモリアクセス要求に対応するコマンド列を前記SDRAMに発行し、
    前記第1発行モードは、バンクを活性化するアクティベートコマンドを分割しないで連続するクロックサイクルで発行するモードであり、
    前記第2発行モードは、バンクを活性化するアクティベートコマンドを分割して連続しないクロックサイクルで発行するモードであり、
    前記発行モードの選択において、
    受け付けたメモリアクセス要求の要求元が、複数のアクセスマスターのうちの第1アクセスマスターである場合は、前記第1発行モードを選択し、
    受け付けたメモリアクセス要求の要求元が、前記複数のアクセスマスターのうちの第2アクセスマスターである場合は、前記第2発行モードを選択する、
    モリアクセス制御方法。
  9. 前記メモリアクセス要求が受け付けられたとき、先行するメモリアクセス要求に対応する未発行のコマンドが存在するか否かを判定し、
    未発行のコマンドが存在すると判定した場合には、受け付けたメモリアクセス要求の対象となるバンクと、未発行のコマンドの対象となるバンクとが異なるか否かを判定し、
    異なると判定した場合には、前記発行モードの選択において前記第1発行モードおよび前記第2発行モードのうちの一方を選択する
    請求項に記載のメモリアクセス制御方法。
  10. 未発行のコマンドが存在しないと判定した場合には、前記選択において前記第1発行モードを選択する
    請求項に記載のメモリアクセス制御方法。
  11. 複数のバンクを有するSDRAMへのアクセスを制御するメモリアクセス制御方法であって、
    アクセスマスターからメモリアクセス要求を受け付け、
    コマンド発行に関する第1発行モードおよび第2発行モードのうちの一方を選択し、
    選択した発行モードに従って前記メモリアクセス要求に対応するコマンド列を前記SDRAMに発行し、
    前記第1発行モードは、バンクを活性化するアクティベートコマンドを分割しないで連続するクロックサイクルで発行するモードであり、
    前記第2発行モードは、バンクを活性化するアクティベートコマンドを分割して連続しないクロックサイクルで発行するモードであり、
    前記発行モードの選択において、前記第1発行モードまたは前記第2発行モードを指定するフラグ情報を保持するメモリからフラグ情報を読み出し、読み出した前記フラグ情報に従って前記第1発行モードおよび前記第2発行モードの一方を選択し、
    前記フラグ情報は、複数のアクセスマスターのそれぞれに対応して前記メモリに保存され、
    前記発行モードの選択において、受け付けたメモリアクセス要求の要求元のアクセスマスターに対応するフラグ情報を読み出し、
    読み出した前記フラグ情報に従って前記第1発行モードおよび前記第2発行モードの一方を選択する
    モリアクセス制御方法。
  12. 前記メモリアクセス要求が受け付けられたとき、先行するメモリアクセス要求に対応する未発行のコマンドが存在するか否かを判定し、
    未発行のコマンドが存在すると判定した場合には、受け付けたメモリアクセス要求の対象となるバンクと、未発行のコマンドの対象となるバンクとが異なるか否かを判定し、
    異なると判定した場合には、前記発行モードの選択において前記第1発行モードおよび前記第2発行モードのうちの一方を選択する
    請求項11に記載のメモリアクセス制御方法。
  13. 未発行のコマンドが存在しないと判定した場合には、前記選択において前記第1発行モードを選択する
    請求項12に記載のメモリアクセス制御方法。
  14. 前記第1発行モードまたは前記第2発行モードを指定するモード指定コマンドを受け付け、
    前記モード指定コマンドに従って前記フラグ情報を生成しメモリに保存する
    請求項11から13のいずれか1項に記載のメモリアクセス制御方法。
JP2021050871A 2021-03-24 2021-03-24 メモリコントローラおよびメモリアクセス制御方法 Active JP7369954B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021050871A JP7369954B2 (ja) 2021-03-24 2021-03-24 メモリコントローラおよびメモリアクセス制御方法
US17/702,624 US12001691B2 (en) 2021-03-24 2022-03-23 Memory controller and memory access control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021050871A JP7369954B2 (ja) 2021-03-24 2021-03-24 メモリコントローラおよびメモリアクセス制御方法

Publications (2)

Publication Number Publication Date
JP2022148977A JP2022148977A (ja) 2022-10-06
JP7369954B2 true JP7369954B2 (ja) 2023-10-27

Family

ID=83363368

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021050871A Active JP7369954B2 (ja) 2021-03-24 2021-03-24 メモリコントローラおよびメモリアクセス制御方法

Country Status (2)

Country Link
US (1) US12001691B2 (ja)
JP (1) JP7369954B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008204258A (ja) 2007-02-21 2008-09-04 Seiko Epson Corp メモリを制御するメモリコントローラ、メモリの制御方法。
US20170365309A1 (en) 2015-09-08 2017-12-21 Samsung Electronics Co., Ltd. Synchronous dynamic random access memory (sdram) device, memory controller for same, and method of operating same

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7093094B2 (en) * 2001-08-09 2006-08-15 Mobilygen Corporation Random access memory controller with out of order execution
US6615326B1 (en) * 2001-11-09 2003-09-02 Lsi Logic Corporation Methods and structure for sequencing of activation commands in a high-performance DDR SDRAM memory controller
JP2004013618A (ja) 2002-06-07 2004-01-15 Renesas Technology Corp 同期型半導体記憶装置のアクセス制御装置
CN100501701C (zh) 2003-01-27 2009-06-17 松下电器产业株式会社 存储器控制装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008204258A (ja) 2007-02-21 2008-09-04 Seiko Epson Corp メモリを制御するメモリコントローラ、メモリの制御方法。
US20170365309A1 (en) 2015-09-08 2017-12-21 Samsung Electronics Co., Ltd. Synchronous dynamic random access memory (sdram) device, memory controller for same, and method of operating same

Also Published As

Publication number Publication date
US12001691B2 (en) 2024-06-04
JP2022148977A (ja) 2022-10-06
US20220308771A1 (en) 2022-09-29

Similar Documents

Publication Publication Date Title
JP4820566B2 (ja) メモリアクセス制御回路
JP4786209B2 (ja) メモリアクセス装置
US6963516B2 (en) Dynamic optimization of latency and bandwidth on DRAM interfaces
US8149643B2 (en) Memory device and method
US20120239873A1 (en) Memory access system and method for optimizing SDRAM bandwidth
JP2007183959A (ja) 改善されたアディティブレイテンシを有したメモリシステム及び制御方法
JP2009193107A (ja) メモリアクセス装置
JP5391833B2 (ja) メモリコントローラ、システムおよび半導体メモリのアクセス制御方法
JP2016218721A (ja) メモリ制御回路およびメモリ制御方法
JP5034551B2 (ja) メモリコントローラ、半導体メモリのアクセス制御方法およびシステム
JP7369954B2 (ja) メモリコントローラおよびメモリアクセス制御方法
WO2009125572A1 (ja) メモリ制御回路及びメモリ制御方法
JP2005215762A (ja) 情報処理装置およびメモリアクセス方法
JP5204777B2 (ja) メモリ装置及びその制御方法
JP2007018222A (ja) メモリアクセス制御回路
US10061737B2 (en) Signal processing device, method of signal processing, storage medium, and electronic musical instrument
JPH09237492A (ja) メモリ制御装置
JP2003271445A (ja) メモリ制御装置及び方法
JP4969811B2 (ja) 情報処理システム及びメモリ制御装置
WO2012070247A1 (ja) メモリ装置、メモリ制御回路およびメモリ制御システム
EP4379721A1 (en) Address decoding method, and memory controller and semiconductor memory system using the same
JP5226161B2 (ja) 半導体記憶装置および情報処理システム
WO2023189358A1 (ja) メモリ制御装置
US20210319824A1 (en) Memory device including a plurality of area having different refresh periods, memory controller controlling the same and memory system including the same
JP2009266152A (ja) コントローラ、ハードディスクドライブおよびコントロール方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220401

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230425

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230613

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: 20230919

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231004

R151 Written notification of patent or utility model registration

Ref document number: 7369954

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

SZ03 Written request for cancellation of trust registration

Free format text: JAPANESE INTERMEDIATE CODE: R313Z03

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350