IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ パナソニックIPマネジメント株式会社の特許一覧

特許7369954メモリコントローラおよびメモリアクセス制御方法
<>
  • 特許-メモリコントローラおよびメモリアクセス制御方法 図1
  • 特許-メモリコントローラおよびメモリアクセス制御方法 図2
  • 特許-メモリコントローラおよびメモリアクセス制御方法 図3
  • 特許-メモリコントローラおよびメモリアクセス制御方法 図4
  • 特許-メモリコントローラおよびメモリアクセス制御方法 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-19
(45)【発行日】2023-10-27
(54)【発明の名称】メモリコントローラおよびメモリアクセス制御方法
(51)【国際特許分類】
   G06F 12/06 20060101AFI20231020BHJP
   G06F 12/00 20060101ALI20231020BHJP
   G11C 7/10 20060101ALI20231020BHJP
   G11C 11/4096 20060101ALI20231020BHJP
【FI】
G06F12/06 550A
G06F12/00 597C
G06F12/00 597D
G06F12/06 540E
G11C7/10 460
G11C11/4096 550
【請求項の数】 14
(21)【出願番号】P 2021050871
(22)【出願日】2021-03-24
(65)【公開番号】P2022148977
(43)【公開日】2022-10-06
【審査請求日】2022-04-01
(73)【特許権者】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】100109210
【弁理士】
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【弁理士】
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【弁理士】
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】田中 和人
【審査官】打出 義尚
(56)【参考文献】
【文献】米国特許出願公開第2017/0365309(US,A1)
【文献】特開2008-204258(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/06
G06F 12/00
G11C 7/10
G11C 11/4096
(57)【特許請求の範囲】
【請求項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項に記載のメモリアクセス制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、SDRAMへのアクセスを制御するメモリコントローラおよびメモリアクセス制御方法に関する。
【背景技術】
【0002】
特許文献1は、SDRAM(Synchronous Dynamic Random Access Memory)の同一のバンクに連続してアクセスすることを防止し処理時間を向上させるメモリ制御装置を提案している。
【0003】
特許文献2は、同じバンクの同じローに対する連続アクセスが発生した場合の、SDRAMに対するアクセスに要するクロックサイクルを削減して、効率の良いメモリアクセスをなし得るアクセス制御装置を提案している。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2004-252960号公報
【文献】特開2004-013618号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記特許文献1および特許文献2のメモリコントローラには改善の余地がある。
【0006】
そこで、本開示では、さらなる改善を図ることが可能なメモリコントローラおよびメモリアクセス制御方法を提供する。
【課題を解決するための手段】
【0007】
本開示の一態様に係るメモリコントローラは、複数のバンクを有するSDRAMへのアクセスを制御するメモリコントローラであって、アクセスマスターからメモリアクセス要求を受け付ける受付部と、コマンド発行に関する第1発行モードおよび第2発行モードのうちの一方を選択する選択部と、選択した発行モードに従って前記メモリアクセス要求に対応するコマンド列を前記SDRAMに発行する発行部と、を備え、前記第1発行モードは、バンクを活性化するアクティベートコマンドを分割しないで連続するクロックサイクルで発行するモードであり、前記第2発行モードは、バンクを活性化するアクティベートコマンドを分割して連続しないクロックサイクルで発行するモードである。
【0008】
また、本開示の一態様に係るメモリアクセス制御方法は、複数のバンクを有するSDRAMへのアクセスを制御するメモリアクセス制御方法であって、アクセスマスターからメモリアクセス要求を受け付け、コマンド発行に関する第1発行モードおよび第2発行モードのうちの一方を選択し、選択した発行モードに従って前記メモリアクセス要求に対応するコマンド列を前記SDRAMに発行し、前記第1発行モードは、バンクを活性化するアクティベートコマンドを分割しないで連続するクロックサイクルで発行するモードであり、前記第2発行モードは、バンクを活性化するアクティベートコマンドを分割して連続しないクロックサイクルで発行するモードである。
【0009】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現され
てもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【0010】
本開示の一態様に係るメモリコントローラおよびメモリアクセス制御方法によれば、さらなる改善を図ることができる。
【図面の簡単な説明】
【0011】
図1図1は、実施の形態におけるメモリコントローラ、アクセスマスターおよびSDRAMを含むシステムの構成例を示すブロック図である。
図2図2は、実施の形態におけるメモリコントローラの動作例を示すタイムチャートである。
図3図3は、実施の形態におけるメモリコントローラの動作例を示すフローチャートである。
図4図4は、実施の形態における選択部の動作例を示すフローチャートである。
図5図5は、実施の形態における選択部の他の動作例を示すフローチャートである。
【発明を実施するための形態】
【0012】
(本開示の一態様を得るに至った経緯)
本発明者は、「背景技術」の欄において記載したSDRAMである半導体メモリデバイスに関し、以下の問題が生じることを見出した。
【0013】
LPDDR5(Low Power Double Data Rate 5)と呼ばれるSDRAM規格では、新たなクロックシステムが導入され、それに伴い、コマンド発行の仕様も変更されている。
【0014】
各種コマンドは、クロックの両エッジ(立ち上がりエッジと立ち下りエッジ)に同期してメモリコントローラからSDRAMに発行される。各種コマンドのうちアクティベートコマンドは、SDRAM内の指定されたバンク上のローを活性化するためのコマンドであり、2サイクル長で構成される。このアクティベートコマンドは、1サイクル長の2つのコマンドに分割可能である。2つに分割された部分的なコマンドを、ACT1コマンドとACT2コマンドとする。ACT1コマンドとACT2コマンドは、不連続な2サイクルで発行可能である。ACT1コマンドとACT2コマンドとは、最大8サイクルの間を置くことができる。
【0015】
また、リードコマンド、ライトコマンド等は、1サイクル長で構成される。LPDDR5のリードコマンドおよびライトコマンドの標準的な最小アクセス単位であるバースト長は16ビートである。なお、データバスのクロック信号は、コマンドバスのクロック信号の4倍速である。上記の16ビートは、データバスのクロック信号の8サイクルであり、コマンドバスのクロック信号の2サイクルである。
【0016】
16ビートのバースト長のリードまたはライトを複数回連続実行するためには、コマンドバスの2サイクル毎に1回(つまり1サイクル置きに)リードコマンドまたはライトコマンドを発行すればよい。
【0017】
ところが、先行するアクセス要求のコマンド発行と、後行するアクセス要求のコマンド発行とが競合する場合には次の問題が生じ得る。例えば、先行するアクセス要求の連続アクセスの際中に、後行するアクセス要求に対応する新たなバンクにアクセスするためのアクティベートコマンド(2サイクル長)を発行すると、アクティベートコマンドを発行したタイミングの前後のリードコマンドまたはライトコマンドは、2サイクルの間が空くの
で、データバスにバブルが発生し、連続アクセスできなくなりデータバスの効率を悪化させる。
【0018】
この場合のバブルの発生は、1サイクル(データバスクロックでは4サイクル)であり、単発のアクセス要求では、わずかであるかもしれない。しかし、例えば動画のエンコードやデコードなど大量のデータアクセスを伴う処理で、頻繁に新たなバンクに対してアクティベートコマンドを発行する場合には、発生するバブルによるSDRAMへのアクセスの効率劣化が発生する。
【0019】
そこで、本開示は、アクティベートコマンドが分割可能であることを利用して、SDRAMアクセス性能の最適化を図る。
【0020】
このような問題を解決するために、本開示の一態様に係るメモリコントローラは、(複数のバンクを有するSDRAMへのアクセスを制御するメモリコントローラであって、アクセスマスターからメモリアクセス要求を受け付ける受付部と、コマンド発行に関する第1発行モードおよび第2発行モードのうちの一方を選択する選択部と、選択した発行モードに従って前記メモリアクセス要求に対応するコマンド列を前記SDRAMに発行する発行部と、を備え、前記第1発行モードは、バンクを活性化するアクティベートコマンドを分割しないで連続するクロックサイクルで発行するモードであり、前記第2発行モードは、バンクを活性化するアクティベートコマンドを分割して連続しないクロックサイクルで発行するモードである。
【0021】
これによれば、さらなる改善を図ることができる。例えば、アクティベートコマンドを分割しない第1発行モードとアクティベートコマンドを分割する第2発行モードとを選択可能にすることによりアクセス効率を最適化することが可能である。例えば、メモリデータを処理する用途に応じて第1発行モードと第2発行モードとを選択可能にすることにより最適化することが可能である。
【0022】
ここで、前記メモリアクセス要求を受け付けたとき、先行するメモリアクセス要求に対応する未発行のコマンドが存在するか否かを判定し、未発行のコマンドが存在すると判定した場合には、受け付けたメモリアクセス要求の対象となるバンクと、未発行のリードコマンドまたはライトコマンドの対象となるバンクとが異なるか否かを判定する判定部を備え、前記判定部により異なると判定された場合には、前記選択部は、前記第1発行モードおよび前記第2発行モードのうちの一方を選択してもよい。
【0023】
これによれば、第1発行モードおよび第2発行モードそれぞれのメリットとデメリットとを選択により最適化することができる。
【0024】
第1発行モードでは、先行するアクセス要求の連続アクセスにバブルが発生しバス効率が劣化する半面、後続するアクセス要求の異なるバンクのリードデータまたはライトデータは最小のレイテンシにすることができる。
【0025】
一方、第2発行モードでは、先行するアクセス要求の連続アクセスを保証できバス効率を劣化させない半面、後続するアクセス要求のリードデータまたはライトデータは最小のレイテンシに1サイクルの遅延が発生する。
【0026】
言い換えれば、第1発行モードでは、後続するアクセス要求のレイテンシの最小化を優先する。第2発行モードでは、先行するアクセス要求の連続アクセスを保証しデータバスの効率を優先する。
【0027】
ここで、前記判定部により未発行コマンドが存在しないと判定された場合に、前記選択部は前記第1発行モードを選択してもよい。
【0028】
これによれば、先行アクセス要求のコマンドと、後行アクセス要求のコマンドとが競合しない場合には、後行のアクセス要求を第1発行モードにするので、先行アクセス要求の連続アクセスを保証し、かつ、後行アクセス要求のレイテンシを最小にすることができる。
【0029】
ここで、前記選択部は、受け付けたメモリアクセス要求の要求元が、複数のアクセスマスターのうちの第1アクセスマスターである場合は、前記第1発行モードを選択し、受け付けたメモリアクセス要求の要求元が、前記複数のアクセスマスターのうちの第2アクセスマスターである場合は、前記第2発行モードを選択してもよい。
【0030】
これによれば、アクセスマスターと発行モードとを対応づけているので、それぞれのアクセスマスター個別に最適な発行モードを選択することができる。
【0031】
ここで、前記受付部は、前記第1発行モードまたは前記第2発行モードを指定するモード指定コマンドを受け付け、前記選択部は、前記モード指定コマンドに従って前記第1発行モードおよび前記第2発行モードの一方を選択してもよい。
【0032】
これによれば、モード指定コマンドにより最適な発行モードを選択することができる。
【0033】
ここで、前記第1発行モードまたは前記第2発行モードを指定するフラグ情報を保持するメモリを備え、前記選択部は、前記メモリからフラグ情報を読み出し、読み出した前記フラグ情報に従って前記第1発行モードおよび前記第2発行モードの一方を選択してもよい。
【0034】
これによれば、フラグ情報により最適な発行モードを高速に選択することができる。
【0035】
ここで、前記受付部は、前記第1発行モードまたは前記第2発行モードを指定するモード指定コマンドを受け付け、前記モード指定コマンドに従って前記フラグ情報を生成しメモリに保存してもよい。
【0036】
これによれば、モード指定コマンドによりフラグ情報を設定することができ、より最適な発行モードを選択することができる。
【0037】
ここで、前記受付部は、前記アクセスマスターまたは他の装置から前記モード指定コマンドを受け付けてもよい。
【0038】
これによれば、モード指定コマンドを発行可能な装置が複数あるので、システムの柔軟さを向上させることができる。
【0039】
ここで、前記フラグ情報は、複数のアクセスマスターのそれぞれに対応して前記メモリに保存され、前記選択部は、受け付けたメモリアクセス要求の要求元のアクセスマスターに対応するフラグ情報を読み出し、読み出した前記フラグ情報に従って前記第1発行モードおよび前記第2発行モードの一方を選択してもよい。
【0040】
これによれば、フラグ情報とアクセスマスターとを対応づけているので、それぞれのアクセスマスター個別に最適な発行モードを選択することができる。
【0041】
また、本開示の本開示の一態様に係るメモリアクセス制御方法は、複数のバンクを有するSDRAMへのアクセスを制御するメモリアクセス制御方法であって、アクセスマスターからメモリアクセス要求を受け付け、コマンド発行に関する第1発行モードおよび第2発行モードのうちの一方を選択し、選択した発行モードに従って前記メモリアクセス要求に対応するコマンド列を前記SDRAMに発行し、前記第1発行モードは、バンクを活性化するアクティベートコマンドを分割しないで連続するクロックサイクルで発行するモードであり、前記第2発行モードは、バンクを活性化するアクティベートコマンドを分割して連続しないクロックサイクルで発行するモードである。
【0042】
これによれば、例えば、メモリデータを処理する用途に応じて第1発行モードと第2発行モードとを選択可能にすることにより最適化することが可能である。
【0043】
ここで、前記メモリアクセス要求が受け付けられたとき、先行するメモリアクセス要求に対応する未発行のコマンドが存在するか否かを判定し、未発行のコマンドが存在すると判定した場合には、受け付けたメモリアクセス要求の対象となるバンクと、未発行のコマンドの対象となるバンクとが異なるか否かを判定し、異なると判定した場合には、前記発行モードの選択において前記第1発行モードおよび前記第2発行モードのうちの一方を選択してもよい。
【0044】
これによれば、第1発行モードおよび第2発行モードそれぞれのメリットとデメリットとを選択により最適化することができる。
【0045】
第1発行モードでは、先行するアクセス要求の連続アクセスにバブルが発生しバス効率が劣化する半面、後続するアクセス要求の異なるバンクのリードデータまたはライトデータは最小のレイテンシにすることができる。
【0046】
一方、第2発行モードでは、先行するアクセス要求の連続アクセスを保証できバス効率を劣化させない半面、後続するアクセス要求のリードデータまたはライトデータは最小のレイテンシに1サイクルの遅延が発生する。
【0047】
言い換えれば、第1発行モードでは、後続するアクセス要求のレイテンシの最小化を優先する。第2発行モードでは、先行するアクセス要求の連続アクセスを保証しデータバスの効率を優先する。
【0048】
ここで、未発行のコマンドが存在しないと判定した場合には、前記選択において前記第1発行モードを選択してもよい。
【0049】
これによれば、先行アクセス要求のコマンドと、後行アクセス要求のコマンドとが競合しない場合には、後行のアクセス要求を第1発行モードにするので、先行アクセス要求の連続アクセスを保証し、かつ、後行アクセス要求のレイテンシを最小にすることができる。
【0050】
ここで、 前記発行モードの選択において、受け付けたメモリアクセス要求の要求元が、複数のアクセスマスターのうちの第1アクセスマスターである場合は、前記第1発行モードを選択し、受け付けたメモリアクセス要求の要求元が、前記複数のアクセスマスターのうちの第2アクセスマスターである場合は、前記第2発行モードを選択してもよい。
【0051】
これによれば、アクセスマスターと発行モードとを対応づけているので、それぞれのアクセスマスター個別に最適な発行モードを選択することができる。
【0052】
ここで、さらに、前記第1発行モードまたは前記第2発行モードを指定するモード指定コマンドを受け付け、前記発行モードの選択において、前記モード指定コマンドに従って前記第1発行モードおよび前記第2発行モードの一方を選択してもよい。
【0053】
これによれば、モード指定コマンドにより最適な発行モードを選択することができる。
【0054】
ここで、前記発行モードの選択において、前記第1発行モードまたは前記第2発行モードを指定するフラグ情報を保持するメモリからフラグ情報を読み出し、読み出した前記フラグ情報に従って前記第1発行モードおよび前記第2発行モードの一方を選択してもよい。
【0055】
これによれば、フラグ情報により最適な発行モードを選択することができる。
【0056】
ここで、 前記第1発行モードまたは前記第2発行モードを指定するモード指定コマンドを受け付け、前記モード指定コマンドに従って前記フラグ情報を生成しメモリに保存してもよい。
【0057】
これによれば、モード指定コマンドによりフラグ情報を設定することができ、より最適な発行モードを選択することができる。
【0058】
ここで、前記アクセスマスターまたは他の装置から前記モード指定コマンドを受け付けてもよい。
【0059】
これによれば、モード指定コマンドを発行可能な装置が複数あるので、システムの柔軟さを向上させることができる。
【0060】
ここで、前記フラグ情報は、複数のアクセスマスターのそれぞれに対応して前記メモリに保存され、前記発行モードの選択において、受け付けたメモリアクセス要求の要求元のアクセスマスターに対応するフラグ情報を読み出し、読み出した前記フラグ情報に従って前記第1発行モードおよび前記第2発行モードの一方を選択してもよい。
【0061】
これによれば、フラグ情報とアクセスマスターとを対応づけているので、それぞれのアクセスマスター個別に最適な発行モードを選択することができる。
【0062】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
【0063】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【0064】
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。
【0065】
(実施の形態)
[1.1 構成例]
図1は、実施の形態におけるメモリコントローラ、アクセスマスターおよびSDRAMを含むシステムの構成例を示すブロック図である。
【0066】
同図のシステムは、SDRAM1、メモリコントローラ2および複数のアクセスマスター3を備える。
【0067】
SDRAM1は、複数のメモリアレイ11と、コマンド実行回路12とを備える。
【0068】
複数のメモリアレイ11は、バンク0からバンク(nー1)までのn個のバンクを構成する。複数のメモリアレイ11のそれぞれは、行列状に配置されたメモリセルと、センスアンプとを含む。
【0069】
コマンド実行回路12は、メモリコントローラ2から発行される各種コマンドを受信および実行する。
【0070】
SDRAM1は、LPDDR5に準拠するSDRAMであるものとする。特に、SDRAM1が実行可能な、アクティベートコマンドは2サイクル長であり、1サイクル長の2つに分割可能である。2サイクル長の分割されていないアクティベートコマンドをACTコマンドと記す。分割されたアクティベートコマンドを、ACT1コマンド、ACT2コマンドと記す。アクティベートコマンドは、バンクアドレスとローアドレスとを含み、バンク内のローを活性化するためのコマンドである。コマンド実行回路12は、ACTコマンドを受信すると、バンクアドレスで指定されたバンクを選択し、当該バンク内のローアドレスで指定されたローに属するメモリセルのデータを、センスアンプに転送する。
【0071】
また、データバスのクロック信号は、コマンドバスのクロック信号の4倍速である。最小アクセス単位である連続バースト長は16ビート(データ用のクロック信号の8サイクルであり、コマンド用のクロック信号で2サイクル)である。データ用のクロック信号は差動信号であり、コマンド用のクロック信号も差動信号である。
【0072】
また、リードコマンドは1サイクル長であり、ライトコマンドも1サイクル長である。
【0073】
メモリコントローラ2は、受付部21、判定部22、選択部23、発行部24、フラグメモリ25を備える。
【0074】
受付部21は、複数のアクセスマスター3のそれぞれからメモリアクセス要求を受け付ける。
【0075】
判定部22は、受付部21が受け付けたメモリアクセス要求に対応するコマンドを発行すべきタイミングと、先行するメモリアクセス要求に対応するコマンドを発行すべきタイミングとが競合するか否かを判定する。具体的には、判定部22は、受付部21がメモリアクセス要求を受け付けた時、先行するメモリアクセス要求に対応する未発行のリードコマンドまたはライトコマンドが発行部24に存在するか否かを判定する。さらに、判定部22は、未発行のリードコマンドまたはライトコマンドが存在すると判定した場合には、受け付けたメモリアクセス要求の対象となるバンクと、未発行のリードコマンドまたはライトコマンドの対象となるバンクとが異なるか否かを判定する。
【0076】
選択部23は、判定部22の判定結果に応じて、コマンド発行に関する第1発行モードおよび第2発行モードのうちの一方を選択する。ここで、第1発行モードは、バンクを活性化するアクティベートコマンドを分割しないで連続する2クロックサイクルで発行するモードである。第2発行モードは、バンクを活性化するアクティベートコマンドを分割して連続しない2クロックサイクルで発行するモードである。なお、選択部23は、フラグメモリ25からフラグ情報を読み出し、読み出したフラグ情報に従って第1発行モードお
よび第2発行モードの一方を選択してもよい。フラグ情報は、第1発行モードまたは第2発行モードを指定する情報である。なお、コマンドを分割する例として、アクティベートコマンドを2つに分割する例を取り上げるが、分割数は3以上であってもよいし、アクティベートコマンド以外のコマンドであってもよい。
【0077】
発行部24は、受付部21が受け付けたメモリアクセス要求を実現するために、SDRAM1が解読および実行可能なコマンド列を生成し、コマンド列に含まれる各コマンドをSDRAM1の仕様として規定されたタイミングで順次SDRAM1に発行する。このとき、発行部24は、選択部23で選択された発行モードに従ってコマンド列を発行する。つまり、選択部23が第1発行モードを選択している場合は、発行部24は、アクティベートコマンドを分割しないで連続する2クロックサイクルで発行する。一方、選択部23が第2発行モードを選択している場合は、発行部24は、アクティベートコマンドを分割して連続しない2以上のクロックサイクルで発行する。
【0078】
フラグメモリ25は、第1発行モードまたは第2発行モードを指定するフラグ情報を保持する。なお、フラグメモリ25は、工場出荷時に書き込まれるフラグ情報を記憶する不揮発メモリであってもよい。また、フラグメモリ25は、システムの電源オン時、および、リセット時に、初期化処理で書き込まれるフラグ情報を保持するレジスタであってもよい。レジスタのフラグ情報は、外部の装置からの書き換え可能であってもよい。
【0079】
複数のアクセスマスター3のそれぞれは、具体的には、ビデオデコーダ、ビデオエンコーダ、オーディオデコーダ、オーディオエンコーダ、CPU、キャッシュメモリ、DMAC(Direct Memory Access Controller)、グラフィックスコントローラ、DSP(Digital Signal Processor)などである。各アクセスマスター3は、メモリアクセス要求をメモリコントローラ2に送信する。
【0080】
[2.1 全体動作例]
以上のように構成されたメモリコントローラ2の動作について説明する。
【0081】
図2は、実施の形態におけるメモリコントローラ2の動作例を示すタイムチャートである。図中のクロック信号CLKpは、コマンドバスの差動クロック信号に含まれるプラス側の信号を示す。マイナス側のクロック信号CLKnは図示を省略している。
【0082】
コマンド欄は、コマンド名を示している。バンク欄は、コマンド中のバンクアドレスで指定されるバンク名を示す。データバス欄は、リードコマンドに対応するリードデータを示す。
【0083】
同図中の白背景の黒文字のコマンド、バンクは、先行するメモリアクセス要求に対応するコマンド、バンクを示す。黒背景の白文字の各コマンドは後行するメモリアクセス要求に対応するコマンドを示す。
【0084】
リードコマンドRD0~RD3は、先行するメモリアクセス要求に対応し、バンクMへのリードコマンドである。RL(Read Latency)は、リードコマンドのサイクルからリードデータが主力されるサイクルまでの遅延サイクル数を示す。
【0085】
リードデータD0~D3は、リードコマンドRD0~RD3に従ってバンクMから読み出されたリードデータである。リードデータD0~D3のそれぞれは、最小アクセス単位である連続バースト長の16ビートのデータを示している。
【0086】
同図上段の(a)は、第1発行モードに従うコマンド列を示している。また、同図の(
b)は、第2発行モードに従うコマンド列を示している。
【0087】
アクティベートコマンドACTは、後行するメモリアクセス要求に対応し、分割されていない2サイクル長のコマンドであり、バンクNの活性化を示す。このアクティベートコマンドACTは、先行メモリアクセス要求の未発行のリードコマンドRD3と競合する。
【0088】
同図の(a)の第1発行モードでは、アクティベートコマンドACTは、先行するアクセス要求のリードコマンドRD3よりも優先的に発行される。リードコマンドRD3は、アクティベートコマンドACTの次に発行される。
【0089】
このように、第1発行モードでは、先行するアクセス要求の連続アクセスにバブルが発生し、先行するアクセス要求でのバス効率が劣化する。その半面、後行するアクセス要求の異なるバンクのリードデータまたはライトデータは最小のレイテンシにすることができる。
【0090】
同図の(b)の第2発行モードでは、アクティベートコマンドはACT1とACT2に分割される。先行するアクセス要求のリードコマンドRD3は、リードコマンドRD2の発行から1サイクル置いたサイクルで発行され、アクティベートコマンドACT1とACT2の間に発行される。リードコマンドRD3も、1サイクル置きの発行間隔が維持される。その結果、最小アクセス単位を途切れさせないでリードデータD2とD3とを連続させることができる。
【0091】
このように、第2発行モードでは、先行するアクセス要求の連続アクセスを維持でき、先行するアクセス要求でのバス効率を劣化させない。その半面、後行するアクセス要求のリードデータまたはライトデータは最小のレイテンシに1サイクルの遅延が発生する。これはACT2が、第1発行モードと比べて、1サイクルだけ後ろにずれるからである。
【0092】
図2に示すように、第1発行モードでは、後続するアクセス要求のレイテンシの最小化を優先する。第2発行モードでは、先行するアクセス要求の連続アクセスを保証しデータバスの効率を優先する。こうして、メモリコントローラ2は、第1発行モードおよび第2発行モードそれぞれのメリットとデメリットとを選択により最適化することができる。
【0093】
図3は、実施の形態におけるメモリコントローラ2の動作例を示すフローチャートである。図3において、受付部21は、いずれかのアクセスマスター3からメモリアクセス要求を付け付ける(S1)。判定部22は、受付部21でメモリアクセス要求が受け付けられたとき、先行するメモリアクセス要求に対応する未発行のコマンドが存在するか否かを判定し(S2)、未発行のコマンドが存在すると判定した場合には、受け付けたメモリアクセス要求の対象となるバンクと、未発行のリードコマンドまたはライトコマンドの対象となるバンクとが異なるか否かを判定する(S3)。なお、ここでいう未発行のコマンドは、未発行のリードコマンドまたは未発行のライトコマンドでよい。
【0094】
判定部22によりバンクが異なると判定された場合には(S3でyes)、選択部23は、フラグメモリ25のフラグ情報等に基づいて第1発行モードおよび前記第2発行モードのうちの一方を選択する(S4)。
【0095】
つづいて、発行部24は、選択部23が第1発行モードを選択している場合は、アクティベートコマンドACTを分割しないで連続する2クロックサイクルで発行し(S11)、先行するメモリアクセス要求の未発行のコマンドを次の1サイクルで発行する(S12)。さらに、発行部24は、後行するメモリアクセス要求のコマンド列に含まれる残りのリードコマンドまたはライドコマンドを順次発行する(S13)。
【0096】
一方、発行部24は、選択部23が第2発行モードを選択している場合は、アクティベートコマンドをACT1とACT2とに分割し(S21)、連続しない2以上のクロックサイクルで発行する。つまり、発行部24は、まずアクティベートコマンドACT1を1サイクルで発行し(S22)、先行するメモリアクセス要求の未発行のコマンドを次の1サイクルで発行し(S23)する。さらに、発行部24は、アクティベートコマンドACT2を1サイクルで発行する(S24)。その後、発行部24は、後行するメモリアクセス要求のコマンド列に含まれる残りのリードコマンドまたはライドコマンドを順次発行する(S25)。
【0097】
このように、図3のフローチャートによれば、メモリコントローラ2は、図2のタイムチャートと同様に動作することができる。第1発行モードでは、後行するアクセス要求のレイテンシの最小化を優先する。第2発行モードでは、先行するアクセス要求の連続アクセスを保証しデータバスの効率を優先する。こうして、メモリコントローラ2は、第1発行モードおよび第2発行モードそれぞれのメリットとデメリットとを選択により最適化することができる。
【0098】
また、判定部22により未発行コマンドが存在しないと判定された場合(S2でno)、、選択部23はデフォルトとして第1発行モードを選択する。
【0099】
これによれば、先行アクセス要求のコマンドと、後行アクセス要求のコマンドとが競合しない場合には、後行のアクセス要求を第1発行モードにするので、先行アクセス要求の連続アクセスを保証し、かつ、後行アクセス要求のレイテンシを最小にすることができる。
【0100】
また、判定部22によりバンクが異ならないと判定された場合には(S3でno)、受け付けたメモリアクセス要求の対象となるローと、未発行のリードコマンドまたはライトコマンドの対象となるローとが同じか否かを判定する(S31)。同じであると判定した場合には(S31でyes)、ステップS25に進む。この場合、先行するメモリアクセス要求の未発行コマンドは、ステップS25における後行するメモリアクセス要求のコマンド列の発行の前後または合間に、発行すればよい。一方、ローが異なると判定した場合には(S31でno)、先行するメモリアクセス要求の未発行コマンドを発行し(S32)、プリチャージコマンドを発行して(S33)当該バンクを一旦閉じてから、当該バンク内の異なるローに対するACTコマンドを発行し(S34)、ステップS25に進む。
【0101】
[2.2 選択動作例]
次に、図3のステップS4の動作例について説明する。
【0102】
図4は、実施の形態における選択部の動作例を示すフローチャートである。判定部22によりバンクが異なると判定された場合に、選択部23は、フラグメモリ25のフラグ情報を読み出し(S41)、フラグ情報に含まれるフラグF1が1であるか否かを判定する(S42)。選択部23は、フラグF1が1である場合は第1発行モードを選択し(S43)、フラグF1が1でない場合は第2発行モードを選択する(S44)。
【0103】
これによれば、選択部23は、フラグ情報により最適な発行モードを高速に選択することができる。
【0104】
次に、図3のステップS4の他の動作例について説明する。
【0105】
図5は、実施の形態における選択部の他の動作例を示すフローチャートである。判定部
22によりバンクが異なると判定された場合に、選択部23は、メモリアクセス要求の要求元が、複数のアクセスマスター3のうちの第2アクセスマスターであるか否かを判定する(S51)。選択部23は、要求元が第2アクセスマスターであると判定したとき(S51でyes)、第2発行モードを選択する(S52)。
【0106】
また、選択部23は、メモリアクセス要求の要求元が第1アクセスマスターであるか否かを判定する(S53)。選択部23は、要求元が第1アクセスマスターであると判定したとき(S53でyes)、第1発行モードを選択する(S54)。
【0107】
さらに、選択部23は、要求元が第1アクセスマスターでも第2アクセスマスターでもないとき(S53でno)、第1発行モードを選択する(S55)。
【0108】
これによれば、アクセスマスターと発行モードとを対応付けているので、それぞれのアクセスマスター個別に最適な発行モードを選択することができる。
【0109】
なお、ステップS55では、選択部23は第2発行モードを選択してもよい。
【0110】
また、図2図3では、メモリアクセス要求がメモリリードを要求する場合を説明したが、メモリアクセス要求がメモリライトを要求する場合も同様である。
【0111】
以上のように実施の形態におけるメモリコントローラ2によれば、アクティベートコマンドを分割しない第1発行モードと、アクティベートコマンドを分割する第2発行モードとを選択可能にすることによりアクセス効率を最適化することが可能である。
【0112】
以上説明してきたように、本開示に係るメモリコントローラ2は、複数のバンクを有するSDRAM1へのアクセスを制御するメモリコントローラであって、アクセスマスター3からメモリアクセス要求を受け付ける受付部21と、コマンド発行に関する第1発行モードおよび第2発行モードのうちの一方を選択する選択部23と、選択した発行モードに従ってメモリアクセス要求に対応するコマンド列をSDRAM1に発行する発行部24と、を備え、第1発行モードは、バンクを活性化するアクティベートコマンドを分割しないで連続するクロックサイクルで発行するモードであり、第2発行モードは、バンクを活性化するアクティベートコマンドを分割して連続しないクロックサイクルで発行するモードである。
【0113】
これによれば、さらなる改善を図ることができる。例えば、アクティベートコマンドを分割しない第1発行モードとアクティベートコマンドを分割する第2発行モードとを選択可能にすることによりアクセス効率とレイテンシーとを最適化することが可能である。例えば、メモリデータを処理する用途に応じて第1発行モードと第2発行モードとを選択可能にすることにより最適化することが可能である。
【0114】
たとえば、メモリアクセス要求を受け付けたとき、先行するメモリアクセス要求に対応する未発行のコマンドが存在するか否かを判定し、未発行のコマンドが存在すると判定した場合には、受け付けたメモリアクセス要求の対象となるバンクと、未発行のリードコマンドまたはライトコマンドの対象となるバンクとが異なるか否かを判定する判定部22を備え、判定部23により異なると判定された場合には、選択部23は、第1発行モードおよび第2発行モードのうちの一方を選択してもよい。
【0115】
これによれば、第1発行モードおよび第2発行モードそれぞれのメリットとデメリットとを選択により最適化することができる。
【0116】
第1発行モードでは、先行するアクセス要求の連続アクセスにバブルが発生しバス効率が劣化する半面、後続するアクセス要求の異なるバンクのリードデータまたはライトデータは最小のレイテンシにすることができる。
【0117】
一方、第2発行モードでは、先行するアクセス要求の連続アクセスを保証できバス効率を劣化させない半面、後続するアクセス要求のリードデータまたはライトデータは最小のレイテンシに1サイクルの遅延が発生する。
【0118】
言い換えれば、第1発行モードでは、後続するアクセス要求のレイテンシの最小化を優先する。第2発行モードでは、先行するアクセス要求の連続アクセスを保証しデータバスの効率を優先する。
【0119】
たとえば、判定部22により未発行コマンドが存在しないと判定された場合に、選択部23は第1発行モードを選択してもよい。
【0120】
これによれば、先行アクセス要求のコマンドと、後行アクセス要求のコマンドとが競合しない場合には、後行のアクセス要求を第1発行モードにするので、先行アクセス要求の連続アクセスを保証し、かつ、後行アクセス要求のレイテンシを最小にすることができる。
【0121】
たとえば、選択部23は、受け付けたメモリアクセス要求の要求元が、複数のアクセスマスターのうちの第1アクセスマスターである場合は、第1発行モードを選択し、受け付けたメモリアクセス要求の要求元が、複数のアクセスマスターのうちの第2アクセスマスターである場合は、第2発行モードを選択してもよい。
【0122】
これによれば、アクセスマスターと発行モードとを対応づけているので、それぞれのアクセスマスター個別に最適な発行モードを選択することができる。
【0123】
たとえば、受付部21は、第1発行モードまたは第2発行モードを指定するモード指定コマンドを受け付け、選択部23は、モード指定コマンドに従って第1発行モードおよび第2発行モードの一方を選択してもよい。
【0124】
これによれば、モード指定コマンドにより最適な発行モードを選択することができる。
【0125】
たとえば、第1発行モードまたは第2発行モードを指定するフラグ情報を保持するメモリを備え、選択部23は、メモリからフラグ情報を読み出し、読み出したフラグ情報に従って第1発行モードおよび第2発行モードの一方を選択してもよい。
【0126】
これによれば、フラグ情報により最適な発行モードを高速に選択することができる。
【0127】
たとえば、受付部21は、第1発行モードまたは第2発行モードを指定するモード指定コマンドを受け付け、モード指定コマンドに従ってフラグ情報を生成しメモリに保存してもよい。
【0128】
これによれば、モード指定コマンドによりフラグ情報を設定することができ、より最適な発行モードを選択することができる。
【0129】
たとえば、受付部21は、アクセスマスターまたは他の装置からモード指定コマンドを受け付けてもよい。
【0130】
これによれば、モード指定コマンドを発行可能な装置が複数あるので、システムの柔軟さを向上させることができる。
【0131】
たとえば、フラグ情報は、複数のアクセスマスターのそれぞれに対応してメモリに保存され、選択部23は、受け付けたメモリアクセス要求の要求元のアクセスマスターに対応するフラグ情報を読み出し、読み出したフラグ情報に従って第1発行モードおよび第2発行モードの一方を選択してもよい。
【0132】
これによれば、フラグ情報とアクセスマスターとを対応づけているので、それぞれのアクセスマスター個別に最適な発行モードを選択することができる。
【0133】
以上説明してきたように、本開示に係るメモリアクセス制御方法は、複数のバンクを有するSDRAM1へのアクセスを制御するメモリアクセス制御方法であって、アクセスマスター3からメモリアクセス要求を受け付け、コマンド発行に関する第1発行モードおよび第2発行モードのうちの一方を選択し、選択した発行モードに従ってメモリアクセス要求に対応するコマンド列をSDRAMに発行し、第1発行モードは、バンクを活性化するアクティベートコマンドを分割しないで連続するクロックサイクルで発行するモードであり、第2発行モードは、バンクを活性化するアクティベートコマンドを分割して連続しないクロックサイクルで発行するモードである。
【0134】
これによれば、さらなる改善を図ることができる。例えば、アクティベートコマンドを分割しない第1発行モードとアクティベートコマンドを分割する第2発行モードとを選択可能にすることによりアクセス効率とレイテンシーを最適化することが可能である。例えば、メモリデータを処理する用途に応じて第1発行モードと第2発行モードとを選択可能にすることにより最適化することが可能である。
【0135】
たとえば、メモリアクセス要求が受け付けられたとき、先行するメモリアクセス要求に対応する未発行のコマンドが存在するか否かを判定し、未発行のコマンドが存在すると判定した場合には、受け付けたメモリアクセス要求の対象となるバンクと、未発行のコマンドの対象となるバンクとが異なるか否かを判定し、異なると判定した場合には、発行モードの選択において第1発行モードおよび第2発行モードのうちの一方を選択してもよい。
【0136】
これによれば、第1発行モードおよび第2発行モードそれぞれのメリットとデメリットとを選択により最適化することができる。
【0137】
第1発行モードでは、先行するアクセス要求の連続アクセスにバブルが発生しバス効率が劣化する半面、後続するアクセス要求の異なるバンクのリードデータまたはライトデータは最小のレイテンシにすることができる。
【0138】
一方、第2発行モードでは、先行するアクセス要求の連続アクセスを保証できバス効率を劣化させない半面、後続するアクセス要求のリードデータまたはライトデータは最小のレイテンシに1サイクルの遅延が発生する。
【0139】
言い換えれば、第1発行モードでは、後続するアクセス要求のレイテンシの最小化を優先する。第2発行モードでは、先行するアクセス要求の連続アクセスを保証しデータバスの効率を優先する。
【0140】
たとえば、未発行のコマンドが存在しないと判定した場合には、、選択において第1発行モードを選択してもよい。
【0141】
これによれば、先行アクセス要求のコマンドと、後行アクセス要求のコマンドとが競合しない場合には、後行のアクセス要求を第1発行モードにするので、先行アクセス要求の連続アクセスを保証し、かつ、後行アクセス要求のレイテンシを最小にすることができる。
【0142】
たとえば、発行モードの選択において、受け付けたメモリアクセス要求の要求元が、複数のアクセスマスターのうちの第1アクセスマスターである場合は、第1発行モードを選択し、受け付けたメモリアクセス要求の要求元が、複数のアクセスマスターのうちの第2アクセスマスターである場合は、第2発行モードを選択してもよい。
【0143】
これによれば、アクセスマスターと発行モードとを対応づけているので、それぞれのアクセスマスター個別に最適な発行モードを選択することができる。
【0144】
たとえば、さらに、第1発行モードまたは第2発行モードを指定するモード指定コマンドを受け付け、発行モードの選択において、モード指定コマンドに従って第1発行モードおよび第2発行モードの一方を選択してもよい。
【0145】
これによれば、モード指定コマンドにより最適な発行モードを選択することができる。
【0146】
たとえば、発行モードの選択において、第1発行モードまたは第2発行モードを指定するフラグ情報を保持するメモリからフラグ情報を読み出し、読み出したフラグ情報に従って第1発行モードおよび第2発行モードの一方を選択してもよい。
【0147】
これによれば、フラグ情報により最適な発行モードを高速に選択することができる。
【0148】
たとえば、第1発行モードまたは第2発行モードを指定するモード指定コマンドを受け付け、モード指定コマンドに従ってフラグ情報を生成しメモリに保存してもよい。
【0149】
これによれば、モード指定コマンドによりフラグ情報を設定することができ、より最適な発行モードを選択することができる。
【0150】
たとえば、アクセスマスターまたは他の装置からモード指定コマンドを受け付けてもよい。
【0151】
これによれば、モード指定コマンドを発行可能な装置が複数あるので、システムの柔軟さを向上させることができる。
【0152】
たとえば、フラグ情報は、複数のアクセスマスターのそれぞれに対応してメモリに保存され、発行モードの選択において、受け付けたメモリアクセス要求の要求元のアクセスマスターに対応するフラグ情報を読み出し、読み出したフラグ情報に従って第1発行モードおよび第2発行モードの一方を選択してもよい。
【0153】
これによれば、フラグ情報とアクセスマスターとを対応づけているので、それぞれのアクセスマスター個別に最適な発行モードを選択することができる。
【0154】
以上、メモリコントローラ2およびメモリアクセス制御方法について、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものも、本開示の範囲内に含まれてもよい。
【0155】
なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
【符号の説明】
【0156】
1 SDRAM
2 メモリコントローラ
3 アクセスマスター
11 メモリアレイ
12 コマンド実行回路
21 受付部
22 判定部
23 選択部
24 発行部
25 フラグメモリ
図1
図2
図3
図4
図5