(57)【要約】【課題】処理能力を向上できる。【解決手段】実施形態によれば、メモリシステムは、第１バスＮＢＵＳ０に接続された複数の第１メモリチップＣＰと、  第２バスＮＢＵＳ１に接続された複数の第２メモリチップＣＰと、第１及び第２バスＮＢＵＳ０及びＮＢＵＳ１に接続され、複数の第１メモリチップのデータ読み出し速度及び／またはデータ書き込み速度の情報に基づいて、複数の第１メモリチップＣＰの１つを選択し、複数の第２メモリチップの情報に基づいて、複数の第２メモリチップＣＰの１つを選択して、書き込み動作を実行可能なコントローラ２００とを含む。コントローラ２００は、複数の第１メモリチップ及び複数の第２メモリチップの情報を保持するレジスタ２８０を含む。【選択図】図８
2019040470.tif 000002
【特許請求の範囲】
【請求項１】
第１バスに接続された複数の第１メモリチップと、
第２バスに接続された複数の第２メモリチップと、
前記第１及び第２バスに接続され、前記複数の第１メモリチップのデータ読み出し速度及び／またはデータ書き込み速度の情報に基づいて、前記複数の第１メモリチップの１つを選択し、前記複数の第２メモリチップの前記情報に基づいて、前記複数の第２メモリチップの１つを選択して、書き込み動作を実行可能なコントローラと
を備え、前記コントローラは、前記複数の第１メモリチップ及び前記複数の第２メモリチップの前記情報を保持するレジスタを含むメモリシステム。
【請求項２】
前記コントローラは、第１データを書き込む場合、前記複数の第１メモリチップから前記データ読み出し速度及び／または前記データ書き込み速度が最も速い第１メモリチップを選択し、前記複数の第２メモリチップから前記データ読み出し速度及び／または前記データ書き込み速度が最も速い第２メモリチップを選択し、
第２データを書き込む場合、前記複数の第１メモリチップから前記データ読み出し速度及び／または前記データ書き込み速度が最も遅い第１メモリチップを選択し、前記複数の第２メモリチップから前記データ読み出し速度及び／または前記データ書き込み速度が最も遅い第２メモリチップを選択する請求項１記載のメモリシステム。
【請求項３】
前記コントローラは、前記データ読み出し速度及び／または前記データ書き込み速度を測定する測定回路を更に備える請求項１または２記載のメモリシステム。
【請求項４】
前記測定回路は、前記複数の第１メモリチップ及び前記複数の第２メモリチップから受信するレディ／ビジー信号がビジー状態にある期間を測定する請求項３記載のメモリシステム。
【請求項５】
前記第１データは、外部機器から受信した論理アドレスを、前記複数の第１メモリチップ及び前記複数の第２メモリチップに割り当てられた物理アドレスに変換するためのデータである請求項２記載のメモリシステム。
【請求項６】
前記第２データは、前記複数の第１メモリチップ及び前記複数の第２メモリチップから読み出されたデータの誤り訂正処理に用いられる請求項２記載のメモリシステム。
【請求項７】
第１バスに接続された複数の第１メモリチップと、
第２バスに接続された複数の第２メモリチップと、
前記第１及び第２バスに接続され、前記複数の第１メモリチップのビットエラーレートの情報に基づいて、前記複数の第１メモリチップの１つを選択し、前記複数の第２メモリチップの前記情報に基づいて、前記複数の第２メモリチップの１つを選択して、書き込み動作を実行可能なコントローラと
を備え、前記コントローラは、
前記複数の第１メモリチップ及び前記複数の第２メモリチップから読み出されたデータの誤り訂正処理を実行し、前記ビットエラーレートを測定するＥＣＣ回路と、
前記複数の第１メモリチップ及び前記複数の第２メモリチップの前記情報を保持するレジスタとを含むメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、メモリシステムに関する。
【背景技術】
【０００２】
例えばメモリシステムとして、ＮＡＮＤ型フラッシュメモリなどの不揮発性半導体メモリを搭載したＳＳＤ（Solid State Drive）が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５７８９２２６号公報
【特許文献２】特許第３７３９３９８号公報
【特許文献３】特開２０１３−１８２５０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
処理能力を向上したメモリシステムを提供する。
【課題を解決するための手段】
【０００５】
実施形態に係るメモリシステムは、第１バスに接続された複数の第１メモリチップと、  第２バスに接続された複数の第２メモリチップと、第１及び第２バスに接続され、複数の第１メモリチップのデータ読み出し速度及び／またはデータ書き込み速度の情報に基づいて、複数の第１メモリチップの１つを選択し、複数の第２メモリチップの情報に基づいて、複数の第２メモリチップの１つを選択して、書き込み動作を実行可能なコントローラとを含む。コントローラは、複数の第１メモリチップ及び複数の第２メモリチップの情報を保持するレジスタを含む。
【図面の簡単な説明】
【０００６】
【図１】図１は、第１実施形態に係るメモリシステムのブロック図である。
【図２】図２は、第１実施形態に係るメモリシステムの備えるＮＡＮＤチップのブロック図である。
【図３】図３は、第１実施形態に係るメモリシステムの備えるＮＡＮＤチップにおけるメモリセルアレイの回路図である。
【図４】図４は、第１実施形態に係るメモリシステムの備えるＮＡＮＤチップにおけるメモリセルアレイの断面図である。
【図５】図５は、第１実施形態に係るメモリシステムにおける読み出し動作のフローチャートである。
【図６】図６は、第１実施形態に係るメモリシステムにおいて、読み出し動作時にコントローラとＮＡＮＤチップとの間で送受信される各種信号のタイミングチャートである。
【図７】図７は、第１実施形態に係るメモリシステムにおいて、ＥＣＣデータとパリティデータの作成を示す図である。
【図８】図８は、第１実施形態に係るメモリシステムにおける書き込み動作のフローチャートである。
【図９】図９は、第１実施形態に係るメモリシステムにおいて、書き込み動作時にコントローラとＮＡＮＤチップとの間で送受信される各種信号のタイミングチャートである。
【図１０】図１０は、第１実施形態に係るメモリシステムにおけるＬＵＴ書き込み時のＮＡＮＤチップの割り当てを示す例図である。
【図１１】図１１は、第１実施形態に係るメモリシステムにおけるパリティ書き込み時のＮＡＮＤチップの割り当てを示す例図である。
【図１２】図１２は、第１実施形態に係るメモリシステムにおける通常の書き込み時のＮＡＮＤチップの割り当てを示す例図である。
【図１３】図１３は、第２実施形態に係るメモリシステムにおける書き込み動作のフローチャートである。
【図１４】図１４は、第３実施形態に係るメモリシステムにおける読み出し動作のフローチャートである。
【図１５】図１５は、第３実施形態に係るメモリシステムにおける書き込み動作のフローチャートである。
【図１６】図１６は、第４実施形態に係るメモリシステムにおける書き込み動作のフローチャートである。
【図１７】図１７は、第５実施形態に係るメモリシステムにおける書き込み動作のフローチャートである。
【図１８】図１８は、第６実施形態に係るメモリシステムにおける書き込み動作のフローチャートである。
【図１９】図１９は、第７実施形態に係るメモリシステムにおける読み出し動作のフローチャートである。
【図２０】図２０は、第７実施形態に係るメモリシステムにおける書き込み動作のフローチャートである。
【発明を実施するための形態】
【０００７】
以下に、実施形態について図面を参照して説明する。図面は模式的なものである。なお、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付す。参照符号を構成する文字の後の数字は、同じ文字を含んだ参照符号によって参照され、且つ同様の構成を有する要素同士を区別するために用いられている。同じ文字を含んだ参照符号で示される要素を相互に区別する必要がない場合、これらの要素は同じ文字のみを含んだ参照符号により参照される。
【０００８】
１．第１実施形態
以下に、第１実施形態に係るメモリシステムについて説明する。なお、以下の説明では、メモリシステムがＳＳＤ（Solid State Drive）である場合を例に説明する。
【０００９】
１．１  構成について
１．１．１  メモリシステムの構成について
まず、メモリシステム１の構成について、図１を用いて説明する。
【００１０】
図１に示すように、メモリシステム１は、記憶媒体１００及びコントローラ２００を備えている。
【００１１】
記憶媒体１００は、複数の独立したチップを含む。本実施形態では、チップが、三次元積層型ＮＡＮＤ型フラッシュメモリである場合について説明する。以下、チップを「ＮＡＮＤチップＣＰ」と呼ぶ。図１の例では、記憶媒体１００は、１６個のＮＡＮＤチップＣＰ０〜ＣＰ１５を含む。なお、記憶媒体１００に含まれるＮＡＮＤチップ数は、任意に設定可能である。ＮＡＮＤチップＣＰは、バスＮＢＵＳを介してコントローラ２００と接続される。より具体的には、ＮＡＮＤチップＣＰ０、ＣＰ４、ＣＰ８、及びＣＰ１２が、バスＮＢＵＳ０を介してコントローラ２００のチャネルＣＨ０に接続される。同様に、ＮＡＮＤチップＣＰ１、ＣＰ５、ＣＰ９、及びＣＰ１３が、バスＮＢＵＳ１を介してコントローラ２００のチャネルＣＨ１に接続され、ＮＡＮＤチップＣＰ２、ＣＰ６、ＣＰ１０、及びＣＰ１４が、バスＮＢＵＳ２を介してコントローラ２００のチャネルＣＨ２に接続され、ＮＡＮＤチップＣＰ３、ＣＰ７、ＣＰ１１、及びＣＰ１５が、バスＮＢＵＳ３を介してコントローラ２００のチャネルＣＨ３に接続される。なお、バスＮＢＵＳの本数及び１つのバスＮＢＵＳに接続されるＮＡＮＤチップＣＰの個数は任意である。
【００１２】
コントローラ２００は、ホスト機器２から命令を受け取り、受け取られた命令に基づいて記憶媒体１００を制御する。具体的には、コントローラ２００は、ホスト機器２から書き込み命令を受信した場合、データを記憶媒体１００に書き込み、ホスト機器２から読み出し命令を受信した場合、データを記憶媒体１００から読み出してホスト機器２に送信する。また、コントローラ２００は、記憶媒体１００のメモリ空間を管理する。
【００１３】
コントローラ２００は、ホストインターフェイス回路２１０、内蔵メモリ（ＲＡＭ）２２０、プロセッサ（ＣＰＵ）２３０、バッファメモリ２４０、ＮＡＮＤインターフェイス回路２５０、ＥＣＣ回路２６０、ＨＷタイマ２７０、及びＨＷレジスタ２８０を含む。コントローラ２００は、例えばＳｏＣ（system on chip）であっても良い。
【００１４】
ホストインターフェイス回路２１０は、コントローラバスを介してホスト機器２と接続され、ホスト機器２との通信を司る。ホストインターフェイス回路２１０とホスト機器２との間のコントローラバスの例は、ＳＡＴＡ（serial advanced technology attachment）、ＳＡＳ(serial attached small computer system interface)、ＰＣＩ(peripheral component interconnect)  ｅｘｐｒｅｓｓＴＭを含み、その他のバスであっても良い。ホストインターフェイス回路２１０は、プロセッサ２３０及びバッファメモリ２４０に、ホスト機器２から受信した命令及びデータを転送する。また、ホストインターフェイス回路２１０は、プロセッサ２３０の命令に応答して、バッファメモリ２４０内のデータをホスト機器２へ転送する。
【００１５】
ＮＡＮＤインターフェイス回路２５０は、バスＮＢＵＳを介して記憶媒体１００と接続され、記憶媒体１００との通信を司る。図１の例では、ＮＡＮＤインターフェイス回路２５０は、４つのチャネルＣＨ０〜ＣＨ３を有している。そしてチャネルＣＨ０〜ＣＨ３にバスＮＢＵＳ０〜ＮＢＵＳ３がそれぞれ接続される。ＮＡＮＤインターフェイス回路２５０は、書き込み時には、記憶媒体１００に、バッファメモリ２４０内の書き込みデータを転送する。更に、ＮＡＮＤインターフェイス回路２５０は、読み出し時には、バッファメモリ２４０に、記憶媒体１００から読み出されたデータを転送する。
【００１６】
プロセッサ（ＣＰＵ）２３０は、コントローラ２００全体の動作を制御する。また、プロセッサ２３０は、ホスト機器２の命令に応じて、各種コマンドを発行し、記憶媒体１００の対応するＮＡＮＤチップＣＰに送信する。例えば、プロセッサ２３０は、ホスト機器２から書き込み命令を受信した際には、それに応答して、記憶媒体１００の対応するＮＡＮＤチップＣＰに書き込み命令を送信する。読み出し及び消去の際も同様である。また、プロセッサ２３０は、ウェアレベリング等、記憶媒体１００を管理するための様々な処理を実行する。更に、プロセッサ２３０は、各種の演算を実行する。例えば、プロセッサ２３０は、データの暗号化処理やランダマイズ処理等を実行する。
【００１７】
また、プロセッサ２３０は、ホスト機器２から受信した論理アドレスと、当該論理アドレスに対応する記憶媒体１００の物理アドレスとを互いに変換する。論理アドレスは、ホスト機器２からアクセス（読み出し、書き込み、消去等）を要求されたデータに付される。物理アドレスは、記憶媒体１００のメモリ空間のある一部を特定する。
【００１８】
例えば、プロセッサ２３０は、ホスト機器２から読み出し命令を受信すると、記憶媒体１００内に格納された論理アドレスと物理アドレスとを関連付けたテーブル（以下、「ルックアップテーブルＬＵＴ」と呼ぶ）から、対象の論理アドレスに対応する物理アドレスのデータ（以下、「論物変換データ」と呼ぶ）をＲＡＭ２２０に読み出す。そして、プロセッサ２３０は、ＲＡＭ２２０に格納された論物変換データを用いて、論理アドレスを物理アドレスに変換した後、記憶媒体１００の対応するＮＡＮＤチップＣＰに読み出し命令を送信する。また、プロセッサ２３０は、ホスト機器２から書き込み命令を受信した場合、論理アドレスに対応する物理アドレスを割り当て、記憶媒体１００の対応するＮＡＮＤチップＣＰに書き込み命令を送信する。そして、プロセッサ２３０は、ＲＡＭ２２０に保持されている新規に割り当てた論物変換データを記憶媒体１００に送信し、ルックアップテーブルＬＵＴを更新する。
【００１９】
内蔵メモリ（ＲＡＭ）２２０は、例えばＤＲＡＭ（dynamic RAM）等の半導体メモリであり、プロセッサ２３０の作業領域として使用される。そして内蔵メモリ２２０は、記憶媒体１００を管理するためのファームウェアや、各種の管理テーブル等を保持する。また、ＲＡＭ２２０は、ルックアップテーブルＬＵＴから読み出した論物変換データ、あるいは新規に作成された論物変換データを、一時的に保持する。
【００２０】
バッファメモリ２４０は、記憶媒体１００に書き込まれるデータ（書き込みデータ）、及び記憶媒体１００から読み出されたデータ（読み出しデータ）等のデータを保持する。バッファメモリ２４０は、例えばＤＲＡＭとＤＲＡＭのコントローラ、及び／またはＳＲＡＭ（static RAM）を含む。
【００２１】
ＥＣＣ回路２６０は、データの誤り訂正（ＥＣＣ：Error Checking and Correcting）処理を実行する。ＥＣＣ回路２６０は、エラービット数をカウントし、ビットの不良率（以下、「ビットエラーレートＢＥＲ(bit error rate)」と呼ぶ）を、ＨＷレジスタ２８０に送信しても良い。
【００２２】
ＨＷタイマ２７０は、各ＮＡＮＤチップＣＰにおけるデータの読み出し動作期間及び／またはデータの書き込み動作期間を測定する。以下、読み出し動作期間を測定した結果を「読み出し速度」と呼び、書き込み動作期間を測定した結果を「書き込み速度」と呼ぶ。より具体的には、読み出し動作及び／または書き込み動作の際、ＮＡＮＤチップＣＰから送信されるレディ／ビジー信号Ｒ／Ｂｎがビジー状態を示す期間を測定し、その結果をＨＷレジスタ２８０に送信する。レディ／ビジー信号Ｒ／Ｂｎについては後述する。
【００２３】
ＨＷレジスタ２８０には、各ＮＡＮＤチップＣＰと読み出し速度情報及び／または書き込み速度情報とを関連付けるテーブルが格納されている。なお、ＨＷレジスタ２８０には、各ＮＡＮＤチップＣＰとビットエラーレートＢＥＲとを関連付けるテーブルが格納されていても良い。
【００２４】
１．１．２  ＮＡＮＤチップの構成について
次に、ＮＡＮＤチップＣＰの構成について、図２を用いて説明する。なお、図２では、各ブロック間の接続の一部が矢印線で示されているが、ブロック間の接続はこれに限定されない。
【００２５】
図２に示すように、ＮＡＮＤチップＣＰは、バスＮＢＵＳによってコントローラ２００と接続され、コントローラ２００からの命令に基づいて動作する。より具体的には、ＮＡＮＤチップＣＰは、コントローラ２００と、例えば８ビットの信号ＤＱ０〜ＤＱ７の送受信を行う。信号ＤＱ０〜ＤＱ７には、例えばデータ、アドレス、及びコマンドが含まれる。また、ＮＡＮＤチップＣＰは、コントローラ２００から、例えばチップイネーブル信号ＣＥｎ、コマンドラッチイネーブル信号ＣＬＥ、アドレスラッチイネーブル信号ＡＬＥ、ライトイネーブル信号ＷＥｎ、及びリードイネーブル信号ＲＥｎを受信する。そして、ＮＡＮＤチップＣＰは、コントローラ２００に、レディ／ビジー信号Ｒ／Ｂｎを送信する。
【００２６】
チップイネーブル信号ＣＥｎは、ＮＡＮＤチップＣＰをイネーブルにするための信号であり、例えばＬｏｗ（“Ｌ”）レベルでアサートされる。コマンドラッチイネーブル信号ＣＬＥは、信号ＤＱがコマンドであることを示す信号であり、例えばＨｉｇｈ（“Ｈ”）レベルでアサートされる。アドレスラッチイネーブル信号ＡＬＥは、信号ＤＱがアドレスであることを示す信号であり、例えば“Ｈ”レベルでアサートされる。ライトイネーブル信号ＷＥｎは、受信した信号をＮＡＮＤチップＣＰ内へ取り込むための信号であり、コントローラ２００よりコマンド、アドレス、及びデータ等を受信する度に、例えば“Ｌ”レベルでアサートされる。よって、ＷＥｎがトグルされる度に、信号ＤＱがＮＡＮＤチップＣＰに取り込まれる。リードイネーブル信号ＲＥｎは、コントローラ２００が、ＮＡＮＤチップＣＰからデータを読み出すための信号である。リードイネーブル信号ＲＥｎは、例えば“Ｌ”レベルでアサートされる。レディ／ビジー信号Ｒ／Ｂｎは、ＮＡＮＤチップＣＰがビジー状態であるかレディ状態であるか（コントローラ２００からコマンドを受信不可能な状態か可能な状態か）を示す信号であり、例えばＮＡＮＤチップＣＰがビジー状態の際に“Ｌ”レベルとされる。
【００２７】
ＮＡＮＤチップＣＰは、入出力回路１０、ロジック制御回路１１、ステータスレジスタ１２、アドレスレジスタ１３、コマンドレジスタ１４、シーケンサ１５、レディ／ビジー回路１６、電圧発生回路１７、メモリセルアレイ１８、ロウデコーダ１９、センスアンプ２０、データレジスタ２１、及びカラムデコーダ２２を含む。
【００２８】
入出力回路１０は、コントローラ２００との信号ＤＱの入出力を制御する。より具体的には、入出力回路１０は、入力回路と出力回路を備える。入力回路は、コントローラ２００から受信したデータＤＡＴ（書き込みデータＷＤ）を、データレジスタ２１に送信し、アドレスＡＤＤをアドレスレジスタ１３に送信し、コマンドＣＭＤをコマンドレジスタ１４に送信する。出力回路は、ステータスレジスタ１２から受信したステータス情報ＳＴＳ、データレジスタ２１から受信したデータＤＡＴ（読み出しデータＲＤ）、及びアドレスレジスタ１３から受信したアドレスＡＤＤをコントローラ２００に送信する。
【００２９】
ロジック制御回路１１は、コントローラ２００から例えばチップイネーブル信号ＣＥｎ、コマンドラッチイネーブル信号ＣＬＥ、アドレスラッチイネーブル信号ＡＬＥ、ライトイネーブル信号ＷＥｎ、及びリードイネーブル信号ＲＥｎを受信する。そしてロジック制御回路１１は、受信した信号に応じて、入出力回路１０及びシーケンサ１５を制御する。
【００３０】
ステータスレジスタ１２は、例えばデータの書き込み、読み出し、及び消去動作におけるステータス情報ＳＴＳを一時的に保持し、コントローラ２００に動作が正常に終了したか否かを通知する。
【００３１】
アドレスレジスタ１３は、入出力回路１０を介してコントローラ２００から受信したアドレスＡＤＤを一時的に保持する。そしてアドレスレジスタ１３は、ロウアドレスＲＡをロウデコーダ１９へ転送し、カラムアドレスＣＡをカラムデコーダ２２に転送する。
【００３２】
コマンドレジスタ１４は、入出力回路１０を介してコントローラ２００から受信したコマンドＣＭＤを一時的に保存し、シーケンサ１５に転送する。
【００３３】
シーケンサ１５は、ＮＡＮＤチップＣＰ全体の動作を制御する。より具体的には、シーケンサ１５は、コマンドレジスタ１４が保持するコマンドＣＭＤに応じて、例えばステータスレジスタ１２、レディ／ビジー回路１６、電圧発生回路１７、ロウデコーダ１９、センスアンプ２０、データレジスタ２１、及びカラムデコーダ２２等を制御し、書き込み動作、読み出し動作、及び消去動作等を実行する。
【００３４】
レディ／ビジー回路１６は、シーケンサ１５の動作状況に応じて、レディ／ビジー信号Ｒ／Ｂｎをコントローラ２００に送信する。
【００３５】
電圧発生回路１７は、シーケンサ１５の制御に応じて、書き込み動作、読み出し動作、及び消去動作に必要な電圧を発生させ、この発生した電圧を例えばメモリセルアレイ１８、ロウデコーダ１９、及びセンスアンプ２０等に供給する。ロウデコーダ１９及びセンスアンプ２０は、電圧発生回路１７より供給された電圧をメモリセルアレイ１８内のメモリセルトランジスタに印加する。
【００３６】
メモリセルアレイ１８は、ロウ及びカラムに対応付けられた不揮発性のメモリセルトランジスタ（以下、「メモリセル」とも表記する）を含む複数のブロックＢＬＫ（ＢＬＫ０、ＢＬＫ１、…、ＢＬ（Ｌ−１））（Ｌは２以上の整数）を備えている。各々のブロックＢＬＫは、複数のストリングユニットＳＵ（ＳＵ０、ＳＵ１、ＳＵ２、ＳＵ３、…）を含む。そして各々のストリングユニットＳＵは、複数のＮＡＮＤストリングＳＲを含む。なお、メモリセルアレイ１８内のブロックＢＬＫ数及びブロックＢＬＫ内のストリングユニットＳＵ数は任意である。メモリセルアレイ１８の詳細については後述する。
【００３７】
ロウデコーダ１９は、ロウアドレスＲＡをデコードする。ロウデコーダ１９は、デコード結果に基づき、ブロックＢＬＫのいずれかを選択し、更にいずれかのストリングユニットＳＵを選択する。そして、ロウデコーダ１９は、必要な電圧をブロックＢＬＫに印加する。
【００３８】
センスアンプ２０は、読み出し動作のときには、メモリセルアレイ１８から読み出されたデータをセンスする。そして、センスアンプ２０は、読み出しデータＲＤをデータレジスタ２１に送信する。また、センスアンプ２０は、書き込み動作のときには、書き込みデータＷＤをメモリセルアレイ１８に送信する。
【００３９】
データレジスタ２１は、複数のラッチ回路を備える。ラッチ回路は、書き込みデータＷＤ及び読み出しデータＲＤを保持する。例えば書き込み動作において、データレジスタ２１は、入出力回路１０から受信した書き込みデータＷＤを一時的に保持し、センスアンプ２０に送信する。また例えば、読み出し動作において、データレジスタ２１は、センスアンプ２０から受信した読み出しデータＲＤを一時的に保持し、入出力回路１０に送信する。
【００４０】
カラムデコーダ２２は、例えば書き込み動作、読み出し動作、及び消去動作の際、カラムアドレスＣＡをデコードし、デコード結果に応じてデータレジスタ２１内のラッチ回路を選択する。
【００４１】
１．１．３  メモリセルアレイの構成について  
次に、メモリセルアレイ１８の構成について、図３を用いて説明する。図３の例は、ブロックＢＬＫ０を示しているが、他のブロックＢＬＫの構成も同じである。
【００４２】
図３に示すように、ブロックＢＬＫ０は、例えば４つのストリングユニットＳＵ（ＳＵ０〜ＳＵ３）を含む。そして、各々のストリングユニットＳＵは、複数のＮＡＮＤストリングＳＲを含む。ＮＡＮＤストリングＳＲの各々は、例えば８個のメモリセルトランジスタＭＴ０〜ＭＴ７、並びに選択トランジスタＳＴ１及びＳＴ２を含んでいる。以下、メモリセルトランジスタＭＴ０〜ＭＴ７を限定しない場合は、メモリセルトランジスタＭＴと表記する。メモリセルトランジスタＭＴは、制御ゲートと電荷蓄積層とを備え、データを不揮発に保持する。
【００４３】
なお、メモリセルトランジスタＭＴは、電荷蓄積層に絶縁膜を用いたＭＯＮＯＳ型であっても良いし、電荷蓄積層に導電層を用いたＦＧ型であっても良い。以下、本実施形態では、ＭＯＮＯＳ型を例として説明する。また、メモリセルトランジスタＭＴの個数は８個に限られず、１６個や３２個、６４個、１２８個等であっても良く、その数は限定されるものではない。更に、選択トランジスタＳＴ１及びＳＴ２の個数は、任意であり、それぞれ１個以上あれば良い。
【００４４】
メモリセルトランジスタＭＴは、選択トランジスタＳＴ１のソースと選択トランジスタＳＴ２のドレインとの間に直列接続されている。より具体的には、メモリセルトランジスタＭＴ０〜ＭＴ７は、その電流経路が直列に接続される。そしてメモリセルトランジスタＭＴ７のドレインは、選択トランジスタＳＴ１のソースに接続され、メモリセルトランジスタＭＴ０のソースは、選択トランジスタＳＴ２のドレインに接続されている。
【００４５】
ストリングユニットＳＵ０〜ＳＵ３の各々における選択トランジスタＳＴ１のゲートは、それぞれ選択ゲート線ＳＧＤ０〜ＳＧＤ３を介してロウデコーダ１９に接続される。同様に、ストリングユニットＳＵ０〜ＳＵ３の各々における選択トランジスタＳＴ２のゲートは、それぞれ選択ゲート線ＳＧＳ０〜ＳＧＳ３を介してロウデコーダ１９に接続される。以下、選択ゲート線ＳＧＤ０〜ＳＧＤ３を限定しない場合は、選択ゲート線ＳＧＤと表記する。選択ゲート線ＳＧＳ０〜ＳＧＳ３を限定しない場合は、選択ゲート線ＳＧＳと表記する。なお、各ストリングユニットＳＵの選択ゲート線ＳＧＳ０〜ＳＧＳ３は共通に接続されても良い。
【００４６】
ブロックＢＬＫ内にあるメモリセルトランジスタＭＴ０〜ＭＴ７の制御ゲートは、それぞれワード線ＷＬ０〜ＷＬ７に共通接続される。ワード線ＷＬ０〜ＷＬ７はロウデコーダ１９に接続される。以下、ワード線ＷＬ０〜ＷＬ７を限定しない場合は、ワード線ＷＬと表記する。
【００４７】
ストリングユニットＳＵ内にある各ＮＡＮＤストリングＳＲの選択トランジスタＳＴ１のドレインは、それぞれ異なるビット線ＢＬ０〜ＢＬ（Ｎ−１）（Ｎは２以上の整数）に接続される。以下、ビット線ＢＬ０〜ＢＬ（Ｎ−１）を限定しない場合は、ビット線ＢＬと表記する。各ビット線ＢＬは、センスアンプ２０に接続される。各ビット線ＢＬは、複数のブロックＢＬＫ間で各ストリングユニットＳＵ内にある１つのＮＡＮＤストリングＳＲを共通に接続する。更に、複数の選択トランジスタＳＴ２のソースは、ソース線ＳＬに共通に接続されている。つまり、ストリングユニットＳＵは、異なるビット線ＢＬに接続され、且つ同一の選択ゲート線ＳＧＤ及びＳＧＳに接続されたＮＡＮＤストリングＳＲの集合体である。またブロックＢＬＫは、ワード線ＷＬを共通にする複数のストリングユニットＳＵの集合体である。そしてメモリセルアレイ１８は、ビット線ＢＬを共通にする複数のブロックＢＬＫの集合体である。
【００４８】
データの書き込み及び読み出しは、いずれかのストリングユニットＳＵにおけるいずれかのワード線ＷＬに接続されたメモリセルトランジスタＭＴに対して、一括して行われる。以下、データの書き込み及び読み出しの際、一括して選択されるメモリセルトランジスタＭＴの群を「メモリセルグループＭＣＧ」と呼ぶ。そして、１つのメモリセルグループＭＣＧに書き込まれる、または読み出される各メモリセルトランジスタＭＴの１ビットのデータの集まりを「ページ」と呼ぶ。
【００４９】
１．１．４  メモリセルアレイの断面構成について  
次に、メモリセルアレイ１８の断面構成について、図４を用いて説明する。図４の例は、ストリングユニットＳＵ０及びＳＵ１の断面を示しており、ストリングユニットＳＵ２及びＳＵ３の構成も同様である。なお、図４において、層間絶縁膜は省略されている。
【００５０】
図４に示すように、半導体基板３０に平行な第１方向Ｄ１に沿って、半導体基板３０に平行で第１方向Ｄ１に垂直な第２方向Ｄ２に延びる複数のソース線コンタクトＬＩが設けられている。２つのソース線コンタクトＬＩの間には、１つのストリングユニットＳＵが配置されている。ソース線コンタクトＬＩは、半導体基板３０とＮＡＮＤストリングＳＲよりも上方に設けられる図示せぬソース線ＳＬとを接続する。なお、ソース線コンタクトＬＩ及びＮＡＮＤストリングＳＲの配置は任意に設定可能である。例えば２つのソース線コンタクトＬＩの間に複数のストリングユニットＳＵが設けられても良い。更に図４の例では、説明を簡略化するために１つのストリングユニットＳＵにおいて、複数のＮＡＮＤストリングＳＲが、第２方向Ｄ２に沿って１列に配列されている場合を示しているが、１つのストリングユニットＳＵにおけるＮＡＮＤストリングＳＲの配列は任意に設定可能である。例えば、第２方向Ｄ２に沿って、２列並行に配置されても良く、４列の千鳥配置に配列されても良い。
【００５１】
各ストリングユニットＳＵにおいて、ＮＡＮＤストリングＳＲは、半導体基板３０に垂直な第３方向Ｄ３に沿って形成されている。より具体的には、半導体基板３０の表面領域には、ｎ型ウェル３１が設けられている。そして、ｎ型ウェル３１の表面領域には、ｐ型ウェル３２が設けられている。また、ｐ型ウェル３２の表面領域の一部には、ｎ＋型拡散層３３が設けられている。そしてｐ型ウェル３２の上方には、選択ゲート線ＳＧＳ、ワード線ＷＬ、及び選択ゲート線ＳＧＤとして機能する１０層の配線層３４が、それぞれ図示せぬ層間絶縁膜を介して順次積層されている。
【００５２】
そして、１０層の配線層３４を貫通してｐ型ウェル３２に達するピラー状の半導体層３５が形成されている。半導体層３５の側面には、トンネル絶縁膜３６、電荷蓄積層３７、及びブロック絶縁膜３８が順次形成される。半導体層３５には、例えば多結晶シリコンが用いられる。トンネル絶縁膜３６及びブロック絶縁膜３８には、例えばシリコン酸化膜が用いられる。電荷蓄積層３７には、例えばシリコン窒化膜が用いられる。以下、半導体層３５、トンネル絶縁膜３６、電荷蓄積層３７、及びブロック絶縁膜３８によって形成されるピラーを「メモリピラーＭＰ」と呼ぶ。半導体層３５は、ＮＡＮＤストリングＳＲの電流経路として機能し、各トランジスタのチャネルが形成される領域となる。そして半導体層３５の上端は、ビット線ＢＬとして機能する配線層（不図示）に接続される。メモリピラーＭＰと配線層３４とにより、メモリセルトランジスタＭＴ、並びに選択トランジスタＳＴ１及びＳＴ２が形成される。
【００５３】
図４の例では、メモリピラーＭＰの上面（開口部）の直径は、半導体基板３０に接する底面の直径よりも大きい。そしてメモリピラーＭＰの側面は、半導体基板３０の平面に対して傾斜角度が９０度以下となっている（以下、このような形状を「テーパー形状」と呼ぶ）。このような場合、メモリピラーＭＰの形状に応じて、配線層３４（レイヤ）毎にメモリセルトランジスタＭＴ（ＭＴ０〜ＭＴ７）のセルサイズが異なる。より具体的には、図４の例では、メモリセルトランジスタＭＴ０のセルサイズが最も小さく、メモリセルトランジスタＭＴ７のセルサイズが最も大きくなる。
【００５４】
セルサイズが異なると、例えば、１回のプログラムによるメモリセルトランジスタＭＴの閾値電圧の変動量が異なる場合がある。図４の例では、上層に位置するメモリセルトランジスタＭＴほど、１回のプログラムによる閾値電圧の変動量が大きくなる。１回のプログラムによる閾値電圧の変動量が大きくなると、閾値電圧をターゲットレベルまで上昇されるのに必要なプログラム回数が少なるため、書き込み動作の期間が短くなる。すなわち、書き込み速度が速くなる。
【００５５】
なお、メモリピラーＭＰの形状はテーパー形状に限定されない。例えば、メモリピラーＭＰは、上面から底面まで直径が同じ円柱形状をしていても良く、底面の直径が上面の直径よりも大きくても良い。
【００５６】
更に、図４の例では、選択ゲート線ＳＧＤ及びＳＧＳとして機能する配線層３４は、それぞれ１層設けられているが、複数層設けられても良い。
【００５７】
ソース線コンタクトＬＩは、第２方向Ｄ２に沿ってライン形状を有する。ソース線コンタクトＬＩには、例えば多結晶シリコンが用いられる。そしてソース線コンタクトＬＩの底面はｎ＋型拡散層３３に接続され、上面はソース線ＳＬとして機能する配線層（不図示）に接続される。
【００５８】
１．２  読み出し動作について
次に、読み出し動作について説明する。
【００５９】
１．２．１  メモリシステムにおける読み出し動作の全体の流れについて
まず、メモリシステム１における読み出し動作の全体の流れについて、図５を用いて説明する。
【００６０】
図５に示すように、まずコントローラ２００は、ホスト機器２から読み出し命令を受信する（ステップＳ１０１）
コントローラ２００は、読み出し命令で要求された論理アドレスに基づいて、対応するＮＡＮＤチップＣＰを選択する（ステップＳ１０２）。より具体的には、コントローラ２００は、記憶媒体１００内のルックアップテーブルＬＵＴを参照して、対象の論理アドレスに関する論物変換データを読み出す。次にコントローラ２００は、対象の論理アドレスを物理アドレスに変換する。そして、コントローラ２００は、変換された物理アドレスに対応するチャネルＣＨとＮＡＮＤチップＣＰを選択して、読み出し命令を選択ＮＡＮＤチップＣＰに送信する。以下、選択されたＮＡＮＤチップＣＰを、「選択ＮＡＮＤチップＣＰ」と表記する。
【００６１】
選択ＮＡＮＤチップＣＰは、コントローラ２００から読み出し命令を受信すると、読み出し動作を実行する（ステップＳ１０３）。選択ＮＡＮＤチップＣＰは、読み出し動作を実行している間、コントローラ２００に、“Ｌ”レベルのレディ／ビジー信号Ｒ／Ｂｎを送信する。
【００６２】
コントローラ２００のＨＷタイマ２７０は、レディ／ビジー信号Ｒ／Ｂｎが“Ｌ”レベルとされている期間（読み出し速度）を測定する（ステップＳ１０４）。
【００６３】
ＨＷタイマ２７０は、読み出し速度の測定結果をＨＷレジスタ２８０に送信する。ＨＷレジスタ２８０は、ＨＷタイマ２７０から受信した読み出し速度の測定結果に基づいて、対応するＮＡＮＤチップＣＰの読み出し速度情報を更新する（ステップＳ１０５）。
【００６４】
１．２．２  読み出し動作における各種信号の送受信について
次に、読み出し動作における各種信号の送受信について、図６を用いて説明する。図６は、読み出し動作時にコントローラ２００とＮＡＮＤチップＣＰとの間で送受信される各種信号のタイミングチャートである。なお、図６の例では、ルックアップテーブルＬＵＴ参照後の読み出し動作における信号の送受信が示されている。
【００６５】
図６に示すように、まず、コントローラ２００は、選択ＮＡＮＤチップＣＰのチャネルＣＨを選択し、選択ＮＡＮＤチップＣＰのチップイネーブル信号ＣＥｎを“Ｌ”レベルにしてアサートする。より具体的には、例えば、各チャネルＣＨにおいて、対応する４つのＮＡＮＤチップＣＰは、それぞれ異なる信号線を介してコントローラ２００からチップイネーブル信号ＣＥｎを受信する。コントローラ２００は、選択ＮＡＮＤチップＣＰに接続された信号線に対応するチップイネーブル信号ＣＥｎを“Ｌ”レベルにしてアサートする。
【００６６】
次に、コントローラ２００は、ライトイネーブル信号ＷＥｎをトグルし、読み出しを実行することを通知するコマンド“００ｈ”をＮＡＮＤチップＣＰに送信するとともに、コマンドラッチイネーブル信号ＣＬＥを“Ｈ”レベルにしてアサートする。
【００６７】
次に、コントローラ２００は、ライトイネーブル信号ＷＥｎをトグルし、アドレスＡＤＤを送信すると共に、アドレスラッチイネーブル信号ＡＬＥを“Ｈ”レベルにしてアサートする。図６の例では、カラムアドレスＣＡを２サイクル送信した後、ロウアドレスＲＡを３サイクル送信する場合を示しているが、カラムアドレスＣＡ及びロウアドレスＲＡのサイクルは任意に設定可能である。
【００６８】
次に、コントローラ２００は、ライトイネーブル信号ＷＥｎをトグルし、読み出しの実行を指示するリードコマンド“３０ｈ”を送信すると共に、コマンドラッチイネーブル信号ＣＬＥを“Ｈ”レベルにしてアサートする。
【００６９】
ＮＡＮＤチップＣＰは、リードコマンド“３０ｈ”に応じて、読み出しを開始する。このとき、レディ／ビジー信号Ｒ／Ｂｎは、“Ｌ”レベル（ビジー状態）とされる。ＮＡＮＤチップＣＰ内のセンスアンプ２０は、メモリセルアレイ１８からデータを読み出し、データレジスタ２１に転送する。そして、データレジスタ２１へのデータの転送が終了すると、レディ／ビジー信号Ｒ／Ｂｎは、“Ｈ”レベル（レディ状態）とされる。以下、読み出し動作において、レディ／ビジー信号Ｒ／Ｂｎが“Ｌ”レベルとされる期間を「期間ｔＲ」と表記する。読み出し速度情報を更新する場合、コントローラ２００のＨＷタイマ２７０は、期間ｔＲを測定し、その結果をＨＷレジスタ２８０に送信する。ＨＷレジスタ２８０では、期間ｔＲの測定結果が、読み出し速度情報として、ＮＡＮＤチップＣＰ毎に格納される。
【００７０】
また、コントローラ２００は、レディ／ビジー信号Ｒ／Ｂｎが“Ｈ”レベル（レディ状態）に復帰したのを確認すると、リードイネーブル信号ＲＥｎを“Ｌ”レベルにしてアサートする。ＮＡＮＤチップＣＰは、トグルされるリードイネーブル信号ＲＥｎに基づいて、コントローラ２００に読み出しデータＲＤを送信する。なお、コントローラ２００は、期間ｔＲ後、データレジスタ２１からコントローラ２００へのデータ読み出しを命令するキャッシュ読み出し命令をＮＡＮＤチップＣＰに送信した後、リードイネーブル信号ＲＥｎを“Ｌ”レベルにしてアサートしても良い。
【００７１】
１．３  書き込み動作について
次に、書き込み動作について説明する。本実施形態では、３種類のデータに対応する３つの書き込み動作について説明する。３つの書き込み動作は、記憶媒体１００におけるＮＡＮＤチップＣＰの選択方法がそれぞれ異なり、ＮＡＮＤチップＣＰにおける書き込み動作は同じである。
【００７２】
１つ目は、ホスト機器２から受信したデータ（以下、「ユーザデータ」と呼ぶ）を書き込む動作（以下、「通常の書き込み」と呼ぶ）である。この場合、メモリシステム１は、ホスト機器から受信した書き込み命令に基づいて、書き込み動作を実行する。ＥＣＣ回路２６０は、ユーザデータに対して、一定のデータサイズ毎（以下、「ＥＣＣフレームサイズ毎」と呼ぶ）にＥＣＣデータを付与する。そして、記憶媒体１００には、ユーザデータと付与されたＥＣＣデータとが書き込まれる。通常の書き込みでは、コントローラ２００は、各チャネルＣＨのＮＡＮＤチップＣＰを順番に選択する。より具体的には、例えば、コントローラ２００は、チャネルＣＨ０のＮＡＮＤチップＣＰ０、チャネルＣＨ１のＮＡＮＤチップＣＰ１、チャネルＣＨ２のＮＡＮＤチップＣＰ２、チャネルＣＨ３のＮＡＮＤチップＣＰ３、チャネルＣＨ０のＮＡＮＤチップＣＰ４、…、チャネルＣＨ３のＮＡＮＤチップＣＰ１５の順に選択する。
【００７３】
２つ目は、記憶媒体１００のルックアップテーブルＬＵＴに更新された論物変換データを書き込む動作（以下「ＬＵＴ書き込み」と呼ぶ）である。コントローラ２００は、通常の書き込み動作に対応して、論物変換データを更新し、ＲＡＭ２２０に一時的に格納する。そして、ＲＡＭ２２０内の更新された論物変換データが一定のデータサイズ（例えばページサイズ）になると、コントローラ２００は、ルックアップテーブルＬＵＴの書き込み動作を実行する。ＬＵＴ書き込みでは、ユーザデータを除く参照頻度が比較的高いデータが書き込まれる。このため、コントローラ２００は、読み出し速度情報及び／または書き込み速度情報に基づいて各チャネルＣＨの読み出し速度及び／または書き込み速度の速いＮＡＮＤチップＣＰを選択して書き込みを実行する。なお、ＬＵＴ書き込みの対象となるデータは、論物変換データに限定されず、ユーザデータを除いた参照頻度が比較的高いデータであれば良い。
【００７４】
３つ目は、復旧用システムデータまたはパリティデータを書き込む動作（以下、「パリティ書き込み」と呼ぶ）である。復旧用システムデータは、例えば電源遮断等のトラブルに備えて記憶されるデータであり、記憶媒体１００の使用状況（例えば、書き込み済みのアドレス等）についての情報が含まれる。このため、復旧用システムデータは、定期的、またはホスト機器２の要求により記憶（不揮発化）される。復旧用システムデータは、電源遮断等のトラブルが無ければ使用されないため、参照頻度が低い。図７に示すように、パリティデータは、ユーザデータの複数のＥＣＣフレームサイズに含まれる１部のデータを用いて作成される。パリティデータは、読み出し動作において１つのＥＣＣフレームサイズに対して付与されたＥＣＣデータではＥＣＣ処理ができなかった場合に使用される。このため、パリティデータは、参照頻度が低い。パリティ書き込みではユーザデータを除く参照頻度が比較的低いデータが書き込まれる。このため、コントローラ２００は、読み出し速度情報及び／または書き込み速度情報に基づいて各チャネルＣＨの読み出し速度及び／または書き込み速度の遅いチップを選択して書き込みを実行する。なお、パリティ書き込みの対象となるデータは、復旧用システムデータ及びパリティデータに限定されず、ユーザデータを除いた参照頻度が比較的低いデータであれば良い。
【００７５】
１．３．１  メモリシステムにおける書き込み動作の全体の流れについて
次に、メモリシステム１における書き込み動作の全体の流れについて、図８を用いて説明する。図８の例では、読み出し速度情報を参照してＮＡＮＤチップＣＰが選択される場合を示している。この場合、書き込み速度情報の更新が省略されている。
【００７６】
図８に示すように、メモリシステム１は、例えばホスト機器２からの書き込み命令に基づいて、書き込み動作を開始する（ステップＳ２０１）。より具体的には、ホスト機器２から書き込み命令を受信した場合、通常の書き込みが開始される。また、更新された論物変換データの書き込みが必要とコントローラ２００が判断した場合、ＬＵＴ書き込みが開始される。更に、復旧用システムデータのバックアップが必要とコントローラ２００が判断した場合、また、通常の書き込みにともないパリティデータが発生した場合、パリティ書き込みが開始される。
【００７７】
ＬＵＴ書き込みの場合（ステップＳ２０２＿Ｙｅｓ）、コントローラ２００は、読み出し速度情報を参照して（ステップＳ２０５）、各チャネルＣＨの読み出し速度が速いＮＡＮＤチップＣＰを選択する（ステップＳ２０６）。
【００７８】
コントローラ２００は、例えばチャネルＣＨ０〜ＣＨ３の順に、各選択ＮＡＮＤチップＣＰに書き込み命令を送信する。そして、選択ＮＡＮＤチップＣＰは、書き込み命令に基づいて、書き込み動作を実行する（ステップＳ２０７）。
【００７９】
パリティ書き込みの場合（ステップＳ２０２＿Ｎｏ、ステップＳ２０３＿Ｙｅｓ）、コントローラ２００は、読み出し速度情報を参照して（ステップＳ２０８）、各チャネルＣＨの読み出し速度が遅いＮＡＮＤチップＣＰを選択する（ステップＳ２０９）。
【００８０】
コントローラ２００は、例えばチャネルＣＨ０〜ＣＨ３の順に、各選択ＮＡＮＤチップＣＰに書き込み命令を送信する。そして、選択ＮＡＮＤチップＣＰは、書き込み命令に基づいて、書き込み動作を実行する（ステップＳ２１０）。
【００８１】
ＬＵＴ書き込み及びパリティ書き込みではない場合（ステップＳ２０２＿Ｎｏ、ステップＳ２０３＿Ｎｏ）、通常の書き込み動作が実行される（ステップＳ２０４）。
【００８２】
１．３．２  書き込み動作における各種信号の送受信について
次に、書き込み動作における各種信号の送受信について、図９を用いて説明する。図９は、書き込み動作時にコントローラ２００とＮＡＮＤチップＣＰとの間で送受信される各種信号のタイミングチャートである。
【００８３】
図９に示すように、まず、コントローラ２００は、選択ＮＡＮＤチップＣＰのチャネルＣＨを選択し、選択ＮＡＮＤチップＣＰのチップイネーブル信号ＣＥｎを“Ｌ”レベルにしてアサートする。より具体的には、例えば、各チャネルＣＨにおいて、対応する４つのＮＡＮＤチップＣＰは、それぞれ異なる信号線を介してコントローラ２００からチップイネーブル信号ＣＥｎを受信する。コントローラ２００は、選択ＮＡＮＤチップＣＰに接続された信号線に対応するチップイネーブル信号ＣＥｎを“Ｌ”レベルにしてアサートする。
【００８４】
次に、コントローラ２００は、ライトイネーブル信号ＷＥｎをトグルし、書き込み動作を実行することを通知するコマンド“８０ｈ”を記憶媒体１００に送信するとともに、コマンドラッチイネーブル信号ＣＬＥを“Ｈ”レベルにしてアサートする。
【００８５】
次に、コントローラ２００は、ライトイネーブル信号ＷＥｎをトグルし、アドレス“ＡＤＤ”を送信すると共に、アドレスラッチイネーブル信号ＡＬＥを“Ｈ”レベルにしてアサートする。なお、図９の例では、カラムアドレスＣＡを２サイクル送信した後、ロウアドレスＲＡを３サイクル送信する場合を示しているが、カラムアドレス及びロウアドレスのサイクルは任意に設定可能である。
【００８６】
次に、コントローラ２００は、ライトイネーブル信号ＷＥｎをトグルするとともに、書き込みデータＷＤを必要なサイクル数送信する。
【００８７】
更に、コントローラ２００は、ライトイネーブル信号ＷＥｎをトグルし、書き込み実行を指示するライトコマンド“１０ｈ”を送信すると共に、コマンドラッチイネーブル信号ＣＬＥを“Ｈ”レベルにしてアサートする。ライトコマンド“１０ｈ”に応答して、ＮＡＮＤチップＣＰは、書き込み動作を開始し、ビジー状態となる（Ｒ／Ｂｎ＝“Ｌ”）。そして、メモリセルアレイ１８への書き込みが終了すると、レディ／ビジー信号Ｒ／Ｂｎは“Ｈ”レベルとされる。以下、書き込み動作において、レディ／ビジー信号Ｒ／Ｂｎが“Ｌ”レベルとされる期間を「期間ｔＰＲＯＧ」と表記する。書き込み速度情報を更新する場合、コントローラ２００のＨＷタイマ２７０は、期間ｔＰＲＯＧを測定し、その結果をＨＷレジスタ２８０に送信する。ＨＷレジスタ２８０では、期間ｔＰＲＯＧの測定結果が、書き込み速度情報として、ＮＡＮＤチップＣＰ毎に格納される。
【００８８】
１．３．３  ＮＡＮＤチップにおける書き込み動作について
次に、ＮＡＮＤチップにおける書き込み動作について説明する。ＮＡＮＤチップＣＰにおける書き込み動作は、大まかにはプログラムとベリファイとを含む。プログラムは、電子を電荷蓄積層に注入することにより閾値電圧を上昇させる（または注入を禁止することで閾値電圧を維持させる）動作のことである。また、ベリファイは、プログラムの後、データを読み出し、メモリセルトランジスタＭＴの閾値電圧が目標とするターゲットレベルに達したか否かを判定する動作である。そして、プログラムとベリファイとの組み合わせ（以下、「プログラムループ」と呼ぶ）を繰り返すことで、メモリセルトランジスタＭＴの閾値電圧がターゲットレベルまで上昇される。従って、書き込み速度が速くなると、より少ないループ回数で、閾値電圧がターゲットレベルまで達するようになる。このため、書き込み速度が速い場合、書き込み動作の期間ｔＰＲＯＧは短くなる。
【００８９】
１．４  各書き込み動作におけるＮＡＮＤチップ選択の具体例について
次に、各書き込み動作におけるＮＡＮＤチップ選択の具体例について説明する。
【００９０】
１．４．１  ＬＵＴ書き込みの例について
まず、ＬＵＴ書き込みの場合のＮＡＮＤチップＣＰの選択の例について、図１０を用いて説明する。図１０の例は、読み出し速度情報に基づいてＮＡＮＤチップＣＰを選択する場合を示している。なお、図１０の例では、ＨＷレジスタ２８０内に、読み出し速度情報として、各チャネルＣＨにおけるＮＡＮＤチップＣＰの読み出し速度の順位（参照符号“順位”）が、各ＮＡＮＤチップＣＰに対応して格納されている場合を示している。
【００９１】
図１０に示すように、コントローラ２００のＨＷレジスタ２８０には、各ＮＡＮＤチップＣＰの読み出し速度情報が格納されている。そして、ＬＵＴ書き込みの場合、プロセッサ２３０は、ＨＷレジスタ２８０の読み出し速度情報を参照し、各チャネルＣＨにおいて読み出し速度が速い、すなわち読み出し速度の順位が１番のＮＡＮＤチップＣＰを選択する。図１０の例では、選択されたＮＡＮＤチップＣＰ（及び対応する順位）が斜線のハッチングで示されており、チャネルＣＨ０のＮＡＮＤチップＣＰ４、チャネルＣＨ１のＮＡＮＤチップＣＰ１３、チャネルＣＨ２のＮＡＮＤチップＣＰ２、及びチャネルＣＨ３のＮＡＮＤチップＣＰ７が選択される。ＬＵＴ書き込みの場合、他のＮＡＮＤチップＣＰは使用されず、この４つのＮＡＮＤチップＣＰが使用される。この結果、ＮＡＮＤチップＣＰ４、ＣＰ１３、ＣＰ２、及びＣＰ７によるループがチップインターリーブの単位となる。例えば、ＮＡＮＤチップＣＰ４、ＣＰ１３、ＣＰ２、及びＣＰ７内の１つのブロックＢＬＫがＬＵＴ書き込みにそれぞれ割り当てられる。コントローラ２００は、ＮＡＮＤチップＣＰ４、ＣＰ１３、ＣＰ２、及びＣＰ７の順に選択を繰り返しながら、論物変換データ、すなわちユーザデータを除いた参照頻度が比較的高いデータを各ＮＡＮＤチップＣＰのメモリセルアレイ１８に格納する。
【００９２】
１．４．２  パリティ書き込みの例について
次に、パリティ書き込みの場合のＮＡＮＤチップＣＰの選択の例について、図１１を用いて説明する。図１１の例は、図１０の例と同様に、読み出し速度情報に基づいてＮＡＮＤチップＣＰを選択する場合を示している。
【００９３】
図１１に示すように、パリティ書き込みの場合、プロセッサ２３０は、ＨＷレジスタ２８０の読み出し速度情報を参照し、各チャネルＣＨにおいて読み出し速度が遅い、すなわち読み出し速度の順位が４番のＮＡＮＤチップＣＰを選択する。図１１の例では、選択されたＮＡＮＤチップＣＰ（及び対応する順位）が斜線のハッチングで示されており、チャネルＣＨ０のＮＡＮＤチップＣＰ１２、チャネルＣＨ１のＮＡＮＤチップＣＰ５、チャネルＣＨ２のＮＡＮＤチップＣＰ１０、及びチャネルＣＨ３のＮＡＮＤチップＣＰ３が選択される。パリティ書き込みの場合、他のＮＡＮＤチップＣＰは使用されず、この４つのＮＡＮＤチップＣＰが使用される。この結果、ＮＡＮＤチップＣＰ１２、ＣＰ５、ＣＰ１０、及びＣＰ３によるループがチップインターリーブの単位となる。例えば、ＮＡＮＤチップＣＰ１２、ＣＰ５、ＣＰ１０、及びＣＰ３内の１つのブロックＢＬＫがパリティ書き込みにそれぞれ割り当てられる。コントローラ２００は、ＮＡＮＤチップＣＰ１２、ＣＰ５、ＣＰ１０、及びＣＰ３の順に選択を繰り返しながら、復旧用システムデータまたはパリティデータ、すなわちユーザデータを除いた参照頻度が比較的低いデータを各ＮＡＮＤチップＣＰのメモリセルアレイ１８に格納する。
【００９４】
１．４．３  通常の書き込みの例について
次に、通常の書き込みの場合のＮＡＮＤチップＣＰの選択の例について、図１２を用いて説明する。
【００９５】
図１２に示すように、通常の書き込みの場合、プロセッサ２３０は、ＨＷレジスタ２８０の読み出し速度情報を参照せずに、ＮＡＮＤチップＣＰを順次選択する。図１２の例では、コントローラ２００は、チャネルＣＨ０のＮＡＮＤチップＣＰ０、チャネルＣＨ１のＮＡＮＤチップＣＰ１、チャネルＣＨ２のＮＡＮＤチップＣＰ２、チャネルＣＨ３のＮＡＮＤチップＣＰ３、チャネルＣＨ０のＮＡＮＤチップＣＰ４、…、チャネルＣＨ３のＮＡＮＤチップＣＰ１５の順に選択を繰り返しながら、ユーザデータを各ＮＡＮＤチップＣＰのメモリセルアレイ１８に格納する。
【００９６】
１．５  本実施形態に係る効果について
本実施形態に係る構成であれば、メモリシステムの処理能力を向上できる。以下、本効果について詳述する。
【００９７】
記憶媒体として複数のＮＡＮＤチップを有するメモリシステムにおいては、例えば、レイアウト等の設計起因、製造起因、または、書き込み／消去の繰り返しによる特性の劣化等によるバラつきにより、ＮＡＮＤチップ間で読み出し速度及び／または書き込み速度が異なる場合がある。
【００９８】
そこで、本実施形態に係る構成は、読み出し速度を測定するＨＷタイマ２７０及び各ＮＡＮＤチップＣＰの読み出し速度情報を保持可能なＨＷレジスタ２８０を備える。そして、参照頻度が比較的高いデータは、読み出し速度が比較的速いＮＡＮＤチップＣＰに書き込み、参照頻度が比較的低いデータは、読み出し速度が比較的遅いＮＡＮＤチップＣＰに書き込むことができる。これにより、書き込み動作及び読み出し動作の効率を改善できる。従って、メモリシステムの処理能力を向上できる。
【００９９】
２．第２実施形態
次に、第２実施形態について説明する。第２実施形態では、書き込み速度を測定する場合について説明する。以下、第１実施形態と異なる点についてのみ説明する。
【０１００】
２．１  メモリシステムにおける書き込み動作の全体の流れについて
メモリシステム１における書き込み動作の全体の流れについて、図１３を用いて説明する。
【０１０１】
図１３に示すように、ＬＵＴ書き込みの場合（ステップＳ２０２＿Ｙｅｓ）、コントローラ２００は、書き込み速度情報を参照して（ステップＳ２２２）、各チャネルＣＨにおいて書き込み速度が速いＮＡＮＤチップＣＰを選択する（ステップＳ２２３）。そして、選択ＮＡＮＤチップＣＰは、書き込み命令に基づいて、書き込み動作を実行する（ステップＳ２２４）。
【０１０２】
パリティ書き込みの場合（ステップＳ２０２＿Ｎｏ、ステップＳ２０３＿Ｙｅｓ）、コントローラ２００は、書き込み速度情報を参照して（ステップＳ２２５）、各チャネルＣＨにおいて書き込み速度が遅いＮＡＮＤチップＣＰを選択する（ステップＳ２２６）。そして、選択ＮＡＮＤチップＣＰは、書き込み命令に基づいて、書き込み動作を実行する（ステップＳ２２７）。
【０１０３】
ＬＵＴ書き込み及びパリティ書き込みではない場合（ステップＳ２０２＿Ｎｏ、ステップＳ２０３＿Ｎｏ）、通常の書き込み動作が実行される（ステップＳ２０４）。
【０１０４】
選択ＮＡＮＤチップＣＰが書き込み動作を実行している間（ステップＳ２０４、Ｓ２２４、またはＳ２２７）、ＨＷタイマ２７０は、書き込み動作の期間ｔＰＲＯＧ（書き込み速度）を測定する（ステップＳ２２０）。
【０１０５】
ＨＷレジスタ２８０は、ＨＷタイマ２７０から受信した書き込み速度の測定結果に基づいて、対応するＮＡＮＤチップＣＰの書き込み速度情報を更新する（ステップＳ２２１）。
【０１０６】
なお、ＬＵＴ書き込みでは、論物変換データに限定されず、書き込み頻度が高いなどの理由で速いＮＡＮＤチップＣＰに書くことによって書き込み性能の向上が見込めるデータが書き込まれても良い。また、パリティ書き込みでは、復旧用システムデータまたはパリティデータに限定されず、書き込み頻度が低いなどの理由で速いＮＡＮＤチップＣＰに書いても書き込み性能向上がそれほど見込めないデータが書き込まれても良い。
【０１０７】
２．２  本実施形態に係る効果について
本実施形態に係る構成であれば、第１実施形態と同様の効果が得られる。より具体的には、書き込み速度を測定するＨＷタイマ２７０及び各ＮＡＮＤチップＣＰの書き込み速度情報を保持可能なＨＷレジスタ２８０を備える。そして、参照頻度が比較的高いデータ、または書き込み頻度が高いなどの理由で速いＮＡＮＤチップＣＰに書くことによって書き込み性能の向上が見込めるデータは、書き込み速度が比較的速いＮＡＮＤチップＣＰに書き込み、参照頻度が比較的低いデータ、または書き込み頻度が低いなどの理由で速いＮＡＮＤチップＣＰに書いても書き込み性能向上がそれほど見込めないデータは、書き込み速度が比較的遅いＮＡＮＤチップＣＰに書き込むことができる。これにより、書き込み動作及び読み出し動作の効率を改善できる。従って、メモリシステムの処理能力を向上できる。
【０１０８】
３．第３実施形態
次に、第３実施形態について説明する。第３実施形態では、ＨＷレジスタ２８０に製造時に測定された読み出し速度情報及び／または書き込み速度情報が格納されている場合について説明する。なお、本実施形態では、読み出し速度及び／または書き込み速度を測定するためのＨＷタイマ２７０は廃されている。以下、第１及び第２実施形態と異なる点についてのみ説明する。
【０１０９】
３．１  メモリシステムにおける読み出し動作の全体の流れについて
まず、メモリシステム１における読み出し動作の全体の流れについて、図１４を用いて説明する。
【０１１０】
図１４に示すように、第１実施形態の図５と異なる点は、読み出し速度情報を更新するためのステップＳ１０４及びＳ１０５が廃されている点である。
【０１１１】
３．２  メモリシステムにおける書き込み動作の全体の流れについて
次に、メモリシステム１における書き込み動作の全体の流れについて、図１５を用いて説明する。なお、図１５の例は、読み出し速度情報に基づいてＮＡＮＤチップＣＰを選択する場合を示しているが、書き込み速度情報、または読み出し速度情報及び書き込み速度情報の両方、に基づいてＮＡＮＤチップＣＰを選択しても良い。
【０１１２】
図１５に示すように、ＬＵＴ書き込みの場合（ステップＳ２０２＿Ｙｅｓ）、コントローラ２００は、製造時に測定された読み出し速度情報を参照して（ステップＳ２３０）、各チャネルＣＨにおいて読み出し速度が速いＮＡＮＤチップＣＰを選択する（ステップＳ２０６）。そして、選択ＮＡＮＤチップＣＰは、書き込み命令に基づいて、書き込み動作を実行する（ステップＳ２０７）。
【０１１３】
パリティ書き込みの場合（ステップＳ２０２＿Ｎｏ、ステップＳ２０３＿Ｙｅｓ）、コントローラ２００は、製造時に測定された読み出し速度情報を参照して（ステップＳ２３１）、各チャネルＣＨにおいて読み出し速度が遅いＮＡＮＤチップＣＰを選択する（ステップＳ２０９）。そして、選択ＮＡＮＤチップＣＰは、書き込み命令に基づいて、書き込み動作を実行する（ステップＳ２１０）。
【０１１４】
ステップＳ２０４の通常の書き込み動作は、第１実施形態と同じである。
【０１１５】
なお、本実施形態では、ＨＷレジスタ２８０内の読み出し速度情報を参照する場合について説明したが、ＨＷレジスタ２８０を廃しても良い。そして、ＨＷレジスタ２８０に読み出し速度情報を格納する代わりに、読み出し速度情報に基づいてコントローラ２００に実装されたｅＦｕｓｅを出荷時にカットしておき、これに基づいてＮＡＮＤチップＣＰが選択されても良い。
【０１１６】
３．３  本実施形態に係る効果について
本実施形態に係る構成であれば、第１及び第２実施形態と同様の効果が得られる。
【０１１７】
４．第４実施形態
次に、第４実施形態について説明する。第４実施形態では、ＨＷレジスタ２８０に、各ＮＡＮＤチップＣＰのブロックＢＬＫ毎に、読み出し速度情報及び／または書き込み速度情報が格納され、読み出し速度及び／または書き込み速度が速いブロックＢＬＫが含まれるＮＡＮＤチップＣＰが選択される場合を示す。以下、第１乃至第３実施形態と異なる点についてのみ説明する。
【０１１８】
４．１  メモリシステムにおける書き込み動作の全体の流れについて
メモリシステム１における書き込み動作の全体の流れについて、図１６を用いて説明する。なお、図１６の例は、読み出し速度情報に基づいてブロックＢＬＫを選択する場合を示す。
【０１１９】
図１６に示すように、ＬＵＴ書き込みの場合（ステップＳ２０２＿Ｙｅｓ）、コントローラ２００は、各ブロックＢＬＫの読み出し速度情報を参照して（ステップＳ２４０）、各チャネルＣＨにおいて読み出し速度が速いブロックＢＬＫが含まれるＮＡＮＤチップＣＰを選択する（ステップＳ２４１）。そして、選択ＮＡＮＤチップＣＰは、書き込み命令に基づいて、読み出し速度が速いブロックＢＬＫに、書き込み動作を実行する（ステップＳ２４２）。
【０１２０】
パリティ書き込みの場合（ステップＳ２０２＿Ｎｏ、ステップＳ２０３＿Ｙｅｓ）、コントローラ２００は、各ブロックＢＬＫの読み出し速度情報を参照して（ステップＳ２４３）、各チャネルＣＨにおいて読み出し速度が遅いブロックＢＬＫが含まれるＮＡＮＤチップＣＰを選択する（ステップＳ２４４）。そして、選択ＮＡＮＤチップＣＰは、書き込み命令に基づいて、読み出し速度が遅いブロックＢＬＫに、書き込み動作を実行する（ステップＳ２４５）。
【０１２１】
ステップＳ２０４の通常の書き込み動作は、第１及び第３実施形態と同じである。
【０１２２】
４．２  本実施形態に係る効果について
本実施形態に係る構成であれば、第１乃至第３実施形態と同様の効果が得られる。
【０１２３】
５．第５実施形態
次に、第５実施形態について説明する。第５実施形態では、ＨＷレジスタ２８０に、各ＮＡＮＤチップＣＰの各ブロックＢＬＫのワード線ＷＬ毎に、読み出し速度情報及び／または書き込み速度情報が格納され、書き込み速度及び／または読み出し速度が速いメモリセルトランジスタＭＴが接続されるワード線ＷＬが含まれるＮＡＮＤチップＣＰが選択される場合を示す。以下、第１乃至第４実施形態と異なる点についてのみ説明する。
【０１２４】
５．１  メモリシステムにおける書き込み動作の全体の流れについて
メモリシステム１における書き込み動作の全体の流れについて、図１７を用いて説明する。なお、図１７の例は、読み出し速度情報に基づいてワード線ＷＬを選択する場合を示す。
【０１２５】
図１７に示すように、ＬＵＴ書き込みの場合（ステップＳ２０２＿Ｙｅｓ）、コントローラ２００は、各ワード線ＷＬの読み出し速度情報を参照して（ステップＳ２５０）、各チャネルＣＨにおいて読み出し速度が速い（メモリセルトランジスタＭＴに接続された）ワード線ＷＬが含まれるＮＡＮＤチップＣＰを選択する（ステップＳ２５１）。そして、選択ＮＡＮＤチップＣＰは、書き込み命令に基づいて、読み出し速度が速いワードＷＬに対応するメモリセルグループＭＣＧに、書き込み動作を実行する（ステップＳ２５２）。より具体的には、例えば第１実施形態の図３及び図４で説明したメモリセルアレイ１８において、ブロックＢＬＫ０のワード線ＷＬ７が選択された場合、ワード線ＷＬ７が接続されたストリングユニットＳＵ０〜ＳＵ３の各メモリセルグループＭＣＧが、書き込み対象となる。
【０１２６】
パリティ書き込みの場合（ステップＳ２０２＿Ｎｏ、ステップＳ２０３＿Ｙｅｓ）、コントローラ２００は、各ワード線ＷＬの読み出し速度情報を参照して（ステップＳ２５３）、各チャネルＣＨにおいて読み出し速度が遅いワード線ＷＬが含まれるＮＡＮＤチップＣＰを選択する（ステップＳ２５４）。そして、選択ＮＡＮＤチップＣＰは、書き込み命令に基づいて、読み出し速度が遅いワードＷＬに対応するメモリセルグループＭＣＧに、書き込み動作を実行する（ステップＳ２５５）。より具体的には、例えばブロックＢＬＫ０のワード線ＷＬ０が選択された場合、ワード線ＷＬ０が接続されたストリングユニットＳＵ０〜ＳＵ４の各メモリセルグループＭＣＧが、書き込み対象となる。
【０１２７】
ステップＳ２０４の通常の書き込み動作は、第１乃至第４実施形態と同じである。
【０１２８】
５．２  本実施形態に係る効果について
本実施形態に係る構成であれば、第１乃至第４実施形態と同様の効果が得られる。
【０１２９】
６．第６実施形態
次に、第６実施形態について説明する。第６実施形態では、ＨＷレジスタ２８０にＮＡＮＤチップＣＰの設計情報（以下、「ＮＡＮＤ設計情報」と表記する）が格納されている場合について説明する。ＮＡＮＤ設計情報は、例えば、コントローラ２００と各ＮＡＮＤチップＣＰとを接続する配線のレイアウト、ＮＡＮＤチップＣＰ内のメモリセルアレイ１８と周辺回路（センスアンプ２０、ロウデコーダ１９等）とを接続する配線のレイアウト、またはメモリセルトランジスタＭＴの三次元構造等の設計情報から、各ＮＡＮＤチップＣＰの読み出し速度及び／または書き込み速度を予測した情報である。なお、本実施形態では、第３実施形態と同様に、書き込み速度及び／または読み出し速度を測定するためのＨＷタイマ２７０は廃されている。以下、第１乃至第５実施形態と異なる点についてのみ説明する。
【０１３０】
なお、本実施形態では、ＨＷレジスタ２８０内のＮＡＮＤ設計情報を参照する場合について説明したが、ＨＷレジスタ２８０を廃しても良い。そして、ＨＷレジスタ２８０にＮＡＮＤ設計情報を格納する代わりに、ＮＡＮＤ設計情報に基づいてコントローラ２００に実装されたｅＦｕｓｅを出荷時にカットしておき、これに基づいてＮＡＮＤチップＣＰが選択されても良い。
【０１３１】
６．１  メモリシステムにおける書き込み動作の全体の流れについて
メモリシステム１における書き込み動作の全体の流れについて、図１８を用いて説明する。
【０１３２】
図１８に示すように、ＬＵＴ書き込みの場合（ステップＳ２０２＿Ｙｅｓ）、コントローラ２００は、ＮＡＮＤ設計情報を参照して（ステップＳ２６０）、各チャネルＣＨにおいて読み出し速度が速いＮＡＮＤチップＣＰを選択する（ステップＳ２０６）。そして、選択ＮＡＮＤチップＣＰは、書き込み命令に基づいて、書き込み動作を実行する（ステップＳ２０７）。
【０１３３】
パリティ書き込みの場合（ステップＳ２０２＿Ｎｏ、ステップＳ２０３＿Ｙｅｓ）、コントローラ２００は、ＮＡＮＤ設計情報を参照して（ステップＳ２６１）、各チャネルＣＨにおいて読み出し速度が遅いＮＡＮＤチップＣＰを選択する（ステップＳ２０９）。そして、選択ＮＡＮＤチップＣＰは、書き込み命令に基づいて、書き込み動作を実行する（ステップＳ２１０）。
【０１３４】
ステップＳ２０４の通常の書き込み動作は、第１乃至第５実施形態と同じである。
【０１３５】
６．２  本実施形態に係る効果について
本実施形態に係る構成であれば、第１乃至第５実施形態と同様の効果が得られる。
【０１３６】
７．第７実施形態
次に、第７実施形態について説明する。第７実施形態では、ＨＷレジスタ２８０にビットエラーレートＢＥＲの情報（以下、「ＢＥＲ情報」と表記する）が格納されている場合について説明する。例えば、ビットエラーレートＢＥＲが高いＮＡＮＤチップＣＰの場合、ＥＣＣ回路２６０におけるＥＣＣ処理期間が長くなるため、ＮＡＮＤチップＣＰの読み出し速度に関わらず、ＥＣＣ処理を含めた全体の読み出し動作の処理期間が長くなる。なお、本実施形態では、第３実施形態と同様に、書き込み速度及び／または読み出し速度を測定するためのＨＷタイマ２７０は廃されている。以下、第１乃至第６実施形態と異なる点についてのみ説明する。
【０１３７】
７．１  メモリシステムにおける読み出し動作の全体の流れについて
まず、メモリシステム１における読み出し動作の全体の流れについて、図１９を用いて説明する。
【０１３８】
図１９に示すように、ステップＳ１０１〜１０３の動作は、第１実施形態の図５と同じである。
【０１３９】
コントローラ２００は、選択ＮＡＮＤチップＣＰから読み出しデータＲＤを受信すると、読み出しデータＲＤをバッファメモリ２４０に一旦格納した後、ＥＣＣ回路２６０において、読み出しデータＲＤのＥＣＣ処理を実行する。このとき、ＥＣＣ回路２６０は、不良ビット数をカウントしてビットエラーレートＢＥＲを測定し、その結果をＨＷレジスタ２８０に送信する（ステップＳ１１０）。
【０１４０】
ＨＷレジスタ２８０は、ＥＣＣ回路２６０からＢＥＲ情報を受信すると、対応するＮＡＮＤチップＣＰのＢＥＲ情報を更新する（ステップＳ１１１）。
【０１４１】
７．２  メモリシステムにおける書き込み動作の全体の流れについて
メモリシステム１における書き込み動作の全体の流れについて、図２０を用いて説明する。
【０１４２】
図２０に示すように、ＬＵＴ書き込みの場合（ステップＳ２０２＿Ｙｅｓ）、コントローラ２００は、ＢＥＲ設計情報を参照して（ステップＳ２７０）、各チャネルＣＨにおいてビットエラーレートＢＥＲが低いＮＡＮＤチップＣＰを選択する（ステップＳ２７１）。そして、選択ＮＡＮＤチップＣＰは、書き込み命令に基づいて、書き込み動作を実行する（ステップＳ２７２）。
【０１４３】
パリティ書き込みの場合（ステップＳ２０２＿Ｎｏ、ステップＳ２０３＿Ｙｅｓ）、コントローラ２００は、ＢＥＲ設計情報を参照して（ステップＳ２７３）、各チャネルＣＨにおいてビットエラーレートＢＥＲが高いＮＡＮＤチップＣＰを選択する（ステップＳ２７４）。そして、選択ＮＡＮＤチップＣＰは、書き込み命令に基づいて、書き込み動作を実行する（ステップＳ２７５）。
【０１４４】
ステップＳ２０４の通常の書き込み動作は、第１乃至第６実施形態と同じである。
【０１４５】
７．３  本実施形態に係る効果について
本実施形態に係る構成であれば、第１乃至第６実施形態と同様の効果が得られる。
【０１４６】
８．変形例等
上記実施形態に係るメモリシステムは、第１バス(NBUS0)に接続された複数の第１メモリチップ(CP)と、  第２バス(NBUS1)に接続された複数の第２メモリチップ(CP)と、第１及び第２バスに接続され、複数の第１メモリチップのデータ読み出し速度及び／またはデータ書き込み速度の情報に基づいて、複数の第１メモリチップの１つを選択し、複数の第２メモリチップの情報に基づいて、複数の第２メモリチップの１つを選択して、書き込み動作を実行可能なコントローラ(200)とを含む。コントローラは、複数の第１メモリチップ及び複数の第２メモリチップの情報を保持するレジスタ(280)を含む。
【０１４７】
上記実施形態を適用することにより、処理能力を向上できる半導体記憶装置を提供できる。
【０１４８】
なお、実施形態は上記説明した形態に限定されるものではなく、種々の変形が可能である。
【０１４９】
例えば、上記実施形態は、可能な限り組み合わせることができる。例えば、第４実施形態において、第３実施形態で説明したように、書き込み速度情報に基づいてブロックＢＬＫを選択しても良い。
【０１５０】
更に、上記第１乃至第６実施形態において、読み出し速度情報と書き込み速度情報の両方を用いて、ＮＡＮＤチップＣＰを選択しても良い。
【０１５１】
更に、上記実施形態は、三次元積層型ＮＡＮＤ型フラッシュメモリを用いたＮＡＮＤチップに限定されず、半導体基板上にメモリセルが配置された平面型ＮＡＮＤ型フラッシュメモリを用いたＮＡＮＤチップにも適用できる。更には、ＮＡＮＤ型フラッシュメモリに限定されず、他の不揮発性のメモリを用いたチップにも適用できる。
【０１５２】
更に、上記実施形態における「接続」とは、間に例えばトランジスタあるいは抵抗等、他の何かを介在させて間接的に接続されている状態も含む。  
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１５３】
１…メモリシステム、２…ホスト機器、１０…入出力回路、１１…ロジック制御回路、１２…ステータスレジスタ、１３…アドレスレジスタ、１４…コマンドレジスタ、１５…シーケンサ、１６…レディ／ビジー回路、１７…電圧発生回路、１８…メモリセルアレイ、１９…ロウデコーダ、２０…センスアンプ、２１…データレジスタ、２２…カラムデコーダ、３０…半導体基板、３１…ｎ型ウェル、３２…ｐ型ウェル、３３…ｎ＋型拡散層、３４…配線層、３５…半導体層、３６…トンネル絶縁膜、３７…電荷蓄積層、３８…ブロック絶縁膜、１００…記憶媒体、２００…コントローラ、２１０…ホストインターフェイス回路、２２０…内蔵メモリ、２３０…プロセッサ、２４０…バッファメモリ、２５０…ＮＡＮＤインターフェイス回路、２６０…ＥＣＣ回路、２７０…ＨＷタイマ、２８０…ＨＷレジスタ。
【図１】
2019040470.tif 000003
【図２】
2019040470.tif 000004
【図３】
2019040470.tif 000005
【図４】
2019040470.tif 000006
【図５】
2019040470.tif 000007
【図６】
2019040470.tif 000008
【図７】
2019040470.tif 000009
【図８】
2019040470.tif 000010
【図９】
2019040470.tif 000011
【図１０】
2019040470.tif 000012
【図１１】
2019040470.tif 000013
【図１２】
2019040470.tif 000014
【図１３】
2019040470.tif 000015
【図１４】
2019040470.tif 000016
【図１５】
2019040470.tif 000017
【図１６】
2019040470.tif 000018
【図１７】
2019040470.tif 000019
【図１８】
2019040470.tif 000020
【図１９】
2019040470.tif 000021
【図２０】
2019040470.tif 000022