[go: up one dir, main page]

JP5802283B2 - ストレージシステム及びその論理ユニット管理方法 - Google Patents

ストレージシステム及びその論理ユニット管理方法 Download PDF

Info

Publication number
JP5802283B2
JP5802283B2 JP2013552759A JP2013552759A JP5802283B2 JP 5802283 B2 JP5802283 B2 JP 5802283B2 JP 2013552759 A JP2013552759 A JP 2013552759A JP 2013552759 A JP2013552759 A JP 2013552759A JP 5802283 B2 JP5802283 B2 JP 5802283B2
Authority
JP
Japan
Prior art keywords
management information
page
access
format
area
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
JP2013552759A
Other languages
English (en)
Other versions
JP2014519062A (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
Publication of JP2014519062A publication Critical patent/JP2014519062A/ja
Application granted granted Critical
Publication of JP5802283B2 publication Critical patent/JP5802283B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、複数の記憶装置の記憶領域上に形成される論理ユニットを管理するためのストレージシステム及びその論理ユニット管理方法に関する。
近年、大規模なデータを取り扱うストレージシステムにおいて、日々増加する大容量のデータを多数のハードディスクドライブ(HDD)に格納するために、ストレージシステム自体の機能を拡張することが行われている。このため。多数のハードディスクドライブの物理的な記憶領域上に形成される論理ボリュームの数を増やすことも行われている。論理ボリュームの数が増加すると、論理ボリュームを管理するための管理情報も増やす必要がある。論理ボリュームの管理情報は、通常、半導体メモリに保存されるが、半導体メモリは容量が小さく高価である。
そこで、論理ボリュームの管理情報を低価格なハードディスクドライブで構成されるRAID(Redundant Array of Inexpensive Disks)に保存し、低価格でストレージシステムの規模の拡大を達成することが行われている(特許文献1参照)。
一方、複数の記憶制御装置を有するストレージシステムの場合、ハードディスクドライブは、各記憶制御装置からアクセスされるため、アクセスの排他が必要となる。コントローラ間の排他制御に関する方法としは、例えば、各コントローラにキャッシュメモリの一部及び論理ボリュームを割り当て、キャッシュメモリに対するコントローラ間の排他制御を無くすようにする方法が提案されている(特許文献2参照)。
特開2008−065706号公報 特開2006−114064号公報
特許文献2では、キャッシュメモリの記憶領域をセグメントに分割して管理する方法を採用しているが、この方法を、RAIDを構成するハードディスクドライブ(HDD)等の記憶デバイスの記憶領域を管理する方法に適用しても、RAIDを構成するハードディスクドライブ(HDD)等の記憶デバイスの記憶領域を特定の管理単位(ページ)で分割して管理する場合、以下の課題が生じる。
例えば、ページ単位で論理ボリュームの管理情報を保存する場合、管理情報がどんなに小さくても、管理情報を保存する記憶領域として、必ず1ページ分の記憶領域の割り当てが管理情報には必要となる。そのため、ページのサイズが大きいときに、小さな管理情報をページ単位の記憶領域に保存すると、無駄な記憶領域が発生する。逆に、管理情報が大きく、ページのサイズが小さいときには、管理情報を保存するためのページの数が増大することになる。
本発明は、前記従来技術の課題に鑑みて為されたものであり、その目的は、フォーマット管理情報を保存する管理情報用ページのサイズを最小にするとともに、管理情報用ページの管理サイズを低減することができるストレージシステム及びその論理ユニット管理方法を提供することにある。
前記目的を達成するために、本発明は、複数の記憶装置の記憶領域に形成される論理ユニットであって、アクセス要求元のアクセス対象となる1又は複数のアクセス対象用論理ユニットがフォーマット済みか否かを管理するためのフォーマット管理情報を格納する管理情報用論理ユニットの領域を、前方ページ領域と後方ページ領域に分けて管理する1又は複数のコントローラを有し、前記コントローラは、前記アクセス対象用論理ユニットに対する前記フォーマット処理の実行時に、前記アクセス対象用論理ユニットの容量を基に前記フォーマット管理情報の容量を算出し、前記算出したフォーマット管理情報の容量と特定容量のページの管理単位との比から、前記フォーマット管理情報を前記管理単位で管理するのに必要な管理情報用ページのページ数を算出し、前記算出した管理情報用ページのページ数に対応する前記フォーマット管理情報のうち一部のフォーマット管理情報を前記前方ページ領域に割り当て、前記算出した管理情報用ページのページ数に対応する前記フォーマット管理情報のうち残りのフォーマット管理情報を前記後方ページ領域に割り当て、前記フォーマット処理の実行結果を前記フォーマット管理情報として、前記前方ページ領域又は前記後方ページ領域に格納することを特徴とする。この際、前記コントローラは、前記前方ページ領域に割り当てられた前記フォーマット管理情報の格納先を前方ページ領域アドレスで管理し、前記後方ページ領域に割り当てられた前記フォーマット管理情報の格納先を後方ページ領域アドレスとページ長で管理することができる。
本発明によれば、フォーマット管理情報を保存する管理情報用ページのサイズを最小にするとともに、管理情報用ページの管理サイズを低減することができる。
通常LUと差分ビットマップテーブルとの関係を説明するための構成図である。 管理情報用LUの構成図である。 コントローラ間でアクセスが競合する処理を説明するための構成図である。 管理単位毎にストライプ列を割り当てた管理情報用LUの構成図である。 計算機システムの全体構成を示す構成図である。 ディスクアレイ装置の内部構成図である。 ローカルメモリの構成図である。 ドライブ管理テーブルの構成図である。 RG管理テーブルの構成図である。 LU管理テーブルの構成図である。 QF管理テーブルの構成図である。 管理情報用仮想メモリ管理テーブルの構成図である。 管理情報用ページ管理テーブルの構成図である。 クイックフォーマット指示を受領したコントローラの処理を説明するためのフローチャートである。 差分ビットマップテーブルを確保するときの処理を説明するためのフローチャートである。 管理情報用仮想メモリ割当処理を説明するためのフローチャートである。 前方ページ領域割当処理を説明するためのフローチャートである。 後方ページ領域割当処理を説明するためのフローチャートである。 RAIDグループ上に配置されたLUに後方ページ領域を割り当てるための処理を説明するための図である。 ポーリングを契機で実行されるQF登録処理を説明するためのフローチャートである。 ジョブ起動処理を説明するためのフローチャートである。 差分ビットマップ更新処理を説明するためのフローチャートである。 次フォーマット領域検索処理を説明するためのフローチャートである。 管理情報用仮想メモリアクセス処理を説明するためのフローチャートである。 仮想メモリアドレスから物理アドレスを算出する処理を説明するためのフローチャートである。 第1の担当コア判定処理を説明するためのフローチャートである。 第2の担当コア判定処理を説明するためのフローチャートである。 リードコマンド処理を説明するためのフローチャートである。 通常リード処理を説明するためのフローチャートである。 クロスコールリード処理を説明するためのフローチャートである。 第2実施例の構成図であって、差分ビットマップテーブルをシンプロビジョニングプールに保存する場合の構成図である。
(発明の概要)
複数の記憶デバイスで構成されたRAID上に、例えば、ユーザボリュームを構築する場合、各記憶デバイスの記憶領域に対してフォーマット処理、例えば、クイックフォーマット処理が、例えば、コントローラによって実行される。
この際、図1に示すように、クイックフォーマット処理の対象となるLUであって、RAID上に構成された通常LU10のうち、フォーマット対象領域12を、1MBのクイックフォーマット管理単位で複数のクイックフォーマット対象領域14に分割し、各クイックフォーマット対象領域14が、フォーマット済か否かを差分ビットマップテーブル16(以下、アクセス対象用論理ユニットを示す通常LU10がフォーマット済みか否かを管理するためのフォーマット管理情報を差分ビットで登録するテーブルを差分ビットマップテーブルと称する。)で管理する。
この場合、クイックフォーマット対象領域14が、フォーマット済であれば、このクイックフォーマット対象領域14に対応した差分ビットマップテーブル16に「0」を格納し、クイックフォーマット対象領域14が、未フォーマット状態にある場合には、このクイックフォーマット対象領域14に対応した差分ビットマップテーブル16に「1」を格納する。
即ち、各クイックフォーマット対象領域14が、フォーマット済か否かを1ビットの差分ビットを用いて差分ビットマップテーブル16で管理する。
通常LU10のサイズが7680TBであった場合、差分ビットマップテーブル16の容量は約1GBとなる。
1GBのデータを半導体メモリに保存するのでは、多くの半導体メモリを必要とする。
具体的には、記憶デバイスをフォーマット処理する場合、フォーマットの有無を論理ユニット(以下、LU(Logical Unit)と称することがある)毎に管理するための管理情報が登録される差分ビットマップテーブルの容量としては、LU1MB(メガバイト)当たり1ビットとなる。このため、クイックフォーマット対象の全LUの合計容量が7680TB(テラバイト)であった場合、差分ビットマップテーブルの容量は、全LUでは、約1GB(ギガバイト)となる。
ここで、1GB/(ページの管理単位)=管理情報用ページ数として、各LUのフォーマット処理の実行の有無を差分ビットマップテーブルで管理する場合、ページの管理単位が小さくなればなる程、管理情報用ページの数が増大することになる。
例えば、1LU当たり最大128TBの容量であって、LUとしては、最大4096個のLUが存在することを前提とし、最も単純な管理方式を考える。1LU当たりに割り当てられた管理情報用ページを全て管理するという管理方式を採用した場合、差分ビットマップテーブルのサイズは、1管理情報用ページの管理情報(アドレス情報)を4Byteとすると、以下の通りとなる。
まず最大128TB分の差分ビットマップテーブルのサイズは、16MBとなる。即ち、128TBをビットマップの管理単位の1MBで割り算し、割り算で得られた値を、1MB当たり1ビットで管理すると共に、バイトに変換して管理する場合、128TB分の差分ビットマップテーブルのサイズは16MBとなる。
ここで、管理単位が小さい場合であって、ページの管理単位が4MBの場合、16MBの差分ビットマップテーブルを保存可能な管理情報用ページの数は、4管理情報ページとなる。
1管理情報用ページの管理情報は4Byteであるので、4管理情報用ページを管理するために必要な情報量は、16Byteとなる。
16Byteの情報量を4096LU分管理するために必要なメモリサイズは、64KBとなる。
次に、ページの管理単位を1MBとした場合、16MBの差分ビットマップテーブルを保存可能な管理情報用ページ数は、16管理情報用ページとなる。
16管理情報用ページを管理するために必要な情報量は、16×4Byte=64Byteとなる。
64Byteの情報量を4096LU分管理するために必要なメモリサイズは、256KBとなる。
即ち、管理単位が小さくなればなる程、管理情報用ページの数が増大し、その分、管理情報を保存するためのメモリのサイズが増大することになる。
一方、ページの管理単位が大きい場合、例えば、ページの管理単位が10MBであって、クイックフォーマット対象のLUの容量を128TBとした場合、16MBの差分ビットマップテーブルを保存するために必要な管理情報用ページの数は、16MB/10MB=1.6となる。端数を切り上げると、2管理情報用ページとなる。
即ち、差分ビットマップテーブルのサイズが、16MBである場合、この容量を保存するために必要な管理情報用ページの数は、計算上は1.6ページである。しかし、管理情報用ページは、管理情報用ページ毎に管理されるので、差分ビットマップテーブルを保存するために必要なページ数は、2管理情報用ページとなる。このため、2管理情報用ページのうち最後の管理情報用ページには、使用されない記憶領域が生じることになる。このように、ページの管理単位が大きければ大きい程、実際に使用されない無駄な記憶領域が発生することになる。
そこで、差分ビットマップテーブル16のデータを保存するためのLUとして、図2に示すように、複数の記憶デバイスで構成されたRAIDグループ上に、管理情報用LU18を形成し、管理情報用LU18に差分ビットマップテーブル16のデータを格納する。
この際、管理情報用LU18の領域を、前方ページ領域20と、後方ページ領域22に分割する。
また、差分ビットマップテーブル16のデータを管理情報用LU18に格納するに際しては、差分ビットマップテーブル16のデータはLU毎の情報であって、LUの構成によっては、各LUに対応した差分ビットマップテーブル16のサイズが変化する。このため、差分ビットマップテーブル16のデータを管理情報用LU18に保存するには、LU毎に分割して管理する必要がある。
そこで、差分ビットマップテーブル16の容量を特定の容量、例えば、1MBのページの管理単位で分割して得られた管理情報用ページを用いて管理する。この際、管理情報用ページは、リードアクセス又はライトアクセスの最小単位であるストライプ列のサイズの整数倍に設定される。
そして、管理情報用LU18のうち、前方ページ領域20には、RAID内のユーザボリュームの最大数×ページサイズ(管理情報用ページのサイズ)の容量により算出される領域を割り当てる。
また、後方ページ領域22には、RAIDグループ全体のサイズから算出される管理情報として必要とされる領域を割り当てる。
この後、通常LU10を複数のLUに分割して使用する過程で、分割されたLUの容量を基に、差分ビットマップテーブル16のデータを格納するのに必要なページ数をLU毎に算出する。算出されたページ数が2以上である場合、1ページに対応する差分ビットマップテーブル16のデータを前方ページ領域20に割り当て、2ページ以降の差分ビットマップテーブル16のデータを後方ページ領域22に割り当てる。
この際、前方ページ領域20に割り当てられたデータの格納先を前方ページ領域アドレスで管理し、後方ページ領域22に割り当てられたデータの格納先を、後方ページ領域アドレスと、後方ページ領域22に割り当てられたページのページ長で管理する。
また、図3に示すように、管理情報用LU18に形成される複数のストライプ列24の中に、異なるページのデータ26、28が存在する場合、ページ毎に担当コントローラを1つに定めるという方式を採用した場合、同一のストライプ列24に対して、2つのコントローラ(記憶制御装置)がアクセスすると、アクセスの競合が発生することになる。
そこで、図4に示すように、管理情報用LU18に構築されるストライプ列24の整数倍を管理情報用ページ30とし、管理情報用LU18に構築されるストライプ列24を管理情報用ページ30毎にまとめて管理すると共に、管理情報ページ30毎に担当コントローラを設定する。例えば、管理情報用ページ30には、管理情報用ページ30に対するアクセスを占有することを示すオーナー権の情報を、いずれかのコントローラに対応づけて格納される。これにより、コントローラ間でアクセスの競合が発生するのを防止することができる。
(第1実施例)
本実施例は、アクセス対象用論理ユニットがフォーマット済みかを管理するフォーマット管理情報を格納する管理情報用論理ユニットの領域を前方ページ領域と後方ページ領域で管理するコントローラを有し、このコントローラは、アクセス対象用論理ユニットをフォーマットする場合、アクセス対象用論理ユニットの容量を基にフォーマット管理情報の容量を算出し、算出したフォーマット管理情報の容量とページの管理単位との比から管理情報用ページのページ数を算出し、1ページのフォーマット管理情報を前方ページ領域に割り当て、その格納先を前方ページ領域アドレスで管理し、2ページ以上のフォーマット管理情報を後方ページ領域に割り当て、その格納先を、後方ページ領域アドレスとページ長で管理する。
以下、本発明の第1実施例を図面に基づいて説明する。
図5は、計算機システムの全体構成を示すブロック図である。図5において、計算機システムは、管理サーバ50と、ディスクアレイ装置52と、ネットワーク54と、複数のホスト計算機(以下、ホストと称することがある。)56から構成される。
各ホスト56は、CPU(Central Processing Unit)やメモリなどの情報処理資源を備えたコンピュータ装置であり、例えば、パーソナルコンピュータや、ワークステーション、メインフレームなどから構成される。各ホスト56は、ディスクアレイ装置(ストレージサブシステム)52から提供されるLU又は論理ボリュームを指定したアクセス要求、例えば、書き込み要求あるいは読み出し要求をディスクアレイ装置(ストレージサブシステム)52に発行することで、そのLU又は論理ボリュームにアクセスすることができる。
また、各ホスト56は、キーボード、スイッチやポインティングデバイス、マイクロフォンなどの情報入力装置(図示せず)と、モニタディスプレイやスピーカなどの情報出力装置(図示せず)とを備える。
ネットワーク54は、例えば、SAN(Storage Area Network)、LAN(Local Area Network)、インターネット、公衆回線または専用回線まどから構成される。このネットワーク54を介して各ホスト56とディスクアレイ装置52との間の通信は、例えば、ネットワーク54がSANである場合には、ファイバチャネルプロトコルに従って行われ、ネットワーク54がLANである場合には、TCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルに従って行われる。
ディスクアレイ装置52は、記憶制御装置58と、複数の増設筺体(拡張筐体)60とを有するストレージシステムとして構成される。
次に、図6に、ディスクアレイ装置の内部構成図を示す。
図6において、ディスクアレイ装置52は、複数のコントローラ70、72と、基本筺体74とを有する記憶制御装置58を備え、基本筺体74には、複数の記憶装置76が収納される。なお、各増設筺体60にも、それぞれ複数の記憶装置76が収納される。
記憶装置76としては、例えば、ハードディスクデバイス、半導体メモリデバイス、光ディスクデバイス、光磁気ディスクデバイス、磁気テープデバイス、フレキシブルディスクデバイス等の記憶デバイスが挙がられ、これらの記憶デバイスは、データを読み書き可能なデバイスである。
記憶デバイスとしてハードディスクデバイスを用いる場合、例えば、FC(Fibre Channel)ディスク、SCSI(Small Computer System Interface)ディスク、SATA(Serial ATA)ディスク、ATA(AT Attachment)ディスク、SAS(Serial Attached SCSI)ディスク等を用いることができる。
記憶デバイスとして半導体メモリデバイスを用いる場合、SSD(Solid State Drive)(フラッシュメモリ)、FeRAM(Ferroelectric Random Access Memory)、MRAM(Magnetoresistive Random Access Memory)、相変化メモリ(Ovonic Unified Memory)、RRAM(登録商標)(Resistance Random Access Memory)等を用いることができる。
また、各記憶装置76でRAIDグループ、例えば、RAID4、RAID5、RAID6等を構成したり、各記憶装置76を複数のRAIDグループに分割したりすることもできる。この際、各記憶装置76の物理的記憶領域上に複数の論理ユニット(LU)や複数の論理ボリュームを形成することもできる。
LUは、ホスト56に、ホスト56のアクセス対象として提供される論理ユニットであって、通常LUと仮想LUとに分けられる。
通常LUは、記憶装置76上に形成された論理的記憶領域から構成される。それに対して、仮想LUは、Thin Provisioning機能により提供され、ページと呼ばれる記憶領域の単位から構成される。仮想LU作成当初のデータが書き込まれる前の段階では、ページには物理的記憶領域から形成される論理的記憶領域は、対応付けられていない。その後、ページに新規のデータの書込みが行われると、当該書込みが行われたページに、記憶装置76上に形成された論理的記憶領域の一部の記憶領域が割り当てられ、この割当てられた記憶領域にデータが格納される。
通常LUと仮想LUには、識別子として、LUN(Logical Unit Number)が割り当てられ、各セグメントには、論理ブロックアドレスLBA(Logical Block Address)が割り当てられる。この際、各ホスト56は、識別子LUNと論理ブロックアドレスLBAからなる論理アドレスを含むコマンドを、ディスクアレイ装置52のコントローラ70又はコントローラ72に送信することにより、通常LUまたは仮想LUに対応した記憶領域に記憶されたデータにアクセスすることができる。
コントローラ70は、MPU80と、メモリコントローラ(MC)82と、ローカルメモリ(LM)84と、キャッシュメモリ(CM)86と、ホストインタフェース88、データ転送制御回路(DCTL)90と、ディスクインタフェース92と、エキスパンダ(EXP)94とを有する#0のコントローラとして構成される。
MPU80は、コントローラ70全体を統括制御するマイクロプロセッサで構成されており、このマイクロプロセッサは、例えば、多重コアで構成されている。
メモリコントローラ82は、MPU80からの指令を基にローカルメモリ84に対するマッピング処理などを行う。
ローカルメモリ84は、システム構成情報や管理情報、各種制御プログラムなどを記憶する記憶装置として構成される。
キャッシュメモリ86は、ディスクアレイ装置52に入出力されるユーザデータなどを一時的に記憶する記憶装置として構成される。
ホストインタフェース88は、ディスクアレイ装置52をネットワーク54に接続するためのポート(図示せず)を備え、各ホスト56から送信される各種コマンドを解釈し、コマンドに従って処理を実行するとともに、各ホスト56とデータの授受を行う。
データ転送制御回路90は、メモリコントローラ82、キャッシュメモリ86、ホストインタフェース88、ディスクインタフェース92と、データ転送制御回路110に接続され、これら接続された部位に対するデータ転送を制御する。
ディスクインタフェース92は、増設筺体76に収納された記憶装置76またはエキスパンダ94とデータの授受を行うとともに、通信時におけるプロトコル制御を行うインタフェースとして機能する。
この際、ディスクインタフェース92は、MPU80からのリードアクセスを基に、エキスパンダ94を介して、基本筺体74内の記憶装置76からデータを読み出し、あるいは増設筺体60内の記憶装置76からデータを読み出し、各読み出したデータをデータ転送制御回路90に転送する。さらに、ディスクインタフェース92は、MPU80からのライトアクセスを基に、エキスパンダ94を介して、基本筺体74内の記憶装置76、あるいは増設筺体60内の記憶装置76にライトデータを格納する。
エキスパンダ94は、ディスクインタフェース92に接続されているとともに、基本筺体74内の記憶装置76と増設筺体76内の記憶装置60に接続され、ディスクインタフェース92からのデータを基本筺体74または増設筺体60に分岐させる分岐回路と構成される。
コントローラ72は、MPU100と、メモリコントローラ(MC)102と、ローカルメモリ(LM)104と、キャッシュメモリ(CM)106と、ホストインタフェース108と、データ転送制御回路(DCTL)110と、ディスクインタフェース112と、エキスパンダ(EXP)114とを有する#1のコントローラとして構成される。
MPU100は、コントローラ72全体を統括制御するマイクロプロセッサで構成されており、このマイクロプロセッサは、例えば、多重コアで構成されている。
メモリコントローラ(MC)82は、MPU100からの指令を基にローカルメモリ104に対するマッピング処理などを行う。
ローカルメモリ104は、システム構成情報や管理情報、各種制御プログラムなどを記憶する記憶装置として構成される。
キャッシュメモリ106は、ディスクアレイ装置52に入出力されるユーザデータなどを一時的に記憶する記憶装置として構成される。
ホストインタフェース108は、ディスクアレイ装置52をネットワーク54に接続するためのポート(図示せず)を備え、各ホスト56から送信される各種コマンドを解釈し、コマンドに従って処理を実行するとともに、各ホスト56とデータの授受を行う。
データ転送制御回路110は、メモリコントローラ102、キャッシュメモリ106、ホストインタフェース108、ディスクインタフェース112と、データ転送制御回路90に接続され、これら接続された部位に対するデータ転送を制御する。
ディスクインタフェース112は、増設筺体60に収納された記憶装置76またはエキスパンダ114とデータの授受を行うとともに、通信時におけるプロトコル制御を行うインタフェースとして機能する。
この際、ディスクインタフェース112は、MPU100からのリードアクセスを基に、エキスパンダ114を介して、基本筺体74内の記憶装置76からデータを読み出し、あるいは増設筺体60内の記憶装置76からデータを読み出し、各読み出したデータをデータ転送制御回路110に転送する。さらに、ディスクインタフェース112は、MPU110からのライトアクセスを基に、エキスパンダ114を介して、基本筺体74内の記憶装置76、あるいは増設筺体60内の記憶装置76にライトデータを格納する。
エキスパンダ114は、ディスクインタフェース112に接続されているとともに、基本筺体74内の記憶装置76と増設筺体60内の記憶装置76に接続され、ディスクインタフェース112からのデータを基本筺体74または増設筺体60に分岐させる分岐回路と構成される。
次に、図7に、ローカルメモリの構成図を示す。
図7において、ローカルメモリ84、104には、ドライブ管理テーブル120と、RG(RAIDグループ)管理テーブル122と、LU管理テーブル124と、QF(クイックフォーマット)管理テーブル126と、管理情報用仮想メモリ管理テーブル128と、管理情報用ページ管理テーブル130が格納される。
次に、図8に、ドライブ管理テーブルの構成図を示す。
図8において、ドライブ管理テーブル20は、基本筺体74または増設筺体76に収納された記憶装置76を管理するためのテーブルであって、複数のHDU(Hard Disk Unit)用エントリ140を備えている。各HDU用エントリ140には、増設筺体番号(拡張筐体番号)142と、HDU番号144と、容量146と、種別148と、状態150に関する情報が格納される。
例えば、増設筺体番号(拡張筐体番号)142には、増設筺体76の番号として、例えば、「0」が格納される。HDU番号144には、HDUの番号として、例えば「0」が格納される。容量146には、HDUの容量として、例えば、「300GB」が格納される。種別148には、記憶装置76の種別として、例えば、「SAS」が格納される。
状態150には、記憶装置76が正常である場合には、「Normal」が格納される。
次に、図9に、RG管理テーブルの構成図を示す。
図9において、RG管理テーブル122は、RAIDグループを構成する記憶装置76を管理するためのテーブルであって、複数のRG用エントリ160を備えている。各エントリ160には、RG番号162と、RAIDレベル164と、種別166と、容量168と、空き容量170と、状態172に関する情報が格納される。
例えば、RG番号162には、RAIDグループの番号として、「00」が格納され、RAIDレベル164には、「RAID」5(4D+1P)が格納される。
種別166には、記憶装置76の種別として、「SAS」が格納される。容量168には、RAIDグループの容量として、「1.2TB」が格納される。空き容量170には、未使用の容量として、「900GB」が格納される。状態172には、正常であって、フォーマット済のときには、「Normal」が格納される。
次に、図10に、LU管理テーブル124の構成図を示す。
図10において、LU管理テーブル124は、クイックフォーマットの対象となる対象LUを管理するためのテーブルであって、複数のLU用エントリ180を備えている。
各LU用エントリ180には、LU番号182と、所属RG番号184と、容量186と、ストライプサイズ188と、状態190と、オーナー権192に関する情報が格納される。
例えば、LU番号182には、クイックフォーマットの対象となる対象LU を特定する番号として、「0000」が格納される。所属RG番号184には、対象LUが所属するRGの番号として、「00」が格納される。容量186には、対象LUの容量として、「200GB」が格納される。ストライプサイズ188には、対象LUに割り当てられるストライプ列のサイズとして、「64KB」が格納される。
状態190には、対象LUが正常である場合には、「Normal」が格納される。オーナー権192には、対象LUに対するアクセス権を占有するコントローラ又はコア(MPU80又はMPU100を構成するコア)に関する情報が格納される。例えば、オーナー権192には、コントローラ72の場合には、「制御装置#1」が格納され、コントローラ70の場合には、「制御装置#0」が格納される。
次に、図11に、QF管理テーブル126の構成図を示す。
図11において、QF管理テーブル126は、クイックフォーマットの状態やクイックフォーマットの進捗状態を管理するためのテーブルであって、複数のLU用エントリ200を備えている。各LU用エントリ200には、クイックフォーマットの対象となる対象LUのLU番号202と、対象LUのQF進捗率204と、仮想メモリ番号206に関する情報が格納される。
例えば、LU番号202には、クイックフォーマットの対象となる対象LUの番号として、「0000」が格納される。QF進捗率204には、クイックフォーマットの対象となる対象LUのクイックフォーマットの進捗率として、クイックフォーマットが完了した場合には、「100%」が格納される。
仮想メモリ番号206には、管理情報用仮想メモリ管理テーブル128をアクセスするための番号として、例えば、「0000」が格納される。
次に、図12に、管理情報用仮想メモリ管理テーブル128の構成図を示す。
図12において、管理情報用仮想メモリ管理テーブル128は、管理情報用LU18に保存された差分ビットマップテーブル16を管理するためのテーブルであって、複数の仮想メモリ用エントリ210から構成される。各仮想メモリ用エントリ210には、対象LU212と、保存先LU214と、前方ページ領域アドレス216と、後方ページ領域アドレス218と、ページ長220に関する情報が格納される。
例えば、対象LU212には、クイックフォーマットの対象となる対象LUを特定する情報として、「LU0000」が格納される。
保存先LU214には、差分ビットマップテーブル16を保存する管理情報用LU18を特定する情報として「LU4096」が格納される。
前方ページ領域アドレス216には、前方ページ領域20に割り当てられたアドレスとして、例えば、「0x00001000」が格納される。
後方ページ領域アドレス218には、後方ページ領域22に割り当てられたアドレスとして、例えば、「0x00011000」が格納される。
ページ長220には、後方ページ領域22に割り当てられたページの長さに関する情報として、例えば、後方ページ領域22に割り当てられたページの長さが3ページ分であるある場合、「3」が格納される。
次に、図13に、管理情報用ページ管理テーブル130の構成図を示す。
図13において、管理情報用ページ管理テーブル130は、管理情報用LU18の領域を管理情報用ページ30の単位(管理情報用ページ単位)で管理するためのテーブルであって、複数のLU4096アドレス230から構成される。LU4096アドレス230としては、「0x00000000」〜「0x00FFF000」が割り当てられている。
各LU4096アドレス230には、保存先LU232と、保存先アドレス234と、割当仮想メモリ236と、オーナー権238に関する情報が格納される。
保存先LU232には、差分ビットマップテーブル16を保存するための保存先LUの番号として、例えば、「4096」が格納される。
保存先アドレス234には、LU4096アドレス230に対応したアドレスとして、例えば、「0x00000000」が格納される。
割当仮想メモリ236には、管理情報用仮想メモリ管理テーブル128の仮想メモリ用エントリ210を特定するための情報として、例えば、「0000」が格納される。
オーナー権238には、保存先LUを占有するコントローラ又はコア(MPU80又はMPU100を構成するコア)に関する情報が格納される。例えば、オーナー権238には、コントローラ72の場合には、「制御装置#1」が格納され、コントローラ70の場合には、「制御装置#0」が格納される。
次に、クイックフォーマット処理を図14のフローチャートに従って説明する。
この処理は、管理サーバ50からコントローラ70またはコントローラ72に対して、クイックフォーマット処理が指示された場合に開始される。
例えば、管理サーバ50が、コントローラ70に対してクイックフォーマット処理を指示した場合、コントローラ70のMPU80は、コントローラ間の排他処理として、構成変更などの処理の実行を禁止する要求を、データ転送制御回路90を介してコントローラ72に転送する(S11)。
この後、MPU80は、QF管理テーブル126の情報を更新する処理を実行する(S12)。
例えば、MPU80は、QF管理テーブル126のQF進捗率204などを初期化する処理を実行する。
次に、MPU80は、差分ビットマップテーブル116を保存する領域を確保するための処理を実行する(S13)。
次に、MPU80は、クイックフォーマットの処理結果をキャッシュメモリ86、106に登録するための処理を実行する(S14)。
この後、MPU80は、コントロール間の排他処理を終了するための処理を実行し(S15)、処理結果を管理サーバ50に応答し、このルーチンでの処理を終了する。
次に、差分ビットマップテーブルを保存する領域を確保するための処理を図15のフローチャートに従って説明する。
この処理は、図14のステップS13で行われる処理である。
MPU80は、管理情報用仮想メモリを割り当てるための処理を実行し(S21)、このルーチンでの処理を終了する。
次に、管理情報用仮想メモリ割当処理を図16のフローチャートに従って説明する。
この処理は、図15のステップS21で実施される処理である。
MPU80は、LU容量から必要容量を計算する(S31)。
例えば、クイックフォーマットの対象となる対象LUが、通常LU10であって、通常LU10の容量が128TBであった場合、MPU80は、差分ビットマップテーブル16を保存するのに必要な容量(必要容量)を、16MBとして計算する。
次に、MPU80は、必要容量から必要ページ数を計算する(S32)。例えば、必要容量が16MBであって、ページの管理単位が1MBである場合には、必要容量/ページの管理単位=ページ数を計算し、必要ページ数=16管理情報用ページとして算出する。
次に、MPU80は、前方ページ領域20への割り当てを実施する(S33)。例えば、ページ数が16管理情報用ページであった場合、1管理情報用ページに相当する差分ビットマップテーブル16のデータを、前方ページ領域20に割り当てるための処理を実施する。
次に、MPU80は、必要ページ数が2以上か否かを判定する(S34)。ステップS34で必要ページ数が1管理情報用ページであると判定した場合には、MPU80は、必要ページ数が、1管理情報用ページである旨を管理サーバ50に応答し、このルーチンでの処理を終了する。
一方、ステップS34で、必要ページ数が2管理情報用ページ以上であると判定した場合、MPU80は、2管理情報用ページ以降の差分ビットマップテーブル16のデータを後方ページ領域22に割り当てるための処理を実施し(S35)、処理結果を管理サーバ50に応答し、このルーチンでの処理を終了する。
次に、前方ページ領域の割当処理を図17のフローチャートに従って説明する。
この処理は、図16のステップS33で実施される処理である。
MPU80は、管理情報用LU18の前方ページ領域20を参照し、前方ページ領域20の中から未使用の管理情報用ページ(空き領域)を検索し(S41)、検索した未使用の管理情報用ページを、差分ビットマップテーブル16のデータを格納するための領域として割り当てる(S42)。
次に、MPU80は、割り当てられた未使用の管理情報用ページに、差分ビットマップテーブル16のデータのうち、1管理情報用ページのデータを書き込むとともに、データが書き込まれた管理情報用ページのアドレスを、前方ページ領域アドレス216として管理情報用仮想メモリ管理テーブル128に登録し(S43)、処理結果を管理サーバ50に応答し、このルーチンでの処理を終了する。
この際、MPU80は、管理情報用仮想メモリ管理テーブル128の仮想メモリ用エントリ210に、割り当て済みを示す使用フラグを登録することもできる。
次に、後方ページ領域の割当処理を図18のフローチャートに従って説明する。
この処理は、図16のステップS35で実施される処理である。
MPU80は、RAIDグループ上のLUの配置を参照し、クイックフォーマットの対象となる対象LUが所属する後方ページ領域22を仮割り当てする(S51)。
例えば、図19に示すように、RAIDグループ上にLUとして、0000番のLUと、0001番のLUと、0002番のLUが配置されている場合であって、クイックフォーマットの対象となる対象LUが、0001番のLUである場合、後方ページ領域22に仮に割り当てるページとして、0002番のLUには、ページ22Aと、ページ22Bの一部を仮割り当てし、0001番のLUには、ページ22Bの一部と、ページ22Cと、ページ22Dの一部を仮割り当てし、0000番のLUには、ページ22Dの一部を仮割り当てする。
この後、MPU80は、各LUの容量を基に各LUの差分ビットマップテーブル16のデータを格納するのに必要な管理情報用ページ30のページ数を算出する。このページ数として、例えば、0000番のLUが、1ページ、0001番のLUが、3ページ、0002番のLUが、2ページであった場合、各LUの1ページ目は、前方ページ領域20に既に割り当て済みであるため、後方ページ領域22のページのうち、0000番のLUには、0ページを割り当て、0001番のLUには、2ページを割り当て、0002番のLUには、1ページを割り当てる。
即ち、MPU80は、算出したページ数を基に、仮割り当てした各LUを、前詰めで後方ページ領域22に割り当てる(S52)。
この場合、図19に示すように、MPU80は、後方ページ領域22に割り当てる管理情報用ページ30として、0002番のLUには、ページ22Aを割り当て、0001番のLUには、ページ22Bとページ22Cを割り当てる。なお、ページ22Dは使用しない領域とする。
この後、MPU80は、各LUの管理情報用ページ30として、後方ページ領域22に割り当てたページ22A、22B、22Cのアドレスを、後方ページ領域アドレス218として、管理情報用仮想メモリ管理テーブル128に登録するとともに、各ページ22A、22B、22Cのページ長220を登録し(S53)、処理結果を管理サーバ50に応答し、このルーチンでの処理を終了する。
次に、クイックフォーマット登録の具体的な処理内容を図20のフローチャートに従って説明する。
この処理は、図14のステップS14で実施される処理である。
まず、コントローラ70とコントローラ72間でポーリングを実施し、コントローラ70、72のうち一方のコントローラでクイックフォーマット登録を実施するための排他処理を実行する(S61)。
ここで、コントローラ70でクイックフォーマット登録を実施する場合、MPU80は、クイックフォーマット(QF)登録されたLU、即ち、クイックフォーマットの処理の対象となるLUが存在するか否かを判定する(S62)。
ステップS62で、クイックフォーマットの処理の対象となるLUが、存在しないと判定した場合、MPU80は、ステップS65の処理に移行する。一方、ステップS62で、クイックフォーマットの処理の対象となるLUが、存在すると判定した場合、MPU80は、LU管理テーブル124を参照し、クイックフォーマットの処理を担当するコントローラが、コントローラ70であるか否かを判定する(S63)。
MPU80は、ステップS63で、他のコントローラ、即ち、コントローラ72が、クイックフォーマットの処理を担当するコントローラであると判定した場合、ステップS65の処理に移行し、ステップS63で、コントローラ70が、クイックフォーマットの処理を担当するコントローラであると判定した場合には、クイックフォーマットジョブを起動するための処理を実行する(S64)。
なお、MPU80が多重コアで構成されていた場合、多重コアのうちいずれか1つのコアが、ステップS61〜ステップS63の処理を実行し、ステップS63では、ステップS61〜ステップS63の処理を実行したコアが、クイックフォーマットの処理を担当するコアが、他のコアか、あるいは自コア(ステップS61〜ステップS63の処理を実行したコア)であるか否かを判定することになる。
この後、MPU80は、コントローラ間の排他処理を完了し(S65)、このルーチンでの処理を終了する。
次に、ジョブ起動処理を図21のフローチャートに従って説明する。
この処理は、図20のステップS64で実施される処理である。
MPU80は、ローカルメモリ84に格納された変数などを初期化するための初期化設定処理を実行し(S71)、その後、エクステントロック確保処理を実行する(S72)。
例えば、MPU80は、ジョブとして、クイックフォーマット処理のみを実行するための排他処理を実行する。
次に、MPU80は、1差分フォーマット処理を実行する(S73)。
例えば、MPU80は、通常LU10を、クイックフォーマット処理の対象とする場合、1つのクイックフォーマット対象領域14に対するフォーマット処理として、1つのクイックフォーマット対象領域14の登録されたデータを、「1」から「0」に変更する処理を実行する。
次に、MPU80は、1差分のフォーマット処理が完了したか否かを判定し(S74)、ステップS74で、1差分のフォーマット処理が未完了であると判定した場合には、ステップS73の処理に戻り、1差分のフォーマット処理が完了として判定した場合には、差分ビットマップ更新処理を実施する(S75)。
この際、MPU80は、差分ビットマップ更新処理を行う過程で、管理情報用仮想メモリに対するライト処理も実施する。
次に、MPU80は、エクステントロックを解放する処理を実行し(S76)、次フォーマット領域検索処理を実施し(S77)、ステップS77で次フォーマット領域有と判定した場合には、次フォーマット領域を設定する処理を実行し(S78)、その後、ステップS72の処理に戻り、ステップS72〜S77の処理を繰り返す。
一方、ステップS77で、全ての領域に対するフォーマット処理が完了したと判定した場合、MPU80は、通常LU10に対するフォーマット処理を完了し(S79)、このルーチンでの処理を終了する。
次に、差分ビットマップ更新処理の内容を図22のフローチャートに従って説明する。
この処理は、図21のステップS75で実施される処理である。
MPU80は、管理情報用仮想メモリに対する更新を指示し、例えば、通常LU10のクイックフォーマット対象領域14に対するクイックフォーマット処理が完了した場合には、このクイックフォーマット対象領域14に対応した差分ビットマップテーブル16の差分ビットを「1」から「0」にする処理を実施し(S81)、このルーチンでの処理を終了する。
次に、次フォーマット領域検索処理を図23のフローチャートに従って説明する。
この処理は、図21のステップS77で実施される処理である。
MPU80は、管理情報用仮想メモリ参照指示の処理として、差分ビットマップテーブル16を参照し、差分ビットを判定するための処理を実施する(S91)。
次に、MPU80は、次フォーマット領域におけるフォーマットの実施の有無を判定する(S92)。
この際、MPU80は、差分ビットマップテーブル16を参照し、次フォーマット領域が、フォーマット済であると判定した場合には、ステップS91の処理に戻り、次フォーマット領域が、未フォーマットであると判定した場合、又は、全てのフォーマット領域が、フォーマット済であると判定した場合には、このルーチンでの処理を終了する。
次に、管理情報用仮想メモリアクセス処理を図24のフローチャートに従って説明する。
この処理は、図22のステップS81または図23のステップS91で実施される処理である。
MPU80は、面番号(クイックフォーマットの対象となるLUであって、仮想メモリ用エントリ210を特定する番号)を基に差分ビットマップテーブル16を特定し、仮想メモリアドレスから物理アドレスを算出する処理を実施する(S102)。
次に、MPU80は、算出された物理アドレスを基にキャッシュメモリ86を参照し、差分ビットマップテーブル16に登録されたデータが、キャッシュメモリ86上に存在するか否かを判定する(S103)。
MPU80は、ステップS103で、差分ビットマップテーブル16に登録されたデータが、キャッシュメモリ86上に存在すると判定した場合、ステップS105の処理に移行し、ステップS103で、差分ビットマップテーブル16に登録されたデータが、キャッシュメモリ86上に存在しないと判定した場合には、記憶装置76から、差分ビットマップテーブル16に登録されたデータをキャッシュメモリ86上にリードする(S104)。
この後、MPU80は、キャッシュメモリ86上で、差分ビットマップテーブル16に登録されたデータに対する参照処理または更新処理を実施し(S105)、処理結果を管理サーバ50に応答し、このルーチンでの処理を終了する。
次に、仮想メモリアドレスから物理アドレスを算出する処理を図25のフローチャートに従って説明する。
この処理は、図24のステップS102で実施される処理である。
MPU80は、コマンドから得られた管理情報用仮想メモリアドレスを基に、何番目の管理情報用ページの情報が要求されているかを判定するために、管理情報用仮想メモリアドレス/ページの管理単位(1MB)の計算を行い、この計算によって得られた管理情報用ページ30のページ数を基に1ページ目の管理情報用ページ上であるか否かを判定する(S111)。
ステップS111で、管理情報用ページ30が1ページ目であると判定した場合、MPU80は、前方ページ領域アドレス216を基にオフセット計算で、管理情報用ページ30の物理アドレスを算出する(S112)。
一方、ステップS111で、管理情報用ページ30が2ページ目以降であると判定した場合、MPU80は、2ページ目以降の管理情報用ページ30について、後方ページ領域アドレス218を基にオフセット計算で物理アドレスを算出する(S113)。
MPU80は、ステップS112またはステップS113の処理の後、各処理結果を管理サーバ50に応答し、このルーチンでの処理を終了する。
次に、管理情報用ページのオーナー権を決定するときの処理について説明する。
通常、管理情報用ページ30をアクセスするためのオーナー権は、管理情報用ページ30が割り当てられたLUを管理するコントローラまたはコントローラに属するコアが有する。このため、管理情報用ページ30をアクセスするコアまたはコントローラは、管理情報用ページ30をアクセスするコアまたはコントローラに制限されるので、通常の管理情報用仮想メモリへのアクセスの処理では、管理情報用ページ30のオーナー権を判定することはない。
これに対して、記憶装置76の復旧処理などを行う場合には、管理情報用ページ30のオーナー権を判定することが行われる。この管理情報用ページ30のオーナー権を決定するための処理としては、以下の2通りの方法がある。
次に、管理情報用ページのオーナー権を決定するための第1の担当コア判定処理を図26のフローチャートに従って説明する。
例えば、コントローラ70のMPU80は、管理サーバ50からの復旧指示を基に、管理情報用仮想メモリ管理テーブル128を参照し、復旧対象となる管理情報用ページ30に割り当てられた物理アドレスから仮想メモリアドレスを算出し(S121)、算出された仮想メモリアドレスを基に復旧対象となる対象LU212を算出する(S122)。
次に、MPU80は、算出された対象LU212を基にLU管理テーブル124を参照し、LU管理テーブル124のオーナー権192から担当コアを特定し(S123)、処理結果を管理サーバ50に応答し、このルーチンでの処理を終了する。
次に、管理情報用ページのオーナー権を決定するための第2の担当コア判定処理を図27のフローチャートに従って説明する。
まず、コントローラ70が、管理サーバ50から復旧処理を指示された場合、コントローラ70のMPU80は、復旧対象となるLUを探索するために、管理情報用ページ管理テーブル130を参照し、復旧対象となるLUが、保存先LU232として存在する場合、LU4096アドレス230に登録されたオーナー権238を基に担当コアを決定し(S131)、処理結果を管理サーバ50に応答し、このルーチンでの処理を終了する。
この場合、管理情報用ページ管理テーブル130を参照するだけで、直接担当コアを特定することができので、第1の担当コア判定処理よりも、管理情報用ページのオーナー権を決定するための処理時間が短くなる。
次に、通常LUに対するリード処理を図28のフローチャートに従って説明する。
コントローラ70が、ホスト56からリードコマンドを受信した場合、コントローラ70のMPU80は、リードコマンドを基にLU管理テーブル124のオーナー権192を参照し、リードコマンドによる処理を担当するコントローラか否かを判定する(S141)。
ステップS141において、リードコマンドの処理を担当すべきコントローラであると判定した場合、MPU80は、通常のリード処理を実行し(S141)、このルーチンでの処理を終了する。
一方、ステップS141で、リードコマンドの処理を担当すべきコントローラが、他のコントローラであると判定した場合、MPU80は、データ転送制御回路90を介して、コントローラ72にリードコマンドを転送するクロスコールリード処理を実行し(S143)、このルーチンでの処理を終了する。
次に、通常のリード処理を図29のフローチャートに従って説明する。
この処理は、図28のステップS142で実施される処理である。
まずは、MPU80は、通常LU10に存在する複数のLUのうち、リードコマンドで指定されたリード先のLUは、フォーマット済であるか否かを判定する(S151)。
この際、MPU80は、リード先のLUに対応した差分ビットマップテーブル16を参照し、リード先のクイックフォーマット対象領域14がフォーマット済であるか否かを判定し、未フォーマットである場合には、フォーマット起動処理を開始し(S152)、ステップS153の処理に移行し、ステップS151で、フォーマット済であると判定した場合には、ステップS153の処理に移行する。
ステップS153において、MPU80は、リード先のLUに対してのみリード処理を実行する排他処理として、エクテントロックを実行し、この後、キャッシュメモリ86上に、読み出し先の領域を確保するためのセグメント確保処理を実行する(S154)。
次に、MPU80は、キャッシュヒットであるか、あるいはキャッシュミスであるかを判定する(S155)。
即ち、MPU80は、リードデータが、キャッシュメモリ86上に存在するか否かを判定し、キャッシュミスであると判定した場合には、記憶装置76からリードデータをキャッシュメモリ86上に読み出すステージング処理を実行し(S156)、ステップS157の処理に移行する。
一方、MPU80は、ステップS155でキャッシュヒットであると判定した場合、キャッシュメモリ86上に存在するリードデータまたは記憶装置からステージングされたリードデータをホスト56へ転送するためのデータ転送処理を実行する(S157)。
この後、MPU80は、セグメントを解放する処理を行い(S158)、続いてエクステントロックを解放する処理を実行し(S159)、このルーチンでの処理を終了する。
次に、クロスコールリード処理を図30のフローチャートに従って説明する。
この処理は、図28のステップS143で実施される処理である。
コントローラ72のMPU100は、コントローラ70から転送されたリードコマンドを受信した場合、受信したリードコマンドを基にリード先のLUがフォーマット済か否かを判定する(S161)。
この際、MPU100は、リード先のLUに対応した差分ビットマップテーブル16を参照し、リード先のクイックフォーマット対象領域14がフォーマット済であるか否かを判定し、未フォーマットである場合には、フォーマット起動処理を開始し(S162)、ステップS163の処理に移行し、ステップS161で、フォーマット済であると判定した場合には、ステップS163の処理に移行する。
ステップS163において、MPU100は、リード先のLUに対してのみリード処理を実行する排他処理として、エクテントロックを実行し、この後、キャッシュメモリ106上に、読み出し先の領域を確保するためのセグメント確保処理を実行する(S164)。
次に、MPU100は、キャッシュヒットであるか、あるいはキャッシュミスであるかを判定する(S165)。
即ち、MPU100は、リードデータが、キャッシュメモリ106上に存在するか否かを判定し、キャッシュミスであると判定した場合には、記憶装置76からリードデータを、キャッシュメモリ106とキャッシュメモリ84上にそれぞれ読み出す二重書きステージング処理を実行し(S166)、ステップS168の処理に移行する。
一方、MPU100は、ステップS165でキャッシュヒットであると判定した場合、キャッシュメモリ106上に存在するリードデータをコントローラ70のキャッシュメモリ84にコピーするコントロール間キャッシュコピー処理を実行しステップS168の処理に移行する。
この後、MPU100は、キャッシュメモリ106上に存在するリードデータまたは記憶装置76からステージングされたリードデータをホスト56へ転送するためのデータ転送処理を実行する(S168)。
次に、MPU100は、セグメントを解放する処理を行い(S169)、続いてエクステントロックを解放する処理を実行し(S170)、このルーチンでの処理を終了する。
以上のように、フォーマット済か否かの判定は、クイックフォーマットの対象となるLUの処理を担当するコントローラ側で実行される。また差分ビットマップテーブル16の情報を参照する処理もクイックフォーマットの処理を担当するコントローラ側で実行されるため、通常のクイックフォーマット処理やホスト56からのリードアクセスでは、管理情報用ページ30を担当するコントローラまたはコアを判定する必要はなく、コントローラ間またはコア間でアクセスが排他されることになる。
また、コントローラ70が、ホスト56からリードコマンドを受信した場合について述べたが、コントローラ70またはコントローラ72がホスト56からライトコマンドを受信した場合も、通常リード処理の代わりに、通常ライト処理を実行し、また、クロスコールリード処理の代わりに、クロスコールライト処理を実行することで、ライト先のLUに対して、ライトデータを書き込むための処理を実行することができる。
この際、コントローラ70は、アクセス要求元のホスト56からリードコマンド又はライトコマンドを受信した場合、リードコマンド又はライトコマンドを基に差分ビットマップテーブル(フォーマット管理情報)16上のアドレスを示す仮想メモリアドレスを算出し、算出した仮想メモリアドレスとページの管理単位(1MB)との比から、アクセス先に対応する管理情報用ページ30のページ数を算出し、算出したページ数に1ページの管理情報用ページ30が存在する場合、1ページの管理情報用ページ30に対応する前方ページ領域アドレスから、アクセス先の物理アドレスを算出し、1ページの管理情報用ページ30に対応する前方ページ領域アドレスで特定される前方ページ領域20に格納された差分ビットマップテーブル16にフォーマット済みの情報が登録されていることを条件に、算出した物理アドレスのアクセス先に対してリードアクセス又はライトアクセスを実行する。
また、コントローラ70は、アクセス先に対応する管理情報用ページ30のページ数を算出した際に、算出したページ数に2ページ以上の前記管理情報用ページ30が存在する場合、2ページ以上の管理情報用ページ30に対応する後方ページ領域アドレスとページ長から、アクセス先の物理アドレスを算出し、2ページ以上の前記管理情報用ページ30に対応する後方ページ領域アドレスとページ長で特定される後方ページ領域22に格納された差分ビットマップテーブル16にフォーマット済みの情報が登録されていることを条件に、算出した物理アドレスのアクセス先に対してリードアクセス又はライトアクセスを実行することになる。
また、ステップS152におけるフォーマット処理の起動やステップS162におけるフォーマット起動処理では、図21におけるジョブ起動処理が行われることになる。
本実施例によれば、差分ビットマップテーブル(フォーマット管理情報)16を保存する管理情報用ページ30のサイズを最小にするとともに、管理情報用ページ30の管理サイズを低減することができる。
本実施例によれば、管理情報用LU18を管理するためのフォーマット管理情報(差分ビットマップテーブル16)は、ページの管理単位に関係なく、前方ページ領域アドレス216と、後方ページ領域アドレス218と、後方ページ領域22に割り当てられた管理情報用ページ30のページ長220の情報で管理することができる。このため、RAIDグループのアクセス単位として、最小であるストライプ列サイズ単位で、フォーマット管理情報を管理することができ、排他制御のために発生する無駄な領域を最小にすることができる。
また、管理情報用LU18を管理するためのフォーマット管理情報は、フォーマット対象のLUのサイズに関わらず、一定のため、ディスクアレイ装置のさらなる容量拡張にも対応できる。
(第2実施例)
図31に、本発明の第2実施例として、差分ビットマップテーブル16の保存先を、シンプロビジョニングプールとした場合の構成図を示す。
図31において、複数の記憶装置76の論理的記憶領域上にシンプロビジョニングプール500を形成した場合、シンプロビジョニングプール500に複数のチャンク502を形成し、いずれかのチャンク502に仮想ボリューム504を割り当てることができる。
仮想ボリューム504は、ホスト56からアクセスされない初期には、その仮想記憶領域には論理ボリュームやページが割り当てられない状態にある。一方、ホスト56から仮想ボリューム504に対して、アクセス要求として、例えば、ライトアクセスが入力されたときには、ライトアクセスのタイミングで容量仮想化制御機能(容量仮想化制御プログラムの起動による処理機能)により、各仮想ボリューム504の仮想記憶領域は、複数のブロックに分割され、各ブロックには、シンプロビジョニングプール500に登録された論理ボリュームが割り当てられる。
この際、いずれかのチャンク502に仮想ボリューム504を割り当てた場合、仮想ボリューム504のページ506は、例えば、32MBで構成されるので、チャンク502に空き領域508が形成され、チャンク52の領域を有効に活用することができない。
それに対して、チャンク502に割り当てるページ510を、管理情報用ページサイズ=ストライプ列サイズとして、シンプロビジョニングプール500をストライプ列サイズ単位で複数のチャンク502に分割すると、各チャンク502内には、複数のページ510を、空き領域を形成させることなく割り当てることができる。これにより、シンプロビジョニングプール500をユーザの仮想LUと共有することができる。なお、チャンク502の容量としては、例えば、1GBを用いることができる。
本実施例によれば、シンプロビジョニングプール500をストライプ列サイズ単位で複数のチャンク502に分割することで、各チャンク502内に、複数のページ510を、空き領域を形成させることなく割り当てることができる。
なお、差分ビットマップテーブル16の保存先である管理情報用LU18を、RAIDを構成するSSDに形成することもできる。この場合、管理情報用LU18をHDDに形成するよりも、よりアクセス速度を高めることができる。
また、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能等は、それらの一部又は全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、IC(Integrated Circuit)カード、SD(Secure Digital)メモリカード、DVD(Digital Versatile Disc)等の記録媒体に記録して置くことができる。
10 通常LU、14 クイックフォーマット対象領域、16 差分ビットマップテーブル、l8 管理情報用LU、20 前方ページ領域、22 後方ページ領域、24 ストライプ列、30 管理単位、50 管理サーバ、52 ディスクアレイ装置、54 ネットワーク、56 ホスト、58 記憶制御装置、60 増設筺体、70、72 コントローラ、74 基本筺体、76 記憶装置、80、100 MPU、84、104 ローカルメモリ、86、106 キャッシュメモリ、88、108 ホストインタフェース、90、110 データ転送制御回路、92、112 ディスクインタフェース、120 ドライブ管理テーブル、122 RG管理テーブル、124 LU管理テーブル、126 QF管理テーブル、128 管理情報用仮想メモリ管理テーブル、130 管理情報用ページ管理テーブル。

Claims (12)

  1. 複数の記憶装置と、前記複数の記憶装置の記憶領域に形成される論理ユニットであって、アクセス要求元のアクセス対象となる1又は複数のアクセス対象用論理ユニットと、前記複数の記憶装置の記憶領域に形成される論理ユニットであって、前記アクセス対象用論理ユニットがフォーマット済みか否かを管理するためのフォーマット管理情報を格納する領域が、前方ページ領域と後方ページ領域に分割された管理情報用論理ユニットと、前記各論理ユニットに対するデータ入出力を制御すると共に、前記アクセス対象用論理ユニットに対するフォーマット処理を実行する1又は複数のコントローラと、を備え、
    前記コントローラは、
    前記アクセス対象用論理ユニットに対する前記フォーマット処理の実行時に、前記アクセス対象用論理ユニットの容量を基に前記フォーマット管理情報の容量を算出し、前記算出したフォーマット管理情報の容量と特定容量のページの管理単位との比から、前記フォーマット管理情報を前記ページの管理単位で管理するのに必要な管理情報用ページのページ数を算出し、
    前記算出した管理情報用ページのページ数が1である場合、前記フォーマット管理情報を前記前方ページ領域に割り当て、
    前記算出した管理情報用ページのページ数が2以上である場合、1ページに対応する前記フォーマット管理情報を前記前方ページ領域に割り当て、2ページ以降に対応する前記フォーマット管理情報を前記後方ページ領域に割り当て、前記フォーマット処理の実行結果を前記フォーマット管理情報として、前記前方ページ領域又は前記後方ページ領域に格納するストレージシステム。
  2. 請求項1に記載のストレージシステムであって、
    前記コントローラは、
    前記算出したページ数が1である場合、1ページの管理情報用ページに対応する前記フォーマット管理情報の格納先を前記前方ページ領域に割り当てると共に、当該フォーマット管理情報の格納先を前方ページ領域アドレスで管理し、前記算出したページ数が2以上である場合、2ページ以降の管理情報用ページに対応する前記フォーマット管理情報の格納先を前記後方ページ領域に割り当てると共に、当該フォーマット管理情報の格納先を、後方ページ領域アドレスと前記2ページ以降の管理情報用ページのページ長で管理することを特徴とするストレージシステム。
  3. 請求項1に記載のストレージシステムであって、
    前記前方ページ領域又は前記後方ページ領域に割り当てられる前記管理情報ページは、前記コントローラによる、リードアクセス又はライトアクセスの最小単位であって、前記記憶装置の論理的記憶領域に形成されるストライプ列の整数倍の容量で構成されることを特徴とするストレージシステム。
  4. 請求項1に記載のストレージシステムであって、
    前記管理情報用ページには、前記管理情報用ページに対するアクセスを占有することを示すオーナー権の情報が、前記いずれかのコントローラに対応づけて格納されることを特徴とするストレージシステム。
  5. 請求項1に記載のストレージシステムであって、
    前記コントローラは、
    前記アクセス要求元からリードコマンド又はライトコマンドを受信した場合、前記リードコマンド又はライトコマンドを基にアクセス先を特定し、前記管理情報用論理ユニットに格納された前記フォーマット管理情報のうち前記アクセス先に対応するフォーマット管理情報を参照し、前記アクセス先に対応するフォーマット管理情報にフォーマット済みの情報が登録されていることを条件に、前記アクセス先に対してリードアクセス又はライトアクセスを実行することを特徴とするストレージシステム。
  6. 請求項2に記載のストレージシステムであって、
    前記コントローラは、
    前記アクセス要求元からリードコマンド又はライトコマンドを受信した場合、前記リードコマンド又はライトコマンドを基に前記フォーマット管理情報上のアドレスを示す仮想メモリアドレスを算出し、前記算出した仮想メモリアドレスと前記ページの管理単位との比から、アクセス先に対応する管理情報用ページのページ数を算出し、前記算出したページ数が1である場合、前記1ページの管理情報用ページに対応する前記前方ページ領域アドレスから前記アクセス先の物理アドレスを算出し、前記1ページの管理情報用ページに対応する前記前方ページ領域アドレスで特定される前記前方ページ領域に格納された前記フォーマット管理情報にフォーマット済みの情報が登録されていることを条件に、前記算出した物理アドレスのアクセス先に対してリードアクセス又はライトアクセスを実行し、前記算出したページ数が2以上である場合、前記2ページ以降の管理情報用ページに対応する前記後方ページ領域アドレスと前記ページ長から前記アクセス先の物理アドレスを算出し、前記2ページ以降の管理情報用ページに対応する前記後方ページ領域アドレスと前記ページ長で特定される前記後方ページ領域に格納された前記フォーマット管理情報にフォーマット済みの情報が登録されていることを条件に、前記算出した物理アドレスのアクセス先に対してリードアクセス又はライトアクセスを実行することを特徴とするストレージシステム。
  7. 複数の記憶装置と、前記複数の記憶装置の記憶領域に形成される論理ユニットであって、アクセス要求元のアクセス対象となる1又は複数のアクセス対象用論理ユニットと、前記複数の記憶装置の記憶領域に形成される論理ユニットであって、前記アクセス対象用論理ユニットがフォーマット済みか否かを管理するためのフォーマット管理情報を格納する領域が、前方ページ領域と後方ページ領域に分割された管理情報用論理ユニットと、前記各論理ユニットに対するデータ入出力を制御すると共に、前記アクセス対象用論理ユニットに対するフォーマット処理を実行する1又は複数のコントローラと、を備えたストレージシステムの論理ユニット管理方法であって、
    前記コントローラが、前記アクセス対象用論理ユニットに対する前記フォーマット処理を実行する場合のステップとして、
    前記コントローラが、前記アクセス対象用論理ユニットの容量を基に前記フォーマット管理情報の容量を算出するステップと、
    前記コントローラが、前記算出したフォーマット管理情報の容量と特定容量のページの管理単位との比から、前記フォーマット管理情報を前記ページの管理単位で管理するのに必要な管理情報用ページのページ数を算出するステップと、
    前記コントローラが、前記算出した管理情報用ページのページ数が1である場合、前記フォーマット管理情報を前記前方ページ領域に割り当てるステップと、
    前記コントローラが、前記算出した管理情報用ページのページ数が2以上である場合、1ページに対応する前記フォーマット管理情報を前記前方ページ領域に割り当て、2ページ以降に対応する前記フォーマット管理情報を前記後方ページ領域に割り当てるステップと、
    前記コントローラが、前記フォーマット処理の実行結果を前記フォーマット管理情報として、前記前方ページ領域又は前記後方ページ領域に格納するステップと、を含むことを特徴とするストレージシステムの論理ユニット管理方法。
  8. 請求項7に記載のストレージシステムの論理ユニット管理方法であって、
    前記コントローラが、前記算出したページ数が1である場合、1ページの管理情報用ページに対応する前記フォーマット管理情報の格納先を前記前方ページ領域に割り当てると共に、当該フォーマット管理情報の格納先を前方ページ領域アドレスで管理し、
    前記コントローラが、前記算出したページ数が2以上である場合、2ページ以降の管理情報用ページに対応する前記フォーマット管理情報の格納先を前記後方ページ領域に割り当てると共に、当該フォーマット管理情報の格納先を、後方ページ領域アドレスと前記2ページ以降の管理情報用ページのページ長で管理することを特徴とするストレージシステムの論理ユニット管理方法。
  9. 請求項7に記載のストレージシステムの論理ユニット管理方法であって、
    前記前方ページ領域又は前記後方ページ領域に割り当てられる前記管理情報ページは、前記コントローラによる、リードアクセス又はライトアクセスの最小単位であって、前記記憶装置の論理的記憶領域に形成されるストライプ列の整数倍の容量で構成されることを特徴とするストレージシステムの論理ユニット管理方法。
  10. 請求項7に記載のストレージシステムの論理ユニット管理方法であって、
    前記管理情報用ページには、前記管理情報用ページに対するアクセスを占有することを示すオーナー権の情報が、前記いずれかのコントローラに対応づけて格納されることを特徴とするストレージシステムの論理ユニット管理方法。
  11. 請求項7に記載のストレージシステムの論理ユニット管理方法であって、
    前記コントローラが、前記アクセス要求元からリードコマンド又はライトコマンドを受信した場合に処理するステップとして、
    前記コントローラが、前記リードコマンド又はライトコマンドを基にアクセス先を特定するステップと、
    前記コントローラが、前記管理情報用論理ユニットに格納された前記フォーマット管理情報のうち前記アクセス先に対応するフォーマット管理情報を参照するステップと、
    前記コントローラが、前記アクセス先に対応するフォーマット管理情報にフォーマット済みの情報が登録されていることを条件に、前記アクセス先に対してリードアクセス又はライトアクセスを実行するステップと、を含むことを特徴とするストレージシステムの論理ユニット管理方法。
  12. 請求項8に記載のストレージシステムの論理ユニット管理方法であって、
    前記コントローラが、前記アクセス要求元からリードコマンド又はライトコマンドを受信した場合に処理するステップとして、
    前記コントローラが、前記リードコマンド又はライトコマンドを基に前記フォーマット管理情報上のアドレスを示す仮想メモリアドレスを算出するステップと、
    前記コントローラが、前記算出した仮想メモリアドレスと前記ページの管理単位との比から、アクセス先に対応する管理情報用ページのページ数を算出するステップと、
    前記コントローラが、前記算出したページ数が1である場合、前記1ページの管理情報用ページに対応する前記前方ページ領域アドレスから前記アクセス先の物理アドレスを算出するステップと、
    前記コントローラが、前記1ページの管理情報用ページに対応する前記前方ページ領域アドレスで特定される前記前方ページ領域に格納された前記フォーマット管理情報にフォーマット済みの情報が登録されていることを条件に、前記算出した物理アドレスのアクセス先に対してリードアクセス又はライトアクセスを実行するステップと、
    前記コントローラが、前記算出したページ数が2以上である場合、前記2ページ以降の管理情報用ページに対応する前記後方ページ領域アドレスと前記ページ長から前記アクセス先の物理アドレスを算出するステップと、
    前記コントローラが、前記2ページ以降の管理情報用ページに対応する前記後方ページ領域アドレスと前記ページ長で特定される前記後方ページ領域に格納された前記フォーマット管理情報にフォーマット済みの情報が登録されていることを条件に、前記算出した物理アドレスのアクセス先に対してリードアクセス又はライトアクセスを実行するステップと、を含むことを特徴とするストレージシステムの論理ユニット管理方法。
JP2013552759A 2011-07-22 2011-07-22 ストレージシステム及びその論理ユニット管理方法 Expired - Fee Related JP5802283B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/004156 WO2013014699A1 (en) 2011-07-22 2011-07-22 Storage system and its logical unit management method

Publications (2)

Publication Number Publication Date
JP2014519062A JP2014519062A (ja) 2014-08-07
JP5802283B2 true JP5802283B2 (ja) 2015-10-28

Family

ID=47556625

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013552759A Expired - Fee Related JP5802283B2 (ja) 2011-07-22 2011-07-22 ストレージシステム及びその論理ユニット管理方法

Country Status (3)

Country Link
US (1) US8799573B2 (ja)
JP (1) JP5802283B2 (ja)
WO (1) WO2013014699A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10108344B1 (en) * 2015-05-06 2018-10-23 American Megatrends, Inc. Systems, devices and methods using a solid state device as a caching medium with an SSD filtering or SSD pre-fetch algorithm
US11249968B2 (en) * 2016-05-09 2022-02-15 Sap Se Large object containers with size criteria for storing mid-sized large objects
JP2018156446A (ja) * 2017-03-17 2018-10-04 Necプラットフォームズ株式会社 差分管理装置、ストレージシステム、差分管理方法及びプログラム
US10402095B1 (en) * 2018-04-30 2019-09-03 EMC IP Holding Company LLC Online data expansion in redundant data storage systems
JP2020047105A (ja) * 2018-09-20 2020-03-26 株式会社日立製作所 ストレージ制御装置および障害トラックの回復方法
CN114220469B (zh) * 2021-11-30 2026-01-09 杭州鸿泉物联网技术股份有限公司 Nor-flash模拟fram存储的方法及装置
CN115858425B (zh) * 2023-01-17 2023-05-02 北京智芯微电子科技有限公司 应用mpu保护场景下的内存分配方法及系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7461176B2 (en) * 2003-05-02 2008-12-02 Hitachi, Ltd. Method for initialization of storage systems
JP2006024024A (ja) 2004-07-08 2006-01-26 Toshiba Corp 論理ディスク管理方法及び装置
JP2006114064A (ja) 2005-12-28 2006-04-27 Hitachi Ltd 記憶サブシステム
JP4855102B2 (ja) 2006-02-23 2012-01-18 株式会社日立製作所 計算機システム及び管理計算機とストレージシステム並びに記憶領域割当量制御方法
JP4857055B2 (ja) 2006-09-08 2012-01-18 株式会社日立製作所 記憶システム及びその制御方法並びに記憶制御装置
US8146092B2 (en) * 2008-10-10 2012-03-27 Hitachi, Ltd. System and method for selecting and executing an optimal load distribution processing in a storage system
JP4719801B2 (ja) * 2009-03-06 2011-07-06 富士通株式会社 デバイス管理装置、デバイス初期化方法、デバイス初期化プログラムおよびデバイスシステム
JP5538362B2 (ja) * 2009-03-18 2014-07-02 株式会社日立製作所 記憶制御装置及び仮想ボリュームの制御方法
US8364929B2 (en) * 2009-10-23 2013-01-29 Seagate Technology Llc Enabling spanning for a storage device

Also Published As

Publication number Publication date
JP2014519062A (ja) 2014-08-07
US20130024616A1 (en) 2013-01-24
US8799573B2 (en) 2014-08-05
WO2013014699A1 (en) 2013-01-31

Similar Documents

Publication Publication Date Title
US10176212B1 (en) Top level tier management
US10698818B2 (en) Storage controller caching using symmetric storage class memory devices
US8032689B2 (en) Techniques for data storage device virtualization
JP5802283B2 (ja) ストレージシステム及びその論理ユニット管理方法
JP5944587B2 (ja) 計算機システム及び制御方法
US9229870B1 (en) Managing cache systems of storage systems
US10521345B2 (en) Managing input/output operations for shingled magnetic recording in a storage system
US8359431B2 (en) Storage subsystem and its data processing method for reducing the amount of data to be stored in a semiconductor nonvolatile memory
JP5309259B2 (ja) ストレージ装置及びその制御方法
JP2009043030A (ja) ストレージシステム
JP2016506585A (ja) データストレージのための方法及びシステム
US11543989B2 (en) Storage system and control method thereof
US20120221809A1 (en) Storage apparatus and data processing method of the same
US20180267713A1 (en) Method and apparatus for defining storage infrastructure
WO2015068233A1 (ja) ストレージシステム
US11526447B1 (en) Destaging multiple cache slots in a single back-end track in a RAID subsystem
US12141460B2 (en) Method and apparatus for performing data access management of all flash array server
US20180307427A1 (en) Storage control apparatus and storage control method
US10365846B2 (en) Storage controller, system and method using management information indicating data writing to logical blocks for deduplication and shortened logical volume deletion processing
JP2017211920A (ja) ストレージ制御装置、ストレージシステム、ストレージ制御方法およびストレージ制御プログラム
US11474750B2 (en) Storage control apparatus and storage medium
WO2014147786A1 (ja) ストレージシステム及びデータ管理方法
JP5597266B2 (ja) ストレージシステム
JP5691234B2 (ja) ディスクアレイ装置、及び、ミラーリング制御方法
EP2605120A2 (en) Allocation device, allocation method and storage device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150721

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150804

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150828

R150 Certificate of patent or registration of utility model

Ref document number: 5802283

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees