JP2013008230A - 計算機システム、ホストバスアダプタ制御方法及びそのプログラム - Google Patents

計算機システム、ホストバスアダプタ制御方法及びそのプログラム Download PDF

Info

Publication number
JP2013008230A
JP2013008230A JP2011140897A JP2011140897A JP2013008230A JP 2013008230 A JP2013008230 A JP 2013008230A JP 2011140897 A JP2011140897 A JP 2011140897A JP 2011140897 A JP2011140897 A JP 2011140897A JP 2013008230 A JP2013008230 A JP 2013008230A
Authority
JP
Japan
Prior art keywords
hba
pci
active
path
expansion card
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
JP2011140897A
Other languages
English (en)
Other versions
JP5422611B2 (ja
Inventor
Masayuki Hayashi
昌幸 林
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2011140897A priority Critical patent/JP5422611B2/ja
Priority to US13/489,805 priority patent/US9026838B2/en
Publication of JP2013008230A publication Critical patent/JP2013008230A/ja
Application granted granted Critical
Publication of JP5422611B2 publication Critical patent/JP5422611B2/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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • 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
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0024Peripheral component interconnect [PCI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Hardware Redundancy (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】PCI PM機能を備えたPCI/PCIeバス用拡張カードを用いてI/Oデバイスに対する入出力経路が多重に形成された計算機システムにおける待機系パスの省電力化を図る。
【解決手段】制御部102は、当初第1のHBA106第1のPCI/PCIeバス用拡張カードをアクティブ状態にして運用系パスを使用するが、運用系パスに障害が発生した場合、第1のHBA106に対して運用系パスに対する通信回復処理を行い、更に第2のHBA107の第2のPCI/PCIeバス用拡張カードを、当初設定された省電力状態からアクティブ状態に変更するように制御する。通信回復処理が不成功の場合、制御部は、第2のHBA107の第2のPCI/PCIeバス用拡張カードを用いてI/Oデバイス11と通信する。
【選択図】図1

Description

本発明は、計算機システム、ホストバスアダプタ制御方法及びそのプログラムに係り、特に、ホスト計算機とI/Oデバイスの間を、PCI/PCIeバス用拡張カードを搭載したホストバスアダプタを用いた冗長化したパスで接続した計算機システムにおける、待機系のホストバスアダプタに搭載したPCI/PCIeバス用拡張カードの省電力制御に関する。
ミッションクリティカルな計算機システムでは、信頼性を向上させる目的で、ストレージシステム等のI/Oデバイスへの入出力経路を多重化(冗長化)することが行われている。また、最近の計算機システムでは、ホスト計算機とI/Oデバイスを、PCI/PCIeバス用拡張カードを用いて接続したシステムも実用化されている。入出力経路の多重化に関して、例えば、特許文献1及び特許文献2には、ストレージシステムとの入出力経路を多重化することで、入出力性能を向上させ、また障害発生時に正常な論理パスを選択してストレージシステム上の論理ユニットにアクセスすることが開示されている。
また近年、計算機システムの入出力経路にあるホストバスアダプタ(以下HBAという)の高速化が進んでいる。この高速化は入出力経路を冗長化することで実現可能であるが、一方で要求される入出力性能を過剰に達成してしまう事態が生じる。このような場合、省電力化の観点からは、要求される入出力性能を達成するために必要最低限な入出力経路(運用パス)にある装置のみを動作させ、過剰な入出力経路(待機パス)にある装置を停止することが望ましい。
しかし、停止中の装置を起動する場合、例えばホストバスアダプタにおいては、停止状態から通信可能な状態になるまで、数秒〜数十秒の起動時間を要する。そのため、ミッションクリティカルな計算機システムでは、待機パスにある装置を停止する手法は適用できない。ミッションクリティカルな計算機システムでは、運用パスを用いた通信が不可となった場合、待機パスで即座に通信継続されることが求められており、数秒〜数十秒の起動時間を許容できない。
待機系パスの省電力制御に関して、特許文献3には、複数のパスに接続する各々のHBAに対する電力供給を制御する電力供給制御部を備え、再発行したI/Oに対してエラーの発生が検知されたら待機系と現用系のパスを切り替えて、電力供給制御部によってタイムアウトの通知を受けた際に待機系のHBAに対する電力供給を停止するコンピュータシステムが開示されている。
更に、特許文献4には、PCI PM(Power Management)機能を用いて、PCI/PCIeバスに接続された装置の消費電力を低減する技術が開示されている。
また、非特許文献1には、PCI/PCIeバス用拡張カードを対象とした省電力化機能であるPM機能(Power Management機能)が規定されている。
特開2004−185093号公報 特開2007−265243号公報 特開2010−198353号公報 特開2009−289193号公報
PCI Bus Power Management Interface Specification Rev.1.2 March 3, 2004 Working Draft American National Standard Project T10/1683−D Rev.6 23 May 2006
特許文献3の技術は、HBAに対する電力供給を制御する電力供給制御部によって待機パスの省電力制御を行っている。しかし、実用化されているコンピュータシステムには、この種の電力供給制御部を備えていないものも多く存在しており、即この技術を適用するには難しい。とりわけ、特許文献3には、PCI PM機能を備えたPCI/PCIeバス用拡張カードを用いた計算機システムにおける待機系パスの省電力制御を如何に行うかについて示唆が無い。
また、特許文献4には、PCI PM機能を用いて、PCI/PCIeバスに接続された装置の消費電力を低減する技術が提案されている。しかし、PCI/PCIeバスに接続されたHBAが冗長化された計算機システムに如何に適用されるについては示唆が無い。
そこで、本発明の目的は、PCI PM機能を備えたPCI/PCIeバス用拡張カードを用いてI/Oデバイスに対する入出力経路が多重に形成された計算機システムにおける、待機系パスの省電力化を図ることにある。
より具体的に言えば、運用系パスに障害が発生した場合、省電力状態にある待機系パスを用いて直ちにSCSI通信を開始するように制御することにある。
本発明に係る計算機システムは、好ましくは、I/Oデバイスを接続するホストバスアダプタ(HBA)を通して、該I/Oデバイスとの間でデータ通信する計算機システムであって、
該HBAとして、省電力化機能であるPCI PM 機能を備えた第1のPCI/PCIeバス用拡張カードを搭載した運用系パスを形成する第1のHBAと、該PCI PM 機能を備えた第2のPCI/PCIeバス用拡張カードを搭載した待機系パスを形成する第2のHBAと、該第1のHBA及び第2のHBAを制御する制御部を有し、
該制御部は、当初、該第1のHBAの第1のPCI/PCIeバス用拡張カードをアクティブ状態に、かつ該第2のHBAの第2のPCI/PCIeバス用拡張カードを省電力状態に制御し、
該運用系パスに障害が発生した場合、該制御部は、該第1のHBAに対して運用系パスに対する通信回復処理を行い、更に、該第2のHBAの第2のPCI/PCIeバス用拡張カードに対して省電力状態からアクティブ状態に変更するように制御し、
該通信回復処理が不成功の場合、該制御部は、該第2のHBAの第2のPCI/PCIeバス用拡張カードを用いて該I/Oデバイスと通信するように制御することを特徴とする計算機システムとして構成される。
好ましい例では、前記計算機システムは、SCSIコマンドを用いて該I/Oデバイスとの間でデータ通信するホスト計算機を有し、前記制御部は、前記運用系パスに対する前記通信回復処理の制御と、前記待機系パスに対する前記省電力状態からアクティブ状態に変更する制御とを並行して行う。
また、好ましくは、前記制御部は、該運用系パスの障害を検知した時、前記運用系パスに対する通信回復処理としてTask Management要求と、前記待機系パス上の該第2のHBAの起動を並行的に実行し、前記運用系パスに対するTask Management要求が成功しなかった場合に、該第2のHBAを介して該I/Oデバイスに対してSCSIコマンドを用いて通信する。
また、好ましくは、前記制御部は、前記運用系パスにおける前記第1のHBAの第1のPCI/PCIeバス用拡張カードのPM StateをD0_Activeに設定し、
前記待機系パスにおける前記第2のHBAの該第2のPCI/PCIeバス用拡張カードのPM StateをD3_hotに設定し、
該制御部は、該運用系パスの該第1のHBAの第1のPCI/PCIeバス用拡張カードを介して該I/Oデバイスと通信し、
該運用系パスを用いた該SCSIコマンドの通信において不具合があった場合、該制御部は、該運用系パスに対する該通信回復制御と、前記待機系パスの該第2のHBAのPM StateをD0_Activeに変更する制御を並行して行い、
該運用系パスに対する通信回復処理が不成功の場合、該制御部は、該第2のHBAの第2のPCI/PCIeバス用拡張カードを用いて、該I/Oデバイスと通信する。
また、好ましくは、該運用系パスを用いた該SCSIコマンドの通信において不具合があった場合、該制御部は、該運用系パスに対する該通信回復処理と、前記待機系パスの該第2のHBAのPM StateをD0_Activeに変更する処理を並行して行い、
該運用系パスに対する通信回復処理が成功した場合、該制御部は、前記第2のHBAの該第2のPCI/PCIeバス用拡張カードに設定されたPM Stateを、D0_ActiveからD3_hotに変更し、
更に、該制御部は該第1のHBAの第1のPCI/PCIeバス用拡張カードを用いて、該I/OデバイスとSCSIコマンドを用いた通信をする。
本発明に係るHBA制御方法は、好ましくは、I/Oデバイスを接続するホストバスアダプタ(HBA)を通して、該I/Oデバイスとの間でSCSIコマンドを用いてデータ通信するホスト計算機におけるHBA制御方法であって、
該HBAとして、省電力化機能であるPCI PM 機能を備えた第1のPCI/PCIeバス用拡張カードを搭載した運用系パスを形成する第1のHBAと、該PCI PM 機能を備えた第2のPCI/PCIeバス用拡張カードを搭載した待機系パスを形成する第2のHBAと、該第1のHBA及び第2のHBAを制御する制御部を有し、
該制御部は、当初、該第1のHBAの第1のPCI/PCIeバス用拡張カードをアクティブ状態に、かつ該第2のHBAの第2のPCI/PCIeバス用拡張カードを省電力状態に制御するステップと、
該運用系パスに障害が発生した場合、該制御部は、該第1のHBAに対して運用系パスに対する通信回復処理を行い、更に、該第2のHBAの第2のPCI/PCIeバス用拡張カードに対して省電力状態からアクティブ状態に変更するように制御するステップと、
該通信回復処理が不成功の場合、該制御部は、該第2のHBAの第2のPCI/PCIeバス用拡張カードを用いて該I/Oデバイスと通信するように制御するステップとを行うことを特徴とするHBA制御方法として構成される。
好ましい例では、前記制御部は、該運用系パスの障害を検知した時、前記運用系パスに対する通信回復処理としてTask Management要求と、前記待機系パス上の該第2のHBAの起動を並行的に実行し、前記運用系パスに対するTask Management要求が成功しなかった場合に、該第2のHBAを介して該I/Oデバイスに対してSCSIコマンドを用いて通信する。
また、好ましくは、前記制御部は、前記運用系パスにおける前記第1のHBAの第1のPCI/PCIeバス用拡張カードのPM StateをD0_Activeに設定し、
前記待機系パスにおける前記第2のHBAの該第2のPCI/PCIeバス用拡張カードのPM StateをD3_hotに設定し、
該制御部は、該運用系パスの該第1のHBAの第1のPCI/PCIeバス用拡張カードを介して該I/Oデバイスと通信し、
該運用系パスを用いた該SCSIコマンドの通信において不具合があった場合、該制御部は、該運用系パスに対する該通信回復制御と、前記待機系パスの該第2のHBAのPM StateをD0_Activeに変更する制御を並行して行い、
該運用系パスに対する通信回復処理が不成功の場合、該制御部は、該第2のHBAの第2のPCI/PCIeバス用拡張カードを用いて、該I/Oデバイスと通信する。
また、好ましくは、該運用系パスを用いた該SCSIコマンドの通信において不具合があった場合、該制御部は、該運用系パスに対する該通信回復処理と、前記待機系パスの該第2のHBAのPM StateをD0_Activeに変更する処理を並行して行い、
該運用系パスに対する通信回復処理が成功した場合、該制御部は、前記第2のHBAの該第2のPCI/PCIeバス用拡張カードに設定されたPM Stateを、D0_ActiveからD3_hotに変更し、
更に、該制御部は該第1のHBAの第1のPCI/PCIeバス用拡張カードを用いて、該I/OデバイスとSCSIコマンドを用いた通信をする。
また、好ましくは、前記第1及び2のHBAのPM Stateの変更は、前記第1及び第2のPCI/PCIeバス用拡張カードに搭載されたメモリ上に形成されたPCI CFG空間のレジスタ(PMCSR)を書き換えることにより行う。
本発明に係るホストバスアダプタドライバ用プログラムは、好ましくは、I/Oデバイスを接続するホストバスアダプタ(HBA)として、省電力化機能であるPCI PM 機能を備えた第1のPCI/PCIeバス用拡張カードを搭載した運用系パスを形成する第1のHBAと、該PCI PM 機能を備えた第2のPCI/PCIeバス用拡張カードを搭載した待機系パスを形成する第2のHBAとを有し、該第1のHBA又は第2のHBAを通して該I/Oデバイスとの間でSCSIコマンドを用いてデータ通信するホスト計算機上で実行される、該第1HBA及び第2のHBAを制御するためのホストバスアダプタドライバとして機能するプログラムであって、
該ホストバスアダプタドライバは、当初、該第1のHBAの第1のPCI/PCIeバス用拡張カードをアクティブ状態に、かつ該第2のHBAの第2のPCI/PCIeバス用拡張カードを省電力状態に制御し、
該ホストバスアダプタドライバは、該運用系パスに障害が発生した場合、該第1のHBAに対して運用系パスに対する通信回復処理を行い、更に、該第2のHBAの第2のPCI/PCIeバス用拡張カードに対して省電力状態からアクティブ状態に変更するように制御し、
該ホストバスアダプタドライバは、該通信回復処理が不成功の場合、該第2のHBAの第2のPCI/PCIeバス用拡張カードを用いて該I/Oデバイスと通信するように制御することを特徴とするホストバスアダプタドライバ用プログラムとして構成される。
本発明によれば、PCI PM機能を備えたPCI/PCIeバス用拡張カードを用いてI/Oデバイスに対する入出力経路が多重に形成された計算機システムにおいて、PCI PM機能を用いて待機パスの省電力化を実現することができる。より具体的には、運用系パスに障害が発生した場合、省電力状態にある待機系パスを用いて直ちにSCSI通信を開始するように制御することが可能である。
一実施例における計算機システムの構成例を示す図。 PCI機能電力状態遷移を示す図。 PCI CFG空間の概略を示す図。 一実施例におけるHBAドライバによるHBAのコマンド処理及び電力制御動作(制御動作1)を示すシーケンス図。 一実施例におけるHBAドライバによるHBAのコマンド処理及び電力制御動作(制御動作2)を示すシーケンス図。
以下、図面を用いて本発明の好ましい実施例を説明する。
図1は、一実施例による計算機システムの構成例を示す。
ホスト計算機10は、複数のホストバスアダプタ(HBAという)106,107によって、多重系(冗長系)を構成する入出力経路113,114を介して、I/Oデバイスであるストレージシステム11の各ポート111,112に接続している。入出力経路113が運用パス、入出力経路114が待機系パスを形成する。ホスト計算機10は、通常時はHBA(運用系)106を使用して、ストレージシステム11に形成された論理ユニット115をアクセスすることができる。運用系に異常が発生した時には、HBA(待機系)107に切り替えられて、待機系入出力経路114及びポート112を介してストレージシステム11の論理ユニット115をアクセスできる。本実施例において、2つのHBA106,107は、それぞれPCI PM Capabilityを備えたPCI/PCIeバス用拡張カードによって構成される。HBA106、107は(図示しないが)主に、プログラムを実行してデータの転送制御を行うプロセッサと、種々のデータや制御用のプログラムを格納するメモリを搭載したLSIと、HBAの全体制御を行うファームウェアと、ポートとの間でデータの送受信を行う光モジュール、等を搭載して構成される。図中、108、109はPM Stateを示す。
ホスト計算機10のハードウェア構成は図示していないが、OS(Operating System)を起動すると共にアプリケーションプログラム101を実行するプロセッサと、種々のプログラムやデータを格納するメモリを備えている。ホスト計算機10は、ホストバスアダプタ(HBA)ドライバ102を適用する。
HBAドライバ102は、このプロセッサで実行されて諸機能を実現するプログラムであり、その内部機能として、アダプタドライバ共通部103と、アダプタ制御用インスタンス104と、アダプタ制御用インスタンス105を有する。アダプタ制御用インスタンス104はHBA106の制御を担当し、アダプタ制御用インスタンス105はHBA107の制御を担当する。アダプタドライバ共通部103は、アダプタ制御用インスタンス104、105をそれぞれ独立的に制御してデータ通信を制御し、また運用系のアダプタ制御用インスタンス104を待機系のアダプタ制御用インスタンス105に切り替える制御を行う。
本実施例において、ホスト計算機10とI/Oデバイスとの間は、SCSI規格に従ったデータ通信が行われる。例えば、非特許文献2に記載のようなSCSIアーキテクチャモデル4に基づく。アプリケーションプログラム101が、ストレージシステム11の論理ユニット115に対してSCSIデータ通信する時、HBAドライバ102内にあるアダプタドライバ共通部103は、HBA106を経由する入出力経路113を用いてSCSIコマンドを送信する。運用系のHBA106で無応答(即ちデータ通信障害)が発生しない限り、待機系のHBA107を経由するSCSI通信は行われない。
図2は、PCI Bus Power Management Interface Specification(非特許文献1,page45)によるPCI機能電力状態遷移(PCI Function Power Management State Transitions)を示す。
本発明の実施例では、この遷移図のD0 Unitialized、D0Active、D3hotの3つの状態間で遷移させながら、待機系パスの省電力制御を行うものである。D3hot状態は、HBA内の例えば接続バス回路や電源管理回路に電源が供給され、マイクロプロセッサやメモリを実装したLSIは停止状態で電源を遮断できる状態である。
図3は、PCI CFG空間の略図を示す。なお、これはPCI Bus Power Management Interface Specification(非特許文献1,page21−24)に記載されている。
PCI CFG空間は、HBA106、107の各メモリ内に形成される。HBA106、107のPCI CFG空間300には、Power Management Capability ID301と、Power Management Control/Status Register(PMCSR)302が有る。PMCSR302はパワー状態ビット情報を記憶し、パワー状態ビット情報を書き換えることで、D0 Unitialized、D0Active、D3hotの3状態を遷移させることができる。即ち、アダプタ制御用インスタンス1104は、HBA106のPMCSR302を書き換えることで、HBA106のPCI PM State108を切り替える。同様に、アダプタ制御用インスタンス105は、HBA107のPMCSR302を書き換えて、PCI PM State109を切り替える。本実施例におけるPCI PM Stateの状態遷移は、図2に示す通りである。
ホスト計算機10を起動した時、アダプタ制御用インスタンス104は、HBA106のPCI PM State108を「D0_Active」に設定し、アダプタ制御用インスタンス105は、HBA107のPCI PM State109を「D3_hot」に設定するように制御する。即ち、HBA107は、PMCSR302に「b11」を書き込むことで、PCI PM State109を「D3_hot」に設定してウォームスタンバイ状態にする。この時のHBA107は、HBA106の「D0_Active」状態と比べて、一部の機能が停止するので、電力消費が低減される。具体的に、本例におけるHBA106、107では、PCI PM State109を「D3_hot」にすることで、FUNCTIONが停止し、通信用の光モジュールがオフし、DMA転送機能が停止し、フレーム送受信機能が停止する。これによって省電力が図れる。
次に、図4及び図5を参照して、HBAドライバによるHBAのコマンド処理及び電力制御動作について説明する。
初期状態において、HBA106のPM State108は「D0Active」、HBA107のPM State109は「D3hot」に設定されている。そのように、PCI CFG空間300のPMCSR302には、それぞれのパワー状態ビット情報が登録されているとする。また、運用系のアダプタ制御用インスタンス104は、HBA106へ発行したコマンドや要求に対する応答を時間(タイムアウト)監視するためのソフトウェアのタイマーを持っているとする。
さて、図4において、アプリケーションプログラム101から、ストレージシステム110の論理ユニット115に対してSCSI通信を試みたとする。この時、HBAドライバ102のアダプタドライバ共通部103は、アダプタ制御用インスタンス104に対してSCSIコマンド送信要求を出す(S400)。
アダプタ制御用インスタンス104は、SCSIコマンド送信要求を受けると、HBA106に対してSCSIコマンドを送信する(S401)。SCSIコマンドを送信した後に、HBA106で無応答(即ち障害発生した)とする(S402)。この場合、アダプタ制御用インスタンス104は、SCSIコマンド応答待ちタイマタイムアウトを検出して(S403)、その旨をアダプタドライバ共通部103に通知する。
アダプタ制御用インスタンス104は、SCSIコマンド応答待ちタイマタイムアウトを検出した場合(S403)、HBA108と論理ユニット115間の通信を回復させる目的で、HBA108にTask Management要求を出す(S407)。ここで、SCSIアーキテクチャによるTask Management要求及びその関連処理については、SCSI Architecture Model 4(非特許文献2、page24−25,94)で記載されている。
Task Management要求を出した後に、HBA108で無応答が発生した場合(S408)、アダプタ制御用インスタンス104はTask Management応答待ちタイマタイムアウトを検出して、その旨をアダプタドライバ共通部103に通知する(S410)。
アダプタドライバ共通部103は、HBA108からSCSIコマンド応答待ちタイマタイムアウトの通知(S403)を受けた場合、アダプタ制御用インスタンス105に対してアダプタ初期化要求を出す(S404)。アダプタ制御用インスタンス105はアダプタ初期化要求を受けると、HBA107でSCSI通信をするための前準備として、HBA107のPMCSR302にパワー状態ビット情報「b00」を書き込む。そして、アダプタ制御用インスタンス105はHBA107へPM State変更を出すと(S406)、HBA107はPCI PM State109を「D0_Uninitialized」に変更する(S421)。その後、アダプタの初期化を実施することで(S411)、「D0_Active」状態に移行する(S422)。このようにして、HBA107は、前準備の処理(S406及びS411)の後に、論理ユニット115との間でSCSI通信が可能な状態になる。
アダプタドライバ共通部103は、アダプタ制御用インスタンス104からTask Management応答待ちタイマタイムアウト(S410)を通知されると(即ちHBA106を含む運用系のパスがダウンした時)、アダプタ制御用インスタンス105に対してSCSIコマンド送信要求を出す(S412)。アダプタ制御用インスタンス105は、SCSIコマンド送信要求(S412)を受けた時、HBA107に対してSCSIコマンド送信を実施する(S413)。即ち、待機系パスのHBA107によって、ストレージシステム11の論理ユニット115に対してSCSIコマンドによるアクセスが行われる。
本実施例によれば、アダプタ制御用インスタンス104が発行するSCSIコマンド(S401)に対して、HBA106から応答が返って来なかった場合(S403)、アダプタドライバ共通部103は、直ちにアダプタ制御用インスタンス105にアダプタ初期化要求を発行して(S404)、HBA107のPCI PM Stateを「D0_Uninitialized」に変更する(S421)ように指示しておき、更に、アダプタ制御用インスタンス104が実施するTask Management関連処理(S407、S410)と、アダプタ制御用インスタンス105が実施する前準備(S406、S411)を並行的に実行することで(点線で示すS405の期間)、アダプタ制御用インスタンス104がTask Management応答待ちタイマタイムアウト(S410)を検知した後に直ちに、HBA107においてストレージシステム11とSCSI通信(S412、213)を行うことができる。この制御動作により、HBA107を含む待機系パスによるSCSI通信の立ち上げを直ちに行うことが可能となる。
以上、図4の例は、HBA106で障害が発生したために(S408)、アダプタ制御用インスタンス104が発行したTask Management要求に対するTask Managementタイムアウト応答(S410)が返ってきた場合の制御動作である。
これに対して、図5の例は、HBA106で障害が検知されずに、アダプタ制御用インスタンス104が発行したTask Management要求に対してTask Management成功した場合の制御動作である。
図5において、アダプタ制御用インスタンス104は、Task Management要求に対するTask Management応答を受け取った場合(S510)、アダプタドライバ共通部130に対して、Task Management成功を伝える(S511)。
アダプタドライバ共通部103は、Task Management成功を受け取った場合、アダプタ制御用インスタンス106に対して、アダプタスタンバイ要求を発行する(S512)。その後、アダプタドライバ共通部103は、正常な状態のHBA106に対してSCSI通信を試みる。即ち、アダプタドライバ共通部103はアダプタ制御用インスタンス104に対してSCSIコマンド送信要求を発行し、アダプタ制御用インスタンス104はHBA106に対してSCSIコマンドを送信する(S515)。
アダプタ制御用インスタンス106は、アダプタスタンバイ要求を受け取ると、HBA107に対して、PM State変更を行う(S513)。具体的には、HBA107のPMCSR302に「b11」を書き込むことで、PCI PM StateをD3_hot(109)に設定して(S423)、ウォームスタンバイ状態にする。
以上のように、本実施例によれば、アダプタ制御用インスタンス104が、Task Management要求に対するTask Management応答を受信した場合、HBA107を、再びウォームスタンバイ状態に出来るため、省電力化を継続することができる。
10:ホスト計算機 101:アプリケーションプログラム
102:HBAドライバ 103:アダプタドライバ共通部
104、105:アダプタ制御用インスタンス 106、107:HBA
108、109:PM State 11:ストレージシステム
111、112:ポート 113、114:入出力経路
115:論理ユニット 300:PCI CFG空間
301:Power Management Capability ID 302:PMCSR

Claims (11)

  1. I/Oデバイスを接続するホストバスアダプタ(HBA)を通して、該I/Oデバイスとの間でデータ通信する計算機システムであって、
    該HBAとして、省電力化機能であるPCI PM 機能を備えた第1のPCI/PCIeバス用拡張カードを搭載した運用系パスを形成する第1のHBAと、該PCI PM 機能を備えた第2のPCI/PCIeバス用拡張カードを搭載した待機系パスを形成する第2のHBAと、
    該第1のHBA及び第2のHBAを制御する制御部を有し、
    該制御部は、当初、該第1のHBAの第1のPCI/PCIeバス用拡張カードをアクティブ状態に、かつ該第2のHBAの第2のPCI/PCIeバス用拡張カードを省電力状態に制御し、
    該運用系パスに障害が発生した場合、該制御部は、該第1のHBAに対して運用系パスに対する通信回復処理を行い、更に、該第2のHBAの第2のPCI/PCIeバス用拡張カードに対して省電力状態からアクティブ状態に変更するように制御し、
    該通信回復処理が不成功の場合、該制御部は、該第2のHBAの第2のPCI/PCIeバス用拡張カードを用いて該I/Oデバイスと通信するように制御することを特徴とする計算機システム。
  2. 前記計算機システムは、SCSIコマンドを用いて該I/Oデバイスとの間でデータ通信するホスト計算機を有し、
    前記制御部は、前記運用系パスに対する前記通信回復処理の制御と、前記待機系パスに対する前記省電力状態からアクティブ状態に変更する制御とを並行して行うことを特徴とする請求項1の計算機システム。
  3. 前記制御部は、該運用系パスの障害を検知した時、前記運用系パスに対する通信回復処理としてTask Management要求と、前記待機系パス上の該第2のHBAの起動を並行的に実行し、前記運用系パスに対するTask Management要求が成功しなかった場合に、該第2のHBAを介して該I/Oデバイスに対してSCSIコマンドを用いて通信することを特徴とする請求項1又は2の計算機システム。
  4. 前記制御部は、前記運用系パスにおける前記第1のHBAの第1のPCI/PCIeバス用拡張カードのPM StateをD0_Activeに設定し、
    前記待機系パスにおける前記第2のHBAの該第2のPCI/PCIeバス用拡張カードのPM StateをD3_hotに設定し、
    該制御部は、該運用系パスの該第1のHBAの第1のPCI/PCIeバス用拡張カードを介して該I/Oデバイスと通信し、
    該運用系パスを用いた該SCSIコマンドの通信において不具合があった場合、該制御部は、該運用系パスに対する該通信回復制御と、前記待機系パスの該第2のHBAのPM StateをD0_Activeに変更する制御を並行して行い、
    該運用系パスに対する通信回復処理が不成功の場合、該制御部は、該第2のHBAの第2のPCI/PCIeバス用拡張カードを用いて、該I/Oデバイスと通信することを特徴とする請求項2又は3の計算機システム。
  5. 該運用系パスを用いた該SCSIコマンドの通信において不具合があった場合、該制御部は、該運用系パスに対する該通信回復処理と、前記待機系パスの該第2のHBAのPM StateをD0_Activeに変更する処理を並行して行い、
    該運用系パスに対する通信回復処理が成功した場合、該制御部は、前記第2のHBAの該第2のPCI/PCIeバス用拡張カードに設定されたPM Stateを、D0_ActiveからD3_hotに変更し、
    更に、該制御部は該第1のHBAの第1のPCI/PCIeバス用拡張カードを用いて、該I/OデバイスとSCSIコマンドを用いた通信をする
    ことを特徴とする請求項4の計算機システム。
  6. I/Oデバイスを接続するホストバスアダプタ(HBA)を通して、該I/Oデバイスとの間でSCSIコマンドを用いてデータ通信するホスト計算機におけるHBA制御方法であって、
    該HBAとして、省電力化機能であるPCI PM 機能を備えた第1のPCI/PCIeバス用拡張カードを搭載した運用系パスを形成する第1のHBAと、該PCI PM 機能を備えた第2のPCI/PCIeバス用拡張カードを搭載した待機系パスを形成する第2のHBAと、該第1のHBA及び第2のHBAを制御する制御部を有し、
    該制御部は、当初、該第1のHBAの第1のPCI/PCIeバス用拡張カードをアクティブ状態に、かつ該第2のHBAの第2のPCI/PCIeバス用拡張カードを省電力状態に制御するステップと、
    該運用系パスに障害が発生した場合、該制御部は、該第1のHBAに対して運用系パスに対する通信回復処理を行い、更に、該第2のHBAの第2のPCI/PCIeバス用拡張カードに対して省電力状態からアクティブ状態に変更するように制御するステップと、
    該通信回復処理が不成功の場合、該制御部は、該第2のHBAの第2のPCI/PCIeバス用拡張カードを用いて該I/Oデバイスと通信するように制御するステップと
    を行うことを特徴とするHBA制御方法。
  7. 前記制御部は、該運用系パスの障害を検知した時、前記運用系パスに対する通信回復処理としてTask Management要求と、前記待機系パス上の該第2のHBAの起動を並行的に実行し、前記運用系パスに対するTask Management要求が成功しなかった場合に、該第2のHBAを介して該I/Oデバイスに対してSCSIコマンドを用いて通信することを特徴とする請求項6のHBA制御方法。
  8. 前記制御部は、前記運用系パスにおける前記第1のHBAの第1のPCI/PCIeバス用拡張カードのPM StateをD0_Activeに設定し、
    前記待機系パスにおける前記第2のHBAの該第2のPCI/PCIeバス用拡張カードのPM StateをD3_hotに設定し、
    該制御部は、該運用系パスの該第1のHBAの第1のPCI/PCIeバス用拡張カードを介して該I/Oデバイスと通信し、
    該運用系パスを用いた該SCSIコマンドの通信において不具合があった場合、該制御部は、該運用系パスに対する該通信回復制御と、前記待機系パスの該第2のHBAのPM StateをD0_Activeに変更する制御を並行して行い、
    該運用系パスに対する通信回復処理が不成功の場合、該制御部は、該第2のHBAの第2のPCI/PCIeバス用拡張カードを用いて、該I/Oデバイスと通信することを特徴とする請求項6又は7のHBA制御方法。
  9. 該運用系パスを用いた該SCSIコマンドの通信において不具合があった場合、該制御部は、該運用系パスに対する該通信回復処理と、前記待機系パスの該第2のHBAのPM StateをD0_Activeに変更する処理を並行して行い、
    該運用系パスに対する通信回復処理が成功した場合、該制御部は、前記第2のHBAの該第2のPCI/PCIeバス用拡張カードに設定されたPM Stateを、D0_ActiveからD3_hotに変更し、
    更に、該制御部は該第1のHBAの第1のPCI/PCIeバス用拡張カードを用いて、該I/OデバイスとSCSIコマンドを用いた通信をする
    ことを特徴とする請求項8のHBA制御方法。
  10. 前記第1及び2のHBAのPM Stateの変更は、前記第1及び第2のPCI/PCIeバス用拡張カードに搭載されたメモリ上に形成されたPCI CFG空間のレジスタ(PMCSR)を書き換えることにより行うことを特徴とする請求項8又は9のHBA制御方法。
  11. I/Oデバイスを接続するホストバスアダプタ(HBA)として、省電力化機能であるPCI PM 機能を備えた第1のPCI/PCIeバス用拡張カードを搭載した運用系パスを形成する第1のHBAと、該PCI PM 機能を備えた第2のPCI/PCIeバス用拡張カードを搭載した待機系パスを形成する第2のHBAとを有し、該第1のHBA又は第2のHBAを通して該I/Oデバイスとの間でSCSIコマンドを用いてデータ通信するホスト計算機上で実行される、該第1のHBA及び第2のHBAを制御するためのホストバスアダプタドライバとして機能するプログラムであって、
    該ホストバスアダプタドライバは、当初、該第1のHBAの第1のPCI/PCIeバス用拡張カードをアクティブ状態に、かつ該第2のHBAの第2のPCI/PCIeバス用拡張カードを省電力状態に制御し、
    該ホストバスアダプタドライバは、該運用系パスに障害が発生した場合、該第1のHBAに対して運用系パスに対する通信回復処理を行い、更に、該第2のHBAの第2のPCI/PCIeバス用拡張カードに対して省電力状態からアクティブ状態に変更するように制御し、
    該ホストバスアダプタドライバは、該通信回復処理が不成功の場合、該第2のHBAの第2のPCI/PCIeバス用拡張カードを用いて該I/Oデバイスと通信するように制御する
    ことを特徴とするホストバスアダプタドライバ用プログラム。
JP2011140897A 2011-06-24 2011-06-24 計算機システム、ホストバスアダプタ制御方法及びそのプログラム Expired - Fee Related JP5422611B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011140897A JP5422611B2 (ja) 2011-06-24 2011-06-24 計算機システム、ホストバスアダプタ制御方法及びそのプログラム
US13/489,805 US9026838B2 (en) 2011-06-24 2012-06-06 Computer system, host-bus-adaptor control method, and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011140897A JP5422611B2 (ja) 2011-06-24 2011-06-24 計算機システム、ホストバスアダプタ制御方法及びそのプログラム

Publications (2)

Publication Number Publication Date
JP2013008230A true JP2013008230A (ja) 2013-01-10
JP5422611B2 JP5422611B2 (ja) 2014-02-19

Family

ID=47362932

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011140897A Expired - Fee Related JP5422611B2 (ja) 2011-06-24 2011-06-24 計算機システム、ホストバスアダプタ制御方法及びそのプログラム

Country Status (2)

Country Link
US (1) US9026838B2 (ja)
JP (1) JP5422611B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080065738A1 (en) * 2006-09-07 2008-03-13 John David Landers Pci-e based pos terminal

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9436244B2 (en) * 2013-03-15 2016-09-06 Intel Corporation Adaptive control loop protection for fast and robust recovery from low-power states in high speed serial I/O applications
JP6228793B2 (ja) * 2013-09-24 2017-11-08 株式会社日立製作所 計算機システム、計算機システムの制御方法及び接続モジュール
KR102149679B1 (ko) 2014-02-13 2020-08-31 삼성전자주식회사 데이터 저장 장치, 그 동작 방법, 및 이를 포함하는 데이터 처리 시스템
US11132326B1 (en) * 2020-03-11 2021-09-28 Nvidia Corporation Techniques to transfer data among hardware devices

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004185093A (ja) * 2002-11-29 2004-07-02 Hitachi Ltd 情報処理装置、プログラム、情報処理システム、及び情報処理装置の制御方法
JP2007265243A (ja) * 2006-03-29 2007-10-11 Hitachi Ltd 計算機システム及び論理パス切替方法
WO2008075425A1 (ja) * 2006-12-20 2008-06-26 Fujitsu Limited 通信処理プログラム、通信処理方法および通信処理装置
JP2009032045A (ja) * 2007-07-27 2009-02-12 Hitachi Ltd Nasの消費電力を削減する方法及びその方法を用いた計算機システム
JP2009289193A (ja) * 2008-05-30 2009-12-10 Toshiba Corp 情報処理装置
JP2010055152A (ja) * 2008-08-26 2010-03-11 Hitachi Ltd 記憶制御装置
JP2010152643A (ja) * 2008-12-25 2010-07-08 Fujitsu Ltd データ転送装置、データ記憶装置及び方法
JP2010198353A (ja) * 2009-02-25 2010-09-09 Nec Corp コンピュータシステム、コンピュータ本体、hbaに対する電力供給制御方法およびそのプログラム

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6065081A (en) * 1998-04-29 2000-05-16 Compact Computer Corp. Administrator controlled architecture for disabling add-in card slots
US6708278B2 (en) * 1999-06-28 2004-03-16 Apple Computer, Inc. Apparatus and method for awakening bus circuitry from a low power state
US6625747B1 (en) * 2000-06-30 2003-09-23 Dell Products L.P. Computer storage system and failover method
US6823477B1 (en) * 2001-01-23 2004-11-23 Adaptec, Inc. Method and apparatus for a segregated interface for parameter configuration in a multi-path failover system
US6904477B2 (en) * 2001-04-13 2005-06-07 Sun Microsystems, Inc. Virtual host controller interface with multipath input/output
US7111084B2 (en) * 2001-12-28 2006-09-19 Hewlett-Packard Development Company, L.P. Data storage network with host transparent failover controlled by host bus adapter
US6779064B2 (en) * 2002-01-24 2004-08-17 Hewlett-Packard Development Company, L.P. System, method, and computer program product for on-line replacement of a host bus adapter
US7007142B2 (en) * 2002-02-19 2006-02-28 Intel Corporation Network data storage-related operations
US7307948B2 (en) * 2002-10-21 2007-12-11 Emulex Design & Manufacturing Corporation System with multiple path fail over, fail back and load balancing
US7222348B1 (en) * 2002-12-16 2007-05-22 Unisys Corporation Universal multi-path driver for storage systems
US20050138441A1 (en) * 2003-12-19 2005-06-23 Huffman Amber D. Power management without interrupt latency
US7281169B2 (en) * 2004-01-30 2007-10-09 Dell Products L.P. Method, software and system for multi-path fail-over recovery in sequential storage systems
CN100501684C (zh) * 2004-03-19 2009-06-17 "英特尔A/O"股份公司 故障转移和负载平衡
US7406617B1 (en) * 2004-11-22 2008-07-29 Unisys Corporation Universal multi-path driver for storage systems including an external boot device with failover and failback capabilities
US20070297338A1 (en) * 2006-06-23 2007-12-27 Yun Mou Verification of path selection protocol in a multi-path storage area network
US20080126652A1 (en) * 2006-09-27 2008-05-29 Intel Corporation Managing Interrupts in a Partitioned Platform
US7821973B2 (en) * 2006-10-24 2010-10-26 Hewlett-Packard Development Company, L.P. Sharing of host bus adapter context
US7962771B2 (en) * 2007-12-31 2011-06-14 Intel Corporation Method, system, and apparatus for rerouting interrupts in a multi-core processor
US7657683B2 (en) * 2008-02-01 2010-02-02 Redpine Signals, Inc. Cross-thread interrupt controller for a multi-thread processor
JP4551947B2 (ja) * 2008-05-23 2010-09-29 株式会社日立製作所 ストレージシステムを構成する電子機器を管理する装置
JP5108667B2 (ja) * 2008-07-23 2012-12-26 株式会社日立製作所 リモートコピーシステム、及びリモートサイトの省電力化方法
US8041987B2 (en) * 2008-11-10 2011-10-18 International Business Machines Corporation Dynamic physical and virtual multipath I/O
US8661290B2 (en) * 2011-01-14 2014-02-25 International Business Machines Corporation Saving power in computing systems with redundant service processors
US8694826B2 (en) * 2012-02-29 2014-04-08 Hewlett-Packard Development Company, L.P. SAS host cache control

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004185093A (ja) * 2002-11-29 2004-07-02 Hitachi Ltd 情報処理装置、プログラム、情報処理システム、及び情報処理装置の制御方法
JP2007265243A (ja) * 2006-03-29 2007-10-11 Hitachi Ltd 計算機システム及び論理パス切替方法
WO2008075425A1 (ja) * 2006-12-20 2008-06-26 Fujitsu Limited 通信処理プログラム、通信処理方法および通信処理装置
JP2009032045A (ja) * 2007-07-27 2009-02-12 Hitachi Ltd Nasの消費電力を削減する方法及びその方法を用いた計算機システム
JP2009289193A (ja) * 2008-05-30 2009-12-10 Toshiba Corp 情報処理装置
JP2010055152A (ja) * 2008-08-26 2010-03-11 Hitachi Ltd 記憶制御装置
JP2010152643A (ja) * 2008-12-25 2010-07-08 Fujitsu Ltd データ転送装置、データ記憶装置及び方法
JP2010198353A (ja) * 2009-02-25 2010-09-09 Nec Corp コンピュータシステム、コンピュータ本体、hbaに対する電力供給制御方法およびそのプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080065738A1 (en) * 2006-09-07 2008-03-13 John David Landers Pci-e based pos terminal
US8560755B2 (en) * 2006-09-07 2013-10-15 Toshiba Global Commerce Solutions Holding Corporation PCI-E based POS terminal

Also Published As

Publication number Publication date
JP5422611B2 (ja) 2014-02-19
US9026838B2 (en) 2015-05-05
US20120331199A1 (en) 2012-12-27

Similar Documents

Publication Publication Date Title
JP4897387B2 (ja) ストレージ装置およびこれを用いたデータの管理方法
US8089487B2 (en) Storage control device and storage system
KR102481475B1 (ko) NVMe-oF 기반의 시스템에서 섀시 레벨의 킵 얼라이브를 지원하기 위한 시스템 및 방법
JP5463267B2 (ja) 仮想計算機システムおよび仮想計算機の移行方法
US7437585B2 (en) Storage system and power control method therefor, adapter and power control method therefor, and storage controller and control method therefor
CN203786723U (zh) 基于x86 pc/104嵌入式cpu模块的双机冗余系统
JP5422611B2 (ja) 計算機システム、ホストバスアダプタ制御方法及びそのプログラム
US7870417B2 (en) Apparatus, system, and method for adapter card failover
US11157204B2 (en) Method of NVMe over fabric RAID implementation for read command execution
JP4462697B2 (ja) 記憶制御装置
JP2009053946A (ja) 二重化コントーラ構成ブロックデバイス制御装置
US11507307B2 (en) Storage system including a memory controller that enables each storage controller of a plurality of storage controllers to exclusively read and write control information of the memory
CN101788939B (zh) 一种控制器状态监测装置及方法
US9207741B2 (en) Storage apparatus, controller module, and storage apparatus control method
US10353613B2 (en) Computer system and control method therefor for handling path failure
TWI506453B (zh) 伺服器系統
JP2006114064A (ja) 記憶サブシステム
JP4816983B2 (ja) ディスクアレイ装置、ディスクアレイ装置における電源制御方法及び電源制御プログラム
JP2009042932A (ja) 記憶制御装置の制御プログラムの更新方法
US7900028B2 (en) Method for initializing bus device
JP2011076528A (ja) Raidカードの冗長化方法及びraidカードの冗長化装置
WO2023093210A1 (zh) 为存储器提供备电的方法和相关设备
TWI510926B (zh) 支援雙主控裝置存取介面裝置之系統及其電源管理方法
JP6519266B2 (ja) 情報処理装置、デバイス、および復旧方法、並びにコンピュータ・プログラム
JP2019028934A (ja) 情報処理装置、情報処理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130418

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130820

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131017

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131125

LAPS Cancellation because of no payment of annual fees