(57)【要約】【課題】外部データバス幅が、使用される誤り訂正符号の情報長よりも短い場合でも、高速なデータ転送レートが得られ、さらにチップ面積の増加を抑制できる半導体記憶装置を提供する。【解決手段】半導体記憶装置は、書き込みデータ転送経路、読み出しデータ転送経路、符号生成回路CODEGENを備える。書き込みデータ転送経路は、入力バッファDINBUFとセルアレイＣＡ間に配置され、入力バッファDINBUFに入力されたデータをメモリセルへ伝達する。読み出しデータ転送経路は、セルアレイＣＡと出力バッファDOUTBUF間に配置され、メモリセルからのデータを出力バッファDOUTBUFへ伝達する。符号生成回路CODEGENは、書き込みデータ転送経路に配置され、データを符号化して誤り訂正符号を生成する。書き込み及び読み出しデータ転送経路が持つ少なくとも一部のデータバスのビット幅は、符号生成回路CODEGENにより生成された誤り訂正符号の符号長の２倍より大きい。【選択図】      図２
2006244632.tif 000002
【特許請求の範囲】
【請求項１】
クロック信号に同期して動作する半導体記憶装置において、
複数のメモリセルが配列されたメモリセルアレイと、
前記複数のメモリセルに接続された複数のビット線と、
データが入力される入力回路と、
データを符号化して誤り訂正符号を生成する符号生成回路と、
前記メモリセルから読み出されたデータが供給される読み出し用データバスと、
前記符号生成回路により符号化されたデータが供給される書き込み用データバスと、
カラムアドレスで指定され、前記読み出し用データバスと前記ビット線を接続する複数の読み出し用カラム選択線と、
カラムアドレスで指定され、前記書き込み用データバスと前記ビット線を接続する複数の書き込み用カラム選択線と、
前記メモリセルから前記読み出し用データバスに読み出されたデータからシンドロームを生成するシンドローム生成回路と、
前記シンドローム生成回路により生成された前記シンドロームをデコードして誤り訂正を行う訂正回路とを具備し、
前記クロック信号の同一サイクルにおいて、第１カラムアドレスで指定された前記読み出し用カラム選択線により前記読み出し用データバスとビット線を接続する読み出し動作と、第２カラムアドレスで指定された前記書き込み用カラム選択線により前記書き込み用データバスとビット線を接続する書き込み動作とを行い、
前記書き込み動作時には、前記シンドローム生成回路、及び前記訂正回路により誤り訂正されたデータに、前記入力回路に入力されたデータを併せたデータが、前記符号生成回路により符号化されて前記メモリセルに書き込まれることを特徴とする半導体記憶装置。
【請求項２】
前記訂正回路の後段に配置され、前記訂正回路から出力されたデータを記憶する記憶回路をさらに具備し、書き込み動作を指示するライトコマンドに続いて読み出し動作を指示するリードコマンドが入力された際、前記ライトコマンドに対応して入力されたカラムアドレスと、前記リードコマンドに対応して入力されたカラムアドレスとが同一であるとき、前記記憶回路に記憶されたデータを読み出しデータとして、前記出力回路を介して外部に出力することを特徴とする請求項１に記載の半導体記憶装置。
【請求項３】
クロック信号に同期して動作する、バーストモードを持つ半導体記憶装置において、
複数のメモリセルが配列されたメモリセルアレイと、
前記複数のメモリセルに接続された複数のビット線と、
データが入力される入力回路と、
データを符号化して誤り訂正符号を生成する符号生成回路と、
前記符号生成回路の後段に配置され、前記符号生成回路から出力された前記誤り訂正符号を記憶する複数の記憶回路と、
カラムアドレスが偶数の場合にカラム選択線によってビット線に接続され、前記符号生成回路により符号化されたデータのビット幅以上のビット幅を持つ第１データバスと、
カラムアドレスが奇数の場合にカラム選択線によってビット線に接続され、前記符号生成回路により符号化されたデータのビット幅以上のビット幅を持つ第２データバスと、
前記メモリセルから前記第１、第２データバスに読み出されたデータからシンドロームを生成するシンドローム生成回路と、
前記シンドローム生成回路により生成された前記シンドロームをデコードして誤り訂正を行う訂正回路とを具備し、
前記バーストモードにおける読み出し動作時には、バーストにより発生した偶数番目のアドレスに対応するデータと奇数番目のアドレスに対応するデータが、前記クロック信号の同一サイクルにおいて前記メモリセルから読み出され、前記シンドローム生成回路、及び前記訂正回路により誤り訂正されて外部に出力され、
前記バーストモードにおける書き込み動作時には、バーストにより発生した偶数番目のアドレスに対応するデータと奇数番目のアドレスに対応するデータが、前記クロック信号の同一サイクルにおいて前記メモリセルから読み出され、前記シンドローム生成回路、及び前記訂正回路により誤り訂正されて、その訂正されたデータに、前記入力回路に入力されたデータを併せたデータが符号化されて、前記複数の記憶回路に順次記憶され、
前記複数の記憶回路のうち、前記偶数番目のアドレスに対応するデータと前記奇数番目のアドレスに対応するデータが記憶された記憶回路から、これら記憶回路に記憶されているデータが、前記クロック信号の同一サイクルにおいて前記第１、第２データバスを介してメモリセルに書き込まれることを特徴とする半導体記憶装置。
【請求項４】
前記メモリセルから前記第１、第２データバスへ２つのアドレス分のデータを読み出す前記読み出し動作は、この読み出し動作を指示するリードコマンドが入力されたときのクロック信号のサイクルから数えて偶数番目のサイクルで行われ、前記第１、第２データバスからメモリセルへ２つのアドレス分のデータを書き込む前記書き込み動作は、この書き込み動作を指示するライトコマンドが入力されたときのクロック信号のサイクルから数えて奇数番目のサイクルで行われることを特徴とする請求項３に記載の半導体記憶装置。
【請求項５】
クロック信号に同期してパイプライン動作を行う、バーストモードを持つ半導体記憶装置において、
複数のメモリセルが配列されたメモリセルアレイと、
前記複数のメモリセルに接続された複数のビット線と、
データが入力される入力回路と、
データを符号化して誤り訂正符号を生成する符号生成回路と、
前記符号生成回路の後段に配置され、前記符号生成回路から出力された前記誤り訂正符号を記憶する複数の記憶回路と、
カラムアドレスが偶数の場合にカラム選択線によってビット線に接続され、前記符号生成回路により符号化されたデータのビット幅以上のビット幅を持つ第１データバスと、
カラムアドレスが奇数の場合にカラム選択線によってビット線に接続され、前記符号生成回路により符号化されたデータのビット幅以上のビット幅を持つ第２データバスと、
前記メモリセルから前記第１、第２データバスに読み出されたデータからシンドロームを生成するシンドローム生成回路と、
前記シンドローム生成回路により生成された前記シンドロームをデコードして誤り訂正を行う訂正回路とを具備し、
前記バーストモードにおける読み出し動作時には、前記読み出し動作を指示するリードコマンドが入力されてから偶数番目のサイクルあるいは奇数番目のサイクルのいずれであるかに従って、前記第１データバスあるいは前記第２データバスのいずれかにメモリセルのデータが読み出され、読み出されたデータは前記シンドローム生成回路、及び前記訂正回路により誤り訂正されて外部に出力され、
前記バーストモードにおける書き込み動作時には、前記書き込み動作を指示するライトコマンドが入力されてから偶数番目のサイクルあるいは奇数番目のサイクルのいずれであるかに従って、前記第１データバスあるいは前記第２データバスのいずれかにメモリセルのデータが読み出され、読み出されたデータは前記シンドローム生成回路、及び前記訂正回路により誤り訂正され、その訂正されたデータに、前記入力回路に入力されたデータを併せたデータが符号化され、前記複数の記憶回路に順次記憶されて、メモリセルに書き込まれるパイプライン動作において、
前記クロック信号の同一サイクルにおいて、偶数アドレスに対するメモリセルからの読み出し動作が行われる場合には奇数アドレスに対するメモリセルへの書き込みを行い、奇数アドレスに対するメモリセルからの読み出し動作が行われる場合には偶数アドレスに対するメモリセルへの書き込みを行うことを特徴とする半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、誤り訂正機能を有する同期型の半導体記憶装置に関するものである。
【背景技術】
【０００２】
高速なデータ転送をおこなうために、クロックに同期した同期型の半導体記憶装置が知られている。例えば、同期型の半導体記憶装置として、３段パイプライン方式のシンクロナスＤＲＡＭが公表されている（例えば、非特許文献１参照）。
【０００３】
ここでは、このような同期型の半導体記憶装置に、誤り訂正機能を適用したものを考える。図１３は、半導体記憶装置が含むＤＲＡＭマクロにおいてＥＣＣ(error checking and correction)を適用した場合のデータバスに沿った構成のみを抜き出して示した図である。
【０００４】
図１３において、右からセルアレイＣＡおよびセンスアンプＳＡ、制御回路DQBUFBLK、ＥＣＣ入出力ブロックECCIOBLKの各ブロックが配置されている。センスアンプＳＡには、１６本のカラム選択線ＣＳＬが入力されている。制御回路DQBUFBLKには、ＤＱバッファDQBUF、及びＲＤ線駆動回路RDDRVが配置されている。ＤＱバッファDQBUFは、カラムリダンダンシ制御ならびにＤＱ線制御を行うＤＱ線リードバッファ、ＤＱ線ライトバッファを含む。ＲＤ線駆動回路RDDRVはＲＤ線を駆動する。
【０００５】
ＥＣＣ入出力ブロックECCIOBLKには、データ入出力制御をおこなう入力バッファDINBUF、出力バッファDOUTBUFと、ＥＣＣ機能を実現するための符号生成回路CODEGEN、シンドロームジェネレータSYNDGEN、誤り訂正回路ＥＣの各回路ブロック、さらにＷＤ線を駆動するためのＷＤ線駆動回路WDDRVが配置されている。符号生成回路CODEGENは、データ書き込み時に符号を生成する。シンドロームジェネレータSYNDGENは、データリード時にシンドロームを発生し、誤り訂正回路ＥＣはシンドロームのデコードと誤り訂正を行う。
【０００６】
さらに、この図１３においてライト動作時のデータの流れを説明するものが図１４である。外部データバス幅を１２８ビットとし、入力データＤＩＮが入力バッファDINBUFを介して１２８ビットのデータＷＤｘとして伝えられる。この１２８ビットのデータＷＤｘを情報ビットとして、符号生成回路CODEGENにて符号(コード)を発生する。符合は、１誤り訂正２誤り検出可能な組織化ハミングコードを使用しているものとする。このとき、検査符号長は９ビットで十分なので、情報ビットとしての１２８ビットとパリティビットとしての９ビットを合わせた１３７ビットが符号長となる。符号化された１３７ビットのデータＷＤｙは、ＷＤ線駆動回路WDDRVにて駆動されてＤＱバッファDQBUFに伝えられ、ＤＱ線を介してメモリセルに書き込まれる。ここで、ＤＱ線は、ＤＱｔ／ＤＱｃの相補信号線対であり、カラムリダンダンシ用に４つのＤＱ線対分を含んでいる。
【０００７】
図１５は、図１３におけるリード動作時のデータの流れを示す図である。カラムリダンダンシ、およびＥＣＣ用のパリティビットを含むデータがセルアレイから読み出され、１４１ビットのＤＱ線を介してＤＱバッファDQBUFに入力される。ＤＱバッファDQBUFに入力されたデータは、リダンダンシ制御された後、１３７ビットのＲＤ線に伝達される。つぎに、ＲＤ線に読み出されたデータは、ＲＤ線駆動回路RDDRVで駆動され、データＲＤｙとなり、ＥＣＣ入出力ブロックECCIOBLK内のシンドロームジェネレータSYNDGENと誤り訂正回路ＥＣに到達する。
【０００８】
１３７ビットのデータＲＤｙのうち、パリティビットとしての９ビットと、情報ビットとしての１２８ビットがシンドロームジェネレータSYNDGENに入力され、シンドロームジェネレータSYNDGENは、９ビットのシンドローム(syndrome)を生成する。生成されたシンドロームは、誤り訂正回路ＥＣ内にてデコードされる。誤り訂正回路ＥＣは、１２８ビットの情報ビットＲＤｙのデータに誤りが存在するとき、その誤りを訂正可能であれば訂正する。そして、この訂正された情報ビットＲＤｘが、データ出力バッファDOUTBUFを介してデータDOUTとして外部に出力される。
【０００９】
さてこのとき、外部データバス幅は１２８ビットであり、ＤＲＡＭマクロ内部でデータの符号化並びに誤り訂正を行う際の情報長も１２８ビットとなっている。この場合は、次に示すようにパイプライン動作に特に大きな問題は無い。
【００１０】
図１６（ａ）及び図１６（ｂ）は、このときの簡単なパイプライン動作を示す図であり、図１６（ａ）はリード動作を、図１６（ｂ）はライト動作を表している。
【００１１】
図１６（ａ）では、リードコマンド＜Ｒ＞の入力に伴って、カラムアドレスＣＡ０が連続して入力されると、サイクル０で、読み出し動作（Ｒ０）、すなわちアドレスデコード、カラム選択線ＣＳＬの選択、ＲＤ線へのデータの読み出しが行われる。サイクル１では、カラムアドレスＣＡ１に対する読み出し動作（Ｒ１）が前記読み出し動作（Ｒ０）と同様に行われると同時に、カラムアドレスＣＡ０に対応する読み出し動作（Ｒ０）により読み出されたデータに対し、誤り訂正動作（Ｅ０）が行われる。サイクル２では、カラムアドレスＣＡ２に対する読み出し動作（Ｒ２）、カラムアドレスＣＡ１に対する誤り訂正動作（Ｅ１）、カラムアドレスＣＡ０に対する出力動作（Ｑ０）が平行して行われる。
【００１２】
図１６（ｂ）では、サイクル０で、カラムアドレスＣＡ０に対するライトコマンド＜Ｗ＞及びライトデータ＜Ｄ０＞が入力されて、符号生成動作（Ｅ０）が行われる。続いて、サイクル１において、カラムアドレスＣＡ１に対するライトコマンド＜Ｗ＞及びライトデータ＜Ｄ１＞が入力されて、符号生成動作（Ｅ１）、およびカラムアドレスＣＡ０に対する書き込み動作（Ｗ０）が行われる。以降のサイクルの動作も同様である。
【００１３】
ところが、前述したパイプライン動作では、外部データバス幅が誤り訂正を行う際の情報長より小さい場合、あるいは、バイトマスク機能などにより、入力されるデータのビット幅が、実質的に情報長より小さくなる場合には、以下に述べるような問題が発生する。
【００１４】
誤り訂正機能をもつ半導体記憶装置においては、ライト時に情報ビットを符号化して複数のメモリセルに格納し、リード時にはメモリセルから読み出されたデータに対し誤りが存在すれば、訂正を行って外部に出力する。一般に、誤り訂正符号を使用するとき、通常は、情報長が大きいほど誤り訂正に必要なパリティビットの割合が少なくて済み効率的である。
【００１５】
しかるに、外部入力バス幅が内部バス幅より小さいとき、あるいはバイトマスク機能により、外部入力バス幅は内部バス幅より小さいとは限らないがメモリセルに書き込まれるべきデータの長さが、実質的に情報長より小さくなることが起こり得るような仕様を持つ半導体記憶装置においては、いわゆる「ＥＣＣにおけるリードモディファイライト」とよばれる動作が必要になる。このため、スピードペナルティが大きくなってしまい、パフォーマンスの大幅な劣化をもたらす。「ＥＣＣにおけるリードモディファイライト」は、内部バス幅が実質的に誤り訂正符号の符号長と等しいとすると、ライト時には、一旦データをメモリセルから符号長分読み出して誤り訂正動作を行い、その後、外部より入力された情報長より短いライトデータで、読み出され訂正されたデータに上書きして、さらに、符号化してメモリセルに書き込むという動作である。
【００１６】
図１７に、この場合のライト動作時のデータの流れを示す。誤り訂正符号の情報長を１２８ビット、符号長を１３７ビットとし、外部入力は１６ビットのバス幅、ＤＲＡＭマクロ内部のバス幅はパリティビットも含めると実質的に符号長と同じ１３７ビットである。ここで、ライト時には、入力されるデータは１６ビットしかないので、このままでは１２８ビットの符号を使用することはできない。
【００１７】
したがって、まず（１）メモリセルからこのアドレスに対応するデータを１３７ビット読み出す。次に（２）誤り訂正を行い、正しい１２８ビットの情報ビットを得るとともに、入力された書き込むべき１６ビットのライトデータを、１２８ビットの訂正されたデータに上書きする。この上書きした新しい情報ビットに対し符号を発生し、メモリセルに書き込むべき符号データ１３７ビットのデータＷＤｙを得る。さらに、（３）この符号データＷＤｙをメモリセルに書き込む、という動作を行う必要がある。
【００１８】
図１８（ａ）、図１８（ｂ）、及び図１８（ｃ）は、入力データのビット幅が情報長より小さい場合の動作を示す図である。図１８（ａ）に示すリード動作は、図１６（ａ）に示した動作と全く同様である。
【００１９】
図１８（ｂ）に示すライト（リードモディファイライト）動作は、以下のようになる。図１６（ｂ）と同様にライトコマンドＷを引き続き入力すると、まずサイクル０で、読み出し動作（Ｒ０）が行われ、サイクル１で誤り訂正と符号化（Ｅ０）が行われ、さらにサイクル２で書き込み動作（Ｗ０）が行われる。ここで、読み出し動作（Ｒ０）では、アドレスＣＡ０に対応するカラム選択線ＣＳＬが選択されてメモリセルからのデータが読み出される。書き込み動作（Ｗ０）では、アドレスＣＡ０に対応するカラム選択線ＣＳＬが選択されて、符号化されたデータがメモリセルに書き込まれる。
【００２０】
このとき、サイクル２においてアドレスＣＡ２に対応するライトコマンドＷが入力されると、読み出し動作（Ｒ２）がサイクル２にて行われる。このため、サイクル２においては、読み出し動作（Ｒ２）と書き込み動作（Ｗ０）が同時に行われることになる。これは、すなわち図１８に示したセンスアンプＳＡにおいて、異なるアドレスに対するカラム選択線ＣＳＬが同じサイクルで活性化されることになり、データの衝突が起こる場合がある。そこで、データの衝突を防ごうとすると、サイクルタイムを遅くしなければならない。例えば、図１８（ｃ）に示すライト動作のように、１サイクル内で読み出し（Ｒ０）、訂正符号化（Ｅ０）、書き込み（Ｗ０）を行えば、データの衝突は起こらないが、明らかにサイクルタイムは増大し、高速なデータ転送を行うことができない。
【非特許文献１】Y. Takai et al, "250Mbyte/s Synchronous DRAM Using a 3-Stage-Pipelined Architecture", IEEE J. Solid-State Circuits, Vol. 29, No. 4, Apr. 1994
【発明の開示】
【発明が解決しようとする課題】
【００２１】
本発明は、このような従来技術における問題点を解決するためになされたものであり、誤り訂正機能をもつ半導体記憶装置において、外部から入力されたライトデータの長さが誤り訂正符号の情報長よりも短い場合においても、高速なデータ転送レートが得られ、さらにチップ面積の増加を抑制できる半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
【００２２】
前記目的を達成するために、この発明の一実施形態の半導体記憶装置は、クロック信号に同期して動作する半導体記憶装置において、複数のメモリセルが配列されたメモリセルアレイと、前記複数のメモリセルに接続された複数のビット線と、データが入力される入力回路と、データを符号化して誤り訂正符号を生成する符号生成回路と、前記メモリセルから読み出されたデータが供給される読み出し用データバスと、前記符号生成回路により符号化されたデータが供給される書き込み用データバスと、カラムアドレスで指定され、前記読み出し用データバスと前記ビット線を接続する複数の読み出し用カラム選択線と、カラムアドレスで指定され、前記書き込み用データバスと前記ビット線を接続する複数の書き込み用カラム選択線と、前記メモリセルから前記読み出し用データバスに読み出されたデータからシンドロームを生成するシンドローム生成回路と、前記シンドローム生成回路により生成された前記シンドロームをデコードして誤り訂正を行う訂正回路とを具備し、前記クロック信号の同一サイクルにおいて、第１カラムアドレスで指定された前記読み出し用カラム選択線により前記読み出し用データバスとビット線を接続する読み出し動作と、第２カラムアドレスで指定された前記書き込み用カラム選択線により前記書き込み用データバスとビット線を接続する書き込み動作とを行い、前記書き込み動作時には、前記シンドローム生成回路、及び前記訂正回路により誤り訂正されたデータに、前記入力回路に入力されたデータを併せたデータが、前記符号生成回路により符号化されて前記メモリセルに書き込まれることを特徴とする。
【００２３】
また、この発明の他の実施形態の半導体記憶装置は、クロック信号に同期して動作する、バーストモードを持つ半導体記憶装置において、複数のメモリセルが配列されたメモリセルアレイと、前記複数のメモリセルに接続された複数のビット線と、データが入力される入力回路と、データを符号化して誤り訂正符号を生成する符号生成回路と、前記符号生成回路の後段に配置され、前記符号生成回路から出力された前記誤り訂正符号を記憶する複数の記憶回路と、カラムアドレスが偶数の場合にカラム選択線によってビット線に接続され、前記符号生成回路により符号化されたデータのビット幅以上のビット幅を持つ第１データバスと、カラムアドレスが奇数の場合にカラム選択線によってビット線に接続され、前記符号生成回路により符号化されたデータのビット幅以上のビット幅を持つ第２データバスと、前記メモリセルから前記第１、第２データバスに読み出されたデータからシンドロームを生成するシンドローム生成回路と、前記シンドローム生成回路により生成された前記シンドロームをデコードして誤り訂正を行う訂正回路とを具備し、前記バーストモードにおける読み出し動作時には、バーストにより発生した偶数番目のアドレスに対応するデータと奇数番目のアドレスに対応するデータが、前記クロック信号の同一サイクルにおいて前記メモリセルから読み出され、前記シンドローム生成回路、及び前記訂正回路により誤り訂正されて外部に出力され、前記バーストモードにおける書き込み動作時には、バーストにより発生した偶数番目のアドレスに対応するデータと奇数番目のアドレスに対応するデータが、前記クロック信号の同一サイクルにおいて前記メモリセルから読み出され、前記シンドローム生成回路、及び前記訂正回路により誤り訂正されて、その訂正されたデータに、前記入力回路に入力されたデータを併せたデータが符号化されて、前記複数の記憶回路に順次記憶され、前記複数の記憶回路のうち、前記偶数番目のアドレスに対応するデータと前記奇数番目のアドレスに対応するデータが記憶された記憶回路から、これら記憶回路に記憶されているデータが、前記クロック信号の同一サイクルにおいて前記第１、第２データバスを介してメモリセルに書き込まれることを特徴とする。
【００２４】
また、この発明の他の実施形態の半導体記憶装置は、クロック信号に同期してパイプライン動作を行う、バーストモードを持つ半導体記憶装置において、複数のメモリセルが配列されたメモリセルアレイと、前記複数のメモリセルに接続された複数のビット線と、データが入力される入力回路と、データを符号化して誤り訂正符号を生成する符号生成回路と、前記符号生成回路の後段に配置され、前記符号生成回路から出力された前記誤り訂正符号を記憶する複数の記憶回路と、カラムアドレスが偶数の場合にカラム選択線によってビット線に接続され、前記符号生成回路により符号化されたデータのビット幅以上のビット幅を持つ第１データバスと、カラムアドレスが奇数の場合にカラム選択線によってビット線に接続され、前記符号生成回路により符号化されたデータのビット幅以上のビット幅を持つ第２データバスと、前記メモリセルから前記第１、第２データバスに読み出されたデータからシンドロームを生成するシンドローム生成回路と、前記シンドローム生成回路により生成された前記シンドロームをデコードして誤り訂正を行う訂正回路とを具備し、前記バーストモードにおける読み出し動作時には、前記読み出し動作を指示するリードコマンドが入力されてから偶数番目のサイクルあるいは奇数番目のサイクルのいずれであるかに従って、前記第１データバスあるいは前記第２データバスのいずれかにメモリセルのデータが読み出され、読み出されたデータは前記シンドローム生成回路、及び前記訂正回路により誤り訂正されて外部に出力され、前記バーストモードにおける書き込み動作時には、前記書き込み動作を指示するライトコマンドが入力されてから偶数番目のサイクルあるいは奇数番目のサイクルのいずれであるかに従って、前記第１データバスあるいは前記第２データバスのいずれかにメモリセルのデータが読み出され、読み出されたデータは前記シンドローム生成回路、及び前記訂正回路により誤り訂正され、その訂正されたデータに、前記入力回路に入力されたデータを併せたデータが符号化され、前記複数の記憶回路に順次記憶されて、メモリセルに書き込まれるパイプライン動作において、前記クロック信号の同一サイクルにおいて、偶数アドレスに対するメモリセルからの読み出し動作が行われる場合には奇数アドレスに対するメモリセルへの書き込みを行い、奇数アドレスに対するメモリセルからの読み出し動作が行われる場合には偶数アドレスに対するメモリセルへの書き込みを行うことを特徴とする。
【発明の効果】
【００２５】
本発明によれば、誤り訂正機能をもつ半導体記憶装置において、外部から入力されたライトデータの長さが誤り訂正符号の情報長よりも短い場合においても、高速なデータ転送レートが得られ、さらにチップ面積の増加を抑制できる半導体記憶装置を提供することが可能である。
【発明を実施するための最良の形態】
【００２６】
以下、図面を参照してこの発明の実施形態について説明する。説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【００２７】
［第１の実施形態］
まず、この発明の第１の実施形態の半導体記憶装置について説明する。
【００２８】
図１は、第１の実施形態のクロック同期型のＤＲＡＭマクロを含む半導体記憶装置の構成を示す配置図である。このＤＲＡＭマクロは、半導体基板に単独で形成されていてもよいし、半導体基板にロジック回路と共に混載されていてもよい。
【００２９】
この例では、ＤＲＡＭマクロは、２つのサブマクロ（バンクBANK1、2）と、このＤＲＡＭマクロ下部に配置された制御ブロックCTRLBLK及びＥＣＣ入出力ブロックECCIOBLKとを含む。制御ブロックCTRLBLKは、クロックに基づいて、コマンド入力、アドレス入力バッファの動作などのタイミング制御を行う。ＥＣＣ入出力ブロックECCIOBLKは、ＥＣＣ(error checking and correction)制御とデータ入出力を行う。
【００３０】
２つのサブマクロの各々は、バンクBANK1とバンクBANK2を構成しており、デコーダブロックDECBLKは、ロウアドレスデコーダ、カラムアドレスデコーダ、センスアンプ制御回路等を含む。また、各バンクは１Ｍビットのセルアレイ(cell array)を４個もち、各セルアレイは、５１２本のワード線、２０４８個のビット線対、および数個のスペアビット線対、及び各ワード線とビット線対の交点に配置されたメモリセルから構成されている。
【００３１】
各セルアレイの両側には、メモリセルからビット線に読み出された信号を増幅するためのセンスアンプＳＡが配置されている。サブマクロの下部には、ＥＣＣ入出力ブロックECCIOBLKから伝達されるライトデータをメモリセルに書き込むため、およびメモリセルから読み出されたデータを、ＥＣＣ入出力ブロックECCIOBLKに伝達するための制御回路DQBUFBLKが配置されている。ＥＣＣ入出力ブロックECCIOBLKは、外部から入力されたライトデータを符号化し、制御回路DQBUFBLKに伝達する。ＥＣＣ入出力ブロックECCIOBLKは、また、制御回路DQBUFBLKから伝達されたリードデータに誤りがあれば、それを訂正して、チップ外部に出力する。
【００３２】
図２は、第１の実施形態の半導体記憶装置におけるデータバスに沿った構成を示す図である。図２に示すように、セルアレイ側から、セルアレイＣＡおよびセンスアンプＳＡ、制御回路DQBUFBLK、及びＥＣＣ入出力ブロックECCIOBLKの各ブロックが配置されている。セルアレイＣＡは、行列状に配列された複数のメモリセルを有している。センスアンプＳＡには、各１６本のカラム選択線ＷＣＳＬ、ＲＣＳＬが入力されている。制御回路DQBUFBLKには、ＤＱバッファDQBUF、及びＲＤ線駆動回路RDDRVが配置されている。ＤＱバッファDQBUFは、カラムリダンダンシ制御ならびにＤＱ線制御を行うＤＱ線リードバッファ、ＤＱ線ライトバッファを含む。ＲＤ線駆動回路RDDRVはＲＤ線を駆動する。
【００３３】
ＥＣＣ入出力ブロックECCIOBLKには、データ入出力制御をおこなう入力バッファDINBUF、出力バッファDOUTBUFと、ＥＣＣ機能を実現するための符号生成回路CODEGEN、シンドロームジェネレータSYNDGEN、誤り訂正回路ＥＣ、レジスタＲＥＧの各回路ブロック、さらにＷＤ線を駆動するためのＷＤ線駆動回路WDDRVが配置されている。符号生成回路CODEGENは、データ書き込み時に符号を生成する。シンドロームジェネレータSYNDGENは、データリード時にシンドロームを発生し、誤り訂正回路ＥＣはシンドロームのデコードと誤り訂正を行う。
【００３４】
第１の実施形態と図１３に示した従来例との違いを以下に述べる。第１の実施形態では、ＤＱ線をリード用とライト用に分離し、リード用のＲＤＱ線（ＲＤＱｔ／ＲＤＱｃ）と、ライト用のＷＤＱ線（ＷＤＱｔ／ＷＤＱｃ）の２系統を備えている。したがって、ＤＱ線の本数は実質的に従来例の２倍となっている。これに伴い、センスアンプが、図３に示すように、デュアルポートを持つデュアルポートセンスアンプＳＡＤＰになっている。
【００３５】
さらに、図示するように、カラム選択線ＣＳＬも分離され、リード用のカラム選択線ＲＣＳＬとライト用のカラム選択線ＷＣＳＬが配置されている。これにより、クロック信号の同一サイクルにおいて、異なるアドレスに対する読み出し動作と書き込み動作を、同時に並列に行うことができるようになる。
【００３６】
さらに、同一サイクルにおいて、同じアドレスに対する読み出し動作と書き込み動作が同時に行われる場合を別に考慮する必要がある。例えば、図４（ｂ）に示したライト動作を用いて説明する。なおここで、ライト動作は、前述した「ＥＣＣにおけるリードモディファイライト」を指すものとする。ライトコマンドＷが入力されるサイクル０では、アドレスＣＡ０に対する読み出し動作（Ｒ０）が行われ、サイクル２ではメモリセルに対する書き込み動作（Ｗ０）が行われる。ここで、ライトコマンドＷが入力されるサイクル２において、やはりこのライトコマンドＷに対応するアドレスがＣＡ０である場合は、サイクル２での読み出し動作（Ｒ２）も同じアドレスである。このため、例えばカラム選択線ＲＣＳＬ０とＷＣＳＬ０が同時に立ってしまい、デュアルポートセンスアンプＳＡＤＰにおいてデータが衝突してしまう。これは、サイクル２において、アドレスＣＡ０に対するリードコマンドが入力された場合でも同じ問題が生ずる。
【００３７】
これを避けるため、図２において、誤り訂正回路ＥＣの後段にレジスタＲＥＧを設けている。これにより、第１サイクルにおいて入力されたコマンドのカラムアドレスが、以前入力されたライトコマンドに従って第１サイクルにおいて書き込み動作を行うアドレスと同一であるならば、メモリセルからの読み出し動作は行わずにレジスタＲＥＧに記憶されたデータを使用する。これによって、読み出し動作と書き込み動作の衝突を回避することができる。
【００３８】
図３に、ＤＲＡＭマクロにおけるデュアルポートセンスアンプＳＡＤＰの構成を示す。この図では説明を簡単にするために、セルアレイの片側のみを示している。
【００３９】
メモリセルに対する書き込み時には、ライト用のカラム選択線ＷＣＳＬのうちの１本が選択され、ＷＤＱ線がビット線対に接続されてデータがメモリセルに書き込まれる。一方、メモリセルからの読み出し時には、リード用のカラム選択線ＲＣＳＬのうちの1本が選択され、メモリセルに記憶されたデータがセンスアンプにより増幅され、ビット線対を介してＲＤＱ線に読み出される。
【００４０】
ここで、異なるカラムアドレスに対して、読み出し動作と書き込み動作が行われる場合、例えば、リード用のカラム選択線ＲＣＳＬ０に対応する読み出し動作と、ライト用のカラム選択線ＷＣＳＬ１に対する書き込み動作が同時に行われる場合、ビット線対ＢＬＰ０のデータは、ＲＤＱｔ＜０＞／ＲＤＱｃ＜０＞線に読み出されるとともに、ＷＤＱｔ＜０＞／ＷＤＱｃ＜０＞線のデータが、ビット線対ＢＬＰ８に伝えられ、メモリセルに書き込まれる。
【００４１】
図４（ａ）、図４（ｂ）、及び図４（ｃ）は、第１の実施形態の半導体記憶装置におけるリード動作及びライト動作を示す図である。
【００４２】
図４（ａ）は、３段パイプライン構成において、連続するリードコマンドＲが入力されている場合のリード動作を示しており、その制御は以下のように従来例と同様である。リードコマンドＲの入力に伴って、カラムアドレスＣＡ０が連続して入力されると、サイクル０で、読み出し動作（Ｒ０）、すなわちアドレスデコード、カラム選択線ＣＳＬの選択、ＲＤ線へのデータの読み出しが行われる。サイクル１では、カラムアドレスＣＡ１に対する読み出し動作（Ｒ１）が前記読み出し動作（Ｒ０）と同様に行われると同時に、読み出し動作（Ｒ０）により読み出されたデータに対し、誤り訂正動作（Ｅ０）が行われる。サイクル２では、カラムアドレスＣＡ２に対する読み出し動作（Ｒ２）、カラムアドレスＣＡ１に対する誤り訂正動作（Ｅ１）、カラムアドレスＣＡ０に対する出力動作（Ｑ０）が平行して行われる。
【００４３】
また、図４（ｂ）は、３段パイプライン構成において、連続するライトコマンドＷが入力されている場合のライト動作を示している。この図４（ｂ）ではレイテンシを１として、ライトデータを1クロック遅く入力している。すなわち、ライトデータＤ０、Ｄ１、…は、ライトコマンドＷに対して、１クロック遅れて入力されている。
【００４４】
図２において、「ＥＣＣにおけるリードモディファイライト」動作を行う際には、リードデータに誤り訂正を行った後、この訂正されたデータに、入力された１２８ビットより小さいライトデータを上書きして、符号を生成する必要がある。したがって、ライトデータを入力するタイミングは、誤り訂正が終わり、符号が生成される前にするのがよい。そのためには、パイプラインの構成によっては、ライトコマンドの入力サイクルよりも数クロック遅らせてライトデータを入力するほうがよい。もちろん、ライトコマンドと同時にライトデータを入力して、必要になるまでレジスタにライトデータを保存してもよいが、レジスタの形成に必要な面積分だけチップサイズが大きくなる。ユーザの要求する仕様がライトレイテンシを０に規定している場合には、パイプライン構成によっては、後者のようにレジスタにライトデータを保存しておく必要が出てくる場合がある。
【００４５】
図４（ｃ）は、後述する４段パイプライン構成において、連続するライトコマンドＷが入力されている場合のライト動作を示している。この図で、（Ｅｊ）はシンドローム生成とデコード、誤り訂正を示し、（Ｃｊ）は符号の生成を示している。ここでは、書き込みのレイテンシを２としている。その理由は、図４（ｂ）の場合と同様に、ライトデータを入力するタイミングは、誤り訂正が終わり、符号が生成される前にするのがよいからである。なお、ｊは０以上の自然数である。
【００４６】
図５（ａ）及び図５（ｂ）は、パイプライン構成の例としてそれぞれ３段パイプラインと４段パイプラインの場合を示している。
【００４７】
図５（ａ）に示す３段パイプラインの動作を以下に説明する。ライトコマンドＷが入力された場合、まず第１ステージでは、入力されたコマンドとアドレスがデコードされ、カラム選択線ＣＳＬが活性化されて、メモリセルからＤＱ線にデータが読み出される。第２ステージでは、読み出されたリードデータに対して誤り訂正が行われ、さらに訂正されたリードデータ並びに入力されたライトデータに対して符号化が行われる。第３ステージでは、第１ステージと同じアドレスのカラム選択線ＣＳＬが活性化されて、符号化されたデータがメモリセルに書き込まれる。なお、リードコマンドが入力された場合には、符号化とメモリセルへの書き込みは行わずに、誤り訂正されたデータが第３ステージで外部に出力される。
【００４８】
また、図５（ｂ）に示す４段パイプラインの動作では、読み出したリードデータの誤り訂正と、訂正されたリードデータの符号化が別ステージになっている。第２ステージでは、読み出したリードデータの誤り訂正が行われ、第３ステージでは訂正されたリードデータの符号化が行われる。第４ステージでは、第１ステージと同じアドレスのカラム選択線ＣＳＬが活性化されて、符号化されたデータがメモリセルに書き込まれる。なお、リードコマンドが入力された場合には、符号化とメモリセルへの書き込みは行わずに、誤り訂正されたデータが第４ステージで外部に出力される。
【００４９】
以上説明したようにこの第１の実施形態の半導体記憶装置では、外部データバス幅が、使用される誤り訂正符号の情報長よりも実質的に短い場合、例えばバイトマスク機能により、入力されたライトデータが通常よりも少なくなるような場合においても、前述したリードモディファイライトにおけるデータの衝突を防ぐことができるため、高速なデータ転送レートを得ることができる。さらに、この実施形態の半導体記憶装置が形成されるチップ面積を低減することができる。すなわち、誤り訂正機能をもつ半導体記憶装置において、入力データのビット幅が誤り訂正符号の情報長より小さい場合においても、内部バスを二重化することにより、スピードペナルティを小さくすることができる。さらに、バーストモードを導入することにより、面積ペナルティも小さくすることが可能である。
【００５０】
［第２の実施形態］
次に、この発明の第２の実施形態のクロック同期型のＤＲＡＭマクロを含む半導体記憶装置について説明する。このＤＲＡＭマクロは、半導体基板に単独で形成されていてもよいし、半導体基板にロジック回路と共に混載されていてもよい。前記第１の実施形態における構成と同様の部分には同じ符号を付してその説明は省略し、以下に異なる構成部分のみを説明する。
【００５１】
図６は、第２の実施形態の半導体記憶装置におけるデータバスに沿った構成を示す図である。センスアンプＳＡＥＯとＤＱバッファDQBUFとの間を接続するＤＱ線は、奇数アドレスに対応するｏＤＱｔ／ｏＤＱｃ線と、偶数アドレスに対応するｅＤＱｔ／ｅＤＱｃ線とに分離されている。ＲＤ線駆動回路RDDRVと誤り訂正回路ＥＣ及びシンドロームジェネレータSYNDGENとの間には、マルチプレクサＲＭＵＸが接続されている。また、符号生成回路CODEGENとＷＤ線駆動回路WDDRVとの間には、レジスタＷＲＥＧ、マルチプレクサＷＭＵＸが接続されている。さらに、ＷＤ線及びＲＤ線は、第１の実施形態と比べて２倍の本数を有している。
【００５２】
第２の実施形態では、データバスの二重化を行うが、センスアンプはデュアルポートを持っていない。偶数アドレスのデータと奇数アドレスのデータを同時に取り扱う、いわゆる２ビットプリフェッチ方式を採用している。さらに、第１の実施形態では、毎サイクルに異なるアドレスに対するリードコマンドならびにライトコマンドを入力することができたが、第２の実施形態では、リード及びライトにおけるデータの入出力はバースト動作で行われる。また、前述したように、ＤＱ線は奇数アドレスに対応したｏＤＱｔ／ｏＤＱｃ線と、偶数アドレスとに対応したｅＤＱｔ／ｅＤＱｃ線とに分離されており、これに対応したセンスアンプＳＡＥＯが配置されている。
【００５３】
一方、ＥＣＣ入出力ブロックECCIOBLK内の誤り訂正回路ＥＣと入力バッファDINBUF、出力バッファDOUTBUFなどのデータの入出力制御回路では、データバスは二重化していない。ＲＤ線は、ＥＣＣ入出力ブロックECCIOBLKに接続される前段において、マルチプレクサＲＭＵＸによってマルチプレックスされて、１３７×２ビットから１３７ビットに一重化される。
【００５４】
ライトデータバスについては、符号生成回路CODEGENの直後に１３７ビットのレジスタＷＲＥＧが配置されている。これらレジスタＷＲＥＧから出力されるライトデータが、マルチプレクサＷＭＵＸによってマルチプレックスされて、ＷＤ線に出力され１３７ビットから１３７×２ビットに二重化される。
【００５５】
通常、市販されている汎用のシンクロナスＤＲＡＭには、２ビット、４ビット、８ビットなどのバースト長が設定されたバーストモードが搭載されている。バーストモードとは、データの開始アドレスを指定し、その開始アドレスから定まったビット数のデータを連続して転送する機能である。
【００５６】
図７は、図６に示したＥＣＣ入出力ブロックECCIOBLKを詳細に示したものである。以下に、第２の実施形態のリード動作を、図６及び図７を用いて説明する。ここでは、バースト長を２とする。なお、後述するように、バースト長は４でも８でもその動作は同様である。
【００５７】
リード時には、まずサイクル０で、アドレス０のデータ１３７ビットとアドレス１のデータ１３７ビットが同時にＲＤ線まで読み出される。サイクル１では、マルチプレクサＲＭＵＸにより、アドレス０のデータ１３７ビットのみがＥＣＣ入出力ブロックECCIOBLKまで転送されて、シンドロームジェネレータSYNDGENによりシンドロームが生成され、誤り訂正回路ＥＣにより誤り訂正が行われる。さらに、サイクル２において、アドレス０の訂正されたデータ１２８ビットを、出力バッファDOUTBUFを介して外部に出力するとともに、アドレス１のデータ１３７ビットがＥＣＣ入出力ブロックECCIOBLKに転送され、同様に誤り訂正が行われる。またこれと同時に、２つ目のバーストリードコマンドが入力され、アドレス２に対するデータとアドレス３に対するデータが同時にＲＤ線に読み出される。以降の動作は前述と同様である。
【００５８】
以下に、ライト動作の場合について説明する。まず、メモリセルからの読み出しは今説明したリード動作の場合と殆ど同じであり、データを外部に出力しないだけである。誤り訂正回路ＥＣで訂正されたリードデータは、符号生成回路CODEGENにおいて、外部から入力されたライトデータと合成された後、符号が生成され、複数のレジスタＷＲＥＧのうちの１つに順次格納されていく。さらに、次のサイクルにおいて複数あるレジスタＷＲＥＧのうちの２つが選択されて、二重化されたＷＤ線、ＤＱ線を介してアドレス２つ分のデータを同時にメモリセルに書き込む。
【００５９】
図８は、第２の実施形態の半導体記憶装置において３段パイプライン方式を使用した場合の動作を示す図である。図８には、バースト長ＢＬが２、４、８の場合をそれぞれ示している。
【００６０】
バースト長ＢＬ＝２の場合について以下に説明する。サイクル０において、ライトコマンドＷとバースト開始アドレスが入力され、これに対応するアドレス０とアドレス１のデータがメモリセルからＲＤ線に読み出される。これが、図８中の（Ｒ０）と（Ｒ１）の動作である。サイクル１では、アドレス０のデータに対してシンドロームジェネレータSYNDGEN、誤り訂正回路ＥＣによる誤り訂正が行われると共に、その誤り訂正されたデータに外部からの入力データが上書きされる。そして、この入力データが上書きされたデータに対して符号生成回路CODEGENによる符号化が行われ、レジスタＷＲＥＧ０に格納される。これが、（Ｅ０）で示す動作である。
【００６１】
サイクル２では、さらに別の開始アドレスに対するライトコマンドＷが入力され、アドレス２とアドレス３のデータがメモリセルから読み出される（(Ｒ２)と(Ｒ３)）。また、これと共に、アドレス１のデータに対する誤り訂正と符号化がおこなわれ、レジスタＷＲＥＧ１に格納される（(Ｅ１)）。
【００６２】
サイクル３では、レジスタＷＲＥＧ０とレジスタＷＲＥＧ１に格納され符号化されたデータがメモリセルに同時に書き込まれると共に、アドレス２のデータが誤り訂正および符号化されてレジスタＷＲＥＧ０に格納される。以下、このような動作を繰り返す。すなわち、センスアンプＳＡＥＯの動作をみると、偶数サイクルでは読み出し動作を、偶数アドレスと奇数アドレスに対して同時に行い、奇数サイクルでは書き込み動作を、偶数アドレスと奇数アドレスに対して同時に行っている。
【００６３】
図９は、第２の実施形態の半導体記憶装置において４段パイプライン方式を使用した場合の動作を示す図である。パイプラインは、第２ステージをデータの誤り訂正に、第３ステージをデータの符号化に割り当てている。書き込み動作は奇数サイクルに行われるので、図８と比較すると、実際には２サイクル遅れてメモリセルに書き込まれる。そのため、レジスタＷＲＥＧは３段パイプライン構成の場合と比較して、２個分余分に必要となる。その他の動作は、図８に示した動作と同様である。バースト開始から数えて、偶数サイクルでは読み出し動作を、偶数アドレスと奇数アドレスに対して同時に行い、奇数サイクルでは書き込み動作を、偶数アドレスと奇数アドレスに対して同時に行っている。
【００６４】
図１０は、シンクロナスＤＲＡＭのアドレッシングモードを示している。いずれの場合においても、データは２ビットプリフェッチした場合には偶数アドレスと奇数アドレスの組み合わせになっているので、２ビットプリフェッチ方式においてデータが衝突することはない。すなわち、同一サイクルにおいて、２つの偶数アドレスが同時にアクセスされ、例えば図１１に示すセンスアンプＳＡＥＯにおいて、カラム選択線ＣＳＬ０とカラム選択線ＣＳＬ２が同時に選択されて、ｅＤＱｔ＜０＞線とｅＤＱｃ＜０＞線で違うメモリセルのデータが衝突することはない。
【００６５】
図１１は、第２の実施形態の半導体記憶装置におけるセンスアンプＳＡＥＯの構成を示している。偶数アドレスによって指定されるカラム選択線ＣＳＬ０、ＣＳＬ２、・・・により、ビット線は、偶数アドレスに対応するＤＱ線（ｅＤＱｔ／ｅＤＱｃ線）に接続される。一方、奇数アドレスによって指定されるカラム選択線ＣＳＬ１、ＣＳＬ３、・・・により、ビット線は奇数アドレスに対応するＤＱ線（ｏＤＱｔ／ｏＤＱｃ線）に接続される。このように、センスアンプＳＡＥＯにおけるＤＱ線の本数は実質的に２倍になっている。また、センスアンプＳＡＥＯは、カラム選択線ＣＳＬをリード用とライト用に分離して設ける必要がないので、第１の実施形態と比較してチップ面積の増加を抑制することができる。
【００６６】
また、第２の実施形態においては、偶数アドレスであるか奇数アドレスであるか、すなわちカラムアドレスの最下位ビット（ＬＳＢ）であるＣＡ０の値が０であるか、１であるかに従ってデータバスを二重化しているが、カラムアドレスの下位ビットＣＡ１、ＣＡ０の値が００または０１，１０，１１に従ってデータバスを四重化する４ビットプリフェッチバースト方式に対しても本発明は適用可能である。さらに一般に、Ｎビットプリフェッチバースト方式（Ｎ＝２、４、８、１６、…）でも適用可能である。
【００６７】
以上説明したようにこの第２の実施形態の半導体記憶装置では、外部データバス幅が、使用される誤り訂正符号の情報長よりも実質的に短い場合、例えばバイトマスク機能により、入力されたライトデータが通常よりも少なくなるような場合においても、前述したリードモディファイライトにおけるデータの衝突を防ぐことができるため、高速なデータ転送レートを得ることができる。さらに、この実施形態の半導体記憶装置が形成されるチップ面積を低減することができる。
【００６８】
［第３の実施形態］
次に、この発明の第３の実施形態のクロック同期型のＤＲＡＭマクロを含む半導体記憶装置について説明する。前記第３の実施形態では、データバスに沿った構成は図６に示した前記第２の実施形態と同様であるが、動作制御が異なる。ＤＲＡＭマクロは、半導体基板に単独で形成されていてもよいし、半導体基板にロジック回路と共に混載されていてもよい。
【００６９】
図１２は、第３の実施形態の半導体記憶装置におけるライト動作を示す図である。以下に、バースト長が８の場合を述べる。ライトコマンドＷと開始アドレスが指定されると、順次、各サイクルにおいて、連続したアドレスに対応するメモリセルからデータが読み出される。読み出された次のサイクルでシンドロームジェネレータSYNDGEN、誤り訂正回路ＥＣによる誤り訂正が行われ、その次のサイクルで符号生成回路CODEGENによる符号化が行われる。さらに、その次のサイクルで、最初のサイクルのアドレスに対応するメモリセルに書き込みが行われる。
【００７０】
この第３の実施形態におけるセンスアンプの動作は、奇数サイクルでは奇数アドレスに対するメモリセルからの読み出しと、偶数アドレスに対するメモリセルへの書き込みが同時に行われる。一方、偶数サイクルでは、偶数アドレスに対するメモリセルからの読み出しと、奇数アドレスに対するメモリセルへの書き込みが同時に行われる。したがって、同一サイクルにおいてデータが衝突することはない。
【００７１】
前記センスアンプでは、カラム選択線ＣＳＬをリード用とライト用に別々に設ける必要がないので、第１の実施形態と比較して、半導体記憶装置が形成されるチップ面積を減少させることができる。なお、第３の実施形態においても、第２の実施形態と同様にデータバスを多重化してもよい。
【００７２】
以上説明したようにこの第３の実施形態の半導体記憶装置では、一つのサイクルにおいて奇数アドレスあるいは偶数アドレスのいずれか一方に対するメモリセルからの読み出しと、前記奇数アドレスあるいは偶数アドレスのいずれか他方に対するメモリセルへの書き込みが同時に行われる。したがって、外部データバス幅が、使用される誤り訂正符号の情報長よりも実質的に短い場合、例えばバイトマスク機能により、入力されたライトデータが通常よりも少なくなるような場合においても、ライト動作、すなわち前述したリードモディファイライトにおけるデータの衝突を防ぐことができるため、高速なデータ転送レートを得ることができる。さらに、リード用とライト用のカラム選択線ＣＳＬを別々に配置する必要がないため、半導体記憶装置が形成されるチップ面積の増加を抑制することができる。
【００７３】
前記実施形態にて説明してきたように、誤り訂正（ＥＣＣ）機能をもった同期型の半導体記憶装置においても、従来、外部から入力されるデータのビット幅が、内部の誤り訂正符号の情報長よりも小さい場合に問題となるリードモディファイライトによるサイクルタイムの悪化を解消することができ、高速なデータ転送レートを実現できると共に、ＥＣＣ機能による信頼性の高い半導体記憶装置を提供することができる。
【００７４】
この発明の実施形態の半導体記憶装置は、地球上の物質から輻射されるα線や、地球外からの宇宙線に起因するソフトエラーや、チップ動作時の予期しないノイズによるエラーや、ＤＲＡＭのメモリセルに蓄えられた電荷がリークにより減少することによるエラーに対して非常に耐性の高い誤り訂正機能をもち、さらに、入出力（Ｉ／Ｏ）バス幅が狭い場合や、バイトマスク機能を使用する場合にも、誤り訂正符号長を大きくできるため、パリティビットの占めるチップ面積を小さくでき、かつ高速なデータ転送レートを実現することが可能である。
【００７５】
また、前述した各実施形態はそれぞれ単独で実施できるばかりでなく、適宜組み合わせて実施することも可能である。さらに、前述した各実施形態には種々の段階の発明が含まれており、各実施形態において開示した複数の構成要件の適宜な組み合わせにより、種々の段階の発明を抽出することも可能である。
【図面の簡単な説明】
【００７６】
【図１】この発明の第１の実施形態の半導体記憶装置に搭載されたクロック同期型のＤＲＡＭマクロの構成を示す配置図である。
【図２】第１の実施形態の半導体記憶装置におけるデータバスに沿った構成を示す図である。
【図３】第１の実施形態の半導体記憶装置におけるデュアルポートセンスアンプの構成を示す図である。
【図４】第１の実施形態の半導体記憶装置におけるリード動作及びライト動作を示す図である。
【図５】第１の実施形態の半導体記憶装置におけるパイプラインの構成例を示す図である。
【図６】この発明の第２及び第３の実施形態の半導体記憶装置におけるデータバスに沿った構成を示す図である。
【図７】第２の実施形態の半導体記憶装置におけるＥＣＣ入出力ブロックの構成を示す図である。
【図８】第２の実施形態の半導体記憶装置において３段パイプライン方式を使用した場合の動作を示す図である。
【図９】第２の実施形態の半導体記憶装置において４段パイプライン方式を使用した場合の動作を示す図である。
【図１０】通常のシンクロナスＤＲＡＭのアドレッシングモードを示す図である。
【図１１】第２の実施形態の半導体記憶装置におけるセンスアンプの構成を示す図である。
【図１２】第３の実施形態の半導体記憶装置におけるライト動作を示す図である。
【図１３】従来のＤＲＡＭマクロにおいてＥＣＣ(error checking and correction)を適用した場合のデータバスに沿った構成を示す図である。
【図１４】従来のＤＲＡＭマクロにおけるライト動作時のデータの流れ示す図である。
【図１５】従来のＤＲＡＭマクロにおけるリード動作時のデータの流れを示す図である。
【図１６】従来のＤＲＡＭマクロにおけるパイプライン動作を示す図である。
【図１７】従来のＤＲＡＭマクロにおける外部入力バス幅が誤り訂正符号の情報長より短い場合のライト動作時のデータの流れ示す図である。
【図１８】従来のＤＲＡＭマクロにおける外部入力バス幅が誤り訂正符号の情報長より短い場合の動作を示す図である。
【符号の説明】
【００７７】
BANK1，2…バンク、CTRLBLK…制御ブロック、ECCIOBLK…ＥＣＣ入出力ブロック、DECBLK…デコーダブロック、ＳＡ…センスアンプ、DQBUFBLK…制御回路、ＣＡ…セルアレイ、ＷＣＳＬ，ＲＣＳＬ…カラム選択線、DQBUF…ＤＱバッファ、RDDRV…ＲＤ線駆動回路、DINBUF…入力バッファ、DOUTBUF…出力バッファ、CODEGEN…符号生成回路、シンドロームジェネレータ、ＥＣ…誤り訂正回路、ＲＥＧ…レジスタ、WDDRV…ＷＤ線駆動回路。
【図１】
2006244632.tif 000003
【図２】
2006244632.tif 000004
【図３】
2006244632.tif 000005
【図４】
2006244632.tif 000006
【図５】
2006244632.tif 000007
【図６】
2006244632.tif 000008
【図７】
2006244632.tif 000009
【図８】
2006244632.tif 000010
【図９】
2006244632.tif 000011
【図１０】
2006244632.tif 000012
【図１１】
2006244632.tif 000013
【図１２】
2006244632.tif 000014
【図１３】
2006244632.tif 000015
【図１４】
2006244632.tif 000016
【図１５】
2006244632.tif 000017
【図１６】
2006244632.tif 000018
【図１７】
2006244632.tif 000019
【図１８】
2006244632.tif 000020