[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP4819369B2 - ストレージシステム - Google Patents

ストレージシステム Download PDF

Info

Publication number
JP4819369B2
JP4819369B2 JP2005037347A JP2005037347A JP4819369B2 JP 4819369 B2 JP4819369 B2 JP 4819369B2 JP 2005037347 A JP2005037347 A JP 2005037347A JP 2005037347 A JP2005037347 A JP 2005037347A JP 4819369 B2 JP4819369 B2 JP 4819369B2
Authority
JP
Japan
Prior art keywords
partition
storage system
partitions
size
cache 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.)
Expired - Fee Related
Application number
JP2005037347A
Other languages
English (en)
Other versions
JP2006227688A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2005037347A priority Critical patent/JP4819369B2/ja
Priority to US11/110,883 priority patent/US7447843B2/en
Priority to EP05255955A priority patent/EP1691293A1/en
Priority to DE602005018560T priority patent/DE602005018560D1/de
Priority to EP08008293A priority patent/EP1965304B1/en
Priority to CN200810173106.6A priority patent/CN101393536B/zh
Priority to CNB2005101322376A priority patent/CN100442250C/zh
Publication of JP2006227688A publication Critical patent/JP2006227688A/ja
Priority to US11/976,645 priority patent/US8612716B2/en
Application granted granted Critical
Publication of JP4819369B2 publication Critical patent/JP4819369B2/ja
Priority to US14/098,666 priority patent/US8832380B2/en
Expired - Fee Related 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/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • 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/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • 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/0873Mapping of cache memory to specific storage devices or parts thereof
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/26Using a specific storage system architecture
    • G06F2212/261Storage comprising a plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/282Partitioned cache

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は複数のアプリケーションプログラムのそれぞれに対して、最適なキャッシュメモリの性能チューニングを行えるストレージシステムに関する。
近年、サーバ毎に分散配置されていたストレージを一箇所に集約し、SAN(Storage Area Network)等のストレージ専用ネットワークを介してサーバ群に接続するストレージコンソリデーションが普及している。ストレージコンソリデーションの運用形態として、複数のアプリケーションプログラム又はコンテンツによるストレージシステムの共用が増えてきている。ストレージシステムは、例えば、ディスクアレイ装置等から構成される。ディスクアレイ装置は、多数のディスクドライブをアレイ状に配設して構成されるもので、例えば、RAID(Redundant Array of Independent Inexpensive Disks)に基づいて構築されている。ディスクドライブ群が提供する物理的な記憶領域上には、少なくとも1つ以上の論理ボリュームが形成され、この論理ボリュームがホスト装置に提供される。ホスト装置は、ストレージシステムに対してライトコマンド又はリードコマンドを発行することにより、論理ボリュームに対するデータの読み書きを行うことができる。
この種のストレージシステムにおいては、ディスクドライブに書き込むためのライトデータ、又はディスクドライブから読み出したリードデータを一時的に記憶するためのキャッシュメモリが実装されており、ホスト装置に対するI/O処理の高速化を実現している(例えば、特許文献1)。例えば、ホスト装置からディスクドライブへのライトアクセスに対しては、キャッシュメモリへのライトデータの書き込みを以ってライト処理の完了をホスト装置に通知し、キャッシュデータが一定量蓄積した段階でデステージを行う。ホスト装置からのディスクドライブへのリードアクセスに対しては、リードデータがキャッシュメモリにヒットしている場合は、キャッシュメモリから読み出すことにより、高速アクセスを実現する。
特開2001−166993号公報
しかし、各アプリケーションプログラムのI/O特性はそれぞれ異なるため、そのI/O特性に合わせて、キャッシュメモリの性能チューニング(例えば、セグメントサイズの設定、二重書きの要否等)を最適化する必要がある。
例えば、動画又は静止画等のコンテンツをストリーミング配信するアプリケーションプログラムのように、大量のデータを連続的に処理するアプリケーションプログラムに対しては、キャッシュメモリのセグメントサイズを大きく設定して、オーバーヘッドを低減するのが望ましい。これに対し、データベース等のように細かいアクセスがランダムに発行されるアプリケーションプログラムに対しては、セグメントサイズを小さく設定して、オーバーヘッドを低減するのが望ましい。
また、例えば、銀行のオンラインサービスのように、高信頼性が要求されるアプリケーションプログラムに対しては、キャッシュデータの二重化を実施して障害発生時にもデータを確実に保存する必要がある。これに対し、天気予報等の一時的なシミュレーションや科学技術計算のように、別の手段で保存されたソースデータを元に演算を行う場合には、途中の演算結果(テンポラリなデータ)を保存するのに、キャッシュメモリへの二重書きによる高信頼性を確保するよりも、性能が重視される場合もある。
従来のストレージシステムでは、個々のアプリケーションプログラム毎に、そのI/O特性に応じて、セグメントサイズの設定や二重書きの要否等の性能チューニングを行うことはできなかったため、複数のアプリケーションプログラムに共用されるストレージシステムにおいて、あるアプリケーションプログラムに最適なキャッシュメモリのチューニングを行うと、他のアプリケーションプログラムの性能が低下してしまうという不都合が生じていた。例えば、ストリーミングサービスを提供するアプリケーションプログラム用にセグメントサイズを大きく設定すると、データベースのようなアプリケーションプログラムでは、キャッシュメモリのヒット率が低下してしまう。
更に、複数のアプリケーションプログラムによって共用されるストレージシステムにおいては、アプリケーションプログラム間のリソース競合が生じ得るので、各アプリケーションプログラムの性能を適正に発揮させるためにも、リソース競合を抑制する必要がある。例えば、負荷の異なる複数のアプリケーションプログラムにより共有されるストレージシステムでは、高負荷のアプリケーションプログラムから、より多くの書き込みを受けるため、キャッシュメモリが高負荷のアプリケーションプログラムのデータで埋め尽くされてしまい、他のアプリケーションプログラムとの間にリソース競合が生じる場合がある。
このようなリソース競合は、I/O特性の異なる複数のアプリケーションプログラム間だけでなく、性能特性の異なる複数のディスクドライブ間にも生じ得る。例えば、ファイバチャネル・ディスクドライブとATA(Advanced Technology Attachment)ディスクドライブとを混載したストレージシステムにおいては、ATAディスクドライブの方がファイバチャネル・ディスクドライブよりもアクセスに時間がかかるので、キャッシュメモリからファイバチャネル・ディスクドライブへのデステージングに要する時間よりも、キャッシュメモリからATAディスクドライブへのデステージングに要する時間の方が長い。すると、ATAディスクドライブを利用するアプリケーションプログラムのデータがキャッシュメモリに留まる時間がその分長くなるので、キャッシュメモリ上にATAディスクドライブのデータが溜まり、リソース競合が生じることとなる。
本発明は、上記の問題点に鑑みてなされたもので、本発明の目的の一つは、複数のアプリケーションプログラムに共用されるストレージシステムにおいて、個々のアプリケーションプログラムのそれぞれに対して、最適なキャッシュメモリの性能チューニングを行えるストレージシステムを提供することにある。
本発明の目的の一つは、複数のアプリケーションプログラムに共用されるストレージシステムにおいて、I/O特性の異なる複数のアプリケーションプログラム間、又は性能特性の異なる複数の記憶デバイス間におけるキャッシュメモリのリソース競合による性能低下を抑制するストレージシステムを提供することである。
上記の課題を解決するため、本発明のストレージシステムは、複数のアプリケーションプログラムからアクセス可能な複数の論理ボリュームを提供する記憶デバイスと、複数のアプリケーションプログラムからの入出力要求に応答して、論理ボリュームへのデータの入出力を制御するコントローラと、論理ボリュームに入出力されるデータを一時的に格納するキャッシュメモリと、を備え、キャッシュメモリは、複数の論理ボリュームのそれぞれに対して排他的に割り当てられた複数のパーティションに論理分割されている。
複数の論理ボリュームのそれぞれに対して、複数のパーティションのそれぞれを排他的に割り当てることにより、各アプリケーションプログラムに対して排他的に割り当てられた論理ボリューム間のリソース競合を抑制し、最適なキャッシュメモリの性能チューニングを行うことができる。
また、記憶デバイスの性能特性が異なる場合であっても、複数の論理ボリュームのそれぞれに対して、複数のパーティションをそれぞれ排他的に割り当てることにより、記憶デバイスの性能特性の相違によるキャッシュメモリのリソース競合を抑制し、最適なキャッシュメモリの性能チューニングを行うことができる。
以下、各図を参照して、本発明の実施形態について説明する。各実施例は特許請求の範囲を限定するものではなく、また実施例で説明されている特徴の全てが発明の解決手段に必須であるとは限らない。
図1は本実施例に係るストレージシステムの主要構成を示している。
ストレージシステム10は、通信ネットワーク50を介して一台又は複数台のホスト装置(上位装置)60に接続している。ホスト装置60は、ストレージシステム10の上位装置として機能するサーバ装置、パーソナルコンピュータ、ワークステーション、メインフレーム等である。ホスト装置60には、OS(Operating System)61上で動作する複数のアプリケーションプログラムAP♯0,AP♯1,…,AP♯Nが実装されている。ストレージシステム10が提供する記憶資源は、複数のアプリケーションプログラムAP♯0,AP♯1,…,AP♯Nによって共用されている。
通信ネットワーク50としては、例えば、SAN(Storage Area Network)、LAN(Local Area Network)、インターネット、専用回線、公衆回線等を挙げることができる。ホスト装置60がSANを介してストレージシステム10に接続する場合、ホスト装置60は、ファイバチャネルプロトコルに従って、ストレージシステム10の記憶資源のデータ管理単位であるブロックを単位としてデータ入出力を要求する。ホスト装置60がLANを介してストレージシステム10に接続する場合、ホスト装置60は、NFS(Network File System)やiSCSI(internet Small Computer System Interface)等のプロトコルにより、ファイル名を指定してファイル単位でのデータ入出力を要求する。ストレージシステム10がホスト装置60からのファイルアクセス要求を受け付けるためには、NAS(Network Attached Storage)機能を搭載する必要がある。
ストレージシステム10は、二重化されたコントローラ20,30を備えるデュアルコントローラ構成を採用しており、複数のアプリケーションプログラムAP♯0,AP♯1,…,AP♯Nに提供される記憶デバイスとして、複数のディスクドライブ40を備える。ディスクドライブ40として、例えば、ファイバチャネル・ディスクドライブ、シリアルATAディスクドライブ、パラレルATAディスクドライブ、SCSIディスクドライブ等の性能特性の異なる複数のディスクドライブを使用してもよく、或いは、これらのディスクドライブの中から何れか一種類のディスクドライブを使用してもよい。ここで、性能特性とは、例えば、ディスクドライブに対するアクセス速度等をいう。
尚、記憶デバイスとして、これらのディスクドライブに限らず、例えば、光ディスク、半導体メモリ、磁気テープ、フレキシブルディスク等を採用してもよい。
コントローラ20,30は、複数のディスクドライブ40をいわゆるRAID方式に規定されるRAIDレベル(例えば、0,1,5)で制御することができる。RAID方式においては、複数のディスクドライブ40が一つのRAIDグループとして管理される。RAIDグループ上には、ホスト装置60からのアクセス単位である複数の論理ボリュームが定義されている。各論理ボリュームには、LUN(Logical Unit Number)と呼ばれる識別子LU♯0,LU♯1,…,LU♯Mが付与されている。
コントローラ20は、主に、CPU21、CPU/PCIブリッジ22、ローカルメモリ(LM)23、データ転送制御部(D−CTL)24、キャッシュメモリ(CM)25、ホストI/F制御部26、及びドライブI/F制御部27を備える。
CPU21は、ホスト装置60からのデータ入出力要求に応答して複数のディスクドライブ40へのI/O処理(ライトアクセス、又はリードアクセス)を制御するプロセッサである。コントローラ20は、タイマ29を備えており、予め設定された時刻になると、キャッシュメモリ25のセグメントサイズを自動調整するように構成されている(詳細については後述する。)。ローカルメモリ23には、CPU21のマイクロプログラムが格納されている。CPU/PCIブリッジ22は、CPU21、ローカルメモリ22、及びデータ転送制御部24を相互に接続する。キャッシュメモリ25は、ディスクドライブ40に書き込むためのライトデータ、又はディスクドライブ40から読み出したリードデータを一時的に格納するバッファメモリである。キャッシュメモリ25は、電源バックアップされており、ストレージシステム10に電源障害が発生した場合でも、キャッシュデータのロストを防ぐ不揮発性メモリとして構成されている。
データ転送制御部24は、CPU/PCIブリッジ22、キャッシュメモリ25、ホストI/F制御部26、ドライブI/F制御部27を相互に接続し、ホスト装置60とディスクドライブ40との間のデータ転送を制御する。具体的には、ホスト装置60からのライトアクセスが行われると、データ転送制御部24は、ホストI/F制御部26を介してホスト装置60から受け取ったライトデータをキャッシュメモリ25に書き込み、その後、そのライトデータをディスクドライブ40へ非同期書き込みするために、ドライブI/F制御部27へ転送する。また、ホスト装置60からのリードアクセスが行われると、ドライブI/F制御部27を介してディスクドライブ40から読みとったリードデータをキャッシュメモリ25に書き込むとともに、ホストI/F制御部26に転送する。データ転送制御部24とCPU/PCIブリッジ22との間にはPCIバス28が配線されている。
ホストI/F制御部26は、ホスト装置60とのインターフェースを制御するコントローラであり、例えば、ファイバチャネルプロトコルによるホスト装置60からのブロックアクセス要求を受信する機能を有する。ドライブI/F制御部27は、ディスクドライブ40とのインターフェースを制御するコントローラであり、例えば、ディスクドライブ40を制御するプロトコルに従って、ディスクドライブ40へのデータ入出力要求を制御する機能を有する。
コントローラ30は、CPU31、CPU/PCIブリッジ32、ローカルメモリ(LM)33、データ転送制御部(D−CTL)34、キャッシュメモリ(CM)35、ホストI/F制御部36、及びドライブI/F制御部37を備えており、コントローラ20と同様の構成となっている。コントローラ30は、タイマ39を備えており、予め設定された時刻になると、キャッシュメモリ35のセグメントサイズを自動調整するように構成されている(詳細については後述する。)。
各コントローラ20,30のデータ転送制御部24,34は、データバス51を通じて接続されており、一方のキャッシュメモリ25(又は35)に書き込まれるデータは、他方のキャッシュメモリ35(又は25)にも二重書きされるようにデータ転送制御部24,34間でデータ転送を行っている。また、ディスクドライブ40がRAIDレベル5で管理される場合には、データ転送制御部24,34がパリティデータを演算する。
ストレージシステム10には、システムを保守又は管理するための管理端末70が接続されており、両者間では、ファイバチャネルプロトコル又はTCP/IP等の所定の通信プロトコルに基づいてデータ通信が行われる。オペレータは、管理端末70を操作することにより、例えば、ディスクドライブ70上に定義される論理ボリュームの設定、ディスクドライブ40の増設又は減設、RAID構成の設定変更(例えば、RAIDレベル5からRAIDレベル1への変更)等を行うことができる。また、後述するように、個々のアプリケーションプログラムAP♯0,AP♯1,…,AP♯Nのそれぞれに対して、キャッシュメモリ25,35の最適な性能チューニング(パーティション分割、パーティションサイズ設定、セグメントサイズ設定、二重化要否設定、パーティションへの論理ボリュームの割り当て設定又は割当変更等)を行うこともできる。
尚、管理端末70は、ストレージシステム10内に内蔵してもよく、或いは外付けの構成としてもよい。
図2はデュアルコントローラによるキャッシュデータの二重書きの概要を示している。説明の便宜上、以降の説明においては、コントローラ20をCTL♯0と称し、コントローラ30をCTL♯1と別称する場合がある。各々のCTL♯0,CTL♯1には、排他的にアクセスする権限を有する論理ボリュームが割り当てられている。例えば、CTL♯0は論理ボリュームLU♯0に対して排他的にアクセスする権限を有し、CTL♯1は論理ボリュームLU♯1に対して排他的にアクセスする権限を有するものとする。どのCTL♯0,CTL♯1にどの論理ボリュームLU♯0,LU♯1が排他的に割り当てられているかは、例えば、キャッシュメモリ25,35上の管理情報領域(図8参照)等にその設定情報を書き込むことで、各々のCTL♯0,CTL♯1が自身のアクセス権限を把握することができる。
キャッシュメモリ25は、複数の記憶領域P01,P02,P03に分割され、キャッシュメモリ35は、複数の記憶領域P11,P12,P13に分割されている。記憶領域P01は、CTL♯0に対して排他的に割り当てられた論理ボリューム(例えば、LU♯0)に読み書きされるキャッシュデータDATA0を一時的に格納するための記憶領域であり、当該記憶領域P01には、二重書きの設定がなされている(ミラーオン設定)。つまり、記憶領域P01に書き込まれるキャッシュデータDATA0はCTL♯0の制御によって、記憶領域P11にも書き込まれる。記憶領域P11は、CTL♯0によるミラーリング用の記憶領域である。
同様に、記憶領域P12は、CTL♯1に対して排他的に割り当てられた論理ボリューム(例えば、LU♯1)に読み書きされるキャッシュデータDATA1を一時的に格納するための記憶領域であり、当該記憶領域P12には、二重書きの設定がなされている。つまり、記憶領域P12に書き込まれるキャッシュデータDATA1は、CTL♯1の制御によって、記憶領域P02にも書き込まれる。記憶領域P02は、CTL♯1によるミラーリング用の記憶領域である。
記憶領域P03,P13は、二重書きの設定がなされていない記憶領域である(ミラーオフ設定)。
尚、二重書き設定がなされている記憶領域P01,P02,P11,P12をミラーオン領域と称し、二重書き設定がなされていない記憶領域P03,P13をミラーオフ領域と称する。
図3はキャッシュメモリの各パーティションと、アプリケーションプログラム及び論理ボリュームとの対応関係を示している。上述した各記憶領域(例えば、P01)は、複数のパーティション(例えば、P01♯0,P01♯2,P01♯3)に論理分割される。パーティションとは、ユーザデータを格納するための、キャッシュメモリ上に論理分割された記憶領域であって、個々の論理ボリュームに対して排他的に割り当てられた個々の記憶領域をいう。パーティションの用語は、その趣旨を逸脱しない範囲内で、例えば、エリア、分割記憶領域、分割エリア、分割キャッシュ等と別称することもできる。各々のパーティションには、それぞれ異なる論理ボリューム(例えば、リソース競合を防ぎたい論理ボリューム)LU♯0,LU♯1,…,LU♯Mを排他的に割り当てることにより、論理ボリューム単位でのキャッシュメモリ25,35の独立したリソース管理が可能になる。つまり、各論理ボリュームが使用するキャッシュメモリ25,35の記憶資源がパーティション単位で割り当てられているため、論理ボリュームが性能特性の異なるディスクドライブ40によって構成されている場合であっても、論理ボリュームの性能特性の相違によるリソース競合を抑制できる。
また、各々の論理ボリュームLU♯0,LU♯1,…,LU♯Mに対して、I/O特性の異なる複数のアプリケーションプログラムAP♯0,AP♯1,…,AP♯Nを排他的に割り当てることにより、アプリケーションプログラムAP♯0,AP♯1,…,AP♯NのI/O特性の相違によるキャッシュメモリ25,35のリソース競合を抑制できる。例えば、パーティションP01♯0に対しては、多目的用途のアプリケーションプログラムが使用する論理ボリュームLU♯0を割り当て、パーティションP01♯1に対しては、データベースが使用する論理ボリュームLU♯2を割り当て、パーティションP01♯2に対しては、ストリーミング用のアプリケーションプログラムが使用する論理ボリュームLU♯3を割り当てる例が示されている。
また、ミラーオフ領域としての記憶領域P03は、パーティションP03♯0,P03♯1に論理分割され、それぞれのパーティションP03♯0,P03♯1には、科学技術計算を行うアプリケーションプログラム(HPC)が使用する論理ボリュームLU♯5,LU♯6が割り当てられている。ミラーオフ領域は、科学技術計算の途中演算結果のように、テンポラリなデータを格納する場合など、二重書きを要しない場合に用いられる。
記憶領域P02,P11,P12,P13についても、同様に、複数のパーティションに論理分割されている。
尚、記憶領域P01(コピー元領域)のミラーリング領域(コピー先領域)としての記憶領域P11のパーティション分割の態様(パーティション数、パーティションサイズ、及びセグメントサイズ)は、記憶領域P01のパーティション分割の態様と同一である。同様に、記憶領域P12(コピー元領域)のミラーリング領域(コピー先領域)としての記憶領域P02のパーティション分割の態様は、記憶領域P12のパーティション分割の態様と同一である。一方、ミラーオフ領域としての記憶領域P03,P13のパーティション分割の態様は必ずしも同一である必要はなく、また、記憶領域P03,P13のサイズについても、必ずしも同一である必要はない。但し、記憶領域P03,P13のサイズを同一に設定すれば、ミラーオン領域を効率よく使用できる。
また、各々のパーティション毎に二重書き要否の設定(ミラーオン/ミラーオフ)を行うことも可能である。ミラーオフ設定をすると、データ転送制御部24,34相互間におけるキャッシュデータの転送が不要となるので、データ転送に伴うコントローラ20,30のオーバーヘッドを低減できる。
図4はLUNとパーティション番号との対応関係を示している。この対応関係は、オペレータが管理端末70を操作し、論理ボリュームとパーティションの割付変更をストレージシステム10に指示することによって、適宜変更することが可能である(詳細については後述する。)。
図5は各パーティションに論理ボリュームを割り当てることで、リソース競合を抑制する概要を示している。パーティションP01♯1には、アプリケーションプログラムAP♯1が論理ボリュームLU♯2に読み書きするキャッシュデータDATA2が格納され、パーティションP01♯2には、アプリケーションプログラムAP♯2が論理ボリュームLU♯3に読み書きするキャッシュデータDATA3が格納される。アプリケーションプログラムAP♯1は、データベース等の細かいランダムなアクセスを発行するプログラムであるのに対し、アプリケーションプログラムAP♯2は、連続的な大量データを扱うストリーミング等のプログラムであるから、両者のI/O特性は大きく異なる。つまり、各パーティションP01♯1,P01♯2に格納されるキャッシュデータDATA2,DATA3がキャッシュメモリ上に滞留する時間は異なるので、パーティション毎に独立したソース管理がなされていない場合には、リソース競合が生じる場合がある。
ところが、キャッシュメモリをパーティション分割し、各アプリケーションプログラムAP♯1,AP♯2が使用できるキャッシュメモリのリソース資源を排他的に割り当てることにより、アプリケーションプログラムAP♯1のキャッシュデータDATA2は、パーティションP01♯2のリソース資源を消費することがない。同様に、アプリケーションプログラムAP♯2のキャッシュデータDATA3は、パーティションP01♯1のリソース資源を消費することがない。これにより、ある一つのアプリケーションプログラムの負荷がキャッシュメモリ全体に波及し、リソース競合が生じる事態を抑制できる。
尚、論理ボリュームLU♯2,LU♯3を構成するディスクドライブの性能特性が異なる場合であっても、同様の理由により、リソース競合を抑制できる。
図6は各パーティションの論理構成を示している。ここでは、各記憶領域を4つのパーティションに分割する例を示す。各パーティションのパーティションサイズ、及びセグメントサイズは、アプリケーションプログラムのI/O特性に応じて最適な値に設定されている。一般的に、セグメントサイズを大きく設定すると、キャッシュデータをデステージングする際に、ダーティデータからクリーンデータへの状態遷移を管理する管理情報が少なくなるので、処理速度が向上し、オーバーヘッドを低減できる。セグメントサイズを小さく設定すると、キャッシュメモリのヒット率が向上する。例えば、動画配信等の大量のデータを連続的に扱うアプリケーションプログラムが使用するパーティションに対しては、セグメントサイズを大きく設定し、データベース等の細かいアクセスがランダムに発行されるアプリケーションプログラムが使用するパーティションに対しては、セグメントサイズを小さく設定するのが好ましい。
同図に示す例では、パーティションP01♯0のセグメントサイズは16KB(デフォルトサイズ)、パーティションP01♯1のセグメントサイズは4KB、パーティションP02♯0のセグメントサイズは64KB、パーティションP03♯0のセグメントサイズは512KBに設定されている。
ミラーオン領域(記憶領域P01,P02,P11,P12)に限らず、ミラーオフ領域(記憶領域P03,P13)においても、各パーティションのパーティションサイズ、及びセグメントサイズは、アプリケーションプログラムのI/O特性に応じて最適な値に設定されている。
ストレージシステム10の運用形態として、例えば、個々のアプリケーションプログラム毎に、パーティションサイズ、セグメントサイズ、二重書き要否等を予めデフォルト設定しておき、アプリケーションプログラムの種別をストレージシステム10が判断すると、そのアプリケーションプログラムに対してデフォルト設定された設定値を基に、キャッシュメモリの最適な性能チューニングを行えるように、パーティションサイズ、セグメントサイズ、二重書き要否等を設定するように構成してもよい。
また、各パーティションのセグメントサイズは、アプリケーションプログラムのI/O特性の変化に応じて、自動的に、或いはオペレータの入力操作によって、電源を落とさずに、動的に設定変更可能である。例えば、パーティションP01♯0のセグメントサイズは、デフォルトの16KBに設定されているが、I/O特性の変化に応じて、これを動的に拡大(例えば、64KBに設定変更)し、或いは縮小(例えば、4KBに設定変更)することもできる。また、各パーティションのパーティションサイズを自動的に、或いはオペレータの入力操作によって、電源を落とさずに、動的に設定変更することもできる。大量のデータを扱うアプリケーションプログラムが使用するパーティションに対しては、パーティションサイズを大きく設定し、少量のデータを扱うアプリケーションプログラムが使用するパーティションに対しては、パーティションサイズを小さく設定することもできる。
セグメントサイズ、又はパーティションサイズをストレージシステム10が自動的に設定変更する例として、例えば、キャッシュメモリ25,35のリソース競合状態をCPU21,31が監視し、各アプリケーションに最適となるように、セグメントサイズ、又はパーティションサイズを変更するように構成してもよい。
図7は各パーティションの物理構成と論理構成の対応関係を示している。キャッシュメモリは、複数のブロック(例えば、BLK♯0,BLK♯9,BLK♯25,BLK♯27)を個々のパーティション(例えば、P01♯0)にマッピングすることにより、複数のパーティションに論理分割されている。各ブロックは、複数のセグメントSEGによって構成されている。このように、パーティションの論理分割を、ブロックのマッピングによって実現することにより、パーティションサイズの変更は、ブロックのマッピング変更によって対応できるので、セグメントの移動量を最小限に抑えることができる。仮に、物理構成と論理構成を同一にすると、パーティションサイズを変更した場合に、パーティション境界を順番にずらしながら移動しなければならず、大量のセグメントを移動させなければならない場合も生じ得る。
図8はコントローラの主要構成を示している。図1に示した符号と同一符号のハードウエアは同一のハードウエアを示すものとして、その詳細な説明は省略する。キャッシュメモリ25が提供する記憶領域は、主に、管理情報領域25aと、ユーザデータ領域25bに分けられる。ユーザデータ領域25bは、ユーザデータ(キャッシュデータ)を一時的に格納するための記憶領域であり、上述の如く複数のアプリケーションプログラムに対応して、複数のパーティションに分割される。管理情報領域25aは、ユーザデータを管理する上で必要な管理情報、例えば、データ属性(リードデータ/ライトデータ)、ホスト装置60が指定するユーザデータの論理アドレス、キャッシュメモリ上の空きエリア情報、キャッシュデータの置き換えに関する優先順位の情報等が格納されている。
図9はセグメントと親サブセグメント管理ブロック及び子サブセグメント管理ブロックとの対応関係を示している。本実施例において、セグメントは、単一又は複数のサブセグメントから構成されており、セグメントを構成するサブセグメントの個数を調整することで、セグメントサイズを調整している。サブセグメントのサイズは予め固定サイズに設定されている。複数のサブセグメントからセグメントを構成する場合、当該セグメントにおいて、最初にアクセスされたサブセグメントを親サブセグメントと称し、2番目以降にアクセスされたサブセグメントを子サブセグメントと称する。親サブセグメントと子サブセグメントを区別しない場合には、単に、サブセグメントと称する。
同図において、SSEG1〜SSEG8は、アクセスされたサブセグメントを、そのアクセス順番とともに示している。サブセグメントのサイズが16KBにデフォルト設定されている場合、セグメントサイズを64KBにするには、サブセグメントを4つ集めてセグメントを構成する必要がある。例えば、SSEG1を親サブセグメントとし、その後に続く3つのサブセグメントSSEG2〜SSEG4を子サブセグメントとして、互いに論理的に関連付けることにより、一つのセグメントを構成することができる。同様に、SSEG5を親サブセグメントとし、その後に続く3つのサブセグメントSSEG6〜SSEG8を子サブセグメントとして、互いに論理的に関連付けることにより、一つのセグメントを構成することができる。
尚、親サブセグメントと子サブセグメントは、必ずしも連続した記憶領域上に配置されている必要はなく、キャッシュメモリ上の各所に離散的に点在していてもよい。
親サブセグメント管理ブロック80は、親サブセグメントアドレス81、順方向ポインタ82、逆方向ポインタ83、子サブセグメントポインタ84、及び親サブセグメント管理情報85を含む。親サブサブセグメントアドレス81は、親サブセグメント管理ブロック80が管理する親サブセグメントの位置を示す。順方向ポインタ82は、最も古くアクセスされた順番に親サブセグメント管理ブロック80を指し示す。逆方向ポインタ83は、最も新しくアクセスされた順番に親サブセグメント管理ブロック80を指し示す。子サブセグメントポインタ84は、子サブセグメント管理ブロック90を指し示す。親サブセグメント管理情報85には、親サブセグメントのステータス(ダーティ/クリーン/フリー)等が格納される。親サブセグメント内にダーティデータとクリーンデータが混在する場合には、ビットマップ情報によって、そのステータスが管理される。
子サブセグメント管理ブロック90は、子サブセグメントアドレス91、順方向ポインタ92、及び子サブセグメント管理情報93を含む。子サブサブセグメントアドレス91は、子サブセグメント管理ブロック90が管理する子サブセグメントの位置を示す。順方向ポインタ92は、最も古くアクセスされた順番に子サブセグメント管理ブロック90を指し示す。子サブセグメント管理情報93には、子サブセグメントのステータス等が格納される。子サブセグメント内にダーティデータとクリーンデータが混在する場合には、ビットマップ情報によって、そのステータスが管理される。
先頭ポインタ101は、順方向ポインタ81の最後尾を指し示し、後方ポインタ102は、先頭の逆方向ポインタ82によって指し示される。
このようにして、キュー管理される親サブセグメント管理ブロック80と、子サブセグメント管理ブロック90は、ステータスがダーティデータの場合には、ダーティーキューとして管理され、ステータスがクリーンデータの場合には、クリーンキューとして管理される。親サブセグメントと複数の子サブセグメントを論理的に関連付けてセグメントを構成することにより、親サブセグメントが状態遷移すると、子サブセグメントも状態遷移するので、デステージング処理を高速化できる。
図10はパーティションサイズ自動変更処理ルーチンのフローチャートを示している。アプリケーションプログラムAP♯0,AP♯1,…,AP♯Nはその用途に応じて、24時間常時稼働することが要求されるものや、ある特定の時間帯に稼働率が高くなるもの等、様々な種類が存在し、その負荷は時間帯毎に異なる場合がある。アプリケーションプログラムの性能を適正に発揮させるために、時間帯毎の負荷変動に応じてパーティションサイズを変更するのが好ましい。例えば、あるアプリケーションプログラムが稼働しない夜間において、他のアプリケーションプログラムが使用するパーティションサイズを大きくする場合等である。
パーティションサイズ自動変更処理ルーチンが呼び出されると、CPU21は、タイマ29が刻む現在時刻がタイマ設定時刻に一致するか否かをチェックする(S101)。現在時刻がタイマ設定時刻になると(S101;YES)、CPU21は、オペレータが予め指定したパーティションサイズより大きいパーティションサイズを有するパーティションを変更元パーティションとし、オペレータが予め指定したパーティションサイズより小さいパーティションサイズを有するパーティションを変更先パーティションとして選択する(S102)。
例えば、パーティションP01#0のサイズがユーザデータ領域25bの10%、パーティションP01#1のサイズがユーザデータ領域25bの5%に設定されていると仮定し、パーティションP01#1のサイズを7%に変更するには、2%分のブロックをパーティションP01#0からパーティションP01#1へ移動させればよい。このとき、パーティションP01#0が変更元パーティションとなり、パーティションP01#1が変更先パーティションとなる。但し、変更元パーティションが複数存在する場合は、その時間帯において、最も稼働率が低いアプリケーションプログラムが使用するパーティションを優先的に変更元パーティションとして選択してもよい。
次に、CPU21は、変更元パーティションから変更先パーティションへ移動するブロックを確保して、そのブロック内のダーティデータをデステージし(S103)、そのブロック内のサブセグメントを管理する親サブセグメント管理ブロックと子サブセグメント管理ブロックをデキューする(S104)。
次に、CPU21は、変更先パーティションのセグメントサイズが最小サイズ(サブセグメントサイズ)であるか否かをチェックする(S105)。変更先パーティションのセグメントサイズが最小サイズでない場合には(S105;NO)、CPU21は、親サブセグメントに子サブセグメントが接続されるように、親サブセグメント管理ブロック80と子サブセグメント管理ブロック90のキュー管理を再編成し(S106)、この再編成処理を子サブセグメント数分繰り返すことで(S107)、変更元パーティションから変更先パーティションに移動するブロックのセグメントサイズを変更先パーティションのセグメントサイズに一致させる。
セグメントサイズが最小サイズでない場合(S105;NO)、又はS106の処理が子サブセグメント数分終了した場合(S107;YES)には、CPU21は、親サブセグメント同士が接続されるように、親サブセグメント管理ブロック80のキュー管理を再編成し(S108)、全てのパーティションが指定のサイズとなるまで、この再編成処理を繰り返す(S109)。
次に、CPU21は、キャッシュメモリ25がミラーオフ設定されているか否かをチェックし(S110)、ミラーオフ設定されていない場合には(S110;NO)、キャッシュメモリ35のミラーオン領域についても、同様に、パーティションサイズの変更を行うように、CPU31に指示を送る(S111)。これにより、キャッシュメモリ25,35のミラーオン領域のパーティションサイズとセグメントサイズは同一となる。一方、キャッシュメモリ25にミラーオフ設定されている場合には(S110;YES)、キャッシュメモリ35のパーティションサイズ等を変更する必要がないので、CPU21は、オペレータに完了報告をし(S112)、本ルーチンを抜ける。
図11はパーティションサイズ手動変更処理ルーチンのフローチャートを示している。オペレータは管理端末70を操作することによって、ストレージシステム10にパーティションサイズの変更を指示することができる。例えば、オペレータは、管理端末70のディスプレイに表示される各アプリケーションプログラムの負荷変動を監視し、個々のアプリケーションに最適なパーティションサイズを割り当てることができる。
パーティションサイズ手動変更処理ルーチンが呼び出されると、CPU21は、オペレータからパーティションサイズの変更指示を受け付ける(S201)。すると、CPU21は、オペレータが指定したパーティションサイズより大きいパーティションサイズを有するパーティションを変更元パーティションとし、オペレータが指定したパーティションサイズより小さいパーティションサイズを有するパーティションを変更先パーティションとして選択する(S202)。
次に、CPU21は、変更元パーティションから変更先パーティションへ移動するブロックを確保し、そのブロック内のダーティデータをデステージし(S203)、そのブロック内のサブセグメントを管理する親サブセグメント管理ブロックと子サブセグメント管理ブロックをデキューする(S204)。
次に、CPU21は、変更先パーティションのセグメントサイズが最小サイズ(サブセグメントサイズ)であるか否かをチェックする(S205)。変更先パーティションのセグメントサイズが最小サイズでない場合には(S205;NO)、CPU21は、親サブセグメントに子サブセグメントが接続されるように、親サブセグメント管理ブロック80と子サブセグメント管理ブロック90のキュー管理を再編成し(S126)、この再編成処理を子サブセグメント数分繰り返すことで(S207)、変更元パーティションから変更先パーティションに移動するブロックのセグメントサイズを変更先パーティションのセグメントサイズに一致させる。
セグメントサイズが最小サイズでない場合(S205;NO)、又はS206の処理が子サブセグメント数分終了した場合(S207;YES)には、CPU21は、親サブセグメント同士が接続されるように、親サブセグメント管理ブロック80のキュー管理を再編成し(S208)、全てのパーティションが指定のサイズとなるまで、この再編成処理を繰り返す(S209)。
次に、CPU21は、キャッシュメモリ25がミラーオフ設定されているか否かをチェックし(S210)、ミラーオフ設定されていない場合には(S210;NO)、キャッシュメモリ35のミラーオン領域についても、同様に、パーティションサイズの変更を行うように、CPU31に指示を送る(S211)。一方、キャッシュメモリ25にミラーオフ設定されている場合には(S210;YES)、キャッシュメモリ35のパーティションサイズ等を変更する必要がないので、CPU21は、オペレータに完了報告をし(S212)、本ルーチンを抜ける。
図12はセグメントサイズ変更処理ルーチンのフローチャートを示している。上述の如くセグメントサイズはアプリケーションプログラムのI/O特性に応じて定められ、個々のアプリケーションプログラム毎にデフォルト設定されたセグメントサイズで運用するのが便宜であるが、アプリケーションプログラムのI/O特性の変動等に対応できるようにセグメントサイズを適宜変更できるように構成するのが望ましい。オペレータは管理端末70を操作することによって、ストレージシステム10にセグメントサイズの変更を指示することができる。
セグメントサイズ変更処理ルーチンが呼び出されると、CPU21は、オペレータからセグメントサイズの変更指示を受け付ける(S301)。セグメントサイズの変更指示には、変更対象のパーティションと、変更後のセグメントサイズが含まれる。CPU21は、パーティションサイズの変更作業に備えて、変更対象パーティションに対応付けられた論理ボリュームへのI/Oを抑止し(S302)、変更対象パーティション内のダーティデータをデステージする(S303)。デステージ完了後、CPU21は、変更後のセグメントサイズ分だけ、親サブセグメント管理ブロックと子サブセグメント管理ブロックをデキューする(S304)。
次に、CPU21は、セグメントサイズ変更後のセグメントサイズが最小サイズ(サブセグメントサイズ)であるか否かをチェックする(S305)。変更後のセグメントサイズが最小サイズでない場合には(S305;NO)、CPU21は、変更後のセグメントサイズ分だけ複数のサブセグメントを確保する(S306)。そして、CPU21は、親サブセグメントに子サブセグメントが接続されるように、親サブセグメント管理ブロック80と子サブセグメント管理ブロック90のキュー管理を再編成し(S307)、この再編成処理を子サブセグメント数分繰り返すことで(S308)、指定されたセグメントサイズに調整する。
セグメントサイズが最小サイズでない場合(S305;NO)、又はS307の処理が子サブセグメント数分終了した場合(S308;YES)には、CPU21は、親サブセグメント同士が接続されるように、親サブセグメント管理ブロック80のキュー管理を再編成し(S309)、変更対象パーティション全体が指定セグメントサイズとなるまで、この再編成処理を繰り返す(S310)。次に、CPU21は、変更対象パーティションに対応付けられた論理ボリュームへのI/O抑止を解除し(S311)、オペレータに完了報告をして(S312)、本ルーチンを抜ける。
尚、セグメントサイズを変更する場合に、必ずしも、変更対象パーティションのダーティデータを全てデステージしてからセグメントサイズを変更する必要はなく、例えば、変更対象パーティション内の一部のダーティデータをデステージし、ある程度のサブセグメントを確保できた段階で、論理ボリュームへのI/O抑止を解除し、論理ボリュームへのI/O処理と並行して、セグメントサイズの変更処理をバックグランドで行うようにしてもよい。
また、他の手法として、変更対象パーティションのデステージ完了まで、論理ボリュームへのI/O抑止をせずに、例えば、ライトスルー方式を採用することで、I/O停止時間を削減してもよい。ここで、ライトスルー方式とは、キャッシュメモリ25,35にライトデータを書かずに、ディスク装置40に直接書き込む方式をいう。
図13はパーティション/LU割付変更処理ルーチンのフローチャートである。オペレータは管理端末70を操作することによって、パーティションへの論理ボリュームの割付変更をストレージシステム10に指示することができる。
パーティション/LU割付変更処理ルーチンが呼び出されると、CPU21は、オペレータからパーティションへの論理ボリュームの割付変更指示を受け付ける(S401)。そして、CPU21は、パーティション/LU割付変更作業に備えて、変更対象論理ボリュームへのI/Oを抑止し(S402)、変更対象論理ボリュームに割り当てられたキャッシュメモリ25,35上のダーティデータをデステージする(S403)。
次に、CPU21は、変更対象論理ボリュームに割り当てるパーティションをオペレータ指定のパーティションに変更する(S404)。そして、変更対象論理ボリュームへのI/O抑制を解除し(S405)、オペレータに完了報告をして(S406)、本ルーチンを抜ける。
図14乃至図19はパーティションサイズの参照又は変更、セグメントサイズの参照又は変更、パーティションへの論理ボリュームの割り当ての参照又は変更等を行うときに管理端末70に表示される画面イメージである。以下、これらの表示画面について、説明を加える。
図14はユニット画面の表示例を示している。オペレータは、このユニット画面にて、各種設定値の参照又は変更等を行うことができる。ユニット画面の左側のツリーには、「Cache Partition」オブジェクトの下位に「パーティション」オブジェクトと「ロジカルユニット」オブジェクトが表示される。オペレータは、パーティションサイズの参照又は変更、或いはセグメントサイズの参照又は変更を行うときは、「パーティション」オブジェクトを選択する。すると、画面イメージは、図14から図15に遷移する。一方、オペレータは、パーティションへの論理ボリュームの割り当てを参照し、又は変更するときは、「ロジカルユニット」オブジェクトを選択する。すると、画面イメージは、図14から図17に遷移する。
図15はパーティションの参照・変更画面を示している。同画面の右上には、「現在値」が表示され、同画面の右下には、「設定値」が表示される。オペレータは、「変更」ボタンをクリックすることにより、キャッシュ総容量、キャッシュ空き容量、各パーティションのコントローラ番号、パーティションサイズ、セグメントサイズ等の設定値を変更することができる。オペレータが「変更」ボタンをクリックすると、画面イメージは、図15から図16に遷移する。
図16はパーティション変更画面を示している。オペレータは、この画面を通じて、各パーティションの名称、コントローラ番号、パーティションサイズ、セグメントサイズを変更することが可能である。更に、「追加」ボタンをクリックすることにより、パーティションを新たに追加することも可能である。「削除」ボタンをクリックすることにより、パーティションを削除することも可能である。オペレータは、パーティションサイズ又はセグメントサイズ等について、新たな「設定値」を入力し、「OK」ボタンをクリックすると(この操作は、上述したパーティションサイズ変更指示(S201)、又はセグメントサイズ変更指示(S301)に相当する。)、新たな「設定値」が装置に反映される。
図17は論理ボリュームへのパーティション割り当て設定画面を示している。この画面には、現時点における、論理ボリュームへのパーティション割り当て状態が表示される。同図に示す例では、LUN0000には、Mastor0と称されるパーティションが割り当てられ、LUN0001には、Sampleと称されるパーティションが割り当てられている。オペレータが「変更」ボタンをクリックすると、画面イメージは、図17から図18に遷移する。
図18はパーティション割り当て変更画面を示している。オペレータが「割り当ての変更」ボタンをクリックすると、画面イメージは、図18から図19に遷移する。
図19はパーティション指定画面を示している。この画面の「ロジカルユニット番号」には、設定対象の論理ボリュームが表示される。オペレータは、「キャッシュパーティション」のプルダウンメニューから、当該論理ボリュームに割り当てたいパーティションを選択し、「OK」ボタンをクリックすると(この操作は、上述したパーティション割付変更指示(S401)に相当する。)、新たな「設定値」が装置に反映される。
尚、上述の説明においては、オペレータが管理端末70を操作することにより、キャッシュメモリ25,35の性能チューニング(パーティション分割、パーティションサイズ設定、セグメントサイズ設定、二重化要否設定、パーティションへの論理ボリュームの割り当て設定又は割当変更等)を行う構成を例示したが、例えば、図20に示すように、ホスト装置60に実装されたミドルウエア62がアプリケーションプログラムAP♯0,AP♯1,…,AP♯NのI/O特性を監視し、そのI/O特性の変動等に応じて、ストレージシステム10に対して、パーティション分割、パーティションサイズ設定、セグメントサイズ設定、二重化要否設定、パーティションへの論理ボリュームの割り当て設定又は割当変更等を指示し、個々のアプリケーションプログラムAP♯0,AP♯1,…,AP♯Nに最適なキャッシュメモリ25,35の性能チューニングを行うように構成してもよい。
本実施例によれば、複数の論理ボリュームのそれぞれに対して、複数のパーティションのそれぞれを排他的に割り当てることにより、各プリケーションプログラムに対して排他的に割り当てられた論理ボリューム間のリソース競合を抑制し、最適なキャッシュメモリの性能チューニングを行うことができる。
また、ディスクドライブ40の性能特性が異なる場合であっても、複数の論理ボリュームのそれぞれに対して複数のパーティションをそれぞれ排他的に割り当てることにより、ディスクドライブ40の性能特性の相違によるキャッシュメモリ25,35のリソース競合を抑制し、最適なキャッシュメモリの性能チューニングを行うことができる。
図21は本実施例に係るストレージシステムの主要構成を示している。図1に示した符号と同一符号のハードウエアは同一のハードウエアを示すものとして、その詳細な説明は省略する。
ローカルメモリ23には、CPU21のマイクロプログラムを格納するプログラム領域23bに加えて、ユーザデータを管理する上で必要な管理情報、例えば、データ属性(リードデータ/ライトデータ)、ホスト装置60が指定するユーザデータの論理アドレス、キャッシュメモリ上の空きエリア情報、キャッシュデータの置き換えに関する優先順位の情報等を格納するための管理情報領域23aが設けられている。一方、キャッシュメモリ25には、ユーザデータ(キャッシュデータ)を一時的に格納するためのユーザデータ格納領域25bは設けられているものの、ユーザデータを管理するための管理情報領域は設けられていない。
ホスト装置60からストレージシステム10に対してライトアクセスがなされると、CPU21は、ローカルメモリ23の管理情報領域23aを参照して、キャッシュメモリ25のユーザデータ領域25b上における空きエリアを検索し、ライトデータをその空き領域に書き込む。また、ホスト装置60からストレージシステム10に対してリードアクセスがなされると、CPU21は、ローカルメモリ23の管理情報領域23aを参照して、キャッシュヒット判定を行う。実施例1のように管理情報領域25aがキャッシュメモリ25にある場合には、PCIバス28を経由してメモリアクセスしなければならず、高速アクセスが困難であったが、本実施例のように、管理情報領域23aがローカルメモリ23にある場合には、高速アクセスが可能であり、メモリアクセスにかかるオーバーヘッドを低減することが可能である。
尚、CPU21内部にローカルメモリ23を実装し、そのローカルメモリ23内に管理情報領域23aを設ける構成としてもよい。
図22は本実施例に係るストレージシステムの主要構成を示している。図1又は図21に示した符号と同一符号のハードウエアは同一のハードウエアを示すものとして、その詳細な説明は省略する。
ローカルメモリ23とキャッシュメモリ25のそれぞれには、キャッシュデータの管理情報を格納する管理情報領域23a,25aが設けられており、管理情報が2元管理されている。CPU21は、ホスト装置60からライトアクセス、又はリードアクセスに対しては、ローカルメモリ23の管理情報領域23aを参照することにより、ユーザデータ領域25bにおける空きエリアの検索、又はキャッシュヒット判定を行う。CPU21は、ホスト装置60からのライトアクセスに対して、ユーザデータ領域25bの空きエリアにライトデータを書き込むと、管理情報領域23a,25aに格納されている両方の管理情報をアップデートする。管理情報のアップデートは、CPU21が行ってもよく、或いはCPU21の指示に従って、データ転送制御部24が行ってもよい。
図23は電源障害時の復旧処理ルーチンのフローチャートを示している。ストレージシステム10に突発的な電源障害が生じた場合、揮発性のローカルメモリ23に格納されている管理情報は消失してしまうが、電源バックされているキャッシュメモリ25の管理情報は消失することなく、保持される。そこで、障害回復時には、電源再投入を契機に、キャッシュメモリ25上の管理情報をローカルメモリ23に複写することで、消失した管理情報の復元を行うのが望ましい。この復元処理をしている間は、ストレージシステム10は、ホスト装置60からのI/O処理を一時的に停止するか、或いはI/O受付キューイングのみ行って、I/O実行を停止するか、又は管理情報領域25aを参照することにより、ホスト装置60からのI/O処理を行ってもよい。
電源障害時の復旧処理ルーチンにおいて、電源投入が行われると(S501)、CPU21は、前回のシステム停止が電源障害によるものであったか否かをチェックする(S502)。電源障害で停止していた場合には(S502;YES)、CPU21は、キャッシュメモリ25が不揮発性か否かをチェックする(S503)。キャッシュメモリ25が電源バックアップされている等の理由により、不揮発性である場合には(S503;YES)、キャッシュメモリ25上の管理情報をローカルメモリ23に複写する(S504)。
一方、前回のシステム停止が電源障害によるものではなく、管理情報が消失してない場合には(S502;NO)、システム運用上問題がないため、通常通り、キャッシュメモリ25の初期化を行う(S505)。キャッシュメモリ25が揮発性であり、管理情報が消失してしまった場合には(S503;NO)、管理情報の復元は無理なので、この場合においても、通常通り、キャッシュメモリ25の初期化を行う(S505)。そして、CPU21は、ホスト装置60からI/O処理準備を行い(S506)、I/O処理を開始する(S507)。
本実施例によれば、高速アクセス可能なローカルメモリ23からキャッシュデータの管理情報を取得して、メモリアクセスのオーバーヘッドを低減しつつ、電源障害時の管理情報の消失に対しては、不揮発性のキャッシュメモリ25に保持されている管理情報を元にローカルメモリ23の管理情報を復元するため、システムの耐障害性を高めることができる。
ストレージシステムの主要構成を示すブロック図である。 キャッシュデータの二重書きを示す説明図である。 各パーティションと論理ボリュームとの対応関係を示す図である。 LUNとパーティション番号との対応関係を示す図である。 キャッシュ分割によりリソース競合を抑制する概要を示す図である。 各パーティションの論理構成を示している。 各パーティションの物理構成と論理構成の対応関係を示している。 コントローラの主要構成図である。 セグメントとその管理情報との対応関係を示す図である。 パーティションサイズ自動変更処理ルーチンのフローチャートである。 パーティションサイズ手動変更処理ルーチンのフローチャートである。 セグメントサイズ変更処理ルーチンのフローチャートである。 パーティション/LU割付変更処理ルーチンのフローチャートである。 ユニット画面の表示例である。 パーティションの参照・変更画面の表示例である。 パーティション変更画面の表示例である。 論理ボリュームへのパーティション割り当て設定画面の表示例である。 パーティション割り当て変更画面の表示例である。 パーティション指定画面の表示例である。 ストレージシステムの主要構成を示すブロック図である。 ストレージシステムの主要構成を示すブロック図である。 ストレージシステムの主要構成を示すブロック図である。 電源障害時の復旧処理ルーチンのフローチャートである。
符号の説明
10…ストレージシステム
20,30…コントローラ
21,31…CPU
22,32…CPU/PCIブリッジ
23,33…ローカルメモリ
24,34…データ転送制御部
25,35…キャッシュメモリ
26,36…ホストI/F制御部
27,37…ドライブI/F制御部
28,38…PCIバス
29,39…タイマ
40…ディスクドライブ
70…管理端末

Claims (10)

  1. アプリケーションプログラムに記憶デバイスから複数の論理ボリュームを提供し、前記アプリケーションプログラムからの要求に基づいて、前記複数の論理ボリュームに対するI/Oを処理するコントローラと、
    前記I/Oに係るデータを一時格納するキャッシュメモリと、
    を備えるストレージシステムであって、
    前記キャッシュメモリは複数のパーティションに論理的に分割され、それぞれのパーティションは前記複数の論理ボリュームのそれぞれに対して割り当てられており、
    前記複数のパーティションのそれぞれには前記キャッシュメモリから複数のセグメントが対応付けられ、前記複数のパーティションのそれぞれはセグメントサイズが独立して調整可能なように構成され、
    前記コントローラは、
    前記複数の論理ボリュームのうち、前記セグメントサイズの調整が行われるパーティションに対応付けられた論理ボリュームへのI/Oを抑止し、
    前記パーティションに格納されているダーティデータを前記記憶デバイスにデステージし、
    その後、前記パーティションの前記セグメントサイズを調整する、
    ストレージシステム。
  2. 請求項に記載のストレージシステムであって、
    前記コントローラは、複数のサブセグメントを論理的に関連付けることにより前記セグメントを構成し、さらに、前記セグメントにおける前記サブセグメントの個数を変更することにより、複数のパーティションのそれぞれの前記セグメントサイズを、前記複数のパーティション毎に独立して調整する、ストレージシステム。
  3. 請求項に記載のストレージシステムであって、
    前記セグメントサイズの管理用端末を備え、
    前記コントローラは、前記管理端末からの指示に応答して、前記複数のパーティションのそれぞれの前記セグメントサイズを、前記複数のパーティション毎に独立して調整する、ストレージシステム。
  4. 請求項1に記載のストレージシステムであって、
    前記コントローラは、タイマによって設定された時刻になると、前記複数のパーティションのそれぞれのサイズを、予め設定されたサイズになるように、前記複数のパーティション毎に独立して調整する、ストレージシステム。
  5. 請求項に記載のストレージシステムであって、
    前記コントローラは、前記複数の論理ボリュームのうち、前記セグメントサイズの調整が行われるパーティションに対応付けられた論理ボリュームへのI/Oを抑止する代わりに、ライトI/Oを、前記キャッシュメモリを介することなく前記ディスク装置に適用する、ストレージシステム。
  6. コントローラが、アプリケーションプログラムに記憶デバイスから複数の論理ボリュームを提供し、前記アプリケーションプログラムからの要求に基づいて、前記複数の論理ボリュームに対するI/Oを処理し、複数のパーティションに論理的に分割され、それぞれのパーティションが前記複数の論理ボリュームのそれぞれに対して割り当てられているとともに、前記複数のパーティションのそれぞれに複数のセグメントが対応付けられているキャッシュメモリに、前記I/Oに係るデータを一時格納する、ストレージシステムの制御方法であって、
    前記コントローラは、前記複数のパーティションのそれぞれについて、前記複数のセグメントのセグサイズを調整する際、
    前記複数の論理ボリュームのうち、前記セグメントサイズの調整が行われる前記複数のパーティションに対応付けられた論理ボリュームへのI/Oを抑止し、
    前記複数のパーティションに格納されているダーティデータを前記記憶デバイスにデステージし、
    その後、前記複数のパーティションのそれぞれの前記セグメントサイズを、前記複数のパーティション毎に独立して調整する、ストレージシステムの制御方法。
  7. 請求項6に記載のストレージシステムの制御方法であって、
    前記コントローラは、複数のサブセグメントを論理的に関連付けることにより前記セグメントを構成し、さらに、前記セグメントにおける前記サブセグメントの個数を変更することにより、複数のパーティションのそれぞれの前記セグメントサイズを、前記複数のパーティション毎に独立して調整する、ストレージシステムの制御方法。
  8. 請求項6に記載のストレージシステムの制御方法であって、
    前記コントローラは、管理端末からの指示に応答して、複数のパーティションのそれぞれの前記セグメントサイズを、前記複数のパーティション毎に独立して調整する、ストレージシステムの制御方法。
  9. 請求項6に記載のストレージシステムの制御方法であって、
    前記コントローラは、タイマによって設定された時刻になると、前記複数のパーティションのそれぞれのサイズを予め設定されたサイズになるように、前記複数のパーティション毎に独立して調整する、ストレージシステムの制御方法。
  10. 請求項6に記載のストレージシステムの制御方法であって、
    前記コントローラは、前記複数の論理ボリュームのうち、前記セグメントサイズの調整が行われるパーティションに対応付けられた論理ボリュームへのI/Oを抑止する代わりに、ライトI/Oを、前記キャッシュメモリを介することなく前記ディスク装置に適用する、ストレージシステムの制御方法。
