(57)【要約】【課題】データの読み出しと演算の同時処理を可能にし、演算速度の向上、演算器の削減によるコスト低減を図る。【解決手段】メモリセルアレイ１１０の各ユニットＵＮの８個のメモリセルＭＬに、予め、それぞれ８ビットのデータの各ビットを記憶する。８個のメモリセルＭＬのキャパシタＣは、８ビットのデータの各ビットの重みに対応した容量をもっている。２つ以上のユニットＵＮ、つまり２つ以上のデータに係る複数のワード線ＷＬを同時に活性化する。これにより、各ビット線ＢＬ上で、それぞれ、活性化された２つ以上のデータに係る複数のワード線ＷＬに接続された複数のメモリセルＭＬのキャパシタＣの蓄積電荷が結合される。このビット線ＢＬ上に得られた電荷総量に対応した値の電圧信号をＡ／Ｄコンバータでデジタル信号に変換する。このデジタル信号は、２つ以上のユニットＵＮに記憶されたデータの加算結果に対応したものとなる。【選択図】        図２
2004158170.tif 000002
【特許請求の範囲】
【請求項１】
１つのビット線上で、活性化された複数のワード線に接続された複数のメモリセルのキャパシタの蓄積電荷を結合し得るメモリ装置であって、
複数のワード線を同時に活性化する活性化手段と、
上記活性化手段で活性化された複数のワード線に接続された複数のメモリセルのキャパシタの蓄積電荷が結合されて上記１つのビット線上に得られた電荷総量に対応した値のデジタル信号を出力する信号出力手段と
を備えることを特徴とするメモリ装置。
【請求項２】
上記信号出力手段は、
上記電荷総量を、該電荷総量に対応した値の電圧信号に変換する電圧変換手段と、
上記電圧変換手段で変換された電圧信号をアナログ信号からデジタル信号に変換するアナログ−デジタル変換手段とを有してなる
ことを特徴とする請求項１に記載のメモリ装置。
【請求項３】
上記１つのビット線に接続される複数のメモリセルは、キャパシタの容量が異なるものを含む
ことを特徴とする請求項１に記載のメモリ装置。
【請求項４】
上記活性化手段は、
２つ以上のデータに係る複数のワード線を同時に活性化する
ことを特徴とする請求項１に記載のメモリ装置。
【請求項５】
１つのデータがＮビット（Ｎは正の整数）のデータであるとき、該１つのデータに係るワード線はＮ本であり、
上記Ｎ本のワード線に接続されたＮ個のメモリセルのキャパシタは、上記Ｎビットのデータの各ビットの重みに対応した容量を持つ
ことを特徴とする請求項４に記載のメモリ装置。
【請求項６】
各データに係る複数のワード線に接続される複数のメモリセルからなるユニットには、それぞれ加算すべきデータが記憶される
ことを特徴とする請求項４に記載のメモリ装置。
【請求項７】
各データに係る複数のワード線に接続される複数のメモリセルからなるユニットには、それぞれ被減数データまたは減数データが記憶される
ことを特徴とする請求項４に記載のメモリ装置。
【請求項８】
上記被減数データはストレートバイナリ形式のデータであり、上記減数データは２の補数形式のデータである
ことを特徴とする請求項７に記載のメモリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、メモリ装置に関する。詳しくは、この発明は、複数のワード線を同時に活性化し、この複数のワード線に接続された複数のメモリセルのキャパシタの蓄積電荷を１つのビット線上で結合し、その電荷総量に対応した値のデジタル信号を出力する構成とすることによって、データの読み出しと演算の同時処理を可能にし、演算速度の向上、演算器の削減によるコスト低減を図るようにしたメモリ装置に係るものである。
【背景技術】
【０００２】
図８は、従来のメモリブロック２００の構成例を示している。このメモリブロック２００は、メモリセルアレイ２１０と、記憶データ入出力用ポート２２０と、ロウアドレスデコーダ２３０と、制御回路２４０とを有している。
【０００３】
メモリセルアレイ２１０は、図９に示すように、ロウ方向（行方向）に延びるデータを転送するための複数のビット線ＢＬと、カラム方向（列方向）に延びる、複数のビット線ＢＬに直交するワード線ＷＬと、これらビット線ＢＬおよびワード線ＷＬに接続され、マトリックス状に配されたメモリセルＭＬとからなっている。
【０００４】
メモリセルＭＬは、ＤＲＡＭ構造のものであって、アクセストランジスタＴとキャパシタＣとで構成されている。キャパシタＣの一端は接地され、その他端はアクセストランジスタＴを介してビット線ＢＬに接続されている。また、アクセストランジスタＴのゲートはワード線ＷＬに接続されている。このメモリセルＭＬに対する読み出しおよび書き込みは、従来周知のように、ワード線ＷＬを活性化してアクセストランジスタＴをオン状態とすることで行われる。
【０００５】
記憶データ入出力用ポート２２０は、カラムアドレスデコーダ２２１、アドレスバッファ２２２およびＩ／Ｏバッファ２２３で構成されている。カラムアドレスデコーダ２２１には、Ｉ／Ｏゲート（カラム・スイッチ）やセンスアンプ等が含まれている。カラムアドレスデコーダ２２１には、アドレスバッファ２２２を介してカラムアドレスが入力される。
【０００６】
カラムアドレスデコーダ２２１は、アドレスバッファ２２２を介して供給されるカラムアドレスに対応して、メモリセルアレイ２１０のカラム方向の所定の複数のメモリセルＭＬに接続される複数のビット線ＢＬとの接続を確保し、Ｉ／Ｏバッファ２２３およびカラムアドレスデコーダ２２１を通じて、当該カラム方向の所定のメモリセルＭＬに対する、記憶データの書き込み、読み出しが可能となるようにする。
【０００７】
また、ロウアドレスデコーダ２３０には、アドレスバッファ２３１を介してロウアドレスが入力される。ロウアドレスデコーダ２３０は、アドレスバッファ２３１を介して供給されるロウアドレスに対応して、メモリセルアレイ２１０のロウ方向の所定のメモリセルＭＬに接続されるワード線ＷＬを活性化し、Ｉ／Ｏバッファ２２３およびカラムアドレスデコーダ２２１を通じて、当該ロウ方向の所定のメモリセルＭＬに対する、記憶データの書き込み、読み出しが可能となるようにする。
【０００８】
また、制御回路２４０は、メモリブロック２００の上述した各回路の動作を、制御入力に基づいて制御する。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上記したメモリブロック２００に記憶されたデータを用いた演算、例えば加算を行う場合には、メモリブロック２００から被加算データおよび加算データを順に読み出し、このメモリブロック２００とは別個に設けられた加算器でそれらを加算する。したがって、データの読み出しと演算とを順次に行うものであることから、演算速度を上げることができないという不都合があった。また、メモリブロック２００とは別個の演算器が必要であることから、その分高価になるという不都合があった。また、減算などのその他の演算を行う場合も同様である。
【００１０】
そこで、この発明は、データの読み出しと演算の同時処理を可能にし、演算速度の向上、演算器の削減によるコスト低減を図るようにしたメモリ装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
この発明に係るメモリ装置は、１つのビット線上で、活性化された複数のワード線に接続された複数のメモリセルのキャパシタの蓄積電荷を結合し得るメモリ装置であって、複数のワード線を同時に活性化する活性化手段と、この活性化手段で活性化された複数のワード線に接続された複数のメモリセルのキャパシタの蓄積電荷が結合されて１つのビット線上に得られた電荷総量に対応した値のデジタル信号を出力する信号出力手段とを備えるものである。
【００１２】
この発明においては、複数のワード線が同時に活性化される。これにより、１つのビット線上で、活性化された複数のワード線に接続された複数のメモリセルのキャパシタの蓄積電荷が結合される。そして、その電荷総量に対応した値のデジタル信号が出力される。
【００１３】
例えば、電荷総量に対応した値のデジタル信号は、電荷総量を、この電荷総量に対応した値の電圧信号に変換し、その後にその電圧信号をアナログ信号からデジタル信号に変換することで得られる。この場合、電圧信号をデジタル信号に変換する際に、Ａ／Ｄコンバータの機能によっては、任意の階調のデジタル信号を得ることが可能となる。
【００１４】
ここで、２つ以上のデータに係る複数のワード線が同時に活性化されることで、デジタル信号として当該２つ以上のデータの演算結果が得られる。例えば、各データに係る複数のワード線に接続される複数のメモリセルからなるユニットにそれぞれ加算すべきデータが記憶されることで、デジタル信号としてそれらのデータの加算結果が得られる。また例えば、各データに係る複数のワード線に接続される複数のメモリセルからなるユニットには、それぞれ被減数データまたは減数データが記憶されることで、デジタル信号としてそれらのデータの減算結果が得られる。この場合、例えば被減数データはストレートバイナリ形式のデータとされ、減数データは２の補数形式のデータとされる。
【００１５】
このように、複数のワード線を同時に活性化し、この複数のワード線に接続された複数のメモリセルのキャパシタの蓄積電荷を１つのビット線上で結合し、その電荷総量に対応した値のデジタル信号を出力する構成とするものであり、データの読み出しと演算の同時処理を可能にし、演算速度の向上、演算器の削減によるコスト低減を図ることができる。
【００１６】
なお、１つのビット線に接続される複数のメモリセルとしてキャパシタの容量が異なるものを含む構成とすることで、１つのデータを記憶するためのメモリセルの個数を減少できる。例えば、１つのデータがＮビット（Ｎは制御の整数）のデータであるとき、この１つのデータに係るワード線はＮ本とされ、このＮ本のワード線に接続されたＮ個のメモリセルのキャパシタは、Ｎビットのデータの各ビットの重みに対応した容量を持つようにされる。これにより、Ｎビットのデータを記憶するためのメモリセルの個数はＮ個で済む。これに対して、各メモリセルのキャパシタの容量が同じものとすると、Ｎビットのデータを記憶するためのメモリセルは２N−１個必要となる。
【発明の効果】
【００１７】
この発明によれば、複数のワード線を同時に活性化し、この複数のワード線に接続された複数のメモリセルのキャパシタの蓄積電荷を１つのビット線上で結合し、その電荷総量に対応した値のデジタル信号を出力する構成とするものであり、データの読み出しと演算の同時処理を可能にし、演算速度の向上、演算器の削減によるコスト低減を図ることができる。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照しながら、この発明の実施の形態について説明する。
図１は、実施の形態としてのメモリブロック１００の構成を示している。このメモリブロック１００は、メモリセルアレイ１１０と、記憶データ入出力用ポート１２０と、ロウアドレスデコーダ１３０と、演算データ出力用ポート１４０と、制御回路１５０とを有している。
【００１９】
メモリセルアレイ１１０は、図２に示すように、ロウ方向（行方向）に延びるデータを転送するための複数のビット線ＢＬと、カラム方向（列方向）に延びる、複数のビット線ＢＬに直交するワード線ＷＬと、これらビット線ＢＬおよびワード線ＷＬに接続され、マトリックス状に配されたメモリセルＭＬとからなっている。
【００２０】
メモリセルＭＬは、ＤＲＡＭ構造のものであって、アクセストランジスタＴとキャパシタＣとで構成されている。キャパシタＣの一端は接地され、その他端はアクセストランジスタＴを介してビット線ＢＬに接続されている。また、アクセストランジスタＴのゲートはワード線ＷＬに接続されている。このメモリセルＭＬに対する読み出しおよび書き込みは、従来周知のように、ワード線ＷＬを活性化してアクセストランジスタＴをオン状態とすることで行われる。
【００２１】
ここで、それぞれのビット線に接続される複数のメモリセルＭＬは、８本のワード線ＷＬに接続される８個のメモリセルＭＬ毎のユニットＵＮに分割され、この分割された各ユニットＵＮにそれぞれ１個の８ビットデータの各ビットを記憶可能とされている。
【００２２】
この場合、８本のワード線に接続された８個のメモリセルＭＬのキャパシタＣは、上述の８ビットのデータの各ビットの重みに対応した容量を持つようにされている。図２においては、上側がＬＳＢ(least significant bit)側であり、下側がＭＳＢ(most significant bit)側である。各ユニットＵＮを構成する８個のメモリセルＭＬのキャパシタＣの容量は、ＬＳＢ側からＭＳＢ側に向かって順次倍にされている。つまり、各ユニットＵＮを構成する８個のメモリセルＭＬのキャパシタＣの容量は、ＬＳＢのキャパシタＣの容量をｐとすると、ＬＳＢ側から、それぞれｐ，２ｐ，４ｐ，８ｐ，１６ｐ，３２ｐ，６４ｐ，１２８ｐとされる。
【００２３】
記憶データ入出力用ポート１２０は、記憶データ用カラムアドレスデコーダ１２１、アドレスバッファ１２２およびＩ／Ｏバッファ１２３で構成されている。カラムアドレスデコーダ１２１には、Ｉ／Ｏゲート（カラム・スイッチ）やセンスアンプ等が含まれている。カラムアドレスデコーダ１２１には、アドレスバッファ１２２を介してカラムアドレスが入力される。
【００２４】
カラムアドレスデコーダ１２１は、アドレスバッファ１２２を介して供給されるカラムアドレスに対応して、メモリセルアレイ１１０のカラム方向の所定のメモリセルＭＬに接続されるビット線ＢＬとの接続を確保し、Ｉ／Ｏバッファ１２３およびカラムアドレスデコーダ１２１を通じて、当該カラム方向の所定のメモリセルＭＬに対する、記憶データの書き込み、読み出しが可能となるようにする。
【００２５】
また、ロウアドレスデコーダ１３０には、アドレスバッファ１３１を介してロウアドレスが入力される。ロウアドレスデコーダ１３０は、アドレスバッファ１３１を介して供給されるロウアドレスに対応して、メモリセルアレイ１１０のロウ方向の所定のメモリセルＭＬに接続されるワード線ＷＬを活性化し、Ｉ／Ｏバッファ１２３およびカラムアドレスデコーダ１２１を通じて、当該ロウ方向の所定のメモリセルＭＬに対する、記憶データの書き込み、読み出しが可能となるようにする。
【００２６】
また、演算データ出力用ポート１４０は、演算データ出力用カラムアドレスデコーダ１４１、アドレスバッファ１４２およびＡ／Ｄコンバータ１４３で構成されている。カラムアドレスデコーダ１４１には、Ｉ／Ｏゲート（カラム・スイッチ）やセンスアンプ等が含まれている。カラムアドレスデコーダ１４１には、アドレスバッファ１４２を介してカラムアドレスが入力される。
【００２７】
カラムアドレスデコーダ１４１は、アドレスバッファ１４２を介して供給されるカラムアドレスに対応して、メモリセルアレイ１１０のカラム方向の所定のメモリセルＭＬに接続される１つのビット線ＢＬとの接続を確保し、その１つのビット線ＢＬ上に得られた電荷総量に対応した値の電圧信号を出力する。Ａ／Ｄコンバータ１４３は、カラムアドレスデコーダ１４１から出力される電圧信号（アナログ信号）を所定ビット、例えば８ビットのデジタル信号に変換して演算データとして出力する。
【００２８】
また、制御回路１５０は、メモリブロック１００の上述した各回路の動作を、制御入力に基づいて制御する。
【００２９】
次に、図１に示すメモリブロック１００の動作を説明する。
このメモリブロック１００は、演算データ出力用ポート１４０を除く部分のみで、図８に示す従来のメモリブロック２００と同様の動作によって、メモリセルアレイ１１０の所定のメモリセルＭＬに対する、記憶データの書き込み、読み出しが可能である。
【００３０】
すなわち、カラムアドレスデコーダ１２１には、アドレスバッファ１２２を介してカラムアドレスが入力される。カラムアドレスデコーダ１２１は、このカラムアドレスに対応して、メモリセルアレイ１１０のカラム方向の所定のメモリセルＭＬに接続されるビット線ＢＬとの接続を確保する。また、ロウアドレスデコーダ１３０には、アドレスバッファ１３１を介してロウアドレスが入力される。ロウアドレスデコーダ１３０は、このロウアドレスに対応して、メモリセルアレイ１１０のロウ方向の所定のメモリセルＭＬに接続されるワード線ＷＬを活性化する。これにより、Ｉ／Ｏバッファ１２３およびカラムアドレスデコーダ１２１を通じて、カラム方向およびロウ方向の所定のメモリセルＭＬに対する、記憶データの書き込み、読み出しが行われる。
【００３１】
演算データ出力用ポート１４０を使用した、演算データの出力動作について説明する。メモリセルアレイ１１０の各ユニットＵＮの８個のメモリセルＭＬには、予め、それぞれ８ビットのデータの各ビットが記憶されている。
【００３２】
ロウアドレスデコーダ１３０には、アドレスバッファ１３１を介してロウアドレスが入力される。ロウアドレスデコーダ１３０は、このロウアドレスに対応して、メモリセルアレイ１１０のロウ方向の２以上のユニットＵＮ、つまり２つ以上のデータに係る複数のワード線ＷＬを同時に活性化する。これにより、各ビット線ＢＬ上で、それぞれ、活性化された２つ以上のデータに係る複数のワード線ＷＬに接続された複数のメモリセルＭＬのキャパシタＣの蓄積電荷が結合される。
【００３３】
ここで、複数のメモリセルＭＬのキャパシタＣの総容量をＣmとし、そこに蓄積されている電荷総量をＱcとし、さらにビット線ＢＬの容量をＣbとすると、ビット線電荷総量Ｑbは、次式のようになる。つまり、ビット線電荷総量Ｑbは、複数のメモリセルＭＬのキャパシタＣに蓄積されている電荷総量Ｑcに比例したものとなる。
Ｑb＝Ｑc×Ｃb／（Ｃm＋Ｃb）        ・・・（１）
【００３４】
この状態で、カラムアドレスデコーダ１４１には、アドレスバッファ１４２を介してカラムアドレスが入力される。カラムアドレスデコーダ１４１は、このカラムアドレスに対応して、メモリセルアレイ１１０のカラム方向の所定のメモリセルＭＬに接続される１つのビット線ＢＬとの接続を確保する。これにより、カラムアドレスデコーダ１４１からは、接続が確保されたビット線ＢＬ上に得られた電荷総量に対応した値の電圧信号が出力される。
【００３５】
そして、この電圧信号がＡ／Ｄコンバータ１４３で８ビットのデジタル信号に変換され、上述した２以上のユニットＵＮに記憶されていた２以上のデータの加算結果に対応した加算データが得られる。この場合、カラムアドレスデコーダ１４１で接続を確保する１つのビット線ＢＬを順次変更することで、Ａ／Ｄコンバータ１４３から、各ビット線ＢＬの部分に対応した加算データが順次得られることとなる。
【００３６】
ここで、図３を参照して、加算演算の具体例を説明する。この具体例は、２つの８ビットのデータを加算する例である。ユニットＵＮ１の部分には被加数データとしての８ビットのデータが記憶されている。この８ビットのデータは「０００１０１００」であって、１０進数表現では「２０」である。一方、ユニットＵＮ２の部分には加数データとしての８ビットのデータが記憶されている。この８ビットのデータは「１００００１０１」であって、１０進数表現では「１３３」である。
【００３７】
このようにＵＮ１，ＵＮ２のそれぞれに被加数、加数のデータが記憶されることで、これらユニットＵＮ１，ＵＮ２のメモリセルＭＬのうち、ハッチングが施されていないキャパシタＣのみが電荷が蓄積された状態となる。この場合、ユニットＵＮ１の８個のメモリセルＭＬの全てのキャパシタＣに蓄積された電荷の総量は、ＬＳＢのメモリセルＭＬのキャパシタＣに蓄積される電荷をｑとすると、２０ｑとなる。同様に、ユニットＵＮ２の８個のメモリセルＭＬの全てのキャパシタＣに蓄積された電荷の総量は、１３３ｑとなる。
【００３８】
このような状態で、２つのユニットＵＮ１，ＵＮ２に係る複数のワード線ＷＬが同時に活性化されて各メモリセルＭＬのアクセストランジスタＴがオン状態になると、ビット線ＢＬ上で、それぞれのユニットＵＮ１，ＵＮ２における蓄積電荷が結合される。これにより、ビット線ＢＬ上で結合された電荷の総量は１０進数で「１５３」に相当するものとなる。つまり、上述の（１）式から、ビット線電荷総量Ｑbは、Ｑb＝１５３ｑ×Ｃb／（Ｃm＋Ｃb）となる。
【００３９】
したがって、カラムアドレスデコーダ１４１からはこの電荷総量「１５３」に対応した値の電圧信号が出力される。Ａ／Ｄコンバータ１４３からは、２つのユニットＵＮ１，ＵＮ２に記憶されていたデータの加算結果に対応した加算データが得られる。
【００４０】
ユニットＵＮ１、ユニットＵＮ２は、８ビット出力であるため、この加算データは、９ビット分の値となる。そこで、９ビット出力のＡ／Ｄコンバータを用いると、加算データをユニットＵＮ１、ユニットＵＮ２に格納された値の精度で出力することができる。また、８ビット出力のＡ／Ｄコンバータを利用することもできる。その場合、出力は８ビット出力であるため、出力値の精度は低くなる。
【００４１】
図４は、ビット線電荷総量と８ビット出力のＡ／Ｄコンバータ１４３の出力値（加算データ）との関係例を示している。図４の場合には、このような変換特性によって、５１２階調から２５６階調への階調変換も行える。図４では５１２階調から２５６階調へと階調が変化しているため、この出力値の２倍の値が実際の加算結果となる。
【００４２】
なお、図４における横軸のビット線電荷総量は、ｑ×Ｃb／（Ｃm＋Ｃb）が１となるように正規化したものである。後述する図６，図７における横軸のビット線電荷総量も同様である。
【００４３】
このように本実施の形態においては、データの読み出しと加算演算との同時処理を行うことができ、演算速度の向上を図ることができる。また、本実施の形態においては、加算演算をするための演算器を設ける必要がなく、コスト低減を図ることができる。また、本実施の形態においては、Ａ／Ｄコンバータ１４３で階調変換を行うことができるため、例えばＡ／Ｄコンバータ１４３がその出力デジタル信号のビット数を変更できるものであれば、専用の回路を設けることなく、階調操作を容易に行うことができる。
【００４４】
なお、上述実施の形態においては、加算演算を行うものを示したが、減算演算を行う構成とすることもできる。
【００４５】
その場合、例えば被減数データおよび減数データが８ビットのデータであるとき、被減数を記憶するユニットＵＮは８個のメモリセルＭＬで構成されるが、減数を記憶するユニットＵＮは９個のメモリセルＭＬで構成される。これは、被減数の８ビットのデータはストレートバイナリの形式でそのまま記憶するが、減数の８ビットのデータは２の補数の形式のデータ（９ビット）に変換して記憶するからである。
【００４６】
ここで、２の補数の形式のデータを９ビットとするのは、減数が８ビットのデータで「００００００００」であるとき、２の補数の形式のデータは「１００００００００」となり、これへの対応のためである。
【００４７】
ここで、図５を参照して、減算演算の具体例を説明する。この具体例は、被減数データとしての８ビットのデータから減数データとしての８ビットのデータを減算する例である。ユニットＵＮ１の部分には被減数データとしての８ビットのデータがそのままストレートバイナリの形式で記憶されている。この８ビットのデータは「１００００１０１」であって、１０進数表現では「１３３」である。一方、ユニットＵＮ２の部分には減数データとしての８ビットのデータが、２の補数の形式のデータに変換され、９ビットのデータとして記憶されている。この８ビットのデータは「０００１０１００」であって、１０進数表現では「２０」である。また、２の補数の形式に変換した後の９ビットのデータは「０１１１０１１００」である。
【００４８】
このようにＵＮ１，ＵＮ２のそれぞれに被減数、減数のデータが記憶されることで、これらユニットＵＮ１，ＵＮ２のメモリセルＭＬのうち、ハッチングが施されていないキャパシタＣのみが電荷が蓄積された状態となる。この場合、ユニットＵＮ１の８個のメモリセルＭＬの全てのキャパシタＣに蓄積された電荷の総量は、ＬＳＢのメモリセルＭＬのキャパシタＣに蓄積される電荷をｑとすると、１３３ｑとなる。同様に、ユニットＵＮ２の９個のメモリセルＭＬの全てのキャパシタＣに蓄積された電荷の総量は、２３６ｑとなる。
【００４９】
このような状態で、２つのユニットＵＮ１，ＵＮ２に係る複数のワード線ＷＬが同時に活性化されて各メモリセルＭＬのアクセストランジスタＴがオン状態になると、ビット線ＢＬ上で、それぞれのユニットＵＮ１，ＵＮ２における蓄積電荷が結合される。これにより、ビット線ＢＬ上で結合された電荷の総量は１０進数で「３６９」に相当するものとなる。
【００５０】
したがって、カラムアドレスデコーダ１４１からはこの電荷総量「３６９」に対応した値の電圧信号が出力される。ここで、「３６９」は、２進数表現では「１０１１１０００１」である。このときのＭＳＢは符号ビットであり、「１」の場合は正を、「０」の場合は負を表すものとなる。そのため、Ａ／Ｄコンバータ１４３では、加算の場合と異なり、この符号ビットを考慮したＡ／Ｄ変換が行われ、２つのユニットＵＮ１，ＵＮ２に記憶されていたデータの減算結果としてのデータが得られる。
【００５１】
図６、図７は、それぞれビット線電荷総量とＡ／Ｄコンバータ１４３の出力値（減算データ）との関係例を示している。ここで、図６は、絶対値変換を行わない場合の例であり、図７は絶対値変換も行う場合の例である。図６の例の場合、ビット線電荷総量「１」〜「５１１」に対応して「−２５５」〜「２５５」のデジタル信号を出力する。一方、図７の例の場合、ビット線電荷総量「１」〜「２５５」に対応して「２５５」〜「１」、「２５６」〜「５１１」に対応して「０」〜「２５５」のデジタル信号を出力する。
【００５２】
なお、被減数データが８ビットのデータの場合には１０進数で「０」〜「２５５」の範囲の値を取り得るが、減数データも８ビットのデータの場合には１０進数で「０」〜「２５５」の範囲の値を取り得る。この場合に、被減数、減数のデータが２つのユニットＵＮ１，ＵＮ２に正しく記憶され、これら２つのユニットＵＮ１，ＵＮ２に係る複数のワード線ＷＬが同時に活性化された場合には、ビット線電荷総量は１０進数で「１」〜「５１１」となり、「０」となることはあり得ない。そのため、図６、図７においては、ビット線電荷総量が「０」の場合に関しても変換を行っているが、その変換後のデジタル値自体には特に意味はない。
【００５３】
また、Ａ／Ｄコンバータ１４３から出力される減算データは、例えば、図６の場合にはＭＳＢが符号ビットとなる９ビットのデータとされ、図７の場合には８ビットのデータとされる。しかし、上述した加算の場合と同様に、このＡ／Ｄコンバータ１４３で階調変換を行うこともできる。
【００５４】
なお、上述実施の形態においては、８個または９個のメモリセルＭＬで１つのデータを記憶するユニットＵＮが構成されるものを示したが、ユニットＵＮを構成するメモリセルＭＬの個数はこれに限定されるものではない。
【００５５】
上述実施の形態では、各ビットのデータを記憶するメモリセルＭＬのキャパシタＣの容量を、そのビットの重みに対応した大きさにすることで、８ビットのデータを記憶するユニットＵＮを８個のメモリセルＭＬのみで構成可能としている。しかし、メモリセルＭＬのキャパシタＣの容量が全て同じであるとした場合、２５６階調の電荷量の蓄積を可能とする必要があることから、２8−１個のメモリセルＭＬでユニットＵＮを構成できる。
【００５６】
また、例えば８ビットのデータを記憶するユニットＵＮは、８個のメモリセルＭＬではなく、これより少ないメモリセルＭＬで構成することもできる。例えばユニットＵＮを４個のメモリセルＭＬで構成することもできる。その場合、各メモリセルＭＬのキャパシタＣには、それぞれ２ビット分の電荷が蓄積される。
【００５７】
例えば、８ビットのデータが「１００００１０１」である場合、ＬＳＢ側から、１番目のメモリセルＭＬには「０１」、つまり１０進数で「１」に相当する電荷量の電荷を蓄積し、２番目のメモリセルＭＬには「０１００」、つまり１０進数で「４」に相当する電荷量の電荷を蓄積し、３番目のメモリセルＭＬには「００００００」、つまり１０進数で「０」に相当する電荷量の電荷を蓄積し、４番目のメモリセルＭＬには「１０００００００」、つまり１０進数で「１２８」に相当する電荷量の電荷を蓄積すればよい。この場合、４個のメモリセルＭＬのキャパシタＣの容量は、１番目のメモリセルＭＬのキャパシタＣの容量をｐとした場合、２番目は４ｐ、３番目は１６ｐ、４番目は６４ｐとすればよい。
【００５８】
また、上述実施の形態においては、各ユニットＵＮに２進データを記憶するものを示したが、各ユニットＵＮのメモリセルＭＬにｎ進の各桁のデータを記憶すれば、ｎ進の演算を行うこともできる。この場合、各ユニットＵＮのメモリセルＭＬのキャパシタＣに、該当する桁の値に応じた電荷量を蓄積することでデータの記憶が可能となる。
【００５９】
例えば、１０進数で「２３５」のデータを記憶する場合、１の桁を記憶するメモリセルＭＬのキャパシタＣには、「５」に相当する電荷量の電荷を蓄積し、１０の桁を記憶するメモリＭＬのキャパシタＣには、「３×１０」に相当する電荷量の電荷を蓄積し、１００の桁を記憶するメモリＭＬのキャパシタＣには、「２×１００」に相当する電荷量の電荷を蓄積すればよい。勿論、各桁に対応したメモリセルＭＬのキャパシタＣは、それぞれの桁の最大蓄積電荷量を蓄積できるだけの容量を持つことが必要となる。
【００６０】
また、上述実施の形態においては、演算の例として加算および減算を示したが、各ユニットに入力するデータの形式、配置等を工夫することで、乗算や除算なども行うことができる。例えば、Ｍ×Ｎの乗算は、ＭをＮ個のユニットＵＮにコピーしておき、その後はこのＮ個のユニットＵＮについて上述した加算演算を行えばよい。
【００６１】
また、上述実施の形態においては、メモリセルアレイ１１０のメモリセルＭＬがＤＲＡＭ構造のものを示したが、これに限定されるものではない。要は、１つのビット線上で、活性化された複数のワード線に接続された複数のメモリセルのキャパシタの蓄積電荷を結合し得るものであればよい。
【産業上の利用可能性】
【００６２】
この発明は、データの読み出しと演算の同時処理を可能にし、演算速度の向上、演算器の削減によるコスト低減を図るものであり、メモリからデータを読み出して加算、減算など演算処理をする用途に適用できる。
【図面の簡単な説明】
【００６３】
【図１】実施の形態としてのメモリブロックの構成を示すブロック図である。
【図２】メモリセルアレイの一部を示す図である。
【図３】加算演算の具体例を説明するための図である。
【図４】ビット線電荷総量と出力値との関係（加算の場合）を示す図である。
【図５】減算演算の具体例を説明するための図である。
【図６】ビット線電荷総量と出力値との関係（減算の場合、絶対値変換なし）を示す図である。
【図７】ビット線電荷総量と出力値との関係（減算の場合、絶対値変換あり）を示す図である。
【図８】従来のメモリブロックの構成例を示すブロック図である。
【図９】メモリセルアレイの一部を示す図である。
【符号の説明】
【００６４】
１００・・・メモリブロック、１１０・・・メモリセルアレイ、１２０・・・記憶データ入出力用ポート、１２１・・・記憶データ用カラムアドレスデコーダ、１２２・・・アドレスバッファ、１２３・・・Ｉ／Ｏバッファ、１３０・・・ロウアドレスデコーダ、１３１・・・アドレスバッファ、１４０・・・演算データ出力用ポート、１４１・・・演算データ出力用カラムアドレスデコーダ、１４２・・・アドレスバッファ、１４３・・・Ａ／Ｄコンバータ、１５０・・・制御回路
【図１】
2004158170.tif 000003
【図２】
2004158170.tif 000004
【図３】
2004158170.tif 000005
【図４】
2004158170.tif 000006
【図５】
2004158170.tif 000007
【図６】
2004158170.tif 000008
【図７】
2004158170.tif 000009
【図８】
2004158170.tif 000010
【図９】
2004158170.tif 000011