JP2006268215A - ストレージシステム - Google Patents
ストレージシステム Download PDFInfo
- Publication number
- JP2006268215A JP2006268215A JP2005083036A JP2005083036A JP2006268215A JP 2006268215 A JP2006268215 A JP 2006268215A JP 2005083036 A JP2005083036 A JP 2005083036A JP 2005083036 A JP2005083036 A JP 2005083036A JP 2006268215 A JP2006268215 A JP 2006268215A
- Authority
- JP
- Japan
- Prior art keywords
- shared memory
- memory
- unit
- control unit
- reference result
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
【課題】 共有メモリへの参照結果をより高速に取得することを目的とする。
【解決手段】 ホスト3およびディスクドライブ群12a、12bとの間における情報の授受を制御する複数のプロセッサ15a、15bと、これらのプロセッサ15a、15bにより参照可能な共有メモリ17と、個々のプロセッサ15a、15bごとに設けられ共有メモリ17への参照を制御する共有メモリ制御部16a、16bとを含んで構成されるストレージシステム1であって、各プロセッサ15a、15bは、共有メモリ17への参照を起動する第1要求を、共有メモリ制御部16a、16bの各々にそれぞれ複数送出する。各共有メモリ制御部16a、16bは、第1要求に応じ、共有メモリ17を順次、複数参照するとともに、各プロセッサ15a、15bからの第2要求に応じ、共有メモリ17への参照結果をそれぞれ、各プロセッサ15a、15bに返送する。
【選択図】 図1
【解決手段】 ホスト3およびディスクドライブ群12a、12bとの間における情報の授受を制御する複数のプロセッサ15a、15bと、これらのプロセッサ15a、15bにより参照可能な共有メモリ17と、個々のプロセッサ15a、15bごとに設けられ共有メモリ17への参照を制御する共有メモリ制御部16a、16bとを含んで構成されるストレージシステム1であって、各プロセッサ15a、15bは、共有メモリ17への参照を起動する第1要求を、共有メモリ制御部16a、16bの各々にそれぞれ複数送出する。各共有メモリ制御部16a、16bは、第1要求に応じ、共有メモリ17を順次、複数参照するとともに、各プロセッサ15a、15bからの第2要求に応じ、共有メモリ17への参照結果をそれぞれ、各プロセッサ15a、15bに返送する。
【選択図】 図1
Description
本発明は、ストレージシステムに係り、特に、複数の処理部によりアクセス可能な共有メモリを具備するストレージシステムに関するものである。
従来、大規模なストレージ・システムでは、上位装置(ホスト計算機)との接続口も多数備え、どの接続口から接続されたホスト計算機にも、どのディスクドライブのデータも参照可能なように制御を行っている。高性能化のために複数のプロセッサを搭載して制御する場合では、複数のプロセッサ間で、このための制御情報の共有を行う。制御情報の共有を行うためには、簡単には、制御情報を格納するメモリを、すべてのプロセッサから共有させるようにする。このため、第1に、プロセッサがメモリへアクセスする情報処理システムが開示されている(特許文献1参照)。第2に、プロセッサが共有メモリへアクセスする記憶制御装置が開示されている(特許文献2参照)。第3に、プロセッサの外部アクセスを制御する外部アクセス制御部内のレジスタにオペランドデータを読み込んでおくディスクアレイ制御装置が開示されている(特許文献3参照)。
特開平11−232171号公報
特開2000−347937号公報
特開2001−306265号公報
しかしながら、特許文献1ないし特許文献3に記載された装置では、いずれも、複数のプロセッサすべてが共有メモリへアクセス可能なものの、プロセッサと共有メモリとの間の距離などの制約などにより、より一層の高速化が困難となっていた。
そこで、本発明は、このような状況下においてなされたものであり、その目的は、共有メモリへの参照結果をより高速に取得することを可能にすることである。
前記課題を解決するために本発明は、ホスト計算機またはディスクドライブとの間における情報の授受を制御する複数の処理部と、前記複数の処理部により参照可能な共有メモリと、前記処理部ごとに設けられ前記共有メモリへの参照を制御する共有メモリ制御部とを含んで構成されるストレージシステムであって、前記各処理部は、前記共有メモリへの参照を起動する第1要求を、各々の前記共有メモリ制御部にそれぞれ複数送出する。前記各共有メモリ制御部は、前記第1要求に応じ、前記共有メモリを同時に複数参照するとともに、前記各処理部からの第2要求に応じ、前記共有メモリへの参照結果を当該各処理部に返送する。
本発明によれば、共有メモリへの参照結果をより高速に取得することができる。
[実施の形態1]
図1は本発明の実施の形態1に係るストレージシステムを含む全体構成を示すブロック図である。
図1において、ストレージシステム1は、複数の通信ネットワーク2を介して、複数のホスト3に接続されている。具体的には、ストレージシステム1は、複数のホスト3との間における情報の授受を制御する4個のフロントエンド・チャンネル11a、11b、11c、11dと、それぞれ複数のディスクドライブからなるドライブグループ121を2個含む2個のディスクドライブ群12a、12bと、これらディスクドライブ群12a、12bとの間における情報の授受を制御する4個のバックエンド・チャンネル13a、13b、13c、13dとを搭載している。ディスクドライブ群12a、12bの各々は、例えば、RAID(Redundant Arrays of Independent)を構成したディスクドライブ群12a、12bを用いることとする。
図1は本発明の実施の形態1に係るストレージシステムを含む全体構成を示すブロック図である。
図1において、ストレージシステム1は、複数の通信ネットワーク2を介して、複数のホスト3に接続されている。具体的には、ストレージシステム1は、複数のホスト3との間における情報の授受を制御する4個のフロントエンド・チャンネル11a、11b、11c、11dと、それぞれ複数のディスクドライブからなるドライブグループ121を2個含む2個のディスクドライブ群12a、12bと、これらディスクドライブ群12a、12bとの間における情報の授受を制御する4個のバックエンド・チャンネル13a、13b、13c、13dとを搭載している。ディスクドライブ群12a、12bの各々は、例えば、RAID(Redundant Arrays of Independent)を構成したディスクドライブ群12a、12bを用いることとする。
そして、前記したフロントエンド・チャンネル11a〜11dとバックエンド・チャンネル13a〜13dとの間には、2台のネットワークスイッチ14a、14bが設けられている。また、2個の共有メモリ制御部16a、16bがあり、それぞれ、共有メモリ制御部16aが接続され、共有メモリ制御部16a、16bの各々が、共有メモリ17にアクセス制御するように構成されている。
このように構成することにより、プロセッサ15a、15bの各々は、ホスト3からの要求に応じ、バックエンド・チャンネル13a〜13dを介して、ディスクドライブ群12a、12b内のディスクドライブにデータを分散して記憶させることが可能となる。また、プロセッサ15a、15bの各々は、ホスト3からの要求に応じ、ディスクドライブ群12a、12b内のディスクドライブからデータを読み出して、ホスト3に送信させることも可能となる。
個々のプロセッサ15a、15bは、それぞれの共有メモリ制御部16a、16bを介して共有メモリ17の参照結果を取得するよう制御する。これにより、すべてのプロセッサ15a、15bが、共有メモリ17への参照結果を取得することが可能になる。
具体的には、各プロセッサ15a、15bの各々は、共有メモリ17への参照を起動する第1要求(例えば起動コマンド)を、それぞれの共有メモリ制御部16a、16bに複数送出する。続いて、各共有メモリ制御部16a、16bは、前記した第1要求に応じ、共有メモリ17を同時に複数参照する。また、各共有メモリ制御部16a、16bは、プロセッサ15a、15bからの第2要求(例えば返送コマンド)に応じ、共有メモリ17への参照結果をプロセッサ15a、15bのそれぞれに返送する。このように構成することにより、プロセッサ15a、15bの各々は、第1要求および第2要求を時間的に先後して、それぞれの共有メモリ制御部16a、16bに送出することが可能となるので、共有メモリ17へのアクセスと、参照結果の取得処理とを交互に連続して行うことが可能となる。以下にこれらの内容を詳述する。
具体的には、各プロセッサ15a、15bの各々は、共有メモリ17への参照を起動する第1要求(例えば起動コマンド)を、それぞれの共有メモリ制御部16a、16bに複数送出する。続いて、各共有メモリ制御部16a、16bは、前記した第1要求に応じ、共有メモリ17を同時に複数参照する。また、各共有メモリ制御部16a、16bは、プロセッサ15a、15bからの第2要求(例えば返送コマンド)に応じ、共有メモリ17への参照結果をプロセッサ15a、15bのそれぞれに返送する。このように構成することにより、プロセッサ15a、15bの各々は、第1要求および第2要求を時間的に先後して、それぞれの共有メモリ制御部16a、16bに送出することが可能となるので、共有メモリ17へのアクセスと、参照結果の取得処理とを交互に連続して行うことが可能となる。以下にこれらの内容を詳述する。
共有メモリ制御部16aは、図2に示すように、共有メモリアクセス制御部161、FIFO(蓄積部)162、受信データ選択部(参照結果登録部)163、4個のデータバッファ164、およびデータバッファ選択部(返送部)165を搭載している。FIFOは、格納された順にデータを取り出す方法をあらわすFirst-In First-Outの略である。本実施の形態においては、FIFO162を用いているが、これと同様の制御を行うのであれば、これに限られない。
共有メモリアクセス制御部161、受信データ選択部163およびデータバッファ選択部165は、例えばLSI(Large Scale Integration)などで構成されている。なお、図2では共有メモリ制御部16aについて記載しているが、共有メモリ制御部16bもこれと同様である。
共有メモリアクセス制御部161、受信データ選択部163およびデータバッファ選択部165は、例えばLSI(Large Scale Integration)などで構成されている。なお、図2では共有メモリ制御部16aについて記載しているが、共有メモリ制御部16bもこれと同様である。
次に、共有メモリ制御部16aの処理手順について説明する。図2に示すように、まずS1では、プロセッサ15aが、共有メモリ17への参照を起動する第1要求(例えば起動コマンド)を共有メモリアクセス制御部161に複数送出する。前記した第1要求には、データバッファ164のデータバッファ番号(バッファ用識別情報)が指定されている。S2では、共有メモリアクセス制御部161は、プロセッサ15aからの第1要求を受け、共有メモリ17に同時に複数アクセスする。なお、ここでいう同時とは、第1要求に応じ、連続して共有メモリ17へアクセスすることを意味する(以下、実施の形態1〜9において同じ)。
S3では、共有メモリアクセス制御部161は、共有メモリ17へのアクセス順に、第1要求で指定されたデータバッファ番号をFIFO162に送出する。これにより、FIFO162は、データバッファ番号を順次、格納していく。
S3では、共有メモリアクセス制御部161は、共有メモリ17へのアクセス順に、第1要求で指定されたデータバッファ番号をFIFO162に送出する。これにより、FIFO162は、データバッファ番号を順次、格納していく。
なお、本実施の形態では、データバッファ164が4個搭載されているので、共有メモリアクセス制御部161が同時に共有メモリ17にアクセス可能な最大数は、4回となる。つまり、最大アクセス数は、データバッファ164の搭載数と一致する。
続いて、S4では、受信データ選択部163は、共有メモリアクセス制御部161のアクセスにより参照された共有メモリ17への参照結果を順次、取得する。また、この受信データ選択部163は、FIFO162から順次、データバッファ番号を取得する。これら参照結果とデータバッファ番号とを取得するタイミングは、同期が取られている。
S5では、受信データ選択部163は、取得した参照結果を、取得したデータバッファ番号が割り当てられたデータバッファ164に格納する。なお、本実施の形態においては、データバッファ番号を用いて個々のデータバッファ164を特定することとしたが、データバッファ164を特定することが可能であれば、これに限定されない。
S5では、受信データ選択部163は、取得した参照結果を、取得したデータバッファ番号が割り当てられたデータバッファ164に格納する。なお、本実施の形態においては、データバッファ番号を用いて個々のデータバッファ164を特定することとしたが、データバッファ164を特定することが可能であれば、これに限定されない。
次のS6では、プロセッサ15aが、共有メモリ17への参照結果を返送する第2要求(例えば返送コマンド)をデータバッファ選択部165に送出する。当該第2要求を受けたデータバッファ選択部165は、4個のデータバッファ164のうち、共有メモリ17への参照結果を格納したデータバッファ164から、その参照結果を取得する(S7)。具体的には、前記した第2要求には、データバッファ番号が指定されているので、データバッファ選択部165は、第2要求で指定されたデータバッファ番号が割り振られたデータバッファ164から、参照結果を取得する。
S8では、データバッファ選択部165は、データバッファ164から取得した参照結果をプロセッサ15aに返送する。これにより、プロセッサ15aは、共有メモリ17への参照結果を取得することが可能となる。
S8では、データバッファ選択部165は、データバッファ164から取得した参照結果をプロセッサ15aに返送する。これにより、プロセッサ15aは、共有メモリ17への参照結果を取得することが可能となる。
このように実施の形態1によると、プロセッサ15aは、第1要求を共有メモリアクセス制御部161に送出して、共有メモリ17へのアクセスを複数同時に共有メモリ制御部16aに実施させている間、第2要求をデータバッファ選択部165に送出して、先にされた第1要求によりアクセス済みの共有メモリ17への参照結果を取得することが可能となる。したがって、共有メモリ17へのアクセスおよび参照結果の取得の2つの処理が、オーバラップしながら交互に行われることとなり、1回のアクセスに要する時間をより一層短縮させることが可能となる。プロセッサ15bも同様である。よって、プロセッサ15a、15bは、共有メモリ17へのアクセスをより高速化して、共有メモリ17への参照結果を高速に取得することができる。
しかもこの場合、個々のプロセッサ15a、15bは、第1要求を行ってから第2要求を行うまでの間、共有メモリ17への参照結果を取得するための処理とは別の処理を実行することが可能となる。したがって、ストレージシステム1のシステム性能をさらに向上させることができる。
しかもこの場合、個々のプロセッサ15a、15bは、第1要求を行ってから第2要求を行うまでの間、共有メモリ17への参照結果を取得するための処理とは別の処理を実行することが可能となる。したがって、ストレージシステム1のシステム性能をさらに向上させることができる。
[実施の形態2]
図3は本発明の実施の形態2における共有メモリ制御部の一例を示すブロック図である。なお、実施の形態1と同一部分については、実施の形態1と同一の符号を付し、重複説明を省略する。
図3に示す共有メモリ制御部16aにおいては、個々のデータバッファ164ごとに、チェック用メモリ166を設けた点に特徴がある。具体的には、データバッファ164およびチェック用メモリ166の各々が、受信データ選択部163とデータバッファ選択部165との間に並列に設けられている。それぞれのチェック用メモリ166には、データバッファ164の格納状況が格納される。ここでいう格納状況というのは、共有メモリ17への参照結果が格納されているかどうかという意味である。共有メモリ17への参照結果が格納されている場合、チェック用メモリ166には、例えばフラグが立てられる。その他の構成は、図1および図2の場合と同様である。
図3は本発明の実施の形態2における共有メモリ制御部の一例を示すブロック図である。なお、実施の形態1と同一部分については、実施の形態1と同一の符号を付し、重複説明を省略する。
図3に示す共有メモリ制御部16aにおいては、個々のデータバッファ164ごとに、チェック用メモリ166を設けた点に特徴がある。具体的には、データバッファ164およびチェック用メモリ166の各々が、受信データ選択部163とデータバッファ選択部165との間に並列に設けられている。それぞれのチェック用メモリ166には、データバッファ164の格納状況が格納される。ここでいう格納状況というのは、共有メモリ17への参照結果が格納されているかどうかという意味である。共有メモリ17への参照結果が格納されている場合、チェック用メモリ166には、例えばフラグが立てられる。その他の構成は、図1および図2の場合と同様である。
次に、前記した共有メモリ制御部16aの処理手順について説明する。図3に示す共有メモリ制御部16aにおいては、S5A、S6A、S6B、S6CおよびS6Dを追加した点が、図2の場合と異なるので、これらを主に説明する。
受信データ選択部163は、S5で、データバッファ164に共有メモリ17への参照結果を格納した場合、当該データバッファ164に参照結果が格納されていることを示すフラグをチェック用メモリ166に立てる(S5A)。なお、図3では、S5およびS5Aが、一組のデータバッファ164およびチェック用メモリ166にのみ記載されているが、他の3組のデータバッファ164およびチェック用メモリ166の各々に対してもS5およびS5Aの処理が実行される。
受信データ選択部163は、S5で、データバッファ164に共有メモリ17への参照結果を格納した場合、当該データバッファ164に参照結果が格納されていることを示すフラグをチェック用メモリ166に立てる(S5A)。なお、図3では、S5およびS5Aが、一組のデータバッファ164およびチェック用メモリ166にのみ記載されているが、他の3組のデータバッファ164およびチェック用メモリ166の各々に対してもS5およびS5Aの処理が実行される。
S6A〜S6Dは、プロセッサ15aが第2要求を送出する(S6)前に行われる。具体的には、プロセッサ15aは、S6の前に、まず、チェック用メモリ166のチェック要求をデータバッファ選択部165に行う(S6A)。当該チェック要求を受けたデータバッファ選択部165は、チェック用メモリ166の格納状況を取得して(S6B)、共有メモリ17への参照結果がデータバッファ164に格納されているかどうかを決定する(S6C)。例えば、チェック用メモリ166にフラグが立っていた場合、データバッファ選択部165は、そのチェック用メモリ166に対応づけられたデータバッファ164に共有メモリ17への参照結果が格納されているとする。
続いて、データバッファ選択部165は、データバッファ164が共有メモリ17への参照結果を格納済みであるかどうかをプロセッサ15aに通知し(S6D)、その通知を受けたプロセッサ15aは、S6で、当該通知されたデータバッファ164のデータバッファ番号を第2要求で指定して、その第2要求をデータバッファ選択部165に送出する。これにより、データバッファ選択部165は、データバッファ164から、共有メモリ17への参照結果を確実に取得して(S7)、プロセッサ15aに返送する(S8)こととなる。このため、データバッファ選択部165による参照結果の取得待ちが回避され、プロセッサ15aの処理効率が向上する。S7においてデータバッファ選択部165が参照結果を取得できなかった場合、プロセッサ15aは、当該参照結果をデータバッファ選択部165から取得するまでの間、第2要求の処理待ちの状態になるからである。
続いて、データバッファ選択部165は、データバッファ164が共有メモリ17への参照結果を格納済みであるかどうかをプロセッサ15aに通知し(S6D)、その通知を受けたプロセッサ15aは、S6で、当該通知されたデータバッファ164のデータバッファ番号を第2要求で指定して、その第2要求をデータバッファ選択部165に送出する。これにより、データバッファ選択部165は、データバッファ164から、共有メモリ17への参照結果を確実に取得して(S7)、プロセッサ15aに返送する(S8)こととなる。このため、データバッファ選択部165による参照結果の取得待ちが回避され、プロセッサ15aの処理効率が向上する。S7においてデータバッファ選択部165が参照結果を取得できなかった場合、プロセッサ15aは、当該参照結果をデータバッファ選択部165から取得するまでの間、第2要求の処理待ちの状態になるからである。
[実施の形態3]
図4は本発明の実施の形態3における共有メモリ制御部の一例を示すブロック図である。なお、実施の形態1と同一部分については、実施の形態1と同一の符号を付し、重複説明を省略する。
図4に示す共有メモリ制御部16aにおいては、図2に示した4個のデータバッファ164に代えて、4個のデータメモリ164Aを搭載した点に特徴がある。また、この共有メモリ制御部16aは、図2に示したデータバッファ選択部165に代えて、データメモリ選択部165Aを搭載した点に特徴がある。さらに、この共有メモリ制御部16aは、共有メモリアドレス記録部167および比較器(比較部)168をそれぞれ4個設けた点に特徴がある。その他の構成は、図1および図2の場合とほぼ同様である。
図4は本発明の実施の形態3における共有メモリ制御部の一例を示すブロック図である。なお、実施の形態1と同一部分については、実施の形態1と同一の符号を付し、重複説明を省略する。
図4に示す共有メモリ制御部16aにおいては、図2に示した4個のデータバッファ164に代えて、4個のデータメモリ164Aを搭載した点に特徴がある。また、この共有メモリ制御部16aは、図2に示したデータバッファ選択部165に代えて、データメモリ選択部165Aを搭載した点に特徴がある。さらに、この共有メモリ制御部16aは、共有メモリアドレス記録部167および比較器(比較部)168をそれぞれ4個設けた点に特徴がある。その他の構成は、図1および図2の場合とほぼ同様である。
次に、前記した共有メモリ制御部16aの処理手順について説明する。図4に示すように、まずS10では、プロセッサ15aが、共有メモリ17への参照を起動する第1要求を共有メモリアクセス制御部161に複数送出する。S11では、共有メモリアクセス制御部161は、プロセッサ15aからの第1要求を受け、共有メモリ17に同時に複数アクセスする。具体的には、前記した第1要求には、共有メモリアドレスが指定されているので、共有メモリアクセス制御部161は、第1要求で指定された共有メモリアドレスすべてに順次アクセスする。ここでの最大アクセス数も、データメモリ164Aの搭載数が4個のため、最大で4回である。
S12では、共有メモリアクセス制御部161は、共有メモリ17へのアクセス順に、第1要求で指定された共有メモリアドレスをFIFO162に送出する。これにより、FIFO162は、共有メモリアドレスを順次、格納していく。
S13では、受信データ選択部163は、共有メモリアクセス制御部161のアクセスにより参照された共有メモリ17への参照結果を順次、取得する。また、この受信データ選択部163は、FIFO162から順次、共有メモリアドレスを取得する。これら参照結果と共有メモリアドレスとを取得するタイミングは、同期が取られている。
S14では、受信データ選択部163は、共有メモリ17から取得した参照結果をデータメモリ164Aに格納する。なお、格納先のデータメモリ164Aは、受信データ選択部163により設定されていることとする。
S15では、受信データ選択部163は、FIFO162から取得した共有メモリアドレスを共有メモリアドレス記録部167に記録する。このとき記録先となる共有メモリアドレス記録部167は、S14で格納先となったデータメモリ164Aに対応づけられたものである。この対応づけは、受信データ選択部163内の出力ポートの設定などにより行われている。
S15では、受信データ選択部163は、FIFO162から取得した共有メモリアドレスを共有メモリアドレス記録部167に記録する。このとき記録先となる共有メモリアドレス記録部167は、S14で格納先となったデータメモリ164Aに対応づけられたものである。この対応づけは、受信データ選択部163内の出力ポートの設定などにより行われている。
S16では、プロセッサ15aが、共有メモリ17への参照結果を返送する第2要求を4個の比較器168に送出する。この第2要求には、共有メモリアドレスが指定されている。当該第2要求を受けた比較器168の各々は、個々の共有メモリアドレス記録部167に記録されている共有メモリアドレスと、当該第2要求で指定された共有メモリアドレスとを比較する。そして、比較器168の各々は、前記した比較の結果をデータメモリ選択部165Aに送出する(S17)。例えば、データメモリ164Aに、第2要求で指定されたメモリアドレスの参照結果が格納されていた場合、比較器168が、一致する旨を示す比較の結果を送出する。他方、データメモリ164Aに、第2要求で指定されたメモリアドレスの参照結果が格納されていない場合、比較器168が、不一致の旨を示す比較の結果を送出する。
S18では、データメモリ選択部165Aは、4個の比較器168のうち、共有メモリアドレスの一致を示す比較の結果を送出した比較器168に対応づけられているデータメモリ164Aから、参照結果を取り出す。これにより、データメモリ選択部165Aは、第2要求で指定された共有メモリアドレスに格納されていた参照結果を確実に得ることとなる。データメモリ選択部165Aおよび比較器168の対応づけは、データメモリ選択部165A内の入力ポートの設定などにより行われている。
なお、前記したS17において、例えば、4個の比較器168すべてが、不一致の旨を示す比較の結果をデータメモリ選択部165Aに送出した場合、データメモリ選択部165Aは、次のような処理を行う。すなわち、データメモリ選択部165Aは、第2要求で指定された共有メモリアドレスの参照結果がデータメモリ164Aに保持されるまでの間、当該第2要求の処理待ちを行う。ここで、参照結果がデータメモリ164Aに保持されるまでの間とあるが、これは、データメモリ選択部165Aが、比較器168から、共有メモリアドレスの一致を示す比較の結果を取得するまでの期間を意味する。データメモリ選択部165Aが第2要求の処理待ちを行う場合、プロセッサ15aも、データメモリ選択部165Aから参照結果を取得することができず、第2要求の処理待ちを行うこととなる。
S19では、データメモリ選択部165Aは、取得した参照結果をプロセッサ15aに返送する。これにより、プロセッサ15aは、共有メモリアドレスを指定して、その共有メモリアドレスに格納されているデータを参照結果として取得することが可能となる。この場合、プロセッサ15aは、データバッファ番号を指定して所望の参照結果を取得する実施の形態1の場合とは異なり、データバッファ番号などをプロセッサ15a側で管理する仕組みが不要となり、有用である。
[実施の形態4]
図5は本発明の実施の形態4における共有メモリ制御部の一例を示すブロック図である。なお、実施の形態3と同一部分については、実施の形態3と同一の符号を付し、重複説明を省略する。
図5に示す共有メモリ制御部16aにおいては、個々のデータメモリ164Aおよび共有メモリアドレス記録部167ごとに、チェック用メモリ166を設けた点に特徴がある。チェック用メモリ166の各々には、データメモリ164Aの格納状況が格納される。ここでいう格納状況というのは、共有メモリ17への参照結果がデータメモリ164Aに格納されているかどうかという意味である。共有メモリ17への参照結果が格納されている場合、チェック用メモリ166には、例えばフラグが立てられる。その他の構成は、図1および図4の場合と同様である。
図5は本発明の実施の形態4における共有メモリ制御部の一例を示すブロック図である。なお、実施の形態3と同一部分については、実施の形態3と同一の符号を付し、重複説明を省略する。
図5に示す共有メモリ制御部16aにおいては、個々のデータメモリ164Aおよび共有メモリアドレス記録部167ごとに、チェック用メモリ166を設けた点に特徴がある。チェック用メモリ166の各々には、データメモリ164Aの格納状況が格納される。ここでいう格納状況というのは、共有メモリ17への参照結果がデータメモリ164Aに格納されているかどうかという意味である。共有メモリ17への参照結果が格納されている場合、チェック用メモリ166には、例えばフラグが立てられる。その他の構成は、図1および図4の場合と同様である。
次に、前記した共有メモリ制御部16aの処理手順について説明する。図5に示す共有メモリ制御部16aにおいては、S15A、S16A、S16B、16CおよびS16Dを追加した点が、図4の場合と異なるので、これらを主に説明する。
受信データ選択部163は、S14で、データメモリ164Aに共有メモリ17への参照結果を格納した場合、共有メモリアドレスを共有メモリアドレス記録部167に記録する(S15)とともに、当該データメモリ164Aに参照結果が格納されていることを示すフラグをチェック用メモリ166に立てる(S15A)。
受信データ選択部163は、S14で、データメモリ164Aに共有メモリ17への参照結果を格納した場合、共有メモリアドレスを共有メモリアドレス記録部167に記録する(S15)とともに、当該データメモリ164Aに参照結果が格納されていることを示すフラグをチェック用メモリ166に立てる(S15A)。
S16A〜16Dは、プロセッサ15aが第2要求を送出する(S16)前に行われる。具体的には、プロセッサ15aは、S16の前に、まずS16Aで、共有メモリ17のアドレスを指定して、チェック用メモリ166のチェック要求をデータメモリ選択部165Aに行う。当該チェック要求を受けたデータメモリ選択部165Aは、共有メモリアドレス記録部167に格納されている共有メモリアドレスとプロセッサ15aから指定された共有メモリアドレスを比較器168で比較して4個のチェック用メモリ166の一つを選んで格納状況を取得する(S16B)。その結果、データメモリ選択部165Aは、共有メモリ17への参照結果がデータメモリ164Aに格納済みであるかどうかを決定する(S16C)。
続いて、データメモリ選択部165Aは、決定された格納状況をプロセッサ15aに通知し(S6D)、その通知を受けたプロセッサ15aは、S16で、当該通知された共有メモリアドレスを第2要求で指定して、その第2要求を比較器168に送出する。これにより、ある比較部168における比較が一致し、データメモリ選択部165Aは、その比較器168から、一致した旨を示す比較の結果を取得する(S17)。このため、データメモリ選択部165Aは、データメモリ164Aから参照結果を確実に取得して(S18)、プロセッサ15aに返送する(S19)こととなる。よって、プロセッサ15aにより指定された共有メモリ17への参照結果が確実にプロセッサ15aに返送されることとなり、プロセッサ15aの処理効率が向上する。
続いて、データメモリ選択部165Aは、決定された格納状況をプロセッサ15aに通知し(S6D)、その通知を受けたプロセッサ15aは、S16で、当該通知された共有メモリアドレスを第2要求で指定して、その第2要求を比較器168に送出する。これにより、ある比較部168における比較が一致し、データメモリ選択部165Aは、その比較器168から、一致した旨を示す比較の結果を取得する(S17)。このため、データメモリ選択部165Aは、データメモリ164Aから参照結果を確実に取得して(S18)、プロセッサ15aに返送する(S19)こととなる。よって、プロセッサ15aにより指定された共有メモリ17への参照結果が確実にプロセッサ15aに返送されることとなり、プロセッサ15aの処理効率が向上する。
[実施の形態5]
図6は本発明の実施の形態5に係るストレージシステムを含む全体構成を示すブロック図である。なお、実施の形態1ないし4と同一部分については、実施の形態1ないし実施の形態4と同一の符号を付し、重複説明を省略する。
図6に示すストレージシステム1においては、図1に示した2台のプロセッサ15a、15bのほかにも、6台のプロセッサ15c、15d、15e、15f、15g、15hを搭載した点に特徴がある。そして、これらの8台のプロセッサ15a〜15hの各々には、共有メモリ制御部16a〜16hが接続され、個々のプロセッサ15a〜15hが、1個の共有メモリ17に共有メモリ制御部16a〜16hを介してアクセス可能に構成されている点に特徴がある。4台のプロセッサ15a〜15dは、制御データなどのデータを共有メモリ17に格納し、他の4台のプロセッサ15e〜15hに処理を引き継ぐように構成されている。共有メモリ制御部16a〜16hの構成は、図2ないし図5と同様である。このように構成すると、実施の形態1ないし実施の形態4とほぼ同様の作用効果を有するほか、8台のプロセッサ15a〜15hを用いて分散処理を行うので、ストレージシステム1全体からみて、より高速な共有メモリ17へのアクセスを実現することが可能となる。
図6は本発明の実施の形態5に係るストレージシステムを含む全体構成を示すブロック図である。なお、実施の形態1ないし4と同一部分については、実施の形態1ないし実施の形態4と同一の符号を付し、重複説明を省略する。
図6に示すストレージシステム1においては、図1に示した2台のプロセッサ15a、15bのほかにも、6台のプロセッサ15c、15d、15e、15f、15g、15hを搭載した点に特徴がある。そして、これらの8台のプロセッサ15a〜15hの各々には、共有メモリ制御部16a〜16hが接続され、個々のプロセッサ15a〜15hが、1個の共有メモリ17に共有メモリ制御部16a〜16hを介してアクセス可能に構成されている点に特徴がある。4台のプロセッサ15a〜15dは、制御データなどのデータを共有メモリ17に格納し、他の4台のプロセッサ15e〜15hに処理を引き継ぐように構成されている。共有メモリ制御部16a〜16hの構成は、図2ないし図5と同様である。このように構成すると、実施の形態1ないし実施の形態4とほぼ同様の作用効果を有するほか、8台のプロセッサ15a〜15hを用いて分散処理を行うので、ストレージシステム1全体からみて、より高速な共有メモリ17へのアクセスを実現することが可能となる。
[実施の形態6]
図7は本発明の実施の形態6に係るストレージシステムを含む全体構成を示すブロック図である。なお、実施の形態1と同一部分については、実施の形態1と同一の符号を付し、重複説明を省略する。
図7に示すストレージシステム1においては、図1に示したプロセッサ15a、15bの各々にローカルメモリ18a、18bを設けた点に特徴がある。具体的には、ローカルメモリ18aは、プロセッサ15aに接続されている。また、ローカルメモリ18bは、プロセッサ15bに接続されている。なお、図7では、ローカルメモリ18a、18bの各々が、別個独立に設けられているが、個々のプロセッサ15a、15b内に搭載するようにしてもよい。その他の構成は、図1の場合とほぼ同様である。
図7は本発明の実施の形態6に係るストレージシステムを含む全体構成を示すブロック図である。なお、実施の形態1と同一部分については、実施の形態1と同一の符号を付し、重複説明を省略する。
図7に示すストレージシステム1においては、図1に示したプロセッサ15a、15bの各々にローカルメモリ18a、18bを設けた点に特徴がある。具体的には、ローカルメモリ18aは、プロセッサ15aに接続されている。また、ローカルメモリ18bは、プロセッサ15bに接続されている。なお、図7では、ローカルメモリ18a、18bの各々が、別個独立に設けられているが、個々のプロセッサ15a、15b内に搭載するようにしてもよい。その他の構成は、図1の場合とほぼ同様である。
ここでは、まず、各プロセッサ15a、15bは、共有メモリ17への参照を起動する要求を、それぞれの共有メモリ制御部16a、16bにそれぞれ複数送出する。続いて、各共有メモリ制御部16a、16bは、各プロセッサ15a、15bからの要求に応じ、共有メモリ17を同時に複数参照して、それら複数の参照結果を各ローカルメモリ18a、18bへ送出する。次に、各プロセッサ15a、15bは、それぞれの共有メモリ制御部16a、16bにより送出された複数の参照結果を、各ローカルメモリ18a、18bから取り出すように構成されている。このように構成することにより、プロセッサ15a、15bの各々が、それぞれのローカルメモリ18a、18bにアクセスして共有メモリ17の参照結果を取得することが可能となる。よって、共有メモリ17への参照結果をより一層高速に取得することが可能となる。以下にこれらの内容を詳述する。
図8に示すように、共有メモリ制御部16aは、図2に示した共有メモリアクセス制御部161およびFIFO162のほか、パラメータバッファ選択部169、4個のパラメータバッファ170および受信データ転送部(送出部)171を搭載している。個々のパラメータバッファ170は、共有メモリ17の共有メモリアドレス、およびローカルメモリ18aのローカルメモリアドレスを格納する。共有メモリアドレスは、共有メモリ17へのアクセス先を示す。また、ローカルメモリアドレスは、共有メモリ17への参照結果の格納先を示す。
パラメータバッファ選択部169および受信データ転送部171も、共有メモリアクセス制御部161と同様、例えばLSI(Large Scale Integration)などで構成されている。なお、図8では共有メモリ制御部16aについて記載しているが、共有メモリ制御部16bもこれと同様である。
パラメータバッファ選択部169および受信データ転送部171も、共有メモリアクセス制御部161と同様、例えばLSI(Large Scale Integration)などで構成されている。なお、図8では共有メモリ制御部16aについて記載しているが、共有メモリ制御部16bもこれと同様である。
次に、共有メモリ制御部16aの処理手順について説明する。図8に示すように、まずS20では、プロセッサ15aが、共有メモリ17への参照を起動する起動要求(例えば起動コマンド)をパラメータバッファ選択部169に複数送出する。前記した起動要求には、パラメータバッファ170のパラメータバッファ番号(パラメータバッファ用識別情報)と、共有メモリアドレスと、ローカルメモリアドレスが指定されている。共有メモリアドレスとローカルメモリアドレスは、指定された番号のパラメータバッファ170に格納される。S21では、パラメータバッファ選択部169は、プロセッサ15aからの起動要求を受け、パラメータバッファ170の各々から、共有メモリアドレスおよびローカルメモリアドレスを取り出す。パラメータバッファ170の選定は、起動要求で指定されたパラメータバッファ番号に基づいて行われる。なお、パラメータバッファ170の搭載数が4個のため、プロセッサ15aは、前記した起動要求に最大4つのパラメータバッファ番号を指定することが可能である。
S22では、パラメータバッファ選択部169は、それぞれのパラメータバッファ170から取り出した共有メモリアドレスおよびローカルメモリアドレスを共有メモリアクセス制御部161に送出する。
S23では、共有メモリアクセス制御部161は、パラメータバッファ選択部169により送出された共有メモリアドレスに順次アクセスする。例えば、送出された共有メモリアドレスが4つの場合、共有メモリアクセス制御部161は、それぞれの共有メモリアドレスに順次アクセスすることとなる。
S24では、共有メモリアクセス制御部161は、共有メモリ17へのアクセス順に、パラメータバッファ選択部169により送出されたローカルメモリアドレスをFIFO162に送出する。これにより、FIFO162は、ローカルメモリアドレスを順次、格納していく。
S23では、共有メモリアクセス制御部161は、パラメータバッファ選択部169により送出された共有メモリアドレスに順次アクセスする。例えば、送出された共有メモリアドレスが4つの場合、共有メモリアクセス制御部161は、それぞれの共有メモリアドレスに順次アクセスすることとなる。
S24では、共有メモリアクセス制御部161は、共有メモリ17へのアクセス順に、パラメータバッファ選択部169により送出されたローカルメモリアドレスをFIFO162に送出する。これにより、FIFO162は、ローカルメモリアドレスを順次、格納していく。
S25では、受信データ転送部171は、共有メモリアクセス制御部161のアクセスにより参照された共有メモリ17への参照結果を順次、取得する。また、この受信データ転送部171は、FIFO162から順次、ローカルメモリアドレスを取得する。これら参照結果とデータバッファ番号とを取得するタイミングは、同期が取られている。
S26では、受信データ転送部171は、共有メモリ17から取得した参照結果を、FIFO162から取得したローカルメモリアドレス宛てに転送する。これにより、その後、プロセッサ15aは、ローカルメモリ18aに直接アクセスして、参照結果を取得することが可能となる。ローカルメモリ18aのアクセス先は、受信データ転送部171により転送されたローカルメモリアドレスである。プロセッサ15bも同様である。よって、個々のプロセッサ15a、15bは、共有メモリ17への参照結果を高速に取得することができる。
S26では、受信データ転送部171は、共有メモリ17から取得した参照結果を、FIFO162から取得したローカルメモリアドレス宛てに転送する。これにより、その後、プロセッサ15aは、ローカルメモリ18aに直接アクセスして、参照結果を取得することが可能となる。ローカルメモリ18aのアクセス先は、受信データ転送部171により転送されたローカルメモリアドレスである。プロセッサ15bも同様である。よって、個々のプロセッサ15a、15bは、共有メモリ17への参照結果を高速に取得することができる。
[実施の形態7]
図9は本発明の実施の形態7における共有メモリ制御部の一例を示すブロック図である。なお、実施の形態6と同一部分については、実施の形態6と同一の符号を付し、重複説明を省略する。
図9に示す共有メモリ制御部16aにおいては、個々のパラメータバッファ170ごとに、チェック用メモリ166を設けた点に特徴がある。具体的には、チェック用メモリ166およびパラメータバッファ170の各々は、パラメータバッファ選択部169と受信データ転送部171との間に並列に設けられている。チェック用メモリ166の各々には、ローカルメモリ18aへの転送状況(送出状況)が格納される。ここでいう転送状況というのは、パラメータバッファ170に格納された共有メモリアドレスの参照結果が、そのパラメータバッファ170に格納されたローカルメモリアドレスに転送されたかどうかを意味する。ローカルメモリ18aへの転送が完了している場合、チェック用メモリ166には、例えばフラグが立てられる。その他の構成は、図7および図8の場合と同様である。
図9は本発明の実施の形態7における共有メモリ制御部の一例を示すブロック図である。なお、実施の形態6と同一部分については、実施の形態6と同一の符号を付し、重複説明を省略する。
図9に示す共有メモリ制御部16aにおいては、個々のパラメータバッファ170ごとに、チェック用メモリ166を設けた点に特徴がある。具体的には、チェック用メモリ166およびパラメータバッファ170の各々は、パラメータバッファ選択部169と受信データ転送部171との間に並列に設けられている。チェック用メモリ166の各々には、ローカルメモリ18aへの転送状況(送出状況)が格納される。ここでいう転送状況というのは、パラメータバッファ170に格納された共有メモリアドレスの参照結果が、そのパラメータバッファ170に格納されたローカルメモリアドレスに転送されたかどうかを意味する。ローカルメモリ18aへの転送が完了している場合、チェック用メモリ166には、例えばフラグが立てられる。その他の構成は、図7および図8の場合と同様である。
次に、前記した共有メモリ制御部16aの処理手順について説明する。図9に示す共有メモリ制御部16aにおいては、S27、S28A、S28B、S28CおよびS28Dを追加した点が、図8の場合と異なるので、これらを主に説明する。
受信データ転送部171は、S26で、共有メモリ17から取得した参照結果をローカルメモリアドレス宛てに転送した後、S27に進む。
S27では、受信データ転送部171は、該当するチェック用メモリ166に、転送が完了したことを示すフラグを立てる。ここで、該当するチェック用メモリ166とあるが、これは、S26で転送した転送先のローカルメモリアドレスを格納していたパラメータバッファ170に対応するチェック用メモリ166を指す。なお、チェック用メモリ166およびパラメータバッファ170の対応づけは、受信データ転送部171内の出力ポートの設定などにより行われる。
受信データ転送部171は、S26で、共有メモリ17から取得した参照結果をローカルメモリアドレス宛てに転送した後、S27に進む。
S27では、受信データ転送部171は、該当するチェック用メモリ166に、転送が完了したことを示すフラグを立てる。ここで、該当するチェック用メモリ166とあるが、これは、S26で転送した転送先のローカルメモリアドレスを格納していたパラメータバッファ170に対応するチェック用メモリ166を指す。なお、チェック用メモリ166およびパラメータバッファ170の対応づけは、受信データ転送部171内の出力ポートの設定などにより行われる。
S28A〜S28Dは、プロセッサ15aがローカルメモリ18aにアクセスする前に行われる。具体的には、プロセッサ15aは、ローカルメモリ18aへのアクセス前に、まずS28Aで、チェック用メモリ166のチェック要求をパラメータバッファ選択部169に行う。当該チェック要求を受けたパラメータバッファ選択部169は、4個のチェック用メモリ166から転送状況を取得し(S28B)、ローカルメモリ18aへの転送が完了しているかどうかを判定する(S28C)。次に、パラメータバッファ選択部169は、判定した結果をプロセッサ15aに通知する(S28D)。これにより、その通知を受けたプロセッサ15aは、通知されたパラメータバッファ170に格納しておいたローカルメモリアドレスにアクセスして、共有メモリ17への参照結果をローカルメモリ18aから確実に取得することが可能となる。したがって、共有メモリ17への参照結果の取得待ちが回避され、有用である。
[実施の形態8]
図10は本発明の実施の形態8における共有メモリ制御部の一例を示すブロック図である。なお、実施の形態6と同一部分については、実施の形態6と同一の符号を付し、重複説明を省略する。
図10に示す共有メモリ制御部16aにおいては、図8に示した4個のパラメータバッファ170に代えて、1個のパラメータアドレスレジスタ172を搭載した点に特徴がある。また、この共有メモリ制御部16aは、図8に示したパラメータバッファ選択部169に代えて、パラメータ読出部173を搭載した点に特徴がある。さらに、この共有メモリ制御部16aは、パラメータ受信バッファ174を搭載した点に特徴がある。パラメータ読出部173も、例えばLSI(Large Scale Integration)などで構成されている。
図10は本発明の実施の形態8における共有メモリ制御部の一例を示すブロック図である。なお、実施の形態6と同一部分については、実施の形態6と同一の符号を付し、重複説明を省略する。
図10に示す共有メモリ制御部16aにおいては、図8に示した4個のパラメータバッファ170に代えて、1個のパラメータアドレスレジスタ172を搭載した点に特徴がある。また、この共有メモリ制御部16aは、図8に示したパラメータバッファ選択部169に代えて、パラメータ読出部173を搭載した点に特徴がある。さらに、この共有メモリ制御部16aは、パラメータ受信バッファ174を搭載した点に特徴がある。パラメータ読出部173も、例えばLSI(Large Scale Integration)などで構成されている。
ローカルメモリ18aには、プロセッサ15aにより、共有メモリアドレスおよびローカルメモリアドレスの組がパラメータとして複数組、あらかじめ格納されている。この格納例を図11に示す。
図11によると、ローカルメモリ18aには、パラメータ数とともに、共有メモリアドレスおよびローカルメモリアドレスの組が複数組、格納されている。ここでいうパラメータ数というのは、共有メモリアドレスおよびローカルメモリアドレスの組を1つのパラメータとした場合のパラメータ数を意味する。つまり、パラメータ数は、共有メモリアドレスおよびローカルメモリアドレスの組数を指定するための変数である。
図11によると、ローカルメモリ18aには、パラメータ数とともに、共有メモリアドレスおよびローカルメモリアドレスの組が複数組、格納されている。ここでいうパラメータ数というのは、共有メモリアドレスおよびローカルメモリアドレスの組を1つのパラメータとした場合のパラメータ数を意味する。つまり、パラメータ数は、共有メモリアドレスおよびローカルメモリアドレスの組数を指定するための変数である。
図10に戻って、パラメータアドレスレジスタ172は、ローカルメモリ18aに格納された複数組のパラメータのうち、その先頭のパラメータを示すローカルメモリアドレスを格納する。例えば、図11に示したローカルメモリ18aの場合、パラメータ数を格納するローカルメモリアドレスがパラメータアドレスレジスタ172に格納される。その他の構成は、図7および図8の場合と同様である。
次に、前記した共有メモリ制御部16aの処理手順について説明する。図10に示すように、まずS30では、プロセッサ15aが、共有メモリ17への参照を起動する起動要求をパラメータアドレスレジスタ172に行う。ここでの起動要求には、ローカルメモリ18aに格納された複数組のパラメータのうち、その先頭のパラメータを示すローカルメモリアドレスが指定されている。S31では、パラメータアドレスレジスタ172が、プロセッサ15aからの起動要求で指定されたローカルメモリアドレスをパラメータ読出部173に送出する。
S32では、パラメータ読出部173は、パラメータアドレスレジスタ172から送出されたローカルメモリアドレスにアクセスし、ローカルメモリ18aから、共有メモリアドレスおよびローカルメモリアドレスの組を複数組、読み出す。ここで読み出される組数は、図11に示したパラメータ数で決まることになる。例えば、パラメータ数が3を示していた場合、3組の共有メモリアドレスおよびローカルメモリアドレスが読み出されることとなる。
S33では、パラメータ読出部173は、読み出した共有メモリアドレスおよびローカルメモリアドレスの組を複数組、パラメータ受信バッファ174に送出する。
S33では、パラメータ読出部173は、読み出した共有メモリアドレスおよびローカルメモリアドレスの組を複数組、パラメータ受信バッファ174に送出する。
S34では、パラメータ受信バッファ174は、パラメータ読出部173から送出された共有メモリアドレスおよびローカルメモリアドレスの組を順次、共有メモリアクセス制御部161に送出する。
S35では、共有メモリアクセス制御部161は、共有メモリアドレスおよびローカルメモリアドレスの組を取得した順に、パラメータ受信バッファ174により送出された共有メモリアドレスにアクセスする。S36では、共有メモリアクセス制御部161は、共有メモリアドレスへのアクセス順に、パラメータ受信バッファ174により送出されたローカルメモリアドレスをFIFO162に送出する。これにより、FIFO162は、ローカルメモリアドレスを順次、格納していく。
S35では、共有メモリアクセス制御部161は、共有メモリアドレスおよびローカルメモリアドレスの組を取得した順に、パラメータ受信バッファ174により送出された共有メモリアドレスにアクセスする。S36では、共有メモリアクセス制御部161は、共有メモリアドレスへのアクセス順に、パラメータ受信バッファ174により送出されたローカルメモリアドレスをFIFO162に送出する。これにより、FIFO162は、ローカルメモリアドレスを順次、格納していく。
S37では、受信データ転送部171は、共有メモリアクセス制御部161のアクセスにより参照された共有メモリ17への参照結果を順次、取得する。また、この受信データ転送部171は、FIFO162から順次、ローカルメモリアドレスを取得する。これら参照結果とローカルメモリアドレスとを取得するタイミングは、同期が取られている。
S38では、受信データ転送部171は、取得した参照結果を、取得したローカルメモリアドレス宛てに転送する。これにより、その後、プロセッサ15aは、ローカルメモリ18aに直接アクセスして、参照結果を取得することが可能となる。ローカルメモリ18aのアクセス先は、受信データ転送部171により転送されたローカルメモリアドレスである。よって、プロセッサ15aは、共有メモリ17への参照結果を高速に取得することができる。
S38では、受信データ転送部171は、取得した参照結果を、取得したローカルメモリアドレス宛てに転送する。これにより、その後、プロセッサ15aは、ローカルメモリ18aに直接アクセスして、参照結果を取得することが可能となる。ローカルメモリ18aのアクセス先は、受信データ転送部171により転送されたローカルメモリアドレスである。よって、プロセッサ15aは、共有メモリ17への参照結果を高速に取得することができる。
なお、実施の形態8において、ローカルメモリ18aのデータ構造は、図11の場合で説明したが、例えば、図12に示すように構成してもよい。図12によると、共有メモリアドレスおよびローカルメモリアドレスの組の先頭から最後の組まで1つずつリンクが張られている。このように構成しても、図11の場合と同様、共有メモリアドレスおよびローカルメモリアドレスの組を複数組、設定することが可能となり、プロセッサ15aは、共有メモリ17への参照結果を高速に取得することができる。
また、ローカルメモリ18aに、共有メモリアドレスおよびローカルメモリアドレスの組を格納しておく場合について説明したが、ローカルメモリ18aとは別のローカルメモリに格納するようにしてもよい。
また、ローカルメモリ18aに、共有メモリアドレスおよびローカルメモリアドレスの組を格納しておく場合について説明したが、ローカルメモリ18aとは別のローカルメモリに格納するようにしてもよい。
[実施の形態9]
図13は本発明の実施の形態9に係るストレージシステムを含む全体構成を示すブロック図である。なお、実施の形態6ないし8と同一部分については、実施の形態6ないし実施の形態8と同一の符号を付し、重複説明を省略する。
図13に示すストレージシステム1においては、図7に示した2台のプロセッサ15a、15bのほかにも、6台のプロセッサ15c、15d、15e、15f、15g、15hを搭載している。これらの8台のプロセッサ15a〜15hの各々には、共有メモリ制御部16a〜16hが接続されている。そして、個々のプロセッサ15a〜15hには、ローカルメモリ18a〜18hが接続されている点に特徴がある。4台のプロセッサ15a〜15dは、制御データなどのデータを共有メモリ17に格納し、他の4台のプロセッサ15e〜15hに処理を引き継ぐように構成されている。共有メモリ制御部16a〜16hの構成は、図8ないし図10と同様である。このように構成すると、実施の形態6ないし実施の形態8とほぼ同様の作用効果を有するほか、8台のプロセッサ15a〜15hが分散処理を行うので、ストレージシステム1の全体からみて、共有メモリ17への参照結果をより高速に取得することが可能となる。
図13は本発明の実施の形態9に係るストレージシステムを含む全体構成を示すブロック図である。なお、実施の形態6ないし8と同一部分については、実施の形態6ないし実施の形態8と同一の符号を付し、重複説明を省略する。
図13に示すストレージシステム1においては、図7に示した2台のプロセッサ15a、15bのほかにも、6台のプロセッサ15c、15d、15e、15f、15g、15hを搭載している。これらの8台のプロセッサ15a〜15hの各々には、共有メモリ制御部16a〜16hが接続されている。そして、個々のプロセッサ15a〜15hには、ローカルメモリ18a〜18hが接続されている点に特徴がある。4台のプロセッサ15a〜15dは、制御データなどのデータを共有メモリ17に格納し、他の4台のプロセッサ15e〜15hに処理を引き継ぐように構成されている。共有メモリ制御部16a〜16hの構成は、図8ないし図10と同様である。このように構成すると、実施の形態6ないし実施の形態8とほぼ同様の作用効果を有するほか、8台のプロセッサ15a〜15hが分散処理を行うので、ストレージシステム1の全体からみて、共有メモリ17への参照結果をより高速に取得することが可能となる。
なお、本発明は、前記した実施の形態1〜9に限定されない。ストレージシステム1の構成、データ構造および処理手順は、本発明の趣旨を逸脱しない限り、変更して構成するようにしてもよい。例えば、ディスクドライブ群の数を変更してもよいし、また、プロセッサの台数を変更してもよい。さらに、ストレージシステム1は、一体型の場合について説明したが、例えば、ディスクドライブ群とプロセッサとを分離して構成するようにしてもよい。
1 ストレージシステム
2 通信ネットワーク
3 ホスト(外部装置)
12a、12b ディスクドライブ群
15a〜15h プロセッサ(処理部)
16a〜16h 共有メモリ制御部
17 共有メモリ
121 ドライブグループ
2 通信ネットワーク
3 ホスト(外部装置)
12a、12b ディスクドライブ群
15a〜15h プロセッサ(処理部)
16a〜16h 共有メモリ制御部
17 共有メモリ
121 ドライブグループ
Claims (11)
- ホスト計算機またはディスクドライブとの間における情報の授受を制御する複数の処理部と、前記複数の処理部により参照可能な共有メモリと、前記処理部ごとに設けられ前記共有メモリへの参照を制御する共有メモリ制御部とを含んで構成されるストレージシステムであって、
前記各処理部は、前記共有メモリへの参照を起動する第1要求を、各々の前記共有メモリ制御部にそれぞれ複数送出し、
前記各共有メモリ制御部は、前記第1要求に応じ、前記共有メモリを同時に複数参照するとともに、前記各処理部からの第2要求に応じ、前記共有メモリへの参照結果を当該各処理部に返送することを特徴とするストレージシステム。 - 請求項1に記載のストレージシステムにおいて、前記共有メモリ制御部は、前記共有メモリへの参照結果を格納する複数のデータバッファと、前記第1要求により前記共有メモリへアクセスする共有メモリアクセス制御部と、前記第1要求で指定された前記データバッファに前記共有メモリアクセス制御部によりアクセスされた前記共有メモリへの参照結果を格納する参照結果登録部と、前記第2要求で指定された前記データバッファから、前記共有メモリへの参照結果を取り出し、その参照結果を前記各処理部に返送する返送部とをさらに有することを特徴とするストレージシステム。
- 請求項2に記載のストレージシステムにおいて、前記共有メモリ制御部は、前記各データバッファに関して前記共有メモリへの参照結果の格納状況を格納するチェック用メモリをさらに有し、
前記返送部は、前記第2要求で指定された前記データバッファから前記参照結果を取り出す場合、前記チェック用メモリの格納状況を事前に参照して、前記共有メモリへの参照結果を格納したデータバッファを特定しておき、前記特定したデータバッファから前記参照結果を取り出すことを特徴とするストレージシステム。 - 請求項1に記載のストレージシステムにおいて、前記共有メモリ制御部は、前記共有メモリへの参照結果を格納する複数のデータメモリと、前記第1要求で指定された共有メモリメモリアドレスにアクセスする共有メモリアクセス制御部と、この共有メモリアクセス制御部によりアクセスされた共有メモリへの参照結果を前記データメモリに格納する参照結果登録部と、この参照結果登録部により格納されるごとに、前記第1要求で指定された共有メモリアドレスを記録する複数の共有メモリアドレス記録部と、前記共有メモリアドレス記録部の各々に記録された前記共有メモリアドレスと前記第2要求で指定された前記共有メモリアドレスとを比較する複数の比較部と、前記各比較部における比較により共有メモリアドレスが一致した場合に、当該一致した共有メモリアドレスに格納されていた前記参照結果を前記データメモリから取り出して前記各処理部に返送する返送部とをさらに有することを特徴とするストレージシステム。
- 前記返送部は、前記複数の比較部での比較の結果がすべて不一致の場合、いずれかの比較部で当該比較の結果が一致するまでの間、当該第2要求の処理待ちを行うことを特徴とする請求項4に記載のストレージシステム。
- 請求項4に記載のストレージシステムにおいて、前記共有メモリ制御部は、前記各データメモリに関して前記共有メモリへの参照結果の格納状況を格納するチェック用メモリをさらに有し、
前記返送部は、前記データメモリから前記参照結果を取り出して返送する場合、前記チェック用メモリの格納状況を事前に参照して、前記共有メモリへの参照結果を保持したデータメモリを特定しておき、前記特定したデータメモリから前記参照結果を取り出すことを特徴とするストレージシステム。 - ホスト計算機またはディスクドライブとの間における情報の授受を制御する複数の処理部と、前記複数の処理部により参照可能な共有メモリと、前記処理部ごとに設けられ前記共有メモリへの参照を制御する共有メモリ制御部と、個々の前記処理部に設けられたローカルメモリとを含んで構成されるストレージシステムであって、
前記各処理部は、前記共有メモリへの参照を起動する要求を、各々の前記共有メモリ制御部にそれぞれ複数送出し、
前記各共有メモリ制御部は、前記各処理部からの要求に応じ、前記共有メモリを同時に複数参照して、前記複数の参照結果を前記各ローカルメモリへ送出し、
前記各処理部は、前記各共有メモリ制御部により送出された前記複数の参照結果を前記各ローカルメモリから取り出すことを特徴とするストレージシステム。 - 請求項7に記載のストレージシステムにおいて、前記共有メモリ制御部は、前記共有メモリの共有メモリアドレスおよび前記ローカルメモリのローカルメモリアドレスを格納する複数のパラメータバッファと、前記各処理部からの要求で指定された前記パラメータバッファから、前記共有メモリアドレスおよび前記ローカルメモリアドレスを取り出すパラメータバッファ選択部と、このパラメータバッファ選択部により取り出された共有メモリアドレスに順次アクセスする共有メモリアクセス制御部と、この共有メモリアクセス制御部によりアクセスされた共有メモリへの参照結果をそれぞれ、前記パラメータバッファ選択部により取り出されたローカルメモリアドレスへ送出する送出部とをさらに有することを特徴とするストレージシステム。
- 請求項8に記載のストレージシステムにおいて、前記共有メモリ制御部は、前記各パラメータバッファに格納された前記ローカルメモリアドレスへの送出状況を格納する複数のチェック用メモリをさらに有し、
前記処理部は、前記ローカルメモリより前記共有メモリへの参照の結果を取り出すとき、前記各チェック用メモリの送出状況を事前に参照して、格納済みである時のみ前記ローカルメモリより前記共有メモリの参照結果を取り出すことを特徴とするストレージシステム。 - 請求項7に記載のストレージシステムにおいて、前記ローカルメモリは、前記共有メモリの共有メモリアドレスおよびローカルメモリアドレスの組をパラメータとして複数組、格納し、
前記各処理部は、前記共有メモリへの参照を起動する要求を送出する場合、前記ローカルメモリに格納された前記複数組のパラメータの先頭をパラメータレジスタに書き込むことにより当該要求を行い、
前記各共有メモリ制御部は、前記要求により前記パラメータレジスタに書き込まれた前記パラメータの先頭に基づき共有メモリアドレスおよびローカルメモリアドレスの組を複数組、前記ローカルメモリから読み出すパラメータ読出部と、このパラメータ読出部により読み出された共有メモリアドレスから順に複数アクセスする共有メモリアクセス制御部と、この共有メモリアクセス制御部のアクセスにより得た参照結果をそれぞれ、前記パラメータ読出部により読み出されたローカルメモリアドレス宛てに送出する送出部とをさらに有することを特徴とするストレージシステム。 - 請求項4に記載のストレージシステムにおいて、前記データメモリおよび前記共有メモリアドレス制御部は、それぞれ4個設けられ、前記共有メモリ制御部は、前記各データメモリへの前記参照結果の格納状況を格納する4個のチェック用メモリをさらに有し、
前記返送部は、前記データメモリの各々から前記参照結果を取り出す場合、前記4個のチェック用メモリの格納状況をすべて事前に参照して、前記共有メモリへの参照結果を格納したデータメモリを特定しておき、前記特定したデータメモリから前記参照結果を取り出すことを特徴とするストレージシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005083036A JP2006268215A (ja) | 2005-03-23 | 2005-03-23 | ストレージシステム |
US11/143,612 US7257680B2 (en) | 2005-03-23 | 2005-06-03 | Storage system including shared memory and plural disk drives, processors, and shared memory control units |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005083036A JP2006268215A (ja) | 2005-03-23 | 2005-03-23 | ストレージシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006268215A true JP2006268215A (ja) | 2006-10-05 |
Family
ID=37036550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005083036A Pending JP2006268215A (ja) | 2005-03-23 | 2005-03-23 | ストレージシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7257680B2 (ja) |
JP (1) | JP2006268215A (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8271706B2 (en) * | 2008-05-22 | 2012-09-18 | International Business Machines Corporation | Stabilization of host to storage subsystem ownership |
US20100050021A1 (en) * | 2008-08-25 | 2010-02-25 | International Business Machines Corporation | Error code handling in a storage subsystem |
JP6086004B2 (ja) * | 2013-03-15 | 2017-03-01 | 株式会社リコー | 中継装置、情報処理システムおよびプログラム |
US11194746B2 (en) * | 2017-12-22 | 2021-12-07 | Seagate Technology Llc | Exchanging drive information |
US10976965B1 (en) * | 2020-10-14 | 2021-04-13 | First Capitol Consulting, Inc. | Optimization of in-memory processing of data represented by an acyclic graph so that the removal and re-materialization of data in selected nodes is minimized |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11232171A (ja) | 1997-10-29 | 1999-08-27 | Hitachi Ltd | 情報処理システム |
JP4400895B2 (ja) * | 1999-01-07 | 2010-01-20 | 株式会社日立製作所 | ディスクアレイ制御装置 |
JP3769413B2 (ja) * | 1999-03-17 | 2006-04-26 | 株式会社日立製作所 | ディスクアレイ制御装置 |
JP3716126B2 (ja) * | 1999-03-17 | 2005-11-16 | 株式会社日立製作所 | ディスクアレイ制御装置及びディスクアレイ |
JP3968914B2 (ja) | 1999-06-02 | 2007-08-29 | 株式会社日立製作所 | ディスクアレイ装置 |
US6397292B1 (en) * | 1999-08-19 | 2002-05-28 | Emc Corporation | Asymmetrical striping of mirrored storage device arrays and concurrent access to even tracks in the first array and odd tracks in the second array to improve data access performance |
JP2001167040A (ja) * | 1999-12-14 | 2001-06-22 | Hitachi Ltd | 記憶サブシステム及び記憶制御装置 |
JP4053208B2 (ja) | 2000-04-27 | 2008-02-27 | 株式会社日立製作所 | ディスクアレイ制御装置 |
JP3759048B2 (ja) * | 2002-02-04 | 2006-03-22 | 日本電気株式会社 | ディスクアレイ装置のディスクキャッシュ管理方法 |
JP2004013367A (ja) * | 2002-06-05 | 2004-01-15 | Hitachi Ltd | データ記憶サブシステム |
JP2004234558A (ja) * | 2003-01-31 | 2004-08-19 | Hitachi Ltd | 記憶デバイス制御装置、及びプログラム |
JP4257785B2 (ja) * | 2003-04-22 | 2009-04-22 | 株式会社日立製作所 | キャッシュストレージ装置 |
JP4429703B2 (ja) * | 2003-11-28 | 2010-03-10 | 株式会社日立製作所 | ディスクアレイ装置及びディスクアレイ装置の制御方法 |
JP2006163516A (ja) * | 2004-12-02 | 2006-06-22 | Fujitsu Ltd | ネットワーク装置、ファイバーチャネルスイッチおよび共用メモリアクセス制御方法 |
-
2005
- 2005-03-23 JP JP2005083036A patent/JP2006268215A/ja active Pending
- 2005-06-03 US US11/143,612 patent/US7257680B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20060218357A1 (en) | 2006-09-28 |
US7257680B2 (en) | 2007-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0991999B1 (en) | Method and apparatus for arbitrating access to a shared memory by network ports operating at different data rates | |
EP0993680B1 (en) | Method and apparatus in a packet routing switch for controlling access at different data rates to a shared memory | |
US6622193B1 (en) | Method and apparatus for synchronizing interrupts in a message passing queue oriented bus system | |
EP1833221B1 (en) | Storage system having a channel control function using a plurality of processors | |
RU2399951C2 (ru) | Способ осуществления доступа к целевому дисковому запоминающему устройству, система расширения дисковой емкости и дисковый массив | |
JPH11266286A (ja) | 通信方法、送信方法、受信方法及びそれらを実施する装置 | |
CN101027634B (zh) | 数据传送机制 | |
US20080082621A1 (en) | Slave network interface circuit for improving parallelism of on-chip network and system thereof | |
JP2006268215A (ja) | ストレージシステム | |
US7716406B1 (en) | Method and system for persistent reservation handling in a multi-initiator environment | |
JP2793517B2 (ja) | データ転送制御装置 | |
JP3578075B2 (ja) | ディスクアレイ制御装置及びディスクアレイ制御方法 | |
JP2723022B2 (ja) | ディスク装置のインタフェース及びその制御方法 | |
CN115705306A (zh) | 多功能灵活计算存储设备 | |
KR20030083572A (ko) | 상위버스와 하위버스를 가지며, 네트워크에서의 데이터액세스의 제어를 행하는 마이크로 컴퓨터 시스템 | |
JPH06266605A (ja) | 記憶装置 | |
JP3178474B2 (ja) | 通信制御装置 | |
JP5127470B2 (ja) | バス装置 | |
US20240211418A9 (en) | Multi-function flexible computational storage device | |
EP1662400B1 (en) | Apparatus with dual writing function, and storage control apparatus | |
US20050044300A1 (en) | Apparatus with dual writing function, and storage control apparatus | |
EP2189893A1 (en) | Data storage system and method of operation | |
KR100361657B1 (ko) | 아이디이 타입의 하드 디스크 장치 및 그 제어 방법 | |
JP2000029823A (ja) | バスアクセス制御回路 | |
JP2001216227A (ja) | インターフェース制御装置およびインターフェース制御方法および外部記憶サブシステム |