JP5718812B2 - 複数のストレージデバイスを管理するためのストレージシステムおよび方法 - Google Patents

複数のストレージデバイスを管理するためのストレージシステムおよび方法 Download PDF

Info

Publication number
JP5718812B2
JP5718812B2 JP2011521685A JP2011521685A JP5718812B2 JP 5718812 B2 JP5718812 B2 JP 5718812B2 JP 2011521685 A JP2011521685 A JP 2011521685A JP 2011521685 A JP2011521685 A JP 2011521685A JP 5718812 B2 JP5718812 B2 JP 5718812B2
Authority
JP
Japan
Prior art keywords
storage device
current consumption
storage
storage devices
devices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011521685A
Other languages
English (en)
Other versions
JP2011530731A5 (ja
JP2011530731A (ja
Inventor
ベン−ルビ,ラファエル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Western Digital Israel Ltd
Original Assignee
SanDisk IL Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SanDisk IL Ltd filed Critical SanDisk IL Ltd
Publication of JP2011530731A publication Critical patent/JP2011530731A/ja
Publication of JP2011530731A5 publication Critical patent/JP2011530731A5/ja
Application granted granted Critical
Publication of JP5718812B2 publication Critical patent/JP5718812B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Power Sources (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、一般に、ストレージデバイスに関する。特に、本発明は、複数のストレージデバイスの動作を管理することに関する。
フラッシュメモリへデータを書き込み、フラッシュメモリからデータを消去するには、「チャージポンプ」として知られる電圧源によって供給される電流が必要である。簡潔に言えば、フラッシュメモリで使用される場合のチャージポンプとは、フラッシュメモリセル内への新しいデータの書き込み、メモリセルからのデータの消去、およびこれらのセルからのデータの読み出しを行うためのフラッシュメモリセル内の電荷量の操作に使用される比較的高い電圧を発生する電気回路である。電圧源であるため、チャージポンプは、電流値がゼロから、ある最大値、すなわち、この最大値を超えると、チャージポンプの出力電圧レベルが制御不能に低下し始める値へ変化しうる電流を供給するように設計される。
いくつかのストレージデバイスを含むストレージシステムにおいて、ストレージ動作(例えば、データの書き込みやデータの消去)を2つ以上のストレージデバイスで同時に実行することが必要な場合がある。しかし、前述した理由から、いくつかのストレージデバイスへのデータの書き込みおよびこれらのデバイスからのデータの消去は、同時にはチャージポンプによって供給され得る最大電流によって制限され、さらに、2つ以上のストレージデバイスが、典型的に、ピーク電流消費レベルで同時に動作する場合には、これらのストレージデバイスの全消費電流が最大許容電流を超えてしまう危険性がある。このような状況下で、電源またはチャージポンプからストレージデバイスに供給される電圧は、有効動作レベルより低下し、ストレージデバイスの予測不能な挙動を引き起こしてしまう。このような場合、ストレージデバイスに最後にプログラムされたデータが失われる可能性がある。
したがって、複数のストレージ動作に関連する動作電圧レベルを損なうことなく、このような動作を制御の下で同時に実行し得るストレージシステムが必要とされている。
前述した所見および現在の需要の観点から、電流消費管理が、1つのストレージデバイスの電流消費を、そのストレージデバイスおよび/または複数のストレージデバイスのうちの少なくとも1つの他のストレージデバイスに関する電流消費情報に基づいて制御するステップを含むことが可能な、複数のストレージデバイスの電流消費を管理するためのストレージシステムおよび方法を有することが望まれる。
実施形態の様々な例を本願明細書において記述するが、これらの実施形態は、複数のストレージデバイスのうちの少なくとも1つから電流消費情報を受信するステップと、複数のストレージデバイスのうちの少なくとも1つの動作を管理するステップであって、複数のストレージデバイスのうちの第1のストレージデバイスの電流消費を、複数のストレージデバイスのうちの少なくとも第2のストレージデバイスに関する電流消費情報に基づいて許容することを含む動作を管理するステップと、を含む複数のストレージデバイスの動作を管理する方法を含み得る。
電流消費情報は、複数のストレージデバイスのうちの少なくとも第2の電流消費の実時間表示を含んでいてもよく、また動的に更新されてもよい。
動作を管理するステップは、電流消費情報に基づいて、(a)複数のストレージデバイスのうちの第1のストレージデバイスにデータをプログラムし、複数のストレージデバイスのうちの第1のストレージデバイスからデータを消去し、複数のストレージデバイスのうちの第1のストレージデバイスに格納されたデータを読み出すこと、または(b)複数のストレージデバイスのうちの第1のストレージデバイスにデータをプログラムし、複数のストレージデバイスのうちの第2のストレージデバイスからデータを消去し、複数のストレージデバイスのうちの第2のストレージデバイスに格納されたデータを読み出すことをさらに含んでもよい。
電流消費を許容することは、電流消費情報に基づいて、複数のストレージデバイスのうちの第1のストレージデバイスの電流消費を中断し、複数のストレージデバイスのうちの別のストレージデバイスの電流消費が再開されることを許容することを含んでもよく、または電流消費情報に基づいて、複数のストレージデバイスのうちの第1のストレージデバイスの電流消費が再開されることを許容し、複数のストレージデバイスのうちの別のストレージデバイスの電流消費を中断させることを含んでもよい。電流消費を許容することは、複数のストレージデバイスのうちの少なくとも1つに割り当てられた優先度に基づいたものであってもよい。この優先度は、電流消費の変化への耐性度、活動レベル、優先度が割り当てられる複数のストレージデバイスのうちの少なくとも1つに関連する内容の種類および/またはその構成に基づいたものであってもよい。
この方法はまた、複数のストレージデバイスのうちの少なくとも1つを複数のストレージデバイスのうちの別のストレージデバイスに直接接続するステップを含んでもよい。複数のストレージデバイスのうちの第1のストレージデバイスは、複数のストレージデバイスのうちの少なくとも別のストレージデバイスに直接接続されてもよく、この第1のストレージデバイスの電流消費は、複数のストレージデバイスのうちの少なくとも第2のストレージデバイスから、第1のストレージデバイスによって受信された信号に応答して許容されてもよい。
また、各々がデータを格納するように構成されている複数のストレージデバイスと、ストレージデバイスの各々に接続された状態マシンと、を備えるストレージシステムが提供される。状態マシンは、複数のストレージデバイスのうちの少なくとも1つの動作を管理するように動作する。動作を管理することは、複数のストレージデバイスのうちの第1のストレージデバイスの電流消費を、複数のストレージデバイスのうちの少なくとも第2のストレージデバイスに関する電流消費情報に基づいて許容することを含む。
ストレージデバイスのうちの少なくとも1つが、フラッシュメモリ技術に適合した構成を有してもよく、さらに、装置から取り外すことができない専用の取り外し不可なストレージデバイスであってもよく、あるいはストレージシステムからの取り外しやストレージシステムへ追加するように構成され、メモリカードを含む取り外し可能なストレージデバイスであってもよい。
また、データを格納するように構成された記憶部と、記憶部の動作を管理するように動作する回路とを備える、状態マシンおよび1つ以上の他のストレージデバイスと動作可能に接続されたストレージデバイスが提供される。動作を管理することは、ストレージデバイスの電流消費を、ストレージデバイスと動作可能に接続された少なくとも1つの他のストレージデバイスに関する電流消費情報に基づいて許容することを含む。電流消費を許容することは、状態マシンから受信されるコマンドに基づいて実行されてもよい。
また、複数のストレージデバイスと動作可能に接続された状態マシンを含む複数のストレージデバイスを管理するためのデバイスが提供される。状態マシンは、複数のストレージデバイスのうちの少なくとも1つの動作を管理するように動作する。動作を管理することは、複数のストレージデバイスのうちの第1のストレージデバイスの電流消費を、複数のストレージデバイスのうちの少なくとも第2のストレージデバイスに関する電流消費情報に基づいて許容することを含む。
可能な限り記載する実施形態の追加の特徴および利点は、以下の図面および説明から明らかになる。
様々な実施形態をさらに深く理解しやすいように、同様の参照番号が図面において対応するセクションや要素を示し得る、添付の図面を参照されたい。
例示的な実施形態による複数のストレージデバイスを有するストレージシステムを示す。 別の例示的な実施形態による複数のストレージデバイスを有するストレージシステムを示す。 例示的な実施形態による図1のストレージデバイスをより詳細に示す。 別の例示的な実施形態による図2のストレージデバイスをより詳細に示す。 図1のストレージシステムの情報のデータベースに電流消費情報を格納する方法を示す。 状態マシンが複数のストレージデバイスを制御または管理する例示的な方法を示す。 状態マシンが2つのストレージデバイスを作動させる例示的な方法を示す。
本発明の例示的な実施形態および様々な態様について、以下にさらに詳細に記載する。本願明細書は、特許請求の範囲を限定することを意図したものではなく、例示的な実施形態を提供するためのものである。したがって、以下の記述は、複数のストレージデバイスを管理するための様々なストレージシステムを含む、例示的な実施形態を提示する。
本願明細書における開示は、不揮発性ストレージデバイスに関するものであるが、揮発性ストレージデバイスに同様に関連してもよく、または揮発性ストレージデバイスとともに使用されてもよい。一例として、不揮発性ストレージデバイスは、フラッシュまたはEEPROMタイプのものであってもよい。
本願明細書において使用されるストレージデバイスは、ホストと直接接続され直接通信するように動作する、当業者に既知の任意のストレージデバイスであってもよい。このようなストレージデバイスは、セキュアなデジタルメモリカード形式およびマルチメディアカード形式を含むメモリカード形式に適合する構成を有してもよい。ストレージデバイスは、揮発性または不揮発性のいずれかでバイナリ形式でデータを格納する能力を備えたメモリセルアレイ(フラッシュなど)を含んでもよい。フラッシュタイプのメモリセルを有するということは、任意の適切なタイプのメモリセルを使用する他の実施形態もさらに適用可能であるため、限定的な意味ではないことに留意するべきである。
デジタルデータの格納に一般に使用されるメモリカードは、様々な電子デバイスとともに使用される。メモリカードには、「エンベデッド」カードと呼ばれるものや、「リムーバブル」カードと呼ばれるメモリカードがあり、リムーバルカードとは、言い換えれば、エンドユーザがある電子デバイスから別のものへカードを簡単に移動させて、カードに格納されたデジタルデータをポータブルデータにすることができるということである。メモリカードのフォームファクタは、比較的小型であり、デジタルカメラ、メディアプレーヤ/レコーダ(例えば、MP3プレーヤ)、ハンドヘルドまたはノートブックコンピュータ、携帯情報端末(PDA)、携帯電話、ネットワークカード、ネットワーク機器、セットトップボックス、およびハンドヘルドまたは他のデバイスなどのデータストレージを必要とする電子デバイスに対して、デジタルデータを格納するために使用され得る。
このため、本願明細書における開示は、ストレージデバイスが、ストレージシステムへの接続およびストレージシステムからの取り外し用に構成された取り外し可能なストレージデバイスであろうが、ストレージシステム内に組み込まれた専用ストレージデバイスであろうが、任意のマスストレージデバイスを採用し得る。
以上のことから、本願明細書において記述するストレージデバイスは、音声、映像、または画像ファイルなどのマルチメディアコンテンツを格納するために使用される任意のメモリタイプ(例えば、フラッシュメモリ)および/またはメモリカード形式(例えば、セキュアデジタル(「SD」)メモリカード形式)に適合する構成を有するものであってもよい。ストレージデバイスはまた、マルチメディアカード(「MMC」)形式、コンパクトフラッシュ(「CF」)形式、フラッシュPC(例えば、ATAフラッシュ)形式、スマートメディア形式、USBフラッシュドライブ、メモリスティック形式、または任意の他の業界標準形式に適合する構成を有するものであってもよい。
ストレージデバイスは、電源が切られたときでも記憶または格納状態を維持する不揮発性メモリを有してもよい。ストレージデバイスはまた、例えば、電気的に消去可能でプログラム可能な読み出し専用メモリ(EEPROM)、EPROM、MRAM、FRAM、強誘電性、磁気、または他のメモリなどの消去可能なプログラマブルメモリ技術を採用してもよい。デバイスの構成は、メモリタイプに依存するものではなく、フラッシュメモリまたは別のタイプのメモリであれば、任意のタイプのメモリで実装されてもよいことに留意するべきである。デバイスはまた、メモリチップおよび/または三次元(3D)メモリチップ技術を用いて実装されてもよい。
本願明細書において記述するホストは、パーソナルコンピュータ、ノートブックコンピュータ、PDA(携帯情報端末)やモバイルハンドセットなどのハンドヘルドコンピューティングデバイス、携帯電話、カメラ、音声再生デバイス、または取り外し可能なデータストレージとともに機能する任意の他の電子デバイスであってもよい。ホストは、いくつか例を挙げると、アドレス帳、一日単位の電子手帳、電子ノートパッドなどの様々な個人の情報管理アプリケーションを有してもよい。
図1は、1つの例示的な実施形態によるストレージシステム10のブロック図である。ストレージシステム10は、典型的に、状態マシン12に作動的に接続された「SDa1」、「SDa2」、「SDa3」・・・「SDaN」として示された複数のストレージデバイスを含む。
典型的に、ストレージシステム10のストレージデバイスSDa1〜SDaNは、類似したものまたは同一のもの、すなわち同様に構成されたものであり、したがって、同様の方法でデータを格納する。しかし、ストレージデバイスは、異なるように構成されてもよい。
状態マシン12は、例えば、ストレージデバイスSDa1〜SDaNの動作を制御するコントローラまたはCPUであってもよい。状態マシン12は、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組み合わせで実装されてもよい。
状態マシン12は、ストレージデバイスSDa1〜SDaNの特定の1つの動作(すなわち、ストレージ動作)を、ストレージデバイスSDa1〜SDaNの少なくとも別のものの電流消費に関する情報(本願明細書において「電流消費情報」と呼ばれる情報)に基づいて制御する。例えば、ストレージシステム10は、少なくともストレージデバイスSDa2に関連するか、関係するか、または関する電流消費情報に基づいて、ストレージデバイスSDa1の動作を制御してもよい。例えば、ストレージシステム10は、SDa2、SDa3、およびSDaNに関連するか、関係するか、または関する電流消費情報に基づいて、SDa1の動作を制御してもよい。
電流消費情報は、ストレージデバイスSDa1、SDa2、SDa3・・・SDaNから状態マシン12へ伝達されてもよく、またはこれらのストレージデバイスの代わりに状態マシン12に供給されてもよい。さらにまたは他の形態では、電流消費情報を、ストレージデバイスの製造業者から状態マシン12が入手するかまたは別のデバイスから入手し、情報16のデータベース上に格納する(図5の表100を参照されたい)。情報16のデータベースは、状態マシン12に格納されてもよく、または状態マシン12によって入手可能であってもよい。
すでに前述したように、状態マシン12は、異なる時間に低電流消費レベルおよび高電流消費レベルを要求する異なるタイプのストレージデバイスに接続されてもよい。したがって、自己学習機構14が、情報16のデータベースを開発するように状態マシン12に教示したり状態マシン12を訓練したりすることで、状態マシン12によって各ストレージデバイスのさらなる制御が要求される電流消費レベルに関連する情報をデータベースが含むように、自己学習機構14が設けられる。このようなトラッキングは、電流消費情報に関連する情報の外部ユニットへの転送などを含む種々の目的でさらに使用され得る。自己学習機構14は、図1に示すような状態マシン12に実装されるか、組み込まれるか、または内蔵されてもよく、あるいは図2に示すように、状態マシン12の外部に動作可能に接続されてもよい。
以下に記載するように、ストレージデバイスSDa1、SDa2、SDa3・・・SDaNの電流消費に対する基本的な制御が実行される。状態マシン12は、ストレージデバイスSDa1、SDa2、SDa3・・・SDaNの各々と継続的に別々に通信を行う。ストレージデバイスSDa1、SDa2、SDa3・・・SDaNの各々は、例えば、ストレージデバイスに任意に割り当てられた識別子(例えば、識別番号)を使用することで、状態マシン12に対して固有に識別される。
状態マシン12によるストレージデバイスSDa1、SDa2、SDa3・・・SDaNの電流消費の管理を行いやすいようにするために、電流消費情報は、ストレージデバイスSDa1、SDa2、SDa3・・・SDaNの各々と状態マシン12との間で(継続的、時々、または断続的のいずれかで)交換される。
状態マシン12は、ストレージデバイスの間を同期させるように動作し得る。言い換えれば、状態マシン12は、ストレージデバイスSDa1、SDa2、SDa3・・・SDaNの各々が動作するタイミングを制御することで、全ストレージデバイスSDa1、SDa2、SDa3・・・SDaNが任意の所与の時間にまとめて消費する電流の総量が、最大稼働値を超えないようにし、この最大稼働値を超えてしまうと、ストレージシステム10の動作の信頼性を確保したり、または保障できなくなったりする。
ストレージデバイスSDa1、SDa2、SDa3・・・SDaNの各々と通信状態にある間、状態マシン12は、1つのストレージデバイスとの間で、このようなストレージデバイスの少なくとも別のものに関する電流消費情報に基づいて、データのプログラミング(すなわち、書き込み)、消去、および読み出しを制御する。状態マシン12は、任意の適切な通信プロトコルを使用して、ストレージデバイスSDa1、SDa2、SDa3・・・SDaNと通信状態にあってもよい。例えば、図1に示すように、通信リンクC1、C2、C3・・・CNが、状態マシン12からストレージデバイスSDa1、SDa2、SDa3・・・SDaNにストレージコマンドおよび同期信号を転送し、反対方向、すなわちストレージデバイスSDa1、SDa2、SDa3・・・SDaNから状態マシン12に電流消費情報を転送するためにそれぞれ使用されてもよい。
ストレージコマンドは、例えば、データ読み出しコマンド、データ書き込み(プログラミング)コマンド、およびデータ消去コマンドであってもよい。
本願明細書における開示において、同期信号とは、ある電流レベルまで(例えば、ストレージシステムが利用可能な最大電流まで)の消費が許容されていることをストレージデバイス(例えば、SDa1として示されるストレージデバイス)に伝えるメッセージである。同期信号は、図1に示すように、状態マシンによって生成され、状態マシンから同期信号で動作するストレージデバイスに転送されてもよい。他の形態においてまたはさらに、ストレージシステムは、図2に示すように、同期信号を生成し、ストレージデバイス間で同期信号を交換してもよい。任意の時点で、ストレージデバイスに同期信号が転送されてもよい。
本願明細書における開示において、「情報」および「電流消費情報」は、時間の経過とともに(すなわち、状態マシンやストレージデバイスによって)動的に更新される任意の実時間情報、および/または異なる(例えば、高、中、および低)電流消費レベルの予測タイミングを表す固定された所定のスケジューリングを示す情報を含んでもよい。また、ストレージデバイスから送出された電流消費情報は、状態マシン12に対してストレージデバイスを特定する固有ストレージデバイス識別子を含んでもよい。各ストレージデバイスの電流消費情報は、ストレージデバイスによって状態マシンに供給されてもよく、かつ/または製造中に状態マシン12に組み込まれてもよい。
ストレージデバイス10は、各ストレージデバイスの初期動作の前に、ストレージデバイスが、対応する同期信号の受信に応答して高電流消費レベルで動作するように構成され(例えば、製造時に)、または状態マシン12によって命令される。言い換えれば、ストレージシステム10のストレージデバイスは高電流消費レベルで再開するように許容されず、かつ/またはストレージデバイスが適切なコマンドで再開することを許容されないかぎり、ある電流消費しきい値を超えた動作は許容されない。状態マシン12は同期信号を1つのストレージデバイス(例えば、SDa1)に送信し、そのストレージデバイスが高電流消費レベルで動作する一方で、ストレージデバイスの残り(例えば、SDa2、SDa3・・・SDaN)は低電流消費レベルで動作し得る。
本願明細書における開示において、「ストレージデバイスが高電流消費レベルで動作でき、残りのストレージデバイスが低電流消費レベルで動作できる」ということは、言い換えれば、ストレージシステムにより、この1つのストレージデバイスが、(典型的に、ストレージデバイスの構成で規定されている)高電流消費レベルおよび/または最大許容電流消費レベルを消費できる一方で、ストレージシステムの他のストレージデバイスが、(典型的に、ストレージデバイスの構成で規定されている)低電流消費レベルおよび/または最少電流消費レベルを一時的に消費できるということである。他の形態においてまたはさらに、「1つのストレージデバイスが第1の電流消費レベルで動作できる一方で、残りのストレージデバイスが第2の電流消費レベルで動作できる」ということは、言い換えれば、この1つのストレージデバイスに信号が送信されるため、この1つのストレージデバイスの電流消費が可能になる一方で、他のストレージデバイスの電流消費が一時的に不能になるということであり得る。
ストレージデバイスは、通例、製造中に、高電流消費レベルおよび低電流消費レベルで動作するように設計されている。典型的に、ストレージデバイスは、任意のストレージ動作を実行するときは比較的高い電流を消費し、他の場合、例えば、ストレージデバイスがアイドル状態にあるときは低電流を消費する。
例示的な実施形態において、状態マシン12は、ストレージコマンドおよび同期信号を、通信リンクC1、C2、C3・・・CNを介して、ストレージデバイスSDa1、SDa2、SDa3・・・SDaNにそれぞれ転送する。
例えば、状態マシン12は、以下の方法でプログラムコマンドを3つのストレージデバイスに同時に発行するようにプログラムされてもよい。すなわち、プログラミング動作の50マイクロ秒(μsec)の第1のスロットの間、ストレージデバイスSDa1に比較的高レベルの電流を消費させ、次に、(SDa1が低電流消費レベルで動作している間に)プログラミング動作の第1の次のスロットの50マイクロ秒の間、ストレージデバイスSDa2に比較的高レベルの電流を消費させ、その後、(SDa2が低電流消費レベルで動作している間に)プログラミング動作の第2の次のスロットの50マイクロ秒時間の間、ストレージデバイスSDa3に比較的高レベルの電流を消費させる。
別の実施例において、状態マシン12により、特定のストレージデバイスは、別のストレージデバイスから受信されるReady信号に応答して高電流消費を消費できる。本願明細書における開示において、「Ready」信号は、該当するストレージデバイスが、高電流消費レベルで動作し終えたことを状態マシン12に通知するために、ストレージデバイスによって送出された信号である。実時間表示であるReady信号は、1つのストレージデバイスから別のものへ直接的または間接的のいずれかで(例えば、状態マシン12を介して)送出され送信されてもよい。Ready信号は、ストレージデバイスSDa1、SDa2、SDa3・・・SDaNから状態マシン12へ、例えば、通信リンクC1、C2、C3・・・CNを介して転送されてもよい。
説明のため、ストレージデバイスSDa1、SDa2、SDa3・・・SDaNの各々が、状態マシン12から対応する同期信号の電流条件を消費するように構成されると仮定する。言い換えれば、ストレージデバイスは、このストレージデバイスに電流の消費を許容する同期信号が受信されていなければ、電流を消費できないようにされ得る。
状態マシン12のスケジュールによれば、SDa1は、高電流消費レベルで動作するように許容されるストレージデバイスのみである。このようにして、状態マシン12は、例えば、通信チャネルC1を介して、ストレージデバイスSDa1が電流を消費できるようにする同期信号を、ストレージデバイスSDa1に転送する。このような同期信号は、ストレージデバイスSDa1に、そのストレージデバイスが利用可能な最も高い電流を消費できる間の時間スロットを指定してもよい。
状態マシン12が、ストレージデバイスSDa1に、ストレージデバイスSDa1が高電流を消費するように許容される時間スロットを割り当てても、ストレージデバイスSDa1は、高電流要求動作を実行するために、割り当てられた時間スロットを必ずしも使用する必要はないことに留意するべきである。言い換えれば、割り当てられた時間スロットの間、ストレージデバイスSDa1が、高電流を要求する動作を実行する必要があれば、ストレージデバイスSDa1は、割り当てられた時間スロットの間にその動作を実行する。ストレージデバイスSDa1が高電流消費レベルで動作する必要がない場合、ストレージデバイスSDa1は、高電流要求動作の実行を完了したか、あるいはストレージデバイスSDa1が高電流を要求する動作を実行する予定がないことを示すReady信号を状態マシン12に送信する。引き続きまたはReady信号の受信に応答して、状態マシン12は、ストレージデバイスSDa1、SDa2、SDa3・・・SDaNの別のものに同期信号を送信し、このストレージデバイスが高電流消費レベルで動作できるようにする。
高電流レベルで動作する許可を状態マシン12から受信するために、ストレージデバイスSDa1、SDa2、SDa3・・・SDaNの中の次のストレージデバイスは、例えば、ストレージデバイスの識別番号に応じて、任意にまたは順番通りに、状態マシン12によって選択されてもよい。あるいは、許可が出される次のストレージデバイスの選択は、許容されたストレージデバイスの順番がその時々に変化しながらランダムに行われ得る。別の実施例によれば、次のストレージデバイスの選択は、所定のスケジューリングに従って行われる。
状態マシン12によって採用される所定のスケジューリングは、優先度を考慮した動きになり得る。このような場合、状態マシン12は、特定のストレージデバイスの電流消費を、特定のストレージデバイスに割り当てられた優先度に基づかせることもできる。
1つのストレージデバイスが別のストレージデバイスより優先度が高い状態が生じるのは、第1のストレージデバイスの高電流消費レベルでの動作が急を要する場合であり得る。このような状況下において、状態マシン12は、1つのストレージデバイスの電流消費期間を別のストレージデバイスより長くし(すなわち、延長させ)、かつ/またはより頻度を高くすることもある。
ある時間に特定のストレージデバイスに転送されるタイプのコンテンツ、特定のストレージデバイス構成、特定のストレージデバイスの電流消費の変化に対する耐性度、およびストレージデバイスの活動レベルを含むが、これらに限定されるものではない基準の群から選択された1つ以上の基準に基づいて、ストレージデバイスSDa1〜SDaNは優先度が付けられてもよい。このような基準は、構成中に状態マシン12に設定されてもよく、かつ/または外部デバイスおよび/または任意の他の手段から状態マシン12に供給され、例えば、ユーザからの入力として受信されてもよい。
例えば、状態マシン12は、特定のストレージデバイスに高優先度レベルを割り当て、ある種の情報(例えば、起動情報、オペレーティングシステムに関する情報、あるいは任意の他の重要な情報や操作上または別の理由から重大なユーザまたはシステム情報)が該当するストレージデバイスに送信される場合に、その優先度を適用するように決定し得る。
ストレージデバイスの優先度は、追加の1つ以上の基準または別の基準に基づいたものであってもよい。例えば、状態マシン12は、ストレージデバイスが、高電流または長時間の期間に高電流消費を必要としない動作の実行中でビジーの状態にある場合、ストレージデバイスに低優先度レベルを割り当ててもよい。別の例によれば、状態マシン12は、ストレージデバイスが状態マシンおよび/または他のストレージデバイスの任意のものとの間で固有のプロトコルをサポートしていない場合や、ストレージデバイスの状態が悪く、動作不良になった場合などに、このストレージデバイスに低優先度レベルを割り当てる。さらにまたは任意で、状態マシンは、ストレージデバイスがスリープモードまたはアイドルモードで動作中の場合、ストレージデバイスに低優先度レベルを割り当ててもよい。
状態マシン12が特定のストレージデバイスの電流消費を許容する方法は、あるストレージシステムから別のものへ、さらには同じストレージシステム上である時点から別の時点へ変動し得ることに留意するべきである。また、状態マシン12には、ウェアレベリング管理、エラー訂正コード(「ECC」)管理、不良ブロック管理、およびデータ転送管理など、当業者に既知の追加のストレージデバイス管理能力が与えられてもよいことに留意するべきである。
図2は、別の例示的な実施形態によるストレージシステム20のブロック図である。ストレージシステム20において、ストレージデバイスSDb1、SDb2、SDb3・・・SDbNが、「デイジーチェーン」として既知の配線方式で動作可能に相互接続されることを除いて、ストレージシステム20は、図1に示すストレージシステム10のものと同一の配置を含む。簡潔に言えば、「デイジーチェーン」とは、例えば、デバイスAがデバイスBに配線され、デバイスBがデバイスCに配線され、その後も同様に続く通信のバス配線方式である。最後のデバイスは、通常、抵抗やターミネータに配線される。すべてのデバイスが同一の信号を受信してもよいし、あるいは単純なバスとは対照的に、チェーンにある各デバイスが各デバイスを通過する前に1つ以上の信号を修正してもよい。
ストレージデバイス間の動作接続は、物理的接続またはワイヤレス接続であってもよい。さらに、図2に示すストレージデバイス間の接続は、直接通信チャネルを介したものである必要はない。したがって、ストレージデバイスが隣接するストレージデバイスに(物理的またはワイヤレスのいずれかで)接続されることも、ストレージデバイスが1つのストレージデバイスのみに接続されることも要求されない。
2つの隣接するストレージデバイス間(例えば、ストレージデバイスSDb1およびSDb2の間)は、「Sync Out」、「Ready In」、「Sync In」、および「Ready Out」通信ポートによって接続される。ストレージデバイスSDb1〜SDbNの各々は、最初のストレージデバイス(すなわち、ストレージデバイスSDb1)および最後のストレージデバイス(すなわち、ストレージデバイスSDbN)以外、これらの4つのポートを有する。すなわち、SDb1がSync OutポートおよびReady Inポートしか有しておらず、SDbNがSync InポートおよびReady Outポートしか有していない。図2のSDbNである最後のストレージデバイスに同期信号が到達するまで、同期信号は、1つのストレージデバイスのSync Outポートから、そのストレージデバイスが接続されている次のストレージデバイスのSync Inポート(例えば、SDb1からSDb2)へデイジーチェーンの下流に転送されるかまたはカスケードされる。Ready信号は、1つのストレージデバイスのReady Outポートから、そのストレージデバイスが接続されている次のストレージデバイスのReady Inポートへ、反対方向(すなわち、デイジーチェーンの上流)に転送されるかまたはカスケードされる。
ストレージデバイスSDb1〜SDbNと状態マシン22との間の接続C1’、C2’、C3’・・・CN’は、図1に示す接続C1、C2、C3・・・CNと同一または同様のものであってもよい。通信リンクC1’、C2’、C3’・・・CN’は、状態マシン22によって送出されるストレージコマンドおよびイネーブル信号をストレージデバイス(SDb1、SDb2、SDb3・・・SDbN)のそれぞれに転送するように使用される。通信リンクC1’、C2’、C3’・・・CN’はまた、ストレージデバイスSDb1、SDb2、SDb3・・・SDbNから状態マシン22へ電流消費情報を転送するように使用される。
図2aに示す例において、ストレージデバイスが、別のストレージデバイスからの同期信号および/またはイネーブル信号として状態マシン22によって送出される許容メッセージの受信に応答して、高電流を消費するように許容されてもよい。状態マシン22から特定のストレージデバイスへ転送されるイネーブル信号が、このストレージデバイスを「オン」に切り換えるため、このデバイスは、その後の任意の時間に受信されてもよい同期信号に応答できる。
以下、基本的な非限定的動作モードについて記載する。状態マシン22は、通信リンクC1’、C2’、C3’・・・CN’を介して、ストレージデバイスSDb1、SDb2、SDb3・・・SDbNの各々と通信状態にある。前述したように、状態マシン22に対して固有に識別されたストレージデバイスSDb1、SDb2、SDb3・・・SDbNが「オフ」にされ、ストレージデバイスが高電流消費を消費できなくなる。状態マシン22により、特定のストレージデバイスは、ストレージデバイスの残りのものに関する電流消費情報に基づくかまたは考慮に入れられ得る、規定のスケジューリングに従って、同期信号に応答することができるようにされ得る。
例示すると、ストレージデバイスSDb1が、最初、高電流消費状態に入ることを許容されるということは、つまり、SDb1が、状態マシン22からの対応するイネーブル信号の受信に応答して、高電流を消費することが許容されるということを意味する。イネーブル信号が有効である限り、ストレージデバイスSDb1は、実際に高電流消費を行うことができ、またはストレージデバイスSDb2から(ストレージデバイスSDb1のReady Inポートを介して)SDb1が受信するReady信号に応答して、高電流消費を再開することができる。ストレージデバイスSDb1は、(SDb2のSync Outポートを介して)ストレージデバイスSDb2へ同期信号を送出する。
ストレージデバイスSDb2、SDb3・・・SDbNが、ストレージデバイスSDb1と異なるように動作する。ここでも、ストレージデバイスSDb2、SDb3・・・SDbNの各々は、状態マシン22からの対応するイネーブル信号の受信に応答して、高電流を消費することが許容される。イネーブル信号が有効である限り、ストレージデバイスSDb2、SDb3・・・SDbNは、ストレージデバイスSDb1、SDb2・・・SDbN−1から(Sync Inポートを介して)それぞれ受信される対応する同期信号に応答して、高電流を消費するように動作し得る。ストレージデバイスSDb2、SDb3・・・SDbNは、(Ready Outポートを介して)ストレージデバイスSDb1、SDb2・・・SDbN−1にそれぞれReady信号を送出する。
典型的に、(ストレージデバイスSDb3、SDb4・・・SDbNから)ストレージデバイスSDb2、SDb3・・・SDbN−1によって受信されるReady信号が、ストレージデバイスSDb1、SDb2・・・SDbN−2にそれぞれ横断されていく。
ストレージデバイスSDb1、SDb2、SDb3・・・SDbNの任意のものは、ストレージシステム20にある任意の1つ以上のストレージデバイスと通信状態にあり得るため、特定のストレージデバイスは、特定の構成に応じて、対応する同期信号/Ready信号を、ストレージシステム20にある他のストレージデバイスの任意のものに対してさらに受信および/または送信してもよい。
図1および図2の配置および/または図1および図2の配置で示すコンポーネントの任意のものの機能の任意の組み合わせが、本願明細書において適用可能であり得ることに留意するべきである。
図3は、例示的な実施形態による図1のストレージデバイス(例えば、ストレージデバイスSDaN)をより詳細に示す。ここでも、ストレージデバイスSDaNは、構成に応じて、ストレージシステムの1つ以上の他のストレージデバイスに直接的または間接的に接続される。
ストレージデバイスSDaNは、典型的に、データを格納するためのメモリアレイ32aおよびストレージデバイスコントローラ34aなどの記憶部を含む回路を含む。メモリアレイ32aへのデータのプログラミング、およびメモリアレイ32aからのデータの読み出しを管理するために、ストレージデバイスコントローラ34aが設けられる。ストレージデバイスコントローラ34aは、状態マシンからインターフェイス36を介して、同期信号などの信号の受信に応答して、ストレージデバイスSDaNの電流消費を制御する。
状態マシンは、例えば、図1および図2のストレージシステムに関して記載した状態マシンであってもよい。さらに、前述したように、ストレージデバイスSDaNは、インターフェイス36を介して、状態マシンに電流消費レベルの実時間表示を伝えるように動作し得るものであってもよい。
図4は、例示的な実施形態による図1のストレージデバイス(例えば、ストレージデバイスSDbN)をより詳細に示す。
ストレージデバイスSDbNは、典型的に、データを格納するためのメモリアレイ32bおよびストレージデバイスコントローラ34bなどの記憶部を含む回路を含む。メモリアレイ32bへのデータのプログラミング、およびメモリアレイ32bからのデータの読み出しを管理するために、ストレージデバイスコントローラ34bが設けられる。ストレージデバイスコントローラ34bは、状態マシンからイネーブルポート48を介する同期信号などの信号の受信に応答して、さらにSync Inポートを介する別のこのようなストレージデバイスから受信されたイネーブル信号に基づいて、ストレージデバイスSDbNの電流消費を制御する。同期信号は、ストレージ動作コマンドの受信後または受信前のいずれかに、任意の時点で受信されてもよい。
ストレージデバイスコントローラ34bは、Sync OutおよびReady Outポート接続のそれぞれを介して、(典型的には、ストレージデバイスSDbNと直接接続状態にある)他のこのようなストレージデバイスに、同期信号およびReady信号を送信するようにさらに動作可能である。Ready信号を受信すると、ストレージデバイスSDb2は、Ready Outポート接続を介して別のこのようなストレージデバイスにこのReady信号を伝えるか、または特定の構成に応じて、高電流消費状態に入るかのいずれかである。
同期信号およびReady信号は、前述したものと同じ方法で送出される。すなわち、同期信号は、他のストレージデバイスが高電流消費レベルでの動作を開始するために送信される。Ready信号は、典型的に、高電流の消費がこれ以上必要ないことを他のストレージデバイスに通知するために送信される。
前述したように、状態マシンは、例えば、図1および図2のストレージシステムに関して記載した状態マシンであってもよい。さらに、前述したように、ストレージデバイスSDbNは、インターフェイス46を介して、状態マシンに電流消費レベルの実時間表示を伝えるように動作し得るものであってもよい。
図5は、1つの例示的な実施形態による電流消費情報を保持する表100を示す。一般に、表100は、ストレージデバイスSDa1、SDa2、SDa3、SDa4、およびSDa5に関連する電流消費要求に関する情報を提供する。
一例として、表100は、高電流消費状態で50mAの量を消費するのに20マイクロ秒を必要とし、7mAの量を消費するのに30マイクロ秒を必要とするストレージデバイスの電流消費情報を提供する。
特に、表100は、高電流消費状態で動作するためにストレージデバイスによって要求される電流量(単位ミリアンペア)を示すためにフィールド110と、高電流状態で動作するためにストレージデバイスが要求する時間(単位マイクロ秒)を示すためのフィールド120と、低電流消費状態で動作するためにストレージデバイスによって要求される電流量(ミリアンペア)を示すためのフィールド130と、低電流状態で動作するためにストレージデバイスが要求する時間(マイクロ秒)を示すためのフィールド140と、優先度を示すためのフィールド150と、動作状態を示すためのフィールド160とを含む。 表100は、5つの例示的な見出しを含み、各見出しは、異なるストレージデバイスを参照する。例えば、見出し210は、ストレージデバイスSDa1について言及している。SDa1は、動作中であり、高優先度が割り当てられている。見出し220は、ストレージデバイスSDa2について言及している。SDa2も同様に、動作中であり、高優先度が割り当てられている。
見出し230および250は、ストレージデバイスSDa3およびSDa5についてそれぞれ言及している。SDa3が動作不良中であり、SDa5がスリープモードにあるため、両方のデバイスには低優先度が割り当てられている。
見出し240は、ストレージデバイスSDa4について言及している。SDa4は、動作中であり、中優先度が割り当てられている。このような状況下において、状態マシン12は、ストレージデバイスSDa4より、ストレージデバイスSDa1およびSDa2をより長く(すなわち、延長された)かつ/またはより高頻度の電流消費期間にしてもよい。
ここでも、電流消費要求は、前述したように、本願明細書に使用される例示的な値に限定されるものではなく、他の値に基づいたものであってもよい。
図6は、状態マシンが、複数のストレージデバイスを制御または管理する例示的な方法50を示す。図6は、図1に関連して記載される。本願明細書に記載される方法は、ストレージデバイスSDa1〜SDaNの動作を管理するために、ストレージシステム10の状態マシン12などの状態マシンによって用いられてもよい。一例として、この方法は、ストレージデバイスSDa1、SDa2、およびSDa3のみを使用して記載されている。
最初のステップS51において、ストレージデバイスに通信リンクが設けられる状態マシン12は、ストレージ動作コマンドを発行する。さらなる例のために、本願明細書において発行されるストレージ動作コマンドは、データを3つのストレージデバイスに同時に格納するためのプログラムコマンドである。
ステップS52において、状態マシン12は、同期信号を第1のストレージデバイスに送信し、第1のストレージデバイスが高電流消費レベルで動作し(S53)、第2および第3のストレージデバイスが低電流消費レベルで動作する。
ステップS54において、状態マシン12は、第1のストレージデバイスが高電流消費レベルで動作しないことを示すReady信号を第1のストレージデバイスから受信する。
次に、ステップS55(Ready信号の受信後)において、状態マシン12は、第2のストレージデバイスに同期信号を送信する。この信号により、第2のストレージデバイスは、高電流消費レベルでの動作を開始することができ(S56)、第1および第3のストレージデバイスが低電流消費レベルで動作する。
ステップS57において、状態マシン12は、第2のストレージデバイスが高電流消費レベルで動作しないことを示すReady信号を第2のストレージデバイスから受信する。
次に、ステップS58(Ready信号の受信後)において、状態マシン12は、第3のストレージデバイスに同期信号を送信する。この信号により、第3のストレージデバイスは、高電流消費レベルでの動作を開始することができ(S59)、第1および第2のストレージデバイスが低電流消費レベルで動作する。
ステップS60において、状態マシン12は、第3のストレージデバイスが高電流消費レベルで動作しないことを示すReady信号を第3のストレージデバイスから受信する。
第3のストレージデバイスからReady信号を受信した後、状態マシン12は、電流プログラム動作において最後のサブ状態に達したかを判定し(S61)、すなわち、最後の同期信号が発行されたかを判定する。最後の同期信号が発行されていれば、プロセスは終了し、最後の同期信号が発行されていなければ、プロセスはステップS51に戻る。
図7は、状態マシンが2つのストレージデバイスを制御または管理する例示的な方法60を示す。図7は、図1に関連して記載される。ステップ61において、使用されるT1およびT2を含む読み込みタイミング情報が、フラッシュまたはROMから読み込まれる。ステップ62において、SD1およびSD2でプログラムシーケンスが開始される。ステップ63において、SD1は高電流消費状態に設定され、SD2は低電流消費状態に設定され、タイマがT1に読み込まれる。ステップ64において、時間T1が経過すれば、SD1は低電流消費状態に設定され、SD2は高電流消費状態に設定され、ステップ65において、タイマにT2が読み込まれる。ステップ66において、時間T2が経過すると、ステップ63に制御が戻される。
各ストレージデバイスの動作の順序は、一例としてここに挙げただけである。したがって、コントローラは、ランダムな順序に従って、および/または任意の他の規定の順序に従って、任意の他のストレージデバイスに同期信号を送信してもよい。
当業者に認識されているように、現在の技術は、多種多様な異なるアーキテクチャを採用し、新しいアーキテクチャが継続的に開発されていくことが予測される。一般に、ストレージデバイスが適切な処理能力を有するものである限り、多種多様な異なるタイプのメモリとともに、例示的な実施形態が採用されてもよい。
本願明細書に記載する様々な例である実施形態は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組み合わせで実現されてもよい。ハードウェアおよびソフトウェアの典型的な組み合わせは、読み込まれ実行されると、本願明細書に記載する方法を実行するようにコンピュータシステムを制御するコンピュータプログラムを有する汎用コンピュータシステムであり得る。また、コンピュータプログラム製品に前述した概念が組み込まれてもよく、このコンピュータプログラム製品は、本願明細書に記載する実施形態の実行を可能にするすべての特徴を備え、コンピュータシステムに読み込まれた場合にはこれらの実施形態を実行可能である。本願明細書におけるコンピュータプログラムまたはアプリケーションは、情報処理能力を有するシステムに、特定の機能を直接実行させるか、あるいはa)別の言語、コード、または表記への変換、b)異なる構成形態での再現のいずれかまたは両方の後に特定の機能を実行させることが意図された命令セットの任意の言語、コード、または表記での任意の表現を意味する。
システムおよび方法の様々な実施形態について記載してきたが、当業者であれば、さらなる修正が提案されるであろうことから、本願明細書における記載は、限定的なものとして意図したものではなく、添付の特許請求の範囲内にあるものとしてこのような修正も含むように意図されていることを理解するべきである。

Claims (18)

  1. 複数のストレージデバイスの動作を管理する方法であって、
    前記複数のストレージデバイスのうちの少なくとも1つのストレージデバイスから電流消費情報を受信するステップと、
    前記複数のストレージデバイスのうちの少なくとも1つのストレージデバイスの動作を管理するステップと、を含み、
    前記動作を管理するステップが、
    前記複数のストレージデバイスのうちの第1のストレージデバイスに開始信号を供給することで、前記第1のストレージデバイスで高電流レベルの電流消費を開始し、
    前記第1のストレージデバイスを低電流レベルに切り換え、
    高電流レベルで電流消費を完了したことを受けて、前記第1のストレージデバイスから完了信号を供給し、
    前記第1のストレージデバイスが高電流レベルで電流消費を完了していることを示す完了信号を、前記複数のストレージデバイスのうちの次のストレージデバイスで受信し、か
    記次のストレージデバイスに第2の開始信号を供給し、前記次のストレージデバイスで高電流レベルの電流消費を開始しつつ、前記複数のストレージデバイスのうちの残りのストレージデバイスが低電流レベルで動作されることを含む方法。
  2. 請求項1記載の方法において、
    前記電流消費情報が、前記複数のストレージデバイスのうちの少なくとも第2のストレージデバイスの電流消費の実時間表示を含み、前記電流消費情報が、動的に更新される方法。
  3. 請求項1記載の方法において、
    前記動作を管理するステップが、前記電流消費情報に基づいて、(a)前記第1のストレージデバイスにデータをプログラムし、前記第1のストレージデバイスからデータを消去し、前記第1のストレージデバイスに格納されたデータを読み出すこと、または(b)前記次のストレージデバイスにデータをプログラムし、前記次のストレージデバイスからデータを消去し、前記次のストレージデバイスに格納されたデータを読み出すことをさらに含む方法。
  4. 請求項1記載の方法において、
    前記電流消費を許容することが、前記電流消費情報に基づいて、前記第1のストレージデバイスの電流消費を中断し、前記複数のストレージデバイスのうちの別のストレージデバイスの電流消費が再開されることを許容することを含むか、または前記電流消費情報に基づいて、前記第1のストレージデバイスの電流消費が再開されることを許容し、前記別のストレージデバイスの電流消費を中断させることを含む方法。
  5. 請求項1記載の方法において、
    前記開始信号を供給することが、前記複数のストレージデバイスのうちの少なくとも1つのストレージデバイスに割り当てられた優先度に基づく方法。
  6. 請求項5記載の方法において、
    前記優先度が、電流消費の変化への耐性度、活動レベル、優先度が割り当てられた前記複数のストレージデバイスのうちの少なくとも1つのストレージデバイスに関連する内容の種類および/または構成に基づく方法。
  7. 複数のストレージデバイスの動作を管理する方法であって、
    前記複数のストレージデバイスのうちの少なくとも1つのストレージデバイスから電流消費情報を受信するステップと、
    前記複数のストレージデバイスのうちの少なくとも1つのストレージデバイスの動作を管理するステップであって、前記複数のストレージデバイスのうちの第1のストレージデバイスの電流消費を、前記複数のストレージデバイスのうちの少なくとも第2のストレージデバイスに関する電流消費情報に基づいて許容することを含む動作を管理するステップと、
    前記複数のストレージデバイスのうちの少なくとも1つのストレージデバイスを、前記複数のストレージデバイスのうちの別のストレージデバイスに直接接続するステップと、
    を含む方法。
  8. 請求項7記載の方法において、
    前記第1のストレージデバイスが、前記複数のストレージデバイスのうちの少なくとも別のストレージデバイスに直接接続され、前記第1のストレージデバイスの電流消費が、前記複数のストレージデバイスのうちの少なくとも第2のストレージデバイスから、前記第1のストレージデバイスによって受信された信号に応答して許容される方法。
  9. 状態マシンおよび1つ以上の他のストレージデバイスと動作可能に接続されたストレージデバイスであって、
    データを格納するように構成された記憶部と、
    前記記憶部の動作を管理するように動作する回路と、を備え、
    前記動作を管理することが、前記ストレージデバイスの電流消費を、前記ストレージデバイスと動作可能に接続された少なくとも1つの他のストレージデバイスに関する電流消費情報に基づいて許容することを含み、
    前記電流消費を許容することが、直接接続された1つ以上のストレージデバイスから受信されたコマンドに基づいて実行されるストレージデバイス。
  10. 請求項9記載のストレージデバイスで構成されるストレージシステムにおいて、
    前記電流消費情報が、異なる電流消費レベルの予測タイミングを表す固定された所定のスケジュールを示すストレージシステム。
  11. 請求項10記載のストレージシステムにおいて、
    前記複数のストレージデバイスのうちの少なくとも1つのストレージデバイスが、フラッシュメモリ技術に適合した構成を有するストレージシステム。
  12. 請求項10記載のストレージシステムにおいて、
    前記複数のストレージデバイスのうちの少なくとも1つのストレージデバイスが、装置から取り外すことができない専用の取り外し不可のストレージデバイスであるストレージシステム。
  13. 請求項10記載のストレージシステムにおいて、
    前記複数のストレージデバイスのうちの少なくとも1つのストレージデバイスが、前記ストレージシステムから取り外され、かつ前記ストレージシステムへ追加されるように構成された取り外し可能なストレージデバイスであり、前記取り外し可能なストレージデバイスがメモリカードを含むストレージシステム。
  14. 複数のストレージデバイスの動作を管理する方法であって、
    前記複数のストレージデバイスのうちの少なくとも1つのストレージデバイスから電流消費情報を受信するステップと、
    前記複数のストレージデバイスのうちの少なくとも1つのストレージデバイスの動作を管理するステップと、を含み、
    前記動作を管理するステップが、
    前記複数のストレージデバイスのうちの第1のストレージデバイスに開始信号を供給することで、前記第1のストレージデバイスで高電流レベルの電流消費を開始し、
    前記第1のストレージデバイスを低電流レベルに切り換え、
    高電流レベルで電流消費を完了したことを受けて、前記第1のストレージデバイスから完了信号を供給し、
    前記第1のストレージデバイスが高電流レベルで電流消費を完了していることを示す完了信号を、前記複数のストレージデバイスのうちの次のストレージデバイスで受信し、かつ
    前記次のストレージデバイスに第2の開始信号を供給し、前記次のストレージデバイスで高電流レベルの電流消費を開始しつつ、前記複数のストレージデバイスのうちの残りのストレージデバイスが低電流レベルで動作されることを含み、
    前記第1のストレージデバイスに開始信号を供給することが、前記複数のストレージデバイスのうちの先のストレージデバイスから開始信号を供給することを含み、
    前記第1のストレージデバイスから前記先のストレージデバイスに完了信号を供給することをさらに含み、
    前記完了信号を受信することが、前記先のストレージデバイスで前記第1のストレージデバイスからの完了信号を受信することによって、前記第1のストレージデバイスが高電流レベルで電流消費を完了していることを示すことを含み、
    前記第2の開始信号を供給することが、前記次のストレージデバイスに第2の開始信号を供給することで、前記次のストレージデバイスが高電流レベルで電流消費を開始可能であることを含む方法。
  15. 請求項14記載の方法において、
    前記電流消費情報が、前記複数のストレージデバイスのうちの少なくとも第2のストレージデバイスの電流消費の実時間表示を含み、前記電流消費情報が、動的に更新される方法。
  16. 請求項14記載の方法において、
    前記動作を管理するステップが、前記電流消費情報に基づいて、(a)前記第1のストレージデバイスにデータをプログラムし、前記第1のストレージデバイスからデータを消去し、前記第1のストレージデバイスに格納されたデータを読み出すこと、または(b)前記次のストレージデバイスにデータをプログラムし、前記次のストレージデバイスからデータを消去し、前記次のストレージデバイスに格納されたデータを読み出すことをさらに含む方法。
  17. 請求項14記載の方法において、
    前記電流消費を許容することが、前記電流消費情報に基づいて、前記第1のストレージデバイスの電流消費を中断し、前記複数のストレージデバイスのうちの別のストレージデバイスの電流消費が再開されることを許容することを含むか、または前記電流消費情報に基づいて、前記第1のストレージデバイスの電流消費が再開されることを許容し、前記別のストレージデバイスの電流消費を中断させることを含む方法。
  18. 請求項14記載の方法において、
    前記開始信号を供給することが、前記複数のストレージデバイスのうちの少なくとも1つのストレージデバイスに割り当てられた優先度に基づく方法。
JP2011521685A 2008-08-05 2009-08-02 複数のストレージデバイスを管理するためのストレージシステムおよび方法 Expired - Fee Related JP5718812B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/186,417 2008-08-05
US12/186,417 US7961544B2 (en) 2008-08-05 2008-08-05 Storage system and method for managing a plurality of storage devices
PCT/IL2009/000753 WO2010016056A1 (en) 2008-08-05 2009-08-02 Storage system and method for managing a plurality of storage devices

Publications (3)

Publication Number Publication Date
JP2011530731A JP2011530731A (ja) 2011-12-22
JP2011530731A5 JP2011530731A5 (ja) 2012-09-20
JP5718812B2 true JP5718812B2 (ja) 2015-05-13

Family

ID=41119332

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011521685A Expired - Fee Related JP5718812B2 (ja) 2008-08-05 2009-08-02 複数のストレージデバイスを管理するためのストレージシステムおよび方法

Country Status (6)

Country Link
US (1) US7961544B2 (ja)
EP (1) EP2310936A1 (ja)
JP (1) JP5718812B2 (ja)
KR (1) KR101653011B1 (ja)
TW (1) TWI467594B (ja)
WO (1) WO2010016056A1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110173462A1 (en) * 2010-01-11 2011-07-14 Apple Inc. Controlling and staggering operations to limit current spikes
US8904085B2 (en) * 2010-01-14 2014-12-02 Lenovo (Singapore) Pte. Ltd. Solid-state memory management
JP2011233114A (ja) * 2010-04-30 2011-11-17 Toshiba Corp メモリシステム
US8522055B2 (en) 2010-07-26 2013-08-27 Apple Inc. Peak power validation methods and systems for non-volatile memory
US8826051B2 (en) 2010-07-26 2014-09-02 Apple Inc. Dynamic allocation of power budget to a system having non-volatile memory and a processor
US8555095B2 (en) 2010-07-26 2013-10-08 Apple Inc. Methods and systems for dynamically controlling operations in a non-volatile memory to limit power consumption
JP5605238B2 (ja) 2011-01-25 2014-10-15 ソニー株式会社 メモリシステムおよびその動作方法
US9261940B2 (en) * 2011-02-25 2016-02-16 Samsung Electronics Co., Ltd. Memory system controlling peak current generation for a plurality of memories by monitoring a peak signal to synchronize an internal clock of each memory by a processor clock at different times
US20120221767A1 (en) 2011-02-28 2012-08-30 Apple Inc. Efficient buffering for a system having non-volatile memory
JP5713772B2 (ja) * 2011-04-12 2015-05-07 株式会社東芝 半導体メモリシステム
US8645723B2 (en) 2011-05-11 2014-02-04 Apple Inc. Asynchronous management of access requests to control power consumption
US9176864B2 (en) * 2011-05-17 2015-11-03 SanDisk Technologies, Inc. Non-volatile memory and method having block management with hot/cold data sorting
US9141528B2 (en) 2011-05-17 2015-09-22 Sandisk Technologies Inc. Tracking and handling of super-hot data in non-volatile memory systems
TWI456406B (zh) * 2011-10-17 2014-10-11 Acer Inc 電子系統與管理方法
KR101864828B1 (ko) * 2012-04-10 2018-06-05 삼성전자주식회사 전자 기기 관리 방법 및 장치
US9477257B1 (en) 2013-03-13 2016-10-25 Juniper Networks, Inc. Methods and apparatus for limiting a number of current changes while clock gating to manage power consumption of processor modules
US9443600B2 (en) * 2013-03-28 2016-09-13 Intel Corporation Auto-suspend and auto-resume operations for a multi-die NAND memory device to reduce peak power consumption
US9514009B2 (en) * 2014-07-24 2016-12-06 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Reducing server power consumption to compensate for a power supply failure in a multiple power supply configuration
US10013345B2 (en) * 2014-09-17 2018-07-03 Sandisk Technologies Llc Storage module and method for scheduling memory operations for peak-power management and balancing
US9875049B2 (en) * 2015-08-24 2018-01-23 Sandisk Technologies Llc Memory system and method for reducing peak current consumption
KR102445390B1 (ko) * 2015-09-02 2022-09-21 에스케이하이닉스 주식회사 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
KR102648790B1 (ko) * 2018-12-19 2024-03-19 에스케이하이닉스 주식회사 데이터 저장 장치 및 그 동작 방법

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537350A (en) * 1993-09-10 1996-07-16 Intel Corporation Method and apparatus for sequential programming of the bits in a word of a flash EEPROM memory array
US5487033A (en) * 1994-06-28 1996-01-23 Intel Corporation Structure and method for low current programming of flash EEPROMS
US5699298A (en) * 1996-05-22 1997-12-16 Macronix International Co., Ltd. Flash memory erase with controlled band-to-band tunneling current
US5969986A (en) * 1998-06-23 1999-10-19 Invox Technology High-bandwidth read and write architectures for non-volatile memories
US6587903B2 (en) * 1998-02-27 2003-07-01 Micron Technology, Inc. Soft programming for recovery of overerasure
JP4264087B2 (ja) * 2003-11-28 2009-05-13 パナソニック株式会社 記録装置
TWI252399B (en) * 2004-01-14 2006-04-01 Sunplus Technology Co Ltd Memory control device capable of estimating the memory power consumption
JP2005251315A (ja) * 2004-03-05 2005-09-15 Citizen Watch Co Ltd メモリ装置
US7284137B2 (en) * 2004-06-29 2007-10-16 Intel Corporation System and method for managing power consumption within an integrated circuit
US7340618B2 (en) * 2005-03-16 2008-03-04 International Business Machines Corporation System and method for regulating system power by controlling memory usage based on an overall system power measurement
US7562234B2 (en) * 2005-08-25 2009-07-14 Apple Inc. Methods and apparatuses for dynamic power control
US7429806B2 (en) * 2005-10-31 2008-09-30 Xerox Corporation Smart power supply
US20070211551A1 (en) * 2005-11-25 2007-09-13 Yoav Yogev Method for dynamic performance optimization conforming to a dynamic maximum current level
US7793059B2 (en) * 2006-01-18 2010-09-07 Apple Inc. Interleaving policies for flash memory
US7587559B2 (en) 2006-08-10 2009-09-08 International Business Machines Corporation Systems and methods for memory module power management
US7873850B2 (en) * 2006-10-11 2011-01-18 Hewlett-Packard Development Company, L.P. System and method of controlling power consumption and associated heat generated by a computing device

Also Published As

Publication number Publication date
US20100036998A1 (en) 2010-02-11
EP2310936A1 (en) 2011-04-20
TW201011771A (en) 2010-03-16
TWI467594B (zh) 2015-01-01
US7961544B2 (en) 2011-06-14
WO2010016056A1 (en) 2010-02-11
JP2011530731A (ja) 2011-12-22
KR20110051209A (ko) 2011-05-17
KR101653011B1 (ko) 2016-08-31

Similar Documents

Publication Publication Date Title
JP5718812B2 (ja) 複数のストレージデバイスを管理するためのストレージシステムおよび方法
US7969809B2 (en) Power consumption-oriented management of a storage system
TWI482022B (zh) 傳輸資料的方法、在通信線路上進行通信的方法及通信系統
US7711890B2 (en) Cache control in a non-volatile memory device
TWI540583B (zh) 用於具有非揮發性記憶體之一系統的電力預算的動態分配
KR102351660B1 (ko) 전력 관리 메커니즘을 갖는 솔리드 스테이트 메모리 시스템 및 그것의 동작 방법
KR102249416B1 (ko) 메모리 시스템 및 메모리 시스템의 구동 방법
CN102999452A (zh) 存储器设备
JP4768697B2 (ja) 記憶システム、およびデータ転送方法
KR100986884B1 (ko) 외부 접속 기기, 호스트 기기 및 데이터 통신 시스템
CN110797058A (zh) 数据存储装置、操作该数据存储装置的方法以及存储系统
US20070106834A1 (en) Device and method for monitoring operation of a flash memory
JP2008009817A (ja) 半導体装置及びデータ転送方法
CN110647359A (zh) 半导体装置、其操作方法和具有其的层叠存储装置
CN106486150B (zh) 存储控制器和具有该存储控制器的存储系统
JP2009500771A (ja) 記録媒体動作時のパワーマネジメント
KR20200034360A (ko) 내부채널을 통해 서로 간에 연결된 다수의 메모리 시스템을 포함하는 데이터 처리 시스템
WO2008013430A1 (en) Method and apparatus for sharing memory
KR101192594B1 (ko) 슬레이브 디바이스 사이에서 직접 데이터를 전송하는 방법
KR20230110188A (ko) 시동 시 전력 완화를 위한 시스템들 및 방법들
CN117591469A (zh) 一种fpga自适应flash的方法及fpga
CN116449940A (zh) 用于在开启时进行功率放宽的系统和方法
KR20190072229A (ko) 메모리 시스템 및 그것의 동작 방법
KR20190037668A (ko) 메모리 시스템 및 그것의 동작 방법
JP2005099926A (ja) Icカード、ホスト装置、icカードの制御方法及びホスト装置の制御方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120802

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140107

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140404

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140411

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150129

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150319

R150 Certificate of patent or registration of utility model

Ref document number: 5718812

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees