JP6683160B2 - ストレージシステム、および通信方法 - Google Patents

ストレージシステム、および通信方法 Download PDF

Info

Publication number
JP6683160B2
JP6683160B2 JP2017061121A JP2017061121A JP6683160B2 JP 6683160 B2 JP6683160 B2 JP 6683160B2 JP 2017061121 A JP2017061121 A JP 2017061121A JP 2017061121 A JP2017061121 A JP 2017061121A JP 6683160 B2 JP6683160 B2 JP 6683160B2
Authority
JP
Japan
Prior art keywords
storage device
storage
request
data
response
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017061121A
Other languages
English (en)
Other versions
JP2018163572A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2017061121A priority Critical patent/JP6683160B2/ja
Priority to US15/926,067 priority patent/US10379770B2/en
Publication of JP2018163572A publication Critical patent/JP2018163572A/ja
Application granted granted Critical
Publication of JP6683160B2 publication Critical patent/JP6683160B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

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 Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本開示は、ストレージシステム、および通信方法に関する。
情報の電子化が進み、膨大な量の情報を管理する技術が注目されている。例えば、膨大な量の情報を管理する技術の1つとして、ストレージの性能や容量を拡張する技術がある。具体的に、複数のストレージで構成された1つの論理ディスクをサーバに割り当てる、スケールアウト型のストレージが提案されている。例えば、スケールアウト型のストレージに関連する技術として、特許文献1には、複数のノードへのライトアクセスの順序を制御し、ミラーデータ間の不整合の発生を防ぐ技術が開示されている。
なお、膨大な量の情報を管理する技術として、特許文献2には、RAID(Redundant Arrays of Independent Disks)を実現するシステムにおいて、ディスクアレイコントローラとディスク装置とホストとを1つのインターフェースによって接続することで、各装置間のインターフェースを減らし、低コストを実現する技術が記載されている。また特許文献3には、マスタディスクのコピーデータをリモートディスクに格納する技術が開示されている。また特許文献4には、KVS(Key−Value Store)の手法でデータを複数のストレージノードに分散配置する技術が開示されている。
特開2016−024679号公報 特開2004−280862号公報 特開2003−085017号公報 特開2013−045379号公報
例えば、サーバが複数のストレージのうち、一方のストレージに対して送信したI/O(Input/Output)コマンドの対象となるデータが、他方のストレージに格納されている場合、対象となるデータは、他方のストレージから一方のストレージに送信された後、一方のストレージからサーバへと送信される。このため、各ストレージ間のデータ通信頻度が高くなる可能性がある。
また、サーバが、I/Oコマンドの対象となるデータを格納するストレージにI/Oコマンドを送信する場合、サーバが、全てのデータの格納場所を記憶する方法がある。しかしながら、この場合、サーバは記憶しているデータの格納場所から、I/Oコマンドを送信するストレージを特定する動作を行う必要がある。すなわち、サーバに新たな機能を追加する必要がある。
本開示は、上記問題を鑑みたものであって、サーバに新たな機能を追加することなく、各ストレージ間のデータ通信頻度を低減する技術を提供する。
本開示の一形態に係るストレージシステムは、複数のストレージ装置を備え、前記複数のストレージ装置の夫々は、制御手段と、データを記憶する記憶手段とを備え、要求を受信したストレージ装置の前記制御手段は、前記複数のストレージ装置のうち、前記要求の対象となる対象データが格納された記憶手段を有するストレージ装置を特定し、前記特定されたストレージ装置の前記制御手段は、前記対象データと、前記要求の送信先を示す送信先識別子を前記要求に対する応答の送信元識別子として設定し、かつ、前記要求の送信元を示す送信元識別子を前記応答の送信先識別子として設定したヘッダ情報とを、前記応答として送信する。
本開示の一形態に係る通信方法は、複数のストレージ装置を備えるストレージシステムの通信方法であって、要求を受信したストレージ装置は、前記複数のストレージ装置のうち、前記要求の対象となる対象データが格納された記憶手段を有するストレージ装置を特定し、前記特定されたストレージ装置は、前記対象データと、前記要求の送信先を示す送信先識別子を前記要求に対する応答の送信元識別子として設定し、かつ、前記要求の送信元を示す送信元識別子を前記応答の送信先識別子として設定したヘッダ情報とを、前記応答として送信する。
本開示によれば、サーバに新たな機能を追加することなく、各ストレージ間のデータ通信頻度を低減することができる。
第1実施形態におけるストレージシステムの全体構成の一例を示す図である。 フレームを説明するための図である。 第1実施形態におけるストレージシステムの構成の一例を示す機能ブロック図である。 格納テーブルを説明するための図である。 変換テーブルを説明するための図である。 第1実施形態におけるストレージシステムの動作の一例を示すフローチャートである。 第2実施形態におけるストレージシステムの構成の一例を示す機能ブロック図である。 第2実施形態におけるストレージシステムの動作の一例を示すフローチャートである。 本開示の各実施形態に係るストレージシステムを実現する情報処理装置のハードウェア構成の一例を示すブロック図である。
以下、本開示の実施形態について図面を参照して詳細に説明する。
<第1実施形態>
図1は、第1実施形態におけるストレージシステム1の全体構成の一例を示す図である。ストレージシステム1は、サーバ装置10と、スイッチ20と、第1ストレージ装置30と、第2ストレージ装置40とを有する。スイッチ20は、例えばFC(Fibre Channel)スイッチによって実現される。
サーバ装置10と、スイッチ20とは有線または無線のネットワークによって相互に接続されている。また、サーバ装置10は、スイッチ20を介して各ストレージ装置とデータ通信を行う。
スイッチ20は、第1ストレージ装置30と、第2ストレージ装置40と、FCによって相互に接続されている。また、第1ストレージ装置30と、第2ストレージ装置40とは、有線または無線のネットワークによって相互に接続されている。
FC通信では、ひとつのシーケンス(データ)は1個または複数個のフレームで伝送される。このとき、受信側は、最後のデータ列を含むフレーム(最終フレーム)を受信することにより、一連のフレームの伝送が完了したことを認識することができる。
図2は、フレームのヘッダ(ヘッダ情報)を説明するための図である。図2に示すように、フレームは、2148バイトの可変長であり、36バイトのオーバーヘッド部分と2112バイトのペイロード部分とで構成される。オーバーヘッド部分は、始まりにつけられる4バイトのSOF(Start Of Frame)、24バイトのヘッダ、フレームの終わりにつけられる4バイトのEOF(End Of Frame)および4バイトのCRC(Cyclic Redundancy Check)を示す。また、ペイロード部分は、64バイトのオプションと、2048バイトのデータとを示す。なお、CRCは、エラーをチェックするための符号を示す。以下、フレームのヘッダについて説明する。
D_ID(Destination_Identifier)は、送信先アドレス(送信先識別子とも呼ばれる)であり、例えばフレームの送信先のポートアドレスである。
S_ID(Source_Identifier)は、送信元アドレス(送信元識別子とも呼ばれる)であり、例えばフレームの送信元のポートアドレスである。
F_CTL(Frame_Control)は、先頭フレームか、最終フレームか、送信側がオリジネータかレスポンダか等、エクスチェンジやシーケンスの属性を表す値である。
SEQ_ID(Sequence_Identifier)は、D_IDとS_IDとの組に対する、シーケンスごとの固有の番号である。SEQ_CNT(Sequence Count)は、ひとつのシーケンス中の複数フレームの連続する番号、又はひとつのエクスチェンジ中の複数シーケンスの連続する番号である。
OX_ID(Originator Exchange_Identifier)は、トランザクション処理の単位を示すエクスチェンジを開始したオリジネータ側(コマンドのフレームを送信する側)において、夫々のエクスチェンジを開始したオリジネータを識別するオリジネータ識別子である。
なお、トランザクション処理とは、例えば、サーバ装置10からスイッチ20を介して各ストレージ装置にReadコマンドが送信されてから、各ストレージ装置からスイッチ20を介してサーバ装置10へReadコマンドの対象データが返送されるまでの一連の処理を示す。
RX_ID(Responder Exchange_Identifier)は、オリジネータに応答するレスポンダ側(コマンドを構成するフレームを受信する側)において、夫々のエクスチェンジを特定する識別子である。
サーバ装置10、第1ストレージ装置30および第2ストレージ装置40とはS_ID、D_IDおよびOX_IDに基づき、送信元と送信先とを判定すし、データの送信と受信とを行う。OX_IDは、夫々のエクスチェンジを開始したオリジネータを識別するオリジネータ識別子であるため、サーバ装置10、第1ストレージ装置30および第2ストレージ装置40とはOX_IDによって、どのエクスチェンジに関連するフレームなのかがわかる。
例えば、サーバ装置10が第1ストレージ装置30にReadコマンドを送信する。そして、第1ストレージ装置30はReadコマンドの対象となるデータをサーバ装置10に送信する。このとき、サーバ装置10が送信したReadコマンドのS_ID、D_IDおよびOX_IDと、第1ストレージ装置30が送信したデータのS_ID、D_IDおよびOX_IDとが対応しない場合、サーバ装置10は、Readコマンドの異常処理と判定し、データを受信しない。つまり、サーバ装置10は、フレームに設定されるS_ID、D_IDおよびOX_IDを用いて、データの送信先と送信元との関係を判定し、データを受信する、既存の手段を有する。
図3は、第1実施形態におけるストレージシステム1の構成の一例を示す機能ブロック図である。サーバ装置10は、制御部11と、記憶部12とを有する。制御部11は、スイッチ20にデータまたはデータに対する処理の指示を含むコマンドを送信する。また制御部11は、スイッチ20からデータを受信する。また、制御部11は、記憶部12に対するデータの入出力を制御する。記憶部12はデータを記憶する。これ以降、指示の対象となるデータを対象データと呼ぶ。
スイッチ20は、送信されたフレームに設定されるD_IDに基づき、フレームの送信先を決定し、決定した送信先にフレームを送信する。
第1ストレージ装置30は、第1サーバ通信部31と、第1制御部32と、第1ストレージ通信部33と、第1記憶部34と、第1ボリューム35とを備える。第2ストレージ装置40は、第2サーバ通信部41と、第2制御部42と、第2ストレージ通信部43と、第2記憶部44と、第2ボリューム45とを備える。
第1サーバ通信部31と、第2サーバ通信部41とは、スイッチ20とデータ通信を行う。第1ストレージ通信部33と、第2ストレージ通信部43とは、互いにデータ通信を行う。
また、第1ストレージ装置30と第2ストレージ装置40とは、第1ボリューム35と、第2ボリューム45とによって論理ディスク50を構築する。そして、第1ストレージ装置30と第2ストレージ装置40とは、構築した論理ディスク50をサーバ装置10に割り当てる。また、論理ディスク50は、LD(Logical Disk)とも呼ぶ。論理ディスク50はデータを格納する。
第1記憶部34と第2記憶部44とは、図4に示す格納テーブル51と図5に示す変換テーブル52との両方を記憶する。格納テーブル51と変換テーブル52とは論理ディスク50に格納されているデータを管理するための情報である。
図4は、格納テーブル51を説明するための図である。格納テーブル51は、データ510と、論理アドレス511とを含む。データ510は、論理ディスク50に格納されるデータである。論理アドレス511は、論理ディスク50の論理アドレス空間における、データ510の格納位置を示す位置情報である。
図5は、変換テーブル52を説明するための図である。変換テーブル52は、論理アドレス511と、物理アドレス512とを含む。物理アドレス512は、第1ボリューム35または第2ボリューム45における、論理アドレス511に対応する物理アドレス空間上の位置を示す位置情報である。
図5において論理アドレス511と、物理アドレス512とは対応付けられている。そのため、第1制御部32と第2制御部42とは、格納テーブル51と変換テーブル52とに基づき、対象データがどのストレージ装置に格納されているのかを特定することができる。また、第1制御部32および第2制御部42は、第1ストレージ通信部33と第2ストレージ通信部43とを介し、ストレージ間通信を行うことで、論理ディスク50に格納されるデータの位置等を共有する。例えば、第1制御部32は、論理ディスク50に格納されるデータの位置が変更された場合、第1記憶部34に格納される格納テーブル51および変換テーブル52を更新する。そして、第1制御部32は、第1ストレージ通信部33を介し、第1記憶部34に格納される格納テーブル51および変換テーブル52を更新した情報を、第2ストレージ装置40に送信する。第2制御部42は、第2ストレージ通信部43を介し、第1ストレージ装置30から格納テーブル51および変換テーブル52を更新した情報を受信する。そして、第2制御部42は、第2記憶部44に格納される格納テーブル51および変換テーブル52を更新する。このように、各記憶部に格納される格納テーブル51および変換テーブル52の情報は同期される。
第1制御部32は、スイッチ20から受信したReadコマンドに基づき、第1記憶部34を参照し、対象データを格納しているストレージ装置を特定する。そして、第1制御部32は、特定したストレージ装置が自装置以外である場合、特定したストレージ装置にReadコマンドに含まれるS_ID、D_IDおよびOX_IDを転送する。
図6は、第1実施形態におけるストレージシステム1の動作の一例を示すフローチャートである。以下に示す動作は、サーバ装置10が第1ストレージ装置30に対して、第2ストレージ装置40に格納されているデータ510「D3」を対象データとしたReadコマンドを送信する場合の動作であるとする。図6では、サーバ装置10の処理を左側に示し、サーバ装置10の処理の右側にスイッチ20の処理を示す。また、図6では、第2ストレージ装置40の処理を右側に示し、第2ストレージ装置40の処理の左側に第1ストレージ装置30の処理を示す。
なお、サーバ装置10の処理と第1ストレージ装置30の処理との間と、第1ストレージ装置30の処理と第2ストレージ装置40の処理との間にある破線の矢印は、情報の流れを示している。
サーバ装置10の制御部11は、第1ストレージ装置30を宛先とし、データ510「D3」を読み出すReadコマンドをスイッチ20に送信する(ステップS401)。具体的に、Readコマンドを構成するフレームには、サーバ装置10のアドレスを示すS_ID、第1ストレージ装置30のアドレスを示すD_ID、サーバ装置10のアドレスを示すOX_IDおよびデータ510「D3」を対象データとして読み出す指示が含まれる。
スイッチ20は、サーバ装置10からReadコマンドを受信する(ステップS402)。そして、スイッチ20は、D_IDを参照し、第1ストレージ装置30にReadコマンドを送信する(ステップS403)。
第1ストレージ装置30の第1サーバ通信部31は、スイッチ20からReadコマンドを受信する(ステップS404)。そして、第1サーバ通信部31は、受信したReadコマンドを第1制御部32に送信する。第1制御部32は、第1サーバ通信部31からReadコマンドを受信する。
第1制御部32は、受信したReadコマンドに基づき、格納テーブル51と、変換テーブル52とを参照し、受信したReadコマンドの対象データを格納するボリュームを有するストレージ装置を特定する(ステップS405)。
具体的に第1制御部32は、対象データを用いて第1記憶部34の格納テーブル51を参照する。図5に示す格納テーブル51を参照すると、データ510「D3」は、論理アドレス511「LA3」に格納されていることがわかる。したがって、第1制御部32は、格納テーブル51から、論理アドレス511「LA3」を取得する。そして、第1制御部32は、論理アドレス511「LA3」を用いて、第1記憶部34の変換テーブル52を参照する。図4に示す変換テーブル52を参照すると、論理アドレス511「LA3」は、物理アドレス512「PA3」と紐づいていることがわかる。また、図4に示すとおり、物理アドレス512「PA3」は第2ボリューム45内のアドレスを示す。これにより、第1制御部32は、対象データであるデータ510「D3」が、第2ストレージ装置40にあることを検知する。したがって、ステップS405で特定されるストレージ装置は、第2ストレージ装置40となる。
そして、第1制御部32は、対象データをサーバ装置10に転送する指示を含む転送コマンドとReadコマンドに含まれるS_ID、D_IDおよびOX_IDとを第1ストレージ通信部33に送信する。その後、第1ストレージ通信部33は、転送コマンドと、Readコマンドに含まれるS_ID、D_IDおよびOX_IDとを第2ストレージ装置40に送信する(ステップS406)。
第2ストレージ装置40の第2ストレージ通信部43は、第1ストレージ装置30から転送コマンドと、Readコマンドに含まれるS_ID、D_IDおよびOX_IDとを受信する(ステップS407)。第2ストレージ通信部43は、転送コマンドと、Readコマンドに含まれるS_ID、D_IDおよびOX_IDとを第2制御部42に送信する。
第2制御部42は、受信した転送コマンドに基づき、第2ボリューム45から対象データを取得する(ステップS408)。具体的に第2制御部42は、第2ボリューム45からデータ510「D3」を取得する。そして、第2制御部42は、取得したデータ510「D3」と、受信したS_ID、D_IDおよびOX_IDとに基づき、Readコマンドに対する応答となる応答フレームを設定する(ステップS409)。
具体的に、第2制御部42は、第2ストレージ通信部43から受信したS_ID、D_ID、OX_IDおよび転送コマンドに基づき、S_ID、D_ID、OX_IDを応答フレームのヘッダに設定する。このとき応答フレームのヘッダに設定されるS_IDは第1ストレージ装置30である。また応答フレームのヘッダに設定されるD_IDはサーバ装置10である。また応答フレームのヘッダに設定されるOX_IDはサーバ装置10である。そして第2制御部42は、対象データであるデータ510「D3」を応答フレームに設定する。
そして第2制御部42は、応答フレームを第2サーバ通信部41に送信する。第2サーバ通信部41は、応答フレームを第2制御部42から受信する。そして、第2サーバ通信部41は、応答フレームをスイッチ20に送信する(ステップS410)。
スイッチ20は、第2ストレージ装置40から応答フレームを受信する(ステップS411)。そして、スイッチ20は応答フレームに基づき、サーバ装置10に応答フレームを送信する(ステップS412)。具体的にスイッチ20は、応答フレームのヘッダに設定されているD_IDを参照し、応答フレームを送信する先を決定する。このとき、D_IDはサーバ装置10であるため、スイッチ20は、応答フレームをサーバ装置10に送信する。
サーバ装置10の制御部11は、スイッチ20から応答フレームを受信する(ステップS413)。このときS_IDは第1ストレージ装置30である。また応答フレームのヘッダに設定されるD_IDはサーバ装置10である。また応答フレームのヘッダに設定されるOX_IDはサーバ装置10である。このため、サーバ装置10はReadコマンドに対応する処理が、第1ストレージ装置30にて正常に実行されたと判定する。
また第2制御部42は、Readコマンドの完了応答(後述)を構成するResponseフレームに、応答フレームと同じS_ID、D_IDおよびOX_IDを設定する。そして、第2制御部42は完了応答を第2サーバ通信部41に送信する。第2サーバ通信部41は、第2制御部42から完了応答を受信する。そして、第2サーバ通信部41は、スイッチ20に完了応答を送信する(ステップS414)。
スイッチ20は、第2ストレージ装置40から完了応答を受信する(ステップS415)。そして、スイッチ20は、完了応答を構成するResponseフレームに設定されるD_IDに基づき、サーバ装置10に完了応答を送信する(ステップS416)。
サーバ装置10の制御部11は、スイッチ20から完了応答を受信する(ステップS417)。以上で処理は終了する。完了応答は、Readコマンドに関連する処理が終了したことを示す通知である、したがって、制御部11は、受信した完了応答に基づき、Readコマンドに関連する処理が終了したと判定することができる。
なお、本実施形態ではサーバ装置10は、2つのストレージ装置と接続しているが、サーバ装置10は3つ以上のストレージ装置と接続してもよい。
またスイッチ20は、第1ストレージ装置30と、第2ストレージ装置40と、FCによって相互に接続されているが、FCの代わりにiSCSI(Internet Small Computer System Interface)によって相互に接続されていてもよい。
上述したように、対象データであるデータ510「D3」を含む応答フレームは、第2ストレージ装置40からスイッチ20を介してサーバ装置10に送信されるため、本来、対象データが設定された応答フレームのS_IDは、第2ストレージ装置40となる。しかしながら、対象データが設定された応答フレームのS_IDに第2ストレージ装置40を設定すると、応答フレームはサーバ装置10が送信したReadコマンドに対応しなくなる。このため、サーバ装置10は、対象データが設定された応答フレームを受信しても、サーバ装置10が送信したReadコマンドの応答として認識しなくなってしまう。
このため、例えば、サーバ装置10が送信したReadコマンドの応答として認識させるために、第2ストレージ装置40は、第1ストレージ装置30を介し、応答フレームをサーバ装置10に送るとする。この場合、サーバ装置10がReadコマンドのD_IDに設定したストレージ装置から、サーバ装置10に応答フレームを送らなければならず、各ストレージ間のデータ通信頻度が高くなってしまう可能性がある。
よって、第2ストレージ装置40は、第1ストレージ装置30が送信したようにサーバ装置10に見せかけるため、Readコマンドに含まれるS_ID、D_IDおよびOX_IDに基づき、応答フレームを書き換える。これにより、サーバ装置10は、第1ストレージ装置30が送信したものとして、対象データを受信する。したがって、サーバ装置10は特殊な対応をする必要がなく、通常のReadコマンドとして対応することができる。
以上により、第1実施形態に係るストレージシステム1は、サーバ装置10に新たな機能を追加することなく、各ストレージ間のデータ通信頻度を低減することができる。
<第2実施形態>
図7は第2実施形態におけるストレージシステムの構成の一例を示す機能ブロック図である。本実施形態に係るストレージシステム2は、本開示が解決しようとする課題を解決するための基本の構成である。
ストレージシステム2は、ストレージ装置60Aと、ストレージ装置60Bとを備える。ストレージ装置60Aは、制御部61Aと、データを記憶する記憶部62Aとを備える。また、ストレージ装置60Bは、制御部61Bと、データを記憶する記憶部62Bとを備える。以下、ストレージ装置60Aとストレージ装置60Bとを区別しない場合、ストレージ装置60と呼ぶ。また制御部61Aと制御部61Bとを区別しない場合、制御部61と呼ぶ。また、記憶部62Aと記憶部62Bとを区別しない場合、記憶部62と呼ぶ。
すなわち、ストレージシステム2は、複数のストレージ装置60を備える。また複数のストレージ装置60の夫々は、制御部61と、データを記憶する記憶部62とを備える。
複数のストレージ装置60のうち、要求を受信したストレージ装置60の制御部61は、複数のストレージ装置60のうち、要求の対象となる対象データが格納された記憶部62を有するストレージ装置60を特定する。要求は、要求の送信先を示す送信先識別子と要求の送信元を示す送信元識別子とを含む。
特定されたストレージ装置60の制御部61は、対象データと、送信先識別子を要求に対する応答の送信元識別子として設定し、かつ、送信元識別子を前記応答の送信先識別子として設定したヘッダ情報とを、応答として送信する。
図8は、第2実施形態におけるストレージシステム2の動作の一例を示すフローチャートである。
複数のストレージ装置60のうち、要求に含まれる送信先識別子によって示される、要求の送信先であるストレージ装置60の制御部61が、要求を受信する(ステップS501)。例えば送信先識別子がストレージ装置60Aを示す場合、ストレージ装置60Aの制御部61Aは、要求を受信する。
そして、1つのストレージ装置60の制御部61は、受信した要求の対象となる対象データが格納された記憶部62を有するストレージ装置60を特定する(ステップS502)。例えば、ストレージ装置60Aの記憶部62Aに対象データが格納されている場合、ストレージ装置60Aの制御部61Aは、ステップS502にてストレージ装置60Aを特定する。また、ストレージ装置60Bの記憶部62Bに対象データが格納されている場合、ストレージ装置60Aの制御部61Aは、ステップS502にてストレージ装置60Bを特定する。
その後、特定されたストレージ装置60の制御部61は、対象データと、要求の送信先を示す送信先識別子を要求に対する応答の送信元識別子として設定し、かつ、要求の送信元を示す送信元識別子を応答の送信先識別子として設定したヘッダ情報とを、応答として送信する(ステップS503)。
例えば、ステップS502にてストレージ装置60Aが特定された場合、ストレージ装置60Aの制御部61Aは、対象データと、送信先識別子であるストレージ装置60Aの情報を要求に対する応答の送信元識別子として設定し、かつ、要求の送信元を示す送信元識別子を応答の送信先識別子として設定したヘッダ情報とを、応答として送信する。
また、ステップS502にてストレージ装置60Bが特定された場合、ストレージ装置60Bの制御部61Bは、対象データと、送信先識別子であるストレージ装置60Aの情報を要求に対する応答の送信元識別子として設定し、かつ、要求の送信元を示す送信元識別子を応答の送信先識別子として設定したヘッダ情報とを、応答として送信する。そして、処理は終了する。
このように、対象データが格納された記憶部62を有するストレージ装置60は、送信先識別子を要求に対する応答の送信元識別子として設定し、かつ、要求の送信元を示す送信元識別子を応答の送信先識別子として設定したヘッダ情報と対象データとを応答として送信する。
これにより、要求の送信元は、要求を受信したストレージ装置60が応答を送信したとしたものとして、対象データが格納された記憶部62を有するストレージ装置60から応答を受信する。したがって、例えば、要求の送信元が、要求を送信したストレージ装置60からの応答を、要求に対する応答と認識する場合であっても、要求の送信元は特殊な対応をする必要がなく、通常の応答として対応することができる。
以上により、第2実施形態に係るストレージシステム2は、要求の送信元に新たな機能を追加することなく、各ストレージ間のデータ通信頻度を低減することができる。
<ハードウェア構成>
本開示の各実施形態において、各システムの各構成要素は、機能単位のブロックを示している。各システムの各構成要素の一部又は全部は、例えば図9に示すような情報処理装置900とプログラムとの任意の組み合わせにより実現される。情報処理装置900は、一例として、以下のような構成を含む。
・CPU(Central Processing Unit)901
・ROM(Read Only Memory)902
・RAM(Random Access Memory)903
・RAM903にロードされるプログラム904
・プログラム904を格納する記憶装置905
・記録媒体906の読み書きを行うドライブ装置907
・通信ネットワーク909と接続する通信インターフェース908
・データの入出力を行う入出力インターフェース910
・各構成要素を接続するバス911
各実施形態における各システムの各構成要素は、これらの機能を実現するプログラム904をCPU901が取得して実行することで実現される。各システムの各構成要素の機能を実現するプログラム904は、例えば、予め記憶装置905やRAM903に格納されており、必要に応じてCPU901が読み出す。なお、プログラム904は、通信ネットワーク909を介してCPU901に供給されてもよいし、予め記録媒体906に格納されており、ドライブ装置907が当該プログラムを読み出してCPU901に供給してもよい。
各システムの実現方法には、様々な変形例がある。例えば、各システムは、構成要素毎にそれぞれ別個の情報処理装置900とプログラムとの任意の組み合わせにより実現されてもよい。また、各システムが備える複数の構成要素が、一つの情報処理装置900とプログラムとの任意の組み合わせにより実現されてもよい。
また、各システムの各構成要素の一部又は全部は、その他の汎用または専用の回路、プロセッサ等やこれらの組み合わせによって実現される。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。
各システムの各構成要素の一部又は全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
各システムの各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
以上、各実施形態を参照して本開示を説明したが、本開示は上記各実施形態に限定されものではない。本開示の構成や詳細には、本開示のスコープ内で当業者が理解し得る様々な変更をすることができる。
1 ストレージシステム
2 ストレージシステム
10 サーバ装置
11 制御部
12 記憶部
20 スイッチ
30 第1ストレージ装置
31 第1サーバ通信部
32 第1制御部
33 第1ストレージ通信部
34 第1記憶部
35 第1ボリューム
40 第2ストレージ装置
41 第2サーバ通信部
42 第2制御部
43 第2ストレージ通信部
44 第2記憶部
45 第2ボリューム
50 論理ディスク
51 格納テーブル
52 変換テーブル
60 ストレージ装置
61 制御部
62 記憶部
900 情報処理装置
901 CPU
903 RAM
904 プログラム
905 記憶装置
906 記録媒体
907 ドライブ装置
908 通信インターフェース
909 通信ネットワーク
910 入出力インターフェース
911 バス

