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

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

ストレージシステム Download PDF

Info

Publication number
JP2009043030A
JP2009043030A JP2007207357A JP2007207357A JP2009043030A JP 2009043030 A JP2009043030 A JP 2009043030A JP 2007207357 A JP2007207357 A JP 2007207357A JP 2007207357 A JP2007207357 A JP 2007207357A JP 2009043030 A JP2009043030 A JP 2009043030A
Authority
JP
Japan
Prior art keywords
storage
area
nonvolatile memory
management server
storage system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007207357A
Other languages
English (en)
Inventor
Yasutomo Yamamoto
康友 山本
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 JP2007207357A priority Critical patent/JP2009043030A/ja
Priority to US11/968,747 priority patent/US8028146B2/en
Priority to EP08250169.3A priority patent/EP2026188B1/en
Priority to CN2008100098945A priority patent/CN101364164B/zh
Priority to CN201210239752.4A priority patent/CN102841761B/zh
Publication of JP2009043030A publication Critical patent/JP2009043030A/ja
Priority to US13/216,629 priority patent/US8327110B2/en
Priority to US13/670,646 priority patent/US8788786B2/en
Priority to US14/300,318 priority patent/US20140289459A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0626Reducing size or complexity of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/068Hybrid storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

【課題】ホスト計算機データを常置する媒体として不揮発メモリを搭載するストレージにおいて、常置領域のI/O処理に必要な一時領域を割り当てる不揮発メモリ容量を決定する。
【解決手段】当該ストレージが搭載するディスク装置や当該ストレージのストレージ仮想化機能により管理される外部のストレージ装置のディスク装置などのホスト計算機データ常置領域の容量やアクセス頻度などに応じて、常置領域全体に対して確保要な一時領域容量を算出し、当該容量の不揮発メモリを一時領域として定義し、ホスト計算機からのデータ入出力を処理する際に、ホスト計算機データを一時格納するために用いる。また、外部ストレージの増減設や不揮発メモリの増減設といった構成変更などのイベントに応じて、必要な不揮発メモリ一時領域容量を再算出し、必要に応じて、不揮発メモリ一時領域容量を増減するよう制御する。
【選択図】 図1

Description

