(57)【要約】      （修正有）【課題】処理能力の低減を抑制するメモリシステムを提供する。【解決手段】メモリシステム１は、メモリコントローラ１０、Ｍ（Ｍは２以上の整数）個の不揮発性メモリチップ１１＿０〜１１＿（Ｍ−１）、及びＲＡＭ１２を含む。メモリシステム１には、装置規格として電力消費値の上限値が設定されている。電力消費値の上限値を遵守するため、メモリコントローラ１０では電力スロットリング制御が行われている。また、メモリコントローラ１０は、プロセッサ２０、バッファコントローラ２１、コマンドディスパッチャ２２、スロットリングコントローラ２３、ホストインターフェイス回路２４、Ｍ個のＮＡＮＤコントローラ２５＿０〜２５＿（Ｍ−１）、及びＮＡＮＤコントローラ２５＿０〜２５＿（Ｍ−１）にそれぞれ対応するＭ個のサスペンドコントローラ２６＿０〜２６＿（Ｍ−１）を含む。【選択図】図１
2020119073.tif 000002
【特許請求の範囲】
【請求項１】
第１メモリチップと、
第２メモリチップと、
前記第１及び第２メモリチップが接続されたコントローラと
を備え、前記コントローラは、
コマンドを発行する第１回路と、
電力スロットリング制御を行う第２回路と、
前記第１回路から受信したコマンドに基づいて前記第１メモリチップを制御する第３回路と、
第１動作を実行している時に前記第１メモリチップが消費する第１電力に関する第１電力消費値と、前記第１動作を中断している時に前記第１メモリチップが消費する第２電力に関する第２電力消費値との差である第１差分電力消費値を管理し、前記第１差分電力消費値に基づいて、前記第１メモリチップにおいて前記第１動作を中断している期間に前記第１メモリチップにおいて第２動作が実行可能か判定する第４回路と、
前記第１回路から受信したコマンドに基づいて前記第２メモリチップを制御する第５回路と、
第３動作を実行している時に前記第２メモリチップが消費する第３電力に関する第３電力消費値と、前記第３動作を中断している時に前記第２メモリチップが消費する第４電力に関する第４電力消費値との差である第２差分電力消費値を管理し、前記第２差分電力消費値に基づいて、前記第２メモリチップにおいて前記第３動作を中断している期間に前記第２メモリチップにおいて第４動作が実行可能か判定する第６回路と
を含む、
メモリシステム。
【請求項２】
前記第４回路は、前記第１差分電力消費値と、前記第１動作を中断している前記期間に、前記第２動作を実行している時に前記第１メモリチップが消費する第５電力に関する第５電力消費値とを比較し、前記第１差分電力消費値が前記第５電力消費値以上の場合、前記第２動作を実行可能と判定する、
請求項１に記載のメモリシステム。
【請求項３】
前記第１動作は、ノーマルモード、及びサスペンドモードを含み、
前記第１電力消費値は、前記ノーマルモードに対応し、
前記第２電力消費値は、前記サスペンドモードに対応し、
前記第１電力消費値は、前記第２電力消費値よりも大きい、
請求項１または２に記載のメモリシステム。
【請求項４】
前記第１動作を実行するために前記第１メモリチップに割り当てられた第６電力消費値は、前記第１動作を中断した状態において、前記第１メモリチップに割り当てられている第７電力消費値と等しい、
請求項１または２に記載のメモリシステム。
【請求項５】
前記第３回路は、前記第２動作を実行する場合、前記第１メモリチップに前記第１動作を中断させる第１コマンドを送信した後、前記第２動作を実行させる第２コマンドを送信する、
請求項２に記載のメモリシステム。
【請求項６】
前記第２回路は、前記第１メモリチップにおける電力消費値の第１占有率と、前記第２メモリチップにおける前記電力消費値の第２占有率とを変更する機能を有する
請求項１乃至５のいずれか一項に記載のメモリシステム。
【請求項７】
第１メモリチップと、
第２メモリチップと、
前記第１及び第２メモリチップが接続されたコントローラと
を備え、前記コントローラは、
コマンドを発行する第１回路と、
電力スロットリング制御を行う第２回路と、
前記第１回路から受信したコマンドに基づいて前記第１メモリチップを制御する第３回路と、
前記第１回路から受信したコマンドに基づいて前記第２メモリチップを制御する第４回路と
を含み、
前記第２回路は、前記第１メモリチップにおける電力消費値の第１占有率と、前記第２メモリチップにおける前記電力消費値の第２占有率とを変更する機能を有する、
メモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、メモリシステムに関する。
【背景技術】
【０００２】
メモリシステムとして、ＮＡＮＤ型フラッシュメモリなどの不揮発性半導体メモリを搭載したＳＳＤ（Solid State Drive）が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−２１２５８０号公報
【特許文献２】特開２０１５−１２７９５５号公報
【特許文献３】米国特許第９５７５６７７号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
処理能力の低下を抑制できるメモリシステムを提供する。
【課題を解決するための手段】
【０００５】
実施形態に係るメモリシステムは、第１メモリチップと、第２メモリチップと、第１及び第２メモリチップが接続されたコントローラとを含む。コントローラは、コマンドを発行する第１回路と、電力スロットリング制御を行う第２回路と、第１回路から受信したコマンドに基づいて第１メモリチップを制御する第３回路と、第１動作を実行している時に第１メモリチップが消費する第１電力に関する第１電力消費値と、第１動作を中断している時に第１メモリチップが消費する第２電力に関する第２電力消費値との差である第１差分電力消費値を管理し、第１差分電力消費値に基づいて、第１メモリチップにおいて第１動作を中断している期間に第１メモリチップにおいて第２動作が実行可能か判定する第４回路と、第１回路から受信したコマンドに基づいて第２メモリチップを制御する第５回路と、第３動作を実行している時に第２メモリチップが消費する第３電力に関する第３電力消費値と、第３動作を中断している時に第２メモリチップが消費する第４電力に関する第４電力消費値との差である第２差分電力消費値を管理し、第２差分電力消費値に基づいて、第２メモリチップにおいて第３動作を中断している期間に第２メモリチップにおいて第４動作が実行可能か判定する第６回路とを含む。
【図面の簡単な説明】
【０００６】
【図１】図１は、第１実施形態に係るメモリシステムのブロック図である。
【図２】図２は、第１実施形態に係るメモリシステムの備えるメモリチップのブロック図である。
【図３】図３は、第１実施形態に係るメモリシステムの備えるメモリチップにおけるメモリセルアレイの回路図である。
【図４】図４は、第１実施形態に係るメモリシステムにおけるスロットリングコントローラにおける電力スロットリング制御の一例を示す図である。
【図５】図５は、第１実施形態に係るメモリシステムにおいて、サスペンドモード期間中に他のコマンドが実行される一例を示す図である。
【図６】図６は、第１実施形態に係るメモリシステムにおける全体の動作の流れを示すフローチャートである。
【図７】図７は、第１実施形態に係るメモリシステムにおける全体の動作の流れを示すフローチャートである。
【図８】図８は、第２実施形態に係るメモリシステムにおける電力消費値の占有率の設定動作の流れを示すフローチャートである。
【図９】図９は、変形例に係るメモリシステムのブロック図である。
【発明を実施するための形態】
【０００７】
以下に、実施形態について図面を参照して説明する。図面は模式的なものである。なお、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付す。参照符号を構成する文字の後の数字は、同じ文字を含んだ参照符号によって参照され、且つ同様の構成を有する要素同士を区別するために用いられている。同じ文字を含んだ参照符号で示される要素を相互に区別する必要がない場合、これらの要素は同じ文字のみを含んだ参照符号により参照される。
【０００８】
１．第１実施形態
以下に、第１実施形態に係るメモリシステムについて説明する。なお、以下の説明では、メモリシステムがＳＳＤ（solid state drive）である場合を例に説明する。
【０００９】
１．１  構成
１．１．１  メモリシステムの全体構成
まず、メモリシステム１の全体構成について、図１を用いて説明する。
【００１０】
図１に示すように、メモリシステム１は、メモリコントローラ１０、Ｍ（Ｍは２以上の整数）個の不揮発性メモリチップ１１＿０〜１１＿（Ｍ−１）、及びＲＡＭ（random access memory）１２を含む。以下、メモリチップ１１＿０〜１１＿（Ｍ−１）のそれぞれを限定しない場合は、メモリチップ１１と表記する。
【００１１】
メモリコントローラ１０は、メモリチップ１１のメモリ空間を管理する。また、メモリコントローラ１０は、ホストデバイス２からの要求に応答して、メモリチップ１１に対してデータの読み出し動作、書き込み動作、及び消去動作等を命令する。メモリコントローラ１０は、例えば、ＳｏＣ（system on a chip）であってもよい。なお、メモリコントローラ１０の各機能は専用回路で実現されても良いし、プロセッサがファームウェアを実行することにより実現されてもよい。本実施形態では、メモリコントローラ１０内に専用回路が設けられている場合について説明する。
【００１２】
メモリシステム１には、装置規格として電力消費値の上限値が設定されている。電力消費値の上限値を遵守するため、メモリコントローラ１０では電力スロットリング（throttling）制御が行われている。より具体的には、例えば、メモリコントローラ１０には、メモリシステム１全体の電力消費を制御するための電力消費値の上限値が予め設定されている。そして、メモリコントローラ１０からメモリチップ１１に送信されるコマンドにおいて、書き込み動作、消去動作、または読み出し動作等のコマンドは、スロットリング対象のコマンドと定義され、それぞれの電力消費に対応した電力消費値が割り付けられている。例えば、電力消費が、読み出し動作、書き込み動作、及び消去動作の順に大きい場合、電力消費値は、読み出し動作、書き込み動作、及び消去動作の順に大きい値に設定される。メモリコントローラ１０は、実行しようとしている複数のコマンドの電力消費値の合計が電力消費値の上限値を超えていなければ、これら複数のコマンドを同時に実行可能である。メモリコントローラ１０は、メモリシステム１全体として、実行中の複数のコマンドの電力消費値の合計が、電力消費値の上限値を超えないように制御することにより、電力消費を制御する。
【００１３】
また、メモリシステム１は、電力消費値が付与されているコマンドに対応する動作を中断した場合、動作状態から中断状態に移行したことにより生じる差分の電力の消費量（以下、「差分電力消費値」と表記する）を、貸与可能な電力の消費量として、貸与可能な電力の消費量よりも電力消費値が小さい他のコマンドに貸与し、他のコマンドを実行できる。
【００１４】
メモリコントローラ１０は、プロセッサ（ＣＰＵ：central processing unit）２０、バッファコントローラ２１、コマンドディスパッチャ２２、スロットリングコントローラ２３、ホストインターフェイス回路２４、Ｍ個のＮＡＮＤコントローラ２５＿０〜２５＿（Ｍ−１）、及びＮＡＮＤコントローラ２５＿０〜２５＿（Ｍ−１）にそれぞれ対応するＭ個のサスペンドコントローラ２６＿０〜２６＿（Ｍ−１）を含む。以下、ＮＡＮＤコントローラ２５＿０〜２５＿（Ｍ−１）のそれぞれを限定しない場合は、ＮＡＮＤコントローラ２５と表記する。サスペンドコントローラ２６＿０〜２６＿（Ｍ−１）のそれぞれを限定しない場合は、サスペンドコントローラ２６と表記する。
【００１５】
プロセッサ２０は、メモリコントローラ１０全体の動作を制御する。また、プロセッサ２０は、ガベージコレクション、ウェアレベリング等、メモリチップ１１を管理するための様々な処理を実行する。ガベージコレクションは、消去動作を行う際、消去対象のメモリ領域内にある有効データを、他のメモリ領域に退避させる動作である。更に、プロセッサ２０は、各種の演算を実行する。例えば、プロセッサ２０は、データの暗号化処理やランダマイズ処理等を実行する。
【００１６】
バッファコントローラ２１は、メモリコントローラ１０とＲＡＭ１２と間のデータの送受信を制御する。
【００１７】
コマンドディスパッチャ２２は、ホストデバイス２またはプロセッサ２０より、書き込み動作、読み出し動作、または消去動作等の動作要求を受信するとそれに対応したコマンド（アドレスまたはデータ等を含む）を発行する。そして、コマンドディスパッチャ２２は、要求を実行させるＮＡＮＤコントローラ２５を選択し、発行したコマンドを送信する。例えば、コマンドディスパッチャ２２は、実行中の書き込み動作または消去動作を中断させて、プロセッサ２０の判断またはホストデバイス２の指定等に基づく比較的優先度の高い動作要求（例えば、読み出し動作）を実行させたい場合、当該動作要求に対応するコマンドを優先コマンドとして発行する。例えば、優先コマンドは、サスペンドコマンドまたは他のプレフィックスコマンドが付与された動作要求のコマンドであってもよい。
【００１８】
スロットリングコントローラ２３は、メモリシステム１全体で実行している複数のコマンドの電力消費値を管理し、スロットリング制御を行う。例えば、スロットリングコントローラ２３は、ＮＡＮＤコントローラ２５からスロットリング管理対象のコマンドの実行可否の問い合わせを受信すると、問い合わせを受けたコマンドの電力消費値と電力消費可能な量（例えば、電力消費値の上限値から実行中のコマンドの電力消費値の合計を引いた値）とからコマンドの実行可否を判定し、その結果をＮＡＮＤコントローラ２５に送信する。また、スロットリングコントローラ２３は、ＮＡＮＤコントローラ２５からコマンド終了の報告を受信すると、終了したコマンドの電力消費値を電力消費可能な量に加算する。
【００１９】
また、スロットリングコントローラ２３は、ガベージコレクションやウェアレベリング等のため、任意のメモリチップ１１にアクセスを集中したい場合に、プロセッサ２０からその旨の指示を受けると、対応するＮＡＮＤコントローラ２５に電力消費可能な量を優先的に付与し、その他のＮＡＮＤコントローラ２５への電力消費可能な量の付与を制限する。すなわち、スロットリングコントローラ２３は、ＮＡＮＤコントローラ２５毎に、電力消費値の上限値に対して使用可能な電力消費値の割合（以下、「電力消費値の占有率」と表記する）を設定できる。
【００２０】
ホストインターフェイス回路２４は、コントローラバスを介してホストデバイス２と接続され、ホストデバイス２との通信を司る。ホストインターフェイス回路２４は、プロセッサ２０、バッファコントローラ２１、及びコマンドディスパッチャ２２等に、ホストデバイス２から受信した要求（命令、アドレス、及びデータ等）を転送する。また、ホストインターフェイス回路２５は、プロセッサ２０の命令に応答して、メモリチップ１１から読み出したデータ等をホストデバイス２に送信する。
【００２１】
ＮＡＮＤコントローラ２５は、対応するメモリチップ１１を制御する。なお、図１の例では、１つのＮＡＮＤコントローラ２５が１つのメモリチップ１１を制御する場合を示しているが、１つのＮＡＮＤコントローラ２５が複数のメモリチップ１１を制御してもよい。
【００２２】
ＮＡＮＤコントローラ２５は、コマンドディスパッチャ２２からコマンドを受信すると、複数のコマンドの実行順序を調整しながらメモリチップ１１で実行する１つのコマンドを決定する。更に、ＮＡＮＤコントローラ２５は、決定したコマンドがスロットリング管理対象である場合、スロットリングコントローラ２３にコマンド実行可否を問い合わせる。
【００２３】
また、ＮＡＮＤコントローラ２５は、対応するメモリチップ１１がコマンド実行中に、優先コマンドを受信した場合、サスペンドコントローラ２６に、コマンドの実行可否を問い合わせる。
【００２４】
サスペンドコントローラ２６は、対応するＮＡＮＤコントローラ２５における差分電力消費値を管理する。より具体的には、例えば、対応するＮＡＮＤコントローラ２５に接続されたメモリチップ１１において実行中の書き込み動作が中断した場合においても、当該メモリチップ１１に割り当てられた電力消費値は、当該書き込み動作が終了されるまで維持され、他のメモリチップ１１には与えられない。このため、サスペンドコントローラ２６は、対応するＮＡＮＤコントローラ２５に接続されたメモリチップ１１において動作が中断されている期間に、当該メモリチップにおける電力消費値を管理する（電力スロットリング制御を行う）。そして、サスペンドコントローラ２６は、対応するＮＡＮＤコントローラ２５（に接続されたメモリチップ１１）において優先コマンドを実行する際に、優先コマンドに差分電力消費値を割り当てる。
【００２５】
これにより、ＮＡＮＤコントローラ２５（に接続されたメモリチップ１１）毎に差分電力消費値が管理される。
【００２６】
より具体的には、例えば、サスペンドコントローラ２６は、対応するＮＡＮＤコントローラ２５から、優先コマンドの実行可否の問い合わせを受信すると、実行中のコマンドを中断して生じる差分電力消費値と優先コマンドの電力消費値とを比較して、優先コマンドの実行可否を判定する。そして、サスペンドコントローラ２６は、判定結果をＮＡＮＤコントローラ２５に送信する。例えば、サスペンドコントローラ２６は、対応するＮＡＮＤコントローラ２５の差分電力消費値を保存する。または、サスペンドコントローラ２６は、サスペンドモード期間中に優先コマンドが実行される場合、そのコマンド情報に基づいて、優先コマンドに対応する電力消費値を保存する。このとき、サスペンドコントローラ２６は、例えば、メモリチップ１１のアドレスと関連付けて電力消費値を保存してもよい。また、サスペンドコントローラ２６は、対応するＮＡＮＤコントローラ２５から優先コマンド終了の報告を受信すると、終了した優先コマンドの電力消費値を電力消費値の貸与可能な量（差分電力消費値から実行中のコマンドの電力消費値を引いた値）に加算する。なお、サスペンドコントローラ２６による差分電力消費値の管理については、後述する
メモリチップ１１は、複数のメモリセルからなる特定の書き込み単位でデータの書き込み動作及び読み出し動作を行う。更に、メモリチップ１１は、複数の書き込み単位からなる消去単位でデータを消去する。例えば、メモリチップ１１がＮＡＮＤ型フラッシュメモリである場合、メモリチップ１１は、ページ単位で書き込み動作及び読み出し動作を行う。以下では、メモリチップ１１が、メモリセルトランジスタを半導体基板上に三次元に積層された三次元積層型ＮＡＮＤ型フラッシュメモリである場合について説明する。なお、メモリチップ１１は、三次元積層型ＮＡＮＤ型フラッシュメモリに限定されず、半導体基板上にメモリセルトランジスタが二次元に配置された平面型ＮＡＮＤ型フラッシュメモリでもよく、他の不揮発性のメモリであってもよい。メモリチップ１１の構成の詳細については後述する。
【００２７】
ＲＡＭ１２は、例えばＤＲＡＭ（dynamic random access memory）等の半導体メモリであり、プロセッサ２０の作業領域として使用される。例えば、ＲＡＭ１２は、コマンドに対応する電力消費値等を記憶する。なお、ＲＡＭ１２は、メモリコントローラ１０内に設けられてもよい。
【００２８】
１．１．２  メモリチップの構成
次に、メモリチップ１１の構成について、図２を用いて説明する。なお、図２では各ブロック間の接続の一部を矢印線で示しているが、ブロック間の接続はこれに限定されない。
【００２９】
図２に示すように、メモリチップ１１は、入出力回路１００、ロジック制御回路１０１、ステータスレジスタ１０２、アドレスレジスタ１０３、コマンドレジスタ１０４、シーケンサ１０５、レディ／ビジー回路１０６、電圧発生回路１０７、メモリセルアレイ１０８、ロウデコーダ１０９、センスアンプ１１０、データレジスタ１１１、及びカラムデコーダ１１２を含む。
【００３０】
入出力回路１００は、ＮＡＮＤコントローラ２５との信号ＤＱの入出力を制御する。より具体的には、入出力回路１００は、ＮＡＮＤコントローラ２５から信号ＤＱを介して受信したデータＤＡＴをデータレジスタ１１１に送信し、アドレスＡＤＤをアドレスレジスタ１０３に送信し、コマンドＣＭＤをコマンドレジスタ１０４に送信する。また、入出力回路１００は、ステータスレジスタ１０２から受信したステータス情報ＳＴＳ、データレジスタ１１１から受信したデータＤＡＴ及びアドレスレジスタ１０３から受信したアドレスＡＤＤ等を、信号ＤＱを介してＮＡＮＤコントローラ２５に送信する。
【００３１】
ロジック制御回路１０１は、ＮＡＮＤコントローラ２５から各種制御信号を受信する。そしてロジック制御回路１０１は、受信した制御信号に応じて、入出力回路１００及びシーケンサ１０５を制御する。
【００３２】
ステータスレジスタ１０２は、例えば、書き込み動作、読み出し動作、及び消去動作におけるステータス情報ＳＴＳを一時的に保持し、ＮＡＮＤコントローラ２５に動作が正常に終了したか否かを通知する。また、ステータスレジスタ１０２は、書き込み動作時に取得したプログラムパラメータ情報を一時的に保持する。
【００３３】
アドレスレジスタ１０３は、入出力回路１００を介してＮＡＮＤコントローラ２５から受信したアドレスＡＤＤを一時的に保持する。そしてアドレスレジスタ１０３は、ロウアドレスＲＡをロウデコーダ１０９へ転送し、カラムアドレスＣＡをカラムデコーダ１１２に転送する。
【００３４】
コマンドレジスタ１０４は、入出力回路１００を介してＮＡＮＤコントローラ２５から受信したコマンドＣＭＤを一時的に保存し、シーケンサ１０５に転送する。
【００３５】
シーケンサ１０５は、メモリチップ１１全体の動作を制御する。より具体的には、シーケンサ１０５は、コマンドレジスタ１０４が保持するコマンドＣＭＤに応じて、例えばステータスレジスタ１０２、レディ／ビジー回路１０６、電圧発生回路１０７、ロウデコーダ１０９、センスアンプ１１０、データレジスタ１１１、及びカラムデコーダ１１２等を制御し、書き込み動作、読み出し動作、及び消去動作等を実行する。
【００３６】
レディ／ビジー回路１０６は、シーケンサ１０５の動作状態に応じて、レディ／ビジー信号ＲＢｎをＮＡＮＤコントローラ２５に送信する。より具体的には、メモリチップ１１がレディ状態にある場合、信号ＲＢｎをＨｉｇｈ（“Ｈ”）レベルとし、メモリチップ１１がビジー状態にある場合、信号ＲＢｎをＬｏｗ（“Ｌ”）レベルとする。
【００３７】
電圧発生回路１０７は、シーケンサ１０５の制御に応じて、書き込み動作、読み出し動作、及び消去動作に必要な電圧を発生させ、この発生した電圧を例えばメモリセルアレイ１０８、ロウデコーダ１０９、及びセンスアンプ１１０等に供給する。ロウデコーダ１０９及びセンスアンプ１１０は、電圧発生回路１０７より供給された電圧をメモリセルアレイ１０８内のメモリセルトランジスタに印加する。
【００３８】
メモリセルアレイ１０８は、ロウ及びカラムに対応付けられた複数の不揮発性のメモリセルトランジスタ（以下、「メモリセル」とも表記する）を含む複数のブロックＢＬＫ（ＢＬＫ０、ＢＬＫ１、…、ＢＬＫ（Ｌ−１））（Ｌは２以上の整数）を備えている。
【００３９】
ロウデコーダ１０９は、ロウアドレスＲＡをデコードする。ロウデコーダ１０９は、デコード結果に基づき、メモリセルアレイ１０８に、必要な電圧を印加する。
【００４０】
センスアンプ１１０は、読み出し動作のときには、メモリセルアレイ１０８から読み出されたデータをセンスする。そして、センスアンプ１１０は、読み出しデータをデータレジスタ１１１に送信する。また、センスアンプ１１０は、書き込み動作のときには、書き込みデータをメモリセルアレイ１０８に送信する。
【００４１】
データレジスタ１１１は、複数のラッチ回路を備える。ラッチ回路は、書き込みデータまたは読み出しデータを一時的に保持する。
【００４２】
カラムデコーダ１１２は、例えば書き込み動作、読み出し動作、及び消去動作の際、カラムアドレスＣＡをデコードし、デコード結果に応じてデータレジスタ１１１内のラッチ回路を選択する。
【００４３】
１．１．３  メモリセルアレイの構成
次に、メモリセルアレイ１０８の構成について、図３を用いて説明する。図３の例は、ブロックＢＬＫ０を示しているが、他のブロックＢＬＫの構成も同じである。
【００４４】
図３に示すように、ブロックＢＬＫ０は、例えば４つのストリングユニットＳＵ（ＳＵ０〜ＳＵ３）を含む。そして、各々のストリングユニットＳＵは、複数のＮＡＮＤストリングＮＳを含む。ＮＡＮＤストリングＮＳの各々は、例えば８個のメモリセルトランジスタＭＴ０〜ＭＴ７、並びに選択トランジスタＳＴ１及びＳＴ２を含んでいる。以下、メモリセルトランジスタＭＴ０〜ＭＴ７のそれぞれを限定しない場合は、メモリセルトランジスタＭＴと表記する。メモリセルトランジスタＭＴは、制御ゲートと電荷蓄積層とを備え、データを不揮発に保持する。
【００４５】
なお、メモリセルトランジスタＭＴは、電荷蓄積層に絶縁膜を用いたＭＯＮＯＳ型であってもよいし、電荷蓄積層に導電層を用いたＦＧ型であってもよい。また、ＮＡＮＤストリングＮＳあたりのメモリセルトランジスタＭＴの個数は８個に限られず、１６個や３２個、６４個、９６個、１２８個等であってもよく、その数は限定されるものではない。更に、選択トランジスタＳＴ１及びＳＴ２の個数は、任意であり、それぞれ１個以上あればよい。
【００４６】
メモリセルトランジスタＭＴは、選択トランジスタＳＴ１のソースと選択トランジスタＳＴ２のドレインとの間に直列接続されている。より具体的には、メモリセルトランジスタＭＴ０〜ＭＴ７は、その電流経路が直列に接続される。そしてメモリセルトランジスタＭＴ７のドレインは、選択トランジスタＳＴ１のソースに接続され、メモリセルトランジスタＭＴ０のソースは、選択トランジスタＳＴ２のドレインに接続されている。
【００４７】
ストリングユニットＳＵ０〜ＳＵ３の各々における選択トランジスタＳＴ１のゲートは、それぞれ選択ゲート線ＳＧＤ０〜ＳＧＤ３を介してロウデコーダ１０９に接続される。同様に、ストリングユニットＳＵ０〜ＳＵ３の各々における選択トランジスタＳＴ２のゲートは、それぞれ選択ゲート線ＳＧＳ０〜ＳＧＳ３を介してロウデコーダ１０９に接続される。以下、選択ゲート線ＳＧＤ０〜ＳＧＤ３のそれぞれを限定しない場合は、選択ゲート線ＳＧＤと表記する。選択ゲート線ＳＧＳ０〜ＳＧＳ３のそれぞれを限定しない場合は、選択ゲート線ＳＧＳと表記する。なお、各ストリングユニットＳＵの選択ゲート線ＳＧＳ０〜ＳＧＳ３は共通に接続されてもよい。
【００４８】
ブロックＢＬＫ内にあるメモリセルトランジスタＭＴ０〜ＭＴ７の制御ゲートは、それぞれワード線ＷＬ０〜ＷＬ７に共通接続される。ワード線ＷＬ０〜ＷＬ７はロウデコーダ１０９に接続される。以下、ワード線ＷＬ０〜ＷＬ７のそれぞれを限定しない場合は、ワード線ＷＬと表記する。
【００４９】
ストリングユニットＳＵ内にある各ＮＡＮＤストリングＮＳの選択トランジスタＳＴ１のドレインは、それぞれ異なるビット線ＢＬ０〜ＢＬ（Ｎ−１）（Ｎは２以上の整数）に接続される。以下、ビット線ＢＬ０〜ＢＬ（Ｎ−１）のそれぞれを限定しない場合は、ビット線ＢＬと表記する。各ビット線ＢＬは、センスアンプ１１０に接続される。各ビット線ＢＬは、複数のブロックＢＬＫ間で各ストリングユニットＳＵ内にある１つのＮＡＮＤストリングＮＳを共通に接続する。更に、複数の選択トランジスタＳＴ２のソースは、ソース線ＳＬに共通に接続されている。つまり、ストリングユニットＳＵは、異なるビット線ＢＬに接続され、且つ同一の選択ゲート線ＳＧＤ及びＳＧＳに接続されたＮＡＮＤストリングＮＳの集合体である。またブロックＢＬＫは、ワード線ＷＬを共通にする複数のストリングユニットＳＵの集合体である。そしてメモリセルアレイ１０８は、ビット線ＢＬを共通にする複数のブロックＢＬＫの集合体である。
【００５０】
データの書き込み及び読み出しは、いずれかのストリングユニットＳＵにおけるいずれかのワード線ＷＬ（以下、選択ワード線ＷＬと表記する）に接続されたメモリセルトランジスタＭＴに対して、一括して行われる。以下、データの書き込み及び読み出しの際、一括して選択されるメモリセルトランジスタＭＴの各々に書き込まれる、または各々から読み出される１ビットのデータの集まりを「ページ」と呼ぶ。
【００５１】
１．２  スロットリングコントローラにおける電力スロットリング制御の例
次に、スロットリングコントローラ２３における電力スロットリング制御の例について、図４を用いて説明する。以下、電力消費値の上限値が“１０”である場合について説明する。なお、電力消費値の上限値は、任意に設定可能である。
【００５２】
図４に示すように、例えば、スロットリングコントローラ２３は、いずれのＮＡＮＤコントローラ２５においても、スロットリング制御対象となるコマンドを実行していない場合、電力消費値の上限値“１０”を電力消費の可能な量として保持している。この状態において、例えば、スロットリングコントローラ２３は、第１コマンド（例えば、電力消費値“３”）についての問い合わせを受けると、問い合わせの第１コマンドに対応する電力消費値“３”が電力消費の可能な量“１０”以下であるため、第１コマンドを実行可能と判定し、対応するＮＡＮＤコントローラ２５に判定結果を送信する。そして、スロットリングコントローラ２３は、電力消費の可能な量を“７”に変更する。
【００５３】
次に、例えば、スロットリングコントローラ２３は、第２コマンド（例えば、電力消費値“３”）についての問い合わせを受けると、問い合わせの第２コマンドに対応する電力消費値“３”が電力消費の可能な量“７”以下であるため、第２コマンドを実行可能と判定し、対応するＮＡＮＤコントローラ２５に判定結果を送信する。そして、スロットリングコントローラ２３は、電力消費の可能な量を“４”に変更する。
【００５４】
次に、例えば、スロットリングコントローラ２３は、第３コマンド（例えば、電力消費値“３”）についての問い合わせを受けると、問い合わせの第３コマンドに対応する電力消費値“３”が電力消費の可能な量“４”以下であるため、第３コマンドを実行可能と判定し、対応するＮＡＮＤコントローラ２５に判定結果を送信する。そして、スロットリングコントローラ２３は、電力消費の可能な量を“１”に変更する。
【００５５】
次に、例えば、スロットリングコントローラ２３は、第４コマンド（例えば、電力消費値“３”）についての問い合わせを受けると、問い合わせの第４コマンドに対応する電力消費値“３”が電力消費の可能な量“１”より大きいため、第４コマンドを実行不可能と判定し、対応するＮＡＮＤコントローラ２５に判定結果を送信する。そして、スロットリングコントローラ２３は、電力消費の可能な量“１”を維持する。
【００５６】
次に、例えば、スロットリングコントローラ２３は、ＮＡＮＤコントローラ２５から第１コマンドの終了報告を受けると、電力消費の可能な量“１”に第１コマンドに対応する電力消費値“３”を加算して、電力消費の可能な量を“４”に変更する。
【００５７】
１．３  サスペンドコントローラにおける電力スロットリング制御の例
次に、サスペンドコントローラ２６における電力スロットリング制御の例について、説明する。
【００５８】
１．３．１  書き込み動作及び消去動作の動作モード
まず、書き込み動作及び消去動作の動作モードについて、簡単に説明する。
【００５９】
書き込み動作及び消去動作は、ノーマルモード、サスペンドモード、及びリジュームモードの３つの動作モードをそれぞれ含む。ノーマルモードは、書き込み動作または消去動作を開始する際に選択されるモードである。サスペンドモードは、実行中の書き込み動作または消去動作を中断する際に選択されるモードである。リジュームモードは、中断された書き込み動作または消去動作を再開する際に選択されるモードである。
【００６０】
本実施形態では、書き込み動作及び消去動作における電力消費値は、動作モードにより異なる。より具体的には、例えば、ノーマルモードの電力消費値とリジュームモードの電力消費値とは、同じ値に設定される。また、サスペンドモードの電力消費値は、ノーマルモードの電力消費値及びリジュームモードの電力消費値よりも小さい電力消費値、例えば、“０”と設定される。以下、書き込み動作において、ノーマルモード及びリジュームモードの電力消費値を“３”とし、サスペンドモードの電力消費値を“０”とする。
【００６１】
１．３．２  サスペンドモード期間中に他のコマンドが実行される例
次に、サスペンドモード期間中（サスペンドモードに移行してからリジュームモードに移行するまでの期間）に他のコマンドが実行される場合の一例について、図５を用いて説明する。
【００６２】
図５に示すように、例えば、スロットリングコントローラ２３によるスロットリング制御により、ＮＡＮＤコントローラ２５＿０が第１コマンドを実行し、ＮＡＮＤコントローラ２５＿１が第２コマンドを実行し、ＮＡＮＤコントローラ２５＿２が第３コマンドを実行している。例えば、第１〜第３コマンドがノーマルモードの書き込み動作にそれぞれ対応する場合、３つのコマンドの電力消費値の合計は、“９”であり、電力消費値の上限値“１０”よりも少ない。
【００６３】
この状態において、例えば、第３コマンドを実行していたＮＡＮＤコントローラ２５＿２が書き込み動作をノーマルモードからサスペンドモードに移行すると、当該ＮＡＮＤコントローラ２５＿２に対応するサスペンドコントローラ２６＿２は、ノーマルモードの電力消費値“３”と移行したサスペンドモードの電力消費値“０”との差分である差分電力消費値 “３”を貸与可能な電力の消費量として管理する。
【００６４】
そして、当該サスペンドコントローラ２６＿２は、ＮＡＮＤコントローラ２５＿２からの問い合わせに応じて、例えば、第４コマンド（例えば、電力消費値“２”の読み出し動作）に、貸与可能な電力の消費量“２”を割り当て、貸与可能な電力の消費量を“１”に変更する。この結果、第３コマンドを中断したメモリチップ１１においては、第４コマンドに対応する読み出し動作が実行される。すなわち、メモリシステム１は、４つのコマンドを同時に実行できる。
【００６５】
例えば、サスペンドコントローラ２６＿２は、対応するＮＡＮＤコントローラ２５＿２から第４コマンドの終了報告を受けると、残存している貸与可能な電力の消費量“１”に第４コマンドに対応する電力消費値“２”を加算して、貸与可能な電力の消費量を“３”に変更する。
【００６６】
ＮＡＮＤコントローラ２５＿２は、他に実行する優先コマンドがない場合、サスペンドコントローラ２６＿２から貸与可能な電力の消費量“３”を返却してもらう。そして、ＮＡＮＤコントローラ２５＿２は、第３コマンドに対応する書き込み動作をサスペンドモードからリジュームモードに移行し、書き込み動作を再開する。
【００６７】
なお、サスペンドコントローラ２６は、サスペンドモード期間中は、差分電力消費値を割り当てて実行したコマンドが完了するたびに、差分電力消費値を次のコマンドの実行に割り当てることができる。このため、同時に実行できる動作は４つであるが、サスペンドモードの期間中に実行したい優先コマンドの電力消費値が、差分電力消費値より小さいコマンドであれば、優先的に何度でも実行できる。
【００６８】
１．４  メモリシステムにおける動作の全体の流れ
次に、メモリシステム１における動作の全体の流れについて、図６及び図７を用いて説明する。
【００６９】
図６に示すように、コマンドディスパッチャ２２は、ホストデバイス２またはプロセッサ２０から動作要求（書き込み要求、読み出し要求、または消去要求等）を受信する（ステップＳ１０）と、コマンドを発行し（ステップＳ１１）、選択したＮＡＮＤコントローラ２５にコマンドを送信する。このとき、コマンドディスパッチャ２２は、ホストデバイス２から優先度の高い動作要求を受信した場合、ＮＡＮＤコントローラ２５に、当該コマンドを優先コマンドとして送信する。
【００７０】
ＮＡＮＤコントローラ２５は、コマンドを受信すると、コマンドの実行順序を調整した後、実行するコマンドを選択する（ステップＳ１２）。
【００７１】
選択したコマンドが電力スロットリング対象ではない場合（ステップＳ１３＿Ｎｏ）、ＮＡＮＤコントローラ２５は、対応するメモリチップ１１にコマンドを送信する（ステップＳ２０）。
【００７２】
選択したコマンドが電力スロットリング対象である場合（ステップＳ１３＿Ｙｅｓ）、ＮＡＮＤコントローラ２５は、サスペンドする必要があるか、すなわち、優先コマンドか確認する（ステップＳ１４）。
【００７３】
サスペンドする必要がある場合（ステップＳ１４＿Ｙｅｓ）、ＮＡＮＤコントローラ２５は、対応するサスペンドコントローラ２６にコマンドが実行可能か問い合わせる（ステップＳ１５）。より具体的には、対応するメモリチップ１１が動作状態であり且つコマンドディスパッチャ２２から優先コマンドを受信した場合、ＮＡＮＤコントローラ２５は、サスペンドコントローラ２６に、対応するメモリチップ１１が実行中のコマンドの情報（消費電力の情報（例えば、電力消費値））と優先コマンドの情報とを送信し、優先コマンドが実行可能か問い合わせる。
【００７４】
サスペンドコントローラ２６は、実行中のコマンドを中断して生じる差分電力消費値と優先コマンドの電力消費値とを比較する（ステップＳ１６）。差分電力消費値が優先コマンドの電力消費値以上の場合、サスペンドコントローラ２６は、優先コマンドを実行可能と判定する。そして、サスペンドコントローラ２６は、ＮＡＮＤコントローラ２５に判定結果を送信するとともに、差分電力消費値及び優先コマンドの電力消費値を、例えばサスペンドコントローラ２６内に保持する。また、差分電力消費値が優先コマンドの電力消費値未満の場合、サスペンドコントローラ２６は、優先コマンドを実行不可能と判定する。そして、サスペンドコントローラ２６は、ＮＡＮＤコントローラ２５に判定結果を送信する。
【００７５】
サスペンドする必要がない場合（ステップＳ１４＿Ｎｏ）、ＮＡＮＤコントローラ２５は、スロットリングコントローラ２３にコマンドが実行可能か問い合わせる（ステップＳ１７）。より具体的には、対応するメモリチップ１１が動作状態ではない場合、または優先コマンドではない場合、ＮＡＮＤコントローラ２５は、スロットリングコントローラ２３に、コマンドが実行可能か問い合わせる。
【００７６】
スロットリングコントローラ２３は、電力消費可能な量と、コマンドの電力消費値とを比較する（ステップＳ１８）。電力消費可能な量がコマンドの電力消費値以上の場合、スロットリングコントローラ２３は、コマンドを実行可能と判定し、ＮＡＮＤコントローラ２５に判定結果を送信する。電力消費可能な量がコマンドの電力消費値未満の場合、スロットリングコントローラ２３は、コマンドを実行不可能と判定し、ＮＡＮＤコントローラ２５に判定結果を送信する。
【００７７】
ステップＳ１５またはステップＳ１７における問い合わせの結果、電力消費値がＯＫと判定された場合（ステップＳ１９＿Ｙｅｓ）、すなわち、サスペンドコントローラ２６またはスロットリングコントローラ２３において、コマンドを実行可能と判定された場合、ＮＡＮＤコントローラ２５は、対応するメモリチップ１１に、コマンドを送信する（ステップＳ２０）。
【００７８】
より具体的には、例えば、サスペンドする必要がある場合、ＮＡＮＤコントローラ２５は、まず、対応するメモリチップ１１にサスペンドコマンドを送信する。次に、ＮＡＮＤコントローラ２５は、対応するメモリチップ１１に、動作要求のコマンドを送信する。なお、対応するメモリチップ１１がすでにサスペンドモードにある場合、ＮＡＮＤコントローラ２５は、サスペンドコマンドの送信を省略して、動作要求のコマンドを送信する。
【００７９】
他方で、ステップＳ１５またはステップＳ１７における問い合わせの結果、電力消費値がＯＫと判定されなかった場合（ステップＳ１９＿Ｎｏ）、すなわち、サスペンドコントローラ２６またはスロットリングコントローラ２３において、コマンドを実行不可能と判定された場合、ＮＡＮＤコントローラ２５は、ステップＳ１２に戻り、再度実行するコマンドを選択する。
【００８０】
図７に示すように、ＮＡＮＤコントローラ２５からコマンドを受信したメモリチップ１１のシーケンサ１０５は、コマンドに基づく要求動作を実行する（ステップＳ２１）。
【００８１】
サスペンドする必要がある場合、より具体的には、例えば、書き込み動作中にサスペンドコマンドを受信した場合、シーケンサ１０５は、書き込み動作を中断し、書き込み動作をノーマルモードからサスペンドモードに移行する。次に、シーケンサ１０５は、優先コマンドに基づく動作（例えば、読み出し動作）を実行する。シーケンサ１０５は、優先コマンドに基づく動作が終了した後も、サスペンドモード状態を維持する。
【００８２】
また、サスペンドする必要がない場合、シーケンサ１０５は、受信したコマンドに基づく動作を実行する。
【００８３】
ステップＳ２１において実行したコマンドが電力スロットリング制御対象であり（ステップＳ２２＿Ｙｅｓ）且つメモリチップ１１がサスペンドモード状態にある（ステップＳ２３＿Ｙｅｓ）場合、ＮＡＮＤコントローラ２５は、対応するサスペンドコントローラ２６に、動作が終了した旨を報告する（ステップＳ２４）。例えば、サスペンドコントローラ２６は、ＮＡＮＤコントローラ２５から終了報告を受けると終了報告を受けた動作に対応する電力消費値を貸与可能な電力の消費量に加算し、貸与可能な電力の消費量を修正する。また、ＮＡＮＤコントローラ２５は、メモリチップ１１における動作が終了すると、ホストデバイス２またはプロセッサ２０に動作要求についての応答をする。
【００８４】
ＮＡＮＤコントローラ２５は、他の優先コマンドを有している場合、すなわち、サスペンドモード中のメモリチップ１１に実行させる他のコマンドがある場合（ステップＳ２５＿Ｙｅｓ）、ステップＳ１５に戻る。
【００８５】
ＮＡＮＤコントローラ２５は、サスペンドモード中のメモリチップ１１に実行させる他のコマンドがない場合（ステップＳ２５＿Ｎｏ）、メモリチップ１１にリジュームコマンドを送信する（ステップＳ２６）。シーケンサ１０５は、リジュームコマンドを受信すると、サスペンドモードからリジュームモードに移行し、中断している動作（例えば、書き込み動作）を再開する（ステップＳ２７）。
【００８６】
ＮＡＮＤコントローラ２５は、中断していた動作が終了すると、スロットリングコントローラ２３に、動作が終了した旨を報告する（ステップＳ２８）。スロットリングコントローラ２３は、ＮＡＮＤコントローラ２５から終了報告を受けると、終了報告を受けた動作に対応する電力消費値を電力消費の可能な量に加算し、電力消費の可能な量を修正する。
【００８７】
ステップＳ２１において実行したコマンドが電力スロットリング制御対象ではない場合（ステップＳ２２＿Ｎｏ）、ＮＡＮＤコントローラ２５は、メモリチップ１１における動作が終了すると、ホストデバイス２またはプロセッサ２０に動作要求についての応答をする。
【００８８】
また、ステップＳ２１において実行したコマンドが電力スロットリング制御対象であり（ステップＳ２２＿Ｙｅｓ）且つメモリチップ１１がサスペンドモード状態にない（ステップＳ２３＿Ｎｏ）場合、ＮＡＮＤコントローラ２５は、スロットリングコントローラ２３に、動作が終了した旨を報告する（ステップＳ２８）。
【００８９】
例えば、スロットリングコントローラ２３は、ＮＡＮＤコントローラ２５から報告を受けると終了報告を受けた動作に対応する電力消費値を電力消費可能な量に加算し、電力消費可能な量を修正する。また、ＮＡＮＤコントローラ２５は、メモリチップ１１における動作が終了すると、ホストデバイス２またはプロセッサ２０に動作要求についての応答をする。
【００９０】
１．５  本実施形態に係る効果
本実施形態に係る構成であれば、処理能力の低下を抑制できるメモリシステムを提供できる。本効果につき、詳述する。
【００９１】
電力スロットリング制御により電力消費を制御しているメモリシステムにおいて、実行中の動作を中断して優先コマンド（優先度の比較的高いコマンド）を実行させる場合、中断した動作の電力消費値はスロットリングコントローラに返却されないことがある。すなわち、動作開始から動作終了まで電力消費値は維持されるため、動作を中断しても、電力消費可能な量は、増えない。よって、同時に実行できるコマンド数は増えない。このため、動作を中断しても優先コマンドを実行させるための電力消費値が不足して、優先コマンドを実行できないことがある。また、中断した電力消費値をスロットリングコントローラに返却すると、スロットリングコントローラが他のコマンドに電力消費可能な量を割り当ててしまい、中断した動作を再開できない場合がある。
【００９２】
これに対し、本実施形態に係る構成であれば、メモリシステム１は、複数のＮＡＮＤコントローラ２５にそれぞれ対応する複数のサスペンドコントローラ２６を有する。また、メモリシステム１は、例えば、書き込み動作及び消去動作において、ノーマルモード、サスペンドモード、及びリジュームモードの３つの動作モードにそれぞれ異なる電力消費値を設定できる。これにより、サスペンドコントローラ２６は、対応するＮＡＮＤコントローラ２５において、例えば、書き込み動作をノーマルモードからサスペンドモードに移行した際に生じる電力消費値の差分（差分電力消費値）を、当該ＮＡＮＤコントローラ２５における他のコマンド（優先コマンド）に貸与できる。これにより、メモリシステム１は、サスペンド中に実行できるコマンド数を増やすことができる。従って、メモリシステム１は、処理能力の低下を抑制できる。
【００９３】
または、本実施形態に係る構成であれば、メモリシステム１は、ＮＡＮＤコントローラ２５毎に、差分電力消費値を制御できる。これにより、差分電力消費値が他のＮＡＮＤコントローラ２５に振り分けられることを防止できる。従って、１つのＮＡＮＤコントローラ２５に対応するメモリチップ１１において、優先コマンドに対応する動作が終了して、書き込み動作をサスペンドモードからリジュームモードに移行する際に、必要な電力消費値を確保できる。
【００９４】
２．第２実施形態
次に、第２実施形態について説明する。第２実施形態では、スロットリングコントローラ２３が特定のＮＡＮＤコントローラ２５に優先的に電力消費値を付与する例について説明する。以下、第１実施形態と異なる点を中心に説明する。なお、本実施形態において、サスペンドコントローラ２６は、廃されてもよい。
【００９５】
２．１  電力消費値の占有率の設定動作
電力消費値の占有率の設定動作について、図８を用いて説明する。
【００９６】
図８に示すように、例えばプロセッサ２０は、特定のＮＡＮＤコントローラ２５において優先的に動作を実行させる場合、スロットリングコントローラ２３に、当該ＮＡＮＤコントローラ２５の動作に必要な電力消費値の確保を要求する（ステップＳ３０）。
【００９７】
スロットリングコントローラ２３は、プロセッサ２０からの要求を受信すると、ＮＡＮＤコントローラ２５毎に設定される電力消費値の占有率を更新する必要があるか確認する（ステップＳ３１）。
【００９８】
電力消費値の占有率の更新が必要な場合（ステップＳ３１＿Ｙｅｓ）、スロットリングコントローラ２３は、プロセッサ２０の要求に基づいて、電力消費値の占有率を変更する（ステップＳ３２）。より具体的には、例えば、任意のメモリチップ１１において、ガベージコレクションを実行する場合、データの消去動作及び有効データの移行動作（非消去対象ブロックＢＬＫへの書き込み動作）に必要な電力消費値を確保しておく必要がある。このような場合、プロセッサ２０は、対応するＮＡＮＤコントローラ２５における電力消費値の占有率を高くし、他のＮＡＮＤコントローラ２５における電力消費値の占有率を低くする。
【００９９】
電力消費値の占有率の更新が不要な場合（ステップＳ３１＿Ｎｏ）、スロットリングコントローラ２３は、設定されている電力消費値の占有率を維持する。
【０１００】
メモリシステム１は、設定された電力消費値の占有率に基づいて、例えば、第１実施形態の図６及び図７に示すような動作を実行する。
【０１０１】
２．２  本実施形態に係る効果
本実施形態に係る構成を、第１実施形態に適用できる。
【０１０２】
更に、本実施形態に係る構成であれば、スロットリングコントローラ２３は、ＮＡＮＤコントローラ２５毎に、電力消費値の占有率を変更できる。これにより、任意のメモリチップ１１に動作が集中する場合に、予め対応するＮＡＮＤコントローラ２５における電力消費可能な量を適切な値に設定しておくことができる。これにより、スロットリングコントローラ２３において、対象コマンドが実行不可能と判定される可能性を低減できる。
【０１０３】
３．変形例等
上記実施形態に係るメモリシステムは、第１メモリチップ(11)と、第２メモリチップ(11)と、第１及び第２メモリチップが接続されたコントローラ(10)とを含む。コントローラは、コマンドを発行する第１回路(22)と、電力スロットリング制御を行う第２回路(23)と、第１回路から受信したコマンドに基づいて第１メモリチップを制御する第３回路(25)と、  第１動作を実行している時に第１メモリチップが消費する第１電力に関する第１電力消費値と、第１動作を中断している時に第１メモリチップが消費する第２電力に関する第２電力消費値との差である第１差分電力消費値（差分電力消費値）を管理し、第１差分電力消費値に基づいて、第１メモリチップにおいて第１動作を中断している期間に第１メモリチップにおいて第２動作が実行可能か判定する第４回路(26)と、第１回路から受信したコマンドに基づいて第２メモリチップを制御する第５回路(25)と、第３動作を実行している時に第２メモリチップが消費する第３電力に関する第３電力消費値と、第３動作を中断している時に第２メモリチップが消費する第４電力に関する第４電力消費値との差である第２差分電力消費値（差分電力消費値）を管理し、第２差分電力消費値に基づいて、第２メモリチップにおいて第３動作を中断している期間に第２メモリチップにおいて第４動作が実行可能か判定する第６回路(26)とを含む。
【０１０４】
上記実施形態により、処理能力の低減を抑制できるメモリシステムを提供できる。
【０１０５】
なお、実施形態は上記で説明した形態に限られず、種々の変形が可能である。
【０１０６】
例えば、各ＮＡＮＤコントローラ２５内にサスペンドコントローラ２６が含まれていてもよい。
更に、図９に示すように、各ＮＡＮＤコントローラ２５における差分電力消費値をＮＡＮＤコントローラ２５毎に制御可能な１つのサスペンドコントローラ２６が設けられていてもよい。
【０１０７】
更に、プロセッサ２０がファームウェアを実行することによって、コマンドディスパッチャ２２、スロットリングコントローラ２３、ＮＡＮＤコントローラ２５、またはサスペンドコントローラ２６の機能が実現されてもよい。
【０１０８】
更に、メモリシステムは、電力スロットリング制御のＯＮ／ＯＦＦを切り換え可能であってもよい。
【０１０９】
更に、上記実施形態における「接続」とは、間に例えばトランジスタあるいは抵抗等、他の何かを介在させて間接的に接続されている状態も含む。
【０１１０】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１１１】
１…メモリシステム、２…ホストデバイス、１０…メモリコントローラ、１１…メモリチップ、１２…ＲＡＭ、２０…プロセッサ、２１…バッファコントローラ、２２…コマンドディスパッチャ、２３…スロットリングコントローラ、２４…ホストインターフェイス回路、２５…ＮＡＮＤコントローラ、２６…サスペンドコントローラ、１００…入出力回路、１０１…ロジック制御回路、１０２…ステータスレジスタ、１０３…アドレスレジスタ、１０４…コマンドレジスタ、１０５…シーケンサ、１０６…レディ／ビジー回路、１０７…電圧発生回路、１０８…メモリセルアレイ、１０９…ロウデコーダ、１１０…センスアンプ、１１１…データレジスタ、１１２…カラムデコーダ。
【図１】
2020119073.tif 000003
【図２】
2020119073.tif 000004
【図３】
2020119073.tif 000005
【図４】
2020119073.tif 000006
【図５】
2020119073.tif 000007
【図６】
2020119073.tif 000008
【図７】
2020119073.tif 000009
【図８】
2020119073.tif 000010
【図９】
2020119073.tif 000011