Claims (6)

  1. 複数のストレージ装置を備え、
    前記複数のストレージ装置の夫々は、制御手段と、データ及び前記データを管理する情報を記憶する記憶手段とを備え、
    要求を受信したストレージ装置の前記制御手段は、前記複数のストレージ装置のうち、前記要求の対象となる対象データが格納された記憶手段を有するストレージ装置を、前記データを管理する情報に基づいて特定し、前記対象データを要求の送信元に転送する指示、及び、前記要求に含まれる、前記要求を受信したストレージ装置を示す情報が設定された送信先識別子と、前記要求の送信元を示す情報が設定された送信元識別子とを、当該特定されたストレージ装置に送信し、
    前記特定されたストレージ装置の前記制御手段は、前記対象データと、前記要求を受信したストレージ装置を示す情報を前記要求に対する応答の送信元識別子として設定し、かつ、前記要求の送信元を示す情報を前記応答の送信先識別子として設定したヘッダ情報とを、前記応答として、前記要求の送信元に送信し、
    前記複数のストレージ装置のいずれかの前記記憶手段に記憶されたデータの位置に変更があった場合、当該記憶手段を備えるストレージ装置の制御手段は、当該記憶手段に記憶された前記データを管理する情報を更新し、当該変更があったデータの位置に関する情報を他のストレージ装置に送信する
    ストレージシステム。
  2. 前記複数のストレージ装置のうち、第1ストレージ装置の前記制御手段がサーバ装置から送信された前記要求を受信し、前記複数のストレージ装置のうち、前記第1ストレージ装置とは異なる第2ストレージ装置の前記記憶手段が前記対象データを格納する場合、
    前記第1ストレージ装置の前記制御手段は、前記第2ストレージ装置を特定し、
    前記第2ストレージ装置の前記制御手段は、前記対象データと、前記第1ストレージ装置を示す情報を前記応答の送信元識別子として設定し、前記サーバ装置を示す情報を前記応答の送信先識別子として設定し、かつ、前記要求の送信元であるオリジネータを識別するオリジネータ識別子を設定したヘッダ情報とを、前記応答として送信する請求項1に記載のストレージシステム。
  3. 前記第1ストレージ装置の前記制御手段は、前記対象データを前記サーバ装置に転送する指示、及び、前記要求に含まれる、前記第1ストレージ装置を示す情報が設定された送信先識別子と、前記サーバ装置を示す情報が設定された送信元識別子と、前記オリジネータ識別子とを、前記第2ストレージ装置に送信し、
    前記第2ストレージ装置の前記制御手段は、前記指示に基づき、前記第2ストレージ装置の前記記憶手段から前記対象データを取得する請求項2に記載のストレージシステム。
  4. データを管理する情報を記憶する記憶手段を有する複数のストレージ装置を備えるストレージシステムの通信方法であって、
    要求を受信したストレージ装置は、前記記憶手段に格納された前記データを管理する情報に基づいて、前記複数のストレージ装置のうち、前記要求の対象となる対象データが格納された前記記憶手段を有するストレージ装置を特定し、前記対象データを要求の送信元に転送する指示、及び、前記要求に含まれる、前記要求を受信したストレージ装置を示す情報が設定された送信先識別子と、前記要求の送信元を示す情報が設定された送信元識別子とを、当該特定されたストレージ装置に送信し、
    前記特定されたストレージ装置は、前記対象データと、前記要求を受信したストレージ装置を示す情報を前記要求に対する応答の送信元識別子として設定し、かつ、前記要求の送信元を示す情報を前記応答の送信先識別子として設定したヘッダ情報とを、前記応答として、前記要求の送信元に送信し、
    前記複数のストレージ装置のいずれかの前記記憶手段に記憶されたデータの位置に変更があった場合、当該記憶手段を備えるストレージ装置は、当該記憶手段に記憶された前記データを管理する情報を更新し、当該変更があったデータの位置に関する情報を他のストレージ装置に送信する
    通信方法。
  5. 前記複数のストレージ装置のうち、第1ストレージ装置がサーバ装置から送信された前記要求を受信し、前記複数のストレージ装置のうち、前記第1ストレージ装置とは異なる第2ストレージ装置の前記記憶手段が前記対象データを格納する場合、
    前記第1ストレージ装置は、前記第2ストレージ装置を特定し、
    前記第2ストレージ装置は、前記対象データと、前記第1ストレージ装置を示す情報を前記応答の送信元識別子として設定し、前記サーバ装置を示す情報を前記応答の送信先識別子として設定し、かつ、前記要求の送信元であるオリジネータを識別するオリジネータ識別子を設定したヘッダ情報とを、前記応答として送信する請求項4に記載の通信方法。
  6. 前記第1ストレージ装置は、前記対象データを前記サーバ装置に転送する指示、及び、前記要求に含まれる、前記第1ストレージ装置を示す情報が設定された送信先識別子と、前記サーバ装置を示す情報が設定された送信元識別子と、前記オリジネータ識別子とを、前記第2ストレージ装置に送信し、
    前記第2ストレージ装置は、前記指示に基づき、前記第2ストレージ装置の前記記憶手段から前記対象データを取得する請求項5に記載の通信方法。
