(57)【特許請求の範囲】
【請求項１】
複数のストレージデバイスの動作を管理する方法であって、
前記複数のストレージデバイスのうちの少なくとも１つのストレージデバイスから電流消費情報を受信するステップと、
前記複数のストレージデバイスのうちの少なくとも１つのストレージデバイスの動作を管理するステップと、を含み、
前記動作を管理するステップが、
前記複数のストレージデバイスのうちの第１のストレージデバイスに開始信号を供給することで、前記第１のストレージデバイスで高電流レベルの電流消費を開始し、
前記第１のストレージデバイスを低電流レベルに切り換え、
高電流レベルで電流消費を完了したことを受けて、前記第１のストレージデバイスから完了信号を供給し、
前記第１のストレージデバイスが高電流レベルで電流消費を完了していることを示す完了信号を、前記複数のストレージデバイスのうちの次のストレージデバイスで受信し、かつ
前記次のストレージデバイスに第２の開始信号を供給し、前記次のストレージデバイスで高電流レベルの電流消費を開始しつつ、前記複数のストレージデバイスのうちの残りのストレージデバイスが低電流レベルで動作されることを含む方法。
【請求項２】
請求項１記載の方法において、
前記電流消費情報が、前記複数のストレージデバイスのうちの少なくとも第２のストレージデバイスの電流消費の実時間表示を含み、前記電流消費情報が、動的に更新される方法。
【請求項３】
請求項１記載の方法において、
前記動作を管理するステップが、前記電流消費情報に基づいて、（ａ）前記第１のストレージデバイスにデータをプログラムし、前記第１のストレージデバイスからデータを消去し、前記第１のストレージデバイスに格納されたデータを読み出すこと、または（ｂ）前記次のストレージデバイスにデータをプログラムし、前記次のストレージデバイスからデータを消去し、前記次のストレージデバイスに格納されたデータを読み出すことをさらに含む方法。
【請求項４】
請求項１記載の方法において、
前記電流消費を許容することが、前記電流消費情報に基づいて、前記第１のストレージデバイスの電流消費を中断し、前記複数のストレージデバイスのうちの別のストレージデバイスの電流消費が再開されることを許容することを含むか、または前記電流消費情報に基づいて、前記第１のストレージデバイスの電流消費が再開されることを許容し、前記別のストレージデバイスの電流消費を中断させることを含む方法。
【請求項５】
請求項１記載の方法において、
前記開始信号を供給することが、前記複数のストレージデバイスのうちの少なくとも１つのストレージデバイスに割り当てられた優先度に基づく方法。
【請求項６】
請求項５記載の方法において、
前記優先度が、電流消費の変化への耐性度、活動レベル、優先度が割り当てられた前記複数のストレージデバイスのうちの少なくとも１つのストレージデバイスに関連する内容の種類および／または構成に基づく方法。
【請求項７】
複数のストレージデバイスの動作を管理する方法であって、
前記複数のストレージデバイスのうちの少なくとも１つのストレージデバイスから電流消費情報を受信するステップと、
前記複数のストレージデバイスのうちの少なくとも１つのストレージデバイスの動作を管理するステップであって、前記複数のストレージデバイスのうちの第１のストレージデバイスの電流消費を、前記複数のストレージデバイスのうちの少なくとも第２のストレージデバイスに関する電流消費情報に基づいて許容することを含む動作を管理するステップと、
前記複数のストレージデバイスのうちの少なくとも１つのストレージデバイスを、前記複数のストレージデバイスのうちの別のストレージデバイスに直接接続するステップと、
を含む方法。
【請求項８】
請求項７記載の方法において、
前記第１のストレージデバイスが、前記複数のストレージデバイスのうちの少なくとも別のストレージデバイスに直接接続され、前記第１のストレージデバイスの電流消費が、前記複数のストレージデバイスのうちの少なくとも第２のストレージデバイスから、前記第１のストレージデバイスによって受信された信号に応答して許容される方法。
【請求項９】
状態マシンおよび１つ以上の他のストレージデバイスと動作可能に接続されたストレージデバイスであって、
データを格納するように構成された記憶部と、
前記記憶部の動作を管理するように動作する回路と、を備え、
前記動作を管理することが、前記ストレージデバイスの電流消費を、前記ストレージデバイスと動作可能に接続された少なくとも１つの他のストレージデバイスに関する電流消費情報に基づいて許容することを含み、
前記電流消費を許容することが、直接接続された１つ以上のストレージデバイスから受信されたコマンドに基づいて実行されるストレージデバイス。
【請求項１０】
請求項９記載のストレージデバイスで構成されるストレージシステムにおいて、
前記電流消費情報が、異なる電流消費レベルの予測タイミングを表す固定された所定のスケジュールを示すストレージシステム。
【請求項１１】
請求項１０記載のストレージシステムにおいて、
前記複数のストレージデバイスのうちの少なくとも１つのストレージデバイスが、フラッシュメモリ技術に適合した構成を有するストレージシステム。
【請求項１２】
請求項１０記載のストレージシステムにおいて、
前記複数のストレージデバイスのうちの少なくとも１つのストレージデバイスが、装置から取り外すことができない専用の取り外し不可のストレージデバイスであるストレージシステム。
【請求項１３】
請求項１０記載のストレージシステムにおいて、
前記複数のストレージデバイスのうちの少なくとも１つのストレージデバイスが、前記ストレージシステムから取り外され、かつ前記ストレージシステムへ追加されるように構成された取り外し可能なストレージデバイスであり、前記取り外し可能なストレージデバイスがメモリカードを含むストレージシステム。
【請求項１４】
複数のストレージデバイスの動作を管理する方法であって、
前記複数のストレージデバイスのうちの少なくとも１つのストレージデバイスから電流消費情報を受信するステップと、
前記複数のストレージデバイスのうちの少なくとも１つのストレージデバイスの動作を管理するステップと、を含み、
前記動作を管理するステップが、
前記複数のストレージデバイスのうちの第１のストレージデバイスに開始信号を供給することで、前記第１のストレージデバイスで高電流レベルの電流消費を開始し、
前記第１のストレージデバイスを低電流レベルに切り換え、
高電流レベルで電流消費を完了したことを受けて、前記第１のストレージデバイスから完了信号を供給し、
前記第１のストレージデバイスが高電流レベルで電流消費を完了していることを示す完了信号を、前記複数のストレージデバイスのうちの次のストレージデバイスで受信し、かつ
前記次のストレージデバイスに第２の開始信号を供給し、前記次のストレージデバイスで高電流レベルの電流消費を開始しつつ、前記複数のストレージデバイスのうちの残りのストレージデバイスが低電流レベルで動作されることを含み、
前記第１のストレージデバイスに開始信号を供給することが、前記複数のストレージデバイスのうちの先のストレージデバイスから開始信号を供給することを含み、
前記第１のストレージデバイスから前記先のストレージデバイスに完了信号を供給することをさらに含み、
前記完了信号を受信することが、前記先のストレージデバイスで前記第１のストレージデバイスからの完了信号を受信することによって、前記第１のストレージデバイスが高電流レベルで電流消費を完了していることを示すことを含み、
前記第２の開始信号を供給することが、前記次のストレージデバイスに第２の開始信号を供給することで、前記次のストレージデバイスが高電流レベルで電流消費を開始可能であることを含む方法。
【請求項１５】
請求項１４記載の方法において、
前記電流消費情報が、前記複数のストレージデバイスのうちの少なくとも第２のストレージデバイスの電流消費の実時間表示を含み、前記電流消費情報が、動的に更新される方法。
【請求項１６】
請求項１４記載の方法において、
前記動作を管理するステップが、前記電流消費情報に基づいて、（ａ）前記第１のストレージデバイスにデータをプログラムし、前記第１のストレージデバイスからデータを消去し、前記第１のストレージデバイスに格納されたデータを読み出すこと、または（ｂ）前記次のストレージデバイスにデータをプログラムし、前記次のストレージデバイスからデータを消去し、前記次のストレージデバイスに格納されたデータを読み出すことをさらに含む方法。
【請求項１７】
請求項１４記載の方法において、
前記電流消費を許容することが、前記電流消費情報に基づいて、前記第１のストレージデバイスの電流消費を中断し、前記複数のストレージデバイスのうちの別のストレージデバイスの電流消費が再開されることを許容することを含むか、または前記電流消費情報に基づいて、前記第１のストレージデバイスの電流消費が再開されることを許容し、前記別のストレージデバイスの電流消費を中断させることを含む方法。
【請求項１８】
請求項１４記載の方法において、
前記開始信号を供給することが、前記複数のストレージデバイスのうちの少なくとも１つのストレージデバイスに割り当てられた優先度に基づく方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、ストレージデバイスに関する。特に、本発明は、複数のストレージデバイスの動作を管理することに関する。
【背景技術】
【０００２】
フラッシュメモリへデータを書き込み、フラッシュメモリからデータを消去するには、「チャージポンプ」として知られる電圧源によって供給される電流が必要である。簡潔に言えば、フラッシュメモリで使用される場合のチャージポンプとは、フラッシュメモリセル内への新しいデータの書き込み、メモリセルからのデータの消去、およびこれらのセルからのデータの読み出しを行うためのフラッシュメモリセル内の電荷量の操作に使用される比較的高い電圧を発生する電気回路である。電圧源であるため、チャージポンプは、電流値がゼロから、ある最大値、すなわち、この最大値を超えると、チャージポンプの出力電圧レベルが制御不能に低下し始める値へ変化しうる電流を供給するように設計される。
【０００３】
いくつかのストレージデバイスを含むストレージシステムにおいて、ストレージ動作（例えば、データの書き込みやデータの消去）を２つ以上のストレージデバイスで同時に実行することが必要な場合がある。しかし、前述した理由から、いくつかのストレージデバイスへのデータの書き込みおよびこれらのデバイスからのデータの消去は、同時にはチャージポンプによって供給され得る最大電流によって制限され、さらに、２つ以上のストレージデバイスが、典型的に、ピーク電流消費レベルで同時に動作する場合には、これらのストレージデバイスの全消費電流が最大許容電流を超えてしまう危険性がある。このような状況下で、電源またはチャージポンプからストレージデバイスに供給される電圧は、有効動作レベルより低下し、ストレージデバイスの予測不能な挙動を引き起こしてしまう。このような場合、ストレージデバイスに最後にプログラムされたデータが失われる可能性がある。
したがって、複数のストレージ動作に関連する動作電圧レベルを損なうことなく、このような動作を制御の下で同時に実行し得るストレージシステムが必要とされている。
【発明の概要】
【０００４】
前述した所見および現在の需要の観点から、電流消費管理が、１つのストレージデバイスの電流消費を、そのストレージデバイスおよび／または複数のストレージデバイスのうちの少なくとも１つの他のストレージデバイスに関する電流消費情報に基づいて制御するステップを含むことが可能な、複数のストレージデバイスの電流消費を管理するためのストレージシステムおよび方法を有することが望まれる。
【０００５】
実施形態の様々な例を本願明細書において記述するが、これらの実施形態は、複数のストレージデバイスのうちの少なくとも１つから電流消費情報を受信するステップと、複数のストレージデバイスのうちの少なくとも１つの動作を管理するステップであって、複数のストレージデバイスのうちの第１のストレージデバイスの電流消費を、複数のストレージデバイスのうちの少なくとも第２のストレージデバイスに関する電流消費情報に基づいて許容することを含む動作を管理するステップと、を含む複数のストレージデバイスの動作を管理する方法を含み得る。
電流消費情報は、複数のストレージデバイスのうちの少なくとも第２の電流消費の実時間表示を含んでいてもよく、また動的に更新されてもよい。
動作を管理するステップは、電流消費情報に基づいて、（ａ）複数のストレージデバイスのうちの第１のストレージデバイスにデータをプログラムし、複数のストレージデバイスのうちの第１のストレージデバイスからデータを消去し、複数のストレージデバイスのうちの第１のストレージデバイスに格納されたデータを読み出すこと、または（ｂ）複数のストレージデバイスのうちの第１のストレージデバイスにデータをプログラムし、複数のストレージデバイスのうちの第２のストレージデバイスからデータを消去し、複数のストレージデバイスのうちの第２のストレージデバイスに格納されたデータを読み出すことをさらに含んでもよい。
【０００６】
電流消費を許容することは、電流消費情報に基づいて、複数のストレージデバイスのうちの第１のストレージデバイスの電流消費を中断し、複数のストレージデバイスのうちの別のストレージデバイスの電流消費が再開されることを許容することを含んでもよく、または電流消費情報に基づいて、複数のストレージデバイスのうちの第１のストレージデバイスの電流消費が再開されることを許容し、複数のストレージデバイスのうちの別のストレージデバイスの電流消費を中断させることを含んでもよい。電流消費を許容することは、複数のストレージデバイスのうちの少なくとも１つに割り当てられた優先度に基づいたものであってもよい。この優先度は、電流消費の変化への耐性度、活動レベル、優先度が割り当てられる複数のストレージデバイスのうちの少なくとも１つに関連する内容の種類および／またはその構成に基づいたものであってもよい。
【０００７】
この方法はまた、複数のストレージデバイスのうちの少なくとも１つを複数のストレージデバイスのうちの別のストレージデバイスに直接接続するステップを含んでもよい。複数のストレージデバイスのうちの第１のストレージデバイスは、複数のストレージデバイスのうちの少なくとも別のストレージデバイスに直接接続されてもよく、この第１のストレージデバイスの電流消費は、複数のストレージデバイスのうちの少なくとも第２のストレージデバイスから、第１のストレージデバイスによって受信された信号に応答して許容されてもよい。
【０００８】
また、各々がデータを格納するように構成されている複数のストレージデバイスと、ストレージデバイスの各々に接続された状態マシンと、を備えるストレージシステムが提供される。状態マシンは、複数のストレージデバイスのうちの少なくとも１つの動作を管理するように動作する。動作を管理することは、複数のストレージデバイスのうちの第１のストレージデバイスの電流消費を、複数のストレージデバイスのうちの少なくとも第２のストレージデバイスに関する電流消費情報に基づいて許容することを含む。
ストレージデバイスのうちの少なくとも１つが、フラッシュメモリ技術に適合した構成を有してもよく、さらに、装置から取り外すことができない専用の取り外し不可なストレージデバイスであってもよく、あるいはストレージシステムからの取り外しやストレージシステムへ追加するように構成され、メモリカードを含む取り外し可能なストレージデバイスであってもよい。
【０００９】
また、データを格納するように構成された記憶部と、記憶部の動作を管理するように動作する回路とを備える、状態マシンおよび１つ以上の他のストレージデバイスと動作可能に接続されたストレージデバイスが提供される。動作を管理することは、ストレージデバイスの電流消費を、ストレージデバイスと動作可能に接続された少なくとも１つの他のストレージデバイスに関する電流消費情報に基づいて許容することを含む。電流消費を許容することは、状態マシンから受信されるコマンドに基づいて実行されてもよい。
【００１０】
また、複数のストレージデバイスと動作可能に接続された状態マシンを含む複数のストレージデバイスを管理するためのデバイスが提供される。状態マシンは、複数のストレージデバイスのうちの少なくとも１つの動作を管理するように動作する。動作を管理することは、複数のストレージデバイスのうちの第１のストレージデバイスの電流消費を、複数のストレージデバイスのうちの少なくとも第２のストレージデバイスに関する電流消費情報に基づいて許容することを含む。
【００１１】
可能な限り記載する実施形態の追加の特徴および利点は、以下の図面および説明から明らかになる。
様々な実施形態をさらに深く理解しやすいように、同様の参照番号が図面において対応するセクションや要素を示し得る、添付の図面を参照されたい。
【図面の簡単な説明】
【００１２】
【図１】例示的な実施形態による複数のストレージデバイスを有するストレージシステムを示す。
【図２】別の例示的な実施形態による複数のストレージデバイスを有するストレージシステムを示す。
【図３】例示的な実施形態による図１のストレージデバイスをより詳細に示す。
【図４】別の例示的な実施形態による図２のストレージデバイスをより詳細に示す。
【図５】図１のストレージシステムの情報のデータベースに電流消費情報を格納する方法を示す。
【図６】状態マシンが複数のストレージデバイスを制御または管理する例示的な方法を示す。
【図７】状態マシンが２つのストレージデバイスを作動させる例示的な方法を示す。
【発明を実施するための形態】
【００１３】
本発明の例示的な実施形態および様々な態様について、以下にさらに詳細に記載する。本願明細書は、特許請求の範囲を限定することを意図したものではなく、例示的な実施形態を提供するためのものである。したがって、以下の記述は、複数のストレージデバイスを管理するための様々なストレージシステムを含む、例示的な実施形態を提示する。
本願明細書における開示は、不揮発性ストレージデバイスに関するものであるが、揮発性ストレージデバイスに同様に関連してもよく、または揮発性ストレージデバイスとともに使用されてもよい。一例として、不揮発性ストレージデバイスは、フラッシュまたはＥＥＰＲＯＭタイプのものであってもよい。
【００１４】
本願明細書において使用されるストレージデバイスは、ホストと直接接続され直接通信するように動作する、当業者に既知の任意のストレージデバイスであってもよい。このようなストレージデバイスは、セキュアなデジタルメモリカード形式およびマルチメディアカード形式を含むメモリカード形式に適合する構成を有してもよい。ストレージデバイスは、揮発性または不揮発性のいずれかでバイナリ形式でデータを格納する能力を備えたメモリセルアレイ（フラッシュなど）を含んでもよい。フラッシュタイプのメモリセルを有するということは、任意の適切なタイプのメモリセルを使用する他の実施形態もさらに適用可能であるため、限定的な意味ではないことに留意するべきである。
【００１５】
デジタルデータの格納に一般に使用されるメモリカードは、様々な電子デバイスとともに使用される。メモリカードには、「エンベデッド」カードと呼ばれるものや、「リムーバブル」カードと呼ばれるメモリカードがあり、リムーバルカードとは、言い換えれば、エンドユーザがある電子デバイスから別のものへカードを簡単に移動させて、カードに格納されたデジタルデータをポータブルデータにすることができるということである。メモリカードのフォームファクタは、比較的小型であり、デジタルカメラ、メディアプレーヤ／レコーダ（例えば、ＭＰ３プレーヤ）、ハンドヘルドまたはノートブックコンピュータ、携帯情報端末（ＰＤＡ）、携帯電話、ネットワークカード、ネットワーク機器、セットトップボックス、およびハンドヘルドまたは他のデバイスなどのデータストレージを必要とする電子デバイスに対して、デジタルデータを格納するために使用され得る。
【００１６】
このため、本願明細書における開示は、ストレージデバイスが、ストレージシステムへの接続およびストレージシステムからの取り外し用に構成された取り外し可能なストレージデバイスであろうが、ストレージシステム内に組み込まれた専用ストレージデバイスであろうが、任意のマスストレージデバイスを採用し得る。
以上のことから、本願明細書において記述するストレージデバイスは、音声、映像、または画像ファイルなどのマルチメディアコンテンツを格納するために使用される任意のメモリタイプ（例えば、フラッシュメモリ）および／またはメモリカード形式（例えば、セキュアデジタル（「ＳＤ」）メモリカード形式）に適合する構成を有するものであってもよい。ストレージデバイスはまた、マルチメディアカード（「ＭＭＣ」）形式、コンパクトフラッシュ（「ＣＦ」）形式、フラッシュＰＣ（例えば、ＡＴＡフラッシュ）形式、スマートメディア形式、ＵＳＢフラッシュドライブ、メモリスティック形式、または任意の他の業界標準形式に適合する構成を有するものであってもよい。
【００１７】
ストレージデバイスは、電源が切られたときでも記憶または格納状態を維持する不揮発性メモリを有してもよい。ストレージデバイスはまた、例えば、電気的に消去可能でプログラム可能な読み出し専用メモリ（ＥＥＰＲＯＭ）、ＥＰＲＯＭ、ＭＲＡＭ、ＦＲＡＭ、強誘電性、磁気、または他のメモリなどの消去可能なプログラマブルメモリ技術を採用してもよい。デバイスの構成は、メモリタイプに依存するものではなく、フラッシュメモリまたは別のタイプのメモリであれば、任意のタイプのメモリで実装されてもよいことに留意するべきである。デバイスはまた、メモリチップおよび／または三次元（３Ｄ）メモリチップ技術を用いて実装されてもよい。
本願明細書において記述するホストは、パーソナルコンピュータ、ノートブックコンピュータ、ＰＤＡ（携帯情報端末）やモバイルハンドセットなどのハンドヘルドコンピューティングデバイス、携帯電話、カメラ、音声再生デバイス、または取り外し可能なデータストレージとともに機能する任意の他の電子デバイスであってもよい。ホストは、いくつか例を挙げると、アドレス帳、一日単位の電子手帳、電子ノートパッドなどの様々な個人の情報管理アプリケーションを有してもよい。
【００１８】
図１は、１つの例示的な実施形態によるストレージシステム１０のブロック図である。ストレージシステム１０は、典型的に、状態マシン１２に作動的に接続された「ＳＤａ１」、「ＳＤａ２」、「ＳＤａ３」・・・「ＳＤａＮ」として示された複数のストレージデバイスを含む。
典型的に、ストレージシステム１０のストレージデバイスＳＤａ１〜ＳＤａＮは、類似したものまたは同一のもの、すなわち同様に構成されたものであり、したがって、同様の方法でデータを格納する。しかし、ストレージデバイスは、異なるように構成されてもよい。
【００１９】
状態マシン１２は、例えば、ストレージデバイスＳＤａ１〜ＳＤａＮの動作を制御するコントローラまたはＣＰＵであってもよい。状態マシン１２は、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組み合わせで実装されてもよい。
状態マシン１２は、ストレージデバイスＳＤａ１〜ＳＤａＮの特定の１つの動作（すなわち、ストレージ動作）を、ストレージデバイスＳＤａ１〜ＳＤａＮの少なくとも別のものの電流消費に関する情報（本願明細書において「電流消費情報」と呼ばれる情報）に基づいて制御する。例えば、ストレージシステム１０は、少なくともストレージデバイスＳＤａ２に関連するか、関係するか、または関する電流消費情報に基づいて、ストレージデバイスＳＤａ１の動作を制御してもよい。例えば、ストレージシステム１０は、ＳＤａ２、ＳＤａ３、およびＳＤａＮに関連するか、関係するか、または関する電流消費情報に基づいて、ＳＤａ１の動作を制御してもよい。
【００２０】
電流消費情報は、ストレージデバイスＳＤａ１、ＳＤａ２、ＳＤａ３・・・ＳＤａＮから状態マシン１２へ伝達されてもよく、またはこれらのストレージデバイスの代わりに状態マシン１２に供給されてもよい。さらにまたは他の形態では、電流消費情報を、ストレージデバイスの製造業者から状態マシン１２が入手するかまたは別のデバイスから入手し、情報１６のデータベース上に格納する（図５の表１００を参照されたい）。情報１６のデータベースは、状態マシン１２に格納されてもよく、または状態マシン１２によって入手可能であってもよい。
【００２１】
すでに前述したように、状態マシン１２は、異なる時間に低電流消費レベルおよび高電流消費レベルを要求する異なるタイプのストレージデバイスに接続されてもよい。したがって、自己学習機構１４が、情報１６のデータベースを開発するように状態マシン１２に教示したり状態マシン１２を訓練したりすることで、状態マシン１２によって各ストレージデバイスのさらなる制御が要求される電流消費レベルに関連する情報をデータベースが含むように、自己学習機構１４が設けられる。このようなトラッキングは、電流消費情報に関連する情報の外部ユニットへの転送などを含む種々の目的でさらに使用され得る。自己学習機構１４は、図１に示すような状態マシン１２に実装されるか、組み込まれるか、または内蔵されてもよく、あるいは図２に示すように、状態マシン１２の外部に動作可能に接続されてもよい。
【００２２】
以下に記載するように、ストレージデバイスＳＤａ１、ＳＤａ２、ＳＤａ３・・・ＳＤａＮの電流消費に対する基本的な制御が実行される。状態マシン１２は、ストレージデバイスＳＤａ１、ＳＤａ２、ＳＤａ３・・・ＳＤａＮの各々と継続的に別々に通信を行う。ストレージデバイスＳＤａ１、ＳＤａ２、ＳＤａ３・・・ＳＤａＮの各々は、例えば、ストレージデバイスに任意に割り当てられた識別子（例えば、識別番号）を使用することで、状態マシン１２に対して固有に識別される。
状態マシン１２によるストレージデバイスＳＤａ１、ＳＤａ２、ＳＤａ３・・・ＳＤａＮの電流消費の管理を行いやすいようにするために、電流消費情報は、ストレージデバイスＳＤａ１、ＳＤａ２、ＳＤａ３・・・ＳＤａＮの各々と状態マシン１２との間で（継続的、時々、または断続的のいずれかで）交換される。
【００２３】
状態マシン１２は、ストレージデバイスの間を同期させるように動作し得る。言い換えれば、状態マシン１２は、ストレージデバイスＳＤａ１、ＳＤａ２、ＳＤａ３・・・ＳＤａＮの各々が動作するタイミングを制御することで、全ストレージデバイスＳＤａ１、ＳＤａ２、ＳＤａ３・・・ＳＤａＮが任意の所与の時間にまとめて消費する電流の総量が、最大稼働値を超えないようにし、この最大稼働値を超えてしまうと、ストレージシステム１０の動作の信頼性を確保したり、または保障できなくなったりする。
【００２４】
ストレージデバイスＳＤａ１、ＳＤａ２、ＳＤａ３・・・ＳＤａＮの各々と通信状態にある間、状態マシン１２は、１つのストレージデバイスとの間で、このようなストレージデバイスの少なくとも別のものに関する電流消費情報に基づいて、データのプログラミング（すなわち、書き込み）、消去、および読み出しを制御する。状態マシン１２は、任意の適切な通信プロトコルを使用して、ストレージデバイスＳＤａ１、ＳＤａ２、ＳＤａ３・・・ＳＤａＮと通信状態にあってもよい。例えば、図１に示すように、通信リンクＣ１、Ｃ２、Ｃ３・・・ＣＮが、状態マシン１２からストレージデバイスＳＤａ１、ＳＤａ２、ＳＤａ３・・・ＳＤａＮにストレージコマンドおよび同期信号を転送し、反対方向、すなわちストレージデバイスＳＤａ１、ＳＤａ２、ＳＤａ３・・・ＳＤａＮから状態マシン１２に電流消費情報を転送するためにそれぞれ使用されてもよい。
ストレージコマンドは、例えば、データ読み出しコマンド、データ書き込み（プログラミング）コマンド、およびデータ消去コマンドであってもよい。
【００２５】
本願明細書における開示において、同期信号とは、ある電流レベルまで（例えば、ストレージシステムが利用可能な最大電流まで）の消費が許容されていることをストレージデバイス（例えば、ＳＤａ１として示されるストレージデバイス）に伝えるメッセージである。同期信号は、図１に示すように、状態マシンによって生成され、状態マシンから同期信号で動作するストレージデバイスに転送されてもよい。他の形態においてまたはさらに、ストレージシステムは、図２に示すように、同期信号を生成し、ストレージデバイス間で同期信号を交換してもよい。任意の時点で、ストレージデバイスに同期信号が転送されてもよい。
【００２６】
本願明細書における開示において、「情報」および「電流消費情報」は、時間の経過とともに（すなわち、状態マシンやストレージデバイスによって）動的に更新される任意の実時間情報、および／または異なる（例えば、高、中、および低）電流消費レベルの予測タイミングを表す固定された所定のスケジューリングを示す情報を含んでもよい。また、ストレージデバイスから送出された電流消費情報は、状態マシン１２に対してストレージデバイスを特定する固有ストレージデバイス識別子を含んでもよい。各ストレージデバイスの電流消費情報は、ストレージデバイスによって状態マシンに供給されてもよく、かつ／または製造中に状態マシン１２に組み込まれてもよい。
【００２７】
ストレージデバイス１０は、各ストレージデバイスの初期動作の前に、ストレージデバイスが、対応する同期信号の受信に応答して高電流消費レベルで動作するように構成され（例えば、製造時に）、または状態マシン１２によって命令される。言い換えれば、ストレージシステム１０のストレージデバイスは高電流消費レベルで再開するように許容されず、かつ／またはストレージデバイスが適切なコマンドで再開することを許容されないかぎり、ある電流消費しきい値を超えた動作は許容されない。状態マシン１２は同期信号を１つのストレージデバイス（例えば、ＳＤａ１）に送信し、そのストレージデバイスが高電流消費レベルで動作する一方で、ストレージデバイスの残り（例えば、ＳＤａ２、ＳＤａ３・・・ＳＤａＮ）は低電流消費レベルで動作し得る。
【００２８】
本願明細書における開示において、「ストレージデバイスが高電流消費レベルで動作でき、残りのストレージデバイスが低電流消費レベルで動作できる」ということは、言い換えれば、ストレージシステムにより、この１つのストレージデバイスが、（典型的に、ストレージデバイスの構成で規定されている）高電流消費レベルおよび／または最大許容電流消費レベルを消費できる一方で、ストレージシステムの他のストレージデバイスが、（典型的に、ストレージデバイスの構成で規定されている）低電流消費レベルおよび／または最少電流消費レベルを一時的に消費できるということである。他の形態においてまたはさらに、「１つのストレージデバイスが第１の電流消費レベルで動作できる一方で、残りのストレージデバイスが第２の電流消費レベルで動作できる」ということは、言い換えれば、この１つのストレージデバイスに信号が送信されるため、この１つのストレージデバイスの電流消費が可能になる一方で、他のストレージデバイスの電流消費が一時的に不能になるということであり得る。
ストレージデバイスは、通例、製造中に、高電流消費レベルおよび低電流消費レベルで動作するように設計されている。典型的に、ストレージデバイスは、任意のストレージ動作を実行するときは比較的高い電流を消費し、他の場合、例えば、ストレージデバイスがアイドル状態にあるときは低電流を消費する。
【００２９】
例示的な実施形態において、状態マシン１２は、ストレージコマンドおよび同期信号を、通信リンクＣ１、Ｃ２、Ｃ３・・・ＣＮを介して、ストレージデバイスＳＤａ１、ＳＤａ２、ＳＤａ３・・・ＳＤａＮにそれぞれ転送する。
例えば、状態マシン１２は、以下の方法でプログラムコマンドを３つのストレージデバイスに同時に発行するようにプログラムされてもよい。すなわち、プログラミング動作の５０マイクロ秒（μｓｅｃ）の第１のスロットの間、ストレージデバイスＳＤａ１に比較的高レベルの電流を消費させ、次に、（ＳＤａ１が低電流消費レベルで動作している間に）プログラミング動作の第１の次のスロットの５０マイクロ秒の間、ストレージデバイスＳＤａ２に比較的高レベルの電流を消費させ、その後、（ＳＤａ２が低電流消費レベルで動作している間に）プログラミング動作の第２の次のスロットの５０マイクロ秒時間の間、ストレージデバイスＳＤａ３に比較的高レベルの電流を消費させる。
【００３０】
別の実施例において、状態マシン１２により、特定のストレージデバイスは、別のストレージデバイスから受信されるＲｅａｄｙ信号に応答して高電流消費を消費できる。本願明細書における開示において、「Ｒｅａｄｙ」信号は、該当するストレージデバイスが、高電流消費レベルで動作し終えたことを状態マシン１２に通知するために、ストレージデバイスによって送出された信号である。実時間表示であるＲｅａｄｙ信号は、１つのストレージデバイスから別のものへ直接的または間接的のいずれかで（例えば、状態マシン１２を介して）送出され送信されてもよい。Ｒｅａｄｙ信号は、ストレージデバイスＳＤａ１、ＳＤａ２、ＳＤａ３・・・ＳＤａＮから状態マシン１２へ、例えば、通信リンクＣ１、Ｃ２、Ｃ３・・・ＣＮを介して転送されてもよい。
【００３１】
説明のため、ストレージデバイスＳＤａ１、ＳＤａ２、ＳＤａ３・・・ＳＤａＮの各々が、状態マシン１２から対応する同期信号の電流条件を消費するように構成されると仮定する。言い換えれば、ストレージデバイスは、このストレージデバイスに電流の消費を許容する同期信号が受信されていなければ、電流を消費できないようにされ得る。
状態マシン１２のスケジュールによれば、ＳＤａ１は、高電流消費レベルで動作するように許容されるストレージデバイスのみである。このようにして、状態マシン１２は、例えば、通信チャネルＣ１を介して、ストレージデバイスＳＤａ１が電流を消費できるようにする同期信号を、ストレージデバイスＳＤａ１に転送する。このような同期信号は、ストレージデバイスＳＤａ１に、そのストレージデバイスが利用可能な最も高い電流を消費できる間の時間スロットを指定してもよい。
【００３２】
状態マシン１２が、ストレージデバイスＳＤａ１に、ストレージデバイスＳＤａ１が高電流を消費するように許容される時間スロットを割り当てても、ストレージデバイスＳＤａ１は、高電流要求動作を実行するために、割り当てられた時間スロットを必ずしも使用する必要はないことに留意するべきである。言い換えれば、割り当てられた時間スロットの間、ストレージデバイスＳＤａ１が、高電流を要求する動作を実行する必要があれば、ストレージデバイスＳＤａ１は、割り当てられた時間スロットの間にその動作を実行する。ストレージデバイスＳＤａ１が高電流消費レベルで動作する必要がない場合、ストレージデバイスＳＤａ１は、高電流要求動作の実行を完了したか、あるいはストレージデバイスＳＤａ１が高電流を要求する動作を実行する予定がないことを示すＲｅａｄｙ信号を状態マシン１２に送信する。引き続きまたはＲｅａｄｙ信号の受信に応答して、状態マシン１２は、ストレージデバイスＳＤａ１、ＳＤａ２、ＳＤａ３・・・ＳＤａＮの別のものに同期信号を送信し、このストレージデバイスが高電流消費レベルで動作できるようにする。
【００３３】
高電流レベルで動作する許可を状態マシン１２から受信するために、ストレージデバイスＳＤａ１、ＳＤａ２、ＳＤａ３・・・ＳＤａＮの中の次のストレージデバイスは、例えば、ストレージデバイスの識別番号に応じて、任意にまたは順番通りに、状態マシン１２によって選択されてもよい。あるいは、許可が出される次のストレージデバイスの選択は、許容されたストレージデバイスの順番がその時々に変化しながらランダムに行われ得る。別の実施例によれば、次のストレージデバイスの選択は、所定のスケジューリングに従って行われる。
【００３４】
状態マシン１２によって採用される所定のスケジューリングは、優先度を考慮した動きになり得る。このような場合、状態マシン１２は、特定のストレージデバイスの電流消費を、特定のストレージデバイスに割り当てられた優先度に基づかせることもできる。
１つのストレージデバイスが別のストレージデバイスより優先度が高い状態が生じるのは、第１のストレージデバイスの高電流消費レベルでの動作が急を要する場合であり得る。このような状況下において、状態マシン１２は、１つのストレージデバイスの電流消費期間を別のストレージデバイスより長くし（すなわち、延長させ）、かつ／またはより頻度を高くすることもある。
【００３５】
ある時間に特定のストレージデバイスに転送されるタイプのコンテンツ、特定のストレージデバイス構成、特定のストレージデバイスの電流消費の変化に対する耐性度、およびストレージデバイスの活動レベルを含むが、これらに限定されるものではない基準の群から選択された１つ以上の基準に基づいて、ストレージデバイスＳＤａ１〜ＳＤａＮは優先度が付けられてもよい。このような基準は、構成中に状態マシン１２に設定されてもよく、かつ／または外部デバイスおよび／または任意の他の手段から状態マシン１２に供給され、例えば、ユーザからの入力として受信されてもよい。
例えば、状態マシン１２は、特定のストレージデバイスに高優先度レベルを割り当て、ある種の情報（例えば、起動情報、オペレーティングシステムに関する情報、あるいは任意の他の重要な情報や操作上または別の理由から重大なユーザまたはシステム情報）が該当するストレージデバイスに送信される場合に、その優先度を適用するように決定し得る。
【００３６】
ストレージデバイスの優先度は、追加の１つ以上の基準または別の基準に基づいたものであってもよい。例えば、状態マシン１２は、ストレージデバイスが、高電流または長時間の期間に高電流消費を必要としない動作の実行中でビジーの状態にある場合、ストレージデバイスに低優先度レベルを割り当ててもよい。別の例によれば、状態マシン１２は、ストレージデバイスが状態マシンおよび／または他のストレージデバイスの任意のものとの間で固有のプロトコルをサポートしていない場合や、ストレージデバイスの状態が悪く、動作不良になった場合などに、このストレージデバイスに低優先度レベルを割り当てる。さらにまたは任意で、状態マシンは、ストレージデバイスがスリープモードまたはアイドルモードで動作中の場合、ストレージデバイスに低優先度レベルを割り当ててもよい。
【００３７】
状態マシン１２が特定のストレージデバイスの電流消費を許容する方法は、あるストレージシステムから別のものへ、さらには同じストレージシステム上である時点から別の時点へ変動し得ることに留意するべきである。また、状態マシン１２には、ウェアレベリング管理、エラー訂正コード（「ＥＣＣ」）管理、不良ブロック管理、およびデータ転送管理など、当業者に既知の追加のストレージデバイス管理能力が与えられてもよいことに留意するべきである。
【００３８】
図２は、別の例示的な実施形態によるストレージシステム２０のブロック図である。ストレージシステム２０において、ストレージデバイスＳＤｂ１、ＳＤｂ２、ＳＤｂ３・・・ＳＤｂＮが、「デイジーチェーン」として既知の配線方式で動作可能に相互接続されることを除いて、ストレージシステム２０は、図１に示すストレージシステム１０のものと同一の配置を含む。簡潔に言えば、「デイジーチェーン」とは、例えば、デバイスＡがデバイスＢに配線され、デバイスＢがデバイスＣに配線され、その後も同様に続く通信のバス配線方式である。最後のデバイスは、通常、抵抗やターミネータに配線される。すべてのデバイスが同一の信号を受信してもよいし、あるいは単純なバスとは対照的に、チェーンにある各デバイスが各デバイスを通過する前に１つ以上の信号を修正してもよい。
ストレージデバイス間の動作接続は、物理的接続またはワイヤレス接続であってもよい。さらに、図２に示すストレージデバイス間の接続は、直接通信チャネルを介したものである必要はない。したがって、ストレージデバイスが隣接するストレージデバイスに（物理的またはワイヤレスのいずれかで）接続されることも、ストレージデバイスが１つのストレージデバイスのみに接続されることも要求されない。
【００３９】
２つの隣接するストレージデバイス間（例えば、ストレージデバイスＳＤｂ１およびＳＤｂ２の間）は、「Ｓｙｎｃ  Ｏｕｔ」、「Ｒｅａｄｙ  Ｉｎ」、「Ｓｙｎｃ  Ｉｎ」、および「Ｒｅａｄｙ  Ｏｕｔ」通信ポートによって接続される。ストレージデバイスＳＤｂ１〜ＳＤｂＮの各々は、最初のストレージデバイス（すなわち、ストレージデバイスＳＤｂ１）および最後のストレージデバイス（すなわち、ストレージデバイスＳＤｂＮ）以外、これらの４つのポートを有する。すなわち、ＳＤｂ１がＳｙｎｃ  ＯｕｔポートおよびＲｅａｄｙ  Ｉｎポートしか有しておらず、ＳＤｂＮがＳｙｎｃ  ＩｎポートおよびＲｅａｄｙ  Ｏｕｔポートしか有していない。図２のＳＤｂＮである最後のストレージデバイスに同期信号が到達するまで、同期信号は、１つのストレージデバイスのＳｙｎｃ  Ｏｕｔポートから、そのストレージデバイスが接続されている次のストレージデバイスのＳｙｎｃ  Ｉｎポート（例えば、ＳＤｂ１からＳＤｂ２）へデイジーチェーンの下流に転送されるかまたはカスケードされる。Ｒｅａｄｙ信号は、１つのストレージデバイスのＲｅａｄｙ  Ｏｕｔポートから、そのストレージデバイスが接続されている次のストレージデバイスのＲｅａｄｙ  Ｉｎポートへ、反対方向（すなわち、デイジーチェーンの上流）に転送されるかまたはカスケードされる。
【００４０】
ストレージデバイスＳＤｂ１〜ＳＤｂＮと状態マシン２２との間の接続Ｃ１’、Ｃ２’、Ｃ３’・・・ＣＮ’は、図１に示す接続Ｃ１、Ｃ２、Ｃ３・・・ＣＮと同一または同様のものであってもよい。通信リンクＣ１’、Ｃ２’、Ｃ３’・・・ＣＮ’は、状態マシン２２によって送出されるストレージコマンドおよびイネーブル信号をストレージデバイス（ＳＤｂ１、ＳＤｂ２、ＳＤｂ３・・・ＳＤｂＮ）のそれぞれに転送するように使用される。通信リンクＣ１’、Ｃ２’、Ｃ３’・・・ＣＮ’はまた、ストレージデバイスＳＤｂ１、ＳＤｂ２、ＳＤｂ３・・・ＳＤｂＮから状態マシン２２へ電流消費情報を転送するように使用される。
【００４１】
図２ａに示す例において、ストレージデバイスが、別のストレージデバイスからの同期信号および／またはイネーブル信号として状態マシン２２によって送出される許容メッセージの受信に応答して、高電流を消費するように許容されてもよい。状態マシン２２から特定のストレージデバイスへ転送されるイネーブル信号が、このストレージデバイスを「オン」に切り換えるため、このデバイスは、その後の任意の時間に受信されてもよい同期信号に応答できる。
以下、基本的な非限定的動作モードについて記載する。状態マシン２２は、通信リンクＣ１’、Ｃ２’、Ｃ３’・・・ＣＮ’を介して、ストレージデバイスＳＤｂ１、ＳＤｂ２、ＳＤｂ３・・・ＳＤｂＮの各々と通信状態にある。前述したように、状態マシン２２に対して固有に識別されたストレージデバイスＳＤｂ１、ＳＤｂ２、ＳＤｂ３・・・ＳＤｂＮが「オフ」にされ、ストレージデバイスが高電流消費を消費できなくなる。状態マシン２２により、特定のストレージデバイスは、ストレージデバイスの残りのものに関する電流消費情報に基づくかまたは考慮に入れられ得る、規定のスケジューリングに従って、同期信号に応答することができるようにされ得る。
【００４２】
例示すると、ストレージデバイスＳＤｂ１が、最初、高電流消費状態に入ることを許容されるということは、つまり、ＳＤｂ１が、状態マシン２２からの対応するイネーブル信号の受信に応答して、高電流を消費することが許容されるということを意味する。イネーブル信号が有効である限り、ストレージデバイスＳＤｂ１は、実際に高電流消費を行うことができ、またはストレージデバイスＳＤｂ２から（ストレージデバイスＳＤｂ１のＲｅａｄｙ  Ｉｎポートを介して）ＳＤｂ１が受信するＲｅａｄｙ信号に応答して、高電流消費を再開することができる。ストレージデバイスＳＤｂ１は、（ＳＤｂ２のＳｙｎｃ  Ｏｕｔポートを介して）ストレージデバイスＳＤｂ２へ同期信号を送出する。
【００４３】
ストレージデバイスＳＤｂ２、ＳＤｂ３・・・ＳＤｂＮが、ストレージデバイスＳＤｂ１と異なるように動作する。ここでも、ストレージデバイスＳＤｂ２、ＳＤｂ３・・・ＳＤｂＮの各々は、状態マシン２２からの対応するイネーブル信号の受信に応答して、高電流を消費することが許容される。イネーブル信号が有効である限り、ストレージデバイスＳＤｂ２、ＳＤｂ３・・・ＳＤｂＮは、ストレージデバイスＳＤｂ１、ＳＤｂ２・・・ＳＤｂＮ−１から（Ｓｙｎｃ  Ｉｎポートを介して）それぞれ受信される対応する同期信号に応答して、高電流を消費するように動作し得る。ストレージデバイスＳＤｂ２、ＳＤｂ３・・・ＳＤｂＮは、（Ｒｅａｄｙ  Ｏｕｔポートを介して）ストレージデバイスＳＤｂ１、ＳＤｂ２・・・ＳＤｂＮ−１にそれぞれＲｅａｄｙ信号を送出する。
典型的に、（ストレージデバイスＳＤｂ３、ＳＤｂ４・・・ＳＤｂＮから）ストレージデバイスＳＤｂ２、ＳＤｂ３・・・ＳＤｂＮ−１によって受信されるＲｅａｄｙ信号が、ストレージデバイスＳＤｂ１、ＳＤｂ２・・・ＳＤｂＮ−２にそれぞれ横断されていく。
【００４４】
ストレージデバイスＳＤｂ１、ＳＤｂ２、ＳＤｂ３・・・ＳＤｂＮの任意のものは、ストレージシステム２０にある任意の１つ以上のストレージデバイスと通信状態にあり得るため、特定のストレージデバイスは、特定の構成に応じて、対応する同期信号／Ｒｅａｄｙ信号を、ストレージシステム２０にある他のストレージデバイスの任意のものに対してさらに受信および／または送信してもよい。
図１および図２の配置および／または図１および図２の配置で示すコンポーネントの任意のものの機能の任意の組み合わせが、本願明細書において適用可能であり得ることに留意するべきである。
【００４５】
図３は、例示的な実施形態による図１のストレージデバイス（例えば、ストレージデバイスＳＤａＮ）をより詳細に示す。ここでも、ストレージデバイスＳＤａＮは、構成に応じて、ストレージシステムの１つ以上の他のストレージデバイスに直接的または間接的に接続される。
ストレージデバイスＳＤａＮは、典型的に、データを格納するためのメモリアレイ３２ａおよびストレージデバイスコントローラ３４ａなどの記憶部を含む回路を含む。メモリアレイ３２ａへのデータのプログラミング、およびメモリアレイ３２ａからのデータの読み出しを管理するために、ストレージデバイスコントローラ３４ａが設けられる。ストレージデバイスコントローラ３４ａは、状態マシンからインターフェイス３６を介して、同期信号などの信号の受信に応答して、ストレージデバイスＳＤａＮの電流消費を制御する。
状態マシンは、例えば、図１および図２のストレージシステムに関して記載した状態マシンであってもよい。さらに、前述したように、ストレージデバイスＳＤａＮは、インターフェイス３６を介して、状態マシンに電流消費レベルの実時間表示を伝えるように動作し得るものであってもよい。
【００４６】
図４は、例示的な実施形態による図１のストレージデバイス（例えば、ストレージデバイスＳＤｂＮ）をより詳細に示す。
ストレージデバイスＳＤｂＮは、典型的に、データを格納するためのメモリアレイ３２ｂおよびストレージデバイスコントローラ３４ｂなどの記憶部を含む回路を含む。メモリアレイ３２ｂへのデータのプログラミング、およびメモリアレイ３２ｂからのデータの読み出しを管理するために、ストレージデバイスコントローラ３４ｂが設けられる。ストレージデバイスコントローラ３４ｂは、状態マシンからイネーブルポート４８を介する同期信号などの信号の受信に応答して、さらにＳｙｎｃ  Ｉｎポートを介する別のこのようなストレージデバイスから受信されたイネーブル信号に基づいて、ストレージデバイスＳＤｂＮの電流消費を制御する。同期信号は、ストレージ動作コマンドの受信後または受信前のいずれかに、任意の時点で受信されてもよい。
【００４７】
ストレージデバイスコントローラ３４ｂは、Ｓｙｎｃ  ＯｕｔおよびＲｅａｄｙ  Ｏｕｔポート接続のそれぞれを介して、（典型的には、ストレージデバイスＳＤｂＮと直接接続状態にある）他のこのようなストレージデバイスに、同期信号およびＲｅａｄｙ信号を送信するようにさらに動作可能である。Ｒｅａｄｙ信号を受信すると、ストレージデバイスＳＤｂ２は、Ｒｅａｄｙ  Ｏｕｔポート接続を介して別のこのようなストレージデバイスにこのＲｅａｄｙ信号を伝えるか、または特定の構成に応じて、高電流消費状態に入るかのいずれかである。
同期信号およびＲｅａｄｙ信号は、前述したものと同じ方法で送出される。すなわち、同期信号は、他のストレージデバイスが高電流消費レベルでの動作を開始するために送信される。Ｒｅａｄｙ信号は、典型的に、高電流の消費がこれ以上必要ないことを他のストレージデバイスに通知するために送信される。
前述したように、状態マシンは、例えば、図１および図２のストレージシステムに関して記載した状態マシンであってもよい。さらに、前述したように、ストレージデバイスＳＤｂＮは、インターフェイス４６を介して、状態マシンに電流消費レベルの実時間表示を伝えるように動作し得るものであってもよい。
【００４８】
図５は、１つの例示的な実施形態による電流消費情報を保持する表１００を示す。一般に、表１００は、ストレージデバイスＳＤａ１、ＳＤａ２、ＳＤａ３、ＳＤａ４、およびＳＤａ５に関連する電流消費要求に関する情報を提供する。
一例として、表１００は、高電流消費状態で５０ｍＡの量を消費するのに２０マイクロ秒を必要とし、７ｍＡの量を消費するのに３０マイクロ秒を必要とするストレージデバイスの電流消費情報を提供する。
【００４９】
特に、表１００は、高電流消費状態で動作するためにストレージデバイスによって要求される電流量（単位ミリアンペア）を示すためにフィールド１１０と、高電流状態で動作するためにストレージデバイスが要求する時間（単位マイクロ秒）を示すためのフィールド１２０と、低電流消費状態で動作するためにストレージデバイスによって要求される電流量（ミリアンペア）を示すためのフィールド１３０と、低電流状態で動作するためにストレージデバイスが要求する時間（マイクロ秒）を示すためのフィールド１４０と、優先度を示すためのフィールド１５０と、動作状態を示すためのフィールド１６０とを含む。  表１００は、５つの例示的な見出しを含み、各見出しは、異なるストレージデバイスを参照する。例えば、見出し２１０は、ストレージデバイスＳＤａ１について言及している。ＳＤａ１は、動作中であり、高優先度が割り当てられている。見出し２２０は、ストレージデバイスＳＤａ２について言及している。ＳＤａ２も同様に、動作中であり、高優先度が割り当てられている。
【００５０】
見出し２３０および２５０は、ストレージデバイスＳＤａ３およびＳＤａ５についてそれぞれ言及している。ＳＤａ３が動作不良中であり、ＳＤａ５がスリープモードにあるため、両方のデバイスには低優先度が割り当てられている。
見出し２４０は、ストレージデバイスＳＤａ４について言及している。ＳＤａ４は、動作中であり、中優先度が割り当てられている。このような状況下において、状態マシン１２は、ストレージデバイスＳＤａ４より、ストレージデバイスＳＤａ１およびＳＤａ２をより長く（すなわち、延長された）かつ／またはより高頻度の電流消費期間にしてもよい。
ここでも、電流消費要求は、前述したように、本願明細書に使用される例示的な値に限定されるものではなく、他の値に基づいたものであってもよい。
【００５１】
図６は、状態マシンが、複数のストレージデバイスを制御または管理する例示的な方法５０を示す。図６は、図１に関連して記載される。本願明細書に記載される方法は、ストレージデバイスＳＤａ１〜ＳＤａＮの動作を管理するために、ストレージシステム１０の状態マシン１２などの状態マシンによって用いられてもよい。一例として、この方法は、ストレージデバイスＳＤａ１、ＳＤａ２、およびＳＤａ３のみを使用して記載されている。
【００５２】
最初のステップＳ５１において、ストレージデバイスに通信リンクが設けられる状態マシン１２は、ストレージ動作コマンドを発行する。さらなる例のために、本願明細書において発行されるストレージ動作コマンドは、データを３つのストレージデバイスに同時に格納するためのプログラムコマンドである。
ステップＳ５２において、状態マシン１２は、同期信号を第１のストレージデバイスに送信し、第１のストレージデバイスが高電流消費レベルで動作し（Ｓ５３）、第２および第３のストレージデバイスが低電流消費レベルで動作する。
ステップＳ５４において、状態マシン１２は、第１のストレージデバイスが高電流消費レベルで動作しないことを示すＲｅａｄｙ信号を第１のストレージデバイスから受信する。
次に、ステップＳ５５（Ｒｅａｄｙ信号の受信後）において、状態マシン１２は、第２のストレージデバイスに同期信号を送信する。この信号により、第２のストレージデバイスは、高電流消費レベルでの動作を開始することができ（Ｓ５６）、第１および第３のストレージデバイスが低電流消費レベルで動作する。
【００５３】
ステップＳ５７において、状態マシン１２は、第２のストレージデバイスが高電流消費レベルで動作しないことを示すＲｅａｄｙ信号を第２のストレージデバイスから受信する。
次に、ステップＳ５８（Ｒｅａｄｙ信号の受信後）において、状態マシン１２は、第３のストレージデバイスに同期信号を送信する。この信号により、第３のストレージデバイスは、高電流消費レベルでの動作を開始することができ（Ｓ５９）、第１および第２のストレージデバイスが低電流消費レベルで動作する。
ステップＳ６０において、状態マシン１２は、第３のストレージデバイスが高電流消費レベルで動作しないことを示すＲｅａｄｙ信号を第３のストレージデバイスから受信する。
第３のストレージデバイスからＲｅａｄｙ信号を受信した後、状態マシン１２は、電流プログラム動作において最後のサブ状態に達したかを判定し（Ｓ６１）、すなわち、最後の同期信号が発行されたかを判定する。最後の同期信号が発行されていれば、プロセスは終了し、最後の同期信号が発行されていなければ、プロセスはステップＳ５１に戻る。
【００５４】
図７は、状態マシンが２つのストレージデバイスを制御または管理する例示的な方法６０を示す。図７は、図１に関連して記載される。ステップ６１において、使用されるＴ１およびＴ２を含む読み込みタイミング情報が、フラッシュまたはＲＯＭから読み込まれる。ステップ６２において、ＳＤ１およびＳＤ２でプログラムシーケンスが開始される。ステップ６３において、ＳＤ１は高電流消費状態に設定され、ＳＤ２は低電流消費状態に設定され、タイマがＴ１に読み込まれる。ステップ６４において、時間Ｔ１が経過すれば、ＳＤ１は低電流消費状態に設定され、ＳＤ２は高電流消費状態に設定され、ステップ６５において、タイマにＴ２が読み込まれる。ステップ６６において、時間Ｔ２が経過すると、ステップ６３に制御が戻される。
【００５５】
各ストレージデバイスの動作の順序は、一例としてここに挙げただけである。したがって、コントローラは、ランダムな順序に従って、および／または任意の他の規定の順序に従って、任意の他のストレージデバイスに同期信号を送信してもよい。
当業者に認識されているように、現在の技術は、多種多様な異なるアーキテクチャを採用し、新しいアーキテクチャが継続的に開発されていくことが予測される。一般に、ストレージデバイスが適切な処理能力を有するものである限り、多種多様な異なるタイプのメモリとともに、例示的な実施形態が採用されてもよい。
【００５６】
本願明細書に記載する様々な例である実施形態は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組み合わせで実現されてもよい。ハードウェアおよびソフトウェアの典型的な組み合わせは、読み込まれ実行されると、本願明細書に記載する方法を実行するようにコンピュータシステムを制御するコンピュータプログラムを有する汎用コンピュータシステムであり得る。また、コンピュータプログラム製品に前述した概念が組み込まれてもよく、このコンピュータプログラム製品は、本願明細書に記載する実施形態の実行を可能にするすべての特徴を備え、コンピュータシステムに読み込まれた場合にはこれらの実施形態を実行可能である。本願明細書におけるコンピュータプログラムまたはアプリケーションは、情報処理能力を有するシステムに、特定の機能を直接実行させるか、あるいはａ）別の言語、コード、または表記への変換、ｂ）異なる構成形態での再現のいずれかまたは両方の後に特定の機能を実行させることが意図された命令セットの任意の言語、コード、または表記での任意の表現を意味する。
【００５７】
システムおよび方法の様々な実施形態について記載してきたが、当業者であれば、さらなる修正が提案されるであろうことから、本願明細書における記載は、限定的なものとして意図したものではなく、添付の特許請求の範囲内にあるものとしてこのような修正も含むように意図されていることを理解するべきである。
【図１】
0005718812.tif 000002
【図２】
0005718812.tif 000003
【図３】
0005718812.tif 000004
【図４】
0005718812.tif 000005
【図５】
0005718812.tif 000006
【図６】
0005718812.tif 000007
【図７】
0005718812.tif 000008