(57)【要約】【課題】第１の記憶部および第２の記憶部を含むメモリセルを有する半導体記憶装置のアクセス性能を向上する。【解決手段】半導体記憶装置は、相補のビット線対に接続された第１の記憶部および第２の記憶部を含むメモリセルと、前記メモリセルからデータを読み出す読み出し動作において、前記第１の記憶部および前記第２の記憶部を順次選択する動作制御部と、前記ビット線対の一方に接続され、選択された前記第１の記憶部から前記ビット線対の前記一方に読み出されるデータの論理を判定する第１の読み出し部と、前記ビット線対の他方に接続され、選択された前記第２の記憶部から前記ビット線対の前記他方に読み出されるデータの論理を判定する第２の読み出し部とを有する。【選択図】  図１
2020021524.tif 000002
【特許請求の範囲】
【請求項１】
相補のビット線対に接続された第１の記憶部および第２の記憶部を含むメモリセルと、
前記メモリセルからデータを読み出す読み出し動作において、前記第１の記憶部および前記第２の記憶部を順次選択する動作制御部と、
前記ビット線対の一方に接続され、選択された前記第１の記憶部から前記ビット線対の前記一方に読み出されるデータの論理を判定する第１の読み出し部と、
前記ビット線対の他方に接続され、選択された前記第２の記憶部から前記ビット線対の前記他方に読み出されるデータの論理を判定する第２の読み出し部と
を有する半導体記憶装置。
【請求項２】
前記第１の記憶部からデータを読み出す第１の読み出しサイクルは、前記第１の記憶部から前記ビット線対の前記一方にデータを読み出す第１の読み出し期間と、前記ビット線対の前記一方に読み出されたデータの論理を前記第１の読み出し部により判定する第１の判定期間とを含み、
前記第２の記憶部からデータを読み出す第２の読み出しサイクルは、前記第２の記憶部から前記ビット線対の前記他方にデータを読み出す第２の読み出し期間と、前記ビット線対の前記他方に読み出されたデータの論理を前記第２の読み出し部により判定する第２の判定期間とを含み、
前記第１の読み出しサイクルと前記第２の読み出しサイクルとが連続して実行される場合、前記第１の判定期間と前記第２の読み出し期間とが互いに重複し、あるいは、前記第２の判定期間と前記第１の読み出し期間とが互いに重複する、請求項１に記載の半導体記憶装置。
【請求項３】
前記第１の判定期間の開始に基づいて前記ビット線対の前記一方の電圧を初期化する第１の初期化部と、
前記第２の判定期間の開始に基づいて前記ビット線対の前記他方の電圧を初期化する第２の初期化部と
を有する、請求項２に記載の半導体記憶装置。
【請求項４】
前記ビット線対の前記一方と前記第１の読み出し部との間に配置され、前記第１の判定期間に前記ビット線対の前記一方と前記第１の読み出し部との接続を遮断する第１のスイッチ部と、
前記ビット線対の前記他方と前記第２の読み出し部との間に配置され、前記第２の判定期間に前記ビット線対の前記他方と前記第２の読み出し部との接続を遮断する第２のスイッチ部と
を有する、請求項２または請求項３に記載の半導体記憶装置。
【請求項５】
前記動作制御部は、外部から受信する読み出しコマンドに基づいて、前記第１の記憶部と前記第２の記憶部とからデータを順次読み出す読み出しサイクルを実行する、請求項１ないし請求項４のいずれか１項に記載の半導体記憶装置。
【請求項６】
前記第１の記憶部に書き込むデータを保持する第１の保持部と、
前記第２の記憶部に書き込むデータを保持する第２の保持部と、
前記メモリセルにデータを書き込む書き込み動作において、前記第１の保持部に保持されたデータを選択した後、前記第２の保持部に保持されたデータを選択する選択部と、
前記選択部が順次選択したデータを、前記ビット線対を介して前記第１の記憶部と前記第２の記憶部とに順次書き込むデータ書き込み部と
を有する、請求項１ないし請求項５のいずれか１項に記載の半導体記憶装置。
【請求項７】
前記第１の記憶部に接続され、前記第１の記憶部を選択する場合に前記動作制御部により駆動される第１のワード線と、
前記第２の記憶部に接続され、前記第２の記憶部を選択する場合に前記動作制御部により駆動される第２のワード線と、
を有し、
前記データ書き込み部は、
前記第１のワード線の駆動の開始に合わせて前記第１の記憶部に書き込むデータを前記ビット線対に出力し、
前記第２のワード線の駆動の開始に合わせて前記第２の記憶部に書き込むデータを前記ビット線対に出力する、請求項６に記載の半導体記憶装置。
【請求項８】
前記動作制御部は、外部から受信する書き込みコマンドに基づいて、前記第１の記憶部と前記第２の記憶部とにデータを順次書き込む書き込みサイクルを実行する、請求項１ないし請求項７のいずれか１項に記載の半導体記憶装置。
【請求項９】
前記メモリセルは、前記第１の記憶部に記憶されたデータと前記第２の記憶部に記憶されたデータとに基づいて、論理０、論理１または不定を示す論理を保持し、
前記メモリセルは、論理０または論理１を保持する場合、保持する論理と外部から受信する比較データとが一致するか判定し、不定を示す論理を保持する場合、前記比較データの論理にかかわらず常に一致を判定する判定部を有する、請求項１ないし請求項８のいずれか１項に記載の半導体記憶装置。
【請求項１０】
相補のビット線対に接続された第１の記憶部および第２の記憶部を含むメモリセルと、動作制御部と、前記ビット線対の一方に接続された第１の読み出し部と、前記ビット線対の他方に接続された第２の読み出し部とを有する半導体記憶装置の制御方法において、
前記動作制御部が、前記メモリセルからデータを読み出す読み出し動作において、前記第１の記憶部および前記第２の記憶部を順次選択し、
前記第１の読み出し部が、選択された前記第１の記憶部から前記ビット線対の前記一方に読み出されるデータの論理を判定し、
前記第２の読み出し部が、選択された前記第２の記憶部から前記ビット線対の前記他方に読み出されるデータの論理を判定する、半導体記憶装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置およびその制御方法に関する。
【背景技術】
【０００２】
入力されたデータに基づいて記憶領域を検索し、データが記憶された記憶領域を示すアドレスを出力する連想メモリ（ＣＡＭ；Content Addressable Memory）が知られている。また、データの一部のビットを比較の対象とせずに常に一致と判定する設定が可能な連想メモリとしてＴＣＡＭ（Ternary CAM）が知られている（例えば、特許文献１−３参照）。
【０００３】
ＴＣＡＭのメモリセルは、例えば、共通のビット線対に接続された一対のＳＲＡＭ（Static Random Access Memory）セルを有する。一対のＳＲＡＭセルは、互いに異なるワード線に接続され、相補のサーチ線対の一方と他方とにそれぞれ接続される。また、ＴＣＡＭのメモリセルは、サーチ線対に供給される論理（サーチデータ）と一対のＳＲＡＭセルに記憶された情報とを比較し、比較結果をマッチ線に出力する比較部を有する。各メモリセルは、一対のＳＲＡＭセルに書き込まれた値に応じて、論理０、論理１または比較対象でないことを示す値のいずれかを記憶する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１９７３４５号公報
【特許文献２】特開２００５−２５９３４１号公報
【特許文献３】特開２０１６−１５７５００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したＴＣＡＭでは、メモリセル内の一対のＳＲＡＭセルは、共通のビット線対に接続され、かつ互い異なるワード線に接続される。このため、メモリセルからデータを読み出す読み出し動作は、一対のＳＲＡＭセルの各々に接続されたワード線を順次駆動し、ＳＲＡＭセルからビット線対に相補のデータを順次読み出すことで実行される。同様に、メモリセルへデータを書き込む書き込み動作は、一対のＳＲＡＭセルの各々に接続されたワード線を順次駆動し、ビット線対に相補のデータを順次供給することで実行される。このように、メモリセルの読み出し動作は、２つの読み出しサイクルを含み、メモリセルの書き込み動作は、２つの書き込みサイクルを含む。
【０００６】
また、ＳＲＡＭセルでは、読み出し動作の前および書き込み動作の前にビット線対をプリチャージする必要がある。読み出しサイクルは、ＳＲＡＭセルからビット線対にデータを読み出す期間と、ビット線対をプリチャージする期間とを含む。書き込みサイクルは、ビット線対を介してＳＲＡＭセルにデータを書き込む期間と、ビット線対をプリチャージする期間とを含む。また、ＴＣＡＭに記憶できるワードの数が多いほど、ビット線対の長さが長くなり、ビット線対のプリチャージ時間が長くなる。
【０００７】
１つの側面では、本発明は、第１の記憶部および第２の記憶部を含むメモリセルを有する半導体記憶装置のアクセス性能を向上することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様では、半導体記憶装置は、相補のビット線対に接続された第１の記憶部および第２の記憶部を含むメモリセルと、前記メモリセルからデータを読み出す読み出し動作において、前記第１の記憶部および前記第２の記憶部を順次選択する動作制御部と、前記ビット線対の一方に接続され、選択された前記第１の記憶部から前記ビット線対の前記一方に読み出されるデータの論理を判定する第１の読み出し部と、前記ビット線対の他方に接続され、選択された前記第２の記憶部から前記ビット線対の前記他方に読み出されるデータの論理を判定する第２の読み出し部とを有する。
【発明の効果】
【０００９】
第１の記憶部および第２の記憶部を含むメモリセルを有する半導体記憶装置のアクセス性能を向上することができる。
【図面の簡単な説明】
【００１０】
【図１】一実施形態の半導体記憶装置を示す図である。
【図２】図１の半導体記憶装置の動作の一例を示す図である。
【図３】別の実施形態の半導体記憶装置を示す図である。
【図４】図３に示すメモリセルの一例を示す図である。
【図５】図３に示す半導体記憶装置の動作を示す真理値表の一例を示す図である。
【図６】図３に示す読み出し部の一例を示す図である。
【図７】図６に示すセンスアンプおよびラッチの一例を示す図である。
【図８】図３に示す書き込み部の一例を示す図である。
【図９】図３に示す半導体記憶装置の読み出し動作の一例を示す図である。
【図１０】図３に示す半導体記憶装置の書き込み動作の一例を示す図である。
【図１１】図３に示す読み出し部の別の例を示す図である。
【図１２】図３から図１１に示す実施形態の効果の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を用いて実施形態を説明する。信号が伝達される信号線には、信号名と同じ符号を使用する。末尾に"Ｘ"を付した信号線は負論理を示す。
【００１２】
図１は、一実施形態における半導体記憶装置を示す。図１に示す半導体記憶装置１００は、２つの記憶部Ｍａ（Ｍ０ａまたはＭ１ａ）、Ｍｂ（Ｍ０ｂまたはＭ１ｂ）を含むメモリセルＭＣ（ＭＣ０またはＭＣ１）と、動作制御部１０と、読み出し部２０（２０ａ、２０ｂ）とを有する。メモリセルＭＣ０、ＭＣ１は互いに同じ回路構成を有し、記憶部Ｍａ、Ｍｂは互いに同じ回路構成を有する。記憶部Ｍ０ａ、Ｍ１ａは、第１の記憶部の一例であり、記憶部Ｍ０ｂ、Ｍ１ｂは、第２の記憶部の一例である。読み出し部２０ａは第１の読み出し部の一例であり、読み出し部２０ｂは、第２の読み出し部の一例である。
【００１３】
例えば、半導体記憶装置１００は、ＣＰＵ（Central Processing Unit）等に含まれるＴＣＡＭであり、仮想アドレスを物理アドレスに変換するＴＬＢ（Translation Lookaside Buffer）に使用される。なお、図１では、説明を簡単にするために、ＴＣＡＭのメモリセルＭＣに接続されるサーチ線およびマッチ線と、データのサーチ（比較）を制御する制御回路の記載は省略する。ＴＣＡＭのメモリセルＭＣは、サーチ線に伝達される比較データの論理値と比較するための論理０、論理１を記憶する以外に、不定を示す論理を保持するために２つの記憶部Ｍａ、Ｍｂを有する。メモリセルに不定を示す論理が保持される場合、マッチ線は、比較データの論理値にかかわりなく一致を示す論理値に設定される。すなわち、不定を示す論理は、"常に一致（always match）"を示す論理である。
【００１４】
記憶部Ｍ０ａは、ワード線ＷＬ０ａと相補のビット線対ＢＬ、ＢＬＸとに接続される。記憶部Ｍ０ｂは、ワード線ＷＬ０ｂと相補のビット線対ＢＬ、ＢＬＸとに接続される。記憶部Ｍ１ａは、ワード線ＷＬ１ａと相補のビット線対ＢＬ、ＢＬＸとに接続される。記憶部Ｍ１ｂは、ワード線ＷＬ１ｂと相補のビット線対ＢＬ、ＢＬＸとに接続される。
【００１５】
読み出し部２０ａは、ビット線ＢＬに接続され、読み出し部２０ｂは、ビット線ＢＬＸに接続される。以下では、ワード線ＷＬ０ａ、ＷＬ１ａはワード線ＷＬａまたはワード線ＷＬとも称し、ワード線ＷＬ０ｂ、ＷＬ１ｂはワード線ＷＬｂまたはワード線ＷＬとも称する。
【００１６】
例えば、各記憶部Ｍａ、Ｍｂは、図示しない２つの反転回路（インバータ）を有し、反転回路の一方の出力は、反転回路の他方の入力に接続される。２つの反転回路の出力ノードは、ビット線対ＢＬ、ＢＬＸを介して記憶部Ｍａ（またはＭｂ）に供給される相補のデータを保持する相補の記憶ノードである。特に限定されないが、各記憶部Ｍａ、Ｍｂは、ＳＲＡＭのメモリセルであるＳＲＡＭセルを有する。ＳＲＡＭセルの例は図４に示す。例えば、各記憶部Ｍａ（またはＭｂ）の相補の記憶ノードは、ゲートがワード線ＷＬａ（またはＷＬｂ）に接続された転送トランジスタ等のスイッチ回路を介してビット線対ＢＬ、ＢＬＸの一方または他方にそれぞれ接続される。
【００１７】
各記憶部Ｍａ、Ｍｂの枠内に付した"０"、"１"は、各記憶部Ｍａ、Ｍｂが保持している論理値を示す。各記憶部Ｍａ、Ｍｂが保持している論理値は、ビット線ＢＬに接続された記憶ノードが保持する論理値に等しい。なお、各記憶部Ｍａ、Ｍｂは、ビット線対ＢＬ、ＢＬＸに接続された相補の記憶ノードに相補の論理値を記憶する回路であれば、ＳＲＡＭのメモリセル以外のメモリセルが使用されてもよい。
【００１８】
動作制御部１０は、半導体記憶装置１００の外部から供給されるアドレス信号ＡＤおよび各種の制御信号ＣＴＬに基づいて、読み出し動作の制御または書き込み動作の制御を実行する。半導体記憶装置１００が同期型の場合、制御信号ＣＴＬは、クロック信号ＣＬＫを含む。なお、図１および他の図において、信号線上に付した"／"は、信号線が複数ビットであることを示す。
【００１９】
動作制御部１０は、アドレス信号ＡＤの論理に基づいて、アクセスする記憶部Ｍ０ａ、Ｍ０ｂ、Ｍ１ａ、Ｍ１ｂに接続されたワード線ＷＬ０ａ、ＷＬ０ｂ、ＷＬ１ａ、ＷＬ１ｂのいずれかを選択レベルに駆動する。ここで、アクセスは、メモリセルＭＣからデータを読み出す読み出しアクセスまたはメモリセルＭＣにデータを書き込む書き込みアクセスのいずれかである。例えば、ワード線ＷＬの選択レベルは電源電圧または電源電圧より高いハイレベルである。以下の説明では、ワード線ＷＬを選択レベルに駆動することを活性化とも称し、ワード線ＷＬを非選択レベルに駆動することを非活性化とも称する。
【００２０】
動作制御部１０は、読み出しアクセスを実行する場合、活性化したワード線ＷＬに接続された記憶部Ｍａ（またはＭｂ）に対応する読み出し部２０に読み出し制御信号ＳＡＥａ（またはＳＡＥｂ）を出力し、読み出し部２０を動作させる。例えば、ワード線ＷＬ０ａの活性化により、記憶部Ｍ０ａの相補の記憶ノードがビット線ＢＬ、ＢＬＸにそれぞれ接続され、記憶部Ｍ０ａからのデータの読み出しまたは記憶部Ｍ０ａへのデータの書き込みが実行される。同様に、ワード線ＷＬ０ｂの駆動により、記憶部Ｍ０ｂの相補の記憶ノードがビット線ＢＬ、ＢＬＸにそれぞれ接続され、記憶部Ｍ０ｂからのデータの読み出しまたは記憶部Ｍ０ｂへのデータの書き込みが実行される。なお、図１では、メモリセルＭＣにデータを書き込む書き込み部の記載は省略する。
【００２１】
読み出し部２０ａは、ワード線ＷＬａの活性化により記憶部Ｍａからビット線ＢＬに読み出されるデータの論理を、読み出し制御信号ＳＡＥａに基づいて判定し、判定した論理を示す読み出しデータ信号ＲＤＴａを出力する。読み出し部２０ｂは、ワード線ＷＬｂの活性化により記憶部Ｍｂからビット線ＢＬＸに読み出されるデータの論理を、読み出し制御信号ＳＡＥｂに基づいて判定し、判定した論理を示す読み出しデータ信号ＲＤＴｂを出力する。例えば、読み出し部２０ａは、ビット線ＢＬの電圧と参照電圧との差を差動増幅することでビット線ＢＬに読み出されたデータの論理を判定する。読み出し部２０ｂは、ビット線ＢＬＸの電圧と参照電圧との差を差動増幅することでビット線ＢＬＸに読み出されたデータの論理を判定する。
【００２２】
例えば、読み出しデータ信号ＲＤＴａ、ＲＤＴｂの論理（正論理または負論理）を合わせるため、読み出し部２０ｂは、ビット線ＢＬＸに転送されるデータの論理を反転する反転回路を含む。なお、記憶部Ｍ０ａ（またはＭ１ａ）の読み出し動作時に読み出し部２０ｂを動作させ、記憶部Ｍ０ｂ（またはＭ１ｂ）の読み出し動作時に読み出し部２０ａを動作させてもよい。この場合にも、動作制御部１０は、メモリセルＭＣ内の一対の記憶部Ｍａ、Ｍｂの各々からのデータの読み出しを互いに異なる読み出し部２０ａ、２０ｂを使用して実行する。
【００２３】
図２は、図１の半導体記憶装置１００の動作の一例を示す。すなわち、図２は、半導体記憶装置１００の制御方法の一例を示す。図２に示す例では、メモリセルＭＣ０、ＭＣ１の読み出し動作が順次実行される。動作制御部１０は、メモリセルＭＣ０を示すアドレスＡＤとともに読み出しコマンドを示す制御信号ＣＴＬを受信したことに基づいて、記憶部Ｍ０ａ、Ｍ０ｂからデータを順次読み出す制御を実行する。同様に、動作制御部１０は、メモリセルＭＣ１を示すアドレスＡＤとともに読み出しコマンドを示す制御信号ＣＴＬを受信したことに基づいて、記憶部Ｍ１ａ、Ｍ１ｂからデータを順次読み出す制御を実行する。なお、読み出し部２０ａ、２０ｂは、各読み出し動作の開始前（例えば、１つ前の読み出しサイクルの後半）に、読み出し動作で使用するビット線ＢＬ（またはＢＬＸ）をプリチャージ電圧（ハイレベル）に設定する。
【００２４】
まず、動作制御部１０は、メモリセルＭＣ０の記憶部Ｍ０ａからデータを読み出すために、ワード線ＷＬ０ａを活性化する（図２（ａ））。ワード線ＷＬ０ａの活性化により、記憶部Ｍ０ａのビット線ＢＬ側の記憶ノード（論理０を記憶）がビット線ＢＬに接続され、記憶部Ｍ０ａのビット線ＢＬＸ側の記憶ノード（論理１を記憶）がビット線ＢＬＸに接続される。記憶部Ｍ０ａから論理０が読み出されることで、ビット線ＢＬの電圧はプリチャージ電圧から徐々に低下する（図２（ｂ））。動作制御部１０は、所定の期間後、ワード線ＷＬ０ａを非活性化し、読み出し制御信号ＳＡＥａ（ハイレベルのパルス信号）を出力する（図２（ｃ）、（ｄ））。例えば、所定の期間は、読み出しサイクルの半分である。
【００２５】
動作制御部１０は、例えば、ワード線ＷＬ０ａを非活性化するタイミングで読み出し制御信号ＳＡＥａをハイレベルに設定する。読み出し部２０ａは、読み出し制御信号ＳＡＥａのハイレベル期間に、ビット線ＢＬに読み出されたデータの論理を判定し、判定した論理を示す読み出しデータ信号ＲＤＴａ（ロウレベル）を生成する（図２（ｅ））。なお、読み出しデータ線ＲＤＴａとビット線ＢＬとは電気的に分離しているため、読み出しデータ信号ＲＤＴａのレベルがビット線ＢＬに伝わることはない。例えば、読み出し部２０ａは、読み出しデータ信号ＲＤＴａの論理が確定した後にビット線ＢＬのプリチャージを開始する。プリチャージ動作により、ビット線ＢＬは、例えば電源電圧まで徐々に上昇する(図２（ｆ）)。
【００２６】
動作制御部１０は、ワード線ＷＬ０ａの非活性化に対応してワード線ＷＬ０ｂを活性化する（図２（ｇ））。ワード線ＷＬ０ｂの活性化により、記憶部Ｍ０ｂにおけるビット線ＢＬＸ側の記憶ノード（論理０を記憶）がビット線ＢＬＸに接続され、記憶部Ｍ０ｂのビット線ＢＬ側の記憶ノード（論理１を記憶）がビット線ＢＬに接続される。記憶部Ｍ０ｂは、論理１を記憶しているため、記憶部Ｍ０ｂからビット線ＢＬＸに論理０が読み出され、ビット線ＢＬＸの電圧はプリチャージ電圧から徐々に低下する（図２（ｈ））。
【００２７】
なお、記憶部Ｍ０ａからの論理０の読み出し時におけるビット線ＢＬの電圧の低下量は、例えば、メモリセルＭＣの転送トランジスタの閾値電圧より小さい。このため、ビット線ＢＬがプリチャージされる前にワード線ＷＬ０ｂが活性化された場合にも、ビット線ＢＬの電圧は記憶部Ｍ０ｂ内に伝達されず、記憶部Ｍ０ｂに記憶されたデータが破壊することはない。
【００２８】
動作制御部１０は、所定の期間後、ワード線ＷＬ０ｂを非活性化し、読み出し制御信号ＳＡＥｂ（ハイレベルのパルス信号）を出力する（図２（ｉ）、（ｊ））。動作制御部１０は、例えば、ワード線ＷＬ０ｂを非活性化するタイミングで読み出し制御信号ＳＡＥｂをハイレベルに設定する。読み出し部２０ｂは、読み出し制御信号ＳＡＥｂのハイレベル期間に、ビット線ＢＬＸに読み出されたデータの論理を判定し、判定した論理を示す読み出しデータ信号ＲＤＴｂ（ロウレベル）を生成する（図２（ｋ））。なお、読み出しデータ線ＲＤＴｂとビット線ＢＬとは電気的に分離しているため、読み出しデータ信号ＲＤＴｂのレベルがビット線ＢＬＸに伝わることはない。読み出し部２０ｂは、読み出しデータ信号ＲＤＴｂの論理が確定した後にビット線ＢＬＸのプリチャージを開始する。プリチャージ動作により、ビット線ＢＬＸは、例えば電源電圧まで徐々に上昇する(図２（ｌ）)。
【００２９】
動作制御部１０は、ワード線ＷＬ０ｂの非活性化に対応してワード線ＷＬ１ａを活性化する（図２（ｍ））。ワード線ＷＬ１ａの活性化により、記憶部Ｍ１ａにおけるビット線ＢＬ側の記憶ノード（論理１を記憶）がビット線ＢＬに接続され、記憶部Ｍ１ａにおけるビット線ＢＬＸ側の記憶ノード（論理０を記憶）がビット線ＢＬＸに接続される。記憶部Ｍ１ａは、論理１を記憶しているため、記憶部Ｍ１ａからビット線ＢＬに論理１が読み出されることで、データビット線ＢＬの電圧はプリチャージ電圧を維持する（図２（ｎ））。
【００３０】
一方、論理１を保持する記憶部Ｍ１ａのビット線ＢＬＸ側の記憶ノードは論理０を保持しているため、ワード線ＷＬ１ａの活性化により、ビット線ＢＬＸの電圧は低下しようとする。しかしながら、例えば、ビット線ＢＬＸのプリチャージ回路の駆動力は、記憶部Ｍ１ａの転送トランジスタの駆動力より大きい。このため、ビット線ＢＬＸは、記憶部Ｍ１ａのビット線ＢＬＸ側の記憶ノードが論理０を保持する場合にも、プリチャージ電圧から低下せず、プリチャージ電圧に維持される。
【００３１】
この後、上述と同様に、記憶部Ｍ１ａからビット線ＢＬに読み出されたデータの論理を読み出し部２０ａにより判定する動作およびビット線ＢＬのプリチャージと、記憶部Ｍ１ｂからビット線ＢＬＸへのデータの読み出しとが並列に実行される（図２（ｏ））。また、記憶部Ｍ１ｂからビット線ＢＬＸに読み出されたデータの論理を読み出し部２０ｂにより判定する動作およびビット線ＢＬＸのプリチャージが実行される（図２（ｐ））。
【００３２】
なお、論理０を保持する記憶部Ｍ１ｂのビット線ＢＬ側の記憶ノードは論理０を保持しているため、ワード線ＷＬ１ｂの活性化により、ビット線ＢＬの電圧は低下しようとする。しかしながら、例えば、ビット線ＢＬのプリチャージ回路の駆動力は、記憶部Ｍ１ｂの転送トランジスタの駆動力より大きい。このため、ビット線ＢＬは、記憶部Ｍ１ｂのビット線ＢＬ側の記憶ノードが論理０を保持する場合にも、プリチャージ電圧から低下せず、プリチャージ電圧に維持される。
【００３３】
図２に示すように、半導体記憶装置１００は、記憶部Ｍａ、Ｍｂの読み出し動作の一部を互いに重複させて順次実行する。記憶部Ｍａからデータを読み出す読み出しサイクルは、記憶部Ｍａからビット線ＢＬにデータを読み出す読み出し期間（ワード線ＷＬａの活性化期間）と、ビット線ＢＬに読み出されたデータの論理を読み出し部２０ａにより判定する判定期間とを含む。なお、読み出しサイクルは、クロックサイクルと等しいが、２以上のクロックサイクルと等しくされてもよい。記憶部Ｍａからのデータの読み出し期間は、第１の読み出し期間の一例であり、読み出し部２０ａによる判定期間は、第１の判定期間の一例である。
【００３４】
同様に、記憶部Ｍｂからデータを読み出す読み出しサイクルは、記憶部Ｍｂからビット線ＢＬＸにデータを読み出す読み出し期間（ワード線ＷＬｂの活性化期間）と、ビット線ＢＬＸに読み出されたデータの論理を読み出し部２０ｂにより判定する判定期間とを含む。記憶部Ｍｂからのデータの読み出し期間は、第２の読み出し期間の一例であり、読み出し部２０ｂによる判定期間は、第２の判定期間の一例である。各判定期間は、ビット線ＢＬ（またはＢＬＸ）のプリチャージ期間を含む。
【００３５】
例えば、各読み出しサイクルにおいて、読み出し期間と判定期間とは互いに等しく、それぞれ読み出しサイクルの半分である。そして、同じメモリセルＭＣ内の記憶部Ｍａの判定期間と記憶部Ｍｂの読み出し期間とが互いに重複される。また、複数のメモリセルＭＣの読み出し動作が交互に繰り返し実行される場合、１つのメモリセルＭＣ内の記憶部Ｍｂの判定期間と、他のメモリセルＭＣ内の記憶部Ｍａの読み出し期間とが互いに重複される。
【００３６】
換言すれば、ワード線ＷＬの活性化による記憶部Ｍａ（またはＭｂ）からビット線ＢＬ（またはＢＬＸ）へのデータの読み出しと、ビット線ＢＬＸ（またはＢＬ）のプリチャージとが並列に実行される。これにより、例えば、記憶部Ｍａ、Ｍｂの読み出しサイクルの半分を互いに重複させることができるため、見た目の読み出しサイクルを実際の読み出しサイクルのほぼ半分にすることができる。
【００３７】
以上、図１および図２に示す実施形態では、ビット線対ＢＬ、ＢＬＸのそれぞれに読み出し部２０ａ、２０ｂを接続し、記憶部Ｍａ、Ｍｂから読み出されるデータの論理の判定を互いに異なる読み出し部２０ａ、２０ｂにより実行する。これにより、共通のビット線対ＢＬ、ＢＬＸに接続された２つの記憶部Ｍａ、Ｍｂのそれぞれからデータを読み出す読み出しサイクルの一部を互いに重複して実行することができる。例えば、メモリセルＭＣの記憶部Ｍａの判定期間と、他のメモリセルＭＣの記憶部Ｍｂの読み出し期間とを互いに重複させることで、記憶部Ｍｂからビット線対ＢＬＸにデータを読み出す期間に、ビット線対ＢＬに読み出されたデータの論理を判定することができる。この結果、読み出しサイクルを重複しない場合に比べて、半導体記憶装置１００から読み出し可能な単位時間当たりのデータ数を増加させることができ、読み出しアクセス性能を向上することができる。例えば、ＴＣＡＭのメモリセルに保持されたデータを読み出す場合にも、いわゆるデータセルとマスクセルとを１つの読み出しサイクルで読み出すことができ、読み出しアクセス性能を向上することができる。
【００３８】
なお、図１は、半導体記憶装置１００に含まれる２つのメモリセルＭＣを示したが、複数の記憶部Ｍａ（またはＭｂ）が各ワード線ＷＬに接続されてもよい。この場合、図１の横方向に複数のビット線対ＢＬ、ＢＬＸが配列され、各ビット線ＢＬ（またはＢＬＸ）に読み出し部２０ａ（または２０ｂ）が接続される。そして、共通のワード線ＷＬに接続された複数の記憶部Ｍａ（またはＭｂ）が同時に読み出しアクセスされる。さらに、３以上のメモリセルＭＣを共通のビット線対ＢＬ、ＢＬＸに接続してもよく、この場合、動作制御部１０は、ビット線対ＢＬ、ＢＬＸに接続されるメモリセルＭＣの数の２倍のワード線ＷＬの駆動を制御する。このように、メモリセルＭＣ（すなわち、記憶部Ｍａ、Ｍｂ）がマトリックス状に配置される場合にも、共通のビット線対ＢＬ、ＢＬＸに接続された２つの記憶部Ｍａ、Ｍｂの読み出しサイクルの一部を互いに重複して実行することができる。この結果、読み出しサイクルを重複しない場合に比べて、半導体記憶装置１００から読み出し可能な単位時間当たりのデータ数を増加させることができ、読み出しアクセス性能を向上することができる。
【００３９】
以下、ビット線対ＢＬ、ＢＬＸに共通の読み出し部が接続され、読み出し部がビット線対ＢＬ、ＢＬＸの電圧差に応じて記憶部Ｍａ（またはＭｂ）に保持されたデータを読み出す場合を検討する。この場合、ビット線対ＢＬ、ＢＬＸは、読み出し期間と判定期間の両方で使用されるため、記憶部Ｍａ、Ｍｂの読み出しサイクルの一部を重複させることができない。また、１つの読み出しサイクル内に記憶部Ｍａ、Ｍｂのそれぞれからの読み出し動作を実行する場合（いわゆるダブルポンプ方式）、読み出しサイクルは、記憶部Ｍａ、Ｍｂ毎に読み出し動作を実行する読み出しサイクルの２倍になる。読み出しサイクルをクロックサイクルとする場合、動作周波数は２分の１になり、半導体記憶装置の性能は低下する。
【００４０】
さらに、複数のメモリセルＭＣを、互いに異なるワード線対ＷＬａ、ＷＬｂと共通のビット線対ＢＬ、ＢＬＸとに接続する代わりに、共通のワード線対ＷＬａ、ＷＬｂと互いに異なるビット線対ＢＬ、ＢＬＸとに接続する場合を検討する。この場合、共通のワード線対ＷＬａ、ＷＬｂに接続されたメモリセルＭＣの読み出しアクセスは並列に実行できるため、これらメモリセルＭＣを順次アクセスすることで、見た目の読み出しサイクルを短縮することができる。しかしながら、例えば、ランダムアクセスにより、共通のワード線対ＷＬａ、ＷＬｂに接続されたメモリセルＭＣのアクセスを並列に実行できない場合、読み出しサイクルを短縮することができない。
【００４１】
図３は、別の実施形態における半導体記憶装置を示す。図３に示す半導体記憶装置１０２は、メモリセルアレイ３０、制御部４０、ワードデコーダ５０、ワードドライバ５２、書き込み部６０、読み出し部７０、比較制御部８０、ヒット検出部９０およびプライオリティエンコーダ９２を有する。例えば、半導体記憶装置１０２は、ＴＣＡＭであり、クロック信号ＣＬＫに同期して動作する。図３に示す白丸は、半導体記憶装置１０２と他の回路との間で信号を入出力する外部端子を示す。信号名の後ろに付けたかぎ括弧内の数値または符号は、信号線のビット番号を示す。なお、半導体記憶装置１０２は、クロック信号ＣＬＫに同期して動作するため、クロック信号ＣＬＫは、制御部４０以外の回路にも供給される。
【００４２】
メモリセルアレイ３０は、マトリックス状に配置された複数のメモリセルＭＣを有する。図３の横方向に並ぶメモリセルＭＣは、共通のワード線ＷＬＭ、ＷＬＤおよび共通のマッチ線ＭＬに接続される。図３の縦方向に並ぶメモリセルは、共通のビット線対ＢＬ、ＢＬＸおよび共通のサーチ線対ＳＬ、ＳＬＸに接続される。各メモリセルＭＣは、データセルＤＴとマスクセルＭＳＫを有しており、データセルＤＴはワード線ＷＬＤのいずれかに接続され、マスクセルＭＳＫはワード線ＷＬＭのいずれかに接続される。ワード線ＷＬＤは第１のワード線の一例であり、ワード線ＷＬＭは第２のワード線の一例である。メモリセルＭＣの例は、図４に示される。ビット線ＢＬ［０］、ＢＬＸ［０］に接続されたデータセルＤＴおよびマスクセルＭＳＫに付した括弧内の数字は、図９に示す読み出し動作および図１０に示す書き込み動作でのアクセス順を示している。
【００４３】
例えば、ワード線ＷＬＭ、ＷＬＤおよびマッチ線ＭＬの数"ｎ"は、２５６本または５１２本であり、ビット線対ＢＬ、ＢＬＸおよびサーチ線対ＳＬ、ＳＬＸの数"ｍ"は、６４本または１２８本である。なお、"ｎ"および"ｍ"の値は、上記に限定されないが、回路設計の容易性を考慮して２のべき乗であることが望ましい。
【００４４】
制御部４０は、外部端子を介して受信するクロック信号ＣＬＫ、ａビットのアドレス信号ＡＤ［ａ−１：０］、書き込みイネーブル信号ＷＥ、読み出しイネーブル信号ＲＥおよび比較イネーブル信号ＣＰＥを受ける。書き込みイネーブル信号ＷＥは、メモリセルＭＣにデータを書き込む場合にハイレベルに設定される。読み出しイネーブル信号ＲＥは、メモリセルＭＣからデータを読み出す場合にハイレベルに設定される。比較イネーブル信号ＣＰＥは、比較データＣＰＤＴをメモリセルＭＣに記憶されたデータと比較する場合、ハイレベルに設定される。
【００４５】
そして、制御部４０は、メモリセルアレイ３０を動作させる制御信号を生成し、生成した制御信号をワードデコーダ５０、ワードドライバ５２、書き込み部６０、読み出し部７０、比較制御部８０、ヒット検出部９０およびプライオリティエンコーダ９２に出力する。制御部４０は、書き込みイネーブル信号ＷＥに基づいて、書き込みイネーブル信号ＷＥＤＸ、ＷＥＭＸ、書き込みクロック信号ＷＤＣＬＫおよび書き込み選択信号ＷＤＳＥＬを生成する。制御部４０は、読み出しイネーブル信号ＲＥに基づいて、読み出しイネーブル信号ＲＥ（ＲＥＤ、ＲＥＭ）、センスアンプイネーブル信号ＳＡＥ（ＳＡＥＤ、ＳＡＥＭ）およびプリチャージ信号ＰＣＨ（ＰＣＨＤ、ＰＣＨＭ）を生成する。制御部４０は、比較イネーブル信号ＣＰＥに基づいて、比較制御部８０に供給する比較信号ＣＰを生成する。
【００４６】
ワードデコーダ５０は、制御部４０からアドレス信号ＡＤおよびタイミング信号を受け、共通のメモリセルＭＣに接続されるワード線ＷＬＤ、ＷＬＭのペアのいずれかを選択する。すなわち、ワード線ＷＬＤ、ＷＬＭのペアは、同じアドレスが割り当てられている。なお、ワード線ＷＬＤは、データセルＤＴに接続され、ワード線ＷＬＭは、マスクセルＭＳＫに接続される。ワードドライバ５２は、ワードデコーダ５０により選択されたワード線ＷＬＤ、ＷＬＭを順次駆動する。制御部４０、ワードデコーダ５０およびワードドライバ５２は、読み出し動作または書き込み動作において、データセルＤＴおよびマスクセルＭＳＫを順次選択する動作制御部の一例である。
【００４７】
書き込み部６０は、書き込み動作において、制御部４０から出力される書き込みイネーブル信号ＷＥＤＸ（またはＷＥＭＸ）、書き込みクロック信号ＷＤＣＬＫおよび書き込み選択信号ＷＤＳＥＬに基づいて動作する。書き込み部６０は、書き込みデータ信号ＷＤＤＴ、ＷＭＤＴのいずれかに対応する相補の論理値をビット線対ＢＬ、ＢＬＸに出力し、書き込みデータ信号ＷＤＤＴ、ＷＭＤＴの論理のいずれかをメモリセルＭＣに書き込む。
【００４８】
読み出し部７０は、ビット線ＢＬ、ＢＬＸ毎に設けられ、図示しないセンスアンプを有する。各読み出し部７０は、制御部４０から出力される読み出しイネーブル信号ＲＥＤ（またはＲＥＭ）、センスアンプイネーブル信号ＳＡＥＤ（またはＳＡＥＭ）およびプリチャージ信号ＰＣＨＤ（またはＰＣＨＭ）に基づいて動作する。ビット線ＢＬに接続された読み出し部７０は、センスアンプイネーブル信号ＳＡＥＤに基づいて、データセルＤＴからビット線ＢＬに読み出されたデータの論理を判定し、判定した論理を有する読み出しデータ信号ＲＤＤＴを出力する。同様に、ビット線ＢＬＸに接続された読み出し部７０は、センスアンプイネーブル信号ＳＡＥＭに基づいて、マスクセルＭＳＫからビット線ＢＬＸに読み出されたデータの論理を判定し、判定した論理を有する読み出しデータ信号ＲＭＤＴを出力する。ビット線ＢＬに接続された読み出し部７０は、第１の読み出し部の一例であり、ビット線ＢＬＸに接続された読み出し部７０は、第２の読み出し部の一例である。
【００４９】
比較制御部８０は、相補のサーチ線ＳＬ、ＳＬＸに接続される。比較制御部８０は、制御部４０から出力される比較イネーブル信号ＣＰに基づいて、比較データ信号ＣＰＤＴがメモリセルＭＣに保持されたデータと一致するか否かを判定する比較動作を実行する。比較制御部８０は、比較データ信号ＣＰＤＴの論理に基づいて相補の比較データを生成し、生成した相補の比較データを相補のサーチ線ＳＬ、ＳＬＸに出力する。
【００５０】
ヒット検出部９０は、ワード線対ＷＬＤ、ＷＬＭに対応するｎ本のマッチ線ＭＬ上の論理値に基づいて、ｍビットの比較データ信号ＣＰＤＴの論理と同じ論理のデータがメモリセルアレイ３０に保持されているかをワード線対ＷＬＤ、ＷＬＭ毎に検出する。以下では、各ワード線対ＷＬＤ、ＷＬＭに接続されたｍ個のメモリセルＭＣに保持されたデータ列は、ワードデータと称する。例えば、比較データ信号ＣＰＤＴで示されるデータがワードデータと一致する場合、そのワードデータを保持するメモリセルＭＣ群に接続されるマッチ線ＭＬは、ハイレベルに設定される。一方、比較データ信号ＣＰＤＴで示されるデータがワードデータと一致しない場合、ワードデータを保持するメモリセルＭＣ群に接続されるマッチ線ＭＬは、ロウレベルに設定される。ヒット検出部９０は、マッチ線ＭＬのいずれかがハイレベルに設定された場合、ヒット信号ＨＩＴを出力し、複数のマッチ線ＭＬがハイレベルに設定された場合、マルチヒット信号ＭＨＩＴを出力する。
【００５１】
プライオリティエンコーダ９２は、ヒット検出部９０による検出結果に基づいて、ハイレベルに設定されたマッチ線ＭＬに割り当てられたアドレスを検出し、検出したアドレスをヒットアドレス信号ＨＡＤとして出力する。複数のマッチ線ＭＬがハイレベルに設定された場合、プライオリティエンコーダ９２は、ハイレベルに設定されたマッチ線ＭＬそれぞれに割り当てられたアドレスの内、最も大きいアドレスもしくは、最も小さいアドレスをヒットアドレス信号ＨＡＤとして出力する。
【００５２】
図４は、図３に示すメモリセルＭＣの一例を示す。メモリセルＭＣに設けられるデータセルＤＴおよびマスクセルＭＳＫの各々は、ＳＲＡＭのメモリセルと、判定部ＪＤＧ（ＪＤＧＤまたはＪＤＧＭ）とを有する。データセルＤＴは第１の記憶部の一例であり、マスクセルＭＳＫは第２の記憶部の一例である。なお、データセルＤＴを第２の記憶部の一例とし、マスクセルＭＳＫを第１の記憶部の一例としてもよい。
【００５３】
データセルＤＴおよびマスクセルＭＳＫの各々は、一対のＣＭＯＳ（Complementary Metal Oxide Semiconductor）インバータを有し、一方のＣＭＯＳインバータの出力が他方のＣＭＯＳインバータの入力に接続される。特に限定されないが、ＣＭＯＳインバータは、半導体記憶装置１０２に供給される電源電圧ＶＤＤおよび接地電圧ＶＳＳにより動作する。データセルＤＴおよびマスクセルＭＳＫの各々において、一対のＣＭＯＳインバータの出力ノードは、ゲートがワード線ＷＬ（ＷＬＤまたはＷＬＭ）に接続された転送トランジスタを介して相補のビット線ＢＬ、ＢＬＸにそれぞれ接続される。データセルＤＴおよびマスクセルＭＳＫの各々が記憶するデータの論理は、ビット線ＢＬ側の記憶ノードが保持する論理である。
【００５４】
判定部ＪＤＧＤ、ＪＤＧＭの各々は、マッチ線ＭＬと接地線ＶＳＳとの間に直列に接続された一対のｎチャネルＭＯＳトランジスタ（以下、単にｎＭＯＳと称する）を有する。判定部ＪＤＧＤにおいて、一方のｎＭＯＳのゲートは、サーチ線ＳＬＸに接続され、他方のｎＭＯＳのゲートは、データセルＤＴのビット線ＢＬ側の記憶ノードに接続される。判定部ＪＤＧＭにおいて、一方のｎＭＯＳのゲートは、サーチ線ＳＬに接続され、他方のｎＭＯＳのゲートは、マスクセルＭＳＫのビット線ＢＬ側の記憶ノードに接続される。換言すれば、データセルＤＴにおいて、転送トランジスタを介してビット線ＢＬに接続される記憶ノード（一方のＣＭＯＳインバータの出力）が判定部ＪＤＧＤに接続される。マスクセルＭＳＫにおいて、転送トランジスタを介してビット線ＢＬに接続される記憶ノード（一方のＣＭＯＳインバータの出力）が判定部ＪＤＧＭに接続される。
【００５５】
図５は、図３に示す半導体記憶装置１０２の動作を示す真理値表の一例を示す。符号"Ｈ"は、ハイレベルまたは論理１を示し、符号"Ｌ"はロウレベルまたは論理０を示す。符号"−"は、論理０、１のいずれでもよいことを示す（don't care）。ビット線ＢＬ、ＢＬＸの符号"（Ｌ）"、"（Ｈ）"は、読み出し部７０の動作により確定する論理を示す。ビット線ＢＬ、ＢＬＸの符号"ＰＣＨ"は、プリチャージされることを示す。
【００５６】
符号"ＤＴ"は、データセルＤＴが保持する論理（ビット線ＢＬ側の記憶ノードが保持する論理）を示し、符号"ＭＳＫ"は、マスクセルＭＳＫが保持する論理（ビット線ＢＬ側の記憶ノードが保持する論理）を示す。"変化なし"は、データセルＤＴまたはマスクセルＭＳＫが保持する論理が変化しないことを示す。
【００５７】
半導体記憶装置１０２は、書き込みコマンドを受信した場合、書き込み動作を実行する。書き込みコマンドは、クロック信号ＣＬＫの立ち上がりエッジに同期して書き込みイネーブル信号ＷＥのハイレベルを検出した場合に検出される。
【００５８】
データをデータセルＤＴに書き込む場合、データを書き込むデータセルＤＴに接続されたワード線ＷＬＤがハイレベルに設定され、他のワード線ＷＬＤおよびワード線ＷＬＭはロウレベルに設定される。データをマスクセルＭＳＫに書き込む場合、データを書き込むマスクセルＭＳＫに接続されたワード線ＷＬＭがハイレベルに設定され、他のワード線ＷＬＭおよびワード線ＷＬＤはロウレベルに設定される。
【００５９】
データセルＤＴまたはマスクセルＭＳＫに論理１を書き込む場合、ビット線ＢＬはハイレベルに設定され、ビット線ＢＬＸはロウレベルに設定される。データセルＤＴまたはマスクセルＭＳＫに論理０を書き込む場合、ビット線ＢＬはロウレベルに設定され、ビット線ＢＬＸはハイレベルに設定される。
【００６０】
ロウレベルのビットイネーブル信号ＢＥに対応するビット線対ＢＬ、ＢＬＸは、ハイレベルに設定される。これにより、複数ビットのワードデータのうち、ロウレベルのビットイネーブル信号ＢＥに対応するビットのデータがデータセルＤＴおよびマスクセルＭＳＫに書き込まれることがマスクされる。すなわち、半導体記憶装置１０２は、ワードデータのうちの所定のビットのみ書き込み動作を実行するパーシャル書き込み機能を有する。なお、書き込み動作では、判定部ＪＤＧＤ、ＪＤＧＭの動作を禁止するために、サーチ線ＳＬ、ＳＬＸはロウレベルに設定される。これにより、マッチ線ＭＬはハイレベルに固定される。
【００６１】
半導体記憶装置１０２は、読み出しコマンドを受信した場合、読み出し動作を実行する。読み出しコマンドは、クロック信号ＣＬＫの立ち上がりエッジに同期して読み出しイネーブル信号ＲＥのハイレベルを検出した場合に検出される。
【００６２】
データセルＤＴからデータを読み出す場合、データを読み出すデータセルＤＴに接続されたワード線ＷＬＤがハイレベルに設定され、他のワード線ＷＬＤおよびワード線ＷＬＭはロウレベルに設定される。そして、ビット線ＢＬの電圧レベルに応じてデータセルＤＴに保持されているデータの論理が読み出される。データセルＤＴからデータを読み出す場合、ビット線ＢＬＸは、プリチャージ状態に設定される。マスクセルＭＳＫからデータを読み出す場合、データを読み出すマスクセルＭＳＫに接続されたワード線ＷＬＭがハイレベルに設定され、他のワード線ＷＬＭおよびワード線ＷＬＤはロウレベルに設定される。そして、ビット線ＢＬＸの電圧レベルに応じてマスクセルＭＳＫに保持されているデータの論理が読み出される。マスクセルＭＳＫからデータを読み出す場合、ビット線ＢＬはプリチャージ状態に設定される。読み出し動作においても、判定部ＪＤＧＤ、ＪＤＧＭの動作を禁止するために、サーチ線ＳＬ、ＳＬＸはロウレベルに設定される。これにより、マッチ線ＭＬはハイレベルに固定される。
【００６３】
半導体記憶装置１０２は、比較コマンドを受信した場合、比較動作を実行する。比較コマンドは、クロック信号ＣＬＫの立ち上がりエッジに同期して比較イネーブル信号ＣＰＥのハイレベルを検出した場合に検出される。サーチ線ＳＬは、比較イネーブル信号ＣＰＥとともに受信する比較データＣＰＤＴ（図３）の論理に設定され、サーチ線ＳＬＸは、比較データＣＰＤＴの論理の逆の論理に設定される。そして、比較動作では、後述する例外条件を除き、サーチ線ＳＬの論理がデータセルＤＴに保持された論理と一致する場合、マッチ線ＭＬがハイレベルに維持される。また、サーチ線ＳＬの論理がデータセルＤＴに保持された論理と一致しない場合、マッチ線ＭＬがハイレベルからロウレベルに変化する。論理の一致の検出は、判定部ＪＤＧＤまたは判定部ＪＤＧＭにより実行される。
【００６４】
以下に例外条件を示す。データセルＤＴとマスクセルＭＳＫとがともに論理０を保持する場合、ソース線ＳＬの論理にかかわりなく一致が検出され、マッチ線ＭＬはハイレベルに維持される。また、データセルＤＴとマスクセルＭＳＫとがともに論理１を保持する場合、ソース線ＳＬの論理にかかわりなく不一致が検出され、マッチ線ＭＬはハイレベルからロウレベルに変化する。但し、データセルＤＴとマスクセルＭＳＫにともに論理１を書き込むことは動作仕様で禁止されており、この状態は使用されない。
【００６５】
マッチ線ＭＬは、ワードデータのビットをそれぞれ保持する複数のメモリセルＭＣに接続されている。このため、ワードデータのすべてのデータが一致と判定された場合、マッチ線ＭＬはハイレベルに維持され、ワードデータの少なくとも１つのデータが不一致と判定された場合、マッチ線ＭＬはロウレベルに変化する。これにより、ワードデータ毎に比較データＣＰＤＴとの一致／不一致が検出される。
【００６６】
なお、半導体記憶装置１０２は、書き込みイネーブル信号ＷＥ、読み出しイネーブル信号ＲＥおよび比較イネーブル信号ＣＰＥのすべてがロウレベルの場合、動作モードをスタンバイモードに移行する。スタンバイモードでは、ワード線ＷＬＤ、ＷＬＭ、ビット線ＢＬ、ＢＬＸ、サーチ線ＳＬ、ＳＬＸは、すべてロウレベルに設定され、マッチ線ＭＬはハイレベルに設定される。
【００６７】
図６は、図３に示す読み出し部７０の一例を示す。ビット線ＢＬに接続された読み出し部７０とビット線ＢＬＸに接続された読み出し部７０とは、接続される信号線が異なることを除き互いに同じ構成である。このため、以下では、ビット線ＢＬに接続された読み出し部７０を説明する。ビット線ＢＬＸに接続された読み出し部７０の説明は、以下の説明の符号ＢＬ、ＲＤＤ、ＳＡＥＤ、ＲＤＤＴ、ＲＥＤ、ＰＣＨＤ、ＤＴを符号ＢＬＸ、ＲＤＭ、ＳＡＥＭ、ＲＭＤＴ、ＲＥＭ、ＰＣＨＭ、ＭＳＫに読み替えればよい。
【００６８】
読み出し部７０は、１本のビット線ＢＬに接続され、１本のビット線ＢＬに読み出されるデータの信号量を増幅する、いわゆるシングルエンドの回路である。読み出し部７０は、差動タイプのセンスアンプＳＡと、センスアンプＳＡの出力に接続されたラッチＬＴとを有する。センスアンプＳＡの一方の入力に接続された読み出しデータ線ＲＤＤは、読み出しデータ線ＲＤＤのプリチャージ用のｐチャネルＭＯＳトランジスタ１１（以下、単にｐＭＯＳと称する）に接続される。ｐＭＯＳ１１は、プリチャージ信号ＰＣＨＤのロウレベル期間に導通して読み出しデータ線ＲＤＤを電源線ＶＤＤに接続する。
【００６９】
また、読み出しデータ線ＲＤＤは、読み出しイネーブル信号ＲＥＤの論理を反転させた信号を受けるｐＭＯＳ１２を介してビット線ＢＬに接続される。ビット線ＢＬに接続されたｐＭＯＳ１２は、データセルＤＴから読み出されたデータの論理をセンスアンプＳＡで判定する第１の判定期間に、ビット線ＢＬとセンスアンプＳＡとの接続を遮断する第１のスイッチ部の一例である。一方、ビット線ＢＬＸに接続されたｐＭＯＳ１２は、マスクセルＭＳＫから読み出されたデータの論理をセンスアンプＳＡで判定する第２の判定期間に、ビット線ＢＬＸとセンスアンプＳＡとの接続を遮断する第２のスイッチ部の一例である。
【００７０】
ビット線ＢＬと読み出しデータ線ＲＤＤとの間にｐＭＯＳ１２を配置することで、センスアンプＳＡによる増幅動作の開始と同時にビット線ＢＬのプリチャージ動作を開始することができる。センスアンプＳＡの増幅動作期間を含む判定期間の長さは、ビット線ＢＬのプリチャージ動作の期間に依存して決まる。このため、ｐＭＯＳ１２によりビット線ＢＬと読み出しデータ線ＲＤＤとの接続を制御することで、ｐＭＯＳ１２を配置しない場合に比べて、判定期間を短縮することができる。
【００７１】
センスアンプＳＡの他方の入力は、参照電圧線Ｖｒｅｆに接続される。例えば、参照電圧線Ｖｒｅｆの電圧は、論理０を保持するデータセルＤＴからビット線ＢＬに読み出された電圧と電源電圧ＶＤＤとの間（中央値）に設定される。
【００７２】
センスアンプＳＡは、センスアンプイネーブル信号ＳＡＥＤのハイレベル期間に動作する。センスアンプＳＡは、ビット線ＢＬの電圧が伝達される読み出しデータ線ＲＤＤの電圧と参照電圧線Ｖｒｅｆとの電圧差を差動増幅する。ラッチＬＴは、センスアンプＳＡの出力に接続され、センスアンプＳＡが増幅したデータをラッチする。ラッチＬＴは、ラッチしたデータを読み出しデータ信号ＲＤＤＴとして出力する。
【００７３】
なお、ビット線ＢＬ、ＢＬＸをプリチャージするプリチャージ回路（プリチャージ機能）は、書き込みドライバ部ＷＤＲＶに含まれる。書き込みドライバ部ＷＤＲＶは、図３に示した書き込み部６０に含まれるため、ビット線ＢＬ、ＢＬＸのプリチャージ回路は、書き込み部６０の詳細を示す図８で説明する。本実施形態では、一対の読み出し部７０がビット線ＢＬ、ＢＬＸのそれぞれに対応して設けられ、互いに独立に動作する。また、一対のプリチャージ回路がビット線ＢＬ、ＢＬＸのそれぞれに対応して設けられ、互いに独立に動作する。これにより、図９で説明するように、データセルＤＴとマスクセルＭＳＫの読み出しサイクルの一部を重複させることができ、メモリセルＭＣからデータを連続して読み出す場合に読み出しサイクルを短縮することができる。
【００７４】
図７は、図６に示すセンスアンプＳＡおよびラッチＬＴの一例を示す。図７の括弧内に示す符号は、ビット線ＢＬＸ（マスクセルＭＳＫ）に対応するセンスアンプＳＡおよびラッチＬＴに接続される信号線名を示す。以下では、ビット線ＢＬ（データセルＤＴ）に対応するセンスアンプＳＡおよびラッチＬＴを説明する。
【００７５】
センスアンプＳＡは、いわゆるラッチ型であり、電源線ＶＤＤおよび接地線ＶＳＳとの接続がセンスアンプイネーブル信号ＳＡＥＤで制御された一対のＣＭＯＳインバータを有する。一方のＣＭＯＳインバータの出力は、他方のＣＭＯＳインバータの入力に接続され、センスアンプＳＡはラッチ機能を有する。ラッチ機能はセンスアンプイネーブル信号ＳＡＥＤがハイレベルの期間に有効になる。また、図示されていないが、センスアンプＳＡの一方のノードＮ１は、活性化時のセンスアンプＳＡより電流駆動能力が小さいトランジスタを介して参照電圧線Ｖｒｅｆに接続されている。このため、読み出しデータ線ＲＤＤの電圧と参照電圧ＶｒｅｆをセンスアンプＳＡで増幅した信号は、データ線ＲＤＤとノードＮ１に出力される。センスアンプＳＡは、センスアンプイネーブル信号ＳＡＥＤがハイレベルになると、その時の読み出しデータ線ＲＤＤの電圧と参照電圧Ｖｒｅｆの電位差を検出し、センスアンプイネーブル信号ＳＡＥＤがハイレベル期間にその電位差を増幅し、読み出しデータ線ＲＤＤとノードＮ１に出力する。増幅された相補のデータ信号（ＲＤＤ、Ｖｒｅｆ）は、ラッチＬＴに供給される。
【００７６】
ラッチＬＴは、電源線ＶＤＤと接地線ＶＳＳとの間に直列に配置されたｐＭＯＳ１３およびｎＭＯＳ１４を有する。ｐＭＯＳ１３のゲートは読み出しデータ線ＲＤＤに接続され、ｎＭＯＳ１４のゲートは、インバータＩＶ１を介してセンスアンプＳＡのノードＮ１に接続される。ｐＭＯＳ１３およびｎＭＯＳ１４の共通のドレインノードは、データ保持部ＤＨに接続される。
【００７７】
センスアンプイネーブル信号ＳＡＥＤがロウレベルであるセンスアンプＳＡが非活性である期間、データ線ＲＤＤは電源電圧ＶＤＤにプリチャージされているかメモリセルＭＣのみによって駆動される状態であり、データ線ＲＤＤの電位は電源電圧ＶＤＤまたはその付近にあるため、ｐＭＯＳ１３はオフ状態である。また、参照電圧Ｖｒｅｆも電源電圧ＶＤＤ付近の電圧であるため、インバータＩＶ１の出力はロウレベルであり、ｎＭＯＳ１４もオフ状態である。センスアンプイネーブル信号ＳＡＥＤがハイレベルの期間において、センスアンプＳＡは活性化し、読み出しデータ線ＲＤＤの電圧と参照電圧Ｖｒｅｆの電位差を増幅し、その結果、ｐＭＯＳ１３またはｎＭＯＳ１４のいずれかがオンする。
【００７８】
データ保持部ＤＨは、一対のインバータを有し、一方のインバータの出力が他方のインバータの出力に接続される。データ保持部ＤＨの出力は、インバータＩＶ２を介して読み出しデータ線ＲＤＤＴに接続される。ラッチＬＴは、センスアンプイネーブル信号ＳＡＥＤのハイレベル期間にセンスアンプＳＡで増幅されるデータを取り込み、ラッチする。なお、センスアンプＳＡおよびラッチＬＴは、図７に示す回路に限定されない。例えば、センスアンプＳＡは、カレントミラー回路を含む電流制御型でもよい。
【００７９】
図８は、図３に示す書き込み部６０の一例を示す。書き込み部６０は、ビット線対ＢＬ、ＢＬＸ毎にデータラッチ部ＤＬＴ、マルチプレクサＭＵＸ１、ＭＵＸ２を含むマルチプレクサ部ＭＵＸおよび書き込みドライバ部ＷＤＲＶを有する。
【００８０】
データラッチ部ＤＬＴは、マスタラッチ部ＭＬＴおよびスレーブラッチ部ＳＬＴを有する。マスタラッチ部ＭＬＴは、書き込みクロック信号ＷＤＣＬＫに同期して書き込みデータ信号ＷＤＤＴ、ＷＭＤＴおよびビットイネーブル信号ＢＥをそれぞれラッチする３つのラッチＬＴを有する。各ラッチＬＴは、書き込みクロック信号ＷＤＣＬＫのロウレベル期間にデータ入力端子Ｄで受けた信号をデータ出力端子Ｑから出力し、書き込みクロック信号ＷＤＣＬＫの立ち上がりエッジに同期してデータ入力端子Ｄで受けた信号の論理をラッチする。マスタラッチ部ＭＬＴにおいて、書き込みデータ信号ＷＤＤＴをラッチするラッチＬＴは、データセルＤＴに書き込むデータを保持する第１の保持部の一例である。
【００８１】
ハイレベルのビットイネーブル信号ＢＥとともに書き込みデータ信号ＷＤＤＴがマスタラッチ部ＭＬＴに供給された場合、書き込みデータ信号ＷＤＤＴの論理とその反転論理とがマスタラッチ部ＭＬＴからマルチプレクサＭＵＸ１、ＭＵＸ２にそれぞれ供給される。ロウレベルのビットイネーブル信号ＢＥとともに書き込みデータ信号ＷＤＤＴがマスタラッチ部ＭＬＴに供給された場合、書き込みデータ信号ＷＤＤＴの論理とその反転論理との代わりにロウレベルがマルチプレクサＭＵＸ１、ＭＵＸ２に供給される。また、ハイレベルのビットイネーブル信号ＢＥとともに書き込みデータ信号ＷＭＤＴがマスタラッチ部ＭＬＴに供給された場合、書き込みデータ信号ＷＭＤＴとその反転論理とがマスタラッチ部ＭＬＴからスレーブラッチ部ＳＬＴに供給される。ロウレベルのビットイネーブル信号ＢＥとともに書き込みデータ信号ＷＭＤＴがマスタラッチ部ＭＬＴに供給された場合、書き込みデータ信号ＷＭＤＴおよびその反転論理の代わりにロウレベルがスレーブラッチ部ＳＬＴに供給される。
【００８２】
スレーブラッチ部ＳＬＴは、マスタラッチ部ＭＬＴから出力される書き込みデータ信号ＷＭＤＴの論理とその反転論理とをラッチする２つのラッチＬＴを有する。スレーブラッチ部ＳＬＴのラッチＬＴは、マスタラッチ部ＭＬＴから供給される書き込みデータ信号ＷＭＤＴの論理とその反転論理とを書き込みクロック信号ＷＤＣＬＫのハイレベル期間にマルチプレクサＭＵＸ１、ＭＵＸ２に転送する。また、スレーブラッチ部ＳＬＴのラッチＬＴは、書き込みクロック信号ＷＤＣＬＫの立ち下がりエッジに同期して、書き込みデータ信号ＷＭＤＴとその反転論理をラッチする。スレーブラッチ部ＬＳＴに含まれるラッチＬＴは、マスクセルＭＳＫに書き込むデータを保持する第２の保持部の一例である。マスタラッチ部ＭＬＴとスレーブラッチ部ＳＬＴとを設けることで、半導体記憶装置１０２に並列に供給される書き込みデータ信号ＷＤＤＴ、ＷＭＤＴを書き込みドライバ部ＷＤＲＶに順次供給し、書き込み動作を順次実行することができる。
【００８３】
マルチプレクサＭＵＸ１は、書き込み選択ＷＤＳＥＬがロウレベルの場合、マスタラッチ部ＭＬＴからの書き込みデータ信号ＷＤＤＴを選択する。マルチプレクサＭＵＸ１は、書き込み選択信号ＷＤＳＥＬがハイレベルの場合、スレーブラッチ部ＳＬＴからの書き込みデータ信号ＷＭＤＴを選択する。そして、マルチプレクサＭＵＸ１は、選択した信号を書き込みデータ信号ＷＤとして出力する。
【００８４】
マルチプレクサＭＵＸ２は、書き込み選択ＷＤＳＥＬがロウレベルの場合、マスタラッチ部ＭＬＴからの書き込みデータ信号ＷＤＤＴの論理を反転した信号を選択する。マルチプレクサＭＵＸ２は、書き込み選択ＷＤＳＥＬがハイレベルの場合、スレーブラッチ部ＳＬＴからの書き込みデータ信号ＷＭＤＴの論理を反転した信号を選択する。そして、マルチプレクサＭＵＸ２は、選択した信号を書き込みデータ信号ＷＤＸとして出力する。
【００８５】
特に限定されないが、マルチプレクサＭＵＸ１、ＭＵＸ２は、入力ノードがデータ入力端子Ｄ０、Ｄ１にそれぞれ接続され、出力ノードがデータ出力端子Ｚに接続された２つのＣＭＯＳトランスミッションゲートを有する。そして、２つのＣＭＯＳトランスミッションゲートは、書き込み選択信号ＷＤＳＥＬの論理に応じて排他的に導通することで、データ入力端子Ｄ０、Ｄ１の一方に供給される信号を選択する。
【００８６】
マルチプレクサ部ＭＵＸは、メモリセルＭＣの書き込み動作において、マスタラッチ部ＭＬＴに保持された書き込みデータ信号ＷＤＤＴを選択した後、スレーブラッチ部ＳＬＴに保持された書き込みデータ信号ＷＭＤＴを選択する選択部の一例である。マスタラッチ部ＭＬＴおよびスレーブラッチ部ＳＬＴの出力をマルチプレクサ部ＭＵＸにより選択することで、共通の書き込みドライバ部ＷＤＲＶを使用して、データセルＤＴまたはマスクセルＭＳＫにデータを書き込むことができる。
【００８７】
なお、スレーブラッチ部ＳＬＴのデータ入力端子Ｄに供給する信号を生成する２つのＡＮＤゲートは、スレーブラッチ部ＳＬＴの２つのラッチＬＴのデータ出力端子Ｑに接続されてもよい。この場合、マスタラッチ部ＭＬＴにおいて書き込みデータ信号ＷＭＤＴをラッチするラッチＬＴのデータ出力端子Ｑがスレーブラッチ部ＳＬＴの左側のラッチＬＴのデータ入力端子Ｄに直接接続される。反転入力を有するＡＮＤゲートは、マルチプレクサＭＵＸ２のデータ入力端子Ｄ１とスレーブラッチ部ＳＬＴの左側のラッチＬＴのデータ出力端子Ｑとの間に配置される。反転入力を有さないＡＮＤゲートは、マルチプレクサＭＵＸ１のデータ入力端子Ｄ１とスレーブラッチ部ＳＬＴの左側のラッチＬＴのデータ出力端子Ｑとの間に配置される。
【００８８】
さらに、スレーブラッチ部ＳＬＴの右側のラッチＬＴは、マスタラッチ部ＭＬＴから出力されるビットイネーブル信号ＢＥをクロック信号ＣＬＫの立ち下がりエッジに同期してラッチする。ビットイネーブル信号ＢＥをラッチするラッチＬＴのデータ出力端子Ｑは、移動した２つのＡＮＤゲートの入力にそれぞれに接続される。
【００８９】
書き込みドライバ部ＷＤＲＶは、ビット線ＢＬにデータを出力するデータバッファＤＢと、ビット線ＢＬＸにデータを出力するデータバッファＤＢＸとを有する。書き込みドライバ部ＷＤＲＶは、書き込みイネーブル信号ＷＥＤＸがロウレベルの期間に、データバッファＤＢ、ＤＢＸを動作させ、書き込みデータ信号ＷＤ、ＷＤＸ（すなわちＷＤＤＴ）の論理に応じて、ビット線ＢＬ、ＢＬＸを駆動する。また、書き込みドライバ部ＷＤＲＶは、書き込みイネーブル信号ＷＥＭＸがロウレベルの期間に、データバッファＤＢ、ＤＢＸを動作させ、書き込みデータ信号ＷＤ、ＷＤＸ（すなわちＷＭＤＴ）の論理に応じて、ビット線ＢＬ、ＢＬＸを駆動する。そして、データセルＤＴに書き込みデータ信号ＷＤＤＴの論理が書き込まれ、マスクセルＭＳＫに書き込みデータ信号ＷＭＤＴの論理が書き込まれる。書き込みドライバ部ＷＤＲＶは、マルチプレクサ部ＭＵＸが順次選択した書き込みデータ信号ＷＤＤＴ、ＷＭＤＴを、ビット線対ＢＬ、ＢＬＸを介してデータセルＤＴとマスクセルＭＳＫとに順次書き込むデータ書き込み部の一例である。
【００９０】
なお、データセルＤＴまたはマスクセルＭＳＫのいずれかにデータを書き込む書き込みサイクルでは、読み出しイネーブル信号ＲＥＤ、ＲＥＭはロウレベルに設定されるため、データバッファＤＢ、ＤＢＸは、ＣＭＯＳインバータとして動作する。また、データセルＤＴまたはマスクセルＭＳＫのいずれかからデータを読み出す読み出しサイクルでは、書き込みイネーブル信号ＷＥＤＸ、ＷＥＤＭはハイレベルに固定される。このため、書き込みイネーブル信号ＷＥＤＸ、ＷＥＤＭと書き込みデータ信号ＷＤ、ＷＤＸとに基づいて生成されるデータバッファＤＢ、ＤＢＸの制御信号はロウレベルに設定される。
【００９１】
したがって、データバッファＤＢは、読み出しイネーブル信号ＲＥＤがロウレベルの期間にビット線ＢＬをプリチャージするプリチャージ回路として機能する。データバッファＤＢＸは、読み出しイネーブル信号ＲＥＭがロウレベルの期間にビット線ＢＬＸをプリチャージするプリチャージ回路として機能する。このように、ビット線ＢＬ、ＢＬＸにそれぞれ接続されるプリチャージ回路は、互いに異なる読み出しイネーブル信号ＲＥＤ、ＲＥＭにより独立に動作する。このため、図９で説明するように、読み出し動作において、共通のビット線対ＢＬ、ＢＬＸに接続されたデータセルＤＴおよびマスクセルＭＳＫの読み出しサイクルの一部を互いに重複させることができる。データバッファＤＢは、ビット線ＢＬの電圧をプリチャージ電圧に初期化する第１の初期化部の一例であり、データバッファＤＢＸは、ビット線ＢＬＸの電圧をプリチャージ電圧に初期化する第２の初期化部の一例である。
【００９２】
図９は、図３に示す半導体記憶装置１０２の読み出し動作の一例を示す。図９は、図面が複雑になることを避けるため、主な信号の遷移エッジをクロック信号ＣＬＫの遷移エッジに合わせている。しかしながら、実際の動作では、クロック信号ＣＬＫや他の制御信号に対して所定のセットアップ時間と所定のホールド時間とが設定される。また、ビット線ＢＬ、ＢＬＸおよび読み出しデータ線ＲＤＤ、ＲＤＭの電圧の変化量は、説明を分かりやすくするために誇張している。
【００９３】
図９の説明では、ワード線ＷＬＤ［０］、ＷＬＭ［０］とビット線対ＢＬ［０］、ＢＬＸ［０］とに接続されたメモリセルＭＣは、メモリセルＭＣ０と称する。ワード線ＷＬＤ［ｎ−１］、ＷＬＭ［ｎ−１］とビット線対ＢＬ［０］、ＢＬＸ［０］とに接続されたメモリセルＭＣは、メモリセルＭＣ１と称する。また、メモリセルＭＣ０が有するデータセルＤＴおよびマスクセルＭＳＫは、それぞれデータセルＤＴ０およびマスクセルＭＳＫ０と称する。メモリセルＭＣ１が有するデータセルＤＴおよびマスクセルＭＳＫは、それぞれデータセルＤＴ１およびマスクセルＭＳＫ１と称する。図９に示す例では、データセルＤＴ０は"Ｌ"を保持し、マスクセルＭＳＫ０は"Ｈ"を保持し、データセルＤＴ１は"Ｈ"を保持し、マスクセルＭＳＫ１は"Ｌ"を保持している。
【００９４】
読み出し動作は、読み出しコマンドＲＤ（ＲＤ１、ＲＤ２、ＲＤ３）に基づいて実行される。読み出しコマンドＲＤ（ＲＥ＝"Ｌ"）は、クロック信号ＣＬＫの立ち上がりエッジに同期して半導体記憶装置１０２に供給される。そして、読み出しコマンドＲＤ毎にデータセルＤＴとマスクセルＭＳＫの両方からデータが順次読み出される。図９に示す例では、ワード線ＷＬＤ［０］、ＷＬＭ［０］に接続されたメモリセルＭＣ０からのデータの読み出しと、ワード線ＷＬＤ［ｎ−１］、ＷＬＭ［ｎ−１］に接続されたメモリセルＭＣ１からのデータの読み出しとが順次実行される。図２と同様に、読み出しサイクルは、１クロックサイクルに等しく、データセルＤＴからデータを読み出す読み出しサイクルと、マスクセルＭＳＫからデータを読み出す読み出しサイクルとは、半クロックの期間重複する。以下では、メモリセルＭＣ０、ＭＣ１のそれぞれからデータを読み出すために動作する回路について説明する。
【００９５】
制御部４０は、ワードドライバ５２を制御して、読み出しコマンドＲＤ１を受けたクロックサイクルの前半にワード線ＷＬＤ［０］を活性化し、読み出しコマンドＲＤ１を受けたクロックサイクルの後半にワード線ＷＬＭ［０］を活性化する（図９（ａ）、（ｂ））。例えば、クロックサイクルの前半は、クロック信号ＣＬＫのハイレベル期間であり、クロックサイクルの後半は、クロック信号ＣＬＫのロウレベル期間である。
【００９６】
また、制御部４０は、読み出しコマンドＲＤ１を受けたクロックサイクルの前半に読み出しイネーブル信号ＲＥＤおよびプリチャージ信号ＰＣＨＤをハイレベルに設定する（図９（ｃ）、（ｄ））。ハイレベルの読み出しイネーブル信号ＲＥＤを受けた書き込みドライバ部ＷＤＲＶは、ビット線ＢＬ［０］のプリチャージを停止する。ハイレベルのプリチャージ信号ＰＣＨＤを受けた読み出し部７０は、センスアンプＳＡの入力に接続された読み出しデータ線ＲＤＤ［０］のプリチャージを停止する。
【００９７】
ワード線ＷＬＤ［０］の活性化によりデータセルＤＴ０がビット線ＢＬ［０］に接続される。そして、データセルＤＴ０から読み出される論理０により、ビット線ＢＬ［０］の電圧はプリチャージ電圧から徐々に低下する（図９（ｅ））。読み出しコマンドＲＤを受けたクロックサイクルのクロック信号ＣＬＫのハイレベル期間は、データセルＤＴからビット線ＢＬにデータを読み出す第１の読み出し期間の一例である。読み出しイネーブル信号ＲＥＤがハイレベルの期間、読み出し部７０のｐＭＯＳ１２が導通し、読み出しデータ線ＲＤＤ［０］はビット線ＢＬ［０］に接続される。このため、ビット線ＢＬ［０］の電圧は読み出しデータ線ＲＤＤ［０］に伝達され、読み出しデータ線ＲＤＤ［０］の電圧は低下する（図９（ｆ））。
【００９８】
なお、ビット線ＢＬＸ［０］は、ロウレベルの読み出しイネーブル信号ＲＥＭによりプリチャージ電圧に維持される（図９（ｇ））。例えば、ビット線ＢＬＸ［０］をプリチャージする能力は、"Ｈ"を保持するデータセルＤＴ０がプリチャージ中のビット線ＢＬＸ［０］の電圧を低下させる能力よりも高い。このため、データセルＤＴ０が"Ｈ"を保持し、読み出し動作によりデータセルＤＴ０からビット線ＢＬＸ［０］に"Ｌ"が読み出される場合にも、ビット線ＢＬＸ［０］はプリチャージ電圧に維持される。すなわち、ビット線ＢＬＸ［０］の電圧は、データセルＤＴ０に保持された論理にかかわりなくプリチャージ電圧に維持される。読み出しデータ線ＲＤＭ［０］は、ロウレベルのプリチャージ信号ＰＣＨＭによりプリチャージ状態に維持される（図９（ｈ））。
【００９９】
次に、制御部４０は、読み出しコマンドＲＤ１を受けたクロックサイクルのクロック信号ＣＬＫの立ち下がりエッジに同期してセンスアンプイネーブル信号ＳＡＥＤを所定の期間ハイレベルに設定する（図９（ｉ））。これによりセンスアンプＳＡは、読み出しデータ線ＲＤＤ［０］の電圧を増幅する。増幅により得られた論理は、読み出しデータ信号ＲＤＤＴ［０］としてラッチＬＴから出力される（図９（ｊ））。すなわち、データセルＤＴ０に保持された論理０が読み出される。読み出しコマンドＲＤを受けたクロックサイクルのクロック信号ＣＬＫのロウレベル期間は、データセルＤＴからビット線ＢＬに読み出されたデータの論理を判定する第１の判定期間の一例である。
【０１００】
制御部４０は、センスアンプＳＡの動作を開始した後、読み出しイネーブル信号ＲＥＤをロウレベルに設定する（図９（ｋ））。ロウレベルの読み出しイネーブル信号ＲＥＤにより、ビット線ＢＬ［０］と読み出しデータ線ＲＤＤ［０］との接続が遮断される。また、ロウレベルの読み出しイネーブル信号ＲＥＤにより、書き込みドライバ部ＷＤＲＶのデータバッファＤＢはビット線ＢＬをプリチャージする。ビット線ＢＬをプリチャージするときに、ビット線ＢＬと読み出しデータ線ＲＤＤとの接続は遮断されているため、ビット線ＢＬのプリチャージが読み出しデータ線ＲＤＤに影響することを防止することができる。したがって、ビット線ＢＬのプリチャージ電圧の影響を受けてセンスアンプＳＡが誤動作することを防止できる。
【０１０１】
ビット線ＢＬ［０］はプリチャージされて、徐々に電源電圧ＶＤＤまで変化する（図９（ｌ））。なお、データセルＤＴからの論理０の読み出し時におけるビット線ＢＬの電圧の低下量は、例えば、データセルＤＴの転送トランジスタの閾値電圧より小さい。このため、ビット線ＢＬがプリチャージされる前にＷＬＭ［０］が活性化された場合にも、ビット線ＢＬの電圧はマスクセルＭＳＫ内に伝達されず、マスクセルＭＳＫに記憶されたデータが破壊することはない。
【０１０２】
制御部４０は、センスアンプイネーブル信号ＳＡＥＤのロウレベルへの非活性化に基づいて、プリチャージ信号ＰＣＨＤをロウレベルに設定する（図９（ｍ））。ロウレベルのプリチャージ信号ＰＣＨＤにより、読み出しデータ線ＲＤＤ［０］はプリチャージされて、徐々に電源電圧ＶＤＤまで変化する（図９（ｎ））。これにより、読み出しコマンドＲＤ１を受けたクロックサイクルでデータセルＤＴからのデータの読み出し動作が完了する。
【０１０３】
一方、制御部４０は、読み出しコマンドＲＤ１を受けたクロックサイクルの後半に読み出しイネーブル信号ＲＥＭおよびプリチャージ信号ＰＣＨＭをハイレベルに設定する（図９（ｏ）、（ｐ））。ハイレベルの読み出しイネーブル信号ＲＥＭにより、ビット線ＢＬＸ［０］のプリチャージが停止され、ハイレベルのプリチャージ信号ＰＣＨＭにより、読み出しデータ線ＲＤＭ［０］のプリチャージが停止される。
【０１０４】
ワード線ＷＬＭ［０］の活性化によりマスクセルＭＳＫ［０］からビット線ＢＬＸ［０］にデータが読み出され、ビット線ＢＬＸ［０］の電圧はプリチャージ電圧から徐々に低下する（図９（ｑ））。読み出しコマンドＲＤを受けたクロックサイクルのクロック信号ＣＬＫのロウレベル期間は、マスクセルＭＳＫからビット線ＢＬＸにデータを読み出す第２の読み出し期間の一例である。読み出しイネーブル信号ＲＥＭがハイレベルの期間、ビット線ＢＬＸ［０］が読み出しデータ線ＲＤＭ［０］に接続され、読み出しデータ線ＲＤＭ［０］の電圧は、ビット線ＢＬＸ［０］の電圧に追従して低下する（図９（ｒ））。
【０１０５】
次に、制御部４０は、読み出しコマンドＲＤ１を受けたクロックサイクルの次のクロックサイクルのクロック信号ＣＬＫの立ち上がりエッジに同期してセンスアンプイネーブル信号ＳＡＥＭを所定の期間ハイレベルに設定する（図９（ｓ））。これによりセンスアンプＳＡは、読み出しデータ線ＲＤＭ［０］の電圧を増幅する（図９（ｔ））。読み出し部７０のラッチＬＴは、センスアンプＳＡにより増幅された読み出しデータ線ＲＤＭ［０］の論理をラッチし、読み出しデータ信号ＲＭＤＴ［０］として出力する（図９（ｕ））。すなわち、データセルＤＴ０に保持された論理０が読み出される。
【０１０６】
このように、１つの読み出しコマンドＲＤに基づいてデータセルＤＴおよびマスクセルＭＳＫの両方からデータを読み出すことができる。読み出しコマンドＲＤを受けたクロックサイクルの次のクロックサイクルのクロック信号ＣＬＫのハイレベル期間は、マスクセルＭＳＫからビット線ＢＬＸに読み出されたデータの論理を判定する第２の判定期間の一例である。
【０１０７】
制御部４０は、センスアンプＳＡの動作を開始した後、読み出しイネーブル信号ＲＥＭをロウレベルに設定し、ビット線ＢＬＸ［０］と読み出しデータ線ＲＤＭ［０］との接続を遮断する（図９（ｖ））。また、ロウレベルの読み出しイネーブル信号ＲＥＭにより、ビット線ＢＬＸ［０］がプリチャージされ、徐々に電源電圧ＶＤＤまで変化する（図９（ｗ））。
【０１０８】
ロウレベルの読み出しイネーブル信号ＲＥＭにより、書き込みドライバ部ＷＤＲＶのデータバッファＤＢＸはビット線ＢＬＸをプリチャージする。ビット線ＢＬＸをプリチャージするときに、ビット線ＢＬＸと読み出しデータ線ＲＤＭとの接続は読み出し部７０のｐＭＯＳ１２により遮断されているため、ビット線ＢＬＸのプリチャージが読み出しデータ線ＲＤＭに影響することを防止することができる。したがって、ビット線ＢＬＸのプリチャージ電圧の影響を受けてセンスアンプＳＡが誤動作することを防止できる。
【０１０９】
制御部４０は、センスアンプイネーブル信号ＳＡＥＭのロウレベルへの非活性化に基づいて、プリチャージ信号ＰＣＨＭをロウレベルに設定し、読み出しデータ線ＲＤＭ［０］をプリチャージする（図９（ｘ））。これにより、読み出しコマンドＲＤ１を受けたクロックサイクルのクロック信号ＣＬＫの立ち下がりエッジから１クロックサイクルでマスクセルＭＳＫからのデータの読み出し動作が完了する。
【０１１０】
この後、制御部４０は、クロック信号ＣＬＫの立ち上がりエッジに同期して読み出しコマンドＲＤ２、ＲＤ３を順次受け、読み出しコマンドＲＤ１に応答する動作と同様に、読み出し動作を実行する。この結果、複数の読み出しコマンドＲＤが連続して半導体記憶装置１０２に供給される場合、データセルＤＴの読み出し動作とマスクセルＭＳＫの読み出し動作とを半クロックずつずらしながら交互に実行することができる。
【０１１１】
本実施形態では、ビット線ＢＬ、ＢＬＸ毎に読み出し部７０を設けることで、ビット線ＢＬ、ＢＬＸ毎に読み出し期間と判定期間を独立に設定することができる。したがって、共通のビット線対ＢＬ、ＢＬＸに接続されたデータセルＤＴおよびマスクセルＭＳＫのそれぞれからデータを読み出す読み出しサイクルの一部を互いに重複して実行することができる。
【０１１２】
換言すれば、マスクセルＭＳＫからビット線ＢＬＸにデータを読み出す期間に、データセルＤＴからデータを読み出したビット線ＢＬをプリチャージすることができる。同様に、データセルＤＴからビット線ＢＬにデータを読み出す期間に、マスクセルＭＳＫからデータを読み出したビット線ＢＬＸをプリチャージすることができる。すなわち、ビット線ＢＬ、ＢＬＸのプリチャージ期間を隠すことができ、データセルＤＴおよびマスクセルＭＳＫの読み出し動作において、見た目の読み出しサイクルを実際の読み出しサイクルのほぼ半分にすることができる。
【０１１３】
また、センスアンプＳＡに判定させる論理が伝達されたビット線ＢＬ（またはＢＬＸ）の電圧を、判定期間の開始に基づいてプリチャージ電圧等に初期化することで、判定期間内に次の読み出し期間の準備をすることができる。これにより、判定期間と読み出し期間の間に初期化期間を設ける場合に比べて、読み出しサイクルを短縮することができる。
【０１１４】
図１０は、図３に示す半導体記憶装置１０２の書き込み動作の一例を示す。なお、図１０においても、図９と同様に、図面が複雑になることを避けるため、主な信号の遷移エッジをクロック信号ＣＬＫの遷移エッジに合わせている。また、ワード線ＷＬＤ［０］、ＷＬＭ［０］とビット線対ＢＬ［０］、ＢＬＸ［０］とに接続されたデータセルＤＴおよびマスクセルＭＳＫは、それぞれデータセルＤＴ０およびマスクセルＭＳＫ０と称する。ワード線ＷＬＤ［ｎ−１］、ＷＬＭ［ｎ−１］とビット線対ＢＬ［０］、ＢＬＸ［０］とに接続されたデータセルＤＴおよびマスクセルＭＳＫは、それぞれデータセルＤＴ１およびマスクセルＭＳＫ１と称する。
【０１１５】
図１０では、図３に括弧で示した数字の順序でデータセルＤＴおよびマスクセルＭＳＫが順次アクセスされる。すなわち、まず、データセルＤＴ０とマスクセルＭＳＫ０とのそれぞれに論理０、論理１が順次書き込まれ、次に、データセルＤＴ１とマスクセルＭＳＫ１とのそれぞれに論理１、論理０が順次書き込まれる。さらに、データセルＤＴ０とマスクセルＭＳＫ０のそれぞれに論理１、論理０が順次書き込まれる。なお、３番目のクロックサイクルでは、ビットイネーブル信号ＢＥ［０］がロウレベルに設定されるため、ビット線対ＢＬ［０］、ＢＬＸ［０］に接続されたデータセルＤＴおよびマスクセルＭＳＫには、データは書き込まれない。すなわち、複数組のビット線対ＢＬ、ＢＬＸに接続された複数のメモリセルＭＣの一部にデータが書き込まれるパーシャル書き込みが実行される。
【０１１６】
書き込み部６０（図８）は、各書き込みコマンドＷＲ（ＷＲ１、ＷＲ２、ＷＲ３）に同期して書き込みデータ信号ＷＤＤＴ、ＷＭＤＴを並列に受ける（図１０（ａ）、（ｂ）、（ｃ））。このため、半導体記憶装置１０２は、書き込みデータ信号ＷＤＤＴ、ＷＭＤＴのそれぞれを互いに独立に受信するデータ端子を有する。なお、半導体記憶装置１０２は、書き込みデータ信号ＷＤＤＴ、ＷＭＤＴに共通のデータ端子を有してもよい。この場合、半導体記憶装置１０２は、クロック信号ＣＬＫの立ち上がりエッジに同期して書き込みデータ信号ＷＤＤＴを受け、クロック信号ＣＬＫの立ち下がりエッジに同期して書き込みデータ信号ＷＭＤＴを受ける。これにより図８に示したスレーブラッチ部ＳＬＴおよびマルチプレクサ部ＭＵＸが不要になり、書き込み部６０の回路規模を削減することができる。また、書き込みデータ信号ＷＤＤＴ、ＷＭＤＴが共通のデータ端子を介して供給される場合、書き込みデータ信号ＷＤＤＴ、ＷＭＤＴの供給順は入れ替えられてもよい。
【０１１７】
書き込みコマンドＷＲ１に対する書き込み動作について説明する。図３に示した制御部４０は、書き込みコマンドＷＲ１とともに受信するアドレス信号ＡＤ（図示せず）をワードデコーダ５０に出力する。ワードデコーダ５０は、アドレス信号ＡＤをデコードし、デコード結果をワードドライバ５２に出力する。ワードドライバ５２は、デコード結果により示されるワード線ＷＬＤ［０］、ＷＬＭ［０］を順次駆動する（図１０（ｄ）、（ｅ））。
【０１１８】
また、制御部４０は、書き込みコマンドＷＲ１を受信したクロック信号ＣＬＫのハイレベル期間に書き込みイネーブル信号ＷＥＤＸをロウレベルに設定する（図１０（ｆ））。制御部４０は、書き込みコマンドＷＲ１を受信したクロック信号ＣＬＫのロウレベル期間に書き込みイネーブル信号ＷＥＭＸをロウレベルに設定する（図１０（ｇ））。制御部４０は、書き込みコマンドＷＲ１を受信したクロック信号ＣＬＫのハイレベル期間に書き込みクロック信号ＷＤＣＬＫをハイレベルに設定する（図１０（ｈ））。さらに、制御部４０は、書き込みコマンドＷＲ１を受信したクロック信号ＣＬＫのロウレベル期間に書き込み選択信号ＷＤＳＥＬをハイレベルに設定する（図１０（ｉ））。
【０１１９】
マスタラッチ部ＭＬＴ（図８）は、書き込みクロック信号ＷＤＣＬＫの立ち上がりエッジに同期して書き込みデータ信号ＷＤＤＴ、ＷＭＤＴおよびビットイネーブル信号ＢＥの論理をラッチする。ハイレベルのビットイネーブル信号ＢＥがラッチされた場合、ラッチされた書き込みデータ信号ＷＤＤＴとその反転論理が、マルチプレクサＭＵＸ１、ＭＵＸ２にそれぞれ出力される。また、ハイレベルのビットイネーブル信号ＢＥがラッチされた場合、ラッチされた書き込みデータ信号ＷＭＤＴとその反転論理が、スレーブラッチ部ＳＬＴに供給される。
【０１２０】
マルチプレクサＭＵＸ１、ＭＵＸ２は、ロウレベルの書き込み選択信号ＷＤＳＥＬに基づいて、書き込みデータ信号ＷＤＤＴの論理とその反転論理とを書き込みデータ信号ＷＤ、ＷＤＸとして書き込みドライバ部ＷＤＲＶに出力する（図１０（ｊ））。
【０１２１】
ハイレベルのビットイネーブル信号ＢＥがマスタラッチ部ＭＬＴにラッチされた場合、スレーブラッチ部ＳＬＴは、書き込みデータ信号ＷＭＤＴの論理とその反転論理とをマルチプレクサＭＵＸ１、ＭＵＸ２にそれぞれ出力する。また、スレーブラッチ部ＳＬＴは、書き込みクロック信号ＷＤＣＬＫの立ち下がりエッジに同期して、書き込みデータ信号ＷＭＤＴの論理とその反転論理とをラッチする。
【０１２２】
マルチプレクサＭＵＸ１、ＭＵＸ２は、ハイレベルの書き込み選択信号ＷＤＳＥＬに基づいて、書き込みデータ信号ＷＭＤＴの論理とその反転論理とを書き込みデータ信号ＷＤ、ＷＤＸとして書き込みドライバ部ＷＤＲＶに出力する（図１０（ｋ））。書き込みドライバ部ＷＤＲＶは、書き込みイネーブル信号ＷＥＤＸ、ＷＥＭＸのいずれかがロウレベルの場合、書き込みデータ信号ＷＤ、ＷＤＸの論理に応じてビット線ＢＬ、ＢＬＸをそれぞれ駆動する。例えば、書き込みドライバ部ＷＤＲＶは、書き込みデータ信号ＷＤの論理をビット線ＢＬに出力し、書き込みデータ信号ＷＤＸの論理をビット線ＢＬＸに出力する。
【０１２３】
これにより、書き込みコマンドＷＲ１を受けたクロックサイクルにおいて、クロック信号ＣＬＫのハイレベル期間に書き込みデータ信号ＷＤＤＴの論理がデータセルＤＴに書き込まれる（図１０（ｌ））。また、クロック信号ＣＬＫのロウレベル期間に書き込みデータ信号ＷＭＤＴの論理がマスクセルＭＳＫに書き込まれる（図１０（ｍ））。すなわち、半導体記憶装置１０２は、１つの書き込みコマンドＷＲ１に基づいて、１クロックサイクルでデータセルＤＴおよびマスクセルＭＳＫの両方にデータを書き込むことができる。したがって、ＣＰＵコア等のコントローラは、クロックサイクル毎に書き込みコマンドＷＲを生成して、書き込みデータ信号ＷＤＤＴ、ＷＭＤＴを順次書き込む場合に比べて、データの書き込みレートを向上することができる。また、コントローラは、データセルＤＴおよびマスクセルＭＳＫへのデータの書き込み毎に書き込コマンドＷＲを生成する場合に比べて、書き込みコマンドＷＲの生成頻度を下げることができ、半導体記憶装置１０２を簡易に制御できる。
【０１２４】
ここで、書き込みドライバ部ＷＤＲＶは、ワード線ＷＬＤ［０］の駆動の開始に合わせて書き込みデータ信号ＷＤＤＴをビット線対ＢＬ、ＢＬＸに出力する。また、書き込みドライバ部ＷＤＲＶは、ワード線ＷＬＭ［０］の駆動の開始に合わせて書き込みデータ信号ＷＭＤＴをビット線対ＢＬ、ＢＬＸに出力する。このため、例えば、データセルＤＴに論理１を書き込む場合、ワード線ＷＬＤ［０］がハイレベルに活性化される前にビット線ＢＬの電圧をロウレベルからフリップポイント以上に設定することができる。ここで、フリップポイントは、例えば、ワード線ＷＬＤを活性化した状態で、ビット線ＢＬの電圧をハイレベルから下げたときに、データセルＤＴに保持される論理１が論理０に反転するときのビット線ＢＬの電圧である。あるいは、フリップポイントは、例えば、ワード線ＷＬＤを活性化した状態で、ビット線ＢＬＸの電圧をハイレベルから下げたときに、データセルＤＴが保持する論理０が論理１に反転するときのビット線ＢＬＸの電圧である。例えば、フリップポイントは、電源電圧ＶＤＤの半分程度である。
【０１２５】
この実施形態では、ワード線ＷＬＤの駆動の開始に合わせて書き込みデータ信号ＷＤＤＴをビット線対ＢＬ、ＢＬＸに出力することで、ワード線ＷＬＤが活性化されるまでにビット線ＢＬまたはＢＬＸの電圧をフリップポイント以上に設定することができる。同様に、ワード線ＷＬＭの駆動の開始に合わせて書き込みデータ信号ＷＭＤＴをビット線対ＢＬ、ＢＬＸに出力することで、ワード線ＷＬＭが活性化されるまでにビット線ＢＬまたはＢＬＸの電圧をフリップポイント以上に設定することができる。この結果、データセルＤＴまたはマスクセルＭＳＫに誤った論理が書き込まれることを防止できる。
【０１２６】
書き込みコマンドＷＲ２に基づく書き込み動作は、データの論理が逆であることを除き、書き込みコマンドＷＲ１に基づく書き込み動作と同じである。書き込みコマンドＷＲ３に基づく書き込み動作は、ロウレベルのビットイネーブル信号ＢＥ［０］により、データセルＤＴおよびマスクセルＭＳＫへのデータの書き込みがマスクされることを除き、書き込みコマンドＷＲ１に基づく書き込み動作と同様である。すなわち、書き込みコマンドＷＲ３に基づく書き込み動作では、書き込みデータ信号ＷＤ、ＷＤＸがともにロウレベルに設定され、ビット線対ＢＬ［０］、ＢＬＸ［０］がともにハイレベルに設定される（図１０（ｎ）、（ｏ））。ビット線対ＢＬ［０］、ＢＬＸ［０］がハイレベルに設定された場合、データセルＤＴまたはマスクセルＭＳＫの相補の記憶ノードのうち論理１を保持する記憶ノードの論理は反転しないため、データの書き込みがマスクされる。
【０１２７】
図３に示す半導体記憶装置１０２では、図１０に示すように、データの書き込み後にビット線ＢＬ、ＢＬＸをプリチャージすることなく、次のデータの書き込みを実行する。これにより、プリチャージ動作を実行する場合に比べて書き込みサイクルを短縮することができ、書き込みコマンドＷＲに基づいてデータセルＤＴおよびマスクセルＭＳＫへのデータの書き込み動作を１クロックサイクルで完了することができる。
【０１２８】
図１１は、読み出し部の別の例を示す。図１１では、半導体記憶装置１０２は、図６に示す読み出し部７０の代わりに読み出し部７０Ａを有する。読み出し部７０Ａは、図６に示す読み出し部７０からセンスアンプＳＡを削除し、ゲートで読み出しイネーブル信号ＲＥＤ（またはＲＥＭ）を受けるｎＭＯＳ１５がｐＭＯＳ１２の代わりに配置される。また、ラッチＬＴは、プリチャージ信号ＰＣＨＤ（またはＰＣＨＭ）に同期して動作する。なお、ラッチＬＴは、図６と同様に、センスアンプイネーブル信号ＳＡＥＤ（またはＳＡＥＭ）に同期して動作させてもよい。
【０１２９】
ｎＭＯＳ１５は、読み出しイネーブル信号ＲＥＤ（またはＲＥＭ）のハイレベル期間にビット線ＢＬ（またはＢＬＸ）を読み出しデータ線ＲＤＤ（またはＲＤＭ）に接続する。ｎＭＯＳ１５を使用することで、ビット線ＢＬ（またはＢＸＬ）のロウレベルは読み出しデータ線ＲＤＤ（またはＲＤＭ）に伝達されやすくなる。このため、ラッチＬＴは、データセルＤＴ（またはマスクセルＭＳＫ）からビット線ＢＬ（またはＢＬＸ）に読み出されるロウレベルを論理０として正しくラッチすることができる。
【０１３０】
読み出し部７０Ａは、読み出しデータ線ＲＤＤ（またはＲＤＭ）に伝達されるビット線ＢＬ（またはＢＬＸ）の各々の電圧をラッチＬＴで受けて論理を判定する。このため、ラッチＬＴの動作マージンは、ビット線の論理０に対応するロウレベル電圧が低いほど向上する。すなわち、ラッチＬＴの動作マージンは、ビット線ＢＬ、ＢＬＸの長さが短いほど（ワード線ＷＬＤ、ＷＬＭの数が少ないほど）向上する。
【０１３１】
なお、ラッチＬＴは、センスアンプイネーブル信号ＳＡＥＤ（またはＳＡＥＭ）に同期して動作する代わりに、プリチャージ信号ＰＣＨＤ（またはＰＣＨＭ）に同期して動作させてもよい。この場合、図９において、例えば、ラッチＬＴは、プリチャージ信号ＰＣＨＤの立ち下がりエッジに同期して読み出しデータ信号ＲＤＤ（またはＲＤＭ）の論理をラッチする。
【０１３２】
図１２は、図３から図１１に示す実施形態の効果の一例を示す。なお、図１および図２に示す実施形態でも図１２と同様の効果を得ることができる。
【０１３３】
図３に示す半導体記憶装置１０２は、クロック信号ＣＬＫに同期して読み出しコマンドＲＤを受信する毎に、データセルＤＴおよびマスクセルＭＳＫの両方からデータを読み出し、読み出しデータ端子ＲＤＤＴ、ＲＭＤＴに出力する。データセルＤＴから読み出した読み出しデータ信号ＲＤＤＴは、読み出しコマンドＲＤを受信したクロック信号ＣＬＫの立ち下がりエッジに同期して確定する。マスクセルＭＳＫから読み出した読み出しデータ信号ＲＭＤＴは、読み出しコマンドＲＤを受信したクロック信号ＣＬＫの次のクロックサイクルの立ち上がりエッジに同期して確定する。半導体記憶装置１０２にアクセスするコントローラ等は、半導体記憶装置１０２から出力される読み出しデータ信号ＲＤＤＴ、ＲＭＤＴを、読み出しコマンドＲＤを発行したクロックサイクルの次のクロックサイクルの立ち上がりエッジに基づいて受信する。１つの読み出しコマンドＲＤでデータセルＤＴおよびマスクセルＭＳＫの両方からデータを読み出すことができるため、８つのデータの読み出しをほぼ４クロックサイクルで実行できる。
【０１３４】
また、半導体記憶装置１０２は、クロック信号ＣＬＫに同期して書き込みコマンドＷＲを受信する毎に、書き込みデータ端子ＷＤＤＴ、ＷＭＤＴで受ける書き込みデータ信号ＷＤＤＴ、ＷＭＤＴをデータセルＤＴおよびマスクセルＭＳＫの両方に書き込む。１つの書き込みコマンドＷＲでデータセルＤＴおよびマスクセルＭＳＫの両方にデータを書き込むことができるため、８つのデータの書き込みを４クロックサイクルで実行できる。
【０１３５】
一方、他のＴＣＡＭでは、読み出しコマンドＲＤ毎にデータセルＤＴまたはマスクセルＭＳＫのいずれかからデータが読み出され、書き込みコマンドＷＲ毎にデータセルＤＴまたはマスクセルＭＳＫのいずれかにデータが書き込まれる。このため、８つのデータの読み出しにほぼ８クロックサイクル掛かり、８つのデータの書き込みに８クロックサイクル掛かる。また、コマンドＲＤ、ＷＲ毎に１つのデータしかアクセスできないため、他のＴＣＡＭでは、半導体記憶装置１０２に比べて、コマンドＲＤ、ＷＲの発行数が増加し、他のＴＣＡＭにアクセスするコントローラが使用するクロックサイクル数が増加する。
【０１３６】
以上、図３から図１１に示す実施形態においても、図１および図２に示す実施形態と同様に、データセルＤＴおよびマスクセルＭＳＫからのデータの読み出しサイクルの一部を重複させることができ、見た目の読み出しサイクルを短縮することができる。この結果、半導体記憶装置１０２の読み出しアクセス性能を向上することができる。
【０１３７】
さらに、例えば、ビット線ＢＬ（またはＢＬＸ）と読み出しデータ線ＲＤＤ（またはＲＤＭ）との間にｐＭＯＳ１２を配置することで、センスアンプＳＡによる増幅動作の開始と同時にビット線ＢＬ（またはＢＬＸ）のプリチャージ動作を開始することができる。この結果、判定期間を短縮することができる。また、ｐＭＯＳ１２により、判定期間にビット線ＢＬのプリチャージ電圧が読み出しデータ線ＲＤＤに伝達することを防止でき、センスアンプＳＡが誤動作することを防止できる。ビット線ＢＬ（またはＢＬＸ）の電圧を、判定期間の開始に基づいてプリチャージ電圧等に初期化することで、判定期間内に次の読み出し期間の準備をすることができ、読み出しサイクルを短縮することができる。
【０１３８】
１つの読み出しコマンドＲＤに基づいてデータセルＤＴおよびマスクセルＭＳＫの両方からデータを読み出すことができる。また、１つの書き込みコマンドＷＲに基づいてデータセルＤＴおよびマスクセルＭＳＫの両方にデータを書き込むことができる。書き込みコマンドＷＲを受信したクロックサイクル内に、データセルＤＴおよびマスクセルＭＳＫへのデータの書き込みを完了させることができ、半導体記憶装置１０２の書き込みアクセス性能を向上させることができる。
【０１３９】
以上、各実施形態に基づき本発明の説明を行ってきたが、上記実施形態に示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することができ、その応用形態に応じて適切に定めることができる。
【符号の説明】
【０１４０】
１０  動作制御部
１１、１２、１３  ｐＭＯＳ
１４、１５  ｎＭＯＳ
２０ａ、２０ｂ  読み出し部
３０  メモリセルアレイ
４０  制御部
６０  書き込み部
７０、７０Ａ  読み出し部
８０  比較制御部
１００、１０２  半導体記憶装置
ＢＬ、ＢＬＸ  ビット線
ＤＬＴ  データラッチ部
ＤＴ  データセル
Ｍａ、Ｍｂ  記憶部
ＭＣ  メモリセル
ＭＬＴ  マスタラッチ部
ＭＳＫ  マスクセル
ＭＵＸ  マルチプレクサ部
ＳＬＴ  スレーブラッチ部
ＷＤＲＶ、ＷＤＤＲＶ、ＷＭＤＲＶ  書き込みドライバ部
ＷＬＤ、ＷＬＭ  ワード線
【図１】
2020021524.tif 000003
【図２】
2020021524.tif 000004
【図３】
2020021524.tif 000005
【図４】
2020021524.tif 000006
【図５】
2020021524.tif 000007
【図６】
2020021524.tif 000008
【図７】
2020021524.tif 000009
【図８】
2020021524.tif 000010
【図９】
2020021524.tif 000011
【図１０】
2020021524.tif 000012
【図１１】
2020021524.tif 000013
【図１２】
2020021524.tif 000014