JP2007109141A - ストレージシステム - Google Patents
ストレージシステム Download PDFInfo
- Publication number
- JP2007109141A JP2007109141A JP2005301575A JP2005301575A JP2007109141A JP 2007109141 A JP2007109141 A JP 2007109141A JP 2005301575 A JP2005301575 A JP 2005301575A JP 2005301575 A JP2005301575 A JP 2005301575A JP 2007109141 A JP2007109141 A JP 2007109141A
- Authority
- JP
- Japan
- Prior art keywords
- path
- information
- memory
- response
- type
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
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/0658—Controller construction 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- 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]
-
- 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/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
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)
- Computer Networks & Wireless Communication (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】ストレージシステムの性能の劣化を抑える或いはそれの性能を向上する。
【解決手段】メモリ15と、メモリにアクセスする複数のアクセス部11と、複数のアクセス部からのメモリへのアクセスを制御するメモリアダプタ13と、各アクセス部とメモリアダプタとを通信可能に接続するレスポンス型パス(Rパス)2とスループット型パス(Tパス)3とが備えられる。Rパスは、同一時間内に転送できる情報量がTパスよりも少ないが、情報が送信されてからそれの応答を受けるまでの時間長がTパスよりも短い。Tパスは、情報が送信されてからそれの応答を受けるまでの時間長がRパスよりも長いが、同一時間内に転送できる情報量がRパスよりも多い。メモリアダプタは、Tパスを介したメモリへのアクセスよりもRパスを介したメモリへのアクセスを優先的に許可する。
【選択図】図1
【解決手段】メモリ15と、メモリにアクセスする複数のアクセス部11と、複数のアクセス部からのメモリへのアクセスを制御するメモリアダプタ13と、各アクセス部とメモリアダプタとを通信可能に接続するレスポンス型パス(Rパス)2とスループット型パス(Tパス)3とが備えられる。Rパスは、同一時間内に転送できる情報量がTパスよりも少ないが、情報が送信されてからそれの応答を受けるまでの時間長がTパスよりも短い。Tパスは、情報が送信されてからそれの応答を受けるまでの時間長がRパスよりも長いが、同一時間内に転送できる情報量がRパスよりも多い。メモリアダプタは、Tパスを介したメモリへのアクセスよりもRパスを介したメモリへのアクセスを優先的に許可する。
【選択図】図1
Description
本発明は、記憶制御技術に関わり、特に、メモリへのアクセス技術に関する。
例えば、特開2000−250713号に開示のディスクアレイ装置が知られている。このディスクアレイ装置は、ホストコンピュータに対するインタフェース部を含むチャネルインタフェース部と、ディスク装置に対するインタフェース部を含むディスクインタフェース部と、ディスク装置に格納するデータを一時的に格納するキャッシュメモリ部と、チャネルインタフェース部及びディスクインタフェース部とキャッシュメモリ部とを接続するアクセスパスと、アクセスパスのデータ転送速度を変更する手段とを備える。
ディスクアレイ装置に代表されるストレージシステムには、ホスト装置に対するインタフェースとなるホストインタフェース装置(以下、ホストI/F)や、ディスク型の記憶デバイス(以下、ディスク装置)に対するインタフェースとなるディスクインタフェース装置(以下、ディスクI/F)や、ディスク装置に格納されるデータを一時的に記憶するためのキャッシュメモリ(以下、CM)の他に、各I/Fで共有することができる共有メモリ(以下、SM)が備えられる場合がある。
SMは、例えば、各I/Fに搭載されているマイクロプロセッサ(以下、MP)と、他のI/Fに搭載されているMPとの間でのコマンドの授受に利用される。具体的には、例えば、或るI/F上の第一のMPが、他のI/F上の第二のMP宛のコマンドをSMに書き、第二のMPが、SMからそのコマンドを読む。
また、SMは、例えば、CMを管理するための情報や、ストレージシステムの構成に関する情報を記憶する。SMに格納されている情報は、各I/Fに適宜参照される。
ところで、ストレージシステムのコストを削減したいとの要求がある。そのための方法として、物理的に分かれているSMとCMとを、一つにすることが考えられる。しかし、そうすると、ストレージシステムの性能の劣化が懸念される。
また、SMとCMとを一つにする場合に限らず、ストレージシステムの性能の劣化を抑えたい、或いはその性能を向上したいという要求があると考えられる。
従って、本発明の目的は、ストレージシステムのコストを削減することにある。
本発明の別の目的は、ストレージシステムの性能の劣化を抑える或いはそれの性能を向上することにある。
本発明の他の目的は、後述の説明から明らかになるであろう。
本発明に従うストレージシステムは、メモリと、前記メモリにアクセスする複数のアクセス部と、前記複数のアクセス部からの前記メモリへのアクセスを制御するメモリインタフェース装置と、各アクセス部と前記メモリインタフェース装置とを通信可能に接続する複数種類のパスとを備える。前記複数種類のパスには、レスポンス型パスとスループット型パスとが含まれている。前記レスポンス型パスは、同一時間内に転送できる情報量が前記スループット型パスよりも少ないが、情報が送信されてからそれの応答を受けるまでの時間長が前記スループット型パスよりも短いパスである。前記スループット型パスは、情報が送信されてからそれの応答を受けるまでの時間長が前記レスポンス型パスよりも長いが、同一時間内に転送できる情報量が前記レスポンス型パスよりも多いパスである。前記メモリインタフェース装置は、前記スループット型パスを介した前記メモリへのアクセスよりも、前記レスポンス型パスを介した前記メモリへのアクセスを優先的に許可する。
本発明の第一の態様では、前記メモリインタフェース装置は、所定の比率で、前記レスポンス型パスを介したアクセスを優先的に許可することができる。具体的には、例えば、前記メモリインタフェース装置は、前記レスポンス型パスを介したアクセスを優先的に許可する回数が所定回数になる都度に、前記レスポンス型パスを介したアクセスを優先的に許可することなく、前記スループット型パスを介したアクセスを許可することができる。
また、この第一態様において、前記メモリインタフェース装置が、前記レスポンス型パス及び前記スループット型パスのうちの少なくとも一方を介した通信のパターンの統計を算出し、算出された統計に対応した比率を求め、前記求められた比率を、前記所定の比率とすることができる。具体的には、例えば、前記メモリインタフェース装置は、前記レスポンス型パス及び前記スループット型パスのうちの少なくとも一方を介して情報を受信した場合、前記受信した情報の種別、サイズ及び受信時刻のうちの少なくとも一つを判断し、その判断結果に応じて、情報の種別毎の受信回数、情報のサイズ範囲毎の受信回数、及び情報の受信頻度のうちの少なくとも一つを更新し、情報の種別毎の受信回数、情報のサイズ範囲毎の受信回数、及び情報の受信頻度のうちの少なくとも一つに基づいて、前記統計を算出することができる。
なお、この場合において、前記メモリには、第一の記憶域と第二の記憶域とが用意されていてもよい。前記第一の記憶域には、前記レスポンス型パスを介して受信した情報、或いは、コマンド又は応答が記憶されてもよい。前記第二に記憶域には、前記スループット型パスを介して受信した情報、或いは、ディスク型記憶装置に記憶されるデータが記憶されてもよい。前記第一の記憶域と前記第二の記憶域のサイズが、前記求められた比率に応じたサイズに動的に変更されてもよい。
本発明の第二の態様では、前記複数のアクセス部と前記メモリインタフェース装置との間において、前記レスポンス型パス上には、スイッチが存在しないか、或いは、前記スループット型パス上に存在するスイッチの数よりも少ない数のスイッチが存在してもよい。
本発明の第三の態様では、前記スループット型パスの数よりも前記レスポンス型パスの数の方が多くなっていてもよい。
本発明の第四の態様では、前記ストレージシステムは、それの外部に存在する装置である外部装置と通信可能に接続されていてもよい。前記ストレージシステムは、キャッシュメモリと、前記キャッシュメモリへのアクセスを制御するキャッシュメモリアダプタと、ディスク型記憶装置と、前記外部装置と通信可能に接続されているチャネルアダプタと、前記ディスク型記憶装置に通信可能に接続されているディスクアダプタとを備えることができる。前記チャネルアダプタ及び前記ディスクアダプタは、他のチャネルアダプタ又はディスクアダプタに対するコマンド又は応答を、前記レスポンス型パスを介して前記キャッシュメモリアダプタに送信することにより、前記キャッシュメモリに書く、及び/又は、前記キャッシュメモリに書かれた自分宛のコマンド又は応答を、前記キャッシュメモリアダプタから前記レスポンス型パスを介して受信することができる。また、前記チャネルアダプタ及び前記ディスクアダプタは、前記データを、前記スループット型パスを介して前記キャッシュメモリアダプタに送信することにより、前記キャッシュメモリ書く、及び/又は、前記データを、前記キャッシュメモリに書かれたデータを、前記キャッシュメモリアダプタから前記レスポンス型パスを介して受信することができる。前記複数のアクセス部の各々は、前記チャネルアダプタ又は前記ディスクアダプタとすることができる。前記メモリは、前記キャッシュメモリであるとすることができる。前記メモリインタフェース装置は、前記キャッシュメモリアダプタであるとすることができる。
本発明の第五の態様では、前記ストレージシステムは、それの外部に存在する装置である外部装置と通信可能に接続されていてもよい。前記ストレージシステムは、キャッシュメモリと、ディスク型記憶装置と、前記外部装置からデータを受信して前記キャッシュメモリに書込む、及び/又は、前記キャッシュメモリからデータを取得して前記外部装置に送信することができるチャネルアダプタと、前記キャッシュメモリに書かれたデータを取得して前記ディスク型記憶装置に書込む、及び/又は、前記ディスク型記憶装置からデータを取得して前記キャッシュメモリに書込むことができるディスクアダプタとを備えることができる。前記チャネルアダプタ及び前記ディスクアダプタは、マイクロプロセッサと、ローカルメモリと、前記複数種類のパスに接続されるパスインタフェース装置とを備えることができる。前記複数のアクセス部の各々は、前記マイクロプロセッサとすることができる。前記メモリは、前記マイクロプロセッサにとって他のチャネルアダプタ又はディスクアダプタに搭載されている前記ローカルメモリとすることができる。前記メモリインタフェース装置は、前記マイクロプロセッサにとって他のチャネルアダプタ又はディスクアダプタに搭載されている前記パスインタフェース装置であるとすることができる。
本発明の第六の態様では、前記ストレージシステムは、ディスク型記憶装置を備えることができる。前記複数のアクセス部の各々は、前記ディスク型記憶装置に書かれるデータが情報に含まれているか否か、及び/又は、前記情報のサイズが所定値以上か否かを判断することができる。また、前記複数のアクセス部の各々は、前記判断の結果、前記ディスク型記憶装置に書かれるデータが情報に含まれている場合、及び/又は、前記情報のサイズが所定値以上である場合、前記情報を、前記スループット型パスを介して前記メモリインタフェース装置に送信することができる。また、前記複数のアクセス部の各々は、前記判断の結果、前記ディスク型記憶装置に書かれるデータが含まれていない場合、及び/又は、前記情報のサイズが所定値未満である場合、前記情報を、前記レスポンス型パスを介して前記メモリインタフェース装置に送信することができる。
本発明の第七の態様では、前記ストレージシステムは、ディスク型記憶装置を備えることができる。前記メモリインタフェース装置は、前記ディスク型記憶装置に記憶されていたデータが情報に含まれているか否か、及び/又は、前記情報のサイズが所定値以上か否かを判断することができる。また、前記メモリインタフェース装置は、前記判断の結果、前記ディスク型記憶装置に記憶されていたデータが情報に含まれている場合、及び/又は、前記情報のサイズが所定値以上である場合、前記情報を、前記スループット型パスを介して少なくとも一つのアクセス部に送信することができる。また、前記メモリインタフェース装置は、前記判断の結果、前記ディスク型記憶装置に記憶されていたデータが含まれていない場合、及び/又は、前記情報のサイズが所定値未満である場合、前記情報を、前記レスポンス型パスを介して少なくとも一つのアクセス部に送信することができる。
本発明の第八の態様では、前記メモリの同一の範囲に、前記レスポンス型パスを介して受信した情報と、前記スループット型パスを介して受信した情報とが混在するか、或いは、コマンド又は応答と、ディスク型記憶装置に記憶されるデータとが混在しても良い。
本発明の第九の態様では、前記メモリには、第一の記憶域と第二の記憶域とが用意されてもよい。前記第一の記憶域には、前記レスポンス型パスを介して受信した情報、或いは、コマンド又は応答が記憶されてもよい。前記第二に記憶域には、前記スループット型パスを介して受信した情報、或いは、ディスク型記憶装置に記憶されるデータが記憶されてもよい。前記第一の記憶域と前記第二の記憶域のサイズがそれぞれ固定又は可変になっていてもよい。
本発明の第十の態様では、前記メモリには、第一の記憶域と、第二の記憶域と、第三の記憶域とが用意されてもよい。前記第一の記憶域には、前記レスポンス型パスを介して受信した情報、或いは、コマンド又は応答が記憶されてもよい。前記第二に記憶域には、前記スループット型パスを介して受信した情報、或いは、ディスク型記憶装置に記憶されるデータが記憶されてもよい。前記第一の記憶域及び/又は前記第二の記憶域に、前記第三の記憶域の全部又は一部が動的に割り当てられたり、前記第三の記憶域の全部又は一部が前記第一の記憶域及び/又は前記第二の記憶域から動的に解放されたりしてもよい。
本発明の第十一の態様では、前記メモリインタフェース装置に、複数のメモリが接続されてもよい。前記メモリインタフェース装置は、各アクセス部から指定されたアクセス先に基づいて、前記複数のメモリの中からメモリを選択し、選択したメモリにアクセスすることができる。
本発明に従うストレージシステムによって行われる各処理は、各手段によって実行することができる。
本発明によれば、ストレージシステムの性能の劣化を抑える或いはそれの性能を向上することができる。
以下、図面を参照して、本発明の一実施形態を説明する。
図1は、本発明の一実施形態の概要を示す。
メモリ15と、メモリ15にアクセスする複数のアクセス部11、11、…とが備えられる。また、メモリ15と各アクセス部11との間に、複数のアクセス部11、11、…からのメモリ15に対するアクセスを制御するメモリアダプタ13が備えられる。
各アクセス部11は、例えば、プロセッサと、後述のRパス2のインタフェース装置(以下、インタフェース装置を「I/F」と略記する)と、後述のTパス3のI/Fとを含んだ装置とすることができる。具体的には、例えば、プロセッサは、後述のチャネルアダプタ(以下、CHA)或いはディスクアダプタ(以下、DKA)に搭載されているMPとすることができる。また、Rパス2のI/FとTパス3のI/Fを含んだ装置として、後述のパスI/Fとすることができる。
また、メモリ15は、例えば、後述のキャッシュメモリ(以下、CM)又はローカルメモリ(以下、LM)とすることができる。メモリ15がCMであるとした場合、そのCMは、上述したような共有メモリ(以下、SM)としても利用可能なメモリとすることができる。これにより、上述のSMは不要となり、故に、ストレージシステムのコストを削減することができる。なお、この実施形態では、便宜上、SMをCMに集約することでSMを不要としているが、別の言い方として、CMをSMに集約することでCMを不要とすることもできる。要するに、物理的に分かれている二種類のメモリを一種類にすることができる、ということである。
この実施形態には、種々の着目すべき点がある。
例えば、着目すべき第一の点は、各アクセス部11とメモリ15の間、少なくとも、各アクセス部11とメモリアダプタ13の間に、レスポンス重視型のパス(以下、Rパス)2と、スループット重視型のパス(以下、Tパス)3とが用意される点にある。
Rパス2は、情報(例えば、リードコマンド或いはライトコマンド等のコマンド)を送信してからその応答が返送されてくるまでの時間長が短いパスとすることができる。換言すれば、Rパス2は、情報量が少なく素早い応答が求められる情報の通信に適したパスとすることができる。以下、Rパス2を介してやり取りされる情報又はアクセスを、便宜上、「R情報」又は「Rアクセス」と言う場合がある。
Tパス3は、大量の情報をやり取りできるパス(例えば、データの転送が一旦受付けられるとバースト転送により大量にデータをやり取りできるパス)とすることができる。換言すれば、Tパス3は、ディスク型の記憶デバイス(以下、ディスク装置)に書かれたりディスク装置から読まれたりするデータの通信に適したパスとすることができる。Tパス3は、例えば、PCI-Expressである。以下、Tパス3を介してやり取りされる情報又はアクセスを、便宜上、「T情報」又は「Tアクセス」と言う場合がある。
また、例えば、着目すべき第二の点は、メモリアダプタ13が、Tパス3を介したメモリ15へのアクセス(つまりTアクセス)よりもRパス2を介したメモリ15へのアクセス(つまりRアクセス)を優先させるアービタ14を備える点にある。このアービタ14は、例えば、RアクセスとTアクセスとを実質的に同時に受けた場合には、Rアクセスを優先的に許可することができる。その後、アービタ14は、例えば、上記受けたTアクセスを許可する前に、新たにRアクセスを受けた場合には、その新たに受けたRアクセスを優先的に許可することができる。アービタ14は、例えば、Rアクセスを優先的に許可した回数をカウントし、その回数が所定回数に達したならば、その後、仮に、RアクセスとTアクセスとを実質的に同時に受けたとしても、或いは、受信済みのTアクセスを許可する前に新たにRアクセスを受けたとしても、Tアクセスを許可することができる。
以下、本実施形態についてのより具体的な幾つかの実施例を説明する。
図2は、本発明の第一実施例に係るストレージシステムの構成例を示す。
ストレージシステム100は、例えばRAID(Redundant Array of Independent Disks)のようなディスクアレイ装置である。ストレージシステム100は、例えば、ストレージシステム100が行う処理を制御する制御部101と、RAIDグループ210と、サービスプロセッサ(SVP)281とを備える。制御部101は、例えば、一又は複数のDKA120と、一又は複数のCHA110と、CM130と、CMアダプタ(以下、CMA)270とを備える。
RAIDグループ210は、複数のディスク装置150を含んでおり、例えば、RAID1やRAID5等のRAIDに基づく冗長記憶を提供する。各ディスク装置150は、例えば、ハードディスクドライブであるが、他種の装置(例えば、DVD(Digital Versatile Diskドライブ)であってもよい。各ディスク装置150には、ホスト装置180からのコマンドに従って読まれたり書かれたりするデータが記憶される。
各DKA120は、各ディスク装置150との間のデータ授受を制御するものである。各CHA110は、通信ネットワーク(例えばSAN(Storage Area Network)或いはLAN)190を介して、ホスト装置180から情報(例えばコマンドやデータ)を受信する。DKA120とCHA110は、実質的に同じハードウェア構成を採用することができるので、CHA110のハードウェア構成を代表的に例に採り説明する。
CHA110は、MP112と、LM111と、パスI/F114とを備える。LM111は、CHA110やDKA120に搭載されるメモリであり、種々の情報(例えばデータやコンピュータプログラム)を記憶することができる。MP112は、例えば、LM111に格納されている制御プログラム113を読み込んで実行することで、CM130へのアクセスの制御などの種々の制御を実行することができる。パスI/F114は、Rパス2に接続されるRパスI/F(図示せず)と、Tパス3に接続されるTパスI/F(図示せず)とを備える。MP112は、パスI/F114を介し、Rパス2及びTパス3を通じ、更に、CMA270を介して、CM130にアクセスすることができる。Rパス及びTパス3のうちのどちらのパスを介してアクセスするかの選択は、MP112及びパスI/F114のうちのいずれかによって行うことができる。例えば、パスI/F114から出力される情報が、コマンドである、或いは、ディスク装置150に書かれるデータであるが所定値より小さいサイズのデータである場合には、Rパス2が選択されても良い。また、例えば、パスI/F114から出力される情報が、ディスク装置150に書かれるデータである、或いは、所定値以上のサイズのデータである場合には、Tパス3が選択されても良い。
CM130は、例えば、揮発性または不揮発性の半導体メモリから構成することができる。このCM130は、上述したSMが集約されたものとすることができる。すなわち、CM130は、ディスク装置150とホスト装置180との間で授受されるデータを一時的に記憶することの他に、各MP112間でやり取りされるコマンドや、ストレージシステム100の制御に使用する制御情報(例えば、ストレージシステム100の構成に関する情報)を記憶することができる。
CMA270は、CM130へのアクセスを制御するLSI(Large Scale Integration)とすることができる。CMA270と各CHA110及び各DKA120とは、少なくも一本のRパス2と、少なくとも一本のTパス3とにより接続されている。
SVP(Service Processor)281は、例えば、少なくとも一つのCHA110(或いはDKA120)と通信可能に接続されている。SVP281は、例えば、パーソナルコンピュータ等の計算機である。SVP281は、少なくとも一つのCHA110に対し、或いはそれを介して、種々の設定を行うことができる。
次に、ストレージシステム100が行う処理の一例について説明する。
例えば、CHA110が、ホスト装置180から、ライトコマンド(以下、ホストライトコマンド)及びデータを受信したとする。この場合、MP112及びパスI/F114の少なくとも一方が、そのホストライトコマンドに従う、DKA120のMPに対するライトコマンド(以下、MPライトコマンド)を、Rパス2を介してCMA270に送信することができる。また、MP112及びパスI/F114の少なくとも一方が、受信したデータを、Tパス3を介してCMA270に送信することができる。CMA270は、Rパス2を介して受信したMPライトコマンドや、Tパス3を介して受信したデータを、CM130に書くことができる。CMA270は、CM130に書かれたMPライトコマンドを取得し、そのMPライトコマンドを、そのコマンドの宛先MPを搭載したDKA120に、Rパス2を介して送信することができる。また、CMA270は、CM130に書かれたデータを取得し、そのデータを、その宛先MPを搭載したDKA120に、Tパス3を介して送信することができる。上記宛先MPは、CMA270から、Rパス2を介してMPライトコマンドを受信し、且つ、Tパス3を介してデータを受信することができる。宛先MPは、受信したMPライトコマンドに従い、受信したデータをディスク装置150に書くことができる。また、宛先MPは、MPライトコマンドの応答を、Rパス2を介してCMA270に返す。CMA270は、Rパス2を介して受信した応答をCM130に書いたり、その応答を、CM130から取得して、MPライトコマンドの送信元に、Rパス2を介して出力したりすることができる。
また、例えば、CHA110が、ホスト装置180から、リードコマンド(以下、ホストリードコマンド)を受信したとする。この場合、MP112及びパスI/F114の少なくとも一方が、そのホストリードコマンドに従う、DKA120のMPに対するリードコマンド(以下、MPリードコマンド)を、Rパス2を介してCMA270に送信することができる。CMA270は、Rパス2を介して受信したMPリードコマンドを、CM130に書くことができる。CMA270は、CM130に書かれたMPリードコマンドを取得し、そのMPリードコマンドを、そのコマンドの宛先MPを搭載したDKA120に、Rパス2を介して送信することができる。そのMPリードコマンドに対する応答を、上記のMPライトコマンドに対する応答と同様に、例えば、Rパス2、CMA270及びCM130を介して、MPリードコマンドの送信元に返すことができる。宛先MPは、MPリードコマンドに従って、ディスク装置150からデータを取得し、取得したデータを、Tパス3を介してCMA270に送信することができる。CMA270は、受信したデータをCM130に書いたり、そのデータを、CM130から取得して、MPリードコマンドの送信元に、Tパス3を介して送信したりすることができる。MPリードコマンドの送信元であるCHA110は、Tパス3を介して受信したデータを、ホストリードコマンドの送信元のホスト装置180に、送信することができる。
以上が、本実施例におけるストレージシステム100の概要である。なお、Rパス2及びTパス3でのそれぞれの通信プロトコルについては、以下のプロトコルが好ましいと考えられる。
すなわち、Rパス2を介した通信のプロトコルとしては、少なくともTパス3での頭出し時間長よりも頭出し時間長が短くて済むものが好ましい。具体的には、例えば、Rパス2の通信プロトコルとしては、オーバヘッドが小さく単発のランダムアクセスに優れたプロトコルが好ましい。より具体的な一例を図13Bに示す。すなわち、Rパス2では、情報の転送長が短く(例えば4或いは8バイト)、スループットは低いが、MP112は、マッピングされたCM130上のアドレスに対してアクセスすることができるようになっている(例えば、LM111に、CM130のアドレスマップが記憶されており、MP112は、そのアドレスマップを基に、CM130にアクセスすることができる)。故に、頭だし時間長が短くて済む(換言すれば、レスポンスを早くすることができる)。
一方、Tパス3を介した通信のプロトコルとしては、頭出し時間長がRパス2のそれよりも長くとも、データ転送に優れたものが好ましい。具体的には、例えば、Tパス3の通信プロトコルとしては、オーバヘッドが大きくても、バーストアクセスに優れたプロトコルが好ましい。より具体的な一例を図14に示す。例えば、MP112は、LM111に、パラメータおよびデータを書き(ステップS100)、パスI/F114に、転送の要求を出すことができる。パスI/F114は、その要求に応答して、LM111からパラメータ及びデータを読み(S300)、読んだパラメータを基に、CM130にデータを転送することができる(S400)。以上のように、LM111にパラメータ及びデータを設定し、パスI/Fに起動をかける手順が必要なため、頭だし時間長は長いが、バースト転送(例えば、最大8キロバイトのバースト転送)を行うことができるので、スループットは高い。
さて、次に、CMA270について、詳細に説明する。
図3は、CMA270の構成例を示す。
CMA270は、純粋なハードウェア回路(例えばASIC)とすることもできるし、マイクロコンピュータとハードウェア回路との組み合わせとすることもできる。CMA270は、RパスI/F21Rと、TパスI/F21Tと、セレクタ31と、メインアービタ30と、メモリコントローラ32とを備える。
RパスI/F21Rが、リクエストライン24及び応答ライン25を介して、メインアービタ30に通信可能に接続されており、且つ、Rパスライン29を介して、メモリコントローラ32に通信可能に接続されている。同様に、TパスI/F21Tが、リクエストライン22及び応答ライン23を介して、メインアービタ30に通信可能に接続されており、且つ、Tパスライン28を介して、メモリコントローラ32に通信可能に接続されている。各ライン22、23、24、25、28及び29を介したやり取りについては、CMA270で行われる処理の説明の際に説明する。
RパスI/F21Rは、複数のRパス2に接続されている。RパスI/F21Rは、Rパスバッファ35Rと、Rパスアービタ37Rとを備える。Rパスバッファ35Rは、各Rパス2を介して受信したR情報(例えばコマンド又は応答)や、CM130からメモリコントローラ32を介して受信したR情報を一時的に記憶できるバッファである。Rパスアービタ37Rは、複数のRパス2、2、…のうちのどのRパス2からのR情報を受けてRパスバッファ35Rに書くかを制御することができるアービタである。
TパスI/F21Tは、複数のTパス3に接続されている。TパスI/F21Tは、Tパスバッファ35Rと、Tパスアービタ37Tとを備える。Tパスバッファ35Tは、各Tパス3を介して受信した情報(つまりT情報)や、CM130からメモリコントローラ32を介して受信したT情報を一時的に記憶できるバッファである。Tパスアービタ37Tは、複数のTパス3、3、…のうちのどのTパス3からのT情報を受けてTパスバッファ35Tに書くかを制御することができるアービタである。
セレクタ31は、メインアービタ30から入力された信号に従って、R情報T情報とのうちのどちらをメモリコントローラ32に出力するかを選択することができる。
メインアービタ30は、RアクセスとTアクセスとのうちのどちらを許可するか(例えば、R情報とT情報のうちのどちらがメモリコントローラ32に出力されることを許可するか)を選択し、選択結果に応じた信号をセレクタ31に出力することができる。具体的には、例えば、メインアービタ30は、例えば、図4Aに示すように、シーケンサ41と、カウンタ43を備えている。カウンタ43は、レジスタ44を備えている。レジスタ44には、後述するカウントフル閾値が記憶されている。シーケンサ41及びカウンタ43によって行われる処理についても、CMA270で行われる処理の説明の際に説明する。
メモリコントローラ32は、セレクタ31で選択された情報を受信してCM130に書いたり、CM130から情報を取得し、取得した情報を、Rパスライン29又はTパスライン28を介して出力したりすることができる。
以下、CMA270で行われる処理の流れの一例を説明する。
例えば、TパスI/F21Tが一以上のTパス3からT情報を受信した場合、Tパスアービタ37Tが、どのTパス3からT情報を受信するかを選択し、選択したTパス3からT情報を受けてTパスバッファ35Tに書く。TパスI/F21Tは、T情報がTパスバッファ35Tに格納されていれば、リクエストライン22を介して、Tアクセスの許可の要求(以下、T−REQ)を、メインアービタ30に出す。TパスI/F21Tは、そのT−REQに対して、Tアクセスの許可(以下、T−GNT)を、応答ライン23を介して受信するまで、T−REQを出し続ける(例えば、リクエストライン22における信号レベルをHighレベルのままにする)。一方、TパスI/F21Tは、T−GNTを受けた場合には、T−REQを解除し(例えば、リクエストライン22における信号レベルをHighレベルからLowレベルにし)、Tパスバッファ35T内のT情報(例えば、Tパスバッファ35Tのうち最も過去に受けた情報)を、ライン26を介して、セレクタ31に出力する。TパスI/F21Tは、Tパスバッファ35Tに存在する各T情報毎に、T−REQの発行、T−GNTの受信、及びT情報の出力を繰り返す。
RパスI/F21Rも、TパスI/F21Tと同様の処理を行うことができる。すなわち、例えば、RパスI/F21Rが一以上のRパス2からR情報を受信した場合、Rパスアービタ37Rが、どのRパス2からR情報を受信するかを選択し、選択したRパス2からR情報を受けてRパスバッファ35Rに書く。RパスI/F21Rは、R情報がRパスバッファ35Rに格納されていれば、リクエストライン24を介して、Rアクセスの許可の要求(以下、R−REQ)を、メインアービタ30に出す。RパスI/F21Rは、そのR−REQに対して、Rアクセスの許可(以下、R−GNT)を、応答ライン25を介して受信するまで、R−REQを出し続ける。一方、RパスI/F21Rは、R−GNTを受けた場合には、R−REQを解除し、Rパスバッファ35R内のR情報を、ライン26を介して、セレクタ31に出力する。RパスI/F21Rは、Rパスバッファ35Rに存在する各R情報毎に、R−REQの発行、R−GNRの受信、及びR情報の出力を繰り返す。
メインアービタ30のシーケンサ41は、図4Bに例示するように、R−REQもT−REQも受けていない場合には、アイドル状態(待ち状態)になっている。
シーケンサ41は、アイドル状態において、R−REQを受けた場合、カウントフルになっていなければ(カウンタ43によるカウント値がレジスタ44におけるカウントフル閾値に達していなければ)、R−GNT状態に遷移し、R−GNTを出力し、Rアクセスを許可することに応じた信号をセレクタ31に出力すると共に、カウントアップをカウンタ43に命じる。カウンタ43は、その命令に応答して、カウント値を更新する(例えば、カウント1増やす)。その後、シーケンサ41の状態は、R−GNT状態から再びアイドル状態に遷移する。シーケンサ41は、先にT−REQを受けても、それを受けて所定時間内にR−REQを受けた場合には、R−GNT状態に遷移することができる。
シーケンサ41は、アイドル状態において、T−REQを受けた場合、カウントフルになっていれば(カウンタ43によるカウント値がレジスタ44におけるカウントフル閾値に達していれば)、又は、所定時間内にR−REQを受けなければ、T−GNT状態に遷移し、T−GNTを出力し、Tアクセスを許可することに応じた信号をセレクタ31に出力する。カウントフルになっているが故にT−GNT状態に遷移した場合、シーケンサ41は、カウンタ43に、カウント値をリセットさせることができる。その後、シーケンサ41の状態は、T−GNT状態から再びアイドル状態に遷移する。
再び図3を参照する。TパスI/F21Tは、T−GNTを受信した場合、Tパスバッファ35T内のT情報をセレクタ31に出力することができる。同様に、RパスI/F21Rは、R−GNTを受信した場合、Rパスバッファ35R内のR情報をセレクタ31に出力することができる。
セレクタ31は、メインアービタ30から受信した信号に従って、TパスI/F21Tから受信したT情報、或いは、RパスI/F21Rから受信したR情報を、メモリコントローラ32に出力することができる。
メモリコントローラ32は、R情報又はT情報を受信し、受信した情報をCM130に書くことができる。また、メモリコントローラ32は、受信したR情報又はT情報が、CM130からのリード要求を表してれば、その要求に従い、CM130から情報を取得し、取得した情報を、Rパスライン29を介してRパスI/F21Rに出力する、又は、Tパスライン28を介してTパスI/F21Tに出力することができる。
以上が、第一実施例についての説明である。
なお、この第一実施例では、各CHA110及び各DKA120とCMA270との間には、直接、Rパス2及びTパス3が張られるが、接続形態はそれに限らない。例えば、図5Aに例示するように、レスポンス速度を重視するRパス2には、スイッチが存在しないが、各Tパス3には、スイッチ(例えばLSI)51が存在しても良い。また、例えば、図5Bに例示するように、Rパス2にも、スイッチ53が存在しても良い。その際、レスポンス速度を重視する観点から、Tパス3に存在するスイッチの数よりも、Rパス2に存在するスイッチの数が少ない方が好ましいと考えられる。
また、この第一実施例では、カウントフル閾値は、固定値でも良いが、手動により更新することができる値であっても良い。具体的には、例えば、図6に例示するように、ユーザが、SVP281に、所望のカウントフル閾値(例えば、Rアクセスの優先比率)を入力することができる。SVP281が、入力されたカウントフル閾値を、所定のI/F(例えばLAN I/F117)を介してCHA110に入力することができる。CHA110が、入力されたカウントフル閾値をレジスタ44に書き込むことをCMA270に命じることにより、カウントフル閾値を更新することができる。
以上、上述した第一実施例によれば、各CHA110及び各DKA120とCM130との間に、Rパス2とTパス3とが張られる。各CHA110及び各DKA120は、コマンド或いは応答等の、レスポンスの速度が重視される類の情報については、Rパス2を介して送受信することができ、一方、データ等の、スループットが重視される類の情報についは、Tパス3を介して送受信することができる。これにより、ストレージシステム100のスループットの低減を抑えつつ、SMを不要としコストの削減を図ることができる。
また、上述した第一実施例によれば、メインアービタ30のシーケンサ41は、RアクセスをTアクセスよりも優先して許可することができる。すなわち、シーケンサ41は、T−REQを先に受けても、それから所定時間内にR−REQを受け、且つ、カウントフルでない場合には、T−GNTよりも先にR−GNTを先に出力することができる。また、R−GNTを出力した後、所定時間内にR−REQを受けた場合には、シーケンサ41は、カウントフルでない限り、T−GNTではなくR−GNTを出力することができる。しかし、シーケンサ41は、カウントフルになった場合において、T−REQを受けたならば、それから所定時間内にR−REQを受けようとも、T−GNTを出す。カウントフル閾値をどのような値にするかで、ストレージシステム100のパフォーマンスを、制御することができる。例えば、この第一実施例において、カウントフル閾値として「10」が設定されれば、Rアクセスが10回優先して許可されたら、Tアクセスが1回許可される。
以下、本発明の一実施形態の第二実施例について説明する。なお、以下、第一実施例との相違点を主に説明し、第一実施例との共通点については説明を簡略或いは省略する。
図7は、本発明の第二実施例におけるCMA870の構成例を示す。
この第二実施例では、Rパス2の数が、Tパス3の数よりも多くなっている。
また、例えば、Rパスアービタ37R及びTパスアービタ37Tが、タイマ78から入力される時刻を基に、情報をバッファ35R又は35Tに書き込むときの時刻を、その情報と対応付けてバッファ35R又は35Tに設定することができる。
RパスI/F61Rに、R判定回路36Rが備えられ、TパスI/F61Tに、T判定回路36Tが備えられる。R判定回路36Rは、Rパスバッファ35Rに書かれたR情報のパターンとそのときの時刻(例えばそのR情報に対応付けられた時刻)とを判定し、判定結果に応じた処理を実行することができる。同様に、T判定回路36Tは、Tパスバッファ35Tに書かれたT情報のパターンとそのときの時刻とを判定し、判定結果に応じた処理を実行することができる。R判定回路36RもT判定回路36Tも、純粋なハードウェア回路で実現することができる。
また、CMA870には、通信パターン統計回路60が備えられる。通信パターン統計回路60は、CMA870を介した通信のパターンの統計を求めるために利用される回路であり、例えば、カウンタ群とすることができる。通信のパターンの統計とは、例えば、どのような種類のどのようなサイズの情報をどのような比率で送受信するかや、どのような頻度で送受信するかである。情報の種類としては、例えば、リードコマンド、或いはライトコマンドなどのコマンド種類とすることができる。頻度としては、単位時間当たりに送受信された回数とすることができる。
図8Aは、通信パターン統計回路70の構成例を示す。
通信パターン統計回路70には、Tパス用のカウンタ群71と、Rパス用のカウンタ群72とがある。各カウンタ群71、72は、同様の構成になっているので、Tパス用のカウンタ群71を代表的に例に採り説明する。Tパス用のカウンタ群71は、ライト用のサブカウンタ群71Wと、リード用のサブカウンタ群71Rと、頻度用のサブカウンタ群71Fとを有する。ライト用のサブカウンタ群71W及びリード用のサブカウンタ群71Rは、複数種類の情報サイズ範囲にそれぞれ対応した複数のカウンタから構成されている。頻度用サブカウンタ群71Fは、複数の時期(例えば24時間における複数の時期)にそれぞれ対応した複数のカウンタから構成されている。各カウンタによってカウント値がどのように更新されるかについては、CMA870で行われる処理の一例の説明の際に説明する。
この通信パターン統計回路70の各カウンタの各カウント値から、種々の通信パターンの統計を求めることができる。例えば、Tパス用のカウンタ群71のライト用サブカウンタ群71Wにおける全てのカウント値を参照すれば、CM130に書かれた情報サイズの統計を求めることができる。また、例えば、Tパス用のサブカウンタ群71の全てのカウント値と、Rパス用のサブカウンタ群72の全てのカウント値とを比較すれば、ライトコマンドとリードコマンドの受信比率を求めることもできる。
なお、通信パターン統計回路70の構成例はこれに限られない。例えば、ライト用のサブカウンタ群及びリード用のサブカウンタ群の各々に、頻度用のサブカウンタ群が用意されても良い。その場合、書込みの頻度や読み出しの頻度を別々に求めることができる。
この第二実施例では、メインアービタ60内のカウンタのレジスタに、カウントフル閾値の他に、統計/閾値テーブルも記憶される。
図8Bは、統計/閾値テーブルの構成例を示す。
統計/閾値テーブル91には、複数の通信パターン統計にそれぞれ対応付けられた複数のカウントフル閾値が記憶されている。通信パターン統計は、上述した複数のカウンタによる複数のカウント値に基づいて求められる通信パターンの統計(例えば、ライトコマンドとリードコマンドの受信回数や受信頻度のそれぞれの比率など)である。
以下、この第二実施例で行われる種々の処理について説明する。
図9Aは、CHA或いはDKAのMPが行うことのできる処理の流れの一例を示す。
MP812は、情報を出力する場合、出力対象となる情報にデータ(例えば、ホスト装置180からディスク装置150に書かれるデータ)が含まれるか否か、或いは、その情報のサイズが所定値以上か否かを判断する(ステップS1)。
S1の判断の結果、情報にデータが含まれている、或いは、情報のサイズが所定値以上である場合には、MP812は、Tパス3に情報を出力することができる(S2)。一方、S1の判断の結果、情報にデータが含まれていない、或いは、情報のサイズが所定値未満である場合には、MP812は、Rパス2に情報を出力することができる(S3)。
以上のように、この第二実施例では、MP812は、情報を出力する場合に、Rパス2とTパス3のどちらにその情報を出力することが好ましいかを判断し、好ましいと判断された方のパスに、その情報を出力することができる。これにより、ストレージシステム100のパフォーマンスの向上が期待できる。すなわち、例えば、MP812は、リードコマンド及びライトコマンドを出す際に、一律に、Tパス3に出力するのではなく、ホスト装置180からのデータが存在するライトコマンドの場合には、Tパス3を使用し、そのようなデータの存在しないリードコマンドの場合には、Rパス2を使用することができる。
図9Bは、CMA870上のメモリコントローラ82が行うことのできる処理の流れの一例を示す。
メモリコントローラ82は、CM130から取得された情報をRパスI/F61R又はTパスI/F61Tに出力する場合、出力対象となる情報にデータ(例えば、ディスク装置150から読まれたデータ)が含まれているか否か、或いは、その情報のサイズが所定値以上か否かを判断する(S11)。
S11の判断の結果、情報にデータが含まれている、或いは、情報のサイズが所定値以上である場合にはメモリコントローラ82は、Tパスライン28に情報を出力することができる(S12)。一方、S11の判断の結果、情報にデータが含まれていない、或いは、情報のサイズが所定値未満である場合には、メモリコントローラ82は、Rパスライン29に情報を出力することができる(S13)。
以上のように、この第二実施例では、メモリコントローラ82は、情報を出力する場合に、Rパスライン29とTパスライン28のどちらにその情報を出力することが好ましいかを判断し、好ましいと判断された方のパスに、その情報を出力することができる。これにより、ストレージシステム100のパフォーマンスの向上が期待できる。
図10Aは、T判定回路36Tが行うことのできる処理の流れの一例を示す(なお、R判定回路36Rも、図10Aに示す処理の流れを実行することができる)。図10Bは、通信パターン統計回路70が行う処理の流れの一例を示す。
T判定回路36Tは、Tパスバッファ35T内の情報を参照する(S21)。そして、T判定回路36Tは、参照した情報のパターン(例えば、ライトコマンドであるかリードコマンドであるか、情報のサイズはどのぐらいか)と、参照した情報が書かれた時刻とを判定し、通信パターン統計回路70における、判定結果に応じたカウンタに、ライン68を介して、カウンタ値の更新を命じる(S22)。それにより、その判定結果に応じたカウンタのカウント値が更新される(S31及びS32)。具体的には、例えば、Tパス用のカウンタ群71において、ライト用又はリード用のサブカウンタ群72又は73における、判定された情報サイズが属する範囲に対応したカウンタのカウント値と、頻度用のサブカウンタ群74における、判定された時刻が属する時期に対応したカウンタのカウント値が、それぞれ更新される。
T判定回路36Tは、Tパスバッファ35Tに未参照の情報が存在する限り(S23でYES)、S21及びS22の処理を繰り返すことができる。
図10Cは、メインアービタ60が行うことのできる処理の流れの一例を示す。
メインアービタ60は、通信パターン統計回路70から各カウント値を取得する(S41)。このS41は、例えば、ホスト装置180又はSVP281から所定のコマンドを受けたときに実行することもできるし、定期的に又は不定期的に実行することもできる。
メインアービタ60は、取得された各カウント値を基に通信パターン統計を算出し、算出された通信パターン統計に対応したカウントフル閾値を、統計/閾値テーブル91から選択する(S42)。そして、メインアービタ60は、選択されたカウントフル閾値を、現在のカウントフル閾値として、メインアービタ60におけるカウンタのレジスタに設定する(S43)。
以上の第二実施例によれば、ストレージシステムにおいて、適宜、通信パターン統計が算出され、カウントフル閾値が、その通信パターン統計に対応したカウントフル閾値に自動的に更新される。これにより、通信パターン統計が変化したら、カウントフル閾値の設定値が、自動的にそれに対応したカウントフル閾値に変わるので、ストレージシステム100のパフォーマンスがより向上することが期待できる。
以上が、第二実施例についての説明である。なお、この第二実施例(及び/又は他の実施例)において、CM130は、以下のように使用することができる。すなわち、図11Aに例示するように、同一の範囲に、R情報(又は、コマンド或いは応答)とT情報(又はデータ)とが混在しても良い。また、例えば、図11Bに例示するように、R情報(又はコマンド或いは応答)の記憶域130Aと、T情報(例えばデータ)の記憶域130Bとが区分けされていて、それらの記憶域130A、130Bの境界が、固定であっても良い。また、例えば、図11Cに例示するように、その境界が、可変であっても良い(例えば、更新後のカウントフル閾値に応じた位置に動的に変更されても良い)。また、例えば、図11Dに示すように、R情報(又はコマンド或いは応答)の記憶域130Aと、T情報(例えばデータ)の記憶域130Bとの他に、どちらにも属しない自由な記憶域130Cが用意されても良い。この場合、自由な記憶域130Cは、いわゆるプール領域として、記憶域130A、130Bの空き状況などに応じて、動的に、記憶域130A、130Bに割り当てられたり、記憶域130A、130Bから解放されたりしても良い。
図12は、本発明の一実施形態の第三実施例に係るCHA710及びCMA470の構成例を示す。
CMA470には、複数のCM130、130、…が接続されている。これに伴い、CMA470には、複数のCM130、130、…にそれぞれ対応した複数のメモリコントローラ32、32、…が備えられている。RパスI/F321R及びTパスI/F321Tは、どのCM130にアクセスするためにはどのメモリコントローラ32にアクセスするべきかを表した図示しないテーブルを記憶している。
CHA710のLM711には、アドレスマップ333が記憶されている。アドレスマップ333は、各CM130と各CM130のアドレスとが登録されている。MP112は、そのアドレスマップ333を参照することで、所望のCM130の所望のアドレスにアクセスすることができる。具体的には、例えば、MP112は、所望のCM130及びアドレスの指定を、情報と共に、RパスI/F321R或いはTパスI/F321Tに送信する。この場合、RパスI/F321R或いはTパスI/F321Tが、指定されたCM130に対応するメモリコントローラ32を特定し、特定したメモリコントローラ32に、受信した情報を出力する。
以上のように、複数のCM130、130、…が搭載されたストレージシステムを実現することも可能である。なお、MP112からのCM130へのアクセス方法は、上記の例に限らず、他の方法を採用することもできる。具体的には、例えば、RパスI/F321R又はTパスI/F321Tは、CM130の指定を受けず、メモリアドレスのみの指定を受けても良い。この場合、RパスI/F321R又はTパスI/F321Tは、そのメモリアドレスから、宛先となるCM130及びそれのアドレスを特定し、特定された宛先CM130に対応したメモリコントローラ32に、情報を出力しても良い。
図13Aは、本発明の一実施形態の第四実施例における各CHA510又はDKA520と他のCHA510又はDKA520との接続の一例を示す。
この図に示すように、各CHA510又はDKA520と他のCHA510又はDKA520とも、Rパス2及びTパス3で接続されても良い。その際、各CHA510又はDKA520と他のCHA510又はDKA520とは、それぞれ、スイッチ451、453を介して接続されても良いし、Rパス2及びTパス3の少なくとも一方においてスイッチを介することなく接続されても良い。
この第四実施例では、MP512は、他のCHA510又はDKA520のLM511にアクセスする場合、送信する情報に応じて、Rパス2とTパス3のどちらにその情報を出力するかを選択し、選択したパスに、その情報を出力することができる。例えば、MP512は、第二実施例と同様に、その情報にデータが含まれている、或いは、その情報のサイズが所定値以上である場合には、Tパス3に情報を出力し、一方、その情報にデータが含まれていない、或いは、その情報のサイズが所定値未満である場合には、Rパス2に情報を出力することができる。
この第四実施例によれば、各MP512が他のCHA510又はDKA520のLM511にアクセスすることの性能の向上が期待できる。
以上、本発明の好適な実施形態及び幾つかの実施例を説明したが、本発明は、それらの実施形態及び実施例に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
例えば、少なくとも一つの実施例において、RパスI/FやTパスI/Fが受信する情報には、宛先や送信元を示す情報要素が含まれていても良い。この場合、RパスI/FやTパスI/Fは、その情報要素から、どのRパス2或るいはどのTパス3から情報を出力すれば良いかを判断することができる。
また、カウントフル閾値は、所定の単位毎に設定することもできる。所定の単位としては、例えば、ユーザID、ディスク装置150上に設定される論理ボリュームのIDなどを採用することができる。この場合、例えば、CMA270は、情報の送信元のユーザID、或いは、情報の送信先の論理ボリュームのIDに応じたカウントフル閾値に従って、Rアクセスの優先的な許可を実行することができる。
また、第二実施例において、統計/閾値テーブル91を参照する方法に代えて、メインアービタ60が、算出された通信パターン統計に対応するカウントフル閾値を所定のアルゴリズムで計算して求めても良い。
また、カウントフル閾値は、ホスト装置180から更新されても良い。
また、例えば、各MP112が、LM111に記憶されているアドレスマップに基づいて、CM130に対するアクセス先を振り分けても良い。具体的には、例えば、MP112は、T情報を送信する場合には、第一のアドレス範囲に属するアドレスを指定してT情報を送信し、一方、R情報を送信する場合には、第一のアドレス範囲とは別の第二のアドレス範囲に属するアドレスを指定してR情報を送信しても良い。
2…レスポンス重視型パス(Rパス) 3…スループット重視型パス(Tパス) 11…アクセス部 13…メモリアダプタ 14…アービタ 15…メモリ 100…ストレージシステム 110…チャネルアダプタ(CHA) 120…ディスクアダプタ(DKA) 130…キャッシュメモリ(CM) 270…キャッシュメモリアダプタ(CMA)
Claims (17)
- メモリと、
前記メモリにアクセスする複数のアクセス部と、
前記複数のアクセス部からの前記メモリへのアクセスを制御するメモリインタフェース装置と、
各アクセス部と前記メモリインタフェース装置とを通信可能に接続する複数種類のパスと
を備え、
前記複数種類のパスには、レスポンス型パスとスループット型パスとが含まれており、
前記レスポンス型パスは、同一時間内に転送できる情報量が前記スループット型パスよりも少ないが、情報が送信されてからそれの応答を受けるまでの時間長が前記スループット型パスよりも短いパスであり、
前記スループット型パスは、情報が送信されてからそれの応答を受けるまでの時間長が前記レスポンス型パスよりも長いが、同一時間内に転送できる情報量が前記レスポンス型パスよりも多いパスであり、
前記メモリインタフェース装置は、前記スループット型パスを介した前記メモリへのアクセスよりも、前記レスポンス型パスを介した前記メモリへのアクセスを優先的に許可する、
ストレージシステム。 - 前記メモリインタフェース装置は、所定の比率で、前記レスポンス型パスを介したアクセスを優先的に許可する、
請求項1記載のストレージシステム。 - 前記メモリインタフェース装置は、前記レスポンス型パスを介したアクセスを優先的に許可する回数が所定回数になる都度に、前記レスポンス型パスを介したアクセスを優先的に許可することなく、前記スループット型パスを介したアクセスを許可する、
請求項2記載のストレージシステム。 - 前記メモリインタフェース装置が、前記レスポンス型パス及び前記スループット型パスのうちの少なくとも一方を介した通信のパターンの統計を算出し、算出された統計に対応した比率を求め、前記求められた比率を、前記所定の比率とする、
請求項2記載のストレージシステム。 - 前記メモリインタフェース装置は、前記レスポンス型パス及び前記スループット型パスのうちの少なくとも一方を介して情報を受信した場合、前記受信した情報の種別、サイズ及び受信時刻のうちの少なくとも一つを判断し、その判断結果に応じて、情報の種別毎の受信回数、情報のサイズ範囲毎の受信回数、及び情報の受信頻度のうちの少なくとも一つを更新し、情報の種別毎の受信回数、情報のサイズ範囲毎の受信回数、及び情報の受信頻度のうちの少なくとも一つに基づいて、前記統計を算出する、
請求項4記載のストレージシステム。 - 前記複数のアクセス部と前記メモリインタフェース装置との間において、前記レスポンス型パス上には、スイッチが存在しないか、或いは、前記スループット型パス上に存在するスイッチの数よりも少ない数のスイッチが存在する、
請求項1記載のストレージシステム。 - 前記スループット型パスの数よりも前記レスポンス型パスの数の方が多くなっている、
請求項1記載のストレージシステム。 - 前記ストレージシステムは、それの外部に存在する装置である外部装置と通信可能に接続されており、
キャッシュメモリと、
前記キャッシュメモリへのアクセスを制御するキャッシュメモリアダプタと
ディスク型記憶装置と、
前記外部装置と通信可能に接続されているチャネルアダプタと、
前記ディスク型記憶装置に通信可能に接続されているディスクアダプタと
を備え、
前記チャネルアダプタ及び前記ディスクアダプタは、
他のチャネルアダプタ又はディスクアダプタに対するコマンド又は応答を、前記レスポンス型パスを介して前記キャッシュメモリアダプタに送信することにより、前記キャッシュメモリに書く、及び/又は、前記キャッシュメモリに書かれた自分宛のコマンド又は応答を、前記キャッシュメモリアダプタから前記レスポンス型パスを介して受信し、
前記データを、前記スループット型パスを介して前記キャッシュメモリアダプタに送信することにより、前記キャッシュメモリ書き、及び/又は、前記データを、前記キャッシュメモリに書かれたデータを、前記キャッシュメモリアダプタから前記レスポンス型パスを介して受信し、
前記複数のアクセス部の各々は、前記チャネルアダプタ又は前記ディスクアダプタであり、
前記メモリは、前記キャッシュメモリであり、
前記メモリインタフェース装置は、前記キャッシュメモリアダプタである、
請求項1記載のストレージシステム。 - 前記ストレージシステムは、それの外部に存在する装置である外部装置と通信可能に接続されており、
キャッシュメモリと、
ディスク型記憶装置と、
前記外部装置からデータを受信して前記キャッシュメモリに書込む、及び/又は、前記キャッシュメモリからデータを取得して前記外部装置に送信することができるチャネルアダプタと、
前記キャッシュメモリに書かれたデータを取得して前記ディスク型記憶装置に書込む、及び/又は、前記ディスク型記憶装置からデータを取得して前記キャッシュメモリに書込むことができるディスクアダプタと
を備え、
前記チャネルアダプタ及び前記ディスクアダプタは、マイクロプロセッサと、ローカルメモリと、前記複数種類のパスに接続されるパスインタフェース装置とを備えており、
前記複数のアクセス部の各々は、前記マイクロプロセッサであり、
前記メモリは、前記マイクロプロセッサにとって他のチャネルアダプタ又はディスクアダプタに搭載されている前記ローカルメモリであり、
前記メモリインタフェース装置は、前記マイクロプロセッサにとって他のチャネルアダプタ又はディスクアダプタに搭載されている前記パスインタフェース装置である、
請求項1記載のストレージシステム。 - 前記ストレージシステムは、ディスク型記憶装置を備えており、
前記複数のアクセス部の各々は、
前記ディスク型記憶装置に書かれるデータが情報に含まれているか否か、及び/又は、前記情報のサイズが所定値以上か否かを判断し、
前記判断の結果、前記ディスク型記憶装置に書かれるデータが情報に含まれている場合、及び/又は、前記情報のサイズが所定値以上である場合、前記情報を、前記スループット型パスを介して前記メモリインタフェース装置に送信し、
前記判断の結果、前記ディスク型記憶装置に書かれるデータが含まれていない場合、及び/又は、前記情報のサイズが所定値未満である場合、前記情報を、前記レスポンス型パスを介して前記メモリインタフェース装置に送信する、
請求項1記載のストレージシステム。 - 前記ストレージシステムは、ディスク型記憶装置を備えており、
前記メモリインタフェース装置は、
前記ディスク型記憶装置に記憶されていたデータが情報に含まれているか否か、及び/又は、前記情報のサイズが所定値以上か否かを判断し、
前記判断の結果、前記ディスク型記憶装置に記憶されていたデータが情報に含まれている場合、及び/又は、前記情報のサイズが所定値以上である場合、前記情報を、前記スループット型パスを介して少なくとも一つのアクセス部に送信し、
前記判断の結果、前記ディスク型記憶装置に記憶されていたデータが含まれていない場合、及び/又は、前記情報のサイズが所定値未満である場合、前記情報を、前記レスポンス型パスを介して少なくとも一つのアクセス部に送信する、
請求項1記載のストレージシステム。 - 前記メモリの同一の範囲に、前記レスポンス型パスを介して受信した情報と、前記スループット型パスを介して受信した情報とが混在するか、或いは、コマンド又は応答と、ディスク型記憶装置に記憶されるデータとが混在する、
請求項1記載のストレージシステム。 - 前記メモリには、第一の記憶域と第二の記憶域とが用意されており、
前記第一の記憶域には、前記レスポンス型パスを介して受信した情報、或いは、コマンド又は応答が記憶され、
前記第二に記憶域には、前記スループット型パスを介して受信した情報、或いは、ディスク型記憶装置に記憶されるデータが記憶され、
前記第一の記憶域と前記第二の記憶域のサイズがそれぞれ固定又は可変になっている、
請求項1記載のストレージシステム。 - 前記メモリには、第一の記憶域と第二の記憶域とが用意されており、
前記第一の記憶域には、前記レスポンス型パスを介して受信した情報、或いは、コマンド又は応答が記憶され、
前記第二の記憶域には、前記スループット型パスを介して受信した情報、或いは、ディスク型記憶装置に記憶されるデータが記憶され、
前記第一の記憶域と前記第二の記憶域のサイズが、前記求められた比率に応じたサイズに動的に変更される、
請求項4記載のストレージシステム。 - 前記メモリには、第一の記憶域と、第二の記憶域と、第三の記憶域とが用意されており、
前記第一の記憶域には、前記レスポンス型パスを介して受信した情報、或いは、コマンド又は応答が記憶され、
前記第二に記憶域には、前記スループット型パスを介して受信した情報、或いは、ディスク型記憶装置に記憶されるデータが記憶され、
前記第一の記憶域及び/又は前記第二の記憶域に、前記第三の記憶域の全部又は一部が動的に割り当てられたり、前記第三の記憶域の全部又は一部が前記第一の記憶域及び/又は前記第二の記憶域から動的に解放されたりする、
請求項1記載のストレージシステム。 - 前記メモリインタフェース装置に、複数のメモリが接続されており、
前記メモリインタフェース装置は、各アクセス部から指定されたアクセス先に基づいて、前記複数のメモリの中からメモリを選択し、選択したメモリにアクセスする、
請求項1記載のストレージシステム。 - 外部に存在する装置である外部装置と通信可能に接続することができるストレージシステムにおいて、
キャッシュメモリと、
前記キャッシュメモリへのアクセスを制御するキャッシュメモリアダプタと
ディスク型記憶装置と、
前記外部装置と通信可能に接続されているチャネルアダプタと、
前記ディスク型記憶装置に通信可能に接続されているディスクアダプタと、
前記チャネルアダプタ及び前記ディスクアダプタと前記キャッシュメモリアダプタとを通信可能に接続する複数種類のパスと
を備え、
前記複数種類のパスには、レスポンス型パスとスループット型パスとが含まれており、
前記レスポンス型パスは、同一時間内に転送できる情報量が前記スループット型パスよりも少ないが、情報が送信されてからそれの応答を受けるまでの時間長が前記スループット型パスよりも短いパスであり、
前記スループット型パスは、情報が送信されてからそれの応答を受けるまでの時間長が前記レスポンス型パスよりも長いが、同一時間内に転送できる情報量が前記レスポンス型パスよりも多いパスであり、
前記チャネルアダプタ及び前記ディスクアダプタは、
他のチャネルアダプタ又はディスクアダプタに対するコマンド又は応答を、前記レスポンス型パスを介して前記キャッシュメモリアダプタに送信することにより、前記キャッシュメモリに書く、及び/又は、前記キャッシュメモリに書かれた自分宛のコマンド又は応答を、前記キャッシュメモリアダプタから前記レスポンス型パスを介して受信し、
前記データを、前記スループット型パスを介して前記キャッシュメモリアダプタに送信することにより、前記キャッシュメモリ書き、及び/又は、前記データを、前記キャッシュメモリに書かれたデータを、前記キャッシュメモリアダプタから前記レスポンス型パスを介して受信し、
前記キャッシュメモリアダプタは、所定の比率で、前記スループット型パスを介した前記メモリへのアクセスよりも、前記レスポンス型パスを介した前記メモリへのアクセスを優先的に許可する、
ストレージシステム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005301575A JP2007109141A (ja) | 2005-10-17 | 2005-10-17 | ストレージシステム |
US11/297,356 US20070088900A1 (en) | 2005-10-17 | 2005-12-09 | Storage system |
EP06251126A EP1777614B1 (en) | 2005-10-17 | 2006-03-02 | Storage system |
DE602006003040T DE602006003040D1 (de) | 2005-10-17 | 2006-03-02 | Speichersystem |
US12/292,269 US20090083480A1 (en) | 2005-10-17 | 2008-11-14 | Storage system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005301575A JP2007109141A (ja) | 2005-10-17 | 2005-10-17 | ストレージシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007109141A true JP2007109141A (ja) | 2007-04-26 |
Family
ID=37459321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005301575A Withdrawn JP2007109141A (ja) | 2005-10-17 | 2005-10-17 | ストレージシステム |
Country Status (4)
Country | Link |
---|---|
US (2) | US20070088900A1 (ja) |
EP (1) | EP1777614B1 (ja) |
JP (1) | JP2007109141A (ja) |
DE (1) | DE602006003040D1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010049596A (ja) * | 2008-08-25 | 2010-03-04 | Hitachi Ltd | 複数の集積回路を備えたストレージシステム |
JP2010537339A (ja) * | 2007-08-31 | 2010-12-02 | トムソン ライセンシング | バッファ容量の利用が改善されたマスストレージシステム |
JP2012504796A (ja) * | 2009-01-09 | 2012-02-23 | 株式会社日立製作所 | 複数のマイクロプロセッサを有するストレージシステム、及び、そのストレージシステムにおける処理分担方法 |
WO2019187155A1 (ja) * | 2018-03-30 | 2019-10-03 | 日本電気株式会社 | 情報処理装置、情報処理方法およびプログラム |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4933284B2 (ja) * | 2007-01-25 | 2012-05-16 | 株式会社日立製作所 | ストレージ装置及び負荷分散方法 |
US8341279B2 (en) * | 2008-11-17 | 2012-12-25 | Cisco Technology, Inc. | Dynamically activating buffered data publishers in sensor networks |
KR20100085564A (ko) * | 2009-01-21 | 2010-07-29 | 삼성전자주식회사 | 데이터 처리 시스템과 데이터 처리 방법 |
US9747035B2 (en) * | 2014-12-17 | 2017-08-29 | Empire Technology Development Llc | Reducing memory overhead associated with memory protected by a fault protection scheme |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5832304A (en) * | 1995-03-15 | 1998-11-03 | Unisys Corporation | Memory queue with adjustable priority and conflict detection |
JP3657428B2 (ja) * | 1998-04-27 | 2005-06-08 | 株式会社日立製作所 | 記憶制御装置 |
JP4392877B2 (ja) * | 1998-09-18 | 2010-01-06 | 株式会社日立製作所 | ディスクアレイ制御装置 |
US6434637B1 (en) * | 1998-12-31 | 2002-08-13 | Emc Corporation | Method and apparatus for balancing workloads among paths in a multi-path computer system based on the state of previous I/O operations |
JP3684902B2 (ja) | 1999-03-03 | 2005-08-17 | 株式会社日立製作所 | ディスクアレイ制御装置 |
US6370605B1 (en) * | 1999-03-04 | 2002-04-09 | Sun Microsystems, Inc. | Switch based scalable performance storage architecture |
JP3716126B2 (ja) * | 1999-03-17 | 2005-11-16 | 株式会社日立製作所 | ディスクアレイ制御装置及びディスクアレイ |
JP3987241B2 (ja) * | 1999-07-29 | 2007-10-03 | 株式会社東芝 | 系間情報通信システム |
US7694303B2 (en) * | 2001-09-25 | 2010-04-06 | Sun Microsystems, Inc. | Method for dynamic optimization of multiplexed resource partitions |
US7231504B2 (en) * | 2004-05-13 | 2007-06-12 | International Business Machines Corporation | Dynamic memory management of unallocated memory in a logical partitioned data processing system |
-
2005
- 2005-10-17 JP JP2005301575A patent/JP2007109141A/ja not_active Withdrawn
- 2005-12-09 US US11/297,356 patent/US20070088900A1/en not_active Abandoned
-
2006
- 2006-03-02 DE DE602006003040T patent/DE602006003040D1/de active Active
- 2006-03-02 EP EP06251126A patent/EP1777614B1/en not_active Not-in-force
-
2008
- 2008-11-14 US US12/292,269 patent/US20090083480A1/en not_active Abandoned
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010537339A (ja) * | 2007-08-31 | 2010-12-02 | トムソン ライセンシング | バッファ容量の利用が改善されたマスストレージシステム |
JP2010049596A (ja) * | 2008-08-25 | 2010-03-04 | Hitachi Ltd | 複数の集積回路を備えたストレージシステム |
US8010720B2 (en) | 2008-08-25 | 2011-08-30 | Hitachi, Ltd. | Storage system disposed with plural integrated circuits |
JP2012504796A (ja) * | 2009-01-09 | 2012-02-23 | 株式会社日立製作所 | 複数のマイクロプロセッサを有するストレージシステム、及び、そのストレージシステムにおける処理分担方法 |
WO2019187155A1 (ja) * | 2018-03-30 | 2019-10-03 | 日本電気株式会社 | 情報処理装置、情報処理方法およびプログラム |
JPWO2019187155A1 (ja) * | 2018-03-30 | 2021-02-12 | 日本電気株式会社 | 情報処理装置、情報処理方法およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
DE602006003040D1 (de) | 2008-11-20 |
EP1777614A1 (en) | 2007-04-25 |
US20070088900A1 (en) | 2007-04-19 |
US20090083480A1 (en) | 2009-03-26 |
EP1777614B1 (en) | 2008-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007109141A (ja) | ストレージシステム | |
JP4376040B2 (ja) | 複数のプロセッサを用いて情報処理を行う装置及び方法 | |
TWI575377B (zh) | 具有負載平衡演算法之儲存系統及其操作方法 | |
US7475213B2 (en) | Storage control system and storage control method | |
JP5427630B2 (ja) | 動的ページ再割当てストレージシステムにおけるアプリケーション及び階層構成の管理 | |
JP5657641B2 (ja) | データストレージデバイスのコマンド及び割り込みのグループ化 | |
JP4775846B2 (ja) | 物理リンクの割当てを制御するコンピュータシステム及び方法 | |
US7536592B2 (en) | Storage system and snapshot data preparation method in storage system | |
US7136963B2 (en) | Storage capable of cache assignment modification | |
CN102203743A (zh) | 直接-附接的/网络-附接的存储设备 | |
US7953952B2 (en) | Computer and method for controlling whether or not to release all real storage areas assigned to virtual volume | |
EP2151748A2 (en) | Storage apparatus, memory area managing method thereof, and flash memory package | |
JP4477437B2 (ja) | ストレージ装置、そのクラスタ間データ通信方法、及びそのクラスタ通信制御プログラム | |
WO2013128494A1 (en) | Storage system and data transfer control method | |
US7545746B2 (en) | Computer system for controlling routed data amount | |
JP2013161256A (ja) | 仮想テープ装置及び仮想テープ装置の制御方法 | |
JP5842639B2 (ja) | 接続装置、ストレージ装置、接続要求送信制御方法、および接続要求送信制御プログラム | |
JP2007179200A (ja) | コンピュータシステムおよびストレージ仮想化装置 | |
JP5244909B2 (ja) | バッファ容量の利用が改善されたマスストレージシステム | |
WO2017031637A1 (zh) | 一种内存访问方法、装置和系统 | |
WO2014125559A1 (ja) | 記憶制御装置および記憶制御装置の制御方法 | |
WO2019043815A1 (ja) | ストレージシステム | |
JP2007004707A (ja) | インタフェース装置、記憶装置、制御方法、及びシステム | |
JP5661313B2 (ja) | 記憶装置 | |
WO2016132428A1 (ja) | ストレージ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080811 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20090526 |