JP2010122730A - ストレージ制御装置及びストレージシステム - Google Patents

ストレージ制御装置及びストレージシステム Download PDF

Info

Publication number
JP2010122730A
JP2010122730A JP2008293330A JP2008293330A JP2010122730A JP 2010122730 A JP2010122730 A JP 2010122730A JP 2008293330 A JP2008293330 A JP 2008293330A JP 2008293330 A JP2008293330 A JP 2008293330A JP 2010122730 A JP2010122730 A JP 2010122730A
Authority
JP
Japan
Prior art keywords
storage
input
data
storage device
battery
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
JP2008293330A
Other languages
English (en)
Inventor
Hiroki Kanai
宏樹 金井
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 JP2008293330A priority Critical patent/JP2010122730A/ja
Priority to US12/348,063 priority patent/US20100125704A1/en
Publication of JP2010122730A publication Critical patent/JP2010122730A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/222Non-volatile memory
    • G06F2212/2228Battery-backed RAM

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】ホスト計算機とストレージ装置に接続され、ストレージ装置へのデータの入出力を制御するストレージ制御装置において、ストレージ制御装置内の記憶装置の有効活用を図り、信頼性が高く、しかも、迅速なデータ入出力制御を行う。
【解決手段】中央処理装置110とチャネルインターフェース部160とディスクインターフェース部170と入出力制御部180とを備えたストレージ制御装置において、主記憶装置120を、電源の切断後の所定時間の間、データの不揮発性が維持されるバッテリバックアップした揮発メモリにより構成し、バッテリバックアップした主記憶装置120と入出力制御部180の記憶装置150とにより、ストレージ制御装置のキャッシュ装置としてのメモリアドレス空間を形成し、キャッシュ装置とディスクドライブ装置との間のステージング及びデステージング処理を行う。
【選択図】図1

Description

本発明は、ストレージ装置のデータ入出力を行う制御装置のメモリの利用効率を向上させたストレージ制御装置及びストレージシステムに関する。
複数のディスク装置を含むストレージ装置のデータ入出力の制御に用いられるディスク・キャッシュ等の複数のメモリを活用する技術としては、例えば、特許文献1には、ディスク制御装置に接続されるディスク・キャッシュ装置を不揮発性メモリの部分と揮発性メモリの部分とにより構成し、中央処理装置からの出力処理をディスク・キャッシュ装置の不揮発性部分に書きこんだ段階で処理を完了し、更に、ディスク・キャッシュ装置の不揮発性部分上の複数のデータをまとめてディスク装置に書き込む計算機システムが記載されている。
また、例えば、特許文献2には、キャッシュメモリへの書き込み処理を減らしながらデータの二重化を実現して装置性能を向上させるために、ホストコンピュータ/サーバからの書き込みデータを、データ転送制御部により、不揮発性メモリ部と、スイッチ部を介したグローバルキャッシュメモリ部とに転送して二重書きを行うディスクアレイ装置が記載されている。
図11に、従来例である不揮発メモリを備えたストレージシステムの概略全体図の一例を示す。ストレージシステムは、複数のコントローラ(CTL0,CTL1)を備えたストレージ制御装置CTLによりホスト計算機からの入出力命令に対応してディスクドライブ装置へのデータの書き込み及び読み出し制御(入出力制御)を行う。例えば、ストレージ制御装置CTL0は、主記憶装置(揮発メモリ1)に応用プログラムを格納し中央処理装置(CPU)の指令により各種の制御を行う。応用プログラムとして入出力制御プログラムを用いることにより、CPUの指令制御によりデータ入出力のソフトウェア制御を行うことが可能である。
また、ホスト計算機と接続する専用のインターフェースコントローラ(チャネルIFCTL)やハードディスクドライブと接続する専用のインターフェースコントローラ(ディスクIFCTL)を用い、データ入出力の制御を行う専用の制御回路(IOCTL)により入出力のハードウェア制御を行うことができる。データ入出力制御回路には不揮発性(電源を切ってもデータが消えない)のキャッシュメモリ(不揮発メモリ2)を接続し、ホストコンピュータからのデータをキャッシュメモリに一旦記憶し、キャッシュメモリに記憶したデータをハードディスク装置に書き込む(デステージング)制御や、ハードディスク装置に記憶されているデータを読み出してキャッシュメモリに記憶(ステージング)したのち、ホスト計算機に転送するなどの制御が可能となっている。
揮発メモリは、例えば、コンピュータのメインメモリに用いられているDRAM(Dynamic Random Access Memory)のように電源を切ると記憶されたデータが消去する揮発性のメモリを意味している。不揮発メモリは、電源を切っても記憶されたデータが残るメモリであり、フラッシュ(Flash)メモリのように電源を切っても記憶されたデータが残る不揮発性メモリや、磁気ディスクメモリ、あるいは、揮発性メモリを電源でバックアップして不揮発性を維持するバッテリバックアップ型のメモリ等を意味している。ストレージ制御装置の入出力制御においては、揮発性メモリを電池または蓄電池に蓄積された電源により、所定時間、不揮発性を維持するバッテリバックアップ型のキャッシュメモリ(メモリ2)が用いられるようになっている。
特開昭59−135563号公報 特開2005−301419号公報
揮発メモリは、一般にデータの入出力速度が遅く、電源が切れるとデータが消えてしまう。一方、不揮発メモリは、一般にはデータの入出力速度が速く、電源を切っても記憶されたデータが維持される高性能なメモリであるが、比較的高コストである。大量のキャッシュメモリを用いることが必要なストレージ制御装置においては、ストレージ制御装置に用いる記憶装置にとって、最適なメモリ構成を選択することが重要となっている。
また、ストレージ制御装置の入出力制御の際に、キャッシュメモリとハードディスク装置との間のデステージングやステージングのデータ入出力制御を行うときには、キャッシュメモリ上のデータが既に、例えば、ハードディスク装置に書き込まれていて、仮に消去されても致命的とはならないデータ(クリーンデータ)であるのか、あるいは、データ更新がなされた状態で、例えば、そのデータがキャッシュメモリ上にしかなく、消去されると修復が不可能なデータ(ダーティデータ)であるかに応じて的確な対応が可能な入出力制御が必要である。また、入出力制御するデータが制御データであって消去されると制御に支障のあるデータであるか単なるユーザの記憶データであるかに応じて、対応可能な制御が必要である。
上記の特許文献1または2に記載された技術は、ディスク・キャッシュ装置を不揮発性メモリの部分と揮発性メモリの部分とにより構成したもの、あるいは、不揮発のキャッシュメモリと外部のグローバルキャッシュ装置の双方に記憶するものに過ぎず、いずれの文献にも、格納する情報の種類に応じて、メモリの格納手段や格納方法を異ならせることについては何も開示されていない。
本発明は、ホスト計算機とストレージ装置に接続され、ホスト計算機からの指令に応じてストレージ装置へのデータの入出力を制御するストレージ制御装置において、ストレージ制御装置内の記憶装置の有効活用を図り、信頼性が高く、しかも、迅速なデータ入出力制御を行うことを目的とする。
本発明のストレージ制御装置は、主記憶装置と接続した中央処理装置と、ホスト計算機と接続するチャネルインターフェース部と、ディスクドライブ装置と接続するディスクインターフェース部と、記憶装置と接続した入出力制御部と、を備えており、前記主記憶装置を、電源の切断後の所定時間の間、データの不揮発性が維持されるバッテリバックアップした揮発メモリにより構成し、前記バッテリバックアップした主記憶装置と前記入出力制御部の記憶装置とにより、前記ストレージ制御装置のキャッシュ装置としてのメモリアドレス空間を形成し、前記ディスクドライブ装置に記憶されたデータを読み出して前記キャッシュ装置に書き込むステージング処理と前記キャッシュ装置に記憶されたデータを読み出して前記ディスクドライブ装置に書き込むデステージング処理を行うことを特徴とする。
また、本発明のストレージ制御装置は、主記憶装置と接続した中央処理装置と、ホスト計算機と接続するチャネルインターフェース部と、ディスクドライブ装置と接続するディスクインターフェース部と、記憶装置と接続した入出力制御部と、を備えており、前記主記憶装置と前記前記入出力制御部の記憶装置とを、電源の切断後の所定時間の間、データの不揮発性が維持されるバッテリバックアップした揮発メモリにより構成し、前記バッテリバックアップした主記憶装置と前記入出力制御部のバッテリバックアップした記憶装置とにより、前記ストレージ制御装置のキャッシュ装置としてのメモリアドレス空間を形成し、前記ディスクドライブ装置に記憶されたデータを読み出して前記キャッシュ装置に書き込むステージング処理と前記キャッシュ装置に記憶されたデータを読み出して前記ディスクドライブ装置に書き込むデステージング処理を行うことを特徴とする。
更に、本発明のストレージシステムは、主記憶装置と接続した中央処理装置と、ホスト計算機と接続したチャネルインターフェース部と、ディスクドライブ装置と接続したディスクインターフェース部と、記憶装置と接続した入出力制御部と、を備えた複数のストレージ制御装置と、前記チャネルインターフェース部を介して前記ストレージ制御装置と接続したホスト計算機と、前記ディスクインターフェース部を介して前記ストレージ制御装置と接続したディスクドライブ装置と、を有しており、前記複数のストレージ制御装置の前記主記憶装置と前記前記入出力制御部の記憶装置とを、電源の切断後の所定時間の間、データの不揮発性が維持されるバッテリバックアップした揮発メモリにより構成し、自系のバッテリバックアップした主記憶装置と入出力制御部のバッテリバックアップした記憶装置と、他系のバッテリバックアップした主記憶装置と入出力制御部のバッテリバックアップした記憶装置とにより、ストレージシステムのキャッシュ装置としてのメモリアドレス空間を形成し、前記ディスクドライブ装置に記憶されたデータを読み出して前記キャッシュ装置に書き込むステージング処理と前記キャッシュ装置に記憶されたデータを読み出して前記ディスクドライブ装置に書き込むデステージング処理を行うことを特徴とする。
本発明によれば、ストレージ制御装置及びストレージシステムの入出力制御に用いるメモリの利用効率を向上させることができる。また、ストレージ制御装置のキャッシュメモリとストレージ装置との間のステージング及びデステージングの入出力制御を、信頼性が高く、しかも、迅速に行うことができる。
以下、図面を用いて、本発明の実施の形態について説明する。図1は実施例1のストレージ制御装置を備えたストレージシステムの概略全体図であり、図2はストレージ制御装置のメモリ空間の構成を示す格納領域管理テーブルの例である。また、図3は実施例2、図4は実施例3のストレージ制御装置を備えたストレージシステムの概略全体図を示している。
また、図5〜図10は本発明のストレージ制御装置の各処理の内容を示すフローチャートであり、図6はデータ書き込み(Write)処理、図7はデータ書き込み時の処理格納領域確保処理、図8はデータ読み出し(Read)処理、図9はデータ読み出し時の処理格納領域確保処理、図10はデータバックアップ用、及び、リモートコピー用のドライブデータの転送処理を示している。
図1は、本発明の実施例1のストレージ制御装置を備えたストレージシステムの概略全体図である。また、図2は、本発明のストレージ制御装置のメモリ空間の構成を示す格納領域管理テーブルの例を示している。
図1において、10はストレージ制御システム、20,21はホスト計算機、30はストレージ装置(ドライブ)、31,32はディスク装置、100,101はストレージ制御装置、110,111は中央処理装置(CPU)、120,121は主記憶装置(メモリ1)、130,131は入出力制御モジュール(IOモジュール)、141はプログラム、142は管理情報、143はユーザデータ1、144はユーザデータ2、150,151はキャッシュメモリ(メモリ2)、160,161はチャネルインターフェース部(チャネルIFCTL)、170,171はディスクインターフェース部(ディスクIFCTL)、180,181は入出力制御部(IOCTL)を示している。
なお、実施例1において、図1には、入出力制御部(IOCTL)180とチャネルインターフェース部(チャネルIFCTL)160とディスクインターフェース部(ディスクIFCTL)170から入出力制御モジュール(IOモジュール)130を構成する例が示されているが、これは一実装例を示しているにすぎず、本発明は、図1に示されたモジュールの実装例に限定されず、各々を別のモジュールとして実装する場合、あるいは、入出力制御部(IOCTL)180とCPU110とを同一基板に実装し、チャネルインターフェース部(チャネルIFCTL)160とディスクインターフェース部(ディスクIFCTL)170とを各々別のモジュールとして実装する場合などの実装形態が可能である。
本発明の実施例1のストレージ制御装置100は、主記憶装置あるメモリ(1)120を備えた中央処理装置(CPU)110と、ホスト計算機20と接続するチャネルインターフェース部(チャネルIFCTL)160とストレージ装置30と接続するディスクインターフェース部(ディスクIFCTL)170とキャッシュメモリであるメモリ(2)150と入出力を制御する入出力制御部(IOCTL)180を備えた入出力制御モジュール(IOモジュール)130とから構成されている。
本発明の実施例1では、主記憶装置(メモリ1)120は、電池または蓄電池に蓄積された電力により所定時間、不揮発性が維持される(電源が切れても所定時間、記憶されたデータが保持される)ようにバックアップされた揮発メモリから構成されており、バッテリバックアップ(BBU:Battery Buck Up)された主記憶装置(メモリ1)には、プログラム141、管理情報142、ユーザデータ(1)143が記憶され、バッテリバックアップされた所定時間の間に、中央処理装置(CPU)110は、主記憶装置(メモリ1)に記憶されたプログラム141により応用プログラムを動作させることができる。
プログラム141として、ストレージ制御装置の入出力制御プログラムを格納しておけば、電源が切断しても、バッテリバックアップされた所定時間の間に、中央処理装置(CPU)110が入出力制御プログラムを作動し、主記憶装置(メモリ1)120に記憶された管理情報143をも参照し、また、入出力モジュール130を制御して、ユーザデータ1,2を所定の記憶装置に入出力するソフトウェア制御を行うことができる。
図2は、データ入出力制御の際に検索してストレージ制御装置のメモリ空間の構成を示す格納領域管理テーブルの例を示している。図2において、200はメモリ管理テーブル、201は先頭アドレス、202は終了アドレス、203は管理単位、204は用途、210はメモリアドレスデータテーブル、211はキャッシュアドレス、212はドライブ番号、213はドライブアドレス、214はステータスを示している。
メモリ管理テーブル200は、先頭アドレス201、終了アドレス202、管理単位203、用途204の各コラムを備えており、入出力制御されるデータのメモリ空間上でのアドレス位置、入出力制御データの大きさを示す管理単位、入出力制御データが制御データを含む管理情報か各ユーザデータであるかを示す用途情報を記憶している。
また、メモリアドレスデータテーブル210は、キャッシュアドレス211、ドライブ番号212、ドライブアドレス213、ステータス214の各コラムを備えており、バックアップした主記憶装置(メモリ1)とキャッシュメモリ(メモリ2)を含むキャッシュ装置のメモリ空間におけるキャッシュアドレス211と、キャッシュアドレスに記憶されるデータに対応したストレージ装置(ディスク)30を識別するドライブ番号とストレージ装置(ディスク)30のメモリ空間におけるドライブアドレスと、記憶されたデータがキャッシュ装置(メモリ1,2)のみに存在するDirtyの状態と、キャッシュ装置(メモリ1,2)とストレージ装置(ディスク)30の両方に存在するCleanの状態を示すステータスの情報を管理している。
ストレージ制御装置において、中央制御装置(CPU)がデータの入出力制御を行うソフトウェア制御の場合、あるいは、データの入出力制御を入出力モジュール(IOモジュール)103の専用の入出力制御部(IOCTL)が行うハードウェア制御の場合には、メモリ1あるいはメモリ2に記憶したストレージ制御装置のメモリ空間の構成を示す格納領域管理テーブルを検索し参照して、入出力処理の格納処理の確保を行い、データの書き込み(Write)処理や、データの読み出し(Read)処理や、データの転送処理を行う。
図3は、本発明の実施例2のストレージ制御装置を備えたストレージシステムの概略全体図である。図3において、10はストレージ制御システム、20,21はホスト計算機、30はストレージ装置(ドライブ)、31,32はディスク装置、100,101はストレージ制御装置、110,111は中央処理装置(CPU)、120,121は主記憶装置(メモリ1)、130,131は入出力制御モジュール(IOモジュール)、141はプログラム、142は管理情報、143はユーザデータ1、144はユーザデータ2、150,151はキャッシュメモリ(メモリ2)、160,161はチャネルインターフェース部(チャネルIFCTL)、170,171はディスクインターフェース部(ディスクIFCTL)、180,181は入出力制御部(IOCTL)を示している。
なお、実施例2において、図3には、入出力制御部(IOCTL)180とチャネルインターフェース部(チャネルIFCTL)160とディスクインターフェース部(ディスクIFCTL)170から入出力制御モジュール(IOモジュール)130を構成する例が示されているが、これは一実装例を示しているにすぎず、本発明は、図3に示されたモジュールの実装例に限定されず、各々を別のモジュールとして実装する場合、あるいは、入出力制御部(IOCTL)180とCPU110とを同一基板に実装し、チャネルインターフェース部(チャネルIFCTL)160とディスクインターフェース部(ディスクIFCTL)170とを各々別のモジュールとして実装する場合などの実装形態が可能である。
本発明の実施例2のストレージ制御装置100は、主記憶装置あるメモリ(1)120を備えた中央処理装置(CPU)110と、ホスト計算機20と接続するチャネルインターフェース部(チャネルIFCTL)160とストレージ装置30と接続するディスクインターフェース部(ディスクIFCTL)170とキャッシュメモリであるメモリ(2)150と入出力を制御する入出力制御部(IOCTL)180を備えた入出力制御モジュール(IOモジュール)130とから構成されている。
本発明の実施例1では、主記憶装置(メモリ1)120がバッテリバックアップされた揮発メモリから構成されていたが、本発明の実施例2のストレージ制御装置では、主記憶装置(メモリ1)120だけでなく、キャッシュメモリ(メモリ2)150もバッテリバックアップされた揮発メモリから構成されており、主記憶装置(メモリ1)120とキャッシュメモリ(メモリ2)150の双方のメモリが、電池または蓄電池に蓄積された電力により所定時間、不揮発性が維持される(電源が切れても所定時間、記憶されたデータが保持される)ように構成され、両者が全体として、キャッシュ装置として機能する、あるいは、バッテリバックアップされた主記憶装置(メモリ1)120が、バッテリバックアップされたキャッシュメモリ(メモリ2)150のサブメモリとして機能するように構成することができる。
本発明の実施例2では、バッテリバックアップ(BBU:Battery Buck Up)された主記憶装置(メモリ1)には、プログラム141、ユーザデータ(1)143が記憶され、バッテリバックアップ(BBU:Battery Buck Up)されたキャッシュメモリ(メモリ2)150には、管理情報142とユーザデータ2が記憶される。
バッテリバックアップされた所定時間の間に、入出力制御モジュール(IOモジュール)130の入出力制御部(IOCTL)は、入出力制御部(IOCTL)に組み込まれたハードウェア制御により、バッテリバックアップされたキャッシュメモリ(メモリ2)150に記憶された管理情報を参照して、ホスト計算機20からの入出力指令に応答して、ストレージ装置(ドライブ)30と、主記憶装置(メモリ1)120またはキャッシュメモリ(メモリ2)150との間のデータの入出力制御、あるいは、主記憶装置(メモリ1)120とキャッシュメモリ(メモリ2)150のキャッシュ装置間のデータの入出力制御などを行うことができる。
図4は、本発明の実施例3のストレージ制御装置を備えたストレージシステムの概略全体図である。図4において、10はストレージ制御システム、20,21はホスト計算機、30はストレージ装置(ドライブ)、31,32はディスク装置、100,101はストレージ制御装置、110,111は中央処理装置(CPU)、120,121は主記憶装置(メモリ1)、130,131は入出力制御モジュール(IOモジュール)、141はプログラム、142は管理情報、143はユーザデータ1、144はユーザデータ2、150,151はキャッシュメモリ(メモリ2)、160,161はチャネルイン1,2ターフェース部(チャネルIFCTL)、170,171はディスクインターフェース部(ディスクIFCTL)、180,181は入出力制御部(IOCTL)を示している。
なお、実施例3において、図4には、入出力制御部(IOCTL)180,181とチャネルインターフェース部(チャネルIFCTL)160,161とディスクインターフェース部(ディスクIFCTL)170,171から入出力制御モジュール(IOモジュール)130,131を構成する例が示されているが、これは一実装例を示しているにすぎず、本発明は、図4に示された各モジュールの実装例に限定されず、各々を別のモジュールとして実装する場合、あるいは、入出力制御部(IOCTL)180,181とCPU110,111とを同一基板に実装し、チャネルインターフェース部(チャネルIFCTL)160,161とディスクインターフェース部(ディスクIFCTL)170,171とを各々別のモジュールとして実装する場合などの実装形態が可能である。
本発明の実施例1のストレージ制御装置100は、主記憶装置あるメモリ(1)120を備えた中央処理装置(CPU)110と、ホスト計算機20と接続するチャネルインターフェース部(チャネルIFCTL)160とストレージ装置30と接続するディスクインターフェース部(ディスクIFCTL)170とキャッシュメモリであるメモリ(2)150と入出力を制御する入出力制御部(IOCTL)180を備えた入出力制御モジュール(IOモジュール)130とから構成されている。
図1または図3の実施例1,2では、ストレージ制御システム10のストレージ制御装置100,101の一方、すなわち、ストレージ制御装置100のみにおいて、主記憶装置(メモリ1)120は、電池または蓄電池に蓄積された電力により所定時間、不揮発性が維持される(電源が切れても所定時間、記憶されたデータが保持される)ようにバッテリバックアップされた揮発メモリから構成されており、他系のストレージ制御装置101では、上記バッテリバックアップされた揮発メモリの構成が採用されていない。
本発明の実施例3では、図4に示すように、ストレージ制御装置100とストレージ制御装置101のいずれにおいても、主記憶装置(メモリ1)120及びキャッシュメモリ(メモリ2)の双方が、電池または蓄電池に蓄積された電力により所定時間、不揮発性が維持される(電源が切れても所定時間、記憶されたデータが保持される)ようにバッテリバックアップされた揮発メモリから構成されている。
本発明の実施例3では、データの二重化を行う場合に、自系のストレージ制御装置100の主記憶装置(メモリ1)120及びキャッシュメモリ(メモリ2)のみならず、他系のストレージ制御装置101の主記憶装置(メモリ1)120及びキャッシュメモリ(メモリ2)もキャッシュ装置として使用することができ、また、他系のストレージ制御装置101の数を更に複数に増加することもでき、ストレージシステムとして、データの入出力制御を行うキャッシュ装置のメモリ空間の大きさを大幅に増大させることができる。
[ストレージ制御装置の制御フロー]
以下、本発明のストレージ制御装置の各処理の内容について説明する。図5〜図10は、本発明の実施例1から3のストレージ制御装置の各処理の内容を示すフローチャートであり、図6はデータ書き込み(Write)処理、図7はデータ書き込み時の処理格納領域確保処理、図8はデータ読み出し(Read)処理、図9はデータ読み出し時の処理格納領域確保処理、図10はデータバックアップ用、及び、リモートコピー用のドライブデータの転送処理を示している。
図5は、本発明のストレージ制御装置のホスト入出力(IO)処理の内容を示すフローチャートである。図5において、ホストIO処理が開始されると、ステップ501において、ホスト計算機20からの入出力指令(IO)を受領し、CMD(Command:命令)判定を行い、書き込み(Write)処理か、読み出し(Read)処理かのIO種判定を行う。ホストIO処理は、入出力制御モジュール(IOモジュール)130の入出力制御部(IOCTL)180によるハードウェア制御により行うことが可能であり、また、電源の切断後であっても、バッテリバックアップされた所定時間内は、バッテリバックアップされた主メモリ(メモリ1)に記憶された入出力制御プログラム141を用いて中央処理装置(CPU)110がソフトウェア制御により行うことが可能である。
次に、ステップ503において、書き込み(Write)処理である(Yes)の場合はステップ504に移行し、書き込み(Write)処理を実行して、ホスト入出力(IO)処理を終了する。また、ステップ503において、書き込み(Write)処理でない(No)の場合はステップ505に移行し、読み出し(Read)処理を実行して、ホスト入出力(IO)処理を終了する。
図6は、本発明のストレージ制御装置のデータ書き込み(Write)処理の内容を示すフローチャートである。図6のデータ書き込み(Write)処理は、図5のホストIO処理のステップ504に対応している。
図6において、データ書き込み(Write)処理が開始されると、ステップ601において、キャッシュ領域(メモリ1,2)に格納領域を確保する。実施例1の場合には、バッテリバックアップされた主記憶装置(メモリ1)と、入出力モジュール(IOモジュール)130内のキャッシュメモリ(メモリ2)のキャッシュ領域に格納領域を確保し、実施例2の場合には、バッテリバックアップされた主記憶装置(メモリ1)と、入出力モジュール(IOモジュール)130内のバッテリバックアップされたキャッシュメモリ(メモリ2)のキャッシュ領域に格納領域を確保する。
また、実施例3の場合には、自系のバッテリバックアップされた主記憶装置(メモリ1)と、入出力制御モジュール(IOモジュール)130内のバッテリバックアップされたキャッシュメモリ(メモリ2)、及び、他系のバッテリバックアップされた主記憶装置(メモリ1)と、入出力モジュール(IOモジュール)130内のバッテリバックアップされたキャッシュメモリ(メモリ2)のキャッシュ領域内に格納領域を確保する。
続いて、ステップ602において、書き込み(Write)データをキャッシュに格納し、各キャッシュ領域(メモリ1,2)にデータの二重書き処理を行って、格納領域管理テーブルのステータス情報を更新して、書き込み(Write)処理を終了する。各キャッシュ領域(メモリ1,2)書き込まれたデータは必要な場合、所定の時点で、各キャッシュ領域(メモリ1,2)から読み出され、ストレージ装置30のディスク装置31,32に書き込むデステージング処理がなされる。
なお、上記実施例の説明では、ホスト計算機20からの入出力指令(IO)を受領し、CMD(Command:命令)判定を行い、書き込み(Write)処理か、読み出し(Read)処理かのIO種判定を行って、書き込み(Write)処理の場合にデータの二重書きを行うものとして説明しているが、ホスト計算機から送信される入出力指令(IO)とデータの種別を判定する際に、送信データが制御データであるか否かを判定して、制御データであると判定された場合には、不揮発性メモリ、または、バッテリバックアップされた揮発メモリにデータ格納領域を確保して制御データの二重書きを行うように構成することが可能である。
図7は、本発明のストレージ制御装置のデータ書き込み(Write)処理の格納領域確保処理の内容を示すフローチャートである。図7は、図6のデータ書き込み(Write)処理のステップ601に対応している。図7において、データ書き込み(Write)処理の格納領域確保処理が開始されると、ステップS701において、格納領域管理テーブルを検索・参照する。格納領域管理テーブルは、例えば、図2のメモリ管理テーブル200及びメモリアドレスデータテーブルに対応している。メモリ管理テーブル200は先頭アドレス201、202は終了アドレス202、203は管理単位203、用途204等の情報を記憶し、メモリアドレスデータテーブル210は、キャッシュアドレス211、ドライブ番号212、ドライブアドレス213、ステータス214等の情報を記憶している。
格納領域管理テーブルは、管理情報として、図1の実施例1の場合には、例えば、バッテリバックアップされた主記憶装置(メモリ1)に、また、図3,4の実施例2,3の場合には、例えば、キャッシュメモリ(メモリ2)に記憶され、入出力のソフトウェア制御を行う中央処理装置(CPU)110または入出力のハードウェア制御を行う入出力制御部(IOCTL)により検索・参照される。
続いて、ステップ702において、バッテリバックアップした不揮発メモリにデータサイズ分の領域を確保して、データ書き込み(Write)処理の格納領域確保処理を終了する。データ書き込み(Write)処理の場合は、書き込み先のアドレス領域がデータサイズ分を記憶するための十分な広さの、しかも、不揮発性の、すなわち、電源が切れてもデータが消去されることのないメモリ領域を確保することが特に重要である。
図8は、本発明のストレージ制御装置のデータ読み出し(Read)処理の内容を示すフローチャートである。図8において、データ読み出し(Read)処理が開始されると、ステップ801において、ホスト計算機20から読み出し要求のあったデータがメモリ上に存在するか否かが判定される。
データ読み出し(Read)処理も、データ書き込み(Write)処理と同様、入出力制御モジュール(IOモジュール)130の入出力制御部(IOCTL)180によるハードウェア制御により行うことが可能であり、また、電源の切断後であっても、バッテリバックアップされた所定時間内は、バッテリバックアップされた主メモリ(メモリ1)に記憶された入出力制御プログラム141を用いて中央処理装置(CPU)110がソフトウェア制御により行うことが可能である。
ステップ801において、当該データがメモリ上に存在する(Yes)場合には、ステップ804に移行し、ステップ804において、ホスト計算機20に要求データを転送して、データ読み出し(Read)処理を終了する。
ステップ801において、当該データがメモリ上に存在しない(No)場合には、ステップ802に移行し、ステップ802において、揮発メモリに格納領域を確保し、ステップ803においてデータをストレージ装置(ドライブ)30から揮発メモリに格納するステージング処理を行う。データ読み出し(Read)処理の場合には、データの二重書きは行わない。次に、ステップ804において、揮発メモリに格納した要求データ(ステージングされたデータ)をホスト計算機に転送して、データ読み出し(Read)処理を終了する。
図9は、本発明のストレージ制御装置のデータ読み出し(Read)処理の格納領域確保処理の内容を示すフローチャートである。図9は、図8のデータ読み出し(Read)処理のステップ802に対応している。図9において、データ読み出し(Read)処理の格納領域確保処理が開始されると、ステップ901において、格納領域管理テーブルを検索・参照し、ステップ902において、揮発メモリにデータサイズ分の領域を確保して、データ読み出し(Read)処理の格納領域確保処理を終了する。
格納領域管理テーブルは、例えば、図2のメモリ管理テーブル200及びメモリアドレスデータテーブルに対応している。メモリ管理テーブル200は先頭アドレス201、202は終了アドレス202、203は管理単位203、用途204等の情報を記憶し、メモリアドレスデータテーブル210は、キャッシュアドレス211、ドライブ番号212、ドライブアドレス213、ステータス214等の情報を記憶している。
格納領域管理テーブルは、管理情報として、図1の実施例1の場合には、例えば、バッテリバックアップされた主記憶装置(メモリ1)に、また、図3,4の実施例2,3の場合には、例えば、キャッシュメモリ(メモリ2)に記憶され、入出力のソフトウェア制御を行う中央処理装置(CPU)110または入出力のハードウェア制御を行う入出力制御部(IOCTL)により検索・参照される。
図10は、本発明のストレージ制御装置のデータバックアップ用、及び、リモートコピー用のドライブデータの転送処理の内容を示すフローチャートである。図10において、データ転送処理が開始されると、ステップ1001において、ストレージ制御装置100の入出力制御モジュール(IOモジュール)130のキャッシュメモリ(メモリ2)または他系(ストレージ制御装置101)のメモリの格納領域確保処理を行う。
次に、ステップ1002において、ストレージ装置(ドライブ)30からデータの読み出し(Read)を行い、メモリ(例えば、実施例1のバッテリバックアップした主メモリ(メモリ1)120へのデータを書き込み(Write)を行い、ストレージ装置(ドライブ)30から揮発メモリへのデータを読み込むステージング処理を行う。
続いて、ステップ1003において、揮発メモリに記憶されたステージングデータをメモリ2または他系のメモリに転送するデータ転送処理を行い、ステップ1004において、揮発メモリの格納領域解放処理を行って、データ転送処理を終了する。
データ転送処理のステップ1001からステップ1004までの処理を、バッテリバックアップによりメモリの不揮発性が維持されている所定時間内に行うことにより、電源の切断があっても、データの欠落を起こすことなく、迅速かつ効率的にデータ転送処理を行うことができる。
本発明のストレージ制御装置及びストレージシステムは、各種メモリがネットワークで結合され、主記憶装置を備えた中央処理装置により制御を行う記憶システムに適合可能であり、全体システムの省電力化と高速化及び記憶装置の信頼性の確保、利用効率の向上に資するものである。
図1は、本発明の実施例1のストレージ制御装置を備えたストレージシステムの概略全体図である。 図2は、本発明のストレージ制御装置のメモリ空間の構成を示す格納領域管理テーブルの例を示す図である。 図3は、本発明の実施例2のストレージ制御装置を備えたストレージシステムの概略全体図である。 図4は、本発明の実施例3のストレージ制御装置を備えたストレージシステムの概略全体図である。 図5は、本発明のストレージ制御装置のホスト入出力(IO)処理の内容を示すフローチャートである。 図6は、本発明のストレージ制御装置のデータ書き込み(Write)処理の内容を示すフローチャートである。 図7は、本発明のストレージ制御装置のデータ書き込み(Write)処理の格納領域確保処理の内容を示すフローチャートである。 図8は、本発明のストレージ制御装置のデータ読み出し(Read)処理の内容を示すフローチャートである。 図9は、本発明のストレージ制御装置のデータ読み出し(Read)処理の格納領域確保処理の内容を示すフローチャートである。 図10は、本発明のストレージ制御装置のデータバックアップ用、及び、リモートコピー用のドライブデータの転送処理の内容を示すフローチャートである。 図11は、従来例の不揮発メモリを備えたストレージシステムの概略全体図である。
符号の説明
10 ストレージ制御システム
20,21 ホスト計算機
30 ストレージ装置(ドライブ)
31,32 ディスク装置
100,101 ストレージ制御装置
110,111 中央処理装置(CPU)
120,121 主記憶装置(メモリ1)
130,131 入出力制御モジュール(IOモジュール)
141 プログラム
142 管理情報
143 ユーザデータ1
144 ユーザデータ2
150,151 キャッシュメモリ(メモリ2)
160,161 チャネルインターフェース部(チャネルIFCTL)
170,171 ディスクインターフェース部(ディスクIFCTL)
180,181 入出力制御部(IOCTL)
200 メモリ管理テーブル
201 先頭アドレス
202 終了アドレス
203 管理単位
204 用途
210 メモリアドレスデータテーブル
211 キャッシュアドレス
212 ドライブ番号
213 ドライブアドレス
214 ステータス

Claims (9)

  1. 主記憶装置と接続した中央処理装置と、ホスト計算機と接続するチャネルインターフェース部と、ディスクドライブ装置と接続するディスクインターフェース部と、記憶装置と接続した入出力制御部と、を備えたストレージ制御装置において、
    前記主記憶装置を、電源の切断後の所定時間の間、データの不揮発性が維持されるバッテリバックアップした揮発メモリにより構成し、前記バッテリバックアップした主記憶装置と前記入出力制御部の記憶装置とにより、前記ストレージ制御装置のキャッシュ装置としてのメモリアドレス空間を形成し、前記ディスクドライブ装置に記憶されたデータを読み出して前記キャッシュ装置に書き込むステージング処理と前記キャッシュ装置に記憶されたデータを読み出して前記ディスクドライブ装置に書き込むデステージング処理を行うことを特徴とするストレージ制御装置。
  2. 請求項1に記載のストレージ制御装置において、
    ホスト計算機からの要求指令に応答して、入出力命令と入出力データの種別を判定し、入出力命令と入出力種別に応じて異なる方法でデータの入出力処理を行うことを特徴とするストレージ制御装置。
  3. 請求項2に記載のストレージ制御装置において、
    前記判定した入出力命令が書き込み命令の場合は、格納管理テーブルを検索・参照して、前記バッテリバックアップした主記憶装置にデータサイズ分の領域を確保してデータの二重書きを行い、読み出し命令の場合は、バッテリバックアップした主記憶装置にデータサイズ分の領域を確保してディスクドライブ装置からのデータを格納し、ホスト計算機に要求データを転送することを特徴とするストレージ制御装置。
  4. 請求項1に記載のストレージ制御装置において、
    ホスト計算機からの要求指令に応答して、データ転送処理の場合には、前記入出力制御部と接続した記憶装置または他系のリモート記憶装置の格納領域を確保し、前記ディスクドライブ装置から前記バッテリバックアップした主記憶装置に読み込んだデータを前記入出力制御部と接続した記憶装置または他系のリモート記憶装置に転送したのち、前記バッテリバックアップした主記憶装置の格納領域を解放することを特徴とするストレージ制御装置。
  5. 主記憶装置と接続した中央処理装置と、ホスト計算機と接続するチャネルインターフェース部と、ディスクドライブ装置と接続するディスクインターフェース部と、記憶装置と接続した入出力制御部と、を備えたストレージ制御装置において、
    前記主記憶装置と前記入出力制御部の記憶装置とを、電源の切断後の所定時間の間、データの不揮発性が維持されるバッテリバックアップした揮発メモリにより構成し、前記バッテリバックアップした主記憶装置と前記入出力制御部のバッテリバックアップした記憶装置とにより、前記ストレージ制御装置のキャッシュ装置としてのメモリアドレス空間を形成し、前記ディスクドライブ装置に記憶されたデータを読み出して前記キャッシュ装置に書き込むステージング処理と前記キャッシュ装置に記憶されたデータを読み出して前記ディスクドライブ装置に書き込むデステージング処理を行うことを特徴とするストレージ制御装置。
  6. 請求項5に記載のストレージ制御装置において、
    ホスト計算機からの要求指令に応答して、入出力命令と入出力データの種別を判定し、入出力命令と入出力種別に応じて異なる方法でデータの入出力処理を行うことを特徴とするストレージ制御装置。
  7. 請求項6に記載のストレージ制御装置において、
    前記判定した入出力命令が書き込み命令の場合は、格納管理テーブルを検索・参照して、前記バッテリバックアップした主記憶装置と前記バッテリバックアップした前記入出力制御部の記憶装置にデータサイズ分の領域を確保してデータの二重書きを行い、読み出し命令の場合は、前記バッテリバックアップした主記憶装置と前記バッテリバックアップした前記入出力制御部の記憶装置にデータサイズ分の領域を確保してディスクドライブ装置からのデータを格納し、ホスト計算機に要求データを転送することを特徴とするストレージ制御装置。
  8. 請求項5に記載のストレージ制御装置において、
    ホスト計算機からの要求指令に応答して、データ転送処理の場合には、前記入出力制御部と接続した記憶装置または他系のリモート記憶装置の格納領域を確保し、前記ディスクドライブ装置から前記バッテリバックアップした主記憶装置と前記バッテリバックアップした前記入出力制御部の記憶装置に読み込んだデータを前記入出力制御部と接続した記憶装置または他系のリモート記憶装置に転送したのち、前記バッテリバックアップした主記憶装置と前記バッテリバックアップした前記入出力制御部の記憶装置の格納領域を解放することを特徴とするストレージ制御装置。
  9. 主記憶装置と接続した中央処理装置と、ホスト計算機と接続したチャネルインターフェース部と、ディスクドライブ装置と接続したディスクインターフェース部と、記憶装置と接続した入出力制御部と、を備えた複数のストレージ制御装置と、
    前記チャネルインターフェース部を介して前記ストレージ制御装置と接続したホスト計算機と、
    前記ディスクインターフェース部を介して前記ストレージ制御装置と接続したディスクドライブ装置と、を有するストレージシステムにおいて、
    前記複数のストレージ制御装置の前記主記憶装置と前記前記入出力制御部の記憶装置とを、電源の切断後の所定時間の間、データの不揮発性が維持されるバッテリバックアップした揮発メモリにより構成し、自系のバッテリバックアップした主記憶装置と入出力制御部のバッテリバックアップした記憶装置と、他系のバッテリバックアップした主記憶装置と入出力制御部のバッテリバックアップした記憶装置とにより、ストレージシステムのキャッシュ装置としてのメモリアドレス空間を形成し、前記ディスクドライブ装置に記憶されたデータを読み出して前記キャッシュ装置に書き込むステージング処理と前記キャッシュ装置に記憶されたデータを読み出して前記ディスクドライブ装置に書き込むデステージング処理を行うことを特徴とするストレージシステム。
JP2008293330A 2008-11-17 2008-11-17 ストレージ制御装置及びストレージシステム Pending JP2010122730A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008293330A JP2010122730A (ja) 2008-11-17 2008-11-17 ストレージ制御装置及びストレージシステム
US12/348,063 US20100125704A1 (en) 2008-11-17 2009-01-02 Storage control apparatus and storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008293330A JP2010122730A (ja) 2008-11-17 2008-11-17 ストレージ制御装置及びストレージシステム

Publications (1)

Publication Number Publication Date
JP2010122730A true JP2010122730A (ja) 2010-06-03

Family

ID=42172877

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008293330A Pending JP2010122730A (ja) 2008-11-17 2008-11-17 ストレージ制御装置及びストレージシステム

Country Status (2)

Country Link
US (1) US20100125704A1 (ja)
JP (1) JP2010122730A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012117451A1 (en) 2011-03-03 2012-09-07 Hitachi, Ltd. Storage controller and method of controlling storage controller

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6119533B2 (ja) * 2013-09-27 2017-04-26 富士通株式会社 ストレージ装置,ステージング制御方法及びステージング制御プログラム
US11294572B2 (en) * 2017-07-06 2022-04-05 Seagate Technology, Llc Data storage system with late read buffer assignment after arrival of data in cache

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002123479A (ja) * 2000-10-17 2002-04-26 Hitachi Ltd ディスク制御装置およびそのキャッシュ制御方法
JP2005301419A (ja) * 2004-04-07 2005-10-27 Hitachi Ltd ディスクアレイ装置およびそのデータ処理方法
US7222223B2 (en) * 2004-10-29 2007-05-22 Pillar Data Systems, Inc. Management of I/O operations in data storage systems
JP4662550B2 (ja) * 2005-10-20 2011-03-30 株式会社日立製作所 ストレージシステム
JP4437489B2 (ja) * 2006-10-25 2010-03-24 株式会社日立製作所 揮発性キャッシュメモリと不揮発性メモリとを備えたストレージシステム
JP5026102B2 (ja) * 2007-02-07 2012-09-12 株式会社日立製作所 ストレージ制御装置及びデータ管理方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012117451A1 (en) 2011-03-03 2012-09-07 Hitachi, Ltd. Storage controller and method of controlling storage controller
US8370578B2 (en) 2011-03-03 2013-02-05 Hitachi, Ltd. Storage controller and method of controlling storage controller

Also Published As

Publication number Publication date
US20100125704A1 (en) 2010-05-20

Similar Documents

Publication Publication Date Title
US9632714B2 (en) Solid-state drive device
US9927999B1 (en) Trim management in solid state drives
US8769232B2 (en) Non-volatile semiconductor memory module enabling out of order host command chunk media access
TWI606343B (zh) 支援擴充寫入之記憶體模組控制器
JP4930555B2 (ja) 制御装置、制御方法およびストレージシステム
JP5353887B2 (ja) ディスクアレイ装置の制御ユニット、データ転送装置及び復電処理方法
US20100235568A1 (en) Storage device using non-volatile memory
US11599304B2 (en) Data aggregation in ZNS drive
US20190042460A1 (en) Method and apparatus to accelerate shutdown and startup of a solid-state drive
US9582192B2 (en) Geometry aware block reclamation
JP2011192212A (ja) メモリシステム
US20170060436A1 (en) Technologies for managing a reserved high-performance memory region of a solid state drive
JP2011070365A (ja) メモリシステム
TWI454922B (zh) 記憶體儲存裝置及其記憶體控制器與資料寫入方法
JP2010122730A (ja) ストレージ制御装置及びストレージシステム
US20210373809A1 (en) Write Data-Transfer Scheduling in ZNS Drive
CN113711189B (zh) 用于管理固态驱动器上的降低电力故障能量需求的系统及方法
CN105278871A (zh) 通过在写入相变存储器之前读取来实现增强性能以避免写入取消
JP2006099802A (ja) 記憶制御装置およびキャッシュメモリの制御方法
JP3541349B2 (ja) キャッシュメモリ・バックアップシステム
JP2012521032A (ja) Ssdコントローラおよびssdコントローラの動作方法
WO2012172708A1 (ja) バックアップ装置およびバックアップ装置の動作方法
KR20210063724A (ko) 메모리 시스템
JP2008059007A (ja) 半導体記憶装置
KR20180121733A (ko) 데이터 저장 장치 및 그것의 동작 방법