(57)【要約】【課題】フラッシュメモリとその周辺回路との接続性試験を上位アドレス線を含めて適確に行なう。【解決手段】コマンドデコーダ６０３は、外部ピンからの入力信号が特定のアドレスに対する特定の値の書き込みであることを検出する。ステートデコーダ６０２は、ステートマシン３０７の状態が所定のモードであるＣＦＩクエリモードであるかを判定する。判定回路６０４は、ステートデコーダ６０２がＣＦＩクエリモード配下でコマンドデコーダ６０３の検出出力とに基づいてテストモードになったことを判定する。データ保持回路６０５は、判定回路６０４の判定出力をセットし、テストモードになったことを示すテストモード表示信号４０３を保持する。テストモードにおいては、例えばアドレス線の上位側をデータ線に出力する。【選択図】図６
2011248952.tif 000002
【特許請求の範囲】
【請求項１】
標準仕様に準拠し、コントローラを有するフラッシュメモリであって、
前記コントローラは、
ステートマシンと、
前記ステートマシンの状態が所定のモードであるかを判定するステートデコーダと、
外部ピンからの入力信号が特定のアドレスに対する特定の値の書き込みであることを検出するコマンドデコーダと、
前記ステートデコーダと前記コマンドデコーダとの判定に基づいて前記所定のモード配下でテストモードを設定するテストモード設定回路と、
を含むことを特徴とするフラッシュメモリ。
【請求項２】
前記フラッシュメモリは、共通フラッシュメモリインタフェースの仕様に準拠し、
前記ステートデコーダは、前記共通フラッシュメモリインタフェースにおけるクエリモードであるか否かを示す状態を含む前記フラッシュメモリの状態を検出し、
前記テストモード設定回路は、
前記コマンドデコーダの出力と前記ステートデコーダの出力を入力とし、前記クエリモードの配下で前記テストモードになったことを判定する判定回路と、
前記判定回路の判定出力信号をセットし、前記テストモードになったことを示すテストモード信号を保持するデータ保持回路と、
を含む、
ことを特徴とする請求項１に記載のフラッシュメモリ。
【請求項３】
さらに共通フラッシュメモリインタフェース情報を格納するメモリと、
制御入力端子に前記テストモード設定回路の出力を入力し、第１の入力端子に前記メモリから出力される前記共通フラッシュメモリインタフェース情報を入力し、第２の入力端子にアドレス線上の上位のアドレス情報を入力し、前記制御入力端子への入力が前記テストモードでないときに、前記共通フラッシュメモリインタフェース情報を前記フラッシュメモリのデータのデータ線に出力し、前記制御入力端子への入力が前記テストモードのときに、前記上位のアドレス情報を前記データ線に出力する第１の選択回路とを、
具備することを特徴とする請求項２に記載のフラッシュメモリ。
【請求項４】
さらにデータアレイと、
前記コントローラからの制御用信号を入力する制御入力端子と、前記第１の選択回路の出力が接続される第１の入力端子と、前記データアレイの出力が接続される第２の入力端子とを具備し、前記第１の選択回路の出力または前記データアレイの出力を前記制御用信号によって切り替えて選択する第２の選択回路とを、
具備することを特徴とする請求項３に記載のフラッシュメモリ。
【請求項５】
前記第１の選択回路は、前記制御入力端子への入力が第１のテストモードのときに、読出しコマンドシーケンスで前記アドレス線に指定され前記第２の入力端子に入力する上位のアドレス情報を前記データ線に出力し、前記制御入力端子への入力が第２のテストモードのときに、前記読出しコマンドシーケンスで前記アドレス線に指定され前記第２の入力端子に入力する下位のアドレス情報を前記データ線に出力する、
ことを特徴とする請求項３に記載のフラッシュメモリ。
【請求項６】
前記テストモードは複数のテストモードからなり、
前記判定回路は、前記ステートデコーダが前記クエリモードを検出している状態であってかつ前記コマンドデコーダが前記クエリモードに対するリセット指定の書込みコマンドシーケンス以外の複数の書込みコマンドシーケンスを検出した状態をそれぞれ判定し、
前記データ保持回路は、前記判定回路の各判定出力によってそれぞれセットされて前記複数のテストモードのうち前記各判定出力に対応する１つを示すテストモード信号を出力する、
ことを特徴とする請求項２に記載のフラッシュメモリ。
【請求項７】
前記データ保持回路は、前記判定回路の判定出力によってセットされた後、前記コマンドデコーダがさらに読出しコマンドシーケンスを検出する回数をカウントするカウンタ回路であり、前記判定回路の判定出力によってセットされた後、前記カウントによる計数結果が所定値に達するまで前記テストモード信号を出力し、該所定値に達した時点でリセットされることにより、テスト結果を示すアドレス情報が所定回数出力される間前記テストモードを維持する、
ことを特徴とする請求項２に記載のフラッシュメモリ。
【請求項８】
前記フラッシュメモリは、オートセレクトモードの仕様に準拠し、
前記ステートデコーダは、前記オートセレクトモードであるか否かを示す状態を含む前記フラッシュメモリの状態を検出し、
前記テストモード設定回路は、
前記コマンドデコーダの出力と前記ステートデコーダの出力を入力とし、前記ステートデコーダが前記オートセレクトモードを検出している状態と前記コマンドデコーダの検出出力とに基づいて前記テストモードになったことを判定する判定回路と、
前記判定回路の判定出力信号をセットし、前記テストモードになったことを示すテストモード信号を保持するデータ保持回路と、
を含む、
ことを特徴とする請求項１に記載のフラッシュメモリ。
【請求項９】
標準仕様に準拠したフラッシュメモリの接続試験方法であって、
前記フラッシュメモリの状態が所定のモードであるかを判定し、
外部ピンからの入力信号が特定のアドレスに対する特定の値の書き込みであることを検出し、
前記フラッシュメモリの状態が前記所定のモードであって前記特定のアドレスに対する前記特定の値の書き込みが検出されたときに、前記所定のモード配下でテストモードを設定する、
ことを特徴とするフラッシュメモリの接続試験方法。
【請求項１０】
前記テストモードでないときに、共通フラッシュメモリインタフェース情報を前記フラッシュメモリのデータ線に出力し、前記テストモードのときに、アドレス線上のアドレス情報を前記データ線に出力するように、選択的出力を行う、
ことを特徴とする請求項９に記載のフラッシュメモリの接続試験方法。
【発明の詳細な説明】
【技術分野】
【０００１】
フラッシュメモリとその周辺回路の例えばプロセッサとの接続性試験を行なうテストモード付きフラッシュメモリ及びその接続試験方法に関する。
【背景技術】
【０００２】
大容量フラッシュメモリの場合アドレス線の数がデータ線の数より多い。フラッシュメモリをボード盤上にのせてシステムを製造する側においては、フラッシュメモリとその周辺回路との接続性試験を行なっている。その際、共通インタフェースメモリを用いる場合は、アドレス線の上位側は０又はドットケアにしていたので接続性試験は実質的にされていなかった。アドレス線の上位側においては、アドレス線上の値を変えながらメモリ中のデータアレイに実際にテストパターンを書き込み、その後読み出して両者の一致を判定することで、持続性試験を行なうとすることも考えられるが時間がかかりすぎる。
【０００３】
また、任意の入力信号を直接に出力信号として出力させる信号経路を設け、デバイスをあたかも単なる信号選択回路とみなす機能を付加させて周辺回路の試験を容易にする半導体記憶素子の従来技術が知られている（例えば特許文献１）。
【０００４】
さらに、データ入出力端子からの特定コマンドの入力を認識し、アドレス入力端子からのデータと記憶部に記憶されている期待値データを比較して試験を行う機能を有する半導体記憶装置の従来技術が知られている（例えば特許文献２）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開昭５８−１２１１８８号公報
【特許文献２】特開２００３−８６０００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
フラッシュメモリをボードに搭載した後の試験例えば上位のアドレス線の接続性試験はフラッシュメモリが大容量化するに伴い適確に行なえないことが問題となっている。フラッシュメモリの試験を標準品とピン互換で、また標準的な仕様を変更しないで行ないたいという要請もある。
【０００７】
本発明の課題は標準品とピン互換で標準的な仕様を変更しないでフラッシュメモリの試験を適確に行なうことである。
【課題を解決するための手段】
【０００８】
態様の一例では、コントローラを有するフラッシュメモリであって、コントローラは、ステートマシンと、ステートマシンの状態が所定のモードであるかを判定するステートデコーダと、外部ピンからの入力信号が特定のアドレスに対する特定の値の書き込みであることを検出するコマンドデコーダと、ステートデコーダとコマンドデコーダとの判定に基づいて所定のモード配下でテストモードを設定するテストモード設定回路とを備える。
【発明の効果】
【０００９】
本出願の構成と方法によれば、フラッシュメモリを標準品とピン互換で、また、標準仕様を変更する必要がなく、フラッシュメモリの試験たとえば上位のアドレス線の接続試験が的確に行なえる。
【図面の簡単な説明】
【００１０】
【図１】接続性試験の例を示すシステム構成図である。
【図２】ＣＦＩクエリモードの制御処理を示すフローチャートである。
【図３】標準的なフラッシュメモリの内部構成図である。
【図４】第１〜第３の実施形態におけるフラッシュメモリの内部構成図である。
【図５】第１の実施形態におけるＣＦＩクエリモードからテストモードを起動する制御処理の概要を示すフローチャートである。
【図６】第１の実施形態を実現するコントローラの構成図である。
【図７】第１の実施形態を実現する選択回路部分の構成図である。
【図８】第１の実施形態におけるコントローラ及び選択回路部分のテストモード時のタイミングチャートである。
【図９】第２の実施形態におけるＣＦＩクエリモードからテストモードを起動する制御処理（複数テストモード）の概要を示すフローチャートである。
【図１０】第２の実施形態を実現するコントローラの構成図である。
【図１１】第２の実施形態を実現する選択回路部分の構成図（その１）である。
【図１２】第２の実施形態を実現する選択回路部分の構成図（その２）である。
【図１３】第３の実施形態を実現するコントローラの構成図である。
【図１４】第４の実施形態を実現するフラッシュメモリの内部構成図である。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。
例えばプリント盤上に実装されたデバイス間の接続を確認する手段として、バウンダリスキャンを用いる方法と、実際にデバイスを動作させて、接続の確認を行う方法がある。
【００１２】
バウンダリスキャンを用いるためには各デバイスがバウンダリスキャンに対応している必要がある。デバイスによってはバウンダリスキャン用の端子を持たないものもあるため、バウンダリスキャンを用いた接続性試験でカバー出来ない部分については、実際にデバイスを動作させる方法が用いられる。
【００１３】
マイクロプロセッサ及びワークメモリが実装されているボードの場合、マイクロプロセッサ上でテスト用のソフトウェアを動作させることで接続性試験を行う。例えば、パーソナルコンピュータのマザーボード、高信頼性スイッチ・ルータに搭載される制御ボード等が該当する。例えば図１に示されるように、制御ボード１０１が、フラッシュメモリ１０２、マイクロプロセッサ１０３、メインメモリ１０４、およびインタフェース回路（Ｉ／Ｆ）１０５を搭載しているとする。この場合例えば、フラッシュメモリ１０２とマイクロプロセッサ１０３間の接続性試験を行いたい場合、インタフェース回路１０５に制御端末１０６を接続し、制御端末１０６を介して、マイクロプロセッサ１０３からフラッシュメモリ１０２のデバイスを制御する。そして、試験対象となるデバイス間（ここではフラッシュメモリ１０２とマイクロプロセッサ１０３間）で洩れなくテスト動作が実行されるように、テストパターン信号がマイクロプロセッサ１０３からフラッシュメモリ１０２に供給される。この方法を用いることで、制御ボード上にバウンダリスキャン用の配線領域を設ける必要がなくなる。
【００１４】
ここで、標準的なフラッシュメモリデバイスには、ベンダ間で取り決められた標準的なインタフェースとして、ＣＦＩ（共通フラッシュインタフェース：Ｃｏｍｍｏｎ  Ｆｒａｓｈ  ｍｅｍｏｒｙ  Ｉｎｔｅｒｆａｃｅ）と呼ばれるものが実装されている。
【００１５】
ＣＦＩを実装したフラッシュメモリでは、外部から特別なアドレス及びデータを書き込むと、フラッシュメモリの状態は、ＣＦＩで定義されているＣＦＩクエリモードというモードに遷移する。このモードで、外部からフラッシュメモリに任意のアドレスを指定するリードコマンドを投入して読み出し操作を行うと、ＣＦＩ情報と呼ばれるデバイスの特徴を示す各種のデータが、フラッシュメモリから出力される。ＣＦＩ情報はデバイスに固有の既知の値のため、これらが期待通りに読み出せるかを確認することで、フラッシュメモリとマイクロプロセッサ間の接続確認を行うことができる。
【００１６】
より具体的には、図２のフローチャートとして示されるように、フラッシュメモリが、内部のデータアレイからの読出しを行う通常モードであるデータアレイリードモードで動作しているとする（図２のステップＳ２０１）。この状態で、フラッシュメモリに対して、アドレス：０ｘ５５、データ：０ｘ９８が書き込まれると（図２のステップＳ２０２）、フラッシュメモリの状態は、ＣＦＩで定義されているＣＦＩクエリモードというモードに遷移する（図２のステップＳ２０３）。このモードにおいて、外部からフラッシュメモリに任意のアドレスを指定するリードコマンドを投入して読み出し操作を行う。この結果、ＣＦＩ情報と呼ばれるデバイスの特徴を示す各種のデータが、フラッシュメモリから出力される（図２のステップＳ２０３→Ｓ２０４→Ｓ２０３の繰返し）。ＣＦＩ情報はデバイスに固有の既知の値のため、これらが期待通りに読み出せるかを確認することで、フラッシュメモリとマイクロプロセッサ間の接続確認を行うことができる。ＣＦＩクエリモードにおいて、外部からフラッシュメモリにアドレス：任意、データ：０ｘＦ０であるリセットコマンドを投入すると、フラッシュメモリの状態はデータアレイリードモードに戻る（図２のステップＳ２０３→Ｓ２０５→Ｓ２０１）。
【００１７】
以上のＣＦＩ情報の読出しシーケンスによって、アドレス線・データ線・制御線（Ｒｅａｄ/Ｗｒｉｔｅ信号、チップセレクト信号、出力イネーブル信号等の信号線）の不良判定等を行うことが可能である。接続が正しくない場合、期待値が読み出されないため、デバイスまたは接続の不良と判定される。
【００１８】
しかし、ＣＦＩクエリモードにおけるＣＦＩ情報の読出しでは、大容量のフラッシュメモリのアドレス線の上位の接続を確認することができない。この方法では、アドレス線の上位例えば１６ビットは‘０’固定、または、ドントケア扱いになっているためである。このため例えば、アドレス線の上位ビットにおいて‘０’固定故障が発生していた場合、デバイス情報の読み出しでは正常動作してしまうため、障害の有無を判定できない。フラッシュメモリが持つオートセレクトモードを使用した場合、使用されるアドレス線は増えるが、アドレス線の上位側が使用されない、という点は同じである。
【００１９】
このため、ＣＦＩクエリモードにより試験されない上位アドレス側のアドレス線については、フラッシュメモリ中のデータアレイに対して実際にテストパターンの書込みおよび読出しを行ってテストを行う必要がある。しかし、この場合には、試験時間が課題となる。
【００２０】
すなわち、近年普及しているフラッシュメモリにおいて、デバイス試験のためにデータアレイへの書込みを行う際には、デバイスの特性上、書込み先を含む一定の領域（セクタと呼ばれる）を消去する必要がある。さらに、ＲＯＭライタ等により、フラッシュメモリにあらかじめ製品としての出荷用データが書込み済みの場合、ボード上に実装されたデバイスに対して上記の試験を実施するためには、書込み済みのデータを一時的に退避し、試験完了後に元に戻す必要がある。退避領域としては、同一ボード上に実装されているＳＲＡＭ等の高速デバイス等が使用される。
【００２１】
従って、フラッシュメモリに対する書込みを伴う従来の試験方法では、前処理（書込み済みのデータの退避・セクタの消去）と後処理（セクタの消去・退避データの書戻し）が必要であり、相応の時間がかかってしまうという問題点を有していた。
【００２２】
データアレイに書込みを伴わない試験方法を採ることができれば、上述の課題を解決することができる。
試験を高速化するためにフラッシュメモリが持ちうるハードウェア構成は複数あるが、いずれの構成でも課題となるのは、どのような手段を用いてフラッシュメモリに試験用動作を行わせるのか、という点である。この手段がないと、フラッシュメモリは通常動作と試験用動作のいずれを行えばよいのかを判断できない。以下、試験用動作を行うフラッシュメモリの状態をテストモードと表記する。
【００２３】
フラッシュメモリをテストモードに遷移させるための手段として、制御用の外部ピンを設けてしまうと、従来品とのピン互換性が保てなくなる。ピン互換性がないデバイスは、従来品を搭載するために設計されたプリント盤に実装することができないため、周辺回路も含む回路設計のやり直しが必要となる。
【００２４】
そもそも、特殊な用途を持つ外部ピンを設けたデバイスよりも、標準であるバウンダリスキャンに対応したデバイスの方が汎用性は高く、市場に受け入れられ易い。
元々バウンダリスキャンに対応していないデバイスでは、外部ピンによらずテストモードへ遷移するための仕組みを持つことが望ましい。
【００２５】
外部ピンを使わないとすると、共通フラッシュメモリインタフェース仕様をベンダで独自に拡張し、コマンドシーケンスの入力によりテストモードに遷移するという手段が考えられる。
【００２６】
しかし、標準化されているインタフェースに対してベンダ独自の機能拡張を行うと、将来の標準仕様の変更により、拡張した機能が損なわれる可能性がある。このような場合としては例えば、現時点の標準仕様で未使用のコードを使ったところ、後の標準仕様の変更により別の意味が割り当てられたような場合がある。
そこで、将来の共通仕様の変更により損なわれないインタフェースの定義が望ましい。
【００２７】
図３は、標準的なフラッシュメモリの内部構成図である。図３に示される標準的なフラッシュメモリ３０１において、データアレイ３０２はデータを記憶する。アドレスデコーダ３０３は、データアレイ３０２に接続され、外部からアドレス線３１０を介して指定されるアドレスをデコードしてデータアレイ３０２に対してアドレス指定を行う。ＣＦＩ情報格納メモリ３０４は、ＣＦＩ情報を格納する。アドレスデコーダ３０５は、ＣＦＩ情報格納メモリ３０４に接続され、外部からアドレス線３１０を介して指定されるアドレスをデコードしてＣＦＩ情報格納メモリ３０４に対してアドレス指定を行う。コントローラ３０６は、外部からのチップセレクト信号ＣＳ、ライトイネーブル信号ＷＥ、およびアウトプットイネーブル信号ＯＥに基づいて、制御用信号を選択回路３０８及び入出力バッファ３０９に供給する。コントローラ３０６は、論理回路によって構成され、フラッシュメモリ３０１の状態を制御するステートマシン３０７を内蔵する。選択回路３０８は、コントローラ３０６からの制御用信号３１２に基づいて、データアレイ３０２またはＣＦＩ情報格納メモリ３０４の何れかの出力を選択する。入出力バッファ３０９は、データリード時には、選択回路３０８から出力されるデータ又はＣＦＩ情報を、入力してバッファリングし、データ線３１１を介して外部に出力する。また、入出力バッファ３０９は、データライト時には、外部からデータ線３１１を介して入力されるデータをバッファリングし、データアレイ３０２に書き込む。
【００２８】
図３に示される標準的なフラッシュメモリ３０１は、前述した図２のフローチャートに従って制御される。ステートマシン３０７は、起動後は、データアレイ３０２からの読出しを行うデータアレイリードモードで動作する（図２のステップＳ２０１）。
【００２９】
この状態で外部から、チップセレクト信号ＣＳ：有効およびライトイネーブル信号ＷＥ：有効（書込み指定）が与えられると共に、アドレス線３１０にアドレス：０ｘ５５、データ線３１１にデータ：０ｘ９８が与えられる（図２のステップＳ２０２）。この結果、コントローラ３０６が、上記各信号をデコードすることにより、内部のステートマシン３０７の状態が、ＣＦＩクエリモードに遷移する（図２のステップＳ２０３）。
【００３０】
ＣＦＩクエリモードにおいて、外部から、アドレス線３１０にクエリモード用のアドレスが指定され、チップセレクト信号ＣＳ：有効、ライトイネーブル信号ＷＥ：無効（読出し指定）、アウトプットイネーブル信号ＯＥ：有効が与えられる。この結果、アドレスデコーダ３０５がそのアドレスをデコードし、ＣＦＩ情報格納メモリ３０４にそのアドレスを供給する。また、コントローラ３０６は、選択回路３０８に対して、ＣＦＩ情報格納メモリ３０４の出力を選択する制御用信号３１２を供給する。この結果、ＣＦＩ情報格納メモリ３０４から読み出された上記指定アドレスに対応するＣＦＩ情報が、選択回路３０８から入出力バッファ３０９およびデータ線３１１を介して、外部に出力される（図２のステップＳ２０４）。
【００３１】
この場合、ＣＦＩ情報格納メモリ３０４の記憶容量は限られているため、例えば２５ビットのアドレス線３１０において有効なアドレスは、例えば下位１６ビットであり、例えば上位９ビットは‘０’固定またはドントケアとなる。
【００３２】
以上の動作により、期待されるＣＦＩ情報がデータ線３１１から読み出されるか否かを確認することで、下位１６ビットによるアドレス指定に対するデバイス接続試験が可能となる。
【００３３】
ＣＦＩクエリモードにおいて、外部から、チップセレクト信号ＣＳ：有効、ライトイネーブル信号ＷＥ：有効（書込み指定）、データ線３１１にデータ：０ｘＦ０が与えられる（図２のステップＳ２０５）。なお、アドレス線３１０に与えるアドレスは任意でよい。この結果、コントローラ３０６が上記各信号をデコードすることにより、内部のステートマシン３０７の状態が、データアレイリードモードに戻る（図２のステップＳ２０３→Ｓ２０５→Ｓ２０１）。データアレイリードモードでは、コントローラ３０６は、選択回路３０８に対して、データアレイ３０２の出力を選択する制御用信号３１２を供給する。
【００３４】
図４は、以下に説明する第１〜第３の実施形態におけるフラッシュメモリの内部構成図である。図４において、図３と同じ部分には同じ番号を付してある。フラッシュメモリ４０１は、図３の構成に加えて、ＣＦＩ情報格納メモリ３０４と選択回路３０８の間に、ＣＦＩ情報格納メモリ３０４の出力とアドレス線３１０のうちの上位側のアドレスを選択して選択回路３０８に与える選択回路４０２を有する。そして、この選択回路４０２は、コントローラ３０６からのテストモードであることを示すテストモード表示信号４０３によって制御される。テストモードとは、図５を参照して後述するように、ＣＦＩクエリモード配下でアドレス線の特に上位側の接続性試験を行なうモードのことである。
【００３５】
図５は、図４のフラッシュメモリ４０１の構成を有し、第１の実施形態におけるＣＦＩクエリモードからテストモードを起動する制御処理の概要を示すフローチャートである。図５において、図２と同じ処理には同じステップ番号を付してある。
【００３６】
図５において、アドレス：０ｘ５５、データ：０ｘ９８の書込み指定によってデータアレイリードモードからＣＦＩクエリモードに遷移する動作は、図２の場合と同様である。また、ＣＦＩクエリモードにおいてアドレス：任意の読出し指定によってＣＦＩ情報が読み出される動作も、図２の場合と同様である。さらに、データ：０ｘ９８、アドレス：任意の書込み指定によってＣＦＩクエリモードからデータアレイリードモードに戻る遷移を行う動作も、図２の場合と同様である。
【００３７】
ＣＦＩクエリモードにおいて、外部から、チップセレクト信号ＣＳ：有効、ライトイネーブル信号ＷＥ：有効（書込み指定）が図４のフラッシュメモリ４０１に与えられる。これと共に、外部から、データ線３１１にデータ：特定値Ｄ、アドレス線３１０に特定値Ａが与えられる。このように、ＣＦＩクエリモードにおいて、ＣＦＩで定義（規定）されていないアドレス：特定値Ａ、データ：特定値Ｄの書込み動作が指定される。このデータ：特定値Ｄとしては、前述したリセットコマンドにおけるデータ値：０ｘＦ０以外の特定値が指定される。この結果、コントローラ３０６は、上記各信号をデコードすることにより、選択回路４０２に対して、テストモードを示すテストモード表示信号４０３を供給する。これと共に、内部のステートマシン３０７の状態がＣＦＩクエリモードを維持しながら、フラッシュメモリ４０１はテストモードに遷移する（以上、図５のステップＳ２０３→Ｓ５０１→Ｓ５０２）。
【００３８】
上述のテストモードにおいては、ＣＦＩクエリモードも維持されている。このため、テストモードにおいて、通常のＣＦＩクエリモードの場合と同様のリード指定が行われると、次のような動作が実行される。すなわち、外部から、アドレス線３１０にテスト用のアドレスが指定され、チップセレクト信号ＣＳ：有効、ライトイネーブル信号ＷＥ：無効（読出し指定）、アウトプットイネーブル信号ＯＥ：有効が与えられる。この結果、コントローラ３０６が、選択回路３０８に対して、図３に示される通常のフラッシュメモリの場合と同様に、データアレイ３０２からの入力でないほうの入力を選択する、制御用信号３１２を供給する。この結果、本実施形態では、選択回路４０２の出力が選択回路３０８の入力として選択される。またこのとき、テストモードでは、選択回路４０２は、アドレス線３１０の特定範囲（例えば上位側）のアドレスを選択している。この結果、アドレス線３１０の特定範囲（例えば上位側）のアドレスが、選択回路４０２、選択回路３０８から入出力バッファ３０９およびデータ線３１１を介して、外部に出力される（図５のステップＳ５０２→Ｓ５０３）。
【００３９】
以上のリード動作により、ＣＦＩクエリモード中のテストモードにおいて、アドレス線３１０に指定された特定範囲（例えば上位側）のアドレスがデータ線３１１から読み出されるか否かを確認できる。この結果、上記特定範囲（例えば上位側）のアドレスが正しく指定されているか否かのデバイス接続試験が可能となる。
【００４０】
なお、本実施形態では、リード指定が継続される限り、ＣＦＩクエリモード中のテストモードが継続的に維持され、アドレス線３１０に指定された特定範囲（例えば上位側）のアドレスの接続性のテストを続行することができる。
【００４１】
ＣＦＩクエリモード中のテストモードにおいて、外部から、チップセレクト信号ＣＳ：有効、ライトイネーブル信号ＷＥ：有効（書込み指定）、データ線３１１にデータ：０ｘＦ０が与えられる（図５のステップＳ５０４）。なお、アドレス線３１０に与えるアドレスは任意でよい。この結果、コントローラ３０６が上記各信号をデコードすることにより、図５のステップＳ２０５の場合と同様に、内部のステートマシン３０７の状態が、データアレイリードモードに戻る（図５のステップＳ５０２→Ｓ５０４→Ｓ２０１）。
【００４２】
図６は、第１の実施形態を実現する図４の構成におけるコントローラ３０６の構成図である。図６において、図４と同じ部分には同じ番号を付してある。この構成は、その動作概要が前述した図５のフローチャートで示される制御動作を実現する。
【００４３】
図中のステートマシン３０７と制御用出力生成論理回路６０１は、標準的なフラッシュメモリに用いられているものと同一のものである。つまり、コントローラ３０６から出力される制御用信号の内容は常に、標準的なフラッシュメモリと同一となる。
その他のブロックが、テストモードへの遷移と、コントローラ３０６の外部に対してテストモードであることを通知するために必要となるブロックである。
【００４４】
ステートデコーダ６０２は、ステートマシン３０７の内部状態がＣＦＩクエリモードであることを識別し、ＣＦＩクエリモードのときに後段の判定回路６０４に真、その以外の場合に偽の論理値を通知する。
【００４５】
コマンドデコーダ６０３は外部からの入力が、チップセレクト信号ＣＳ：真、ライトイネーブル信号ＷＥ：真、アドレス線３１０上のアドレス：特定の値、データ線３１１上のデータ：特定の値のときに、後段の判定回路６０４に真、それ以外の場合に偽の論理値を通知する。データ保持回路６０５は、テストモードであるときに真、それ以外の時に偽の論理値を、テストモード表示信号４０３（図４参照）として出力する。判定回路６０４は、ステートデコーダ６０２からの入力が真、かつ、コマンドデコーダ６０３からの入力が真のときに、データ保持回路６０５に対して、テストモードの設定を通知するセット信号Ｓを出力する。つまり、ステートマシン３０７がＣＦＩクエリモードを示しているときに、外部から特定のアドレスに対する特定のデータの書込み要求があったときにテストモードを設定する動作となる。これにより、前述した図５のステップＳ５０１→Ｓ５０２の制御処理が実現される。
テストモード時に、テストモードに遷移するための信号入力を行った場合も、テストモードとなる。つまり、状態は変化しない。
【００４６】
コマンドデコーダ６０３は、外部からの入力が、チップセレクト信号ＣＳ：真、ライトイネーブル信号ＷＥ：真、アドレス線３１０上のアドレス：任意、データ線３１１上のデータ：リセットコードのときに真となる別の出力を持つ。この出力は、非テストモードを設定するリセット信号Ｒとして、データ保持回路６０５に対して指定される。これにより、ステートマシン３０７の状態によらず、外部からリセットコードの書き込みが行われた際に、データ保持回路６０５は非テストモードに設定される。このときステートマシン３７０は、リクエスト指定に対する標準のフラッシュメモリの動作に従って、データアレイリードモードに遷移する。これにより、前述した図５のステップＳ５０４の制御処理が実現される。
【００４７】
データ保持回路６０５の出力は、テストモード表示信号４０３としてコントローラ３０６の外部に出力される。この信号が接続される図４の選択回路４０２は、テストモードおよび非テストモードの認識が可能となる。
【００４８】
図６の構成では、一度テストモードとなると、リセットコードの書き込み以外ではテストモードに留まり続ける。これにより、テストモード時の動作をテストパターンを変更しながら連続して複数回実行したい場合に、外部からテストモードに遷移するための入力シーケンスが１回のみで済む。
【００４９】
図７は、第１の実施形態を実現する図４の構成における選択回路４０２および３０８の部分の構成図である。図７において、図４と同じ部分には同じ番号を付してある。
大容量デバイスの場合、アドレス線の数はデータ線の数よりも多い。例えば容量が５１２メガビット,１６ビット幅でアクセスを行うデバイスの場合、アドレス線は２５本となる。ここでは図４のアドレス線３１０を構成する上位アドレス線をＡ２４〜Ａ０、図４のデータ線３１１を構成する各データ線をＤ１５〜Ｄ０と表記する。
【００５０】
選択回路４０２の入力にアドレス線３１０上の上位アドレス線Ａ２４〜Ａ１６から延びる線が接続されている。図６のコントローラ３０６は、テストモード表示信号４０３によって、テストモード時に、選択回路４０２の出力を上位アドレス線Ａ２４〜Ａ１６に接続される入力側に接続するよう制御を行う。後段の選択回路３０８は、コントローラ３０６からの制御用信号３１２により、データ線３１１上の各データ線Ｄ１５〜Ｄ０（図４の入出力バッファ３０９側）に接続すべき入力を決定する。コントローラ３０６は、図６のステートマシン３０７がＣＦＩクエリモードを示すときに、外部から読み出し要求コマンドを受けると、次のように制御する制御用信号３１２を出力する。すなわち、後段の選択回路３０８は、制御用信号３１２によって、データアレイ３０２でない側の入力をデータ線３１１（入出力バッファ３０９）に出力する。以上の動作により、アドレス線３１０上の上位アドレス線Ａ２４〜Ａ１６のアドレス値が、選択回路４０２、選択回路３０８から入出力バッファ３０９およびデータ線３１１を介して、外部に出力される。これにより、前述した図５のステップＳ５０３の制御処理が実現される。
【００５１】
試験手順は以下のようになる。
手順１．データアレイリードモードからＣＦＩクエリモードを設定する書込み指定を行う。このとき、アドレス線Ａ２４〜Ａ１６：任意、Ａ１５〜Ａ０：０ｘ５５、データ線Ｄ１５〜Ｄ０：０ｘ９８、チップセレクト信号ＣＳ：有効、ライトイネーブル信号ＷＥ：有効が指定される。これは、図５の、ステップＳ２０１→Ｓ２０２→Ｓ２０３の制御処理に対応する。その後、アドレス線３１０上の下位１６ビット（Ａ１５〜Ａ０）の試験として、ＣＦＩクエリモードによるＣＦＩ情報格納メモリ３０４（図４参照）からのＣＦＩ情報の読出しが行われる。これは、図５の、ステップＳ２０３→Ｓ２０４→Ｓ２０３の繰返し制御処理に対応する。
【００５２】
手順２．上記の試験で正常と判断した後に、ＣＦＩクエリモードからテストモードを設定する書込み指定を行う。このとき、アドレス線Ａ２４〜Ａ１６：任意、Ａ１５〜Ａ０：特定値Ａ、データ線Ｄ１５〜Ｄ０：特定値Ｄ、チップセレクト信号ＣＳ：有効、ライトイネーブル信号ＷＥ：有効が指定される。これは、図５のステップＳ２０３→Ｓ５０１→Ｓ５０２の制御処理に対応する。
【００５３】
手順３．外部から、アドレス線Ａ２４〜Ａ１６：テストパターン、Ａ１５〜Ａ０：任意、チップセレクト信号ＣＳ：有効、ライトイネーブル信号ＷＥ：無効を入力する。
【００５４】
手順４．アウトプットイネーブル信号ＯＥ：有効としたときにデータ線Ｄ８〜Ｄ０に現れる値が、上記手順３のアドレス線Ａ２４〜Ａ１６と同じ値となっているかを確認する。データ線Ｄ１５〜Ｄ９はドントケアとなる。
【００５５】
手順５．転送試験中はテストモードに留まるため、必要回数だけアドレス線Ａ２４〜Ａ１６のテストパターンを変更して、手順３と４を繰り返す。例えば、アドレス線ごとに１ビットずつ値を変更してゆく等である。これは、図５のステップＳ５０３→Ｓ５０２→Ｓ５０３の繰返し制御処理に対応する。
【００５６】
手順６．手順４の確認結果が常に期待通りであれば、アドレス線３１０（図４参照）の接続は正しいと判断する。
【００５７】
図８は、図６のコントローラ３０６及び図７の選択回路４０２および３０８の部分のテストモード時のタイミングチャートである。
【００５８】
上記手順３〜５において、アドレス線Ａ２４〜Ａ１６の試験にテストパターン０ｘ０ＡＡ,０ｘ１５５（‘０’と‘１’の並びをずらしたもの）を使用している（図８（ａ））。チップセレクト信号ＣＳ（図８（ｂ））はアドレス指定期間で有効、ライトイネーブル信号ＷＥ（図８（ｃ））は無効とする。そして、アウトプットイネーブル信号ＯＥ（図８（ｄ）が有効となるタイミングで、データ線Ｄ８〜Ｄ０に現れるデータが、アドレス線Ａ２４〜Ａ１６から折り返された値となる。
【００５９】
図４、図５から図８に示される第１の実施形態により、例えば上位アドレス部分について、データアレイ３０２に対する消去、書込み、および読出しを伴わずに、アドレス線３１０の接続性試験を実現できる。この結果、接続性試験に要する時間を短縮することが可能となる。
【００６０】
また、ＣＦＩクエリモードにおいて定義されていない書き込み指定のコマンドシーケンス（アドレス：特定値Ａ、データ：特定値Ｄの書き込み指定）によってテストモードが起動される。このコマンドシーケンスは、将来的なＣＦＩの仕様変更によって定義される可能性ないので、ＣＦＩの仕様が変更されてもそれに抵触することなく、テストモードを実現することが可能となる。
【００６１】
このコマンドシーケンスは、ＣＦＩモード配下で指定されるため、外部ピンの拡張も必要とせず、汎用性を損なうことがない。
第１の実施形態においては、ＣＦＩ情報格納メモリ３０５の構成は、従来の構成から変えずに下位アドレスに対応した容量のままで上位アドレスの接続性試験が可能となる。このため、ＣＦＩ情報格納メモリ３０５を、上位アドレスの接続性試験に対応させるために大容量化する必要はない。
【００６２】
図９は、図４のフラッシュメモリ４０１の構成を有し、第２の実施形態におけるＣＦＩクエリモードからテストモードを起動する制御処理の概要を示すフローチャートである。図９において、図２および図５と同じ処理には同じステップ番号を付してある。
【００６３】
図９の処理が図５の処理と異なる点は、以下の点である。
まず、図５では、ＣＦＩクエリモードにおいて、ＣＦＩで定義されていないアドレス：特定値Ａ、データ：特定値Ｄの１つの組合せの書込み動作が指定されたときに、１つのテストモードに移行するように動作した（図５のステップＳ２０３→Ｓ５０１）。これに対して、図９では、アドレスとデータの複数組の組合せ（Ａ１，Ｄ１）（Ａ２，Ｄ２）・・・（Ａｎ，Ｄｎ）ごとに、それぞれ異なるテストモード１，２，・・・，ｎに遷移する。なお、チップセレクト信号ＣＳ：有効、ライトイネーブル信号ＷＥ：有効（書込み指定）については、図５の場合と同様である。この場合、コントローラ３０６は、上記各組合せをデコードすることにより、選択回路４０２に対して、アドレス線３１０の異なる特定範囲のアドレスを選択する信号である、異なるテストモード表示信号４０３−１，４０３−２，・・・，４０３−ｎを供給する。これと共に、内部のステートマシン３０７の状態がＣＦＩクエリモードを維持しながら、フラッシュメモリ４０１は、異なるテストモード１，２，・・・，ｎに遷移する。即ち、上記各組合せに応じて、図９のステップＳ２０３→Ｓ５０１−１→Ｓ５０２−１，ステップＳ２０３→Ｓ５０１−２→Ｓ５０２−２，・・・，ステップＳ２０３→Ｓ５０１−ｎ→Ｓ５０２−ｎというように制御される。
【００６４】
上記各テストモード１，２，・・・，ｎにおいて、外部から、アドレス線３１０にテスト用のアドレスが指定され、チップセレクト信号ＣＳ：有効、ライトイネーブル信号ＷＥ：無効（読出し指定）、アウトプットイネーブル信号ＯＥ：有効が与えられる。この結果、コントローラ３０６が、選択回路３０８に対して、データアレイ３０２からの入力でないほうの入力を選択する制御用信号３１２を供給する。この結果、選択回路４０２の出力が選択回路３０８の出力として選択される。また、各テストモードでは、選択回路４０２は、コントローラ３０６からの各テストモード表示信号に基づいて、アドレス線３１０の各テストモードに対応した特定範囲のアドレスを選択している。例えば、テストモードが２つの場合には、下位側アドレスと上位側アドレスである。この結果、アドレス線３１０のテストモードごとの特定範囲のアドレスが、選択回路４０２、選択回路３０８から入出力バッファ３０９およびデータ線３１１を介して、外部に出力される。すなわち、各テストモードごとに、図９のステップＳ５０２−１→Ｓ５０３−１，ステップＳ５０２−２→Ｓ５０３−２，・・・，ステップＳ５０２−ｎ→Ｓ５０３−ｎというように制御される。
【００６５】
以上の各テストモードごとのリード動作により、ＣＦＩクエリモード中の各テストモードにおいて、アドレス線３１０に指定されたテストモードごとの特定範囲のアドレスがデータ線３１１から読み出されるか否かを確認できる。この結果、テストモードごとに設定された各特定範囲のアドレスが正しく指定されているか否かのデバイス接続試験が可能となる。
【００６６】
なお、本実施形態では、リード指定が継続される限り、ＣＦＩクエリモード中のテストモードが継続的に維持され、アドレス線３１０に指定されたテストモードごとの特定範囲のアドレスの接続性のテストを続行することができる。
【００６７】
ＣＦＩクエリモード中の各テストモードにおいて、リセットを示すデータ：０ｘＦ０の書込みが指定されたときに、データアレイリードモードに戻る動作は、図５の場合と同様である。すなわち、図９のステップＳ５０２−１→Ｓ５０４→Ｓ２０１，ステップＳ５０２−２→Ｓ５０４→Ｓ２０１，・・・，ステップＳ５０２−ｎ→Ｓ５０４→Ｓ２０１というように制御される。
【００６８】
図１０は、第２の実施形態を実現する図４の構成におけるコントローラ３０６の構成図である。図１０において、図４、図６と同じ部分には同じ番号を付してある。この構成は、その動作概要が前述した図９のフローチャートで示される制御動作を実現する。
【００６９】
コマンドデコーダ１００１は外部からの入力が、チップセレクト信号ＣＳ：真、ライトイネーブル信号ＷＥ：真、アドレス線３１０上のアドレスとデータ線３１１上のデータがテストモードｉ（ｉは１〜ｎの何れか）に対応する組合せのときに、次のように動作する。すなわち、コマンドデコーダ６０３は、判定回路６０４−ｉのみに真、他の判定回路には偽の論理値を通知する。この結果、テストモードｉの判定回路６０４−ｉは、ステートデコーダ６０２からの入力が真、かつ、コマンドデコーダ６０３からの入力が真のときに、テストモードｉに対応するデータ保持回路６０５−ｉに対して、セット信号Ｓを出力する。つまり、ステートマシン３０７がＣＦＩクエリモードを示しているときに、外部からテストモードｉに対応するアドレスとデータの特定の組合せの書込み要求があったときに、テストモードｉを設定する動作となる。これにより、前述した図９のステップＳ２０３→Ｓ５０１−ｉ→Ｓ５０２−ｉの制御処理が実現される。
所定のテストモード時に、テストモードに遷移するための信号入力を行った場合も、現在のテストモードを維持する。
【００７０】
コマンドデコーダ６０３は、外部からの入力が、チップセレクト信号ＣＳ：真、ライトイネーブル信号ＷＥ：真、アドレス線３１０上のアドレス：任意、データ線３１１上のデータ：リセットコードのときに真となる別の出力を持つ。この出力は、非テストモードを設定するリセット信号Ｒとして、全てのデータ保持回路６０５−１〜６０５−ｎに対して指定される。これにより、どのテストモードにおいても、外部からリセットコードの書き込みが行われた際に、データ保持回路６０５−１〜６０５−ｎは非テストモードに設定される。このときステートマシン３７０は、標準のフラッシュメモリ同じく、データアレイリードモードに遷移する。これにより、前述した図９のステップＳ５０２−ｉ→Ｓ５０４→Ｓ２０１の制御処理が実現される。
【００７１】
各テストモードごとのデータ保持回路６０５−１〜６０５−ｎの出力は、各テストモード表示信号４０３−１〜４０３−ｎとしてコントローラ３０６の外部に出力される。この信号が接続される図４の選択回路４０２は、各テストモードごとの認識および非テストモードの認識が可能となる。
【００７２】
図１１は、第２の実施形態を実現する図４の構成における選択回路４０２および３０８の部分の構成図（その１）である。図１１において、図４と同じ部分には同じ番号を付してある。
【００７３】
ここで、図４のアドレス線３１０は、例えばＡ３１〜Ａ０の３２本によって構成され、図４のデータ線３１１は例えばＤ１５〜Ｄ０の１６本によって構成されるような場合を考える。
【００７４】
選択回路４０２の入力には、アドレス線３１０の全てが接続されている。各テストモードでは、選択回路４０２は、コントローラ３０６からの各テストモード表示信号４０３−１〜４０３−ｎに基づいて、アドレス線３１０の各テストモードに対応した特定範囲のアドレスを選択する。図１２は、第２の実施形態を実現する図４の構成における選択回路４０２および３０８の部分の構成図（その２）である。図１２は、図１１の構成において、選択回路４０２が、コントローラ３０６からの２つのテストモード表示信号４０３−１と４０３−２によって、下位アドレス線Ａ１５〜Ａ０または上位アドレス線Ａ３１〜Ａ１６の何れかを選択する構成である。このような構成により、アドレス線３１０のテストモードごとの特定範囲（例えば上位側または下位側の何れか）のアドレスが、選択回路４０２、選択回路３０８から入出力バッファ３０９およびデータ線３１１を介して、外部に出力される。この結果、各テストモードごとに、図９のステップＳ５０２−１→Ｓ５０３−１，ステップＳ５０２−２→Ｓ５０３−２，・・・，ステップＳ５０２−ｎ→Ｓ５０３−ｎの制御処理が実現される。
【００７５】
図４および図９から図１２に示される第２の実施形態では、テストモードを複数設定して複数のアドレス範囲の接続性試験をそれぞれ個別に実施することが可能になる。
また、第２の実施形態は、図４に示される第１の実施形態の場合と同様の効果を有する。即ち、通常、ＣＦＩクエリモードはＣＦＩ情報の読出し以外に用いられることはなく、他の状態への遷移の途中に現れることがない。またＣＦＩクエリモードにおける書込みは意味を持たない操作である。よって、デバイス情報の読出し以外の目的でＣＦＩクエリモードへ遷移、ＣＦＩクエリモードで受けつけない書込み操作でテストモードへ遷移、というシーケンスが、将来の共通仕様で別の意味に割り当てられる可能性は限りなく小さい。この結果、バウンダリスキャン用の端子等、テスト用のピンを増設することなく、図４のフラッシュメモリ４０１は、従来品とピン互換とすることが可能となる。また、図４のデータアレイ３０２に対する消去や書込みを伴わずに上位アドレスの試験が可能となるため、従来の方法と比較して試験時間が短縮される。さらに、データアレイ３０２に対する消去や書込みを伴わないため、試験中の偶発的な事故によるデータ消失が回避される。例えば、ＤＤＲメモリの空き領域等に退避したデータが、電源が落ちて消失するような事故が回避される。
【００７６】
上記第１または第２の実施形態における図６または図１０のコントローラ３０６の構成において、コマンドデコーダ６０３または１００１が、データ保持回路６０５または６０５−１〜６０５−ｎを非テストモードにリセットするタイミングは、外部からリセットの書込み指定をデコードしたタイミングであった。この場合に、ステートマシン３０７は、書込み指定に対する標準的なフラッシュメモリの動作に従って、データアレイリードモードになる。
【００７７】
このリセット指定に加えて、コマンドデコーダ６０３または１００１が、外部からのチップセレクト信号ＣＳ：有効、ライトイネーブル信号ＷＥ：無効（読出しコマンド）をデコードしたタイミングで、データ保持回路６０５または６０５−１〜６０５−ｎを非テストモードにリセットするような構成が採用されてもよい。この場合には、ステートマシン３０７は、読出し指定に対する標準的なフラッシュメモリの動作に従って、ＣＦＩクエリモードを維持するため、テストモードが解除されたときにＣＦＩクエリモードに戻るような制御が実現される。
【００７８】
この構成は、テストモード時の動作と、ＣＦＩクエリモードにおけるＣＦＩ情報の読み出しを交互に行いたいような場合に適用することが可能となる。
図１３は、第３の実施形態を実現する図４の構成におけるコントローラ３０６の構成図である。この構成において、３０７，６０１，６０２，６０３，６０４の部分は、図６の場合と同じである。
【００７９】
図６の場合と同様に、ステートマシン３０７がＣＦＩクエリモードを示しているときに、外部から特定のアドレスに対する特定のデータの書込み要求があったときに、判定回路６０４がテストモードを設定する動作となる。この場合、判定回路６０４は、カウンタ１３０１を初期化する。
【００８０】
カウンタデコーダ１３０２は、カウンタ１３０１の出力値が０でないときに、図７と同様の構成を有する選択回路４０２に、テストモードを設定するためのテストモード表示信号４０３を出力する。
【００８１】
コマンドデコーダ６０３は、外部から入力されるチップセレクト信号ＣＳ：有効、ライトイネーブル信号ＷＥ：無効（読出しコマンド）であるときに、カウンタ１３０１を減算させる。従って、テストモードに遷移した後、アドレス線３１０上のテストパターン読出しのためのリード動作が指定される毎に、カウンタ１３０１が減算され、リード動作が所定回数指定されるとカウンタ１３０１の出力値が０になる。この結果、カウンタデコーダ１３０２が出力するテストモード表示信号４０３が非テストモードに対応する値となる。この結果、テストモードが解除される。この場合、ステートマシン３０７は、読出し指定に対する標準的なフラッシュメモリの動作に従って、ＣＦＩクエリモードを維持するため、テストモードが解除されたときにＣＦＩクエリモードに戻るような制御が実現される。
【００８２】
一方、図６と同様に、コマンドデコーダ６０３は、外部からの入力が、チップセレクト信号ＣＳ：真、ライトイネーブル信号ＷＥ：真、アドレス線３１０上のアドレス：任意、データ線３１１上のデータ：リセットコードのときに真となる別の出力を持つ。この出力は、非テストモードを設定するリセット信号Ｒとして、カウンタ１３０１に対して指定される。これにより、ステートマシン３０７の状態によらず、外部からリセットコードの書き込みが行われた際に、カウンタ１３０１は０にリセットされ、非テストモードに設定される。このときステートマシン３７０は、リセット指定に対する標準のフラッシュメモリの動作に従って、データアレイリードモードに遷移する。
【００８３】
以上の図１３に示される第３の実施形態の構成によれば、アドレス線３１０上の所定個数のテストパターンに対してテストを行いたいというときに、カウンタでテスト回数をカウントした後に自動的にテストモードを解除してＣＦＩクエリモードに戻すことが可能となる。
【００８４】
以上説明した第１から第３の実施形態では、標準的なフラッシュメモリの構成に対して変更が必要となるのは、図４の選択回路４０２の追加と、コントローラ３０６の部分の機能拡張である。
【００８５】
テストモード表示信号４０３がテストモードを示しているときには、標準的なフラッシュメモリの動作に従って、コントローラ３０６の内部のステートマシン３０７は、ＣＦＩクエリモードとなっている。ステートマシン３０７がＣＦＩクエリモード以外のステートに遷移するためには、データアレイリードモードに遷移する必要があり、データアレイリードモードになるためには外部からリセットコードの書込みが必要である。第１から第３の実施形態のコントローラ３０６は、何れの場合もリセットコードの書込み要求を受けた場合には、非テストモードに遷移する。つまり、テストモードであり、かつステートマシン３０７がＣＦＩクエリモード以外の状態になることがない。
【００８６】
テストモード時にコントローラ３０６から出力される制御用信号３１２は、常にＣＦＩクエリモード時の動作となる。つまり、外部から読出し要求を受けると選択回路４０２の出力をデータ線３１１に載せるような制御が行われる。
【００８７】
非テストモード時には、選択回路３０８はデータアレイ３０２でない側（ＣＦＩ情報格納メモリ３０４側）を選択し、他の回路はすべての標準的なフラッシュメモリと同一の構成となるため、その動作も標準のフラッシュメモリと同一となる。
【００８８】
以上により、テストモードに遷移し、アドレス線３１０上のアドレスをデータ線３１１に転送することが可能なフラッシュメモリが実現される。
以上説明した第１〜第３の実施形態は、ＣＦＩクエリモードからテストモードに遷移して、フラッシュメモリ内部でアドレス線をデータ線に出力させる構成変更を行う例について説明した。このほか、ＣＦＩクエリモード以外に例えば、フラッシュメモリが持つオートセレクトモードを利用して、オートセレクトモードからテストモードに遷移して、同様の機能を実現させるような構成も可能である。
【００８９】
図１４は、オートセレクトモードを備える第４の実施形態におけるフラッシュメモリ１４０１の内部構成図である。基本的な構成は、前述した図４に示される構成とほぼ同じであるが、図１４では、図４のＣＦＩ情報格納メモリ３０４がオートセレクトモードにおけるデバイス情報を格納するデバイス情報格納メモリ１４０２に置き換えられた構成を有する。
【００９０】
すなわち、図１４に示されるフラッシュメモリ１４０１において、データアレイ３０２はデータを記憶する。アドレスデコーダ３０３は、データアレイ３０２に接続され、外部からアドレス線３１０を介して指定されるアドレスをデコードしてデータアレイ３０２に対してアドレス指定を行う。デバイス情報格納メモリ１４０２は、オートセレクトモードにおけるデバイス情報を格納する。アドレスデコーダ３０５は、デバイス情報格納メモリ１４０２に接続され、外部からアドレス線３１０を介して指定されるアドレスをデコードしてデバイス情報格納メモリ１４０２に対してアドレス指定を行う。コントローラ３０６は、外部からのチップセレクト信号ＣＳ、ライトイネーブル信号ＷＥ、およびアウトプットイネーブル信号ＯＥに基づいて、制御用信号を選択回路３０８及び入出力バッファ３０９に、テストモード表示信号４０３を選択回路４０２に供給する。コントローラ３０６は、論理回路によって構成され、フラッシュメモリ１４０１の状態を制御するステートマシン３０７を内蔵する。選択回路３０８は、コントローラ３０６からの制御用信号３１２に基づいて、データアレイ３０２または選択回路４０２の何れかの出力を選択する。入出力バッファ３０９は、データリード時には、選択回路３０８の出力を入力してバッファリングし、データ線３１１を介して外部に出力する。また、入出力バッファ３０９は、データライト時には、外部からデータ線３１１を介して入力されるデータをバッファリングし、データアレイ３０２に書き込む。選択回路４０２は、デバイス情報格納メモリ１４０２と選択回路３０８の間に配置され、デバイス情報格納メモリ１４０２の出力とアドレス線３１０のうちの上位側のアドレスを選択して選択回路３０８に与える。この選択回路４０２は、コントローラ３０６からのテストモード表示信号４０３によって制御される。
【００９１】
図１４に示される第４の実施形態のフラッシュメモリ１４０１におけるステートマシン３０７は、起動後は、データアレイ３０２からの読出しを行うデータアレイリードモードで動作する。
【００９２】
この状態で、オートセレクトモードで規定される所定のコマンドシーケンスが外部から与えられると、コントローラ３０６内のステートマシン３０７の状態が、オートセレクトモードに遷移する。
【００９３】
オートセレクトモードにおいて、外部から、アドレス線３１０にオートセレクトモード用のアドレスが指定され、チップセレクト信号ＣＳ：有効、ライトイネーブル信号ＷＥ：無効（読出し指定）、アウトプットイネーブル信号ＯＥ：有効が与えられる。この結果、アドレスデコーダ３０５がそのアドレスをデコードし、デバイス情報格納メモリ１４０２にそのアドレスを供給する。また、コントローラ３０６は、選択回路３０８に対して、データアレイ３０２からの入力でないほうの入力を選択する制御用信号３１２を供給する。さらに、コントローラ３０６は、テストモード表示信号４０３をインアクティブにして、選択回路４０２に対してデバイス情報格納メモリ１４０２の出力を選択させる。この結果、デバイス情報格納メモリ１４０２から読み出された上記指定アドレスに対応するデバイス情報が、選択回路４０２、選択回路３０８、入出力バッファ３０９、およびデータ線３１１を介して、外部に出力される。
【００９４】
この場合、デバイス情報格納メモリ１４０２の記憶容量は限られているため、例えば２５ビットのアドレス線３１０において有効なアドレスは、例えば下位１６ビットであり、例えば上位９ビットは‘０’固定またはドントケアとなる。
【００９５】
以上の動作により、期待されるデバイス情報がデータ線３１１から読み出されるか否かを確認することで、下位１６ビットによるアドレス指定に対するデバイス試験が可能となる。
【００９６】
オートセレクトモードにおいて、外部から、オートセレクトモードで規定されているリセット指定の書込みコマンドシーケンスとして、チップセレクト信号ＣＳ：有効、ライトイネーブル信号ＷＥ：有効（書込み指定）、データ線３１１にデータ：リセット値が与えられる。なお、アドレス線３１０に与えるアドレスは任意でよい。この結果、コントローラ３０６が上記各信号をデコードすることにより、内部のステートマシン３０７の状態が、データアレイリードモードに戻る。データアレイリードモードでは、コントローラ３０６は、選択回路３０８に対して、データアレイ３０２の出力を選択する制御用信号３１２を供給する。
【００９７】
オートセレクトモードにおいて、外部から、チップセレクト信号ＣＳ：有効、ライトイネーブル信号ＷＥ：有効（書込み指定）が図４のフラッシュメモリ４０１に与えられる。これと共に、外部からデータ線３１１とアドレス線３１０に、オートセレクトモードのリセット値以外の特定値が与えられる。この結果、コントローラ３０６は、上記各信号をデコードすることにより、選択回路４０２に対して、アドレス線３１０の特定範囲（例えば上位側）のアドレスを選択する信号であるテストモード表示信号４０３を供給する。これと共に、内部のステートマシン３０７の状態がオートセレクトモードを維持しながら、フラッシュメモリ１４０１はテストモードに遷移する。
【００９８】
上述のテストモードにおいては、オートセレクトモードも維持されている。このため、テストモードにおいて、通常のオートセレクトモードの場合と同様のリード指定が行われると、次のような動作が行われる。すなわち、外部から、アドレス線３１０にテスト用のアドレスが指定され、チップセレクト信号ＣＳ：有効、ライトイネーブル信号ＷＥ：無効（読出し指定）、アウトプットイネーブル信号ＯＥ：有効が与えられる。この結果、コントローラ３０６が、選択回路３０８に対して、データアレイ３０２側でない選択回路４０２の出力を選択する制御用信号３１２を供給する。また前述したように、テストモードでは、選択回路４０２は、アドレス線３１０の特定範囲（例えば上位側）のアドレスを選択している。この結果、アドレス線３１０の特定範囲（例えば上位側）のアドレスが、選択回路４０２、選択回路３０８から入出力バッファ３０９およびデータ線３１１を介して、外部に出力される。
【００９９】
以上のリード動作により、オートセレクトモード中のテストモードにおいて、アドレス線３１０に指定された特定範囲（例えば上位側）のアドレスがデータ線３１１から読み出されるか否かを確認できる。この結果、上記特定範囲（例えば上位側）のアドレスが正しく指定されているか否かのデバイス試験が可能となる。
【０１００】
以上の第１〜第４の実施形態に関して、さらに以下の付記を開示する。
（付記１）
標準仕様に準拠しコントローラを有するフラッシュメモリであって、
前記コントローラは、
ステートマシンと、
前記ステートマシンの状態が所定のモードであるかを判定するステートデコーダと、
外部ピンからの入力信号が特定のアドレスに対する特定の値の書き込みであることを検出するコマンドデコーダと、
前記ステートデコーダと前記コマンドデコーダとの判定に基づいて前記所定のモード配下でテストモードを設定するテストモード設定回路と、
を含むことを特徴とするフラッシュメモリ。
（付記２）
前記フラッシュメモリは、共通フラッシュメモリインタフェースの仕様に準拠し、
前記ステートデコーダは、前記共通フラッシュメモリインタフェースにおけるクエリモードであるか否かを示す状態を含む前記フラッシュメモリの状態を検出し、
前記テストモード設定回路は、
前記コマンドデコーダの出力と前記ステートデコーダの出力を入力とし、前記ステートデコーダが前記クエリモードを検出している状態と前記コマンドデコーダの検出出力とに基づいて前記テストモードになったことを判定する判定回路と、
前記判定回路の判定出力信号をセットし、前記テストモードになったことを示すテストモード信号を保持するデータ保持回路と、
を含む、
ことを特徴とする付記１に記載のフラッシュメモリ。
（付記３）
さらに共通フラッシュメモリインタフェース情報を格納するメモリと、
制御入力端子に前記テストモード設定回路の出力を入力し、第１の入力端子に前記メモリから出力される前記共通フラッシュメモリインタフェース情報を入力し、第２の入力端子にアドレス線上の上位のアドレス情報を入力し、前記制御入力端子への入力が前記テストモードでないときに、前記共通フラッシュメモリインタフェース情報を前記フラッシュメモリのデータのデータ線に出力し、前記制御入力端子への入力が前記テストモードのときに、前記上位のアドレス情報を前記データ線に出力する第１の選択回路とを、
具備することを特徴とする請求項２に記載のフラッシュメモリ。
（付記４）
さらにデータアレイを具備し、
前記コントローラからの制御用信号を入力する制御入力端子と、前記第１の選択回路の出力が接続される第１の入力端子と、前記データアレイの出力が接続される第２の入力端子とを具備し、前記第１の選択回路の出力または前記データアレイの出力を前記制御用信号によって切り替えて選択する第２の選択回路をさらに備える、
ことを特徴とする請求項３に記載のフラッシュメモリ。
（付記５）
前記第１の選択回路は、前記制御入力端子への入力が第１のテストモードのときに、読出しコマンドシーケンスで前記アドレス線に指定され前記第２の入力端子に入力する上位のアドレス情報を前記データ線に出力し、前記制御入力端子への入力が第２のテストモードのときに、前記読出しコマンドシーケンスで前記アドレス線に指定され前記第２の入力端子に入力する下位のアドレス情報を前記データ線に出力する、
ことを特徴とする付記３に記載のフラッシュメモリ。
（付記６）
前記テストモードは複数のテストモードからなり、
前記判定回路は、前記ステートデコーダが前記クエリモードを検出している状態であってかつ前記コマンドデコーダが前記クエリモードに対するリセット指定の書込みコマンドシーケンス以外の複数の書込みコマンドシーケンスを検出した状態をそれぞれ判定し、
前記データ保持回路は、前記判定回路の各判定出力によってそれぞれセットされて前記複数のテストモードのうち前記各判定出力に対応する１つを示すテストモード信号を出力する、
ことを特徴とする付記２に記載のフラッシュメモリ。
（付記７）
前記データ保持回路は、前記コマンドデコーダがさらに前記クエリモードに対するリセット指定の書込みコマンドシーケンスを検出したときにリセットされ、前記テストモード信号における前記テストモードを解除する、
ことを特徴とする付記２に記載のフラッシュメモリ。
（付記８）
前記データ保持回路は、前記テストモードを出力しているときに、読出しコマンドシーケンステスト結果を示すアドレス情報が１回出力されるごとにリセットされ、前記テストモードを解除する、
ことを特徴とする付記２に記載のフラッシュメモリ。
（付記９）
前記データ保持回路は、前記判定回路の判定出力によってセットされた後、前記コマンドデコーダがさらに読出しコマンドシーケンスを検出する回数をカウントするカウンタ回路であり、前記判定回路の判定出力によってセットされた後、前記カウントによる計数結果が所定値に達するまで前記テストモード信号を出力し、該所定値に達した時点でリセットされることにより、テスト結果を示すアドレス情報が所定回数出力される間前記テストモードを維持する、
ことを特徴とする付記２に記載のフラッシュメモリ。
（付記１０）
前記フラッシュメモリは、オートセレクトモードの仕様に準拠し、
前記ステートデコーダは、前記オートセレクトモードであるか否かを示す状態を含む前記フラッシュメモリの状態を検出し、
前記テストモード設定回路は、
前記コマンドデコーダの出力と前記ステートデコーダの出力を入力とし、前記ステートデコーダが前記オートセレクトモードを検出している状態と前記コマンドデコーダの検出出力とに基づいて前記テストモードになったことを判定する判定回路と、
前記判定回路の判定出力信号をセットし、前記テストモードになったことを示すテストモード信号を保持するデータ保持回路と、
を含む、
ことを特徴とする付記１に記載のフラッシュメモリ。
（付記１１）
所定のモードに準拠したフラッシュメモリの接続試験方法であって、
前記フラッシュメモリの状態が前記所定のモードであるかを判定し、
外部ピンからの入力信号が特定のアドレスに対する特定の値の書き込みであることを検出し、
前記フラッシュメモリの状態が前記所定のモードであって前記特定のアドレスに対する前記特定の値の書き込みが検出されたときに、前記所定のモード配下でテストモードを設定する、
ことを特徴とするフラッシュメモリの接続試験方法。
（付記１２）
前記テストモードでないときに、共通フラッシュメモリインタフェース情報を前記フラッシュメモリのデータ線に出力し、前記テストモードのときに、アドレス線上のアドレス情報を前記データ線に出力するように、選択的出力を行う、
ことを特徴とする付記１１に記載のフラッシュメモリの接続試験方法。
（付記１３）
標準仕様に準拠しコントローラを有するフラッシュメモリであって、
前記コントローラは、
前記フラッシュメモリが所定のモードであるかを判定する手段と、
前記所定のモードで規定されていない所定のコマンドシーケンスを検出する手段と、
前記フラッシュメモリの状態が前記所定のモードであって前記所定のコマンドシーケンスが検出されたときに、前記所定のモード配下で前記所定のモードで規定されていないモードを設定する手段と、
を含むことを特徴とするフラッシュメモリ。
（付記１４）
前記所定のモードは共通フラッシュメモリインタフェースにおけるクエリモードであり、
前記所定のモードで規定されていないモードはテストモードであり、
制御入力端子に前記テストモードを示す信号を入力し、第１の入力端子に共通フラッシュメモリインタフェース情報入力し、第２の入力端子にアドレス線上の上位側のアドレス情報を入力し、前記制御入力端子への入力が前記テストモードでないときに、前記共通フラッシュメモリインタフェース情報を前記フラッシュメモリのデータ線に出力し、前記制御入力端子への入力が前記テストモードのときに、前記の上位側のアドレス情報をデータ線に出力する選択回路をさらに含む、
ことを特徴とする付記１３に記載のフラッシュメモリ。
【符号の説明】
【０１０１】
１０１  制御ボード
１０２、３０１、４０１、１４０１  フラッシュメモリ
１０３  マイクロプロセッサ
１０４  メインメモリ
１０５  インタフェース回路（Ｉ／Ｆ）
１０６  制御端末
３０２  データアレイ
３０３、３０５  アドレスデコーダ
３０４  ＣＦＩ情報格納メモリ
３０６  コントローラ
３０７  ステートマシン
３０８，４０２  選択回路
３０９  入出力バッファ
３１０  アドレス線
３１１  データ線
３１２  制御用信号
４０３  テストモード信号
６０１  制御用出力生成論理回路
６０２  ステートデコーダ
６０３、１００１  コマンドデコーダ
６０４，６０４−１，・・・，６０４−ｎ  判定回路
６０５，６０５−１，・・・，６０５−ｎ  データ保持回路
１３０１  カウンタ
１３０２  カウンタデコーダ
１４０２  デバイス情報格納メモリ
【図１】
2011248952.tif 000003
【図２】
2011248952.tif 000004
【図３】
2011248952.tif 000005
【図４】
2011248952.tif 000006
【図５】
2011248952.tif 000007
【図６】
2011248952.tif 000008
【図７】
2011248952.tif 000009
【図８】
2011248952.tif 000010
【図９】
2011248952.tif 000011
【図１０】
2011248952.tif 000012
【図１１】
2011248952.tif 000013
【図１２】
2011248952.tif 000014
【図１３】
2011248952.tif 000015
【図１４】
2011248952.tif 000016