JP7371483B2 - ストレージ制御装置及び制御プログラム - Google Patents

ストレージ制御装置及び制御プログラム Download PDF

Info

Publication number
JP7371483B2
JP7371483B2 JP2019228552A JP2019228552A JP7371483B2 JP 7371483 B2 JP7371483 B2 JP 7371483B2 JP 2019228552 A JP2019228552 A JP 2019228552A JP 2019228552 A JP2019228552 A JP 2019228552A JP 7371483 B2 JP7371483 B2 JP 7371483B2
Authority
JP
Japan
Prior art keywords
storage
area
control device
storage control
acquisition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019228552A
Other languages
English (en)
Other versions
JP2021096714A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2019228552A priority Critical patent/JP7371483B2/ja
Priority to US17/078,142 priority patent/US11449251B2/en
Publication of JP2021096714A publication Critical patent/JP2021096714A/ja
Application granted granted Critical
Publication of JP7371483B2 publication Critical patent/JP7371483B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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/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; 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/0653Monitoring storage devices or 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/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)
  • Hardware Redundancy (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、ストレージ制御装置及び制御プログラムに関する。
ストレージ装置には様々な機能が実装されており、ユーザは機能使用の際に必要な機能を有効化する操作を行なう。
図1は、ストレージ装置600の操作例を説明する図である。
ストレージ装置600は、符号A1に示すように、ユーザ端末8のGraphical User Interface(GUI)又はCommand Line Interface(CLI)により機能を有効化させる操作を受け付ける。これにより、ストレージ装置600は、対象の機能の制御のために必要なメモリ領域を動的に獲得し、装置構成変更処理等を実施することで機能を使用可能な状態にする。
特開2012-048613号公報 特開平11-143649号公報
図2は、キャッシュテーブル獲得状態が正常な状態を示すブロック図である。
ストレージ装置600は、複数のController Enclosure(CE)60(別言すれば、CE#0,#1)及び複数のDrive Enclosure(DE)7(別言すれば、DE#0,#1,・・・,#n-1,#n)を備える。
各DE7は、Input Output Module(IOM)#0,#1をそれぞれ備える。
各CE60は、2つのController Module(CM)6(別言すれば、CM#0,#1)をそれぞれ備える。なお、CE#0のCM#1はマスタCMであり、その他のCM6はスレーブCMであってよい。
ストレージ装置600に実装されている機能を使用する場合には、対象の機能を制御するための制御データをキャッシュ上に管理テーブルとして保持する場合がある。例えば、図2における各CM6は、Pool IDが(xx, yy, zz,・・・)ごとのキャッシュテーブルを格納するためのメモリ領域(テーブル領域)をキャッシュメモリ(以下、キャッシュと略す)上に確保されている。また、キャッシュ上にテーブル領域を確保する場合には、機能有効化処理において全てのCM6で装置稼働中に動的にキャッシュからテーブル領域を確保した後に、装置構成として機能が有効状態であることを示す情報が各CM6において反映される。
装置起動の際には、装置構成情報が参照され、設定値に基づいてそれぞれの機能で必要なテーブルサイズが算出され、全CM6でテーブル領域を確保する処理が動作する。
キャッシュテーブル獲得処理は全CM6で同期して処理が実施されるため、機能有効化処理中にCM6に異常が発生した場合には、キャッシュ上のテーブル領域の獲得に失敗する場合がある。機能有効化処理は途中で中断し、異常終了するため、機能構成として有効化対象機能は無効の状態となる。ハードウェアの異常ではなくソフトウェアのパニックにより異常となったCM6は、自動でリブートして装置への組み込み処理が動作し、復旧処理(別言すれば、Check1)が実施される。Check1を実施したCM6は、Power on処理と同様に装置構成を参照してそれぞれの機能で必要なテーブル領域を獲得した状態で起動する。装置構成として有効化処理中であった対象機能は無効なため、リブートしたCM6ではテーブル領域が確保されないが、他の正常なCM6では機能有効化処理が途中まで進んでいるため、CM6毎にキャッシュテーブルの獲得状態が不一致になる状態が存在する。
図3は、キャッシュテーブル獲得状態が不一致な状態を示すブロック図である。
図3に示す例では、符号B1に示すように、Pool ID:zzのテーブル領域の獲得中にCE#0のCM#1でソフトウェアのパニックによるリブートが発生し、CE#0のCM#1のテーブル領域の獲得状態が他のCM6と比較して不一致となっている。
CM6に搭載されるキャッシュメモリは、ストレージ装置600の制御のための制御テーブル以外にホストからのInput/Output(I/O)を高速に処理するキャッシュ領域としても使用される。機能が無効な状態で未使用の領域はCM6毎に独自にホストI/Oの処理のためのキャッシュ領域として使用されるため、キャッシュテーブルの獲得状態がCM6間で異なる状態となる場合がある。そして、ホストI/Oで使用されるキャッシュ領域と各種機能で使用されるテーブル領域とが重複した場合には、データが破壊されるという事象が発生するおそれがある。
1つの側面では、ストレージ装置に備えられる複数のストレージ制御装置間のキャッシュテーブル獲得状態を一致させることを目的とする。
1つの側面では、ストレージ制御装置は、ストレージ装置に備えられる複数のストレージ制御装置のうちのスレーブとして機能する一のストレージ制御装置であって、当該ストレージ制御装置の起動が、前記ストレージ装置全体の電源投入処理によるものであるか、当該ストレージ制御装置単体のリブートによるものであるかを判定する判定部と、前記判定部による判定結果におい当該ストレージ制御装置の起動が当該ストレージ制御装置単体のリブートによるものである場合に、前記複数のストレージ制御装置のうちのマスタとして機能するストレージ制御装置から、前記ストレージ装置における領域獲得のための制御情報を格納する制御情報格納領域の獲得状態を取得し、取得した前記獲得状態に基づいて前記制御情報格納領域を当該ストレージ制御装置において設定する領域設定部と、を備える。
1つの側面では、ストレージ装置に備えられる複数のストレージ制御装置間のキャッシュテーブル獲得状態を一致させることができる。
ストレージ装置の操作例を説明する図である。 キャッシュテーブル獲得状態が正常な状態を示すブロック図である。 キャッシュテーブル獲得状態が不一致な状態を示すブロック図である。 実施形態の一例におけるストレージ装置のハードウェア構成例を模式的に示すブロック図である。 図4に示したCMのソフトウェア構成例を模式的に示すブロック図である。 図4に示したCMにおけるキャッシュテーブル獲得状態情報を例示するテーブルである。 図4に示したキャッシュテーブル情報を例示するテーブルである。 図4に示したストレージ装置における機能有効化処理を説明するシーケンス図である。 図8に示したキャッシュテーブル獲得処理の詳細を説明するフローチャートである。 図9に示した装置全体のPower onの際におけるキャッシュテーブル獲得処理の詳細を説明するフローチャートである。 図9に示した単体CMのリブートの際におけるキャッシュテーブル獲得処理の詳細を説明するフローチャートである。 ハイエンドのストレージ装置のハードウェア構成例を模式的に示すブロック図である。
以下、図面を参照して一実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。
また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
以下、図中において、同一の各符号は同様の部分を示しているので、その説明は省略する。
〔A〕実施形態の一例
〔A-1〕システム構成例
図4は、実施形態の一例におけるストレージ装置100のハードウェア構成例を模式的に示すブロック図である。
ストレージ装置100は、CE10及び複数のDE2(別言すれば、DE#10~#29)を備える。
図4に示すように、一部のDE2(別言すれば、DE#19,#20)は、複数のIOM21(別言すれば、IOM#0,#1)及びFan Expander Module(FEM)23(別言すれば、FEM#00,#01)を備える。また、他のDE2は、複数のIOM21(別言すれば、IOM#0,#1)及びディスク群22を備える。
IOM21は、I/Oユニット又はボードであり、後述するCE10のCM1から指定されたドライブへSerial Attached SCSI(SAS)フレームを転送する。
ディスク群22は、複数のHard Disk Drive(HDD)等のディスクを備える。
FEM23は、IOM21で受領したSASフレームをCM1から指定されたドライブへ転送する。FEM23は、ファンも搭載し、DE2内を冷却する。
CE10は、複数のCM1(別言すれば、CM#0,#1)を備える。
CM1は、ストレージ制御装置の一例であり、CPU11,BIOS12,BUDコントローラ13,BUD14,IOC15,EXP16及びCA17を備える。なお、CPUはCentral Processing Unitの略称であり、BIOSはBasic Input/Output Systemの略称であり、BUDはBoot up Utility Deviceの略称である。また、IOCはInput Output Controllerの略称であり、EXPはExpanderの略称であり、CAはCommunication Adapterの略称である。
BIOS12は、CPU11によって実行され、プログラムからハードウェアに対するデータの入出力を行なう。
BUDコントローラ13は、CPU11からBUD14に対するアクセスを中継する。
BUD14は、ストレージ装置100の起動のためのファームウェアであり、起動の際のログを記録する。
IOC15は、DE2とCPU11との間のデータ転送を実施し、例えば、専用チップとして構成される。
EXP16は、SAS/Serial ATA(SATA)接続用のエキスパンダチップであり、CM1と複数のDE2とを接続するスイッチ機構である。複数のDE2は、CM1に対してカスケード接続されている。CM#0に対してDE#20~#29が、CM#1に対してDE#10~#19が、それぞれカスケード接続されている。
CA17は、不図示の上位装置とストレージ装置100とを通信可能に接続するインタフェースである。
図5は、図4に示したCM1のソフトウェア構成例を模式的に示すブロック図である。
CPU11は、例示的に、種々の制御や演算を行なう処理装置であり、種々の機能を実現する。すなわち、CPU11は、図5に示すように、GUI/CLI制御部111,コマンド制御部112,メモリ管理部113,構成管理部114及びI/O制御部115として機能してよい。
なお、これらのGUI/CLI制御部111,コマンド制御部112,メモリ管理部113,構成管理部114及びI/O制御部115としての機能を実現するためのプログラムは、例えばフレキシブルディスク、CD(CD-ROM、CD-R、CD-RW等)、DVD(DVD-ROM、DVD-RAM、DVD-R、DVD+R、DVD-RW、DVD+RW、HD DVD等)、ブルーレイディスク、磁気ディスク、光ディスク、光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供されてよい。そして、コンピュータ(本実施形態ではCPU11)は上述した記録媒体から図示しない読取装置を介してプログラムを読み取って内部記録装置または外部記録装置に転送し格納して用いてよい。また、プログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、記憶装置から通信経路を介してコンピュータに提供してもよい。
GUI/CLI制御部111,コマンド制御部112,メモリ管理部113,構成管理部114及びI/O制御部115としての機能を実現する際には、内部記憶装置に格納された制御プログラムがコンピュータ(本実施形態ではCPU11)によって実行されてよい。また、記録媒体に記録された制御プログラムをコンピュータが読み取って実行してもよい。
CPU11は、例示的に、CM1全体の動作を制御する。CM1全体の動作を制御するための装置は、CPU11に限定されず、例えば、MPUやDSP,ASIC,PLD,FPGAのいずれか1つであってもよい。また、CM1全体の動作を制御するための装置は、CPU,MPU,DSP,ASIC,PLD及びFPGAのうちの2種類以上の組み合わせであってもよい。なお、MPUはMicro Processing Unitの略称であり、DSPはDigital Signal Processorの略称であり、ASICはApplication Specific Integrated Circuitの略称である。また、PLDはProgrammable Logic Deviceの略称であり、FPGAはField Programmable Gate Arrayの略称である。
GUI/CLI制御部111は、ユーザ/外部ソフトウェア4からの指示を受け付け、装置制御用のコマンドInterface(IF)を実行する。CLI実行の際には、制御用コマンドIFをセットにして、コマンド制御部112を依頼してよい。なお、ユーザ/外部ソフトウェア4は、不図示の上位装置上で動作するストレージ管理ソフトウェアであってよい。ユーザ/外部ソフトウェア4は、ストレージ管理ソフトウェア上からストレージ装置100の機能の管理を実施し、ストレージ装置100における必要な機能を有効化する処理を行なってよい。
コマンド制御部112は、GUI/CLI制御部111から実行された制御用コマンドのIF設定に基づき、内部処理シーケンスの制御を行なう。
メモリ管理部113は、ストレージ装置100内のキャッシュテーブル(別言すれば、制御情報)の獲得や解放処理を実施する。
メモリ管理部113は、CM1の起動の際にCM1のリブートモードをチェックし、最適にキャッシュテーブルのテーブル領域を獲得する処理を行なう。ストレージ装置100の機能有効化の際においてキャッシュテーブルを獲得する処理の動作中に機能有効化処理が異常終了した場合に、メモリ管理部113は、CM1の起動がストレージ装置100全体のPower on処理であるか単体のCM1のリブートかを判定する。そして、メモリ管理部113は、CM1の起動がストレージ装置100全体のPower on処理であるか単体のCM1のリブートかに応じたキャッシュテーブル獲得処理を動作させることで、CM1間でキャッシュテーブルの獲得状態が不一致になることを回避する。
CM1の起動がストレージ装置100全体のPower on処理である場合には、全てのCM1で同一の装置構成情報が保持されるため、全CM1でのキャッシュテーブルの獲得状態は整合性が確保された状態となる。そこで、メモリ管理部113は、装置構成情報からキャッシュテーブルのサイズを算出して、キャッシュメモリからテーブル領域を獲得する。
一方、単体のCM1がリブートした場合には、メモリ管理部113は、マスタのCM1からキャッシュテーブル獲得状態情報(図6を用いて後述)を取得する。そして、メモリ管理部113は、自CM1の装置構成情報とマスタのCM1のキャッシュテーブル獲得状態情報とに基づき、キャッシュテーブル獲得処理を実行する。
すなわち、メモリ管理部113は、CM1の起動が、ストレージ装置100全体の起動によるものであるか、CM1単体の起動によるものであるかを判定する判定部の一例として機能する。そして、メモリ管理部113は、判定結果に応じて、ストレージ装置100の機能の有効化のためのキャッシュテーブルを格納するテーブル領域(別言すれば、制御情報格納領域)を設定する領域設定部の一例として機能する。
また、メモリ管理部113は、スレーブとして機能する自CM1の起動がCM1単体の起動によるものである場合に、マスタとして機能するCM1から制御情報格納領域の獲得状態を取得し、取得した獲得状態に基づいてテーブル領域を獲得してよい。
更に、メモリ管理部113は、獲得状態にIDが含まれているPoolについて、獲得状態で割り当てられている領域のサイズに応じて、テーブル領域を獲得してよい。
また、メモリ管理部113は、獲得状態にIDが含まれていないPoolについて、領域のサイズをゼロとして、テーブル領域を獲得してよい。
更に、メモリ管理部113は、獲得状態が取得できない場合に、ストレージ装置100全体を再起動させた後に、テーブル領域を獲得してよい。
構成管理部114は、コマンド実行の際の構成変更処理や処理変更通知を実施する。
I/O制御部115は、ホストからのI/O処理やユーザデータの冗長化処理を行なう。
図6は、図4に示したCM1におけるキャッシュテーブル獲得状態情報を例示するテーブルである。
キャッシュテーブル獲得情報には、Byte 0x00-0x10において、Cache Table information[0]が格納されている。また、Byte 0x10以降においても、Cache Table information[1] … [n-1]が格納されている。
図7は、図4に示したキャッシュテーブル情報を例示するテーブルである。
図6に示したCache Table Information [0]には、Byte 0x00-0x03においてMemory Pool Nameが格納されており、Byte 0x04-0x07においてPool IDが格納されており、Byte 0x08-0x0BにおいてAllocation Sizeが格納されており、Byte 0x0C以降においてAttributeが格納されている。Cache Table information[1] … [n-1]も同様に、各フィールドが格納されている。
Memory Pool Nameはキャッシュテーブルの名称であり、Pool IDはキャッシュテーブルの識別子であり、Allocation Sizeはキャッシュテーブルの獲得サイズであり、Attributeはキャッシュテーブルの属性である。
〔A-2〕動作例
図4に示したストレージ装置100における機能有効化処理を、図8に示すシーケンス図(処理C1~C16)に従って説明する。
以下、マスタとして機能するCM1をマスタCM1aと称し、スレーブとして機能するCM1をスレーブCM1bと称する。
マスタCM1aのGUI/CLI制御部111は、コマンド制御部112に対して、機能有効化指示を発行する(符号C1参照)。
マスタCM1aのコマンド制御部112は、コマンド指示を受け付け(符号C2参照)、GUI/CLI制御部111に対して機能有効化指示の応答を行なう(符号C3参照)。
マスタCM1aのGUI/CLI制御部111は、コマンド制御部112に対して、機能有効化結果を要求する(符号C4参照)。
マスタCM1aのコマンド制御部112は、メモリ管理部113に対してメモリ獲得要求を発行する(符号C5参照)と共に、GUI/CLI制御部111に対して機能有効化結果を応答する(符号C6参照)。
マスタCM1aのメモリ管理部113は、スレーブCM1bのメモリ管理部113と同期して、キャッシュテーブル獲得処理を実施する(符号C7及びC8参照)。なお、キャッシュテーブル獲得処理の詳細は、図9を用いて後述する。
マスタCM1aのメモリ管理部113は、コマンド制御部112に対して、メモリ獲得を応答する(符号C9参照)。
マスタCM1aのコマンド制御部112は、構成管理部114に対して、構成変更指示を発行する(符号C10参照)。
マスタCM1aの構成管理部114は、装置構成変更処理を行ない(符号C11参照)、コマンド制御部112に対して構成変更の応答を行なう(符号C12参照)。
マスタCM1aのGUI/CLI制御部111は、コマンド制御部112に対して、機能有効化結果を要求する(符号C13参照)。
マスタCM1aのコマンド制御部112は、コマンド処理を終了させ(符号C14参照)、GUI/CLI制御部111に対して機能有効化結果を応答する(符号C15参照)。そして、機能有効化処理は終了する。
なお、GUI/CLI制御部111は、符号C3に示した機能有効化指示の応答を受け取ってから、符号C15に示した機能有効化結果の応答を受け取るまで、コマンド制御部112からの機能有効化結果の応答をポーリングする(符号C16参照)。
次に、図8に示したキャッシュテーブル獲得処理の詳細を、図9に示すフローチャート(ステップS1~S4)に従って説明する。
メモリ管理部113は、CM1のPower onを検知すると、キャッシュテーブル獲得処理を開始する(ステップS1)。
メモリ管理部113は、Power onが単体のCM1のリブートであるか(別言すれば、CM1の復旧処理であるCheck1を示すBitが有効であるか)を判定する(ステップS2)。
Power onが単体のCM1のリブートでない場合には(ステップS2のNOルート参照)、メモリ管理部113は、ストレージ装置100全体のPower on処理についてのキャッシュテーブル獲得処理を実行する(ステップS3)。そして、キャッシュテーブル獲得処理は終了する。なお、ステップS3に示すストレージ装置100全体のPower on処理についてのキャッシュテーブル獲得処理の詳細は、図10を用いて後述する。
一方、Power onが単体のCM1のリブートである場合には(ステップS2のYESルート参照)、メモリ管理部113は、単体のCM1のリブートの際におけるキャッシュテーブル獲得処理を実行する(ステップS4)。そして、キャッシュテーブル獲得処理は終了する。なお、ステップS4に示す単体のCM1のリブートの際におけるキャッシュテーブル獲得処理の詳細は、図10を用いて後述する。
次に、図9に示した装置全体のPower onの際におけるキャッシュテーブル獲得処理の詳細を、図10に示すフローチャート(ステップS31~S34)に従って説明する。
メモリ管理部113は、ストレージ装置100全体のPower onの際におけるキャッシュテーブル獲得処理を開始する(ステップS31)。
メモリ管理部113は、構成設定からキャッシュテーブルのサイズを算出する(ステップS32)。メモリ管理部113は、Pool ID毎に定義されたキャッシュテーブルのサイズを決定する関数を実行する。
メモリ管理部113は、キャッシュテーブル獲得処理を実行する(ステップS33)。
メモリ管理部113は、未処理の残Poolが存在するかを判定する(ステップS34)。
未処理の残Poolが存在する場合には(ステップS34のYESルート参照)、処理はステップS32に戻る。
一方、未処理の残Poolが存在しない場合には(ステップS34のNOルート参照)、ストレージ装置100全体のPower onの際におけるキャッシュテーブル獲得処理は終了する。
次に、図9に示した単体CM1のリブートの際におけるキャッシュテーブル獲得処理の詳細を、図11に示すフローチャート(ステップS41~S48)に従って説明する。
メモリ管理部113は、単体CM1のリブートの際におけるキャッシュテーブル獲得処理を開始する(ステップS41)。
メモリ管理部113は、マスタCM1aのキャッシュテーブル情報が有効であるかを判定する(ステップS42)。
マスタCM1aのキャッシュテーブル情報が有効でない場合には(ステップS42のNOルート参照)、メモリ管理部113は、構成テーブルの設定値に従って、Pool ID有効時のキャッシュテーブルのサイズを算出する(ステップS43)。すなわち、ストレージ装置100全体の再起動が実行され、図10に示したストレージ装置100全体のPower onの際におけるキャッシュテーブル獲得処理が実行される。そして、処理はステップS47へ進む。
一方、マスタCM1aのキャッシュテーブル情報が有効である場合には(ステップS42のYESルート参照)、メモリ管理部113は、対象のPoolがマスタCM1aで獲得されているかを判定する(ステップS44)。
対象のPoolがマスタCM1aで獲得されていない場合には(ステップS44のNOルート参照)、メモリ管理部113は、Pool ID無効時のキャッシュテーブルのサイズを算出する(ステップS45)。対象のPoolがマスタCM1aで獲得されていない場合には、キャッシュテーブルのサイズは0として算出される。そして、処理はステップS47へ進む。
一方、対象のPoolがマスタCM1aで獲得されている場合には(ステップS44のYESルート参照)、メモリ管理部113は、Pool ID有効時のキャッシュテーブルのサイズを算出する(ステップS46)。
メモリ管理部113は、キャッシュテーブル獲得処理を実行する(ステップS47)。
メモリ管理部113は、未処理の残Poolが存在するかを判定する(ステップS48)。
未処理の残Poolが存在する場合には(ステップS48のYESルート参照)、処理はステップS44へ戻る。
一方、未処理の残Poolが存在しない場合には(ステップS48のNOルート参照)、単体CM1のリブートの際におけるキャッシュテーブル獲得処理は終了する。
〔A-3〕効果
上述した実施形態の一例におけるCM1及び制御プログラムによれば、例えば以下の作用効果を奏することができる。
メモリ管理部113は、CM1の起動が、ストレージ装置100全体の起動によるものであるか、CM1単体の起動によるものであるかを判定する。そして、メモリ管理部113は、判定結果に応じて、ストレージ装置100の機能の有効化のためのキャッシュテーブルを格納するテーブル領域を獲得する。
これにより、ストレージ装置100に備えられる複数のCM1間のキャッシュテーブル獲得状態を一致させることができる。具体的には、ストレージ装置100の機能有効化の際におけるキャッシュテーブル獲得処理の動作中において、機能有効化の処理が異常終了した場合でも、異常が発生したCM1のリブートの際に他のCM1との間でキャッシュテーブル獲得状態を一致させることができる。そして、キャッシュテーブル獲得状態をCM1間で整合性がある状態にすることで、ストレージ装置100を安定して稼働させることができる。
メモリ管理部113は、スレーブとして機能する自CM1の起動がCM1単体の起動によるものである場合に、マスタとして機能するCM1から領域の獲得状態を取得し、取得した獲得状態に基づいてテーブル領域を獲得する。
これにより、スレーブのCM1とマスタのCM1との間におけるキャッシュテーブル獲得状態を一致させることができる。
メモリ管理部113は、獲得状態にIDが含まれているPoolについて、獲得状態で割り当てられている領域のサイズに応じて、テーブルの領域を獲得する。
これにより、スレーブのCM1とマスタのCM1との間におけるキャッシュテーブルの領域サイズを一致させることができる。
メモリ管理部113は、獲得状態にIDが含まれていないPoolについて、領域のサイズをゼロとして、テーブル領域を獲得する。
これにより、マスタのCM1で獲得されていないPoolの領域サイズを0として、スレーブのCM1においてテーブル領域を獲得できる。
メモリ管理部113は、獲得状態が取得できない場合に、ストレージ装置100全体を再起動させた後に、テーブル領域を獲得する。
これにより、マスタのCM1からキャッシュテーブル獲得状態が取得できない場合においても、CM1間のキャッシュテーブル獲得状態の整合性を確実にとることができる。
〔B〕その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
ストレージ装置100の装置構成は、図4に示した例に限定されるものではない。
図12は、ハイエンドのストレージ装置100aのハードウェア構成例を模式的に示すブロック図である。
ストレージ装置100aはn-1個のCE10(別言すれば、CE#0~#n)を備え、各CE10には4つのDE2がそれぞれ接続される。なお、CE10及びDE2の構成は、図4に示したストレージ装置100と同様である。
また、ストレージ装置100aは、2つのFE3(別言すれば、FE#0,#1)を備える。
各FE3は、2つのFrontend Router(FRT)31及びService Controller(SVC)32を備える。なお、FE#0はFRT#0,#1及びSVC#0を備え、FE#1はFRT#2,#3及びSVC#1を備える。
FRT31は、FE3とCM1との間の通信経路を提供する。
SVC32は、システム管理を担うユニットであり、ストレージ装置100aに搭載されるモジュールの監視及び制御を行なう。
図12に示したストレージ装置100aにおいても、実施形態の一例に示したストレージ装置100と同様の作用効果を奏することができる。
〔C〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
ストレージ装置に備えられる複数のストレージ制御装置のうちの一のストレージ制御装置であって、
当該ストレージ制御装置の起動が、前記ストレージ装置全体の起動によるものであるか、当該ストレージ制御装置単体の起動によるものであるかを判定する判定部と、
前記判定部による判定結果に応じて、前記ストレージ装置の機能の有効化のための制御情報を格納する制御情報格納領域を設定する領域設定部と、
を備える、ストレージ制御装置。
(付記2)
当該ストレージ制御装置は、前記ストレージ装置においてスレーブとして機能するストレージ制御装置であり、
前記領域設定部は、当該ストレージ制御装置の起動が当該ストレージ制御装置単体の起動によるものである場合に、前記複数のストレージ制御装置のうちのマスタとして機能するストレージ制御装置から前記制御情報格納領域の獲得状態を取得し、取得した前記獲得状態に基づいて前記制御情報格納領域を設定する、
付記1に記載のストレージ制御装置。
(付記3)
前記領域設定部は、前記獲得状態に識別子が含まれているストレージプールについて、前記獲得状態で割り当てられている領域のサイズに応じて、前記制御情報格納領域を設定する、
付記2に記載のストレージ制御装置。
(付記4)
前記領域設定部は、前記獲得状態に識別子が含まれていないストレージプールについて、領域のサイズをゼロとして、前記制御情報格納領域を設定する、
付記2又は3に記載のストレージ制御装置。
(付記5)
前記領域設定部は、前記獲得状態が取得できない場合に、前記ストレージ装置全体を再起動させた後に、前記制御情報格納領域を設定する、
付記2~4のいずれか1項に記載のストレージ制御装置。
(付記6)
ストレージ装置に備えられる複数のストレージ制御装置のうちの一のストレージ制御装置に備えられるコンピュータに、
当該ストレージ制御装置の起動が、前記ストレージ装置全体の起動によるものであるか、当該ストレージ制御装置単体の起動によるものであるかを判定し、
前記判定の結果に応じて、前記ストレージ装置の機能の有効化のための制御情報を格納する制御情報格納域を設定する、
処理を実行させる、制御プログラム。
(付記7)
前記一のストレージ制御装置は、前記ストレージ装置においてスレーブとして機能するストレージ制御装置であり、
当該ストレージ制御装置の起動が当該ストレージ制御装置単体の起動によるものである場合に、前記複数のストレージ制御装置のうちのマスタとして機能するストレージ制御装置から前記制御情報格納領域の獲得状態を取得し、取得した前記獲得状態に基づいて前記制御情報格納領域を設定する、
処理を前記コンピュータに実行させる、付記6に記載の制御プログラム。
(付記8)
前記獲得状態に識別子が含まれているストレージプールについて、前記獲得状態で割り当てられている領域のサイズに応じて、前記制御情報格納領域を設定する、
処理を前記コンピュータに実行させる、付記7に記載の制御プログラム。
(付記9)
前記獲得状態に識別子が含まれていないストレージプールについて、領域のサイズをゼロとして、前記制御情報格納領域を設定する、
処理を前記コンピュータに実行させる、付記7又は8に記載の制御プログラム。
(付記10)
前記獲得状態が取得できない場合に、前記ストレージ装置全体を再起動させた後に、前記制御情報格納領域を設定する、
処理を前記コンピュータに実行させる、付記7~9のいずれか1項に記載の制御プログラム。
100,100a,600:ストレージ装置
10,60:CE
1,6 :CM
1a :マスタCM
1b :スレーブCM
11 :CPU
111 :GUI/CLI制御部
112 :コマンド制御部
113 :メモリ管理部
114 :構成管理部
115 :I/O制御部
12 :BIOS
13 :BUDコントローラ
14 :BUD
15 :IOC
16 :EXP
17 :CA
2,7 :DE
21 :IOM
22 :ディスク群
23 :FEM
3 :FE
31 :FRT
32 :SVC
4 :ユーザ/外部ソフトウェア
8 :ユーザ端末

Claims (5)

  1. ストレージ装置に備えられる複数のストレージ制御装置のうちのスレーブとして機能する一のストレージ制御装置であって、
    当該ストレージ制御装置の起動が、前記ストレージ装置全体の電源投入処理によるものであるか、当該ストレージ制御装置単体のリブートによるものであるかを判定する判定部と、
    前記判定部による判定結果におい当該ストレージ制御装置の起動が当該ストレージ制御装置単体のリブートによるものである場合に、前記複数のストレージ制御装置のうちのマスタとして機能するストレージ制御装置から、前記ストレージ装置における領域獲得のための制御情報を格納する制御情報格納領域の獲得状態を取得し、取得した前記獲得状態に基づいて前記制御情報格納領域を当該ストレージ制御装置において設定する領域設定部と、
    を備える、ストレージ制御装置
  2. 前記領域設定部は、前記獲得状態に識別子が含まれている前記ストレージ装置の領域を表すストレージプールについて、前記獲得状態で割り当てられている領域のサイズに応じて、前記制御情報格納領域を設定する、
    請求項に記載のストレージ制御装置。
  3. 前記領域設定部は、前記獲得状態に識別子が含まれていない前記ストレージ装置の領域を表すストレージプールについて、領域のサイズをゼロとして、前記制御情報格納領域を設定する、
    請求項又はに記載のストレージ制御装置。
  4. 前記領域設定部は、前記獲得状態が取得できない場合に、前記ストレージ装置全体を再起動させた後に、前記制御情報格納領域を設定する、
    請求項2又は3に記載のストレージ制御装置。
  5. ストレージ装置に備えられる複数のストレージ制御装置のうちのスレーブとして機能する一のストレージ制御装置に備えられるコンピュータに、
    当該ストレージ制御装置の起動が、前記ストレージ装置全体の電源投入処理によるものであるか、当該ストレージ制御装置単体のリブートによるものであるかを判定し、
    記判結果におい当該ストレージ制御装置の起動が当該ストレージ制御装置単体のリブートによるものである場合に、前記複数のストレージ制御装置のうちのマスタとして機能するストレージ制御装置から、前記ストレージ装置における領域獲得のための制御情報を格納する制御情報格納領域の獲得状態を取得し、取得した前記獲得状態に基づいて前記制御情報格納領域を当該ストレージ制御装置において設定する、
    処理を実行させる、制御プログラム。
JP2019228552A 2019-12-18 2019-12-18 ストレージ制御装置及び制御プログラム Active JP7371483B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019228552A JP7371483B2 (ja) 2019-12-18 2019-12-18 ストレージ制御装置及び制御プログラム
US17/078,142 US11449251B2 (en) 2019-12-18 2020-10-23 Storage control device and non-transitory computer-readable storage medium for storing control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019228552A JP7371483B2 (ja) 2019-12-18 2019-12-18 ストレージ制御装置及び制御プログラム

Publications (2)

Publication Number Publication Date
JP2021096714A JP2021096714A (ja) 2021-06-24
JP7371483B2 true JP7371483B2 (ja) 2023-10-31

Family

ID=76431494

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019228552A Active JP7371483B2 (ja) 2019-12-18 2019-12-18 ストレージ制御装置及び制御プログラム

Country Status (2)

Country Link
US (1) US11449251B2 (ja)
JP (1) JP7371483B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012048613A (ja) 2010-08-30 2012-03-08 Fujitsu Ltd ストレージシステム、制御装置および制御方法
JP2012203881A (ja) 2011-03-28 2012-10-22 Fujitsu Ltd ストレージ装置及びストレージ制御装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3618529B2 (ja) * 1997-11-04 2005-02-09 富士通株式会社 ディスクアレイ装置
JP3681590B2 (ja) * 1999-10-28 2005-08-10 株式会社ルネサステクノロジ データ処理装置及びデータ処理システム
US8656098B1 (en) * 2007-07-30 2014-02-18 Hewlett-Packard Development Company, L.P. System and method for activating a raid disk
US9557938B2 (en) * 2014-05-13 2017-01-31 Netapp, Inc. Data retrieval based on storage device activation schedules
JP2016212548A (ja) * 2015-05-01 2016-12-15 富士通株式会社 ストレージ制御装置、ストレージ制御方法、及びストレージ制御プログラム
KR20180038109A (ko) * 2016-10-05 2018-04-16 삼성전자주식회사 모니터링 회로를 포함하는 전자 장치 및 그것에 포함되는 스토리지 장치
KR20180095766A (ko) * 2017-02-17 2018-08-28 삼성전자주식회사 스토리지 장치
KR20200114481A (ko) * 2019-03-28 2020-10-07 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012048613A (ja) 2010-08-30 2012-03-08 Fujitsu Ltd ストレージシステム、制御装置および制御方法
JP2012203881A (ja) 2011-03-28 2012-10-22 Fujitsu Ltd ストレージ装置及びストレージ制御装置

Also Published As

Publication number Publication date
US11449251B2 (en) 2022-09-20
US20210191637A1 (en) 2021-06-24
JP2021096714A (ja) 2021-06-24

Similar Documents

Publication Publication Date Title
JP4723290B2 (ja) ディスクアレイ装置及びその制御方法
US8127128B2 (en) Synchronization of swappable module in modular system
JP6555096B2 (ja) 情報処理装置およびプログラム更新制御方法
JP5637873B2 (ja) 計算機システムおよびpciカードのhba識別子引き継ぎ方式
TWI522807B (zh) 利用儲存區域網路回復電腦系統的系統及方法
US20170139605A1 (en) Control device and control method
JP2007025933A (ja) ストレージシステム及びそのファームウェア自動更新方法
JP5314731B2 (ja) データ処理装置間の基本入出力プログラムの同期化方法及びコンピュータシステム
JP2009282834A (ja) ディスクアレイ装置,制御ファーム適用方法,及び制御ファーム適用制御部
JP2007080012A (ja) 再起動方法、システム及びプログラム
JP6515462B2 (ja) 情報処理装置、情報処理装置の設定方法及び設定プログラム
JP5078592B2 (ja) フェイルオーバーを行わせる方法
JP7371483B2 (ja) ストレージ制御装置及び制御プログラム
JP2015099541A (ja) ストレージ制御装置,プログラム及び制御方法
JP5484434B2 (ja) ネットワークブート計算機システム、管理計算機、及び計算機システムの制御方法
JP2010198420A (ja) ストレージ制御装置,ストレージ制御方法およびストレージ制御プログラム
JP2014191399A (ja) 情報処理システム、記憶装置、およびバックアップ方法
US8667262B2 (en) Information processing apparatus and its control method
US20190129634A1 (en) Method and apparatus for triggering raid reconstruction
KR100792786B1 (ko) 백업 이미지 파일을 이용한 컴퓨터의 최적화 운영체제 복구방법
US10977107B2 (en) Apparatus and method to control a storage device
US11074144B2 (en) Active firmware replacement in storage system and in storage controller, and computer-readable recording medium having stored therein program for active firmware replacement in controlling storage
JP2019159437A (ja) 情報処理装置、転送制御方法および転送制御プログラム
JP5345655B2 (ja) 基本入出力プログラムの冗長管理方法及びデータ処理装置
JP2016126594A (ja) 制御装置,ストレージ装置及び制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220809

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230627

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230825

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20230825

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231002

R150 Certificate of patent or registration of utility model

Ref document number: 7371483

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150