JP6196383B2 - 階層化ストレージシステム - Google Patents

階層化ストレージシステム Download PDF

Info

Publication number
JP6196383B2
JP6196383B2 JP2016537671A JP2016537671A JP6196383B2 JP 6196383 B2 JP6196383 B2 JP 6196383B2 JP 2016537671 A JP2016537671 A JP 2016537671A JP 2016537671 A JP2016537671 A JP 2016537671A JP 6196383 B2 JP6196383 B2 JP 6196383B2
Authority
JP
Japan
Prior art keywords
logical
storage device
access
evaluation value
controller
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
JP2016537671A
Other languages
English (en)
Other versions
JPWO2016016989A1 (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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Digital Solutions Corp
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 Toshiba Corp, Toshiba Digital Solutions Corp filed Critical Toshiba Corp
Publication of JPWO2016016989A1 publication Critical patent/JPWO2016016989A1/ja
Application granted granted Critical
Publication of JP6196383B2 publication Critical patent/JP6196383B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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
    • 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

本発明の実施形態は、階層化ストレージシステムに関する。
近年、アクセス速度の異なる第1及び第2のストレージ装置を備えたストレージシステムが開発されている。ここで、第1のストレージ装置のアクセス速度及び記憶容量は高速で小容量であり、第2のストレージ装置のアクセス速度及び記憶容量は、第1のストレージ装置のそれと比較して低速で大容量であるものとする。ストレージシステムは、第1のストレージ装置(以下、高速ストレージ装置と称する)及び第2のストレージ装置(以下、低速ストレージ装置と称する)を階層的に組み合わせることにより実現される。そこで、このようなストレージシステムは、階層化ストレージシステムとも呼ばれる。階層化ストレージシステムにおいて、高速ストレージ装置は上位階層に位置付けられ、低速ストレージ装置は下位階層に位置付けられるのが一般的である。
また近年は、ストレージシステム全般に、記憶領域の仮想化が一般的になってきている。このことは、階層化ストレージシステムにおいても同様である。このような階層化ストレージシステムにおいて、高速ストレージ装置及び低速ストレージ装置の記憶領域(以下、物理ボリュームと称する)の少なくとも一部は、論理ボリュームに割り当てられる(つまり、マッピングされる)。
さて、階層化ストレージシステムでは、論理ボリューム及び物理ボリュームは、管理のために、一定サイズを有する複数の小領域に分割される。このような小領域はチャンクと呼ばれる。論理ボリューム内のチャンクと及び物理ボリューム内のチャンクとを区別する必要がある場合には、前者を論理チャンク、後者を物理チャンクと呼ぶ。
ストレージコントローラは、チャンク(例えば、論理チャンク)毎に、対応するチャンクへのアクセスの状況を監視する。このアクセスの状況を表す指標として、直近の一定期間(監視期間)におけるチャンク毎のアクセス頻度統計値が用いられるのが一般的である。アクセス頻度統計値としては、アクセスの回数(つまり、リード/ライトに関する入出力の回数)またはアクセスデータ量の総和が知られている。
ストレージコントローラは、低速ストレージ装置(下位階層)に配置されていて、且つアクセス頻度統計値が大きいチャンクのデータを、高速ストレージ装置(上位階層)に再配置する。またストレージコントローラは、高速ストレージ装置に配置されていて、且つアクセス頻度統計値が小さいチャンクのデータを、低速ストレージ装置に再配置する。このような再配置により、階層化ストレージシステム全体の性能(つまり、システム性能)の向上が期待される。
特開2003−108317号公報
しかし、チャンクのデータが高速ストレージ装置に再配置されたとしても、当該チャンクのアクセス頻度統計値が、高速ストレージ装置と低速ストレージ装置とのアクセス速度の違いに見合う値に増加するとは限らない。逆に、チャンクのデータが低速ストレージ装置に再配置されたとしても、当該チャンクのアクセス頻度統計値が、上述のアクセス速度の違いに見合う値に減少するとは限らない。つまり、チャンク毎のデータの再配置が、監視期間毎に取得されるアクセス頻度統計値に基づいて行われる場合、システム性能が必ずしも十分に向上するとは限らない。
本発明が解決しようとする課題は、システム性能を向上できる階層化ストレージシステム提供することにある。
実施形態によれば、階層化ストレージシステムは、第1のストレージ装置と、前記第1のストレージ装置よりもアクセス速度が低速で記憶容量が大きい第2のストレージ装置と、ストレージコントローラとを備える。前記第1のストレージ装置は、第1のサイズを有する複数の物理チャンクを含む記憶領域を備える。前記第2のストレージ装置は、前記第1のサイズを有する複数の物理チャンクを含む記憶領域を備える。前記ストレージコントローラは、前記第1のストレージ装置及び前記第2のストレージ装置を制御する。前記ストレージコントローラは、論理ボリューム管理部と、アクセス統計収集コントローラと、評価コントローラと、評価値計算部と、再配置コントローラとを備える。前記論理ボリューム管理部は、前記第1のストレージ装置の記憶領域及び前記第2のストレージ装置の記憶領域が前記物理チャンクを単位に割り当てられる論理ボリュームを管理する。前記論理ボリュームは、前記第1のサイズを有する複数の論理チャンクを含み、且つホストコンピュータに提供される。前記前記アクセス統計収集コントローラは、監視期間毎に、前記複数の論理チャンクそれぞれへのアクセスの状況を表すアクセス頻度統計値を収集する。前記評価コントローラは、前記複数の論理チャンクそれぞれのデータが前記第1のストレージ装置に配置されている第1の配置状態における当該複数の論理チャンクそれぞれへのアクセスの状況を表す第1のアクセス頻度統計値と、前記複数の論理チャンクそれぞれのデータが前記第2のストレージ装置に配置されている第2の配置状態における当該複数の論理チャンクそれぞれへのアクセスの状況を表す第2のアクセス頻度統計値とを保持し、且つ、第1の配置状態にあった時間的に最も近い監視期間でのアクセス頻度統計値が第1のアクセス頻度統計値として保持され、第2の配置状態にあった時間的に最も近い監視期間でのアクセス頻度統計値が第2のアクセス頻度統計値として保持されるように、前記監視期間毎に、前記複数の論理チャンクそれぞれの前記収集されたアクセス頻度統計値に基づいて、前記複数の論理チャンクそれぞれのデータの配置状態に対応する第1のアクセス頻度統計値または第2のアクセス頻度統計値を更新する。前記評価値計算部は、前記複数の論理チャンクそれぞれの前記第1のアクセス頻度統計値及び前記第2のアクセス頻度統計値に基づいて、前記複数の論理チャンクそれぞれのデータの前記配置状態が、前記第2の配置状態から前記第1の配置状態に変更された場合の効果を表す評価値を算出する。前記再配置コントローラは、前記複数の論理チャンクそれぞれの前記評価値に基づいて、前記複数の論理チャンクそれぞれのデータの前記配置状態の変更が必要かを決定する。
図1は、実施形態に係るコンピュータシステムの典型的なハードウェア構成を示すブロック図である。 図2は、図1に示される階層化ストレージシステムにおける論理的な記憶領域と物理的な記憶領域との典型的なマッピングを説明するための図である。 図3は、図1に示されるストレージコントローラの典型的な機能構成を主として示すブロック図である。 図4は、図3に示されるアドレス変換情報及びアクセス統計情報のデータ構造の例を示す図である。 図5は、同実施形態におけるアクセス処理の典型的な手順を説明するためのフローチャートである。 図6は、同実施形態における評価処理の典型的な手順を説明するためのフローチャートである。 図7は、ソート前後の第1の評価値リストの例を示す図である。 図8は、ソート前後の第2の評価値リストの例を示す図である。 図9は、同実施形態における再配置処理の典型的な手順を説明するためのフローチャートである。
以下、種々の実施の形態につき図面を参照して説明する。
図1は、1つの実施形態に係るコンピュータシステムの典型的なハードウェア構成を示すブロック図である。図1に示されるコンピュータシステムは、階層化ストレージシステム10及びホストコンピュータ(以下、ホストと称する)20から構成される。つまりコンピュータシステムは、単一のホストを備えている。しかし、コンピュータシステムが、複数のホストを備えていても良い。
ホスト20は、階層化ストレージシステム10を自身の外部記憶装置として利用する。ホスト20は、例えば、ホストインタフェースバス30を介して階層化ストレージシステム10(より、詳細には、階層化ストレージシステム10のストレージコントローラ13)と接続されている。本実施形態においてホストインタフェースバス30は、ファイバチャネル(FC)である。しかしホストインタフェースバス30が、スモールコンピュータシステムインタフェース(SCSI)、シリアルアタッチドSCSI(SAS)、インターネットSCSI(iSCSI)、イーサネット(登録商標)、或いはシリアルATアタッチメント(SATA)のような、FC以外のインタフェースバスであっても構わない。またホスト20が、ネットワークを介して階層化ストレージシステム10と接続されていても良い。
ホスト20は、サーバ、或いはクライアントパーソナルコンピュータ(クライアントPC)のような物理計算機である。ホスト20内では、階層化ストレージシステム10内のデータにアクセスするためのアプリケーションプログラムが動作する。このアプリケーションプログラムに従い、ホスト20はホストインタフェースバス30を介して階層化ストレージシステム10を利用する。
階層化ストレージシステム10は、高速ストレージ装置(第1のストレージ装置)11と、低速ストレージ装置(第2のストレージ装置)12と、ストレージコントローラ13とを備えている。高速ストレージ装置11及び低速ストレージ装置12は、ストレージインタフェースバス14を介してストレージコントローラ13と接続されている。本実施形態においてストレージインタフェースバス14はFC(ファイバチャネル)である。しかしストレージインタフェースバス14が、ホストインタフェースバス30と同様に、FC以外のインタフェースバスであっても構わない。
高速ストレージ装置11は、例えば、フラッシュアレイのような、アクセス応答性能に優れた(つまり、アクセス速度が高速な)フラッシュストレージ装置から構成される。フラッシュストレージ装置は、複数のフラッシュメモリボードを用いて実現される。フラッシュメモリボードの各々は、フラッシュメモリの集合を含む。本実施形態では、複数のフラッシュメモリボードの各々はハードディスクドライブ(HDD)との互換性を有していないものとする。しかし、複数のフラッシュメモリボードに代えて、HDDとの互換性を有する複数のソリッドステートドライブ(SSD)が用いられても構わない。
一方、低速ストレージ装置12は、アクセス応答性能及び記憶容量に関し、第1の条件を満足するストレージ装置から構成される。第1の条件を満足するストレージ装置とは、高速ストレージ装置11と比較してアクセス応答性能は低い(つまり、アクセス速度が低速である)ものの記憶容量が大きいストレージ装置を指す。本実施形態では、低速ストレージ装置12は、ハードディスクドライブ(HDD)アレイから構成される。HDDアレイは、例えば、複数のHDDを備えたRAID(Redundant Arrays of Inexpensive DisksまたはRedundant Arrays of Independent Disks)構成のストレージ装置である。HDDアレイが、FC用のHDDのような高速HDDから構成されていても、或いは、SATA用のHDDのような低速HDDから構成されていても構わない。
なお、高速ストレージ装置11及び低速ストレージ装置12が必ずしもアレイ構成を有している必要はない。また、高速ストレージ装置11が、フラッシュストレージ装置(フラッシュメモリ)、つまり不揮発性メモリである必要はなく、例えばダイナミックRAM(DRAM)のような揮発性メモリであっても構わない。また、高速ストレージ装置11が少なくとも1つの高速HDDから構成され、低速ストレージ装置12が少なくとも1つの低速HDDから構成されていても良い。また、低速ストレージ装置12が、ブルーレイディスク(登録商標)ドライブ、或いはDVD(登録商標)ドライブのような光学式ディスクドライブ、或いはテープ装置から構成されていても良い。また低速ストレージ装置12がテープ装置から構成される場合、高速ストレージ装置11が光学式ディスクドライブから構成されていても良い。
このように、高速ストレージ装置11及び低速ストレージ装置12には、種々のアクセス速度及び記憶容量を有する複数のストレージ装置から選択されたストレージ装置を用いることができる。但し、低速ストレージ装置12は、前述のように、アクセス応答性能及び記憶容量に関し、第1の条件を満足する必要がある。なお、高速ストレージ装置11が、アクセス応答性能及び記憶容量に関し、第2の条件を満足するストレージ装置から構成されても良い。第2の条件を満足するストレージ装置とは、低速ストレージ装置12と比較して記憶容量は小さいもののアクセス応答性能が高い(つまり、アクセス速度が高速である)ストレージ装置を指す。
上述のように、図1に示される階層化ストレージシステム10には、アクセス速度の異なる2つ(2種類)のストレージ装置(つまり、高速ストレージ装置11及び低速ストレージ装置12)が存在する。この場合、高速ストレージ装置11は上位階層(高速階層、第1の階層)に、低速ストレージ装置12は下位階層(低速階層、第2の階層)に、それぞれ位置付けられる。なお、階層化ストレージシステム10が、低速ストレージ装置12よりも更に低速(低階層)で且つ大容量のストレージ装置(第3の階層のストレージ装置)を備えていても良い。
ストレージコントローラ13は、ホスト20から与えられる、論理アドレスを用いたアクセス(リードアクセスまたはライトアクセス)の要求(入出力要求)を受信して、要求された入出力(I/O)を実行する。このI/Oの実行に際し、ストレージコントローラ13は、周知のアドレス変換機能を用いて、論理アドレスを物理アドレスに変換する。論理アドレスは、ホスト20によって認識される論理ボリューム(論理ディスク)内のアドレスを指す。物理アドレスは、論理アドレスに対応付けられた物理記憶領域(以下、第1の物理記憶領域と称する)の物理位置を示し、装置識別子(ID)及び装置内アドレスから構成される。装置IDは、第1の物理記憶領域を含むストレージ装置に固有な情報であり、例えば、当該ストレージ装置に割り当てられる装置番号である。装置内アドレスは、第1の物理記憶領域のストレージ装置におけるアドレスを示す。
ストレージコントローラ13は、物理アドレスに基づいて、高速ストレージ装置11または低速ストレージ装置12にアクセスする。本実施形態において、高速ストレージ装置11または低速ストレージ装置12は、第2のサイズの領域を最小単位としてアクセスが可能である。この第2のサイズの領域はブロック(またはセクタ)と呼ばれる。本実施形態において、第2のサイズは512バイト(B)である。
ストレージコントローラ13は、ホストインタフェースコントローラ(以下、HIFCと称する)130と、ストレージインタフェースコントローラ(以下、SIFCと称する)131と、メモリ132と、HDD133と、CPU134とを備えている。
HIFC130は、当該HIFC130とホスト20との間のデータ転送(データ転送プロトコル)を制御する。HIFC130は、ホストからのI/O(入出力)要求(リード要求またはライト要求)を受信し、当該I/O要求に対する応答を返信する。このI/O要求は、論理ボリュームからデータをリードすること、或いは当該論理ボリュームにデータをライトすることを指定する。HIFC130は、ホスト20からI/O要求を受信すると、当該I/O要求を、CPU134に伝達する。I/O要求を受け取ったCPU134は、当該I/O要求を処理する。
SIFC131は、CPU134が受信したホスト20からのI/O要求に対応するアクセス要求(物理ボリュームに対する読み出し要求または書き込み要求)を、CPU134から受信する。このアクセス要求は、物理ボリュームからデータをリードすること、或いは当該物理ボリュームにデータをライトすることを指定する。SIFC131は、受信されたアクセス要求に応じて、高速ストレージ装置11(高速ストレージ装置11の物理ボリューム)または低速ストレージ装置12(低速ストレージ装置12の物理ボリューム)へのアクセスを実行する。
メモリ132は、DRAMのような、書き換えが可能な揮発性メモリである。メモリ132の記憶領域の一部は、HDD133からロードされるストレージ制御プログラム320(図3)を格納するのに用いられる。メモリ132の記憶領域の他の一部は、HDD133からロードされるアドレス変換情報330(図3)を格納するのに用いられる。メモリ132の記憶領域の更に他の一部は、アクセス統計情報340(図3)を格納するのに用いられる。これらのメモリマップの詳細は後述する。
HDD133には、ストレージ制御プログラム320(図3)が格納されている。CPU134は、ストレージコントローラ13が起動されたときにイニシャルプログラムローダ(IPL)を実行することにより、HDD133に格納されているストレージ制御プログラム320の少なくとも一部をメモリ132にロードする。IPLは、読み出し専用メモリ(ROM)またはフラッシュROM(FROM)のような不揮発性メモリに格納されている。
CPU134は、メモリ132にロードされたストレージ制御プログラム320に従い、論理ボリューム管理部300、アドレス変換部301、アクセスコントローラ302、アクセス統計収集コントローラ303、評価値計算部304、評価コントローラ305及び再配置コントローラ306(図3)として機能する。つまりCPU134は、メモリ132に格納されているストレージ制御プログラム320を実行することで、階層化ストレージシステム10全体(特にストレージコントローラ13内の各部)を制御する。
本実施形態においてストレージコントローラ13は、図1に示されているようにホスト20から独立して備えられている。しかし、ストレージコントローラ13が、ホスト20に内蔵されていても構わない。この場合、ストレージコントローラ13(より詳細には、ストレージコントローラ13の機能)が、ホスト20の有するオペレーティングシステム(OS)の機能の一部を用いて実現されていても構わない。
また、ストレージコントローラ13が、ホスト20のカードスロットに装着して用いられるカードに備えられていても構わない。また、ストレージコントローラ13の一部がホスト20に内蔵され、当該ストレージコントローラ13の残りがカードに備えられていても構わない。また、ホスト20と、ストレージコントローラ13と、高速ストレージ装置11及び低速ストレージ装置12の一部または全部とが、1つの筐体に収められていても構わない。
図2は、図1に示される階層化ストレージシステム10における論理的な記憶領域と物理的な記憶領域との典型的なマッピングを説明するための図である。図2に示されるように、高速ストレージ装置11及び低速ストレージ装置12は、それぞれ、物理的な記憶領域である物理ボリューム110及び120を含む。以下の説明では、高速ストレージ装置11の物理ボリューム110を高速物理ボリューム110と呼び、低速ストレージ装置12の物理ボリューム120を低速物理ボリューム120と呼ぶ。
高速物理ボリューム110及び低速物理ボリューム120は、管理のために、ストレージコントローラ13によって第1のサイズのチャンク(つまり物理チャンク)に分割される。即ち高速物理ボリューム110及び低速物理ボリューム120の各々は、複数のチャンクを備えている。本実施形態において、第1のサイズは4キロバイト(KB)であり、第2のサイズ(512B)の8倍である。つまり、1チャンクは、8セクタから構成される。勿論、第1のサイズが、4KB以外、例えば4メガバイト(MB)であっても構わない。
高速物理ボリューム110及び低速物理ボリューム120それぞれの少なくとも一部の領域(物理領域)は、図2において矢印Aで示されるように、チャンクを単位に論理ボリューム40に割り当てられる(つまり、マッピングされる)。論理ボリューム40とは、ホスト20のような、階層化ストレージシステムを利用するホストによって単一のディスクとして認識される論理的な記憶領域を指す。ホスト20は、ストレージコントローラ13を介して、論理ボリューム40を単一のディスク(より詳細には、論理ディスク)として認識する。このためホスト20は、論理ボリューム40のチャンク(論理チャンク)と、高速物理ボリューム110及び低速物理ボリューム120のチャンク(物理チャンク)との対応付け(マッピング)を意識することなく、論理ボリューム40を自身のディスクとして利用することができる。
前述したようにストレージコントローラ13は、ホスト20から与えられる、論理アドレスを用いたアクセスの要求を受信した場合、当該論理アドレスを物理アドレスに変換する。そしてストレージコントローラ13は、物理アドレスで指定される、ストレージ装置内の物理位置に実際にアクセスする。そこでストレージコントローラ13は、アドレス変換情報330(図3及び図4)を保持し、且つ管理する。アドレス変換情報330は、論理ボリューム40の論理チャンクの論理アドレスと、当該論理アドレスにマッピングされている高速ストレージ装置11の高速物理ボリューム110または低速ストレージ装置12の低速物理ボリューム120内の物理チャンクの物理アドレスとの対応を示す。
図3は、図1に示されるストレージコントローラ13の典型的な機能構成を主として示すブロック図である。ストレージコントローラ13は、論理ボリューム管理部300、アドレス変換部301、アクセスコントローラ302、アクセス統計収集コントローラ303、評価値計算部304、評価コントローラ305及び再配置コントローラ306を備えている。これらの機能要素300乃至306は、図1に示されるストレージコントローラ13のCPU134がストレージ制御プログラム320を実行することにより実現されるソフトウェアモジュールである。しかし、機能要素300乃至306の少なくとも1つがハードウェアモジュールによって実現されても構わない。
論理ボリューム管理部300は、ホスト20に提供される(つまり、ホスト20により認識可能な)論理ボリューム(例えば論理ボリューム40)を構築(定義)し、且つ管理する。論理ボリューム管理部300は更に、論理ボリューム40内の論理チャンク毎のマッピング状態(つまり、論理チャンクの論理アドレスと物理チャンクの物理アドレスとの対応)を、アドレス変換情報330(より詳細には、アドレス変換情報330中のマッピング情報MI)を用いて管理する。
アドレス変換部301は、アドレス変換情報330に基づいて、論理アドレスを物理アドレスに変換する。アクセスコントローラ302は、アドレス変換部301によって論理アドレスから変換された物理アドレスに基づいて、高速ストレージ装置11または低速ストレージ装置12にアクセスする。
アクセス統計収集コントローラ303は、論理ボリューム(例えば論理ボリューム40)の論理チャンク毎に、アクセスの状況を監視する。アクセス統計収集コントローラ303は、予め定められた監視スケジュールの示す直近の一定期間(以下、監視期間と称する)における論理チャンク毎のアクセス頻度統計値を収集する。
本実施形態においてアクセス統計収集コントローラ303は、直近の監視期間における各論理チャンクへのアクセスの回数を、当該各論理チャンクのアクセス頻度統計値として収集する。このアクセス回数(アクセス頻度統計値)の収集には、各論理チャンク(より詳細には、各論理チャンクの論理アドレス)に対応付けられたアクセスカウンタCTR1(図4)が用いられる。つまり、アクセス統計収集コントローラ303は、アクセスカウンタCTR1の値CNTをアクセス頻度統計値として用いる。
評価値計算部304は、各論理チャンクのデータが高速ストレージ装置11または低速ストレージ装置12内の物理チャンクに再配置されたことによって生じる効果(より詳細には、アクセス性能に関する効果)を表す評価値を算出する。評価値計算部304は、この評価値の算出に、各論理チャンクの論理アドレス(データ)が高速ストレージ装置11内の物理チャンクにマッピング(再配置)された直近の監視期間における当該各論理チャンクへのアクセスの回数(アクセス頻度統計値)を利用する。ここで、論理チャンクのデータが高速ストレージ装置11に配置された状態を第1の配置状態と称する。
評価値計算部304は評価値の算出に、各論理チャンクの論理アドレス(データ)が低速ストレージ装置12内の物理チャンクにマッピング(再配置)された直近の監視期間における当該各論理チャンクへのアクセスの回数(アクセス頻度統計値)も利用する。ここで、論理チャンクのデータが低速ストレージ装置12に配置された状態を第2の配置状態と称する。
評価コントローラ305は、評価値計算部304による評価値の算出を制御する。評価コントローラ305は、第1の配置状態における直近の監視期間に収集された各論理チャンクへのアクセスの回数(つまり、アクセスカウンタCTR1の値)を、評価値計算部304による評価値の算出のために、当該各論理チャンクに対応付けられたアクセスカウンタCTR2_H(図4)に記録する。評価コントローラ305はまた、第2の配置状態における直近の監視期間に収集された各論理チャンクへのアクセスの回数(つまり、アクセスカウンタCTR1の値)を、評価値計算部304による評価値の算出のために、当該各論理チャンクに対応付けられたアクセスカウンタCTR2_L(図4)に記録する。
再配置コントローラ306は、低速ストレージ装置12から高速ストレージ装置11にデータが再配置されるべき論理チャンク及び高速ストレージ装置11から低速ストレージ装置12にデータが再配置されるべき論理チャンクを、評価値計算部304によって算出された各論理チャンクの評価値に基づいて決定する。再配置コントローラ306は、決定された論理チャンクのデータを再配置する。
メモリ132は、制御プログラム領域310、ワーク領域311、アドレス変換情報領域312及びアクセス統計情報領域313を含む。制御プログラム領域310は、CPU134によって実行されるストレージ制御プログラム320の少なくとも一部を格納するのに用いられる。ワーク領域311は、CPU134がストレージ制御プログラム320を実行する際に利用される一時的なデータを格納するのに用いられる。ワーク領域311の一部は、第1の評価値リスト3111及び第2の評価値リスト3112を格納するのに用いられる。アドレス変換情報領域312は、アドレス変換情報330を格納するのに用いられる。アクセス統計情報領域313は、アクセス統計情報340を格納するのに用いられる。
HDD133は、ストレージ制御プログラム320を予め格納するのに用いられる。またHDD133は、アドレス変換情報330及びアクセス統計情報340を保存するのに用いられる。ストレージ制御プログラム320の少なくとも一部、アドレス変換情報330、及びアクセス統計情報340は、例えばストレージコントローラ13の起動時に、HDD133からメモリ132の制御プログラム領域310、アドレス変換情報領域312及びアクセス統計情報領域313にロードされて用いられる。メモリ132にロードされたアドレス変換情報330及びアクセス統計情報340は、適宜HDD133に保存される。つまり、メモリ132のアドレス変換情報領域312及びアクセス統計情報領域313における情報の更新は、HDD133に保存されているアドレス変換情報330及びアクセス統計情報340に適宜反映される。但し、以降の説明では簡略化のために、アドレス変換情報330及びアクセス統計情報340は、HDD133に格納されている状態で用いられるものとする。
図4は、図3に示されるアドレス変換情報330及びアクセス統計情報340のデータ構造の例を示す。アドレス変換情報330は、図2に示される論理ボリューム40に対応付けられたハッシュテーブル331及びn個のアドレス変換ハッシュリスト332_0乃至332_n−1を含む。
ハッシュテーブル331は、それぞれ異なるn個のハッシュ値0乃至n−1に対応するエントリENT_0乃至ENT_n−1を有する。本実施形態において、論理ボリューム40内の全論理チャンクの論理アドレスは、当該論理アドレスのハッシュ値別にn個のグループG0乃至Gn−1に分類される。グループGj(j=0,1,…,n−1)は、ハッシュ値がjの論理アドレスの集合である。ハッシュテーブル331のエントリENT_j(つまり、ハッシュ値jに対応するエントリENT_j)は、アドレス変換ハッシュリスト332_jの先頭の要素333を指し示すリストポインタLPjを格納する。
アドレス変換ハッシュリスト332_jの各要素(以下、ハッシュリスト要素と称する)333は、フィールドF1及びF2を有する。ハッシュリスト要素333のフィールドF1には、マッピング情報MIが設定される。ハッシュリスト要素333のフィールドF2には、次ポインタNPが設定される。次ポインタNPはアドレス変換ハッシュリスト332_j内の次のハッシュリスト要素333を指し示す。但し、アドレス変換ハッシュリスト332_j内の最後のハッシュリスト要素333のフィールドF2には、後続のハッシュリスト要素333が存在しないことを示すNULL(つまりNP=NULL)が設定される。
マッピング情報MIは、フィールドF11乃至F14を有する。マッピング情報MIのフィールドF11には、論理アドレスLAが設定される。論理アドレスLAは、マッピング情報MIによってマッピング状態が管理される論理チャンク(以下、対応論理チャンクと称する)の論理アドレスであり、グループGjに属する。
マッピング情報MIのフィールドF12には、物理アドレスPAが設定される。物理アドレスPAは、対応論理チャンクの論理アドレスLAがマッピングされたストレージ装置(高速ストレージ装置11または低速ストレージ装置12)内の物理チャンクを示す。
マッピング情報MIのフィールドF13には、カウンタポインタCPが設定される。カウンタポインタCPはアクセス統計情報340を指し示す。マッピング情報MIのフィールドF14には、アクセスカウンタCTR1が設定される。アクセスカウンタCTR1は、対応論理チャンク(つまり、論理アドレスLAを有する論理チャンク)への直近の監視期間におけるアクセスに関するアクセス頻度統計値を示すのに用いられる。
本実施形態ではアクセス頻度統計値として、直近の監視期間における対応論理チャンクへのアクセスの回数が用いられる。つまりアクセスカウンタCTR1は、直近の監視期間における対応論理チャンクへのアクセスの回数をカウントするのに用いられる。しかし、アクセス頻度統計値として、直近の監視期間における対応論理チャンクへのアクセスのデータ量の総和が用いられても良い。
上述のように、マッピング情報MIは、論理アドレスLA、物理アドレスPA、カウンタポインタCP及びアクセスカウンタCTR1(第1のアクセスカウンタ)から構成される。一方、アクセス統計情報340は、アクセスカウンタCTR2_H及びCTR2_L(第2及び第3のアクセスカウンタ)から構成される。
アクセスカウンタCTR2_Hは、対応論理チャンクのデータが第1の配置状態にある直近の監視期間にアクセスカウンタCTR1によってカウントされたアクセスの回数を保持するのに用いられる。アクセスカウンタCTR2_Lは、対応論理チャンクのデータが第2の配置状態にある直近の監視期間にアクセスカウンタCTR1によってカウントされたアクセスの回数(第2のアクセス頻度統計値)を保持するのに用いられる。
次に、本実施形態におけるアクセス(I/O)処理について、図5を参照して説明する。図5は、アクセス処理の典型的な手順を説明するためのフローチャートである。今、ホスト20から階層化ストレージシステム10に、データのリードまたはライトを指定するアクセス要求がホストインタフェースバス30を介して送られたものとする。そして、ストレージシステム10のストレージコントローラ13が、ホスト20からのアクセス要求を受信したものとする。このアクセス要求は、論理アドレスLAtとアクセスされるべきデータの長さ(例えば、転送されるデータブロックの数を示す転送データ長)とを含む。ここでは説明の簡略化のために、論理アドレスLAtが論理チャンクCHKtの先頭ブロックを指し、転送データ長が論理チャンクCHKtを構成するブロックの数を示すものとする。つまり、ホスト20からのアクセス要求が、論理アドレスLAtで指定される論理チャンクCHKtへのアクセスを要求しているものとする。
この場合、ストレージコントローラ13のアドレス変換部301は、論理アドレスLAtに基づいて、当該論理アドレスLAtのハッシュ値xを計算する(ステップS1)。次にアドレス変換部301は、ハッシュ値xに対応するハッシュテーブル331のエントリENT_xに設定されているリストポインタLPxを取得する(ステップS2)。
次にアドレス変換部301は、リストポインタLPxの指し示すアドレス変換ハッシュリスト332_xから、論理アドレスLAtを含むマッピング情報MItを検索する(ステップS3)。次にアドレス変換部301は、マッピング情報MItに含まれている物理アドレスPAtを取得する。つまりアドレス変換部301は、マッピング情報MItに基づいて、論理アドレスLAtを物理アドレスPAtに変換する(ステップS4)。なお、マッピング情報MIt(アドレス変換情報)の検索に、アドレス変換ハッシュリストに代えて、例えば平衡木(バランスドツリー)のような他のデータ構造を用いても良い。
ストレージコントローラ13のアクセスコントローラ302は、論理アドレスLAtが物理アドレスPAtに変換されると、当該物理アドレスPAtの示す、高速ストレージ装置11または低速ストレージ装置12の物理記憶領域(つまり、論理チャンクCHKtに割り当てられている物理チャンク)にアクセスする(ステップS5)。より詳細に述べるならば、アクセスコントローラ302は、物理アドレスPAtの示す、高速ストレージ装置11または低速ストレージ装置12の物理記憶領域からデータをリードまたは当該物理記憶領域にデータをライトする。ここで、高速ストレージ装置11または低速ストレージ装置12のいずれの物理記憶領域にアクセスすべきかは、物理アドレスPAtに含まれている装置IDによって示される。
上述のように、物理アドレスPAtの示す、高速ストレージ装置11または低速ストレージ装置12の物理記憶領域がアクセスされたものとする。この場合、ストレージコントローラ13のアクセス統計収集コントローラ303は、ステップS3で検索されたアドレス変換ハッシュリスト332_x中のマッピング情報MItに含まれているアクセスカウンタCTR1tの値CNTtを1インクリメントする(ステップS6)。このようにアクセス統計収集コントローラ303は、監視期間中に論理チャンクCHKtがアクセスされる都度、当該論理チャンクCHKtの論理アドレスLAtに対応付けられたアクセスカウンタCTR1tの値CNTtを1インクリメントする。これによりアクセス統計収集コントローラ303は、監視期間中に論理チャンクCHKtがアクセスされた回数をアクセスカウンタCTR1tに記録する。
アクセスコントローラ302は、アクセスカウンタCTR1tの値CNTtが1インクリメントされると、ホスト20からのアクセス要求に基づくアクセスの完了を判定し、当該アクセス要求に対する応答を当該ホスト20に返す(ステップS7)。これによりストレージコントローラ13は、ホスト20からのアクセス要求に基づくアクセス処理を終了して、ホスト20からの次のアクセス要求を待つ。
次に、本実施形態における評価処理について、図6を参照して説明する。図6は、評価処理の典型的な手順を説明するためのフローチャートである。ストレージコントローラ13の評価コントローラ305は、前述の監視期間毎に、例えば監視期間が経過する毎に、評価値計算部304と共同して、評価処理を次のように実行する。
まず評価コントローラ305は、変数iを初期値0に設定する(ステップS11)。変数iは、論理ボリューム40内の論理チャンクCHKiの位置を示す。評価コントローラ305は、論理ボリューム40内のi番目の論理チャンクCHKi(より詳細には、i番目の論理チャンクCHKiの論理アドレスLAi)に対応付けられたマッピング情報MIiを、アドレス変換情報330から次のように検索する(ステップS12)。
まず評価コントローラ305は、論理チャンクCHKiの論理アドレスLAiに基づいて、当該論理アドレスLAiのハッシュ値yを計算する。次に評価コントローラ305は、ハッシュ値yに対応するハッシュテーブル331のエントリENT_yに設定されているリストポインタLPyを取得する。そして評価コントローラ305は、リストポインタLPyの指し示すアドレス変換ハッシュリスト332_yを構成する複数のハッシュリスト要素333を辿ることにより、論理アドレスLAiを含むマッピング情報MIiを検索する。なお、このマッピング情報MIiが、アドレス変換部301によって検索されても構わない。
評価コントローラ305は、マッピング情報MIiを検索すると、当該マッピング情報MIiからアクセスカウンタCTR1iの値CNTiを取得する(ステップS13)。次に評価コントローラ305は、論理チャンクCHKiのデータが高速ストレージ装置11に配置されているかを、マッピング情報MIiに含まれている物理アドレスPAi内の装置IDに基づいて判定する(ステップS14)。
もし、論理チャンクCHKiのデータが高速ストレージ装置11に配置されているならば(ステップS14のYes)、即ち論理チャンクCHKiのデータが第1の配置状態にあるならば、評価コントローラ305はステップS15aに進む。ステップS15aにおいて評価コントローラ305は、マッピング情報MIi中のカウンタポインタCPiの指し示すアクセス統計情報340中のアクセスカウンタCTR2_Hiに、アクセスカウンタCTR1iの値CNTiを記録する。これにより、アクセスカウンタCTR2_Hiの値CNT_Hi(第1のアクセス頻度統計値)は、論理チャンクCHKiのデータが第1の配置状態にある直近の監視期間にアクセスカウンタCTR1iによってカウントされた値CNTiに更新される。一方、カウンタポインタCPiの指し示すアクセス統計情報340中のアクセスカウンタCTR2_Liの値CNT_Li(第2のアクセス頻度統計値)は更新されない。
これに対し、論理チャンクCHKiのデータが低速ストレージ装置12に配置されているならば(ステップS14のNo)、即ち論理チャンクCHKiのデータが第2の配置状態にあるならば、評価コントローラ305はステップS15bに進む。ステップS15bにおいて評価コントローラ305は、マッピング情報MI_i中のカウンタポインタCPiの指し示すアクセス統計情報340中のアクセスカウンタCTR2_Liに、アクセスカウンタCTR1iの値CNTiを記録する。これにより、アクセスカウンタCTR2_Liの値CNT_Li(第2のアクセス頻度統計値)は、論理チャンクCHKiのデータが第2の配置状態にある直近の監視期間にアクセスカウンタCTR1iによってカウントされた値CNTiに更新される。一方、カウンタポインタCPiの指し示すアクセス統計情報340中のアクセスカウンタCTR2_Hiの値CNT_Hi(第1のアクセス頻度統計値)は更新されない。
評価コントローラ305は、ステップS15aまたはS15bを実行すると、評価値計算部304を起動する。すると評価値計算部304は、アクセスカウンタCTR2_Hi及びCTR2_Liの値CNT_Hi及びCNT_Liに基づき、次式
EVi=CNT_Hi/CNT_Li (1)
に従って、チャンクCHKiの評価値EViを算出する(ステップS16aまたは16b)。評価値EViは、式(1)から明らかなように、論理チャンクCHKiのデータが低速ストレージ装置12から高速ストレージ装置11に移動された場合にアクセス性能(より詳細には、アクセス回数)が向上する割合(つまり、性能向上率)を表す。評価値EViの逆数は、論理チャンクCHKiのデータが高速ストレージ装置11から低速ストレージ装置12に移動された場合にアクセス性能が低下する割合を表す。つまり評価値EViは、論理チャンクCHKiのデータが低速ストレージ装置12から高速ストレージ装置11に、または低速ストレージ装置12から高速ストレージ装置11に移動された場合に、アクセス性能に及ぼす効果の程度を表すといえる。
さて本実施形態では、アクセスカウンタCTR2_Hi及びCTR2_Liの値CNT_Hi及びCNT_Liの初期値は0である。したがって、論理チャンクCHKiのデータが一度も高速ストレージ装置11に配置されたことがない場合、CNT_Hiは0である。同様に、論理チャンクCHKiのデータが一度も低速ストレージ装置12に配置されたことがない場合、CNT_Liは0である。
CNT_Hiが0の場合、評価値計算部304は、推定値CNT_Hi_eを、アクセスカウンタCTR2_Liの値CNT_Liと基準性能向上率RPIRとに基づいて算出する。推定値CNT_Hi_eとは、論理チャンクCHKiのデータが高速ストレージ装置11に配置されたと想定した場合に推定されるアクセスカウンタCTR2_Hiの値を指す。基準性能向上率RPIRとは、論理チャンクのデータが低速ストレージ装置12から高速ストレージ装置11に移動された場合に予測される性能向上率を指す。例えば、RPIR=2は、論理チャンクCHKiのデータが低速ストレージ装置12から高速ストレージ装置11に移動された場合に、アクセス回数が2倍向上することが予測されることを示す。
本実施形態では、評価値計算部304は、次式
CNT_Hi_e=CNT_Li×RPIR (2)
に従って、推定値CNT_Hi_eを算出する。評価値計算部304は、式(1)におけるCNT_Hiとして、アクセスカウンタCTR2_Hiの値CNT_Hiに代えて、式(2)に従って算出された推定値CNT_Hi_eを用いる。
同様に、CNT_Liが0の場合、評価値計算部304は、推定値CNT_Li_eを、アクセスカウンタCTR2_Hiの値CNT_Hiと基準性能向上率RPIRとに基づいて算出する。推定値CNT_Li_eとは、論理チャンクCHKiのデータが低速ストレージ装置12に配置されたと想定した場合に推定されるアクセスカウンタCTR2_Liの値を指す。
本実施形態では、評価値計算部304は、次式
CNT_Li_e=CNT_Hi/RPIR (3)
に従って、推定値CNT_Li_eを算出する。評価値計算部304は、式(1)におけるCNT_Liとして、アクセスカウンタCTR2_Liの値CNT_Liに代えて、式(3)に従って算出された推定値CNT_Li_eを用いる。
評価値EViの主要な特徴は、式(1)から明らかなように、次の3つである。
a1)アクセスカウンタCTR2_Hiの値CNT_Hi(つまり、第1の配置状態におけるアクセス回数)とアクセスカウンタCTR2_Liの値CNT_Li(つまり、第2の配置状態におけるアクセス回数)との差分(つまり、アクセスの増加数)が大きいほど、評価値EVi(性能向上率)は大きく(高く)なる。
a2)上述の差分が同じであれば、CNT_Hi及びCNT_Li(アクセス回数)自体が小さい(少ない)ほど、評価値EViは大きくなる。
a3)性能向上率が同じであれば、CNT_Hi及びCNT_Li(アクセス回数)に無関係に、評価値EViは等しくなる。
さて、ステップS16aの実行により、論理チャンクCHKiの評価値EViが算出されたものとする。この場合、評価コントローラ305は、論理チャンクCHKiの論理アドレスLAi及び評価値EViの組を、メモリ132のワーク領域311内の第1の評価値リスト3111に追加する(ステップS17a)。これにより第1の評価値リスト3111には、直近の監視期間に第1の配置状態にある全ての論理チャンクCHKi(第1の論理チャンク)に関する、論理アドレスLAi及び評価値EViの組が保持される
これに対し、ステップS16bの実行により、論理チャンクCHKiの評価値EViが算出されたものとする。この場合、評価コントローラ305は、論理チャンクCHKiの論理アドレスLAi及び評価値EViの組を、メモリ132のワーク領域311内の第2の評価値リスト3112に追加する(ステップS17b)。これにより第2の評価値リスト3112には、直近の監視期間に第2の配置状態にある全ての論理チャンクCHKi(第2の論理チャンク)に関する、論理アドレスLAi及び評価値EViの組が保持される。
ストレージコントローラ13のアクセス統計収集コントローラ303は、評価コントローラ305によってステップS17aまたはS17bが実行されると、次の監視期間におけるアクセス回数の収集のために、アクセスカウンタCTR1iの値CNTiをクリアする(ステップS18)。本実施形態では、アクセスカウンタCTR1iの値CNTiがクリアされる前に、前述のように、当該値CNTiがアクセス統計情報340中のアクセスカウンタCTR2_HiまたはCTR2_Liに記録される(ステップS15aまたはS15b)。これにより、アクセスカウンタCTR2_Hi及びCTR2_Liは、それぞれ、論理チャンクCHKiのデータが第1の配置状態及び第2の配置状態にある直近の監視期間にアクセスカウンタCTR1iによってカウントされた値CNTiを示す。よって本実施形態によれば、評価値計算部304は監視期間毎に、論理チャンクCHKiのデータが低速ストレージ装置12から高速ストレージ装置11に移動された場合における性能向上率を、アクセスカウンタCTR2_Hi及びCTR2_Liに基づいて算出することができる。
さて、アクセスカウンタCTR1iの値CNTiがクリアされると(ステップS18)、評価コントローラ305は変数iを1インクリメントする(ステップS19)。そして評価コントローラ305は、インクリメントされた変数iが当該変数iの最大値imaxを超えているかを判定する(ステップS20)。最大値imaxは、論理ボリューム40内の論理チャンクCHKiの総数に等しい。
もし、インクリメントされた変数iがimaxを超えていないならば(ステップS20のNo)、評価コントローラ305は、論理ボリューム40内の次の論理チャンクCHKiの評価値EViの算出のために、ステップS12に戻る。そして評価コントローラ305は、ステップS12から始まる上述の処理を評価値計算部304と共同して再び実行する。この動作を、評価コントローラ305は、インクリメントされた変数iがimaxを超えるまで繰り返す。
これにより、評価コントローラ305は、論理ボリューム40内の全ての論理チャンクCHKi(i=0,1,…,imax)にそれぞれ対応付けられたアクセスカウンタCTR2_HiまたはCTR2_Liに、アクセスカウンタCTR1iの値CNTiを記録する(ステップS15a及びS15b)。一方、評価値計算部304は、全ての論理チャンクCHKiにそれぞれ対応付けられた評価値EViを算出する(ステップS16a及び16b)。そして評価コントローラ305は、全ての論理チャンクCHKiのうち、第1の配置状態にある論理チャンクCHKi(第1の論理チャンク)に関する、論理アドレスLAi及び評価値EViの組が保持された第1の評価値リスト3111をワーク領域311内に生成する(ステップS17a)。同様に評価コントローラ305は、全ての論理チャンクCHKiのうち、第2の配置状態にある論理チャンクCHKi(第2の論理チャンク)に関する、論理アドレスLAi及び評価値EViの組が保持された第2の評価値リスト3112をワーク領域311内に生成する(ステップS17b)。
やがて、インクリメントされた変数iがimaxを超えたものとする(ステップS20のYes)。この場合、評価コントローラ305は、論理ボリューム40内の全ての論理チャンクCHKiの評価値EViが算出されたものと判断する。すると評価コントローラ305は、第1の評価値リスト3111及び第2の評価値リスト3112各々の全要素を、例えば評価値の降順に、ソートする(ステップS21)。これにより評価処理は終了する。
図7は、ソート前後の第1の評価値リスト3111の例を示し、図8は、ソート前後の第2の評価値リスト3112の例を示す。図7において、矢印70の基端側には、ソート前の第1の評価値リスト3111が示され、矢印70の先端側には、ソート後の第1の評価値リスト3111が示されている。図8において、矢印80の基端側には、ソート前の第2の評価値リスト3112が示され、矢印80の先端側には、ソート後の第2の評価値リスト3112が示されている。
図7及び8に示される例は、説明の簡略化のために、論理ボリューム40が、6つの論理チャンクCHK0乃至CHK5を備えている場合(imax=6)を前提とする。論理チャンクCHK0乃至CHK5は、それぞれ、論理アドレスLA0乃至LA5を有する。ここでは、図7に示される第1の評価値リスト3111の例のように、2つの論理チャンクが高速ストレージ装置11にマッピングされているものとする。また、図8に示される第2の評価値リスト3112の例のように、4つの論理チャンクが低速ストレージ装置12にマッピングされているものとする。本実施形態において、高速ストレージ装置11の記憶容量は低速ストレージ装置12のそれよりも小さい。この場合、高速ストレージ装置11にマッピングされる論理チャンクの数は、低速ストレージ装置12にマッピングされる論理チャンクの数よりも少ないのが一般的である。つまり図7及び8に示される例のように、第1の評価値リスト3111の要素の数Npeは、第2の評価値リスト3112の要素の数Nqeよりも少ない。
次に、本実施形態における再配置処理について、図9を参照して説明する。図9は、再配置処理の典型的な手順を説明するためのフローチャートである。ストレージコントローラ13の再配置コントローラ306は、評価処理が終了すると、再配置処理を次のように実行する。
まず再配置コントローラ306は、変数p及びqをそれぞれ初期値1に設定する(ステップS31)。変数pは、例えば、ソート後の第1の評価値リスト3111から評価値を当該評価値の昇順に選択するのに用いられる。本実施形態において変数pは、ソート後の第1の評価値リスト3111から選択されるべき評価値EVuの順位を示す。変数qは、ソート後の第2の評価値リスト3112から評価値を当該評価値の降順に選択するのに用いられる。本実施形態において変数qは、ソート後の第2の評価値リスト3112から選択されるべき評価値EVvの順位を示す。
次に再配置コントローラ306は、ソート後の第2の評価値リスト3112からq番目に大きい評価値EVvを選択する(ステップS32)。ここで、qは1である。この場合、再配置コントローラ306は、図8から明らかなように、q(=1)番目に大きい評価値EVvとして、ソート後の第2の評価値リスト3112の先頭の要素に含まれている評価値EV3(=5)、即ち論理チャンクCHK3の論理アドレスLA3と組をなす評価値EV3を選択する。
次に再配置コントローラ306は、ソート後の第1の評価値リスト3111からp番目に小さい評価値EVuを選択する(ステップS33)。ここで、pは1である。この場合、再配置コントローラ306は、図7から明らかなように、p(=1)番目に小さい評価値EVuとして、ソート後の第1の評価値リスト3111の最後の要素に含まれている評価値EV1(=3)、即ち論理チャンクCHK1の論理アドレスLA1と組をなす評価値EV1を選択する。なお、ステップS33がステップS32よりも先に実行されても良い。
上述のように、再配置コントローラ306はステップS32及びS33の実行により、評価値EVv及び評価値EVuの組を選択する。すると再配置コントローラ306は、評価値EVvが評価値EVuよりも大きいかを判定する(ステップS34)。この例では、評価値EVv(=EV3)は5であり、評価値EVu(=EV1)は3であるため、評価値EVvが評価値EVuよりも大きい(ステップS34のYes)。
このように、評価値EVvが評価値EVuよりも大きい場合、評価値EVuに対応する論理チャンクCHKuに関し、再配置コントローラ306は、当該論理チャンクCHKuが高速ストレージ装置11または低速ストレージ装置12のいずれにマッピングされても、当該論理チャンクCHKuのアクセス頻度はさほど変わらないと判断する。そこで再配置コントローラ306は、低速ストレージ装置12よりも記憶容量が少ない高速ストレージ装置11を有効利用するために、たとえ論理チャンクCHKuのアクセス頻度自体は高くても、当該論理チャンクCHKuのデータを高速ストレージ装置11から低速ストレージ装置12に移動すべきであると判断する。
一方、評価値EVuよりも大きい評価値EVvに対応する論理チャンクCHKvに関し、再配置コントローラ306は、当該論理チャンクCHKvのアクセス頻度が必ずしも突出して高くなくても、当該論理チャンクCHKvが高速ストレージ装置11にマッピングされたならば、当該論理チャンクCHKvのアクセス頻度が大幅に増加すると判断する。そこで再配置コントローラ306は、論理チャンクCHKvのデータを低速ストレージ装置12から高速ストレージ装置11に移動すべきであると判断する。
この場合、再配置コントローラ306は、第1の評価値リスト3111において評価値EVuと組をなす論理アドレスLAuを取得する(ステップS35)。ステップS35において再配置コントローラ306は、取得された論理アドレスLAuで示される論理チャンクCHKu(つまり、評価値EVuに対応する論理チャンクCHKu)のデータを、低速ストレージ装置12の空き物理チャンクに再配置する。以下、ステップS35におけるデータ再配置の詳細について説明する。
まず再配置コントローラ306は、アドレス変換部301が論理アドレスLAtを物理アドレスPAtに変換した場合と同様の手順で、論理アドレスLAuを含むマッピング情報MIuを検索し、当該マッピング情報MIuに含まれている物理アドレスPAuを取得する。なお、マッピング情報MIuが、アドレス変換部301によって検索されても構わない。
本実施形態において、取得された物理アドレスPAuは、高速ストレージ装置11を示す装置IDを含む。そこで再配置コントローラ306は、取得された物理アドレスPAuで示される高速ストレージ装置11の物理チャンクに格納されているデータを読み出す。次に再配置コントローラ306は、低速ストレージ装置12の空きの物理チャンクの集合から1つの空きの物理チャンクを選択する。なお、低速ストレージ装置12の空きの物理チャンクの集合を管理する方法については、従来からよく知られているため、説明を省略する。
再配置コントローラ306は、低速ストレージ装置12の空きの物理チャンクの集合から選択された空きの物理チャンクに、高速ストレージ装置11の物理チャンクから読み出されたデータを書き込む。これにより、評価値EVvよりも小さい評価値EVuを持つ論理チャンクCHKuのデータは、高速ストレージ装置11から低速ストレージ装置12に移動される。つまり、高速ストレージ装置11に配置されていた論理チャンクCHKuのデータが、低速ストレージ装置12に再配置される。また、この再配置前に、論理チャンクCHKuのデータが格納されていた高速ストレージ装置11の物理チャンクは、空きの物理チャンクとして管理される。
次に再配置コントローラ306は、第2の評価値リスト3112において評価値EVvと組をなす論理アドレスLAvを取得する(ステップS36)。ステップS36において再配置コントローラ306は、取得された論理アドレスLAvで示される論理チャンクCHKv(つまり、評価値EVvに対応する論理チャンクCHKv)のデータを、高速ストレージ装置11の空き物理チャンクに再配置する。以下、ステップS36におけるデータ再配置の詳細について説明する。
まず再配置コントローラ306は、アドレス変換部301が論理アドレスLAtを物理アドレスPAtに変換した場合と同様の手順で、論理アドレスLAvを含むマッピング情報MIvを検索し、当該マッピング情報MIvに含まれている物理アドレスPAvを取得する。なお、マッピング情報MIvが、アドレス変換部301によって検索されても構わない。
本実施形態において、取得された物理アドレスPAvは、低速ストレージ装置12を示す装置IDを含む。そこで再配置コントローラ306は、取得された物理アドレスPAvで示される低速ストレージ装置12の物理チャンクに格納されているデータを読み出す。次に再配置コントローラ306は、高速ストレージ装置11の空きの物理チャンクの集合から1つの空きの物理チャンクを選択する。選択される空きの物理チャンクが、ステップS35におけるデータ再配置前に、論理チャンクCHKuのデータが格納されていた高速ストレージ装置11の物理チャンクであっても構わない。なお、高速ストレージ装置11の空きの物理チャンクの集合を管理する方法については、従来からよく知られているため、説明を省略する。
再配置コントローラ306は、高速ストレージ装置11の空きの物理チャンクの集合から選択された空きの物理チャンクに、低速ストレージ装置12の物理チャンクから読み出されたデータを書き込む。これにより、評価値EVuよりも大きい評価値EVvを持つ論理チャンクCHKvのデータは、低速ストレージ装置12から高速ストレージ装置11に移動される。つまり、低速ストレージ装置12に配置されていた論理チャンクCHKvのデータが、高速ストレージ装置11に再配置される。
再配置コントローラ306はステップS35及びS36を実行すると、論理チャンクCHKuのマッピング情報MIu及び論理チャンクCHKvのマッピング情報MIvを、上述の再配置を反映するように更新する(ステップS37)。より詳細に述べるならば、再配置コントローラ306は、論理アドレスLAuを含むマッピング情報MIu中の物理アドレスPAuを、当該論理アドレスLAuで示される論理チャンクCHKuのデータが再配置された物理チャンクの物理アドレスに変更する。また再配置コントローラ306は、論理アドレスLAvを含むマッピング情報MIv中の物理アドレスPAvを、当該論理アドレスLAvで示される論理チャンクCHKvのデータが再配置された物理チャンクの物理アドレスに変更する。
次に再配置コントローラ306は、変数p及びqをそれぞれ1インクリメントする(ステップS38)。この例では、変数p及びqは、いずれも1から2にインクリメントされる。このように本実施形態では、変数qは変数pに一致するように設定且つ更新される(ステップS31及びS38)。したがって、変数qに代えて変数pを用いても構わない。つまり、変数qは必ずしも必要ない。
次に再配置コントローラ306は、インクリメントされた変数pが第1の評価値リスト3111の要素の数Npeを超えているかを判定する(ステップS39)。つまり再配置コントローラ306は、第1の評価値リスト3111から全ての評価値EVuが選択されたかを判定する。前述したように、Npeは、第2の評価値リスト3112の要素の数Nqeよりも小さい。したがってインクリメントされた変数pは、インクリメントされた変数qがNqeを超える前に、Npeを超える。図7の例では、Npeは2である。この例では、変数p(=2)はNpe(=2)を超えていない(ステップS39のNo)。この場合、再配置コントローラ306はステップS32に戻る。
ステップS32において再配置コントローラ306は、ソート後の第2の評価値リスト3112からq番目に大きい評価値EVuを選択する。ここで、qは2である。この場合、再配置コントローラ306は、図8から明らかなように、q(=2)番目に大きい評価値EVvとして、ソート後の第2の評価値リスト3112の先頭から2番目の要素に含まれている評価値EV4(=3)、即ち論理アドレスLA4と組をなす評価値EV4を選択する。このように再配置コントローラ306は、ソート後の第2の評価値リスト3112の先頭の要素に含まれている評価値から順に図8において矢印81で示される方向に、つまり評価値の降順に、評価値を選択する。
次に再配置コントローラ306は、ソート後の第1の評価値リスト3111からp番目に小さい評価値EVuを選択する(ステップS33)。ここで、pは2である。この場合、再配置コントローラ306は、図7から明らかなように、p(=2)番目に小さい評価値EVuとして、ソート後の第1の評価値リスト3111の最後から2番目の要素に含まれている評価値EV2(=5)、即ち論理アドレスLA2と組をなす評価値EV2を選択する。このように再配置コントローラ306は、ソート後の第1の評価値リスト3111の最後の要素に含まれている評価値から順に図7において矢印71で示される方向に、つまり評価値の昇順に、評価値を選択する。
次に再配置コントローラ306は、評価値EVvが評価値EVuよりも大きいかを判定する(ステップS34)。この例では、評価値EVv(=EV4)は3であり、評価値EVu(=EV2)は5であるため、評価値EVvは評価値EVuよりも大きくない(ステップS34のNo)。この場合、再配置コントローラ306は再配置処理を終了する。また、インクリメントされた変数pが第1の評価値リスト3111の要素の数Npeを超えている場合(ステップS39のYes)、つまり第1の評価値リスト3111から全ての評価値EVuが選択された場合にも、再配置コントローラ306は再配置処理を終了する。
ところで従来技術では、データが移動されるべき論理チャンクは、各論理チャンクCHKiに対応付けられたアクセスカウンタCTR1iの値CNTi(つまり、アクセス頻度統計値)に基づいて決定される。より具体的には、アクセス頻度が高い論理チャンクCHKuのデータは高速ストレージ装置11に配置され、アクセス頻度が低い論理チャンクCHKvのデータは低速ストレージ装置12に配置される。
ここで、ホスト20上で業務A及びBが実行され、且つ業務A及びBによってアクセスされる論理チャンクCHKa及びCHKbのデータが全て低速ストレージ装置12に格納されているとする。また、論理チャンクCHKa及びCHKbそれぞれのアクセス頻度が同程度であるものとする。このような状態で、論理チャンクCHKa及びCHKbのデータが高速ストレージ装置11に移動された場合、データ移動後においても論理チャンクCHKa及びCHKbそれぞれのアクセス頻度が同程度になるとは限らない。つまり、高速ストレージ装置11へのデータの移動により、例えば、業務Aによる論理チャンクCHKaへのアクセスの頻度は高くなるが、業務Bによる論理チャンクCHKbへのアクセスの頻度はそれほど高くならないといった状況が起こり得る。逆に、論理チャンクCHKa及びCHKbのデータが低速ストレージ装置12から高速ストレージ装置11に移動された場合、論理チャンクCHKa及びCHKbそれぞれへのアクセスの頻度の低下量が同程度になるとは限らない。よって、単にアクセス頻度統計値に基づいて論理チャンクCHKiのデータを再配置する手法は、無駄に高速ストレージ装置11の記憶容量を消費して、システム性能の低下を招く可能性がある。
これに対して本実施形態では、データが移動されるべき論理チャンクは、各論理チャンクCHKiの評価値EViに基づいて決定される。評価値EViは、前述のように、論理チャンクCHKiに対応付けられたアクセスカウンタCTR2_Hi及びCTR2_Liのそれぞれの値CNT_Hi及びCNT_Liに基づいて算出され、当該論理チャンクCHKiのデータが低速ストレージ装置12から高速ストレージ装置11に移動された場合における性能向上率を表す
ここで、論理チャンクCHKuのデータが高速ストレージ装置11に配置され、論理チャンクCHKvのデータが低速ストレージ装置12に配置されているものとする。このような状態で、ステップS32で論理チャンクCHKvの評価値EVvが選択され、ステップS33で論理チャンクCHKuの評価値EVuが選択されたものとする。評価値EVvが評価値EVuよりも大きい場合(ステップS34のYes)、再配置コントローラ306は前述のように、論理チャンクCHKuのデータを低速ストレージ装置12に再配置し(ステップS35)、且つ、論理チャンクCHKvのデータを高速ストレージ装置11に再配置する(ステップS36)。この再配置により、論理チャンクCHKvのアクセス頻度は大幅に増加することが期待される。一方、論理チャンクCHKuのアクセス頻度は、さほど変わらないことが期待される。つまり本実施形態によれば、低速ストレージ装置12と比較してアクセス速度は高速であるものの記憶容量が少ない高速ストレージ装置11の記憶領域を有効に利用して、システム性能を向上することができる。
前記実施形態では、第1の評価値リスト3111及び第2の評価値リスト3112各々の全要素が、評価値の降順にソートされる。しかし、第1の評価値リスト3111及び第2の評価値リスト3112各々の全要素が評価値の昇順にソートされても良く、いずれか一方のリスト(例えば、第1の評価値リスト3111)の全要素が評価値の昇順にソートされても良い。また、第1の評価値リスト3111及び第2の評価値リスト3112各々の全要素が必ずしもソートされる必要はない。このような第1の評価値リスト3111及び第2の評価値リスト3112が用いられても、再配置コントローラ306は、第2の評価値リスト3112からq番目に大きい評価値EVvを選択し、第1の評価値リスト3111からp番目に小さい評価値EVuを選択することができる。但し、評価値選択の効率は、前記実施形態におけるそれよりも低下する。
また前記実施形態では、第1の評価値リスト3111及び第2の評価値リスト3112の2つの評価値リストが用いられる。しかし、第1の評価値リスト3111及び第2の評価値リスト3112に加えて、別の評価値リスト(以下、総評価値リストと称する)が用いられても構わない。総評価値リストに保持される要素の各々は、論理アドレスLAi、フラグ情報F及び評価値EViの組から構成されるものとする。フラグ情報Fは、論理アドレスLAiで示される論理チャンクCHKiのデータが、高速ストレージ装置11または低速ストレージ装置12のいずれに配置されているかを示す。前者を示すフラグ情報FをFHと表記し、後者を示すフラグ情報FをFLと表記する。なお、フラグ情報Fに代えて、高速ストレージ装置11または低速ストレージ装置12の装置IDが用いられても構わない。
総評価値リストを適用した場合、評価コントローラ305は、ステップS17aに相当するステップで、論理アドレスLAi、フラグ情報FH及び評価値EViの組を総評価値リストに追加し、ステップS17bに相当するステップで、論理アドレスLAi、フラグ情報FL及び評価値EViの組を総評価値リストに追加すれば良い。更に評価コントローラ305は、ステップS21に相当するステップで、総評価値リストからフラグ情報FHを含む要素(以下、第1の要素と称する)を全て取り出して、当該第1の要素中の評価値EViの例えば降順に当該第1の要素が配置された第1の評価値リスト3111を生成すれば良い。また評価コントローラ305は、ステップS21に相当するステップで、総評価値リストからフラグ情報FLを含む要素(以下、第2の要素と称する)を全て取り出して、当該第2の要素中の評価値EViの例えば降順に当該第2の要素が配置された第2の評価値リスト3112を生成すれば良い。ここで、生成された第1の評価値リスト3111に配置される第1の要素の各々からフラグ情報FHが削除されても構わない。同様に、生成された第2の評価値リスト3112に配置される第2の要素の各々からフラグ情報FLが削除されても構わない。また、評価コントローラ305及び再配置コントローラ306は、論理アドレスLAiを含むマッピング情報MIi中の装置IDに基づいて、当該論理アドレスLAiで示される論理チャンクCHKiのデータが、高速ストレージ装置11または低速ストレージ装置12のいずれに配置されているかを判別することが可能である。したがって、総評価値リストの各要素からフラグ情報F(装置ID)が削除されても構わない。
また再配置コントローラ306が、ステップS32に相当するステップで、総評価値リスト内の第2の要素の集合からq番目に大きい評価値EVqを選択し、ステップS33に相当するステップで、総評価値リスト内の第1の要素の集合からp番目に大きい評価値EVpを選択しても良い。この場合、第1の評価値リスト3111及び第2の評価値リスト3112を不要とすることができる。但し、評価値選択の効率は、前記実施形態におけるそれよりも低下する。
以上説明した少なくとも1つの実施形態によれば、システム性能を向上することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。

Claims (4)

  1. 第1のサイズを有する複数の物理チャンクを含む記憶領域を備えた第1のストレージ装置と、
    前記第1のサイズを有する複数の物理チャンクを含む記憶領域を備え、且つ前記第1のストレージ装置よりもアクセス速度が低速で記憶容量が大きい第2のストレージ装置と、
    前記第1のストレージ装置及び前記第2のストレージ装置を制御するストレージコントローラとを備え、
    前記ストレージコントローラは、論理ボリューム管理部と、アクセス統計収集コントローラと、評価コントローラと、評価値計算部と、再配置コントローラとを備え、
    前記論理ボリューム管理部は、前記第1のサイズを有する複数の論理チャンクを含み、且つホストコンピュータに提供される論理ボリュームであって、前記第1のストレージ装置の記憶領域及び前記第2のストレージ装置の記憶領域が前記物理チャンクを単位に割り当てられる論理ボリュームを管理し、
    前記アクセス統計収集コントローラは、監視期間毎に、前記複数の論理チャンクそれぞれへのアクセスの状況を表すアクセス頻度統計値を収集し、
    前記評価コントローラは、前記複数の論理チャンクそれぞれのデータが前記第1のストレージ装置に配置されている第1の配置状態における当該複数の論理チャンクそれぞれへのアクセスの状況を表す第1のアクセス頻度統計値と、前記複数の論理チャンクそれぞれのデータが前記第2のストレージ装置に配置されている第2の配置状態における当該複数の論理チャンクそれぞれへのアクセスの状況を表す第2のアクセス頻度統計値とを保持し、且つ、第1の配置状態にあった時間的に最も近い監視期間でのアクセス頻度統計値が第1のアクセス頻度統計値として保持され、第2の配置状態にあった時間的に最も近い監視期間でのアクセス頻度統計値が第2のアクセス頻度統計値として保持されるように、前記監視期間毎に、前記複数の論理チャンクそれぞれの前記収集されたアクセス頻度統計値に基づいて、前記複数の論理チャンクそれぞれのデータの配置状態に対応する第1のアクセス頻度統計値または第2のアクセス頻度統計値を更新し、
    前記評価値計算部は、前記複数の論理チャンクそれぞれの前記第1のアクセス頻度統計値及び前記第2のアクセス頻度統計値に基づいて、前記複数の論理チャンクそれぞれのデータの前記配置状態が、前記第2の配置状態から前記第1の配置状態に変更された場合の効果を表す評価値を算出し、
    前記再配置コントローラは、前記複数の論理チャンクそれぞれの前記評価値に基づいて、前記複数の論理チャンクそれぞれのデータの前記配置状態の変更が必要かを決定する
    階層化ストレージシステム。
  2. 前記複数の論理チャンクの各々の前記評価値が、当該論理チャンクの前記第1のアクセス頻度統計値及び前記第2のアクセス頻度統計値の比率である請求項記載の階層化ストレージシステム。
  3. 前記複数の論理チャンクの各々の前記評価値が、当該論理チャンクの前記第1のアクセス頻度統計値及び前記第2のアクセス頻度統計値の差分である請求項記載の階層化ストレージシステム。
  4. 前記複数の論理チャンクの各々の前記評価値が、当該論理チャンクの前記第1のアクセス頻度統計値及び前記第2のアクセス頻度統計値の比率と前記第1のアクセス頻度統計値との積である請求項記載の階層化ストレージシステム。
JP2016537671A 2014-07-31 2014-07-31 階層化ストレージシステム Active JP6196383B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/070180 WO2016016989A1 (ja) 2014-07-31 2014-07-31 階層化ストレージシステム、ストレージコントローラ及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2016016989A1 JPWO2016016989A1 (ja) 2017-04-27
JP6196383B2 true JP6196383B2 (ja) 2017-09-13

Family

ID=55216930

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016537671A Active JP6196383B2 (ja) 2014-07-31 2014-07-31 階層化ストレージシステム

Country Status (3)

Country Link
US (1) US10095439B2 (ja)
JP (1) JP6196383B2 (ja)
WO (1) WO2016016989A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10740016B2 (en) * 2016-11-11 2020-08-11 Scale Computing, Inc. Management of block storage devices based on access frequency wherein migration of block is based on maximum and minimum heat values of data structure that maps heat values to block identifiers, said block identifiers are also mapped to said heat values in first data structure
JP6253752B1 (ja) * 2016-11-29 2017-12-27 株式会社東芝 階層化ストレージシステム
US11755224B2 (en) * 2017-07-27 2023-09-12 EMC IP Holding Company LLC Storing data in slices of different sizes within different storage tiers
US10691611B2 (en) * 2018-07-13 2020-06-23 Micron Technology, Inc. Isolated performance domains in a memory system
CN112306372B (zh) 2019-07-31 2024-07-05 伊姆西Ip控股有限责任公司 用于处理数据的方法、设备和程序产品
US11860773B2 (en) * 2022-02-03 2024-01-02 Micron Technology, Inc. Memory access statistics monitoring
CN116389398B (zh) * 2023-05-30 2023-10-20 阿里巴巴(中国)有限公司 数据访问控制方法、车辆控制方法及设备

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0944381A (ja) * 1995-07-31 1997-02-14 Toshiba Corp データ格納方法およびデータ格納装置
JP4972845B2 (ja) 2001-09-27 2012-07-11 富士通株式会社 ストレージシステム
JP2006024024A (ja) 2004-07-08 2006-01-26 Toshiba Corp 論理ディスク管理方法及び装置
JP2006139552A (ja) * 2004-11-12 2006-06-01 Hitachi Ltd ストレージ装置及びストレージ装置のデータライフサイクル管理方法
US7392356B1 (en) * 2005-09-06 2008-06-24 Symantec Corporation Promotion or demotion of backup data in a storage hierarchy based on significance and redundancy of the backup data
JP2007316995A (ja) * 2006-05-26 2007-12-06 Hitachi Ltd 記憶システム及びデータ管理方法
JP4969972B2 (ja) 2006-09-27 2012-07-04 株式会社日立製作所 論理的なパスの数を制御する装置及び方法
JP4945232B2 (ja) 2006-12-21 2012-06-06 株式会社日立製作所 アクセス制御方法、計算機システム、及びオブジェクト複製プログラム
JP2010097359A (ja) * 2008-10-15 2010-04-30 Hitachi Ltd ファイル管理方法および階層管理ファイルシステム
JP2010257094A (ja) 2009-04-23 2010-11-11 Hitachi Ltd 階層ストレージ管理システムにおける移動候補ファイルの抽出方法
US8171216B2 (en) * 2009-05-29 2012-05-01 Dell Products, Lp System and method for managing devices in an information handling system
US8775736B2 (en) * 2009-10-20 2014-07-08 Dell Products, Lp System and method for enhanced application performance with tiered storage in an information handling system
US8438334B2 (en) * 2009-12-22 2013-05-07 International Business Machines Corporation Hybrid storage subsystem with mixed placement of file contents
WO2013014694A1 (en) 2011-07-22 2013-01-31 Hitachi, Ltd. Information processing system and method for controlling the same
JP5131373B2 (ja) 2011-09-20 2013-01-30 富士通株式会社 ストレージシステム
US8572319B2 (en) * 2011-09-28 2013-10-29 Hitachi, Ltd. Method for calculating tier relocation cost and storage system using the same
WO2014057521A1 (en) * 2012-10-12 2014-04-17 Hitachi, Ltd. Storage apparatus and data management method
JP5941996B2 (ja) * 2012-11-27 2016-06-29 株式会社日立製作所 ストレージ装置及び階層制御方法
WO2014155666A1 (ja) 2013-03-29 2014-10-02 株式会社 東芝 論理アドレスと物理アドレスとの間のマッピングを管理するストレージシステム、ストレージコントローラ及び方法
CN105009092A (zh) * 2013-04-26 2015-10-28 株式会社日立制作所 存储***

Also Published As

Publication number Publication date
JPWO2016016989A1 (ja) 2017-04-27
US10095439B2 (en) 2018-10-09
WO2016016989A1 (ja) 2016-02-04
US20160342364A1 (en) 2016-11-24

Similar Documents

Publication Publication Date Title
JP6196383B2 (ja) 階層化ストレージシステム
JP7089830B2 (ja) 不揮発性メモリデータの書き込み管理のための装置、システム、及び、方法
US8380947B2 (en) Storage application performance matching
US9063877B2 (en) Storage system, storage controller, and method for managing mapping between local address and physical address
US9116914B1 (en) Data migration between multiple tiers in a storage system using policy based ILM for QOS
JP6067819B1 (ja) 階層化ストレージシステム、ストレージコントローラ、並びに重複排除及びストレージ階層化のための方法
JP5944587B2 (ja) 計算機システム及び制御方法
US10366065B2 (en) Memory efficient lookup structure
JP2020533694A (ja) クラウド・ベースのランクを使用するデータの動的再配置
US20170315924A1 (en) Dynamically Sizing a Hierarchical Tree Based on Activity
US10235071B2 (en) Tiered storage system, storage controller and tiering control method
JP5884602B2 (ja) ストレージ制御装置、およびストレージシステム
JP5730446B1 (ja) トライアル領域を備えた階層化ストレージシステム、ストレージコントローラ及びプログラム
JP6165909B1 (ja) 階層化ストレージシステム、ストレージコントローラ、及び階層化制御方法
US11226769B2 (en) Large-scale storage system and data placement method in large-scale storage system
WO2015189988A1 (ja) ファイル再配置ポリシーを出力する管理サーバ、及びストレージシステム
WO2020164216A1 (zh) 应用于NVMe SSD控制器的namespace的LBA分配方法和映射方法
JP6022116B1 (ja) 階層化ストレージシステム、ストレージコントローラ及びレプリケーション初期化方法
US20220012218A1 (en) Techniques for efficient data deduplication
EP2270644A2 (en) Method for managing storage system using flash memory, and computer
WO2017138964A1 (en) Distributed storage system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170509

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170705

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170817

R150 Certificate of patent or registration of utility model

Ref document number: 6196383

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150