(57)【特許請求の範囲】
【請求項１】
複数のビット線と、
複数のワード線と、
前記ビット線と前記ワード線とに接続されデータを記憶可能な複数のメモリセルを含むメモリセルアレイと、
前記メモリセルに格納されたデータを検出する複数のセンスアンプと、
前記メモリセルにデータを書き込む複数のライトドライバと、
前記センスアンプにおいて検出された読出しデータおよび前記ライトドライバによって前記メモリセルへ書き込むべき書込みデータを一時的に格納し、該読出しデータと該書込みデータとを比較する比較バッファとを備え、
一連の書込みシーケンス中において、前記比較バッファは、書込み対象である選択メモリセルからの読出しデータおよび該選択メモリセルに書き込むべき書込みデータを格納し、
前記一連の書込みシーケンス後、前記ビット線の電圧をリセットするプリチャージコマンドを受けたときに、前記比較バッファは、前記選択メモリセルからの読出しデータと該選択メモリセルへの書込みデータとを比較し、
前記比較バッファは、前記選択メモリセルからの読出しデータの論理と該選択メモリセルへの書込みデータの論理とが異なる場合に、前記ライトドライバが前記選択メモリセルへの書込みを実行するように書込み実行コマンドを活性化し、前記選択メモリセルからの読出しデータの論理と前記選択メモリセルへの書込みデータの論理とが同一である場合には書込み実行コマンドを活性化しないことを特徴とする半導体記憶装置。
【請求項２】
複数のビット線と、
複数のワード線と、
前記ビット線と前記ワード線とに接続されデータを記憶可能な複数のメモリセルを含むメモリセルアレイと、
前記メモリセルに格納されたデータを検出する複数のセンスアンプと、
前記メモリセルにデータを書き込む複数のライトドライバと、
選択メモリセルからの読出しデータおよび前記選択メモリセルへ書き込むべき書込みデータを一時的に格納し、該読出しデータと該書込みデータとを比較する比較バッファとを備え、
書込みシーケンス中において、前記比較バッファは、前記読出しデータおよび前記書込みデータを格納し、
前記書込みシーケンス後、前記ビット線の電圧をリセットするプリチャージコマンドを受けたときに、前記比較バッファは、前記選択メモリセルからの読出しデータの論理と前記選択メモリセルへの書込みデータの論理とが異なる場合に前記選択メモリセルへの書込みを実行する書込み実行コマンドを活性化し、前記選択メモリセルからの読出しデータの論理と前記選択メモリセルへの書込みデータの論理とが同一である場合には書込み実行コマンドを活性化しないことを特徴とする半導体記憶装置。
【請求項３】
前記比較バッファに格納された書込みデータを前記メモリセルアレイへ送信するライトバッファをさらに備え、
前記比較バッファは、前記ライトバッファへ前記書込み実行コマンドを出力し、
前記ライトバッファは、
前記選択メモリセルからの読出しデータの論理と前記選択メモリセルへの書込みデータの論理とが異なる場合に前記書込みデータを前記メモリセルアレイへ送信し、前記選択メモリセルからの読出しデータの論理と前記選択メモリセルへの書込みデータの論理とが同一である場合には前記書込みデータを前記メモリセルアレイへ送信しないことを特徴とする請求項２に記載の半導体記憶装置。
【請求項４】
前記比較バッファは、
前記選択メモリセルへ書き込むべき書込みデータを保持する第１のラッチ部と、
前記選択メモリセルからの読出しデータを保持する第２のラッチ部と、
前記プリチャージコマンドが活性化されたときに、前記第２のラッチ部からの読出しデータの論理と前記第１のラッチ部からの書込みデータの論理とを比較し、該読出しデータの論理と該書込みデータの論理とが異なる場合に前記書込み実行コマンドを活性化させるロジック部とを備えたことを特徴とする請求項２または請求項３に記載の半導体記憶装置。
【請求項５】
前記第１のラッチ部に保持された前記選択メモリセルからの読出しデータは、前記書込みデータによって上書きされることを特徴とする請求項４に記載の半導体記憶装置。
【請求項６】
前記選択メモリセルからの読出しデータを外部へ出力するデータ読出し動作において、前記第１および第２のラッチ部は、ともに前記選択メモリセルからの読出しデータを保持し、
前記ロジック部は、前記書込み実行コマンドを不活性状態に維持することを特徴とする請求項４または請求項５に記載の半導体記憶装置。
【請求項７】
前記選択メモリセルからの読出しデータの誤りを補正する誤り補正部をさらに備え、
前記選択メモリセルからの読出しデータを外部へ出力するデータ読出し動作において、前記第１のラッチ部は、前記選択メモリセルからの読出しデータの誤りを補正した補正読出しデータを保持し、
前記第１のラッチ部に保持された前記補正読出しデータは、前記書込みデータによって上書きされ、
前記ロジック部は、前記第１のラッチ部において保持されている前記書込みデータの論理と前記第２のラッチ部に保持されている前記読出しデータの論理とが異なる場合に、前記書込み実行コマンドを活性状態にすることを特徴とする請求項４から請求項６のいずれかに記載の半導体記憶装置。
【請求項８】
前記比較部において比較される読出しデータおよび書込みデータは、同じアドレスを有することを特徴とする請求項２から請求項７のいずれかに記載の半導体記憶装置。
【請求項９】
データを記憶可能な複数のメモリセルを含むメモリセルアレイと、前記メモリセルに格納されたデータを検出する複数のセンスアンプと、前記メモリセルにデータを書き込む複数のライトドライバと、選択メモリセルからの読出しデータおよび前記選択メモリセルへ書き込むべき書込みデータを一時的に格納する比較バッファとを備えた半導体記憶装置の駆動方法であって、
書込みシーケンス中において、前記読出しデータおよび前記書込みデータを前記比較バッファに格納し、
前記書込みシーケンス後、前記ビット線の電圧をリセットするプリチャージコマンドを受けたときに、前記比較バッファは、前記選択メモリセルからの読出しデータの論理と前記選択メモリセルへの書込みデータの論理とが異なる場合に前記選択メモリセルへの書込みを実行する書込み実行コマンドを活性化し、前記選択メモリセルからの読出しデータの論理と前記選択メモリセルへの書込みデータの論理とが同一である場合には書込み実行コマンドを活性化しない、ことを具備する半導体記憶装置の駆動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明による実施形態は、半導体記憶装置に関する。
【背景技術】
【０００２】
ＤＲＡＭ（Dynamic Random Access Memory）等の揮発性メモリの置き換えとしてＭＲＡＭ（Magnetic RAM）等の不揮発性メモリが開発されている。
【０００３】
しかし、ＭＲＡＭは、ＭＴＪ（Magnetic Tunnel Junction）素子に電流を流してデータを書き込むため、書込み動作に或る程度時間がかかる。従って、同一バンクのメモリセルへ短時間の間に連続的にアクセスがあると、データを書き込むことができないという事態が生じ得る。
【０００４】
また、データ書込み動作を行なう際、メモリセルにもともと格納されているデータの論理が、そのメモリセルへ書き込むデータの論理と同一である場合、本来不要な書込み電流（セル電流）を無駄に消費していることになる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】ＪＥＤＥＣ ＬＰＤＤＲ２ ＪＥＳＤ２０９−２Ｅ
【発明の概要】
【発明が解決しようとする課題】
【０００６】
データ書込みにおいて、無駄な消費電力を抑制し、連続的なデータ書込みが可能な半導体記憶装置を提供する。
【課題を解決するための手段】
【０００７】
本実施形態による半導体記憶装置は、複数のビット線と複数のワード線とを備える。メモリセルアレイは、ビット線とワード線とに接続されデータを記憶可能な複数のメモリセルを含む。複数のセンスアンプは、メモリセルに格納されたデータを検出する。複数のライトドライバは、メモリセルにデータを書き込む。比較バッファは選択メモリセルからの読出しデータおよび選択メモリセルへ書き込むべき書込みデータを一時的に格納し、該読出しデータと該書込みデータとを比較する。書込みシーケンス中において、比較バッファは、読出しデータおよび書込みデータを格納する。書込みシーケンス後、ビット線の電圧をリセットするプリチャージコマンドを受けたときに、比較バッファは、選択メモリセルからの読出しデータの論理と選択メモリセルへの書込みデータの論理とが異なる場合に選択メモリセルへの書込みを実行する書込み実行コマンドを活性化する。選択メモリセルからの読出しデータの論理と選択メモリセルへの書込みデータの論理とが同一である場合には書込み実行コマンドを活性化しない。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態に従ったＭＲＡＭのメモリセルアレイおよびその周辺回路のブロック図。
【図２】単一のメモリセルＭＣの構成および動作を示す説明図。
【図３】読出しグローバルデータバスＲＧＤＢおよび書込みグローバルデータバスＷＧＤＢとメモリセルマクロＭＣＭ１〜ＭＣＭ４との間の接続関係を示す図。
【図４】比較バッファＣＭＰＢの内部構成を示すブロック図。
【図５】第１の実施形態によるメモリのデータ書込み動作を示すタイミング図。
【図６】第２の実施形態に従ったＭＲＡＭの構成を示すブロック図。
【図７】第２の実施形態によるメモリのデータ書込み動作を示すタイミング図。
【図８】第３の実施形態に従ったＭＲＡＭの構成を示すブロック図。
【図９】第３の実施形態に従った比較バッファＣＭＰＢの構成を示すブロック図。
【図１０】第４の実施形態に従ったＭＲＡＭの構成を示すブロック図。
【図１１】第５の実施形態に従ったＭＲＡＭの構成を示すブロック図。
【図１２】第５の実施形態に従った比較バッファＣＭＰＢの構成を示すブロック図。
【発明を実施するための形態】
【０００９】
以下、図面を参照して本発明に係る実施形態を説明する。本実施形態は、本発明を限定するものではない。
【００１０】
（第１の実施形態）
図１は、第１の実施形態に従った磁気ランダムアクセスメモリ（以下、ＭＲＡＭ）のメモリセルアレイおよびその周辺回路のブロック図である。尚、本実施形態は、ＭＲＡＭ以外の抵抗変化型素子を用いたメモリ（例えば、ＰＣＲＡＭ、ＲｅＲＡＭ等）に適用可能である。
【００１１】
本実施形態によるＭＲＡＭは、複数のメモリセルアレイＭＣＡを含むセルアレイユニットＣＡＵと、複数のメインワード線ＭＷＬと、複数のローカルワード線ＬＷＬと、複数の読出しグローバルデータバスＲＧＤＢと、複数の書込みグローバルデータバスＷＧＤＢと、センスアンプＳ／Ａと、リードバッファＲＢと、ライトドライバＷ／Ｄと、書込みバッファＷＢと、ロウコントローラＲＣと、メインロウデコーダＭＲＤと、カラムデコーダＣＤと、入出力ゲート回路ＩＯＧと、リード・ライトデータ線ＲＷＤとを備えている。尚、図１に示す各構成要素の数は限定されず、図１に示す構成は多数設けられていてよい。また、ソース線は設けられているが、ここでは省略されている。
【００１２】
各メモリセルアレイＭＣＡは、マトリクス状に二次元配置された複数のメモリセルＭＣを含む。各メモリセルＭＣは、図３に示すようにビット線ＢＬとローカルワード線ＬＷＬとの交点に対応して配置されている。ビット線ＢＬは、カラム方向に延伸しており、ローカルワード線ＬＷＬは、カラム方向に対して直交するロウ方向に延伸している。
【００１３】
メインワード線ＭＷＬは、ローカルロウデコーダＬＲＤに接続されており、さらにローカルロウデコーダＬＲＤはローカルワード線ＬＷＬを介してメモリセルＭＣに接続される。メモリセルマクロＭＣＭ内の各セルアレイユニットＣＡＵにおいて、メインワード線ＭＷＬは、ローカルワード線ＬＷＬと１対１に対応している。従って、本実施形態において、メインワード線ＭＷＬとローカルワード線ＬＷＬとを区別する必要がなく、特許請求の範囲における「ワード線」は、いずれの意味に解しても構わない。
【００１４】
複数のメモリセルアレイＭＣＡがセルアレイユニットＣＡＵを構成している。図１では、４つのメモリセルアレイＭＣＡがセルアレイユニットＣＡＵを構成している。しかし、各セルアレイユニットＣＡＵに含まれるメモリセルアレイＭＣＡの個数は、特に限定しない。
【００１５】
メインワード線ＭＷＬを共有する複数のセルアレイユニットＣＡＵはメモリセルマクロＭＣＭを構成する。メモリセルマクロＭＣＭは、１つのリードコマンドでデータを同時に読み出し、または、１つのライトコマンドでデータを同時に書き込む活性化単位である。読出しグローバルデータバスＲＧＤＢおよび書込みグローバルデータバスＷＧＤＢを共有する複数のメモリセルマクロＭＣＭがマクロブロックＭＢを構成する。各メモリセルマクロＭＣＭに含まれるセルアレイユニットＣＡＵの数も特に限定しない。
【００１６】
センスアンプＳ／Ａは、複数のビット線ＢＬに対応して設けられており、複数のビット線ＢＬのうちいずれかを介して伝達されたデータを検出する。ライトドライバＷ／Ｄは、複数のビット線ＢＬに対応して設けられており、複数のビット線ＢＬのうちいずれかを介してメモリセルＭＣへデータを書き込む。
【００１７】
各セルアレイユニットＣＡＵは、単数または複数のセンスアンプＳ／Ａと、単数または複数のライトドライバＷ／Ｄとを備えている。１つのメモリセルマクロＭＣＭ内の複数のセンスアンプＳ／Ａは、それぞれ異なる読出しグローバルデータバスＲＧＤＢに接続されている。１つのメモリセルマクロＭＣＭ内の複数のライトドライバＷ／Ｄは、それぞれ異なる書込みグローバルデータバスＷＧＤＢに接続されている。つまり、読出しグローバルデータバスＲＧＤＢおよび書込みグローバルデータバスＷＧＤＢは、それぞれセンスアンプＳ／ＡおよびライトドライバＷ／Ｄに対して１対１に対応して設けられている。従って、読出しグローバルデータバスＲＧＤＢおよび書込みグローバルデータバスＷＧＤＢは、それぞれセンスアンプＳ／ＡおよびライトドライバＷ／Ｄに対応する複数のビット線ＢＬに対応して設けられていることになる。
【００１８】
読出しグローバルデータバスＲＧＤＢおよび書込みグローバルデータバスＷＧＤＢは、カラム方向に延伸している。メインワード線ＭＷＬは、カラム方向に対して直交するロウ方向に延伸している。
【００１９】
読出しグローバルデータバスＲＧＤＢは、カラムデコーダＣＤを介してリードバッファＲＢに接続されている。書込みグローバルデータバスＷＧＤＢは、カラムデコーダＣＤを介してライトバッファＷＢに接続されている。カラムデコーダＣＤは、カラムアドレスに従ってビット線ＢＬを選択するように構成されている。このとき、カラムデコーダＣＤは、１つのセンスアンプＳ／Ａに対して１本のビット線ＢＬを選択して駆動する。
【００２０】
リードバッファＲＢおよびライトバッファＷＢは、入出力ゲート回路ＩＯＧを介してリード・ライトデータ線ＲＷＤに接続される。リードバッファＲＢは、対応する読出しグローバルデータバスＲＧＤＢから得た読出しデータを増幅し、このデータを入出力ゲート回路ＩＯＧへ転送することができる。そして、リードバッファＲＢは、入出力ゲート回路ＩＯＧを介してその読出しデータを外部へ送信する。ライトバッファＷＢは、リード・ライトデータ線ＲＷＤから得た書込みデータを増幅し、このデータをメモリセルマクロＭＣＭ１〜ＭＣＭ４へ転送することができる。
【００２１】
リード・ライトデータ線ＲＷＤは、リードバッファＲＢおよびライトバッファＷＢのペア数と同数設けられており、１つのメモリセルマクロＭＣＭから同時に読み出されたデータを並行してメモリチップの外部へ読み出すことができる。また、リード・ライトデータ線ＲＷＤは、１つのメモリセルマクロＭＣＭに同時に書き込むデータを並行してメモリチップの外部から取り込むことができる。例えば、１つのマクロブロックＭＢＡ内にリードバッファＲＢおよびライトバッファＷＢのペアが６４個ある場合、リード・ライトデータ線ＲＷＤは各ペアに対応するように６４本設けられる。これにより、メモリは、６４ビットデータを同時に読み出し、あるいは、書き込むことができる。
【００２２】
メインワード線ＭＷＬは、ロウコントローラＲＣに接続されており、ロウコントローラＲＣは、メインロウデコーダＭＲＤに接続されている。メインロウデコーダＭＲＤは、ロウアドレスをデコードする。ロウコントローラＲＣは、ロウアドレスに従ってマクロブロックＭＢ内の複数のメモリセルマクロＭＣＭのそれぞれにおいてメインワード線ＭＷＬを１本ずつ選択する。メインワード線ＭＷＬを選択すると、そのメインワード線ＭＷＬに対応するローカルワード線ＬＷＬが各セルアレイユニットＣＡＵにおいて１本ずつ選択される。これにより、該メモリセルマクロＭＣＭにおいて、各センスアンプＳ／Ａが、カラムアドレスによって選択されたビット線ＢＬとロウアドレスによって選択されたメインワード線ＭＷＬ（またはローカルワード線ＬＷＬ）との交点に対応するメモリセルＭＣ（以下、選択メモリセルＭＣ）のデータを検出することができる。また、該メモリセルマクロＭＣＭにおいて、各ライトドライバＷ／Ｄが、選択メモリセルＭＣへデータを書き込むことができる。
【００２３】
本実施形態では、データ書込み時に、書込みデータは、リード・ライトデータ線ＲＷＤを介して、入出力ゲート回路ＩＯＧ内の比較バッファＣＭＰＢ（図３参照）に一旦格納される。また、書込み対象であるページのメモリセルＭＣのデータも比較バッファＣＭＰＢへ一旦読み出される。このとき、メモリセルＭＣへの書込みは、まだ行なわれない。そして、メモリがプリチャージ状態に入ると、比較バッファＣＭＰＢが、書込みデータとそれに対応する読出しデータとを比較する。比較バッファＣＭＰＢは、比較の結果に基づいて、読出しデータと論理の異なる書込みデータをメモリセルマクロＭＣＭへ書き込むようにライトバッファＷＢを制御する。ライトドライバＷ／Ｄは、読出しデータと論理の異なる書込みデータをメモリセルＭＣへ書き込む。読出しデータの論理と書込みデータの論理が同一である場合、比較バッファＣＭＰＢは、書込みデータをメモリセルマクロＭＣＭへ書き込まないようにライトバッファＷＢを制御する。
【００２４】
図２は、単一のメモリセルＭＣの構成および動作を示す説明図である。各メモリセルＭＣは、それぞれ磁気トンネル接合素子（ＭＴＪ（Magnetic Tunnel Junction）素子）１０と、セルトランジスタ２０とを含む。ＭＴＪ素子１０およびセルトランジスタ２０は、ビット線ＢＬとソース線ＳＬとの間に直列に接続されている。メモリセルＭＣにおいて、セルトランジスタ２０がビット線ＢＬ側に配置され、ＭＴＪ素子１０がソース線側に配置されている。セルトランジスタ２０のゲートは、ワード線ＷＬ（メインワード線ＭＷＬまたはローカルワード線ＬＷＬ）に接続されている。
【００２５】
ＴＭＲ（tunneling magnetoresistive）効果を利用したＭＴＪ素子は、２枚の強磁性層とこれらに挟まれた非磁性層（絶縁薄膜）とからなる積層構造を有し、スピン偏極トンネル効果による磁気抵抗の変化によりデジタルデータを記憶する。ＭＴＪ素子は、２枚の強磁性層の磁化配列によって、低抵抗状態と高抵抗状態とを取り得る。例えば、低抵抗状態をデータ“０”と定義し、高抵抗状態をデータ“１”と定義すれば、ＭＴＪ素子に１ビットデータを記録することができる。もちろん、低抵抗状態をデータ“１”と定義し、高抵抗状態をデータ“０”と定義してもよい。例えば、ＭＴＪ素子は、固定層、トンネルバリア層、記録層を順次積層して構成される。固定層Ｆおよび記録層Ｐは、強磁性体で構成されており、トンネルバリア層は、絶縁膜からなる。固定層Ｆは、磁化の向きが固定されている層であり、記録層Ｐは、磁化の向きが可変であり、その磁化の向きによってデータを記憶する。
【００２６】
書込み時に矢印Ａ１の向きに電流を流すと、固定層Ｆの磁化の向きに対して記録層Ｐのそれがアンチパラレル状態となり、高抵抗状態（データ“１”）となる。書込み時に矢印Ａ２の向きに電流を流すと、固定層Ｆと記録層Ｐとのそれぞれの磁化の向きがパラレル状態となり、低抵抗状態（データ“０”）となる。このように、ＴＭＪ素子は、電流方向によって異なるデータを書き込むことができる。
【００２７】
図３は、読出しグローバルデータバスＲＧＤＢおよび書込みグローバルデータバスＷＧＤＢとメモリセルマクロＭＣＭ１〜ＭＣＭ４との間の接続関係を示す図である。図３では、一例として、メモリセルマクロＭＣＭ１〜ＭＣＭ４のそれぞれにおいて２つのメモリセルアレイＭＣＡを示している。図３では、センスアンプＳ／ＡとライトドライバＷ／Ｄのペア、および、読出しグローバルデータバスＲＧＤＢと書込みグローバルデータバスＷＧＤＢのペアは、１つずつ図示されている。しかし、実際には、これらのペアは複数設けられている。
【００２８】
読出しグローバルデータバスＲＧＤＢは、リードバッファＲＢに接続されており、書込みグローバルデータバスＷＧＤＢは、ライトバッファＷＢに接続されている。リードバッファＲＢおよびライトバッファＷＢは、比較バッファＣＭＰＢを介してリード・ライトデータ線ＲＷＤに接続されている。比較バッファＣＭＰＢは、図１の入出力ゲート回路ＩＯＧ内に組み込まれている。
【００２９】
メモリセルマクロＭＣＭ１〜ＭＣＭ４内においてメモリセルアレイＭＣＡ間にローカルロウデコーダＬＲＤが設けられている。ローカルロウデコーダＬＲＤは、ローカルワード線ＬＷＬを駆動するためのバッファとして機能する。従って、実際には、ロウコントローラＲＣは、メインワード線ＭＷＬおよびローカルロウデコーダＬＲＤを介してワード線ＷＬを駆動する。尚、図３では、メインワード線ＭＷＬは省略されている。
【００３０】
同一のマクロブロックＭＢ内の複数のメモリセルマクロＭＣＭは、読出しグローバルデータバスＲＧＤＢおよび書込みグローバルデータバスＷＧＤＢを共有している。
【００３１】
一方、同一のメモリセルマクロＭＣＭ内の複数のセンスアンプＳ／Ａは、それぞれ複数の読出しラッチ部ＲＬＣＨを介して異なる読出しグローバルデータバスＲＧＤＢに接続されている。読出しラッチ部ＲＬＣＨは、センスアンプＳ／Ａに対応して設けられており、センスアンプＳ／Ａと読出しグローバルデータバスＲＧＤＢとの間に接続されている。読出しラッチ部ＲＬＣＨは、センスアンプＳ／Ａによって検出されたデータをラッチする。読出しラッチ部ＲＬＣＨは、ラッチされたデータを、出力イネーブル信号ＳＯＥ＿Ｃｉ（ｉは整数）によって決定されるタイミングで出力するゲーテッドインバータＩｎ１を含む。
【００３２】
メモリセルマクロＭＣＭ内の複数のライトドライバＷ／Ｄは、それぞれ複数の書込みラッチ部ＷＬＣＨを介して異なる書込みグローバルデータバスＷＧＤＢに接続されている。書込みラッチ部ＷＬＣＨは、ライトドライバＷ／Ｄに対応して設けられており、ライトドライバＷ／Ｄと書込みグローバルデータバスＷＧＤＢとの間に接続されている。書込みラッチ部ＷＬＣＨは、入力イネーブル信号ＷＩＥ＿Ｃｉによって決定されるタイミングで書込みグローバルデータバスＷＧＤＢから書込みデータを受け取るゲーテッドインバータＩｎ２を含む。これにより、書込みラッチ部ＷＬＣＨは、ライトドライバＷ／Ｄに送るためのデータをラッチする。
【００３３】
センスアンプＳ／ＡおよびライトドライバＷ／Ｄは、カラム選択線ＣＳＬによって選択されたビット線ＢＬに接続される。尚、図３では、一方のメモリセルアレイＭＣＡがセンスアンプＳ／Ａに接続され、他方のメモリセルアレイＭＣＡがライトドライバＷ／Ｄに接続されているように見える。しかし、各メモリセルアレイＭＣＡは、それぞれカラム選択線ＣＳＬを介してセンスアンプＳ／ＡおよびライトドライバＷ／Ｄの両方に接続され得る。カラム選択線ＣＳＬの電圧は、カラムデコーダＣＤによって制御される。
【００３４】
比較バッファＣＭＰＢは、データ書込み動作において、書込みデータとそのデータを書き込むべき選択メモリセルＭＣに記憶されているデータとを一時的に格納し、これらのデータの論理を比較する回路である。
【００３５】
データ読出し時には、各メモリセルマクロＭＣＭにおいて１本のメインワード線ＭＷＬが選択され、選択された該メインワード線ＭＷＬに接続された複数のメモリセルＭＣからのデータは複数の読出しグローバルデータバスＲＧＤＢを介してセンスアンプＳ／Ａに同時に検出される。センスアンプＳ／Ａで検出されたデータは、対応する読出しラッチ部ＲＬＣＨに一時的に保持される。そして、出力イネーブル信号ＳＯＥ＿Ｃ１〜ＳＯＥ＿Ｃ４を異なるタイミングで順番に連続して活性化し、各メモリセルマクロＭＣＭの読出しラッチ部ＲＬＣＨから読出しグローバルデータバスＲＧＤＢへ連続的にデータを出力する。読出しデータは、読出しグローバルデータバスＲＧＤＢを介して比較バッファＣＭＰＢに一旦格納される。このとき、１つのメモリセルマクロＭＣＭ内の複数の読出しラッチ部ＲＬＣＨは、それぞれに接続された複数の読出しグローバルデータバスＲＧＤＢに同時にデータを伝送してよい。これにより、マクロブロックＭＢ内の全ての読出しグローバルデータバスＲＧＤＢを無駄なく用いてデータを並行に伝送することができる。一方、１つのマクロブロックＭＢにおける異なるメモリセルマクロＭＣＭ内の読出しラッチ部ＲＬＣＨは、互いに異なるタイミングでデータを読出しグローバルデータバスＲＧＤＢへ伝達する。これにより、複数のデータが読出しグローバルデータバスＲＧＤＢでコリジョンすることなく連続的に伝送され得る。
【００３６】
データ書込み時には、比較バッファＣＭＰＢが、リード・ライトデータ線ＲＷＤを介して書込みデータを一旦格納する。そして、入力イネーブル信号ＷＩＥ＿Ｃ１〜ＷＩＥ＿Ｃ４を異なるタイミングで順番に連続して活性化し、書込みグローバルデータバスＷＧＤＢおよびライトバッファＷＢを介してデータを各メモリセルマクロＭＣＭの書込みラッチ部ＷＬＣＨへ連続的に取り込む。このとき、１つのメモリセルマクロＭＣＭ内の複数の書込みラッチ部ＷＬＣＨは、それぞれに接続された複数の比較バッファＣＭＰＢから同時にデータを取り込んでよい。これにより、マクロブロックＭＢ内の全ての書込みグローバルデータバスＷＧＤＢを無駄なく用いてデータを並行して伝送することができる。一方、１つのマクロブロックＭＢにおける異なるメモリセルマクロＭＣＭの書込みラッチ部ＷＬＣＨは、互いに異なるタイミングでデータを１つの比較バッファＣＭＰＢから受け取る。これにより、複数のデータが書込みグローバルデータバスＷＧＤＢでコリジョンすることなく連続的に書込みラッチ部ＷＬＣＨへ伝送され得る。
【００３７】
図４は、比較バッファＣＭＰＢの内部構成を示すブロック図である。比較バッファＣＭＰＢは、マルチプレクサＭＵＸと、ＤフリップフロップＤＦＦ１、ＤＦＦ２と、ロジック回路ＬＣと、ゲート回路Ｇ１とを備えている。
【００３８】
マルチプレクサＭＵＸは、リードバッファＲＢおよびライトバッファＷＢに接続されており、読出しデータＲＤ１〜ＲＤ４および書込みデータＲＷＤ１〜ＲＷＤ４を受け取る。読出しデータＲＤ１〜ＲＤ４および書込みデータＲＷＤ１〜ＲＷＤ４は、それぞれメモリセルマクロＭＣＭ１〜ＭＣＭ４に対応している。
【００３９】
マルチプレクサＭＵＸは、読出しデータＲＤ１〜ＲＤ４または書込みデータＲＷＤ１〜ＲＷＤ４のいずれかを選択的にＤフリップフロップＤＦＦ１へ転送する。例えば、マルチプレクサＭＵＸは、読出しコマンドＣＢＲ＿ＬＴＣ１〜ＣＢＲ＿ＬＴＣ４が活性化された場合に、読出しデータＲＤ１〜ＲＤ４を選択し、書込みコマンドＣＢＷ＿ＬＴＣ１〜ＣＢＷ＿ＬＴＣ４が活性化された場合に、書込みデータＲＷＤ１〜ＲＷＤ４を選択する。
【００４０】
ゲート回路Ｇ１は、ＮＯＲゲートであり、読出しコマンドＣＢＲ＿ＬＴＣ１〜ＣＢＲ＿ＬＴＣ４および書込みコマンドＣＢＷ＿ＬＴＣ１〜ＣＢＷ＿ＬＴＣ４を入力し、これらの少なくともいずれかが活性化されている場合に、ＤフリップフロップＤＦＦ１へのラッチコマンドＬＴＣ１を活性化する。
【００４１】
第１のラッチ部としてのＤフリップフロップＤＦＦ１は、ラッチコマンドＬＴＣ１＿１〜ＬＴＣ１＿４の活性化のタイミングで、マルチプレクサＭＵＸからのデータＲＤ１〜ＲＤ４またはＲＷＤ１〜ＲＷＤ４をラッチする。
【００４２】
第２のラッチ部としてのＤフリップフロップＤＦＦ２は、ラッチコマンドＬＴＣ２＿１〜ＬＴＣ２＿４の活性化（読出しコマンドＣＢＲ＿ＬＴＣ１〜ＣＢＲ＿ＬＴＣ４の活性化）のタイミングで、読出しデータＲＤ１〜ＲＤ４をラッチする。
【００４３】
ＤフリップフロップＤＦＦ１、ＤＦＦ２は、読出しグローバルデータバスＲＧＤＢおよびリードバッファＲＢを介して得られた読出しデータを１ページ分（例えば、１２８ビット）保持できるように設けられている。ＤフリップフロップＤＦＦ１は、リード・ライトデータ線ＲＷＤを介して得られた書込みデータを１ページ分（例えば、１２８ビット）保持できるように設けられている。
【００４４】
ロジック部としてのロジック回路ＬＣは、プリチャージコマンドＰＲＥＣＨ、ＤフリップフロップＤＦＦ１、ＤＦＦ２にラッチされているデータＲＤ１〜ＲＤ４またはＲＷＤ１〜ＲＷＤ４を受け取り、これらのコマンドＰＲＥＣＨおよびデータＲＤ１〜ＲＤ４、ＲＷＤ１〜ＲＷＤ４に基づいて書込み実行コマンドＣＢＷを活性化させる。ロジック回路ＬＣは、書込み実行コマンドＣＢＷをライトバッファＷＢへ出力する。
【００４５】
例えば、ロジック回路ＬＣは、プリチャージコマンドＰＲＥＣＨが活性化されたタイミングで、ＤフリップフロップＤＦＦ２からのデータＲＤ１〜ＲＤ４の論理とＤフリップフロップＤＦＦ１からのデータＲＤ１〜ＲＤ４またはＲＷＤ１〜ＲＷＤ４の論理とを比較する。そして、ロジック回路ＬＣは、これらのデータの論理が異なる場合に書込み実行コマンドＣＢＷを活性化させる。これらのデータの論理が同じである場合には、ロジック回路ＬＣは、書込み実行コマンドＣＢＷを不活性状態に維持する。
【００４６】
書込み実行コマンドＣＢＷが活性化されると、ライトバッファＷＢは、ＤフリップフロップＤＦＦ１に格納された書込みデータのうち対応するアドレスの書込みデータをライトドライバＷＤへ転送する。書込み実行コマンドＣＢＷが不活性状態である場合には、ライトバッファＷＢは、ＤフリップフロップＤＦＦ１に格納された書込みデータのうち対応するアドレスの書込みデータをライトドライバＷＤへ転送しない。尚、プリチャージコマンドＰＲＥＣＨ１〜ＰＲＥＣＨ４は、バンクアドレス（メモリセルマクロＭＣＭのアドレス）を有している。従って、ライトバッファＷＢは、プリチャージコマンドＰＲＥＣＨ１〜ＰＲＥＣＨ４を受け取ったときに、バンクアドレスに従ってメモリセルマクロＭＣＭ１〜ＭＣＭ４のいずれかに書込みデータを転送すればよい。
【００４７】
ロジック回路ＬＣは、複数の書込みデータＲＷＤ１〜ＲＷＤ４および複数の読出しデータＲＤ１〜ＲＤ４に対して共通化されている。この場合、ロジック回路ＬＣは、書込みデータＲＷＤ１〜ＲＷＤ４と読出しデータＲＤ１〜ＲＤ４との比較をそれぞれ異なるタイミングで実行すればよい。
【００４８】
（データ書込み動作）
図５は、第１の実施形態によるメモリのデータ書込み動作を示すタイミング図である。ここでは、例えば、各マクロブロックＭＢが４つのメモリセルマクロＭＣＭ１〜ＭＣＭ４を含むものと仮定する。従って、４つのライトコマンドＷ１〜Ｗ４によって各メモリセルマクロＭＣＭ１〜ＭＣＭ４への書込み動作（書込みシーケンス）が開始される。
【００４９】
本実施形態によるデータ書込み動作では、センスアンプＳ／Ａが書込み対象である選択メモリセルＭＣからデータを一旦読み出し、比較バッファＣＭＰＢがその読出しデータを格納する。また、比較バッファＣＭＰＢは、選択メモリセルＭＣに書き込むべき書込みデータをリード・ライトデータ線ＲＷＤから受け取り、その書込みデータを格納する。即ち、データを実際に書き込む前に、選択メモリセルＭＣからデータを読み出している。従って、ライトコマンドＷ１〜Ｗ４に基づいて、読出しコマンドＣＢＲ＿ＬＴＣ１〜ＣＢＲ＿ＬＴＣ４も活性化されている。
【００５０】
以下、より詳細にデータ書込み動作を説明する。
【００５１】
クロックＣＫ＿ｔに従って、アドレスＣＡ（カラムアドレス、ロウアドレス等）および各種コマンドＣｍｄ（アクティブコマンドＡ、ライトコマンドＷ１〜Ｗ４等）がメモリへ送信される。尚、ロウアドレスによって、１つのメモリセルマクロＭＣＭにおいて１本のメインワード線ＭＷＬが選択され、選択メインワード線ＭＷＬに接続された各セルアレイユニットＣＡＵ内のローカルワード線ＬＷＬも選択される。また、カラムアドレスによって、メモリセルマクロＭＣＭ内のセンスアンプＳ／Ａのそれぞれに接続されるビット線ＢＬが選択される。メモリセルマクロＭＣＭ内の複数のセンスアンプＳ／Ａは、選択ビット線ＢＬおよび選択ローカルワード線ＬＷＬに接続された選択メモリセルＭＣからデータを同時に読み出す。
【００５２】
ｔ０において、メモリがアクティブコマンドＡを受け取ると、ロウアドレスが選択される。その後、メモリがライトコマンドＷ１〜Ｗ４を受け取ると、カラムアドレスが選択される。
【００５３】
ワードイネーブル信号ｂＭＷＬがロウレベルに活性化されると、ロウアドレスに従ってワード線ＬＷＬ＿Ｃ１〜ＬＷＬ＿Ｃ４の駆動が可能になる。カラム選択線ＣＳＬがハイレベルに活性化されると、図３を参照して説明したように、カラムアドレスによって選択されたビット線ＢＬがセンスアンプＳ／Ａに接続される。これにより、各メモリセルマクロＭＣＭ１〜ＭＣＭ４のセンスアンプＳ／Ａは、選択メモリセルＭＣのデータを検出することができる。センスアンプＳ／Ａで検出されたデータは、読出しラッチ部ＲＬＣＨにラッチされる。
【００５４】
ライトコマンドＷ１〜Ｗ４の受信に伴い、ｔ１〜ｔ４において、出力イネーブル信号ＳＯＥ＿Ｃ１〜ＳＯＥ＿Ｃ４を連続的に活性化する。これにより、メモリセルマクロＭＣＭ１〜ＭＣＭ４の読出しラッチ部ＲＬＣＨにラッチされた読出しデータは、読出しグローバルデータバスＲＧＤＢを介して連続的に比較バッファＣＭＰＢに転送される。そして、ライトコマンドＷ１〜Ｗ４の受信に伴い、ｔ１〜ｔ５において、読出しコマンドＣＢＲ＿ＬＴＣ１〜ＣＢＲ＿ＬＴＣ４が連続的に活性化される。
【００５５】
ｔ２において読出しコマンドＣＢＲ＿ＬＴＣ１が活性化された場合に、メモリセルマクロＭＣＭ１から読み出されたデータが図４に示す比較バッファＣＭＰＢのＤフリップフロップＤＦＦ１、ＤＦＦ２の両方に保持される。同様に、ｔ３において読出しコマンドＣＢＲ＿ＬＴＣ２が活性化された場合に、メモリセルマクロＭＣＭ２から読み出されたデータが比較バッファＣＭＰＢのＤフリップフロップＤＦＦ１、ＤＦＦ２の両方に保持される。ｔ４において読出しコマンドＣＢＲ＿ＬＴＣ３が活性化された場合に、メモリセルマクロＭＣＭ３から読み出されたデータが比較バッファＣＭＰＢのＤフリップフロップＤＦＦ１、ＤＦＦ２の両方に保持される。ｔ５において読出しコマンドＣＢＲ＿ＬＴＣ４が活性化された場合に、メモリセルマクロＭＣＭ４から読み出されたデータが比較バッファＣＭＰＢのＤフリップフロップＤＦＦ１、ＤＦＦ２の両方に保持される。このように、メモリセルマクロＭＣＭ１〜ＭＣＭ４のそれぞれの読出しデータが比較バッファＣＭＰＢのＤフリップフロップＤＦＦ１、ＤＦＦ２に格納される。
【００５６】
尚、読出しコマンドＣＢＲ＿ＬＴＣ２が示すアドレスは、読出しコマンドＣＢＲ＿ＬＴＣ１が示すアドレスとは異なるので、ＤフリップフロップＤＦＦ１、ＤＦＦ２は、メモリセルマクロＭＣＭ１からの読出しデータおよびメモリセルマクロＭＣＭ１への書込みデータとは別にメモリセルマクロＭＣＭ２からの読出しデータを保持する。また、読出しコマンドＣＢＲ＿ＬＴＣ３が示すアドレスは、読出しコマンドＣＢＲ＿ＬＴＣ１、ＣＢＲ＿ＬＴＣ２が示すアドレスとは異なるので、ＤフリップフロップＤＦＦ１、ＤＦＦ２は、メモリセルマクロＭＣＭ１、ＭＣＭ２からの読出しデータおよびメモリセルマクロＭＣＭ１、ＭＣＭ２への書込みデータとは別にメモリセルマクロＭＣＭ３からの読出しデータを保持する。さらに、読出しコマンドＣＢＲ＿ＬＴＣ４が示すアドレスは、読出しコマンドＣＢＲ＿ＬＴＣ１〜ＣＢＲ＿ＬＴＣ３が示すアドレスとは異なるので、ＤフリップフロップＤＦＦ１、ＤＦＦ２は、メモリセルマクロＭＣＭ１〜ＭＣＭ３からの読出しデータおよびメモリセルマクロＭＣＭ１〜ＭＣＭ３への書込みデータとは別にメモリセルマクロＭＣＭ４からの読出しデータを保持する。
【００５７】
一方、ｔ１〜ｔ５において、データ線ＤＱを介して比較バッファＣＭＰＢに書込みデータが転送される。ｔ３〜ｔ９において、比較バッファＣＭＰＢは、書込みコマンドＣＢＷ＿ＬＴＣ１〜ＣＢＷ＿ＬＴＣ４に従って書込みデータＲＷＤ１〜ＲＷＤ４を格納する。
【００５８】
（書込みコマンドＣＢＷ＿ＬＴＣ１による動作）
読出しコマンドＣＢＲ＿ＬＴＣ１の活性化後のｔ３において、書込みコマンドＣＢＷ＿ＬＴＣ１が活性化される。書込みコマンドＣＢＷ＿ＬＴＣ１は、読出しコマンドＣＢＲ＿ＬＴＣ１と対応しており、メモリセルマクロＭＣＭ１の選択メモリセルＭＣのアドレスを有している。即ち、書込みコマンドＣＢＷ＿ＬＴＣ１の活性化によって比較バッファＣＭＰＢに転送される書込みデータは、読出しコマンドＣＢＲ＿ＬＴＣ１の活性化によって比較バッファＣＭＰＢに転送された読出しデータと同一アドレスのデータである。
【００５９】
書込みコマンドＣＢＷ＿ＬＴＣ１が活性化されると、図４に示す比較バッファＣＭＰＢのＤフリップフロップＤＦＦ１が書込みデータを保持する。このとき、ＤフリップフロップＤＦＦ１に格納されていた読出しデータは、この書込みデータによって更新（上書き）される。これは、書込みコマンドＣＢＷ＿ＬＴＣ１および読出しコマンドＣＢＲ＿ＬＴＣ１は、同じアドレスの選択メモリセルＭＣを示しているからである。
【００６０】
これにより、メモリセルマクロＭＣＭ１の選択メモリセルＭＣからの読出しデータは、ＤフリップフロップＤＦＦ２に保持され、メモリセルマクロＭＣＭ１の選択メモリセルＭＣへ書き込むべきデータは、ＤフリップフロップＤＦＦ１に保持される。
【００６１】
その後、ｔ４〜ｔ６においても、書込みコマンドＣＢＷ＿ＬＴＣ１が活性化されている。これは、メモリが同一アドレスの書込みデータを連続して受け取っていることを意味する。一連の書込みシーケンスにおいて、同一アドレスの書込みデータを複数受け取った場合、最後に受け取った書込みデータが有効である。従って、メモリセルマクロＭＣＭ１の選択メモリセルＭＣへ書き込むべきデータは、ｔ４〜ｔ６において、書込みコマンドＣＢＷ＿ＬＴＣ１の活性化ごとに更新される。そして、ＤフリップフロップＤＦＦ１は、ｔ６において最後に受け取った書込みデータＲＷＤ１を有効に保持する。例えば、ｔ４〜ｔ６において、書込みコマンドＣＢＷ＿ＬＴＣ１が活性化されるごとに書込みデータが“１、１、１、０”と遷移した場合、最後に受け取ったデータ“０”が書込みデータＲＷＤ１となる。
【００６２】
（書込みコマンドＣＢＷ＿ＬＴＣ２による動作）
読出しコマンドＣＢＲ＿ＬＴＣ２の活性化後のｔ４において、書込みコマンドＣＢＷ＿ＬＴＣ２が活性化される。書込みコマンドＣＢＷ＿ＬＴＣ２は、読出しコマンドＣＢＲ＿ＬＴＣ２と対応しており、メモリセルマクロＭＣＭ２の選択メモリセルＭＣのアドレスを有している。
【００６３】
書込みコマンドＣＢＷ＿ＬＴＣ２が活性化されると、図４に示す比較バッファＣＭＰＢのＤフリップフロップＤＦＦ１が書込みデータを保持する。このとき、読出しコマンドＣＢＲ＿ＬＴＣ２の活性化によってＤフリップフロップＤＦＦ１に格納されていた読出しデータは、この書込みデータによって更新される。これは、書込みコマンドＣＢＷ＿ＬＴＣ２および読出しコマンドＣＢＲ＿ＬＴＣ２は、同じアドレスの選択メモリセルＭＣを示しているからである。
【００６４】
これにより、メモリセルマクロＭＣＭ２の選択メモリセルＭＣからの読出しデータは、ＤフリップフロップＤＦＦ２に保持され、メモリセルマクロＭＣＭ２の選択メモリセルＭＣへ書き込むべきデータは、ＤフリップフロップＤＦＦ１に保持される。
【００６５】
尚、この書込みシーケンスにおいて、書込みコマンドＣＢＷ＿ＬＴＣ２は、１回だけ活性化されている。従って、ＤフリップフロップＤＦＦ１は、ｔ４において受け取った書込みデータＲＷＤ２を有効に保持する。
【００６６】
書込みコマンドＣＢＷ＿ＬＴＣ２が示すアドレスは、書込みコマンドＣＢＷ＿ＬＴＣ１が示すアドレスとは異なるので、ＤフリップフロップＤＦＦ１は、書込みデータＲＷＤ１とは別に書込みデータＲＷＤ２を保持する。読出しデータＲＤ２についても、ＤフリップフロップＤＦＦ２は、読出しデータＲＤ１とは別に読出しデータＲＤ２を保持する。
【００６７】
（書込みコマンドＣＢＷ＿ＬＴＣ３による動作）
読出しコマンドＣＢＲ＿ＬＴＣ３の活性化後のｔ５において、書込みコマンドＣＢＷ＿ＬＴＣ３が活性化される。書込みコマンドＣＢＷ＿ＬＴＣ３は、読出しコマンドＣＢＲ＿ＬＴＣ３と対応しており、メモリセルマクロＭＣＭ３の選択メモリセルＭＣのアドレスを有している。
【００６８】
書込みコマンドＣＢＷ＿ＬＴＣ３が活性化されると、図４に示す比較バッファＣＭＰＢのＤフリップフロップＤＦＦ１が書込みデータを保持する。このとき、読出しコマンドＣＢＲ＿ＬＴＣ３の活性化によってＤフリップフロップＤＦＦ１に格納されていた読出しデータは、この書込みデータによって更新される。これは、書込みコマンドＣＢＷ＿ＬＴＣ３および読出しコマンドＣＢＲ＿ＬＴＣ３は、同じアドレスの選択メモリセルＭＣを示しているからである。
【００６９】
これにより、メモリセルマクロＭＣＭ３の選択メモリセルＭＣからの読出しデータは、ＤフリップフロップＤＦＦ２に保持され、メモリセルマクロＭＣＭ３の選択メモリセルＭＣへ書き込むべきデータは、ＤフリップフロップＤＦＦ１に保持される。
【００７０】
この書込みシーケンスにおいて、書込みコマンドＣＢＷ＿ＬＴＣ３は、２回活性化されている。ＤフリップフロップＤＦＦ１は、ｔ６において受け取った最後の書込みデータＲＷＤ３を有効に保持する。
【００７１】
書込みコマンドＣＢＷ＿ＬＴＣ３が示すアドレスは、書込みコマンドＣＢＷ＿ＬＴＣ１、ＣＢＷ＿ＬＴＣ２が示すアドレスとは異なるので、ＤフリップフロップＤＦＦ１は、書込みデータＲＷＤ１、ＲＷＤ２とは別に書込みデータＲＷＤ３を保持する。読出しデータＲＤ３についても、ＤフリップフロップＤＦＦ２は、読出しデータＲＤ１、ＲＤ２とは別に読出しデータＲＤ３を保持する。
【００７２】
（書込みコマンドＣＢＷ＿ＬＴＣ４による動作）
読出しコマンドＣＢＲ＿ＬＴＣ４の活性化後のｔ６において、書込みコマンドＣＢＷ＿ＬＴＣ４が活性化される。書込みコマンドＣＢＷ＿ＬＴＣ４は、読出しコマンドＣＢＲ＿ＬＴＣ４と対応しており、メモリセルマクロＭＣＭ４の選択メモリセルＭＣのアドレスを有している。
【００７３】
書込みコマンドＣＢＷ＿ＬＴＣ４が活性化されると、図４に示す比較バッファＣＭＰＢのＤフリップフロップＤＦＦ１が書込みデータを保持する。このとき、読出しコマンドＣＢＲ＿ＬＴＣ４の活性化によってＤフリップフロップＤＦＦ１に格納されていた読出しデータは、この書込みデータによって更新される。これは、書込みコマンドＣＢＷ＿ＬＴＣ４および読出しコマンドＣＢＲ＿ＬＴＣ４は、同じアドレスの選択メモリセルＭＣを示しているからである。
【００７４】
これにより、メモリセルマクロＭＣＭ４の選択メモリセルＭＣからの読出しデータは、ＤフリップフロップＤＦＦ２に保持され、メモリセルマクロＭＣＭ４の選択メモリセルＭＣへ書き込むべきデータは、ＤフリップフロップＤＦＦ１に保持される。
【００７５】
この書込みシーケンスにおいて、書込みコマンドＣＢＷ＿ＬＴＣ４は、３回活性化されている。ＤフリップフロップＤＦＦ１は、ｔ８において受け取った最後の書込みデータＲＷＤ４を有効に保持する。
【００７６】
書込みコマンドＣＢＷ＿ＬＴＣ４が示すアドレスは、書込みコマンドＣＢＷ＿ＬＴＣ１〜ＣＢＷ＿ＬＴＣ３が示すアドレスとは異なるので、ＤフリップフロップＤＦＦ１は、書込みデータＲＷＤ１〜ＲＷＤ３とは別に書込みデータＲＷＤ４を保持する。読出しデータＲＤ４についても、ＤフリップフロップＤＦＦ２は、読出しデータＲＤ１〜ＲＤ３とは別に読出しデータＲＤ４を保持する。
【００７７】
このように、本実施形態では、比較バッファＣＭＰＢは、一連の書込みシーケンス内において、複数の選択メモリセルＭＣのアドレスに対応するように書込みデータＲＷＤ１〜ＲＷＤ４と読出しデータＲＤ１〜ＲＤ４とをそれぞれラッチする。
【００７８】
その後、一連の書込みコマンドＷ１〜Ｗ４を受けた後、書込みシーケンスが終了すると、プリチャージコマンドＰＲＥＣＨ１〜ＰＲＥＣＨ４が活性化される。プリチャージコマンドＰＲＥＣＨ１〜ＰＲＥＣＨ４は、インターリーブ動作を実行するメモリセルマクロＭＣＭの個数（バンク数）と同数だけ生成される。プリチャージコマンドＰＲＥＣＨ１〜ＰＲＥＣＨ４の活性化を受けて、比較バッファＣＭＰＢのロジック回路ＬＣは、読出しデータＲＤ１〜ＲＤ４と書込みデータＲＷＤ１〜ＲＷＤ４との論理をそれぞれアドレスごとに比較する。このとき、ロジック回路ＬＣは、ＤフリップフロップＦＦＤ１およびＦＦＤ２の出力データの論理の異同をアドレスごとに検出する。
【００７９】
そして、読出しデータＲＤ１〜ＲＤ４と書込みデータＲＷＤ１〜ＲＷＤ４とが異なる論理である場合には、ロジック回路ＬＣは、書込み実行コマンドＣＢＷ＿Ａ１〜ＣＢＷ＿Ａ４を活性化させる。例えば、読出しデータＲＤ１と書込みデータＲＷＤ１とが異なる論理である場合には、ロジック回路ＬＣは、書込み実行コマンドＣＢＷ＿Ａ１を活性化させる。
【００８０】
読出しデータＲＤ１〜ＲＤ４と書込みデータＲＷＤ１〜ＲＷＤ４とが同一論理である場合には、ロジック回路ＬＣは、書込み実行コマンドＣＢＷ＿Ａ１〜ＣＢＷ＿Ａ４を活性化せず、非活性状態のままにする。例えば、読出しデータＲＤ２と書込みデータＲＷＤ２とが同一論理である場合には、ロジック回路ＬＣは、書込み実行コマンドＣＢＷ＿Ａ２を活性化せず、不活性状態のままにする。
【００８１】
図５に示す例では、読出しデータＲＤ１と書込みデータＲＷＤ１とが互いに異なる論理であり、読出しデータＲＤ４と書込みデータＲＷＤ４とが互いに異なる論理である。その他の書込みデータＲＷＤ２、ＲＷＤ３は、それぞれ読出しデータＲＤ２、ＲＤ３と同一論理である。従って、ロジック回路ＬＣは、書込み実行コマンドＣＢＷ＿Ａ１、ＣＢＷ＿Ａ４を活性化し（ｔ１０、ｔ１３）、書込み実行コマンドＣＢＷ＿Ａ２、ＣＢＷ＿Ａ３を不活性状態のままとしている。
【００８２】
そして、ライトバッファＷＢは、書込み実行コマンドＣＢＷ＿Ａ１、ＣＢＷ＿Ａ４の活性化に応じて、書込みグローバルデータバスＷＧＤＢを介して書込みデータＲＷＤ１、ＲＷＤ４をメモリセルマクロＭＣＭ１、ＭＣＭ４のライトドライバＷＤへ転送する。書込みデータＲＷＤ１、ＲＷＤ４は、それぞれＤフリップフロップＤＦＦ１に格納されているので、ＤフリップフロップＤＦＦ１から転送される。
【００８３】
例えば、ｔ１１において、入力イネーブル信号ＷＩＥ＿Ｃ１が活性化され、メモリセルマクロＭＣＭ１の書込みラッチ部ＷＬＣＨは、書込みデータＲＷＤ１を受け取る。ｔ１４において、入力イネーブル信号ＷＩＥ＿Ｃ４が活性化され、メモリセルマクロＭＣＭ４の書込みラッチ部ＷＬＣＨは、書込みデータＲＷＤ４を受け取る。尚、データ書込みを行わないメモリセルマクロＭＣＭ２，ＭＣＭ３の入力イネーブル信号ＷＩＥ＿Ｃ２、ＷＩＥ＿Ｃ３は活性化されない。
【００８４】
そして、メモリセルマクロＭＣＭ１、ＭＣＭ４の各ライトドライバＷＤは、書込みデータＲＷＤ１、ＲＷＤ４を受け取ると、プリチャージ期間内に、その書込みデータＲＷＤ１、ＲＷＤ４をメモリセルマクロＭＣＭ１、ＭＣＭ４の選択メモリセルＭＣへ書き込む。
【００８５】
以上のように、本実施形態によれば、データ書込み動作において、書込み対象の選択メモリセルＭＣのデータを読み出し、比較バッファＣＭＰＢがその読出しデータＲＤ１〜ＲＤ４の論理と書込みデータＲＷＤ１〜ＲＷＤ４の論理とをアドレスごとに比較する。そして、読出しデータの論理と書込みデータの論理とが異なる場合に、ライトドライバＷＤは、その書込みデータを対応する選択メモリセルへ書き込む。読出しデータの論理と書込みデータの論理とが同一である場合、ライトドライバＷＤは、対応する選択メモリセルへ書き込まない。
【００８６】
これにより、書込みデータの論理が選択メモリセルＭＣに格納されているデータの論理と異なるメモリセルマクロＭＣＭ１、ＭＣＭ４のみにおいて、ライトドライバＷＤは、選択メモリセルＭＣへの書込み動作を実行すればよい（即ち、選択メモリセルＭＣへセル電流を流せばよい）。一方、書込みデータの論理が選択メモリセルＭＣに格納されているデータの論理と同一であるメモリセルマクロＭＣＭ２、ＭＣＭ３において、ライトドライバＷＤは、選択メモリセルＭＣへの書込み動作を実行する必要がない（即ち、選択メモリセルＭＣへセル電流を流す必要がない）。その結果、本実施形態は、データ書込みにおいて、無駄な消費電力を抑制することができる。
【００８７】
また、本実施形態では、一連の書込みコマンドＷ１〜Ｗ４によって取り込んだ書込みデータＲＷＤ１〜ＲＷＤ４は、比較バッファＣＭＰＢに一旦格納される。比較バッファＣＭＰＢは、一連の書込みコマンドＷ１〜Ｗ４の受信後、プリチャージＰＲＥＣＨ１〜ＰＲＥＣＨ４が活性化されると、書込み実行コマンドＣＢＷ＿Ａ１〜ＣＢＷ＿Ａ４を活性化させる。これにより、ライトドライバＷＤは、プリチャージ期間中に選択メモリセルＭＣへの実際の書込み動作を実行する。従って、ユーザから見た見かけ上の書込み時間は、ライトバッファＷＢへのデータ書込みの時間となり、選択メモリセルＭＣへの実際の書込み時間は、ユーザに意識されない。従って、本実施形態によるＭＲＡＭは、書込み動作が非常に高速になり、インターリーブ動作が容易となる。
【００８８】
さらに、４つのプリチャージコマンドＰＲＥＣＨ１〜ＰＲＥＣＨ４は、それぞれメモリセルマクロＭＣＭ１〜ＭＣＭ４のアドレス（バンクアドレス）を有するので、プリチャージ期間において各メモリセルマクロＭＣＭ１〜ＭＣＭ４への書込み動作を時間的に分散することができる。これにより、多数のメモリセルマクロＭＣＭへの書込みが同時に行われることを防止し、消費電流が瞬間的に増大することを抑制することができる。即ち、本実施形態によるＭＲＡＭは、書込み電流を均すことができる。
【００８９】
さらに、比較バッファＣＭＰＢは、一連の書込みシーケンスにおいて、同一アドレスの書込みデータが連続して入力されても、その最後の書込みデータＲＷＤ１〜ＲＷＤ４のみを保持する。そして、ライトドライバＷＤは、プリチャージ期間中に、その最後の書込みデータＲＷＤ１〜ＲＷＤ４を選択メモリセルＭＣへ書き込む。従って、短時間（ＭＴＪ素子へデータを書き込むために必要な時間よりも短い時間）の間に同一メモリセルマクロＭＣＭのメモリセルＭＣへ連続的にアクセスがあっても、書込み不良が生じない。尚且つ、ＭＴＪ素子へデータを書き込むために必要な時間を充分に得ることができる。
【００９０】
尚、比較バッファＣＭＰＢが格納する書込みデータおよび読出しデータの容量は限定されない。一連の書込みシーケンスにおいて、比較バッファＣＭＰＢは、リードバッファＲＢおよびライトバッファＲＢのそれぞれに２ページ以上のデータを格納してよい。１ページは、データ読出し単位であり、あるいは、データ書込み単位である。
【００９１】
（データ読出し動作）
データを外部へ読み出すデータ読出し動作では、データは、比較バッファＣＭＰＢに一旦格納された後、リード・ライトデータ線ＲＷＤを介して外部へ出力される。読出しデータを比較バッファＣＭＰＢに格納するまでの動作は、図５およびその説明を参照することによって容易に理解できる。従って、読出しデータの検出から比較バッファＣＭＰＢに格納するまでのメモリの動作についての詳細な説明は省略する。但し、メモリは、書込みコマンドＷ１〜Ｗ４に代えて読出しコマンドＲ１〜Ｒ４を受け取り、読出しコマンドＲ１〜Ｒ４に基づいて読出し動作を実行する。
【００９２】
図４に示す比較バッファＣＭＰＢのＤフリップフロップＤＦＦ１、ＤＦＦ２は、リードコマンドＣＢＲ＿ＬＴＣ１〜ＣＢＲ＿ＬＴＣ４を受けたときに、両者とも読出しデータＲＤ１〜ＲＤ４を保持する。その後、書込みコマンドは入力されないので、ＤフリップフロップＤＦＦ１、ＤＦＦ２にラッチされている同じアドレスのデータは、互いに同一論理である。従って、データ読出し動作では、ロジック回路ＬＣは、書込み実行コマンドＣＢＷ＿Ａ１〜ＣＢＷ＿Ａ４を活性状態にすることはなく、ライトバッファＷＢは動作しない。
【００９３】
比較バッファＣＭＰＢは、ＤフリップフロップＤＦＦ１に格納された読出しデータをそのままの論理でリード・ライトデータ線ＲＷＤを介して出力すればよい。
【００９４】
尚、図３に示す各メモリセルマクロＭＣＭ１〜ＭＣＭ４の読出しラッチ部ＲＬＣＨが、出力イネーブル信号ＳＯＥ＿Ｃ１〜ＳＯＥ＿Ｃ４に基づいて順番にデータを読出しグローバルデータバスＲＧＤＢへ転送する。従って、バーストリード動作が可能である。
【００９５】
（第２の実施形態）
図６は、第２の実施形態に従ったＭＲＡＭの構成を示すブロック図である。第２の実施形態は、読出しグローバルデータバスＲＧＤＢおよび書込みグローバルデータバスＷＧＤＢが共通化されており、グローバルデータバスＲＷＧＤＢとして設けられている。各メモリセルマクロＭＣＭ１〜ＭＣＭ４の読出しラッチ部ＲＬＣＨおよび書込みラッチ部ＷＬＣＨは、ともにグローバルデータバスＲＷＧＤＢに接続されており、グローバルデータバスＲＷＧＤＢを介して比較バッファＣＭＰＢに接続されている。よって、第１の実施形態による比較バッファＣＭＰＢは、デュアルポート型であるが、第２の実施形態による比較バッファＣＭＰＢは、シングルポート型である。
【００９６】
図５に示すように、データ書込み動作では、書込みデータが書込みグローバルデータバスＷＧＤＢを伝搬するタイミング（ｔ１１〜ｔ１４）は、プリチャージ期間中である。従って、書込みデータが書込みグローバルデータバスＷＧＤＢを伝搬するタイミングは、読出しデータが読出しグローバルデータバスＲＧＤＢを伝搬するタイミング（ｔ１〜ｔ５）と重複しない。よって、第２の実施形態のようにグローバルデータバスＲＷＧＤＢを共通にしても問題無い。これに伴い、リードバッファＲＢおよびライトバッファＷＢは、共通のグローバルデータバスＲＷＧＤＢに接続される。リードバッファＲＢおよびライトバッファＷＢの機能は、第１の実施形態のそれらと同様である。第２の実施形態のその他の構成は、第１の実施形態の対応する構成と同様でよい。
【００９７】
図７は、第２の実施形態によるメモリのデータ書込み動作を示すタイミング図である。グローバルデータバスＲＷＧＤＢは、読出しと書込みとにおいて共通化されており、読出しデータおよび書込みデータを異なるタイミングで伝搬する。第２の実施形態のその他の動作は、第１の実施形態の対応する動作と同様でよい。
【００９８】
第２の実施形態は、第１の実施形態と同様の効果を得ることができる。さらに、第２の実施形態では、読出しおよび書込みにおけるグローバルデータバスＲＷＧＤＢが共通化されており、リードバッファＲＢおよびライトバッファＷＢが省略されている。従って、第２の実施形態によるＭＲＡＭは、メモリチップの微細化に有利である。
【００９９】
（第３の実施形態）
図８は、第３の実施形態に従ったＭＲＡＭの構成を示すブロック図である。第３の実施形態では、リードバッファＲＢと比較バッファＣＭＰＢとの間にＥＣＣ（Error Correcting Code）デコーダＥＣＣＤＥＣが設けられている。ライトバッファＷＢと比較バッファＣＭＰＢとの間にＥＣＣエンコーダＥＣＣＥＮＣが設けられている。第３の実施形態のその他の構成は、第１の実施形態の対応する構成と同様でよい。
【０１００】
図９は、第３の実施形態に従った比較バッファＣＭＰＢの構成を示すブロック図である。比較バッファＣＭＰＢの構成自体は、第１の実施形態による比較バッファＣＭＰＢの構成と同じである。しかし、マルチプレクサＭＵＸは、ＥＣＣデコーダＥＣＣＤＥＣによって補正された読出しデータＰＲＤ１〜ＰＲＤ４を受けている。従って、読出しコマンドＣＢＲ＿ＬＴＣ１〜ＣＢＲ＿ＬＴＣ４の活性化によって、ＤフリップフロップＤＦＦ１は、補正読出しデータＰＲＤ１〜ＰＲＤ４をラッチする。
【０１０１】
第３の実施形態によるデータ書込み動作は、第１の実施形態によるデータ書込み動作と同じである。図５を参照して説明したように、ＤフリップフロップＤＦＦ１は、読出しコマンドＣＢＲ＿ＬＴＣ１〜ＣＢＲ＿ＬＴＣ４の活性化によって、一旦、補正読出しデータＰＲＤ１〜ＰＲＤ４をラッチする。しかし、その後、書込みコマンドＣＢＥ＿ＬＴＣ１〜ＣＢＥ＿ＬＴＣ４が活性化されるので、ＤフリップフロップＤＦＦ１は、書込みデータＲＷＤ１〜ＲＷＤ４で更新される。
【０１０２】
従って、比較バッファＣＭＰＢは、選択メモリセルＭＣに実際に格納されている読出しデータＲＤ１〜ＲＤ４と書込みデータＲＷＤ１〜ＲＷＤ４とを比較する。従って、読出しデータＲＤ１〜ＲＤ４と補正読出しデータＰＲＤ１〜ＰＲＤ４との相違は、問題とならない。
【０１０３】
一方、外部へデータを読み出すデータ読出し動作では、ＤフリップフロップＤＦＦ１は、補正読出しデータＰＲＤ１〜ＰＲＤ４を格納し、ＤフリップフロップＤＦＦ２は、読出しデータＲＤ１〜ＲＤ４を格納する。従って、もし、補正読出しデータＰＲＤ１〜ＰＲＤ４と読出しデータＲＤ１〜ＲＤ４とが相違している場合、ロジック回路ＬＣは、書込み実行コマンドＣＢＷ＿Ａ１〜ＣＢＷ＿Ａ４を活性化させる。これにより、ライトバッファＷＢは、ＤフリップフロップＤＦＦ１に保持された補正読出しデータＰＲＤ１〜ＰＲＤ４をメモリセルＭＣへ書き込む。即ち、メモリセルＭＣに格納されていたデータの論理が誤っていた場合には、比較バッファＣＭＰＢは、補正後の正しいデータＰＲＤ１〜ＰＲＤ４を該メモリセルＭＣに書き込むことができる。
【０１０４】
このように、第３の実施形態は、ＥＣＣ回路を有するＭＲＡＭにも適用することができる。第３の実施形態のその他の動作は、第１の実施形態の動作と同様でよい。これにより、第３の実施形態は、第１の実施形態と同様の効果をさらに得ることができる。
【０１０５】
（第４の実施形態）
図１０は、第４の実施形態に従ったＭＲＡＭの構成を示すブロック図である。第４の実施形態は、第２および第３の実施形態の組み合わせである。即ち、第４の実施形態は、読出しグローバルデータバスＲＧＤＢおよび書込みグローバルデータバスＷＧＤＢが共通化されており、グローバルデータバスＲＷＧＤＢとして設けられている。また、ＥＣＣデコーダＥＣＣＤＥＣおよびＥＣＣエンコーダＥＣＣＥＮＣがリードバッファＲＢ、ライトバッファＷＢと比較バッファＣＭＰＢとの間に設けられている。
【０１０６】
第２の実施形態と同様に、グローバルデータバスＲＷＧＤＢは、読出しと書込みとにおいて共通化されている。しかし、読出しデータと書込みデータとは、異なるタイミングで転送される。従って、図１０に示すようにグローバルデータバスＲＷＧＤＢを共通にしても問題無い。また、このＭＲＡＭはＥＣＣ回路ＥＣＣＤＥＣ、ＥＣＣＥＮＣを有するので、比較バッファＣＭＰＢは、第３の実施形態の比較バッファＣＭＰＢと同様に動作する。
【０１０７】
これにより、第４の実施形態は、第２および第３の実施形態と同様の効果を併せ持つことができる。
【０１０８】
（第５の実施形態）
図１１は、第５の実施形態に従ったＭＲＡＭの構成を示すブロック図である。図１２は、第５の実施形態に従った比較バッファＣＭＰＢの構成を示すブロック図である。図１１に示すように、比較バッファＣＭＰＢのうちロジック回路ＬＣ１〜ＬＣ４は、それぞれメモリセルマクロＭＣＭ１〜ＭＣＭ４内に配置されている。ロジック回路ＬＣ１〜ＬＣ４は、それぞれ第１の実施形態のロジック回路ＬＣと同様の構成を有する。ロジック回路ＬＣ１〜ＬＣ４は、読出しラッチ部ＲＬＣＨに接続されており、読出しラッチ部ＲＬＣＨからの読出しデータＲＤ１〜ＲＤ４を、読出しグローバルデータバスＲＧＤＢを介することなく直接受け取る。ロジック回路ＬＣ１〜ＬＣ４は、書込みラッチ部ＷＬＣＨに接続されており、書込みデータＲＷＤ１〜ＲＷＤ４を、書込みグローバルデータバスＷＧＤＢを介することなく書込みラッチ部ＷＬＣＨへ直接転送する。
【０１０９】
マルチプレクサＭＵＸ、ＤフリップフロップＤＦＦ１およびゲート回路Ｇ１は、他の実施形態と同様にリードバッファＲＢ、ライトバッファＷＢとリード・ライトデータ線ＲＷＤとの間に設けられている。
【０１１０】
ロジック回路ＬＣ１〜ＬＣ４は、読出しデータＲＤ１〜ＲＤ４を直接受け取るので、図１２に示すように、比較バッファＣＭＰＢのＤフリップフロップＤＦＦ２は省略されている。ＤフリップフロップＤＦＦ１、マルチプレクサＭＵＸおよびゲート回路Ｇ１の構成は、図４に示すそれらの構成と同様でよい。従って、マルチプレクサＭＵＸは、読出しグローバルデータバスＲＧＤＢを介して読出しデータＲＤ１〜ＲＤ４（または補正読出しデータＰＲＤ１〜ＰＲＤ４）を受け取る。
【０１１１】
このように、第５の実施形態による比較バッファＣＭＰＢは、読出しデータＲＤ１〜ＲＤ４を読出しラッチ部ＲＬＣＨから直接受け取るので、ＤフリップフロップＤＦＦ２が不要となる。しかし、読出しデータＲＤ１〜ＲＤ４を同時に受け取ることができるように、ロジック回路ＬＣ１〜ＬＣ４を個別に設ける必要がある。
【０１１２】
（データ書込み動作）
データ書込み動作において、読出しデータＲＤ１〜ＲＤ４が図１１に示す読出しラッチ部ＲＬＣＨにラッチされると、読出しデータＲＤ１〜ＲＤ４はロジック回路ＬＣ１〜ＫＣ４へ直接伝達される。また、読出しデータＲＤ１〜ＲＤ４は、読出しグローバルデータバスＲＧＤＢを介してＤフリップフロップＤＦＦ１に格納される。読出しデータＲＤ１〜ＲＤ４が比較バッファＣＭＰＢ内のＤフリップフロップＤＦＦ１に格納される動作は、第１の実施形態における対応する動作と同様である。また、ＤフリップフロップＤＦＦ１が書込みデータＲＷＤ１〜ＲＷＤ４を保持する動作も、第１の実施形態における対応する動作と同様である。従って、ＤフリップフロップＤＦＦ１には、読出しデータＲＤ１〜ＲＤ４が格納された後、書込みデータＲＷＤ１〜ＲＷＤ４によって更新される。よって、ＤフリップフロップＤＦＦ１は、書込みデータＲＷＤ１〜ＲＷＤ４を格納している。
【０１１３】
そして、一連の書込みシーケンスの終了後、プリチャージコマンドＰＲＥＣＨ１〜ＰＲＥＣＨ４が異なるタイミングで順番に活性化される。これにより、ロジック回路ＬＣ１〜ＬＣ４が、それぞれ書込みデータＲＷＤ１〜ＲＷＤ４と読出しデータＲＤ１〜ＲＤ４とを比較する。ロジック回路ＬＣ１〜ＬＣ４が、それぞれ書込みデータＲＷＤ１〜ＲＷＤ４の論理と読出しデータＲＤ１〜ＲＤ４の論理とが異なっている場合に書込み実行コマンドＣＢＷ＿Ａ１〜ＣＢＷ＿Ａ４を活性化する。
【０１１４】
書込みデータＲＷＤ１〜ＲＷＤ４は、それぞれロジック回路ＬＣ１〜ＬＣ４、メモリセルマクロＭＣＭ１〜ＭＣＭ４の書込みラッチ部ＷＬＣＨに伝達される。メモリセルマクロＭＣＭ１〜ＭＣＭ４の書込みラッチ部ＷＬＣＨは、それぞれ書込みデータＲＷＤ１〜ＲＷＤ４をラッチする。
【０１１５】
書込み実行コマンドＣＢＷ＿Ａ１〜ＣＢＷ＿Ａ４は、ロジック回路ＬＣ１〜ＫＣ４からライトドライバＷ／Ｄへ直接供給される。従って、書込み実行コマンドＣＢＷ＿Ａ１〜ＣＢＷ＿Ａ４が活性化されると、ライトドライバＷＤが書込みデータＲＷＤ１〜ＲＷＤ４の書込みを開始する。
【０１１６】
一連の書込みシーケンスの終了後、メモリはプリチャージ状態になる。第５の実施形態では、書込みデータＲＷＤ１〜ＲＷＤ４がロジック回路ＬＣ１〜ＫＣ４を介してまたは直接書込みラッチ部ＷＬＣＨへ転送される。従って、書込み実行コマンドＣＢＷ＿Ａ１〜ＣＢＷ＿Ａ４を活性化させるプリチャージコマンドＰＲＥＣＨ１〜ＰＲＥＣＨ４は、同時に活性化させてもよい。即ち、メモリセルマクロＭＣＭ１〜ＭＣＭ４は、同時にプリチャージ状態になってもよい。
【０１１７】
第５の実施形態は、ロジック回路をメモリセルマクロＭＣＭ１〜ＭＣＭ４ごとに設ける必要があるが、ＤフリップフロップＤＦＦ２を省くことができる。また、メモリセルマクロＭＣＭ１〜ＭＣＭ４を同時にプリチャージすることができる。第５の実施形態は、さらに、第１の実施形態の効果も得ることができる。
【０１１８】
図示しないが、第５の実施形態は、第２の実施形態に適用することができる。即ち、第５の実施形態において、読出しグローバルデータバスＲＧＤＢおよび書込みグローバルデータバスＷＧＤＢを共通化して、グローバルデータバスＲＷＧＤＢとしてもよい。この場合には、第５の実施形態は、第２の実施形態の効果も得ることができる。
【０１１９】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１２０】
ＭＣＡ・・・メモリセルアレイ、ＭＷＬ・・・メインワード線、ＬＷＬ・・・ローカルワード線、ＲＧＤＢ・・・読出しグローバルデータバス、ＷＧＤＢ・・・書込みグローバルデータバス、Ｓ／Ａ・・・センスアンプ、Ｗ／Ｄ・・・ライトドライバ、ＲＢ・・・リードバッファ、ＷＢ・・・ライトバッファ、ＩＯＧ・・・入出力ゲート回路、ＲＷＤ・・・リード・ライトデータ線、ＭＣＭ１〜ＭＣＭ４・・・メモリセルマクロ、ＣＭＰＢ・・・比較バッファ、ＩＯＧ・・・入出力ゲート回路、ＲＬＣＨ・・・読出しラッチ部、ＷＬＣＨ・・・書込みラッチ部、ＭＵＸ・・・マルチプレクサ、ＤＦＦ１、ＤＦＦ２・・・Ｄフリップフロップ、ＬＣ・・・ロジック回路、Ｇ１・・・ゲート回路、ＥＣＣＤＥＣ・・・ＥＣＣデコーダ、ＥＣＣＥＮＣ・・・ＥＣＣエンコーダ
【図１】
0005727948.tif 000002
【図２】
0005727948.tif 000003
【図３】
0005727948.tif 000004
【図４】
0005727948.tif 000005
【図５】
0005727948.tif 000006
【図６】
0005727948.tif 000007
【図７】
0005727948.tif 000008
【図８】
0005727948.tif 000009
【図９】
0005727948.tif 000010
【図１０】
0005727948.tif 000011
【図１１】
0005727948.tif 000012
【図１２】
0005727948.tif 000013