複数のダイを有する不揮発性メモリNVMを含むシステムで実施される方法において、電流スレッシュホールドを調整する際にファクタとして使用するのに適したデータを複数のシステムソースのうちの少なくとも1つから受け取る段階であって、前記電流スレッシュホールドは、前記NVMが消費できるピーク電流未満であるような段階と、前記電流スレッシュホールドを、前記受け取ったデータに基づいて調整する段階と、前記NVMの累積電流消費が前記調整された電流スレッシュホールドを越えないように、遂行される同時NVM動作の数を制限する電力制限スキームを使用する段階と、を備えた方法。電力制限スキームを使用する前記段階は、前記NVMの累積電流消費が前記調整された電流スレッシュホールドを越えないように、前記同時NVM動作を時間にわたって分散することを更に含む、請求項1に記載の方法。前記電力制限スキームは、前記NVMにより与えられるフィードバックデータを使用して、各NVMの動作がいつ完了するか決定する反応的電力制限スキームを含む、請求項1に記載の方法。前記電力制限スキームは、各NVM動作が完了するのにどれほど長く要するか予想する予想的電力制限スキームを含む、請求項1に記載の方法。前記電流スレッシュホールドは、NVM性能の最小レベルを可能にするレベルに最初にセットされる、請求項1に記載の方法。前記調整は、前記受け取ったデータが、付加的な電流が得られることを指示するときには、前記電流スレッシュホールドを上げ、前記受け取ったデータが、付加的な電流が得られないことを指示するときには、前記電流スレッシュホールドを下げる、ことを含む請求項1に記載の方法。複数のダイを有し、固定量の電流を各々消費する複数の同時NVM動作を遂行するように働く不揮発性メモリNVMと、複数の装置ソースの少なくとも1つから受け取られるデータに基づいて電流スレッシュホールドを与えるように動作する電力レベル選択回路であって、前記電流スレッシュホールドは、前記NVMが消費できるピーク電流未満であるような電力レベル選択回路と、前記NVM及び電力レベル選択回路と動作上通信し、前記NVMの累積電流消費が前記電流スレッシュホールドを越えないように、遂行される同時NVM動作の数を制限するように働く電力キャッピング回路と、を備えた電子装置。前記複数の装置ソースは、電力供給監視回路、負荷監視回路、温度監視回路、NVMデータソース、及びその組み合わせより成るグループから選択される、請求項7に記載の装置。前記電力レベル選択回路は、前記電流スレッシュホールドを、NVM性能の最小レベルを可能にするレベルに最初にセットするように動作する、請求項7に記載の装置。前記電力レベル選択回路は、前記受け取ったデータが、付加的な電流が得られることを指示するときには、前記電流スレッシュホールドを上げ、前記受け取ったデータが、付加的な電流が得られないことを指示するときには、前記電流スレッシュホールドを下げる、ように動作する請求項7に記載の装置。前記電力キャッピング回路は、前記NVMの累積電流消費が前記調整された電流スレッシュホールドを越えないように、前記同時NVM動作を時間にわたって分散するように働く、請求項7に記載の装置。前記NVMと電力キャッピング回路との間に結合されたフィードバックラインを更に備え、前記電力キャッピング回路は、そのフィードバックラインを経て前記NVMから与えられるフィードバックデータを使用して、各NVMがいつ完了するか決定するように働く、請求項7に記載の装置。前記電力キャッピング回路は、各NVM動作が完了するのにどれほど長く要するか予想するように働く、請求項7に記載の装置。前記NVMは、ナンドフラッシュNVMである、請求項7に記載の装置。不揮発性メモリNVMの電力消費を反応的に制限する方法において、電流スレッシュホールドを受け取る段階と、前記電流スレッシュホールドに基づいて遂行できる同時NVM動作の最大数を決定する段階と、キューイングされる同時NVM動作の上限を受け取る段階であって、それらを同時に動作すると、累積電流消費が前記電流スレッシュホールドを越えることになる段階と、キューイングされる同時NVM動作の第1セットをディスパッチする段階であって、その第1セットは、前記最大数を越えない数の前記キューイングされるNVM動作を含むものである段階と、完了したNVM動作に対するフィードバックデータを監視する段階と、完了したNVM動作が監視されるときに前記キューイングされるNVM動作の別の1つをディスパッチする段階と、を備えた方法。NVM動作は、バッファ部分及びプログラム部分を含み、前記ディスパッチ段階は、実質的に前記バッファ部分が遂行された直後に前記プログラム部分を遂行することを含む、請求項15に記載の方法。NVM動作は、バッファ部分及びプログラム部分を含み、前記ディスパッチ段階は、前記バッファ部分を遂行すること、及び完了したNVM動作が監視されるまで前記プログラム部分の遂行を遅延すること、をふくむ請求項15に記載の方法。前記NVMは、ナンドフラッシュNVMであり、前記電流スレッシュホールドは、そのナンドフラッシュNVMが消費できるピーク電流未満である、請求項15に記載の方法。完了したNVM動作が監視されるときに、付加的なキューイングされるNVM動作のディスパッチを繰り返す段階を更に備えた請求項15に記載の方法。不揮発性メモリNVMの電力消費を予想的に制限する方法において、そのNVMは、NVM動作を遂行するように働き、各NVM動作は、バッファ部分及びプログラム部分を含み、そのバッファ部分は、完全に遂行されるために時間Tbuffを要求し、そしてプログラム部分は、完全に遂行されるために時間Tprogを要求し、前記方法は、電流スレッシュホールドを受け取る段階と、前記電流スレッシュホールドに基づいて遂行できる同時NVM動作の最大数を決定する段階と、各NVM動作に対する予想的タイミングパラメータを指定する段階であって、その予想的タイミングパラメータは、NVM動作のバッファ部分を完全に遂行するための予想的タイミングパラメータTbuffを含み、このTbuffは、Tprogより大きいものである段階と、キューイングされる同時NVM動作の上限を受け取る段階であって、それらを同時に動作すると、累積電流消費が前記電流スレッシュホールドを越えることになる段階と、同時NVM動作の数が前記最大数を越えないように、キューイングされる同時NVM動作のどれほど多くを、ディスパッチされるNVM動作のその後のセットとしてディスパッチできるか決定する段階と、前記その後のセットにおける各NVM動作のTbuffを、先にディスパッチされたNVM動作のTbuffの終わりに添付する段階と、前記その後のセットのTbuffの間に前記先にディスパッチされたNVM動作のプログラム部分を遂行する段階と、を備えた方法。前記その後のセットにおける各NVM動作のプログラム部分を、前記その後のセットにおける各NVM動作の各Tbuffの終わりに遂行する段階を更に備えた、請求項20に記載の方法。前記決定は、更に、同時NVM動作の数に影響し得る前記先にディスパッチされたNVM動作を要因として考慮に入れることを含む、請求項20に記載の方法。前記電流スレッシュホールドは、前記NVMが消費できるピーク電流未満である、請求項20に記載の方法。前記その後のセットのTbuff中に前記先にディスパッチされたNVM動作のプログラム部分を遂行することは、前記先にディスパッチされたNVM動作のプログラム部分のスタートを前記先にディスパッチされたNVM動作のTbuffの終わりに開始することを含む、請求項20に記載の方法。不揮発性メモリNVMの電力消費を予想的に制限する方法において、そのNVMは、NVM動作を遂行するように働き、各NVM動作は、バッファ部分及びプログラム部分を含み、そのバッファ部分は、完全に遂行されるために時間Tbuffを要求し、そしてプログラム部分は、完全に遂行されるために時間Tprogを要求し、前記方法は、各NVM動作に対する予想的タイミングパラメータを指定する段階であって、その予想的タイミングパラメータは、NVM動作のプログラム部分を完全に遂行するための予想的タイミングパラメータTprogを含むものである段階と、各NVM動作に関連したデータをバッファして、NVM動作のプログラム部分に対してデータが実質的に即座に得られるようにする段階と、その後のNVM動作のプログラム部分のスタートを、先のNVM動作のTprogの終わりに開始する段階であって、Tprogは、Tprogより大きいものである段階と、前記バッファされたデータを使用して、前記その後の動作のプログラム部分を遂行する段階と、を備えた方法。電流スレッシュホールドを受け取る段階と、前記電流スレッシュホールドに基づいて遂行できる同時NVM動作の最大数を決定する段階と、キューイングされる同時NVM動作の上限を受け取る段階であって、それらを同時に動作すると、累積電流消費が前記電流スレッシュホールドを越えることになる段階と、同時NVM動作の数が前記最大数を越えないことを保証するために1つ以上の前記キューイングされる同時NVM動作のTprogを調整する段階と、を更に備えた請求項25に記載の方法。前記先のNVM動作のTprogは、前記その後のNVM動作の直前のNVM動作に指定されたTprogである、請求項25に記載の方法。NVM動作に指定されるTprogの期間は、NVM動作に関連したデータが上位ページにプログラムされるか、下位ページにプログラムされるかに基づく、請求項25に記載の方法。消費者電子装置の大量記憶に通常使用されるフラッシュメモリシステムは、電力消費が問題となるシステムの一例である。過酷な使用では、フラッシュシステムは、ここでピーク電力事象と称される高いレベルの電力事象を経験する。ピーク電力事象は、フラッシュメモリシステムの各ダイが同時にアクセスされるときに生じる。フラッシュメモリシステムを使用するシステムは、このようなピーク電力事象を取り扱う即ち、ピーク電力事象の電力需要を満足するに充分な電力リソースを維持するように設計される。しかしながら、ピーク電力事象は、あまり頻繁に生じるものでなく、フラッシュシステムの平均電力消費は、ピーク電力より実質的に低い。従って、その結果、これらシステムは、高い電力レベルが常に必要とされなくても、高レベルの電力を予約しておくように設計される。多数の同時の不揮発性メモリNVM動作を時間にわたって分散させる電力制限スキームを使用してNVMの電力消費を制限するためのシステム及び方法が開示される。これは、NVMの電流消費の上限を固定してピーク電力事象を排除する電流消費キャップを提供する。一実施形態において、NVMの電力消費は、複数のシステムリソースの少なくとも1つから電流スレッシュホールドを調整する際にファクタとして使用するのに適したデータを受け取ることにより制限することができる。電流スレッシュホールドは、NVMによって消費できるピーク電流未満であり、その受け取られたデータに基づき調整することができる。NVMの累積電流消費がその調整された電流スレッシュホールドを越えないように、実行される同時NVM動作の数を制限する電力制限スキームを使用することができる。ある実施形態では、この電力制限スキームは、NVMにより与えられるフィードバックデータを使用して、各NVM動作がいつ完了するか決定する反応的電力制限スキームである。別の実施形態では、電力制限スキームは、各NVM動作が完了するまでにどれほど長くかかるかを予想する予想的電力制限スキームである。本発明の前記及び他の態様並びに効果は、全体を通じて同じ部分が同じ参照文字で示された添付図面を参照した以下の詳細な説明から明らかとなろう。図1は、電子装置100の回路図である。ある実施形態では、電子装置100は、ポータブルメディアプレーヤ例えば、カリフォルニア州クパチーノのアップル社により入手できるiPodTM、セルラー電話例えば、アップル社により入手できるiPhoneTM、ポケットサイズパーソナルコンピュータ、パーソナルデジタルアシスタントPDA、デスクトップコンピュータ、ラップトップコンピュータ、並びに他の適当な形式の電子装置であるか、又はそれらを含む。電子装置100は、システムオンアチップSoC110と、不揮発性メモリNVM120と、電力レベル選択回路130とを含むことができる。不揮発性メモリ120は、フローティングゲート又は電荷トラップ技術に基づくNANDフラッシュメモリ、NORフラッシュメモリ、消去可能なプログラマブルリードオンリメモリEPROM、電気的に消去可能なプログラマブルリードオンリメモリEEPROM、強誘電体RAMFRAM、磁気抵抗性RAMMRAM、他の既知の又は将来の形式の不揮発性メモリ技術、又はその組み合わせを含む。NVMメモリ120は、最小の消去単位であるブロックへと編成されると共に、最小のプログラム可能で且つ読み取り可能な単位であるページへと編成される1つ以上のダイを含むことができる。ある実施形態では、NVM120は、複数のブロックを各々有する複数の集積回路を含むことができる。対応する集積回路からのブロック例えば、同じ位置又はブロック番号を有するブロックは、スーパーブロックを形成する。NVM120の各メモリ位置例えば、ページ又はブロックは、物理的アドレス例えば、物理的ページアドレス又は物理的ブロックアドレスを使用してアドレスすることができる。電力レベル選択回路130は、NVM120が消費できる最大電力量又は電流量を制限する電力レベルをセットすることができる。電力レベルは、電圧レベル、電流レベル、又はその両方を含むことができる。回路130は、多数のファクタに基づいて電力レベルを選択するように動作できる。これらのファクタは、例えば、電源から利用できる電力例えば、利用可能なバッテリ電力、装置100の種々のコンポーネント例えば、SoC制御回路112により要求される電力負荷、及び装置100の温度を含む。回路130は、SoC110及びNVM120に例示的に接続されて示されているが、回路130は、装置100のいずれのコンポーネントにも接続できることを理解されたい。回路130の付加的な細部は、図5の説明に関連して以下に述べる。図1及びそれ以降の図、並びにここに開示する種々の実施形態は、時々、フラッシュ技術に関連して説明する。しかしながら、これは、限定を意図したものではなく、他の形式の不揮発性メモリも実施することができる。又、電子装置100は、図面が複雑になり過ぎるのを防ぐために図1には示されていない電源又はユーザ入力又は出力コンポーネントのような他のコンポーネントを含むことができる。システムオンアチップ110は、SoC制御回路112、メモリ114及びNVMインターフェイス118を含むことができる。SoC制御回路112は、SoC110の一般的な動作及び機能、並びにSoC110又は装置100の他のコンポーネントを制御することができる。例えば、ユーザ入力、及び/又はアプリケーション又はオペレーティングシステムのインストラクションに応答して、SoC制御回路112は、NVM120からデータを得又はそこにデータを記憶するためにNVMインターフェイス118へ読み取り又は書き込みコマンドを発生することができる。明瞭化のために、SoC制御回路112が記憶又は検索に要求するデータは、そのデータがユーザ又はユーザアプリケーションに直接関連していなくても、ユーザデータと称される。むしろ、ユーザデータは、例えば、アプリケーション又はオペレーティングシステムを経てSoC制御回路112により発生され又は得られたデジタル情報の適当なシーケンスである。SoC制御回路112は、ハードウェア、ソフトウェア及びファームウェアの任意の組み合わせ、並びに電子装置100の機能を駆動するように働くコンポーネント、回路又はロジックを含む。例えば、SoC制御回路112は、NVM120又はメモリ114に記憶されたソフトウェア/ファームウェアの制御の下で動作する1つ以上のプロセッサを含む。メモリ114は、適当な形式の揮発性又は不揮発性メモリ、例えば、ダイナミックランダムアクセスメモリDRAM、同期ダイナミックランダムアクセスメモリSDRAM、ダブルデータレートDDRRAM、キャッシュメモリ、リードオンリメモリROM、又はその組み合わせを含むことができる。メモリ114は、ユーザデータを不揮発性メモリ120へプログラミングするか又はそこから読み取るために一時的に記憶できるデータソースを含むことができる。ある実施形態では、メモリ14は、SoC制御回路112の一部分として実施されるプロセッサのためのメインメモリとして働くことができる。NVMインターフェイス118は、SoC制御回路112とNVM120との間のインターフェイス又はドライバとして働くように構成されたハードウェア、ソフトウェア及び/又はファームウェアの適当な組み合わせを含む。NVMインターフェイス118に含まれたソフトウェアモジュールについては、それに対応するプログラムコードがNVM120又はメモリ114に記憶される。NVMインターフェイス118は、SoC制御回路112がNVM120にアクセスしそしてNVM120のメモリ位置例えば、ページ、ブロック、スーパーブロック、集積回路及びそこに記憶されたデータ例えば、ユーザデータを管理できるようにする種々の機能を遂行することができる。例えば、NVMインターフェイス118は、SoC制御回路112からの読み取り又は書き込みコマンドを解釈し、ウェアレベリングを遂行し、そしてNVM120のバスプロトコルに適合する読み取り及びプログラムインストラクションを発生することができる。NVMインターフェイス118及びSoC制御回路112は、個別のモジュールとして示されているが、これは、本発明の実施形態の説明を簡単化するために過ぎない。これらのモジュールは、ハードウェアコンポーネント、ソフトウェアコンポーネント、又はその両方を共有することを理解されたい。例えば、SoC制御回路112の一部分として実施されるプロセッサは、NVMインターフェイス118のためのソフトウェアベースのメモリドライバを実行する。従って、SoC制御回路112及びNVMインターフェイス118の各部分を集合的に制御回路と称してもよい。図1は、NVM120がそれ自身のコントローラをもたない電子装置を示す。他の実施形態では、電子装置100は、NVM120と、NVMインターフェイス118の幾つかの部分又は全ての部分例えば、以下に述べる変換レイヤとを含むフラッシュ又はSDカードのようなターゲット装置を含むことができる。これらの実施形態では、SoC110又はSoC制御回路112は、ターゲット装置のためのホストコントローラとして働いてもよい。例えば、ホストコントローラとして、SoC110は、ターゲット装置へ読み取り又は書き込み要求を発生することができる。図2A及び2Bは、図1の実施形態100の種々の実施形態を例示するシステムの回路図である。最初に図2Aを参照すると、システム200は、ホストプロセッサ210と、少なくとも1つの不揮発性メモリNVMパッケージ220とを含むことができる。ホストプロセッサ210及び任意であるがNVMパッケージ220は、ポータブルメディアプレーヤ例えば、カリフォルニア州クパチーノのアップル社により入手できるiPodTM、セルラー電話例えば、アップル社により入手できるiPhoneTM、ポケットサイズパーソナルコンピュータ、パーソナルデジタルアシスタントPDA、デスクトップコンピュータ、又はラップトップコンピュータのような適当なホスト装置又はシステムにおいて実施することができる。ホストプロセッサ210は、現在入手できる又は将来開発される1つ以上のプロセッサ又はマイクロプロセッサを含む。それとは別に又はそれに加えて、ホストプロセッサ210は、メモリシステム200の種々の動作を制御できる他のコンポーネント又は回路例えば、特定用途向け集積回路ASICを含むか又はそれに関連して動作することができる。プロセッサベースの実施では、ホストプロセッサ210は、ホストに実施されたメモリ図示せずへロードされるファームウェア及びソフトウェアプログラムを実行することができる。このメモリは、適当な形式の揮発性メモリ例えば、キャッシュメモリ又はランダムアクセスメモリRAM、例えば、ダブルデータレートDDRRAM又はスタティックRAMSRAMを含む。ホストプロセッサ210は、そのホストプロセッサ210が不揮発性メモリパッケージ220のための種々のメモリ管理及びアクセス機能を遂行できるようにするベンダー特有及び/又は技術特有のインストラクションを与えるNVMドライバ212を実行することができる。ホストプロセッサ210は、図1のSoC110いずれかの機能を遂行することができる。又、ホストプロセッサ210は、NVMドライバ212の一部分として実施される電力キャッピングモジュール214を実行することもできる。電力キャッピングモジュール214は、NVMパッケージ220の電力消費コントローラとして動作し、本発明の種々の実施形態により種々の電力制限スキームを実施することができる。これらの電力制限スキームは、同時にアクセスできるダイ224の数を制御することによりNVMパッケージ220で消費される電力を制限することができる。本発明の実施形態による種々の電力制限スキームは、以下で詳細に説明する。NVMパッケージ220は、ボールグリッドアレイBGAパッケージ又は他の適当な形式の集積回路ICパッケージである。NVMパッケージ220は、管理型NVMパッケージでもよい。特に、NVMパッケージ220は、適当な数のNVMダイ224に結合されたNVMコントローラ222を含むことができる。NVMコントローラ222は、プロセッサ、マイクロプロセッサ、又はハードウェアベースのコンポーネント例えば、ASICの適当な組み合わせを含み、そしてホストプロセッサ210と同じコンポーネント又は異なるコンポーネントを含んでもよい。NVMコントローラ222は、NVMダイ224の物理的メモリ位置を管理し及び/又はそこにアクセスする責任をNVMドライバ212と共有する。或いは又、NVMコントローラ222は、NVMダイ224に対する実質的に全ての管理及びアクセス機能を遂行してもよい。従って、管理型NVMとは、不揮発性メモリ例えば、NVMダイ224に対する少なくとも1つのメモリ管理機能を遂行するように構成されたコントローラ例えば、NVMコントローラ222を含むメモリ装置又はパッケージを指す。NVMダイ224に対してNVMコントローラ222及び/又はホストプロセッサ210により遂行されるメモリ管理及びアクセス機能は、読み取り、書き込み又は消去インストラクションを発生し、そしてウェアレベリング、不良ブロック管理、不要データ収集、論理的/物理的アドレスマッピング、SLC又はMLCプログラミング判断、エラー修正又は検出の適用、及びプログラム動作を設定するためのデータキューイングを遂行することを含む。NVMパッケージ220は、NVMコントローラ222により実行できる電力キャッピングモジュール223を含むことができる。電力キャッピングモジュール223は、電力キャッピングモジュール214と同じ動作能力を有する。ある実施形態では、両電力キャッピングモジュール214及び223をシステム200に含ませることができる。この実施形態では、モジュール214及び223は、本発明の一実施形態による電力制限スキームを実施するように一緒に機能してもよい。例えば、モジュール214は、マスターとして機能し、そしてモジュール223は、スレーブとして機能してもよい。別の実施形態では、システム200は、電力キャッピングモジュール214を含むが、電力キャッピングモジュール223は含まない。更に別の実施形態では、システム200は、電力キャッピングモジュール223を含むが、電力キャッピングモジュール214は含まない。NVMダイ224は、メモリシステム200を停止するときに保持する必要のある情報を記憶するのに使用される。ここで使用する不揮発性メモリという語は、状況に応じて、データを記憶できるNVMダイを指すか、又はNVMダイを含むNVMパッケージを指してもよい。図2Bは、図1の電子装置100の別の実施形態の一例であるシステム250の回路図である。このシステム250は、図2Aのシステム200に関連して上述した特徴及び機能のいずれかを有する。特に、図2Bに示すいずれかのコンポーネントは、図2Aの同じ名前のコンポーネントのいずれかの特徴及び機能を有し、そしてその逆のことも言える。システム250は、ホストプロセッサ260及び不揮発性メモリパケット270を含むことができる。図2Aのメモリシステム200とは異なり、NVMパッケージ270は、埋め込まれたNVMコントローラを含まず、それ故、NVMダイ274は、ホストプロセッサ260により例えば、NVMドライバ262を経て完全に管理される。従って、不揮発性メモリパッケージ270は、生のNVMと称される。生のNVMとは、NVMパッケージの外部で実施されるホストコントローラ又はプロセッサ例えば、ホストプロセッサ260により完全に管理されるメモリ装置又はパッケージを指す。ホストプロセッサ260は、図2Aのホストプロセッサ210及びNVMコントローラ222に関連して上述した他のメモリ管理及びアクセス機能のいずれかを遂行することができる。更に、ホストプロセッサ260は、図1のSoC110の機能のいずれかを遂行することができる。又、ホストプロセッサ260は、NVMドライバ262の一部分として実施されてもよい電力キャッピングモジュール264も実行できる。電力キャッピングモジュール264は、電力キャッピングモジュール214図2Aと同じ動作能力を有することができる。図2A及び2Bを参照し続けると、NVMコントローラ222図2A及びホストプロセッサ260例えば、NVMドライバ262を経て図2Bは、各々、図1に関連して上述したSoC110の特徴及び機能を実施し、そしてNVMダイ224及び274は、本発明の種々の実施形態を使用して確認できる各電力消費プロフィールを実施することができる。特に、NVMダイ224図2A及び274図2Bは、各々、ピーク電流プロフィールを有し、ダイがその最も電力集中の動作を遂行するときに最も高いピークが生じる。フラッシュメモリの実施形態では、このような電力集中動作の一例は、メモリセルに記憶されたデータを読むときに使用される感知動作例えば、電流感知動作である。このような感知動作は、例えば、プログラミングの後にデータが適切に記憶されたことを検証するときにホストプロセッサ及び/又はNVMコントローラからの読み取り要求に応答して遂行される。図2Cは、電流消費プロフィール290を示す。この電流消費プロフィール290は、検証型の感知動作中にNVMダイ例えば、NVMダイ224又は274の1つの電流消費の一例を与える。ピーク292及び294を含む多数のピークを伴う電流消費プロフィール290は、検証型の感知動作がどれほどピーキーであるかを示している。これらの検証型感知動作は、複数のNVMダイを横切って同時に生じるおそれがあるので即ち、複数のダイを横切って並列な書き込みを使用するために、特に問題である。従って、NVMコントローラ222図2A又はホストプロセッサ260図2Bにより管理されない場合には、異なるNVMダイのピークが重畳し、電流の総和が許容できないほど高くなる。この状況は、他の形式の電力集中動作、例えば、消去及びプログラム動作でも生じ得る。従って、各ダイが同時にアクセスされる例えば、プログラム、読み取り、消去、又はその組み合わせによりときには、累積電流消費プロフィールは、単一のダイのものより著しく高くなる。図3は、本発明の一実施形態によるNVMパッケージの一部分を詳細に示すブロック図である。図3は、書き込み動作中に、どのようにしてデータをデータソース310からバッファ320へ転送し、そしてバッファ320から、ダイ330のブロック332の1つに存在するページ334の1つへ転送するかを示している。書き込み動作は、2つの部分、即ち1データをデータソース310からバッファ320へ転送するバッファ動作、及び2データをバッファ320からダイ310へ転送するプログラム動作を含むことができる。両部分は、時間成分及び電力消費成分を有する。これを完全に遂行するために要求されるバッファ動作及び時間は、ここでは、Tbuffと称される。又、これを完全に遂行するために要求されるプログラミング動作及び時間は、ここでは、Tprogと称される。書き込み動作のバッファ及びプログラム部分がタイミング図350に示されている。このタイミング図350は、時間t0で開始し、時間t1で終了する書き込み動作を示している。バッファ部分は、t0で開始しtiで終了する全書き込み動作の比較的僅かな部分を占有し、一方、プログラム部分は、tiで開始しt1で終了する書き込み動作の比較的大きな部分を占有する。又、図350は、バッファ及びプログラム部分の電力消費も示している。プログラム部分は、バッファ部分より実質的に多くの電力を消費する。データソース310は、任意のデータソースのブラックボックス表現である。例えば、データソースは、データをNVMパッケージへ及びNVMパッケージからルーティングするデータバスラインである。データソース310は、図2A及び2Bのホストプロセッサ210又は260のようなホストプロセッサからデータを受け取る。バッファ320は、データを一時的に記憶するための適当な構造でよい。例えば、バッファ320は、レジスタでよい。バッファ320を使用するのは、ダイ330より相当に高いレートでデータを受け取って記憶できるからである。従って、バッファ320は、NVMインターフェイスが、データを、一時的及び高速記憶バッファ320にのために各ダイへディスパッチして、データラインを更なるデータ転送のために解放できるようにする。バッファ320が存在しない場合には、データラインは、全てのデータがダイ330に書き込まれるまでビジーとなる。ダイ330は、所定数の物理的なブロック332を含むことができ、そして各ブロックは、所定数のページ334を含むことができる。ページ及びブロックは、ダイ330内のメモリセルの物理的な位置を表す。ページ又はブロック内のセルは、セルが存在するNVMパッケージに関連したアドレス回路図示せずを使用してアクセスすることができる。典型的に、所与の時間に、ダイ当たり1つのブロックしかアクセスできない。ある実施形態では、ダイは、複数の平面に分割され、ダイの各平面のブロックは、同時にアクセスすることができる。ある実施形態では、2つ以上のダイからのブロックを仮想的に一緒にリンクしてスーパーブロックを形成することができる。ブロックは、各ダイの同じ行においてスーパーブロックとして仮想的にリンクされる必要はない。実際に、ブロックは、2つ以上のダイからランダムに選択されて、スーパーブロックを形成することができる。ある実施形態では、ブロックは、2つ以上の平面から選択され、各平面のブロックに同時にアクセスすることができる。スーパーブロックは、動作の並列性を与え、異なる平面に位置するブロック上でプログラミング、読み取り及び消去動作を並列に行えるようにする。別の実施形態では、2つ以上のダイ又は平面からのページを仮想的に一緒にリンクして、スーパーページを形成することができる。NVMインターフェイスにおいて実施される変換レイヤは、スーパーブロック又はスーパーページを追跡する。フィードバックライン340は、ダイ330及び/又はバッファ320の動作に関する情報を与えることができる。例えば、フィードバックライン340は、書き込み動作のバッファ部分及びプログラム部分が完了したときに、ページをプログラムするのに必要なパルスの数、電圧信号、電圧範囲、又はダイ300の動作に関連した他の情報のようなフィードバック情報を与えることができる。書き込み動作の任意の部分の時間及び電力は、ダイ、ダイの領域、ブロック又はページ例えば、下位ページ又は上位ページまで分解することができ、且つこの情報のいずれかをフィードバックライン340に与えられることが理解される。フィードバックライン340の情報は、NVMコントローラ例えば、NVMコントローラ222及び/又はホストプロセッサに与えられ、又はより詳細には、電力キャッピングモジュールに与えられる。図3を参照して述べたNVM動作は、プログラミング動作に関するものであるが、読み取り及び消去のような他のNVM動作も、同様のタイミング及び電力消費パラメータを示すことが理解される。例えば、読み取り動作は、読み取り部分及びバッファ部分を有する。読み取り部分は、バッファ部分より多くの電力を消費し、又、遂行するのにより長時間を要する。図4Aは、従来のシステムによって制御されるNVMパッケージにおける全てのダイの累積電流消費プロフィール410を例示するものである。このプロフィール410は、電力制限スキームを使用しないシステムにおいて発生される。その結果、電流プロフィール410は、ピーク412及び414で示すように、ピーク電流消費のインスタンスを含む。このような従来のシステムは、ピーク電力事象の発生を許すので、このような事象を受け容れるように設計されねばならない。これは、システムに不要な設計上の制約を課し、ピーク電流に達するNVM事象を取り扱い且つピーク電力要求を満足するに充分な電力の予約を強制することになる。更に、ピーク電力事象はあまり頻繁ではないから、平均電流消費は、図示されたように、ピーク電流より低い。ピーク電流と平均電流とのこの相違の結果、過剰な電流オーバーヘッドがNVMパッケージに割り当てられる。本発明による実施形態は、図4Aの欠点を克服する。図4Bは、本発明の実施形態によるシステム例えば、システム100、システム200、又はシステム250により制御されるNVMパッケージにおける全てのダイの累積電流消費プロフィール420を例示するものである。このプロフィール420は、電力制限又は電流制御スキームを使用するシステムにおいて発生される。このスキームは、電流消費を制限し、瞬時電流が電流スレッシュホールドを越えるのを防止する。電流を制限することにより、ピーク422及び424は、電流スレッシュホールドにより制限されない場合に消費する多量の電流を瞬時に消費することが許されない。図示されたように、ピーク422及び424は、本発明の一実施形態による電流制限スキームにより同時のNVM動作の数が制限されるので、平坦化される。従って、制限なしに動作することが許された場合に電流スレッシュホールドを越える同時動作負荷を有するNVM事象が作用することが防止され、電流消費がスレッシュホールドを越えないことを保証するようにそれら事象が時間にわたって分散される。NVM事象の同時動作を制限する技術は、図6ないし12を参照して以下に詳細に述べる。電力制限スキームの使用で、NVMパッケージに対する電力オーバーヘッド負担を減少することができる。これは、システムが電力リソースをシステム内の他のコンポーネントに割り当てできるようにする。というのは、電力制限スキームによりセットされた電流スレッシュホールドにより、NVMパッケージにより引き出される最大電力をセットできるからである。ある実施形態では、電力制限スキームは、電流スレッシュホールドを種々のシステムパラメータに基づいて変化させる。例えば、プロセッサのようなシステム内の他のコンポーネントが相対的にアイドル状態である場合に、NVMパッケージの電流スレッシュホールドを上げて、付加的な同時NVM動作を許すことができる。他のコンポーネントが相対的にアクティブになると、NVMの電流スレッシュホールドを下げることができる。図5は、電源監視回路512、負荷監視回路514、温度監視回路516、及びNVM電力消費データ518から受け取った入力に基づいて電流スレッシュホールドを与え且つ動的に変化させるよう動作する電力レベル選択回路510の例示的ブロック図である。この選択回路510は、NVMインターフェイス例えば、NVMインターフェイス118又はNVMパッケージ例えば、NVM120に電流スレッシュホールドを与える。電源監視回路512は、システムでの入手可能な電力レベルを監視し、そしてそのデータを電力レベル選択回路510に与えることができる。例えば、回路512は、バッテリのエネルギーレベルを監視することができる。別の例として、回路512は、システムがラップトップ又はパワーブリックのような外部電源からシステムが電力を受け取るかどうか検出する。更に、システムが外部電力を受け取るときには、回路が、電力レベル選択回路に、どれほど多くの電力が受け取られるか例えば、ラップトップから500mA又はパワーブリックから1Aを指示することができる。負荷監視回路514は、システム内の種々のコンポーネント例えば、プロセッサ、メモリ、バックライト、LCD、ユーザインターフェイス、等のリアルタイム負荷を監視することができる。又、回路514は、例えば、システム内に存在するコマンドキューに基づいてコンポーネントの負荷を予想することができる。温度監視回路516は、システムの温度を監視することができる。NVM電力消費データ518は、NVMパッケージによりどれほど多くの電力を消費できるか特定する。NVMパッケージの電力消費分解能は、比較的特定のもの例えば、上位ページの電力又は電流消費から比較的一般的なもの例えば、特定のダイの電力消費へと変化する。このデータを使用して、選択回路510は、所与の電流スレッシュホールドに対してどれほど多くの同時NVM動作を遂行できるか決定することができる。データ518は、例えば、NVMパッケージのベンダーから、又はNVMパッケージの電力消費を決定するテストから導出することができる。NVMパッケージの電力消費を決定するためのテストの一例が、参考としてここにそのまま援用されるPeakPowerValidationMethodsandSystemsforNonVolatileMemoryと題する米国特許出願代理人管理番号P8909US1に見られる。選択回路510は、それが受け取るデータをバランスさせ、それに応じて電流スレッシュホールドをセットすることができる。例えば、供給電力が所定の電力スレッシュホールドより高く、システム負荷が所定の負荷スレッシュホールドより低く、且つ温度が所定の温度スレッシュホールドより低い場合には、回路510は、比較的高い電流スレッシュホールドを選択してもよい。別の例として、供給電力が所定の電力スレッシュホールドより低く、システム負荷が所定の負荷スレッシュホールドより高く、且つ温度が所定の温度スレッシュホールドより低い場合には、回路510は、比較的低い電流スレッシュホールドを選択してもよい。これらの例は、単なる例示に過ぎず、そして回路510は、ここに述べるものを越える付加的な入力を、電流スレッシュホールドを動的に変化させるファクタとして受け取ってもよいことが理解される。図6から12を参照し、NVM動作における電力消費を制限するための幾つかの技術を説明する。各技術は、図3について上述したように、バッファするための時間及びプログラムするための時間を参照するものである。バッファするための時間は、ここでは、Tbuffと称され、そしてプログラムするために時間は、ここでは、Tprogと称される。幾つかの図は、番号付けされたダイを参照することを含む。Tbuff及びTprogは、Tbuff及びTprog動作がどのダイに関連するか指示するためにダイ番号例えば、Tprog1が添付される。例えば、Tprog1は、ダイ番号1に対してプログラムするための時間を指す。図6は、電流制限されない理想的なタイミング図610を例示している。このタイミング図610は、番号1及び2で示された2つのダイオードに対するTbuff及びTprogを示している。付加的なダイを示すことができるが、図面の過剰な複雑さを回避するために省略されていることを理解されたい。図示されたように、NVM事象は、Tbuff1で始まり、その完了直後に、Tprog1及びTbuff2が始まる。Tbuff2が完了した後に、Tprog2が始まる。この点において、Tprog1及びTprog2が同時の動作であるから、電流消費が最高となる。Tprog1が完了すると、Tprog2が遂行されるだけであるから、電流消費は下がる。タイミング図610は、NVMの動作に電流スレッシュホールドが課せられず、従って、ダイ1及び2の両方の電流消費を積み重ねることができるので、理想的である。図7は、本発明の一実施形態による電流制限型タイミング図710である。このタイミング図710は、同時ダイ動作を1つのダイのみに実際上制限する電流スレッシュホールドに従うものである。図示されたように、NVM事象は、Tbuff1で始まり、その完了直後に、Tprog1及びTbuff2が始まる。図6とは対照的に、Tprog2は、Tbuff2及びTprog1が完了する後まで開始しない。従って、Tprog1が完了する後までTprog2の開始を遅延することで、電流消費を制限し、電流スレッシュホールドに従わせる。理想的なモードにおいて作用するTprog2の破線表示が比較のために設けられる。図8Aは、本発明の一実施形態による反応的電力制限スキームに基づいて動作する電流制限型タイミング図810を例示するものである。このスキームでは、実質的にTbuff動作が完了した直後にTprog動作が開始すると仮定する。このスキームは、フィードバックデータを使用して、ダイごとにTbuff及びTprog動作のディスパッチ即ち、開始を制御する。フィードバックデータは、例えば、所与のダイのTprogがいつ完了するか特定することができる。従って、所与の電流スレッシュホールドに対し、どれほど多くのTprog動作を遂行できるか分かる。この知識及びフィードバックデータを使用して、反応的電力制限スキームは、電流スレッシュホールドに対して可能であるのと同程度に多くの動作をディスパッチすることができる。タイミング図810は、Tbuff1で始まり、次いで、Tprog1となる。Tprog1が完了した後に、Tprog1が完了したことを指示するフィードバックデータが与えられる。このフィードバックデータが受け取られた後、反応的電力制限スキームは、Tbuff2を開始し、その直後に、Tprog2となる。図示されていないが、Tprog1が完了した後にTbuff2が開始するのに待ち時間が生じ得る。というのは、フィードバックデータを受け取って処理するのに要する時間に関連した遅延が生じるからである。図8Bは、本発明の一実施形態により反応的電力制限スキームで遂行されるステップの例示的フローチャートである。ステップ820で開始して、電流スレッシュホールドが受け取られる。システム内の種々のファクタに基づいて電流スレッシュホールドを変更できることを示すためにフィードバックループが設けられる。異なる電流スレッシュホールドが受け取られたときに、電流制限スキームは、その差を考慮して、必要に応じて適当な変更を行う。ステップ830において、受け取られた電流スレッシュホールドに基づいて遂行できる同時NVM動作の最大数Cmaxに関して決定がなされる。ステップ840において、キューイングされる同時NVM動作の上限が受け取られ、それらを同時に動作すると、電流スレッシュホールドを越えることになる。ステップ850において、キューイングされるNVM動作の第1セットをディスパッチし、この第1セットは、Cmaxを越えない動作の数を含む。この第1セットは、Tprogの完了をまだ報告していない以前にディスパッチされたNVM動作を考慮することができる。ステップ860において、Tprog完了のフィードバックを監視する。完了したTprogが検出されると、ステップ870に示されたように、キューイングされるNVM動作の別の1つをディスパッチすることができる。ステップ880において、キューイングされる付加的なNVM動作が存在するかどうかの決定がなされる。その決定がイエスの場合には、プロセスは、ステップ860へループバックする。キューイングされるNVM動作の上限に追加される付加的なNVM動作が受け取られることがあり、従って、同時動作の数を制限する必要性が更に続く。その決定がノーの場合には、プロセスは、ステップ820へループバックする。図9は、本発明の一実施形態によるパイプライン型反応的電力制限スキームに基づいて動作する電流制限タイミング図910を例示する。このスキームは、図8A及び8Bを参照して上述した反応的電力制限スキームと同様であるが、Tbuff動作をパイプライン型とすることができる。しかしながら、Tprog動作は、実質的にTbuff動作が完了した直後に自動的に開始しない。このスキームは、Tbuff動作を実質的にそれに対応するTprog動作の直前に遂行する必要性を排除することによりNVM動作のスループットを高めることができる。即ち、第2のダイに対するTbuff動作を、第1のダイのTprog動作の前又は動作中に遂行することができる。タイミング図910は、Tbuff1で開始し、そしてTbuff1が完了した後に、Tprog1及びTbuff2の両方が開始することができる。Tbuff2は、Tprog1が完了する前にその動作を完了するが、パイプライン反応的スキームは、Tprog1が完了したことを示すフィードバックが受け取られるまでTprog2の開始を許さない。別の実施形態では、Tbuff1及びTbuff2が一緒に開始できるが、Tprog2は、Tprog1が完了するまで開始しない。図10A及び11Aは、本発明の一実施形態による予想的電力制限スキームに基づいて動作する電流制限タイミング図を例示する。この予想的電力制限スキームは、各NVM動作を完了するのにどれほど長く要するか予想することができ、そして所与の電流スレッシュホールドに対してどれほど多くの同時Tprog動作を遂行できるか分かるので、この予想的電力制限スキームは、できるだけ多くの同時動作をディスパッチするように動作できる。反応的電力制限スキームとは対照的に、予想的電力制限スキームは、その後のNVM動作をいつディスパッチできるか決定するためにフィードバックに依存する必要はない。その名前が意味する通り、予想的電力制限は、所与のNVM動作がいつ完了するか予想し、その予想に関連した期間が終了した後にNVM動作をディスパッチする。NVM動作の予想は、2つの部分、即ち1予想をバッファするための時間Tbuff、及び予想をプログラムするための時間Tprogを含むことができる。これらのTbuff及びTprogは、実際のTbuff及びTprog動作が実際にどれほど長くを要するかの予想である。Tbuff及びTprogの選択は、保守的から積極的へと変化することができる。他の実施形態では、コンテクスト特有の予想を選択することができる例えば、Tprogは、上位ページをプログラミングする方が、下位ページをプログラミングより高い。更に別の実施形態では、フィードバック情報での予想を使用するハイブリッド解決策を実施することができる。図10Aを参照すれば、本発明の一実施形態による保守的な予想的電力制限スキームに基づいて動作する電流制限タイミング図1010が例示される。一実施形態において、この保守的な予想は、各NVM動作に充分な時間が割り当てられるように保証し、実際のTbuff及びTprog時間がTbuff及びTprogより短くなるよう実質上合理的に保証することができる。別の実施形態では、保守的な予想は、TbuffがTprogより大きいことを保証するように選択することができる。これら解決策は、例えば、Tprogの予想されない遅延に対して保護するための安全ネットを与えることができるが、動作を完了するために実際に必要とされる以上のものを予想することを犠牲にする。従って、同時NVM動作のスループットを下げる予想オーバーヘッド時間の潜在的な危険性がある。タイミング図1010は、2つのダイに対する予想タイミングパラメータを示し、そして保守的な予想パラメータが選択されるので、Tbuffは、Tprogより、完了までに長時間を要すると仮定される。実際に、その逆も真であり、Tprogは、一般的に常に、Tbuffより、完了までに長時間を要する。図示されたように、Tbuff及びTbuffは、Tprog及びTprogより、完了のために長時間が割り当てられる。図10A及び図10Bの両方を参照すれば、タイミング図1020は、保守的な予想的電力制限スキームに基づいて動作する2つのダイに対する実際のタイミングパラメータを示す。Tprog2の開始は、Tprog1の完了ではなく、Tbuffの完了とキーオフされる。従って、TbuffがTprog1より大きいことを保証することにより、Tprog1及びTprog2の重畳はなく、NVM動作の望ましからぬ同時動作が防止される。図10Cは、本発明の一実施形態による保守的な予想的電力制限スキームを実施するために行われるステップのフローチャートを例示する。ステップ1022で始めて、電流スレッシュホールドを受け取る。システムの種々のファクタに基づいて電流スレッシュホールドを変更できることを示すためにフィードバックループが与えられる。異なる電流スレッシュホールドが受け取られると、その異なる電流スレッシュホールドに関連した限界が予想的電力制限スキームにより適用される。ステップ1030において、受け取った電流スレッシュホールドに基づいて遂行できる同時NVM動作の最大数Cmaxの決定を行う。ステップ1040において、予想スキームは、NVM動作の予想タイミングパラメータを選択する。これらのパラメータは、Tbuff及びTprogを含み、全てのNVM動作に均一に適用することができる。例えば、一実施形態では、Tbuffの期間は、Tprogの期間より長い。予想時間パラメータとして選択される実際の値は、適当なソースから導出される。例えば、これらパラメータは、NVMパッケージベンダー仕様、Tprog及び/又はTbuffの平均期間、又はテストデータに基づく。ある実施形態では、Tbuff及びTprogとして選択される実際の値は、これらNVM動作の各々に必要とされる最大期間に基づく。これらのNVM動作の平均期間に基づいて実際の値を選択する解決策とは対照的に、Tbuff及びTprogの最大期間を使用することで、先にディスパッチされた動作が、次の動作が始まる前に完了しないという状態を防止することができる。ステップ1045において、キューイングされる同時NVM動作の上限を受け取り、全部を一度に動作することが許される場合に、それらが同時に動作されると、電流スレッシュホールドを越えることになる。説明を容易にするため、キューイングされるNVM動作は、少なくとも1つのTprog動作が進行中である間に受け取られると仮定する。ステップ1050において、ディスパッチされるセットがCmaxを越えないように、キューイングされるNVM動作のどれほど多くをディスパッチできるかの決定がなされる。この決定は、既にディスパッチされたが、依然、予想されるタイミングパラメータ、例えば、Tbuff内にある、先にディスパッチされたNVM動作を考慮することができる。例えば、選択された電流スレッシュホールドに対して5つの同時NVM動作を遂行することができ、且つ1つの先にディスパッチされたNVM動作が未解決であるが、先にディスパッチされた動作に対する予想される時間パラメータ例えば、Tbuffが満了になっていないために完了したと推定できないことを仮定する。この仮定のもとで動作すると、ディスパッチされるセットは、キューイングされるNVM動作を4つ含むことができる。ステップ1050又はその後のステップが遂行される間に、付加的なNVM動作をキューに追加できることを理解されたい。ステップ1055において、キューイングされるNVM動作のディスパッチされたセットに関連したTbuffパラメータを、先にディスパッチされたNVM動作のTbuffパラメータの終わりに添付する。先にディスパッチされたNVM動作が2つ以上ある場合には、先にディスパッチされたNVM動作のシーケンスにおける最後のものがNVM動作とキーオフされる。換言すれば、先にディスパッチされたNVM動作のTprogが始まるときに、Tbuffパラメータのディスパッチされたセットを開始することができる。従って、Tbuffパラメータの第1セットをこのように添付することで、先にディスパッチされたNVM動作のTprogに、ディスパッチされたセットのTprogが始まるまでにその動作を完了するに充分な時間が与えられることを保証する。ステップ1060において、先にディスパッチされたNVM動作を、ディスパッチされたセットのTbuffの間にNVMパッケージのページへプログラムする。ステップ1070において、キューイングされたNVM動作が残っているかどうかの決定がなされる。もしイエスであれば、プロセスは、ステップ1050へ復帰する。もしノーであれば、プロセスは、ステップ1022へ復帰する。図11Aは、本発明の一実施形態による積極的な予想的電力制限スキームに基づき動作する電流制限タイミング図を例示する。一実施形態において、この積極的なスキームは、各NVM動作に対してTbuffが実質的に一定であり、且つTprogが1つ以上のファクタに基づいて変化すると仮定する。従って、積極的なスキームは、典型的にバッファ動作に関連した時間値のような定数をTbuffに添付することができ、そしてこのスキームは、Tprogに対する予想時間のスライディングスケールを使用してもよい。更に、Tbuff動作は、パイプライン型で、このスキームにより許されるや否や、Tprog動作について準備することができる。同時NVM動作このスキームで制限されない場合に電流スレッシュホールドを越える累積電力消費を生じることになるに対するTprogの開始は、先にディスパッチされたNVM動作のTprogの終わりである。これは、Tbuffの終わりにTprogを開始した保守的な予想解決策とは対照的である。このスキームの積極的な態様は、Tprogのスライディングスケールによって与えられる。Tprogを最小にするのが望ましいが、実際のTprog動作がTprogを越えるほどではない。Tprogは、多数のファクタに基づいて変化し得る。例えば、Tprogは、電流スレッシュホールド、データが下位ページへプログラムされるか上位ページへプログラムされるか、データをプログラムすべきダイの領域、上限キューにおけるNVM動作の数、又はその組み合わせに基づいて変化し得る。例えば、システムにより消費される電流は、データが下位ページへプログラムされるか上位ページへプログラムされるかに基づいて変化し得る。上位ページのプログラミングは、一般に、下位ページのプログラミングより長いので、上位ページのプログラミングに対する電流消費は、対応的に高くなる。従って、上位ページのプログラミングについては、下位ページのプログラミングよりも長い予想時間がTprogに指定される。タイミング図1110は、1つの同時NVM動作しか許さない電流スレッシュホールドのもとで動作する2つのダイに対する予想Tbuff及びTprogを示す。図示されたように、Tbuff及びTbuffは、バッファ動作をパイプライン型であることを示す。Tprogは、Tbuffの直後に開始し、そしてこの例では、1つの同時NVM動作しか許されないので、TprogがTprogの予想される終わりにキーオフされる。図11A及び11Bの両方を参照すれば、タイミング図1120は、積極的な予想的電力制限スキームに基づいて動作する2つのダイに対する実際のタイミングパラメータを示す。Tprog1の開始は、Tbuffの完了とキーオフされ、そしてTprog2の開始は、Tprogの完了とキーオフされる。図11C及び11Dは、各々、本発明の実施形態による積極的な予想的電力制限スキームに基づく付加的なタイミング図1130及び1140を示す。これらのタイミング図1130及び1140は、2つの同時NVM動作しか許さない電流スレッシュホールドのもとで動作する6つの同時NVM動作を示している。更に、これらのタイミング図1130及び1140は、あるNVM動作から別のNVM動作への予想Tprogが上述したような適当なファクタに基づいてどれほど変化するか示している。例えば、タイミング図1130では、NVMTprog動作1、3及び5には、NVMTprog動作2、4及び6より短い時間が割り当てられる。一方、タイミング図1140のように、NVMTprog動作1、3及び5には、NVMTprog動作2、4及び6より長い時間が割り当てられる。タイミング図1130及び1140において、各次々のTprog動作が、先のTprog動作の完了にキーオフされる。図11Eは、本発明の一実施形態による積極的な予想的電力制限スキームにより遂行されるステップのフローチャートを例示する。このフローチャートは、図10Cを参照して上述したフローチャートと多くの観点で同様であり、主たる相違は、Tprog動作がTprog予想とキーオフされることである。ステップ1142で始めて、各NVM動作にはプログラミングパラメータTprogの予想時間が指定される。このパラメータは、上述したように、種々のファクタに基づいて変化し得る。ステップ1144では、各NVM動作に関連したデータをバッファし、実質的に即時のプログラミングにデータが利用できるようにする。即ち、複数のNVM動作のためのデータを複数の各バッファに記憶できるが、そこに記憶されたデータは、ダイのページへ自動的にプログラムされない。ステップ1146において、NVM動作のその後のプログラム動作のスタートは、先のNVM動作のTprogの終わりに開始される。例えば、その後のプログラム動作がTprog2であり、そして先のプログラム動作Tprog1の予想Tprogが時間t1に終了すると仮定する。これは、プログラム動作Tprog1が時間t1Tprogにより予想されるまでに完了することを仮定している。従って、その後のプログラム動作Tprog2は、時間t1に開始する。更に、プログラム動作Tprog2の予想Tprogも、時間t1に開始する。ステップ1148において、バッファされたデータを使用して、その後のNVM動作のプログラミング部分を遂行する。図12は、本発明の一実施形態による電力制限スキームを使用してシステムにより実施されるステップを例示する。ステップ1210で始めて、電流スレッシュホールドを調整する際にファクタとして使用するのに適したデータを複数のソースから受け取る。これらソースは、コンポーネント及びそれらコンポーネントに関連した状態を監視する種々の監視回路例えば、図5の回路512、514及び516を含むことができる。又、ソースは、システムの種々のコンポーネントの動作パラメータ例えば、NVMパッケージのピーク電力消費を特定するデータを含むこともできる。電流スレッシュホールドは、たとえNVMパッケージが、スレッシュホールドでセットされた以上の電力を消費できても、NVMパッケージの最大電流消費をセットすることができる。電流スレッシュホールドは、NVMが消費できるピーク電流未満である。ステップ1220において、電流スレッシュホールドを、受け取ったデータに基づいて調整することができる。このシステムは、電流スレッシュホールドを最小の電流スレッシュホールドレベルに最初にセットすることができる。このレベルは、NVMパッケージが最小性能スレッシュホールドを満足できることを保証することができる。受け取ったデータが、付加的な電力をNVMパッケージに供給できることを示す場合には、付加的な電力の利点を取り入れるように、電流スレッシュホールドをアップ方向に調整することができる。受け取ったデータが、付加的な電力がもはや得られないことを示すときには、それに応じて電流スレッシュホールドをダウン方向に調整することができる。電流スレッシュホールドをリアルタイムで調整できることを示すために、ステップ1220からステップ1210へのフィードバックループが設けられる。ステップ1230において、累積電流消費が調整された電流スレッシュホールドを越えないように、電力制限スキームを使用して同時NVM動作の数を制限する。電力制限スキームは、ここに述べた電力制限スキームのいずれか1つ例えば、反応的又は予想的電力制限スキームの1つである。ある実施形態では、このシステムは、2つ以上の電力制限スキーム間をスイッチすることができる。図8B、10C、11E及び12のフローチャートに含まれたステップは、単なる例示に過ぎないことを理解されたい。本発明の範囲から逸脱せずに、これらのステップのいずれかを除去し、変更し、又は組み合わせしてもよく、又、付加的なステップを追加してもよい。本発明の以上の実施形態は、説明上表現されたものであり、これに限定されない。