JP4141391B2 - ストレージサブシステム - Google Patents

ストレージサブシステム Download PDF

Info

Publication number
JP4141391B2
JP4141391B2 JP2004029028A JP2004029028A JP4141391B2 JP 4141391 B2 JP4141391 B2 JP 4141391B2 JP 2004029028 A JP2004029028 A JP 2004029028A JP 2004029028 A JP2004029028 A JP 2004029028A JP 4141391 B2 JP4141391 B2 JP 4141391B2
Authority
JP
Japan
Prior art keywords
queue
cache
clpr
area
counter
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
JP2004029028A
Other languages
English (en)
Other versions
JP2005222274A (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 JP2004029028A priority Critical patent/JP4141391B2/ja
Priority to US10/822,725 priority patent/US7246208B2/en
Priority to EP04255715A priority patent/EP1562123A1/en
Priority to CNB2005100002205A priority patent/CN100342351C/zh
Publication of JP2005222274A publication Critical patent/JP2005222274A/ja
Priority to US11/328,057 priority patent/US7240156B2/en
Priority to US11/808,606 priority patent/US7739454B2/en
Application granted granted Critical
Publication of JP4141391B2 publication Critical patent/JP4141391B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/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
    • 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/0871Allocation or management of cache space
    • 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
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/311In host system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/312In storage controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6042Allocation of cache space to multiple users or processors
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

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)

Description

本発明は、ストレージサブシステム及びストレージサブシステムの制御方法に関する。
ストレージサブシステムは、ホストコンピュータに対して大容量かつ高性能のストレージサービスを提供可能である。ストレージサブシステムでは、例えば、多数のディスクドライブをアレイ状に配設し、RAID(Redundant
Array of Independent Inexpensive Disks)に基づく記憶領域を構築している。各ディスクドライブが有する物理的な記憶領域上には、論理的な記憶領域である論理ボリュームが形成されている。論理ボリュームには、LUN(Logical Unit Number)が予め対応付けられている。ホストコンピュータは、LUNやブロックアドレス等を特定することにより、ストレージサブシステムに対して所定形式の書込みコマンド又は読出しコマンドを発行する。これにより、ホストコンピュータは、ストレージサブシステムに対して所望のデータの読み書きを行うことができる。
ストレージサブシステムには複数のホストコンピュータを接続可能である。あるホストコンピュータまたはアプリケーションプログラムが管理するデータ群を、他のホストコンピュータまたはアプリケーションプログラムから読み書き可能である場合、不都合を生じることがある。そこで、例えば、ゾーニングやLUNマスキング等のようなアクセス制御技術が用いられる。ゾーニングとは、ストレージサブシステムに1つまたは複数のゾーンを設定し、ゾーンに属する特定の通信ポートやWWN(World Wide Name)のみにデータ転送を許可する技術である。LUNマスキングとは、特定のホストコンピュータに対して特定のLUNへのアクセスを許可する技術である。
ところで、ホストコンピュータとディスクドライブとの間のデータ授受は、キャッシュメモリを介して行われる。ホストコンピュータからライトコマンドが出力されると、例えば、データはいったんキャッシュメモリに保存された後で、ディスクドライブに書き込まれる。また、ホストコンピュータからリードコマンドが出力されると、例えば、ディスクドライブから読み出されたデータは、キャッシュメモリを介してホストコンピュータに提供される。そこで、ディスクドライブへのキャッシュメモリ割当量を適切に配分させる技術も知られている(特許文献1)。
特開平4−264940号公報
従来のゾーニングやLUNマスキングにより、ホストコンピュータからストレージサブシステムへのアクセス制限を設定することができる。しかし、従来技術では、論理ボリュームへの単純なアクセス制限が可能となるだけで、ストレージサブシステムが有する資源の分割管理を実現するものではないから、使い勝手が悪い。複数ユーザによってストレージサブシステムが共同で使用されている場合に、例えば、あるユーザが多量の入出力要求(IO要求)を出すと、キャッシュメモリの多くの領域がこの要求の処理のために使用される。従って、他のユーザからの入出力処理に十分なキャッシュメモリを使用することができなくなり、サブシステム全体としてのサービス性能が低下する。つまり、あるユーザへのサービスのために、他のユーザへのサービスに影響が及ぶ。
なお、上記特許文献では、各記憶装置にそれぞれキャッシュメモリを割り当てているが、これはキャッシュメモリに記憶されたデータを効率的に記憶装置に書き込むためのものであり、複数ユーザに提供するために資源(キャッシュメモリ)の分割管理を行うものではない。
そこで、本発明の一つの目的は、複数のユーザにそれぞれキャッシュ領域を割り当てて共同で使用させることができ、あるユーザへ提供するサービスのために他のユーザへ影響が及ぶのを低減させることができるストレージサブシステム及びストレージサブシステムの制御方法を提供することにある。本発明の一つの目的は、複数ユーザに資源を柔軟に割り当てることができ、かつ、より少ない情報量で、各ユーザの管理範囲が互いに影響しないように管理可能なストレージサブシステム及びストレージサブシステムの制御方法を提供することにある。本発明の一つの目的は、キャッシュメモリの管理単位に応じて管理情報を構成することにより、キャッシュ資源を論理的に分割して使用可能なストレージサブシステム及びストレージサブシステムの制御方法を提供することにある。本発明の他の目的は、後述する実施形態の記載から明らかになるであろう。
上記課題を解決すべく、本発明に従うストレージサブシステムは、上位装置とのデータ授受をそれぞれ制御する複数のチャネルアダプタと、論理的な記憶領域をそれぞれ提供する複数の記憶デバイス群と、各記憶デバイス群とのデータ授受をそれぞれ制御する複数のディスクアダプタと、各チャネルアダプタ及び各ディスクアダプタによりそれぞれ使用されるキャッシュメモリと、キャッシュメモリを論理的に分割して構成される複数のキャッシュ分割領域と、各キャッシュ分割領域を管理するための管理情報を記憶する制御メモリと、を備えている。そして、管理情報は、各キャッシュ分割領域毎にそれぞれ設けられる分割管理情報と、各キャッシュ分割領域の全体に適用される共通管理情報とから構成される。
キャッシュメモリと制御メモリとは、それぞれ別々のメモリ基板として実装することもできるし、両者を混載したメモリ基板を用いてもよい。また、メモリのある領域をキャッシュメモリとして使用し、他の領域を制御メモリとして使用してもよい。キャッシュメモリは、上位装置と記憶デバイス群との間で授受されるデータを一時的に(あるいは長期間にわたって)記憶するために用いられる。キャッシュメモリは、複数のキャッシュ分割領域に論理的に分割される。各キャッシュ分割領域は、管理情報によってそれぞれ独立して管理される。各キャッシュ分割領域は、例えば、各チャネルアダプタ毎にそれぞれ設ける(割り当てる)ことができる。そして、各キャッシュ分割領域は、例えば、それぞれ異なるユーザにより使用可能である。管理情報は、分割管理情報と共通管理情報とから構成される。分割管理情報は、各キャッシュ分割領域毎にそれぞれ設けられる情報である。共通管理情報は、全てのキャッシュ分割領域に適用される情報である。分割管理情報と共通管理情報とから管理情報を構成することにより、制御メモリの記憶資源を効率的に使用して、複数のキャッシュ分割領域をそれぞれ個別に使用可能である。
各分割管理情報及び共通管理情報は、キャッシュ管理単位の属性に基づいて設定可能である。キャッシュ管理単位としては、例えば、スロットやセグメント等を挙げることができる。1つのスロットは、少なくとも1つ以上のセグメントから構成可能であり、1つのセグメントは、例えば、16KB程度のデータサイズを有する。キャッシュ管理単位の属性としては、例えば、フリー状態、ダーティ状態、クリーン状態を挙げることができる。フリー状態とは、キャッシュ管理単位が未使用である状態を示す。ダーティ状態とは、キャッシュ管理単位に格納されているデータが記憶デバイスに書き込まれていない状態を示す。クリーン状態とは、キャッシュ管理単位に格納されているデータが記憶デバイスに書込み済である状態を示す。キャッシュ管理単位の属性によっては、各キャッシュ分割領域毎にそれぞれ個別の管理情報を設ける方が好ましい場合がある。逆に、キャッシュ管理単位の属性によっては、全てのキャッシュ分割領域に適用可能な管理情報もある。
例えば、管理情報が、複数種類のサブ管理情報から構成される場合は、一部のサブ管理情報を各キャッシュ分割領域にそれぞれ分割して設け、残りのサブ管理情報を全てのキャッシュ分割領域に適用させることができる。この場合、サブ管理情報のうちいずれを分割管理情報として使用し、いずれを共通管理情報として使用するかは、キャッシュ管理単位の属性に基づいて決定することができる。
例えば、管理情報は、複数種類のキューと、これら各キューにそれぞれ関連付けられたカウンタとを含んで構成可能である。この場合、キャッシュ管理単位の属性に基づいて、各キュー及び各カウンタの一部を各キャッシュ分割領域毎にそれぞれ設けることにより各分割管理情報を構成することができる。そして、各キューの残り及び各カウンタの残りを共通管理情報として使用可能である。「キャッシュ管理単位の属性に基づいて」とは、「キュー(及びカウンタ)の属性に基づいて」と言い換えることも可能である。
ここで、互いに関連付けられているキューとカウンタのうち、一方は分割管理情報を構成し、他方は共通管理情報として使用することもできる。即ち、例えば、互いに関連付けられているキューとカウンタのうち、カウンタのみを分割して各キャッシュ分割領域にそれぞれ割り当てることができる。
さらに、各キューにはそれぞれキュー管理テーブルを関連付けることができる。そして、分割管理情報を構成するキューに関連付けられるキュー管理テーブルは、各キャッシュ分割領域毎にそれぞれ設けることができる。即ち、キューとキュー管理テーブルとは常に一体的に使用されるもので、キューが各キャッシュ分割領域毎にそれぞれ設けられる場合は、キュー管理テーブルも各キャッシュ分割領域にそれぞれ設けられる。
管理情報は、未使用状態のキャッシュ管理単位が接続されるフリーキュー及びこのフリーキューに関連付けられるフリーキューカウンタと、記憶デバイス群に反映前のダーティ状態のデータを格納するキャッシュ管理単位が接続されるダーティキュー及びこのダーティキューに関連付けられるダーティキューカウンタと、記憶デバイス群に反映済のクリーン状態のデータを格納するキャッシュ管理単位が接続されるクリーンキュー及びこのクリーンキューに関連付けられるクリーンキューカウンタと、使用中のキャッシュ管理単位の総量をカウントする使用中カウンタとを含んで構成可能である。そして、フリーキューカウンタと、クリーンキューと、クリーンキューカウンタ及び使用中カウンタは、分割管理情報として、各キャッシュ分割領域毎にそれぞれ設けることができる。また、フリーキューと、ダーティキュー及びダーティキューカウンタは、共通管理情報として使用することができる。
各キャッシュ分割領域のうち1つのキャッシュ分割領域を共用領域として設定し、この共用領域に属する資源を割り当てることにより、新たなキャッシュ分割領域を設定することもできる。例えば、初期状態では、全てのキャッシュ領域を共用領域として使用する。そして、新たにキャッシュ分割領域を生成する場合は、共用領域から一部のキャッシュ領域を切り取って、新しいキャッシュ分割領域に割り当てる。なお、キャッシュ分割領域を削除する場合は、このキャッシュ分割領域に割り当てられていたキャッシュ領域を、共用領域に戻せばよい。
以下、図1〜図18に基づき、本発明の実施の形態を説明する。本実施形態では、上位装置とのデータ授受をそれぞれ制御する複数の上位インターフェース制御部と、論理的な記憶領域をそれぞれ提供する複数の記憶デバイス群と、各記憶デバイス群とのデータ授受をそれぞれ制御する複数の下位インターフェース制御部と、各上位インターフェース制御部及び各下位インターフェース制御部によりそれぞれ使用されるメモリ部と、を備えたストレージサブシステムが開示される。そして、本実施例では、メモリ部が提供するキャッシュ領域を複数のキャッシュ分割領域に分割する。さらに、本実施例では、メモリ部でデータを管理するためのキャッシュ管理単位の属性に応じて、管理情報を各キャッシュ分割領域毎にそれぞれ分割し、各管理情報に基づいて、各キャッシュ分割領域毎にそれぞれデータを管理させる。
図1は、ストレージサブシステム10の外観構成を示す概略斜視図である。ストレージサブシステム10は、例えば、基本筐体11と複数の増設筐体12とから構成することができる。基本筐体11は、ストレージサブシステム10の最小構成単位であり、記憶機能及び制御機能の両方を備えている。増設筐体12は、ストレージサブシステム10のオプションであり、基本筐体11の有する制御機能により制御される。例えば、最大4個の増設筐体12を基本筐体11に接続可能である。
基本筐体11には、複数の制御パッケージ13と、複数の電源ユニット14と、複数のバッテリユニット15と、複数のディスクドライブ80とがそれぞれ着脱可能に設けられている。増設筐体12には、複数のディスクドライブ80と、複数の電源ユニット14及び複数のバッテリユニット15が着脱可能に設けられている。また、基本筐体11及び各増設筐体12には、複数の冷却ファン16がそれぞれ設けられている。
制御パッケージ13は、後述するチャネルアダプタ20、ディスクアダプタ30及びキャッシュメモリ40等をそれぞれ実現するためのモジュールである。即ち、基本筐体11には、複数のチャネルアダプタパッケージ、複数のディスクアダプタパッケージ及び1つ以上のメモリパッケージがそれぞれ着脱可能に設けられ、パッケージ単位で交換可能となっている。
図2は、ストレージサブシステム10を含む記憶システムの全体概要を示すブロック図である。ストレージサブシステム10は、通信ネットワークCN1を介して、複数のホストコンピュータ1A〜1C(以下、特に区別しない場合は、「ホストコンピュータ1」と呼ぶ)と双方向通信可能にそれぞれ接続されている。ここで、通信ネットワークCN1は、例えば、LAN(Local Area Network)、SAN(Storage Area Network)、インターネットあるいは専用回線等である。LANを用いる場合、ホストコンピュータ1とストレージサブシステム10との間のデータ転送は、TCP/IP(Transmission
Control Protocol/Internet Protocol)プロトコルに従って行われる。SANを用いる場合、ホストコンピュータ1とストレージサブシステム10とは、ファイバチャネルプロトコルに従ってデータ転送を行う。また、ホストコンピュータ1がメインフレームの場合は、例えば、FICON(Fibre
Connection:登録商標)、ESCON(Enterprise
System Connection:登録商標)、ACONARC(Advanced
Connection Architecture:登録商標)、FIBARC(Fibre
Connection Architecture:登録商標)等の通信プロトコルに従ってデータ転送が行われる。
各ホストコンピュータ1は、例えば、サーバ、パーソナルコンピュータ、ワークステーション、メインフレーム等として実現されるものである。例えば、各ホストコンピュータ1は、図外に位置する複数のクライアント端末と別の通信ネットワークを介して接続されている。各ホストコンピュータ1は、例えば、各クライアント端末からの要求に応じて、ストレージサブシステム10にデータの読み書きを行うことにより、各クライアント端末へのサービスを提供する。図中では、1つのみ図示してあるが、ストレージサブシステム10内には、複数の仮想筐体(SLPR:Storage
Logical Partition)を設定可能である。
SLPRとは、ストレージサブシステム10内の各種物理的資源及び論理的資源を各ユーザ毎に(あるいは各アプリケーションプログラム毎に)分割して割り当てることにより構成された領域である。即ち、例えば、SLPRには、それぞれ専用のチャネルアダプタ20と、それぞれ専用のキャッシュ領域40と、それぞれ専用の仮想的な論理デバイス(VDEV)70等とを備えている。即ち、SLPRは、仮想的な小型のストレージサブシステムであるかのように振る舞う。
SLPRには、少なくとも1つ以上のキャッシュ分割領域(CLPR:Cache
Logical Partiton)を設けることができる。図2中では、左側にSLPRを1つだけ示してあるが、複数のSLPRを設けることができる。そして、1つのSLPR内には、1つまたは複数のCLPRを設定することができる。
CLPRとは、キャッシュメモリ40を論理的に複数の領域に分割したものである。CLPRは、各チャネルアダプタ20毎にそれぞれ設定可能である。例えば、チャネルアダプタ20をn個実装する場合は、n個のCLPRを設けることができる。例えば、n=32に設定可能であるが、本発明はこれに限定されない。各CLPR0〜CLPRnは、それぞれ互いに独立して使用されるものであり、各ホストコンピュータ1は、それぞれが利用可能なCLPRのみを独占的に使用することができる。そして、あるCLPRに対するホストコンピュータ1からの操作は、他のCLPRにできるだけ影響を与えないように構成されている。即ち、特定のホストコンピュータ1からのアクセスが集中した場合でも、そのホストコンピュータ1が利用可能なCLPRのみで必要なキャッシュ容量が確保され、他のCLPRの資源(キャッシュ領域)を奪うことがないように構成されている。
なお、図中右側に示すCLPR0は、SLPRが定義されていない共用領域であり、この共用領域CLPR0には、ストレージサブシステム10全体で使用される各種の情報が記憶される。また、後述のように、初期状態では、キャッシュメモリ40の全領域が共用領域CLPR0に割り当てられている。そして、共用領域CLPR0からキャッシュ領域を所定量だけ切り出すことにより、新たなCLPRを設定するようになっている。
図2に示す例では、ホストコンピュータ1Aは、共用領域CLPR0のみにアクセスして、データの入出力を行うことができる。ホストコンピュータ1BはCLPR1のみに、ホストコンピュータ1CはCLPR2のみに、ホストコンピュータ1NはCLPRnのみに、それぞれアクセス可能であり、他のCLPRの利用や参照等を行うことはできない。
SVP(Service
Processor)90は、ストレージサブシステム10の管理や監視を行うためのコンピュータ装置であり、管理用のサーバ機能を提供する。SVP90は、例えば、ストレージサブシステム10内に設けられたLAN等の内部ネットワークCN3(図3参照)を介して、各チャネルアダプタ20や各ディスクアダプタ30等から各種の環境情報や性能情報等を収集する。SVP90が収集する情報としては、例えば、装置構成、電源アラーム、温度アラーム、入出力速度(IOPS)等が挙げられる。SVP90と各管理端末2A〜2N,3とは、例えば、LAN等の通信ネットワークCN2を介して接続されている。管理者は、管理端末を介してSVP90にログインすることにより、権限のある範囲内において、例えば、RAID構成の設定、各種パッケージ(チャネルアダプタパッケージ、ディスクアダプタパッケージ、メモリパッケージ、ディスクドライブ等)の閉塞処理や各種設定変更等を行うことができる。
SVP90には、複数の管理端末2A〜2N,3を接続可能である。ここで、管理端末2A〜2Nは、各SLPR毎に設けられる端末であり、管理端末3は、ストレージサブシステム10の全体を管理するために設けられる端末である。以下の説明では、1つのSLPRに1つのCLPRを設ける場合を例に挙げて説明する。従って、管理端末2A〜2Nは、各CLPRをそれぞれ管理する管理者(以下、分割管理者と呼ぶ)によりそれぞれ操作されるサブ端末である。管理端末3は、ストレージサブシステム10の全体を管理するシステム管理者(あるいは全体管理者と呼ぶこともできる)により操作される全体端末である。
各サブ端末2A〜2Nの分割管理者は、自己が管理権限を有するCLPRについてのみ各種設定変更等を行うことができ、他のCLPRの構成等を参照したり変更することは許可されない。これに対し、システム管理者は、各CLPRを含めてストレージサブシステム10の全体の各種設定変更等を行うことができる。
システム管理者は、全体端末3を介してSVP90にログインし、ストレージサブシステム10の有する物理的資源及び論理的資源を適宜分割することにより、各ユーザ毎にSLPR(CLPR)を設定することができる。また、システム管理者は、各分割管理者に対して、ユーザID等を発行することもできる。分割管理者は、システム管理者から発行された専用のユーザIDを用いてSVP90にログインすることができる。分割管理者は、サブ端末2を操作することにより、自己の管理下にあるCLPR内の設定を変更することができる。
図3は、ストレージサブシステム10の論理的構成に着目したブロック図である。ストレージサブシステム10は、複数のチャネルアダプタ(以下、CHA)20と、複数のディスクアダプタ(以下、DKA)30と、少なくとも1つ以上のキャッシュメモリ40及び共有メモリ50と、スイッチ部60と、複数の仮想的論理デバイス(VDEV)70と、複数のディスクドライブ80と、SVP90とを備えている。
各CHA20は、各ホストコンピュータ1との間のデータ転送を制御するもので、通信ポート21を備えている。ストレージサブシステム10には、例えば32個のCHA20を設けることができる。CHA20は、例えば、オープン系用CHA、メインフレーム系用CHA等のように、ホストコンピュータ1の種類に応じて用意される。
各CHA20は、それぞれに接続されたホストコンピュータ1から、データの読み書きを要求するコマンド及びデータを受信し、ホストコンピュータ1から受信したコマンドに従って動作する。DKA30の動作も含めて先に説明すると、例えば、CHA20は、ホストコンピュータ1からデータの読出し要求を受信すると、読出しコマンドを共有メモリ50に記憶させる。DKA30は、共有メモリ50を随時参照しており、未処理の読出しコマンドを発見すると、ディスクドライブ80からデータを読み出して、キャッシュメモリ40に記憶させる。CHA20は、キャッシュメモリ40に移されたデータを読み出し、コマンド発行元のホストコンピュータ1に送信する。
CHA20は、ホストコンピュータ1からデータの書込み要求を受信すると、書込みコマンドを共有メモリ50に記憶させる。また、CHA20は、受信したデータ(ユーザデータ)をキャッシュメモリ40に記憶させる。ここで、ホストコンピュータ1から書込みを要求されたデータは、ディスクドライブ80に書き込まれていない「ダーティデータ」であるため、例えば複数箇所にそれぞれ記憶されて多重化される。
CHA20は、キャッシュメモリ40にデータを記憶した後、ホストコンピュータ1に対して書込み完了を報告する。そして、DKA30は、共有メモリ50に記憶された書込みコマンドに従って、キャッシュメモリ40に記憶されたデータを読出し、所定のディスクドライブ80に記憶させる。ディスクドライブ80に書き込まれたデータは、「ダーティデータ」から「グリーンデータ」に属性が変化し、キャッシュメモリ40による多重管理から解放される。なお、本明細書において、「ダーティデータ」とは、ディスクドライブ80に書き込まれていない状態のデータを意味する。また、「クリーンデータ」とは、ディスクドライブ80に書き込み済のデータを意味する。
各DKA30は、ストレージサブシステム10内に例えば4個や8個等のように複数個設けることができる。各DKA30は、各ディスクドライブ80との間のデータ通信を制御する。各DKA30と各ディスクドライブ80とは、例えば、SAN等の通信ネットワークCN4を介して接続されており、ファイバチャネルプロトコルに従ってブロック単位のデータ転送を行う。各DKA30は、ディスクドライブ80の状態を随時監視しており、この監視結果は内部ネットワークCN3を介してSVP90に送信される。各CHA20及び各DKA30は、例えば、プロセッサやメモリ等が実装されたプリント基板と、メモリに格納された制御プログラム(いずれも不図示)とをそれぞれ備えており、これらのハードウェアとソフトウェアとの協働作業によって、それぞれ所定の機能を実現するようになっている。
キャッシュメモリ40は、例えば、ユーザデータ等を記憶するものである。キャッシュメモリ40は、例えば不揮発メモリから構成される。キャッシュメモリ40は、複数のメモリから構成することができ、ダーティデータを多重管理することができる。本実施例では、キャッシュメモリ40が有する全キャッシュ領域を複数個に分割することにより、各CLPR0〜nを設定している。
共有メモリ(あるいは制御メモリ)50は、例えば不揮発メモリから構成される。共有メモリ50には、例えば、制御情報や管理情報等が記憶される。これらの制御情報等の情報は、複数の共有メモリ50により多重管理することができる。共有メモリ50及びキャッシュメモリ40は、それぞれ複数個設けることができる。また、同一のメモリ基板にキャッシュメモリ40と共有メモリ50とを混在させて実装することもできる。あるいは、メモリの一部をキャッシュ領域として使用し、他の一部を制御領域として使用することもできる。
スイッチ部60は、各CHA20と、各DKA30と、キャッシュメモリ40と、共有メモリ50とをそれぞれ接続するものである。これにより、全てのCHA20,DKA30は、キャッシュメモリ40及び共有メモリ50にそれぞれアクセス可能である。スイッチ部60は、例えば超高速クロスバスイッチ等として構成することができる。
ストレージサブシステム10は、多数のディスクドライブ80を実装可能である。各ディスクドライブ80は、例えば、ハードディスクドライブ(HDD)や半導体メモリ装置等として実現可能である。ディスクドライブ80は、物理的な記憶デバイス(PDEV)である。そして、RAID構成等によっても相違するが、例えば、4個1組のディスクドライブ80が提供する物理的な記憶領域上には、仮想的な論理デバイス(VDEV)70が構築される。なお、VDEV70上にさらに仮想的な論理デバイスを設定可能である。また、ストレージサブシステム10により使用される記憶資源は、全てストレージサブシステム10内に設ける必要はなく、ストレージサブシステム10の外部に存在する記憶資源を利用することもできる。例えば、外部の他社製ストレージサブシステムが有する記憶デバイスを特定のVDEV70に割り付け、他社製記憶デバイスへのアクセスパス等を管理することにより、他社の記憶デバイスをあたかも自己の記憶デバイスであるかのように使用可能である。
図4は、各CLPRが資源を分割して利用する様子を模式的に示す説明図である。図中では、共用領域CLPR0と2個の専用CLPR1,2とによって、キャッシュメモリ40を分割して使用する場合を示してある。各CLPRには、それぞれキャッシュ領域が割り当てられている。各CLPRがそれぞれ使用可能なキャッシュ領域の最大値(最大割当量)は、システム管理者により設定される。各CLPRにそれぞれ割り当てられたキャッシュ領域には、各CLPRを利用するホストコンピュータ1により使用されるデータ(ライトデータ、リードデータ)が格納される。図4中では、データが格納された領域に斜線を付し、「使用中」と表記してある。各CLPRは、それぞれが使用可能な最大割当量までのキャッシュ領域を使用可能であり、他のCLPRのキャッシュ領域を使用することはできない。
さらに、各CLPRは、それぞれのキャッシュ領域に加えて、他のキャッシュ関連データを管理している。キャッシュ関連データとしては、例えば、DCR(F1)と、サイドファイルF2と、PCR(F3)とを挙げることができる。
DCR(Dynamic
Cache Residency)100とは、キャッシュ常駐化機能であり、VDEV70の特定の領域に存在するデータをキャッシュ領域に常駐化させるものである。これにより、重要なデータ群に対するアクセス性能を高めることができる。
サイドファイルF2とは、図外のリモートサイトにデータを転送してコピーさせるためのデータを記憶するファイルである。例えば、リモートコピー対象のデータがサイドファイルF2に所定量以上蓄積された場合は、通信ネットワークを介して、距離的に離れた場所にある別のストレージサブシステムにデータが転送され、保持される。リモートコピーの初期コピーでは、指定されたデータ群を丸ごとリモートサイトにコピーし、それ以後に更新されたデータは、差分ファイルとしてリモートコピーされる。
PCR(Partical
Cache Residence)102とは、例えば、ストレージサブシステム10にNAS(Network
Attached Storage)機能を設ける場合に使用されるもので、データの種別毎にキャッシュ領域に常駐化させる機能である。DCR(F1)は、特定の記憶空間に存在するデータを常駐化させるものであるのに対し、PCR(F3)は、特定種類のデータを常駐化させるものである。なお、これらキャッシュ関連データDCR(F1)、サイドファイルF2及びPCR(F3)は、それを必要とするCLPRのみに設けられる。即ち、常駐化機能が設定されていないCLPRには、キャッシュ常駐化に関するデータは記憶されない。同様に、リモートコピーが設定されていないCLPRには、サイドファイルF2は記憶されない。
そして、図4に示すように、各CLPRには、少なくとも1つ以上のVDEV70がそれぞれ割り当てられている。各CLPRのキャッシュ領域に書き込まれたデータは、それぞれに割り当てられたVDEV70の所定領域に書き込まれる。また、VDEV70から読み出されたデータは、対応するCLPRのキャッシュ領域に保持される。
図5は、キャッシュ領域に記憶されているデータを管理するための方法を示す説明図である。ストレージサブシステム10では、キャッシュメモリ40に記憶されているデータを効率的に検索するために、以下のような階層構造で管理している。
まず、ホストコンピュータ1からデータの入出力要求があると、この入出力要求に含まれるLBA(Logical
Block Address)に基づいて、VDEVSLOT番号(VDEVSLOT#)を求める。そして、VDEVSLOT番号に基づいて、VDSLOT−PAGEテーブルT1を参照することにより、次の階層へのポインタを取得する。VDSLOT−PAGEテーブルT1には、PAGE−DIRテーブルT2へのポインタが含まれている。PAGE−DIRテーブルT2には、PAGE−GRPPテーブルT3へのポインタが含まれている。さらに、PAGE−GRPPテーブルT3には、GRPT1テーブルT4へのポインタが含まれている。GRPT1テーブルT4には、GRPT2テーブルT5へのポインタが含まれている。GRPT2テーブルT5には、SLCB(スロット制御テーブル)T6へのポインタが含まれている。
このように、LBAに基づいて、各テーブルT1〜T5を順番に参照していくことにより、SLCBテーブルT6に到達する。SLCBテーブルT6には、少なくとも1つ以上のSGCB(セグメント制御ブロック)テーブルT7が関連付けられている。SGCBテーブルT7は、キャッシュ管理の最小単位であるセグメントに関する制御情報を格納している。1つのスロットには、1〜4個のセグメントを関連付けることができる。1つのセグメントには、例えば、48KBまたは64KBのデータを格納することができる。
キャッシュ管理の最小単位はセグメントであるが、ダーティデータ(物理ディスクへの書込み前の状態)と、クリーンデータ(物理ディスクへの書込み後の状態)の各状態間の遷移は、スロット単位で行われる。また、キャッシュ領域の確保(リザーブ)及び解放(リリース)も、スロット単位またはセグメント単位で行われる。
SLCBテーブルT6には、図8に示すように、後方ポインタと、前方ポインタと、キューステータスと、VDSLOT#と、スロットステータスと、CLPR情報と、少なくとも1つ以上のSGCBポインタとを含めて構成することができる。キューステータスは、そのSLCBテーブルT6に関連付けられているキューの種別やキュー番号を含む。スロットステータスは、そのSLCBテーブルT6に対応するスロットの状態を含む。CLPR情報は、そのSLCBテーブルT6が属するCLPRに関する情報(CLPR番号等)を含む。SGCBポインタは、そのSLCBテーブルT6に関連付けられているSGCBテーブルT7を特定するためのポインタが含まれている。
なお、SLCBテーブルT6及びSGCBテーブルT7は、例えば、ポインタ変更等の競合が発生して整合性が失われないように、VDEV70単位で排他制御が行われる。即ち、SLCBテーブルT6またはSGCBテーブルT7が属するVDEV70について、ロックを取得した場合にのみ、SLCBテーブルT6またはSGCBテーブルT7を操作できるようになっている。本明細書では、このVDEV単位の排他制御を「VDEVロック」と呼ぶ。VDEVロックは、論理ボリューム単位の排他制御であると言い換えることもできる。
図6は、SLCBテーブルT6の状態遷移を示す説明図である。SLCBテーブルT6は、例えば、未使用状態ST1、デバイス反映済み状態ST2、パリティ無し&デバイス反映前状態ST3、パリティ生成中状態ST4及びパリティ有り&ドライブ反映前状態ST5の5つのステータスを取ることができる。
未使用状態ST1とは、そのスロットが未使用であることを示す状態である。未使用状態にあるスロット(SLCB)は、フリーSGCBキュー(以下、フリーキューと略記)により管理される。デバイス反映済み状態ST2とは、そのスロットに格納されているデータが物理デバイス(ディスクドライブ80)に書込み済みであることを示す状態である。デバイス反映済み状態ST2にあるスロットは、クリーンキューにより管理される。
パリティ無し&デバイス反映前状態ST3とは、例えばRAID5等のようにパリティデータを必要とする場合において、そのスロットに格納されているデータについて、未だパリティデータが生成されていないことを示す状態である。パリティ無し&デバイス反映前状態ST3にあるスロットは、中間ダーティキューにより管理される。パリティ生成中状態ST4とは、そのスロットに格納されているデータについて、パリティデータを生成している最中であることを示す状態である。パリティ生成中状態ST4にあるスロットは、ホストダーティキューにより管理される。
パリティ有り&ドライブ反映前状態状態ST5とは、そのスロットに格納されているデータについて、パリティデータが生成されているが、物理デバイスに未だ書き込まれていないことを示す状態である。パリティ有り&ドライブ反映前状態ST5にあるスロットは、物理ダーティキュー(以下、ダーティキューと略記)により管理される。
ホストコンピュータ1からライトアクセスがあった場合、ST1からST2を経てST3に状態が遷移し、パリティデータの生成が開始される。そして、書込みを要求されたデータについてパリティデータが生成されると、状態はST3からST4を経てST5に変化する。ホストコンピュータ1からCLPRのキャッシュ領域の1つまたは複数のスロットにデータが書き込まれた時点で、ホストコンピュータ1に対して書込み完了報告が送信される。この時点では、書込みを要求されたデータは、キャッシュ領域上にのみ存在するので、ダーティ状態(ST5)となっている。
そして、ダーティ状態にあるスロットのデータが所定の物理デバイスに書き込まれると(デステージ)、そのスロットは、ダーティ状態からクリーン状態に変化する(ST5→ST2)。クリーン状態にあるデータは、物理デバイスに書き込まれているので、もしも必要ならばキャッシュ領域から消去しても構わない。クリーン状態にあるスロットに格納されているデータをキャッシュ上から消去すると、そのスロットは、クリーン状態から未使用状態へ戻る(ST2→ST1)。
ホストコンピュータ1からリードアクセスがあった場合は、図5と共に述べた各階層テーブルT1〜T6を順番に辿ることにより、要求されたデータが特定される。そして、ホストコンピュータ1が要求しているデータを物理デバイスから読み出して、キャッシュ領域の1つまたは複数のスロットに格納させる。物理デバイスから読み出されたデータを格納するスロットは、クリーン状態を有する。
図7は、キュー構造を示す説明図である。キュー100は、同一状態にあるSLCBテーブルT6を一方向または双方向につなげる待ち行列として構成される。SLCBテーブルT6の状態が変化すると、例えば、FIFO(First-In
First-Out:先入れ先出し)やLRU(Least
Recently Used:最長未使用時間)等のような予め設定されたアルゴリズムに基づいて、キュー100の構成は変化する。
SLCBテーブルT6への操作が競合して整合性が失われるのを防止するために、各キュー100毎に排他制御を行う。即ち、操作対象のキューのロックを取得した場合にのみ、そのキューへの操作を行うことができる。本明細書では、このキュー単位の排他制御を「キューロック」と呼ぶ。従って、上述したVDEVロックとキューロックとの2段階の排他制御の下で、SLCBテーブルT6は操作可能となっている。つまり、操作しようとするSLCBテーブルT6が属するVDEV70のロックと、そのSLCBテーブルT6が接続されているキューのロックとの2つのロックを取得した場合のみ、そのSLCBテーブルT6の内容を変更することができる。
このように、キュー100への操作は排他制御されるため、ロック取得時のオーバーヘッドを考慮して、同一種類のキューを複数本設けている。クリーンキュー、ダーティキュー、フリーキュー等は、それぞれ複数本のキューから構成される。
キューセットを構成する個々のキューには、それぞれカウンタ200が関連付けられている。カウンタ200は、そのキューに属するSLCBテーブルT6及びSGCBテーブルT7の数を管理するものである。カウンタ200に管理されているSLCB数等に基づいて、後述の過負荷制御等を行うことができる。
また、キューセットを構成する個々のキュー100には、キュー管理テーブル300も関連付けられる。キュー管理テーブル300は、キュー100の構造等を管理するものである。キュー100、カウンタ200及びキュー管理テーブル300は、それぞれ共有メモリ50に記憶される。
図9は、各CLPRのキャッシュ領域の使用状態と各キューとの関係を模式的に示す説明図である。各CLPRのキャッシュ領域は、その使用状態に応じて、「使用中領域」と「未使用領域」とに分けることができる。使用中領域とは、データを格納しているスロット群(セグメント群)を意味する。未使用領域とは、空いているスロット群(セグメント群)を意味する。
使用されているセグメントの総数と1つのセグメントあたりのデータサイズとを乗算したものが、そのCLPRにおける使用中領域のサイズとなる。使用されているセグメントには、クリーン状態にあるセグメントとダーティ状態にあるセグメントとが含まれる。従って、そのCLPRに割り当てられているキャッシュ領域のうち現在使用されている領域のサイズは、(クリーン状態のセグメント数+ダーティ状態のセグメント数)で表すことができる。未使用領域のサイズは、フリー状態にあるセグメント数で表すことができる。
フリーキュー101は、フリー状態(未使用状態)にあるSLCBテーブルT6を管理するものである。フリーキュー101に接続されているSLCBテーブルT6(及びSGCBテーブルT7)の数は、フリーキュー101に関連付けられているフリーカウンタ201により把握されている。フリーキュー101の制御単位はVDEVであり、キューロックの単位もVDEV単位である。そして、フリーキュー101は、例えば、FIFOに従って使用される。フリーキュー101は、例えば、VDEV70の実装数の2倍設けている。従って、実装可能なVDEV70の最大数を512とすると、フリーキュー101の総数は1024となる。
クリーンキュー102は、クリーン状態にあるSLCB管理テーブルT6を管理するものである。クリーンキュー102に接続されているSLCBテーブルT6(及びSGCBテーブルT7)の数は、クリーンキュー102に関連付けられているクリーンカウンタ202によって把握されている。クリーンキュー102の制御単位はVDEVであり、キューロックの単位もVDEV単位である。クリーンキュー102は、例えば、LRUに従って使用される。クリーンキュー102は、例えば、VDEV70の実装数の4倍設けている(512×4=2048)。
ダーティキュー103は、ダーティ状態にあるSLCB管理テーブルT6を管理するものである。ダーティキュー103に接続されているSLCBテーブルT6(及びSGCBテーブルT7)の数は、ダーティキュー103に関連付けられているダーティカウンタ203によって把握されている。ダーティキュー103の制御単位は物理ドライブである。ダーティキュー103は、例えば、ディスクドライブ80の実装数の32倍設けている。ディスクドライブ80を2048個実装する場合、ダーティキュー103は65536個設けることができる。ダーティキュー103は、物理デバイスに書込み前のデータ(セグメント)を管理するためのものである。従って、論理デバイス(VDEV70)よりも物理デバイス(ディスクドライブ80)の方に関連が深い。そこで、ダーティキュー103は、物理デバイスの数に依存して設定するようになっている。
使用中カウンタ206は、各CLPRにおける使用中のセグメント数(ダーティ状態のセグメント数+クリーン状態のセグメント数)をカウントするものである。
図10は、各CLPRと各キュー及びカウンタ等の関係を示す説明図である。上述した各キュー、カウンタ及び管理テーブルは、キャッシュ管理単位(セグメントまたはスロット)を管理するための管理情報を構成する。本実施例では、セグメントまたはスロットの性質(ステータス)に応じて、各CLPR毎にそれぞれ設ける管理情報(分割管理情報)と、全CLPRに適用する共通管理情報とに区別する。
図10に示すように、各CLPRには、クリーンキュー102と、クリーンカウンタ(正確にはクリーンキューカウンタ)202と、フリーキューカウンタ201と、色分けキューカウンタ204と、使用中カウンタ206と、BINDキューカウンタ205とが、それぞれ設けられている。また、図示を省略しているが、クリーンキュー102の構成を管理するためのクリーンキュー管理テーブルも各CLPR毎にそれぞれ設けられている。以上のように、各CLPR毎にそれぞれ設けられる管理用の情報が分割管理情報を構成する。
これに対し、フリーキュー101と、ダーティキュー103と、ダーティカウンタ(正確にはダーティキューカウンタ)203と、色分けキュー104と、BINDキュー105と、これら各キュー101,103〜105を管理するためのキュー管理テーブル301とは、全てのCLPRに共通に適用される共通管理情報を構成する。
色分けキュー104とは、PCR機能によってキャッシュ領域に常駐化されるデータを管理するためのキューである。色分けキューカウンタ204は、PCRにより常駐化されているセグメント数をカウントする。
BINDキュー105とは、DCR機能によってキャッシュ領域に常駐化されるデータを管理するためのキューである。BINDキューカウンタ205は、DCRにより常駐化されているセグメント数(またはスロット数)をカウントする。
常駐化されるデータを格納するセグメントを管理するための色分けキュー104及びBINDキュー105をそれぞれ設けることにより、各CLPR内において、常駐化すべきデータを格納するセグメントがフリー状態に変更されるのを防止することができる。
次に、管理情報を構成する各サブ管理情報(キュー、カウンタ、キュー管理テーブル)のうち、いずれを各CLPR毎にそれぞれ設け、いずれを全CLPRに適用するのかの理由を説明する。
クリーンキュー102と、クリーンカウンタ202及びクリーンキュー管理テーブルは、それぞれ各CLPR毎に設けられている。フリー状態のセグメントが枯渇すると、クリーン状態のスロットが解放されてフリースロット化される。従って、クリーンキュー102は、最も使用頻度の高いキューである。もしも、全てのCLPRにおいて、1セットのクリーンキューを用いる場合は、あるCLPRにおいてフリーセグメントの枯渇が生じると、他のCLPRで利用されているデータを格納するクリーン状態のスロットが解放されてしまう可能性がある。即ち、一方のCLPRにおけるキャッシュ利用状態が他方のCLPRにおけるキャッシュ利用状態に影響を与えることになる。そこで、本実施例では、クリーンキュー102と、クリーンカウンタ202とを各CLPR毎にそれぞれ設けることができるようにしている。なお、キュー管理テーブルは、キューと一体的に取り扱われるものである。従って、クリーンキュー102を各CLPR毎にそれぞれ設ける場合、クリーンキュー管理テーブルも各CLPR毎にそれぞれ設けられる。
使用中カウンタ206は、各CLPR毎にそれぞれ設けられる。使用中カウンタ206は、クリーン状態のセグメント数とダーティ状態のセグメント数とを加算した値をカウントするものである。従って、使用中カウンタ206のカウント値からクリーンカウンタ202のカウント値を減算して得られる値は、そのCLPRにおけるダーティ状態のセグメント数に他ならない。従って、クリーンカウンタ202及び使用中カウンタ206が各CLPR毎にそれぞれ設けられていれば、ダーティカウンタ203を各CLPR毎にそれぞれ設ける必要はない。
ダーティキュー103は、物理デバイスに関連するキューであり、制御単位も物理デバイス単位となっている。従って、もしも、ダーティキュー103を各CLPR毎にそれぞれ設ける場合は、ダーティキュー管理テーブルを記憶するための記憶容量が増大し、共有メモリ50の記憶領域を圧迫する。例えば、キュー1本あたりに必要となる情報量は、キュー管理テーブルが16バイト、カウンタが4バイトである。キューの分割はキュー管理テーブルの分割を意味するため、共有メモリ50の多くの記憶領域が分割管理情報の記憶のために消費される。そこで、本実施例では、共有メモリ50の記憶資源を効率的に使用するために、ダーティキュー103及びダーティカウンタ203は、各CLPR毎に設けるのではなく、全てのCLPRについて適用することとした。
また、共有メモリ50の記憶資源を有効利用する観点から、フリーキュー101も各CLPR毎にそれぞれ設けることなく、バイト数の少ないフリーカウンタ201のみを各CLPR毎にそれぞれ設けることとした。
フリーキュー101と同様の理由により、色分けキュー104,BINDキュー105も、それぞれのカウンタ204,205のみを各CLPR毎にそれぞれ設け、キュー自体は全てのCLPRに適用することとした。
このように、本実施例では、サブ管理情報の属性に応じて、即ち、サブ管理情報により管理されるキャッシュ管理単位の属性に応じて、サブ管理情報を分配する。従って、共有メモリ50の記憶資源を効率的に使用し、各CLPR間の独立性を担保できる。
図11は、キャッシュ管理構造と排他制御の関係を示す説明図である。図11では、図10と共に述べた管理情報の一部のみが示されている。図11中の「VDEVロックGr」とは、VDEVロックのグループを示す。ディレクトリを操作するためにはVDEVロックの取得が必要となり、キューを操作するためにはキューロックの操作が必要となる。つまり、CLPRに管理されているデータを移動させるためには、そのデータを格納するセグメントを管理するキューへの操作権限と、そのセグメントが属するディレクトリへの操作権限との両方が必要となる。
図11の右側に示すように、各CLPRには、1つまたは複数のVDEV70を関連付けることができる。あるCLPRに関連付けられているVDEV70を、別のCLPRに関連付けることもできる。図12は、CLPR0に関連付けられているVDEV#1をCLPR1へ付け替える様子を示す説明図である。
VDEV70の所属先CLPRを変更する場合は、VDEV70とCLPRとの関連付けを変更し、さらに、移動対象のVDEV70に属するデータ群を新たなCLPRに関連付ける必要がある。即ち、移動対象のセグメント(またはスロット)を、移動元CLPRに関連付けられたキューから外し、移動先CLPRに関連付けられたキューに接続する。この操作に際して、VDEVロックとキューロックの両方が必要とされる。
図13は、CLPRの構成を変更する場合の処理の一例を示す。図13には、移動元CLPRに関連付けられているVDEV70を、移動先CLPRに移動させる場合の概略が示されている。
まず、管理端末3を介して、システム管理者がVDEV70の移動を要求すると(S1:YES)、CHA20やDKA30の代表プロセッサは、移動対象として指定されたVDEV70の固有情報を変更する(S2)。即ち、そのVDEV70が所属するCLPRに関する情報(帰属先CLPR情報)が、移動先のCLPRに関する情報に書き換えられる。
次に、代表プロセッサは、移動対象のVDEV70に対応するSLCBテーブルT6を検索して抽出し、この移動対象となるSLCBテーブルT6について、CLPR情報を変更する(S3)。即ち、図8と共に上述したように、移動対象となっている各SLCBテーブルT6について、その所属先CLPRに関する情報を移動先CLPRに関する情報に変更する。
そして、代表プロセッサは、移動対象のSLCBテーブルT6のスロットステータスがクリーン状態であるか否かを検査する(S4)。クリーン状態のスロットである場合(S4:YES)、即ち、移動対象のSLCBテーブルT6がクリーンキュー102に接続されている場合、代表プロセッサは、そのSLCBテーブルT6のキューステータスを、移動先CLPRに合わせて変更する(S5)。つまり、移動先CLPRに設けられているの何番目のクリーンキュー102に接続するか等の情報を書き換える。
代表プロセッサは、キューステータスを変更後、移動対象のSLCBテーブルT6を現在のクリーンキュー102から外す(S6)。そして、代表プロセッサは、移動させるクリーンスロットの数に応じて、移動元CLPRに設けられている使用中カウンタ206及びクリーンカウンタ202のカウント値をそれぞれ減じさせる(S7)。次に、代表プロセッサは、移動対象のSLCBテーブルT6を、移動先CLPRのクリーンキュー102に接続する(S8)。そして、代表プロセッサは、移動先CLPRにおける使用中カウンタ206及びクリーンカウンタ202のカウント値をそれぞれ増加させて(S9)、本処理を終了する。
一方、移動対象のVDEV70に対応するSLCBテーブルT6がクリーン状態ではない場合(S4:NO)、代表プロセッサは、その移動対象のSLCBテーブルT6がフリー状態であるか否かを検査する(S10)。移動対象のSLCBテーブルT6がフリー状態の場合(S10:YES)、代表プロセッサは、移動元及び移動先のフリーカウンタ201をそれぞれ変更する(S11)。即ち、移動させるフリースロットの数に応じて、移動元のフリーカウンタ201を減算し、移動先のフリーカウンタ201を加算し、処理を終了する。移動対象のSLCBテーブルT6がダーティ状態の場合(S10:NO)、何もせずに処理を終了する。ダーティキュー103及びダーティカウンタ203は、全CLPRについて共通に適用されるので、キュー移動やカウンタの増減を行う必要はない。
なお、図13中では省略しているが、色分けキュー104及びBINDキュー105に接続されるSLCBテーブルT6は、それぞれフリーキュー101と同様に処理される。色分けキュー104及びBINDキュー105は、各CLPR毎にそれぞれ分割して設けるのではなく、そのカウンタ204,205のみを各CLPRに設けるようになっている。従って、キュー間の移動は生じず、移動元と移動先でのカウンタ値の変更のみが発生する。
図14は、CLPRのキャッシュ割当量を変更する場合の概略処理を示すフローチャートである。システム管理者によるキャッシュ割当処理の変更操作が行われると(S31:YES)、代表プロセッサは、キャッシュ割当の変更に関連するSLCBテーブルT6を検出する(S32)。そして、代表プロセッサは、変更に関連するSLCBテーブルT6のCLPR情報を、キャッシュ割当の変更に応じて、変更させる(S33)。
例えば、CLPR1のキャッシュ割当量を減らして、その分だけCLPR2のキャッシュ割当量を増加させる場合、この変動領域に位置するSLCBテーブルT6の帰属先CLPRは、CLPR1からCLPR2に変更される。そして、キャッシュ領域の割当変更に応じて、クリーンカウンタ202等の値を増減させて処理を終了する(S34)。
図15は、フリーセグメントを確保するためのフリーセグメント収集処理の概略を示すフローチャートである。ここで、フリーセグメントとは、フリー状態にあるセグメントを意味する。本処理は、定期的に、あるいは、フリーセグメントの不足時(過負荷時)に、行うことができる。
まず、クリーン状態のSLCBテーブルT6のうち最も使用頻度の低いものを検出し(S41)、検出されたSLCBテーブルT6のステータスを、クリーン状態からフリー状態に変更する(S42)。このステータス変更に伴って、SLCBテーブルT6は、クリーンキュー102からフリーキュー101に付け替えられる。また、クリーンカウンタ202及びフリーカウンタ201のカウント値もそれぞれ変更される。S41及びS42の処理は、所定量のフリーセグメントが確保されるまで、繰り返し行われる(S43)。
図16は、CLPRを定義する様子を示す模式図である。本実施例では、CLPR0を共用のプール領域として使用する。CLPR0には、ストレージサブシステム10内で共通に使用される各種情報が記憶される。なお、上述のように、各種の管理情報は共有メモリ50に記憶されている。
図16(a)に示すように、ユーザ専用のCLPRを1つも設定していない初期状態では、キャッシュメモリ40の有する全てのキャッシュ領域は、CLPR0に所属する。図16(b)に示すように、CLPR0に割り当てられたキャッシュ領域は、共通の諸情報等を記憶する「使用中領域」と「未使用領域」とに区別することができる。ユーザ専用のCLPR1を新たに設定する場合は、図16(c)に示すように、プール領域であるCLPR0から必要なだけのキャッシュ領域を切り取って、CLPR1に割り当てる。さらに、別のユーザ用にCLPR2を新たに設定する場合は、図16(d)に示すように、プール領域として使用されるCLPR0から必要な量だけキャッシュ領域を切り取り、新たに生成するCLPR2に割り当てる。ユーザ専用のCLPR1またはCLPR2を削除する場合は、削除されるCLPRに割り当てられているキャッシュ領域は、CLPR0に戻される。
図17は、上述した処理を示すフローチャートである。初期状態では、キャッシュメモリ40の有する全てのキャッシュ領域が、プール領域として使用される共用領域CLPR0に割り当てられる(S51)。ストレージサブシステム10全体で使用する諸情報は、CLPR0に記憶され、運用が開始される(S52)。
CLPRを新たに追加する場合は(S53:YES)、CLPRの構成変更を行う(S54)。このCLPR構成変更処理では、CLPR0からキャッシュ領域を切り取り、新たなCLPRに割り当てる等の処理を行う。一方、既に生成されたCLPRを削除する場合(S53:NO、S55:YES)、削除するCLPRに割り当てられていたキャッシュ領域をCLPR0に戻す等の処理を行う(S56)。なお、原則として、CLPR0を削除することはできない。
図18は、各サブ端末2毎に、それぞれのサブ端末2が管理するCLPRに関する情報を表示等する様子を示す説明図である。
SVP90は、認証部91と、構成管理部92とを備えている。各CLPRの管理者は、サブ端末2を介してSVP90にアクセスし、ユーザID等を入力する。認証部91によるユーザ認証の結果、正当なユーザであると認められた場合、CLPRの管理者は、自己の管理下にあるCLPRについて構成変更を行うことができる。この構成変更の操作は、構成管理部92によって各CLPRに反映される。また、構成管理部92から取得されたCLPRに関する構成情報は、サブ端末2に表示させることができる。
サブ端末2に表示可能な情報としては、例えば、CLPRに割り当てられている最大キャッシュ量、CLPRに割り当てられているVDEVに関する情報(VDEV番号やボリュームサイズ等)、使用中のキャッシュサイズ、未使用のキャッシュサイズ、CLPRへのIO頻度等を挙げることができる。なお、ストレージサブシステム10の全体を管理するシステム管理者は、全体端末3を介して、全てのCLPRに関する情報を取得することができ、各CLPRの構成変更等を行うことができる。
このように、本実施例によれば、ストレージサブシステム10内に設定した各CLPR毎に、それぞれ管理用の情報を分割する構成とした。従って、各CLPR間の干渉を抑制することができ、使い勝手を高めることができる。即ち、一方のCLPRに対するアクセスが増大した場合でも、他のCLPRに影響が及ぶのを極力防止することができる。
また、本実施例では、セグメントまたはスロットの属性に基づいて、管理情報を分配する構成とした。従って、全ての管理情報を単純に各CLPRにそれぞれ設ける構成と比較して、管理情報全体のデータサイズを低減することができ、共有メモリ50を効率的に使用することができる。
なお、本発明は、上述した実施の形態に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。
本発明の実施例に係わるストレージサブシステムの外観図である。 ストレージサブシステムの論理的な概略構成を示すブロック図である。 ストレージサブシステムのより詳細なブロック図である。 CLPR毎に割り当てられるキャッシュ領域とVDEVの関係を示す説明図である。 階層構造を有するキャッシュ管理方法を示す説明図である。 SLCBテーブルの状態遷移図である。 キュー、カウンタ及びキュー管理テーブルの関係を示す説明図である。 SLCBテーブルの概略構造を示す説明図である。 キャッシュ領域と各キュー及びカウンタとの関係を示す説明図である。 CLPRの管理情報を分配する様子を示す模式図である。 VDEVロック及びキューロックによってデータ移動が可能となる様子を示す説明図である。 CLPR0からCLPR1にVDEVを移動させる様子を示す説明図である。 VDEVを移動させる場合の処理を示すフローチャートである。 CLPRへのキャッシュ割当を変更する場合のフローチャートである。 フリーセグメントの収集処理を示すフローチャートである。 プール領域として用いられるCLPR0からキャッシュ領域を切り取って、新たなCLPRを設定する様子を示す説明図である。 CLPRを定義する場合の処理を示すフローチャートである。 各CLPRに関する情報をサブ管理端末に表示させる様子を示す説明図である。
符号の説明
1…ホストコンピュータ、2…サブ端末、3…全体端末、10…ストレージサブシステム、11…基本筐体、12…増設筐体、13…制御パッケージ、14…電源ユニット、15…バッテリユニット、16…冷却ファン、20…チャネルアダプタ、21…通信ポート、30…ディスクアダプタ、40…キャッシュメモリ、50…共有メモリ、60…スイッチ部、70…論理デバイス、80…ディスクドライブ、90…サービスプロセッサ、91…認証部、92…構成管理部、100…キュー、101…フリーキュー、102…クリーンキュー、103…ダーティキュー、104…色分けキュー、105…BINDキュー、200…カウンタ、201…フリーキューカウンタ、202…クリーンキューカウンタ、203…ダーティキューカウンタ、204…色分けキューカウンタ、205…BINDキューカウンタ、206…使用中カウンタ、300…キュー管理テーブル、CLPR…論理的キャッシュ分割領域、SLPR…仮想筐体、SLCB…スロット制御テーブル、SGCB…セグメント制御ブロック、F1…DCR、F2…サイドファイル、F3…PCR、CN…通信ネットワーク、ST…ステータス、T1〜T7…テーブル

Claims (4)

  1. 上位装置とのデータ授受をそれぞれ制御する複数のチャネルアダプタと、
    論理的な記憶領域をそれぞれ提供する複数の記憶デバイス群と、
    前記各記憶デバイス群とのデータ授受をそれぞれ制御する複数のディスクアダプタと、
    前記各チャネルアダプタ及び前記各ディスクアダプタによりそれぞれ使用されるキャッシュメモリと、
    前記キャッシュメモリを論理的に分割して構成される複数のキャッシュ分割領域と、
    前記各キャッシュ分割領域を管理するための管理情報を記憶する制御メモリと、
    を備え、
    前記管理情報は、前記各キャッシュ分割領域毎にそれぞれ設けられる分割管理情報と、前記各キャッシュ分割領域の全体に適用される共通管理情報とから構成されており、さらに、
    前記管理情報は、未使用状態のキャッシュ管理単位が接続されるフリーキュー及びこのフリーキューに関連付けられるフリーキューカウンタと、前記記憶デバイス群に反映前のダーティ状態のデータを格納するキャッシュ管理単位が接続されるダーティキュー及びこのダーティキューに関連付けられるダーティキューカウンタと、前記記憶デバイス群に反映済のクリーン状態のデータを格納するキャッシュ管理単位が接続されるクリーンキュー及びこのクリーンキューに関連付けられるクリーンキューカウンタと、使用中のキャッシュ管理単位の総量をカウントする使用中カウンタとを含んで構成され、
    前記フリーキューカウンタと、前記クリーンキューと、前記クリーンキューカウンタ及び前記使用中カウンタは、前記各キャッシュ分割領域毎にそれぞれ設けられて、前記分割管理情報をそれぞれ構成し、
    前記フリーキューと、前記ダーティキュー及び前記ダーティキューカウンタは、前記共通管理情報として使用されるストレージサブシステム。
  2. 前記各キューにはそれぞれキュー管理テーブルが関連付けられており、前記分割管理情報を構成するキューに関連付けられるキュー管理テーブルは、前記各キャッシュ分割領域毎にそれぞれ設けられる請求項に記載のストレージサブシステム。
  3. 前記各チャネルアダプタ毎に前記各キャッシュ分割領域をそれぞれ設定可能な請求項1に記載のストレージサブシステム。
  4. 前記各キャッシュ分割領域のうち1つのキャッシュ分割領域を共用領域として設定し、この共用領域に属する資源を割り当てることにより、新たなキャッシュ分割領域を設定する請求項1に記載のストレージサブシステム。
JP2004029028A 2004-02-05 2004-02-05 ストレージサブシステム Expired - Fee Related JP4141391B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2004029028A JP4141391B2 (ja) 2004-02-05 2004-02-05 ストレージサブシステム
US10/822,725 US7246208B2 (en) 2004-02-05 2004-04-13 Storage subsystem and storage subsystem control method
EP04255715A EP1562123A1 (en) 2004-02-05 2004-09-20 Storage subsystem and storage subsystem control method
CNB2005100002205A CN100342351C (zh) 2004-02-05 2005-01-05 存储子系统和存储子系统的控制方法
US11/328,057 US7240156B2 (en) 2004-02-05 2006-01-10 Storage subsystem and storage subsystem control method
US11/808,606 US7739454B2 (en) 2004-02-05 2007-06-12 Storage subsystem and storage subsystem control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004029028A JP4141391B2 (ja) 2004-02-05 2004-02-05 ストレージサブシステム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008145288A Division JP4808747B2 (ja) 2008-06-03 2008-06-03 ストレージサブシステム

Publications (2)

Publication Number Publication Date
JP2005222274A JP2005222274A (ja) 2005-08-18
JP4141391B2 true JP4141391B2 (ja) 2008-08-27

Family

ID=34675519

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004029028A Expired - Fee Related JP4141391B2 (ja) 2004-02-05 2004-02-05 ストレージサブシステム

Country Status (4)

Country Link
US (3) US7246208B2 (ja)
EP (1) EP1562123A1 (ja)
JP (1) JP4141391B2 (ja)
CN (1) CN100342351C (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4549787B2 (ja) * 2004-09-10 2010-09-22 株式会社日立製作所 ストレージ装置
US7130960B1 (en) * 2005-04-21 2006-10-31 Hitachi, Ltd. System and method for managing disk space in a thin-provisioned storage subsystem
US7536529B1 (en) 2005-06-10 2009-05-19 American Megatrends, Inc. Method, system, apparatus, and computer-readable medium for provisioning space in a data storage system
US7689766B1 (en) 2005-06-10 2010-03-30 American Megatrends, Inc. Method, system, apparatus, and computer-readable medium for integrating a caching module into a storage system architecture
JP4813843B2 (ja) 2005-08-04 2011-11-09 株式会社日立製作所 ストレージ装置、ディスクキャッシュ制御方法及びディスクキャッシュの容量割当方法
JP2007102314A (ja) * 2005-09-30 2007-04-19 Fujitsu Ltd ディスクキャッシュ制御装置
US20070143546A1 (en) * 2005-12-21 2007-06-21 Intel Corporation Partitioned shared cache
US7844709B2 (en) * 2006-09-20 2010-11-30 International Business Machines Corporation Method and apparatus for managing central processing unit resources of a logically partitioned computing environment without shared memory access
JP4771431B2 (ja) * 2007-09-20 2011-09-14 Kddi株式会社 オペレーティングシステムに基づくイベント処理機能搭載装置及びプログラム
US8352716B1 (en) 2008-01-16 2013-01-08 American Megatrends, Inc. Boot caching for boot acceleration within data storage systems
US8799429B1 (en) 2008-05-06 2014-08-05 American Megatrends, Inc. Boot acceleration by consolidating client-specific boot data in a data storage system
US8495348B2 (en) 2008-06-26 2013-07-23 Lsi Corporation Efficient root booting with solid state drives and redirect on write snapshots
JP5357964B2 (ja) * 2008-06-26 2013-12-04 エルエスアイ コーポレーション ソリッドステートドライブ、及びリダイレクト・オン・ライトスナップショットを用いた効率的なルートブート方法
US8275815B2 (en) 2008-08-25 2012-09-25 International Business Machines Corporation Transactional processing for clustered file systems
JP5335824B2 (ja) * 2008-10-01 2013-11-06 株式会社日立製作所 フォーマット又はシュレッディングを行う機能を有したストレージシステム
US8656070B2 (en) * 2009-04-29 2014-02-18 Lsi Corporation Striping with SCSI I/O referrals
WO2010131373A1 (en) * 2009-05-15 2010-11-18 Hitachi,Ltd. Storage subsystem
US8806133B2 (en) * 2009-09-14 2014-08-12 International Business Machines Corporation Protection against cache poisoning
JP5531091B2 (ja) * 2009-11-19 2014-06-25 株式会社日立製作所 計算機システム及びその負荷均等化制御方法
US20110276728A1 (en) * 2010-05-06 2011-11-10 Hitachi, Ltd. Method and apparatus for storage i/o path configuration
JP5641300B2 (ja) * 2010-07-14 2014-12-17 日本電気株式会社 ストレージシステム及びストレージシステムのメモリキャッシュ領域制御方法
US8572325B2 (en) * 2010-12-07 2013-10-29 International Business Machines Corporation Dynamic adjustment of read/write ratio of a disk cache
WO2012147127A1 (en) * 2011-04-26 2012-11-01 Hitachi, Ltd. Computer system and control method of the computer system
US9606929B2 (en) * 2011-11-08 2017-03-28 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Simulated NVRAM
WO2014106871A1 (en) * 2013-01-07 2014-07-10 Hitachi, Ltd. Storage system which realizes asynchronous remote copy using cache memory composed of flash memory, and control method thereof
WO2014143036A1 (en) 2013-03-15 2014-09-18 Intel Corporation Method for pinning data in large cache in multi-level memory system
CN103645969B (zh) * 2013-12-13 2017-06-20 华为技术有限公司 数据复制方法及数据存储系统
US10296240B2 (en) 2014-04-28 2019-05-21 Hewlett Packard Enterprise Development Lp Cache management
KR102438552B1 (ko) * 2015-02-04 2022-09-01 에스케이하이닉스 주식회사 메모리 시스템 및 그 동작방법
JP6613603B2 (ja) 2015-04-30 2019-12-04 富士通株式会社 ストレージ制御装置、ストレージ制御プログラム、およびストレージシステム
JP6618941B2 (ja) * 2017-03-03 2019-12-11 株式会社東芝 管理装置、情報処理装置および管理方法
CN108874684B (zh) * 2018-05-31 2021-05-28 北京领芯迅飞科技有限公司 拆分cache缓存的nvdimm接口数据读写装置
CN111162794B (zh) * 2018-11-08 2023-10-20 北京忆芯科技有限公司 译码数据缓存方法和译码器
CN110224922B (zh) * 2019-05-21 2022-04-19 成都路行通信息技术有限公司 一种基于RabbitMQ的异步消息重试方法、系统及系统构建方法

Family Cites Families (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0389151A3 (en) 1989-03-22 1992-06-03 International Business Machines Corporation System and method for partitioned cache memory management
DE4030914A1 (de) * 1990-09-29 1992-04-30 Basf Ag Verfahren zur herstellung von kohlenwasserstoffen und polymeren mit aminstickstoff enthaltenden endgruppen
JP3308554B2 (ja) 1991-02-20 2002-07-29 株式会社日立製作所 制御装置及び制御装置の制御方法
JPH05128002A (ja) 1991-11-01 1993-05-25 Fujitsu Ltd キヤツシユメモリ分割制御方式
JP3160106B2 (ja) 1991-12-23 2001-04-23 ヒュンダイ エレクトロニクス アメリカ ディスクアレーの区分け方法
US5689678A (en) 1993-03-11 1997-11-18 Emc Corporation Distributed storage array system having a plurality of modular control units
JPH07129470A (ja) 1993-11-09 1995-05-19 Hitachi Ltd ディスク制御方法
US5657470A (en) 1994-11-09 1997-08-12 Ybm Technologies, Inc. Personal computer hard disk protection system
JP3772369B2 (ja) 1995-11-20 2006-05-10 株式会社日立製作所 記憶サブシステム
US5829053A (en) 1996-05-10 1998-10-27 Apple Computer, Inc. Block storage memory management system and method utilizing independent partition managers and device drivers
JPH10124388A (ja) 1996-10-15 1998-05-15 Hitachi Ltd 記憶制御装置
US6115787A (en) * 1996-11-05 2000-09-05 Hitachi, Ltd. Disc storage system having cache memory which stores compressed data
US6148377A (en) * 1996-11-22 2000-11-14 Mangosoft Corporation Shared memory computer networks
US6148368A (en) 1997-07-31 2000-11-14 Lsi Logic Corporation Method for accelerating disk array write operations using segmented cache memory and data logging
JP3937548B2 (ja) 1997-12-29 2007-06-27 カシオ計算機株式会社 データアクセス制御装置およびそのプログラム記録媒体
GB9806918D0 (en) 1998-03-31 1998-05-27 British Telecomm Software access
US6256705B1 (en) * 1998-06-05 2001-07-03 International Business Machines Corporation System and method for organizing data stored in a log structured array
US6295575B1 (en) 1998-06-29 2001-09-25 Emc Corporation Configuring vectors of logical storage units for data storage partitioning and sharing
US6665786B2 (en) 1998-09-21 2003-12-16 Microsoft Corporation Dynamic disk partition management
US6275824B1 (en) 1998-10-02 2001-08-14 Ncr Corporation System and method for managing data privacy in a database management system
JP3358655B2 (ja) 1998-12-22 2002-12-24 日本電気株式会社 ディスクアレイ装置におけるキャッシュメモリ管理方法
JP2000187561A (ja) 1998-12-24 2000-07-04 Hitachi Ltd 記憶装置システム
EP1026575A3 (en) 1999-02-08 2006-09-06 Hitachi, Ltd. Disk array system and method of changing its configuration
US6640278B1 (en) * 1999-03-25 2003-10-28 Dell Products L.P. Method for configuration and management of storage resources in a storage network
US6275898B1 (en) 1999-05-13 2001-08-14 Lsi Logic Corporation Methods and structure for RAID level migration within a logical unit
US6519679B2 (en) 1999-06-11 2003-02-11 Dell Usa, L.P. Policy based storage configuration
US6986137B1 (en) * 1999-09-28 2006-01-10 International Business Machines Corporation Method, system and program products for managing logical processors of a computing environment
US6507905B1 (en) 1999-09-30 2003-01-14 International Business Machines Corporation System for modifying a master partition table of a master boot record to create a personalized local data drive having dedicated allocation for a specified user
US6341331B1 (en) 1999-10-01 2002-01-22 International Business Machines Corporation Method and system for managing a raid storage system with cache
US6615324B1 (en) 2000-01-07 2003-09-02 Cygnal Integrated Products, Inc. Embedded microprocessor multi-level security system in flash memory
US6922685B2 (en) * 2000-05-22 2005-07-26 Mci, Inc. Method and system for managing partitioned data resources
JP4719957B2 (ja) 2000-05-24 2011-07-06 株式会社日立製作所 記憶制御装置及び記憶システム並びに記憶システムのセキュリティ設定方法
JP3889922B2 (ja) 2000-11-14 2007-03-07 株式会社日立製作所 共用ストレージを備えた計算機システム
JP2003044297A (ja) 2000-11-20 2003-02-14 Humming Heads Inc コンピュータリソースの制御を行なう情報処理方法および装置、情報処理システム及びその制御方法並びに記憶媒体、プログラム
US20020104008A1 (en) 2000-11-30 2002-08-01 Cochran Robert A. Method and system for securing control-device-lun-mediated access to luns provided by a mass storage device
US6968463B2 (en) 2001-01-17 2005-11-22 Hewlett-Packard Development Company, L.P. System for controlling access to resources in a storage area network
US20020103913A1 (en) 2001-01-26 2002-08-01 Ahmad Tawil System and method for host based target device masking based on unique hardware addresses
JP2002230189A (ja) 2001-02-02 2002-08-16 Hitachi Ltd サービス提供システム
WO2003007154A2 (en) 2001-07-09 2003-01-23 Cable & Wireless Internet Services, Inc. Methods and systems for shared storage virtualization
JP3617632B2 (ja) 2001-07-19 2005-02-09 富士通株式会社 Raid制御装置及びその制御方法
US7130852B2 (en) 2001-07-27 2006-10-31 Silicon Valley Bank Internal security system for a relational database system
US7085827B2 (en) 2001-09-20 2006-08-01 Hitachi, Ltd. Integrated service management system for remote customer support
US6895467B2 (en) 2001-10-22 2005-05-17 Hewlett-Packard Development Company, L.P. System and method for atomizing storage
JP4018900B2 (ja) 2001-11-22 2007-12-05 株式会社日立製作所 仮想計算機システム及びプログラム
US20030115447A1 (en) 2001-12-18 2003-06-19 Duc Pham Network media access architecture and methods for secure storage
US6775673B2 (en) 2001-12-19 2004-08-10 Hewlett-Packard Development Company, L.P. Logical volume-level migration in a partition-based distributed file system
US6715031B2 (en) 2001-12-28 2004-03-30 Hewlett-Packard Development Company, L.P. System and method for partitioning a storage area network associated data library
US7010663B2 (en) 2002-03-22 2006-03-07 Sun Microsystems, Inc. Method and system for dividing a plurality of existing volumes of storage into a plurality of virtual logical units of storage
JP4124612B2 (ja) 2002-05-01 2008-07-23 株式会社日立製作所 記憶サブシステムの制御方法および記憶サブシステム
US20040010563A1 (en) 2002-06-26 2004-01-15 John Forte Method for enterprise device naming for storage devices
US7725568B2 (en) 2002-09-09 2010-05-25 Netapp, Inc. Method and apparatus for network storage flow control
US7146499B2 (en) 2002-09-30 2006-12-05 International Business Machines Corporation Security system for replicated storage devices on computer networks
US6957303B2 (en) * 2002-11-26 2005-10-18 Hitachi, Ltd. System and managing method for cluster-type storage
JP4186602B2 (ja) 2002-12-04 2008-11-26 株式会社日立製作所 ジャーナルログを利用した更新データ書込方法
US7007183B2 (en) 2002-12-09 2006-02-28 International Business Machines Corporation Power conservation by turning off power supply to unallocated resources in partitioned data processing systems
JP2004220216A (ja) 2003-01-14 2004-08-05 Hitachi Ltd San/nas統合型ストレージ装置
JP4015035B2 (ja) 2003-02-06 2007-11-28 岐阜県 吸水材料及びその製造方法
JP4313068B2 (ja) 2003-03-28 2009-08-12 株式会社日立製作所 記憶装置のキャッシュ管理方法
JP2004302713A (ja) * 2003-03-31 2004-10-28 Hitachi Ltd 記憶システム及びその制御方法
US20050010722A1 (en) 2003-07-11 2005-01-13 Chih-Wei Chen Multi-volume disk array management method and system
US20050015546A1 (en) 2003-07-15 2005-01-20 Ofir Zohar Data storage system
JP4437650B2 (ja) * 2003-08-25 2010-03-24 株式会社日立製作所 ストレージシステム
JP2005149436A (ja) * 2003-11-20 2005-06-09 Hitachi Ltd ストレージ装置、ストレージ装置における制御方法、ジョブスケジューリング処理方法及び障害処理方法並びにそれらのプログラム
JP2005190057A (ja) * 2003-12-25 2005-07-14 Hitachi Ltd ディスクアレイ装置及びディスクアレイ装置のリモートコピー制御方法
US20050152251A1 (en) * 2004-01-08 2005-07-14 Victor Company Of Japan, Ltd. Method and apparatus for recording check data of file system on recording medium
JP2005242757A (ja) * 2004-02-27 2005-09-08 Hitachi Ltd ストレージシステム
US20070028052A1 (en) * 2005-07-28 2007-02-01 International Business Machines Corporation Method and apparatus for maintaining cached state data for one or more shared devices in a logically partitioned computer system
JP5410025B2 (ja) * 2008-03-07 2014-02-05 株式会社日立製作所 ストレージシステム及びその管理方法

Also Published As

Publication number Publication date
US20060112225A1 (en) 2006-05-25
US20050177684A1 (en) 2005-08-11
JP2005222274A (ja) 2005-08-18
US7246208B2 (en) 2007-07-17
CN100342351C (zh) 2007-10-10
US7739454B2 (en) 2010-06-15
US7240156B2 (en) 2007-07-03
EP1562123A1 (en) 2005-08-10
CN1652093A (zh) 2005-08-10
US20070245085A1 (en) 2007-10-18

Similar Documents

Publication Publication Date Title
JP4141391B2 (ja) ストレージサブシステム
US8683171B2 (en) Data management method in storage pool and virtual volume in DKC
US7594071B2 (en) Storage system employing a hierarchical directory section and a cache directory section
US7152149B2 (en) Disk array apparatus and control method for disk array apparatus
US7587553B2 (en) Storage controller, and logical volume formation method for the storage controller
JP5073259B2 (ja) 仮想化システム及び領域割当て制御方法
US20070043919A1 (en) Information processing method and system
US8539142B2 (en) Storage system comprising nonvolatile semiconductor storage media
US7937553B2 (en) Controlling virtual memory in a storage controller
JP2002082775A (ja) 計算機システム
JP2005276017A (ja) ストレージシステム
JP2007072519A (ja) ストレージシステム及びストレージシステムの制御方法
US8954666B2 (en) Storage subsystem
JP2007102760A (ja) ストレージエリアネットワークにおけるボリュームの自動割り当て
JP2005190057A (ja) ディスクアレイ装置及びディスクアレイ装置のリモートコピー制御方法
JP4808747B2 (ja) ストレージサブシステム
US20090006741A1 (en) Preferred zone scheduling
JP2003296154A (ja) ボリューム統合管理方法および統合管理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061225

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20061225

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080528

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080529

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

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

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

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130620

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees