(57)【特許請求の範囲】
【請求項１】
データを記憶する複数個のメモリセルを有するメモリコアと、
複数のフラグデータを記憶したフラグレジスタと、
テスト用のリードコマンド入力に対応して入力されたテストデータを記憶するデータレジスタと、
前記テストデータの入力時からクロック信号の複数サイクル目まで各々のサイクル毎に、前記フラグレジスタに記憶されたフラグデータと前記データレジスタに記憶された前記テストデータとの演算を行って、演算データを発生する演算回路と、
前記メモリセルに対し、前記クロック信号に同期して前記演算データの書き込み及び読み出しを行うデータ制御回路とを具備し、
前記フラグレジスタが記憶した前記複数のフラグデータの数は、前記クロック信号の前記複数サイクルの数と同数か、１つ少ないかのいずれかであることを特徴とする半導体記憶装置。
【請求項２】
データを記憶する複数個のメモリセルを有するメモリコアと、
テスト用のリードコマンド入力に対応して入力されたテストデータを記憶するデータレジスタと、
前記メモリセルに記憶されたｊ個（ｊは２以上の自然数）のデータをクロック信号のサイクル毎に読み出すデータ制御回路と、
前記テストデータは期待値として使用され、前記データ制御回路により前記クロック信号のサイクル毎に読み出された前記ｊ個の前記データを前記期待値と比較して、前記ｊ個の前記データのうち少なくとも１つが前記期待値と一致しないとき、前記データと前記期待値とが不一致であることを示す情報を出力するデータ出力圧縮回路とを具備し、
前記メモリコアは前記メモリセルが不良のときに置き換える複数のスペアメモリセルを有し、前記メモリコア内では前記メモリセル複数個ごとに救済単位が構成されており、前記ｊ個の前記データは、同一の前記救済単位内の前記メモリセルから読み出されることを特徴とする半導体記憶装置。
【請求項３】
データを記憶する複数個のメモリセルを有するメモリコアと、
テスト用のリードコマンド入力に対応して入力されたテストデータを記憶するデータレジスタと、
前記メモリセルに記憶されたｊ個（ｊは２以上の自然数）のデータをクロック信号のサイクル毎に読み出すデータ制御回路と、
前記テストデータは期待値として使用され、前記データ制御回路により前記クロック信号のサイクル毎に読み出された前記ｊ個の前記データを前記期待値と比較して、前記ｊ個の前記データのうち少なくとも１つが前記期待値と一致しないとき、前記データと前記期待値とが不一致であることを示す情報を出力するデータ出力圧縮回路と、
前記リードコマンド入力に対応して入力され、前記メモリコアが分割され形成された複数のブロックに対して前記ブロックの選択を行うブロックアドレス信号を記憶するアドレスレジスタと、
複数の前記テストデータを期待値とし、前記ブロックアドレス信号により選択された前記複数のブロックから読み出された複数の前記データと複数の前記期待値とを各々比較し、前記データと前記期待値とが一致したか不一致かのいずれかを示す複数の情報を出力する比較選択回路と、
１個以上の前記ブロックからなるブロック群を第１ブロック群から第ｊブロック群まで前記ｊ個形成し、各々のブロック群から読み出されたテストデータが前記比較選択回路を介して前記データ出力圧縮回路に入力され、前記クロック信号のｋ（ｋは１、２、…、ｊの全ての数を含む）番目のサイクルには第ｋブロック群に対する前記データ出力圧縮回路の出力信号を選択して出力するデータ拡張回路と、
を具備することを特徴とする半導体記憶装置。
【請求項４】
データを記憶する複数個のメモリセルを有するメモリコアと、
テスト用のリードコマンド入力に対応して入力されたテストデータを記憶するデータレジスタと、
前記メモリセルに記憶されたｊ個（ｊは２以上の自然数）のデータをクロック信号のサイクル毎に読み出すデータ制御回路と、
前記テストデータは期待値として使用され、前記データ制御回路により前記クロック信号のサイクル毎に読み出された前記ｊ個の前記データを前記期待値と比較して、前記ｊ個の前記データのうち少なくとも１つが前記期待値と一致しないとき、前記データと前記期待値とが不一致であることを示す情報を出力するデータ出力圧縮回路と、
前記コマンド入力に対応して入力され、前記メモリコアが分割され形成された複数のブロックに対して前記ブロックの選択を行うブロックアドレス信号を記憶するアドレスレジスタと、
複数の前記テストデータを期待値とし、前記ブロックアドレス信号により選択された前記複数のブロックから読み出された複数の前記データと複数の前記期待値とを各々比較し、前記データと前記期待値とが一致したか不一致かのいずれかを示す複数の情報を出力する比較選択回路と、
１個以上の前記ブロックからなるブロック群を第１ブロック群から第ｊブロック群まで前記ｊ個形成し、各々のブロック群から読み出されたテストデータが前記比較選択回路を介して前記データ出力圧縮回路に入力され、前記クロック信号のｋ（ｋは１、２、…、ｊの全ての数を含む）番目のサイクルには第ｋブロック群に対する前記データ出力圧縮回路の出力信号を選択して出力するデータ拡張回路とを具備し、
前記メモリコアは前記メモリセルが不良のときに置き換える複数のスペアメモリセルを有し、前記メモリコア内では前記メモリセル複数個ごとに救済単位が構成されており、前記ｊ個の前記データは、同一の前記救済単位内の前記メモリセルから読み出されることを特徴とする半導体記憶装置。
【請求項５】
データを記憶する複数個のメモリセルを有するメモリコアと、
テスト時に前記メモリセルへ第１テストデータを書き込むテストデータ入力線と、
前記メモリセルに記憶された前記第１テストデータを読み出すテストデータ出力線と、
１本の前記テストデータ入力線を通して入力される複数のフラグデータを記憶するフラグレジスタと、
テスト用のリードコマンド入力に対応して前記テストデータ入力線を通って入力された第２テストデータを記憶するデータレジスタと、
前記データレジスタに記憶される前記第２テストデータの入力時から前記クロック信号の複数サイクル目まで各々のサイクル毎に、前記フラグレジスタに記憶されたフラグデータと前記データレジスタに記憶された前記第２テストデータとの演算を行って、前記テストデータ入力線が前記メモリセルに書き込む前記第１テストデータを発生する演算回路とを具備し、
前記フラグレジスタが記憶した前記複数のフラグデータの数は、前記クロック信号の前記複数サイクルの数と同数か、１つ少ないかのいずれかであることを特徴とする半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体記憶装置に関するものであり、特にメモリセルの高速テストが可能な半導体記憶装置に関するものである。
【背景技術】
【０００２】
近年の半導体記憶装置においては、メモリの大容量化に伴い、メモリセルを高速にテストする必要が生じている。しかし、外部から供給される外部クロックを高速化できないため、装置内部にＰＬＬ(phase-locked loop)を搭載し、内部のみ高速に動作させるように構成している（例えば、特許文献１参照）。このような場合、メモリをテストする際、入出力回路（ＩＯ）が高速に動作しないため、外部からメモリを動作させる高速な周波数を印加することはできず、高速テストができないという問題があった。特に、メモリ回路とロジック回路とを同一半導体基板上に混載したメモリ混載ＬＳＩでは、メモリ回路を構成するメモリマクロはかなりの高速動作が要求されているが、外部からテストできないことも多かった。また、メモリ動作に要求される高速なメモリテスタを用意することは高価で現実的ではなかった。
【０００３】
以下に、従来の半導体記憶装置の一例を説明する。
【０００４】
図１６は、従来のメモリ混載ＬＳＩにおけるメモリマクロのブロック図である。メモリマクロ１−０は、メモリコア１−１、及びテスト入出力データ制御回路１−２を備える。メモリコア１−１は、複数個のメモリセルを有している。メモリコア１−１には、ライトコマンドＷＴｐ、リードコマンドＲＤｐ、クロックＣＬＫｐ、及び図示していないアドレスが入力されている。また、テスト入出力データ制御回路１−２には、メモリセルに書き込むデータが入力されるデータ入力線ＤＩ＜０：４ｎ＋３＞（ｎは０以上の自然数）と、メモリセルから読み出したデータが出力されるデータ出力線ＤＯ＜０：４ｎ＋３＞が接続されている。
【０００５】
メモリマクロ１−０は、ライトコマンドＷＴｐが入力されたとき、データ入力線ＤＩ＜０：４ｎ＋３＞に入力されたデータを対応するアドレスのメモリセルへ書き込む。また、リードコマンドＲＤpが入力されたとき、対応するアドレスのメモリセルからデータを読み出し、そのデータをデータ出力線ＤＯ＜０：４ｎ＋３＞を通して出力する。
【０００６】
メモリ混載ＬＳＩ中のメモリマクロ１−０はデータ入出力線数が多く、通常のテストでは、テストデータ入力線ＴＤＩ＜０：３＞とテストデータ出力線ＴＤＯ＜０：３＞（ここでは、４ビットを仮定）を通してテストを行う。この際、テスト入出力データ制御回路１−２は、テストデータの入出力を制御する。通常のデータ入出力線の数は４(ｎ＋１)で、テストデータ入出力線の数は４本なので、これらのデータ入出力線は(ｎ＋１)個のブロックに分けてアクセスされる。ブロック選択アドレスＴＢＳ＜０：ｍ＞は、(ｎ＋１)個のブロックのうちから特定のブロックを選択するための信号である。なお、２m+1≧ｎ＋１の関係があり、ｍとｎは０以上の自然数である。
【０００７】
テスト入出力データ制御回路１−２には、外部よりテストデータが入力されるテストデータ入力線ＴＤＩ＜０：３＞と、外部にテストデータを出力するテストデータ出力線ＴＤＯ＜０：３＞が接続され、またクロックＣＬＫｐが入力されている。
【０００８】
図１６に示したメモリマクロにおけるテスト時の信号タイミングを、図７を用いて説明する。ここで、図７中のＳＥＬＣＹＣＬＥｐ＜０：３＞と信号ＲＳＴｐは本説明とは関係ないので無視してよい。クロックＣＬＫは、外部より入力される外部クロックである。テスト用コマンドＴＣＭＤは、図１６では省略したが、リードコマンドＲＤｐとライトコマンドＷＴｐとがマルチプレクスされて出力された信号であり、ライトコマンドＷＴｐまたはリードコマンドＲＤｐが入力されるタイミングを示している。コマンドの取り込みに１レイテンシ（クロックＣＬＫの１サイクル）かかり、コマンドＣＭＤとして図示している。ここでは、クロックＣＬＫの４サイクルおきに、リードコマンドＲＤ０、ライトコマンドＷＴ１、リードコマンドＲＤ２の順で入力されている。アドレスは省略したが、これらコマンドと同じタイミングで入力される。
【０００９】
データに関しては、コマンドの入力から６クロック後に入力されるものをあらわしている。リードコマンドＲＤｐでは４サイクル分データが出力され、ライトコマンドＷＴｐは４サイクル分のデータ入力を必要とする。リードコマンドＲＤ０入力から６〜９サイクル後にテストデータ入力線ＴＤＩに入力されるテストデータは期待値データＥＸＰを表しており、期待値データＥＸＰとしてのデータＤ０，Ｄ１，Ｄ２，Ｄ３は、テストデータ入力から５〜８サイクル後に、出力データＤＯであるデータＲ０，Ｒ１，Ｒ２，Ｒ３と比較される。図７に示すように、この結果は比較開始から２サイクル後に出力され、ここでは２サイクル目のデータＲ１のみ一致せず（フェイル）、その他のデータＲ０、Ｒ２、Ｒ３は一致した（パス）様子を表している。
【特許文献１】特開平１１−３２９０００号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
図１６に示した構成を有する半導体記憶装置に対して、遅い（低周波数の）外部クロックを４逓倍した内部クロックにて内部メモリをテストしようとしたとき、データ入力を外部クロックに対して４倍のスピードで入力せねばならず、このようなことは不可能であった。また、データ出力に関しても、外部クロックに対して４倍のスピードでストローブするか、もしくは同一テストを４回繰り返して異なるストローブの位置を規定せねばならなかった。
【００１１】
この発明は前記課題を解決するためになされたものであり、その目的は外部の低速なテスタからの外部クロックにより内部に設けられたＰＬＬを使用して、内部メモリを高速にテストすることができる半導体記憶装置を提供することにある。また、この発明の他の目的は、外部の低速なテスタからの外部クロックを用いて、内部のＰＬＬ等を使用することなく、内部メモリのテスト時間を短縮することができる半導体記憶装置を提供することにある。
【課題を解決するための手段】
【００１２】
この発明の一実施態様の半導体記憶装置は、データを記憶する複数個のメモリセルを有するメモリコアと、複数のフラグデータを記憶したフラグレジスタと、テスト用のリードコマンド入力に対応して入力されたテストデータを記憶するデータレジスタと、前記テストデータの入力時からクロック信号の複数サイクル目まで各々のサイクル毎に、前記フラグレジスタに記憶されたフラグデータと前記データレジスタに記憶された前記テストデータとの演算を行って、演算データを発生する演算回路と、前記メモリセルに対し、前記クロック信号に同期して前記演算データの書き込み及び読み出しを行うデータ制御回路とを具備し、前記フラグレジスタが記憶した前記複数のフラグデータの数は、前記クロック信号の前記複数サイクルの数と同数か、１つ少ないかのいずれかであることを特徴とする。
【発明の効果】
【００１３】
この発明によれば、外部の低速なテスタからの外部クロックにより内部に設けられたＰＬＬを使用して、内部メモリを高速にテストすることができる半導体記憶装置を提供することが可能である。また、この発明によれば、外部の低速なテスタからの外部クロックを用いて、内部のＰＬＬ等を使用することなく、内部メモリのテスト時間を短縮することができる半導体記憶装置を提供することが可能である。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照してこの発明の実施形態のメモリ混載ＬＳＩにおける半導体記憶装置について説明する。説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【００１５】
［第１の実施形態］
まず、この発明の第１の実施形態の半導体記憶装置について説明する。
【００１６】
図１は、第１の実施形態の半導体記憶装置の構成を示すブロック図である。この半導体記憶装置は、複数のメモリマクロにより構成されている。ここでは、１つのメモリマクロの構成を述べる。
【００１７】
メモリマクロ１−０は、メモリコア１−１、テスト入出力データ制御回路１−２、テストデータ入力時系列圧縮回路１−３、テストデータ出力時系列圧縮回路１−４、論理和回路（以下、ＯＲ回路と記す）１−５、ブロックアドレス時系列圧縮回路１−６を備えている。
【００１８】
メモリコア１−１は、複数個のメモリセルを有している。メモリコア１−１には、ライトコマンドＷＴｐ、リードコマンドＲＤｐ、クロックＣＬＫｐ、及び図示していないアドレスが入力されている。また、テスト入出力データ制御回路１−２はテストデータの入出力を制御する回路である。このテスト入出力データ制御回路１−２には、メモリセルに書き込むデータが入力されるデータ入力線ＤＩ＜０：４ｎ＋３＞と、メモリセルから読み出したデータが出力されるデータ出力線ＤＯ＜０：４ｎ＋３＞が接続されている。メモリマクロ１−０は、ライトコマンドＷＴｐが入力されたとき、データ入力線ＤＩ＜０：４ｎ＋３＞に入力されたデータを対応するアドレスのメモリセルへ書き込む。また、リードコマンドＲＤpが入力されたとき、対応するアドレスのメモリセルからデータを読み出し、そのデータをデータ出力線ＤＯ＜０：４ｎ＋３＞を通して出力する。
【００１９】
メモリ混載ＬＳＩ中のメモリマクロ１−０ではデータ入出力線数が多く、通常のテストでは、テストデータ入力線ＴＤＩ＜０：３＞とテストデータ出力線ＴＤＯ＜０：３＞（ここでは、４ビットを仮定）を通してテストを行う。この際、テスト入出力データ制御回路１−２は、テストデータの入出力を制御する。通常のデータ入出力線の数は４(ｎ＋１)で、テストデータ入出力線の数は４本なので、これらのテストデータ入出力線は(ｎ＋１)個のブロックに分けてアクセスされる。ブロック選択アドレスＴＢＳ＜０：ｍ＞は、(ｎ＋１)個のブロックのうちから特定のブロックを選択するための信号である。なお、２m+1≧ｎ＋１の関係がある。
【００２０】
外部よりテストデータ入力線ＴＤＩ＜０：３＞に入力されたテストデータは、テストデータ入力時系列圧縮回路１−３を通って、データＴＤＩＩＮｐ＜０：３＞としてテスト入出力データ制御回路１−２に入力される。テスト入出力データ制御回路１−２から出力されるデータＴＦＡＩＬｎ＜０：３＞は、テストデータ出力時系列圧縮回路１−４を通って、テストデータ出力線ＴＤＯ＜０：３＞に出力される。さらに、テスト入出力データ制御回路１−２、テストデータ入力時系列圧縮回路１−３、及びテストデータ出力時系列圧縮回路１−４には、クロックＣＬＫｐが入力されている。
【００２１】
図２に、テスト入出力データ制御回路１−２の構成例を示す。テストデータＴＤＩＮｐ＜ｋ＞（ｋ＝０，１，２，３）は、テストデータ入力線ＴＤＩ＜０：３＞に入力されたデータを示している。マルチプレクサ４−１はテストモード時に上側のテストデータＴＤＩＮｐｘ＜ｋ＞を出力し、ノーマルモード時に下側のデータＤＩＮ＜ｋ＞を出力する。すなわち、テストモード時には、マルチプレクサ４−１によりテストデータＴＤＩＮｐｘ＜ｋ＞、ＴＤＩＮｐｘ＜４＋ｋ＞、…、ＴＤＩＮｐｘ＜４ｎ＋ｋ＞が選択され、データＤＩｐ＜ｋ＞、ＤＩｐ＜４＋ｋ＞、…、ＤＩｐ＜４ｎ＋ｋ＞として出力される。実際に、メモリセルに書き込まれるかどうかはブロック選択アドレスＴＢＳ＜０：ｍ＞により選択されるが、ここでは省略する。
【００２２】
このテストデータＴＤＩＮｐ＜ｋ＞はリード時の期待値データＥＸＰ<ｋ>もかねるため、リード時に期待値データが要求されるレイテンシ分遅らせるフリップフロップ４−２が装備されている。このフリップフロップ４−２の出力が、期待値データＥＸＰ＜ｋ＞としてコンパレータ兼マルチプレクサ（比較選択回路）４−４に入力される。
【００２３】
図示していないが出力データＤＯｐ＜ｆ＞は、データ出力線ＤＯ＜ｆ＞（ｆ＝０，１，２，…，４ｎ−１）に直結している。アドレスＢＳＲｐ＜０：ｎ＞は、ブロック選択アドレスＴＢＳ＜０：ｍ＞がリード時に選択するブロックだけを活性化する（“Ｈ”とする）。ブロック選択アドレスＴＢＳ＜０：ｍ＞をリード時のレイテンシ分遅らせてデコードしたものが、アドレスＢＳＲｐ＜０：ｎ＞となる（アドレスをマスクする機能等で複数選択は可能）。コンパレータ兼マルチプレクサ４−４には、出力データＤＯｐ＜４ｅ＋ｋ＞（ｅは０≦ｅ≦ｎの整数）と、これらに対応するアドレスＢＳＲｐ＜ｅ＞が入力されている。
【００２４】
コンパレータ兼マルチプレクサ４−４からはデータＴＦＡＩＬｎ＜ｋ＞が、テストデータ出力線ＴＤＯ＜ｋ＞に出力される。コンパレータ兼マルチプレクサ４−４は、期待値比較モードでないとき、アドレスＢＳＲｐ＜ｅ＞により選択された１つのブロックの出力をデータＴＦＡＩＬｎ＜ｋ＞として出力する。期待値比較モード時には、アドレスＢＳＲｐ＜ｅ＞により選択された（複数でも可能）ブロックから読み出される出力データＤＯｐ＜４ｅ＋ｋ＞と期待値データＥＸＰ＜ｋ＞とを比較し、選択されたすべての出力データＤＯｐ＜４ｅ＋ｋ＞が期待値データＥＸＰ＜ｋ＞と一致しているときのみ、データＴＦＡＩＬｎ＜ｋ＞は“Ｈ”となり、上記以外はデータＴＦＡＩＬｎ＜ｋ＞は“Ｌ”になる。
【００２５】
図３に、コンパレータ兼マルチプレクサ４−４の回路図の一例を示す。信号ＣＭＰＭＯＤＥｐは、期待値比較モード時に活性化（“Ｈ”）する信号である。ＰチャネルＭＯＳトランジスタ（以下、Ｐｃｈトランジスタと記す）４−１０は２つあるが、これらＰｃｈトランジスタのゲートにはクロックＣＬＫが供給され、ソースには電源電位Ｖccが供給されており、ドレインには相補のデータ線であるテストデータ出力線ＴＤＯｃ＜ｋ＞とＴＤＯｔ＜ｋ＞がそれぞれ接続されている。
【００２６】
クロックＣＬＫが“Ｌ”のときに、テストデータ出力線ＴＤＯｃ＜ｋ＞とＴＤＯｔ＜ｋ＞の電位が“Ｈ”にプリチャージされる。Ｄラッチ４−１２の出力は、論理積回路（以下、ＡＮＤ回路と記す）４−１３の一方の入力となっており、ＡＮＤ回路４−１３の他方の入力はクロックＣＬＫである。ＡＮＤ回路４−１３の出力端は、ｎチャネルＭＯＳトランジスタ（以下、Ｎｃｈトランジスタと記す）４−１４のゲートに接続されている。Ｎｃｈトランジスタ４−１４は２(ｎ＋２)個配置されている。Ｎｃｈトランジスタ４−１４のソースには接地電位ＧＮＤが供給され、そのドレインは、(ｎ＋２)個ずつが共通に相補のデータ線であるテストデータ出力線ＴＤＯｃ＜ｋ＞とＴＤＯｔ＜ｋ＞にそれぞれ接続されている。さらに、ＯＲ回路４−１１とＡＮＤ回路４−１６が配置されている。期待値比較モード時、すなわち信号ＣＭＰＭＯＤＥｐが“Ｈ”のときは、期待値データＥＸＰ＜ｋ＞とその反転信号が、ＯＲ回路４−１１とＡＮＤ回路４−１６を経てそれぞれ２つのＤラッチ４−１２に入力される。
【００２７】
Ｄラッチ４−１２、ＡＮＤ回路４−１３、およびＮｃｈトランジスタ４−１４は１つのセットになっている。クロックＣＬＫが“Ｈ”になるときに、Ｄラッチ４−１２の入力が“Ｈ”であれば、クロックＣＬＫが“Ｈ”の期間、Ｎｃｈトランジスタ４−１４のドレインに接続されたテストデータ出力線ＴＤＯｃ＜ｋ＞とＴＤＯｔ＜ｋ＞の電位を“Ｌ”に落とす。
【００２８】
データ入力部分４−１８において、アドレスＢＳＲｐで選択された部分の出力データＤＯｐが“Ｈ”ならばテストデータ出力線ＴＤＯｃ＜ｋ＞が“Ｌ”に落ち、出力データＤＯｐが“Ｌ”ならばテストデータ出力線ＴＤＯｔ＜ｋ＞が“Ｌ”に落ちる。テストデータ出力線ＴＤＯｃ＜ｋ＞およびＴＤＯｔ＜ｋ＞は、ＯＲ回路４−１９の入力となっている。ＯＲ回路４−１９の出力は、クロックを逆相で取り込むフリップフロップ４−２０となっている。このフリップフロップ４−２０の出力がデータＴＦＡＩＬｎ＜ｋ＞となる。
【００２９】
期待値比較モード時は信号ＣＭＰＭＯＤＥｐが“Ｈ”となり、期待値入力部分４−１７において、期待値の結果がテストデータ出力線ＴＤＯｃ／ｔ＜ｋ＞の電位に反映される。アドレスＢＳＲｐにより選択されたブロックのデータＤＯがすべて期待値データＥＸＰ<ｋ>と同じであれば、テストデータ出力線ＴＤＯｃ＜ｋ＞およびＴＤＯｔ＜ｋ＞は片方しか“Ｌ”に落ちない。よって、ＯＲ回路４−１９の出力は“Ｈ”（パス）となり、データＴＦＡＩＬｎ＜ｋ＞からも“Ｈ”が出力される。アドレスＢＳＲｐにより選択されたブロックのすべてのデータＤＯのうち、期待値データＥＸＰ<ｋ>と1つでも違うものがあれば、テストデータ出力線ＴＤＯｃ＜ｋ＞およびＴＤＯｔ＜ｋ＞は両方とも“Ｌ”に落ち、ＯＲ回路４−１９の出力は“Ｌ”（フェイル）となり、データＴＦＡＩＬｎ＜ｋ＞も“Ｌ”となる。
【００３０】
期待値比較モードでない時は、信号ＣＭＰＭＯＤＥｐが“Ｌ”となり、テストデータ出力線ＴＤＯｃ＜ｋ＞が“Ｌ”となる。アドレスＢＳＲｐにより選択されたブロックのデータＤＯが“Ｈ”ならば、テストデータ出力線ＴＤＯｔ＜ｋ＞は“Ｌ”に落ちないので、データＴＦＡＩＬｎ＜ｋ＞も“Ｈ”となる。アドレスＢＳＲｐにより選択されたブロックのデータＤＯが“Ｌ”ならば、テストデータ出力線ＴＤＯｔ＜ｋ＞は“Ｌ”に落ちるので、データＴＦＡＩＬｎ＜ｋ＞も“Ｌ”となる（選択されたブロックのデータが読み出される）。
【００３１】
また、ブロック選択アドレスＴＢＳ＜０：ｍ＞はブロックアドレス時系列圧縮回路１−６を通って、アドレスＴＢＳＩＮｐ＜０：ｍ＞としてテスト入出力データ制御回路１−２に入力される。ライトコマンドＷＴｐあるいはリードコマンドＲＤｐのどちらかのコマンドが発行されたとき、ＯＲ回路１−５の出力であるコマンドＷＴＲＤｐが活性化されて“Ｈ”となる。このコマンドＷＴＲＤｐは、テストデータ入力時系列圧縮回路１−３とブロックアドレス時系列圧縮回路１−６に入力されている。
【００３２】
図４は、メモリマクロ１−０におけるテストデータ入力時系列圧縮回路１−３の構成を示す回路図である。コマンドＷＴＲＤｐは、コマンド入力からデータ入力までのレイテンシ調整用のフリップフロップ２−７を通り、ＯＲ回路２−９の一方の入力端に入力されている。コマンドＷＴＲＤｐは、また前記フリップフロップ２−７を通り、カウンタ用のフリップフロップ２−８にも入力される。ＯＲ回路２−９の他方の入力端には、信号ＣＣＭＯＤＥｐの反転信号が入力されている。信号ＣＣＭＯＤＥｐは、圧縮モードであるか否かを表す信号であり、圧縮モードであれば活性化されて“Ｈ”となる。
【００３３】
ＯＲ回路２−９の出力である信号ＳＥＬＣＹＣＬＥｐ＜０＞は、ゼロサイクル用データレジスタ２−１およびマルチプレクサ２−６に入力される。圧縮モードでなければ、信号ＣＣＭＯＤＥｐは“Ｌ”であり、ＯＲ回路２−９には“Ｈ”が入力される。このため、信号ＳＥＬＣＹＣＬＥｐ＜０＞は常に活性化されて“Ｈ”となる。カウンタ用のフリップフロップ２−８は、図示していないが信号ＳＥＬＣＹＣＬＥｐ＜０＞でリセットされる。
【００３４】
ゼロサイクル用データレジスタ２−１は、テストデータＴＤＩ入力線＜０：３＞のそれぞれに対して１つずつ、計４個設けられている。このゼロサイクル用データレジスタ２−１には、図示されていないがクロックＣＬＫｐが入力されている。基本的に、レジスタ２−１は、Ｃ端子が活性化されて“Ｈ”となったとき、Ｄ端子の値をレジスタに取り込んでＯ端子より出力する。４つのゼロサイクル用データレジスタ２−１のＣ端子には、ＯＲ回路２−９の出力である信号ＳＥＬＣＹＣＬＥｐ＜０＞が入力されている。Ｄ端子には、それぞれテストデータ入力線ＴＤＩ＜０：３＞が接続されている。よって、圧縮モードでなければ、信号ＳＥＬＣＹＣＬＥｐ＜０＞が常に“Ｈ”となり、ゼロサイクル用データレジスタ２−１は、テストデータ入力線ＴＤＩ＜ｋ＞(ｋ＝０，１，２，３)に供給されているテストデータをクロックＣＬＫｐの毎サイクルで取り込む。また、圧縮モードであれば、ライトコマンドＷＴｐまたはリードコマンドＲＤｐが入力され、コマンド入力からデータ入力までのレイテンシ後、ゼロサイクル用データレジスタ２−１にテストデータが取り込まれる。ライトコマンドまたはリードコマンドが入力される周期が４サイクルのときは４サイクルごとに、ゼロサイクル用データレジスタ２−１はテストデータ入力線ＴＤＩ＜ｋ＞(ｋ＝０，１，２，３)に供給されているテストデータを取り込む。
【００３５】
カウンタ用のフリップフロップ２−８のそれぞれの出力は、ＡＮＤ回路２−１１の一方の入力端に入力されている。ＡＮＤ回路２−１１の他方の入力端には信号ＣＣＭＯＤＥｐが入力されており、ＡＮＤ回路２−１１からは信号ＳＥＬＣＹＣＬＥｐ＜１：３＞がそれぞれ出力されている。圧縮モードでなければ、信号ＣＣＭＯＤＥｐが“Ｌ”であるため、信号ＳＥＬＣＹＣＬＥｐ＜１：３＞は非活性状態である“Ｌ”のままである。
【００３６】
信号ＳＥＬＣＹＣＬＥｐ＜０：３＞は、マルチプレクサ２−６の選択信号としてマルチプレクサ２−６に入力されている。＋１サイクル用フラグレジスタ２−２、＋２サイクル用フラグレジスタ２−３、及び＋３サイクル用フラグレジスタ２−４の各々は、テストデータ入力線ＴＤＩ＜０：３＞のそれぞれに対して１つずつ、計４個ずつ設けられている。これらフラグレジスタには、図示していないがクロックＣＬＫｐが入力されている。
【００３７】
サイクル用フラグレジスタ２−２〜２−４の動作は、ゼロサイクル用データレジスタ２−１と同様である。サイクル用レジスタ２−２〜２−４のＣ端子には、ＬＯＡＤｐ＜０：２＞というロード命令のときに活性化され“Ｈ”となる信号が入力されている。このＬＯＡＤｐ＜０：２＞によるロード命令は、テストを始める前に一度、フラグレジスタ２−２〜２−４にデータをロードする際に使用する。フラグレジスタ２−２〜２−４のＤ端子には、テストデータ入力線ＴＤＩ＜０：３＞に供給されているテストデータが入力され、ロード命令によりテストデータがフラグレジスタ２−２〜２−４に取り込まれる。
【００３８】
フラグレジスタ２−２〜２−４の出力は、演算器２−５の一方の入力端に入力されている。演算器２−５の他方の入力端には、ゼロサイクル用データレジスタ２−１の出力が入力されている。テストデータ入力線ＴＤＩ＜０：３＞のうち、同じテストデータ入力線ＴＤＩ＜０：３＞に対応する演算器２−５のそれぞれの出力とゼロサイクル用データレジスタ２−１の出力は、同一のマルチプレクサ２−６に入力されている。マルチプレクサ２−６からは、データＴＤＩＩＮｐ＜ｋ＞(ｋ＝０，１，２，３)がそれぞれ出力されている。演算器２−５としては、排他的論理和（ＥＸＯＲ）の機能を持つものが良く用いられる。この場合、フラグレジスタに記憶されるデータは、データレジスタに記憶されたデータを反転させる反転フラグの意味をもつ。
【００３９】
マルチプレクサ２−６は、信号ＳＥＬＣＹＣＬＥｐ＜０＞が活性化（“Ｈ”）されているとき、図４において一番左に入力されているデータ（データレジスタ２−１の出力データ）を出力する。信号ＳＥＬＣＹＣＬＥｐ＜１＞が活性化（“Ｈ”）されているときは、左から２番目に入力されているデータ、すなわちフラグレジスタ２−２の出力を受け取る演算器２−５の出力データを出力する。信号ＳＥＬＣＹＣＬＥｐ＜２＞が活性化（“Ｈ”）されているときは、左から３番目に入力されているデータ、すなわちフラグレジスタ２−３の出力を受け取る演算器２−５の出力データを出力する。信号ＳＥＬＣＹＣＬＥｐ＜３＞が活性化（“Ｈ”）されているときは、左から４番目に入力されているデータ、すなわちフラグレジスタ２−４の出力を受け取る演算器２−５の出力データを出力する。これにより、リードコマンドまたはライトコマンドが入力されてから所定のレイテンシ後に、１サイクル目には最初のサイクルに取り込んだデータ（データレジスタ２−１に記憶されたデータ）をデータＴＤＩＩＮｐとして出力し、２サイクル目から４サイクル目までは最初のサイクルに取り込んだデータ（データレジスタ２−１に記憶されたデータ）と、前もってロードしておいたフラグデータ（フラグレジスタ２−２〜２−４に記憶されたデータ）との演算値を、データＴＤＩＩＮｐとして出力することが可能となる。
【００４０】
ここでは、フラグレジスタに記憶したフラグデータの数が複数サイクルの数より１つ少ない場合を説明したが、フラグデータの数を複数サイクルの数と同数にしてもよい。この場合は、フラグレジスタと演算器を１段ずつ増やせばよい。すなわち、１サイクル目に、データレジスタ２−１に記憶されたデータと、追加したフラグレジスタに記憶されたデータとを追加した演算器により演算を行って、その演算値をデータＴＤＩＩＮｐとして出力してもよい。これにより、フラグレジスタに記憶したフラグデータの数と、データＴＤＩＩＮｐを出力するサイクル数とが同数になる。
【００４１】
図５は、メモリマクロ１−０におけるテストデータ出力時系列圧縮回路１−４の構成を示す回路図である。リードコマンドＲＤｐが、リードデータのレイテンシ調整用のフリップフロップ３−１から構成されたシフトレジスタの最初の入力になっている。フリップフロップ３−１の最終出力は、ＯＲ回路３−２の一方の入力端に入力されている。ＯＲ回路３−２の他方の入力端には、信号ＣＣＭＯＤＥｐの反転信号が入力される。ＯＲ回路３−２の出力は信号ＲＳＴｐである。
【００４２】
信号ＲＳＴｐは、ＯＲ回路３−３の一方の入力端に入力されている。ＯＲ回路３−３の他方の入力端には、フリップフロップ３−５の出力であるデータＴＤＯｙ＜ｋ＞(ｋ＝０，１，２，３)が入力されている。ＯＲ回路３−３の出力は、ＡＮＤ回路３−４の一方の入力端に入力されている。ＡＮＤ回路３−４の他方の入力端には、テスト入出力データ制御回路１−２から出力されるデータＴＦＡＩＬｎ＜ｋ＞(ｋ＝０，１，２，３)が入力されている。ＡＮＤ回路３−４の出力は、フリップフロップ３−５に入力されている。
【００４３】
フリップフロップ３−５の出力であるデータＴＤＯｙ＜ｋ＞は、またマルチプレクサ３−６の一方の入力端に入力されている。マルチプレクサ３−６の他方の入力端には、フリップフロップ３−７の出力であるデータＴＤＯ＜ｋ＞(ｋ＝０，１，２，３)が入力されている。マルチプレクサ３−６の選択信号端には信号ＲＳＴｐ２という、信号ＲＳＴｐにフリップフロップを噛ませた信号を用いる（記載されていない）。マルチプレクサ３−６の出力はフリップフロップ３−７の入力になっており、フリップフロップ３−７からはデータＴＤＯ＜ｋ＞が出力されている。
【００４４】
圧縮モードでないときは、信号ＣＣＭＯＤＥｐが“Ｌ”であるため、毎サイクル、ＯＲ回路３−２から出力される信号ＲＳＴｐが活性化されて“Ｈ”となる。これにより、ＯＲ回路３−３の出力が“Ｈ”になり、毎サイクル、データＴＦＡＩＬｎ＜ｋ＞を取り込み、データＴＤＯｙ＜ｋ＞およびデータＴＤＯ＜ｋ＞を出力する。
【００４５】
圧縮モードであるときは、リードコマンドＲＤｐを入力した後の所定のレイテンシ後に、信号ＲＳＴｐが“Ｈ”となる。データＴＤＯｙ＜ｋ＞は、一度“Ｌ”になると、信号ＲＳＴｐが“Ｈ”にならない限り“Ｌ”であるため、リードコマンドＲＤｐが入力される周期で一度でも“Ｌ”になると、データＴＤＯｙ＜ｋ＞は“Ｌ”となる。マルチプレクサ３−６、及びフリップフロップ３−７により、データＴＤＯ＜ｋ＞をリードコマンドが入力されるサイクル分伸ばしている。
【００４６】
図６は、メモリマクロ１−０におけるブロックアドレス時系列圧縮回路１−６の構成を示す回路図である。フリップフロップ５−１は、コマンド入力からブロックアドレス入力までのレイテンシ調整用のフリップフロップ群である。フリップフロップ５−１の最終出力はＯＲ回路５−２の一方の入力端に接続されている。ＯＲ回路５−２の他方の入力端には、信号ＣＣＭＯＤＥｐの反転信号が入力されている。信号ＣＣＭＯＤＥｐは、圧縮モードであれば活性化されて“Ｈ”となり、圧縮モードでなければ“Ｌ”になる。このため、ＯＲ回路５−２の出力は、圧縮モードでなければ常に“Ｈ”になる。
【００４７】
ＯＲ回路５−２の出力は、ブロック選択保持レジスタ５−３のＣ端子に入力される。このブロック選択保持レジスタ５−３の動作は、ゼロサイクル用データレジスタ２−１と同様である。ブロック選択保持レジスタ５−３のＤ端子には、信号ＴＢＳ＜ｈ＞（ｈ＝０，１，…，ｍ）が入力されている。ブロック選択保持レジスタ５−３のＯ端子からは、信号ＴＢＳＩＮｐ＜ｈ＞が出力される。この回路により、圧縮モード時には、リードコマンドまたはライトコマンドが入力されてから所定のレイテンシ後に、データＴＢＳ＜ｈ＞を次のリードコマンドまたはライトコマンドが入力されるまで、保持しつづけることが可能となる。
【００４８】
図７及び図８に、図１に示した半導体記憶装置の動作波形を示す。図７は圧縮モードでないときの動作波形である。信号ＳＥＬＣＹＣＬＥｐ＜０：３＞が固定され、信号ＲＳＴｐも固定される以外は、従来技術とその問題点で説明したとおりである。
【００４９】
図８は、圧縮モード時の動作波形である。内部クロックＣＬＫは、外部クロックＥＸＴＣＬＫの４逓倍に仮定している。テスト用コマンドＴＣＭＤは、ライトコマンドＷＴｐまたはリードコマンドＲＤｐが入力されるタイミングを示している。コマンドの取り込みに１レイテンシ（１クロック）かかり、コマンドＣＭＤとして図示している。ここでは、クロックＣＬＫの４サイクルおきに、リードコマンドＲＤ０、ライトコマンドＷＴ１、リードコマンドＲＤ２が順に入力されている。アドレスは省略したがコマンドと同じタイミングで入力される。
【００５０】
テストデータ入力線ＴＤＩ＜０：３＞に供給されるテストデータＴＤＩは、コマンド入力から６クロック後に入力される状態をあらわしている。ライトコマンドは４サイクル分のデータ入力を必要とするが、最初のデータＤ４が入力されたときに信号ＳＥＬＣＹＣＬＥｐ＜０＞が活性化されて“Ｈ”となり、データＤ４をゼロサイクル用データレジスタ２−１に取り込む。そして、ゼロサイクル用データレジスタ２−１に記憶されたデータと、前もってロードしていたフラグ値とからデータＤ５、Ｄ６、Ｄ７を作成する。その後、信号ＳＥＬＣＹＣＬＥｐ＜１＞、信号ＳＥＬＣＹＣＬＥｐ＜２＞、信号ＳＥＬＣＹＣＬＥｐ＜３＞が順次活性化されて“Ｈ”になることにより、データＤ５、Ｄ６、Ｄ７をデータＴＤＩＩＮｐとしてテスト入出力データ制御回路１−２に送り込む。さらに、ライトコマンドＷＴ１によって、これらデータＤ４〜Ｄ７を、ブロック選択アドレスＴＢＳとして入力されたデータＢ４により選択されたブロックに書き込む。
【００５１】
リードコマンドＲＤ０、ＲＤ２の６クロック後に入力されたデータＤ０、Ｄ８は、ライトコマンド入力時と同様の処理により、テストデータＴＤＩＩＮｐとしてテスト入出力データ制御回路１−２に入力されるが、これらのデータは所定のレイテンシ後に期待値ＥＸＰとして使用される。この場合も、データＤ０とフラグデータとの演算によりデータＤ１、Ｄ２、Ｄ３が自動的に作成され、データＤ８とフラグデータとの演算によりデータＤ９、Ｄ１０、Ｄ１１が自動的に作成される。このようにして、４サイクルに一回の割合で、テスト用コマンドＴＣＭＤ、テストデータ入力線ＴＤＩ＜０：３＞に入力されるテストデータ、及びブロック選択アドレスＴＢＳを入力することにより、メモリマクロ１−０に所定のテストを行うことが可能となる。このような動作により、４逓倍のＰＬＬを使用して内部のメモリを高速にテストできるようになる。さらに、ＰＬＬを使用することにより、テスト時間を短縮することができる。
【００５２】
一方、テストデータ出力線ＴＤＯ＜０：３＞にて出力されるテストデータＴＤＯは、図８に示すように、通常時には１サイクル毎に、パスあるいはフェイルとなる。すなわち、期待値データＥＸＰとしてのデータＤ０，Ｄ１，Ｄ２，Ｄ３と、出力データＤＯであるデータＲ０，Ｒ１，Ｒ２，Ｒ３とが各々比較され、テストデータＴＤＯは、期待値データＥＸＰと出力データＤＯとが一致したとき“Ｈ”（パス）となり、不一致のとき“Ｌ”（フェイル）となる。しかし、信号ＲＳＴｐは４サイクル毎に活性化されて“Ｈ”となるので、（図８に示す場合は途中にライトコマンドＷＴ１があるため８サイクルになっている）テストデータ出力時系列圧縮回路１−４の出力は、クロックの４サイクルをパルス幅として持つパルスとなり、１回/４サイクルのストローブでよくなる。ただし、４サイクル分のデータを圧縮しているので、リダンダンシ機能、すなわち不良救済機能を利用する場合のダイソート（Ｄ／Ｓ）テストに使用するには１つ条件が必要になる。その条件は、圧縮する４サイクル分が同一救済単位内にあることである。ＤＲＡＭとロジック回路とを混載した混載ＤＲＡＭの場合は、圧縮する４サイクルのデータは同一の入出力線で入出力毎に置き換える方式のため、同一救済単位にあることが多い（ロウアドレスも同じ）。
【００５３】
以上説明したようにこの実施形態では、テスト入力データ線に対してｊ個（ｊは２以上の自然数）のフラグデータを予め記憶するレジスタと、コマンド入力に対応した時間に入力された入力データを記憶するデータレジスタを有する。さらに、コマンド入力に対応したデータ入力時間からｊサイクル目までフラグデータと入力データの演算によって得られるデータを内部で発生して、メモリコア１−１に順次入力するテストデータ入力時系列圧縮回路１−３と、ｊサイクル分のテスト入力データを読み出す際に、ｊサイクル分のデータ出力のうち１サイクルでもフェイルがあるとｊサイクル分のフェイル情報を出力するテストデータ出力時系列圧縮回路１−４とを備える。これにより、外部の低速なテスタを用いて内部のＰＬＬを使用し内部メモリを高速にテストすることが可能となる。
【００５４】
また、コマンドとデータ入力は同時ではないため、データの外部入力が困難になる場合もある。この場合は、図９に示すように、データコマンド同時入力可能回路９−１を、テストデータ入力時系列圧縮回路１−３及びブロックアドレス時系列圧縮回路１−６の各々の前段に配置する。これにより、図１０に示すような動作が可能となり、外部からはデータとコマンドを４サイクル毎に入れれば良いことになる。図１１に、データコマンド同時入力可能回路９−１の回路図を示す。このデータコマンド同時入力可能回路９−１は、シフトレジスタとマルチプレクサ９−６を備えている。シフトレジスタは、複数のフリップフロップ９−５から構成される。マルチプレクサ９−６にはシフトレジスタの最初の入力と最終出力とが入力されており、マルチプレクサ９−６は選択信号ＳＩＮＥＮｐに応じていずれかの入力を出力する。
【００５５】
［第２の実施形態］
次に、この発明の第２の実施形態の半導体記憶装置について説明する。前記第１の実施形態における構成と同様の部分には同じ符号を付してその説明は省略する。
【００５６】
前記第１の実施形態では、ＰＬＬを使用するとテスト時間の短縮が図れるが、ＰＬＬを利用しないとテスト時間を短縮できず、全テストにＰＬＬを用いなければ時間短縮効果が大きくならないという課題が存在した。
【００５７】
図１２は、この発明の第２の実施形態の半導体記憶装置の構成を示すブロック図である。図１２にはデータの出力系に係わる信号しか示していない。入力系の信号の流れは図１に示したものと同様である。
【００５８】
メモリコア１−１を４つのブロック群に分割し、メモリコア１−１の出力を４つの出力に分割する。ブロック群は１個以上の前記ブロックからなり、ｊ個のブロック群と(ｎ＋１)個のブロックとの間には、ｊ×ｈ＝ｎ＋１（ｈは１以上の自然数）が成り立つ。データＤＯｐ＜０：４ｉ−１＞、データＤＯｐ＜４ｉ：８ｉ−１＞、データＤＯｐ＜８ｉ：１２ｉ−１＞、データＤＯｐ＜１２ｉ：１６ｉ−１＞のそれぞれに対してコンパレータ兼マルチプレクサ（比較選択回路）１１−１〜１１−４を設ける。コンパレータ兼マルチプレクサ１１−１〜１１−４の出力を、テストデータ出力時系列圧縮回路１１−５〜１１−８の入力端に接続する。さらに、テストデータ出力時系列圧縮回路１１−５〜１１−８から出力されるデータＴＦＡＩＬｎ＜０：３＞、データＴＦＡＩＬｎ＜４：７＞、データＴＦＡＩＬｎ＜８：１１＞、及びデータＴＦＡＩＬｎ＜１２：１５＞を、時系列ブロック間データ拡張回路兼マルチプレクサ１１−９を通してテストデータＴＤＯ＜０：３＞として出力する。コンパレータ兼マルチプレクサ１１−１〜１１−４は、コンパレータ兼マルチプレクサ４−４と同じ機能を有し、またテストデータ出力時系列圧縮回路１１−５〜１１−８はテストデータ出力時系列圧縮回路１−４と同じ機能を有する。
【００５９】
図１３は、時系列ブロック間データ拡張回路兼マルチプレクサ１１−９の構成を示す回路図である。リードコマンドＲＤｐは、リードレイテンシ調整用のフリップフロップ１２−１を介した後、信号ＳＥＬＢｐ＜０＞としてカウンタ用フリップフロップ１２−２の先頭に入力される。カウンタ用フリップフロップ１２−２の出力は、それぞれ信号ＳＥＬＢｐ＜１＞、信号ＳＥＬＢｐ＜２＞、信号ＳＥＬＢｐ＜３＞となる。図示していないが、カウンタ用フリップフロップ１２−２は信号ＳＥＬＢｐ＜０＞でリセットされる。
【００６０】
テストデータ出力時系列圧縮回路１１−５〜１１−８から出力されたデータＴＦＡＩＬｎ＜ｋ＞、ＴＦＡＩＬｎ＜４＋ｋ＞、ＴＦＡＩＬｎ＜８＋ｋ＞、ＴＦＡＩＬｎ＜１２＋ｋ＞(ｋ＝０，１，２，３)は、マルチプレクサ１２−３とＡＮＤ回路１２−４に入力される。マルチプレクサ１２−３の選択信号は、信号ＳＥＬＢｐ＜０：３＞である。マルチプレクサ１２−３は、信号ＳＥＬＢｐ＜０＞が活性化されて“Ｈ”になると、データＴＦＡＩＬｎ＜ｋ＞を選択して出力し、信号ＳＥＬＢｐ＜１＞が活性化されて“Ｈ”になると、データＴＦＡＩＬｎ＜４＋ｋ＞を選択して出力する。同様に、信号ＳＥＬＢｐ＜２＞が活性化されて“Ｈ”になると、データＴＦＡＩＬｎ＜８＋ｋ＞を選択して出力し、信号ＳＥＬＢｐ＜３＞が活性化“Ｈ”すると、データＴＦＡＩＬｎ＜１２＋ｋ＞を選択して出力する。
【００６１】
マルチプレクサ１２−３の出力とＡＮＤ回路１２−４の出力は、マルチプレクサ１２−５に入力される。マルチプレクサ１２−５の選択信号は、ブロック間拡張モードを表す信号ＴＭＯＤＥＢＸｐである。信号ＴＭＯＤＥＢＸｐが活性化されて“Ｈ”のとき、マルチプレクサ１２−５はマルチプレクサ１２−３の出力をテストデータＴＤＯ＜ｋ＞として出力する。これにより、サイクル毎に異なるブロック群の時系列圧縮データを出力することが可能となる。また、信号ＴＭＯＤＥＢＸｐが非活性されて“Ｌ”のとき、ＡＮＤ回路１２−４の出力をデータＴＤＯ＜ｋ＞として出力する。これにより、ブロック群間のマルチプレクス機能を可能にしている。
【００６２】
図１４に、図１３に示した半導体記憶装置の動作波形を示す。テスト用コマンドＴＣＭＤに示したように、クロックＣＬＫの４サイクルおきにリードコマンドＲＤ０、ＲＤ１、ＲＤ２が発行されている。入力系の波形は図８と変わらないため、説明を省略する。
【００６３】
通常出力されるデータＴＦＡＩＬｎは、クロックＣＬＫの1サイクル毎にパス（ＰＡＳＳ）あるいはフェイル（ＦＡＩＬ）が変化するものであるが、ここでは４サイクルごとに圧縮を掛けるため、４サイクル分のＡＮＤ情報がデータＴＦＡＩＬｎとして４サイクルに渡って出力される。すなわち、データＴＦＡＩＬｎ＜０＞、ＴＦＡＩＬｎ＜４＞、ＴＦＡＩＬｎ＜８＞、及びＴＦＡＩＬｎ＜１２＞に、それぞれのブロック群のデータが出力される。最初の４サイクルはそれぞれ順にＦＡＩＬ、ＰＡＳＳ、ＰＡＳＳ、ＦＡＩＬとなっており、次の４サイクルはそれぞれＰＡＳＳ、ＦＡＩＬ、ＦＡＩＬ、ＰＡＳＳ、最後の４サイクルはＦＡＩＬ、ＰＡＳＳ、ＰＡＳＳ、ＰＡＳＳであるときの様子を表している。
【００６４】
出力すべき最初のサイクルでは、信号ＳＥＬＢｐ＜０＞が活性化されて“Ｈ”となり、データＴＦＡＩＬｎ＜０＞（ＦＡＩＬ）が出力される。次のサイクルでは、信号ＳＥＬＢｐ＜１＞が活性化されて“Ｈ”となり、データＴＦＡＩＬｎ＜４＞（ＰＡＳＳ）が出力される。３番目のサイクルでは、信号ＳＥＬＢｐ＜２＞が活性化されて“Ｈ”となり、データＴＦＡＩＬｎ＜８＞（ＰＡＳＳ）が出力される。さらに、４番目のサイクルでは、信号ＳＥＬＢｐ＜３＞が活性化されて“Ｈ”となり、データＴＦＡＩＬｎ＜１２＞（ＦＡＩＬ）が出力される。このようにして、次の４サイクルでは、ＰＡＳＳ、ＦＡＩＬ、ＦＡＩＬ、ＰＡＳＳが出力され、最後の４サイクルではＦＡＩＬ、ＰＡＳＳ、ＰＡＳＳ、ＰＡＳＳが出力される。これにより、ＰＬＬを使用しないとき（図１４のクロックＣＬＫが外部クロックに相当するとき）でも、毎サイクルにおいて、圧縮したデータを出力することが可能となり、テスト時間を大幅に短縮することができる。
【００６５】
図１５は、この発明の実施形態を適用する半導体記憶装置のリダンダンシ構成を示す概略図である。図において、１４−１にて示す1つの○が1ビットのメモリセルを表している。ロウアドレスにより選択されるワード線ＷＬ[ｋ１]（ｋ１は０以上の自然数）が活性化されると、ワード線ＷＬ[ｋ１]に接続されているメモリセル１４−１に記憶されたデータがセンスアンプ１４−２に読み出される。この後、カラムアドレスにより選択されるカラム選択線ＣＳＬ[ｋ４](ｋ４＝０，１，２，３)によって選択されたデータがデータ線ＤＱ［０］、ＤＱバッファ１４−６を通ってデータＤＯとして読み出される。また、データＤＩが、ＤＱバッファ１４−６、データ線ＤＱ［０］を通って、ワード線ＷＬ[ｋ１]及びカラム選択線ＣＳＬ[ｋ４]にて選択されたメモリセル１４−１に書き込まれる。
【００６６】
冗長ワード線ＳＷＬ［ｋ２］は、冗長メモリセル１４−３に接続されている。ワード線ＷＬが不良であるとき、不良のワード線ＷＬが冗長ワード線ＳＷＬ［ｋ２］に置き換えられる。このとき、不良のワード線ＷＬが選択されると、冗長ワード線ＳＷＬ［ｋ２］が活性化され、冗長メモリセル１４−３にアクセスされる。
【００６７】
カラムの冗長は、入出力回路（ＩＯ）の置き換えで行われる。例えば、ＩＯ［１］が不良であるとき、図１５の外部において、データ入出力回路ＤＩ［１］／ＤＯ［１］はスペアのデータ入出力回路ＳＤＩ［０］／ＳＤＯ［０］に置き換えられて接続される。
【００６８】
救済単位１４−４は、カラム（データ線ＤＱ側）の置き換えを行う場合の最小単位であり、例えば４ビット、８ビットなどのレイアウト上の制約から生じるビット数になっている。カラムを置き換える場合、この救済単位１４−４ごとに置き換えが行われる。救済単位１４−５は、ロウ（ワード線ＷＬ側）とカラム（データ線ＤＱ側）を合わせた救済単位であり、これもレイアウト上の制約から生じるビット数になっている。冗長解を求めるときは、救済単位１４−５に属する４ビットはどこが不良していても同じ解となる冗長的な最小単位を表している。このような救済単位１４−５内のビットは、救済用のテストにおいて、どこかが不良しているという情報があればよく圧縮可能である。図８などに示した実施形態でデータを時系列に圧縮しているｊビット（図８ではｊ＝４）は、この救済単位と一致していることが重要である。圧縮するビット数と救済単位とを一致させることにより、救済前のテストにおいて読み出し時間を１／ｊに低減することが可能となり、テスト時間の短縮に貢献する。なお、図１５に示したブロック（Ｂｌｏｃｋ）は、第２の実施形態である図１２で説明した入出力テスト時に分割するブロックと同一である。
【００６９】
また、前述した各実施形態はそれぞれ、単独で実施できるばかりでなく、適宜組み合わせて実施することも可能である。さらに、前述した各実施形態には種々の段階の発明が含まれており、各実施形態において開示した複数の構成要件の適宜な組み合わせにより、種々の段階の発明を抽出することも可能である。
【図面の簡単な説明】
【００７０】
【図１】この発明の第１の実施形態の半導体記憶装置の構成を示すブロック図である。
【図２】前記第１の実施形態の半導体記憶装置におけるテスト入出力データ制御回路の構成を示す回路図である。
【図３】前記テスト入出力データ制御回路におけるコンパレータ兼マルチプレクサの構成を示す回路図である。
【図４】前記第１の実施形態の半導体記憶装置におけるテストデータ入力時系列圧縮回路の構成を示す回路図である。
【図５】前記第１の実施形態の半導体記憶装置におけるテストデータ出力時系列圧縮回路の構成を示す回路図である。
【図６】前記第１の実施形態の半導体記憶装置におけるブロックアドレス時系列圧縮回路の構成を示す回路図である。
【図７】前記第１の実施形態の半導体記憶装置における圧縮モードでないときの動作を示す波形図である。
【図８】前記第１の実施形態の半導体記憶装置における圧縮モードのときの動作を示す波形図である。
【図９】前記第１の実施形態の変形例の半導体記憶装置の構成を示すブロック図である。
【図１０】前記第１の実施形態の変形例の半導体記憶装置における動作を示す波形図である。
【図１１】前記第１の実施形態の変形例の半導体記憶装置におけるデータコマンド同時入力可能回路の構成を示す回路図である。
【図１２】この発明の第２の実施形態の半導体記憶装置の構成を示すブロック図である。
【図１３】前記第２の実施形態の半導体記憶装置における時系列ブロック間データ拡張回路兼マルチプレクサの構成を示す回路図である。
【図１４】前記第２の実施形態の半導体記憶装置における動作を示す波形図である。
【図１５】前記第１、第２の実施形態を適用する半導体記憶装置のリダンダンシ構成を示す概略図である。
【図１６】従来のメモリ混載ＬＳＩにおけるメモリマクロの構成を示すブロック図である。
【符号の説明】
【００７１】
１−０…メモリマクロ、１−１…メモリコア、１−２…テスト入出力データ制御回路、１−３…テストデータ入力時系列圧縮回路、１−４…テストデータ出力時系列圧縮回路、１−５…論理和回路（ＯＲ回路）、１−６…ブロックアドレス時系列圧縮回路、２−１…ゼロサイクル用データレジスタ、２−２…＋１サイクル用フラグレジスタ、２−３…＋２サイクル用フラグレジスタ、２−４…＋３サイクル用フラグレジスタ、２−５…演算器、２−６…マルチプレクサ、２−７、２−８…フリップフロップ、２−９…ＯＲ回路、２−１１…論理積回路（ＡＮＤ回路）、３−１…フリップフロップ、３−２、３−３…ＯＲ回路、３−４…ＡＮＤ回路、３−５…フリップフロップ、３−６…マルチプレクサ、３−７…フリップフロップ、４−１…マルチプレクサ、４−２…フリップフロップ、４−４…コンパレータ兼マルチプレクサ、４−１０…ＰチャネルＭＯＳトランジスタ（Ｐｃｈトランジスタ）、４―１１…ＯＲ回路、４−１２…Ｄラッチ、４−１３、４−１５…ＡＮＤ回路、４−１４…ｎチャネルＭＯＳトランジスタ（Ｎｃｈトランジスタ）、４−１６…ＡＮＤ回路、４−１７…期待値入力部分、４−１８…データ入力部分、４−１９…ＯＲ回路、４−２０…フリップフロップ、５−１…フリップフロップ、５−２…ＯＲ回路、５−３…ブロック選択保持レジスタ、９−１…データコマンド同時入力可能回路、９−５…フリップフロップ、９−６…マルチプレクサ、１１−１〜１１−４…コンパレータ兼マルチプレクサ、１１−５〜１１−８…テストデータ出力時系列圧縮回路、１１−９…時系列ブロック間データ拡張回路兼マルチプレクサ、１２−１、１２−２…フリップフロップ、１２−３、１２−５…マルチプレクサ、１２−４…ＡＮＤ回路、１４−１…メモリセル、１４−２…センスアンプ、１４−３…冗長メモリセル、１４−４、１４−５…救済単位、１４−６…ＤＱバッファ。
【図１】
0004737929.tif 000002
【図２】
0004737929.tif 000003
【図３】
0004737929.tif 000004
【図４】
0004737929.tif 000005
【図５】
0004737929.tif 000006
【図６】
0004737929.tif 000007
【図７】
0004737929.tif 000008
【図８】
0004737929.tif 000009
【図９】
0004737929.tif 000010
【図１０】
0004737929.tif 000011
【図１１】
0004737929.tif 000012
【図１２】
0004737929.tif 000013
【図１３】
0004737929.tif 000014
【図１４】
0004737929.tif 000015
【図１５】
0004737929.tif 000016
【図１６】
0004737929.tif 000017