JP6155754B2 - ストレージシステム、分配装置、分配装置の制御プログラム、およびストレージシステムの制御方法 - Google Patents

ストレージシステム、分配装置、分配装置の制御プログラム、およびストレージシステムの制御方法 Download PDF

Info

Publication number
JP6155754B2
JP6155754B2 JP2013069153A JP2013069153A JP6155754B2 JP 6155754 B2 JP6155754 B2 JP 6155754B2 JP 2013069153 A JP2013069153 A JP 2013069153A JP 2013069153 A JP2013069153 A JP 2013069153A JP 6155754 B2 JP6155754 B2 JP 6155754B2
Authority
JP
Japan
Prior art keywords
storage
write
data
storage device
storage devices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013069153A
Other languages
English (en)
Other versions
JP2014191773A (ja
Inventor
健 飯澤
健 飯澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013069153A priority Critical patent/JP6155754B2/ja
Priority to US14/167,559 priority patent/US9250829B2/en
Publication of JP2014191773A publication Critical patent/JP2014191773A/ja
Application granted granted Critical
Publication of JP6155754B2 publication Critical patent/JP6155754B2/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
    • 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/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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/061Improving I/O performance
    • 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/0617Improving the reliability of storage systems in relation to availability
    • 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
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

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

Description

本発明は、ストレージシステム、分配装置、分配装置の制御プログラム、およびストレージシステムの制御方法に関する。
分散ストレージなどのストレージシステムは、複数のストレージ装置(ストレージノード)に複製データを分散配置してデータの可用性および信頼性を確保するミラーリングをおこなっている。
クライアント・サーバ型の分散ストレージシステムは、プロキシサーバがクライアントからのリクエストを受け付けてストレージ装置にリクエストを転送する。たとえば、プロキシサーバは、書き込みリクエストを受け付けると、すべてのストレージ装置に書き込みリクエストを転送する。また、プロキシサーバは、読み出しリクエストを受け付けると、いずれか1つのストレージ装置に読み出しリクエストを転送する。
ストレージ装置は、一般に複数のHDD(Hard Disk Drive)を備えるが、書き込みアクセス中のHDDへの読み出しアクセスが発生すると書き込み性能が低下する。そのため、ストレージ装置は、キャッシュメモリを備え、読み出しアクセスに対してキャッシュヒットした場合にキャッシュメモリからデータを読み出し、キャッシュミスした場合にHDDからデータを読み出す。
また、ミラーリングがおこなわれたディスクドライブのうちから優先順位にしたがいアクセス対象のディスクドライブを選択するディスクアレイサブシステムが知られている。
特開平10−293658号公報
しかしながら、キャッシュメモリは高価であり、ストレージシステムは、キャッシュメモリに頼って書き込み性能の改善を図ると高コスト化する。また、ミラーリングがおこなわれたディスクドライブは、優先順位に有意な差が生じるとは限らないため、書き込み性能の低下抑止が限定的となる場合がある。
1つの側面では、本発明は、ストレージデバイスへの書き込みアクセスと、ストレージデバイスからの読み出しアクセスの競合によるアクセス性能低下を抑制できるストレージシステム、分配装置、分配装置の制御プログラム、およびストレージシステムの制御方法を提供することを目的とする。
上記目的を達成するために、以下に示すような、ストレージシステムが提供される。ストレージシステムは、複数のストレージ装置と、複数のストレージ装置へのリクエストを分配する分配装置と、を備える。ストレージ装置は、書き込み位置に応じてシーケンシャルにデータを記録可能な複数のストレージデバイスを備える。分配装置は、書き込み位置管理部と、書き込み部と、オフセット管理部と、読み出し部と、を備える。書き込み位置管理部は、ストレージ装置ごとに異なるデータの書き込み位置の初期位置である初期書き込み開始位置と、データの書き込み位置の現在位置である現在書き込み位置とをストレージ装置ごとに管理する。書き込み部は、書き込みリクエストを受け付けて、ストレージ装置ごとの現在書き込み位置へのデータの書き込みを、複数のストレージ装置に分配して指示する。オフセット管理部は、ストレージ装置ごとに、現在書き込み位置に対応するストレージデバイスの先頭からの書き込み位置をオフセット情報として管理する。読み出し部は、読み出しリクエストを受け付けて、オフセット情報に基づいて、複数のストレージ装置のいずれかにデータの読み出しを指示する。

また、上記目的を達成するために、以下に示すような、分配装置が提供される。分配装置は、複数のストレージ装置へのリクエストを分配する。分配装置は、書き込み位置管理部と、書き込み部と、オフセット管理部と、読み出し部と、を備える。書き込み位置管理部は、書き込み位置に応じてシーケンシャルにデータを記録可能な複数のストレージデバイスを備えるストレージ装置ごとに異なるデータの書き込み位置の初期位置である初期書き込み開始位置と、データの書き込み位置の現在位置である現在書き込み位置とをストレージ装置ごとに管理する。書き込み部は、書き込みリクエストを受け付けて、ストレージ装置ごとの現在書き込み位置へのデータの書き込みを、複数のストレージ装置に分配して指示する。オフセット管理部は、ストレージ装置ごとに、現在書き込み位置に対応するストレージデバイスの先頭からの書き込み位置をオフセット情報として管理する。読み出し部は、読み出しリクエストを受け付けて、オフセット情報に基づいて、複数のストレージ装置のいずれかにデータの読み出しを指示する。
1態様によれば、ストレージシステム、分配装置、分配装置の制御プログラム、およびストレージシステムの制御方法において、ストレージデバイスへの書き込みアクセスと、ストレージデバイスからの読み出しアクセスの競合によるアクセス性能低下を抑制できる。
第1の実施形態のストレージシステムの構成の一例を示す図である。 第2の実施形態のストレージシステムの構成の一例を示す図である。 第2の実施形態のアクセス分配装置がアクセス装置に転送するアクセス要求の一例を示す図である。 第2の実施形態のアクセス装置とデバイスエンクロージャの接続例を示す図である。 第2の実施形態のアクセス分配装置のハードウェア構成の一例を示す図である。 第2の実施形態のストレージデバイス構成の一例を示す図である。 第2の実施形態のアクセス分配装置が保持するストレージ装置に共通の共通情報の一例を示す図である。 第2の実施形態のアクセス分配装置が保持するストレージ装置に固有の固有情報の一例を示す図である。 第2の実施形態のストレージ装置ごとのオフセット情報と、データの書込み位置と、データの読み出し位置の一例を示す図である。 第2の実施形態の初期書き込み位置決定処理のフローチャートを示す図である。 第2の実施形態の書き込みリクエスト処理のフローチャートを示す図である。 第2の実施形態のオフセット情報更新処理のフローチャートを示す図である。 第2の実施形態の読み出しリクエスト処理のフローチャートを示す図である。 第2の実施形態のオフセット情報と競合発生確率の関係を示す図である。 第3の実施形態のアクセス分配装置のハードウェア構成の一例を示す図である。 第3の実施形態の読み出しリクエスト処理のフローチャートを示す図である。 第3の実施形態のオフセット情報と競合発生確率の関係を示す図である。
以下、実施の形態を図面を参照して詳細に説明する。
[第1の実施形態]
まず、第1の実施形態のストレージシステムについて図1を用いて説明する。図1は、第1の実施形態のストレージシステムの構成の一例を示す図である。
ストレージシステム1は、クライアント・サーバ型の分散ストレージシステムである。ストレージシステム1は、シーケンシャルにデータを記録する。たとえば、ストレージシステム1は、パケット通信のキャプチャなどwrite−onceなワークロードを記録するストレージシステムや、ログ構造化ファイルシステムである。
ストレージシステム1は、分配装置2と、複数のストレージ装置7(7a,7b,7c)と、を備える。ストレージシステム1は、3つのストレージ装置7a,7b,7cが同一のデータを保持する3重のミラーリングをおこなう。なお、ストレージシステム1は、3つのストレージ装置7a,7b,7cを備えるが、2つであってもよいし、4つ以上のストレージ装置7を備えるものであってもよい。
ストレージ装置7は、複数のストレージデバイス8(SD(1),SD(2),SD(3),SD(4))を備える。ストレージデバイス8は、データを保持可能であり、たとえば、HDDやSSD(Solid State Drive:フラッシュメモリドライブ)などである。なお、ストレージ装置7は、4つのストレージデバイス8(SD(1),SD(2),SD(3),SD(4))を備えるが、2つ、または3つ、5つ以上のストレージデバイス8を備えるものであってもよい。
各ストレージ装置7におけるストレージデバイス8の構成は、同一である。3つのストレージ装置7a,7b,7cは、いずれも4つのストレージデバイス8(SD(1),SD(2),SD(3),SD(4))を備え、各ストレージデバイス8の記憶容量が同じである。各ストレージ装置7は、4つのストレージデバイス8(SD(1),SD(2),SD(3),SD(4))に書き込み位置に応じてシーケンシャルにデータを記録する。
分配装置2は、複数のストレージ装置7と通信可能に接続する。また、分配装置2は、クライアント9と通信可能に接続する。分配装置2は、クライアント9からのアクセス要求(たとえば、書き込みリクエスト、読み出しリクエストなど)を受け付ける。分配装置2は、受け付けたアクセス要求をストレージ装置7に転送する。たとえば、分配装置2は、クライアント9からの書き込みリクエストを受け付けると、すべてのストレージ装置7に書き込みリクエストを転送する。したがって、分配装置2は、クライアント9からの書き込みリクエストを複数のストレージ装置7に分配する。
また、分配装置2は、クライアント9からの読み出しリクエストを受け付けると、複数あるストレージ装置7のうちの1つに読み出しリクエストを転送する。したがって、分配装置2は、クライアント9からの読み出しリクエストを複数のストレージ装置7のいずれかに分配する。
分配装置2は、書き込み位置管理部3と、書き込み部4と、オフセット管理部5と、読み出し部6と、を備える。書き込み位置管理部3は、ストレージ装置7ごとに異なる初期書き込み開始位置(IW)と、ストレージ装置7ごとのデータの現在書き込み位置(CW)とを管理する。
初期書き込み開始位置(IW)は、データの書き込み位置の初期位置である。ストレージ装置7aのストレージデバイス8(SD(1))は、先頭アドレスを初期書き込み開始位置(IWa)とする。また、ストレージ装置7bのストレージデバイス8(SD(1))は、先頭アドレスからd1だけ先を初期書き込み開始位置(IWb)とする。また、ストレージ装置7cのストレージデバイス8(SD(1))は、先頭アドレスからd2だけ先を初期書き込み開始位置(IWc)とする。このとき、d1,d2>0、かつd1≠d2である。
現在書き込み位置(CW)は、データの書き込み位置の現在位置である。たとえば、ストレージ装置7aの現在書き込み位置(CWa)、ストレージ装置7bの現在書き込み位置(CWb)、およびストレージ装置7cの現在書き込み位置(CWc)は、各ストレージ装置7のストレージデバイス8(SD(3))にある。
書き込み部4は、書き込みリクエストを受け付けて、ストレージ装置7(7a,7b,7c)ごとの現在書き込み位置(CW)へのデータの書き込みを、ミラーリング対象のストレージ装置7(7a,7b,7c)に分配して指示する。
オフセット管理部5は、ストレージ装置7(7a,7b,7c)ごとに、現在書き込み位置(CW)に対応するストレージデバイス8の先頭からの書き込み位置(OS)をオフセット情報として管理する。たとえば、ストレージ装置7aのオフセット情報(OSa)であり、ストレージ装置7baのオフセット情報(OSb)であり、ストレージ装置7cのオフセット情報(OSc)である。ストレージ装置7(7a,7b,7c)ごとにオフセット情報(OSa,OSb,OSc)が異なる。これは、書き込み位置管理部3がストレージ装置7ごとにデータの初期書き込み開始位置(IW)を異ならせたことによる。
読み出し部6は、読み出しリクエストを受け付けて、オフセット情報(OS)に基づいてミラーリング対象のストレージ装置7(7a,7b,7c)のいずれか、すなわちストレージ装置7の1つを選択する。読み出し部6は、選択したストレージ装置7にデータの読み出しを指示する。たとえば、読み出し部6は、オフセット情報(OSa,OSb,OSc)の大きさを比較して最小の値のオフセット情報(OSa)を有するストレージ装置7aをデータの読み出し先として選択する。このように、最小の値のオフセット情報(OS)を有するストレージ装置7をデータの読み出し先として選択する場合、書き込みリクエストと読み出しリクエストとによる同一のストレージデバイス8でのアクセス競合によるアクセス性能低下を抑制できる。すなわち、読み出しリクエストに伴うデータ読み出しがランダムアクセスである場合、書き込みリクエストに伴うデータ書き込みをおこなうストレージデバイス8とアクセス競合する確率は、オフセット情報(OS)の大きさに関係する。
ストレージ装置7aの現在書き込み位置(CWa)は、ストレージデバイス8(SD(3))であるから、オフセット情報(OSa)の大きさが小さいほど読み出しリクエストによる読み出し位置がストレージデバイス8(SD(3))である確率は低減する。なお、読み出しリクエストに伴うデータ読み出しがランダムアクセスでなく、アクセス位置が直近の書き込みデータ(現在書き込み位置(CWa))近傍に多い場合など、アクセス位置が偏在する場合も同様である。
このように、ストレージシステム1は、ストレージデバイス8への書き込みアクセスと、ストレージデバイス8からの読み出しアクセスの競合によるアクセス性能低下を抑制できる。
[第2の実施形態]
次に、第2の実施形態のストレージシステムの構成について図2を用いて説明する。図2は、第2の実施形態のストレージシステムの構成の一例を示す図である。
ストレージシステム10は、クライアント・サーバ型の分散ストレージシステムである。ストレージシステム10は、複数のストレージ装置12と、ネットワーク16を介してストレージ装置と通信可能に接続するアクセス分配装置(分配装置)11を備える。アクセス分配装置11は、ネットワーク17を介してクライアント15と通信可能に接続する。アクセス分配装置11は、クライアント15からアクセス要求(たとえば、書き込みリクエスト、読み出しリクエストなど)を受け付けて、受け付けたアクセス要求をストレージ装置12に転送する。
たとえば、ストレージシステム10は、パケット通信のキャプチャなどwrite−onceなワークロードを記録するストレージシステムや、ログ構造化ファイルシステムであり、ストレージ装置12にシーケンシャルにデータを記録する。また、ストレージシステム10は、複数(たとえば、3つ)のストレージ装置12が同一のデータを保持する3重のミラーリングをおこなう。
ストレージ装置12は、アクセス装置13とデバイスエンクロージャ14を含む。アクセス装置13は、アクセス分配装置11から転送されるアクセス要求に基づいてデバイスエンクロージャ14にアクセスし、アクセス分配装置11に応答する。デバイスエンクロージャ14は、2以上のストレージデバイスにより構成され、データを保持可能にしている。
次に、第2の実施形態のアクセス分配装置11がアクセス装置13に転送するアクセス要求について図3を用いて説明する。図3は、第2の実施形態のアクセス分配装置がアクセス装置に転送するアクセス要求の一例を示す図である。
アクセス分配装置11は、クライアント15から書き込みリクエストを受け付けると、すべてのアクセス装置13(13a,13b,13c)に対して書き込みリクエストに基づくデータの書き込みを指示(書き込みリクエストの転送)する。これにより、ストレージシステム10は、3つのストレージ装置12が同一のデータを保持する3重のミラーリングをおこなう。
また、アクセス分配装置11は、クライアント15から読み出しリクエストを受け付けると、アクセス装置13(13a,13b,13c)のうちの1つ(たとえば、アクセス装置13c)を選択する。アクセス分配装置11は、選択したアクセス装置13にデータの読み出しを指示(読み出しリクエストを転送)する。
このとき、データの読み出しを指示されたアクセス装置13は、データの書き込みを指示されていて、なおかつ1つのHDDが共通のアクセス対象である場合に、アクセス競合が生じてアクセス性能が低下するおそれがある。そのため、アクセス分配装置11は、読み出しリクエストの転送先として、アクセス競合のおそれの小さなアクセス装置13を選択する。
次に、第2の実施形態のアクセス装置13とデバイスエンクロージャ14について図4を用いて説明する。図4は、第2の実施形態のアクセス装置とデバイスエンクロージャの接続例を示す図である。
アクセス装置13は、デバイスエンクロージャ14と接続する。デバイスエンクロージャ14は、複数のストレージデバイス18を収容する。ストレージデバイス(記憶装置)18は、所要の情報を記録可能であり、たとえば、HDDの他にSSDなどであってもよい。
図4ではデバイスエンクロージャ14が4つのストレージデバイス18(HDD#1,HDD#2,HDD#3,HDD#4)を備える例を示すが、2以上であればいくつであってもよい。なお、以降、デバイスエンクロージャ14は、同じ記憶容量の4つのストレージデバイス18(HDD#1,HDD#2,HDD#3,HDD#4)を備えるものとして説明する。
なお、アクセス装置13がデバイスエンクロージャ14を外部接続したストレージ装置12を図2に示したが、デバイスエンクロージャ14は、アクセス装置13に内蔵されるものであってもよい。また、アクセス装置13がデバイスエンクロージャ14なしに、ストレージデバイス18と接続するものであってもよい。
次に、第2の実施形態のアクセス分配装置11のハードウェア構成について図5を用いて説明する。図5は、第2の実施形態のアクセス分配装置のハードウェア構成の一例を示す図である。
アクセス分配装置11は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス106を介してRAM(Random Access Memory)102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、たとえばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLD(Programmable Logic Device)である。またプロセッサ101は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
RAM102は、アクセス分配装置11の主記憶装置として使用される。RAM102には、プロセッサ101に実行させるオペレーティングシステム(Operating System)のプログラムやファームウェア、アプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、プロセッサ101による処理に必要な各種データ(たとえば、システム制御の情報管理)が格納される。また、RAM102は、各種データの格納に用いるメモリと別体にキャッシュメモリを含むものであってもよい。
バス106に接続されている周辺機器としては、不揮発性メモリ103、入出力インタフェース104、および通信インタフェース105がある。
不揮発性メモリ103は、アクセス分配装置11の電源遮断時においても記憶内容を保持する。不揮発性メモリ103は、たとえば、EEPROMやフラッシュメモリなどの半導体記憶装置や、HDDなどである。また、不揮発性メモリ103は、アクセス分配装置11の補助記憶装置として使用される。不揮発性メモリ103には、オペレーティングシステムのプログラムやファームウェア、アプリケーションプログラム、および各種データが格納される。
入出力インタフェース104は、ストレージデバイス18などの入出力装置と接続して入出力をおこなう。
通信インタフェース105は、ネットワーク16,17と接続することで、ネットワーク16,17を介して、アクセス装置13やクライアント15との間でデータの送受信をおこなう。
以上のようなハードウェア構成によって、第2の実施形態のアクセス分配装置11の処理機能を実現することができる。なお、アクセス分配装置11の他、アクセス装置13、第1の実施形態に示した分配装置2、ストレージ装置7も、図5に示したアクセス分配装置11と同様のハードウェアにより実現することができる。
アクセス分配装置11およびアクセス装置13は、たとえばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施形態の処理機能を実現する。アクセス分配装置11およびアクセス装置13に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。たとえば、アクセス分配装置11およびアクセス装置13に実行させるプログラムを不揮発性メモリ103に格納しておくことができる。プロセッサ101は、不揮発性メモリ103内のプログラムの少なくとも一部をRAM102にロードし、プログラムを実行する。またアクセス分配装置11およびアクセス装置13に実行させるプログラムを、図示しない光ディスク、メモリ装置、メモリカードなどの可搬型記録媒体に記録しておくこともできる。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。メモリ装置は、入出力インタフェース104あるいは図示しない機器接続インタフェースとの通信機能を搭載した記録媒体である。たとえば、メモリ装置は、メモリリーダライタによりメモリカードへのデータの書き込み、またはメモリカードからのデータの読み出しをおこなうことができる。メモリカードは、カード型の記録媒体である。
可搬型記録媒体に格納されたプログラムは、たとえばプロセッサ101からの制御により、不揮発性メモリ103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
次に、第2の実施形態のストレージ装置の初期書き込み開始位置について図6を用いて説明する。図6は、第2の実施形態のストレージデバイス構成の一例を示す図である。
ストレージシステム10は、3台のストレージ装置12(ストレージ装置#1,#2,#3)を備えているとする。各ストレージ装置12は、4台のHDD(HDD#1,#2,#3,#4)を備え、HDD#1からHDD#2,HDD#3,HDD#4の順にシーケンシャルにデータの書き込みをおこなう。このとき、各ストレージ装置12は、シーケンシャルなデータ書き込み順で1番目のHDD#1の書き込み開始位置(初期書き込み開始位置)がそれぞれ異なるアドレスである。
ストレージ装置#1は、アドレス(ADR0)を初期書き込み開始位置として、アドレス(ADR0)からアドレス(ADRE)までの領域(SR1)にシーケンシャルにデータの書き込みをおこなう。ストレージ装置#2は、アドレス(ADR1)を初期書き込み開始位置として、アドレス(ADR1)からアドレス(ADRE)までの領域(SR3)にシーケンシャルにデータの書き込みをおこなう。なお、ストレージ装置#2は、アドレス(ADRE)までのシーケンシャルなデータの書き込みを終えた後、アドレス(ADR0)からアドレス(ADR1)までの領域(SR2)にシーケンシャルにデータの書き込みをおこなうものであってもよい。ストレージ装置#3は、アドレス(ADR2)を初期書き込み開始位置として、アドレス(ADR2)からアドレス(ADRE)までの領域(SR5)にシーケンシャルにデータの書き込みをおこなう。なお、ストレージ装置#3は、アドレス(ADRE)までのシーケンシャルなデータの書き込みを終えた後、アドレス(ADR0)からアドレス(ADR2)までの領域(SR4)にシーケンシャルにデータの書き込みをおこなうものであってもよい。
このように、ストレージシステム10は、システムの稼働開始時に、3台のストレージ装置12がHDD#1のそれぞれ異なる初期書き込み開始位置からデータの書き込みを開始する。
なお、初期書き込み開始位置は、ストレージ装置12の数がNs(≧2)、HDDの記憶容量がCHDDのとき、i(i=1,2,…,Ns)番目のストレージ装置12の初期書き込み開始位置(ADRi)を、以下に示す(1)式のように決定することができる。
ADRi=(i−1)×CHDD/Ns ・・・(1)
なお、複数のストレージ装置12の初期書き込み開始位置をそれぞれ等間隔となるように決定したが、これは、後述するオフセット間隔が最適化され競合発生確率が最小となるというシミュレーション結果を受けたものである。
次に、第2の実施形態のアクセス分配装置11が保持するストレージ装置12に共通の共通情報と、アクセス分配装置11が保持するストレージ装置12に固有の固有情報について図7から図9を用いて説明する。まず、アクセス分配装置11が保持するストレージ装置12に共通の共通情報について図7を用いて説明する。図7は、第2の実施形態のアクセス分配装置が保持するストレージ装置に共通の共通情報の一例を示す図である。
アクセス分配装置11は、共通情報20を保持する。たとえば、アクセス分配装置11は、アクセス分配装置11の記憶部(不揮発性メモリ103またはRAM102)に共通情報20を記憶する。共通情報20は、すべてのストレージ装置12に共通の情報である。
共通情報20は、少なくともストレージ容量21を含み、ストレージ構成22、データフォーマット23など、その他の情報を含むものであってもよい。ストレージ容量21は、ストレージデバイス18の記憶容量であり、HDD#1,#2,#3,#4に共通の記憶容量である。ストレージ構成22は、ストレージ装置12が備えるストレージデバイス18の数である。データフォーマット23は、ストレージデバイス18が保持するデータのフォーマットである。
次に、アクセス分配装置11が保持するストレージ装置12に固有の固有情報について図8を用いて説明する。図8は、第2の実施形態のアクセス分配装置が保持するストレージ装置に固有の固有情報の一例を示す図である。
アクセス分配装置11は、固有情報25を保持する。たとえば、アクセス分配装置11は、アクセス分配装置11の記憶部(不揮発性メモリ103またはRAM102)に固有情報25を記憶する。固有情報25は、ストレージ装置12に固有の情報である。
固有情報25は、少なくとも書き込み開始アドレス(初期書き込み開始位置)26を含む。たとえば、ストレージ装置#1の書き込み開始アドレス26は、アドレス(ADR0)であり、ストレージ装置#2の書き込み開始アドレス26は、アドレス(ADR1)であり、ストレージ装置#3の書き込み開始アドレス26は、アドレス(ADR2)である。
また、アクセス分配装置11は、ストレージ装置12ごとのオフセット情報27を保持する。たとえば、アクセス分配装置11は、アクセス分配装置11の記憶部(不揮発性メモリ103またはRAM102)にオフセット情報27を記憶する。オフセット情報27は、ストレージ装置12ごとの現在のデータ書き込み位置(現在書き込み位置)に応じて変化する不定情報である。
ここで、オフセット情報27について図9を用いて説明する。図9は、第2の実施形態のストレージ装置ごとのオフセット情報と、データの書込み位置と、データの読み出し位置の一例を示す図である。
オフセット情報27は、現在のデータ書き込み位置のあるHDDの先頭アドレスから現在のデータ書き込み位置のアドレスとの差分を示す情報である。たとえば、ストレージ装置#1の現在のデータ書き込み位置Wは、HDD#3にあり、オフセット情報27は、OSaである。ストレージ装置#2の現在のデータ書き込み位置Wは、HDD#4にあり、オフセット情報27は、OSbである。ストレージ装置#3の現在のデータ書き込み位置Wは、HDD#4にあり、オフセット情報27は、OScである。ここで、ストレージ装置#1,#2,#3のオフセット情報27の大きさを比較すると、図9に示した例では、OSb<OSc<OSaである。
このとき、アクセス分配装置11がクライアント15からデータの読み出しリクエストを受け付けたとする。ログなどのデータをシーケンシャルに書き込む場合、経験的にログ構造化ファイルシステムは、古いデータよりも新しいデータに対するアクセス頻度が高く、データの読み出しリクエストは、データの書込み位置近傍が多い。図9に示した例では、ストレージ装置#1のデータ読み出し位置RはHDD#3にあり、ストレージ装置#2のデータ読み出し位置RはHDD#3にあり、ストレージ装置#3のデータ読み出し位置RはHDD#4にある。
このとき、ストレージ装置#1は、現在のデータ書き込み位置Wとデータ読み出し位置RがともにHDD#3にあるため、データ書き込みとデータ読み出しとでアクセス競合となる。また、ストレージ装置#3は、現在のデータ書き込み位置Wとデータ読み出し位置RがともにHDD#4にあるため、データ書き込みとデータ読み出しとでアクセス競合となる。一方、ストレージ装置#2は、現在のデータ書き込み位置WがHDD#4にあり、データ読み出し位置RがHDD#3にあるため、データ書き込みとデータ読み出しとでアクセス競合とならない。
このことから、アクセス分配装置11は、オフセット情報27の大きさが最小となるストレージ装置#2にデータの読み出しリクエストを転送することでストレージシステム10のアクセス競合によるアクセス性能の低下を抑制できる。
次に、第2の実施形態の初期書き込み位置決定処理について図10を用いて説明する。図10は、第2の実施形態の初期書き込み位置決定処理のフローチャートを示す図である。
初期書き込み位置決定処理は、ストレージシステム10を構成するストレージ装置12ごとの初期書き込み位置を決定する処理である。初期書き込み位置決定処理は、システムの稼働開始に先立ち、初期化処理の1つとしてアクセス分配装置11が実行する処理である。
[ステップS11]アクセス分配装置11の書き込み位置管理部(プロセッサ101)は、記憶部(不揮発性メモリ103またはRAM102)にアクセスして共通情報20を取得する。
[ステップS12]書き込み位置管理部は、ストレージシステム10を構成するすべてのストレージ装置12のうち初期書き込み位置決定対象のストレージ装置12を特定する。
[ステップS13]書き込み位置管理部は、特定したストレージ装置12の初期書き込み位置を算出する。たとえば、書き込み位置管理部は、上述した(1)式にしたがい初期書き込み位置を算出することができる。
[ステップS14]書き込み位置管理部は、算出した初期書き込み位置を、特定したストレージ装置12の初期書き込み位置に決定し、固有情報25の書き込み開始アドレス26として記憶部に格納する。
[ステップS15]書き込み位置管理部は、ストレージシステム10を構成するすべてのストレージ装置12について初期書き込み位置を決定したか否かを判定する。書き込み位置管理部は、すべてのストレージ装置12について初期書き込み位置を決定していない場合にステップS12にすすむ。一方、書き込み位置管理部は、すべてのストレージ装置12について初期書き込み位置を決定している場合に初期書き込み位置決定処理を終了する。
次に、第2の実施形態の書き込みリクエスト処理について図11を用いて説明する。図11は、第2の実施形態の書き込みリクエスト処理のフローチャートを示す図である。
書き込みリクエスト処理は、クライアント15から書き込みリクエストを受信することを契機にしてアクセス分配装置11が実行する処理である。
[ステップS21]アクセス分配装置11の書き込み部(プロセッサ101)は、記憶部(不揮発性メモリ103またはRAM102)から共通情報20を取得する。
[ステップS22]書き込み部は、書き込みリクエストから書き込み対象のデータのデータサイズを取得する。
[ステップS23]書き込み部は、ストレージシステム10を構成するすべてのストレージ装置12について記憶部から固有情報25である書き込み開始アドレス26を取得する。
[ステップS24]書き込み部は、ストレージシステム10を構成するすべてのストレージ装置12について記憶部からオフセット情報27を取得する。
[ステップS25]アクセス分配装置11のオフセット管理部(プロセッサ101)は、オフセット情報更新処理を実行する。オフセット情報更新処理は、ストレージシステム10を構成するすべてのストレージ装置12についてオフセット情報27を更新する処理である。オフセット情報更新処理については、図12を用いて後で説明する。
[ステップS26]書き込み部は、ストレージシステム10を構成するすべてのストレージ装置12に、クライアント15から受信した書き込みリクエストを転送して、書き込みリクエスト処理を終了する。
次に、第2の実施形態のオフセット情報更新処理について図12を用いて説明する。図12は、第2の実施形態のオフセット情報更新処理のフローチャートを示す図である。
オフセット情報更新処理は、書き込みリクエスト処理のステップS25でオフセット管理部が実行する処理である。
[ステップS31]オフセット管理部は、ストレージシステム10を構成するすべてのストレージ装置12のうちオフセット情報更新対象のストレージ装置12を特定する。
[ステップS32]オフセット管理部は、特定したストレージ装置12に対応するオフセット情報27に、書き込みリクエスト処理のステップS22で取得したデータサイズを加算する。なお、加算するデータサイズは、HDDにデータを保持する形式(フォーマット)に依存する。そのため、加算するデータサイズは、書き込みデータを所要の形式に変換した後のデータサイズとなる。たとえば、HDDにデータを保持する形式がデータの前に固定長のヘッダが付加される形式の場合には、書き込みデータのデータサイズとヘッダのデータサイズの和が加算されるデータサイズとなる。
[ステップS33]オフセット管理部は、加算値(加算結果)と、書き込みリクエスト処理のステップS21で取得したストレージ容量21(共通情報20)とを比較する。オフセット管理部は、加算値がストレージ容量21を超える場合にステップS34にすすみ、加算値がストレージ容量21を超えない場合にステップS35にすすむ。
[ステップS34]オフセット管理部は、加算値からストレージ容量21を減算する。
[ステップS35]オフセット管理部は、算出結果を新たなオフセット情報27として、オフセット情報27を更新する。
[ステップS36]オフセット管理部は、ストレージシステム10を構成するすべてのストレージ装置12についてオフセット情報27を更新したか否かを判定する。オフセット管理部は、すべてのストレージ装置12についてオフセット情報27を更新していない場合にステップS31にすすむ。一方、オフセット管理部は、すべてのストレージ装置12についてオフセット情報27を更新している場合にオフセット情報更新処理を終了する。
次に、第2の実施形態の読み出しリクエスト処理について図13を用いて説明する。図13は、第2の実施形態の読み出しリクエスト処理のフローチャートを示す図である。
読み出しリクエスト処理は、クライアント15から読み出しリクエストを受信することを契機にしてアクセス分配装置11が実行する処理である。
[ステップS41]アクセス分配装置11の読み出し部(プロセッサ101)は、記憶部からオフセット情報27を取得する。
[ステップS42]読み出し部は、ストレージシステム10を構成するすべてのストレージ装置12のうちからオフセット情報27が最小のストレージ装置12を特定する。
[ステップS43]読み出し部は、クライアント15から受信した読み出しリクエストを、特定したストレージ装置12に転送して読み出しリクエスト処理を終了する。
このようにして、アクセス分配装置11は、読み出しリクエストの転送先を決定するので、書き込みリクエストと読み出しリクエストとが1つのストレージ装置12の1つのストレージデバイス18で競合する確率を低減することができる。これにより、ストレージシステム10は、アクセス競合によるアクセス性能の低下を抑制できる。
次に、第2の実施形態のストレージシステム10におけるアクセス競合によるアクセス性能の低下の抑制効果について説明する。
ストレージ装置12の数をNs(≧2)、1台のストレージ装置12あたりのHDDの数をNHDD、HDDの記憶容量をCHDDとする。ここで、読み出し対象となるデータの範囲は、経験的にログ構造化ファイルシステムのアクセス頻度がより新しいデータに対して高いことに鑑みて、現在のデータ書き込み位置Wからストレージ装置12が格納しているデータサイズの1/2の範囲と仮定する。読み出し対象となるデータの範囲、すなわち読み出しリクエストの対象範囲TS(R)は、以下に示す(2)式のようになる。
TS(R)=(NHDD×CHDD)/2 ・・・(2)
読み出しリクエストは、読み出しリクエストの対象範囲TS(R)に対して一様な確率で発生すると、書き込みリクエストと読み出しリクエストが同一のHDDに対してアクセスする平均アクセス競合確率CP1は、以下に示す(3)式のようになる。
CP1=1/(NHDD×Ns) ・・・(3)
一方、ストレージ装置12ごとに初期書き込み開始位置を変えない場合、書き込みリクエストと読み出しリクエストが同一のHDDに対してアクセスする平均アクセス競合確率CP2は、以下に示す(4)式のようになる。
CP1=1/NHDD ・・・(4)
ストレージ装置12の数をNs=3、1台のストレージ装置12あたりのHDDの数をNHDD=2の場合の、ストレージ装置#1のアクセス競合の確率のシミュレーション結果を図14に示す。図14は、第2の実施形態のオフセット情報と競合発生確率の関係を示す図である。
ストレージシステム10は、アクセス分配装置11がオフセット情報27に基づいて読み出しリクエストの転送先を決定するので、アクセス競合確率は、実線に示すような鋸歯形状となる。一方、ストレージ装置12ごとに初期書き込み開始位置を変えない場合、アクセス競合確率は、一点鎖線に示すように単調増加となる。
このように、ストレージシステム10は、アクセス競合確率を低減することができる。よって、ストレージシステム10は、アクセス競合によるアクセス性能の低下を抑制できる。また、ストレージシステム10は、読み出しリクエストの発生が不確定な場合にまでキャッシュメモリをあらかじめ備えなくともよく、システム構築のコストメリットが大きい。
[第3の実施形態]
次に、第3の実施形態のストレージシステムについて説明する。第3の実施形態のストレージシステムは、アクセス分配装置がキャッシュメモリを備える点で第2の実施形態のストレージシステムと異なる。
まず、第3の実施形態のアクセス分配装置について図15を用いて説明する。図15は、第3の実施形態のアクセス分配装置のハードウェア構成の一例を示す図である。なお、第2の実施形態と同様の構成については、符号を同一にして説明を省略する。
アクセス分配装置30は、第2の実施形態のアクセス分配装置11が備える構成に加えて、キャッシュメモリ107を備える。キャッシュメモリ107は、直近の書き込みリクエストのあったデータを記憶容量の範囲で保持する。なお、キャッシュメモリ107の記憶容量を共通情報20の1つとしてもよい。
次に、第3の実施形態の読み出しリクエスト処理について図16を用いて説明する。図16は、第3の実施形態の読み出しリクエスト処理のフローチャートを示す図である。
読み出しリクエスト処理は、クライアント15から読み出しリクエストを受信することを契機にしてアクセス分配装置30が実行する処理である。
[ステップS51]アクセス分配装置30の読み出し部(プロセッサ101)は、キャッシュメモリ107が読み出しリクエストの対象データを保持(キャッシュヒット)しているか否かを判定する。読み出し部は、キャッシュヒットした場合にステップS52にすすみ、キャッシュミスした場合にステップS53にすすむ。
[ステップS52]読み出し部は、キャッシュメモリ107から読み出しリクエストの対象データを読み出して、クライアント15に読み出しリクエストを応答して読み出しリクエスト処理を終了する。
[ステップS53]読み出し部は、記憶部からオフセット情報27を取得する。
[ステップS54]読み出し部は、ストレージシステム10を構成するすべてのストレージ装置12のうちからオフセット情報27が最小のストレージ装置12を特定する。
[ステップS55]読み出し部は、クライアント15から受信した読み出しリクエストを、特定したストレージ装置12に転送して読み出しリクエスト処理を終了する。
このようにして、アクセス分配装置30は、読み出しリクエストの転送先を決定するので、書き込みリクエストと読み出しリクエストとが1つのストレージ装置12の1つのストレージデバイス18で競合する確率を低減することができる。これにより、ストレージシステム10は、アクセス競合によるアクセス性能の低下を抑制できる。また、アクセス分配装置30は、キャッシュメモリ107によってもアクセス性能の改善を図ることができる。
次に、第3の実施形態のストレージシステム10におけるアクセス競合によるアクセス性能の低下の抑制効果について説明する。
ストレージ装置12の数をNs(≧2)、1台のストレージ装置12あたりのHDDの数をNHDD、HDDの記憶容量をCHDD、キャッシュメモリ107の記憶容量をCCACHEとする。ここで、読み出し対象となるデータの範囲は、経験的にログ構造化ファイルシステムのアクセス頻度がより新しいデータに対して高いことに鑑みて、現在のデータ書き込み位置Wからストレージ装置12が格納しているデータサイズの1/2の範囲と仮定する。読み出し対象となるデータの範囲、すなわち(2)式に示した読み出しリクエストの対象範囲TS(R)のうち、現在のデータ書き込み位置WからCCACHEの範囲にあるデータは、HDDへのアクセスによらずキャッシュメモリ107へのアクセスによるとする。
読み出しリクエストは、読み出しリクエストの対象範囲TS(R)に対して一様な確率で発生すると、書き込みリクエストと読み出しリクエストが同一のHDDに対してアクセスする平均アクセス競合確率CP3は、以下に示す(5)式のようになる。
CACHE<(CHDD/Ns)の場合:
CP3={1/(NHDD×Ns)}×〔1−{(CCACHE×Ns)/CHDD)}〕2
CACHE≧(CHDD/Ns)の場合:CP3=0
・・・(5)
一方、ストレージ装置12ごとに初期書き込み開始位置を変えない場合、書き込みリクエストと読み出しリクエストが同一のHDDに対してアクセスする平均アクセス競合確率CP4は、以下に示す(6)式のようになる。
CP4=(1/NHDD)×{1−(CCACHE/CHDD)}2 ・・・(6)
ストレージ装置12の数をNs=3、1台のストレージ装置12あたりのHDDの数をNHDD=2、CCACHE=CHDD/10の場合の、ストレージ装置#1のアクセス競合の確率のシミュレーション結果を図17に示す。図17は、第3の実施形態のオフセット情報と競合発生確率の関係を示す図である。
ストレージシステム10は、キャッシュミス時にアクセス分配装置30がオフセット情報27に基づいて読み出しリクエストの転送先を決定するので、アクセス競合確率は、実線に示すようなキャッシュヒットとキャッシュミスを繰り返す鋸歯形状となる。一方、ストレージ装置12ごとに初期書き込み開始位置を変えない場合、アクセス競合確率は、CCACHEの範囲でキャッシュヒットするものの、キャッシュミス後は一点鎖線に示すように単調増加となる。
このように、ストレージシステム10は、アクセス競合確率を低減することができる。よって、ストレージシステム10は、アクセス競合によるアクセス性能の低下を抑制できる。また、ストレージシステム10は、読み出しリクエストの発生が不確定な場合にまでキャッシュメモリを過大に備えなくともよく、システム構築のコストメリットが大きい。
なお、ストレージシステム10は、すべてのストレージ装置12が同じ記憶容量のストレージデバイス18を同数備えるとしたが、ストレージ装置12ごとにストレージデバイス18の構成を違えるものであっても適用可能である。たとえば、HDD(HDD#1,#2,#3,#4)の記憶容量が異なる時は、HDDの記憶容量としてCHDDに平均値や中央値、最頻値などの代表値を採用することができる。ストレージシステム10は、このようなCHDDを用いて初期書き込み開始位置を算出することができる。
このような場合であっても、ストレージ装置12ごとに初期書き込み開始位置を変えない場合と比較して、ストレージシステム10は、確率的にアクセス競合確率を低減することができる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、分配装置2,11,30、ストレージ装置12、アクセス装置13が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
また、上記の処理機能の少なくとも一部を、DSP、ASIC、PLDなどの電子回路で実現することもできる。
1,10 ストレージシステム
2 分配装置
3 書き込み位置管理部
4 書き込み部
5 オフセット管理部
6 読み出し部
7,7a,7b,7c,12 ストレージ装置
8,18 ストレージデバイス
9,15 クライアント
11,30 アクセス分配装置
13,13a,13b,13c アクセス装置
14 デバイスエンクロージャ
16,17 ネットワーク
20 共通情報
21 ストレージ容量
22 ストレージ構成
23 データフォーマット
25 固有情報
26 書き込み開始アドレス
27 オフセット情報
101 プロセッサ
102 RAM
103 不揮発性メモリ
104 入出力インタフェース
105 通信インタフェース
106 バス
107 キャッシュメモリ

Claims (8)

  1. 複数のストレージ装置と、前記複数のストレージ装置へのリクエストを分配する分配装置と、を備えるストレージシステムであって、
    前記ストレージ装置は、
    書き込み位置からシーケンシャルにストレージデバイス間を跨いでデータを記録可能な複数のストレージデバイスを備え、
    前記分配装置は、
    前記ストレージ装置ごとに異なるデータの書き込み位置の初期位置である初期書き込み開始位置と、データの書き込み位置の現在位置である現在書き込み位置とを前記ストレージ装置ごとに管理する書き込み位置管理部と、
    書き込みリクエストを受け付けて、前記複数のストレージ装置に対して、前記ストレージ装置ごとの前記現在書き込み位置から前記書き込みリクエストのデータの書き込みを指示する書き込み部と、
    前記ストレージ装置ごとに、前記現在書き込み位置を含むストレージデバイスの先頭アドレスから前記現在書き込み位置まで示すオフセット情報管理するオフセット管理部と、
    読み出しリクエストを受け付けて、前記複数のストレージ装置のうち前記オフセット情報の大きさが最小のストレージ装置にデータの読み出しを指示する読み出し部と、
    を備えること、
    を特徴とするストレージシステム。
  2. 前記複数のストレージ装置は、同じ記憶容量のストレージデバイスを同数ずつ備えることを特徴とする請求項1記載のストレージシステム。
  3. 前記書き込み位置管理部は、前記ストレージ装置ごとの前記初期書き込み開始位置を前記複数のストレージ装置の間で等間隔となる位置に配置することを特徴とする請求項2記載のストレージシステム。
  4. 前記等間隔は、前記ストレージデバイスの記憶容量を前記ストレージ装置の数で除した間隔であることを特徴とする請求項3記載のストレージシステム。
  5. 前記分配装置は、前記書き込みリクエストのあったデータを記憶容量の範囲で保持するキャッシュメモリを備え、
    前記読み出し部は、前記読み出しリクエストを受け付けて前記キャッシュメモリでキャッシュミスした場合に、前記複数のストレージ装置のうち前記オフセット情報の大きさが最小のストレージ装置にデータの読み出しを指示することを特徴とする請求項1記載のストレージシステム。
  6. 複数のストレージ装置へのリクエストを分配する分配装置であって、
    書き込み位置からシーケンシャルにストレージデバイス間を跨いでデータを記録可能な複数のストレージデバイスを備える前記ストレージ装置ごとに異なるデータの書き込み位置の初期位置である初期書き込み開始位置と、データの書き込み位置の現在位置である現在書き込み位置とを前記ストレージ装置ごとに管理する書き込み位置管理部と、
    書き込みリクエストを受け付けて、前記複数のストレージ装置に対して、前記ストレージ装置ごとの前記現在書き込み位置から前記書き込みリクエストのデータの書き込みを指示する書き込み部と、
    前記ストレージ装置ごとに、前記現在書き込み位置を含むストレージデバイスの先頭アドレスから前記現在書き込み位置まで示すオフセット情報管理するオフセット管理部と、
    読み出しリクエストを受け付けて、前記複数のストレージ装置のうち前記オフセット情報の大きさが最小のストレージ装置にデータの読み出しを指示する読み出し部と、
    を備えることを特徴とする分配装置。
  7. 複数のストレージ装置へのリクエストを分配する分配装置の制御プログラムであって、
    前記分配装置に、
    書き込み位置からシーケンシャルにストレージデバイス間を跨いでデータを記録可能な複数のストレージデバイスを備える前記ストレージ装置ごとに異なるデータの書き込み位置の初期位置である初期書き込み開始位置と、データの書き込み位置の現在位置である現在書き込み位置とを前記ストレージ装置ごとに管理し、
    書き込みリクエストを受け付けて、前記複数のストレージ装置に対して、前記ストレージ装置ごとの前記現在書き込み位置から前記書き込みリクエストのデータの書き込みを指示し、
    前記ストレージ装置ごとに、前記現在書き込み位置を含むストレージデバイスの先頭アドレスから前記現在書き込み位置まで示すオフセット情報管理し、
    読み出しリクエストを受け付けて、前記複数のストレージ装置のうち前記オフセット情報の大きさが最小のストレージ装置にデータの読み出しを指示する、
    処理を実行させることを特徴とする分配装置の制御プログラム。
  8. 複数のストレージ装置と、前記複数のストレージ装置へのリクエストを分配する分配装置と、を備えるストレージシステムの制御方法であって、
    前記分配装置が、
    書き込み位置からシーケンシャルにストレージデバイス間を跨いでデータを記録可能な複数のストレージデバイスを備える前記ストレージ装置ごとに異なるデータの書き込み位置の初期位置である初期書き込み開始位置と、データの書き込み位置の現在位置である現在書き込み位置とを前記ストレージ装置ごとに管理し、
    書き込みリクエストを受け付けて、前記複数のストレージ装置に対して、前記ストレージ装置ごとの前記現在書き込み位置から前記書き込みリクエストのデータの書き込みを指示し、
    前記ストレージ装置ごとに、前記現在書き込み位置を含むストレージデバイスの先頭アドレスから前記現在書き込み位置まで示すオフセット情報管理し、
    読み出しリクエストを受け付けて、前記複数のストレージ装置のうち前記オフセット情報の大きさが最小のストレージ装置にデータの読み出しを指示する、
    処理を実行することを特徴とするストレージシステムの制御方法。

JP2013069153A 2013-03-28 2013-03-28 ストレージシステム、分配装置、分配装置の制御プログラム、およびストレージシステムの制御方法 Expired - Fee Related JP6155754B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013069153A JP6155754B2 (ja) 2013-03-28 2013-03-28 ストレージシステム、分配装置、分配装置の制御プログラム、およびストレージシステムの制御方法
US14/167,559 US9250829B2 (en) 2013-03-28 2014-01-29 Storage system and method for managing storage apparatuses

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013069153A JP6155754B2 (ja) 2013-03-28 2013-03-28 ストレージシステム、分配装置、分配装置の制御プログラム、およびストレージシステムの制御方法

Publications (2)

Publication Number Publication Date
JP2014191773A JP2014191773A (ja) 2014-10-06
JP6155754B2 true JP6155754B2 (ja) 2017-07-05

Family

ID=51621999

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013069153A Expired - Fee Related JP6155754B2 (ja) 2013-03-28 2013-03-28 ストレージシステム、分配装置、分配装置の制御プログラム、およびストレージシステムの制御方法

Country Status (2)

Country Link
US (1) US9250829B2 (ja)
JP (1) JP6155754B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108710472A (zh) * 2018-04-27 2018-10-26 北京大学深圳研究生院 用于存储单元内部的磨损均衡管理方法及分布式存储系统
CN112882659B (zh) * 2021-02-26 2023-05-02 杭州海康威视数字技术股份有限公司 一种信息获得方法、装置、电子设备及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1197836A3 (en) * 1993-06-03 2009-06-17 Network Appliance, Inc. A method for allocating files in a file system integrated with a raid disk sub-system
US5765200A (en) * 1995-06-07 1998-06-09 International Business Machines Corporation Logical positioning within a storage device by a storage controller
JPH0916339A (ja) * 1995-06-29 1997-01-17 Sanyo Electric Co Ltd 読み出し制御装置
JPH10293658A (ja) 1997-04-21 1998-11-04 Hitachi Ltd ディスクアレイサブシステム
WO2008136075A1 (ja) * 2007-04-20 2008-11-13 Fujitsu Limited ストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法
JP4872089B2 (ja) * 2008-07-03 2012-02-08 富士通株式会社 ディスクアレイ装置及びその制御装置並びに制御方法
US9268709B2 (en) * 2012-10-18 2016-02-23 Marvell International Ltd. Storage controllers and storage control methods

Also Published As

Publication number Publication date
US20140297946A1 (en) 2014-10-02
US9250829B2 (en) 2016-02-02
JP2014191773A (ja) 2014-10-06

Similar Documents

Publication Publication Date Title
US10346067B2 (en) Multi-tier file storage management using file access and cache profile information
JP4767057B2 (ja) ハッシュ値生成プログラム、ストレージ管理プログラム、判定プログラム及びデータ変更検証装置
JP2010009548A (ja) 記憶装置、制御装置、記憶システム、および記憶方法
JP6409613B2 (ja) 情報処理装置,マルチパス制御方法及びマルチパス制御プログラム
US20180024741A1 (en) Storage media performance management
US20130246886A1 (en) Storage control apparatus, storage system, and storage control method
JP2014026529A (ja) ストレージシステムおよびその制御方法
JP2017041076A (ja) ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラム
US20100185793A1 (en) Storage device and data transfer method for the same
JP6155754B2 (ja) ストレージシステム、分配装置、分配装置の制御プログラム、およびストレージシステムの制御方法
JP6554990B2 (ja) ストレージ制御装置およびストレージ制御プログラム
CN104951243A (zh) 虚拟化存储系统中的存储扩展方法和装置
JP6171478B2 (ja) ストレージシステム、情報処理装置、情報処理装置の制御プログラム、および情報処理装置の制御方法
JP5594647B2 (ja) ストレージ装置及びその制御方法
JP6721821B2 (ja) ストレージ制御装置、ストレージ制御方法およびストレージ制御プログラム
JP6015752B2 (ja) 情報処理装置、情報処理プログラム、およびアクセス制御方法
JP6011125B2 (ja) ストレージ装置及びストレージシステム
WO2015155824A1 (ja) ストレージシステム
TW201435579A (zh) 用於從作業系統安裝映像檔的快照啓動多個伺服器之系統與方法
JP7067256B2 (ja) データ転送装置およびデータ転送方法
US20160196064A1 (en) Storage control device, control method and storage system
WO2020168516A1 (en) Method and system for facilitating fast atomic write operations in shingled magnetic recording hard disk drives
JP6524945B2 (ja) 制御装置、記憶装置、記憶制御方法およびコンピュータプログラム
JP2020038475A (ja) ストレージ制御装置およびストレージ制御プログラム
JP6318769B2 (ja) ストレージ制御装置、制御プログラム、および制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170106

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170522

R150 Certificate of patent or registration of utility model

Ref document number: 6155754

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees