JP2009075759A - ストレージ装置及びストレージ装置におけるデータの管理方法 - Google Patents

ストレージ装置及びストレージ装置におけるデータの管理方法 Download PDF

Info

Publication number
JP2009075759A
JP2009075759A JP2007242840A JP2007242840A JP2009075759A JP 2009075759 A JP2009075759 A JP 2009075759A JP 2007242840 A JP2007242840 A JP 2007242840A JP 2007242840 A JP2007242840 A JP 2007242840A JP 2009075759 A JP2009075759 A JP 2009075759A
Authority
JP
Japan
Prior art keywords
cache memory
data set
cache
volatile
data
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
JP2007242840A
Other languages
English (en)
Inventor
Sumihiro Miura
純裕 三浦
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 JP2007242840A priority Critical patent/JP2009075759A/ja
Priority to US12/010,850 priority patent/US8024516B2/en
Publication of JP2009075759A publication Critical patent/JP2009075759A/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • 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/225Hybrid cache memory, e.g. having both volatile and non-volatile portions
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】本発明の課題は、不意の電源遮断等によるバックアップ時に、揮発性キャッシュメモリに保持されているデータを効率的かつ確実に保存し、データの消失を防止することである。
【解決手段】本発明のストレージ装置は、不揮発性キャッシュメモリの一部をキャッシュ常駐化領域に設定し、不意の電源遮断等の緊急時には、揮発性キャッシュメモリにキャッシュされているデータのうち、ダーティなデータをそのキャッシュ管理情報とともに不揮発性キャッシュメモリのキャッシュ常駐化領域以外の領域にバックアップする。また、ストレージ装置は、揮発性キャッシュメモリにキャッシュされたダーティデータが不揮発性キャッシュメモリのバックアップ領域内に確実に収まるように、揮発性キャッシュメモリのダーティデータの量を監視し、当該ダーティデータの量が所定の閾値を超える場合には、キャッシュ常駐化領域を解放して、バックアップ領域を確保する。
【選択図】図1

Description

本発明は、ストレージ装置及びストレージ装置におけるデータの管理方法に関し、特にストレージ装置内のキャッシュデータのバックアップ技術に関する。
ストレージ装置(ストレージサブシステム)には、一般に、システムパフォーマンスの向上等の観点から、キャッシュメモリが搭載されている。キャッシュメモリは、典型的には、DRAM等の揮発性メモリから構成されている。大容量のハードディスクドライブ(HDD)を搭載した大規模なストレージ装置は、数〜数十ギガバイトオーダの大容量のキャッシュメモリを実装し、その稼働中、そこにアプリケーションデータをキャッシュしながら、ホスト装置に対するI/Oアクセス要求に応答する。
また、さらなるシステムパフォーマンスの向上を図るため、ハードディスクドライブ上に形成される論理ボリューム全体をキャッシュメモリにキャッシュする「キャッシュ常駐化機能」を備えたストレージ装置が提案されている。
このようなストレージ装置は、キャッシュメモリ上の膨大な量のデータが消失することを防止するため、不意の電源遮断時には二次電源であるバッテリから電源を一時的に供給して稼働状態を維持しつつ、その間に当該キャッシュメモリのデータをハードディスクドライブにデステージング(バックアップ)していた。
一方、近年、フラッシュメモリ等の不揮発性メモリの大容量化・低下価格化が進み、不揮発性メモリの用途は急速に広まりつつある。例えば、下記特許文献1には、キャッシュメモリの一部をフラッシュメモリで構成したハードディスク装置が開示されている。すなわち、当該特許文献1では、ハードディスク上の頻繁にアクセスされる領域のデータはフラッシュメモリに置かれ、これによって、データアクセスに際してディスクヘッドの移動を極力なくして、アクセス効率を高めるとともに、電源遮断によるキャッシュデータの消失を防止している。
また、下記特許文献2には、EEPROMから構成される半導体ディスク装置をハードディスクデバイスに対するキャッシュメモリとして機能させるデータ記憶システムが開示されている。具体的には、当該特許文献2では、オペレーティングシステムや使用頻度の高いアプリケーションプログラムの起動に必要な情報は半導体ディスク装置に保存され、これによって、電源投入直後であっても効果的にキャッシュ機能が発揮されるようになっている。
特開平6−236241号公報 特開平10−154101号公報
大規模なストレージ装置では、その稼働中、膨大な量のデータがハードディスクドライブにデステージングされずにキャッシュメモリ上に存在している。従って、電源遮断等の緊急時においてもかかるデータが消失しない対策を施すことが必須となる。
バッテリを用いた緊急時の従来のデータバックアップ方式においては、ストレージ装置は、相対的に高価なバッテリをハードディスクドライブの駆動維持のために相当量実装する必要があり、コストが嵩む傾向にあった。このため、消費電力をできるだけ低く抑えることが少ない量のバッテリで駆動を長持ちさせることになるが、データのバックアップ先がハードディスクドライブに設定されている以上、消費電力を効果的に削減することには限界があった。
また、電源遮断等の緊急時に、キャッシュメモリ上の全てのデータをバックアップしたのでは、バックアップ処理によるプロセッサへの負荷が高く、また、バックアップ時間もかかるため、バッテリの消費電力を低く抑えることは困難であった。
さらに、キャッシュメモリの一部が不揮発性メモリで構成されている場合であっても、揮発性のキャッシュメモリに格納されているデータについては、電源遮断等の緊急時にはバックアップされなければ消失してしまうという問題が残されている。しかしながら、揮発性のキャッシュメモリに保持されているデータを、電源遮断等の緊急時にハードディスクドライブにバックアップするのであれば、結局、従来のバッテリバックアップ方式における消費電力の問題に帰結することになる。それにもかかわらず、揮発性メモリ上のキャッシュデータを、キャッシュメモリとして利用している不揮発性メモリにバックアップすることは、これまで提案されていなかった。
さらにまた、不揮発性キャッシュメモリを電源遮断等の緊急時にバックアップメモリとして利用する場合、揮発性キャッシュメモリ上のデータを単に不揮発性キャッシュメモリに転送したのでは、クリーンデータのような本来バックアップしなくてもよいデータも転送されてしまい、効率的なバックアップ処理を実現することができない。また、不揮発性キャッシュメモリにキャッシュされ未だデステージングされていないデータが当該転送されたデータによって上書きされてしまうおそれがある。
そこで、本発明は、不意の電源遮断等による緊急のバックアップ要求が発生した場合においても、二次電源の下で、揮発性キャッシュメモリに保持されているデータを効率的かつ確実に保存し、データの消失を防止できるようにすることを課題とし、ひいては、当該二次電源の消費電力を削減できるようにすることを課題としている。
すなわち、本発明の目的は、不揮発性メモリをキャッシュメモリとして利用しつつ、バックアップ要求の発生時に、揮発性キャッシュメモリ上のデータを当該不揮発性メモリに効率的にバックアップするストレージ装置を提案することである。
また、本発明の目的は、不揮発性キャッシュメモリ上の一部をキャッシュ常駐化領域として利用しつつ、バックアップ要求の発生時に、揮発性キャッシュメモリ上のデータを当該キャッシュ常駐化領域以外の領域(バックアップ領域)に効率的にバックアップするストレージ装置を提案することである。
さらに、本発明の目的は、揮発性キャッシュメモリ上のデータを不揮発性キャッシュメモリ上のバックアップ領域に確実に保存できるようにするため、不揮発性キャッシュメモリ上に常駐するデータの量を調整するストレージ装置を提案することである。
本発明は、上記課題を解決するためになされたものであり、以下のような発明特定事項を含む。すなわち、ある観点によれば、本発明は、データセット群を格納するための複数の論理ボリュームが形成されたディスクデバイスと、前記ディスクデバイスを制御するディスクコントローラとを備えたストレージ装置であって、前記ディスクコントローラは、ホスト装置からのアクセス要求を受け付けるホストインターフェースと、前記ディスクデバイスに接続されたディスクインターフェースと、前記ホストインターフェース及び前記ディスクインターフェースに接続され、揮発性キャッシュメモリ及び不揮発性キャッシュメモリを含むキャッシュメモリ部と、を備える。前記ディスクコントローラは、前記ディスクデバイス上の第1の論理ボリュームに格納された第1のデータセットを前記不揮発性キャッシュメモリに形成されたキャッシュ常駐化領域に常駐させる。前記ホストインターフェースは、前記ホスト装置から書き込み要求を受け付ける毎に、該書き込み要求に従う第2のデータセットを前記揮発キャッシュメモリの所定の領域に書き込み、該書き込まれた第2のデータセットに対するキャッシュ管理情報のダーティ属性をオンにし、前記ディスクインターフェースは、前記揮発性キャッシュメモリの所定の領域に書き込まれた前記第2のデータセットを前記ディスクデバイス上の第2の論理ボリュームにデステージングした場合に、該デステージングされた第2のデータセットに対するキャッシュ管理情報のダーティ属性をオフにする。そして、前記ディスクコントローラは、所定のバックアップ要求時に、前記揮発性キャッシュメモリに書き込まれた第2のデータセット群のうち前記ダーティ属性がオンである第2のデータセットを前記不揮発性キャッシュメモリに転送し、前記キャッシュ常駐化領域以外の領域に書き込む。
また、本発明は、方法の発明としても把握できる。すなわち、ある観点によれば、本発明は、データセット群を格納するための複数の論理ボリュームが形成されたディスクデバイスと、前記ディスクデバイスを制御するディスクコントローラとを備えたストレージ装置におけるデータバックアップ方法であり、前記ディスクコントローラが、前記ディスクデバイス上の第1の論理ボリュームに格納された第1のデータセットを不揮発性キャッシュメモリに形成されたキャッシュ常駐化領域に常駐させるステップと、前記ディスクコントローラが、前記ホスト装置から書き込み要求を受け付ける毎に、該書き込み要求に従う第2のデータセットを揮発キャッシュメモリの所定の領域に書き込むとともに、該書き込まれた第2のデータセットに対するキャッシュ管理情報のダーティ属性をオンにするステップと、前記ディスクコントローラが、前記揮発性キャッシュメモリの所定の領域に書き込まれた前記第2のデータセットを前記ディスクデバイス上の第2の論理ボリュームにデステージングした場合に、該デステージングされた第2のデータセットに対するキャッシュ管理情報のダーティ属性をオフにするステップと、前記ディスクコントローラが、所定のバックアップ要求時に、前記揮発性キャッシュメモリに書き込まれた第2のデータセット群のうち前記ダーティ属性がオンである第2のデータセットを前記不揮発性キャッシュメモリに転送するステップと、を含む。
さらに、本発明は、ストレージ装置に所定の機能を実現させるプログラムの発明としても把握することができる。
本発明によれば、不意の電源遮断等による緊急のバックアップ要求が発生した場合においても、二次電源の下で、揮発性キャッシュメモリに保持されているデータを効率的かつ確実に保存し、データの消失を防止できるようになり、ひいては、当該二次電源の消費電力を削減できるようになる。
次に、本発明の実施の形態について、図面を参照しつつ説明する。
本実施形態は、ストレージ装置内の不揮発性キャッシュメモリの一部をキャッシュ常駐化領域に設定し、不意の電源遮断等の緊急時には、揮発性キャッシュメモリにキャッシュされているデータのうち、「ダーティな」データをそのメタデータ(キャッシュ管理情報)とともに不揮発性キャッシュメモリのキャッシュ常駐化領域以外の領域(バックアップ領域)に転送する。また、本実施形態は、揮発性キャッシュメモリにキャッシュされたダーティなデータが不揮発性キャッシュメモリのバックアップ領域内に確実に収まるように、揮発性キャッシュメモリにキャッシュされたダーティデータの量を監視し、ダーティデータの量が所定の閾値を超える場合には、キャッシュ常駐化領域の全部又は一部を解放して、バックアップ領域を確保する。
ダーティなデータとは、キャッシュメモリ上のデータがハードディスクデバイス上の対応するデータと整合性がとれていない(一致していない)状態のデータをいう。典型的には、キャッシュメモリ上のあるデータがホスト装置からの書き込み要求によって更新されたにもかかわらず、ハードディスクデバイス上の対応するデータがまだ更新されていない場合に、キャッシュメモリ上のデータはダーティな状態となる。また、クリーンなデータとは、キャッシュメモリ上のデータとハードディスクデバイス上の対応するデータとの整合性がとれている状態のデータをいう。
そして、不意の電源遮断等による緊急のバックアップ要求が発生した場合には、ストレージ装置は、揮発性キャッシュメモリにキャッシュされているダーティデータ及びそのキャッシュ管理情報を不揮発性キャッシュメモリ上のバックアップ領域に直ちにバックアップする。また、ストレージ装置に揮発性メモリで構成された共有メモリが実装されている場合には、ストレージ装置は、同様に、共有メモリに保持されている各種の情報を不揮発性キャッシュメモリの当該バックアップ領域にバックアップする。
これによって、電源遮断等の緊急時において、揮発性キャッシュメモリ上のデータのうち特定のデータをバックアップすればよく、少ない消費電力で、かつ、高速にバックアップを行うことができるようになる。
図1は、本発明の実施形態に係るストレージ装置におけるデータのバックアップ/リストアメカニズムを説明するための概念図である。
同図に示すように、ストレージ装置4は、チャネル2を介してホスト装置3に接続され、これによってコンピュータシステム1を形成している。
ストレージ装置4は、ハードディスクドライブ(HDD)等からなる複数のディスクデバイス41と、このディスクデバイス41に対するI/O処理を制御するディスクコントローラ(DKC)42と、これらに必要な電力を供給する電源部43とを備える。
ディスクコントローラ42は、典型的には、チャネルアダプタCHAと、キャッシュメモリCMと、ディスクアダプタDKAと、共有メモリSMと、を備える。本実施形態では、キャッシュメモリCMは、DRAMで構成された揮発性キャッシュメモリVCMとフラッシュメモリで構成された不揮発性キャッシュメモリNVCMとを含んで構成されている。また、共有メモリSMは、DRAMで構成されている。そして、ディスクコントローラ42内のこれらのコンポーネントは、図示しないプロセッサの制御の下、互いに協働して、ホスト装置3からのアクセス要求に応答して、ディスクデバイス41にアプリケーションデータを格納し、又はそこからアプリケーションデータを読み出して、これをホスト装置3に提供する。なお、ストレージ装置4の具体的構成例及び動作例については後述する。
揮発性キャッシュメモリVCMは、従来型のキャッシュメモリとして利用される。一方、不揮発性キャッシュメモリNVCMは、キャッシュ常駐化機能により、キャッシュ常駐化領域を提供するキャッシュメモリとして利用される。キャッシュ常駐化機能とは、特定の論理ボリューム上のデータの全部又は一部をキャッシュメモリ上に常駐させる機能である。データが常駐しているキャッシュメモリ上の領域のキャッシュ常駐化領域と呼んでいる。プロセッサは、特定の論理ボリュームに対するアクセス要求を受け付けると、キャッシュ常駐化領域に対するアクセス要求として処理が行われるように、チャネルアダプタCHAに対して制御を行う。
すなわち、チャネルアダプタCHAは、ホスト装置3からのアクセス要求に従うコマンドを共有メモリSMに格納し、プロセッサは、当該コマンドを解釈する。プロセッサは、解釈の結果、キャッシュ常駐化領域に対するアクセス要求であると判断する場合、不揮発性キャッシュメモリNVCM上のキャッシュ常駐化領域に対してアクセスするように、チャネルアダプタCHAを制御する。また、解釈の結果、当該アクセス要求がキャッシュ常駐化領域に対するものでないと判断する場合、揮発性キャッシュメモリVCMに対してアクセスするようにチャネルアダプタCHAを制御する。
より具体的には、読み出し要求時においては、揮発性キャッシュメモリVCMに要求されたデータが存在しない場合(キャッシュミスの場合)には、ディスクアダプタCHAは、共有メモリSMを参照して、当該要求されたデータをディスクデバイス41から読み出して、揮発性キャッシュメモリVCMに当該データを書き込み(ステージング)、共有メモリSMのキャッシュ管理情報を更新する。一方、書き込み要求時においては、チャネルアダプタCHAは、当該要求されたデータを揮発性キャッシュメモリVCMに書き込み、共有メモリSMのキャッシュ管理情報を更新する。この場合、揮発性キャッシュメモリVCMに書き込まれたデータは、ディスクアダプタDKAによってディスクデバイス41にデステージングされない限り、ダーティな状態のままである。
ストレージ装置4の稼働中に、例えば不意の電源遮断等が発生した場合、データの消失を防ぐため、ストレージ装置4は、二次電源による電力供給の下、揮発性キャッシュメモリVCMに書き込まれているデータを不揮発性キャッシュメモリNVCMにバックアップする。このとき、バックアップされるデータの揮発性キャッシュメモリVCM上の位置(アドレス)と不揮発性キャッシュメモリNVCM上の位置(アドレス)とを対応付けたアドレスマッピングテーブルを作成しておく。バックアップは、例えばキャッシュメモリを制御するキャッシュメモリコントローラ(図示せず)によって実行される。バックアップされるデータは、揮発性キャッシュメモリVCMに格納されている全てのデータではなく、ダーティデータ及び共有メモリSMに格納されたそのキャッシュ管理情報である。また、ストレージ装置4は、共有メモリSMに保持されているシステム構成情報等も不揮発性キャッシュメモリNVMにバックアップする。
電源遮断等が復旧した場合、ストレージ装置4は、不揮発性キャッシュメモリNVCMにバックアップされたデータ及びそのキャッシュ管理情報を、揮発性キャッシュメモリVCM及び共有メモリSMの元の位置にそれぞれにリストアする。これによって、ストレージ装置4は、電源遮断等が発生した時点の状態から、直ちに、ホスト装置3に対してデータストレージサービスを提供することができるようになる。
図2は、本発明の実施形態に係るストレージ装置4を含むコンピュータシステム1の構成を説明するための図である。同図に示すように、コンピュータシステム1は、チャネル2を介して接続されたホスト装置3及びストレージ装置4を含み、例えば、銀行の業務システムや航空機の座席予約業務システム等として構成される。
チャネル2は、例えばLAN、インターネット、又はSAN(Storage Area Network)であり、ネットワークスイッチやハブ等を含んで構成される。本実施形態では、チャネル2は、ファイバーチャネルプロトコルを用いたSAN(FC−SAN)で構成されているものとする。
ホスト装置3は、例えば、銀行の業務システムや航空機の座席予約業務システム等の中核をなすコンピュータである。具体的には、ホスト装置3は、プロセッサと、メインメモリと、通信インターフェースと、ローカル入出力装置等のハードウェア資源を備え、また、デバイスドライバやオペレーティングシステム(OS)、アプリケーションプログラム等のソフトウェア資源を備えている(図示せず)。これによって、ホスト装置3は、プロセッサの制御の下、各種のプログラムを実行して、ハードウェア資源との協働作用により、所望の処理を実現する。例えば、ホスト装置3は、プロセッサの制御の下、OS上で業務アプリケーションプログラムを実行することにより、以下に詳述されるストレージ装置4にアクセスし、所望の業務システムを実現する。
ストレージ装置4は、データストレージサービスをホスト装置3に提供する補助記憶装置である。ストレージ装置4は、物理デバイス(PDEV)である複数のディスクデバイス41と、ディスクデバイス41に対する書き込み又は読み出しといったI/O処理を制御するディスクコントローラ42と、これらに必要な電力を供給する電源部43と、を備える。
図3は、本発明の実施形態に係るストレージ装置4の外観構成を示す図である。同図に示すように、本実施形態のストレージ装置4は、メインユニットMと、ディスクデバイス41を増設するための増設ユニットEとからなる。メインユニットMは、ディスクデバイス41及びディスクコントローラ42を含んでいる。ただし、本例では、ディスクデバイス41は示されず、これを嵌装するためのスロットSが示されている。メインユニットM及び増設ユニットEの下部には、二次電源を含む電源部43が配設される。また、メインユニットMは、管理装置(図示せず)を含み、システム管理者がストレージ装置4を管理できるようになっている。
図2に戻り、ディスクデバイス41は、例えば、複数のハードディスクドライブ(HDD)等の記憶媒体を含んで構成される。ディスクデバイス41は、ディスクコントローラ42の制御の下、RAID(Redundant Arrays of Independence Disks)技術を用いて、仮想デバイス(VDEV)としてのRAIDグループを構成することができる。ある仮想デバイス上には、1又は複数の論理デバイス(LDEV)が定義される。
論理デバイスには、論理ユニット(LU)が割り当てられてもよい。論理デバイス及び論理ユニットはともに、ホスト装置3が認識しうる論理的な記憶装置である。論理デバイス及び論理ユニットは、ストレージ装置4が適用されるシステム環境により区別されうるが、本実施形態では両者を同義に扱うことができる。各論理ユニットには、論理ユニット番号(LUN)が付与される。また、論理ユニットは、I/Oアクセスの最小単位であるブロックに分割され、各ブロックには、論理ブロックアドレス(LBA)が割り当てられる。これにより、ホスト装置3は、LUNおよびLBAからなる論理アドレスをストレージ装置4に与えることにより、特定の論理ユニットにおける任意のブロックに記憶されたデータに対してアクセスを行うことができる。
ディスクコントローラ42は、マイクロプロセッサ(MP)421と、ローカルメモリ(LM)422と、チャネルアダプタ(CHA)423と、キャッシュメモリ(CM)部424と、ディスクアダプタ(DKA)425と、共有メモリ(SM)部426と、管理装置427とを備え、これらのコンポーネントは、内部スイッチ(SW)428を介して相互に接続されている。本実施形態では、これらのコンポーネントは、それぞれ多重化されている。
マイクロプロセッサ421は、メインメモリとして機能するローカルメモリ422に保持された制御プログラムを実行することにより、ディスクコントローラ42を統括的に制御する。ローカルメモリ422には、ストレージ装置4のキャッシュ常駐化機能を管理する内部テーブルが保持される。内部メモリについては、後で図6を参照して説明する。
チャネルアダプタ423は、各ポート(図示せず)に対応したチャネルプロトコルデバイス(CP)を備え、チャネル2を介して当該ポートに接続されたホスト装置3との間でアクセス要求に基づく通信を行うホストインターフェースである。チャネルプロトコルデバイスは、個々のプロトコルに応じたプロトコル処理を行うためのプロセッサを備えている。
キャッシュメモリ部424は、ホスト装置3に対して高い応答性能を提供するため、ホスト装置3とディスクデバイス41との間でやり取りされるデータを一時的に記憶(キャッシュ)するメモリである。換言すれば、キャッシュメモリ424は、チャネルアダプタ423とディスクアダプタ423との間のデータの受け渡しに利用される。本実施形態では、キャッシュメモリ425は、DRAMで構成される揮発性キャッシュメモリ4241とフラッシュメモリで構成される不揮発性キャッシュメモリ4242とを含んで構成されている。揮発性キャッシュメモリ4221及び不揮発性キャッシュメモリ4242はそれぞれ、多重化されている。また、個々の揮発性キャッシュメモリ4241と不揮発性キャッシュメモリ4242とのメモリサイズは同等である。なお、本明細書において、単にキャッシュメモリというときは、揮発性キャッシュメモリ4241及び不揮発性キャッシュメモリ4222の双方をいうものとする。
キャッシュメモリ部424はまた、キャッシュメモリコントローラ(CMC)4243を備える。キャッシュメモリコントローラ4243は、揮発性キャッシュメモリ4241及び不揮発性キャッシュメモリ4242に対するデータ制御を行う。また、マイクロプロセッサ421の指示の下、キャッシュメモリコントローラ4243は、後述されるバックアップ/リストア処理を行う。
本実施形態では、揮発性キャッシュメモリ4241は、通常のキャッシュメモリとして利用される。一方、不揮発性キャッシュメモリ4242は、平常時は、キャッシュ常駐化領域を提供するキャッシュメモリとして利用され、電源遮断等の緊急時には、揮発性キャッシュメモリ4241及び共有メモリ部426に対するバックアップメモリとして利用される。
すなわち、平常時においては、チャネルアダプタ423は、ホスト装置3から書き込み要求を受領すると、当該書き込み要求に従うデータ(書き込みデータ)をキャッシュメモリ424の所定の領域に書き込む。この場合、当該書き込み要求が、キャッシュ常駐化領域に常駐している論理ボリュームに対するアクセスであれば、チャネルアダプタ423は、不揮発性キャッシュメモリ4242のキャッシュ常駐化領域の対応するブロックに書き込みデータを書き込む。一方、当該書き込み要求がキャッシュ常駐化領域に常駐している論理ボリュームに対するアクセスでなければ、チャネルアダプタ423は、揮発性キャッシュメモリ4241の対応するブロックに書き込む。また、チャネルアダプタ423は、ホスト装置3から読み出し要求を受領すると、要求されたデータが存在するキャッシュメモリ424上の所定のブロックからデータを読み出して、これをホスト装置3に送出する。
なお、本実施形態では、1つのメモリボードに揮発性キャッシュメモリ4241と揮発性キャッシュメモリ4242とを含めた構成となっているが、物理的に独立するメモリボードに揮発性キャッシュメモリ4221と揮発性キャッシュメモリ4222とをそれぞれ含めた構成であってもよい。
ディスクアダプタ425は、各ポートに対応したチャネルプロトコルデバイスを備え、ディスクチャネルを介してポートに接続されたディスクデバイス41に対するI/Oアクセスの制御を行うディスクインターフェースである。すなわち、ディスクアダプタ525は、キャッシュメモリ424からデータを取り出して、ディスクデバイス41に格納し(デステージング)、また、ディスクデバイス41からデータを読み出して、キャッシュメモリ424に書き込む(ステージング)。例えば、ホスト装置3からの読み出し要求を受け付けた場合であって、揮発性キャッシュメモリ4241及び不揮発性キャッシュメモリ4242のいずれにも要求されたデータが存在しない場合には、必要に応じてデステージングを行ってキャッシュ領域を確保した後、揮発性キャッシュメモリ4241に要求されたデータをステージングする。
共有メモリ部426は、ストレージ装置4内の各コンポーネントが参照すべき各種の情報を記憶する共有メモリモジュール4261と、これを制御するための共有メモリコントローラ(SMC)4262とを含む。以下では、共有メモリモジュール4261を単に共有メモリ4261と呼ぶことにする。本実施形態では、共有メモリ4261は、DRAM等の揮発性メモリで構成されている。共有メモリ4241は、例えば、図4に示すように、システム構成情報及びキャッシュメモリ管理情報等の各種の情報を記憶する。また、共有メモリ4261は、揮発性キャッシュメモリ4241に現在保持されているダーティデータ量を記憶する。
管理装置427は、ストレージ装置4を保守・管理するための端末装置である。管理装置44は、例えば、汎用のコンピュータが用いられる。システム管理者は、管理装置44をインタラクティブに操作することにより、例えば、ディスクデバイス41上に論理デバイスを定義し、またはディスクデバイス41の増設又は減設、RAID構成の設定・変更等の指示をストレージ装置4に与えることができる。また、後述するように、システム管理者は、管理装置44をインタラクティブに操作することにより、キャッシュ常駐化領域の設定・変更・解除等の指示を行うことができる。本例では、ディスクコントローラ42の内部コンポーネントとして構成されているが、ディスクコントローラ42と独立のコンポーネントとして構成されても良い。
内部スイッチ428は、クロスバースイッチ等により構成されるスイッチングデバイスである。内部スイッチ428は、入力されるデータ信号の競合を調停し、データ信号のパスを切り替えて、送出元のモジュールと送出先のモジュールとのパスを構築する。なお、内部スイッチ428は、パケット交換方式のスイッチングデバイスであってもよい。
電源部43は、電源コントローラ(図示せず)の制御の下、ディスクデバイス41及びディスクコントローラ42に電力を供給する。電源部43は、バッテリから構成される二次電源部を含んでいる。電源コントローラは、供給電力の異常変動を監視する電源遮断検出部を備える。電源遮断検出部は、供給電力の急激な低下を検出した場合、電源遮断が発生したものとして、二次電源部からの電力供給に切り替え、マイクロプロセッサ421に異常割り込みをかける。
図4は、本発明の一実施形態に係るストレージ装置4の共有メモリ4261の内容を示す図である。上述したように、共有メモリ4261には、システム構成情報やキャッシュ管理情報が記憶される。同図では、システム構成情報と、揮発性キャッシュメモリ管理情報及び不揮発性キャッシュメモリ管理情報を含むキャッシュ管理情報とが示されている。
システム構成情報は、ストレージ装置4内の各コンポーネントの構成情報や各コンポーネント上で動作する制御プログラムのバージョン情報といったシステムの構成に関する情報である。
キャッシュ管理情報は、キャッシュメモリ上にキャッシュされたデータを管理するためのメタ情報である。すなわち、キャッシュ管理情報は、キャッシュメモリにキャッシュされている各データがディスクデバイス41上のどの記憶領域(論理ブロック)に格納されるべきものか、当該データがダーティな状態であるか否かを管理する情報である。チャネルアダプタ424は、キャッシュ管理情報を参照することによって、I/Oアクセス要求に基づくデータがいずれのキャッシュメモリ上に存在するか否かを判断することができる。また、ディスクアダプタ425は、キャッシュ管理情報を参照することによって、キャッシュメモリ424にキャッシュされているデータを、ディスクデバイス41上の指定された記憶領域にデステージングすることができる。
1ユニットのキャッシュメモリ管理情報は、所定サイズのデータブロックを管理する。従って、大きなサイズのデータは、複数ユニットのキャッシュ管理情報によって管理されることになる。キャッシュ管理情報は、テーブル構造を有するキャッシュ管理テーブルとして保持される。本実施形態では、キャッシュ管理情報は、揮発性キャッシュメモリ4241用の管理情報(以下、「揮発性キャッシュメモリ管理情報」という。)と不揮発性キャッシュメモリ4242用の管理情報(以下、「不揮発性キャッシュメモリ管理情報」という。)とからなる。
図5は、本発明の一実施形態に係るストレージ装置4における共有メモリ4261に保持されたキャッシュ管理テーブル500の一例を示す図である。同図に示すように、キャッシュ管理テーブルにおいて、各エントリは、先頭アドレス欄501と、キャッシュメモリ先頭アドレス欄502と、ダーティ状態欄503と、を含んでいる。
先頭論理アドレス欄501は、データが格納される論理デバイス上のブロックの先頭アドレスを示す。キャッシュメモリ先頭アドレス欄502は、当該データが格納されたキャッシュメモリ(すなわち、揮発性キャッシュメモリ4241又は不揮発性キャッシュメモリ4242)上のブロックのアドレスを示す。揮発性キャッシュメモリ4241及び不揮発性キャッシュメモリ4242に一意のアドレス値を割り当てることにより、アドレス値に基づいて、データの書き込み先が揮発性キャッシュメモリ4241であるか、不揮発性キャッシュメモリ4242であるかが認識される。ダーティ状態(ダーティビット)欄503は、当該データがダーティデータであるか否かを示す。本例では、ダーティ状態欄503の値が「0」であれば、クリーンデータであることを示し、「1」であれば、ダーティデータであることを示す。
図6は、本発明の一実施形態に係るストレージ装置4におけるローカルメモリ422に保持された内部テーブル600の一例を示す図である。同図に示すように、内部テーブル600において、各エントリは、キャッシュメモリ番号欄601と、キャッシュ常駐化設定状態欄602と、ダーティデータ量閾値欄603と、キャッシュ常駐化領域サイズ欄604と、キャッシュ常駐化領域先頭アドレス欄605と、キャッシュ常駐化領域終了アドレス欄606と、を含んでいる。
キャッシュメモリ番号欄601は、ストレージ装置4に搭載されているキャッシュメモリを識別するためのキャッシュメモリ番号を示す。本例では、揮発性キャッシュメモリ4241として、VCM#0〜3が示され、不揮発性キャッシュメモリ4242として、NVCM#0〜3が示されている。
キャッシュ常駐化設定状態欄602は、キャッシュメモリにキャッシュ常駐化領域が設定されているか否かを示す。キャッシュ常駐化領域は、揮発性キャッシュメモリ4241及び不揮発性キャッシュメモリ4242のいずれにも設定されうるが、本実施形態では、不揮発性キャッシュメモリ4242に対してキャッシュ常駐化領域が設定される。本例では、NVCM#0〜1にキャッシュ常駐化領域が設定され、NVCM#3にはキャッシュ常駐化領域が設定されていない。ダーティデータ量閾値603は、キャッシュメモリ上にキャッシュ可能なダーティデータの量の上限値を示す。ダーティデータ量閾値は、揮発性キャッシュメモリ4241及び不揮発性キャッシュメモリ4242のいずれにも設定されうるが、本実施形態では、揮発性キャッシュメモリ4241のそれぞれに対してダーティデータ量閾値が設定される。
キャッシュ常駐化領域先頭アドレス欄604は、設定されたキャッシュ常駐化領域の先頭アドレスを示し、また、キャッシュ常駐化領域終了アドレス欄604は、当該領域の終了アドレスを示す。キャッシュ常駐化領域サイズ欄606は、設定されたキャッシュ常駐化領域のサイズを示し、キャッシュ常駐化領域の先頭アドレス及び終了アドレスから算出される。
図7は、本発明の一実施形態に係るストレージ装置4に対するキャッシュ常駐化領域の設定ウィンドウを示す図である。
システム管理者は、管理装置427の画面上に表示されたキャッシュ常駐化領域の設定ウィンドウ700を介して、キャッシュ常駐化領域の設定を行う。具体的には、キャッシュ常駐化領域の設定ウィンドウにおいて、システム管理者は、論理デバイス番号(LDEV#)701、開始アドレス702及び終了アドレス703を入力する。また、終了アドレス703を入力する代わりに、キャッシュ常駐化領域サイズ704を入力することにより、終了アドレス703が自動的に算出される。管理装置427は、システム管理者からキャッシュ常駐化領域の設定(又は解除)指示を受け付けると、ディスクコントローラ42のマイクロプロセッサ421に対してキャッシュ常駐化領域設定コマンドを送出する。これを受けて、マイクロプロセッサ421は、ローカルメモリ422上の内部テーブル600の内容を更新する。
図8は、本発明の一実施形態に係るストレージ装置4におけるキャッシュ常駐化領域の設定/解除処理を説明するためのフローチャートである。
同図に示すように、マイクロプロセッサ421は、キャッシュ常駐化領域の設定コマンドを受け付け、これを解釈する(STEP801)。マイクロプロセッサ421は、当該設定コマンドがキャッシュ常駐化領域設定要求であると判断する場合(STEP801のYes)、所定の設定許容条件が満たされるか否かを判断する(STEP802)。ここで、所定の設定許容条件とは、ダーティデータ量閾値が、不揮発性キャッシュメモリ4242の容量から要求されたキャッシュ常駐化領域サイズを引いた値がよりも小さいことである。つまり、ダーティデータ量が、バックアップ領域として使用される不揮発性キャッシュメモリ4242のキャッシュ常駐化領域以外の領域のサイズよりも小さくなるように、キャッシュ常駐化領域が設定されることを保証する。マイクロプロセッサ421は、所定の設定許容条件が満たされると判断する場合(STEP802のYes)、ローカルメモリ422の内部テーブルにおける該当するエントリのキャッシュ常駐化設定状態をON(つまり「1」)にする(STEP803)。
これに対して、マイクロプロセッサ421は、所定の設定許容条件が満たされないと判断する場合(STEP802のNo)、要求されたキャッシュ常駐化領域の設定不可を通知する(STEP804)。
また、STEP801において、マイクロプロセッサ421は、当該設定コマンドがキャッシュ常駐化領域解除要求であると判断する場合には(STEP801のNo)、ローカルメモリ422の内部テーブルにおける該当するエントリのキャッシュ常駐化設定をOFF(つまり「0」)にする(STEP805)。
このようにして、ストレージ装置4は、マイクロプロセッサ421の制御の下、不揮発性キャッシュメモリ4242に対してキャッシュ常駐化領域を設定する。ストレージ装置4は、キャッシュ常駐化領域が設定されると、論理デバイスの対応するデータを不揮発性キャッシュメモリ4242の当該キャッシュ常駐化領域にステージングし、ホスト装置3からのアクセス要求に備える。
図9は、本発明の一実施形態に係るストレージ装置4のI/O処理を説明するためのフローチャートである。具体的には、同図は、ホスト装置3から書き込み要求を受け付けた場合の書き込み処理を説明するフローチャートである。
すなわち、同図に示すように、マイクロプロセッサ421は、ホスト装置3からチャネルアダプタ423を介して書き込み要求を受け付けると、ローカルメモリ422を参照し、書き込み要求が指定するデータの書き込み先が不揮発性キャッシュメモリ4242のキャッシュ常駐化領域であるか否かを判断する(STEP901)。マイクロプロセッサ422は、書き込み先が不揮発性キャッシュメモリ4242のキャッシュ常駐化領域であると判断する場合(STEP901のYes)、不揮発性キャッシュメモリ4242に対する書き込み処理を行う(STEP902)。不揮発性キャッシュメモリ4242に対する書き込み処理については、後で図10を参照して説明する。
これに対して、マイクロプロセッサ422は、書き込み先が不揮発性キャッシュメモリ4242のキャッシュ常駐化領域でないと判断する場合(STEP901のNo)、書き込み要求に従うデータ(書き込みデータ)を揮発性キャッシュメモリ4241にキャッシュし、共有メモリ4261上のキャッシュ管理テーブルにおける当該書き込みデータに対するエントリを更新する(STEP903)。このとき、共有メモリ4261のキャッシュ管理テーブル500における該当するエントリのデータ属性(ダーティ状態)は「ダーティ」(つまり「1」)にセットされる。
マイクロプロセッサ421は、次に、ローカルメモリ422の内部テーブル600を参照して、ダーティデータ量閾値を取得するとともに(STEP904)、共有メモリ4261を参照して、現在のダーティデータ量を取得する(STEP905)。続いて、マイクロプロセッサ421は、ダーティデータ量閾値と現在のダーティデータ量とを比較して、現在のダーティデータ量がダーティデータ量閾値を超えているか否かを判断する(STEP906)。
マイクロプロセッサ421は、現在のダーティデータ量がダーティデータ量閾値を超えていないと判断する場合(STEP906のNo)、マイクロプロセッサ421は、書き込み処理を終了する。これに対して、マイクロプロセッサ421は、現在のダーティデータ量がダーティデータ量閾値を超えていると判断する場合(STEP906のYes)、揮発性キャッシュメモリ4241にキャッシュされた当該データをディスクデバイス41の対応する領域にデステージし、当該データの属性を「クリーン」(つまり「0」)にセットする(STEP907)。このとき、マイクロプロセッサ421は、当該閾値を超えている時間の計測を開始する。
その後、マイクロプロセッサ421は、現在のダーティデータ量がダーティデータ量閾値を超えている時間が予め定められた時間を経過したか否かを判断する(STEP908)。マイクロプロセッサ421は、現在のダーティデータ量がダーティデータ量閾値を超えている時間が予め定められた時間を経過しなかったと判断する場合(STEP908のNo)、マイクロプロセッサ421は、当該書き込み要求に対する書き込み処理を終了する。これに対して、マイクロプロセッサ421は、現在のダーティデータ量がダーティデータ量閾値を超えている時間が予め定められた時間を経過したと判断する場合(STEP908のYes)、不揮発性キャッシュメモリ4242のキャッシュ常駐化領域に常駐しているデータをディスクデバイス41にデステージする(STEP909)。これにより、ダーティデータ量がバックアップ領域サイズを上回っている状態を防ぐことができる。そして、マイクロプロセッサ421は、ローカルメモリ422の内部テーブル600における当該データのキャッシュ常駐化領域設定をOFFにする(STEP910)。
図10は、本発明の一実施形態に係るストレージ装置4のI/O処理を説明するためのフローチャートであり、具体的には、図9におけるSTEP902のキャッシュ常駐化領域に対する書き込み処理を説明するためのフローチャートである。
すなわち、マイクロプロセッサ421は、ローカルメモリ422の内部テーブル600を参照し、書き込み要求が指定するデータの書き込み先が不揮発性キャッシュメモリ4242のキャッシュ常駐化領域であると判断する場合、当該書き込み要求に従うデータを不揮発性キャッシュメモリ4242のキャッシュ常駐化領域にキャッシュし(STEP1001)、マイクロプロセッサ422は、共有メモリ4261上のキャッシュ管理テーブル500における当該書き込みデータに対するエントリを更新する(STEP1002)。
次に、マイクロプロセッサ421は、所定の設定許容条件が満たされているか否かを判断する(STEP1003)。上述したように、所定の設定許容条件とは、ダーティデータ量閾値が、不揮発性キャッシュメモリ4242の容量から要求されたキャッシュ常駐化領域サイズを引いた値がよりも小さいことである。マイクロプロセッサ421は、所定の設定許容条件が満たされると判断する場合には(STEP1003のYes)、そのまま処理を終了する。これに対して、マイクロプロセッサ421は、所定の設定許容条件が満たされないと判断する場合には(STEP1003のNo)、ローカルメモリ422の内部テーブル600における該当するエントリのキャッシュ常駐化領域設定をOFFにセットする(STEP1004)。
以上のように、本実施形態のストレージ装置4は、ホスト装置4から書き込み要求があると、指定された書き込み先に応じて、揮発性キャッシュメモリ4241又は不揮発性キャッシュメモリ4242に書き込みデータをキャッシュする。このとき、所定の設定許容条件が満たされていない場合には、マイクロプロセッサ421は、キャッシュ常駐化領域を解除して、バックアップ領域を確保する。これにより、不意の電源遮断等による緊急のバックアップ要求が発生した場合であっても、揮発性キャッシュメモリ4241にキャッシュされたダーティデータを、確実に、不揮発性キャッシュメモリ4242のバックアップ領域にバックアップすることができるようになる。
図11は、本発明の一実施形態に係るストレージ装置4のバックアップ処理を説明するためのフローチャートである。バックアップ処理は、マイクロプロセッサ421から指示を受けたキャッシュメモリコントローラ4243によって行われる。マイクロプロセッサ421は、例えば、電源部43の電源遮断検出部から電源遮断の通知を受けると、バックアップ要求をキャッシュメモリコントローラ4243に発行する。
すなわち、不意の電源遮断等による緊急のバックアップ要求が発生した場合、キャッシュメモリコントローラ4243は、まず、共有メモリ4261上のシステム構成情報を読み出して、不揮発性キャッシュメモリ4242のバックアップ領域に書き込む(STEP1101)。システム構成情報は、例えば、共有メモリ4261の特定の位置(例えば0番地)に格納されるものと定められ、また、不揮発性キャッシュメモリ4242の特定の位置(同様に、例えば0番地)にバックアップされるものと定められている。
次に、キャッシュメモリコントローラ4243は、共有メモリ4241上のキャッシュ管理テーブル500を参照し(STEP1102)、アドレスマッピングテーブルを不揮発性キャッシュメモリ4242上に作成する(STEP1103)。図12は、本発明の一実施形態に係るストレージ装置4におけるアドレスマッピングテーブルの一例を示す図である。アドレスマッピングテーブルは、揮発性キャッシュメモリ4241上のダーティデータが不揮発性キャッシュメモリ4242上のどの位置にバックアップされたかを対応付けるテーブルである。キャッシュメモリコントローラ4243は、リストア処理の際に、当該アドレスマッピングテーブルを参照して、バックアップされたデータを揮発性キャッシュメモリ4241上の元の位置に書き戻す。
図11に戻り、キャッシュメモリコントローラ4243は、次に、キャッシュ管理テーブル500を参照し、揮発性キャッシュメモリ4241にダーティデータが存在するか否かを判断する(STEP1104)。キャッシュメモリコントローラ4243は、揮発性キャッシュメモリ4241にダーティデータが存在すると判断する場合(STEP1104のYes)、共有メモリ4261上のキャッシュ管理テーブルを参照し、揮発性キャッシュメモリ4241からダーティデータを読み出す(STEP1105)。キャッシュメモリコントローラ4243は、続いて、読み出したダーティデータ及びキャッシュ管理テーブル内のそのキャッシュ管理情報(すなわち揮発性キャッシュメモリ管理情報)を不揮発性キャッシュメモリ4241に書き込み(STEP1106)、アドレスマッピングテーブルにおける該当するエントリを更新する(STEP1107)。キャッシュメモリコントローラ4243は、揮発性キャッシュメモリ4241上のすべてのダーティデータ及びその揮発性キャッシュメモリ管理情報を不揮発性キャッシュメモリ4242に転送し終えるまで上記処理を繰り返す。
キャッシュメモリコントローラ4243は、揮発性キャッシュメモリ4241上のすべてのダーティデータ及びその揮発性キャッシュメモリ管理情報の転送を終えると(STEP1104のNo)、共有メモリ4261から不揮発性キャッシュメモリ管理情報を読み出して(STEP1108)、これを不揮発性キャッシュメモリ4242に書き込む(STEP1109)。
そして、キャッシュメモリコントローラ4243は、バックアップされるべきデータの転送が終了したことをプロセッサ421に通知し、これを受けて、プロセッサ421は、二次電源からの電源断処理を行って(STEP1110)、一連のバックアップ処理を終了する。
図13及び14は、本発明の一実施形態に係るストレージ装置4のリストア処理を説明するためのフローチャートである。リストア処理は、上述したバックアップ処理が行われた後、電源が再投入されたときに、マイクロプロセッサ421から指示を受けたキャッシュメモリコントローラ4243により行われる。
同図に示すように、まず、キャッシュメモリコントローラ4243は、不揮発性キャッシュメモリ4242上にバックアップされたデータが存在するか否かを判断する(STEP1301)。キャッシュメモリコントローラ4243は、不揮発性キャッシュメモリ4242上にバックアップされたデータが存在すると判断する場合(STEP1301のYes)、不揮発性キャッシュメモリ4242上のシステム構成情報を読み出して(STEP1302)、これを揮発性キャッシュメモリ4241の元の位置に書き込む(STEP1303)。
次に、キャッシュメモリコントローラ4243は、アドレスマッピングテーブルを参照して(STEP1304)、バックアップデータ及びそのキャッシュ管理情報(すなわち不揮発性キャッシュメモリ管理情報)を読み出す(STEP1305)。続いて、キャッシュメモリコントローラ4243は、読み出したバックアップデータ及びその不揮発性キャッシュ管理情報を、アドレスマッピングテーブルに従い、揮発性キャッシュメモリ4241及び共有メモリ4261の元の位置にそれぞれ書き込む(STEP1306)。キャッシュメモリコントローラ4243は、不揮発性キャッシュメモリ4242上のバックアップされたデータを全てリストアしたか否かを判断する(STEP1307)。キャッシュメモリコントローラ4243は、バックアップデータを全てリストアするまで上記処理を繰り返す。
キャッシュメモリコントローラ4243は、すべてのバックアップデータのリストアを終了すると(STEP1307のYes)、不揮発性キャッシュメモリ管理情報を読み出して(STEP1308)、これを共有メモリ4261の元の位置に書き込む(STEP1309)。
以上により、不揮発性キャッシュメモリ4242にバックアップされたデータ及びキャッシュ管理情報は、揮発性キャッシュメモリ4241及び共有メモリ4261の元の位置にリストアされることになる。
続いて、マイクロプロセッサ421は、不揮発性キャッシュメモリ4242のキャッシュ常駐化領域のデータは正常であるか否かを判断する(図14のSTEP1401)。キャッシュメモリコントローラ4243は、キャッシュ常駐化領域のデータは正常であると判断する場合(STEP1401のYes)、続いて、ローカルメモリ422の内部テーブル600における各エントリのキャッシュ常駐化領域を有効にするため、プロセッサ421に依頼する。これを受けて、マイクロプロセッサ421は、内部テーブル600における各エントリのキャッシュ常駐化領域の設定をONにする(STEP1402)。そして、マイクロプロセッサ421は、ローカルメモリ422の内部テーブル600におけるダーティデータ量閾値を設定する(STEP1403)。
これに対して、キャッシュメモリコントローラ4243は、キャッシュ常駐化領域のデータは正常でないと判断する場合(STEP1401のNo)、当該キャッシュ常駐化領域を無効にするため、マイクロプロセッサ421に依頼する。マイクロプロセッサ421は、これを受けて、内部テーブル600における当該キャッシュ常駐化領域の設定をOFFにする(STEP1404)。そして、プロセッサ421は、キャッシュ常駐化領域の異常を管理装置427に通知する(STEP1405)。これにより、システム管理者は、キャッシュ常駐化領域の異常を知ることができる。
図15は、本発明の一実施形態に係るストレージ装置4のバックアップ/リストア処理におけるキャッシュメモリを模式的に説明するための図である。
すなわち、揮発性キャッシュメモリ4241及び共有メモリ4261は、同図左に示すような使用状態にあるとする。つまり、揮発性キャッシュメモリ4241には、実データ(アプリケーションデータ)A〜Fがキャッシュされているとする。ここで、ハッチングで示された実データA、D及びEはダーティな状態にあり、実データB、C及びFはクリーンな状態にあるとする。共有メモリ4261には、システム構成情報が保持され、また、揮発性キャッシュメモリ4241にキャッシュされた実データA〜Fに対応する不揮発性キャッシュメモリ管理情報がA〜Fが保持されている。さらに、共有メモリ4261には、不揮発性キャッシュメモリ管理情報が保持されている。
この状態で、不意の電源遮断等による緊急のバックアップ要求が発生すると、キャッシュメモリコントローラ4243は、上述したように、システム構成情報を不揮発性キャッシュメモリ4242にバックアップするとともに、アドレスマッピングテーブルを不揮発性キャッシュメモリ4242に作成する。また、キャッシュメモリコントローラ4243は、ダーティデータである実データA、D及びE並びにその揮発性キャッシュメモリ管理情報A、D及びEを不揮発性キャッシュメモリ4242にバックアップする。さらに、キャッシュメモリコントローラ4243は、共有メモリ4261上の不揮発性キャッシュメモリ管理情報を不揮発性キャッシュメモリ4242にバックアップする。同図中央は、このときの不揮発性キャッシュメモリ4242の内容を示している。
また、リストア時には、キャッシュメモリコントローラ4243は、バックアップされたシステム構成情報を共有メモリ4261に書き戻す。また、キャッシュメモリコントローラ4243は、アドレスマッピングテーブルに従って、バックアップされた実データA、D及びEを揮発性キャッシュメモリ4241に書き戻すとともに、その揮発性キャッシュメモリ管理情報A、D及びEを共有メモリ4261に書き戻す。そして、キャッシュメモリコントローラ4243は、不揮発性キャッシュメモリ管理情報を共有メモリ4261に書き戻す。同図右は、リストア後の揮発性キャッシュメモリ4241及び共有メモリ4261の内容を示している。
同図から明らかなように、クリーンデータである実データB、C及びFは、バックアップ要求の発生時にはディスクデバイス41上にデステージされているため、不揮発性キャッシュメモリ4242にバックアップされない。従って、本実施形態によれば、揮発性キャッシュメモリ4241上のダーティデータのみが選択的にバックアップされることになり、バックアップ処理の効率化を図ることができるようになる。
図16は、本発明の他の実施形態に係るストレージ装置4の構成を示す図である。本実施形態のストレージ装置4は、複数のマイクロプロセッサ421がマイクロプロセッサチャネル(MCH)429を介して内部スイッチ428に接続された構成を有する。複数のマイクロプロセッサ421は、同一のマイクロプロセッサチャネル429に接続された一群のローカルメモリ422を共有する。また、本実施形態では、揮発性キャッシュメモリ4241の一部は、共有メモリとして利用される。換言すれば、揮発性キャッシュメモリ4241には、システム構成情報及びキャッシュ管理情報等が保持される。別個の共有メモリを設ける代わりに、揮発性キャッシュメモリ4241の一部を共有メモリとして利用する場合であっても、上述したような、バックアップ/リストア処理は、同様に成し遂げられる。なお、同図では、簡略化のため、管理装置は示されていない。
図17は、本発明の当該他の実施形態に係るストレージ装置4におけるマイクロプロセッサ421とキャッシュメモリ426との接続関係を説明するための図である。本例では、二重化された内部スイッチ428のそれぞれに、2つのマイクロプロセッサチャネル429及び4つのキャッシュメモリ424が接続され、さらに、2つのマイクロプロセッサチャネル429のそれぞれに4つのマイプロプロセッサ421及びこれらに共有されるローカルメモリ422が接続されている。キャッシュメモリ424は、揮発性キャッシュメモリ4241と、不揮発性キャッシュメモリ4242と、キャッシュメモリコントローラ4243と、を含んでいる。
このように構成されるストレージ装置4において、複数の揮発性キャッシュメモリ4242のそれぞれにキャッシュ常駐化領域は分散して設定される。複数のマイクロプロセッサ421は、ローカルメモリ422をそれぞれ参照することにより、キャッシュ常駐化領域に対して並列的にアクセスを行うことができる。従って、書き込みアクセス速度が相対的に遅いフラッシュメモリを不揮発性キャッシュメモリ4242に利用する場合であっても、並列的なアクセスによってかかる速度低下を吸収することができるようになる。
上記実施形態は、本発明を説明するための例示であり、本発明は上記実施形態に限定されるものではない。本発明は、その要旨の範囲内でさまざまな形態で実施することができる。例えば、上記実施形態では、ストレージ装置の処理をシーケンシャルに構成したが、これにこだわるものではない。従って、動作乃至は処理の結果に矛盾が生じない限り、各ステップを入れ替え、又は並列に構成しても良い。
本発明は、キャッシュメモリを搭載したストレージ装置に広く適用することができる。
本発明の実施形態に係るストレージ装置におけるデータのバックアップ/リストアメカニズムを説明するための概念図である。 本発明の実施形態に係るストレージ装置を含むコンピュータシステムの構成を説明するための図である。 本発明の実施形態に係るストレージ装置の外観構成を示す図である。 本発明の一実施形態に係るストレージ装置の共有メモリの内容を示す図である。 本発明の一実施形態に係るストレージ装置における共有メモリに保持されたキャッシュ管理テーブルの一例を示す図である。 本発明の一実施形態に係るストレージ装置におけるローカルメモリに保持された内部テーブルの一例を示す図である。 本発明の一実施形態に係るストレージ装置に対するキャッシュ常駐化領域の設定ウィンドウを示す図である。 本発明の一実施形態に係るストレージ装置におけるキャッシュ常駐化領域の設定/解除処理を説明するためのフローチャートである。 本発明の一実施形態に係るストレージ装置のI/O処理を説明するためのフローチャートである。 本発明の一実施形態に係るストレージ装置のI/O処理を説明するためのフローチャートである。 、本発明の一実施形態に係るストレージ装置のバックアップ処理を説明するためのフローチャートである。 本発明の一実施形態に係るストレージ装置におけるアドレスマッピングテーブルの一例を示す図である。 本発明の一実施形態に係るストレージ装置のリストア処理を説明するためのフローチャートである。 本発明の一実施形態に係るストレージ装置のリストア処理を説明するためのフローチャートである。 本発明の一実施形態に係るストレージ装置のバックアップ/リストア処理におけるキャッシュメモリを模式的に説明するための図である。 本発明の他の実施形態に係るストレージ装置の構成を示す図である。 図16に示したストレージ装置におけるマイクロプロセッサとキャッシュメモリとの接続関係を説明するための図である。
符号の説明
1…コンピュータシステム
2…チャネル
3…ホスト装置
4…ストレージ装置
41…ディスクデバイス
42…ディスクコントローラ
421…マイクロプロセッサ
422…ローカルメモリ
423…チャネルアダプタ
424…キャッシュメモリ部
425…ディスクアダプタ
426…共有メモリ部
427…管理装置
428…内部スイッチ
43…電源部

Claims (12)

  1. データセット群を格納するための複数の論理ボリュームが形成されたディスクデバイスと、前記ディスクデバイスを制御するディスクコントローラとを備えたストレージ装置であって、
    前記ディスクコントローラは、
    ホスト装置からのアクセス要求を受け付けるホストインターフェースと、
    前記ディスクデバイスに接続されたディスクインターフェースと、
    前記ホストインターフェース及び前記ディスクインターフェースに接続され、揮発性キャッシュメモリ及び不揮発性キャッシュメモリを含むキャッシュメモリ部と、を備え、
    前記ディスクコントローラは、
    前記ディスクデバイス上の第1の論理ボリュームに格納された第1のデータセットを前記不揮発性キャッシュメモリに形成されたキャッシュ常駐化領域に常駐させ、
    前記ホストインターフェースは、
    前記ホスト装置から書き込み要求を受け付ける毎に、該書き込み要求に従う第2のデータセットを前記揮発キャッシュメモリの所定の領域に書き込み、該書き込まれた第2のデータセットに対するキャッシュ管理情報のダーティ属性をオンにし、
    前記ディスクインターフェースは、
    前記揮発性キャッシュメモリの所定の領域に書き込まれた前記第2のデータセットを前記ディスクデバイス上の第2の論理ボリュームにデステージングした場合に、該デステージングされた第2のデータセットに対するキャッシュ管理情報のダーティ属性をオフにし、
    前記ディスクコントローラは、
    所定のバックアップ要求時に、前記揮発性キャッシュメモリに書き込まれた第2のデータセット群のうち前記ダーティ属性がオンである第2のデータセットを前記不揮発性キャッシュメモリに転送することを特徴とするストレージ装置。
  2. 前記ディスクコントローラは、
    前記転送された第2のデータセットを前記不揮発性キャッシュメモリの前記キャッシュ常駐化領域以外の領域に書き込むことを特徴とする請求項1記載のストレージ装置。
  3. 前記ディスクコントローラは、
    前記書き込み要求に従う第2のデータセットを前記揮発性キャッシュメモリに書き込む際に、すでに書き込まれた前記ダーティ属性がオンである第2のデータセット群が使用している領域のサイズを取得し、該取得された領域のサイズが所定の閾値を超えているか否かを判断し、該取得された領域のサイズが前記所定の閾値を超えていると判断する場合に、前記常駐化領域に書き込まれている第1のデータセットを前記第1の論理ボリュームにデステージングする、ことを特徴とする請求項2記載のストレージ装置。
  4. 前記ディスクコントローラは、
    前記第1のデータセットがデステージングされた前記不揮発性キャッシュメモリに形成されたキャッシュ常駐化領域を解除することを特徴とする請求項3記載のストレージ装置。
  5. 前記ディスクコントローラは、
    前記取得された領域のサイズが前記所定の閾値を超えていると判断する場合に、前記取得された領域のサイズが前記所定の閾値を超えている時間を計測し、該計測した時間が所定の時間を経過したか否かを判断し、該計測した時間が所定の時間を経過したと判断する場合に、前記常駐化領域に書き込まれている第1のデータセットを前記第1の論理ボリュームにデステージングする、ことを特徴とする請求項3記載のストレージ装置。
  6. 前記ディスクコントローラは、
    前記第1のデータセットに対する第1のキャッシュ管理情報及び前記第2のデータセットに対する第2のキャッシュ管理情報を記憶する共有メモリをさらに備えることを特徴とする請求項2記載のストレージ装置。
  7. 前記ディスクコントローラは、
    前記所定のバックアップ要求時に、前記共有メモリに記憶された前記第1のキャッシュ管理情報及び第2のキャッシュ管理情報を前記不揮発性キャッシュメモリに転送することを特徴とする請求項6記載のストレージ装置。
  8. 前記ディスクコントローラは、
    前記前記第2のデータセットに対するキャッシュ管理情報を前記揮発性キャッシュメモリに記憶することを特徴とする請求項2記載のストレージ装置。
  9. 前記ディスクコントローラは、
    前記所定のバックアップ要求時に、前記揮発性キャッシュメモリに記憶された前記キャッシュ管理情報を前記不揮発性キャッシュメモリに転送することを特徴とする請求項2記載のストレージ装置。
  10. 前記ディスクコントローラは、
    前記ダーティ属性がオンである第2のデータセットが書き込まれた前記揮発性キャッシュメモリのアドレスと、該ダーティ属性がオンである第2のデータセットが書き込まれた前記不揮発性キャッシュメモリのアドレスとを対応付けたアドレスマッピングテーブルを作成することを特徴とする請求項2記載のストレージ装置。
  11. 前記ディスクコントローラは、
    所定のリストア要求時に、前記作成されたアドレスマッピングテーブルに従って、前記不揮発性キャッシュメモリに書き込まれた第2のデータセットを、前記不揮発性キャッシュメモリに書き込むことを特徴とする請求項10記載のストレージ装置。
  12. データセット群を格納するための複数の論理ボリュームが形成されたディスクデバイスと、前記ディスクデバイスを制御するディスクコントローラとを備えたストレージ装置におけるデータバックアップ方法であって、
    前記ディスクコントローラが、前記ディスクデバイス上の第1の論理ボリュームに格納された第1のデータセットを不揮発性キャッシュメモリに形成されたキャッシュ常駐化領域に常駐させるステップと、
    前記ディスクコントローラが、前記ホスト装置から書き込み要求を受け付ける毎に、該書き込み要求に従う第2のデータセットを揮発キャッシュメモリの所定の領域に書き込むとともに、該書き込まれた第2のデータセットに対するキャッシュ管理情報のダーティ属性をオンにするステップと、
    前記ディスクコントローラが、前記揮発性キャッシュメモリの所定の領域に書き込まれた前記第2のデータセットを前記ディスクデバイス上の第2の論理ボリュームにデステージングした場合に、該デステージングされた第2のデータセットに対するキャッシュ管理情報のダーティ属性をオフにするステップと、
    前記ディスクコントローラが、所定のバックアップ要求時に、前記揮発性キャッシュメモリに書き込まれた第2のデータセット群のうち前記ダーティ属性がオンである第2のデータセットを前記不揮発性キャッシュメモリに転送するステップと、を含むことを特徴とするストレージ装置。
JP2007242840A 2007-09-19 2007-09-19 ストレージ装置及びストレージ装置におけるデータの管理方法 Pending JP2009075759A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007242840A JP2009075759A (ja) 2007-09-19 2007-09-19 ストレージ装置及びストレージ装置におけるデータの管理方法
US12/010,850 US8024516B2 (en) 2007-09-19 2008-01-30 Storage apparatus and data management method in the storage apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007242840A JP2009075759A (ja) 2007-09-19 2007-09-19 ストレージ装置及びストレージ装置におけるデータの管理方法

Publications (1)

Publication Number Publication Date
JP2009075759A true JP2009075759A (ja) 2009-04-09

Family

ID=40455815

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007242840A Pending JP2009075759A (ja) 2007-09-19 2007-09-19 ストレージ装置及びストレージ装置におけるデータの管理方法

Country Status (2)

Country Link
US (1) US8024516B2 (ja)
JP (1) JP2009075759A (ja)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011018241A (ja) * 2009-07-09 2011-01-27 Fujitsu Ltd 退避処理装置、退避処理方法およびストレージシステム
JP2011090460A (ja) * 2009-10-21 2011-05-06 Toshiba Corp データ記憶装置およびデータ記憶装置における制御方法
JP2011171867A (ja) * 2010-02-17 2011-09-01 Hitachi Ltd メールシステムにおけるデータストアサーバのデータ格納方法およびメール中継方法
JP2012216188A (ja) * 2011-03-30 2012-11-08 Fujitsu Ltd 記憶制御装置、記憶制御方法及び記憶制御プログラム
JP2013025773A (ja) * 2011-07-26 2013-02-04 Yokogawa Electric Corp ファイル管理装置
JP2013506885A (ja) * 2010-02-19 2013-02-28 株式会社日立製作所 ディスクアレイ装置およびその制御方法
WO2014192113A1 (ja) * 2013-05-30 2014-12-04 株式会社日立製作所 ストレージシステム及びデータバックアップ方法
WO2015097751A1 (ja) * 2013-12-24 2015-07-02 株式会社日立製作所 不揮発性キャッシュメモリにデータをバックアップするストレージシステム
WO2015132941A1 (ja) * 2014-03-07 2015-09-11 株式会社日立製作所 計算機
WO2015186165A1 (ja) * 2014-06-02 2015-12-10 株式会社日立製作所 ストレージシステム及びストレージシステムの制御方法
US9836108B2 (en) 2014-09-10 2017-12-05 Toshiba Memory Corporation Memory system and controller
JP2018160112A (ja) * 2017-03-23 2018-10-11 Necプラットフォームズ株式会社 ストレージシステム、ストレージシステムの制御方法及びプログラム
JP2021125113A (ja) * 2020-02-07 2021-08-30 株式会社日立製作所 ストレージシステム及び入出力制御方法
JP2022059647A (ja) * 2020-02-07 2022-04-13 株式会社日立製作所 ストレージシステム及び入出力制御方法

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007233638A (ja) * 2006-02-28 2007-09-13 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US20090193189A1 (en) * 2008-01-30 2009-07-30 Formation, Inc. Block-based Storage System Having Recovery Memory to Prevent Loss of Data from Volatile Write Cache
US20090282194A1 (en) * 2008-05-07 2009-11-12 Masashi Nagashima Removable storage accelerator device
JP5163744B2 (ja) * 2008-07-25 2013-03-13 富士通株式会社 機能拡張装置、情報処理装置および制御方法
US20100049919A1 (en) * 2008-08-21 2010-02-25 Xsignnet Ltd. Serial attached scsi (sas) grid storage system and method of operating thereof
US8443137B2 (en) * 2008-08-21 2013-05-14 Infinidat Ltd. Grid storage system and method of operating thereof
WO2010020992A1 (en) * 2008-08-21 2010-02-25 Xsignnet Ltd. Storage system and method of operating thereof
US8495291B2 (en) * 2008-08-21 2013-07-23 Infinidat Ltd. Grid storage system and method of operating thereof
US8078906B2 (en) * 2008-08-21 2011-12-13 Infinidat, Ltd. Grid storage system and method of operating thereof
US8452922B2 (en) * 2008-08-21 2013-05-28 Infinidat Ltd. Grid storage system and method of operating thereof
US8312217B2 (en) * 2008-12-30 2012-11-13 Rasilient Systems, Inc. Methods and systems for storing data blocks of multi-streams and multi-user applications
US20100174676A1 (en) * 2009-01-06 2010-07-08 International Business Machines Corporation Determining modified data in cache for use during a recovery operation
US8578119B2 (en) * 2009-11-16 2013-11-05 Symantec Corporation File system quota and reservation
WO2011074040A1 (en) * 2009-12-17 2011-06-23 Hitachi,Ltd. Storage apparatus and its control method
US8635494B2 (en) * 2010-04-30 2014-01-21 Taejin Info Tech Co., Ltd. Backup and restoration for a semiconductor storage device
US8850114B2 (en) 2010-09-07 2014-09-30 Daniel L Rosenband Storage array controller for flash-based storage devices
EP2437171B1 (de) * 2010-09-09 2013-05-01 Siemens Aktiengesellschaft Datenspeichersystem und Verfahren
US9286298B1 (en) * 2010-10-14 2016-03-15 F5 Networks, Inc. Methods for enhancing management of backup data sets and devices thereof
JP2012203583A (ja) * 2011-03-24 2012-10-22 Toshiba Corp 情報処理装置およびプログラム
US8793436B2 (en) 2011-05-23 2014-07-29 International Business Machines Corporation Cache management of tracks in a first cache and a second cache for a storage
US8806122B2 (en) 2011-05-23 2014-08-12 International Business Machines Corporation Caching data in a storage system having multiple caches including non-volatile storage cache in a sequential access storage device
US8799578B2 (en) 2011-05-23 2014-08-05 International Business Machines Corporation Managing unmodified tracks maintained in both a first cache and a second cache
CN103514110B (zh) * 2012-06-20 2016-08-24 华为技术有限公司 非易失性存储设备的缓存管理方法及装置
US9367480B2 (en) 2012-08-07 2016-06-14 Dell Products L.P. System and method for updating data in a cache
US9495301B2 (en) 2012-08-07 2016-11-15 Dell Products L.P. System and method for utilizing non-volatile memory in a cache
US9549037B2 (en) * 2012-08-07 2017-01-17 Dell Products L.P. System and method for maintaining solvency within a cache
US9311240B2 (en) 2012-08-07 2016-04-12 Dell Products L.P. Location and relocation of data within a cache
US9852073B2 (en) 2012-08-07 2017-12-26 Dell Products L.P. System and method for data redundancy within a cache
US9141505B1 (en) * 2012-09-27 2015-09-22 Emc Corporation Adaptive failure survivability in a storage system using save time and data transfer after power loss
US9519501B1 (en) 2012-09-30 2016-12-13 F5 Networks, Inc. Hardware assisted flow acceleration and L2 SMAC management in a heterogeneous distributed multi-tenant virtualized clustered system
US9554418B1 (en) 2013-02-28 2017-01-24 F5 Networks, Inc. Device for topology hiding of a visited network
KR20150010150A (ko) * 2013-07-18 2015-01-28 삼성전자주식회사 메모리 시스템 및 이의 동작 방법
US10163510B1 (en) * 2013-08-09 2018-12-25 Ellis Robinson Giles System and method for atomic persistence in storage class memory
WO2016099567A1 (en) 2014-12-19 2016-06-23 Hewlett Packard Enterprise Development Lp Flushing data content in response to a power loss event to a processor
US9459802B1 (en) 2015-03-30 2016-10-04 Kabushiki Kaisha Toshiba Hybrid-HDD that limits dirty data in NAND
KR20180031412A (ko) * 2016-09-20 2018-03-28 삼성전자주식회사 메모리 컨트롤러의 동작 방법과, 이를 포함하는 장치들의 동작 방법들
TWI718317B (zh) * 2016-11-04 2021-02-11 南韓商三星電子股份有限公司 資料儲存裝置及資料處理系統
CN108388524A (zh) * 2016-12-21 2018-08-10 伊姆西Ip控股有限责任公司 用于缓存数据的方法和设备
JP2018160156A (ja) * 2017-03-23 2018-10-11 東芝メモリ株式会社 メモリシステム
CN110058964B (zh) * 2018-01-18 2023-05-02 伊姆西Ip控股有限责任公司 数据恢复方法、数据恢复***和计算机可读介质
CN112099985B (zh) 2019-06-17 2023-09-12 慧荣科技股份有限公司 数据储存装置以及非挥发式存储器控制方法
CN112100087B (zh) * 2019-06-17 2024-04-02 慧荣科技股份有限公司 数据储存装置以及非挥发式存储器控制方法
CN112130749B (zh) 2019-06-25 2023-12-22 慧荣科技股份有限公司 数据储存装置以及非挥发式存储器控制方法
CN112130750B (zh) 2019-06-25 2023-11-07 慧荣科技股份有限公司 数据储存装置以及非挥发式存储器控制方法
US11074186B1 (en) 2020-01-14 2021-07-27 International Business Machines Corporation Logical management of a destage process and dynamic cache size of a tiered data storage system cache that is configured to be powered by a temporary power source during a power loss event
US20230032137A1 (en) * 2021-08-02 2023-02-02 Red Hat, Inc. Efficient dirty page expiration

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06236241A (ja) 1993-02-09 1994-08-23 Sharp Corp フラッシュメモリを用いたハードディスク装置
US5586291A (en) * 1994-12-23 1996-12-17 Emc Corporation Disk controller with volatile and non-volatile cache memories
JPH10154101A (ja) 1996-11-26 1998-06-09 Toshiba Corp データ記憶システム及び同システムに適用するキャッシュ制御方法
US6295577B1 (en) * 1998-02-24 2001-09-25 Seagate Technology Llc Disc storage system having a non-volatile cache to store write data in the event of a power failure
US6243795B1 (en) * 1998-08-04 2001-06-05 The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations Redundant, asymmetrically parallel disk cache for a data storage system
US6327671B1 (en) * 1998-11-18 2001-12-04 International Business Machines Corporation Delta compressed asynchronous remote copy

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011018241A (ja) * 2009-07-09 2011-01-27 Fujitsu Ltd 退避処理装置、退避処理方法およびストレージシステム
JP2011090460A (ja) * 2009-10-21 2011-05-06 Toshiba Corp データ記憶装置およびデータ記憶装置における制御方法
JP2011171867A (ja) * 2010-02-17 2011-09-01 Hitachi Ltd メールシステムにおけるデータストアサーバのデータ格納方法およびメール中継方法
JP2013506885A (ja) * 2010-02-19 2013-02-28 株式会社日立製作所 ディスクアレイ装置およびその制御方法
JP2012216188A (ja) * 2011-03-30 2012-11-08 Fujitsu Ltd 記憶制御装置、記憶制御方法及び記憶制御プログラム
JP2013025773A (ja) * 2011-07-26 2013-02-04 Yokogawa Electric Corp ファイル管理装置
WO2014192113A1 (ja) * 2013-05-30 2014-12-04 株式会社日立製作所 ストレージシステム及びデータバックアップ方法
US9201601B2 (en) 2013-05-30 2015-12-01 Hitachi, Ltd. Reducing required battery capacity for data backup in a storage system with multiple controllers
JP5963228B2 (ja) * 2013-05-30 2016-08-03 株式会社日立製作所 ストレージシステム及びデータバックアップ方法
WO2015097751A1 (ja) * 2013-12-24 2015-07-02 株式会社日立製作所 不揮発性キャッシュメモリにデータをバックアップするストレージシステム
US9696922B2 (en) 2013-12-24 2017-07-04 Hitachi, Ltd. Storage system
JPWO2015097751A1 (ja) * 2013-12-24 2017-03-23 株式会社日立製作所 不揮発性キャッシュメモリにデータをバックアップするストレージシステム
JP6097845B2 (ja) * 2013-12-24 2017-03-15 株式会社日立製作所 不揮発性キャッシュメモリにデータをバックアップするストレージシステム
JPWO2015132941A1 (ja) * 2014-03-07 2017-03-30 株式会社日立製作所 計算機
WO2015132941A1 (ja) * 2014-03-07 2015-09-11 株式会社日立製作所 計算機
WO2015186165A1 (ja) * 2014-06-02 2015-12-10 株式会社日立製作所 ストレージシステム及びストレージシステムの制御方法
US9697097B2 (en) 2014-06-02 2017-07-04 Hitachi, Ltd. Storage system and method for controlling storage system
US10768679B2 (en) 2014-09-10 2020-09-08 Toshiba Memory Corporation Memory system and controller
US10268251B2 (en) 2014-09-10 2019-04-23 Toshiba Memory Corporation Memory system and controller
US9836108B2 (en) 2014-09-10 2017-12-05 Toshiba Memory Corporation Memory system and controller
US11435799B2 (en) 2014-09-10 2022-09-06 Kioxia Corporation Memory system and controller
US11693463B2 (en) 2014-09-10 2023-07-04 Kioxia Corporation Memory system and controller
US11947400B2 (en) 2014-09-10 2024-04-02 Kioxia Corporation Memory system and controller
JP2018160112A (ja) * 2017-03-23 2018-10-11 Necプラットフォームズ株式会社 ストレージシステム、ストレージシステムの制御方法及びプログラム
JP2021125113A (ja) * 2020-02-07 2021-08-30 株式会社日立製作所 ストレージシステム及び入出力制御方法
JP7028902B2 (ja) 2020-02-07 2022-03-02 株式会社日立製作所 ストレージシステム及び入出力制御方法
JP2022059647A (ja) * 2020-02-07 2022-04-13 株式会社日立製作所 ストレージシステム及び入出力制御方法
JP7242928B2 (ja) 2020-02-07 2023-03-20 株式会社日立製作所 ストレージシステム及び入出力制御方法

Also Published As

Publication number Publication date
US20090077312A1 (en) 2009-03-19
US8024516B2 (en) 2011-09-20

Similar Documents

Publication Publication Date Title
JP2009075759A (ja) ストレージ装置及びストレージ装置におけるデータの管理方法
US7882305B2 (en) Storage apparatus and data management method in storage apparatus
JP4437489B2 (ja) 揮発性キャッシュメモリと不揮発性メモリとを備えたストレージシステム
US8261036B2 (en) Storage system comprising function for reducing power consumption
US9081690B2 (en) Storage system and management method of control information therein
US8296534B1 (en) Techniques for using flash-based memory in recovery processing
US7793061B1 (en) Techniques for using flash-based memory as a write cache and a vault
US8751467B2 (en) Method and apparatus for quickly accessing backing store metadata
JP4961319B2 (ja) 仮想ボリュームにおける仮想領域に動的に実領域を割り当てるストレージシステム
US20120011326A1 (en) Storage system and method for changing configuration of cache memory for storage system
US20070162692A1 (en) Power controlled disk array system using log storage area
US20090113149A1 (en) Storage apparatus, control method therefor, and storage system
JP2007293442A (ja) ストレージシステム及びその制御方法
JP2005157710A (ja) ドライブの稼働時間を抑止するディスクアレイ
JP2005149436A (ja) ストレージ装置、ストレージ装置における制御方法、ジョブスケジューリング処理方法及び障害処理方法並びにそれらのプログラム
US8195874B2 (en) Storage apparatus and method for shredding storage medium
JP2005301419A (ja) ディスクアレイ装置およびそのデータ処理方法
JP7318367B2 (ja) ストレージ制御装置及びストレージ制御プログラム
US8171324B2 (en) Information processing device, data writing method, and program for the same
US20160259571A1 (en) Storage subsystem
US20200057573A1 (en) Storage system
WO2016006108A1 (ja) ストレージおよびその制御方法
US20140019678A1 (en) Disk subsystem and method for controlling memory access
CN115480909A (zh) 存储***和数据处理方法

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090223