(57)【特許請求の範囲】
【請求項１】
複数のフラッシュメモリの集合からなるメモリブロックと、
前記メモリブロックの外部のフラッシュメモリ電源回路と、
前記フラッシュメモリ電源回路および複数の前記フラッシュメモリを制御するフラッシュメモリコントローラと、
を備え、
前記フラッシュメモリ電源回路は、前記フラッシュメモリにおける複数種類の処理の実行にそれぞれ必要となる複数種類の電圧レベルの電源を生成して前記フラッシュメモリのそれぞれに給電可能に構成された複数種類の処理実行用電源回路を有し、
前記フラッシュメモリコントローラは、複数の前記フラッシュメモリのそれぞれから前記各フラッシュメモリの内部状態の変化の通知を受け、通知を受けたフラッシュメモリ内部状態に従って前記フラッシュメモリ電源回路における前記処理実行用電源回路の動作および前記フラッシュメモリの処理を制御するものとして構成されており、
前記フラッシュメモリコントローラは、前記各フラッシュメモリとの連絡で取得する前記各フラッシュメモリの内部状態情報を更新して記録しておくためのフラッシュメモリ内部状態管理部を有しており、
前記フラッシュメモリコントローラは、外部のホストから動作指令を受けると、前記動作指令における指令対象に該当する指令対象フラッシュメモリの動作を一時的に停止させたうえで、前記動作指令における指令対象に該当する指令対象処理実行用電源回路の状況を、前記フラッシュメモリ内部状態管理部における前記フラッシュメモリ内部状態に従って判断し、
前記フラッシュメモリコントローラは、前記判断の結果が、前記指令対象処理実行用電源回路が停止状態であることを示すときは、前記指令対象処理実行用電源回路を起動したうえでその給電状態が安定した後に前記指令対象フラッシュメモリの動作を再開するとともに前記フラッシュメモリ内部状態管理部においてフラッシュメモリ内部状態を更新し、
前記フラッシュメモリコントローラは、前記判断の結果が、前記指令対象処理実行用電源回路がすでに動作状態であることを示すときは、前記指令対象フラッシュメモリの動作を再開するとともに前記指令対象フラッシュメモリの内部状態を更新する、
不揮発性記憶システム。
【請求項２】
前記フラッシュメモリコントローラは、動作を完了した前記指令対象フラッシュメモリから動作完了を示す連絡を受け取ると、動作を完了した前記指令対象フラッシュメモリの動作を一時的に停止したうえで、前記動作を完了した指令対象フラッシュメモリに給電している前記指令対象処理実行用電源回路の使用状況を、前記フラッシュメモリ内部状態管理部における前記フラッシュメモリ内部状態に従って判断し、
前記フラッシュメモリコントローラは、前記判断の結果が、給電中の前記指令対象処理実行用電源回路が、前記動作を完了した指令対象フラッシュメモリ以外の前記フラッシュメモリによって使用されていない状態であることを示すときは、前記給電中の指令対象処理実行用電源回路を停止したうえで、その後に前記動作を完了した指令対象フラッシュメモリの動作を再開するとともに前記フラッシュメモリ内部状態管理部において前記フラッシュメモリ内部状態を更新し、
前記フラッシュメモリコントローラは、前記判断の結果が、前記給電中の指令対象処理実行用電源回路が、前記動作を完了した指令対象フラッシュメモリ以外の前記フラッシュメモリによって使用状態であることを示すときは、前記動作を完了した指令対象フラッシュメモリの動作を再開するとともに前記フラッシュメモリ内部状態管理部においてフラッシュメモリ内部状態を更新する、
請求項１に記載の不揮発性記憶システム。
【請求項３】
前記フラッシュメモリコントローラは、前記フラッシュメモリが書き込み／消去動作に引き続いてベリファイ動作状態に移行すると、前記指令対象処理実行用電源回路の状況を、前記フラッシュメモリ内部状態管理部における前記フラッシュメモリ内部状態に従って判断し、
前記フラッシュメモリコントローラは、前記判断の結果が、前記指令対象処理実行用電源回路が停止状態であることを示すときは、前記指令対象処理実行用電源回路を起動したうえでその給電状態が安定した後に前記指令対象フラッシュメモリの動作を再開するとともに前記フラッシュメモリ内部状態管理部において前記フラッシュメモリ内部状態を更新し、
前記フラッシュメモリコントローラは、前記判断の結果が、前記指令対象処理実行用電源回路がすでに動作状態であることを示すときは、前記指令対象フラッシュメモリの動作を再開するとともに前記フラッシュメモリ内部状態管理部において前記フラッシュメモリ内部状態を更新する、
請求項２に記載の不揮発性記憶システム。
【請求項４】
前記フラッシュメモリコントローラは、ベリファイ中の前記フラッシュメモリから動作完了の連絡を受け取ると、当該ベリファイ動作完了フラッシュメモリの動作を一時的に停止したうえで、前記ベリファイ動作完了フラッシュメモリに給電しているベリファイ給電中処理実行用電源回路の使用状況を、前記フラッシュメモリ内部状態管理部における前記フラッシュメモリ内部状態に従って判断し、
前記フラッシュメモリコントローラは、前記判断の結果が、前記ベリファイ給電中処理実行用電源回路が、前記ベリファイ動作完了フラッシュメモリ以外の前記フラッシュメモリによって使用されていない状態であることを示すときは、前記ベリファイ給電中処理実行用電源回路を停止し、
前記フラッシュメモリコントローラは、前記判断の結果が、前記ベリファイ給電中処理実行用電源回路が、前記ベリファイ動作完了フラッシュメモリ以外の前記フラッシュメモリによって使用状態であることを示すときは、前記ベリファイ動作完了フラッシュメモリの動作を再開する、
請求項３に記載の不揮発性記憶システム。
【請求項５】
複数のフラッシュメモリの集合からなるメモリブロックと、
前記メモリブロックの外部のフラッシュメモリ電源回路と、
前記フラッシュメモリ電源回路および複数の前記フラッシュメモリを制御するフラッシュメモリコントローラと、
を備え、
前記フラッシュメモリ電源回路は、前記フラッシュメモリにおける複数種類の処理の実行にそれぞれ必要となる複数種類の電圧レベルの電源を生成して前記フラッシュメモリのそれぞれに給電可能に構成された複数種類の処理実行用電源回路を有し、
前記フラッシュメモリコントローラは、複数の前記フラッシュメモリのそれぞれから前記各フラッシュメモリの内部状態の変化の通知を受け、通知を受けたフラッシュメモリ内部状態に従って前記フラッシュメモリ電源回路における前記処理実行用電源回路の動作および前記フラッシュメモリの処理を制御するものとして構成されており、
前記フラッシュメモリコントローラは、前記フラッシュメモリ内部状態として、前記フラッシュメモリそれぞれに固有に設定された前記処理実行用電源回路の印加電圧情報を各フラッシュメモリからの通知により取得したうえで取得した前記印加電圧情報に従って前記処理実行用電源回路の動作を制御するための印加電圧制御回路を、さらに備えている、
不揮発性記憶システム。
【請求項６】
前記印加電圧制御回路は、同一の前記処理実行用電源回路の印加電圧情報を、複数の前記フラッシュメモリから取得したときは、それら印加電圧情報が示す複数の印加電圧のうちで最も高い印加電圧となるように、前記同一の処理実行用電源回路の動作を制御するように構成されている、
請求項５に記載の不揮発性記憶システム。
【請求項７】
前記フラッシュメモリコントローラは、複数の前記フラッシュメモリから任意のフラッシュメモリを選択するものであり、
前記フラッシュメモリコントローラは、複数の前記フラッシュメモリから受け取った印加電圧情報を記憶しておくための印加電圧情報記憶部を、さらに有し、
前記フラッシュメモリコントローラは、前記印加電圧情報記憶部に記憶されている前記印加電圧情報を参照して、複数の前記フラッシュメモリから任意のフラッシュメモリを選択するように構成されている、
請求項５に記載の不揮発性記憶システム。
【請求項８】
前記フラッシュメモリコントローラは、複数の前記フラッシュメモリのうち空き状態にあるアクセス対象候補のフラッシュメモリが複数ある場合には、前記印加電圧情報記憶部に記憶されている前記印加電圧情報を参照して、印加電圧が最も低いフラッシュメモリを選択するように構成されている、
請求項７に記載の不揮発性記憶システム。
【請求項９】
前記フラッシュメモリコントローラは、複数の前記フラッシュメモリに同時並行状態でアクセスすることになる場合には、前記印加電圧情報記憶部に記憶されている前記印加電圧情報を参照して、同一の前記処理実行用電源回路から電源の供給を受けるフラッシュメモリとして、互いに印加電圧の差がより少ないフラッシュメモリどうしを優先して選択するように構成されている、
請求項８に記載の不揮発性記憶システム。
【請求項１０】
前記印加電圧制御回路は、前記フラッシュメモリ内部状態として、前記フラッシュメモリのベリファイ回数情報を前記フラッシュメモリそれぞれからの通知によりさらに取得したうえで、取得した前記ベリファイ回数情報と、前記印加電圧情報とに従って前記処理実行用電源回路の動作を制御するように構成されている、
請求項５に記載の不揮発性記憶システム。
【請求項１１】
前記印加電圧制御回路は、前記印加電圧情報に従って前記処理実行用電源回路の動作を制御するに際して、取得した印加電圧を基準電圧としたうえで、この基準電圧と、前記ベリファイ回数情報から得られるベリファイ回数と、あらかじめ設定しておいた補正電圧とを演算することで、補正された印加電圧を算出したうえで、前記補正された印加電圧に基づいて、前記処理実行用電源回路を制御するように構成されている、
請求項１０に記載の不揮発性記憶システム。
【請求項１２】
前記フラッシュメモリコントローラは、複数の前記フラッシュメモリから受け取った前記ベリファイ回数情報と、書き込み／消去動作の電圧印加パルス幅およびパルス間隔の情報との演算に基づいて得られる印加時間情報を記憶しておく印加時間情報記憶部を、さらに備え、
前記フラッシュメモリコントローラは、前記印加時間情報記憶部に記憶されている前記印加時間情報を参照して選択対象のフラッシュメモリを決定するように構成されている、
請求項１０に記載の不揮発性記憶システム。
【請求項１３】
前記フラッシュメモリコントローラは、複数の前記フラッシュメモリのうち空き状態にあるアクセス対象候補のフラッシュメモリが複数ある場合には、前記印加時間情報記憶部に記憶されている前記印加時間情報を参照して、印加時間が最も短いフラッシュメモリを選択するように構成されている、
請求項１２に記載の不揮発性記憶システム。
【請求項１４】
前記フラッシュメモリコントローラは、複数の前記フラッシュメモリに同時並行状態でアクセスすることになる場合には、前記印加時間情報記憶部に記憶されている前記印加時間情報を参照して、同一の処理実行用電源回路から電源の供給を受けるフラッシュメモリとして、互いに印加時間の差がより少ないフラッシュメモリどうしを優先して選択するように構成されている、
請求項１３に記載の不揮発性記憶システム。
【請求項１５】
前記フラッシュメモリコントローラは、複数の前記フラッシュメモリに同時並行状態でアクセスすることになる場合には、前記印加時間情報記憶部に記憶されている前記印加時間情報を参照して、複数の前記フラッシュメモリの動作実行において互いにタイミングが重ならない状態で制御するように構成されている、
請求項１２に記載の不揮発性記憶システム。
【請求項１６】
複数のフラッシュメモリの集合からなるメモリブロックと、
前記メモリブロックの外部のフラッシュメモリ電源回路と、
前記フラッシュメモリ電源回路および複数の前記フラッシュメモリを制御するフラッシュメモリコントローラと、
を備え、
前記フラッシュメモリ電源回路は、前記フラッシュメモリにおける複数種類の処理の実行にそれぞれ必要となる複数種類の電圧レベルの電源を生成して前記フラッシュメモリのそれぞれに給電可能に構成された複数種類の処理実行用電源回路を有し、
前記フラッシュメモリコントローラは、複数の前記フラッシュメモリのそれぞれから前記各フラッシュメモリの内部状態の変化の通知を受け、通知を受けたフラッシュメモリ内部状態に従って前記フラッシュメモリ電源回路における前記処理実行用電源回路の動作および前記フラッシュメモリの処理を制御するものとして構成されており、
前記複数種類の処理実行用電源回路それぞれは、出力電力量が可変制御可能に構成されており、
前記フラッシュメモリそれぞれは、当該フラッシュメモリに固有に対応する前記処理実行用電源回路で必要となる電力量を示す負荷電力情報を、前記フラッシュメモリコントローラに通知するように構成されており、
前記フラッシュメモリコントローラは、受け取った前記負荷電力情報に基づいてその付加電力情報に対応する前記処理実行用電源回路の出力電力量を制御するための供給電力制御回路を有している、
不揮発性記憶システム。
【請求項１７】
前記供給電力制御回路は、複数の前記フラッシュメモリから同一の前記処理実行用電源回路の前記負荷電力情報を取得したときには、取得した前記負荷電力情報が示す複数の負荷電力の総和以上の電力が前記同一の処理実行用電源回路に供給されるように、前記同一の処理実行用電源回路の動作を制御するように構成されている、
請求項１６に記載の不揮発性記憶システム。
【請求項１８】
前記フラッシュメモリコントローラは、複数の前記フラッシュメモリから受け取った負荷電力情報を記憶しておくための負荷電力情報記憶部を、さらに有し、
前記フラッシュメモリコントローラは、前記負荷電力情報記憶部に記憶されている前記負荷電力情報を参照して、複数の前記フラッシュメモリから任意のフラッシュメモリを選択するように構成されている、
請求項１６に記載の不揮発性記憶システム。
【請求項１９】
前記フラッシュメモリコントローラは、複数の前記フラッシュメモリのうち空き状態にあるアクセス対象候補のフラッシュメモリが複数ある場合には、前記負荷電力情報記憶部に記憶されている前記負荷電力情報を参照して、負荷電力が最も低いフラッシュメモリを選択するように構成されている、
請求項１８に記載の不揮発性記憶システム。
【請求項２０】
前記フラッシュメモリコントローラは、複数の前記フラッシュメモリに同時並行状態でアクセスすることになる場合には、前記負荷電力情報記憶部に記憶されている前記負荷電力情報を参照して、同一の前記処理実行用電源回路から電源の供給を受けるフラッシュメモリとして、互いに負荷電力の和がより少ないフラッシュメモリどうしを優先して選択するように構成されている、
請求項１９に記載の不揮発性記憶システム。
【請求項２１】
前記フラッシュメモリコントローラは、複数の前記フラッシュメモリに同時並行状態でアクセスし、かつ複数の前記フラッシュメモリでの負荷電力の総和が前記処理実行用電源回路の給電能力を超える場合には、前記負荷電力情報記憶部に記憶されている前記負荷電力情報を参照して、複数の前記フラッシュメモリの動作実行のタイミングが互いに重ならないように制御するように構成されている、
請求項１９に記載の不揮発性記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性記憶デバイスとしてフラッシュメモリを複数用いるＳＳＤ（Solid State Drive）やＳＤ（Secure Digital）メモリカードなどの不揮発性記憶システムにかかわり、詳しくは、複数のフラッシュメモリの処理の実行状態がダイナミックに変化する動作環境下において、消費電力削減をできるだけ有利に展開するための技術と、電源状態がダイナミックに変化するメモリシステム用の電源回路にオーバーロード等の不具合が発生してもシステムがダウンしないよう動作を安定化させ、高いデータ信頼性を確保するための技術に関する。
【背景技術】
【０００２】
近年、高速でのデータ処理が可能なＳＤメモリカード、メモリスティックといった記憶デバイスが普及している。これらの不揮発性記憶デバイスは、不揮発性記憶素子として複数のフラッシュメモリを備え、パーソナルコンピュータ、ＰＤＡ（Personal Digital Assistant）、携帯電話、デジタルカメラ、オーディオプレーヤ、カーナビゲーションなどのホストに利用されている。【０００３】
また、フラッシュメモリの低価格化に伴い、パソコンやデータセンタの分野において、ハードディスクドライブの代替としてフラッシュメモリを多数使用したＳＳＤ（ソリッドステートドライブ）の普及も進んでいる。【０００４】
ＳＳＤは、記憶媒体としてフラッシュメモリを用いるドライブ装置である。ハードディスクドライブ（ＨＤＤ）と同じ接続インタフェース（ＡＴＡなど）を備え、ハードディスクの代替として利用される。フラッシュドライブ（flash drive）、フラッシュメモリドライブ（flash memory drive）ともいう。ＳＳＤは、物理稼動部分がないため、読み書き中の振動に強い。読み取り装置（ヘッド）をディスク上で移動させる時間（シークタイム）や、目的のデータがヘッド位置まで回転してくるまでの待ち時間（サーチタイム）がなく、読み書きが高速である。【０００５】
フラッシュメモリを用いたストレージデバイスのシステムは、複数のフラッシュメモリと、それを制御するフラッシュメモリコントローラを備えている。フラッシュメモリコントローラは、複数のフラッシュメモリとコントロールバスおよびデータバスによって接続されている。フラッシュメモリコントローラは、ストレージデバイスのホストからの要求に応じて、各フラッシュメモリを適宜選択してデータの読み出し、書き込み、消去などを行う。【０００６】
読み出し動作に必要な電源電圧は最大で５Ｖ、書き込み／消去動作に必要な電源電圧は最大で２０Ｖ、ベリファイ動作に必要な電源電圧は最大で１０Ｖである（一例）。このため、フラッシュメモリの電源回路には、複数種類の処理の実行にそれぞれ必要となる複数種類の電圧レベルの処理実行用電源回路が設けられる。処理実行用電源回路とは具体的には、読み出し用電源回路、書き込み／消去用電源回路、ベリファイ用電源回路である。各処理実行用電源回路には昇圧回路が含まれる。フラッシュメモリでの処理の実行は、メモリセルアレイのページ単位やブロック単位で行われる。このときのフローティングゲートへの電荷の注入・引き抜きでは、対象のすべてのセルにおいて一度の動作で処理完了することはまれである。書き込み、消去動作の都度、読み出して正しく書き込み、消去ができたかを確認するベリファイ動作が行われる。正しく書き込みや消去が完了するまで、電源電圧を調節しながらリトライする。フラッシュメモリ内部のコントローラは、上記一連の動作を制御する。【０００７】
また、ホストおよびスレーブ機器で使用する記憶デバイスでは、処理速度の向上のため、同時に複数のフラッシュメモリにアクセスする必要がある。フラッシュメモリの微細化によるフラッシュ単体での動作電流の増加、並びにホストの高速化によるデバイス機器への速度向上に対する要望の高まりから、デバイス機器のピーク電流が増大する傾向にある。フラッシュメモリへの供給電源に対する必要な電流能力が著しく高くなり、平均的に必要な電流能力との乖離が大きくなっている。また能力を超えて電流を供給するオーバーロードが発生することによる、システムダウン、フラッシュメモリのデータ信頼性低下が課題となっている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−４１９６号公報
【特許文献２】特開平１１−２９６４３０号公報
【特許文献３】特表２００４−５２６２３９号公報
【特許文献４】特表２００４−５３１８０１号公報
【特許文献５】特開平１１−２４２６３２号公報
【特許文献６】特開平７−９３４９９号公報
【特許文献７】特開２００９−１２２９０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従来、フラッシュメモリの電源回路をフラッシュメモリの内部に装備しているストレージデバイスがある。それは、フラッシュメモリごと個別に必要な電圧を発生させる。フラッシュメモリコントローラとフラッシュメモリ内部の電源回路との制御関係はない。フラッシュメモリコントローラは、フラッシュメモリに対してデータの読み出し、書き込み、消去だけを制御する。ここでは、システム全体の消費電力をきめ細かく制御するというコンセプトがなく、消費電力の増大が問題となっている。処理実行用電源回路の起動時の昇圧で消費する電力の抑制が課題となる。【００１０】
近年はＳＳＤのように、多数のフラッシュメモリを使った大容量・高速な不揮発性記憶システムが増えてきている。特に高速化のためには複数のフラッシュメモリを同時にアクセスする必要があり、システム全体の消費電力の抑制が課題である。【００１１】
従来、フラッシュメモリに対する電源回路をフラッシュメモリの外部におく提案がある（例えば特許文献１，２参照）。それは、フラッシュメモリのチップの面積を削減するものである。【００１２】
フラッシュメモリ外部の電源回路から複数種類の電源を供給する提案もある（例えば特許文献３，４参照）。それは、複数のフラッシュメモリの電源と外部の電源回路とを電源バスで接続し、相互に電源を供給するものである。【００１３】
近時、フラッシュメモリの微細化によるフラッシュ単体での動作電流の増加およびホストの高速化によるデバイス機器への速度向上に対する要望が高まっている。高速動作の不揮発性記憶システムでは、処理速度向上のため、同時に複数のフラッシュメモリにアクセスする。【００１４】
しかし、メモリブロックにおけるフラッシュメモリの個数が多くなるほど、またフラッシュメモリ電源回路における処理実行用電源回路の種類数ないし個数が多くなるほど、消費電力が著しく増加してしまう。複雑化するほど制御がむずかしくなる。特に近時隆盛の大容量・高速動作のＳＳＤの場合には、その傾向が強い。【００１５】
また、近時の半導体技術の微細化に伴い、フラッシュメモリ単体の消費電流が大幅な増加傾向にある。さらに、近時のデータ処理の高速化のために同時にアクセス対象とするフラッシュメモリの個数が大幅な増加傾向にある。加えて、上記の要請に対応するために、メモリシステム用の電源回路としては非常に大きなパワー（給電能力）の電源回路を用いる傾向にある。特に、最近隆盛のＳＳＤにはその傾向が強く、さまざまな対応が研究されている。【００１６】
フラッシュメモリに安定動作を確保するためには、メモリシステム用の電源回路にあえて過剰な電源能力をもたせるといったような工夫をしなければならない。そうでないと、オーバーロード等の不具合に起因する不安定動作やシステムダウンなどを招き、データ信頼性が低下してしまう。【００１７】
しかし、従来手法を踏襲していては対応にも自ずと一定の限界がある。メモリシステム用の電源回路にオーバーロード等の不具合が発生すると、動作の不安定、システムダウンによってデータに不測の消失が生じたり、データ化けを起こしたりする。【００１８】
本発明は、このような事情に鑑みて創作したものであり、大容量化、高速化および大規模化に伴う複雑化に対しても、充分に高い消費電力削減効果が発揮される不揮発性記憶システムを提供すること、並びにメモリシステム用の電源回路として比較的パワーの小さいものを用い、同時的なアクセス対象のフラッシュメモリの数をなるべく多くしながら、オーバーロード等の不具合に起因する不安定動作やシステムダウンを回避し、比較的に少ない動作電流のもとでいかにして効率良くフラッシュメモリを制御するか、いわばギリギリの範囲でいかに効果的に制御するかを考察し、データ信頼性を高いものにすることを目的としている。
【課題を解決するための手段】
【００１９】
なお、以降の説明において、《》で括られて表示される番号は、出願時のクレーム番号に対応する番号であって、記述順に順次整列したものではない。【００２０】
《１》本発明による不揮発性記憶システムは、複数のフラッシュメモリの集合からなるメモリブロックと、フラッシュメモリ電源回路と、フラッシュメモリコントローラとからなる。これら３つの構成要素は、物理的・空間的に互いに独立しており、相互の連絡は信号線やバスなどの配線系での接続形態となっている。つまり、端的には、フラッシュメモリコントローラとフラッシュメモリ電源回路はフラッシュメモリの外部にあり、フラッシュメモリ電源回路はフラッシュメモリコントローラの外部にある。ただし、外部にあることと２つまたは３つの構成要素が同一チップ上にあることとは矛盾しない。もちろん別チップでもよいが、同一チップでもよいということである。【００２１】
フラッシュメモリ電源回路は、フラッシュメモリにおける複数種類の処理の実行にそれぞれ必要となる複数種類の電圧レベルの処理実行用電源回路を有している。処理実行用電源回路は、複数のフラッシュメモリに共通に使用され得るものとなっている。同じ処理実行用電源回路の出力電源が複数のフラッシュメモリに同時供給されることがあり得る。単一のフラッシュメモリにのみ電源供給される状態もあり得る。異なる種類の処理実行用電源回路は同じフラッシュメモリには同時供給されることはない。【００２２】
どの処理実行用電源回路をどのタイミングでどのフラッシュメモリに給電接続するかを制御するのがフラッシュメモリコントローラの役割である。【００２３】
複数のフラッシュメモリのそれぞれは、時々刻々変化する内部状態をフラッシュメモリコントローラに通知する。フラッシュメモリコントローラは受け取った内部状態を保持して更新する。フラッシュメモリの内部状態の種類および数は任意である。様々な状態が想定される。【００２４】
フラッシュメモリコントローラは、外部にあるホストなどからの動作指令に応じて、メモリブロックにアクセスし、フラッシュメモリの内部状態を参照する。フラッシュメモリコントローラは、取得したフラッシュメモリの内部状態に従って、フラッシュメモリ電源回路における複数の処理実行用電源回路のうち動作指令に応じた処理実行用電源回路を動作状態にするよう制御する。その制御はきめの細かいものとなっている。いわゆるフラッシュメモリに対するコマンド単位以下のものを原則とする。【００２５】
動作状態にあるフラッシュメモリの数は、１つかも知れないし、２つかも知れないし、３つ以上かも知れない。状況に応じて時々刻々に変化する。本発明は、原則として、複数のフラッシュメモリが同時に動作状態にあり得ることを前提としている。【００２６】
あるフラッシュメモリのある動作状態に必要な処理実行用電源回路を動作状態にし、並行して別のフラッシュメモリのある動作状態に必要な処理実行用電源回路を動作状態にすることもあり得る。この場合に、別のフラッシュメモリに対して同じ処理実行用電源回路を接続することもあり得るし、異なる処理実行用電源回路を接続することもあり得る。各フラッシュメモリの動作状態と電源出力状態とする処理実行用電源回路の種類の組み合わせも状況に応じて時々刻々に変化する。その変化の態様は複雑なものとなる。【００２７】
各フラッシュメモリの動作状態と電源出力状態とする処理実行用電源回路の種類の組み合わせのパターンは、メモリブロックを構成するフラッシュメモリの数が多いほど、また処理実行用電源回路の種類数（フラッシュメモリの動作状態の種類数）が多いほど、複雑なものになる。【００２８】
あるフラッシュメモリに対して新規にアクセスが生じた場合に、フラッシュメモリコントローラはフラッシュメモリ内部状態に従って、そのアクセス対象のフラッシュメモリの処理種類に対応する処理実行用電源回路が停止状態にあるのか、あるいは他のフラッシュメモリの動作のためにすでに動作状態となっているのかを判断する。停止状態のときは対応する処理実行用電源回路を起動する。既に動作状態にあるときは起動の必要はなく、スキップすればよい。起動する場合は、起動の動作が安定するまでに一定の時間がかかるが、スキップすればその時間が節約され、高速動作・電力消費削減に寄与することになる。【００２９】
また、アクセス対象のフラッシュメモリでの動作が完了したときに、フラッシュメモリコントローラはフラッシュメモリ内部状態に従って、その処理種類と同じ種類の動作をしている他のフラッシュメモリがあるのかないのかを判断する。ないときは、該当の処理実行用電源回路を停止すればよい。あるときは、停止はせず、動作を継続すればよい。この動作継続は、別のフラッシュメモリに対して新規にアクセスが生じた場合の、前述のスキップ処理へとつながるものでもある。なお、ここで言う「別のフラッシュメモリ」とは、動作継続しているフラッシュメモリ以外のフラッシュメモリであって、直前に動作停止したフラッシュメモリをも含み得るものである。【００３０】
処理実行用電源回路を起動しようとするときは、本来必要な電源電圧を与える前に動作を始めてしまって正しい書き込みや読み出し等ができなくなる不具合や起動時の電流突入を避けるために、あらかじめフラッシュメモリの動作を一時的に停止しておく。該当の処理実行用電源回路がすでに動作状態にあれば、続いてフラッシュメモリの動作を再開させるが、該当の処理実行用電源回路が停止状態にあれば、その処理実行用電源回路を起動し、昇圧して出力が安定化した後にフラッシュメモリの動作を再開させる。【００３１】
同様に、処理実行用電源回路を停止しようとするときは、停止時の電流変動を避けるために、あらかじめフラッシュメモリの動作を一時的に停止しておく。該当の処理実行用電源回路が他のフラッシュメモリに使用されている状態にあれば、続いてフラッシュメモリの動作を再開させるが、該当の処理実行用電源回路が他のフラッシュメモリに使用されていない状態にあれば、その処理実行用電源回路を停止し、次いでフラッシュメモリの動作を再開させる。このような意味において、フラッシュメモリコントローラはリアルにダイナミックに、そしてきめ細かくフラッシュメモリおよびフラッシュメモリ電源回路を制御する。【００３２】
以上を要するに、本発明の《１》の不揮発性記憶システムは、
複数のフラッシュメモリの集合からなるメモリブロックと、
前記メモリブロックの外部のフラッシュメモリ電源回路と、
前記フラッシュメモリ電源回路および前記複数のフラッシュメモリを制御するフラッシュメモリコントローラと、
を備え、
前記フラッシュメモリ電源回路は、前記フラッシュメモリにおける複数種類の処理の実行にそれぞれ必要となる複数種類の電圧レベルの電源を生成して前記フラッシュメモリのそれぞれに給電可能に構成された複数種類の処理実行用電源回路を有し、
前記フラッシュメモリコントローラは、複数の前記フラッシュメモリのそれぞれと連絡し合って前記各フラッシュメモリの内部状態の変化を監視し、監視しているフラッシュメモリ内部状態に従って前記フラッシュメモリ電源回路における前記処理実行用電源回路の動作および前記フラッシュメモリの処理を制御するものとして構成されている。【００３３】
本発明の上記の構成によれば、次のような作用がある。複数種類の処理実行用電源回路を有するフラッシュメモリ電源回路をフラッシュメモリ（メモリブロック）の外部に配し、複数種類の処理実行用電源回路を複数のフラッシュメモリに共用する形態を採っているので、回路面積（基板面積）の縮小化に有利に作用する。また、複数種類の処理実行用電源回路の複数のフラッシュメモリへの共用は、個別独立的な使用に比べて消費電力の削減に寄与する。複数のフラッシュメモリそれぞれに複数種類の処理実行用電源回路を個別に内蔵させる従来方式では、不使用状態にあるフラッシュメモリにも給電がなされ、無駄な電力消費となるが、本構成の共用方式ではそのような無駄が解消される。【００３４】
併せて、各フラッシュメモリとフラッシュメモリコントローラとの間で連絡を取り合い、各フラッシュメモリの内部状態（スタンバイ状態・動作状態、処理種類（使用している処理用電源回路の種類）など、およびそれらの時間的変容）をフラッシュメモリコントローラに知らせ、フラッシュメモリコントローラは、動作指令を受けたときに監視下にあるフラッシュメモリ内部状態に従って該当のフラッシュメモリおよび処理実行用電源回路を制御する。これにより、フラッシュメモリの起動・停止の切り替わり、処理の実行種類の切り替わりなどに応じて処理実行用電源回路の起動・停止をきめ細かく制御して、無駄な電力消費を極力抑制することが可能となる。とりわけ、処理実行用電源回路の起動時における昇圧過程の回数を減らせるので、昇圧過程で発生する比較的大きな消費電力を大幅に削減することが可能となる。さらに、不使用状態のフラッシュメモリに対しては、他に動作状態のフラッシュメモリがなければ、処理実行用電源回路を停止するようにしているので、不使用状態のフラッシュメモリへの給電という無駄が解消される。【００３５】
これにより、不揮発性記憶システムのリアルな動作状況の推移に応じたダイナミックな制御が可能となる。これには随時変化する書き込み、読み出しなどの処理の実行種類が関係し、フラッシュメモリ群での個体差も関係し、処理の実行の実行状況の変化も関係し、フラッシュメモリ電源回路の内部状態の変化も関係することから、リアルでダイナミックできめ細かい制御となる。このような制御形態は、従来技術には認められず、また期待もできないもので、本発明のポイントがここにあるといってよい。トータルとして、フラッシュメモリの内部状態の変化に応じたきめの細かい制御が実現し、消費電力を大幅に削減することが可能になる。【００３６】
《５０》本発明による不揮発性記憶システムは、その構成要素として、機能的に大きく分けて、不揮発性記憶デバイスとしてのフラッシュメモリを複数集めたメモリブロックと、その複数のフラッシュメモリの処理の実行を個別的に制御するためのフラッシュメモリコントローラと、複数のフラッシュメモリのそれぞれに動作用の電源を供給するための電源回路とを備えている。これら少なくとも３つの構成要素（メモリブロック、フラッシュメモリコントローラ、電源回路）を備えていることを前提的な要件とする。ここでは、発明対象の不揮発性記憶システム自体がメモリシステム用の電源回路を備えており、この点で、ホスト側の電源回路から給電を受ける仕様のシステムとは異なっている。また、メモリシステム用の電源回路はメモリブロックの外部に配されており、この点で、個々のフラッシュメモリの内部に電源回路を内蔵している仕様のシステムとも異なっている。【００３７】
フラッシュメモリの動作としては、読み出し動作のほか書き込み動作、消去動作をもつ仕様があり、さらには書き込み動作に関連して書き込みベリファイ（照合）動作をもつ仕様、消去動作に関連して消去ベリファイ動作をもつ仕様などがある。本発明はその動作仕様を問うものではない。【００３８】
メモリシステム用の電源回路の内部構成についても、フラッシュメモリの動作仕様に合わせた構成とされ、読み出し用電源回路のほか書き込み／消去用電源回路をもつ仕様があり、さらには書き込み／消去動作に関連して書き込み／消去のベリファイ用電源回路をもつ仕様などがある。本発明はその回路仕様を問うものではない。【００３９】
上記のようにメモリシステム用の電源回路が複数のフラッシュメモリに共用され、フラッシュメモリコントローラが複数のフラッシュメモリを共通に制御する構成において、３つに分かれたフラッシュメモリコントローラとメモリシステム用の電源回路とフラッシュメモリ群との間で、どのような制御形態をとれば、メモリシステム用の電源回路の給電能力の規定の範囲内でアクセス対象のフラッシュメモリに処理を安定良く行わせることができるかを工夫しなければならない。【００４０】
本発明の不揮発性記憶システムにおける電源回路は、その電源状態を検出し必要に応じて保持し、電源状態情報としてフラッシュメモリコントローラに通知する機能を有している。またフラッシュメモリコントローラは、メモリシステム用の電源回路から受け取った電源状態情報に基づいて、アクセス対象のフラッシュメモリがメモリシステム用の電源回路の給電能力の規定の範囲内で処理が適切に実行可能か否かを判断し、適切な処理が実行不可能と判断したときは使用電力が少なくなるようにアクセス対象のフラッシュメモリ群のうちの一部のフラッシュメモリの動作を制御する機能を有している。この制御機能の働きにより、時間経過に伴ってアクセス対象のフラッシュメモリはメモリシステム用の電源回路の給電能力の規定の範囲内で処理が適切に実行可能となるように推移する。【００４１】
ここで、「使用電力が少なくなるようにアクセス対象のフラッシュメモリ群のうちの一部のフラッシュメモリの動作を制御する」というのは広い概念であり、制御対象のフラッシュメモリの処理の開始を一時停止（ポーズ）して延期することでもよいし、現に処理を実行しているアクセス対象のフラッシュメモリを通常モードより低電力のモードで動作させるようにモード変更（動作電流低減）することでもよい。いずれにしても、制御対象のフラッシュメモリによる使用電力が少なくなる。【００４２】
また、メモリシステム用の電源回路からフラッシュメモリコントローラへの電源状態情報の通知の形態については、フラッシュメモリコントローラからのポーリング（定期的または不定期的な問い合わせに応じた通知）によるのでもよいし、メモリシステム用の電源回路の内部状態の遷移に起因する割り込み発生によるのでもよい。【００４３】
要は、ホスト側から何らかの動作指令のコマンドを受け取ったフラッシュメモリコントローラは、メモリシステム用の電源回路から電源状態情報を受け取り、その受け取った電源状態情報に基づく判断でアクセス対象のフラッシュメモリがメモリシステム用の電源回路の給電能力の規定の範囲内で適切な処理が実行不可能とするときは、その規定の範囲内で処理が適切に実行可能となるようにアクセス対象の一部のフラッシュメモリを制御するものである。【００４４】
以上を要するに、本発明の《５０》の不揮発性記憶システムは、
フラッシュメモリを複数集めたメモリブロックと、
その複数のフラッシュメモリの処理の実行を制御するためのフラッシュメモリコントローラと、
前記複数のフラッシュメモリそれぞれに動作用の電源を供給するための電源回路と、
を備え、
前記電源回路は、その電源状態の情報を電源状態情報として前記フラッシュメモリコントローラに通知する機能を有するものとして構成され、
前記フラッシュメモリコントローラは、アクセス対象の前記フラッシュメモリが前記電源回路の給電能力の規定の範囲内で適切な処理が実行不可能と判断するときは、使用電力が減少して前記給電能力の規定の範囲内で処理が適切に実行可能となるようにアクセス対象のフラッシュメモリを制御する機能を有するものとして構成されている。【００４５】
本発明の上記《５０》の特徴は、メモリシステム用の電源回路から受け取った電源状態情報に基づいてフラッシュメモリを制御し、メモリシステム用の電源回路の給電能力の規定の範囲内でフラッシュメモリの処理が適切に実行可能となるようにすることである。【００４６】
ここで、フラッシュメモリを制御するタイミングについては、アクセス対象のフラッシュメモリに対するコマンド発行の直後でまだ処理が開始されていないタイミングでもよいし、あるいは処理が開始された実行中のタイミングでもよい。【００４７】
また、給電能力の規定の範囲内で処理が適切に実行可能となるようにアクセス対象のフラッシュメモリを制御する制御の態様については、制御対象のフラッシュメモリの処理の実行を一時停止（ポーズ）するのでもよいし、あるいは実行中の制御対象のフラッシュメモリの動作モードを低電力モードに変更するのでもよい。【００４８】
また、フラッシュメモリコントローラが電源回路から電源状態情報を受け取る態様については、フラッシュメモリコントローラからの電源回路に対するポーリングに基づくのでもよいし、あるいは電源回路内部での電源状態の遷移に伴う割り込みをもって電源状態情報に充ててもよい。【００４９】
本発明の上記《５０》の構成によれば、フラッシュメモリコントローラが電源回路から電源状態情報を受け取り、その受け取った電源状態情報に基づく判断で、電源回路の給電能力の規定の範囲内ではフラッシュメモリの処理を適切に実行させることが不可能と判明するときは、フラッシュメモリを制御して使用電力が減少し給電能力の規定の範囲内で処理が適切に実行可能となるようにするので、オーバーロード等の不具合に起因する不安定動作やシステムダウンを未然に回避し、データ信頼性を向上することが可能となる。【００５０】
アクセス対象のフラッシュメモリの必要使用電力を電源回路の現在供給電力と比較し、現在給電能力で賄えるか否かを判断し、賄えなければ賄えるように制御する。これは、不揮発性記憶システムのリアルな動作状況の推移に応じたダイナミックな制御となっている。つまり、随時変化する書き込み、読み出しなどの動作種類が関係し、フラッシュメモリ群での個体差も関係し、処理の実行状況の変化も関係し、電源回路の内部状態の変化も関係することから、リアルでダイナミックな制御となっている。このような制御形態は、従来技術には認められないもので、本発明のポイントがここにあるといってよい。【００５１】
《６２》次に、本発明による不揮発性記憶システム用の電源回路について説明する。この電源回路は、メモリブロックにおける複数のフラッシュメモリのそれぞれに動作用の電源を供給するもので、さらには、フラッシュメモリコントローラとの間で信号の授受を行って、電源回路の電源状態（駆動率または余裕度）をフラッシュメモリコントローラに知らせ、またフラッシュメモリコントローラからの指示によって電源回路の出力を制御するものとなっている。この電源回路の構成要素は、電圧発生部と電圧状態モニタ部とである。【００５２】
前記の電圧発生部には、外部のフラッシュメモリコントローラから電源制御信号が入力され、その電源制御信号が示す情報（パラメータ）に応じてフラッシュメモリ動作用の電源電圧を生成出力する機能を有している。電圧発生部はさらに、生成した電源電圧の変化を示す電源電圧変化信号を生成し、電圧状態モニタ部に送出するように構成されている。【００５３】
前記の電圧状態モニタ部は、電圧発生部からの電源電圧変化信号を受け取り、その電源電圧変化信号に基づいて電圧発生部の電源状態（駆動率または余裕度）を示す電源状態通知信号を生成し、フラッシュメモリコントローラへ出力するものとして構成されている。ここで、駆動率とは電圧発生部の動作頻度または動作能力に対する駆動状態を示すものであり、余裕度とは電圧発生部の停止頻度または動作能力に対する許容状態を示すものである。【００５４】
前記の電圧発生部と電圧状態モニタ部とを有する電源回路は、機能ブロックとして、メモリブロックとは別個のものとして構成され、フラッシュメモリコントローラとは同一あるいは別個のものとして構成してもよい。別個のものとして構成する場合、電源回路は、外部とのつながりの端子として、外部のフラッシュメモリコントローラからの電源制御信号を入力する電源制御端子と、電圧発生部で生成した電源電圧を外部のメモリブロック（複数のフラッシュメモリ）へ出力するための電源出力端子と、電圧状態モニタ部からの電源状態通知信号を外部のフラッシュメモリコントローラに出力するための電源状態通知端子とを有している。【００５５】
以上を要するに、本発明の《６２》の不揮発性記憶システム用の電源回路は、
外部のフラッシュメモリコントローラから入力される電源制御信号が示す情報に応じて外部のフラッシュメモリの動作用の電源電圧を生成出力し、さらに生成した電源電圧の変化を示す電源電圧変化信号を生成する電圧発生部と、
前記電圧発生部から前記電源電圧変化信号を受け取り、受け取った電源電圧変化信号に基づいて前記電圧発生部の電源状態（駆動率または余裕度）を示す電源状態通知信号を生成し、生成した前記電源状態通知信号を前記フラッシュメモリコントローラに向けて出力する電圧状態モニタ部と、
を備えている。【００５６】
本発明による不揮発性記憶システム用の電源回路の上記構成による作用は次のとおりである。フラッシュメモリコントローラからの電源制御信号が示す情報（パラメータ）で駆動している電圧発生部の電源状態を電圧状態モニタ部で監視し、その監視結果を電圧発生部の電源状態（駆動率または余裕度）を示す電源状態通知信号としてフラッシュメモリコントローラへ出力する。これにより、フラッシュメモリコントローラは、電圧発生部の電源状態（駆動率または余裕度）を的確に把握し、さらに、電圧状態に応じて電源制御信号を更新して電圧発生部への指示を再設定することが可能となる。【００５７】
電源回路は、その生成すべき電源電圧が外部のフラッシュメモリコントローラによって制御される。電源回路は、また自己の内部状態を常時的に監視し、監視結果を駆動率としてフラッシュメモリコントローラに返す。そのフラッシュメモリコントローラが駆動率または余裕度に基づいて電源回路を制御する。なお、ここでは電源状態通知信号が示す電源状態を駆動率として説明しているが、電圧発生部の停止割合あるいは限界能力に対する許容度でも駆動率と同様の作用を得ることができる。制御の経路が巡回的であり、絶えざるフィードバック制御、フィードフォワード制御となっている。よって、リアルでダイナミックなきめの細かい制御が実現化される。【００５８】
以上の結果として、当該電源回路を使用する不揮発性記憶システムにおいては、あえて過剰な電源能力をもたせるといったようなことをしなくて済む。そのシステムにおいて、無駄な電力消費の抑制に貢献することになる。【００５９】
本発明のフラッシュメモリは、
外部のフラッシュメモリコントローラによる制御で動作するフラッシュメモリであって、
当該フラッシュメモリの動作モードそれぞれで当該フラッシュメモリが消費する電力レベルを示すレジスタと、
前記レジスタが示す前記電力レベルを前記フラッシュメモリコントローラに告知する制御部と、
を備える。【００６０】
本発明によるフラッシュメモリの上記構成による作用は次のとおりである。外部電源の動作電力（電流）負荷を所望のタイミングで調整することができて、複数のメモリの送電力を管理する事が可能になる。消費電流を低消費にチューニングすることができる。また外部電源は過剰な電力供給能力（高いピーク電流等）が不要になる。さらには、電力レベルをメモリの読み出し書き換えのコマンド入力時あるいは前に設定すれば、コマンド実行の外部電源の供給電力を予約する事ができる。【００６１】
本発明のフラッシュメモリでは、前記制御部は、前記電力レベルを示すフィールドを有するコマンドを前記フラッシュメモリコントローラとの間で授受するのが好ましい。そうすれば、電力管理の必要なコマンド(読み出し、プログラム、消去など）に電力フィールドを設ければ、コマンド発行時点で電力負荷が明らかになり電力情報の管理が（ホストシステムにとっては）容易となる。さらには、電力レベルのみを変更するコマンドを設けることも可能となり、そうすれば、電力管理の必要なコマンドで電力レベルを直接に指定する必要がなくなり、コマンド入力（ＮＡＮＤフラッシュの場合はＩＯ）のデータ転送帯域幅に殆ど影響を与えない。【００６２】
本発明のフラッシュメモリでは、前記動作モードは、動作停止モードを含むのが好ましい。そうすれば、停止レベルの導入により、最小の電力負荷が定義され、外部電源の動作電力（電流）負荷の調整範囲が大きくとれる。また、外部電源の供給が安定しない場合、メモリの動作を一時停止することができて、誤動作を防ぐことができる。 【００６３】
本発明のフラッシュメモリは、前記動作停止モードにおける電力レベルを指定するための制御端子をさらに有するのが好ましい。そうすれば、電力レベルを指定するための制御端子を専用ピンにすることで、コマンドアクセスと非同期に、かつ（例えばレベル指定により高速）に停止させることができる。もちろん、高速に復帰できることもできる。【００６４】
本発明のフラッシュメモリでは、前記制御部は、前記動作停止モードでの当該フラッシュメモリの動作中でも前記レジスタへのアクセスを許容するのが好ましい。そうすれば、停止に停止解除後の電力レベル（レジスタにより設定する電力レベルのみならず停止解除後の任意のレジスタ状態）を設定することができて、停止中の時間を有効活用できて、設定の処理時間を短縮する事ができる。【００６５】
本発明のフラッシュメモリでは、前記電力レベルそれぞれで当該フラッシュメモリが消費する動作電力値を示す第１の情報を保持する第１の記憶部をさらに備え、前記制御部は、前記電力レベルに対応する前記第１の情報を前記第１の記憶部から読み出して前記フラッシュメモリコントローラに供与するのが好ましい。そうすれば、メモリの動作電力の製品使用によるばらつき（製造プロセスによるばらつき等）を実電流値の伴わない単純なコマンドフォーマット（製品種類によらない共通規格）で扱うことが可能となる。【００６６】
本発明のフラッシュメモリでは、前記電力レベルそれぞれにおける当該フラッシュメモリの処理速度を示す第２の情報を保持する第２の記憶部をさらに備え、前記制御部は、前記電力レベルに対応する前記第２の情報を前記第２の記憶部から読み出して前記フラッシュメモリコントローラに供与するのが好ましい。そうすれば、メモリの動作速度の製品使用によるばらつき（製造プロセスによるばらつき等）を実電流値の伴わない単純なコマンドフォーマット（製品種類によらない共通規格）で扱うことができる。処理速度の情報を電力管理に取り入れることにより、外部電源の動作電力（電流負荷）の予測が可能になりホストシステムの電力管理はより高品位なものとなる。【００６７】
本発明のフラッシュメモリでは、前記制御部は、前記レジスタが示す前記電力レベルに換えて、外部から当該フラッシュメモリに入力される信号を参照して前記電力レベルを把握するのが好ましい。そうすれば、電力レベルを、コマンドアクセスと非同期に（例えば）レベル指定により変更させることが可能となる。【００６８】
本発明のフラッシュメモリコントローラは、複数のフラッシュメモリの処理の実行をそれぞれ制御するフラッシュメモリコントローラであって、当該フラッシュメモリコントローラは、前記複数のフラッシュメモリにそれぞれ電源を供給する電源回路からの電源状態情報に基づいて、前記複数のフラッシュメモリのうちアクセス対象のフラッシュメモリを制御する。このような構成を備えた本発明のフラッシュメモリコントローラは、上述した本発明の不揮発性記憶システムに最適な構成であって、本発明の不揮発性記憶システムに準じた同様の効果が得られる。
【発明の効果】
【００６９】
本発明によれば、フラッシュメモリコントローラがフラッシュメモリ内部状態、すなわち不揮発性記憶システムの動作状況の推移に応じてダイナミックにフラッシュメモリおよび処理実行用電源回路を制御するので、きめの細かい制御が実現し、消費電力削減に寄与することができる。これにより、大容量化、高速化および大規模化に伴う複雑化に対して、充分に高い消費電力削減効果を発揮することができる。【００７０】
本発明の技術を用いれば、メモリブロックにおけるフラッシュメモリの個数が多くなるほど、またフラッシュメモリ電源回路における処理実行用電源回路の種類数ないし個数が多くなるほど、その消費電力削減効果はより良く発揮されるようになる。特に、大容量・高速動作のＳＳＤ（ソリッドステートドライブ）に適用した場合には、その消費電力削減効果は大きい。【００７１】
また、不揮発性記憶システムについての本発明によれば、フラッシュメモリコントローラはメモリシステム用の電源回路からの電源状態情報に基づいて給電能力の規定の範囲内で動作可能となるようフラッシュメモリを制御するもので、随時変化する動作種類、フラッシュメモリ群での個体差、処理の実行状況の変化、電源回路内部状態の変化に対してダイナミックに制御を行うので、オーバーロード等の不具合に起因する不安定動作やシステムダウンを未然に回避し、データ信頼性を向上することができる。【００７２】
また、メモリシステム用の電源回路についての本発明によれば、内部状態を常時的に監視し、監視結果をフラッシュメモリコントローラに返し、フラッシュメモリコントローラによって電源電圧が制御されるといった巡回的で絶えざるフィードバック・フィードフォワード制御を行うので、リアルでダイナミックなきめの細かい電源制御を実現することができる。【００７３】
また、フラッシュメモリについての本発明によれば、複数のメモリの送電力を精度高く管理する事が可能になる。【００７４】
以上の結果として、安定動作を確保するためにあえて過剰な電源能力をもたせるといったようなことをしなくて済み、システムにおいて無駄な電力消費を抑制することができる。
【図面の簡単な説明】
【００７５】
【図１】図１は本発明の実施例１の不揮発性記憶システムの構成を示すブロック図である。
【図２】図２は本発明の実施例１の変形の不揮発性記憶システムの構成を示すブロック図である。
【図３Ａ】図３Ａは本発明の実施例１のフラッシュメモリ内部状態管理テーブルを示す図である。
【図３Ｂ】図３Ｂは内部状態と使用する電源との対応表である。
【図４】図４は本発明の実施例１の不揮発性記憶システムの読み出し用電源シーケンスを示すフローチャートである。
【図５】図５は本発明の実施例１の不揮発性記憶システムの書き込み／消去用電源シーケンスを示すフローチャートである。
【図６】図６は本発明の実施例１の不揮発性記憶システムのベリファイ用電源シーケンスを示すフローチャートである。
【図７】図７は本発明の実施例２の不揮発性記憶システムの構成を示すブロック図である。
【図８】図８は本発明の実施例２の不揮発性記憶システムの印加電圧制御シーケンスを示すフローチャートである。
【図９】図９は本発明の実施例３の不揮発性記憶システムの構成を示すブロック図である。
【図１０】図１０は本発明の実施例２の不揮発性記憶システムのフラッシュメモリ選択シーケンスを示すフローチャートである。
【図１１】図１１は本発明の実施例４の不揮発性記憶システムのフラッシュメモリ選択（複数選択）のシーケンスを示すフローチャートである。
【図１２】図１２は本発明の実施例５の不揮発性記憶システムの構成を示すブロック図である。
【図１３】図１３は本発明の実施例５の不揮発性記憶システムの印加電圧制御シーケンスを示すフローチャートである。
【図１４】図１４は本発明の実施例６の不揮発性記憶システムの構成を示すブロック図である。
【図１５】図１５は本発明の実施例６の不揮発性記憶システムのフラッシュメモリ選択シーケンスを示すフローチャートである。
【図１６】図１６は本発明の実施例７の不揮発性記憶システムのフラッシュメモリ選択（複数選択）のシーケンスを示すフローチャートである。
【図１７】図１７は本発明の実施例８の不揮発性記憶システムの機能説明図（書き込み／消去電圧特性図）である。
【図１８】図１８は本発明の実施例９の不揮発性記憶システムの構成を示すブロック図である。
【図１９】図１９は本発明の実施例９の不揮発性記憶システムの負荷電力制御シーケンスを示すフローチャートである。
【図２０】図２０は本発明の実施例１０の不揮発性記憶システムの構成を示すブロック図である。
【図２１】図２１は本発明の実施例１０の不揮発性記憶システムのフラッシュメモリ選択シーケンスを示すフローチャートである。
【図２２】図２２は本発明の実施例１１の不揮発性記憶システムの動作を示すフローチャートである。
【図２３】図２３は本発明の実施例１２の不揮発性記憶システムの動作を示すフローチャートである。
【図２４】図２４は本発明の実施例１３の不揮発性記憶システムの構成を示すブロック図である。
【図２５】図２５は本発明の実施例１３の不揮発性記憶システムの動作を示すフローチャートである。
【図２６】図２６は本発明の実施例１４の不揮発性記憶システムの構成を示すブロック図である。
【図２７】図２７は本発明の実施例１５のフラッシュメモリブロックの構成例である。
【図２８】図２８はインフォメーションレジスタの記憶項目例である。
【図２９】図２９はオートプログラムのシーケンス例である。
【図３０】図３０はオートプログラムのシーケンスにおけるインフォメーションレジスタの記憶内容例である。
【図３１】図３１はコントローラの具体回路例である。
【図３２】図３２はコマンド一覧である。
【図３３】図３３は本発明の実施例１６のフラッシュメモリブロックの構成例である。
【図３４】図３４は本発明の実施例１７のフラッシュメモリブロックの構成例である。
【図３５】図３５は電力情報記憶領域の記憶項目例である。
【図３６】図３６は本発明の実施例１８における不揮発性記憶システムの構成を示すブロック図である。
【図３７】図３７は本発明の実施例１８における不揮発性記憶システムの動作を示すフローチャートである。
【図３８】図３８は本発明の実施例１９における不揮発性記憶システムの動作を示すフローチャートである。
【図３９】図３９は本発明の実施例１９における不揮発性記憶システムのフラッシュメモリ動作管理テーブルの一例を示す図である。
【図４０】図４０は本発明の実施例２０における不揮発性記憶システムの構成を示すブロック図である。
【図４１】図４１は本発明の実施例２０における不揮発性記憶システムの動作を示すフローチャートである。
【図４２】図４２は本発明の実施例２１における不揮発性記憶システムの構成を示すブロック図である。
【図４３】図４３は本発明の実施例２１における不揮発性記憶システムの動作を示すフローチャートである。
【図４４】図４４は本発明の実施例２２における不揮発性記憶システムのフラッシュメモリ動作管理テーブルの一例を示す図である。
【図４５】図４５は本発明の実施例２２における不揮発性記憶システムの動作を示すフローチャートである。
【図４６】図４６は本発明の実施例２３における不揮発性記憶システムのフラッシュメモリ動作管理テーブルの一例を示す図である。
【図４７】図４７は本発明の実施例２３における不揮発性記憶システムの動作を示すフローチャートである。
【図４８】図４８は本発明の実施例２３における不揮発性記憶システムのフラッシュメモリ動作管理テーブルの一例を示す図である。
【図４９】図４９は本発明の実施例２３における不揮発性記憶システムのフラッシュメモリ動作管理テーブルの一例を示す図である。
【図５０】図５０は本発明の実施例２４における不揮発性記憶システムのフラッシュメモリコントローラの動作を示すフローチャートである。
【図５１】図５１は本発明の実施例２５における不揮発性記憶システムのフラッシュメモリコントローラの動作を示すフローチャートである。
【図５２】図５２は本発明の実施例２６における不揮発性記憶システムのフラッシュメモリコントローラの動作を示すフローチャートである。
【図５３】図５３は本発明の実施例２７における不揮発性記憶システムのフラッシュメモリコントローラの動作を示すフローチャートである。
【図５４】図５４は本発明の実施例２８における不揮発性記憶システムの構成を示すブロック図である。
【図５５】図５５は本発明の実施例２８における不揮発性記憶システムのフラッシュメモリコントローラの動作を示すフローチャートである。
【図５６】図５６は本発明の実施例２９における不揮発性記憶システム（メモリシステム用の電源回路）の構成を示すブロック図である。
【図５７】図５７は本発明の実施例２９における電源回路の動作を示すフローチャートである。
【図５８】図５８は本発明の実施例３０における不揮発性記憶システム用の電源回路の構成を示すブロック図である。
【図５９】図５９は本発明の実施例３１における不揮発性記憶システム用の電源回路の構成を示すブロック図である。
【図６０】図６０は本発明の実施例３１における不揮発性記憶システム用の電源回路の動作を示すタイミングチャートである。
【図６１】図６１は本発明の実施例３２における不揮発性記憶システム用の電源回路の構成を示すブロック図である。
【図６２】図６２は本発明の実施例３２における不揮発性記憶システム用の電源回路の動作を示すタイミングチャートである。
【図６３】図６３は本発明の実施例３３における不揮発性記憶システム用の電源回路の構成を示すブロック図である。
【図６４】図６４は本発明の実施例３３における不揮発性記憶システム用の電源回路の動作を示すタイミングチャートである。
【図６５】図６５は本発明の実施例３４における不揮発性記憶システム用の電源回路の構成を示すブロック図である。
【図６６】図６６は本発明の実施例３４における不揮発性記憶システム用の電源回路の動作を示すタイミングチャートである。
【図６７】図６７は本発明の実施例３５における不揮発性記憶システム用の電源回路の構成を示すブロック図である。
【図６８】図６８は本発明の実施例３５における不揮発性記憶システム用の電源回路の動作を示すタイミングチャートである。
【図６９】図６９は本発明の実施例３６における不揮発性記憶システム用の電源回路の構成を示すブロック図である。
【図７０】図７０は本発明の実施例３６における不揮発性記憶システム用の電源回路の動作を示すタイミングチャートである。
【図７１】図７１は本発明の実施例３７における不揮発性記憶システム用の電源回路の構成を示すブロック図である。
【図７２】図７２は本発明の実施例３７における不揮発性記憶システム用の電源回路の動作を示すタイミングチャートである。
【図７３】図７３は本発明の実施例３８における不揮発性記憶システム用の電源回路の構成を示すブロック図である。
【図７４】図７４は本発明の実施例３８における不揮発性記憶システム用の電源回路の動作を示すタイミングチャートである。
【図７５】図７５は本発明の実施例３９における電源回路の電圧発生部の構成を示すブロック図である。
【図７６】図７６は本発明の実施例４０における電源回路の電圧発生部の構成を示すブロック図である。
【図７７】図７７は本発明の実施例４１における電源回路の電圧発生部の構成を示すブロック図である。
【図７８】図７８は本発明の実施例のフラッシュメモリにおける電力パラメータの格納についての説明図である。
【図７９】図７９は本発明の実施例のフラッシュメモリにおけるプログラムシーケンスの電力モード変更の例を示す図である。
【図８０】図８０は本発明の実施例のフラッシュメモリにおける電力モード更新の詳細を示す図である。
【図８１Ａ】図８１Ａは本発明の実施例のフラッシュメモリにおけるコマンド実行時の電力レベルの設定の第１の例を示す図である。
【図８１Ｂ】図８１Ｂは本発明の実施例のフラッシュメモリにおけるコマンド実行時の電力レベルの設定の第２の例を示す図である。
【図８１Ｃ】図８１Ｃは本発明の実施例のフラッシュメモリにおけるコマンド実行時の電力レベルの設定の第３の例を示す図である。
【図８２Ａ】図８２Ａは本発明の実施例のフラッシュメモリにおけるコマンド実行中の電力レベル変更の第１の例を示す図である。
【図８２Ｂ】図８２Ｂは本発明の実施例のフラッシュメモリにおけるコマンド実行中の電力レベル変更の第２の例を示す図である。
【図８３】図８３は本発明の実施例のフラッシュメモリの構成を示すブロック図である。
【図８４】図８４は本発明の実施例における電力レジスタの構成を示す図である。
【図８５】図８５は本発明の実施例におけるコマンドレジスタの構成を示す図である。
【図８６】図８６は本発明の実施例のフラッシュメモリの別構成を示す図である。
【図８７】図８７は本発明の他の実施例におけるコマンドレジスタの構成を示す図である。
【図８８】図８８は本発明のさらに他の実施例のフラッシュメモリの構成を示す図である。
【発明を実施するための形態】
【００７６】
上記した《１》の構成の本発明の不揮発性記憶システムは、次のような実施の形態においてさらに有利に展開することが可能である。
【００７７】
《２》上記《１》の構成において、前記フラッシュメモリコントローラに、フラッシュメモリ内部状態管理部をもたせる。各フラッシュメモリは、それぞれの内部状態情報を生成し保持している。フラッシュメモリ内部状態管理部は、フラッシュメモリコントローラが各フラッシュメモリとの連絡で取得した各フラッシュメモリの内部状態情報を取り込んで記録しておく。その記録は状況の推移に応じて更新される。
【００７８】
複数のフラッシュメモリのそれぞれは、その動作状態の変化に応じて内部状態をフラッシュメモリコントローラに出力し、フラッシュメモリコントローラは受け取った内部状態をフラッシュメモリ内部状態管理部に更新的に登録する。
【００７９】
フラッシュメモリコントローラは、外部にあるホストなどからの動作指令に応じて、メモリブロックにアクセスし、フラッシュメモリ内部状態管理部を参照して、複数のフラッシュメモリのうち該当するフラッシュメモリについての内部状態情報を取得する。フラッシュメモリコントローラは、取得したフラッシュメモリ内部状態に従って、フラッシュメモリ電源回路における複数の処理実行用電源回路のうち動作指令に応じた処理実行用電源回路を動作状態にするよう制御する。
【００８０】
《３》上記《２》の構成において、前記フラッシュメモリの内部状態情報としては、スタンバイ状態か動作状態かの識別情報や処理の実行種類の情報を含むものとする。スタンバイ状態とは、該当のフラッシュメモリが処理の実行を実行していない停止（休止）状態にあることをいう。動作状態とは、読み出し動作、書き込み動作、消去動作、書き込みベリファイ動作、消去ベリファイ動作などなんらかの処理の実行を行っている状態をいう。処理の実行種類は、読み出し、書き込み、消去、書き込みベリファイ、消去ベリファイなどである。実行処理の種類に応じて駆動させるべき各種処理実行用電源回路の種類も変わる。また、他のフラッシュメモリがすでに動作状態にあるときと動作状態にないときとで、フラッシュメモリコントローラによるフラッシュメモリ、フラッシュメモリ電源回路に対して制御の態様が変化する。これらの情報をフラッシュメモリの内部情報としてフラッシュメモリコントローラが恒常的に管理し、その情報に基づいてフラッシュメモリ、フラッシュメモリ電源回路を制御することにより、きめの細かい制御を実現することが可能となる。ひいては、消費電力削減を効果的なものにする。
【００８１】
《４》上記《３》の構成の１態様として、前記処理種類の情報は、読み出し動作、書き込み／消去動作の各情報とする。この場合に、各フラッシュメモリは、その処理の種類として読み出し動作、書き込み／消去動作を行うように構成されているとする。またフラッシュメモリ電源回路は、その処理実行用電源回路として読み出し用電源回路、書き込み／消去用電源回路を有しているものとする。
【００８２】
《５》上記《３》の構成の別の１態様として、前記処理種類の情報は、読み出し動作、書き込み／消去動作、書き込み／消去ベリファイ動作の各情報とする。この場合に、各フラッシュメモリは、その処理種類として読み出し動作、書き込み／消去動作、書き込み／消去ベリファイ動作を行うように構成されているとする。またフラッシュメモリ電源回路は、その処理実行用電源回路として読み出し用電源回路、書き込み／消去用電源回路、ベリファイ用電源回路を有しているものとする。
【００８３】
上記した《１》〜《５》の構成の本発明の不揮発性記憶システムは、次のような実施の形態においてさらに有利に展開することが可能である。
【００８４】
《６》前記フラッシュメモリ内部状態については、これをフラッシュメモリ割り込み通知信号によるものとすることが可能である。そのフラッシュメモリ割り込み通知信号は、フラッシュメモリの内部の動作状態が変化するときに生成され、フラッシュメモリコントローラに通知されるものである。
【００８５】
例えば、フラッシュメモリの内部状態がスタンバイ状態、読み出し動作状態、書き込み／消去動作状態、書き込み／消去ベリファイ動作状態のいずれか１つであり、それが他の状態に変化したときに、フラッシュメモリはその変化を示す割り込み通知信号を生成し、バスライン等を介してフラッシュメモリコントローラに伝える。内部状態の変化の態様は様々である。
【００８６】
読み出し動作と書き込み／消去動作を有するフラッシュメモリの場合は、
・スタンバイ状態→読み出し動作状態
・スタンバイ状態→書き込み動作状態
・スタンバイ状態→消去動作状態
・読み出し動作状態→スタンバイ状態
・書き込み動作状態→スタンバイ状態
・消去動作状態→スタンバイ状態
などの内部状態の変化がある。
【００８７】
さらに、ベリファイ動作を有するフラッシュメモリの場合は、上記の変化に加えて、
・書き込み動作状態→書き込みベリファイ状態
・消去動作状態→消去ベリファイ状態
の変化がある。
【００８８】
フラッシュメモリ割り込み通知信号によってフラッシュメモリ内部状態を生成することは、処理実行用電源回路の制御において、フラッシュメモリの内部状態のきめの細かい変化に応じた微調整的制御を実現することとなり、消費電力の削減効果をさらに有効なものとすることが可能になる。
【００８９】
《７》上記《２》ではフラッシュメモリ内部状態管理部について言及したが、本項は、このフラッシュメモリ内部状態管理部で更新的に記録される各フラッシュメモリの内部状態情報を利用する。本項は、上記の《２》〜《６》に適用可能である。
【００９０】
フラッシュメモリコントローラは、外部のホストから動作指令を受けた場合に、次の一連の動作を実行するように構成されているものとする。
【００９１】
［1］動作指令における指令対象に該当する指令対象フラッシュメモリの動作を一時的に停止させる。これは、指令対象フラッシュメモリを動作状態にしたまま動作指令における指令対象に該当する指令対象処理実行用電源回路を起動するとなると、本来必要な電源電圧を与える前に動作を始めてしまって正しい書き込みや読み出し等ができなくなる不具合や起動時の電流突入が発生することになるが、これを避けるためである。
【００９２】
［2］次いで、フラッシュメモリ内部状態管理部におけるフラッシュメモリ内部状態をチェックし、前記動作指令における指令対象に該当する指令対象処理実行用電源回路の状況を判断する。
【００９３】
［3-1］上記の［2］の判断が、指令対象処理実行用電源回路が停止状態にあることを示すときは、指令対象処理実行用電源回路を起動する。この起動に際しては、上記［1］であらかじめ指令対象フラッシュメモリの動作を停止させてあるので、指令対象フラッシュメモリに突入電流が流入する心配はない。
【００９４】
［4］次いで、その給電状態が安定するのを待ち、［5］へ進む。
【００９５】
［3-2］一方、上記の［2］の判断で、指令対象処理実行用電源回路が他のフラッシュメモリの動作のためにすでに動作状態にあるときは、［3-1］の起動と［4］をスキップし、［5］へ進む。
【００９６】
［5］次いで、指令対象フラッシュメモリの動作を再開するとともに、フラッシュメモリ内部状態管理部において指令対象フラッシュメモリの内部状態を更新する。
【００９７】
指令対象処理実行用電源回路が停止状態にあるときに限り、指令対象処理実行用電源回路を起動する。既に動作状態にあるときは起動の必要はなく、スキップし、再起動の過程を省略することになる。起動する場合は、起動の動作が安定するまでに一定の時間がかかるが、スキップすればその時間が節約され、高速動作（電力消費削減）に寄与することになる。
【００９８】
《８》本項も、フラッシュメモリ内部状態管理部で更新的に記録される各フラッシュメモリの内部状態情報を利用する。本項は、上記《７》の構成に適用可能である。本項では、フラッシュメモリコントローラは、指令対象フラッシュメモリから動作完了の連絡を受け取った場合に、次の一連の動作を実行するように構成されているものとする。
【００９９】
［1］動作を完了した指令対象フラッシュメモリの動作を一時的に停止させる。これは、動作を完了した指令対象フラッシュメモリを動作状態にしたままで給電中の指令対象処理実行用電源回路を停止すると、停止時の電流変動による悪影響が発生することになるが、これを避けるためである。
【０１００】
［2］次いで、フラッシュメモリ内部状態管理部におけるフラッシュメモリ内部状態をチェックし、動作を完了した指令対象フラッシュメモリに給電している給電中の指令対象処理実行用電源回路の使用状況を判断する。
【０１０１】
［3-1］上記の［2］の判断が、給電中の指令対象処理実行用電源回路が、他のフラッシュメモリによって非使用状態にあることを示す場合は、給電中の指令対象処理実行用電源回路を停止し、［4］へ進む。この停止に際しては、上記［1］であらかじめ動作を完了した指令対象フラッシュメモリの動作を停止させてあるので、このフラッシュメモリに停止時の電流変動による悪影響が発生する心配はない。
【０１０２】
［3-2］一方、上記の［2］の判断が、給電中の指令対象処理実行用電源回路が、他のフラッシュメモリによって使用状態にあることを示す場合は、［3-1］の停止をスキップし、［4］へ進む。
【０１０３】
［4］その後に動作を完了した指令対象フラッシュメモリの動作を再開するとともに、フラッシュメモリ内部状態管理部においてフラッシュメモリ内部状態を更新する。
【０１０４】
給電中の指令対象処理実行用電源回路が他のフラッシュメモリに使用されていないときに限り、給電中の指令対象処理実行用電源回路を停止する。他のフラッシュメモリに使用されているときは停止の必要はなくスキップし、停止の過程を省略することになる。停止の場合も、停止による影響がなくなるまでに一定の時間がかかるが、スキップすればその時間が節約され、高速動作（電力消費削減）に寄与することになる。
【０１０５】
《９》本項は、処理の種類としてベリファイ動作を含む場合である。前記フラッシュメモリコントローラは、書き込み／消去動作に引き続くベリファイ動作状態に移行した場合に、フラッシュメモリ内部状態管理部におけるフラッシュメモリ内部状態に従って指令対象処理実行用電源回路の使用状況を判断する。指令対象処理実行用電源回路が停止状態にあるときは指令対象処理実行用電源回路を起動し、その給電状態が安定した後に指令対象フラッシュメモリの動作を再開するとともに、フラッシュメモリ内部状態管理部においてフラッシュメモリ内部状態を更新する。一方、指令対象処理実行用電源回路がすでに動作状態にあるときは起動スキップして指令対象フラッシュメモリの動作を再開するとともに、フラッシュメモリ内部状態を更新する。
【０１０６】
《１０》本項は、上記の《９》に関連するものである。前記フラッシュメモリコントローラは、ベリファイ中のフラッシュメモリから動作完了の連絡を受け取ると、ベリファイ動作完了フラッシュメモリの動作を一時的に停止させる。フラッシュメモリ内部状態管理部におけるフラッシュメモリ内部状態に従って、ベリファイ動作完了フラッシュメモリに給電しているベリファイ給電中処理実行用電源回路の使用状況を判断し、ベリファイ給電中処理実行用電源回路が他のフラッシュメモリによって非使用状態にあるときは、ベリファイ給電中処理実行用電源回路を停止する。一方、ベリファイ給電中処理実行用電源回路が他のフラッシュメモリによって使用状態にあるときは停止をスキップする。
【０１０７】
上記の《１》〜《１０》の構成の具体例を実施例１として以下に説明する。
【０１０８】
＜実施例１＞
図１は本発明の実施例１の不揮発性記憶システムの構成を示すブロック図である。本実施例の不揮発性記憶システムは、複数のフラッシュメモリ２０１２の集合としてのメモリブロック２０１０と、フラッシュメモリ電源回路２０２０と、フラッシュメモリコントローラ２０３０を有して構成されている。なお、フラッシュメモリ電源回路２０２０とフラッシュメモリコントローラ２０３０は、それぞれ別の半導体装置でもよいし、同じチップ上に集積された半導体装置でもかまわない。
【０１０９】
フラッシュメモリコントローラ２０３０は、フラッシュメモリ２０１２に対してアドレス／コントロールバス２０４１とデータバス２０４２とで接続されている。また、フラッシュメモリコントローラ２０３０は、フラッシュメモリ電源回路２０２０に対してコントロールバス２０４３を介して接続されている。また、フラッシュメモリ電源回路２０２０は、フラッシュメモリ２０１２のそれぞれに対して電源線２０４４を介して接続されている。
【０１１０】
フラッシュメモリ２０１２は、従来のフラッシュメモリが内蔵していた書き込み／消去用、読み出し用、ベリファイ用の各電源回路は内蔵せず、新たに書き込み／消去用電源端子Ｔ１と読み出し用電源端子Ｔ２とベリファイ用電源端子Ｔ３を備えていて、フラッシュメモリ２０１２（メモリブロック２０１０）の外部に置かれたフラッシュメモリ電源回路２０２０よりそれぞれの電圧電源が供給されるようになっている。
【０１１１】
なお、ベリファイ用電源端子Ｔ３は書き込み／消去用電源端子Ｔ１と共有してもよい。この場合、ベリファイ用電圧（例えば１０Ｖ）は、フラッシュメモリ２０１２の内部で書き込み／消去用電圧（例えば２０Ｖ）から降圧して生成するものとする。また、読み出し用電源端子Ｔ２とベリファイ用電源端子Ｔ３を書き込み／消去用電源端子Ｔ１と共用し、読み出し用電圧およびベリファイ用電圧はフラッシュメモリ内部で書き込み／消去用電圧から降圧して生成する構成でもよい。電源端子をまとめた場合は、構成が単純になる。例えば読み出しのフラッシュメモリと書き込みのフラッシュメモリが同時に存在する場合、読み出しのフラッシュメモリに対しても、より高い書き込み電圧を与えることになる。そのため、きめ細かい電力制御の結果の省電力の効果は小さくなる。
【０１１２】
フラッシュメモリ２０１２は、その内部コントローラ（図示せず）が実行している動作状態を示すインフォメーションレジスタ（ＩＲ）２０１４を備えており、さらにこの動作状態の情報を外部に通知するためのフラッシュメモリ内部状態通知信号Ａ３を出力する端子Ｔ４を備えている。フラッシュメモリ内部状態通知信号Ａ３はフラッシュメモリコントローラ２０３０に出力される。
【０１１３】
フラッシュメモリ内部状態通知信号Ａ３の形態については、次のＡ〜Ｅがある。
【０１１４】
Ａ）通知の方式は、フラッシュメモリ２０１２からの割り込み通知であってもよいし、フラッシュメモリコントローラ２０３０からのポーリング（定期的または不定期的な問い合わせに応じた通知）でもよい。
【０１１５】
Ｂ）割り込み通知では、フラッシュメモリ２０１２の内部の動作状態が変化した際に割り込みを発生して、フラッシュメモリコントローラ２０３０に対して動作状態に変化があったことを通知する。
【０１１６】
Ｃ）ポーリングでは、フラッシュメモリコントローラ２０３０がフラッシュメモリ内部状態通知信号Ａ３を所定の間隔でモニタし、その状態が変化したかどうかをチェックする。
【０１１７】
Ｄ）データの出力方法は、パラレルでもシリアルでもよい。内部状態を表すデータは複数ビットの情報をもったデータであり、パラレル出力ではビット分の本数をもつバス形態である。シリアル出力では、シリアルデータを送るデータ線１本または転送用クロックを合わせた２本の信号である。
【０１１８】
Ｅ）データの出力自体は、フラッシュメモリ２０１２のデータバス２０４２を使ってもよい。
【０１１９】
フラッシュメモリ内部状態通知信号Ａ３は状態変化のみを通知することだけを担い、状態を示すデータ自体は、フラッシュメモリ２０１２が従来からもつアドレス/コントロールバス２０４１を使って、フラッシュメモリコントローラ２０３０から内部状態を読み出すコマンド等を発行して読み出す。
【０１２０】
実施例１では、そのフラッシュメモリ内部状態通知信号Ａ３を、内部状態が変化したことを割り込みによって通知する信号（フラッシュメモリ割り込み通知信号Ａ３1）とする。フラッシュメモリ２０１２の内部状態の読み出しには、フラッシュメモリコントローラ２０３０が内部状態読み出しコマンドを発行し、フラッシュメモリ２０１２のデータバス２０４２からインフォメーションレジスタ２０１４を読み出す例で説明する。
【０１２１】
実施例１の変形に相当する図２の不揮発性記憶システムでは、フラッシュメモリ２０１２は、内部コントローラ（図示せず）の動作を一時停止・再開するフラッシュメモリ内部動作制御信号Ａ４を入力する端子Ｔ５を備えており、フラッシュメモリコントローラ２０３０と接続されて、フラッシュメモリコントローラ２０３０がフラッシュメモリ２０１２の内部コントローラの動作を直接制御できるようになっている。
【０１２２】
フラッシュメモリ内部動作制御信号Ａ４の使用法については、主に次の２通りが挙げられる。
［1］フラッシュメモリ２０１２はフラッシュメモリ内部状態通知信号Ａ３（割り込み通知信号）を出力し、それを受けたフラッシュメモリコントローラ２０３０がフラッシュメモリ内部動作制御信号Ａ４によって内部のコントローラの動作を一時停止させ、所望の操作後に再開させる。
［2］フラッシュメモリ２０１２は、フラッシュメモリ内部状態通知信号Ａ３（割り込み通知信号）を出力すると同時に内部のコントローラを一時停止し、フラッシュメモリ内部動作制御信号Ａ４による動作再開を待つ。
【０１２３】
本実施例のフラッシュメモリ内部動作制御信号Ａ４においては、［1］を例に説明する。フラッシュメモリコントローラ２０３０は、各フラッシュメモリ２０１２に対してアドレス／コントロールバス２０４１を介して書き込み、消去、読み出し等のコマンドとそのアドレス情報を出力し、データバス２０４２を介してデータの書き込み、読み出し、消去を実行する。
【０１２４】
またフラッシュメモリコントローラ２０３０は、フラッシュメモリ２０１２から出力されるフラッシュメモリ内部状態通知信号Ａ３を受け取る。本実施例のフラッシュメモリ内部状態通知信号Ａ３は、フラッシュメモリ２０１２の内部状態が変化したことを示す割り込み通知信号で、この信号の割り込みを受けることで、フラッシュメモリコントローラ２０３０は、どのフラッシュメモリ２０１２の内部状態が変化したのかを知ることができる。
【０１２５】
またフラッシュメモリコントローラ２０３０は、接続されているそれぞれのフラッシュメモリ２０１２の内部状態を管理するフラッシュメモリ内部状態管理テーブル２０３２を備えている。フラッシュメモリ内部状態管理テーブル２０３２は、現在の各フラッシュメモリ２０１２の内部状態を保持している。フラッシュメモリ内部状態管理テーブル２０３２の具体的な内部状態とそのときの電源状態を図３Ａ、図３Ｂに示す。またフラッシュメモリコントローラ２０３０は、フラッシュメモリ２０１２の内部コントローラの動作を一時停止・再開するフラッシュメモリ内部動作制御信号Ａ４をフラッシュメモリ２０１２に出力する。
【０１２６】
またフラッシュメモリコントローラ２０３０は、フラッシュメモリ電源回路２０２０へコントロールバス２０４３を介してフラッシュメモリ電源制御信号Ａ１を出力する。
【０１２７】
フラッシュメモリ電源制御信号Ａ１は、フラッシュメモリ電源回路２０２０に搭載されている各電源回路２０２１，２０２２，２０２３の動作を個別に制御するための信号で、各電源回路の動作・停止、発生電圧、給電能力を制御することができる。フラッシュメモリコントローラ２０３０は、フラッシュメモリ電源制御信号Ａ１によってフラッシュメモリ電源回路２０２０に搭載されている各電源回路２０２１，２０２２，２０２３を所望の電圧、給電能力で動作させる。各電源回路２０２１，２０２２，２０２３が起動して供給準備が完了した際、フラッシュメモリ電源回路２０２０から各電源回路２０２１，２０２２，２０２３の電源準備完了信号Ａ２が出力され、それをコントロールバス２０４３を介してフラッシュメモリコントローラ２０３０が受け取る。
【０１２８】
フラッシュメモリ電源回路２０２０は、システム全体に供給される単一電源ＶＣＣから、フラッシュメモリ２０１２の書き込み／消去用電圧、読み出し用電圧およびベリファイ用電圧を発生させるための昇圧回路、および給電能力を変更可能な出力回路からなる書き込み／消去用電源回路２０２１、読み出し用電源回路２０２２およびベリファイ用電源回路２０２３を備えている。各電源回路２０２１，２０２２，２０２３が供給する電圧電源は、電源ラインを通じて複数のフラッシュメモリ２０１２の各電源端子Ｔ１，Ｔ２，Ｔ３に接続されている。
【０１２９】
またフラッシュメモリ電源回路２０２０は、フラッシュメモリコントローラ２０３０からのフラッシュメモリ電源制御信号Ａ１によって、書き込み／消去用電源回路２０２１、読み出し用電源回路２０２２およびベリファイ用電源回路２０２３の動作・停止、各電源の昇圧回路の発生電圧、各電源の出力回路の給電能力の切り替えを行う。
【０１３０】
昇圧回路の発生電圧の制御については、例えばある一定の電圧範囲内で複数段階の電圧を設定できるような昇圧回路を用いて、与えられた複数ビットの設定電圧情報からそれに対応する電圧を発生させる方法がある。
【０１３１】
出力回路の給電能力の切り替えについては、例えばあらかじめ出力回路の最終段のトランジスタの大きさを複数用意しておき、与えられた複数ビットの設定電力情報からそれに対応する最終段のトランジスタを選択する方法がある。
【０１３２】
またフラッシュメモリ電源回路２０２０は、フラッシュメモリコントローラ２０３０からのフラッシュメモリ電源制御信号Ａ１によって各電源回路２０２１，２０２２，２０２３を制御し、それらの準備が完了した際にフラッシュメモリコントローラ２０３０に対して電源準備完了信号Ａ２を出力する。
【０１３３】
なお、フラッシュメモリ２０１２がベリファイ用電源端子Ｔ３と書き込み／消去用電源端子Ｔ１を共有する構成の場合は、ベリファイ用電源回路２０２３を備えなくてもよい。また、フラッシュメモリ２０１２が読み出し用電源端子Ｔ２およびベリファイ用電源端子Ｔ３と書き込み／消去用電源端子を共有する構成の場合は、読み出し用電源回路２０２２およびベリファイ用電源回路２０２３を備えていなくてもよい。
【０１３４】
＜読み出し用電源シーケンス＞
システムに電源が投入された直後は、システム全体に供給される単一電源ＶＣＣは、フラッシュメモリコントローラ２０３０とフラッシュメモリ電源回路２０２０とフラッシュメモリ２０１２のＶＣＣ電源端子に供給される。フラッシュメモリ２０１２のＶＣＣ電源端子は、主にフラッシュメモリ２０１２のＩＯ（入出力端子）とロジック回路（図示せず）に電力を供給しており、フラッシュメモリコントローラ２０３０からのコマンドを受けることができる状態にある。またフラッシュメモリ電源回路２０２０においては、搭載する各電源回路２０２１，２０２２，２０２３は停止しており、フラッシュメモリ２０１２の書き込み／消去用電源端子Ｔ１と読み出し用電源端子Ｔ２とベリファイ用電源端子Ｔ３には電力が供給されていない。
【０１３５】
図４のフローチャートに従って読み出し用電源シーケンスの動作を説明する。
【０１３６】
ステップＳ１において、外部のホストからの指示により、フラッシュメモリコントローラ２０３０はフラッシュメモリ２０１２に対してアクセスを開始する。フラッシュメモリコントローラ２０３０から発行されたコマンドが読み出し系のコマンドであった場合、フラッシュメモリ２０１２は読み出しのアドレスをラッチした後、該当するメモリセルアレイに対するデータ読み出し動作に入り、フラッシュメモリコントローラ２０３０に対してデータの読み出し動作に入ったことを通知するためフラッシュメモリ割り込み通知信号Ａ３1を出力する。
【０１３７】
次いでステップＳ２において、フラッシュメモリコントローラ２０３０は、フラッシュメモリ２０１２からフラッシュメモリ割り込み通知信号Ａ３1を受け取ると、フラッシュメモリ内部動作制御信号Ａ４によってフラッシュメモリ２０１２を一時停止させる。
【０１３８】
次いでステップＳ２、Ｓ３において、フラッシュメモリ内部状態管理テーブル２０３２を参照して、その情報からフラッシュメモリ電源回路２０２０の読み出し用電源回路２０２２が停止しているか、あるいはすでに動作しているかを確認する。
【０１３９】
読み出し用電源回路２０２２が停止している場合は、ステップＳ４に進んで、フラッシュメモリコントローラ２０３０は、フラッシュメモリ電源制御信号Ａ１によって、フラッシュメモリ電源回路２０２０に搭載されている読み出し用電源回路２０２２を起動させる。フラッシュメモリ電源回路２０２０は読み出し用電源回路２０２２を起動し、ステップＳ５において、電源供給の準備が完了するまで待機する。
【０１４０】
やがて電源電圧の昇圧が完了し供給準備が整ったら、ステップＳ６において、フラッシュメモリ電源回路２０２０はフラッシュメモリコントローラ２０３０に対して読み出し用電源回路２０２２の電源準備完了信号Ａ２を出力する。
【０１４１】
次いでステップＳ７において、フラッシュメモリコントローラ２０３０は、読み出し用の電源準備完了信号Ａ２を受け、フラッシュメモリ内部動作制御信号Ａ４によりフラッシュメモリ２０１２の内部動作を再開させ、また同時にフラッシュメモリ内部状態管理テーブル２０３２の現在アクセスしているフラッシュメモリ２０１２の状態を「スタンバイ」から「読み出し」へ更新する。
【０１４２】
一方、ステップＳ３の判断で読み出し用電源回路２０２２がすでに動作している場合、ステップＳ７に進み、フラッシュメモリコントローラ２０３０は、直ちにフラッシュメモリ内部動作制御信号Ａ４によりフラッシュメモリ２０１２の内部動作を再開させ、また同時にフラッシュメモリ内部状態管理テーブル２０３２の現在アクセスしているフラッシュメモリ２０１２の状態を「スタンバイ」から「読み出し」へ更新する。
【０１４３】
フラッシュメモリ２０１２はすでに読み出し用電源が供給された状態になっているため、フラッシュメモリ内部動作制御信号Ａ４を受けた後、ステップＳ８において、メモリセルアレイに対するデータ読み出し動作が実行される。
【０１４４】
フラッシュメモリ２０１２は、メモリセルアレイに対するデータ読み出し動作が終了すると、ステップＳ９において、フラッシュメモリコントローラ２０３０に対してデータ読み出し動作が終了したことを通知するためフラッシュメモリ割り込み通知信号Ａ３1を出力する。
【０１４５】
フラッシュメモリコントローラ２０３０は、フラッシュメモリ２０１２からフラッシュメモリ割り込み通知信号Ａ３1を受け取ると、ステップＳ１０において、フラッシュメモリ内部動作制御信号Ａ４によってフラッシュメモリ２０１２を一時停止させ、フラッシュメモリ内部状態管理テーブル２０３２を参照して、ステップＳ１１において、その情報から他に読み出し動作中のフラッシュメモリ２０１２がないかどうか確認する。
【０１４６】
他に読み出し動作中のフラッシュメモリ２０１２がなく、読み出し用電源回路２０２２を停止できると判断した場合、ステップＳ１２に進んで、フラッシュメモリコントローラ２０３０は、フラッシュメモリ電源制御信号Ａ１によって、フラッシュメモリ電源回路２０２０に搭載される読み出し用電源回路２０２２を停止させる。
【０１４７】
次いでステップＳ１３において、フラッシュメモリコントローラ２０３０は、フラッシュメモリ内部動作制御信号Ａ４によりフラッシュメモリ２０１２の内部動作を再開させ、また同時にフラッシュメモリ内部状態管理テーブル２０３２における、現在アクセスしているフラッシュメモリ２０１２の状態を「読み出し」から「スタンバイ」へ更新する。
【０１４８】
一方、ステップＳ１１の判断で他に読み出し動作中のフラッシュメモリ２０１２があって読み出し用電源回路２０２２を停止できない場合は、ステップＳ１２をスキップしてステップＳ１３に進み、フラッシュメモリコントローラ２０３０は直ちにフラッシュメモリ内部動作制御信号Ａ４によりフラッシュメモリ２０１２の内部動作を再開させ、また同時にフラッシュメモリ内部状態管理テーブル２０３２の現在アクセスしているフラッシュメモリ２０１２の状態を「読み出し」から「スタンバイ」へ更新する。
【０１４９】
＜書き込み／消去用電源シーケンス＞
図５のフローチャートに従って書き込み／消去用電源シーケンスの動作を説明する。ステップＳ２１において、フラッシュメモリコントローラ２０３０から発行されたコマンドが書き込み／消去系のコマンドであった場合、フラッシュメモリ２０１２は書き込み／消去アドレスおよび書き込みデータをラッチした後、該当するメモリセルアレイに対するデータ書き込みあるいは消去動作に入り、フラッシュメモリコントローラ２０３０に対してデータの書き込みあるいは消去動作に入ったことを通知するためフラッシュメモリ割り込み通知信号Ａ３1を出力する。
【０１５０】
次いでステップＳ２２において、フラッシュメモリコントローラ２０３０は、フラッシュメモリ２０１２からフラッシュメモリ割り込み通知信号Ａ３1を受け取ると、フラッシュメモリ内部動作制御信号Ａ４によってフラッシュメモリ２０１２を一時停止させ、フラッシュメモリ内部状態管理テーブル２０３２を参照して、ステップＳ２３において、その情報からフラッシュメモリ電源回路２０２０の書き込み／消去用電源回路２０２１が停止しているかすでに動作しているかを確認する。
【０１５１】
書き込み／消去用電源回路２０２１が停止している場合、ステップＳ２４に進んで、フラッシュメモリコントローラ２０３０は、フラッシュメモリ電源制御信号Ａ１によって、フラッシュメモリ電源回路２０２０に搭載される書き込み／消去用電源回路２０２１を起動させる。フラッシュメモリ電源回路２０２０は書き込み／消去用電源回路２０２１を起動し、電源供給の準備が完了するまで待機する。
【０１５２】
ステップＳ２５において、電源電圧の昇圧が完了し供給準備が整ったことを確認したら、ステップＳ２６に進んで、フラッシュメモリ電源回路２０２０はフラッシュメモリコントローラ２０３０に対して書き込み／消去用電源回路２０２１の電源準備完了信号Ａ２を出力する。
【０１５３】
次いでステップＳ２７において、フラッシュメモリコントローラ２０３０は、書き込み／消去用の電源準備完了信号Ａ２を受け、フラッシュメモリ内部動作制御信号Ａ４によりフラッシュメモリ２０１２の内部動作を再開させ、また同時にフラッシュメモリ内部状態管理テーブル２０３２の現在アクセスしているフラッシュメモリ２０１２の状態を「スタンバイ」から「書き込み」または「消去」へ更新する。
【０１５４】
ステップＳ２３の判断で書き込み／消去用電源回路２０２１がすでに動作している場合、ステップＳ２７にスキップし、フラッシュメモリコントローラ２０３０は、直ちにフラッシュメモリ内部動作制御信号Ａ４によりフラッシュメモリ２０１２の内部動作を再開させ、また同時にフラッシュメモリ内部状態管理テーブル２０３２の現在アクセスしているフラッシュメモリ２０１２の状態を「スタンバイ」から「書き込み」または「消去」へ更新する。
【０１５５】
フラッシュメモリ２０１２はすでに書き込み／消去用電源回路２０２１が供給された状態になっているため、フラッシュメモリ内部動作制御信号Ａ４を受けた後、ステップＳ２８において、メモリセルアレイに対するデータ書き込み／消去動作が実行される。
【０１５６】
フラッシュメモリ２０１２は、メモリセルアレイに対するデータ書き込み／消去動作が終了すると、ステップＳ２９において、フラッシュメモリコントローラ２０３０に対してデータ書き込み／消去動作が終了したことを通知するためフラッシュメモリ割り込み通知信号Ａ３1を出力する。
【０１５７】
次いでステップＳ３０において、フラッシュメモリコントローラ２０３０は、フラッシュメモリ２０１２からフラッシュメモリ割り込み通知信号Ａ３1を受け取ると、フラッシュメモリ内部動作制御信号Ａ４によってフラッシュメモリ２０１２を一時停止させ、フラッシュメモリコントローラ２０３０はフラッシュメモリ内部状態管理テーブル２０３２を参照して、ステップＳ３１において、その情報から他に書き込み／消去動作中のフラッシュメモリ２０１２がないかどうか確認する。
【０１５８】
他に書き込み／消去動作中のフラッシュメモリ２０１２がなく、書き込み／消去用電源回路２０２１を停止できると判断した場合、ステップＳ３２に進んで、フラッシュメモリコントローラ２０３０は、フラッシュメモリ電源制御信号Ａ１によって、フラッシュメモリ電源回路２０２０に搭載される書き込み／消去用電源回路２０２１を停止させ、次いでステップＳ３３において、ベリファイ用電源シーケンスに移行する。
【０１５９】
ステップＳ３１の判断で他に書き込み／消去動作中のフラッシュメモリ２０１２があって書き込み／消去用電源回路２０２１を停止できない場合は、ステップＳ３２をスキップし、ステップＳ３３で直ちにベリファイ用電源シーケンスに移行する。
【０１６０】
ベリファイ用電源シーケンス終了後、ステップＳ３４において、フラッシュメモリコントローラ２０３０は、フラッシュメモリ２０１２の内部状態読み出しコマンドを発行して、割り込み（ベリファイ終了時）のあったフラッシュメモリ２０１２の内部状態を確認する。ステップＳ３５の判断において内部状態が書き込み／消去であれば、ステップＳ２２に戻り、再度書き込み／消去用電源シーケンスを実行する。
【０１６１】
ステップＳ３５の判断において内部状態がスタンバイであれば、ステップＳ３６に進んで、フラッシュメモリコントローラ２０３０は、フラッシュメモリ内部動作制御信号Ａ４によりフラッシュメモリ２０１２の内部動作を再開させ、また同時にフラッシュメモリ内部状態管理テーブル２０３２の現在アクセスしているフラッシュメモリ２０１２の状態を「書き込みベリファイ」または「消去ベリファイ」から「スタンバイ」へ更新する。
【０１６２】
＜ベリファイ用電源シーケンス＞
図６のフローチャートに従ってベリファイ用電源シーケンスの動作を説明する。図６は図５のステップＳ３３からの続きである。ステップＳ４１において、書き込み／消去動作終了後、フラッシュメモリコントローラ２０３０はフラッシュメモリ内部状態管理テーブル２０３２を参照して、ステップＳ４２において、その情報からフラッシュメモリ電源回路２０２０のベリファイ用電源回路２０２３が停止しているかすでに動作しているかを確認する。
【０１６３】
ステップＳ４２の判断でベリファイ用電源回路２０２３が停止している場合、ステップＳ４３に進んで、フラッシュメモリコントローラ２０３０は、フラッシュメモリ電源制御信号Ａ１によって、フラッシュメモリ電源回路２０２０に搭載されるベリファイ用電源回路２０２３を起動させる。フラッシュメモリ電源回路２０２０はベリファイ用電源回路２０２３を起動し、ステップＳ４４において、電源供給の準備が完了するまで待機する。
【０１６４】
やがて電源電圧の昇圧が完了し供給準備が整ったら、ステップＳ４５において、フラッシュメモリ電源回路２０２０はフラッシュメモリコントローラ２０３０にベリファイ用電源回路２０２３の電源準備完了信号Ａ２を出力する。
【０１６５】
次いでステップＳ４６において、フラッシュメモリコントローラ２０３０は、ベリファイ用の電源準備完了信号Ａ２を受け、フラッシュメモリ内部動作制御信号Ａ４によりフラッシュメモリ２０１２の内部動作を再開させ、また同時にフラッシュメモリ内部状態管理テーブル２０３２の現在アクセスしているフラッシュメモリ２０１２の状態を「書き込み」または「消去」から「書き込みベリファイ」または「消去ベリファイ」へ更新する。
【０１６６】
ここでは、ステップＳ４２の判断においてフラッシュメモリ２０１２はすでにベリファイ用電源回路２０２３が供給された状態になっているため、直ちにステップＳ４６でフラッシュメモリ内部動作制御信号Ａ４を受けた後、ステップＳ４７において、メモリセルアレイに対するデータ書き込み／消去ベリファイ動作が実行される。
【０１６７】
フラッシュメモリ２０１２は、メモリセルアレイに対するデータ書き込み／消去ベリファイ動作が終了すると、ステップＳ４８において、フラッシュメモリコントローラ２０３０に対してデータ書き込み／消去ベリファイ動作が終了したことを通知するためフラッシュメモリ割り込み通知信号Ａ３1を出力する。
【０１６８】
次いでステップＳ４９において、フラッシュメモリコントローラ２０３０は、フラッシュメモリ２０１２からフラッシュメモリ割り込み通知信号Ａ３1を受け取ると、フラッシュメモリ内部動作制御信号Ａ４によってフラッシュメモリ２０１２を一時停止させ、フラッシュメモリコントローラ２０３０はフラッシュメモリ内部状態管理テーブル２０３２を参照して、ステップＳ５０において、その情報から他に書き込み／消去ベリファイ中のフラッシュメモリ２０１２がないかどうか確認する。
【０１６９】
他に書き込み／消去ベリファイ動作中のフラッシュメモリ２０１２がなく、ベリファイ用電源回路２０２３を停止できると判断した場合、ステップＳ５１において、フラッシュメモリコントローラ２０３０は、フラッシュメモリ電源制御信号Ａ１によって、フラッシュメモリ電源回路２０２０に搭載されるベリファイ用電源回路２０２３を停止させ、ステップＳ５２でベリファイ用電源シーケンスを終了して、図５の書き込み／消去用電源シーケンスのステップＳ３４に戻る。
【０１７０】
ステップＳ５０の判断で他に書き込み／消去ベリファイ動作中のフラッシュメモリ２０１２があってベリファイ用電源回路２０２３を停止できない場合は、ステップＳ５１をスキップし、ステップＳ５２で直ちにベリファイ用電源シーケンスを終了して、図５の書き込み／消去用電源シーケンスのステップＳ３４に戻る。
【０１７１】
本実施例によれば、フラッシュメモリ内部状態通知信号Ａ３によってフラッシュメモリ２０１２の内部の動作をフラッシュメモリコントローラ２０３０が把握でき、内部の動作に従って外部電源の動作を制御することができるので、フラッシュメモリ２０１２が必要とする電源を効率良く供給することができ、システム全体の電力消費を下げることができる。
【０１７２】
《１１》［印加電圧通知（電源制御）］
本項は、上記の《１》〜《１０》に関連するものである。本項のフラッシュメモリコントローラは、次のような機能を有する印加電圧制御回路を備えている。その印加電圧制御回路は、フラッシュメモリ内部状態として、各フラッシュメモリに固有の、複数種類の処理実行用電源回路についての印加電圧情報を各フラッシュメモリからの通知により取得する。そして、取得した印加電圧情報に従って該当の処理実行用電源回路の動作を制御する。
【０１７３】
複数のフラッシュメモリの相互間には製造公差等に起因する個体差がある。個々のフラッシュメモリは、その複数種類の処理実行用電源回路のそれぞれにつき固有の印加電圧があり、各フラッシュメモリはその印加電圧情報を保有しているものとする。フラッシュメモリコントローラは、該当のフラッシュメモリへのアクセス時にそのフラッシュメモリから印加電圧情報を読み出して取得する。その印加電圧情報は該当の処理種類の処理実行用電源回路についてのものであり、また該当のフラッシュメモリに固有のものである。印加電圧制御回路は、取得した印加電圧情報に従って該当の処理実行用電源回路を制御するので、個体差のために必要とする最適な印加電圧が標準より低いフラッシュメモリに対しては、それに相応しい印加電圧となるように該当の処理実行用電源回路を制御し、また、個体差のために必要とする最適な印加電圧が標準より高いフラッシュメモリに対しては、それに相応しい印加電圧となるように該当の処理実行用電源回路を制御する。
【０１７４】
最適な印加電圧に個体差を伴う複数のフラッシュメモリに対して、同じ処理実行用電源回路を共用する形態であるにもかかわらず、個々のフラッシュメモリの特性に応じたきめの細かい電圧制御を行うので、消費電力の削減を一層シビアに向上させることが可能になる。
【０１７５】
《１２》本項は、上記の《１１》に関連する。
【０１７６】
本項での印加電圧制御回路は、同一の前記処理実行用電源回路の印加電圧情報を、複数の前記フラッシュメモリから取得したときは、それら印加電圧情報が示す複数の印加電圧のうちで最も高い印加電圧となるように、前記同一の処理実行用電源回路の動作を制御するように構成されている。
【０１７７】
フラッシュメモリ電源回路における複数種類の処理実行用電源回路のそれぞれは、メモリブロックにおける複数のフラッシュメモリに共用される。さらに、各処理実行用電源回路は、処理種類が同じであれば同時に２以上のフラッシュメモリに給電を行うことがある。そして、あるフラッシュメモリの最適な印加電圧と別のフラッシュメモリに最適な印加電圧とが相違することがある。
【０１７８】
このような場合に、共用の処理実行用電源回路に対していずれのレベルの印加電圧を供給すべきかが問題となる。本項は、２以上のフラッシュメモリから送られてくる印加電圧情報が示す複数の印加電圧のうち最も高い印加電圧を採用する。こうすることで、同時動作の複数のフラッシュメモリへの供給電圧がいずれも不足するということがなくなる。これは、印加電圧が不足することに起因する動作不良に比べて、印加電圧を高めとするときの影響の方がよりましであるという考え方に立脚している。これを別の角度から見ると、各処理実行用電源回路は、給電対象のフラッシュメモリが複数でなく単一の場合には、そのフラッシュメモリに最適な印加電圧を採用するもので、それは処理実行用電源回路が採り得る複数レベルの印加電圧のうち、該当のフラッシュメモリに最も相応しいもので、過剰に高い印加電圧ではないということになる。このような制御方式も、消費電力の削減を一層シビアに向上させる上で有効に作用する。
【０１７９】
上記の《１１》，《１２》の構成の具体例を実施例２として以下に説明する。
【０１８０】
＜実施例２＞
図７は本発明の実施例２の不揮発性記憶システムの構成を示すブロック図である。フラッシュメモリ２０１２のインフォメーションレジスタ２０１４が示す情報は、フラッシュメモリ２０１２の内部コントローラ（図示せず）が実行している動作状態（処処理種類）に加えて、さらに読み出し用電源電圧、書き込み／消去用電源電圧、ベリファイ用電源電圧の印加電圧情報を含む。これらの情報は、そのフラッシュメモリ２０１２が動作するために必要な各電源電圧を示している。個々のフラッシュメモリ２０１２ごとに最適な電源電圧情報がある。複数のフラッシュメモリの相互間には製造公差等に起因する個体差がある。
【０１８１】
印加電圧情報を通知する手段として印加電圧通知信号Ａ３2があり、これは直接フラッシュメモリコントローラ２０３０に接続されていてもよい。Ｔ６はフラッシュメモリ２０１２における印加電圧通知信号Ａ３2の出力端子である。
【０１８２】
本実施例のフラッシュメモリコントローラ２０３０は、さらに印加電圧制御回路２０３４を備えている。印加電圧制御回路２０３４は、フラッシュメモリ２０１２の印加電圧情報と現在の印加電圧とを比較し、どちらか高い方の値をフラッシュメモリ電源回路２０２０の各電源回路２０２１，２０２２，２０２３の印加電圧とする。
【０１８３】
図８のフローチャートに従って印加電圧制御シーケンスの動作を説明する。ステップＳ６１〜Ｓ６３は、実施例１の場合の図５のステップＳ２１〜Ｓ２３に相当する。書き込みシーケンスにおいて、書き込み／消去用電源回路２０２１が停止している場合、ステップＳ６４において、フラッシュメモリコントローラ２０３０は、フラッシュメモリ２０１２の内部状態読み出しコマンドを発行して、割り込み（ベリファイ終了時）のあったフラッシュメモリ２０１２の書き込み電源の印加電圧情報をフラッシュメモリ２０１２のインフォメーションレジスタ２０１４から読み出し、印加電圧制御回路２０３４に渡す。
【０１８４】
次いでステップＳ６５において、印加電圧制御回路２０３４は、その印加電圧情報に従って書き込み／消去用電源回路２０２１を起動する。ステップＳ７０〜Ｓ７３は、実施例１の場合の図５のステップＳ２５〜Ｓ２８に相当する。ステップＳ６３の判断で書き込み／消去用電源回路２０２１が動作している場合、ステップＳ６６において、フラッシュメモリコントローラ２０３０は、フラッシュメモリ２０１２の内部状態読み出しコマンドを発行して、割り込み（ベリファイ終了時）のあったフラッシュメモリ２０１２の書き込み電源の印加電圧情報をフラッシュメモリ２０１２のインフォメーションレジスタ２０１４から読み出し、印加電圧制御回路２０３４に渡す。
【０１８５】
次いでステップＳ６７において、印加電圧制御回路２０３４は、読み出した印加電圧情報と現在の書き込み／消去用電源回路２０２１の電圧とを比較する。次いでステップＳ６８の判断で、読み出した印加電圧情報の方が高い場合、ステップＳ６９において、その印加電圧情報に従って書き込み／消去用電源回路２０２１の電源電圧を変更し、次いでステップＳ７０に進む。
【０１８６】
ステップＳ６８で印加電圧制御回路２０３４は読み出した印加電圧情報と現在の書き込み／消去用電源回路２０２１の電圧とを比較し、読み出した印加電圧情報の方が低い場合、現在の書き込み／消去用電源回路２０２１の電源電圧を維持し、ステップＳ７２に進む。
【０１８７】
本実施例によれば、必要とする電源電圧が異なる複数のフラッシュメモリ２０１２を同時に動作させる場合に、それぞれのフラッシュメモリ２０１２の電源電圧をフラッシュメモリコントローラ２０３０が把握でき、外部電源の電圧を制御することができるので、余分な昇圧を行うことなく電源を効率良く供給することができ、システム全体の電力消費を下げることができる。
【０１８８】
《１３》［印加電圧通知（メモリ選択）］
本項は、上記の《１１》に関連する。前記したフラッシュメモリコントローラは、さらに、複数のフラッシュメモリから受け取った印加電圧情報を記憶しておくための印加電圧情報記憶部を有している。さらに、フラッシュメモリコントローラは、印加電圧情報記憶部に記憶されている印加電圧情報を参照して、選択対象のフラッシュメモリを決定するように構成されている。
【０１８９】
印加電圧情報記憶部は、すべてのフラッシュメモリについての印加電圧情報を保持しておくことが可能である。すなわち、現在アクセス対象のフラッシュメモリについてだけでなく、他のフラッシュメモリについても、また現在スタンバイ状態にあるフラッシュメモリの過去（直前）の印加電圧情報も保持しておくことが可能である。これらの印加電圧情報は、複数種類の処理実行用電源回路のそれぞれについての印加電圧情報を含むことが可能である。
【０１９０】
フラッシュメモリコントローラにホストなどからの動作指令があったときに、複数のフラッシュメモリのうちどのフラッシュメモリをアクセス対象に選択するかが問題となる。このアクセス対象のフラッシュメモリの選択において、印加電圧情報記憶部におけるすべてのフラッシュメモリのすべての処理種類の処理実行用電源回路にかかわる印加電圧情報を参照して、１つのアクセス対象のフラッシュメモリを決定することにすれば、消費電力の削減を図る上で大いに寄与することが可能になる。
【０１９１】
《１４》本項は、上記の《１３》に関連する。
【０１９２】
前記したフラッシュメモリコントローラは、複数のフラッシュメモリのうち空き状態にあってアクセス対象候補のフラッシュメモリが複数ある場合に、印加電圧情報記憶部に記憶されている印加電圧情報を参照して、選択対象のフラッシュメモリとして印加電圧が最も低いフラッシュメモリに決定するように構成されている。
【０１９３】
空き状態にある複数のアクセス対象候補のフラッシュメモリの中から印加電圧が最も低いフラッシュメモリを選択対象のフラッシュメモリに決定すれば、同じ処理種類の処理を実行するのに、より少ない電力で実行することが可能になる。このように複数の印加電圧を相互比較できるのも、印加電圧情報記憶部にすべてのフラッシュメモリから受け取ったすべての処理種類の処理実行用電源回路の印加電圧情報を記憶しておくことができるからである。印加電圧が最も低いフラッシュメモリを採用するので、消費電力削減の一層シビアな向上が可能となる。
【０１９４】
上記の《１３》，《１４》の構成の具体例を実施例３として以下に説明する。
【０１９５】
＜実施例３＞
図９は本発明の実施例３の不揮発性記憶システムの構成を示すブロック図である。フラッシュメモリコントローラ２０３０のフラッシュメモリ内部状態管理テーブル２０３２に、フラッシュメモリ２０１２ごとの印加電圧情報を記憶する印加電圧情報記憶部２０３３をさらに備える。印加電圧情報の収集は、システム起動時にすべてのフラッシュメモリ２０１２に対して内部状態読み出しコマンドを発行して、フラッシュメモリ内部状態管理テーブル２０３２に登録してもよいし、一度アクセスしたフラッシュメモリ２０１２の印加電圧情報を、その都度フラッシュメモリ内部状態管理テーブル２０３２の印加電圧情報記憶部２０３３に記憶してもよい。
【０１９６】
本実施例では、システム起動時に一度に印加電圧情報を読み出す場合の例で説明する。図１０のフローチャートに従ってフラッシュメモリ選択の動作を説明する。
【０１９７】
ステップＳ８１において、不揮発性記憶システムの電源が入ってフラッシュメモリコントローラ２０３０が起動する。次いでステップＳ８２において、フラッシュメモリコントローラ２０３０は、接続されているすべてあるいは一部のフラッシュメモリ２０１２に対して内部状態読み出しコマンドを発行して、フラッシュメモリ２０１２のインフォメーションレジスタ２０１４から印加電圧情報を読み出す。
【０１９８】
次いでステップＳ８３において、読み出された印加電圧情報は、フラッシュメモリ内部状態管理テーブル２０３２の印加電圧情報記憶部２０３３に記憶される。
【０１９９】
次いでステップＳ８４でホストから書き込み要求があった場合、ステップＳ８５において、フラッシュメモリコントローラ２０３０は、データ書き込みが可能な空き領域をもつフラッシュメモリ２０１２を選択することになる。
【０２００】
選択対象のフラッシュメモリ２０１２が複数ある場合、ステップＳ８６のように、フラッシュメモリコントローラ２０３０は、それらのフラッシュメモリ２０１２の印加電圧情報記憶部２０３３を参照して、フラッシュメモリ２０１２の印加電圧情報を読み出す。
【０２０１】
次いでステップＳ８７において、フラッシュメモリコントローラ２０３０はそれらの印加電圧情報を比較し、選択対象のフラッシュメモリ２０１２の中で最も印加電圧が低いフラッシュメモリ２０１２を選択する。
【０２０２】
次いでステップＳ８８において、フラッシュメモリコントローラ２０３０は選択したフラッシュメモリ２０１２に処理の実行の命令を発行する。
【０２０３】
本実施例によれば、フラッシュメモリ２０１２が求める印加電圧情報をあらかじめ印加電圧情報記憶部２０３３に記憶しておき、記憶した複数のフラッシュメモリ２０１２の印加電圧情報の比較を通じて印加電圧の低いフラッシュメモリ２０１２を優先的に選択するので、フラッシュメモリ電源回路２０２０の昇圧動作を抑え、システム全体の電力消費を下げることができる。
【０２０４】
《１５》［印加電圧通知（複数メモリ選択）］本項は、上記の《１４》に関連する。
【０２０５】
複数のフラッシュメモリに対して同時並行的にアクセスすることになる場合を想定する。複数のフラッシュメモリは、同じ処理実行用電源回路から給電されるものとする。このような場合に、前記フラッシュメモリコントローラは、印加電圧情報記憶部に記憶されている印加電圧情報を参照して、選択対象のフラッシュメモリとして互いに印加電圧の差がより少ないフラッシュメモリどうしを優先して決定するように構成されている。
【０２０６】
理解を容易にするため、一例を挙げて説明する。いま、２つのフラッシュメモリに対して同時にアクセスしようとするときに、アクセス対象候補のフラッシュメモリが３つあるとする。第１のフラッシュメモリと第２のフラッシュメモリの印加電圧の差がΔＥ１２、第２のフラッシュメモリと第３のフラッシュメモリの印加電圧の差がΔＥ２３、第３のフラッシュメモリと第１のフラッシュメモリの印加電圧の差がΔＥ３１とする。この３つの印加電圧の差ΔＥ１２，ΔＥ２３，ΔＥ３１のうち、ΔＥ１２が最も小さいときは第１のフラッシュメモリと第２のフラッシュメモリとの組み合わせで決定し、ΔＥ２３が最も小さいときは第２のフラッシュメモリと第３のフラッシュメモリとの組み合わせで決定し、ΔＥ３１が最も小さいときは第３のフラッシュメモリと第１のフラッシュメモリとの組み合わせで決定する。
【０２０７】
印加電圧の差が少ないフラッシュメモリどうしを優先的に組み合わせて選択することで、余分な昇圧を極力避けたかたちで制御し、電源を効率良く供給して、システム全体の電力消費を下げることが可能となる。
【０２０８】
上記の《１５》の構成の具体例を実施例４として以下に説明する。
【０２０９】
＜実施例４＞
図１１は本発明の実施例４の不揮発性記憶システムのフラッシュメモリ選択（複数選択）のシーケンスを示すフローチャートである。ステップＳ９１〜Ｓ９６およびステップＳ９８は、図１０におけるステップＳ８１〜Ｓ８６およびステップＳ８８と同じである。ステップＳ９７だけが相違している。
【０２１０】
実施例３と同様の構成で、ホストからの書き込み要求によってフラッシュメモリコントローラ２０３０が空き領域をもつフラッシュメモリ２０１２を選択することを前提とする。速度要求などでシステム構成上、複数のフラッシュメモリ２０１２に対して並行的に書き込みや消去を実行しなければならない場合、実施例３と同様にフラッシュメモリコントローラ２０３０は、選択対象のフラッシュメモリ２０１２の印加電圧情報記憶部２０３３を参照してフラッシュメモリ２０１２の印加電圧情報を読み出す。
【０２１１】
ステップＳ９７において、フラッシュメモリコントローラ２０３０は印加電圧情報を比較し、選択対象のフラッシュメモリ２０１２の中で印加電圧の差が少ないフラッシュメモリ２０１２どうしを優先的に組み合わせて選択する。
【０２１２】
本実施例によれば、あらかじめフラッシュメモリ２０１２への印加電圧情報を記憶しておき、印加電圧の差が少ないフラッシュメモリ２０１２どうしを優先的に組み合わせて選択することで、余分な昇圧を極力避けたかたちで制御でき、電源を効率良く供給して、システム全体の電力消費を下げることができる。
【０２１３】
《１６》［印加電圧通知］＊［ベリファイ回数通知（電源制御）］
本項は、上記の《１１》のフラッシュメモリコントローラに印加電圧制御回路を備えた不揮発性記憶システムに関連する。
【０２１４】
前記印加電圧制御回路は、フラッシュメモリ内部状態として各フラッシュメモリでのベリファイ回数情報を各フラッシュメモリからの通知により取得し、取得したベリファイ回数情報を加味して該当の処理実行用電源回路の動作を制御するように構成されている。ここでのベリファイ回数情報にかかわるベリファイは、書き込みベリファイと消去ベリファイの少なくともいずれか一方を含むものとする。ベリファイ回数情報は、フラッシュメモリ内部で書き込み／消去動作が完全に完了するまでに繰り返された書き込み／消去の回数を示すものである。
【０２１５】
ベリファイ回数が多いほど、そのフラッシュメモリには書き込み／消去が行いにくい劣化したまたは特性の良くないセルがより多く含まれている。このような劣化セル・不良特性セルを含むフラッシュメモリについては、その書き込み／消去に際して印加電圧を基準値よりもレベルアップすれば書き込み／消去の成功率が高くなる。そこで、ベリファイ回数情報を加味して印加電圧を調整する等してベリファイ回数を減らす。これにより、結果的に電源供給している時間を短縮し、消費電力削減の一層シビアな向上が可能となる。
【０２１６】
《１７》本項は、上記の《１６》に関連する。
【０２１７】
フラッシュメモリコントローラにおける印加電圧制御回路は、取得した印加電圧情報に従って該当の処理実行用電源回路の動作を制御するに際して、取得した印加電圧を基準電圧として、［基準電圧］と［取得したベリファイ回数］と［あらかじめ設定した補正電圧］の演算で得られる補正された印加電圧で該当の処理実行用電源回路を制御するように構成されている。
【０２１８】
これによれば、ベリファイ回数の多さに応じて印加電圧の調整増加分を増やす等により、書き込み／消去の成功率も高いものとなる。その結果として、消費電力削減の一層シビアな向上が可能となる。
【０２１９】
なお、好ましい演算式の代表例に、［基準電圧］＋［取得したベリファイ回数］×［あらかじめ設定した補正電圧］の演算がある。これは一例であって、広義にはベリファイ回数の関数で表すことのできる電圧発生方法となる。
【０２２０】
上記の《１６》，《１７》の構成の具体例を実施例５として以下に説明する。
【０２２１】
＜実施例５＞
図１２は本発明の実施例５の不揮発性記憶システムの構成を示すブロック図である。フラッシュメモリ２０１２のインフォメーションレジスタ２０１４が示す情報は、フラッシュメモリ２０１２の内部コントローラ（図示せず）が実行している動作状態と、読み出し用電源電圧、書き込み／消去用電源電圧、ベリファイ用電源電圧の印加電圧情報に加えて、さらにベリファイ回数情報を含んでいる。ベリファイ回数情報は、そのフラッシュメモリ２０１２が書き込み／消去動作をした際に正しく書き込み／消去できたかを確認するための読み出し動作が行われた回数を示している。ベリファイ回数情報は、書き込みベリファイ情報であれば書き込み単位毎、消去ベリファイ情報であれば消去単位ごとに情報をもち、フラッシュメモリ２０１２側で前回書き込み／消去が実施された際に記録として残している。ベリファイ回数情報はインフォメーションレジスタ２０１４ではなく、フラッシュメモリ２０１２の冗長領域などに書き込まれていてもよい。
【０２２２】
ベリファイ回数情報を通知する手段としては、ベリファイ回数通知信号Ａ３3として直接フラッシュメモリコントローラ２０３０と接続されていてもよい。Ｔ７はフラッシュメモリ２０１２におけるベリファイ回数通知信号Ａ３3の出力端子である。
【０２２３】
図１３のフローチャートに従って印加電圧制御シーケンスの動作を説明する。ステップＳ１０１〜Ｓ１０３は、実施例２の場合の図８のステップＳ６１〜Ｓ６３に相当する。ステップＳ１０９，Ｓ１１１，Ｓ１１２，Ｓ１１３，Ｓ１１４は、それぞれ図８のステップＳ６８，Ｓ７０，Ｓ７１，Ｓ７２，Ｓ７３に相当する。
【０２２４】
ステップＳ１０３の判断で書き込み／消去用電源回路２０２１が停止している場合、ステップＳ１０４において、フラッシュメモリコントローラ２０３０は、フラッシュメモリ２０１２の内部状態読み出しコマンドを発行して、割り込みのあったフラッシュメモリ２０１２の書き込み電源の印加電圧情報と、書き込み単位でのベリファイ回数情報を読み出す。
【０２２５】
次いでステップＳ１０５において、印加電圧制御回路２０３４はその印加電圧情報を基準電圧として、発生電圧としては、［基準電圧］＋［ベリファイ回数］×［補正電圧］を設定して、書き込み／消去用電源回路２０２１を起動する。ここで補正電圧はあらかじめフラッシュメモリコントローラ２０３０側で設定した固定値である。
【０２２６】
なお、補正電圧については、あらかじめ仕様で決めている値をフラッシュメモリコントローラ２０３０がもっていてもよいし、フラッシュメモリ２０１２側がそのようなデータをもっていて、システム起動時にフラッシュメモリコントローラ２０３０側から読み出して使用するものでもよい。本例の発生電圧の計算方法は一例であって、広義にはベリファイ回数の関数で表すことのできる電圧発生方法となる。
【０２２７】
書き込みシーケンスにおいて書き込み／消去用電源回路２０２１が動作している場合、ステップＳ１０６において、フラッシュメモリコントローラ２０３０は、フラッシュメモリ２０１２の内部状態読み出しコマンドを発行して、割り込みのあったフラッシュメモリ２０１２の書き込み電源の印加電圧情報と、書き込み単位でのベリファイ回数情報を読み出す。
【０２２８】
次いでステップＳ１０７において、印加電圧制御回路２０３４は、印加電圧情報を基準電圧として、発生電圧としては、［基準電圧］＋［ベリファイ回数］×［補正電圧］を設定する。
【０２２９】
次いでステップＳ１０８において、その設定電圧と現在の書き込み／消去用電源回路２０２１の電圧とを比較し、ステップＳ１０９で設定電圧の方が高い場合、ステップＳ１１０において、その設定電圧に従って書き込み／消去用電源回路２０２１の電源電圧を変更する。
【０２３０】
一方、印加電圧制御回路２０３４は、設定電圧と現在の書き込み／消去用電源回路２０２１の電圧とを比較し、設定電圧の方が低い場合、ステップＳ１１３において、現在の書き込み／消去用電源回路２０２１の電源電圧を維持する。
【０２３１】
本実施例によれば、ベリファイ回数が多いほど書き込み／消去しにくい劣化または特性の良くないセルが含まれており、あらかじめそのようなセルへの書き込み／消去に対して、書き込み／消去用電圧を［ベリファイ回数］×［補正電圧］分高く設定することで書き込みやすくし、ベリファイ回数を減らすことで、結果的に電源供給している時間を短縮することができるため、システム全体の電力消費を下げることができる。
【０２３２】
《１８》［印加電圧通知］＊［ベリファイ回数通知］＊［パルス幅／間隔通知（メモリ選択）］
上記の《１６》の構成において、前記フラッシュメモリコントローラは、さらに、印加時間情報を記憶しておく印加時間情報記憶部を備えている。印加時間情報は、次のようにして求められる。複数のフラッシュメモリからベリファイ回数情報を受け取るとともに、書き込み／消去動作の電圧印加のパルス幅およびパルス間隔の情報を受け取る。そして、ベリファイ回数情報と電圧印加のパルス幅およびパルス間隔の情報との演算に基づいて印加時間情報を得る。この印加時間情報を印加時間情報記憶部に記憶させておく。フラッシュメモリコントローラは、印加時間情報記憶部に記憶されている印加時間情報を参照して選択対象のフラッシュメモリを決定する。
【０２３３】
この構成によれば、電圧印加のパルス幅およびパルス間隔の情報はフラッシュメモリ側で管理され、ベリファイ回数情報とともにフラッシュメモリコントローラ側に送られる。フラッシュメモリコントローラでは、受け取った電圧印加のパルス幅およびパルス間隔とベリファイ回数とから印加時間を算出する。書き込み／消去動作の電圧印加のパルス幅およびパルス間隔は、ベリファイ動作を含めて書き込み／消去動作の１サイクルに相当する。この１サイクルとベリファイ回数とから、実際に書き込み／消去動作に要した実質の印加時間が得られる。得られた印加時間情報はベリファイ回数・パルス幅・間隔とともに印加時間情報記憶部に記憶される。印加時間情報記憶部は、すべてのフラッシュメモリについてのこれらの情報を保持しておくことが可能である。
【０２３４】
フラッシュメモリコントローラにホストなどからの動作指令があったときに、複数のフラッシュメモリのうちどのフラッシュメモリをアクセス対象に選択するかが問題となる。このアクセス対象のフラッシュメモリの選択において、印加時間情報記憶部におけるすべてのフラッシュメモリの印加時間情報を参照して、１つのアクセス対象のフラッシュメモリを決定することにすれば、消費電力の削減を図る上で大いに寄与することが可能になる。
【０２３５】
《１９》上記の《１８》の構成において、前記フラッシュメモリコントローラは、複数のフラッシュメモリのうち空き状態にあってアクセス対象候補のフラッシュメモリが複数ある場合には、前記印加時間情報記憶部に記憶されている前記印加時間情報を参照して、印加時間が最も短いフラッシュメモリを選択するように構成されている。
【０２３６】
空き状態にある複数のアクセス対象候補のフラッシュメモリの中から印加時間が最も短いフラッシュメモリを選択対象のフラッシュメモリに決定すれば、同じ処理種類の処理を実行するのに、より少ない電力で実行することが可能になる。このように複数の印加時間を相互比較できるのも、印加時間情報記憶部にすべてのフラッシュメモリの印加時間情報を記憶しておくことができるからである。印加時間が最も短いフラッシュメモリを採用し、処理実行用電源回路の動作時間を極力抑えるので、消費電力削減の一層シビアな向上が可能となる。
【０２３７】
上記の《１８》，《１９》の構成の具体例を実施例６として以下に説明する。
【０２３８】
＜実施例６＞
図１４は本発明の実施例６の不揮発性記憶システムの構成を示すブロック図である。フラッシュメモリ２０１２のインフォメーションレジスタ２０１４が示す情報は、フラッシュメモリ２０１２の内部コントローラ（図示せず）が実行している動作状態と、読み出し用電源電圧、書き込み／消去用電源電圧、ベリファイ用電源電圧の印加電圧情報、ベリファイ回数情報に加えて、さらにパルス幅／間隔情報を含む。パルス幅情報とは、書き込みまたは消去を実行する際に、実際に書き込み用電源が印加されている区間の長さの情報であり、パルス間隔情報とは、次の書き込みが実行されるまでの間隔、すなわち書き込みベリファイまたは消去ベリファイ区間の長さの情報である。
【０２３９】
パルス幅／間隔情報を通知する手段であるパルス幅／パルス間隔通知信号Ａ３4は、直接フラッシュメモリコントローラ２０３０に接続されていてもよい。Ｔ８はフラッシュメモリ２０１２におけるパルス幅／間隔通知信号の出力端子である。フラッシュメモリコントローラ２０３０のフラッシュメモリ内部状態管理テーブル２０３２は、フラッシュメモリ２０１２ごとのベリファイ回数情報とパルス幅／間隔情報とを記憶する印加時間情報記憶部２０３５をさらに備える。印加時間は、［パルス幅＋パルス間隔］×［ベリファイ回数］で算出される。印加時間情報は、書き込み情報であれば書き込み単位毎、消去情報であれば消去単位ごとに情報をもち、フラッシュメモリ２０１２側で前回書き込み／消去が実施された際に記録として残している。
【０２４０】
印加時間情報の収集は、システム起動時にフラッシュメモリ２０１２に対して内部状態読み出しコマンドを発行して、フラッシュメモリ内部状態管理テーブル２０３２に登録してもよいし、一度アクセスしたフラッシュメモリ２０１２の印加時間情報を、その都度フラッシュメモリ内部状態管理テーブル２０３２に記憶してもよい。
【０２４１】
実施例６ではシステム起動時に一度に印加時間情報を読み出す場合の例で説明する。図１５のフローチャートに従ってフラッシュメモリ選択の動作を説明する。ステップＳ１２１でフラッシュ不揮発性記憶システムの電源が入ってフラッシュメモリコントローラ２０３０が起動すると、ステップＳ１２２において、フラッシュメモリコントローラ２０３０は接続されているすべてあるいは一部のフラッシュメモリ２０１２に対して内部状態読み出しコマンドを発行して、フラッシュメモリ２０１２のインフォメーションレジスタ２０１４から印加電圧情報とベリファイ回数情報とパルス幅／間隔情報を読み出す。
【０２４２】
次いでステップＳ１２３において、読み出された情報は、フラッシュメモリ内部状態管理テーブル２０３２の印加電圧情報記憶部２０３３および印加時間情報記憶部２０３５に記憶される。次にステップＳ１２４でホストから書き込み要求があった場合、ステップＳ１２５において、フラッシュメモリコントローラ２０３０はデータ書き込みが可能な空き領域をもつフラッシュメモリ２０１２を選択することになる。
【０２４３】
選択対象のフラッシュメモリ２０１２が複数ある場合、ステップＳ１２６のように、フラッシュメモリコントローラ２０３０は、それらのフラッシュメモリ２０１２の印加電圧情報記憶部２０３３と印加時間情報記憶部２０３５とを参照して、フラッシュメモリ２０１２の印加電圧情報と印加時間情報を読み出す。
【０２４４】
次いでステップＳ１２７において、フラッシュメモリコントローラ２０３０はそれらの印加時間情報を比較し、選択対象のフラッシュメモリ２０１２の中で印加時間が最も短いフラッシュメモリ２０１２を選択する。次いでステップＳ１２８において、印加電圧情報に従ってフラッシュメモリ電源回路２０２０を制御する。
【０２４５】
本実施例によれば、あらかじめベリファイ回数とパルス幅／間隔を読み出して印加時間情報を記憶しておき、印加時間の短いフラッシュメモリ２０１２を優先的に選択し、フラッシュメモリ電源回路２０２０の動作時間を抑えることで、システム全体の電力消費を下げることができる。
【０２４６】
《２０》［印加電圧通知］＊［ベリファイ回数通知］＊［パルス幅／間隔通知（複数メモリ選択）］
上記《１９》の構成において、前記フラッシュメモリコントローラは、複数のフラッシュメモリに同時並行状態でアクセスすることになる場合には、印加時間情報記憶部に記憶されている印加時間情報を参照して、同一の処理実行用電源回路から電源の供給を受けるフラッシュメモリとして、互いに印加時間の差がより少ないフラッシュメモリどうしを優先して選択するように構成されている。
【０２４７】
理解を容易にするため、一例を挙げて説明する。いま、２つのフラッシュメモリに対して同時にアクセスしようとするときに、アクセス対象候補のフラッシュメモリが３つあるとする。第１のフラッシュメモリと第２のフラッシュメモリの印加時間の差がΔＴ１２、第２のフラッシュメモリと第３のフラッシュメモリの印加時間の差がΔＴ２３、第３のフラッシュメモリと第１のフラッシュメモリの印加時間の差がΔＴ３１とする。この３つの印加時間の差ΔＴ１２，ΔＴ２３，ΔＴ３１のうち、ΔＴ１２が最も小さいときは第１のフラッシュメモリと第２のフラッシュメモリとの組み合わせを選択し、ΔＴ２３が最も小さいときは第２のフラッシュメモリと第３のフラッシュメモリとの組み合わせを選択し、ΔＴ３１が最も小さいときは第３のフラッシュメモリと第１のフラッシュメモリとの組み合わせを選択する。
【０２４８】
印加時間の差が少ないフラッシュメモリどうしを優先的に組み合わせて選択することで、余分な印加時間を費やすことなく、電源を効率良く供給することができ、システム全体の電力消費を下げることができる。
【０２４９】
上記の《２０》の構成の具体例を実施例７として以下に説明する。
【０２５０】
＜実施例７＞
図１６は本発明の実施例７の不揮発性記憶システムのフラッシュメモリ選択（複数選択）のシーケンスを示すフローチャートである。ステップＳ１３１〜Ｓ１３６およびＳ１３８は、図１５におけるステップＳ１２１〜Ｓ１２６およびＳ１２８と同じである。ステップＳ１３６だけが相違している。
【０２５１】
実施例６と同様の構成で、ホストからの書き込み要求によってフラッシュメモリコントローラ２０３０が空き領域をもつフラッシュメモリ２０１２を選択することを前提とする。速度要求などでシステム構成上、複数のフラッシュメモリ２０１２に対して並行的に書き込みや消去を実行しなければならない場合、実施例６と同様に、フラッシュメモリコントローラ２０３０は、選択対象のフラッシュメモリ２０１２の印加電圧情報記憶部２０３３と印加時間情報記憶部２０３５を参照してフラッシュメモリ２０１２の印加電圧情報と印加時間情報を読み出す。
【０２５２】
ステップＳ１３７において、フラッシュメモリコントローラ２０３０は印加時間情報を比較し、選択対象のフラッシュメモリ２０１２の中で印加時間の差が少ないフラッシュメモリ２０１２どうしを優先的に組み合わせて選択する。
【０２５３】
本実施例によれば、あらかじめフラッシュメモリ２０１２への印加時間情報を記憶しておき、印加時間の差が少ないフラッシュメモリ２０１２どうしを優先的に組み合わせて選択することで、余分な電圧印加時間を費やすことなく電源を効率良く供給することができ、システム全体の電力消費を下げることができる。
【０２５４】
《２１》［印加電圧通知］＊［ベリファイ回数通知］＊［パルス幅／間隔通知（パルス重なり回避）］
上記の《１８》の構成において、前記フラッシュメモリコントローラは、複数のフラッシュメモリに同時並行状態でアクセスすることになる場合には、印加時間情報記憶部に記憶されている印加時間情報を参照して、複数のフラッシュメモリの動作実行において互いにタイミングが重ならない状態で制御するように構成されている。
【０２５５】
フラッシュメモリコントローラが複数のフラッシュメモリに同時並行状態でアクセスする場合に、互いにタイミングが重ならない状態で複数のフラッシュメモリを制御する。これによれば、フラッシュメモリの消費電力ピークが過剰に高くなることを抑えることが可能で、その効率良い給電により、システム全体の電力消費を下げることが可能となる。
【０２５６】
上記の《２１》の構成の具体例を実施例８として以下に説明する。
【０２５７】
＜実施例８＞
図１７は本発明の実施例８の不揮発性記憶システムの機能説明図（書き込み／消去電圧特性図）である。実施例６と同様の構成で、ホストからの書き込み要求によってフラッシュメモリコントローラ２０３０が空き領域をもつフラッシュメモリ２０１２を選択することを前提とする。速度要求などでシステム構成上、複数のフラッシュメモリ２０１２に対して並行的に書き込みや消去を実行しなければならない場合、実施例６と同様に、フラッシュメモリコントローラ２０３０は、選択対象のフラッシュメモリ２０１２の印加電圧情報記憶部２０３３と印加時間情報記憶部２０３５を参照してフラッシュメモリ２０１２の印加電圧情報と印加時間情報を読み出す。
【０２５８】
フラッシュメモリコントローラ２０３０は、印加時間情報のパルス幅、パルス間隔、ベリファイ回数を比較する。ここで、図１７のように、選択したフラッシュメモリ２０１２の互いのパルス幅がパルス間隔より狭くなるようにして、ベリファイ回数繰り返す間にパルスが重ならない組み合わせの複数のフラッシュメモリ２０１２を選択し、書き込み／消去および書き込み／消去ベリファイ動作を互いにずらして実行させる。
【０２５９】
本実施例によれば、複数のフラッシュメモリ２０１２を動作させる場合に、それぞれの書き込み／消去パルスを重ねないように制御することで、フラッシュメモリ２０１２の消費電力ピークを抑えて電源を効率良く供給することができ、システム全体の電力消費を下げることができる。
【０２６０】
《２２》［負荷電力通知（電源制御）］
上記の《１》の構成において、互いに異なる電圧レベルの複数種類の処理実行用電源回路のそれぞれは、出力電力量が可変制御可能に構成されているものとする。前記複数のフラッシュメモリのそれぞれは、各フラッシュメモリに固有の複数種類の処理実行用電源回路が必要とする電力量である負荷電力情報をフラッシュメモリコントローラに通知するように構成されている。さらに、フラッシュメモリコントローラは、新たな構成要素として供給電力制御回路を有している。この供給電力制御回路は、受け取った負荷電力情報に基づいて該当の処理実行用電源回路における出力電力量を制御する。
【０２６１】
負荷電力情報に関係する処理実行用電源回路については、読み出し用電源回路と、書き込み／消去用電源回路と、ベリファイ用電源回路とのうちのいずれでもよいし、これらのうちから任意の２つ以上を選択して組み合わせたものでもよい。
【０２６２】
供給電力制御回路は、通知された負荷電力に従って該当の処理実行用電源回路の出力電力量を制御する。これにより、該当のフラッシュメモリには、そのフラッシュメモリが要求した最適な電力量の電源が正しく供給されることになる。その結果として、消費電力削減の一層シビアな向上が可能となる。
【０２６３】
《２３》上記《２２》の構成において、前記供給電力制御回路は、複数の前記フラッシュメモリから同一の処理実行用電源回路の負荷電力情報を取得したときには、取得した負荷電力情報が示す複数の負荷電力の総和以上の電力が前記同一の処理実行用電源回路に供給されるよう前記同一の処理実行用電源回路の動作を制御するように構成されている。
【０２６４】
複数のフラッシュメモリを同時並行状態で動作させるに当たり、その同時並行動作を賄うに足りる電力が、複数のフラッシュメモリを駆動する同一の処理実行用電源回路に供給されることになる。これは結果として、消費電力削減に寄与することになる。
【０２６５】
上記の《２２》，《２３》の構成の具体例を実施例９として以下に説明する。
【０２６６】
＜実施例９＞
図１８は本発明の実施例９の不揮発性記憶システムの構成を示すブロック図である。フラッシュメモリ２０１２のインフォメーションレジスタ２０１４が示す情報は、フラッシュメモリ２０１２の内部コントローラ（図示せず）が実行している動作状態に加えて、さらに読み出し用電源電圧、書き込み／消去用電源電圧、ベリファイ用電源電圧の負荷電力情報を含む。これらの情報は、そのフラッシュメモリ２０１２が動作するのに必要な電力量を示している。個々のフラッシュメモリ２０１２ごとに最適な電源電圧情報がある。複数のフラッシュメモリの相互間には製造公差等に起因する個体差がある。
【０２６７】
負荷電力情報を通知する手段として負荷電力通知信号Ａ３5があり、これは直接フラッシュメモリコントローラ２０３０と接続されていてもよい。Ｔ９はフラッシュメモリ２０１２における負荷電力通知信号Ａ３5の出力端子である。
【０２６８】
フラッシュメモリコントローラ２０３０は、さらに供給電力制御回路２０３６を備えている。供給電力制御回路２０３６は、フラッシュメモリ２０１２の負荷電力情報と現在の供給電力とを比較し、供給電力が負荷電力を上回るように、フラッシュメモリ電源回路２０２０の各電源回路２０２１，２０２２，２０２３の供給電力を制御する。
【０２６９】
図１９は本発明の実施例９の不揮発性記憶システムの負荷電力制御シーケンスを示すフローチャートである。ステップＳ１４１〜Ｓ１４３は、実施例５の場合の図１３のステップＳ１０１〜Ｓ１０３に相当する。ステップＳ１５０〜Ｓ１５３は、図１３のステップＳ１１１〜Ｓ１１４に相当する。
【０２７０】
ステップＳ１４３の判断で書き込み／消去用電源回路２０２１が停止している場合、ステップＳ１４４において、フラッシュメモリコントローラ２０３０は、フラッシュメモリ２０１２の内部状態読み出しコマンドを発行して、割り込み（ベリファイ終了時）のあったフラッシュメモリ２０１２の書き込み電源の負荷電力情報を読み出す。
【０２７１】
次いでステップＳ１４５において、供給電力制御回路２０３６はその負荷電力情報よりも供給電力を大きく設定して、書き込み／消去用電源回路２０２１を起動する。
【０２７２】
一方、ステップＳ１４３の判断で書き込み／消去用電源回路２０２１が動作している場合、ステップＳ１４６において、フラッシュメモリコントローラ２０３０は、フラッシュメモリ２０１２の内部状態読み出しコマンドを発行して、割り込み（ベリファイ終了時）のあったフラッシュメモリ２０１２の書き込み電源の負荷電力情報を読み出す。
【０２７３】
次いでステップＳ１４７において、供給電力制御回路２０３６は、読み出した負荷電力情報と現在の負荷電力情報とを合計し、現在の書き込み／消去用電源回路２０２１の供給電力とを比較する。
【０２７４】
次いでステップＳ１４８の判断で、負荷電力情報の合計の方が大きい場合、ステップＳ１４９において、その負荷電力情報よりも供給電力を大きくするように書き込み／消去用電源回路２０２１の供給電力を変更する。
【０２７５】
一方、供給電力制御回路２０３６は、読み出した負荷電力情報と現在の負荷電力情報とを合計し、現在の書き込み／消去用電源回路２０２１の供給電力とを比較し、負荷電力情報の合計の方が小さい場合、ステップＳ１５２において、現在の書き込み／消去用電源回路２０２１の供給電力を維持する。
【０２７６】
本実施例によれば、フラッシュメモリ２０１２が消費する負荷電力情報を通知することで、必要な電力だけを外部電源から供給することができるので、電源を効率良く供給することができ、システム全体の電力消費を下げることができる。
【０２７７】
《２４》［負荷電力通知（メモリ選択）］
上記の《２２》の構成において、前記フラッシュメモリコントローラは、さらに、複数のフラッシュメモリから受け取った負荷電力情報を記憶しておくための負荷電力情報記憶部を有している。フラッシュメモリコントローラは、負荷電力情報記憶部に記憶されている負荷電力情報を参照して選択対象のフラッシュメモリを決定する。
【０２７８】
負荷電力情報はフラッシュメモリ側で管理され、フラッシュメモリコントローラ側に送られる。フラッシュメモリコントローラでは、受け取った負荷電力情報は負荷電力情報記憶部に記憶される。負荷電力情報記憶部は、すべてのフラッシュメモリについての負荷電力情報を保持しておくことが可能である。
【０２７９】
フラッシュメモリコントローラにホストなどからの動作指令があったときに、複数のフラッシュメモリのうちどのフラッシュメモリをアクセス対象に選択するかが問題となる。このアクセス対象のフラッシュメモリの選択において、負荷電力情報記憶部におけるすべてのフラッシュメモリの負荷電力情報を参照して、１つのアクセス対象のフラッシュメモリを決定することにすれば、消費電力の削減を図る上で大いに寄与することが可能になる。
【０２８０】
《２５》上記の《２４》の構成において、前記フラッシュメモリコントローラは、複数のフラッシュメモリのうち空き状態にあってアクセス対象候補のフラッシュメモリが複数ある場合には、負荷電力情報記憶部に記憶されている負荷電力情報を参照して、選択対象のフラッシュメモリとして負荷電力が最も低いフラッシュメモリに決定するように構成されている。
【０２８１】
空き状態にある複数のアクセス対象候補のフラッシュメモリの中から負荷電力が最も低いフラッシュメモリを選択対象のフラッシュメモリに決定すれば、同じ種類の処理を実行するのに、より少ない電力で実行することが可能になる。このように複数の負荷電力を相互比較できるのも、負荷電力情報記憶部にすべてのフラッシュメモリの負荷電力情報を記憶しておくことができるからである。負荷電力が最も低いフラッシュメモリを採用するので、消費電力削減の一層シビアな向上が可能となる。
【０２８２】
上記の《２４》，《２５》の構成の具体例を実施例１０として以下に説明する。
【０２８３】
＜実施例１０＞
図２０は本発明の実施例１０の不揮発性記憶システムの構成を示すブロック図である。フラッシュメモリコントローラ２０３０のフラッシュメモリ内部状態管理テーブル２０３２に、フラッシュメモリ２０１２ごとの負荷電力情報を記憶する負荷電力情報記憶部２０３７をさらに備える。負荷電力情報の収集は、システム起動時にすべてのフラッシュメモリ２０１２に対して内部状態読み出しコマンドを発行して、負荷電力情報記憶部２０３７に登録してもよいし、一度アクセスしたフラッシュメモリ２０１２の負荷電力情報を、その都度負荷電力情報記憶部２０３７に記憶してもよい。ここでは、システム起動時に一度に負荷電力情報を読み出す場合の例で説明する。
【０２８４】
図２１のフローチャートに従ってフラッシュメモリ選択の動作を説明する。ステップＳ１６１において、不揮発性記憶システムの電源が入ってフラッシュメモリコントローラ２０３０が起動する。次いでステップＳ１６２において、フラッシュメモリコントローラ２０３０は接続されているすべてあるいは一部のフラッシュメモリ２０１２に対して内部状態読み出しコマンドを発行して、フラッシュメモリ２０１２のインフォメーションレジスタ２０１４から負荷電力情報を読み出す。
【０２８５】
次いでステップＳ１６３において、読み出された負荷電力情報は、フラッシュメモリ内部状態管理テーブル２０３２の負荷電力情報記憶部２０３７に記憶される。次いでステップＳ１６４でホストから書き込み要求／消去があった場合、ステップＳ１６５において、フラッシュメモリコントローラ２０３０は、データ書き込みが可能な空き領域をもつフラッシュメモリ２０１２を選択することになる。
【０２８６】
選択対象のフラッシュメモリ２０１２が複数ある場合、ステップＳ１６６のように、フラッシュメモリコントローラ２０３０は、それらのフラッシュメモリ２０１２の負荷電力情報記憶部２０３７を参照して、フラッシュメモリ２０１２の負荷電力情報を読み出す。次いでステップＳ１６７において、フラッシュメモリコントローラ２０３０はそれらの負荷電力情報を比較し、選択対象のフラッシュメモリ２０１２の中で最も負荷電力が小さいフラッシュメモリ２０１２を選択する。次いでステップＳ１６８において、フラッシュメモリコントローラ２０３０は選択したフラッシュメモリ２０１２に処理の実行の命令を発行する。
【０２８７】
本実施例によれば、フラッシュメモリ２０１２の負荷電力情報をあらかじめ負荷電力情報記憶部２０３７に記憶しておき、負荷電力の小さいフラッシュメモリ２０１２を優先的に選択するので、フラッシュメモリ電源回路の電力供給を抑え、システム全体の電力消費を下げることができる。
【０２８８】
《２６》［負荷電力通知（複数メモリ選択）］
上記の《２５》の構成において、フラッシュメモリコントローラは、複数のフラッシュメモリに対して同時並行状態でアクセスすることになる場合には、負荷電力情報記憶部２０３７に記憶されている負荷電力情報を参照して、同一の前記処理実行用電源回路から電源の供給を受けるフラッシュメモリとして、互いに負荷電力の和がより少ないフラッシュメモリどうしを優先して選択するように構成されている。
【０２８９】
理解を容易にするため、一例を挙げて説明する。いま、２つのフラッシュメモリに対して同時にアクセスしようとするときに、アクセス対象候補のフラッシュメモリが３つあるとする。第１のフラッシュメモリと第２のフラッシュメモリの負荷電力の和がＰ１２、第２のフラッシュメモリと第３のフラッシュメモリの負荷電力の和がＰ２３、第３のフラッシュメモリと第１のフラッシュメモリの負荷電力の和がＰ３１とする。この３つの負荷電力の和Ｐ１２，Ｐ２３，Ｐ３１のうち、Ｐ１２が最も小さいときは第１のフラッシュメモリと第２のフラッシュメモリとの組み合わせを選択し、Ｐ２３が最も小さいときは第２のフラッシュメモリと第３のフラッシュメモリとの組み合わせを選択し、Ｐ３１が最も小さいときは第３のフラッシュメモリと第１のフラッシュメモリとの組み合わせを選択する。
【０２９０】
負荷電力の和が少ないフラッシュメモリどうしを優先的に組み合わせて選択することで、余分な負荷電力を費やすことなく電源を効率良く供給することができ、システム全体の電力消費を下げることができる。
【０２９１】
上記の《２６》の構成の具体例を実施例１１として以下に説明する。
【０２９２】
＜実施例１１＞
図２２は本発明の実施例１１の不揮発性記憶システムの動作を示すフローチャートである。ステップＳ１７１〜Ｓ１７６およびＳ１７８は、図２１におけるステップＳ１６１〜Ｓ１６６およびＳ１６８と同じである。ステップＳ１７６だけが相違している。
【０２９３】
実施例１０と同様の構成で、ホストからの書き込み要求によってフラッシュメモリコントローラ２０３０が空き領域をもつフラッシュメモリ２０１２を選択することを前提とする。速度要求などでシステム構成上、複数のフラッシュメモリ２０１２に対して並行的に書き込みや消去を実行しなければならない場合、実施例１０と同様に、フラッシュメモリコントローラ２０３０は、選択対象のフラッシュメモリ２０１２の負荷電力情報記憶部２０３７を参照してフラッシュメモリ２０１２の負荷電力情報を読み出す。
【０２９４】
ステップＳ１７７において、フラッシュメモリコントローラ２０３０は負荷電力情報を比較し、選択対象のフラッシュメモリ２０１２の中で負荷電力の合計が最も小さいフラッシュメモリ２０１２どうしを優先的に組み合わせて選択する。
【０２９５】
本実施例によれば、あらかじめフラッシュメモリ２０１２への負荷電力情報を記憶しておき、負荷電力の合計が少ないフラッシュメモリ２０１２どうしを優先的に組み合わせて選択することで、電源を効率良く供給することができ、システム全体の電力消費を下げることができる。
【０２９６】
《２７》［負荷電力通知（タイミングずらし）］
上記の《２５》の構成において、前記フラッシュメモリコントローラは、複数のフラッシュメモリに同時並行状態でアクセスし、かつ複数の前記フラッシュメモリでの負荷電力の総和が処理実行用電源回路の給電能力を超える場合は、前記負荷電力情報記憶部に記憶されている前記負荷電力情報を参照して、複数の前記フラッシュメモリの動作実行において互いにタイミングが重ならない状態で制御するように構成されている。
【０２９７】
フラッシュメモリコントローラが複数のフラッシュメモリに同時並行的にアクセスする状態において、複数のフラッシュメモリでの負荷電力の総和が処理実行用電源回路の給電能力を超える場合には、互いにタイミングが重ならない状態で複数のフラッシュメモリを制御する。これによれば、フラッシュメモリの消費電力ピークが過剰に高くなることを抑えることが可能で、その効率良い給電により、システム全体の電力消費を下げることができる。
【０２９８】
上記の《２７》の構成の具体例を実施例１２として以下に説明する。
【０２９９】
＜実施例１２＞
図２３は本発明の実施例１２の不揮発性記憶システムの動作を示すフローチャートである。ステップＳ１８１〜Ｓ１８６は、図２２におけるステップＳ１７１〜Ｓ１７６と同じである。ステップＳ１８７〜Ｓ１８９が相違している。
【０３００】
実施例１０と同様の構成で、ホストからの書き込み要求によってフラッシュメモリコントローラ２０３０が空き領域をもつフラッシュメモリ２０１２を選択することを前提とする。速度要求などでシステム構成上、複数のフラッシュメモリ２０１２に同時並行状態で書き込みや消去を実行しなければならない場合、フラッシュメモリコントローラ２０３０は、選択対象のフラッシュメモリ２０１２の負荷電力情報記憶部２０３７を参照してフラッシュメモリ２０１２の負荷電力情報を読み出す。
【０３０１】
ステップＳ１８７において、フラッシュメモリコントローラ２０３０は負荷電力情報を比較する。すなわち、選択対象のフラッシュメモリ２０１２の負荷電力の合計が書き込み／消去用電源回路２０２１の最大供給電力を超えてしまう場合、ステップＳ１８８において、選択した複数のフラッシュメモリ２０１２の動作が重ならないように、順番に書き込み／消去を実行させる。また選択対象のフラッシュメモリ２０１２の負荷電力の合計が書き込み／消去用電源回路２０２１の最大供給電力を超えない場合、ステップＳ１８９において、選択した複数のフラッシュメモリ２０１２を同時に書き込み／消去する。
【０３０２】
本実施例によれば、あらかじめフラッシュメモリ２０１２からの負荷電力情報を記憶しておき、負荷電力が供給電力を超える場合、フラッシュメモリ２０１２を順番に動作させることで、システム全体の電力消費を下げることができる。
【０３０３】
《２８》［不良ビット数通知］
上記の《１》の構成において、前記フラッシュメモリコントローラは、複数のフラッシュメモリからベリファイ時の不良ビット数情報を受け取り、受け取った不良ビット数情報に従ってフラッシュメモリの処理の実行を制御するように構成されている。
【０３０４】
《２９》上記の《２８》の構成において、前記フラッシュメモリコントローラは、通知された不良ビット数が規定値以下になった場合に、直ちにフラッシュメモリの動作を停止させるように構成されている。
【０３０５】
一般的に不揮発性記憶システムは読み出しデータに対するエラー訂正機能をもっている。フラッシュメモリコントローラがその機能を果たすことが多い。したがって、書き込み時のエラーについては、必ずしもこれを常に完全にゼロとなるまで対応する必要はない。そこで、不良が発生し、ベリファイによって不良が矯正され、不良ビット数が減少して規定値以下になったときは、それ以上のベリファイ動作を処理しても、別の手立てで対応することができる。この考え方に基づいたもので、通知された不良ビット数が規定値以下になった場合に、直ちにフラッシュメモリの動作を停止させる。結果として、不必要な再書き込みの回数が低減し、消費電力削減の一層シビアな向上が可能となる。
【０３０６】
上記の《２８》，《２９》の構成の具体例を実施例１３として以下に説明する。
【０３０７】
＜実施例１３＞
図２４は本発明の実施例１３の不揮発性記憶システムの構成を示すブロック図である。フラッシュメモリ２０１２のインフォメーションレジスタ２０１４が示す情報は、フラッシュメモリ２０１２の内部コントローラ（図示せず）が実行している動作状態に加えて、不良ビット数情報を含む。不良ビット数情報とは、書き込みベリファイまたは消去ベリファイ時に正しく書き込みまたは消去できなかったビット数を示している。不良ビット情報を通知する手段としては、不良ビット数通知信号Ａ３6として直接フラッシュメモリコントローラ２０３０と接続されていてもよい。Ｔ１０はフラッシュメモリ２０１２における不良ビット数通知信号Ａ３6の出力端子である。
【０３０８】
図２５は本発明の実施例１３の不揮発性記憶システムの動作を示すフローチャートである。ステップＳ１９１の書き込み／消去用電源回路２０２１のシーケンスにおいて、ベリファイ用電源シーケンスが終了し、次いでステップＳ１９２において、フラッシュメモリコントローラ２０３０が内部状態読み出しコマンドを発行して、割り込みのあったフラッシュメモリ２０１２の内部状態を確認する際、ステップＳ１９３で不良ビット数情報を参照する。
【０３０９】
不良ビット数がある規定数Ｎより多ければ、ステップＳ１９７を経て、ステップＳ１９８の通常の書き込み／消去用電源シーケンスを継続する。もし不良ビット数がある規定数Ｎ以下であれば、ステップＳ１９４において、フラッシュメモリコントローラ２０３０はフラッシュメモリ２０１２の内部動作を再開させると同時に、リセットコマンドを発行し、フラッシュメモリ２０１２の内部動作を強制的にスタンバイ状態に移行させる。
【０３１０】
フラッシュメモリ２０１２はスタンバイ状態になると、ステップＳ１９５において、フラッシュメモリ割り込み通知信号Ａ３1をフラッシュメモリコントローラ２０３０へ出力する。
【０３１１】
次いでステップＳ１９６において、フラッシュメモリコントローラ２０３０は、フラッシュメモリ２０１２からフラッシュメモリ割り込み通知信号Ａ３1を受けて、フラッシュメモリ内部状態管理テーブル２０３２の現在アクセスしているフラッシュメモリ２０１２の状態を「書き込みベリファイ」または「消去ベリファイ」から「スタンバイ」へ更新する。
【０３１２】
不良ビット数の規定数Ｎの意味するところは、フラッシュメモリコントローラ２０３０側では読み出し時にエラー訂正機能をもっており、読み出し時のエラーを考慮した上で書き込み時のエラーがある程度許容できる範囲内であれば、書き込みを完了しても、読み出し時のエラーを回避できると判断できるため、不必要な再書き込みの回数を削減できる。
【０３１３】
不良ビット数の規定数Ｎは、あらかじめフラッシュメモリコントローラ２０３０のプログラムなどで定義したものを使用してもよいし、フラッシュメモリ２０１２ごとの冗長領域などに規定しておき、それをフラッシュメモリコントローラ２０３０側から都度読み出して使用してもよい。
【０３１４】
本実施例によれば、フラッシュメモリ２０１２の書き込み／消去ベリファイ時の不良ビット数をコントローラ側に通知することで、不必要な再書き込み／消去の回数を減らすことができるため、システム全体の電力消費を下げることができる。
【０３１５】
《３０》［複数の電源ブロック］
上記の《１》〜《２９》の構成において、前記フラッシュメモリ電源回路は、これを複数のグループに分割してもよい。この場合に、複数のフラッシュメモリも複数のグループに分割しておく。分割数はフラッシュメモリ電源回路とフラッシュメモリとで同じとする。第ｉ番目のグループのフラッシュメモリ群は第ｉ番目のグループのフラッシュメモリ電源回路に関連付ける。すなわち、各グループのフラッシュメモリは、互いに独立して各グループ単位のフラッシュメモリ電源回路に関連付けられている。フラッシュメモリの規模が一定以上に大きくなるときに、本項の技術は有用となる。
【０３１６】
《３１》上記の《３０》の構成において、前記フラッシュメモリコントローラは、複数のフラッシュメモリにアクセスする場合に、同じ電源を共有するグループのフラッシュメモリを優先して選択するように構成されている。
【０３１７】
同じ電源グループのフラッシュメモリを優先的に選択することで、使用していない電源グループのフラッシュメモリ電源回路を停止することができるため、システム全体の電力消費を下げることができる。
【０３１８】
上記の《３０》，《３１》の構成の具体例を実施例１４として以下に説明する。
【０３１９】
＜実施例１４＞
図２６は本発明の実施例１４の不揮発性記憶システムの構成を示すブロック図である。フラッシュメモリ電源回路２０２０を複数備え、フラッシュメモリ２０１２は複数のフラッシュメモリ電源回路２０２０ごとにグループ分けされた電源グループに接続されている。
【０３２０】
実施例１と同様にフラッシュメモリコントローラ２０３０は、フラッシュメモリ２０１２からのフラッシュメモリ内部状態通知信号Ａ３によって複数のフラッシュメモリ電源回路２０２０を制御する。またフラッシュメモリコントローラ２０３０は、システム構成としてどのフラッシュメモリ２０１２がどの電源グループに属しているかは知っていることとする。
【０３２１】
フラッシュメモリコントローラ２０３０が書き込み／消去を行う場合で、すでに他のフラッシュメモリ２０１２が動作中である場合、フラッシュメモリコントローラ２０３０はすでに動作しているフラッシュメモリ２０１２が属している電源グループの中から優先的に次に書き込み／消去対象となるフラッシュメモリ２０１２を選択する。
【０３２２】
またはフラッシュメモリコントローラ２０３０が書き込み／消去を行う場合で、速度要求などから複数のフラッシュメモリ２０１２に同時に書き込み／消去を行わなければならない場合、同じ電源グループの中の複数のフラッシュメモリ２０１２を選択する。
【０３２３】
本実施例によれば、複数のフラッシュメモリ電源回路２０２０によって電源グループを形成し、同じ電源グループのフラッシュメモリ２０１２を優先的に選択することで、使用していない電源グループのフラッシュメモリ電源回路２０２０を停止することができるため、システム全体の電力消費を下げることができる。
【０３２４】
＜実施例１５＞
フラッシュメモリを用いたストレージシステムのように、フラッシュメモリチップを多数使用するシステムにおいは、ストレージシステム動作の消費電力が課題となる。特に、プログラム性能を向上させるために、複数のフラッシュメモリチップに対して、同時にプログラム動作を実行させる場合に、その消費電流により、システムの電源や、放熱に対するコストが増大することになる。このため、フラッシュメモリ動作時の消費電流の削減が望まれる。
【０３２５】
例えば、２０Ｖ以上の高電圧を発生する昇圧回路は、電力効率が悪く、プログラム動作および消去動作において、メモリセルのしきい値を変更するのに要する電力の何倍もの電力を消費することになり、フラッシュメモリを用いたストレージシステムのように、フラッシュメモリチップを多数使用するシステムにおいは、昇圧回路をフラッシュメモリチップ毎に備えているため、複数チップに対して同時にプログラム動作および消去動を実行する時は、消費電力が膨大となり、システムにおける電源設計に支障をきたすことになる。
【０３２６】
このため、高電圧を発生する電源回路をフラッシュメモリチップの外部に設けることが、前述の先行例に開示されているが、フラッシュメモリに対するプログラムや消去動作は、コマンド入力により実行され、動作が完了したことを示す信号や、ステータスレジスタにより外部に通知するのみであった。したがって、プログラムや消去動作においては、動作開始から完了までの間、電源回路は常時最大電圧となる２０Ｖを発生する必要があった。
【０３２７】
これに対して、本実施例の不揮発性半導体記憶装置は、動作実行コマンドを受けて、内部のコントローラの動作シーケンスに応じて、外部電源回路の動作を制御することができるので、低消費動作が可能となり、ストレージシステムなど、不揮発性半導体記憶装置を多数用いるシステムに適用すると、システムの低消費電力化および、性能向上に極めて有用である。
【０３２８】
本実施例は、図２７に示すように、本発明の不揮発性半導体記憶装置の第１の構成例を示す。データを記憶するためのメモリセルアレイ１１０２は、メモリセルがアレイ状に配置されており、メモリセルのしきい値を変化させることにより情報を記憶している。プログラム動作によりメモリセルのしきい値を高く設定し、消去動作によりメモリセルのしきい値を低く設定することができる。メモリセルアレイ１１０２に対する読み出しおよび、プログラム動作においてはページ単位で、消去動作においてはブロック単位でアクセスがおこなわれる。
【０３２９】
ページは、ローデコーダ１１０４により選択される特定ワード線により指定され、読み出し動作においては、指定されるページのメモリセル記憶データが、センスアンプ１１０８により判定され、データレジスタ１１０９へ転送され、データレジスタ１１０９に転送されたデータは、カラムデコーダ１１０６により指定されるスタートポイントから順次入出力回路１１１２へと読み出され、入出力端子ＩＯへ出力される。
【０３３０】
データ書き込みにおいては、シリアルデータ入力モードを用いて、入出力端子ＩＯから入力されるデータを、カラムデコーダ１１０６により指定されるスタートポイントから順次データレジスタ１１０９へ取込み、オートプログラムモードにおいて、指定されるページに転送される。
【０３３１】
メモリセルアレイ１１０２に対する消去動作は、ローデコーダ１１０４により選択される複数のワード線により指定されるブロックに対して消去電圧が与えられ、ブロック内のメモリセルが消去状態に設定される。
【０３３２】
プログラム、消去などのフラッシュメモリ１１００に対する動作は、ＩＯ端子より入力される動作コマンドにより設定される。動作コマンドの一覧は図３２に示す。フラッシュメモリ１１００は、論理回路やセンスアンプ１１０８などに供給される３ＶなどのＶＣＣ電圧端子に加え、ＶＣＣよりも高い電圧を受け取るＶＰＰ１、ＶＰＰ２、ＶＰＰ３の高電圧電源端子を有している。このＶＰＰ１、ＶＰＰ２、ＶＰＰ３電源端子は、例えばプログラム／消去用電圧、ベリファイ用電圧、読み出し用電圧を受け取る。
【０３３３】
フラッシュメモリ１１００内部の回路ブロックは、ＶＰＰ１、ＶＰＰ２、ＶＰＰ３高電圧電源端子に与えられる電圧を用いるか、ＶＰＰ１、ＶＰＰ２、ＶＰＰ３高電圧電源端端子に与えられる電圧を受け、電圧発生回路１１３０により生成される電圧を用いて動作する。
【０３３４】
インフォメーションレジスタ１１３２は、フラッシュメモリ１１００がオートプログラムや、オートブロック消去のコマンドを受けて、コントローラ１１１６がプログラムや消去動作のシーケンスを実行するに際して、そのシーケンス実行状況を保持するためのものである。
【０３３５】
インフォメーションレジスタ１１３２へは、例えば図２８に示すように、実行中の動作モード、オートプログラムまたはオートブロック消去シーケンス実行時の電圧印加繰り返し回数（ベリファイ回数）、印加電圧値、印加パルス幅、印加パルス間隔、ベリファイ実行時のエラービット数等を情報としてセットする。
【０３３６】
この構成により、動作実行コマンドを受けて、内部のコントローラにより動作シーケンスを実行するフラッシュメモリにおいて、コントローラが生成する、内部の動作状態（インフォメーションレジスタの値）を外部へ知らせることが可能となるので、フラッシュメモリコントローラおよび、高電圧発生回路を備えたストレージシステムにおいて、フラッシュメモリ内部の動作状況に応じて、高電圧発生回路を制御することができ、フラッシュメモリ内部の動作に必要となる電圧発生回路のみを動作させ、内部動作に不要な電源回路を動作させることなく、不要な電流消費を抑制することができるので、システムの低消費動作化を実現することができる。また、フラッシュメモリ外部での高電圧発生回路に対して、フラッシュメモリの動作モードに応じた電圧発生制御が可能となり、ストレージシステムの低消費電力化が可能となる。
【０３３７】
図２９にオートプログラム実行時のシーケンス例を示している。オートプログラムコマンドを受けて、オートプログラムシーケンスが開始されると（１３０２）、プログラムのための動作としては、まずプログラムベリファイを実行する（１３１４）が、プログラムベリファイの実行をおこなうまでに、必要な設定をおこなう。
【０３３８】
まず、ステップ（１３０４）において、インフォメーションレジスタ１１３２に対して必要な情報をセットすると同時に、インフォメーションレジスタ１１３２の内容が変更されたことを外部へ示すために、インフォメーションレジスタ変更通知信号ＣＨＩを”Ｈ”に設定する。その後、フラッシュメモリが動作を実行中であることを示すレディー／ビジー信号ＲＹ／ＢＹ信号を”Ｌ”に設定する（１３０６）と同時に、ステータスレジスタ１１２２の内容を動作実行中であることを示す値にセットする（１３０８）。
【０３３９】
図３０にプログラムシーケンスにおけるインフォメーションレジスタ１１３２へセットされる内容を示している。プログラムシーケンスステップ（１３０４）においては、実行予定の動作がプログラムベリファイであり、繰り返し回数が０回目、ワード線への印加電圧が６Ｖ、であることを示す値がセットされている。
【０３４０】
ストレージシステムにおけるフラッシュメモリ１１００を制御するフラッシュメモリコントローラ（図２７には図示せず）は、フラッシュメモリ１１００が備えるインフォメーションレジスタ１１３２の内容が変更されたことを示すインフォメーションレジスタ変更通知信号ＣＨＩの変化を受けて、インフォメーションレジスタ１１３２の内容を読み出し、プログラムベリファイ動作に必要となる電圧を設定するよう制御する。
【０３４１】
これにより、フラッシュメモリ外部のフラッシュメモリコントローラに対して、内部の動作状態（インフォメーションレジスタの値）を読み出すべきタイミングを知らせることができ、フラッシュメモリコントローラに対するインターラプト信号として用いることができるので、フラッシュメモリコントローラの制御が容易となる。
【０３４２】
プログラムベリファイ実行に必要となる電圧が発生され、高電圧電源端子ＶＰＰ２へ与えられると、フラッシュメモリコントローラから、フラッシュメモリ内部動作制御信号Ａ４として、電圧が設定されたことを示す信号ＳＥＴが”Ｈ”に設定される。この時、他の高電圧電源端子ＶＰＰ１およびＶＰＰ３へ与えられ電源電圧は、フラッシュメモリ１１００内部で用いられることはないので、高電圧である必要はなく、例えばＶＣＣと同電位で良い。このため、フラッシュメモリ１１００外部でＶＰＰ１およびＶＰＰ３へ与えるための高電圧発生回路を動作させる必要はない。これにより、フラッシュメモリにおける動作シーケンスに応じたフラッシュメモリ外部での高電圧発生制御が可能となり、ストレージシステムにおいて、さらなる低消費電力化が可能となる。
【０３４３】
プログラムシーケンスステップ（１３１０）において、ＳＥＴ端子へ入力される信号が”Ｈ”に設定されることを確認している。”Ｈ”に設定されていなければ、ウェイト（１３１２）を介するループを回っており、ＳＥＴ信号が”Ｈ”に設定された時点で、プログラムベリファイ（１３１４）を実行し、その後のステップ（１３１６）において、インフォメーションレジスタ変更通知信号ＣＨＩを”Ｌ”に設定する。これにより、フラッシュメモリに内蔵するコントローラによる動作シーケンス制御のタイミングを判断することができるので、その制御が容易となる。
【０３４４】
ステップ（１３１８）では、プログラムベリファイにおいて、しきい値が目標に到達していないメモリセルのエラービット数を確認し、エラービット数がゼロであるか否かによってプログラムベリファイがパスしたかどうかを判定する。エラービットが存在し、プログラムベリファイがフェイルした場合には、プログラム動作をおこなうために、ステップ（１３２０）でインフォメーションレジスタ１１３２に対して、実行予定の動作がプログラムであり、繰り返し回数が１回目、ワード線への印加電圧が１０Ｖ、パルス幅が２０ｕｓ、パルス間隔が４０ｕｓ、以前のプログラムベリファイでのエラービット数が８１９２ビットであることを示す値をセットすると同時に、インフォメーションレジスタ変更通知信号ＣＨＩを”Ｈ”に設定する。
【０３４５】
インフォメーションレジスタ変更通知信号ＣＨＩの変化を受けて、フラッシュメモリコントローラは、インフォメーションレジスタ１１３２の内容を読み出し、プログラム動作に必要となる電圧を設定するよう制御する。プログラム動作に必要となる電圧が発生され、高電圧電源端子ＶＰＰ１へ与えられると、フラッシュメモリコントローラから、フラッシュメモリ内部動作制御信号Ａ４として、電圧が設定されたことを示す信号ＳＥＴが”Ｈ”に設定される。この時、他の高電圧電源端子ＶＰＰ２およびＶＰＰ３へ与えられ電源電圧は、フラッシュメモリ１１００内部で用いられることはないので、高電圧である必要はなく、例えばＶＣＣと同電位で良い。このため、フラッシュメモリ１００外部でＶＰＰ２およびＶＰＰ３へ与えるための高電圧発生回路を動作させる必要はない。
【０３４６】
プログラムシーケンスステップ（１３２２、１３２４）において、ＳＥＴ端子へ入力される信号が”Ｈ”に設定されることを確認し、”Ｈ”に設定された後にプログラム動作（１３２６）を実行した後に、ステップ（１３２８）において、インフォメーションレジスタ変更通知信号ＣＨＩを”Ｌ”に設定する。
【０３４７】
プログラム動作（１３２６）実行後には、プログラムベリファイを実行する必要があり、このため、ステップ（１３３０）において、インフォメーションレジスタ１１３２に対して、図３０（１３３０−１）に示すように、実行予定の動作がプログラムベリファイであり、繰り返し回数が１回目、ワード線への印加電圧が６Ｖ、であることを示す値をセットすると同時に、インフォメーションレジスタ変更通知信号ＣＨＩを”Ｈ”に設定する。
【０３４８】
フラッシュメモリコントローラが、インフォメーションレジスタ１１３２の内容が変更されたことを示すインフォメーションレジスタ変更通知信号ＣＨＩの変化を受けて、インフォメーションレジスタ１１３２の内容を読み出し、プログラムベリファイ動作に必要となる電圧を設定するよう制御し、高電圧電源端子ＶＰＰ２へ与える電圧を発生する回路のみを動作させる。
【０３４９】
以降、ステップ（１３１０）において、プログラムベリファイ実行に必要となる電圧が設定され、電圧が設定されたことを示す信号ＳＥＴが”Ｈ”に設定されることを確認して、プログラムベリファイ（１３１４）を実行し、ステップ（１３１８）におけるプログラムベリファイ結果の確認において、ベリファイがパスするまで、ステップ（１３１０）〜（１３３０）を繰り返す。
【０３５０】
図３０に示すインフォメーションレジスタの内容（１３２０−１）〜（１３３０−２６）は、ベリファイがパスするまで、プログラムとプログラムベリファイの繰り返し回数が２６回であったことを示している。これにより、フラッシュメモリにおける動作シーケンスでの使用電圧に応じたフラッシュメモリ外部での高電圧発生制御が可能となり、ストレージシステムにおいて、さらなる低消費電力化が可能となる。
【０３５１】
ステップ（１３１８）におけるプログラムベリファイ結果の確認において、ベリファイエラービットがゼロとなり、ベリファイがパスすると、ステップ（１３３２）において、インフォメーションレジスタ１１３２に対して、図２９（１３３２）に示すように、次の動作が読み出しスタンバイであることを示す値をセットすると同時に、インフォメーションレジスタ１１３２の内容が変更されたことを示すために、インフォメーションレジスタ変更通知信号ＣＨＩを”Ｈ”に設定する。その後、ステータスレジスタ１１２２の内容を動作が完了し、コマンドを受け付ける状態であることを示す値にセットし（１３３４）、同様に、フラッシュメモリがコマンドを受け付ける状態であることを示すレディー／ビジー信号ＲＹ／ＢＹ信号を”Ｈ”に設定する（１３３６）。
【０３５２】
次に、ステップ（１３３８）において、インフォメーションレジスタ変更通知信号ＣＨＩを”Ｌ”に設定して、オートプログラム動作を完了する（１３４０）。インフォメーションレジスタ１１３２内容として、ベリファイエラービット数を含んでいるのは、フラッシュメモリコントローラが、プログラムベリファイがフェイルであっても、ベリファイエラービット数が特定ビット数値以下となった時点で、オートプログラムの終了を判断することを可能とするためである。
【０３５３】
これにより、フラッシュメモリにおける動作シーケンスでの動作状態に応じたフラッシュメモリ外部での高電圧発生制御が可能となり、ストレージシステムにおいて、さらなる低消費電力化が可能となる。
【０３５４】
図２９に示したシーケンスを実行するための、コントローラ１１１６の具体回路構成例を図３１に示している。コマンドインターフェイス１５０２は、コマンドレジスタ１１１８からのコマンド信号と、コントロールロジック１１１４からの制御信号を受け取り、各ブロックの動作モードを制御する。マイクロコントローラ１５０４は、コマンドインターフェイス１５０２からの信号を受けて、動作モードに応じて、ＲＡＭ１５１２に書き込まれている動作命令を実行し、周辺回路インターフェイス１５０６を介して、メモリ内部の各ブロックを制御する内部制御信号、電圧印加制御信号などを出力する。
【０３５５】
図２９に示す動作シーケンスを実行するための命令はすべてＲＡＭ１５１２に記憶されており、マイクロコントローラ１５０４は、このような動作モードに応じて内部ブロックの制御信号を出力すると同時に、動作シーケンスでのインフォメーションレジスタ設定ステップで、図３０に示すような情報をインフォメーションレジスタ１１３２にセットするとともにインフォメーションレジスタ１１３２のセット内容が変更になったことを外部へ知らせる信号ＣＨＩを出力する。また、外部のフラッシュメモリコントローラから与えられるＳＥＴ信号をマイクロコントローラ１５０４の制御信号として与えており、図２９に示す動作シーケンスにおける、ステップ実行制御に用いている。
【０３５６】
図３１における１５０８はクロック発生回路であり、マイクロコントローラ１５０４を動作させるためのクロック信号を発生するとともに、このクロック信号を用いてタイマ１５１０はコントローラ１１１６の動作に必要なタイミング信号を発生する。
【０３５７】
このように、高電圧発生回路をメモリ外部に備え、動作実行コマンドを受けて、内部のコントローラにより動作シーケンスを実行するフラッシュメモリを用いるシステムにおいて、コントローラが生成する、内部の動作状態（インフォメーションレジスタの値）を出力する端子を備え、外部に出力する構成とすることにより、フラッシュメモリコントローラが、内部の動作に必要となる電圧発生回路のみを動作させ、フラッシュメモリへ与えることにより、必要な動作を実現できるので、内部動作に不要な電源回路を動作させることなく、不要な電流消費を抑制することができるので、システムの低消費動作にきわめて有用である。
【０３５８】
本実施例においては、高電圧電源端子を、プログラム／消去用電圧、ベリファイ用電圧、読み出し用電圧を受け取るＶＰＰ１、ＶＰＰ２およびＶＰＰ３の３種類としているが、プログラム／消去用電圧とベリファイ用電圧を同一の電源端子とし、２種類の高電圧電源端子とすることも可能であるが、外部電源の制御が複雑となるとともに、低消費電力化の効果が削減される。これにより、フラッシュメモリの動作に必要となる高電圧をフラッシュメモリ外部で発生する構成が可能となり、フラッシュメモリを多数用いるストレージシステムにおいて、低消費電力化の制御が容易となる。
【０３５９】
また、フラッシュメモリでのプログラムや消去動作時に、内部回路で必要となる他の電圧種をも外部での発生とし、高電圧電源端子数を増やすことも可能であるが、この場合、きめ細かな電源回路の制御により、より低消費電力化が可能である半面、フラッシュメモリの端子数が増加することとなる。これにより、フラッシュメモリ外部で複数種類の高電圧発生回路から高電圧を供給する構成を可能とし、フラッシュメモリの動作状態に応じて、複数の高電圧発生回路の動作を細かく制御することができるので、より低消費電力化が可能となる。
【０３６０】
図２７に示す本実施例のフラッシュメモリブロック構成例においては、インフォメーションレジスタの内容を、フラッシュメモリ１１００に対する、コマンドやアドレスの入力およびデータ入出をおこなうＩＯ端子を用いて読み出す構成としている。これにより、端子数を増加することなしに、内部の動作状態（インフォメーションレジスタの値）を外部へ出力することができ、多数のフラッシュメモリを用いるストレージシステムにおいて、フラッシュメモリコントローラとフラッシュメモリ間の配線を増やすことなしに、低消費電力化を実現することができる。このため、図３２に示すように、インフォメーションレジスタ読み出コマンドを用意して、その内容の読み出しをおこなうようにしている。
【０３６１】
＜実施例１６＞
本実施例は、図３３に示すように、本発明の不揮発性半導体記憶装置の第２の構成例を示すフラッシュメモリブロック構成例である。図３３においては、インフォメーションレジスタ１１３２の内容を、ＩＯ端子の使用状況にかかわらず、自由に読み出すことができるよう、専用の読み出し端子Ｉｎｆｏを備えている。これにより、外部からインフォメーションレジスタ１１３２に対しては、メモリ内部の動作に関係なく読み出すことができるようになり、フラッシュメモリ外部から内部の動作状態（インフォメーションレジスタの値）を読み出すタイミング制約が緩和される。したがって、フラッシュメモリ外部のフラッシュメモリコントローラからは、インフォメーションレジスタ１１３２の内容が変更されたことを示すインフォメーションレジスタ変更通知信号ＣＨＩが変化した場合のみならず、ラッシュメモリコントローラが必要とする時に内容を読み出すことができ、電源回路の待機状態の制御などをおこなうことができるので、より低消費電力化の動作をおこなうことが可能となる。
【０３６２】
これにより、フラッシュメモリコントローラからのフラッシュメモリ内部の動作状態（インフォメーションレジスタの値）の読み出しに関するタイミング制約をなくすことができ、高電圧発生回路制御の自由度を増すことができる。
【０３６３】
図２７および図３３において、フラッシュメモリのコントローラが生成する、内部の動作状態（インフォメーションレジスタの値）を出力する構成とすることにより、フラッシュメモリコントローラは、フラッシュメモリの内部動作に応じて、電圧発生回路を制御することにより、フラッシュメモリを用いたストレージシステムにおける低消費電力化を実現する、フラッシュメモリ構成例を示してきた。
【０３６４】
フラッシュメモリを用いたストレージシステムにおいて、使用するフラッシュメモリの電力消費特性に応じて、外部電圧発生回路の制御をおこなうことができれば、さらなる低消費電力化を実現することが可能となる。
【０３６５】
また、使用するフラッシュメモリの電力消費特性に応じて、同時プログラムをおこなうフラッシュメモリの数を制御することにより、プログラム性能を向上することが可能となる。
【０３６６】
＜実施例１７＞
本実施例は、図３４に示すように、フラッシュメモリの電力消費特性を外部に出力することを可能とする、本発明の不揮発性半導体記憶装置における第３の構成例を示すフラッシュメモリの構成例である。
【０３６７】
図３４において、フラッシュメモリ１８００は、不揮発性記憶領域として、メモリセルアレイ１１０２と、チップ固有の情報としての電力情報記憶領域１８０２を備えている。この電力情報記憶領域１８０２には、図３５に示すように、フラッシュメモリ１８００の各動作モードでの消費電流が記憶されている。消費電流の値としては、電流値そのものであっても、電流値をランク分けした値であっても良い。この消費電流の値は、フラッシュメモリの製造工程における製品検査の過程で、その値を測定して書き込む。フラッシュメモリを用いたストレージシステムにおいて、システムへの電源投入時に、使用するフラッシュメモリの電力情報記憶領域１８０２から、各フラッシュメモリにおける電源消費特性を読み込み、フラッシュメモリコントローラに保持することができる。これにより、フラッシュメモリのチップ固有電流消費特性等を外部に出力することができるので、フラッシュメモリコントローラおよび、高電圧発生回路を備えたストレージシステムにおいて、高電圧発生回路を使用するフラッシュメモリの消費電流特性に応じて最適に制御することができ、より電流消費電力化が可能となる。
【０３６８】
電力情報記憶領域１８０２からの読み出しにおいては、メモリセルアレイ１１０２と同様に、ＩＯ端子を用いて読み出すか、電力情報記憶領域１８０２の記憶内容を、フラッシュメモリの電源投入時にインフォメーションレジスタ１１３２へ転送し、インフォメーションレジスタ１１３２から読み出してもよい。これにより、不揮発性記憶領域の記憶情報からの読み出しに関する制約を緩和することができ、フラッシュメモリコントローラから不揮発性記憶領域の記憶情報を読み出す場合での自由度が向上する。
【０３６９】
フラッシュメモリコントローラは、使用するフラッシュメモリに応じて、各動作モードにおける電圧発生回路の制御をおこなうことができ、より低消費電力化なシステムを実現することが可能となる。また、使用するフラッシュメモリの電力消費特性に応じて、同時プログラムをおこなうフラッシュメモリの数を制御することにより、プログラム特性を向上することが可能となる。
【０３７０】
図３４においては、ＩＯ端子を用いて電力情報記憶領域１８０２からの読み出しをおこなう構成例を示しているが、電力情報記憶領域１８０２の記憶内容を、インフォメーションレジスタ１１３２へ転送し、図３３に示した実施例１６と同様に、専用の読み出し端子（図３３の例ではＩｎｆｏ端子）を設けることにより、電力情報記憶領域１８０２の記憶情報を、メモリ内部の動作に関係なく読み出しことができるようになるのは言うまでもない。
【０３７１】
これにより、端子数を増加することなしに、内部の動作状態（インフォメーションレジスタの値）を外部へ出力することができ、多数のフラッシュメモリを用いるストレージシステムにおいて、フラッシュメモリコントローラとフラッシュメモリ間の配線を増やすことなしに、使用するフラッシュメモリの電流消費特性に応じた低消費電力化を実現することができる。
【０３７２】
また、フラッシュメモリコントローラからのフラッシュメモリ内部の動作状態（インフォメーションレジスタの値）の読み出しに関するタイミング制約をなくすことができ、使用するフラッシュメモリの電流消費特性に応じた高電圧発生回路制御の自由度を増すことができる。
【０３７３】
また、高電圧電源端子を、プログラム／消去用電圧、ベリファイ用電圧、読み出し用電圧を受け取るＶＰＰ１、ＶＰＰ２およびＶＰＰ３の３種類としているが、図２７での説明と同様に、プログラム／消去用電圧とベリファイ用電圧を同一の電源端子とし、２種類の高電圧電源端子とすることも可能である。これにより、フラッシュメモリの動作に必要となる高電圧をフラッシュメモリ外部で発生する構成が可能となり、かつ、使用するフラッシュメモリの電流消費特性に応じて高電圧の発生を制御することができ、フラッシュメモリを多数用いるストレージシステムにおいて、低消費電力化の最適制御が容易となる。
【０３７４】
また、フラッシュメモリでのプログラムや消去動作時に、内部回路で必要となる他の電圧種をも外部での発生とし、高電圧電源端子数を増やすことも可能であるが、この場合、きめ細かな電源回路の制御により、より低消費電力化が可能である。
【０３７５】
これによりフラッシュメモリ外部で複数種類の高電圧発生回路から高電圧を供給する構成が可能となり、フラッシュメモリの動作状態に応じて、複数の高電圧発生回路の動作を細かく制御するとともに、フラッシュメモリの電流消費特性に応じた低消費電力化を実現することができる。
【０３７６】
《５０》［電源状態情報］
本項の不揮発性記憶システムは、メモリシステム用の電源回路から受け取った電源状態情報に基づいてアクセス対象のフラッシュメモリの処理の実行を開始するか否かを制御するものである。これは、以下に説明するような様々な実施の形態においてさらに有利に展開することが可能である。
【０３７７】
＜実施例１８＞
図３６は本発明の実施例１８における不揮発性記憶システムの構成を示すブロック図である。不揮発性記憶システム（ストレージデバイス）１００の構成要素は、フラッシュメモリコントローラ（外部のコントローラに相当する）１０と、電源回路（メモリシステム用の電源回路に相当する）２０と、複数のフラッシュメモリ２６からなるメモリブロック２５とである。２００はホストである。ホスト２００については、パーソナルコンピュータ、ＰＤＡ（Personal Digital Assistant）、携帯電話、デジタルカメラ、オーディオプレーヤ、カーナビゲーション装置など任意である。ホスト２００とフラッシュメモリコントローラ１０はデバイス制御バス４１を介して接続されている。フラッシュメモリコントローラ１０は電源回路２０に対して電源制御信号Ｑ１と電源状態通知信号Ｑ２とが乗るコントロールバス４２を介して接続されている。フラッシュメモリコントローラ１０は複数のフラッシュメモリ２６のそれぞれに対してデータバス・コントロールバス４３を介して接続されている。Ｑ３はコントロールバスに乗るフラッシュメモリ制御信号である。電源回路２０は各フラッシュメモリ２６に対して電源線４４を介して接続されている。
【０３７８】
メモリブロック２５は、複数のフラッシュメモリ２６の集合体である。フラッシュメモリコントローラ１０は、電源回路２０を制御する機能と複数のフラッシュメモリ２６の動作を個別的に制御する機能とを有している。電源回路２０は、複数のフラッシュメモリ２６のそれぞれに動作用の電源を個別的に供給するようになっている。各フラッシュメモリ２６は、あらかじめ動作電流値が定まっている通常のフラッシュメモリでもよいし、あるいは自己の動作電流値を示す情報を有するフラッシュメモリでもよい。
【０３７９】
電源回路２０は、その内部の電源状態の情報（電源状態情報）をフラッシュメモリコントローラ１０に通知する機能を有している。電源状態情報は、電源状態通知信号Ｑ２に乗せられる。電源状態情報には、例えば駆動率が用いられる。
【０３８０】
フラッシュメモリコントローラ１０は、電源制御信号Ｑ１によって電源回路２０を制御するようになっている。その制御には、電源回路２０における発生電圧（給電能力）の調整、電源回路２０に対するポーリングで電源状態通知信号Ｑ２を出力させる制御などが含まれる。
【０３８１】
フラッシュメモリコントローラ１０は、ホスト２００から動作指令（コマンド）を受け取り、その動作指令に従って１つまたは複数のフラッシュメモリ２６にアクセスする。そのアクセスにおいてフラッシュメモリ制御信号Ｑ３がフラッシュメモリコントローラ１０からフラッシュメモリ２６に出力されるようになっている。動作指令が読み出し動作のときは、フラッシュメモリ２６からデータを読み出し、読み出したデータをホスト２００に転送する。動作指令が書き込み動作のときは、ホスト２００から書き込みデータも送られてきて、そのデータをフラッシュメモリ２６に書き込む。この書き込み動作においては、通常、書き込みベリファイ動作も実行される。動作指令が消去動作のときは、フラッシュメモリ２６においてブロック単位でデータ消去が行われる。この消去動作においては、通常、消去ベリファイ動作も実行される。読み出し動作に必要な電源電圧は最大で５Ｖ、書き込み／消去動作に必要な電源電圧は最大で２０Ｖ、ベリファイ動作に必要な電源電圧は最大で１０Ｖである（一例）。
【０３８２】
前記のフラッシュメモリ２６のいずれかの処理の実行中またはスタンバイ状態で、フラッシュメモリコントローラ１０は、電源回路２０から電源状態通知信号Ｑ２を受け取り、受け取った電源状態情報に基づいて電源回路２０の電源状態（駆動率）を確認するようになっている。また、フラッシュメモリコントローラ１０は、アクセス対象のフラッシュメモリ２６群が電源回路２０の給電能力の規定の範囲内で適切な処理が実行不可能に陥ることがないかどうかを判断する。その判断において動作不可能と判断したときは、電源回路２０の給電能力の規定の範囲内で処理が適切に実行可能となるようにアクセス対象の一部のフラッシュメモリ２６を制御する。その制御の形態には、一時停止（ポーズ）のほか低電力モードがある。
【０３８３】
図３６の不揮発性記憶システム１００はＳＳＤ（ソリッドステートドライブ）として構成されている。１２のフラッシュメモリ動作管理テーブルについては、後述する実施例１９以下で説明する。
【０３８４】
上記のように構成された不揮発性記憶システム１００の動作を図３７に示すフローチャートに従って説明する。外部のホスト２００からのコマンドによる指示により、フラッシュメモリコントローラ１０はフラッシュメモリ２６の制御を開始する。
【０３８５】
まずステップＳ３０１において、フラッシュメモリコントローラ１０はホスト２００からのコマンドを受信する。コマンドの種類は任意であり、読み出しコマンド、書き込みコマンド、消去コマンド、書き込みベリファイコマンド、消去ベリファイコマンドなどがある。
【０３８６】
次いでステップＳ３０２において、フラッシュメモリコントローラ１０は電源状態を確認する。この電源状態の確認においては、電源回路２０から電源状態通知信号Ｑ２を受け取り、その電源状態情報から電源回路２０における電源状態（現在の駆動率）を認識する。
【０３８７】
次いでステップＳ３０３において、フラッシュメモリコントローラ１０は、該当の処理によってアクセス対象候補のフラッシュメモリ２６に実行させる読み出し/書き込みなどの動作種類における動作電力を見積もる。見積もりの具体的処理は次のとおりである。
【０３８８】
ホスト２００からフラッシュメモリ２６に対し次に実施する動作として例えばデータ書き込みコマンドが発行された場合、該当するフラッシュメモリ２６のメモリアレイに対するデータ書き込みを決定する。その際、実際にどのフラッシュメモリ２６に対して書き込みを実施するかにより、あらかじめ決められた動作電流値もしくはフラッシュメモリ２６から読み出した動作電流値についての情報を基にフラッシュメモリ２６に対してどの程度の動作電流が発生するかを判断する。一例として、フラッシュメモリ２６の動作電流が５０ｍＡである場合に、２枚のフラッシュメモリ２６に対して書き込みを実施する場合は１００ｍＡの電流が必要となると見積もることになる。
【０３８９】
ステップＳ３０３に続くステップＳ３０４において、フラッシュメモリコントローラ１０は、見積もった動作電力と電源状態情報から得られる電源回路２０の現在の駆動率とを比較して、電源回路２０の現在の駆動率で、見積もった動作電力を賄えるかを判断する。この比較・判断においては、前記動作電流値と駆動率とは、大小比較が適正なものとなるようにそれぞれの換算によって物理的次元とスケールが調整される。
【０３９０】
新規アクセス対象のフラッシュメモリ２６における処理を直ちに実行するとなれば賄えなくなると判断したときは、ステップＳ３０５に進むことなくステップＳ３０２に戻って、以降、ステップＳ３０３、ステップＳ３０４を繰り返す。ステップＳ３０２〜Ｓ３０４のループを繰り返しているうちは、ステップＳ３０５の新規アクセス対象のフラッシュメモリ２６に対する処理の開始は行われない。上記の動作例では、電源状態が十分になるまでは書き込みを実施しない。一方、バックグラウンドでは、他のフラッシュメモリ２６に対する処理が進行し、時間経過に伴って一部が完了する。したがって、このループを繰り返すうちに、見積もった動作電力が現在の駆動率で賄えるようになる。そうなれば、ステップＳ３０５に進む。ステップＳ３０５に進むと、処理のルーチンに移行し、処理を開始する。上記の動作例ではフラッシュメモリ２６への書き込みを実行する。この動作例は、オーバーロード時の制御形態が、新規アクセス対象のフラッシュメモリ２６に対するウェイト（一時停止）制御となっている。
【０３９１】
本実施例によれば、電源回路２０の給電能力をチェックし、その給電能力の規定の範囲内でフラッシュメモリ２６を動作させることが不可能であると判断したときは、フラッシュメモリ２６に対して待機の制御を行い、待機中での時間経過に伴って使用電力が減少して給電能力の規定の範囲内で処理が適切に実行可能となるのを待って、フラッシュメモリ２６に処理の開始を制御している。したがって、フラッシュメモリ２６の処理途中において電源回路２０のオーバーロード等の不具合に起因する不安定動作やシステムダウンのために、データが破壊される、データ化けを起こす、といった異常状態を回避し、ストレージデバイスとして高いデータ信頼性を確保することが可能となる。
【０３９２】
なお、上記実施例では、電源回路２０の電源状態の確認のために、電源状態通知信号Ｑ２の信号ラインのための専用の端子を電源回路２０が有しているが、これに代えて、電源制御信号Ｑ１のバスを介して電源回路２０内のレジスタ（電源状態情報）をモニタすることにより、電源回路２０の電源状態を確認するように構成してもかまわない。
【０３９３】
以下、上記の《５０》を前提にした、各種の実施の形態について説明する。各実施の形態は《５０》の［電源状態情報］を前提とするが、それぞれの表題では［電源状態情報］は省略する。
【０３９４】
《５１》［処理実行中］＊［ポーリング］＊［一時停止］
上記《５０》の不揮発性記憶システムにおいて、アクセス対象のフラッシュメモリでの処理実行中においてメモリブロックの使用電力がメモリシステム用の電源回路の給電能力に対してオーバーロード（過剰）となったときの制御の態様として、フラッシュメモリコントローラを次のように構成することは好ましい。ここで、フラッシュメモリコントローラが電源回路の電源状態をポーリングして電源回路から電源状態情報を受け取ることを積極的に進めることとする。
【０３９５】
フラッシュメモリコントローラは、電源回路から受け取った電源状態情報に基づいて電源回路の電源状態（駆動率）が特定のレベルを超えているか否かを判断する。そして超えたと判断した場合は、メモリブロックにおける特定のフラッシュメモリにおいてコマンドに基づいて実行される処理を一時停止する。さらに、フラッシュメモリコントローラは引き続いて電源状態情報（駆動率）を監視し、電源回路に電力余裕が生じたか否かを判断する。先にフラッシュメモリの処理の実行を一時停止させたので、時間経過とともに他のフラッシュメモリに対する処理が進行し、一部が完了すると電力余裕が生じるようになる。そして、電力余裕が生じるに至ったとフラッシュメモリコントローラが判断したときに、フラッシュメモリコントローラは先に動作を一時停止していたフラッシュメモリの動作を再開する。
【０３９６】
以上を要するに、本項の不揮発性記憶システムは、上記《５０》の構成において、前記フラッシュメモリコントローラは、ポーリングにより電源回路から電源状態情報を受け取った電源状態情報が特定のレベル以上であると判断する場合には、前記メモリブロックにおける特定のフラッシュメモリの処理の実行を一時停止し、次いで前記電源状態情報に基づいて前記電源回路に電力余裕が生じるようになったと判断したときは実行を一時停止していたフラッシュメモリの処理を再開する制御を行うように構成されている。
【０３９７】
本構成によれば、フラッシュメモリで実行中の処理において、電源回路の電源状態をポーリングにより事前に検知し、ダイナミックにフラッシュメモリの処理の実行を一時停止することで、オーバーロード等の不具合に起因する不安定動作やシステムダウンを回避し、メモリアクセスのデータ信頼性を向上することが可能となる。
【０３９８】
上記《５１》の構成の具体例を実施例１９として以下に説明する。
【０３９９】
＜実施例１９＞
本発明の実施例１９における不揮発性記憶システムの構成は図３６と同様である。図３８は実施例１９の不揮発性記憶システムの動作を示すフローチャートである。本実施例では、フラッシュメモリ２６は、処理実行中に外部からの指示によりその動作が一時停止可能（ポーズ可能）に構成されているものとする。
【０４００】
また、フラッシュメモリコントローラ１０は、アクセス対象のフラッシュメモリ２６群の動作状況を管理するフラッシュメモリ動作管理テーブル１２を有する。フラッシュメモリ動作管理テーブル１２の一例を図３９に示す。フラッシュメモリ動作管理テーブル１２は、フラッシュメモリ２６毎に、動作の優先順位、フラッシュメモリの状態、消費電流、処理開始順の情報を有する。フラッシュメモリの状態には、書き込み、消去、読み出し、ベリファイ、停止などがある。フラッシュメモリ動作管理テーブル１２へのデータについては、ホスト２００からの送信データ、各フラッシュメモリ２６からの受信データが格納される。
【０４０１】
ここで、動作の優先順位は処理開始順によって決定される。処理開始順が早いほど優先順位は低くなる。処理開始順と優先順位は逆の関係である。また、消費電流については、あらかじめ決定された電流値もしくは個々で設定された電流値を使用する。
【０４０２】
このフラッシュメモリ動作管理テーブル１２における管理データについては、アクセス対象のフラッシュメモリ２６群での処理の実行の経過に伴って順次に更新されていく。書き込みであれ、消去であれ、処理の実行が完了すると、状態は「停止」に切り替わる。
【０４０３】
フラッシュメモリコントローラ１０は、同時に複数のフラッシュメモリ２６の処理の実行を制御する。その関係で、複数のフラッシュメモリ２６それぞれの動作状況を管理するフラッシュメモリ動作管理テーブル１２を有している。その他の構成は、実施例１８と同様である。
【０４０４】
次に、上記のように構成された本実施例の不揮発性記憶システムの動作を説明する。いま、いくつかのフラッシュメモリ２６において処理を実行している最中であるとする。すなわち、ステップＳ３１１において、フラッシュメモリコントローラ１０は、フラッシュメモリ２６に対して処理の実行を制御している。
【０４０５】
次いでステップＳ３１２において、フラッシュメモリコントローラ１０は、電源回路２０の電源状態を確認する。すなわち、フラッシュメモリコントローラ１０は、ポーリングによって電源回路２０に問い合わせを行って電源回路２０から電源状態情報として駆動率を受け取り、その駆動率を確認する。ここで、ポーリングは電源制御信号Ｑ１によって行われ、電源状態情報の通知は電源状態通知信号Ｑ２によって行われる。
【０４０６】
次いでステップＳ３１３において、フラッシュメモリコントローラ１０は、現在の駆動率が上限の特定レベルＬH 以上かを判断する。上限の特定レベルＬH 以上であればステップＳ３１４に進み、そうでなければステップＳ３１８にスキップする。現在の駆動率が上限の特定レベルＬH 以上であるか否かの判断は、換言すれば、電源回路２０に電力余裕がなくなってオーバーロードを起こすおそれがあるのかを見ていることになる。アクセス対象のフラッシュメモリ２６群におけるピーク電流が過剰になり、オーバーロードの状態がある程度継続するとシステムダウンし、データ化け、データ消失を起こすおそれがある。このような事態の発生を事前に検知し、予防するのである。
【０４０７】
現在の駆動率が上限の特定レベルＬH 以上でステップＳ３１４に進むと、フラッシュメモリコントローラ１０は、フラッシュメモリ動作管理テーブル１２を参照して現在アクセス対象となっている特定のフラッシュメモリ２６における処理を一時的に停止する。この一時停止によりオーバーロード状態を回避している。
【０４０８】
次いでステップＳ３１５において、フラッシュメモリコントローラ１０は再び電源回路２０の電源状態を確認する。すなわち、フラッシュメモリコントローラ１０は、ポーリングによって電源回路２０に問い合わせを行って電源回路２０から電源状態情報を受け取り、その電源状態情報から電源回路２０における現在の駆動率を認識する。
【０４０９】
次いでステップＳ３１６において、フラッシュメモリコントローラ１０は、先にステップＳ３１４で一時停止させたフラッシュメモリ２６の動作を再開させるとした場合に、現在の駆動率がその再開の分だけ増加したときの駆動率が下限の特定レベルＬL 以下であるか否かを判断する。この下限の特定レベルＬL は、ステップＳ３１３の場合の上限の特定レベルＬH よりも低く設定されている。下限の特定レベルＬL は、電力余裕が生じたかの判断基準である。下限の特定レベルＬL 以下でなければステップＳ３１５に戻り、そうでなければステップＳ３１７に進む。
【０４１０】
先にステップＳ３１４でフラッシュメモリ２６における処理を一時停止してあるので、電源回路２０の駆動率は時間経過とともに次第に低下してくる。駆動率の低下に伴ってステップＳ３１６の判断が肯定的となり、ステップＳ３１７に進んだときは、先にステップＳ３１４で一時停止していたフラッシュメモリ２６での処理の実行を再開する。次いでステップＳ３１８において、フラッシュメモリ２６における処理が完了したかの判断を行い、未完了であればステップＳ３１１に戻って処理を続行し、処理が完了したときは、図３８のルーチンから抜ける。
【０４１１】
上記の動作を具体例で説明する。ここで、一例として、上限の特定レベルＬH を９０％、下限の特定レベルＬL を８０％とする。なお、これらの数値は任意に設定可能である。
【０４１２】
駆動率が９０％以上であれば、オーバーロードで動作が不安定になる可能性があるとする。いま、９０％以上の駆動率となっていた場合、フラッシュメモリコントローラ１０は処理実行中のフラッシュメモリ２６を一時停止する（ステップＳ３１３〜Ｓ３１４）。
【０４１３】
例えば電源回路２０の駆動能力が５００ｍＡであり、見積もりが９０％の４５０ｍＡ以上の駆動状態になった場合に、１つのフラッシュメモリ２６を一時停止する。この場合に、最も早く処理を開始した優先順位が最後のフラッシュメモリ２６を一時停止する。図３９の状態の場合には、優先順位「８」のフラッシュメモリＡを一時停止する。
【０４１４】
その後、電源状態を確認し、一時停止していたフラッシュメモリ２６の処理を再開しても駆動能力が特定のレベル（例えば８０％）以下になって電力余裕が生じると判断した段階で、フラッシュメモリコントローラ１０は、一時停止させていたフラッシュメモリ２６に対して処理を再開する。
【０４１５】
電源回路２０の駆動能力５００ｍＡの８０％は４００ｍＡである。いま、電源回路２０の電源状態が３４９ｍＡまで下がったとする。フラッシュメモリＡの消費電流は５０ｍＡである。フラッシュメモリＡの動作を再開するとなると、電源回路２０の電源状態は、３４９＋５０＝３９９ｍＡとなる。これは、８０％の４００ｍＡ以下の駆動状態である。よって、電源回路２０の電源状態が３５０ｍＡ未満になることを確認すれば、それまで一時停止させていたフラッシュメモリＡの動作を再開してよいことになる。
【０４１６】
本実施例によれば、処理実行中においてポーリングにより電源回路２０のオーバーロード状態を、それが実際に生じる前に検知するようにしている。検知すれば、フラッシュメモリ２６の動作を一時停止（ポーズ）するので、フラッシュメモリ２６が消費する動作電力を抑えることが可能となる。オーバーロード等の不具合に起因する不安定動作やシステムダウンによるフラッシュメモリ２６の不安定動作、異常状態を未然に回避し、データ信頼性を向上することができる。フラッシュメモリ２６を一時停止することは、フラッシュメモリ２６を低電力モードで動作継続させる場合に比べて、通常モードでの処理の再開までの待ち時間が短くて済む。
【０４１７】
《５２》［処理実行中］＊［割り込み］＊［一時停止］
上記《５０》の不揮発性記憶システムにおいて、メモリブロックの使用電力が電源回路の給電能力に対してオーバーロードとなったときの制御の態様として、上記ポーリング方式の《５１》に代えて、割り込み方式を採用し、フラッシュメモリコントローラおよび電源回路を次のように構成することは好ましい。すなわち、電源回路からの電源状態情報のフラッシュメモリコントローラへの通知を、上記《５１》の場合のフラッシュメモリコントローラからのポーリングに代えて、電源回路からの割り込みによって制御するように構成する。ここでは、割り込み信号が電源状態情報である。本項は、アクセス対象のフラッシュメモリでの処理実行中における制御とする。
【０４１８】
電源回路は常時的に自己の内部状態を監視しており、アクセス対象のフラッシュメモリの使用電力が電源回路の現在の駆動率に対してオーバーロード気味になったときに、電源回路は電源状態通知信号として割り込み信号を生成し、フラッシュメモリコントローラに出力するように構成されている。すなわち、電源回路の電源状態の遷移に応じて直ちに生成される割り込み信号を利用する。
【０４１９】
フラッシュメモリコントローラは、電源回路から割り込み信号を受け取ったとき、メモリブロックにおける特定のフラッシュメモリの処理の実行を一時停止するものとして構成されている。フラッシュメモリの一時停止以降のフラッシュメモリコントローラの動作については、上記《５１》と同様でよい。
【０４２０】
すなわち、フラッシュメモリコントローラは引き続いて電源状態情報（駆動率）を監視し、電源回路に電力余裕が生じたか否かを判断する。先にフラッシュメモリの処理の実行を一時停止させたので、時間経過とともに他のフラッシュメモリに対する処理が進行し、一部が完了すると電力余裕が生じるようになる。そして、電力余裕が生じるに至ったとフラッシュメモリコントローラが判断したときに、フラッシュメモリコントローラは先に動作を一時停止していたフラッシュメモリの動作を再開する。
【０４２１】
以上を要するに、本項の不揮発性記憶システムは、上記《５０》の構成において、電源回路は、電源状態を監視して電源状態が特定のレベル以上となったときに割り込み信号を生成して前記フラッシュメモリコントローラに通知するように構成され、前記フラッシュメモリコントローラは、前記電源回路から割り込み信号を受け取ったときは、前記メモリブロックにおける特定のフラッシュメモリの処理の実行を一時停止し、次いでポーリングにより電源回路から電源状態情報を受け取り、その受け取った電源状態情報に基づいて電源回路に電力余裕が生じるようになったと判断したときは処理の実行を一時停止していたフラッシュメモリの処理の実行を再開する制御を行うように構成されている。
【０４２２】
本構成によれば、フラッシュメモリコントローラが電源回路のオーバーロード状態を認識するきっかけとして、電源回路での電源状態遷移に伴う割り込み信号を利用するので、フラッシュメモリコントローラはポーリングによる電源回路のモニタリングが不要となり、処理負荷の軽減が可能となる。また、割り込み信号の受信が即オーバーロード検知になるので、タイムラグがなく、高速な対応が可能である。
【０４２３】
上記《５２》の構成の具体例を実施例２０として以下に説明する。
【０４２４】
＜実施例２０＞
図４０は本発明の実施例２０における不揮発性記憶システムの構成を示すブロック図である。図３６との相違は、図３６の電源状態通知信号Ｑ２が割り込み信号Ｑ２となっている点である。電源回路２０は、フラッシュメモリ２６における処理中に、常時的に自己の内部状態を監視し、アクセス対象のフラッシュメモリ２６の使用電力が電源回路２０の現在の電源状態（駆動率）に対してオーバーロード気味になって駆動率が規定値を超えたときに電源状態遷移を意味する割り込み信号Ｑ２を生成し、フラッシュメモリコントローラ１０に対して通知するように構成されている。フラッシュメモリコントローラ１０は、電源回路２０から割り込み信号Ｑ２を受け取ったときは、処理中の特定のフラッシュメモリ２６の動作を一時停止するように構成されている。その他の構成については、図３６、図３９の構成と同様である。
【０４２５】
次に、上記のように構成された本実施例の不揮発性記憶システムの動作を説明する。フラッシュメモリコントローラ１０は、アクセス対象候補のフラッシュメモリ２６について、その処理の開始前に、そのフラッシュメモリ２６での処理を中断する必要がある電源状態条件（例えば駆動率９０％）を、割り込みの条件として電源回路２０に設定する。なお、この条件は固定的なものでもよい。電源回路２０は、電源状態が割り込み条件（駆動率９０％）に達した段階で電源回路２０の状態遷移を意味する割り込み信号Ｑ２を、フラッシュメモリコントローラ１０に発信する。
【０４２６】
以下は、実施例２０の不揮発性記憶システムの動作を示す図４１のフローチャートに従って説明する。いくつかのフラッシュメモリ２６において処理を実行している最中であるとする。ステップＳ３２１において、フラッシュメモリコントローラ１０は、電源回路２０からフラッシュメモリコントローラ１０に対して電源回路２０の状態遷移を意味する割り込み信号Ｑ２が発信されたことを認識する。
【０４２７】
次いでステップＳ３２２において、フラッシュメモリコントローラ１０はフラッシュメモリ動作管理テーブル１２を参照して処理実行中のフラッシュメモリ２６を一時停止する。つまり、優先順位が最も低いフラッシュメモリ２６を一時停止する。続くステップＳ３２３，Ｓ３２４，Ｓ３２５の処理は図３８のステップＳ３１５，Ｓ３１６，Ｓ３１７と同様である。すなわち、次いでステップＳ３２３において、フラッシュメモリコントローラ１０は再び電源回路２０の電源状態を確認する。すなわち、フラッシュメモリコントローラ１０は、ポーリングによって電源回路２０に問い合わせを行って電源回路２０から電源状態通知信号Ｑ２によって電源状態情報を受け取り、その電源状態情報から電源回路２０における現在の駆動率を認識する。
【０４２８】
次いでステップＳ３２４において、フラッシュメモリコントローラ１０は、先にステップＳ３２２で一時停止させたフラッシュメモリ２６の動作を再開させるとした場合に、現在の駆動率がその再開の分だけ増加したときに下限の特定レベルＬL 以下かを判断する。下限の特定レベルＬL 以下でなければステップＳ３２３に戻り、そうでなければステップＳ３２５に進む。先にステップＳ３２２でフラッシュメモリ２６における処理を一時停止してあるので、電源回路２０の駆動率は時間経過とともに次第に低下してくる。
【０４２９】
駆動率の低下に伴ってステップＳ３２４の判断が肯定的となり、ステップＳ３２５に進んだときは、先にステップＳ３２２で一時停止していたフラッシュメモリ２６での処理の実行を再開する。本実施例は割り込み処理であるので、ステップＳ３２５の次は、図４１のルーチンから抜ける。
【０４３０】
本実施例の場合、図３８の実施例１９におけるステップＳ３１２、ステップＳ３１３に相当する処理、つまりフラッシュメモリコントローラ１０からのポーリングにより電源回路２０の駆動率が９０％以上かどうかを確認する処理は不要となる。すなわち、本実施冷の処理では、実施例１９の処理において、フラッシュメモリコントローラ１０からの電圧レベルの確認が不要となるため、フラッシュメモリコントローラ１０の処理負荷を低減することができる。また、割り込み信号Ｑ２の受信と一時停止との間のタイムラグが十分に小さく、高速に対応することができる。
【０４３１】
《５３》［処理実行中］＊［データ制御部と電源制御部］
上記《５０》の不揮発性記憶システムにおいて、フラッシュメモリコントローラを次のように２つの部分に分けて構成することが考えられる。それは、データ制御部と電源制御部とに分けて構成することである。データ制御部は、フラッシュメモリのデータ処理に関する制御を司る部分であり、複数のフラッシュメモリの処理の実行を個別的に制御する。電源制御部は、電源回路の電源制御を司る部分であり、電源回路から受け取る電源状態情報に基づく判断においてアクセス対象のフラッシュメモリが電源回路の給電能力の規定の範囲内で適切な処理が実行不可能と判断するときは、使用電力が減少して給電能力の規定の範囲内で処理が適切に実行可能となるようにアクセス対象の一部のフラッシュメモリを制御する機能を有するものとして構成されている。電源回路は、その電源状態の情報を電源制御部に通知する機能を有するものとして構成されている。電源状態情報の通知の仕方については、電源制御部からのポーリングによるのでもよいし、電源回路での割り込みによるのでもよい。
【０４３２】
以上を要するに、本項の不揮発性記憶システムは、上記《５０》の構成において、フラッシュメモリコントローラは、複数のフラッシュメモリの処理の実行を個別的に制御するデータ制御部に加えて、前記電源回路の電源制御を司る電源制御部が追加された構成とされ、前記電源制御部は、前記電源回路から受け取る前記電源状態情報に基づく判断においてアクセス対象のフラッシュメモリが電源回路の給電能力の規定の範囲内で適切な処理が実行不可能と判断するときは、使用電力が減少して給電能力の規定の範囲内で処理が適切に実行可能となるようにアクセス対象のフラッシュメモリを制御するものとして構成されている。
【０４３３】
本構成によれば、フラッシュメモリコントローラの構成について、電源制御を行わずにフラッシュメモリのデータ制御のみを実施する従来方式のシステムに対して、上記構成の電源制御部を追加することで対応でき、構成要素の流用（構成の踏襲）をもって、全体構成を簡素化しつつ電源制御の効果を容易に実現することが可能となる。データ制御については従来の処理機能を活用し、電源処理だけを付け加えることが可能となるため、従来のシステムからの継続展開性が容易となる。
【０４３４】
上記《５３》の構成の具体例を実施例２１として以下に説明する。
【０４３５】
＜実施例２１＞
図４２は本発明の実施例２１における不揮発性記憶システムの構成を示すブロック図である。本実施例においては、図３６のフラッシュメモリコントローラ１０の部分がデータ制御部１４と電源制御部１６とに分けて構成されている。フラッシュメモリコントローラにおけるデータ制御部１４は、電源制御を行わなずにフラッシュメモリのデータ制御のみを実施する従来方式のシステムにおけるフラッシュメモリコントローラに相当するものとなっている。
【０４３６】
フラッシュメモリコントローラにおけるデータ制御部１４はホスト２００に対しデバイス制御バス４１を介して接続されている。データ制御部１４は、複数のフラッシュメモリ２６のそれぞれに対してデータバス・コントロールバス４３を介して接続されている。Ｑ３はコントロールバスに乗るフラッシュメモリ制御信号である。
【０４３７】
フラッシュメモリコントローラにおける電源制御部１６は、電源制御信号Ｑ１と電源状態通知信号Ｑ２が乗るコントロールバス４２を介して電源回路２０に接続されている。また、電源制御部１６は、複数のフラッシュメモリ２６のそれぞれに対して個別的にフラッシュメモリ停止信号Ｑ４の信号ライン４５を介して接続されている。各フラッシュメモリ２６は、フラッシュメモリ停止信号Ｑ４の入力端子を有している。データ制御部１４と電源制御部１６を合わせたものが、図３６のフラッシュメモリコントローラ１０に相当する。その他の構成については、図３６の場合と同様であるので、説明を省略する。
【０４３８】
次に、上記のように構成された本実施例の不揮発性記憶システムの動作を説明する。図４３はフラッシュメモリコントローラにおける電源制御部１６の動作を示すフローチャートである。いまいくつかのフラッシュメモリ２６において処理を実行しているとする。この制御は、データ制御部１４とフラッシュメモリ２６との間で行われるもので、図４３には現れていない。
【０４３９】
ステップＳ３３１において、電源制御部１６は電源回路２０の電源状態を確認する。すなわち、電源制御部１６は、ポーリングによって電源回路２０に問い合わせを行って電源回路２０から電源状態情報（駆動率）を受け取り、その情報から電源回路２０における現在の駆動率を認識する。
【０４４０】
次いでステップＳ３３２において、電源制御部１６は、現在の駆動率が上限の特定レベルＬH 以上かを判断する。上限の特定レベルＬH 以上であればステップＳ３３３に進み、そうでなければステップＳ３３６にスキップする。現在の駆動率が上限の特定レベルＬH 以上かの判断は、電源回路２０に電力余裕がなくなってオーバーロードを起こすおそれがあるのかを見ていることになる。
【０４４１】
現在の駆動率が上限の特定レベルＬH 以上でステップＳ３３３に進むと、電源制御部１６は、現在アクセス対象となっている１つのフラッシュメモリ２６における処理を一時的に停止する。この一時停止によりオーバーロード状態を回避している。
【０４４２】
次いでステップＳ３３４において、電源制御部１６は再び電源回路２０の電源状態を確認する。すなわち、電源制御部１６は、ポーリングによって電源回路２０に問い合わせを行って電源回路２０から電源状態情報を受け取り、その電源状態情報から電源回路２０における現在の駆動率を認識する。
【０４４３】
次いでステップＳ３３５において、電源制御部１６は、先にステップＳ３３３で一時停止させたフラッシュメモリ２６の動作を再開させるとした場合に、現在の駆動率がその再開の分だけ増加したときの駆動率が下限の特定レベルＬL 以下であるか否かを判断する。下限の特定レベルＬL 以下でなければステップＳ３３４に戻り、そうでなければステップＳ３３６に進む。先にステップＳ３３３でフラッシュメモリ２６における処理を一時停止してあるので、電源回路２０の駆動率は時間経過とともに次第に低下してくる。
【０４４４】
駆動率の低下に伴ってステップＳ３３５の判断が肯定的となり、ステップＳ３３６に進んだときは、先にステップＳ３３３で一時停止していたフラッシュメモリ２６での処理の実行を再開し、次いでステップＳ３３１に戻る。電源制御部１６は、データ制御部１４とは独立した動作を行うもので、ステップＳ３３１からステップＳ３３６のループ処理をサイクリックに行うようになっている。
【０４４５】
上記の動作を具体例で説明する。駆動率が９０％以上であれば、動作が不安定になる可能性があるとする。いま、９０％以上の駆動率となっていた場合、電源制御部１６はフラッシュメモリ停止信号Ｑ４をアサート（有効）して処理実行中のフラッシュメモリ２６を一時停止する（ステップＳ３３２〜Ｓ３３３）。
【０４４６】
その後、電源状態を確認し、停止したフラッシュメモリ２６の処理を再開しても駆動能力が特定のレベル（例えば８０％）以下になると判断した段階で、電源制御部１６は、一時停止させていたフラッシュメモリ２６に対してフラッシュメモリ停止信号Ｑ４をクリアすることで処理を再開する。
【０４４７】
ここで上記の制御はフラッシュメモリコントローラにおける電源制御部１６のみで処理されることとなり、データ制御部１４は本実施例の処理に影響しない。従来の不揮発性記憶システムを基準にすると、電源制御部１６の追加と、電源制御部１６と電源回路２０および各フラッシュメモリ２６との接続の追加のみで対応できるということである。その他の構成要素については従来システムのものがそのまま流用（転用）可能である。
【０４４８】
本実施例によれば、フラッシュメモリコントローラにおけるデータ制御部１４に対して影響を与えずに、電源制御を実施することが可能となることで、電源制御を実施せずにデータ制御のみを実施していた従来のシステムに対して、容易に電源制御の効果を実現することが可能となる。結果として、導入コストの低減を図ることができる。なお、ポーリングにかかわる電源状態通知信号に代えて割り込み信号を用いる方式に本実施例を適用してもよい。
【０４４９】
《５４》［処理開始前］＊［低電力変更］
これまで説明してきたところでは、アクセス対象のフラッシュメモリでの処理実行中における制御となっている。また、アクセス対象のフラッシュメモリの使用電力とメモリシステム用の電源回路の給電能力との関係でオーバーロード等の不具合が昂進しシステムダウンを起こしそうになった場合に、該当のフラッシュメモリにおける処理の実行を一時停止（ポーズ）することとしている。
【０４５０】
本項は、そのような方式に代えて、新規アクセス対象のフラッシュメモリでの処理開始前における制御とする。また、システムダウンを起こしそうになった場合に、特定のフラッシュメモリの使用電力（動作電流）を下げつつ、そのフラッシュメモリにおける処理は継続するとの考えに立つものである。これが低電力変更である。
【０４５１】
すなわち、上記《５０》の不揮発性記憶システムにおいて、フラッシュメモリは低電力モードを有しているものとする。つまり、動的に動作電流を変更することが可能なフラッシュメモリを用いることとする。フラッシュメモリは低電力モードではその動作速度が通常モードより遅くなる。
【０４５２】
また、フラッシュメモリコントローラは、メモリシステム用の電源回路に電力余裕がなくなった場合に、処理実行中のフラッシュメモリ群において特定のフラッシュメモリを低電力動作に移行させる制御を行うものとして構成されている。１つのフラッシュメモリを低電力変更してもまだ電力余裕がない状態が続くのであれば、引き続きもう１つのフラッシュメモリを低電力変更する。電力余裕が生じるようになるまで、順次次のフラッシュメモリを低電力変更する。このように考えると、電力余裕がなくなった初期においては、処理実行中のフラッシュメモリ群において特定のフラッシュメモリにつき処理の実行を一時停止させるようにしてもよい。
【０４５３】
以上を要するに、本項の不揮発性記憶システムは、上記《５０》の構成において、フラッシュメモリは、動的に動作電流を変更することが可能に構成されており、フラッシュメモリコントローラは、新規アクセス対象のフラッシュメモリが電源回路の給電能力の規定の範囲内で適切な処理が実行不可能と判断するときは、処理実行中のフラッシュメモリ群において特定のフラッシュメモリにつき、その使用電力を下げた上で処理の実行を継続しまたは処理の実行を一時停止し、その低電力変更状態で使用電力が減少して前記給電能力の規定の範囲内で処理が適切に実行可能となったときに新規アクセス対象のフラッシュメモリの処理を開始する制御を行うように構成されている。
【０４５４】
本構成によれば、システムにおける電源回路の給電能力に即してフラッシュメモリの使用電力を制御することで、電源回路のオーバーロード等の不具合に起因する不安定動作やシステムダウンを防止し、データ信頼性の向上を図ることが可能となる。さらに、すでに処理実行中にあるフラッシュメモリの処理の実行につき、原則として、低速ではあっても処理の実行を継続するものであるため、システム処理能力が必要以上に低下してしまうことを抑制することが可能となる。換言すれば、よりきめの細かい制御が可能となっている。
【０４５５】
上記《５４》の構成の具体例を実施例２２として以下に説明する。
【０４５６】
＜実施例２２＞
本実施例の不揮発性記憶システムの構成を示すブロック図としては、図３６、図４０、図４２のいずれかが援用される。併せて、本実施例においては、フラッシュメモリ２６は、その動的に動作電流を変更すること等により電力レベルを変更可能とする。また、フラッシュメモリコントローラ１０は、各フラッシュメモリ２６の動作状況を管理するフラッシュメモリ動作管理テーブル１２を有しているものとする。
【０４５７】
図４４はフラッシュメモリ動作管理テーブル１２の一例を示す。フラッシュメモリ動作管理テーブル１２は、フラッシュメモリ２６毎に、動作の優先順位、フラッシュメモリの状態、電力レベル、処理開始順の情報を有する。図３９での消費電流に代えて電力レベルが用いられている。図３９では、その消費電流がすべてのフラッシュメモリ２６で同一であったのに対して、図４４ではフラッシュメモリごとに、また動作種類ごとに、消費電流が異なり、結果として電力レベルが相違している。電力レベルは「０」，「１」の２値ではなく、３値以上をもつものである。つまり、個々のフラッシュメモリ２６は、その駆動レベルが可変に構成され、状況に応じて最適な駆動レベルで動作するように制御される。
【０４５８】
フラッシュメモリの状態としては、書き込み処理実行中、消去処理実行中、停止中などがある。読み出し処理実行中、ベリファイ処理実行中もある。フラッシュメモリの状態と電力レベルにより、フラッシュメモリの動作電流値を計算することが可能である。
【０４５９】
同じ書き込み動作でも、また同じ消去動作でも、その電力レベルは処理の内容ごと（それを担当するフラッシュメモリごと）に様々に変化し得る。フラッシュメモリの動作電流値は時々刻々に変動する。処理開始順は、各々のフラッシュメモリ２６の処理を開始した順番で記載され、「０」は停止中を示す。
【０４６０】
フラッシュメモリ動作管理テーブル１２は、フラッシュメモリ２６の動作開始、動作停止および電力レベルの変更等の動作モードの実行時において更新される。
【０４６１】
また、フラッシュメモリ２６は電源回路２０からの電源状態通知信号Ｑ２を前記電力レベルに換算する機能を持つ。具体的には、例えば電力レベル「１」当たり２０ｍＡの動作電力とする場合、６００ｍＡの電流能力をもつ電源回路２０では、その電力レベルは最大で「３０」と換算可能である（６００÷２０＝３０）。つまり、電力レベルとして「０」〜「３０」のきめ細かい設定が可能である。その他の構成は、実施例１の不揮発性記憶システムの構成と同様である。
【０４６２】
図３８、図３９を用いて説明した実施例１９の場合には、複数のフラッシュメモリ２６のすべてが５０ｍＡの同じ消費電流となっている。これでは、使用電力の細かい調整はできない。オーバーロード時の対応としては、アクセス対象のフラッシュメモリを停止するしかない。これに対して本実施例では、図４４に示すように、「０」,「１」,「２」,「３」の４段階の電力レベルをもっているので、アクセス対象のフラッシュメモリを必ずしも停止しなければならないということはなく、電力レベルの段階的低減で対処することが可能となっている。つまり、処理の実行を停止するのではなく、電力レベルを下げることで、オーバーロード状態を解消することが可能である。
【０４６３】
次に、上記のように構成された本実施例の不揮発性記憶システムの動作を説明する。図４５はフラッシュメモリコントローラ１０の動作を示すフローチャートである。このフローチャートは、処理内容としては複数のフラッシュメモリ２６に共通であるが、適用は個々のフラッシュメモリ２６に対して個別の適用となる。ステップＳ３４１からステップＳ３４６を経てステップＳ３４７に至ると、当該フラッシュメモリ２６は初めて処理を開始することになるが、その開始前にあって、すでに他のフラッシュメモリ２６が処理を実行している。
【０４６４】
外部のホスト２００からのコマンドによる指示により、フラッシュメモリコントローラ１０はアクセス対象のフラッシュメモリ２６の制御を開始する。すなわち、まず、ステップＳ３４１において、フラッシュメモリコントローラ１０はホスト２００からのコマンドを受信する。コマンドの種類は任意である。
【０４６５】
次いでステップＳ３４２において、フラッシュメモリコントローラ１０は電源回路２０からの電源状態通知信号Ｑ２を受け取って、電源回路２０の電源状態を確認する。ここで、電源状態は、電力レベルに換算して例えば「２５」の能力があり、現在、電力レベルで合計「１９」の処理をしているとする。
【０４６６】
次いでステップＳ３４３において、フラッシュメモリコントローラ１０は、該当のコマンドで指示された処理によってアクセス対象候補のフラッシュメモリ２６で実行する動作で消費される動作電力を、その動作の種類に基づいて見積もる。例えば、ホストからの指示受信時にフラッシュメモリコントローラ１０内のフラッシュメモリ動作管理テーブル１２が図４４のようであるとする。この状態において、フラッシュメモリＡは電力レベル「１」、フラッシュメモリＢ，Ｃ，Ｄは電力レベル「２」、フラッシュメモリＥ，Ｆ，Ｇ，Ｈは電力レベル「３」、フラッシュメモリＩ，Ｊは停止中である。この状態の場合、処理実行中のフラッシュメモリ２６の電力レベルの合計値は「１９」である。なお、電力レベルを単純に足すのではなく、動作状態や個々のフラッシュメモリ２６の特性を基に処理電力を見積もることで、より精度の高い電力見積りが可能となる。また、処理開始順は若い番号ほど新しく処理を実施したことを示しており、本実施例では、処理開始順番が新しいほど優先順位が低いと判断する。
【０４６７】
ステップＳ３４３に続くステップＳ３４４において、フラッシュメモリコントローラ１０は、見積もった動作電力と電源状態情報から得られる電源回路２０の現在の駆動率とを比較して、電源回路２０の現在の駆動率で見積もった動作電力を賄えるかを判断する。賄えないと判断したときは、ステップＳ３４５に進み、賄えると判断したときはステップＳ３４６に進む。
【０４６８】
ここで、ホスト２００からのフラッシュメモリＩに書き込みの指示があった場合の動作例を挙げる。フラッシュメモリＩに対する処理を電力レベル「３」で実施しようとする場合、電力レベルの合計は「２２」（＝１９＋３）となり、電源回路２０の安定動作レベルであるレベル「２０」（レベル「２５」の８０％）を超える。図４４の状況でフラッシュメモリ２６の動作を開始すると、データ信頼性が低下することにつながる可能性があるため、フラッシュメモリ２６の電力レベルを変更する必要がある。
【０４６９】
そこで、ステップＳ３４５において、フラッシュメモリ２６の電力レベルを下げる。上記の動作例では、優先順位が最も低い（開始対象となるので優先順位は「９」に設定される）フラッシュメモリＩの電力レベルを「３」から「１」に変更する。その結果、電力レベルの合計は「２０」（＝１９＋１）となり、電源回路２０の安定レベル内で処理することが可能となる。つまり、ステップＳ３４４の判断が肯定的となり、ステップＳ３４６へ進む。
【０４７０】
次いでステップＳ３４６において、フラッシュメモリコントローラ１０は、フラッシュメモリ動作管理テーブル１２を更新する。次いでステップＳ３４７において、対応するフラッシュメモリ２６における処理を開始する。
【０４７１】
本実施例によれば、電源回路２０のオーバーロードのおそれがあるときに、原則として、低速ではあっても処理の実行を継続するため、きめの細かい制御形態で、システム処理能力の必要以上の低下を回避することができる。
【０４７２】
《５５》［処理開始前］＊［低電力変更］＊［優先順位］
本項は、上述した低電力変更に言及した《５４》の構成において、さらにフラッシュメモリを低電力モードに変更する態様の改良を検討するものである。いうまでもなく、フラッシュメモリは、動的に動作電流を変更することが可能に構成されている。
【０４７３】
ここで、フラッシュメモリコントローラは、フラッシュメモリ動作管理テーブルにおいて複数のフラッシュメモリの動作状況を監視するが、その監視の項目として複数のフラッシュメモリの相互間で優先順位を定めて管理するように構成されている。この優先順位は、複数のフラッシュメモリにおける処理の実行に伴って変遷し、フラッシュメモリコントローラはその変遷の都度、フラッシュメモリ動作管理テーブルにおいて優先順位を更新するようになっている。
【０４７４】
そして、新規アクセス対象となるフラッシュメモリの処理を開始するに際して、処理実行中のフラッシュメモリの使用電力とメモリシステム用の電源回路の給電能力との関係でオーバーロード等の不具合が昂進しシステムダウンを起こしそうになった場合、つまり、アクセス対象のフラッシュメモリがメモリシステム用の電源回路の給電能力の規定の範囲内で適切な処理を実行することは不可能であると、フラッシュメモリコントローラが判断する場合には、フラッシュメモリコントローラは、フラッシュメモリ動作管理テーブルを参照して、優先順位が最も低いフラッシュメモリから優先的にその使用電力を下げるように制御を行う。この低電力変更においては、使用電力を下げた上で処理の実行を継続するのでもよいし、あるいは処理の実行を一時停止するのでもよい。
【０４７５】
以上を要するに、本項の不揮発性記憶システムは、上述した低電力変更に言及した《５４》の構成において、複数のフラッシュメモリの相互間で優先順位を定めて管理するように構成されているとともに、使用電力を下げた上で処理の実行を継続しまたは処理の実行を一時停止する制御は、処理実行中のフラッシュメモリ群において優先順位が最も低いフラッシュメモリから優先的に対象とするように構成されている。
【０４７６】
本構成によれば、上記した《５４》の構成と同様の作用効果のほか、メモリシステム用の電源回路の電力余裕が足りなくなってオーバーロード等の不具合が生じた場合に、その使用電力を下げた状態で処理の実行を継続させるフラッシュメモリを選択するに当たって、優先順位が最も低いフラッシュメモリから優先するので、処理速度の低下に起因する影響を極力抑制することが可能となる。
【０４７７】
上記《５５》の構成の具体例を実施例２３として以下に説明する。
【０４７８】
＜実施例２３＞
本実施例の不揮発性記憶システムの構成を示すブロック図としては、図３６、図４０、図４２のいずれかが援用される。併せて、本実施例においては、フラッシュメモリ２６は、その動的に動作電流を変更すること等により電力レベルを変更可能とする。また、フラッシュメモリコントローラ１０は、各フラッシュメモリ２６の動作状況を管理するフラッシュメモリ動作管理テーブル１２を有する。フラッシュメモリ動作管理テーブル１２の一例を図４６に示す。
【０４７９】
図４６は本発明の実施例２３におけるフラッシュメモリコントローラ１０のフラッシュメモリ動作管理テーブル１２を示す。このフラッシュメモリ動作管理テーブル１２には、フラッシュメモリ２６毎に、動作の優先順位、動作の優先レベル、フラッシュメモリの状態、電力レベル、処理開始順の情報が格納されている。
【０４８０】
動作の優先レベルは、例えば「０」〜「３」の４段階で示され、「０」は未動作、「３」が最優先の処理となる。フラッシュメモリコントローラ１０は、優先レベルの付け方に関して、処理速度の低下に起因する影響が大きいものから順に大きい優先レベルを付ける。換言すれば、処理速度の低下に起因する影響が小さいものを優先的に選択して低電力モードに切り替える。影響が大きいものはできるだけ通常モードで動作させる。つまり、低電力モードに切り替えるべきフラッシュメモリの選択の優先度は、フラッシュメモリ動作管理テーブル１２における優先レベルとは逆の関係になっている。低電力モードに切り替えるべきフラッシュメモリの選択の優先度が優先順位である。図４６の場合は、図の上位のものほど優先的に低電力モード切り替えの対象とする。なお、結果として、処理開始順はランダムな並びとなっている。
【０４８１】
優先レベル「３」の処理は、例えばホスト２００から直接指示されたデータの読み出し/書き込みに関する処理であって、この処理はホスト２００から見た処理速度に直接影響を与える処理に対応する。
【０４８２】
優先レベル「２」の処理は、例えばホスト２００から指示された処理の後処理など、ホスト２００から見た処理速度に直接は影響を与えないが、処理の高速化が望ましい処理に対応する。
【０４８３】
優先レベル「１」の処理としては、例えば不良セクタを別のセクタに移動させるなど、ホスト２００から見た処理速度に影響を与えない処理が割り当てられる。
【０４８４】
フラッシュメモリの状態は書き込み処理実行中、消去処理実行中などを示し、フラッシュメモリの状態と電力レベルによりフラッシュメモリ２６の動作電流値を計算することが可能となる。
【０４８５】
処理開始順は、各々のフラッシュメモリ２６の処理を開始した順番で記載され、「０」は停止中を示す。図４６では、処理開始順には並んでいない。並んでいるのは、優先順位の順である。優先レベルについては、同じレベルのものが複数あり得るが、優先順位は連続番号であり、同一順位の重複はない。
【０４８６】
このフラッシュメモリ動作管理テーブル１２は、フラッシュメモリ２６の動作開始、動作停止および電力レベルの変更等の動作モードの実行時に更新される。その他の構成は、実施例５の不揮発性記憶システムの構成と同様である。
【０４８７】
次に、上記のように構成された本実施例の不揮発性記憶システムの動作を説明する。図４７はフラッシュメモリコントローラ１０の動作を示すフローチャートである。
【０４８８】
ステップＳ３５１〜Ｓ３５７のうち、ステップＳ３５５が図４５のステップＳ３４５と相違し、その他のステップは図４５と同じとなっている。ステップＳ３５１からステップＳ３５６を経てステップＳ３５７に至ると、当該のフラッシュメモリ２６は初めて処理を開始することになるが、その開始前にあって、すでに他のフラッシュメモリ２６が処理の実行を行っている。
【０４８９】
外部のホスト２００からのコマンドによる指示により、フラッシュメモリコントローラ１０はアクセス対象のフラッシュメモリ２６の制御を開始する。ステップＳ３５１において、ホスト２００からの指示により、フラッシュメモリコントローラ１０はフラッシュメモリ２６を制御する。次いでステップＳ３５２において、フラッシュメモリコントローラ１０は電源回路２０から受け取る電源状態通知信号Ｑ２に基づいて電源回路２０の電源状態を確認する。
【０４９０】
ここで、電源状態は、例えば電力レベルに換算して「３０」の能力があり、現在電力レベルで「２２」の処理をしている状態であるとする。さらには、電源回路２０の安定動作レベルであるレベルは、レベル「３０」の８０％の「２４」と設定されているとする。
【０４９１】
次いでステップＳ３５３において、フラッシュメモリコントローラ１０は、フラッシュメモリ２６に対し次に実施する動作とその動作電力を見積もる。例えば、ホストからの指示受信時にフラッシュメモリコントローラ１０内のフラッシュメモリ動作管理テーブル１２が図４６であったとする。この状態では、フラッシュメモリＡ〜Ｊは処理実行中となり、フラッシュメモリＩは停止中となる。
【０４９２】
また、フラッシュメモリＤ，Ｈ，Ｊが優先レベル最高の「３」、フラッシュメモリＣ，Ｇが優先レベル中の「２」、フラッシュメモリＡ，Ｂ，Ｅ，Ｆが優先レベル低の「１」となっている。また、フラッシュメモリＡは電力レベル「１」で動作され、フラッシュメモリＢ，Ｅ，Ｆは電力レベル「２」で動作され、フラッシュメモリＣ，Ｇ，Ｄ，Ｈ，Ｊは電力レベル「３」で動作される。
【０４９３】
以上の状態の場合、処理実行中のフラッシュメモリ２６の電力レベルの合計値は「２２」である。なお、電力レベルを単純に足すのではなく、動作状態や個々のフラッシュメモリ２６の特性を基に処理電力を見積もれば、より精度の高い電力見積りを行うことが可能となる。
【０４９４】
また、フラッシュメモリ２６の電力レベルを、優先レベル未満の電力レベルに設定しないことで、システムの処理性能の低減を抑えることが可能である。例えば、優先レベル「１」の処理では、電力レベルは「１」，「２」，「３」を選べるが、優先レベル「３」の処理では、電力レベルは「１」，「２」は選べず、選択される電力レベルは「３」となる。
【０４９５】
また、処理開始順は若い番号ほど新しく処理を実施したことを示しており、本実施例では、処理開始順番が新しいほど、処理としては同一の優先レベルの中で優先順位が低いと判断する。図４６では、優先レベルとして同順位のものが複数あるが、これを、処理開始順を参考にして連続順として優先順位を定めている。優先順位には同順位はない。
【０４９６】
次に、ステップＳ３５５とステップＳ３５６に関連して、ホスト２００からの指示により、フラッシュメモリＩに優先レベル「３」の書き込みが必要であった場合におけるフラッシュメモリ動作管理テーブル１２の更新方法について説明する。
【０４９７】
図４８はフラッシュメモリＩの動作を加えたときのテーブルである。ここでフラッシュメモリＩは優先レベル「３」のため、優先レベル「３」の処理の中で優先順位が最も低い優先順位４に割り当てられる。図４６で最下段にあるフラッシュメモリＩは図４８では下から４段目に移行している。このときの処理開始順は「０」であり、これはフラッシュメモリ動作管理テーブル１２への仮の登録を意味している。また、フラッシュメモリＩの電力レベルは「３」となる。
【０４９８】
ここで電力レベルの合計は「２５」（２２＋３）となり、電源回路２０の安定動作レベルであるレベル「２４」（レベル「３０」の８０％）を超える。この状態でフラッシュメモリ２６の動作を開始すると、データ信頼性が低下する可能性があり、これを避けるためにはフラッシュメモリ２６の電力レベルを変更する必要がある。これを具体的にいうと、ステップＳ３５４の判断が否定的となり、ステップＳ３５５へ進むことになる。
【０４９９】
この場合、優先順位が「１０」で最も低いフラッシュメモリＡは、電力レベルが「１」であるために、電力レベルを下げることができない。もし、これを下げるとなれば、電力レベル「０」となり、これではフラッシュメモリの処理が停止してしまい、これでは本実施例の主旨に反する。そこで次に優先順位が低い優先順位「９」のフラッシュメモリＢに着目する。フラッシュメモリＢは、優先レベル「１」に対して電力レベル「２」であるため、電力レベルを下げることができる。
【０５００】
フラッシュメモリＢの電力レベルを「２」から「１」に変更した場合、電力レベルの合計は「２４」（＝２５−１）となり、電源回路２０の安定レベル（レベル「３０」の８０％の「２４」）内で処理することが可能となる。変更後の結果は図４９に記載している。図４８で電力レベル「２」であったフラッシュメモリＢの電力レベルが「１」に低電力変更されている。以上で、チェックと修正が終わり、電力レベルが確定する。その後、フラッシュメモリ動作管理テーブル１２を更新し、対応するフラッシュメモリ２６の処理を開始する。
【０５０１】
図４４、図４５を用いて説明した実施例５の動作例の場合、新規参入させたフラッシュメモリＩの電力レベルを「３」から「１」に低電力変更したが、本実施例では新規参入させたフラッシュメモリＩの電力レベルは所望の「３」のままとし、すでに処理の実行が進んでいたフラッシュメモリＢについて、低電力変更を施している。
【０５０２】
本実施例によれば、フラッシュメモリ２６に低電力変更についての優先順位を持たせて処理を実施することで、システムの処理に対する影響を最小限とすることが可能となる。
【０５０３】
《５６》［処理実行中］＊［ポーリング］＊［低電力変更］
本項の構成と上記《５４》の構成とは、処理を行うタイミングが、［処理開始前］であるか［処理実行中］であるかで相違する。また、本項の構成と《５１》の構成とは処理方法が、［一時停止］であるか［低電力変更］であるかで相違する。上記《５４》の構成では、ホストからフラッシュメモリコントローラにコマンドが送信され、そのコマンドをフラッシュメモリコントローラが受信したときからの制御、つまり新規アクセス対象のフラッシュメモリでの処理開始前における制御についてであった。本項では、現に複数のフラッシュメモリにおいて処理の実行がなされている最中に、フラッシュメモリ群における動作電流が規定水準を超え、メモリシステム用の電源回路の電力余裕が足りなくなってオーバーロード等の不具合のおそれが生じた場合の制御に関する。
【０５０４】
本項の不揮発性記憶システムにおいては、上記《５０》の不揮発性記憶システムにおいて、フラッシュメモリは消費電力モードとして低電力モードを有していて、動的に動作電流を変更することが可能であるとする。また、フラッシュメモリコントローラは、複数のフラッシュメモリそれぞれの動作状況を管理するフラッシュメモリ動作管理テーブルを有しているものとする。
【０５０５】
フラッシュメモリコントローラは、ポーリングによりメモリシステム用の電源回路から電源状態情報を受け取ったうえで、受け取った電源状態情報をフラッシュメモリ動作管理テーブルで参照して特定のレベルと比較する。そして、電源状態情報が特定のレベル以上でメモリシステム用の電源回路に電力余裕がなくなっていると判断した場合、フラッシュメモリコントローラは、特定のフラッシュメモリの電力レベルを下げ、次いで電源状態情報に基づいてメモリシステム用の電源回路に電力余裕が生じるようになったと判断したときは、フラッシュメモリ動作管理テーブルを更新する制御を行う。
【０５０６】
以上を要するに、本項は、上記《５０》の構成において、フラッシュメモリは、動的に動作電流を変更することが可能に構成されており、フラッシュメモリコントローラは、ポーリングによりメモリシステム用の電源回路から電源状態情報を受け取り、受け取った電源状態情報が特定のレベル以上であると判断した場合は特定のフラッシュメモリの電力レベルを下げ、メモリシステム用の電源回路に電力余裕を生じさせて処理の実行を継続するように構成されている。
【０５０７】
本項によれば、フラッシュメモリにおける処理の実行中にメモリシステム用の電源回路に電力余裕がなくなってオーバーロード等の不具合のおそれが生じた場合であっても、ポーリングによりその不具合発生を事前に検知し、処理実行中の特定のフラッシュメモリの電力レベルを下げる。これにより、メモリシステム用の電源回路のオーバーロード等の不具合に起因する不安定動作やシステムダウンを防止しながら、システムの全体的な処理能力の低下を最小限に抑さえることが可能になる。また、安定動作を確保するためにあえて過剰な電源能力をもたせるといったようなことをしなくて済む。
【０５０８】
上記《５６》の構成の具体例を実施２４として以下に説明する。
【０５０９】
＜実施例２４＞
本実施例の不揮発性記憶システムの構成を示すブロック図としては、図３６、図４２のいずれかが援用される。次に、上記のように構成された本実施例の不揮発性記憶システムの動作を説明する。図５０はフラッシュメモリコントローラ１０の動作を示すフローチャートである。
【０５１０】
いま、いくつかのフラッシュメモリ２６において処理を実行している最中であるとする。すなわち、ステップＳ３６１において、フラッシュメモリコントローラ１０がフラッシュメモリ２６の処理を制御しているとする。この状態で次にステップＳ３６２において、フラッシュメモリコントローラ１０が、電源回路２０の電源状態を確認する。すなわち、フラッシュメモリコントローラ１０は、ポーリングによって電源回路２０に問い合わせを行って電源回路２０から電源状態情報として駆動率を受け取って、その駆動率を確認する。
【０５１１】
次いでステップＳ３６３において、フラッシュメモリコントローラ１０は、現在の駆動率が上限の特定レベルＬH 以上であるか否かを判断する。上限の特定レベルＬH 以上であればステップＳ３６４に進み、そうでなければステップＳ３６５に進む。現在の駆動率が上限の特定レベルＬH 以上であるか否かを判断することは、電源回路２０に電力余裕がなくなってオーバーロードを起こすおそれがあるか否かを見ていることになる。
【０５１２】
ステップＳ３６３において、現在の駆動率が上限の特定レベルＬH 以上で、オーバーロードを起こす危険性があると判断してステップＳ３６４に進むと、フラッシュメモリコントローラ１０は、現在処理実行中のフラッシュメモリ２６の電力レベルを下げる（低電力変更）、つまりフラッシュメモリ２６の電力モードを低電力モードに移行させる。電力レベルを下げるフラッシュメモリは、処理開始順に沿って順次設定する。つまり、現在アクセス対象となっている複数のフラッシュメモリ２６のうち、ホスト２００からのコマンドで処理開始したのが早い時期のフラッシュメモリから優先して電力レベルを下げる対象とする。
【０５１３】
ステップＳ３６４の次はステップＳ３６２に戻る。ステップＳ３６２→Ｓ３６３→Ｓ３６４→Ｓ３６２のループを繰り返すうちに、順次にフラッシュメモリの電力レベルが下がっていき、オーバーロードの危険性を判断するための現在の駆動率が上限の特定レベルＬH を下回るようになる。こうなると、すべてのアクセス対象のフラッシュメモリ２６における処理で必要となる電力は、現在の駆動率の供給電力で安全に電源回路２０によって賄えるようになる。つまり、電源回路２０に電力余裕が生じたことになる。この状態になれば、ステップＳ３６５に進む。
【０５１４】
ステップＳ３６５に進むと、フラッシュメモリコントローラ１０は、フラッシュメモリ動作管理テーブル１２を更新する。ステップＳ３６４を経てきたときは、レベルを下げた後の電力レベルを設定する。この電力レベルを下げる処理により、オーバーロード状態を回避している。なお、ステップＳ３０４では、フラッシュメモリ動作管理テーブル１２には仮のデータ登録が行われているだけであり、ステップＳ３６５においてそのデータが本登録される。
【０５１５】
次いでステップＳ３６６において、フラッシュメモリ２６における処理が完了したかの判断を行い、未完了であればステップＳ３６１に戻って処理を続行する。この処理の続行の過程でも、ステップＳ３６２、Ｓ３６３、Ｓ３６４、Ｓ３６５の処理を繰り返す。処理が完了したときは、図５０のルーチンから抜ける。なお、一部のフラッシュメモリ２６を一時停止することも、電力レベルを下げる処理に含まれるものとする。
【０５１６】
本実施例によれば、アクセス対象のフラッシュメモリでの処理実行中において、電源回路２０の電源状態（駆動率）を監視しながら、フラッシュメモリ２６の使用電力をリアルにダイナミックに制御するので、電源回路２０のオーバーロード等の不具合に起因する不安定動作やシステムダウンを防止しながら、システムの全体的な処理能力の低下を最小限に抑さえることができる。また、安定動作を確保するためにあえて過剰な電源能力をもたせるといったようなことをしなくて済む。
【０５１７】
《５７》［処理実行中］＊［割り込み］＊［低電力変更］
本項は、上述した《５６》の構成が果たす機能を、ポーリングではなくメモリシステム用の電源回路からの割り込みによって実現しようとするものである。本項の不揮発性記憶システムは、上述した《５０》の構成において、電源回路の電源状態を常時監視し、電源状態が特定のレベル以上となったときに割り込み信号を生成し、フラッシュメモリコントローラに通知するものとして構成されている。また、フラッシュメモリコントローラは、メモリシステム用の電源回路から割り込み信号を受け取った場合は、処理実行中の特定のフラッシュメモリの電力レベルを下げ、そのことを通じてメモリシステム用の電源回路に電力余裕を生じさせながら、処理の実行を継続するものとして構成されている。
【０５１８】
本項によれば、フラッシュメモリコントローラがメモリシステム用の電源回路のオーバーロード等の不具合状態を認識するきっかけとして、メモリシステム用の電源回路での電源状態遷移に伴う割り込み信号を利用するので、フラッシュメモリコントローラはポーリングによるメモリシステム用の電源回路のモニタリングが不要となり、処理負荷の軽減が可能となる。また、割り込み信号の受信が即不具合検知になるので、タイムラグがなく、高速な対応が可能である。
【０５１９】
上記《５７》の構成の具体例を実施例２５として以下に説明する。
【０５２０】
＜実施例２５＞
本実施例の不揮発性記憶システムの構成を示すブロック図としては、図４０、図４２のいずれかが援用される。本実施例においては、電源回路２０は、フラッシュメモリ２６における処理中に、常時的に自己の内部状態を監視し、アクセス対象のフラッシュメモリ２６の使用電力が電源回路２０の現在の駆動率に対してオーバーロード気味になって駆動率が規定値を超えたときに電源状態遷移を意味する割り込み信号Ｑ２を生成し、フラッシュメモリコントローラ１０に対して通知するように構成されている。フラッシュメモリコントローラ１０は、電源回路２０から割り込み信号Ｑ２を受け取ったときは、処理中の特定のフラッシュメモリ２６の電力レベルを下げるように構成されている。その他の構成は、実施例２２の不揮発性記憶システムの構成と同様である。
【０５２１】
次に、上記のように構成された本実施例の不揮発性記憶システムの動作を説明する。図５１はフラッシュメモリコントローラ１０の動作を示すフローチャートである。ステップＳ３７１において、フラッシュメモリコントローラ１０は、電源回路２０から電源回路２０の状態遷移を意味する割り込み信号Ｑ２を受信したことを認識する。次いでステップＳ３７２において、フラッシュメモリコントローラ１０は、現在処理実行中のフラッシュメモリ２６の電力レベルを下げる、つまり、フラッシュメモリ２６を低電力モードに移行させる。本実施例では、電力レベルを下げるフラッシュメモリは、処理開始順に基づいて設定される。つまり、フラッシュメモリコントローラ１０は、現在アクセス対象となっている複数のフラッシュメモリ２６のうちで、ホスト２００からのコマンドで処理開始したのが早い時期のフラッシュメモリから優先して電力レベルを下げる対象とする。
【０５２２】
次いでステップＳ３７３において、フラッシュメモリコントローラ１０は再び電源回路２０の電源状態を確認する。すなわち、フラッシュメモリコントローラ１０は、ポーリングによって電源回路２０に問い合わせを行って電源回路２０から電源状態通知信号Ｑ２を受け取り、受け取った電源状態通知信号Ｑ２から電源状態情報を取り出し、取り出した電源状態情報から電源回路２０における現在の駆動率を認識する。
【０５２３】
次いでステップＳ３７４において、フラッシュメモリコントローラ１０は、現在の駆動率が上限の特定レベルＬH 以上であるか否かを判断する。上限の特定レベルＬH 以上であればステップＳ３７２に戻り、そうでなければステップＳ３７５に進む。現在の駆動率が上限の特定レベルＬH 以上であるか否かの判断は、換言すれば、電源回路２０に電力余裕がなくなってオーバーロードを起こすおそれがあるのかを見ていることになる。
【０５２４】
現在の駆動率が上限の特定レベルＬH 以上で、オーバーロードを起こす危険性があると判断してステップＳ３７２に戻ると、フラッシュメモリコントローラ１０は、さらにフラッシュメモリ２６の電力レベルを下げる、あるいは別のフラッシュメモリ２６を低電力モードに移行させる。
【０５２５】
ステップＳ３７２→Ｓ３７３→Ｓ３７４→Ｓ３７２のループを繰り返すうちに、オーバーロードの危険性を判断する目安となる現在の駆動率が上限の特定レベルＬH を下回るようになる。こうなるのは、順次にフラッシュメモリの電力レベルを下げて行くからである。駆動率が上限の特定レベルＬH を下回ると、すべてのアクセス対象フラッシュメモリ２６の処理で必要となる電力を、現在の駆動率の供給電力で安全に電源回路２０によって賄うことが可能となる。そうなれば、ステップＳ３７５に進む。
【０５２６】
ステップＳ３７５に進むと、フラッシュメモリコントローラ１０は、フラッシュメモリ動作管理テーブル１２を更新する。上述したループを経た状態では、レベルを下げた後の電力レベルが設定される。この電力レベルを下げる処理により、オーバーロード状態が回避される。本実施例は割り込み処理であるので、ステップＳ３７５の次は、図５１のルーチンから抜ける。
【０５２７】
本実施例の場合、図５０の実施例７におけるステップＳ３６２、ステップＳ３６３に相当する処理、つまり、フラッシュメモリコントローラ１０からのポーリングにより電源回路２０の駆動率が９０％超えたかどうかを確認することは不要である。すなわち、実施例７に対して、フラッシュメモリコントローラ１０からの電圧レベルの確認が不要となるため、フラッシュメモリコントローラ１０の処理負荷を低減することが可能となる。
【０５２８】
《５８》［処理実行中］＊［ポーリング］＊［低電力変更］＊［優先順位］
本項は、上記の低電力変更に言及した《５６》の構成においてさらに、フラッシュメモリを低電力モードに変更する態様の改良を検討するものである。いうまでもなく、フラッシュメモリは、動的に動作電流を変更することが可能に構成されている。電源回路２０の電源状態の確認は、フラッシュメモリコントローラ１０からのポーリングによるように構成されている。本項と上記《５５》とは、処理を行うタイミングが、［処理開始前］と［処理実行中］とで相違する。
【０５２９】
ここで、フラッシュメモリコントローラは、フラッシュメモリ動作管理テーブルにおいて複数のフラッシュメモリの動作状況を監視するが、その監視の項目として複数のフラッシュメモリの相互間で優先順位を定めて管理するように構成されている。この優先順位は、複数のフラッシュメモリにおける処理の実行に伴って変遷し、フラッシュメモリコントローラはその変遷の都度、フラッシュメモリ動作管理テーブルにおいて優先順位を更新するようになっている。
【０５３０】
そして、フラッシュメモリコントローラは、処理実行中のフラッシュメモリの使用電力とメモリシステム用の電源回路の給電能力との関係でオーバーロード等の不具合が昂進しシステムダウンを起こしそうになった場合、つまり、アクセス対象のフラッシュメモリがメモリシステム用の電源回路の給電能力の規定の範囲内で適切な処理を実行することが不可能であると判断する場合には、フラッシュメモリコントローラは、フラッシュメモリ動作管理テーブルを参照して、優先順位が最も低いフラッシュメモリから優先的にその使用電力を下げるように制御を行う。この低電力変更においては、使用電力を下げた上で処理の実行を継続する。
【０５３１】
以上を要するに、本項の不揮発性記憶システムは、上述した低電力変更に言及した《５６》の構成において、フラッシュメモリコントローラは、複数のフラッシュメモリの相互間で優先順位を定めて管理するように構成されているとともに、使用電力を下げた上で処理の実行を継続する制御は、処理実行中のフラッシュメモリ群において優先順位が最も低いフラッシュメモリから優先的に対象とするように構成されている。
【０５３２】
本構成によれば、上記《５６》の構成による作用効果に加えて、メモリシステム用の電源回路の電力余裕が足りなくなってオーバーロード等の不具合のおそれが生じた場合であっても、その使用電力を下げた状態で処理の実行を継続させるフラッシュメモリを選択するに当たって、優先順位が最も低いフラッシュメモリから優先するので、処理速度の低下を極力抑制することが可能となる。
【０５３３】
上記《５８》の構成の具体例を実施例２６として以下に説明する。
【０５３４】
＜実施例２６＞
本実施例の不揮発性記憶システムの構成を示すブロック図としては、図３６、図４２のいずれかが援用される。本実施例の不揮発性記憶システムの動作を説明する。図５２はフラッシュメモリコントローラ１０の動作を示すフローチャートである。ステップＳ３８１〜Ｓ３８６のうち、ステップＳ３８４が図５０のステップＳ３６４と相違し、その他のステップは図５０と同じとなっている。
【０５３５】
いま、いくつかのフラッシュメモリ２６において処理を実行している最中であるとする。すなわち、ステップＳ３８１において、フラッシュメモリコントローラ１０はフラッシュメモリ２６の処理を制御しているとする。この状態で次にステップＳ３８２において、フラッシュメモリコントローラ１０は、ポーリングによって電源回路２０に問い合わせを行って電源回路２０から電源状態情報を受け取り、受け取った電源状態情報に基づいて電源回路２０の駆動率を確認する。
【０５３６】
次いでステップＳ３８３において、フラッシュメモリコントローラ１０は、現在の駆動率が上限の特定レベルＬH 以上であるか否かを判断する。上限の特定レベルＬH 以上であればステップＳ３８４に進み、そうでなければステップＳ３８５に進む。現在の駆動率が上限の特定レベルＬH 以上であるか否かの判断は、電源回路２０に電力余裕がなくなってオーバーロードを起こすおそれがあるのか否かを見ていることになる。
【０５３７】
ステップＳ３８３において、現在の駆動率が上限の特定レベルＬH 以上で、オーバーロードを起こす危険性があると判断してステップＳ３８４に進むと、フラッシュメモリコントローラ１０は、フラッシュメモリ動作管理テーブル１２を参照して優先順位が低いフラッシュメモリを優先して選択し、選択した現在処理実行中のフラッシュメモリ２６の電力レベルを下げる、つまり、フラッシュメモリ２６の消費電力モードを低電力モードに移行させる。
【０５３８】
ステップＳ３８４の次はステップＳ３８２に戻る。ステップＳ３８２→Ｓ３８３→Ｓ３８４→Ｓ３８２のループを繰り返すうちに、順次にフラッシュメモリの電力レベルが下がっていき、オーバーロードの危険性を判断するための現在の駆動率が上限の特定レベルＬH を下回るようになる。こうなると、すべてのアクセス対象のフラッシュメモリ２６の処理で必要となる電力を、現在の駆動率の供給電力で安全に電源回路２０によって賄うことが可能になる。そうなれば、ステップＳ３８５に進む。
【０５３９】
ステップＳ３８５に進むと、フラッシュメモリコントローラ１０は、フラッシュメモリ動作管理テーブル１２を更新する。ステップＳ３８４を経てきたときは、レベルを下げた後の電力レベルを設定する。この電力レベルを下げる処理により、オーバーロード状態を回避している。
【０５４０】
次いでステップＳ３８６において、フラッシュメモリ２６における処理が完了したかの判断を行い、未完了であればステップＳ３８１に戻って処理を続行する。この処理の続行の過程でも、ステップＳ３８２，Ｓ３８３，Ｓ３８４，Ｓ３８５の処理を繰り返す。処理が完了したときは、図５２のルーチンから抜ける。なお、フラッシュメモリ２６を一時停止することも、電力レベルを下げる処理に含まれるものとする。
【０５４１】
本実施例によれば、実施例２４の効果に加えて、フラッシュメモリ２６に優先度を持たせ処理を実施することで、システムの処理に対する影響を最小限にすることが可能となる。
【０５４２】
《５９》［処理実行中］＊［割り込み］＊［低電力変更］＊［優先順位］
本項は、上記《５８》が果たす機能を、ポーリングではなくメモリシステム用の電源回路からの割り込みによって実現しようとするものである。
【０５４３】
本項の不揮発性記憶システムは、低電力変更に言及した上述の《５６》の構成において、電源回路は、電源状態を常時的に監視し、電源状態が特定のレベル以上となったときに割り込み信号を生成してフラッシュメモリコントローラに通知するものとして構成されている。また、フラッシュメモリコントローラは、電源回路から割り込み信号を受け取った場合、処理実行中の特定のフラッシュメモリの電力レベルを下げ、そのことを通じてメモリシステム用の電源回路に電力余裕を生じさせながら、処理の実行を継続するものとして構成されている。
【０５４４】
本項によれば、フラッシュメモリコントローラがメモリシステム用の電源回路のオーバーロード等の不具合状態を認識する切掛けとして、メモリシステム用の電源回路での電源状態遷移に伴う割り込み信号を利用するので、フラッシュメモリコントローラはポーリングによるメモリシステム用の電源回路のモニタリングが不要となり、処理負荷の軽減が可能となる。また、割り込み信号の受信が即不具合検知になるので、タイムラグがなく、高速な対応が可能である。
【０５４５】
上記《５９》の構成の具体例を実施例２７として以下に説明する。
【０５４６】
＜実施例２７＞
本実施例の不揮発性記憶システムの構成を示すブロック図としては、図４０、図４２のいずれかが援用される。本実施例の不揮発性記憶システムにおいては、フラッシュメモリコントローラ１０は、図４６と同様の優先レベルを管理するフラッシュメモリ動作管理テーブル１２を有している。
【０５４７】
本実施例においては、電源回路２０は、フラッシュメモリ２６における処理中に、常時的に自己の内部状態を監視する。具体的には、アクセス対象のフラッシュメモリ２６の使用電力が当該電源回路２０の現在の駆動率に対してオーバーロード気味になって駆動率が規定値を超えると、電源回路２０は、電源状態遷移を意味する割り込み信号Ｑ２を生成して、フラッシュメモリコントローラ１０に通知するように構成されている。フラッシュメモリコントローラ１０は、電源回路２０から割り込み信号Ｑ２を受け取ると、処理中の特定のフラッシュメモリ２６の電力レベルを下げるように構成されている。その他の構成は、実施例２２の不揮発性記憶システムの構成と同様である。
【０５４８】
次に、上記のように構成された本実施例の不揮発性記憶システムの動作を説明する。図５３はフラッシュメモリコントローラ１０の動作を示すフローチャートである。ステップＳ３９１において、フラッシュメモリコントローラ１０は、電源回路２０から電源回路２０の状態遷移を意味する割り込み信号Ｑ２を受信したことを認識する。
【０５４９】
次いでステップＳ３９２において、フラッシュメモリコントローラ１０は、フラッシュメモリ動作管理テーブル１２を参照して優先順位が低いフラッシュメモリを優先して選択し、選択した現在処理実行中のフラッシュメモリ２６の電力レベルを下げる。つまり、低電力モードに移行させる。
【０５５０】
次いでステップＳ３９３において、フラッシュメモリコントローラ１０は再びポーリングによって電源回路２０に問い合わせを行って電源回路２０から電源状態情報（具体的には電源状態通知信号Ｑ２）を受け取り、受け取った電源状態情報に基づいて、電源回路２０の現在の駆動率を認識する。
【０５５１】
次いでステップＳ３９４において、フラッシュメモリコントローラ１０は、現在の駆動率が上限の特定レベルＬH 以上であるか否かを判断する。上限の特定レベルＬH 以上であればステップＳ３９２に戻り、そうでなければステップＳ３９５に進む。現在の駆動率が上限の特定レベルＬH 以上であるか否かの判断は、電源回路２０に電力余裕がなくなってオーバーロードを起こすおそれがあるか否かを見ていることになる。
【０５５２】
現在の駆動率が上限の特定レベルＬH 以上でであって、オーバーロードを起こす危険性があると判断してステップＳ３９２に戻ると、フラッシュメモリコントローラ１０は、さらにフラッシュメモリ２６の電力レベルを下げる。あるいは、別のフラッシュメモリ２６を低電力モードに移行させる。
【０５５３】
ステップＳ３９２→Ｓ３９３→Ｓ３９４→Ｓ３９２のループを繰り返すうちに、順次にフラッシュメモリの電力レベルが下がっていき、オーバーロードの危険性を判断するための現在の駆動率が上限の特定レベルＬH を下回るようになる。こうなると、すべてのアクセス対象のフラッシュメモリ２６における処理に必要な電力を現在の駆動率の供給電力で安全に電源回路２０によって賄うことが可能になる。そうなれば、ステップＳ３９５に進む。
【０５５４】
ステップＳ３９５に進むと、フラッシュメモリコントローラ１０は、フラッシュメモリ動作管理テーブル１２を更新する。上記のループを経てきたときは、レベルを下げた後の電力レベルを設定する。この電力レベルを下げる処理により、オーバーロード状態を回避している。本実施例は割り込み処理であるので、ステップＳ３９５の次は、図５３のルーチンから抜ける。
【０５５５】
本実施例の場合、図５２の実施例２６におけるステップＳ３８２、ステップＳ３８３に相当する処理、つまり、フラッシュメモリコントローラ１０からのポーリングにより電源回路２０の駆動率が９０％超えたか否かを確認することは不要である。すなわち、本実施例では、実施例２６においてフラッシュメモリコントローラ１０が実施していた電源回路２０の電圧レベルの確認処理が不要となるため、フラッシュメモリコントローラ１０の処理負荷を低減することが可能となる。
【０５５６】
《６０》［オーバーロード等の不具合発生に対するチェック］
本項は、フラッシュメモリに対する処理の実行が完了したときに、データ異常のチェックを行い、その結果をホストへ通知するものである。
【０５５７】
本項の不揮発性記憶システムは、上記《５０》〜《５９》のいずれか構成において、フラッシュメモリコントローラは、フラッシュメモリの処理が完了した後に、メモリシステム用の電源回路でオーバーロードが発生したか否かを確認し、オーバーロード発生ありのときはフラッシュメモリのベリファイ動作を実行する。そしてベリファイ後に、フラッシュメモリのデータ異常を判定し、ホストに対して判定結果を通知する。
【０５５８】
本項によれば、オーバーロードが発生したことをシステムで確認し、オーバーロード発生時の処理実行の結果の良否を確認し、ホストに通知することで、データ信頼性を向上することが可能となる。
【０５５９】
上記《６０》の構成の具体例を実施例２８として以下に説明する。
【０５６０】
＜実施例２８＞
図５４は本発明の実施例２８における不揮発性記憶システムの構成を示すブロック図である。電源回路２０には、電源回路２０がオーバーロードを生じたか否かを示すオーバーロードフラグをセットしておくためのオーバーロードレジスタ２４が備えられている。フラッシュメモリコントローラ１０は、電源回路２０のオーバーロードレジスタ２４をポーリングし、ポーリング結果が電源回路２０のオーバーロードを示す場合には、フラッシュメモリ２６への動作を継続してベリファイ動作を実施するように構成されている。その他の構成は、実施例２０（図４０の不揮発性記憶システム）の構成と同様である。
【０５６１】
次に、上記のように構成された本実施例の不揮発性記憶システムの動作を説明する。図５５はフラッシュメモリコントローラ１０の動作を示すフローチャートである。ステップＳ４０１において、フラッシュメモリコントローラ１０は、フラッシュメモリ２６における処理の実行の完了を認識する。次いでステップＳ４０２において、フラッシュメモリコントローラ１０は、電源回路２０のオーバーロードフラグを確認する。ここでは、電源回路２０に設けられたオーバーロードレジスタ２４をポーリングすることでオーバーロードフラグを確認する。次いでステップＳ４０３において、電源回路２０のオーバーロードレジスタ２４をクリアする。
【０５６２】
次いでステップＳ４０４において、ステップＳ４０２での確認結果に従ってオーバーロード発生の有無を判定する。オーバーロードが発生していたときはステップＳ４０５に進み、発生していない場合はステップＳ４０７へ進む。
【０５６３】
ステップＳ４０５に進むと、フラッシュメモリコントローラ１０はフラッシュメモリ２６で実施した処理のベリファイ動作を行う。具体的には、書き込み動作または消去動作を実施したフラッシュメモリ２６の領域のデータ（処理をしたデータ）を一度読み出してそのデータが正常であるか否かを確認する。次いでステップＳ４０６において、フラッシュメモリ２６のデータが果たして正常であるか否か（フラッシュメモリ全体のデータが正常であるか否か）を判断する。正常のときはステップＳ４０７に進み、異常のときはステップＳ４０８に進む。
【０５６４】
電源回路２０にオーバーロードが発生していなかったと判断される場合、あるいはフラッシュメモリ２６の処理結果が正常であったと判断される場合は、ステップＳ４０７に進み、フラッシュメモリコントローラ１０はホスト２００に「正常終了」を通知する。一方、フラッシュメモリ２６の処理結果が異常であったと判断される場合は、ステップＳ４０８に進み、フラッシュメモリコントローラ１０はホスト２００に「異常終了」を通知する。
【０５６５】
本実施例によれば、オーバーロードが発生したことをシステムで確認し、オーバーロード発生時の処理の実行の結果の良否を確認し、ホスト２００に通知することで、データ信頼性を向上することができる。
【０５６６】
<６１>  上述した<５０>の構成においては、前記フラッシュメモリコントローラは、入出力回路等与えられる第１の電源電圧が印加される第１の電源端子および、信号処理回路等与えられ、前記第１の電源電圧よりも低い第２の電源電圧が印加される第２の電源端子を備え、
前記電源回路が、前記フラッシュメモリコントローラの前記第２の電源端子へ印加する第２の電源電圧を生成する回路を備えるよう構成されている、のが好ましい。
【０５６７】
《６２》［基本的構成：電圧発生部と電圧状態モニタ部］
本項のメモリシステム用の電源回路は、生成すべき電源電圧に関してフラッシュメモリコントローラから制御を受け、その制御に従って自己の内部状態を監視し、監視結果（電源状態（駆動率）等）をフラッシュメモリコントローラに返す。フラッシュメモリコントローラは返ってきた監視結果（電源状態（駆動率）等）を電源電圧の制御に利用する。この構成によれば、制御形態が絶えざるフィードバック・フィードフォワードであることから、リアルでダイナミックなきめの細かい制御を実現することができる。これは、以下に説明するような様々な実施例においてさらに有利に展開することが可能である。
【０５６８】
＜実施例２９＞
図５６は本発明の実施例２９における不揮発性記憶システム（メモリシステム用の電源回路）の構成を示すブロック図である。図５６において、１０はフラッシュメモリコントローラ、２０はメモリシステム用の電源回路、２５は複数のフラッシュメモリ２６の集合からなるメモリブロックである。フラッシュメモリコントローラ１０は、１つあるいは複数のフラッシュメモリ２６それぞれに、読み出し状態、書き込み／消去状態等を設定するとともに、フラッシュメモリ２６の各状態によって必要とされる電圧／電流能力に応じて電源制御信号Ｑ１を生成して電源回路２０に与える。
【０５６９】
電源回路２０は、構成要素として、パラメータ設定部４０、電圧発生部５０および電圧状態モニタ部６０を備えている。１はシステム電源であり、このシステム電源１は、フラッシュメモリコントローラ１０や電源回路２０やフラッシュメモリ２６に、基本電源となる電源電圧ＶＤＤを供給するようになっている。フラッシュメモリコントローラ１０は電源回路２０に、コントロールバス４２を介して接続されている。コントロールバス４２には電源制御信号Ｑ１と電源状態通知信号Ｑ２とが伝送される。フラッシュメモリコントローラ１０はバス４３を介して複数のフラッシュメモリ２６それぞれに接続されている。Ｑ３はコントロールバス４２に乗るフラッシュメモリ制御信号である。電源回路２０は電源線４４を介して各フラッシュメモリ２６に接続されている。
【０５７０】
電源回路２０は、フラッシュメモリコントローラ１０から送られてくる電源制御信号Ｑ１を入力するための電源制御端子Ｔ１と、電圧状態モニタ部６０から電源状態通知信号Ｑ２をフラッシュメモリコントローラ１０に向けて出力するための電源状態通知端子Ｔ２と、電圧発生部５０から電源電圧をフラッシュメモリ２６に出力するための電源出力端子Ｔ３とを備えている。
【０５７１】
パラメータ設定部４０は電源制御信号Ｑ１に基づいて、電流能力、昇圧並列数、昇圧段数、発振周波数など各種の制御パラメータを設定する機能を有している。電源制御信号Ｑ１は、フラッシュメモリコントローラ１０から電源制御端子Ｔ１を介してパラメータ設定部４０に入力される。パラメータ設定部４０の出力側は電圧発生部５０につながっている。
【０５７２】
電圧発生部５０は、パラメータ設定部４０によって各種パラメータが設定される。電圧発生部５０は、設定されたパラメータに応じてフラッシュメモリ動作用の電源電圧を生成出力する機能を有している。電圧発生部５０において生成された電源電圧は電源出力端子Ｔ３を介してフラッシュメモリ２６群へ供給されるようになっている。電圧発生部５０はさらに、生成した電源電圧の変化を示す電源電圧変化信号Ｎ１０を生成して電圧状態モニタ部６０に送出するようになっている。
【０５７３】
電圧状態モニタ部６０は、電圧発生部５０が送出する電源電圧変化信号Ｎ１０を受け取り、その電源電圧変化信号Ｎ１０に基づいて電圧発生部５０の駆動率を示す電源状態通知信号Ｑ２を生成し、生成した電源状態通知信号Ｑ２を電源状態通知端子Ｔ２からフラッシュメモリコントローラ１０へ出力するようになっている。図５７は電源回路２０の動作を示すフローチャートである。
【０５７４】
本実施例によれば、次の効果がある。電源回路２０は、生成すべき電源電圧を外部のフラッシュメモリコントローラ１０によって制御され、また自己の内部状態を常時的に監視し、その監視結果である電源状態通知信号Ｑ２（駆動率を示す）をフラッシュメモリコントローラ１０に返す。フラッシュメモリコントローラ１０は受け取った電源状態通知信号Ｑ２（駆動率）に基づいて電源回路２０を制御する。このような絶え間のないフィードバック・フィードフォワード制御を行うので、リアルでダイナミックなきめの細かい制御が実現化される。その結果、あえて過剰な電源能力をもたせるといったようなことをしなくて済み、無駄な電力消費の抑制を図ることができる。
【０５７５】
《６３》［複数種類の処理実行用電源回路］
上述した《６２》のメモリシステム用の電源回路においては、電圧発生部および電圧状態モニタ部の組（対）を複数設けることが一般的である。メモリシステム用の電源回路については、一般的に、読み出し用電源回路と書き込み／消去用電源回路とを有している。さらに典型的には、読み出し用電源回路、書き込み／消去用電源回路、およびベリファイ用電源回路を有している。これら複数種類の電源回路をまとめて複数種類の処理実行用電源回路と呼ぶことにする。
【０５７６】
読み出し用の電圧発生部には読み出し用の電圧状態モニタ部が関連付けられ、書き込み／消去用の電圧発生部には書き込み／消去用の電圧状態モニタ部が関連付けられ、ベリファイ用の電圧発生部にはベリファイ用の電圧状態モニタ部が関連付けられる。これら各種の電圧発生部の標準電圧は互いに相違している。複数種類の処理実行用電源回路は、フラッシュメモリコントローラとの関連において互いに独立した制御および動作の形態をとる。
【０５７７】
読み出し用電源回路の読み出し用の電圧発生部は、フラッシュメモリコントローラによって電源制御されたうえで、読み出し用の電圧発生部の電源状態は読み出し用の電圧状態モニタ部で監視される。読み出し用の電圧状態モニタ部は、監視結果として、読み出し用の電源状態通知信号をフラッシュメモリコントローラへ返す。フラッシュメモリコントローラは、受信した電源状態通知信号に従って読み出し用の電圧発生部を再設定する。
【０５７８】
また、書き込み／消去用電源回路の書き込み／消去用の電圧発生部は、フラッシュメモリコントローラによって電源制御されたうえで、書き込み／消去用の電圧発生部の電源状態は、書き込み／消去用の電圧状態モニタ部で監視される。書き込み／消去用の電圧状態モニタ部は、監視結果として、書き込み／消去用の電源状態通知信号をフラッシュメモリコントローラへ返す。フラッシュメモリコントローラは、受信した電源状態通知信号に従って書き込み／消去用の電圧発生部を再設定する。
【０５７９】
また、ベリファイ用電源回路のベリファイ用の電圧発生部は、フラッシュメモリコントローラによって電源制御されたうえで、ベリファイ用の電圧発生部の電源状態は、ベリファイ用の電圧状態モニタ部で監視される。ベリファイ用の電圧状態モニタ部は、監視結果を、ベリファイ用の電源状態通知信号としてフラッシュメモリコントローラへ返す。フラッシュメモリコントローラは、受信した電源状態通知信号に従ってベリファイ用の電圧発生部を再設定する。
【０５８０】
以上を要するに、本項のメモリシステム用の電源回路は、上述した《６１》の構成において、電圧発生部および電圧状態モニタ部は、それぞれ、複数種類の処理実行用電源回路として複数設けられ、複数種類の処理実行用電源回路は互いに独立して制御され動作するように構成されている。
【０５８１】
本項によれば、複数のフラッシュメモリが、互いに異なる処理（読み出しや書き込み）を実施するために異なる電圧を必要とした場合であっても、それぞれの処理に応じた適切な電源電圧を生成して供給することが可能となる。さらには、それぞれの電源状態（駆動率または余裕度）の監視結果を出力することで、システムにおいて最適な状態で電圧発生部を駆動することが可能となり、その結果、無駄な消費電流を削減することが可能となる。
【０５８２】
上記の《６３》の構成の具体例を実施例３０として以下に説明する。
【０５８３】
＜実施例３０＞
図５８は本発明の実施例３０における不揮発性記憶システム用のメモリシステム用の電源回路２０の構成を示すブロック図である。電源回路２０において、処理実行用電源回路として３種類のものが設けられている。１つはロジック用の電源回路である。これは、ロジック用の電圧発生部５１とロジック用の電圧状態モニタ部６１との組と、読み出し用の電圧発生部５２と読み出し用の電圧状態モニタ部６２との組と、書き込み／消去用の電圧発生部５３と書き込み／消去用の電圧状態モニタ部６３との組とを備えている。なお、ロジック動作に必要な電源電圧は、一例として、最大で１．８Ｖ、読み出し動作に必要な電源電圧は最大で５Ｖ、書き込み／消去動作に必要な電源電圧は最大で２０Ｖとなっている。
【０５８４】
パラメータ設定部４０は３つの電圧発生部５１〜５３に共通となっている。Ｔ２１，Ｔ２２，Ｔ２３はそれぞれ電源状態通知端子であり、３つの電圧状態モニタ部６１，６２，６３ごとに個別となっている。Ｔ３１，Ｔ３２，Ｔ３３はフラッシュメモリ２６群への電源出力端子であり、３つの電圧状態モニタ部６１，６２，６３ごとに個別となっている。その他の構成については、実施例１２の場合の図５６と同様であるので、同一部分に同一符号を付すにとどめ、説明を省略する。
【０５８５】
次に、上記のように構成された本実施例のメモリシステム用の電源回路の動作を説明する。読み出し用電源回路においては、フラッシュメモリコントローラ１０から読み出し用の電圧発生部５２に対して電源制御がなされる。読み出し用の電圧発生部５２の駆動状態を読み出し用の電圧状態モニタ部６２で監視し、読み出し用の電源状態通知信号Ｑ２がフラッシュメモリコントローラ１０へ返される。フラッシュメモリコントローラ１０は、その電源状態通知信号Ｑ２に従って読み出し用の電圧発生部５２を再設定する。
【０５８６】
また、書き込み／消去用電源回路の書き込み／消去用の電圧発生部５３は、フラッシュメモリコントローラ１０によって電源制御されたうえで、書き込み／消去用の電圧発生部５３の駆動状態は、書き込み／消去用の電圧状態モニタ部６３で監視される。書き込み／消去用の電圧状態モニタ部６３は、監視結果として、書き込み／消去用の電源状態通知信号Ｑ２をフラッシュメモリコントローラ１０へ返す。フラッシュメモリコントローラ１０は、受信した電源状態通知信号Ｑ２に従って書き込み／消去用の電圧発生部５３を再設定する。
【０５８７】
また、ロジック用電源回路のロジック用の電圧発生部５１は、フラッシュメモリコントローラ１０によって電源制御がされたうえで。ロジック用の電圧発生部５１の駆動状態は、ロジック用の電圧状態モニタ部６１で監視される。ロジック用の電圧状態モニタ部６１は、監視結果として、ロジック用の電源状態通知信号Ｑ２をフラッシュメモリコントローラ１０へ返す。フラッシュメモリコントローラ１０は、受信した電源状態通知信号Ｑ２に従ってロジック用の電圧発生部５１を再設定する。
【０５８８】
本実施例によれば、それぞれの電圧発生部５１〜５３および電圧状態モニタ部６１〜６３からなる処理実行用電源回路に対して実施例１２（図５６）と同様の効果が発揮される。
【０５８９】
なお、Ｔ２１，Ｔ２２，Ｔ２３の電源状態通知端子を削減するために、電源状態通知信号Ｑ２をバスとして出力してもよい。例えば電源状態通知信号［１：０］とすれば、端子を１つ削減することができる。
【０５９０】
<６４>なお、<６２>の構成においては、
前記電圧発生部は、入力電源電圧よりも高い電圧を発生する昇圧電圧発生部と、
前記入力電源電圧よりも低い電圧を発生する降圧電圧発生部と、
をさらに備えているのが好ましい。
【０５９１】
《６５》［積分回路、比較回路、ステータスレジスタ］
上記《６２》，《６３》のメモリシステム用の電源回路において、電圧状態モニタ部を次のように構成することが考えられる。
【０５９２】
まず、電圧発生部は、電源状態をオンデューティで表すパルス信号の電源電圧変化信号を生成して電圧状態モニタ部に出力するものとして構成されている。
【０５９３】
電圧状態モニタ部は、積分回路と比較回路とステータスレジスタを備えて構成されている。積分回路は、電圧発生部からの電源電圧変化信号をそれのインアクティブ期間にわたって積分するものである。比較回路は、積分回路による積分信号を参照電圧と比較し、比較結果を電源状態情報信号として出力するものである。ステータスレジスタは、比較回路からの電源状態情報信号をラッチするものである。そのラッチのタイミングは電源電圧変化信号のアクティブへの変化タイミングとなっている。
【０５９４】
電圧発生部における電源状態はオンデューティで駆動率を表すパルス信号として積分回路に入力される。積分回路は電源電圧変化信号をそれのインアクティブ期間にわたって積分する。積分値は電源電圧変化信号のインアクティブ期間が長いほど大きくなる。比較回路は積分信号を参照電圧と比較する。参照電圧を上回るときは比較回路の出力は論理反転する。比較回路の出力はアクセス期間の終了に伴ってステータスレジスタにラッチされる。
【０５９５】
電圧発生部における電源状態（駆動率または余裕度）が規定値をオーバーしてオーバーロード気味になるときは、結果として、ステータスレジスタがアサート状態にセットされる。一方、電源状態が規定値に達しなければ、結果として、ステータスレジスタがネゲート状態にセットされる。
【０５９６】
このようにしてステータスレジスタに電源状態通知信号の情報（駆動率）をセットしておくことにより、フラッシュメモリコントローラは、ポーリング（定期的または不定期的な問い合わせに応じた通知）によりメモリシステム用の電源回路の電源状態情報を適宜に取得することが可能になる。
【０５９７】
なお、電圧発生部における電源状態として、当業者としては当然考えうる範囲であるため図示はしないがノードＮ１０にインバータ回路を追加することで、電圧発生部の駆動率ではなく余裕度をオンデューティで表すパルス信号を出力することが可能となる。これにより、余裕度を表すパルス信号を積分することで、電圧発生回路の動作余裕状態を監視することも可能である。その際、ノードＮ１０の信号を積分した値が高いほど余裕度があり、積分値が低いほど電圧発生部は動作しており余裕度が低くなることは言うまでもない。したがって、オーバーロードも余裕度が低くなると発生しやすくなる。以降、詳細には電源回路の説明として駆動率を例示するが、余裕度としても取り扱うことも可能である。
【０５９８】
上記の《６５》の構成の具体例を実施例３１として以下に説明する。
【０５９９】
＜実施例３１＞
図５９は電源回路２０の詳細を示すブロック回路図である。パラメータ設定部４０は、フラッシュメモリコントローラ１０から受け取った電源制御信号Ｑ１に基づいて、電圧発生部５０に必要となる各種パラメータが設定されるよう関連付けられている。パラメータ設定部４０では４つの設定項目が例示されている。例えば、電源制御信号Ｑ１が「１」のときは、電流能力は「０．５」に、昇圧並列数は「４」に、昇圧段数は「８」に、発振周波数が「２５」は設定される。また、電源制御信号Ｑ１が「３」のときは、電流能力は「１」に、昇圧並列数は「８」に、昇圧段数は「８」に、発振周波数は「２５」に設定される。
【０６００】
電圧発生部５０は、発振回路５４、複数の昇圧回路５５、電圧検出部５６および差動アンプによる比較回路５７を備えている。発振回路５４の出力端子は昇圧回路５５の入力端子に接続され、昇圧回路５５の出力端子は電源出力端子Ｔ３に接続され、また電圧検出部５６の入力端子に接続されている。電圧検出部５６の出力端子は比較回路５７における反転入力端子（−）に接続され、比較回路５７の出力端子は発振回路５４の周波数制御端子に接続され、さらに電圧状態モニタ部６０の入力端子に接続されている。
【０６０１】
パラメータ設定部４０において設定されたパラメータに基づいて、発振回路５４の周波数および昇圧回路５５の並列数／段数が設定される。発振回路５４の出力で昇圧回路５５を駆動し、基準の電源電圧ＶＤＤをより高い設定レベルまで昇圧して昇圧電圧ＶＨＨを発生し、電源出力端子Ｔ３からフラッシュメモリ２６群へ電源を供給する。昇圧電圧ＶＨＨは、昇圧回路５５の出力端子に接続される負荷に応じて変動する。
【０６０２】
生成された電源電圧は、抵抗分割を備えた電圧検出部５６で検知され、検知結果は、電圧検出部５６から比較回路５７に渡される。比較回路５７に入力される検知結果は電圧信号であって、その電圧信号は脈流である。比較回路５７は、予め設定しておいた参照電圧ＶＲＥＦ＿Ｖと検知結果（電圧信号）とを比較し、その比較結果を、電源電圧変化信号Ｎ１０として出力する。電源電圧変化信号Ｎ１０はオン・オフのデューティ比をもつパルス信号となる。
【０６０３】
さらに詳細に説明する。昇圧電圧ＶＨＨが目標電圧未満になると、電圧検出部５６における抵抗Ｒによって分圧された電圧が比較回路５７の参照電圧ＶＲＥＦ＿Ｖより低くなって、比較回路５７は電源電圧変化信号Ｎ１０として“Ｈ”レベルを出力する。比較回路５７は、生成した電源電圧変化信号Ｎ１０を、後段の電圧状態モニタ部６０へ出力する。さらに比較回路５７は、電源電圧変化信号Ｎ１０を内部の発振回路５４へフィードバックさせることで、電源電圧変化信号Ｎ１０のオン・オフ制御に基づいて発振出力を脈流化させる。電圧発生部５０における昇圧回路５５が生成出力する電圧は、パラメータ設定部４０に設定されたパラメータによって制御される。
【０６０４】
比較回路５７が“Ｈ”レベルを出力する状態では、発振回路５４は動作状態に設定され、昇圧動作を実行する。一方、昇圧電圧ＶＨＨが目標電圧を上回ると、電圧検出部５６の抵抗Ｒによって分圧された電圧が参照電圧ＶＲＥＦ＿Ｖより高くなって、比較回路５７は“Ｌ”レベルを出力する。比較回路５７が“Ｌ”レベルを出力する状態では、発振回路５４は停止状態となり、昇圧動作が停止される。つまり、比較回路５７から出力される電源電圧変化信号Ｎ１０の“Ｈ”レベル区間は、昇圧回路５５の駆動率として換算可能である。電源電圧変化信号Ｎ１０の“Ｌ”レベル区間は、動作余剰率として定義することも可能である。
【０６０５】
電圧状態モニタ部６０は、トランスファゲート６４、インバータ６５、遅延回路６６、積分回路６７、比較回路６８、およびステータスレジスタ６９（フリップフロップからなる）を備えている。電圧発生部５０において電源電圧変化信号Ｎ１０を出力する比較回路５７の出力端子がトランスファゲート６４を介して積分回路６７の入力端子に接続されている。比較回路５７の出力端子はトランスファゲート６４の制御端子およびインバータ６５の入力端子に接続されている。インバータ６５の出力端子は遅延回路６６の入力端子に接続されている。遅延回路６６の出力端子は積分回路６７の制御端子に接続されている。積分回路６７の出力端子は比較回路６８の非反転入力端子（＋）に接続されている。比較回路６８の出力端子はステータスレジスタ６９のデータ入力端子に接続され、そのクロック入力端子にはインバータ６５の出力端子が接続されている。ステータスレジスタ６９のデータ出力端子は電源状態通知端子Ｔ２に接続されている。
【０６０６】
電圧状態モニタ部６０の動作を図６０のタイミングチャートに従って説明する。電圧発生部５０の駆動率を表す電源電圧変化信号Ｎ１０がトランスファゲート６４の入力端子と制御端子とに入力される。トランスファゲート６４は、制御入力が“Ｈ”レベルのときは開動作し、“Ｌ”レベルのとき閉動作する。トランスファゲート６４を通過した被積分信号Ｎ１４は、ゲート開のとき“Ｈ”となり、ゲート閉のときハイインピーダンス（Ｈiz）となる。
【０６０７】
インバータ６５は、電源電圧変化信号Ｎ１０を論理反転し、その反転信号Ｎ１２を遅延回路６６とステータスレジスタ６９のクロック入力端子に供給する。遅延回路６６から出力される積分制御信号Ｎ１３は立ち上がりが遅延する。この積分制御信号Ｎ１３で積分回路６７を動作させる。積分制御信号Ｎ１３が“Ｌ”レベルの期間において積分回路６７はトランスファゲート６４を通過した被積分信号Ｎ１４の“Ｈ”レベル期間を時間経過とともに積分し、積分信号Ｎ１５を生成する。積分信号Ｎ１５はアナログの比較回路６８に入力され、期間を定める参照電圧ＶＲＥＦ＿Ｄｕｔｙと比較され、電源状態情報信号Ｎ１６として出力される。
【０６０８】
積分信号Ｎ１５のレベルが時間経過に伴って上昇し、参照電圧ＶＲＥＦ＿Ｄｕｔｙに達すると、比較回路６８の出力の電源状態情報信号Ｎ１６がそれまでの“Ｌ”レベルから反転して“Ｈ”レベルとなる。積分信号Ｎ１５が上昇しても、積分制御信号Ｎ１３が“Ｌ”レベルの期間に参照電圧ＶＲＥＦ＿Ｄｕｔｙに達しなかったときは、比較回路６８から出力される電源状態情報信号Ｎ１６の電圧レベルは“Ｌ”レベルのままである。このときは、電圧発生部５０は所望の駆動率以下である。電源状態情報信号Ｎ１６が“Ｈ”レベルであれば、所望の駆動率以上となっている。所望の駆動率は、比較回路６８の参照電圧ＶＲＥＦ＿Ｄｕｔｙの調整を通じて調整可能である。
【０６０９】
このようにして比較回路６８から電源状態情報信号Ｎ１６が出力される。電源状態情報信号Ｎ１６はステータスレジスタ６９のデータ入力端子に印加される。インバータ６５からの反転信号Ｎ１２によるクロックの立ち上がりのタイミングで電源状態情報信号Ｎ１６の論理状態がフリップフロップからなるステータスレジスタ６９に取り込まれ、電源状態通知信号Ｑ２として電源状態通知端子Ｔ２からフラッシュメモリコントローラ１０に向けて出力される。
【０６１０】
この電圧状態モニタ部６０での動作のポイントは積分と比較にある。電圧発生部５０での駆動率が高いと、電源電圧変化信号Ｎ１０の“Ｈ”レベル期間が長く、積分期間も長くなるから、比較回路６８から出力される電源状態情報信号Ｎ１６は論理反転してアクティブとなる傾向が高くなる。一方、電圧発生部５０での駆動率が低いと、電源電圧変化信号Ｎ１０の“Ｈ”レベル期間が短く、積分期間も短くなるから、比較回路６８から出力される電源状態情報信号Ｎ１６は論理反転せずインアクティブのままである傾向が高くなる。すなわち、電圧状態モニタ部６０は電圧発生部５０の駆動率が一定の閾値を超えるか否かをモニタリングしている。駆動率が閾値を超えるということは電源回路２０の電圧発生部５０がオーバーロードを起こす限界を超えたことを意味する。電圧状態モニタ部６０で導出された電圧発生部５０の駆動率は、電源状態通知端子Ｔ２を介して電源状態通知信号Ｑ２として出力される。「オーバーロードを起こす限界を超えた」というのは、ステータスレジスタ６９が１ビットとなっているためである。多ビットであれば、任意の閾値レベルとの比較となる。
【０６１１】
電源電圧変化信号Ｎ１０の“Ｈ”レベル期間の、発振回路５４の１周期に対する割合が規定値を超えると、電源状態通知信号Ｑ２が“Ｈ”レベルとなり、その規定値を越えなければ、電源状態通知信号Ｑ２は“Ｌ”レベルを保つ。これは、電圧発生部５０の駆動率が閾値を超えたかの判定に役立つ。なぜなら、電源電圧変化信号Ｎ１０のオン・オフデューティ比は、電圧発生部５０の駆動率とほぼ等価であるからである。
【０６１２】
“Ｈ”レベルに判定した電源状態通知信号Ｑ２を受け取ったフラッシュメモリコントローラ１０は、電源制御信号Ｑ１を更新して電源回路２０のパラメータ設定部４０に与える。これにより電源回路２０の電流能力は低い方に設定し直される。その結果として、電源電圧変化信号Ｎ１０のオンデューティが小さくなり、被積分信号Ｎ１４の“Ｈ”レベル期間が短くなり、積分信号Ｎ１５が論理反転しないで“Ｌ”レベルを保つ結果、電源状態情報信号Ｎ１６は“Ｌ”レベルのままであり、反転信号Ｎ１２の次の立ち上がりタイミングでは電源状態通知信号Ｑ２は“Ｌ”レベルに反転する。
【０６１３】
本実施例によれば、ステータスレジスタ６９に電源状態通知信号Ｎ１６の情報（駆動率）をセットしておくので、フラッシュメモリコントローラ１０は、ポーリングで電源回路２０の電源状態情報を適宜に取得することができる。
【０６１４】
《６６》［カウンタ回路］
積分回路や比較回路やステータスレジスタに言及した上記《６５》のメモリシステム用の電源回路において、高い周波数に対する動作の安定性を図るための次のような技術がある。それは、電圧状態モニタ部において、電源電圧変化信号の入力部と積分回路との間にカウンタ回路を挿入する構成である。
【０６１５】
積分信号のレベル上昇は時間経過とともにある。積分回路は電源電圧変化信号を積分する。電圧発生部における動作クロックの周波数が高くなれば、電源電圧変化信号の周期が短くなり、比較回路において積分信号が参照電圧に達するのには時間不足になりやすい。そこで、電源電圧変化信号をその１周期内で積分することに代えて、何倍かの周期分の電源電圧変化信号を積分することとする。その周期分をｍ周期分とすると、カウンタ回路はその周期ｍをカウントする。カウント値が０から始めて（ｍ−１）に達すると、次のカウントアップでリセットされ、０に戻る。ｍ周期分の期間にわたって電源電圧変化信号を積分するので、積分信号のレベルは参照電圧と比較する上で充分に精度の高いレベルとなる。
【０６１６】
要するに本項のメモリシステム用の電源回路は、上述した積分回路や比較回路やステータスレジスタに言及した《６５》の構成において、電圧状態モニタ部は、さらに、電圧発生部からの電源電圧変化信号の入力部と積分回路の入力部との間に、電源電圧変化信号の周期をカウントし、複数周期分のカウントアップでリセットされるカウンタ回路を備えている。
【０６１７】
このように構成すれば、積分回路において電源電圧変化信号を積分する期間を、カウンタ回路のカウントアップ周期まで延長化するので、電圧発生部が高い周波数で動作する場合でも、電源状態情報（駆動率）を高精度に捕捉することが可能となる。なお、上記の現象は、電圧発生部の電源状態を時間的に平均化することに相当する。つまり、状態遷移に時間的ヒステリシスをもたせ、システム状態が不安定になることを抑制している。
【０６１８】
上記の《６６》の構成の具体例を実施例３２として以下に説明する。
【０６１９】
＜実施例３２＞
図６１は本発明の実施例３２におけるメモリシステム用の電源回路の構成を示すブロック図である。本実施例においては、実施例３１の場合の図５９において、その電圧状態モニタ部６０にカウンタ回路７０とアンドゲート素子７１とが追加されている。この構成は、発振回路５４の発振周波数が高い場合に対応するためである。
【０６２０】
カウンタ回路７０は、その入力端子が電圧発生部５０の比較回路５７の出力端子に接続され、出力端子はインバータ６５に接続されている。また、カウンタ回路７０の入力端子と出力端子とはアンドゲート素子７１の入力端子に接続され、アンドゲート素子７１の出力端子はトランスファゲート６４の制御端子に接続されている。カウンタ回路７０は、０から始めて規定のカウント値までカウントすると、次のカウントアップによりリセットされて０に戻る形態となっている。その規定のカウント値は、トリミングによって変更可能となっている。その他の構成については、実施例１４の場合の図５９と同様であるので説明を省略する。
【０６２１】
カウンタ回路７０を設けた本実施例は、後述する実施例のような発振回路５４の周波数が高い値となる構成（図７５、図７６参照）の場合に適している。その実施例では、昇圧回路５５の昇圧容量が電源回路２０（電源チップ）の内部に備えられる内蔵容量素子を使用している。
【０６２２】
図６２は上記のように構成された実施例３２の電源回路２０の動作を示すタイミングチャートである。以下、このタイミングチャートに従って動作を説明する。電圧状態モニタ部６０におけるカウンタ回路７０は、電源電圧変化信号Ｎ１０の“Ｌ”レベルから“Ｈ”レベルへの遷移回数をカウントする。カウンタ回路７０の出力であるカウント値信号Ｎ１１はカウントアップするまで“Ｈ”レベルを保ち、カウントアップすると論理反転して“Ｌ”レベルへリセットされる。カウントアップのカウント数は「４」に設定されている。すなわち、カウント値が０から始めて（ｍ−１）＝３に達すると、次のカウントアップでリセットされ、０に戻る。カウント値信号Ｎ１１は、３周期分の期間にわたって“Ｈ”レベルを保つ。このカウント値信号Ｎ１１のリセットのタイミングは、ステータスレジスタ６９において比較回路６８からの電源状態情報信号Ｎ１６の論理状態を取り込むタイミングとなる。
【０６２３】
アンドゲート素子７１は、電源電圧変化信号Ｎ１０とカウント値信号Ｎ１１との論理積をとり、その結果でトランスファゲート６４を開き、電源電圧変化信号Ｎ１０を被積分信号Ｎ１４として積分回路６７に入力する。積分回路６７は、被積分信号Ｎ１４の“Ｈ”レベル期間で積分動作を実行し、合計３周期分の累積が行われる。
【０６２４】
このことは、積分の時間を３周期分まで延長していることになる。別の見方をすると、３周期分の期間での平均化を行っていることに相当する。平均化とは均す（ならす）ことであり、発振回路５４の発振周波数が高いと、電源電圧変化信号Ｎ１０が頻繁に論理遷移し、積分動作が乱れやすくなる。このことの影響を平均化によって緩和する。つまり、状態遷移に時間的ヒステリシスをもたせ、システム状態が不安定になることを抑制している。積分の時間の延長の度合いは、カウンタ回路７０におけるカウントアップ値の設定変更で調整可能である。
【０６２５】
ステータスレジスタ６９は比較回路６８からの電源状態情報信号Ｎ１６の論理状態を、インバータ６５の反転信号Ｎ１２の立ち上がりのタイミングで更新する。このタイミングは、カウンタ回路７０のカウント値が「０ｈ」になるタイミングである。つまり、カウント値が「０ｈ」となるたびに、電圧発生部５０の電源状態（駆動率または余裕度）がステータスレジスタ６９において更新されることになる。カウント値が「０ｈ」となる周期は、上記の通り調整可能である。
【０６２６】
本実施例によれば、カウンタ回路７０の挿入により、積分回路６７で電源電圧変化信号Ｎ１０（被積分信号Ｎ１４）を積分する期間を、カウンタ回路７０のカウントアップ周期まで延長化する。その結果として、電圧発生部５０が高い周波数で動作する場合でも、電圧発生部５０の駆動率を高精度に捕捉することができる。ひいては、駆動率によるフィードバック制御により、システムの消費電力を最適化しやすくなる。
【０６２７】
《６７》［多ビット出力］
積分回路、比較回路、ステータスレジスタに言及した上述の《６５》，《６６》のメモリシステム用の電源回路において、電圧状態モニタ部を次のように構成することが考えられる。それは、比較回路およびステータスレジスタを複数段にして、電源状態通知信号を多ビットで出力することである。すなわち、積分回路からの積分信号を入力する比較回路として、参照電圧を異にする複数段の比較回路を備えることとする。併せて、ステータスレジスタとして、複数段の比較回路に対応した複数段のステータスレジスタを備えることとする。
【０６２８】
本構成によれば、電圧発生部の電源状態（駆動率または余裕度）を電源状態通知信号として多ビットで出力するもので、電圧発生部の電源状態を段階的に、かつ詳細に把握することが可能となる。電源状態通知信号の分解能が高くなり、システムの電力最適化をさらに向上することが可能となる。
【０６２９】
《６８》［多ビット出力］＊［テーブル変換］
複数段のステータスレジスタに言及した上述の《６７》のメモリシステム用の電源回路において、電圧状態モニタ部を次のように構成することが考えられる。それは、電圧状態モニタ部は、複数段の比較回路の出力側または複数段のステータスレジスタの出力側に必要ビット数を減じるためのテーブル変換回路を備えているというものである。
【０６３０】
積分結果は単純増加することになり、途中でビットが反転減少することはあり得ない。このことを利用すると、電源状態通知信号につきビット数を減らすことが可能となる。これを実現するのがテーブル変換回路である。
【０６３１】
本構成によれば、テーブル変換回路によって必要ビット数が削減され、メモリシステム用の電源回路をとフラッシュメモリコントローラと結ぶバスおよび端子が簡素化される。
【０６３２】
上記の《６７》，《６８》の構成の具体例を実施例３３として以下に説明する。
【０６３３】
＜実施例３３＞
図６３は本発明の実施例３３におけるメモリシステム用の電源回路の構成を示すブロック図である。本実施例においては、積分回路６７の出力側の比較回路６８を複数段設けている。本実施例では３段の比較回路６８を設けている。複数段の比較回路６８における参照電圧は互いに相違しており、ＶＲＥＦ＿Ｄｕｔｙ２＞ＶＲＥＦ＿Ｄｕｔｙ１＞ＶＲＥＦ＿Ｄｕｔｙ０となっている。積分回路６７から出力される積分信号Ｎ１５は複数段の比較回路６８に共通に入力されるように結線されている。すなわち、積分信号Ｎ１５を多ビットで出力するようになっている。
【０６３４】
複数段の比較回路６８の出力側のステータスレジスタ６９も複数段設けられている。本例では３段のステータスレジスタ６９が設けられている。これら複数段のステータスレジスタ６９の各データ入力端子に、前段の比較回路６８から出力される電源状態情報信号Ｎ１６，Ｎ１７，Ｎ１８が入力されるように結線されている。複数段のステータスレジスタ６９のクロック入力端子にはインバータ６５からの反転信号Ｎ１２が共通に入力されるように結線されている。複数段のステータスレジスタ６９のデータ出力端子はテーブル変換回路７２に入力接続され、テーブル変換回路７２の出力端子は電源状態通知端子Ｔ２に接続されている。テーブル変換回路７２からは多ビットの電源状態通知信号Ｑ２がフラッシュメモリコントローラ１０に出力されることになる。
【０６３５】
積分信号Ｎ１５のレベルを、
・参照電圧ＶＲＥＦ＿Ｄｕｔｙ０以下、
・ＶＲＥＦ＿Ｄｕｔｙ０超〜ＶＲＥＦ＿Ｄｕｔｙ１以下、
・ＶＲＥＦ＿Ｄｕｔｙ１超〜ＶＲＥＦ＿Ｄｕｔｙ２以下、
・ＶＲＥＦ＿Ｄｕｔｙ２超、
の４つの段階に分けて捉えるようになっている。つまりは、電圧発生部５０の駆動率を複数段階で細かく検出するものである。
【０６３６】
複数段の比較回路６８の出力である電源状態情報信号Ｎ１６，Ｎ１７，Ｎ１８は、それぞれ「０」か「１」のどちらかである。その組み合わせは、［０，０，０］、［０，０，１］、［０，１，０］、［０，１，１］、［１，０，０］、［１，０，１］、［１，１，０］、［１，１，１］である。これらいずれかのデータ配列が複数段のステータスレジスタ６９にセットされる。
【０６３７】
ところで、上記した８つのデータ配列のうち、先行する配列からのビットの反転減少に相当する配列はあり得ないことが分かる。例えば［０，１，０］を主体にみるとき、１つ先行する配列は［０，０，１］である。［０，１，０］の最下位ビットが「０」であるのに対して［０，０，１］は最下位ビットが「１」と反転減少している。積分であるので、積分結果は単純増加することになり、途中で減少することはあり得ない。このように考えると、上記の８つのデータ配列のうち、［０，１，０］、［１，０，０］、［１，０，１］、［１，１，０］はあり得ないことが分かる。これらは１０進表示で、「２」、「４」、「５」、「６」に相当する。８つのうち４つはあり得ず、結局４つが残る。残るのは［０，０，０］、［０，０，１］、［０，１，１］、［１，１，１］（１０進表示で「０」、「１」、「３」、「７」）に相当の４つである。これらは、システム側では使用しにくい飛び飛びの値となっている。したがって、出力のビット数は３ビットから２ビットへ減らすことができる。これに対応するのがテーブル変換回路７２である。
【０６３８】
［０，０，０］、［０，０，１］、［０，１，１］、［１，１，１］（１０進表示で「０」、「１」、「３」、「７」）をそれぞれ［０，０］、［０，１］、［１，０］、［１，１］（１０進表示で「０」、「１」、「２」、「３」）に変換する。これで、テーブル変換によって連続したビット値として出力することが可能になる。
【０６３９】
電源状態通知信号Ｑ２の「０」、「１」、「２」、「３」に駆動率の異なる数値を対応させる。その一例として、２５％未満、２５％以上５０％未満、５０％以上７５％未満、７５％以上１００％未満が設定されている。
【０６４０】
図６３においては、テーブル変換回路７２を複数段のステータスレジスタ６９の出力側に設けているが、その機能を考慮すると、複数段のステータスレジスタ６９の入力側にテーブル変換回路７２を設けてもよい。また電圧発生部の駆動率として２５％以下、５０％以下、７５％以下、１００％以下と記載しているが、参照電圧ＶＲＥＦ＿Ｄｕｔｙ０  〜  ＶＲＥＦ＿Ｄｕｔｙ２の設定によってシステムにおいて必要となる駆動率に予め自由に合わせておくことが可能である。したがって、例えば５０％以下、６０％以下、８０％以下、９０％以下と設定してもよい。その他の構成については、実施例１５の場合の図６１と同様であるので説明を省略する。
【０６４１】
図６４は上記のように構成された実施例３３の電源回路２０の動作を示すタイミングチャートである。実施例３２の場合の図６２との比較で説明すると、参照電圧としてＶＲＥＦ＿Ｄｕｔｙ２，ＶＲＥＦ＿Ｄｕｔｙ１，ＶＲＥＦ＿Ｄｕｔｙ０の３つが設定されている。電源状態情報信号としてＮ１６，Ｎ１７，Ｎ１８の３つが取得されるようになっている。電源状態通知信号Ｑ２は２ビットデータとなっている。
【０６４２】
本実施例によれば、電圧発生部５０の駆動率を多ビットで出力することで、電圧発生部５０の電源状態を段階的に、かつ詳細に把握することが可能となり、システムの電力最適化をさらに向上することが可能となる。
【０６４３】
また、テーブル変換回路７２の存在により必要ビット数が削減されるので、電源回路２０とフラッシュメモリコントローラ１０とを結ぶバスおよび端子を簡素化することができる。
【０６４４】
《６９》［状態遷移検知部］
ステータスレジスタに言及した上述の《６５》，《６６》のメモリシステム用の電源回路において、電源状態通知信号を割り込み信号とすることが考えられる。ステータスレジスタに電源状態情報をセットする方式では、メモリシステム用の電源回路の電源状態の確認については、フラッシュメモリコントローラがポーリングにより定期的または不定期的に確認することを想定している。しかし、ポーリングによる電源状態の確認方式では、電源状態の遷移があったタイミングから遅れが生じるのが一般的である。この遅れを解消するのが、ここに示す割り込み方式である。
【０６４５】
上述した《６５》，《６６》の構成において、電圧状態モニタ部は、ステータスレジスタの出力側に、ステータスレジスタの内容に変化があったときに割り込み信号を生成出力する状態遷移検知部を備えた構成とされている。
【０６４６】
本項は、ステータスレジスタの個数が１つの態様のメモリシステム用の電源回路に適用することも可能であるし、ステータスレジスタの個数が２つ以上の態様のメモリシステム用の電源回路に適用することも可能である。
【０６４７】
少なくとも１つのステータスレジスタの内容に変化があれば、それを状態遷移検知部が検知して割り込み信号をフラッシュメモリコントローラに出力する。フラッシュメモリコントローラは、割り込み処理を受け取ると、直ちにステータスレジスタにアクセスして、電源状態遷移のタイミングの電源状態情報を取得することになる。
【０６４８】
本項によれば、電源状態情報の取得タイミングに遅れがないため、フラッシュメモリコントローラが電圧発生部を制御して電源状態を調整するときの応答性が速くなる。
【０６４９】
電源状態遷移通知信号を割り込み信号として使用することで、システムは電源状態遷移通知信号が遷移した時のみ、電源状態通知信号を確認すればよくなり、システム構成を簡素化することが可能となる。フラッシュメモリコントローラは電源状態通知信号をポーリングにより常時的に繰り返し確認する必要がなく、システム構成の簡便化を図ることができる。
【０６５０】
上述の《６９》の構成の具体例を実施例３４として以下に説明する。
【０６５１】
＜実施例３４＞
図６５は本発明の実施例３４におけるメモリシステム用の電源回路の構成を示すブロック図である。実施例３３の場合の図６３の構成において、本実施例では、さらに、ステータスレジスタ６９の内容が変化したときに割り込み信号を生成してフラッシュメモリコントローラ１０側に出力する状態遷移検知部７３が設けられている。状態遷移検知部７３は、複数段のレジスタ７４と、複数段の排他的論理和ゲート７５と、ＯＲゲート７６とを備えている。レジスタ７４の段数と排他的論理和ゲート７５の段数とは、ステータスレジスタ６９の段数と同じである。レジスタ７４のデータ入力端子はステータスレジスタ６９のデータ出力端子に接続され、クロック入力端子はカウンタ回路７０の出力端子に接続されている。レジスタ７４のデータ出力端子およびステータスレジスタ６９のデータ出力端子は排他的論理和ゲート７５の入力端子に接続されている。排他的論理和ゲート７５の出力端子はＯＲゲート７６の入力端子に接続され、ＯＲゲート７６の出力端子は電源状態遷移通知端子Ｔ４に接続されている。この電源状態遷移通知端子Ｔ４はフラッシュメモリコントローラ１０に接続されている。
【０６５２】
状態遷移検知部７３は、ステータスレジスタ６９のデータの前後比較を実施することで、状態遷移の有無を検知し、電源状態遷移通知信号Ｑ２′として出力する。その他の構成については、実施例１６の場合の図６３と同様であるので説明を省略する。
【０６５３】
図６６は上記のように構成された実施例３４の電源回路２０の動作を示すタイミングチャートである。ステータスレジスタ６９は３つあるが、このうち２つ目のステータスレジスタ６９の系統で説明する。２段目の比較回路６８の参照電圧はＶＲＥＦ＿Ｄｕｔｙ１である。積分信号Ｎ１５が参照電圧ＶＲＥＦ＿Ｄｕｔｙ１のレベルを超えると、電源状態情報信号Ｎ１７がアクティブとなり、インバータ６５の反転信号Ｎ１２の立ち上がりタイミングで２段目のステータスレジスタ６９に“Ｈ”レベルがセットされる。これにより、ステータスレジスタ６９の出力のＳｉｇｉｎｆｏ［１］が“Ｌ”レベルから“Ｈ”レベルに切り替わる。この“Ｈ”レベルのＳｉｇｉｎｆｏ［１］が排他的論理和ゲート７５に入力されるタイミングで、排他的論理和ゲート７５へのもう１つの入力であるレジスタ７４の出力信号Ｎ２０のレベルを見る。このタイミングでは、カウンタ回路７０からのカウント値信号Ｎ１１が“Ｌ”レベルであるため、Ｓｉｇｉｎｆｏ［１］の“Ｈ”レベルはレジスタ７４には取り込まれず、出力信号Ｎ２０は“Ｌ”レベルのままである。排他的論理和ゲート７５に入力する一方のレベルがＳｉｇｉｎｆｏ［１］の“Ｈ”レベルであり、他方のレベルが出力信号Ｎ２０の“Ｌ”レベルであるため、排他的論理和ゲート７５の出力信号Ｓｃ［１］は“Ｌ”レベルから“Ｈ”レベルに切り替わる。その結果、ＯＲゲート７６から出力される電源状態遷移通知信号（割り込み信号）Ｑ２′が“Ｌ”レベルから“Ｈ”レベルへ切り替わる。
【０６５４】
まとめると、積分信号Ｎ１５が参照電圧ＶＲＥＦ＿Ｄｕｔｙ１を上回ると、カウント値信号Ｎ１１の立ち下がりタイミングで直ちに電源状態遷移通知信号Ｑ２′がアクティブとなるということである。アクティブとなった電源状態遷移通知信号Ｑ２′は、カウント値信号Ｎ１１の次の立ち上がりタイミングでリセットされて“Ｌ”レベルへ戻される。
【０６５５】
以上は、２つ目のステータスレジスタ６９の系統での説明であるが、１つ目のステータスレジスタ６９の系統でも３つ目のステータスレジスタ６９の系統でも同様である。すなわち、積分信号Ｎ１５が参照電圧ＶＲＥＦ＿Ｄｕｔｙ０を上回ると、カウント値信号Ｎ１１の立ち下がりタイミングで直ちに電源状態遷移通知信号Ｑ２′がアクティブとなり、積分信号Ｎ１５が参照電圧ＶＲＥＦ＿Ｄｕｔｙ２を上回ると、カウント値信号Ｎ１１の立ち下がりタイミングで直ちに電源状態遷移通知信号Ｑ２′がアクティブとなる。
【０６５６】
本実施例によれば、１ビットまたは複数ビットからなる電源状態通知信号Ｑ２の論理値が変化したとき、電源状態遷移通知信号（割り込み信号）Ｑ２′を“Ｈ”レベルにしてシステムに通知するようになっており、割り込み信号をシステムに与えることで、常にシステムは電源状態通知信号Ｑ２を確認する必要がなく、割り込み信号のみを確認するだけでよくなり、システム構成の簡素化を図ることができる。
【０６５７】
《７０》［オーバーロード検出部］
複数段のステータスレジスタに言及した上述の《６７》のメモリシステム用の電源回路において、オーバーロード検出の機能をもたせる構成が考えられる。それは、電圧状態モニタ部において、電圧発生部でのオーバーロード状態を検出するオーバーロード検出部を追加したものである。オーバーロード検出部は、電圧発生部からの電源電圧変化信号を受け取り、その電源電圧変化信号に基づいて電圧発生部のオーバーロード状態を検出し、オーバーロード検出信号をフラッシュメモリコントローラに向けて出力するように構成されている。これは、電圧発生部の電源状態（駆動率）がオーバーロード気味にまで進行しているときは、事前に検知して対策を打とうとするものである。
【０６５８】
本構成によれば、オーバーロード状態をシステムに通知することで、その間、フラッシュメモリへの印加電圧が所望の値でなかったことを通知することが可能となる。これにより電圧不安定によるシステムの不安定さを回避することが可能となる。オーバーロード等の不具合に起因する不安定動作やシステムダウンを未然に回避し、データ信頼性を向上することが可能となる。
【０６５９】
上記の《７０》の構成の具体例を実施例３５として以下に説明する。
【０６６０】
＜実施例３５＞
図６７は本発明の実施例３５におけるメモリシステム用の電源回路の構成を示すブロック図である。実施例３４の場合の図６５の構成において、本実施例では、さらに、電圧状態モニタ部６０において、積分回路６７の出力側にオーバーロード検出部７７が設けられている。オーバーロード検出部７７は、積分回路６７から出力される積分信号Ｎ１５を参照電圧ＶＲＥＦ＿Ｏｖｅｒと比較するオーバーロード検知用の比較回路７８と、オーバーロード検知用のステータスレジスタ７９とを備えて構成されている。オーバーロード検知用の比較回路７８の出力端子はオーバーロード検知用のステータスレジスタ７９のデータ入力端子に接続され、オーバーロード検知用のステータスレジスタ７９のクロック入力端子にはインバータ６５の出力端子が接続されている。オーバーロード検知用のステータスレジスタ７９のデータ出力端子はテーブル変換回路７２の入力端子に接続されている。オーバーロード検知用の比較回路７８の出力端子はカウンタ回路７０のリセット端子に接続されている。
【０６６１】
オーバーロード検知用の比較回路７８における参照電圧ＶＲＥＦ＿Ｏｖｅｒのレベルは、図６５での最も高いレベルのＶＲＥＦ＿Ｄｕｔｙ２より高く設定されている（図６８参照）。オーバーロード検知用の比較回路７８から出力されるオーバーロード検出によるカウンタリセット信号Ｎ１９はカウンタ回路７０に供給され、カウンタ回路７０をリセットするようになっている。オーバーロード検知用の比較回路７８に対応するステータスレジスタ７９の出力はＳｉｇｉｎｆｏ［３：０］の最上位ビット「Ｆｈ」として割り付けられている。
【０６６２】
次に、上記のように構成された本実施例のメモリシステム用の電源回路の動作を説明する。図６８は電源回路２０の動作を示すタイミングチャートである。電圧発生部５０が常時連続的な動作状態に入ると、電圧発生部５０の比較回路５７から出力される電源電圧変化信号Ｎ１０は常に“Ｈ”レベルとなる。カウンタ回路７０ではカウントアップ動作が進まず、同じ状態を保持し続ける。この電源電圧変化信号Ｎ１０は、積分回路６７によって積分され続ける。その結果、オーバーロード検知用の比較回路７８において積分回路６７による積分信号Ｎ１５が参照電圧ＶＲＥＦ＿Ｏｖｅｒと比較され、カウンタリセット信号Ｎ１９が“Ｌ”レベルから“Ｈ”レベルへ切り替えられる。この“Ｈ”レベルのカウンタリセット信号Ｎ１９はカウンタ回路７０をリセットする。カウンタ回路７０の次段のインバータ６５による反転信号Ｎ１２が“Ｌ”レベルから“Ｈ”レベルへ切り替わるタイミングで、複数段の比較回路６８およびオーバーロード検知用の比較回路７８の出力信号がステータスレジスタ６９およびオーバーロード検知用のステータスレジスタ７９に格納される。そのタイミングで、オーバーロード検知用のステータスレジスタ７９が出力するオーバーロード検出信号Ｑ５が“Ｌ”レベルから“Ｈ”レベルへ切り替わる。
【０６６３】
本実施例によれば、カウンタリセット信号Ｎ１９を追加することで、電圧発生部５０から出力されていた電圧が所望の電圧でないことを直ちに通知することができ、電圧不安定によるシステムの不安定さを早期に回避することが可能となる。
【０６６４】
《７１》,《７２》［設定レジスタ、ロジック比較回路］
《６７》の複数段のステータスレジスタを備えた上述のメモリシステム用の電源回路において、電圧状態モニタ部を次のように構成することが考えられる。すなわち、外部から設定入力される電圧発生部の電源状態（駆動率）の比較値（電源状態比較値）を保持する設定レジスタを追加したうえで、複数段のステータスレジスタの保持内容と設定レジスタの保持内容とを比較し、前者が後者以上となったときに電源状態通知信号をアクティブにしてフラッシュメモリコントローラ側に出力するロジック比較回路とをさらに備える構成である。
【０６６５】
また、《６８》の複数段のステータスレジスタとテーブル変換回路を備えた上述のメモリシステム用の電源回路において、電圧状態モニタ部を次のように構成することが考えられる。すなわち、外部から設定入力される電圧発生部の電源状態（駆動率）の比較値（電源状態比較値）を保持する設定レジスタを追加したうえで、さらに、テーブル変換回路による変換内容と設定レジスタの保持内容とを比較し前者が後者以上となったときに電源状態通知信号をアクティブにしてフラッシュメモリコントローラ側に出力するロジック比較回路を備える構成である。
【０６６６】
上記２つのいずれも、設定レジスタには、使用者の操作により任意の電源状態比較値を設定する。あるいは、複数の電源状態比較値の候補のうちから任意のものを選択して設定する。
【０６６７】
本構成によれば、電源回路外部より、電圧発生部の電源状態が所望の値以上あるいは以下であるかを知るために設定レジスタに電源状態比較値を設定しておくことにより、電圧発生回路の電源状態をシステムが所望する値であるか否かを知ることが可能となる。
【０６６８】
上記の《７１》,<７２>の構成の具体例を実施例３６として以下に説明する。
【０６６９】
＜実施例３６＞
図６９は本発明の実施例３６におけるメモリシステム用の電源回路の構成を示すブロック図である。本実施例においては、《６８》の実施例３３の場合の図６３において、さらに、書き換え可能な設定レジスタ８０とロジック比較回路８１が追加されている。
【０６７０】
設定レジスタ８０は、ユーザが電圧発生部５０の電源状態について希望する電源状態比較値（目標駆動率）を設定するもので、その内容をユーザが任意に変更することが可能となっている。Ｔ５は目標駆動率を駆動状態設定信号Ｑ６のかたちでフラッシュメモリコントローラ１０から設定レジスタ８０に送り込むための駆動状態設定端子である。
【０６７１】
ロジック比較回路８１は、テーブル変換回路７２の内容と設定レジスタ８０の内容とを比較し、前者が後者以上となったときに電源状態通知信号Ｑ２を生成して、電源状態通知端子Ｔ２から外部のフラッシュメモリコントローラ１０に向けて出力するものとして構成されている。
【０６７２】
複数段のステータスレジスタ６９にセットされた電圧発生部５０の駆動率はテーブル変換回路７２によってビット数が削減されたデータ形式に変換されている。設定レジスタ８０には、テーブル変換回路７２のデータ形式に対応した電源状態比較値（目標駆動率）が設定される。その他の構成については、図６３と同様であるので同一部分に同一符号を付すにとどめ、説明を省略する。
【０６７３】
次に、上記のように構成された本実施例のメモリシステム用の電源回路の動作を説明する。ロジック比較回路８１において、複数段のステータスレジスタ６９にセットされテーブル変換回路７２でビット変換されたロジック値と設定レジスタ８０に設定された電源状態比較値とが比較される。変換後のロジック値が電源状態比較値未満のときは、ロジック比較回路８１は、“Ｌ”レベルの電源状態通知信号Ｑ２を出力する。変換後のロジック値が電源状態比較値以上になると、ロジック比較回路８１は、“Ｈ”レベルの電源状態通知信号Ｑ２を出力する。このように、電源状態通知信号Ｑ２は、現状の電圧発生部５０の駆動率がシステムの所望状態以上であるか否かを２値（０/１）のかたちで示しており、ロジック比較回路８１は、このような情報が重畳された電源状態通知信号Ｑ２を、フラッシュメモリコントローラ１０へ通知する。このようにして、システムの期待値（電源状態比較値）を設定することで、電圧発生部５０の駆動率を詳細かつ少数ビットの電源状態通知信号Ｑ２で確認することができる。
【０６７４】
図７０は電源回路２０の動作を示すタイミングチャートである。あらかじめ設定レジスタ８０において駆動状態設定「２ｈ」を設定してあるとする。この設定値は駆動率７５％に相当する。積分回路６７から出力される積分信号Ｎ１５が時間経過とともになめらかな階段状に上昇していく。積分信号Ｎ１５のレベルがまず比較回路６８の参照電圧ＶＲＥＦ＿Ｄｕｔｙ０以上となると、電源状態情報信号Ｎ１８が論理反転して“Ｈ”レベルとなる。このとき、複数段の比較回路６８の出力である電源状態情報信号Ｎ１６，Ｎ１７，Ｎ１８は、［０，０，０］から［０，０，１］へ変化する。ただし、複数段のステータスレジスタ６９の出力のＳｉｇｉｎｆｏ［２：０］は、カウント値信号Ｎ１１の「３ｈ」から「０ｈ」へのリセットタイミングで切り替わるものであるので、このタイミングでではまだ切り替わらず、Ｓｉｇｉｎｆｏ［２：０］は「０ｈ」のままである。テーブル変換回路７２でも「０ｈ」のままとなる。設定レジスタ８０での駆動状態設定は「２ｈ」であるから、ロジック比較回路８１での判定は不一致となり、電源状態通知信号Ｑ２は“Ｌ”レベルのままである。
【０６７５】
同様に、積分信号Ｎ１５のレベルが参照電圧ＶＲＥＦ＿Ｄｕｔｙ１以上となると、電源状態情報信号Ｎ１７が論理反転して“Ｈ”レベルとなる。このとき、電源状態情報信号Ｎ１６，Ｎ１７，Ｎ１８は、［０，０，１］から［０，１，１］へ変化する。ここでもカウント値信号Ｎ１１によるリセットタイミングではないので、複数段のステータスレジスタ６９の出力のＳｉｇｉｎｆｏ［２：０］に変化はない。
【０６７６】
次いで、リセットタイミングになると、Ｓｉｇｉｎｆｏ［２：０］は「０ｈ」から「３ｈ」へ変化する（∵［Ｎ１６，Ｎ１７，Ｎ１８］＝［０，１，１］）。この変化はテーブル変換回路７２で「０ｈ」から「２ｈ」への変化となる（テーブル変換表参照）。設定レジスタ８０での駆動状態設定は「２ｈ」であるから、ロジック比較回路８１での判定は一致となり、電源状態通知信号Ｑ２が“Ｌ”レベルから“Ｈ”レベルへ変化する。電源状態通知信号Ｑ２はフラッシュメモリコントローラ１０へ送られており、このような電源状態通知信号Ｑ２の変化を検知したフラッシュメモリコントローラ１０は電源回路２０の駆動率があらかじめ設定しておいた７５％に達したことを認識することになる。
【０６７７】
本実施例によれば、システムの電源状態比較値（期待値）に対しての電圧発生部５０の状態を容易に把握することが可能となる。システム要求に対して電圧発生部５０が所望の動作状態であるかどうかを２値化した値で通知する。また、システムが任意に設定レジスタ８０を書き換えて電圧発生部５０の状態を容易に検出でき、検出結果に応じて、電源制御信号Ｑ１あるいは電圧発生部５０の負荷を最適化することができる。
【０６７８】
なお、本実施例に対して、実施例３４の場合の図６５に示した割り込み通知信号、実施例３５の場合の図６７に示したオーバーロード信号を組み合わせて構成することも可能である。もし、テーブル変換回路７２を省略するのであれば、設定レジスタ８０に設定するデータ形式は複数段のステータスレジスタ６９のデータ形式に対応したものとする。
【０６７９】
《７３》［オーバーロード検出部］
上記の複数段のステータスレジスタに言及した《６７》，《６８》のメモリシステム用の電源回路において、オーバーロード検出の機能をもたせる構成が考えられる。それは、電圧状態モニタ部に、電圧発生部でのオーバーロード状態を検出するオーバーロード検出部を追加したものである。オーバーロード検出部は、電圧発生部からの電源電圧変化信号を受け取り、その電源電圧変化信号に基づいて電圧発生部のオーバーロード状態を検出し、オーバーロード検出信号をフラッシュメモリコントローラに向けて出力するように構成されている。これは、電源状態（駆動率または余裕度）がオーバーロード領域まで進行していたことが分かった場合に対策を打つようにしたものである。
【０６８０】
本構成によれば、オーバーロード状態をシステムに通知することで、その間、フラッシュメモリへの印加電圧が所望の値でなかったことを通知することが可能となる。これによりオーバーロード等の不具合に起因する不安定動作やシステムダウンを未然に回避し、データ信頼性を向上することが可能となる。
【０６８１】
上記の《７３》の構成の具体例を実施例３７として以下に説明する。
【０６８２】
＜実施例３７＞
図７１は本発明の実施例３７におけるメモリシステム用の電源回路の構成を示すブロック図である。本実施例は、実施例３６の場合の図６９の構成において、オーバーロード信号も組み合わせて構成するものである。
【０６８３】
本実施例では、電圧状態モニタ部６０において、積分回路６７の出力側にオーバーロード検出部７７が設けられている。オーバーロード検出部７７は、積分回路６７から出力される積分信号Ｎ１５を参照電圧ＶＲＥＦ＿Ｏｖｅｒと比較するオーバーロード検知用の比較回路７８と、ステータスレジスタ７９とを備えている。オーバーロード検知用の比較回路７８の出力端子はステータスレジスタ７９のデータ入力端子に接続され、ステータスレジスタ７９のクロック入力端子にはインバータ６５の出力端子が接続されている。ステータスレジスタ７９のデータ出力端子はテーブル変換回路７２の入力端子に接続されている。オーバーロード検知用の比較回路７８の出力端子はカウンタ回路７０のリセット端子に接続されている。
【０６８４】
オーバーロード検知用の比較回路７８における参照電圧ＶＲＥＦ＿Ｏｖｅｒのレベルは、図６９での最も高いレベルのＶＲＥＦ＿Ｄｕｔｙ２より高く設定されている。オーバーロード検知用の比較回路７８から出力されるカウンタリセット信号Ｎ１９はカウンタ回路７０に供給されてカウンタ回路７０をリセットするようになっている。オーバーロード検知用の比較回路７８に対応するステータスレジスタ７９の出力は電源状態通知信号Ｑ２の最上位ビットとして割り付けられている。
【０６８５】
次に、上記のように構成された本実施例のメモリシステム用の電源回路の動作を説明する。図７２は電源回路２０の動作を示すタイミングチャートである。電圧発生部５０が常時連続的な動作状態に入ると、電圧発生部５０の比較回路５７から出力される電源電圧変化信号Ｎ１０は常に“Ｈ”レベルとなる。カウンタ回路７０ではカウントアップ動作が進まず、同じ状態を保持し続ける。この電源電圧変化信号Ｎ１０は、積分回路６７によって積分され続ける。その結果、オーバーロード検知用の比較回路７８において積分回路６７による積分信号Ｎ１５が参照電圧ＶＲＥＦ＿Ｏｖｅｒと比較され、カウンタリセット信号Ｎ１９が“Ｌ”レベルから“Ｈ”レベルへ切り替えられる。この“Ｈ”レベルのカウンタリセット信号Ｎ１９はカウンタ回路７０をリセットする。カウンタ回路７０の次段のインバータ６５による反転信号Ｎ１２が“Ｌ”レベルから“Ｈ”レベルへ切り替わるタイミングで、複数段の比較回路６８およびオーバーロード検知用の比較回路７８の出力信号がステータスレジスタ６９およびオーバーロード検知用のステータスレジスタ７９に格納される。このとき、４つのステータスレジスタ６９，７９の状態は［１，１，１，１］であり、「Ｆｈ」となる。すなわち、テーブル変換回路７２からオーバーロード検知信号Ｑ５が端子Ｔ６からフラッシュメモリコントローラ１０に向けて出力される。
【０６８６】
本実施例によれば、上述した実施例１９の効果に加えて、オーバーロードの有無をシステムに通知することで、電圧発生部５０の安定性を通知することができる。
【０６８７】
《７４》［電源状態（駆動率または余裕度）検出を多ビットで］
本項では、上述した《６２》のメモリシステム用の電源回路の電圧状態モニタ部において、多ビットの信号を電源状態情報信号としてステータスレジスタに保持させる構成を、別の構成としている。すなわち、電圧状態モニタ部において積分回路と遅延回路と複数の比較回路とを用いる代わりに、電圧発生部において複数の比較回路を用いる。この構成では積分回路と遅延回路とは必要でなくなる。
【０６８８】
また、本項では、電圧発生部の電源状態を知る手掛かりとして電圧発生部から電圧状態モニタ部に伝送される信号として、発振回路の発振周波数をフィードバック制御する電源電圧変化信号が用いられる。なお、電源電圧変化信号は、１ビット信号とすることが考えられるが、この他、多ビット信号とすることも考えられる。以下、多ビット信号の電源電圧変化信号を生成する構成について説明する。
【０６８９】
電圧発生部で多ビットの電源電圧変化信号を生成するためには、複数の比較回路が設けられる。これら複数の比較回路には電圧発生部の出力電圧またはそれを検出した電圧が共通に入力される。一方、これら複数の比較回路には、互いに異なるレベルの参照電圧が印加される。複数の比較回路の出力は発振回路の発振周波数を制御する。さらにこれら出力は、電源電圧変化信号として後段の電圧状態モニタ部へ送られる。電圧状態モニタ部は電源電圧変化信号の変化を都度保持しておくための複数段のステータスレジスタを有している。電圧発生部の複数の比較回路の出力端子はそれぞれ複数段のステータスレジスタの入力端子に接続されている。
【０６９０】
以上を要するに、本項のメモリシステム用の電源回路は、上記《６２》の構成において、電圧発生部は、電源状態通知信号として多ビット信号を生成する複数の比較回路をさらに有し、電圧状態モニタ部は、多ビット信号の電源状態通知信号をラッチする複数段のステータスレジスタを有している。
【０６９１】
本項によれば、多ビット信号の電源状態通知信号について、例えば発振回路の周波数を設定する多ビット信号を利用する。この場合、多ビット信号は電圧発生部の電源状態と同等の意味を持つ。したがって、多ビット信号の電源状態通知信号をステータスレジスタに格納したうえで、ステータスレジスタから読み出して電圧状態モニタ部を介して電源回路外部に出力するように構成すればよい。その結果として、既存の多ビット信号を用いることで、積分回路等が不要となり、面積および消費電流を削減することが可能となる。
【０６９２】
上記の《７４》の構成の具体例を実施例３８として以下に説明する。
【０６９３】
＜実施例３８＞
図７３は本発明の実施例３８におけるメモリシステム用の電源回路の構成を示すブロック図である。電圧発生部５０は、発振回路５４、複数の昇圧回路５５、電圧検出部５６、および複数の差動アンプを有する比較回路５７を備えている。比較回路５７が複数段になっている点が、これまで説明した実施例とは異なっている。電圧検出部５６の出力端子は複数の比較回路５７それぞれにおける反転入力端子（−）に接続され、複数の比較回路５７それぞれの非反転入力端子（＋）には参照電圧ＶＲＥＦ＿Ｄｕｔｙ２，ＶＲＥＦ＿Ｄｕｔｙ１，ＶＲＥＦ＿Ｄｕｔｙ０，ＶＲＥＦ＿Ｏｖｅｒが印加されるようになっている。複数の参照電圧の順位は、ＶＲＥＦ＿Ｄｕｔｙ２＜ＶＲＥＦ＿Ｄｕｔｙ１＜ＶＲＥＦ＿Ｄｕｔｙ０＜ＶＲＥＦ＿Ｏｖｅｒであり、これは図７２との比較で分かるように、実施例２０の場合とは逆の関係となっている。逆の関係とするのは、発振回路５４の発振周波数の制御をネガティブフィードバック制御とするためである。すなわち、出力電圧が上昇するほど発振周波数を低くするためである。発振回路５４における発振周波数を示す信号Ｆｏｓｃがカウンタ回路７０に入力されている。比較回路５７の出力端子は発振回路５４の周波数制御端子に接続され、さらに電圧状態モニタ部６０の入力端子に接続されている。電圧発生部５０における複数の比較回路５７の出力端子は電圧状態モニタ部６０における複数段のステータスレジスタ６９のデータ入力端子に接続されている。
【０６９４】
本実施例は、図７１における積分回路６７、遅延回路６６、トランスファゲート６４、およびアンドゲート素子７１を用いていない。その他の構成については、実施例２０の場合の図７１と同様であるので同一部分に同一符号を付すにとどめ、説明を省略する。
【０６９５】
図７１の構成と異なるのは、電圧状態モニタ部６０は、電圧発生部５０がその内部に有する離散値（電圧発生部５０の駆動率に相当する）を取り込んだうえで、取り込んだ離散値に基づいて電圧発生部５０の駆動率を算出し、算出結果を電源状態通知信号Ｑ２として出力する点である。
【０６９６】
例えば、電圧発生部５０の発振回路５４の周波数Ｆｏｓｃ等が離散的かつ段階的に変更される場合、この周波数Ｆｏｓｃ等に対応する離散値が、電圧発生部５０の駆動率に相当する離散値となる。すなわち、Ｔｒｍ［２：０］＝７〜０ｈに応じて、発振回路５４の周波数が５ＭＨｚ〜２０ＭＨｚと５ＭＨｚステップで変更される場合、Ｔｒｍ［２：０］が離散値に相当し、このＴｒｍ［２：０］を換算することで、電圧発生部５０の駆動率を知ることができる。
【０６９７】
次に、上記のように構成された本実施例のメモリシステム用の電源回路の動作を説明する。図７４は電源回路２０の動作を示すタイミングチャートである。以下の説明では、電圧発生部５０における出力電圧が時間軸に対して低下しているとする。この場合、抵抗分圧された分圧電圧Ｖｒも低下していく。分圧電圧Ｖｒが低下していくことで、複数の比較回路５７での比較結果として（Ｔｒｍ＿ｏｖｅｒ＋Ｔｒｍ［２：０］）が出力される。
【０６９８】
発振回路５４の周波数信号Ｆｏｓｃが入力されているカウンタ回路７０のカウント値が「０」になると、カウント値信号Ｎ１１およびインバータ６５による反転信号Ｎ１２が論理反転し、そのタイミングで信号（Ｔｒｍ＿ｏｖｅｒ＋Ｔｒｍ［２：０］）が複数段のステータスレジスタ６９のそれぞれに格納される。また、分圧電圧が一定以下になったときオーバーロード通知信号が出力される。その他の動作については、実施例２０の場合と同様であるので説明を省略する。
【０６９９】
本実施例によれば、電圧発生部５０の内部に備えられた出力電圧の電流能力を単調増加あるいは単調減少させることができる離散値を電圧状態モニタ部に供給することで、電圧状態モニタ部の回路規模を削減できる。
【０７００】
なお、当然ながら、実施例３１〜３６のように、電源状態通知信号Ｑ２を１ビット出力、多ビット出力することも可能であり、また、割込み信号として電源状態遷移通知信号Ｑ２′を出力する事も可能である。なお、発振回路５４の発振周波数が低い場合は、カウンタ回路７０は必要でない。
【０７０１】
電圧発生部の構成につき、これをＤＣ−ＤＣコンバータ回路で構成してもよい。以下、電圧発生部をＤＣ−ＤＣコンバータ回路で構成した実施例３９を説明する。
【０７０２】
＜実施例３９＞
図７５は本発明の実施例３９におけるメモリシステム用の電源回路の電圧発生部の構成を示すブロック図である。この電圧発生部５０はＤＣ−ＤＣコンバータで構成されている。比較回路５７からのＰＷＭ（パルス幅変調）信号の電源電圧変化信号Ｎ１０でスイッチング素子９２がオン・オフ制御される。スイッチング素子９２がオンの状態では、直流電源電圧ＶＤＤによる直流電流がチョークコイル９１とスイッチング素子９２とに流れ、その結果、チョークコイル９１には電気エネルギーが蓄積される。スイッチング素子９２がオフの状態では、チョークコイル９１に蓄積されていた電気エネルギーが一気に放出され、放出された電気エネルギーは、逆流防止ダイオード９３を介して平滑コンデンサ９４に充電される。スイッチング素子９２のオン・オフ制御により、平滑コンデンサ９２の正極端子には昇圧した電源電圧が発生する。発生した電源電圧は端子Ｔ３からフラッシュメモリ２６へ給電される。逆流防止ダイオード９３は、スイッチング素子９２のオン時に平滑コンデンサ９４からの逆流を防止する。
【０７０３】
電源電圧は一方で電圧検出部５６で検出され、検出された電源電圧は、比較回路５７において参照電圧ＶＲＥＦ＿Ｖと比較される。比較回路５７の出力はＰＷＭ（パルス幅変調）波形となり、スイッチング素子９２のオン・オフ制御に使われるとともに、電源電圧変化信号Ｎ１０として次段の電圧状態モニタ部６０へ送られる。
【０７０４】
＜実施例４０＞
電圧発生部は、図７６のように多ビットのＤＣ−ＤＣコンバータ回路で構成してもよい。ここでは複数の比較回路５７が設けられている。これは実施例３８の場合の図７３の構成に適用できる。
【０７０５】
＜実施例４１＞
また、電源発生部は図７７のように構成してもよい。すなわち、オペアンプ９５の出力でスイッチング素子９６をオン・オフ制御する。電圧検出部５６の信号がオペアンプ９５の入力端子に印加され、オペアンプ９５の出力は“Ｈ”，“Ｌ”に切り替わり、昇圧が行われる。
【０７０６】
次に、本発明のフラッシュメモリの実施例を説明する。本発明の実施例のフラッシュメモリ２６は、フラッシュメモリコントローラ１０から問い合わせを受けたときにフラッシュメモリコントローラ１０に送信すべきいくつかの情報を保有している。その情報には、電力レベル、電圧値、パルス幅、フェイルビット数、処理時間、処理時間などがあり、それらは原則としてチップ固有の情報である。
【０７０７】
図７８はフラッシュメモリ２６における電力パラメータの格納についての説明図である。フラッシュメモリ２６における電力パラメータの格納について説明する前に、現状のフラッシュメモリにおける課題を再度検証する。フラッシュメモリを用いたストレージシステムのように、フラッシュメモリチップを多数使用するシステムにおいては、ストレージシステム動作の消費電力が課題となる。特に、プログラム性能を向上させるために複数のフラッシュメモリチップに対して、同時にプログラム動作を実行させると、その消費電流により、システムの電源や、放熱に対するコストが増大することになる。このような理由から、フラッシュメモリ動作時の消費電流の削減が望まれる。
【０７０８】
例えば、２０Ｖ以上の高電圧を発生する昇圧回路は、電力効率が悪く、プログラム動作および消去動作においては、メモリセルのしきい値を変更するのに要する電力の何倍もの電力を消費することになる。フラッシュメモリを用いたストレージシステムのように、フラッシュメモリチップを多数使用するシステムにおいては、フラッシュメモリチップ毎に昇圧回路が備えられているために、複数のフラッシュメモリチップに対して同時にプログラム動作および消去動を実行する時は、消費電力が膨大となり、システムにおける電源設計に支障をきたすことになる。
【０７０９】
従来から高電圧を発生する電源回路をフラッシュメモリチップの外部に設けることは行われているが、フラッシュメモリに対するプログラムの実行動作やデータの消去動作は、コマンド入力により実施され、それらの動作は、動作が完了したことを示す信号やステータスレジスタによって、外部に通知されるのみであった。したがって、プログラムの実行動作や消去動作においては、動作開始から完了までの全期間中、電源回路は最大電圧となる２０Ｖを発生し続ける、または最大の電流駆動能力で待機する必要があった。
【０７１０】
これに対して、フラッシュメモリ２６は、各動作モード（フラッシュメモリに対するプログラムの実行動作やデータの消去動作等を示す動作モード）でフラッシュメモリ２６が消費する電力レベルを示すレジスタ３４を備えている。これによりレジスタ３４が示す電力レベルに応じて、フラッシュメモリ２６の外部電源回路（電源回路２０）を制御できるので、フラッシュメモリ２６を低消費動作させることが可能となる。したがって、ストレージシステムなど、フラッシュメモリを多数用いるシステムに、この構成を適用すると、システムの低消費電力化および性能向上に図るうえで極めて有用となる。さらには、フラッシュメモリコントローラ１０は、フラッシュメモリ２６から告知された電力レベルに基づいて、電源回路２０の動作電力（電流）負荷を、所望のタイミングで調整することが可能になる。これにより、複数のフラッシュメモリ２６の送電力を精度高く管理する（例えば、消費電流を低消費にチューニングする）ことができる。さらには、電源回路２０は過剰な電力供給能力（高いピーク電流の対応等）を備える必要がなくなるうえ、メモリの読み出し書き換えのコマンド入力時あるいはその前に電力レベルを設定すれば、コマンドで指定される処理の実行で必要となる電源回路２０による電力供給を事前に予約することが可能となる。
【０７１１】
フラッシュメモリ２６は、図７８に示すように、内部コントローラ３３とコマンドレジスタ３４と不揮発性メモリ領域３６とを有する。コマンドレジスタ３４には、フラッシュメモリコントローラ１０との間で授受されるコマンドがセットされる。具体的にはコマンドレジスタ３４には、図８５に示すように、動作モード設定ビットと、電力レベル設定ビットと、その他ビットからなる複数のフィールドとが設けられており、これらフィールドに各種のコマンドがセットされる。コマンドレジスタ３４にセットされるコマンドは、動作モードＰ１、電力レベルＰ２などがセットされるフィールドを有している。これにより、電力管理の必要なコマンド(読み出し、プログラム、消去など）に電力レベルに関するフィールドを設けることが可能となる。その結果、これらコマンドを発行する時点で電力負荷を明確に設定することが可能となり、これにより、フラッシュメモリコントローラ１０が電力情報を管理することがさらに容易となる。また、コマンドとして、電力レベルのみを変更するコマンドを設ければ、電力管理の必要なコマンドで電力レベルを予め指定することができるので、電力レベルを直接に指定する必要がなくなって、コマンド入力（ＮＡＮＤフラッシュの場合はＩＯ端子やその制御信号）におけるデータ転送帯域幅の低減が抑制される。
【０７１２】
また、不揮発性メモリ領域３６（ＮＶ：Ｎｏｎ−Ｖｏｌａｔｉｌｅ  ａｒｅａ）は第１、第２の記憶部であって、不揮発性メモリ領域３６には各電力レベルについての消費電流などの電力情報（第１の情報）と実行時間情報（第２の情報であって、電力レベルそれぞれにおけるフラッシュメモリ２６の処理速度を示す）とが格納されている。これら第１、第２の情報は、フラッシュメモリ２６の個体差を反映したものとなっている。第１の情報を記憶することで、フラッシュメモリ２６における動作電力や動作速度のばらつき（製品スペック、製造プロセスが主要因）を実電流値の伴わない単純なコマンドフォーマット（品種によらない共通規格）で扱うことができる。さらには、第２の情報を記憶することで処理速度の情報を電力管理に取り入れることが可能となり、これにより、外部電源の動作電力（電流負荷）の時間的予測が可能になってメモリシステムにおける電力管理がより精度が高く高品位なものとなる。
【０７１３】
動作モードについては、読み出しモード、書き込みモード、書き込みベリファイモード、消去モード、消去ベリファイモード、動作停止モードなどがある。各モードには、それぞれに付随する消費電流などの電力情報、動作時間（処理時間）などのパラメータが対応している。これらのパラメータ等は、フラッシュメモリ２６の専用端子から出力され、フラッシュメモリコントローラ１０に転送される。
【０７１４】
動作停止（ポーズ）モードを設けることで、最小の電力負荷を定義することが可能となる。その結果、電源回路２０の動作電力（電流）負荷の調整範囲を大きく設定することができる。また、電源回路２０による電源供給が安定しない場合、フラッシュメモリ２６の動作を一時停止することが可能となって、誤動作を防ぐことができる。
【０７１５】
また、動作停止モードを設定する構成では、フラッシュメモリ２６に動作停止モードにおける電力レベルを指定するための制御端子をさらに設けている（フラッシュメモリ停止信号あるいは図８３、図８６のポーズ制御入力に対応する）。そうすれば、動作停止モードにおける電力レベルを指定するための制御端子が専用ピンとなって、コマンドアクセスと非同期に、指定される電力レベルによって高速にフラッシュメモリ２６を停止させることが可能となる。この場合、フラッシュメモリ２６を高速に復帰させることができるのは言うまでもない。さらには、動作停止モードを設定する構成において内部コントローラ３３は、動作停止モードを実施中（ポーズ中）のフラッシュメモリ２６であっても電力レジスタ１１３３や内部動作状態レジスタ１１３２へのアクセスを許容する。このようなアクセスを許容するために、動作停止モードを実施中（ポーズ中）であっても、コントロールロジック１１１４、内部コントローラ３３、コマンドレジスタ３４、ステータスレジスタ１１２２、アドレスレジスタ１１２０、入出力回路１１１２、およびデータレジスタ１１０９は、動作可能になっている。これにより、フラッシュメモリ２６の停止処理時において、停止解除後の電力レベル（電力レジスタ１１３３等により設定する）のみならず停止解除後の任意のレジスタ状態を設定することが可能となる。その結果、停止中の時間を有効活用できて、設定に必要な処理時間を短縮する事ができる。
【０７１６】
内部コントローラ３３は、メモリ内の制御と、フラッシュメモリコントローラ１０との間の各種信号の授受を司る制御部である。内部コントローラ３３には、内部動作状態レジスタと電力レジスタ（本発明におけるレジスタ）とが設けられる。内部動作状態レジスタには、フラッシュメモリコントローラ１０からのコマンドにかかわる書き込み動作や読み出し動作などの動作モードにおける動作状態が格納されるように構成され、電力レジスタには各動作モードにおいてフラッシュメモリ２６が消費する電力レベルが格納されるように構成されている。内部コントローラ３３は不揮発性メモリ領域３６から読み出した各種のパラメータを内部動作状態レジスタと電力レベルレジスタとに転送格納する。また、実動作に関連して、内部動作状態レジスタには、現在の動作における電圧レベル、書き込み回数情報、パルス幅等が格納される。さらには、以降の動作における電圧レベル、書き込み回数情報、パルス幅の予測値も内部動作状態レジスタに格納される。またリトライ回数、フェイルビット数なども格納対象となる。
【０７１７】
内部コントローラ３３は、フラッシュメモリ２６のバイアスに関する電圧レベルや印加時間の情報を外部のフラッシュメモリコントローラ１０に告知することにより、電源回路２０の必要電圧や電流等を制御する。付随する消費電流などの電力情報，動作時間などの情報は、フラッシュメモリ２６における不揮発メモリ領域３６から読み出され、内部動作状態レジスタに格納の上でフラッシュメモリコントローラ１０に転送される。あるいは、ＩＯ端子から内部動作状態レジスタにアクセスし、内部動作状態や変化情報を取り出すようにしてもよい。
【０７１８】
フラッシュメモリの動作には、ユーザコマンドで区別されるモード動作とこれらを構成するマイクロシーケンスという動作単位がある。マイクロシーケンスは階層的に定義される。フラッシュメモリは、書き込み／消去動作や書き込みまたは消去ベリファイ動作などの処理の実行において、内部コントローラ３３の制御により動作クロックのもとマイクロシーケンス単位で一連の処理を実行してゆく。コマンド入力、内部電源セットアップ、プログラムベリファイ、プログラムパルス印加、消去ベリファイ、消去パルス印加のマイクロシーケンスに分解される。
【０７１９】
図７９はプログラムシーケンスに電力モード変更のマイクロシーケンスを挿入しプログラム動作の電力制御を実施した例である。電力モード更新のマイクロシーケンスは、プログラム（書き込み）、ベリファイ前（コマンド入力とプログラムベリファイの間、およびプログラムカウンタインクリメントとプログラムベリファイの間）、プログラムパルス印加前（プログラムカウンタリセットと書き込み動作のためのプログラムパルス印加の間）の３箇所に挿入されている。
【０７２０】
プログラムベリファイは、プログラムベリファイの動作に必要な回路構成の変更や内部電位の準備等で構成されるセットアップＰＶ（Ｐｒｏｇｒａｍ  Ｖｅｒｉｆｙ）と、実際のプログラムベリファイ（Ｖｔマージン読み出し）より下層のマイクロシーケンスとで構成される。プログラムパルス印加は、プログラムパルス印加の動作に必要な回路構成の変更や内部電位の準備等で構成されるセットアップＰＵ（ＰＵｌｓｅ）と、実際のパルス印加のマイクロシーケンスとで構成される。
【０７２１】
図７９の各々のステップはマイクロシーケンス単位に相当する。このマイクロシーケンス単位で電力モード更新を実行することが、本項のポイントである。図８０は電力モード更新シーケンスの詳細を示す。電力モード更新シーケンスが呼び出されると、電力レベル設定ビットが読み出される。読み出された電力レベル設定ビットに変更があった場合、電力制御を行うマイクロシーケンス毎に予め用意された電力パラメータは、変更後の電力レベル設定ビットに対応して設定変更される。図７９では、・制御シーケンスクロック変更、・電源能力変更、・電源セットアップ時間変更、の３つの電力パラメータが変更調整されている。例えば電力の低減操作を考えてみる。制御シーケンスのクロックの周波数を落とすと単位時間あたりの動作が少なくなり消費電流は低減される。また電源がチャージポンプ等の昇圧回路とすれば昇圧回路の並列度、昇圧クロック周波数を下げることにより電流駆動能力が低下し、消費電力は低減される。電流駆動能力が低下することにより内部電源ノードの充電時間セットアップ時間を伸張する必要がある。一般的に回路を低電力で動作させると処理時間は伸びる性質が有る。
【０７２２】
なお電力パラメータは、電力を変更できるものであれば限定されない。電力パラメータとしては、プログラムの同時ビット数、読み出しの同時ビット数、プログラムの並列、読み出しビットの並列などがある。 要するに本項では、電力レベル設定ビットに対応して、電力制御を行うマイクロシーケンス毎に予め電力パラメータを用意することが制御ポイントとなる。これらの電力パラメータは制御論理回路で設定することもできるが、不揮発性メモリ領域に電力パラメータを格納すれば、複雑な電力制御を、小ない回路面積で実現することができる。不揮発性メモリ領域の読み出し速度が不十分な場合は、電源投入時にＲＡＭなどの揮発メモリに電力パラメータを格納することにより、電力モード更新シーケンスの挿入による処理速度低下を抑えることができる。
【０７２３】
図８１Ａ−図８１Ｃを用いてコマンドで指定される処理の実行時に電力レベルを設定する例を説明する。ここでは、電力レベルをＶｐｐの消費電流Ｉｐｐのかたちで取り扱っている。図８１Ａ−図８１Ｃはそれぞれ特定の電力レベルでプログラムコマンドを実行したときの消費電流Ｉｐｐの時間的変化を模式的に示した消費電流プロファイルである(消去コマンドではプログラムパルスが消去パルス、プログラムベリファイが消去ベリファイとなり類似である）。Ｃｍｄはコマンド入力である。ＳｅｔＵｐはプログラムモードに設定する電源のセットアップ動作である。Ｐｕｌｓｅはプログラムパルスの印加，ＶｅｒｉｆｙＲＤはプログラムベリファイ、ＲＤＳＴＢＹは読み出し待機状態である。図８１Ａ、図８１Ｂ、図８１Ｃの順に電力レベルの大きなプログラムコマンド実行中の消費電流プロファイルを示している。ここでは大きな電力レベル値が大消費電流側に対応している。無論、大きな電力レベル値を小消費電流側に対応させても、あるいは電流レベル値を単に消費電流範囲を示すインデックスとして扱ってもよい。消費電流の小さいコマンド程、メモリ内部の動作クロック周期は長くなり、コマンドの実行時間は長くなるが電源に必要な駆動能力は抑制することができる。
【０７２４】
図８２Ａ、図８２Ｂを用いてコマンドで指定される処理を実行中に電力レベルを変更する例を説明する。図中、上向き矢印のタイミングが電力パラメータが更新されたタイミングである。図８２Ａは処理速度優先の高消費電力の状態から消費電力優先の低消費電力の状態に変更された場合の消費電流プロファイルである。図８２Ｂは消費電力優先の低消費電力の状態から消費電力優先高消費電力の状態に変更された場合の消費電流プロファイルである。
【０７２５】
図８１Ａ−図８１Ｃ、図８２Ａ−図８２Ｂはいずれもマイクロシーケンス単位で電力レベルが変更されている。マイクロシーケンスを適切に細分化し、適切な電力制御を行うことにより、アクセス対象のフラッシュメモリの回路特性や特性ばらつきに適応した動的な省電力制御が実現される。
【０７２６】
以下、フラッシュメモリ２６のさらに具体的な構成を図８３を参照して説明する。フラッシュメモリ２６はデータを記憶するためのメモリセルアレイ１１０２を備える。メモリセルアレイ１１０２は、不揮発性メモリセルがアレイ状に配置されており、メモリセルのしきい値を変化させることにより情報を記憶している。プログラム動作によりメモリセルのしきい値を高く設定し、消去動作によりメモリセルのしきい値を低く設定することができる。メモリセルアレイ１１０２に対する読み出しおよびプログラム動作ではページ単位で、消去動作ではブロック単位で、それぞれアクセスが行われる。
【０７２７】
ページは、ローデコーダ１１０４により選択される特定ワード線により指定され、読み出し動作においては、指定されるページのメモリセル記憶データが、センスアンプ１１０８により判定され、データレジスタ１１０９へ転送される。データレジスタ１１０９に転送されたデータは、カラムデコーダ１１０６により指定されるスタートポイントから順次入出力回路１１１２へと読み出され、入出力端子であるＩＯ端子へ出力される。
【０７２８】
データ書き込みにおいては、シリアルデータ入力モードを用いて、ＩＯ端子から入力されるデータは、カラムデコーダ１１０６により指定されるスタートポイントから順次データレジスタ１１０９へ取込まれたうえで、オートプログラムモードにおいて、指定されるページに転送される。
【０７２９】
メモリセルアレイ１１０２に対する消去動作では、ローデコーダ１１０４により選択される複数のワード線により指定されるブロックに消去電圧が与えられることで、そのブロック内のメモリセルが消去状態に設定される。
【０７３０】
プログラム、消去などのフラッシュメモリ２６に対する動作は、ＩＯ端子より入力される動作コマンドによって設定される。フラッシュメモリ２６は、論理回路やセンスアンプ１１０８などに供給される３ＶなどのＶＣＣ電圧端子を備え、さらには、ＶＣＣよりも高い電圧を受け取るＶＰＰ１、ＶＰＰ２、ＶＰＰ３の高電圧電源端子（ＶＰＰ［１：３］）を備えている。この高電圧電源端子ＶＰＰ１、ＶＰＰ２、ＶＰＰ３には、例えばプログラム／消去用電圧、ベリファイ用電圧、読み出し用電圧が入力される。
【０７３１】
フラッシュメモリ２６内部の回路ブロックは、高電圧電源端子ＶＰＰ１、ＶＰＰ２、ＶＰＰ３に与えられる電圧によって動作する、あるいは、高電圧電源端端子ＶＰＰ１、ＶＰＰ２、ＶＰＰ３に与えられる電圧に基づいて電圧発生回路１１３０により生成される電圧によって動作する。
【０７３２】
内部動作状態レジスタ１１３２は、フラッシュメモリコントローラ１０からのコマンドにかかわる書き込み動作や読み出し動作などの動作モードにおける動作状態を保持するためのものである。ここでいう動作状態とは、フラッシュメモリ１１００がオートプログラムや、オートブロック消去のコマンドを受けて、コントローラ１１１６がプログラムや消去動作のシーケンスを実行する際におけるシーケンスの実行状況を示している。
【０７３３】
内部動作状態レジスタ１１３２へは、実行中の動作モード、オートプログラムまたはオートブロック消去シーケンス実行時の電圧印加繰り返し回数（ベリファイ回数）、印加電圧値、印加パルス幅、印加パルス間隔、ベリファイ実行時のエラービット数等が情報としてセットされる。
【０７３４】
電力レジスタ１１３３は、図８４に示すように、電力レベルを指定するデジタルビットから構成されている。ここでいう電力レベルとは、動作モードそれぞれでフラッシュメモリ２６が消費する電力のレベルを示す。図８４では、電力のレベルとして以下のものが例示されている。すなわち、図８４では、電力レベル（０、１、２、３）それぞれに対応付けられた設定ビット（００，０１、１０、１１）に、さらにｍａｘ消費電流（０ｍＡ、３０ｍＡ、６０ｍＡ、１２０ｍＡ）が対応付けられている。より詳細にはこれらは各マイクロシーケンスに対応するものである。実行中のマイクロシーケンスを内部動作状態レジスタ１１３２にセットすることもできる。
【０７３５】
この構成により、動作実行コマンドを受けて、内部コントローラ３３により動作シーケンスを実行するフラッシュメモリ２６において、内部の動作状態や電力レベル（内部動作状態レジスタ１１３２や電力レジスタ１１３３の値）が、内部コントローラ３３によって生成されるたうえで、生成された内部の動作状態や電力レベルを外部へ知らせることが可能となる。これにより、フラッシュメモリコントローラ１０と電源回路（高電圧発生回路）２０とを備えたストレージシステムにおいて、フラッシュメモリ内部の動作状況に応じて、電源回路（高電圧発生回路）を制御することが可能となる。これによりフラッシュメモリ内部の動作で必要となる電圧発生回路のみを動作させる（内部動作に不要な電源回路を動作させない）ことで、不要な電流消費を抑制してシステムの低消費動作化を実現することができる。また、フラッシュメモリ外部での高電圧発生回路を、フラッシュメモリ２６の動作モードに応じて電圧発生制御することが可能となり、ストレージシステムの低消費電力化を図ることが可能となる。
【０７３６】
図８３に示すフラッシュメモリ２６の構成例においては、内部動作状態レジスタ１１３２や電力レジスタ１１３３にＩＯ端子を設け、このＩＯ端子を介してフラッシュメモリ２６にコマンドやアドレスを入力し、かつデータを入出力してもよい。そうすれば、端子数を増加させることなしに、内部の動作状態（インフォメーションレジスタの値）や電力レベルを外部へ出力することができ、多数のフラッシュメモリを用いるストレージシステムにおいて、フラッシュメモリコントローラとフラッシュメモリ間の配線を増やすことなしに、低消費電力化を実現することができる。
【０７３７】
また、図８６に示すように、内部動作状態レジスタ１１３２や電力レジスタ１１３３の内容を、ＩＯ端子の使用状況にかかわらず自由に読み出すことができるよう、専用の読み出し端子Ｉｎｆｏをフラッシュメモリ２６に備えてもよい。そうすれば、外部から内部動作状態レジスタ１１３２や電力レジスタ１１３３に対しては、メモリ内部の動作に関係なく読み出しことができるようになり、フラッシュメモリ外部から内部の動作状態（内部動作状態レジスタ１１３２や電力レジスタ１１３３の値）を読み出すタイミング制約が緩和される。したがって、フラッシュメモリ外部のフラッシュメモリコントローラからは、内部動作状態レジスタ１１３２や電力レジスタ１１３３の内容が変更されたことを示すインフォメーションレジスタ変更通知信号ＣＨＩ（図８３、図８６の電源割り込み出力に対応）が変化した場合のみならず、フラッシュメモリコントローラ１０が必要とする時に内容を読み出すことができ、電源回路の待機状態の制御などをおこなうことができるので、より低消費電力化の動作をおこなうことが可能となる。
【０７３８】
これにより、内部動作状態レジスタ１１３２からのフラッシュメモリ内部の動作状態（インフォメーションレジスタの値）の読み出しや電力レジスタ１１３３からの電力レベルの読み出しに関するタイミング制約をなくすことができ、高電圧発生回路制御の自由度を増すことができる。
【０７３９】
フラッシュメモリコントローラ１０は、使用するフラッシュメモリ２６に応じて、各動作モードにおける電圧発生回路の制御をおこなうことができ、より低消費電力化なシステムを実現することが可能となる。また、使用するフラッシュメモリ２６の電力消費特性に応じて、同時プログラムを行うフラッシュメモリ２６の数を制御することにより、プログラム特性を向上することが可能となる。
【０７４０】
なお、上述した実施例では、内部コントローラ３３は、電力レジスタ１１３３が示す電力レベルを参照していた。しかしながら、内部コントローラ３３は、メモリ外部からフラッシュメモリ２６に入力される信号を参照して電力レベルを把握してもよい。そうすれば、電力レベルを、コマンドアクセスと非同期に（例えばレベル指定により）変更することが可能となる。
【０７４１】
これまで説明してきた本願発明の各実施例の構成によれば、フラッシュメモリコントローラが電源回路から受け取る電源状態情報に基づいて、フラッシュメモリの処理を適切に実行させることができるので、不揮発性記憶システムにおける不安定動作やシステムダウンを未然に回避し、データ信頼性を向上することが可能となるとともに、安定動作を確保するための過剰な電源能力を不要とするので、システムにおいて無駄な電力消費を抑制することができる。
【０７４２】
微細化された半導体製造プロセス技術を用いて製造されるフラッシュメモリコントローラは、大規模なロジック集積回路が主体であり、ロジック回路を構成するトランジスタの信頼性を確保するために、その動作電圧が低電圧化されており、たとえば製造上の最小パターン寸法が４５ナノメートルであるような場合には動作電圧は１．２Ｖに設定される。
【０７４３】
一方、不揮発性メモリは広範囲なシステムに使用される部品であり、その入出力信号振幅は汎用性を生かすために、たとえば３Ｖや５Ｖのような比較的高い電圧を使用しており、システム電源としては３Ｖや５Ｖを生成する回路が用いられる。
【０７４４】
したがって、フラッシュメモリコントローラは、外部と入出力する信号の振幅を３Ｖや５Ｖとするために、３Ｖや５Ｖのような比較的高いＶＤＤ電圧を用いて、入出力回路を構成するとともに、ロジック回路が主体となる信号処理ブロックへ与えられる１．２Ｖのような比較的低い内部動作電圧ＶＤＤＩを発生する降圧電圧発生回路を備えている。
【０７４５】
大規模ロジック集積回路と同一シリコン上に形成される降圧電圧発生回路としては、一般には製造の容易性からレギュレータ型が用いられており、このレギュレータは降圧する電圧をジュール熱として放出するため、高速動作することによって多くの動作電流を消費する信号処理ブロックは１．２Ｖのような比較的低い動作電圧で動作するにもかかわらず、フラッシュメモリコントローラ全体としては、大きな電力消費となっている。
【０７４６】
図８７は本発明の他の実施例における不揮発性記憶システム１００の構成を示すブロック図である。不揮発性記憶システム（ストレージデバイス）１００は、図１に示す実施例１と同様に、フラッシュメモリコントローラ１０と、電源回路２０と、複数のフラッシュメモリ２６からなるメモリブロック２５とを備えている。メモリブロック２５は、複数のフラッシュメモリ２６からなる。
【０７４７】
フラッシュメモリコントローラ１０は、ＶＤＤ電圧振幅での信号で外部との入出力をおこなう入出力回路１２と、内部電圧ＶＤＤＩで信号処理をおこなうための信号処理ブロック回路１１とを備えている。
【０７４８】
電源回路２０は、入力されるＶＤＤ電圧からフラッシュメモリ２６で使用されるＶＨＨを発生する昇圧電圧発生部と、フラッシュメモリコントローラ１０内の信号処理ブロックで使用されるＶＤＤＩを発生する高電圧発生部とを備えている。電源回路２０は、電源線４４を介してラッシュメモリ３２に接続されるとともに、信号処理ブロック１１へのＶＤＤＩ電源を供給するために電源線４５を介してフラッシュメモリコントローラ１０に接続されている。
【０７４９】
フラッシュメモリコントローラ１０の信号処理ブロック１１へ電源を供給するために、電源回路２０内に設けられる降圧電圧発生部は、大規模ロジック集積回路との混載という制約を受けることなく、降圧動作に最適なデバイスを用いて構成することができることができる。そのため、高効率な降圧回路を実現するこができる。
【０７５０】
図８７に示す実施例によれば、信号処理ブロック１１用ＶＤＤＩ電圧を生成するために、無駄なジュール熱を発生させることを抑制することができ、不揮発性記憶システムの低消費電力化を実現することができる。
【０７５１】
図８８は本発明のさらに他の実施例における不揮発性記憶システム用の電源回路の電圧発生部の構成を示すブロック図である。電圧発生部５０は、図５７に示した電圧発生部と同一構成である昇圧電圧発生部１００と、降圧発生部１０２とを備えている。昇圧電圧発生部１００と降圧発生部１０２とは、共にＤＣ−ＤＣコンバータで構成されている。
【０７５２】
スイッチング素子１０６は、比較回路１１４からのＰＷＭ（パルス幅変調）信号の電源電圧変化信号Ｎ２０に基づいてオン・オフ制御される。スイッチング素子１０６がオン状態では、直流電源電圧ＶＤＤが出力端子ＶＤＤＩに出力されるが、チョークコイル１０４の自己誘導により、電源電圧ＶＤＤが打ち消され、降圧された電圧がＶＤＤＩに出力される。スイッチング素子１０６がオフ状態では、コンデンサ１１０とダイオード１０８との還元電流により、ＶＤＤＩの電圧が保持される。
【０７５３】
上述したように比較回路１１４は、分圧抵抗によって分圧された出力電圧の分圧電圧１１２と、基準電圧ＶＲＥＦ＿Ｖとを比較して、比較結果を電源電圧変化信号Ｎ２０として出力している。スイッチング素子１０６は、比較回路１１４の比較結果（電源電圧変化信号Ｎ２０）に基づいてオン/オフ制御される。これにより、ＶＤＤＩの出力電圧は、電源電圧変化信号Ｎ２０によって駆動される帰還ループでの制御により決定される。このようにしてＶＤＤＩを設定する本実施例の構成では、ＶＤＤＩの出力電圧は安定に設定される。
【０７５４】
このように、チョークコイルに流れる電流のスイッチングを用いて電圧を変換する本実施例は電力損失を少なくでき、降圧電圧をジュール熱により放出するレギュレータに比べ高い電力効率を得ることができる。
【０７５５】
図８８に示す電圧発生部５０の降圧電圧発生部１０２の出力を図８７に示すフラッシュメモリコントローラ１０のＶＤＤＩ電源として供給することにより、不揮発性記憶システムの低消費電力化が実現できる。
【産業上の利用可能性】
【０７５６】
本発明による不揮発性記憶システムの技術は、複数のフラッシュメモリの処理の実行状態がダイナミックに変化する動作環境下で使用されるＳＳＤ（ソリッドステートドライブ）のような大容量・高速の不揮発性記憶システムにおいて、高い消費電力削減効果を発揮させる上で有用である。【０７５７】
また、本発明の技術は、ＳＳＤ（ソリッドステートドライブ）などのフラッシュメモリを複数用いる不揮発性記憶システム等において、随時変化する動作種類、コマンドで指定される処理の実行状況の変化、電源回路内部状態の変化、フラッシュメモリ群での個体差などにかかわりなく、絶えざるフィードバック・フィードフォワード制御を行うことにより、リアルでダイナミックなきめの細かい電源制御を実現し、もって、オーバーロード等の不具合に起因する不安定動作やシステムダウンを未然に回避し、データ信頼性を向上させながら、システムにおいて無駄な電力消費を抑制する（安定動作確保のためにあえて過剰な電源能力をもたせなくても済む）ための技術として有用である。
【符号の説明】
【０７５８】
２０１０  メモリブロック
２０１２  フラッシュメモリ
２０１４  インフォメーションレジスタ
２０２０  フラッシュメモリ電源回路
２０２１  書き込み／消去用電源回路
２０２２  読み出し用電源回路
２０２３  ベリファイ用電源回路
２０３０  フラッシュメモリコントローラ
２０３２  フラッシュメモリ内部状態管理テーブル
２０３３  印加電圧情報記憶部
２０３４  印加電圧制御回路
２０３５  印加時間情報記憶部
２０３６  供給電力制御回路
１１００、１７００、１８００・・・フラッシュメモリ
１１０２・・・メモリアレイ
１１０４・・・ローデコーダ
１１０６・・・カラムデコーダ
１１０８・・・センスアンプ
１１０９・・・データレジスタ
１１１０・・・カラム選択回路
１１１２・・・入出力回路
１１１４・・・コントロールロジック
１１１６・・・コントローラ
１１１８・・・コマンドレジスタ
１１２０・・・アドレスレジスタ
１１２２・・・ステータスレジスタ
１１３０・・・電圧発生回路
１１３２・・・インフォメーションレジスタ
１８０２・・・電力情報記憶領域
１０  フラッシュメモリコントローラ
１２  フラッシュメモリ動作管理テーブル
１４  データ制御部
１６  電源制御部
２０  メモリシステム用の電源回路
２４  オーバーロードレジスタ
２５  メモリブロック
２６  フラッシュメモリ
２７  内部コントローラ
４０  パラメータ設定部
５０  電圧発生部
５１  ロジック用の電圧発生部
５２  読み出し用の電圧発生部
５３  書き込み／消去用の電圧発生部
５４  発振回路
５５  昇圧回路
５６  電圧検出部
５７  比較回路
６０  電圧状態モニタ部
６１  ロジック用の電圧状態モニタ部
６２  読み出し用の電圧状態モニタ部
６３  書き込み／消去用の電圧状態モニタ部
６６  遅延回路
６７  積分回路
６８  比較回路
６９  ステータスレジスタ
７０  カウンタ回路
７２  テーブル変換回路
７３  状態遷移検知部
７７  オーバーロード検出部
８０  設定レジスタ
８１  ロジック比較回路
１００  不揮発性記憶システム（ストレージデバイス）
Ｔ１  書き込み／消去用電源端子
Ｔ２  読み出し用電源端子
Ｔ３  ベリファイ用電源端子
Ｔ４  内部状態通知信号出力端子
Ｔ５  フラッシュメモリ内部動作制御信号入力端子
Ｔ６  印加電圧通知信号出力端子
Ｔ７  ベリファイ回数通知信号出力端子
Ｔ８  パルス幅／間隔通知信号出力端子
Ｔ９  負荷電力通知信号出力端子
Ｔ１０  不良ビット数信号出力端子
【図１】
0005596143.tif 000002
【図２】
0005596143.tif 000003
【図３Ａ】
0005596143.tif 000004
【図３Ｂ】
0005596143.tif 000005
【図４】
0005596143.tif 000006
【図５】
0005596143.tif 000007
【図６】
0005596143.tif 000008
【図７】
0005596143.tif 000009
【図８】
0005596143.tif 000010
【図９】
0005596143.tif 000011
【図１０】
0005596143.tif 000012
【図１１】
0005596143.tif 000013
【図１２】
0005596143.tif 000014
【図１３】
0005596143.tif 000015
【図１４】
0005596143.tif 000016
【図１５】
0005596143.tif 000017
【図１６】
0005596143.tif 000018
【図１７】
0005596143.tif 000019
【図１８】
0005596143.tif 000020
【図１９】
0005596143.tif 000021
【図２０】
0005596143.tif 000022
【図２１】
0005596143.tif 000023
【図２２】
0005596143.tif 000024
【図２３】
0005596143.tif 000025
【図２４】
0005596143.tif 000026
【図２５】
0005596143.tif 000027
【図２６】
0005596143.tif 000028
【図２７】
0005596143.tif 000029
【図２８】
0005596143.tif 000030
【図２９】
0005596143.tif 000031
【図３０】
0005596143.tif 000032
【図３１】
0005596143.tif 000033
【図３２】
0005596143.tif 000034
【図３３】
0005596143.tif 000035
【図３４】
0005596143.tif 000036
【図３５】
0005596143.tif 000037
【図３６】
0005596143.tif 000038
【図３７】
0005596143.tif 000039
【図３８】
0005596143.tif 000040
【図３９】
0005596143.tif 000041
【図４０】
0005596143.tif 000042
【図４１】
0005596143.tif 000043
【図４２】
0005596143.tif 000044
【図４３】
0005596143.tif 000045
【図４４】
0005596143.tif 000046
【図４５】
0005596143.tif 000047
【図４６】
0005596143.tif 000048
【図４７】
0005596143.tif 000049
【図４８】
0005596143.tif 000050
【図４９】
0005596143.tif 000051
【図５０】
0005596143.tif 000052
【図５１】
0005596143.tif 000053
【図５２】
0005596143.tif 000054
【図５３】
0005596143.tif 000055
【図５４】
0005596143.tif 000056
【図５５】
0005596143.tif 000057
【図５６】
0005596143.tif 000058
【図５７】
0005596143.tif 000059
【図５８】
0005596143.tif 000060
【図５９】
0005596143.tif 000061
【図６０】
0005596143.tif 000062
【図６１】
0005596143.tif 000063
【図６２】
0005596143.tif 000064
【図６３】
0005596143.tif 000065
【図６４】
0005596143.tif 000066
【図６５】
0005596143.tif 000067
【図６６】
0005596143.tif 000068
【図６７】
0005596143.tif 000069
【図６８】
0005596143.tif 000070
【図６９】
0005596143.tif 000071
【図７０】
0005596143.tif 000072
【図７１】
0005596143.tif 000073
【図７２】
0005596143.tif 000074
【図７３】
0005596143.tif 000075
【図７４】
0005596143.tif 000076
【図７５】
0005596143.tif 000077
【図７６】
0005596143.tif 000078
【図７７】
0005596143.tif 000079
【図７８】
0005596143.tif 000080
【図７９】
0005596143.tif 000081
【図８０】
0005596143.tif 000082
【図８１Ａ】
0005596143.tif 000083
【図８１Ｂ】
0005596143.tif 000084
【図８１Ｃ】
0005596143.tif 000085
【図８２Ａ】
0005596143.tif 000086
【図８２Ｂ】
0005596143.tif 000087
【図８３】
0005596143.tif 000088
【図８４】
0005596143.tif 000089
【図８５】
0005596143.tif 000090
【図８６】
0005596143.tif 000091
【図８７】
0005596143.tif 000092
【図８８】
0005596143.tif 000093