(57)【特許請求の範囲】
【請求項１】
外部から入力データが入力されるデータ入力部と、
前記入力データに関連付けられた入力データ関連アドレスが入力されるアドレス入力部と、
複数の論理メモリブロックで構成されてデータを記憶する記憶部と、
前記入力データと、前記記憶部から読み出された読出しデータとで所定の演算処理を行う演算部と、
前記演算部で得られた演算結果データを前記外部へ出力するデータ出力部と
を有し、
前記読出しデータを前記記憶部から読み出す読出しアドレスの一部は、前記入力データ関連アドレスの当該一部と一致せず、
前記複数の論理メモリブロックは、
前記入力データ関連アドレスの前記一部をブロック選択用アドレスとして選択され、前記入力データ関連アドレスで前記入力データを格納する第１のメモリブロックと、
前記読出しアドレスの前記一部をブロック選択用アドレスとして選択され、前記読出しアドレスで前記読出しデータを読み出す第２のメモリブロックと
を有すること
を特徴とする半導体記憶装置。
【請求項２】
請求項１記載の半導体記憶装置において、
前記第２のメモリブロックは、複数ビットの前記ブロック選択用アドレスを用いて複数選択されること
を特徴とする半導体記憶装置。
【請求項３】
請求項２記載の半導体記憶装置において、
前記演算部は、複数の前記第２のメモリブロックから読み出された複数の前記読出しデータのそれぞれと前記入力データとを演算して、それぞれの前記演算結果データを所定の順序で連続して出力すること
を特徴とする半導体記憶装置。
【請求項４】
請求項１乃至３のいずれか１項に記載の半導体記憶装置において、
前記演算部は、複数種類の演算処理が可能であること
を特徴とする半導体記憶装置。
【請求項５】
請求項３記載の半導体記憶装置において、
前記第１のメモリブロック及び前記複数の第２のメモリブロックの活性化順序と、前記演算結果データの出力順序とを制御するメモリブロック制御部をさらに有すること
を特徴とする半導体記憶装置。
【請求項６】
基本情報と、前記基本情報と圧縮対象情報とから得られた解凍対象情報を用いて作成された指示情報とを圧縮して圧縮情報を作成し、前記圧縮情報から抽出された前記指示情報に基づいて作成された前記解凍対象情報を解凍して前記圧縮対象情報を復元する半導体集積回路システムにおいて、
演算不処理コマンドに関連付けて入力された前記圧縮対象情報と、演算処理コマンドに関連付けて入力された前記基本情報との演算処理による前記解凍対象情報の作成と、
前記圧縮情報から抽出されて演算不処理コマンドに関連付けて入力された前記解凍対象情報と、演算処理コマンドに関連付けて入力された前記基本情報との前記演算処理による前記圧縮対象情報の復元とに請求項１乃至５のいずれか１項に記載の半導体記憶装置が用いられること
を特徴とする半導体集積回路システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置及びそれを用いた半導体集積回路システム並びに半導体記憶装置の制御方法に関する。
【背景技術】
【０００２】
ＤＶＣ（デジタル・ビデオ・カメラ）やＤＳＣ（デジタル・スチル・カメラ）、あるいは携帯電話機器等の電子装置は、近年目覚しい技術進歩を遂げてきている。それに伴い、これらの電子装置で取り扱われる画像のサイズや画質は大型化や高精細化の要求が高まってきている。また、通信ネットワーク上でこれらの画像情報を伝送するには十分広い帯域幅（ブロードバンド）を備えた伝送路が必要となる。しかしながら、電子装置に搭載される記憶装置の容量には限度があり、また、通信チャネルの帯域幅には限界があるため、データ自体の帯域幅を抑える圧縮技術に注目が集まっている。
【０００３】
動画の圧縮は、画面を複数のブロックに分割して隣接ブロック同士の画像の差（Ｓｐａｔｉａｌ（空間的）な冗長性）を検出したり、前後のフレーム同士の画像の動きの差（Ｔｅｍｐｏｒａｌ（時間的）な冗長性）を検出したりして冗長部分を削除することで行われる。Ｈ．２６４（ＭＰＥＧ−４  ＡＶＣ）等では、より高度な圧縮アルゴリズムが採用されており、圧縮装置の処理速度の向上が望まれている。
【特許文献１】特開２００３−２０８３０３号公報
【特許文献２】特開平０８−３０５６２５号公報
【特許文献３】特開平０１−１７１１９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
冗長部分の削除による動画の圧縮では、所定の半導体記憶装置（半導体メモリ）に書き込まれた画像情報から複数のブロック（またはフレーム）のデータを読み出し、読み出されたデータ同士の差を検出するため、半導体記憶装置に対する多数回のアクセスが発生する。このため、記憶装置を制御する制御装置の負担が増加するという問題が生じている。現状の汎用メモリを用いて大容量のデータを所定時間内に処理するには、半導体記憶装置の動作周波数を高めて単位時間当たりの処理回数を増やす以外に解決策がない。しかし、この方法では、半導体記憶装置及びその制御装置等を実装する基板設計の難易度が高くなってしまうという問題が生じる。
【０００５】
特許文献１には、論理演算を行う演算機能部をメモリセル毎に有する半導体メモリ装置が開示されている。特許文献２には、メモリセル内に保持されたデータ同士を演算する演算処理機能付き半導体メモリが開示されている。また、特許文献３には、入力されたデータと記憶手段から読み出されたデータとを演算して得た演算結果データを再び記憶手段に送出する演算機能付記憶素子が開示されている。しかしながら、これらのいずれの文献にもアクセス回数を減少させて制御装置の負担を低減させると共に基板設計を容易にする技術は開示されていない。
【０００６】
本発明の目的は、アクセス回数を減少させて制御装置の負担を低減させると共に基板設計が容易になる半導体記憶装置及びそれを用いた半導体集積回路システム並びに半導体記憶装置の制御方法を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的は、外部から入力データが入力されるデータ入力部と、データを記憶する記憶部と、前記入力データと、前記記憶部から読み出された読出しデータとで所定の演算処理を行う演算部と、前記演算部で得られた演算結果データを前記外部へ出力するデータ出力部とを有することを特徴とする半導体記憶装置によって達成される。
【０００８】
また、上記目的は、演算部に演算処理をさせない演算不処理コマンドに関連付けて外部から入力された第１データを記憶部に記憶し、前記演算部に所定の演算処理をさせる演算処理コマンドに関連付けられた第２データを前記外部から入力し、前記演算処理コマンドに基づいて、前記第２データと、前記記憶部から読み出した前記第１データとの演算処理を前記演算部で実行し、前記演算処理コマンドの入力時から所定時間経過後に、前記演算処理により得られた演算結果データを前記外部に出力することを特徴とする半導体記憶装置の制御方法によって達成される。
【０００９】
さらに、上記目的は、基本情報と、前記基本情報と圧縮対象情報とから得られた解凍対象情報を用いて作成された指示情報とを圧縮して圧縮情報を作成し、前記圧縮情報から抽出された前記指示情報に基づいて作成された前記解凍対象情報を解凍して前記圧縮対象情報を復元する半導体集積回路システムにおいて、演算不処理コマンドに関連付けて入力された前記圧縮対象情報と、演算処理コマンドに関連付けて入力された前記基本情報との演算処理による前記解凍対象情報の作成と、前記圧縮情報から抽出されて演算不処理コマンドに関連付けて入力された前記解凍対象情報と、演算処理コマンドに関連付けて入力された前記基本情報との前記演算処理による前記圧縮対象情報の復元とに上記本発明のいずれかの半導体記憶装置が用いられることを特徴とする半導体集積回路システムによって達成される。
【発明の効果】
【００１０】
本発明によれば、アクセス回数が減少して制御装置の負担が低減すると共に基板設計が容易となる半導体記憶装置及びそれを用いた半導体集積回路システムを実現できる。
【発明を実施するための最良の形態】
【００１１】
本発明の一実施の形態による半導体記憶装置及びそれを用いた半導体集積回路システム並びに半導体記憶装置の制御方法について図１乃至図３０を用いて説明する。まず、本実施の形態による半導体記憶装置の基本原理について図１を用いて説明する。図１は、本実施の形態による半導体記憶装置１の概略の構成を示している。図１では、理解を容易にするため、半導体記憶装置１内部のデータを破線の枠で囲んで示している。なお、図２以降においても半導体記憶装置１内部のデータを同様の方法で示す。
【００１２】
図１に示すように、半導体記憶装置１は、外部からの入力データＩＤが入力されるデータ入力部７と、複数のメモリセル（不図示）を備えてデータを記憶する記憶部３と、データ入力部７に入力された入力データＩＤと記憶部３から読み出された読出しデータＲＤとで所定の演算処理を行う演算部５と、演算部５で得られた演算結果データＯＤを外部へ出力するデータ出力部１３とを有している。
【００１３】
データ入力部７は、外部からの入力データＩＤが入力するデータ入力端子８と、データ入力端子８に入力された入力データＩＤを一時保持する入力データバッファ９とを有している。データ入力端子８は、入力データＩＤ用の４つの入力端子Ｄ０〜Ｄ３を有している。
【００１４】
データ出力部１３は、演算部５で得られた演算結果データＯＤを出力する出力データドライバ１５と、出力データドライバ１５からの演算結果データＯＤを外部に出力するデータ出力端子１４とを有している。データ出力端子１４は、演算結果データＯＤ用の４つの出力端子Ｑ０〜Ｑ３を有している。本願では、４ビットデータ用の入出力端子を例にとって説明するが、外部からパラレルに入力されるビット数ｎに応じた数の入力端子Ｄ０〜Ｄｎ−１や、外部に対してパラレルに出力するビット数ｎに応じた数のデータ出力端子Ｑ０〜Ｑｎ−１を有していればよい。
【００１５】
次に、半導体記憶装置１の基本動作について説明する。４ビットの入力データＩＤ（例えば、「０１０１」）は、外部からデータ入力部７を介して演算部５に入力される。４ビットの読出しデータＲＤ（例えば、「０１１０」）は、記憶部３から読み出されて演算部５に入力される。演算部５は、入力データＩＤと読出しデータＲＤとの演算処理（例えば、排他的論理和（ＥＸＯＲ））を行い、４ビットの演算結果データＯＤ（＝「００１１」）をデータ出力部１３に出力する。データ出力部１３は演算結果データＯＤを外部に出力する。
【００１６】
このように、本実施の形態の基本原理に係る半導体記憶装置１は、装置内に演算部５を有しているので、記憶部３に記憶された所定のデータを半導体記憶装置１の外部に出力することなく、装置内で入力データとの演算処理を行うことができる。これにより、半導体記憶装置１へのアクセス回数を減少させて、半導体記憶装置１を制御する制御装置の負担を低減させることができる。また、半導体記憶装置１へのアクセス回数が減少して単位時間当たりの処理能力が向上するので、半導体記憶装置１及びその制御装置の動作周波数を低くできる。これにより、半導体記憶装置１を実装する基板の設計が容易になる。さらに、本基本原理による半導体記憶装置１は、演算結果データＯＤを記憶部３に格納せずにデータ出力部１３に直接送出するので、演算結果データの高速逐次出力が可能になる。
【００１７】
次に、本実施の形態による半導体記憶装置について、図２乃至図２９を用いてより詳細に説明する。まず、半導体記憶装置１の概略構成について図２乃至図４を用いて説明する。図２は、半導体記憶装置１の概略構成を示す機能ブロック図である。図２に示すように、半導体記憶装置１は、入力データを書き込んだり記憶したデータを読み出したりする記憶部３を有している。記憶部３は、複数（図２では４つ）の論理メモリブロック３ａ、３ｂ、３ｃ、３ｄで構成されている。
【００１８】
また、半導体記憶装置１は、データ入出力部２１、クロック入力部２９、コマンド入力部３１、制御部３３、アドレス入力部３５、及びアドレス制御部３６を有している。
【００１９】
クロック入力部２９には、例えば、外部クロック信号ＣＬＫとクロックイネーブル信号ＣＫＥ（共に不図示）とが外部から供給される。クロック入力部２９は、例えば、外部クロック信号ＣＬＫの立ち上がりのエッジに同期して内部クロック信号ＣＬＫ１を発生させ、外部クロック信号ＣＬＫの立ち下がりのエッジに同期して、内部クロック信号ＣＬＫ１に対して位相が１８０°ずれた内部クロック信号ＣＬＫ２を発生するようになっている。
【００２０】
例えば、クロックイネーブル信号ＣＫＥが活性化レベルのとき、内部クロック信号ＣＬＫ１、ＣＬＫ２は記憶部３に供給される。なお、内部クロック信号ＣＬＫ１、ＣＬＫ２、クロックイネーブル信号ＣＫＥはクロック入力部２９からコマンド入力部３１、制御部３３、アドレス入力部３５、アドレス制御部３６、及びデータ入出力部２１のそれぞれに供給されるようになっている。
【００２１】
コマンド入力部３１には、外部から種々の制御信号（例えば一般に、チップセレクト信号／ＣＳ、ローアドレスストローブ信号／ＲＡＳ、コラムアドレスストローブ信号／ＣＡＳ、及びライトイネーブル信号／ＷＥ等）が入力される。ここで、“／”は信号レベルがロー（Ｌ）でアクティブになることを示している。
【００２２】
制御部３３は、これらの制御信号の組み合わせにより半導体記憶装置１の動作を制御する種々のコマンドを検出し、当該コマンドに基づいて所定の制御信号を生成する。生成された制御信号は、セレクタ２７ａ〜２７ｄ及びＩ／Ｏバッファ２５ａ〜２５ｄ、演算部５、アドレス制御部３６、デコーダ２３ａ〜２３ｄ等に入力されるようになっている。
また、制御部３３は、例えば複数の演算結果データを連続して出力する際の出力順序の設定や、読出しコマンドの受付時点から所定クロック数（例えば、１、２、又は３クロック分）だけ遅延させてデータを出力させるレイテンシ（Ｌａｔｅｎｃｙ）を設定することができるようになっている。
【００２３】
アドレス入力部３５は、入力されたアドレス信号Ａ０〜Ａｎ（本例ではｎ＝４）を一時保持しつつデコーダ２３ａ〜２３ｄ及びアドレス制御部３６に出力するようになっている。図２の例では、入力したアドレスの上位２ビットＡ０及びＡ１が論理メモリブロック３ａ〜３ｄのブロック選択用アドレスとして使用されている。
【００２４】
論理メモリブロック３ａ〜３ｄ及び、セレクタ２７ａ〜２７ｄ、Ｉ／Ｏバッファ２５ａ〜２５ｄは、制御部３３及びアドレス制御部３６から出力された所定の制御信号で活性化／非活性化が制御される。
【００２５】
データ入出力部２１には入出力データＤＱ０〜ＤＱｎ（本例ではｎ＝４）が入力される。データ入出力部２１は、演算部５あるいはセレクタ２７ａ〜２７ｄ及びＩ／Ｏバッファ２５ａ〜２５ｄとの間で書込み／読出しデータの入出力を行い、論理メモリブロック３ａ〜３ｄにデータを書き込んだり論理メモリブロック３ａ〜３ｄからデータを読み出したりするために書き込み用及び読み出し用のｎビットパラレルの双方向バスライン２を有している。この双方向バスライン２は論理メモリブロック３ａ〜３ｄのそれぞれのセレクタ２７ａ〜２７ｄ及びＩ／Ｏバッファ２５ａ〜２５ｄに接続されている。
【００２６】
論理メモリブロック３ａ、３ｂ、３ｃ、３ｄは同一の機能を有しているが、例えば、論理メモリブロック３ａを入力データ格納用の第１のメモリブロックとし、論理メモリブロック３ｂ、３ｃ、３ｄをデータ読み出し用の第２のメモリブロックとすると、外部からデータ入出力部２１に入力された入力データは、アドレス入力部３５に入力されたアドレスをデコーダ２３ａでデコードして第１のメモリブロック３ａ内に格納される。
【００２７】
また、第２のメモリブロック３ｂ〜３ｄ内の所定の読出しデータは、アドレス入力部３５に入力されたアドレスをデコーダ２３ｂ、２３ｃ、２３ｄでデコードして決定される。例えば、第２のメモリブロック３ｂ、Ｉ／Ｏバッファ２５ｂ及びセレクタ２７ｂが活性化されると、第２のメモリブロック３ｂ内の所定のメモリセル群に格納されていたデータは、読出しデータとしてＩ／Ｏバッファ２５ｂ、セレクタ２７ｂ及び双方向バスライン２を介して演算部５に入力される。
【００２８】
制御部３３及びアドレス制御部３６は、入力データ、読出しデータ及び演算結果データが所定のタイミングで伝送されるように、第１のメモリブロック３ａと、第２のメモリブロック３ｂ〜３ｄと、Ｉ／Ｏバッファ２５ａ〜２５ｄと、セレクタ２７ａ〜２７ｄとを適切に制御するようになっている。制御部３３及びアドレス制御部３６等はクロック入力部２９に入力されたクロック信号に同期して動作するようになっている。
【００２９】
演算部５は読出しデータと入力データとの間で所定の演算処理をし、双方向バスライン２を介して演算結果データをデータ入出力部２１に出力する。後程詳細に説明するが、演算部５は、第２のメモリブロック３ｂ、３ｃ、３ｄからそれぞれ読み出された読出しデータと、入力データとをそれぞれ演算処理して所定の順序で演算結果データを連続してデータ入出力部２１に出力できるようになっている。また、演算部５は、例えば論理和、論理積、あるいは排他的論理和等の複数種類の演算処理機能を有し、例えば制御部３３に備えられた演算指定部（不図示）から出力された演算指定信号に基づいて当該複数種類の演算処理の一を選択できるようになっている。さらに、演算部５は、入力データと読出しデータとの演算を行わずに読出しデータを出力する演算不処理状態を選択できるようになっている。
【００３０】
図３は、データ入出力部２１の概略構成を示している。図３に示すように、データ入出力部２１は、例えば外部からの入力データが入力されるデータ入力端子と、演算部５から出力された演算結果データを外部に出力するデータ出力端子とが共通化されたデータ入出力端子１２と、入力データバッファ９と、データ出力ドライバ１５とを有している。データ入出力端子１２は、例えば４ビットの入力データＩＤの入力と、４ビットの演算結果データＯＤの出力とが可能なように、４つの端子ＤＱ０〜ＤＱ３で構成されている。
【００３１】
図４は、記憶部３内に例えばマトリクス状に配置された複数のメモリセルのうちの１つのメモリセルの回路構成例を示している。図４（ａ）は、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）のメモリセルを示し、図４（ｂ）は、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）のメモリセルを示している。図４（ａ）に示すように、ＤＲＡＭのメモリセルは、ゲート端子がワード線ＷＬに接続されたアクセストランジスタＴ１と、アクセストランジスタＴ１を介して一方の電極がビット線ＢＬに接続され、他方の電極が所定の電圧出力端子に接続された容量Ｃ１とを有している。容量Ｃ１の他方の電極には、当該電圧出力端子から出力された電圧ＶＰＬが印加される。当該メモリセルでは、容量Ｃ１の一方の電極が記憶ノードＮ１になる。ＤＲＡＭのメモリセルでは、容量Ｃ１に“１”または“０”のデータが記憶される。アクセストランジスタＴ１を介して、容量Ｃ１とビット線ＢＬとの間で、読み出し及び書き込みのデータ転送が行われる。
【００３２】
図４（ｂ）に示すように、ＳＲＡＭのメモリセルは相補型金属酸化物半導体（ＣＭＯＳ）インバータ１７、１９を有している。ＣＭＯＳインバータ１７は、負荷素子であるＰ型ＭＯＳトランジスタＴ２とＮ型ＭＯＳトランジスタＴ３とが電源ＶＤＤと基準電位（グランド）との間に直列に接続されて構成されている。ＣＭＯＳインバータ１９は、負荷素子であるＰ型ＭＯＳトランジスタＴ４とＮ型ＭＯＳトランジスタＴ５とが電源ＶＤＤとグランドとの間に直列に接続されて構成されている。ＣＭＯＳインバータ１７、１９の各出力、即ち記憶ノードＮ１、Ｎ２の各電位が互いに他のＣＭＯＳインバータ１９、１７の入力、即ちＮ型ＭＯＳトランジスタＴ３、Ｔ５の各ゲート入力となっている。ＣＭＯＳインバータ１７の記憶ノードＮ１は、ゲート端子がワード線ＷＬに接続されたアクセストランジスタＴ６を介してビット線／ＢＬに接続されている。ＣＭＯＳインバータ１９の記憶ノードＮ２は、ゲート端子がワード線ＷＬに接続されたアクセストランジスタＴ７を介してビット線ＢＬに接続されている。ここで、”／”は信号レベルがロー（０）でアクティブになることを示している。ＳＲＡＭのメモリセルでは、一対のＣＭＯＳインバータ１７、１９に“１”又は“０”のデータが記憶される。アクセストランジスタＴ６、Ｔ７を介して、一対のＣＭＯＳインバータ１７、１９とビット線／ＢＬ、ＢＬとの間で、読み出し及び書き込みのデータ転送が行われる。記憶部３内のメモリセルの構造は、ＤＲＡＭ又はＳＲＡＭのメモリセルのいずれでもよい。
【００３３】
次に、図２に示す半導体記憶装置１の各構成部及びその変形例並びに半導体記憶装置１の制御方法について図５乃至図２９を用いて説明する。図５は、所定の読出しデータの選択方法を説明する図である。図５は、説明を容易にするため、図２に示す半導体記憶装置１の一部あるいは要部のみを示している。図６以降においても、必要に応じて、図２に示す構成の一部あるいは要部のみを示して説明する。また、必要に応じ、図３で例示したデータ入出力部２１に代えて、図１に例示したデータ入力部７及びデータ出力部１３を用いて説明する。図５に示すように、アドレス入力部３５は、所定のアドレスが入力されるアドレス入力端子３８と、当該所定のアドレスを一時保持する入力アドレスバッファ３９とを有している。アドレス入力端子３８は、例えば４ビットのアドレスが入力されるように４つの端子Ａ０〜Ａ３で構成されている。端子Ａ０には、例えば最上位ビットのデータが入力され、端子Ａ３には、例えば最下位ビットのデータが入力される。
【００３４】
記憶部３内の複数のメモリセル（不図示）から読出しデータＲＤが格納されたメモリセル群を選択する読出しアドレスＲＡは、入力データＩＤに関連付けられてアドレス入力部３５に入力された入力データ関連アドレスＡＤの複数ビットの一部と一致し、他の一部は入力データ関連アドレスＡＤの他の一部と一致しないようになっている。図５に示す例では、入力データ関連アドレスＡＤと一致しないビット（例えば、図中破線の楕円で示す最上位ビット）を無視して、入力データ関連アドレスＡＤと一致するビット（０１１）で構成されるセル選択アドレスＣＡをデコーダ２３でデコードして、読出しデータＲＤが格納されたメモリセル群が決定される。
【００３５】
図６は、記憶部３に入力データＩＤを記憶し、所定の読出しデータＲＤを読み出す構成を示している。図６に示す構成では、入力データ関連アドレスＡＤの最上位ビットが第１又は第２のメモリブロックを選択するためのブロック選択用アドレスＢＡになっている。
【００３６】
図２のアドレス制御部３６内には、入力データ関連アドレスＡＤの最上位ビットの値を反転させるインバータ回路を備えたアドレス指定部３７が設けられている。入力データ関連アドレスＡＤがアドレス入力部３５からアドレス制御部３６に入力されると、アドレス設定部３７により入力データ関連アドレスＡＤの最上位ビットの値を反転させたブロック選択用アドレスＢＡが生成され、入力データ関連アドレスＡＤの下位３ビットと同一値のセル選択アドレスＣＡと組み合わせて読出しアドレスＲＡが生成される。
【００３７】
入力データ関連アドレスＡＤはアドレス制御部３６からデコーダ２３ａに送出されてデコードされ、入力データ格納用の第１のメモリブロック３ａに入力データＩＤが格納される。読出しアドレスＲＡはアドレス制御部３６からデコーダ２３ｂに送出されてデコードされ、データ読み出し用の第２のメモリブロック３ｂから所定の読出しデータＲＤが読み出される。このようにして、入力データは第１のメモリブロック３ａへ格納され、読出しデータは第２のメモリブロック３ｂから読み出されて演算部５に送られる。
【００３８】
アドレス制御部３６から入力データ関連アドレスＡＤと読出しアドレスＲＡをほぼ同時に送出可能なので、入力データＩＤの格納と読出しデータＲＤの読み出しをほぼ同時に行うことができる。即ち、本実施の形態による半導体記憶装置１は、１つの入力データ関連アドレスＡＤに対して、入力データ書き込み用のメモリブロック（第１のメモリブロック３ａ）と、データ読み出し用のメモリブロック（第２のメモリブロック３ｂ）とをほぼ同時に指定できるので、高速なデータ処理が可能になる。
【００３９】
次に、半導体記憶装置１でのデータ処理動作について図７を用いて説明する。図７は、図６の半導体記憶装置１における入出力及び演算処理の動作を示すタイミングチャートである。図７上段から、クロック入力部２９からのクロック信号ＣＬＫ、コマンド入力部３１に入力した種々の制御信号に基づいて制御部３３で検出されたコマンド（ＣＭＤ）、データ入力部７に入力される入力データ（Ｉｎｐｕｔ）、アドレス入力部３５に入力される所定のアドレス（ＡＤＤ）、第１のメモリブロック３ａ（ＢＬＫ３ａ）、第２のメモリブロック３ｂ（ＢＬＫ３ｂ）、及びデータ出力部１３から外部に出力される出力データ（Ｏｕｔｐｕｔ）を示している。また、図７の左から右に時間経過を表している。
【００４０】
図７に示すように、各メモリブロック３ａ、３ｂを活性化させるメモリブロック活性化コマンドＣＭＤ１と、メモリブロック活性化コマンドＣＭＤ１に関連付けられた入力データＩＤ及び入力データ関連アドレスＡＤとは、クロック信号ＣＬＫの立ち上がりエッジでラッチされて半導体記憶装置１内部に入力される。メモリブロック活性化コマンドＣＭＤ１及び入力データ関連アドレスＡＤにより、例えば各メモリブロック３ａ、３ｂは同時に活性化される。入力データＩＤは、入力データ関連アドレスＡＤに基づいて第１のメモリブロック３ａに書き込まれる。読出しデータＲＤは読出しアドレスＲＡに基づいて第２のメモリブロック３ｂから読み出される。演算部５は入力データＩＤと読出しデータＲＤとを演算処理して演算結果データＯＤをデータ出力部１３に出力する。半導体記憶装置１は読出しデータＯＤを出力データＱとしてデータ出力部１３から外部に出力する。
【００４１】
図８は、アドレス指定部３７の変形例を示している。本変形例のアドレス指定部３７は、アドレスキーＡＫを保持するアドレスキー保持部４１と、アドレスキーＡＫと入力データ関連アドレスＡＤとを演算処理するアドレス演算部４３とを有している。アドレスキー保持部４１は、例えば４ビットのアドレスキーＡＫを格納するアドレスキー格納部ａを有している。アドレスキーＡＫのビット数は４ビットに限られないが、入力データ関連アドレスＡＤのビット数と同じであるのが好ましい。アドレス演算部４３は、アドレスキーＡＫと入力データ関連アドレスＡＤとで所定の演算処理を行い、セル選択アドレスＣＡとブロック選択用アドレスＢＡを組み合わせた読出しアドレスＲＡを出力する。本変形例のアドレス演算部４３は、例えばアドレスキーＡＫ及び入力データ関連アドレスＡＤの各ビットデータをそれぞれ入力とするＥＸＯＲゲート回路を４個組み合わせた構成を有している。
【００４２】
例えば、入力データ関連アドレスＡＤの最上位ビットをブロック選択用アドレスＢＡとして用いるためには、アドレスキー格納部ａ０〜ａ３にアドレスキーＡＫ（例えば、「１０００」）を格納しておく。これにより、アドレスキーＡＫ（１０００）と、入力データ関連アドレスＡＤ（例えば、「１０１１」）とをアドレス演算部４３で演算処理（ＥＸＯＲ）することにより、読出しアドレスＲＡ（００１１）が得られる。このようにアドレスの最上位ビットをブロック選択用アドレスＢＡとして用い、入力データ関連アドレスＡＤはデコーダ２３ａに送出されてデコードされ、データ格納用の第１のメモリブロック３ａに入力データＩＤが格納される。読出しアドレスＲＡはデコーダ２３ｂに送出されてデコードされ、データ読み出し用の第２のメモリブロック３ｂから所定の読出しデータＲＤが読み出される。
【００４３】
図９は、アドレス指定部３７の他の変形例を示している。本変形例のアドレス指定部３７は、半導体記憶装置１の各種動作モードを初期設定する初期設定コマンドに関連付けてアドレス入力部３５に入力されたアドレスキーＡＫを保持できるアドレスキー保持部４１を備えた点に特徴を有している。さらに、アドレス指定部３７は、図８に示すのと同様の構成のアドレス演算部４３を有している。アドレスキー保持部４１は、アドレスキーＡＫをラッチするアドレスキーラッチ部４１ａを有している。アドレスキー保持部４１は、初期設定コマンド検出部３３ａによって制御されてアドレスキーＡＫをアドレスキーラッチ部４１ａに保持する。初期設定コマンド検出部３３ａは、例えば図２に示す制御部３３に備えられている。
【００４４】
半導体記憶装置１は、例えば初期設定コマンドの１つにアドレスキーＡＫを指定するコマンド（アドレスキー指定コマンド）の入力が可能になっている。初期設定コマンド検出部３３ａは、初期設定時にコマンド入力部３１に入力された複数の制御信号の論理レベルの組み合わせからアドレスキー指定コマンドを検出すると、当該制御信号とほぼ同時にアドレス入力部３５に入力されたアドレスキーＡＫをラッチして保持するようにアドレスキー保持部４１を制御する。これにより、アドレスキー保持部４１にアドレスキーＡＫが保持されて、アドレス指定部３７は図８に示したアドレス指定部３７と同様の動作により、ブロック選択用アドレスＢＡ及びセル選択アドレスＣＡを組み合わせた読出しアドレスＲＡを指定することができる。
【００４５】
次に、演算部５について図１０及び図１１を用いて説明する。演算部５は、複数種類の演算処理機能を有しており、当該複数種類の演算処理の一を選択することができる。また、演算部５は、入力データＩＤと読出しデータＲＤとの演算を行わずに読出しデータＲＤを出力する演算不処理状態を選択できるようになっている。
【００４６】
まず、複数種類の演算処理の選択方法について図１０を用いて説明する。図１０は、演算部５における演算種類を指定する演算指定部４５を示している。演算指定部４５は、アドレス入力部３５に入力された演算選択アドレスをラッチして保持する演算選択アドレス保持部４７と、演算選択アドレスから演算処理の一を指定する演算指定信号を生成して演算部５に出力する演算指定信号生成部４９とを有している。演算選択アドレス保持部４７は、アドレス入力部３５に入力された所定のアドレスの少なくとも一部が入力されるように複数（図１０では４つ）のラッチ部ｏ０〜ｏ３で構成されている。演算選択アドレスは、半導体記憶装置１の各種動作モードを初期設定する初期設定コマンドに関連付けてアドレス入力部３５に入力される。
【００４７】
半導体記憶装置１は、例えば初期設定コマンドの１つに演算種類を指定するコマンド（演算種類指定コマンド）を入力できるようになっている。初期設定コマンド検出部３３ａは、初期設定時にコマンド入力部３１に入力された複数の制御信号の論理レベルの組み合わせから演算種類指定コマンドを検出すると、当該制御信号とほぼ同時にアドレス入力部３５に入力された演算選択アドレスをラッチして保持するように演算選択アドレス保持部４７を制御する。これにより、演算選択アドレス保持部４７に演算選択アドレスが保持される。演算指定部４５は、保持された演算選択アドレスに基づいて演算指定信号生成部４９から演算処理の一を指定する演算指定信号を出力する。図１０に示すように、例えば演算部５は、演算指定部４５から出力された演算指定信号により演算種類として論理和（ＯＲ）を指定し、入力データＩＤ（例えば、「０１０１」）と読出しデータＲＤ（例えば、「０１１０」）との論理和を演算して演算結果データＯＤ（０１１１）を出力する。
【００４８】
半導体記憶装置１は記憶部３とは別個に独立した演算部５を有しているので、半導体基板上で演算部５の配置領域を比較的自由に確保できる。これにより、半導体記憶装置１のレイアウト設計の自由度も向上するので、ＥＸＯＲ及びＯＲ等の論理演算の他、回路規模が大きくなる加減算等の複雑な演算処理機能も必要に応じて容易に持たせることができる。
【００４９】
次に、演算部５の演算不処理状態の選択について図１１を用いて説明する。図１１は、演算部５の演算処理又は演算不処理を判定するコマンド判定部５３を示している。コマンド判定部５３は、外部から入力された演算判定コマンドに基づいて、演算処理又は演算不処理を判定するようになっている。コマンド判定部５３は、演算判定コマンド入力部５０に入力された、複数（図１１では４つ）の演算コマンド信号をラッチして保持する演算コマンド信号保持部５５と、演算コマンド信号から演算処理又は演算不処理を判定する演算判定信号を生成して演算部５に出力する演算判定信号生成部５７とを有している。演算判定コマンド入力部５０は、例えば図２に示すコマンド入力部３１に備えられている。演算判定コマンド入力部５０は、演算コマンド信号入力端子５２と、演算コマンド信号を一時保持する演算コマンド信号バッファ５１とを有している。
【００５０】
演算コマンド信号入力端子５２は、複数の演算コマンド信号が保持されるように複数（図１１では４つ）のラッチ部ｃｍｄ０〜ｃｍｄ３で構成されている。コマンド判定部５３は、演算コマンド信号入力端子５２の端子ＣＭＤ０〜ＣＭＤ３に入力されてバッファ５１に一時保持された演算コマンド信号の論理レベルの組み合わせから演算不処理（ＮＯＰ）を検出すると、演算不処理を指定する演算判定信号を演算部５に出力する。図１１に示すように、例えば演算部５は、コマンド判定部５３から出力された演算判定信号により演算不処理を指定し、入力データＩＤ（例えば、「０１０１」）と読出しデータＲＤ（例えば、「０１１０」）との論理演算を行わずに、読出しデータＲＤ（０１１０）をそのまま出力する。
【００５１】
演算コマンド信号が例えばクロックサイクル毎に入力されることにより、演算部５はクロックサイクル毎に演算処理状態又は演算不処理状態を選択することができる。また、演算コマンド信号の論理レベルの組み合わせに複数の演算種類を設定することにより、演算部５はクロックサイクル毎に演算種類を変え、あるいは演算不処理状態を選択することができる。図１１に示す例では４ビットの演算コマンド信号が入力可能なので、演算不処理状態の他に１５種類の演算種類を設定することが可能になる。
【００５２】
次に、データ入出力部２１（データ出力部１３）からの演算結果データＯＤの出力タイミングについて図１２及び図１３を用いて説明する。図１２は、演算結果データＯＤの出力タイミングを制御する出力遅延制御部の構成を示している。図１３は、演算結果データＯＤの出力タイミングの一例を示している。
【００５３】
図１２に示すように、出力遅延制御部は、半導体記憶装置１の各種動作モードを初期設定する初期設定コマンドに関連付けてアドレス入力部３５に入力された出力制御アドレスを保持して出力遅延を指定する出力遅延指定部６１と、出力遅延指定部６１からの出力遅延信号に基づいて演算結果データＯＤの出力タイミングを制御する出力遅延制御回路５９とを有している。出力遅延指定部６１は、出力制御アドレスをラッチして保持する出力制御アドレス保持部６３と、出力制御アドレスから出力遅延を指定する出力遅延信号を生成して出力遅延制御回路５９に出力する出力遅延信号生成部６５とを有している。出力制御アドレス保持部６３は、複数ビットの出力制御アドレスをラッチできるように複数（図１２では４ビット）のラッチ部ｑ０〜ｑ３で構成されている。
【００５４】
半導体記憶装置１は、例えば初期設定コマンドの１つに出力タイミングを設定するコマンド（出力制御コマンド）の入力が可能になっている。初期設定コマンド検出部３３ａは、初期設定時にコマンド入力部３１に入力された複数の制御信号の論理レベルの組み合わせから出力制御コマンドを検出すると、当該制御信号とほぼ同時にアドレス入力部３５に入力された出力制御アドレスをラッチして保持するように出力遅延指定部６１を制御する。これにより、出力制御アドレス保持部６３に出力制御アドレスが保持される。出力遅延指定部６１は、保持された出力制御アドレスに基づいて出力遅延信号生成部６５から出力遅延信号を出力遅延制御回路５９に出力する。出力遅延制御回路５９は、出力遅延信号に基づいて演算結果データＯＤの出力タイミングを制御する。演算結果データＯＤの出力タイミングは、遅延時間又はクロック遅延として指定される。
【００５５】
図１３は、演算結果データＯＤの出力タイミングをクロック遅延として指定した場合の半導体記憶装置１のタイミングチャートである。図１３上段から、クロック入力部２９からのクロック信号ＣＬＫ、コマンド入力部３１に入力した種々の制御信号に基づいて制御部３３で検出されたコマンド（ＣＭＤ）、クロック遅延が２（Ｌａｔｅｎｃｙ＝２）及びクロック遅延が３（Ｌａｔｅｎｃｙ＝３）でデータ出力部１３から外部に出力される出力データ（Ｏｕｔｐｕｔ）を示している。
【００５６】
初期設定時の出力制御コマンドにおける複数の制御信号の論理レベルの組み合わせにより、クロック遅延（本例では、レイテンシが２又は３）が決定される。図１３に示すように、所定のコマンドとして出力制御コマンドＣＭＤ２がクロック信号ＣＬＫの立ち上がりエッジでラッチされて半導体記憶装置１内部に入力される。半導体記憶装置１は、出力制御コマンドＣＭＤ２の入力から２クロック後（Ｌａｔｅｎｃｙ＝２）又は３クロック後（Ｌａｔｅｎｃｙ＝３）に、クロック信号ＣＬＫの立ち上がりエッジに同期させて読出しデータＯＤを出力データＱとしてデータ出力部１３から外部に出力する。
【００５７】
また、演算結果データＯＤ（出力データＱ）の出力タイミングを遅延時間として指定した場合には、出力制御コマンドＣＭＤ２の入力から指定した遅延時間経過後に、演算結果データＯＤがデータ出力部１３から外部に出力される。
【００５８】
次に、記憶部３から読み出した複数の読出しデータと入力データとの演算処理について図１４乃至図２１を用いて説明する。図１４は、半導体記憶装置１の概略構成の一部を示している。図１４において、記憶部３内の論理メモリブロック３ａ、３ｂ、３ｃ、３ｄは同一の機能を有しているが、説明の便宜上、論理メモリブロック３ａをデータ格納用の第１のメモリブロックとし、論理メモリブロック３ｂ、３ｃ、３ｄをデータ読み出し用の第２のメモリブロックとする。
【００５９】
図１４に示すように、第２のメモリブロック３ｂ、３ｃ、３ｄは、２ビットのブロック選択用アドレスＢＡで選択されるようになっている。例えば、入力データ関連アドレスＡＤの上位２ビットがブロック選択用アドレスＢＡに指定され、下位２ビットがセル選択アドレスＣＡに指定されている。
【００６０】
アドレス指定部３７ａは、入力データ関連アドレスＡＤの上位２ビットＡ０、Ａ１の値をそのままデコーダ２３ａに入力するように構成されている。このため、デコーダ２３ａには入力データ関連アドレスＡＤ（例えば「１０１１」）と同じ値が入力され、第１のメモリブロック３ａに入力データＩＤ（例えば、「０１０１」）が書き込まれる。
【００６１】
アドレス指定部３７ｂは、入力データ関連アドレスＡＤの最上位ビットＡ０の値を反転させてデコーダ２３ｂに入力し、上位ビットＡ１の値をそのままデコーダ２３ｂに入力するように構成されている。入力データ関連アドレスＡＤの値が例えば「１０１１」であるとすると、デコーダ２３ｂには、読出しアドレスＲＡｂとして「００１１」が入力され、第２のメモリブロック３ｂから読出しデータＲＤｂ（例えば、「０１１０」）が出力される。
【００６２】
アドレス指定部３７ｃは、入力データ関連アドレスＡＤの最上位ビットＡ０の値をそのままデコーダ２３ｃに入力し、上位ビットＡ１の値を反転させてデコーダ２３ｃに入力するように構成されている。このため、デコーダ２３ｃには、読出しアドレスＲＡｃとして「１１１１」が入力され、第２のメモリブロック３ｃから読出しデータＲＤｃ（例えば、「１１１１」）が出力される。
【００６３】
アドレス指定部３７ｄは、入力データ関連アドレスＡＤの上位２ビットＡ０、Ａ１の値を反転させてデコーダ２３ｄに入力するように構成されている。このため、デコーダ２３ｄには、読出しアドレスＲＡｄとして「０１１１」が入力され、第２のメモリブロック３ｄから読出しデータＲＤｄ（例えば、「００００」）が出力される。
【００６４】
デコーダ２３ｂ〜２３ｄのそれぞれには、入力データ関連アドレスＡＤに基づく各読出しアドレスＲＤｂ〜ＲＤｄがほぼ同時に入力され、第２のメモリブロック３ｂ、３ｃ、３ｄはデータ読み出し用のメモリブロックとしてほぼ同時に選択される。第２のメモリブロック３ｂ、３ｃ、３ｄは、所定の順序に従って演算部５に対し、読出しデータＲＤｂ、ＲＤｃ、ＲＤｄをそれぞれ出力する。演算部５は読出しデータＲＤｂ、ＲＤｃ、ＲＤｄと入力データＩＤとをそれぞれ演算処理（例えばＥＸＯＲ）して、演算結果データＯＤｂ、ＯＤｃ、ＯＤｄを所定の順序で出力する。データ出力部１３は、演算部５で得られた演算結果データＯＤｂ、ＯＤｃ、ＯＤｄを当該所定順序で外部に連続して出力する。
【００６５】
次に、図１４に示す半導体記憶装置１の動作タイミングについて図１５乃至図１８を用いて説明する。図１５乃至図１８は、半導体記憶装置１におけるデータ入出力動作を示すタイミングチャートである。図１５乃至図１８において、各図上段から、クロック入力部２９からのクロック信号ＣＬＫ（図１７及び図１８では、２つのクロック信号ＣＬＫ１、ＣＬＫ２）、制御部３３で検出されたコマンド（ＣＭＤ）、クロック遅延が２（Ｌａｔｅｎｃｙ＝２）及び３（Ｌａｔｅｎｃｙ＝３）での出力データ（Ｏｕｔｐｕｔ）、データ入力部７に入力される入力データ（Ｉｎｐｕｔ）、及びアドレス入力部３５に入力されるアドレス（ＡＤＤ）を示している。
【００６６】
図１５は、半導体記憶装置１の第１の動作タイミングを示している。第１の動作タイミングは、演算結果データＯＤｂ、ＯＤｃ、ＯＤｄがクロック信号ＣＬＫの立ち上がりエッジ又は立ち下がりエッジのいずれか一方のみに同期して連続して出力される点に特徴を有している。図１５は、演算結果データＯＤｂ、ＯＤｃ、ＯＤｄがクロック信号ＣＬＫの立ち上がりエッジに同期して出力される動作タイミングを例示している。なお、演算結果データＯＤｂ、ＯＤｃ、ＯＤｄが出力される順序は、図１５に示す順序に限られない。
【００６７】
図１６は、半導体記憶装置１の第２の動作タイミングを示している。第２の動作タイミングは、奇数番目に出力される演算結果データＯＤと、偶数番目に出力される演算結果データＯＤとが、クロック信号ＣＬＫの立ち上がりエッジ及び立下りエッジのいずれか一方であって互いに異なるエッジに同期して連続して出力される、いわゆるＤＤＲ（ダブル・データ・レート）によるデータ出力である点に特徴を有している。図１６に示すように、例えば奇数番目に出力される演算結果データＯＤｂ、ＯＤｄは、クロック信号ＣＬＫの立ち上がりエッジに同期して出力され、偶数番目に出力される演算結果データＯＤｃは、クロック信号ＣＬＫの立ち下がりエッジに同期して出力される。これにより、図１５に示す場合（いわゆるＳＤＲ（シングル・データ・レート））の半分の時間でデータ出力を行うことができる。
【００６８】
図１７は、半導体記憶装置１の第３の動作タイミングを示している。第３の動作タイミングは、奇数番目に出力される演算結果データと、偶数番目に出力される演算結果データとが、クロック入力部２９からのクロック信号ＣＬＫ１と、クロック信号ＣＬＫ１に対して位相が反転した反転クロック信号ＣＬＫ２とのいずれか一方であって互いに異なるクロック信号に同期して連続して出力される点に特徴を有している。図１７に示すように、例えば奇数番目に出力される演算結果データＯＤｂ、ＯＤｄは、クロック信号ＣＬＫ１の立ち上がりエッジに同期して出力され、偶数番目に出力される演算結果データＯＤｃは、反転クロック信号ＣＬＫ２の立ち上がりエッジに同期して出力される。本動作タイミングによってもＤＤＲ方式のデータ出力が行われる。
【００６９】
図１８は、半導体記憶装置１の第４の動作タイミングを示している。第４の動作タイミングは、奇数番目に出力される演算結果データと、偶数番目に出力される演算結果データとが、差動クロック信号ＣＬＫ１、ＣＬＫ２の第１及び第２の交差点のいずれか一方であって互いに異なる交差点に同期して連続して出力される点に特徴を有している。図１８に示すように、例えば奇数番目に出力される演算結果データＯＤｂ、ＯＤｄは、クロック信号ＣＬＫ１の立ち上がりエッジとクロック信号ＣＬＫ２の立ち下がりエッジとが交差する第１の交差点に同期して出力され、偶数番目に出力される演算結果データＯＤｃは、クロック信号ＣＬＫ１の立ち下がりエッジとクロック信号ＣＬＫ２の立ち上がりエッジとが交差する第２の交差点に同期して出力される。本動作タイミングによってもＤＤＲ方式のデータ出力が行われる。
【００７０】
次に、図１４に示す半導体記憶装置１の変形例について図１９を用いて説明する。本変形例の第１のメモリブロック３ａは、入力データを書き込むだけでなく格納したデータを読み出すようになっており、第１のメモリブロック３ａから読み出された読出しデータＲＤａと入力データＩＤとを演算部５で演算処理することができる点に特徴を有している。読出しデータＲＤａは、入力データＩＤの書き込み前に第１のメモリブロック３ａに既に書き込まれていた（格納されていた）データである。本変形例の半導体記憶装置１では、第１のメモリブロック３ａから読み出された読出しデータＲＤａ及び第２のメモリブロック３ｂ、３ｃ、３ｄからそれぞれ読み出された読出しデータＲＤｂ、ＲＤｃ、ＲＤｄと、入力データＩＤとの演算結果データＯＤａ及び、ＯＤｂ、ＯＤｃ、ＯＤｄをデータ出力部１３から所定の順序で連続して外部に出力するようになっている。演算結果データＯＤａ、ＯＤｂ、ＯＤｃ、ＯＤｄは、図１５乃至図１８に示すいずれかの動作タイミングで出力される。
【００７１】
次に、図１４に示す半導体記憶装置１の他の変形例について図２０及び図２１を用いて説明する。本変形例の半導体記憶装置１は、同時に選択され且つ同時にデータ読み出しが可能な第１のメモリブロック３ａ及び第２のメモリブロック３ｂ、３ｃ、３ｄが所定の遅延時間又はクロック遅延で活性化される点に特徴を有している。当該所定の遅延時間又は所定のクロック遅延は、例えば初期設定時のコマンドによって指定される。
【００７２】
図２０は、本変形例の半導体記憶装置１の概略構成の一部を示している。図２０に示すように、本変形例の半導体記憶装置１は、第１のメモリブロック３ａ及び第２のメモリブロック３ｂ、３ｃ、３ｄの活性化順序と、演算結果データＯＤａ、ＯＤｂ、ＯＤｃ、ＯＤｄの出力順序とを制御するメモリブロック制御部６７を有している。メモリブロック制御部６７は、各メモリブロック３ａ、３ｂ、３ｃ、３ｄの活性化及び演算結果データＯＤａ、ＯＤｂ、ＯＤｃ、ＯＤｄの出力を制御する所定の制御信号を出力するようになっている。当該所定の制御信号は、例えばクロック入力部２９からのクロック信号ＣＬＫに同期して出力される。クロック入力部２９は、クロック信号入力端子２８と、例えば入力されたクロック信号の波形を整形するクロックバッファ３０とを有している。
【００７３】
図２１は、半導体記憶装置１の第５の動作タイミングを示している。図２１上段から、クロック入力部２９からのクロック信号ＣＬＫ、コマンド入力部３１に入力した種々の制御信号に基づいて制御部３３で検出されたコマンド（ＣＭＤ）、データ入力部７に入力される入力データ（Ｉｎｐｕｔ）、アドレス入力部３５に入力されるアドレス（ＡＤＤ）、第１のメモリブロック３ａ（ＢＬＫ３ａ）、第２のメモリブロック３ｂ、３ｃ、３ｄ（ＢＬＫ３ｂ、ＢＬＫ３ｃ、ＢＬＫ３ｄ）及びクロック遅延が３（Ｌａｔｅｎｃｙ＝３）に設定された出力データ（Ｏｕｔｐｕｔ）を示している。
【００７４】
図２１に示すように、各メモリブロック３ａ、３ｂ、３ｃ、３ｄを順次活性化させるメモリブロック活性化コマンドＣＭＤ３と、メモリブロック活性化コマンドＣＭＤ３に関連付けられた入力データＩＤ及び入力データ関連アドレスＡＤとは、クロック信号ＣＬＫの立ち上がりエッジで同時にラッチされて半導体記憶装置１内部に入力される。第１のメモリブロック３ａは、メモリブロック制御部６７から出力された所定の制御信号によりメモリブロック活性化コマンドＣＭＤ３の入力と同時に活性化（Ａｃｔｉｖｅ）されて読出しデータＲＤａを演算部５に出力する。さらに、第２のメモリブロック３ｂ、３ｃ、３ｄは、クロック信号ＣＬＫに同期してメモリブロック制御部６７から順次出力される所定の制御信号により順次活性化されて、読出しデータＲＤｂ、ＲＤｃ、ＲＤｄを演算部５に順次出力する。
【００７５】
図２１では、クロック遅延が３に設定されているので、読出しデータＲＤａと入力データＩＤとの演算結果データＯＤａは、メモリブロック活性化コマンドＣＭＤ３がラッチされてから３クロック目にクロック信号ＣＬＫに同期して出力データＱとしてデータ出力部１３から外部に出力される。読出しデータＲＤｂ、ＲＤｃ、ＲＤｄと入力データＩＤとの演算結果データＯＤｂ、ＯＤｃ、ＯＤｄは出力データＱとして、クロック信号ＣＬＫに同期して演算結果データＯＤａと連続してデータ出力部１３から外部に出力される。なお、演算結果データＯＤａ、ＯＤｂ、ＯＤｃ、ＯＤｄの出力タイミングは、クロック遅延に限られず遅延時間として設定することもできる。
【００７６】
次に、入力データＩＤを半導体記憶装置１に入力させる入力タイミングについて図２２及び図２３を用いて説明する。図２２は、入力データの入力タイミングを制御する入力遅延制御部の構成を示している。図２３は、入力データ（Ｉｎｐｕｔ）の入力タイミングを例示している。図２２に示すように、入力遅延制御部は、半導体記憶装置１の各種動作モードを初期設定する初期設定コマンドに関連付けてアドレス入力部３５に入力された入力制御アドレスを保持して入力遅延を指定する入力遅延指定部７７と、入力遅延指定部７７からの入力遅延信号に基づいて入力データの入力タイミングを制御する入力遅延制御回路８３とを有している。入力遅延指定部７７は、入力制御アドレスをラッチして保持する入力制御アドレス保持部７９と、入力制御アドレスに基づいて入力遅延信号を生成して入力遅延制御回路８３に出力する入力遅延信号生成部８１とを有している。入力制御アドレス保持部７９は、複数の入力制御アドレスがラッチできるように複数（図２２では４つ）のラッチ部ｉ０〜ｉ３を有している。
【００７７】
半導体記憶装置１は、例えば初期設定コマンドの１つとして入力タイミングを設定するコマンド（入力制御コマンド）の入力が可能になっている。初期設定コマンド３３ａは、初期設定時にコマンド入力部３１に入力された複数の制御信号の論理レベルの組み合わせから入力制御コマンドを検出すると、当該制御信号とほぼ同時にアドレス入力部３５に入力された入力制御アドレスをラッチして保持するように入力遅延指定部７７を制御する。これにより、入力遅延制御部７７に入力制御アドレスが保持される。入力遅延指定部７７は、保持された入力制御アドレスに基づいて入力遅延信号生成部８１から入力遅延信号を入力遅延制御回路８３に出力する。入力遅延制御回路８３は、入力遅延信号に基づいて入力データの入力タイミングを制御する。入力データの入力タイミングは、遅延時間又はクロック遅延として指定可能である。
【００７８】
図２３は、入力データの入力タイミングをクロック遅延として指定した際の半導体記憶装置１の動作タイミングを例示している。図２３上段から、クロック入力部２９からのクロック信号ＣＬＫ、コマンド入力部３１に入力した種々の制御信号に基づいて制御部３３で検出されたコマンド（ＣＭＤ）、及びクロック遅延が２（Ｌａｔｅｎｃｙ＝２）及び３（Ｌａｔｅｎｃｙ＝３）でのデータ入力部７に入力される入力データ（Ｉｎｐｕｔ）を示している。
【００７９】
図２３に示すように、制御コマンドＣＭＤ４がクロック信号ＣＬＫの立ち上がりエッジでラッチされて半導体記憶装置１内部に入力されると、入力データＩＤは制御コマンドＣＭＤ４の入力から２クロック後又は３クロック後に、クロック信号ＣＬＫの立ち上がりエッジでラッチされて半導体記憶装置１内部に入力される。また、入力データＩＤの入力タイミングを遅延時間として指定した場合には、制御コマンドＣＭＤ４の入力から指定した遅延時間経過後に、入力データＩＤが半導体記憶装置１内部に入力される。
【００８０】
次に、演算結果データと同期して出力されるリファレンスクロック信号について図２４乃至図２６を用いて説明する。図２４は、リファレンスクロック信号を出力するリファレンスクロック信号出力部を備えた半導体記憶装置１の概略構成の一部を示している。図２４に示すように、半導体記憶装置１は、データ出力部１３からの演算結果データＯＤ（図ではＯＤｂ、ＯＤｃ、ＯＤｄを例示）の出力タイミングを制御する出力制御部６９と、出力制御部６９から出力されて演算結果データＯＤｂ、ＯＤｃ、ＯＤｄの出力タイミングに同期するリファレンスクロック信号Ｓを出力するリファレンスクロック信号出力部７１とを有している。
【００８１】
出力制御部６９は、入力されたクロック信号ＣＬＫに基づいて、出力データドライバ１５を制御して演算結果データＯＤｂ、ＯＤｃ、ＯＤｄの出力タイミングを制御すると共に、演算結果データＯＤｂ、ＯＤｃ、ＯＤｄの出力タイミングに同期するリファレンスクロック信号Ｓをリファレンスクロック信号出力部７１に出力する。出力制御部６９は、演算結果データＯＤｂ、ＯＤｃ、ＯＤｄに遅延時間又はクロック遅延が設定されていると、所定のコマンド入力から当該遅延時間又はクロック遅延分だけ遅延させてリファレンスクロック信号Ｓをリファレンスクロック信号出力部７１に出力する。
【００８２】
リファレンスクロック信号出力部７１は、リファレンスクロック信号ドライバ７３と、リファレンスクロック信号出力端子７５とを有している。リファレンスクロック信号Ｓはリファレンスクロック信号出力端子７５から演算結果データＯＤｂ、ＯＤｃ、ＯＤｄに同期して出力される。リファレンスクロック信号Ｓは、例えば１バイト（８ビット）毎に１つ出力される。
【００８３】
次に、リファレンスクロック信号Ｓの出力タイミングについて図２５及び図２６を用いて説明する。図２５は、リファレンスクロック信号Ｓの第１の出力タイミングを例示し、図２６は、リファレンスクロック信号Ｓの第２の出力タイミングを例示している。図２５及び図２６において、図上段から、クロック入力部２９からのクロック信号ＣＬＫ（図２６では、差動クロック信号ＣＬＫ１、ＣＬＫ２）、コマンド入力部３１に入力した種々の制御信号に基づいて制御部３３で検出されたコマンド（ＣＭＤ）、クロック遅延が２（Ｌａｔｅｎｃｙ＝２）での出力データ（Ｏｕｔｐｕｔ）、クロック遅延が２（Ｌａｔｅｎｃｙ＝２）でのリファレンスクロック信号Ｓ、クロック遅延が３（Ｌａｔｅｎｃｙ＝３）での出力データ（Ｏｕｔｐｕｔ）、クロック遅延が３（Ｌａｔｅｎｃｙ＝３）でのリファレンスクロック信号Ｓ、データ入力部７に入力される入力データ（Ｉｎｐｕｔ）、及びアドレス入力部３５に入力されるアドレス（ＡＤＤ）を示している。
【００８４】
図２５に示すように、第１の出力タイミングでは、リファレンスクロック信号Ｓは、全ての出力データＱ（演算結果データＯＤｂ、ＯＤｃ、ＯＤｄ）と立ち上がりエッジ又は立ち下がりエッジのいずれか一方のみが同期するように出力される。さらに、リファレンスクロック信号Ｓは設定されたクロック遅延で出力される。
【００８５】
図２６に示すように、第２の出力タイミングでは、例えばリファレンスクロック信号Ｓの立ち上がりエッジが奇数番目に出力される出力データＱ（演算結果データＯＤｂ、ＯＤｄ）と同期し、立ち下がりエッジが偶数番目に出力される出力データＱ（演算結果データＯＤｃ）と同期して出力される。さらに、リファレンスクロック信号Ｓは設定されたクロック遅延で出力される。第２の出力タイミングは図２６に示すタイミングに限られず、リファレンスクロック信号Ｓの立ち下がりエッジが奇数番目に出力される出力データＱ（演算結果データＯＤｂ、ＯＤｄ）と同期し、立ち上がりエッジが偶数番目に出力される出力データＱ（演算結果データＯＤｃ）と同期して出力されてもよい。
【００８６】
上記の図７、図１５乃至図１８及び図２１に示した半導体記憶装置の制御方法の少なくとも１つを利用して半導体記憶装置１を制御する制御装置を用いれば、半導体記憶装置１へのアクセス回数を減少させて当該制御装置の負荷を低減させた半導体集積回路システムを実現できる。さらに、当該半導体集積回路システムを実現するための基板設計も容易にすることができる。また、図７、図１５乃至図１８及び図２１に示した半導体記憶装置の制御方法を実現する制御素子と、半導体記憶装置１と同じ機能を発揮する半導体記憶素子とを同一基板上に形成した半導体集積回路は、上記半導体集積回路システムと同様の効果が得られる。
【００８７】
次に、半導体記憶装置１の他の制御方法について図２７乃至図２９を用いて説明する。図２７は、半導体記憶装置１の第６の動作タイミングを説明するタイミングチャートである。図２７上段から、クロック入力部２９からのクロック信号ＣＬＫ、制御部３３で検出されたコマンド（ＣＭＤ）、アドレス入力部３５に入力されるアドレス（ＡＤＤ）、データ入力部７に入力される入力データ（Ｉｎｐｕｔ、Ｌａｔｅｎｃｙ＝０）、各論理メモリブロック３ａ、３ｂ、３ｃ、３ｄ（ＢＬＫ３ａ、ＢＬＫ３ｂ、ＢＬＫ３ｃ、ＢＬＫ３ｄ）、及びクロック遅延が３（Ｌａｔｅｎｃｙ＝３）に設定された出力データ（Ｏｕｔｐｕｔ）を示している。
【００８８】
図２７に示すように、演算部５に演算処理をさせない演算不処理コマンドＣＭＤａにそれぞれ関連付けられた入力データ（第１データ）ＩＤｂ、ＩＤｃ、ＩＤｄと、入力データＩＤｂ、ＩＤｃ、ＩＤｄに関連付けられた入力データ関連アドレスＡＤｂ（＃１００１）、ＡＤｃ（＃１０１０）、ＡＤｄ（＃１０１１）とが順次入力される。入力データＩＤの入力タイミングはＬａｔｅｎｃｙ＝０に設定されているため、各入力データＩＤｂ、ＩＤｃ、ＩＤｄは、入力とほぼ同時に論理メモリブロック３ｂ、３ｃ、３ｄにそれぞれ書き込まれる。
【００８９】
演算不処理コマンドＣＭＤａが３回入力された後に、演算部５に所定の演算処理をさせる演算処理コマンドＣＭＤｂに関連付けられた入力データ（第２データ）ＩＤａと、入力データＩＤａに関連付けられた入力データ関連アドレスＡＤａ（＃１０００）とが入力する。Ｌａｔｅｎｃｙ＝０に設定されているため、入力データＩＤａは、入力とほぼ同時に論理メモリブロック（第１のメモリブロック）３ａに書き込まれると共に演算部５に出力される。
【００９０】
一方、論理メモリブロック３ｂ、３ｃ、３ｄは、演算処理コマンドＣＭＤｂが入力されると、入力データＩＤａに関連付けられた入力データ関連アドレスＡＤａ（＃１０００）に基づいて生成された読出しアドレスＲＡｂ、ＲＡｃ、ＲＡｄにより第２のメモリブロック３ｂ、３ｃ、３ｄとして選択され、格納している入力データＩＤｂ、ＩＤｃ、ＩＤｄを読出しデータＲＤｂ、ＲＤｃ、ＲＤｄとしてそれぞれ演算部５に出力する。演算部５において読出しデータＲＤｂ、ＲＤｃ、ＲＤｄはそれぞれ入力データＩＤａと所定の演算処理がなされ、演算結果データＯＤｂ、ＯＤｃ、ＯＤｄが出力される。
【００９１】
出力データＱ（演算結果データＯＤｂ、ＯＤｃ、ＯＤｄ）の出力タイミングはＬａｔｅｎｃｙ＝３に設定されている。このため、演算結果データＯＤｂ、ＯＤｃ、ＯＤｄはこの順に、演算処理コマンドＣＭＤｂが入力されてから３クロック後に、例えばクロック信号ＣＬＫの立ち上がりエッジに同期して連続して出力される。なお、演算結果データＯＤｂ、ＯＤｃ、ＯＤの出力タイミングは、遅延時間としても設定することができる。
【００９２】
図２８は、半導体記憶装置１の第７の動作タイミングを説明するタイミングチャートである。図２８上段から、クロック入力部２９からのクロック信号ＣＬＫ、制御部３３で検出されたコマンド（ＣＭＤ）、アドレス入力部３５に入力されるアドレス（ＡＤＤ）、入力されたアドレス（ＡＤＤ）に基づいて不図示のアドレス内部カウンタで生成される内部アドレスＡＤＤ’（Ｉｎｔｅｒｎａｌ）、データ入力部７に入力される入力データ（Ｉｎｐｕｔ、Ｌａｔｅｎｃｙ＝０）、各論理メモリブロック３ａ〜３ｄ（ＢＬＫ３ａ〜ＢＬＫ３ｄ）、及びクロック遅延が３（Ｌａｔｅｎｃｙ＝３）に設定された出力データ（Ｏｕｔｐｕｔ）を示している。
【００９３】
図２８に示すように、演算部５に演算処理をさせない演算不処理コマンドＣＭＤａに関連付けられた入力データ（第１データ）ＩＤｂと、入力データＩＤｂに関連付けられた入力データ関連アドレスＡＤｂ（＃１００１）とが入力される。入力データＩＤｂは入力データ関連アドレスＡＤｂ（＃１００１）で選択された論理メモリブロック３ｂにＬａｔｅｎｃｙ＝０で書き込まれる。次に、クロック信号ＣＬＫに同期してアドレス内部カウンタがカウントアップされて内部アドレスＡＤＤ’（＃１０１０）が生成され、内部アドレスＡＤＤ’（＃１０１０）で選択された論理メモリブロック３ｃに入力データ（第１データ）ＩＤｃが書き込まれる。次いで、同様にしてアドレス内部カウンタにより内部アドレスＡＤＤ’（＃１０１１）が生成され、内部アドレスＡＤＤ’（＃１０１１）で選択された論理メモリブロック３ｄに入力データ（第１データ）ＩＤｄが書き込まれる。
【００９４】
次に、演算部５に演算処理をさせる演算処理コマンドＣＭＤｂに関連付けられた入力データＩＤａと、入力データＩＤａに関連付けられた入力データ関連アドレスＡＤａ（＃１０００）とが入力される。Ｌａｔｅｎｃｙ＝０に設定されているため、入力データ（第２データ）ＩＤａは、入力とほぼ同時に論理メモリブロック（第１のメモリブロック）３ａに書き込まれると共に演算部５に出力される。
【００９５】
一方、論理メモリブロック３ｂ、３ｃ、３ｄは、演算処理コマンドＣＭＤｂが入力されると、入力データＩＤａに関連付けられた入力データ関連アドレスＡＤａ（＃１０００）に基づいて生成された読出しアドレスＲＡｂ、ＲＡｃ、ＲＡｄにより第２のメモリブロック３ｂ、３ｃ、３ｄとして選択され、格納している入力データＩＤｂ、ＩＤｃ、ＩＤｄを読出しデータＲＤｂ、ＲＤｃ、ＲＤｄとしてそれぞれ演算部５に出力する。演算部５において読出しデータＲＤｂ、ＲＤｃ、ＲＤｄはそれぞれ入力データＩＤａと所定の演算処理がなされ、演算結果データＯＤｂ、ＯＤｃ、ＯＤｄが出力される。
【００９６】
出力データＱ（演算結果データＯＤｂ、ＯＤｃ、ＯＤｄ）の出力タイミングはＬａｔｅｎｃｙ＝３に設定されている。このため、演算結果データＯＤｂ、ＯＤｃ、ＯＤｄはこの順に、演算処理コマンドＣＭＤｂが入力されてから３クロック後に、例えばクロック信号ＣＬＫの立ち上がりエッジに同期して連続して出力される。なお、演算結果データＯＤｂ、ＯＤｃ、ＯＤの出力タイミングは、遅延時間としても設定することができる。
【００９７】
このように、演算不処理コマンドＣＭＤａと、演算不処理コマンドＣＭＤａに関連付けられた入力データＩＤｂ及び入力データ関連アドレスＡＤｂとが１回入力されるだけで、入力データＩＤｂに続いて入力される入力データＩＤｃ、ＩＤｄも論理メモリブロック３ｃ、３ｄに書き込むことができる。演算処理コマンドＣＭＤｂは、演算不処理コマンドＣＭＤａのバースト期間経過後に入力される。本動作タイミングによる半導体記憶装置１の制御方法は、入力データＩＤｂ、ＩＤｃ、ＩＤｄがバースト動作で論理メモリブロック３ｂ、３ｃ、３ｄに格納される点を除いて、上記他の第１の動作タイミングによる半導体記憶装置の制御方法と同じである。
【００９８】
図２９は、半導体記憶装置１の第８の動作タイミングを説明するタイミングチャートである。図２９の各段は図２８の各段と同一のものを指している。本動作タイミングによる半導体記憶装置の制御方法は、図２８に示す２種類のコマンド（演算不処理コマンドＣＭＤａ及び演算処理コマンドＣＭＤｂ）に代えて、バースト入力演算処理コマンドＣＭＤｃの入力後、バースト動作により入力データを入力して演算処理を制御する点に特徴を有している。演算部５は、バースト入力演算処理コマンドＣＭＤｃが入力されてから予め定めたビット数に基づくカウント後に入力された入力データと、読出しデータとを演算処理するように制御される。
【００９９】
図２９に示すように、バースト入力演算処理コマンドＣＭＤｃに関連付けられた入力データ（第１データ）ＩＤｂと、入力データＩＤｂに関連付けられた入力データ関連アドレスＡＤ（＃１００１）とが入力される。入力データＩＤｂは入力データ関連アドレスＡＤ（＃１００１）で選択された論理メモリブロック３ｂにＬａｔｅｎｃｙ＝０で書き込まれる。次に、クロック信号ＣＬＫに同期してアドレス内部カウンタがカウントアップされて内部アドレスＡＤＤ’（＃１０１０）が生成され、内部アドレスＡＤＤ’（＃１０１０）で選択された論理メモリブロック３ｃに入力データ（第１データ）ＩＤｃが書き込まれる。次いで、同様にしてアドレス内部カウンタにより内部アドレスＡＤＤ’（＃１０１１）が生成され、ＡＤＤ’（＃１０１１）で選択された論理メモリブロック３ｄに入力データ（第１データ）ＩＤｄが書き込まれる。
【０１００】
次に、同様にしてアドレス内部カウンタにより内部アドレスＡＤＤ’（＃１０００）が生成され、内部アドレスＡＤＤ’（＃１０００）で選択された論理メモリブロック（第１のメモリブロック）３ａに入力データ（第２データ）ＩＤａが書き込まれると共に演算部５に出力される。
このように、本動作タイミングでは、クロック信号ＣＬＫに同期して予め定められたバースト長（本例では、バースト長＝４）だけ連続して複数の入力データＩＤが入力される。
【０１０１】
一方、論理メモリブロック３ｂ、３ｃ、３ｄは、入力データＩＤａを書き込む内部アドレスＡＤＤ’（＃１０００）に基づいて生成された読出しアドレスＲＡｂ、ＲＡｃ、ＲＡｄにより第２のメモリブロック３ｂ、３ｃ、３ｄとして選択され、格納している入力データＩＤｂ、ＩＤｃ、ＩＤｄを読出しデータＲＤｂ、ＲＤｃ、ＲＤｄとしてそれぞれ演算部５に出力する。演算部５において読出しデータＲＤｂ、ＲＤｃ、ＲＤｄはそれぞれ入力データＩＤａと所定の演算処理がなされ、演算結果データＯＤｂ、ＯＤｃ、ＯＤｄが出力される。
【０１０２】
出力データＱ（演算結果データＯＤｂ、ＯＤｃ、ＯＤｄ）の出力タイミングはＬａｔｅｎｃｙ＝３に設定されている。このため、演算結果データＯＤｂ、ＯＤｃ、ＯＤｄはこの順に、入力データＩＤａが入力されてから３クロック後に、例えばクロック信号ＣＬＫの立ち上がりエッジに同期して連続して出力される。なお、演算結果データＯＤｂ、ＯＤｃ、ＯＤの出力タイミングは、遅延時間としても設定することができる。
【０１０３】
以上説明した半導体記憶装置の制御方法では、最後に入力された入力データＩＤと、読出しデータＲＤとの間で所定の演算処理を行っているが、読出しデータとの間で演算処理される入力データＩＤの入力順序は、最後に限られず、何番目に入力されてもよい。
【０１０４】
次に、図２７乃至図２９のいずれか１つの半導体記憶装置の制御方法を実現する制御装置と、半導体記憶装置１とを用いた半導体集積回路システムでの動作について図３０を用いて説明する。半導体集積回路システムは、基本情報と、当該基本情報と圧縮対象情報とから得られた解凍対象情報を用いて作成された指示情報とを圧縮して圧縮情報を作成し、当該圧縮情報から抽出された指示情報から作成された解凍対象情報を解凍して圧縮対象情報を復元する機能を有する。このような半導体集積回路システムにおいて、半導体記憶装置１は、解凍対象情報の作成と、圧縮対象情報の復元とに用いられる。
【０１０５】
図３０は、半導体集積回路システムにおける情報群の圧縮及び復元の流れを例示している。まず、所定の情報群の圧縮について、図３０の上段の流れに沿って説明する。半導体集積回路システムの一構成をなす半導体記憶装置１には、圧縮対象情報８７と基本情報８９とに分けられた情報群が、例えば演算不処理コマンドＣＭＤａ１〜ＣＭＤａ７に関連付けて圧縮対象情報８７が入力され、次いで演算処理コマンドＣＭＤｂに関連付けて基本情報８９が入力される。半導体記憶装置１は、演算部５で基本情報８９と圧縮対象情報８７との演算処理（ＥＸＯＲ）を行い、演算結果データとしての解凍対象情報９１を出力する。半導体記憶装置１から出力された解凍対象情報９１は、例えば半導体集積回路システムの一構成を成す情報圧縮装置に入力される。情報圧縮装置は、解凍対象情報９１から解凍時に必要な指示情報９３を作成（ＥＮＣＯＤＥ）すると共に、指示情報９３に基本情報８９を加えて圧縮して圧縮情報９５を作成する。圧縮情報９５は圧縮対象情報８７に比べてデータの容量が小さいので、情報群の転送や保存が容易になる。
【０１０６】
次に、所定の情報群の復元について、図３０の下段の流れに沿って説明する。情報圧縮装置は、圧縮情報９５から解凍時に必要な指示情報９３と基本情報８９とを取り出すと共に、指示情報９３から解凍対象情報９１を作成（ＤＥＣＯＤＥ）する。半導体記憶装置１には、演算不処理コマンドＣＭＤａ１〜ＣＭＤａ７に関連付けられた解凍対象情報９１と、演算処理コマンドＣＭＤｂに関連付けられた基本情報８９とがこの順に入力される。半導体記憶装置１は、演算部５で基本情報８９と解凍対象情報９１との演算処理（ＥＸＯＲ）を行い、演算結果データとしての圧縮対象情報８７を復元して出力する。
【０１０７】
以上説明したように、半導体記憶装置１を用いた半導体集積回路システムでは、格納された情報群を半導体記憶装置１の外部に読み出すことなく所定の演算処理ができるので、半導体記憶装置１へのアクセス回数が減少して高速な情報処理が可能になる。半導体集積回路システムで処理される圧縮対象となる情報群は、例えば同一フレームの近接する画像情報又は連続するフレームの類似画像情報である。また、半導体集積回路システムで処理される解凍対象情報は、例えば同一フレームの近接する画像情報又は連続するフレームの類似画像情報である
【０１０８】
図２７乃至図２９のいずれか１つの半導体記憶装置の制御方法を実現する制御素子と、半導体記憶装置１と同じ機能を発揮する半導体記憶素子とを同一基板上に形成した半導体集積回路は、上記の情報圧縮装置と同じ機能を発揮する情報圧縮回路との間でデータ転送することにより、上記半導体集積回路システムと同様の効果が得られる。
【０１０９】
以上説明した実施の形態による半導体記憶装置及びそれを用いた半導体集積回路システム並びに半導体記憶装置の制御方法は、以下のようにまとめられる。
（付記１）
外部から入力データが入力されるデータ入力部と、
データを記憶する記憶部と、
前記入力データと、前記記憶部から読み出された読出しデータとで所定の演算処理を行う演算部と、
前記演算部で得られた演算結果データを前記外部へ出力するデータ出力部と
を有することを特徴とする半導体記憶装置。
（付記２）
付記１記載の半導体記憶装置において、
前記入力データに関連付けられた入力データ関連アドレスが入力されるアドレス入力部をさらに有すること
を特徴とする半導体記憶装置。
（付記３）
付記２記載の半導体記憶装置において、
前記読出しデータを前記記憶部から読み出す読出しアドレスの一部は、前記入力データ関連アドレスの当該一部と一致しないこと
を特徴とする半導体記憶装置。
（付記４）
付記３記載の半導体記憶装置において、
前記記憶部は、複数の論理メモリブロックで構成され、
前記複数の論理メモリブロックは、
前記入力データ関連アドレスの前記一部をブロック選択用アドレスとして選択され、前記入力データ関連アドレスで前記入力データを格納する第１のメモリブロックと、
前記読出しアドレスの前記一部をブロック選択用アドレスとして選択され、前記読出しアドレスで前記読出しデータを読み出す第２のメモリブロックと
を有することを特徴とする半導体記憶装置。
（付記５）
付記４記載の半導体記憶装置において、
前記第２のメモリブロックは、複数ビットの前記ブロック選択用アドレスを用いて複数選択されること
を特徴とする半導体記憶装置。
（付記６）
付記５記載の半導体記憶装置において、
前記演算部は、複数の前記第２のメモリブロックから読み出された複数の前記読出しデータのそれぞれと前記入力データとを演算して、それぞれの前記演算結果データを所定の順序で連続して出力すること
を特徴とする半導体記憶装置。
（付記７）
付記６記載の半導体記憶装置において、
前記演算部は、前記入力データを格納する前に前記第１のメモリブロックの前記入力データ関連アドレスから読み出された読出しデータと前記入力データとを前記演算処理すること
を特徴とする半導体記憶装置。
（付記８）
付記７記載の半導体記憶装置において、
前記演算部は、複数の前記第２のメモリブロックから読み出された複数の前記読出しデータと前記入力データとの演算結果データと、前記第１のメモリブロックから読み出された読出しデータと前記入力データとの演算結果データとを所定の順序で連続して出力すること
を特徴とする半導体記憶装置。
（付記９）
付記１乃至８のいずれか１項に記載の半導体記憶装置において、
前記演算部は、複数種類の演算処理が可能であること
を特徴とする半導体記憶装置。
（付記１０）
付記９記載の半導体記憶装置において、
前記演算部は、装置を初期設定する初期設定コマンドに関連付けて前記アドレス入力部から入力された演算選択アドレスで前記複数種類の演算処理の一を指定すること
を特徴とする半導体記憶装置。
（付記１１）
付記１乃至１０のいずれか１項に記載の半導体記憶装置において、
前記演算部は、前記入力データとの演算をしないで前記読出しデータを出力する演算不処理を選択可能であること
を特徴とする半導体記憶装置。
（付記１２）
付記１１記載の半導体記憶装置において、
前記外部から入力された演算判定コマンドに基づいて、前記演算不処理を判定するコマンド判定部をさらに有すること
を特徴とする半導体記憶装置。
（付記１３）
付記６又は８に記載の半導体記憶装置において、
前記第１のメモリブロック及び前記複数の第２のメモリブロックの活性化順序と、前記演算結果データの出力順序とを制御するメモリブロック制御部をさらに有すること
を特徴とする半導体記憶装置。
（付記１４）
付記１乃至１３のいずれか１項に記載の半導体記憶装置において、
前記データ出力部から出力する前記演算結果データの出力タイミングを制御する出力制御部と、
前記演算結果データの出力タイミングに同期するリファレンスクロック信号を出力するリファレンスクロック信号出力部と
をさらに有することを特徴とする半導体記憶装置。
（付記１５）
付記１乃至１４のいずれか１項に記載の半導体記憶装置において、
装置を初期設定する初期設定コマンドに関連付けて前記アドレス入力部から入力された出力制御アドレスに基づいて、前記データ出力部からの前記演算結果データの出力タイミングを遅延させる出力遅延制御部をさらに有すること
を特徴とする半導体記憶装置。
（付記１６）
付記１乃至１５のいずれか１項に記載の半導体記憶装置において、
装置を初期設定する初期設定コマンドに関連付けて前記アドレス入力部から入力された入力制御アドレスに基づいて、前記入力データの前記演算部への入力タイミングを遅延させる入力遅延指定部をさらに有すること
を特徴とする半導体記憶装置。
（付記１７）
付記１乃至１６のいずれか１項に記載の半導体記憶装置において、
前記データ入力部と前記データ出力部とを共通化させたデータ入出力部を有すること
を特徴とする半導体記憶装置。
（付記１８）
演算部に演算処理をさせない演算不処理コマンドに関連付けて外部から入力された第１データを記憶部に記憶し、
前記演算部に所定の演算処理をさせる演算処理コマンドに関連付けられた第２データを前記外部から入力し、
前記演算処理コマンドに基づいて、前記第２データと、前記記憶部から読み出した前記第１データとの演算処理を前記演算部で実行し、
前記演算処理コマンドの入力時から所定時間経過後に、前記演算処理により得られた演算結果データを前記外部に出力すること
を特徴とする半導体記憶装置の制御方法。
（付記１９）
付記１８記載の半導体記憶装置の制御方法において、
前記演算不処理コマンド及び前記演算処理コマンドの入力に代えて、
所定の処理コマンドを入力し、
前記所定の処理コマンドに関連付けて外部から入力された第１データを記憶部に記憶し、
前記処理コマンドの入力から所定時間後に前記第２データを入力して、
前記第２データと前記第１データとの演算処理を前記演算部で実行すること
を特徴とする半導体記憶装置の制御方法。
（付記２０）
基本情報と、前記基本情報と圧縮対象情報とから得られた解凍対象情報を用いて作成された指示情報とを圧縮して圧縮情報を作成し、前記圧縮情報から抽出された前記指示情報に基づいて作成された前記解凍対象情報を解凍して前記圧縮対象情報を復元する半導体集積回路システムにおいて、
演算不処理コマンドに関連付けて入力された前記圧縮対象情報と、演算処理コマンドに関連付けて入力された前記基本情報との演算処理による前記解凍対象情報の作成と、
前記圧縮情報から抽出されて演算不処理コマンドに関連付けて入力された前記解凍対象情報と、演算処理コマンドに関連付けて入力された前記基本情報との前記演算処理による前記圧縮対象情報の復元とに付記１乃至１７のいずれか１項に記載の半導体記憶装置が用いられること
を特徴とする半導体集積回路システム。
【図面の簡単な説明】
【０１１０】
【図１】本発明の一実施の形態による半導体記憶装置１の基本原理を示す図である。
【図２】本発明の一実施の形態による半導体記憶装置１の概略構成を示す図である。
【図３】本発明の一実施の形態による半導体記憶装置１に備えられたデータ入出力部２１の概略構成を示す図である。
【図４】本発明の一実施の形態による半導体記憶装置１の記憶部３内のメモリセルの構成例を示す図である。
【図５】本発明の一実施の形態による半導体記憶装置１における読出しデータの選択方法を説明するための図である。
【図６】本発明の一実施の形態による半導体記憶装置１の記憶部３に入力データを記憶し所定の読出しデータを読み出す構成を示す図である。
【図７】本発明の一実施の形態による半導体記憶装置１における入出力及び演算処理の動作タイミングの一例を示す図である。
【図８】本発明の一実施の形態による半導体記憶装置１に備えられたアドレス指定部３７の変形例を示す図である。
【図９】本発明の一実施の形態による半導体記憶装置１に備えられたアドレス指定部３７の他の変形例を示す図である。
【図１０】本発明の一実施の形態による半導体記憶装置１に備えられた演算指定部４５を示す図である。
【図１１】本発明の一実施の形態による半導体記憶装置１に備えられたコマンド判定部５３を示す図である。
【図１２】本発明の一実施の形態による半導体記憶装置１に備えられた出力遅延制御部を示す図である。
【図１３】本発明の一実施の形態による半導体記憶装置１の演算結果データＯＤの出力タイミングの一例を示す図である。
【図１４】本発明の一実施の形態による半導体記憶装置１の概略構成の一部を示す図である。
【図１５】本発明の一実施の形態による半導体記憶装置１の第１の動作タイミングを示す図である。
【図１６】本発明の一実施の形態による半導体記憶装置１の第２の動作タイミングを示す図である。
【図１７】本発明の一実施の形態による半導体記憶装置１の第３の動作タイミングを示す図である。
【図１８】本発明の一実施の形態による半導体記憶装置１の第４の動作タイミングを示す図である。
【図１９】本発明の一実施の形態の変形例による半導体記憶装置１の概略構成の一部を示す図である。
【図２０】本発明の一実施の形態の他の変形例による半導体記憶装置１の概略構成の一部を示す図である。
【図２１】本発明の一実施の形態による半導体記憶装置１の第５の動作タイミングを示す図である。
【図２２】本発明の一実施の形態による半導体記憶装置１に備えられた入力遅延制御部を示す図である。
【図２３】本発明の一実施の形態による半導体記憶装置１の入力データＩｎｐｕｔの入力タイミングの一例を示す図である。
【図２４】本発明の一実施の形態による半導体記憶装置１に備えられたリファレンスクロック信号出力部を示す図である。
【図２５】本発明の一実施の形態による半導体記憶装置１のリファレンスクロック信号Ｓの第１の動作タイミングの一例を示す図である。
【図２６】本発明の一実施の形態による半導体記憶装置１のリファレンスクロック信号Ｓの第２の動作タイミングの一例を示す図である。
【図２７】本発明の一実施の形態による半導体記憶装置１の第６の動作タイミングを示す図である。
【図２８】本発明の一実施の形態による半導体記憶装置１の第７の動作タイミングを示す図である。
【図２９】本発明の一実施の形態による半導体記憶装置１の第８の動作タイミングを示す図である。
【図３０】本発明の一実施の形態による半導体集積回路システムにおける情報群の圧縮及び復元の流れの一例を示す図である。
【符号の説明】
【０１１１】
１  半導体記憶装置
２  双方向バスライン
３  記憶部
３ａ  第１のメモリブロック
３ｂ、３ｃ、３ｄ  第２のメモリブロック
５  演算部
７  データ入力部
８  データ入力端子
９  入力データバッファ
１３  データ出力部
１２  データ入出力端子
１４  データ出力端子
１５  出力データドライバ
１７、１９  ＣＭＯＳインバータ
２１  データ入出力部
２３ａ、２３ｂ、２３ｃ、２３ｄ  デコーダ
２５ａ、２５ｂ、２５ｃ、２５ｄ  Ｉ／Ｏバッファ
２７ａ、２７ｂ、２７ｃ、２７ｄ  セレクタ
２８  クロック信号入力端子
２９  クロック入力部
３０  クロックバッファ
３１  コマンド入力部
３３  制御部
３３ａ  初期設定コマンド検出部
３５  アドレス入力部
３６  アドレス制御部
３８  アドレス入力端子
３７  アドレス指定部
３９  入力アドレスバッファ
４１  アドレスキー保持部
４３  アドレス演算部
４５  演算指定部
４７  演算選択アドレス保持部
４９  演算指定信号生成部
５０  演算判定コマンド入力部
５１  演算コマンド信号バッファ
５２  演算コマンド信号入力端子
５３  コマンド判定部
５５  演算コマンド信号保持部
５７  演算判定信号生成部
５９  出力遅延制御回路
６１  出力遅延指定部
６３  出力制御アドレス保持部
６５  出力遅延信号生成部
６７  メモリブロック制御部
６９  出力制御部
７１  リファレンスクロック信号出力部
７３  リファレンスクロック信号ドライバ
７５  リファレンスクロック信号出力端子
７７  入力遅延指定部
７９  入力制御アドレス保持部
８１  入力遅延信号生成部
８３  入力遅延制御回路
８７  圧縮対象情報
８９  基本情報
９１  解凍対象情報
９３  指示情報
９５  圧縮情報
ＡＤ  入力データ関連アドレス
ＢＡ  ブロック選択用アドレス
ＣＡ  セル選択アドレス
ＲＡ  読出しアドレス
ＩＤ  入力データ
ＯＤ  演算結果データ
ＲＤ  読出しデータ
【図１】
0004846306.tif 000002
【図２】
0004846306.tif 000003
【図３】
0004846306.tif 000004
【図４】
0004846306.tif 000005
【図５】
0004846306.tif 000006
【図６】
0004846306.tif 000007
【図７】
0004846306.tif 000008
【図８】
0004846306.tif 000009
【図９】
0004846306.tif 000010
【図１０】
0004846306.tif 000011
【図１１】
0004846306.tif 000012
【図１２】
0004846306.tif 000013
【図１３】
0004846306.tif 000014
【図１４】
0004846306.tif 000015
【図１５】
0004846306.tif 000016
【図１６】
0004846306.tif 000017
【図１７】
0004846306.tif 000018
【図１８】
0004846306.tif 000019
【図１９】
0004846306.tif 000020
【図２０】
0004846306.tif 000021
【図２１】
0004846306.tif 000022
【図２２】
0004846306.tif 000023
【図２３】
0004846306.tif 000024
【図２４】
0004846306.tif 000025
【図２５】
0004846306.tif 000026
【図２６】
0004846306.tif 000027
【図２７】
0004846306.tif 000028
【図２８】
0004846306.tif 000029
【図２９】
0004846306.tif 000030
【図３０】
0004846306.tif 000031