JP2020166861A - イメージデータキューブを格納するように構成されたメモリのアクセス - Google Patents

イメージデータキューブを格納するように構成されたメモリのアクセス Download PDF

Info

Publication number
JP2020166861A
JP2020166861A JP2020058456A JP2020058456A JP2020166861A JP 2020166861 A JP2020166861 A JP 2020166861A JP 2020058456 A JP2020058456 A JP 2020058456A JP 2020058456 A JP2020058456 A JP 2020058456A JP 2020166861 A JP2020166861 A JP 2020166861A
Authority
JP
Japan
Prior art keywords
memory
bank
row
banks
addresses
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.)
Granted
Application number
JP2020058456A
Other languages
English (en)
Other versions
JP7516087B2 (ja
Inventor
コスタ ペドロ
Pedro Costa
コスタ ペドロ
ハッサン ムハマド
Hassan Muhammad
ハッサン ムハマド
ロジェ アンドレ
Roger Andre
ロジェ アンドレ
イニアス ロマン
Ygnace Romain
イニアス ロマン
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of JP2020166861A publication Critical patent/JP2020166861A/ja
Application granted granted Critical
Publication of JP7516087B2 publication Critical patent/JP7516087B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0284Multiple user address space allocation, e.g. using different base addresses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6026Prefetching based on access pattern detection, e.g. stride based prefetch

Landscapes

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

Abstract

【課題】イメージデータキューブを格納するように構成されたメモリのアクセスを提供する。【解決手段】メモリ10とメモリ20との間のデータ転送を管理する装置30は、論理バンク、論理行および論理列を指定する論理開始アドレスならびにバーストサイズを有するメモリアクセス要求を受け取るように構成された入力側と、論理開始アドレスおよびバーストサイズに基づいて複数の物理メモリアドレスを生成するように構成され、異なるメモリ行にマッピングされた連続的な論理開始アドレスがいずれも異なるメモリバンクにマッピングされる、メモリアドレスジェネレータ100と、を備える。【選択図】図1

Description

レーダー信号処理には、イメージデータを分析して、物体の位置、速度、角度およびタイプを特定することが伴う。イメージデータは、レーダーデータキューブの形で格納される。レーダーデータキューブの各次元は、レンジ、ドップラーおよび仮想チャネルである。
レーダーデータキューブの次元は、レーダーのフロントエンド設計の進化とレーダー照射精度に起因して、増加傾向にある(例えば、自動運転車)。レーダーデータキューブは、もはや、静的ランダムアクセスメモリ(SRAM)であり得る内部(オンチップ)メモリには、納まりきらない。したがって、設計者らは、レーダーデータキューブを外部メモリに格納することを考えている。
内部メモリが不十分である場合、外部メモリとして動的ランダムアクセスメモリ(DRAM)を使用し得る。ただし、レーダーデータキューブは、従来のレーダー信号処理の性能を維持しながら、イメージデータの最大のスループットが得られるように、外部メモリに格納する必要がある。
本開示の態様による、イメージデータキューブを格納するように構成されたメモリにアクセスする装置の概略図である。 メモリバンクの割り当てが行われるレーダーデータキューブの概略図である。 メモリバンクの割り当てが行われるレーダーデータキューブの概略図である。 メモリバンクの割り当てが行われるレーダーデータキューブの概略図である。 メモリバンクの割り当てが行われるレーダーデータキューブの概略図である。 ドップラー次元のベクトルにアクセスするときのレーダーデータキューブの概略図である。 ドップラー次元のベクトルにアクセスするときのレーダーデータキューブの概略図である。 レンジ次元のベクトルにアクセスするときのレーダーデータキューブの概略図である。 レンジ次元のベクトルにアクセスするときのレーダーデータキューブの概略図である。 仮想チャネル次元のベクトルにアクセスするときのレーダーデータキューブの概略図である。 仮想チャネル次元のベクトルにアクセスするときのレーダーデータキューブの概略図である。 レンジ‐ドップラー平面のマトリクスにアクセスするときのレーダーデータキューブの概略図である。 レンジ‐ドップラー平面のマトリクスにアクセスするときのレーダーデータキューブの概略図である。 イメージデータキューブを格納するように構成されたメモリにアクセスする方法のフローチャートである。
本開示は、論理開始アドレスおよびバーストサイズに基づいて物理メモリアドレスを生成するように構成され、1つのメモリの異なるメモリ行にマッピングされた連続的な論理開始アドレスがいずれも異なるメモリバンクにマッピングされる、メモリアドレスジェネレータを有する装置に関する。連続的なメモリアクセスにおいて同一のバンク内で行を開閉しないことにより、従来の性能を維持しながら、外部メモリを使用することの利点が達成され得る。
図1は、本開示の態様による、イメージデータキューブを格納するように構成されたメモリにアクセスする装置30の概略図である。装置30は、メモリ10とメモリ20との間のデータ転送を管理する。
メモリ10は、例えば、内部(オンチップ)静的ランダムアクセスメモリ(SRAM)であってよい。SRAMメモリ10は、行、バンクおよび列を有するイメージデータキューブを格納するように構成されている。イメージデータキューブは、行がドップラーデータ、バンクが仮想チャネルデータ、列がレンジデータを格納する、レーダーデータキューブであってもよい。メモリ10は内部のSRAMメモリとして記載しているが、本開示は、メモリ10が内部メモリまたはSRAMであることに限定されない。メモリ10は、内部メモリでも外部メモリでもよく、また、適用可能な任意のタイプのメモリであってよい。
メモリ20は、例えば、外部の動的ランダムアクセスメモリ(DRAM)であってもよい。DRAMメモリ20は、SRAMメモリ10と同様に、レーダーデータキューブであってよいイメージデータキューブを格納するように構成されている。本開示のDRAMメモリ20は、SRAMメモリ10とは異なるフォーマットでレーダーデータキューブを格納する。メモリ20は外部のDRAMメモリとして記載しているが、本開示は、メモリ20が外部メモリまたはDRAMであることに限定されない。メモリ20は、内部メモリでも外部メモリでもよく、また、適用可能な任意のタイプのメモリであってよい。
装置30は、例えば、メモリコントローラ(例えば、DRAMコントローラ)または、ダイレクトメモリアクセス(DMA)コントローラであってよい。装置30は、DRAMメモリ20へのデータ転送およびDRAMメモリ20からのデータ転送を管理するように構成されている。装置30は、プロセッサ(例えば、レーダー処理ユニット)から受け取ったメモリアクセス要求をメモリコマンドシーケンスに変換する。装置30は、コマンドシーケンスにおける指示のとおりに、開始アドレスから終了アドレスまで、バーストサイズに応じてDRAMメモリ20にアクセスする。
DRAMメモリのアクセスパターンおよび編成は、半導体技術協会(JEDEC)によって定められている。本開示のメモリアドレスジェネレータ100の詳細を説明する前に、次に、DRAMの背景について一般的に説明する。
DRAMは、複数のメモリバンクを備えることができる。JEDECによれば、倍速タイプ3(DDR3)のDRAMは8個のメモリバンクを備え、倍速第4世代(DDR4)のDRAMは、8個または16個のメモリバンクを備える。メモリバンクによって、複数の要求に同時に対応することが可能になる。各メモリバンクは、メモリ行とメモリ列のマトリクスに配置されたメモリセルを有する。各メモリセルは、データビットを保存するためにキャパシタおよびトランジスタを有する。キャパシタは、充電状態または非充電状態のどちらかにあり、バイナリ値を表す。トランジスタは、格納された値にアクセスするために使用される。
1つのメモリセルを読み出すことは、DRAMの配置のために、このメモリセルのメモリ行の全体を読み出すことに等しい。メモリコントローラが、対応するアドレスラインをハイレベルに引き上げることによって、要求されたメモリ行を開く。センスアンプが、メモリ列アドレスライン上の信号を読み出す。該当するキャパシタが充電状態であれば、そのメモリ列アドレスラインはハイである。そうでない場合は、ラインはローのままである。次いで、読み出し結果がラッチに格納される。ラインを読み出した後に、各キャパシタは放電され、メモリコントローラはメモリ行をリフレッシュするが、これは、ラッチ内に格納されたすべてのデータをメモリセルに書き戻すことを意味する。同じメモリ行からの連続的な読み出しは、ラッチから直接に利用可能である。
同様に、1つのメモリセルへの書き込みは、メモリ行の全体の書き込みに等しい。まずラインが開かれ、センスアンプによって読み出される。書き込み対象のメモリ列のセンスアンプは、強制的に、対応するハイ値またはロー値となる。これにより、アクティブな行のキャパシタの充電状態が更新され、したがって、値が格納される。
各バンク内のメモリ行バッファが、現在アクティブな(開いている)メモリ行を格納する。メモリ行バッファは、メモリセルとメモリバスとの間に位置し、各メモリバンク内に存在する。DRAMのマトリクス設計のために、値を読み出すたびにメモリ行全体をフェッチする必要がある。このために、メモリ行が開かれ、メモリ行バッファにコピーされる。開いているメモリ行からデータを読み出す場合、即座にデータを読み出すことができる。そうではなく、異なるメモリ行にアクセスする必要がある場合は、現在開いているメモリ行が閉じられる。このことは、メモリ行バッファ内に変更されたデータがある場合、まず、変更されたデータをメモリセルに書き戻さなければならないことを意味する。次に、新しいメモリ行が開かれ、フェッチされる。現在のメモリ行を閉じ、別のメモリ行を開き直す過程(プロセス)は、メモリ行コンフリクトと称されている。現在のメモリ行を書き戻してからでなければ新しいメモリ行をフェッチすることはできないので、メモリ行コンフリクトが起こると、メモリ行コンフリクトが起こらないときよりも、著しく多くの時間がかかる。現在開いているメモリ行のデータにアクセスするには約20nsかかり、メモリ行コンフリクトがある場合には、約60nsかかる。
図1を再び参照すると、装置30は、入出力側(I/O)32、I/O34、およびメモリアドレスジェネレータ100を備える。I/O32は、SRAMメモリ10との間でデータ、コマンドおよびメモリアドレスを送受信するように構成されている。I/O34は、DRAMメモリ20との間でデータ、コマンドおよびメモリアドレスを送受信するように構成されている。
メモリアドレスジェネレータ100は本開示の主眼であり、下記にさらに詳細に説明するが、SRAMメモリ10とDRAMメモリ20との間でメモリアドレスを生成(転置)するように構成される。メモリアドレスジェネレータ100は、3次元のレーダーデータキューブをSRAMメモリ10からDRAMメモリ20へ書き込むように、また、DRAMメモリ20に格納されたレーダーデータキューブの2次元ベクトルを読み出すように、さらにDRAMメモリ20から完全な3次元のレーダーデータキューブを読み出すように最適化されている。
装置100の動作の概観として、I/O32は、プロセッサ(例えば、図示されていないレーダー処理ユニット)から、DRAMメモリ20へのアクセスを要求するメモリアクセス要求を受け取るように構成されている。メモリアクセス要求は、論理バンク、論理行および論理列を指定する論理開始アドレスを有し、さらに、バーストサイズを有する。この場合、メモリアドレスジェネレータ100は、論理開始アドレスおよびバーストサイズに基づいてDRAMメモリ20の物理メモリアドレスを生成するように構成されている。I/O34は、DRAMメモリ20へのコマンドシーケンスにおいて、生成した物理メモリアドレスを伝送するように構成されている。
図2A〜図2Dは、メモリバンクの割り当てが行われるレーダーデータキューブ200の概略図である。
上記のDRAMの検討において一般的に説明したとおり、JEDECは、各アクセス要求(読み出しまたは書き込み)について、メモリバンクの数、各メモリ行のサイズ、およびアクセス特性を定めている。これらのDRAMアクセス特性の例には、メモリ行が既に開いている場合、このメモリ行へのアクセスが高速となることが含まれる。また、図2Aに示すように、複数のメモリバンクがそれぞれ開いたメモリ行を同時に有することもあり、複数の異なるメモリバンクから開いたメモリ行へのアクセスも高速となる。ただし、メモリ行が閉じており、連続的なアクセス要求において同じバンク内の別のメモリ行が開いている場合には、このアクセスには著しく長い時間がかかる。
本明細書に開示しているDRAMメモリバンクの割り当ての結果、DRAMメモリ20の高速なアクセスが得られる。イメージデータキューブの1つの方向(ベクトル)への進行が行われるとき、この進行は、メモリ行の方向にだけ行われるわけではない。なぜならその場合著しく時間がかかるからである。換言すれば、DRAMメモリ20の連続的なアクセスにおいて、2つの異なるメモリ行は、同一のメモリバンクからはアクセスされない。その理由は、連続的なメモリアクセスの第2のアクセスを行う前に、開いたメモリ行を閉じてから別のメモリ行を開く必要はないからである。
図2Bおよび図2Cは、メモリバンクがスキップされるメモリバンクの割り当ての例を示す。
DRAMメモリ20の必ずしもすべてのメモリバンクがレーダーデータキューブを格納するために使用されるわけではない。ほとんどの用途で、DRAMメモリ20のメモリバンクの数は8個または4個である。レーダーデータキューブは、4個または8個のメモリバンクをすべて使用するのではなく、メモリバンクのうち1つを除くすべてのメモリバンク、すなわち、例えば7個(図2Bを参照)または3個(図2Cを参照)の奇数個のメモリバンクに格納されうる。メモリアドレスジェネレータ100は、メモリバンクの物理メモリアドレスの生成をスキップして、スキップしたメモリバンクにいかなるイメージデータも格納しないように構成可能である。
図2Bは、バンク8がスキップされる例を示す。イメージデータキューブは、ベクトルごとに書き込まれる。ベクトル1はバンク1の行1に書き込まれ、ベクトル2はバンク2の行1に書き込まれ、以下同様に続く。ベクトル8は、通常の書き込み順に従ってバンク8の行1に書き込まれる代わりに、バンク1の行2に書き込まれる。このパターンが、バンク8をスキップして繰り返される。DRAMメモリ20からのイメージデータキューブの読み出しも、同じ順序に従う。
図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からのイメージデータキューブの読み出しも、同じ順序に従う。
図2Dに示すように、バンクをスキップしながらのイメージデータキューブの読み出し/書き込みは、意図的なアドレスホールを残した線形アドレス空間と見ることもできる。また、メモリアドレスジェネレータ100は、メモリバンクの一部分についての物理メモリアドレスの生成をスキップするように構成可能である。よって、そのようなアドレスホールは、完全なメモリバンクを含んでもよいし、付加的にもしくは代替的に、部分的なメモリバンクを含んでもよい。
バンク/アドレスのスキップにより、DRAMメモリ20を共有リソースとすることができる。DRAMメモリ20のうちイメージデータを格納していない部分は、イメージデータキューブのアクセスに影響を与えることなく他のアプリケーションに使用可能である。いずれにせよ、通常、イメージデータキューブはDRAMメモリ20よりも小さい。
また、装置30が、最適化された方式でアクセス要求をスケジュール可能であることが理解される。例えば、装置30は、優先順位の高い別のアプリケーションが第1の部分を格納したメモリバンクにアクセスしているため、第1の部分より前に第2のデータ部分および第3のデータ部分を読み出すことができる。
図3A〜図3B、図4A〜図4B、図5A〜図5B、および図6A〜図6Bは、DRAMメモリ20のアクセスの例を示す。図3A〜図3Bは、ドップラー次元のベクトルへのアクセスを示す。図4A〜図4Bは、レンジ次元に沿うベクトルへのアクセスを示す。図5A〜図5Bは、仮想チャネル次元のベクトルへのアクセスを示す。図6A〜図6Bは、レンジ‐ドップラー平面のマトリクスへのアクセスを示す。これらの例のそれぞれで、異なるメモリ行にマッピングされる連続的な論理開始アドレスはいずれも、異なるメモリバンクにマッピングされる。
図3A〜図3Bはドップラー(行)次元のベクトルにアクセスするときのレーダーデータキューブ300の概略図である。
装置30は、同時に複数のメモリバンクのそれぞれで1つのメモリ行を開いておくように構成される。図2A〜図2Dに関して上記で説明したバンクの割り当てが行われるイメージデータキューブへの書き込みと同じ例の使用により、ドップラー(行)次元のベクトルの読み出しは、7個のバンク1〜7のそれぞれで、1つの行(例えばバンク1の行1、バンク2の行2など)を開くことを含む。ドップラー次元のベクトルは、異なるバンク1〜7から順に読み出される。つまり、バンク1の行1からデータブロック1、バンク2の行2からデータブロック2、バンク3の行3からデータブロック3、が読み出され、以下同様に続く。
また、装置30は、複数のメモリバンクのうち1つのメモリバンクの1つのメモリ行が開いている間に、複数のメモリバンクのうち別のメモリバンクの1つのメモリ行を閉じて、別のメモリ行を開くように構成可能である。例えば、バンク4〜7から読み出している間に、バンク1内で行1を閉じて、新しい行Xを開くことが可能である。バンク7のデータブロック7を読み出した後、データブロック8がバンク1の行Xから読み出され(バンク8がスキップされる)、以下同様に続く。書き込みも、同じ順序に従う。
図4A〜図4Bは、レンジ(列)次元のベクトルにアクセスするときのレーダーデータキューブ400の概略図である。
メモリアドレスジェネレータ100は、さらに、異なるメモリ列、同じメモリ行かつ同じメモリバンクにマッピングされる連続的な論理開始アドレスの物理メモリアドレスを生成するように、構成可能である。
図2A〜図2Dに関して上記で説明したバンクの割り当てが行われるイメージデータキューブへの書き込みと同じ例の使用により、レンジ次元のベクトルの読み出しは、バンク1の行Yを開き、開いた行Yから、そのベクトルのすべてのデータブロックを順次に(例えば、データブロック1、データブロック2、データブロック3、・・・)読み出すことを含む。書き込みも、同じ順序に従う。
図5A〜図5Bは、仮想チャネル(バンク)次元のベクトルにアクセスするときのレーダーデータキューブ500の概略図である。
メモリアドレスジェネレータ100は、さらに、同じメモリ列、同じメモリ行かつ異なるメモリバンクにマッピングされる連続的な論理開始アドレスの物理メモリアドレスを生成するように構成可能である。
図2A〜図2Dに関して上記で説明したバンクの割り当てが行われるイメージデータキューブへの書き込みと同じ例の使用により、仮想チャネル次元のベクトルの読み出しは、7個のバンク1〜7のそれぞれで、1つの行(例えばバンク1の行1、バンク2の行1など)を開き、メモリバンクから順次に読み出しを行い、データブロック7の後に(メモリバンクのオーバフロー)、データブロック8をバンク1の行2から読み出し、以下同様に続けることが含まれる。書き込みも、同じ順序に従う。
ここでも、装置30は、複数のメモリバンクのうち1つのメモリバンクの1つのメモリ行が開いている間に、複数のメモリバンクのうち別のメモリバンクの1つメモリ行を閉じて、別のメモリ行を開くように構成可能である。例えば、バンク4〜7を読み出す間に、バンク1の行1を閉じて、バンク1の行2を開いておくことが可能である。
図6A〜図6Bは、レンジ‐ドップラー(列、行)平面のマトリクスにアクセスするときのレーダーデータキューブ600の概略図である。
メモリアドレスジェネレータ100は、さらに、異なるメモリ列、異なるメモリ行かつ異なるメモリバンクにマッピングされる連続的な論理開始アドレスの物理メモリアドレスを生成するように、構成可能である。
図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を読み出し、以下同様に続ける、というように、行と列でバンクから順次に読み出すことを含む。書き込みも、同じ順序に従う。
図7は、イメージデータキューブを格納するように構成されたDRAMメモリ20にアクセスする方法700のフローチャートである。上述したように、DRAMメモリ20は、イメージデータキューブを格納するように構成されている。メモリは複数のメモリバンクを有し、各メモリバンクは複数のメモリ行および複数のメモリ列を有する。
ステップ710で、論理バンク、論理行および論理列を指定する論理開始アドレス、ならびにバーストサイズを有するメモリアクセス要求を、装置20が入力側32で受け取る。
ステップ720で、メモリアドレスジェネレータ100が、論理開始アドレスおよびバーストサイズに基づいて物理メモリアドレスを生成する。異なるメモリ行にマッピングされる連続的な論理開始アドレスはいずれも、異なるメモリバンクにマッピングされる。
ステップ730で、メモリアドレスジェネレータ100は、1つのメモリバンクの少なくとも一部分の物理メモリアドレスの生成をスキップして、当該一部分にいかなるイメージデータも格納されないようにする。
本開示の技術は、下記の例としてさらに説明され得る。
[例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までのいずれかの組み合わせに記載の方法。
上記は例示的実施形態に関して説明されているが、「例示的」なる語は、最良または最適ではなく、単に一例の意味で使用していることを理解されたい。したがって、本開示は、本開示の範囲に含まれ得る代替形態、修正形態および等価形態も対象とすることを意図している。
本明細書においては特定の実施形態を図示および説明してきたが、さまざまな代替および/または等価の実装形態が、本開示の範囲を逸脱することなく、図示および説明した特定の実施形態に置き換え可能であることは当業者に理解されるであろう。本開示は、本明細書にて検討した特定の実施形態のすべての適応形態または変形形態をも対象とすることを意図している。

Claims (20)

  1. イメージデータキューブを格納するように構成されたメモリにアクセスする装置であって、前記メモリは、複数のメモリバンクを有し、各メモリバンクは、メモリ行およびメモリ列を有し、前記装置は、
    論理バンク、論理行および論理列を指定する論理開始アドレス、ならびに、バーストサイズを有するメモリアクセス要求を受け取るように構成された入力側と、
    前記論理開始アドレスおよび前記バーストサイズに基づいて複数の物理メモリアドレスを生成するように構成され、異なるメモリ行にマッピングされた連続的な論理開始アドレスがいずれも異なるメモリバンクにマッピングされるメモリアドレスジェネレータと、
    を備える装置。
  2. 前記メモリアドレスジェネレータは、さらに、異なるメモリ列、同じメモリ行かつ同じメモリバンクにマッピングされる前記連続的な論理開始アドレスの物理メモリアドレスを生成するように構成されている、
    請求項1記載の装置。
  3. 前記メモリアドレスジェネレータは、さらに、同じメモリ列、同じメモリ行かつ異なるメモリバンクにマッピングされる前記連続的な論理開始アドレスの物理メモリアドレスを生成するように構成されている、
    請求項1記載の装置。
  4. 前記メモリアドレスジェネレータは、さらに、メモリバンクのオーバフロー時に異なるメモリ行にマッピングされる前記連続的な論理開始アドレスの物理メモリアドレスを生成するように構成されている、
    請求項3記載の装置。
  5. 前記メモリアドレスジェネレータは、さらに、異なるメモリ列、異なるメモリ行かつ異なるメモリバンクにマッピングされる前記連続的な論理開始アドレスの物理メモリアドレスを生成するように構成されている、
    請求項1記載の装置。
  6. 前記イメージデータキューブは、レーダーイメージデータキューブであり、前記メモリ行、前記メモリバンクおよび前記メモリ列は、それぞれ、ドップラーデータ、仮想チャネルデータおよびレンジデータを格納するように構成されている、
    請求項1記載の装置。
  7. 前記メモリアドレスジェネレータは、さらに、奇数個のメモリバンクにアクセスするように構成されている、
    請求項1記載の装置。
  8. 前記メモリアドレスジェネレータは、さらに、1つのメモリバンクの一部分の物理メモリアドレスの生成をスキップして、前記一部分にいかなるイメージデータも格納しないように構成されている、
    請求項1に記載の装置。
  9. 前記メモリアドレスジェネレータは、さらに、1つのメモリバンクの物理メモリアドレスの生成をスキップして、前記スキップしたメモリバンクにいかなるイメージデータも格納しないように構成されている、
    請求項8記載の装置。
  10. 前記装置は、複数のメモリバンクのそれぞれにおける1つのメモリ行を同時に開いておくように構成されている、
    請求項1記載の装置。
  11. 前記装置は、前記複数のメモリバンクのうち1つのメモリバンクの1つのメモリ行が開いている間に、前記複数のメモリバンクのうち別のメモリバンクの1つのメモリ行を閉じて、別のメモリ行を開くように構成されている、
    請求項10記載の装置。
  12. 前記メモリは、動的ランダムアクセスメモリ(DRAM)である、
    請求項1記載の装置。
  13. 前記DRAMは、半導体技術協会(JEDEC)に準拠している、
    請求項12記載の装置。
  14. 前記装置は、動的ランダムアクセスメモリ(DRAM)コントローラまたはダイレクトメモリアクセス(DMA)コントローラである、
    請求項1記載の装置。
  15. イメージデータキューブを格納するように構成されたメモリにアクセスする方法であって、前記メモリは、複数のメモリバンクを有し、各メモリバンクは、メモリ行およびメモリ列を有し、前記方法は、
    論理バンク、論理行および論理列を指定する論理開始アドレス、ならびに、バーストサイズを有するメモリアクセス要求を入力側で受け取るステップと、
    メモリアドレスジェネレータによって、前記論理開始アドレスおよび前記バーストサイズに基づいて、複数の物理メモリアドレスを生成するステップと、
    を含み、
    異なるメモリ行にマッピングされる連続的な前記論理開始アドレスは、いずれも異なるメモリバンクにマッピングされる、
    方法。
  16. 前記複数の物理メモリアドレスを生成するステップを、
    異なるメモリ列、同じメモリ行かつ同じメモリバンクにマッピングされる連続的な論理開始アドレス、
    同じメモリ列、同じメモリ行かつ異なるメモリバンクにマッピングされる連続的な論理開始アドレス、
    メモリバンクのオーバフロー時に異なるメモリ行にマッピングされる連続的な論理開始アドレス、または、
    異なるメモリ列、異なるメモリ行かつ異なるメモリバンクにマッピングされる連続的な論理開始アドレス、
    に対して行う、
    請求項15記載の方法。
  17. 前記方法は、さらに、1つのメモリバンクの少なくとも一部分の物理メモリアドレスの生成をスキップして、前記一部分がいかなるイメージデータも格納しないようにするステップを含む、
    請求項15記載の方法。
  18. 前記方法は、さらに、1つのメモリバンクの物理メモリアドレスの生成をスキップして、前記スキップされたメモリバンクがいかなるイメージデータも格納しないようにするステップを含む、
    請求項15記載の方法。
  19. 複数のメモリバンクのそれぞれにおける1つのメモリ行を同時に開いておく、
    請求項15記載の方法。
  20. 前記方法は、さらに、前記複数のメモリバンクのうち1つのメモリバンクの1つのメモリ行が開いている間に、前記複数のメモリバンクのうち別のメモリバンクの1つのメモリ行を閉じて、別のメモリ行を開くステップを含む、
    請求項19記載の方法。
JP2020058456A 2019-03-28 2020-03-27 イメージデータキューブを格納するように構成されたメモリのアクセス Active JP7516087B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/367,635 2019-03-28
US16/367,635 US10929949B2 (en) 2019-03-28 2019-03-28 Accessing a memory configured to store an image data cube

Publications (2)

Publication Number Publication Date
JP2020166861A true JP2020166861A (ja) 2020-10-08
JP7516087B2 JP7516087B2 (ja) 2024-07-16

Family

ID=

Also Published As

Publication number Publication date
US20200311863A1 (en) 2020-10-01
US10929949B2 (en) 2021-02-23
DE102020108462A1 (de) 2020-10-01

Similar Documents

Publication Publication Date Title
EP1936628B1 (en) Memory device, memory controller and memory system
EP0774758A2 (en) Memory architecture using content addressable memory, and systems and methods using the same
US8305834B2 (en) Semiconductor memory with memory cell portions having different access speeds
US20180293163A1 (en) Optimizing storage of application data in memory
CN106856098B (zh) 一种用于DRAM或eDRAM刷新的装置及其方法
US7506100B2 (en) Static random access memory (SRAM) compatible, high availability memory array and method employing synchronous dynamic random access memory (DRAM) in conjunction with a data cache and separate read and write registers and tag blocks
JP2007527592A (ja) Dramの部分的リフレッシュのための方法及び装置
CN104360825B (zh) 一种混合内存系统及其管理方法
TW201619832A (zh) 半導體裝置及包含該半導體裝置的記憶體系統
KR102623702B1 (ko) 메모리 버퍼를 포함하는 메모리 시스템
US7917692B2 (en) Method and system for using dynamic random access memory as cache memory
US6512683B2 (en) System and method for increasing the speed of memories
US7778103B2 (en) Semiconductor memory device for independently selecting mode of memory bank and method of controlling thereof
JP2020166861A (ja) イメージデータキューブを格納するように構成されたメモリのアクセス
US6819323B2 (en) Structure and method for gaining fast access to pixel data to store graphic image data in memory
JP7516087B2 (ja) イメージデータキューブを格納するように構成されたメモリのアクセス
US10592163B2 (en) Controlling write pulse width to non-volatile memory based on free space of a storage
KR100482380B1 (ko) 메모리 뱅크별 기입 동작의 수행이 가능한 에스램 호환 메모리 및 그 구동방법
JP3846543B2 (ja) メモリアクセスシステム
US6433786B1 (en) Memory architecture for video graphics environment
TWI722278B (zh) 動態隨機存取記憶體及其操作方法
JP4071930B2 (ja) シンクロナスdram
JP2006215961A (ja) アドレシング方法
US20240177746A1 (en) Address decoding method, and memory controller and semiconductor memory system using the same
TWI721660B (zh) 控制資料讀寫裝置與方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240524

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240604