JP2007213641A - Semiconductor memory - Google Patents
Semiconductor memory Download PDFInfo
- Publication number
- JP2007213641A JP2007213641A JP2006029910A JP2006029910A JP2007213641A JP 2007213641 A JP2007213641 A JP 2007213641A JP 2006029910 A JP2006029910 A JP 2006029910A JP 2006029910 A JP2006029910 A JP 2006029910A JP 2007213641 A JP2007213641 A JP 2007213641A
- Authority
- JP
- Japan
- Prior art keywords
- data
- serial data
- serial
- parallel
- line
- 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.)
- Withdrawn
Links
Images
Landscapes
- Static Random-Access Memory (AREA)
Abstract
Description
本発明は、半導体記憶装置に係り、特に、高いデータ転送バンド幅で変換を行い、またパラレルデータおよびシリアルデータの入出力が可能な半導体記憶装置に関する。 The present invention relates to a semiconductor memory device, and more particularly to a semiconductor memory device that performs conversion with a high data transfer bandwidth and can input and output parallel data and serial data.
現在のコンピュータシステムにおいては、パラレルデータを使ってワード単位で演算をする方法が主流である。しかし、半導体技術の現状では配線遅延やトランジスタ間の遅延差の影響を受け、今後はワード単位より小さいディジット単位での演算処理やデータの転送を行っていく方法が主流になると予想される。 In current computer systems, the method of performing operations in units of words using parallel data is the mainstream. However, in the current state of semiconductor technology, it is expected that a method of performing arithmetic processing and data transfer in digit units smaller than word units will become the mainstream in the future due to the influence of wiring delay and delay difference between transistors.
このような、ディジット単位で処理するシステムにワード単位でデータを転送する場合、従来技術ではワード幅をあるディジット幅に変換する(あるいはディジット幅をワード幅に変換する)ディジット幅変換回路(パラレル−シリアルデータ変換回路)を使用していた(例えば特開2000−82287号公報 図4参照。)。 When data is transferred in units of words to such a system that processes in units of digits, a digit width conversion circuit (parallel-converts the word width into a certain digit width (or converts the digit width into a word width) in the prior art. A serial data conversion circuit) (see, for example, FIG. 4 of Japanese Patent Laid-Open No. 2000-82287).
図16は、ディジット幅変換回路を用いて異なるディジット幅を扱うシステムの構成例を示す図である。 FIG. 16 is a diagram illustrating a configuration example of a system that handles different digit widths using a digit width conversion circuit.
図16(A)のシステムは、ワード幅Nのメモリ201、ディジットシリアル演算器(またはそれを使用したシステム)202、あるワード幅を所定のディジット幅に変換するディジット幅変換回路203、バッファ204、206、ディジット幅を所定のワード幅に変換するディジット幅変換回路205から構成され、矢印はデータを示す。
16A includes a
メモリ201には、ワード幅Nのパラレルデータが格納されており、演算器202内のディジットシリアル演算器では、ディジット幅Nd(N>=Nd)を扱う。またバッファ204はディジット幅変換回路203内で使用され、バッファ206は、ディジット幅変換回路205内で使用される。
The
メモリ201から供給されたデータ207は、ディジット幅変換回路203でディジット幅Ndのデータ208として出力され、演算器202で処理される。演算器202での処理後のデータ209は、ディジット幅変換回路205により、元のワード幅に変換され、出力される。
The
このようなシステムでは、メモリ201ではワード単位でデータを扱い、演算器202ではディジット単位で処理をするため、それぞれのデータの処理方法が異なる。そこで、演算器202が処理を行えるように、メモリ201と演算器202の間にディジット幅変換回路203が必要になる。
In such a system, the
また、図16(B)の如きシステムも知られている。このシステムは、スループットの低下を防ぐため、ディジット幅変換回路203に入るデータ207のバンド幅と、演算器202などで処理する能力を等しくした場合である。演算器202の処理能力を上げ、複数のデータを同時に要求する構成にすると、メモリ201からのデータ207のバンド幅とディジット幅変換回路203後のデータ208のバンド幅を等しくすることが出来る。
従来の技術では、ディジット幅変換回路を用いて異なるディジット幅を扱うシステムを開発していた。しかし、データ変換に伴うスループットの低下や回路規模の増大と両立できない問題がある。 In the prior art, a system that handles different digit widths using a digit width conversion circuit has been developed. However, there are problems that cannot be compatible with a decrease in throughput and an increase in circuit scale associated with data conversion.
例えば図16(A)の如きシステムでは、演算器202での処理を可能にするためのディジット幅変換回路203、205の入出力で、データ207、208およびデータ209、210のバンド幅が異なる。このため、ディジット幅変換回路203,205の前後でのスループットは等しくならない。つまり、メモリ201から出力されるバンド幅が大きくても、供給されるデータ全てを一度に処理することはないため無駄が生じてしまい、メモリ201と演算器202の間でスループットは低下してしまう。
For example, in the system as shown in FIG. 16A, the bandwidths of the
図16(B)の場合では、複数のデータを同時に供給するためには、メモリ201からのデータ207を全て格納しておくだけのバッファ204が必要になる。そのためハードウェア量が増加してしまう問題がある。
In the case of FIG. 16B, in order to supply a plurality of data at the same time, a
また、メモリ201からの供給量を増やすと演算器202から出力されるデータ209の個数も増加し、そのデータ209を全て格納しておくためのバッファ206が必要になる。そのため、この場合もハードウェア量が増加してしまう。
Further, when the supply amount from the
例えば、ワード幅N=32ビットの1ポートメモリ201、およびディジット幅Nd=2の演算器202を使用した図16(A)のシステムの場合、メモリ201と演算器202の装置間でのスループットを計算すると、ワード幅N=32ビットのデータをNd=2ビット幅ずつのデータ(2ビット×16個)に変換するので、単純に1/16のスループットになってしまう。従ってディジット幅を変換する前と後とでスループットが低下してしまう。
For example, in the case of the system shown in FIG. 16A using the 1-
一方図16(B)でバッファを増加する場合には、メモリ201から送られるデータの1ワードが32ビットなので、データを保持するためには32個のデータを記憶するバッファが必要になる。メモリバンド幅と演算器の処理能力を等しくする場合、供給するデータ数は16個になるので、512個[32ビット×16(個)]のバッファが必要になるため、ハードウェア量が増加してしまう。
On the other hand, in the case of increasing the buffer in FIG. 16B, since one word of data sent from the
このように従来のディジット幅変換回路203、205を用いる技術では、スループットの低下と回路規模の増加の両方を同時に解決することができない問題があった。
As described above, the technique using the conventional digit
本発明は、係る課題に鑑みてなされ、第1に、複数のパラレルデータワード線と、該パラレルデータワード線とそれぞれ直交する複数のパラレルデータビット線と、前記パラレルデータワード線およびパラレルデータビット線にそれぞれ直交する複数のシリアルデータワード線および複数のシリアルデータビット線と、前記パラレルデータワード線およびパラレルデータビット線の交点に配置され、前記パラレルデータワード線およびパラレルデータビット線と、前記シリアルデータワード線およびシリアルデータビット線とそれぞれ接続するメモリセルと、前記メモリセルを行列状に配置したメモリセルアレイと、前記パラレルデータワード線に接続する第1データ線選択手段と、前記パラレルデータビット線に接続する第2データ線選択手段と、前記シリアルデータワード線に接続する第3データ線選択手段と、前記シリアルデータビット線に接続する第4データ線選択手段と、パラレルデータ入出力回路と、シリアルデータ入出力回路と、を具備し、前記第3データ線選択手段により1本の前記シリアルデータワード線を選択する際、前記第4データ線選択手段により少なくとも1行の前記メモリセルに接続する前記シリアルデータビット線を選択し、少なくとも1つのディジットシリアルデータの伝送を行うことにより解決するものである。 The present invention has been made in view of the above problems, and firstly, a plurality of parallel data word lines, a plurality of parallel data bit lines orthogonal to the parallel data word lines, and the parallel data word lines and parallel data bit lines. A plurality of serial data word lines and a plurality of serial data bit lines orthogonal to each other, and arranged at the intersections of the parallel data word lines and the parallel data bit lines, the parallel data word lines and the parallel data bit lines, and the serial data A memory cell connected to each of a word line and a serial data bit line; a memory cell array in which the memory cells are arranged in a matrix; first data line selection means connected to the parallel data word line; and Select second data line to connect A stage, third data line selection means connected to the serial data word line, fourth data line selection means connected to the serial data bit line, a parallel data input / output circuit, and a serial data input / output circuit. And when the third data line selection unit selects one serial data word line, the fourth data line selection unit selects the serial data bit line connected to at least one row of the memory cells. This is solved by transmitting at least one digit serial data.
第2に、複数のパラレルデータワード線と、該パラレルデータワード線とそれぞれ直交する複数のパラレルデータビット線と、前記パラレルデータワード線およびパラレルデータビット線にそれぞれ直交する複数のシリアルデータワード線および複数のシリアルデータビット線と、前記パラレルデータワード線およびパラレルデータビット線の交点に配置され、前記パラレルデータワード線およびパラレルデータビット線と、前記シリアルデータワード線およびシリアルデータビット線とそれぞれ接続するメモリセルと、前記メモリセルを行列状に配置したメモリセルアレイと、前記パラレルデータワード線に接続する第1データ線選択手段と、前記パラレルデータビット線に接続する第2データ線選択手段と、前記シリアルデータワード線に接続する第3データ線選択手段と、前記シリアルデータビット線に接続する第4データ線選択手段と、パラレルデータ入出力回路と、シリアルデータ入出力回路と、連続した複数行の前記メモリセルに共通で該メモリセルの前記シリアルデータビット線に接続し前記複数行のうち1行の前記メモリセルを選択するビット線セレクタと、連続した他の複数行の前記メモリセルに共通で該メモリセルの前記第シリアルデータビット線に接続し前記他の複数行のうち1行の前記メモリセルを選択する他のビット線セレクタと、を具備し、前記第3データ線選択手段により1列の前記メモリセルに接続する前記シリアルデータワード線を選択する際、前記ビット線セレクタおよび前記他のビット線セレクタにより複数行の前記メモリセルに接続する前記シリアルデータビット線を選択し、複数のディジットシリアルデータの伝送を行うことにより解決するものである。 Second, a plurality of parallel data word lines, a plurality of parallel data bit lines orthogonal to the parallel data word lines, a plurality of serial data word lines orthogonal to the parallel data word lines and the parallel data bit lines, and A plurality of serial data bit lines are arranged at intersections of the parallel data word line and the parallel data bit line, and are connected to the parallel data word line and the parallel data bit line, and the serial data word line and the serial data bit line, respectively. A memory cell, a memory cell array in which the memory cells are arranged in a matrix, first data line selection means connected to the parallel data word line, second data line selection means connected to the parallel data bit line, Serial data word line Common to the third data line selection means to be connected, the fourth data line selection means to be connected to the serial data bit line, the parallel data input / output circuit, the serial data input / output circuit, and the memory cells in a plurality of consecutive rows. A bit line selector connected to the serial data bit line of the memory cell and selecting the memory cell of one row of the plurality of rows, and the memory cell of the memory cell common to the memory cells of other consecutive rows Another bit line selector that is connected to a first serial data bit line and selects one of the memory cells in the other plurality of rows, and the third data line selection means converts the memory cells to one column. When selecting the serial data word line to be connected, the bit line selector and the other bit line selector connect to the memory cells in a plurality of rows. Select serial serial data bit lines, it solves by performing transmission of a plurality of digit serial data.
本発明により、任意のワード幅Nのパラレルデータの入出力と、任意のディジット幅Ndのシリアルデータの入出力が可能なメモリを提供できる。 According to the present invention, a memory capable of inputting / outputting parallel data having an arbitrary word width N and serial data having an arbitrary digit width Nd can be provided.
例えば、異なるディジット幅を扱うシステムなどの場合、従来のディジット幅変換回路を使用する代わりに、本実施形態のメモリを使用する。これにより、従来の技術において問題であったスループットの低下と回路規模の増加をともに解決することができる。さらに、スループットの調整が容易に行える。 For example, in the case of a system that handles different digit widths, the memory of this embodiment is used instead of using the conventional digit width conversion circuit. As a result, it is possible to solve both of a decrease in throughput and an increase in circuit scale, which are problems in the conventional technology. Furthermore, the throughput can be easily adjusted.
具体的には、従来のメモリでは入出力にディジット幅変換回路を設ける必要があったが、本実施形態ではメモリとその回路の親和性に着目し、メモリにデータを入出力することによりディジット幅の変換を行うことができる。これによりディジット幅変換回路を別途設ける必要がなく、回路規模を縮小できる。これにより、以下の効果が得られる。 Specifically, in the conventional memory, it was necessary to provide a digit width conversion circuit for input / output, but in this embodiment, paying attention to the affinity between the memory and the circuit, the digit width is obtained by inputting / outputting data to / from the memory. Can be converted. As a result, it is not necessary to separately provide a digit width conversion circuit, and the circuit scale can be reduced. Thereby, the following effects are acquired.
第1に、メモリに対してデータの書き込みや読み出しを行う場合において、スループットを低下させることなく、データを最上位ビットまた最下位ビットのどちらの方向から読み出すか、を変えることができる。従来では、データを一度バッファに格納する必要があるためハードウェア量が増加し、スループットが低下する問題があった。しかし、本実施形態ではバッファが不要となるのでこの問題を解決できる。 First, when data is written to or read from the memory, it is possible to change whether the data is read from the most significant bit or the least significant bit without reducing the throughput. Conventionally, since it is necessary to store data once in a buffer, there is a problem that the amount of hardware increases and throughput decreases. However, since this embodiment does not require a buffer, this problem can be solved.
第2に、必要なディジット幅の構成を容易に設計できる。本実施形態において入出力するシリアルデータをディジット幅Ndとする場合、以下の2つの方法がある。すなわち、1つのメモリを使用する場合は、メモリセルアレイをNd分割し、分割したメモリセルアレイの対応する同一行にそれぞれ配線を接続する。またNd個のメモリを使用する場合には、それぞれのメモリの対応する同一行にそれぞれ配線を接続する。このように、任意のディジット幅Ndのシリアルデータに対応するメモリが容易に設計できる。 Second, the configuration of the required digit width can be easily designed. In the present embodiment, when the serial data input / output is set to the digit width Nd, there are the following two methods. That is, when one memory is used, the memory cell array is divided into Nd, and wirings are respectively connected to the same corresponding row of the divided memory cell array. When Nd memories are used, wiring is connected to the same corresponding row of each memory. Thus, a memory corresponding to serial data having an arbitrary digit width Nd can be easily designed.
本実施形態のメモリを、異なるディジット幅の装置を扱うシステムで使用することにより、ディジット幅変換回路を不要としたシステムを構築できる。 By using the memory of this embodiment in a system that handles devices having different digit widths, a system that does not require a digit width conversion circuit can be constructed.
第3に、メモリに対して、複数のシリアルデータをディジット単位で同時に入出力することができる。すなわち、メモリセルの複数行を1組とし、メモリセルに接続するシリアルデータビット線を選択するビット線セレクタを各組に接続する。同時に入出力できるシリアルデータは、ビット線セレクタの数と同数である。従って、メモリの構成自体は変更せず、ビット線セレクタの数、メモリの使用数や配線、およびシリアルデータ用のアドレスの変更によりディジット幅Ndを適宜選択することにより、任意のメモリバンド幅に設計することが可能であり、高いデータ転送バンド幅で変換を行うことができる。 Third, a plurality of serial data can be input / output to / from the memory simultaneously in digit units. That is, a plurality of rows of memory cells are set as one set, and a bit line selector for selecting a serial data bit line connected to the memory cell is connected to each set. The number of serial data that can be input / output simultaneously is the same as the number of bit line selectors. Therefore, the memory configuration itself is not changed, and it is designed to have an arbitrary memory bandwidth by appropriately selecting the digit width Nd by changing the number of bit line selectors, the number and wiring of memories used, and the address for serial data. Conversion can be performed with a high data transfer bandwidth.
第4に、データの読み出し開始位置を指定することで、データのシフトやローテートを行うことが可能になる。従って、システム内などでこれらの機能を実現する場合に生じるハードウェア量の増加を防ぐ事ができる。 Fourth, by designating the data read start position, it becomes possible to shift or rotate the data. Therefore, it is possible to prevent an increase in the amount of hardware that occurs when these functions are realized in the system or the like.
第5に、シリアルデータワード線を階段状に延在することにより、パラレルデータの書き込みとシリアルデータの読み出し、またはシリアルデータの書き込みとパラレルデータの読み出しの、パイプライン処理が可能となる。 Fifth, by extending the serial data word line stepwise, it is possible to perform pipeline processing of writing parallel data and reading serial data, or writing serial data and reading parallel data.
第6に、パラレルデータで書き込まれデータを、シリアルデータおよびパラレルデータのどちらでも読み出すことが可能である。また、シリアルデータで書き込まれたデータを、シリアルデータ、パラレルデータのどちらでも読み出すことが可能である。さらに、パラレルデータでの書き込み・読み出しと、シリアルデータでの書き込み・読み出しを同時に行うことができる。 Sixth, data written in parallel data can be read out as either serial data or parallel data. Further, data written as serial data can be read out as either serial data or parallel data. Furthermore, writing / reading with parallel data and writing / reading with serial data can be performed simultaneously.
本発明の実施形態を、図1から図15を参照して説明する。なお本実施形態においては半導体記憶装置として、各メモリセルがSRAM(Static Random Access Memory)により構成されるメモリ100を例に説明する。
An embodiment of the present invention will be described with reference to FIGS. In this embodiment, a semiconductor memory device will be described by taking as an example a
まず、図1から図10を参照して、第1の実施形態を説明する。 First, a first embodiment will be described with reference to FIGS.
図1は、本実施形態のメモリを示す概要図である。本実施形態のメモリ100は、パラレルデータワード線wlと、パラレルデータビット線blと、シリアルデータワード線wl_sおよび複数のシリアルデータビット線bl_sと、メモリセル400と、メモリセルアレイ4と、第1データ線選択手段1と、第2データ線選択手段5と、第3データ線選択手段3と、第4データ線選択手段8と、シリアルデータ入出力制御回路2と、パラレルデータ入出力回路6と、シリアルデータ入出力回路9とから構成される。
FIG. 1 is a schematic diagram showing the memory of this embodiment. The
パラレルデータワード線(以下パラレルワード線)wlおよび、パラレルデータビット線(以下パラレルビット線)blはパラレルデータPが伝送するデータ線である。これらはそれぞれ複数本設けられ、互いに直交して配置される。 A parallel data word line (hereinafter referred to as parallel word line) wl and a parallel data bit line (hereinafter referred to as parallel bit line) bl are data lines through which parallel data P is transmitted. A plurality of these are provided, and are arranged orthogonal to each other.
パラレルワード線wlとパラレルビット線blの交点にはメモリセル400が配置される。すなわちメモリセル400はm行×n列の行列状に配置され、1つのメモリセルアレイ4を構成する。
A
シリアルデータワード線(以下シリアルワード線)wl_sおよび、シリアルデータビット線(以下シリアルビット線)bl_sはシリアルデータSが伝送するデータ線である。これらはそれぞれ複数本設けられ、互いに直交して配置される。 A serial data word line (hereinafter referred to as serial word line) wl_s and a serial data bit line (hereinafter referred to as serial bit line) bl_s are data lines through which serial data S is transmitted. A plurality of these are provided, and are arranged orthogonal to each other.
パラレルデータPは、パラレルデータ用指定アドレスP_Addrにより選択されたメモリセル400に入出力される。パラレルデータ用指定アドレスP_Addrはパラレルデータ用行指定アドレスAddr_0と、パラレルデータ用列指定アドレスAddr_1からなる。
The parallel data P is input / output to / from the
シリアルデータSは、シリアルデータ用指定アドレスS_Addrにより選択されたメモリセル400に入出力される。シリアルデータ用指定アドレスS_Addrはシリアルデータ用行指定アドレスAddr_3と、シリアルデータ用列指定アドレスAddr_2からなる。
The serial data S is input / output to / from the
メモリセル400についての詳細は後述するが、シリアルビット線bl_sはパラレルワード線wlと平行に設けられ、パラレルビット線blと直交する。またシリアルワード線wl_sはパラレルビット線blと平行に設けられ、パラレルワード線wlと直交する。
Although details of the
パラレルワード線wlは、第1データ線選択手段であるパラレルデータ用行アドレスデコーダ(以下パラレル行デコーダ)1に接続する。パラレル行デコーダ1には、パラレルデータ用行指定アドレスAddr_0が入力される。パラレルデータ用行指定アドレスAddr_0は、例えば4ビットとする。
The parallel word line wl is connected to a parallel data row address decoder (hereinafter referred to as a parallel row decoder) 1 which is a first data line selection means. The
一方パラレルビット線blは、第2データ線選択手段5に接続する。第2データ線選択手段5は、パラレルデータ用列アドレスデコーダ(以下パラレル列デコーダ)50と複数のパラレルデータ用ビット線セレクタ(以下パラレルビット線セレクタ)51を有する。詳細にはパラレルビット線blは、複数列を1組として1つのパラレルビット線セレクタ51に接続する。第2データ線選択手段5には、パラレルデータ用列指定アドレスAddr_1が入力される。パラレルデータ用列指定アドレスAddr_1は例えば2ビットで入力され、パラレル列デコーダ50により4ビットに変換されるとする。
On the other hand, the parallel bit line bl is connected to the second data line selection means 5. The second data line selection means 5 includes a parallel data column address decoder (hereinafter referred to as parallel column decoder) 50 and a plurality of parallel data bit line selectors (hereinafter referred to as parallel bit line selectors) 51. Specifically, the parallel bit lines bl are connected to one parallel
シリアルワード線wl_sは第3データ線選択手段3に接続する。第3データ線選択手段3は、シリアルデータ用列アドレスデコーダ(以下シリアル列デコーダ)30と、複数のシリアルデータ用ワード線セレクタ(以下シリアルワード線セレクタ)31を有する。詳細にはシリアルワード線wl_sは、複数列を1組として1つのシリアルワード線セレクタ31に接続する。第3データ線選択手段3には、シリアルデータ用列指定アドレスAddr_2が入力される。シリアルデータ用列指定アドレスAddr_2は例えば2ビットとする。
The serial word line wl_s is connected to the third data
シリアルビット線bl_sは第4データ線選択手段8に接続する。第4データ線選択手段8は、シリアルデータ用行アドレスデコーダ(以下シリアル行デコーダ)80と、複数のシリアルデータ用ビット線セレクタ(以下シリアルビット線セレクタ)81を有する。詳細にはシリアルビット線bl_sは、複数行を1組として1つのシリアルビット線セレクタ81に接続する。第4データ線選択手段8には、シリアルデータ用行指定アドレスAddr_3が入力される。シリアルデータ用行指定アドレスAddr_3は例えば2ビットとする。
The serial bit line bl_s is connected to the fourth data
シリアルデータ入出力制御回路2は、第3データ線選択手段3に接続し、読み出しまたは書き込みのビット開始位置指定信号Act_setおよびデータの読み出し方向を指定するLSB/MSB選択信号LM_SELが入力される。
The serial data input /
パラレルデータ入出力回路6は、第2データ線選択手段5に接続し、書き込みおよび読み出しを制御するパラレルデータ用ライトイネーブルP_WEおよびパラレルデータ用リードイネーブルP_REが入力される。
The parallel data input /
シリアルデータ入出力回路9は、第4データ線選択手段8に接続し、書き込みおよび読み出しを制御するシリアルデータ用ライトイネーブルS_WEおよびシリアルデータ用リードイネーブルS_REが入力される。
The serial data input /
またパラレルビット線セレクタ51には、パラレルデータ入出力回路6を介してパラレルデータ伝送用配線11が接続する。パラレルデータ伝送用配線11は、パラレルビット線セレクタ51に対応し、これと同数設けられる。
A parallel
シリアルビット線セレクタ81には、シリアルデータ入出力回路9を介してシリアルデータ伝送用配線12が接続する。シリアルデータ伝送用配線12は、シリアルビット線セレクタ81に対応し、これと同数設けられる。
A serial
図2を参照して、本実施形態のメモリセル400について説明する。図2(A)はメモリセルアレイ4を構成する複数のメモリセル400の概略を示す回路図であり、図2(B)は、1つのメモリセル400の一例を示す回路図である。
With reference to FIG. 2, the
パラレルワード線wlとパラレルビット線blが直交して延在し、パラレルワード線wlに直交してシリアルワード線wl_sが延在し、パラレルビット線blに直交してシリアルビット線bl_sが延在する。 The parallel word line wl and the parallel bit line bl extend orthogonally, the serial word line wl_s extends orthogonally to the parallel word line wl, and the serial bit line bl_s extends orthogonally to the parallel bit line bl. .
メモリセル400は、パラレルワード線wlおよびパラレルビット線blの交点に配置され、フリップフロップ回路を構成するトランジスタTr1、Tr2に加えてパストランジスタTr3、Tr4を接続する。トランジスタTr1、Tr2はゲートがパラレルワード線wlに接続し、それぞれのソース(またはドレイン)が、2本のパラレルビット線blにそれぞれ接続する。パストランジスタTr3、Tr4はゲートがシリアルワード線wl_sに接続し、それぞれのソース(またはドレイン)が2本のシリアルビット線bl_sにそれぞれ接続する。パストランジスタTr3、Tr4のドレイン(またはソース)は、フリップフロップ回路のトランジスタTr1、Tr2のドレイン(またはソース)に接続する。
The
図2(B)を参照し、パラレルデータは、パラレルワード線wlがHレベルのとき、パラレルビット線blに伝送される。これにより、メモリセル400に対して1ビットの書き込みまたは読み出しが可能となる。またシリアルデータは、シリアルワード線wl_sがHレベルのとき、シリアルビット線bl_sに伝送される。これにより、メモリセル400に対して1ビットの書き込みまたは読み出しが可能となる。
Referring to FIG. 2B, parallel data is transmitted to parallel bit line bl when parallel word line wl is at the H level. As a result, one bit can be written to or read from the
このメモリセル400によりメモリセルアレイ4を構成した場合、行方向に並ぶメモリセル400は、パラレルワード線wlを、列方向に並ぶメモリセル400はシリアルワード線wl_sをそれぞれ共有する。したがって、行列状に配置されたメモリセル400の、行方向と列方向の2種類の方向でデータの読み出しと書き込みが可能になる。
When the
例えば、行方向に1ワード分のデータを格納した場合、列方向にデータを読み出すとパラレルデータの1ビット分を読み出すことができる。 For example, when data for one word is stored in the row direction, one bit of parallel data can be read by reading the data in the column direction.
尚、ここではSRAMを例に示しているので、パラレルビットラインblおよびシリアルビットラインbl_sは1つのメモリセル400に対して2本配置される。
Here, since SRAM is shown as an example, two parallel bit lines bl and two serial bit lines bl_s are arranged for one
このように本実施形態では、各メモリセル400に対して行方向と列方向でアクセスすることができ、パラレルデータおよびシリアルデータ(ディジットシリアルデータ)のいずれでも読み出しおよび書き込みが可能である。そして更に、各メモリセル400のアドレスの割り当てを工夫することにより、複数のメモリセル400に対して同時にアクセスすることができる。これにより、1つのメモリセルアレイ4に対して複数のディジットシリアルデータを同時に入力または出力することができる。以下これについて説明する。
As described above, in this embodiment, each
図3から図5は、本実施形態のメモリセル400に割り当てられたアドレスとそのアクセス方法の一例を示す図である。図3および図4は、メモリセル400に割り当てられたアドレスを説明する図であり、図5は、パラレルデータおよびシリアルデータメモリセル400を参照する方法を示す。メモリセル400は16行16列に配置されるとする。
3 to 5 are diagrams showing an example of an address assigned to the
図3の如く、本実施形態の場合、メモリセル400は6ビットのアドレスが割り当てられる。
As shown in FIG. 3, in the case of this embodiment, the
同じメモリセル400であるが、パラレルデータとシリアルデータで参照するアドレス(ビット位置)が異なっている。すなわち、パラレルデータを参照する場合は6ビットのパラレルデータ用指定アドレスP_Addrである。パラレルデータ用指定アドレスP_Addrの上位2ビットはパラレルデータの列を選択する際に使用するパラレルデータ用列指定アドレスAddr_1である。また下位4ビットはパラレルデータの行を選択する際使用されるにパラレルデータ用行指定アドレスAddr_0である。
Although the
一方、シリアルデータを参照する場合は4ビットのシリアルデータ用指定アドレスS_Addrを用いる。つまり、シリアルデータ用指定アドレスS_Addrの上位2ビットはシリアルデータの列を選択する際に使用されるシリアルデータ用列指定アドレスAddr_2であり、3ビット目および4ビット目が、シリアルデータの行を選択する際に使用されるシリアルデータ用行指定アドレスAddr_3である。 On the other hand, when referring to serial data, a 4-bit serial data designation address S_Addr is used. That is, the upper 2 bits of the serial data specification address S_Addr are the serial data column specification address Addr_2 used when selecting the serial data column, and the third and fourth bits select the serial data row. This is the row designation address Addr_3 for serial data used in the process.
つまり、本実施形態ではパラレルデータ用に割り当てられた行アドレスの上位ビットと、シリアルデータ用に割り当てられた行アドレスを同一とし、シリアルデータ用行指定アドレスAddr_3はパラレルデータ用行指定アドレスAddr_0の上位2ビットと同一のアドレスを使用する。 That is, in this embodiment, the upper bits of the row address assigned for parallel data and the row address assigned for serial data are the same, and the serial data row designation address Addr_3 is higher than the parallel data row designation address Addr_0. The same address as 2 bits is used.
また、シリアルデータ用に割り当てられた列アドレスとパラレルデータ用に割り当てられた列アドレスを同一とし、シリアルデータ用列指定アドレスAddr_2とパラレルデータ用列指定アドレスAddr_1は同一のアドレスを使用する。 Further, the column address assigned for serial data is the same as the column address assigned for parallel data, and the same address is used for the serial data column designation address Addr_2 and the parallel data column designation address Addr_1.
図4の如く、メモリセル400は、例えば16行×16列に配置される。図において、点線、細線、一点鎖線、二点鎖線の枠は図3の枠と一致させた。
As shown in FIG. 4, the
本実施形態では、シリアルデータで処理を行う場合、連続したデータでの処理を可能にする必要があるため、アドレスの割り当てを工夫する。 In the present embodiment, when processing is performed with serial data, it is necessary to enable processing with continuous data, and therefore address allocation is devised.
パラレルデータの行は、複数行(例えば4行)を1組としたグループ(一点鎖線の枠)と、各メモリセル400を示す細線の枠で選択できるようアドレスを割り当てる。つまり4ビットのパラレルデータ用行指定アドレスAddr_0の上位2ビットで細線の枠のアドレスを参照し、下位2ビットで一点鎖線の枠のアドレスを参照できるようアドレスを割り当てる。
Addresses are assigned to the rows of parallel data so that they can be selected by a group (one-dot chain line frame) in which a plurality of rows (for example, four rows) are a set and a thin line frame indicating each
そして、パラレルデータの列は、点線の枠で選択できるようアドレスを割り当てる。つまりパラレルデータ用列指定アドレスAddr_1で点線の枠のアドレスを参照できるよう、アドレスを割り当てる。なお、後述するがパラレルデータの列は、第2データ線選択手段5により複数列(例えば4列)1組でグループ化されており、1つのパラレルデータ用列指定アドレスAddr_1により点線の枠の複数列(各組1列)が選択できる。 The parallel data column is assigned an address so that it can be selected by a dotted frame. That is, the address is assigned so that the address of the dotted frame can be referred to by the parallel data column designation address Addr_1. As will be described later, the parallel data columns are grouped into a set of a plurality of columns (for example, four columns) by the second data line selection means 5, and a plurality of dotted frames are formed by one parallel data column designation address Addr_1. A column (one column for each group) can be selected.
尚、パラレルデータ用に割り当てられたアドレスの配置の変更は、パラレルデータ伝送用配線(ここでは不図示)を変更する。 Note that the change in the arrangement of the addresses allocated for parallel data changes the parallel data transmission wiring (not shown here).
一方、シリアルデータの行は、二点鎖線の枠で選択できるよう、つまりシリアルデータ用行指定アドレスAddr_3で二点鎖線の枠のアドレスを参照できるようアドレスを割り当てる。また列は、点線の枠で選択できるよう、つまりシリアルデータ用列指定アドレスAddr_2で点線の枠のアドレスを参照できるよう、アドレスを割り当てる。 On the other hand, the serial data row is assigned an address so that it can be selected by a two-dot chain line, that is, the serial data row designation address Addr_3 can refer to the address of the two-dot chain line. The column is assigned an address so that it can be selected by a dotted frame, that is, the address of the dotted frame can be referred to by the serial data column designation address Addr_2.
これも後述するが、シリアルデータの行は、第4データ線選択手段8により複数行(例えば4行)1組でグループ化されており、1つのシリアルデータ用行指定アドレスAddr_3によって、組毎に1行が選択される。シリアルデータ用行指定アドレスAddr_3は各組何行目を選択するかの信号にデコードされる。 As will be described later, the serial data rows are grouped into a set of a plurality of rows (for example, 4 rows) by the fourth data line selection means 8, and each serial data row designation address Addr_3 is used for each set. One row is selected. The serial data row designation address Addr_3 is decoded into a signal indicating which row of each set is selected.
シリアルデータの行も同様に、第3データ線選択手段3によって、複数列(例えば4列)1組でグループ化されており、シリアルデータ用列指定アドレスAddr_2で1列を選択する。これにより、選択された列の各組の同じ行に配置された複数のメモリセル400を同時にアクセスすることができる。
Similarly, the rows of serial data are grouped into a set of a plurality of columns (for example, 4 columns) by the third data line selection means 3, and one column is selected by the serial data column designation address Addr_2. Thereby, a plurality of
図5は、パラレルデータおよびシリアルデータでのメモリセル400とアクセス方法を示す。アドレスの割り当ては図4と同様である。
FIG. 5 shows a
図5(A)がパラレルデータの場合であり、例えば、パラレルデータ用行指定アドレスAddr_0を“0000”とし、パラレルデータ用列指定アドレスAddr_1を“00”とする。 FIG. 5A shows the case of parallel data. For example, the parallel data row designation address Addr_0 is set to “0000” and the parallel data column designation address Addr_1 is set to “00”.
一点鎖線の枠で囲まれた4行1組は、パラレルデータ用行指定アドレスAddr_0の下位2ビットで参照するアドレスが一致する組である。つまりパラレルデータ用行指定アドレスAddr_0により、一点鎖線の枠で囲まれ、割り当てられたアドレスの1ビット目および2ビット目が“00”の1組(4行)を選択する(a)。その後、パラレルデータ用列指定アドレスAddr_1により点線の枠で囲まれたメモリセル400のうち、割り当てられたアドレスの5ビット目および6ビット目が同一のアドレス“00”である複数列を選択する。詳細には、メモリセル400が4列1組でグループ化されているので、各組毎に1列目を選択する。
A set of four rows surrounded by a one-dot chain line is a set in which the addresses referred to by the lower 2 bits of the row designation address Addr_0 for parallel data match. That is, one set (four rows) surrounded by a one-dot chain line with the parallel data row designation address Addr_0 and the first and second bits of the assigned address being “00” is selected (a). After that, among the
これにより、太実線の枠で囲まれた、4個×複数列のメモリセル400が選択される(b)。更に、パラレルデータ用行指定アドレスAddr_0の上位2ビットによって太線の枠内の各メモリセル400のうち割り当てられたアドレスの3ビット目および4ビット目が“00”である複数個(各組1個)のメモリセル400を選択する。これによりハッチングで示すメモリセル400が選択され(c)、パラレルデータの読み出しまたは書き込みを行う。
As a result, 4 × multiple columns of
つまり、所定のワード幅のパラレルデータを書き込む場合には、ハッチングを付した複数のメモリセル400に、1ワードを分配して格納する。また読み出す場合にはハッチングを付したメモリセル400をアクセスし、各メモリセル400のビットを結合して1ワードのデータの読み出しを行う。この詳細については後述する。
That is, when writing parallel data having a predetermined word width, one word is distributed and stored in a plurality of hatched
一方、図5(B)はシリアルデータをアクセスする場合であり、例えば、シリアルデータ用行指定アドレスAddr_3(パラレルデータ用行指定アドレスAddr_0の上位2ビットと同一)を“00”とし、シリアルデータ用列指定アドレスAddr_2を“01”とする。これらも、各組毎に何行目あるいは何列目を選択するかの信号にデコードされる。 On the other hand, FIG. 5B shows a case where serial data is accessed. For example, the serial data row designation address Addr_3 (same as the upper 2 bits of the parallel data row designation address Addr_0) is set to “00” for serial data use. The column designation address Addr_2 is set to “01”. These are also decoded into signals indicating which row or column is selected for each group.
シリアルデータ用列指定アドレスAddr_2により、点線の枠で囲まれたメモリセル400の各組(4列1組)毎に1列目を選択する。これにより、割り当てられたアドレスの5ビット目および6ビット目が同一(“00”)の複数列のメモリセルが選択される(a)。次にシリアルデータ用行指定アドレスAddr_3により、4行1組の各組毎に二点鎖線の枠で囲んだ2行目を選択する。これにより割り当てられたアドレスの3ビット目および4ビット目が同一のアドレス(“01”)の複数行のメモリセル400が選択される(b)。このようにして、ハッチングで示す如く、1列につき1つのシリアルデータ用行指定アドレスAddr_3により、複数個のメモリセル400(太線:c)を選択する。
The first column is selected for each set (four columns and one set) of
つまり、これらにそれぞれシリアルデータ伝送用配線を接続することにより、1列ごとに1つのメモリセルアレイ4から同時に複数個(ここでは4個)のディジットシリアルデータを読み出しまたは書き込みを行うことができる。
That is, by connecting serial data transmission lines to each of them, a plurality (four in this case) of digit serial data can be read or written simultaneously from one
図6から図8と図1を参照し、本実施形態のメモリ100の動作について説明する。
The operation of the
メモリ100は、図1に示すものと同様であるが、メモリセルアレイ4は、一例として16行×16列とする。また、1ワードのデータのビット幅を4ビットとし、データの出力数はパラレルデータは1エントリとする。シリアルデータの出力数は、尚本実施形態では変更可能であるが、まず4エントリとして動作を説明する。
The
図1を参照し、パラレルデータPはパラレル行デコーダ1により1行が選択され、第2データ線選択手段(パラレル列デコーダ50、パラレルビット線セレクタ51a〜51d)により4列(各組1列)が選択されて、4個のメモリセル400にアクセスできる(図5(A)参照)。以下詳細に説明する。
Referring to FIG. 1, one row of parallel data P is selected by a
パラレル行デコーダ1には4ビットのパラレルデータ用行指定アドレスAddr_0が入力される。パラレル行デコーダ1はパラレルデータ用行指定アドレスAddr_0により、16行の中から1行を選択する。
The
図6は、第2データ線選択手段5の拡大図である。 FIG. 6 is an enlarged view of the second data line selection means 5.
図6(A)の如くパラレル列デコーダ50には、パラレルデータ用列指定アドレスAddr_1が入力される。パラレルデータ用列指定アドレスAddr_1は2ビットであるが、パラレル列デコーダ50によって4ビットにデコードされる。この4ビットの信号により4列1組のうちどの列を選択し、パラレルデータ入出力回路6に接続するかを制御する。
As shown in FIG. 6A, the
第2データ線選択手段5は、複数(ここでは4個)のパラレルビット線セレクタ51a〜51dを有する。パラレルビット線セレクタ51a〜51dは、メモリセル400の4列を1組として各組毎に設けられる。4本のアドレス信号線13はパラレルビット線セレクタ51a〜51dに接続する。
The second data line selection means 5 has a plurality (here, four) of parallel
メモリセル400は、図3の如くアドレスが割り当てられており、列の選択では各組ごとにアドレスの一部が共有できる。つまり同一のパラレルデータ用列指定アドレスAddr_1によりパラレルビット線セレクタ51a〜51dで同一の列が選択できる。例えば、パラレルデータ用列指定アドレスAddr_1が“01”の場合、パラレル列デコーダ50により“0100”にデコードされ、4本のアドレス信号線13にそれぞれ入力される。そして各組の2列目が選択される。このとき、選択された2列目のメモリセル400の3ビット目および4ビット目は同一アドレス“01”(図4:細線)に割り当てられており、1エントリのデータで1ワード=4ビットを処理することができる。
Addresses are assigned to the
尚、パラレルデータのアクセスを多ポートにすることにより、1エントリ×ポート数のデータを処理できる。また、1組の列数を変更することにより、ワード幅を変更できる。 By making parallel data access multiple ports, data of 1 entry × number of ports can be processed. Further, the word width can be changed by changing the number of columns in one set.
図6(B)は、2列を1組とした場合を示す。この場合は2列のうちいずれを選択するかを制御すればよいので、アドレス信号線13は2本でよく、パラレルデータ用列指定アドレスAddr_1は1ビットとなる。そして1エントリのデータで1ワード=8ビットを処理することができる。
FIG. 6B shows a case where two rows are set as one set. In this case, since it is sufficient to control which of the two columns is selected, the number of the
すなわち、一度に処理できるデータ量は、(メモリセル400列数/1組に割り当てる列数)ビットである。
That is, the amount of data that can be processed at one time is (number of columns of
図1を参照し、パラレルデータ入出力回路6は、データの方向を指定する。第2データ線選択手段5(パラレルビット線セレクタ51a〜51d)では、各組毎にどの列にデータを伝送するかを制御し、パラレルデータ入出力回路6ではデータの方向(読み出しか書き込み)を制御する。また、パラレルデータ入出力回路6は、センスアンプによって2ビットの電位差情報からメモリセル400の値を判断し、0か1に変換する。ここで2ビットの電位差情報は、各メモリセル400が接続する2本のパラレルビット線blに伝達する2ビットである(図2(B)参照)。
Referring to FIG. 1, parallel data input /
データの方向は、パラレルデータ用ライトイネーブルP_WEおよびパラレルデータ用リードイネーブルP_REにより制御する。パラレルデータ用ライトイネーブルP_WE=1のとき、2本のパラレルビット線blにデータを伝送し、1つのメモリセル400にデータを格納する。また、パラレルデータ用リードイネーブルP_RE=1のとき、アドレスで指定されたメモリセル400の2本のパラレルビット線blからデータを読み出す。
The direction of data is controlled by a parallel data write enable P_WE and a parallel data read enable P_RE. When the parallel data write enable P_WE = 1, the data is transmitted to the two parallel bit lines bl and the data is stored in one
シリアルデータの入出力は、シリアル入出力制御回路2によりシリアルデータの読み出し開始位置を決定し、第3データ線選択手段3により1列を選択し、第4データ線選択手段8により複数行(各組1行)を選択する。これにより複数個のメモリセルついてシリアルデータの入出力が可能となる。以下詳細に説明する。
For serial data input / output, the serial input /
図7は、シリアル入出力制御回路2および第3データ線選択手段3を示す拡大図である。
FIG. 7 is an enlarged view showing the serial input /
本実施形態のシリアル入出力制御回路2は、読み出しまたは書き込みのビット開始位置指定信号Act_setをデコードすることにより、シリアルデータを読み出す(書き込む:以下同様)開始位置を決定する。LSB/MSB選択信号LM_SELは、データを読み出す方向を指定する。
The serial input /
ビット開始位置指定信号Act_setは2ビットで入力され、いずれか1ビットが“1”の4ビットの信号にデコードされる。例えば入力が“00”は“1000”にデコードされ、“01”は“0100”、“10”は“0010”、“11”は“0001”にデコードされる。 The bit start position designation signal Act_set is input as 2 bits, and any one bit is decoded into a 4-bit signal of “1”. For example, the input “00” is decoded to “1000”, “01” is decoded to “0100”, “10” is decoded to “0010”, and “11” is decoded to “0001”.
第3データ線選択手段3には、2ビットのシリアルデータ用列指定アドレスAddr_2が入力される。シリアルデータ用列指定アドレスAddr_2は2ビットであるが、シリアル列デコーダ30によって、ビット開始位置指定信号Act_setと同様に4ビットにデコードされる。この4ビットの信号によりどの列を選択し、シリアル入出力制御回路2に接続するかを制御する。
The third data line selection means 3 is supplied with a 2-bit serial data column designation address Addr_2. The serial data column designation address Addr_2 is 2 bits, but is decoded by the
第3データ線選択手段3は、複数(ここでは4個)のシリアルワード線セレクタ31a〜31dを有する。シリアルワード線セレクタ31a〜31dは、メモリセル400の4列を1組として各組毎に設けられる。デコードされた4ビットの信号が伝送される4本のアドレス信号線14は、シリアルワード線セレクタ31a〜31dに接続する。
The third data line selection means 3 has a plurality (four in this case) of serial
メモリセル400は、図3の如くアドレスが割り当てられており、各組ごとにアドレスの一部が共有できる。つまり同一のシリアルデータ用列指定アドレスAddr_2によりシリアルワード線セレクタ31a〜31dで同一の列が選択できる。例えば、シリアルデータ用列指定アドレスAddr_2が“01”の場合、シリアル列デコーダ30により“0100”にデコードされ、4本のアドレス信号線14にそれぞれ入力される。そして各組の、この場合右から2列目が選択される。この選択された列は、5ビット目および6ビット目に同じアドレスが割り当てられた列(図4:点線の枠)である。ここでは、選択された2列目のメモリセル400の5ビット目および6ビット目は同一アドレス“10”に割り当てられている。尚、図では1行分のメモリセル401、402、403、404のみ示しているが、これらと同列のメモリセル400が全て選択されている。
The
シリアルワード線セレクタ31a〜31dが2列目を選択した状態で、後述の第4データ線選択手段8により複数行(4行1組で各組1行)が選択される。例えば各組の1行目が選択された場合、太枠のメモリセル401、402、403、404が選択される。選択された行は、図4(B)の二点鎖線の枠で囲まれた行であり、ここでの図示は省略するが他の組の1行目も同様に選択されている。
In a state where the serial
この状態で、シリアル入出力制御回路2によって、シリアルワード線セレクタ31a〜31dのいずれか1つ(1組1列)が選択される。すなわち、ビット開始位置指定信号Act_setが例えば“00”の場合、“1000”にデコードされ、1組目のシリアルワード線セレクタ31aが選択される。これにより、シリアルワード線セレクタ31aが選択する2列目のメモリセル401が選択される。このとき、4行1組毎に、1行目でシリアルワード線セレクタ31aが選択する2列目のメモリセルが選択されている(図4(B)太枠参照)。従って、シリアルデータ入出力回路9に4本のシリアルデータ伝送用配線を接続することにより、1つのメモリセルアレイ4から同時に複数(4個)のディジットシリアルデータを入出力することができる。
In this state, the serial input /
シリアル入出力制御回路2から出力される制御信号は1サイクル毎である。したがって、次のサイクルでは各組2列目、各組1行目の選択はそのままに、シリアル入出力制御回路2内で2組目のシリアルワード線セレクタ31bを選択する信号が生成され、4行1組毎に、シリアルワード線セレクタ31bが選択する1行目2列目のメモリセル402が選択される。
The control signal output from the serial input /
ビット開始位置指定信号Act_setを一度指定することによって、順番に全てのシリアルワード線セレクタ31a〜31dが選択されると、新たなシリアルデータ用列指定アドレスAddr_2によって、各組から1列が選択され、シリアルデータ用行指定アドレスAddr_3によって各組から1行が選択される。
When all the serial
尚、説明は省略したが、シリアル入出力制御回路2は、クロックに同期しているため、システムクロックとシステムリセットが必要である。
Although not described, the serial input /
上記の如く、シリアルワード線wl_sを1サイクル毎に順番にアクティブにすることで、シリアルデータの読み書きを制御しているため、シリアルワード線wl_sをアクティブにする方向を制御すればシリアルデータを読み書きする方向を指定することができる。 As described above, serial data read / write is controlled by sequentially activating the serial word line wl_s every cycle. Therefore, if the direction in which the serial word line wl_s is activated is controlled, the serial data is read / written. You can specify the direction.
データを読み書きする方向を指定するには、シリアル用入出力制御回路2にどちらの方向から処理をするかを指定する信号(LSB、MSB選択信号LM_SEL)を入力する。これにより、シリアルデータを読み書きする方向を任意に指定できる。つまり、LSB(Least Significant bit:最下位ビット)およびMSB(Most Significant bit:最上位ビット)のどちらからでも読み書きすることができる。
In order to specify the direction in which data is read and written, a signal (LSB, MSB selection signal LM_SEL) is input to the serial input /
また、読み出し開始位置を指定し、データの一番端まで読み終えた後、まだ読み終えていないデータの先頭から読み出すことでデータのシフトまたはローテートを実現する。読み出しデータのシフト方法はシリアルデータ用リードイネーブル信号S_REを使用して行う。
データのシフト方法は読み出し開始位置を指定し、シリアルデータ用リードイネーブル信号S_REが”1”(Hレベル)の時のみデータを読み出させる。シリアルデータ用信号が”0”(Lレベル)のときは、メモリ100外のシステム、あるいは装置で判断するなどし、メモリ100からの出力は0であるとすることで実現できる。
In addition, after the reading start position is designated and reading is completed up to the end of the data, the data is shifted or rotated by reading from the head of the data that has not been read yet. The read data is shifted by using the serial data read enable signal S_RE.
The data shift method designates the read start position, and the data is read only when the serial data read enable signal S_RE is “1” (H level). When the serial data signal is “0” (L level), the determination can be made by a system or device outside the
図8は、第4データ線選択手段8の拡大図である。 FIG. 8 is an enlarged view of the fourth data line selection means 8.
図8(A)の如くシリアル行デコーダ80には、シリアルデータ用行指定アドレスAddr_3が入力される。シリアルデータ用行指定アドレスAddr_3は2ビットであるが、シリアル行デコーダ80によって4ビットにデコードされる。この4ビットの信号によりどの列を選択し、シリアルデータ入出力回9に接続するかを制御する。
As shown in FIG. 8A, the
第4データ線選択手段5は、複数(ここでは4個)のシリアルビット線セレクタ81a〜81dを有する。シリアルビット線セレクタ81a〜81dは、メモリセル400の4行を1組として各組毎に設けられる。4本のアドレス信号線15はシリアルビット線セレクタ81a〜81dに接続する。
The fourth data line selection means 5 has a plurality (four in this case) of serial
メモリセル400は、図3の如くアドレスが割り当てられており、各組ごとにアドレスの一部が共有できる。つまり同一のシリアルデータ用行指定アドレスAddr_3によりシリアルビット線セレクタ81a〜81dで同一の列が選択できる。例えば、シリアルデータ用行指定アドレスAddr_3が“01”の場合、シリアル行デコーダ80により“0100”にデコードされ、4本のアドレス信号線15にそれぞれ入力される。そして各組の2行目が選択される。このとき、選択された2行目のメモリセル400の3ビット目および4ビット目は同一アドレス(図4(B)の二点鎖線の枠)に割り当てられている。すなわち、図8で示したように、シリアルデータ入出力制御回路2と第3データ線選択手段3によって1列を選択することにより、交差した位置にある4つのメモリセルにアクセス可能となり、4ビットのシリアルデータを同時に処理することができる。
The
つまり、シリアルビット線セレクタ81a〜81dの構成(1組の行数)を変更することにより、同時に処理するシリアルデータの数を変更できる。
That is, the number of serial data to be processed at the same time can be changed by changing the configuration of the serial
図8(B)は、2行を1組とした場合を示す。この場合は2行のうちいずれを選択するかを制御すればよいので、アドレス信号線15は1本でよく、シリアルデータ用行指定アドレスAddr_3は1ビットとなる。これにより、1度に処理するシリアルデータの数を8個(8ビット)に変更でき、容易にバンド幅を調整することができる。
FIG. 8B shows a case where two rows are taken as one set. In this case, since it is sufficient to control which of the two rows is selected, one
すなわち、一度に処理できるシリアルデータの数は、(メモリセル行数/1組に割り当てる行数)個(ビット)であり、メモリセルアレイの行数が最大である。 That is, the number of serial data that can be processed at one time is (number of memory cell rows / number of rows allocated to one set) (bits), and the number of rows in the memory cell array is maximum.
シリアルデータ入出力回路9の動作は、パラレルデータ入出力回路6と同様である。すなわち、シリアルデータ入出力回路9は、第4データ線選択手段8(シリアルビット線セレクタ81a〜81d)に接続し、シリアルデータ用ライトイネーブルS_WEおよびシリアルデータ用リードイネーブルS_REによりデータの方向を制御する。また、センスアンプによって2ビットの電位差情報からメモリセル400の値を判断し、0か1に変換する。ここで2ビットの電位差情報は、各メモリセル400が接続する2本のシリアルビット線bl_sに伝達する2ビットである(図2(B)参照)。これ以外はパラレルデータ入出力回路6と同様であるので説明は省略する。
The operation of the serial data input /
このように、本実施形態のメモリ100は、パラレルデータ用列指定アドレスAddr_1とシリアルデータ用列指定アドレスAddr_2を同一のアドレスとし、シリアルデータ用行指定アドレスAddr_3をパラレルデータ用行指定アドレスAddr_0の上位2ビットと同一にすることにより、1つのメモリセルアレイ4でパラレルデータの入出力およびシリアルデータの入出力が可能である。また、格納されたパラレルデータをシリアルデータで読み出すことができ、その逆も可能である。更に1つのメモリセルアレイ4において同時に複数個(ビット)のディジットシリアルデータを処理することができる。
As described above, the
つまり、このメモリセルアレイ4を複数配置することにより、任意のディジット幅Ndの複数のシリアルデータを同時に処理することもできる。以下これについて説明する。
That is, by arranging a plurality of
図9から図12は第2の実施形態を示す。第2の実施形態は、ディジット幅Ndの複数のシリアルデータを同時処理する場合であり、その一例として、メモリ100に1ワードNビットのパラレルデータを格納し、ディジット幅Ndで出力する場合について説明する。
9 to 12 show a second embodiment. The second embodiment is a case where a plurality of serial data having a digit width Nd is simultaneously processed. As an example, a case where parallel data of 1 word N bits is stored in the
ディジット幅Ndのシリアルデータを処理する場合には、第1の実施形態のメモリ100を、Nd個使用する。そして1ワードのパラレルデータをNd個のメモリ100に分配して格納する。
When processing serial data having a digit width Nd,
図9は、Nd個のメモリ100に1ワードのパラレルデータを分配して格納する方法を示す。
FIG. 9 shows a method of distributing and storing 1-word parallel data in
Nd個のメモリメモリ100_i(i=1、2・・Nd)を並べ、一つ目のメモリ100_1には、1ワードの所定のビット位置のみを格納する。ここで所定のビット位置とは、一つ目のメモリ100_1の場合、Nd×iの数列式でiに0から始まる自然数を代入した計算結果により得られる。つまり、1ワードのビット位置Nd×iビットのみをメモリ100_1に格納する。 Nd memory memories 100_i (i = 1, 2,... Nd) are arranged, and only a predetermined bit position of one word is stored in the first memory 100_1. Here, in the case of the first memory 100_1, the predetermined bit position is obtained by a calculation result obtained by substituting a natural number starting from 0 for i in a sequence formula of Nd × i. That is, only the bit position Nd × i bits of one word is stored in the memory 100_1.
同様に二つ目のメモリ100_2には、同じ1ワードのビット位置Nd×i+1ビットのみ、三つ目のメモリ100_3には、ビット位置Nd×i+2ビットのみ、・・・Nd個目のメモリ100_Ndにはビット位置Nd×i+(Nd−1))ビットのみを格納する。 Similarly, only the bit position Nd × i + 1 bit of the same 1 word is stored in the second memory 100_2, only the bit position Nd × i + 2 bit is stored in the third memory 100_3,... Stores only bit position Nd × i + (Nd−1)) bits.
例をあげると、ディジット幅Nd=4のシリアルデータを出力する場合、4つのメモリ100_1から100_4を使用する。この場合、一つ目のメモリ100_1は、4iであるので、1ワードのビット位置{0,4,8,12・・・}のデータをメモリセル400に格納する。二つ目のメモリ100_2は、4i+1なので、ビット位置{1,5,9,13・・・}ビットを格納し、三つ目のメモリ100_3は4i+2となるので、ビット位置{2,6,10,14・・・}ビットを格納し、4つ目のメモリ100_4では4i+3となるので、ビット位置{3,7,11,15・・・}ビットをそれぞれ格納する。このような分配は、パラレルデータ伝送用配線11によって行う。
For example, when serial data having a digit width Nd = 4 is output, four memories 100_1 to 100_4 are used. In this case, since the first memory 100_1 is 4i, the data at the bit position {0, 4, 8, 12...} Of one word is stored in the
このような方法で格納されたメモリ100_1〜100_Ndを、矢印の如く列方向から参照すると、ビット位置が連続する。つまり一つ目のメモリ100_1でビット位置0ビットが格納されている列を参照すると、二つ目のメモリ100_2では同列にビット位置1ビットが格納され、三つ目のメモリ100_3はビット位置2ビットが格納されている。Nd個目のメモリ100_Ndにはビット位置(Nd−1)ビットが格納されていることになる。
When the memories 100_1 to 100_Nd stored by such a method are referred from the column direction as indicated by arrows, the bit positions are continuous. That is, referring to the column in which the
つまり、各メモリ100から1個のディジットシリアルデータを読み出した場合、ビット位置0ビットから、ビット位置(Nd−1)ビットまで同時に読み出すことができる。従って各メモリ100に接続するシリアルデータ伝送用配線を並べることで、ディジット幅Ndのシリアルデータを読み出すことができる。
That is, when one digit serial data is read from each
また1つのメモリ100については、第1の実施形態の如く、アドレスの一部を共通にすることにより、複数のディジットシリアルデータを処理することができる。例えば、図のごとく各メモリ100毎にハッチングを付したメモリセル400を同時にアクセスできるので、1つのメモリ100から複数のディジットシリアルデータを同時に出力できる。従って、メモリ100_1〜100_Ndにシリアルデータ伝送用配線をそれぞれ複数接続し、メモリ100_1〜100_Ndから出力されるNd個のディジットシリアルデータが連続するようにシリアルデータ伝送用配線を並べることで、ディジット幅Ndの複数のシリアルデータを同時に処理することが可能になる。
In addition, a
図10を参照し、より具体的に説明する。ここでは、1ワード32ビットのパラレルデータをメモリ100に格納し、ディジット幅Nd=2で出力する場合を例に示す。メモリセルアレイ4は16行×16列で構成されるとする。メモリ100は、第1の実施形態と同様であり、アドレスは図3の如く各メモリセル400に割り当てられている。図示は省略するが、パラレルビット線blは例えば4列1組で4つのパラレルビット線セレクタ51a〜51dに接続している。また、シリアルビット線bl_sは、4行1組で4つのシリアルビット線セレクタ81a〜81dにそれぞれ接続し、シリアルワード線wl_sは、4列1組で4つのシリアルワード線セレクタ31a〜31dにそれぞれ接続する(図1参照)。
This will be described more specifically with reference to FIG. In this example, parallel data of 32 bits per word is stored in the
ディジット幅Nd=2であるので、2個のメモリ100_1、メモリ100_2を使用する。各メモリセル400内の数字は、1ワードのビット位置を示す。すなわち、メモリ100_1には1ワードの偶数ビット目を、メモリ100_2には1ワードの奇数ビット目を分配して格納する。他の1ワードのデータも、同様にそれぞれのメモリ100_1、100_2の同じ行、同じ列の位置に分配して格納される。
Since the digit width Nd = 2, two memories 100_1 and 100_2 are used. The number in each
各メモリセルへ400の格納方法は、第1の実施形態と同様である。パラレル行デコーダで選択されたパラレルワード線wlと、パラレルビット線セレクタ51a〜51dで選択されたパラレルビット線blの交点のメモリセル400に格納される。
The method for storing 400 in each memory cell is the same as in the first embodiment. The data is stored in the
例えばメモリ100_1について、シリアルデータを読み出す場合、シリアルワード線セレクタ31a〜31dは、入力されたシリアルデータ用列指定アドレスAddr_2により、それぞれ4列1組のメモリセルの中から1列(×4組)を選択する(図4(B)点線)。そしてシリアルビット線セレクタ81a〜81dは、シリアルデータ用行指定アドレスAddr_3により、4行1組のメモリセルの中から1行を選択する(図4(B)二点鎖線)。このとき、シリアルデータ用行指定アドレスAddr_3で参照するメモリセルのアドレスは、シリアルビット線セレクタ81a〜81dの各行で共有しているため、全てのシリアルビット線セレクタ81a〜81dについて、1行×4組(例えば4行1組の一番上の行)が同時に選択される。
For example, when serial data is read from the memory 100_1, the serial
この状態で、ビット開始位置指定信号Act_setに基づくシリアル入出力制御回路2の制御により、シリアルワード線セレクタ31a〜31dの1つが選択され、1列×4行(1列×(1行×4組))のメモリセル400がアクセス可能となる。そして、シリアルデータ入出力回路9に、シリアルビット線セレクタ81a〜81dにそれぞれ対応したシリアルデータ伝送用配線12を接続することにより、メモリ100_1について、4個(1ビット×4行)のディジットシリアルデータが出力される。
In this state, one of the serial
メモリ100_2はメモリ100_1と同一の構成であり、メモリ100_1と同時に処理され、メモリ100_2についても4個(1ビット×4行)のディジットシリアルデータが出力される。従って、メモリ100_1およびメモリ100_2のディジットシリアルデータが連続するようにシリアルデータ伝送用配線を並べることにより、ディジット幅Nd=2の、4個のシリアルデータを同時に出力することができる。 The memory 100_2 has the same configuration as the memory 100_1, and is processed simultaneously with the memory 100_1, and four (1 bit × 4 rows) digit serial data is also output to the memory 100_2. Therefore, by arranging the serial data transmission lines so that the digit serial data of the memory 100_1 and the memory 100_2 are continuous, four serial data having a digit width Nd = 2 can be output simultaneously.
具体的には、図において列方向からメモリセルを参照すると、{0,1}、{2,3}、{4,5}、・・・というようにデータが連続している。このため、列方向からシリアルデータを読み出し、2つのシリアルデータ伝送用配線12を並べることにより、2ビットのデータを同時に出力できる。
Specifically, referring to the memory cells from the column direction in the figure, the data is continuous as {0, 1}, {2, 3}, {4, 5},. Therefore, by reading serial data from the column direction and arranging the two serial
ディジット幅Nd=4でシリアルデータを処理する場合は、メモリ100を4個使用し、1列のシリアルワード線がアクティブになった時に、0ビット目から3ビット目までのデータが同時に読み出されるようにデータを格納する。すなわち、メモリ100の数の変更により、任意のディジット幅Ndの処理が可能なメモリ100を提供できる。またシリアルビット線セレクタ81a〜81dの構成(1組に割り当てる行数)の変更により、1つのメモリ100から同時に出力されるディジットシリアルデータの数を容易に変更できる。
When serial data is processed with a digit width Nd = 4, four
このように、同じ列のデータを読み出すことで、ディジット単位で連続したデータを一度に読み出せるため、ディジット幅の変換を行うことができる。また、このように、ディジット単位で処理を行う場合、複数のシリアルデータを同時に処理することができるため、メモリ100の入力および出力でのバンド幅の調整が容易に行える。従って、データのディジット幅Ndを変換する前後でスループットを落とさず、また回路規模を増加させずにデータを供給することが可能になる。
In this way, by reading data in the same column, continuous data in digit units can be read at a time, so that the digit width can be converted. Further, when processing is performed in units of digits as described above, since a plurality of serial data can be processed simultaneously, the bandwidth at the input and output of the
図11は、図10に示したディジット幅Nd=2でデータを出力するメモリ100の他の形態を示す。
FIG. 11 shows another form of the
ディジット幅Ndのシリアルデータを処理する場合、1つのメモリ100でメモリセルアレイ4をNd分割してもよい。図13は2分割した場合である。
When serial data having a digit width Nd is processed, the
上段のメモリセルアレイ4_1は1ワードの偶数ビット目を格納し、下段のメモリセルアレイ4_2は1ワードの奇数ビット目を格納する。 The upper memory cell array 4_1 stores even-numbered bits of one word, and the lower memory cell array 4_2 stores odd-numbered bits of one word.
この場合、上下のメモリセルアレイ4_1、4_2について、同じ行および同じ列のメモリセル400を選択するためには以下の方法がある。第1は、図のごとく、第2データ線選択手段5をそれぞれのメモリセルアレイ4_1、4_2に設け、分割されたメモリセルアレイ4_1、4_2の両方に、シリアルワード線を共有させる。そして2つのメモリセルアレイ4_1、4_2の第2データ線選択手段5に入力するアドレス(パラレルデータ用列指定アドレスAddr_1)を同一アドレスにする。データの書き込みは、別々に同時に行うので、2つの第2データ線選択手段5が必要であるが、第3データ線選択手段3は1つでよい。
In this case, there are the following methods for selecting the
他の方法の図示は省略するが、第2は、第1データ線選択手段(パラレル用行デコーダ)1で使用するパラレルワード線、および第2データ線選択手段5で使用するシリアルワード線を共有する方法である。 Although the illustration of other methods is omitted, the second is to share the parallel word line used in the first data line selection means (parallel row decoder) 1 and the serial word line used in the second data line selection means 5. It is a method to do.
第3は、第4データ線選択手段8は1つであるが、それぞれのメモリセルアレイ4_1、4_2のビット線セレクタ81_1、81_2にも同じアドレス(シリアルデータ用行指定アドレスAddr_3)を入力する方法である。 Third, although the number of the fourth data line selection means 8 is one, the same address (serial data row designation address Addr_3) is input to the bit line selectors 81_1 and 81_2 of the respective memory cell arrays 4_1 and 4_2. is there.
これ以外は図10の場合と同様である。ディジット幅Ndを変更する場合には、メモリセルアレイ4の分割数を変更する。
The rest is the same as in FIG. When changing the digit width Nd, the number of divisions of the
尚、図10および図11ではパラレルデータを書き込み、シリアルデータを読み出す場合を例に説明した。しかし、本実施形態のメモリセル400は図2(B)の如くシリアルビット線bl_sを使用してメモリセル400への格納、およびパラレルワード線wlを使用してメモリセル400からの出力も可能である。つまり、パラレルデータの双方向の伝送(入出力)が可能であり、またシリアルデータの双方向の伝送(入出力)が可能である。
In FIGS. 10 and 11, the case where parallel data is written and serial data is read has been described as an example. However, as shown in FIG. 2B, the
図12は、第2の実施形態のメモリ100を応用例を示す。
FIG. 12 shows an application example of the
例えば異なるディジット幅同士でデータ通信する場合、第2の実施形態のメモリ100を用いてディジット幅Nd1とディジット幅Nd2(Nd1≠Nd2)を変換することができる。つまり、ディジット幅Nd1をワード幅Nに変換するメモリ100_1と、同じワード幅Nをディジット幅Nd2に変換するメモリ100_2を使用する。
シリアルデータS11は、メモリ100_1にNd1ビットずつ書き込む。そしてメモリ100_1から所定のワード幅NでパラレルデータP10を読み出し、これをメモリ100_2に書き込む。メモリ100_2からNd2ビットずつシリアルデータS12を出力することによりディジット幅Nd1からディジット幅Nd2に変換することができる。またこの逆の変換も同様に実施できる。
For example, when data communication is performed using different digit widths, the digit width Nd1 and the digit width Nd2 (Nd1 ≠ Nd2) can be converted using the
The serial data S11 is written in the memory 100_1 by Nd1 bits. Then, the parallel data P10 is read from the memory 100_1 with a predetermined word width N and written into the memory 100_2. By outputting serial data S12 by Nd2 bits from the memory 100_2, the digit width Nd1 can be converted to the digit width Nd2. The reverse conversion can be similarly performed.
図13および図14は、第3の実施形態を示す。第3の実施形態は、シリアルワード線wl_sの配線パターンを変更し、ワード幅Nのデータの書き込みと、シリアルデータの読み込みでパイプライン化を可能にした場合である。 13 and 14 show a third embodiment. The third embodiment is a case where the wiring pattern of the serial word line wl_s is changed to enable pipelining by writing data with word width N and reading serial data.
まず、図13は、メモリセル410を示す回路図である。第4の実施形態では、シリアルデータワード線wl_sを曲折して延在する。
First, FIG. 13 is a circuit diagram showing the
すなわち、1本のシリアルワード線wl_sは、行が並ぶ方向(行方向)および列が並ぶ方向(列方向)に曲折して延在し、階段状に配置される。シリアルワード線wl_sは行方向ではパラレルワード線と平行に延在し、列方向ではシリアルビット線bl_s、パラレルワード線wlと平行に延在する。そして、シリアルビット線bl_sおよびパラレルビット線blと直交する。従って、1本のシリアルワード線wl_sに接続するメモリセル400は、斜め方向に配置される。これ以外の構成は、第1の実施形態(図2(B))と同様であるので、説明は省略する。
That is, one serial word line wl_s bends in the direction in which rows are arranged (row direction) and in the direction in which columns are arranged (column direction), and is arranged in a staircase pattern. The serial word line wl_s extends in parallel with the parallel word line in the row direction, and extends in parallel with the serial bit line bl_s and the parallel word line wl in the column direction. It is orthogonal to the serial bit line bl_s and the parallel bit line bl. Accordingly, the
次に図14を参照し、第3の実施形態の動作について説明する。 Next, the operation of the third embodiment will be described with reference to FIG.
図14において、メモリセル400は6行5列に配置され、矢印がワード単位でのパラレルデータP1〜P9の書き込みを示し、ハッチングを付したメモリセル400がシリアルデータS1〜S10での読み出しを示す。
In FIG. 14,
メモリ100の構成(アドレスの割り当て方法)およびメモリの動作は(メモリセルのアクセス方法)は第1の実施形態と同様であるので説明は省略する。 Since the configuration of the memory 100 (address allocation method) and the operation of the memory (memory cell access method) are the same as those in the first embodiment, description thereof will be omitted.
シリアルワードwl_sを曲折して階段状に配線することで、ワード単位でパラレルデータを書き込みつつシリアルデータを読み出すことができる。この場合、シリアルデータは階段状に読み出される。 By bending the serial word wl_s and wiring it in a staircase pattern, serial data can be read while writing parallel data in units of words. In this case, the serial data is read out in a staircase pattern.
このような処理を実現するには、まず1ワードのパラレルデータP1をメモリセル400に書き込む際、メモリセルアレイ4の1行目に格納する(1)。ワード単位でパラレルデータP1が一つ格納された後、次のワード単位のパラレルデータP2は、2行目に格納される。ここでシリアルデータS1の読み出しを開始する。シリアルデータS1を読み出す時は、ワード単位で格納されたパラレルデータP1の一番端(ここでは右端)のビットを1ビットだけ読み出す(2)。次のパラレルデータP3が、3行目に格納されると、シリアルデータS2の読み出しを開始する。シリアルデータS2の読み出し位置は、最初に読み出されたシリアルデータS1の列と同じ場所にある2行目のメモリセル400のシリアルデータS2になる。その時1行目のデータについても読み出しを行う。このデータを読み出す位置は最初に読み出したメモリセル400の隣の1ビットとする(3)。同様に4行目にパラレルデータP4の格納後、シリアルデータS3を読み出し、5行目にパラレルデータP5を格納後、シリアルデータS4を読み出す。更に6行目にパラレルデータP6を格納後、シリアルデータS5を読み出す(4〜6)。
In order to realize such processing, first, when writing parallel data P1 of one word into the
このようにすることで、パラレルデータの書き込みと、シリアルデータの読み込みの際に、同一のメモリセル400のシリアルワード線wl_sおよびパラレルワード線wlが同時にオンにすることがないため、パラレルデータで書き込みながらシリアルデータで読み出すことができる。
In this way, when writing parallel data and reading serial data, the serial word line wl_s and the parallel word line wl of the
シリアルデータS5の読み出しが終わると、1行目のデータは全てシリアルデータとして読み出されるので、再び1ワードのパラレルデータP7を書き込むことができる(7)。このとき、シリアルデータS6の読み出しが全て終わっていない状況でパラレルデータP7を書き込むことになる。すなわち、パラレルデータP8書き込みの後は、シリアルデータS8とシリアルデータS7を斜め方向に2列読み出す必要がある。このため、シリアルワード線s_wlを2本ずつアクティブにすることになる。これは2本のシリアルワード線s_wlを1本に接続することで実現できる。 When the reading of the serial data S5 is completed, all the data in the first row is read as serial data, so that one word of parallel data P7 can be written again (7). At this time, the parallel data P7 is written in a situation where reading of the serial data S6 is not completed. That is, after writing the parallel data P8, it is necessary to read two rows of serial data S8 and serial data S7 in an oblique direction. For this reason, two serial word lines s_wl are activated. This can be realized by connecting two serial word lines s_wl to one.
図15を参照し、第4の実施形態を説明する。第4の実施形態は、ワード幅Nのパラレルデータの読み出しおよび書き込みとシリアルデータの読み出しおよび書き込みを同時に処理するメモリ100である。なお、メモリ100の構成、メモリセルのアドレスの割り当て方法は、第1の実施形態と同様であるので、説明は省略する。
A fourth embodiment will be described with reference to FIG. The fourth embodiment is a
パラレルデータとシリアルデータでの読み書きを同時処理するには、パラレルデータの読み書きで選択するメモリセルとシリアルデータの読み書きで選択するメモリセル400が重複すると読み書きの処理が行えないため、両者のメモリセル400の選択を常に排他的にする必要がある。
In order to simultaneously process parallel data and serial data read / write, if the memory cell selected by parallel data read / write and the
第1の実施形態では、シリアルデータとパラレルデータでメモリセル400の列を選択するアドレス(パラレルデータ用列指定アドレスAddr_1とシリアルデータ用列指定アドレスAddr_2)を共通にできる。一方、第4の実施形態では、パラレルデータのアクセスおよび、シリアルデータのアクセスのどちらの場合も行と列を指定するアドレスが必要になる。すなわち、パラレルデータとシリアルデータで同時に処理する場合、メモリセルアレイ4の列を選択するアドレス(パラレルデータ用列指定アドレスAddr_1およびシリアルデータ用行指定アドレスAddr_2)は必ず異なるものを使用しなければならない。この列を選択するアドレスさえ異なればパラレルデータとシリアルデータの読み書きを同時処理できる。同じ列を選択してしまうと、シリアルデータとパラレルデータでそれぞれ処理するメモリセル400が重複してしまうため、正常に動作しないからである。
In the first embodiment, the addresses (parallel data column designation address Addr_1 and serial data column designation address Addr_2) for selecting the column of the
図15は、パラレルデータおよびシリアルデータで選択するメモリセルの一例を示す。例えば、パラレルデータでハッチングを付したメモリセル400(上から3行目、各組ごとに2列目)を選択する場合、シリアルデータではパラレルデータで選択された列(×印を付した列)以外の列を選択する。なお、交差するシリアルデータワード線およびパラレルデータワード線が共にアクティブになっても問題はない。
FIG. 15 shows an example of a memory cell selected by parallel data and serial data. For example, when selecting
この方法により、例えばパラレルデータの書き込み処理中にシリアルデータの読み出しを行えるため、スループットの向上に大きく寄与する。 By this method, for example, serial data can be read during parallel data writing processing, which greatly contributes to an improvement in throughput.
以上説明した本実施形態のメモリ100を、異なるディジット幅の装置を扱うシステムで使用することにより、ディジット幅変換回路を不要としたシステムを構築できる。システムの一例を挙げると、整数系演算器や浮動小数点演算器といった、ディジットシリアル演算器系のシステムなど、ディジット幅の異なる回路や装置を使用するシステムである。
By using the
例えば、本実施形態のメモリ100にワード幅Nでデータを書き込み、読み出すことでディジット幅Ndを変換する。そのデータをディジットシリアル演算器で演算処理し、その結果を(ディジット幅の変換を行わず)直接メモリ100に書き込む。そして内部あるいは外部装置にワード単位でデータを転送することができる。
For example, the digit width Nd is converted by writing and reading data with the word width N in the
尚、本実施形態のメモリセル400はSRAMを例に説明したが、これに限らず、DRAM(Dynamic Random Access Memory)、MRAM(Magnetoresistive Random Access Memory)、FERAM(Ferroelectric Random Access Memory)など、ビット線およびワード線を使用するすべてのメモリで実施可能である。
The
本発明は、たとえば、バンド幅が重要で、かつワードを異なるディジット幅でデータ通信する回路同士がデータを伝送するシステムのディジット幅変換装置に応用できる。また、ワード同士の演算を行うシステムにおいて、ディジットシリアル演算器とパラレル演算器の各々で処理した演算結果を相互に変換可能にするディジット幅変換機能を備えるバッファメモリなどに応用できる。
The present invention can be applied, for example, to a digit width conversion device of a system in which bandwidth is important and circuits that perform data communication of words with different digit widths transmit data. In addition, in a system that performs operations between words, the present invention can be applied to a buffer memory or the like having a digit width conversion function that enables conversion of the operation results processed by the digit serial arithmetic unit and the parallel arithmetic unit.
1 第1データ線選択手段
2 シリアルデータ入出力制御回路
3 第3データ線選択手段
4 メモリセルアレイ4
5 第2データ線選択手段
6 パラレルデータ入出力回路
8 第4データ線選択手段
9 シリアルデータ入出力回路
30 シリアルデータ用列アドレスデコーダ(シリアル列デコーダ)
31 シリアルデータ用ワード線セレクタ(シリアルワード線セレクタ)
50 パラレルデータ用列アドレスデコーダ(パラレル列デコーダ)
51 パラレルデータ用ビット線セレクタ(パラレルビット線セレクタ)
80 シリアルデータ用行アドレスデコーダ(シリアル行デコーダ)
81 シリアルデータ用ビット線セレクタ(シリアルビット線セレクタ)
400 メモリセル400
wl パラレルデータワード線
bl パラレルデータビット線
wl_s シリアルデータワード線
bl_s シリアルデータビット線
Addr_0 パラレルデータ用行指定アドレス
Addr_1 パラレルデータ用列指定アドレス
Addr_2 シリアルデータ用列指定アドレス
Addr_3 シリアルデータ用行指定アドレス
DESCRIPTION OF
5 Second data line selection means 6 Parallel data input /
31 Word line selector for serial data (serial word line selector)
50 Column address decoder for parallel data (parallel column decoder)
51 Bit line selector for parallel data (parallel bit line selector)
80 Row address decoder for serial data (serial row decoder)
81 Bit line selector for serial data (serial bit line selector)
400
wl Parallel data word line bl Parallel data bit line wl_s Serial data word line bl_s Serial data bit line Addr_0 Parallel data row designation address Addr_1 Parallel data column designation address Addr_2 Serial data column designation address Addr_3 Serial data row designation address
Claims (15)
該パラレルデータワード線とそれぞれ直交する複数のパラレルデータビット線と、
前記パラレルデータワード線およびパラレルデータビット線にそれぞれ直交する複数のシリアルデータワード線および複数のシリアルデータビット線と、
前記パラレルデータワード線およびパラレルデータビット線の交点に配置され、前記パラレルデータワード線およびパラレルデータビット線と、前記シリアルデータワード線およびシリアルデータビット線とそれぞれ接続するメモリセルと、
前記メモリセルを行列状に配置したメモリセルアレイと、
前記パラレルデータワード線に接続する第1データ線選択手段と、
前記パラレルデータビット線に接続する第2データ線選択手段と、
前記シリアルデータワード線に接続する第3データ線選択手段と、
前記シリアルデータビット線に接続する第4データ線選択手段と、
パラレルデータ入出力回路と、
シリアルデータ入出力回路と、を具備し、
前記第3データ線選択手段により1本の前記シリアルデータワード線を選択する際、前記第4データ線選択手段により少なくとも1行の前記メモリセルに接続する前記シリアルデータビット線を選択し、少なくとも1つのディジットシリアルデータの伝送を行うことを特徴とする半導体記憶装置。 A plurality of parallel data word lines;
A plurality of parallel data bit lines orthogonal to the parallel data word lines;
A plurality of serial data word lines and a plurality of serial data bit lines orthogonal to the parallel data word lines and the parallel data bit lines, respectively;
A memory cell disposed at an intersection of the parallel data word line and the parallel data bit line, and connected to the parallel data word line and the parallel data bit line; and the serial data word line and the serial data bit line;
A memory cell array in which the memory cells are arranged in a matrix;
First data line selection means connected to the parallel data word line;
Second data line selection means connected to the parallel data bit lines;
Third data line selection means connected to the serial data word line;
Fourth data line selection means connected to the serial data bit line;
A parallel data input / output circuit;
A serial data input / output circuit;
When one serial data word line is selected by the third data line selection means, the serial data bit line connected to at least one row of the memory cells is selected by the fourth data line selection means, and at least 1 A semiconductor memory device that transmits one digit serial data.
該パラレルデータワード線とそれぞれ直交する複数のパラレルデータビット線と、
前記パラレルデータワード線およびパラレルデータビット線にそれぞれ直交する複数のシリアルデータワード線および複数のシリアルデータビット線と、
前記パラレルデータワード線およびパラレルデータビット線の交点に配置され、前記パラレルデータワード線およびパラレルデータビット線と、前記シリアルデータワード線およびシリアルデータビット線とそれぞれ接続するメモリセルと、
前記メモリセルを行列状に配置したメモリセルアレイと、
前記パラレルデータワード線に接続する第1データ線選択手段と、
前記パラレルデータビット線に接続する第2データ線選択手段と、
前記シリアルデータワード線に接続する第3データ線選択手段と、
前記シリアルデータビット線に接続する第4データ線選択手段と、
パラレルデータ入出力回路と、
シリアルデータ入出力回路と、
連続した複数行の前記メモリセルに共通で該メモリセルの前記シリアルデータビット線に接続し前記複数行のうち1行の前記メモリセルを選択するビット線セレクタと、
連続した他の複数行の前記メモリセルに共通で該メモリセルの前記第シリアルデータビット線に接続し前記他の複数行のうち1行の前記メモリセルを選択する他のビット線セレクタと、を具備し、
前記第3データ線選択手段により1列の前記メモリセルに接続する前記シリアルデータワード線を選択する際、前記ビット線セレクタおよび前記他のビット線セレクタにより複数行の前記メモリセルに接続する前記シリアルデータビット線を選択し、複数のディジットシリアルデータの伝送を行うことを特徴とする半導体記憶装置。 A plurality of parallel data word lines;
A plurality of parallel data bit lines orthogonal to the parallel data word lines;
A plurality of serial data word lines and a plurality of serial data bit lines orthogonal to the parallel data word lines and the parallel data bit lines, respectively;
A memory cell disposed at an intersection of the parallel data word line and the parallel data bit line, and connected to the parallel data word line and the parallel data bit line; and the serial data word line and the serial data bit line;
A memory cell array in which the memory cells are arranged in a matrix;
First data line selection means connected to the parallel data word line;
Second data line selection means connected to the parallel data bit lines;
Third data line selection means connected to the serial data word line;
Fourth data line selection means connected to the serial data bit line;
A parallel data input / output circuit;
A serial data input / output circuit;
A bit line selector that is common to the memory cells in a plurality of consecutive rows and is connected to the serial data bit line of the memory cells and selects the memory cells in one row of the plurality of rows;
Another bit line selector that is connected to the memory cell of the other plurality of consecutive rows and is connected to the serial data bit line of the memory cell and selects the memory cell of one row of the other plurality of rows; Equipped,
When the serial data word line connected to the memory cells in one column is selected by the third data line selection means, the serial connected to the memory cells in a plurality of rows by the bit line selector and the other bit line selector. A semiconductor memory device characterized by selecting a data bit line and transmitting a plurality of digit serial data.
2. The parallel data input / output and the serial data input / output are simultaneously processed by differentiating the memory cell column selected by parallel data and the memory cell column selected by serial data. Item 5. The semiconductor memory device according to Item 4.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006029910A JP2007213641A (en) | 2006-02-07 | 2006-02-07 | Semiconductor memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006029910A JP2007213641A (en) | 2006-02-07 | 2006-02-07 | Semiconductor memory |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007213641A true JP2007213641A (en) | 2007-08-23 |
Family
ID=38491939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006029910A Withdrawn JP2007213641A (en) | 2006-02-07 | 2006-02-07 | Semiconductor memory |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007213641A (en) |
-
2006
- 2006-02-07 JP JP2006029910A patent/JP2007213641A/en not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5261803B2 (en) | High-speed fanout system architecture and input / output circuit for non-volatile memory | |
US7355899B2 (en) | Pipe latch circuit of multi-bit prefetch-type semiconductor memory device with improved structure | |
JP4191219B2 (en) | Memory circuit, semiconductor device, and control method of memory circuit | |
US4773049A (en) | Semiconductor memory device having improved access time for continuously accessing data | |
KR19990007287A (en) | Semiconductor integrated circuit, computer system, data processing apparatus and data processing method | |
JPH06290585A (en) | Dual port memory | |
CN102197436A (en) | Data path for multi-level cell memory, methods for storing and methods for utilizing a memory array | |
KR20020086542A (en) | Memory device with support for unaligned access | |
US8189408B2 (en) | Memory device having shifting capability and method thereof | |
JP2006523340A (en) | 2D data memory | |
US5588133A (en) | Register block circuit for central processing unit of microcomputer | |
JPH04295953A (en) | Parallel data processor with built-in two-dimensional array of element processor and sub-array unit of element processor | |
JP2007213641A (en) | Semiconductor memory | |
US7916572B1 (en) | Memory with addressable subword support | |
JP2016139447A (en) | Semiconductor storage device and data writing method | |
JP2007305227A (en) | Storage device and data conversion method | |
JP4712214B2 (en) | Semiconductor memory operation control method and semiconductor memory | |
JP2950427B2 (en) | Register bank circuit | |
US20040042281A1 (en) | Semiconductor memory device | |
GB2617190A (en) | Memory architecture | |
JPH06223597A (en) | Semiconductor device | |
JP4679600B2 (en) | Semiconductor memory device | |
JPH0628869A (en) | Meory device | |
JP5365639B2 (en) | Semiconductor programmable device and signal transfer method in semiconductor programmable device | |
JP4113711B2 (en) | Semiconductor memory device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090206 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20110105 |