JP2017061121A 2017-03-27 2017-03-27 ストレージシステム、および通信方法 Active JP6683160B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017061121A JP6683160B2 (ja) 2017-03-27 2017-03-27 ストレージシステム、および通信方法
US15/926,067 US10379770B2 (en) 2017-03-27 2018-03-20 Storage system and communicating method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017061121A JP6683160B2 (ja) 2017-03-27 2017-03-27 ストレージシステム、および通信方法

Publications (2)

Publication Number Publication Date
JP2018163572A JP2018163572A (ja) 2018-10-18
JP6683160B2 true JP6683160B2 (ja) 2020-04-15

Family

ID=63582548

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017061121A Active JP6683160B2 (ja) 2017-03-27 2017-03-27 ストレージシステム、および通信方法

Country Status (2)

Country Link
US (1) US10379770B2 (ja)
JP (1) JP6683160B2 (ja)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020172197A1 (en) * 2001-05-18 2002-11-21 Dale Michele Zampetti System interconnect with minimal overhead suitable for real-time applications
JP4801845B2 (ja) 2001-05-31 2011-10-26 株式会社村田製作所 孔の3次元的位置計測装置
JP4148663B2 (ja) 2001-09-11 2008-09-10 株式会社日立製作所 データ保証システム
US6718444B1 (en) * 2001-12-20 2004-04-06 Advanced Micro Devices, Inc. Read-modify-write for partial writes in a memory controller
US8051176B2 (en) * 2002-11-07 2011-11-01 Hewlett-Packard Development Company, L.P. Method and system for predicting connections in a computer network
JP4237515B2 (ja) 2003-02-07 2009-03-11 株式会社日立グローバルストレージテクノロジーズ ネットワークストレージ仮想化方法およびネットワークストレージシステム
JP4111450B2 (ja) 2004-06-28 2008-07-02 株式会社日立製作所 ディスクアレイ制御方法及びディスクアレイ制御装置
JP4740763B2 (ja) 2006-02-15 2011-08-03 株式会社日立製作所 ストレージシステム及びストレージコントローラ
JP2013045379A (ja) 2011-08-26 2013-03-04 Fujitsu Ltd ストレージ制御方法、情報処理装置およびプログラム
US9116852B2 (en) * 2012-10-16 2015-08-25 International Business Machines Corporation Processing a copy command directed to a first storage architecture for data that is stored in a second storage architecture
JP6398417B2 (ja) 2014-07-22 2018-10-03 富士通株式会社 ストレージ装置、ストレージシステム及びストレージ制御プログラム