JP2005037347A 2005-02-15 2005-02-15 ストレージシステム Expired - Fee Related JP4819369B2 (ja)

Priority Applications (9)

Application Number Priority Date Filing Date Title
JP2005037347A JP4819369B2 (ja) 2005-02-15 2005-02-15 ストレージシステム
US11/110,883 US7447843B2 (en) 2005-02-15 2005-04-21 Storage system with independently adjustable cache memory partitions
DE602005018560T DE602005018560D1 (de) 2005-02-15 2005-09-26 Speichersystem
EP08008293A EP1965304B1 (en) 2005-02-15 2005-09-26 Storage system
EP05255955A EP1691293A1 (en) 2005-02-15 2005-09-26 Storage system
CN200810173106.6A CN101393536B (zh) 2005-02-15 2005-12-22 存储系统
CNB2005101322376A CN100442250C (zh) 2005-02-15 2005-12-22 存储系统
US11/976,645 US8612716B2 (en) 2005-02-15 2007-10-26 Storage system having partition size set in accordance with drive type
US14/098,666 US8832380B2 (en) 2005-02-15 2013-12-06 Storage system having cache partition size set based on drive type

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005037347A JP4819369B2 (ja) 2005-02-15 2005-02-15 ストレージシステム

Publications (2)

Publication Number Publication Date
JP2006227688A JP2006227688A (ja) 2006-08-31
JP4819369B2 true JP4819369B2 (ja) 2011-11-24

Family

ID=35852175

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005037347A Expired - Fee Related JP4819369B2 (ja) 2005-02-15 2005-02-15 ストレージシステム

Country Status (5)

Country Link
US (3) US7447843B2 (ja)
EP (2) EP1691293A1 (ja)
JP (1) JP4819369B2 (ja)
CN (2) CN101393536B (ja)
DE (1) DE602005018560D1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9727247B2 (en) 2013-03-15 2017-08-08 Nec Corporation Storage device and method, and storage medium

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6056410A (en) 1997-04-02 2000-05-02 Donnelly Corporation Digital electrochromic mirror system
US7895398B2 (en) * 2005-07-19 2011-02-22 Dell Products L.P. System and method for dynamically adjusting the caching characteristics for each logical unit of a storage array
US7904747B2 (en) * 2006-01-17 2011-03-08 International Business Machines Corporation Restoring data to a distributed storage node
US7949824B2 (en) * 2006-04-11 2011-05-24 Emc Corporation Efficient data storage using two level delta resemblance
US7844652B2 (en) * 2006-04-11 2010-11-30 Emc Corporation Efficient computation of sketches
US7600073B2 (en) * 2006-09-26 2009-10-06 International Business Machines Corporation Cache disk storage upgrade
JP4933211B2 (ja) * 2006-10-10 2012-05-16 株式会社日立製作所 ストレージ装置、制御装置及び制御方法
US7925809B2 (en) * 2006-10-24 2011-04-12 Apple Inc. Systems and methods for storage management in a data processing device
JP2008181243A (ja) * 2007-01-23 2008-08-07 Hitachi Ltd ストレージシステムのキャッシュパーティション領域の設定を制御するデータベース管理システム
US8665482B2 (en) * 2007-03-01 2014-03-04 Konica Minolta Laboratory U.S.A., Inc. Raster image processor using a self-tuning banding mode
US7698530B2 (en) * 2007-03-28 2010-04-13 International Business Machines Corporation Workload management in virtualized data processing environment
US7617375B2 (en) * 2007-03-28 2009-11-10 International Business Machines Corporation Workload management in virtualized data processing environment
US7698531B2 (en) * 2007-03-28 2010-04-13 International Business Machines Corporation Workload management in virtualized data processing environment
JP5094193B2 (ja) * 2007-04-16 2012-12-12 株式会社日立製作所 記憶システム及びその制御方法
JP2009026255A (ja) * 2007-07-24 2009-02-05 Hitachi Ltd データ移行方法、データ移行システム、及びデータ移行プログラム
US7949850B2 (en) * 2007-12-28 2011-05-24 Intel Corporation Methods and appratus for demand-based memory mirroring
US8090767B2 (en) * 2008-01-07 2012-01-03 Apple Inc. Pairing and storage access scheme between a handheld device and a computing system
JP5410025B2 (ja) * 2008-03-07 2014-02-05 株式会社日立製作所 ストレージシステム及びその管理方法
US8214596B2 (en) * 2008-09-30 2012-07-03 Intel Corporation Apparatus and method for segmented cache utilization
US8239640B2 (en) * 2008-10-09 2012-08-07 Dataram, Inc. System for controlling performance aspects of a data storage and access routine
CN101727293B (zh) * 2008-10-23 2012-05-23 成都市华为赛门铁克科技有限公司 一种固态硬盘ssd存储的设置方法、装置和系统
US20100235597A1 (en) * 2009-03-10 2010-09-16 Hiroshi Arakawa Method and apparatus for conversion between conventional volumes and thin provisioning with automated tier management
TWI371686B (en) * 2009-04-02 2012-09-01 Lsi Corp System and method to reduce drive overhead using a mirrored cache volume in a storage array
US8074038B2 (en) * 2009-05-12 2011-12-06 Microsoft Corporation Converting luns into files or files into luns in real time
US8533417B2 (en) * 2009-06-03 2013-09-10 Hitachi, Ltd. Method and apparatus for controlling data volume creation in data storage system with dynamic chunk allocation capability
JP5413001B2 (ja) * 2009-07-09 2014-02-12 富士通株式会社 キャッシュメモリ
WO2011033600A1 (ja) 2009-09-21 2011-03-24 株式会社 東芝 仮想記憶管理装置
WO2011070611A1 (en) * 2009-12-08 2011-06-16 Hitachi, Ltd. Storage system and storage control apparatus provided with cache memory group including volatile memory and nonvolatile memory
US8972690B2 (en) * 2010-01-05 2015-03-03 Deric Horn Methods and apparatuses for usage based allocation block size tuning
US8214689B2 (en) * 2010-02-19 2012-07-03 Hitachi, Ltd. Disk array device and its control method
WO2011114379A1 (en) * 2010-03-18 2011-09-22 Hitachi, Ltd. Storage controller coupled to storage apparatus
JP5529283B2 (ja) * 2010-03-19 2014-06-25 株式会社日立製作所 ストレージシステム及びストレージシステムにおけるキャッシュの構成変更方法
WO2011141956A1 (en) * 2010-05-11 2011-11-17 Hitachi, Ltd. Storage device and method of controlling storage device
JP5641300B2 (ja) * 2010-07-14 2014-12-17 日本電気株式会社 ストレージシステム及びストレージシステムのメモリキャッシュ領域制御方法
US8850114B2 (en) 2010-09-07 2014-09-30 Daniel L Rosenband Storage array controller for flash-based storage devices
WO2012039062A1 (ja) * 2010-09-24 2012-03-29 株式会社日立製作所 ストレージ装置における複数の記憶デバイスを複数の階層に振り分ける方法及びシステム
US10338947B2 (en) * 2011-03-15 2019-07-02 Microsoft Technology Licensing, Llc Extent virtualization
JP2012208896A (ja) * 2011-03-30 2012-10-25 Nec Corp ディスクアレイ装置、接続経路制御方法、及び接続経路制御プログラム
CN103999062A (zh) * 2011-10-26 2014-08-20 惠普发展公司,有限责任合伙企业 经分段的高速缓存
CN102508619B (zh) * 2011-11-21 2014-09-17 华为数字技术(成都)有限公司 存储系统服务质量控制方法、系统和存储系统
WO2013088473A1 (en) * 2011-12-14 2013-06-20 Hitachi, Ltd. Storage system and method for controlling memory in storage system
CN103309818B (zh) * 2012-03-09 2015-07-29 腾讯科技(深圳)有限公司 存储数据的方法及装置
US10037279B1 (en) * 2012-06-20 2018-07-31 EMC IP Holding Company LLC Host device caching of a business process data
JP5678923B2 (ja) * 2012-06-20 2015-03-04 日本電気株式会社 ストレージシステム、入出力制御装置、入出力制御方法、および、コンピュータ・プログラム
US9086957B2 (en) 2012-08-02 2015-07-21 International Business Machines Corporation Requesting a memory space by a memory controller
US20140058717A1 (en) * 2012-08-24 2014-02-27 Hitachi, Ltd. Simulation system for simulating i/o performance of volume and simulation method
US9495287B2 (en) * 2012-09-26 2016-11-15 International Business Machines Corporation Solid state memory device logical and physical partitioning
US9098417B2 (en) * 2012-12-13 2015-08-04 Advanced Micro Devices, Inc. Partitioning caches for sub-entities in computing devices
US10229043B2 (en) 2013-07-23 2019-03-12 Intel Business Machines Corporation Requesting memory spaces and resources using a memory controller
US20160210237A1 (en) * 2013-07-30 2016-07-21 Nec Corporation Storage device, data access method, and program recording medium
US9558124B2 (en) * 2013-11-08 2017-01-31 Seagate Technology Llc Data storage system with passive partitioning in a secondary memory
KR20150071500A (ko) * 2013-12-18 2015-06-26 삼성전자주식회사 데이터 관리 방법 및 장치
JP2015204126A (ja) 2014-04-16 2015-11-16 株式会社東芝 半導体記憶装置
US9710381B2 (en) 2014-06-18 2017-07-18 International Business Machines Corporation Method and apparatus for cache memory data processing
JP6327994B2 (ja) * 2014-07-28 2018-05-23 ルネサスエレクトロニクス株式会社 制御システムおよび半導体装置
US9594628B2 (en) * 2014-07-30 2017-03-14 Segate Technology Llc Operational vibration compensation through media cache management
WO2016068830A1 (en) * 2014-10-27 2016-05-06 Hitachi, Ltd. Method and apparatus to configure information technology infrastructure
US9495107B2 (en) * 2014-11-19 2016-11-15 International Business Machines Corporation Dynamic relocation of storage
TWI576703B (zh) * 2015-03-27 2017-04-01 宏碁股份有限公司 電子裝置及其資料暫存方法
US10216594B2 (en) * 2015-04-30 2019-02-26 International Business Machines Corporation Automated stalled process detection and recovery
US10048878B2 (en) 2015-06-08 2018-08-14 Samsung Electronics Co., Ltd. Nonvolatile memory module and storage system having the same
US20170031601A1 (en) * 2015-07-30 2017-02-02 Kabushiki Kaisha Toshiba Memory system and storage system
US10387314B2 (en) * 2015-08-25 2019-08-20 Oracle International Corporation Reducing cache coherence directory bandwidth by aggregating victimization requests
US20170083441A1 (en) * 2015-09-23 2017-03-23 Qualcomm Incorporated Region-based cache management
US9798472B1 (en) * 2015-09-29 2017-10-24 Emc Corporation Extent level cache destaging
US10235288B2 (en) * 2015-10-02 2019-03-19 Netapp, Inc. Cache flushing and interrupted write handling in storage systems
US20170161193A1 (en) * 2015-12-02 2017-06-08 International Business Machines Corporation Hybrid cache
CN109635597B (zh) * 2018-11-12 2023-03-31 博流智能科技(南京)有限公司 芯片级安全存储与存取系统及方法
JP6898393B2 (ja) * 2019-03-22 2021-07-07 株式会社日立製作所 ストレージシステム及びデータ転送方法
US11531622B2 (en) 2019-09-20 2022-12-20 Micron Technology, Inc. Managing data dependencies for out of order processing in a hybrid DIMM
US11494306B2 (en) 2019-09-20 2022-11-08 Micron Technology, Inc. Managing data dependencies in a transfer pipeline of a hybrid dimm
US11397683B2 (en) * 2019-09-20 2022-07-26 Micron Technology, Inc. Low latency cache for non-volatile memory in a hybrid DIMM
JP7179794B2 (ja) 2020-03-03 2022-11-29 株式会社東芝 磁気ディスク装置、および磁気ディスク装置のメモリ管理方法
US11188252B2 (en) * 2020-03-13 2021-11-30 Seagate Technology Llc Data storage system with adaptive cache management
WO2021243700A1 (en) * 2020-06-05 2021-12-09 Micron Technology, Inc. Trims for memory performance targets of applications
CN111984197B (zh) * 2020-08-24 2023-12-15 许昌学院 计算机缓存分配方法

Family Cites Families (56)

* 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
US4503501A (en) 1981-11-27 1985-03-05 Storage Technology Corporation Adaptive domain partitioning of cache memory space
JPH01196074A (ja) 1988-01-30 1989-08-07 Konica Corp 画像形成装置
EP0389151A3 (en) * 1989-03-22 1992-06-03 International Business Machines Corporation System and method for partitioned cache memory management
GB2256735B (en) * 1991-06-12 1995-06-21 Intel Corp Non-volatile disk cache
JP2995926B2 (ja) * 1991-06-18 1999-12-27 カシオ計算機株式会社 情報再生方法
JP3160106B2 (ja) * 1991-12-23 2001-04-23 ヒュンダイ エレクトロニクス アメリカ ディスクアレーの区分け方法
JPH06110741A (ja) * 1992-09-25 1994-04-22 Omron Corp コンピュータ装置
US5437022A (en) * 1992-12-17 1995-07-25 International Business Machines Corporation Storage controller having additional cache memory and a means for recovering from failure and reconfiguring a control unit thereof in response thereto
JP3080521B2 (ja) * 1993-10-01 2000-08-28 アルプス電気株式会社 ディスク装置
DE19540915A1 (de) * 1994-11-10 1996-05-15 Raymond Engineering Redundante Anordnung von Festkörper-Speicherbausteinen
US5574855A (en) * 1995-05-15 1996-11-12 Emc Corporation Method and apparatus for testing raid systems
JP3772369B2 (ja) * 1995-11-20 2006-05-10 株式会社日立製作所 記憶サブシステム
JPH09215026A (ja) * 1996-02-07 1997-08-15 Kokusai Electric Co Ltd 無線選択呼出受信機及びその制御方法
US5805788A (en) * 1996-05-20 1998-09-08 Cray Research, Inc. Raid-5 parity generation and data reconstruction
JP3898782B2 (ja) * 1996-08-23 2007-03-28 オリンパス株式会社 情報記録再生装置
JPH10301847A (ja) * 1997-04-30 1998-11-13 Nec Corp データ記憶装置
US5966729A (en) * 1997-06-30 1999-10-12 Sun Microsystems, Inc. Snoop filter for use in multiprocessor computer systems
US6223256B1 (en) * 1997-07-22 2001-04-24 Hewlett-Packard Company Computer cache memory with classes and dynamic selection of replacement algorithms
WO1999040516A1 (en) 1998-02-04 1999-08-12 Hitachi, Ltd. Disk cache control method, disk array device, and storage device
JP4272275B2 (ja) * 1998-04-28 2009-06-03 株式会社日立製作所 記憶サブシステム
JP2000089916A (ja) 1998-09-11 2000-03-31 Fujitsu Ltd ファイル制御装置
JP3358655B2 (ja) * 1998-12-22 2002-12-24 日本電気株式会社 ディスクアレイ装置におけるキャッシュメモリ管理方法
JP2000216969A (ja) * 1999-01-27 2000-08-04 Minolta Co Ltd メモリ管理装置
US6463573B1 (en) * 1999-06-03 2002-10-08 International Business Machines Corporation Data processor storage systems with dynamic resynchronization of mirrored logical data volumes subsequent to a storage system failure
US20020078300A1 (en) * 1999-08-16 2002-06-20 Chanda Dharap Semantics-based caching policy to minimize latency
JP2001101076A (ja) * 1999-10-04 2001-04-13 Alps Electric Co Ltd ディスク制御装置
JP2001166993A (ja) 1999-12-13 2001-06-22 Hitachi Ltd 記憶制御装置およびキャッシュメモリの制御方法
US6546462B1 (en) * 1999-12-30 2003-04-08 Intel Corporation CLFLUSH micro-architectural implementation method and system
AU2001259342A1 (en) * 2000-05-15 2001-11-26 Superspeed Software, Inc. System and method for high-speed substitute cache
US6591335B1 (en) * 2000-09-29 2003-07-08 Emc Corporation Fault tolerant dual cache system
JP2002251322A (ja) * 2001-02-22 2002-09-06 Hitachi Ltd 記憶装置制御システム
US6718434B2 (en) * 2001-05-31 2004-04-06 Hewlett-Packard Development Company, L.P. Method and apparatus for assigning raid levels
US6966033B1 (en) * 2001-09-28 2005-11-15 Emc Corporation Methods and apparatus for graphically managing resources
JP2003131818A (ja) * 2001-10-25 2003-05-09 Hitachi Ltd クラスタ構成ストレージにおけるクラスタ間raid構成
JP4162184B2 (ja) * 2001-11-14 2008-10-08 株式会社日立製作所 データベース管理システムの実行情報を取得する手段を有する記憶装置
JP2003162377A (ja) * 2001-11-28 2003-06-06 Hitachi Ltd ディスクアレイシステム及びコントローラ間での論理ユニットの引き継ぎ方法
JP2003316713A (ja) * 2002-04-26 2003-11-07 Hitachi Ltd 記憶装置システム
JP3806077B2 (ja) * 2002-08-26 2006-08-09 株式会社東芝 メモリカード認識システム、容量切り替え型メモリカード・ホスト機器、容量切り替え型メモリカード、記憶容量設定方法及び記憶容量設定プログラム
DE60327357D1 (de) * 2002-10-31 2009-06-04 Ring Technology Entpr S Llc Verfahren und systeme für ein speichersystem
US20040162926A1 (en) * 2003-02-14 2004-08-19 Itzhak Levy Serial advanced technology attachment interface
JP4313068B2 (ja) * 2003-03-28 2009-08-12 株式会社日立製作所 記憶装置のキャッシュ管理方法
US7058764B2 (en) * 2003-04-14 2006-06-06 Hewlett-Packard Development Company, L.P. Method of adaptive cache partitioning to increase host I/O performance
JP2005037347A (ja) 2003-07-02 2005-02-10 Toyota Motor Corp 精度確認ガス供給装置及びそれを用いた測定精度確認システム、ならびに測定精度確認方法
JP4257783B2 (ja) * 2003-10-23 2009-04-22 株式会社日立製作所 論理分割可能な記憶装置及び記憶装置システム
US20050160249A1 (en) * 2004-01-21 2005-07-21 Hewlett-Packard Development Company, L.P. Volume type determination for disk volumes managed by a LDM
JP4429780B2 (ja) * 2004-03-31 2010-03-10 富士通株式会社 記憶制御装置、制御方法、および制御プログラム。
JP4370571B2 (ja) 2004-06-15 2009-11-25 信越半導体株式会社 アニールウエーハの評価方法及び品質保証方法
US7949849B2 (en) * 2004-08-24 2011-05-24 Mcafee, Inc. File system for a capture system
US7302522B2 (en) * 2004-12-27 2007-11-27 Lsi Corporation Optimizing I/O performance in a RAID subsystem using an adaptive maximum request size for a logical drive
US7512736B1 (en) * 2005-05-02 2009-03-31 Nvidia Corporation System and method for adaptive raid configuration
US7895398B2 (en) * 2005-07-19 2011-02-22 Dell Products L.P. System and method for dynamically adjusting the caching characteristics for each logical unit of a storage array
US7363451B2 (en) * 2005-10-11 2008-04-22 Lsi Logic Corporation Load balancing of disk drives
US7774545B2 (en) * 2006-12-01 2010-08-10 Lsi Corporation System and method of volume group creation based on an automatic drive selection scheme
US8271757B1 (en) * 2007-04-17 2012-09-18 American Megatrends, Inc. Container space management in a data storage system
JP4920658B2 (ja) * 2008-10-20 2012-04-18 株式会社日立製作所 電力推定方法及び計算機システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9727247B2 (en) 2013-03-15 2017-08-08 Nec Corporation Storage device and method, and storage medium

Also Published As

Publication number Publication date
CN100442250C (zh) 2008-12-10
EP1965304A1 (en) 2008-09-03
CN1821979A (zh) 2006-08-23
DE602005018560D1 (de) 2010-02-04
US20060184740A1 (en) 2006-08-17
CN101393536B (zh) 2013-02-06
CN101393536A (zh) 2009-03-25
US20140095793A1 (en) 2014-04-03
US20080244183A1 (en) 2008-10-02
EP1965304B1 (en) 2009-12-23
US8612716B2 (en) 2013-12-17
US7447843B2 (en) 2008-11-04
JP2006227688A (ja) 2006-08-31
EP1691293A1 (en) 2006-08-16
US8832380B2 (en) 2014-09-09

Similar Documents

Publication Publication Date Title
JP4819369B2 (ja) ストレージシステム
US9569130B2 (en) Storage system having a plurality of flash packages
US9081690B2 (en) Storage system and management method of control information therein
US8281076B2 (en) Storage system for controlling disk cache
US8190846B2 (en) Data management method in storage pool and virtual volume in DKC
EP1768014B1 (en) Storage control apparatus, data management system and data management method
US8364858B1 (en) Normalizing capacity utilization within virtual storage pools
US9323655B1 (en) Location of data among storage tiers
JP5531091B2 (ja) 計算機システム及びその負荷均等化制御方法
US9965381B1 (en) Indentifying data for placement in a storage system
WO2015015550A1 (ja) 計算機システム及び制御方法
US7032093B1 (en) On-demand allocation of physical storage for virtual volumes using a zero logical disk
US20110153954A1 (en) Storage subsystem

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071112

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100917

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110419

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110901

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140909

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4819369

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees