JP5998884B2 - ストレージ装置、およびモジュール間データ転送方法 - Google Patents
ストレージ装置、およびモジュール間データ転送方法 Download PDFInfo
- Publication number
- JP5998884B2 JP5998884B2 JP2012261923A JP2012261923A JP5998884B2 JP 5998884 B2 JP5998884 B2 JP 5998884B2 JP 2012261923 A JP2012261923 A JP 2012261923A JP 2012261923 A JP2012261923 A JP 2012261923A JP 5998884 B2 JP5998884 B2 JP 5998884B2
- Authority
- JP
- Japan
- Prior art keywords
- controller module
- transfer
- controller
- communication path
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2002—Error 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 where interconnections or communication control functionality are redundant
- G06F11/2007—Error 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 where interconnections or communication control functionality are redundant using redundant communication media
- G06F11/201—Error 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 where interconnections or communication control functionality are redundant using redundant communication media between storage system components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3027—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus
Description
[第1の実施形態]
まず、第1の実施形態のストレージ装置について図1を用いて説明する。図1は、第1の実施形態のストレージ装置の構成例を示す図である。
ストレージデバイス7は、ユーザデータや制御情報などの所要の情報を記録可能であり、たとえば、HDD(Hard Disk Drive)やSSD(Solid State Drive:フラッシュメモリドライブ)などである。なお、ストレージデバイス7は、複数のHDDやSSDにより構成されるディスクアレイであってもよい。
次に、第2の実施形態のストレージ装置の構成例について図2を用いて説明する。図2は、第2の実施形態のストレージ装置の構成例を示す図である。
コントローラモジュール20は、キャッシュメモリ21と、プロセッサ22と、ホストインタフェースコントローラ23と、ディスクインタフェースコントローラ24と、データ転送コントローラ30を備える。
データ転送コントローラ30は、PCIe(ピーシーアイエクスプレス)インタフェース31,39と、パフォーマンスモニタ38と、DMA(Direct Memory Access)32と、ディスクリプタ実行部33と、転送先判定部34を備える。さらに、データ転送コントローラ30は、性能情報送信バッファ35と、ルーティングテーブル36と、性能情報格納バッファ37を備える。
次に、第2の実施形態のWrite要求受付処理とRead要求受付処理について説明する。Write要求受付処理とRead要求受付処理は、それぞれホストコンピュータ9からWrite要求、Read要求を受け付けて、プロセッサ22が実行する処理である。Write要求は、ディスク11へのユーザデータの書き込み要求であり、Read要求は、ディスク11からのユーザデータの読み出し要求である。
ホストコンピュータ9からストレージ装置10へのWrite要求を、対応するコントローラモジュール20のホストインタフェースコントローラ23が受け付ける。Write要求を受け付けたホストインタフェースコントローラ23がWrite要求受付をプロセッサ22に通知することで、プロセッサ22は、Write要求受付処理を実行する。
ホストコンピュータ9からストレージ装置10へのRead要求を、対応するコントローラモジュール20のホストインタフェースコントローラ23が受け付ける。Read要求を受け付けたホストインタフェースコントローラ23がRead要求受付をプロセッサ22に通知することで、プロセッサ22は、Read要求受付処理を実行する。
次に、ユーザデータ転送処理について図10を用いて説明する。図10は、第2の実施形態のユーザデータ転送処理のフローチャートを示す図である。
[ステップS31]プロセッサ22は、ディスクリプタを生成する。ここで、ディスクリプタを図11を用いて説明する。図11は、第2の実施形態のディスクリプタを示す図である。
[ステップS33]プロセッサ22は、キャッシュメモリ21に保存したディスクリプタを指定して、データ転送コントローラ30に転送開始を指示する。
[ステップS42]転送先判定部34は、DMA32を起動するコントローラモジュール20と、転送先となるコントローラモジュール20の組み合わせを1つ選択する。転送先と転送元のコントローラモジュール20を直接接続する通信経路では、DMA32を起動するコントローラモジュール20は、転送元のコントローラモジュール20となる。転送元と転送先を中継するコントローラモジュール20を介した通信経路では、DMA32を起動するコントローラモジュール20は、転送元と転送先を中継するコントローラモジュール20となる。たとえば、CM#0を転送元としCM#1を転送先として直接接続する通信経路では、CM#0がDMA32を起動するコントローラモジュール20である。また、CM#0を転送元としCM#1を転送先としてCM#2が中継する通信経路では、CM#2がDMA32を起動するコントローラモジュール20である。
次に、転送先判定処理について図14を用いて説明する。図14は、第2の実施形態の転送先判定処理のフローチャートを示す図である。
[ステップS52]転送先判定部34は、特定したコントローラモジュール20を転送先とする通信経路のうちから、データ流量テーブルの伝送路異常フラグを参照して正常な通信経路(伝送路)を抽出する。
これにより、転送先判定部34は、転送先判定タイミングにおける好適なデータ転送が可能な通信経路を決定することができる。
転送指示処理は、データ転送をおこなうDMAにデータ転送を指示する処理である。転送指示処理は、ディスクリプタを設定したプロセッサ22がディスクリプタ実行部33にデータ転送の開始指示をおこなうことで、ディスクリプタ実行部33により実行される。
[ステップS62]ディスクリプタ実行部33は、転送先判定部34から通信経路(伝送路)を取得する。
転送指示受付処理は、データ転送の指示を受け付けたDMAがデータ転送をおこなう処理である。転送指示受付処理は、転送元のコントローラモジュール20のディスクリプタ実行部33からデータ転送の指示を受け付けたDMA32により実行される。
[ステップS78]DMA32は、ディスクリプタに指定された転送結果通知先アドレスにデータ転送失敗を書き込み、転送指示受付処理を終了する。データ転送の指示を受け付けたDMA32が転送元のコントローラモジュール20にない場合は、PCIeインタフェース39を通して転送先のコントローラモジュール20のキャッシュメモリ21に転送結果を書き込む。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、ストレージ装置1、ストレージ装置10(コントローラモジュール20)が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
2,2a,2b,2c,20 コントローラモジュール
3,3a,3b,3c,21 キャッシュメモリ
4,4a,4b,4c 転送部
5,5a,5b,5c 指示部
6,6a,6b,6c 通信路
7,7a,7b,7c ストレージデバイス
8 ネットワーク
9 ホストコンピュータ
11 ディスク
22 プロセッサ
23 ホストインタフェースコントローラ
24 ディスクインタフェースコントローラ
30 データ転送コントローラ
31,39 PCIeインタフェース
32 DMA
33 ディスクリプタ実行部
34 転送先判定部
35 性能情報送信バッファ
36 ルーティングテーブル
37 性能情報格納バッファ
38 パフォーマンスモニタ
50,52 性能情報
54 ディスクリプタ
56 データ流量テーブル
Claims (5)
- キャッシュメモリを有しストレージデバイスを制御する第1、第2および第3のコントローラモジュールと、前記第1、第2および第3のコントローラモジュールをメッシュ状に接続する通信路と、を備えるストレージ装置であって、
前記第1のコントローラモジュールは、前記第1のコントローラモジュールのキャッシュメモリに転送制御情報を格納し、前記第1のコントローラモジュールを転送元とし、前記第2のコントローラモジュールを転送先とするデータ転送を、前記第1のコントローラモジュールおよび前記第2のコントローラモジュールと前記通信路によりそれぞれ直接接続する前記第3のコントローラモジュールに指示する指示部を備え、
前記第3のコントローラモジュールは、前記指示を受け付けて前記転送制御情報を取得し、前記第1のコントローラモジュールのキャッシュメモリから前記第2のコントローラモジュールのキャッシュメモリへのデータ転送を、前記第1のコントローラモジュールと前記第3のコントローラモジュールとを接続する通信路の通信状態の監視と、前記第3のコントローラモジュールと前記第2のコントローラモジュールとを接続する通信路の通信状態の監視とを行って得られた監視結果にもとづいて実行し、前記転送制御情報で指定されたアドレスに、実行したデータ転送の結果を格納する転送部を備える、
ことを特徴とするストレージ装置。 - 前記結果の格納先となるアドレスは、前記第1のコントローラモジュールのキャッシュメモリ上のアドレスであることを特徴とする請求項1記載のストレージ装置。
- 前記第1、第2および第3のコントローラモジュールは、
前記通信路ごとの通信インタフェースを監視して通信路ごとの通信状態を監視する監視部と、
前記通信路ごとの通信状態を格納する格納部と、
を備え、
前記指示部は、前記第1のコントローラモジュールの格納部が格納する前記通信路ごとの前記通信状態にもとづいて前記第3のコントローラモジュールへの指示を決定することを特徴とする請求項1記載のストレージ装置。 - 前記転送部は、DMA(ダイレクトメモリアクセス)によるデータ転送をおこなうことを特徴とする請求項1乃至請求項3のいずれか1つに記載のストレージ装置。
- キャッシュメモリを有しストレージデバイスを制御する第1、第2および第3のコントローラモジュールと、前記第1、第2および第3のコントローラモジュールをメッシュ状に接続する通信路と、を備えるストレージ装置のモジュール間データ転送方法であって、
前記第1のコントローラモジュールが、前記第1のコントローラモジュールのキャッシュメモリに転送制御情報を格納し、前記第1のコントローラモジュールを転送元とし、前記第2のコントローラモジュールを転送先とするデータ転送を、前記第1のコントローラモジュールおよび前記第2のコントローラモジュールと前記通信路によりそれぞれ直接接続する前記第3のコントローラモジュールに指示し、
前記第3のコントローラモジュールが、前記指示を受け付けて前記転送制御情報を取得し、前記第1のコントローラモジュールのキャッシュメモリから前記第2のコントローラモジュールのキャッシュメモリへのデータ転送を、前記第1のコントローラモジュールと前記第3のコントローラモジュールとを接続する通信路の通信状態の監視と、前記第3のコントローラモジュールと前記第2のコントローラモジュールとを接続する通信路の通信状態の監視とを行って得られた監視結果にもとづいて実行し、前記転送制御情報で指定されたアドレスに、実行したデータ転送の結果を格納する、
ことを特徴とするモジュール間データ転送方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012261923A JP5998884B2 (ja) | 2012-11-30 | 2012-11-30 | ストレージ装置、およびモジュール間データ転送方法 |
US14/031,494 US20140156934A1 (en) | 2012-11-30 | 2013-09-19 | Storage apparatus and module-to-module data transfer method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012261923A JP5998884B2 (ja) | 2012-11-30 | 2012-11-30 | ストレージ装置、およびモジュール間データ転送方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014106940A JP2014106940A (ja) | 2014-06-09 |
JP5998884B2 true JP5998884B2 (ja) | 2016-09-28 |
Family
ID=50826666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012261923A Expired - Fee Related JP5998884B2 (ja) | 2012-11-30 | 2012-11-30 | ストレージ装置、およびモジュール間データ転送方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20140156934A1 (ja) |
JP (1) | JP5998884B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016018384A (ja) * | 2014-07-08 | 2016-02-01 | 富士通株式会社 | ストレージ制御装置、ストレージシステム、及びプログラム |
DE102018125297A1 (de) | 2017-11-17 | 2019-05-23 | Samsung Electronics Co., Ltd. | Speichereinrichtung, die Peer-to-Peer-Kommunikation mit externer Einrichtung ohne Eingriff eines Host durchführt |
US10901734B2 (en) | 2019-03-01 | 2021-01-26 | Micron Technology, Inc. | Memory mapping using commands to transfer data and/or perform logic operations |
JP7326863B2 (ja) | 2019-05-17 | 2023-08-16 | オムロン株式会社 | 転送装置、情報処理装置、および、データ転送方法 |
US20210342182A1 (en) * | 2020-04-30 | 2021-11-04 | Intel Corporation | System, apparatus and method for accessing multiple address spaces via a data mover |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3094986B2 (ja) * | 1998-04-27 | 2000-10-03 | 日本電気株式会社 | ポイント−マルチポイントatmコネクション設定方法 |
JP4483168B2 (ja) * | 2002-10-23 | 2010-06-16 | 株式会社日立製作所 | ディスクアレイ制御装置 |
JP4718851B2 (ja) * | 2004-05-10 | 2011-07-06 | 株式会社日立製作所 | ストレージシステムにおけるデータ移行 |
JP2009266119A (ja) * | 2008-04-28 | 2009-11-12 | Hitachi Ltd | ストレージ装置及びデータ転送方法 |
US8615615B2 (en) * | 2009-07-01 | 2013-12-24 | Lsi Corporation | Load balancing with SCSI I/O referrals |
US8572342B2 (en) * | 2010-06-01 | 2013-10-29 | Hitachi, Ltd. | Data transfer device with confirmation of write completion and method of controlling the same |
JP5521816B2 (ja) * | 2010-06-18 | 2014-06-18 | 富士通株式会社 | 記憶装置、制御装置および記憶装置の制御方法 |
-
2012
- 2012-11-30 JP JP2012261923A patent/JP5998884B2/ja not_active Expired - Fee Related
-
2013
- 2013-09-19 US US14/031,494 patent/US20140156934A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2014106940A (ja) | 2014-06-09 |
US20140156934A1 (en) | 2014-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4775846B2 (ja) | 物理リンクの割当てを制御するコンピュータシステム及び方法 | |
JP4817783B2 (ja) | Raidシステム及びそのリビルド/コピーバック処理方法 | |
KR101455016B1 (ko) | 고가용성 솔리드 스테이트 드라이브를 제공하는 방법 및 장치 | |
JP5511960B2 (ja) | 情報処理装置、及びデータの転送方法 | |
JP5998884B2 (ja) | ストレージ装置、およびモジュール間データ転送方法 | |
JP4651797B2 (ja) | バックアップシステム、及び複製装置 | |
JP4639223B2 (ja) | ストレージサブシステム | |
JP6899852B2 (ja) | ストレージ装置 | |
JP2007122477A (ja) | Raidシステム、raidコントローラ及びそのリビルド/コピーバック処理方法 | |
JP2006244123A (ja) | データストレージシステム及びデータストレージ制御装置 | |
JP4477437B2 (ja) | ストレージ装置、そのクラスタ間データ通信方法、及びそのクラスタ通信制御プログラム | |
JP2008112399A (ja) | ストレージ仮想化スイッチおよびコンピュータシステム | |
US10901626B1 (en) | Storage device | |
JP2005267038A (ja) | ストレージシステムの運用方法 | |
JP2010049502A (ja) | ストレージサブシステム、及びこれを有するストレージシステム | |
JP6464777B2 (ja) | 情報処理装置及びプログラム | |
JP2017010390A (ja) | ストレージ制御装置、ストレージ制御プログラム、およびストレージ制御方法 | |
US8402195B2 (en) | Storage system mounted with plurality of processors | |
JP2006185000A (ja) | ストレージ装置 | |
US9921753B2 (en) | Data replication across host systems via storage controller | |
JP2007334764A (ja) | Nasシステムおよびnasシステムの情報処理方法 | |
JP2017130002A (ja) | ストレージ制御装置および制御プログラム | |
JP5773446B2 (ja) | 記憶装置、冗長性回復方法、およびプログラム | |
JP5729043B2 (ja) | ストレージ装置および制御装置 | |
JP4526509B2 (ja) | ディスクアレイ制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150706 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160428 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160510 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160711 |
|
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: 20160802 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160815 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5998884 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |