以下、実施形態を図面を用いて説明する。図中、太線で示した信号線は、複数本を示す。また、太線が接続されているブロックの一部は、複数の回路である。信号が伝達される信号線には、信号名と同じ符号を使用する。末尾に”Z”が付く信号は、正論理を示している。先頭に”/”の付く信号は、負論理を示している。図中の二重の四角印は、外部端子を示している。外部端子は、例えば、半導体チップ上のパッド、あるいは半導体チップが収納されるパッケージのリードである。外部端子を介して供給される信号には、端子名と同じ符号を使用する。
図1は、一実施形態における半導体メモリMEMの例を示している。例えば、半導体メモリMEMは、SDRAMである。半導体メモリMEMは、入力バッファ10a、10b、10c、10d、データ入出力バッファ10e、コマンド制御部12、コラムタイミング制御部14、ロウタイミング制御部16、モードレジスタ18、カウンタ制御部20、コラムバッファ22、ロウバッファ24、コラムアドレス制御部26、ロウアドレス制御部28、バイト生成部30、データバスセレクタ32および8個のバンクBK(BK0−7)を有している。
入力バッファ10aは、コマンド信号(ロウアドレスストローブ信号/RAS、コラムアドレスストローブ信号/CAS、ライトイネーブル信号/WE、チップセレクト信号/CS)およびクロック信号CLKを受け、受けた信号をコマンド制御部12等に出力する。入力バッファ10bは、12ビットのアドレス信号A11−0(ロウアドレス信号RAまたはコラムアドレス信号CA)を受け、受けた信号をロウバッファ24およびコラムバッファ22に出力する。入力バッファ10cは、3ビットのバンクアドレス信号BA2−0をバンクアドレス信号BA2−0Z(BA2Z、BA1Z、BA0Z)として出力する。入力バッファ10dは、8ビットのデータマスク信号DM(DM7−0)をデータマスク信号DM7−0Z(DM7Z、DM6Z、...DM0Z)として出力する。後述するように、DM信号のビットは、8つのデータ端子群DQにそれぞれ対応する。
データ入出力バッファ10eは、読み出し動作時に、バンクBKから読み出され、データバスセレクタ32によって選択され、内部データバスIOB(IOB63、IOB62、...IOB0)に転送されるデータをデータ端子DQ(DQ63、DQ62、...DQ0)に出力する。また、データ入出力バッファ10eは、書き込み動作時に、データ端子DQ63−0に供給されるデータを内部データバスIOB63−0に出力する。データ端子DQ63−0は、8個のデータ端子群DQ63−56、DQ55−48、...DQ7−0に分類される。内部データバスIOB63−0の各データ線は、相補の信号線でもよく、単一の信号線でもよい。
コマンド制御部12は、クロック信号CLKZに同期してコマンド信号を受け、受けたコマンド信号をデコードし、制御信号CCNT、RCNT、MCNTを出力する。コマンド制御部12は、アクティブコマンドまたはリフレッシュコマンドを受けたとき、ロウ制御信号RCNTをロウタイミング制御部16に出力する。コマンド制御部12は、読み出しコマンドまたは書き込みコマンドを受けたとき、コラム制御信号CCNTをコラムタイミング制御部14に出力し、初期化信号INITZをカウンタ制御部20およびコラムアドレス制御部26に出力する。さらに、コマンド制御部12は、モードレジスタ設定コマンドを受けたとき、モード制御信号MCNTをモードレジスタ18に出力する。
コラムタイミング制御部14は、コラム制御信号CCNTに応答して、コラムデコーダCDECを動作するためのコラムタイミング信号CTIMを出力する。ロウタイミング制御部16は、ロウ制御信号RCNTに応答して、ロウデコーダRDECを動作するためのロウタイミング信号RTIMを出力する。
モードレジスタ18は、モード制御信号MCNTに同期して、アドレス端子ADまたはデータ端子DQに供給される論理レベルに応じて設定される複数のレジスタを有している。モードレジスタ18は、メモリMEMの動作モード(バースト長BLおよびCASレイテンシCL等)を設定する。バースト長BLは、1回の読み出しコマンドに応答してデータ端子DQから出力されるデータ信号の出力回数、および1回の書き込みコマンドに応答してデータ端子DQで受けるデータ信号の入力回数である。なお、符号BLは、図5においてビット線としても使用する。CASレイテンシCLは、読み出しコマンドを受けてから読み出しデータの出力が開始されるまでのクロック数である。ステップ信号STEP2Zは、図2に示すバーストカウンタBCOUNTのコラムアドレスCAの増分を指定する。
カウンタ制御部20は、初期化信号INITZに応答して、クロック信号CLKZに同期するパルスを有するカウンタ信号CACOUNTの出力を開始する。カウンタ信号CACOUNTのパルス数は、ステップ信号STEP2Zが高レベルのときに、バースト長BLが示す回数の半分であり、ステップ信号STEP2Zが低レベルのときに、バースト長BLが示す回数である。
コラムバッファ22は、/CAS信号に同期して8ビットのアドレス信号A7−0(コラムアドレス信号CA7−0)を受け、受けた信号をコラムアドレス信号CAZ(CA7Z、CA6Z、...CA0Z)としてコラムアドレス制御部26に出力する。ロウバッファ24は、/RAS信号に同期して12ビットのアドレス信号A11−0を受け、受けた信号をロウアドレス信号RAZ(RA11Z、RA10Z、...RA0Z)としてロウアドレス制御部28に出力する。
コラムアドレス制御部26は、ステップ信号STEP2Zが高レベルのときに、コラムアドレス信号CA7−0Zに応じてグローバルコラムアドレス信号GCAEZおよびGCAOZを出力する。グローバルコラムアドレス信号GCAEZ、GCAOZは、コラムアドレス信号CAZの上位7ビット(CA7−1Z)に対応して生成される。コラムアドレス制御部26は、ステップ信号STEP2Zが低レベルのときに、コラムアドレス信号CA7−0Zに応じてグローバルコラムアドレス信号GCAEZまたはGCAOZのいずれかを出力する。コラムアドレス信号GCAEZ、GCAOZは、図3に示すように、バンクBK0(またはBK1−7)の2つのメモリ領域EA、OAをアクセスするために生成される。また、コラムアドレス制御部26は、バイト生成部30からのバイト信号BYTE7−0をマスク信号MASKZ(MASK7Z、MASK6Z,...MASK0Z)として出力する。コラムアドレス制御部26の詳細は、図2に示す。ロウアドレス制御部28は、ロウアドレス信号RA11−0Zに応じてグローバルロウアドレス信号GRAZ(GRA11Z、GRA10Z、...GRA0Z)を出力する。
バイト生成部30は、データマスク信号DM7−0Zの論理をラッチし、8ビットのバイト信号BYTE7−0として出力する。バイト信号BYTE7は、読み出し動作時に、データ端子群DQ63−56に出力するデータを選択するために使用される。また、バイト信号BYTE7は、書き込み動作時に、データ端子群DQ63−56に供給されるデータをバンクBK内のメモリ領域のどの位置に書き込むかを選択するために使用される。他のバイト信号BYTE6−0も同様に、データ端子群DQ47−40、39−32、31−24、23−16、15−8、7−0に出力または入力するデータを選択するために使用される。従来より設けられているデータマスク端子DMを利用して、バイト信号BYTE7−0の論理をメモリMEMに供給することで、メモリMEMをアクセスするコントローラの設計を容易にできる。
データバスセレクタ32は、バイト信号BYTE7−0に応じて、データ端子群(バイト)毎に内部データバスIOB63−0を内部データ線IDE63−0、IDO63−0のいずれかに接続する。データバスセレクタ32の詳細は、図6から図11に示す。
各バンクBK0−7は、コラムデコーダCDEC、ロウデコーダRDEC、メモリセルアレイMCAおよびデータラッチDTLを有している。バンクBK0−7は、バンクアドレス信号BA2−0により選択されることと除き、互いに同じ回路構成である。このため、以降の説明では、バンクBK0についてのみ説明する。なお、バンクBKの数は、2個や4個でもよい。あるいは、メモリMEMは、バンクBK0のみを有してもよい。これは、後述する実施形態でも同様である。
図2は、図1に示したコラムアドレス制御部26の例を示している。コラムアドレス制御部26は、バーストカウンタBCOUNT、コラムアドレス加算器CADDE、CADDOおよびコラムマスク制御部CMCNTを有している。バーストカウンタBCOUNTは、初期化信号INITZに同期してコラムアドレス信号CAZ(CA7−0Z)をバースト開始アドレスとしてロードし、8ビットのプリコラムアドレス信号PCAZ(PCA7−0Z)として出力する。この後、バーストカウンタBCOUNTは、カウンタ信号CACOUNTに同期してプリコラムアドレス信号PCA7−0Zを2ずつ増加する。
コラムアドレス加算器CADDEは、プリコラムアドレス信号PCA7−0Zの最下位ビットPCA0Zが”0”のとき、プリコラムアドレス信号PCA7−1Zをグローバルコラムアドレス信号GCAE7−1Zとして出力する。コラムアドレス加算器CADDEは、ステップ信号STEP2Zが高レベル、かつ最下位ビットPCA0Zが”1”のとき、プリコラムアドレス信号PCA7−0Zに1を加えたアドレスの上位7ビットをグローバルコラムアドレス信号GCAE7−1Zとして出力する。また、コラムアドレス加算器CADDEは、ステップ信号STEP2Zが低レベル、かつ最下位ビットPCA0Zが”1”のとき、グローバルコラムアドレス信号GCAE7−1Zの出力を禁止する。
コラムアドレス加算器CADDOは、コラムアドレス加算器CADDEと逆に動作する。すなわち、最下位ビットPCA0Zが”1”のとき、プリコラムアドレス信号PCA7−1Zがグローバルコラムアドレス信号GCAO7−1Zとして出力される。ステップ信号STEP2Zが高レベル、かつ最下位ビットPCA0Zが”0”のとき、プリコラムアドレス信号PCA7−0Zに1を加えたアドレスの上位7ビットがグローバルコラムアドレス信号GCAO7−1Zとして出力される。また、ステップ信号STEP2Zが低レベル、かつ最下位ビットPCA0Zが”0”のとき、グローバルコラムアドレス信号GCAO7−1Zの出力は禁止される。
コラムアドレス加算器CADDE、CADDOは、図の左下の枠内に示したように、ステップ信号STEP2Zが高レベルのとき、プリコラムアドレス信号PCA7−0Zが偶数のときに(最下位ビット=”0”)、同じ値のグローバルコラムアドレス信号GCAE7−1Z、GCAO7−1Zを生成する。このとき、図3に示す偶数領域EAおよび奇数領域OAにおいて、同じコラムアドレスCAに割り当てられたメモリセルにデータが入出力される。枠内の数字列は2進数を示し、括弧内の数字は10進数を示している。また、コラムアドレス加算器CADDE、CADDOは、プリコラムアドレス信号PCA7−0Zが奇数のときに(最下位ビット=”1”)、グローバルコラムアドレス信号GCAO7−1Zより1だけ大きいグローバルコラムアドレス信号GCAE7−1Zを生成する。このとき、図3に示す偶数領域EAおよび奇数領域OAにおいて、互いに1つずれたコラムアドレスCAに割り当てられたメモリセルにデータが入出力される。コラムマスク制御部CMCNTは、バイト信号BYTE7−0をマスク信号MASKZ(MASK7Z、MASK6Z,...MASK0Z)として出力する。
図3は、図1に示したバンクBK0の例を示している。バンクBK1−7も、バンクBK0と同じである。バンクBK0は、偶数領域EAおよび奇数領域OAを有している。偶数領域EAは、CA0Z=”0”に対応し、奇数領域OAは、CA0Z=”1”に対応する。偶数領域EAおよび奇数領域OAの各々は、ロウデコーダRDEC、コラムデコーダCDEC、メモリセルアレイMCAおよびデータラッチDTLを有している。偶数領域EAおよび奇数領域OAは、互いに同じ回路であるため、以下では、主に偶数領域EAを説明する。
偶数領域EAにおいて、コラムデコーダCDECは、8個のサブコラムデコーダSDECを有する。サブコラムデコーダSDECは、データ群D7−0にそれぞれ対応する。各データ群D7−0は、8ビットのデータ(バイトデータ)を含む。データ群D7、D6、...D0は、本来、データ端子群DQ63−56、DQ55−48、...DQ7−0にそれぞれ対応する。しかし、データ群D7がデータ端子群DQ63−56から出力されるとは限らない。この実施形態では、あるデータ群のサブアレイSARYから読み出されるデータを、データ群の番号と異なる番号が割り当てられたデータ端子群DQに出力することで、データ端子DQを有効に使用し、データ転送レートを向上させる。
サブコラムデコーダSDECは、共通のグローバルコラムアドレス信号GCAE7−1Zをそれぞれデコードし、コラム選択信号CLE(例えば、CLEH0−127)のいずれかを活性化する。奇数領域OAのコラムデコーダCDECのサブコラムデコーダSDECは、共通のグローバルコラムアドレス信号GCAO7−1Zをそれぞれデコードし、コラム選択信号CLO(例えば、CLOH0−127)のいずれかを活性化する。
図4に示すように、コラム選択信号CLEには、番号の小さいデータ群D0−7から順にA、B、C、D、E、F、G、Hが付けられている。同様に、コラム選択信号CLOも番号の小さいデータ端子群から順にA、B、C、D、E、F、G、Hが付けられている。各サブコラムデコーダSDECは、高レベルのマスク信号MASKZ(MASK7−0Zのいずれか)を受けたときに、デコード動作を禁止し、全てのコラム選択信号CLE(またはCLO)を低レベルに保持する。マスク信号MASKZを用いてデータ群D7−0毎に、動作が不要なサブコラムデコーダSDECを非活性化することで、各バンクBKの消費電力を削減できる。
図3の偶数領域EAにおいて、メモリセルアレイMCAは、コラム選択信号群CLEA0−127、CLEB0−127、...CLEH0−127をそれぞれ受ける8個のサブアレイSARYを有している。サブアレイSARYは、データ群D7−0にそれぞれ対応する。換言すれば、各メモリセルアレイMCAは、8個のデータ群D7−0を記憶する領域を有している。
偶数領域EAにおいて、データラッチDTLは、データ群D7−0にそれぞれ対応する8個のサブラッチSLを有している。サブラッチSLは、相補の内部データ線群IDTE(IDTE63−56、IDTE55−48、...IDTE7−0)を介してサブアレイSARYにそれぞれ接続されている。また、サブラッチSLは、偶数領域EAに共通の内部データ線IDE63−0に接続されている。奇数領域OAのデータラッチDTLも8個のデータ端子群DQにそれぞれ対応する8個のサブラッチSLを有している。サブラッチSLは、相補の内部データ線群IDTO(IDTO63−56、IDTO55−48、...IDTO7−0)を介してサブアレイSARYにそれぞれ接続され、共通の内部データ線IDO63−0に接続されている。
図4は、図3に示したメモリセルアレイMCAの例を示している。ここでは、偶数領域EAのメモリセルアレイMCAを示す。各サブアレイSARYは、4ビットのデータ(例えば、DQ63−60、DQ59−56)が割り当てられた2つの領域を有している。2つの領域は、共通のコラム選択信号CLE(例えば、CLEH0−127)と共通の内部データ線IDTE(例えば、IDTE63−56)に接続されている。
図5は、図4に示したメモリセルアレイMCAの要部の例を示している。奇数領域OAは、信号名が異なることを除き図5と同じである。メモリセルアレイMCAの要部は、1本のワード線WLに接続されるメモリセルMCの数、およびコラム選択信号線CLE、CLOの数が異なることを除き、他の実施形態においても図5と同じである。4ビットのデータが割り当てられた領域(例えば、データ端子DQ3−0に対応する領域)は、コラム選択信号CLEA0−127毎に4つのビット線対BL、/BLと4つのセンスアンプSAと4つのコラムスイッチCSWを有している。各コラム選択信号CLEA0−127は、4つのコラムスイッチCSWに共通に供給される。
例えば、データ端子DQ7−0に対応する領域(図の左側の一点鎖線枠)において、コラム選択信号CLEA0−127のいずれかがコラムアドレスCAに応じて活性化される。そして、データ端子DQ3−0に対応する領域と、データ端子DQ7−4に対応する領域から、データがそれぞれ読み出される。他のデータ端子DQ63−8に対応する領域も同様である。したがって、データが読み出されるメモリセルMCは、互いに隣り合わない。
なお、図5では、各センスアンプSAは、図の上側に配線されたビット線対BL、/BLに接続されている。しかし、各センスアンプSAの上下に設けられたスイッチを介してビット線対BL、/BLをセンスアンプSAの上方向と下方向にそれぞれ配線してもよい。このとき、各センスアンプSAは、スイッチを介して2つのビット線対BL、/BLのいずれかに選択的に接続される(シェアードセンスアンプ)。
メモリセルMCは、ワード線WLとビット線BL(または/BL)の交差部分に配置されている。各ワード線WLは、データ群D7、D6、...D0を記憶するメモリセルMCに共通に接続されている。この例では、各ワード線WLは、8192個のメモリセルに接続されている。なお、ワード線WLの負荷を減らすために、複数のロウデコーダRDECをメモリ領域EAに配置してもよい。あるいは、ポリシリコン等のワード線WLに沿って金属配線のワード線を設け、ワード線WLと金属配線のワード線とを所定間隔で接続してもよい。あるいは、ワード線WLをメインワード線とサブワード線とで形成し、サブワード線を駆動する複数のサブワードデコーダをメモリ領域EAに配置してもよい。この実施形態では、例えば、画像データがメモリセルMCに格納される。
図6は、図1に示したデータバスセレクタ32の例を示している。データバスセレクタ32は、偶数領域EAからのデータ群と奇数領域OAからのデータ群のいずれかを選択し、入出力バッファ10eに転送する機能を有する。データバスセレクタ32は、バイトセレクタBSELE、BSELO、BSELD7−0を有している。バイトセレクタBSELE、BSELOは、互いに同じ回路である。バイトセレクタBSELEは、内部データ線IDE63−0に供給されるデータ群D7−0を、バイト信号BYTE7−0に応じてバイトセレクタBSELD7−0に転送する。バイトセレクタBSELOは、内部データ線IDO63−0に供給されるデータ群D7−0を、バイト信号BYTE7−0に応じてバイトセレクタBSELD7−0に転送する。
各バイトセレクタBSELD7−0は、バイトセレクタBSELE、BSELOから転送されるデータ群(D7−0のいずれか)の一方を、バイト信号BYTE7−0に応じて選択し、内部データバスIOB(IOB63−56、IOB55−48、...IOB7−0)に転送する。入出力バッファ10eは、内部データバスIOB(IOB63−56、IOB55−48、...IOB7−0)に転送されたデータ群をデータ端子DQ(DQ63−56、DQ55−48、DQ7−0)に出力するデータ出力バッファDOBF(DOBF7、DOBF6、...DOBF0)を有している。
図では、データ端子DQからメモリMEMの外部に出力されるデータ群(読み出しデータ)の経路のみを矢印で示している。すなわち、データバスセレクタ32は、読み出しデータ群の出力先をバイト信号BYTE7−0に応じて決める。しかしながら、データバスセレクタ32に、データ群を双方向に転送する機能を持たせてもよい。このとき、データ端子DQに供給されるデータ群(書き込みデータ)の経路は、図と逆向きの矢印で示される。
図7は、図6に示したデータバスセレクタ32の例を示している。バイトセレクタBSELE、BLSEOの各々は、サブセレクタBSEL(BSEL4、BSEL2、BSEL1)を有している。図では、偶数領域EAに対応するバイトセレクタBSELEのサブセレクタBSELのみを示している。
サブセレクタBSEL4、BSEL2、BSEL1の各々は、8個のセレクタスイッチSW7−0を有している。各セレクタスイッチSW7−0は、セレクト端子SELで受けるバイト信号BYTE(BYTE7−0)が低レベルのとき、入力端子IN0で受けるデータ群を出力端子OUTに出力する。各セレクタスイッチSW7−0は、セレクト端子SELで受けるバイト信号BYTE(BYTE7−0)が高レベルのとき、入力端子IN1で受けるデータ群を出力端子OUTに出力する。例えば、サブセレクタBSEL4のセレクタスイッチSW7は、バイト信号BYTE7が低レベルのとき、データ群D7を出力端子OUTから出力する。
サブセレクタBSEL4、BSEL2、BSEL1は、データ群(1バイトデータ)を入れ替える機能を有する。サブセレクタBSEL4のセレクタスイッチSW7−4は、上位の4バイトのデータ群D7−4に対応する。サブセレクタBSEL4のセレクタスイッチSW3−0は、下位の4バイトのデータ群D3−0に対応する。サブセレクタBSEL4のセレクタスイッチSW7−0は、セレクタ端子SELで低レベルを受けたときに、対応するデータ群を選択し、セレクタ端子SELで高レベルを受けたときに、対応しない他のデータ群を選択する。
サブセレクタBSEL2は、隣接する4個のセレクタスイッチ(例えば、SW7−4)毎に、2バイトのデータ群を互いに入れ替える。サブセレクタBSEL1は、隣接する2個のセレクタスイッチ(例えば、SW7−6)毎に、1バイトのデータ群を互いに入れ替える。
サブセレクタBSELの数は、データ群の数を2のn乗個(この例では、n=3)とするとき、n個である。例えば、データ群が16個(16バイト)のとき、4個のサブセレクタBSELが設けられる。具体的には、サブセレクタBSEL4の入力側に、16個のセレクタスイッチSWを有するサブセレクタが設けられる。このサブセレクタは、上位の8バイトのデータ群と下位の8バイトのデータ群とをバイト毎に入れ替える。このように、データバスセレクタ32は、データ群の数に対応して設けられる複数のサブセレクタBSELを、所定の規則にしたがって接続することで形成される。セレクタスイッチSW0−7は、図8に示すように、簡易な論理回路で構成できる。この結果、データバスセレクタ32を簡易に設計できる。
バイトセレクタBSELD7−0は、セレクタスイッチSW7−0と同じ回路である。バイトセレクタBSELD7−0の各々は、バイト信号BYTE7−0の各々が低レベルときに、偶数領域EAに対応するサブセレクタBSEL1から転送されるデータ群を選択する。バイトセレクタBSELD7−0の各々は、バイト信号BYTE7−0の各々が高レベルときに、奇数領域OAに対応するサブセレクタBSEL1から転送されるデータ群を選択する。
図8は、図7に示したセレクタスイッチSW0−7の例を示している。各セレクタスイッチSW0−7は、セレクト端子SELが低レベルのときに入力端子IN0を出力端子OUTに接続するCMOS伝達ゲートと、セレクト端子SELが高レベルのときに入力端子IN1を出力端子OUTに接続するCMOS伝達ゲートとを有している。
図9は、図7に示したデータバスセレクタ32の動作を示している。この例では、バイト信号BYTE7−0は、2進数で”00001111”である。以降の説明では、2進数の数字列の末尾に”b”を付加する。図では、偶数領域EAから出力されるデータ群をD7−0で示し、奇数領域OAから出力されるデータ群をd7−0で示す。サブセレクタBSEL4、BSEL2、BSEL1において、論理0のバイト信号BYTE7−4を受けるセレクタスイッチSW7−4は、図の上側の入力端子に供給される本来のデータ群を選択する。論理1のバイト信号BYTE3−0を受けるセレクタスイッチSW3−0は、図の下側の入力端子に供給される本来とは異なるデータ群を選択する。
偶数領域EAのサブセレクタBSEL1は、2セットのデータ群D7−D4を出力する。奇数領域OAのサブセレクタBSEL1は、2セットのデータ群d7−d4を出力する。論理0のバイト信号BYTE7−4を受けるバイトセレクタBSELD7−4は、図の上側の入力端子に供給される本来のデータ群D7−4を選択する。論理1のバイト信号BYTE3−0を受けるバイトセレクタBSELD3−0は、図の下側の入力端子に供給される本来とは異なるデータ群d7−4を選択する。これにより、偶数領域EAから読み出されたデータ群D7−4は、データ端子DQ63−32に対応する内部データバスIOB63−32に転送される。奇数領域OAから読み出されたデータ群d7−4は、データ端子DQ31−0に対応する内部データバスIOB31−0に転送される。すなわち、データ群d7−4は、対応する本来のデータ端子DQ63−32ではなく、データ端子DQ31−0に出力される。
図10は、図7に示したデータバスセレクタ32の別の動作を示している。この例では、バイト信号BYTE7−0の論理は、”11000011b”である。この例においても、論理0のバイト信号BYTE5−2を受けるセレクタスイッチSW5−2は、図の上側の入力端子に供給される本来のデータ群を選択する。論理1のバイト信号BYTE7−6、2−1を受けるセレクタスイッチSW7−6、2−1は、図の下側の入力端子に供給される本来とは異なるデータ群を選択する。バイトセレクタBSELD7−0も、セレクタスイッチSW7−0と同様に動作する。これにより、偶数領域EAから読み出されたデータ群D5−2は、データ端子DQ47−16に対応する本来の内部データバスIOB47−16に転送される。奇数領域OAから読み出されたデータ群d5−4、d3−2は、本来とは異なるデータ端子DQ63−48、15−0に対応する内部データバスIOB63−48、15−0に転送される。すなわち、データ群d5−2は、対応する本来のデータ端子DQ47−16ではなく、データ端子DQ63−48、15−0に出力される。
図11は、図7に示したデータバスセレクタ32の別の動作を示している。この例では、バイト信号BYTE7−0の論理は、”10101010b”である。セレクタスイッチSW7−0およびバイトセレクタBSELD7−0の動作は、図9および図10と同じである。この例においても、低レベルのバイト信号BYTE6、4、2、0を受けるバイトセレクタBSELD6、4、2、0は、本来のデータ群D6、D4、D2、D0を出力する。高レベルのバイト信号BYTE7、5、3、1を受けるバイトセレクタBSELD7、5、3、1は、本来とは異なるデータ群d6、d4、d2、d0を出力する。
図12は、図1の半導体メモリMEMが搭載されるシステムSYSの例を示している。例えば、システムSYSは、組み込み画像処理システムのような非汎用システムである。一般に、この種のシステムでは、周波数が高いクロックを用いるのでなく、データバス幅を広げることで、データ転送レートを向上する。これは、図中の画像処理モジュールIMODLにメモリMEMを搭載するとき、モジュールIMODLの外部データバス(SBUS)のバス幅を大きくすることなく、モジュールIMODL内のデータバス幅を大きくできるためである。
システムSYSは、ビデオ/オーディオコントローラVACNTL、CPU等のプロセッサPRC、ストレージデバイスコントローラSTCNTLおよび画像処理モジュールIMDOLを有している。画像処理モジュールIMDOLは、例えば、動画データの圧縮符号化方式の1つであるH.264を採用したCODEC、メモリコントローラMCNTおよびメモリMEMを有している。
例えば、画像処理モジュールIMDOLは、SoC(System on Chip)またはSiP(System in Package)により形成されている。例えば、メモリMEMは、特定用途向けのメモリ(ASICメモリ)である。ASICメモリは、外部端子数の制限が緩いため、データ信号のバス幅を汎用メモリに比べて大きくできる。プロセッサPRC、メモリコントローラMCNTおよびメモリMEMにより、メモリシステムが形成される。
プロセッサPRCは、メモリMEMに画像データを書き込み、メモリMEMから画像データを読み出すために、メモリコントローラMCNTにアクセス要求を出力する。メモリコントローラMCNTは、メモリMEMおよびCODECに対して64ビットのデータDQ63−0を入出力し、システムバスSBUSに対して32ビットのデータdq31−0を入出力する。モジュールIMDOL内部のデータバス幅を大きくし、データの処理量を上げることで、システムバスSBUSのデータバス幅が小さいときにも、システム全体として高いコストパフォーマンスを得ることができる。
図13は、図1に示した半導体メモリMEMの動作の例を示している。図に示した動作は、プロセッサPRCにより制御されるメモリコントローラMCNTがメモリMEMにアクセスコマンドを出力することで実行される。バースト長BLは、”8”に設定され、CASレイテンシCLは、”2”に設定されている。時刻T00−11は、クロックサイクルを示す。この例では、予めアクティブコマンドACTVがメモリMEMに供給され、バンクBK0−7のいずれかが活性化されている(図13(a))。アクティブコマンドACTVは、低レベルの/CS信号、/RAS信号により認識される。
時刻T01において、メモリコントローラMCNTからメモリMEMに読み出しコマンドRDが供給される(図13(b))。読み出しコマンドRDは、低レベルの/CS信号、/CAS信号と、高レベルの/WE信号により認識される。プロセッサPRCは、この読み出しコマンドRDで、メモリMEMに保持されているデータ群D7−4のみを必要とする。メモリコントローラMCNTは、読み出しコマンドRDとともに、コラムアドレスCA=Amおよびデータマスク信号DM(BYTE7−0信号)=0FhをメモリMEMに供給する(図13(c))。”0Fh”の”h”は、”0F”が16進数であることを示す。
メモリMEMは、時刻T03において、最初の読み出しコマンドRDに応答して、コラムアドレスAmに割り当てられたメモリセルMCに保持されている8バイトのデータのうち上位の4バイトのデータ群D7−D4をデータ端子DQ63−32に出力する(図13(d))。同時に、メモリMEMは、コラムアドレスAm+1に割り当てられたメモリセルMCに保持されている8バイトデータのうち上位の4バイトのデータ群D7−D4をデータ端子DQ31−0に出力する(図13(e))。
このように、バイト信号BYTE7−4の”0”は、受けたコラムアドレスAmに割り当てられたデータ群D7−0のうち対応するデータ群D7−4を、対応するデータ端子DQ(この例ではDQ63−32)に出力することを示す。バイト信号BYTE3−0の”1”は、受けたコラムアドレスAmに1を加えたアドレスに割り当てられたデータ群D7−4を出力するデータ端子DQ(この例ではDQ32−0;次のデータ群を出力するデータ端子)を示す。換言すれば、”1”のバイト信号BYTE3−0に対応するデータ端子DQ32−0から、本来のデータ群D3−0と異なるデータ群D7−4が出力される。
この実施形態では、バイト信号BYTE7−0により、データ端子DQから出力するデータ群(この例ではD7−D4)を任意に指定でき、かつデータ群が出力されるデータ端子DQを任意に指定できる。なお、異なるコラムアドレス信号CA7−0のメモリ領域からデータ端子DQ63−0にそれぞれ転送されるデータ群D7−4の番号(この例では7−4)は、互いに等しい。この実施形態では、4バイトのデータ端子DQから、コラムアドレスCAが異なる共通のデータ群D7−D4をそれぞれ出力する。このため、バイト信号BYTE7−0の”0”の数と”1”の数は等しく設定される。
一般的なバースト動作では、コラムアドレスAm+1の4バイトのデータは、2番目のクロックサイクルT04で出力される。しかし、この実施形態では、コラムアドレスAm+1の4バイトのデータを1クロック早く出力できる。また、システムSYSが必要としない下位4バイトのデータは、データ端子DQ31−0に出力されない。必要なデータのみをメモリMEMから出力することで、データ転送レートを向上できる。また、コラムアドレスAm+1以降のデータ出力タイミングを早くできる。
コラムアドレスAmが偶数の場合、読み出しデータAmD7−AmD4は、偶数領域EAから読み出され、読み出しデータAm+1D7−Am+1D4は、奇数領域OAから読み出される。コラムアドレスAmが奇数の場合、読み出しデータAmD7−AmD4は、奇数領域OAから読み出され、読み出しデータAm+1D7−Am+1D4は、偶数領域EAから読み出される。
本来時刻T04で出力すべきコラムアドレスAm+1のデータは、時刻T03で出力済みである。このため、時刻T04では、コラムアドレスAm+2、Am+3に割り当てられたメモリセルMCから読み出されたデータAm+2D7−Am+2D4、Am+3D7−Am+4D4がデータ端子DQ63−0から出力される(図13(f))。以降、最初の読み出しコマンドRDに応答して、バースト長BL=8に対応するコラムアドレスAm+7までのデータが、4クロックサイクルを使用してデータ端子DQ63−0から出力される(図13(g))。この実施形態では、1クロックサイクルで2つのコラムアドレスCAのデータを出力できるため、バースト長BL=8の動作を4クロックサイクルで実現できる。換言すれば、データバス幅(64ビット)の一方の半分と他方の半分にコラムアドレスCAが互いに異なる読み出しデータを出力することで、読み出しデータの出力に要する時間を従来の半分にできる。
次に、時刻T05において、メモリコントローラMCNTからメモリMEMに次の読み出しコマンドRDが供給される(図13(h))。プロセッサPRCは、この読み出しコマンドRDで、メモリMEMに保持されているデータ群D5−2のみを必要とする。メモリコントローラMCNTは、読み出しコマンドRDとともに、コラムアドレスCA=Anおよびデータマスク信号DM(BYTE7−0信号)=C3hをメモリMEMに供給する(図13(i))。バイト信号BYTE7−0の”C3h”は、図10に示したように、データ端子DQ47−16(4バイト)から本来のデータ群D5−2を出力し、データ端子DQ63−48、DQ15−0から本来と異なるデータ群D5−2を出力することを示す。
メモリMEMは、時刻T07にコラムアドレスAnに割り当てられたメモリセルMCに保持されている8バイトのデータのうち4バイトのデータ群D5−2をデータ端子DQ47−16に出力する(図13(j))。同時に、メモリMEMは、コラムアドレスAn+1に割り当てられたメモリセルMCに保持されている8バイトのデータのうち4バイトのデータ群D5−2をデータ端子DQ63−56、16−0に出力する。以降のバースト動作も同様に、連続する2つのコラムアドレスCAに対応するデータが同時にデータ端子DQ63−0に出力される。したがって、2番目のバースト読み出し動作においても、必要なデータのみをメモリMEMから出力でき、データ転送レートを向上できる。また、コラムアドレスAn+1以降のデータ出力タイミングを早くできる。
画像データは、所定の大きさの複数のブロックデータを含むことが多い。また、データ処理に必要なデータは、画像データの全ての情報ではなく、一部の情報であることが多い。例えば、データ処理は、画像データに含まれる輝度情報のみを用いて実行される。一般に、輝度情報等の画像を構成するための情報は、各画像データ中の同じ領域に割り当てられる。このため、図13に示したように、特定のデータ群D7−4(またはD5−2)のみを繰り返しアクセスする手法は、特に、画像データのアクセスに有効である。
なお、書き込み動作も、読み出し動作と同様に、バイト信号BYTE7−0により指定されるデータ群のみがメモリMEMに供給される。このとき、連続する2つのコラムアドレスCAに割り当てられるメモリセルに書き込む2組のデータ群が、メモリMEMに同時に供給される。但し、バースト書き込み動作では、最初にメモリMEMに供給される書き込みデータは、たとえば、書き込みコマンドおよびコラムアドレスCAとともにメモリMEMに供給される。すなわち、書き込み動作では、図13に示したデータは、書き込みデータとして2クロックサイクル早くメモリMEMに供給される。その他の動作は、図13と同じである。データバスセレクタ32は、図7と逆の順序でデータを転送するセレクタを用いて内部データバスIOB63−0を所定の内部データ線IDE63−0、IDO63−0に接続する。そして、書き込みデータDQ63−0は、バイト信号BYTE7−0の論理に応じて、偶数領域EAおよび奇数領域OAの少なくともいずれかに書き込まれる。
また、バンクBK0−7を識別するための3ビットのアドレスのいずれかが、コラムアドレスCAの最下位ビットであるとき、図13に示したデータ群AmD7−4とデータ群Am+1D7−4は、異なるバンクBKから読み出される。このとき、コラムアドレス制御部26からのグローバルコラムアドレス信号GCAEZまたはGCAOZは、バンクアドレスBA2−0に応じて、2つのバンクBKにそれぞれ供給される。そして、2つのバンクBKのワード線がそれぞれ活性化され、各ワード線に接続されたメモリセルのうち、コラムアドレスCAで選択されるメモリセルからデータ群が読み出される。2つのバンクBKからそれぞれ読み出されるデータ群は、バンクアドレスBA2−0に応じて、内部データ線IDE63−0またはIDO63−0に出力され、データバスセレクタ32に転送される。各バンクBK0−7は、データラッチDTLの出力を、バンクアドレスBA2−0に応じて、内部データ線IDE63−0またはIDO63−0に出力するデータセレクタを有する。そして、図13と同じ動作が実行される。
以上、この実施形態では、異なるコラムアドレスCAに割り当てられたメモリセルMCに保持されたデータ群をデータ端子DQ63−0に同時に出力できる。特に、連続するコラムアドレスCAにより選択されるデータ群のうち、任意のデータ群のみを読み出すことができる。書き込み動作においても、異なるコラムアドレスCAに割り当てられたメモリセルMCに書き込むデータ群をデータ端子DQ63−0に同時に供給できる。これにより、バースト動作に必要なクロックサイクル数を半分にできる。バイト信号BYTE7−0を用いることで、読み出しコマンド毎に(すなわちバースト動作毎に)読み出すデータ群を指定でき、書き込みコマンド毎に書き込むデータ群を指定できる。これにより、システムSYSが必要としているデータのみを読み出し、あるいは書き込むことができる。この結果、データの転送レートを向上でき、システムSYSの性能を向上できる。
データバスセレクタ32により所定の規則にしたがって、データ群を入れ替え、選択することで、常に同じ規則にしたがってデータをデータ端子DQ63−0に対して入出力できる。この結果、システムSYSの設計を容易にできる。
なお、図1に示した半導体メモリMEMの回路を変更することで、連続する4つのコラムアドレスCAに割り当てられた8バイトのデータ群D7−0のうち任意の2バイトのデータ群を、データ端子DQ63−0から外部に同時に出力できる。あるいは、連続する4つのコラムアドレスCAに割り当てられた8バイトのデータ群D7−0のうち任意の2バイトのデータ群を、データ端子DQ63−0に同時に書き込みできる。このとき、各バンクBKは、4つのメモリ領域を有する。コラムアドレス制御部26は、4つのメモリ領域に対応する4つのコラムアドレス加算器を有する。そして、コラムアドレス制御部26のバーストカウンタBCOUNTは、カウンタ信号CACOUNTに同期してプリコラムアドレス信号PCA7−0Zを4ずつ増加する。
なお、バイト信号BYTE7−0の論理は、コラムアドレス信号CAの空きビットに対応するアドレス端子A11−8に供給してもよい。このとき、バイト信号BYTE7−0の論理は、符号化され、アドレス端子A11−8に供給される。4ビットのアドレス端子A11−8により、16通りのデータ読み出しパターンを指定できる。さらに、4ビットのバイト端子BYTE3−0を設け、アドレス端子A11−8とバイト端子BYTE3−0を用いて、バイト信号BYTE7−0をメモリMEMに供給してもよい。
図14は、別の実施形態における半導体メモリMEMの例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。メモリMEMは、図1と同様に、SDRAMである。メモリMEMは、図12に示したシステムSYSに搭載される。すなわち、例えば、画像データがメモリセルMCに格納される。
メモリMEMは、図1のモードレジスタ18、カウンタ制御部20およびコラムアドレス制御部26の代わりに、モードレジスタ18A、カウンタ制御部20Aおよびコラムアドレス制御部26Aを有している。各バンクBK0−7は、データラッチDTLとデータバスセレクタ32Aの間にコラムパイプラインCLPLを有している。また、メモリMEMは、セレクトアドレス信号SAを受け、セレクトアドレス信号SAZを出力する入力バッファ10fを有している。図12に示したメモリコントローラMCNTは、セレクトアドレス信号SAをメモリMEMに出力する機能を追加している。その他の構成は、図1と同じである。
モードレジスタ18Aは、ステップ信号STEP2Zを出力する機能がないことを除き、図1に示したモードレジスタ18と同じである。この実施形態では、バースト動作は、互いに異なる2つのコラムアドレス信号CAを順次に受けたときに開始される。コマンド制御部12は、バースト動作毎に初期化信号INITZを2回出力する。カウンタ制御部20Aは、バースト動作毎に、2回目の初期化信号INITZを受けてから所定のクロック数後にカウンタ信号CACOUNTの出力を開始する。カウンタ信号CACOUNTは、クロック信号CLKZに同期して出力される。カウンタ信号CACOUNTのパルス数は、バースト長BLにより示される数に等しい。
コラムアドレス制御部26Aは、図1に示したコラムアドレス制御部26と異なり、マスク信号MASKZを出力しない。コラムアドレス制御部26Aの詳細は、図15に示す。各バンクBK0−7のコラムパイプラインCLPLは、データラッチDTLから内部データ線IDE63−0に出力される読み出しデータを1クロックサイクル遅らせ、データバスセレクタ32に供給する機能を有している。これにより、データバスセレクタ32は、1クロックサイクルずれてデータラッチDTLから出力される内部データ信号IDE63−0、IDO63−0(128ビット)を同時に受けることができる。コラムパイプラインCLPLの詳細は、図17に示す。データバスセレクタ32は、図6および図7と同じ回路である。
図15は、図14に示したコラムアドレス制御部26AおよびコラムデコーダCDECの例を示している。コラムアドレス制御部26Aは、カウンタ初期化部CAINIT、第1および第2バーストカウンタBCOUNT1、BCOUNT2およびコラムアドレスセレクタCASELを有している。カウンタ初期化部CAINITは、セレクトアドレス信号SAZが低レベルのときに初期化信号INITZに同期してカウンタ初期化信号CAINIT0Zを出力する。カウンタ初期化部CAINITは、セレクトアドレス信号SAZが高レベルのときに初期化信号INITZに同期してカウンタ初期化信号CAINIT1Zを出力する。
第1バーストカウンタBCOUNT1は、カウンタ初期化信号CAINIT0Zに同期してコラムアドレス信号CAZ(CA7−0Z)をバースト開始アドレスとしてロードし、ロードした信号をプリコラムアドレス信号PCAEZ(PCAE7−0Z)として出力する。第1バーストカウンタBCOUNT1は、カウンタ信号CACOUNTに同期してプリコラムアドレス信号PCAE7−0Zを1ずつ増加する。第2バーストカウンタBCOUNT2は、カウンタ初期化信号CAINIT0Zに同期してコラムアドレス信号CAZ(CA7−0Z)をバースト開始アドレスとしてロードし、ロードした信号をプリコラムアドレス信号PCAOZ(PCAO7−0Z)として出力する。第2バーストカウンタBCOUNT2は、カウンタ信号CACOUNTに同期してプリコラムアドレス信号PCAO7−0Zを1ずつ増加する。この実施形態では、プリコラムアドレス信号PCAEZ、PCAOZは、ともに8ビットである。2つのバーストカウンタBCOUNT1−2を設けることにより、互いに異なるコラムアドレスCAに対応する2つのメモリ領域(図16のAR1−2)を同時にアクセスできる。
コラムアドレスセレクタCASELは、プリコラムアドレス信号PCAEZを受ける8個のサブセレクタSSELEと、プリコラムアドレス信号PCAOZを受ける8個のサブセレクタSSELOを有している。サブセレクタSSELE、SSELOは、データ群D7−0にそれぞれ対応する。各サブセレクタSSELEは、対応するバイト信号BYTE7−0が低レベルのときに、プリコラムアドレス信号PCAE7−0Zを8ビットのグローバルコラムアドレス信号GCAEZ(例えば、GCAEH7Z、GCAEH6Z、...GCAEH0Z)として出力する。また、各サブセレクタSSELEは、対応するバイト信号BYTE7−0が高レベルのときに、グローバルコラムアドレス信号GCAEZの出力を禁止する。
サブセレクタSSELOも、出力されるグローバルコラムアドレス信号GCAEZ(例えば、GCAOH7Z、GCAOH6Z、...GCAOH0Z)の名称が異なることを除き、サブセレクタSSELEと同じ動作を実行する。グローバルコラムアドレス信号GCAEZ、GCAOZに付けられているA、B、C、D、E、F、G、Hは、図4と同様に、対応するデータ群D0−7を示している。なお、グローバルコラムアドレス信号GCAEZ、GCAOZの各ビットの値は、例えば、相補の信号線を用いてコラムデコーダCDECに伝達される。例えば、グローバルコラムアドレス信号GCAEZ、GCAOZの出力禁止は、相補の信号がともに高レベルに設定されることで実現される。
例えば、バイト信号BYTE7−0が”0Fh”のとき、データ群D7−4に対応するサブセレクタSSELE、SSELOは、グローバルコラムアドレス信号GCAEZ、GCAOZをそれぞれ出力する。データ群D3−0に対応するサブセレクタSSELE、SSELOは、グローバルコラムアドレス信号GCAEZ、GCAOZの出力をそれぞれ禁止する。
コラムデコーダCDECは、サブセレクタSSELE、SSELOにそれぞれ対応するサブコラムデコーダSDECを有している。各サブコラムデコーダSDECは、対応するグローバルコラムアドレス信号GCAEZ(またはGCAOZ)が出力されないとき、すなわち、信号GCAEZ(またはGCAOZ)の値を示す相補の信号がともに高レベルときに、デコード動作を停止する。これにより、データを読み出すために必要なサブコラムデコーダSDECのみを動作できるため、消費電力を削減できる。
デコード動作を実行するサブコラムデコーダSDECの各々は、アドレス信号GCAEZ(またはGCAOZ)に応じて128本のコラム選択信号CLE(またはCLO)のいずれかを高レベルに活性化する。デコード動作を実行しないサブコラムデコーダSDECの各々は、全てのコラム選択信号CLE(またはCLO)を低レベルに保持する。サブコラムデコーダSDECは、グローバルコラムアドレス信号GCAEZ、GCAOZの論理レベルに応じて、デコード動作を実行するか否かを決める。このため、コラムデコーダCDECは、図3のマスク信号MASK1−0Zを受ける必要はない。サブコラムデコーダSDECをバーストカウンタBCOUNT1−2に対応してそれぞれ設けることにより、データ群D7−0毎に、2つのコラム選択信号CLE、CLOを生成できる。すなわち、図16に示す2つのメモリ領域AR1−2を同時にアクセスできる。
図16は、図14に示したバンクBK0の例を示している。図3と同じ要素については、詳細な説明は省略する。バンクBK1−7も、バンクBK0と同じである。バンクBK0は、図3に示した偶数領域EAおよび奇数領域OAを足し合わせた構造を有している。但し、各バンクBK0−7の記憶容量は、図1のバンクBK0の2倍である。メモリセルアレイMCAにおいて、内部データ線IDTEに接続された図の右側のメモリ領域を第1領域AR1と称し、内部データ線IDTOに接続された図の左側のメモリ領域を第2領域AR2と称する。ロウデコーダRDECは、図では1つであるが、2つ設けてもよい。
後述するように、メモリ領域AR1は、低レベルのセレクトアドレス信号SAとともに供給されるコラムアドレス信号CA7−0により選択される。メモリ領域AR2は、高レベルのセレクトアドレス信号SAとともに供給されるコラムアドレス信号CA7−0により選択される。したがって、例えば、互いに等しいコラムアドレス信号CA7−0=”FFh”で選択されるメモリ領域AR1、AR2のメモリセルMCは、物理的に異なっている。すなわち、セレクトアドレス信号SAは、メモリ領域AR1、AR2を識別するためのコラムアドレス信号の一部として使用される。
図17は、図14に示したコラムパイプラインCLPLの例を示している。コラムパイプラインCLPLは、内部データ線IDTEに対応するデータラッチDTLに接続されたラッチ回路LTを有している。内部データ線IDTOに対応するデータラッチDTLの出力は、データバスセレクタ32に直接接続される。例えば、ラッチ回路LTは、クロック信号CLKZに同期して動作するマスタ/スレーブラッチを有している。ラッチ回路LTは、内部データ線IDTEを介して伝達されるデータ群を1クロックサイクル保持した後、データバスセレクタ32に出力する。データバスセレクタ32は、バイト信号BYTE7−0の論理に応じて、メモリ領域AR1、AR2から読み出されるデータ群D7−0のいずれかを選択する。これにより、図18に示すように、内部データ線IDTE、IDTOに対応する2つのメモリ領域AR1、AR2から異なるタイミングで出力されるデータを、データ端子DQ63−0に同時に出力できる。
図18は、図14に示した半導体メモリMEMの動作の例を示している。図に示した動作は、プロセッサPRCにより制御されるメモリコントローラMCNTがメモリMEMをアクセスすることで実行される。図13と同じ動作については、詳細な説明は省略する。バースト長BLは、”8”に設定される。CASレイテンシCLは、最初の/CAS信号に対して”3”に設定され、後の/CAS信号に対して”2”に設定される。CASレイテンシCLの切り換えは、メモリMEM内部で自動的に実行される。
この実施形態では、1回のバースト動作は、連続する2つの/CASコマンド(読み出しコマンドRD)に応答して実行される。この例では、最初の/CASコマンドに同期して、低レベルのセレクトアドレス信号SA、コラムアドレスAmおよびデータマスク信号DM(BYTE)=0Fhが供給される(図18(a))。次の/CASコマンドに同期して、高レベルのセレクトアドレス信号SA、コラムアドレスAnおよびデータマスク信号DM(BYTE)=0Fhが供給される(図18(b))。コラムアドレスAm、Anは、互いに異なる。なお、コラムアドレスAm、Anは、同じでもよい。しかし、同じコラムアドレスAm、Anによりアクセスされるメモリ領域AR1−2(割り当てられたメモリセル)は互いに異なる。セレクトアドレス信号SAは、コラムアドレスAm、Anに対応するデータ群が格納されているメモリセルMCの位置情報を得るために使用される。データマスク信号DM(BYTE)は、2つの/CASコマンドのいずれかに同期して供給されてもよい。
図15に示したコラムアドレス制御部26Aは、低レベルのセレクトアドレス信号SAとともに受けたコラムアドレス信号CA7−0(Am)を、プリコラムアドレス信号PCAE7−0ZとしてサブセレクタSSELEに供給する。コラムアドレス制御部26Aは、高レベルのセレクトアドレス信号SAとともに受けたコラムアドレス信号CA7−0(An)を、プリコラムアドレス信号PCAO7−0ZとしてサブセレクタSSELOに供給する。
サブセレクタSSELEに対応するサブコラムデコーダSDECは、例えばクロックサイクルT00中に、コラム選択信号CLEをメモリ領域AR1に出力する。メモリ領域AR1は、例えばクロックサイクルT00中に、読み出し動作を開始する。一方、サブセレクタSSELOに対応するサブコラムデコーダSDECは、例えばクロックサイクルT01中に、コラム選択信号CLOをメモリ領域AR2に出力する。メモリ領域AR2は、例えばクロックサイクルT01中に、読み出し動作を開始する。
メモリ領域AR1は、メモリ領域AR2よりも常に1クロックサイクル早く読み出し動作を開始する。しかし、図17に示したコラムパイプラインCLPLにより、メモリ領域AR1、AR2から読み出されたデータは、データバスセレクタ32に同時に出力される。すなわち、最初の読み出しコマンドRDは、CASレイテンシCL=”3”で実行され、次の読み出しコマンドRDは、CASレイテンシCL=”2”で実行される(図18(c))。このように、連続する読み出しコマンドRDに対応する読み出し動作を異なるCASレイテンシCLで実行できる。
CASレイテンシCLの切り換えは、コラムパイプラインCLPLにより自動的に実行される。メモリMEMの内部で自動的にレイテンシCLを変更することで、異なるタイミングで供給された/CASコマンドに応答して、読み出しデータをデータ端子DQ63−0から同時に出力できる(図18(d))。
具体的には、データバスセレクタ32によって、”0”のバイト信号BYTE7−4に対応するデータ端子DQ63−32に、コラムアドレスAmに割り当てられたデータ群D7−0のうちデータ群D7−4が出力される。また、”1”のバイト信号BYTE3−0に対応するデータ端子DQ31−0に、コラムアドレスAnに割り当てられたデータ群D7−0のうちデータ群D7−4が出力される。すなわち、アドレスが連続しないメモリ領域AR1、AR2に保持されるデータ群を、データ端子DQ63−0から同時に出力できる。”1”のバイト信号BYTE3−0に対応するデータ端子DQ32−0から、本来のデータ群D3−0と異なるデータ群D7−4を出力できる。
この後、時刻T04からT10において、メモリ領域AR1、AR2のコラムアドレスAm、Anがそれぞれ1ずつ増加され、読み出しデータが同時に出力される。
図19は、図14に示した半導体メモリMEMの動作の別の例を示している。図13および図18と同じ動作については、詳細な説明は省略する。この例は、バイト信号BYTE7−0の値が図18と異なる。その他の動作は、データ端子DQから出力される読み出しデータが異なることを除き、図18と同じである。
バイト信号BYTE7−0が”AAh”のとき、最初の読み出しコマンドRD(CA=Am)に応答する読み出しデータが、偶数番号のデータ群D6、D4、...D0に対応するデータ端子DQ55−48、DQ39−32、...DQ7−0に出力される。2番目の読み出しコマンドRD(CA=An)に応答する読み出しデータが、奇数番号のデータ群D7、D5、...D1に対応するデータ端子DQ63−56、DQ47−40、...DQ15−8に出力される。すなわち、図18と同様に、アドレスが連続しないメモリ領域AR1、AR2に保持されるデータ群を、データ端子DQ63−0から同時に出力できる。
なお、書き込み動作では、書き込みデータは、図18および図19より3クロックサイクルずつ早くデータ端子DQ63−0に供給される。書き込みデータと、データを書き込むコラムアドレスCAとの関係は、バイト信号BYTE7−0の論理により決まる。すなわち、図18および図19において、読み出しコマンドの代わりに書き込みコマンドが供給されるときの波形は、データを3クロックサイクル前にシフトすることで表せる。
また、メモリコントローラMCNTからメモリMEMに出力されるコラムアドレスAm、Anを含むアクセスアドレスが、常に異なるバンクBKに割り当てられるとき、コラムアドレス制御部26Aは、グローバルコラムアドレス信号GCAEZまたはGCAOZのみを出力すればよい。コラムアドレス制御部26Aは、バンクBK0−7毎にそれぞれ設けられる。バーストカウンタBCOUNT1−2は、異なるバンクBKに対応するプリコラムアドレス信号PCAEZ、PCAOZを生成する。コラムパイプラインCLPLは、バンクBK0−7の外側に設けられる。このとき、2つのバンクBKが順次にアクセスされ、2つのバンクBKのワード線がそれぞれ活性化される。そして、各ワード線に接続されたメモリセルのうち、コラムアドレスCAで選択されるメモリセルからデータバスセレクタ32にデータ群が出力される。先にアクセスを開始したバンクBKのデータ群は、内部データ線IDE63−0を介してコラムパイプラインCLPLに転送される。後でアクセスを開始したバンクBKのデータ群は、内部データ線IDO63−0を介してデータバスセレクタ23に直接転送される。各バンクBK0−7は、データラッチDTLの出力を、読み出しコマンドRDの供給順に応じて、内部データ線IDE63−0またはIDO63−0に出力するデータセレクタを有する。そして、図18と同じ動作が実行される。
以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。さらに、この実施形態では、互いに異なり、かつ連続しないコラムアドレスCAに割り当てられるデータ群のうち、任意のデータ群を指定してデータ端子DQ63−0から外部に同時に出力できる。特に、異なるタイミングで供給されるコラムアドレスCAに応じて、メモリ領域AR1、AR2から異なるタイミングで読み出されるデータ群D7−0をデータ端子DQ63−0から外部に同時に出力できる。
図20は、別の実施形態の半導体メモリMEMにおけるコラムアドレス制御部26Bの例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。メモリMEMは、図1と同様に、SDRAMである。メモリMEMは、図12に示したシステムSYSに搭載される。すなわち、例えば、画像データがメモリセルMCに格納される。
この実施形態のメモリMEMは、図14のコラムアドレス制御部26Aの代わりにコラムアドレス制御部26Bを有している。コラムアドレス信号CA7−0Zを出力するコラムバッファ(図示せず)は、クロック信号CLKの立ち上がりエッジおよび立ち下がりエッジにそれぞれ同期して動作する。各バンクBK0−7は、図14に示したコラムパイプラインCLPLを有していない。その他の構成は、図14と同じである。
コラムアドレス制御部26Bは、図15に示したカウンタ初期化部CAINITの代わり第1および第2バーストカウンタBCOUNT1、BCOUNT2に対応する第1カウンタ初期化部CAINIT1および第2カウンタ初期化部CAINIT2を有している。カウンタ初期化部CAINIT1は、初期化信号INITZが高レベルの期間に、立ち上がりクロック信号CLKRZに同期してカウンタ初期化信号CAINIT0Zを出力する。立ち上がりクロック信号CLKRZは、クロック信号CLKの立ち上がりエッジに同期して生成される。カウンタ初期化部CAINIT2は、初期化信号INITZが高レベルの期間に、立ち下がりクロック信号CLKFZに同期してカウンタ初期化信号CAINIT1Zを出力する。立ち下がりクロック信号CLKFZは、クロック信号CLKの立ち下がりエッジに同期して生成される。コラムアドレス制御部26Bのその他の回路および動作は、図15に示したコラムアドレス制御部26Aと同じである。図12に示したメモリコントローラMCNTは、コラムアドレス信号CA7−0をクロック信号CLKの立ち上がりエッジと立ち下がりエッジにそれぞれ同期して2回連続して出力する機能を加えている。
図21は、図20に示したコラムアドレス制御部26Bを有する半導体メモリMEMの動作の例を示している。図に示した動作は、プロセッサPRCにより制御されるメモリコントローラMCNTがメモリMEMをアクセスすることで実行される。図18と同じ動作については、詳細な説明は省略する。CASレイテンシCLは、”3”に設定されている。この例では、2つのコラムアドレス信号Am、Anは、読み出しコマンドRDを供給するクロック信号CLKの立ち上がりエッジと立ち下がりエッジ同期して供給される。データマスク信号DM7−0(=BYTE7−0)は、読み出しコマンドRDとともに供給される。すなわち、メモリMEMは、1回の読み出しコマンドRDに応答して、2つのコラムアドレス信号Am、Anを連続するクロックエッジに同期して受ける。
そして、図18と同じタイミングで読み出しデータが出力される。書き込み動作は、互いに異なるコラムアドレスAm、Anに割り当てられるメモリセルに書き込む2組のデータ群が、書き込みコマンドとともに供給されることを除き、図21と同じである。すなわち、書き込み動作では、図21に示したデータは、書き込みデータとして3クロックサイクル早くメモリMEMに供給される。
なお、メモリコントローラMCNTからメモリMEMに出力されるコラムアドレスAm、Anを含むアクセスアドレスが、常に異なるバンクBKに割り当てられるとき、上述と同様に、コラムアドレス制御部26Bは、グローバルコラムアドレス信号GCAEZまたはGCAOZのみを出力すればよい。コラムアドレス制御部26Bは、バンクBK0−7毎にそれぞれ設けられる。各バンクBK0−7は、データラッチDTLの出力を、コラムアドレスAm、Anの供給順に応じて、内部データ線IDE63−0またはIDO63−0に出力するデータセレクタを有する。そして、図21と同じ動作が実行される。
以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。さらに、この実施形態では、コラムアドレス信号Am、Anをクロック信号CLKの両エッジに同期して受けることで、1回の読み出しコマンドに応答して、互いに異なるコラムアドレスCAに割り当てられたデータ群D7−4を同時に読み出すことができる。この結果、コラムパイプラインCLPLを不要にでき、メモリMEMのチップサイズを削減できる。あるいは、1回の書き込みコマンドに応答して、互いに異なるコラムアドレスCAに割り当てられたデータ群D7−4を同時にデータ端子DQ63−0に供給し、メモリセルに書き込むことができる。
図22は、別の実施形態における半導体メモリMEMの例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。メモリMEMは、図1と同様に、SDRAMである。メモリMEMは、図12に示したシステムSYSに搭載される。すなわち、例えば、画像データがメモリセルMCに格納される。図12に示したメモリコントローラMCNTは、縮退信号MA1−0を出力する機能を追加している。その他の構成は、図1と同じである。
メモリMEMは、図1のモードレジスタ18、コラムアドレス制御部26およびデータバスセレクタ32の代わりに、モードレジスタ18A、コラムアドレス制御部26Cおよびデータバスセレクタ32Cを有している。各バンクBK0−7のデータラッチDTLとデータバスセレクタ32Cとは、内部データ線ID1163−0、ID1063−0、ID0163−0、ID0063−0により接続されている。また、メモリMEMは、縮退信号MA1−0を受け、縮退信号MA1Z、MA0Zを出力する入力バッファ10gを有している。その他の構成は、バンクBK0−7が異なることを除き図1と同じである。
コラムアドレス制御部26Cは、コラムアドレス信号CA7−0Zおよび縮退信号MA1−0Zに応じて、グローバルコラムアドレス信号群GCA3−0Zを出力する。グローバルコラムアドレス信号群GCA3−0Zの各々は、図23に示すように8ビット(例えば、GCA37Z、GCA36Z、...GCA30Z)を有する。また、コラムアドレス制御部26Cは、バイト信号BYTE7−0に応じてマスク信号MASK7−0Zを出力する。
データバスセレクタ32Cは、内部データ線ID1163−0、ID1063−0、ID0163−0、ID0063−0に転送される読み出しデータのうち、論理0のバイト信号BYTE7−0のビットに対応するデータを選択する。さらに、データバスセレクタ32Cは、縮退信号MA1−0Zの論理に応じて読み出しデータをさらに選択し、内部データバスIOB63−0に出力する。データバスセレクタ32Cの動作は、図26で説明する。
図23は、図22に示したコラムアドレス制御部26Cの例を示している。コラムアドレス制御部26Cは、縮退信号生成部COMPGEN、バーストカウンタBCOUNT、アドレス反転部INV3−0、縮退制御部COMPCNT3−0およびコラムマスク制御部CMCNTを有している。バーストカウンタBCOUNTおよびコラムマスク制御部CMCNTは、図2と同じである。
縮退信号生成部COMPGENは、縮退信号MA1−0Zを縮退信号COMP3−2Zとして出力する。縮退信号COMP3Zは、プリコラムアドレス信号PCA3Zを縮退するために使用される。縮退信号COMP2Zは、プリコラムアドレス信号PCA2Zを縮退するために使用される。ここで、アドレスの縮退とは、アドレス信号のビット値を無視(マスク)することである。アドレス信号の1ビットが縮退されると、1つのアドレス信号が2つのアドレス信号と認識され、2カ所のメモリ領域がアクセスされる。
アドレス反転部INV3は、アドレス信号PCA7−0Zを、8ビットのプリコラムアドレス信号PCAB37−30Zとして出力する。アドレス反転部INV2は、アドレス信号PCA7−0ZのうちPCA2Zの論理を反転し、8ビットのプリコラムアドレス信号PCAB27−20Zとして出力する。アドレス反転部INV1は、アドレス信号PCA7−0ZのうちPCA3Zの論理を反転し、8ビットのプリコラムアドレス信号PCAB17−10Zとして出力する。アドレス反転部INV0は、アドレス信号PCA7−0ZのうちPCA3−2Zの論理を反転し、8ビットのプリコラムアドレス信号PCAB07−00Zとして出力する。例えば、アドレス信号PCA3−2Zが”11”のとき、アドレス反転部INV3からのアドレス信号PCAB33−32Zのみが高レベルになる。アドレス信号PCA3−2Zが”01”のとき、アドレス反転部INV1からのアドレス信号PCAB13−12Zのみが高レベルになる。このように、アドレス反転部INV3−0は、アドレス信号PCA3−2Zのプリデコーダとして動作する。
縮退制御部COMPCNT3は、縮退信号COMP3Zが”0”のとき、アドレス信号PCAB33Zを、グローバルコラムアドレス信号GCA33Zとして出力する。縮退制御部COMPCNT3は、縮退信号COMP3Zが”1”のとき、アドレス信号PCAB33Zの値に関わりなく、高レベルのグローバルコラムアドレス信号GCA33Zを出力する。また、縮退制御部COMPCNT3は、縮退信号COMP2Zが”0”のとき、アドレス信号PCAB32Zを、グローバルコラムアドレス信号GCA32Zとして出力する。縮退制御部COMPCNT3は、縮退信号COMP2Zが”1”のとき、アドレス信号PCAB32Zの値に関わりなく、高レベルのグローバルコラムアドレス信号GCA32Zを出力する。さらに、縮退制御部COMPCNT3は、アドレス信号PCAB37−34Z、31−30Zを、グローバルコラムアドレス信号GCA37−34Z、31−30Zとして出力する。
縮退制御部COMPCNT2−0も、入力および出力されるアドレスが異なることを除き、縮退制御部COMPCNT3と同様に動作する。アドレス信号GCA33−32Zが”11”のとき、図25に示すサブアレイSARY3が活性化される。同様に、アドレス信号GCA23−22Z、GCA13−12Z、GCA03−02Zがそれぞれ”11”のとき、図25に示すサブアレイSARY2、SARY1、SARY0がそれぞれ活性化される。例えば、縮退信号COMP3Zが”1”のとき、アドレス信号PCA3Zの論理に関わりなく、アドレス信号GCA33Z、23Z、13Z、03Zは、常に高レベルに設定される。これにより、アドレス信号PCA3−2Zの論理レベルに応じて、サブアレイSARY3−0の2つが同時に活性化される。縮退信号COMP2Zが”1”のときも、サブアレイSARY3−0の2つが同時に活性化される。さらに、縮退信号COMP3−2Zが”11”のとき、サブアレイSARY3−0が同時に活性化される。
図24は、図23に示したアドレス反転部INV3−0および縮退制御部COMPCNT3−0の例を示している。アドレス反転部INV2−0において、常にオンしているCMOS伝達ゲートの遅延時間は、インバータの遅延時間に等しい。
図25は、図22に示したバンクBK0の例を示している。図3と同じ要素については、詳細な説明は省略する。バンクBK1−7も、バンクBK0と同じである。各バンクBK0−7の記憶容量は、図1のバンクBK0と同じである。バンクBK0は、コラムアドレス信号GCA3−2Zにより識別されるサブアレイSARY3−0を有している。但し、サブアレイSARY3−0に対応するサブコラムデコーダSDECに供給されるコラムアドレス信号GCA33−32Z、23−22Z、13−12Z、03−02Zは、縮退制御部COMPCNT3−0によりコラムアドレス信号GCA3−2Zの論理が変換される。このため、縮退信号MA1−0Zに応じて、複数のサブアレイSARYが活性化される。具体的には、縮退信号MA1−0Zのうち1ビットが高レベルのとき、2つのサブアレイSARYが同時に活性化される。縮退信号MA1−0Zの全ビットが高レベルのとき、全てのサブアレイSARY3−0が同時に活性化される。
各サブアレイSARY3−0に対応するコラムデコーダCDECのサブコラムデコーダSDECは、6ビットのコラムアドレス信号GCA7−4、1−0Z(GCA07−04、01−00Zなど)をデコードする。各サブコラムデコーダSDECは、対応するマスク信号MASK7−0Zが低レベルのときにデコード動作を実行する。各サブコラムデコーダSDECは、対応するマスク信号MASK7−0Zが高レベルのときにデコード動作を禁止する。各サブアレイSARY3−0のサブコラムデコーダSDECが、マスク信号MASK7−0Zに応じて、データ群D7−D0に対応する領域毎に動作することで、メモリMEMの消費電力を削減できる。
サブアレイSARY3に接続されたデータラッチDTLは、64ビットの内部データ線ID1163−0に接続されている。同様に、サブアレイSARY2−0にそれぞれ接続されたデータラッチDTLは、内部データ線ID1063−0、ID0163−0、ID0063−0に接続されている。この実施形態では、4つの内部データ線群ID1163−0、ID1063−0、ID0163−0、ID0063−0に読み出される2バイト、4バイトまたは8バイトのデータは、図22に示したデータバスセレクタ32Cにより互いに入れ替えられる。入れ替えは、マスク信号MASK7−0Zの論理に応じて行われる。そして、データ端子DQ63−0から、異なるコラムアドレス信号CA7−0に対応するデータが同時に読み出される。
図26は、図22に示した半導体メモリMEMの動作の例を示している。図に示した動作は、プロセッサPRCにより制御されるメモリコントローラMCNTがメモリMEMをアクセスすることで実行される。図13と同じ動作については、詳細な説明は省略する。バースト長BLは、”8”に設定される。CASレイテンシCLは、”2”に設定される。バイト信号BYTE7−0の論理は、図13と同様に”0Fh”である。メモリコントローラMCNTがメモリMEMに出力する信号は、縮退信号MA1−0が供給されること、および時刻T05で読み出しコマンドRDが供給されないことを除き、図13と同じである。
この例では、縮退信号MA1−0の論理は”10b”(10進数で2)であるため、コラムアドレス信号CA3の論理がマスクされる。マスクするコラムアドレス信号CAのビット番号(この例では”3”)は、縮退信号MA1−0の論理値を4倍して求めることができる。すなわち、4倍した値を2進数に変換し(この例では”1000b”)、”1”がセットされている桁の番号が、マスクするビット番号である。
コラムアドレス信号CA3がマスクされるため、コラムアドレス信号CA2の論理に応じて、図25に示したサブアレイSARY3、1またはサブアレイSARY2、0からデータが読み出される。例えば、読み出しコマンドRDとともに供給されるコラムアドレス信号CA7−0(Am)が31hのとき、コラムアドレス信号CA2は、”0”である。バイト信号BYTE7−0の論理は、”0Fh”である。このとき、サブアレイSARY0のコラムアドレス=31h(Am)が割り当てられたデータ群D7−4が読み出される。同時に、サブアレイSARY2のコラムアドレス=39h(Am+08h=An)が割り当てられたデータ群D7−4が読み出される。サブアレイARY2のコラムアドレスは、アドレスAmと上記4倍した値とをEOR演算することより求められる。
サブアレイSARY0、2からデータ端子DQ63−0に転送されるデータ群D7−4の番号(この例では7−4)は、互いに等しい。この後、プリコラムアドレス信号PCA7−0ZがバーストカウンタBCOUNTにより1ずつ増加され、バースト動作が実行される。
なお、例えば、縮退信号MA1−0の論理が”11”で、マスク信号MASK7−0Zの論理が”FCh”のとき、全てのサブアレイSARY3−0のデータ群D1−D0に対応するメモリ領域からデータが読み出される。縮退信号MA1−0の論理値の4倍は、”00011000b”である。このとき、アドレスAmが割り当てられたサブアレイARYを除くサブアレイSARYのコラムアドレスは、アドレスAmと”00001000b”、”00010000”、”00011000”とをそれぞれEOR演算することより求められる。
そして、コラムアドレス信号Amに対応するサブアレイSARYからのデータが、データ端子DQ15−0に出力される。コラムアドレス信号Am+04hに対応するサブアレイSARYからのデータが、データ端子DQ31−16に出力される。コラムアドレス信号Am+08hに対応するサブアレイSARYからのデータが、データ端子D47−32に出力される。コラムアドレス信号Am+0Chに対応するサブアレイSARYからのデータが、データ端子D63−48に出力される。
なお、バンクBK0−7を識別するための3ビットのアドレスが、コラムアドレスCA3−2を含むとき、サブアレイSARY3−0は、互いに異なるバンクBKに割り当てられる。このとき、コラムアドレス制御部26Cは、グローバルコラムアドレス信号群GCA3−0ZをバンクBKにそれぞれ出力する。そして、2つのバンクBKのワード線がそれぞれ活性化され、各ワード線に接続されたメモリセルのうち、コラムアドレスCAで選択されるメモリセルからデータ群が読み出される。バンクBKからそれぞれ読み出されるデータ群は、内部データ線ID1163−0、ID1063−0、ID0163−0、ID0063−0のいずれかに出力され、データバスセレクタ32Cに転送される。各バンクBK0−7は、データラッチDTLの出力を、内部データ線ID1163−0、ID1063−0、ID0163−0、ID0063−0のいずれかに出力するデータセレクタを有する。そして、図26と同じ動作が実行される。
また、書き込み動作は、互いに異なるコラムアドレスAm、Anに割り当てられるメモリセルに書き込む2組のデータ群が、書き込みコマンドとともに供給されることを除き、図26と同じである。すなわち、書き込み動作では、図26に示したデータは、書き込みデータとして2クロックサイクル早くメモリMEMに供給される。
以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。さらに、この実施形態では、縮退信号MA1−0を用いることで、メモリコントローラMCNTからメモリMEMに2つのコラムアドレスCA7を供給することなく、コラムアドレスCA7が異なる複数のメモリ領域から任意のデータ群を同時に出力できる。この結果、メモリコントローラMCNTの制御を簡易にして、データの転送レートを向上でき、システムSYSの性能を向上できる。
図27は、別の実施形態の半導体メモリMEMにおけるコラムアドレス制御部26Dの例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。メモリMEMは、図1と同様に、SDRAMである。メモリMEMは、図12に示したシステムSYSに搭載される。すなわち、例えば、画像データがメモリセルMCに格納される。メモリコントローラMCNTは、縮退信号MA1−0を出力する機能を追加している。この実施形態のメモリMEMは、図22のコラムアドレス制御部26Cの代わりにコラムアドレス制御部26Dを有している。その他の構成は、図22と同じである。
コラムアドレス制御部26Dの縮退信号生成部COMPGENは、縮退信号MA1−0Zを縮退信号COMP7−6Zとして出力する。アドレス反転部INV2−0は、アドレス信号PCA7−6Zの論理を変換して、プリコラムアドレス信号PCAB(例えば、PCAB27−26Z)として出力する。すなわち、この実施形態では、コラムアドレス信号CA7−6が縮退される。図25に示したサブアレイSARY3−0は、コラムアドレス信号CA7−6により識別される。
アドレス反転部INV2−0のその他の機能は、図23に示したアドレス反転部INV2−0と同じである。アドレス反転部INV3の機能は、図23に示したアドレス反転部INV3と同じである。縮退制御部COMPCNT3−0およびコラムマスク制御部CMCNTは、図23と同じである。
図28は、図27に示したアドレス反転部INV3−0および縮退制御部COMPCNT3−0の例を示している。アドレス反転部INV3−0および縮退制御部COMPCNT3−0は、入出力される信号が異なるが、図24と同じ論理を有している。
図29は、図27に示したコラムアドレス制御部26Dを有する半導体メモリMEMの動作の例を示している。図に示した動作は、プロセッサPRCにより制御されるメモリコントローラMCNTがメモリMEMをアクセスすることで実行される。図26と同じ動作については、詳細な説明は省略する。この実施形態では、縮退信号MA1−0が10進数で”2”のため、コラムアドレス信号CA7の論理がマスクされる。
例えば、読み出しコマンドRDとともに供給されるコラムアドレス信号CA7−0(Am)が31hのとき、コラムアドレス信号CA7は、”0”である。バイト信号BYTE7−0の論理は、”0Fh”である。このとき、サブアレイSARY0のコラムアドレス=31h(Am)が割り当てられたデータ群D7−4が読み出される。同時に、サブアレイSARY2のコラムアドレス=B1h(Am+80h=An)が割り当てられたデータ群D7−4が読み出される。サブアレイARY2のコラムアドレスは、アドレスAmと、縮退信号MA1−0の値を64倍した値とをEOR演算することより求められる。サブアレイSARY0、2からデータ端子DQ63−0に転送されるデータ群D7−4の番号(この例では7−4)は、互いに等しい。この後、図26と同様に、プリコラムアドレス信号PCA7−0ZがバーストカウンタBCOUNTにより1ずつ増加され、バースト動作が実行される。
この実施形態においても、書き込み動作は、互いに異なるコラムアドレスAm、Anに割り当てられるメモリセルに書き込む2組のデータ群が、書き込みコマンドとともに供給されることを除き、図29と同じである。すなわち、書き込み動作では、図29に示したデータは、書き込みデータとして2クロックサイクル早くメモリMEMに供給される。
図30は、図27に示したコラムアドレス制御部26Dを有する半導体メモリMEMの動作の別の例を示している。図26および図29と同じ動作については、詳細な説明は省略する。この実施形態では、縮退信号MA1−0が10進数で”1”のため、コラムアドレス信号CA6の論理がマスクされる。
例えば、読み出しコマンドRDとともに供給されるコラムアドレス信号CA7−0(Am)が31hのとき、コラムアドレス信号CA6は、”0”である。バイト信号BYTE7−0の論理は、”0Fh”である。このとき、サブアレイSARY0のコラムアドレス=31h(Am)が割り当てられたデータ群D7−4が読み出される。同時に、サブアレイSARY2のコラムアドレス=71h(Am+40h=An)が割り当てられたデータ群D7−4が読み出される。サブアレイARY2のコラムアドレスは、アドレスAmと、縮退信号MA1−0の値を64倍した値とをEOR演算することより求められる。
図31は、図27に示したコラムアドレス制御部26Dを有する半導体メモリMEMの動作の別の例を示している。図26および図29と同じ動作については、詳細な説明は省略する。この実施形態では、縮退信号MA1−0が10進数で”3”のため、コラムアドレス信号CA7−6の論理がマスクされる。バイト信号BYTE7−0の論理は、”FCh”である。このため、論理0のバイト信号BYTE1−0に対応する4つのサブアレイSARY3−0のデータ群D1−0がデータ端子DQ63−0から出力される。
例えば、読み出しコマンドRDとともに供給されるコラムアドレス信号CA7−0(Am)が31hのとき、コラムアドレス信号CA7−6は、”00b”である。このとき、サブアレイSARY0のコラムアドレス=31h(Am)が割り当てられたデータ群D1−0が読み出される。同時に、サブアレイSARY1のコラムアドレス=71h(Am+40h=An)が割り当てられたデータ群D1−0、サブアレイSARY2のコラムアドレス=B1h(Am+80h=Ao)が割り当てられたデータ群D1−0、およびサブアレイSARY3のコラムアドレス=F1h(Am+C0h=Ap)が割り当てられたデータ群D1−0が読み出される。縮退信号MA1−0の論理値の64倍は、”11000000b”である。このとき、アドレスAmが割り当てられたサブアレイARYを除くサブアレイSARYのコラムアドレスは、アドレスAmと”01000000b”、”10000000”、”11000000”とをそれぞれEOR演算することより求められる。
なお、バンクBK0−7を識別するための3ビットのアドレスが、コラムアドレスCA7−6を含むとき、サブアレイSARY3−0は、互いに異なるバンクBKに割り当てられる。このときも、上述と同様に、コラムアドレス制御部26Dは、グローバルコラムアドレス信号群GCA3−0ZをバンクBKにそれぞれ出力する。そして、2つのバンクBKのワード線がそれぞれ活性化され、各ワード線に接続されたメモリセルのうち、コラムアドレスCAで選択されるメモリセルからデータ群が読み出される。各バンクBK0−7は、データラッチDTLの出力を、内部データ線ID1163−0、ID1063−0、ID0163−0、ID0063−0のいずれかに出力するデータセレクタを有する。そして、図29から図31と同じ動作が実行される。
以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。さらに、この実施形態では、コラムアドレス制御部26DによりコラムアドレスCA7−0の任意のビットを縮退できる。
図32は、別の実施形態における半導体メモリMEMの例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。メモリMEMは、図1と同様に、SDRAMである。メモリMEMは、図12に示したシステムSYSに搭載される。すなわち、例えば、画像データがメモリセルMCに格納される。メモリコントローラMCNTは、3ビットの縮退信号MA2−0を出力する機能を追加している。
メモリMEMは、図22のコラムアドレス制御部26Cおよびデータバスセレクタ32Cの代わりに、コラムアドレス制御部26Eおよびデータバスセレクタ32Eを有している。データバスセレクタ32Eの機能は、図1とほぼ同じである。また、メモリMEMは、縮退信号MA2−0を受ける入力バッファ10hと、入力バッファ10hからの3ビットの縮退信号MA2−0Zをデコードし、8ビットの縮退信号COMP7−0Zを出力する縮退デコーダ34Eとを有している。その他の構成は、図1と同じである。すなわち、各バンクBK0−7は、図3に示した偶数領域EAおよび奇数領域OAを有している。
縮退デコーダ34Eは、縮退信号MA2−0が示す論理値を、縮退信号COMP7−0Zのビット番号として認識する。そして、縮退デコーダ34Eは、縮退信号COMP7−0Zのいずれか1ビットを高レベルに設定し、残りの7ビットを低レベルに設定する。縮退信号COMP7−0Zのうち高レベルのビットの番号は、縮退されるコラムアドレスCA7−0のビット番号を示す。
コラムアドレス制御部26Eは、図23と同様に、コラムアドレスPCAZを反転することなく、プリコラムアドレス信号PCA7−0Zとして出力するバッファ部と、特定のビットのコラムアドレスPCAZの論理を反転する反転部とを有している。反転部は、高レベルの縮退信号COMP7−0Zに対応するコラムアドレス信号CA7−0のビットのみを反転し、プリコラムアドレス信号PCA7−0Zとして出力する。例えば、反転部は、コラムアドレス信号CAのビット毎に、コラムアドレスCAと同じ論理の信号を出力する第1バッファと、コラムアドレスCAと反対の論理の信号を出力する第2バッファとを有している。第1バッファは、対応する縮退信号COMPZが低レベルのときにコラムアドレスCAを伝達する。第2バッファは、対応する縮退信号COMPZが高レベルのときにコラムアドレスCAを伝達する。
また、コラムアドレス制御部26Eは、縮退するコラムアドレスCA(1ビット)を図3に示した偶数領域EAおよび奇数領域OAを識別するために使用し、残りのコラムアドレスCAを使用してグローバルコラムアドレス信号GCAEZ、GCAOZを生成する。すなわち、コラムアドレス制御部26Eは、コラムアドレスCA7−0のビットを縮退信号COMP7−0Zに応じて入れ替える機能を有している。コラムアドレス制御部26Eは、バイト信号BYTE7−0をマスク信号MASK7−0Zとして出力する。
図33は、図32に示した半導体メモリMEMの動作の例を示している。図に示した動作は、プロセッサPRCにより制御されるメモリコントローラMCNTがメモリMEMをアクセスすることで実行される。図26と同じ動作については、詳細な説明は省略する。メモリコントローラMCNTがメモリMEMに出力する信号は、縮退信号MA2−0が供給されることを除き、図26と同じである。この例では、縮退信号MA2−0の論理は10進数で”3”であるため、コラムアドレス信号CA3の論理がマスクされる。偶数領域EAおよび奇数領域OAは、コラムアドレスCA3により識別される。この結果、メモリMEMは、図26と同じ動作をし、コラムアドレスCAで割り当てられたデータ群D7−D4をデータ端子DQ63−0から出力する。
この実施形態においても、書き込み動作は、互いに異なるコラムアドレスAm、Am+8に割り当てられるメモリセルに書き込む2組のデータ群が、書き込みコマンドとともに供給されることを除き、図33と同じである。すなわち、書き込み動作では、図33に示したデータは、書き込みデータとして2クロックサイクル早くメモリMEMに供給される。
図34は、図32に示した半導体メモリMEMの動作の別の例を示している。図26および図33と同じ動作については、詳細な説明は省略する。バースト長BLは、”4”に設定される。
バイト信号BYTE7−0の論理は、”E1h(11100001b)であるため、データ群D4−1が読み出される。縮退信号MA1−0が10進数で”2”のため、コラムアドレス信号CA2の論理がマスクされる。偶数領域EAおよび奇数領域OAは、コラムアドレスCA2により識別される。これにより、読み出しコマンドRDとともに供給されるコラムアドレスAmと、コラムアドレスAm+4に割り当てられた2組のデータ群D4−1がデータ端子DQ63−0から同時に出力される。
データバスセレクタ32Eは、論理0のバイト信号BYTE4−1に対応するデータ端子DQ39−8に、本来のデータ群D4−1を出力する。データバスセレクタ32Eは、論理1のバイト信号BYTE7−5、0に対応するデータ端子DQ63−40、7−0に、本来とは異なるデータ群D3−1、4を出力する。データバスセレクタ32Eは、本来とは異なるデータ群D3−1、4を出力するデータ端子DQを次の規則により決める。
まず、データ端子群DQ63−56、DQ55−48、DQ47−40、DQ39−32、DQ31−24、DQ23−16、DQ15−8、DQ7−0を表す番号を2進数の”111”、”110”、”101”、”100”、”011”、”010”、”001”、”000”とする。本来のデータ群D4−1は、データ群D4−1の番号と同じ”100”、”011”、”010”、”001”に対応するDQ39−32、DQ31−24、DQ23−16、DQ15−8から出力される。本来とは異なるデータ群D4は、本来のデータ群D4と下位の2ビットが同じ”000”に対応するデータ端子DQ7−0から出力される。同様に、本来とは異なるデータ群D3−1は、本来のデータ群D3−1と下位の2ビットが同じ”111”、”110”、”101”に対応するデータ端子DQ63−56、DQ55−48、DQ47−40からそれぞれ出力される。
なお、バースト長BLが”8”に設定されるとき、コラムアドレスAmからAm+7と、Am+4からAm+Bに割り当てられたデータ群D4−1が読み出される。したがって、コラムアドレスAm+4からAm+7に割り当てられたデータ群D4−1は、重複して読み出される。図34では、データ群D4−1が重複して出力されることを避けるために、バースト長BLは”4”に設定される。
図35は、図32に示した半導体メモリMEMの動作の別の例を示している。図26および図33と同じ動作については、詳細な説明は省略する。この例では、縮退信号MA2−0の論理は10進数で”4”であるため、コラムアドレス信号CA4の論理がマスクされる。偶数領域EAおよび奇数領域OAは、コラムアドレスCA4により識別される。これにより、読み出しコマンドRDとともに供給されるコラムアドレスAmと、コラムアドレスAn(Am+10h)に割り当てられた2つのデータ群D7−4がデータ端子DQ63−0から同時に出力される。
以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。さらに、この実施形態では、縮退信号MA2−0の論理に応じて、コラムアドレスCA7−0の任意の1ビットを縮退できる。したがって、同時に読み出されるデータ群が割り当てられたコラムアドレスCAの間隔を自在に変更できる。換言すれば、同時に読み出すデータ群の選択の自由度が高くなるため、データの転送レートを向上でき、システムSYSの性能を向上できる。
図36は、別の実施形態における半導体メモリMEMの例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。メモリMEMは、図1と同様に、SDRAMである。メモリMEMは、図12に示したシステムSYSに搭載される。すなわち、例えば、画像データがメモリセルMCに格納される。
メモリMEMは、図1のモードレジスタ18、コラムバッファ22およびコラムアドレス制御部26の代わりに、モードレジスタ18A、コラムバッファ22Fおよびコラムアドレス制御部26Fを有している。各バンクBK0−7のデータラッチDTLは、内部データバスIOB63−0に直接接続されている。すなわち、メモリMEMは、データバスセレクタ32を持たない。各バンクBK0−7は、コラムアドレスCA7−0の割り当てが図1と異なっている。コラムバッファ22Fは、クロック信号CLKの立ち上がりエッジおよび立ち下がりエッジにそれぞれ同期して動作する。その他の構成は、図1と同じである。コラムアドレス制御部26Fは、データ群D7−0にそれぞれ対応するグローバルコラムアドレス信号群GCA7−0Zを出力する。
図37は、図36に示したコラムアドレス制御部26FおよびコラムデコーダCDECの例を示している。コラムアドレス制御部26Fは、図20と同じ第1および第2バーストカウンタBCOUNT1、BCOUNT2と、第1および第2カウンタ初期化部CAINIT1、CAINIT2を有している。
コラムアドレスセレクタCASELは、バイト信号BYTE7−0に応じて動作する8個のアドレスセレクタASEL7−0を有している。アドレスセレクタASEL7−0は、対応するバイト信号BYTE7−0が低レベルのときプリコラムアドレス信号PCAE7−0Zをグローバルコラムアドレス信号GCA7−0Z(例えば、GCA77−70Z)として出力する。アドレスセレクタASEL7−0は、対応するバイト信号BYTE7−0が高レベルのときプリコラムアドレス信号PCAO7−0Zをグローバルコラムアドレス信号GCA7−0Z(例えば、GCA77−70Z)として出力する。
コラムデコーダCDECは、8組のグローバルコラムアドレス信号群GCA7−0Zを受け、データ群D7−0にそれぞれ対応する8個のサブコラムデコーダSDECを有している。各サブコラムデコーダSDECは、グローバルコラムアドレス信号GCA7−0Zに応じて256本のコラム選択信号CL0−255(例えば、CLH0−255)のいずれかを高レベルに活性化する。コラム選択信号CL0−255に付けられているA、B、C、D、E、F、G、Hは、図4と同様に、対応するデータ群D0−7を示している。この実施形態では、アドレスセレクタASEL7−0に供給されるバイト信号BYTE7−0は、プリコラムアドレス信号PCAE7−0Z、PCAO7−0Zのいずれかを選択するために使用される。このため、グローバルコラムアドレス信号GCA7−0Zは、常に出力され、サブコラムデコーダSDECは、常に動作する。
図38は、図36に示したバンクBK0の例を示している。図3と同じ要素については、詳細な説明は省略する。バンクBK1−7も、バンクBK0と同じである。バンクBK0は、図3に示した偶数領域EAと同様の構造を有している。各バンクBK0−7の記憶容量は、図1のバンクBK0と同じである。したがって、サブアレイSARYの記憶容量は、図1のサブアレイSARYの2倍である。データラッチDTLは、データ群D7−0に対応する8個のサブラッチSLを有している。各サブラッチSLは、相補の内部データ線IDTを介してサブアレイSARYに接続されている。また、各サブラッチSLは、内部データバスIOB(IOB63−56、55−48、47−40、39−32、31−24、2316、15−8、7−0のいずれか)に接続されている。
図39は、図38に示したメモリセルアレイMCAの例を示している。メモリセルアレイMCAは、各データ群D0−D7毎に256本のコラム選択信号CL0−255(例えばCLA0−CLA255)が供給され、各データ群D0−D7が、1024のビット線対BL、/BLを有することを除き、図5の偶数領域EAと同じである。
図40は、図36の半導体メモリMEMにおいてアクセスされる領域の例を示している。図は、メモリMEMに画像データが格納された例を示している。小さい四角は、1バイト分のメモリセルMCを示している。図中の符号Am、An、Aoは、メモリセルMCの位置(コラムアドレスCA)を示している。コラムアドレスAnは、Am+1であり、コラムアドレスAoは、Am+2である。図中の符号D7−0は、メモリセルMCが属するデータ群D7−0を示している。
画像データは、矩形を単位として処理されることが多い。例えば、メモリコントローラMCNTは、縦8ビット、横8ビットの領域に対応する64ビットの矩形領域を1単位としてメモリMEMをアクセスする。例えば、矩形領域は、8ビットの階調を有する64個の画素データを保持する。メモリMEMは、64ビットのデータ端子DQ63−0を有しているため、1回のバースト読み出し動作(バースト長BL=8)で1つの矩形領域をアクセスできる。
ところで、メモリMEMに動画データが格納され、動き予測等の処理が行われるとき、プロセッサPRCは、太い破線枠で示したように、2つのコラムアドレスAm、Anを跨ぐ矩形領域MCUに保持されるデータの比較処理(最小値の検索等)を行う必要がある。このとき、従来のメモリMEMでは、コラムアドレスAmとコラムアドレスAnのデータを2回に分けて読み出し、キャッシュメモリ等に格納する必要があった。この実施形態の半導体メモリMEMは、太い破線枠内のデータを1回で読み出すことできる。
図41は、図36に示した半導体メモリMEMの動作の例を示している。図に示した動作は、プロセッサPRCにより制御されるメモリコントローラMCNTがメモリMEMをアクセスすることで実行される。図21と同じ動作については、詳細な説明は省略する。バースト長BLは、”8”に設定される。CASレイテンシCLは、”3”に設定される。
この例では、2つのコラムアドレス信号Am+2、An+2は、読み出しコマンドRDを供給するクロック信号CLKの立ち上がりエッジと立ち下がりエッジ同期して供給される。バイト信号BYTE7−0の論理は、”F8h(11111000b)”である。このため、図37で説明したように、”0”を示すバイト信号BYTE2−0に対応するデータ群D2−0は、最初のコラムアドレスAm+2を用いて読み出される。”1”を示すバイト信号BYTE7−3に対応するデータ群D7−3は、2番目のコラムアドレスAn+2を用いて読み出される。したがって、図40に太い破線で示した2つのアドレスAm+2、An+2を跨ぐ矩形領域MCUを一度にアクセスできる。換言すれば、異なるコラムアドレスAm+2、An+2が割り当てられた領域MCUからデータ群D7−0を重複することなく読み出すことができる。
この実施形態においても、書き込み動作は、互いに異なるコラムアドレスAm+2、An+2に割り当てられるメモリセルに書き込む2組のデータ群が、書き込みコマンドとともに供給されることを除き、図41と同じである。すなわち、書き込み動作では、図41に示したデータは、書き込みデータとして3クロックサイクル早くメモリMEMに供給される。
以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。さらに、この実施形態では、コラムアドレスCA7が異なる複数のメモリ領域から、データ群D7−0を重複することなく読み出すことができる。この結果、特に、矩形領域MCUが1単位としてアクセスされる画像データをメモリMEMに格納するときに、データの転送レートを向上でき、システムSYSの性能を向上できる。
図42は、別の実施形態における半導体メモリMEMの例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。メモリMEMは、図1と同様に、SDRAMである。メモリMEMは、図12に示したシステムSYSに搭載される。すなわち、例えば、画像データがメモリセルMCに格納される。メモリMEMは、図36のメモリMEMからデータマスク端子DM7−0、入力バッファ10dおよびバイト生成部30を削除している。メモリMEMは、図36のコラムアドレス制御部26Fの代わりに、コラムアドレス制御部26Gを有している。その他の構成は、コラムバッファ22がコラムアドレスCA7−0に加えてCA11−9を受けることを除き、図36と同じである。すなわち、メモリMEMは、動画データ等の画像データを格納する矩形領域MCAを有する。
この実施形態では、データマスク信号DM7−0の代わりに、3ビットのスタートバイト信号STBYTE2−0Zがアドレス端子A11−9にコラムアドレス信号CA7−0とともに供給される。スタートバイト信号STBYTE2−0Zは、読み出しコマンドRDとともに供給される2つのコラムアドレス信号CA7−0により読み出されるデータ群D7−0の境界を示す。換言すれば、スタートバイト信号STBYTE2−0Zは、一度にアクセスする矩形領域(図40の太い破線枠)の左端のデータ群(例えば、D2)を示す。
図43は、図42に示したコラムアドレス制御部26Gの例を示している。コラムアドレス制御部26Gは、図37のコラムアドレス制御部26Fにバイト選択デコーダBSELDECを加えている。バイト選択デコーダBSELDECは、スタートバイト信号STBYTE2−0Zからバイト信号BYTE7−0を生成する。
図44は、図43に示したバイト選択デコーダBSELDECの例を示している。バイト選択デコーダBSELDECは、デコーダDEC1およびバイト信号BYTE7−0を生成する論理回路LOG1を有している。デコーダDEC1は、スタートバイト信号STBYTE2−0Zの値に対応するデコード信号DEC7−0の1つを高レベルに設定する。例えば、スタートバイト信号STBYTE2−0Zが”010b”を示すとき、図に示すようにデコード信号DEC2のみが”1”に設定される。
論理回路LOG1は、デコード信号DEC7−0を一方の入力でそれぞれ受ける8個のオア回路OR1とオア回路OR1の出力を反転し、バイト信号BYTE7−0としてそれぞれ出力する8個のインバータを有している。オア回路OR1は、上位のオア回路の出力を他方の入力で受ける。これにより、スタートバイト信号STBYTE2−0Zが”010b”を示すときに、バイト信号BYTE7−0は、”11111000b”になる。すなわち、図41と同じ動作を実行できる。
以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。さらに、この実施形態では、バイト信号BYTE7−0の論理をスタートバイト信号STBYTE2−0Zとして、コラムアドレス端子CAの空きビットCA11−9に供給する。これにより、少ない端子数で、矩形領域MCUが1単位としてアクセスされる画像データの転送レートを向上でき、システムSYSの性能を向上できる。
図45は、別の実施形態における半導体メモリMEMの例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。メモリMEMは、図1と同様に、SDRAMである。メモリMEMは、図12に示したシステムSYSに搭載される。すなわち、例えば、画像データがメモリセルMCに格納される。メモリMEMは、図36に示したコラムアドレス制御部26Fの代わりに、コラムアドレス制御部26Hを有している。各バンクBK0−7は、コラムパイプラインCLPLを設けないことを除き、図14および図16と同じである。メモリMEMは、データラッチDTLと入出力バッファ10eの間にデータバスセレクタ32Hを有している。その他の構成は、図36と同じである。すなわち、メモリMEMは、動画データ等の画像データを格納する矩形領域MCAを1単位としてアクセスされる。
図46は、図45に示したコラムアドレス制御部26Hの例を示している。コラムアドレス制御部26Hは、図20と同じカウンタ初期化部CAINIT1−2およびバーストカウンタBCOUNT1−2と、図20とは異なるコラムアドレスセレクタCASELとを有している。コラムアドレスセレクタCASELは、プリコラムアドレス信号PCAEZを受ける8個のサブセレクタSSELEと、プリコラムアドレス信号PCAOZを受ける8個のサブセレクタSSELOを有している。
サブセレクタSSELEは、バイト信号BYTE7−0をそれぞれ受ける。サブセレクタSSELOは、バイト信号BYTE7−0の論理を反転した信号をそれぞれ受ける。サブセレクタSSELE、SSELOの機能は、図15と同じである。例えば、バイト信号BYTE7−0の論理が”11111000”のとき、データ群D7−D3に対応するサブセレクタSSELEは、グローバルコラムアドレス信号GCAEH7−EH0Z、GCAEG7−EG0Z、GCAEF7−EF0Z、GCAEE7−EE0Z、GCAED7−ED0Zの出力を禁止する。データ群D2−0に対応するサブセレクタSSELOは、グローバルコラムアドレス信号GCAOC7−OCZ、GCAOB7−OB0Z、GCAOA7−OA0Zの出力を禁止する。
コラムデコーダCDECの各サブコラムデコーダSDECは、対応するグローバルコラムアドレス信号GCAEZ(またはGCAOZ)が出力されないとき、すなわち、信号GCAEZ(またはGCAOZ)の値を示す相補の信号がともに高レベルときに、デコード動作を停止する。これにより、データを読み出すために必要なサブコラムデコーダSDECのみを動作できるため、消費電力を削減できる。
図47は、図45に示したデータバスセレクタ32Hの例を示している。データバスセレクタ32Hは、図7と同じ論理を有するセレクタスイッチSW7−0を有している。セレクタスイッチSW7−0の各々は、偶数領域EAに対応するサブセレクタBSEL1から転送されるデータ群と、奇数領域OAに対応するサブセレクタBSEL1から転送されるデータ群とのいずれかを、バイト信号BYTE7−0に応じて選択する。これにより、この実施形態のメモリMEMは、図35と同じ動作を実行できる。
なお、バンクBK0−7を識別するための3ビットのアドレスが、コラムアドレスCAのいずれかのビットを含むとき、メモリ領域AR1−2は、互いに異なるバンクBKに割り当てられる。このとき、コラムアドレス制御部26Hは、グローバルコラムアドレス信号群GCAEZ、GCAOZをバンクBKにそれぞれ出力する。そして、2つのバンクBKのワード線がそれぞれ活性化され、各ワード線に接続されたメモリセルのうち、コラムアドレスCAで選択されるメモリセルからデータ群が読み出される。バンクBKからそれぞれ読み出されるデータ群は、内部データ線IDE63−0、IDO63−0のいずれかに出力され、データバスセレクタ32Hに転送される。各バンクBK0−7は、データラッチDTLの出力を、内部データ線IDE63−0、IDO63−0のいずれかに出力するデータセレクタを有する。そして、図26と同じ動作が実行される。
以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。
なお、上述した実施形態は、SDRAMに適用する例について述べた。しかし、例えば、上述した実施形態を、DRAM、擬似SRAM、SRAMあるいは強誘電体メモリ等に適用してもよい。上述の実施形態が適用される擬似SRAM、SRAMあるいは強誘電体メモリは、ロウアドレスRAとコラムアドレスCAとが異なるアドレス端子を介して同時に受ける。これら半導体メモリは、図13等に示したアクティブコマンドACTVを受けることなく、読み出しコマンドまたは書き込みコマンドに応答して動作する。ロウアドレスRAおよびコラムアドレスCAは、読み出しコマンドまたは書き込みコマンドとともに半導体メモリに供給される。バンクBKがコラムアドレスCAの一部のビットにより選択されるとき、異なるバンクBKのワード線がそれぞれ活性化される。活性化されたワード線に接続されたメモリセルのうち、残りのコラムアドレスCAで選択されるメモリセルからデータ群がそれぞれ出力される。そして、バンクBKからそれぞれ読み出されたデータ群は、データ端子DQに同時に出力される。なお、バンクBKは、独立に動作するメモリブロックであり、センスアンプをそれぞれ有している。
上述した実施形態は、データのバースト転送機能を有するクロック同期式の半導体メモリに適用することが望ましいが、クロック非同期式の半導体メモリに適用しても、上述と同様の効果を得ることができる。
図1から図47に示した実施形態に関して、さらに以下の付記を開示する。
(付記1)
第1アドレスに対してN個(Nは2以上の整数)のデータを構成単位とするデータ群をM個(Mは2以上の整数)割りつける半導体メモリにおいて、
前記データ群の位置を示す第2アドレスで指定されるN個のデータ中のL(L<N)個のデータ位置を任意に指定し、前記指定されたデータ位置からデータを読み出すこと
を特徴とする半導体メモリ。
(付記2)
前記第2アドレスで指定される第1データ群のL個のデータと、前記第2アドレスとは異なる第2アドレスで指定される第2データ群のN−L個のデータとを同時に出力すること
を特徴とする付記1に記載の半導体メモリ。
(付記3)
第1アドレス内の第2アドレスに対応する第1のデータ位置に対応するデータと、
前記第1アドレスとは異なる第1アドレス内の第2アドレスに対応する第2のデータ位置に対応するデータとを同時に出力すること
を特徴とする付記1に記載の半導体メモリ。
(付記4)
前記データ位置の指定は、データマスクピンを介して行われること
を特徴とする付記1乃至付記3の何れか一に記載の半導体メモリ。
(付記5)
前記指定されたデータ位置のデータを、対応するデータピンから出力すること
を特徴とする付記1乃至付記4の何れか一に記載の半導体メモリ。
(付記6)
前記第2アドレスはコラムアドレスであること
を特徴とする付記1乃至付記5の何れか一に記載の半導体メモリ。
(付記7)
前記L個のデータ位置は、少なくとも互いに隣り合わない2つの位置を含むこと
を特徴とする付記1乃至付記6に記載の半導体メモリ。
(付記8)
第1アドレスに対してN個(Nは2以上の整数)のデータを構成単位とするデータ群をM個(Mは2以上の整数)割りつける半導体メモリにおいて、
前記N個のデータに対応するデータバスと、
前記データ群の位置を示す第2アドレスで指定されるN個のデータ中のL(L<N)個のデータ位置情報を受信する外部端子と、
前記データ位置情報に基づくデータ位置のデータを前記データバスに供給する供給回路と、
を備えることを特徴とする半導体メモリ。
(付記9)
前記データバスに接続されるデータ端子を有し、前記データ位置に対応するL個のデータを前記データ端子から同時に出力すること
を特徴とする付記8に記載の半導体メモリ。
(付記10)
前記供給回路は、
前記データ位置情報に基づいて、前記N個のデータ群の中からL個のデータを選択して前記データバスの対応する位置に供給する複数のセレクタを備えること
を特徴とする付記8又は付記9に記載の半導体メモリ。
(付記11)
前記第2アドレスで指定される第1データ群のL個のデータと、前記第2アドレスとは異なる第2アドレスで指定される第2データ群のN−L個のデータとを同時に出力すること
を特徴とする付記8、付記9又は付記10に記載の半導体メモリ。
(付記12)
前記第2アドレスを2以上の整数でカウントするカウンタを備えること
を特徴とする付記11に記載の半導体メモリ。
(付記13)
前記第1アドレスが供給されるアドレス端子を有し、
前記第1アドレスに対応する第2アドレスのL個の位置情報に対応する第1データと、前記第1アドレスとは異なる第1アドレスに対応する第2アドレスのN−L個の位置情報に対応する第2データとを前記データバスを介して同時に出力すること
を特徴とする付記8、付記9又は付記10に記載の半導体メモリ。
(付記14)
前記第1データに対応する位置情報と、前記第2データに対応する位置情報とを取り込むためのセレクト信号を供給する外部端子を有すること
を特徴とする付記13に記載の半導体メモリ。
(付記15)
前記第1アドレスに対応する第2アドレスをカウントする第1カウンタと、
前記第1アドレスとは異なる第1アドレスに対応する第2アドレスをカウントする第2カウンタと、
を備えることを特徴とする付記13又は付記14に記載の半導体メモリ。
(付記16)
前記第1データを出力する第1レイテンシと前記第2データを出力する第2レイテンシとを調整する回路を備えること
を特徴とする付記13乃至付記15の何れか一に記載の半導体メモリ。
(付記17)
CPUと、
前記CPUによって制御されるメモリコントローラと、
前記メモリコントローラによってアクセスされる第1半導体メモリ又は第2半導体メモリの何れか一方を備え、
前記第1半導体メモリは、
第1アドレスに対してN個(Nは2以上の整数)のデータを構成単位とするデータ群をM個(Mは2以上の整数)割り当て、
前記メモリコントローラが指定する前記データ群の位置を示す第2アドレスで指定されるN個のデータ中のL(L<N)個のデータ位置からデータを読み出し、
前記第2半導体メモリは、
第1アドレスに対してN個(Nは2以上の整数)のデータを構成単位とするデータ群をM個(Mは2以上の整数)割り当て、
前記N個のデータに対応するデータバスと、
前記メモリコントローラからの、前記データ群の位置を示す第2アドレスで指定されるN個のデータ群中のL(L<N)個のデータ位置情報を受信する外部端子と、
前記データ位置情報に基づくデータ位置のデータを前記データバスに供給する供給回路と、
を備えることを特徴とするメモリシステム。
(付記18)
前記第1半導体メモリ又は前記第2半導体メモリに格納されるデータは、画像データであること
を特徴とする付記17に記載のメモリシステム。
(付記19)
前記第1半導体メモリ又は前記第2半導体メモリは、
前記第2アドレスで指定される第1データ群のL個のデータと、前記第2アドレスとは異なる第2アドレスで指定される第2データ群のN−L個のデータとを同時に出力すること
を特徴とする付記17又は付記18に記載のメモリシステム。
(付記20)
前記第1半導体メモリ又は前記第2半導体メモリは、
第1アドレスの第2アドレスに対応する第1のデータ位置に対応するデータと、
前記第1アドレスとは異なる第1アドレスの第2アドレスに対応する第2のデータ位置に対応するデータとを同時に出力すること
を特徴とする付記17又は付記18に記載のメモリシステム。
以上の詳細な説明により、実施形態の特徴点及び利点は明らかになるであろう。これは、特許請求の範囲がその精神及び権利範囲を逸脱しない範囲で前述のような実施形態の特徴点及び利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良及び変更に容易に想到できるはずであり、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物及び均等物に拠ることも可能である。
10a、10b、10c、10d、10f、10g、10h‥入力バッファ;10e‥データ入出力バッファ;12‥コマンド制御部;14‥コラムタイミング制御部;16‥ロウタイミング制御部;18、18A‥モードレジスタ;20‥カウンタ制御部;22‥コラムバッファ;24‥ロウバッファ;26、26A、26B、26C、26D、26E、26F、26G、26H‥コラムアドレス制御部;28‥ロウアドレス制御部;30‥バイト生成部;32、32C、32H‥データバスセレクタ;34E‥縮退デコーダ;BCOUNT、BCOUNT1−2‥バーストカウンタ;BK0−BK7‥バンク;BSELDEC‥バイト選択デコーダ;CADDE、CADDO‥コラムアドレス加算器;CDEC‥コラムデコーダ;CAINIT、CAINIT1−2‥カウンタ初期化部;CLPL‥コラムパイプライン;CMCNT‥コラムマスク制御部;COMPCNT3−0‥縮退制御部;COMPGEN‥縮退信号生成部;D7−0‥データ群;DTL‥データラッチ;EA‥偶数領域;IMDOL‥画像処理モジュール;INV3−0‥アドレス反転部;MCA‥メモリセルアレイ;OA‥奇数領域;PRC‥プロセッサ;RDEC‥ロウデコーダ;SARY‥サブアレイ;SDEC‥サブコラムデコーダ;SL‥サブラッチ;SSELE、SSELO‥サブセレクタ;STCNTL‥ストレージデバイスコントローラ;VACNTL‥ビデオ/オーディオコントローラ