Also Published As

Publication number Publication date
US10379770B2 (en) 2019-08-13
JP2018163572A (ja) 2018-10-18
US20180275906A1 (en) 2018-09-27

Similar Documents

Publication Publication Date Title
CN110431542B (zh) 管理存储网络中的i/o操作
US10853210B2 (en) Storage device health status synchronization
JP6264666B2 (ja) データ格納方法、データストレージ装置、及びストレージデバイス
JP7105870B2 (ja) データアクセス方法、装置およびシステム
CN112130748B (zh) 一种数据访问方法、网卡及服务器
US9917884B2 (en) File transmission method, apparatus, and distributed cluster file system
US9176917B2 (en) SAS latency based routing
US10708355B2 (en) Storage node, storage node administration device, storage node logical capacity setting method, program, recording medium, and distributed data storage system
US10534541B2 (en) Asynchronous discovery of initiators and targets in a storage fabric
KR101983208B1 (ko) 데이터 관리 방법, 노드, 그리고 데이터베이스 클러스터를 위한 시스템
CN109407975B (zh) 写数据方法与计算节点以及分布式存储系统
US10860224B2 (en) Method and system for delivering message in storage system
CN110502187B (zh) 一种快照回滚方法及装置
US9891992B2 (en) Information processing apparatus, information processing method, storage system and non-transitory computer readable storage media
US10469288B2 (en) Efficient data transfer in remote mirroring connectivity on software-defined storage systems
JP6683160B2 (ja) ストレージシステム、および通信方法
JP6376626B2 (ja) データ格納方法、データストレージ装置、及びストレージデバイス
US10503409B2 (en) Low-latency lightweight distributed storage system
US7574529B2 (en) Addressing logical subsystems in a data storage system
CN106155573B (zh) 用于存储设备扩展的方法、装置以及扩展的存储设备
US10191690B2 (en) Storage system, control device, memory device, data access method, and program recording medium
JP2007219809A (ja) データ記憶システム、データ記憶方法、データ記憶プログラム
US11061720B2 (en) Processing system and method of detecting congestion in processing system
JP4478000B2 (ja) データ仲介方法およびデータ仲介装置
US10908982B2 (en) Method and system for processing data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180713

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190701

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200212

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200309

R150 Certificate of patent or registration of utility model

Ref document number: 6683160

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350