JP2018060419A - ストレージ制御装置およびストレージ装置 - Google Patents
ストレージ制御装置およびストレージ装置 Download PDFInfo
- Publication number
- JP2018060419A JP2018060419A JP2016198364A JP2016198364A JP2018060419A JP 2018060419 A JP2018060419 A JP 2018060419A JP 2016198364 A JP2016198364 A JP 2016198364A JP 2016198364 A JP2016198364 A JP 2016198364A JP 2018060419 A JP2018060419 A JP 2018060419A
- Authority
- JP
- Japan
- Prior art keywords
- data
- error
- storage
- connection port
- control device
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
[第1の実施の形態]
図1は、第1の実施の形態のストレージ装置を示す図である。ストレージ装置1は、ストレージ制御装置10,20および記憶装置群30を有する。ストレージ制御装置10,20は、記憶装置群30に属する複数の記憶装置に対するデータアクセスを制御する。記憶装置群30は、HDDやSSDなどの複数の記憶装置を含む。例えば、ストレージ装置1は、情報処理装置(図1では図示を省略)に接続され、上記複数の記憶装置による大容量のデータ記憶領域を情報処理装置に提供する。
接続ポート11は、ストレージ制御装置20へのデータ送信に用いられるインタフェースである。接続ポート11は、自ポートで発生したエラーの検出機能を有する。接続ポート11は、検出結果記憶部11aを有する。検出結果記憶部11aは、接続ポート11のエラー検出機能によるエラーの検出結果を記憶する。接続ポート11は、エラーの検出結果として、検出したエラーに対応する識別情報を生成し、検出結果記憶部11aに格納する。
接続ポート21は、接続ポート11と同様に、自ポートで発生したエラーの検出機能を有する。接続ポート21は、検出結果記憶部21aを有する。検出結果記憶部21aは、接続ポート21によるエラーの検出結果を記憶する。接続ポート21は、エラーの検出結果として、検出したエラーに対応する識別情報を生成し、検出結果記憶部21aに格納する。接続ポート21は、接続ポート11と同様に、PCIeのインタフェースでもよい。検出結果記憶部21aは、UESTSでもよい。更に、ストレージ制御装置20は、ストレージ制御装置10と同様に、接続ポート21を複数有してもよい。すなわち、ストレージ制御装置20では、複数の接続ポートが多段に接続されて、デバイス間の通信路を形成してもよい。
[第2の実施の形態]
図2は、第2の実施の形態の情報処理システムを示す図である。第2の実施の形態の情報処理システムは、ストレージ装置50およびサーバ60を含む。ストレージ装置50およびサーバ60は、ネットワーク70に接続されている。ネットワーク70は、例えば、SAN(Storage Area Network)である。
図3は、ストレージ装置のハードウェア例を示す図である。ストレージ装置50は、ドライブエンクロージャ(DE:Drive Enclosure)51およびコントローラモジュール(CM:Controller Module)100,200を有する。
CM100,200は、DE51に収納された複数のHDDを組み合わせて、RAIDの技術による論理的な記憶領域をサーバ60に提供する。CM100,200は、ネットワーク70を介してサーバ60から、記憶領域に対するデータの読み出しや書き込みの要求を受け付け、DE51に収納された複数のHDDへアクセスする。CM100,200は、冗長化されている。CM100,200の何れか一方が故障しても、他方によりDE51へのアクセスを継続できる。
RAM120は、CM100の主記憶装置である。RAM120は、CPU110に接続される。RAM120は、CPU110に実行させるファームウェアのプログラムの少なくとも一部を一時的に記憶する。また、RAM120は、CPU110による処理に用いる各種データを記憶する。
NTB133は、CM200と接続するインタフェースである。NTB133は、異なる2つのPCIeドメイン間を接続し、相互の通信を可能にする。NTB133は、所定の条件に合致する通信に限定して、他PCIeドメインへの通過を許容する。例えば、PCIeの規約では、NTB133は、メモリリクエストという種類のコマンドの通過を許容する。メモリリクエストは、相手側のCMのRAMに対するデータの読み出しや書き込み(Read/Write)を要求できる。後述するように、CM100は、メモリリクエストを用いて、CM200における各デバイスが保持する情報を読み取る。このため、メモリリクエストを、CM200の各デバイスに対するアクセス要求であるともいえる。
CA160は、ネットワーク70と接続するインタフェースである。CA160としては、例えば、ファイバチャネル(FC:Fibre Channel)のインタフェースを用いることができる。
RAM220は、CM200の主記憶装置である。RAM220は、CPU210に接続される。RAM220は、CPU210に実行させるファームウェアのプログラムの少なくとも一部を一時的に記憶する。また、RAM220は、CPU210による処理に用いる各種データを記憶する。
NTB233は、CM200と接続するインタフェースである。NTB233は、NTB133と同様に異なる2つのPCIeドメイン間を接続し、相互の通信を可能にする。NTB233は、NTB133と接続される。
CA260は、ネットワーク70と接続するインタフェースである。CA260としては、例えば、FCのインタフェースを用いることができる。
RP111、UP132およびNTB133は、第1の実施の形態の接続ポート11の一例である。RP211、UP232およびNTB233は、第1の実施の形態の接続ポート21の一例である。
第1に、NTB133,233は、自CM側、および、他CM側の2つのバスを接続可能であり、両バスの2つのドメインを分離させつつ、電気的な接続を可能とする。
第5に、NTB133,233は、PCIeの標準規約で動作が定められているわけではないため、チップベンダ毎に異なった仕様にできる。
CPU110は、送信制御部112を有する。
アドレス変換部133aは、パケットのアドレス変換を行う。アドレス変換部133aは、CM100側のアドレスをCM200側のアドレスに変換することもあるし、CM200側のアドレスをCM100側のアドレスに変換することもある。アドレス変換部133aは、後述するメモリ空間におけるデバイスアドレスのレイアウトに従ってアドレスの変換を行う。
エラー検出部211bは、RP211におけるアンコレクタブルエラーを検出するエラー検出機能である。例えば、エラー検出部211bは、パケットに付加されたCRC(Cyclic Redundancy Check)の値によるデータ化けの検出や、パケットのシーケンス番号によるパケット欠落の検出などを行う。
エラー検出部232bは、UP232におけるアンコレクタブルエラーを検出するエラー検出機能である。エラー検出部232bは、検出したアンコレクタブルエラーの情報をUESTS232aに格納する。エラー検出部232bによるエラー検出やエラー情報の設定方法は、エラー検出部211bと同様である。
NTB233は、NTB133から受信したパケットのUESTS232aに対応するアドレスを、UESTS232aに対応するCM200側のアドレスに変換する。また、NTB233は、NTB133から受信したパケットのUESTS211aに対応するアドレスを、UESTS211aに対応するCM200側のアドレスに変換する。
他メモリ空間は、CM200側のメモリ空間(CM200における自メモリ空間に相当するメモリ空間)がマッピングされる領域である。
Extended空間は、自CMのPCIeデバイスに対応するアドレスが属する領域である。例えば、Extended空間のアドレス範囲は“0x0_E0000000”〜“0x0_EFFFFFFF”である。アドレス範囲“0x0_F0000000”〜“0x1_00000000”の領域に未使用領域およびMMIO領域が属する。
例えば、該当のPCIeデバイス(例えば、UP132)が(B:D:F)=(1:0:0)で指定されるとする。そして、このPCIeデバイスのUESTSが(B:D:F)=(1:0:0)に対応するアドレスを基準としたオフセット0x10に対応しているとする。この場合、(B:D:F)=(1:0:0)にアクセスするには、0x0_E0000000+1バス番号分のアドレスにRead/Writeすればよい。また、該当のUESTSにアクセスするには、当該アドレスに上記オフセット分を加算したアドレスにアクセスすればよい。
X1=0x0_E0000000+1MB*1+0x10=0x0_E0100010
ここで、1MBは1メガバイト(Mega Bytes)を示す。ただし、1MB=1024KB、1KB=1024Bとする。1MB分のオフセットを加算する理由は次の通りである。1つのバス番号には、32個のデバイス番号が属し、8*32=256個のファンクション番号が属する。1ファンクション番号当たりのブロックサイズは4KBなので、バス番号B=1に相当するオフセット(Extended空間の先頭に対するオフセット)は、256*4KB=1MBである。このため、Extended空間の先頭“0x0_E0000000”に1MBに相当するオフセット“0x100000”を加算することになる。
X2=0x0_E0000000+32KB*3+0x0_00000010=0x0_E0018010
ここで、32KB*3=96KB分のアドレスを加算する理由は次の通りである。1つのデバイス番号には、8個のファンクション番号が属する。1ファンクション番号当たりのブロックサイズは4KBなので、デバイス番号D=3に相当するオフセット(Extended空間の先頭に対するオフセット)は、8*4KB*3=32KB*3=96KBである。このため、Extended空間の先頭“0x0_E0000000”に96KBに相当するオフセット“0x18000”を加算することになる。
MMIO領域は、MMIOに用いられる領域である。
上記のメモリ空間に関する情報は、CM100,200が備える所定の記憶装置(RAM120でもよいし、RAM120以外の記憶装置でもよい)に予め格納される。また、RP111,211およびUP132,232の各UESTSに対応するB:D:Fの組み合わせは、CM100,200が備える所定の記憶装置に予め格納される。
図9は、CMのDMAによるデータ転送例を示すフローチャートである。以下、図9に示す処理をステップ番号に沿って説明する。
(S5)送信制御部112は、RAM120を参照して、NTB233(他NTB)のUESTS233aから取得したエラー情報が0であるか否かを判定する。0である場合、処理をステップS6に進める。0でない場合、処理をステップS9に進める。
(S9)送信制御部112は、DMAによるデータの転送に失敗したと判断する。この場合、送信制御部112は、該当のデータの再送処理を行う。送信制御部112は、再送時の受信状況の確認も、ステップS1〜S9の手順を用いて行う。そして、送信制御部112は、処理を終了する。
図10は、他UPのUESTSに対するアクセス例を示す図である。ここで、各デバイスのB:D:Fの値は、次の通りであるとする。RP111,211は、(B:D:F)=(0:3:0)である。DMA制御部131,231は、(B:D:F)=(1:0:1)である。UP132,232は、(B:D:F)=(1:0:0)である。NTB133,233は、(B:D:F)=(2:0:0)である。
(5)UP232は、READ要求で指定されたUESTS232aのエラー情報を読み出し、エラー情報を含むREAD応答をCPU210に送信する。
(5)CPU210は、UESTS211aから読み出されたエラー情報を、NTB233,133を介して、DMA制御部131に応答する(DMA READに対する応答)。DMA制御部131は、受信したエラー情報をCPU110に通知する。DMA制御部131は、受信したエラー情報を、RAM120の所定の領域に書き込んでもよい。
図12は、異常検出の例(その1)を示す図である。前述のように送信制御部112は、RAM120に、3つの領域121,122,123を設ける。領域121は、UESTS233aから読み出したエラー情報を格納する領域である。領域122は、UESTS232aから読み出したエラー情報を格納する領域である。領域123は、UESTS211aから読み出したエラー情報を格納する領域である。
そして、送信制御部112は、DMAによるデータ転送と共に、UESTS233a,232a,211aから読み出したエラー情報を領域121,122,123に格納する(ST2)。図12の例では、領域121には、“0x00100000”が格納される。領域122には、“0x00000000”が格納される。領域123には、“0x00000000”が格納される。
図13は、異常検出の例(その2)を示す図である。送信制御部112は、DMAの準備処理において、領域121,122,123に“0xEEEEEEEE”を設定する(ST11)。
図14は、データの受信状況の確認機能の比較例を示す図である。CM100(送信元)からCM200(送信先)へDMAによるデータ送信を行った際に、次のような受信状況の確認方法も考えられる。まず、CM100は、DMA通信によりCM200にデータを送信する(ステップS101)。
NTB133は、NTB233に代えて、DW401に接続される。NTB233は、NTB133に代えて、DW402に接続される。NTB333は、DW403に接続される。
10,20 ストレージ制御装置
11,21 接続ポート
11a,21a 検出結果記憶部
12,22 処理部
13,23 データ記憶部
30 記憶装置群
Claims (8)
- 自ポートで発生したエラーの検出機能と前記エラーの検出結果を記憶する第1の記憶部とを備え、他のストレージ制御装置へのデータ送信に用いられる第1の接続ポートと、
前記第1の接続ポートおよび前記他のストレージ制御装置が備える第2の接続ポートを介して、前記他のストレージ制御装置にデータを送信し、前記第2の接続ポートが備える第2の記憶部から前記第2の接続ポートにおける前記検出結果を取得し、取得した前記検出結果に基づいて、前記他のストレージ制御装置における前記データの受信状況を確認する処理部と、
を有するストレージ制御装置。 - 前記第2の接続ポートは複数の接続ポートを含み、
前記処理部は、複数の前記第2の接続ポートから取得した複数の前記検出結果に基づいて、前記データの受信状況を確認する、請求項1記載のストレージ制御装置。 - 前記処理部は、複数の前記検出結果のうち、全てがエラーなしを示す場合、前記データが適切に受信されていると判定し、少なくとも1つがエラーありを示す場合、前記データが適切に受信されていないと判定する、請求項2記載のストレージ制御装置。
- 前記処理部は、複数の前記第2の接続ポートのうち、前記エラーを検出した前記第2の接続ポートを、前記データの受信に失敗した要因と決定する、請求項2または3記載のストレージ制御装置。
- 前記エラーは、前記データに対する訂正不可能な誤りの発生を示すエラーである、請求項1乃至4の何れか1項に記載のストレージ制御装置。
- 前記処理部は、前記処理部により管理される第1のアドレス範囲のうち、前記第2の記憶部に対応する第1のアドレスを指定したアクセス要求を生成し、
前記第1の接続ポートは、前記アクセス要求の前記第1のアドレスを、前記他のストレージ制御装置により管理される第2のアドレス範囲のうち前記第2の記憶部に対応する第2のアドレスに変換し、変換後の前記アクセス要求を前記他のストレージ制御装置に送信し、前記アクセス要求に応じた前記検出結果を前記他のストレージ制御装置から受信する、請求項1記載のストレージ制御装置。 - 前記処理部は、前記処理部により管理される第1のアドレス範囲のうち、前記第2の記憶部に対応する第1のアドレスを指定したアクセス要求を生成し、
前記第1の接続ポートは、複数の前記第2の接続ポートのうち前記第1の接続ポートに接続されている第3の接続ポートに前記アクセス要求を送信し、前記第3の接続ポートにより、前記アクセス要求の前記第1のアドレスを、前記他のストレージ制御装置により管理される第2のアドレス範囲のうち前記第2の記憶部に対応する第2のアドレスに変換させ、変換後の前記アクセス要求に応じた前記検出結果を、前記第3の接続ポートから受信する、請求項2記載のストレージ制御装置。 - 自ポートで発生したエラーの検出機能と前記エラーの検出結果を記憶する記憶部とを備える第1の接続ポートを有する第1のストレージ制御装置と、
前記第1のストレージ制御装置へのデータ送信に用いられる第2の接続ポートと、前記第2の接続ポートおよび前記第1の接続ポートを介して前記第1のストレージ制御装置にデータを送信し、前記記憶部から前記検出結果を取得し、取得した前記検出結果に基づいて、前記第1のストレージ制御装置における前記データの受信状況を確認する処理部と、を有する第2のストレージ制御装置と、
を有するストレージ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016198364A JP6773974B2 (ja) | 2016-10-06 | 2016-10-06 | ストレージ制御装置およびストレージ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016198364A JP6773974B2 (ja) | 2016-10-06 | 2016-10-06 | ストレージ制御装置およびストレージ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018060419A true JP2018060419A (ja) | 2018-04-12 |
JP6773974B2 JP6773974B2 (ja) | 2020-10-21 |
Family
ID=61908529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016198364A Active JP6773974B2 (ja) | 2016-10-06 | 2016-10-06 | ストレージ制御装置およびストレージ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6773974B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020119325A (ja) * | 2019-01-24 | 2020-08-06 | 富士通株式会社 | ストレージシステム、及びストレージ制御装置 |
JP2020119218A (ja) * | 2019-01-23 | 2020-08-06 | Necソリューションイノベータ株式会社 | 管理装置 |
CN115098413A (zh) * | 2022-05-25 | 2022-09-23 | 苏州浪潮智能科技有限公司 | 一种存储控制器、方法、装置及存储介质 |
US11704208B2 (en) | 2021-05-12 | 2023-07-18 | Fujitsu Limited | Storage system and information processing method |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007501986A (ja) * | 2003-06-23 | 2007-02-01 | シエラ・ロジック、インコーポレイテッド | ストレージシェルフ内で発生するエラー及びイベントをハンドリングする方法 |
JP2008233973A (ja) * | 2007-03-16 | 2008-10-02 | Hitachi Ltd | ストレージ管理システム |
JP2009187483A (ja) * | 2008-02-08 | 2009-08-20 | Hitachi Ltd | ストレージサブシステム及びこれの制御方法 |
JP2011221981A (ja) * | 2010-04-08 | 2011-11-04 | Hitachi Ltd | 外部ストレージシステムに結合されたストレージシステムのエラーコード管理方法及び装置 |
JP2015099487A (ja) * | 2013-11-19 | 2015-05-28 | 富士通株式会社 | 情報処理装置,制御装置及び制御プログラム |
-
2016
- 2016-10-06 JP JP2016198364A patent/JP6773974B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007501986A (ja) * | 2003-06-23 | 2007-02-01 | シエラ・ロジック、インコーポレイテッド | ストレージシェルフ内で発生するエラー及びイベントをハンドリングする方法 |
JP2008233973A (ja) * | 2007-03-16 | 2008-10-02 | Hitachi Ltd | ストレージ管理システム |
JP2009187483A (ja) * | 2008-02-08 | 2009-08-20 | Hitachi Ltd | ストレージサブシステム及びこれの制御方法 |
JP2011221981A (ja) * | 2010-04-08 | 2011-11-04 | Hitachi Ltd | 外部ストレージシステムに結合されたストレージシステムのエラーコード管理方法及び装置 |
JP2015099487A (ja) * | 2013-11-19 | 2015-05-28 | 富士通株式会社 | 情報処理装置,制御装置及び制御プログラム |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020119218A (ja) * | 2019-01-23 | 2020-08-06 | Necソリューションイノベータ株式会社 | 管理装置 |
JP7279891B2 (ja) | 2019-01-23 | 2023-05-23 | Necソリューションイノベータ株式会社 | 管理装置 |
JP2020119325A (ja) * | 2019-01-24 | 2020-08-06 | 富士通株式会社 | ストレージシステム、及びストレージ制御装置 |
JP7147589B2 (ja) | 2019-01-24 | 2022-10-05 | 富士通株式会社 | ストレージシステム、及びストレージ制御装置 |
US11704208B2 (en) | 2021-05-12 | 2023-07-18 | Fujitsu Limited | Storage system and information processing method |
CN115098413A (zh) * | 2022-05-25 | 2022-09-23 | 苏州浪潮智能科技有限公司 | 一种存储控制器、方法、装置及存储介质 |
CN115098413B (zh) * | 2022-05-25 | 2023-08-11 | 苏州浪潮智能科技有限公司 | 一种存储控制器、方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP6773974B2 (ja) | 2020-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101455016B1 (ko) | 고가용성 솔리드 스테이트 드라이브를 제공하는 방법 및 장치 | |
US10789196B2 (en) | Storage system | |
JP4391954B2 (ja) | ファイル制御システムおよびファイル制御装置 | |
US7761657B2 (en) | Storage control system, control method for storage control system, port selector, and controller | |
US6829659B2 (en) | Method, system and program product for logically disconnecting in fibre channel communication without closing the exchange | |
US20110238909A1 (en) | Multicasting Write Requests To Multiple Storage Controllers | |
US10027532B2 (en) | Storage control apparatus and storage control method | |
US20110289280A1 (en) | Storage system, control method therefor, and program | |
JP6773974B2 (ja) | ストレージ制御装置およびストレージ装置 | |
US20120233399A1 (en) | Storage apparatus and method of controlling the same | |
WO2015035574A1 (zh) | 一种故障处理的方法、计算机系统和装置 | |
TW201720123A (zh) | 用於透過乙太式網路遠端存取記憶體及輸入/輸出之特快非揮發性記憶體控制器 | |
JP2007094996A (ja) | データストレージシステム、データストレージ制御装置及びその障害箇所診断方法 | |
CN112306388B (zh) | 存储装置 | |
US20070186141A1 (en) | Method and information apparatus for improving data reliability | |
US7774638B1 (en) | Uncorrectable data error containment systems and methods | |
WO2014094250A1 (zh) | 数据处理方法和设备 | |
US20130246857A1 (en) | Controller, storage apparatus, method of testing storage apparatus, and tangible computer-readable storage medium | |
WO2022155919A1 (zh) | 一种故障处理方法、装置及系统 | |
US7293139B2 (en) | Disk array system generating a data guarantee code on data transferring | |
US10956245B1 (en) | Storage system with host-directed error scanning of solid-state storage devices | |
JP5511546B2 (ja) | フォールトトレラントの計算機システム、複数の物理サーバとストレージ装置とに接続されるスイッチ装置、及び、サーバ同期制御方法 | |
US6499066B1 (en) | Method and apparatus for using fibre channel test extended link service commands for interprocess communication | |
JP7315753B2 (ja) | ストレージ装置 | |
WO2023046129A1 (zh) | 计算机设备、处理数据的方法及计算机系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190709 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20190718 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20190718 |
|
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: 20200901 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200914 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6773974 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |