JP2006285778A - ストレージシステム及び記憶制御方法 - Google Patents

ストレージシステム及び記憶制御方法 Download PDF

Info

Publication number
JP2006285778A
JP2006285778A JP2005106613A JP2005106613A JP2006285778A JP 2006285778 A JP2006285778 A JP 2006285778A JP 2005106613 A JP2005106613 A JP 2005106613A JP 2005106613 A JP2005106613 A JP 2005106613A JP 2006285778 A JP2006285778 A JP 2006285778A
Authority
JP
Japan
Prior art keywords
processor
local memory
processors
data
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005106613A
Other languages
English (en)
Other versions
JP4794194B2 (ja
Inventor
Nobuyuki Minowa
信幸 箕輪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2005106613A priority Critical patent/JP4794194B2/ja
Priority to US11/144,628 priority patent/US7395392B2/en
Priority to EP05256115A priority patent/EP1708076B1/en
Priority to DE602005004508T priority patent/DE602005004508T2/de
Publication of JP2006285778A publication Critical patent/JP2006285778A/ja
Application granted granted Critical
Publication of JP4794194B2 publication Critical patent/JP4794194B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed 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

【課題】 複数のプロセッサによる処理性能が低下してしまうことを抑える。
【解決手段】 コントローラと、複数のプロセッサとコントローラとに通信可能に接続された一以上の中間デバイスとが備えられる。プロセッサによる指定値を含んだ第一のアクセスメッセージを、そのプロセッサに接続された第一の中間デバイスが、コントローラに送信する。コントローラが、その第一のアクセスメッセージに含まれる指定値に対応したローカルメモリアドレスを特定し、特定されたローカルメモリアドレスを含んだ第二のアクセスメッセージを、二以上の他のプロセッサに対して送信する。二以上の他のプロセッサ又はそれらに接続された第二の中間デバイスが、第二のアクセスメッセージに含まれているローカルメモリアドレスに対応したローカルメモリ領域であって、二以上の他のプロセッサにそれぞれ対応した二以上のローカルメモリのローカルメモリ領域に、アクセスする。
【選択図】図2

Description

本発明は、複数のプロセッサを備えたシステムのための技術に関し、例えば、ストレージへのアクセスを制御するストレージシステム及び記憶制御方法に関する。
複数のプロセッサを備えたシステムとして、例えば、特許文献1に記載のディスクアレイ制御装置が知られている。そのディスクアレイ制御装置は、ホストコンピュータとの入出力制御を行う複数のチャネルアダプタと、磁気ディスク装置との入出力を制御する複数のディスクアダプタと、共有メモリと、内蔵データキャッシュを備えた共有メモリ搭載プロセッサとを備えている。複数のチャネルアダプタには、複数のチャネルアダプタ搭載プロセッサが搭載されており、複数のディスクアダプタには、複数のディスクアダプタ搭載プロセッサが搭載されている。チャネルアダプタ搭載プロセッサ及びディスクアダプタ搭載プロセッサからの共有メモリに対するアクセスは、内蔵データキャッシュを経由して実行される。それにより、共有メモリへのアクセス所要時間の削減が図れる。
特開2001−306265号公報。
ところで、チャネルアダプタ及びディスクアダプタの各々に備えられているプロセッサには、一つ以上のメモリ(以下、共有メモリと区別するために「ローカルメモリ」という)を通信可能に接続することができる。プロセッサは、共有メモリを介して、他のプロセッサと通信することができ、その通信対象のデータを、ローカルメモリに対して読み書きすることができる。具体的には、例えば、プロセッサは、他のプロセッサに対するデータを共有メモリに書込んだり、他のプロセッサによって書込まれたデータを共有メモリから読出したりすることができ、書込み対象のデータや読出されたデータを、ローカルメモリに書込んだり、ローカルメモリから読出したりすることができる。共有メモリ側(例えば、共有メモリとプロセッサとの間に介在するメモリコントローラ)は、或るタイミングで(例えば、データが書込まれたタイミング或いは他のプロセッサからそのデータが読出されたタイミングで)、書込み元のプロセッサに応答を返すことができる。
しかし、上述したプロセッサ間通信の場合、共有メモリにアクセスが集中することになり、共有メモリ側からの応答待ち時間長が、処理性能のボトルネックになると考えられる。具体的には、例えば、共有メモリ側からプロセッサに応答が返されるまで、共有メモリとそのプロセッサとの間のパスが占有されてしまうことがあり、各プロセッサの処理性能が低下してしまうと考えられる。
また、上述したプロセッサ間通信の場合、各プロセッサが共有メモリにアクセスするためには、幾つかの機器(例えば、通信インターフェース装置やスイッチ等)を経由することになるので、そのアクセス(特に、データを待つ必要のある読出し)には、少なくともプロセッサがローカルメモリにアクセスする場合よりも長い時間がかかると考えられる。この点も、処理性能のボトルネックになると考えられる。
従って、本発明の一つの目的は、複数のプロセッサによる処理性能が低下してしまうことを抑えることにある。
本発明の他の目的は、後の説明から明らかになるであろう。
本発明の第一の側面に従うストレージシステムは、複数のプロセッサと、前記複数のプロセッサに対してそれぞれ用意された複数のローカルメモリと、コントローラと、前記複数のプロセッサと前記コントローラとに通信可能に接続された一以上の中間デバイスとを備える。前記複数のローカルメモリの各々は、複数のローカルメモリアドレスと、前記複数のローカルメモリアドレスにそれぞれ対応したローカルメモリ領域とを有する。プロセッサが指定した値である指定値を含んだ第一のアクセスメッセージを、そのプロセッサに接続された第一の中間デバイスが、前記コントローラに送信する。前記コントローラが、前記第一の中間デバイスから第一のアクセスメッセージを受信し、前記受信した第一のアクセスメッセージに含まれる指定値に対応したローカルメモリアドレスを特定し、特定されたローカルメモリアドレスを含んだ第二のアクセスメッセージを、二以上の他のプロセッサに対して送信する。前記二以上の他のプロセッサにそれぞれ接続された第二の中間デバイスが、前記第二のアクセスメッセージを受信し、前記第二の中間デバイス又は前記二以上の他のプロセッサが、前記第二のアクセスメッセージに含まれているローカルメモリアドレスに対応したローカルメモリ領域であって、前記二以上の他のプロセッサにそれぞれ対応した二以上のローカルメモリのローカルメモリ領域に、アクセスする。
ここで、中間デバイスとは、例えば、後述するCHA或いはDKA等のパッケージに搭載される一種のインターフェース装置(例えば後述のMPA)であっても良いし、後述の転送制御回路であっても良い。
一つの実施態様では、前記コントローラが、各ローカルメモリアドレス毎にロックオンかロックオフかを制御することができる。具体的には、前記コントローラが、前記受信した第一のアクセスメッセージに含まれている指定値に対応したローカルメモリアドレスがロックオフになっている場合、そのローカルメモリアドレスをロックオンとし、その後、前記第一のアクセスメッセージを処理して前記第二のアクセスメッセージを送信した以降のタイミングで、そのローカルメモリアドレスをロックオフとすることができる。また、前記コントローラが、前記受信した前記受信した第一のアクセスメッセージに含まれている指定値に対応したローカルメモリアドレスがロックオンになっている場合、そのローカルメモリアドレスがロックオフになってから、その第一のアクセスメッセージの処理を実行することができる。
一つの実施態様では、前記プロセッサが、自分に対して用意されたローカルメモリのローカルメモリ領域からデータを読出す前に、そのローカルメモリ領域に対応したローカルメモリアドレスをロックオンにすることを前記コントローラに要求することができる。前記コントローラは、前記プロセッサからの要求の対象であるローカルメモリアドレスについてロックオンできたか否かの通知を前記プロセッサに送信することができる。前記プロセッサは、ロックオンできたことの通知を受けた場合に、前記ローカルメモリ領域からデータを読出すことができる。
一つの実施態様では、前記複数のローカルメモリの同一のローカルメモリアドレスは、所定のプロセッサに割り当てられていてもよい。その場合、前記プロセッサに割り当てられたローカルメモリアドレスに対応するローカルメモリ領域は、前記プロセッサにとっては書込み領域であり、前記他のプロセッサにとっては読出し領域であるとすることができる。
一つの実施態様では、前記プロセッサが、前記書込み領域にデータを書込み、前記第一の中間デバイスが、前記書込み領域に対応したローカルメモリアドレスを指定値とした前記第一のアクセスメッセージを前記コントローラに送信することができる。
一つの実施態様では、前記ストレージシステムが、複数の指定値にそれぞれ対応した複数のアクセス先データを記録したアクセスマップを備えることができる。前記複数のアクセス先データの各々には、どのプロセッサをアクセス先とするかが記述されていてもよい。前記コントローラは、前記受信した第一のアクセスメッセージに含まれている指定値に対応したアクセス先データを前記アクセスマップから特定し、前記特定されたアクセス先データが表す二以上の他のプロセッサに対して、前記第二のアクセスメッセージを送信することができる。
一つの実施態様では、前記二以上の他のプロセッサは、所定の属性を有するプロセッサグループであるとすることができる。
一つの実施態様では、前記コントローラには、前記複数のプロセッサが前記コントローラを介してアクセス可能な共有メモリが接続されていてもよい。前記コントローラは、前記二以上のローカルメモリへのアクセス対象のデータを、前記共有メモリに書込むことができる。
一つの実施態様では、前記コントローラは、前記第一のアクセスメッセージに含まれている指定値と、前記指定値を指定したのはどのプロセッサであるかとに基づいて、前記二以上の他のプロセッサを決定することができる。
一つの実施態様では、前記コントローラと各中間デバイスとの間には、前記コントローラから各中間デバイスへの第一のパスと、前記各中間デバイスから前記コントローラへの第二のパスとがあってもよい。前記コントローラは、前記第二のパスを介して前記第一のアクセスメッセージを受信し、前記第一のパスを介して前記第二のアクセスメッセージを送信することができる。
一つの実施態様では、前記コントローラは、前記第一のアクセスメッセージを受信して前記第二のアクセスメッセージを送信した場合、以下の(A)乃至(F)の応答方式、
(A)前記第二のアクセスメッセージに対する応答を前記二以上の他のプロセッサから受ける前に、前記プロセッサに応答を返す、
(B)前記第二のアクセスメッセージに対する応答を前記二以上の他のプロセッサの各々から受ける都度に、前記プロセッサに応答を返す、
(C)前記第二のアクセスメッセージに対する応答を前記二以上の他のプロセッサの全てから受けた後に、前記プロセッサに応答を返す、
(D)前記第二のアクセスメッセージに従って前記二以上のローカルメモリにデータが書かれた場合に前記二以上の他のプロセッサから出力される応答を前記二以上の他のプロセッサの各々から受ける都度に、前記プロセッサに応答を返す、
(E)前記第二のアクセスメッセージに従って前記二以上のローカルメモリにデータが書かれた場合に前記二以上の他のプロセッサから出力される応答を前記二以上の他のプロセッサの全てから受けた後に、前記プロセッサに応答を返す、
(F)前記第一のアクセスメッセージの受信と前記第二のアクセスメッセージの送信とを複数回行い、前記複数回の前記第二のアクセスメッセージに対する複数回分の応答を前記二以上の他のプロセッサから受信した後に、前記プロセッサに応答を返す、
のうちのいずれかの応答方式を実行することができる。
一つの実施態様では、前記コントローラは、アクセスが正確に行われたかの信頼性と、前記コントローラと前記中間デバイスとの間のパスの占有率と、前記第一のアクセスメッセージが送信されてから前記プロセッサに応答が届くまでのレスポンス時間長とのうちの少なくとも一つに基づいて、前記(A)乃至(F)の応答方式の中から一つの応答方式を採用し、採用した応答方式を実行することができる。
一つの実施態様では、各プロセッサには、自分に対して用意されたローカルメモリと、他のプロセッサの他のローカルメモリとを含んだ複数の記憶デバイスがあってもよい。各プロセッサは、指定値を発行するプロセッサコアと、前記プロセッサコアから発行された指定値に基づいて、前記プロセッサに対して用意されたローカルメモリと、他のプロセッサの他のローカルメモリとを含んだ複数の記憶デバイスの中から二以上の記憶デバイスを決定するアクセス制御回路とを備え、前記決定された二以上の記憶デバイスにアクセスすることができる。
本発明の第二の側面に従うプロセッサは、値を発行するプロセッサコアと、前記プロセッサコアから発行された値に基づいて、前記プロセッサに対して用意されたローカルメモリと、他のプロセッサの他のローカルメモリとを含んだ複数の記憶デバイスの中から二以上の記憶デバイスを決定するアクセス制御回路とを備え、前記決定された二以上の記憶デバイスにアクセスすることができる。
本発明の第三の側面に従う記憶制御方法は、複数のプロセッサに対してそれぞれ用意された複数のローカルメモリの各々は、複数のローカルメモリアドレスと、前記複数のローカルメモリアドレスにそれぞれ対応したローカルメモリ領域とを有している場合に、プロセッサが指定した値である指定値を含んだ第一のアクセスメッセージを、そのプロセッサに接続された第一の中間デバイスからコントローラに送信し、前記第一のアクセスメッセージに含まれる指定値に対応したローカルメモリアドレスを特定し、特定されたローカルメモリアドレスを含んだ第二のアクセスメッセージを前記コントローラから二以上の他のプロセッサに対して送信し、前記第二のアクセスメッセージに含まれているローカルメモリアドレスに対応したローカルメモリ領域であって、前記二以上の他のプロセッサにそれぞれ対応した二以上のローカルメモリのローカルメモリ領域に、アクセスする。
なお、上述した中間デバイス及びコントローラのうちの少なくとも一つ、或いはそれらの処理を実行する機能を、「手段」という言葉で表すことができる。また、その手段は、ハードウェア、コンピュータプログラム又はそれらの組み合せで実現することができる。
本発明によれば、複数のプロセッサによる処理性能が低下してしまうことを抑えることができる。
以下、図面を参照して、本発明の幾つかの実施例を説明する。
図1は、本発明の第一実施例に係るシステムのハードウェア構成の一例の概要を示す。なお、以下の説明では、同種類の要素(例えばCHA)を区別する場合には、区別される要素については、親番号(例えば3)と枝符号(例えばA)とから成る参照番号を用いるが、同種類の要素を格別区別しない場合には、親番号のみを用いる場合がある。
通信ネットワーク(例えば、LAN(Local Area Network)或いはSAN(Storage Area Network))32に、一以上のホスト装置31とストレージシステム20とが接続されている。
各ホスト装置31は、例えば、CPU、メモリ、入力装置(例えばマウスやキーボード)及び出力装置(例えば表示装置)のうちの少なくとも一つのハードウェア資源を備えるコンピュータマシンである。各ホスト装置31は、例えば、パーソナルコンピュータ、ワークステーション、或いはサーバマシン等とすることができる。ホスト装置31は、書込み要求及び書込み対象データや、読出し要求を、ストレージシステム20に送信することができる。ホスト装置31は、メインフレームコンピュータであってもよい。その場合、後述する複数のCHA3A、3B、…のうちの少なくとも一つも、メインフレーム系のコンピュータマシンとすることができる。メインフレームコンピュータとしてのホスト装置31とメインフレーム系のCHA3との間の通信は、例えば、FICON(Fibre Connection:登録商標)、ESCON(Enterprise System Connection:登録商標)、ACONARC(Advanced Connection Architecture:登録商標)、FIBARC(Fibre Connection Architecture:登録商標)等の通信プロトコルに従って行うことができる。
ストレージシステム20は、複数(一つでも良い)のチャネルアダプタ(以下、CHA)3A、3B、…と、複数(一つでも良い)のストレージ21、21、…と、複数(一つでも良い)のディスクアダプタ(以下、DKA)13A、13B、…と、キャッシュメモリ(以下、CM)41と、共有メモリパッケージ35と、接続部33とを備える。
複数のCHA3A、3B、…は同じ構成及び機能を有することができるので、複数のCHA3A、3B、…について、CHA3Aを代表的に例に採り説明する。CHA3Aは、ホスト装置31との間の通信を制御するインターフェース装置(例えば回路基板)である。CHA3Aは、ホスト装置31から書込み要求及び書込み対象データを受信し、受信した書込み対象データをCM41に書込んだり、書込み要求に基づいてDKA13に対するメッセージ(例えば、書込み対象データのCM41上での存在場所とどのストレージに書くか)を生成して送信したりすることができる。また、CHA3Aは、ホスト装置31から読出し要求を受信し、受信した読出し要求に基づいてDKA13に対するメッセージ(例えば、どのストレージ21からどの読出し対象データを読出してCM41上のどこに格納するか)を生成して送信したり、DKA13からのメッセージ(例えば、CM41への読出しが終了したという通知)に基づいて、CM41から読出し対象データを読出してホスト装置31に送信したりすることもできる。CHA3Aのハードウェア構成例については後述する。
ストレージ21は、どのようなものであっても良く、例えば、ハードディスク、光ディスク、磁気テープ或いは半導体メモリとすることができる。
複数のDKA13A、13B、…は同じ構成及び機能を有することができるので、複数のDKA13A、13B、…について、DKA13Aを代表的に例に採り説明する。DKA13Aは、自分と通信可能な一以上のストレージ21、21…との間の通信を制御するインターフェース装置(例えば回路基板)である。DKA13Aは、CHA3からのメッセージに基づいて、CM41から書込み対象データを読出してストレージ21に書込んだり、CHA3からのメッセージに基づいて、ストレージ21から読出し対象データを読出してCM41に書込んだりすることができる。DKA13Aのハードウェア構成例については後述する。
CM41は、ホスト装置31とストレージ21との間でやり取りされる書込み対象データや読出し対象データを一時的に記憶するためのメモリである。
共有メモリパッケージ(例えば回路基板)35は、共有メモリ(以下、SM)39と、スイッチLSI(Large-Scale Integrated circuit)37とを備えている。SM39は、種々の情報(例えば、ストレージシステム20の動作を制御するための制御情報)を記憶することができ、各CHA3のマイクロプロセッサ(以下、MP)5や各DKA13のMP15がアクセス可能なメモリである。スイッチLSI37は、各MP5、15からのSM39に対するアクセスを許可したり、各MP5、15からのメッセージを他のMP5、15のローカルメモリ(以下、LM)7、17に書込んだり、そのデータをSM39に書くか否かを制御したりすることができる。
接続部33は、各CHA3、CM41、各DKA13及びスイッチLSI37を相互に接続させるスイッチ(例えば、スイッチング動作によってデータ伝送を行うクロスバスイッチ)或いはバスとすることができる。
以上が、本実施例に係るシステムのハードウェア構成の概要についての説明である。次に、各CHA3及び各DKA13のハードウェア構成の一例の概要について説明する。なお、以下の説明では、CHA3又はDKA13と他のCHA3又は他のDKA13との間でスイッチLSI37を介して或いは介さずにやり取りされる情報を「メッセージ」と呼ぶ。そのメッセージには、例えば、データ及びコマンドのうちの少なくとも一つを含めることができるものとする。
各CHA3について、CHA3Aを代表的に例に採り説明する。CHA3Aは、例えば、通信ネットワーク32に接続されるポート2Aと、接続部33に接続されるマイクロプロセッサアダプタ(以下、MPA)4Aと、MP5Aと、MP5Aがアクセス可能なLM7Aと、ポート2A、MP5A、LM7A及びMPA4Aに接続される転送制御回路6Aとを備える(図1において、CHA3Bの構成要素については、枝符号「A」の代わりに「B」を付している)。この実施例では、一つのCHA3には、一つのMP5が搭載されているものとするが、複数のMP5が搭載されていてもよい(これは、後述のDKA13についても同様とする)。また、この実施例では、一つのMP5に対して、一つのLM7が用意されているものとするが、複数のLM7が用意されてもよい(これは、後述のMP15についても同様とする)。転送制御回路6Aは、ポート2A、MP5A、LM7A及びMPA4Aにおける相互間のデータ転送を制御することができる。具体的には、例えば、転送制御回路6Aは、ポート2Aを介して入力されたデータをMP5A、LM7A及びMPA4Aのうちの少なくとも一方に出力したり、MPA4Aを介して入力されたデータをMP5A及びLM7Aのうちの少なくとも一方に出力したりすることができる。MP5Aは、転送制御回路6Aを介して、LM7Aにデータを書込んだり、LM7Aからデータを読出したりすることができる。
各DKA13について、DKA13Aを代表的に例に採り説明する。DKA13Aは、CHA3Aと実質的に同じ構成にすることができる。すなわち、例えば、DKA13Aは、ポート12Aと、MPA14Aと、MP15Aと、LM17Aと、転送制御回路16Aとを備えることができる(図1において、DKA13Bの構成要素については、枝符号「A」の代わりに「B」を付している)。ポート12Aには、例えばファイバチャネルケーブルを介して、ストレージ21が接続される。
図2Aは、本発明の第一実施例で行われる一つの処理の概要を示す。なお、後述する書込みメッセージは、MP、転送制御部及びMPAのうちの少なくとも一つが送受信することができるが、以下の説明では、MPが送受信するものとする。
この第一実施例では、各MP5、15は、自分のLM7、17にデータを書込むことに代えて又は加えて(例えば、その書込みと実質的に同時に)、複数の他のMP5、15にそれぞれ対応する複数のLM7、17にデータを書込むこと(以下、「マルチLM書込み」と称することがある)ができる。
すなわち、例えば、CHA3A上のMP5Aが、LM7Aにデータを書込む場合に、MP5A、MPA4A及び転送制御回路6Aのうちの少なくとも一つが、そのデータを含んだメッセージ(マルチLM書込みを実行することのコマンドを含んだメッセージ、以下、マルチLM書込みメッセージ)を生成してスイッチLSI37に送信することができる。ここで、「書込む場合」とは、例えば、データを書込む前(例えば直前)、データを書込んだ後、又は、データを書込んで応答を受けた後、のうちのいずれであっても良い。
スイッチLSI37が、そのマルチLM書込みメッセージに従って、そのマルチLM書込みメッセージに含まれるデータを、複数の他のLM7B、17Aに書込むことができる。具体的には、例えば、スイッチLSI37は、そのデータを含んだメッセージ(そのデータを書込むことのコマンドを含んだメッセージ、以下、通常書込みメッセージ)を生成し、LM7B及びLM17Aをそれぞれ備えたCHA3B及びDKA13Aに、生成した通常書込みメッセージをそれぞれ送信することができる(マルチLM書込みは、書込み先のLMの数が一以上であるのに対し、通常LM書込みは、書込み先のLMの数が一つであることを意味する)。通常書込みメッセージを受信したCHA3B(DKA13A)では、MP5B(15A)、MPA4B(14A)、及び転送制御回路6B(16B)のうちの少なくとも一つが、受信された通常書込みメッセージに含まれているデータを、LM7B(17A)に書込むことができる。MP5B(15A)は、自分のLM7B(17A)からデータを読出すことにより、データを取得することができる。
上述のことを実現するための一つの工夫として、各MP5、15の各LM7、17の領域を、以下のように区分しておき、そのような区分結果を表す情報(以下、「LMマップ」と言う)を、そのLM7、17を備えるCHA3、DKA13上の記憶資源(例えば、MP5、15内の内部レジスタ)に設定することが考えられる。
図2Bは、LM7、17のLMマップの構成例を示す。図2Bには、図2Aと対応させるために、LM7A、7B、17AのLMマップ71A、71B、73Aを代表的に例に採り説明する。
LMマップ71A、71B、73Aは、LM7A、7B、17Aの区分結果をそれぞれ表している。
この区分結果によると、LM7A、7B、17Aの同一のアドレスが、所定のMP5又は15に割り当てられている。具体的には、例えば、LM7A、7B及び17Aのアドレス「0」に対応する各記憶領域は、MP5A用の書込み領域として割り当てられており、アドレス「1」に対応する各記憶領域は、MP5B用の書込み領域として割り当てられており、アドレス「2」に対応する各記憶領域は、MP15A用の書込み領域として割り当てられている。
このように、各アドレス(例えば「0」)の記憶領域は、どのLM7A、7B及び17Aでも、そのアドレスの記憶領域を割り当てられたMP5、15(例えば5A)にとっては、書込み領域となる。
しかし、別のMP5、15(例えば5B及び15A)にとっては、その書込み領域は読出し領域となる。それにより、別のMP5、15(例えば5B及び15A)は、MP5、15(例えば5A)に割り当てられたアドレス(例えば「0」)の記憶領域からデータを読出し、故に、MP5、15(例えば5A)からのデータを取得することができる。
以上のようなLMマップは、それに対応するプロセッサが参照できるような場所(例えばプロセッサの内部レジスタ)に設定することができる。また、その場所には、上記の情報に加えて、どのアドレスにデータを書けばどのMPのLMにデータが書かれているかを表す情報も記録することができる。これにより、MP5,15は、どの他のMP5,15にデータを送るかに応じて、自分のLM7,17の複数の書込み領域の中から、送り先のMP5,15に対応した書込み領域を選択し、選択した書込み領域にデータを書き、且つ、その選択した書込み領域のアドレスを含んだ書込みメッセージをスイッチLSI37に送信することができる。
以上のように、全てのLM5、15について、各同一アドレス(オフセット等によって値そのものは違っていても、意味的に同じであればよい)の記憶領域を、一つのMP5又は15の書込み領域として割当てる。各MP5、15については、自分のLM5、15において、自分に割り当てられているアドレス以外のアドレスに対応する記憶領域を、読出し領域として割り当てる。これにより、図2Aに例示したようなマルチLM書込みを実現することができる。
すなわち、例えば、LM7Aのアドレス「0」に対応した記憶領域にMP5Aがデータを書込む場合、MP5A、MPA4A及び転送制御回路6Aのうちの少なくとも一つが、そのデータとアドレス「0」とを含んだマルチLM書込みメッセージを生成してスイッチLSI37に送信することができる。
スイッチLSI37は、マルチLM書込みメッセージに含まれているデータ及びアドレス「0」を含んだ通常書込みメッセージを生成し、その通常書込みメッセージを、CHA3B及びDKA13Aに送信することができる。
その通常書込みメッセージを受信したCHA3B(DKA13A)では、MP5B(15A)、MPA4B(14A)、及び転送制御回路6B(16B)のうちの少なくとも一つが、受信された通常書込みメッセージに含まれているデータを、その通常書込みメッセージに含まれるアドレス「0」の記憶領域(LM7B(17A)の記憶領域)に書込むことができる。MP5B(15A)は、自分のLM7B(17A)のアドレス「0」の記憶領域からデータを読出すことにより(例えば、アドレス「0」の読出し領域をポーリングすることにより)、MP5Aからのデータを取得することができる。
各CHA3A及び各DKA13とスイッチLSI37とは、例えば、図3Aに例示するような構成のメッセージを互いにやり取りすることができる。
図3Aは、各CHA3A及び各DKA13とスイッチLSI37と間でやり取りされるメッセージの構成例を示す。
参照番号281は、書込みを命令する場合に使用される書込みメッセージを示す。このメッセージ281には、アドレスを表す情報がセットされるアドレスフィールド281Aと、コマンドがセットされるコマンドフィールド281Bと、書込み対象となるデータがセットされるデータフィールド281Cと、誤り訂正符号或いはエラーチェック用の符号等がセットされる符号フィールド281Dとがある。フィールド281A〜281Dのうちの少なくとも一つは、固定長(例えば8ビット)であっても可変長であっても良い(これは、後述の各他種のフィールドについても同様である)。また、フィールド281Bにセットできるコマンドとしては、例えば、書込みであることに加えて、書込みの種別をも意味するコマンドとすることができる。書込みの種別としては、例えば、マルチLM書込み(書込み先のLMの数は一以上なのか)と、通常書込み(書込み先のLMの数は一つなのか)と、SM書込みとがある。このため、例えば、マルチLM書込みを意味するコマンドが含まれたメッセージ281は、上述したマルチLM書込みメッセージであるし、通常書込みを意味するコマンドが含まれたメッセージ281は、上述した通常書込みメッセージである。
参照番号283は、書込みメッセージ281に対する書込み応答メッセージを示す。このメッセージ283には、ステータス(例えば、書込み成功或いは書込み失敗)を表すステータス情報がセットされるステータスフィールド283Aと、誤り訂正符号等がセットされる符号フィールド283Bとがある。
スイッチLSI37は、書込みメッセージ281を各CHA3や各DKA13から受信したり、その書込みメッセージ281に対する応答として書込み応答メッセージ283を、書込みメッセージ281の送信元のCHA3又はDKA13に送信したりすることができる。
図3Bは、スイッチLSI37のハードウェア構成の一例の概要を示す。
スイッチLSI37は、通信部51と、SM39に対するインターフェース装置(以下、SMI/F)54と、アドレスマップ55を記憶するアドレスマップ記憶域(例えばレジスタ)52と、アドレス状態記憶域57と、キュー59と、制御部53とを備えることができる。
通信部51は、例えば、接続部33に対するインターフェース装置である。通信部51は、例えば、接続部33を介して各CHA3、各DKA13からメッセージ281又は283を受信し、受信したメッセージ281又は283を制御部53に渡すことができる。また、例えば、通信部51は、制御部53からメッセージ281又は283を受信し、受信したメッセージ281又は283を、接続部33を介して各CHA3、各DKA13に送信することもできる。
アドレスマップ55について、図4を参照して説明する。アドレスマップ55には、LM7、17のどのアドレスが指定された場合にどのLMのどこにデータを書込むかが記録されている。例えば、アドレスマップ55には、各アドレス毎に、データの送り先を表す送り先情報が対応付けられている。送り先情報は、例えば、複数のMP5、15にそれぞれ対応した複数の送信有無フラグ(データを送るか否かを表すフラグ)を含んでいる。また、アドレスマップ55には、各MP5、15毎に、どのCHA3或いはDKA13に搭載されているMPであるかを表す情報も記録されている。このようなアドレスマップ55と、各CHA3、DKA13に設定されている上述したLMマップ71A〜71C(図2B参照)とにより、マルチLM書込みを実行することができる(具体的な処理流れについては、後に説明する)。
再び図3Bを参照する。アドレス状態記憶域57は、LM7,17のどのアドレスがどんな状態であるかを記憶することができる。具体的には、例えば、アドレス状態記憶域57は、LM7,17のアドレス(以下、「LMアドレス」ということがある)のどれがロックオン状態か(換言すれば、排他がとられている最中か)を記憶することができる。これは、例えば、ロックオン状態か否かを表すためのフラグを各LMアドレス毎に用意するか、或いは、ロックオン状態のLMアドレスを記憶することにより、実現することができる。
キュー59は、未処理のマルチLM書込みメッセージを記憶することができる。
制御部53は、スイッチLSI37の動作を制御することができる。制御部53は、ハードウェア、コンピュータプログラム或いはそれらの組み合わせ(例えば、CPU)により実現することができる。制御部53は、通信部51を介して、CHA3やDKA13から発行された書込みメッセージ281を受信する。制御部53は、受信した書込みメッセージ281に含まれているコマンドを解釈することにより、その書込みメッセージ281が、マルチLM書込みメッセージ、通常LM書込みメッセージ或いはSM書込みメッセージのいずれであるかを判断することができる。制御部53は、通常LM書込みメッセージであると判断した場合、その通常LM書込みメッセージから特定される宛先(例えば、アドレス或いはMP番号等から特定されるMP)を有したCHA3或いはDAK13に、通常LM書込みメッセージ中のデータを含んだ書込みメッセージ281を送信することができる。制御部53は、SM書込みメッセージであると判断した場合、そのSM書込みメッセージ中のデータを、SMI/54を介してSM39に書き込むことができる。制御部53は、通常LM書込みメッセージであると判断した場合、図5に例示する処理を実行することができる。
図5は、受信した書込みメッセージがマルチLM書込みメッセージであると判断した場合に制御部53が行う処理の流れの一例を示す。
制御部53は、アドレス状態記憶域57を参照することにより、マルチLM書込みメッセージ中のLMアドレスがロックオン状態か否かを判断する(ステップS20)。
LMアドレスがロックオン状態であるということは、マルチLM書込みメッセージ中のLMアドレスは排他中であり、それ故、そのマルチLM書込みメッセージを処理できないことを意味する。そのため、S20において、ロックオン状態であると判断された場合(S20でYES)、制御部53は、そのマルチLM書込みメッセージをキュー59に蓄積する(S60)。その後、制御部53は、アドレス状態記憶域57を参照することにより、キュー59に蓄積されているマルチLM書込みメッセージ中のLMアドレスがロックオン可能になったか否かの判断を行う(S70)。制御部53は、ロックオン可能になったと判断された場合には(S70でYES)、そう判断されたマルチLM書込みメッセージについて、後述するS30の処理を行い、ロックオン可能になっていないと判断された場合には(S70でNO)、再びS20の処理を行う。
S20において、ロックオン状態でないと判断された場合(S20でNO)、制御部53は、処理対象のマルチLM書込みメッセージ中のLMアドレスがロックオンであることをアドレス状態記憶域57に書き込む(S30)。
そして、制御部53は、そのマルチLM書込みメッセージの処理を行う(S40)。具体的には、制御部53は、アドレスマップ55を参照して、処理対象のマルチLM書込みメッセージ中のLMアドレスに対応する送り先MP5,15を特定し、特定された各送り先MP5,15毎に、そのLMアドレスを含んだ書込みメッセージを生成して送信することができる。
S40の後、制御部53は、そのLMアドレスについてロックオフを行う(S50)。例えば、制御部53は、アドレス状態記憶域57にアクセスして、そのLMアドレスのロックオン状態を解除する。
以上が、受信した書込みメッセージがマルチLM書込みメッセージであると判断した場合に制御部53が行う処理の流れの一例である。
ところで、既に説明したように、制御部53は、各LMアドレスについて、排他処理を行うことができる。それにより、各LMアドレスに書かれたデータについての順序性を保証することができる。換言すれば、後に発行されたデータが先に発行されたデータよりも先にLMアドレスの領域に書かれてしまうことを防ぐことができる。
以下、図6Aを参照して、LMアドレスの排他処理の一例を説明する。
MP5Aは、自分のLM7Aの或る読出し領域62Bからデータを読み出す場合(具体的には、例えば、その読出し領域62Bにデータが書き込まれたことを検出したとき)、スイッチLSI37に、その読出し領域62BのLMアドレスについてロックオンを要求することができる。
スイッチLSI37の制御部53は、その要求に応答して、アドレス状態記憶域57を参照し、そのLMアドレスをロックオンできるか否かを判断し、ロックオンできたか否かの通知を、ロックオンの要求元であるMP5Aに通知することができる。
MP5Aは、ロックオンしたことの通知を受けた場合、読出し領域62Bからデータを読み出すことができる(ロックオンできなかったことの通知を受けた場合、MP5Aは、データの読み出しを行わず、再び、ロックオンすることの要求を出すことができる)。また、その後、MP5Aは、自分のLM7Aの書込み領域62Aにデータを書き込み、且つ、その書込み領域62Aのアドレスとそのデータとを含んだマルチLM書込みメッセージをスイッチLSI37に送信することができる。スイッチLSI37の制御部53は、マルチLM書込みメッセージを受信した場合、図5を参照して説明したS20以降の処理を実行することができる。なお、その際、制御部53は、例えば、(1)送り先MPに書込みメッセージを送信したとき、(2)送り元MPからロックオフの要求を受信したとき、(3)送信した書込みメッセージに対する応答を送り先MPから受信したとき、の(1)〜(3)のいずれかのタイミングで、LMアドレスのロックオフを行うことができる。
このように、各LMアドレスからデータを読み出す場合に、そのLMアドレスがロックオン状態にされるので、そのデータを読出す前に、他のデータによって上書きされてしまうことを防止することができる。
マルチLM書込みメッセージが送信され、そのメッセージに従って、複数の送り先に書込みメッセージが送信された場合、スイッチLSI37や送り先MPは、以下に例示するようにして応答を返すことができる。以下、送り元MPをMP5Aとし、送り先MPをMP5B、MP15Aとして、図6Bを参照して説明する。
スイッチLSI37が、マルチLM書込みメッセージをMP5Aから受信し、送り先MP5B、15Aにそれぞれ書込みメッセージを送信した場合に、応答を、MP5Aに送信する。送り先MP5B、15Aは、スイッチLSI37からの書込みメッセージに対する応答をスイッチLSI37に返さない。
このようにすることで、MP5AがマルチLM書込みメッセージを送信してから応答を受信するまでの時間をなるべく短くすることができる。これは、コネクション型のやり取り(換言すれば、送信してから応答を受けるまでパスが占有される方式での通信)で有効であると考えられる。
以上が、本発明の一実施形態の第一実施例についての説明である。なお、この第一実施例では、例えば以下のことも行える。
すなわち、図7Aに例示するように、マルチLM書込みメッセージ中のデータの送り先を、グループ単位に区別することができる。
具体的には、例えば、図4に例示したアドレスマップ55のLMアドレスのNo.「13」〜「16」のように、全てのDKA12に存在する全てのMP15を送り先としてアドレスマップ55に設定しておくことにより(換言すれば、送り先をDKAグループとしたLMアドレスを用意することにより)、No.「13」〜「16」のいずれかのLMアドレスにデータが書込まれた場合、そのデータを、図7Aに例示するように、全てのDKA13の全てのMP15のLM17に書込むことができる。ここで、No.「13」〜「16」の各LMアドレスを、DKA15上のMP15に割当てておくことにより、DAK15間でデータを送受信することができる。
同様に、例えば、図4に例示したアドレスマップ55のLMアドレスのNo.「9」〜「12」のように、全てのCHA3に存在する全てのMP5を送り先としてアドレスマップ55に設定しておくことにより、No.「9」〜「12」のいずれかのLMアドレスにデータが書込まれた場合、そのデータを、全てのCHA3の全てのMP5のLM7に書込むことができる。
このように、アドレスマップ55上での送り先の設定の仕方で、マルチLM書込みメッセージ中のデータの送り先をグループ単位とすることができる。グループとしては、複数のCHA3の複数のMP5、複数のDKA13の複数のMP15に限らず、例えば、クラスタを構成する複数のMP、オープンシステムである複数のMP、メインフレームである複数のMP、所定のコピー処理(例えば、他のストレージシステムへのリモートコピーを行う処理)を行う複数のMP、ホスト装置31に接続されていない比較的暇な複数のMP(CHA3上のMP)、RAID(Redundant Arrays of Inexpensive Disks)レベルに基づくパリティデータの生成を行う複数のMP(DKA13上のMP)等とすることができる。
図7Bに例示するように、スイッチLSI37が、マルチLM書込みメッセージ(或いは通常書込みメッセージ)に含まれるデータをSM39にも書込むことができる(つまりバックアップをとることができる)。具体的には、例えば、スイッチLSI37は、マルチLM書込みメッセージ(或いは通常書込みメッセージ)にバックアップ命令が含まれている場合、そのマルチLM書込みメッセージ(或いは通常書込みメッセージ)に含まれるデータをSM39に書込むことができる。また、例えば、スイッチLSI37は、バックアップをとることが予め設定されている場合に、全てのマルチLM書込みメッセージ(或いは全ての通常書込みメッセージ)に含まれるデータをSM39に書込むことができる。
また、スイッチLSI37は、SM39に書込まれているデータのうち、マルチLM書込みメッセージ(或いは通常書込みメッセージ)に含まれるデータを、所定のタイミングで削除することができる。具体的には、例えば、スイッチLSI37は、データのバックアップを残すためのSM39上の領域が満杯になったときに、最も古いデータを削除することができる。また、例えば、スイッチLSI37は、送り先MPに送った書込みメッセージに対する応答を受けたとき、或いは、マルチLM書込みメッセージ(或いは通常書込みメッセージ)に対する応答を返したときに、その応答に関わる書込みメッセージ中のデータをSM39から削除することができる。また、例えば、スイッチLSI37は、或るLMアドレスについて、次にそのLMアドレスに書込むべきデータを新たに受けた場合には、直前回に書かれたデータをSM39から削除し、その新たに受けたデータを書込むことができる。
このように、SM39(特にそれの所定領域)にバックアップを取ることで、例えば、送り先のMP5,15のLM7,17にデータが書かれる前に障害が発生した等の場合には、各MP5,15は、SM39に蓄積されているバックアップデータを取得することで、障害復旧を行うことができる。
図7Cに例示するように、アドレスマップ記憶域52には、書込みメッセージの送り元(例えばMP)毎のアドレスマップ55A、55B、…を記憶させておくことができる。これにより、送り先を送り元が誰であるかに応じて違えることができる。具体的には、例えば、書込みメッセージの送り元が誰かに応じて、同じLMアドレスにデータが書かれた場合であっても、そのデータの送り先を違えることができる。
以上、上述した第一実施例によれば、或るMP5,15が自分のLM7,17の書込み領域にデータを書込んだ場合に、その書込み領域のLMアドレスとそのデータとを含んだマルチLM書込みメッセージがスイッチLSI37に送信され、スイッチLSI37が、そのLMアドレスに対応付けられた複数の送り先に、そのデータを含んだ書込みメッセージを送信し、それにより、複数の送り先での複数のLM7,17の同じLMアドレスの領域に、同じデータを書込むことができる。各送り先でのMP5,15は、自分のLM7,17の読出し領域を参照することで、送り元から送信されたデータを取得することができる。これにより、複数のMP5,15は、送り元からのデータを取得するためにSM39までアクセスする必要がなくなるので、複数のMP5、15による処理性能が低下してしまうことを抑えることができる。
以下、本発明の一実施形態の第二実施例について説明する。なお、以下、第一実施例との相違点を主に説明し、第一実施例との共通点については説明を省略或いは簡略する。
上述した第一実施例は、各MP5,15とスイッチLSIとの間の通信がコネクション型の通信であったのに対し、この第二実施例は、コネクションレス型の通信である。コネクションレス型の通信は、例えば、送信用のパスと受信用のパスとを分けた二重化転送を行うことにより、実現することができる。
図8は、本発明の一実施形態の第二実施例におけるCHA103(又はDKA113)と接続部133との間のパス構成を示す。
各CHA103(又はDKA113)と接続部133とは、一以上の第一パス604と、一以上の第二パス606とによって接続される。
CHA103(又はDKA113)のMPA186には、第一のパス604に接続される送信部(以下、TX部)185と、第二パス606に接続される受信部(以下、RX部)187と、TX部185及び受信部187とMP側(例えば、MP105(又は115)や転送制御回路を含んだ部分)との間に介在するデータ制御部184とが備えられる。TX部185は、データ制御部184を介してMP105(又は115)側からのデータを受信し、受信したデータを第一のパス604を通じて送信することができる。RX部187は、接続部133から第二パス606を通じて受信したデータをデータ制御部184を介してMP側に送信することができる。TX部185及びRX部187は、例えば、各MPの各LM毎に備えることができる。
接続部134は、各CHA103やDKA113毎に、第一パス604に接続されるRX部181と、第二パス606に接続されるTX部183とを備えることができる。また、接続部134は、各RX部181や各TX部183に接続されたスイッチ部134を備えることもできる。スイッチ部134は、RX部181からデータを受けたり、RX部181から受けたデータを、そのデータの宛先にそのデータを送信することができるTX部183にそのデータを渡したりすることができる。
図9は、接続部133のRX部181及びTX部183の構成例を示す。なお、RX部181の構成例は、CHA103(又はDKA113)のRX部187に適用することができ、TX部183の構成例は、CHA103(又はDKA113)のTX部185に適用することができる。
RX部181は、シリアルデータを受信して下流側に出力するシリアルインターフェース受信回路201と、出力されたシリアルデータを受けてパラレルデータに変換し出力するSP変換回路203と、出力されたパラレルデータ(データパケット)を受けるパケット制御回路205と、受信バッファ207とを備えることができる。パケット制御回路205は、受信したパラレルデータを受信バッファ207に蓄積したり、受信バッファ207が満杯であれば、その旨を表す満杯通知(例えば、受信したパラレルデータそれ自体)を、TX部183のパケット制御回路215に渡したりすることができる。
TX部183は、スイッチ部134からのパラレルデータを蓄積する送信バッファ217と、送信バッファ217に蓄積されているパラレルデータ(又はRX部181から渡された満杯通知)を受けて出力するパケット制御回路215と、パケット制御回路215から出力されたパラレルデータをシリアルデータに変換して出力するPS変換回路213と、PS変換回路213から出力されたシリアルデータを受けてCHA103(又はDKA113)に送信するシリアルインターフェース送信回路211とを備えることができる。
図10は、本発明の一実施形態の第二実施例におけるスイッチLSI137の構成例を示す。
この第二実施例では、制御回路153と接続部133との間には、複数のRX部151A、151B…と、複数のTX部158A、158B、…とが備えられる。各RX部151の構成には、RX部181の構成例を適用することができる。各TX部158の構成には、TX部183の構成例を適用することができる。
RX部151及びTX部158は、各MPの各LM毎に備えることができる。また、例えば、各RX部151のID(例えば番号)と、各TX部158のIDと、各MPとの対応関係を表す送受信マップ608をアドレスマップ記憶域52等の記憶資源に記憶させておくことができる。これにより、例えば、制御部153は、どのRX部151を介して書込みメッセージを受信したかにより、その書込みメッセージがどのMPからの書込みメッセージであるかを特定したり、どのMPに書込みメッセージを送信する場合にはどのTX部158を介して書込みメッセージを送信すれば良いか等を特定することができる。具体的には、例えば、制御部153は、マルチLM書込みメッセージを受信し、そのマルチLM書込みメッセージに含まれているLMアドレスに対応する複数の送り先MPをアドレスマップ55から特定した場合、上記送受信マップ608を参照して、複数の送り先MPに対応した複数のTX部158を特定し、特定された複数のTX部158から、マルチLM書込みメッセージ中のデータを含んだ書込みメッセージを送信することができる。
この第二実施例では、スイッチLSI137は、以下の応答方式で、マルチLM書込みメッセージの送り元MPに応答を返すことができる。なお、以下の説明では、送り元MPをMP105Aとし、送り先MPをMP105B及びMP115Aとする。
図11Aは、第一の応答方式の説明図である。
スイッチLSI137が、MP105AからのマルチLM書込みメッセージに従ってMP105B及びMP115Aに書込みメッセージを送信した場合、MP105B及びMP115Aから応答を受信する。この応答は、例えば、送り先MP105B、115AのMPAが書込みメッセージを受信したときのものとすることができる。
この第一の応答方式では、スイッチLSI137は、送り先MP105B及び115Aからそれぞれ応答を受信する都度に、MP105Aに応答を返すことができる。これにより、送り元MP105Aに対して、送り先にデータが届いたことを保証することができる。
図11Bは、第二の応答方式の説明図である。
この第二の応答方式では、スイッチLSI137は、全ての送り先MP105B及び115Aにそれぞれ対応した全ての応答を受信したときに(例えば全ての応答が所定のバッファに蓄積されたことを認識したときに)、送り元MP105Aに応答を返すことができる。これにより、送り元MP105Aに対して、送り先にデータが届いたことを保証することができる。また、全ての送り先からの全ての応答に対して送り元MP105Aに返す応答は一回なので、送り元MP105AとスイッチLSI137との間のパスの占有率を抑えることもできる。
図11Cは、第三の応答方式の説明図である。
この第三の応答方式によれば、各送り先MP105B、115AからスイッチLSI137に対する応答は、それのLM107B、117Aにデータが書かれた確認できた場合に返される。スイッチLSI137は、送り先MP105B及び115Aからそれぞれ応答を受信する都度に、MP105Aに応答を返すことができる。これらのことにより、送り元MP105Aに対して、送り先のLMにデータが書かれたことを保証することができる。
図11Dは、第四の応答方式の説明図である。
この第四の応答方式では、上記第三の応答方式において、スイッチLSI137は、全ての送り先MP105B及び115Aにそれぞれ対応した全ての応答を受信したときに、送り元MP105Aに応答を返すことができる。これにより、送り元MP105Aに対して、送り先のLMにデータが書かれたことを保証することができ、且つ、全ての送り先からの全ての応答に対して送り元MP105Aに返す応答は一回なので、送り元MP105AとスイッチLSI137との間のパスの占有率を抑えることもできる。
以上の第一〜第四の応答方式のうち、この第二の実施例では、第二の応答方式或いは第四の応答方式がより好ましいと考えられる。また、第一〜第四の応答方式の少なくとも一つは、第一の実施例に適用されても良い。また、この第二実施例では、スイッチLSI137は、第一〜第四の応答方式と第一実施例で説明した応答方式とのうちどの応答方式を採用するかを、動的に変更することができる。例えば、スイッチLSI137は、図12に例示するように、或る種の情報が入力された場合、その情報に基づいて、複数の応答方式のいずれかを選択することができる。入力される情報としては、例えば、データの重要度、パスの占有率及びレスポンス時間長といった複数の要素うちの少なくとも一つや、複数の要素の優先度等とすることができる。或いは、その入力される情報中の少なくとも一つの情報要素は、マルチLM書込みメッセージに含めることもできる。スイッチLSI137は、入力された情報により、例えば、データの信頼性はどうでも良く、パケット占有率及びレスポンス時間長を第三のレベル(第一、第二のレベルの方が高い)で優先すると判断された場合には、第一実施例の応答方式を選択することができる。また、例えば、スイッチLSI137は、入力された情報により、データの信頼性を第二のレベルで優先し、パケット占有率はどうでも良く、レスポンス時間長を第三のレベルで優先すると判断された場合には、第一の応答方式を選択することができる。また、スイッチLSI137は、入力された情報により、データの信頼性を第二のレベルで優先し、パケット占有率及びレスポンス時間長を第三のレベルで優先すると判断された場合には、第二の応答方式を選択することができる。また、スイッチLSI137は、入力された情報により、データの信頼性を第一のレベルで優先し、パケット占有率及びレスポンス時間長はどうでも良いと判断された場合には、第三の応答方式を選択することができる。また、スイッチLSI137は、入力された情報により、データの信頼性を第一のレベルで優先し、パケット占有率を第二のレベルで優先し、レスポンス時間長はどうでも良いと判断した場合には、第四の応答方式を選択することができる。以上のような選択を行うことにより、データの信頼性とスループットの高さとの両方をバランス良く満たすことが図れる。
この第二の実施例によれば、送信と受信とにパスが分けられているので、マルチLM書込みのスループットを高めることができる。
図13Aは、本発明の一実施形態に係る第三の実施例におけるCHA403(又はDKA413)の構成例を示す。
上記第一実施例及び第二実施例では、各MPが自分のLMの書込み領域にデータを書くことで、そのデータを含んだマルチLM書込みメッセージが作成されて送信されるが、この第三実施例では、自分のLMだけにデータを書く、自分のLMと複数の他のLMにデータを書く、自分のLMにはデータを書かずに複数の他のLMにデータを書く、等の複数の書込み方式を選択的に行うことができる。
CHA403(又はDKA413)は、プロセッサ405と、パス制御部412とを備えることができる。
プロセッサ405には、MPコア406、内蔵LM407、アドレスデコード回路408及び外付けLM409などを備えることができる。パス制御部412は、メモリ413等を備えることができる。
ここで、アドレスデコード回路408には、図13Bに例示するように、複数の指定値にそれぞれ対応した複数のアクセス先データを含む指定値アクセス先マップ415が設定されている。ここで、「指定値」とは、例えば、MPコア406によって指定されたデータの書込み先アドレスとすることができる。また、「アクセス先データ」とは、一又は複数のアクセス先の記憶域を特定するためのデータとすることができる。一又は複数のアクセス先としては、例えば、内蔵LM407、外付けLM409、メモリ413、SM39及び他のCHA403又はDKA413上のLM407のうちの少なくとも一つとすることができる。
アドレスデコード回路408は、MPコア406から指定値を含んだ命令を受け、その命令に含まれる指定値に対応したアクセス先データを指定値アクセス先マップ415から特定し、特定されたアクセス先データが表す一又は複数のアクセス先に、データを書くことができる。具体的には、例えば、MPコア406からの一度の命令により、内蔵LM407、外付けLM409、メモリ413、SM39及び他のCHA403又はDKA413上のLM407のうちの少なくとも一つにデータを書くことができる。
第一〜第三実施例では、マルチLM書込みについて説明したが、この第四実施例では、マルチLM読出しを実行することができる。マルチLM読出しは、例えば、マルチLM書込みの「書込み」を「読出し」と読み替えることで実現することもできるであろうが、別法として以下のような方法で実現することも可能である。
図14Aは、本発明の一実施形態の第四実施例で行われるマルチLM読出しの説明図である。
CHA503(又はDKA)のMPA583に、ダイレクトメモリアクセスを行うDMA処理部581を備えることができる。また、各MP505A〜505D(505B〜505Dは便宜上図示せず)のLM507A〜507Dには、他のMP毎に、その他のMPから発行されたデータを記録するための領域を設けておくことができる。また、各MP505A〜505DのLM507A〜507Dには、各送り先MP毎に、その送り先MPに対するデータを記録するための領域を設けておくことができる。
スイッチLSI537は、制御部553がアクセス可能な記憶域であって、図14Bに例示する読出しマップ592を記憶することができる読出しマップ記憶域591を備えることができる。読出しマップ592は、例えば、各MP毎に用意されている。例えば、MP505A用の読出しマップ592には、どの領域ID(例えばLMアドレス)が指定された場合に、どの他のMP505B〜505DのLMからデータを読出すかが記録されている。また、MP505A用の読出しマップ592には、各他のMP505B〜505D毎に、MP505AのLM507Aのどこに他のMPからのデータを書けば良いかの情報(例えばLMアドレス等の領域ID)も記録することができる。
この構成の下で、以下のようにしてマルチLM読み出しを実行することができる。
具体的には、例えば、MP505Aは、他のMP505B〜505DのLMからデータを読出す場合には、領域ID「A」をDMA処理部581に対して指定することができる。DMA処理部581は、指定された領域ID「A」(アドレス)と、マルチLM読出しであることを意味するコマンドとを含んだマルチLM読出しメッセージをスイッチLSI537に送信することができる。
スイッチLSI537は、マルチLM読出しメッセージに含まれているアドレス(領域ID)に対応したアクセス先MP505B〜505Dを、MP505Aに対応した読出しマップを参照することにより特定し、特定されたアクセス先MP505B〜505DのLM507B〜505DにおけるMP505A用の領域から、データを読出すことができる。スイッチLSI537は、読出された各データ毎に、そのデータの記録先の領域IDとそのデータとを含んだ応答メッセージ284を生成し、各応答メッセージをCHA503に送信することができる。
CHA503のDMA処理部581は、各応答メッセージを受信する都度に、その応答メッセージに含まれている領域IDに対応するLM507A上の領域に、その応答メッセージに含まれているデータを書込むことができる。
その後、MP505Aは、他のMP用の領域にアクセスすることで、その領域に記録されているデータを取得することができる。
以上、本発明の好適な幾つかの実施例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
例えば、各MPが自分のLMの読出し領域をポーリングすることでデータを読出すことに代えて、そのLMの或るLMアドレスに対応した読出し領域にデータが書かれたときに、そのLMに対応するMPに、そのLMアドレスに対応した割り込みが発行されても良い。MPは、割り込みに応答して、その割り込みに対応するLMアドレスの読出し領域からデータを読出しても良い。
また、例えば、図15に例示するように、データの送り先のMP5Bは、データの送り先MP5Aに、データを複数回数(例えば四回)受け取った段階で応答(例えば何回受け取ったか)を返すようにすることもできる。具体的には、例えば、送り先のMP5Bは、マイクロ制御の区切りを検出したとき(例えば所定の段階まで処理を終えたとき)、MP5Aからデータを所定回数受け取ったことを検出したとき、又は所定のLMアドレスを検出したとき(例えば所定のLMアドレスまで読み出しが完了したとき)、応答を返すことができる。また、スイッチLSIは、この応答方式と、図6Bを参照して説明した応答方式と、図11A〜図11Dを参照して説明した応答方式とのうちのどの応答方式を採用するかを、図12を参照して説明した方法と同様の方法で選択することもできる。
また、例えば、SM39、CM41及びスイッチLSI37のうちの少なくともスイッチLSI37を、接続部33に搭載することができる。別の言い方をすれば、例えば、スイッチLSI37に、接続部33の動作を行わせることができる。また別の言い方をすれば、接続部33に、スイッチLSI37が行う処理を行わせることができる。その場合のストレージシステム200の構成例を図16に示す。
図1は、本発明の第一実施例に係るシステムのハードウェア構成の一例の概要を示す。 図2Aは、本発明の第一実施例で行われる一つの処理の概要を示す。図2Bは、LM7、17のLMマップの構成例を示す。 図3Aは、各CHA3A及び各DKA13とスイッチLSI37と間でやり取りされるメッセージの構成例を示す。図3Bは、スイッチLSI37のハードウェア構成の一例の概要を示す。 図4は、アドレスマップ55の構成例を示す。 図5は、受信した書込みメッセージがマルチLM書込みメッセージであると判断した場合に制御部53が行う処理の流れの一例を示す。 図6Aは、LMアドレスの排他処理の一例の説明をするための図である。図6Bは、スイッチLSI37が送り先MPに対して行う応答方式の一例の説明図である。 図7Aは、マルチLM書込み処理での書込み先をグループ単位とすることができることを説明するための図である。図7Bは、マルチLM書込みの対象となるデータをSM39にも書き込めることを説明するための図である。図7Cは、送信元毎に用意されたアドレスマップの一例を示す。 図8は、本発明の一実施形態の第二実施例におけるCHA103(又はDKA113)と接続部133との間のパス構成を示す。 図9は、接続部133のRX部181及びTX部183の構成例を示す。 図10は、本発明の一実施形態の第二実施例におけるスイッチLSI137の構成例を示す。 図11Aは、第一の応答方式の説明図である。図11Bは、第二の応答方式の説明図である。図11Cは、第三の応答方式の説明図である。図11Dは、第四の応答方式の説明図である。 図12は、複数の応答方式を選択することができることを説明するための図である。 図13Aは、本発明の一実施形態に係る第三の実施例におけるCHA403(又はDKA413)の構成例を示す。図13Bは、指定値アクセス先マップ415の構成例を示す。 図14Aは、本発明の一実施形態の第四実施例で行われるマルチLM読出しの説明図である。図14Dは、読出しマップ592の構成例を示す。 図15は、送り先MPが採用することのできる応答方式の一例を示す。 図16は、別のストレージシステム200の構成例を示す。
符号の説明
2、12…ポート 3…チャネルアダプタ(CHA) 4、14…マイクロプロセッサアダプタ(MPA) 5、15…マイクロプロセッサ(MP) 6、16…転送制御回路 7、17…ローカルメモリ(LM) 13…ディスクアダプタ(DKA) 20…ストレージシステム20…ストレージ 31…ホスト装置 32…通信ネットワーク 33…接続部 35…共有メモリパッケージ 37…スイッチLSI 39…共有メモリ(SM) 41…キャッシュメモリ(CM) 71、73…ローカルメモリマップ(LMマップ)

Claims (15)

  1. 複数のプロセッサによって一以上のストレージに対する処理を行うストレージシステムにおいて、
    複数のプロセッサと、
    前記複数のプロセッサに対してそれぞれ用意された複数のローカルメモリと、
    コントローラと、
    前記複数のプロセッサと前記コントローラとに通信可能に接続された一以上の中間デバイスと
    を備え、
    前記複数のローカルメモリの各々は、複数のローカルメモリアドレスと、前記複数のローカルメモリアドレスにそれぞれ対応したローカルメモリ領域とを有し、
    プロセッサが指定した値である指定値を含んだ第一のアクセスメッセージを、そのプロセッサに接続された第一の中間デバイスが、前記コントローラに送信し、
    前記コントローラが、前記第一の中間デバイスから第一のアクセスメッセージを受信し、前記受信した第一のアクセスメッセージに含まれる指定値に対応したローカルメモリアドレスを特定し、特定されたローカルメモリアドレスを含んだ第二のアクセスメッセージを、二以上の他のプロセッサに対して送信し、
    前記二以上の他のプロセッサにそれぞれ接続された第二の中間デバイスが、前記第二のアクセスメッセージを受信し、前記第二の中間デバイス又は前記二以上の他のプロセッサが、前記第二のアクセスメッセージに含まれているローカルメモリアドレスに対応したローカルメモリ領域であって、前記二以上の他のプロセッサにそれぞれ対応した二以上のローカルメモリのローカルメモリ領域に、アクセスする、
    ストレージシステム。
  2. 前記コントローラが、
    各ローカルメモリアドレス毎にロックオンかロックオフかを制御し、
    前記受信した第一のアクセスメッセージに含まれている指定値に対応したローカルメモリアドレスがロックオフになっている場合、そのローカルメモリアドレスをロックオンとし、その後、前記第一のアクセスメッセージを処理して前記第二のアクセスメッセージを送信した以降のタイミングで、そのローカルメモリアドレスをロックオフとし、
    前記受信した前記受信した第一のアクセスメッセージに含まれている指定値に対応したローカルメモリアドレスがロックオンになっている場合、そのローカルメモリアドレスがロックオフになってから、その第一のアクセスメッセージの処理を実行する、
    請求項1記載のストレージシステム。
  3. 前記プロセッサが、自分に対して用意されたローカルメモリのローカルメモリ領域からデータを読出す前に、そのローカルメモリ領域に対応したローカルメモリアドレスをロックオンにすることを前記コントローラに要求し、
    前記コントローラは、前記プロセッサからの要求の対象であるローカルメモリアドレスについてロックオンできたか否かの通知を前記プロセッサに送信し、
    前記プロセッサは、ロックオンできたことの通知を受けた場合に、前記ローカルメモリ領域からデータを読出す、
    請求項2記載のストレージシステム。
  4. 前記複数のローカルメモリの同一のローカルメモリアドレスは、所定のプロセッサに割り当てられており、
    前記プロセッサに割り当てられたローカルメモリアドレスに対応するローカルメモリ領域は、前記プロセッサにとっては書込み領域であり、前記他のプロセッサにとっては読出し領域である、
    請求項1記載のストレージシステム。
  5. 前記プロセッサが、前記書込み領域にデータを書込み、
    前記第一の中間デバイスが、前記書込み領域に対応したローカルメモリアドレスを指定値とした前記第一のアクセスメッセージを前記コントローラに送信する、
    請求項4記載のストレージシステム。
  6. 複数の指定値にそれぞれ対応した複数のアクセス先データを記録したアクセスマップを備え、
    前記複数のアクセス先データの各々には、どのプロセッサをアクセス先とするかが記述されており、
    前記コントローラは、前記受信した第一のアクセスメッセージに含まれている指定値に対応したアクセス先データを前記アクセスマップから特定し、前記特定されたアクセス先データが表す二以上の他のプロセッサに対して、前記第二のアクセスメッセージを送信する、
    請求項1記載のストレージシステム。
  7. 前記二以上の他のプロセッサは、所定の属性を有するプロセッサグループである、
    請求項1記載のストレージシステム。
  8. 前記コントローラには、前記複数のプロセッサが前記コントローラを介してアクセス可能な共有メモリが接続されており、
    前記コントローラは、前記二以上のローカルメモリへのアクセス対象のデータを、前記共有メモリに書込む、
    請求項1記載のストレージシステム。
  9. 前記コントローラは、前記第一のアクセスメッセージに含まれている指定値と、前記指定値を指定したのはどのプロセッサであるかとに基づいて、前記二以上の他のプロセッサを決定する、
    請求項1記載のストレージシステム。
  10. 前記コントローラと各中間デバイスとの間には、前記コントローラから各中間デバイスへの第一のパスと、前記各中間デバイスから前記コントローラへの第二のパスとがあり、
    前記コントローラは、前記第二のパスを介して前記第一のアクセスメッセージを受信し、前記第一のパスを介して前記第二のアクセスメッセージを送信する、
    請求項1記載のストレージシステム。
  11. 前記コントローラは、前記第一のアクセスメッセージを受信して前記第二のアクセスメッセージを送信した場合、以下の(A)乃至(F)の応答方式、
    (A)前記第二のアクセスメッセージに対する応答を前記二以上の他のプロセッサから受ける前に、前記プロセッサに応答を返す、
    (B)前記第二のアクセスメッセージに対する応答を前記二以上の他のプロセッサの各々から受ける都度に、前記プロセッサに応答を返す、
    (C)前記第二のアクセスメッセージに対する応答を前記二以上の他のプロセッサの全てから受けた後に、前記プロセッサに応答を返す、
    (D)前記第二のアクセスメッセージに従って前記二以上のローカルメモリにデータが書かれた場合に前記二以上の他のプロセッサから出力される応答を前記二以上の他のプロセッサの各々から受ける都度に、前記プロセッサに応答を返す、
    (E)前記第二のアクセスメッセージに従って前記二以上のローカルメモリにデータが書かれた場合に前記二以上の他のプロセッサから出力される応答を前記二以上の他のプロセッサの全てから受けた後に、前記プロセッサに応答を返す、
    (F)前記第一のアクセスメッセージの受信と前記第二のアクセスメッセージの送信とを複数回行い、前記複数回の前記第二のアクセスメッセージに対する複数回分の応答を前記二以上の他のプロセッサから受信した後に、前記プロセッサに応答を返す、
    のうちのいずれかの応答方式を実行する、
    請求項1記載のストレージシステム。
  12. 前記コントローラは、アクセスが正確に行われたかの信頼性と、前記コントローラと前記中間デバイスとの間のパスの占有率と、前記第一のアクセスメッセージが送信されてから前記プロセッサに応答が届くまでのレスポンス時間長とのうちの少なくとも一つに基づいて、前記(A)乃至(F)の応答方式の中から一つの応答方式を採用し、採用した応答方式を実行する、
    請求項11記載のストレージシステム。
  13. 各プロセッサには、自分に対して用意されたローカルメモリと、他のプロセッサの他のローカルメモリとを含んだ複数の記憶デバイスがあり、
    各プロセッサは、
    指定値を発行するプロセッサコアと、
    前記プロセッサコアから発行された指定値に基づいて、前記プロセッサに対して用意されたローカルメモリと、他のプロセッサの他のローカルメモリとを含んだ複数の記憶デバイスの中から二以上の記憶デバイスを決定するアクセス制御回路と
    を備え、前記決定された二以上の記憶デバイスにアクセスする、
    請求項1記載のストレージシステム。
  14. ストレージシステムに搭載することができるプロセッサであって、
    値を発行するプロセッサコアと、
    前記プロセッサコアから発行された値に基づいて、前記プロセッサに対して用意されたローカルメモリと、他のプロセッサの他のローカルメモリとを含んだ複数の記憶デバイスの中から二以上の記憶デバイスを決定するアクセス制御回路と
    を備え、前記決定された二以上の記憶デバイスにアクセスする、
    プロセッサ。
  15. 複数のプロセッサによって一以上のストレージに対する処理を行う記憶制御方法において、
    前記複数のプロセッサに対してそれぞれ用意された複数のローカルメモリの各々は、複数のローカルメモリアドレスと、前記複数のローカルメモリアドレスにそれぞれ対応したローカルメモリ領域とを有しており、
    プロセッサが指定した値である指定値を含んだ第一のアクセスメッセージを、そのプロセッサに接続された第一の中間デバイスからコントローラに送信し、
    前記第一のアクセスメッセージに含まれる指定値に対応したローカルメモリアドレスを特定し、
    特定されたローカルメモリアドレスを含んだ第二のアクセスメッセージを前記コントローラから二以上の他のプロセッサに対して送信し、
    前記第二のアクセスメッセージに含まれているローカルメモリアドレスに対応したローカルメモリ領域であって、前記二以上の他のプロセッサにそれぞれ対応した二以上のローカルメモリのローカルメモリ領域に、アクセスする、
    記憶制御方法。
JP2005106613A 2005-04-01 2005-04-01 ストレージシステム及び記憶制御方法 Expired - Fee Related JP4794194B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2005106613A JP4794194B2 (ja) 2005-04-01 2005-04-01 ストレージシステム及び記憶制御方法
US11/144,628 US7395392B2 (en) 2005-04-01 2005-06-06 Storage system and storage control method
EP05256115A EP1708076B1 (en) 2005-04-01 2005-09-29 Storage system and storage control method
DE602005004508T DE602005004508T2 (de) 2005-04-01 2005-09-29 Speichersystem und Speichersteuerverfahren

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005106613A JP4794194B2 (ja) 2005-04-01 2005-04-01 ストレージシステム及び記憶制御方法

Publications (2)

Publication Number Publication Date
JP2006285778A true JP2006285778A (ja) 2006-10-19
JP4794194B2 JP4794194B2 (ja) 2011-10-19

Family

ID=35840119

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005106613A Expired - Fee Related JP4794194B2 (ja) 2005-04-01 2005-04-01 ストレージシステム及び記憶制御方法

Country Status (4)

Country Link
US (1) US7395392B2 (ja)
EP (1) EP1708076B1 (ja)
JP (1) JP4794194B2 (ja)
DE (1) DE602005004508T2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008134776A (ja) * 2006-11-28 2008-06-12 Hitachi Ltd 記憶制御装置及びその制御方法
JP2009009200A (ja) * 2007-06-26 2009-01-15 Hitachi Ltd ストレージシステム及びストレージシステムの制御方法
US7895476B2 (en) 2006-12-12 2011-02-22 Fujitsu Limited Data relay device, storage device and data-relay method
JP2011508349A (ja) * 2007-12-27 2011-03-10 プライアント テクノロジー インコーポレイテッド プロセッサを内部メモリに接続するクロスバー・スイッチを含むフラッシュメモリ用ストレージコントローラ
WO2011132222A1 (en) 2010-04-21 2011-10-27 Hitachi,Ltd. Storage system and ownership control method for storage system
WO2011132223A1 (en) 2010-04-21 2011-10-27 Hitachi,Ltd. Storage system and ownership control method for storage system
US8285943B2 (en) 2009-06-18 2012-10-09 Hitachi, Ltd. Storage control apparatus and method of controlling storage control apparatus
US8527710B2 (en) 2009-02-17 2013-09-03 Hitachi, Ltd. Storage controller and method of controlling storage controller

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5102917B2 (ja) 2008-02-22 2012-12-19 株式会社日立製作所 ストレージ装置及びアクセス命令送信方法
US20110153969A1 (en) * 2009-12-18 2011-06-23 William Petrick Device and method to control communications between and access to computer networks, systems or devices
JP5728088B2 (ja) * 2011-06-29 2015-06-03 株式会社日立製作所 入出力制御装置及び入出力制御装置のフレーム処理方法
KR20190086177A (ko) * 2018-01-12 2019-07-22 에스케이하이닉스 주식회사 컨트롤러 및 그것의 동작방법

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0554005A (ja) * 1991-08-23 1993-03-05 Kyocera Corp マルチプロセツサシステム
JPH09146842A (ja) * 1995-11-20 1997-06-06 Hitachi Ltd 記憶サブシステム
JPH11312126A (ja) * 1998-04-27 1999-11-09 Hitachi Ltd 記憶制御装置
JP2000235558A (ja) * 1999-02-16 2000-08-29 Hitachi Ltd 主記憶共有型マルチプロセッサシステム及びその共有領域設定方法
JP2000276437A (ja) * 1999-03-25 2000-10-06 Minolta Co Ltd Dma制御装置
JP2001306265A (ja) * 2000-04-27 2001-11-02 Hitachi Ltd 記憶制御装置および記憶制御装置の制御方法
JP2002175288A (ja) * 2000-09-27 2002-06-21 Sony Computer Entertainment Inc マルチプロセッサシステム、データ処理システム、データ処理方法、コンピュータプログラム
JP2004171362A (ja) * 2002-11-21 2004-06-17 Hitachi Ltd 磁気ディスク記憶制御装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5577204A (en) * 1993-12-15 1996-11-19 Convex Computer Corporation Parallel processing computer system interconnections utilizing unidirectional communication links with separate request and response lines for direct communication or using a crossbar switching device
JP3769413B2 (ja) * 1999-03-17 2006-04-26 株式会社日立製作所 ディスクアレイ制御装置
JP2004110503A (ja) 2002-09-19 2004-04-08 Hitachi Ltd 記憶制御装置、記憶システム、記憶制御装置の制御方法、チャネル制御部、及びプログラム
US7028147B2 (en) * 2002-12-13 2006-04-11 Sun Microsystems, Inc. System and method for efficiently and reliably performing write cache mirroring
JP2004227098A (ja) 2003-01-20 2004-08-12 Hitachi Ltd 記憶デバイス制御装置の制御方法、及び記憶デバイス制御装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0554005A (ja) * 1991-08-23 1993-03-05 Kyocera Corp マルチプロセツサシステム
JPH09146842A (ja) * 1995-11-20 1997-06-06 Hitachi Ltd 記憶サブシステム
JPH11312126A (ja) * 1998-04-27 1999-11-09 Hitachi Ltd 記憶制御装置
JP2000235558A (ja) * 1999-02-16 2000-08-29 Hitachi Ltd 主記憶共有型マルチプロセッサシステム及びその共有領域設定方法
JP2000276437A (ja) * 1999-03-25 2000-10-06 Minolta Co Ltd Dma制御装置
JP2001306265A (ja) * 2000-04-27 2001-11-02 Hitachi Ltd 記憶制御装置および記憶制御装置の制御方法
JP2002175288A (ja) * 2000-09-27 2002-06-21 Sony Computer Entertainment Inc マルチプロセッサシステム、データ処理システム、データ処理方法、コンピュータプログラム
JP2004171362A (ja) * 2002-11-21 2004-06-17 Hitachi Ltd 磁気ディスク記憶制御装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008134776A (ja) * 2006-11-28 2008-06-12 Hitachi Ltd 記憶制御装置及びその制御方法
US7895476B2 (en) 2006-12-12 2011-02-22 Fujitsu Limited Data relay device, storage device and data-relay method
JP2009009200A (ja) * 2007-06-26 2009-01-15 Hitachi Ltd ストレージシステム及びストレージシステムの制御方法
JP2011508349A (ja) * 2007-12-27 2011-03-10 プライアント テクノロジー インコーポレイテッド プロセッサを内部メモリに接続するクロスバー・スイッチを含むフラッシュメモリ用ストレージコントローラ
US8527710B2 (en) 2009-02-17 2013-09-03 Hitachi, Ltd. Storage controller and method of controlling storage controller
US8285943B2 (en) 2009-06-18 2012-10-09 Hitachi, Ltd. Storage control apparatus and method of controlling storage control apparatus
WO2011132222A1 (en) 2010-04-21 2011-10-27 Hitachi,Ltd. Storage system and ownership control method for storage system
WO2011132223A1 (en) 2010-04-21 2011-10-27 Hitachi,Ltd. Storage system and ownership control method for storage system
US8412892B2 (en) 2010-04-21 2013-04-02 Hitachi, Ltd. Storage system and ownership control method for storage system
US8489918B2 (en) 2010-04-21 2013-07-16 Hitachi, Ltd. Storage system and ownership control method for storage system

Also Published As

Publication number Publication date
JP4794194B2 (ja) 2011-10-19
US20060236052A1 (en) 2006-10-19
EP1708076A1 (en) 2006-10-04
EP1708076B1 (en) 2008-01-23
DE602005004508D1 (de) 2008-03-13
DE602005004508T2 (de) 2009-01-29
US7395392B2 (en) 2008-07-01

Similar Documents

Publication Publication Date Title
JP4794194B2 (ja) ストレージシステム及び記憶制御方法
JP4775846B2 (ja) 物理リンクの割当てを制御するコンピュータシステム及び方法
US7664909B2 (en) Method and apparatus for a shared I/O serial ATA controller
JP3997061B2 (ja) 記憶サブシステムおよび記憶サブシステムの制御方法
JP4477906B2 (ja) ストレージシステム
US7817626B2 (en) Storage subsystem
US7430636B2 (en) Storage system and storage control method comprising router and switch in communication with RAID modules
US20060230240A1 (en) Inter-processor communication method using a shared cache memory in a storage system
US8266400B2 (en) Computer system remote copying system and computer system
JP2007249729A (ja) マイクロプロセッサの負荷分散機能を備えたストレージシステム
JP2008112399A (ja) ストレージ仮想化スイッチおよびコンピュータシステム
US7610461B2 (en) Storage system with mainframe and open host performing remote copying by setting a copy group
JP4536361B2 (ja) データ転送装置、記憶デバイス制御装置、記憶デバイス制御装置の制御方法
US6330625B1 (en) System for initiating multiple read operation requests to multiple copies of a data item and identifying a first one of the requests as having the fastest response time
US7487269B2 (en) Apparatus, system, and method of connection grouping for multipath lock facility connection paths
US11474730B1 (en) Storage system and migration method of storage system
JP2023015488A (ja) データ中継装置、中継制御方法およびストレージシステム
US9430489B2 (en) Computer, data storage method, and information processing system
US11782615B2 (en) Information processing system, non-transitory computer-readable recording medium having stored therein storage controlling program, and storage controller
JP2021082096A (ja) 情報処理装置及び情報処理プログラム
CN110716882A (zh) 存储系统
US8694538B1 (en) Method and apparatus for logging write requests to a storage volume in a network data switch
JP2019036102A (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100907

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101101

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110726

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110726

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140805

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees