JP2014120092A - 情報処理装置、格納処理方法及びプログラム - Google Patents

情報処理装置、格納処理方法及びプログラム Download PDF

Info

Publication number
JP2014120092A
JP2014120092A JP2012276468A JP2012276468A JP2014120092A JP 2014120092 A JP2014120092 A JP 2014120092A JP 2012276468 A JP2012276468 A JP 2012276468A JP 2012276468 A JP2012276468 A JP 2012276468A JP 2014120092 A JP2014120092 A JP 2014120092A
Authority
JP
Japan
Prior art keywords
log
management information
page
storage medium
storage
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.)
Granted
Application number
JP2012276468A
Other languages
English (en)
Other versions
JP6115116B2 (ja
Inventor
Takashi Higashiyama
崇 東山
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 JP2012276468A priority Critical patent/JP6115116B2/ja
Priority to US14/075,250 priority patent/US9152329B2/en
Priority to EP13193059.6A priority patent/EP2746951A2/en
Publication of JP2014120092A publication Critical patent/JP2014120092A/ja
Application granted granted Critical
Publication of JP6115116B2 publication Critical patent/JP6115116B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2015Redundant power supplies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2336Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
    • G06F16/2343Locking methods, e.g. distributed locking or locking implementation details

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】メモリ上のログ書き出しを短時間で行なう。
【解決手段】管理情報を第1の記憶媒体30に格納するために要するページ数を算出する算出部13と、算出したページ数に相当するページをフリーページとして設定し、設定したフリーページに管理情報を格納することで第1の記憶媒体30に管理情報を格納する格納処理部13と、第1の記憶媒体30における管理情報の格納位置を示す位置管理情報を更新する処理を行なう更新処理部13とを備える。
【選択図】図1

Description

本発明は、情報処理装置、格納処理方法及びプログラムに関する。
ストレージ装置においては、バックアップ用電源とバックアップ用メモリとを備え、ディスクへのI/Oデータを格納するキャッシュ上のデータを、停電発生時にバックアップ用メモリに格納する機能を備えるものが知られている。又、停電発生時の処理シーケンスにおいては、メモリ上に蓄えられているログ(障害情報等)の書き出しも行なわれる。
特開2005−293085号公報 特開2008−77669号公報
しかしながら、このような従来のストレージ装置においては、搭載されるメモリサイズが大きくなり、キャッシュサイズが大きくなると、このキャッシュのデータをバックアップ用メモリに書き出すために要する時間(書き出し時間)が長くなる。
その一方で、バックアップ用電源の電源容量は限られているので、キャッシュデータの書き出し処理に時間を要すると、ログ書き出し処理に割り当てることができる時間が短くなる。従って、メモリ上のログ書き出しを短時間で行なう必要があるという課題がある。
1つの側面では、本発明は、メモリ上のログ書き出しを短時間で行なうことを目的とする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
このため、この情報処理装置は、第1の記憶媒体と、管理情報を前記第1の記憶媒体に格納するために要するページ数を算出する算出部と、前記算出したページ数に相当するページをフリーページとして設定し、設定した前記フリーページに前記管理情報を格納することで前記第1の記憶媒体に前記管理情報を格納する格納処理部と、前記第1の記憶媒体における前記管理情報の格納位置を示す位置管理情報を更新する処理を行なう更新処理部と、を備える。
また、この格納処理方法は、管理情報を第1の記憶媒体に格納する格納処理方法であって、前記管理情報を前記第1の記憶媒体に格納するために要するページ数を算出する処理と、前記算出したページ数に相当するページをフリーページとして設定し、設定した前記フリーページに前記管理情報を格納することで前記第1の記憶媒体に前記管理情報を格納する処理と、前記第1の記憶媒体における前記管理情報の格納位置を示す位置管理情報を更新する処理と、を備える。
さらに、このプログラムは、第1の記憶媒体を有するコンピュータにおいて、管理情報を前記第1の記憶媒体に格納するために要するページ数を算出する処理と、前記算出したページ数に相当するページをフリーページとして設定し、設定した前記フリーページに前記管理情報を格納することで前記第1の記憶媒体に前記管理情報を格納する処理と、前記第1の記憶媒体における前記管理情報の格納位置を示す位置管理情報を更新する処理と、
を前記コンピュータに実行させる。
一実施形態によれば、メモリ上の管理情報の書き出しを短時間で行なうことができる。
実施形態の一例としてのストレージシステムの機能構成を示す図である。 (a),(b)は実施形態の一例としてのストレージシステムにおけるログの管理手法を説明する図である。 (a),(b),(c)は、実施形態の一例としてのストレージシステムにおける第2モードでのログの管理手法を説明する図である。 実施形態の一例としてのストレージシステムにおけるメモリログ域に格納されているログの使用サイズを例示する図である。 実施形態の一例としてのストレージシステムにおけるログ書き出し処理を説明するための図である。 実施形態の一例としてのストレージシステムにおけるメモリログ書き出し手法を説明するためのフローチャートである。 実施形態の一例としてのストレージシステムにおけるメモリログ書き出し手法を説明するためのフローチャートである。 実施形態の一例としてのストレージシステムの変形例におけるメモリログ書き出し手法を説明するためのフローチャートである。
以下、図面を参照して本情報処理装置、格納処理方法及びプログラムに係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。又、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
(A)実施形態
図1は実施形態の一例としてのストレージシステム1の機能構成を示す図である。
本実施形態のストレージシステム1は、図1に示すように、ストレージ装置(情報処理装置)100と1以上(図1に示す例では1つ)のホスト装置2とを備え、このホスト装置2に対して記憶領域を提供する。ホスト装置2は、例えば、サーバ機能をそなえたコンピュータ(ホストコンピュータ)であり、LAN(Local Area Network)等のネットワークを介して、ストレージ装置100と通信可能に接続される。
ストレージ装置100は、図1に示すように、CM(Controller Module)101,BPSU(Buck Up Power Supply Unit)40及び1以上(図1に示す例では3つ)の記憶装置3を備える。
記憶装置3は、ハードディスクドライブ(Hard Disk Drive:HDD)やSSD(Solid State Drive)等のデータを読み書き可能に格納する記憶装置であり、ホスト装置2から受信したデータを記憶可能な記憶部として機能する。本実施形態においては、記憶装置3としてHDDを用いる例について示す。以下、記憶装置3をHDD3と表す場合もある。
なお、図1中においては、便宜上、ストレージ装置100に3つのHDD3を示しているが、これに限定されるものではなく、2つ以下もしくは4つ以上のHDD3を備えてもよい。そして、ストレージ装置100は、これらの複数のHDD3を組み合わせて、冗長化された1つのストレージとして管理する、Redundant Arrays of Inexpensive Disks(RAID)装置であってもよい。本実施形態においては、ストレージ装置100が、これらの複数のHDD3を用いてRAIDを形成するRAID装置である例について説明する。
BPSU40は、ストレージ装置100における停電時に、CM101の少なくとも一部の部位に電力を供給する電力供給装置である。このBPSU40は、ストレージ装置100の停電時に、例えば、CM101の、CPU10,メモリ20及びバックアップ用メモリ30に対して電力を供給する。
このBPSU40は、図1に示すように、バッテリ41を備える。バッテリ41は、例えば、鉛蓄電池やニッケル水素電池(Ni-H),リチウムイオン(Li-ION)電池等の二次電池である。なお、バッテリ41に代えて、電気二重層コンデンサ(電気二重層キャパシタ)等のキャパシタを備えてもよい。
CM101は、ストレージ装置100内の動作を制御するコントローラ(制御装置,コンピュータ)であり、例えば、ホスト装置2からのリード/ライト等のコマンドを受け取り、種々の制御を行なう。CM101はフロントエンド51を介してネットワークに接続される。そして、このCM101は、ホスト装置2から受信するリード/ライト等のディスクアクセスコマンドに従ってHDD3のデータアクセス制御を行なう。
CM101は、図1に示すように、フロントエンド51,バックエンド52,CPU10,メモリ20及びバックアップ用メモリ30を備える。
フロントエンド51は、ホスト装置2等と通信可能に接続するインタフェースコントローラ(通信アダプタ)であり、例えば、CA(Channel Adapter)である。フロントエンド51は、ホスト装置2等から送信されたデータを受信し、又、CM101から出力するデータをホスト装置2等に送信する。すなわち、フロントエンド51は、ホスト装置2等の外部装置との間でのデータの入出力(I/O)を制御する。
バックエンド52は、HDD3と通信可能に接続するインタフェースコントローラ(通信アダプタ)であり、例えば、DA(Device Adapter)である。バックエンド52は、HDD3に書き込むデータをHDD3に送信し、又、HDD3から読み出されたデータを受信する。すなわち、バックエンド52は、HDD3との間でのデータの入出力(I/O)を制御する。
メモリ20は、Read Only Memory(ROM)及びRandom Access Memory(RAM)を含む記憶装置である。メモリ20のROMには、本ストレージ装置100における各種制御に係るソフトウェアプログラムやこのプログラム用のデータ類が書き込まれている。すなわち、ROMには、本ストレージ装置100における停電発生時に実行されるキャッシュデータのバックアップ制御に係るプログラム等も書き込まれている。
メモリ20上のプログラムは、CPU10に適宜読み込まれて実行される。又、メモリ20のRAMは、一次記憶メモリあるいはワーキングメモリとして利用される。
メモリ20のRAMは、図1に示すように、RAIDキャッシュ(キャッシュメモリ)21,メモリログ域22及びライトバッファ23として機能する。
RAIDキャッシュ21は、ホスト装置2から受信したデータや、HDD3から読み出したデータを格納する。ホスト装置2から受信し、HDD3に書き込まれるデータ(ライトデータ,ライトキャッシュデータ)は、このRAIDキャッシュ21における所定の領域(ユーザ領域)に格納された後、HDD3に転送される。
本ストレージシステム1においては、このRAIDキャッシュ21におけるライトデータを格納するための所定の領域をバックアップ対象領域とし、このバックアップ対象領域に格納されているデータの複写を、後述するバックアップ用メモリ30に格納する(メモリバックアップ)。
また、HDD3から読み出されたデータ(リードデータ)は、RAIDキャッシュ21におけるリードデータを格納するための領域に格納された後、ホスト装置2に送信される。
メモリログ域22には、CM101において行なわれた各種処理に関するログ(管理情報)が格納される。このログには、障害情報のログも含まれる。ログとしては、例えば、エラーログ,イベントログ,デグレードログ,デグレードファクターログ等の種々の種類のログがあり、例えば、CM101のCPU10がエラー検出機能を実行することにより生成される。1つのログのデータサイズは、例えば、30Byte〜1KByte(KB)程度である。なお、このCM101におけるエラー検出機能は既知の種々の手法により実現され、その説明は省略する。
ライト用バッファ(第2の記憶媒体)23は、後述するバックアップ用メモリ30へログを書き出すためにログを一時的に格納するバッファである。このライト用バッファ23は、後述するバックアップ用メモリ30の1ページ(Page)と同じサイズを有する。
すなわち、ライト用バッファ23には、後述するキャッシュ制御部12やログ制御部13がバックアップ用メモリ30にデータ(バックアップデータ)を格納する際に、このバックアップ用メモリ30に書き込まれる1ページ分のデータが格納(展開)される。
なお、メモリ20におけるRAIDキャッシュ21,メモリログ域22及びライト用バッファ23としての少なくとも一部の機能を、メモリ20とは別に備えられた他の記憶装置により実現してもよく、種々変形して実施することができる。
バックアップ用メモリ(第1の記憶媒体)30は、フラッシュメモリ等の電力を供給しなくても記憶を保持するメモリ(不揮発性メモリ)である。このバックアップ用メモリ30としては、例えば、SSDが用いられる。ただし、バックアップ用メモリ30は、これに限定されるものではなく、例えば、磁気抵抗RAMやPRAM(Phase change RAM),強誘電体メモリを用いてもよく、種々変形して実施することができる。
そして、このバックアップ用メモリ30には、ストレージ装置100の停電時に、メモリ20のRAIDキャッシュ21やメモリログ域22のバックアップ対象領域のデータ(ログ)が格納される。
CPU10は、種々の制御や演算を行なう処理装置であり、メモリ20に格納されたプログラムを実行することにより、種々の機能を実現する。
例えば、CPU10は、システム制御部としての機能を備え、ストレージ装置100における、RAIDの実現や、アラーム監視機能,経路制御機能,RAS機能等の種々の機能を実現する。又、CPU10は、図1に示すように、電源制御部11,キャッシュ制御部12及びログ制御部13としての機能を備える。
電源制御部11は、ストレージ装置100における電力供給を制御する。電源制御部11は、停電を検知すると、BPSU40に対して電力供給指示を行なう。これにより、図示しない電力供給装置からの電力が遮断された場合においても、CM101の各部にBPSU40からの電力が供給される。
なお、電源制御部11は、例えば、電力供給装置から供給される電力の電圧値を所定の基準値と比較することで停電を検知してもよく、又、電力供給装置等の他の装置から停電が生じた旨の通知を受け取ることにより、停電を検知してもよい。
また、電源制御部11は、停電の発生を検知すると、キャッシュ制御部12及びログ制御部13に停電発生を通知する。
キャッシュ制御部12は、RAIDキャッシュ21のデータを制御する。例えば、キャッシュ制御部12は、ホスト装置2から受信したI/O(Input/Output)要求に対応するデータがRAIDキャッシュ21にある場合には、そのデータをフロントエンド51に受け渡す。
また、電源制御部11から停電発生の通知を受け取ると、RAIDキャッシュ21のキャッシュデータをバックアップ用メモリ30の所定の領域にコピーする(RAIDキャッシュデータ書き出し)。
ログ制御部13は、電源制御部11から停電発生の通知を受け取ると、メモリログ域22のログをバックアップ用メモリ30の所定の領域に書き出す(メモリログ書き出し,メモリログ吐き出し)。なお、このログ制御部13によるメモリログ書き出しは、キャッシュ制御部12によるRAIDキャッシュデータ書き出しの後に行なうことが望ましい。
ログ制御部13は、ログを所定サイズのブロック単位で管理する。すなわち、ログ制御部13は、バックアップ用メモリ30のメモリ領域をページ(Page)と呼ばれる所定サイズ(例えば、64KByte)の領域に分割し、これらのページにログを格納することで管理する。以下、1ページのデータサイズをページサイズという。
なお、前述の如く、1つのログのデータサイズは、例えば、30Byte〜1KByte(KB)程度であり、1つのページには1以上のログが格納される。又、1ページサイズよりも大きいログは、この1ページサイズよりも小さい複数のログに分割される。
また、前述の如く、ライト用バッファ23は、1ページ分(64KB)のサイズを有している。ログ制御部13は、バックアップ用メモリ30の1ページに書き込み可能なログをライト用バッファ23にコピーしてから、バックアップ用メモリ30の所定の領域に書き込む。
すなわち、ログ制御部13は、バックアップ用メモリ30に書き込むログをメモリログ域22から読み出してライト用バッファ23に格納し、バックアップ用メモリ30へ格納するページのイメージ(1ページ分のデータ)を作成する。そして、ログ制御部13は、このライト用バッファ23に用意した1ページ分のデータを、バックアップ用メモリ30の所定の領域にそのまま書き込む。
図2(a),(b)は実施形態の一例としてのストレージシステム1におけるログの管理手法を説明する図であり、図2(a)はログ格納前の状態を、図2(b)はログ格納後の状態を、それぞれ例示する。
図2(a),(b)に示すように、ログ制御部13は、ログを、ログデータを格納するページ部(Page部,ログ域)と、ページ部の管理情報(Header)を保持するヘッダ部(Header部,管理域)とを用いて管理する。これらのページ部及びヘッダ部はバックアップ用メモリ30に格納される。
ページ部には複数のページが備えられ、これらのページに1以上のログがそれぞれ格納される。又、ページは、図2(a),(b)に示すように、ログの種類に応じたタイプ(Type)に分類されて管理される。図2(a),(b)においては、ページ(ログ)が、Type#0〜Type#238の239種類のタイプに分類された例を示す。
ログ制御部13は、ログの種別となるタイプ毎にページをアサインし、各タイプにアサインしたページをリンクすることで順序を保つ。
一つのページには同じ種類のログが格納され、同種のログが格納された複数のページは、同一のタイプにリンクされる。各ページのリンクにおいて、ページはFIFO(First In, First Out)で処理される。
図2(a),(b)に示す例においては、タイプ毎にページを重積して示すことで、各タイプに複数のページがリンクされている状態を示している。又、図中、各タイプについて重積して示される複数のページのうち、下側のページ程古いページであることを示しており、各最下段のページが先頭のページ(Top Page)である。
すなわち、ログ部において、タイプにリンクされている複数のページは、それらの内、最下段の先頭のページから順番に処理される。
ログが格納されていないページは、フリーページ(Free Page)として扱われ、このフリーページは、フリーページのタイプ(図2(a),(b)に示す例ではType#239)にリンク付けられる。
ヘッダ部には、ログ部において各タイプに関連付けられているページについての情報(管理情報)が格納される。
図2(a),(b)に示す例においては、ヘッダ部において、Type Number,Page Count,Top Page Number及びBottom Page Numberが管理されている。
Type Numberはタイプを識別するための情報(番号)であり、Page Countはそのタイプにリンクされているページの数を表す。Top Page Numberはそのタイプにリンクされているページのうち先頭のページを、又、Bottom Page Numberは、そのタイプにリンクされているページのうち最後尾のページを、それぞれ表す。
また、ログを格納する際に、そのログに対応するタイプに先にリンクされているページに、当該ログを格納することができない場合には、フリーページが用いられる。
例えば、図2(a)に示す状態において、Type#237に対応するログを新たに格納する際には、ログ制御部13は、管理部のBottom Page Numberを参照して、Type#237にリンクされている最後尾のページを確認する。図2(a)において、Type#237の最後尾のページは、Page#9である。
そして、このPage#9に新たなログを格納することができない場合には、ログ制御部13は、ヘッダ部のBottom Page Numberを参照して、フリーページ(Type#239)にリンクされている先頭のページを確認する。図2(a)において、Type#239の先頭のページは、Page#10である。
ログ制御部13は、このフリーページ(Type#239)に使用可能なページがリンクされている場合には、図2(b)に示すように、その先頭のページ(Page#10)をType#237の最後尾にアサインして、このPage#10にログを格納する。
また、ログ部において、全てのページが使用され、フリーページ(Type#239)に使用可能なページがリンクされていない場合も考えられる。このような、全てのページが使用され、フリーページ(Type#239)に使用可能なページがリンクされていない状態を、以下、フリーページが枯渇した状態という場合がある。
ログ制御部13は、ログの書き出しを、第1のモードと第2のモードとの2種類のモードで行なうことができ、これらの2種類のモードのうちいずれかでログの書き出しを行なう。
第1モードにおいては、ログ制御部13は、タイプ毎のメモリログを全て書き出すまでに、ログ及びヘッダをバックアップ用メモリ30に対して書き出すアクセス処理を繰り返し行なう。
具体的には、既にタイプに対してアサインされているページにログを書き込む空きが無い場合(場合A)には、以下のステップ1〜3のライト処理を行なう。すなわち、その格納するログのタイプに対して、新しいフリーページをアサインしてヘッダを更新し(ステップ1)、ライト用バッファ23にアサインしたフリーページにログを書き出してから、このページをバックアップ用メモリ30へ書き出し(ステップ2)、更に、更新したヘッダをバックアップ用メモリ30に書き込む(ステップ3)。
このように、第1モードの場合Aにおいては、ステップ1〜3の3回のライト処理が行なわれる。そして、バックアップ用メモリ30に書き出すログが複数ある場合には、ログ毎に上記のステップ1〜3の処理を繰り返し行なう。
このように、第1モードにおいては、バックアップ用メモリ30に対して1ページ分のログの書き出しを行なう度にヘッダの更新を行なうことで、ログを確実にバックアップ用メモリ30に書き出すことができる。
なお、既にタイプに対してアサインされているページにログを書き込む空きがある場合(場合B)には、以下のステップ1′,2′,3の処理を行なう。すなわち、タイプにアサインされているページをライト用バッファ23へ読み出し(ステップ1′)、ライト用バッファ23に読み出したページにログを書き出してから、このページをバックアップ用メモリ30へ書き出し(ステップ2′)、更新したヘッダをバックアップ用メモリ30に書き込む(ステップ3)。
このように、場合Bにおいては、ステップ1′,2′,3において、1回のリード処理と2回のライト処理とが行なわれる。そして、バックアップ用メモリ30に書き出すログが複数ある場合には、ログ毎に上記のステップ1′,2′,3の処理を繰り返し行なう。
このような場合Bは、前回のログ書き出しで、ページ内に空き領域が存在する場合である。ここで、ほとんどのケースで、1ページ目のログ書き出しは、前回の空き領域にライトする場合Bとなる。又、2ページ目以降のログ書き出しは、1ページがフルになった後の処理となり、新たにページをアサインする必要があるため場合Aとなる。
一般に、メモリログ域22のログをバックアップ用メモリ30に書き出す場合に、ある程度メモリログ域22にログを蓄えてから書き出し処理を行なう。そのため、ログ書き出し時には、複数ページ(例えば、数10ページ)分のログデータを扱うこととなる。これにより、ほとんどのログ書き出しは、上記のページにログを書き込む空きが無い場合(場合A)に相当する。つまり、第1モードにおいては、1ページのログを書き出す際に3回のライト処理が行なわれることが多い。
次に第2モードについて説明する。
図3(a),(b),(c)は、実施形態の一例としてのストレージシステム1における第2モードでのログの管理手法を説明する図である。図3(a)はそのフェーズ(Phase)1を、図3(b)はそのフェーズ2を、図3(c)はそのフェーズ3を、それぞれ例示する。又、図4は実施形態の一例としてのストレージシステム1におけるメモリログ域22に格納されているログの使用サイズを例示する図である。
ログ制御部13は、第2モードにおいては、図3(a),(b),(c)に示すようなフェーズ1〜3からなる3つのフェーズでログ書き出しを行なう。
ログ制御部13は、フェーズ1において、先ず、ログを格納するために必要なフリーページページの数(必要フリーページ数)の算出を行なう。
ログ制御部13は、図4に示すように、メモリ20のメモリログ域22に格納されているログのタイプ毎の総量のサイズ(使用サイズ;Used Size)を管理している。
図4に示す例においては、メモリログ域22においては、タイプ2(Type#2)のログの総量(Used Size)が987654byteである。なお、この図4中においては、便宜上、タイプ2以外のログのデータサイズをxxxx,yyyy,zzzz等で示している。
そして、ログ制御部13は、このように管理しているメモリログ域22におけるログの使用サイズと、バックアップ用メモリ30におけるページサイズ(例えば64KB)とを用いて、必要フリーページ数を算出する。
具体的には、ログ制御部13は、各タイプのログの使用サイズをページサイズで除算することにより、必要フリーページ数を算出する。例えば、図4に示す例において、タイプ2のログ(987654byte)をバックアップ用メモリ30に格納するためには、
必要フリーページ数=987654÷(64×1024)=15.07
となり、必要フリーページ数は16(16ページ)となる。
そして、ログ制御部13は、算出した必要数のページを、先にタイプに割り当てられているページの中から選択し、フリーページにアサインする。
ここで、先にタイプに割り当てられているページの中から、フリーページにアサインするページの選択手法としては、例えば、ログ部において先にタイプにリンクされている(最も古い)ページから順に選択することが望ましい。
図3(a)に示す例においては、タイプ1(Type#1)の3つのページ(Page#1,#13,#14)とタイプ237(Type#237)の2つのページ(Page#3,#4)との、合計5つのページが選択されている。
ログ制御部13は、これらの選択したページをフリーページ(Type#239)にアサインする。
ログデータを格納するためのページを、一旦フリーページとしてアサインすることにより、ヘッダ内での矛盾の発生を防止することができる。フリーページとしてアサインされている状態では、ページ内のデータは無効であり、後述するフェーズ3においてヘッダの更新が完了するまでデータは確定しないからである。
次に、ログ制御部13は、図3(b)に示すように、フェーズ2において、ログデータをアサインした各フリーページに格納する。
ログ制御部13は、ライト用バッファ23を介してログデータをバックアップ用メモリ30に格納する。具体的には、ライト用バッファ23において、バックアップ用メモリ30に記録する1ページ分のデータを作成し、このライト用バッファ23に作成したデータをバックアップ用メモリ30に格納する。
図5は実施形態の一例としてのストレージシステム1におけるログ書き出し処理を説明するための図である。
この図5に示すように、メモリログ域22のログデータは、ライト用バッファ23に1ページに書き込み可能な分ずつコピーされ、このライト用バッファ23からバックアップ用メモリ30のフリーページに書き込まれる。
ここで、フリーページへのログデータの書き込み時に、ファームパニック等の異常が発生した場合には、バックアップ用メモリ30内にログは残らないが、メモリログ域22やライト用バッファ23からはメモリダンプファイルを採取することができる。このメモリダンプ上にはログが残るので、異常発生時のログを採取して障害解析が可能となる。
その後、図3(c)に示すように、フェーズ3において、ログ制御部13は、バックアップ用メモリ30のページ部の更新に伴いヘッダを書き換える。
そして、本実施形態においては、ログ制御部13は、ストレージシステム1への電力供給が遮断されている(停電中)場合に、第2モードでのログの書き出しを行ない、それ以外の通常時には第1モードでのログの書き出しを行なう。すなわち、停電時にはログ吐出速度を優先して行なう。
上述の如く構成された実施形態の一例としてのストレージシステム1におけるメモリログ書き出し手法を、図6及び図7に示すフローチャート(ステップA1〜A20)に従って説明する。なお、図6はステップA1〜A14を、図7はステップA15〜A20をそれぞれ示す。
例えば、メモリログ域22に格納されているログのサイズが予め設定された所定量以上となった場合に、本処理が開始される。
ステップA1において、ログ制御部13は、バックアップ用メモリ30からヘッダを読み出す。そして、ステップA2において、メモリログ域22のログについて、ログが存在するタイプを検索する。
ステップA3において、ログ制御部13は、ログが存在するタイプがあるか否かを判断する。ログが存在するタイプが無い場合には(ステップA3のNOルート参照)、バックアップ対象のログが無いと判断し、処理を終了する。
ログが存在するタイプがある場合には(ステップA3のYESルート参照)、ログ制御部13は、そのログがあるタイプを一つ選択し、ヘッダを参照して、その選択したタイプ(検出タイプ)にアサインされている(リンクされている)全てのページに対するライトを抑止する(ステップA4)。具体的には、当該タイプに対して既にアサインされているページに関してのライトを抑止する。なお、ここで、当該タイプに対して新たなページを追加アサイン(ログ追加)することは可能であり、このように追加アサインされたページは次回のログ書き出しで処理される。
ステップA5において、ログ制御部13は、停電中であるか否かを確認する。停電中ではない場合には(ステップA5のNOルート参照)、ログ制御部13は、第1モードでのログ書き出しを行なう。
この第1モードにおいては、ログ制御部13は、先ず、ステップA6において、検出タイプにアサインされているページに空き領域があるか否かを判断する。すなわち、ログ制御部13は、検出タイプにリンクされているページのうち、最後にリンクされたページにログを書き込むことができるだけの容量が空いているかを確認する。
検出タイプにアサインされているページに空き領域がある場合には(ステップA6のYESルート参照;場合B)、ステップA7において、ログ制御部13は、バックアップ用メモリ30からそのページをライト用バッファ23に読み出す。一方、検出タイプにアサインされているページに空き領域がない場合には(ステップA6のNOルート参照;場合A)、ステップA8において、ログ制御部13は、フリーページを当該タイプにアサインする。更に、ログ制御部13は、このフリーページのアサインに基づいて更新したヘッダを、バックアップ用メモリ30にライトする。
その後、ステップA9において、ログ制御部13は、バックアップ対象のログ(対象ログ)をメモリログ域22から読み出し、ライト用バッファ23のページに格納する。すなわち、メモリログをライト用バッファ23にコピーする。
そして、ステップA10において、ログ制御部13は、ライト用バッファ23のページのデータをバックアップ用メモリ30にライトする。
また、ステップA11において、ログ制御部13は、ヘッダをバックアップ用メモリ30にライトし、その後、ステップA12において、メモリログ域22から対象ログを削除する。
ステップA13において、ログ制御部13は、同一タイプにおいて未処理のページの有無を確認し、未処理のページがある場合には(ステップA13のYESルート参照)、ステップA6に戻る。又、同一タイプにおいて未処理のページがない場合には(ステップA13のNOルート参照)、次に、ステップA14において、未処理のタイプの有無を確認する。
未処理のタイプがある場合には(ステップA14のYESルート参照)、ステップA3に戻り、ログが存在するタイプがあるか否かの判断を行なう。すなわち、ステップA3においてログが存在するタイプがまだある場合には、そのタイプに切り替えて、再度、ステップA4以下の処理を行なう。又、未処理のタイプが無い場合には(ステップA14のNOルート参照)、処理を終了する。
一方、ステップA5において、停電中である場合には(ステップA5のYESルート参照)、ログ制御部13は、第2モードでログの書き出しを行なう。
この第2モードにおいては、ログ制御部13は、先ず、ステップA15において、ログを格納するための必要フリーページ数の算出を行なう(フェーズ1)。すなわち、ログ制御部13は、検出タイプのログのデータサイズに基づいて、必要フリーページ数を算出する。
ログ制御部13は、算出した必要数のページを、先にタイプに割り当てられているページの中から選択してフリーページにアサインし、更に、このフリーページのアサインに基づいて更新したヘッダをライト用バッファ23にライトする。
その後、ログ制御部13は、ステップA16において、メモリログ域22のログ(対象ログ)をライト用バッファ23にコピーして、1ページ(例えば、64KByte)分のデータを作成する。その後、ステップA17において、このライト用バッファ23のログをバックアップ用メモリ30のページにライトする(フェーズ2)。
そして、ステップA18において、ログ制御部13は、同一タイプにおいて未処理のページの有無を確認し、未処理のページがある場合には(ステップA18のYESルート参照)、ステップA16に戻る。又、同一タイプにおいて未処理のページがない場合には(ステップA18のNOルート参照)、次に、ステップA19において、ログ制御部13は、ヘッダをバックアップ用メモリ30にライトする(フェーズ3)。その後、ステップA20において、ログ制御部13は、メモリログ域22から対象ログを削除し、ステップA14に移行する。
このように、実施形態の一例としてのストレージシステム1によれば、ログ書き出しを行なうに際して、ログ制御部13が、第2モードにおいて、ログを格納するために必要なフリーページ数を算出してアサインする。そして、ログ制御部13は、これらの複数のフリーページにログのライトを行なってからヘッダの書き換えを行なう。
すなわち、アサインした各フリーページにログデータの書き出しを行なった後にヘッダの更新を一括して行なうことで、バックアップ用メモリ30に対して行なうライト処理数を減らすことができる。
上述した第1モードの場合Aにおいては、1ページ分のデータの書き出しを行なうに際して、上記ステップ1〜3の3回のライト処理が行なわれる。従って、各タイプで書き出しするページ数をXとした場合に、バックアップ用メモリ30へのライト回数は、3Xとして算出される。
例えば、あるタイプの5ページ分のログをバックアップ用メモリ30に書き出す場合には(X=5)、5×3=15回のライト処理が行なわれる。
これに対して、第2モードの場合においては、各タイプで書き出しするページ数をXとした場合に、バックアップ用メモリ30へのライト回数は、X+2として算出される。
従って、あるタイプの5ページ分のログをバックアップ用メモリ30に書き出す場合には(X=5)、5+2=7回のライト処理が行なわれる。
つまり、第2モードにおいては、各タイプのログデータ書き出しに要する時間(X+2)は、第1モードにおける各タイプのログデータ書き出しに要する時間(3X)に比べて、(X+2)/3Xとなり、ほぼ1/3の処理時間で行なうことができる。
例えば、5MBのサイズを有するメモリログ域22がフルとなるケースにおいては、ログが約3つのタイプに偏ってXの値が大きくなり、第2モードでログ書き出しを行なうことにより、第1モードに比べて1/3〜1/2の時間で処理を完了させることができる。
そして、例えば、本ストレージシステム1の停電時に第2モードでログの書き出しを行なうことにより、メモリログ域22のデータを確実にバックアップ用メモリ30に退避させることができ、信頼性を向上させることができる。
また、第2モードにおいては、バックアップ用メモリ30へのライト回数を低減することにより、バックアップ用メモリ30の寿命を延ばすことにも寄与し、これによっても信頼性を向上させることができる。
一方、第1モードでログの書き出しを行なうことにより、バックアップ用メモリ30に対して1ページ分のログの書き出しを行なう度にヘッダの更新を行なうことで、ログを確実にバックアップ用メモリ30に書き出すことができる。
また、第1モードにおいては、1ページのログをライトする毎にメモリログ域22上のログが削除されるため、メモリログ域22の空きを確保することができ、この確保した空き領域に新たなログを記録することができる。
(B)変形例
なお、上述した実施形態に関わらず、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上述した実施形態においては、停電中であるか否かを判断することにより、第1モードと第2モードとのいずれでログ書き出しを行なうかを決定しているが、これに限定されるものではない。
前述の如く、ストレージシステム1の停電発生時には、搭載されているバッテリ41の放電時間内で、RAIDキャッシュ21のキャッシュデータ(RAIDキャッシュデータ)の書き出しとメモリログ域22のログの書き出しとを行なう必要がある。
また、停電発生時において、RAIDキャッシュデータの書き出しはログの書き出しに優先して行なわれる。
本変形例においては、バッテリ放電時間のうち、RAIDキャッシュデータの書き出しを行なった後にログ書き出しにかけることができる時間(バッテリ放電残り時間:時間A)と、第1モードでのログ書き出しに要する予測時間(メモリログ書き出し時間:時間B)とを比較する。
そして、バッテリ放電残り時間がメモリログ書き出し時間よりも長い場合には第1モードでログ書き出しを行ない、バッテリ放電残り時間がメモリログ書き出し時間以下の場合には第2モードでログ書き出しを行なう。
そこで、ログ制御部13はバッテリ放電残り時間の算出と、メモリログ書き出し時間の算出とを行なう。以下に、バッテリ放電残り時間の算出手法と、メモリログ書き出し時間の算出手法とを示す。
(1)バッテリ放電残り時間
メモリログ書き出しに割当てられるバッテリ放電残り時間は、バッテリ41によるバッテリ放電の全体時間から、RAIDキャッシュデータの書き出しに要する時間(キャッシュ書き出し時間)を減算することにより求められる。
バッテリ放電の全体時間は、例えば、以下の式(1)により算出する。
バッテリ放電の全体時間 =[バッテリ放電で稼動可能な最大時間]×[バッテリ充電率]
×[バッテリ経年劣化率] ・・・(1)
ここで、「バッテリ放電で稼動可能な最大時間」は、ストレージシステム1の仕様によって決定され、例えば、600secである。
「バッテリ充電率」は、バッテリ41の充電状態であり、例えば百分率で示す。充電率=100%の状態でバッテリ放電で稼動可能な最大時間が保証される。
「バッテリ経年劣化率」は、バッテリの劣化状態を表す値であり、例えば百分率で示す。バッテリ41は経年劣化し、この経年劣化により稼動可能な時間も減少する。
キャッシュ書き出し時間は、例えば、以下の式(2)により算出する。
キャッシュデータ書き出し時間 = [キャッシュデータがフルの時の書き出し処理に必要な最大時間]×[キャッシュ使用率] ・・・(2)
ここで、「キャッシュデータがフルの時の書き出し処理に必要な最大時間」は、RAIDキャッシュ21にフルの状態で格納されたキャッシュデータをバックアップ用メモリ30に書き込むのに要する時間である。このキャッシュデータがフルの時の書き出し処理に必要な最大時間は、例えば、RAIDキャッシュ21のサイズやI/O性能、バックアップ用メモリ30のI/O性能等によって決定される。キャッシュデータがフルの時の書き出し処理に必要な最大時間は、例えば、300secである。
「キャッシュ使用率」は、RAIDキャッシュ21に格納されているキャッシュデータのデータサイズであり、RAIDキャッシュ21の領域に占める割合を、例えば百分率で示す。キャッシュ使用率が100%の場合に、キャッシュデータがフルの時の書き出し処理に最大時間(例えば、300sec)を要する。
そして、バッテリ放電残り時間(時間A)は、以下の式(3)により求められる。
時間A=[バッテリ放電の全体時間]−[キャッシュデータ書き出し時間]・・(3)
なお、ストレージシステム1においては、BPSU40の故障時やバッテリ41の充電率が明らかに低い場合(所定の閾値未満の場合)には、停電処理は行なわれない。
(2)メモリログ書き出し時間
メモリログ書き出し時間(時間B)は、例えば、以下の式(4)により求められる。
時間B =[第1モードでのメモリログ書き出し時間]×{[使用ページ数]/[最大ページ数]} ・・・(4)
ここで、「使用ページ数」は、メモリログ域22に格納されているバックアップ対象のログのデータサイズをページ数で表した値である。すなわち、バックアップ対象のログデータサイズに相当する。
「第1モードでのログ書き出しに要する時間」は、例えば、以下の式(5)により求められる。
第1モードでのメモリログ書き出し時間=3×ページ数×ライト時間 ・・・(5)
「ライト時間」は、バックアップ用メモリ30への1回あたりのライト時間であり、例えば、約5〜6Tick(ただし、1Tick=1/60sec)である。
「最大ページ数」メモリログ域22のログデータをページ数で表す場合の最大値であり、メモリログ域22の全データがログとなる場合のページ数である。すなわち、最大ページ数は、メモリログ域22の全データサイズをページ数で表した値である。例えば、メモリログ域22のサイズが5MBの場合には、
最大ページ数=5MB/64KB=80ページ
となる。これらにより、
第1モードでのメモリログ書き出し時間=3×最大ページ数×ライト時間
=3×80ページ×(5〜6/60)sec
=20〜24sec
となる。
ここで、20〜24secのライト時間とそれ以外のオーバヘッドも考慮し、第1モードでのメモリログ書き出し時間を例えば25secとすると、メモリログ書き出し時間(時間B)は以下の式(6)で表される。
時間B=25sec×([使用ページ数]/80ページ) ・・・(6)
そして、ログ制御部(比較部)13は、上述の如く求めた時間Aと時間Bとを比較することで、メモリログを従来処理で書き出し可能かどうかを判定する。判定の結果は、処理フラグとして設定され、例えば、メモリ20の所定の領域等に記憶される。
具体的には、ログ制御部13は、メモリログ書き出し時間(時間B)がバッテリ放電残り時間(時間A)以上の場合に、第2モードでのログ書き出しを行なう。
上述の如く構成された実施形態の一例としてのストレージシステム1の変形例におけるメモリログ書き出し手法を、図8に示すフローチャート(ステップB1〜B7,A2〜A4,A17)に従って説明する。なお、図中、既述の符号と同一の符号のステップは、同一の処理を示しているので、その詳細な説明は省略する。
ログ制御部13は、ステップB1において、先ず、上記式(3)及び式(4)に基づき、バッテリ放電残り時間(時間A)及びメモリログ書き出し時間(時間B)を算出する。
そして、ログ制御部13は、ステップB2において、時間Aと時間Bとを比較して、時間Aが時間Bよりも大きいか否かを判断する。時間Aが時間Bよりも大きい場合には(ステップB2のYESルート参照)、ステップB3において、メモリログをバックアップ用メモリ30に書き出すためにバッテリ放電残り時間が充分にあると判断される。ログ制御部13は、処理フラグとして第1モードを設定する。
一方、時間Aが時間B以下の場合には(ステップB2のNOルート参照)、ステップB4において、バッテリ放電残り時間が残り少ないと判断される。すなわち、第1モードではメモリログをバックアップ用メモリ30に書き出すためにバッテリ放電残り時間が足りないと判断される。ログ制御部13は、処理フラグとして第2モードを設定する。
その後、ステップA2〜A4が行なわれた後、ステップB5において、ログ制御部13は、処理フラグに第1モードを示す値が設定されているか否かを判断する。処理フラグが第1モードを示す場合には(ステップB5のYESルート参照)、ステップB6において第1モードでのログデータの書き出し処理が行なわれる。すなわち、図6のステップA6〜A13の処理が行なわれる。
また、処理フラグが第2モードを示す場合には(ステップB5のNOルート参照)、ステップB7において第2モードでのログデータの書き出し処理が行なわれる。すなわち、図7のステップA15〜A20の処理が行なわれる。
その後、ステップA14において、ログ制御部13は、未処理のタイプの有無を確認する。
未処理のタイプがある場合には(ステップA14のYESルート参照)、ステップA3に戻り、ログが存在するタイプがあるか否かの判断を行なう。すなわち、ステップA3においてログが存在するタイプがまだある場合には、そのタイプに切り替えて、再度、ステップA4以下の処理を行なう。又、未処理のタイプが無い場合には(ステップA14のNOルート参照)、処理を終了する。
このように、実施形態の一例としてのストレージシステム1の変形例によれば、上述した実施形態と同様の作用効果を得ることができる他、ログ制御部13が、バッテリ放電残り時間がメモリログ書き出し時間よりも長い場合には第1モードでログ書き出しを行ない、バッテリ放電残り時間がメモリログ書き出し時間以下の場合には第2モードでログ書き出しを行なう。
バッテリ放電残り時間がメモリログ書き出し時間よりも長い場合には、メモリログをバックアップ用メモリ30に書き出すためにバッテリ放電残り時間が充分にあると判断できるので、ログ制御部13は、ログを確実にバックアップ用メモリ30に書き出すことができる第1モードでログ書き出しを行なうことで信頼性を向上させることができる。
一方、バッテリ放電残り時間がメモリログ書き出し時間以下の場合には、第1モードではメモリログをバックアップ用メモリ30に書き出すためにバッテリ放電残り時間が足りないと判断できるので、ログ制御部13は、短時間でログ書き出しを行なうことができる第2モードでログ書き出しを行なうことで信頼性を向上させることができる。
(C)その他
上述した、電源制御部11,キャッシュ制御部12及びログ制御部13としての機能を実現するためのプログラムは、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供してもよい。
電源制御部11,キャッシュ制御部12及びログ制御部13としての機能を実現する際には、内部記憶装置(本実施形態ではメモリ20等)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態ではCPU10)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行してもよい。
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。又、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、CM101がコンピュータとしての機能を有している。
そして、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、図1に示す例においては、1つのCM101を示しているが、これに限定されるものではなく、ストレージ装置100に2以上のCM101を備えることで冗長化してもよい。
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
(D)付記
(付記1)
第1の記憶媒体と、
管理情報を前記第1の記憶媒体に格納するために要するページ数を算出する算出部と、
前記算出したページ数に相当するページをフリーページとして設定し、設定した前記フリーページに前記管理情報を格納することで前記第1の記憶媒体に前記管理情報を格納する格納処理部と、
前記第1の記憶媒体における前記管理情報の格納位置を示す位置管理情報を更新する処理を行なう更新処理部と、
を備えることを特徴とする、情報処理装置。
(付記2)
第2の記憶媒体を備え、
前記格納処理部が、
前記管理情報を前記第2の記憶媒体に格納し、当該第2の記憶媒体に格納した前記管理情報を前記フリーページに格納する
ことを特徴とする、付記1記載の情報処理装置。
(付記3)
前記算出部が、前記管理情報のデータサイズを前記ページのサイズで除算して、前記ページ数を算出する
ことを特徴とする、付記1又は2記載の情報処理装置。
(付記4)
主電源の電源断状態において電力供給を行なうバックアップ電源を備え、
前記バックアップ電源による動作中の場合に、前記算出部,前記格納処理部及び前記更新処理部が機能する
ことを特徴とする、付記1〜3のいずれか1項に記載の情報処理装置。
(付記5)
既に管理情報に対して割り当てられている1つのページを新たな管理情報に対して割り当て、当該割り当てに応じて前記位置管理情報を更新し、前記新たな管理情報を前記1つのページに格納することで前記第1の記憶媒体に前記管理情報を格納し、当該格納に応じて前記位置管理情報を更新した場合での前記管理情報の前記第1の記憶媒体への格納処理に要する予測時間が、前記バックアップ電源の放電残り時間のうち、前記管理情報の前記第1の記憶媒体への格納に割り当て可能な時間以上の場合に、前記算出部,前記格納処理部及び前記更新処理部による、前記管理情報の前記第1の記憶媒体への格納処理を行なうことを特徴とする、付記4記載の情報処理装置。
(付記6)
管理情報を第1の記憶媒体に格納する格納処理方法であって、
前記管理情報を前記第1の記憶媒体に格納するために要するページ数を算出する処理と、
前記算出したページ数に相当するページをフリーページとして設定し、設定した前記フリーページに前記管理情報を格納することで前記第1の記憶媒体に前記管理情報を格納する処理と、
前記第1の記憶媒体における前記管理情報の格納位置を示す位置管理情報を更新する処理と、
を備えることを特徴とする、格納処理方法。
(付記7)
前記管理情報を第2の記憶媒体に格納し、当該第2の記憶媒体に格納した前記管理情報を前記フリーページに格納する
ことを特徴とする、付記6記載の格納処理方法。
(付記8)
前記管理情報のデータサイズを前記ページのサイズで除算して、前記ページ数を算出する
ことを特徴とする、付記6又は7記載の格納処理方法。
(付記9)
主電源の電源断状態において電力供給を行なうバックアップ電源による動作中の場合に、
前記ページ数を算出する処理と、前記第1の記憶媒体に前記管理情報を格納する処理と、前記位置管理情報を更新する処理とを行なう
ことを特徴とする、付記6〜8のいずれか1項に記載の格納処理方法。
(付記10)
既に管理情報に対して割り当てられている1つのページを新たな管理情報に対して割り当て、当該割り当てに応じて前記位置管理情報を更新し、前記新たな管理情報を前記1つのページに格納することで前記第1の記憶媒体に前記管理情報を格納し、当該格納に応じて前記位置管理情報を更新した場合での前記管理情報の前記第1の記憶媒体への格納処理に要する予測時間が、前記バックアップ電源の放電残り時間のうち、前記管理情報の前記第1の記憶媒体への格納に割り当て可能な時間以上の場合に、前記ページ数を算出する処理と、前記第1の記憶媒体に前記管理情報を格納する処理と、前記位置管理情報を更新する処理とを行なうことを特徴とする、付記9記載の格納処理方法。
(付記11)
第1の記憶媒体を有するコンピュータにおいて、
管理情報を前記第1の記憶媒体に格納するために要するページ数を算出する処理と、
前記算出したページ数に相当するページをフリーページとして設定し、設定した前記フリーページに前記管理情報を格納することで前記第1の記憶媒体に前記管理情報を格納する処理と、
前記第1の記憶媒体における前記管理情報の格納位置を示す位置管理情報を更新する処理と、
を前記コンピュータに実行させることを特徴とするプログラム。
(付記12)
前記管理情報を第2の記憶媒体に格納し、当該第2の記憶媒体に格納した前記管理情報を前記フリーページに格納する
処理を前記コンピュータに実行させることを特徴とする、付記11記載のプログラム。
(付記13)
前記管理情報のデータサイズを前記ページのサイズで除算して、前記ページ数を算出する
処理を前記コンピュータに実行させることを特徴とする、付記11又は12記載のプログラム。
(付記14)
主電源の電源断状態において電力供給を行なうバックアップ電源による動作中の場合に、
前記ページ数を算出する処理と、前記第1の記憶媒体に前記管理情報を格納する処理と、前記位置管理情報を更新する処理と
を前記コンピュータに実行させることを特徴とする、付記11〜13のいずれか1項に記載のプログラム。
(付記15)
既に管理情報に対して割り当てられている1つのページを新たな管理情報に対して割り当て、当該割り当てに応じて前記位置管理情報を更新し、前記新たな管理情報を前記1つのページに格納することで前記第1の記憶媒体に前記管理情報を格納し、当該格納に応じて前記位置管理情報を更新した場合での前記管理情報の前記第1の記憶媒体への格納処理に要する予測時間が、前記バックアップ電源の放電残り時間のうち、前記管理情報の前記第1の記憶媒体への格納に割り当て可能な時間以上の場合に、前記ページ数を算出する処理と、前記第1の記憶媒体に前記管理情報を格納する処理と、前記位置管理情報を更新する処理とを前記コンピュータに実行させることを特徴とする、付記14記載のプログラム。
(付記16)
第1の記憶媒体を有するコンピュータにおいて、
管理情報を前記第1の記憶媒体に格納するために要するページ数を算出する処理と、
前記算出したページ数に相当するページをフリーページとして設定し、設定した前記フリーページに前記管理情報を格納することで前記第1の記憶媒体に前記管理情報を格納する処理と、
前記第1の記憶媒体における前記管理情報の格納位置を示す位置管理情報を更新する処理と、
を前記コンピュータに実行させることを特徴とするプログラムを記録したコンピュータ読取可能な記録媒体。
1 ストレージシステム
3 記憶装置
10 CPU
11 電源制御部
12 キャッシュ制御部
13 ログ制御部
20 メモリ
21 RAIDキャッシュ
22 メモリログ域
23 ライト用バッファ
30 バックアップ用メモリ
40 BPSU
41 バッテリ
51 フロントエンド
52 バックエンド
100 ストレージ装置(情報処理装置)
101 CM(コンピュータ)

Claims (7)

  1. 第1の記憶媒体と、
    管理情報を前記第1の記憶媒体に格納するために要するページ数を算出する算出部と、
    前記算出したページ数に相当するページをフリーページとして設定し、設定した前記フリーページに前記管理情報を格納することで前記第1の記憶媒体に前記管理情報を格納する格納処理部と、
    前記第1の記憶媒体における前記管理情報の格納位置を示す位置管理情報を更新する処理を行なう更新処理部と、
    を備えることを特徴とする、情報処理装置。
  2. 第2の記憶媒体を備え、
    前記格納処理部が、
    前記管理情報を前記第2の記憶媒体に格納し、当該第2の記憶媒体に格納した前記管理情報を前記フリーページに格納する
    ことを特徴とする、請求項1記載の情報処理装置。
  3. 前記算出部が、前記管理情報のデータサイズを前記ページのサイズで除算して、前記ページ数を算出する
    ことを特徴とする、請求項1又は2記載の情報処理装置。
  4. 主電源の電源断状態において電力供給を行なうバックアップ電源を備え、
    前記バックアップ電源による動作中の場合に、前記算出部,前記格納処理部及び前記更新処理部が機能する
    ことを特徴とする、請求項1〜3のいずれか1項に記載の情報処理装置。
  5. 既に管理情報に対して割り当てられている1つのページを新たな管理情報に対して割り当て、当該割り当てに応じて前記位置管理情報を更新し、前記新たな管理情報を前記1つのページに格納することで前記第1の記憶媒体に前記管理情報を格納し、当該格納に応じて前記位置管理情報を更新した場合での前記管理情報の前記第1の記憶媒体への格納処理に要する予測時間が、前記バックアップ電源の放電残り時間のうち、前記管理情報の前記第1の記憶媒体への格納に割り当て可能な時間以上の場合に、前記算出部,前記格納処理部及び前記更新処理部による、前記管理情報の前記第1の記憶媒体への格納処理を行なうことを特徴とする、請求項4記載の情報処理装置。
  6. 管理情報を第1の記憶媒体に格納する格納処理方法であって、
    前記管理情報を前記第1の記憶媒体に格納するために要するページ数を算出する処理と、
    前記算出したページ数に相当するページをフリーページとして設定し、設定した前記フリーページに前記管理情報を格納することで前記第1の記憶媒体に前記管理情報を格納する処理と、
    前記第1の記憶媒体における前記管理情報の格納位置を示す位置管理情報を更新する処理と、
    を備えることを特徴とする、格納処理方法。
  7. 第1の記憶媒体を有するコンピュータにおいて、
    管理情報を前記第1の記憶媒体に格納するために要するページ数を算出する処理と、
    前記算出したページ数に相当するページをフリーページとして設定し、設定した前記フリーページに前記管理情報を格納することで前記第1の記憶媒体に前記管理情報を格納する処理と、
    前記第1の記憶媒体における前記管理情報の格納位置を示す位置管理情報を更新する処理と、
    を前記コンピュータに実行させることを特徴とするプログラム。
JP2012276468A 2012-12-19 2012-12-19 情報処理装置、格納処理方法及びプログラム Expired - Fee Related JP6115116B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012276468A JP6115116B2 (ja) 2012-12-19 2012-12-19 情報処理装置、格納処理方法及びプログラム
US14/075,250 US9152329B2 (en) 2012-12-19 2013-11-08 Information processing device, storage processing method, and computer readable recording medium having program stored therein
EP13193059.6A EP2746951A2 (en) 2012-12-19 2013-11-15 Information processing device, storage processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012276468A JP6115116B2 (ja) 2012-12-19 2012-12-19 情報処理装置、格納処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2014120092A true JP2014120092A (ja) 2014-06-30
JP6115116B2 JP6115116B2 (ja) 2017-04-19

Family

ID=49596114

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012276468A Expired - Fee Related JP6115116B2 (ja) 2012-12-19 2012-12-19 情報処理装置、格納処理方法及びプログラム

Country Status (3)

Country Link
US (1) US9152329B2 (ja)
EP (1) EP2746951A2 (ja)
JP (1) JP6115116B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018128939A (ja) * 2017-02-10 2018-08-16 富士通株式会社 ストレージ制御装置、ストレージ制御プログラムおよびストレージ制御方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10228875B2 (en) * 2013-12-24 2019-03-12 Feitian Technologies Co., Ltd. Data writing and reading methods for flash
US9471237B1 (en) * 2015-02-04 2016-10-18 Amazon Technologies, Inc. Memory consumption tracking
JP2017130849A (ja) * 2016-01-21 2017-07-27 富士通株式会社 伝送装置、及び、障害検出方法
KR102208058B1 (ko) * 2016-11-04 2021-01-27 삼성전자주식회사 저장 장치 및 이를 포함하는 데이터 처리 시스템
JP2019135635A (ja) * 2018-02-05 2019-08-15 ファナック株式会社 プログラム記憶装置及びプログラム記憶システム
CN110018773B (zh) * 2019-03-29 2020-10-13 东莞华贝电子科技有限公司 写号方法、系统、装置及可读存储介质
JP7358287B2 (ja) * 2020-03-30 2023-10-10 キオクシア株式会社 半導体記憶装置及びその制御方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05158783A (ja) * 1991-12-11 1993-06-25 Fujitsu Ltd メモリブロック制御方式
JPH07111092A (ja) * 1993-10-12 1995-04-25 Nec Corp 不揮発性半導体記憶装置の制御方法
WO2008018258A1 (fr) * 2006-08-09 2008-02-14 Hitachi Ulsi Systems Co., Ltd. Dispositif de stockage

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3960985B2 (ja) 2004-03-31 2007-08-15 株式会社日立国際電気 データ記憶装置
US7403945B2 (en) * 2004-11-01 2008-07-22 Sybase, Inc. Distributed database system providing data and space management methodology
JP2008077669A (ja) 2007-10-09 2008-04-03 Mitsubishi Electric Corp 記録方式

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05158783A (ja) * 1991-12-11 1993-06-25 Fujitsu Ltd メモリブロック制御方式
JPH07111092A (ja) * 1993-10-12 1995-04-25 Nec Corp 不揮発性半導体記憶装置の制御方法
WO2008018258A1 (fr) * 2006-08-09 2008-02-14 Hitachi Ulsi Systems Co., Ltd. Dispositif de stockage

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018128939A (ja) * 2017-02-10 2018-08-16 富士通株式会社 ストレージ制御装置、ストレージ制御プログラムおよびストレージ制御方法
US10642674B2 (en) 2017-02-10 2020-05-05 Fujitsu Limited Storage control device with power failure processing and abnormality processing

Also Published As

Publication number Publication date
US9152329B2 (en) 2015-10-06
US20140173233A1 (en) 2014-06-19
EP2746951A2 (en) 2014-06-25
JP6115116B2 (ja) 2017-04-19

Similar Documents

Publication Publication Date Title
JP6115116B2 (ja) 情報処理装置、格納処理方法及びプログラム
US10459639B2 (en) Storage unit and storage system that suppress performance degradation of the storage unit
JP5906966B2 (ja) 制御装置、電力供給装置及び電力制御方法
JP6307537B2 (ja) Ssd環境のための適応的raid
KR101821001B1 (ko) Raid 어레이에서 장치내 데이터 보호
KR101824286B1 (ko) 적응적 지오메트리를 구비한 raid 어레이에서의 복원 판독
JP6097845B2 (ja) 不揮発性キャッシュメモリにデータをバックアップするストレージシステム
US20100077252A1 (en) Systems and Methods for Detection, Isolation, and Recovery of Faults in a Fail-in-Place Storage Array
US20080082744A1 (en) Storage system having data comparison function
US20090046512A1 (en) Reliability System for Use with Non-Volatile Memory Devices
US20100287408A1 (en) Mass storage system and method of operating thereof
JP6515752B2 (ja) ストレージ制御装置、制御方法、および制御プログラム
US9841928B2 (en) Storage control apparatus and computer readable storage medium
JP2014137711A (ja) ストレージ装置、バックアッププログラム、およびバックアップ方法
US10176065B2 (en) Intelligent failure prediction and redundancy management in a data storage system
US20140281316A1 (en) Data management device and method for copying data
JP5910213B2 (ja) ストレージシステム、ストレージ制御方法およびストレージ制御プログラム
CN104871139A (zh) 硬驱动器备份
JP5949816B2 (ja) キャッシュ制御装置及びその制御方法、ストレージ装置、並びにコンピュータ・プログラム
JP6802484B2 (ja) ストレージ制御装置、ストレージ制御プログラムおよびストレージ制御方法
US10133640B2 (en) Storage apparatus and storage system
WO2016139774A1 (ja) 情報処理装置、情報処理システム
JP7131324B2 (ja) ストレージアクセス制御装置、ストレージアクセス制御方法、及び、ストレージアクセス制御プログラム
JP5643238B2 (ja) ディスクアレイ制御装置、ディスクアレイ装置、及び、ディスクアレイ制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160712

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160912

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170306

R150 Certificate of patent or registration of utility model

Ref document number: 6115116

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees