JP5942037B2 - データ管理メカニズムを備えたストレージシステムおよびその動作方法 - Google Patents

データ管理メカニズムを備えたストレージシステムおよびその動作方法 Download PDF

Info

Publication number
JP5942037B2
JP5942037B2 JP2015507238A JP2015507238A JP5942037B2 JP 5942037 B2 JP5942037 B2 JP 5942037B2 JP 2015507238 A JP2015507238 A JP 2015507238A JP 2015507238 A JP2015507238 A JP 2015507238A JP 5942037 B2 JP5942037 B2 JP 5942037B2
Authority
JP
Japan
Prior art keywords
storage
tier
area
low
manager
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.)
Active
Application number
JP2015507238A
Other languages
English (en)
Other versions
JP2015515072A (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.)
ENMOTUS Inc
Original Assignee
ENMOTUS Inc
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 ENMOTUS Inc filed Critical ENMOTUS Inc
Publication of JP2015515072A publication Critical patent/JP2015515072A/ja
Application granted granted Critical
Publication of JP5942037B2 publication Critical patent/JP5942037B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • 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

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Description

関連出願の相互参照
この出願は、2012年4月20日に提出された米国仮特許出願連続番号第61/635,869号の利益を主張しており、その主題が引用によりこの明細書中に援用されている。
技術分野
本発明の実施形態は、概して、ストレージシステムに関し、より特定的には、さまざまな性能特性を有する複数層の記憶媒体を備えたストレージシステムに関する。
背景
情報トランザクションの容量および強度が増大し続けているため、個人および企業は、データおよびアプリケーションを処理して記憶するためのさらなる方法を必要としている。情報のユーザにとって利用可能な1つのオプションとしてストレージシステムがある。ストレージシステムは、一般に、ビジネス用、個人用または他の目的で情報またはデータを記憶、保護および/または伝達し、これにより、必要な場合はいつでもユーザが情報にアクセスすることを可能にする。
情報処理要件がユーザ毎またはアプリケーション毎に異なっているので、情報ストレージシステムは、情報へのより迅速なアクセス経路を提供するために、より頻繁にアクセスまたは変更される可能性のある情報を一時的に保持するためのキャッシュメモリを含み得る。キャッシュメモリは、その使用効率を向上させるために特別なファームウェアサポートを必要とする場合がある。たとえば、キャッシュメモリは、キャッシュを用いてストレージシステムの最高の性能を得るために、最近最も使われていない(LMRU:least most recently used)アルゴリズムまたは最近最も使われた(MRU:most recently used)アルゴリズムを用いることができる。これらのキャッシングアルゴリズムは、読出しシーケンスを何回か繰り返すことで性能を向上させることができるが、ランダムな読出し動作または連続する読出し動作に対しては全く効果がない。情報がキャッシュメモリから長期記憶装置に移されると、アクセス時間がはるかに遅くなる可能性がある。
したがって、ユーザデータの性能およびアクセスしやすさを改善させるために、データ管理メカニズムを備えたストレージシステムが依然として必要とされている。消費者期待が増大しつつあり、市場における有意義な製品差別化のための機会が縮小しつつあることに加えて、商業の競争圧力が高まりつつあることを考慮して、これらの問題に対する解決策を見出すことがますます重要になっている。加えて、コストを削減し、効率および性能を改善し、かつ、競争圧力を満たす必要があるため、これらの問題に対する解決策の発見が必要不可欠とされていることに加えて、これら解決策を極めて緊急に発見することも求められている。
これらの問題に対する解決策は長い間探し求められてきたが、従来の開発では如何なる解決策も教示または示唆されず、このため、当業者は長い間これらの問題を解決することができなかった。
概要
本発明の実施形態は、ストレージシステムの動作方法を提供する。当該動作方法は、第1の階層ストレージおよび第2の階層ストレージに結合されたストレージ階層マネージャにアクセスするステップと、第1の階層ストレージにおける低活動領域および第2の階層ストレージにおける高活動領域を識別するステップと、ストレージ階層マネージャによって、高活動領域に対応する物理ブロック領域を低活動領域に対応する物理ブロック領域と交換するステップとを含む。
本発明の実施形態は、ストレージシステムの動作方法を提供する。当該動作方法は、バスドライバインターフェイスモジュールを介して通信するステップを含む、第1の階層ストレージおよび第2の階層ストレージに結合されたストレージ階層マネージャにアクセスするステップと、プロモーションしきい値モジュール(promotion threshold module)によってプロモーション基準と高活動領域とを比較するステップを含む、第1の階層ストレージにおける低活動領域および第2の階層ストレージにおける高活動領域を識別するステップと、ストレージ階層マネージャによって、高活動領域に対応する物理ブロック領域を低活動領域に対応する物理ブロック領域と交換するステップと、高活動領域に対応する物理ブロック領域の新しい位置を反映させるように、ストレージ階層マネージャによって仮想−物理リスト(virtual to physical list)を更新するステップとを含む。
本発明の実施形態はストレージシステムを提供する。当該ストレージシステムは、第1の階層ストレージおよび第2の階層ストレージに結合されたストレージ階層マネージャと、低活動領域を有する、第1の階層ストレージにおける高性能ストレージデバイスと、高活動領域を有する、第2の階層ストレージにおける低性能ストレージデバイスと、ストレージ階層マネージャによって、高性能ストレージデバイスにおける低活動領域に対応する物理ブロック領域と交換される、低性能ストレージデバイスにおける高活動領域に対応する物理ブロック領域と、ストレージ階層マネージャに結合された記憶媒体インターフェイスモジュールとを備える。記憶媒体インターフェイスモジュールは、ストレージ階層マネージャによって、高性能ストレージデバイスにおける低活動領域に対応する物理ブロック領域と交換された、低性能ストレージデバイスにおける高活動領域に対応する物理ブロック領域を交換するためのものである。
本発明の実施形態は、非一時的なコンピュータ読取可能媒体を提供する。当該コンピュータ読取可能媒体は、第1の階層ストレージおよび第2の階層ストレージに結合されたストレージ階層マネージャにアクセスすることと、第1の階層ストレージにおける低活動領域および第2の階層ストレージにおける高活動領域を識別することと、ストレージ階層マネージャによって、高活動領域に対応する物理ブロック領域を低活動領域に対応する物理ブロック領域と交換することとを含む。
本発明のいくつかの実施形態は、上述のステップもしくは要素に加えて、または上述のステップもしくは要素の代わりに、他のステップまたは要素を有する。これらのステップまたは要素は、添付の図面に関連付けて以下の詳細な説明を読むことにより、当業者に明らかになるだろう。
本発明の実施形態におけるデータ管理メカニズムを備えたストレージシステムを示すブロック図である。 図1のストレージシステムの例示的なアプリケーションを示すブロック図である。 図1のストレージシステムのための仮想−物理翻訳を示す例示的なブロック図である。 図1のストレージシステムにおいて高活動領域を低活動領域と交換する例を示す図である。 図1のストレージシステムにおける高活動領域と低活動領域との安全な交換の例を示す図である。 図1のストレージシステムのための仮想−物理翻訳の例を示す図である。 図1のストレージシステムのホストバスアダプタ実現例を示す機能ブロック図である。 ストレージシステムのネットワーク接続実現例を示す機能ブロック図である。 図1のストレージシステムの詳細な動作を示すフローチャートである。 本発明の実施形態におけるストレージシステムの動作方法を示すフローチャートである。
詳細な説明
以下の実施形態は、当業者が本発明を製造および使用することを可能にするように十分に詳細に記載されている。他の実施形態が本開示に基づいて明らかになるであろうこと、および、システム、プロセスまたは機械的変化が本発明の実施形態の範囲から逸脱することなく実施され得ることが理解されるはずである。
以下の説明においては、本発明を十分に理解できるようにするために多数の具体的な詳細が与えられる。しかしながら、これらの具体的な詳細なしでも本発明が実施され得ることが明らかになるだろう。本発明の実施形態を曖昧にするのを避けるために、いくつかの周知の回路、システム構成およびプロセスステップは詳細には開示されない。
システムの実施形態を示す添付の図面はやや概略的であり、縮尺通りではなく、特に、寸法のうちのいくつかは明確に表わすために、図面においては誇張して示される。同様に、説明を容易にするために図面は同様の方向から見られているが、図におけるこのような描写は大部分が任意である。概して、本発明は如何なる配向でも動作させることができる。実施形態は、記載の便宜上、第1の実施形態、第2の実施形態などと番号付けされており、他の意義を有したり本発明の実施形態を限定したりするよう意図されたものではない。
この明細書中において言及される「階層(tier)」という語は、共通の性能特性を有する記憶媒体装置の群または配列である。この明細書中において言及される「性能特性(performance characteristic)」という語は、如何なる装置動作およびインターフェイスタイミングをも含み得るデータ処理能力の基準である。性能特性の例として、アクセス時間、データスループット、インターフェイス帯域幅、1秒当たりの入出力動作(IOPS:input-output operations per second)、およびデータの優先順位を含み得る。この明細書中において言及される「記憶媒体装置(storage media device)」という語は、コンピュータシステム環境においてデータをアーカイブしたり、このデータにアクセスしたりするために用いられる装置である。たとえば、記憶媒体装置は、用いられるインターフェイス接続にかかわらず、磁気ディスクドライブ、ソリッドステートディスクドライブ、光ディスクドライブ、磁気テープドライブなどであってもよい。この明細書中において言及される「仮想ストレージ(virtual storage)」という語は、各々がアドレス可能な総メモリの一部を表している1つ以上のメモリデバイスで構成されるコンピュータシステムにとって利用可能であるアドレス可能な総メモリである。仮想ストレージは、1つ以上のメモリデバイス内で物理アドレスに翻訳される仮想アドレスによってアドレス指定される。
この明細書中において言及される「モジュール(module)」という語は、この語が用いられている文脈に応じて、本発明の実施形態においてソフトウェア、ハードウェアまたはそれらの組合せを含み得る。たとえば、ソフトウェアはマシンコード、ファームウェア、埋込みコードおよびアプリケーションソフトであってもよい。また、たとえば、ハードウェアは、回路類、プロセッサ、コンピュータ、集積回路、集積回路コア、圧力センサ、慣性センサ、微小電気機械システム(MEMS:microelectromechanical system)、受動素子、またはこれらの組合せであってもよい。
ここで図1を参照すると、本発明の実施形態におけるデータ管理メカニズムを備えたストレージシステム100のブロック図が示される。ストレージシステム100のブロック図は、バスドライバインターフェイスモジュール104およびストレージ階層マネージャ106を含むブロックレベルストレージプロセッサ102を示す。ストレージ階層マネージャ106は、バスドライバインターフェイスモジュール104を制御し、かつブロックレベルストレージプロセッサ102の動作を管理するように構成されたプロセッサまたは組込み型プロセッサであってもよい。バスドライバインターフェイスモジュール104は、次のレベルシステム(図示せず)との通信に関連するプロトコルを実現することができる。
ブロックレベルストレージプロセッサ102は、ブロックレベル階層化、仮想−物理(virtual to physical)デバイスマッピングおよび他のデータ管理機能を含むさまざまなストレージ仮想化機能を実行することができる。ブロックレベルストレージプロセッサ102は、システムプロセッサ(図示せず)によって実行されるべき非一時的なコンピュータ読取り可能媒体(図示せず)に対する命令として実現することができる。非一時的なコンピュータ読取り可能媒体は、不揮発性メモリ、たとえば、ハードディスクドライブ、不揮発性ランダムアクセスメモリ(NVRAM:non-volatile random access memory)、ソリッドステートストレージデバイス(SSD:solid-state storage device)、コンパクトディスク(CD:compact disk)、デジタルビデオディスク(DVD:digital video disk)、またはユニバーサルシリアルバス(USB:universal serial bus)フラッシュメモリ素子などを含み得る。非一時的なコンピュータ読取り可能媒体は、システムの一部として組み込まれてもよく、または、システムから取り外し可能なものとして据付けられてもよい。ブロックレベルストレージプロセッサ102は、非一時的なコンピュータ読取り可能媒体からの命令を実行するフレキシブルなハードウェアもしくは専用のハードウェアの組合わせとして実現することができるか、または、専用のハードウェアモジュールから実現することができる。
インターフェイスバス108は、バスドライバインターフェイスモジュール104を次のレベルシステム(図示せず)に結合することができる。インターフェイスバス108は、ストレージシステム100と次のレベルシステム(図示せず)との間に双方向通信経路を提供することができる。インターフェイスバス108は、ブロックレベルストレージプロセッサ102との通信およびブロックレベルストレージプロセッサ102へのデータの送達のために用いられるパラレルバス、シリアルバス、電子接続、光学接続または無線接続であってもよい。バスドライバインターフェイスモジュール104は、データマネージャバス110によってストレージ階層マネージャ106に結合することができる。データマネージャバス110は、インターフェイスバス108に対するデータおよびインターフェイスの交換を受信または駆動することができる。
媒体インターフェイスバス112は、ストレージ階層マネージャ106を記憶媒体インターフェイスモジュール114に結合することができる。媒体インターフェイスバス112は、ストレージ階層マネージャ106と記憶媒体インターフェイスモジュール114との間でデータのブロックおよびセットアップ情報をやりとりすることを可能にするための通信経路を提供することができる。記憶媒体インターフェイスモジュール114は、高性能ストレージデバイス116および低性能ストレージデバイス118のための通信プロトコルを実現することができる。
高性能ストレージデバイス116は、低性能ストレージデバイス118と同じであってもよいが、これらは、性能、容量、コスト、電力消費および1秒当たりの入出力動作(IOPS)の点で異なっていることが多い。高性能ストレージデバイス116の配列は第1の階層ストレージ120を形成することができ、離散的な構成要素の形状をしたNANDフラッシュベースのデバイス、スタンドアロンのソリッドステートディスク(SSD)、または極めて高性能のシリアル接続SCSI(SAS:serial attached SCSI)ディスクドライブなどの半導体ベースの記憶素子を含み得る。低性能ストレージデバイス118の代替的な配列は、シリアル高度技術接続(SATA:serial advanced technology attach)、シリアル接続SCSI(SAS)、ネットワーク接続ストレージ、または他のより低速形態の媒体などの第2の階層ストレージ122を形成することができる。
ブロックレベルストレージプロセッサ102を介するデータのブロックの転送は、初めに第1の階層ストレージ120または第2の階層ストレージ122のいずれかに記憶させることができる。その後行われるデータのブロックの如何なるアクセスも、ストレージ階層マネージャ106によって分析することができる。ストレージ階層マネージャ106は、データのブロックのうちいずれが、最も頻繁にアクセスされた読出し、組合された読出しおよび書込み、ストリーミング、またはランダムアクセス特徴などに該当するかを判断するためにそれらアクセスを監視することができる。
高頻度にアクセスしたせいで、データのブロックのうちいずれかが低性能ストレージデバイス118に誤って配置されているとストレージ階層マネージャ106が判断した場合、ストレージ階層マネージャ106は、このデータのブロックを高性能ストレージデバイス116上のデータのブロックと交換することができる。ストレージ階層マネージャ106はまた、アクセスが低頻度であったために高性能ストレージデバイス116に誤って配置されているデータのブロックを識別することができ、このデータのブロックを低性能ストレージデバイス118と交換することができる。第1の階層ストレージ120と第2の階層ストレージ122との間でデータブロックをこのように交換することにより、ストレージシステム100の性能を最適化することができる。
どのデータのブロックを第1の階層ストレージ120と第2の階層ストレージ122との間で交換しなければならないかについての判断は、ストレージ階層マネージャ106によって制御される。第1の階層ストレージ120と第2の階層ストレージ122との間におけるデータのブロックの交換の実際のプロセスは、次のレベルシステム(図示せず)からの干渉なしに、ストレージ階層マネージャ106および記憶媒体インターフェイスモジュール114によって実行することができる。
第1の階層ストレージ120および第2の階層ストレージ122を有するストレージシステム100が単なる一例に過ぎず、ストレージの付加的な階層をいくつでも実現できることが理解される。第1の階層ストレージ120に示される高性能ストレージデバイス116の配列が単なる一例に過ぎず、高性能ストレージデバイス116をいくつでもこの配列に含めることができることがさらに理解される。同様に、第2の階層ストレージ122における低性能ストレージデバイス118の代替的な配列は単なる一例に過ぎず、低性能ストレージデバイス118をいくつでもこの代替的な配列に含めることができる。第1の階層ストレージ120および第2の階層ストレージ122が、ソリッドステートフラッシュベースのメモリまたはその派生物、相変化メモリ、揮発性および不揮発性のランダムアクセスメモリ、回転媒体またはシリアルテープストリーミングの如何なる組合せであってもよいことがさらに理解される。
ブロックレベルストレージプロセッサ102が、第1の階層ストレージ120および第2の階層ストレージ122の各々の内部において、低性能ストレージデバイス118上に存在する高プライオリティ属性を有し、かつ高性能ストレージデバイス116上に存在する低プライオリティ属性を有していると識別された領域を決定することができることが見出された。ブロックレベルストレージプロセッサ102は、ストレージシステム100の性能を向上させるために、第1の階層ストレージ120と第2の階層ストレージ122との間でデータのブロックを自律的に交換することができる。ストレージ階層マネージャ106は、内部メモリにおける優先されたテーブルまたはこれらの高プライオリティ領域および低プライオリティ領域の記憶媒体の専用の領域を、ユーザプログラマブルなプロモーションポリシーまたはデフォルトセットのプロモーションポリシーに基づいて交換する必要があるかどうかを決定する目的で、維持することができる。
ここで図2を参照すると、図1のストレージシステム100の例示的なアプリケーション201のブロック図が示される。ストレージシステム100の例示的なアプリケーション201のブロック図は、プロセッサバス206によってインターフェイスバスコントローラ204に結合されたシステムプロセッサ202を示す。
インターフェイスバスコントローラ204は、システムプロセッサ202とブロックレベルストレージプロセッサ102との間でコマンドおよびデータを送受信するために、インターフェイスバス108を駆動することができる。インターフェイスバス108は、ブロックレベルストレージプロセッサ102とシステムプロセッサ202との間で通信を行いデータをやり取りするのに用いられるパラレルバス、シリアルバス、電子接続、光接続または無線接続であってもよい。
システムプロセッサ202は、第1の階層ストレージ120または第2の階層ストレージ122からアプリケーションまたはデータにアクセスすることができる。ブロックレベルストレージプロセッサ102は、システムプロセッサ202によってアクセスされたデータのブロックの統計を監視して、データのブロックの適切なプライオリティを決定し、データのブロックの交換が必要であるかどうかを判断することができる。ブロックレベルストレージプロセッサ102は、システムプロセッサ202の情報または支援なしに、第1の階層ストレージ120と第2の階層ストレージ122との間でデータのブロックを交換することができる。
データのブロックの交換が必要であるとブロックレベルストレージプロセッサ102が判断した場合、記憶媒体インターフェイスモジュール114は、システムプロセッサ202によるアクセスが妨げられることなく続いている間、交換を実行するためにセットアップされ得る。第1の階層ストレージ120から第2の階層ストレージ122へのデータのブロックの転送、および、第2の階層ストレージ122から第1の階層ストレージ120へのデータのブロックの転送は、システムプロセッサ202の情報または支援なしに、ブロックレベルストレージプロセッサ102および記憶媒体インターフェイスモジュール114によって実行される。
ストレージシステム100が、第1の階層ストレージ120におけるデータのブロックのうち最も使用されたものと、第2の階層ストレージ122におけるデータのブロックのうち最も使用されなかったものとを維持することによって、例示的なアプリケーション201の性能を向上させ得ることが見出された。第1の階層ストレージ120と第2の階層ストレージ122との間でのデータのブロックの交換は、システムプロセッサ202の実行に対して如何なるオーバーヘッドまたは追加のコマンドを追加することなく、ブロックレベルストレージプロセッサ102および記憶媒体インターフェイスモジュール114によって実行することができる。
ここで図3を参照すると、図1のストレージシステム100についての仮想−物理翻訳(virtual to physical translation)301の例示的なブロック図が示される。ストレージシステム100のための仮想−物理翻訳301の例示的なブロック図は、斜線模様の長方形で表わされる低活動領域304と、斜交平行模様の長方形で表わされる高活動領域306とを有する仮想ストレージ容量302を示す。
仮想−物理変換308は、図1のストレージ階層マネージャ106によって実行することができる。低活動領域304および高活動領域306の最初の書込みの際に、それらの物理的な位置は適切なプライオリティを反映していない可能性がある。低活動領域304が表している第1の階層ストレージ120のうちの一部は、アクセス頻度が最も低く、これにより、低活動領域304が、第1の階層ストレージ120のうちの高プライオリティおよび高性能の空間に記憶される低プライオリティデータとなる。高活動領域306が表している第2の階層ストレージ122のうちの一部は、アクセス頻度が最も高く、これにより、高活動領域306が、第2の階層ストレージ122のうちの低プライオリティおよび低性能の空間に記憶される高プライオリティデータとなる。
低活動領域304および高活動領域306がシステムプロセッサ202によってアクセスされると、ストレージ階層マネージャ106によってプライオリティを決定することができる。第1の階層ストレージ120が低活動領域304で書き込まれ、第2の階層ストレージ122が高活動領域306で書き込まれたとストレージ階層マネージャ106が判断した場合、ストレージ階層マネージャ106によって図1の記憶媒体インターフェイスモジュール114のためにデータのブロックの交換を予定することができる。
ブロックレベルストレージプロセッサ102は、任意の数の基準、たとえば、アクセス頻度の最も高い読出し、組合わされた読出しおよび書込み、ストリーミング、またはランダムアクセス特徴、およびアクセス頻度の最も低い読出しなどに基づいて、プライオリティを決定することができる。プライオリティが予め定められたしきい値を上回る場合、ストレージ階層マネージャ106は、第1の階層ストレージ120における低活動領域304を第2の階層ストレージ122における高活動領域306と交換することができる。
低活動領域304と高活動領域306とを交換することにより、高活動領域306の性能を改善させることができ、低活動領域304の利用可能性にほとんど差を生じさせないようにすることができることが理解される。ストレージ階層マネージャ106は、システムプロセッサ202が高活動領域306にアクセスし続けることを可能にしつつ、低活動領域304と高活動領域306との交換を調整することができる。交換が完了すると、ストレージ階層マネージャ106は、システムプロセッサ202についての仮想アドレスを変更することなく、新しい物理的な位置を反映させるように仮想−物理テーブルを更新することができる。このようにして、低活動領域304および高活動領域306の物理的な位置の変更をシステムプロセッサ202に気付かせることなく、物理的な位置を変更させることができる。
ここで図4を参照すると、図1のストレージシステム100における高活動領域306と低活動領域304との交換401の例が図示される。高活動領域306と低活動領域304との交換401の例示的な図は、第2の階層ストレージ122から高活動領域306を受取るための第1の階層ストレージ120における宛先領域402を示す。
第2の階層ストレージ122における宛先領域402は、第1の階層ストレージ120から低活動領域304を受取ることができる。交換401が完了すると、図1のストレージ階層マネージャ106は、低活動領域304および高活動領域306の新しい物理的な位置を示すために、ストレージシステム100内で仮想−物理テーブルを更新することができる。仮想−物理テーブルの更新前に読出しコマンドが高活動領域306をアドレス指定する場合、高活動領域306はその初期の位置から利用可能となるだろう。仮想−物理テーブルの更新後、高活動領域306が第1の階層ストレージ120における新しい位置から読出されるだろう。このプロセスにより、交換中に停電が起こった場合でも高活動領域306内におけるデータのブロックが確実に保護されることとなる。なぜなら、仮想−物理テーブルが更新されるまで交換が実施されないからである。仮想−物理テーブルは、低活動領域304と高活動領域306とのデータのブロックの交換を反映させるために一回だけ更新される。
ストリーミング対ランダムデータアクセスパターンの優先順位付け、時刻によって異なるアクセス、主要な読出し対書込みによって異なるアクセス、アクセスの頻度、およびユーザによって規定することができる他の基準などのデータアクセスパターンの特徴づけに基づいて、ストレージシステム100がデータのブロックのプライオリティを決定するための手段を提供することが見出された。プライオリティが満たされたときに交換401を実行することにより、ストレージシステム100は、図1の高性能ストレージデバイス116のより高い性能を活用するために、高活動領域306を第1の階層ストレージ120に移動させることによって、図2のシステムプロセッサ202の性能を向上させることができる。
ここで図5を参照すると、図1のストレージシステム100における高活動領域306と低活動領域304との安全な交換501が例示される。この安全な交換501の例示的な図は、交換中に低活動領域コピー504を保持するのに用いることができる第2の階層ストレージ122の予備用区域(reserved section)502を示す。
安全な交換501は2ホップ転送(two-hop transfer)と見なすことができる。安全な交換501に備えて、低活動領域304を予備用区域502にコピーすることができる。仮想−物理テーブルは、低活動領域304についての新しい物理アドレスを反映させるために、図1のストレージ階層マネージャ106によって更新することができる。次に、高活動領域306は、低活動領域304によって占められた第1の階層ストレージ120における位置にコピーすることができる。仮想−物理テーブルは、高活動領域306の新しい位置を反映させるために、ストレージ階層マネージャ106によって更新することができる。
高活動領域306が第1の階層ストレージ120に転送されると、低活動領域コピー504は予備用区域502から第2の階層ストレージ122にコピーすることができ、仮想−物理テーブルは、低活動領域304の移動を反映させるためにストレージ階層マネージャ106によって更新することができる。このプロセスは、仮想−物理テーブルを3回更新することを必要とする。代替的には、予備用区域502は、第2の階層ストレージ122内のいずれかの場所における予備容量(reserved capacity)と見なすことができる。これにより、低活動領域304の2回目の転送が不要となり、さらに、高活動領域306を第1の階層ストレージ120に転送することによって空にされた容量を予備用区域502に加えることができる。この代替的なプロセスでは、仮想−物理テーブルを2回更新することが必要となる。
ここで図6を参照すると、図1のストレージシステム100のための仮想−物理翻訳601が例示される。仮想−物理翻訳601の例示的な図は、高活動領域306を有する仮想ストレージ容量302を示す。
仮想ストレージ容量302は、第1の階層ストレージ120および第2の階層ストレージ122にマッピングすることができる。物理的なストレージデバイスの付加的な階層が実現可能であることが理解される。説明を容易にするために、第1の階層ストレージ120および第2の階層ストレージ122だけを示す。高活動領域306は、図1の高性能ストレージデバイス116のうち1つの範囲内に配置され得る。高活動領域306の物理的な位置は物理ブロック領域602であってもよい。
物理ブロック領域602はいくつかのデータのブロック604から構成することができる。データのブロック604は、物理的な媒体上のセクタにデータを物理的にマッピングすることを含み得る。高性能ストレージデバイス116は、データのブロック604に関連付けられるデータセクタ(図示せず)の位置を突き止めるために別個のマッピング構造を維持するブロックアドレス指定型装置であってもよい。
付加的な容量が高活動領域306によって用いられる場合に、物理ブロック領域602が高性能ストレージデバイス116の境界にわたって延在し得ることが理解される。高活動領域306を物理ブロック領域602にマッピングするのに用いられる仮想−物理テーブルは、図1のストレージ階層マネージャ106によって維持される。
いくつかの実施形態においては、第2の階層ストレージ122は予備用区域502を含み得る。予備用区域は1本線の物理ブロック領域602として示されているが、物理ブロック領域602が予備用区域502にいくつでも含まれ得ることが理解される。予備用区域502に関連付けられる物理ブロック領域602を第2の階層ストレージ122全体にわたって分散させることができることも理解される。
同様に、低活動領域304を第2の階層ストレージ122に位置する物理ブロック領域602にマッピングできることが理解される。第2の階層ストレージ122が図1の低性能ストレージデバイス118から構成されているので、さまざまな数のデータのブロック604で、低活動領域304のための物理ブロック領域602を構成することができる。低活動領域304および高活動領域306の物理的容量が同じであることが理解される。高性能ストレージデバイス116および低性能ストレージデバイス118が同じ装置タイプであってもよく、または異なる装置タイプであってもよいことがさらに理解される。
第1の階層ストレージ120が予備用区域502をも含み得ることが理解される。第1の階層ストレージ120および第2の階層ストレージ122の実現例は、図1のストレージシステム100の構成と、図4の交換401のタイプまたは実現される図5の安全な交換501のタイプとに依存し得る。第1の階層ストレージ120および第2の階層ストレージ122の全体的な容量は、いくつかの物理ブロック領域602から構成され得る。
ここで図7を参照すると、図1のストレージシステム100のホストバスアダプタ実現例701の機能ブロック図が示される。ホストバスアダプタ実現例701の機能ブロック図は、メモリデバイス704において、第1の階層ストレージ120および第2の階層ストレージ122のために、使用統計(usage statistics)703を維持するストレージ階層マネージャ106を示す。ストレージ階層マネージャ106は、使用統計703を生成するために第1の階層ストレージ120および第2の階層ストレージ122に対する各アクセスを監視することができる。使用統計703は、図3の低活動領域304および図3の高活動領域306を決定するために設定されたプライオリティに基づいて評価することができる。
メモリデバイス704は、ストレージ階層マネージャ106における離散的メモリ構成要素または埋込み型メモリ構成要素であってもよい。ストレージ階層マネージャ106およびメモリデバイス704の実現例は、メモリデバイス704のインスタンスが埋込まれているストレージ階層マネージャ106と同じ態様で動作可能である。
ストレージ階層マネージャ106は、図2のシステムプロセッサ202に対して提示されかつ図2のシステムプロセッサ202によってアクセスされる図3の仮想ストレージ容量302に複数の物理デバイスをマッピングするのに用いられる仮想−物理マッピング機能を実行することができる。仮想−物理テーブル705は、使用統計703から決定される低活動領域304および高活動領域306に関連付けられる図6の物理ブロック領域602を識別するために、メモリデバイス704に維持することができる。
ストレージ階層マネージャ106は、第1の階層コントローラ706および第2の階層コントローラ708に結合することができる。第1の階層コントローラ706と第2の階層コントローラ708とストレージ階層マネージャ106とを組合せることで、図1の記憶媒体インターフェイスモジュール114の機能を提供することができる。図4の交換401を実行するために、ストレージ階層マネージャ106は、第1の階層コントローラ706および第2の階層コントローラ708を介して、図3の低活動領域304および図3の高活動領域306の移動を個々に調整しなければならない。
第1の階層コントローラ706は、いくつかの高性能ストレージデバイス116から構成される第1の階層ストレージ120に結合することができる。高性能ストレージデバイス116は、半導体ベースのソリッドステートドライブ(SSD)、超高性能磁気ディスク、たとえば、10,000RPM〜15,000RPMで回転するシリアル接続小型コンピュータシステムインターフェイス(SAS)ディスクドライブなどを含み得る。第1の階層コントローラ706は、図示のとおり高性能ストレージデバイス116の個々のユニットに結合され得るか、または、第1の階層ストレージ120を収容する筐体(図示せず)に対して、光学インターフェイスなどの単一の高性能インターフェイスを介して結合され得る。
第2の階層コントローラ708は、低性能ストレージデバイス118で構成される第2の階層ストレージ122に結合することができる。低性能ストレージデバイス118は、シリアル高度技術接続(SATA)ドライブ、ネットワーク接続ストレージ(NAS)、または、7200RPMで回転するシリアル接続小型コンピュータシステムインターフェイス(SAS)ディスクドライブを含み得る。第2の階層コントローラ708は、図示のとおり低性能ストレージデバイス118の個々のユニットに結合することができるか、または、第2の階層ストレージ122を収容する筐体(図示せず)に対して、光学インターフェイスなどの単一の高性能インターフェイスを介して結合することができる。
ストレージ階層マネージャ106は、インターフェイスバスコントローラ204を介して図2のシステムプロセッサ202と通信するためにバスドライバインターフェイスモジュール104に結合することができる。インターフェイスバスコントローラ204が、プラグ接続可能なプリント回路基板上に搭載されたストレージ階層マネージャ106、メモリデバイス704、第1の階層コントローラ706、第2の階層コントローラ708、およびバスドライバインターフェイスモジュール104で構成されるブロックレベル階層化アダプタ710の挿入を可能にするのに必要な取付け用ハードウェアおよび電子機器を含み得ることが理解される。
ストレージシステム100が、第1の階層ストレージ120および第2の階層ストレージ122に結合されたブロックレベル階層化アダプタ710として実現され得ることが見出された。ブロックレベル階層化アダプタ710の実現例により、既存のコンピュータシステムに変更を加える必要なしに、既存のコンピュータシステム(図示せず)へのストレージシステム100を含めるようにアップグレード経路を提供することができる。ブロックレベル階層化アダプタ710の動作中、ストレージ階層マネージャ106は、高活動領域306に対応する物理ブロック領域602および低活動領域304に対応する物理ブロック領域602の使用統計703を維持することができる。ストレージ階層マネージャ106は、メモリデバイス704において使用統計703を維持することができる。
ここで図8を参照すると、図1のストレージシステム100のネットワーク接続実現例801の機能ブロック図が示される。ネットワーク接続実現例801の機能ブロック図は、メモリデバイス704に結合されたストレージ階層マネージャ802を示す。階層ストレージマネージャ802は、図1の階層ストレージマネージャ106および図1の記憶媒体インターフェイスモジュール114によって実行される機能を含み得る。ストレージ階層マネージャ802は、シングルレベルコード(SLC:single level code)NANDフラッシュ素子または相変化メモリ(PCM:phase change memory)素子の配列などの、第1のストレージアレイ806に結合された第1のソリッドステート駆動コントローラ804に結合することができる。
ストレージ階層マネージャ802も第2のソリッドステート駆動コントローラ808に結合することができる。第2のソリッドステート駆動コントローラ808は、マルチレベルコード(MLC:multi-level code)NANDフラッシュ素子の配列などの第2のストレージアレイ810に結合することができる。
ストレージ階層マネージャ802は、次のレベルシステム(図示せず)と通信するためにバスドライバインターフェイスモジュール104に結合することができる。バスドライバインターフェイスモジュール104は、シリアル光学インターフェイスまたはシリアル電気インターフェイスなどのシリアルインターフェイス812をサポートすることができる。シリアルインターフェイス812は、次のレベルシステムと通信するためにシリアル接続SCSI(SAS)、シリアル高度技術接続(SATA)またはインターネット小型コンピュータシステムインターフェイス(iSCSI)インターフェイスを含み得る。
筐体814は、電源、ファンおよびコネクタ(図示せず)を備えたプリント回路基板上に搭載されたストレージ階層マネージャ802、メモリデバイス704、第1のソリッドステート駆動コントローラ804、第1のストレージアレイ806、第2のソリッドステート駆動コントローラ808、第2のストレージアレイ810、およびバスドライバインターフェイスモジュール104を収容することができる。
ここで図9を参照すると、図1のストレージシステム100の詳細な動作のフローチャート901が示される。フローチャート901は、同時に動作可能な第2の階層の監視モジュール902および第1の階層の監視モジュール904を示す。
第2の階層の監視モジュール902は、図1の第2の階層ストレージ122のうちアクセス頻度の最も高い領域のテーブルをコンパイルすることができる。これらの領域は、図6の物理ブロック領域602であってもよく、図6の特定数のデータのブロック604を含んでもよい。
第1の階層の監視モジュール904は、アクセス頻度の最も低い領域を識別するために、図1の第1の階層ストレージ120におけるアクセスのテーブルをコンパイルすることができる。第1の階層ストレージ120における領域は物理ブロック領域602と同じ容量となるように規定されているが、第1の階層ストレージ120において見出される図1の高性能ストレージデバイス116のフォーマットが、第2の階層ストレージ122において見出される図1の低性能ストレージデバイス118のフォーマットとは異なる場合には、異なる数のデータのブロック604を含んでもよい。
第2の階層ストレージ122の物理ブロック領域602のうち、第1の階層ストレージ120へとプロモートされるべきである候補が存在しているかどうかを判断するために、図7の使用統計703をプロモーション基準によって決定されたしきい値と比較することのできるプロモーションしきい値モジュール906によって、第2の階層の監視モジュール902がチェックされる。プロモーション基準はデータアクセスパターンの特徴づけ、時刻ベースでのアクセス、最も頻繁にアクセスされた読出し、組合わされた読出しおよび書込み、読出しのストリーミングなどであってもよい。プロモーションのためのしきい値は、ユーザ入力またはシステムデフォルトによって決定可能であり、第2の階層ストレージ122の物理ブロック領域602のうちの候補となる使用統計703と比較可能である。
プロモーションしきい値が満たされない場合、次のプロモーション機会を待つために、フローが第2の階層の監視モジュール902および第1の階層の監視モジュール904に戻される。しかしながら、プロモーションしきい値が満たされる場合、フローは交換ターゲットの取込みモジュール908に進む。
交換ターゲットの取込みモジュール908は、第1の階層の監視モジュール904から第1の階層ストレージ120における最もアクセス頻度の低い領域と、第2の階層の監視モジュール902から第2の階層ストレージ122のうち最もアクセス頻度の高い領域とを取込むことができる。第1の階層の監視モジュール904からの入力は、第1の階層ストレージ120において最も活動的でない物理ブロック領域602を表わす。第2の階層の監視モジュール902からの入力は、第2の階層ストレージ122において最も活動的である物理ブロック領域602を表わす。
次いで、フローが交換の確認モジュール910に進み、そこで、図1のストレージ階層マネージャ106は、第1の階層ストレージ120において最も活動的でない物理ブロック領域602が、第2の階層ストレージ122において最も活動的である物理ブロック領域602ほど活動的ではないことを確認する。このチェックにより、過度に負荷が掛けられたストレージシステム100が、ストレージシステム100のスループットを下げる可能性のある物理ブロック領域602の交換を実行しないことを確認することができる。
第1の階層ストレージ120において最も活動的でない物理ブロック領域602が第2の階層ストレージ122において最も活動的である物理ブロック領域602よりも活動的であると交換の確認モジュール910が判断した場合、交換が不可能となり、次のプロモーション機会を待つために、フローが第2の階層の監視モジュール902および第1の階層の監視モジュール904に戻される。第1の階層ストレージ120において最も活動的でない物理ブロック領域602が第2の階層ストレージ122において最も活動的である物理ブロック領域602ほど活動的ではないと交換の確認モジュール910が判断した場合、フローが物理領域の交換モジュール912に進む。
物理領域の交換モジュール912は、図1の記憶媒体インターフェイスモジュール114に対して、図4の交換401のモードまたは図5の安全な交換501のモードで物理ブロック領域602のうち識別されたユニットを移動させるように命令することができる。物理ブロック領域602の交換が、第1の階層ストレージ120および第2の階層ストレージ122に位置する図4の宛先領域402と同時に実行され得るか、または、図5の予備用区域502の使用に続いて実行され得ることが理解される。他の実現例は、転送中に一時的な保持位置として機能するようにメモリデバイス704を使用することによって実現可能である。
転送が完了すると、フローが仮想ポインタの更新モジュール914に進む。仮想ポインタの更新モジュール914は、図7の仮想−物理テーブル705において第1の階層ストレージ120と第2の階層ストレージ122との間で転送される物理ブロック領域602の新しい位置を提供する。
ストレージシステム100は、一例としてモジュール機能または順序を用いて説明された。ストレージシステム100は、モジュールをさまざまに分割するか、またはモジュールをさまざまに順序付けることができる。たとえば、第2の階層の監視モジュール902および第1の階層の監視モジュール904は、第1の階層ストレージ120および第2の階層ストレージ122の両方において物理ブロック領域602の単一の活動度リストから実行可能である。用いられる説明は、本発明の実施形態の動作を、その実現例だけに限定することなく明瞭に表わすよう意図されたものである。
この応用例において記載されるモジュールは、図1のストレージ階層マネージャ106におけるハードウェア実現例またはハードウェアアクセラレータであってもよい。モジュールはまた、図1のストレージ階層マネージャ106内におけるハードウェア実現例またはハードウェアアクセラレータであってもよい。
ここで図10を参照すると、本発明の実施形態におけるストレージシステム100の動作方法1000のフローチャートが示される。方法1000は、ブロック1002において、第1の階層ストレージおよび第2の階層ストレージに結合されたストレージ階層マネージャにアクセスするステップと、ブロック1004において、第1の階層ストレージにおける低活動領域および第2の階層ストレージにおける高活動領域を識別するステップと、ブロック1006において、ストレージ階層マネージャによって、高活動領域に対応する物理ブロック領域を低活動領域に対応する物理ブロック領域と交換するステップとを含む。
結果として得られる方法、プロセス、装置、デバイス、プロダクトおよび/またはシステムは、簡単明瞭で、コスト効率が良く、単純で、非常に汎用性があり、正確で、感度がよく、効果的であり、そして、容易で効率的かつ経済的に製造、適用および利用できる公知の構成要素を適合させることによって実現することができる。本発明の実施形態の別の重要な局面は、コストを削減し、システムを簡易化し、性能を高めるヒストリカルトレンドを有益に支持および整備することである。
本発明の実施形態のこれらおよび他の有益な局面は、結果として、技術の状態を少なくとも次のレベルへと推進する。
本発明を具体的なベストモードと共に記載してきたが、多くの代替例、変更例および変形例が上述の説明に照らし合わせると当業者にとって明らかになるであろうことが理解されるはずである。したがって、添付の特許請求の範囲内にあるこのような代替例、変更例および変形例をすべて包含するように意図されている。この明細書中に記載されるかまたは添付の図面に示される事柄はすべて、例示的かつ非限定的に解釈されるべきである。

Claims (15)

  1. ストレージシステム(100)の動作方法(1000)であって、
    第1の階層ストレージ(120)および第2の階層ストレージ(122)に結合されたストレージ階層マネージャ(106)にアクセスするステップを含み、第2の階層ストレージ(122)は第1の階層ストレージ(120)よりも低性能であり、方法(1000)はさらに
    第1の階層ストレージ(120)における低活動領域(304)および第2の階層ストレージ(122)における高活動領域(306)を識別するステップと、
    ストレージ階層マネージャ(106)によって、低活動領域(304)に低プライオリティを割り当て、高活動領域(306)に高プライオリティを割り当てるステップと、
    ストレージ階層マネージャ(106)によって高活動領域(306)に対応する物理ブロック領域(602)を低活動領域(304)に対応する物理ブロック領域(602)と交換するステップとを含み、前記交換は、高活動領域(306)の高プライオリティが所定のしきい値を上回り、かつ低活動領域(304)の低プライオリティより高い場合に、高活動領域(306)のアクセス中に開始する、方法(1000)。
  2. 低活動領域(304)および高活動領域(306)を識別するためにストレージ階層マネージャ(106)によって使用統計(703)を生成するステップをさらに含む、請求項1に記載の方法(1000)。
  3. 高活動領域(306)に対応する物理ブロック領域(602)を交換するステップは、高活動領域(306)の使用統計(703)を比較するステップを含む、請求項1に記載の方法(1000)。
  4. ストレージ階層マネージャ(106)によって、高活動領域(306)に対応する物理ブロック領域(602)を低活動領域(304)に対応する物理ブロック領域(602)と交換するステップは、ストレージ階層マネージャ(106)によって仮想−物理テーブル(705)を更新するステップを含む、請求項1に記載の方法(1000)。
  5. 記憶媒体インターフェイスモジュール(114)によって、高活動領域(306)に対応する物理ブロック領域(602)を低活動領域(304)に対応する物理ブロック領域(602)と交換するステップをさらに含む、請求項1に記載の方法(1000)。
  6. ストレージシステム(100)であって、
    第1の階層ストレージ(120)および第2の階層ストレージ(122)に結合されたストレージ階層マネージャ(106)と、
    低活動領域(304)を有する、第1の階層ストレージ(120)における高性能ストレージデバイス(116)と、
    高活動領域(306)を有する、第2の階層ストレージ(122)における低性能ストレージデバイス(118)と、
    ストレージ階層マネージャ(106)に結合された記憶媒体インターフェイスモジュール(114)とを含み、前記記憶媒体インターフェイスモジュール(114)は、ストレージ階層マネージャ(106)によって、低活動領域(304)に低プライオリティを割り当て、高活動領域(306)に高プライオリティを割り当てるためと、ストレージ階層マネージャ(106)によって低性能ストレージデバイス(118)における高活動領域(306)に対応する物理ブロック領域(602)を高性能ストレージデバイス(116)における低活動領域(304)に対応する物理ブロック領域(602)と交換するためのものであり、前記交換は、高活動領域(306)の高プライオリティが所定のしきい値を上回り、かつ低活動領域(304)の低プライオリティより高い場合に、高活動領域(306)のアクセス中に開始される、ストレージシステム(100)。
  7. 高性能ストレージデバイス(116)および低性能ストレージデバイス(118)の使用統計(703)を生成するための、ストレージ階層マネージャ(106)に結合されたシステムプロセッサ(202)をさらに含む、請求項6に記載のシステム(100)。
  8. 高活動領域(306)を決定するためにストレージ階層マネージャ(106)においてプロモーションしきい値モジュール(906)をさらに含む、請求項6に記載のシステム(100)。
  9. ストレージ階層マネージャ(106)によって低活動領域(304)に対応する物理ブロック領域(602)と交換された高活動領域(306)に対応する物理ブロック領域(602)は、ストレージ階層マネージャ(106)によって更新された仮想−物理テーブル(705)を含む、請求項6に記載のシステム(100)。
  10. 記憶媒体インターフェイスモジュール(114)とストレージ階層マネージャ(106)との間に結合され、高活動領域(306)に対応する物理ブロック領域(602)を低活動領域(304)に対応する物理ブロック領域(602)と交換するための媒体インターフェイスバス(112)をさらに含む、請求項6に記載のシステム(100)。
  11. 非一時的なコンピュータ読取可能媒体であって、
    第1の階層ストレージ(120)および第2の階層ストレージ(122)に結合されたストレージ階層マネージャ(106)にアクセスすることを含み、第2の階層ストレージ(122)は第1の階層ストレージ(120)よりも低性能であり、非一時的なコンピュータ読取可能媒体はさらに
    第1の階層ストレージ(120)における低活動領域(304)および第2の階層ストレージ(122)における高活動領域(306)を識別することと、
    低活動領域(304)に低プライオリティを割り当て、高活動領域(306)に高プライオリティを割り当てることと、
    ストレージ階層マネージャ(106)によって、高活動領域(306)に対応する物理ブロック領域(602)を低活動領域(304)に対応する物理ブロック領域(602)と交換することとを含み、前記交換は、高活動領域(306)の高プライオリティが所定のしきい値を上回り、かつ低活動領域(304)の低プライオリティより高い場合に、高活動領域(306)のアクセス中に開始する、非一時的なコンピュータ読取可能媒体。
  12. 低活動領域(304)および高活動領域(306)を識別するためにストレージ階層マネージャ(106)によって使用統計(703)を生成することをさらに含む、請求項11に記載の非一時的なコンピュータ読取可能媒体。
  13. 高活動領域(306)に対応する物理ブロック領域(602)を交換することは、高活動領域(306)の使用統計(703)を比較することを含む、請求項11に記載の非一時的なコンピュータ読取可能媒体。
  14. ストレージ階層マネージャ(106)によって、高活動領域(306)に対応する物理ブロック領域(602)を低活動領域(304)に対応する物理ブロック領域(602)と交換することは、ストレージ階層マネージャ(106)によって仮想−物理テーブル(705)を更新することを含む、請求項11に記載の非一時的なコンピュータ読取可能媒体。
  15. 記憶媒体インターフェイスモジュール(114)によって、高活動領域(306)に対応する物理ブロック領域(602)を低活動領域(304)に対応する物理ブロック領域(602)と交換することをさらに含む、請求項11に記載の非一時的なコンピュータ読取可能媒体。
JP2015507238A 2012-04-20 2013-04-19 データ管理メカニズムを備えたストレージシステムおよびその動作方法 Active JP5942037B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261635869P 2012-04-20 2012-04-20
US61/635,869 2012-04-20
PCT/US2013/037487 WO2013159068A1 (en) 2012-04-20 2013-04-19 Storage system with data management mechanism and method of operation thereof
US13/866,201 2013-04-19
US13/866,201 US10282291B2 (en) 2012-04-20 2013-04-19 Storage system with data management mechanism and method of operation thereof

Publications (2)

Publication Number Publication Date
JP2015515072A JP2015515072A (ja) 2015-05-21
JP5942037B2 true JP5942037B2 (ja) 2016-06-29

Family

ID=49381246

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015507238A Active JP5942037B2 (ja) 2012-04-20 2013-04-19 データ管理メカニズムを備えたストレージシステムおよびその動作方法

Country Status (7)

Country Link
US (2) US10282291B2 (ja)
EP (1) EP2839377A4 (ja)
JP (1) JP5942037B2 (ja)
CN (1) CN104471548A (ja)
HK (1) HK1207181A1 (ja)
TW (1) TW201403459A (ja)
WO (1) WO2013159068A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014147816A1 (ja) * 2013-03-22 2014-09-25 株式会社 日立製作所 ストレージ装置及び記憶領域検証方法
TW201533657A (zh) * 2014-02-18 2015-09-01 Toshiba Kk 資訊處理系統及記憶體系統
JP6555290B2 (ja) * 2017-03-29 2019-08-07 日本電気株式会社 ストレージ装置、ストレージ管理方法及びストレージ管理プログラム
JP7347157B2 (ja) * 2019-11-22 2023-09-20 富士通株式会社 情報処理システム、ストレージ制御プログラム、及び、ストレージ制御装置
US11868644B1 (en) * 2022-07-21 2024-01-09 Vmware, Inc. Techinques for tracking frequently accessed memory

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0756691A (ja) * 1993-08-12 1995-03-03 Toshiba Corp ストライピングディスクのデータブロック自動再配置機能を持つ情報処理装置
US6088766A (en) * 1997-10-06 2000-07-11 Emc Corporation Method for exchanging data blocks on disk storage devices utilizing disk access statistics and testing for the effect of a change
US6286092B1 (en) * 1999-05-12 2001-09-04 Ati International Srl Paged based memory address translation table update method and apparatus
CN1126442C (zh) * 1999-07-14 2003-11-05 高泽泉 植物字体培育方法
US7197618B2 (en) * 2001-12-14 2007-03-27 Storagency Method and device for distributing objects in a heterogeneous group of data storage devices
US7222224B2 (en) * 2004-05-21 2007-05-22 Rambus Inc. System and method for improving performance in computer memory systems supporting multiple memory access latencies
GB0514529D0 (en) * 2005-07-15 2005-08-24 Ibm Virtualisation engine and method, system, and computer program product for managing the storage of data
JP2007108981A (ja) * 2005-10-13 2007-04-26 Hitachi Ltd ストレージ装置及びボリューム間のデータ交換方法
US7707379B2 (en) * 2006-07-13 2010-04-27 International Business Machines Corporation Dynamic latency map for memory optimization
US8285758B1 (en) 2007-06-30 2012-10-09 Emc Corporation Tiering storage between multiple classes of storage on the same container file system
DE102007041588A1 (de) * 2007-09-01 2009-03-05 Lts Lohmann Therapie-Systeme Ag Arzneimittel mit Hefe
US8082385B2 (en) * 2008-05-02 2011-12-20 Sony Corporation Systematic memory shift for pre-segmented memory
TWI375887B (en) * 2008-10-31 2012-11-01 A Data Technology Co Ltd Flash memory device with wear-leveling mechanism and controlling method thereof
CN102150144B (zh) 2009-01-23 2014-12-24 Lsi公司 使用写入配置快照的动态存储分层的方法和系统
JP5146351B2 (ja) * 2009-02-16 2013-02-20 日本電気株式会社 ストレージ装置、データ再配置方法およびプログラム
US8627004B2 (en) * 2010-01-07 2014-01-07 International Business Machines Corporation Extent migration for tiered storage architecture
US8230192B2 (en) 2010-02-05 2012-07-24 Lsi Corporation System and method for QoS-based storage tiering and migration technique
US8375180B2 (en) * 2010-02-05 2013-02-12 International Business Machines Corporation Storage application performance matching
US8639899B2 (en) * 2011-04-26 2014-01-28 Hitachi, Ltd. Storage apparatus and control method for redundant data management within tiers
US8627035B2 (en) 2011-07-18 2014-01-07 Lsi Corporation Dynamic storage tiering
US8782369B2 (en) * 2011-11-15 2014-07-15 Lsi Corporation Apparatus to manage efficient data migration between tiers

Also Published As

Publication number Publication date
CN104471548A (zh) 2015-03-25
US20130282983A1 (en) 2013-10-24
TW201403459A (zh) 2014-01-16
EP2839377A1 (en) 2015-02-25
US10282291B2 (en) 2019-05-07
JP2015515072A (ja) 2015-05-21
WO2013159068A1 (en) 2013-10-24
HK1207181A1 (en) 2016-01-22
US10956326B2 (en) 2021-03-23
US20190220405A1 (en) 2019-07-18
EP2839377A4 (en) 2015-12-02

Similar Documents

Publication Publication Date Title
US9329793B2 (en) Storage system with load balancing mechanism and method of operation thereof
JP5075761B2 (ja) フラッシュメモリを用いたストレージ装置
US10956326B2 (en) Storage system with data management and protection mechanism and method of operation thereof
JP5646633B2 (ja) ストレージ装置
JP5638744B2 (ja) コマンド・キュー・ローディング
JP6459644B2 (ja) ストレージ制御装置、制御システム及び制御プログラム
WO2017148242A1 (zh) 一种访问叠瓦式磁记录smr硬盘的方法及服务器
US9547446B2 (en) Fine-grained control of data placement
US9195407B2 (en) Apparatus, method and system for using shadow drives for alternative drive commands
JP6666813B2 (ja) 記憶装置及びその制御方法
US8954666B2 (en) Storage subsystem
JP2008016025A (ja) アクティブな書込みゾーンの反転によるコマンド・キューの順序づけ
US20090157940A1 (en) Techniques For Storing Data In Multiple Different Data Storage Media
US8799573B2 (en) Storage system and its logical unit management method
JP2013210744A (ja) ストレージ装置、起動装置決定方法およびプログラム
KR20150041873A (ko) 데이터 처리 시스템
US9569329B2 (en) Cache control device, control method therefor, storage apparatus, and storage medium
WO2016059715A1 (ja) 計算機システム
US11201788B2 (en) Distributed computing system and resource allocation method
WO2019043815A1 (ja) ストレージシステム
JP2013089225A (ja) 階層変更方法及び装置
WO2014141545A1 (ja) ストレージ制御装置、及びストレージ制御システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160106

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: 20160510

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160523

R150 Certificate of patent or registration of utility model

Ref document number: 5942037

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

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250