(57)【特許請求の範囲】
【請求項１】
メモリと、
前記メモリのピン数よりも少ないピン数を有し、ホスト機器が接続可能な端子と、
前記メモリの単体テストに使用され、前記ホスト機器が扱う信号と前記メモリが扱う信号との間の信号変換を行う回路と、
前記端子を介して前記ホスト機器と接続される第１のインタフェース部と、
前記メモリと接続される第２のインタフェース部と、
を具備するメモリシステムにおいて、
複数の動作モードとして、前記回路を使用しないで通常の動作を行う通常動作モードと、前記回路を使用して前記メモリの単体テストを行うテストモードとを有し、
前記ホスト機器から前記端子の所定のピンを通じて前記第１のインタフェース部に供給されるデータのデータフォーマットは、前記第２のインタフェース部に供給される情報を含む複数のビットを有し、当該複数のビットは所定の位置に第１のビットと第２のビットとを備え、
前記第１のビット及び前記第２のビットがそれぞれ予め定められた値を示すか否かに応じて、前記テストモードと前記通常動作モードとの間の遷移が行われるように構成されている、
ことを特徴とするメモリシステム。
【請求項２】
前記ホスト機器が扱う信号はシリアル信号であり、前記メモリが扱う信号はパラレル信号である
ことを特徴とする請求項１に記載のメモリシステム。
【請求項３】
前記回路は、
前記ホスト機器から前記端子経由で送信されてくるシリアルデータをパラレルデータに変換して前記メモリ側へ送出する第１の回路部分と、
前記メモリから送信されてくるパラレルデータをシリアルデータに変換して前記端子側へ送出する第２の回路部分と、
を含むことを特徴とする請求項１又は２に記載のメモリシステム。
【請求項４】
前記メモリシステムは、前記端子の所定のピンを通じて入力されるデータが特定コマンドを示す情報を含んでいる場合に、前記通常動作モードから前記テストモードへと移行する
ことを特徴とする請求項１乃至３のいずれか１項に記載のメモリシステム。
【請求項５】
前記メモリシステムは、前記端子の所定のピンを通じて入力されるデータの中の前記第１のビット及び前記第２のビットがそれぞれ予め定められた値を示す場合に、前記テストモードから前記通常動作モードへと移行する
ことを特徴とする請求項４に記載のメモリシステム。
【請求項６】
前記テストモードは、前記ホスト機器からの第１のコマンドに従って前記メモリにデータを入力する第１モードと、前記ホスト機器からの第２のコマンドに従って前記メモリからデータを出力する第２モードとを含む
ことを特徴とする請求項３乃至５のいずれか１に記載のメモリシステム。
【請求項７】
前記回路は、前記端子の所定のピンを通じて入力される信号に従って前記第１モードと前記第２モードとを切り替える
ことを特徴とする請求項６に記載のメモリシステム。
【請求項８】
前記回路は、前記第１モード時には前記端子の所定のピンを通じてデータを入力し、前記第２モード時には前記端子の同一ピンを通じてデータを出力する
ことを特徴とする請求項６又は７に記載のメモリシステム。
【請求項９】
前記回路は、前記第１モード時に前記端子の所定のピンを通じて入力されるクロックに従って前記メモリ側へパラレルデータを送出する
ことを特徴とする請求項６乃至８のいずれか１項に記載のメモリシステム。
【請求項１０】
前記回路は、前記第１モード時には前記端子の所定のピンを通じて入力される信号をライトイネーブル信号として前記メモリへ送出し、前記第２モード時には前記端子の同一ピンを通じて入力される信号をリードイネーブル信号として前記メモリへ送出することを特徴とする請求項６乃至９のいずれか１項に記載のメモリシステム。
【請求項１１】
前記端子のピン配置は、ＳＰＩ（Serial Peripheral Interface）に準拠したピン配置である
ことを特徴とする請求項１乃至１０のいずれか１項に記載のメモリシステム。
【請求項１２】
前記端子は、
前記ホスト機器からチップセレクト信号を受信可能な第１ピンと、
前記ホスト機器へ第１信号を出力可能な第２ピンと、
前記ホスト機器から第２信号を受信可能な第３ピンと、
前記ホスト機器からクロックを受信可能な第４ピンと、
を有することを特徴とする請求項１乃至１１のいずれか１項に記載のメモリシステム。
【請求項１３】
前記回路は、第１半導体チップに実装され、
前記メモリは、前記第１半導体チップと異なる第２半導体チップに実装される
ことを特徴とする請求項１乃至１２のいずれか１項に記載のメモリシステム。
【請求項１４】
前記回路及び前記メモリは、同一の半導体チップ内に実装される
ことを特徴とする請求項１乃至１２のいずれか１項に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、メモリシステムに関する。
【背景技術】
【０００２】
記憶デバイスとして、ＮＡＮＤ型フラッシュメモリが広く知られている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Toshiba Datasheet, TC58NVG0S3HTA00, 2012年8月31日
【非特許文献２】Toshiba Datasheet, TC58BVG0S3HTA00, 2012年8月31日
【発明の概要】
【発明が解決しようとする課題】
【０００４】
メモリのピン数よりも少ないピン数の端子を通じて該メモリのテストを行えるメモリシステムを提供する。
【課題を解決するための手段】
【０００５】
実施形態のメモリシステムは、メモリと、前記メモリのピン数よりも少ないピン数を有し、ホスト機器が接続可能な端子と、前記メモリの単体テストに使用され、前記ホスト機器が扱う信号と前記メモリが扱う信号との間の信号変換を行う回路と、前記端子を介して前記ホスト機器と接続される第１のインタフェース部と、前記メモリと接続される第２のインタフェース部と、を具備するメモリシステムにおいて、複数の動作モードとして、前記回路を使用しないで通常の動作を行う通常動作モードと、前記回路を使用して前記メモリの単体テストを行うテストモードとを有し、前記ホスト機器から前記端子の所定のピンを通じて前記第１のインタフェース部に供給されるデータのデータフォーマットは、前記第２のインタフェース部に供給される情報を含む複数のビットを有し、当該複数のビットは所定の位置に第１のビットと第２のビットとを備え、前記第１のビット及び前記第２のビットがそれぞれ予め定められた値を示すか否かに応じて、前記テストモードと前記通常動作モードとの間の遷移が行われるように構成されている。
【図面の簡単な説明】
【０００６】
【図１】図１は、第１実施形態に係るメモリシステムの外観図である。
【図２】図２は、第１実施形態に係るメモリシステムの断面図である。
【図３】図３は、第１実施形態に係るメモリシステムの外部端子の機能を示すダイアグラムである。
【図４】図４は、第１実施形態に係るメモリシステムの外観図である。
【図５】図５は、第１実施形態に係るメモリシステムの外部端子の機能を示すダイアグラムである。
【図６】図６は、第１実施形態に係るメモリシステムのブロック図である。
【図７】図７は、第１実施形態に係る半導体記憶装置のブロック図である。
【図８】図８は、第１実施形態に係るメモリシステムの読み出し時における各種信号のタイミングチャートである。
【図９】図９は、第１実施形態に係るメモリシステムの読み出し時における各種信号のタイミングチャートである。
【図１０】図１０は、第１実施形態に係るメモリシステムの読み出し時における各種信号のタイミングチャートである。
【図１１】図１１は、第１実施形態に係るメモリシステムの読み出し時における各種信号のタイミングチャートである。
【図１２】図１２は、第１実施形態に係るメモリシステムの書き込み時における各種信号のタイミングチャートである。
【図１３】図１３は、第１実施形態に係るメモリシステムの書き込み時における各種信号のタイミングチャートである。
【図１４】図１４は、第１実施形態に係るメモリシステムの書き込み時における各種信号のタイミングチャートである。
【図１５】図１５は、第１実施形態に係るメモリシステムの消去時における各種信号のタイミングチャートである。
【図１６】図１６は、第１実施形態に係るメモリシステムの消去時における各種信号のタイミングチャートである。
【図１７】図１７は、第１実施形態に係るメモリシステムにおいてＮＡＮＤ型フラッシュメモリの単体テストを行う際に使用されるテスト回路を搭載したシステム構成の例を示すブロック図である。
【図１８】図１８は、第１実施形態に係るメモリシステムの動作モードを説明するための概念図である。
【図１９】図１９は、第１実施形態に係るメモリシステムに搭載されるテスト回路を主に示す構成図である。
【図２０】図２０は、第１実施形態に係るメモリシステムに搭載されるテスト回路に入力される入力データフォーマット及び該テスト回路から出力される出力データフォーマットを示す模式図である。
【図２１】図２１は、第１実施形態に係るメモリシステムのテストモード時におけるライト動作を示すタイミングチャートである。
【図２２】図２２は、第１実施形態に係るメモリシステムのテストモード時におけるリード動作を示すタイミングチャートである。
【図２３】図２３は、第１及び第２実施形態の変形例に係るメモリシステムのブロック図である。
【図２４】図２４は、第１及び第２実施形態に係るメモリシステムを利用したシステムの概念図である。
【図２５】図２５は、第１及び第２実施形態に係るメモリシステムを利用したシステムの概念図である。
【発明を実施するための形態】
【０００７】
以下、図面を参照して実施形態について説明する。なお、以下の説明において、同一の機能及び構成を有する構成要素については、共通する参照符号を付す。
【０００８】
１．第１実施形態  
第１実施形態に係るメモリシステムについて説明する。
【０００９】
１．１  構成について  
１．１．１  メモリシステムの全体構成について  
まず、本実施形態に係るメモリシステムの大まかな全体構成について、図１及び図２を用いて説明する。図１は、本実施形態に係るメモリシステムの外観図であり、特に上面から見た様子を示し、図２は図１における２−２線に沿った断面図である。
【００１０】
図示するように、メモリシステム１は２つの半導体チップ１００、２００を含む。半導体チップ（メモリチップ）１００はＮＡＮＤ型フラッシュメモリ等の半導体メモリを含み、半導体チップ２００（コントローラチップ）は、メモリチップ１００を制御するコントローラを含む。これらの半導体チップ１００及び２００はリードフレーム３００に実装され、更に樹脂３５０によって封止されてパッケージングされている。
【００１１】
より具体的には、図２に示すように、リードフレーム３００のダイパッド３１０上にメモリチップ１００が搭載され、メモリチップ１００上にコントローラチップ２００が重ねられている。
【００１２】
コントローラチップ２００は、例えばボンディングワイヤ３４０により、リードフレームのインナーリード３２０に接続され、更に図示せぬボンディングワイヤによりメモリチップ１００とも接続されている。そして、メモリチップ１００、コントローラチップ２００、ダイパッド３１０、インナーリード３２０、及びボンディングワイヤ３４０が、例えば樹脂３５０によって封止されている。
【００１３】
インナーリード３２０は、樹脂３５０外部に露出されたアウターリード３３０に接続されている。そしてアウターリード３３０は、メモリシステム１の外部接続端子（外部接続ピン）として機能する。図１の例であると、第１ピンから第１６ピンまでの１６個の外部接続端子が用意されている。そしてメモリシステム１は、これらのピンを介して、メモリシステム１を制御する（より具体的には、メモリチップにアクセスする）ホスト機器と通信する。
【００１４】
図３は、各ピンの機能を示すダイアグラムである。図示するように、第１ピンは、制御信号／ＨＯＬＤの入力用、またはシリアルデータＳＯ３の出力用に用いられる。制御信号／ＨＯＬＤは、ホスト機器とメモリシステム１との間の通信を一時的に停止する際にアサート（“Ｌ”レベル）される。第２ピンは、電源電圧Ｖccを受信する。第３ピンから第６ピン、及び第１１ピンから第１４ピンは未使用ピンであり、例えば将来的に何らかの信号やデータの送受信が必要になった際に使用することが出来る。第７ピンは、チップセレクト信号／ＣＳを受信する。チップセレクト信号／ＣＳは、メモリチップ１００及びコントローラチップ２００を活性化させるための信号（言い換えれば、メモリシステム１にアクセスする際に活性化される信号）であり、例えばホスト機器がメモリシステム１にコマンドを入力するタイミングでアサート（“Ｌ”レベル）される。第８ピンは、シリアルデータ（ＳＯまたはＳＯ１）の出力用に用いられる。第９ピンは、制御信号／ＷＰの入力用、またはシリアルデータ（ＳＯ２）の出力用に用いられる。制御信号／ＷＰはライトプロテクト信号であり、メモリチップへの書き込みを禁止する際にアサート（“Ｌ”レベル）される。第１０ピンは、基準電位Ｖssを受信する。第１５ピンは、シリアルデータ（ＳＩ）の入力用、またはシリアルデータ（ＳＯ０）の出力用に用いられる。第１６ピンは、シリアルクロック信号ＳＣＫを受信する。
【００１５】
上記ピン構成は、ＳＰＩ（Serial Peripheral Interface）に準拠している。そして、第１ピン、第８ピン、第９ピン、及び第１５ピンをシリアルデータ出力用として任意に選択することで、１倍速、２倍速、または４倍速でデータをホスト機器へ出力することが出来る。
【００１６】
図４は、図１とは別のパッケージ構成の例を示している。図４の例では、第１ピンから第８ピンまでの８個の外部接続端子が設けられている。図５は、図４の例における各ピンの機能を示すダイアグラムである。
【００１７】
図示するように、第１ピンはチップセレクト信号／ＣＳを受信し、第２ピンはシリアルデータＳＯ、ＳＯ１を出力し、第３ピンはライトプロテクト信号／ＷＰを受信、またはシリアルデータＳＯ２を出力し、第４ピンは基準電位Ｖssを受信し、第５ピンはシリアルデータＳＩを受信、またはシリアルデータＳＯ０を出力し、第６ピンはシリアルクロックを受信し、第７ピンは制御信号／ＨＯＬＤを受信、またはシリアルデータＳＯ３を出力し、第８ピンは電源電圧Ｖccを受信する。  
この場合でも、ピン構成はＳＰＩに準拠している。
【００１８】
図６は、メモリシステム１の内部構成を示す機能ブロック図である。以下では、メモリチップ１００をＮＡＮＤ型フラッシュメモリ１００と呼び、コントローラチップ２００を単にコントローラ２００と呼ぶ。
【００１９】
図示するように、メモリシステム１はＮＡＮＤ型フラッシュメモリ１００とコントローラ２００とを備えている。
【００２０】
ＮＡＮＤ型フラッシュメモリ１００は、複数のメモリセルを備え、データを不揮発に記憶する。コントローラ２００は、ＮＡＮＤバスによってＮＡＮＤ型フラッシュメモリ１００に接続され、ＳＰＩバスによってホスト機器５００に接続される。そしてコントローラ２００は、ＮＡＮＤ型フラッシュメモリ１００へのアクセスを制御する。
【００２１】
ＮＡＮＤバスは、ＮＡＮＤインターフェースに従った信号の送受信を行う。この信号の具体例は、チップイネーブル信号／ＣＥ、アドレスラッチイネーブル信号ＡＬＥ、コマンドラッチイネーブル信号ＣＬＥ、ライトイネーブル信号／ＷＥ、リードイネーブル信号／ＲＥ、レディ・ビジー信号／ＲＢ、入出力信号Ｉ／Ｏ、及びライトプロテクト信号／ＷＰである。
【００２２】
信号／ＣＥはlowレベルでアサートされ、ＮＡＮＤ型フラッシュメモリ１００を活性化させるための信号であり、ＮＡＮＤ型フラッシュメモリ１００にアクセスする際にアサートされる。信号ＣＬＥ及びＡＬＥは、ＮＡＮＤ型フラッシュメモリ１００への入力信号Ｉ／Ｏがそれぞれコマンド及びアドレスであることをＮＡＮＤ型フラッシュメモリ１００に通知する信号である。信号／ＷＥはlowレベルでアサートされ、入力信号Ｉ／ＯをＮＡＮＤ型フラッシュメモリ１００に取り込ませるための信号である。信号／ＲＥもlowレベルでアサートされ、ＮＡＮＤ型フラッシュメモリ１００から出力信号Ｉ／Ｏを読み出すための信号である。レディ・ビジー信号／ＲＢは、ＮＡＮＤ型フラッシュメモリ１００がレディ状態（コントローラ２００からの命令を受信出来る状態）であるか、それともビジー状態（コントローラ２００からの命令を受信出来ない状態）であるかを示す信号であり、lowレベルがビジー状態を示す。入出力信号Ｉ／Ｏは、例えば８ビット（ｎ＝８）の信号である。そして入出力信号Ｉ／Ｏは、ＮＡＮＤ型フラッシュメモリ１００とコントローラ２００との間で送受信されるデータの実体であり、コマンド、アドレス、書き込みデータ、及び読み出しデータ等である。信号／ＷＰは、ＮＡＮＤ型フラッシュメモリ１００への書き込みを禁止するための信号である。
【００２３】
ＳＰＩバスは、図３及び図５で説明した通りである。
【００２４】
１．１．２  コントローラ２００の構成について  
次に、コントローラ２００の構成の詳細につき、引き続き図６を用いて説明する。図示するようにコントローラ２００は、ホスト入出力回路２１０、ホストインターフェース回路２２０、ＮＡＮＤインターフェース回路２３０、ＮＡＮＤ入出力回路２４０、シーケンサ（ステートマシン）２５０、データバッファ２６０、２７０、ステータスレジスタ２８０、アドレスレジスタ２９０、及び周辺回路６００を備えている。
【００２５】
ホスト入出力回路２１０は、ホスト機器５００との間で送受信される信号のバッファとして機能する。信号ＳＣＫ、ＳＩ、／ＣＳ、／ＨＯＬＤ、及び／ＷＰはまずホスト入出力回路２１０で受信され、その後、ホストインターフェース回路２２０に出力される。
【００２６】
ホストインターフェース回路２２０は、信号ＳＣＫに同期して信号ＳＩを内部に取り込む。またホストインターフェース回路２２０は、信号ＳＣＫに同期して出力される信号ＳＯを、ホスト入出力回路２１０を介してホスト機器５００へ送信する。
【００２７】
ホストインターフェース回路２２０は、ホスト入出力回路２１０を介したホスト機器５００との間の信号の送受信制御を司る。またホストインターフェース回路２２０は、シリアル／パラレル変換器及びパラレル／シリアル変換器として機能する。例えば、ホスト機器５００からの入力信号ＳＩをシリアル信号からパラレル信号に変換し、ＮＡＮＤ型フラッシュメモリ１００から読み出されたデータをパラレル信号からシリアル信号に変換する。更にホストインターフェース回路２２０は、入力信号ＳＩがコマンドであった場合にコマンドデコーダとして機能し、受信したコマンドをデコードする。そしてデコード結果を例えばシーケンサ２５０に出力する。
【００２８】
データバッファ２６０、２７０は、ホスト機器５００から受信した書き込みデータを、ホストインターフェース回路２２０を介して一時的に保持する。更に、ＮＡＮＤ型フラッシュメモリ１００から読み出されたデータを、ＮＡＮＤインターフェース回路２３０を介して一時的に保持する。
【００２９】
ステータスレジスタ２８０は、メモリシステム１の種々のステータス情報を保持する。例えば、後述する特徴テーブルを保持する。
【００３０】
アドレスレジスタ２９０は、ホスト機器５００から受信したアドレスを、ホストインターフェース回路２２０を介して保持する。
【００３１】
ＮＡＮＤインターフェース回路２３０は、ＮＡＮＤ入出力回路２４０を介したＮＡＮＤ型フラッシュメモリ１００との間の信号の送受信制御を司る。そしてＮＡＮＤインターフェース回路２３０は、シーケンサ２５０の命令に従って、ＮＡＮＤインターフェースに準拠した各種コマンドを発行し、アドレスレジスタ２９０内のアドレスと共にＮＡＮＤ入出力回路２４０を介してＮＡＮＤ型フラッシュメモリ１００へ出力する。データの書き込み時には、データバッファ２６０及び／または２７０内のデータを、ＮＡＮＤ入出力回路２４０を介してＮＡＮＤ型フラッシュメモリ１００へ出力する。更にデータの読み出し時には、ＮＡＮＤ型フラッシュメモリ１００から読み出されたデータを、データバッファ２６０及び／または２７０に転送する。
【００３２】
ＮＡＮＤ入出力回路２４０は、ＮＡＮＤ型フラッシュメモリ１００との間で送受信される信号のバッファとして機能する。また、ＮＡＮＤインターフェース回路２３０の命令に従って、信号／ＣＥ、ＣＬＥ、ＡＬＥ、／ＷＥ、／ＲＥ、／ＷＰをアサートまたはデアサートする。更に、データの読み出し時には、信号ＩＯ（読み出しデータ）を一時的に保持し、ＮＡＮＤインターフェース回路２３０へ転送し、書き込み時には信号ＩＯ（書き込みデータ）を一時的に保持し、ＮＡＮＤ型フラッシュメモリ１００へ送信する。また、ＮＡＮＤ型フラッシュメモリ１００からレディ・ビジー信号／ＲＢを受信し、これをＮＡＮＤインターフェース回路２３０へ転送する。
【００３３】
シーケンサ２５０は、コントローラ２００全体の動作を制御する。例えば、ホスト機器５００からデータの読み出し要求があった際には、ＮＡＮＤインターフェース回路２３０に対して読み出し動作を実行するためのシーケンスを実行するよう命令する。またホスト機器５００からデータの書き込み要求があった際には、ＮＡＮＤインターフェース回路２３０に対して読み出し動作を実行するためのシーケンスを実行するよう命令する。更に、ＮＡＮＤ型フラッシュメモリ１００から受信したステータス情報に従って、ステータスレジスタ２８０内の特徴テーブルを更新する。
【００３４】
周辺回路６００は、外部から電源電圧Ｖccを受信し、各回路ブロックへ転送すると共に、コントローラ２００の動作に必要なその他の制御を行う。
【００３５】
１．１．３  ＮＡＮＤ型フラッシュメモリ１００の構成について  
次に、ＮＡＮＤ型フラッシュメモリ１００の構成について、図７を用いて説明する。図７は、ＮＡＮＤ型フラッシュメモリ１００のブロック図である。
【００３６】
図示するようにＮＡＮＤ型フラッシュメモリ１００は、メモリセルアレイ１１０、ロウデコーダ１２０、センスアンプ１３０、データレジスタ１４０、カラムデコーダ１５０、ＥＣＣ回路４００、ステータスレジスタ４１０、アドレスレジスタ４２０、コマンドレジスタ４３０、制御回路４４０、電圧発生回路４５０、入出力制御回路４６０、ロジック回路４７０、及びデータレジスタ４８０を備えている。
【００３７】
メモリセルアレイ１１０は、ロウ及びカラムに対応付けられた複数の不揮発性のメモリセルを備えている。そして、同一行にあるメモリセルは同一のワード線に接続され、同一列にあるメモリセルは同一のビット線に接続される。データの読み出し及び書き込みは、同一のワード線に接続された複数のメモリセルに対して一括して行われる。この単位をページと呼ぶ。１ページ分のデータは、正味のデータと管理データとを含む。正味のデータは、セクタと呼ばれる単位で管理される。例えば本例では、１ページは４つのセクタを含み、各セクタは５１２バイトのデータサイズを有する。管理データは、例えばエラー訂正のためのＥＣＣデータ（パリティ）を含む。エラー訂正はセクタ毎に行われる。従って管理データは、セクタ毎に用意されたＥＣＣデータを含む。また、データの消去は、複数のページ単位で一括して行われる。この単位をブロックと呼ぶ。
【００３８】
ロウデコーダ１２０は、メモリセルアレイ１１０のロウ方向を指定するロウアドレスをデコードする。そして、デコード結果に応じてワード線を選択し、データの書き込み、読み出し、及び消去に必要な電圧を印加する。
【００３９】
センスアンプ１３０は、データの読み出し時には、メモリセルアレイ１１０から読み出されたデータをセンスし、データレジスタ１４０に転送する。データの書き込み時には、データレジスタ１４０内のデータをメモリセルアレイ１１０に転送する。
【００４０】
データレジスタ１４０は、１ページ分の書き込みデータまたは読み出しデータを一時的に保持する。
【００４１】
カラムデコーダ１５０は、メモリセルアレイ１１０のカラム方向を指定するカラムアドレスをデコードする。そしてデコード結果に応じて、書き込み時にはデータをデータレジスタに転送し、読み出し時にはデータレジスタからデータを読み出す。
【００４２】
ＥＣＣ回路４００は、エラー検出及びエラー訂正処理を行う。より具体的には、データの書き込み時には、コントローラ２００から受信したデータに基づいて、セクタ毎にパリティを生成し、このパリティと正味のデータとをデータレジスタ１４０に転送する。データの読み出し時には、データレジスタ１４０から転送されたデータに含まれるパリティに基づき、セクタ毎にシンドロームを生成し、エラーの有無を検出する。そしてエラーが検出された際には、そのビット位置を特定し、エラーを訂正する。１セクタにつき訂正可能なエラービット数は、本例では例えば１セクタあたり８ビットである。またＥＣＣ回路４００は、各セクタにおいて検出されたエラービット数を、ステータス情報としてステータスレジスタ４１０に出力可能である。
【００４３】
ロジック回路４７０は、コントローラ２００から信号／ＣＥ、ＣＬＥ、ＡＬＥ、／ＷＥ、／ＲＥ、及び／ＷＰを受信する。
【００４４】
入出力制御回路４６０は、信号ＩＯ［ｎ：０］を受信する。そして入出力制御回路４６０は、信号ＩＯがアドレスであった場合（ＡＬＥ＝“Ｈ”の場合）には、これをアドレスレジスタ４２０に保持させる。また信号ＩＯがコマンドであった場合（ＣＬＥ＝“Ｈ”の場合）には、これをコマンドレジスタ４３０に保持させる。更に信号ＩＯがデータであった場合（ＡＬＥ＝ＣＬＥ＝“Ｌ”の場合）には、これをデータレジスタ４８０に保持させる。
【００４５】
ステータスレジスタ４１０は、ＮＡＮＤ型フラッシュメモリ１００の各種ステータス情報を保持する。ステータス情報には、前述のＥＣＣ回路４００から与えられるエラービット数、また制御回路４４０から与えられる書き込み動作及び消去動作が成功（パス）したか失敗（フェイル）したかを示す情報等が含まれる。
【００４６】
制御回路４７０は、コマンドレジスタ４３０に保持されたコマンドと、ロジック回路４７０に入力された各種信号に基づいて、ＮＡＮＤ型フラッシュメモリ１００全体を制御する。また制御回路４７０は、レディ・ビジー信号／ＲＢを発生して、コントローラ２００へ出力する。
【００４７】
電圧発生回路４５０は、制御回路４７０の命令に基づいて、データの書き込み、読み出し、及び消去動作に必要な電圧を生成し、これをメモリセルアレイ１１０、ロウデコーダ１２０、及びセンスアンプ１３０に供給する。
【００４８】
１．２  動作について  
次に、本実施形態に係るメモリシステムにおけるデータの読み出し動作、書き込み動作、及び消去動作につき、ＳＰＩバス及びＮＡＮＤバスで送受信される信号に着目して、以下簡単に説明する。
【００４９】
１．２．１  読み出し動作  
まず、読み出し動作について説明する。読み出し動作は、大まかには以下の３ステップを含む。すなわち、
（１）ＮＡＮＤ型フラッシュメモリからのデータ読み出し：本動作により、ＮＡＮＤ型フラッシュメモリ１００からコントローラ２００にデータが読み出される。  
（２）特徴テーブル読み出し（Get featureと呼ぶことがある）：本動作により、メモリシステム１がビジー状態であるかレディ状態であるか、すなわち上記（１）の動作が完了したか否かが判定される。  
（３）コントローラ２００からのデータ読み出し：本動作により、（１）でコントローラ２００に読み出されたデータがホスト機器５００に読み出される。
【００５０】
図８は、上記（１）実行時におけるＳＰＩバス上の各種信号のタイムチャートである。図示するようにホスト機器５００は、信号／ＣＳをアサートすると共に、第１読み出しコマンドＣＭＤ＿ＲＤ１を信号ＳＩとして発行し、更にクロックＳＣＫを発行する。
【００５１】
コントローラ２００のホストインターフェース回路２２０は、信号／ＣＳがアサートされて最初のクロックＳＣＫを受信した際の信号ＳＩをコマンドとして認識する。このコマンドは、例えば８クロックサイクルにわたって入力される８ビット信号である。第１読み出しコマンドＣＭＤ＿ＲＤ１を受信したことで、シーケンサ２５０はデータ読み出しシーケンスを開始する。
【００５２】
引き続きホスト機器５００は、例えば８クロックサイクルにわたってダミービットＤＭＹ＿ＢＩＴをコントローラ２００へ送信し、その後例えば１６サイクルにわたってアドレスＡＤＤをコントローラ２００へ送信する。そしてアドレスＡＤＤの送信後、ホスト機器５００は信号／ＣＳをデアサートする。アドレスＡＤＤは、ＮＡＮＤ型フラッシュメモリ１００におけるブロック及びページを指定するアドレスであり、アドレスレジスタ２９０に保持される。
【００５３】
このように、特定のコマンドを受信した際に、その後にどのような信号が入力されるか（コマンドシーケンス）は予め定められている。つまりコントローラ２００は、例えば第１読み出し命令を受信した際には、その後の８クロックサイクルで入力される信号ＳＩは意味の無いダミーデータであり、その後の１６クロックサイクルで入力される信号ＳＩが、実体的なアドレス信号であることを把握している。
【００５４】
上記（１）の動作に引き続いて上記（２）の動作が実行される。図９は、上記（２）実行時におけるＳＰＩバス上の各種信号のタイムチャートである。図示するようにホスト機器５００は、信号／ＣＳを再度アサートすると共に、Get featureコマンドＣＭＤ＿ＧＦを信号ＳＩとして発行し、更にクロックＳＣＫを発行する。
【００５５】
引き続きホスト機器５００は、例えば８クロックサイクルにわたってアドレスＡＤＤをコントローラ２００へ送信する。このアドレスＡＤＤは、特徴テーブル内のアドレスであり、当然ながらレディ・ビジー情報が格納された領域を指定するアドレスである。コントローラ２００では、アドレスＡＤＤの受信後、例えばシーケンサ２５０の命令に従ってホストインターフェース回路２２０がステータスレジスタ２８０から特徴テーブルの指定のエントリを読み出し、これを８サイクルにわたって８ビットのステータスデータＳＴ＿ＤＡＴとしてホスト機器５００に送信する。このステータスデータＳＴ＿ＤＡＴには、レディ・ビジー情報が含まれている。そしてステータスデータＳＴ＿ＤＡＴの受信後、ホスト機器５００は信号／ＣＳをデアサートする。
【００５６】
受信したステータスデータＳＴ＿ＤＡＴにおいて、メモリシステム１がレディ状態であることが示されていれば、上記（３）の動作が実行される。図１０は、上記（３）実行時におけるＳＰＩバス上の各種信号のタイムチャートである。図示するようにホスト機器５００は、信号／ＣＳをアサートすると共に、第２読み出しコマンドＣＭＤ＿ＲＤ２を信号ＳＩとして発行し、更にクロックＳＣＫを発行する。
【００５７】
引き続きホスト機器５００は、例えば４クロックサイクルにわたってダミービットＤＭＹ＿ＢＩＴをコントローラ２００へ送信し、その後例えば１２サイクルにわたってアドレスＡＤＤをコントローラ２００へ送信する。このアドレスＡＤＤは、コントローラ２００において、データバッファ２６０または２７０における領域を指定するためのアドレスであり、ＮＡＮＤフラッシュメモリ１００におけるページ内のカラムを指定するアドレスである。アドレスＡＤＤは、アドレスレジスタ２９０に保持される。すると、例えばシーケンサ２５０の制御に従い、ホストインターフェース回路２２０はデータバッファ２６０または２７０からデータを読み出す。そして、８クロックサイクル経過の後、ホストインターフェース回路２２０は、データバッファ２６０または２７０から読み出したデータＲＤ＿ＤＡＴをホスト機器５００へ送信する。
【００５８】
図１１は、上記（１）の動作時におけるＮＡＮＤバス上の各種信号のタイムチャートである。第１読み出しコマンドＣＭＤ＿ＲＤ１を受信したコントローラ２００では、例えばシーケンサ２３０の制御に従って、ＮＡＮＤインターフェース回路２３０がアドレス入力コマンド“００ｈ”を発行し、ＮＡＮＤ型フラッシュメモリ１００へ送信する。引き続き、例えば５サイクルにわってアドレスＡＤＤをＮＡＮＤ型フラッシュメモリ１００へ送信し、その後読み出しコマンド“３０ｈ”を発行して、これをＮＡＮＤ型フラッシュメモリ１００へ送信する。なお、このアドレスＡＤＤは、図８及び図１０で示された動作においてアドレスレジスタ２９０に保持されたブロック、ページ、及びカラムを示すアドレスを含む。
【００５９】
コマンド“３０ｈ”に応答して、ＮＡＮＤ型フラッシュメモリ１００内では、メモリセルアレイ１１０からのデータの読み出し動作が開始され、ＮＡＮＤ型フラッシュメモリ１００はビジー状態（／ＲＢ＝“Ｌ”）となる。
【００６０】
データのメモリセルアレイ１１０からの読み出しが完了すると、ＮＡＮＤ型フラッシュメモリ１００はレディ状態となる。これに応答してコントローラ２００は、信号／ＲＥをトグルさせる。すると、信号／ＲＥに同期して、データがＮＡＮＤ型フラッシュメモリ１００からコントローラ２００へ転送される。
【００６１】
１．２．２  書き込み動作  
次に書き込み動作について説明する。書き込み動作は、大まかには以下の３ステップを含む。すなわち、
（１）ホスト機器５００からコントローラ２００へのデータ転送。  
（２）転送したデータのＮＡＮＤ型フラッシュメモリ１００への書き込み。  
（３）特徴テーブル読み出し（Get feature）：本動作により、ＮＡＮＤ型フラッシュメモリ１００への書き込みがパスしたかフェイルしたかが判定される。
【００６２】
図１２は、上記（１）実行時におけるＳＰＩバス上の各種信号のタイムチャートである。図示するようにホスト機器５００は、信号／ＣＳをアサートすると共に、第１書き込みコマンドＣＭＤ＿ＷＲ１を信号ＳＩとして発行し、更にクロックＳＣＫを発行する。第１書き込みコマンドＣＭＤ＿ＷＲ１を受信したことで、シーケンサ２５０はデータ書き込みシーケンスを開始する。
【００６３】
引き続きホスト機器５００は、例えば４クロックサイクルにわたってダミービットＤＭＹ＿ＢＩＴをコントローラ２００へ送信し、その後例えば１２サイクルにわたってアドレスＡＤＤをコントローラ２００へ送信する。このアドレスＡＤＤは、データバッファ２６０または２７０における領域を指定するためのアドレスであり、ＮＡＮＤフラッシュメモリ１００におけるページ内のカラムを指定するアドレスである。アドレスＡＤＤは、アドレスレジスタ２９０に保持される。更にホスト機器５００は、書き込みデータＷＲ＿ＤＡＴをコントローラ２００へ送信する。この書き込みデータＷＲ＿ＤＡＴは、データバッファ２６０または２７０において、直前に受信したＡＤＤに対応する領域に保持される。そしてデータＷＲ＿ＤＡＴの送信後、ホスト機器５００は信号／ＣＳをデアサートする。
【００６４】
上記（１）の動作に引き続いて上記（２）の動作が実行される。図１３は、上記（２）実行時におけるＳＰＩバス上の各種信号のタイムチャートである。図示するようにホスト機器５００は、信号／ＣＳを再度アサートすると共に、第２書き込みコマンドＣＭＤ＿ＷＲ２を信号ＳＩとして発行し、更にクロックＳＣＫを発行する。第２書き込みコマンドＣＭＤ＿ＷＲ２を受信したことで、シーケンサ２５０は上記（２）の動作命令を受信したことを認識する。
【００６５】
引き続きホスト機器５００は、例えば８クロックサイクルにわたって８ビットのダミービットＤＭＹ＿ＢＩＴをコントローラ２００へ送信し、その後例えば１６サイクルにわたって１６ビットのアドレスＡＤＤをコントローラ２００へ送信する。このアドレスＡＤＤは、ＮＡＮＤ型フラッシュメモリ１００におけるブロック及びページを指定するアドレスであり、アドレスレジスタ２９０に保持される。そしてアドレスＡＤＤの送信後、ホスト機器５００は信号／ＣＳをデアサートする。
【００６６】
上記（２）の動作に引き続いて、上記（３）の動作が行われる。本動作におけるコマンドシーケンスは、読み出し動作時に説明した図９と同様である。またホスト機器５００は、受信したステータスデータＳＴ＿ＤＡＴにおいて、メモリシステム１がレディ状態であることが示されていれば、続いてデータの書き込みがフェイルしたか否かに関する情報を要求する。
【００６７】
図１４は、上記（２）の動作時におけるＮＡＮＤバス上の各種信号のタイムチャートである。第２書き込みコマンドＣＭＤ＿ＷＲ２を受信したコントローラ２００では、例えばシーケンサ２５０の制御に従って、ＮＡＮＤインターフェース回路２３０が書き込みコマンド“８０ｈ”を発行し、ＮＡＮＤ型フラッシュメモリ１００へ送信する。引き続き、例えば５サイクルにわたってアドレスＡＤＤをＮＡＮＤ型フラッシュメモリ１００へ送信し、更に書き込みデータＤＡＴが複数サイクルにわたってＮＡＮＤ型フラッシュメモリ１００へ送信され、その後書き込みコマンド“１０ｈ”を発行して、これをＮＡＮＤ型フラッシュメモリ１００へ送信する。なお、このアドレスＡＤＤは、図１２及び図１３で示された動作においてアドレスレジスタ２９０に保持されたブロック、ページ、及びカラムを示すアドレスを含む。
【００６８】
コマンド“１０ｈ”に応答して、ＮＡＮＤ型フラッシュメモリ１００内では、メモリセルアレイ１１０へのデータの書き込み動作が開始され、ＮＡＮＤ型フラッシュメモリ１００はビジー状態（／ＲＢ＝“Ｌ”）となる。
【００６９】
データのメモリセルアレイ１１０への書き込みが完了すると、ＮＡＮＤ型フラッシュメモリ１００はレディ状態となる。これに応答してコントローラ２００は、ステータス読み出しコマンド“７０ｈ”を発行し、信号／ＲＥをトグルさせる。すると、信号／ＲＥに同期して、書き込み動作がパスしたかフェイルしたかを示すステータスデータＳＴ＿ＤＡＴがコントローラ２００に転送される。このステータスデータＳＴ＿ＤＡＴは特徴テーブルに保持され、上記（３）のGet featureコマンドによってホスト機器５００に読み出される。
【００７０】
１．２．３  消去動作  
次に消去動作について説明する。消去動作は、大まかには以下の２ステップを含む。すなわち、
（１）ホスト機器５００からコントローラ２００への消去命令。  
（２）特徴テーブル読み出し（Get feature）：本動作により、ＮＡＮＤ型フラッシュメモリ１００への消去動作がパスしたかフェイルしたかが判定される。
【００７１】
図１５は、上記（１）実行時におけるＳＰＩバス上の各種信号のタイムチャートである。図示するようにホスト機器５００は、信号／ＣＳをアサートすると共に、消去コマンドＣＭＤ＿ＥＲを信号ＳＩとして発行し、更にクロックＳＣＫを発行する。消去コマンドＣＭＤ＿ＥＲを受信したことで、シーケンサ２５０はデータ消去シーケンスを開始する。
【００７２】
引き続きホスト機器５００は、例えば８クロックサイクルにわたって８ビットのダミービットＤＭＹ＿ＢＩＴをコントローラ２００へ送信し、その後例えば１６サイクルにわたって１６ビットのアドレスＡＤＤをコントローラ２００へ送信する。このアドレスＡＤＤは、メモリセルアレイ１１０において消去対象となるブロックを指定するためのアドレスであり、アドレスレジスタ２９０に保持される。その後、ホスト機器５００は信号／ＣＳをデアサートする。
【００７３】
上記（１）の動作に引き続いて上記（２）の動作が実行される。本動作におけるコマンドシーケンスは、読み出し動作時に説明した図９と同様である。またホスト機器５００は、受信したステータスデータＳＴ＿ＤＡＴにおいて、メモリシステム１がレディ状態であることが示されていれば、続いてデータの消去がパスしたかフェイルしたかに関する情報を要求する。
【００７４】
図１６は、上記（１）の動作時におけるＮＡＮＤバス上の各種信号のタイムチャートである。消去コマンドＣＭＤ＿ＥＲを受信したコントローラ２００では、例えばシーケンサ２５０の制御に従って、ＮＡＮＤインターフェース回路２３０が消去コマンド“６０ｈ”を発行し、ＮＡＮＤ型フラッシュメモリ１００へ送信する。引き続き、例えば３サイクルにわたってアドレスＡＤＤをＮＡＮＤ型フラッシュメモリ１００へ送信し、更に消去コマンド“Ｄ０ｈ”を発行して、これをＮＡＮＤ型フラッシュメモリ１００へ送信する。
【００７５】
コマンド“Ｄ０ｈ”に応答して、ＮＡＮＤ型フラッシュメモリ１００内では、メモリセルアレイ１１０のデータの消去動作が開始され、ＮＡＮＤ型フラッシュメモリ１００はビジー状態（／ＲＢ＝“Ｌ”）となる。
【００７６】
データの消去が完了すると、ＮＡＮＤ型フラッシュメモリ１００はレディ状態となる。これに応答してコントローラ２００は、ステータス読み出しコマンド“７０ｈ”を発行し、信号／ＲＥをトグルさせる。すると、信号／ＲＥに同期して、消去動作がパスしたかフェイルしたかを示すステータスデータＳＴ＿ＤＡＴがコントローラ２００に転送される。このステータスデータＳＴ＿ＤＡＴは特徴テーブルに保持され、上記（２）のGet featureコマンドによってホスト機器５００に読み出される。
【００７７】
１．３  ＮＡＮＤ型フラッシュメモリの単体テストについて  
次に、本実施形態に係るＮＡＮＤ型フラッシュメモリ１００の単体テスト（以下、ＮＡＮＤ単体テストと呼ぶ）を行うための構成及び動作について説明する。ＮＡＮＤ単体テストとは、データの書き込み、読み出し、消去等が正常に行えるかどうかを確認する試験である。
【００７８】
１．３．１  ＮＡＮＤ単体テストを行うための構成について  
以下、ＮＡＮＤ単体テストを行うための構成について説明する。
【００７９】
図１７は、メモリシステム１においてＮＡＮＤ単体テストを行う際に使用されるテスト回路を搭載したシステム構成の例を示すブロック図である。なお、図６と共通する要素には同一の符号を付している。図１８は、メモリシステム１の動作モードを説明するための概念図である。図１９は、メモリシステム１に搭載されるテスト回路を主に示す構成図である。
【００８０】
前述の図６では図示を省略しているが、メモリシステム１内には図１７に示すようにテスト回路７００が備えられる。テスト回路７００は、例えば半導体チップ２００内に搭載され、ホスト入出力回路２１０に電気的に接続されると共に、ＮＡＮＤ入出力回路２４０に電気的に接続される。テスト回路７００は、メモリシステム１を製品として出荷する前あるいは出荷した後、ＮＡＮＤ単体テストを実施する際に使用される回路である。
【００８１】
ＮＡＮＤ型フラッシュメモリ１００の単体テストを実施する際には、前述したホスト機器５００の代わりにＮＡＮＤ単体テスト用のホスト機器９００がメモリシステム１に接続される。ホスト機器９００は、ＮＡＮＤ単体テスト用に予め定められたデータフォーマットに従って各種コマンド（データの書き込み、読み出し、消去等のコマンド）を発行すると共に、ＮＡＮＤ型フラッシュメモリ１００から伝送されるデータからテストの結果判定・表示出力等を行う機能を有する。ホスト機器９００がメモリシステム１に接続されてＮＡＮＤ型フラッシュメモリ１００の単体テストを行う際には、テスト回路７００は、ホスト機器９００が扱う信号（シリアル信号）とＮＡＮＤ型フラッシュメモリ１００が扱う信号（パラレル信号）との間の信号変換を行う。
【００８２】
なお、本実施形態のメモリシステム１は、複数の動作モードとして例えば図１８に示すような通常動作モードＭ１とＮＡＮＤ単体テストモードＭ２（以下、テストモードＭ２）とを有する。通常動作モードＭ１は、テスト回路７００を使用せずに通常の動作を行うモードである。テストモードＭ２は、テスト回路７００を使用してＮＡＮＤ型フラッシュメモリ１００の単体テストを行うモードである。モード間の遷移は、メモリシステム１がホスト機器９００より送信されてくるシリアルデータの中の所定の位置に特定コマンドもしくは特定情報が含まれていることを検出した場合に実行される。
【００８３】
図１７では図示を省略しているが、図１９に示すようにメモリシステム１には外部接続端子（外部接続ピン）８００が備えられる。外部接続端子８００は、図２で説明したアウターリード３３０もしくはインナーリード３２０に相当するものである。外部接続端子８００のインナー側には、テスト回路７００が図１７に示すホスト入出力回路２１０を介して接続される。また、外部接続端子８００のアウター側には、ＮＡＮＤ型フラッシュメモリ１００の単体テストを行う際に、ホスト機器９００が接続される。外部接続端子８００のピン構成は、ＳＰＩに準拠しており、ＮＡＮＤ型フラッシュメモリ１００のピン構成に比べるとピン数が少なく、さらに各ピンに割り当てられている信号構成も異なる。テスト回路７００は、外部接続端子８００のピン数や信号構成がＮＡＮＤ型フラッシュメモリ１００と異なっていてもＮＡＮＤ型フラッシュメモリ１００の単体テストを問題なく実施できるよう、ホスト機器９００が扱う信号とＮＡＮＤ型フラッシュメモリ１００が扱う信号との間の信号変換を行う回路を有する。
【００８４】
図１９に示すテスト回路７００は、シリアル／パラレル変換部７１０及びパラレル／シリアル変換部７２０を含むデータ変換部７３０、データラッチ部７４０、スイッチＳＷ、各種信号線等の要素を含む。例えばテスト回路７００は、シリアル／パラレル変換部７１０及びデータラッチ部７４０を含む回路部分を用いて、ホスト機器９００から外部接続端子８００経由で送信されてくるシリアルデータをパラレルデータに変換してＮＡＮＤ型フラッシュメモリ１００側へ送出することができる。また、テスト回路７００は、パラレル／シリアル変換部７２０等を含む第２の回路部分を用いて、ＮＡＮＤ型フラッシュメモリ１００から送信されてくるパラレルデータをシリアルデータに変換して外部接続端子８００側へ送出することができる。
【００８５】
次に、外部接続端子８００を構成する個々のピンについて説明する。
【００８６】
ＮＡＮＤ単体テスト用のホスト機器９００がメモリシステム１に接続された状態においては、外部接続端子８００を構成する個々のピンのいくつかは、ＳＰＩにおける本来の信号と異なる信号が割り当てられる。
【００８７】
１）ＳＩ用のピン（ＳＩピン）  
ＳＩピンは、ホスト機器９００からメモリシステム１へのデータ入力のみならず、メモリシステム１からホスト機器９００へのデータ出力にも使用される。入出力されるデータはシリアルデータＤＡＴであり、パケット単位で伝送される。メモリシステム１に入力される入力データのフォーマット（入力データフォーマット）、及びメモリシステム１から出力される出力データのフォーマット（出力データフォーマット）の例を図２０に示す。
【００８８】
入力データフォーマットは、スタートビット1’b0からエンドビット1’b1までを1パケットとし、スタートビット1’b0、コマンドイネーブル用ビットCLE、アドレスイネーブル用ビットALE、ライトプロテクト用ビットWPZ、ｎ個のデータビットD0〜Dn、エンドビット1’b1の順で入力データを構成する。
【００８９】
出力データフォーマットもスタートビット1’b0からエンドビット1’b1までを1パケットとし、スタートビット1’b0、ｎ個のデータビットD0〜Dn、エンドビット1’b1の順で入力データを構成する。
【００９０】
２）／ＷＰ用のピン（／ＷＰピン）  
／ＷＰピンは、入力モードと出力モードとを切替え可能に制御する制御信号ＣＯＮＴをホスト機器９００からメモリシステム１へ供給するために使用される。入力モードは、ホスト機器９００から供給されるシリアルデータをＮＡＮＤ型フラッシュメモリ１００にパラレルデータとして入力するモードである。出力モードは、ＮＡＮＤ型フラッシュメモリ１００から出力されるパラレルデータをシリアルデータとしてホスト機器９００に出力するモードである。入力モードの時は、制御信号ＣＯＮＴ（例えば“Ｈ”レベル）により信号線Ｌ１を通じてスイッチＳＷ及びデータラッチ部７４０の一部が操作され、ＮＡＮＤ型フラッシュメモリ１００へのライトイネーブル信号の供給及びデータ入力が可能な状態になる。出力モードの時は、制御信号ＣＯＮＴ（例えば“Ｌ”レベル）により信号線Ｌ１，Ｌ２を通じてスイッチＳＷ及びパラレル／シリアル変換部７２０の一部が操作され、ＮＡＮＤ型フラッシュメモリ１００へのリードイネーブル信号の供給及びホスト機器９００へのデータ出力が可能な状態になる。
【００９１】
３）ＳＣＫ用のピン（ＳＣＫピン）  
ＳＣＫピンは、ホスト機器９００からメモリシステム１へクロック信号ＳＣＫを供給するために使用される。メモリシステム１内に取り込まれたクロック信号ＳＣＫは、データ変換部７３０へ供給されると共に、信号線Ｌ３を通じてデータラッチ部７４０へ供給される。
【００９２】
４）／ＨＯＬＤ用のピン（／ＨＯＬＤピン）  
／ＨＯＬＤピンは、ここでは使用されない。
【００９３】
５）／ＣＳ用のピン（／ＣＳピン）  
／ＣＳピンは、ホスト機器９００からメモリシステム１へチップセレクト信号／ＣＳを供給するために使用される。
【００９４】
６）ＳＯ用のピン（ＳＯピン）  
ＳＯピンは、ホスト機器９００からメモリシステム１へライトイネーブル信号／ＷＥもしくはリードイネーブル信号／ＲＥを供給するために使用される。すなわち、ＳＯピンは、ライトイネーブル信号／ＷＥの送信用及びリードイネーブル信号／ＲＥの送信用に共用される。
【００９５】
１．３．２  ＮＡＮＤ単体テスト時の動作について  
以下、ＮＡＮＤ単体テスト時の動作について説明する。
【００９６】
ＮＡＮＤ単体テストは、メモリシステム１を製品として出荷する前あるいは出荷した後に、ＮＡＮＤ単体テスト用のホスト機器９００をメモリシステム１に接続した状態で、メモリシステム１の製造業者もしくはメンテナンス業者により実施される。
【００９７】
ホスト機器９００からメモリシステム１へシリアルデータを供給するに際し、シリアルデータの中の所定の位置に特定コマンドもしくは特定情報を含める。これにより、メモリシステム１を通常動作モードＭ１からテストモードＭ２へ移行させたり、テストモードＭ２から通常動作モードＭ１に移行させたりすることが可能となる。例えば、通常動作モードＭ１にある時は、図８に示すＳＰＩ準拠のデータフォーマットと同様のシーケンスにより特定コマンドを入力すると、メモリシステム１はこの情報がＮＡＮＤ単体テストの実施を示す専用コマンドであると認識し、通常動作モードＭ１からテストモードＭ２へ移行する。一方、テストモードＭ２にある時は、図２０に示す入力データフォーマットにおいて、CLE＝１、ALE＝１とすると、メモリシステム１はこの情報がＮＡＮＤ単体テストの終了を示す専用コマンドであると認識し、テストモードＭ２から通常動作モードＭ１へ移行する。
【００９８】
なお、メモリシステム１は、現在の動作モードが通常動作モードＭ１とテストモードＭ２のいずれであるかを示す情報を所定の記憶領域に保持してもよい。この場合、動作モードの情報管理は、例えばシーケンサ２５０もしくは別の制御手段により行われる。
【００９９】
また、ＮＡＮＤ単体テスト用のホスト機器９００が送信するシリアルデータのデータフォーマットは、ＮＡＮＤ単体テスト用に予め定められたデータフォーマットであり、メモリシステム１の製造業者もしくはメンテナンス業者以外の者が知りえない情報である。従って、一般のユーザが前述のホスト機器５００をメモリシステム１に接続してＮＡＮＤ単体テストを実施することはできない。
【０１００】
次に、図１９及び図２１を参照して、テストモード時におけるデータ入力の具体的な動作について説明する。
【０１０１】
ここでは、ライトコマンドを含むデータがホスト機器９００からテスト回路７００を経由してＮＡＮＤ型フラッシュメモリ１００へ供給される場合について例示する。
【０１０２】
ホスト機器９００は、外部接続端子８００の／ＷＰピンに“Ｈ”レベルの制御信号ＣＯＮＴを供給する。これにより、信号線Ｌ１を通じてテスト回路７００内のスイッチＳＷ及びデータラッチ部７４０の一部が操作され、ＮＡＮＤ型フラッシュメモリ１００へのライトイネーブル信号／ＷＥの供給及びデータ入力が可能な状態になり、入力モードが形成される。
【０１０３】
またホスト機器９００は、外部接続端子８００のＳＯピンに“Ｈ”レベルのライトイネーブル信号／ＷＥを供給する。この信号はＮＡＮＤ型フラッシュメモリ１００へ供給される。
【０１０４】
またホスト機器９００は、外部接続端子８００のＳＣＫピンにクロック信号ＳＣＫを供給する。この信号はデータ変換部７３０へ供給されると共に、信号線Ｌ３を通じてデータラッチ部７４０へ供給される。
【０１０５】
またホスト機器９００は、外部接続端子８００のＳＩピンに図２０に示した入力データフォーマットに基づくシリアルデータＤＡＴを供給する。シリアルデータＤＡＴは、実データを含むほか、コマンド情報、アドレス情報、又はライトプロテクト情報を含む。例えば最初にコマンド情報を供給し、その後にアドレス情報を供給するという手順をとる。
【０１０６】
シリアルデータＤＡＴとしてコマンド情報を供給するには、最初に１パケット分のシリアルデータset0から供給する。シリアルデータset0においては、CLE＝１、ALE＝０、WPZ＝０とし、実データＩＯに相当するデータビットD0〜Dn[n:0]をコマンドの値（例えば、書き込みコマンドの値）とする。このシリアルデータset0は、シリアル／パラレル変換部７１０へ供給され、パラレルデータに変換される。
【０１０７】
次にホスト機器９００は、データset0の供給が終わるタイミングで外部接続端子８００の／ＣＳピンに“Ｌ”レベルのチップセレクト信号／ＣＳを供給する。これにより、ＮＡＮＤ型フラッシュメモリ１００へのデータの取り込みが可能な状態（入力データキャプチャイネーブルの状態）となる。
【０１０８】
データラッチ部７４０は、クロック信号ＳＣＫに従い、ＳＣＫが“Ｌ”レベルから“Ｈ”レベルに変わるタイミングで、set0の中の実データＩＯと“Ｈ”レベルの信号ＣＬＥとをＮＡＮＤ型フラッシュメモリ１００へ供給する。この時、外部接続端子８００のＳＯピンから供給するライトイネーブル信号／ＷＥを“Ｌ”レベルから“H”レベルへ変化させることでＮＡＮＤ型フラッシュメモリ１００側では、テスト回路７００から供給されるset0の実データＩＯ及び“Ｈ”レベルの信号ＣＬＥを受け入れる。ＮＡＮＤ型フラッシュメモリ１００側では、コマンド（例えばライトコマンド）に応じた処理が実施される。
【０１０９】
以降、さらに続けてコマンド情報の残りを供給する場合は、データset0と同様な手順でデータset1, set2,…を処理してＮＡＮＤ型フラッシュメモリ１００へ供給する。
【０１１０】
次に、ホスト機器９００は、シリアルデータＤＡＴとしてアドレス情報を供給する。アドレス情報を供給するには、コマンド情報を供給したときと同様の手順で例えばデータset4, set5,…をＮＡＮＤ型フラッシュメモリ１００へデータ入力する。例えばデータset4においては、CLE＝０、ALE＝１、WPZ＝０とし、実データＩＯに相当するデータビットD0〜Dn[n:0]をアドレスの値とする。set5以降も同様となる。
【０１１１】
なお、ここでは書き込みコマンドによるデータ入力を実施する場合の例を挙げたが、例えばリードコマンドによるデータ入力を実施する場合も同様な手順で実現することができる。その場合、ホスト機器９００が供給するシリアルデータＤＡＴの中のデータビットD0〜Dn[n:0]をリードコマンドの値とする。
【０１１２】
次に、図１９及び図２２を参照して、テストモード時におけるデータ出力の具体的な動作について説明する。
【０１１３】
ここでは、リードコマンドがＮＡＮＤ型フラッシュメモリ１００へ供給され、その応答としてＮＡＮＤ型フラッシュメモリ１００からデータがテスト回路７００を経由してホスト機器９００へ供給される場合について例示する。
【０１１４】
ホスト機器９００は、外部接続端子８００の／ＣＳピンに“Ｌ”レベルのチップセレクト信号／ＣＳを供給する。
【０１１５】
またホスト機器９００は、外部接続端子８００のＳＯピンから供給するライトイネーブル信号／ＷＥを“Ｌ”レベルから“H”レベルへ変化させる。このとき、テスト回路７００にて既にパラレル変換済みのリード／アドレス入力コマンド（３０ｈ／００ｈ）がデータラッチ部７４０からＮＡＮＤ型フラッシュメモリ１００へ供給される。
【０１１６】
その後に、ホスト機器９００は、外部接続端子８００の／ＷＰピンに“Ｌ”レベル制御信号ＣＯＮＴを供給する。これにより、信号線Ｌ１を通じてテスト回路７００内のスイッチＳＷ及びデータラッチ部７４０の一部が操作され、ＮＡＮＤ型フラッシュメモリ１００へのリードイネーブル信号／ＲＥの供給及びホスト機器９００へのデータ出力が可能な状態になる。
【０１１７】
またホスト機器９００は、外部接続端子８００のＳＣＫピンにクロック信号ＳＣＫを供給する。この信号はデータ変換部７３０（パラレル／シリアル変換部７２０など）に供給される。
【０１１８】
ホスト機器９００は、外部接続端子８００のＳＯピンに“Ｌ”レベルのリードイネーブル信号／ＲＥを供給する。この信号はＮＡＮＤ型フラッシュメモリ１００へ供給されると共に、信号線Ｌ４を通じてパラレル／シリアル変換部７２０の一部へ供給される。このときＮＡＮＤ型フラッシュメモリ１００側では、リードイネーブル信号／ＲＥが“Ｌ”レベルとなり、例えば指定された記憶領域から読み出されたパラレルデータＩＯ[n:0]をテスト回路７００へ供給する。このパラレルデータＩＯ[n:0]は、信号線Ｌ５を通じてパラレル／シリアル変換部７２０の一部に供給される。
【０１１９】
パラレル／シリアル変換部７２０は、信号線Ｌ４を通じて供給される“Ｌ”レベルのリードイネーブル信号／ＲＥに従い、リードイネーブル信号／ＲＥが“Ｈ”レベルになるタイミングで、信号線Ｌ５を通じて供給されるパラレルデータＩＯ[n:0]を取り込み、当該ＩＯ[n:0]をスタートビット1’b0とエンドビット1’b1で挟んだ1パケットのシリアルデータを生成する。そしてパラレル／シリアル変換部７２０は、生成したシリアルデータをクロック信号ＣＬＫに従って出力する。
【０１２０】
メモリシステム１は、パラレル／シリアル変換部７２０から出力されるシリアルデータを外部接続端子８００のＳＩピンを通じてホスト機器９００側へ供給する。シリアルデータを取得したホスト機器９００側では、当該シリアルデータに基づきＮＡＮＤ型フラッシュメモリ１００が正常であるかどうかを確認する。
【０１２１】
１．４  本実施形態に係る効果  
本実施形態によれば、メモリのピン数よりも少ないピン数の端子を通じて該メモリのテストを行うことができる。本効果につき、以下説明する。
【０１２２】
メモリシステムは、少ないピン数でホスト機器と通信できるように、少ピンのパッケージを採用しているのが一般的である。この場合、少ピンであるがために、メモリの各ピンに割り当てられた信号を外部へ出力することができず、メモリの単体テストが行えないか、又はテスト内容が限定される。
【０１２３】
この点で本実施形態に係る構成によれば、メモリシステムの外部接続端子にメモリのピン数よりも少ないピン数を採用した場合（例えば少ピンのパッケージを採用した場合）でも、メモリシステム内にテスト回路を設けることにより、別途専用ピンを設けずとも、メモリの単体テストを実施することが可能となる。
【０１２４】
２．変形例等  
なお、実施形態は上記説明した形態に限られず、種々の変形が可能である。例えば上記実施形態では、ＮＡＮＤ型フラッシュメモリ１００とコントローラ２００及びテスト回路７００とが別々の半導体チップである場合を例に説明した。しかし、これらはワンチップで形成されても良い。この場合のメモリシステム１のブロック図を図２３に示す。
【０１２５】
図示するように、ブロック構成は、図７と同様であるが、ホスト機器５００からの信号ＳＣＫ、／ＣＳ、／ＨＯＬＤ、及び／ＷＰがロジック回路４７０に入力され、信号ＳＩ及びＳＯは入出力制御回路４６０を介して入出力される。そして、レジスタ４１０〜４３０、制御回路４４０及び４６０、並びにロジック回路４７０がコントローラ２００の機能を果たす。すなわち、制御回路４４０がシーケンサ２５０及びホストインターフェース回路２２０としての機能を果たし、信号／ＣＳによりホスト機器５００からの命令を判別する。入出力制御回路４６０及びロジック回路４７０は、ホスト入出力回路２１０として機能する。レジスタ４１０及び４２０はレジスタ２８０及び２９０として機能し、特徴テーブルは、例えばステータスレジスタ４１０等に保持される。
【０１２６】
また、上記実施形態で説明したメモリシステムは、例えばテレビやセットトップボックス等のアプリケーションを起動するために用いることも出来る。図２４はそのようなシステムの例を示す。本例であると、メモリシステム１の他に、ＮＯＲ型フラッシュメモリ２が用意され、メモリシステム１及びＮＯＲ型フラッシュメモリ２は、共に共通にＳＰＩインターフェースによって接続される。本例では、メモリシステム１を制御するためのコマンド（コマンドＣＭＤ＿ＲＤ１、ＣＭＤ＿ＲＤ２、ＣＭＤ＿ＧＦ、ＣＭＤ＿ＳＦ等）がＮＯＲ型フラッシュメモリ２に保持されている。そして、ホスト機器５００起動時に、ホスト機器５００内のＲＯＭの保持するシーケンスによって、ホスト機器５００はＮＯＲ型フラッシュメモリ２から上記コマンド情報を読み出す。そして、このコマンド情報を用いて、ホスト機器５００はメモリシステム１から起動シーケンスを読み出し、これを実行してアプリケーションが起動される。
【０１２７】
あるいは、ホスト機器５００のＲＯＭ内にメモリシステム１のコマンド情報が保持されていれば、図２５に示すようにＮＯＲ型フラッシュメモリ２が廃されても良い。
【０１２８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１２９】
１…メモリシステム、１００…ＮＡＮＤ型フラッシュメモリ、２００…コントローラ、２１０…ホスト入出力回路、２２０…ホストインターフェース回路、２３０…ＮＡＮＤインターフェース回路、２４０…ＮＡＮＤ入出力回路、２５０…シーケンサ、２６０，２７０…データバッファ、２８０，４１０…ステータスレジスタ、２９０，４２０…アドレスレジスタ、４００…ＥＣＣ回路、３００…リードフレーム、３４０…ボンディングワイヤ、３５０…封止樹脂、４３０…コマンドレジスタ、４４０…制御回路、４５０…電圧発生回路、４６０…入出力制御回路、４７０…ロジック回路、４８０…データレジスタ、５００，９００…ホスト機器、６００…周辺回路、７００…テスト回路、７１０…データ入力部、７２０…データ出力部、７３０…データ入出力部、７４０…データラッチ部、８００…外部接続端子（外部接続ピン）。
【図１】
0006542075.tif 000002
【図２】
0006542075.tif 000003
【図３】
0006542075.tif 000004
【図４】
0006542075.tif 000005
【図５】
0006542075.tif 000006
【図６】
0006542075.tif 000007
【図７】
0006542075.tif 000008
【図８】
0006542075.tif 000009
【図９】
0006542075.tif 000010
【図１０】
0006542075.tif 000011
【図１１】
0006542075.tif 000012
【図１２】
0006542075.tif 000013
【図１３】
0006542075.tif 000014
【図１４】
0006542075.tif 000015
【図１５】
0006542075.tif 000016
【図１６】
0006542075.tif 000017
【図１７】
0006542075.tif 000018
【図１８】
0006542075.tif 000019
【図１９】
0006542075.tif 000020
【図２０】
0006542075.tif 000021
【図２１】
0006542075.tif 000022
【図２２】
0006542075.tif 000023
【図２３】
0006542075.tif 000024
【図２４】
0006542075.tif 000025
【図２５】
0006542075.tif 000026