(57)【要約】【課題】外部から入力されたライトデータの長さが内部バス幅より狭くても高速なデータ転送が行える半導体記憶装置を提供する。【解決手段】パイプライン動作を行う同期型の半導体記憶装置は、誤り訂正回路１４，１５、出力回路及び第１，第２の書き込み回路１８−１〜１８−５，１９，１３，１６を備える。第１の書き込み回路は、メモリセルから読み出され、誤り訂正回路で訂正されたデータに、第１のライトコマンドに対応して外部から入力された第１のライトデータの少なくとも一部を上書きしてメモリセルに書き込む。第２の書き込み回路は、第１のライトコマンドが入力されたサイクルと上書きされたデータがメモリセルに書き込まれるサイクルの間に、外部から入力された第２のライトデータの少なくとも一部を上書きされたデータに再上書きし、再上書きされた上書きデータを符合化してメモリセルに書き込む。【選択図】      図１
2007242162.tif 000002
【特許請求の範囲】
【請求項１】
パイプライン動作を行う同期型の半導体記憶装置であって、
メモリセルから読み出されたデータの誤りを訂正するように構成された誤り訂正回路と、
前記メモリセルから読み出され、前記誤り訂正回路で訂正されたデータに、第１のライトコマンドに対応して外部から入力された第１のライトデータの少なくとも一部を上書きしてメモリセルに書き込むように構成された第１の書き込み回路と、
前記上書きされたデータをチップの外部へ出力するように構成された出力回路と、
前記第１のライトコマンドが入力されたサイクルと前記上書きされたデータが前記メモリセルに書き込まれるサイクルの間に、外部から入力された第２のライトデータの少なくとも一部を前記上書きされたデータに再上書きし、再上書きされた前記上書きデータを符合化してメモリセルに書き込むように構成された第２の書き込み回路と
を具備することを特徴とする半導体記憶装置。
【請求項２】
入力されたコマンドとカラムアドレスが以前の複数サイクルの内に入力されたコマンドとカラムアドレスと一致したか否かを検出するように構成された検出回路と、前記検出回路の制御信号を発生するように構成された制御信号生成回路を更に具備することを特徴とする請求項１に記載の半導体記憶装置。
【請求項３】
パイプライン動作を行う同期型の半導体記憶装置であって、
メモリセルアレイと、
前記メモリセルアレイ中の選択されたメモリセルに対するデータの書き込み及び読み出しのための増幅動作を行う第１のセンスアンプと、
データが入力されるデータ入力バッファと、
データ書き込み時にＥＣＣ機能を実現するための符号を生成するコードジェネレータと、
前記コードジェネレータで符号化されたライトデータが入力され、前記第１のセンスアンプにライトデータを供給し、且つ前記第１のセンスアンプから読み出されたリードデータが供給されるＤＱバッファと、
前記メモリセルアレイから読み出された情報ビットと符号ビットが入力され、シンドロームを発生するシンドロームジェネレータと、
シンドロームジェネレータから出力されるシンドロームのデコードと誤り訂正を行う誤り訂正回路と、
前記誤り訂正回路の出力信号を出力するデータ出力バッファとを具備し、
前記メモリセルから読み出され、前記誤り訂正回路で誤り訂正されたリードデータに、外部から入力されたライトデータの少なくとも一部を上書きしてメモリセルに書き込み、前記上書きされたデータを前記データ出力バッファから外部へ出力し、
前記上書きされたデータに、外部から異なる時刻に入力されたライトデータの少なくとも一部を上書きし、再上書きされた前記上書きデータを符合化して前記メモリセルに書き込む
ことを特徴とする半導体記憶装置。
【請求項４】
パイプライン動作を行う同期型の半導体記憶装置であって、
メモリセルから読み出されたデータの誤りを訂正するように構成された誤り訂正回路と、
前記メモリセルから読み出され、前記誤り訂正回路で訂正されたデータに、外部から入力された第１のライトデータの少なくとも一部を上書きしてメモリセルに書き込むように構成された第１の書き込み回路と、
外部から入力された第２のライトデータの少なくとも一部を前記上書きされたデータに再上書きし、再上書きされた前記上書きデータを符合化してメモリセルに書き込むように構成された第２の書き込み回路と、
前記クロック信号に同期した第１のタイミングで前記第１の書き込み回路に第１のライトコマンドを出力し、前記第１のタイミングの後の第２のタイミングに、前記第１のライトコマンドによる制御対象となるカラムアドレスに対して再び第２のライトコマンドもしくはリードコマンドを出力するように構成されたコマンドコントローラとを具備し、
前記第１のライトコマンドによる前記メモリセルへの書き込みが終了する前に、前記第２のコマンドにおける読み出し動作が必要になる場合に、第１のライトコマンドにおける符号生成の入力となる上書きデータを第２のコマンドの読み出し訂正データと見なす
ことを特徴とする半導体記憶装置。
【請求項５】
前記第１のライトコマンドの上書きデータを第２のライトコマンドの読み出し訂正データと見なして符合化とメモリセルへの書き込みを行う場合に、第１のライトコマンドに対する符合化並びにメモリセルへの書き込み動作を行わず、
且つ前記第１のライトコマンドの上書きデータを第２のライトコマンドの読み出し訂正データと見なして第２のコマンドに対する符合化とメモリセルへの書き込み、もしくは第２のコマンドに対する誤り訂正データの出力を行う場合に、第２のコマンドに対するメモリセルからの読み出し動作を行わないことを特徴とする請求項４に記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パイプライン動作を行う同期型の半導体記憶装置に係り、更に詳しくは、オンチップ誤り訂正回路により誤り訂正が行われる半導体記憶装置に関する。
【背景技術】
【０００２】
高速なデータ転送を行うために、外部から入力されるクロック信号に同期して動作させる同期型の半導体記憶装置が知られている。また、信頼性を高めるために、誤り訂正回路を内蔵したオンチップ誤り訂正技術が採用される（例えば非特許文献１参照）。このような同期型で且つ誤り訂正機能を有する半導体記憶装置は、次のようにしてデータの書き込みと読み出しを行っている。
【０００３】
メモリセルへの書き込み動作では、組織符号、すなわち符号語の中に情報ビットと同じものが含まれているものを考えると、入力された例えば１２８ビットの情報ビットをそのままメモリセルに書き込む。また、この１２８ビットの情報ビットから８ビットのパリティ（チェックビット、コードビット等と呼ばれる場合もある）を発生させ、これをパリティビット（parity bit）用のメモリセルに書き込む。
【０００４】
一方、読み出し動作時には、メモリセルから上記１２８ビットの情報ビットと上記８ビットのパリティビットを読み出し、シンドローム（syndrome）を生成する。この生成したシンドロームをデコードすることにより、情報ビットの誤りが１ビットならば訂正することが可能である。
【０００５】
ところで、例えば内部バス幅が１２８ビットであるのに対して、ライトマスク機能によりライトデータが１２８ビット未満の場合に書き込み動作を行いたいことがある。しかし、ライトデータが１２８ビット未満であるので、これだけでは正しい符号を生成することができない。このため、書き込むべきアドレスのメモリセルから一旦データを読み出して来なければならない。よって、メモリセルからの読み出し、エラー訂正、ライトデータの上書き、符号生成、メモリセルへの書き込みという、いわゆる“リードモディファイライト”動作が必要になる。
【０００６】
従って、外部から入力されたライトデータの長さが内部バス幅よりも狭いとデータ転送速度が低下する。このような動作は、ライトマスク機能だけではなく、外部バス幅が内部バス幅よりも狭い場合にも起こり得る。
【非特許文献１】IEEE SPECTRUM APRIL 2000 "Adding error-correcting circuitry to ASIC memory" Gray, K.; Spectrum, IEEE Volume 37, Issue 4, April 2000 Page(s):55-60 Digital Object Identifier 10.1109/6.833029
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は上記のような事情に鑑みてなされたもので、その目的とするところは、外部から入力されたライトデータの長さが内部バス幅より狭くても高速なデータ転送が行える半導体記憶装置を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の一態様によると、パイプライン動作を行う同期型の半導体記憶装置であって、メモリセルから読み出されたデータの誤りを訂正するように構成された誤り訂正回路と、前記メモリセルから読み出され、前記誤り訂正回路で訂正されたデータに、第１のライトコマンドに対応して外部から入力された第１のライトデータの少なくとも一部を上書きしてメモリセルに書き込むように構成された第１の書き込み回路と、前記上書きされたデータをチップの外部へ出力するように構成された出力回路と、前記第１のライトコマンドが入力されたサイクルと前記上書きされたデータが前記メモリセルに書き込まれるサイクルの間に、外部から入力された第２のライトデータの少なくとも一部を前記上書きされたデータに再上書きし、再上書きされた前記上書きデータを符合化してメモリセルに書き込むように構成された第２の書き込み回路とを具備する半導体記憶装置が提供される。
【０００９】
また、本発明の一態様によると、パイプライン動作を行う同期型の半導体記憶装置であって、メモリセルアレイと、前記メモリセルアレイ中の選択されたメモリセルに対するデータの書き込み及び読み出しのための増幅動作を行う第１のセンスアンプと、データが入力されるデータ入力バッファと、データ書き込み時にＥＣＣ機能を実現するための符号を生成するコードジェネレータと、前記コードジェネレータで符号化されたライトデータが入力され、前記第１のセンスアンプにライトデータを供給し、且つ前記第１のセンスアンプから読み出されたリードデータが供給されるＤＱバッファと、前記メモリセルアレイから読み出された情報ビットと符号ビットが入力され、シンドロームを発生するシンドロームジェネレータと、シンドロームジェネレータから出力されるシンドロームのデコードと誤り訂正を行う誤り訂正回路と、前記誤り訂正回路の出力信号を出力するデータ出力バッファとを具備し、前記メモリセルから読み出され、前記誤り訂正回路で誤り訂正されたリードデータに、外部から入力されたライトデータの少なくとも一部を上書きしてメモリセルに書き込み、前記上書きされたデータを前記データ出力バッファから外部へ出力し、前記上書きされたデータに、外部から異なる時刻に入力されたライトデータの少なくとも一部を上書きし、再上書きされた前記上書きデータを符合化して前記メモリセルに書き込む半導体記憶装置が提供される。
【００１０】
更に、本発明の一態様によると、パイプライン動作を行う同期型の半導体記憶装置であって、メモリセルから読み出されたデータの誤りを訂正するように構成された誤り訂正回路と、前記メモリセルから読み出され、前記誤り訂正回路で訂正されたデータに、外部から入力された第１のライトデータの少なくとも一部を上書きしてメモリセルに書き込むように構成された第１の書き込み回路と、外部から入力された第２のライトデータの少なくとも一部を前記上書きされたデータに再上書きし、再上書きされた前記上書きデータを符合化してメモリセルに書き込むように構成された第２の書き込み回路と、前記クロック信号に同期した第１のタイミングで前記第１の書き込み回路に第１のライトコマンドを出力し、前記第１のタイミングの後の第２のタイミングに、前記第１のライトコマンドによる制御対象となるカラムアドレスに対して再び第２のライトコマンドもしくはリードコマンドを出力するように構成されたコマンドコントローラとを具備し、前記第１のライトコマンドによる前記メモリセルへの書き込みが終了する前に、前記第２のコマンドにおける読み出し動作が必要になる場合に、第１のライトコマンドにおける符号生成の入力となる上書きデータを第２のコマンドの読み出し訂正データと見なす半導体記憶装置が提供される。
【発明の効果】
【００１１】
本発明によれば、外部から入力されたライトデータの長さが内部バス幅より狭くても高速なデータ転送が行える半導体記憶装置が得られる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態について図面を参照して説明する。  
図１は、本発明の第１の実施形態に係る半導体記憶装置について説明するためのもので、クロック同期型の混載ＤＲＡＭマクロの全体配置図を概略的に示している。
【００１３】
この例では、３２ＭビットのＤＲＡＭマクロ１１，１２と、これらＤＲＡＭマクロ１１，１２間に配置されたデコード部１３を抽出して示している。上記ＤＲＡＭマクロ１１，１２はそれぞれ４つのサブマクロ１１−１〜１１−４，１２−１〜１２−４を含み、これらサブマクロ１１−１〜１１−４と１２−１〜１２−４間にそれぞれデコーダブロック（ＤＥＣＢＬＫ）１３−１〜１３−４が配置されている。上記サブマクロ１１−４，１２−４に隣接してＥＣＣ入出力ブロック（ＥＣＣＩＯＢＬＫ）１４，１５が配置される。上記ＥＣＣ入出力ブロック１４，１５間にはコントロールブロック（ＣＴＲＬＢＬＫ）１６が配置されている。
【００１４】
各サブマクロ１１−１〜１１−４，１２−１〜１２−４はそれぞれバンクを構成している。各々のバンクは、４個の１Ｍビットのメモリセルアレイ（1Mb array）１７−１〜１７−４、センスアンプ部１８−１〜１８−５、及びＤＱバッファブロック（ＤＱＢＵＦＢＬＫ）１９を備えている。
【００１５】
上記各メモリセルアレイ１７−１〜１７−４は、５１２本のワード線、２０４８個のビット線対、数個のスペアビット線対、及び上記ワード線と上記ビット線対との各交差位置に配置されるメモリセル等から構成される。上記センスアンプ部１８−１〜１８−５は、上記メモリセルからビット線対に読み出された信号を感知して増幅するもので、上記各メモリセルアレイ１７−１〜１７−４の両側に、これらメモリセルアレイ１７−１〜１７−４をそれぞれ挟むように配置されている。
【００１６】
上記ＤＱバッファブロック１９は、ＥＣＣ入出力ブロック１４，１５から伝達されるライトデータ（１２８＋８ ＷＤ）をメモリセルに書き込む制御をするため、及びメモリセルから読み出されたリードデータ（１２８＋８ ＲＤ）をＥＣＣ入出力ブロック１４，１５に伝達するための制御回路として働くものである。これらＥＣＣ入出力ブロック１４，１５は、誤り訂正動作の制御とデータの入出力を行うためのもので、外部から入力されたデータＤＩＮを符号化してＤＱバッファブロック１９に伝達する。また、ＤＱバッファブロック１９から伝達されたリードデータに誤りがあればそれを訂正し、出力データＤＯＵＴとしてチップの外部に出力する。
【００１７】
図２は、上記図１に示したＤＲＡＭマクロにおけるデータパスを概略的に示すブロック図であり、ＤＲＡＭマクロ１２、デコーダブロック１３、ＥＣＣ入出力ブロック１５及びコントロールブロック１６を抽出して示している。図２に示すように、上記デコーダブロック１３には、ロウデコーダ（row dec.）１３Ａ、カラムデコーダ（column dec.）１３Ｂ、リード／ライト制御回路（R/W CTRL）１３Ｃ及びセンスアンプ制御回路（図示せず）等が含まれている。このデコーダブロック１３によりメモリセルアレイ１７−４中のメモリセルの選択動作とセンスアンプ部１８−５による感知及び増幅動作、及びＤＱバッファブロック１９の動作等が制御される。
【００１８】
上記コントロールブロック１６は種々の制御信号を生成する制御信号生成回路として働き、アドレスコントローラとコマンドコントローラ（addr/cmd controller）が含まれている。このコントロールブロック１６には、クロック信号、アドレス信号及びコマンド等が入力され、上記ロウデコーダ１３Ａとカラムデコーダ１３Ｂにそれぞれアドレス信号（row/col addr）を出力し、リード／ライト制御回路１３Ｃにリード／ライトコマンド（r/w cmd）を出力し、ＥＣＣ入出力ブロック１５に制御信号ＣＳを出力する。そして、アドレス入力バッファへのアドレスの取り込みの制御、上記デコーダブロック１３とＥＣＣ入出力ブロック１５のタイミングの制御等を行う。
【００１９】
上記センスアンプ部（Ｓ／Ａ）１８−５にはセンスアンプ（sense amp.）とカラムセレクト（column select）トランジスタが含まれている。上記ＤＱバッファブロック１９には、ＤＱバッファ２１−１〜２１−１３６が設けられている。各ＤＱバッファ２１−１〜２１−１３６には、書き込みデータ線ＷＤを介して入力データＤＩＮが供給され、ＤＱ線、カラム選択トランジスタ及びセンスアンプを介してメモリセルに書き込まれる。メモリセルから読み出されたデータは、センスアンプ、カラム選択トランジスタ、及びＤＱ線を介して入出力バッファに供給され、リードデータ線ＲＤを介して出力データＤＯＵＴとして読み出される。上記ＥＣＣ入出力ブロック１５は、ＥＣＣ回路とＩ／Ｏ回路を備えており、上記コマンドコントローラ１６により制御される。
【００２０】
図３は、上記図１に示したＤＲＡＭマクロにおけるメモリセルアレイ１７−４、センスアンプ１８−５、ＤＱバッファブロック１９及びＥＣＣ入出力ブロック１５を抽出して詳細なデータパスを示している。
【００２１】
メモリセルアレイ１７−４には、ワード線ＷＬとビット線対ＢＬｔ，ＢＬｃとの各交差位置にそれぞれメモリセルが配置されている。ワード線ＷＬとビット線ＢＬｃに接続されたメモリセルＭＣで代表的に示すように、各メモリセルＭＣはダイナミック型であり、セルキャパシタＣＣと選択トランジスタＳＴとで構成されている。上記選択トランジスタＳＴの電流通路の一端はビット線ＢＬｃに接続され、ゲートはワード線ＷＬに接続される。上記セルキャパシタＣＣの一方の電極は上記選択トランジスタＳＴの電流通路の他端に接続され、他方の電極は接地点Ｖｓｓに接続されている。
【００２２】
上記ビット線対ＢＬｔ，ＢＬｃには、センスアンプ（ＳＡＤＰ）１８−５が接続されている。このセンスアンプ１８−５は、デュアルポート（dual-port）センスアンプである。上記センスアンプ１８−５に接続されるデータバスには、ＲＤＱ線対用（ＲＤＱｔ，ＲＤＱｃ）とＷＤＱ線対用（ＷＤＱｔ，ＷＤＱｃ）の２系統がある。また、カラム選択線ＣＳＬもＲＣＳＬ用とＷＣＳＬ用の２系統がある。これにより、同一サイクルにおいて異なるアドレスに対する読み出し動作と書き込み動作を同時に並列に行うことができる。
【００２３】
後述するように、上記メモリセルアレイ１７−４には、センスアンプ１８−４も接続されている。このセンスアンプ１８−４もデュアルポートセンスアンプである。例えばセンスアンプ１８−４は上記メモリセルアレイ１７−４中の奇数番目のビット線対に接続され、センスアンプ１８−５は上記メモリセルアレイ１７−４中の偶数番目のビット線対に接続され、メモリセルアレイ１７−４の両側に配置されたセンスアンプ１８−４，１８−５でビット線対が選択される。
【００２４】
制御回路として働くＤＱバッファブロック１９は、ＤＱバッファ（ＤＱＢＵＦ）２１とＲＤ線ドライバ（ＲＤＤＲＶ）２２で構成されている。上記ＤＱバッファ２１は、ＤＱ線リードバッファとＤＱ線ライトバッファを備え、上記センスアンプ１８−５のＲＤＱ線対（ＲＤＱｔ，ＲＤＱｃ）とＷＤＱ線対（ＷＤＱｔ，ＷＤＱｃ）にそれぞれ接続される。このＤＱバッファ２１は、選択するＤＱ線対をシフトしてリダンダンシ制御を行う。上記ＲＤ線ドライバ２２はＲＤ線の途中に設けられ、このＲＤ線を駆動するようになっている。
【００２５】
上記ＥＣＣ入出力ブロック１５は、データ入力バッファ（ＤＩＮＢＵＦ）２３、コードジェネレータ（ＣＯＤＥＧＥＮ）２４、書き込みデータ線（ＷＤ線）ドライバ（ＷＤＤＲＶ）２５、シンドロームジェネレータ（ＳＹＮＤＧＥＮ）２６、誤り訂正回路（ＥＣ）２７、レジスタ（ＲＥＧ）２８及びデータ出力バッファ（ＤＯＵＴＢＵＦ）２９等を含んで構成されている。
【００２６】
上記データ入力バッファ２３には、入力データＤＩＮが入力される。上記コードジェネレータ２４は、データ書き込み時にＥＣＣ機能を実現するための符号を生成する。上記ＷＤ線ドライバ２５はＷＤ線を駆動する。上記シンドロームジェネレータ２６は、データリード時にシンドロームを発生する。上記誤り訂正回路２７は、シンドロームのデコードと誤り訂正を行う。上記レジスタ２８は、誤り訂正回路２７の出力をラッチする。そして、上記データ出力バッファ２９から出力データＤＯＵＴを出力するようになっている。
【００２７】
上記のような構成において、書き込み動作時のデータの流れは次のようになる。外部データバス幅を１２８ビットとすると、入力データＤＩＮは入力バッファ２３を介して１２８ビットのライトデータＷＤｘとしてコードジェネレータ２４に供給される。コードジェネレータ２４は、この１２８ビットのライトデータＷＤｘを情報ビットとして符号(コード)を発生する。ここでは、符合を１誤り訂正２誤り検出可能な組織化ハミングコードを使用しているものとする。このとき、検査符号長は８ビットで十分なので、情報ビットとしての１２８ビットとパリティビットとしての８ビットを合わせた１３６ビットが符号長となる。
【００２８】
符号化された１３６ビットのライトデータＷＤｙは、ＷＤ線ドライバ２５に供給される。このＷＤ線ドライバ２５でＷＤ線が駆動されてＤＱバッファ２１に伝えられる。そして、ライト用のＤＱ線対ＷＤＱｔ，ＷＤＱｃとセンスアンプ１８−５（または１８−４）を介してメモリセルアレイ１７−４中の選択されたメモリセルＭＣに書き込まれる。ここで、上記ライト用のＷＤＱ線対は、１３６ビットの相補信号線対ＷＤＱｔ，ＷＤＱｃであり、カラムリダンダンシ用に４ビットのＤＱ線対分を含んでいる。
【００２９】
一方、読み出し動作時のデータの流れは次のようになる。カラムリダンダンシ及びＥＣＣ用のパリティビットを含むデータが、メモリセルアレイ１７−４中のメモリセルからセンスアンプ１８−５（または１８−４）を介して読み出され、１４０（１３６＋４）ビットのリード用ＤＱ線対ＲＤＱｔ，ＲＤＱｃを介してＤＱバッファ２１に入力される。ＤＱバッファ２１に入力されたデータはリダンダンシ制御された後、１３６ビットのＲＤ線に伝達される。このＲＤ線に読み出されたデータはＲＤ線ドライバ２２で増幅され、リードデータＲＤｙとしてＥＣＣ入出力ブロック１４内のシンドロームジェネレータ２６と誤り訂正回路２７に供給される。
【００３０】
ＲＤ線上の１３６ビットのリードデータＲＤｙのうち、パリティビットＲＤｙ（parity）としての８ビットと、情報ビットＲＤｙ（data）としての１２８ビットがシンドロームジェネレータ２６に入力される。シンドロームジェネレータ２６は、これらパリティビットと情報ビットとに基づいて８ビットのシンドローム(syndrome)を生成する。生成されたシンドロームは、誤り訂正回路２７内に供給されてデコードされる。誤り訂正回路２７は、１２８ビットの情報ビットＲＤｙ（data）のデータに誤りが存在するとき、その誤りを訂正可能であれば訂正してレジスタ２８に供給する。そして、この訂正された情報ビットＲＤｘ（１２８ビット）がデータ出力バッファ２９を介して出力データＤＯＵＴとして外部に出力される。
【００３１】
図４は、上記図３に示したデュアルポートセンスアンプ（ＳＡＤＰ）１８−５の構成例を示している。この図４では簡単化のためにメモリセルアレイ（ＭＣＡ）１７−４の片側のみを詳細に示す。メモリセルアレイ１７−４の両側に、センスアンプ群（１Ｋ Ｓ／Ａ）３０Ａ，３０Ｂが配置されている。上記センスアンプ群３０Ａ中の各々のセンスアンプ３０Ａ−１，３０Ａ−３，３０Ａ−５，…はそれぞれ、奇数番目のビット線対ＢＬＰ１，ＢＬＰ３，ＢＬＰ５，…に接続される。上記センスアンプ群３０Ｂ中の各々のセンスアンプ３０Ｂ−０，３０Ｂ−２，３０Ｂ−４，…はそれぞれ、偶数番目のビット線対ＢＬＰ０，ＢＬＰ２，ＢＬＰ４，…に接続される。
【００３２】
上記センスアンプ３０Ｂ−０，３０Ｂ−２，３０Ｂ−４，…はそれぞれ、トランジスタ（○印で簡略化して示す）の電流通路を介してリード用のＤＱ線対ＲＤＱｔ，ＲＤＱｃとライト用のＤＱ線対ＷＤＱｔ，ＷＤＱｃに共通接続される。これらセンスアンプ３０Ｂ−０，３０Ｂ−２，３０Ｂ−４，…はそれぞれ、リード用の回路部とライト用の回路部を備えている。上記ＤＱ線対ＲＤＱｔ，ＲＤＱｃに接続されたトランジスタのゲートには、リード用カラム選択線ＲＣＳＬ０〜ＲＣＳＬ７がＤＱ線対毎に接続される。上記ＤＱ線対ＷＤＱｔ，ＷＤＱｃに接続されたトランジスタのゲートには、ライト用カラム選択線ＷＣＳＬ０〜ＷＣＳＬ７がＤＱ線対毎に接続される。
【００３３】
上記ＤＱ線対ＷＤＱｔ，ＷＤＱｃは、上記ビット線対に所定の単位で共通接続されており、ＤＱ線対ＷＤＱｔ＜０＞，ＷＤＱｃ＜０＞、ＤＱ線対ＷＤＱｔ＜２＞，ＷＤＱｃ＜２＞、…を介してメモリセルアレイ１７からのリードデータとライトデータの転送が行われる。
【００３４】
なお、図示しないが、センスアンプ３０Ａ−１，３０Ａ−３，３０Ａ−５，…側も同様な回路構成になっている。
【００３５】
上記のような構成において、メモリセルに対する書き込み動作時には、ライト用カラム選択線ＷＣＳＬ（ＷＣＳＬ０〜ＷＣＳＬ７）の内の１本が選択され、選択されたライト用カラム選択線ＷＣＳＬにゲートが接続されたトランジスタがオンする。これにより、ライト用ＤＱ線対ＷＤＱｔ，ＷＤＱｃのデータがセンスアンプ３０Ｂ−ｉ（ｉ＝０，１，２，３，…）で増幅されてビット線対ＢＬＰｉに供給されることによりメモリセルにデータが書き込まれる。
【００３６】
一方、メモリセルからの読み出し動作時には、リード用カラム選択線ＲＣＳＬ（ＲＣＳＬ０〜ＲＣＳＬ７）の内の１本が選択され、選択されたリード用カラム選択線ＲＣＳＬにゲートが接続されたトランジスタがオンすることにより、メモリセルのデータがセンスアンプ３０Ｂ−ｊ（ｊ＝０，１，２，３，…）で増幅され、リード用ＤＱ線対ＲＤＱｔ，ＲＤＱｃ上に読み出される。
【００３７】
異なるカラムアドレス、例えばリード用カラム選択線ＲＣＳＬ０に対応する読み出し動作と、ライト用カラム選択線ＷＣＳＬ１に対する書き込み動作が同時に行われるとすると、ビット線対ＢＬＰ０のデータはリード用のＤＱ線対ＲＤＱｔ＜０＞，ＲＤＱｃ＜０＞に読み出されるとともに、ライト用のＤＱ線対ＷＤＱｔ＜０＞，ＷＤＱｃ＜０＞のデータがビット線対ＢＬＰ８に伝えられてメモリセルに書き込まれる。
【００３８】
次に、同期型でＥＣＣ回路を搭載し、且つデュアルポートセンスアンプを備えた半導体記憶装置において、パイプライン動作させる場合について図５（ａ），（ｂ）により説明する。
【００３９】
図５（ａ），（ｂ）は、３段パイプライン構成において、レイテンシ（Latency）が３の動作を説明するためのタイミングチャートである。（ａ）図は読み出し動作、（ｂ）図は書き込み動作を示している。（ａ）図に示すように、クロック信号ＣＬＫの立ち上がりエッジに応答して読み出し動作を指示するコマンド（ＣＭＤ）Ｒ，Ｒ，Ｒとその対象となるアドレス（ＡＤＤ）Ａ０，Ａ１，Ａ２が取り込まれる。これによって、第１ステージ（stage1）ではクロック信号ＣＬＫの立ち上がりに応答してリードデータＲ０，Ｒ１，Ｒ２が転送される。第２ステージには前サイクルのリードデータの誤り訂正データＥ０，Ｅ１，Ｅ２が転送されている。そして、クロック信号ＣＬＫの３クロック目、すなわちサイクル３（cycle3）から上記リードデータＲ０，Ｒ１，Ｒ２に対応する出力データＱ０，Ｑ１，Ｑ２が順次出力（data-out）される。
【００４０】
（ｂ）図は、３段パイプライン構成において連続するライトコマンドが入力された場合の書き込み動作を示している。ライトコマンド（ＣＭＤ）Ｗ，Ｗ，Ｗ、アドレス（ＡＤＤ）Ａ０，Ａ１，Ａ２、ライトデータ（ＤＡＴＡ）Ｄ０，Ｄ１，Ｄ２及びマスクデータ（ＭＡＳＫ）Ｍ０，Ｍ１，Ｍ２は、クロック信号ＣＬＫの立ち上がりエッジに応答して取り込まれる。
【００４１】
外部からライトコマンドと同時にライトデータを入力するのは、誤り訂正機能を有するクロック同期型のＤＲＡＭでリードモディファイライトを行う際には、誤り訂正を行った後にこの訂正されたデータに入力された１２８ビットより小さいライトデータを上書きして符号を生成する必要があるからである。
【００４２】
そして、第１ステージにはクロック信号ＣＬＫの立ち上がりに応答してリードデータＲ０，Ｒ１，Ｒ２が転送され、第２ステージには前サイクルのリードデータの誤り訂正データＥ０，Ｅ１，Ｅ２が転送される。クロック信号ＣＬＫの３クロック目、すなわちサイクル３から上記入力データＤ０，Ｄ１，Ｄ２に対応するライトデータＷ０，Ｗ１，Ｗ２が第３ステージを転送されて書き込み動作が行われる。
【００４３】
図６は、本発明に至る考察に用いた半導体記憶装置のデータパスを概念的に表したブロック図である。ここでは、便宜上ブロック図的に表現しているが、必ずしも実際の回路ブロックそのものではない。
【００４４】
まず、レイテンシが３でパイプライン動作をさせる場合のマスク書き込み動作について説明する。
【００４５】
第１ステージにおいては、クロック信号ＣＬＫが入力されるブロック３１にコマンドやアドレスが取り込まれ、デコードされて対応するリード用のカラム選択線ＲＣＳＬが活性化される。これによって、入力されたカラムアドレスに対応するメモリセルから１２８ビットの情報ビットと８ビットのパリティビットのデータがリード用ＤＱ線対（ＲＤＱ線対）上に読み出される。また、外部から入力されたライトデータＤＩＮｔとデータマスク情報ＤＭが、クロック信号ＣＬＫの第１の立ち上がりに応答してラッチ（フリップフロップ）３４，３５に取り込まれ、これらのラッチ３４，３５からライトデータＷＤ０とデータマスク情報ＤＭ０が出力される。
【００４６】
第２ステージにおいては、上記ＲＤＱ線対上のデータが、クロック信号ＣＬＫの第２の立ち上がりに応答してＤＱリードバッファ３２に取り込まれてＲＤ線に読み出される。もし、上記ＲＤＱ線対上のデータに１ビットの誤りがあれば、誤り訂正回路（ＥＣ）２７により訂正されてから信号線ＲＸ上に読み出される。このとき、誤りのあったビットに対応する誤り位置情報ＥＣｐが“Ｈ”になる。一方、ライトデータＷＤ０とライトマスク（データマスク情報）ＤＭ０は、クロック信号ＣＬＫの第２の立ち上がりに応答してラッチ３６，３７に取り込まれ、更にライトデータＷＤ１とライトマスクＤＭ１になり、データ上書き論理回路（ＯＶ）に入力される。
【００４７】
上記データ上書き論理回路３８の出力信号ＷＺは、メモリセルから読み出されて訂正されたデータをマスクされていないライトデータで上書きしたものである。また、このデータ上書き論理回路３８の出力信号ＤＭＸｐは、入力されたデータマスク情報ＤＭにおいて、もし、誤り訂正が行われた場合にその誤り位置を示す情報ＥＣｐに対応するビットをマスクしないようにしたものである。
【００４８】
次に、クロック信号ＣＬＫの第３の立ち上がりに応答して、データマスク情報ＤＭＸｐと上書きされたライトデータＷＺがラッチ３９，４０に取り込まれる。ラッチ３９から出力されるマスク情報ＤＭｐは、ＤＱライトバッファ（write buffer）４１に転送され、ラッチ４０から出力される上書きされたライトデータＷＹは符号生成回路（ＣＧ）４２に入力されて符号ＷＸが生成される。この符号ＷＸはマスク情報ＤＭｐにしたがってＤＱライトバッファ４１からＷＤＱ線対に伝達され、第１ステージと同じアドレスに対応するライト用カラム選択線ＷＣＳＬによって選択されるカラムのメモリセルに書き込まれる。
【００４９】
次に、上記半導体記憶装置における読み出し時のデータの流れを簡単に説明する。図７は、本発明に至る考察に用いた半導体記憶装置におけるリード時のデータフローを説明するための図である。ここでは、説明が煩雑になるのを避けるために、情報長が１２８ビットには限らないものとする。あるカラムアドレスに対応するメモリセルに書き込まれているデータが“ＦＦＦＦＦＦＦＦ”であり、その時のパリティビットが例えば、“３８”であるとする（本来のデータ）。なんらかの理由、例えばソフトエラーでメモリセルのデータの１ビットが反転して“ＦＦＦＦＦ７ＦＦ”になったと仮定する。この誤りを持った状態で、あるサイクル（cycle 1）においてリードコマンドＲが入力されると、このカラムアドレスに対応するメモリセルからＤＱリードバッファ（READ-buffer）３２に“ＦＦＦＦＦ７ＦＦ ３８”が読み出される。
【００５０】
サイクル２（cycle 2）では、誤り訂正回路２７により誤り訂正が行われ、情報ビットは“ＦＦＦＦＦＦＦＦ”に正しく訂正される。
【００５１】
そして、サイクル３（cycle 3）では、正しいデータである“ＦＦＦＦＦＦＦＦ”がマクロ外部に出力される。
【００５２】
図８は、本発明に至る考察に用いた半導体記憶装置におけるライト時の第１のデータフローを示している。データの読み出しと誤り訂正は図７で説明した読み出し動作と同じであり、読み出され且つ訂正されたデータは“ＦＦＦＦＦＦＦＦ”となる。
【００５３】
一方、入力された書き込みデータ（data）は“００００００００”であり、マスク（mask）は“０１１１”である。これによって、データの最初（上位）のバイト（byte）のみ書き込まれ、右側（下位側）の３バイトはマスクされる。この読み出し訂正データ“ＦＦＦＦＦＦＦＦ”、書き込みデータ“００００００００”及びマスク情報“０１１１”により、メモリセルに書き戻すデータは“００ＦＦＦＦＦＦ”となる。この情報ビットから生成されたパリティを例えば“Ａ５”とすると、この符号語“００ＦＦＦＦＦＦ Ａ５”をメモリセルに書き戻せば良い。この際、マスクされたビットはメモリセルに書き戻す必要はないので、マスクされていない部分とパリティのみを書き込んでも良い。
【００５４】
但し、後者では、訂正されたビットの書き戻しは行われておらず、再度読み出す際にも誤りが１ビットは存在することになる。しかし、これは誤り訂正能力内なので、信頼性は低下するものの、再読み出し時に訂正可能であり、更なる誤りが生じさえしなければ動作上は問題ではない。
【００５５】
また、信頼性の低下を避けるために、訂正されたビットの書き戻しを行う場合には、図９に示すように、誤り位置情報にしたがってマスク情報を修正し、誤り訂正を行ったビット（またはバイト）のマスクを外すという手法もある。
【００５６】
しかしながら、このようなパイプライン動作を行った場合には、あるサイクルで入力されたコマンドに対して、その前後の数サイクルでの複数のコマンドの中に当該サイクルと同じアドレスのものが含まれていると問題が生ずる恐れがある。
【００５７】
次に、いくつかの場合を例にとって上記問題点について説明する。
【００５８】
図１０は、あるアドレスに対するライトコマンドが入力されたのち、その次のサイクルにおいて、同じアドレスに対するリードコマンドが入力された場合のデータフローを模式的に示したものである。
【００５９】
第１のライトコマンドＷに対する動作は図９と全く同じであるので説明を省略する。
【００６０】
第２のコマンドであるリードコマンドＲに対する動作は、図７で説明したものと同じであり、サイクル２においてメモリセルから読み出されたデータ“ＦＦＦＦＦ７ＦＦ ３８”が、サイクル３において“ＦＦＦＦＦＦＦＦ”に訂正され、サイクル４においてマクロ外部に出力される。
【００６１】
しかし、第１のコマンドに対して、サイクル３においてメモリセルに書き込まれたデータは“００ＦＦＦＦＦＦ Ａ５”であり、このライトコマンドの後に同じアドレスに対するリードコマンドが入力されたならば、出力されるべきデータは、“００ＦＦＦＦＦＦ”である。すなわち、正しくないデータが出力されたことになる。
【００６２】
図１１は、２つの連続したライトコマンドが両方とも同じカラムアドレスに対するものである場合のデータフローを示す模式図である。
【００６３】
第１のライトコマンドＷに対する動作は図９と全く同じであるので説明を省略する。
【００６４】
第２のライトコマンドＷに対する動作としては、メモリセルの読み出しに関しては、メモリセルからの読み出しがサイクル２で行われる。そのメモリセルのアドレスは、第１のライトコマンドで指定されたアドレスと同じ場合であるから、メモリセルの内容はサイクル１で読み出されたものと同じものである。ここでは、サイクル２において“ＦＦＦＦＦ７ＦＦ ３８”がＤＱリードバッファ３２に読み出され、サイクル３において“ＦＦＦＦＦＦＦＦ”と正しく訂正される。
【００６５】
一方、ライトデータは“５５５５５５５５”、マスクは“１０１１”であり、サイクル４において、上書きされたデータ“ＦＦ５５ＦＦＦＦ”からパリティ“６Ｄ”が生成されてメモリセルに“ＦＦ５５ＦＦＦＦ ６Ｄ”が書き込まれる。しかし、これは正しくないデータである。コマンド入力される前のセルデータは“ＦＦＦＦＦ７ＦＦ ３８”であり、第１のライトコマンド入力後は“００ＦＦＦＦＦＦ Ａ５”が期待される。これに対し、ライトデータが“５５５５５５５５”で、マスクが“１０１１”である第２のライトコマンドが入力された場合には、“００５５ＦＦＦＦ Ａ０”がセルに書き込まれるべきである。
【００６６】
但し、ここでは、情報ビット“００５５ＦＦＦＦ”に対するパリティビットは、仮に“Ａ０”であるとした。
【００６７】
上述したように、クロック信号ＣＬＫに同期してパイプライン動作を行う誤り訂正機能を持った半導体記憶装置においては、あるアドレスに対する１つのカラムコマンドが入力された前後複数のサイクルで、このアドレスと同じアドレスに対するカラムコマンドが入力されている場合に正しいデータが読み出されない、または正しいデータがメモリセルに書き込まれない恐れがある。
【００６８】
そこで本発明の第１の実施形態では、上述したような考察に基づき、あるアドレスに対する１つのカラムコマンドが入力された前後複数のサイクルで、このアドレスと同じアドレスに対するカラムコマンドが入力されている場合にも正しいデータを読み出すことができ、且つ正しいデータをメモリセルに書き込むことができるようにしている。
【００６９】
以下、本発明の実施形態について詳しく説明する。
【００７０】
［第１の実施形態］
図１２は、本発明の第１の実施形態に係る半導体記憶装置について説明するためのもので、データパスの一部を概略的に示したブロック図である。但し、このブロック図は、実施形態の回路を直接的に表現しているのではなく、概念図であり回路的な表現で模式的に表している。図１２と図６との相違点は、レジスタ（ＲＥＧＲＶ）５１、マルチプレクサ（ＭＵＸＲＺ）５２及びマルチプレクサ（ＭＵＸＲＹ）５３が追加されていることである。上記レジスタ５１は、上記クロック信号ＣＬＫから生成された反転クロック信号／ＣＬＫで制御され、このクロック信号／ＣＬＫが入力されると、ラッチ３９から出力されるライトデータＷＹが信号ＲＶとしてマルチプレクサ５２，５３の一方の入力端に伝達される。
【００７１】
上記マルチプレクサ５２は、所定の条件にしたがって状態が定まる選択信号ＲＶｔｏＲＺが“Ｈ”になると、信号ＲＶを選択して信号ＲＺとしてデータ上書き論理回路ＯＶに供給する。一方、選択信号ＲＶｔｏＲＺが“Ｌ”の時には、従来通り信号ＲＸを選択して信号ＲＺとしてデータ上書き論理回路ＯＶに供給する。
【００７２】
また、上記マルチプレクサ５３は、所定の条件にしたがって状態が定まる選択信号ＲＶｔｏＲＹが“Ｈ”になると信号ＲＶを選択して信号ＲＹとしてデータ出力回路３３に供給する。これに対し、信号ＲＶｔｏＲＹが“Ｌ”の時には、信号ＲＸを選択して信号ＲＹとしてデータ出力回路３３に供給する。
【００７３】
ここで、上述したようなＥＣＣ機能付きの３段パイプライン構成である場合には、信号ＲＶｔｏＲＺは、例えばあるアドレスに対するライトコマンドに引き続くライトコマンドが、やはり同じアドレスに対するものである場合に“Ｈ”になる信号であり、また、信号ＲＶｔｏＲＹは、あるアドレスに対するライトコマンドに引き続くリードコマンドがやはり同じアドレスに対するものである場合に“Ｈ”になる信号である。
【００７４】
もちろん、パイプライン構成によっては、多少の変更は必要になるかもしれないが、基本構成はこのような考え方によって得られる。
【００７５】
図１３は、本発明の第１の実施形態に係る半導体記憶装置における同一アドレスに対する連続書き込み動作のデータフローを模式的に示している。本実施形態では、第２のライトコマンドにおいて、サイクル２でメモリセルから読み出し、サイクル３で誤り訂正を行ったデータ“ＦＦＦＦＦＦＦＦ”、すなわち図１２における信号ＲＸは、このライトコマンドにおける符号化には使用せずに、第１のライトコマンドにおいて、サイクル３において符号生成に使用した上書きデータ“００ＦＦＦＦＦＦ”、すなわち図１２における信号ＲＶをデータ上書き論理回路ＯＶに入力し、サイクル４においてその上書きデータ（ライトデータ）ＷＹを符号生成に用いている。
【００７６】
これにより、サイクル４において、メモリセルに正しい符号語“００５５ＦＦＦＦ Ａ０”を書き込むことが可能になる。
【００７７】
一方、ライトに引き続く同一アドレスに対する読み出し動作は、図示しないが、第１の書き込み動作において符号生成に使用した上書きデータが図１２のマルチプレクサ５３によって選択される。このマルチプレクサ５３の出力信号ＲＹはデータ出力回路３３からマクロの外部に出力される。そして、上記データ出力回路３３から、やはり正しいデータ“００５５ＦＦＦＦ”が出力されることになる。
【００７８】
従って、本発明の第１の実施形態によれば、外部から入力されたライトデータの長さが内部バス幅より狭くても高速なデータ転送が行える。しかも、あるアドレスに対する１つのカラムコマンドが入力された前後複数のサイクルで、このアドレスと同じアドレスに対するカラムコマンドが入力されている場合にも正しいデータを読み出すことができ、且つ正しいデータをメモリセルに書き込むことができる。
【００７９】
［第２の実施形態］
図１４は、本発明の第２の実施形態に係る半導体記憶装置について説明するためのもので、同一アドレスに対する連続書き込み動作の他のデータフローを模式的に示している。すなわち、図１２及び図１３に示した第１の実施形態において、ライトに引き続いて同一アドレスに対するライトを行った場合に、第２の書き込み動作におけるメモリセルからの読み出しと誤り訂正を省略したものである。
【００８０】
この訂正されたデータは、図１４に示すサイクル４での符号化には使用されない。よって、第２の書き込み動作におけるメモリセルからの読み出しと誤り訂正を省略すれば、必要のない電力の消費を抑制することができる。
【００８１】
［第３の実施形態］
図１５は、本発明の第３の実施形態に係る半導体記憶装置について説明するためのもので、上述した第２の実施形態に更なる改良を加えたものである。
【００８２】
すなわち、本第３の実施形態では、ライトに引き続き同一アドレスに対してライトを行った場合に、第２の実施形態と同様に第２の書き込み動作におけるメモリセルからの読み出しと誤り訂正を省略するだけでなく、更に第１の書き込み動作におけるサイクル３での符号の生成とメモリセルへの書き込み動作を省略している。
【００８３】
第２の書き込み動作により、サイクル４で正しいデータがメモリセルに書き込まれるからである。但し、サイクル４での書き込み動作では、マスク情報を無視して符号を全て書き込むか、第１のライトでマスクされていないビット、並びに第２のライトでマスクされていないビットはともに書き込むことが必要である。
【００８４】
上述したように、第２の書き込み動作におけるメモリセルからの読み出しと誤り訂正に加えて、第１の書き込み動作におけるサイクル３での符号の生成とメモリセルへの書き込み動作を省略すれば、必要のない電力の消費を抑制することができる。
【００８５】
図１６は、前述した第１の実施形態において、ライトコマンドの２サイクル後に同一アドレスに対する２番目のライトコマンドが入力された場合の書き込み動作のデータフローを模式的に示している。この場合には、図１２におけるマルチプレクサ５２や５３により、訂正されたデータＲＸが選択されて後段にＲＺ，ＲＹとして伝達され、符合化やデータ出力に使用される。すなわち、マルチプレクサ５２，５３の選択信号ＲＶｔｏＲＺやＲＶｔｏＲＹは“Ｌ”のままである。図１６において、第２のライトコマンドはサイクル３で開始されている。
【００８６】
一方、第１のライトコマンドでは、サイクル３にて符号化とメモリセルへの書き込みが行われ、その後に第２の同一アドレスに対するライトコマンドによるメモリセルからの読み出しが行われている。よって、第１のライトコマンドに対するメモリセルへの書き込みがほぼ終了した後でなければ、同じカラムアドレスに対してその書き込んだデータを読み出してしまうと間違った読み出しをする可能性がある。
【００８７】
［第４の実施形態］
ところで、符合化とメモリセルへの書き込みが読み出しに比べて早い場合には問題はないが、第１のライトコマンドに対する符号化に要する時間が遅いと、ビット線に正しいデータが書き込まれる前に第２のライトコマンドに対応する読み出し動作が開始されてしまう恐れがある。このような場合には正しい書き込み動作、読み出し動作は望めない。特に、高速動作を狙うため、サイクルタイムを短くして行く場合には、このような状況が性能を制限してしまうことになる。
【００８８】
図１７は、このような制限をなくすための第４の実施形態を示しており、データパスの一部を概略的に示したブロック図である。この図１７に示すデータパスでは、ＤＱリードバッファ３２の出力と符号生成回路４２から出力される符号ＷＸとが入力されるマルチプレクサ５４を設けている。
【００８９】
上述したようにレイテンシ３の場合には、ライトコマンドの２サイクル後に同一アドレスに対するライトコマンドまたはリードコマンドが入力された場合には、ＤＱライトバッファ４１へ入力される符号ＷＸを選択し、ＲＤ線に転送すれば書き込みにかかる時間を改善できる。
【００９０】
［第５の実施形態］
図１８は、本発明の第５の実施形態に係る半導体記憶装置について説明するためのもので、データパスの一部を概略的に示したブロック図である。更なる改善を加えた第５の実施形態を示している。ここでは、図１２に示した第１の実施形態のデータパスに加えて、新たなマルチプレクサ（ＭＵＸＲＶ）５６とレジスタ（ＲＥＧＷＶ）５５を付加している。上記レジスタ５５は、上書きデータＷＵの内容をクロック信号／ＣＬＫの立ち上がりのタイミングで取り込みＷＶに出力するものである。上記マルチプレクサ５６は、ＷＵかＷＶを選択信号ＷＵｔｏＲＶのレベルに応じて選択動作を行い、ＷＵｔｏＲＶ＝“Ｈ”ならばＷＵの内容を、ＷＵｔｏＲＶ＝“Ｌ”ならばＷＶの信号をＲＶに渡すものである。
【００９１】
ここで、選択信号ＷＵｔｏＲＶは、第１のライトコマンドと、同一のアドレスを持つ第２のライトコマンドが２サイクルのちに入力された場合に“Ｈ”となる信号である。
【００９２】
図１９乃至２１はそれぞれ、上記図１８に示した第５の実施形態に係る半導体記憶装置において、各ブロックで示されている代表的な回路、並びにこれらの回路を制御する信号を生成する回路をより詳しく示したものである。ここでは、レイテンシ３の場合の動作に必要な回路を示している。よって、レイテンシが３でない場合やパイプライン構成によっては多少の修正が必要になる。
【００９３】
図１９（ａ），（ｂ）はそれぞれアドレス一致検出回路である。（ａ）図は模式化したブロックであり、（ｂ）図は具体的な論理構成例を示している。このアドレス一致検出回路は、図１及び図２に示したＤＲＡＭマクロにおけるコントロールブロック１６のアドレスコントローラ中に設けられている。
【００９４】
例えば、あるマクロ構成において、カラムアドレスが６ビットでＣＡ＜０：５＞により指定されるものとすると、現在のサイクルのカラムアドレスＣＡ０＜０：５＞と１サイクル前のカラムアドレスＣＡ１＜０：５＞が同じである場合、カラムアドレス一致検出信号ＣＡＭＡＴＣＨ１が“Ｈ”になる。また、現在のサイクルのカラムアドレスＣＡ０＜０：５＞と２サイクル前のカラムアドレスＣＡ２＜０：５＞が同じである場合、カラムアドレス一致検出信号ＣＡＭＡＴＣＨ２が“Ｈ”になる。
【００９５】
図２０（ａ），（ｂ）はそれぞれコマンド一致検出回路である。（ａ）図は模式化したブロックであり、（ｂ）図は具体的な論理構成例を示している。このコマンド一致検出回路は、図１及び図２に示したＤＲＡＭマクロにおけるコントロールブロック１６のコマンドコントローラ中に設けられている。
【００９６】
例えば、現在のサイクルのコマンドがライトコマンドで、ＷＴ０＝“Ｈ”であり、１サイクル前のコマンドがやはりライトコマンドで、ＷＴ１＝“Ｈ”の場合にライトコマンド検出信号ＷＷＭＡＴＣＨ１＝“Ｈ”になる。現在のサイクルのコマンドがライトコマンドで、ＷＴ０＝“Ｈ”であり、２サイクル前のコマンドがやはりライトコマンドで、ＷＴ２＝“Ｈ”の場合にライトコマンド検出信号ＷＷＭＡＴＣＨ２＝“Ｈ”になる。
【００９７】
また、現在のサイクルのコマンドがリードコマンドで、ＲＤ０＝“Ｈ”であり、１サイクル前のコマンドがライトコマンドで、ＷＴ１＝“Ｈ”の場合にライトリードコマンド検出信号ＷＲＭＡＴＣＨ１＝“Ｈ”になる。現在のサイクルのコマンドがリードコマンドで、ＲＤ０＝“Ｈ”であり、２サイクル前のコマンドがライトコマンドで、ＷＴ２＝“Ｈ”の場合にライトリードコマンド検出信号ＷＲＭＡＴＣＨ２＝“Ｈ”になる。
【００９８】
図２１は、データフロー制御信号を発生する回路を示している。この回路も、図１及び図２に示したＤＲＡＭマクロにおけるコントロールブロック１６のコマンドコントローラ中に設けられている。そして、次のような論理動作を行う。
【００９９】
if (CAMATCH1=H and WRMATCH1=H) or (CAMATCH2=H and WRMATCH2=H) then RVtoRY=H after 2 clock cycles.
すなわち、もし、信号CAMATCH1と信号WRMATCH1がともに“Ｈ”レベル、または信号CAMATCH2と信号WRMATCH2がともに“Ｈ”レベルであれば、２クロックサイクル後に信号RVtoRYが“Ｈ”レベルとなる。
【０１００】
if (CAMATCH1=H and WWMATCH1=H) or (CAMATCH2=H and WWMATCH2=H) then RVtoRZ=H after 2 clock cycles.
もし、信号CAMATCH1と信号WWMATCH1がともに“Ｈ”レベル、または信号CAMATCH2と信号WWMATCH2がともに“Ｈ”レベルであれば、２クロックサイクル後に信号RVtoRZが“Ｈ”レベルとなる。
【０１０１】
if (CAMATCH1=H and WT1=H) then RUtoRV=H after 2cycles.
もし、信号CAMATCH1と信号WT1がともに“Ｈ”レベルであれば、２クロックサイクル後に信号RUtoRVが“Ｈ”レベルとなる。
【０１０２】
図２２は、上記図２１に示した論理回路で生成されたデータフロー制御信号により、データフローの制御を行う回路である。この回路は、図１及び図２に示した回路におけるＥＣＣ入出力ブロック１４，１５中に設けられている。例えば図２に示した回路においては、ＣＣ入出力ブロック１５中に“１２８＋８”個設けられている。図２２では、図１８に示した回路における主要な部分のみを表した。
【０１０３】
上書きデータＷＺ→ＷＹ→ＷＵ→ＷＶの系列は、データがマスクされた場合（データマスク情報ＤＭ１＝“Ｈ”レベルのとき）は読み出されて訂正されたデータＲＺであり、マスクされない場合（ＤＭ１＝“Ｌ”レベルのとき）は外部から入力されたライトデータＷＤ１と同じものである。
【０１０４】
信号ＤＭｐは修正されたマスク情報であり、誤り訂正が起こった場合は、その誤り位置情報ＥＣｐ＝“Ｈ”レベルである。そのとき、そのビットのデータマスク情報ＤＭ１＝“Ｈ”レベルであろうが、ＤＭ１＝“Ｌ”レベルであろうが、マスク情報ＤＭｐは“Ｌ”レベルになり、もともとのデータマスク情報ＤＭ１に拘わらずマスクはされずにメモリセルに正しいデータを書き込むためのものである。
【０１０５】
選択信号ＲＶ，ＲＺ，ＲＹを出力している回路部分は、図１８に示した回路におけるマルチプレクサＭＵＸＲＶ，ＭＵＸＲＺ，ＭＵＸＲＹの論理構成を示したものであり、各選択信号ＷＵｔｏＲＶｐ，ＲＶｔｏｒＺｐ，ＲＶｔｏＲＹｐにしたがってマルチプレクス（multiplex）される。
【０１０６】
図２３は、ライトコマンドの２サイクルのちに同一アドレスに対するライトコマンドが入力された場合において、図１８に示した第５の実施形態に係る半導体記憶装置におけるデータフローを模式図で示したものである。
【０１０７】
この場合には、図１６と同様に第１のライトコマンドに対応する符合化とメモリセルへの書き込みがサイクル３においてなされている。しかし、サイクル３における第２のライトコマンドに対応するメモリセルからの読み出し、並びにサイクル４における誤り訂正されたデータは、サイクル５における符号化には使用されない。そして、サイクル３における符合化に使用されたデータが、サイクル３で入力された第２のライトコマンドに対するライトデータとライトマスク情報により、上書きされてサイクル５における符号生成の入力として使用される。
【０１０８】
これにより、サイクル５において、正しい符号語がメモリセルへ書き込まれて動作が完結する。第２のライトコマンドがリードコマンドである場合でもほぼ同様であり、正しいデータがマクロ外部に出力される。
【０１０９】
［第６の実施形態］
図２４は、本発明の第６の実施形態に係る半導体記憶装置のデータフローを模式的に示す図である。本第６の実施形態では、サイクル３における第２のライトコマンドに対応するメモリセルからの読み出し、並びにサイクル４における誤り訂正動作を省略したものである。第２のライトコマンドがリードコマンドである場合も同様である。
【０１１０】
［第７の実施形態］
図２５は、本発明の第７の実施形態に係る半導体記憶装置のデータフローを模式的に示す図である。本第７の実施形態では更なる改良を加えており、サイクル３における第１のライトコマンドに対応する符合化とメモリセルへの書き込み動作をも省略したものである。なぜなら、サイクル５において結局は正しいデータがメモリセルに書き込まれることになるからである。
【０１１１】
以上、第１乃至第７の実施形態により本発明を説明してきたが、レイテンシは３に限られるものではなく、パイプライン構成も３段以外にも適用できる。また、マスクライト機能がある場合について説明してきたが、外部Ｉ／Ｏ幅が内部バス幅よりも実質的に小さくなる場合などにも適用可能である。
【０１１２】
本発明の実施形態によれば、オンチップ誤り訂正回路によるＥＣＣ機能を有し、パイプライン動作を行う同期型半導体記憶装置において、ライトマスク機能を用いる場合や、外部Ｉ／Ｏ幅が内部バス幅よりも実質的に狭い場合などにおけるアドレスとコマンドの入力に対する制限をなくして高速動作を実現できる。また、メモリセルへの不必要な読み出しアクセスと書き込みアクセスを停止できるので、消費電力も小さく高速で高信頼性の半導体記憶装置を実現できる。
【０１１３】
誤り訂正機能を持つ半導体記憶装置において、入力データのビット幅が誤り訂正符号の情報長より小さい場合においても、内部バスを二重化することによりスピードペナルティを小さくすることができる。しかも、ライトやリードの連続したカラムコマンドにおいて、レイテンシ数以内のコマンドの中に同一のアドレスを持ったものがあった場合に、メモリセルにデータをアクセスせずにＥＣＣ回路のデータパス内で処理を行うことで高速化を達成でき、必要のないメモリセルへの書き込みや読み出し動作を行わないことで低消費電力化を達成できる。
【０１１４】
従って、本発明の１つの側面によれば、外部から入力されたライトデータの長さが内部バス幅より狭くても高速なデータ転送が行える半導体記憶装置を提供できる。
【０１１５】
また、誤り訂正機能を有する半導体記憶装置において、ほぼ連続したカラムコマンドが入力された場合に、どのようなアドレスの順番であろうとも正しいデータを読み出し、正しいデータをメモリセルに書き込むことができる半導体記憶装置を提供できる。
【０１１６】
更に、読み出し動作、書き込み動作の一部を行わないことにより消費電力も低減できる。
【０１１７】
以上第１乃至第７の実施の形態を用いて本発明の説明を行ったが、本発明は上記各実施の形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上記各実施の形態には種々の段階の発明が含まれており、開示される複数の構成要件の適宜な組み合わせにより種々の発明が抽出され得る。例えば各実施の形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題の少なくとも１つが解決でき、発明の効果の欄で述べられている効果の少なくとも１つが得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【図面の簡単な説明】
【０１１８】
【図１】本発明の第１の実施形態に係る半導体記憶装置について説明するためのもので、クロック同期型の混載ＤＲＡＭマクロの全体配置図を概略的に示すブロック図。
【図２】図１に示したＤＲＡＭマクロにおけるデータパスを概略的に示すブロック図。
【図３】図１に示したＤＲＡＭマクロにおけるメモリセルアレイ、センスアンプ、ＤＱバッファブロック及びＥＣＣ入出力ブロックを抽出して詳細なデータパスを示すブロック図。
【図４】図２に示したデュアルポートセンスアンプの構成例を示す回路図。
【図５】３段パイプライン構成において、レイテンシが３の動作を説明するためのもので、（ａ）図は読み出し動作、（ｂ）図は書き込み動作を示すタイミングチャート。
【図６】本発明に至る考察に用いた半導体記憶装置のデータパスを概念的に表したブロック図。
【図７】本発明に至る考察に用いた半導体記憶装置におけるリード時のデータフローを説明するための模式図。
【図８】本発明に至る考察に用いた半導体記憶装置におけるライト時の第１のデータフローを説明するための模式図。
【図９】本発明に至る考察に用いた半導体記憶装置におけるライト時の第２のデータフローを説明するための模式図。
【図１０】あるアドレスに対するライトコマンドが入力されたのち、その次のサイクルにおいて、同じアドレスに対するリードコマンドが入力された場合のデータフローを示す模式図。
【図１１】２つの連続したライトコマンドが両方とも同じカラムアドレスに対するものである場合のデータフローを示す模式図。
【図１２】本発明の第１の実施形態に係る半導体記憶装置について説明するためのもので、データパスの一部を概略的に示したブロック図。
【図１３】本発明の第１の実施形態に係る半導体記憶装置における同一アドレスに対する連続書き込み動作のデータフローを示す模式図。
【図１４】本発明の第２の実施形態に係る半導体記憶装置について説明するためのもので、同一アドレスに対する連続書き込み動作の他のデータフローを示す模式図。
【図１５】本発明の第３の実施形態に係る半導体記憶装置について説明するためのもので、同一アドレスに対する連続書き込み動作の更に他のデータフローを示す模式図。
【図１６】第１の実施形態において、ライトコマンドの２サイクル後に同一アドレスに対する２番目のライトコマンドが入力された場合の書き込み動作のデータフローを示す模式図。
【図１７】本発明の第４の実施形態に係る半導体記憶装置について説明するためのもので、データパスの一部を概略的に示したブロック図。
【図１８】本発明の第５の実施形態に係る半導体記憶装置について説明するためのもので、データパスの一部を概略的に示したブロック図。
【図１９】アドレス一致検出回路を示す回路図。
【図２０】コマンド一致検出回路を示す回路図。
【図２１】データフロー制御信号を発生する回路を示す回路図。
【図２２】図２１に示す回路で生成されたデータフロー制御信号により、データのフローの制御を行う回路を示す図。
【図２３】ライトコマンドの２サイクルのちに同一アドレスに対するライトコマンドが入力された場合において、第５の実施形態に係る半導体記憶装置におけるデータフローを示す模式図。
【図２４】本発明の第６の実施形態に係る半導体記憶装置のデータフローを示す模式図。
【図２５】本発明の第７の実施形態に係る半導体記憶装置のデータフローを示す模式図。
【符号の説明】
【０１１９】
１１，１２…ＤＲＡＭマクロ、１１−１〜１１−４，１２−１〜１２−４…サブマクロ、１３…デコード部、１３−１〜１３−４…デコーダブロック、１４，１５…ＥＣＣ入出力ブロック、１６…メモリセルアレイ、１７−１〜１７−４…メモリセルアレイ、１８−１〜１８−５…センスアンプ、１９…ＤＱバッファブロック、２１…ＤＱバッファ、２２…ＲＤ線ドライバ、２３…データ入力バッファ、２４…コードジェネレータ、２５…ＷＤ線ドライバ、２６…シンドロームジェネレータ、２７…誤り訂正回路、２８…レジスタ、２９…データ出力バッファ、ＷＬ…ワード線、ＢＬｔ，ＢＬｃ…ビット線対、ＭＣ…メモリセル。
【図１】
2007242162.tif 000003
【図２】
2007242162.tif 000004
【図３】
2007242162.tif 000005
【図４】
2007242162.tif 000006
【図５】
2007242162.tif 000007
【図６】
2007242162.tif 000008
【図７】
2007242162.tif 000009
【図８】
2007242162.tif 000010
【図９】
2007242162.tif 000011
【図１０】
2007242162.tif 000012
【図１１】
2007242162.tif 000013
【図１２】
2007242162.tif 000014
【図１３】
2007242162.tif 000015
【図１４】
2007242162.tif 000016
【図１５】
2007242162.tif 000017
【図１６】
2007242162.tif 000018
【図１７】
2007242162.tif 000019
【図１８】
2007242162.tif 000020
【図１９】
2007242162.tif 000021
【図２０】
2007242162.tif 000022
【図２１】
2007242162.tif 000023
【図２２】
2007242162.tif 000024
【図２３】
2007242162.tif 000025
【図２４】
2007242162.tif 000026
【図２５】
2007242162.tif 000027