JP2013152778A - Concurrent multiple-dimension word-addressable memory architecture - Google Patents
Concurrent multiple-dimension word-addressable memory architecture Download PDFInfo
- Publication number
- JP2013152778A JP2013152778A JP2013038892A JP2013038892A JP2013152778A JP 2013152778 A JP2013152778 A JP 2013152778A JP 2013038892 A JP2013038892 A JP 2013038892A JP 2013038892 A JP2013038892 A JP 2013038892A JP 2013152778 A JP2013152778 A JP 2013152778A
- Authority
- JP
- Japan
- Prior art keywords
- bit
- memory
- addressable
- word
- address
- 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.)
- Pending
Links
Images
Abstract
Description
本発明の実施形態は、メモリアーキテクチャに関する。より詳細には、本発明の実施形態は、ランダム行列プロセス能力について最適化されたメモリアーキテクチャに関する。 Embodiments of the invention relate to a memory architecture. More particularly, embodiments of the invention relate to a memory architecture that is optimized for random matrix process capability.
ランダムアクセスメモリ(Random access memory)(RAM)は、現代のデジタルアーキテクチャの至る所に存在するコンポーネントである。RAMは、スタンドアロンデバイスとすることもでき、あるいはマイクロプロセッサ、マイクロコントローラ、特定用途向け集積回路(application specific integrated circuits)(ASIC)、システムオンチップ(system-on-chip)(SoC)、当業者によって理解されることになるような他の同様なデバイスなど、RAMを使用するデバイス内に一体化され、または埋め込まれることもできる。 Random access memory (RAM) is a component that exists throughout modern digital architecture. The RAM can be a stand-alone device or it can be a microprocessor, microcontroller, application specific integrated circuits (ASIC), system-on-chip (SoC), by those skilled in the art. It can also be integrated or embedded within a device that uses RAM, such as other similar devices as would be understood.
シングルポートメモリ(single ported memory)、デュアルポートメモリ(dual-ported memory)、連想メモリ(Content Addressable Memory)(CAM)など、従来の集積回路メモリアーキテクチャは、1次元のデータワードアドレス指定の空間/機構だけを提供する。例えば、0、1、2、または3のいずれかの線形に(すなわち、1次元だけに)アドレス可能な4つのワードを含む単純なメモリが、図1Aに示されている。従来の集積回路メモリアーキテクチャを経由したメモリアクセスは、図に示されるような、選択された(アドレス指定された)4−ビットのワード110を読み出すこと、または書き込むこと、のいずれかだけに限定される。アプリケーションが、ワード0、1、2および3のビット2が読み出され/書き込まれること(例えば、図1Bの中の120)を必要とする場合、4つのメモリアクセスサイクルが、必要とされることになる。例えば、従来のシングルポートメモリにおいては、すべての4つのワードが、読み出され/書き込まれることができるが、各ビットは、依然としてそれが読み出され/書き込まれるそれぞれの行の中に存在することになる。追加のオペレーション(例えば、シフトすること、マスクをすることなど)が、当業者によって理解されることになるように、個別のビット情報を得るようにビットを操作するために必要とされることになる。
Conventional integrated circuit memory architectures such as single ported memory, dual-ported memory, content addressable memory (CAM), etc., are space / mechanisms for one-dimensional data word addressing. Only provide. For example, a simple memory containing four words that can be addressed linearly (ie, only in one dimension), either 0, 1, 2, or 3, is shown in FIG. 1A. Memory access via a conventional integrated circuit memory architecture is limited to either reading or writing a selected (addressed) 4-
信号処理、オーディオおよびビデオの符号化/復号化など、多数の高性能のアプリケーションは、従来のワード構成だけには限定されないビットパターンで記憶されるデータを使用する。したがって、ランダム行列オペレーションについて最適化されたメモリアーキテクチャを有することが、有利であろう。 Many high performance applications, such as signal processing, audio and video encoding / decoding, use data stored in bit patterns that are not limited to conventional word configurations. Therefore, it would be advantageous to have a memory architecture that is optimized for random matrix operations.
本発明の例示の実施形態は、ランダム行列オペレーションについて最適化されたメモリアーキテクチャに向けられている。 The exemplary embodiments of the present invention are directed to a memory architecture that is optimized for random matrix operations.
したがって、本発明の一実施形態は、ビットセルのN次元アレイと、N次元アドレス指定を使用して各ビットセルをアドレス指定するように構成されたロジックと、を備えるN次元アドレス可能なメモリを含むことができ、ここでNは、少なくとも2であり、そしてビットセルのアレイは、N個の直交アドレス空間によってアドレス可能である。 Accordingly, one embodiment of the present invention includes an N-dimensional addressable memory comprising an N-dimensional array of bit cells and logic configured to address each bit cell using N-dimensional addressing. Where N is at least 2 and the array of bit cells is addressable by N orthogonal address spaces.
本発明の別の実施形態は、ビットストレージ要素と、N本のワード線と、N本のビット線とを備えるN直交次元アドレス可能メモリのビットセルを含むことができ、ここでNは、少なくとも2である。 Another embodiment of the present invention may include a bit cell of an N orthogonal dimensionally addressable memory comprising a bit storage element, N word lines, and N bit lines, where N is at least 2 It is.
本発明の別の実施形態は、ビットセルのN次元アレイから第1の組のアドレス可能ワードを確立することと、ビットセルのN次元アレイから第2の組のアドレス可能ワードを確立することと、を備える、メモリにアクセスする方法を含むことができ、ここでNは、少なくとも2であり、そして第1の組のアドレス空間と、第2の組のアドレス空間とは、直交している。 Another embodiment of the present invention establishes a first set of addressable words from an N-dimensional array of bit cells and establishes a second set of addressable words from the N-dimensional array of bit cells. Comprising a method of accessing a memory, wherein N is at least 2, and the first set of address spaces and the second set of address spaces are orthogonal.
添付の図面は、本発明の実施形態の説明の助けをするために提示され、そしてそれらの実施形態の例証のためだけに提供され、そしてそれらの限定ではない。 The accompanying drawings are presented to aid in the description of embodiments of the invention and are provided only for illustration of those embodiments and are not limiting thereof.
本発明の態様は、本発明の特定の実施形態に向けられた以下の説明および関連した図面の中で開示される。代替実施形態は、本発明の範囲を逸脱することなく考え出されることができる。さらに、本発明のよく知られている要素は、詳細に説明されないことになり、あるいは本発明の関連のある詳細をあいまいにしないようにするために省略されることになる。 Aspects of the invention are disclosed in the following description and related drawings directed to specific embodiments of the invention. Alternate embodiments may be devised without departing from the scope of the invention. In addition, well-known elements of the invention will not be described in detail or will be omitted so as not to obscure the relevant details of the invention.
言葉「例示の(exemplary)」は、ここにおいて、「例、インスタンス、または例証としての役割を果たすこと」を意味するように使用される。「例示の」としてここにおいて説明される任意の実施形態は、必ずしも他の実施形態よりも好ましい、または有利であると解釈されるべきであるとは限らない。同様に、用語「本発明の実施形態」は、必ずしも本発明のすべての実施形態が、論じられた特徴、利点、またはオペレーションのモードを含むことを必要とするとは限らない。 The word “exemplary” is used herein to mean “serving as an example, instance, or illustration”. Any embodiment described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments. Similarly, the term “embodiments of the present invention” does not necessarily require that all embodiments of the present invention include the discussed features, advantages, or modes of operation.
さらに、多数の実施形態は、例えば、コンピューティングデバイスの要素によって実行されるべきアクションのシーケンスの観点から説明される。ここにおいて説明される様々なアクションは、特定の回路(例えば、特定用途向け集積回路(ASIC))により、1つまたは複数のプロセッサによって実行されているプログラム命令により、あるいは両方の組合せにより、実行されることができることが、認識されるであろう。それ故に、本発明の様々な態様は、いくつかの異なる形態で実施されることができ、これらの形態のすべては、特許請求の範囲の主題の範囲内にあるように企図されている。さらに、ここにおいて説明される実施形態のおのおのでは、対応する形態のそのような任意の実施形態は、例えば、説明されたアクションを実行する「ように構成されたロジック」としてここにおいて説明されることができる。 Moreover, many embodiments are described in terms of sequences of actions to be performed by, for example, elements of a computing device. The various actions described herein may be performed by specific circuitry (eg, application specific integrated circuits (ASICs)), by program instructions being executed by one or more processors, or by a combination of both. It will be appreciated that Thus, various aspects of the invention may be implemented in a number of different forms, all of which are intended to be within the scope of the claimed subject matter. Further, in each of the embodiments described herein, any such corresponding embodiment is described herein as, for example, “logic configured to” perform the described action. Can do.
図2は、本発明の少なくとも1つの実施形態による一般化されたN直交次元ワードアドレス可能メモリ(N orthogonal dimension word-addressable memory)200のブロック図を示している。Nは、ここにおいて使用されるように、2以上の整数である。N直交次元ワードアドレス可能メモリは、そのおのおのが、N個の直交アドレス指定空間、またはN−次元アドレス指定(N-Dimension Addressing)(NDA)スキームによってアドレス可能とすることができるメモリビットセルのアレイを含んでいる。N次元のうちのおのおのは、データワード入力ポート(例えば、212)と、データワードアドレスポート(例えば、214)と、アクセス制御線(例えば、216)と、を有する。N次元のうちのおのおのはまた、対応するデータワード出力ポート(例えば、222)も有する。代替実施形態においては、入力ポート212と出力ポート222との機能は、データ入力とデータ出力との両方について使用されることができる共通の入力/出力ポートの形で組み合わせられることができる。
FIG. 2 shows a block diagram of a generalized N orthogonal dimension word-
したがって、本発明の一実施形態は、ビットセルのN−次元アレイ210と、N−次元アドレス指定(NDA)を使用して各ビットセルをアドレス指定するように構成されたロジック(例えば、デコーダ1〜N)と、を有するN−次元アドレス可能メモリ200を含むことができ、ここでNは、少なくとも2である。ビットセルのアレイ210は、上記で論じられるようにN個の直交アドレス指定空間によってアドレス可能である。各ビットセルをアドレス指定するように構成されたロジックは、N個のアドレスデコーダ(例えば、242)を備えることができる。各アドレスデコーダは、データワードアドレス214と、次元アクセス制御信号216と、を受け取るように構成されていることができる。さらに、ワード選択マルチプレクサ(mux)(例えば、252)は、各N−次元について含まれることができ、これは、ランダム行列のリード/ライトオペレーションについてのランダム行列アドレス指定を達成するために対応するアドレスデコーダ(例えば、242)と協力して機能することができる。さらに、メモリは、特定のメモリタイプに応じて含められることもできるセンス増幅器、線ドライバ(line drivers)など、各N−次元についてデータを読み出し/書き込むように構成されたロジックを含むことができる。
Accordingly, an embodiment of the present invention provides an N-dimensional array of
図3は、本発明の少なくとも1つの実施形態によるNDA SRAMベースのビットセルインプリメンテーションを示している。図3に示されるNDA SRAMビットセルは、小型のN−次元ワードアドレス可能(N−DWA)SRAMを形成するために従来のSRAMビットセルと同様にして配列されることができる。例えば、本発明の例示の実施形態の中の2−次元アレイは、従来の2−ポートスタティックランダムアクセスメモリ(SRAM)と同等の面積を占めることができる。しかしながら、本発明の実施形態は、どのような特定の配列だけにも限定されるものではない。 FIG. 3 illustrates an NDA SRAM-based bit cell implementation according to at least one embodiment of the invention. The NDA SRAM bit cell shown in FIG. 3 can be arranged in the same manner as a conventional SRAM bit cell to form a small N-dimensional word addressable (N-DWA) SRAM. For example, the 2-dimensional array in the exemplary embodiment of the present invention can occupy the same area as a conventional 2-port static random access memory (SRAM). However, embodiments of the invention are not limited to any particular arrangement.
したがって、本発明の一実施形態は、N直交次元アドレス可能メモリのビットセル300を含むことができる。そのビットセルは、ビットストレージ要素310と、N本のワード線320と、N本のビット線330と、を含むことができ、ここでNは、少なくとも2である。ビットセルは、上記に論じられるように、スタティックランダムアクセスメモリ(SRAM)の一部分とすることができる。しかしながら、本発明の実施形態は、どのような特定のメモリタイプだけにも限定されるものではない。図に示されるように、ビット線のおのおのは、ストレージ要素310に結合された第1の線(例えば、334)と、ストレージ要素に結合された第2の線(例えば、332)と、を含むことができ、ここでビット値は、当技術分野においてよく知られているように、ワードd1が選択されるときに、第1の334の線と第2の332の線との間の差動電圧によって決定される。同様に、N本のワード線320のおのおのは、そのワード線がアクティブにされる場合に、N本のビット線からストレージ要素310へと対応するビット線(332および334)を結合するように構成されたデバイス(例えば、トランジスタ322および324)に結合される。当業者は、関連するワード線をアクティブにすることにより、N本のビット線のどれでも選択されることができ、そしてストレージ要素の値は、そのビット線を使用して読み出され、または書き込まれることができることを理解するであろう。ビットセルの動作の詳細は、本発明の実施形態の理解のためには必要とされず、そして当技術分野においてよく知られているので、詳細な考察は、ここにおいては提供されないことになる。
Accordingly, an embodiment of the present invention may include a
N−次元ワードアドレス可能(N−DWA)メモリは、そのおのおのが、データワード入力ポートDin(i)と、データワードアドレスポートAddr(i)と、データワード出力ポートDout(i)と、制御ポートCtrl(i)と、を備えるN個の並列メモリアクセスチャネルを有することができ、ここでiは、N個の直交アドレス指定空間のうちの1つを指定する。Din(i)またはDout(i)のいずれかのビット幅は、ワード当たりのビットの数、すなわち、ワードアドレスAddr(i)によって毎回アドレス指定される(選択される)ターゲットNDAビットセルの数、を定義している。Ctrl(i)は、ワードリードオペレーションやワードライトオペレーションなど、サポートされるアクセスオペレーションのうちの1つを選択するための1つまたは複数の制御信号を提供する。本発明の実施形態は、明示的なN−次元アドレス指定(NDA)スキームを制約すること、または強要することをしない。例えば、本発明の実施形態は、表1の中の以下のようなターゲット行列指向のアプリケーションのために構成されたN−DWAメモリ構造を含むことができる。
例えば、ターゲット行列が2×4であり、一度に記憶されるべき全部で4つの行列が存在する場合、2−DWAメモリは、以下で表2の中に説明されるように使用されることができる。
図4Aおよび4Bは、本発明の少なくとも1つの実施形態に従う2−次元ワードアドレス可能(DWA)メモリについてのアドレス指定スキームを示している。図4Aにおいて、アドレス(1)(Addr(1))は、16個の2−ビットワードにアドレス指定するために使用される。2−ビットワード(例えば、0〜15)のおのおのは、ターゲット行列データの2−要素行を表す。図4Bにおいて、アドレス(2)(Addr(2))は、8つの4−ビットワード(例えば、0〜7)をアドレス指定するために使用される。4−ビットワードのおのおのは、ターゲット行列データの4−要素列を表す。これらの例のおのおのは、以下でさらに詳細に論じられることになる。 4A and 4B illustrate an addressing scheme for a 2-dimensional word addressable (DWA) memory according to at least one embodiment of the invention. In FIG. 4A, address (1) (Addr (1)) is used to address 16 2-bit words. Each 2-bit word (eg, 0-15) represents a 2-element row of target matrix data. In FIG. 4B, address (2) (Addr (2)) is used to address eight 4-bit words (eg, 0-7). Each 4-bit word represents a 4-element sequence of target matrix data. Each of these examples will be discussed in further detail below.
図4Aを参照すると、2−次元ワードアドレス可能(DWA)メモリのコンフィギュレーションが、Addr(1)について示されている。メモリは、そのおのおのが図に示されるようにターゲット行列データの2−要素行を表す16個の2−ビットワードを備えるAddr(1)によってアドレス指定されることができる。Addr(1)によってアクセスされるときに、メモリ行列1は、ワード0〜3を含み、行列2は、ワード4〜7を含み、行列3は、ワード8〜11を含み、そして行列4は、ワード12〜15を含む。したがって、行列4の第2の行の中の2ビットが、読み出される/書き込まれるべきである場合、Addr(1)は、値13に設定されることができ、単一のリード/ライトオペレーションが実行されることができ、そして2−ビットワードが、出力される/記憶されることができる。
Referring to FIG. 4A, a 2-dimensional word addressable (DWA) memory configuration is shown for Addr (1). The memory can be addressed by Addr (1) comprising 16 2-bit words, each representing a 2-element row of target matrix data as shown in the figure. When accessed by Addr (1),
図4Bを参照すると、2−次元ワードアドレス可能(DWA)メモリのコンフィギュレーションが、Addr(2)について示されている。メモリは、そのおのおのがターゲット行列データの4−要素列を表す8つの4−ビットワード(0〜7)を備えるAddr(2)によってアドレス指定されることができる。Addr(2)によってアクセスされるときに、メモリ行列1は、ワード0〜1を含み、行列2は、ワード2〜3を含み、行列3は、ワード4〜5を含み、そして行列4は、ワード7〜8を含む。したがって、行列1の第2の列の中の4ビットが、読み出される/書き込まれるべきである場合、Addr(2)は、値1に設定されることができ、そして単一のリード/ライトオペレーションが実行されることができる。例えば、リードオペレーションでは、行列1、列1の中の列データの4−ビット出力は、次いで単一オペレーションで得られることができる。同様に、ライトオペレーションでは、4−ビットデータは、行列1、列1に単一オペレーションで記憶されることができる。
Referring to FIG. 4B, a 2-dimensional word addressable (DWA) memory configuration is shown for Addr (2). The memory can be addressed by Addr (2) comprising eight 4-bit words (0-7), each representing a 4-element column of target matrix data. When accessed by Addr (2),
図1Aおよび1Bに関連して論じられるように、アプリケーションが、従来のシングルポートメモリを使用した図1Bの中でリファレンス120によって示されるようにワード0、1、2および3のビット2の読み出しを必要とする場合、それは、すべての4ワードを読み出すために4つのメモリアクセスサイクルを必要とすることになる。次いで、追加のオペレーションが、個別にビット2の情報を抽出するために必要とされることになる。対照的に、本発明の例示の一実施形態は、データが、単一のメモリサイクルでアクセスされることを可能にする。
As discussed in connection with FIGS. 1A and 1B, an application can read
例えば、表3に示され、そして図5に示されるように構成された2−次元ワードアドレス可能メモリは、ターゲットの4×4の行列データについての並列で単一サイクルの4−ビットの行および列のワードアクセスを提供するように生成されることができる。行列は、図1Aおよび1Bに示されるものに類似している。
図5に示されるような4×4の2−次元ワードアドレス可能(DWA)メモリを使用して、1列ワードのリード/ライト、520、が、実行されることができる(例えば、Addr(2)=1)。それに応じて、データの列は、ただ1つのメモリアクセスサイクルで読み出される/書き込まれることができる。さらに、本発明の実施形態はまた、データ510をアドレス指定し、そしてそのデータを読み出す/書き込むこともでき、これは、従来のリード/ライトオペレーション(例えば、図1Aにおける110)に対応することが理解されることができる。
Using a 4 × 4 2-dimensional word addressable (DWA) memory as shown in FIG. 5, a single column word read / write 520 can be performed (eg, Addr (2 ) = 1). Accordingly, a column of data can be read / written in just one memory access cycle. Further, embodiments of the present invention can also address
上記説明は、本発明の実施形態のいくつかの例および利点を提供している。当業者は、本発明の実施形態が、行列集約的アプリケーションによく適していることを上記説明から理解するであろう。本発明の少なくとも1つの実施形態の1つの例示のアプリケーションは、デジタル通信である。例えば、N−DWAメモリは、符号分割多元接続(Code Division Multiple Access)(CDMA)システム、CDMA2000システム、WCDMA(登録商標)システムなどのデジタル通信システムの中で実行される典型的なタスクであるブロックのインターリービング(interleaving)とデインターリービング(de-interleaving)とのために使用されることができる。例えば、ブロックインターリーバ(block interleaver)は、M−行×N−列(M×N)のアレイの列を入力すること(filling)によりブロックの中の符号化されたシンボルを受け入れることができる。次いで、インターリーブされたシンボルは、一度に1行を変調器に対して供給されることができる。他方、ブロックデインターリーバ(block de-interleaver)は、逆のオペレーションを実行する。ブロックのインターリービングとデインターリービングとは、当技術分野においてよく知られており、それでさらなる詳細はここにおいては提供されないであろう(例えば、バーナード スクラー、デジタル通信の基礎と応用、第2版、464ページ(Bernard Sklar, Digital Communications Fundamentals and Applications, second edition, page 464)を参照)。 The above description provides several examples and advantages of embodiments of the present invention. Those skilled in the art will appreciate from the above description that embodiments of the present invention are well suited for matrix intensive applications. One exemplary application of at least one embodiment of the present invention is digital communications. For example, N-DWA memory is a block that is a typical task performed in a digital communication system such as a Code Division Multiple Access (CDMA) system, a CDMA2000 system, a WCDMA system, etc. Can be used for interleaving and de-interleaving. For example, a block interleaver can accept encoded symbols in a block by filling in columns of an M-row × N-column (M × N) array. The interleaved symbols can then be supplied to the modulator one row at a time. On the other hand, a block de-interleaver performs the reverse operation. Block interleaving and de-interleaving are well known in the art, so further details will not be provided here (eg, Bernard Sklar, Digital Communication Fundamentals and Applications, Second Edition, 464 pages (see Bernard Sklar, Digital Communications Fundamentals and Applications, second edition, page 464).
ブロックのインターリービングとデインターリービングとのプロセスは、従来のシステムを使用して多数のメモリオペレーションとロジックオペレーションとを必要とする可能性がある。しかしながら、本発明の一実施形態は、追加のロジックオペレーションについての必要なしに直接の行列オペレーションを可能にする。例えば、表4を参照すると、M×Nの2−次元ワードアドレス可能メモリは、行列データについての並列で単一サイクルのM行およびN列のワードアクセスを提供するように生成されることができる。
ブロックのインターリービングおよび/またはデインターリービングの例に戻って参照すると、M×Nの(例えば、4×6の)行列オペレーションについて構成された1つの2−DWAメモリは、余分のロジックなしにブロックのインターリービングまたはデインターリービングのハードウェア設計をインプリメントするために使用されることができる。代わりに、2つのM×N行列のためのストレージを有する2−DWAメモリを使用することは、表4の右列に示されるように、そして図6に示されるように、ピンポンバッファ600を形成するために使用されることができる。2−DWAのM×N×2のメモリは、高性能なメモリサイクル当たりに1シンボルのスループットを達成するためにブロックのインターリービングまたはデインターリービングのためのM×N行列ピンポンバッファコンフィギュレーション600として機能することができる。このコンフィギュレーションの一例が、図6に示される。例えば、インターリーバ入力シーケンスは、入力シーケンス(例えば、(0、1、2、3)(4、5、6、7)...)を用いて列方向に(by column manner)ピンバッファ610を列に直接に入力することができる。インターリーブされた出力シーケンス(例えば、(0、4、8、12、16、20)(1、5、9、13、17、21)...)は、ポンバッファ620から行方向に(by row basis)行上に直接に取り出されることができる。したがって、インターリーブされた出力シーケンスは、どのような追加ロジックもなしに生成されることができる。インターリービングは、メモリアレイのコンフィギュレーション(例えば、M×N)に基づいて決定されることもできる。
Referring back to the example of block interleaving and / or deinterleaving, a single 2-DWA memory configured for M × N (eg, 4 × 6) matrix operations can block without extra logic. Can be used to implement an interleaving or deinterleaving hardware design. Instead, using 2-DWA memory with storage for two M × N matrices forms a ping-pong buffer 600 as shown in the right column of Table 4 and as shown in FIG. Can be used to do. 2-DWA M × N × 2 memory as an M × N matrix ping-pong buffer configuration 600 for block interleaving or deinterleaving to achieve a throughput of 1 symbol per high performance memory cycle Can function. An example of this configuration is shown in FIG. For example, an interleaver input sequence may use a
デインターリービングオペレーションは、インターリービングオペレーションの逆である類似したコンフィギュレーションによって達成されることができる。例えば、インターリーブされた出力シーケンス(例えば、(0、4、8、12、16、20)(1、5、9、13、17、21)...)は、受け取るメモリに行毎に入力されることができる。インターリーブされた出力シーケンスは、元の入力シーケンスを回復するために列毎に(例えば、(0、1、2、3)(4、5、6、7)...)データ出力を読み出すことにより直接にデインターリーブされることができる。したがって、デインターリービングファンクションは、どのような追加ロジックもなしにメモリから直接に達成されることもできる。 Deinterleaving operation can be achieved by a similar configuration that is the reverse of interleaving operation. For example, an interleaved output sequence (eg, (0, 4, 8, 12, 16, 20) (1, 5, 9, 13, 17, 21) ...) is input row by row into the receiving memory. Can. The interleaved output sequence is obtained by reading the data output column by column (eg (0, 1, 2, 3) (4, 5, 6, 7) ...) to recover the original input sequence. Can be directly deinterleaved. Thus, the deinterleaving function can also be achieved directly from memory without any additional logic.
先行する例は、デジタル通信システムの中で行列ファンクションを実行するために本発明の実施形態の能力を強調しているが、本発明の実施形態は、これらのアプリケーションだけに限定されるものではない。例えば、ビデオ符号化/復号化においては、オブジェクトは、メモリの中のアレイとして定義されることができ、そして動きは、アレイの中のある種の数の列または行だけオブジェクトを移動させることによってシミュレートされることができる。本発明の実施形態は、メモリアレイの柔軟なアドレス指定を可能にし、その結果、オブジェクトの移動および処理が、改善されることができる。したがって、本発明の実施形態は、ここにおいて含まれる例および例証だけに限定されるものではない。 Although the preceding examples highlight the ability of embodiments of the present invention to perform matrix functions in a digital communication system, the embodiments of the present invention are not limited to only these applications. . For example, in video encoding / decoding, an object can be defined as an array in memory, and motion is achieved by moving the object by some number of columns or rows in the array. Can be simulated. Embodiments of the present invention allow flexible addressing of the memory array so that object movement and processing can be improved. Accordingly, embodiments of the invention are not limited to only the examples and illustrations contained herein.
さらに、本発明の実施形態が、ここにおいて論じられるアクション、アルゴリズム、ファンクション、および/またはステップのシーケンスを実行するための方法を含むことができることが、上記から理解されるであろう。例えば、一実施形態は、ビットセルのN−次元アレイから第1の組のアドレス可能ワードを確立することと、ビットセルのN−次元アレイから第2の組のアドレス可能ワードを確立することと、を備えるメモリにアクセスする方法を含むことができる。上記で論じられるように、Nは、少なくとも2であり、そして第1の組のアドレス可能ワードと、第2の組のアドレス可能ワードとは、直交している。本方法は、次元当たりのベクトル当たりの要素の数として各組のアドレス可能ワードについてのビット幅(i)(例えば、図4Aおよび4Bについてそれぞれ2および4)を決定すること、をさらに含むことができる。アドレスビット幅(i)は、Addr(i)ビット幅=log2(総記憶要素/ビット幅(i))として決定されることができる。例えば、対応するアドレスビット幅は、図4Aおよび4Bについてそれぞれlog2(32/2)=4およびlog2(32/4)=3として決定された。この例においては、第1の組のアドレス可能ワードは、第2の組のアドレス可能ワードとは異なるビット幅を有する。しかしながら、第1の組のアドレス可能ワードはまた、依然として直交してはいるが、第2の組のアドレス可能ワードと同じビット幅を有することもできる(例えば、図5参照)。実施形態は、入力シーケンスを第1の組のアドレス可能ワードに書き込むことと、出力シーケンスを第2の組のアドレス可能ワードから読み出すことと、をさらに含むことができ、これは、インターリーブされた出力をもたらすことができる。さらにいっそう、入力シーケンスは、第1のバッファ(例えば、ピンバッファ)に書き込まれることができ、そして出力シーケンスは、第2のバッファ(例えば、ポンバッファ)から読み出されることができる。 Furthermore, it will be appreciated from the above that embodiments of the present invention can include methods for performing the sequences of actions, algorithms, functions, and / or steps discussed herein. For example, one embodiment establishes a first set of addressable words from an N-dimensional array of bit cells and establishes a second set of addressable words from an N-dimensional array of bit cells. A method of accessing a memory comprising can be included. As discussed above, N is at least 2 and the first set of addressable words and the second set of addressable words are orthogonal. The method may further include determining a bit width (i) for each set of addressable words (eg, 2 and 4 for FIGS. 4A and 4B, respectively) as the number of elements per vector per dimension. it can. The address bit width (i) can be determined as Addr (i) bit width = log 2 (total storage elements / bit width (i)). For example, the corresponding address bit width was determined as log 2 (32/2) = 4 and log 2 (32/4) = 3 for FIGS. 4A and 4B, respectively. In this example, the first set of addressable words has a different bit width than the second set of addressable words. However, the first set of addressable words can also have the same bit width as the second set of addressable words, although still orthogonal (see, eg, FIG. 5). Embodiments can further include writing the input sequence to the first set of addressable words and reading the output sequence from the second set of addressable words, which includes an interleaved output. Can bring. Still further, the input sequence can be written to a first buffer (eg, a pin buffer) and the output sequence can be read from a second buffer (eg, a pong buffer).
当業者は、情報と信号とが、様々な異なる技術と技法とのうちのどれかを使用して表されることができることを理解するであろう。例えば、上記の説明全体を通して参照されることができるデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁気のフィールドまたは粒子、光学的なフィールドまたは粒子、あるいはそれらの任意の組合せによって表されることができる。 Those of skill in the art will understand that information and signals can be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that can be referred to throughout the above description are voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, Or they can be represented by any combination thereof.
上記開示は、本発明の例示の実施形態を示しているが、様々な変更および修正は、ここにおいて、添付の特許請求の範囲によって定義されるような本発明の範囲を逸脱することなく行われることができることに注意すべきである。ここにおいて説明される本発明の実施形態に従う方法請求項についてのファンクション、ステップ、および/またはアクションは、どのような特定の順序で実行される必要もない。さらに、本発明の要素は、単数形で説明され、または請求されることができるが、単数形への限定が明示的に述べられていない限り、複数形も考慮される。 While the above disclosure has shown exemplary embodiments of the invention, various changes and modifications may be made herein without departing from the scope of the invention as defined by the appended claims. It should be noted that it can. The functions, steps, and / or actions on method claims in accordance with the embodiments of the invention described herein need not be performed in any particular order. Further, although elements of the invention may be described or claimed in the singular, the plural is also contemplated unless limitation to the singular is explicitly stated.
上記開示は、本発明の例示の実施形態を示しているが、様々な変更および修正は、ここにおいて、添付の特許請求の範囲によって定義されるような本発明の範囲を逸脱することなく行われることができることに注意すべきである。ここにおいて説明される本発明の実施形態に従う方法請求項についてのファンクション、ステップ、および/またはアクションは、どのような特定の順序で実行される必要もない。さらに、本発明の要素は、単数形で説明され、または請求されることができるが、単数形への限定が明示的に述べられていない限り、複数形も考慮される。
下記に出願時請求項1−20に対応する記載を付記1−20として表記する。
付記1
N−次元アドレス可能メモリであって、
ビットセルのN−次元アレイと、
N−次元アドレス指定を使用して各ビットセルをアドレス指定するように構成されたロジックと、
を備え、Nは、少なくとも2であり、ビットセルの前記アレイは、N個の直交アドレス空間によってアドレス可能であるメモリ。
付記2
各ビットセルをアドレス指定するように構成された前記ロジックは、さらに
N個のアドレスデコーダと、
N個のワード選択マルチプレクサと、
をさらに備える、付記1に記載のメモリ。
付記3
各アドレスデコーダは、データワードアドレスと、アクセス制御信号と、を受け取るように構成されている、付記2に記載のメモリ。
付記4
各N−次元についてのデータを入力するように構成されたロジックと、
各N−次元についてのデータを出力するように構成されたロジックと、
をさらに備える付記1に記載のメモリ。
付記5
各N−次元についてのデータを入力するように構成された前記ロジックは、データワード入力ポートを含む、付記4に記載のメモリ。
付記6
各N−次元についてのデータを出力するように構成された前記ロジックは、センス増幅器を含む、付記4に記載のメモリ。
付記7
N個の並列アクセスチャネル、をさらに備え、各アクセスチャネルは、
データワード入力ポートと、
データワードアドレスポートと、
データワード出力ポートと、
制御ポートと、
を含む、付記1に記載のメモリ。
付記8
各直交アドレス空間は、前記データワード入力ポートのビット幅、または前記データワード出力ポートのビット幅に基づいたビット幅を有する、付記7に記載のメモリ。
付記9
各直交アドレス空間は、異なるビット幅を有する、付記8に記載のメモリ。
付記10
N直交次元アドレス可能メモリのビットセルであって、
ビットストレージ要素と、
N本のワード線と、
N本のビット線と、
を備え、Nは、少なくとも2である、ビットセル。
付記11
前記ビットセルは、スタティックランダムアクセスメモリ(SRAM)またはダイナミックランダムアクセスメモリ(DRAM)の一部分である、付記10に記載のビットセル。
付記12
N本のビット線のおのおのは、
前記ストレージ要素に結合された第1の線と、
前記ストレージ要素に結合された第2の線と、
を備え、ビット値は、前記の第1の線と第2の線との間の差によって決定される、付記10に記載のビットセル。
付記13
前記N本のワード線のおのおのは、
前記ビット線のうちの前記第1の線を前記ストレージ要素に結合するように構成された第1のデバイスに結合された第1の線と、
前記ビット線のうちの前記第2の線を前記ストレージ要素に結合するように構成された第2のデバイスに結合された第2の線と、
を備える、付記12に記載のビットセル。
付記14
前記N本のワード線のおのおのは、前記ワード線がアクティブにされる場合に、前記N本のビット線からの対応するビット線を前記ストレージ要素に結合するように構成されたデバイスに結合される、付記10に記載のビットセル。
付記15
メモリにアクセスする方法であって、
ビットセルのN−次元アレイから第1の組のアドレス可能ワードを確立することと、
ビットセルの前記N−次元アレイから第2の組のアドレス可能ワードを確立することと、
を備え、Nは、少なくとも2であり、そして前記第1の組と、前記第2の組とは、直交している、方法。
付記16
次元当たりのベクトル当たりの要素の数としてアドレス可能ワードの各組(i)についてのビット幅(i)を決定することと、
Addr(i)ビット幅=log 2 (総記憶要素/ビット幅(i))
として各組のアドレス可能ワードをアドレス指定するためのアドレスビット幅を決定することと、
をさらに備える付記15に記載の方法。
付記17
前記第1の組のアドレス可能ワードは、前記第2の組のアドレス可能ワードとは異なるビット幅を有する、付記16に記載の方法。
付記18
前記第1の組のアドレス可能ワードは、前記第2の組のアドレス可能ワードと同じビット幅を有する、付記16に記載の方法。
付記19
前記第1の組のアドレス可能ワードに入力シーケンスを書き込むことと、
前記第2の組のアドレス可能ワードから出力シーケンスを読み出すことと、
をさらに備える付記15に記載の方法。
付記20
前記入力シーケンスは、第1のバッファに書き込まれ、出力シーケンスは、第2のバッファから読み出される、付記19に記載の方法。
While the above disclosure has shown exemplary embodiments of the invention, various changes and modifications may be made herein without departing from the scope of the invention as defined by the appended claims. It should be noted that it can. The functions, steps, and / or actions on method claims in accordance with the embodiments of the invention described herein need not be performed in any particular order. Further, although elements of the invention may be described or claimed in the singular, the plural is also contemplated unless limitation to the singular is explicitly stated.
The description corresponding to Claim 1-20 at the time of filing is shown as Appendix 1-20 below.
N-dimensional addressable memory,
An N-dimensional array of bit cells;
Logic configured to address each bit cell using N-dimensional addressing;
N is at least 2 and the array of bit cells is addressable by N orthogonal address spaces.
The logic configured to address each bit cell further comprises
N address decoders;
N word selection multiplexers;
The memory according to
The memory of
Logic configured to input data for each N-dimension;
Logic configured to output data for each N-dimension;
The memory according to
The memory of
The memory of
N parallel access channels, each access channel comprising:
A data word input port;
Data word address port;
A data word output port;
A control port;
The memory according to
The memory according to
The memory according to
A bit cell of an N-orthogonal dimension addressable memory,
A bit storage element;
N word lines,
N bit lines,
And N is at least 2, a bit cell.
The bit cell according to
Each of the N bit lines is
A first line coupled to the storage element;
A second line coupled to the storage element;
The bit cell of
Each of the N word lines is
A first line coupled to a first device configured to couple the first line of the bit lines to the storage element;
A second line coupled to a second device configured to couple the second line of the bit lines to the storage element;
The bit cell according to
Each of the N word lines is coupled to a device configured to couple a corresponding bit line from the N bit lines to the storage element when the word line is activated. The bit cell according to
A method of accessing memory,
Establishing a first set of addressable words from an N-dimensional array of bit cells;
Establishing a second set of addressable words from the N-dimensional array of bit cells;
Wherein N is at least 2 and the first set and the second set are orthogonal.
Determining the bit width (i) for each set (i) of addressable words as the number of elements per vector per dimension;
Addr (i) bit width = log 2 (total storage elements / bit width (i))
Determining the address bit width for addressing each set of addressable words as
The method according to
The method of
The method of
Writing an input sequence to the first set of addressable words;
Reading an output sequence from the second set of addressable words;
The method according to
The method of
Claims (20)
ビットセルのN−次元アレイと、
N−次元アドレス指定を使用して各ビットセルをアドレス指定するように構成されたロジックと、
を備え、Nは、少なくとも2であり、ビットセルの前記アレイは、N個の直交アドレス空間によってアドレス可能であるメモリ。 N-dimensional addressable memory,
An N-dimensional array of bit cells;
Logic configured to address each bit cell using N-dimensional addressing;
N is at least 2 and the array of bit cells is addressable by N orthogonal address spaces.
N個のアドレスデコーダと、
N個のワード選択マルチプレクサと、
をさらに備える、請求項1に記載のメモリ。 The logic configured to address each bit cell further includes N address decoders,
N word selection multiplexers;
The memory of claim 1, further comprising:
各N−次元についてのデータを出力するように構成されたロジックと、
をさらに備える請求項1に記載のメモリ。 Logic configured to input data for each N-dimension;
Logic configured to output data for each N-dimension;
The memory of claim 1, further comprising:
データワード入力ポートと、
データワードアドレスポートと、
データワード出力ポートと、
制御ポートと、
を含む、請求項1に記載のメモリ。 N parallel access channels, each access channel comprising:
A data word input port;
Data word address port;
A data word output port;
A control port;
The memory of claim 1, comprising:
ビットストレージ要素と、
N本のワード線と、
N本のビット線と、
を備え、Nは、少なくとも2である、ビットセル。 A bit cell of an N-orthogonal dimension addressable memory,
A bit storage element;
N word lines,
N bit lines,
And N is at least 2, a bit cell.
前記ストレージ要素に結合された第1の線と、
前記ストレージ要素に結合された第2の線と、
を備え、ビット値は、前記の第1の線と第2の線との間の差によって決定される、請求項10に記載のビットセル。 Each of the N bit lines is
A first line coupled to the storage element;
A second line coupled to the storage element;
11. The bit cell of claim 10, wherein the bit value is determined by a difference between the first line and the second line.
前記ビット線のうちの前記第1の線を前記ストレージ要素に結合するように構成された第1のデバイスに結合された第1の線と、
前記ビット線のうちの前記第2の線を前記ストレージ要素に結合するように構成された第2のデバイスに結合された第2の線と、
を備える、請求項12に記載のビットセル。 Each of the N word lines is
A first line coupled to a first device configured to couple the first line of the bit lines to the storage element;
A second line coupled to a second device configured to couple the second line of the bit lines to the storage element;
The bit cell according to claim 12, comprising:
ビットセルのN−次元アレイから第1の組のアドレス可能ワードを確立することと、
ビットセルの前記N−次元アレイから第2の組のアドレス可能ワードを確立することと、
を備え、Nは、少なくとも2であり、そして前記第1の組と、前記第2の組とは、直交している、方法。 A method of accessing memory,
Establishing a first set of addressable words from an N-dimensional array of bit cells;
Establishing a second set of addressable words from the N-dimensional array of bit cells;
Wherein N is at least 2 and the first set and the second set are orthogonal.
Addr(i)ビット幅=log2(総記憶要素/ビット幅(i))
として各組のアドレス可能ワードをアドレス指定するためのアドレスビット幅を決定することと、
をさらに備える請求項15に記載の方法。 Determining the bit width (i) for each set (i) of addressable words as the number of elements per vector per dimension;
Addr (i) bit width = log 2 (total storage elements / bit width (i))
Determining the address bit width for addressing each set of addressable words as
16. The method of claim 15, further comprising:
前記第2の組のアドレス可能ワードから出力シーケンスを読み出すことと、
をさらに備える請求項15に記載の方法。 Writing an input sequence to the first set of addressable words;
Reading an output sequence from the second set of addressable words;
16. The method of claim 15, further comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013038892A JP2013152778A (en) | 2013-02-28 | 2013-02-28 | Concurrent multiple-dimension word-addressable memory architecture |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013038892A JP2013152778A (en) | 2013-02-28 | 2013-02-28 | Concurrent multiple-dimension word-addressable memory architecture |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010515129A Division JP2010537351A (en) | 2007-06-25 | 2008-06-26 | Parallel multidimensional word addressable memory architecture |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014124468A Division JP5859605B2 (en) | 2014-06-17 | 2014-06-17 | Parallel multidimensional word addressable memory architecture |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013152778A true JP2013152778A (en) | 2013-08-08 |
Family
ID=49049002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013038892A Pending JP2013152778A (en) | 2013-02-28 | 2013-02-28 | Concurrent multiple-dimension word-addressable memory architecture |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013152778A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105786656A (en) * | 2016-02-17 | 2016-07-20 | 中科院成都信息技术股份有限公司 | Independent disk redundant array disaster tolerance storage method based on random matrix |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59231792A (en) * | 1983-05-31 | 1984-12-26 | インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン | Multiple port memory system |
JPH08171799A (en) * | 1994-12-16 | 1996-07-02 | Sanyo Electric Co Ltd | Semiconductor memory device |
JP2004234809A (en) * | 2003-02-03 | 2004-08-19 | Ricoh Co Ltd | Semiconductor memory |
JP2006127669A (en) * | 2004-10-29 | 2006-05-18 | Renesas Technology Corp | Semiconductor memory device |
JP2007305227A (en) * | 2006-05-11 | 2007-11-22 | Sony Corp | Storage device and data conversion method |
JP2008077738A (en) * | 2006-09-20 | 2008-04-03 | Elpida Memory Inc | Semiconductor device |
-
2013
- 2013-02-28 JP JP2013038892A patent/JP2013152778A/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59231792A (en) * | 1983-05-31 | 1984-12-26 | インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン | Multiple port memory system |
JPH08171799A (en) * | 1994-12-16 | 1996-07-02 | Sanyo Electric Co Ltd | Semiconductor memory device |
JP2004234809A (en) * | 2003-02-03 | 2004-08-19 | Ricoh Co Ltd | Semiconductor memory |
JP2006127669A (en) * | 2004-10-29 | 2006-05-18 | Renesas Technology Corp | Semiconductor memory device |
JP2007305227A (en) * | 2006-05-11 | 2007-11-22 | Sony Corp | Storage device and data conversion method |
JP2008077738A (en) * | 2006-09-20 | 2008-04-03 | Elpida Memory Inc | Semiconductor device |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105786656A (en) * | 2016-02-17 | 2016-07-20 | 中科院成都信息技术股份有限公司 | Independent disk redundant array disaster tolerance storage method based on random matrix |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101114695B1 (en) | Concurrent multiple-dimension word-addressable memory architecture | |
EP3287893B1 (en) | Apparatus and methods related to microcode instructions | |
US20110264723A1 (en) | System and method for successive matrix transposes | |
KR102081799B1 (en) | Apparatuses and methods for storing and writing multiple parameter codes for memory operating parameters | |
US8862835B2 (en) | Multi-port register file with an input pipelined architecture and asynchronous read data forwarding | |
JPH04219841A (en) | Random access memory apparatus | |
US7363552B2 (en) | Method and apparatus for convolutional interleaving/de-interleaving technique | |
US11004502B2 (en) | Storage unit and static random access memory | |
JP2006523340A (en) | 2D data memory | |
JP2013152778A (en) | Concurrent multiple-dimension word-addressable memory architecture | |
JP5859605B2 (en) | Parallel multidimensional word addressable memory architecture | |
US10007588B2 (en) | Full address coverage during memory array built-in self-test with minimum transitions | |
US8139428B2 (en) | Method for reading and writing a block interleaver and the reading circuit thereof | |
US7414916B1 (en) | Using dedicated read output path to reduce unregistered read access time for FPGA embedded memory | |
US10236043B2 (en) | Emulated multiport memory element circuitry with exclusive-OR based control circuitry | |
US9715343B2 (en) | Multidimensional partitioned storage array and method utilizing input shifters to allow multiple entire columns or rows to be accessed in a single clock cycle | |
CN105099599B (en) | Interleaving and deinterleaving method and corresponding device | |
CN110474647B (en) | Decoding method, device, decoder and storage medium for LDPC code with finite field structure | |
US20220215881A1 (en) | Shiftable memory and method of operating a shiftable memory | |
KR101267322B1 (en) | Ldpc decoder and decoding method thereof | |
US7457937B1 (en) | Method and system for implementing low overhead memory access in transpose operations | |
US7707363B2 (en) | Multi-port memory architecture for storing multi-dimensional arrays II | |
JP6461831B2 (en) | Memory inspection device | |
CN114300008A (en) | Dynamic reconfigurable RAM read-write mode | |
KR100925429B1 (en) | Turbo coder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131217 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140115 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140120 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140311 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140314 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140909 |