本発明は、計算機システムにおいて計算機によりアクセスされるストレージシステムの制御方法および管理方法に係り、特に、ストレージシステムに搭載した不揮発メモリの記憶領域の割り当てを行うための方法、および、記憶領域の管理方法に関する。
文書電子化の規制緩和や手続きの電子化、インターネットビジネスの拡大に伴って、企業などで取り扱われる情報が爆発的に増大している。このような情報増大に加え、ディスク装置から別のディスク装置へのデータバックアップ(Disk−toーDisk Backup)や監査対応などによる企業の業務活動記録(取引情報やメールなど)の長期保管などの顧客要求の高まりによって、ストレージ装置に格納するデータ量が飛躍的に増加し、ストレージシステムの大規模化を招いている。
これに伴い、企業情報システムでは、各部門/各システムのストレージ増強を図る一方で、複雑化するITインフラストラクチャの管理の簡素化や効率化が求められている。特にストレージ装置の管理を簡素化し、データの価値に応じ最適なストレージを活用してトータルコストの最適化を図ることへの期待が高まっている。
大規模ストレージシステムの管理コストを低減する方法の一つとして、特許文献1に開示されるようなストレージ仮想化技術が挙げられる。特許文献1では、第一のストレージを一台以上の第二のストレージへ接続し、第二のストレージがホスト等上位に提供するデバイス(以下、論理デバイスと呼ぶ)を第一のストレージを介して第一のストレージの論理デバイスとしてホストへ提供するストレージ仮想化技術(以下、外部ストレージ接続方法と呼ぶ)が開示されている。第一のストレージはホストからの論理デバイスへの入出力要求を受信した際に、アクセス対象のデバイスが第二のストレージの論理デバイス若しくは第一ストレージ内のディスク装置などの物理デバイスのいずれに対応しているのかを判定し、判定結果に従って適当なアクセス先に入出力要求を振り分ける。
また、ストレージシステム設計を簡素化する方法の一つとして、特許文献2に開示されるような動的に容量を拡張可能なボリューム管理技術(以下、拡張ボリュームと呼ぶ)が挙げられる。特許文献2では、論理デバイス定義時に、ユーザから要求されたデバイス容量分の物理記憶領域(HDDなど)を固定的に割り当てるのではなく、ストレージ内にプール領域を設けて、当該論理デバイスへ更新アクセスが行われた際に、当該更新部分に対してのみ、プール領域から規定量の物理記憶領域を動的に追加していく。これにより、少ない物理記憶領域で大容量な論理デバイスを導入でき、ストレージ容量設計の簡易化が可能となる。
一方、上記のように大量データを格納する大規模ストレージシステムの導入・運用コストを低減する方法の一つとして、特許文献3に開示されるフラッシュメモリのような不揮発メモリを採用したストレージ実装技術が考えられる。特許文献3では、フラッシュメモリの欠点である、書き換え回数増加を契機としたライト失敗に対する対策について開示されている。特許文献3の技術などを用いることで、HDDに代えて又は加えてフラッシュメモリなどの不揮発メモリを搭載し、不揮発メモリで、ホストに書かれる又は読み出されるデータを記憶するストレージが考えられる。ホストデータを不揮発メモリへ格納することで、ディスク装置を搭載するストレージ装置と比較して、I/O処理高速化と消費電力低減を両立可能なストレージ装置を提供できる。これによって、導入システムの小規模化やシステムランニングコスト(消費電力量)の低減が実現可能となる。なお、現在主流の不揮発メモリであるフラッシュメモリは、計算機の主記憶として用いられるDRAMやS-RAMなどと比較して、低速かつ書き込み回数制限など、使い勝手に影響する特性を有しているため、ディスク装置代替など二次記憶装置として活用されている。
特開2005−11277号公報 特開2003−15915号公報 特許3507132号
特許文献1に示す第一のストレージでは、外部ストレージである第二のストレージの入出力処理のためのキャッシュメモリを搭載する必要がある。キャッシュメモリとは、ストレージが搭載するディスク装置への入出力処理に際して、リード又はライト対象データを一時的に格納し、キャッシュヒットによるリードおよびライト処理の高速化を実現するもので、ほとんどのストレージシステムに搭載されている。本明細書では、キャッシュメモリのように、データを一時的に格納する記憶領域を「一時領域」、ディスク装置のように、データの最終格納先である記憶領域を「常置領域」と呼ぶこととする。
外部ストレージへの入出力を高速に実行するためには、外部ストレージの容量やアクセス特性(局所性など)に応じて、入出力処理に必要な容量のキャッシュメモリ(一時領域)を割り当てなければならない。
従来、このキャッシュメモリ(一時領域)にはDRAMやSRAMなどのメモリデバイスが採用され、高コスト高速小容量といった、ディスク装置(常置領域)とは全く異なる特性を持った記憶媒体として、ストレージシステムの高速化に寄与してきた。逆に、一時領域に求められる特性に応えるため、前述の第一のストレージでは、搭載するディスク装置(常置領域)とは別に、外部ストレージ(および内部に搭載するディスク装置)用の一時領域としてメモリデバイスを搭載せざるを得なかった。
ところが、前述の外部ストレージ接続手段を有する第一のストレージが、不揮発メモリを常置領域として用いるストレージである場合、外部ストレージの一時領域として、常置領域と同様、不揮発メモリを用いることが可能となる。一時領域/常置領域として共に不揮発メモリを用いることで、ディスク装置とメモリを共に実装する必要が無くなり、ハードウェアが単純化され、ハードウェアコストの低減などが可能となる。しかし、この実現には、不揮発メモリ上に割り当てる一時領域および常置領域の容量・場所を決定・管理可能な管理技術が必要となる。また、外部ストレージの増減設やアクセス特性の変化に応じて、外部ストレージの入出力処理要件を満たす一時領域割り当てへの変更が必要となる。
また、将来技術として研究が進められているMRAMなどの次世代不揮発メモリでは、DRAMなどに匹敵する高速性と書き込み制限の解消の実現が計画されており、新しい不揮発メモリの登場で新しいアーキテクチャが必要になる。
本発明の目的は、外部ストレージ接続手段を有し、常置領域として不揮発メモリを搭載したストレージと外部ストレージからなるストレージシステムにおいて、外部ストレージの入出力処理要件に応じた一時領域容量の決定、割り当て領域の選定および管理を可能とすることである。
管理サーバおよびストレージシステムは、ユーザもしくはアプリケーションプログラムからの指示、またはストレージデバイス増減設などの構成変更に応じて、ストレージ内に搭載した不揮発メモリに割り当てる一時領域、すなわち、ホストからのデータ入出力時に一時的にデータを格納する記憶領域の容量を決定し、当該一時領域を不揮発メモリの特定領域へ割り当てる。
さらに、ディスク装置や不揮発メモリなどのデータ常置領域、すなわちホストデータを格納する記憶領域の容量変化やアクセス特性の変化に応じて、不揮発メモリに割り当てた一時領域の容量を増減させる。
本発明のストレージシステムによれば、仮想ストレージシステムの構成や被仮想化デバイスの容量やアクセス特性に応じて、一時領域容量を決定し、不揮発メモリを一時領域と常置領域それぞれに使い分けることが可能となる。
本発明を実施するための最良の形態を説明する。
本発明の計算機システムとストレージ及びデバイス制御方法の実施例として、第一から第二の実施例を説明する。
第一の実施例は、ホスト計算機と第一のストレージと、ホスト計算機と第一のストレージの間に接続された第二のストレージと管理サーバとをネットワークで接続した計算機システムであって、第二のストレージが常置領域として不揮発メモリを搭載し、他のストレージのデバイスを自身のデバイスとして仮想統合可能なストレージ仮想化機能を搭載し、ユーザ又はアプリケーションの指示に応じて管理サーバと第二のストレージが一時領域の容量を決定し、当該容量の一時領域を不揮発メモリ上に確保し、割り当てる。併せて本発明でのデバイス定義処理とI/O処理について説明する。
第二の実施例は、第一の実施例と同様の構成で、第一のストレージデバイスや第二のストレージに搭載したディスク装置および不揮発メモリ上の常置領域の容量およびアクセス特性に応じて、割当が必要な一時領域容量を算出し、既割当容量との比較結果に応じて、一時領域割当要量を増減させるよう制御する。併せて本発明でのデバイス移行指示処理について説明する。
まず図1から図13と図19と図20を参照して第1の実施例を説明する。図1は本発明の第1の実施例が適用される計算機システムのハードウェア構成の一例を示す図である。
計算機システムは、1台以上のホスト計算機100と、管理サーバ110と、ファイバチャネルスイッチ120と、ストレージ130と、管理端末140と、外部ストレージ150aおよび150b(総称して外部ストレージ150と呼ぶ)を有する。ホスト100、ストレージ130および外部ストレージ150は各々ポート107,131,151を介してファイバチャネルスイッチ120のポート121に接続される。また、ホスト100、ストレージ130、外部ストレージ150、ファイバチャネルスイッチ120は、各々インタフェース制御部(I/F)106、138,157,123からIPネットワーク175を介して管理サーバ110に接続され、管理サーバ110で動作する図示しないストレージ管理ソフトウェアによって統合管理される。なお、本実施例では、ストレージ130は管理端末140を介して管理サーバ110に接続する形態をとるものとするが、ストレージ130が直接IPネットワークに接続される構成であっても良い。
ホスト計算機100は、CPU101やメモリ102などを有する計算機であり、ディスク装置や光磁気ディスク装置などの記憶装置103に格納されたオペレーティングシステムやアプリケーションプログラムなどのソフトウェアをメモリ102に読み上げ、CPU101がメモリ102から読み出して実行することで、所定の機能を達成する。キーボードやマウスなどの入力装置104やディスプレイ105等の出力装置を具備し、入出力装置104がホスト管理者などからの入力を受け付け、出力装置がCPU101から指示された情報を出力する。又、ホスト100はポート107以外に、IPネットワーク175と接続するための一以上のインタフェース制御部106を有する。
管理サーバ110も、CPU111やメモリ112を有する計算機であり、ディスク装置や光磁気ディスク装置等の記憶装置113に格納されたストレージ管理ソフトウェアなどをメモリ112に読み上げ、CPU111がそれを読んで実行することで、計算機システム全体の運用・保守管理といった、所定の機能を達成する。CPU111によってストレージ管理ソフトウェアが実行されると、管理サーバ110はインタフェース制御部116からIPネットワーク175を介して、計算機システム内の各機器から構成情報、リソース利用率、性能監視情報、障害ログなどを収集する。そして、管理サーバ110は収集したそれらの情報をディスプレイ115等の出力装置に出力してストレージ管理者に提示する。また、管理サーバは、キーボードやマウス等の入力装置114を介してストレージ管理者からの指示を受信し、受信した運用・保守指示をインタフェース制御部116を介して各機器に送信する。
ストレージ130は、1つ以上のポート131と、1つ以上の制御プロセッサ132と、各々制御プロセッサ132に接続される1つ以上のメモリ133と、1つ以上の不揮発メモリ134と、1つ以上の制御メモリ135と、1つ以上のポート136と、各々ポート136に接続される1台以上のディスク装置137と、インタフェース制御部138を内部結合網で接続した構成をとる。
制御プロセッサ132は、ポート131から受信した入出力要求についてアクセス対象デバイスを特定し、当該デバイスが対応するディスク装置137や外部ストレージ150内デバイスへの入出力要求を処理する。その際、制御プロセッサ132は受信した入出力要求に含まれるポートIDおよびLUN(Logical Unit Number)からアクセス対象のデバイスを特定する。なお本実施例では、ポート131としてSCSI(Small Computer System Interface)を上位プロトコルとしたファイバチャネルインタフェースに対応したポートを想定しているが、SCSIを上位プロトコルとしたIPネットワークインタフェース(例えば、iSCSI)など、他のストレージ接続用ネットワークインタフェースに対応したポートであっても構わない。
本実施例のストレージ130は次のようなデバイス階層を有する。まず、ディスク装置137複数台または不揮発メモリ134常置領域の複数領域による記憶装置アレイが構成され、この記憶装置アレイは制御プロセッサ132によって1つの物理デバイスとして管理される。さらに、本発明の制御プロセッサ132では、ストレージ130内に搭載した物理デバイスに対して直接論理デバイスを割り当てる(即ち、制御プロセッサ132は物理デバイスと論理デバイスとを対応づける)。論理デバイスはストレージ130内で管理され、その番号はストレージ130毎に独立管理される。論理デバイスは、各ポート131に割り当てられたLUNに対応付けられ、ストレージ130のデバイスとしてホスト計算機100に提供される。即ち、ホスト計算機が認識するのはストレージ130の論理デバイスであり、ホスト計算機100は論理デバイスに対応するポート131のLUNを用いて、ストレージ130に格納されているデータにアクセスする。なお、本実施例では、制御プロセッサ132は外部ストレージ150の論理デバイスを外部デバイスとして管理し、ストレージ130のデバイスとして仮想化する外部ストレージ接続方法を有する。この外部ストレージ接続を用いて取り込んだ外部デバイスは、物理デバイスと同様に、その1つ以上を同ストレージ130の論理デバイスと直接対応づけられる。なお、外部デバイスも各ストレージ130内で独立管理される。また、本実施例では、論理デバイスを拡張ボリューム技術、すなわち、更新アクセス部分に対して動的に物理記憶領域を追加割り当て可能な仮想ボリューム管理技術を適用することもできる。その場合、物理デバイス又は外部デバイスに対してプールボリュームを割り当て、さらにプールボリュームに対応させて拡張ボリュームを定義して、当該拡張ボリュームに論理デバイスを割り当てる。ここで、拡張ボリュームとは拡張ボリューム技術を用いた仮想的なデバイスであり、論理デバイスと1対1で対応する。プールボリュームとは拡張ボリュームに動的に割り当てる物理記憶領域を管理する仮想的なデバイスである。本実施例では、簡単のため、プールボリュームは1つの物理デバイス又は外部デバイスに対応させるが、1つのプールボリュームを複数の物理デバイスや外部デバイスで構成してもかまわない。以上のようなデバイス階層を実現するため、制御プロセッサ132は、論理デバイス、拡張ボリューム、プールボリューム、物理デバイス、ディスク装置137、不揮発メモリ134の常置領域、外部デバイス、外部ストレージ150の論理デバイス、それぞれのデバイスの間の対応関係を管理し、論理デバイスに対するアクセス要求をディスク装置137、不揮発メモリ134の常置領域、外部ストレージ装置150の論理デバイスへのアクセス要求へ変換し、適当なデバイスへ送信する処理を行う。尚、前述の通り、本実施例におけるストレージ130は、複数のディスク装置137または不揮発メモリ136常置領域の複数領域をまとめて1つまたは複数の物理デバイスを定義し(即ち複数のディスク装置137または不揮発メモリ136常置領域の複数領域をまとめて1つ又は複数の物理デバイスと対応付け)、1つの物理デバイスに1つの論理デバイス又は1つのプールボリュームを割り当てて、ホスト計算機100に提供する。しかしもちろん、個々のディスク装置137または不揮発メモリ136常置領域の一領域を1つの物理デバイスおよび1つの論理デバイス又はプールボリュームとしてもよい。
また、制御プロセッサ132は、デバイスに対する入出力処理以外にも、データ複製やデータ再配置など、デバイス間のデータ連携を実現する各種処理を実行する。
また、制御プロセッサ132は、インタフェース制御部138を介して接続される管理端末140にストレージ管理者へ提示する構成情報を送信し、管理者から管理端末140に入力された保守・運用指示を管理端末140から受信してストレージ130の構成変更などを行う。
不揮発メモリ134は、一時領域と常置領域に区分して利用される。一時領域は、ホスト計算機100からのアクセス要求に対する処理速度を高めるため、ディスク装置137から頻繁に読み出されるデータを予め格納しておいたり、ホスト計算機100から受信したライトデータを一時的に格納したりする。尚、不揮発メモリ134一時領域を用いたライトアフタを行う場合、即ちホスト計算機100から受信したライトデータが不揮発メモリ134一時領域に格納された後、ディスク装置137に実際に書き込まれる前にホスト計算機100に対しライト要求に対する応答を返す場合には、不揮発メモリ134一時領域に格納されているライトデータがディスク装置137に書き込まれる前に消失することを防止するために、不揮発メモリ134を媒体障害への耐性向上のため二重化したりするなど、可用性を向上させておくことが望ましい。一方、常置領域は、ディスク装置137と同様にホスト計算機100データを最終的に格納しておくために用いられる。よって、ビットコストおよびI/O処理性能の高速化のため、一時領域は単純に二重化することで小容量だが高速アクセスを実現し、常置領域はディスク装置137のようにRAID5などの冗長アレイ構成を採用することで、比較的低速アクセスだが大容量低コストな記憶領域を提供することが望ましい。なお、本発明では、簡単のため、不揮発メモリ134常置領域は規定サイズの小領域毎に識別番号を振られて管理され、常置領域の全領域に物理デバイスが定義されているとする。
図20に、不揮発メモリ134の実装例を示す。不揮発メモリ134は、それぞれに複数のスイッチ2001と複数のメモリパッケージ2002を搭載する。メモリパッケージ2002には複数の不揮発なメモリモジュール2004と当該メモリモジュール2004へのアクセスを制御するメモリコントローラ2003が搭載される。メモリコントローラ2003はスイッチ2001と内部結合網を介してストレージ130内の他コンポーネントと結合し、メモリアクセスやデータ転送を実施する。
制御メモリ135は、前述のデバイス階層を実現するための各デバイスの属性やデバイス間の対応関係を管理するための制御情報や、不揮発メモリ134一時領域上に保持したディスク反映済み又は未反映データを管理するための制御情報などを格納する。制御メモリ135に格納されている制御情報が消失すると、ディスク装置137または不揮発メモリ134常置領域に格納されているデータへアクセスできなくなるため、制御メモリ135はバッテリバックアップなどにより不揮発化したり、媒体障害への耐性向上のため二重化したりするなど、高可用化のための構成を有することが望ましい。
ストレージ130内の各部位は第1図で示すとおり、内部結合網で接続され、各部位間でのデータ、制御情報、及び構成情報の送受信を実行する。この内部結合網により、制御プロセッサ132同士が、ストレージ130の構成情報を共有、管理することができる。なお、可用性向上の観点から内部結合網も多重化されていることが望ましい。
管理端末140は、CPU142、メモリ143、記憶装置144、ストレージ130と接続されるインタフェース制御部141、IPネットワーク175と接続されるインタフェース制御部147、ストレージ管理者からの入力を受け付ける入力装置145及びストレージ管理者にストレージ130の構成情報や管理情報を出力するディスプレイ146等の出力装置を有する。CPU142は記憶装置144に格納されているストレージ管理プログラムをメモリ143に読み出して、これを実行することにより、構成情報の参照、構成変更の指示、特定機能の動作指示などを行い、ストレージ130の保守運用に関して、ストレージ管理者もしくは管理サーバ110とストレージ130間のインタフェースとなる。なお、管理端末140を省略して、ストレージ130を直接管理サーバ110へ接続し、ストレージ130を管理サーバ110で動作する管理ソフトウェアを用いて管理してもよい。
外部ストレージ150は、ファイバチャネルスイッチ120を介してストレージ130のポート131と接続される一又は複数のポート151、制御プロセッサ152、メモリ153、ディスクキャッシュ154、一又は複数のディスク装置156及び各々ディスク装置156に接続される一又は複数のポート155を有する。制御プロセッサ152はメモリ153に格納されているプログラムを実行することにより、ポート151から受信したディスク装置156への入出力要求を処理する。本実施形態では外部ストレージ150を、制御メモリを有さず、ストレージ130より小規模な構成のストレージとしたが、ストレージ130と同じ構成を有する同規模のストレージとしてもよい。
なお、本実施例では図1に示すようにストレージ装置130のポート131と外部ストレージ150のポート151とをファイバチャネルスイッチ120を介して接続するため、ホスト計算機100から外部ストレージ150への直接アクセスを抑止するよう、ファイバチャネルスイッチ120のゾーニングを設定することが望ましい。また、ファイバチャネルスイッチ120を介さずにポート131とポート151を直接接続してもかまわない。
次に、本発明の実施例におけるストレージ130のソフトウェア構成について説明する。図2はストレージ130および管理サーバ110の制御メモリおよびメモリに格納される、制御情報とストレージ制御処理のためのプログラムの一例を示したソフトウェア構成図である。
ストレージ130の構成管理情報としては、制御メモリ135に論理デバイス管理情報201とLUパス管理情報202と物理デバイス管理情報203と外部デバイス管理情報204とキャッシュ管理情報205と不揮発メモリ管理情報206と拡張ボリューム管理情報207とプールボリューム管理情報208とデバイス稼動情報209がある。これらの情報は情報消失を防ぐため本実施例では制御メモリ135に格納されている。これらの制御情報は制御プロセッサ132から参照・更新可能であるが、その際に相互接続網を介したアクセスが必要となる。よって、処理性能向上のため、各制御プロセッサ132で実行される処理に必要な制御情報の複製をメモリ133に保持してもよい。また、制御端末140や管理サーバ110にもストレージ130の構成情報は送信され保持されている。管理サーバ110もしくは管理端末140がストレージ管理ソフトウェアもしくはストレージ管理者からの指示を受けてストレージ130の構成を変更した場合や、ストレージ130内各部位が障害・自動交替などによって構成が変化した場合に、制御プロセッサ132のうちの一つが制御メモリ135内の該当構成情報を更新する。そして、制御プロセッサ132は制御情報が構成変更により更新された旨を、相互接続網を介して他制御プロセッサ132、管理端末140、管理サーバ110に通知し、最新情報を制御メモリ135から他部位のメモリへ取り込ませる。
また、外部ストレージ150は、ストレージ130と同様、自装置内部の論理デバイスや物理デバイスのデバイス管理やデータ管理のために、論理デバイス管理情報251、LUパス管理情報252、物理デバイス管理情報253、キャッシュ管理情報254を保持する。これらの内容は、ストレージ130の同名情報と同じ目的で用いられる。
さらに、管理サーバ110は、ストレージ130や外部ストレージ150から収集したデバイス管理情報の複製や各ストレージの属性を示すストレージ管理情報232をメモリ112に保持している。これらの情報はデータ消失を避けるために、管理サーバ110に搭載した記憶装置113に保持してもよい。
次に各管理情報について説明する。第一に、論理デバイス管理情報201について説明する。図3に論理デバイス管理情報201の一例を示す。論理デバイス管理情報201は、各論理デバイスにつき、論理デバイス番号301からデータ移行中フラグ310までの情報組を保持する。論理デバイス番号301には、論理デバイスを識別するために論理デバイスに制御プロセッサ132が割り当てた番号が格納されている。サイズ302には、論理デバイス番号301により特定される論理デバイスの容量が格納されている。対応下位デバイス番号303には、当該論理デバイスに対応づけられている物理デバイス、外部デバイス、又は拡張ボリュームの番号、すなわちそれぞれの管理情報である物理デバイス管理情報203、外部デバイス管理情報204、又は拡張ボリューム管理情報207のエントリ番号が格納される。本実施例では論理デバイスと物理デバイス/外部デバイス/拡張ボリュームは1対1対応とするが、複数の物理デバイス又は外部デバイスを結合して一つの論理デバイスを形成する場合には、論理デバイス管理情報201に各論理デバイスが対応する物理/外部デバイスの番号リストとその数を格納するエントリが必要となる。なお、論理デバイスが未定義の場合、対応下位デバイス番号303には無効値が設定される。タイプ304には、当該論理デバイスのデバイスタイプ識別情報が格納される。ストレージ130は、キャッシュ上でのデータ管理単位やデバイス管理情報の格納形態(ディスク空間への管理情報格納有無や格納形態など)などの異なる複数のデバイスタイプの論理デバイスを定義することができ、各論理デバイスがどのデバイスタイプであるかをタイプ304で保持する。
デバイス状態305には、当該論理デバイスの状態を示す情報が設定される。状態としては、「アタッチド」、「デタッチド」、「未実装」、「ブロックド」が存在する。「アタッチド」は、当該論理デバイスが正常に稼動し、1つ以上のポート131にLUパス定義され、ホスト計算機100からアクセスできる状態であることを示す。「デタッチド」は、当該論理デバイスは定義され、正常に稼動しているが、LUパスが未定義であるなどの理由で、ホスト計算機100からはアクセスできない状態にあることを示す。「未実装」は、当該論理デバイスが物理デバイス又は外部デバイス又は拡張ボリュームに対して定義されておらず、ホスト計算機100からアクセスができない状態にあることを示す。「ブロックド」は、当該論理デバイスに障害が発生してホスト計算機100からアクセスできないことを示す。デバイス状態305の初期値は「未実装」であり、論理デバイス定義処理により「デタッチド」に、更にLUパス定義処理により「アタッチド」に変更される。
エントリ307のポート番号には、当該論理デバイスが複数のポート131のうちどのポートにLUN定義されているかを表す情報、即ち当該論理デバイスにアクセスするために用いられるポート131の識別情報が設定される。ここでポート131の識別情報とは、各ポート131に割り振られているストレージ130内で一意な番号である。また、同エントリ307に格納されるターゲットIDとLUNは、当該論理デバイスを識別するための識別子である。本実施例においては、論理デバイスを識別するための識別子として、SCSI上でホスト計算機100からデバイスをアクセスする場合に用いられるSCSI−IDとLUNが用いられる。エントリ307は、当該論理デバイスに対するLUパス定義が実行された際に情報が設定される。接続ホスト名308は、当該論理デバイスへのアクセスが許可されているホスト計算機100を識別するホスト名である。ホスト名としては、ホスト計算機100のポート107に付与されたWWN(World Wide Name)など、ホスト計算機100もしくはポート107を一意に識別可能な値であれば何を用いてもよい。同ストレージ130には、このほかに、各ポート131のWWNなどポートの属性に関する管理情報を保持する。当該エントリ308は、ストレージ管理者によって論理デバイス定義時に設定される。移行中の下位デバイス番号308には、当該論理デバイスが現在対応している物理デバイス/外部デバイス/拡張ボリュームから別の物理デバイス/外部デバイス/拡張ボリュームへ移行中である場合、移行先のデバイス番号が格納される。当該論理デバイスがデータ移行中の場合、データ移行中フラグ310に「ON」が格納され、データ移行進捗ポインタ309にデータ移行が完了した最後の領域を示すアドレス情報が格納される。なお、エントリ308と309はデータ移行中フラグ310が「ON」の時のみ有効となる。
第二に、LUパス管理情報202について説明する。図4は、LUパス管理情報202の一例である。LUパス管理情報202は、ストレージ130内の各ポート131について、各ポートに定義されている有効なLUN分の情報を保持する。ターゲットID/LUN402エントリには、ポート131に定義された(割り当てられた)LUNが格納される。対応論理デバイス番号403には、当該LUNが割り当てられている論理デバイスの番号が格納される。接続ホスト名404は、当該ポート131に定義されている当該LUNに対してアクセスを許可されているホスト計算機100を示す情報が格納され、ホスト計算機100を示す情報としては例えば上述のホスト計算機100のポート107に付与されているWWNが用いられる。尚、一つの論理デバイスに対して複数のポート131のLUNが定義され(割り当てられ)ており、複数のポート131から当該論理デバイスにアクセスできる場合がある。この場合、当該複数のポート131のLUN各々に関するLUパス管理情報202の接続ホスト名404の和集合が、当該論理デバイスに関する論理デバイス管理情報201の接続ホスト名308に保持される。
第三に、物理デバイス管理情報203について説明する。物理デバイス管理情報203は、ストレージ130内の1台以上のディスク装置137または不揮発メモリ134常置領域の1つ以上の領域から構成される物理デバイスの管理に用いられる。図5は、物理デバイス管理情報203の一例である。各ストレージ130は、自装置内に存在する物理デバイス毎に、物理デバイス番号501からディスク/メモリ内サイズ、オフセット507の情報組を保持する。物理デバイス番号501には、物理デバイスを識別するための識別番号が登録される。サイズ502には、物理デバイス番号501により特定される物理デバイスの容量が格納されている。対応上位デバイス番号503には、当該物理デバイスが対応付けられている論理デバイス又はプールボリューム番号が当該論理デバイス又はプールボリュームが定義される契機に格納される。当該物理デバイスが論理デバイス又はプールボリュームへ割り当てられていない場合、エントリ503には無効値が設定される。デバイス状態504には、当該物理デバイスの状態を示す情報が設定される。状態としては、「アタッチド」、「デタッチド」、「未実装」、「ブロックド」が存在する。「アタッチド」は、当該物理デバイスが正常に稼動し、論理デバイス又はプールボリュームに割り当てられている状態を示す。「デタッチド」は、当該物理デバイスは定義され、正常に稼動しているが、論理デバイス又はプールボリュームに未割り当てであることを示す。「未実装」は、当該物理デバイス番号に対する物理デバイスがディスク装置137上に定義されていない状態にあることを示す。「ブロックド」は、当該物理デバイスに障害が発生してアクセスできない状態であることを示す。デバイス状態504の初期値は「未実装」であり、物理デバイス定義処理により「デタッチド」に、さらに論理デバイスが定義された契機で「アタッチド」に変更される。RAID構成505には、当該物理デバイスが割り当てられたディスク装置137または不揮発メモリ134常置領域のRAIDレベル、データディスク装置/メモリ領域とパリティディスク装置/メモリ領域数、データ分割単位であるストライプのサイズなどRAID構成に関連する情報が保持される。ディスク/メモリ番号リスト506には、当該物理デバイスが割り当てられたRAIDを構成する複数のディスク装置137または不揮発メモリ134常置領域の複数領域の各々の識別番号が保持される。このディスク装置137および不揮発メモリ134常置領域の複数領域の識別番号は、ストレージ130内でディスク装置137および不揮発メモリ134常置領域の複数領域を識別するために付与した一意な値である。ディスク/メモリ内サイズ/オフセット507は、当該物理デバイスが各ディスク装置137または不揮発メモリ134常置領域の特定領域内のどの領域に割り当てられているかを示す情報である。本実施例では簡単のため、全物理デバイスについて、RAIDを構成する各ディスク装置137または不揮発メモリ134常置領域の特定領域内のオフセットとサイズが同一であるとする。
第四に、外部デバイス管理情報204について説明する。外部デバイス管理情報204は、ストレージ130に接続された外部ストレージ150の論理デバイスを外部デバイスとして管理するために用いられる。図6は、外部デバイス管理情報204の一例である。ストレージ130は、ストレージ130で管理する外部デバイス毎に、外部デバイス番号601からターゲットポートID/ターゲットID/LUNリスト608までの情報組を保持する。外部デバイス番号601には、ストレージ130の制御プロセッサ132が当該外部デバイスに対して割り当てた、ストレージ130内で一意な値が格納される。サイズ602には、外部デバイス番号601により特定される外部デバイスの容量が格納される。対応上位デバイス番号603には、当該外部デバイスが対応付けられているストレージ130内の論理デバイス又はプールボリュームの番号が登録される。デバイス状態604には、物理デバイス管理情報203のデバイス状態504と同様に、当該外部デバイスの状態が設定される。なお、ストレージ130は初期状態では外部ストレージ150を接続していないため、デバイス状態604の初期値は「未実装」となる。ストレージ識別情報605には、当該外部デバイスを搭載する外部ストレージ150の識別情報を保持する。識別情報としては、同ストレージのベンダ識別情報と各ベンダが一意に割り振る製造シリアル番号の組み合わせ、などが考えられる。外部ストレージ内デバイス番号606には、当該外部デバイスに対応する外部ストレージ150の論理デバイスについて、外部ストレージ150内で割り振られた識別番号、すなわち論理デバイス番号が格納される。イニシエータポート番号リスト607には、当該外部デバイスへアクセス可能なストレージ130のポート131の識別番号が登録される。複数のポート131から当該外部デバイスへアクセスできる場合には、複数のポート識別番号が登録される。ターゲットポートID/ターゲットID/LUNリスト608には、当該外部デバイスが外部ストレージ150の1つ以上のポート151にLUN定義されている場合、それらのポート151のポートIDおよび当該外部デバイスが割り当てられたターゲットID/LUNが1つ又は複数個保持される。なお、ストレージ装置130の制御プロセッサ132が外部デバイスにアクセスする場合(制御プロセッサがポート131から外部デバイスに対する入出力要求を送信する場合)には、当該外部デバイスが属する外部ストレージ150によって当該外部デバイスに割り当てられたターゲットID及びLUNが、当該外部デバイスを識別するための情報として用いられる。
第五に、拡張ボリューム管理情報207について説明する。本実施の形態では、拡張ボリュームとは定義時には物理記憶領域を割り当てられず、ホスト計算機などからの更新アクセスに応じて、アクセス部分に対応する物理記憶領域としてプールボリュームの記憶領域を動的に追加割り当てしていく仮想ボリュームのことである。本情報は、この拡張ボリュームと論理デバイスおよびプールボリュームとの対応関係を管理するのに用いられる。
図7は、拡張ボリューム管理情報207の一例である。ストレージ130は、全ての拡張ボリューム毎に、拡張ボリューム番号701から実領域割当総量707までの情報組を保持する。拡張ボリューム番号701には、ストレージ130の制御プロセッサ132が当該拡張ボリュームに対して割り当てた、ストレージ130内で一意な値が格納される。サイズ702には、拡張ボリューム番号701により特定される拡張ボリュームのホスト計算機からの見掛けの容量が格納される。対応論理デバイス番号703には、当該拡張ボリュームが対応付けられているストレージ130内の論理デバイスの番号が登録される。ボリューム状態704には、物理デバイス管理情報203の同名の情報と同様に、当該拡張ボリュームの状態が設定される。なお、本実施例では、ボリューム状態704の初期値は「未実装」となる。対応プール番号リスト705には、当該拡張ボリュームの物理記憶領域を格納する全てのプールボリュームの番号が保持される。プールエントリ対応管理情報706には、拡張ボリュームがホスト計算機に提供する記憶空間と対応するプールボリューム内の物理記憶領域との対応を示す情報が格納される。拡張ボリュームが定義されたばかりの初期状態では、当該ボリュームには物理記憶領域が割り当てられていないため、当該ボリュームの全記憶領域は未割り当て状態である。ホスト計算機などから当該拡張ボリュームに対応する論理デバイスへの更新アクセスがあると、拡張ボリューム内のアクセス対象位置が算出され、該当する記憶領域エントリへのプールボリューム記憶領域の割り当て有無がチェックされる。アクセス対象記憶領域に対する物理記憶領域が未割り当ての場合、対応プール番号リスト705で示される1つ以上のプールボリュームから適当な記憶領域が選定され、拡張ボリュームのアクセス対象領域の物理記憶領域として割り当てられる。最後の実領域割当総量707には、当該拡張ボリュームに対して物理記憶領域を割り当てた総容量を格納する。
第六に、プールボリューム管理情報208について説明する。本発明では、プールボリュームとは拡張ボリュームの物理記憶領域として割り当てられる記憶領域を提供・管理する仮想的なボリュームのことである。本情報は、このプールボリュームと拡張ボリュームおよび物理/外部デバイスとの対応関係を管理するのに用いられる。
図8にプールボリューム管理情報208の一例を示す。ストレージ130は、全てのプールボリューム毎に、プールボリューム番号801から対応拡張ボリューム番号リスト808までの情報組を保持する。プールボリューム番号801には、ストレージ130の制御プロセッサ132が当該プールボリュームに対して割り当てた、ストレージ130内で一意な値が格納される。サイズ802には、プールボリューム番号801により特定されるプールボリュームの容量が、空き容量803には、拡張ボリュームへ未割り当てな記憶領域の総容量が格納される。ボリューム状態804には、拡張ボリューム管理情報207の同名の情報と同様に、当該プールボリュームの状態が設定される。物理/外部デバイス番号805には、当該プールボリュームが割り当てられた物理/外部デバイスの番号が保持される。プールエントリサイズ806には、当該プールボリュームの記憶領域を拡張ボリュームの物理記憶領域として割り当てる際の割り当て単位(エントリ)の大きさを示す情報を格納する。拡張ボリュームの記憶領域は対応するプールボリュームのエントリサイズで複数のエントリに分割され、拡張ボリュームの各エントリとプールボリュームの各エントリとの対応状態が、プールエントリ割当状態管理情報807に保持される。対応拡張ボリューム番号リスト808には、当該プールボリュームの記憶領域を物理記憶領域として割り当てた1つ以上の拡張ボリュームの番号が保持される。
第七に、デバイス稼動情報209について説明する。本実施の形態では、各論理デバイス毎にホスト計算機100からのI/O頻度やデータ長またはアクセス範囲の局所性・連続性などを採取する。本情報に基づいて、各論理デバイスに対応する物理デバイス又は外部デバイスへのキャッシュメモリ、すなわち不揮発メモリ134一時領域の必要量を算出する。
本実施例では、ストレージ130は上記の7つのデバイス/ボリューム管理情報を用いて、デバイス/ボリュームを管理する。当該ストレージ130の初期状態としては、当該装置が工場出荷時に既に各ディスク装置137および不揮発メモリ134の常置領域に物理デバイスが定義され、論理デバイス、外部デバイス、拡張ボリューム、プールボリュームはそれぞれ未定義である。また、ユーザ又はストレージ管理者はストレージ130を導入時に同ストレージ130に接続した外部ストレージ150の論理デバイスを外部デバイスとして定義し、これら物理デバイスおよび外部デバイス上に論理デバイスやプールボリュームを定義し、プールボリュームの場合は更に拡張ボリュームや論理デバイスを定義し、当該論理デバイスについて各ポート131にLUNを定義する。
また、ストレージ130は制御メモリ135に、不揮発メモリ134および不揮発メモリ134に割り当てた一時領域を管理するために、不揮発メモリ管理情報206およびキャッシュ管理情報205を保持する。不揮発メモリ134管理情報は、搭載した不揮発メモリ134が提供するメモリ空間の各領域の割当状況、すなわち一時領域または常置領域のどちらかに割り当て済みかまたは未割当かを示す情報を保持する。キャッシュ管理情報205は、不揮発メモリ134一時領域の領域管理情報や、物理デバイスまたは外部デバイスのアドレス空間のどのデータがどの一時領域に格納されているかを示すヒットミス判定情報などで構成される。一時領域の管理方法として、例えば、一時領域を規定サイズの小領域(セグメント)に分割し、各セグメント毎に物理デバイスまたは外部デバイスのアドレス空間との対応情報を保持し、各セグメントが保持する情報がデバイスへ未反映(ダーティ)か、反映済み(クリーン)かを示す情報を保持するなどが考えられる。
次に、再び図2に戻り、ストレージ130、外部ストレージ150、管理サーバ110のメモリ133、153、112に格納されるプログラムついて説明する。各メモリには上述の制御情報の複製に加えて、これらの各部位内の制御プロセッサ132、152やCPU111で動作するプログラムが格納される。
本実施例では、ストレージ130の不揮発メモリ134一時領域の割当処理と、それに付随した物理デバイス割当処理、デバイス定義処理について説明する。また、後述する第2の実施例では、当該一時領域の割当変更処理と、それに付随したデバイス移行処理について説明する。これらの処理は、ユーザ又はアプリケーションからの要求に対して、管理サーバ110、ストレージ130、外部ストレージ150が連携して実行する。
まず、不揮発メモリ134一時領域の割当処理に対応して、管理サーバ110には一時領域定義指示処理243がメモリ112に、ストレージ130には一時領域割当処理224および物理デバイス定義処理226がメモリ133にそれぞれ格納される。
図9は、管理サーバ110で実行される一時領域定義指示処理243の処理フローの一例を示す図である。管理サーバ110は、デバイス管理情報の複製231内の情報に基づいてストレージ130の不揮発メモリ134に割り当てなければならない一時領域の容量を算出する(ステップ901)。より具体的には、物理デバイス管理情報203や外部デバイス管理情報204から物理/外部デバイスの容量を算出し、またデバイス管理情報209から各論理デバイスに対応する物理/外部デバイスのアクセス特性(頻度、局所性など)を得て、それに基づいた一時領域必要量を算出する。例えば、アクセス頻度と局所性から一時領域割当容量に対するキャッシュヒット向上率を推定し、各論理デバイスに期待される性能が達成されるよう制御する方法などが考えられる。これらの一時領域の容量算出には様々なアルゴリズムが存在する。特定のアルゴリズムに基づいて一時領域必要量を算出したら、ストレージ130に対して、不揮発メモリ134への一時領域割当を指示する(ステップ902)。一時領域の割当が完了したら、次に不揮発メモリ134のうち、一時領域としても常置領域としても割り当てられていない領域(以下、未割当領域と呼ぶ)の量および比率を算出し、これらが規定レベルを超えている場合、超過分の不揮発メモリ134を常置領域として定義して物理デバイスを定義するよう、ストレージ130へ指示する(ステップ903)。この結果、超過分の不揮発メモリ134が物理デバイスとしてストレージ130が管理する空きデバイスとして算入される。
図10は、ストレージ130で実行される一時領域割当処理224の処理フローの一例を示す図である。管理サーバ110からの一時領域割当指示を受信したストレージ130の制御プロセッサ132は、不揮発メモリ管理情報206に基づいて、指示された容量分の不揮発メモリ134未割当領域を選定し、当該未割当領域を一時領域へ変更する(ステップ1001,1002)。さらに、新規に割り当てた当該一時領域をセグメントに分割管理するよう、キャッシュ管理情報205へ登録する(ステップ1003)。ここで、制御プロセッサ132は、制御メモリ135に対して、登録する。制御プロセッサ132がメモリ133にもキャッシュ管理情報205を有している場合、メモリ133に対しても登録する。
図11は、ストレージ130で実行される物理デバイス定義処理226の処理フローの一例を示す図である。管理サーバ110からの不揮発メモリ134の未割当領域への物理デバイス定義指示を受信したストレージ130の制御プロセッサ132は、不揮発メモリ管理情報206に基づいて、指示された容量分の不揮発メモリ134の未割当領域を選定し、当該未割当領域を常置領域へ変更する(ステップ1101、1102)。さらに、新規に割り当てた当該常置領域へ物理デバイスを定義するよう、制御プロセッサ132は、物理デバイス管理情報203を設定する。具体的には、制御プロセッサ132は、特定の物理デバイスに対応する物理デバイス管理情報203へ、物理デバイスを定義する当該常置領域のサイズと、当該常置領域の識別番号および各領域内のオフセットおよびサイズをそれぞれ登録する。
以上の説明のように、管理サーバ110とストレージ130の連携によって、不揮発メモリ130の一時領域が定義される。次に、こうしたシステム環境におけるストレージ運用管理に伴う通常処理として、論理デバイスの定義処理とI/O処理を例に説明する。
まず論理デバイス定義処理に対応して、管理サーバ110にはデバイス定義指示処理241がメモリ112に、ストレージ130にはデバイス定義処理222がメモリ133にそれぞれ格納される。
図12は、管理サーバ110で実行される、デバイス定義指示処理241の処理フローの一例を示す図である。管理サーバ110は、IPネットワーク175とインタフェース制御部116を介してユーザまたはアプリケーションプログラムからストレージ130の論理デバイス定義要求を受信する(ステップ1201)。当該要求に含まれる情報としては、例えば、ストレージ130の識別情報、論理デバイス番号、アクセス元HBA特定情報(WWNなど)、ポート特定情報(ポート131のポートID、ターゲットID、LUNのリストなど)、デバイス属性情報(通常ボリューム/拡張ボリューム、用途、など)などが考えられる。これらの情報から、まず管理サーバ110は、当該ストレージ130に設定された管理アクセス権設定などから、当該要求が当該ストレージ130の管理アクセス権を持ったユーザ又はホスト計算機100上のアプリケーションプログラムからのものであることを確認して、当該要求の実行可否を判定する。続いて、管理サーバ110は、前記デバイス定義指示に含まれた情報から、当該論理デバイスを通常のボリュームとして定義するか、拡張ボリュームとして定義するかを判定する(ステップ1202)。当該論理デバイスを拡張ボリュームとして割り当てる場合、管理サーバ110は、物理/外部デバイスに対応している全てのプールボリュームの残容量、すなわち拡張ボリュームの物理記憶領域として未割り当てな領域の総容量が規定値以上あれば、既に定義されているプールボリュームのうちの一つに対応した拡張ボリュームを定義させて、当該拡張ボリュームへ当該論理デバイスを割り当てる旨をストレージ130へ指示する(ステップ1203,1204)。管理サーバ110は、容量が十分でなければ、物理/外部デバイスのうち、論理デバイスにもプールボリュームにも未割り当てなデバイス(以下、空きデバイス)をチェックし、該当デバイスがあれば新たなプールボリュームおよび拡張ボリュームを定義して、当該論理デバイスを割り当てる旨をストレージ130へ指示する(ステップ1205)。もし、空きデバイスが無い場合には、管理サーバ110は、当該論理デバイス定義処理のエラーを要求元へ報告する(ステップ1208)。一方、ステップ1202の判定で、当該論理デバイスを拡張ボリュームではなく、通常ボリュームとして定義する場合、空き物理/外部デバイスを検索し、割り当て対象デバイスを決定し、同デバイスへの当該論理デバイス割り当てをストレージ130へ指示する(ステップ1206)。管理サーバ110は、ストレージ130へ指示した後、要求元へ完了報告する(ステップ1207)。
図13は、ストレージ130で実行される、デバイス定義処理222の処理フローの一例を示す図である。まず、ストレージ130は、管理サーバ110から論理デバイス定義要求を受信する(ステップ1301)。この際、管理サーバ110は、IPネットワーク175及び管理端末140を介して、ストレージ130に論理デバイス定義を送信する。制御プロセッサ132は、当該要求を制御メモリ135に格納する。当該要求に含まれる情報としては、管理サーバ110がデバイス定義指示処理241で受信した情報に加えて、通常ボリュームの場合は論理デバイス割り当て対象物理デバイス又は外部デバイス番号などが含まれる。一方、拡張ボリュームの場合は新規に割り当てる拡張ボリューム番号と拡張ボリューム割り当て対象プールボリューム番号か、又は新規に割り当てる拡張ボリューム番号/プールボリューム番号とプールボリューム割り当て対象物理デバイス又は外部デバイス番号などが含まれる。当該論理デバイスが拡張ボリュームの場合制御プロセッサ132は、必要ならば指定された物理デバイス又は外部デバイスに対してプールボリュームを定義し(ステップ1302、1303、1304)、プールボリュームに対して拡張ボリュームを定義する(ステップ1305)。ここで、プールボリューム定義として、具体的には、制御プロセッサ132は、指定されたプールボリューム番号に対応する情報エントリについて、割り当て対象の物理デバイス番号又は外部デバイス番号を物理デバイス番号又は、外部デバイス番号805に設定し、同デバイス管理情報を参照してサイズ802を設定し、空き容量803をサイズ802の値に、ボリューム状態804を「デタッチ」に、対応拡張ボリューム番号リスト808を無効値にそれぞれ初期化する。また、制御プロセッサ132は、プールエントリサイズ806について、ストレージ130で固定の値を用いてもよいし、ユーザからの論理デバイス割り当て指示に同サイズを示す情報を設定してもよい。また、制御プロセッサ132は、プールエントリ割当状態管理情報807を全エントリが拡張ボリュームに未割当となるよう初期化する。また、拡張ボリューム定義として、具体的には、指定された拡張ボリューム番号に対応する拡張ボリューム管理情報207の情報エントリと対応するプールボリュームのプールボリューム管理情報208の情報エントリについて、対応拡張ボリューム番号リスト808に当該拡張ボリューム番号を、ボリューム状態804に「アタッチ」をそれぞれ登録する。さらに、制御プロセッサ132は、サイズ702に当該拡張ボリュームに対応させる論理デバイスのサイズを設定し、対応論理デバイス番号703に無効値を、ボリューム状態704に「デタッチ」を、停止フラグに「On」を、最終起動/停止時間706に現在時刻を、対応プール番号リスト707に当該プールボリューム番号を、実領域割当総量に0をそれぞれ設定する。プールエントリ対応管理情報708には、全エントリが未割当状態となるよう初期化する。次に、制御プロセッサ132は、当該拡張ボリュームに対して当該論理デバイスを定義してから、指定されたポート131に対してLUNパス定義を行い、処理完了を管理サーバ110へ報告する(ステップ1306、1307)。ここで、論理デバイス定義として具体的には、制御プロセッサ132は、対応する論理デバイス管理情報201と拡張ボリューム管理情報207について、対応論理デバイス番号703に当該論理デバイス番号を、ボリューム状態704に「アタッチ」をそれぞれ設定する。さらに、サイズ302とタイプ304に割当指示内容を、対応下位デバイス番号303に当該拡張ボリューム番号を、デバイス状態に「デタッチ」を、エントリ306から309に無効値を、データ移行中フラグ310に「Off」をそれぞれ設定する。また、LUNパス定義として具体的には、制御プロセッサ132は、対応する論理デバイス管理情報201とLUパス管理情報202について、エントリ306、307および402、404に割当指示で指定されたポート情報や接続ホスト計算機100情報をそれぞれ設定する。また、対応論理デバイス番号403に当該論理デバイス番号を設定する。一方、当該論理デバイスが通常ボリュームの場合は、指定された空き物理デバイス又は外部デバイスに対して当該論理デバイスを定義し、LUNパス定義を行い、処理完了を報告する(ステップ1302、1306,1307)。ここで、論理デバイス定義として具体的には、対応する論理デバイス管理情報201と物理デバイス管理情報202又は外部デバイス管理情報203に必要情報を設定する。
次にホスト計算機から論理デバイスに対するI/O処理に対応して、ストレージ130にI/O処理221がメモリ133に格納される。
図19は、ストレージ130で実行される、I/O処理221の処理フローの一例を示す図である。ストレージ130は、ホスト計算機100からのI/O要求を受信する(ステップ1901)。制御プロセッサ132は、I/O要求の種別によって処理を切り分ける(ステップ1902)。
ステップ1902で、制御プロセッサ132がリード要求であると判断した場合、制御プロセッサ132は、キャッシュ管理情報205に基づき、リード対象データのキャッシュヒットミスであるか否かを判定する(ステップ1903)。キャッシュミスの場合はキャッシュ管理情報205を操作して不揮発メモリ一時領域から空きセグメントを割り当てて(ステップ1904)、物理デバイスであるディスク137または外部ストレージ150からステージングしたデータを不揮発メモリ134に格納し(ステップ1905)、ホスト計算機へデータを転送する(ステップ1906)。キャッシュヒットの場合、制御プロセッサ132は、不揮発メモリ134からデータをリードする。
また、ステップ1902で、制御プロセッサ132がI/O要求をライト要求であると判別し、キャッシュミスであるか否かを判別する(ステップ1908)。キャッシュミスの場合、制御プロセッサ132は、空きセグメントを割り当てる(ステップ1909)。ここで、キャッシュミスとは、論理デバイスのあるデータ領域に対して、不揮発メモリ134にセグメントが割り当てられていない状態をいう。その後、制御プロセッサ132は、ホスト計算機からのライトデータを当該セグメントに格納した後(ステップ1910)、物理デバイスまたは外部デバイスなどの常置領域へデステージする(ステップ1911)。一方、ステップ1908で、キャッシュヒットした場合、不揮発メモリ134に常置領域が存在することになるので、該当するアドレスにデータを格納する。
他方、ステップ1902で、制御プロセッサ132がライト要求でもリード要求でもないと判別した場合(例えば、センスコマンドなど)、制御プロセッサ132は、要求された処理を実行する(ステップ1912)。
最後に、処理を実行した制御プロセッサ132は、処理完了をホスト計算機100へ報告し、処理を終了する(ステップ1907)。
本実施例は、上述のように、構成されるので、以下の効果を奏する。仮想ストレージシステムの構成や被仮想化デバイスの容量やアクセス特性に応じて、一時領域容量を決定し、不揮発メモリを一時領域と常置領域それぞれに使い分けることが可能となる。
実施例1では、ストレージ130が管理する物理デバイスおよび外部デバイスの容量やアクセス特性などから一時領域の必要量を算出し、必要分の一時領域を割り当てる方法について説明した。実施例2では、外部ストレージの増減設や各デバイスへのアクセス特性の変化を感知し、一時領域割当量の見直しをかける方法について説明する。
第2の実施例は、図1から図8および図14から図18を用いて説明する。第1と第2の実施例は多くの共通点を持つため、両者の差異についてのみ述べる。
第2の実施例におけるソフトウェア構成は第1の実施例と同様に図2に示される。第2の実施例では、まず、不揮発メモリ134の一時領域の割当変更処理に対応して、管理サーバ110には一時領域変更指示処理244がメモリ112に、ストレージ130には一時領域割当解除処理225とデバイス移行処理223と物理デバイス定義解除処理227がメモリ133にそれぞれ格納される。
図14は、管理サーバ110で実行される、一時領域変更指示処理244の処理フローの一例を示す図である。管理サーバ110のCPU111は、ある時点での不揮発メモリ134に既に割り当てられている一時領域の容量を、キャッシュ管理情報205や不揮発メモリ管理情報206に基づき算出する(ステップ1401)。更に、一時領域割当処理224のステップ1001と同様の方法で、その時点の一時領域割当必要量を算出する(ステップ1402)。これらの値を比較し、両者の差が規定値を超えた場合、CPU111は、一時領域の割当量を制御する。もし、不揮発メモリ134の既割当一時領域の容量が必要量に対して規定値以上の場合(ステップ1403)、解除候補として超過容量分の一時領域を選定する(ステップ1408)。一時領域の選定方法としては、未使用セグメントを多く含む一時領域を選定してもよいし、ダーティデータを格納したセグメントが少ない一時領域を選定してもよい。CPU111は、選定した領域を特定する情報を付加して、ストレージ130に対して特定一時領域の割当解除を指示する(ステップ1409)。なお、このとき、割当を解除する一時領域を選定せず、割当解除が必要な一時領域の容量のみを付加し、ストレージ130で割当を解除する一時領域を決めても良い。特定一時領域の割当が解除されたら、CPU111は、未割当領域となった当該不揮発メモリ134の領域に対して常置領域への設定および物理デバイス定義をストレージ130へ指示する(ステップ1410)。もし、既割当一時領域の容量が必要量に対して規定値より少ない場合、超過容量分に相当する、不揮発メモリ134に定義された物理デバイスを選定し、当該物理デバイスに対応する論理デバイスをディスク装置137に定義された物理デバイス又は外部デバイスに移行するようストレージ130へ指示する(ステップ1405)。移行が完了したら、CPU111は、当該物理デバイスの割当解除をストレージ130へ指示する(ステップ1406)。それが完了したら、管理サーバ110はストレージ130に対して当該未割当領域を一時領域へ割り当てるよう指示する(ステップ1407)。
図15は、ストレージ130で実行される、一時領域割当解除処理225の処理フローの一例を示す図である。は、管理サーバ110からの一時領域割当解除指示を管理端末140を介して、受領する。その後、制御プロセッサ132は、必要に応じて割当解除対象となる不揮発メモリ134の一時領域を選定し(ステップ1501,1502)、割当解除対象となる一時領域について、キャッシュ管理情報205に基づき、ダーティデータの有無すなわち、常置領域へ未反映なホスト更新データを格納したセグメントの有無を確認し、存在すれば、当該未反映データ(ダーティデータ)を対応する物理デバイス又は外部デバイスへデステージする(ステップ1503)。対象となる一時領域の全てのダーティデータのデステージが完了したら、不揮発メモリ管理情報206の対応するエントリを未割当領域を示すよう変更し、対応するキャッシュ管理情報205を全て初期化する(ステップ1504)。
図16は、ストレージ130で実行される、デバイス移行処理223の処理フローの一例を示す図である。制御プロセッサ132は、周期的に本処理を起動し、デバイス移行要求が登録されていないかをチェックする(ステップ1601)。先述の通り、デバイス移行要求は、不揮発メモリ134の一時領域を拡張するために常置領域に定義した物理デバイスに対応する論理デバイスを別の物理デバイスとなるディスク装置137又は外部デバイスに移行する際、登録される。また、後述するように、ストレージ130が構築する、不揮発メモリ134の常置領域、ディスク装置137や外部デバイスといった階層ストレージにおける、データ価値などに基づく、階層間データ移行が必要な際、登録される。デバイス移行要求が登録されていなければ、なにもせず本処理を終了する(ステップ1601)。要求が登録されていた場合、対象論理デバイスが拡張ボリュームか通常ボリュームかで処理を切り分ける(ステップ1602)。当該論理デバイスが通常ボリュームの場合、要求処理が空きデバイスへの移行の場合、移行元論理デバイスのデータを先頭アドレスから順次移行先物理デバイス又は外部デバイスへ移行し、全領域のデータ移行が完了したら、移行元論理デバイスを現在対応している物理デバイス又は外部デバイスから移行先空き物理デバイス又は外部デバイスへ対応づくように、デバイス管理情報を更新する(ステップ1606、1607)。また、要求処理が別の論理デバイスとの入替の場合、移行元/移行先論理デバイスのデータを先頭アドレスから順次不揮発メモリ134一時領域などの別の記憶装置に読み上げ、移行元論理デバイスのデータを移行先論理デバイスへ、移行先論理デバイスのデータを移行元論理デバイスへ入れ替えて、書き込んでいく。当該論理デバイス全領域についてデータ入替が完了したら、移行元論理デバイスと移行先論理デバイスについて、それぞれが対応する物理デバイス又は外部デバイスとの対応関係を入れ替えるよう、デバイス管理情報を更新する(ステップ1604、1605)。
一方、当該論理デバイスが拡張ボリュームの場合、要求処理が別のプールボリュームへの移行処理の場合、制御プロセッサ132は、当該論理デバイスの先頭エントリから順次、対応する拡張ボリュームで実領域が割当済みのエントリを検索し、当該エントリのデータのみを移行先プールボリュームの空きエントリに追記していく。より詳細には、当該拡張ボリュームの対応プールボリュームに移行先プールボリュームを追加し、移行元プールボリュームのエントリから読み上げたデータを移行先プールボリュームの空きエントリを割り当てて書き込み、移行先ボリュームのエントリを当該拡張ボリュームの当該エントリに対応づくように管理情報を更新する。本処理を論理デバイス管理情報の進捗ポインタを用いながら順次実行していき、全領域について移行処理が完了したら、当該拡張ボリュームの対応プールボリュームリストから移行元プールボリューム(当初当該論理デバイスが対応していたプールボリューム)を削除する(ステップ1609、1610)。また、要求処理が別の論理デバイスとの入替指示の場合、制御プロセッサ132は、移行元/移行先論理デバイスの先頭エントリから順に実領域(プールボリュームのエントリ)が割り当てられているエントリを検索し、対象エントリについて相手側のプールボリュームの空きエントリを新規に割り当てて当該エントリのデータを移行していく。この移行処理過程において、移行先/移行元論理デバイスの移行実施エントリ数に大きな差がついてしまうと、一方のプールボリュームの空きエントリ数が枯渇する恐れがある。従って、移行実施エントリ数が移行先/移行元論理デバイスで大きく乖離しないよう、進捗を制御する必要がある。このように全領域の入替処理が完了したら、移行先/移行元論理デバイスとそれぞれのプールボリュームとの対応が入れ替わるようデバイス管理情報を更新する(ステップ1611から1616)。
図17は、ストレージ130で実行される、物理デバイス定義解除処理227の処理フローの一例を示す図である。制御プロセッサ132は、指定された物理デバイスに対応する物理デバイス管理情報203を初期化し、不揮発メモリ134に設定した常置領域と未割当領域との対応を解消する(ステップ1701)。次に当該不揮発メモリ134の常置領域が未割当領域となるよう、不揮発メモリ管理情報206を更新し、処理を終了する(ステップ1702)。
以上の説明のように、管理サーバ110とストレージ130の連携によっ
て、不揮発メモリ134の一時領域の割当状態が変更される。次に、こうしたシステム環境におけるストレージ運用管理に伴う通常処理として、論理デバイスの移行処理を例に説明する。
論理デバイス移行処理に対応して、管理サーバ110にはデバイス移行指示処理242がメモリ112に、ストレージ130にはデバイス移行処理223がメモリ133にそれぞれ格納される。このうち、これまでに説明していないデバイス移行指示処理242について説明する。
図18は、管理サーバ110で実行される、デバイス移行指示処理242の処理フローの一例を示す図である。管理サーバ110は、論理デバイスの中から別の物理デバイス又は外部デバイスに対応する別の論理デバイスとの入替が必要かを判定する(ステップ1801)。具体的には、DLCM(データライフサイクル管理)のように、各論理デバイスに格納されたデータの価値、アクセス頻度やデータの保持期限などに基づいて、ストレージ130が管理する階層ストレージの各階層間でより好適なデータ配置となるよう、デバイス間でのデータ配置を再考する。判定の結果、入替が必要なデバイスが存在した場合(ステップ1802)、管理サーバ110は移行元および移行先デバイスを特定する情報を付加したデバイス入替をストレージ130に指示し(ステップ1803)、入替が完了した時点で当該デバイスの最新情報をストレージ130からメモリ112へ取り込み、デバイス管理情報の複製231を更新する(ステップ1804)。
ステップ1801において、例えば、デバイス単位のアクセス頻度により、データ配置する際、制御プロセッサ132は、デバイス単位あたりのアクセス頻度を記録する。管理サーバ110のCPU111は、このアクセス頻度の情報を取得し、デバイス移行指示処理242に格納されたアルゴリズムに従って、データ再配置を指示する。
次に、データ再配置をデバイス単位ではなくファイル単位で実行する場合について、説明する。図21は、管理サーバ110が有するアドレス変換テーブル2100の一例を示す図である。CPU111は、ホスト計算機から情報を取得することによって、アドレス変換テーブル210を作成することができる。アドレス変換テーブル210を使用することによって、CPU111は、ファイル単位でデータを読み出すことや書込みすることができる。また、このアドレス変換テーブルは、オペレーティングシステム毎に作成される。
図22は、ホスト計算機100のCPU101が管理サーバ110の指示により、実行した結果、収集できる情報の一例を示す図である。ホスト計算機100のCPU101は、各ファイルについて、ファイル名、ファイル生成日時、最終アクセス日時、ファイルサイズ、ファイルアドレスや格納先のLU番号等をそれぞれ収集する。収集した後、CPU101は、管理サーバ110に送信する。この情報のファイル生成日時や最終アクセス日時により、長期間アクセスされなかったファイルをデータ再配置することができる。 上記の実施例2の構成により、実施例1の効果に加えて、システム構成変更やアクセス特性変化に応じて、不揮発メモリの一時/常置領域の割り当てを動的に変更することが可能となる。
以上、本発明の好適な幾つかの実施形態を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
例えば、オープンシステムの替わりにメインフレームシステムにも本発明を適用することができる。
また、例えば、管理サーバ110の機能をホスト計算機100に組み込むこともできる。この場合、管理サーバ110が不要になり、ホスト計算機により、運用と管理の両方をすることができる。また、管理サーバ110は、ストレージ130に対して、指示する場合、管理サーバ110にファイバチャネルスイッチを介して、アウトバンドではなくインバンドで指示を実行することができる。
また、例えば、NASアダプタをストレージシステムに内蔵することができる。図23は、NASアダプタを内蔵したストレージシステムの一例を示す図である。図1との相違点は、ストレージシステム130にNASアダプタ2312が内蔵されていることと、IPスイッチ122が追加されていることである。NASアダプタ2310のプロセッサ2311は、メモリ2312に格納されたオペレーティングシステム又はファイルシステムにより、ホスト計算機からのファイルアクセスをブロックアクセスに変換して、不揮発メモリ134、ディスク137や外部ストレージ150にデータを保存することができる。NASアダプタ2310が内蔵されている場合、ファイル収集情報2200は、プロセッサ2311が収集し、管理端末140を介して、管理サーバ110に送信される。
計算機システムのハードウェア構成の一例を示す図である。 ストレージのソフトウェア構成の一例を示す図である。 論理デバイス管理情報の一例を示す図である。 LUパス管理情報の一例を示す図である。 物理デバイス管理情報の一例を示す図である。 外部デバイス管理情報の一例を示す図である。 拡張ボリューム管理情報の一例を示す図である。 プールボリューム管理情報の一例を示す図である。 実施例1において、管理サーバ110で実行される、一時領域定義指示処理243の処理フローの一例を示す図である。 実施例1において、ストレージ130で実行される、一時領域定義処理224の処理フローの一例を示す図である。 実施例1において、ストレージ130で実行される、物理デバイス定義処理226の処理フローの一例を示す図である。 実施例1において、管理サーバ110で実行される、デバイス定義指示処理241の処理フローの一例を示す図である。 実施例1において、ストレージ130で実行される、デバイス定義処理222の処理フローの一例を示す図である。 実施例2において、管理サーバ110で実行される、一時領域変更指示処理244の処理フローの一例を示す図である。 実施例2において、ストレージ130で実行される、一時領域割当解除処理225の処理フローの一例を示す図である。 実施例2において、ストレージ130で実行される、デバイス移行処理223の処理フローの一例を示す図である。 実施例2において、ストレージ130で実行される、物理デバイス定義解除処理227の処理フローの一例を示す図である。 実施例2において、管理サーバ110で実行される、デバイス移行指示処理242の処理フローの一例を示す図である。 実施例1および2において、ストレージ130で実行される、I/O処理処理221の処理フローの一例を示す図である。 実施例1および2において、ストレージ130に搭載する不揮発メモリ134の構成の一例を示す図である。 実施例2において、管理サーバが保持するアドレス変換テーブルの一例を示す図である。 実施例2において、ホスト計算機100が収集するファイル収集情報の一例を示す図である。 実施例1及び2に共通する変形例での計算機システムのハードウェア構成の一例を示す図である。
符号の説明
100…ホスト計算機
110…管理サーバ
120…ファイバチャネルスイッチ
130…ストレージ
140…管理端末
150…外部ストレージ
175…IPネットワーク
201…論理デバイス管理情報
202…LUパス管理情報
203…物理デバイス管理情報
204…外部デバイス管理情報
205…キャッシュ管理情報
206…不揮発メモリ管理情報
207…拡張ボリューム管理情報
208…プールボリューム管理情報
209…デバイス稼動情報
221…I/O処理
222…デバイス定義処理
223…デバイス移行処理
224…一時領域割当処理
225…一時領域割当解除処理
226…物理デバイス定義処理
227…物理デバイス定義解除処理
261…I/O処理
241…デバイス定義指示処理
242…デバイス移行指示処理
243…一時領域定義指示処理
244…一時領域変更指示処理

Claims (9)

  1. 計算機から送られるデータが格納される1つ以上の不揮発メモリと、
    前記1つ以上の不揮発メモリに接続され、前記不揮発メモリの第1の領域を一時領域として割り当て、前記不揮発メモリの第2の領域を常置領域として割り当てるプロセッサと、を有するストレージシステム。
  2. 請求項1記載のストレージシステムであって、
    前記不揮発メモリを管理する管理サーバによって、前記不揮発メモリのうち、一時的にデータを保存すために必要な一時領域の容量を算出し、前記プロセッサは、当該容量分について一時領域として割り当てる、ストレージシステム。
  3. 請求項2記載のストレージシステムであって、
    前記不揮発メモリのうち、一時領域かつ常置領域として割当てられていない未割当領域の比率を前記管理サーバにより算出し、所定の比率以上の場合、前記プロセッサは、前記不揮発メモリのうち、一部の領域を常置領域となる物理デバイスとして使用するストレージシステム。
  4. 請求項3記載のストレージシステムであって、
    前記管理サーバから論理デバイスを定義する要求を受信した場合、前記プロセッサは、前記物理デバイスの一部を前記要求に従った論理デバイスとして定義し、前記管理サーバに処理完了を通知するストレージシステム。
  5. 請求項4記載のストレージシステムであって、
    前記ホスト計算機から前記論理デバイスに対して、I/O要求を受信した場合、前記プロセッサは、I/O要求の種別を判別し、ライト要求である場合、前記論理デバイスにデータを格納するストレージシステム。
  6. 請求項4記載のストレージシステムであって、
    前記管理サーバから前記一時領域の一部の割当を解除する要求を受領した場合、対象となる前記一時領域の一部に前記物理デバイスに書き込まれていないデータが存在する際、前記書き込まれていないデータを前記デバイスに書き込んだ後、前記一時領域の一部を未割当領域に変更するストレージシステム。
  7. 請求項4記載のストレージシステムであって、
    データを格納する複数のディスクを有し、
    前記管理サーバからデバイスを移行又は入れ替える要求を受けた場合、前記制御プロセッサは、前記論理デバイスのデータを前記複数のディスクから構成される物理デバイスに移行又は入れ替えるストレージシステム。
  8. 請求項4記載のストレージシステムであって、
    前記管理サーバからデバイスを移行する要求を受けた場合、
    前記管理サーバからデバイスを移行又は入れ替える要求を受けた場合、前記制御プロセッサは、前記論理デバイスのデータを他のストレージシステムにある外部デバイスに移行又は入れ替えるストレージシステム。
  9. 請求項4記載のストレージシステムであって、
    前記管理サーバから前記物理デバイスの割当を解除する要求を受けた場合、前記制御プロセッサは、前記物理デバイスを開放し、前記不揮発メモリに設定した常置領域との対応を解消するストレージシステム。
JP2007207357A 2007-08-09 2007-08-09 ストレージシステム Pending JP2009043030A (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP2007207357A JP2009043030A (ja) 2007-08-09 2007-08-09 ストレージシステム
US11/968,747 US8028146B2 (en) 2007-08-09 2008-01-03 Management of temporary and permanent areas in nonvolatile memories of a storage system
EP08250169.3A EP2026188B1 (en) 2007-08-09 2008-01-14 Storage system
CN2008100098945A CN101364164B (zh) 2007-08-09 2008-02-27 存储系统
CN201210239752.4A CN102841761B (zh) 2007-08-09 2008-02-27 存储系统
US13/216,629 US8327110B2 (en) 2007-08-09 2011-08-24 Storage system including a virtual volume, a plurality of disk drives and a plurality of flash memory devices
US13/670,646 US8788786B2 (en) 2007-08-09 2012-11-07 Storage system creating cache and logical volume areas in flash memory
US14/300,318 US20140289459A1 (en) 2007-08-09 2014-06-10 Storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007207357A JP2009043030A (ja) 2007-08-09 2007-08-09 ストレージシステム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2013004350A Division JP5597266B2 (ja) 2013-01-15 2013-01-15 ストレージシステム

Publications (1)

Publication Number Publication Date
JP2009043030A true JP2009043030A (ja) 2009-02-26

Family

ID=39944418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007207357A Pending JP2009043030A (ja) 2007-08-09 2007-08-09 ストレージシステム

Country Status (4)

Country Link
US (4) US8028146B2 (ja)
EP (1) EP2026188B1 (ja)
JP (1) JP2009043030A (ja)
CN (2) CN101364164B (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011159242A (ja) * 2010-02-03 2011-08-18 Fujitsu Ltd ストレージ装置およびデータ格納制御方法
WO2013175529A1 (en) 2012-05-23 2013-11-28 Hitachi, Ltd. Storage system and storage control method for using storage area based on secondary storage as cache area
JP2014515531A (ja) * 2011-05-31 2014-06-30 マイクロン テクノロジー, インク. メモリデバイスにおける動的メモリキャッシュサイズ調節
JP2015520876A (ja) * 2012-04-26 2015-07-23 株式会社日立製作所 情報記憶システム及び情報記憶システムの制御方法
WO2016059715A1 (ja) * 2014-10-17 2016-04-21 株式会社日立製作所 計算機システム
US9454317B2 (en) 2014-01-31 2016-09-27 Kabushiki Kaisha Toshiba Tiered storage system, storage controller and method of substituting data transfer between tiers
CN113841131A (zh) * 2019-05-22 2021-12-24 德州仪器公司 用于在微控制器中提供有限利用运行时间应用控制的系统

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1557074A4 (en) 2002-10-22 2010-01-13 Sullivan Jason ROBUST ADJUSTABLE COMPUTER PROCESSING SYSTEM
KR101611445B1 (ko) 2002-10-22 2016-04-12 제이슨 에이. 설리반 프로세서를 수용하도록 구성된 장치의 비힌지식 용기 및 이를 포함하는 가전 기기
CA2503791A1 (en) 2002-10-22 2004-05-06 Jason A. Sullivan Non-peripherals processing control module having improved heat dissipating properties
US9773033B2 (en) * 2009-05-22 2017-09-26 International Business Machines Corporation Storing and retrieving volumes in a database by volume attributes
US20110302357A1 (en) * 2010-06-07 2011-12-08 Sullivan Jason A Systems and methods for dynamic multi-link compilation partitioning
US9063862B2 (en) * 2011-05-17 2015-06-23 Sandisk Technologies Inc. Expandable data cache
US9727570B2 (en) * 2011-06-03 2017-08-08 Apple Inc. Mount-time unmapping of unused logical addresses in non-volatile memory systems
WO2013061463A1 (ja) * 2011-10-28 2013-05-02 株式会社日立製作所 ストレージシステム、及びオブジェクト管理方法
US8756458B2 (en) 2011-12-12 2014-06-17 Apple Inc. Mount-time reconciliation of data availability
WO2013111305A1 (ja) * 2012-01-26 2013-08-01 株式会社日立製作所 計算機システムおよび記憶制御方法
US8661301B1 (en) * 2012-09-07 2014-02-25 Storart Technology Co. Ltd. Method for dodging bad page and bad block caused by suddenly power off
JP5788369B2 (ja) * 2012-09-12 2015-09-30 株式会社東芝 メモリシステム、コンピュータシステム、およびメモリ管理方法
US9417817B2 (en) 2012-09-26 2016-08-16 Hitachi, Ltd. Management apparatus and management method
US9021219B2 (en) * 2012-12-14 2015-04-28 International Business Machines Corporation Enhancing analytics performance using distributed multi-tiering
US9003087B2 (en) * 2013-03-18 2015-04-07 Hitachi, Ltd. Compound storage system and storage control method
US9250809B2 (en) 2013-03-18 2016-02-02 Hitachi, Ltd. Compound storage system and storage control method to configure change associated with an owner right to set the configuration change
JP2014206884A (ja) * 2013-04-15 2014-10-30 株式会社フィックスターズ 情報処理装置、情報処理方法、およびプログラム
JP6216866B2 (ja) * 2014-03-13 2017-10-18 株式会社日立製作所 ストレージシステムおよびストレージ制御方法
US9632927B2 (en) 2014-09-25 2017-04-25 International Business Machines Corporation Reducing write amplification in solid-state drives by separating allocation of relocate writes from user writes
US10078582B2 (en) 2014-12-10 2018-09-18 International Business Machines Corporation Non-volatile memory system having an increased effective number of supported heat levels
US9779021B2 (en) 2014-12-19 2017-10-03 International Business Machines Corporation Non-volatile memory controller cache architecture with support for separation of data streams
US10175885B2 (en) * 2015-01-19 2019-01-08 Toshiba Memory Corporation Memory device managing data in accordance with command and non-transitory computer readable recording medium
US9588901B2 (en) * 2015-03-27 2017-03-07 Intel Corporation Caching and tiering for cloud storage
TWI561028B (en) * 2015-06-12 2016-12-01 Synology Inc Method for managing a storage system, and associated apparatus
US10296236B2 (en) * 2015-07-01 2019-05-21 Pure Storage, Inc. Offloading device management responsibilities from a storage device in an array of storage devices
US9886208B2 (en) 2015-09-25 2018-02-06 International Business Machines Corporation Adaptive assignment of open logical erase blocks to data streams
CN105260882B (zh) * 2015-11-19 2018-11-30 四川神琥科技有限公司 一种邮件高效处理方法
JP6600752B2 (ja) * 2016-09-13 2019-10-30 株式会社日立製作所 ストレージシステム及びストレージシステムのシステム構築方法
CN106775889B (zh) * 2016-12-28 2020-02-04 武汉斗鱼网络科技有限公司 利用对象池实现Flash播放器资源加载的方法及系统
US10503617B2 (en) * 2017-02-16 2019-12-10 Honeywell International Inc. Method for synchronizing redundant controllers without hardware support
CN107766180B (zh) * 2017-09-22 2020-08-14 成都华为技术有限公司 存储介质的管理方法、装置及可读存储介质
CN112764666B (zh) * 2019-10-21 2024-04-19 伊姆西Ip控股有限责任公司 用于存储管理的方法、设备和计算机程序产品
CN113485981B (zh) * 2021-08-12 2024-06-21 北京青云科技股份有限公司 数据迁移方法、装置、计算机设备和存储介质
KR20230094588A (ko) 2021-12-21 2023-06-28 에스케이하이닉스 주식회사 복수의 존들에 대응하는 데이터를 관리하는 메모리 시스템 및 그 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10154101A (ja) * 1996-11-26 1998-06-09 Toshiba Corp データ記憶システム及び同システムに適用するキャッシュ制御方法
JP2005539309A (ja) * 2002-09-16 2005-12-22 ティギ・コーポレイション 記憶システムアーキテクチャおよび多重キャッシュ装置
JP2006004407A (ja) * 2004-05-03 2006-01-05 Microsoft Corp 不揮発性メモリ・キャッシュの性能改善

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5420998A (en) * 1992-04-10 1995-05-30 Fujitsu Limited Dual memory disk drive
JP3507132B2 (ja) 1994-06-29 2004-03-15 株式会社日立製作所 フラッシュメモリを用いた記憶装置およびその記憶制御方法
US5754888A (en) * 1996-01-18 1998-05-19 The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations System for destaging data during idle time by transferring to destage buffer, marking segment blank , reodering data in buffer, and transferring to beginning of segment
IL139628A0 (en) * 2000-11-12 2002-02-10 Eci Telecom Ltd Data mirroring restoration in a distributed system
JP4175788B2 (ja) 2001-07-05 2008-11-05 株式会社日立製作所 ボリューム制御装置
US7089396B2 (en) * 2002-10-10 2006-08-08 International Business Machines Corporation Method and profiling cache for management of virtual memory
JP4462852B2 (ja) 2003-06-23 2010-05-12 株式会社日立製作所 ストレージシステム及びストレージシステムの接続方法
US20050144389A1 (en) * 2003-12-29 2005-06-30 Trika Sanjeev N. Method, system, and apparatus for explicit control over a disk cache memory
US7136973B2 (en) 2004-02-04 2006-11-14 Sandisk Corporation Dual media storage device
US7802028B2 (en) 2005-05-02 2010-09-21 Broadcom Corporation Total dynamic sharing of a transaction queue
JP4813843B2 (ja) * 2005-08-04 2011-11-09 株式会社日立製作所 ストレージ装置、ディスクキャッシュ制御方法及びディスクキャッシュの容量割当方法
JP4806556B2 (ja) 2005-10-04 2011-11-02 株式会社日立製作所 ストレージシステム及び構成変更方法
JP4896500B2 (ja) 2005-11-14 2012-03-14 株式会社日立製作所 機器停止を伴う仮想ボリューム制御方法
KR100755702B1 (ko) 2005-12-27 2007-09-05 삼성전자주식회사 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 동작방법
JP2007207357A (ja) 2006-02-02 2007-08-16 Canon Inc 光学的情報再生方法及び装置
US7613876B2 (en) * 2006-06-08 2009-11-03 Bitmicro Networks, Inc. Hybrid multi-tiered caching storage system
US7555575B2 (en) * 2006-07-27 2009-06-30 Hitachi, Ltd. Method and apparatus for migrating data between storage volumes of different data pattern
US7949847B2 (en) * 2006-11-29 2011-05-24 Hitachi, Ltd. Storage extent allocation method for thin provisioning storage
US7890691B2 (en) * 2007-09-28 2011-02-15 Intel Corporation Memory cache sharing in hybrid hard disk

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10154101A (ja) * 1996-11-26 1998-06-09 Toshiba Corp データ記憶システム及び同システムに適用するキャッシュ制御方法
JP2005539309A (ja) * 2002-09-16 2005-12-22 ティギ・コーポレイション 記憶システムアーキテクチャおよび多重キャッシュ装置
JP2006004407A (ja) * 2004-05-03 2006-01-05 Microsoft Corp 不揮発性メモリ・キャッシュの性能改善

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011159242A (ja) * 2010-02-03 2011-08-18 Fujitsu Ltd ストレージ装置およびデータ格納制御方法
JP2014515531A (ja) * 2011-05-31 2014-06-30 マイクロン テクノロジー, インク. メモリデバイスにおける動的メモリキャッシュサイズ調節
US9195604B2 (en) 2011-05-31 2015-11-24 Micron Technology, Inc. Dynamic memory cache size adjustment in a memory device
JP2015520876A (ja) * 2012-04-26 2015-07-23 株式会社日立製作所 情報記憶システム及び情報記憶システムの制御方法
US9652159B2 (en) 2012-04-26 2017-05-16 Hitachi, Ltd. Relocating data in tiered pool using multiple modes of moving data
WO2013175529A1 (en) 2012-05-23 2013-11-28 Hitachi, Ltd. Storage system and storage control method for using storage area based on secondary storage as cache area
US9454317B2 (en) 2014-01-31 2016-09-27 Kabushiki Kaisha Toshiba Tiered storage system, storage controller and method of substituting data transfer between tiers
WO2016059715A1 (ja) * 2014-10-17 2016-04-21 株式会社日立製作所 計算機システム
US10154113B2 (en) 2014-10-17 2018-12-11 Hitachi, Ltd. Computer system
CN113841131A (zh) * 2019-05-22 2021-12-24 德州仪器公司 用于在微控制器中提供有限利用运行时间应用控制的系统

Also Published As

Publication number Publication date
US20130067152A1 (en) 2013-03-14
US8028146B2 (en) 2011-09-27
US20090043959A1 (en) 2009-02-12
US8327110B2 (en) 2012-12-04
CN101364164A (zh) 2009-02-11
US20140289459A1 (en) 2014-09-25
EP2026188B1 (en) 2016-05-04
CN102841761A (zh) 2012-12-26
CN102841761B (zh) 2015-12-02
EP2026188A2 (en) 2009-02-18
EP2026188A3 (en) 2011-12-07
US20110307680A1 (en) 2011-12-15
US8788786B2 (en) 2014-07-22
CN101364164B (zh) 2012-08-29

Similar Documents

Publication Publication Date Title
JP2009043030A (ja) ストレージシステム
JP5124103B2 (ja) 計算機システム
JP5595530B2 (ja) データ移行システム及びデータ移行方法
US8347060B2 (en) Storage system, storage extent release method and storage apparatus
US8443160B2 (en) Computer system and data migration method
US20080177947A1 (en) Storage system and storage migration method
US8539142B2 (en) Storage system comprising nonvolatile semiconductor storage media
JP2005275525A (ja) ストレージシステム
JP4896500B2 (ja) 機器停止を伴う仮想ボリューム制御方法
JP2005165702A (ja) クラスタストレージのデバイス連結方法
JP2015517697A (ja) 二次記憶装置に基づく記憶領域をキャッシュ領域として用いるストレージシステム及び記憶制御方法
JP2013531283A (ja) ストレージの仮想化機能と容量の仮想化機能との両方を有する複数のストレージ装置を含んだストレージシステム
JP2009093529A (ja) 仮想ボリュームにおける仮想領域に動的に実領域を割り当てるストレージシステム
US8799573B2 (en) Storage system and its logical unit management method
JP5597266B2 (ja) ストレージシステム

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090127

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090203

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120321

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121113

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130312