JP2004139260A - Command processing system by multiprocessor - Google Patents
Command processing system by multiprocessor Download PDFInfo
- Publication number
- JP2004139260A JP2004139260A JP2002301945A JP2002301945A JP2004139260A JP 2004139260 A JP2004139260 A JP 2004139260A JP 2002301945 A JP2002301945 A JP 2002301945A JP 2002301945 A JP2002301945 A JP 2002301945A JP 2004139260 A JP2004139260 A JP 2004139260A
- Authority
- JP
- Japan
- Prior art keywords
- command
- microprocessor
- control circuit
- microprocessors
- processing
- 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.)
- Withdrawn
Links
Images
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、ストレージ装置に対して発行される上位側の情報処理装置からのコマンドを多重ライト機能により複数個のマイクロプロセッサに転送し、円滑にコマンド処理するためのコマンド処理分散方式に関する。
【0002】
【従来の技術】
図5は、従来技術に関する上位ホストサーバ、DKC、DKUからなるデータ転送の全体構成を示す図である。図5において、上位ホストサーバとストレージ装置のディスク部としてのDKU(ディスクユニット)との間に介在してデータ転送の処理を制御するDKC(ディスクコントローラ)は、上位ホストサーバとのインタフェース部を形成するCHA(チャネルアダプタ)と、CACHE(キャッシュ)と、DKUとのインタフェース部を形成するDKA(ディスクアダプタ)と、から構成される。
【0003】
そして、CHAは、図5に示すように、外部I/F送受信部位501と、コマンド制御回路521と、データ転送制御部531と、マイクロプロセッサ部位511と、から成り立っている。図5において、マイクロプロセッサ部位511には1つのマイクロプロセッサ制御回路512及びマイクロプロセッサ513が図示されているが、マイクプロセッサ部位511は複数接続されていても良い。
【0004】
図5に示した従来技術において、一連のデータ転送は、上位ホストサーバと、DKCのインタフェース部であるCHAを介してDKUとの間で行われる。この時、インタフェース部であるCHAに、コマンド処理のために図5に示すように1つ、又は例え2つのマイクロプロセッサを有していたとしても、どちらか一方のマイクロプロセッサがこのデータ転送に関する一連のコマンド処理、すなわちデータ転送終了ステータスを上位ホストサーバに返すまでの一連のコマンド処理を当該一方のマイクロプロセッサが負担して実行することになる。
【0005】
また、従来技術におけるマルチプロセッサ処理方式によるシステム処理時間短縮は、主従関係にある2つのプロセッサと共用メモリとを具備し、いずれのプロセッサもが実行可能なコモンプログラムをメモリに含ませてこのコモンプログラムの実行配分を変えることで各プロセッサの並列処理量をほぼ均等にすることが開示されている(例えば、特許文献1参照)。
【0006】
【特許文献1】
特開平5−28120号公報
【0007】
【発明が解決しようとする課題】
上述した従来技術によれば、上位ホストサーバから多くのI/O要求が発行されたり、或るコマンド処理に時間を要して何らかのビジー状態に陥る等で、マイクロプロセッサがインタフェース部(CHA)のボトルネックになって、コマンドがキューイングされたり(コマンドを処理できないほど大量に受け取って蓄積された状態となる)、リトライされることがある。このような状況では、DKCの要因によるストレージシステムの性能低下が発生し得る。
【0008】
また、前記特許文献1によれば、2つのプロセッサは主従関係にあって且つコモンプログラムのロードされた共用メモリを備えているという構成上の制約条件を基にして、システム処理時間の短縮を図るものであり、汎用のプロセッサやメモリを使用するRAID(Redundant Arrays Inexpensive Disks:DKC+DKU)のインタフェース部には適用できないものであるという不都合さが生じる。
【0009】
本発明の目的は、ディスクコントローラ(DKC)のインタフェース部におけるマイクロプロセッサのボトルネックを軽減し、ディスクコントローラによるストレージシステムの性能低下を防ぐことにある。
【0010】
【課題を解決するための手段】
前記課題を解決するために、本発明は主として次のような構成を採用する。 上位ホストサーバに接続された外部I/F送受信部と、前記上位ホストサーバから発行されるコマンドを処理するマイクロプロセッサを有するマイクロプロセッサ部と、前記外部I/F送受信部と前記マイクロプロセッサ部との間に介在されてインタフェースを仲介するコマンド制御回路と、を備えたストレージ装置のインタフェース部であって、
前記コマンド制御回路には複数のマイクロプロセッサ部が接続され、
前記コマンド制御回路は前記上位ホストサーバからのコマンドを一度に同時に前記複数のマイクロプロセッサ部へコマンド転送を行う多重ライト機能を有し、前記コマンド制御回路の多重ライト機能によって、前記上位ホストサーバからのコマンドを各マイクロプロセッサに分散して処理するコマンド処理方式。
【0011】
この構成を採用することによって、上位ホストサーバから発行されたコマンド処理を各マイクロプロセッサにて負荷分散し、マイクロプロセッサによるボトルネックの軽減を図ることができる。
【0012】
【発明の実施の形態】
本発明の実施形態に係るマルチプロセッサによるコマンド処理分散方式について、図1〜図4を参照しながら以下説明する。図1は本発明の実施形態に係る、上位ホストサーバとのインタフェース部であるCHA(チャネルアダプタ)の具体的構成を示す図であり、図2は本発明の実施形態に関するCHA内の2つのプロセッサにおける処理内容を示すフローであり、図3は本実施形態に関する2つのプロセッサにおけるコマンドフェーズの時間的経過を従来技術との比較で示す図である。図4は本発明の他の実施形態に係る、上位ホストサーバとのインタフェース部であるCHA(チャネルアダプタ)の具体的構成を示す図である。
【0013】
図1に示す構成は、上位ホストサーバとのインタフェースであるディスク装置のインタフェース部(チャネルアダプタ(CHA))のコマンド制御を行う部位を示している。外部I/F送受信部位101は外部I/F送受信回路102と外部I/Fプロトコル制御回路103から構成される。また、マイクロプロセッサ部位111,114はマイクロプロセッサ113,116とマイクロプロセッサ制御回路112,115から構成される。外部I/F送受信回路102は上位ホストサーバと接続される上位インタフェース回路である。外部I/Fプロトコル制御回路103は外部I/F送受信回路102で受信した情報をCHAの内部インタフェース信号に変換するための回路である。
【0014】
マイクロプロセッサ113,116は上位ホストサーバから発行されるコマンドを処理する。マイクロプロセッサ制御回路112,115はマイクロプロセッサ113,116の送受信情報をCHAの内部インタフェース信号に変換するための回路である。コマンド制御回路121は外部I/Fプロトコル制御回路103とマイクロプロセッサ制御回路112,115のインタフェースを備えた回路であり、各マイクロプロセッサ113,116への多重ライト機能を持ち、その機能を用いて、外部I/F送受信回路102が上位ホストサーバから受信したコマンドを各マイクロプロセッサ113,116に転送する。ここで、多重ライト機能とは上位ホストサーバから1度のコマンドで送信される情報を複数のマイクロプロセッサへ一度に同時に送信する機能である。
【0015】
本発明の実施形態の一特徴は、コマンド制御回路が複数のマイクロプロセッサへ一度に同時にコマンド転送を行う多重ライト機能を備えていることである。一般的に云って、一連のデータ転送を行う際に、イニシエータ(例えば上位指令装置)とターゲット(ディスク装置)との間で各種の情報交換を行うフェーズが発生する。本発明の実施形態では、ターゲットにおいてこの各種フェーズの情報交換の処理を複数のマイクロプロセッサに分散して実施させることにある。上述した多重ライト機能の詳細については以下に説明する。実際に、図1において、コマンド制御回路121が多重ライト機能を用いて、外部I/F送受信回路102が上位ホストサーバから受信したコマンドを各マイクロプロセッサ113,116に転送し、そのコマンドが処理される手順の一例を示す。
【0016】
或る1つのコマンド(例えば、WRITE、READなど)が上位ホストサーバから指令されると、そのコマンドを実行するためにそのコマンド実行上の処理内容が複数のコマンドフェーズとして送信されてくる。例えば、下記の4つのコマンドフェーズが上位ホストサーバから送信されたとする。
【0017】
(1)イニシエータがターゲットを選定、
(2)イニシエータが転送モードを示すコマンドを転送、
(3)イニシエータがデータ転送のためのデータ転送開始アドレス、データブロック転送回数等のデータ転送用パラメータを転送、
(4)イニシエータがデータ転送開始の指示を示す転送命令を発行。
【0018】
この4つのコマンドフェーズは外部I/F送受信回路102で受信され、外部I/Fプロトコル制御回路103でCHA(チャネルアダプタ)の内部インタフェース信号に変換され、コマンド制御回路121を経由し、マイクロプロセッサ制御回路112,115を介してマイクロプロセッサ113,116にて処理される。
【0019】
この4つのコマンドフェーズはコマンド制御回路121の多重ライト機能により全てのマイクロプロセッサ(本実施形態では113,116)に転送されるが、コマンド制御回路121を経由する際に、例えば、コマンドフェーズ1と3はマイクロプロセッサ113にて処理し、コマンドフェーズ2と4はマイクロプロセッサ116にて処理するというように、コマンド制御回路121上のマイクロプログラムが各コマンドフェーズに何らかのフラグを付加して、マイクロプロセッサ113,116に転送する。
【0020】
次に、各マイクロプロセッサ113,116に転送されたコマンドフェーズの処理について説明する。本実施形態では、コマンドフェーズがコマンド制御回路121により各マイクロプロセッサ113,116に転送される際に付加されるフラグに基づいて、まず、マイクロプロセッサ113にてコマンドフェーズ1の処理を実行する。イニシエータがターゲットを選定する。このコマンドフェーズ1に対してターゲットはイニシエータに自分が選択されたことを返す。それと同時にコマンドフェーズ1が処理されたことをマイクロプロセッサ116にも同様に報告する。
【0021】
コマンドフェーズ1が処理されたという報告を受けたマイクロプロセッサ116はコマンドフェーズ2の処理を実行する。このコマンドフェーズ2に対してターゲットはイニシエータに転送モードを把握したことを返す。それと同時にコマンドフェーズ2が処理されたことをマイクロプロセッサ113にも同様に報告する。コマンドフェーズ2が処理されたという報告を受けたマイクロプロセッサ113はコマンドフェーズ3の処理を実行する。
【0022】
このコマンドフェーズ3に対してターゲットはイニシエータにデータ転送用パラメータを受信したことを返す。それと同時にコマンドフェーズ3が処理されたことをマイクロプロセッサ116にも同様に報告する。コマンドフェーズ3が処理されたという報告を受けたマイクロプロセッサ116はコマンドフェーズ4の処理を実行する。
【0023】
このコマンドフェーズ4に対してターゲットはイニシエータにデータの転送を要求し、データ転送が開始される。それと同時にコマンドフェーズ4が処理されたことをマイクロプロセッサ113にも同様に報告し、全てのコマンドフェーズが処理されたことをマイクロプロセッサ113に知らせる。このように、本実施形態では4つのコマンドフェーズを例にコマンド処理の説明を行ったが、コマンドフェーズが5つ以上ある場合でも、同様の手順でコマンド処理が行われる。
【0024】
このように、2個のマイクロプロセッサを用いた上述の手順でのコマンド処理を行うことにより、片方のマイクロプロセッサはコマンドフェーズを実行する準備が整っており、もう一方のマイクロプロセッサからの一つ前のコマンドフェーズの処理終了を受信次第、即時にコマンド処理が可能であり、1個のマイクロプロセッサで一連のコマンド処理を実行する時の次コマンドフェーズ処理に移るためのオーバヘッドを無くすことができる。
【0025】
以上説明した本発明の実施形態に係るコマンド処理分散方式について、図2及び図3を参照しながら敷衍して再度説明する。本発明の実施形態では多重ライトを行うことによりマイクロプロセッサの負荷分散を可能とするものであり、一度の転送コマンドにおいて複数のマイクロプロセッサを介して別のアドレスへのライトを可能とするところに本発明の特徴が存する。ここで、多重ライトしたことによるコマンド処理の具体的手法は様々であり、コマンド制御回路上のマイクロプログラムによりその手法は委ねられる(上述の例では、マイクロプロセッサ113がコマンドフェーズ1,3を処理し、マイクロプロセッサ116がコマンドフェーズ2,4を処理するという手法)。要は、本実施形態では複数のマイクロプロセッサ(マルチプロセッサ)が効率良く動作するための仕組みとしてコマンド制御回路に多重ライト機能というハードウェアを備えている。
【0026】
図2には、上位ホストサーバからのコマンドによる1つのデータ転送において、データ転送に至るまでの上位ホストサーバとディスク装置インタフェース部(CHA)との間でやりとりされる状態の一例をフローチャートとして示している。まず、上位ホストサーバによって例えばライト(WRITE)命令が発行されると(ステップ1)、CHAにおいてそのコマンドを受信して、コマンド制御回路121の多重ライト機能により各マイクロプロセッサ113,116にコマンドを転送する(ステップ2)。この際、どのマイクロプロセッサにコマンドフェーズを実行させるかはコマンド制御回路121上のマイクロプログラムによりフラグを付加することで決める。
【0027】
次いで、マイクロプロセッサ113はコマンドフェーズ1を処理してその終了報告を通知する(図3の上段における矢印を参照)。これと同時にマイクロプロセッサ116はコマンドフェーズ2を処理する(ステップ3)。その後、マイクロプロセッサ113はコマンドフェーズ3を処理し、マイクロプロセッサ116はコマンドフェーズ1の終了報告を受信し、コマンドフェーズ1終了後でなければ処理できないコマンドフェーズ2の処理(残処理)を実行し(図3の中段における期間Tを参照)、コマンドフェーズ2の終了報告を通知する(ステップ4)(図3の中段における矢印を参照)。
【0028】
次いで、マイクロプロセッサ113はコマンドフェーズ2の終了報告を受信し、コマンドフェーズ3の残処理を実行してその終了報告を通知する。同時にマイクロプロセッサ116はコマンドフェーズ4を処理する(ステップ5)。続いて、マイクロプロセッサ116はコマンドフェーズ3の終了報告を受信してコマンドフェーズ4の残処理を実行し、そのコマンドフェーズ4の終了報告を通知する(ステップ6)。
【0029】
図3には、本実施形態による多重ライトと従来技術との対比を示していて、この図示から分かるように、本実施形態では、コマンド制御回路上のマイクロプログラムによる制御の仕方とも相俟って、複数(例えば2つ)のマイクロプロセッサへ一度のコマンド転送を行い、並列処理することができてコマンド処理の時間短縮が図られ、また、マイクロプロセッサの負荷分散に繋がっている。従来技術では各コマンドフェーズの終了を待って次のコマンドフェーズの処理をしなければならず、コマンド処理時間やマイクロプロセッサ負荷について課題を残している。
【0030】
翻って、上述した、図2に示すマイクロプロセッサ113,116によるコマンドフェーズの処理に際して、終了報告を他方のマイクロプロセッサに伝えた方が良い場合と、伝える必要の無い場合があると云うことについてはコマンド処理の仕方に因る。上述したように、1つのデータ転送のための各コマンドフェーズを各々のマイクロプロセッサにおいて分散(分担)して処理する場合、前のコマンドフェーズが終了し、経時的な順序を要する次のコマンドフェーズを実行するようにするためには終了報告を伝える必要がある。しかし、別々のデータ転送のための一連のコマンドを各々のマイクロプロセッサにおいて処理するような場合には、他方のマイクロプロセッサに対してコマンド処理の終了を伝える必要はない。
【0031】
本発明の実施形態は、コマンド制御回路におけるハードウェアによって各々のマイクロプロセッサに処理すべきコマンドを転送するものであり、このコマンド処理を上述した2つのパターン(即ち、1つは1つのコマンドを2つのマイクロプロセッサで分担するパターンと、他は2つのコマンドをそれぞれのマイクロプロセッサで処理するパターン)又はそれ以外の方法で処理するかはコマンド制御回路上のマイクロプログラム如何によるため、他方のマイクロプロセッサに終了報告を伝えるべきか否かは本発明の必須要件ではない。
【0032】
本発明では、複数のマイクロプロセッサでのコマンド処理を行うに際して、1つのコマンド転送を複数のマイクロプロセッサに複数回行うことなく、一度で複数マイクロプロセッサにコマンド転送を行うことを主眼としたものである。このようなコマンド制御回路の多重ライト機能を用いて各マイクロプロセッサにコマンド転送することによって、マイクロプロセッサでのコマンド処理を各マイクロプロセッサに負荷分散し、マイクロプロセッサに因るボトルネックを軽減しているのである。
【0033】
次に、本発明が適用されるRAID(DKC+DKU)におけるFibre Channel(FC)のコマンドに対する本発明の適否について説明する。本発明がRAIDに適するものはデータ転送系のコマンドである。つまり、キャッシュアクセスを要するコマンドと云うことになる。具体的には、FCのコマンドはFCP_CMNDで示され、そのFCP_CMND形式のFCP_CDBがデータ転送系を示すコマンドであり、コマンド名称はWrite、Readである。これらのコマンドが上位ホストサーバから送信されると、本発明の多重ライト機能により両マイクロプロセッサ113,116にコマンドが送信される。
【0034】
このコマンドを受信した場合(Writeコマンドの例)、両マイクロプロセッサ113,116の役割は、図2に示した処理例以外に次のような処理例もある。即ち、コマンドを受信すると、予めマイクロプロセッサ113が外部I/F送受信部位101の制御を行い、もう1つのマイクロプロセッサ116がCHA内に位置するデータ転送制御部131を制御するように決めておき、それぞれ並列にデータ転送のための準備と制御を行う。即ち、マイクロプロセッサ113は、上位ホストサーバとのデータ転送を行うために外部I/F送受信部位101の制御、準備を行い、並列にもう1つのマイクロプロセッサ116が送信されたFCP_CMNDを基にデータ転送制御部131にキャッシュに対してデータ転送を行うための制御をする。マイクロプロセッサ116による準備が終了すると、マイクロプロセッサ113にCHA内部の転送準備が終了したことを通知する。そして、マイクロプロセッサ113は外部I/Fプロトコル制御回路103に対してデータ転送開始(GO)の指示を出す。
【0035】
以上説明したように、本発明が適用されるRAIDにおいては、データ転送系のコマンドで、一方のマイクロプロセッサが上位ホストサーバとのI/Fである外部I/F送受信部位の制御を行い、もう1つのマイクロプロセッサがRAIDのCHA内のデータ転送制御部の制御を行うのが適するのである。
【0036】
なお、本発明が適さないのはデータ転送系以外のコマンドに対してである。例えば、FCP_CMNDのFCP_CDBとしてInquiryコマンドがある。このコマンドはRAIDの装置情報を得るコマンドであり、CHAの不図示のフラッシュメモリに情報が書かれているので、キャッシュに対してのやりとりは発生しないため、マイクロプロセッサ116によるデータ転送制御部の制御を行う必要が無い。このように、データ転送系のコマンドでなくてキャッシュへのアクセスを必要としないコマンドは、片一方のマイクロプロセッサのみで処理した方が良い。
【0037】
次に、本発明の他の実施形態について図4を用いて説明する。図1に示す実施形態では、マイクロプロセッサ部位は2つであったが、図4に図示するように、コマンド制御回路にマイクロプロセッサ部位とのインタフェースの口をそれ以上持つことが出来れば、それだけのマイクロプロセッサ部位、マイクロプロセッサを備えることができ、一層の負荷分散を望める可能性がある。また、図1に示す実施形態において、外部I/F送受信部位が1つであったが、図4に図示するように、複数個あっても構わない。その場合、バスフリーの状態でバス使用権を獲得するアービトレーションが行われる。
【0038】
【発明の効果】
以上説明したように、本発明によれば、上位ホストサーバからのコマンドの処理を、多重ライト機能を備えたコマンド制御回路により各マイクロプロセッサへコマンドを転送し、複数のマイクロプロセッサにて分散処理する方式により、ディスク装置のインタフェース部のマイクロプロセッサのボトルネックを軽減し、ディスク装置によるストレージシステムの性能低下を防ぐことができる。
【図面の簡単な説明】
【図1】本発明の実施形態に係る、上位ホストサーバとのインタフェース部であるCHA(チャネルアダプタ)の具体的構成を示す図である。
【図2】本発明の実施形態に関するCHA内の2つのプロセッサにおける処理内容を示すフローである。
【図3】本実施形態に関する2つのプロセッサにおけるコマンドフェーズの時間的経過を従来技術との比較で示す図である。
【図4】本発明の他の実施形態に係る、上位ホストサーバとのインタフェース部であるCHA(チャネルアダプタ)の具体的構成を示す図である。
【図5】従来技術に関する上位ホストサーバ、DKC、DKUからなるデータ転送の全体構成を示す図である。
【符号の説明】
101,501 外部I/F送受信部位
102,502 外部I/F送受信回路
103,503 外部I/Fプロトコル制御回路
111,114,511 マイクロプロセッサ部位
112,115,512 マイクロプロセッサ制御回路
113,116,513 マイクロプロセッサ
121,521 コマンド制御回路
131,531 データ転送制御部[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a command processing distribution method for transferring a command issued from a higher-level information processing device to a storage device to a plurality of microprocessors by a multiplex write function and performing command processing smoothly.
[0002]
[Prior art]
FIG. 5 is a diagram showing an overall configuration of data transfer including a host computer, DKC, and DKU according to the related art. In FIG. 5, a DKC (disk controller) for controlling data transfer processing interposed between an upper host server and a DKU (disk unit) as a disk unit of the storage device forms an interface unit with the upper host server. (Channel adapter), CACHE (cache), and DKA (disk adapter) forming an interface with the DKU.
[0003]
As shown in FIG. 5, the CHA includes an external I / F transmission / reception unit 501, a
[0004]
In the prior art shown in FIG. 5, a series of data transfer is performed between the host server and the DKU via the CHA which is the interface unit of the DKC. At this time, even if the CHA as the interface unit has one or two microprocessors for command processing as shown in FIG. , That is, a series of command processing until the data transfer end status is returned to the host server, is executed by the one microprocessor.
[0005]
Further, the system processing time can be shortened by the multiprocessor processing method in the prior art. The common program includes two processors in a master-slave relationship and a shared memory, and a common program executable by each processor is included in the memory. It is disclosed that the amount of parallel processing of each processor is made substantially equal by changing the execution distribution of the program.
[0006]
[Patent Document 1]
JP-A-5-28120
[Problems to be solved by the invention]
According to the above-described conventional technology, the microprocessor is unable to operate the interface unit (CHA) because many I / O requests are issued from the higher-level host server or a certain command processing takes time to fall into some busy state. As a bottleneck, commands may be queued (the command may be received and stored in a large amount that cannot be processed) or retried. In such a situation, the performance of the storage system may be degraded due to the DKC.
[0008]
Further, according to
[0009]
An object of the present invention is to reduce a bottleneck of a microprocessor in an interface section of a disk controller (DKC), and to prevent a decrease in performance of a storage system due to a disk controller.
[0010]
[Means for Solving the Problems]
In order to solve the above problems, the present invention mainly employs the following configuration. An external I / F transmission / reception unit connected to an upper host server, a microprocessor unit having a microprocessor for processing a command issued from the upper host server, and an external I / F transmission unit and the microprocessor unit. A command control circuit interposed between the command control circuit and an interface unit of the storage device,
A plurality of microprocessor units are connected to the command control circuit,
The command control circuit has a multiplex write function of simultaneously transferring a command from the upper host server to the plurality of microprocessor units at a time, and the multiplex write function of the command control circuit allows A command processing method that distributes commands to each microprocessor and processes them.
[0011]
By adopting this configuration, the command processing issued from the host server can be load-balanced among the microprocessors, and the bottleneck by the microprocessors can be reduced.
[0012]
BEST MODE FOR CARRYING OUT THE INVENTION
A command processing distribution method by a multiprocessor according to an embodiment of the present invention will be described below with reference to FIGS. FIG. 1 is a diagram showing a specific configuration of a CHA (channel adapter) which is an interface unit with an upper-level host server according to an embodiment of the present invention, and FIG. 2 is a diagram showing two processors in the CHA according to the embodiment of the present invention. FIG. 3 is a diagram showing a temporal progress of a command phase in two processors according to the present embodiment in comparison with a conventional technique. FIG. 4 is a diagram showing a specific configuration of a CHA (channel adapter) which is an interface unit with a higher-level host server according to another embodiment of the present invention.
[0013]
The configuration shown in FIG. 1 shows a part that performs command control of an interface unit (channel adapter (CHA)) of a disk device that is an interface with an upper-level host server. The external I / F transmission / reception unit 101 includes an external I / F transmission / reception circuit 102 and an external I / F protocol control circuit 103. The
[0014]
The
[0015]
One feature of the embodiment of the present invention is that the command control circuit has a multiplex write function for simultaneously transferring commands to a plurality of microprocessors at once. Generally speaking, when performing a series of data transfer, a phase occurs in which various types of information are exchanged between an initiator (for example, a higher-order command device) and a target (disk device). In an embodiment of the present invention, the information exchange processing of the various phases in the target is distributed to and executed by a plurality of microprocessors. Details of the multiplex write function described above will be described below. Actually, in FIG. 1, the
[0016]
When a certain command (for example, WRITE, READ, etc.) is instructed from the upper host server, processing contents of the command execution are transmitted as a plurality of command phases in order to execute the command. For example, it is assumed that the following four command phases are transmitted from the host server.
[0017]
(1) Initiator selects target,
(2) The initiator transfers a command indicating the transfer mode,
(3) the initiator transfers data transfer parameters such as a data transfer start address for data transfer and the number of data block transfers;
(4) The initiator issues a transfer instruction indicating an instruction to start data transfer.
[0018]
These four command phases are received by the external I / F transmission / reception circuit 102, converted into an internal interface signal of CHA (channel adapter) by the external I / F protocol control circuit 103, passed through the
[0019]
These four command phases are transferred to all the microprocessors (113 and 116 in the present embodiment) by the multiplex write function of the
[0020]
Next, the processing of the command phase transferred to each of the
[0021]
The microprocessor 116 receiving the report that the
[0022]
In response to the
[0023]
For this
[0024]
As described above, by performing the command processing in the above-described procedure using two microprocessors, one microprocessor is ready to execute the command phase, and one microprocessor is ready to execute the command phase. As soon as the completion of the processing of the command phase is received, the command processing can be performed immediately, and the overhead for shifting to the next command phase processing when a series of command processing is executed by one microprocessor can be eliminated.
[0025]
The command processing distribution method according to the embodiment of the present invention described above will be described again with reference to FIGS. In the embodiment of the present invention, the load of the microprocessor can be distributed by performing the multiplex write, and the write to another address can be performed through a plurality of microprocessors in one transfer command. There are features of the invention. Here, there are various specific methods of command processing based on multiplex writing, and the method is entrusted to the microprogram on the command control circuit (in the above example, the
[0026]
FIG. 2 is a flowchart showing an example of a state of data exchange between the upper host server and the disk device interface unit (CHA) up to the data transfer in one data transfer by a command from the upper host server. I have. First, when, for example, a write (WRITE) instruction is issued by the upper host server (step 1), the command is received in the CHA, and the command is transferred to the
[0027]
Next, the
[0028]
Next, the
[0029]
FIG. 3 shows a comparison between the multiplex write according to the present embodiment and the prior art. As can be seen from this drawing, in the present embodiment, the control by the microprogram on the command control circuit is combined. The command can be transferred to a plurality of (for example, two) microprocessors at one time, and can be processed in parallel, thereby shortening the command processing time, and also leading to a load distribution of the microprocessors. In the prior art, the processing of the next command phase must be performed after the completion of each command phase, and there is a problem in the command processing time and the microprocessor load.
[0030]
On the other hand, in the above-described processing of the command phase by the
[0031]
In the embodiment of the present invention, a command to be processed is transferred to each microprocessor by hardware in a command control circuit, and this command processing is performed in the above-described two patterns (that is, one command corresponds to two commands). The pattern shared by one microprocessor and the other is a pattern in which two commands are processed by each microprocessor) or other methods are processed by a microprogram on the command control circuit. Whether or not a termination report should be communicated is not a requirement of the present invention.
[0032]
According to the present invention, when command processing is performed by a plurality of microprocessors, the main purpose is to transfer a command to a plurality of microprocessors at once without performing one command transfer to a plurality of microprocessors. . By transferring a command to each microprocessor using the multiplex write function of such a command control circuit, command processing in the microprocessor is load-balanced among the microprocessors, and a bottleneck caused by the microprocessor is reduced. It is.
[0033]
Next, the suitability of the present invention with respect to a Fiber Channel (FC) command in RAID (DKC + DKU) to which the present invention is applied will be described. What the present invention is suitable for RAID is a data transfer command. That is, it is a command requiring cache access. Specifically, the FC command is indicated by FCP_CMND, the FCP_CDB in the FCP_CMND format is a command indicating a data transfer system, and the command names are Write and Read. When these commands are transmitted from the host server, the commands are transmitted to both
[0034]
When this command is received (an example of a Write command), the roles of the
[0035]
As described above, in the RAID to which the present invention is applied, one of the microprocessors controls an external I / F transmission / reception part, which is an I / F with an upper-level host server, by a data transfer command. It is suitable that one microprocessor controls the data transfer control unit in the RAID CHA.
[0036]
Note that the present invention is not suitable for commands other than the data transfer system. For example, there is an Inquiry command as FCP_CDB of FCP_CMND. This command is a command for obtaining RAID device information. Since the information is written in a flash memory (not shown) of the CHA, no exchange with the cache occurs, so that the microprocessor 116 controls the data transfer control unit. There is no need to do. Thus, a command that does not require access to the cache, which is not a data transfer command, is preferably processed by only one of the microprocessors.
[0037]
Next, another embodiment of the present invention will be described with reference to FIG. In the embodiment shown in FIG. 1, the number of microprocessor parts is two. However, as shown in FIG. 4, if the command control circuit can have more ports for interfacing with the microprocessor part, the number of microprocessor parts becomes larger. A microprocessor part and a microprocessor can be provided, and there is a possibility that further load distribution can be expected. Further, in the embodiment shown in FIG. 1, the number of external I / F transmission / reception parts is one, but a plurality of parts may be provided as shown in FIG. In this case, arbitration for acquiring the right to use the bus is performed in a bus-free state.
[0038]
【The invention's effect】
As described above, according to the present invention, processing of a command from an upper-level host server is transferred to each microprocessor by a command control circuit having a multiplex write function, and distributed by a plurality of microprocessors. With this method, it is possible to reduce the bottleneck of the microprocessor in the interface unit of the disk device and prevent the performance of the storage system from deteriorating due to the disk device.
[Brief description of the drawings]
FIG. 1 is a diagram showing a specific configuration of a CHA (channel adapter) which is an interface unit with an upper-level host server according to an embodiment of the present invention.
FIG. 2 is a flowchart showing processing contents in two processors in a CHA according to the embodiment of the present invention.
FIG. 3 is a diagram illustrating a time course of a command phase in two processors according to the present embodiment in comparison with a conventional technique.
FIG. 4 is a diagram showing a specific configuration of a CHA (channel adapter) which is an interface unit with an upper-level host server according to another embodiment of the present invention.
FIG. 5 is a diagram showing an overall configuration of data transfer including a host computer, a DKC, and a DKU according to the related art.
[Explanation of symbols]
101, 501 External I / F transmission /
Claims (3)
前記コマンド制御回路には複数のマイクロプロセッサ部が接続され、
前記コマンド制御回路は前記上位ホストサーバからのコマンドを一度に同時に前記複数のマイクロプロセッサ部へコマンド転送を行う多重ライト機能を有し、前記コマンド制御回路の多重ライト機能によって、前記上位ホストサーバからのコマンドを各マイクロプロセッサに分散して処理する
ことを特徴とするコマンド処理方式。An external I / F transmission / reception unit connected to an upper host server, a microprocessor unit having a microprocessor for processing a command issued from the upper host server, and an external I / F transmission unit and the microprocessor unit. A command control circuit interposed between the command control circuit and an interface unit of the storage device,
A plurality of microprocessor units are connected to the command control circuit,
The command control circuit has a multiplex write function of simultaneously transferring a command from the upper host server to the plurality of microprocessor units at a time, and the multiplex write function of the command control circuit allows A command processing method wherein commands are distributed to and processed by respective microprocessors.
前記各マイクロプロセッサによるコマンド処理に際して、複数のコマンドフェーズの処理実行が前記各マイクロプロセッサで並列処理されることを特徴とするコマンド処理方式。In claim 1,
A command processing method, wherein, when processing commands by the microprocessors, processing of a plurality of command phases is performed in parallel by the microprocessors.
前記外部I/F送受信部を複数個有することを特徴とするコマンド処理方式。In claim 1,
A command processing method comprising a plurality of the external I / F transmission / reception units.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002301945A JP2004139260A (en) | 2002-10-16 | 2002-10-16 | Command processing system by multiprocessor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002301945A JP2004139260A (en) | 2002-10-16 | 2002-10-16 | Command processing system by multiprocessor |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004139260A true JP2004139260A (en) | 2004-05-13 |
JP2004139260A5 JP2004139260A5 (en) | 2005-12-08 |
Family
ID=32450159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002301945A Withdrawn JP2004139260A (en) | 2002-10-16 | 2002-10-16 | Command processing system by multiprocessor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004139260A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006107019A (en) * | 2004-10-04 | 2006-04-20 | Hitachi Ltd | Disk array device |
WO2018220702A1 (en) * | 2017-05-30 | 2018-12-06 | 三菱電機株式会社 | Management system, management method and management program |
US10572402B2 (en) | 2017-09-20 | 2020-02-25 | Samsung Electronics Co., Ltd. | Storage device communicating with host according to multicast communication protocol and communication method of host |
-
2002
- 2002-10-16 JP JP2002301945A patent/JP2004139260A/en not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006107019A (en) * | 2004-10-04 | 2006-04-20 | Hitachi Ltd | Disk array device |
WO2018220702A1 (en) * | 2017-05-30 | 2018-12-06 | 三菱電機株式会社 | Management system, management method and management program |
JP6509475B1 (en) * | 2017-05-30 | 2019-05-08 | 三菱電機株式会社 | Management device, management method and management program |
US10572402B2 (en) | 2017-09-20 | 2020-02-25 | Samsung Electronics Co., Ltd. | Storage device communicating with host according to multicast communication protocol and communication method of host |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA3062336C (en) | Apparatus and method for controlling data acceleration | |
JP4817783B2 (en) | RAID system and rebuild / copyback processing method thereof | |
JP3694273B2 (en) | Data processing system having multipath I / O request mechanism | |
JP4472617B2 (en) | RAID system, RAID controller and rebuild / copy back processing method thereof | |
TWI276964B (en) | Direct memory access controller system | |
JP4917174B2 (en) | Computer program, apparatus, and method for facilitating input / output processing for input / output (I / O) operations in a host computer system configured to communicate with a controller | |
EP1796001B1 (en) | Method for implementing shared disk array management functions. | |
US7739432B1 (en) | Command switching for multiple initiator access to a SATA drive | |
KR970001919B1 (en) | System and method for transfering information between multiple buses | |
JPH09325905A (en) | Memory control unit | |
JP2005505056A (en) | Controller data sharing using modular DMA architecture | |
JP2005507118A (en) | Modular architecture for network storage controllers | |
JP3769413B2 (en) | Disk array controller | |
JP4100256B2 (en) | Communication method and information processing apparatus | |
JP4451687B2 (en) | Storage system | |
JP2004054916A (en) | Method of executing hardware support communication between processors | |
JP3266470B2 (en) | Data processing system with per-request write-through cache in forced order | |
JP2550311B2 (en) | Multiple control system of magnetic disk | |
US20060265523A1 (en) | Data transfer circuit and data transfer method | |
US8099563B2 (en) | Storage device and access instruction sending method | |
US20070180180A1 (en) | Storage system, and storage control method | |
JP2009282917A (en) | Interserver communication mechanism and computer system | |
JP2003288317A (en) | System and method for detecting and compensating for runt block data transfer | |
JPH0844649A (en) | Data processor | |
JP2004139260A (en) | Command processing system by multiprocessor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Effective date: 20051011 Free format text: JAPANESE INTERMEDIATE CODE: A523 |
|
A621 | Written request for application examination |
Effective date: 20051011 Free format text: JAPANESE INTERMEDIATE CODE: A621 |
|
A977 | Report on retrieval |
Effective date: 20080729 Free format text: JAPANESE INTERMEDIATE CODE: A971007 |
|
A131 | Notification of reasons for refusal |
Effective date: 20080819 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
A521 | Written amendment |
Effective date: 20081010 Free format text: JAPANESE INTERMEDIATE CODE: A523 |
|
A761 | Written withdrawal of application |
Effective date: 20090316 Free format text: JAPANESE INTERMEDIATE CODE: A761 |