(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-05
(45)【発行日】2024-07-16
(54)【発明の名称】イメージデータキューブを格納するように構成されたメモリのアクセス
(51)【国際特許分類】
G06F 12/06 20060101AFI20240708BHJP
G06F 12/00 20060101ALI20240708BHJP
G06F 12/02 20060101ALI20240708BHJP
【FI】
G06F12/06 523C
G06F12/00 580
G06F12/02 580F
【外国語出願】
(21)【出願番号】P 2020058456
(22)【出願日】2020-03-27
【審査請求日】2023-02-14
(32)【優先日】2019-03-28
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】599158797
【氏名又は名称】インフィニオン テクノロジーズ アクチエンゲゼルシャフト
【氏名又は名称原語表記】Infineon Technologies AG
【住所又は居所原語表記】Am Campeon 1-15, 85579 Neubiberg, Germany
(74)【代理人】
【識別番号】100114890
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100135633
【氏名又は名称】二宮 浩康
(74)【代理人】
【識別番号】100162880
【氏名又は名称】上島 類
(72)【発明者】
【氏名】ペドロ コスタ
(72)【発明者】
【氏名】ムハマド ハッサン
(72)【発明者】
【氏名】アンドレ ロジェ
(72)【発明者】
【氏名】ロマン イニアス
【審査官】田中 啓介
(56)【参考文献】
【文献】特開2009-187278(JP,A)
【文献】特表2008-541217(JP,A)
【文献】特開2002-117397(JP,A)
【文献】特表2017-539003(JP,A)
【文献】特開2000-010759(JP,A)
【文献】特開平08-123953(JP,A)
【文献】特開平02-148237(JP,A)
【文献】特開2007-122706(JP,A)
【文献】米国特許第09001607(US,B2)
(58)【調査した分野】(Int.Cl.,DB名)
G06F12/00-12/06
G06F13/16-13/18
G06T1/00、1/60
(57)【特許請求の範囲】
【請求項1】
イメージデータキューブを格納するように構成されたメモリにアクセスする装置であって、前記メモリは、複数のメモリバンクを有し、各メモリバンクは、メモリ行およびメモリ列を有し、前記装置は、
論理バンク、論理行および論理列を指定する論理開始アドレス、ならびに、バーストサイズを有するメモリアクセス要求を受け取るように構成された入力側と、
前記論理開始アドレスおよび前記バーストサイズに基づいて複数の物理メモリアドレスを生成するように構成され、異なるメモリ行にマッピングされた連続的な論理開始アドレスがいずれも異なるメモリバンクにマッピングされるメモリアドレスジェネレータと、
を備え
、
前記メモリアドレスジェネレータは、さらに、異なるメモリ列、同じメモリ行かつ同じメモリバンクにマッピングされる前記連続的な論理開始アドレスの物理メモリアドレスを生成するように構成されている、
装置。
【請求項2】
イメージデータキューブを格納するように構成されたメモリにアクセスする装置であって、前記メモリは、複数のメモリバンクを有し、各メモリバンクは、メモリ行およびメモリ列を有し、前記装置は、
論理バンク、論理行および論理列を指定する論理開始アドレス、ならびに、バーストサイズを有するメモリアクセス要求を受け取るように構成された入力側と、
前記論理開始アドレスおよび前記バーストサイズに基づいて複数の物理メモリアドレスを生成するように構成され、異なるメモリ行にマッピングされた連続的な論理開始アドレスがいずれも異なるメモリバンクにマッピングされるメモリアドレスジェネレータと、
を備え、
前記メモリアドレスジェネレータは、さらに、同じメモリ列、同じメモリ行かつ異なるメモリバンクにマッピングされる前記連続的な論理開始アドレスの物理メモリアドレスを生成するように構成されている、
装置。
【請求項3】
前記メモリアドレスジェネレータは、さらに、メモリバンクのオーバフロー時に異なるメモリ行にマッピングされる前記連続的な論理開始アドレスの物理メモリアドレスを生成するように構成されている、
請求項2記載の装置。
【請求項4】
イメージデータキューブを格納するように構成されたメモリにアクセスする装置であって、前記メモリは、複数のメモリバンクを有し、各メモリバンクは、メモリ行およびメモリ列を有し、前記装置は、
論理バンク、論理行および論理列を指定する論理開始アドレス、ならびに、バーストサイズを有するメモリアクセス要求を受け取るように構成された入力側と、
前記論理開始アドレスおよび前記バーストサイズに基づいて複数の物理メモリアドレスを生成するように構成され、異なるメモリ行にマッピングされた連続的な論理開始アドレスがいずれも異なるメモリバンクにマッピングされるメモリアドレスジェネレータと、
を備え、
前記メモリアドレスジェネレータは、さらに、異なるメモリ列、異なるメモリ行かつ異なるメモリバンクにマッピングされる前記連続的な論理開始アドレスの物理メモリアドレスを生成するように構成されている、
装置。
【請求項5】
前記イメージデータキューブは、レーダーイメージデータキューブであり、前記メモリ行、前記メモリバンクおよび前記メモリ列は、それぞれ、ドップラーデータ、仮想チャネルデータおよびレンジデータを格納するように構成されている、
請求項1、2または4記載の装置。
【請求項6】
前記メモリアドレスジェネレータは、さらに、奇数個のメモリバンクにアクセスするように構成されている、
請求項1、2または4記載の装置。
【請求項7】
前記メモリアドレスジェネレータは、さらに、1つのメモリバンクの一部分の物理メモリアドレスの生成をスキップして、前記一部分にいかなるイメージデータも格納しないように構成されている、
請求項1、2または4記載の装置。
【請求項8】
前記メモリアドレスジェネレータは、さらに、1つのメモリバンクの物理メモリアドレスの生成をスキップして、前記スキップしたメモリバンクにいかなるイメージデータも格納しないように構成されている、
請求項7記載の装置。
【請求項9】
前記装置は、複数のメモリバンクのそれぞれにおける1つのメモリ行を同時に開いておくように構成されている、
請求項1、2または4記載の装置。
【請求項10】
前記装置は、前記複数のメモリバンクのうち1つのメモリバンクの1つのメモリ行が開いている間に、前記複数のメモリバンクのうち別のメモリバンクの1つのメモリ行を閉じて、別のメモリ行を開くように構成されている、
請求項9記載の装置。
【請求項11】
前記メモリは、動的ランダムアクセスメモリ(DRAM)である、
請求項1、2または4記載の装置。
【請求項12】
前記DRAMは、半導体技術協会(JEDEC)に準拠している、
請求項11記載の装置。
【請求項13】
前記装置は、動的ランダムアクセスメモリ(DRAM)コントローラまたはダイレクトメモリアクセス(DMA)コントローラである、
請求項1、2または4記載の装置。
【請求項14】
イメージデータキューブを格納するように構成されたメモリにアクセスする方法であって、前記メモリは、複数のメモリバンクを有し、各メモリバンクは、メモリ行およびメモリ列を有し、前記方法は、
論理バンク、論理行および論理列を指定する論理開始アドレス、ならびに、バーストサイズを有するメモリアクセス要求を入力側で受け取るステップと、
メモリアドレスジェネレータによって、前記論理開始アドレスおよび前記バーストサイズに基づいて、複数の物理メモリアドレスを生成するステップと、
を含み、
異なるメモリ行にマッピングされる連続的な前記論理開始アドレスは、いずれも異なるメモリバンクにマッピングさ
れ、
前記複数の物理メモリアドレスを生成するステップを、
異なるメモリ列、同じメモリ行かつ同じメモリバンクにマッピングされる連続的な論理開始アドレス、
同じメモリ列、同じメモリ行かつ異なるメモリバンクにマッピングされる連続的な論理開始アドレス、
メモリバンクのオーバフロー時に異なるメモリ行にマッピングされる連続的な論理開始アドレス、または、
異なるメモリ列、異なるメモリ行かつ異なるメモリバンクにマッピングされる連続的な論理開始アドレス、
に対して行う、
方法。
【請求項15】
前記方法は、さらに、1つのメモリバンクの少なくとも一部分の物理メモリアドレスの生成をスキップして、前記一部分がいかなるイメージデータも格納しないようにするステップを含む、
請求項14記載の方法。
【請求項16】
前記方法は、さらに、1つのメモリバンクの物理メモリアドレスの生成をスキップして、前記スキップされたメモリバンクがいかなるイメージデータも格納しないようにするステップを含む、
請求項14記載の方法。
【請求項17】
複数のメモリバンクのそれぞれにおける1つのメモリ行を同時に開いておく、
請求項14記載の方法。
【請求項18】
前記方法は、さらに、前記複数のメモリバンクのうち1つのメモリバンクの1つのメモリ行が開いている間に、前記複数のメモリバンクのうち別のメモリバンクの1つのメモリ行を閉じて、別のメモリ行を開くステップを含む、
請求項17記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
レーダー信号処理には、イメージデータを分析して、物体の位置、速度、角度およびタイプを特定することが伴う。イメージデータは、レーダーデータキューブの形で格納される。レーダーデータキューブの各次元は、レンジ、ドップラーおよび仮想チャネルである。
【背景技術】
【0002】
レーダーデータキューブの次元は、レーダーのフロントエンド設計の進化とレーダー照射精度に起因して、増加傾向にある(例えば、自動運転車)。レーダーデータキューブは、もはや、静的ランダムアクセスメモリ(SRAM)であり得る内部(オンチップ)メモリには、納まりきらない。したがって、設計者らは、レーダーデータキューブを外部メモリに格納することを考えている。
【0003】
内部メモリが不十分である場合、外部メモリとして動的ランダムアクセスメモリ(DRAM)を使用し得る。ただし、レーダーデータキューブは、従来のレーダー信号処理の性能を維持しながら、イメージデータの最大のスループットが得られるように、外部メモリに格納する必要がある。
【図面の簡単な説明】
【0004】
【
図1】本開示の態様による、イメージデータキューブを格納するように構成されたメモリにアクセスする装置の概略図である。
【
図2A】メモリバンクの割り当てが行われるレーダーデータキューブの概略図である。
【
図2B】メモリバンクの割り当てが行われるレーダーデータキューブの概略図である。
【
図2C】メモリバンクの割り当てが行われるレーダーデータキューブの概略図である。
【
図2D】メモリバンクの割り当てが行われるレーダーデータキューブの概略図である。
【
図3A】ドップラー次元のベクトルにアクセスするときのレーダーデータキューブの概略図である。
【
図3B】ドップラー次元のベクトルにアクセスするときのレーダーデータキューブの概略図である。
【
図4A】レンジ次元のベクトルにアクセスするときのレーダーデータキューブの概略図である。
【
図4B】レンジ次元のベクトルにアクセスするときのレーダーデータキューブの概略図である。
【
図5A】仮想チャネル次元のベクトルにアクセスするときのレーダーデータキューブの概略図である。
【
図5B】仮想チャネル次元のベクトルにアクセスするときのレーダーデータキューブの概略図である。
【
図6A】レンジ‐ドップラー平面のマトリクスにアクセスするときのレーダーデータキューブの概略図である。
【
図6B】レンジ‐ドップラー平面のマトリクスにアクセスするときのレーダーデータキューブの概略図である。
【
図7】イメージデータキューブを格納するように構成されたメモリにアクセスする方法のフローチャートである。
【発明を実施するための形態】
【0005】
本開示は、論理開始アドレスおよびバーストサイズに基づいて物理メモリアドレスを生成するように構成され、1つのメモリの異なるメモリ行にマッピングされた連続的な論理開始アドレスがいずれも異なるメモリバンクにマッピングされる、メモリアドレスジェネレータを有する装置に関する。連続的なメモリアクセスにおいて同一のバンク内で行を開閉しないことにより、従来の性能を維持しながら、外部メモリを使用することの利点が達成され得る。
【0006】
図1は、本開示の態様による、イメージデータキューブを格納するように構成されたメモリにアクセスする装置30の概略図である。装置30は、メモリ10とメモリ20との間のデータ転送を管理する。
【0007】
メモリ10は、例えば、内部(オンチップ)静的ランダムアクセスメモリ(SRAM)であってよい。SRAMメモリ10は、行、バンクおよび列を有するイメージデータキューブを格納するように構成されている。イメージデータキューブは、行がドップラーデータ、バンクが仮想チャネルデータ、列がレンジデータを格納する、レーダーデータキューブであってもよい。メモリ10は内部のSRAMメモリとして記載しているが、本開示は、メモリ10が内部メモリまたはSRAMであることに限定されない。メモリ10は、内部メモリでも外部メモリでもよく、また、適用可能な任意のタイプのメモリであってよい。
【0008】
メモリ20は、例えば、外部の動的ランダムアクセスメモリ(DRAM)であってもよい。DRAMメモリ20は、SRAMメモリ10と同様に、レーダーデータキューブであってよいイメージデータキューブを格納するように構成されている。本開示のDRAMメモリ20は、SRAMメモリ10とは異なるフォーマットでレーダーデータキューブを格納する。メモリ20は外部のDRAMメモリとして記載しているが、本開示は、メモリ20が外部メモリまたはDRAMであることに限定されない。メモリ20は、内部メモリでも外部メモリでもよく、また、適用可能な任意のタイプのメモリであってよい。
【0009】
装置30は、例えば、メモリコントローラ(例えば、DRAMコントローラ)または、ダイレクトメモリアクセス(DMA)コントローラであってよい。装置30は、DRAMメモリ20へのデータ転送およびDRAMメモリ20からのデータ転送を管理するように構成されている。装置30は、プロセッサ(例えば、レーダー処理ユニット)から受け取ったメモリアクセス要求をメモリコマンドシーケンスに変換する。装置30は、コマンドシーケンスにおける指示のとおりに、開始アドレスから終了アドレスまで、バーストサイズに応じてDRAMメモリ20にアクセスする。
【0010】
DRAMメモリのアクセスパターンおよび編成は、半導体技術協会(JEDEC)によって定められている。本開示のメモリアドレスジェネレータ100の詳細を説明する前に、次に、DRAMの背景について一般的に説明する。
【0011】
DRAMは、複数のメモリバンクを備えることができる。JEDECによれば、倍速タイプ3(DDR3)のDRAMは8個のメモリバンクを備え、倍速第4世代(DDR4)のDRAMは、8個または16個のメモリバンクを備える。メモリバンクによって、複数の要求に同時に対応することが可能になる。各メモリバンクは、メモリ行とメモリ列のマトリクスに配置されたメモリセルを有する。各メモリセルは、データビットを保存するためにキャパシタおよびトランジスタを有する。キャパシタは、充電状態または非充電状態のどちらかにあり、バイナリ値を表す。トランジスタは、格納された値にアクセスするために使用される。
【0012】
1つのメモリセルを読み出すことは、DRAMの配置のために、このメモリセルのメモリ行の全体を読み出すことに等しい。メモリコントローラが、対応するアドレスラインをハイレベルに引き上げることによって、要求されたメモリ行を開く。センスアンプが、メモリ列アドレスライン上の信号を読み出す。該当するキャパシタが充電状態であれば、そのメモリ列アドレスラインはハイである。そうでない場合は、ラインはローのままである。次いで、読み出し結果がラッチに格納される。ラインを読み出した後に、各キャパシタは放電され、メモリコントローラはメモリ行をリフレッシュするが、これは、ラッチ内に格納されたすべてのデータをメモリセルに書き戻すことを意味する。同じメモリ行からの連続的な読み出しは、ラッチから直接に利用可能である。
【0013】
同様に、1つのメモリセルへの書き込みは、メモリ行の全体の書き込みに等しい。まずラインが開かれ、センスアンプによって読み出される。書き込み対象のメモリ列のセンスアンプは、強制的に、対応するハイ値またはロー値となる。これにより、アクティブな行のキャパシタの充電状態が更新され、したがって、値が格納される。
【0014】
各バンク内のメモリ行バッファが、現在アクティブな(開いている)メモリ行を格納する。メモリ行バッファは、メモリセルとメモリバスとの間に位置し、各メモリバンク内に存在する。DRAMのマトリクス設計のために、値を読み出すたびにメモリ行全体をフェッチする必要がある。このために、メモリ行が開かれ、メモリ行バッファにコピーされる。開いているメモリ行からデータを読み出す場合、即座にデータを読み出すことができる。そうではなく、異なるメモリ行にアクセスする必要がある場合は、現在開いているメモリ行が閉じられる。このことは、メモリ行バッファ内に変更されたデータがある場合、まず、変更されたデータをメモリセルに書き戻さなければならないことを意味する。次に、新しいメモリ行が開かれ、フェッチされる。現在のメモリ行を閉じ、別のメモリ行を開き直す過程(プロセス)は、メモリ行コンフリクトと称されている。現在のメモリ行を書き戻してからでなければ新しいメモリ行をフェッチすることはできないので、メモリ行コンフリクトが起こると、メモリ行コンフリクトが起こらないときよりも、著しく多くの時間がかかる。現在開いているメモリ行のデータにアクセスするには約20nsかかり、メモリ行コンフリクトがある場合には、約60nsかかる。
【0015】
図1を再び参照すると、装置30は、入出力側(I/O)32、I/O34、およびメモリアドレスジェネレータ100を備える。I/O32は、SRAMメモリ10との間でデータ、コマンドおよびメモリアドレスを送受信するように構成されている。I/O34は、DRAMメモリ20との間でデータ、コマンドおよびメモリアドレスを送受信するように構成されている。
【0016】
メモリアドレスジェネレータ100は本開示の主眼であり、下記にさらに詳細に説明するが、SRAMメモリ10とDRAMメモリ20との間でメモリアドレスを生成(転置)するように構成される。メモリアドレスジェネレータ100は、3次元のレーダーデータキューブをSRAMメモリ10からDRAMメモリ20へ書き込むように、また、DRAMメモリ20に格納されたレーダーデータキューブの2次元ベクトルを読み出すように、さらにDRAMメモリ20から完全な3次元のレーダーデータキューブを読み出すように最適化されている。
【0017】
装置100の動作の概観として、I/O32は、プロセッサ(例えば、図示されていないレーダー処理ユニット)から、DRAMメモリ20へのアクセスを要求するメモリアクセス要求を受け取るように構成されている。メモリアクセス要求は、論理バンク、論理行および論理列を指定する論理開始アドレスを有し、さらに、バーストサイズを有する。この場合、メモリアドレスジェネレータ100は、論理開始アドレスおよびバーストサイズに基づいてDRAMメモリ20の物理メモリアドレスを生成するように構成されている。I/O34は、DRAMメモリ20へのコマンドシーケンスにおいて、生成した物理メモリアドレスを伝送するように構成されている。
【0018】
図2A~
図2Dは、メモリバンクの割り当てが行われるレーダーデータキューブ200の概略図である。
【0019】
上記のDRAMの検討において一般的に説明したとおり、JEDECは、各アクセス要求(読み出しまたは書き込み)について、メモリバンクの数、各メモリ行のサイズ、およびアクセス特性を定めている。これらのDRAMアクセス特性の例には、メモリ行が既に開いている場合、このメモリ行へのアクセスが高速となることが含まれる。また、
図2Aに示すように、複数のメモリバンクがそれぞれ開いたメモリ行を同時に有することもあり、複数の異なるメモリバンクから開いたメモリ行へのアクセスも高速となる。ただし、メモリ行が閉じており、連続的なアクセス要求において同じバンク内の別のメモリ行が開いている場合には、このアクセスには著しく長い時間がかかる。
【0020】
本明細書に開示しているDRAMメモリバンクの割り当ての結果、DRAMメモリ20の高速なアクセスが得られる。イメージデータキューブの1つの方向(ベクトル)への進行が行われるとき、この進行は、メモリ行の方向にだけ行われるわけではない。なぜならその場合著しく時間がかかるからである。換言すれば、DRAMメモリ20の連続的なアクセスにおいて、2つの異なるメモリ行は、同一のメモリバンクからはアクセスされない。その理由は、連続的なメモリアクセスの第2のアクセスを行う前に、開いたメモリ行を閉じてから別のメモリ行を開く必要はないからである。
【0021】
図2Bおよび
図2Cは、メモリバンクがスキップされるメモリバンクの割り当ての例を示す。
【0022】
DRAMメモリ20の必ずしもすべてのメモリバンクがレーダーデータキューブを格納するために使用されるわけではない。ほとんどの用途で、DRAMメモリ20のメモリバンクの数は8個または4個である。レーダーデータキューブは、4個または8個のメモリバンクをすべて使用するのではなく、メモリバンクのうち1つを除くすべてのメモリバンク、すなわち、例えば7個(
図2Bを参照)または3個(
図2Cを参照)の奇数個のメモリバンクに格納されうる。メモリアドレスジェネレータ100は、メモリバンクの物理メモリアドレスの生成をスキップして、スキップしたメモリバンクにいかなるイメージデータも格納しないように構成可能である。
【0023】
図2Bは、バンク8がスキップされる例を示す。イメージデータキューブは、ベクトルごとに書き込まれる。ベクトル1はバンク1の行1に書き込まれ、ベクトル2はバンク2の行1に書き込まれ、以下同様に続く。ベクトル8は、通常の書き込み順に従ってバンク8の行1に書き込まれる代わりに、バンク1の行2に書き込まれる。このパターンが、バンク8をスキップして繰り返される。DRAMメモリ20からのイメージデータキューブの読み出しも、同じ順序に従う。
【0024】
図2Cは、バンク4がスキップされる例を示す。この場合も、イメージデータキューブはベクトルごとに書き込まれる。ベクトル1(111 112 113 114)がバンク1の行1に書き込まれ、ベクトル2(211 212 213 214)がバンク2の行1に書き込まれ、以下同様に続く。ベクトル4(411 412 413)は、通常の書き込み順に従ってバンク4の行1に書き込まれる代わりに、バンク1の行2に書き込まれる。このパターンが、バンク4をスキップして繰り返される。DRAMメモリ20からのイメージデータキューブの読み出しも、同じ順序に従う。
【0025】
図2Dに示すように、バンクをスキップしながらのイメージデータキューブの読み出し/書き込みは、意図的なアドレスホールを残した線形アドレス空間と見ることもできる。また、メモリアドレスジェネレータ100は、メモリバンクの一部分についての物理メモリアドレスの生成をスキップするように構成可能である。よって、そのようなアドレスホールは、完全なメモリバンクを含んでもよいし、付加的にもしくは代替的に、部分的なメモリバンクを含んでもよい。
【0026】
バンク/アドレスのスキップにより、DRAMメモリ20を共有リソースとすることができる。DRAMメモリ20のうちイメージデータを格納していない部分は、イメージデータキューブのアクセスに影響を与えることなく他のアプリケーションに使用可能である。いずれにせよ、通常、イメージデータキューブはDRAMメモリ20よりも小さい。
【0027】
また、装置30が、最適化された方式でアクセス要求をスケジュール可能であることが理解される。例えば、装置30は、優先順位の高い別のアプリケーションが第1の部分を格納したメモリバンクにアクセスしているため、第1の部分より前に第2のデータ部分および第3のデータ部分を読み出すことができる。
【0028】
図3A~
図3B、
図4A~
図4B、
図5A~
図5B、および
図6A~
図6Bは、DRAMメモリ20のアクセスの例を示す。
図3A~
図3Bは、ドップラー次元のベクトルへのアクセスを示す。
図4A~
図4Bは、レンジ次元に沿うベクトルへのアクセスを示す。
図5A~
図5Bは、仮想チャネル次元のベクトルへのアクセスを示す。
図6A~
図6Bは、レンジ‐ドップラー平面のマトリクスへのアクセスを示す。これらの例のそれぞれで、異なるメモリ行にマッピングされる連続的な論理開始アドレスはいずれも、異なるメモリバンクにマッピングされる。
【0029】
図3A~
図3Bはドップラー(行)次元のベクトルにアクセスするときのレーダーデータキューブ300の概略図である。
【0030】
装置30は、同時に複数のメモリバンクのそれぞれで1つのメモリ行を開いておくように構成される。
図2A~
図2Dに関して上記で説明したバンクの割り当てが行われるイメージデータキューブへの書き込みと同じ例の使用により、ドップラー(行)次元のベクトルの読み出しは、7個のバンク1~7のそれぞれで、1つの行(例えばバンク1の行1、バンク2の行2など)を開くことを含む。ドップラー次元のベクトルは、異なるバンク1~7から順に読み出される。つまり、バンク1の行1からデータブロック1、バンク2の行2からデータブロック2、バンク3の行3からデータブロック3、が読み出され、以下同様に続く。
【0031】
また、装置30は、複数のメモリバンクのうち1つのメモリバンクの1つのメモリ行が開いている間に、複数のメモリバンクのうち別のメモリバンクの1つのメモリ行を閉じて、別のメモリ行を開くように構成可能である。例えば、バンク4~7から読み出している間に、バンク1内で行1を閉じて、新しい行Xを開くことが可能である。バンク7のデータブロック7を読み出した後、データブロック8がバンク1の行Xから読み出され(バンク8がスキップされる)、以下同様に続く。書き込みも、同じ順序に従う。
【0032】
図4A~
図4Bは、レンジ(列)次元のベクトルにアクセスするときのレーダーデータキューブ400の概略図である。
【0033】
メモリアドレスジェネレータ100は、さらに、異なるメモリ列、同じメモリ行かつ同じメモリバンクにマッピングされる連続的な論理開始アドレスの物理メモリアドレスを生成するように、構成可能である。
【0034】
図2A~
図2Dに関して上記で説明したバンクの割り当てが行われるイメージデータキューブへの書き込みと同じ例の使用により、レンジ次元のベクトルの読み出しは、バンク1の行Yを開き、開いた行Yから、そのベクトルのすべてのデータブロックを順次に(例えば、データブロック1、データブロック2、データブロック3、・・・)読み出すことを含む。書き込みも、同じ順序に従う。
【0035】
図5A~
図5Bは、仮想チャネル(バンク)次元のベクトルにアクセスするときのレーダーデータキューブ500の概略図である。
【0036】
メモリアドレスジェネレータ100は、さらに、同じメモリ列、同じメモリ行かつ異なるメモリバンクにマッピングされる連続的な論理開始アドレスの物理メモリアドレスを生成するように構成可能である。
【0037】
図2A~
図2Dに関して上記で説明したバンクの割り当てが行われるイメージデータキューブへの書き込みと同じ例の使用により、仮想チャネル次元のベクトルの読み出しは、7個のバンク1~7のそれぞれで、1つの行(例えばバンク1の行1、バンク2の行1など)を開き、メモリバンクから順次に読み出しを行い、データブロック7の後に(メモリバンクのオーバフロー)、データブロック8をバンク1の行2から読み出し、以下同様に続けることが含まれる。書き込みも、同じ順序に従う。
【0038】
ここでも、装置30は、複数のメモリバンクのうち1つのメモリバンクの1つのメモリ行が開いている間に、複数のメモリバンクのうち別のメモリバンクの1つメモリ行を閉じて、別のメモリ行を開くように構成可能である。例えば、バンク4~7を読み出す間に、バンク1の行1を閉じて、バンク1の行2を開いておくことが可能である。
【0039】
図6A~
図6Bは、レンジ‐ドップラー(列、行)平面のマトリクスにアクセスするときのレーダーデータキューブ600の概略図である。
【0040】
メモリアドレスジェネレータ100は、さらに、異なるメモリ列、異なるメモリ行かつ異なるメモリバンクにマッピングされる連続的な論理開始アドレスの物理メモリアドレスを生成するように、構成可能である。
【0041】
図2A~
図2Dに関して上記で説明したバンクの割り当てが行われるイメージデータキューブへの書き込みと同じ例の使用により、レンジ‐ドップラー平面のマトリクスを読み出す。読み出しは、7個のバンク1~7のそれぞれで1つの行(バンク1の行1、バンク2の行2など)を開き、バンク1の列Zの行1からデータブロック1を読み出し、次に、バンク1の列Z+1の行1からデータブロック2を読み出し、次に、バンク2の列Zの行2からデータブロック3を読み出し、次に、バンク2の列Z+1の行2からデータブロック4を読み出し、以下同様に続ける、というように、行と列でバンクから順次に読み出すことを含む。書き込みも、同じ順序に従う。
【0042】
図7は、イメージデータキューブを格納するように構成されたDRAMメモリ20にアクセスする方法700のフローチャートである。上述したように、DRAMメモリ20は、イメージデータキューブを格納するように構成されている。メモリは複数のメモリバンクを有し、各メモリバンクは複数のメモリ行および複数のメモリ列を有する。
【0043】
ステップ710で、論理バンク、論理行および論理列を指定する論理開始アドレス、ならびにバーストサイズを有するメモリアクセス要求を、装置20が入力側32で受け取る。
【0044】
ステップ720で、メモリアドレスジェネレータ100が、論理開始アドレスおよびバーストサイズに基づいて物理メモリアドレスを生成する。異なるメモリ行にマッピングされる連続的な論理開始アドレスはいずれも、異なるメモリバンクにマッピングされる。
【0045】
ステップ730で、メモリアドレスジェネレータ100は、1つのメモリバンクの少なくとも一部分の物理メモリアドレスの生成をスキップして、当該一部分にいかなるイメージデータも格納されないようにする。
【0046】
本開示の技術は、下記の例としてさらに説明され得る。
[例1]
イメージデータキューブを格納するように構成されたメモリにアクセスする装置であって、前記メモリが複数のメモリバンクを有し、各メモリバンクがメモリ行およびメモリ列を有し、前記装置が、
論理バンク、論理行および論理列を指定する論理開始アドレス、ならびにバーストサイズを有するメモリアクセス要求を受け取るように構成された入力側と、
前記論理開始アドレスおよび前記バーストサイズに基づいて複数の物理メモリアドレスを生成するように構成され、異なるメモリ行にマッピングされた連続的な論理開始アドレスがいずれも異なるメモリバンクにマッピングされる、メモリアドレスジェネレータと
を備える、装置。
[例2]
前記メモリアドレスジェネレータは、さらに、異なるメモリ列、同じメモリ行かつ同じメモリバンクにマッピングされる前記連続的な論理開始アドレスの物理メモリアドレスを生成するように構成されている、例1に記載の装置。
[例3]
前記メモリアドレスジェネレータは、さらに、同じメモリ列、同じメモリ行かつ異なるメモリバンクにマッピングされる前記連続的な論理開始アドレスの物理メモリアドレスを生成するように構成されている、例1および2のいずれかの組み合わせに記載の装置。
[例4]
前記メモリアドレスジェネレータは、さらに、メモリバンクのオーバフロー時に異なるメモリ行にマッピングされる前記連続的な論理開始アドレスの物理メモリアドレスを生成するように構成されている、例1から3までのいずれかの組み合わせに記載の装置。
[例5]
前記メモリアドレスジェネレータは、さらに、異なるメモリ列、異なるメモリ行かつ異なるメモリバンクにマッピングされる前記連続的な論理開始アドレスの物理メモリアドレスを生成するように構成されている、例1から4までのいずれかの組み合わせに記載の装置。
[例6]
前記イメージデータキューブはレーダーイメージデータキューブであり、前記メモリ行、前記メモリバンクおよび前記メモリ列は、それぞれ、ドップラーデータ、仮想チャネルデータおよびレンジデータを格納するように構成されている、例1から5までのいずれかの組み合わせに記載の装置。
[例7]
前記メモリアドレスジェネレータは、さらに、奇数個のメモリバンクにアクセスするように構成されている、例1から6までのいずれかの組み合わせに記載の装置。
[例8]
前記メモリアドレスジェネレータは、さらに、1つのメモリバンクの一部分の物理メモリアドレスの生成をスキップして、当該一部分にいかなるイメージデータも格納しないように構成されている、例1から7までのいずれかの組み合わせに記載の装置。
[例9]
前記メモリアドレスジェネレータは、さらに、1つのメモリバンクの物理メモリアドレスの生成をスキップして、当該スキップしたメモリバンクにいかなるイメージデータも格納しないように構成されている、例1から8までのいずれかの組み合わせに記載の装置。
[例10]
前記装置は、複数のメモリバンクのそれぞれにおける1つのメモリ行を同時に開いておくように構成されている、例1から9までのいずれかの組み合わせに記載の装置。
[例11]
前記装置は、前記複数のメモリバンクのうち1つのメモリバンクの1つのメモリ行が開いている間に、前記複数のメモリバンクのうち別のメモリバンクの1つのメモリ行を閉じて、別のメモリ行を開くように構成されている、例1から10までのいずれかの組み合わせに記載の装置。
[例12]
前記メモリは、動的ランダムアクセスメモリ(DRAM)である、例1から11までのいずれかの組み合わせに記載の装置。
[例13]
前記DRAMは、半導体技術協会(JEDEC)に準拠している、例1から12までのいずれかの組み合わせに記載の装置。
[例14]
前記装置は、動的ランダムアクセスメモリ(DRAM)コントローラまたはダイレクトメモリアクセス(DMA)コントローラである、例1から13までのいずれかの組み合わせに記載の装置。
[例15]
イメージデータキューブを格納するように構成されたメモリにアクセスする方法であって、前記メモリが複数のメモリバンクを有し、各メモリバンクがメモリ行およびメモリ列を有し、
前記方法は、
論理バンク、論理行および論理列を指定する論理開始アドレス、ならびにバーストサイズを有するメモリアクセス要求を入力側で受け取るステップ、および
メモリアドレスジェネレータによって、前記論理開始アドレスおよび前記バーストサイズに基づいて、複数の物理メモリアドレスを生成するステップ
を含み、
異なるメモリ行にマッピングされる連続的な前記論理開始アドレスがいずれも異なるメモリバンクにマッピングされる、
方法。
[例16]
前記複数の物理メモリアドレスを生成するステップを、
異なるメモリ列、同じメモリ行かつ同じメモリバンクにマッピングされる連続的な論理開始アドレス、
同じメモリ列、同じメモリ行かつ異なるメモリバンクにマッピングされる連続的な論理開始アドレス、
メモリバンクのオーバフロー時に異なるメモリ行にマッピングされる連続的な論理開始アドレス、または
異なるメモリ列、異なるメモリ行かつ異なるメモリバンクにマッピングされる連続的な論理開始アドレス、に対して行う、例15に記載の方法。
[例17]
前記方法は、さらに、1つのメモリバンクの少なくとも一部分の物理メモリアドレスの生成をスキップして、当該一部分にいかなるイメージデータも格納されないようにするステップを含む、例15および16のいずれかの組み合わせに記載の方法。
[例18]
前記方法は、さらに、1つのメモリバンクの物理メモリアドレスの生成をスキップして、当該スキップしたメモリバンクにいかなるイメージデータも格納されないようにするステップを含む、例15から17までのいずれかの組み合わせに記載の方法。
[例19]
複数のメモリバンクのそれぞれにおける1つのメモリ行を同時に開いておく、例15から18までのいずれかの組み合わせに記載の方法。
[例20]
前記方法は、さらに、前記複数のメモリバンクのうち1つのメモリバンクの1つのメモリ行が開いている間に、前記複数のメモリバンクのうち別のメモリバンクの1つのメモリ行を閉じて、別のメモリ行を開くステップを含む、例15から19までのいずれかの組み合わせに記載の方法。
【0047】
上記は例示的実施形態に関して説明されているが、「例示的」なる語は、最良または最適ではなく、単に一例の意味で使用していることを理解されたい。したがって、本開示は、本開示の範囲に含まれ得る代替形態、修正形態および等価形態も対象とすることを意図している。
【0048】
本明細書においては特定の実施形態を図示および説明してきたが、さまざまな代替および/または等価の実装形態が、本開示の範囲を逸脱することなく、図示および説明した特定の実施形態に置き換え可能であることは当業者に理解されるであろう。本開示は、本明細書にて検討した特定の実施形態のすべての適応形態または変形形態をも対象とすることを意図している。