JP2012168613A - データ転送装置およびストレージ装置 - Google Patents

データ転送装置およびストレージ装置 Download PDF

Info

Publication number
JP2012168613A
JP2012168613A JP2011027157A JP2011027157A JP2012168613A JP 2012168613 A JP2012168613 A JP 2012168613A JP 2011027157 A JP2011027157 A JP 2011027157A JP 2011027157 A JP2011027157 A JP 2011027157A JP 2012168613 A JP2012168613 A JP 2012168613A
Authority
JP
Japan
Prior art keywords
data
monitoring
address
data transfer
transmission
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
JP2011027157A
Other languages
English (en)
Other versions
JP5821041B2 (ja
Inventor
Yuji Fukuoka
雄治 福岡
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 JP2011027157A priority Critical patent/JP5821041B2/ja
Priority to US13/336,133 priority patent/US8886854B2/en
Publication of JP2012168613A publication Critical patent/JP2012168613A/ja
Application granted granted Critical
Publication of JP5821041B2 publication Critical patent/JP5821041B2/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/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3041Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is an input/output interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0094Bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Bus Control (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】非ハンドシェイク型の通信を行っている装置においてデータの送達を確認することができるデータ転送装置およびストレージ装置を提供する。
【解決手段】送信素子と、受信素子と、監視素子とを備え、送信素子は、非ハンドシェイク型の通信でデータを送信し、受信素子は、送信素子から送信されたデータを受信し、監視素子は、受信素子とは別に設けられたものであって、受信素子によって受信されるデータのサイズを監視して監視結果を送信素子に通知する。
【選択図】図1

Description

本件開示は、データ転送装置およびストレージ装置に関する。
従来より、ストレージ装置などでデータを内部転送することが行われている。近年、データの転送量や転送速度の向上が望まれているのに伴って非ハンドシェイク型の通信で高速にデータを転送する技術が普及してきている。このような非ハンドシェイク型の通信については、データの送達が保証されないので送達保証の技術が望まれている。
このような送達保証に関し、DMA(Direct Memory Access)において、メモリへのデータ書込みを検証するために、バスモニタで書き込まれたデータ数を数える技術が提案されている(例えば、特許文献1参照。)。
また、シリアルデータ転送システムにおいて、CRCコードをデータに付加することでデータエラーをチェックする技術も提案されている(例えば特許文献2参照。)。
また、配信型データ転送システムにおいて、ターゲットデバイスがバスを介した他のターゲットデバイスへのデータ転送を監視して自分にも取り込む技術が提案されている(例えば特許文献3参照。)。
更に、バス信号のモニタリングの技術として、通信チャネル上に生じる種々のタイプのイベントをモニタ可能なCPU回路を用いて、特定タイプのイベントが生じたらCPU回路を再構成する技術が提案されている(例えば特許文献4参照。)。
特開2004−355430号公報 特開平10−290270号公報 特開平9−251439号公報 特表2005−501337号公報
しかし、データの内部転送では、転送対象のデータを分割して転送する場合が多いため、全てのデータが欠落無く送達されたことを、高い確証性と簡素な構成で確認することは、上述したいずれの特許文献に開示された技術においても実現できない。
上記事情に鑑み、本件開示は、非ハンドシェイク型の通信を行っている装置においてデータの送達を確認することを目的とする。
上記目的を達成するデータ転送装置は、送信素子と受信素子と監視素子とを備えている。
上記送信素子は、非ハンドシェイク型の通信でデータを送信するものである。
上記受信素子は、上記送信素子から送信されたデータを受信するものである。
上記監視素子は、上記受信素子によって受信されるデータのサイズを監視して監視結果を上記送信素子に通知するものである。そして、監視素子は受信素子とは別に設けられている。
上記目的を達成するストレージ装置は、記憶部とアクセス部と送受信部とデータ転送部とを備えている。
上記記憶部は、データを記憶するものである。
上記アクセス部は、上記記憶部にアクセスすることで、再生データの読出しおよび記録データの書込みの少なくとも一方を行うものである。
上記送受信部は、再生データおよび記録データの少なくとも一方について上位装置との送受信を行うものである。
上記データ転送部は、上記送受信部から上記アクセス部までの間における内部的なデータ転送を担うものである。このデータ転送部は、上記送信素子と上記受信素子と上記監視素子とを備えている。
本件開示によれば、非ハンドシェイク型の通信を行っている装置においてデータの送達を確認することができる。
データ転送装置の具体的な第1実施形態を示す図である。 ストレージ装置の具体的な第1実施形態を示す図である。 ストレージ装置の具体的な第2実施形態を示す図である。 DMAデバイスを介して相互に接続されたCMを模式的に示す図である。 図4に示す2つのCMにおけるデータ転送の例を示す図である。 チェック用デバイスの構造を示す図である。 チェック用デバイスによる監視動作におけるシーケンスを示す図である。 DMAにおける転送データのフォーマットを示す図である。 PCI−Expressのスイッチにおけるアドレス変換の機能を示した図である。 チェック用デバイスに用意されている変換テーブルの一例を示す図である。 第3実施形態における、DMAデバイスを介して相互に接続されたCMを模式的に示した図である。 第4実施形態における、DMAデバイスを介して相互に接続されたCMを模式的に示した図である。 第4実施形態におけるデータ転送の例を示す図である。 第4実施形態における監視動作の詳細を示す図である。
上記説明したデータ転送装置およびストレージ装置に対する具体的な実施形態を、以下図面を参照して説明する。
図1は、データ転送装置の具体的な第1実施形態を示す図である。
図1に示すデータ転送装置10は、送信素子11と受信素子12と監視素子13とを備えている。
送信素子11は、非ハンドシェイク型の通信でデータを送信するものである。
受信素子12は、送信素子11から送信されたデータを受信するものである。
監視素子13は、受信素子12によって受信されるデータのサイズを監視して監視結果を送信素子11に通知するものである。監視素子13は、受信素子12とは別に設けられている。
このようなデータ転送装置10によれば、監視素子13で監視されたデータサイズを送信素子11側で知得することができる。送信したデータサイズと同じサイズのデータが送達されたことが確認できると、データ送達の確証性は高い。また、このような機能の監視素子13は十分に小型で簡素な素子によって実現可能であり、そのような監視素子13が組み込まれたデータ転送装置10の構成も簡素である。
図2は、ストレージ装置の具体的な第1実施形態を示す図である。
図2に示すストレージ装置100は、記憶部110とアクセス部120と送受信部130とデータ転送部140とを備えている。
記憶部110は、データを記憶するものである。
アクセス部120は、記憶部110にアクセスすることで、再生データの読出しおよび記録データの書込みの少なくとも一方を行うものである。
送受信部130は、再生データおよび記録データの少なくとも一方について上位装置200との送受信を行うものである。
データ転送部140は、送受信部130からアクセス部120までの間における内部的なデータ転送を担うものである。このデータ転送部140は、図1に示すデータ転送装置10と同様に、送信素子11と受信素子12と監視素子13とを備えている。
このようなストレージ装置100についても、データ転送部140が担う内部的なデータ転送に関して、データの送達確認を高い確証性と簡素な構成で実現することができる。この結果、上位装置200から見たときのストレージ装置100は、動作の信頼性が高い装置と言える。
図3は、ストレージ装置の具体的な第2実施形態を示す図である。この第2実施形態のストレージ装置には、データ転送装置の具体的な第2実施形態が組み込まれている。
図3に示すストレージ装置300は、複数のディスク装置310を内蔵している。具体的には、図3には6つのディスク装置310_1,…,310_6が例示されている。以下の説明では、これら6つのディスク装置310_1,…,310_6について、区別せずに総称する場合にはディスク装置310と称する。これらのディスク装置310は、それぞれがデータを記憶する装置である。即ち、これらのディスク装置310は、それぞれが記憶部の一例に相当する。なお、ディスク装置の種類としては、HDD(Hard Disk Drive)やSSD(Solid State Disk)などが存在する。そして本実施形態のディスク装置310としてはどの種類のディスク装置も採用可能である。
また、ストレージ装置300は、複数のコントローラモジュール(CM)320を備えている。具体的には、図3には3つのCM320_1,320_2,320_3が例示されている。以下の説明では、これら3つのCM320_1,320_2,320_3について、区別せずに総称する場合にはCM320と称する。
CM320には、チャネルアダプタ(CA)330とデバイスアダプタ(DA)340とダイレクトメモリアクセス(DMA)デバイス350が備えられている。更に後述するように、CM320には、CPUやメモリなども備えられているので、このCPUで動作されるプログラムの内容によってCM320は種々の処理を実行することができる。
CA330は、上位装置であるホスト400に接続されている。そしてCM320は、CA330を介してホスト400から、書込み命令や、その書込み命令に従ってディスク装置310に書き込まれるデータを受け取る。また、CM320はCA330を介してホスト400から読出し命令を受け取り、その読出し命令に従ってディスク装置310から読み出されたデータをCA330を介してホスト400へ送る。なお、図3には2つのホスト400_1,400_2が例示されているが、以下の説明では、これら2つのホスト400_1,400_2について、区別せずに総称する場合にはホスト400と称する。
DA340はディスク装置310に接続されている。そしてCM320はDA340を介してディスク装置310にアクセスすることでデータをディスク装置310と遣り取りする。
DMAデバイス350は、CM320の相互接続に用いられる装置である。即ち、各CM320はDMAデバイス350を介して、必要に応じてデータを相互に転送する。この転送における通信方式としては、PCI−Expressに則った非ハンドシェイク型の通信方式が用いられる。
データの転送が必要になる場合とは、例えば、図3に示す2つのホスト400_1,400_2のうち左側のホスト400_1から、図3に示す6つのディスク装置310_1,…,310_6のうち右端のディスク装置310_6に対するデータの書込み命令が発せられた場合である。この場合には、書き込まれるデータは、図3に示す3つのCM320_1,320_2,320_3のうち左端のCM320_1が受け取るが、右端のディスク装置310_6に実際にデータを送るのは右端のCM320_3の役目である。このため、左端のCM320_1から右端のCM320_3へとデータがDMAデバイス350を介して送られることとなる。このように相互接続された複数(この例では3つ)のCM320_1,320_2,320_3を合わせたものがデータ転送装置の第2実施形態に相当する。
なお、図3に示す、CM320とホスト400との1対1の接続関係、およびCM320とディスク装置310との1対2の接続関係は単なる一例であって、CA330やDA340で物理的に対応可能な範囲内であればCM320の設定によって接続関係は変更可能である。
図4は、DMAデバイスを介して相互に接続されたCMを模式的に示す図である。
図4には、2つのCM320が模式的に示されている。そして、これら2つのCM320の一方にはCA330とDMAデバイス350が示されていて、他方にはDA340が示されているが、これは単なる便宜上の記載である。実際には、図3に示すように、いずれのCM320にも、CA330とDA340とDMAデバイス350が備えられている。なお、以下の説明でこれら2つのCM320の区別が必要となった場合には、図4中に記載されているように、左側のCM320をコントローラモジュール(CM)xと称し、右側のCM320をコントローラモジュール(CM)yと称する。
上述したように、CM320には、CPU360とメインメモリ370が備えられている。メインメモリ370に展開されたプログラムに従ってCPU360が動作することによってCM320は各種の機能を果たすことになる。
CM320には更に、PCI−Expressのスイッチ380とチェック用デバイス390も備えられている。チェック用デバイス390についても、図4では便宜上一方のCM320のみに示されているが実際には各CM320に備えられている。
スイッチ380は、PCI−Expressによって通信されるデータの送信先を、そのデータに付属するアドレスに従って切り換えるものである。また、スイッチ380は、複数のアドレスに対してマルチキャストでデータを送る機能も有している。なお、2つのCM320は、物理的にはスイッチ380を介して相互接続されているが、データの転送機能として見た場合には、DMAデバイス350を介して相互接続されている。
チェック用デバイス390は、CM320の相互間でのデータ転送について、転送データのチェックを担うものである。即ち、このチェック用デバイス390が、上述した監視素子の一例に相当する。このチェック用デバイス390は具体的にはFPGAなどによって作成されたものである。このチェック用デバイス390における具体的なチェックの動作については後で詳細に説明する。
図5は、図4に示す2つのCMにおけるデータ転送の例を示す図である。
図5では、2つのCM320のうちCMxがホストからデータを受け取り、そのデータをCMxがCMyに転送してCMyがディスクに書き込む例が示されている。
CMxは、CA330を介してホストからデータを受け取る。そのデータは、スイッチ380を経由してCPU360に送られ、CPU360によってメインメモリ370に格納される。このようにホストから受け取られたデータには、データを格納する場所の指定も含まれているものとする。
図5に示す例では、指定された格納場所はCMxに繋がったディスク装置ではなく、CMyに繋がっているディスク装置である。このためCPU360は、CMyへのデータ転送が必要であると判断し、メインメモリ370からデータを取り出してスイッチ380経由でDMAデバイス350に送り込む。また、CPU360は、DMAデバイス350にはCMyへのデータ転送を指示する。その結果、DMAデバイス350は、CMyのメインメモリ370のアドレスを送信先として指定してデータを転送する。この送信先のアドレスは、データ格納を開始するアドレスという意味で「開始アドレス」と称される。なお、詳しくは後述するように、同じ送信先を示した開始アドレスであってもCM320毎にアドレス空間が相違しているが、ここでは区別せずに「開始アドレス」と称する。また、転送データには、送信元のデバイスを表した情報である「送信デバイス情報」も付加されている。
データの転送に際し、DMAデバイス350は、データを適宜に複数個のデータブロックに分割する。また、チェック用デバイス390でのチェックやその後の処理における便宜のため、DMAデバイス350は、複数個のデータブロックの送信順序が入れ替わらない様に、“Relaxed Ordering Attribute” bitを落とした状態で転送を行っている。この“Relaxed Ordering Attribute” bitは、スイッチ380等に対しデータブロックの送信順序の入れ替わりについての許可不許可を指示するものである。この“Relaxed Ordering Attribute” bitがオンであると送信順序の入れ替わりが許可され、オフであると送信順序の入れ替わりが不許可となる。
データはCMxとCMyの双方のスイッチ380およびチェック用デバイス390を経由し、CPU360も通ってCMyのメインメモリ370に格納される。
なお、このときデータがCPU360を物理的には通過するが、このデータ転送ではCPU360の演算機能は用いられず、CPU360に組み込まれているメモリコントローラの部分が用いられている。
CMyのメインメモリ370に転送されたデータは、CMyのCPU360によって格納場所の指定が確認される。その結果、CPU360による指示に従ってスイッチ380およびDA340経由でディスク装置にデータが送り込まれて書き込まれる。
このようなデータの転送において、CMxのDMAデバイス350は送信素子の一例に相当し、CMyのメインメモリ370は受信素子の一例に相当する。そして、上述したように、チェック用デバイス390が監視素子の一例に相当するので、本実施形態では、監視素子が送信素子から受信素子に至る通信経路上に設けられていることになる。このように監視素子が通信経路上に存在すると、他の位置に存在する場合よりも、監視素子による監視が容易で、監視素子自体の構造や機能をより簡素なものとすることができる。以下、チェック用デバイス390による監視動作の詳細について説明する。
図6は、チェック用デバイスの構造を示す図である。また、図7は、チェック用デバイスによる監視動作におけるシーケンスを示す図である。
以下、図6、図7を説明するに当たって、図5も併せて参照する。
上述したようにデータがCMxのDMAデバイス350からCMyのメインメモリ370へと転送される場合には、DMAデバイス350は、転送の最初にチェック用デバイス390に対して開始の通知を送る。この開始の通知は、本実施形態では、DMAにおける転送データの一部に組み込まれてDMAデバイス350からメインメモリ370まで転送される。
図8は、DMAにおける転送データのフォーマットを示す図である。
DMAのデータ仕様では、転送データ550は、メッセージ部551とデータ部552とを含んでいる。データ部552は、本来の転送対象の部分である。一方、メッセージ部551は、本来の転送対象に付加されて、転送元と転送先との間で事前に決められたルールに従って通知などに自由に利用される部分である。このメッセージ部551は、転送データ550の転送後に転送データ550から取り除かれる。本実施形態では、このメッセージ部551内に通知領域553と報告領域554を設けることが決められているものとする。そして、上述した開始の通知は通知領域553に組み込まれる。
以下、図6、図7の説明に戻る。
チェック用デバイス390は、通知確認部510によって、スイッチ380とメインメモリ370との相互間を通過する全てのデータについてメッセージ部551の常時監視を行っている。そして、チェック用デバイス390は、上述した開始の通知を通知確認部510で検出すると、上述した「開始アドレス」や「送信デバイス情報」を内部のメモリ540に記録する。そして、その後に通過するデータについて、サイズ確認部520によるデータサイズの確認と積算を開始する。この積算結果もメモリ540に記録される。
DMAデバイス350は、データ転送の最後には、チェック用デバイス390に対して完了の通知を送る。この完了の通知も、開始の通知と同様に、図8に示すメッセージ部551内の通知領域553に組み込まれて転送される。
チェック用デバイス390は、通知確認部510によって完了の通知を検知すると、メモリ540に記録しておいた「開始アドレス」とデータサイズの積算結果とを併せてDMAデバイス350に結果報告部530によって通知する。この通知も、本実施形態では、DMAのメッセージとして送られる。即ち、図8に示すメッセージ部551内の報告領域554に結果報告の通知が組み込まれる。
このようにDMAデバイス350に通知された積算結果などが、元のデータサイズとの比較などに用いられることで、データ送達が確認される。具体的には、DMAデバイス350によって元のデータサイズが送信時にメインメモリ370内に格納されていて、その元のデータサイズと通知された積算結果とが比較される。サイズが一致した場合には、データが送達されたことが確認されたこととなる。一方、サイズが不一致である場合には、データの再送などが行われることとなる。具体的には、DMAデバイス350によって送信時に転送データのコピーが「開始アドレス」と対応付けられてメインメモリ370内に保存されている。そして、再送時には、チェック用デバイス390から通知されてきた「開始アドレス」に対応した転送データのコピーがDMAデバイス350によって用いられて再送が行われる。つまり、データの再送に際しては、再送するべきデータの特定のために、上述した開始アドレスが用いられる。但し、転送データに送信先として付加されている「開始アドレス」には、スイッチ380でアドレス変換が施されている。このため、チェック用デバイス390からDMAデバイス350への通知に際しては、アドレスの逆変換が必要となる。チェック用デバイス390では、図6に示す結果報告部530でアドレスの逆変換を行っている。
図9は、PCI−Expressのスイッチにおけるアドレス変換の機能を示した図である。
PCI−Expressのスイッチ380には、非透過性ブリッジ機能381が組み込まれている。この非透過性ブリッジ機能381では、CMx内で認識可能なアドレス空間xから、CMxとCMyとの相互間のみで用いられるアドレス空間zへのアドレス変換が行われる。CMxとCMyとの相互間では複数のCMそれぞれを区別するために、各CM内で用いられるアドレス空間よりも広いアドレス空間が必要になるので、このようなアドレス変換が実行される。
図9には、CMxのスイッチ380が有しているアドレス変換の機能が示されているが、CMyのスイッチ380も同様の機能を有している。このため、本実施形態では、DMAデバイス350からチェック用デバイス390に至るまでに「開始アドレス」は2回のアドレス変換を経ることとなる。図6に示すチェック用デバイス390の結果報告部530には、そのような2回のアドレス変換を合わせた総合変換の逆変換を定義した変換テーブル391が用意されている。CMxおよびCMyのスイッチ380によるアドレス変換は、図3に示す3つのCM320_1,320_2,320_3の接続関係が設定された時点で変換内容が決められているものである。なぜならば、そのように接続関係が設定される際に、各CM内で用いられるアドレス空間やCMxとCMyとの相互間で用いられるアドレス空間の割り当ても設定されるからである。そして、この変換内容は、接続関係の設定が変更されない限り不変である。このため、チェック用デバイス390の結果報告部530には、そのように変換内容が決められた時点で変換テーブル391が用意される。
図10は、チェック用デバイスに用意されている変換テーブルの一例を示す図である。
図10に示す変換テーブル391は、受信開始アドレス392と、受信側リクエスタID393と、監視範囲394と、送信側CMナンバ395と、送信側リクエスタID396と、送信元開始アドレス397が対応付けられたテーブルである。受信開始アドレス392を起点として監視範囲394が表す範囲までのアドレスが、受信側、即ちチェック用デバイス側で転送データから得られる開始アドレスを表している。また、受信側リクエスタID393は、受信側のCM内での送信先のデバイスを表すIDである。
送信側CMナンバ395は、送信側のCMを特定する番号であり、送信側リクエスタID396は、送信側のCM内での送信元のデバイスを表すIDである。
送信元開始アドレス397を起点として監視範囲394が表す範囲までのアドレスが、受信側の開始アドレスから変換される送信側の元の開始アドレスを表している。チェック用デバイス390内では、このような変換テーブル391によって送信側の元の開始アドレスが得られる。そして、その送信側の元の開始アドレスが、上述した通知によってDMAデバイス350に知らされることになる。その結果、DMAデバイス350では、監視結果が、どの送信先に送ったデータに関するものであるかを容易に認識することが出来る。即ち、DMAデバイス350は、送信時に開始アドレスと対応付けられて保存された転送データのうちから、再送用の転送データを、その通知されてきた元の開始アドレスをそのまま用いて検索することが出来る。
なお、変換ルールを送信側が認識していれば送信側でも逆変換可能ということにはなるが、監視素子が逆変換を担っていることで、装置全体としての構成は、より簡素になる。また、スイッチ380は変換ルールを認識していて変換を行っているが、このスイッチ380が変換対象としているアドレスは、転送データに本当の送信先として指定されているアドレスだけである。このため、上述した通知中のアドレスをスイッチ380に変換させることは大幅な装置改変を伴うこととなる。
このことは、以下のような応用形態が好適であることを意味している。この応用形態では、上記送信素子が、データの送り先を表したアドレスもデータに対応付けて送信するものである。また、送信素子から監視素子の手前までのいずれかの箇所に、送信されたデータに対応付けられているアドレスを、アドレス空間が異なる他のアドレスに、所定の変換ルールで変換する変換器を備えている。更にこの応用形態では、監視素子が、監視結果を送信素子に通知するに当たり、監視したデータに対応付けられている上記他のアドレスを、上記変換ルールによる変換に対する逆変換で、送信素子がデータに対応付けたときのアドレスである元のアドレスに戻す。そして監視素子は、その元のアドレスも送信素子に通知する。
この第2実施形態におけるチェック用デバイス390は、この応用形態における監視素子の一例にも相当している。
なお、この応用形態にいう「データの送り先を表したアドレス」とは、デバイスを表したアドレスであってもよいし、あるいは、デバイス中の格納箇所を表したアドレスであってもよい。第2実施形態においても、スイッチ380に対する設定により、データの送り先として、デバイスを表したアドレスとデバイス中の格納箇所を表したアドレスとの双方を用いることが出来る。
以上で第2実施形態の説明を終了し、以下、第3実施形態について説明する。この第3実施形態は、チェック用デバイスの位置が異なる点を除いて第2実施形態と同等の実施形態であるので、以下では第2実施形態との相違点を中心に説明する。
図11は、第3実施形態における、DMAデバイスを介して相互に接続されたCMを模式的に示した図である。
この第3実施形態では、チェック用デバイス390が、PCI−Expressのスイッチ380を挟んでCPU360とは逆側に位置している。このチェック用デバイス390によるデータの監視動作は、第2実施形態における監視動作と全く同様である。但し、開始アドレスの変換に関しては、CMxとCMyとの相互間でのアドレス空間からCMx内用のアドレス空間へのアドレス変換となる。このアドレス変換も、図8に示す変換テーブル391と同様の変換テーブルに従って実行される。この第3実施形態におけるチェック用デバイス390の配置も、上述した第2実施形態における配置と同様に、監視素子が送信素子から受信素子に至る通信経路上に設けられている配置に相当する。従って、他の配置よりも、監視素子による監視が容易で、監視素子自体の構造や機能をより簡素なものとすることができる。
なお、チェック用デバイス390の機能をスイッチ380内に組み込むことは理論上は可能であるが、その場合には装置の大幅な改変を伴うこととなるので好ましくない。
次に第4実施形態について説明する。この第4実施形態も、チェック用デバイスの位置が異なる点を除いて第2実施形態と同等の実施形態であるので、以下では第2実施形態との相違点を中心に説明する。
図12は、第4実施形態における、DMAデバイスを介して相互に接続されたCMを模式的に示した図である。
この第4実施形態では、チェック用デバイス600は、データ転送の通信経路上からスイッチ380によって分岐した箇所に設けられている。そして、このチェック用デバイス600には、CM内でのデータ送信先として認識するためのアドレスが割り当てられている。
この第4実施形態の場合には、チェック用デバイス600で転送データが監視できるように、スイッチ380が有するマルチキャストの機能が利用される。
図13は、第4実施形態におけるデータ転送の例を示す図である。
第4実施形態では、CPU360が、DMAデバイス350にCMyへのデータ転送を指示するに当たり、送信先として、CMyのメインメモリ370とチェック用デバイス600との双方を指示する。そのような指示を受けたDMAデバイス350は、マルチキャストの機能を用いてデータを転送する。CMyのスイッチ380では、送信先として指定されたメインメモリ370とチェック用デバイス600との双方にデータを送ることになる。
図14は、第4実施形態における監視動作の詳細を示す図である。
図14に示すように、スイッチ380は、メインメモリ370とチェック用デバイス600との双方にデータを送る。一方、上述した開始の通知に関しては、マルチキャストを使って送ってメインメモリ370側では最終的に取り除くこととしてもよいが、ここに示す例ではチェック用デバイス600を送信先として特定して送っている。これにより、メインメモリ370側では、不要なデータを取り除く作業が省略できる。
このようにマルチキャストでデータが送られる場合であっても、チェック用デバイス600では、第2実施形態における監視動作と全く同様の監視動作が実行される。その結果、第4実施形態でも第2実施形態と同様にデータ送達が確認できることになる。
以下、上述した形態を含む本件の種々の形態に関し、更に以下の付記を開示する。
(付記1)
非ハンドシェイク型の通信でデータを送信する送信素子と、
前記送信素子から送信されたデータを受信する受信素子と、
前記受信素子によって受信されるデータのサイズを監視して監視結果を前記送信素子に通知する、該受信素子とは別に設けられた監視素子と、
を備えたことを特徴とするデータ転送装置。
(付記2)
前記監視素子が、前記送信素子から前記受信素子に至る通信経路上に設けられたものであることを特徴とする付記1記載のデータ転送装置。
(付記3)
前記送信素子が、前記データの送り先を表したアドレスも該データに対応付けて送信するものであり、
前記送信素子から前記監視素子の手前までのいずれかの箇所に、送信された前記データに対応付けられているアドレスを、アドレス空間が異なる他のアドレスに、所定の変換ルールで変換する変換器を備え、
前記監視素子が、前記監視結果を前記送信素子に通知するに当たり、監視したデータに対応付けられた前記他のアドレスを、前記変換ルールによる変換に対する逆変換で元のアドレスに戻し、その元のアドレスも通知するものであることを特徴とする付記1または2記載のデータ転送装置。
(付記4)
データを記憶する記憶部と、
前記記憶部にアクセスすることで、再生データの読出しおよび記録データの書込みの少なくとも一方を行うアクセス部と、
前記再生データおよび前記記録データの少なくとも一方について上位装置との送受信を行う送受信部と、
前記送受信部から前記アクセス部までの間における内部的なデータ転送を担うデータ転送部とを備え、
前記データ転送部が、
非ハンドシェイク型の通信でデータを送信する送信素子と、
前記送信素子から送信されたデータを受信する受信素子と、
前記受信素子によって受信されるデータのサイズを監視して監視結果を前記送信素子に通知する、該受信素子とは別に設けられた監視素子と、
を備えたものであることを特徴とするストレージ装置。
(付記5)
前記監視素子が、前記送信素子から前記受信素子に至る通信経路上に設けられたものであることを特徴とする付記4記載のストレージ装置。
(付記6)
前記送信素子が、前記データの送り先を表したアドレスも該データに対応付けて送信するものであり、
前記送信素子から前記監視素子の手前までのいずれかの箇所に、送信された前記データに対応付けられているアドレスを、アドレス空間が異なる他のアドレスに、所定の変換ルールで変換する変換器を備え、
前記監視素子が、前記監視結果を前記送信素子に通知するに当たり、監視したデータに対応付けられた前記他のアドレスを、前記変換ルールによる変換に対する逆変換で元のアドレスに戻し、その元のアドレスも通知するものであることを特徴とする付記4または5記載のストレージ装置。
10 データ転送装置
11 送信素子
12 受信素子
13 監視素子
100 ストレージ装置
110 記憶部
120 アクセス部
130 送受信部
140 データ転送部
200 上位装置
300 ストレージ装置
310 ディスク装置
320 コントローラモジュール(CM)
330 チャネルアダプタ(CA)
340 デバイスアダプタ(DA)
350 ダイレクトメモリアクセス(DMA)デバイス
360 CPU
370 メインメモリ
380 PCI−Expressのスイッチ
390 チェック用デバイス
381 非透過性ブリッジ機能
391 変換テーブル
400 ホスト
510 通知確認部
520 サイズ確認部
530 結果報告部
540 メモリ
600 チェック用デバイス

Claims (4)

  1. 非ハンドシェイク型の通信でデータを送信する送信素子と、
    前記送信素子から送信されたデータを受信する受信素子と、
    前記受信素子によって受信されるデータのサイズを監視して監視結果を前記送信素子に通知する、該受信素子とは別に設けられた監視素子と、
    を備えたことを特徴とするデータ転送装置。
  2. 前記監視素子が、前記送信素子から前記受信素子に至る通信経路上に設けられたものであることを特徴とする請求項1記載のデータ転送装置。
  3. 前記送信素子が、前記データの送り先を表したアドレスも該データに対応付けて送信するものであり、
    前記送信素子から前記監視素子の手前までのいずれかの箇所に、送信された前記データに対応付けられているアドレスを、アドレス空間が異なる他のアドレスに、所定の変換ルールで変換する変換器を備え、
    前記監視素子が、前記監視結果を前記送信素子に通知するに当たり、監視したデータに対応付けられた前記他のアドレスを、前記変換ルールによる変換に対する逆変換で元のアドレスに戻し、その元のアドレスも通知するものであることを特徴とする請求項1または2記載のデータ転送装置。
  4. データを記憶する記憶部と、
    前記記憶部にアクセスすることで、再生データの読出しおよび記録データの書込みの少なくとも一方を行うアクセス部と、
    前記再生データおよび前記記録データの少なくとも一方について上位装置との送受信を行う送受信部と、
    前記送受信部から前記アクセス部までの間における内部的なデータ転送を担うデータ転送部とを備え、
    前記データ転送部が、
    非ハンドシェイク型の通信でデータを送信する送信素子と、
    前記送信素子から送信されたデータを受信する受信素子と、
    前記受信素子によって受信されるデータのサイズを監視して監視結果を前記送信素子に通知する、該受信素子とは別に設けられた監視素子と、
    を備えたものであることを特徴とするストレージ装置。
JP2011027157A 2011-02-10 2011-02-10 データ転送装置およびストレージ装置 Expired - Fee Related JP5821041B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011027157A JP5821041B2 (ja) 2011-02-10 2011-02-10 データ転送装置およびストレージ装置
US13/336,133 US8886854B2 (en) 2011-02-10 2011-12-23 Data transfer device and storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011027157A JP5821041B2 (ja) 2011-02-10 2011-02-10 データ転送装置およびストレージ装置

Publications (2)

Publication Number Publication Date
JP2012168613A true JP2012168613A (ja) 2012-09-06
JP5821041B2 JP5821041B2 (ja) 2015-11-24

Family

ID=46637778

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011027157A Expired - Fee Related JP5821041B2 (ja) 2011-02-10 2011-02-10 データ転送装置およびストレージ装置

Country Status (2)

Country Link
US (1) US8886854B2 (ja)
JP (1) JP5821041B2 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04124759A (ja) * 1990-09-14 1992-04-24 Shikoku Nippon Denki Software Kk データ転送装置
JPH06335042A (ja) * 1993-05-19 1994-12-02 Oki Electric Ind Co Ltd 複数データ一括転送制御方式
JPH09265428A (ja) * 1996-03-28 1997-10-07 Hitachi Software Eng Co Ltd ファイル転送システム
JP2004080283A (ja) * 2002-08-15 2004-03-11 Meidensha Corp 監視制御システムのデータ伝送方式
JP2006018689A (ja) * 2004-07-02 2006-01-19 Hitachi Ltd ストレージ制御装置、そのクラスタ間データ通信方法、及びそのクラスタ間通信制御プログラム
JP2008071005A (ja) * 2006-09-13 2008-03-27 Hitachi Ltd 空きポートを有効に活用したストレージシステム
JP2009026051A (ja) * 2007-07-19 2009-02-05 Oki Electric Ind Co Ltd システムlsi

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09251439A (ja) 1996-03-14 1997-09-22 Matsushita Electric Ind Co Ltd 配信型データ転送システム
JPH10290270A (ja) 1997-04-11 1998-10-27 Ricoh Co Ltd シリアルデータ転送システム
US6477143B1 (en) * 1998-01-25 2002-11-05 Dror Ginossar Method and apparatus for packet network congestion avoidance and control
US6931524B2 (en) 2001-08-29 2005-08-16 Koninklijke Philips Electronics N.V. System for bus monitoring using a reconfigurable bus monitor which is adapted to report back to CPU in response to detecting certain selected events
JP2004355430A (ja) 2003-05-30 2004-12-16 Canon Inc Dmac回路の論理検証手法
JP4648674B2 (ja) * 2004-10-01 2011-03-09 株式会社日立製作所 記憶制御装置、記憶制御システム及び記憶制御方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04124759A (ja) * 1990-09-14 1992-04-24 Shikoku Nippon Denki Software Kk データ転送装置
JPH06335042A (ja) * 1993-05-19 1994-12-02 Oki Electric Ind Co Ltd 複数データ一括転送制御方式
JPH09265428A (ja) * 1996-03-28 1997-10-07 Hitachi Software Eng Co Ltd ファイル転送システム
JP2004080283A (ja) * 2002-08-15 2004-03-11 Meidensha Corp 監視制御システムのデータ伝送方式
JP2006018689A (ja) * 2004-07-02 2006-01-19 Hitachi Ltd ストレージ制御装置、そのクラスタ間データ通信方法、及びそのクラスタ間通信制御プログラム
JP2008071005A (ja) * 2006-09-13 2008-03-27 Hitachi Ltd 空きポートを有効に活用したストレージシステム
JP2009026051A (ja) * 2007-07-19 2009-02-05 Oki Electric Ind Co Ltd システムlsi

Also Published As

Publication number Publication date
US20120210024A1 (en) 2012-08-16
US8886854B2 (en) 2014-11-11
JP5821041B2 (ja) 2015-11-24

Similar Documents

Publication Publication Date Title
KR101455016B1 (ko) 고가용성 솔리드 스테이트 드라이브를 제공하는 방법 및 장치
US7444541B2 (en) Failover and failback of write cache data in dual active controllers
JP4775846B2 (ja) 物理リンクの割当てを制御するコンピュータシステム及び方法
US9141294B2 (en) Controller for storage apparatus and controlling method for storage apparatus
US7817626B2 (en) Storage subsystem
JP2007094996A (ja) データストレージシステム、データストレージ制御装置及びその障害箇所診断方法
US9973424B1 (en) Storage system with flow based services for flash storage
WO2013128494A1 (en) Storage system and data transfer control method
JP2007282197A (ja) Ipネットワーク上の遠隔データファシリティ
JP2008546049A (ja) 宛先ディスクへのアクセス方法とディスク容量拡張システム及びディスクアレイ
US20070073994A1 (en) Virtual partitioning
JP2006244123A (ja) データストレージシステム及びデータストレージ制御装置
US7774514B2 (en) Method of transmitting data between storage virtualization controllers and storage virtualization controller designed to implement the method
CN102843284B (zh) iSCSI存储节点、架构以及读取、写入方法
WO2014094250A1 (zh) 数据处理方法和设备
WO2010140189A1 (en) Storage system and control methods for the same
JP5998884B2 (ja) ストレージ装置、およびモジュール間データ転送方法
CN103929475A (zh) 一种以太网架构的硬盘存储系统及硬盘数据操作方法
JP5966243B2 (ja) ストレージ装置及びストレージ装置の制御方法
JP5821041B2 (ja) データ転送装置およびストレージ装置
US20100325373A1 (en) Duplexing Apparatus and Duplexing Control Method
US8856404B2 (en) Primitive group data encoding in a data storage fabric
JP4936088B2 (ja) ディスクアレイ装置、ディスクアレイシステム、及びキャッシュ制御方法
US20200334103A1 (en) Storage system, drive housing thereof, and parity calculation method
JP2012073773A (ja) 記憶処理装置及びフェイルオーバ制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140708

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140825

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150420

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20150428

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20150507

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150514

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150526

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150604

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150603

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150608

R150 Certificate of patent or registration of utility model

Ref document number: 5821041

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees