(57)【特許請求の範囲】
【請求項１】
半導体記憶装置であって、
複数個のメモリマクロと、
外部と接続される複数個の外部端子を備え、
各外部端子は、対応するメモリマクロと接続され、
前記各メモリマクロに対応する外部端子は、第１のデータ入出力端子および第２のデータ入出力端子を含み、
前記半導体記憶装置は、さらに、
前記各メモリマクロと、前記第１のデータ入出力端子および前記第２のデータ入出力端子との間に設けられたアービタを備え、
前記アービタは、
第１のモードにおいて、データの書込みにおいて、前記第１のデータ入出力端子および前記第２のデータ入出力端子のうちの一方からのライトデータを前記メモリマクロへ出力し、データの読出しにおいて、前記メモリマクロからのライトデータを、前記第１のデータ入出力端子および前記第２のデータ入出力端子のうちの他方へ出力し、
第２のモードにおいて、データの書込み時には、前記第１のデータ入出力端子および前記第２のデータ入出力端子の両方からのライトデータを前記メモリマクロへ出力し、データの読出し時には、前記メモリマクロからのリードデータを、前記第１のデータ入出力端子および前記第２のデータ入出力端子へ出力する、半導体記憶装置。
【請求項２】
前記複数個のメモリマクロは、グループに分割され、
グループを単位としたアクセスか、各メモリマクロに対するアクセスかを切替えるための切替回路を備える、請求項１記載の半導体記憶装置。
【請求項３】
前記切替回路は、グループを単位としたアクセスのときには、前記グループに属する特定のメモリマクロに対応する外部端子から入力されるアドレスに含まれるセレクトアドレスに基づいて、前記グループに属するいずれかのメモリマクロを選択して、前記選択したメモリマクロにアクセスが行なわれるように設定する、請求項２記載の半導体記憶装置。
【請求項４】
１つのグループを構成するメモリマクロのメンバを可変とするための切替回路を備える、請求項１記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置に関する。
【背景技術】
【０００２】
従来のメモリデバイスでは、通常、１つのデバイスに対して１系統(１チャネル）のInst信号（命令信号）、アドレス信号、データ信号が割り当てられている。
【０００３】
これに対して、たとえば、特許文献１（特開２００１−１６７５８６号公報）には、１メモリチップを複数メモリチップと同様に制御可能とした不揮発性半導体メモリ装置が開示されている。不揮発性半導体メモリ装置では、メモリチップ１は、それぞれ内部に書き込みシーケンス制御を行う制御回路を内蔵した複数のＥＥＰＲＯＭ回路２を有する。ＥＥＰＲＯＭ回路２はデータバス３を共有する。各ＥＥＰＲＯＭ回路２はそれぞれ、イネーブル端子ＣＥとＲｅａｄｙ／Ｂｕｓｙ端子Ｒ／Ｂを有し、各ＥＥＰＲＯＭ回路２での並列的なデータ書き込み処理を可能としている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−１６７５８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１（特開２００１−１６７５８６号公報）では、外部から与えられるアドレス信号、命令信号、およびデータ信号は、１種類である。したがって、個々の装置は、単独に動作できたとしても、外部との間での入出力のための時間がかかり、結果として処理速度を向上することができない。
【０００６】
それゆえに、本発明の目的は、複数のメモリマクロを備え、かつメモリマクロへの入出力を並行して行なうことができる半導体記憶装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明の一実施形態の半導体記憶装置は、複数個のメモリマクロと、外部と接続される複数個の外部端子を備え。各外部端子は、対応するメモリマクロと接続される。
【発明の効果】
【０００８】
本発明の一実施形態の半導体記憶装置によれば、複数のメモリマクロを備え、かつメモリマクロへの入出力を並行して行なうことができる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態の半導体記憶装置の構成を表わす図である。
【図２】第２の実施形態の半導体記憶装置の構成を表わす図である。
【図３】切替器の一部の構成およびデータの書込み時の動作を説明するための図である。
【図４】切替器の一部の構成およびデータの読出し時の動作を説明するための図である。
【図５】図３および図４に含まれるアドレス生成器の構成を表わす図である。
【図６】（ａ）は、メモリマクロがセパレートＩＯモードで動作するときの例を表わす図である。（ｂ）は、メモリマクロがコモンＩＯモードで動作するときの例を表わす図である。
【図７】半導体記憶装置内のメモリマクロがそれぞれ別個のモードで動作する例を表わす図である。
【図８】アービタの動作を説明するための図である。
【図９】グループに属するメモリマクロのメンバを可変にする構成および動作を説明するための図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について図面を参照して説明する。
［第１の実施形態］
（構成）
図１は、第１の実施形態の半導体記憶装置の構成を表わす図である。
【００１１】
この半導体記憶装置１は、１つのメモリチップであって、Ｎ＋１個のメモリマクロ＃０〜＃Ｎ（２＿０〜２＿Ｎ）と、２つのコントローラ＃０〜＃１（３＿０，３＿１）と、外部と接続される外部端子Ｐ０＿０〜ＰＮ＿０、Ｐ０＿１〜ＰＮ＿１、Ｐ０＿２〜ＰＮ＿２、Ｐ０＿３〜ＰＮ＿３とを含む。
【００１２】
コントローラ＃０（３＿０）は、ユーザのプログラムにしたがって、メモリマクロ＃０〜メモリマクロ＃Ｌを制御する。コントローラ＃１（３＿１）は、ユーザのプログラムにしたがって、メモリマクロ＃Ｍ〜メモリマクロ＃Ｎを制御する。ただし、０≦Ｌ＜Ｎであり、Ｍ＝Ｌ＋１である。
【００１３】
外部端子Ｐｉ＿０〜Ｐｉ＿３は、メモリマクロ＃ｉと接続する（ｉ＝０〜Ｎ）。外部端子Ｐｉ＿０は、外部からマクロ選択信号ｍｓ＃ｉを受けて、メモリマクロ＃ｉへ出力する。外部端子Ｐｉ＿１は、外部からアドレス信号ａｄｒ＃ｉを受けて、メモリマクロ＃ｉへ出力する。外部端子Ｐｉ＿２は、外部からライトデータｄａｔａ＃ｉを受けて、メモリマクロ＃ｉへ出力する。外部端子Ｐｉ＿３が、メモリマクロ＃ｉからリードデータｑ＃ｉを受けて、外部へ出力する。
【００１４】
メモリマクロ＃ｉは、外部端子Ｐｉ＿０〜Ｐｉ＿３を経由して入出力される信号およびデータにしたがって、通常のリードまたはライト動作を行う。また、メモリマクロ＃０〜＃Ｎは、独立に動作することが可能であり、並列にリードまたはライトを実行することもできる。
【００１５】
（効果）
以上のように、本実施の形態によれば、１つのデバイス（半導体記憶装置）に対してＮ＋１系統（Ｎ＋１チャネル）のマクロ選択信号、アドレス信号、リードデータ、ライトデータを入出力する外部端子を割り当てることによって、１デバイスで、並列のメモリ動作が可能になる。
【００１６】
したがって、多並列動作が可能によりマルチコアなどの多並列コントローラへ対応することができる。また、画像処理やネットワーク処理における同時に多数のメモリにアクセルすることが求められるアプリケーションへの対応も１メモリデバイスのみで可能となる。これにより、ボードの小面積化や低消費電力化の効果が期待できる。
【００１７】
［第２の実施形態］
（構成）
図２は、第２の実施形態の半導体記憶装置の構成を表わす図である。
【００１８】
図２を参照して、この半導体記憶装置２が、図１の半導体記憶装置と相違する点は、メモリマクロ＃０〜Ｎの各々は、ｎ＋１個のグループのうちのいずれかに属することである。
【００１９】
グループ＃ｉは、切替器＃ｉ（２０＿ｉ）を含む（ｉ＝０〜ｎ）。切替器＃ｉは、グループを単位としたアクセスか、各メモリマクロに対するアクセスかを切替える。より、具体的には、切替器＃ｉは、グループを単位としたアクセスのときには、グループに属する特定のメモリマクロに対応する外部端子から入力されるセレクトアドレスに基づいて、グループに属するいずれかのメモリマクロを選択して、選択したメモリマクロにアクセスが行なわれるようにする。
【００２０】
（切替器）
図３は、切替器＃０の一部の構成およびデータの書込み時の動作を説明するための図である。切替器＃１〜＃ｎの構成およびデータの書込み時の動作もこれと同様である。
【００２１】
図３を参照して、メモリマクロ＃０、＃１のデータ入力端子Ｄには、ライトデータが入力される、メモリマクロ＃０、＃１のアドレス端子Ａには、アドレス信号が入力される。メモリマクロ＃０、＃１のイネーブル端子ＭＳには、マクロ選択信号またはイネーブル信号が入力される。イネーブル端子ＭＳに入力される信号がハイレベルのときに限り、メモリマクロ＃０、１は、リードまたはライト動作を行なう。
【００２２】
切替器＃０（２０＿０）は、セレクタ９，１０，１１，１２，１３と、アドレス生成器５とを備える。モードレジスタ８は、コントローラ＃０に含まれる。
【００２３】
モードレジスタ８は、メモリマクロ＃０およびメモリマクロ＃１を１つのグループとして、グループとしてアクセスするときには、ハイレベルのグループアクセス指定信号ＧＲを出力する。モードレジスタ８は、メモリマクロ＃０およびメモリマクロ＃１をメモリマクロ単位でアクセスするときには、ロウレベルのグループアクセス指定信号ＧＲを出力する。
【００２４】
セレクタ９は、外部からのアドレス信号ａｄｒ＃０と、アドレス生成器５からのマクロアドレスＭＡＤとを受けて、いずれかをメモリマクロ＃０のアドレス端子Ａへ供給する。セレクタ９は、モードレジスタ８からのグループアクセス指定信号ＧＲがハイレベルのときには、マクロアドレスＭＡＤをメモリマクロ＃０のアドレス端子Ａへ供給する。セレクタ９は、モードレジスタ８からのグループアクセス指定信号ＧＲがロウレベルのときには、外部からのアドレス信号ａｄｒ＃０をメモリマクロ＃０のアドレス端子Ａへ供給する。
【００２５】
セレクタ１０は、外部からのマクロ選択信号ｍｓ＃０と、アドレス生成器５からのイネーブル信号ｍｍｓ＃０とを受けて、いずれかをメモリマクロ＃０のイネーブル端子ＭＳへ供給する。セレクタ１０は、モードレジスタ８からのグループアクセス指定信号ＧＲがハイレベルのときには、イネーブル信号ｍｍｓ＃０をメモリマクロ＃０のイネーブル端子ＭＳへ供給する。セレクタ９は、モードレジスタ８からのグループアクセス指定信号ＧＲがロウレベルのときには、外部からのマクロ選択信号ｍｓ＃０をメモリマクロ＃０のイネーブル端子ＭＳへ供給する。
【００２６】
セレクタ１２は、外部からのアドレス信号ａｄｒ＃１と、アドレス生成器５からのマクロアドレスＭＡＤとを受けて、いずれかをメモリマクロ＃１のアドレス端子Ａへ供給する。セレクタ１２は、モードレジスタ８からのグループアクセス指定信号ＧＲがハイレベルのときには、マクロアドレスＭＡＤをメモリマクロ＃１のアドレス端子Ａへ供給する。セレクタ１２は、モードレジスタ８からのグループアクセス指定信号ＧＲがロウレベルのときには、外部からのアドレス信号ａｄｒ＃１をメモリマクロ＃１のアドレス端子Ａへ供給する。
【００２７】
セレクタ１３は、外部からのマクロ選択信号ｍｓ＃１と、アドレス生成器５からのイネーブル信号ｍｍｓ＃１とを受けて、いずれかをメモリマクロ＃１のイネーブル端子ＭＳへ供給する。セレクタ１３は、モードレジスタ８からのグループアクセス指定信号ＧＲがハイレベルのときには、イネーブル信号ｍｍｓ＃１をメモリマクロ＃１のイネーブル端子ＭＳへ供給する。セレクタ１３は、モードレジスタ８からのグループアクセス指定信号ＧＲがロウレベルのときには、外部からのマクロ選択信号ｍｓ＃１をメモリマクロ＃１のイネーブル端子ＭＳへ供給する。
【００２８】
セレクタ１１は、外部からのライトデータｄａｔａ＃０と、ｄａｔａ＃１とを受けて、いずれかをメモリマクロ＃１のデータ入力端子Ｄへ供給する。セレクタ１１は、モードレジスタ８からのグループアクセス指定信号ＧＲがハイレベルのときには、ライトデータｄａｔａ＃０をメモリマクロ＃１のデータ入力端子Ｄへ供給する。セレクタ１１は、モードレジスタ８からのグループアクセス指定信号ＧＲがロウレベルのときには、ライトデータｄａｔａ＃１をメモリマクロ＃１のデータ入力端子Ｄへ供給する。
【００２９】
図４は、切替器＃０の一部の構成およびデータの読出し時の動作を説明するための図である。切替器＃１〜＃ｎの構成およびデータの書込み時の動作もこれと同様である。
【００３０】
切替器＃１（２０＿１）は、セレクタ９，１０，１２，１３，１４，１５と、アドレス生成器５とを備える。モードレジスタ８は、コントローラ＃０に含まれる。
【００３１】
セレクタ９は、外部からのアドレス信号ａｄｒ＃０と、アドレス生成器５からのマクロアドレスＭＡＤを受けて、いずれかをメモリマクロ＃０のアドレス端子Ａへ供給する。セレクタ９は、モードレジスタ８からのグループアクセス指定信号ＧＲがハイレベルのときには、マクロアドレスＭＡＤをメモリマクロ＃０のアドレス端子Ａへ供給する。セレクタ９は、モードレジスタ８からのグループアクセス指定信号ＧＲがロウレベルのときには、外部からのアドレス信号ａｄｒ＃０をメモリマクロ＃０のアドレス端子Ａへ供給する。
【００３２】
セレクタ１０は、外部からのマクロ選択信号ｍｓ＃０と、アドレス生成器５からのイネーブル信号ｍｍｓ＃０を受けて、いずれかをメモリマクロ＃０のイネーブル端子ＭＳへ供給する。セレクタ１０は、モードレジスタ８からのグループアクセス指定信号ＧＲがハイレベルのときには、イネーブル信号ｍｍｓ＃０をメモリマクロ＃０のイネーブル端子ＭＳへ供給する。セレクタ９は、モードレジスタ８からのグループアクセス指定信号ＧＲがロウレベルのときには、外部からのマクロ選択信号ｍｓ＃０をメモリマクロ＃０のイネーブル端子ＭＳへ供給する。
【００３３】
セレクタ１２は、外部からのアドレス信号ａｄｒ＃１と、アドレス生成器５からのマクロアドレスＭＡＤを受けて、いずれかをメモリマクロ＃１のアドレス端子Ａへ供給する。
【００３４】
セレクタ１２は、モードレジスタ８からのグループアクセス指定信号ＧＲがハイレベルのときには、マクロアドレスＭＡＤをメモリマクロ＃１のアドレス端子Ａへ供給する。セレクタ１２は、モードレジスタ８からのグループアクセス指定信号ＧＲがロウレベルのときには、外部からのアドレス信号ａｄｒ＃１をメモリマクロ＃１のアドレス端子Ａへ供給する。
【００３５】
セレクタ１３は、外部からのマクロ選択信号ｍｓ＃１と、アドレス生成器５からのイネーブル信号ｍｍｓ＃１を受けて、いずれかをメモリマクロ＃１のイネーブル端子ＭＳへ供給する。セレクタ１３は、モードレジスタ８からのグループアクセス指定信号ＧＲがハイレベルのときには、イネーブル信号ｍｍｓ＃１をメモリマクロ＃１のイネーブル端子ＭＳへ供給する。セレクタ１３は、モードレジスタ８からのグループアクセス指定信号ＧＲがロウレベルのときには、外部からのマクロ選択信号ｍｓ＃１をメモリマクロ＃１のイネーブル端子ＭＳへ供給する。
【００３６】
セレクタ１４は、メモリマクロ＃０のデータ出力端子Ｑからのリードデータｑｑ＃０と、メモリマクロ＃１のデータ出力端子Ｑからのリードデータｑ＃１とを受けて、いずれかをセレクタ１５へ出力する。
【００３７】
セレクタ１４は、アドレス生成器５からの出力選択信号ｑ＿ｓｅｌがハイレベルのときには、メモリマクロ＃０からのリードデータｑｑ＃０をセレクタ１５へ出力する。セレクタ１４は、アドレス生成器５からの出力選択信号ｑ＿ｓｅｌがロウレベルのときには、メモリマクロ＃１からのリードデータｑ＃１をセレクタ１５へ出力する。
【００３８】
セレクタ１５は、セレクタ１４の出力信号と、メモリマクロ＃０のデータ出力端子Ｑからのリードデータｑｑ＃０とを受ける。
【００３９】
セレクタ１５は、モードレジスタ８からのグループアクセス指定信号ＧＲがハイレベルのときには、セレクタ１４の出力信号を外部へ出力する。セレクタ１５は、モードレジスタ８からのグループアクセス指定信号ＧＲがロウレベルのときには、メモリマクロ＃０からのリードデータｑｑ＃０を外部へ出力する。
【００４０】
（アドレス生成器）
図５は、図３および図４に含まれるアドレス生成器の構成を表わす図である。
【００４１】
アドレス生成器５は、デコーダ６と、エンコーダ７とを備える。
グループを単位としてアクセスするときには、アドレス信号ａｄｒ＃０は、マクロアドレスＭＡＤと、セレクトアドレスＳＡＤとを含む。マクロアドレスＭＡＤは、各メモリマクロ内のメモリセルを指定するアドレスである。セレクトアドレスＳＡＤは、メモリマクロ＃０とメモリマクロ＃１のいずれか指定するアドレスである。
【００４２】
アドレス生成器５は、マクロアドレスＭＡＤをセレクタ９とセレクタ１２へ出力する。セレクトアドレスＳＡＤは、デコーダ６およびエンコーダ７に与えられる。
【００４３】
デコーダ６は、イネーブル信号ｍｍｓ＃０をセレクタ１０へ出力し、イネーブル信号ｍｍｓ＃１をセレクタ１１へ出力する。
【００４４】
デコーダ６は、外部からのマクロ選択信号ｍｓ＃０がハイレベルに活性化され、かつセレクトアドレスＳＡＤがメモリマクロ＃０を指定するときには、イネーブル信号ｍｍｓ＃０をハイレベルに活性化し、イネーブル信号ｍｍｓ＃１をロウレベルに非活性化する。
【００４５】
デコーダ６は、外部からのマクロ選択信号ｍｓ＃０がハイレベルに活性化され、かつセレクトアドレスＳＤＡがメモリマクロ＃１を指定するときには、イネーブル信号ｍｍｓ＃０をロウレベルに非活性化し、イネーブル信号ｍｍｓ＃１をハイレベルに活性化する。
【００４６】
デコーダ６は、外部からのマクロ選択信号ｍｓ＃０がロウレベルに非活性化されているときには、イネーブル信号ｍｍｓ＃０をロウレベルに非活性化し、イネーブル信号ｍｍｓ＃１をロウレベルに非活性化する。
【００４７】
エンコーダ７は、外部からのマクロ選択信号ｍｓ＃０がハイレベルに活性化され、かつセレクトアドレスＳＡＤがメモリマクロ＃０を指定するときには、メモリマクロ＃０の出力選択を表わすように出力選択信号ｑ＿ｓｅｌをハイレベル設定する。
【００４８】
エンコーダ７は、外部からのマクロ選択信号ｍｓ＃０がハイレベルに活性化され、かつセレクトアドレスがメモリマクロ＃１を指定するときには、メモリマクロ＃１の出力選択を表わすように出力選択信号ｑ＿ｓｅｌをロウレベルに設定する。
【００４９】
（効果）
以上のように、本実施の形態によれば、複数のメモリマクロが存在する場合に、グループを単位としたアクセスか、各メモリマクロに対するアクセスかを切替えることができるので、多様なコントローラへの対応が期待できる。
【００５０】
［第３の実施形態］
外部との間でデータの授受を行なう外部端子に関して、コモンＩＯとセパレートＩＯの２つの方式がある。
【００５１】
コモンＩＯでは、１つの外部端子が、メモリへのデータの書込みと、メモリからのデータの読出しを兼用する。セパレートＩＯでは、メモリへのデータの書出しのための外部端子と、メモリからのデータの読出しのための外部端子とを別個備える。
【００５２】
メモリを使用するアプリケーションによって、コモンＩＯとセパレートＩＯのうちのいずれが適しているが相違する。たとえば、動作のほとんどが読み出しであるようなアプリケーションでは、同じピン数での転送速度を上げるためにコモンＩＯが好ましい。一方、読み出しと書き込みの割合が近いアプリケーションでは、セパレートＩＯが好まれる。その理由は、コモンＩＯでは読み出しと書き込みの切り替え時、データ線での衝突を避けるためにコマンド間隔を開ける必要があるため、システム性能が下がるためである。
【００５３】
本実施形態では、外部端子をコモンＩＯの端子として動作させるモード（以下、コモンＩＯモード）と、セパレートＩＯの端子として動作させるモード（セパレートＩＯモード）とを切替えることができる半導体記憶装置について説明する。
【００５４】
図６（ａ）は、メモリマクロ＃０がセパレートＩＯモードで動作するときの例を表わす図である。
【００５５】
データの書込みにおいて、外部端子Ｐ０＿２には、ｎビットのライトデータｄａｔａ＜ｎ−１：０＞が入力され、アービタ＃０（３０＿０）を介して、メモリマクロ＃０へ送られる。
【００５６】
データの読出しでは、メモリマクロ＃０から出力されたｎビットのリードデータｑ＜ｎ−１：０＞がアービタ＃０を介して、外部端子Ｐ０＿３へ出力される。
【００５７】
図６（ｂ）は、メモリマクロがコモンＩＯモードで動作するときの例を表わす図である。
【００５８】
データの書込時には、外部端子Ｐ０＿２およびＰ０＿３には、２ｎビットのライトデータｄｑ＜２ｎ−１：０＞が入力され、アービタ＃０を介して、メモリマクロ＃０へ送られる。
【００５９】
データの読出し時には、メモリマクロ＃０から出力された２ｎビットのリードデータｄｑ＜２ｎ−１：０＞がアービタ＃０を介して、外部端子Ｐ０＿２およびＰ０＿３へ出力される。
【００６０】
図７は、半導体記憶装置内のメモリマクロがそれぞれ別個のモードで動作する例を表わす図である。
【００６１】
図７に示すように、メモリマクロ＃０およびメモリマクロ＃１は、セパレートＩＯモードで動作する。メモリマクロ＃２およびメモリマクロ＃Ｎは、コモンＩＯモードで動作する。
【００６２】
図８は、アービタの動作を説明するための図である。
図８を参照して、アービタ＃０は、メモリマクロ＃０と、外部端子Ｐ０＿２および外部端子Ｐ０＿３との間に設けられる。
【００６３】
アービタ＃０は、セパレートＩＯモードにおいて、外部端子Ｐ０＿２からのｎビットのライトデータｄａｔａ＜ｎ−１：０＞をメモリマクロ＃０のデータ入力端子Ｄ０〜Ｄｎ−１へ出力する。アービタ＃０は、セパレートＩＯモードにおいて、メモリマクロ＃０のデータ出力端子Ｑ０〜Ｑｎ−１からのｎビットのリードデータｑ＜ｎ−１：０＞を外部端子Ｐ０＿３へ出力する。
【００６４】
アービタ＃０は、コモンＩＯモードにおいて、データの書込み時には、外部端子Ｐ０＿２からのｎビットのライトデータｄｑ＜ｎ−１：０＞および外部端子Ｐ０＿３からのｎビットのライトデータｄｑ＜２ｎ−１：ｎ＞をメモリマクロ＃０のデータ入力端子Ｄ０〜Ｄ２ｎ−１へ出力する。
【００６５】
アービタ＃０は、コモンＩＯモードにおいて、データの読出し時には、メモリマクロ＃０のデータ出力端子Ｑ０〜Ｑｎ−１からのｎビットのリードデータｄｑ＜ｎ−１：０＞外部端子Ｐ０＿２に出力し、メモリマクロ＃０のデータ出力端子Ｑｎ〜Ｑ２ｎ−１からのｎビットのリードデータｄｑ＜２ｎ−１：ｎ＞外部端子Ｐ０＿３に出力する。
【００６６】
以上のように、本実施の形態によれば、コモンＩＯモードとセパレートＩＯモードの両方のモードを有するので、さまざまなアプリケーションに対応した使い勝手がよい半導体記憶装置を提供することができる。
【００６７】
［第４の実施形態］
図９は、グループに属するメモリマクロのメンバを可変にする構成および動作を説明するための図である。
【００６８】
アドレス生成器５１＿０は、外部からアドレス信号ａｄｒ＃０と、マクロ選択信号ｍｓ＃０とを受ける。アドレス信号ａｄｒ＃０は、グループを単位としてアクセスするときには、マクロアドレスＭＡＤ０と、セレクトアドレスＳＡＤ０とを含む。
【００６９】
アドレス生成器５１＿０は、外部からアドレス信号ａｄｒ＃０を受けたときに、アドレス信号ａｄｒ＃０をそのままセレクタ６５へ出力する。
【００７０】
アドレス生成器５１＿０は、外部からアドレス信号ａｄｒ＃０を受けたときに、それがマクロアドレスＭＡＤ０と、セレクトアドレスＳＡＤ０とを含むときには、マクロアドレスＭＡＤ０をセレクタ６５，６６，６７，６８へ出力する。
【００７１】
アドレス生成器５１＿０は、外部からマクロ選択信号ｍｓ＃０を受けたときには、マクロ選択信号ｍｓ＃０をそのままセレクタ６１へ出力する。
【００７２】
アドレス生成器５１＿０は、外部からハイレベルのマクロ選択信号ｍｓ＃０を受け、かつ外部からマクロアドレスＭＡＤ０とセレクトアドレスＳＡＤ０とを含むアドレス信号ａｄｒ＃０を受けたときに限り、ハイレベルのイネーブル信号ｍｍｓ＃０をセレクタ６１，６２，６３，６４へ出力する。
【００７３】
セレクタ６１は、アドレス生成器５１＿１からイネーブル信号ｍｍｓ＃０とマクロ選択信号ｍｓ＃０とを受けて、選択信号Ｓ１に従って、いずれかをメモリマクロ＃０のイネーブル端子ＭＳへ出力する。なお、選択信号Ｓ１が与えられない場合には、メモリマクロ＃０のイネーブル端子ＭＳへはデフォルトのロウレベルの信号が送られる。
【００７４】
セレクタ６５は、アドレス生成器５１＿１からアドレス信号ａｄｒ＃０と、マクロアドレスＭＡＤ０とを受けて、選択信号Ｓ１に従って、いずれかをメモリマクロ＃０のアドレス端子Ａへ出力する。
【００７５】
アドレス生成器５１＿１は、外部からアドレス信号ａｄｒ＃１と、マクロ選択信号ｍｓ＃１とを受ける。アドレス信号ａｄｒ＃１は、グループを単位としてアクセスするときには、マクロアドレスＭＡＤ１と、セレクトアドレスＳＡＤ１とを含む。
【００７６】
アドレス生成器５１＿１は、外部からアドレス信号ａｄｒ＃１を受けたときに、アドレス信号ａｄｒ＃１をそのままセレクタ６６へ出力する。
【００７７】
アドレス生成器５１＿１は、外部からアドレス信号ａｄｒ＃１を受けたときに、それがマクロアドレスＭＡＤ１と、セレクトアドレスＳＡＤ１とを含むときには、マクロアドレスＭＡＤ１をセレクタ６６，６７，６８へ出力する。
【００７８】
アドレス生成器５１＿１は、外部からマクロ選択信号ｍｓ＃１を受けたときには、マクロ選択信号ｍｓ＃１をそのままセレクタ６２へ出力する。
【００７９】
アドレス生成器５１＿１は、外部からハイレベルのマクロ選択信号ｍｓ＃１を受け、かつ外部からマクロアドレスＭＡＤ１とセレクトアドレスＳＡＤ１とを含むアドレス信号ａｄｒ＃１を受けたときに限り、ハイレベルのイネーブル信号ｍｍｓ＃１をセレクタ６２，６３，６４へ出力する。
【００８０】
セレクタ６２は、アドレス生成器５１＿０からイネーブル信号ｍｍｓ＃０を受け、かつアドレス生成器５１＿１からイネーブル信号ｍｍｓ＃１とマクロ選択信号ｍｓ＃１とを受けて、選択信号Ｓ２に従って、いずれかをメモリマクロ＃１のイネーブル端子ＭＳへ出力する。なお、選択信号Ｓ２が与えられない場合には、メモリマクロ＃１のイネーブル端子ＭＳへはデフォルトのロウレベルの信号が送られる。
【００８１】
セレクタ６６は、アドレス生成器５１＿０からマクロアドレスＭＡＤ０を受け、かつアドレス生成器５１＿１からアドレス信号ａｄｒ＃１と、マクロアドレスＭＡＤ１とを受けて、選択信号Ｓ２に従って、いずれかをメモリマクロ＃１のアドレス端子Ａへ出力する。
【００８２】
セレクタ６９は、外部からライトデータｄａｔａ＃０およびライトデータｄａｔａ＃１を受けて、選択信号ＬＳ１に従って、いずれかをメモリマクロ＃１のデータ入力端子Ｄへ出力する。
【００８３】
アドレス生成器５１＿２は、外部からアドレス信号ａｄｒ＃２と、マクロ選択信号ｍｓ＃２とを受ける。アドレス信号ａｄｒ＃２は、グループを単位としてアクセスするときには、マクロアドレスＭＡＤ２と、セレクトアドレスＳＡＤ２とを含む。
【００８４】
アドレス生成器５１＿２は、外部からアドレス信号ａｄｒ＃２を受けたときに、アドレス信号ａｄｒ＃２をそのままセレクタ６７へ出力する。
【００８５】
アドレス生成器５１＿２は、外部からアドレス信号ａｄｒ＃２を受けたときに、それがマクロアドレスＭＡＤ２と、セレクトアドレスＳＡＤ２とを含むときには、マクロアドレスＭＡＤ２をセレクタ６７，６８へ出力する。
【００８６】
アドレス生成器５１＿２は、外部からマクロ選択信号ｍｓ＃２を受けたときには、マクロ選択信号ｍｓ＃２をそのままセレクタ６３へ出力する。
【００８７】
アドレス生成器５１＿２は、外部からハイレベルのマクロ選択信号ｍｓ＃２を受け、かつ外部からマクロアドレスＭＡＤ２とセレクトアドレスＳＡＤ２とを含むアドレス信号ａｄｒ＃２を受けたときに限り、ハイレベルのイネーブル信号ｍｍｓ＃２をセレクタ６３，６４へ出力する。
【００８８】
セレクタ６３は、アドレス生成器５１＿０からイネーブル信号ｍｍｓ＃０を受け、かつアドレス生成器５１＿１からイネーブル信号ｍｍｓ＃１を受け、かつアドレス生成器５１＿２からイネーブル信号ｍｍｓ＃２とマクロ選択信号ｍｓ＃２とを受けて、選択信号Ｓ３に従って、いずれかをメモリマクロ＃２のイネーブル端子ＭＳへ出力する。なお、選択信号Ｓ３が与えられない場合には、メモリマクロ＃２のイネーブル端子ＭＳへはデフォルトのロウレベルの信号が送られる。
【００８９】
セレクタ６７は、アドレス生成器５１＿０からマクロアドレスＭＡＤ０を受け、かつアドレス生成器５１＿１からマクロアドレスＭＡＤ１を受け、かつアドレス生成器５１＿２からアドレス信号ａｄｒ＃２と、マクロアドレスＭＡＤ２とを受けて、選択信号Ｓ３に従って、いずれかをメモリマクロ＃２のアドレス端子Ａへ出力する。
【００９０】
セレクタ７０は、外部からライトデータｄａｔａ＃０、ライトデータｄａｔａ＃１、およびライトデータｄａｔａ＃１を受けて、選択信号ＬＳ２に従って、いずれかをメモリマクロ＃２のデータ入力端子Ｄへ出力する。
【００９１】
アドレス生成器５１＿３は、外部からアドレス信号ａｄｒ＃３と、マクロ選択信号ｍｓ＃３とを受ける。アドレス信号ａｄｒ＃３は、グループを単位としてアクセスするときには、マクロアドレスＭＡＤ３、セレクトアドレスＳＡＤ３とを含む。
【００９２】
アドレス生成器５１＿３は、外部からアドレス信号ａｄｒ＃３を受けたときに、アドレス信号ａｄｒ＃３をそのままセレクタ６８へ出力する。
【００９３】
アドレス生成器５１＿３は、外部からアドレス信号ａｄｒ＃３を受けたときに、それがマクロアドレスＭＡＤ３と、セレクトアドレスＳＡＤ３とを含むときには、マクロアドレスＭＡＤ３をセレクタ６８へ出力する。
【００９４】
アドレス生成器５１＿３は、外部からマクロ選択信号ｍｓ＃３を受けたときには、マクロ選択信号ｍｓ＃３をそのままセレクタ６４へ出力する。
【００９５】
アドレス生成器５１＿３は、外部からハイレベルのマクロ選択信号ｍｓ＃３を受け、かつ外部からマクロアドレスＭＡＤ３とセレクトアドレスＳＡＤ３とを含むアドレス信号ａｄｒ＃３を受けたときに限り、ハイレベルのイネーブル信号ｍｍｓ＃３をセレクタ６４へ出力する。
【００９６】
セレクタ６４は、アドレス生成器５１＿０からイネーブル信号ｍｍｓ＃０を受け、かつアドレス生成器５１＿１からイネーブル信号ｍｍｓ＃１を受け、かつアドレス生成器５１＿２からイネーブル信号ｍｍｓ＃２を受け、かつアドレス生成器５１＿３からイネーブル信号ｍｍｓ＃３とマクロ選択信号ｍｓ＃３とを受けて、選択信号Ｓ４に従って、いずれかをメモリマクロ＃３のイネーブル端子ＭＳへ出力する。なお、選択信号Ｓ４が与えられない場合には、メモリマクロ＃３のイネーブル端子ＭＳへはデフォルトのロウレベルの信号が送られる。
【００９７】
セレクタ６８は、アドレス生成器５１＿０からマクロアドレスＭＡＤ０を受け、かつアドレス生成器５１＿１からマクロアドレスＭＡＤ１を受け、かつアドレス生成器５１＿２からマクロアドレスＭＡＤ２を受け、かつアドレス生成器５１＿３からアドレス信号ａｄｒ＃３と、マクロアドレスＭＡＤ３とを受けて、選択信号Ｓ４に従って、いずれかをメモリマクロ＃３のアドレス端子Ａへ出力する。
【００９８】
セレクタ７１は、外部からライトデータｄａｔａ＃０、ライトデータｄａｔａ＃１、ライトデータｄａｔａ＃２、およびライトデータｄａｔａ＃３を受けて、選択信号ＬＳ３に従って、いずれかをメモリマクロ＃３のデータ入力端子Ｄへ出力する。
【００９９】
（アクセスの例１）
メモリマクロ＃０〜メモリマクロ＃３をすべてメモリマクロ単位でアクセスする場合には、外部からライトデータｄａｔａ＃０〜ｄａｔａ＃３、アドレス信号ａｄｒ＃０〜ａｄｒ＃３、ハイレベルのマクロ選択信号ｍｓ＃０〜ｍｓ＃３が与えられる。この場合には、アドレス信号ａｄｒ＃ｉ（ｉ＝０〜３）は、マクロアドレスＭＡＤｉおよびセレクトアドレスＳＡＤｉを含まない。
【０１００】
選択信号Ｓ１によって、セレクタ６５は、アドレス信号ａｄｒ＃０を選択して出力し、セレクタ６１は、マクロ選択信号ｍｓ＃０を選択して出力する。
【０１０１】
選択信号Ｓ２によって、セレクタ６６は、アドレス信号ａｄｒ＃１を選択して出力し、セレクタ６２は、マクロ選択信号ｍｓ＃１を選択して出力する。
【０１０２】
選択信号Ｓ３によって、セレクタ６７は、アドレス信号ａｄｒ＃２を選択して出力し、セレクタ６３は、マクロ選択信号ｍｓ＃２を選択して出力する。
【０１０３】
選択信号Ｓ４によって、セレクタ６８は、アドレス信号ａｄｒ＃３を選択して出力し、セレクタ６４は、マクロ選択信号ｍｓ＃３を選択して出力する。
【０１０４】
選択信号ＬＳ１によって、セレクタ６９は、ライトｄａｔａ＃１を選択して出力する。
選択信号ＬＳ２によって、セレクタ７０は、ライトｄａｔａ＃２を選択して出力する。
【０１０５】
選択信号ＬＳ３によって、セレクタ７１は、ライトｄａｔａ＃３を選択して出力する。
以上の動作によって、メモリマクロ＃０〜メモリマクロ＃３は、単独で動作することができ、また４つのメモリマクロを同時に動作させることもできる。
【０１０６】
（アクセスの例２）
メモリマクロ＃０〜メモリマクロ＃３のうち、メモリマクロ＃０およびメモリマクロ＃１を第１のグループとし、メモリマクロ＃２およびメモリマクロ＃３を第２のグループとし、グループ単位でアクセスする場合には、外部からライトデータｄａｔａ＃０，ｄａｔａ＃２、アドレス信号ａｄｒ＃０，ａｄｒ＃２、ハイレベルのマクロ選択信号ｍｓ＃０，ｍｓ＃２が与えられる。アドレス信号ａｄｒ＃０は、マクロアドレスＭＡＤ０とセレクトアドレスＳＡＤ０とを含む。アドレス信号ａｄｒ＃２は、マクロアドレスＭＡＤ２とセレクトアドレスＳＡＤ２とを含む。セレクトアドレスＳＡＤ０が、メモリマクロ＃１を指定し、セレクトアドレスＳＡＤ２が、メモリマクロ＃２を指定するものとする。
【０１０７】
選択信号Ｓ２によって、セレクタ６６は、マクロアドレスＭＡＤ０を選択して出力し、セレクタ６２は、イネーブル信号ｍｍｓ＃０を選択する。
【０１０８】
選択信号ＬＳ１によって、セレクタ６９は、ライトｄａｔａ＃０を選択する。
選択信号Ｓ３によって、セレクタ６７は、マクロアドレスＭＡＤ２を選択し、セレクタ６３は、イネーブル信号ｍｍｓ＃２を選択する。
【０１０９】
選択信号ＬＳ２によって、セレクタ７０は、ライトｄａｔａ＃２を選択する。
以上の動作によって、メモリマクロ＃０およびメモリマクロ＃１を第１のグループのメンバに設定し、メモリマクロ＃２およびメモリマクロ＃３を第２のグループのメンバに設定することができる。
【０１１０】
（アクセスの例３）
メモリマクロ＃０〜メモリマクロ＃３のうち、メモリマクロ＃０をメモリマクロ単位でアクセスし、メモリマクロ＃１〜メモリマクロ＃３をグループ単位でアクセスする場合には、外部からライトデータｄａｔａ＃０，ｄａｔａ＃１、アドレス信号ａｄｒ＃０，ａｄｒ＃１、ハイレベルのマクロ選択信号ｍｓ＃０，ｍｓ＃１が与えられる。アドレス信号ａｄｒ＃０は、マクロアドレスＭＡＤ０とセレクトアドレスＳＡＤ０とを含まない。アドレス信号ａｄｒ＃１は、マクロアドレスＭＡＤ１とセレクトアドレスＳＡＤ１とを含む。セレクトアドレスＳＡＤ１が、メモリマクロ＃３を指定するものとする。
【０１１１】
選択信号Ｓ１によって、セレクタ６５は、アドレス信号ａｄｒ＃０を選択して出力し、セレクタ６１は、マクロ選択信号ｍｓ＃０を選択して出力する。
【０１１２】
選択信号Ｓ４によって、セレクタ６８は、マクロアドレスＭＡＤ１を選択して出力し、セレクタ６４は、イネーブル信号ｍｍｓ＃１を選択する。
【０１１３】
選択信号ＬＳ３によって、セレクタ７１は、ライトｄａｔａ＃１を選択する。
以上の動作によって、メモリマクロ＃０を単独アクセスの対象に設定し、メモリマクロ＃１〜メモリマクロ＃３を１つのグループのメンバに設定することができる。
【０１１４】
本実施の形態では、４個のメモリマクロを有する場合について説明したが、これに限定されるものではない。たとえば、Ｎ個のメモリマクロを有する場合であっても、本実施の形態のようにアドレス生成器とセレクタを配置することでグループに属するメモリマクロのメンバを可変にすることが可能である。
【０１１５】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１１６】
１  半導体記憶装置、２＿０〜２＿Ｎ  メモリマクロ、３＿０，３＿１  コントローラ、５，５１＿１〜５１＿４  アドレス生成器、６  デコーダ、７  エンコーダ、９〜１５，６１〜７１  セレクタ、８  モードレジスタ、２０＿０〜２０＿ｎ  切替器、３０＿０〜３０＿Ｎ  アービタ。
【図１】
0005667932.tif 000002
【図２】
0005667932.tif 000003
【図３】
0005667932.tif 000004
【図４】
0005667932.tif 000005
【図５】
0005667932.tif 000006
【図６】
0005667932.tif 000007
【図７】
0005667932.tif 000008
【図８】
0005667932.tif 000009
【図９】
0005667932.tif 000010