以下、実施形態を図面を用いて説明する。図中の二重の四角印は、外部端子を示している。外部端子は、例えば、半導体チップ上のパッド、あるいは半導体チップが収納されるパッケージのリードである。外部端子を介して供給される信号には、端子名と同じ符号を使用する。信号が伝達される信号線には、信号名と同じ符号を使用する。先頭に”/”の付く信号は、負論理を示している。
図1は、一実施形態を示している。半導体メモリMEMは、例えば、クロック同期式のFCRAM(Fast Cycle RAM)である。このFCRAMは、DRAMのメモリセルを有し、SRAMの入出力インタフェースを有する擬似SRAMである。メモリMEMは、クロックバッファ10、コマンドバッファ/ラッチ12、アドレスバッファ/ラッチ14、データマスクバッファ/ラッチ16、データ入力バッファ/ラッチ18、データ出力バッファ20、コマンドデコーダ22、動作制御回路24、メモリコアCOREおよびエラー訂正部ECCUを有している。なお、メモリMEMは、リフレッシュ動作を自動的に実行するためにリフレッシュタイマ、リフレッシュアドレスカウンタ、および外部アクセス要求RD、WRと内部リフレッシュ要求との優先順を判定するアービタ等を有している。
クロックバッファ10は、クロック信号CKを内部クロック信号ICKとして出力する。内部クロック信号ICKは、コマンドバッファ/ラッチ12および動作制御回路24等のクロック信号CKに同期して動作する回路に供給される。
コマンドバッファ/ラッチ12は、内部クロック信号ICKの立ち上がりエッジに同期してコマンド信号CMDをラッチし、ラッチした信号を出力する。コマンド信号CMDは、チップイネーブル信号/CE、ライトイネーブル信号/WEおよびアウトプットイネーブル端子/OEを含む。ラッチ信号CELAT、WELAT、OELATは、信号/CE、/WE、/OEをそれぞれラッチした信号である。
アドレスバッファ/ラッチ14は、内部クロック信号ICKの立ち上がりエッジに同期して、アドレス信号ADをラッチし、ラッチした信号をロウアドレス信号RADおよびコラムアドレス信号CADとして出力する。ロウアドレス信号RADは、後述するワード線WLを選択するために供給される。コラムアドレス信号CADは、後述するビット線BL、/BLを選択するために供給される。このメモリMEMは、ロウアドレス信号RADとコラムアドレス信号CADがアドレス端子ADに同時に供給されるアドレスノンマルチプレクスタイプのメモリである。
データマスクバッファ/ラッチ16は、内部クロック信号ICKの立ち上がりエッジに同期して、データマスク信号DMをラッチし、ラッチした信号をマスク信号MASKとして出力する。例えば、データマスク信号DMおよびマスク信号MASKは、それぞれ4ビット(DM0−3、MASK0−3)で構成される。データマスク信号DM0−3は、4バイトのデータ入力信号Din0−7、Din8−15、Din16−23、Din24−31にそれぞれ対応して供給される。データ入力信号Din(メモリMEMへの書き込みデータ)がマスクされるときに、すなわち、データ入力信号DinのレギュラーメモリセルMCへの書き込みを禁止するときに、対応するデータマスク信号DMおよびマスク信号MASKが高レベルに設定される。以降の説明では、各データ入力信号Din0−7、Din8−15、Din16−23、Din24−31を、データグループとも称する。
データ入力バッファ/ラッチ18は、内部クロック信号ICKの立ち上がりエッジに同期してデータ入力信号Dinをラッチし、ラッチした信号をデータ入力信号IDATとして出力する。例えば、データ入力信号Dinは、4つのデータグループDin0−7、Din8−15、Din16−23、Din24−31で構成される。
データ出力バッファ20は、データ出力信号ODAT(メモリコアCOREからの読み出しデータ)を受け、受けた信号をデータ出力信号Doutとして出力する。例えば、データ出力信号Doutは、4つのデータグループDout0−7、Dout8−15、Dout16−23、Dout24−31で構成される。以降の説明では、32ビットを基準のビット幅Nと称するときがある。
コマンドデコーダ22は、ラッチ信号CELAT、WELAT、OELATの論理レベルに応じて認識したコマンドCMDを、メモリコアCOREのアクセス動作を実行するために読み出しコマンド信号RDおよび書き込みコマンド信号WRとして出力する。読み出しコマンド信号RDおよび書き込みコマンド信号WRは、メモリコアCOREをアクセスするためのアクセスコマンド(アクセス要求)である。さらに、コマンドデコーダ22は、後述するデータ出力制御回路DOCNTを動作するためのタイミング信号である読み出し制御信号RD1Zと、後述するデータ選択回路DTSELを動作するためのタイミング信号である書き込み制御信号WR1Zを出力する。
動作制御回路24は、読み出しコマンドRDおよび書き込みコマンドWRに応答してメモリコアCOREに読み出し動作および書き込み動作を実行させるためのワードイネーブル信号WLE、センスアンプイネーブル信号SENE、コラムイネーブル信号CLE、リードイネーブル信号RENE、ライトイネーブル信号WENEおよび図示しないプリチャージイネーブル信号を出力する。動作制御回路24は、リフレッシュ動作を実行するときに、ワードイネーブル信号WLE、センスアンプイネーブル信号SENEおよびプリチャージイネーブル信号のみを出力し、コラムイネーブル信号CLE、リードイネーブル信号RENEおよびライトイネーブル信号WENEを出力しない。ワードイネーブル信号WLEは、ワード線WLの活性化タイミングを制御し、センスアンプイネーブル信号SENEは、センスアンプSAの活性化タイミングを制御する。コラムイネーブル信号CLEは、コラムスイッチCSWのオンタイミングを制御する。リードイネーブル信号RENEは、リードアンプRAの活性化タイミングを制御する。ライトイネーブル信号WENEは、ライトアンプWAの活性化タイミングを制御する。
メモリコアCOREは、レギュラーメモリコアRCOREおよびパリティメモリコアPCOREを有している。レギュラーメモリコアRCOREは、コア制御回路CCNT、レギュラーメモリブロックMBLK、レギュラーセンスアンプSA、レギュラーコラムスイッチCSW、レギュラーリードアンプRAおよびレギュラーライトアンプWAを有している。レギュラーセンスアンプSA、レギュラーコラムスイッチCSW、レギュラーリードアンプRAおよびレギュラーライトアンプWAは、レギュラービット線BL、/BLに直接あるいは電気的に接続されており、レギュラービット線BL、/BLを介してレギュラーメモリセルMCにレギュラーデータを入力または出力するレギュラーデータ制御回路として動作する。
コア制御回路CCNTは、制御信号WLE、SENE、CLE、アドレス信号RAD、CADおよび図示しないプリチャージイネーブル信号を受け、アドレス信号RAD、CADに応じたワード線信号WL、センスアンプ活性化信号SEN、コラム制御信号CLおよびプリチャージ制御信号(例えば、図3のBRS0)を出力する。また、コア制御回路CCNTは、制御信号RENE、WENEに応答してリードアンプ活性化信号RENおよびライトアンプ活性化信号WENを出力する。ワード線信号WLは、レギュラーメモリセルMCの動作を制御するレギュラーアクセス制御信号である。同様に、センスアンプ活性化信号SEN、コラム制御信号CL、リードアンプ活性化信号REN、ライトアンプ活性化信号WENおよび図3のプリチャージ制御信号BRS(BRS0)は、レギュラーセンスアンプSA、レギュラーコラムスイッチCSW、レギュラーリードアンプRA、レギュラーライトアンプWAおよび図3のプリチャージ回路PREの動作を制御するレギュラーアクセス制御信号である。すなわち、コア制御回路CCNTは、レギュラーアクセス制御信号を生成するレギュラー信号生成回路として動作する。コア制御回路CCNTの詳細は、図2に示す。
メモリブロックMBLKは、マトリックス状に配置された複数のダイナミックメモリセルMC(レギュラーメモリセル)を有している。レギュラーメモリセルMCは、データ入力端子Dinを介して半導体メモリMEMの外部から書き込まれるレギュラーデータを保持する。例えば、メモリブロックMBLKは、図2に示すように、4つのメモリブロックMBLK0−3で構成されている。センスアンプSAは、センスアンプ活性化信号SENの高レベル期間中に動作し、レギュラーメモリセルMCからレギュラービット線対BL、/BLに読み出されるデータ信号を増幅する。例えば、メモリブロックMBLKは、128組のビット線対BL、/BLを有している。すなわち、128個のレギュラーメモリセルMCが、1本のワード線WLに接続されている。センスアンプSAは、ビット線対BL、/BLにそれぞれ接続されている。このように、レギュラーメモリコアRCOREは、ビット幅4Nで構成されている。
コラムスイッチCSWは、コラム制御信号CLの高レベル期間中にオンし、コラムアドレス信号CADに応じて、32組(1N)のビット線対BL、/BLおよび32個(1N)のセンスアンプSAを、リードアンプRAおよびライトアンプWAに接続する。コラムスイッチCSWは、256本のビット線対BL、/BLに対応して256個ある。リードアンプRAは、リードアンプ活性化信号RENの高レベル期間中に動作し、センスアンプSAから伝達される相補の読み出しデータ信号(レギュラーデータ)を増幅し、レギュラーデータバスDB、/DBに出力する。例えば、リードアンプRAは、読み出しデータ信号を差動増幅する。レギュラーデータバスDB、/DBは、32組の相補の信号線で構成される。ライトアンプWAは、レギュラーデータバスDB、/DBから伝達される書き込みデータ信号を増幅し、センスアンプSAに出力する。例えば、ライトアンプWAは、レギュラーデータバスDBからの相補の書き込みデータ信号を差動増幅する。例えば、リードアンプRAは32個あり、ライトアンプWAは32個ある。センスアンプSA、コラムスイッチCSWの詳細は、図3に示す。
なお、図1においてセンスアンプSA、コラムスイッチCSW、リードアンプRAおよびライトアンプWAから出力されるセンスアンプ活性化信号SEN、コラム制御信号CL、リードアンプ活性化信号RENおよびライトアンプ活性化信号WENは、コア制御回路CCNTから出力された信号が、センスアンプSA、コラムスイッチCSW、リードアンプRAおよびライトアンプWAを介してパリティメモリコアPCOREに伝達されることを示している。
パリティメモリコアPCOREは、遅延回路DLY1(遅延素子)、パリティメモリブロックPBLK、パリティセンスアンプPSA、パリティコラムスイッチPCSW、パリティリードアンプPRAおよびパリティライトアンプPWAを有している。パリティセンスアンプPSA、パリティコラムスイッチPCSW、パリティリードアンプPRAおよびパリティライトアンプPWAは、パリティビット線PBL、/PBLに電気的に接続されており、パリティビット線PBL、/PBLを介してパリティメモリセルMCにパリティデータを入出力するパリティデータ制御回路として動作する。
遅延回路DLY1は、ワード線WLに伝達されるワード線信号、センスアンプ活性化信号SEN、コラム制御信号CL、リードアンプ活性信号RENおよびライトアンプ活性化信号WENを遅延させ、パリティワード線PWLに伝達されるパリティワード線信号、パリティセンスアンプ活性化信号PSEN、パリティコラム制御信号PCL、パリティリードアンプ活性信号PRENおよびパリティライトアンプ活性化信号PWENとして出力する。パリティワード線信号PWLは、パリティメモリセルMCの動作を制御するパリティアクセス制御信号である。同様に、パリティセンスアンプ活性化信号PSEN、パリティコラム制御信号PCL、パリティリードアンプ活性信号PREN、パリティライトアンプ活性化信号PWENおよび図示しないパリティプリチャージ信号は、パリティセンスアンプPSA、パリティコラムスイッチPCSW、パリティリードアンプPRAおよびパリティライトアンプPWAおよび図示しないパリティプリチャージ回路の動作を制御するパリティアクセス制御信号である。遅延回路DLY1の詳細は、図4に示す。
パリティメモリブロックPBLKは、マトリックス状に配置され、レギュラーデータのパリティコード(パリティデータ)を保持する複数のダイナミックメモリセルMC(パリティメモリセル)を有している。例えば、パリティメモリブロックPBLKは、図4に示すように、4つのパリティメモリブロックPBLK0−3で構成されている。パリティメモリブロックPBLKは、図の横方向に配置されるパリティメモリセルMCの数が少ないことを除き、レギュラーメモリブロックMBLKと同じ回路構成である。具体的には、パリティメモリセルMCに接続されたパリティビット線PBL、/PBLの数は、例えば、24組である。すなわち、24個のパリティメモリセルMCが、1本のパリティワード線PWLに接続されている。パリティセンスアンプPSAは、パリティビット線対BL、/BLにそれぞれ接続されている。なお、レギュラーメモリブロックMBLKの構造に合わせるために、パリティメモリブロックPBLKを32組のパリティビット線対PBL、/PBLで構成してもよい。パリティメモリブロックPBLKの詳細は、図4に示す。
パリティセンスアンプPSAおよびパリティコラムスイッチPCSWは、配置される数が少ないことを除き、レギュラーセンスアンプSAおよびレギュラーコラムスイッチCSWと同じ回路構成である。パリティリードアンプPRAおよびパリティライトアンプPWAは、配置される数が少ないことを除き、レギュラーリードアンプRAおよびレギュラーライトアンプWAと同じ回路構成である。例えば、パリティセンスアンプPSAは図4に示す各領域PSA0−3に24個ある。パリティコラムスイッチPCSWは、図4に示す各領域PCSW00−03、PCSW10−13、PCSW20−23、PCSW30−33に48個ある。パリティリードアンプPRAおよびパリティライトアンプPWAは、それぞれ6個ある。
パリティリードアンプPRAは、パリティリードアンプ活性化信号PRENの高レベル期間中に動作し、パリティセンスアンプPSAから伝達される相補のパリティコード(パリティデータ)を増幅し、パリティデータバスPDB、/PDBに出力する。例えば、パリティリードアンプPRAは、パリティコードを差動増幅し、パリティデータバスPDB、/PDBは、6組の相補の信号線で構成される。パリティライトアンプPWAは、パリティデータバスPDB、/PDBから伝達されるパリティコードを差動増幅し、パリティセンスアンプPSAに出力する。
動作制御回路24、コア制御回路CCNTおよび遅延回路DLY1は、アクセス制御回路として動作する。後述する図6で説明するように、アクセス制御回路は、書き込みコマンドWRが連続して供給されるときに、レギュラービット線BL、/BLを介してレギュラーメモリセルMCからレギュラーデータを読み出し、レギュラービット線BL、/BLを介してレギュラーメモリセルMCにレギュラーデータを書き込むために、レギュラーメモリセルMCおよびレギュラーセンスアンプSA、レギュラーコラムスイッチCSW、レギュラーリードアンプRA、レギュラーライトアンプWAを制御するレギュラーアクセス制御信号WL、SEN、CL、REN、WENを生成する。アクセス制御回路は、レギュラーメモリセルMCからレギュラービット線BL、/BLへのレギュラーデータの読み出しが開始された後、レギュラーデータの読み出し中に、パリティメモリセルMCからパリティビット線PBL、/PBLへのパリティデータの読み出しを開始するために、パリティメモリセルMCおよびパリティセンスアンプPSA、パリティコラムスイッチPCSW、パリティリードアンプPRA、パリティライトアンプPWAを制御するパリティアクセス制御信号PWL、PSEN、PCL、PREN、PWENを生成する。さらに、アクセス制御回路は、パリティメモリセルMCに書き込むパリティデータがパリティビット線PBL、/PBLに供給されている間に、次の書き込みコマンドに応答してレギュラービット線BL、/BLを介してレギュラーメモリセルMCからレギュラーデータを読み出すためにレギュラーアクセス制御信号WL、SEN、CL、REN、WENを生成する。
エラー訂正部ECCUは、リードパリティ生成回路RPGEN、比較回路COMP、シンドロームデコーダSDEC、エラー訂正回路ERRC、データ出力制御回路DOCNT、データ選択回路DTSEL、データラッチDTLTおよびライトパリティ生成回路WPGENを有している。
例えば、リードパリティ生成回路RPGEN、比較回路COMP、シンドロームデコーダSDECおよびエラー訂正回路ERRCは、書き込み動作時および読み出し動作時に動作する。データ選択回路DTSEL、データラッチDTLTおよびライトパリティ生成回路WPGENは、書き込み動作時のみに動作する。データ出力制御回路DOCNTは、読み出し動作時のみに動作する。なお、例えば、メモリMEMが、読み出し動作時にエラー訂正された読み出しデータ信号をレギュラーメモリブロックMBLKに書き込む仕様で設計されるとき、データ選択回路DTSEL、データラッチDTLTおよびライトパリティ生成回路WPGENは、読み出し動作時にも動作する。
リードパリティ生成回路RPGENは、レギュラーメモリブロックMBLKからデータバスDB、/DBに読み出される読み出しデータ信号RDTからリードパリティコードRPC(リードパリティデータ)を生成する。比較回路COMPは、書き込み動作時および読み出し動作時に、リードパリティコードRPCとパリティメモリブロックPBLKからパリティデータバスPDBに読み出されるパリティコードPC(パリティデータ)とを比較し、読み出しデータのエラー情報を含むシンドロームSYNを生成する。シンドロームデコーダSDECは、シンドロームSYNに基づいて読み出しデータ中のエラービットを示すエラービット信号ERRBを生成する。すなわち、比較回路COMPおよびエラービット信号ERRBは、レギュラーメモリセルMCから読み出されたレギュラーデータのエラーを検出する。
エラー訂正回路ERRCは、読み出しデータ信号RDTに含まれるエラーを、エラービット信号ERRBを用いて訂正し、訂正した読み出しデータ信号を訂正読み出しデータ信号CRDTとして出力する。データ出力制御回路DOCNTは、読み出し動作時に、読み出し制御信号RD1Zに同期して訂正読み出しデータ信号CRDTをデータ出力信号ODATとして出力する。
データ選択回路DTSELは、書き込み動作時に、マスク信号MASKに応じて、訂正読み出しデータ信号CRDTまたはデータ入力信号IDATをデータグループ毎に選択する。具体的には、マスク信号MASKに応じてマスクが必要なデータグループは、訂正読み出しデータ信号CRDTが選択され、マスクが不要なバイトデータは、データ入力信号IDATが選択される。すなわち、データ選択回路DTSELは、マスク信号MASKにより書き込みが禁止されるデータグループを除くデータグループの訂正読み出しデータ信号CRDTを、データ入力信号IDAT(書き込みデータ)に置き換える。例えば、マスク信号MASK0が活性化されるとき、データ選択回路DTSELは、データグループDin0−7に対応する訂正読み出しデータ信号CRDTのデータグループを選択し、かつデータグループDin8−15、Din16−23、Din24−31に対応するデータ入力信号IDATを選択する。
データ選択回路DTSELは、選択したデータ信号を、書き込み制御信号WR1Zに同期してデータバスDB、/DBに出力する。データバスDB、/DB上のデータ信号は、ビット線対BL、/BLを介してレギュラーメモリセルMCに書き込まれる。データラッチDTLTは、データバスDB、/DB上のデータ信号をラッチ信号LTの立ち上がりエッジに同期してラッチし、ラッチした信号をラッチ信号LTの高レベル期間中にラッチデータ信号LTDTとして出力する。ライトパリティ生成回路WPGENは、ラッチデータ信号LTDTのパリティコードPCを生成し、パリティデータバスPDB、/PDBに出力する。パリティデータバスPDB、/PDB上のパリティコードPCは、パリティビット線対PBL、/PBLを介してパリティメモリセルMCに書き込まれる。
図2は、図1のレギュラーメモリコアRCOREの詳細を示している。コア制御回路CCNTは、アドレスラッチ回路ALT、ロウデコーダRDEC、コラムデコーダCDECおよびブロック制御回路BCNTを有している。アドレスラッチ回路ALTは、ロウアドレス信号RADをラッチし、ラッチロウアドレス信号LRADとしてロウデコーダRDECに出力する。さらに、アドレスラッチ回路ALTは、コラムアドレス信号CADをラッチし、ラッチコラムアドレス信号LCADとしてコラムデコーダCDECに出力する。
ロウデコーダRDECは、ロウプリデコーダRPDECおよびワードデコーダWDECを有している。ロウプリデコーダRPDECは、ラッチロウアドレス信号LRADをデコードし、ロウデコード信号XDECおよびブロックデコード信号XBLK(XBLK0−3)を生成する。ブロックデコード信号XBLK0−3により、レギュラーメモリブロックMBLK0−3のいずれかが選択される。ワードデコーダWDECは、ロウデコード信号XDECに応じてワード線WL0−255のいずれかを選択し、選択したワード線WLを、ワードイネーブル信号WLEの活性化に応答して高レベルに活性化する(レギュラーワード線信号の活性化)。コラムデコーダCDECは、ラッチコラムアドレス信号LCADをデコードし、コラムデコード信号YDECとして出力する。
後述する図6に示すように、ワードデコーダWDECは、パリティワード線信号PWL(第1パリティアクセス制御信号)が活性化されている間に、次の書き込みコマンドWRに応答してワード線信号WL(第1レギュラーアクセス制御信号)を活性化するレギュラーアクセス制御回路として動作する。
ブロック制御回路BCNTは、メモリブロックMBLK0−3に対応するセンスアンプ活性化信号SEN(SEN0−3)のいずれかをセンスアンプ活性化信号SENに応答して活性化する。センスアンプ活性化信号SEN0−3の選択は、ブロックデコード信号XBLK0−3により行われる。ブロック制御回路BCNTは、コラム制御信号CL(CL00−03、10−13、20−23、30−33)のいずれかをコラムイネーブル信号CLEに応答して活性化する。コラム制御信号CL00−03により、メモリブロックMBLK0の4つの領域(図の破線で区画される領域)のいずれが選択される。同様に、コラム制御信号CL10−13(またはCL20−23、CL30−33)により、メモリブロックMBLK1(またはMBLK2、MBLK3)の4つの領域のいずれが選択される。各領域には、32組のビット線対BL、/BLが配線されており、ワード線WLの活性化により、領域毎に32ビットのデータが出力または入力される。コラム制御信号CLは、ブロックデコード信号XBLK0−3およびコラムデコード信号YDECにより選択される。
特に図示していないが、ブロック制御回路BCNTは、メモリブロックMBLK0−3に対応するプリチャージ制御信号(例えば、図3のBRS0)をプリチャージイネーブル信号に応答して出力する。さらに、ブロック制御回路BCNTは、リードイネーブル信号RENをリードイネーブル信号RENEに応答して活性化し、ライトイネーブル信号WENをライトイネーブル信号WENEに応答して活性化する。
メモリブロックMBLKは、4つのレギュラーメモリブロックMBLK0−3と、メモリブロックMBLK0−3にそれぞれ対応する4つのセンスアンプのブロックSA0−3および4つのコラムスイッチのブロックCSW00−03、10−13、20−23、30−33を有している。各ブロックSA0−3は、32個のセンスアンプSAを有している。各ブロックCSW00−03、10−13、20−23、30−33は、64個のコラムスイッチCSWを有している。センスアンプSA0−3(32個のセンスアンプSA)およびメモリブロックMBLK0−3は、コラムスイッチCSW00−03、10−13、20−23、30−33を介して32組の相補のデータ線DT、/DTに接続されている。なお、メモリコアRCOREに、シェアードセンスアンプ方式を採用してもよい。すなわち、各メモリブロックMBLK0−3の両側にセンスアンプSAを配置し、2つのメモリブロックMBLKの間に配置されるセンスアンプSAを、これらメモリブロックMBLKで共有してもよい。
図3は、図2に示したメモリブロックMBLK0およびセンスアンプ領域SAAの詳細を示している。センスアンプ領域SAAは、センスアンプSA、コラムスイッチCSWおよびプリチャージ回路PRE等が配置される領域である。メモリブロックMBLK1−3およびこれ等メモリブロックMBLK1−3に対応するセンスアンプ領域SAAも、図3と同じである。さらに、図4に示すパリティメモリブロックPBLK0−3およびこれ等パリティメモリブロックPMBLK1−3に対応するセンスアンプ領域SAA(PSA、PCSWが配置される領域)も、図3と同じである。
レギュラーワード線WL(WL0、WL1、WL2、...)に接続されたレギュラーメモリセルMCは、レギュラービット線BL、/BL(BL0、/BL0、BL1、/BL1、...)の一方に接続されている。これにより、例えば、ビット線BL0に接続されたメモリセルMCをアクセスするときに、ビット線/BL0は、参照電圧線(プリチャージ電圧VPR)として機能する。
各センスアンプSAは、入力と出力とが互いに接続された一対のCMOSインバータで構成されている。各CMOSインバータの入力(トランジスタのゲート)は、ビット線BL(または/BL)に接続されている。各CMOSインバータは、図の横方向に並ぶnMOSトランジスタとpMOSトランジスタで構成される。各CMOSインバータのpMOSトランジスタのソースは、センスアンプ活性化信号/SEN0を受けている。各CMOSインバータのnMOSトランジスタのソースは、センスアンプ活性化信号SEN0を受けている。センスアンプ活性化信号/SEN0は、センスアンプSAが動作するときに高レベル電圧に設定され、センスアンプSAが動作しないときに、プリチャージ電圧VPRに設定される。センスアンプ活性化信号SEN0は、センスアンプSAが動作するときに低レベル電圧(例えば、接地電圧)に設定され、センスアンプSAが動作しないときに、プリチャージ電圧VPRに設定される。
各コラムスイッチCSWは、ビット線BLをデータ線DT(DT0、DT1、...)に接続するnMOSトランジスタと、ビット線/BLをデータ線/DT(/DT0、/DT1、...)に接続するnMOSトランジスタとで構成されている。各nMOSトランジスタのゲートは、コラムスイッチ信号CL(例えば、CL01)を受けている。読み出し動作時に、センスアンプSAで増幅されたビット線BL、/BL上の読み出しデータ信号は、コラムスイッチCSWを介してデータ線DT、/DTに伝達される。書き込み動作時に、データ線DT、/DTを介して供給される書き込みデータ信号は、ビット線BL、/BLを介してメモリセルMCに書き込まれる。データ線DT、/DTは、図2に示したように、リードアンプRAおよびライトアンプWAに接続されている。
各プリチャージ回路PREは、相補のビット線BL、/BLをプリチャージ電圧線VPRにそれぞれ接続するための一対のnMOSトランジスタと、ビット線BL、/BLを互いに接続するためのnMOSトランジスタとで構成されている。プリチャージ回路PREのnMOSトランジスタのゲートは、メモリブロックMBLK0−3毎に生成されるプリチャージ制御信号BRS(BRS0)を受けている。プリチャージ回路PREは、高論理レベルのプリチャージ制御信号BRSを受けている間、ビット線BL、/BLにプリチャージ電圧VPRを供給するとともにビット線BL、/BLの電圧をイコライズする。
図4は、図1のパリティメモリコアPCOREの詳細を示している。遅延回路DLY1は、例えば、抵抗R1および容量C1を含み、各信号線に接続された時定数回路TCを有している。時定数回路TCは、インバータ対で構成される2つのバッファ回路BUFの間に配置されている。なお、遅延回路DLY1は、図4の回路に限らない。例えば、バッファ回路BUFを構成するインバータの電源端子を抵抗素子を介して電源線に接続してもよい。あるいは、インバータを構成するトランジスタのオン抵抗を高く設定してもよい。
遅延回路DLY1は、ワード線WL0−255に伝達されるワード線信号を遅延させ、遅延ワード線信号として、パリティワード線PWL0−255に出力する。遅延回路DLY1は、センスアンプ活性化信号SEN0−3、/SEN0−3を遅延させ、パリティセンスアンプ活性化信号PSEN0−3、/PSEN0−3として出力し、コラム制御信号CL00−03、CL10−13、CL20−23、CL30−33を遅延させ、パリティコラム制御信号PCL00−03、PCL10−13、PCL20−23、PCL30−33として出力する。パリティコラム制御信号PCL00−03により、パリティメモリブロックPBLK0の4つの領域(図の破線で区画される領域)のいずれが選択される。同様に、パリティコラム制御信号PCL10−13(またはPCL20−23、PCL30−33)により、パリティメモリブロックPBLK1(またはPBLK2、PBLK3)の4つの領域のいずれが選択される。各領域には、例えば、6組のビット線対BL、/BLが配線されており、ワード線WLの活性化により、領域毎に6ビットのデータ(パリティコードPC)が出力または入力される。
後述する図6に示すように、パリティワード線信号PWLを生成する遅延回路DLY1は、書き込みコマンドWRに応答してパリティワード線信号PWL(第1パリティアクセス制御信号)を所定の期間活性化し、ワード線信号WL(第1レギュラーアクセス制御信号)が活性化された後、ワード線信号WLの活性化中に、パリティワード線信号PWLを活性化するパリティアクセス制御回路として動作する。
パリティメモリブロックPBLKは、4つのパリティメモリブロックPBLK0−3と、パリティメモリブロックPBLK0−3にそれぞれ対応する4つのパリティセンスアンプのブロックPSA0−3および4つのパリティコラムスイッチのブロックPCSW0−3とを有している。センスアンプPSA0−3およびメモリブロックPBLK0−3は、コラムスイッチPCSW0−3を介してパリティデータ線PDT、/PDTに接続されている。なお、シェアードセンスアンプ方式がレギュラーメモリコアRCOREに採用されるときに、シェアードセンスアンプ方式は、パリティメモリコアPCOREにも採用される。
パリティメモリブロックPBLK0は、パリティワード線PWL0−63に伝達される遅延ワード線信号を受けて動作する。同様に、パリティメモリブロックPBLK1(またはPBLK2、PBLK3)は、パリティワード線PWL64−127(またはPWL128−191、PWL192−255)に伝達される遅延ワード線信号を受けて動作する。パリティセンスアンプPSA0は、遅延回路DLY1を介して供給されるパリティセンスアンプ活性化信号PSEN0を受けて動作する。同様に、パリティセンスアンプPSA1(またはPSA2、PSA3)は、遅延回路DLY1を介して供給されるパリティセンスアンプ活性化信号PSEN1(またはPSEN2、PSEN3)を受けて動作する。パリティコラムスイッチPCSW0は、遅延回路DLY1を介して供給されるパリティコラム制御信号PCL00−03を受けて動作する。同様に、パリティコラムスイッチPCSW1(またはPCSW2、PCSW3)は、遅延回路DLY1を介して供給されるパリティコラム制御信号PCL10−13(またはPCL20−23、PCL30−33)を受けて動作する。
図5は、図1の半導体メモリMEMが搭載されるシステムSYSを示している。システムSYSは、例えば、シリコン基板上に集積されたシステムインパッケージSIP(System In Package)を有している。システムSYSは、例えば、携帯電話等の携帯機器である。
SIPは、図1に示したメモリMEMと、フラッシュメモリFLASH、フラッシュメモリFLASHのアクセスを制御するメモリコントローラMCNTと、メモリMEMおよびフラッシュメモリFLASHをアクセスするCPU(コントローラ)を有している。フラッシュメモリFLASHは、携帯機器の機能を実現するためのプログラムおよび不揮発性の各種パラメータが格納される。メモリMEMは、パワーオン時に、フラッシュメモリFLASHから転送されるプログラムを保持し、プログラムの実行中に扱われるワークデータ等を保持する。メモリMEMに保持されたプログラムは、CPUにより実行される。
CPU、メモリMEMおよびメモリコントローラMCNTは、システムバスSBUSにより互いに接続されている。SIPは、外部バスを介してシステムコントローラSCNTに接続される。CPUは、メモリMEMをアクセスするために、コマンド信号CMD、アドレス信号ADおよびデータ入力信号Din(書き込みデータ信号)を出力し、メモリMEMからデータ出力信号Dout(読み出しデータ信号)を受信する。SIPは、メモリシステムとして動作する。
図6は、図1に示したメモリMEMの書き込み動作の例を示している。この例では、書き込みコマンドWRが連続して供給される。図中の太い矢印は、レギュラーデータがレギュラーメモリセルMCからレギュラービット線BL、/BLに読み出されている期間、またはレギュラーデータがレギュラービット線BL、/BLからレギュラーメモリセルMCに書き込まれている期間を示している。図中の太い破線の矢印は、パリティデータがパリティメモリセルMCからパリティビット線PBL、/PBLに読み出されている期間、またはパリティデータがパリティビット線PBL、/PBLからパリティメモリセルMCに書き込まれている期間を示している。すなわち、太い矢印は、書き込み動作期間(リード・モディファイ・ライトの実施期間)を示している。この例では、レギュラーメモリコアRCOREおよびおパリティメモリコアPCOREの書き込み動作期間の長さは、互いに等しい。パリティメモリコアPCOREの書き込み動作期間は、レギュラーメモリコアRCOREの書き込み動作期間に対して遅れており、かつメモリコアRCORE、PCOREの書き込み動作期間は、互いに重複している。
メモリMEMは、クロック信号CKの立ち上がりエッジに同期して書き込みコマンドWRおよび図示しないアドレス信号AD、書き込みデータ信号Dinを受ける(図6(a))。クロック信号CKは、図5に示したSIP内で生成され、またはシステムコントローラSCNTから供給される。書き込みコマンドWR、アドレス信号ADおよび書き込みデータ信号Dinは、例えば、図5に示したCPUが出力する。書き込みコマンドWRは、低レベルのチップイネーブル信号/CE、低レベルのライトイネーブル信号/WEおよび高レベルのアウトプットイネーブル信号/OEにより認識される。
図1に示したアドレスバッファ/ラッチ14は、アドレス信号ADをクロック信号CKの立ち上がりエッジに同期してラッチし、ロウアドレス信号RADおよびコラムアドレス信号CADとして出力する(図6(b))。動作制御回路24は、書き込みコマンドWRを受けたクロック信号CKの立ち上がりエッジに応答してワードイネーブル信号WLEを活性化する(図6(c))。この後、ワードイネーブル信号WLEの活性化に応答して、センスアンプイネーブル信号SENE、コラムイネーブル信号CLE、リードイネーブル信号RENE、ライトイネーブル信号WENEが順次に活性化される(図6(d))。
レギュラーメモリコアRCOREでは、ロウアドレス信号RADにより選択されたワード線WLがワードイネーブル信号WLEに応答して高レベルに変化し、ワード線WLに接続されたレギュラーメモリセルMCからビット線BL(または/BL)に読み出しデータ信号が出力される(図6(e))。ブロックデコード信号XBLKにより選択されるセンスアンプ活性化信号SENは、センスアンプイネーブル信号SENEに応答して活性化される(図6(f))。メモリブロックMBLK0−3のいずれか対応するセンスアンプSAは、センスアンプ活性化信号SENの活性化に同期して動作を開始し、ビット線対BL、/BL上の電圧差を増幅する(図6(g))。
コラムデコード信号YDECにより選択されるコラム制御信号CLは、コラムイネーブル信号CLEに応答して活性化される(図6(h))。コラム制御信号CLの活性化に同期して、対応するコラムスイッチCSWがオンし、センスアンプSAで増幅された読み出しデータ信号が図示しないデータ線DT、/DTに伝達される。リードイネーブル信号RENは、リードイネーブル信号RENEの活性化に応答して活性化される(図6(i))。リードアンプRAは、リードイネーブル信号RENの活性化に同期して、データバスDB、/DB上の読み出しデータ信号を増幅する(図6(j))。
図1に示したリードパリティ生成回路RPGENは、データバスDB、/DBに読み出された読み出しデータ信号のリードパリティコードRPC(図示せず)を生成する。リードパリティ生成回路RPGENによるリードパリティコードRPCの生成が開始された後、ワード線WLの活性化から遅れてパリティワード線PWLが活性化される(図6(k))。
ここで、レギュラーワード線信号WLの活性化期間(高レベル期間)とパリティワード線信号PWLの活性化期間(高レベル期間)は、互いに等しく設定されている。レギュラーワード線信号WLが活性化されてからパリティワード線信号PWLが活性化されるまでの期間P1は、書き込みコマンドWRが連続して供給されるときのレギュラーワード線信号WLの非活性化期間P2より長く設定されている。期間P1は、遅延回路DLY1の遅延時間に等しい。
さらに、期間P1とパリティワード線信号PWLの活性化期間との和は、書き込みコマンドWRが連続して供給されるときに連続して活性化されるレギュラーワード線信号WLの活性化タイミング(立ち上がりエッジ)の間隔より長く設定されている。換言すれば、期間P1とパリティワード線信号PWLの活性化期間との和は、レギュラーワード線信号WLの活性化期間と非活性化期間P2の和より長く設定されている。
パリティメモリコアPCOREでは、活性化されたパリティワード線PWLに接続されたパリティメモリセルMCからパリティビット線PBL(または/PBL)にパリティコードが出力される(図6(l))。次に、パリティセンスアンプ活性化信号PSEN、パリティコラム制御信号PCL、パリティリードイネーブル信号PREN、パリティライトイネーブル信号PWENが、センスアンプ活性化信号SEN、リードイネーブル信号REN、ライトイネーブル信号WENより遅延回路DLY1の遅延時間だけ遅れて順次に活性化される(図6(m))。パリティメモリブロックPBLK0−3のいずれか対応するパリティセンスアンプPSAは、パリティセンスアンプ活性化信号PSENの活性化に同期して動作を開始し、パリティビット線対PBL、/PBL上の電圧差を増幅する(図6(n))。
パリティコラム制御信号PCLの活性化に同期して対応するパリティコラムスイッチPCSWがオンし、パリティセンスアンプPSAで増幅されたパリティコードが図示しないパリティデータ線PDT、/PDTに伝達される。パリティリードアンプPRAは、パリティリードイネーブル信号PRENの活性化に同期して、パリティデータバスPDB、/PDB上のパリティコードPCの信号レベルを増幅する(図6(o))。この後、特に図示してないが、リードパリティコードRPCおよびパリティコードPCからシンドロームSYNが生成され、エラービットERRBが検出される。エラービットERRBが存在するとき、読み出しデータ信号のエラーが訂正される。
図1に示したデータ選択回路DTSELは、マスク信号MASKの論理に基づいて、訂正された読み出しデータ信号またはデータ入力端子Dinに供給されるデータ入力信号(書き込みデータ信号)をデータグループ毎に選択し、データバスDB、/DBに出力する。データバスDB、/DBに供給されたデータ信号(書き込みデータ信号)は、ライトイネーブル信号WENEの活性化に同期してライトアンプWAおよびビット線対BL、/BLを介してレギュラーメモリセルMCに書き込まれる(図6(p))。
書き込みデータ信号のレギュラーメモリセルMCへの書き込みが開始された後、ライトパリティ生成回路WPGENは、データラッチDTLTを介して受ける書き込みデータ信号の新たなパリティコードPCを生成する。新たなパリティコードPCは、パリティライトイネーブル信号PWENの活性化に同期して、パリティライトアンプPWAおよびパリティビット線対PBL、/PBLを介してパリティメモリセルMCに書き込まれる(図6(q))。新たなパリティコードPCのパリティメモリセルMCへの書き込み中に、コラム制御信号CL、ワード線WL、リードイネーブル信号REN、ライトイネーブル信号WEN、センスアンプ活性化信号SENが順次に非活性化される(図6(r))。そして、ビット線対BL、/BLがプリチャージされ、レギュラーメモリコアRCOREの書き込み動作が完了する(図6(s))。
次に、パリティメモリコアPCOREの書き込み動作が完了する前に、2番目の書き込みコマンドWRに応答してワード線WLが活性化され、上述と同様にレギュラーメモリコアRCOREの2番目の書き込み動作が開始される(図6(t))。具体的には、新たなパリティコードPCがパリティビット線PBL、/PBLを介してパリティメモリセルMCに書き込まれている間に、次の書き込みコマンドWRに応答してレギュラーメモリセルMCからレギュラービット線BL、/BLにレギュラーデータが読み出される。換言すれば、パリティワード線PWLが非活性化される前に、次の書き込みコマンドWRに応答してレギュラーワード線WLが活性化される。
パリティコラム制御信号PCL、パリティリードイネーブル信号PREN、パリティライトイネーブル信号PWEN、パリティワード線PWL、パリティセンスアンプ活性化信号PSENは、レギュラーメモリコアRCOREの2番目の書き込み動作が開始された後に順次に非活性化される(図6(u))。この後、上述と同じ動作が繰り返される。
この実施形態の書き込み動作では、レギュラーメモリコアRCOREおよびパリティメモリコアPCOREの書き込み動作期間を、必要最小限に設定するために、書き込み動作期間を互いに重複し、かつパリティメモリコアPCOREの書き込み動作期間中に、レギュラーメモリコアRCOREの動作を開始する。これにより、メモリMEMの書き込みサイクル時間(アクセスサイクル時間)を、レギュラーメモリコアRCOREおよびパリティメモリコアPCOREの実際の動作時間とほぼ等しくできる。すなわち、エラー訂正にリード・モディファイ・ライトが必要なメモリMEMのアクセスサイクル時間を短縮できる。この例では、書き込みサイクル時間は、1クロックサイクルであり、書き込みコマンドWRの最小供給間隔である。この結果、メモリMEMのデータ転送レートを向上でき、メモリMEMを搭載するシステムSYSの性能を向上できる。
図7は、図6に示した書き込み動作におけるエラー訂正動作の詳細を示している。この例では、図6に示した3つの書き込みコマンドWRに同期して、書き込みデータ信号Din(D0、D1、D2)がメモリMEMに供給される。図の下側に示した横長の四角形は、エラー訂正部ECCU内の各回路RPGEN、COMP、SDEC、ERRC、DTSELおよびWPGENの動作期間を示している。
リードパリティ生成回路RPGENは、データバスDB、/DB上の相補の読み出しデータ信号RDT(レギュラーデータ)のいずれかのビットが高レベル(無効レベル)から低レベル(有効レベル)に変化したときに、この変化に同期して動作を開始し、読み出しデータ信号RDTを用いてリードパリティコードRPC(相補のデータ)を生成する(図7(a))。リードパリティ生成回路RPGENは、データバスDB、/DB上の読み出しデータ信号RDTの低レベルへの変化を利用して、制御信号を受けることなく動作を開始する。
パリティメモリコアPCOREは、レギュラーメモリコアRCOREより遅れて動作を開始する。このため、リードパリティ生成回路RPGENが動作を開始したときに、パリティリードアンプRPAは動作していない。リードパリティ生成回路RPGENは、データバスDB、/DB上の読み出しデータ信号RDTが全て高レベルに変化したときに動作を停止し、リードパリティコードRPCを高レベルに設定する(図7(b))。
パリティリードアンプPRAは、リードパリティ生成回路RPGENからのリードパリティコードRPCの出力開始とほぼ同時に動作を開始し、パリティメモリセルMCから相補のパリティデータバスPDB、/PDBに伝達されたパリティコードPCを差動増幅する。このように、パリティメモリコアPCOREは、レギュラーメモリコアRCOREに比べて、リードパリティ生成回路RPGENによるリードパリティコードRPCの生成時間だけ遅れて動作を開始する。換言すれば、図4に示した遅延回路DLY1の遅延時間は、例えば、リードパリティ生成回路RPGENによるリードパリティコードRPCの生成時間に等しく設定されている。
比較回路COMPは、相補のリードパリティコードRPCと、相補のパリティコードPCのいずれかのビットが高レベル(無効レベル)から低レベル(有効レベル)に変化したときに、この変化に同期して動作を開始し、リードパリティコードRPCおよび相補のパリティコードPCを用いてシンドロームSYN(相補の信号)を生成する(図7(c))。シンドロームSYNは、読み出しデータ信号RDTに含まれるエラービットを示す情報を含んでいる。すなわち、比較回路COMPは、読み出しデータ信号RDTのエラーを検出する。比較回路COMPは、リードパリティコードRPCおよびパリティコードPCが全て高レベルに変化したときに動作を停止し、シンドロームSYNを高レベルに設定する(図7(d))。
シンドロームデコーダSDECは、相補のシンドロームSYNのいずれかのビットが高レベル(無効レベル)から低レベル(有効レベル)に変化したときに、この変化に同期して動作を開始し、シンドロームSYNを用いて相補のエラービット信号ERRBを生成する(図7(e))。シンドロームデコーダSDECは、シンドロームSYNが全て高レベルに変化したときに動作を停止し、エラービット信号ERRBを高レベルに設定する(図7(f))。
エラー訂正回路ERRCは、データバスDB、/DB上の相補の読み出しデータ信号RDTのいずれかのビットが高レベル(無効レベル)から低レベル(有効レベル)に変化したときに、この変化に同期して動作を開始する。このとき、エラービット信号ERRBは高レベルのため、エラー訂正回路ERRCは、エラーが訂正されていない読み出しデータ信号RDTを訂正読み出しデータ信号CRDTとして出力する(図7(g))。エラー訂正回路ERRCは、相補のエラービット信号ERRBのいずれかのビットが高レベル(無効レベル)から低レベル(有効レベル)に変化したときに、読み出しデータ信号RDTの対応するビットを反転し、訂正読み出しデータ信号CRDTとして出力する(図7(h))。すなわち、読み出しデータ信号RDTのエラーが訂正される。エラービット信号ERRBが全て高レベルとき、読み出しデータ信号RDTにエラーはない。このとき、エラー訂正回路ERRCは、図7(g)で出力を開始した訂正読み出しデータ信号CRDTの出力を維持する。エラー訂正回路ERRCは、データバスDB、/DBおよびエラービット信号ERRBのレベルが全て高レベルになったときに、訂正読み出しデータ信号CRDTの出力を停止する(図7(i))。
データ選択回路DTSELは、書き込み制御信号WR1Zの高レベル期間に動作し、マスク信号MASKに応じて、データ入力信号IDATまたは訂正読み出しデータ信号CRDTをデータグループ毎に選択し、選択した信号を相補の書き込みデータ信号WDTとしてデータバスDB、/DBに出力する(図7(j))。データラッチDTLTは、ラッチ信号LTの高レベル期間に書き込みデータ信号WDTを相補のラッチデータ信号LTDTとして出力する(図7(k))。ライトパリティ生成回路WPGENは、ラッチデータ信号LTDTのいずれかのビットが高レベル(無効レベル)から低レベル(有効レベル)に変化したときに、この変化に同期して動作を開始し、ラッチデータ信号LTDTを用いてパリティコードPCを生成し、書き込みパリティコードWPCとしてパリティデータバスPDBに出力する(図7(l))。
この後、パリティデータバスDB、/DBおよびパリティビット線PBL、/PBLに書き込みデータ信号WDTが伝達され、パリティメモリコアPCOREの書き込み動作が実行されているときに、レギュラーメモリコアRCOREは、次の書き込みコマンドWRに応答して次の書き込み動作を開始する(図7(m))。この後、上述と同じ動作が実行される。
図8は、図1に示したメモリMEMの読み出し動作の例を示している。この例では、読み出しコマンドRDが連続して供給される。図6と同じ動作については、詳細な説明は省略する。クロック信号CKの周期は図6と同じである。すなわち、読み出しサイクル時間は、図6の書き込みサイクル時間に等しい。図中の太い矢印は、レギュラーデータがレギュラーメモリセルMCからレギュラービット線BL、/BLに読み出されている期間、またはレギュラーデータがレギュラービット線BL、/BLからレギュラーメモリセルMCに書き込まれている期間を示している。図中の太い破線の矢印は、パリティデータがパリティメモリセルMCからパリティビット線PBL、/PBLに読み出されている期間、またはパリティデータがパリティビット線PBL、/PBLからパリティメモリセルMCに書き込まれている期間を示している。すなわち、太い矢印は、読み出し動作期間(リード・モディファイ・ライトの実施期間)を示している。
レギュラーメモリコアRCOREまたはパリティメモリコアPCOREの読み出し動作期間の長さは、互いに等しく、かつ図6に示した書き込み動作期間と等しい。パリティメモリコアPCOREの読み出し動作期間は、レギュラーメモリコアRCOREの読み出し動作期間に対して遅れており、かつメモリコアRCORE、PCOREの読み出し動作期間は、互いに重複している。読み出し動作では、データ選択回路DTSEL、データラッチDTLTおよびライトパリティ生成回路WPGENは動作せず、データ出力制御回路DOCNTが動作する。
メモリMEMは、クロック信号CKの立ち上がりエッジに同期して読み出しコマンドRDおよび図示しないアドレス信号ADを受ける(図8(a))。この後、パリティデータバスPDB、/PDBにパリティコードPCが読み出され、エラー訂正回路ERRCにより読み出しデータ信号RDTのエラーが訂正されるまでの動作(図6(o)までの動作)は、図6と同じである。読み出し動作では、動作制御回路24は、ライトイネーブル信号WENEおよび図示しないラッチ信号LTを低レベルLに保持する(図8(b))。このため、ライトイネーブル信号WEN、パリティライトイネーブル信号PWENも、低レベルに保持される(図8(c、d))。
データ出力制御回路DOCNTは、読み出し制御信号RD1Zの高レベル期間に動作し、訂正読み出しデータ信号CRDTをデータ出力信号ODATとして出力する(図示せず)。データ選択回路DTSELが動作しないため、データバスDB、/DB上のデータ信号およびパリティデータバスPDB、/PDB上のデータ信号は、変化しない(図8(e、f))。そして、パリティメモリコアPCOREの読み出し動作が完了する前に、2番目の読み出しコマンドRDに応答してワード線WLが活性化され、上述と同様にレギュラーメモリコアRCOREの2番目の読み出し動作が開始される(図8(g))。最初の読み出しコマンドRDに応答する読み出し動作が完了する。
読み出し動作においても書き込み動作と同様に、レギュラーメモリコアRCOREおよびパリティメモリコアPCOREは、動作期間を互いに重複し、かつ互いに異なるタイミングで動作する。さらに、パリティメモリコアPCOREの読み出し動作が完了する前に、次の読み出しコマンドRDに応答するレギュラーメモリコアRCOREの読み出し動作が開始される。具体的には、パリティワード線PWLが非活性化される前に、次の書き込みコマンドWRに応答してレギュラーワード線WLが活性化される。
読み出し動作サイクルにおいても、レギュラーワード線信号WLの活性化期間とパリティワード線信号PWLの活性化期間は、互いに等しく設定されている。レギュラーワード線信号WLが活性化されてからパリティワード線信号PWLが活性化されるまでの期間P1は、読み出しコマンドRDが連続して供給されるときのレギュラーワード線信号WLの非活性化期間P2より長く設定されている。さらに、期間P1とパリティワード線信号PWLの活性化期間との和は、読み出しコマンドRDが連続して供給されるときに連続して活性化されるレギュラーワード線信号WLの活性化タイミングの間隔より長く設定されている。換言すれば、期間P1とパリティワード線信号PWLの活性化期間との和は、レギュラーワード線信号WLの活性化期間と非活性化期間P2の和より長く設定されている。
これにより、メモリMEMの読み出しサイクル時間(アクセスサイクル時間)を、レギュラーメモリコアRCOREおよびパリティメモリコアPCOREの実際の動作時間とほぼ等しくできる。この例では、読み出しサイクル時間は、1クロックサイクルであり、読み出しコマンドRDの最小供給間隔である。この結果、メモリMEMのデータ転送レートを向上でき、メモリMEMを搭載するシステムSYSの性能を向上できる。
図9は、図8に示した読み出し動作におけるエラー訂正動作の詳細を示している。図7と同じ動作については、詳細な説明は省略する。この例では、図8に示した3つの読み出しコマンドRDに応答して、データ出力信号Dout(読み出しデータ信号RDT0、RDT1、...)がメモリMEMから順次に出力される。図の下側に示した横長の四角形は、エラー訂正部ECCU内の各回路RPGEN、COMP、SDEC、ERRCおよびDOCNTの動作期間を示している。パリティ生成回路RPGEN、比較回路COMP、シンドロームデコーダSDECおよびエラー訂正回路ERRCの動作は、図6と同じである。データ選択回路DTSEL、データラッチDTLTおよびライトパリティ生成回路WPGENは動作しない。
データ出力制御回路DOCNTは、読み出し制御信号RD1Zの高レベル期間に動作し、エラー訂正回路ERRCにより訂正された読み出しデータ信号RDT0をデータ出力信号線ODATに出力する(図9(a))。データ出力バッファ20は、データ出力信号線ODATに伝達された読み出しデータ信号RDT0をデータ出力端子Doutに出力する(図9(b))。
図10は、図1に示した半導体メモリMEMが提案される前の半導体メモリの書き込み動作を示している。図中に括弧で示したクロック信号CK、ICKは、図6および図7のクロックサイクルを示している。図10では、レギュラーメモリコアRCOREおよびパリティメモリコアPCOREは、共通のワードイネーブル信号WLE、センスアンプイネーブル信号SENE、コラムイネーブル信号CLE、リードイネーブル信号RENEおよびライトイネーブル信号WENEを順次に受けて、互いに同じタイミングで動作する。
パリティコードPCは、比較回路COMPの動作開始より時間T1だけ前にパリティデータバスPDB、/PDBに読み出される(図10(a))。すなわち、パリティメモリコアPCOREは、図中に破線で示した図6のタイミングに比べて時間T1だけ早く動作を開始する。書き込みデータ信号WDTは、レギュラーメモリセルMCに書き込まれた後も、時間T2だけデータバスDB、/DB上に保持される(図10(b))。すなわち、レギュラーメモリコアRCOREは、図中に破線で示した図6のタイミングに比べて時間T2だけ遅く動作を完了する。
図10に示した例では、レギュラーメモリコアRCOREおよびパリティメモリコアPCOREが同時に動作するため、書き込みサイクル時間(この例では、1クロックサイクル)は、図6に比べて長くなる。一般に、半導体メモリをアクセスするシステムの制御を簡易にするために、読み出しサイクル時間は、書き込みサイクル時間と同じ値に設定される。このため、読み出しサイクル時間も、図8および図9に比べて長くなる。この結果、半導体メモリのデータ転送レートは低下し、半導体メモリを搭載するシステムの性能は下がる。
以上、この実施形態では、メモリMEMの書き込みサイクル時間を、レギュラーメモリコアRCOREおよびパリティメモリコアPCOREの実際の動作時間とほぼ等しくできる。パリティメモリセルがアクセスされている間に次の書き込みコマンドに応答するレギュラーメモリセルのアクセスを開始できるため、半導体メモリMEMのアクセスサイクル時間を短縮できる。したがって、メモリMEMのデータ転送レートを向上でき、メモリMEMを搭載するシステムSYSの性能を向上できる。
特に、エラー訂正にリード・モディファイ・ライトが必要な半導体メモリのアクセスサイクル時間を短縮できる。具体的には、データ入力端子に供給される書き込みデータ信号のレギュラーメモリセルMCへの書き込みを選択的にマスクする機能を有する半導体メモリにおいて、アクセスサイクル時間を短縮できる。
エラー訂正部ECCUの各回路RPGEN、WPGEN、COMP、SDEC、ERRCは、相補の信号線のいずれかのビットレベルが有効レベルから無効レベルに変化することに同期して動作する。このため、エラー訂正部ECCUの主要な回路の動作を、外部制御信号を用いることなく自動的に開始し、終了できる。したがって、エラー訂正部ECCUの動作タイミングのロスを最小限にできる。エラー訂正動作の時間が短縮できるため、アクセスサイクル時間を短縮できる。
図11は、別の実施形態を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、パリティメモリコアPCOREが図1および図4と相違している。また、半導体メモリMEMは、遅延回路DLY2(遅延素子)および動作制御回路24Pを有している。その他の構成は、上述した実施形態と同じである。半導体メモリMEMは、例えば、図5に示したように、システムSYSに搭載される。
動作制御回路24は、レギュラーメモリコアRCOREを動作するために専用に設けられている。動作制御回路24Pは、パリティメモリコアPCOREを動作するために専用に設けられている。遅延回路DLY2は、読み出しコマンド信号RDおよび書き込みコマンド信号WRをそれぞれ遅延させて、パリティ読み出しコマンド信号PRDおよびパリティ書き込みコマンド信号PWRとして出力する。遅延回路DLY2の遅延時間は、図4の遅延回路DLY1の遅延時間に等しい。
動作制御回路24Pは、動作制御回路24と同じ回路構成である。動作制御回路24Pは、パリティ読み出しコマンド信号PRDおよびパリティ書き込みコマンド信号PWRに応答してパリティメモリコアPCOREに読み出し動作および書き込み動作を実行させるためのパリティワードイネーブル信号PWLE、パリティセンスアンプイネーブル信号PSENE、パリティコラムイネーブル信号PCLE、パリティリードイネーブル信号PRENE、パリティライトイネーブル信号PWENEおよび図示しないパリティプリチャージイネーブル信号を出力する。動作制御回路24Pは、リフレッシュ動作を実行するときに、パリティワードイネーブル信号PWLE、パリティセンスアンプイネーブル信号PSENEおよびパリティプリチャージイネーブル信号のみを出力する。動作制御回路24Pから出力される信号PWLE、PSENE、PCLE、PRENE、PWENEの役割は、動作制御回路24から出力される信号WLE、SENE、CLE、RENE、WENEの役割と同じである。
パリティメモリコアPCOREは、図1の遅延回路DLY1の代わりにパリティコア制御回路PCCNTを配置して構成されている。パリティメモリブロックPBLK、パリティセンスアンプPSA、パリティコラムスイッチPCSW、パリティリードアンプPRAおよびパリティライトアンプPWAは、図1と同じである。
パリティコア制御回路PCCNTは、パリティ読み出しコマンド信号PRDおよびパリティ書き込みコマンド信号PWRに応答して生成されるパリティアクセス制御信号PWLE、SENE、CLEおよび図示しないパリティプリチャージイネーブル信号と、アドレス信号RAD、CADを受け、アドレス信号RAD、CADに応じたパリティワード線信号PWL、パリティセンスアンプ活性化信号PSEN、パリティコラム制御信号PCLおよびパリティプリチャージ制御信号を出力する。また、パリティコア制御回路PCCNTは、パリティ読み出しコマンド信号PRDに応答して生成される制御信号PRENEに応答してパリティリードアンプ活性化信号PRENを出力し、パリティ書き込みコマンド信号PWRに応答して生成される制御信号PWENEに応答してパリティライトアンプ活性化信号PWENを出力する。すなわち、パリティコア制御回路PCCNTは、パリティアクセス制御信号を生成するパリティ信号生成回路として動作する。
図12は、図11のパリティメモリコアPCOREの詳細を示している。パリティコア制御回路PCCNTは、パリティアドレスラッチ回路PALT、パリティロウデコーダPRDEC、パリティコラムデコーダPCDECおよびパリティブロック制御回路PBCNTを有している。パリティアドレスラッチ回路PALTは、ロウアドレス信号RADをラッチし、ラッチロウアドレス信号PLRADとしてロウデコーダRDECに出力する。さらに、パリティアドレスラッチ回路PALTは、コラムアドレス信号CADをラッチし、ラッチコラムアドレス信号PLCADとしてリティコラムデコーダPCDECに出力する。
パリティロウデコーダPRDECは、図2のロウデコーダRDECと同じ回路である。パリティロウデコーダPRDECは、パリティワードイネーブル信号PWLEおよびラッチロウアドレス信号PLRADを受けて動作し、パリティワード線信号PWL0−255およびブロックデコード信号PXBLK(PXBLK0−3)を出力する。パリティコラムデコーダPCDECは、ラッチコラムアドレス信号PLCADをデコードし、コラムデコード信号PYDECとして出力する。
パリティブロック制御回路PBCNTは、図2のブロック制御回路BCNTと同じ回路である。パリティブロック制御回路PBCNTは、パリティセンスアンプイネーブル信号PSENE、パリティコラムイネーブル信号PCLE、パリティリードイネーブル信号PRENE、パリティライトイネーブル信号PWENE、ブロックデコード信号PXBLK(XBLK0−3)およびコラムデコード信号PYDECを受けて動作し、パリティセンスアンプ活性化信号PSEN0−3、/PSEN0−3、パリティコラム制御信号PCL00−03、PCL10−13、PCL20−23、PCL30−33、パリティリードアンプ活性信号PRENおよびパリティライトアンプ活性化信号PWENを出力する。
図13は、図11に示した半導体メモリMEMの書き込み動作の例を示している。図6と同じ動作については、詳細な説明は省略する。クロック信号CKの周期は図6と同じである。図中の太い矢印は、図6と同様にレギュラーメモリコアRCOREまたはパリティメモリコアPCOREの書き込み動作期間を示している。レギュラーメモリコアRCOREまたはパリティメモリコアPCOREの書き込み動作期間の長さは、互いに等しい。パリティメモリコアPCOREの書き込み動作期間は、レギュラーメモリコアRCOREの書き込み動作期間に対して遅れており、かつメモリコアRCORE、PCOREの書き込み動作期間は、互いに重複している。
この実施形態では、レギュラーメモリコアRCOREは、動作制御回路24の制御により動作する。パリティメモリコアPCOREは、動作制御回路24より遅延回路DLY2の遅延時間だけ遅れて動作する動作制御回路24Pの制御により動作する。パリティワードイネーブル信号PWLE、パリティセンスアンプイネーブル信号PSENE、パリティコラムイネーブル信号PCLE、パリティリードイネーブル信号PRENE、パリティライトイネーブル信号PWENEは、ワードイネーブル信号WLE、センスアンプイネーブル信号SENE、コラムイネーブル信号CLE、リードイネーブル信号RENE、ライトイネーブル信号WENEより遅延回路DLY2の遅延時間だけそれぞれ遅れて出力される。
レギュラーメモリコアRCOREおよびパリティメモリコアPCOREの動作タイミングは、図6と同じである。読み出し動作の波形は、パリティライトイネーブル信号PWENEが活性化されず、エラー訂正部ECCUにより生成された訂正読み出しデータ信号CRDTおよび新たなパリティコードPCがメモリコアCOREに書き込まれないことを除き、図13と同じである。読み出しサイクル時間は、書き込みサイクル時間に等しい。以上、第この実施形態においても、上述した実施形態と同様の効果を得ることができる。
図14は、別の実施形態を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。半導体メモリMEMは、例えば、図5に示したように、システムSYSに搭載される。この実施形態の半導体メモリMEMは、図1の半導体メモリMEMからデータマスク端子DMおよびデータマスクバッファ/ラッチ16を削除して構成されている。レギュラーデータバスDB、/DBは、256本の信号線(図1の4倍)で構成され、パリティデータバスPDB、/PDBは、16本の信号線で構成される。すなわち、1回の読み出しコマンドRDに応答する読み出し動作で、128ビットのレギュラーデータがレギュラーメモリコアRCOREから読み出され、8ビットのパリティコードPCがパリティメモリコアPCOREから読み出される。1回の書き込みコマンドWRに応答する書き込み動作で、128ビットのレギュラーデータがレギュラーメモリコアRCOREに書き込まれ、8ビットのパリティコードPCがパリティメモリコアPCOREに書き込まれる。エラー訂正部ECCUに供給されるデータ信号のビット数が図1に比べて増えるため、パリティコードRPCのビット数は相対的に減る。メモリコアRCORE、PCOREおよびエラー訂正部ECCUを除く構成は、上述した実施形態と同じである。
例えば、エラー訂正部ECCU内の相補のデータ信号線LTDC、ERRB、CRDTは、それぞれ256本の信号線で構成される。相補のパリティデータ線RPCは、16本の信号線で構成される。エラー訂正部ECCUの機能は、扱うデータ信号のビット数が異なること、データ選択回路DTSELが異なること、およびデータ出力制御回路DOCNTが異なることを除き、上述した実施形態と同じである。
データ選択回路DTSELは、書き込み制御信号WR1Zの高レベル期間に動作し、コラムアドレス信号CAD0−1に応じて、128ビットの訂正読み出しデータ信号CRDT0−127(256ビットの相補の訂正読み出しデータ信号CRDT)のいずれか32ビット(64ビットの相補の訂正読み出しデータ信号CRDT)を、データ入力バッファ/ラッチ18から供給される32ビットのデータ入力信号IDAT(64ビットの相補のデータ入力信号IDAT)に置き換える。例えば、コラムアドレス信号CAD0−1が”00”を示すときに、訂正読み出しデータ信号CRDT0−31がデータ入力信号IDATに置き換えられ、コラムアドレス信号CAD0−1が”10”を示すときに、訂正読み出しデータ信号CRDT64−95がデータ入力信号IDATに置き換えられる。データ選択回路DTSELは、一部のデータが置き換えられた相補の訂正読み出しデータ信号CRDTをデータバスDB、/DBに出力する。この実施形態では、書き込み動作において、パリティコードPCを生成するためのレギュラーデータのビット数(128ビット)は、書き込みデータのビット数(32ビット)より多い。このため、リード・モディファイ・ライトが必要である。
データ出力制御回路DOCNTは、読み出し制御信号RD1Zの高レベル期間に動作し、コラムアドレス信号CAD0−1に応じて、128ビットの訂正読み出しデータ信号CRDTのうち32ビットを選択し、選択したデータ信号を32ビットのデータ出力信号ODAT(64ビットの相補のデータ出力信号ODAT)として出力する。
図15は、図14のレギュラーメモリコアRCOREの詳細を示している。図2と同じ構成については、詳細な説明を省略する。レギュラーメモリコアRCOREは、図2のレギュラーメモリコアRCOREからコラムアドレス信号CADのアドレスラッチ回路ALTおよびコラムデコーダCDECを削除して構成されている。ブロック制御回路BCNTは、ブロックデコード信号XBLK(XBLK0−3)に応じてコラム制御信号CL(CL0−3)のいずれかを選択し、選択したコラム制御信号CLをコラムイネーブル信号CLEに応答して活性化する。ブロック制御回路BCNTのその他の機能は、図2のブロック制御回路BCNTと同じである。ロウデコーダRDECは、図2のロウデコーダRDECと同じである。
レギュラーメモリブロックMBLK0−3は、256個の相補のコラムスイッチCSWがコラム制御信号CLに応答して同時にオンすることを除き、図2のメモリブロックMBLK0−3と同じである。センスアンプSA0−3およびメモリブロックMBLK0−3は、コラムスイッチCSWを介して128組の相補のデータ線DT、/DTに接続されている。例えば、リードアンプRAは128個あり、ライトアンプWAは128個ある。リードアンプRAは、リードアンプ活性化信号RENに同期して同時に動作する。ライトアンプWAは、ライトアンプ活性化信号WENに同期して同時に動作する。センスアンプSA0−3の構成および動作は、上述した実施形態と同じである。
図16は、図14のパリティメモリコアPCOREの詳細を示している。図4と同じ構成については、詳細な説明を省略する。この実施形態では、コラム制御信号CL0−4の数が図4より少ない、このため、遅延回路DLY1に形成される時定数回路TCおよびバッファ回路BUFの数は、図4に比べて少ない。
パリティメモリブロックPBLK0−3は、1本のパリティワード線WLに8個のパリティメモリセルMC(図示せず)が接続されている。16個の相補のパリティコラムスイッチPCSWが、パリティコラム制御信号PCL(PCL0−3のいずれか)に応答して同時にオンする。パリティセンスアンプPSA0−3およびパリティメモリブロックPBLK0−3は、パリティコラムスイッチPCSWを介して8組の相補のパリティデータ線PDT、/PDTに接続されている。例えば、パリティセンスアンプPSAは、各領域に8個ある。パリティリードアンプRAは8個あり、パリティライトアンプPWAは8個ある。パリティリードアンプRAは、パリティリードアンプ活性化信号PRENに同期して同時に動作する。パリティライトアンプPWAは、パリティライトアンプ活性化信号PWENに同期して同時に動作する。
この実施形態においても、上述した実施形態と同様の効果を得ることができる。特に、この実施形態では、パリティコードPCを生成するためのレギュラーデータのビット数(128ビット)が、データ入力端子Dinを介して供給される書き込みデータのビット数(32ビット)より多い半導体メモリMEMにおいて、アクセスサイクル時間を短縮できる。
図17は、別の実施形態を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。半導体メモリMEMは、例えば、図5に示したように、システムSYSに搭載される。この実施形態の半導体メモリMEMは、図11の半導体メモリMEMからデータマスク端子DMおよびデータマスクバッファ/ラッチ16を削除して構成されている。レギュラーデータバスDB、/DBは、256本の信号線で構成され、パリティデータバスPDB、/PDBは、16本の信号線で構成される。すなわち、1回の読み出しコマンドRDに応答する読み出し動作で、128ビットのレギュラーデータがレギュラーメモリコアRCOREから読み出され、8ビットのパリティコードPCがパリティメモリコアPCOREから読み出される。1回の書き込みコマンドWRに応答する書き込み動作で、128ビットのレギュラーデータがレギュラーメモリコアRCOREに書き込まれ、8ビットのパリティコードPCがパリティメモリコアPCOREに書き込まれる。エラー訂正部ECCUは、図14のエラー訂正部ECCUと同じである。メモリコアRCORE、PCOREおよびエラー訂正部ECCUを除く構成は、上述した実施形態と同じである。
図18は、図17のパリティメモリコアPCOREの詳細を示している。図12と同じ構成については、詳細な説明を省略する。パリティメモリコアPCOREは、図12のパリティメモリコアPCOREからコラムアドレス信号CADのアドレスラッチ回路ALTおよびコラムデコーダCDECを削除して構成されている。パリティブロック制御回路PBCNTは、ブロックデコード信号PXBLKに応じてパリティコラム制御信号PCL(PCL0−3)のいずれかを選択し、選択したパリティコラム制御信号PCLをパリティコラムイネーブル信号PCLEに応答して活性化する。パリティブロック制御回路PBCNTのその他の機能は、図12のパリティブロック制御回路PBCNTと同じである。ロウデコーダPRDECは、図12のロウデコーダRDECと同じである。パリティメモリブロックPBLK0−3は、図16のパリティメモリブロックPBLK0−3と同じである。
この実施形態においても、上述した実施形態と同様の効果を得ることができる。すなわち、この実施形態では、パリティコードPCを生成するためのレギュラーデータのビット数(128ビット)が、データ入力端子Dinを介して供給される書き込みデータのビット数(32ビット)より多い半導体メモリMEMにおいて、アクセスサイクル時間を短縮できる。
なお、上述した実施形態は、擬似SRAMタイプのFCRAMに適用する例を述べた。しかし、例えば、上述した実施形態は、SDRAMタイプのFCRAM、SDRAM、SSRAMまたは強誘電体メモリ等の半導体メモリに適用してもよい。上述した実施形態は、クロック非同期式の半導体メモリに適用してもよい。
上述した実施形態は、時定数回路TCと2つのバッファ回路BUFで遅延回路DLY1を構成する例を述べた。しかし、配線抵抗を利用した遅延素子により遅延回路DLY1を構成してもよい。例えば、遅延素子は、メモリMEMの半導体基板上に形成される拡散層領域を用いた拡散抵抗により構成される。拡散層領域は、トランジスタのソース領域およびドレイン領域を形成する領域である。ソース領域およびドレイン領域とともに拡散抵抗を形成できるため、製造工程を増やす必要はない。
上述した実施形態は、レギュラーメモリコアRCOREおよびパリティメモリコアPCOREの書き込み動作期間の長さを、互いに等しくする例を述べた。しかし、レギュラーメモリコアRCOREおよびパリティメモリコアPCOREの書き込み動作期間の長さを、互いに相違させてもよい。例えば、パリティメモリセルMCの数が少なく、パリティワード線PWLの長さが短いパリティメモリコアPCOREの書き込み動作時間を、レギュラーメモリコアRCOREの書き込み動作時間より短くしてもよい。これにより、リード・モディファイ・ライト期間をさらに短縮でき、半導体メモリMEMのアクセスサイクル時間をさらに短縮できる。
上述した実施形態は、書き込みコマンドWRまたは読み出しコマンドRDが連続して半導体メモリMEMに供給される例を述べた。しかし、書き込みサイクル時間および読み出しサイクル時間は互いに同じため、書き込みコマンドWRおよび読み出しコマンドRDが半導体メモリMEMにランダムに供給されても上述の効果を得ることができる。具体的には、図6および図13において、2番目のクロックサイクルに読み出しコマンドRDが供給されてもよい。図8において、2番目のクロックサイクルに書き込みコマンドWRが供給されてもよい。
図1から図18に述べた実施形態に関して、さらに以下の付記を開示する。
(付記1)
外部から書き込まれるレギュラーデータを保持する複数のレギュラーメモリセルと、
前記レギュラーメモリセルにレギュラーデータを入力または出力するレギュラーデータ制御回路と、
レギュラーデータのパリティデータを保持するパリティメモリセルと、
前記パリティメモリセルにパリティデータを入力または出力するパリティデータ制御回路と、
前記レギュラーデータ制御回路および前記パリティデータ制御回路に接続され、書き込み動作時に、前記レギュラーメモリセルから読み出されるレギュラーデータおよび前記パリティメモリセルから読み出されるパリティデータを用いて前記レギュラーメモリセルから読み出されたレギュラーデータのエラーを検出、訂正し、訂正されたレギュラーデータの一部を外部からの書き込みデータに置き換え、置き換えられたレギュラーデータから前記パリティメモリセルに書き込むためのパリティデータを生成するエラー訂正部と、
書き込みコマンドが連続して供給されるときに、前記レギュラーメモリセルからレギュラーデータを読み出し、かつ前記レギュラーメモリセルにレギュラーデータを書き込むために、前記レギュラーメモリセルおよび前記レギュラーデータ制御回路を制御するレギュラーアクセス制御信号を生成し、前記レギュラーメモリセルからのレギュラーデータの読み出しが開始された後、レギュラーデータの読み出し中に、前記パリティメモリセルからのパリティデータの読み出しを開始するために、前記パリティメモリセルおよび前記パリティデータ制御回路を制御するパリティアクセス制御信号を生成し、前記パリティメモリセルに書き込むパリティデータが前記パリティメモリセルに供給されている間に、次の書き込みコマンドに応答して前記レギュラーメモリセルからレギュラーデータを読み出すために前記レギュラーアクセス制御信号を生成するアクセス制御回路とを備えていることを特徴とする半導体メモリ。
(付記2)
付記1記載の半導体メモリにおいて、
前記アクセス制御回路は、
前記書き込みコマンドに応答して前記レギュラーアクセス制御信号を所定の期間活性化し、前記書き込みコマンドが連続して供給されるときに、前記パリティアクセス制御信号のうち第1パリティアクセス制御信号が活性化されている間に、次の書き込みコマンドに応答して前記レギュラーアクセス制御信号のうち前記第1パリティアクセス制御信号に対応する第1レギュラーアクセス制御信号を活性化するレギュラーアクセス制御回路と、
前記書き込みコマンドに応答して前記パリティアクセス制御信号を所定の期間活性化し、前記第1レギュラーアクセス制御信号が活性化された後、前記第1レギュラーアクセス制御信号の活性化中に、第1パリティアクセス制御信号を活性化するパリティアクセス制御回路とを備えていることを特徴とする半導体メモリ。
(付記3)
付記2記載の半導体メモリにおいて、
前記第1レギュラーアクセス制御信号が活性化されてから前記第1パリティアクセス制御信号が活性化されるまでの期間と前記第1パリティアクセス制御信号の活性化期間との和は、前記書き込みコマンドが連続して供給されるときに連続して活性化される前記第1レギュラーアクセス制御信号の活性化タイミングの間隔より長く設定されていることを特徴とする半導体メモリ。
(付記4)
付記2記載の半導体メモリにおいて、
前記第1レギュラーアクセス制御信号の活性化期間と前記第1パリティアクセス制御信号の活性化期間は、互いに等しく設定され、
前記第1レギュラーアクセス制御信号が活性化されてから前記第1パリティアクセス制御信号が活性化されるまでの期間は、前記書き込みコマンドが連続して供給されるときの前記第1レギュラーアクセス制御信号の非活性化期間より長く設定されていることを特徴とする半導体メモリ。
(付記5)
付記2ないし付記4のいずれか1項記載の半導体メモリにおいて、
前記レギュラーメモリセルに接続されたレギュラーワード線と、
前記パリティメモリセルに接続されたパリティワード線とを備え、
前記第1レギュラーアクセス制御信号は、前記レギュラーワード線を活性化するレギュラーワード線信号であり、
前記第1パリティアクセス制御信号は、前記パリティワード線を活性化するパリティワード線信号であることを特徴とする半導体メモリ。
(付記6)
付記2ないし付記4のいずれか1項記載の半導体メモリにおいて、
前記レギュラーアクセス制御回路は、前記書き込みコマンドに応答して前記レギュラーアクセス制御信号を生成するレギュラー信号生成回路を備え、
前記パリティアクセス制御回路は、前記レギュラーアクセス制御信号を受け、受けたレギュラーアクセス制御信号を遅延させて前記パリティアクセス制御信号を生成する遅延素子を備えていることを特徴とする半導体メモリ。
(付記7)
付記2ないし付記4のいずれか1項記載の半導体メモリにおいて、
前記レギュラーアクセス制御回路は、前記書き込みコマンドに応答して前記レギュラーアクセス制御信号を生成するレギュラー信号生成回路を備え、
前記パリティアクセス制御回路は、前記書き込みコマンドを受け、受けた書き込みコマンドを遅延させてパリティ書き込みコマンドを生成する遅延素子と、前記パリティ書き込みコマンドに応答して前記パリティアクセス制御信号を生成するパリティ信号生成回路とを備えていることを特徴とする半導体メモリ。
(付記8)
付記1記載の半導体メモリにおいて、
複数のデータグループを前記書き込みデータとして受けるデータ入力バッファと、
前記レギュラーメモリセルへの書き込みを禁止する前記データグループを示すマスク信号を受けるデータマスクバッファとを備え、
前記エラー訂正部は、前記訂正されたレギュラーデータの少なくとも一部を、前記マスク信号により書き込みが禁止されるデータグループを除くデータグループの書き込みデータに置き換えるデータ選択回路を備えていることを特徴とする半導体メモリ。
(付記9)
付記1記載の半導体メモリにおいて、
前記レギュラーデータ制御回路および前記エラー訂正部の間でレギュラーデータを伝達する相補のレギュラーデータバスと、
前記パリティデータ制御回路および前記エラー訂正部の間でパリティデータを伝達する相補のパリティデータバスとを備え、
前記エラー訂正部は、
前記レギュラーデータバス上のレギュラーデータのいずれかのビットが無効レベルから有効レベルに変化したときに、この変化に同期してレギュラーデータから相補のリードパリティデータを生成するリードパリティ生成回路と、
リードパリティデータおよび前記パリティデータバス上のパリティデータのいずれかのビットが無効レベルから有効レベルに変化したときに、この変化に同期してリードパリティデータおよびパリティデータからレギュラーデータのエラーを検出する比較回路と、
前記比較回路によるエラーの検出結果に基づいて前記レギュラーデータのエラーを訂正するエラー訂正回路と、
訂正されたレギュラーデータの一部を外部からの書き込みデータに書き換えるデータ選択回路と、
前記データ選択回路により選択されたレギュラーデータからパリティデータを生成するライトパリティ生成回路とを備えていることを特徴とする半導体メモリ。
(付記10)
外部から書き込まれるレギュラーデータを保持する複数のレギュラーメモリセルと、前記レギュラーメモリセルにレギュラーデータを入力または出力するレギュラーデータ制御回路と、レギュラーデータのパリティデータを保持するパリティメモリセルと、前記パリティメモリセルにパリティデータを入力または出力するパリティデータ制御回路と、レギュラーデータのエラーを訂正するエラー訂正部とを備えた半導体メモリの動作方法であって、
書き込み動作時に、前記レギュラーメモリセルから読み出されるレギュラーデータおよび前記パリティメモリセルから読み出されるパリティデータを用いて前記レギュラーメモリセルから読み出されたレギュラーデータのエラーを検出、訂正し、
訂正されたレギュラーデータの一部を外部からの書き込みデータに置き換え、置き換えられたレギュラーデータから前記パリティメモリセルに書き込むためのパリティデータを生成し、
書き込みコマンドが連続して供給されるときに、前記レギュラーメモリセルからレギュラーデータを読み出し、かつ前記レギュラーメモリセルにレギュラーデータを書き込むために、前記レギュラーメモリセルおよび前記レギュラーデータ制御回路を制御するレギュラーアクセス制御信号を生成し、
前記レギュラーメモリセルからのレギュラーデータの読み出しが開始された後、レギュラーデータの読み出し中に、前記パリティメモリセルからのパリティデータの読み出しを開始するために、前記パリティメモリセルおよび前記パリティデータ制御回路を制御するパリティアクセス制御信号を生成し、
前記パリティメモリセルに書き込むパリティデータが前記パリティメモリセルに供給されている間に、次の書き込みコマンドに応答して前記レギュラーメモリセルからレギュラーデータを読み出すために前記レギュラーアクセス制御信号を生成することを特徴とする半導体メモリの動作方法。
(付記11)
付記10記載の半導体メモリの動作方法において、
前記書き込みコマンドに応答して前記レギュラーアクセス制御信号および前記パリティアクセス制御信号をそれぞれ所定の期間活性化し、
前記レギュラーアクセス制御信号のうち前記第1パリティアクセス制御信号が活性化された後、前記第1レギュラーアクセス制御信号の活性化中に、前記パリティアクセス制御信号のうち第1パリティアクセス制御信号を活性化し、
前記書き込みコマンドが連続して供給されるときに、前記第1パリティアクセス制御信号が活性化されている間に、次の書き込みコマンドに応答して前記第1パリティアクセス制御信号に対応する第1レギュラーアクセス制御信号を活性化することを特徴とする半導体メモリの動作方法。
(付記12)
付記11記載の半導体メモリの動作方法において、
前記第1レギュラーアクセス制御信号が活性化されてから前記第1パリティアクセス制御信号が活性化されるまでの期間と前記第1パリティアクセス制御信号の活性化期間との和を、前記書き込みコマンドが連続して供給されるときに連続して活性化される前記第1レギュラーアクセス制御信号の活性化タイミングの間隔より長く設定することを特徴とする半導体メモリの動作方法。
(付記13)
付記11記載の半導体メモリの動作方法において、
前記第1レギュラーアクセス制御信号の活性化期間と前記第1パリティアクセス制御信号の活性化期間を、互いに等しく設定し、
前記第1レギュラーアクセス制御信号が活性化されてから前記第1パリティアクセス制御信号が活性化されるまでの期間を、前記書き込みコマンドが連続して供給されるときの前記第1レギュラーアクセス制御信号の非活性化期間より長く設定することを特徴とする半導体メモリの動作方法。
(付記14)
付記11ないし付記13のいずれか1項記載の半導体メモリの動作方法において、
前記書き込みコマンドに応答して前記レギュラーアクセス制御信号を生成し、
前記レギュラーアクセス制御信号を受け、受けたレギュラーアクセス制御信号を遅延させて前記パリティアクセス制御信号を生成することを特徴とする半導体メモリの動作方法。
(付記15)
付記11ないし付記13のいずれか1項記載の半導体メモリの動作方法において、
前記書き込みコマンドに応答して前記レギュラーアクセス制御信号を生成し、
前記書き込みコマンドを受け、受けた書き込みコマンドを遅延させてパリティ書き込みコマンドを生成し、
前記パリティ書き込みコマンドに応答して前記パリティアクセス制御信号を生成することを特徴とする半導体メモリの動作方法。
(付記16)
半導体メモリと、前記半導体メモリのアクセスを制御するコントローラとを備えたシステムであって、
前記半導体メモリは、
外部から書き込まれるレギュラーデータを保持する複数のレギュラーメモリセルと、
前記レギュラーメモリセルにレギュラーデータを入力または出力するレギュラーデータ制御回路と、
レギュラーデータのパリティデータを保持するパリティメモリセルと、
前記パリティメモリセルにパリティデータを入力または出力するパリティデータ制御回路と、
前記レギュラーデータ制御回路および前記パリティデータ制御回路に接続され、書き込み動作時に、前記レギュラーメモリセルから読み出されるレギュラーデータおよび前記パリティメモリセルから読み出されるパリティデータを用いて前記レギュラーメモリセルから読み出されたレギュラーデータのエラーを検出、訂正し、訂正されたレギュラーデータの一部を外部からの書き込みデータに置き換え、置き換えられたレギュラーデータから前記パリティメモリセルに書き込むためのパリティデータを生成するエラー訂正部と、
書き込みコマンドが連続して供給されるときに、前記レギュラーメモリセルからレギュラーデータを読み出し、かつ前記レギュラーメモリセルにレギュラーデータを書き込むために、前記レギュラーメモリセルおよび前記レギュラーデータ制御回路を制御するレギュラーアクセス制御信号を生成し、前記レギュラーメモリセルからのレギュラーデータの読み出しが開始された後、レギュラーデータの読み出し中に、前記パリティメモリセルからのパリティデータの読み出しを開始するために、前記パリティメモリセルおよび前記パリティデータ制御回路を制御するパリティアクセス制御信号を生成し、前記パリティメモリセルに書き込むパリティデータが前記パリティメモリセルに供給されている間に、次の書き込みコマンドに応答して前記レギュラーメモリセルからレギュラーデータを読み出すために前記レギュラーアクセス制御信号を生成するアクセス制御回路とを備えていることを特徴とするシステム。
(付記17)
付記16記載のシステムにおいて、
前記アクセス制御回路は、
前記書き込みコマンドに応答して前記レギュラーアクセス制御信号を所定の期間活性化し、前記書き込みコマンドが連続して供給されるときに、前記パリティアクセス制御信号のうち第1パリティアクセス制御信号が活性化されている間に、次の書き込みコマンドに応答して前記レギュラーアクセス制御信号のうち前記第1パリティアクセス制御信号に対応する第1レギュラーアクセス制御信号を活性化するレギュラーアクセス制御回路と、
前記書き込みコマンドに応答して前記パリティアクセス制御信号を所定の期間活性化し、前記第1レギュラーアクセス制御信号が活性化された後、前記第1レギュラーアクセス制御信号の活性化中に、第1パリティアクセス制御信号を活性化するパリティアクセス制御回路とを備えていることを特徴とするシステム。
(付記18)
付記17記載のシステムにおいて、
前記第1レギュラーアクセス制御信号が活性化されてから前記第1パリティアクセス制御信号が活性化されるまでの期間と前記第1パリティアクセス制御信号の活性化期間との和は、前記書き込みコマンドが連続して供給されるときに連続して活性化される前記第1レギュラーアクセス制御信号の活性化タイミングの間隔より長く設定されていることを特徴とするシステム。
(付記19)
付記17記載のシステムにおいて、
前記第1レギュラーアクセス制御信号の活性化期間と前記第1パリティアクセス制御信号の活性化期間は、互いに等しく設定され、
前記第1レギュラーアクセス制御信号が活性化されてから前記第1パリティアクセス制御信号が活性化されるまでの期間は、前記書き込みコマンドが連続して供給されるときの前記第1レギュラーアクセス制御信号の非活性化期間より長く設定されていることを特徴とするシステム。
(付記20)
付記17ないし付記19のいずれか1項記載のシステムにおいて、
前記半導体メモリは、
前記レギュラーメモリセルに接続されたレギュラーワード線と、
前記パリティメモリセルに接続されたパリティワード線とを備え、
前記第1レギュラーアクセス制御信号は、前記レギュラーワード線を活性化するレギュラーワード線信号であり、
前記第1パリティアクセス制御信号は、前記パリティワード線を活性化するパリティワード線信号であることを特徴とするシステム。
以上、本発明について詳細に説明してきたが、上記の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
10‥クロックバッファ;12‥コマンドバッファ/ラッチ;14‥アドレスバッファ/ラッチ;16‥データマスクバッファ/ラッチ;18‥データ入力バッファ/ラッチ;20‥データ出力バッファ;22‥コマンドデコーダ;24、24P‥動作制御回路;CCNT‥コア制御回路;CORE‥メモリコア;CSW‥レギュラーコラムスイッチ;DLY1、DLY2‥遅延回路;ECCU‥エラー訂正部;MBLK‥レギュラーメモリブロック;MC‥レギュラーメモリセル、パリティメモリセル;MEM‥半導体メモリ;PBLK‥パリティメモリブロック;PCORE‥パリティメモリコア;PCSW‥パリティコラムスイッチ;PRA‥パリティリードアンプ;PSA‥パリティセンスアンプ;PWA‥パリティライトアンプ;RA‥レギュラーリードアンプ;RCORE‥レギュラーメモリコア;SA‥レギュラーセンスアンプ;WA‥レギュラーライトアンプ