(57)【要約】 【課題】  リード性能が向上したメモリシステムを実現する。【解決手段】  制御部２００は、ホスト機器５００からページ読み出しコマンドを受信した場合に（Ｓ１）、メモリに対して第１のメモリ読み出しコマンドを発行し（Ｓ２）、メモリから送られてくる第１のページのデータを第１のバッファで受信する（図１５のＴ３−０）。その後、ホスト機器５００から次のページ読み出しコマンドを受信する前に、新たなページ読み出しコマンドをメモリに対して発行する（Ｓ４）。【選択図】図１７
2017045388.tif 000002
【特許請求の範囲】
【請求項１】
メモリと、
ホストに対して接続するためのシリアルインターフェイスを具備するコントローラとを具備し、
前記コントローラは、
前記シリアルインターフェイスのチップセレクト信号がアサートされた場合に、前記ホストからのページ読み出しコマンドをクロック信号に同期して受信し、
前記ホストからのページ読み出しコマンドを受信した場合に、前記メモリに対して第１のメモリ読み出しコマンドを発行し、
前記発行した第１のメモリ読み出しコマンドに対して前記メモリから送られてくる第１のページのデータを第１のバッファで受信し、
前記第１のバッファで第１のページのデータを受信した後で、かつ前記ホストからの他のページ読み出しコマンドを受信する前に、前記メモリに対して第２のメモリ読み出しコマンドを発行し、
前記発行した第２のメモリ読み出しコマンドに対して前記メモリから送られてくる第２のページのデータを第２のバッファで受信する
メモリシステム。
【請求項２】
前記第２のメモリ読み出しコマンドによって読み出されるページは、前記第１のメモリ読み出しコマンドによって読み出されるページの次のページである、請求項１記載のメモリシステム。
【請求項３】
前記第２のメモリ読み出しコマンドは、前記コントローラから前記ホストへ前記第１のバッファのデータのデータ転送が行なわれている間に行なわれる、請求項１記載のメモリシステム。
【請求項４】
前記第２のメモリ読み出しコマンドによって読み出されるページは、前記ホストから指定されたページである、請求項１記載のメモリシステム。
【請求項５】
前記ホストから指定されたページは、前記ホストからのページ読み出しコマンドの後に送られるコマンドに含まれる、請求項４記載のメモリシステム。
【請求項６】
前記ホストから指定されたページは、読み出しに関するコマンドに含まれる、請求項５記載のメモリシステム。
【請求項７】
前記第２のメモリ読み出しコマンドを発行し、前記第２のページのデータを受信する動作を設定するためのレジスタをさらに具備する、請求項１記載のメモリシステム。
【請求項８】
前記レジスタは、前記ホストから設定可能である、請求項７記載のメモリシステム。
【請求項９】
メモリと、
ホストに対して接続するためのシリアルインターフェイスを具備するコントローラとを具備するメモリシステムにおいて、
前記コントローラは、前記メモリシステムの起動時に、第１の読み出し動作を行ない、所定の条件を満たす場合に、第２の読み出し動作を行ない、
前記第１の読み出し動作は、
前記シリアルインターフェイスのチップセレクト信号がアサートされた場合に、前記ホストからのページ読み出しコマンドをクロック信号に同期して受信し、
前記ページ読み出しコマンドを受信した場合に、前記メモリに対して第１のメモリ読み出しコマンドを発行し、
前記発行した第１のメモリ読み出しコマンドに対して前記メモリから送られてくる第１のページのデータを第１のバッファで受信し、
前記第１のバッファで第１のページのデータを受信した後で、かつ前記ホストからの他のページ読み出しコマンドを受信する前に、前記メモリに対して第２のメモリ読み出しコマンドを発行し、
前記発行した第２のメモリ読み出しコマンドに対して前記メモリから送られてくる第２のページのデータを第２のバッファで受信することを含む、
メモリシステム。
【請求項１０】
前記第１の読み出し動作と、前記第２の読み出し動作とを切り替えるためのレジスタをさらに具備し、
前記所定の条件は、前記第２読み出しコマンドのページ読み出しアドレスと、前記第２読み出しコマンド後に受信するページ読み出しコマンドのページ読み出しアドレスとの一致率が閾値以下であることであり、
前記コントローラは、前記所定の条件を満たす場合に、前記レジスタを無効にすることにより、前記第２の読み出し動作を実行する、
請求項９記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、メモリシステムに関する。
【背景技術】
【０００２】
記憶デバイスとして、ＮＡＮＤ型フラッシュメモリが広く知られている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】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コマンドによってホスト機器５００に読み出される。
１．３  先行読み出し動作について（第１実施形態の先行読み出し動作）
本実施形態では、上述の「１．２．１  読み出し動作」において説明したような通常の読み出しとは、別に、先行読み出し動作が設けられている。以下、この先行読み出し動作について説明する。なお、以下の説明において、上述のメモリシステムの説明と同一の部分については、その詳細を省略する。
【００７７】
また、本実施形態の理解を容易にするために、上述の読み出し動作におけるGet featureコマンドについては、その説明を省略し、第１読み出しコマンドＣＭＤ＿ＲＤ１（図１７におけるＳＰＩバス（ホストバス）のページ読み出しコマンドに相当）、第２読み出しコマンドＣＭＤ＿ＲＤ２（図１７におけるＳＰＩバスの読み出しバッファコマンドに相当）に着目して説明する。
【００７８】
本実施の形態では、明示的なホスト５００からの指示がない場合には、以下の先行読み出し処理動作を行なうものである。
【００７９】
図１７は、第１実施形態の先行読み出し動作を説明するためのフローチャートである。
図１８は、第１実施形態の先行読み出し動作を説明するためのタイミングチャートである。
【００８０】
上述のように、ホスト機器５００は、信号／ＣＳをアサートすると共に、ＳＰＩバス（ホストバス）のページ読み出しコマンドを発行する（Ｓ１）。
【００８１】
コントローラ２００のホストインターフェース回路２２０は、信号／ＣＳがアサートされて最初のクロックＳＣＫを受信した際の信号ＳＩをコマンドとして認識する。このコマンドは、例えば８クロックサイクルにわたって入力される８ビット信号であり、ページ読み出しコマンドを受信したことになる。
【００８２】
引き続きホスト機器５００は、例えば８クロックサイクルにわたってダミービットＤＭＹ＿ＢＩＴをコントローラ２００へ送信し、その後例えば１６サイクルにわたってアドレスＡＤＤをコントローラ２００へ送信する。そしてアドレスＡＤＤの送信後、ホスト機器５００は信号／ＣＳをデアサートする。アドレスＡＤＤは、ＮＡＮＤ型フラッシュメモリ１００におけるブロック及びページを指定するアドレスであり、アドレスレジスタ２９０に保持される。コマンド、アドレスを受信したことでシーケンサ２５０はデータ読み出しシーケンスを開始する。
【００８３】
その後、特徴テーブル読み出しにより、メモリシステム１がビジー状態であるかレディ状態であるか、すなわち上記ホストバスのページ読み出しコマンドの動作が完了したか否かが判定される。
【００８４】
なお、特徴テーブル読み出しの動作については、上述の「１．２．１  読み出し動作」において記載したので、ここでは詳述しない。
【００８５】
ＳＰＩバスのページ読み出しコマンドを受信したコントローラ２００は、ＮＡＮＤバスを介して、ＮＡＮＤ型フラッシュメモリ１００にメモリ読み出しコマンドを発行する（Ｓ２）。
【００８６】
具体的には、ＮＡＮＤインターフェース回路２３０がコマンド“００ｈ”を発行し、ＮＡＮＤ型フラッシュメモリ１００へ送信する。引き続き、例えば５サイクルにわってアドレスＡＤＤをＮＡＮＤ型フラッシュメモリ１００へ送信し、その後コマンド“３０ｈ”を発行して、これをＮＡＮＤ型フラッシュメモリ１００へ送信する。なお、このアドレスＡＤＤは、図８及び図１０で示された動作においてアドレスレジスタ２９０に保持されたブロック、ページ、及びカラムを示すアドレスを含む。
【００８７】
コマンド“３０ｈ”に応答して、ＮＡＮＤ型フラッシュメモリ１００内では、メモリセルアレイ１１０からのデータの読み出し動作が開始され、ＮＡＮＤ型フラッシュメモリ１００はビジー状態となる（／ＲＢ＝“Ｌ”）となる。
【００８８】
データのメモリセルアレイ１１０からの読み出しが完了すると、ＮＡＮＤ型フラッシュメモリ１００はレディ状態となる。これに応答してコントローラ２００は、信号／ＲＥをトグルさせる。すると、信号／ＲＥに同期して、データがＮＡＮＤ型フラッシュメモリ１００からコントローラ２００へ転送される。
【００８９】
一方、コントローラ２００は、ＳＰＩバスのビジー状態（図１７及び図１８のＴ１）の経過後、ＳＰＩバスを介してホスト機器５００から読み出しバッファコマンドを受信する（Ｓ３）。
【００９０】
コントローラ２００は、ＮＡＮＤ型フラッシュメモリ１００の読み出しビジー時間（図１７のＴ２）及びＮＡＮＤ型フラッシュメモリ１００からコントローラ２００のデータバッファ２７０（データバッファ１）へのデータ転送期間（図１７及び図１８のＴ３−０）の経過後、Ｓ３における読み出しバッファコマンドの受信を契機に、メモリ読み出しコマンドをＮＡＮＤバスを介してＮＡＮＤ型フラッシュメモリ１００に発行する（Ｓ４）。
【００９１】
これにより、コントローラ２００からホスト機器５００へＳＰＩバスを介してデータ転送を行なうとともに、ＮＡＮＤ型フラッシュメモリ１００からコントローラ２００へＮＡＮＤバスを介してデータ転送を行なうことが可能となる。
【００９２】
なお、Ｓ４におけるメモリ読み出しコマンドを発行するタイミングは、これに限られるものではない。Ｓ４におけるメモリ読み出しコマンドを発行するタイミングは、コントローラ２００が、ホスト機器５００から次のページ読み出しコマンドを受信する前であれば良い。
【００９３】
その後、コントローラ２００は、ＮＡＮＤ型フラッシュメモリ１００の読み出しビジー時間（図１７のＴ２）及びＮＡＮＤ型フラッシュメモリ１００からコントローラ２００のデータバッファ２６０（データバッファ２）へのデータ転送期間（図１７及び図１８のＴ３−１）を待つ。
【００９４】
ここで、第１実施形態においては、Ｓ４においてＮＡＮＤ型フラッシュメモリ１００に送信されるメモリ読み出しコマンドのページアドレスは、Ｓ２においてＮＡＮＤ型フラッシュメモリ１００に送信されるメモリ読み出しコマンドのページアドレスの次のページアドレスである。
【００９５】
コントローラ２００は、コントローラ２００からホスト機器５００へのデータ転送期間（図１７及び図１８のＴ４）経過後、次のページ読み出しコマンドを受け付ける（Ｓ５）。その後、先行読み出し時のホスト読み出しビジー期間（図１７及び図１８のＴ１−２）経過後、読み出しバッファコマンドを受信する（Ｓ６）。
【００９６】
Ｓ６の後、コントローラ２００は、コントローラ２００からホスト機器５００へのデータ転送期間（図１７及び図１８のＴ４）経過後、次のページ読み出しコマンドを受け付ける。
【００９７】
第１実施形態によれば、すでにＳ４において、読み出しバッファコマンドの受信を契機に、メモリ読み出しコマンドが送信され、コントローラ２００のデータバッファ２６０にデータが読み出されていることから、シーケンシャルリード時のＳＰＩバスのホスト読み出しビジー期間を短くすることができる。
【００９８】
具体的に短縮される期間は、ホスト機器５００へのページ読み出しに対応するビジー解除期間が、コマンド発行期間などを考慮しなければ、おおよそ
ＮＡＮＤ型フラッシュメモリ１００の読み出しビジー期間（Ｔ２）  ＋
ＮＡＮＤ型フラッシュメモリ１００からバッファ２６０、２７０へのデータ転送期間（Ｔ３−０又はＴ３−１）  −
バッファからホスト機器５００へのデータ転送期間（Ｔ４）
となり、その結果、読み出し期間が短縮される。
【００９９】
図１９は、比較のための読み出し処理の動作を説明するためのタイミングチャートである。同図に示すように、読み出しバッファコマンドに対して、コントローラ２００がＮＡＮＤバスに対して、何らコマンドに関する処理を行なっていない。
【０１００】
本実施の形態の先行読み出し動作は、ホスト５００からの指示により動作のＯＮ／ＯＦＦが行なわれる。具体的には、この先行読み出し動作のＯＮ／ＯＦＦ情報は、例えば、ステータスレジスタ２８０の特徴テーブルに格納されるが、他の場所に格納されても良い。
【０１０１】
第１実施形態では、先行読み出し動作のＯＮ／ＯＦＦ情報は、デフォルト（起動時）では先行読み出し動作はＯＮとされているが、これに限られるものではない。
【０１０２】
第１実施形態の先行読み出し方法では、ホスト機器５００から明示的な指示を必要としない。そのため、特別なホスト機器５００を用意する必要がない。しかしながら、本実施の形態の先行読み出し方法では、ランダムアドレスのデータの読み出しには、シーケンシャルアドレスのデータの読み出しに比して大きな効果を期待することはできない。
【０１０３】
従って、ホスト機器５００からの指示により、通常の読み出し動作と、第１実施形態の先行読み出し動作とを切り替えても良い。
【０１０４】
具体的には、例えば、特徴テーブルの所定のアドレスに、通常の読み出し動作と、第１実施形態の先行読み出し動作とを切り替えるためのレジスタを設け、当該レジスタの情報に基づいて、先行読み出し動作のＯＮ／ＯＦＦを切り替えても良い。例えば、レジスタの値が「１」の場合には先行読み出し動作をＯＮ、「０」の場合には先行読み出し動作をＯＦＦとする。
【０１０５】
この特徴テーブルの先行読み出し動作のＯＮ／ＯＦＦを切り替えるためのレジスタの情報は、読み出しコマンドや、バッファ読み出しコマンドなどの読み出しに関するコマンドで設定しても良い。
【０１０６】
また、この先行読み出し動作のためのレジスタの参照は、バッファ読み出しコマンドやページ読み出しコマンドをホスト機器５００から発行する毎に、参照され、ホスト機器５００又はコントローラ２００の状態に基づいて、動作の切り替えを行なっても良い。
【０１０７】
また、ホスト機器５００の通常の読み出し動作と、第１実施形態の先行読み出し動作とを切り替える基準は、例えば、以下の通りであるが、これに限られるものではない。
【０１０８】
まず、ホスト機器５００において、複数の読み出しコマンドの判断を行なう（Ｓ３１）。具体的には、ホスト機器５００において、連続する複数の読み出しコマンドが、連続するページアドレスに格納されたデータを読み出すか否かを判断する。
【０１０９】
Ｓ３１において、連続する複数の読み出しコマンドが、連続するページアドレスに格納されたデータを読み出すと判断された場合には、その読み出しを開始する前に、上述の動作を切り替えるためのレジスタの値を「１」にして、先行読み出し動作をＯＮにする（Ｓ３２）。
【０１１０】
一方、連続する複数の読み出しコマンドが、連続するページアドレスに格納されたデータを読み出す場合に該当しない場合、すなわち、連続しないページアドレスに対してデータの読み出しを行なう場合には、その読み出しを開始する前に、上述の動作を切り替えるためのレジスタの値を「０」にして、先行読み出し動作をＯＦＦにする（Ｓ３３）。
【０１１１】
なお、複数ページの数は、２つ以上の任意の数で設定することができる。
【０１１２】
第１実施形態によれば、このような先行読み出し動作のためのレジスタを設けることにより、不要な先行読み出し動作を実施させない制御が可能になり、無駄な動作（電力消費）を抑止することができる。
【０１１３】
また、複数のデータバッファを設けていることにより、ホスト機器５００へのデータ読み出しとＮＡＮＤ型フラッシュメモリ１００からのデータ読み出しを同時に実行することができ、データ読み出し時間を短縮することが可能となる。
２．  先行読み出し動作の第２実施形態
第１実施形態の先行読み出し動作では、シーケンシャルなアドレスのデータ読み出しを行なった場合には、読み出し性能の向上を図ることができるが、ランダムなアドレスのデータ読み出しを行なった場合には、読み出し性能の向上を図ることが困難である。
【０１１４】
第２実施形態では、ホスト機器５００からの指示により任意のページの先行読み出しを行なうことが可能なコマンドを定義することにより、シーケンシャルなアドレスのデータ読み出し以外の読み出し性能の向上を図るものである。
【０１１５】
図２０は、第２実施形態の先行読み出し動作を説明するためのフローチャートである。
図２１は、第２実施形態の先行読み出し動作を説明するためのタイミングチャートである。
【０１１６】
なお、第１実施形態において述べた動作と同じ部分には、説明を省略し、ここでは異なる部分について述べる。
【０１１７】
第２実施形態の第１実施形態における先行読み出し動作と異なる点は、Ｓ１においてページ読み出しコマンドを発行した後に、ホスト機器５００によって指示された任意のページを読み込むための新たなコマンド（図２０及び図２１における”次頁コマンド”に相当）を定義し、当該新たなコマンドをＳＰＩバスを介してコントローラ２００に発行する（Ｓ１１）ことにある。
【０１１８】
すなわち、コントローラ２００は、ＳＰＩバスのビジー状態（図２０及び図２１のＴ１）の経過後、ＳＰＩバスを介してホスト機器５００から次頁コマンドを受信する（Ｓ１１）。
【０１１９】
コントローラ２００は、ＮＡＮＤ型フラッシュメモリ１００の読み出しビジー時間（図２０及び図２１のＴ２）及びＮＡＮＤ型フラッシュメモリ１００からコントローラ２００のデータバッファ２７０（データバッファ１）へのデータ転送期間（図２０及び図２１のＴ３−０）の経過後、Ｓ１１における次頁コマンドの受信を契機に、メモリ読み出しコマンドをＮＡＮＤバスを介してＮＡＮＤ型フラッシュメモリ１００に発行する（Ｓ４）。
【０１２０】
その後、コントローラ２００は、ＳＰＩバスを介してホスト機器５００から読み出しバッファコマンドを受信する（Ｓ３）。
【０１２１】
これにより、コントローラ２００からホスト機器５００へＳＰＩバスを介してデータ転送を行なうとともに、ＮＡＮＤ型フラッシュメモリ１００からコントローラ２００へＮＡＮＤバスを介してデータ転送を行なうことが可能となる。
【０１２２】
なお、Ｓ１１における次頁コマンドを発行するタイミングは、これに限られるものではない。Ｓ１１における次頁コマンドを発行するタイミングは、コントローラ２００が、ホスト機器５００から次のページ読み出しコマンドを受信する前であれば良い。
【０１２３】
なお、Ｓ１１における次頁コマンドと、Ｓ３における読み出しバッファコマンドは１つのコマンドとして、新たなコマンド番号を定義しても良い。
【０１２４】
従って、第２実施形態によれば、ホスト機器５００により任意のページの先行読み出し動作を行なうことができるので、シーケンシャルなアドレスのデータ読み出し以外の読み出し性能の向上を図ることができる。
３．  先行読み出し動作の第３実施形態
第３実施形態では、コントローラ２００により、能動的に先行読みだし動作のＯＮ／ＯＦＦを切り替えることにより、全体として読み出し性能の向上を図るものである。なお、この先行読みだし動作のＯＮ／ＯＦＦの動作は、ホスト機器５００によっても実施することが可能である。
【０１２５】
図２２は、第３実施形態の先行読みだし動作の切り替えを説明するためのフローチャートである。
【０１２６】
同図に示すように、メモリシステムの電源が起動されると（Ｓ２１）、上述の第１実施形態又は第２実施形態で説明した先行読み出し動作が行なわれる（Ｓ２２）。
【０１２７】
この読み出し動作の選択は、例えば、特徴テーブルに先行読み出し動作と通常の読み出し動作とを切り替えるための先行読み出しレジスタを設け、この先行読み出しレジスタの値を有効又は無効にすることにより切り替えることができる。本実施の形態では、電源起動時には先行読み出しレジスタの値は有効とされており、先行読み出し動作が行なわれる。
【０１２８】
次に、先行読み出し動作において行なわれるＮＡＮＤバスにおいて発行されるメモリ読み出しコマンドのページ読み出しアドレスと、後にＳＰＩバスにおいて受信する読み出しコマンドのページ読み出しアドレスとの一致率が所定の条件を満たすか否かが判定される（Ｓ２３）。
【０１２９】
ここで、所定の条件とは、先行読み出し動作において行なわれるＮＡＮＤバスにおいて発行される先行読み出しのページ読み出しアドレスと、後にＳＰＩバスにおいて受信する読み出しのページ読み出しアドレスとが一致する確率が閾値以下であることであるが、これに限られるものではない。
【０１３０】
例えば、所定の条件は、先行読み出しのページ読み出しアドレスと、後にＳＰＩバスにおいて受信する読み出しコマンドのページ読み出しアドレスとが一致しないことであっても良い。
【０１３１】
Ｓ２３において、所定の条件を満たすと判断された場合には、「１．２．１  読み出し動作」で説明したような通常の読み出し処理が行なわれ（Ｓ２４）、Ｓ２３の処理に戻る。一方、Ｓ２３において、所定の条件を満たさないと判断された場合には、上述の第１実施形態で説明した先行読み出し動作が行なわれ（Ｓ２５）、Ｓ２３の処理に戻る。
【０１３２】
従って、本実施の形態によれば、コントローラ２００又はホスト機器５００がアダプティブに先行読み出し動作を行なうので、効率的な先行読み出し動作を実現することができる。
【０１３３】
なお、上述の実施形態は上記説明した形態に限られず、種々の変形が可能である。例えば上記実施形態では、ＮＡＮＤ型フラッシュメモリ１００とコントローラ２００とが別々の半導体チップである場合を例に説明した。しかし、これらはワンチップで形成されても良い。この場合のメモリシステム１のブロック図を図２３に示す。
【０１３４】
図示するように、ブロック構成は、図７と同様であるが、ホスト機器５００からの信号ＳＣＫ、／ＣＳ、／ＨＯＬＤ、及び／ＷＰがロジック回路４７０に入力され、信号ＳＩ及びＳＯは入出力制御回路４６０を介して入出力される。そして、レジスタ４１０〜４３０、制御回路４４０及び４６０、並びにロジック回路４７０がコントローラ２００の機能を果たす。すなわち、制御回路４４０がシーケンサ２５０及びホストインターフェース回路２２０としての機能を果たし、信号／ＣＳによりホスト機器５００からの命令を判別する。入出力制御回路４６０及びロジック回路４７０は、ホスト入出力回路２１０として機能する。レジスタ４１０及び４２０はレジスタ２８０及び２９０として機能し、特徴テーブルは、例えばステータスレジスタ４１０等に保持される。
【０１３５】
また、上記実施形態で説明したメモリシステムは、例えばテレビやセットトップボックス等のアプリケーションを起動するために用いることも出来る。図２４はそのようなシステムの例を示す。本例であると、メモリシステム１の他に、ＮＯＲ型フラッシュメモリ２が用意され、メモリシステム１及びＮＯＲ型フラッシュメモリ２は、共に共通にＳＰＩインターフェースによって接続される。本例では、メモリシステム１を制御するためのコマンド（コマンドＣＭＤ＿ＲＤ１、ＣＭＤ＿ＲＤ２、ＣＭＤ＿ＧＦ、ＣＭＤ＿ＳＦ等）がＮＯＲ型フラッシュメモリ２に保持されている。そして、ホスト機器５００起動時に、ホスト機器５００内のＲＯＭの保持するシーケンスによって、ホスト機器５００はＮＯＲ型フラッシュメモリ２から上記コマンド情報を読み出す。そして、このコマンド情報を用いて、ホスト機器５００はメモリシステム１から起動シーケンスを読み出し、これを実行してアプリケーションが起動される。
【０１３６】
あるいは、ホスト機器５００のＲＯＭ内にメモリシステム１のコマンド情報が保持されていれば、図２５に示すようにＮＯＲ型フラッシュメモリ２が廃されても良い。
【０１３７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１３８】
１…メモリシステム、１００…ＮＡＮＤ型フラッシュメモリ、２００…コントローラ、２１０…ホスト入出力回路、２２０…ホストインターフェース回路、２３０…ＮＡＮＤインターフェース回路、２４０…ＮＡＮＤ入出力回路、２５０…シーケンサ、２６０、２７０…データバッファ、２８０，４１０…ステータスレジスタ、２９０，４２０…アドレスレジスタ、４００…ＥＣＣ回路、３００…リードフレーム、３４０…ボンディングワイヤ、３５０…封止樹脂、４３０…コマンドレジスタ、４４０…制御回路、４５０…電圧発生回路、４６０…入出力制御回路、４７０…ロジック回路、４８０…データレジスタ、５００…ホスト機器
【図１】
2017045388.tif 000003
【図２】
2017045388.tif 000004
【図３】
2017045388.tif 000005
【図４】
2017045388.tif 000006
【図５】
2017045388.tif 000007
【図６】
2017045388.tif 000008
【図７】
2017045388.tif 000009
【図８】
2017045388.tif 000010
【図９】
2017045388.tif 000011
【図１０】
2017045388.tif 000012
【図１１】
2017045388.tif 000013
【図１２】
2017045388.tif 000014
【図１３】
2017045388.tif 000015
【図１４】
2017045388.tif 000016
【図１５】
2017045388.tif 000017
【図１６】
2017045388.tif 000018
【図１７】
2017045388.tif 000019
【図１８】
2017045388.tif 000020
【図１９】
2017045388.tif 000021
【図２０】
2017045388.tif 000022
【図２１】
2017045388.tif 000023
【図２２】
2017045388.tif 000024
【図２３】
2017045388.tif 000025
【図２４】
2017045388.tif 000026
【図２５】
2017045388.tif 000027