JP2009536768A - フラッシュインターフェイスを有するハードディスクドライブを含む適応型記憶システム - Google Patents

フラッシュインターフェイスを有するハードディスクドライブを含む適応型記憶システム Download PDF

Info

Publication number
JP2009536768A
JP2009536768A JP2009509863A JP2009509863A JP2009536768A JP 2009536768 A JP2009536768 A JP 2009536768A JP 2009509863 A JP2009509863 A JP 2009509863A JP 2009509863 A JP2009509863 A JP 2009509863A JP 2009536768 A JP2009536768 A JP 2009536768A
Authority
JP
Japan
Prior art keywords
data
hdd
nonvolatile memory
hpdd
memory
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.)
Pending
Application number
JP2009509863A
Other languages
English (en)
Other versions
JP2009536768A5 (ja
Inventor
スタルジャ、サハット
ヤン、ユン
Original Assignee
マーベル ワールド トレード リミテッド
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
Priority claimed from US11/503,016 external-priority patent/US7702848B2/en
Application filed by マーベル ワールド トレード リミテッド filed Critical マーベル ワールド トレード リミテッド
Publication of JP2009536768A publication Critical patent/JP2009536768A/ja
Publication of JP2009536768A5 publication Critical patent/JP2009536768A5/ja
Pending legal-status Critical Current

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/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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3221Monitoring of peripheral devices of disk drive devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3268Power saving in hard disk drive
    • 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/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Power Sources (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

低電力モード及び高電力モードを有するデバイスのデータ記憶システムは、不揮発性半導体メモリインターフェイスを有し、かかる不揮発性半導体メモリインターフェイスを介してデバイスと通信する低電力ハードディスクドライブ(LP HDD)を含む低電力(LP)不揮発性メモリを備える。高電力(HP)不揮発性メモリもデバイスと通信する。
【選択図】 図11A

Description

関連出願への相互参照
本願は、2007年4月27日に出願した米国特許出願第 号(待機中)、2006年7月31日に出願した仮出願第60/820,867号の優先権を主張する2006年8月11日に出願した米国特許出願第11/503,016号、及び2006年5月10日に出願した仮出願第60/799,151号の継続出願であり、2004年6月10日に出願した米国特許出願第10/865,368号の部分継続出願であり、2005年5月5日に出願した仮出願第60/678,249号の優先権を主張する2005年12月29日に出願した米国特許出願第11/322,447号の部分継続出願であり、2004年2月13日に出願した米国特許出願第10/779,544号に関連し、2004年6月10日に出願した米国特許出願第10/865,732号に関連する。これらの出願の開示内容は全て、その全体を本願に参照として組み込むものとする。
本発明は、データ記憶システムに係り、より具体的には低電力データ記憶システムに係る。
ラップトップコンピュータは、電線及び電池の両方を用いて電力が供給される。ラップトップコンピュータのプロセッサ、グラフィクスプロセッサ、メモリ、及びディスプレイは、動作時に相当量の電力を消費する。ラップトップコンピュータの1つの顕著な制限は、ラップトップを、電池を再充電することなく用いて操作できる時間量である。ラップトップコンピュータが消費する電力が比較的高いということは、多くの場合、電池の寿命が比較的短いことを意味する。
図1Aを参照するに、キャッシュといったメモリ7を有するプロセッサ6を含む例示的なコンピュータアーキテクチャ4を示す。プロセッサ6は、入出力(I/O)インターフェイス8と通信する。ランダムアクセスメモリ(RAM)10及び/又は他の好適な電子データ記憶装置といった揮発性メモリ9もインターフェイス8と通信する。グラフィクスプロセッサ11と、キャッシュといったメモリ12は、グラフィクスの処理速度及び性能を増加する。
キーボード13及びポインティングデバイス14(例えば、マウス及び/又は他の好適なデバイス)といった1以上のI/Oデバイスが、インターフェイス8と通信する。1.8インチより大きい直径を有する1以上のプラッタを有するハードディスクドライブといった高電力ディスクドライブ(HPDD)15は、不揮発性のメモリを供給し、データを記憶し、インターフェイス8と通信する。HPDD15は、一般に、動作時に消費電力が比較的高い。電池で動作する場合、HPDD15を頻繁に使用すると、電池の寿命が大幅に短くなる。コンピュータアーキテクチャ4は更に、ディスプレイ16、オーディオスピーカといったオーディオ出力デバイス17、及び/又は他の入出力デバイス18を含む。
図1Bを参照するに、例示的なコンピュータアーキテクチャ20は、処理チップセット22及びI/Oチップセット24を含む。例えば、コンピュータアーキテクチャは、ノースブリッジ/サウスブリッジアーキテクチャ(処理チップセットがノースブリッジチップセットに対応し、I/Oチップセットがサウスブリッジチップセットに対応する)、又は他の同様のアーキテクチャでありうる。処理チップセット22は、システムバス27を介してプロセッサ25及びグラフィクスプロセッサ26と通信する。処理チップセット22は、揮発性メモリ28(例えば、外部DRAM又は他のメモリ)、周辺コンポーネント相互接続(PCI)バス30、及び/又はレベル2キャッシュ32との相互作用を制御する。レベル1キャッシュ33及び34は、それぞれ、プロセッサ25及び/又はグラフィクスプロセッサ26に関連付けられうる。代替の実施形態では、アクセラレーテッド・グラフィクス・ポート(AGP)(図示せず)が、グラフィクスプロセッサ26ではなく、及び/又は、グラフィクスプロセッサ26に加えて処理チップセット22と通信する。処理チップセット22は、一般に、(必ずしもそうである必要はないが)複数のチップを用いて実装される。PCIスロット36は、PCIバス30とインターフェイスする。
I/Oチップセット24は、入出力(I/O)の基本的な形式を管理する。I/Oチップセット24は、汎用シリアルバス(USB)40、オーディオデバイス41、キーボード(KBD)及び/又はポインティングデバイス42、及び基本入出力システム(BIOS)43と、業界標準アーキテクチャ(ISA)バス44を介して通信する。処理チップセット22とは異なり、I/Oチップセット24は、一般に(しかし、必ずしもそうである必要はないが)、単一のチップを用いて実装され、PCIバス30に接続される。ハードディスクドライブといったHPDD50も、I/Oチップセット24と通信する。HPDD50は、プロセッサ25により実行されるWindows(登録商標)XP、Windows(登録商標)2000、Linux(登録商標)及びMAC(登録商標)ベースのOSといったフルフィーチャオペレーティングシステム(OS)を記憶する。
高電力モード及び低電力モードを有するデバイスのディスクドライブシステムは、低電力ディスクドライブ(LPDD)を含む。高電力ディスクドライブ(HPDD)。LPDD及びHPDDの少なくとも一方が、不揮発性半導体メモリインターフェイスを介してデバイスと通信する。
他の特徴では、制御モジュールは、最少使用頻度ブロック(LUB)モジュールを含み、かかるモジュールは、LPDDにおけるLUBを特定し、データ記憶要求及びデータ取出し要求の少なくとも1つが受信される場合に、低電力モード時にそのLUBをHPDDに選択的に転送する。書込みデータの記憶要求時、制御モジュールは、かかる書込みデータに十分なスペースがLPDDにある場合は、かかる書込みデータをLPDDに転送する。かかる書込みデータに十分なスペースがLPDDにない場合は、制御モジュールは、HPDDをオンにして、LPDDからHPDDにかかるLUBを転送し、書込みデータをLPDDに転送する。制御モジュールは、かかる書込みデータに十分なスペースがLPDDにない場合に、かかる書込みデータがLUBより前に使用される可能性があるか否かを判断する適応型記憶モジュールを含む。書込みデータがLUBより後に使用される可能性がある場合、制御モジュールは、書込みデータをHPDDに記憶する。書込みデータがLUBの前に使用される可能性がある場合、制御モジュールは、HPDDをオンにし、かかるLUBをLPDDからHPDDに転送し、次に、書込みデータをLPDDに転送する。
別の特徴では、読出しデータのデータ取出し要求時、制御モジュールは、読出しデータがLPDD内に記憶される場合には、LPDDから読出しデータを取出す。制御モジュールは、かかる読出しデータがLPDD内にない場合に、かかる読出しデータが一度使用される可能性があるか否かを判断する適応型記憶モジュールを含み、制御モジュールは、かかる読出しデータが一度使用される可能性がある場合は、HPDDから読出しデータを取出す。適応型記憶モジュールが、読出しデータは2回以上使用される可能性があると判断する場合は、制御モジュールは、HPDDからの読出しデータに十分なスペースがLPDDにある場合に、かかる読出しデータをHPDDからLPDDに転送する。適応型記憶モジュールが、かかる読出しデータは2回以上使用される可能性があると判断する場合は、制御モジュールは、かかる読出しデータに十分なスペースがLPDDにない場合は、LUBをLPDDからHPDDに転送し、また、かかる読出しデータをHPDDからLPDDに転送する。制御モジュールは、読出しデータに十分なスペースがLPDDにない場合に、読出しデータをHPDDからLPDDに転送する。制御モジュールは、かかる読出しデータに十分なスペースがLPDDにない場合に、LUBをLPDDからHPDDに転送し、かかる読出しデータをHPDDからLPDDに転送する。かかる読出しデータがLPDDにない場合、制御モジュールは、かかる読出しデータをHPDDから取出す。
他の特徴では、HPDDは、1.8インチより大きい直径を有する1以上のプラッタを含み、LPDDは、1.8インチ以下の直径を有する1以上のプラッタを含む。HPDD及びLPDDは、不揮発性半導体メモリインターフェイスを介してデバイスと通信する。制御モジュールは、LPDD及びHPDDと通信する。低電力モードにおける書込みデータの記憶要求時に、制御モジュールは、かかる書込みデータに十分なスペースがLPDDにあるか否かを判断し、十分なスペースがある場合には、書込みデータをLPDDに転送する。HPDD及びLPDDは、不揮発性半導体メモリインターフェイスを介してデバイスと通信する。制御モジュールは、十分なスペースがない場合には、書込みデータをHPDDに記憶する。制御モジュールは更に、高電力モード時にLPDDからHPDDにデータファイルを転送してLPDDで利用可能なディスクスペースを増加するLPDDメンテナンスモジュールを含む。LPDDメンテナンスモジュールは、経過時間、サイズ、及び低電力モードで将来使用される可能性のうち少なくとも1つに基づいて、データファイルを転送する。
他の特徴では、HPDDは、1.8インチより大きい直径を有する1以上のプラッタを含み、LPDDは、1.8インチ以下の直径を有する1以上のプラッタを含む。
高電力モードと低電力モードを有するデバイス用のディスクドライブシステムを動作させる方法は、低電力ディスクドライブ(LPDD)及び高電力ディスクドライブ(HPDD)を提供する段階と、LPDDとHPDDの少なくとも一方と、デバイスとの間で、不揮発性半導体メモリインターフェイスを介して通信する段階とを含む。
他の特徴では、かかる方法は、LPDDにおけるLUBを特定する段階と、データ記憶要求とデータ取出し要求の少なくとも一方を受信する場合に、低電力モード時にLUBをHPDDに選択的に転送する段階を含む。かかる方法は、書込みデータの記憶要求時に、書込みデータに十分なスペースがLPDDにある場合には、かかる書込みデータをLPDDに転送する段階を含む。かかる方法は、HPDDをオンにする段階と、書込みデータに十分なスペースがLPDDにない場合には、LUBをLPDDからHPDDに転送する段階と、かかる書込みデータをLPDDに転送する段階とを含む。かかる方法は、書込みデータが、書込みデータに十分なスペースがLPDDにない場合に、LUBの前に使用される可能性があるか否かを判断する段階を含む。かかる方法は、書込みデータがLUBの後に使用される可能性がある場合に、書込みデータをHPDDに記憶する段階を含む。かかる方法は、書込みデータがLUBの前に使用される可能性がある場合に、HPDDをオンにする段階と、LUBをLPDDからHPDDに転送する段階と、次にかかる書込みデータをLPDDに転送する段階とを含む。かかる方法は、読出しデータのデータ取出し要求時に、読出しデータがLPDD内に記憶される場合には、読出しデータをLPDDから取出す段階を含む。かかる方法は、読出しデータがLPDD内にない場合に、読出しデータが一度使用される可能性があるか否かを判断する段階と、読出しデータが一度使用される可能性がある場合は、HPDDから読出しデータを取出す段階とを含む。
他の特徴では、かかる方法は、読出しデータが2回以上使用される可能性がある場合に、読出しデータに十分なスペースがLPDDにある場合に、読出しデータをHPDDからLPDDに転送する段階を含む。かかる方法は、読出しデータが2回以上使用される可能性がある場合に、読出しデータに十分なスペースがLPDDにない場合に、LUBをLPDDからHPDDに転送する段階と、読出しデータをHPDDからLPDDに転送する段階を含む。かかる方法は、読出しデータに十分なスペースがLPDDにある場合に、読出しデータをHPDDからLPDDに転送する段階を含む。かかる方法は、読出しデータに十分なスペースがLPDDにない場合には、LUBをLPDDからHPDDに転送し、読出しデータをHPDDからLPDDに転送する段階を含む。かかる方法は、読出しデータがLPDDにない場合、HPDDから読出しデータを取出す段階を含む。HPDD及びLPDDは、不揮発性半導体メモリインターフェイスを介してデバイスと通信する。かかる方法は、書込みデータに十分なスペースがLPDDにあるか否かを判断する段階と、低電力モードにおいて書込みデータの記憶要求時に十分なスペースがある場合は、書込みデータをLPDDに転送する段階とを含む。
他の特徴では、HPDD及びLPDDは、不揮発性半導体メモリインターフェイスを介してデバイスと通信する。かかる方法は、スペースが十分にない場合には、HPDDに書込みデータを記憶する段階を含む。かかる方法は、高電力モード時にLPDDからHPDDにデータファイルを転送して、LPDDで利用可能なディスクスペースを増加する段階を含む。かかる方法は、経過時間、サイズ、及び、低電力モードで将来使用される可能性のうち少なくとも1つに基づいて、データファイルを転送する段階を含む。
高電力モード及び低電力モードを有するデバイス用のディスクドライブシステムは、メモリにインターフェイスするための不揮発性半導体メモリインターフェイス手段と、低電力ディスクドライブ(LPDD)と、高電力ディスクドライブ(HPDD)とを含み、LPDD及びHPDDの少なくとも一方が、不揮発性半導体メモリインターフェイス手段を介してデバイスと通信する。
他の特徴では、制御手段は、LPDDにおける最少使用頻度ブロック(LUB)を特定するLUB手段を含む。制御手段は、データ記憶要求及びデータ取出し要求の少なくとも一方が受信される場合に、低電力モード時にLUBをHPDDに選択的に転送する。書込みデータの記憶要求時に、制御手段は、書込みデータに十分なスペースがLPDDにある場合には、かかる書込みデータをLPDDに転送する。書込みデータに十分なスペースがLPDDにない場合には、制御手段は、HPDDをオンにして、LUBをLPDDからHPDDに転送し、書込みデータをLPDDに転送する。制御手段は、書込みデータに十分なスペースがLPDDにない場合に、書込みデータがLUBの前に使用される可能性があるか否かを判断する適応型記憶手段を含む。書込みデータが、LUBの後に使用される可能性がある場合、制御手段は、書込みデータをHPDDに記憶する。書込みデータが、LUBの前に使用される可能性がある場合、制御手段は、HPDDをオンにし、LUBをLPDDからHPDDに転送し、次に、書込みデータをLPDDに転送する。読出しデータのデータ取出し要求時に、制御手段は、読出しデータがLPDDに記憶されている場合には、読出しデータをLPDDから取出す。制御手段は、読出しデータがLPDDにない場合に、読出しデータが一度使用される可能性があるか否かを判断する適応型記憶手段を含み、制御手段は、読出しデータが一度使用される可能性がある場合、読出しデータをHPDDから取出す。
他の特徴では、適合型記憶手段が、読出しデータは2回以上使用される可能性があると判断する場合、制御手段は、読出しデータに十分なスペースがLPDDにある場合は、読出しデータをHPDDからLPDDに転送する。適応型記憶手段が、読出しデータは2回以上使用される可能性があると判断する場合、制御手段は、読出しデータに十分なスペースがLPDDにない場合は、LUBをLPDDからHPDDに転送し、読出しデータをHPDDからLPDDに転送する。制御手段は、読出しデータに十分なデータがLPDDにある場合は、読出しデータをHPDDからLPDDに転送する。制御手段は、読出しデータに十分なスペースがLPDDにない場合は、LUBをLPDDからHPDDに転送し、読出しデータをHPDDからLPDDに転送する。読出しデータがLPDDにない場合、制御手段は、HPDDから読出しデータを取出す。HPDDは、1.8インチより大きい直径を有する1以上のプラッタを含み、LPDDは、1.8インチ以下の直径を有する1以上のプラッタを含む。
他の特徴では、HPDD及びLPDDは、不揮発性半導体メモリインターフェイス手段を介してデバイスと通信する。制御手段は、LPDD及びHPDDと通信する。低電力モードにおける書込みデータの記憶要求時に、制御手段は、かかる書込みデータに十分なスペースがLPDDにあるか否かを判断し、十分なスペースがある場合には、書込みデータをLPDDに転送する。HPDD及びLPDDは、不揮発性半導体メモリインターフェイス手段を介してデバイスと通信する。制御手段は、十分なスペースがない場合には、書込みデータをHPDDに記憶する。制御手段は更に、高電力モード時にLPDDからHPDDにデータファイルを転送してLPDDで利用可能なディスクスペースを増加するLPDDメンテナンス手段を含む。
LPDDメンテナンス手段は、経過時間、サイズ、及び低電力モードで将来使用される可能性のうち少なくとも1つに基づいて、データファイルを転送する。HPDDは、1.8インチより大きい直径を有する1以上のプラッタを含み、LPDDは、1.8インチ以下の直径を有する1以上のプラッタを含む。
低電力モード及び高電力モードを有するデバイス用のデータ記憶システムは、不揮発性半導体メモリインターフェイスを有する低電力ハードディスクドライブ(LP HDD)を含む低電力(LP)不揮発性メモリを含む。LP HDDは、不揮発性半導体メモリインターフェイスを介してデバイスと通信する。高電力(HP)不揮発性メモリは、デバイスと通信する。
他の特徴では、キャッシュ制御モジュールが、LP不揮発性メモリ及びHP不揮発性メモリと通信し、適応型記憶モジュールを含む。LP不揮発性メモリ及びHP不揮発性メモリのどちらかに書込みデータが書込まれる場合、適応型記憶モジュールは、LP不揮発性メモリ及びHP不揮発性メモリのどちらかを選択する適応記憶判断を生成する。HP不揮発性メモリは、不揮発性半導体メモリインターフェイスを介してデバイスと通信するHP HDDを含む。適応判断は、書込みデータの以前の使用に関連付けられる電力モード、書込みデータのサイズ、書込みデータを最後に使用した日付、及び書込みデータの手動オーバライドステータスのうち少なくとも1つに基づく。LP HDDは、1.8インチ以下の直径を有する1以上のプラッタを含み、HP不揮発性メモリは、1.8インチより大きい直径を有する1以上のプラッタを有するハードディスクドライブを含む。
他の特徴では、キャッシュ制御モジュールが、LP不揮発性メモリ及びHP不揮発性メモリと通信し、ドライブ電力低減モジュールを含む。低電力モード時にHP不揮発性メモリから読出しデータが読み出され、読出しデータがシーケンシャルアクセスデータファイルを含む場合、ドライブ電力低減モジュールは、HP不揮発性メモリからLP不揮発性メモリに読出しデータの複数のセグメントを転送するバースト期間を計算する。HP不揮発性メモリは、不揮発性半導体メモリインターフェイスを介してデバイスと通信するHP HDDを含む。ドライブ電力低減モジュールは、バースト期間を選択して、低電力モード時に読出しデータが再生される間の電力消費量を低減する。HP不揮発性メモリは、高電力ディスクドライブ(HPDD)を含む。バースト期間は、LP HDDのスピンアップ時間、HPDDのスピンアップ時間、LP HDDの電力消費量、HPDDの電力消費量、読出しデータの再生長、及び、LP HDDの容量のうち少なくとも1つに基づく。
他の特徴では、オペレーティングシステムが、LP不揮発性メモリ及びHP不揮発性メモリと通信し、ドライブ電力低減モジュールを含む。低電力モード時にHP不揮発性メモリから読出しデータが読み出され、読出しデータがシーケンシャルアクセスデータファイルを含む場合、ドライブ電力低減モジュールは、HP不揮発性メモリからLP不揮発性メモリに読出しデータの複数のセグメントを転送するバースト期間を計算する。HP不揮発性メモリは、不揮発性半導体メモリインターフェイスと通信するHP HDDを含む。ドライブ電力低減モジュールは、バースト期間を選択して、低電力モード時に読出しデータが再生される間の電力消費量を低減する。HP不揮発性メモリは、高電力ディスクドライブ(HPDD)を含む。バースト期間は、LP HDDのスピンアップ時間、HPDDのスピンアップ時間、LP HDDの電力消費量、HPDDの電力消費量、読出しデータの再生長、及び、LP HDDの容量のうち少なくとも1つに基づく。
別の特徴では、ホスト制御モジュールが、LP不揮発性メモリ及びHP不揮発性メモリと通信し、適応型記憶モジュールを含む。LP不揮発性メモリ及びHP不揮発性メモリのどちらかに書込みデータが書込まれる場合、適応型記憶モジュールは、LP不揮発性メモリ及びHP不揮発性メモリのどちらかを選択する適応記憶判断を生成する。HP不揮発性メモリは、不揮発性半導体メモリインターフェイスと通信するHP HDDを含む。適応判断は、書込みデータの以前の使用に関連付けられる電力モード、書込みデータのサイズ、書込みデータを最後に使用した日付、及び書込みデータの手動オーバライドステータスのうち少なくとも1つに基づく。
他の特徴では、ホスト制御モジュールが、LP不揮発性メモリ及びHP不揮発性メモリと通信し、ドライブ電力低減モジュールを含む。低電力モード時にHP不揮発性メモリから読出しデータが読み出され、読出しデータがシーケンシャルアクセスデータファイルを含む場合、ドライブ電力低減モジュールは、HP不揮発性メモリからLP不揮発性メモリに読出しデータの複数のセグメントを転送するバースト期間を計算する。HP不揮発性メモリは、不揮発性半導体メモリインターフェイスと通信するHP HDDを含む。ドライブ電力低減は、バースト期間を選択して、低電力モード時に読出しデータが再生される間の電力消費量を低減する。HP不揮発性メモリは、高電力ディスクドライブ(HPDD)を含む。バースト期間は、LP HDDのスピンアップ時間、HPDDのスピンアップ時間、LP HDDの電力消費量、HPDDの電力消費量、読出しデータの再生長、及び、LP HDDの容量のうち少なくとも1つに基づく。
他の特徴では、オペレーティングシステムが、LP不揮発性メモリ及びHP不揮発性メモリと通信し、適応型記憶モジュールを含む。LP不揮発性メモリ及びHP不揮発性メモリのどちらかに書込みデータが書込まれる場合、適応型記憶モジュールは、LP不揮発性メモリ及びHP不揮発性メモリのどちらかを選択する適応記憶判断を生成する。HP不揮発性メモリは、不揮発性半導体メモリインターフェイスと通信するHP HDDを含む。適応判断は、書込みデータの以前の使用に関連付けられる電力モード、書込みデータのサイズ、書込みデータを最後に使用した日付、及び書込みデータの手動オーバライドステータスのうち少なくとも1つに基づく。
低電力モード及び高電力モードを有するデバイスのデータ記憶システムを動作させる方法であって、不揮発性半導体メモリインターフェイスを有し、不揮発性半導体メモリインターフェイスを介してデバイスと通信する低電力ハードディスクドライブ(LP HDD)を含む低電力(LP)不揮発性メモリを提供する段階と、高電力(HP)不揮発性メモリを提供する段階と、デバイスの選択された電力モードに基づいてLP不揮発性メモリ及びHP不揮発性メモリから少なくとも1つを選択する段階とを含む。
他の特徴では、かかる方法は、LP不揮発性メモリ及びHP不揮発性メモリのどちらかに書込みデータが書込まれる場合、LP不揮発性メモリ及びHP不揮発性メモリのどちらかを選択する適応記憶判断を生成する段階を含む。HP不揮発性メモリは、不揮発性半導体メモリインターフェイスを介してデバイスと通信するHP HDDを含む。適応判断は、書込みデータの以前の使用に関連付けられる電力モード、書込みデータのサイズ、書込みデータを最後に使用した日付、及び書込みデータの手動オーバライドステータスのうち少なくとも1つに基づく。かかる方法は、低電力モード時にHP不揮発性メモリから読出しデータが読み出され、読出しデータがシーケンシャルアクセスデータファイルを含む場合、HP不揮発性メモリからLP不揮発性メモリに読出しデータの複数のセグメントを転送するバースト期間を計算する段階を含む。HP不揮発性メモリは、不揮発性半導体メモリインターフェイスを介してデバイスと通信するHP HDDを含む。かかる方法は、バースト期間を選択して、低電力モード時に読出しデータが再生される間の電力消費量を低減する段階を含む。HP不揮発性メモリは、高電力ディスクドライブ(HPDD)を含む。
他の特徴では、バースト期間は、LP HDDのスピンアップ時間、HPDDのスピンアップ時間、LP HDDの電力消費量、HPDDの電力消費量、読出しデータの再生長、及び、LP HDDの容量のうち少なくとも1つに基づく。かかる方法は、低電力モード時にHP不揮発性メモリから読出しデータが読み出され、読出しデータがシーケンシャルアクセスデータファイルを含む場合、HP不揮発性メモリからLP不揮発性メモリに読出しデータの複数のセグメントを転送するバースト期間を計算する段階を含む。HP不揮発性メモリは、不揮発性半導体メモリインターフェイスと通信するHP HDDを含む。かかる方法は、バースト期間を選択して、低電力モード時に読出しデータが再生される間の電力消費量を低減する段階を含む。HP不揮発性メモリは、高電力ディスクドライブ(HPDD)を含む。バースト期間は、LP HDDのスピンアップ時間、HPDDのスピンアップ時間、LP HDDの電力消費量、HPDDの電力消費量、読出しデータの再生長、及び、LP HDDの容量のうち少なくとも1つに基づく。
低電力モード及び高電力モードを有するデバイス用のデータ記憶システムは、インターフェイスするための不揮発性半導体メモリインターフェイス手段を有する低電力ハードディスクドライブ(LP HDD)を含む、データを記憶する低電力(LP)不揮発性記憶手段と、デバイスと通信する、データを記憶する高電力(HP)不揮発性記憶手段とを含み、LP HDDは、不揮発性半導体メモリインターフェイス手段を介してデバイスと通信する。
他の特徴では、キャッシュ制御手段が、LP不揮発性記憶手段及びHP不揮発性記憶手段と通信し、適応型記憶手段を含み、適応型記憶手段は、LP不揮発性記憶手段及びHP不揮発性記憶手段のどちらかに書込みデータが書込まれる場合、LP不揮発性記憶手段及びHP不揮発性記憶手段のどちらかを選択する適応記憶判断を生成する。HP不揮発性記憶手段は、不揮発性半導体メモリインターフェイス手段を介してデバイスと通信するHP HDDを含む。適応判断は、書込みデータの以前の使用に関連付けられる電力モード、書込みデータのサイズ、書込みデータを最後に使用した日付、及び書込みデータの手動オーバライドステータスのうち少なくとも1つに基づく。LP HDDは、1.8インチ以下の直径を有する1以上のプラッタを含み、HP不揮発性記憶手段は、1.8インチより大きい直径を有する1以上のプラッタを有するハードディスクドライブを含む。
他の特徴では、キャッシュ制御手段が、LP不揮発性記憶手段及びHP不揮発性記憶手段と通信し、ドライブ電力低減手段を含み、ドライブ電力低減手段は、低電力モード時にHP不揮発性記憶手段から読出しデータが読み出され、読出しデータがシーケンシャルアクセスデータファイルを含む場合、HP不揮発性記憶手段からLP不揮発性記憶手段に読出しデータの複数のセグメントを転送するバースト期間を計算する。HP不揮発性記憶手段は、不揮発性半導体メモリインターフェイス手段を介してデバイスと通信するHP HDDを含む。ドライブ電力低減手段は、バースト期間を選択して、低電力モード時に読出しデータが再生される間の電力消費量を低減する。HP不揮発性記憶手段は、高電力ディスクドライブ(HPDD)を含む。バースト期間は、LP HDDのスピンアップ時間、HPDDのスピンアップ時間、LP HDDの電力消費量、HPDDの電力消費量、読出しデータの再生長、及び、LP HDDの容量のうち少なくとも1つに基づく。
他の特徴では、オペレーティングシステムが、LP不揮発性記憶手段及びHP不揮発性記憶手段と通信し、ドライブ電力低減手段を含み、ドライブ電力低減手段は、低電力モード時にHP不揮発性記憶手段から読出しデータが読み出され、読出しデータがシーケンシャルアクセスデータファイルを含む場合、HP不揮発性記憶手段からLP不揮発性記憶手段に読出しデータの複数のセグメントを転送するバースト期間を計算する。HP不揮発性記憶手段は、不揮発性半導体メモリインターフェイス手段と通信するHP HDDを含む。ドライブ電力低減手段は、バースト期間を選択して、低電力モード時に読出しデータが再生される間の電力消費量を低減する。HP不揮発性記憶手段は、高電力ディスクドライブ(HPDD)を含む。バースト期間は、LP HDDのスピンアップ時間、HPDDのスピンアップ時間、LP HDDの電力消費量、HPDDの電力消費量、読出しデータの再生長、及び、LP HDDの容量のうち少なくとも1つに基づく。
別の特徴では、ホスト制御手段が、LP不揮発性記憶手段及びHP不揮発性記憶手段と通信し、適応型記憶手段を含み、適応型記憶手段は、LP不揮発性記憶手段及びHP不揮発性記憶手段のどちらかに書込みデータが書込まれる場合、LP不揮発性記憶手段及びHP不揮発性記憶手段のどちらかを選択する適応記憶判断を生成する。HP不揮発性記憶手段は、不揮発性半導体メモリインターフェイス手段と通信するHP HDDを含む。適応判断は、書込みデータの以前の使用に関連付けられる電力モード、書込みデータのサイズ、書込みデータを最後に使用した日付、及び書込みデータの手動オーバライドステータスのうち少なくとも1つに基づく。
他の特徴では、ホスト制御手段が、LP不揮発性記憶手段及びHP不揮発性記憶手段と通信し、ドライブ電力低減手段を含み、ドライブ電力低減手段は、低電力モード時にHP不揮発性記憶手段から読出しデータが読み出され、読出しデータがシーケンシャルアクセスデータファイルを含む場合、HP不揮発性記憶手段からLP不揮発性記憶手段に読出しデータの複数のセグメントを転送するバースト期間を計算する。HP不揮発性記憶手段は、不揮発性半導体メモリインターフェイス手段と通信するHP HDDを含む。ドライブ電力低減手段は、バースト期間を選択して、低電力モード時に読出しデータが再生される間の電力消費量を低減する。HP不揮発性記憶手段は、高電力ディスクドライブ(HPDD)を含む。バースト期間は、LP HDDのスピンアップ時間、HPDDのスピンアップ時間、LP HDDの電力消費量、HPDDの電力消費量、読出しデータの再生長、及び、LP HDDの容量のうち少なくとも1つに基づく。
他の特徴では、オペレーティングシステムが、LP不揮発性記憶手段及びHP不揮発性記憶手段と通信し、適応型記憶手段を含み、適応型記憶手段は、LP不揮発性記憶手段及びHP不揮発性記憶手段のどちらかに書込みデータが書込まれる場合、LP不揮発性記憶手段及びHP不揮発性記憶手段のどちらかを選択する適応記憶判断を生成する。HP不揮発性記憶手段は、不揮発性半導体メモリインターフェイス手段と通信するHP HDDを含む。適応判断は、書込みデータの以前の使用に関連付けられる電力モード、書込みデータのサイズ、書込みデータを最後に使用した日付、及び書込みデータの手動オーバライドステータスのうち少なくとも1つに基づく。
低電力モード及び高電力モードで動作するデバイスは、揮発性メモリと、不揮発性半導体メモリインターフェイスを有する低電力ハードディスクドライブ(LP HDD)及び不揮発性半導体メモリインターフェイスを有する高電力ハードディスクドライブ(HP HDD)の少なくとも1つを含む不揮発性メモリと、仮想メモリ調整モジュールを含み、不揮発性メモリの少なくとも一部をページングファイルに割り当ててデバイスシステムの仮想メモリを増加することを可能にするオペレーティングシステムとを含む。
処理デバイスは、高電力モード及び低電力モードを有し、また、処理デバイスと通信し、高電力モード時に処理デバイスにより実行される第1のオペレーティングシステムを格納する第1の不揮発性メモリと、処理デバイスと通信し、低電力モード時に処理デバイスにより実行される第2のオペレーティングシステムを格納する第2の不揮発性メモリとを備え、第2の不揮発性メモリは、不揮発性半導体メモリインターフェイスを有する低電力ハードディスクドライブ(LP HDD)を含む。
他の特徴では、第1の不揮発性メモリは、不揮発性半導体メモリインターフェイスと通信し、第1のオペレーティングシステムを格納する高電力ハードディスクドライブ(HP HDD)を含む。一次処理デバイスは、第1の不揮発性メモリと通信し、高電力モード時に第1のオペレーティングシステムを実行する。二次処理デバイスは、第2の不揮発性メモリと通信し、低電力モード時に第2のオペレーティングシステムを実行する。第1のオペレーティングシステムは、フルフィーチャのオペレーティングシステムであり、第2のオペレーティングシステムは、制限されたフィーチャのオペレーティングシステムである。一次グラフィクス処理デバイスは、第1の不揮発性メモリと通信し、高電力モード時のフルフィーチャのグラフィクス処理をサポートし、二次グラフィクス処理デバイスは、第2の不揮発性メモリと通信し、低電力モード時の制限されたフィーチャのグラフィクス処理をサポートする。フルフィーチャオペレーティングシステム及び制限フィーチャオペレーティングシステムは、共通のデータ形式を共有する。
低電力モード及び高電力モードで動作するデバイスは、データを格納する揮発性格納手段と、インターフェイスするための不揮発性半導体メモリインターフェイス手段を有する低電力ハードディスクドライブ(LP HDD)及びインターフェイスするための不揮発性半導体メモリインターフェイス手段を有する高電力ハードディスクドライブ(HP HDD)の少なくとも1つを含む不揮発性記憶手段と、仮想メモリ調整手段を含み、不揮発性記憶手段の少なくとも一部をページングファイルに割り当ててデバイスシステムの仮想記憶を増加することを可能にするオペレーティングシステムとを含む。
処理デバイスは、高電力モード及び低電力モードを有し、また、処理デバイスと通信し、高電力モード時に処理デバイスにより実行される第1のオペレーティングシステムを記憶する、データ記憶用の第1の不揮発性記憶手段と、処理デバイスと通信し、低電力モード時に処理デバイスにより実行される第2のオペレーティングシステムを記憶する、データ記憶用の第2の不揮発性記憶手段とを備え、第2の不揮発性記憶手段は、インターフェイスするための不揮発性半導体メモリインターフェイス手段を有する低電力ハードディスクドライブ(LP HDD)を含む。
他の特徴では、第1の不揮発性記憶手段は、不揮発性半導体メモリインターフェイス手段と通信し、第1のオペレーティングシステムを記憶する高電力ハードディスクドライブ(HP HDD)を含む。一次処理手段は、第1の不揮発性記憶手段と通信し、高電力モード時に第1のオペレーティングシステムを実行する。二次処理手段は、第2の不揮発性記憶手段と通信し、低電力モード時に第2のオペレーティングシステムを実行する。第1のオペレーティングシステムは、フルフィーチャのオペレーティングシステムであり、第2のオペレーティングシステムは、制限されたフィーチャのオペレーティングシステムである。
他の特徴では、一次グラフィクス処理手段は、第1の不揮発性記憶手段と通信し、高電力モード時のフルフィーチャのグラフィクス処理をサポートする。二次グラフィクス処理手段は、第2の不揮発性記憶手段と通信し、低電力モード時の制限されたフィーチャのグラフィクス処理をサポートする。フルフィーチャオペレーティングシステム及び制限フィーチャオペレーティングシステムは、共通のデータ形式を共有する。
低電力モード及び高電力モードにあるデバイスを動作させる方法は、揮発性メモリと、不揮発性半導体メモリインターフェイスを有する低電力ハードディスクドライブ(LP HDD)及び不揮発性半導体メモリインターフェイスを有する高電力ディスクドライブ(HP HDD)の少なくとも一方を含む不揮発性メモリとを提供する段階と、オペレーティングシステムを用いて不揮発性メモリの少なくとも一部をページングファイルのために割り当てることを可能にしてデバイスの仮想メモリを増加する段階とを含む。
高電力モード及び低電力モードを有する処理デバイスを動作させる方法は、処理デバイスと通信する第1の不揮発性メモリを提供する段階と、第1の不揮発性メモリに第1のオペレーティングシステムを記憶する段階と、高電力モード時に処理デバイスを用いて第1のオペレーティングシステムを実行する段階と、処理デバイスと通信する第2の不揮発性メモリを提供する段階と、第2の不揮発性メモリに第2のオペレーティングシステムを記憶する段階と、低電力モード時に処理デバイスを用いて第2のオペレーティングシステムを実行する段階とを含む。第2の不揮発性メモリは、不揮発性半導体メモリインターフェイスを有する低電力ハードディスクドライブ(LP HDD)を含む。
他の特徴では、第1の不揮発性メモリは、不揮発性半導体メモリインターフェイスと通信する高電力(HP)HDDを含み、第1のオペレーティングシステムを記憶する。かかる方法は、第1の不揮発性メモリと通信し、高電力モード時に第1のオペレーティングシステムを実行する一次処理デバイスを提供する段階と、第2の不揮発性メモリと通信し、低電力モード時に第2のオペレーティングシステムを実行する二次処理デバイスを提供する段階とを含む。第1のオペレーティングシステムは、フルフィーチャのオペレーティングシステムであり、第2のオペレーティングシステムは、制限されたフィーチャのオペレーティングシステムである。かかる方法は、第1の不揮発性メモリと通信し、高電力モード時にフルフィーチャのグラフィクス処理をサポートする一次グラフィクス処理デバイスを提供する段階と、第2の不揮発性メモリと通信し、低電力モード時に制限フィーチャのグラフィクス処理をサポートする二次グラフィクス処理デバイスを提供する段階とを含む。かかる方法は、フルフィーチャのオペレーティングシステムと、制限フィーチャのオペレーティングシステムとの間で共通のデータ形式を共有する段階を含む。
上述したいずれの実施形態においても、不揮発性半導体メモリインターフェイスを有するHDDは、不揮発性半導体メモリインターフェイスを含み、かかる不揮発性半導体メモリインターフェイスは、制御モジュールと通信するインターフェイス信号線を含む。バッファメモリに、制御モジュール及びLPDDから受信されるデータを記憶する。フラッシュコントローラは、不揮発性半導体メモリインターフェイスを介するインターフェイス信号線を用いてLPDDのデータ転送プロトコルをエミュレートする。メモリラッパは、インターフェイスコントローラ及びバッファマネジャと通信する。メモリラッパは、制御モジュール及びHDDのデータ転送速度に応じてバッファメモリを制御する。
他の特徴では、フラッシュコントローラは、HDDのランダムな読出しを実現すべくインターフェイス信号線を制御し、また、HDDのランダムな書込みを実現すべくインターフェイス信号線を制御する。フラッシュコントローラは、HDDのシーケンシャルな読出しを実現すべくインターフェイス信号線を制御し、また、HDDのシーケンシャルな書込みを実現すべくインターフェイス信号線を制御する。フラッシュコントローラは、制御モジュールとHDDとの間のコマンドの転送を実現すべくインターフェイス信号線を制御する。
他の特徴では、フラッシュコントローラは、一組のHDDコマンドを、一組の対応するフラッシュメモリコマンドにマッピングする。レジスタメモリは、プロセッサバスを介してインターフェイスコントローラとHDDプロセッサと通信する。レジスタメモリは、HDDプロセッサ及び制御モジュールによりプログラムされるコマンドを記憶する。フラッシュコントローラは、HDDからの読出しデータをバッファメモリに記憶して、制御モジュールとHDDとの間のデータ転送速度における差を補償し、また、データレディ信号を制御モジュールに送信して、メモリバッファ内にデータがあることを示す。フラッシュコントローラは、制御モジュールからも書込みデータをバッファメモリに記憶して、制御モジュールとHDDとの間のデータ転送速度における差を補償し、また、データレディ信号を制御モジュールに送信して、メモリバッファ内にデータがあることを示す。不揮発性半導体メモリインターフェイスは、NAND型の不揮発性半導体メモリインターフェイスである。
他の特徴では、不揮発性半導体メモリインターフェイスは、フラッシュメモリインターフェイスを含む。不揮発性半導体メモリインターフェイス手段は、フラッシュメモリインターフェイスを含む。
本発明の更なる適用分野は、以下に与える詳細な説明から明らかとなろう。詳細な説明及び具体的な実施例は、本発明の好適な実施形態を示す一方で、例示的に過ぎず、本発明の範囲を限定することを意図していないことは理解すべきである。
本発明は、詳細な説明及び添付図面からより完全に理解できよう。
従来技術による例示的なコンピュータアーキテクチャを示す図である。
高電力モード時に動作する一次プロセッサ、一次グラフィクスプロセッサ、及び一次揮発性メモリと、一次プロセッサと通信し、低電力モード時に動作し、低電力モード時に一次揮発性メモリを使用する二次プロセッサ及び二次グラフィクスプロセッサとを有する、本発明による第1の例示的なコンピュータアーキテクチャを示す図である。
図2Aに類似し、二次プロセッサ及び/又は二次グラフィクスプロセッサに接続される二次揮発性メモリを含む、本発明による第2の例示的なコンピュータアーキテクチャを示す図である。
図2Aに類似し、二次プロセッサ及び/又は二次グラフィクスプロセッサに関連付けられた組み込み揮発性メモリを含む、本発明による第3の例示的なコンピュータアーキテクチャを示す図である。
高電力モード時に動作する一次プロセッサ、一次グラフィクスプロセッサ、及び一次揮発性メモリと、処理チップセットと通信し、低電力モード時に動作し、低電力モード時に一次揮発性メモリを使用する二次プロセッサ及び二次グラフィクスプロセッサとを有するコンピュータ用の本発明による第4の例示的なアーキテクチャを示す図である。
図3Aに類似し、二次プロセッサ及び/又は二次グラフィクスプロセッサに接続される二次揮発性メモリを含む、本発明による第5の例示的なコンピュータアーキテクチャを示す図である。
図3Aに類似し、二次プロセッサ及び/又は二次グラフィクスプロセッサに関連付けられた組み込み揮発性メモリを含む、本発明による第6の例示的なコンピュータアーキテクチャを示す図である。
I/Oチップセットと通信し、低電力モード時に動作し、低電力モード時に一次揮発性メモリを使用する二次プロセッサ及び二次グラフィクスプロセッサを有するコンピュータ用の本発明による第7の例示的なアーキテクチャを示す図である。
図4Aに類似し、二次プロセッサ及び/又は二次グラフィクスプロセッサに接続される二次揮発性メモリを含む、本発明による第8の例示的なコンピュータアーキテクチャを示す図である。
図4Aに類似し、二次プロセッサ及び/又は二次グラフィクスプロセッサに関連付けられた組み込み揮発性メモリを含む、本発明による第9の例示的なコンピュータアーキテクチャを示す図である。
図2A−図4Cのコンピュータアーキテクチャ用のキャッシュ階層を示す図である。
最少使用頻度ブロック(LUB)モジュールを含み、低電力ディスクドライブ(LPDD)と高電力ディスクドライブ(HPDD)との間のデータの記憶及び転送を管理するドライブ制御モジュールを示す機能ブロック図である。
図6のドライブ制御モジュールにより行われるステップを説明するフローチャートである。
図6のドライブ制御モジュールにより行われる代替のステップを説明するフローチャートである。
図6のドライブ制御モジュールにより行われる代替のステップを説明するフローチャートである。
適応型記憶制御モジュールを含み、LPDDとHPDDとの間のデータの記憶及び転送を制御するキャッシュ制御モジュールを示す図である。
適応型記憶制御モジュールを含み、LPDDとHPDDとの間のデータの記憶及び転送を制御するオペレーティングシステムを示す図である。
適応型記憶制御モジュールを含み、LPDDとHPDDとの間のデータの記憶及び転送を制御するホスト制御モジュールを示す図である。
図8A−図8Cの適応型記憶制御モジュールにより行われるステップを示す図である。
プログラム又はファイルが低電力モード時に使用される可能性を決定する1つの方法を説明する例示的な表である。
ディスクドライブ電力低減モジュールを含むキャッシュ制御モジュールを示す図である。
ディスクドライブ電力低減モジュールを含むオペレーティングシステムを示す図である。
ディスクドライブ電力低減モジュールを含むホスト制御モジュールを示す図である。
図11A−図11Cのディスクドライブ電力低減モジュールにより行われるステップを示す図である。
高電力ディスクドライブ(HPDD)及び低電力ディスクドライブ(LPDD)を含むマルチディスクドライブシステムを示す図である。
図13のマルチディスクドライブシステムの他の例示的な実施形態を示す図である。
フラッシュメモリ又は低電力ディスクドライブ(LPDD)といった低電力不揮発性メモリを使用してコンピュータの仮想メモリを増加する様子を示す図である。
図18の仮想メモリを割当て且つ用いるためにオペレーティングシステムにより行われるステップを示す図である。
従来技術による独立したディスクによる冗長なアレイ(RAID)システムを示す機能ブロック図である。
X個のHPDDを含むディスクアレイとY個のLPDDを含むディスクアレイを有する、本発明による例示的なRAIDシステムを示す機能ブロック図である。
X=Y=Zである図22AのRAIDシステムを示す機能ブロック図である。
X個のHPDDを含むディスクアレイと通信するY個のLPDDを含むディスクアレイを有する、本発明による別の例示的なRAIDシステムを示す機能ブロック図である。
X=Y=Zである図23AのRAIDシステムを示す機能ブロック図である。
Y個のLPDDを含むディスクアレイと通信するX個のHPDDを含むディスクアレイを有する、本発明による更に別の例示的なRAIDシステムを示す機能ブロック図である。
X=Y=Zである図24AのRAIDシステムを示す機能ブロック図である。
従来技術によるネットワーク接続ストレージ(NAS)システムを示す機能ブロック図である。
図22A、図22B、図23A、図23B、図24A、及び/又は図24BのRAIDシステム、及び/又は、図6−図17によるマルチドライブシステムを含む、本発明によるネットワーク接続ストレージ(NAS)システムを示す機能ブロック図である。
フラッシュメモリ及びディスクドライブインターフェイスコントローラが組み込まれたディスクドライブコントローラを示す機能ブロック図である。
図27のインターフェイスコントローラを示す機能ブロック図である。
フラッシュインターフェイスを有するマルチディスクドライブシステムを示す機能ブロック図である。
図30のマルチディスクドライブにより行われるステップを説明するフローチャートである。
以下の好適な実施形態の説明は、本質的に例示に過ぎず、本発明をその用途又は使用において限定することを意図するものではない。明確にすることを目的として、図中、同じ参照番号を用いて同様の要素を示すものとする。本願にて用いるように、「モジュール」及び/又は「デバイス」という用語は、特殊用途向け集積回路(ASIC)、電子回路、1以上のソフトウェア又はファームウェアプログラムを実行するプロセッサ(共有、専用、又はグループ)及びメモリ、組合わせ論理回路、及び/又は説明するような機能を供給する他の好適なコンポーネントを指す。
また、本願で用いるように、「高電力モード」とは、ホストプロセッサ及び/又はホストデバイスの一次グラフィクスプロセッサのアクティブ動作を指す。「低電力モード」とは、二次プロセッサ及び二次グラフィクスプロセッサが動作可能である場合の一次プロセッサ及び/又は一次グラフィクスプロセッサの低電力のハイバネーションモード、オフモード、及び/又は非応答モードを指す。「オフモード」とは、一次プロセッサと二次プロセッサの両方がオフである状態を指す。
「低電力ディスクドライブ」、即ち、LPDDは、1.8インチ以下の直径を有する1以上のプラッタを有するディスクドライブ及び/又はマイクロドライブを指す。「高電力ディスクドライブ」、即ち、HPDDは、1.8インチより大きい直径を有する1以上のプラッタを有するハードディスクドライブを指す。LPDDは、一般に、HPDDより記憶容量が小さく、消費電力が少ない。LPDDは更に、HPDDより高速で回転される。例えば、LPDDでは、10,000−20,000RPM以上の回転速度が実現できる。
不揮発性メモリインターフェイス(IF)を有するHDDは、ホストの標準半導体メモリインターフェイスを介してホストデバイスに接続可能であるハードディスクドライブを指す。例えば、半導体メモリインターフェイスは、フラッシュインターフェイスでありうる。
不揮発性メモリIFを有するHDDは、不揮発性メモリインターフェイスプロトコルを用いて不揮発性メモリインターフェイスを介してホストと通信する。ホストにより用いられる不揮発性メモリインターフェイスと、不揮発性メモリインターフェイスを有するHDDは、フラッシュインターフェイスを有するフラッシュメモリ、NANDフラッシュインターフェイス又は任意の他のタイプの半導体メモリインターフェイスを有するNANDフラッシュを含む。不揮発性メモリIFを有するHDDは、LPDD及び/又はHPDDでありうる。不揮発性メモリIFを有するHDDについては、図27及び28を参照して以下に詳細に説明する。フラッシュIFを有するHDDの動作に関する更なる詳細は、2005年12月29日に出願した米国特許出願第11/322,447号に記載される。この出願は、その全体を本願に参照として組み込む。以下に記載する実施形態のそれぞれにおいて、LPDDは、不揮発性メモリIFを有するHDD(HPDD及び/又はLPDDとして実装される)を用いて実装されることが可能である。或いは、不揮発性メモリIFを有するHDDは、開示するLPDD及び/又はHPDDに加えて用いられるLPDD及び/又はHPDDでありうる。
本発明によるコンピュータアーキテクチャは、(図1A及び図1Bに関連して説明したように)一次プロセッサ、一次グラフィクスプロセッサ、及び一次メモリを含み、これらは、高電力モード時に動作する。二次プロセッサ及び二次グラフィクスプロセッサは、低電力モード時に動作する。二次プロセッサ及び二次グラフィクスプロセッサは、以下に説明するように、コンピュータの様々なコンポーネントに接続されうる。一次揮発性メモリは、低電力モード時に、二次プロセッサ及び二次グラフィクスプロセッサによって使用されうる。或いは、DRAMといった二次揮発性メモリ及び/又は組み込みDRAMといった組み込み二次揮発性メモリを、以下に説明するように用いてもよい。
一次プロセッサ及び一次グラフィクスプロセッサは、高電力モードで動作する場合、消費する電力は比較的多い。一次プロセッサ及び一次グラフィクスプロセッサは、比較的大量の外部メモリを必要とするフルフィーチャオペレーティングシステム(OS)を実行する。一次プロセッサ及び一次グラフィクスプロセッサは、複雑な計算及び詳細グラフィクスを含む高性能オペレーションをサポートする。フルフィーチャOSは、Windows(登録商標)XPといったWindows(登録商標)に基づいたOS、Linux(登録商標)に基づいたOS、MAC(登録商標)に基づいたOS等でありうる。フルフィーチャOSは、HPDD15及び/又は50に記憶される。
二次プロセッサ及び二次グラフィクスプロセッサは、低電力モード時に消費する電力は(一次プロセッサ及び一次グラフィクスプロセッサより)少ない。二次プロセッサ及び二次グラフィクスプロセッサは、必要となる外部の揮発性メモリは比較的少量である制限フィーチャオペレーティングシステム(OS)を動作させる。二次プロセッサ及び二次グラフィクスプロセッサは、一次プロセッサと同じOSを使用してもよい。例えば、フルフィーチャOSの縮小版を使用してもよい。二次プロセッサ及び二次グラフィクスプロセッサは、低性能オペレーション、低速計算、及びあまり詳細ではないグラフィクスをサポートする。例えば、制限フィーチャOSは、Windows(登録商標)CE)又は任意の他の好適な制限フィーチャOSでありうる。制限フィーチャOSは、フラッシュメモリといった不揮発性メモリ、不揮発性メモリIFを有するHDD、HPDD、及び/又はLPDD内に記憶されることが好適である。好適な実施形態では、フルフィーチャOS及び制限フィーチャOSは共通のデータ形式を共有して複雑さが減少される。
一次プロセッサ及び/又は一次グラフィクスプロセッサは、比較的小さい形状を伴う製作プロセスを用いて実装されるトランジスタを含むことが好適である。一実施形態では、これらのトランジスタは、高度COMS製作プロセスを用いて実装される。一次プロセッサ及び/又は一次グラフィクスプロセッサに実装されるトランジスタは、比較的高いスタンドバイリークを有し、チャネルが比較的短く、また、高速処理に適したサイズにされる。一次プロセッサ及び一次グラフィクスプロセッサは、主に動的論理を採用することが好適である。つまり、一次プロセッサ及び一次グラフィクスプロセッサは、シャットダウンすることができない。トランジスタは、約20%未満、好適には約10%未満のデューティサイクルで切り替えられるが、他のデューティサイクルを用いてもよい。
対照的に、二次プロセッサ及び/又は二次グラフィクスプロセッサは、一次プロセッサ及び/又は一次グラフィクスプロセッサに用いられるプロセスより大きい形状を伴う製作プロセスを用いて実装されるトランジスタを含むことが好適である。一実施形態では、これらのトランジスタは、標準のCOMS製作プロセスを用いて実装される。二次プロセッサ及び/又は二次グラフィクスプロセッサに実装されるトランジスタは、比較的低いスタンバイリークを有し、チャネルが比較的長く、また、低電力消費に適したサイズにされる。二次プロセッサ及び二次グラフィクスプロセッサは、動的論理ではなく主に静的論理を採用することが好適である。トランジスタは、80%より大きい、好適には、90%より大きいデューティサイクルで切り替えられるが、他のデューティサイクルを用いてもよい。
一次プロセッサ及び一次グラフィクスプロセッサは、高電力モードで動作する場合、消費する電力は比較的多い。二次プロセッサ及び二次グラフィクスプロセッサは、低電力モード時に消費する電力は少ない。しかし、低電力モードでは、コンピュータアーキテクチャは、高電力モードで動作する場合よりもサポートできる機能及び計算は少なく、あまり複雑ではないグラフィクスしか扱えない。当業者であれば理解できるように、本発明のコンピュータアーキテクチャを実施する方法は多くある。従って、当業者は、図2A−図4Cに関連して説明するアーキテクチャは、本質的に例示に過ぎず限定ではないことは理解できよう。
図2Aを参照するに、第1の例示的なコンピュータアーキテクチャ60を示す。一次プロセッサ6、揮発性メモリ9、及び一次グラフィクスプロセッサ11は、インターフェイス8と通信し、高電力モード時に複雑なデータ及びグラフィクスの処理をサポートする。二次プロセッサ62及び二次グラフィクスプロセッサ64は、インターフェイス8と通信し、低電力モード時にあまり複雑ではないデータ及びグラフィクスの処理をサポートする。LPDD66といったオプションの不揮発性メモリ65、及び/又は、フラッシュメモリ及び/又は不揮発性メモリIFを有するHDD69は、インターフェイス8と通信し、低電力及び/又は高電力モード時にデータの低電力不揮発性記憶を提供する。不揮発性メモリIFを有するHDDは、LPDD及び/又はHPDDでありうる。HPDD15は、高電力/容量の不揮発性メモリを提供する。不揮発性メモリ65及び/又はHPDD15を用いて、低電力モード時に、制限フィーチャOS及び/又は他のデータ及びファイルを記憶する。
本実施形態では、二次プロセッサ62及び二次グラフィクスプロセッサ64は、低電力モードで動作する際に、揮発性メモリ9(即ち、一次メモリ)を使用する。このために、インターフェイス8の少なくとも一部は、低電力モード時に電力が供給されて、一次メモリとの通信、及び/又は、低電力モード時に電力が供給されるコンポーネント間の通信をサポートする。例えば、キーボード13、ポインティングデバイス14、及び一次ディスプレイ16は、低電力モード時に、電力が供給されて用いられうる。図2A−図4Cに関連して説明する全ての実施形態において、制限された機能(例えば、モノクロ表示)を有する二次ディスプレイ、及び/又は、二次入出力デバイスを、低電力モード時に提供し用いることもできる。
図2Bを参照するに、図2Aにおけるアーキテクチャに類似する第2の例示的なコンピュータアーキテクチャ70を示す。この実施形態では、二次プロセッサ62及び二次グラフィクスプロセッサ64は、二次揮発性メモリ74及び/又は76と通信する。二次揮発性メモリ74及び76は、DRAMであっても他の好適なメモリであってよい。低電力モード時、二次プロセッサ62及び二次グラフィクスプロセッサ64は、それぞれ、図2Aに図示して説明した一次揮発性メモリ9に加えて及び/又は一次揮発性メモリ9の代わりに二次揮発性メモリ74及び/又は76を使用する。
図2Cを参照するに、図2Aに類似する第3の例示的なコンピュータアーキテクチャ80を示す。二次プロセッサ62及び/又は二次グラフィクスプロセッサ64は、それぞれ、組み込み揮発性メモリ84及び86を含む。低電力モード時、二次プロセッサ62及び二次グラフィクスプロセッサ64は、それぞれ、一次揮発性メモリに加えて又は一次揮発性メモリの代わりに、組み込み揮発性メモリ84及び/又は86を使用する。一実施形態では、組み込み揮発性メモリ84及び86は、組み込みDRAM(eDRAM)であるが、他のタイプの組み込み揮発性メモリを用いてもよい。
図3Aを参照するに、本発明による第4の例示的なコンピュータアーキテクチャ100を示す。一次プロセッサ25、一次グラフィクスプロセッサ26、及び一次揮発性メモリ28は、処理チップセット22と通信し、高電力モード時に、複雑なデータ及びグラフィクスの処理をサポートする。二次プロセッサ104及び二次グラフィクスプロセッサ108は、コンピュータ低電力モードにある場合、あまり複雑ではないデータ及びグラフィクスの処理をサポートする。本実施形態では、二次プロセッサ104及び二次グラフィクスプロセッサ108は、低電力モードで動作するときに、一次揮発性メモリ28を使用する。このために、処理チップセット22は、低電力モード時は、完全に及び/又は部分的に電力が供給され、それにより、それらの間の通信を容易にする。HPDD50は、低電力モード時に電力が供給されて、それにより、高電力揮発性メモリを提供する。低電力の不揮発性メモリ109(LPDD110、及び/又は、フラッシュメモリ及び/又は不揮発性メモリIF113を有するHDD)は、処理チップセット22、I/Oチップセット24に接続されるか、又は、他のロケーションにおいて低電力モード用の制限フィーチャオペレーティングシステムを記憶する。不揮発性メモリIFを有するHDDは、LPDD及び/又はHPDDでありうる。
処理チップセット22は、完全に及び/又は部分的に電力が供給されて、HPDD50、LPDD110、及び/又は低電力モード時に使用される他のコンポーネントのオペレーションをサポートしうる。例えば、キーボード及び/又はポインティングデバイス42及び一次ディスプレイを低電力モード時に用いうる。
図3Bを参照するに、図3Aに類似する第5の例示的なコンピュータアーキテクチャ150を示す。二次揮発性メモリ154及び158が、それぞれ、二次プロセッサ104及び/又は二次グラフィクスプロセッサ108に接続される。低電力モード時、二次プロセッサ104及び二次グラフィクスプロセッサ108は、それぞれ、一次揮発性メモリ28の代わりに及び/又は一次揮発性メモリ28に加えて、二次揮発性メモリ154及び158を使用する。処理チップセット22及び一次揮発性メモリ28は、必要に応じて、低電力モード時にシャットダウンされることが可能である。二次揮発性メモリ154及び158は、DRAMであっても他の好適なメモリであってもよい。
図3Cを参照するに、図3Aに類似する第6の例示的なコンピュータアーキテクチャ170を示す。二次プロセッサ104及び/又は二次グラフィクスプロセッサ108は、それぞれ、組み込みメモリ174及び176を含む。低電力モード時、二次プロセッサ104及び二次グラフィクスプロセッサ108は、それぞれ、一次揮発性メモリ28の代わりに及び/又は一次揮発性メモリ28に加えて、組み込みメモリ174及び176を使用する。一実施形態では、組み込み揮発性メモリ174及び176は、組み込みDRAM(eDRAM)であるが、他のタイプの組み込みメモリを用いてもよい。
図4Aを参照するに、本発明による第7の例示的なコンピュータアーキテクチャ190を示す。二次プロセッサ104及び二次グラフィクスプロセッサ108は、I/Oチップセット24と通信し、低電力モード時に、一次揮発性メモリ28を揮発性メモリとして使用する。処理チップセット22は、低電力モード時の一次揮発性メモリ28へのアクセスを可能にするよう完全に及び/又は部分的に電力が供給される。
図4Bを参照するに、図4Aに類似する第8の例示的なコンピュータアーキテクチャ200を示す。二次揮発性メモリ154及び158は、それぞれ、二次プロセッサ104及び二次グラフィクスプロセッサ108に接続され、低電力モード時に一次揮発性メモリ28の代わりに及び/又は一次揮発性メモリ28に加えて用いられる。処理チップセット22及び一次揮発性メモリ28は、低電力モード時にシャットダウンされてもよい。
図4Cを参照するに、図4Aに類似する第9の例示なコンピュータアーキテクチャ210を示す。組み込み揮発性メモリ174及び176が、一次揮発性メモリ28に加えて及び/又は一次揮発性メモリ28の代わりにそれぞれ二次プロセッサ104及び/又は二次グラフィクスプロセッサ108に対して設けられる。本実施形態では、処理チップセット22及び一次揮発性メモリ28は、低電力モード時にシャットダウンされてもよい。
図5を参照するに、図2A−図4Cに示すコンピュータアーキテクチャのキャッシュ階層250を示す。HP不揮発性メモリHPDD50は、キャッシュ階層250の最も低いレベル254に置かれる。レベル254は、HPDD50が無効にされる場合、低電力モード時に用いられても用いられなくてもよく、HPDD50が有効にされる場合、低電力モード時に用いられる。LPDD110、フラッシュメモリ、及び/又は、不揮発性メモリIFを有するHDD113といったLP不揮発性メモリは、キャッシュ階層250の次のレベル258に置かれる。一次揮発性メモリ、二次揮発性メモリ、及び/又は、二次組み込みメモリといった外部の揮発性メモリは、構成設定に依存して、キャッシュ階層250の次のレベル262である。レベル2、即ち、二次キャッシュは、キャッシュ階層250の次のレベル266を含む。レベル1キャッシュは、キャッシュ階層250の次のレベル268である。CPU(一次及び/又は二次)は、キャッシュ階層の最後のレベル270である。一次及び二次グラフィクスプロセッサは同様の階層を使用する。
本発明によるコンピュータアーキテクチャは、あまり複雑ではない処理及びグラフィクスをサポートする低電力モードを提供する。その結果、コンピュータの電力消費量を大幅に削減することができる。ラップトップ用途では、電池の寿命が長くなる。
図6を参照するに、マルチディスクドライブシステム用のドライブ制御モジュール300又はホスト制御モジュールは、最少使用頻度ブロック(LUB)モジュール304、適応型記憶モジュール306、及び/又は、LPDDメンテナンスモジュール308を含む。ドライブ制御モジュール300は、LUB情報に部分的に基づいて、ハードディスクドライブといった高電力ディスクドライブ(HPDD)310とマイクロドライブといった低電力ディスクドライブ(LPDD)312との間の記憶及びデータ転送を制御する。ドライブ制御モジュール300は、高及び低電力モード時のHPDDとLPDD間のデータ記憶及び転送を管理することにより電力消費量を減少する。図6から分かるように、不揮発性メモリIFを有するHDD317は、LPDDとして、及び/又は、LPDDに追加して用いられうる。ドライブ制御モジュール300は、ホスト不揮発性メモリIF315及びホスト313を介して不揮発性メモリIFを有するHDD317と通信する。ドライブ制御モジュール300は、ホスト313及び/又はホスト不揮発性メモリIF315と一体にされてもよい。
最少使用頻度ブロックモジュール304は、LPDD312における使用頻度が最も低いデータブロックを追跡する。低電力モード時、最少使用頻度ブロックモジュール304は、LPDD312における使用頻度の最も少ないデータブロック(例えば、ファイル及び/又はプログラム)を特定し、それにより必要に応じて、それを交換可能にする。制限フィーチャオペレーティングシステムのみに関連するファイル、LPDD312内に記憶されるよう手動で設定されるブロック、及び/又は、低電力モード時にのみ動作される他のファイル及びプログラムといった特定のデータブロック又はファイルは、最少使用頻度ブロックのモニタリングから外されてもよい。更に他の基準を用いて、以下に説明するように、上書きされるデータブロックを選択してもよい。
データ記憶要求時の低電力モード時に、適応型記憶モジュール306は、書込みデータが、使用頻度の最も少ないブロックの前に使用される可能性があるか否かを決定する。適応型記憶モジュール306は更に、データ取出し要求時の低電力モード時に、読出しデータが一度しか使用されない可能性があるか否かを決定する。LPDDメンテナンスモジュール308は、以下に説明するように、高電力モード時及び/又は他の状態において、LPDDからHPDDへ古いデータを転送する。
図7Aを参照するに、ドライブ制御モジュール300により行われるステップを示す。制御は、ステップ320にて開始する。ステップ324において、ドライブ制御モジュール300は、データ記憶要求があるか否かを判断する。ステップ324においてデータ記憶要求があると判断される場合、ドライブ制御モジュール300は、ステップ328において、LPDD312に十分なスペースが利用可能であるか否かを判断する。十分なスペースがないと判断される場合、ドライブ制御モジュール300は、ステップ330において、HPDD310に電力を供給する。ステップ334において、ドライブ制御モジュール300は、使用頻度の最も少ないデータブロックをHPDD310に転送する。ステップ336において、ドライブ制御モジュール300は、LPDD312に十分なスペースが利用可能であるか否かを判断する。十分なスペースがないと判断される場合、ステップ334に戻る。十分なスペースがある場合、ドライブ制御モジュール300は、ステップ340に進み、HPDD310をオフにする。ステップ344において、(例えば、ホストからの)記憶されるべきデータは、LPDD312に転送される。
ステップ324においてデータ記憶要求がないと判断される場合、ドライブ制御モジュール300は、ステップ350に進み、データ取出し要求があるか否かを判断する。データ取出し要求がないと判断される場合、ステップ324に戻る。データ取出し要求があると判断される場合、ステップ354に進み、データがLPDD312内にあるか否かを判断する。ステップ354においてデータがLPDD312内にあると判断される場合、ステップ356において、ドライブ制御モジュール300はLPDD312からデータを取出して、ステップ324に進む。データがLPDD312内にないと判断される場合、ドライブ制御モジュール300は、ステップ360において、HPDD310に電力を供給する。ステップ364において、ドライブ制御モジュール300は、要求されたデータに対して、LPDD312内に十分なスペースが利用可能であるか否かを判断する。十分なスペースがないと判断される場合、ドライブ制御モジュール300は、ステップ366において、使用頻度が最も少ないデータブロックをHPDD310に転送し、ステップ364に進む。ステップ364において十分なスペースがあると判断される場合、ドライブ制御モジュール300は、ステップ368において、データをLPDD312に転送し、LPDD312からデータを取り出す。ステップ370において、LPDD312へのデータ転送が完了するとHPDD310はオフにされる。
図7Bを参照するに、図7Aの方法と類似する変形の方法を示し、この方法には、適応型記憶モジュール306により行われる1以上の適応ステップが含まれる。ステップ328においてLPDDに十分なスペースがあると判断される場合、ステップ372において、記憶されるデータは、最少使用頻度ブロックモジュールによって特定された一の又は複数の使用頻度が最も少ないブロックにおけるデータの前に使用される可能性があるか否かを判断する。ステップ372において、使用される可能性がないと判断される場合、ドライブ制御モジュール300は、ステップ374において、HPDDにデータを記憶し、ステップ324に進む。このようにすることにより、使用頻度が最も少ないブロックをLPDDに転送する際に消費される電力が節約される。ステップ372において、使用される可能性があると判断される場合、図7Aに関して説明したようにステップ330に進む。
データ取出し要求時に、ステップ354において、データがLPDD内にあると判断される場合、ステップ376に進み、データが一度使われる可能性があるか否かを判断する。ステップ376において、可能性があると判断される場合、ドライブ制御モジュール300は、ステップ378において、HPDDからデータを取出し、ステップ324に進む。このようにすることにより、データをLPDDに転送する際に消費する電力が節約される。ステップ376において、可能性がないと判断される場合、ステップ360に進む。当然ながら、データが一度使用される可能性がある場合、データをLPDDに移す必要はない。しかし、HPDDの電力消費は、回避することができない。
図7Cを参照するに、低電力動作時に、より単純な形式の制御も行えることを示す。メンテナンスステップも、(LPDDメンテナンスモジュール308を用いて)高電力/低電力モード時に行うことができる。ステップ328において、LPDDに十分なスペースがある場合、ステップ344において、データはLPDDに転送され、ステップ324に戻る。ステップ328において、LPDDに十分なスペースがないと判断される場合、ステップ380において、データはHPDDに記憶され、制御はステップ324に戻る。当然ながら、図7Cに示す方法では、LPDD容量が利用可能である場合に、LPDDが用いられ、LPDD容量が利用可能ではない場合に、HPDDが用いられる。当業者であれば、図7A−図7Dのステップの様々な組み合わせを用いたハイブリッド方法を用いうることは理解できよう。
図7Dでは、メンテナンスステップは、ドライブ制御モジュール300によって、高電力モードに戻った場合、及び/又は、LPDDに記憶されている未使用の又は使用頻度の少ないファイルを削除する場合に行われる。このメンテナンスステップは更に、低電力モード時に、使用時に周期的に、ディスクフルイベントといったイベント発生時に、及び/又は、他の状態において行われることが可能である。制御は、ステップ390において開始する。ステップ392において、高電力モードが使用されているか否かを判断する。高電力モードが使用されていないと判断される場合、ステップ7Dに戻る。ステップ392において、高電力モードが使用されていると判断される場合、ステップ394において、最後のモードが低電力モードであったか否かを判断する。最後のモードが低電力モードではあると判断される場合、ステップ392に戻る。ステップ394において、最後のモードが低電力モードでなかったと判断される場合、ステップ396において、LPDDからHPDDに古い又は使用頻度の低いファイルを移動させるといったメンテナンスを行う。将来において使用される可能性のあるファイルについて、例えば、図8A−図10とともに上述した及び以下に示すような基準を用いて適応的に判断してもよい。
図8A及び図8Bを参照するに、記憶制御システム400−1、400−2、及び400−3を示す。図8Aでは、記憶制御システム400−1は、適応型記憶制御モジュール414を有するキャッシュ制御モジュール410を含む。適応型記憶制御モジュール414は、ファイル及び/又はプログラムの使用を監視して、それらが低電力モード又は高電力モードで使用される可能性があるか否かを判断する。キャッシュ制御モジュール410は、1以上のデータバス416と通信し、これらのデータバスは、L1キャッシュ、L2キャッシュ、DRAMといった揮発性RAM、及び/又は、他の揮発性電子データ記憶装置といった揮発性メモリ422と通信する。バス416は更に、低電力不揮発性メモリ424(例えば、フラッシュメモリ、不揮発性メモリIFを有するHDD、及び/又は、LPDD)、及び/又は、HPDD426といった高電力不揮発性メモリ426と通信する。図8Bには、適応型記憶制御モジュール414を含むフルフィーチャ及び/又は制限フィーチャオペレーティングシステム430を示す。好適なインターフェイス及び/又はコントローラ(図示せず)が、データバスと、HPDD及び/又はLPDDとの間に置かれる。
図8Cでは、ホスト制御モジュール440が、適応型記憶制御モジュール414を含む。ホスト制御モジュール440は、LPDD426´とハードディスクドライブ426´と通信する。ホスト制御モジュール440は、ドライブ制御モジュール、集積デバイスエレクトロニクス(IDE)、ATA、シリアルATA(SATA)、又は他のコントローラであってよい。図8Cから分かるように、不揮発性メモリIFを有するHDD431を、LPDDとして、及び/又は、LPDDに追加して用いてもよい。ホスト制御モジュール440は、不揮発性メモリIFを有するHDD431と、ホスト不揮発性メモリIF429を介して通信する。ホスト制御モジュール440は、ホスト不揮発性メモリIF429と一体にされてもよい。
図9を参照するに、図8A−図8Cに示す記憶制御システムにより行われるステップを示す。図9では、制御はステップ460において開始する。ステップ462において、不揮発性メモリへのデータ記憶の要求があるか否かが判断される。要求がない場合、ステップ462に戻る。要求がある場合、適応型記憶制御モジュール414は、ステップ464において、データが低電力モードで使用される可能性があるか否かを判断する。ステップ464において可能性がないと判断される場合、ステップ468において、データはHPDDに記憶される。ステップ464において可能性があると判断される場合、ステップ474において、データは不揮発性メモリ444に記憶される。
図10を参照するに、データブロックが低電力モードで使用される可能性があるか否かを判断する1つの方法を示す。表490は、データブロック記述子フィールド492、低電力カウンタフィールド493、高電力カウンタフィールド494、サイズフィールド495、最近の使用フィールド496、及び/又は、手動オーバライドフィールド497を含む。特定のプログラム又はファイルが、低電力又は高電力モード時に使用される場合、カウンタフィールド493及び/又は494がインクリメントされる。プログラム又はファイルの不揮発性メモリへのデータ記憶が要求される場合、表492がアクセスされる。閾値パーセント及び/又はカウント値を用いて評価をしてよい。例えば、ファイル又はプログラムが、低電力モードで80%以上の時間の間使用される場合、ファイルは、フラッシュメモリ、不揮発性メモリIFを有するHDD、及び/又は、マイクロドライブといった低電力不揮発性メモリに記憶されうる。閾値が満たされない場合、ファイル又はプログラムは、高電力不揮発性メモリに記憶される。
当然ながら、カウンタは、所定のサンプル数後に(即ち、ローリングウィンドウを設ける)、及び/又は、任意の他の基準を用いて、周期的にリセットできる。更に、可能性(likelihood)は、サイズフィールド495によって、重み付けされても、変更されても、及び/又は、置換されてもよい。即ち、ファイルサイズが大きくなるにつれ、必要な閾値は増加されうる。これは、LPDDの容量は有限であることによる。
使用判断の可能性の更なる変更は、最近の使用フィールド496により記録されるファイルが最後に使用された時からの時間に基づいて行われてもよい。閾値の日付及び/又は最後に使用された時からの時間を、可能性判断における1つのファクタとして用いてもよい。図10には表を示すが、用いられる1以上のフィールドは、他のロケーション及び/又は他のデータ構造で記憶されてもよい。2以上のフィールドのアルゴリズム及び/又は重み付けされたサンプリングを用いてもよい。
手動オーバライドフィールド497を用いることによって、ユーザ及び/又はオペレーティングシステムが、使用判断の可能性を手動で無効にすることができる。例えば、手動オーバライドフィールドは、LPDDにおけるデフォルト記憶にLステータス、HPDDにおけるデフォルト記憶にHステータス、及び/又は、自動記憶決定(上述したような)にAステータスを可能にしうる。他の手動によるオーバライド分類を定義してもよい。上述した基準に加えて、LPDDを動作させているコンピュータの現在の電力レベルを用いて、判断を調整してもよい。当業者であれば、本発明の教示の内容の範囲内である、ファイル又はプログラムが高電力又は低電力モードで使用される可能性を判断する他の方法があることは理解できよう。
図11A及び図11Bを参照するに、ドライブ電力低減システム500−1、500−2、及び500−3(総称して500)を示す。ドライブ電力低減システム500は、次に限定しないが、オーディオ及び/又はビデオファイルといった大きいシーケンシャルアクセスファイルのセグメントを、周期的に又は他のベースで、低電力不揮発性メモリにバーストする。図11Aでは、ドライブ電力低減システム500−1は、ドライブ電力低減制御モジュール522を有するキャッシュ制御モジュール520を含む。キャッシュ制御モジュール520は、1以上のデータバス526と通信し、データバスは、L1キャッシュ、L2キャッシュ、DRAMといった揮発性RAM、及び/又は、他の揮発性電子データ記憶装置といった揮発性メモリ530や、フラッシュメモリ、不揮発性メモリIFを有するHDD、及び/又はLPDDといった不揮発性メモリ534や、及び/又は、HPDD538と通信する。図11Bでは、ドライブ電力低減システム500−2は、ドライブ電力低減制御モジュール522を有するフルフィーチャ及び/又は制限フィーチャオペレーティングシステム542を含む。好適なインターフェイス及び/又はコントローラ(図示せず)が、データバスと、HPDD及び/又はLPDDとの間に配置される。
図11Cでは、ドライブ電力低減システム500−3は、適応型記憶制御モジュール522を有するホスト制御モジュール560を含む。ホスト制御モジュール560は、1以上のデータバス564と通信し、これらのデータバスは、LPDD534´及びハードディスクドライブ538´と通信する。ホスト制御モジュール560は、ドライブ制御モジュール、集積デバイスエレクトロニクス(IDE)、ATA、シリアルATA(SATA)、及び/又は他のコントローラ又はインターフェイスであってよい。図11Cに示すように、不揮発性メモリIFを有するHDD531は、LPDDとして、及び/又は、LPDDに追加して用いてもよい。ホスト制御モジュール560は、不揮発性メモリIFを有するHDD531と、ホスト不揮発性メモリIF529を介して通信する。ホスト制御モジュール560は、ホスト不揮発性メモリIF529と一体にされてもよい。
図12を参照するに、図11A−図11Cに示すドライブ電力低減システム500により行われるステップを示す。制御は、ステップ582において開始する。ステップ584において、システムが低電力モードにあるか否かが判断される。低電力モードにないと判断される場合、ステップ584に戻る。ステップ586が真である場合、ステップ586に進み、大きいデータブロックアクセスが一般的にHPDDから要求されているか否かを判断する。要求されていないと判断される場合、ステップ584に戻る。ステップ586が真である場合、ステップ590に進み、データブロックがシーケンシャルにアクセスされたか否かが判断される。アクセスされていないと判断される場合、ステップ584に戻る。ステップ590において、アクセスされていると判断される場合、ステップ594に進み、再生長(playback length)が決定される。ステップ598において、高電力不揮発性メモリから低電力不揮発性メモリへのデータ転送のバースト期間及び頻度が決定される。
一実施形態では、バースト期間及び頻度は、電力消費を低減するよう最適化される。バースト期間及び頻度は、HPDD及び/又はLPDDのスピンアップ時間、不揮発性メモリの容量、再生速度、HPDD及び/又はLPDDのスピンアップ及びステディ状態の電力消費量、及び/又は、シーケンシャルデータブロックの再生長に基づくことが好適である。
例えば、高電力不揮発性メモリは、動作時に1−2Wを消費し、4−10秒のスピンアップ時間と一般的に20Gbより大きい容量を有するHPDDである。低電力不揮発性メモリは、動作時に0.3−0.5Wを消費し、1−3秒のスピンアップ時間と1−6Gbの容量を有するマイクロドライブである。当然ながら、上述した性能値及び/又は容量は、他の実施形態では異なる。HPDDは、マイクロドライブに対して1Gb/秒のデータ転送速度を有しうる。再生速度は、10Mb/秒(例えば、ビデオファイルについて)でありうる。当然ながら、HPDDのバースト期間と転送速度を乗じたものは、マイクロドライブの能力を超えるべきではない。バースト間の期間は、スピンアップ時間にバースト期間を足したものより大きいべきである。これらのパラメータにおいて、システムの電力消費は、最適化されることが可能である。低電力モードでは、HPDDが、映画といったビデオ全体を再生するよう動作される場合、相当量の電力が消費される。上述した方法を用いて、データを、非常に高速(例えば、再生速度の100倍)で固定の間隔で複数のバーストセグメントでHPDDからLPDDに選択的に転送し、その後、HPDDはシャットダウンできることにより、電力消費量を大幅に削減することができる。50%より大きい省電力を容易に実現することができる。
図13を参照するに、ドライブ制御モジュール650、1以上のHPDD644、及び1以上のLPDD648を含む本発明によるマルチディスクドライブシステム640を示す。ドライブ制御モジュール650は、ホスト制御モジュール651を介してホストデバイスと通信する。ホストに対して、マルチディスクドライブシステム640は、以下に説明するように、HPDD644及びLPDD648を一体のディスクドライブとして効果的に操作して、複雑さを減少し、性能を向上させ、電力消費量を減少する。ホスト制御モジュール651は、IDE、ATA、SATA、及び/又は他の制御モジュール又はインターフェイスであってよい。
図14を参照するに、一実施形態では、ドライブ制御モジュール650は、LPDD及び/又はHPDDの一方又は両方を制御するために用いられるハードディスクコントローラ(HDC)653を含む。バッファ656は、HPDD及び/又はLPDDの制御に関連するデータを記憶する、及び/又は、HPDD及び/又はLPDDへの/からのデータを積極的にバッファリングして、データブロックサイズを最適化することによりデータ転送速度を増加する。プロセッサ657は、HPDD及び/又はLPDDの動作に関連する処理を行う。
HPDD648は、磁界を格納する磁気被覆物を有する1以上のプラッタ652を含む。プラッタ652は、654と概略的に示すスピンドルモータによって回転される。一般的に、スピンドルモータ654は、プラッタ652を、読出し/書込みオペレーション時に一定の速度で回転させる。1以上の読出し/書込みアーム658は、プラッタ652に対して動き、プラッタ652へ/からデータを読出し/書込みする。HPDD648は、LPDDより大きいプラッタを有するので、スピンドルモータ654がHPDDをスピンアップさせHPDDをある速度に維持するためには多くの電力が必要となる。通常、スピンアップ時間は、HPDDの方が高い。
読出し/書込みデバイス659は、読出し/書込みアーム658の遠位端付近に配置される。読出し/書込みデバイス659は、磁界を発生させるインダクタといった書込み素子を含む。読出し/書込みデバイス659は更に、プラッタ652上の磁界を感知する読出し素子(例えば、磁気抵抗(MR)素子)を含む。前置増幅器回路660が、アナログの読出し/書込み信号を増幅する。
データの読出し時には、前置増幅器回路660は、読出し素子からの低レベル信号を増幅し、増幅信号を読出し/書込みチャネルデバイスに出力する。データの書込み時には、読出し/書込みデバイス659の書込み素子を流れる書込み電流が生成され、正又は負の極性を有する磁界を発生させるべく切り替えられる。正又は負の極性は、プラッタ652によって格納され、データを提示するために用いられる。LPDD644も、1以上のプラッタ662、スピンドルモータ664、1以上の読出し/書込みアーム668、読出し/書込みデバイス669、及び前置増幅器回路670を含む。
HDC653は、ホスト制御モジュール651と、第1のスピンドル/ボイスコイルモータ(VCM)ドライバ672、第1の読出し/書込みチャネル回路674、第2のスピンドル/VCMドライバ676、及び第2の読出し/書込みチャネル回路678と通信する。ホスト制御モジュール651及びドライブ制御モジュール650は、システム・オン・チップ(SOC)684により実装されることが可能である。当然ながら、スピンドルVCMドライバ672及び676、及び/又は、読出し/書込みチャネル回路674及び678は、組み合わされてもよい。スピンドル/VCMドライバ672及び676は、スピンドルモータ654及び664を制御し、これらは、プラッタ652及び662をそれぞれ回転させる。スピンドル/VCMドライバ672及び676は更に、それぞれ、例えば、ボイスコイルアクチュエータ、ステッパモータ、又は任意の他の好適なアクチュエータを用いて、読出し/書込みアーム658及び668を位置付ける制御信号を生成しうる。
図15−図17を参照するに、マルチディスクドライブシステムの他の変形を示す。図15では、ドライブ制御モジュール650は、1以上のLPDD682への外部接続を与えるダイレクトインターフェイス680を含みうる。一実施形態では、ダイレクトインターフェイスは、周辺コンポーネント相互接続(PCI)バス、PCI Express(PCIX)バス、及び/又は任意の他の好適なバス又はインターフェイスである。
図16では、ホスト制御モジュール651は、LPDD644及びHPDD648の両方と通信する。低電力ドライブ制御モジュール650LP及び高電力ディスクドライブ制御モジュール650HPは、ホスト制御モジュールと直接通信する。LP及び/又はHPドライブ制御モジュールの一方又は両方がSOCとして実装されてもよいし、いずれもSOCとして実装されなくてもよい。図16から分かるように、不揮発性メモリIFを有するHDD695は、LPDDとして、及び/又は、LPDDに追加して用いられてもよい。ホスト制御モジュール651は、不揮発性メモリIFを有するHDD695と、ホスト不揮発性メモリIF693を介して通信する。ホスト制御モジュール651は、ホスト不揮発性メモリIF693と一体にされてもよい。
図17では、ダイレクトインターフェイス680との通信をサポートするインターフェイス690を有する1つの例示的なLPDD682を示す。上述したように、インターフェイス680及び690は、周囲コンポーネント相互接続(PCI)バス、PCI Express(PCIX)バス、及び/又は、任意の他の好適なバス又はインターフェイスであってよい。LPDD682は、HDC692、バッファ694、及び/又はプロセッサ696を含む。LPDD682は更に、上述したように、スピンドル/VCMドライバ676、読出し/書込みチャネル回路678、プラッタ662、スピンドルモータ665、読出し/書込みアーム668、読出し素子669、及び前置増幅器670を含む。或いは、HDC653、バッファ656、及びプロセッサ658は組み合わされて、両方のドライブに用いられてもよい。同様に、スピンドル/VCMドライバ及び読出しチャネル回路も任意選択的に組み合わされてもよい。図13−図17に示す実施形態では、LPDDの積極的なバッファリングを用いて性能が高められる。例えば、バッファを用いて、ホストデータバス上の最適速度のためにデータブロックサイズを最適化する。
従来のコンピュータシステムでは、ページングファイルは、コンピュータの揮発性メモリ内にフィットしないプログラム及び/又はデータファイルの一部を保持する、オペレーティングシステムによって用いられるHPDD又はHP不揮発性メモリ上の隠れファイルである。ページングファイル及び物理メモリ、又は、RAMは、コンピュータの仮想メモリを定義する。オペレーティングシステムは、必要に応じて、ページングファイルからメモリにデータを転送し、また、揮発性メモリからページングファイルにデータを戻し、新しいデータ用の場所を作る。ページングファイルは、スワップファイルとも呼ばれる。
図18−図20を参照するに、本発明は、LPDD、不揮発性メモリIFを有するHDD、及び/又は、フラッシュメモリといったLP不揮発性メモリを用いて、コンピュータシステムの仮想メモリを増加する。図18では、オペレーティングシステム700は、ユーザが仮想メモリ702を定義できるようにする。動作時、オペレーティングシステム700は、1以上のバス704を介して仮想メモリ702のアドレスを選択する。仮想メモリ702は、揮発性メモリ708と、フラッシュメモリ、不揮発性メモリIFを有するHDD、及び/又は、LPDDといったLP不揮発性メモリ710の両方を含む。
図19を参照するに、オペレーティングシステムは、ユーザがLP不揮発性メモリ710の一部又は全部をページングメモリとして割り当て、仮想メモリを増加できるようにする。制御は、ステップ720において開始する。ステップ724において、オペレーティングシステムは、追加のページングメモリが要求されているか否かを判断する。要求されていないと判断される場合、ステップ724に戻る。要求されていると判断される場合、オペレーティングシステムは、ステップ728において、LP不揮発性メモリの一部をページングファイル使用に割当て、それにより、仮想メモリを増加する。
図20では、オペレーティングシステムは、追加のLP不揮発性メモリをページングメモリとして用いる。制御は、ステップ740において開始する。ステップ744において、オペレーティングシステムがデータ書込みオペレーションを要求しているか否かが判断される。要求していると判断される場合、ステップ748に進み、揮発性メモリの容量が超過されたか否かを判断する。超過していないと判断される場合、ステップ750において、揮発性メモリが書込みオペレーションに用いられる。ステップ748において、超過していると判断される場合、ステップ754において、データはLP不揮発性メモリ内のページングファイルに記憶される。ステップ744において、データ書込みオペレーションを要求していないと判断される場合、ステップ760に進み、データ読出しが要求されているか否かを判断する。要求されていないと判断される場合、ステップ744に戻る。要求さていると判断される場合、ステップ764において、アドレスがRAMアドレスに対応するか否か判断される。ステップ764において、アドレスがRAMアドレスに対応すると判断される場合、ステップ764において、揮発性メモリからデータが読み出され、ステップ744に進む。ステップ764においてアドレスがRAMアドレスに対応しないと判断される場合、ステップ770において、LP不揮発性メモリ内のページングファイルからデータが読み出され、ステップ744に進む。
当然ながら、フラッシュメモリ、不揮発性メモリIFを有するHDD、及び/又はLPDDといったLP不揮発性メモリを用いて仮想メモリのサイズを増加することは、HPDDを用いるシステムに比べてコンピュータの性能を増加させる。更に、電力消費量は、ページングファイルにHPDDを用いるシステムより低い。HPDDは、その大きいサイズによって追加のスピンアップ時間を必要とし、これは、スピンアップレイテンシを有さないフラッシュメモリ、及び/又は、短いスピンアップ時間及び低電力消費量を有するLPDD又は不揮発性メモリIFを有するLPDD HDDと比べてデータアクセス時間を増加してしまう。
図21を参照するに、ディスクアレイ808と通信する1以上のサーバ及び/又はクライアント804を含む、独立したディスクによる冗長なアレイ(RAID)システム800を示す。1以上のサーバ及び/又はクライアント804は、ディスクアレイコントローラ812及び/又はアレイ管理モジュール814を含む。ディスクアレイコントローラ812及び/又はアレイ管理モジュール814は、データを受信し、ディスクアレイ808に対してデータの論理アドレスから物理アドレスへのマッピングを行う。ディスクアレイは、一般的に複数のHPDD816を含む。
複数のHPDD816があることにより、フォルトトレランス(冗長性)及び/又は向上されたデータアクセス速度が与えられる。RAIDシステム800は、ディスクアレイ808が1つの大きいハードディスクドライブであるかのように複数の個別のHPDDをアクセスする方法を提供する。ディスクアレイ808は、集合的に、数百Gbから、数十から数百Tbのデータ記憶を提供しうる。データは、様々な方法で複数のHPDD816に記憶され、1つのドライブが故障した場合に全てのデータが失われるリスクを減少し、また、データアクセス時間を改善する。
HPDD816にデータを記憶する方法は、一般に、RAIDレベルと呼ばれる。RAIDレベル0又はディスクストライピングを含む様々なRAIDレベルがある。RAIDレベル0のシステムでは、データは、複数のドライブに亘ってブロックで書込まれ、それにより、1つのドライブがデータブロックを書込み又は読出しする際に、次のドライブが次のブロックを探すことを可能にする。ディスクストライピングの利点は、アクセス速度が速いことと、アレイ容量をフルに活用できる点である。不利点は、フォルトトレランスがないことである。1つのドライブが故障すると、アレイの全コンテンツがアクセス不可となってしまう。
RAIDレベル1、即ち、ディスクミラーリングは、各ドライブに一度ずつ書込みして書込みを2回行うことで冗長性を提供する。1つのドライブが故障しても、他方のドライブがデータの完全な複製を保持し、RAIDシステムは、ユーザアクセス可能性に遅れなくミラードライブの使用に切り替わることが可能である。必要なドライブの数(2N)は増えるので、データアクセス速度を上げることができず費用がかかることが不利点である。しかし、RAIDレベル1は、データの最良の保護を提供する。これは、1つのHPDDが故障した場合、アレイ管理ソフトウェアが単純に全てのアプリケーション要求を残ったHPDDにダイレクトすることによる。
RAIDレベル3は、誤り訂正/回復のためにパリティ専用の追加ドライブを用いて複数のドライブに亘ってデータをストライピングする。RAIDレベル5は、誤り回復のためにパリティだけではなくストライピングを提供する。RAIDレベル5では、パリティブロックは、アレイの複数のドライブに分散され、これにより、複数のドライブに亘ってよりバランスの取れたアクセス負荷が可能となる。1つのドライブが故障した場合、パリティ情報を用いてデータを回復する。書込みサイクルが比較的遅い(各ブロック書込みに2つの読出しと2つの書込みが必要である)ことが不利点である。アレイ容量はN−1であり、最低でも3つのドライブが必要である。
RAIDレベル0+1は、パリティなしでのストリッピング(stripping)及びミラーリングが関連する。利点は、データアクセスが速いこと(RAIDレベル0と同様)と、単一のドライブのフォルトトレランスがあること(RAIDレベル1と同様)である。しかし、RAIDレベル0+1は、依然として、ディスクの数の2倍(RAIDレベル1と同様)が必要である。当然ながら、アレイ808にデータを記憶するための他のRAIDレベル及び/又は方法もありうる。
図22A及び図22Bを参照するに、本発明によるRAIDシステム834−1は、X個のHPDDを含むディスクアレイ836と、Y個のLPDDを含むディスクアレイ838を含む。1以上のクライアント及び/又はサーバ840は、ディスクアレイコントローラ842及び/又はアレイ管理モジュール844を含む。別個のデバイス842及び844を示すが、これらのデバイスは、必要に応じて一体にされてもよい。当然ながら、Xは2以上であり、Yは1以上である。Xは、Yより大きくても、Yより小さくても、及び/又は、Yと同じであってもよい。例えば、図22Bは、X=Y=ZであるRAIDシステム834−1´を示す。
図23A、図23B、図24A、及び図24Bを参照するに、RAIDシステム834−2及び834−3を示す。図23Aでは、LPDDディスクアレイ838は、サーバ/クライアント840と通信し、HPDDディスクアレイ836は、LPDDディスクアレイ838と通信する。RAIDシステム834−2は、LPDDディスクアレイ838を選択的に回避する管理バイパス経路を含みうる。当然ながら、Xは2以上であり、Yは1以上である。Xは、Yより大きくても、Yより小さくても、及び/又は、Yと同じであってもよい。例えば、図23Bは、X=Y=ZであるRAIDシステム834−2´を示す。図24Aでは、HPDDディスクアレイ836は、サーバ/クライアント840と通信し、LPDDディスクアレイ838は、HPDDディスクアレイ836と通信する。RAIDシステム834−2は、LPDDディスクアレイ838を選択的に回避する、点線845により示す管理バイパス経路を含んでよい。当然ながら、Xは2以上であり、Yは1以上である。Xは、Yより大きくても、Yより小さくても、及び/又は、Yと同じであってもよい。例えば、図24Bは、X=Y=ZであるRAIDシステム834−3´を示す。用いたストラテジには、図23A−図24Bにおける書込みスルー及び/又は書き戻しが含まれうる。
アレイ管理モジュール844及び/又はディスクコントローラ842は、LPDDディスクアレイ838を用いて、HPDDディスクアレイ836の電力消費量を減少させる。一般に、図21に示す従来のRAIDシステムにおけるHPDDディスクアレイ808は、動作時、常にオンにされて、要求されたデータアクセス時間をサポートする。当然ながら、HPDDディスクアレイ808は、比較的大量の電力を消費する。更に、大量のデータがHPDDディスクアレイ808に記憶されるので、HPDDのプラッタは、一般に、可能な限り大きく、これは、高容量のスピンドルモータを必要とし、平均的に読出し/書込みアームがより遠くに動くのでデータアクセス時間を増加してしまう。
本発明では、図6−図17とともに説明した技術を、図22Bに示すRAIDシステム834に選択的に用いて、電力消費量及びデータアクセス時間を減少する。図22A及び図23A−図24Bに図示しないが、本発明の他のRAIDシステムもこの技術を用いうる。つまり、図6及び図7A−図7Dにおいて説明したLUBモジュール304、適応型記憶モジュール306、及び/又はLPDDメンテナンスモジュールを、ディスクアレイコントローラ842及び/又はアレイ管理コントローラ844によって選択的に実装して、LPDDディスクアレイ838にデータを選択的に記憶して、電力消費量及びデータアクセス時間を減少する。図8A−図8C、図9、及び図10において説明した適応型記憶制御モジュール414も、ディスクアレイコントローラ842及び/又はアレイ管理コントローラ844によって選択的に実装されて、電力消費量及びデータアクセス時間を減少してもよい。図11A−図11C及び図12において説明したドライブ電力低減モジュール522も、ディスクアレイコントローラ842及び/又はアレイ管理コントローラ844によって実装され、電力消費量及びデータアクセス時間を減少してもよい。更に、図13−図17に示すマルチドライブシステム及び/又はダイレクトインターフェイスがHPDDディスクアレイ836内の1以上のHPDDで実施されて機能性を高め、電力消費量及びアクセス時間を減少してもよい。
図25を参照するに、記憶装置854、記憶リクエスタ858、ファイルサーバ862、及び通信システム866を含む、従来技術によるネットワーク接続ストレージ(NAS)システム850を示す。記憶装置854は、一般に、ディスクドライブ、RAIDシステム、テープドライブ、テープライブラリ、光ドライブ、ジュークボックス、及び共有される任意の他の記憶装置を含む。記憶装置854は、必ずしもそうである必要はないが、オブジェクト指向型デバイスであることが好適である。記憶装置854は、リクエスタ858によるデータの記憶及び取出しのためのI/Oインターフェイスを含みうる。リクエスタ858は、一般に、記憶装置854を共有する及び/又は記憶装置854に直接アクセスするサーバ及び/又はクライアントを含む。
ファイルサーバ862は、要求認証及びリソースロケーションといった管理及びセキュリティ機能を行う。記憶装置854は、管理命令についてファイルサーバ862に依存し、リクエスタ858は、ファイルサーバ862がリクエスタの責任を担う限り、記憶管理はしない。小型のシステムでは、専用ファイルサーバが好ましくない場合がある。このような状況では、リクエスタが、NASシステム850の動作を監督する責任を担う場合がある。従って、ファイルサーバ862及びリクエスタ858はともに、管理モジュール870及び872をそれぞれ含むものとして示すが、どちらか一方及び/又は両方が設けられてもよい。通信システム866は物理的なインフラストラクチャであり、これを介して、NASシステム850のコンポーネントは通信する。このシステムは、ネットワーク及びチャネルの両方のプロパティ、ネットワークにおける全てのコンポーネントを接続する能力、チャネル内で一般的に見受けられる低レイテンシを有することが好適である。
NASシステム850に電力が供給されると、記憶装置854は、互いに、又は、ファイルサーバ862、1以上のリクエスタ858、及び/又は、通信システム866といった共通の基準点に対して識別する。通信システム866は、一般に、このために使用することのできるネットワーク管理技術を提供し、これは、通信システムに関連付けられた媒体に接続することによりアクセスすることができる。記憶装置854及びリクエスタ858は媒体にログオンする。動作設定の決定を望む任意のコンポーネントが、全ての他のコンポーネントを識別するために媒体サービスを利用することができる。ファイルサーバ862からは、リクエスタ858は、アクセスすることのできる記憶装置854の存在を知り、記憶装置854は、別の装置を検索しなければならない場合に、又は、バックアップといった管理サービスを起動されなければならない場合に、どこに行けばいいのかを知る。同様に、ファイルサーバ862は、媒体サービスから記憶装置854の存在を知ることができる。特定のインストールのセキュリティに依存して、リクエスタは、一部の機器へのアクセスが拒否される場合もある。リクエスタは、複数のアクセス可能な記憶装置から、ファイル、データベース、及び、利用可能なフリースペースを特定することができる。
同時に、各NASコンポーネントは、ファイルサーバ862に対して、各コンポーネントが知りたい任意の特別な検討事項を特定することができる。任意のデバイスレベルサービス属性を一度ファイルサーバ862に通信することができ、そこから、全ての他のコンポーネントが属性について知ることができる。例えば、リクエスタは、起動後の追加の記憶の導入について通知されることを望む場合があり、これは、リクエスタがファイルサーバ862にログオンすると属性セットによってトリガされうる。ファイルサーバ862は、このことを、新しい記憶装置が構成に追加されるたびに自動的に行うことが可能であり、例えば、RAID5であること、ミラーリングされたこと等を示す重要な特徴を伝えることが含まれる。
リクエスタがファイルを開かなくてはならない場合、記憶装置854に直接行くことが可能である場合も、又は、許可及びロケーション情報のためにファイルサーバに行かなくてはならない場合もある。ファイルサーバ854が記憶装置へのアクセスを制御する度合いは、インストールのセキュリティ要件に応じる。
図26を参照するに、記憶装置904、リクエスタ908、ファイルサーバ912、及び通信システム916を含む、本発明によるネットワーク接続ストレージ(NAS)システム900を示す。記憶装置904は、図6−図19で説明したRAIDシステム834及び/又はマルチディスクドライブシステム930を含む。記憶装置904は更に、一般に、ディスクドライブ、RAIDシステム、テープドライバ、テープライブラリ、光ドライブ、ジュークボックス、及び/又は、上述したように共有される任意の他の記憶装置を含みうる。当然ながら、改良されたRAIDシステム及び/又はマルチディスクドライブシステム930を用いることで、NASシステム900の電力消費量及びデータアクセス時間は減少される。
図27を参照するに、不揮発性メモリ及びディスクドライブインターフェイスコントローラを組み込んだディスクドライブコントローラを示す。即ち、図27のHDDは、不揮発性メモリインターフェイスを有する(ここでは、不揮発性メモリインターフェイス(IF)を有するHDDと呼ぶ)。図27の装置は、HDDを、ホストデバイスの既存不揮発性メモリインターフェイス(IF)に接続して追加の不揮発性記憶装置を提供することを可能にする。
ディスクドライブコントローラ1100は、ホスト1102及びディスクドライブ1104と通信する。不揮発性メモリIFを有するHDDは、ディスクドライブコントローラ1100とディスクドライブ1104を含む。ディスクドライブ1104は、一般に、ATA、ATA−CE、又はIDEタイプのインターフェイスを有する。ディスクドライブコントローラ1100には、補助不揮発性メモリ1106が結合され、この補助不揮発性メモリは、ディスクドライブコントローラ用のファームウェアコードを記憶する。この場合、ホスト1102(ここでは、単一のブロックとして図示するが)は、一般に、市販される不揮発性メモリデバイスを接続するための業界標準不揮発性メモリスロット(コネクタ)における関連のコンポーネントを含み、このスロットは、ホスト内の標準不揮発性メモリコントローラに接続される。このスロットは、一般に、MMC(マルチメディアカード)、SD(セキュアデータ)、SDとMMCの組み合わせであるSD/MMC、HS−MMC(高速MMC)、SDとHS−MMCの組み合わせであるSD/HS−MMC、及びメモリスティックといった標準タイプのいずれにも適合する。このリストに限定されない。
一般的な用途は、不揮発性メモリインターフェイスを介して組み込み不揮発性メモリと通信する1つのアプリケーションプロセッサを有する、MP3音楽プレイヤ又はセル式電話ハンドセットといったポータブルコンピュータ又は消費者電子デバイスである。不揮発性メモリインターフェイスは、フラッシュインターフェイス、NANDフラッシュインターフェイス、及び/又は、他の好適な不揮発性半導体メモリインターフェイスを含んでよい。この開示では、不揮発性半導体メモリではなく、不揮発性半導体メモリに代わるハードディスクドライブ又は他のタイプのディスクドライブが提供され、そのインターフェイス信号を用いる。開示した方法は、ディスクドライブに不揮発性メモリのようなインターフェイスを提供し、それにより、通常はフラッシュメモリしか受け入れないホストシステムにディスクドライブを組み込むことが容易になる。記憶装置として用いた場合に、フラッシュメモリにはないディスクドライブの利点は、特定の費用に対して大幅に大きい記憶容量があることである。
開示したインターフェイスコントローラを用いてディスクドライブを組み込むには、ホスト不揮発性メモリコントローラファームウェア及びソフトウェアに最小限の変更を行うことだけでよい。更に、最小限のコマンドオーバーヘッドが提供される。更に、有利なことに、ホストとディスクドライブとの間で転送される論理ブロックの数について、任意の特定の読出し又は書込みオペレーションに対しデータ転送が無制限に行われる。ホストによって、ディスクドライブのセクタカウントが提供される必要がない。
特定の実施形態では、ディスクドライブ1104は、スモール・フォーム・ファクタ(SFF)ハードディスクドライブでありうる。これは、一般に、650×15×70mmの物理サイズを有する。このようなSSFハードディスクドライブの一般的なデータ転送速度は、25mb/秒である。
図27のディスクドライブコントローラ1100の機能を以下に説明する。ディスクドライブコントローラ1100は、インターフェイスコントローラ1110を含み、これは、ホストシステム1102に対して、14ラインバスを有するフラッシュメモリコントローラとなる。インターフェイスコントローラ1110は更に、ホストコマンド解釈と、ホスト1102とバッファマネジャ1112との間のデータフロー制御の機能を行う。バッファマネジャ回路1112は、メモリコントローラ1116を介して、インターフェイスコントローラ1100と同じチップの一部として含まれても別個のチップに含まれてもよいSRAM又はDRAMバッファ1118でありうる実際のバッファ(メモリ)を制御する。バッファマネジャは、以下に更に説明するバッファリング特徴を提供する。
バッファマネジャ1112は更に、トラックフォーマット生成及び欠陥管理の機能を行うプロセッサインターフェイス/サーボ及びIDレス/欠陥マネジャ(MPIF/SAIL/DM)回路1122に接続される。MPIF/SAIL/DM回路1122は、高度高性能バス(AHB)1126に接続する。AHBバス1126には、ラインキャッシュ1128及びプロセッサ1130が接続され、密結合メモリ(TCM)1134が、プロセッサ1130に関連付けられる。プロセッサ1130は、組み込みプロセッサによってもマイクロプロセッサによっても実装されてよい。ラインキャッシュ1128は、コード実行レイテンシを低減することを目的とする。ラインキャッシュは、外部のフラッシュメモリ1106に接続されてもよい。
ディスクドライブコントローラ1100における残りのブロックは、ディスクドライブをサポートする機能を行い、サーボコントローラ1140、ディスクフォーマッタ及び誤り訂正回路1142、及び、読出しチャネル回路1144を含む。読出しチャネル回路は、ディスクドライブ1104内の前置増幅回路に接続する。14ライン並列バスのうち8ライン(0−7)が双方向の入出力(I/O)データを運びうる。残りのラインは、それぞれ、コマンドCLE、ALE、/CE、/RE、/WE、及びR/Bを運びうる。
図28を参照するに、図27のインターフェイスコントローラをより詳細に示す。インターフェイスコントローラ1110は、フラッシュコントローラ(flash_ctl)ブロック1150、フラッシュレジスタ(flash_reg)ブロック1152、フラッシュFIFOラッパ(flash_fifo_wrapper)ブロック1154、及び、フラッシュシステム同期化(flash_sys_syn)ブロック1156を含む。
フラッシュレジスタブロック1152は、レジスタアクセスに用いられる。レジスタは、プロセッサ1130及びホスト1102によりプログラムされたコマンドを記憶する。フラッシュコントローラ1150内のフラッシュステートマシーン(図示せず)が、ホスト1102からの入来コマンドをデコードし、ディスクドライブコントローラ1100を制御する。フラッシュFIFOラッパ1154は、FIFOを含み、これは、32×32の双方向性の非同期FIFOにより実現されうる。FIFOは、バッファマネジャインターフェイス(BM IF)を介するバッファマネジャ1112への/バッファマネジャ1112からのデータの転送/受信のためのデータ及び制御信号を生成する。FIFOの転送方向は、フラッシュレジスタ1152内に記憶されるコマンドによって制御されうる。フラッシュシステム同期化ブロック1156は、制御信号を、インターフェイスコントローラとバッファマネジャインターフェイス間で同期させる。フラッシュシステム同期化ブロックは更に、フラッシュFIFOラッパ1154用のカウンタクリアパルス(clk2_clr)を生成する。
フラッシュコントローラ1150は、インターフェイス信号ラインを制御して、LPDDのランダム読出しを実現する。フラッシュコントローラ1150は、インターフェイス信号ラインを制御して、LPDDのランダム書込みを制御しうる。フラッシュコントローラ1150は、インターフェイス信号ラインを制御してLPDDのシーケンシャル読出しを実現しても、インターフェイス信号ラインを制御してLPDDのシーケンシャル書込みを実現してもよい。フラッシュコントローラ1150は、インターフェイス信号ラインを制御して、制御モジュールとLPDDとの間のコマンドの転送を実現しうる。フラッシュコントローラ1150は、LPDDコマンドのセットを、フラッシュメモリコマンドの対応するセットにマッピングしうる。
レジスタメモリ1152は、プロセッサバスを介して、インターフェイスコントローラ及びLPDDプロセッサと通信する。レジスタメモリ1152は、LPDDプロセッサ及び制御モジュールによりプログラムされたコマンドを記憶する。フラッシュコントローラ1150は、LPDDからの読出しデータを、バッファメモリに記憶して、制御モジュールとLPDDとの間のデータ転送速度における違いを相殺し、データレディ信号を制御モジュールに送信して、メモリバッファ内にデータがあることを示しうる。
フラッシュコントローラ1150は、制御モジュールからの書込みデータを、バッファメモリに記憶して、制御モジュールとLPDDとの間のデータ転送速度における違いを相殺しうる。フラッシュコントローラ1150は、データレディ信号を制御モジュールに送信して、メモリバッファ内にデータがあることを示しうる。
図29を参照するに、フラッシュインターフェイスを有するマルチディスクドライブシステムの機能ブロックを、1200において概略的に示す。先の説明はフラッシュインターフェイスを有する1つのディスクドライブ(例えば、低電力又は高電力ディスクドライブ)の使用に関するものであったが、複数のディスクドライブを、フラッシュインターフェイスを介して接続することができる。より具体的には、フラッシュインターフェイスを有するマルチディスクドライブシステム1200は、ホスト1202のフラッシュインターフェイスと通信するホストフラッシュインターフェイス1206を含む。ホストフラッシュインターフェイス1202は、上述したように動作する。ドライブ制御モジュール1208は、HPDD1220及びLPDD1222の一方又は両方を選択的に動作させるか、又は、いずれも動作させない。低電力及び高電力モードのオペレーションに関して上述した制御技術は、ドライブ制御モジュール1208によって行うことができる。一部の実施形態では、ホストフラッシュインターフェイス1206は、ホストの電力モードを感知する、及び/又は、ホスト1202の電力モードを識別する情報を受信する。
図30を参照するに、図30のマルチディスクドライブにより行われるステップを説明するフローチャートを示す。ステップ1230において制御が開始する。ステップ1232において、ホストがオンであるか否か判断される。ステップ1232においてホストがオンであると判断される場合、ステップ1234において、ホストは高電力モードにあるか否かが判断される。ステップ1234において、ホストは高電力モードにあると判断される場合、ステップ1236において、必要に応じて、LPDD1222及び/又はHPDD1220に電力が供給される。ステップ1234において、ホストは高電力モードにないと判断される場合、ステップ1238において、ホストは低電力モードにあるか否かが判断される。ステップ1238において、ホストは低電力モードにあると判断される場合、ステップ1240において、HPDDがオフにされ、必要に応じてLPDDを動作させて電力を節約する。(高電力モードにある場合)ステップ1238に進み、低電力モードにある場合、ステップ1240に進み、最後にステップ1232に戻る。
当然ながら、上述したようなフラッシュインターフェイスを有するHDDは、上述したように、フラッシュインターフェイスを有するマルチディスクドライブを用いることができる。また、LPDD及びHPDDを有するシステムに関して上述した制御技術はいずれも図29に示すフラッシュインターフェイスを有するマルチディスクドライブに用いることができる。LPDD又はHPDDは、上述したいずれの実施形態において、任意のタイプの低電力不揮発性メモリによって置換可能である。例えば、LPDD又はHPDDは、次に限定しないが、フラッシュメモリといった任意の好適な不揮発性半導体メモリによって置換可能である。同様に、上述した任意の実施形態において記載した低電力不揮発性メモリは、低電力ディスクドライブによって置換可能である。一部の実施形態では、フラッシュメモリを用いるとして記載したが、任意のタイプの不揮発性半導体メモリを用いることができる。
当業者であれば、本発明の広義の教示内容は様々な形式で実施しうることは理解できよう。従って、本発明は、特定の例に関連して説明したが、本発明の範囲はそれらに限定されるべきではなく、これは、図面、明細書、及び特許請求の範囲を研究した後では、当業者には他の変形が明らかであることによる。

Claims (42)

  1. 低電力モード及び高電力モードを有するデバイスのデータ記憶システムであって、
    不揮発性半導体メモリインターフェイスを含み、前記不揮発性半導体メモリインターフェイスを介して前記デバイスと通信する低電力ハードディスクドライブ(LP HDD)を有する低電力(LP)不揮発性メモリと、
    前記デバイスと通信する高電力(HP)不揮発性メモリと、
    を備えるデータ記憶システム。
  2. 前記LP不揮発性メモリ及び前記HP不揮発性メモリと通信し、適応型記憶モジュールを含むキャッシュ制御モジュールを更に備え、
    前記LP不揮発性メモリ及び前記HP不揮発性メモリのどちらかに書込みデータが書込まれる場合、前記適応型記憶モジュールは、前記LP不揮発性メモリ及び前記HP不揮発性メモリのどちらかを選択する適応記憶判断を生成する、請求項1に記載のデータ記憶デバイス。
  3. 前記HP不揮発性メモリは、前記不揮発性半導体メモリインターフェイスを介して前記デバイスと通信するHP HDDを含む、請求項2に記載のデータ記憶システム。
  4. 前記適応判断は、前記書込みデータの以前の使用に関連付けられる電力モード、前記書込みデータのサイズ、前記書込みデータを最後に使用した日付、及び前記書込みデータの手動オーバライドステータスのうち少なくとも1つに基づく、請求項2に記載のデータ記憶システム。
  5. 前記LP HDDは、1.8インチ以下の直径を有する1以上のプラッタを含み、
    前記HP不揮発性メモリは、1.8インチより大きい直径を有する1以上のプラッタを含むハードディスクドライブを有する、請求項1に記載のデータ記憶システム。
  6. 前記LP不揮発性メモリ及び前記HP不揮発性メモリと通信し、ドライブ電力低減モジュールを含むキャッシュ制御モジュールを更に備え、
    前記低電力モード時に前記HP不揮発性メモリから読出しデータが読み出され、前記読出しデータがシーケンシャルアクセスデータファイルを含む場合、前記ドライブ電力低減モジュールは、前記HP不揮発性メモリから前記LP不揮発性メモリに前記読出しデータの複数のセグメントを転送するバースト期間を計算する、請求項1に記載のデータ記憶システム。
  7. 前記HP不揮発性メモリは、前記不揮発性半導体メモリインターフェイスを介して前記デバイスと通信するHP HDDを含む、請求項6に記載のデータ記憶システム。
  8. 前記ドライブ電力低減モジュールは、前記バースト期間を選択して、前記低電力モード時に前記読出しデータが再生される間の電力消費量を低減する、請求項6に記載のデータ記憶システム。
  9. 前記HP不揮発性メモリは、高電力ディスクドライブ(HPDD)を含む、請求項6に記載のデータ記憶システム。
  10. 前記バースト期間は、前記LP HDDのスピンアップ時間、前記HPDDのスピンアップ時間、前記LP HDDの電力消費量、前記HPDDの電力消費量、前記読出しデータの再生長、及び、前記LP HDDの容量のうち少なくとも1つに基づく、請求項9に記載のデータ記憶システム。
  11. 前記LP不揮発性メモリ及び前記HP不揮発性メモリと通信し、ドライブ電力低減モジュールを含むオペレーティングシステムを更に備え、
    前記低電力モード時に前記HP不揮発性メモリから読出しデータが読み出され、前記読出しデータがシーケンシャルアクセスデータファイルを含む場合、前記ドライブ電力低減モジュールは、前記HP不揮発性メモリから前記LP不揮発性メモリに前記読出しデータの複数のセグメントを転送するバースト期間を計算する、請求項1に記載のデータ記憶システム。
  12. 前記HP不揮発性メモリは、前記不揮発性半導体メモリインターフェイスと通信するHP HDDを含む、請求項11に記載のデータ記憶システム。
  13. 前記ドライブ電力低減モジュールは、前記バースト期間を選択して、前記低電力モード時に前記読出しデータが再生される間の電力消費量を低減する、請求項11に記載のデータ記憶システム。
  14. 前記HP不揮発性メモリは、高電力ディスクドライブ(HPDD)を含む、請求項11に記載のデータ記憶システム。
  15. 前記バースト期間は、前記LP HDDのスピンアップ時間、前記HPDDのスピンアップ時間、前記LP HDDの電力消費量、前記HPDDの電力消費量、前記読出しデータの再生長、及び、前記LP HDDの容量のうち少なくとも1つに基づく、請求項14に記載のデータ記憶システム。
  16. 前記LP不揮発性メモリ及び前記HP不揮発性メモリと通信し、適応型記憶モジュールを含むホスト制御モジュールを更に備え、
    前記LP不揮発性メモリ及び前記HP不揮発性メモリのどちらかに書込みデータが書込まれる場合、前記適応型記憶モジュールは、前記LP不揮発性メモリ及び前記HP不揮発性メモリのどちらかを選択する適応記憶判断を生成する、請求項1に記載のデータ記憶システム。
  17. 前記HP不揮発性メモリは、前記不揮発性半導体メモリインターフェイスと通信するHP HDDを含む、請求項16に記載のデータ記憶システム。
  18. 前記適応判断は、前記書込みデータの以前の使用に関連付けられる電力モード、前記書込みデータのサイズ、前記書込みデータを最後に使用した日付、及び前記書込みデータの手動オーバライドステータスのうち少なくとも1つに基づく、請求項16に記載のデータ記憶システム。
  19. 前記LP不揮発性メモリ及び前記HP不揮発性メモリと通信し、ドライブ電力低減モジュールを含むホスト制御モジュールを更に備え、
    前記低電力モード時に前記HP不揮発性メモリから読出しデータが読み出され、前記読出しデータがシーケンシャルアクセスデータファイルを含む場合、前記ドライブ電力低減モジュールは、前記HP不揮発性メモリから前記LP不揮発性メモリに前記読出しデータの複数のセグメントを転送するバースト期間を計算する、請求項1に記載のデータ記憶システム。
  20. 前記HP不揮発性メモリは、前記不揮発性半導体メモリインターフェイスと通信するHP HDDを含む、請求項19に記載のデータ記憶システム。
  21. 前記ドライブ電力低減は、前記バースト期間を選択して、前記低電力モード時に前記読出しデータが再生される間の電力消費量を低減する、請求項19に記載のデータ記憶システム。
  22. 前記HP不揮発性メモリは、高電力ディスクドライブ(HPDD)を含む、請求項19に記載のデータ記憶システム。
  23. 前記バースト期間は、前記LP HDDのスピンアップ時間、前記HPDDのスピンアップ時間、前記LP HDDの電力消費量、前記HPDDの電力消費量、前記読出しデータの再生長、及び、前記LP HDDの容量のうち少なくとも1つに基づく、請求項22に記載のデータ記憶システム。
  24. 前記LP不揮発性メモリ及び前記HP不揮発性メモリと通信し、適応型記憶モジュールを含むオペレーティングシステムを更に備え、
    前記LP不揮発性メモリ及び前記HP不揮発性メモリのどちらかに書込みデータが書込まれる場合、前記適応型記憶モジュールは、前記LP不揮発性メモリ及び前記HP不揮発性メモリのどちらかを選択する適応記憶判断を生成する、請求項1に記載のデータ記憶システム。
  25. 前記HP不揮発性メモリは、前記不揮発性半導体メモリインターフェイスと通信するHP HDDを含む、請求項24に記載のデータ記憶システム。
  26. 前記適応判断は、前記書込みデータの以前の使用に関連付けられる電力モード、前記書込みデータのサイズ、前記書込みデータを最後に使用した日付、及び前記書込みデータの手動オーバライドステータスのうち少なくとも1つに基づく、請求項24に記載のデータ記憶システム。
  27. 低電力モード及び高電力モードを有するデバイスのデータ記憶システムを動作させる方法であって、
    不揮発性半導体メモリインターフェイスを有し、前記不揮発性半導体メモリインターフェイスを介して前記デバイスと通信する低電力ハードディスクドライブ(LP HDD)を含む低電力(LP)不揮発性メモリを提供する段階と、
    高電力(HP)不揮発性メモリを提供する段階と、
    前記デバイスの選択された電力モードに基づいて前記LP不揮発性メモリ及び前記HP不揮発性メモリから少なくとも1つを選択する段階と、
    を含む方法。
  28. 前記LP不揮発性メモリ及び前記HP不揮発性メモリのどちらかに書込みデータが書込まれる場合、前記LP不揮発性メモリ及び前記HP不揮発性メモリのどちらかを選択する適応記憶判断を生成する段階を更に含む、請求項27に記載の方法。
  29. 前記HP不揮発性メモリは、前記不揮発性半導体メモリインターフェイスを介して前記デバイスと通信するHP HDDを含む、請求項28に記載の方法。
  30. 前記適応判断は、前記書込みデータの以前の使用に関連付けられる電力モード、前記書込みデータのサイズ、前記書込みデータを最後に使用した日付、及び前記書込みデータの手動オーバライドステータスのうち少なくとも1つに基づく、請求項29に記載の方法。
  31. 前記低電力モード時に前記HP不揮発性メモリから読出しデータが読み出され、前記読出しデータがシーケンシャルアクセスデータファイルを含む場合、前記HP不揮発性メモリから前記LP不揮発性メモリに前記読出しデータの複数のセグメントを転送するバースト期間を計算する段階を更に含む、請求項27に記載の方法。
  32. 前記HP不揮発性メモリは、前記不揮発性半導体メモリインターフェイスを介して前記デバイスと通信するHP HDDを含む、請求項31に記載の方法。
  33. 前記バースト期間を選択して、前記低電力モード時に前記読出しデータが再生される間の電力消費量を低減する段階を更に含む、請求項31に記載の方法。
  34. 前記HP不揮発性メモリは、高電力ディスクドライブ(HPDD)を含む、請求項31に記載の方法。
  35. 前記バースト期間は、前記LP HDDのスピンアップ時間、前記HPDDのスピンアップ時間、前記LP HDDの電力消費量、前記HPDDの電力消費量、前記読出しデータの再生長、及び、前記LP HDDの容量のうち少なくとも1つに基づく、請求項34に記載の方法。
  36. 前記低電力モード時に前記HP不揮発性メモリから読出しデータが読み出され、前記読出しデータがシーケンシャルアクセスデータファイルを含む場合、前記HP不揮発性メモリから前記LP不揮発性メモリに前記読出しデータの複数のセグメントを転送するバースト期間を計算する段階を更に含む、請求項27に記載の方法。
  37. 前記HP不揮発性メモリは、前記フラッシュインターフェイスと通信するHP HDDを含む、請求項36に記載の方法。
  38. 前記バースト期間を選択して、前記低電力モード時に前記読出しデータが再生される間の電力消費量を低減する段階を更に含む、請求項36に記載の方法。
  39. 前記HP不揮発性メモリは、高電力ディスクドライブ(HPDD)を含む、請求項36に記載の方法。
  40. 前記バースト期間は、前記LP HDDのスピンアップ時間、前記HPDDのスピンアップ時間、前記LP HDDの電力消費量、前記HPDDの電力消費量、前記読出しデータの再生長、及び、前記LP HDDの容量のうち少なくとも1つに基づく、請求項39に記載の方法。
  41. 前記不揮発性半導体メモリインターフェイスは、フラッシュメモリインターフェイスを含む、請求項1に記載のデータ記憶システム。
  42. 前記不揮発性半導体メモリインターフェイスは、フラッシュメモリインターフェイスを含む、請求項27に記載の方法。
JP2009509863A 2006-05-10 2007-05-10 フラッシュインターフェイスを有するハードディスクドライブを含む適応型記憶システム Pending JP2009536768A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US79915106P 2006-05-10 2006-05-10
US82086706P 2006-07-31 2006-07-31
US11/503,016 US7702848B2 (en) 2004-06-10 2006-08-11 Adaptive storage system including hard disk drive with flash interface
US11/796,248 US7617359B2 (en) 2004-06-10 2007-04-27 Adaptive storage system including hard disk drive with flash interface
PCT/US2007/011328 WO2007133647A2 (en) 2006-05-10 2007-05-10 Adaptive storage system including hard disk drive with flash interface

Publications (2)

Publication Number Publication Date
JP2009536768A true JP2009536768A (ja) 2009-10-15
JP2009536768A5 JP2009536768A5 (ja) 2010-06-17

Family

ID=38694480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009509863A Pending JP2009536768A (ja) 2006-05-10 2007-05-10 フラッシュインターフェイスを有するハードディスクドライブを含む適応型記憶システム

Country Status (5)

Country Link
US (1) US7617359B2 (ja)
EP (1) EP2049968B1 (ja)
JP (1) JP2009536768A (ja)
TW (1) TWI390520B (ja)
WO (1) WO2007133647A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011095916A (ja) * 2009-10-28 2011-05-12 Canon Inc 電子機器

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7730335B2 (en) 2004-06-10 2010-06-01 Marvell World Trade Ltd. Low power computer with main and auxiliary processors
US20080263324A1 (en) 2006-08-10 2008-10-23 Sehat Sutardja Dynamic core switching
US8510577B2 (en) * 2008-07-28 2013-08-13 Microsoft Corporation Reducing power consumption by offloading applications
TWI386924B (zh) * 2009-06-12 2013-02-21 Inventec Corp 硬碟系統及其存取方法
US8321630B1 (en) 2010-01-28 2012-11-27 Microsoft Corporation Application-transparent hybridized caching for high-performance storage
US20100318734A1 (en) * 2009-06-15 2010-12-16 Microsoft Corporation Application-transparent hybridized caching for high-performance storage
TW201126327A (en) * 2010-01-27 2011-08-01 Compal Electronics Inc Power-saving method and system for the same
CN102156529A (zh) * 2010-02-11 2011-08-17 仁宝电脑工业股份有限公司 硬盘省电方法及硬盘省电装置
US8756387B2 (en) * 2010-03-05 2014-06-17 International Business Machines Corporation Method and apparatus for optimizing the performance of a storage system
US8700949B2 (en) 2010-03-30 2014-04-15 International Business Machines Corporation Reliability scheme using hybrid SSD/HDD replication with log structured management
US9070453B2 (en) 2010-04-15 2015-06-30 Ramot At Tel Aviv University Ltd. Multiple programming of flash memory without erase
US8607084B2 (en) * 2010-06-11 2013-12-10 Via Technologies, Inc. Computer system and method for saving power consumption by placing a second computer portion into a sleep mode after completed transfering image data to a first computer portion
US8775731B2 (en) 2011-03-25 2014-07-08 Dell Products, L.P. Write spike performance enhancement in hybrid storage systems
KR20120132820A (ko) * 2011-05-30 2012-12-10 삼성전자주식회사 스토리지 디바이스, 스토리지 시스템 및 스토리지 디바이스의 가상화 방법
US8700834B2 (en) 2011-09-06 2014-04-15 Western Digital Technologies, Inc. Systems and methods for an enhanced controller architecture in data storage systems
US8713357B1 (en) 2011-09-06 2014-04-29 Western Digital Technologies, Inc. Systems and methods for detailed error reporting in data storage systems
US9195530B1 (en) 2011-09-06 2015-11-24 Western Digital Technologies, Inc. Systems and methods for improved data management in data storage systems
US8707104B1 (en) 2011-09-06 2014-04-22 Western Digital Technologies, Inc. Systems and methods for error injection in data storage systems
US8977803B2 (en) 2011-11-21 2015-03-10 Western Digital Technologies, Inc. Disk drive data caching using a multi-tiered memory
US8977804B1 (en) 2011-11-21 2015-03-10 Western Digital Technologies, Inc. Varying data redundancy in storage systems
US9268701B1 (en) 2011-11-21 2016-02-23 Western Digital Technologies, Inc. Caching of data in data storage systems by managing the size of read and write cache based on a measurement of cache reliability
US8904091B1 (en) 2011-12-22 2014-12-02 Western Digital Technologies, Inc. High performance media transport manager architecture for data storage systems
US9053008B1 (en) 2012-03-26 2015-06-09 Western Digital Technologies, Inc. Systems and methods for providing inline parameter service in data storage devices
JP6498104B2 (ja) * 2015-11-16 2019-04-10 キヤノン株式会社 通信装置およびその制御方法
US10474397B2 (en) 2017-06-13 2019-11-12 Western Digital Technologies, Inc Unified indirection in a multi-device hybrid storage unit
CN107766006A (zh) * 2017-11-07 2018-03-06 合肥兆芯电子有限公司 存储器管理方法、存储器存储装置及存储器控制电路单元
US10474361B1 (en) 2018-05-02 2019-11-12 Seagate Technology Llc Consolidating non-volatile memory across multiple storage devices for front end processing
US10983943B2 (en) 2018-11-16 2021-04-20 Seagate Technology Llc Data storage system with supplemental processing bus

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05134820A (ja) * 1991-11-14 1993-06-01 Seiko Epson Corp 情報処理装置
JPH06266511A (ja) * 1993-03-15 1994-09-22 Canon Electron Inc Icカードインターフェイス付きディスク装置
JPH1145406A (ja) * 1997-05-29 1999-02-16 Fujitsu Ltd 書き込み条件設定方法及びディスク装置
JP2005353080A (ja) * 2004-06-10 2005-12-22 Marvell World Trade Ltd 適応記憶システム

Family Cites Families (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4425615A (en) * 1980-11-14 1984-01-10 Sperry Corporation Hierarchical memory system having cache/disk subsystem with command queues for plural disks
US5150465A (en) * 1988-11-30 1992-09-22 Compaq Computer Corporation Mode-selectable integrated disk drive for computer
EP1031992B1 (en) * 1989-04-13 2006-06-21 SanDisk Corporation Flash EEPROM system
US5440749A (en) * 1989-08-03 1995-08-08 Nanotronics Corporation High performance, low cost microprocessor architecture
US5455913A (en) * 1990-05-14 1995-10-03 At&T Global Information Solutions Company System and method for transferring data between independent busses
US5485595A (en) * 1993-03-26 1996-01-16 Cirrus Logic, Inc. Flash memory mass storage architecture incorporating wear leveling technique without using cam cells
GB2286267A (en) 1994-02-03 1995-08-09 Ibm Energy-saving cache control system
US5596708A (en) * 1994-04-04 1997-01-21 At&T Global Information Solutions Company Method and apparatus for the protection of write data in a disk array
US5659718A (en) * 1994-08-19 1997-08-19 Xlnt Designs, Inc. Synchronous bus and bus interface device
JPH0883148A (ja) 1994-09-13 1996-03-26 Nec Corp 磁気ディスク装置
GB9419246D0 (en) 1994-09-23 1994-11-09 Cambridge Consultants Data processing circuits and interfaces
US5815726A (en) * 1994-11-04 1998-09-29 Altera Corporation Coarse-grained look-up table architecture
US5768164A (en) * 1996-04-15 1998-06-16 Hewlett-Packard Company Spontaneous use display for a computing system
US5937423A (en) * 1996-12-26 1999-08-10 Intel Corporation Register interface for flash EEPROM memory arrays
US6035408A (en) * 1998-01-06 2000-03-07 Magnex Corp. Portable computer with dual switchable processors for selectable power consumption
US6578129B1 (en) * 1998-07-24 2003-06-10 Imec Vzw Optimized virtual memory management for dynamic data types
US6282614B1 (en) * 1999-04-15 2001-08-28 National Semiconductor Corporation Apparatus and method for reducing the power consumption of a microprocessor with multiple levels of caches
US6457135B1 (en) * 1999-08-10 2002-09-24 Intel Corporation System and method for managing a plurality of processor performance states
GB2369717B (en) 1999-08-25 2003-10-15 Seagate Technology Llc Intelligent power management of disc drives
US6501999B1 (en) * 1999-12-22 2002-12-31 Intel Corporation Multi-processor mobile computer system having one processor integrated with a chipset
US6496915B1 (en) * 1999-12-31 2002-12-17 Ilife Solutions, Inc. Apparatus and method for reducing power consumption in an electronic data storage system
US6631474B1 (en) * 1999-12-31 2003-10-07 Intel Corporation System to coordinate switching between first and second processors and to coordinate cache coherency between first and second processors during switching
KR100716013B1 (ko) * 2000-03-07 2007-05-08 미야모토 가부시키가이샤 자수용 미싱에 있어서의 실통과장치
US6594724B1 (en) * 2000-03-30 2003-07-15 Hitachi Global Storage Technologies Netherlands B.V. Enhanced DASD with smaller supplementary DASD
US6628469B1 (en) * 2000-07-11 2003-09-30 International Business Machines Corporation Apparatus and method for low power HDD storage architecture
US6631469B1 (en) * 2000-07-17 2003-10-07 Intel Corporation Method and apparatus for periodic low power data exchange
KR100353731B1 (ko) 2000-11-01 2002-09-28 (주)니트 젠 일회성 지문템플릿을 이용한 사용자 인증시스템 및 방법
US6785767B2 (en) * 2000-12-26 2004-08-31 Intel Corporation Hybrid mass storage system and method with two different types of storage medium
US6986066B2 (en) * 2001-01-05 2006-01-10 International Business Machines Corporation Computer system having low energy consumption
US20020129288A1 (en) * 2001-03-08 2002-09-12 Loh Weng Wah Computing device having a low power secondary processor coupled to a keyboard controller
US6976180B2 (en) * 2001-03-16 2005-12-13 Dualcor Technologies, Inc. Personal electronics device
US20030153354A1 (en) * 2001-03-16 2003-08-14 Cupps Bryan T. Novel personal electronics device with keypad application
US7184003B2 (en) * 2001-03-16 2007-02-27 Dualcor Technologies, Inc. Personal electronics device with display switching
US7231531B2 (en) * 2001-03-16 2007-06-12 Dualcor Technologies, Inc. Personal electronics device with a dual core processor
US6725336B2 (en) 2001-04-20 2004-04-20 Sun Microsystems, Inc. Dynamically allocated cache memory for a multi-processor unit
US6925529B2 (en) * 2001-07-12 2005-08-02 International Business Machines Corporation Data storage on a multi-tiered disk system
US6859856B2 (en) * 2001-10-23 2005-02-22 Flex P Industries Sdn. Bhd Method and system for a compact flash memory controller
US8181118B2 (en) * 2001-11-28 2012-05-15 Intel Corporation Personal information device on a mobile computing platform
US6639827B2 (en) * 2002-03-12 2003-10-28 Intel Corporation Low standby power using shadow storage
KR100441608B1 (ko) * 2002-05-31 2004-07-23 삼성전자주식회사 낸드 플래시 메모리 인터페이스 장치
US7082495B2 (en) * 2002-06-27 2006-07-25 Microsoft Corporation Method and apparatus to reduce power consumption and improve read/write performance of hard disk drives using non-volatile memory
US6775180B2 (en) * 2002-12-23 2004-08-10 Intel Corporation Low power state retention
US7254730B2 (en) * 2003-02-14 2007-08-07 Intel Corporation Method and apparatus for a user to interface with a mobile computing device
AU2003900764A0 (en) * 2003-02-20 2003-03-06 Secure Systems Limited Bus bridge security system and method for computers
JP2006523882A (ja) 2003-04-14 2006-10-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ユニバーサルなドライブ装置のためのフォーマットマッピング方式
US7221331B2 (en) * 2003-05-05 2007-05-22 Microsoft Corporation Method and system for auxiliary display of information for a computing device
US7240228B2 (en) 2003-05-05 2007-07-03 Microsoft Corporation Method and system for standby auxiliary processing of information for a computing device
US7069388B1 (en) * 2003-07-10 2006-06-27 Analog Devices, Inc. Cache memory data replacement strategy
US20050066209A1 (en) * 2003-09-18 2005-03-24 Kee Martin J. Portable electronic device having high and low power processors operable in a low power mode
US7925298B2 (en) * 2003-09-18 2011-04-12 Vulcan Portals Inc. User interface for a secondary display module of a mobile electronic device
US7017059B2 (en) * 2003-12-12 2006-03-21 Cray Canada Inc. Methods and apparatus for replacing cooling systems in operating computers
WO2005059750A1 (en) * 2003-12-16 2005-06-30 Real Enterprise Solutions Development B.V. Memory management in a computer system using different swapping criteria
US7136973B2 (en) * 2004-02-04 2006-11-14 Sandisk Corporation Dual media storage device
US7421602B2 (en) * 2004-02-13 2008-09-02 Marvell World Trade Ltd. Computer with low-power secondary processor and secondary display
US7702848B2 (en) * 2004-06-10 2010-04-20 Marvell World Trade Ltd. Adaptive storage system including hard disk drive with flash interface
US7730335B2 (en) * 2004-06-10 2010-06-01 Marvell World Trade Ltd. Low power computer with main and auxiliary processors
US7574541B2 (en) * 2004-08-03 2009-08-11 Lsi Logic Corporation FIFO sub-system with in-line correction
US20060069848A1 (en) * 2004-09-30 2006-03-30 Nalawadi Rajeev K Flash emulation using hard disk
US20060075185A1 (en) * 2004-10-06 2006-04-06 Dell Products L.P. Method for caching data and power conservation in an information handling system
US7882299B2 (en) * 2004-12-21 2011-02-01 Sandisk Corporation System and method for use of on-chip non-volatile memory write cache
US20060218324A1 (en) * 2005-03-25 2006-09-28 Matsushita Electrical Industrial Co., Ltd Systems and methods for flexible data transfers in SDIO and/or MMC
US7693037B2 (en) 2005-06-21 2010-04-06 Qualcomm Incorporated Method and system for adapting an effective spreading sequence in a communication system using direct sequence spreading

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05134820A (ja) * 1991-11-14 1993-06-01 Seiko Epson Corp 情報処理装置
JPH06266511A (ja) * 1993-03-15 1994-09-22 Canon Electron Inc Icカードインターフェイス付きディスク装置
JPH1145406A (ja) * 1997-05-29 1999-02-16 Fujitsu Ltd 書き込み条件設定方法及びディスク装置
JP2005353080A (ja) * 2004-06-10 2005-12-22 Marvell World Trade Ltd 適応記憶システム
JP2006012126A (ja) * 2004-06-10 2006-01-12 Marvell World Trade Ltd 適応記憶システム
JP2006059323A (ja) * 2004-06-10 2006-03-02 Marvell World Trade Ltd 適応記憶システム

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
CSNC200750988005; 清水 隆雄: '電子立国:電子秘術' エレクトロニクスライフ 第12月号, 19931201, 第20-21頁, 日本放送出版協会 *
CSND200000132011; '500円玉大のハードディスク誕生' mobile media magazine 第6巻,第11号, 19981013, 第60-61頁, 株式会社シーメディア *
CSND200001358014; 江戸川: 'ノートファクトリー Note Factory' 日経Win PC 第5巻,第9号, 19990901, 第210-213頁, 日経BP社 *
JPN6012015435; '500円玉大のハードディスク誕生' mobile media magazine 第6巻,第11号, 19981013, 第60-61頁, 株式会社シーメディア *
JPN6012015436; 清水 隆雄: '電子立国:電子秘術' エレクトロニクスライフ 第12月号, 19931201, 第20-21頁, 日本放送出版協会 *
JPN6012015437; 江戸川: 'ノートファクトリー Note Factory' 日経Win PC 第5巻,第9号, 19990901, 第210-213頁, 日経BP社 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011095916A (ja) * 2009-10-28 2011-05-12 Canon Inc 電子機器

Also Published As

Publication number Publication date
EP2049968B1 (en) 2019-07-10
WO2007133647A2 (en) 2007-11-22
TW200814005A (en) 2008-03-16
TWI390520B (zh) 2013-03-21
WO2007133647A3 (en) 2008-03-20
EP2049968A2 (en) 2009-04-22
US7617359B2 (en) 2009-11-10
US20070220202A1 (en) 2007-09-20

Similar Documents

Publication Publication Date Title
KR101379940B1 (ko) 플래시 인터페이스를 갖는 하드 디스크 드라이브를 포함한 적응 저장 시스템
US7617359B2 (en) Adaptive storage system including hard disk drive with flash interface
JP4740673B2 (ja) 主及び補助プロセッサを備えた低電力コンピュータ
JP4969804B2 (ja) 適応記憶システム
US20070094444A1 (en) System with high power and low power processors and thread transfer
US20070083785A1 (en) System with high power and low power processors and thread transfer
US20080140921A1 (en) Externally removable non-volatile semiconductor memory module for hard disk drives
EP1855181A2 (en) System with high power and low power processors and thread transfer

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100420

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100420

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120327

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120625

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121106

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20200407