JP2004341725A - Control method for computer, computer, storage controller, program and recording medium - Google Patents
Control method for computer, computer, storage controller, program and recording medium Download PDFInfo
- Publication number
- JP2004341725A JP2004341725A JP2003136093A JP2003136093A JP2004341725A JP 2004341725 A JP2004341725 A JP 2004341725A JP 2003136093 A JP2003136093 A JP 2003136093A JP 2003136093 A JP2003136093 A JP 2003136093A JP 2004341725 A JP2004341725 A JP 2004341725A
- Authority
- JP
- Japan
- Prior art keywords
- control unit
- memory
- program
- divided data
- processors
- 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.)
- Pending
Links
Images
Abstract
Description
【0001】
【発明の属する技術分野】
この発明は、コンピュータの制御方法、コンピュータ、ストレージ制御装置、プログラム、及び記録媒体に関する。
【0002】
【従来の技術】
負荷分散の実現や高性能化、高信頼性化等を目的として構成されるいわゆるマルチプロセッサアーキテクチャが採用されるコンピュータシステムにおいては、プロセッサに実行させるマイクロプログラムを記憶するためのメモリがプロセッサごとに用意される構成をとるものが存在する。例えば、昨今のIT技術の発展により需要が増大しているディスクアレイ装置では、アクセスしてくる情報処理装置との間の通信を制御する通信制御部(チャネル制御部)や大量のディスクドライブへのアクセスを行うためのディスク制御装置を複数実装したマルチプロセッサの構成であるものが存在するが、このようなディスクアレイ装置においては、マイクロプログラムを記憶するためのメモリが、通信制御部ごと、もしくは、ディスク制御部ごとに設けられる。
【0003】
上記の構成をとるコンピュータシステムにおいては、例えば、そのセットアップ時やバージョンアップ時等において、メモリに対するマイクロプログラムの転送処理が行われる。ここでこのマイクロプログラムの転送処理はコンピュータシステムの他の処理に影響を与えるため、できるだけ効率よく行うことが好ましい。そこで、この転送処理を効率化する仕組みとして、例えば、特許文献1には、マイクロプログラムを各プロセッサがアクセス可能な共有メモリに転送し、各プロセッサが自身でマイクロプログラムを読み込むことにより並列的なデータ転送を行うことで負荷分散を図り、プロセッサに対応するメモリへのマイクロプログラムのローディング時間を短縮する技術が開示されている。
【0004】
【特許文献1】
特開平11−250028号公報
【0005】
【発明が解決しようとする課題】
上記公報に記載の技術では、各プロセッサに対応するメモリにロードさせるマイクロプログラムを共有メモリにあらかじめ転送するようにしているが、この転送は特定のプロセッサを介して行われているため、特定のプロセッサへの負荷の集中が避けられない。また、特定のプロセッサのみが書き込みに関与する仕組みでは、特定のプロセッサの処理能力により転送処理の効率が決まってしまうため、転送処理の効率を向上させることは難しい。
【0006】
この発明はこのような背景に鑑みてなされたもので、マルチプロセッサアーキテクチャからなるコンピュータシステムにおいて、各プロセッサにより実行されるマイクロプログラムを効率よく供給することができる、コンピュータの制御方法、コンピュータ、ストレージ制御装置、プログラム、及び記録媒体を提供することを目的とする。
【0007】
【課題を解決するための手段】
2以上のプロセッサと、前記プロセッサのそれぞれに対応させて設けられ前記プロセッサに実行させるためのプログラムが記憶される第一のメモリと、前記各プロセッサがアクセス可能な第二のメモリと、を含んで構成されるコンピュータの制御方法において、少なくとも2以上の前記プロセッサが、前記第一のメモリに記憶されるプログラムを分割したデータである分割データをそれぞれ分担して前記第二のメモリに転送するステップと、前記プロセッサが、前記転送によって前記第二のメモリに記憶された分割データを結合することにより前記プログラムを復元するステップと、前記プロセッサが、復元した前記プログラムを前記第一のメモリに記憶させるステップと、を有することとする。
【0008】
この発明は、2以上のプロセッサを有するマルチプロセッサアーキテクチャを採用するコンピュータに適用される。前記第一のメモリは、例えば、このようなアーキテクチャのコンピュータの各プロセッサに対応させて各プロセッサによって実行されるマイクロプログラムが格納される、ローカルメモリや不揮発性メモリである。前記第二のメモリは、例えば、このようなアーキテクチャのコンピュータにおける各プロセッサからアクセス可能に設けられた共有のメモリである。
この発明は、例えば、外部から供給されたマイクロプログラムを前記各プロセッサにより前記第一のメモリにセットアップする場合に適用される。
【0009】
その他、本願が開示する課題、及びその解決方法は、発明の実施の形態の欄及び図面により明らかにされる。
【0010】
【発明の実施の形態】
図1に本発明の一実施例として説明する制御装置100のブロック構成を示している。制御装置100は、プロセッサ1,2,3,4、各プロセッサ1,2,3,4からアクセス可能な共有メモリ5、プロセッサ1,2,3,4のうちの少なくともいずれかのプロセッサによって制御される制御対象部位6,7、プロセッサ1,2,3,4と通信可能に接続されるサービスプロセッサ8、プロセッサ1,2,3,4と共有メモリ5との間を通信可能に接続する共有メモリアクセスバス9、プロセッサ1,2,3,4とサービスプロセッサ8との間を通信可能に接続するサービスプロセッサ−プロセッサ間通信バス10等を含んで構成される。
【0011】
プロセッサ1,2,3,4は、それぞれプロセッサ制御部11,21,31,41、フラッシュメモリ等で構成される不揮発メモリ12,22,32,42、SRAMやDRAM等で構成されるローカルメモリ13,23,33,43、マイクロプログラム格納エリア14,24,34,44、マイクロプログラムロードエリア15,25,35,45等を含んで構成される。共有メモリ5には、マイクロプログラム格納エリア51が確保されている。
【0012】
制御装置100において、プロセッサ1,2,3,4において実行されるマイクロプログラムは、サービスプロセッサ8から共有メモリ5を経由して各プロセッサ1,2,3,4に供給される。サービスプロセッサ8は、プロセッサ制御部81、メモリ82等を含んで構成される。各プロセッサ1,2,3,4に供給されるマイクロプログラムは、コンピュータ等の外部装置70から供給されてメモリ82の記憶領域に確保されているマイクロプログラム格納エリア83に格納される。外部装置70からサービスプロセッサ8へのマイクロプログラムの供給は、例えば、制御装置100の導入時やマイクロプログラムのバージョンアップ時等に行われる。
【0013】
プロセッサ1,2,3,4において、サービスプロセッサ8から供給されたマイクロプログラムは、マイクロプログラム格納エリア14,24,34,44、及びマイクロプログラムロードエリア15,25,35,45に格納される。各プロセッサ1,2,3,4において、例えば、プロセッサ1,2,3,4の起動時にマイクロプログラム格納エリア14,24,34,44からマイクロプログラムロードエリア15,25,35,45にマイクロプログラムがロードされる。
【0014】
制御装置100において、外部装置70から供給されてマイクロプログラム格納エリア83に格納されたマイクロプログラムは、まず、共有メモリ5のマイクロプログラム格納エリア51に転送され、その後、各プロセッサ1,2,3,4が共有メモリアクセスバス9を経由して共有メモリ5にアクセスすることにより各プロセッサ1,2,3,4に取り込まれる。
【0015】
マイクロプログラム格納エリア83から共有メモリ5のマイクロプログラム格納エリア51へのマイクロプログラムの転送は、サービスプロセッサ−プロセッサ間通信バス10、プロセッサ1,2,3,4のうちの少なくとも1以上のプロセッサ、共有メモリアクセスバス9を経由して行われる。ここでマイクロプログラムは、その全体をプロセッサ1,2,3,4のうちの特定のプロセッサにより一括して転送する(以下、この転送方式を一括転送方式と称する)ことができる。また、マイクロプログラムは、これを複数のデータ(以下、分割データと称する)に分割し、分割データをそれぞれ複数のプロセッサ1,2,3,4に分担させて共有メモリ5に転送することもできる(以下、この転送方式を分割転送方式と称する)。一括転送方式もしくは分割転送方式のいずれの転送方式で転送するのかは、例えば、外部装置70からサービスプロセッサ8に対して指示することができる。
【0016】
一括転送方式の場合における処理の流れを図2に示している。一括転送方式では、サービスプロセッサ8のマイクロプログラム格納エリア83に格納されているマイクロプログラムを特定のプロセッサが一括して共有メモリ5に転送する。
転送に際しては、まず、サービスプロセッサ8からマイクロプログラムの転送処理を担当する特定のプロセッサに対してサービスプロセッサ−プロセッサ間通信バス10を介してマイクロプログラムが転送され(S211)、特定のプロセッサは自身のローカルメモリにマイクロプログラムを記憶する。次に、前記特定のプロセッサが記憶している前記マイクロプログラムを共有メモリ5のマイクロプログラム格納エリア51に転送する(S212)。
【0017】
一方、分割転送方式の場合における処理の流れを図3に示している。この方式では、まず、サービスプロセッサ8がマイクロプログラム格納エリア83に格納されているマイクロプログラムを所定のデータサイズに分割することにより分割データを生成し、生成した分割データをメモリ82の所定の領域に格納する(S311)。プロセッサ制御部81は、生成した分割データをメモリ82に記憶するに際し、生成した分割データのそれぞれに識別子を付帯させてメモリ82に記憶する(S312)。分割データに付帯させる前記識別子は、後に分割データを結合してマイクロプログラムを復元する際の結合順序が把握できるようにするために、例えば、数字もしくはアルファベット等、結合順序を特定できる識別子が採用される。なお、この実施例で説明する分割データには、識別子として、マイクロプログラムの復元時における結合順を示す数字(以下、分割データ番号と称する)が付与される。
【0018】
次に、プロセッサ制御部81は、以上のようにして生成された各分割データに対し、それぞれの共有メモリ5への転送処理を担当するプロセッサを割り当てる(S313)。各分割データの転送処理をどのプロセッサが担当しているのか、すなわち、各分割データを担当するプロセッサの割り当ては、メモリ82の記憶領域に記憶されている、図4に示す転送データ管理テーブル400に登録される(S314)。この図に示すように、転送データ管理テーブル400には、分割データに付与されている識別子とプロセッサに付与されている識別子との対応づけが登録されている。「分割データ」の欄410には分割データの識別子が設定される。
「担当プロセッサ」の欄420にはその分割データの共有メモリ5への転送処理を担当するプロセッサの識別子が設定される。「先頭アドレス」の欄430には、その分割データが格納されているメモリ82上のアドレスが設定される。「データ長」の欄440には、その分割データのデータ長が設定される。「ステータス」の欄450には、その分割データが既に転送済であるかどうかを示すフラグが設定される。この例では、転送済みの場合には「転送済」が、未転送の場合には「未転送」が設定される。サービスプロセッサ8は、分割データの割り当てを行う度に、もしくは、変更する度に、転送データ管理テーブル400の内容をリアルタイムに更新する。
【0019】
サービスプロセッサ8は、分割データを生成して各分割データの転送処理を担当するプロセッサを決定すると、分割データの転送処理を担当させるプロセッサに対し、分割データの転送指示を通知する(S315)。各プロセッサ1,2,3,4は、前記通知を受信すると、サービスプロセッサ8から送られてくる分割データを記憶するためのローカルメモリ13,23,33,43上の記録領域の確保等の準備処理を行った後、自身が分割データの受信待機状態である旨の通知をサービスプロセッサ8に通知する(S316)。サービスプロセッサ8は、前記通知を受信すると、前記プロセッサに対して前記プロセッサが転送処理を担当する分割データを送信する(S317)。なお、サービスプロセッサ8は、送信する各分割データに対し、上記の識別子を付帯させる。サービスプロセッサ8から送られてくる分割データを受信すると、各プロセッサは、受信した分割データを自身のローカルメモリ13,23,33,43に記憶する(S318)。
【0020】
次に各プロセッサ1,2,3,4は、ローカルメモリ13,23,33,43に分割データを記憶すると、記憶した分割データを、共有メモリ5のマイクロプログラム格納エリア51に共有メモリアクセスバス9を介して格納する(S319)。図5にマイクロプログラム格納エリア51に格納されている分割データの状態を示している。各分割データの先頭には、分割データ番号510が格納される。
分割データの末尾には、分割データの末尾であることを示す情報(EOD(End Of Data))が設定されている。この図に示すように、分割データは、マイクロプログラム格納エリア51の先頭アドレスから順に書き込まれていく。また、原則として、既に書き込まれている分割データに続けて次の分割データが書き込まれる。マイクロプログラム格納エリア51に格納される分割データの格納順序は、必ずしも分割データ番号の番号順であるとは限らない。すなわち、分割データの格納順序は、例えば、各プロセッサ1,2,3,4の処理負荷等に応じて決定され、マイクロプログラムを復元する際における分割データを結合する順序に必ずしも一致しているとは限らない。
【0021】
各プロセッサ1,2,3,4は、以上のようにして前記分割データについてのマイクロプログラム格納エリア51への格納が完了すると、サービスプロセッサ8に対して前記分割データについての共有メモリ5への格納を完了した旨を通知する(S320)。サービスプロセッサ8は、前記プロセッサから送られてくる前記通知を受信すると、転送データ管理テーブル400における該当の分割データの「ステータス」の欄450に「転送済」を設定する(S321)。
【0022】
サービスプロセッサ8は、転送データ管理テーブル400の「ステータス」の欄450の内容をリアルタイムに監視している(S322)。サービスプロセッサ8は、転送データ管理テーブル400の全ての分割データの「ステータス」の欄450に「転送済」が設定されたことを検知すると(S322:YES)、共有メモリ5へのマイクロプログラムの格納(セットアップ)が完了した旨を、各プロセッサ1,2,3,4に対して通知する(S323)。
【0023】
各プロセッサ1,2,3,4は、それぞれのローカルメモリ13,23,33,43に、マイクロプログラムの更新要否を示すマイクロプログラム更新フラグを管理している。各プロセッサ1,2,3,4のうちの少なくともいずれかのプロセッサは、前記通知を受信すると、マイクロプログラム更新フラグを更新が必要であることを示すONの状態に設定する(S324)。
【0024】
以上のようにして、サービスプロセッサ8から共有メモリ5へのマイクロプログラムの転送処理が行われる。なお、分割転送方式によりマイクロプログラムを転送した場合、マイクロプログラムは複数の分割データに分割され、マイクロプログラムは各分割データの転送処理を担当する複数のプロセッサによって共有メモリ5に格納される。このため、マイクロプログラムの転送処理について負荷分散が図られることになり、1つのプロセッサに処理負荷を集中させることなく、サービスプロセッサ8に格納されているマイクロプログラムを効率よく共有メモリ5に格納することができる。
【0025】
なお、以上に説明した実施例では、共有メモリ5にマイクロプログラムが格納された旨の通知をサービスプロセッサ8から各プロセッサ1,2,3,4に通知するようにしている(S323)が、サービスプロセッサ8から通知するのでは無く、プロセッサ1,2,3,4が自発的にサービスプロセッサ8に共有メモリ5に新たにマイクロプログラムを格納されたかどうかを問い合わせる構成としてもよい。
【0026】
また、各プロセッサ1,2,3,4から各々が共有メモリ5に格納した分割データの数(以下、格納数と称する)を所定のタイミング(例えば、一定時間ごと)で自発的もしくはサービスプロセッサ8からの要求に応じてサービスプロセッサ8に通知するようにし、サービスプロセッサ8が、各プロセッサから通知される格納数の総和がマイクロプログラムの分割数に一致したことをもって共有メモリ5にマイクロプログラムが格納されたと判断するようにしてもよい。また、この場合、各プロセッサ1,2,3,4からサービスプロセッサ8に通知される格納数を、ユーザインタフェースによりリアルタイムにオペレータ等に通知するようにすることで、オペレータ等に分割データの共有メモリ5への転送処理のリアルタイムな進捗状況を把握させることも可能となる。
【0027】
以上に説明した実施例において、各プロセッサがダウンロードする分割データはそれぞれ異なる分割データであり、メモリ82に格納されている同じ分割データに対して複数のプロセッサからアクセスされることが無い。このため、分割データに対して排他制御を行う必要が無くなり、これによりプロセッサから分割データをダウンロードするためのプログラムをシンプルに構成することが可能となり、メモリ容量の有効利用等が図られる。また、排他制御が必要で無いことにより排他制御に起因する処理待ち時間も発生しないこととなり、その分、処理効率が向上する。
【0028】
以上に説明した実施例において、分割データへのプロセッサの割り当て方法としては、例えば、単純に各プロセッサ1,2,3,4に分割データを割り当てる方法、各プロセッサ1,2,3,4の処理負荷に応じて処理負荷の少ないプロセッサから順に割り当てていく方法等がある。また、ひとたび分割データが割り当てられた後、転送処理が開始されてから転送処理が完了するまでの期間のある時点において、その時点でのリアルタイムな処理負荷を測定し、その測定結果に応じて残存する未転送の分割データの転送処理を担当するプロセッサ1,2,3,4を割り当て直すようにすることもできる。この場合、例えば、先に転送処理が終了して処理負荷が軽くなったプロセッサを再び転送処理に参加させることが可能となり、処理の効率を向上させることができる。
【0029】
また、以上に説明した実施例では、サービスプロセッサ8からプロセッサ1,2,3,4に対して分割データの転送指示を通知するようにしているが(S315)、転送すべき分割データがあるか否かをプロセッサ1,2,3,4が自発的にサービスプロセッサ8に問い合わせる構成とすることもできる。またこの場合、プロセッサ1,2,3,4が自身の処理負荷の変化を監視して、処理負荷が少ない時に、プロセッサ1,2,3,4が分割データがあるか否かをサービスプロセッサ8に問い合わせる構成とすることもできる。このようにすることで、マイクロプロセッサの供給に関する処理の効率をより一層向上させることができる。なお、この場合、処理負荷の大小は、単位時間当たりのタスク数等の処理負荷に対応するパラメータの値を閾値と比較することにより判定する。
【0030】
マイクロプログラムの分割数や分割データのデータサイズは固定的に設定してもよいし、上記転送が行われる度に変化させるようにすることもできる。また、分割数やデータサイズは、例えば、プロセッサ1,2,3,4の処理負荷の状況に応じて変化させるようにすることもできる。この場合、処理負荷は、例えば、各プロセッサにおいて単位時間当たりに処理されるタスク数を計測することにより把握する。
【0031】
また、分割数については、例えば、プロセッサ1,2,3,4のいずれの処理負荷も大差ない場合には、プロセッサ1,2,3,4の全てにマイクロプログラムを転送させるようにし、この場合には分割数を4に設定し、例えば、プロセッサ1の処理負荷が高い場合には、プロセッサ2,3,4のみにマイクロプログラムを転送させるようにし、この場合には分割数を3に設定するようにすることも考えられる。また、分割数をNと設定している場合において、プロセッサの処理負荷の差が閾値よりも小さければ各分割データのデータサイズを均等に設定し、プロセッサの処理負荷の差が閾値以上となった場合は処理負荷が大きいプロセッサが担当する分割データのデータサイズを処理負荷の低いプロセッサが担当する分割データのデータサイズよりも小さく設定するようにしてもよい。
【0032】
===プロセッサへのロード===
共有メモリ5のマイクロプログラム格納エリア51に格納されているマイクロプログラムは所定のタイミングでプロセッサ1,2,3,4に取り込まれる。プロセッサ1,2,3,4に取り込まれたマイクロプログラムは、不揮発性メモリ12,22,32,42上に確保されているマイクロプログラム格納エリア14,24,34,44に格納される。また、マイクロプログラムロードエリア15,25,35,45には、マイクロプログラム格納エリア51、もしくは、マイクロプログラム格納エリア14,24,34,44に記憶されているマイクロプログラムが適宜ロードされる。また、上述したように、分割転送方式で転送されたマイクロプログラム格納エリア51に格納されているマイクロプログラムは分割データの状態で格納されているので、これを利用できるようにするために、分割データは所定のタイミングで結合されてもとのマイクロプログラムの復元が行われる。
【0033】
===ローカルメモリへのロード===
図6は、本発明が適用される制御装置100のタスク生成シーケンスである。プロセッサ1,2,3,4が起動されると(S601)、プロセッサ1,2,3,4内部にある不揮発メモリ12,22,32,42からローカルメモリ13,23,33,43にルートプログラム606がロードされ(S614)、ルートタスク(S602)が生成される(S613)。生成されたルートタスク(S602)は、不揮発メモリ12,22,32,42からマイクロプログラムロードプログラム607をロードし(S616)、マイクロプログラムロードタスク603を生成する(S615)。
マイクロプログラムロードタスク(S603)は、不揮発メモリ12,22,32,42に格納されているメインプログラム608、共有メモリ5に格納されているメインプログラム612のいずれかをロードし(S618)、メインタスク(S604)を生成する(S617)。
【0034】
図7は、図6のマイクロプログラムロードタスク(S603)の詳細な処理フローである。マイクロプログラムロードタスク(S603)は、起動されると、共有メモリアクセスバスの設定(S702)や共有メモリアクセスパスの確立(S703)を行う。次に、マイクロプログラムロードタスク(S603)は、共有メモリアクセスバス9が使用可能であるか否かを判定し(S704)、使用可能であるならば、共有メモリ5中のマイクロプログラムが有効か否かを判定する(S705)。有効であるならば、共有メモリ5のマイクロプログラムと不揮発メモリ12,22,32,42のマイクロプログラムとが異なるか否かを判定する(S706)。ここでマイクロプログラムが異なるならば、共有メモリ5からローカルメモリ13,23,33,43にマイクロプログラムをロードする(S707)。前記ロードに際し、プロセッサ制御部11,21,31,41は、共有メモリ5のマイクロプログラム格納エリア51に格納されている複数の分割データを読み出して、読み出した分割データを識別子の順序で順に結合し、もとのマイクロプログラムを復元する。そして、以上の処理によって復元されたマイクロプログラムが共有メモリ5からローカルメモリ13,23,33,43にロードされる。なお、(S706)におけるマイクロプログラムが異なるかどうかの判定に代えて、上述のマイクロプログラム更新フラグに応じて共有メモリ5からのマイクロプログラムのロードを行うかどうかを決定するようにしてもよい。
【0035】
次にプロセッサ1,2,3,4は、マイクロプログラムのロードに成功したか否かを判定し(S708)、共有メモリ5からローカルメモリ13,23,33,43へのマイクロプログラムのロードに成功したならば、共有メモリ5のマイクロプログラム有効フラグをONに設定する(S709)。ここでこのマイクロプログラム有効フラグは、後述するように、マイクロプログラムを共有メモリ5から不揮発性メモリ12,22,32,42にロードする必要があるかどうか、すなわち、不揮発性メモリ12,22,32,42の内容を更新する必要があるかどうかを判定するのに用いられる。
【0036】
次に、(S710)では、プロセッサ1,2,3,4は、ローカルメモリ13,23,33,43へのマイクロプログラムのロードに成功したか否かを判定し(S710)、成功したならば、メインタスクを生成し(S711)、処理を終了する(S712)。
【0037】
なお、(S704)の判定において、バスが使用可能でなかった場合や、(S706)の判定において、共有メモリ5のマイクロプログラムと不揮発メモリ12,22,32,42のマイクロプログラムが同じであった場合には、共有メモリ5からではなく不揮発メモリ12,22,32,42からマイクロプログラムをロードする(S714)。また、(S705)の判定において、共有メモリ5中のマイクロプログラムが、共有メモリ5に記憶されているデータの揮発や障害発生等の理由により無効であった場合や、(S708)の判定において、共有メモリ5からのロードに成功しなかった場合には、共有メモリ5に記憶されているマイクロプログラム無効フラグをONに設定する(S713)。また、不揮発メモリ12,22,32,42のマイクロプログラム格納エリア14,24,34,44からローカルメモリ13,23,33,43にマイクロプログラムをロードする(S714)。そして、マイクロプログラムのローカルメモリ13,23,33,43へのロードに成功したか否かを判定し(S710)、成功したならば、プロセッサ1,2,3,4は、メインタスクを生成し(S711)、処理を終了する(S712)。
【0038】
===不揮発性メモリへのロード===
図8は、図6のメインタスク(S604)の処理を説明するフローチャートである。この図は、不揮発性メモリ12,22,32,42及び共有メモリ5へのマイクロプログラムのセットアップに関する処理を説明している。メインタスク(S604)は、起動されると、制御装置100のハードウェアやソフトウェアのさまざまな初期設定(S802)を行う。図6におけるマイクロプログラムロードタスク(S603)において共有メモリ5のマイクロプログラム有効フラグがONに設定された場合には(S709)、共有メモリ5のマイクロ有効フラグがONか否かの判定(S803)はONとなり(S803:YES)、プロセッサ1,2,3,4は、共有メモリ5から不揮発メモリ12,22,32,42のマイクロプログラム格納エリア14,24,34,44にマイクロプログラムを転送する(S804)。また(S803)の判定結果がONでない場合(S803:NO)には、(S804)の処理をスキップする。
【0039】
マイクロプログラムロードタスク(S603)において共有メモリ5のマイクロプログラム無効フラグがONに設定された場合(S713)、共有メモリ5のマイクロプログラム無効フラグがONか否かの判定(S805)は、ONとなり(S805:YES)、不揮発メモリ12,22,32,42のマイクロプログラム格納エリア14,24,34,44に記憶されているマイクロプログラムが共有メモリ5に転送され、これによりマイクロプログラム格納エリア51にマイクロプログラムが格納される(S806)。(S807)において、プロセッサ1,2,3,4は、不揮発メモリ12,22,32,42から共有メモリ5へのマイクロプログラムの転送に成功したか否かの判定を行い、成功したと判断したならば(S807:YES)、共有メモリ5のマイクロプログラム無効フラグをOFFに設定し(S808)、メインタスクの初期設定を終了する(S809)。また、(S805)の判定において、共有メモリ5のマイクロプログラム無効フラグがOFFであった場合(S805:NO)、プロセッサ1,2,3,4はそのままメインタスクの初期設定を終了する(S809)。また、(S807)の判定で、転送に成功しなかった時は(S807:NO)、そのままメインタスクの初期設定を終了する。
【0040】
===応用例===
図9に、以上に説明した制御装置100の応用例として説明する、ディスクアレイ装置900(ストレージ制御装置)及びこれに通信路940を介してアクセスする情報処理装置950とを含んで構成されるストレージシステム90のブロック構成を示している。情報処理装置950は、CPU(Central Processing Unit)やメモリを備えて構成される、パーソナルコンピュータ、ワークステーション、メインフレームコンピュータ等のコンピュータである。通信路940を介して行われる通信には、例えば、TCP/IPプロトコル、ファイバーチャネルプロトコル(Fibre Channel Protocol)、FICON(Fibre Connection)(登録商標)やESCON(Enterprise System Connection) (登録商標)等の通信プロトコルが採用される。
【0041】
ディスクアレイ装置900は、チャネル制御部910(通信制御部)、ディスク制御部920、キャッシュメモリ930、共有メモリ931、及びこれらを接続するスイッチ932、ディスクドライブ933、サービスプロセッサ934等を備えて構成される。スイッチ932としては、例えば、高速クロスバスイッチが用いられる。ディスクドライブ933はディスクアレイ装置900の他の構成部分とは別筐体に収容されていることもある。サービスプロセッサ934には管理端末935が接続している。管理端末935は、オペレータ等によって操作されるコンピュータである。オペレータ等は管理端末935を操作して、ディスクアレイ装置900に対する各種の設定や運用、動作状況の監視、障害監視等を行う。また、管理端末935は、バージョンアップ等の必要のためにチャネル制御部910やディスク制御部920にマイクロプログラムを供給するため、インターネット等のネットワークを通じたダウンロードやCD−ROM、DVD−ROM等の記録媒体936に記録されて供給されるマイクロプログラムをサービスプロセッサ934のメモリに転送する機能も提供する。なお、チャネル制御部910やディスク制御部装置920においてファイルシステムが動作している場合には、マイクロプログラムは、ファイル形式で提供されることもある。
【0042】
図10にチャネル制御部910の構成を示している。チャネル制御部910は、情報処理装置950との間での通信に関する機能を提供する通信インタフェース9101、ローカルメモリ9102、フラッシュメモリ等で構成される不揮発性メモリ9103、ローカルメモリ9102に記憶されているプログラムを実行することによりチャネル制御部910の各種機能を実現するマイクロプロセッサ9104、チャネル制御部910とキャッシュメモリ930との間での高速なデータ転送を実現するI/Oプロセッサ9105等を備える。不揮発性メモリ9103には、チャネル制御部910が提供する各種の機能を実現するソフトウェアであるマイクロプログラムが記憶されており、マイクロプログラムは適宜ローカルメモリ9102にロードされてマイクロプロセッサ9104により実行される。なお、これらの構成は互いにバス9109で接続されている。I/Oプロセッサ9105としては、例えば、DMA(Direct Memory Access)プロセッサが用いられる。
【0043】
図11にディスク制御部920の構成を示している。ディスク制御部920は、キャッシュメモリ930やチャネル制御部910との間での高速なデータ転送を実現するI/Oプロセッサ9201、ローカルメモリ9202、フラッシュメモリ等で構成される不揮発性メモリ9203、ローカルメモリ9202に記憶されているプログラムを実行することによりディスク制御部920の各種機能を実現するマイクロプロセッサ9204、ディスクドライブ933に対するデータの書き込みや読み出しを行うディスクコントローラ9205等を備える。不揮発性メモリ9203には、ディスク制御部920が提供する各種の機能を実現するソフトウェアであるマイクロプログラムが記憶されている。マイクロプログラムは適宜ローカルメモリ9202にロードされてマイクロプロセッサ9204により実行される。なお、これらの構成は互いにバス9209で接続されている。I/Oプロセッサ9201としては、例えば、DMA(Direct Memory Access)プロセッサが用いられる。ディスクコントローラ9205は、ディスクドライブ933をRAIDの方式(例えば、RAID0,1,5)で制御する機能も提供する。
【0044】
共有メモリ931及びキャッシュメモリ930は、例えば、各種制御情報やコマンド等を記憶するために利用される。キャッシュメモリ930は、例えば、ディスクドライブ933に書き込まれるデータやディスクドライブ933から読み出されたデータを記憶するのに利用される。
【0045】
図12にサービスプロセッサ934の構成を示している。サービスプロセッサ934は、マイクロプロセッサ9344、メモリ9342等を備えて構成される。サービスプロセッサ934は、内部通信インタフェース9343により内部通信路970を介してチャネル制御部910やディスク制御部920と通信可能に接続されている。内部通信路970としては、例えば、PCI等のバスや通信プロトコルとしてTCP/IPを用いるLAN(Local Area Network)が採用される。またサービスプロセッサ934は、外部通信インタフェース9344により管理端末935と通信可能に接続されている。サービスプロセッサ934と管理端末935との間の通信手段としてはバスやLANが採用される。なお、マイクロプロセッサ9104、メモリ9102、内部通信インタフェース9343、外部通信インタフェース9344はそれぞれバス9349で接続されている。
【0046】
サービスプロセッサ934は、チャネル制御部910やディスク制御部920に対する各種動作設定や障害監視、動作状態に関する情報の収集等を行う。サービスプロセッサ934は、各チャネル制御部910や各ディスク制御部920の処理負荷に関する情報を収集することができる。処理負荷に関する情報とは、例えば、マイクロプロセッサ9104,9204の使用率等である。これらの値は、チャネル制御部910やディスク制御部920において実行されるプログラムによって提供される。
【0047】
この応用例のストレージシステム90において、上述の制御装置100における共有メモリ5は、ディスクアレイ装置900の構成要素である共有メモリ931に対応する。また、上述の制御装置100におけるプロセッサ1,2,3,4は、ディスクアレイ装置900の構成要素であるチャネル制御部910、もしくは、ディスク制御部920に対応する。
【0048】
また、上述の制御装置100におけるサービスプロセッサ8は、ディスクアレイ装置900の構成要素であるサービスプロセッサ934に対応する。サービスプロセッサ934のメモリ9302には、管理端末935から適宜マイクロプログラムが格納される。サービスプロセッサ934は、上述した方法により共有メモリ931を経由して、メモリに格納されているマイクロプログラムをチャネル制御部910やディスク制御部920に転送する。チャネル制御部910やディスク制御部920においてファイルシステムが動作している場合、マイクロプログラムはファイルの形式で取り扱われる。また、この場合、上述した分割データもファイルの形式で取り扱われる。
【0049】
上述の制御装置100におけるローカルメモリ13,23,33,43は、ローカルメモリ9102,9202に対応する。上述の制御装置100における不揮発性メモリ12,22,32,42は、不揮発性メモリ9103,9203が対応する。上述の制御装置100におけるプロセッサ制御部11,21,31,41は、マイクロプロセッサ9104,9204、I/Oプロセッサ9105,9201、通信インタフェース9101、ディスクコントローラ9205等の少なくともいずれかが対応する。上述の制御装置100における制御対象部位6,7は、例えば、プロセッサ1,2,3,4がチャネル制御部910である場合には、他のチャネル制御部910やディスク制御部920、キャッシュメモリ930、共有メモリ931等である。また、例えば、プロセッサ1,2,3,4がディスク制御部920である場合には、他のディスク制御部910やチャネル制御部910、ディスクドライブ933、キャッシュメモリ930、共有メモリ931等である。
【0050】
情報処理装置950から送信されてくるデータ書き込み要求やデータ読み出し要求などのデータ入出力要求を受信した場合におけるディスクアレイ装置900の基本的な動作について説明する。まず、情報処理装置950からディスクアレイ装置900に対してデータ書き込み要求が送信された場合について説明する。
ディスクアレイ装置900は、情報処理装置950から送られてくるデータ書き込み要求を受信すると、データ書き込みコマンドを共有メモリ931に書き込むと共に、情報処理装置950から受信した書き込みデータをキャッシュメモリ930に書き込む。ディスクアレイ装置900は、キャッシュメモリ930へのデータの書き込みが完了すると、情報処理装置950に書き込み完了報告を送信する。すなわち、情報処理装置950への完了報告は、ディスクドライブ900への実際のデータの書き込み動作とは非同期に行われる。ディスク制御部920は、リアルタイム(例えば、一定の時間間隔で)に共有メモリ931の内容を監視している。ディスク制御部920は、上記監視により共有メモリ931にデータ書き込みコマンドが書き込まれていることを検知すると、キャッシュメモリ930から書き込み対象となるデータ(以下、書き込みデータと称する)を読み出して、読み出した書き込みデータをディスクドライブ933に書き込む。以上のようにしてデータ書き込み要求に対応したディスクドライブ933へのデータの書き込みが行われる。
【0051】
次に、情報処理装置950からディスクアレイ装置900に対してデータ書き込み要求が送信された場合におけるディスクアレイ装置900の基本的な動作について説明する。ディスクアレイ装置900は、情報処理装置950から送られてくるデータ読み出し要求を受信すると、この要求に対応するデータ読み出しコマンドをディスク制御部920に送出する。なお、チャネル制御部910からディスク制御部920へのデータ読み出しコマンドの伝達は、共有メモリ931を介して行われることもある。
【0052】
ディスク制御部920は、チャネル制御部910からデータ読み出しコマンドを受領すると、そのコマンドに指定されている読み出し対象のデータをディスクドライブ933から読み出して、読み出したデータをキャッシュメモリ930に書き込む。ディスク制御部920は、キャッシュメモリ930へのデータ転送が完了すると、その旨をチャネル制御部910に通知する。そして前記通知を受信したチャネル制御部910は、キャッシュメモリ930に記憶されている読み出し対象のデータを情報処理装置950に転送する。
【0053】
以上、一実施形態に基づき本発明について説明したが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることは勿論である。
【0054】
【発明の効果】
この発明によれば、コンピュータの制御方法、コンピュータ、ストレージ制御装置、プログラム、及び記録媒体を提供することが可能となる。
【図面の簡単な説明】
【図1】本発明の一実施例として説明する、制御装置のブロック構成を示す図である。
【図2】本発明の一実施例として説明する、一括転送方式の場合の処理の流れを説明するフローチャートを示す図である。
【図3】本発明の一実施例として説明する、分割転送方式の場合の処理の流れを説明するフローチャートを示す図である。
【図4】本発明の一実施例として説明する、転送データ管理テーブルを示す図である。
【図5】本発明の一実施例として説明する、共有メモリのマイクロプログラム格納エリアに格納されている分割データの状態を示す図である。
【図6】本発明の一実施例として説明する、本発明が適用される制御装置のタスクシーケンスを説明するフローチャートを示す図である。
【図7】本発明の一実施例として説明する、マイクロプログラムロードタスクの処理を説明するフローチャートを示す図である。
【図8】本発明の一実施例として説明する、メインタスクの処理を説明するフローチャートを示す図である。
【図9】本発明の一実施例として説明する、ストレージシステムのブロック構成を示す図である。
【図10】本発明の一実施例として説明する、チャネル制御部の構成を示す図である。
【図11】本発明の一実施例として説明する、ディスク制御部の構成を示す図である。
【図12】本発明の一実施例として説明する、サービスプロセッサの構成を示す図である。
【符号の説明】
1〜4 プロセッサ
5 共有メモリ
6,7 制御対象部位
8 サービスプロセッサ
9 共有メモリアクセスバス
10 サービスプロセッサ−プロセッサ間通信バス
11,21,31,41 プロセッサ制御部
13,23,33,43 ローカルメモリ
14,24,34,44 マイクロプログラム格納エリア
15,25,35,45 マイクロプログラムロードエリア
51 マイクロプログラム格納エリア
70 外部装置
81 プロセッサ制御部
82 メモリ
83 マイクロプログラム格納エリア
100 制御装置
400 転送データ管理テーブル
900 ディスクアレイ装置
910 チャネル制御部
9102 ローカルメモリ
9103 不揮発性メモリ
920 ディスク制御部
9202 ローカルメモリ
9203 不揮発性メモリ
930 キャッシュメモリ
931 共有メモリ
932 スイッチ
933 ディスクドライブ
935 管理端末
936 記録媒体
940 通信路
950 情報処理装置[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a computer control method, a computer, a storage control device, a program, and a recording medium.
[0002]
[Prior art]
In a computer system that employs a so-called multiprocessor architecture configured for the purpose of achieving load distribution, high performance, and high reliability, a memory for storing a microprogram executed by the processor is provided for each processor. There is a configuration that takes the configuration described below. For example, in a disk array device whose demand is increasing due to the recent development of IT technology, a communication control unit (channel control unit) for controlling communication with an information processing device to be accessed and a large number of disk drives are required. There is a multiprocessor configuration in which a plurality of disk control devices for performing access are mounted.In such a disk array device, a memory for storing a microprogram is provided for each communication control unit, or It is provided for each disk control unit.
[0003]
In the computer system having the above configuration, for example, at the time of setup, version upgrade, or the like, a process of transferring a microprogram to a memory is performed. Here, since the transfer processing of the microprogram affects other processing of the computer system, it is preferable to perform the processing as efficiently as possible. Therefore, as a mechanism for increasing the efficiency of the transfer processing, for example, Japanese Patent Application Laid-Open Publication No. H11-157572 discloses a method in which a microprogram is transferred to a shared memory accessible by each processor, and each processor reads the microprogram by itself to execute parallel data transfer. A technique has been disclosed in which a load is distributed by performing transfer, and the time for loading a microprogram to a memory corresponding to a processor is reduced.
[0004]
[Patent Document 1]
JP-A-11-250028
[0005]
[Problems to be solved by the invention]
In the technology described in the above publication, a microprogram to be loaded into a memory corresponding to each processor is transferred to a shared memory in advance. However, since this transfer is performed through a specific processor, Concentration of load on the inevitable. Further, in a mechanism in which only a specific processor is involved in writing, the efficiency of the transfer process is determined by the processing capability of the specific processor, so it is difficult to improve the efficiency of the transfer process.
[0006]
The present invention has been made in view of such a background, and in a computer system having a multiprocessor architecture, a computer control method, a computer, and a storage control capable of efficiently supplying a microprogram executed by each processor. It is an object to provide an apparatus, a program, and a recording medium.
[0007]
[Means for Solving the Problems]
Including two or more processors, a first memory provided corresponding to each of the processors and storing a program to be executed by the processors, and a second memory accessible by each of the processors In the computer control method configured, wherein at least two or more of the processors share divided data, which is data obtained by dividing a program stored in the first memory, and transfer the divided data to the second memory. Restoring the program by combining the divided data stored in the second memory by the transfer, and causing the processor to store the restored program in the first memory And
[0008]
The present invention is applied to a computer adopting a multiprocessor architecture having two or more processors. The first memory is, for example, a local memory or a non-volatile memory that stores a microprogram executed by each processor corresponding to each processor of a computer having such an architecture. The second memory is, for example, a shared memory provided to be accessible from each processor in a computer having such an architecture.
The present invention is applied, for example, when a microprogram supplied from the outside is set up in the first memory by each of the processors.
[0009]
In addition, the problems disclosed by the present application and the solution thereof will be clarified by the description of the embodiments of the invention and the drawings.
[0010]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1 shows a block configuration of a
[0011]
The
[0012]
In the
[0013]
In the
[0014]
In the
[0015]
The transfer of the microprogram from the
[0016]
FIG. 2 shows a processing flow in the case of the batch transfer method. In the batch transfer method, a specific processor collectively transfers the microprogram stored in the
At the time of the transfer, first, the microprogram is transferred from the service processor 8 to the specific processor in charge of the transfer processing of the microprogram via the service processor-processor communication bus 10 (S211), and the specific processor owns itself. Store the microprogram in local memory. Next, the microprogram stored in the specific processor is transferred to the
[0017]
On the other hand, FIG. 3 shows a processing flow in the case of the division transfer method. In this method, first, the service processor 8 generates divided data by dividing the microprogram stored in the
[0018]
Next, the
The “assigned processor”
[0019]
After generating the divided data and determining the processor in charge of the transfer processing of each divided data, the service processor 8 notifies the processor in charge of the transfer processing of the divided data of an instruction to transfer the divided data (S315). Upon receiving the notification, each of the
[0020]
Next, each of the
At the end of the divided data, information (EOD (End Of Data)) indicating the end of the divided data is set. As shown in this figure, the divided data is sequentially written from the head address of the
[0021]
When the storage of the divided data in the
[0022]
The service processor 8 monitors the contents of the “status”
[0023]
Each of the
[0024]
As described above, the process of transferring the microprogram from the service processor 8 to the shared
[0025]
In the above-described embodiment, the service processor 8 notifies the
[0026]
The number of divided data stored in the shared
[0027]
In the embodiment described above, the divided data downloaded by each processor is different from each other, and the same divided data stored in the
[0028]
In the above-described embodiment, as a method of allocating the processor to the divided data, for example, a method of simply allocating the divided data to each of the
[0029]
In the embodiment described above, the service processor 8 notifies the
[0030]
The number of divisions of the microprogram and the data size of the divided data may be fixedly set, or may be changed each time the transfer is performed. Further, the number of divisions and the data size can be changed according to, for example, the processing load of the
[0031]
As for the number of divisions, for example, if the processing loads of the
[0032]
=== Load to processor ===
The microprogram stored in the
[0033]
=== Load to local memory ===
FIG. 6 is a task generation sequence of the
The micro program load task (S603) loads any of the main program 608 stored in the
[0034]
FIG. 7 is a detailed processing flow of the microprogram loading task (S603) in FIG. When activated, the microprogram load task (S603) sets a shared memory access bus (S702) and establishes a shared memory access path (S703). Next, the microprogram load task (S603) determines whether or not the shared memory access bus 9 is usable (S704). If so, the microprogram in the shared
[0035]
Next, the
[0036]
Next, in (S710), the
[0037]
In the determination of (S704), when the bus was not available, or in the determination of (S706), the microprogram of the shared
[0038]
=== Loading to nonvolatile memory ===
FIG. 8 is a flowchart illustrating the processing of the main task (S604) in FIG. This figure explains the processing related to the setup of the microprogram in the
[0039]
When the microprogram invalid flag of the shared
[0040]
=== Application Example ===
FIG. 9 illustrates a storage including a disk array device 900 (storage control device) and an
[0041]
The
[0042]
FIG. 10 shows the configuration of the
[0043]
FIG. 11 shows the configuration of the
[0044]
The shared
[0045]
FIG. 12 shows the configuration of the
[0046]
The
[0047]
In the
[0048]
The service processor 8 in the
[0049]
The
[0050]
A basic operation of the
Upon receiving the data write request sent from the
[0051]
Next, a basic operation of the
[0052]
When receiving the data read command from the
[0053]
As described above, the present invention has been described based on one embodiment. However, the above embodiment of the present invention is for facilitating understanding of the present invention, and does not limit the present invention. The present invention can be changed and improved without departing from the gist thereof, and the present invention naturally includes equivalents thereof.
[0054]
【The invention's effect】
According to the present invention, it is possible to provide a computer control method, a computer, a storage control device, a program, and a recording medium.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a block configuration of a control device described as an embodiment of the present invention.
FIG. 2 is a diagram illustrating a flowchart for explaining a processing flow in the case of a batch transfer method, which is described as one embodiment of the present invention;
FIG. 3 is a diagram illustrating a flowchart for explaining a processing flow in the case of a division transfer method, which is described as one embodiment of the present invention;
FIG. 4 is a diagram showing a transfer data management table described as an embodiment of the present invention.
FIG. 5 is a diagram illustrating a state of divided data stored in a microprogram storage area of a shared memory described as an embodiment of the present invention.
FIG. 6 is a flowchart illustrating a task sequence of a control device to which the present invention is applied, which is described as an embodiment of the present invention.
FIG. 7 is a diagram illustrating a flowchart illustrating processing of a microprogram load task, which is described as one embodiment of the present invention.
FIG. 8 is a diagram illustrating a flowchart illustrating processing of a main task, which is described as one embodiment of the present invention.
FIG. 9 is a diagram showing a block configuration of a storage system described as an embodiment of the present invention.
FIG. 10 is a diagram illustrating a configuration of a channel control unit described as one embodiment of the present invention.
FIG. 11 is a diagram illustrating a configuration of a disk control unit described as an embodiment of the present invention.
FIG. 12 is a diagram illustrating a configuration of a service processor described as an embodiment of the present invention.
[Explanation of symbols]
1-4 processor
5 Shared memory
6,7 Control target site
8 Service processor
9 Shared memory access bus
10 Service processor-processor communication bus
11, 21, 31, 41 Processor control unit
13,23,33,43 Local memory
14, 24, 34, 44 Microprogram storage area
15, 25, 35, 45 Micro program load area
51 Microprogram storage area
70 External device
81 Processor control unit
82 memory
83 Micro program storage area
100 control device
400 transfer data management table
900 disk array device
910 Channel control unit
9102 Local memory
9103 Non-volatile memory
920 Disk control unit
9202 Local memory
9203 Non-volatile memory
930 cache memory
931 Shared memory
932 switch
933 disk drive
935 management terminal
936 Recording medium
940 communication channel
950 Information processing device
Claims (12)
少なくとも2以上の前記プロセッサが、前記第一のメモリに記憶されるプログラムを分割したデータである分割データをそれぞれ分担して前記第二のメモリに転送するステップと、
前記プロセッサが、前記転送によって前記第二のメモリに記憶された分割データを結合することにより前記プログラムを復元するステップと、
前記プロセッサが、復元した前記プログラムを前記第一のメモリに記憶させるステップと、を有することを特徴とするコンピュータの制御方法。Including two or more processors, a first memory provided corresponding to each of the processors and storing a program to be executed by the processors, and a second memory accessible by each of the processors In the configured computer control method,
A step in which at least two or more processors share the divided data, which is data obtained by dividing a program stored in the first memory, and transfer the divided data to the second memory;
The processor restores the program by combining the divided data stored in the second memory by the transfer;
A step of causing the processor to store the restored program in the first memory.
前記分割データの前記第二のメモリへの転送を担当させる前記プロセッサを前記各プロセッサの処理負荷に応じて決定すること、を特徴とするコンピュータの制御方法。The computer control method according to claim 1,
A control method for a computer, wherein the processor that is in charge of transferring the divided data to the second memory is determined according to the processing load of each processor.
前記各プロセッサに担当させる分割データのデータサイズを前記プロセッサの処理負荷に応じて変化させることを特徴とするコンピュータの制御方法。The computer control method according to claim 1,
A control method for a computer, wherein a data size of divided data assigned to each processor is changed according to a processing load of the processor.
少なくとも2以上の前記通信制御部が、前記通信制御部に記憶させるためのプログラムを分割したデータである分割データをそれぞれ分担して前記共有メモリに転送するステップと、
前記通信制御部が、前記転送によって前記共有メモリに記憶された分割データを結合することにより前記プログラムを復元するステップと、
前記通信制御部が、復元した前記プログラムを前記通信制御部に記憶させるステップと、
を有することを特徴とするストレージ制御装置の制御方法。Two or more communication control units for communicating with the information processing apparatus, a disk control unit for inputting / outputting data to / from a disk drive, a shared memory accessible by each of the communication control units, A cache memory accessible by the disk control unit; and
At least two or more of the communication control unit, sharing the divided data, which is data obtained by dividing a program for storing in the communication control unit, and transferring the divided data to the shared memory;
The communication control unit restores the program by combining the divided data stored in the shared memory by the transfer;
The communication control unit stores the restored program in the communication control unit;
A control method for a storage control device, comprising:
少なくとも2以上の前記ディスク制御部が、前記ディスク制御部に記憶させるためのプログラムを分割したデータである分割データをそれぞれ分担して前記共有メモリに転送するステップと、
前記ディスク制御部が、前記転送によって前記共有メモリに記憶された分割データを結合することにより前記プログラムを復元するステップと、
前記ディスク制御部が、復元した前記プログラムを前記通信制御部に記憶させるステップと、を有することを特徴とするストレージ制御装置の制御方法。A communication control unit that communicates with an information processing device; two or more disk control units that input and output data to and from a disk drive; a shared memory accessible by each of the disk control units; A cache memory accessible by each disk control unit; and
A step in which at least two or more of the disk controllers share divided data, which are data obtained by dividing a program to be stored in the disk controller, and transfer the divided data to the shared memory;
The disk controller restores the program by combining the divided data stored in the shared memory by the transfer;
Storing the restored program in the communication control unit, wherein the disk control unit stores the restored program in the communication control unit.
前記通信制御部もしくは前記ディスク制御部が、前記通信制御部もしくは前記ディスク制御部に記憶させるためのプログラムを分割したデータである分割データをそれぞれ分担して前記共有メモリに転送するステップと、
前記通信制御部もしくは前記ディスク制御部が、前記転送によって前記共有メモリに記憶された分割データを結合することにより前記プログラムを復元するステップと、
前記通信制御部もしくは前記ディスク制御部が、復元した前記プログラムを前記通信制御部もしくは前記ディスク制御部に記憶させるステップと、を有することを特徴とするストレージ制御装置の制御方法。A communication control unit that performs communication with the information processing device, a disk control unit that performs data input / output to / from a disk drive, a shared memory that can be accessed by the communication control unit and the disk control unit, the communication control unit, A cache memory accessible by the disk control unit; and
A step in which the communication control unit or the disk control unit transfers divided data, which is data obtained by dividing a program to be stored in the communication control unit or the disk control unit, to the shared memory,
The communication control unit or the disk control unit restores the program by combining the divided data stored in the shared memory by the transfer,
Storing the restored program in the communication control unit or the disk control unit by the communication control unit or the disk control unit.
少なくとも2以上の前記プロセッサが前記第一のメモリに記憶されるプログラムを分割したデータである分割データをそれぞれ分担して前記第二のメモリに転送する手段と、
前記プロセッサが前記転送によって前記第二のメモリに記憶された分割データを結合することにより前記プログラムを復元する手段と、
前記プロセッサが復元した前記プログラムを前記第一のメモリに記憶させる手段と、を備えることを特徴とするコンピュータ。Including two or more processors, a first memory provided corresponding to each of the processors and storing a program to be executed by the processors, and a second memory accessible by each of the processors Composed,
Means for at least two or more of the processors sharing the divided data, which is data obtained by dividing a program stored in the first memory, and transferring the divided data to the second memory;
Means for the processor to restore the program by combining the divided data stored in the second memory by the transfer,
Means for storing the program restored by the processor in the first memory.
前記通信制御部もしくは前記ディスク制御部が、前記通信制御部もしくは前記ディスク制御部に記憶させるためのプログラムを分割したデータである分割データをそれぞれ分担して前記共有メモリに転送する手段と、
前記通信制御部もしくは前記ディスク制御部が、前記転送によって前記共有メモリに記憶された分割データを結合することにより前記プログラムを復元する手段と、
前記通信制御部もしくは前記ディスク制御部が、復元した前記プログラムを前記通信制御部もしくは前記ディスク制御部に記憶させる手段と、を備えることを特徴とするストレージ制御装置。A communication control unit that performs communication with the information processing device, a disk control unit that performs data input / output to / from a disk drive, a shared memory that can be accessed by the communication control unit and the disk control unit, the communication control unit, A cache memory accessible by the disk control unit,
Means for the communication control unit or the disk control unit to share the divided data, which is data obtained by dividing a program to be stored in the communication control unit or the disk control unit, and transfer the divided data to the shared memory;
Means for the communication control unit or the disk control unit to restore the program by combining the divided data stored in the shared memory by the transfer,
Means for causing the communication control unit or the disk control unit to store the restored program in the communication control unit or the disk control unit.
少なくとも2以上の前記プロセッサが、前記第一のメモリに記憶されるプログラムを分割したデータである分割データをそれぞれ分担して前記第二のメモリに転送する機能と、
前記プロセッサが、前記転送によって前記第二のメモリに記憶された分割データを結合することにより前記プログラムを復元する機能と、
前記プロセッサが、復元した前記プログラムを前記第一のメモリに記憶させる機能と、を実現させるためのプログラム。Including two or more processors, a first memory provided corresponding to each of the processors and storing a program to be executed by the processors, and a second memory accessible by each of the processors On the configured computer,
A function of transferring at least two or more processors to the second memory by respectively sharing divided data that is data obtained by dividing a program stored in the first memory;
A function of restoring the program by combining the divided data stored in the second memory by the transfer,
A function of causing the processor to store the restored program in the first memory.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003136093A JP2004341725A (en) | 2003-05-14 | 2003-05-14 | Control method for computer, computer, storage controller, program and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003136093A JP2004341725A (en) | 2003-05-14 | 2003-05-14 | Control method for computer, computer, storage controller, program and recording medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004341725A true JP2004341725A (en) | 2004-12-02 |
JP2004341725A5 JP2004341725A5 (en) | 2006-06-15 |
Family
ID=33526168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003136093A Pending JP2004341725A (en) | 2003-05-14 | 2003-05-14 | Control method for computer, computer, storage controller, program and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004341725A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006251896A (en) * | 2005-03-08 | 2006-09-21 | Nec Corp | Disk management device and disk load information acquisition method |
WO2007049543A1 (en) * | 2005-10-27 | 2007-05-03 | Sonac Incorporated | Calculating apparatus |
JP2015179465A (en) * | 2014-03-19 | 2015-10-08 | 日立オートモティブシステムズ株式会社 | Automotive electronic control unit and verification method for same |
-
2003
- 2003-05-14 JP JP2003136093A patent/JP2004341725A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006251896A (en) * | 2005-03-08 | 2006-09-21 | Nec Corp | Disk management device and disk load information acquisition method |
WO2007049543A1 (en) * | 2005-10-27 | 2007-05-03 | Sonac Incorporated | Calculating apparatus |
JP2015179465A (en) * | 2014-03-19 | 2015-10-08 | 日立オートモティブシステムズ株式会社 | Automotive electronic control unit and verification method for same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7261037B2 (en) | Data processor, storage device and prefetch method | |
CN104850435B (en) | Power source management controller and method | |
US20210263762A1 (en) | Storage device-assisted live virtual machine migration | |
JP2008015768A (en) | Storage system and data management method using the same | |
US8612973B2 (en) | Method and system for handling interrupts within computer system during hardware resource migration | |
CN109471812B (en) | Memory device and control method of nonvolatile memory | |
JP2005284497A (en) | Relay unit, management server, relay method and authentication method | |
CN108958880B (en) | Data processing method and data processing system | |
EP1990700A1 (en) | Method for managing and controlling time of computer system and computer system | |
US8266342B1 (en) | Storage system | |
AU7684700A (en) | Entertainment device, information processor, and portable recorder | |
JP2006185000A (en) | Storage system | |
JP2019120974A (en) | Computer system, baseboard management controller, OS installation method, and program | |
EP3926471A1 (en) | Storage device-assisted live virtual machine migration | |
JP2004341725A (en) | Control method for computer, computer, storage controller, program and recording medium | |
US10318212B2 (en) | Control device and storage system | |
TW434491B (en) | Increasing I/O performance through storage of packetized operational information in local memory | |
WO2020235088A1 (en) | Control device and distributed processing method | |
US20170123657A1 (en) | Systems and methods for back up in scale-out storage area network | |
JP2001051871A (en) | Remote debugging device | |
JP2010231295A (en) | Analysis system | |
JPS6215898B2 (en) | ||
JP2010231296A (en) | Parallel computing system | |
JPH0997173A (en) | Maintenance management system for control program | |
CN108196660A (en) | The electric power management method of data container device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060417 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060417 |
|
A977 | Report on retrieval |
Effective date: 20080131 Free format text: JAPANESE INTERMEDIATE CODE: A971007 |
|
A131 | Notification of reasons for refusal |
Effective date: 20080205 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080326 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090331 |