JP2006309579A - 記憶制御装置及びストレージシステム - Google Patents

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

Info

Publication number
JP2006309579A
JP2006309579A JP2005132681A JP2005132681A JP2006309579A JP 2006309579 A JP2006309579 A JP 2006309579A JP 2005132681 A JP2005132681 A JP 2005132681A JP 2005132681 A JP2005132681 A JP 2005132681A JP 2006309579 A JP2006309579 A JP 2006309579A
Authority
JP
Japan
Prior art keywords
control device
storage
storage control
host
ccw
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
Application number
JP2005132681A
Other languages
English (en)
Inventor
Masami Maeda
昌美 前田
Noboru Furuumi
昇 古海
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 JP2005132681A priority Critical patent/JP2006309579A/ja
Priority to US11/173,972 priority patent/US20060282573A1/en
Publication of JP2006309579A publication Critical patent/JP2006309579A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/349Performance evaluation by tracing or monitoring for interfaces, buses
    • 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/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】 ホスト装置に対するレスポンス性能の向上を図る。
【解決手段】 本発明の記憶制御装置(20)は、ホスト装置(10)と外部接続記憶制御装置(90)に接続される。記憶制御装置(20)は、外部接続記憶制御装置(90)の実ボリューム(71)がマッピングされた仮想デバイス(42)と、ホスト装置(10)からのリクエストに応じて仮想デバイス(42)にマッピングされた実ボリューム(71)へのアクセスを制御するチャネル制御部(50)とを備える。チャネル制御部(50)はホスト装置(10)が実ボリューム(71)にアクセスするためにホスト装置(10)から送信されたCCWチェインを分割又は統合し、これを外部接続記憶制御装置(90)に送信する。
【選択図】 図1

Description

本発明は記憶制御装置及びストレージシステムに関する。
大型計算機システム等の外部ストレージシステムのディスクアクセス方式として、例えば、CKD(Count-Key-Data)方式が知られている。CKD方式においては、個々のレコード毎にそのデータ転送を指示するCCW(チャネルコマンドワード)が連続して発行される。CCWには、チャネルコマンド、データアドレス、チェイニング、及びデータカウントが含まれる。例えば、特許文献1には、チャネルコマンドを使用して、外部ストレージシステムにデータ転送を行う技術が開示されている。また、特許文献2には、一つ又は複数の入出力装置と入出力動作を多重に実行するチャネル装置において、入出力動作の処理を複数のタスクに分割して、分割されたタスクのうち次処理準備処理を低い優先度のタスクとして実行するチャネル装置が開示されている。
特開平9−190292号公報 特開2001−134523号公報
ところで、本発明者は、ホスト装置に接続する記憶制御装置(以下、ホスト接続記憶制御装置と称する場合がある。)が更に外部の記憶制御装置(以下、外部接続記憶制御装置と称する場合がある。)にも接続されており、外部接続記憶制御装置の記憶デバイス(外部デバイス)をホスト接続記憶制御装置の記憶デバイス(内部デバイス)としてホスト装置に提供するシステム構成を検討している。
しかし、ホスト装置からホスト接続記憶制御装置へ送信されてくる一連のCCWチェインを、その送信順序を変えることなく、ホスト接続記憶制御装置が外部接続ケーブルを介して外部接続記憶制御装置にそのままシーケンシャルに転送し、外部接続記憶制御装置の記憶デバイスにデータを読み書きする構成では、ホスト接続記憶制御装置の記憶デバイスにデータを直接読み書きする構成と比較して、コマンド処理時間が長くなるという不都合が生じる。更に、ホスト接続記憶制御装置と外部接続記憶制御装置とを結線する外部接続ケーブルが長い程、ホスト装置に対するレスポンス性能は低下する。
本発明は、上記の問題点に鑑みてなされたもので、本発明の目的は、上述の不都合を解消し、ホスト装置からの指示に対するレスポンス性能を向上させることにある。
上記の課題を解決するため、本発明の記憶制御装置は、上位装置及び外部接続記憶制御装置に接続され、上位装置からのリクエストに応じたデータ処理を行う。この記憶制御装置は、外部接続記憶制御装置の実ボリュームがマッピングされた仮想デバイスと、上位装置からのリクエストに応じて、仮想デバイスにマッピングされた実ボリュームへのアクセスを制御するチャネル制御部と、を備える。チャネル制御部は、上位装置が実ボリュームにアクセスするために上位装置から送信されたCCWチェインを分割し、分割された複数のCCWチェインのそれぞれを外部接続記憶制御装置に送信する。
チャネル制御部は、例えば、分割された複数のCCWチェインのそれぞれを、複数のパスに分散させて外部接続記憶制御装置に送信する。パスとは、例えば、記憶制御装置と外部接続記憶制御装置とを接続する物理パス、或いは同一の物理パスに設定された複数の論理パスである。
チャネル制御部は、上位装置からのCCWチェインをパス本数分に分割することもできる。また、各パスのビジー率、各パスのI/Oレスポンスタイム、各パスに接続されるターゲットポートのBBクレジット数に応じて、各パスに送信されるCCWチェインのチェイン数を変えてもよい。また、上位装置からのCCWチェインを分割する単位として、例えば、トラック単位又はシリンダ単位で分割してもよい。
チャネル制御部は、分割された複数のCCWチェインの全ての応答が外部接続記憶制御装置から返ってきた段階で、上位装置への完了報告を行う。
チャネル制御部は、上位装置からのリクエストが実ボリュームからのデータの読み出しである場合に、分割された複数のCCWチェインのうち一部のCCWチェインの応答を外部接続記憶制御装置から受信すると、分割された複数のCCWチェインの全ての応答を待つことなく、リードデータの順序性を維持した上で上位装置にリードデータの先出しを行ってもよい。
本発明の記憶制御装置は、複数の上位装置及び外部接続記憶制御装置に接続され、複数の上位装置からのリクエストに応じたデータ処理を行う。この記憶制御装置は、外部接続記憶制御装置の実ボリュームがマッピングされた仮想デバイスと、上位装置からのリクエストに応じて、仮想デバイスにマッピングされた実ボリュームへのアクセスを制御するチャネル制御部と、を備える。チャネル制御部は、複数の上位装置のそれぞれが実ボリュームにアクセスするために複数の上位装置のそれぞれから送信された複数のコマンドを、一つのコマンドに置換し、この一つのコマンドを外部接続記憶制御装置に送信する。
チャネル制御部は、例えば、複数の上位装置のそれぞれから送信された複数のコマンドを並べ替えた場合に、実ボリュームへのシーケンシャルアクセスになることを条件として、複数のコマンドを一つのコマンドに置換する。
本発明のストレージシステムは、上位装置に接続された第一の記憶制御装置と、第一の記憶制御装置に接続された第二の記憶制御装置とを備える。第一の記憶制御装置は、第二の記憶制御装置の実ボリュームがマッピングされた仮想デバイスと、上位装置からのリクエストに応じて、仮想デバイスにマッピングされた実ボリュームへのアクセスを制御するチャネル制御部と、を備える。チャネル制御部は、上位装置が実ボリュームにアクセスするために上位装置から送信されたCCWチェインを分割し、分割された複数のCCWチェインのそれぞれを外部接続記憶制御装置に送信する。第二の記憶制御装置は、分割された複数のCCWチェインのそれぞれを同時に並行処理する。
本発明によれば、ホスト装置からの指示に対するレスポンス性能を向上させることができる。
以下、各図を参照しながら本発明の実施形態について説明する。
図1は本実施形態におけるストレージシステム100の主要部を示している。ストレージシステム100は、ホスト接続記憶制御装置20と、外部接続記憶制御装置90とを備えて構成されている。ストレージシステム100はホスト装置10からのリクエストに応じたデータ処理を行う。ホスト接続記憶制御装置20と外部接続記憶制御装置90とは、共に同一サイトに設定されていてもよく、或いはそれぞれ異なるサイトに設置されていてもよい。
ホスト装置10は、例えば、CPU(Central Processing Unit)やメモリ等を備えた上位装置であり、具体的には、パーソナルコンピュータ、ワークステーション、メインフレーム等である。ホスト装置10には、ホスト接続パス200を介して記憶制御装置20にアクセスするためのポート11が実装されている。ホスト装置10には、更に、記憶制御装置20が提供する記憶資源を利用するデータベースなどのアプリケーションプログラムが実装されている。
ホスト接続パス200としては、例えば、LAN(Local Area Network)、SAN(Storage Area Network)、インターネット、専用回線、公衆回線等を適宜用いることができる。LANを介するデータ通信は、例えば、TCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルに従って行われる。ホスト装置10がLANを介して記憶制御装置20に接続される場合、ホスト装置10は、ファイル名を指定してファイル単位でのデータ入出力を要求する。一方、ホスト装置10がSANを介して記憶制御装置20に接続される場合、ホスト装置10は、ファイバチャネルプロトコルに従って、複数のディスクドライブにより提供される記憶領域のデータ管理単位であるブロックを単位として、データ入出力を要求する。ホスト接続パス200がLANである場合、ポート11として、例えば、LAN対応のネットワークカードが用いられる。ホスト接続パス200がSANの場合、ポート11として、例えば、HBA(Host Bus Adapter)が用いられる。
記憶制御装置20は、例えば、ディスクアレイ装置等として構成される。但し、これに限らず、例えば、記憶制御装置20は、それ自体がSCSIターゲットになる仮想化スイッチであってもよい。ストレージシステム20は、後述のように、外部接続記憶制御装置90の有する記憶資源を自己の論理デバイスとして、ホスト装置10に提供するものであるから、自己が直接支配するローカルな記憶デバイスを必ずしも有している必要はない。
記憶制御装置20は、主に、ディスクコントローラ(DKC)30と、ディスク部40とを備える。ディスクコントローラ30は、例えば、チャネル制御部50、キャッシュメモリ31、共有メモリ32、及びディスク制御部33を備えて構成される。チャネル制御部50、キャッシュメモリ31、共有メモリ32、及びディスク制御部33は、高速スイッチング動作によってデータ伝送を行う超高速クロスバスイッチ等のような高速バスによって接続されている。チャネル制御部50は、プロトコル制御部60、ポート51、ハブ52、チャネル制御プロセッサ54、及びメモリ55を備えて構成されている。
プロトコル制御部60は、ホスト装置10との間のインターフェース制御を行う。プロトコル制御部60は、ポート51から外部に向けて送信するデータを格納するための送信用レジスタ61、外部からポート51を経由して受信したデータを格納するための受信用レジスタ62、ホスト装置10及び外部接続記憶制御装置90との間のインターフェースを制御するプロトコル制御プロセッサ63、インターフェース制御に必要な制御情報を格納する制御用レジスタ64を備えて構成されている。
ポート51には、それぞれを識別するためのネットワークアドレス(例えば、IPアドレスやWWN(World Wide Name))が割り当てられている。ハブ52は、プロトコル制御部60とチャネル制御プロセッサ54とを接続する。ハブ52には、通信用のバッファ53が実装されている。チャネル制御プロセッサ54は、コマンド処理やデータ転送処理等を行う制御用のプロセッサである。チャネル制御プロセッサ54は、例えば、ホスト装置10から送信されたCCWチェインの分割又は統合を行い、外部接続記憶制御装置90へ転送する機能を有する。CCWチェインの分割処理又は統合処理の詳細については、後述する。メモリ55は、チャネル制御プロセッサ54のワークエリアとして機能する。
尚、記憶制御装置20は、複数のチャネル制御部50を実装することができ、それぞれのチャネル制御部50は、NAS(Network Attached Storage)として機能することもできる。また、複数のホスト装置10が存在する場合、各チャネル制御部50は、各ホスト装置10からの要求をそれぞれ個別に受け付けることができる。
キャッシュメモリ31は、ホスト装置10から受信したデータや、記憶デバイス41,42から読み出したデータを一時的に格納する。共有メモリ32には、システム管理に必要な各種の制御情報等が格納される。後述するコマンド制御ジョブテーブル、パス管理テーブル、デバイス管理テーブル、外部接続DKC管理テーブル、性能モニタリングテーブル等は共有メモリ32に格納されている。尚、記憶デバイス41,42の何れか一つ或いは複数を、キャッシュ用のディスクとして使用してもよい。
ディスク制御部33は、ディスク部40の記憶デバイス41,42との間のデータ授受を行う。ディスク制御部33は、CPUやメモリ等を備えたマイクロコンピュータシステムとして構成されている。ディスク制御部33は、チャネル制御部50がホスト装置10から受信したデータを、ホスト装置10からのライトコマンドに基づいて、記憶デバイス41,42の所定のアドレスに書き込む他、ホスト装置10からのリードコマンドに基づいて、記憶デバイス41,42の所定のアドレスからデータを読み出し、ホスト装置10に送信する。記憶デバイス41,42との間でデータ入出力を行う場合、ディスク制御部33は、論理的なアドレスを物理的なアドレスに変換する。ディスク制御部33は、記憶デバイス41,42がRAID(Redundant Arrays of Independent Inexpensive Disks)に従って管理されている場合は、RAID構成に応じたデータアクセスを行う。
ディスク部40は複数の記憶デバイス41を備えている。記憶デバイス41としては、例えば、ハードディスク、フレキシブルディスク、磁気テープ、半導体メモリ、光ディスク等のような物理デバイス(Physical Device)を用いることができる。ディスク部40内に点線で示される記憶デバイス42は、記憶制御装置90の有する記憶デバイス(実ボリューム)71を記憶制御装置20側に取り込んだ状態を示すものである。即ち、本実施形態では、記憶制御装置20から見て外部に存在する外部記憶デバイス71を、記憶制御装置20の内部記憶デバイスとして認識し、ホスト装置10に外部記憶デバイス71の記憶資源を提供する。外部記憶デバイス71は、物理デバイスであり、内部記憶デバイス42は、仮想デバイスである。
外部接続記憶制御装置90は、チャネル制御部80、キャッシュメモリ61、共有メモリ62、ディスク制御部63、及びディスク部70を備えて構成されている。チャネル制御部80は、ポート81を備える。ディスク制御部63は、記憶デバイス71にデータの読み書きを行うための複数のプロセッサを備える。外部接続記憶制御装置90の構成は上述したホスト接続記憶制御装置20の構成と同様である。ホスト接続記憶制御装置20のポート51と、外部接続記憶制御装置90のポート81とは、外部接続パス300を介して相互に接続されている。ホスト装置10が記憶デバイス42に読み書きするためにホスト装置10から送信されてくるコマンド(CCWチェイン)は、ホスト接続記憶制御装置20内で分割処理又は統合処理された後、外部接続パス300を介して外部接続記憶制御装置90に送信される。外部接続記憶制御装置90では、ホスト接続記憶制御装置20から送信されてくる複数のCCWチェインを同時に並行処理することにより、記憶デバイス71に対して読み書きを行う。
尚、外部接続記憶制御装置90は一台に限らず、複数でもよい。また、複数の外部接続記憶制御装置90がカスケード接続された状態でホスト接続記憶制御装置20に接続されていてもよい。また、ホスト装置10は単一に限らず、複数存在していてもよい。
図2は記憶制御装置20内の論理的な記憶階層を示している。記憶制御装置20は、下層側から順番に、VDEV(Virtual Device)101、LDEV(Logical Device)102、及びLUN(Logical Unit Number)103から成る3層の記憶階層を有している。
VDEV101は、論理的な記憶階層の最下位に位置する仮想デバイスである。VDEV101は、物理的な記憶資源を仮想化したものであり、例えば、RAID構成を適用することができる。即ち、一つの記憶デバイス41から複数のVDEV101を形成することもできるし(スライシング)、複数の記憶デバイス41から一つのVDEV101を形成することもできる(ストライピング)。図2中の左側に示すVDEV101は、例えば、RAID構成に従って、記憶デバイス41を仮想化している。
一方、図2中の右側に示すVDEV101は、記憶制御装置90の記憶デバイス71をマッピングすることにより構成されている。即ち、本実施形態では、記憶デバイス71により提供される論理デバイス(LDEV)を、VDEV101にマッピングすることにより、記憶制御装置20の内部ボリュームとして使用できるようになっている。同図に示す例では、4つの記憶デバイス71A〜71Dをストライピングすることにより、VDEV101を構築している。各記憶デバイス71A〜71Dには、それぞれのポート81A〜81DからそれぞれのLUN72A〜72Dを特定することにより、それぞれ個別にアクセスすることができる。各ポート81A〜81Dには、ユニークな識別情報であるWWNが割り当てられており、更に、各LUN72A〜72Dには、LUN番号が設定されているので、WWNとLUN番号の組合せによって、記憶デバイス71A〜71Dを特定できる。
VDEV101の上には、LDEV102が設けられている。LDEV102は、VDEV101を仮想化した論理デバイス(論理ボリューム)である。一つのVDEV101から複数のLDEV102に接続することもできるし、複数のVDEV101から一つのLDEV102に接続することもできる。LDEV102には、それぞれのLUN103を介してアクセスすることができる。このように、本実施形態では、LUN103と記憶デバイス71との間に位置する中間記憶階層(VDEV101,LDEV102)に記憶デバイス71を接続することにより、外部の記憶デバイス71を記憶制御装置20の内部デバイスの一つとして利用できるようにしている
次に、CCWチェインの分割処理の概要について説明を加える。記憶制御装置20(以下、ホスト接続DKCと称する場合がある。)は、ホスト装置10から送信されてくるCCWチェインを複数のMSG(メッセージ)に分割し、複数のMSGを複数のパス(物理パス又は論理パス)に分散させて、記憶制御装置90(以下、外部接続DKCと称する場合がある。)に送信する。外部接続DKCにおいては、複数のMSGのそれぞれを別々のCCWチェインとして、複数のプロセッサが同時に並行処理(多重処理)することにより、ホスト装置10に対するレスポンス性能を高める。各MSGには、CCWチェインの先頭にプリフィクス(Prefix)コマンド又はDefine Extent(DX)/Locate Record(LOC)コマンドが付加される。ホスト接続DKCは、MSG数、各MSGのチェイン数、パス数等に応じて、プリフィクスコマンドにおいて指定される書き込み先頭アドレス、書き込み範囲、CCWチェイン数、チャネルイメージ番号等を再設定する。
CCWチェインの分割の仕方として、例えば、パス本数(物理パス本数又は論理パス本数)に基づいて、CCWチェインを分割してもよい。各パスに送信されるMSGのチェイン数は均等であってもよく、又はパス毎にMSGのチェイン数を変えてもよい。パス毎にMSGのチェイン数を変える方法として、例えば、各パスのビジー率、各パスのI/Oレスポンスタイム、各パスの通信トラック量、各パスに接続されるターゲットポートのBBクレジット数等に応じて、MSGのチェイン数を変えることができる。また、物理パスの距離に応じて、MSGのチェイン数を変えてもよい。但し、同一の物理パスを使用して同一の論理アドレスにアクセスするには、チャネルイメージ番号が重複しないように設定する必要がある。
また、CCWチェインの分割の仕方として、例えば、トラック単位又はシリンダ単位で分割してもよい。これは、外部接続DKCにおいて、トラック単位又はシリンダ単位でデータアクセスのロックをかけるような設定がなされている場合に、CCWチェインをトラック単位又はシリンダ単位で分割することにより、レスポンス性能の向上を実現できる。
また、CCWチェインの分割の仕方として、例えば、データをバックアップする場合のようなシーケンシャルなアクセスに対しては、ホスト装置10に対するレスポンス性能の向上はそれ程要求されないので、CCWチェインを分割しなくてもよい。一方、日常業務におけるホスト装置10からのランダムなアクセスに対しては、ホスト装置10に対するレスポンス性能の向上は要求されるので、CCWチェインを分割するのが好ましい。
また、CCWチェインの分割の仕方として、例えば、コマンドのプライオリティ情報を参照して、優先度が高いものについては、CCWチェインを分割し、優先度の低いものについては、CCWチェインを分割しないことも可能である。
次に、外部接続パス300の本数(物理パス本数)に応じてCCWチェインの分割数を決定し、CCWチェインを分割する処理の概要について、図3を参照しながら説明する。
ここでは、ホスト装置10からホスト接続DKCに向けて、WRUPD(ライトアップデータコマンド)がCCWチェインとして送信された場合を例示する。ホスト装置10からホスト接続DKCには、書き込み先頭アドレス、書き込み範囲、CCWチェイン数等を指定するプリフィクスコマンドに続いて、複数のWRUPDがCCWチェインとして送信される。WRUPD(CYL#L,TRK#M,RN)は、シリンダ番号Lのトラック番号MのレコードNの書き込みコマンドであることを示している。WRUPDは、書き込みアドレスやデータサイズ等を指定するカウンタ部Cと、ライトデータを格納するデータ部Dとを含む。
ホスト接続DKCは、ホスト装置10からCCWチェインを受信すると、データ書き込み先の記憶制御装置90に接続する外部接続パス300の本数に基づいてCCWチェインの分割数を決定する。例えば、2本の外部接続パス1,2が存在する場合、ホスト接続DKCは、CCWチェインを2つのMSG1,2に分割し、各MSG1,2を外部接続パス1,2に送信する。MSG1には、WRUPD(CYL#0,TRK#1,R9)〜WRUPD(CYL#0,TRK#1,R12)が含まれる。ホスト接続DKCは、MSG1のプリフィクスコマンドが指定する書き込み範囲、及びCCWチェイン数を再設定する。この例では、書き込み範囲として、シリンダ番号0のトラック番号1のレコード9〜12が指定される。CCWチェイン数として、4が指定される。MSG1の書き込み先頭アドレスは、分割前のCCWチェインの書き込み先頭アドレスと同一であるため、再設定の必要はない。また、MSG2には、WRUPD(CYL#0,TRK#2,R1)〜WRUPD(CYL#0,TRK#2,R4)が含まれる。ホスト接続DKCは、MSG2のプリフィクスコマンドが指定する書き込み先頭アドレス、書き込み範囲、及びCCWチェイン数を再設定する。この例では、書き込み先頭アドレスとして、シリンダ番号0のトラック番号2のレコード1が指定される。書き込み範囲として、シリンダ番号0のトラック番号2のレコード1〜4が指定される。CCWチェイン数として、4が指定される。
外部接続DKCは、それぞれ異なる外部接続パス1,2から送信されるMSG1,2を別々のCCWチェインとして、並行処理する。つまり、外部接続DKCにおいては、あるプロセッサがMSG1を処理している最中に、他のプロセッサがMSG2を処理するので、MSG1,2の並行処理が可能になる。CCWチェインの分割数をNとすれば、外部接続DKCにおけるCCWチェインの処理時間は、従来方式と比較して、約1/Nとなる。外部接続DKCにおいては、各MSG1,2は別々のCCWチェインとして処理されているので、外部接続DKCからホスト接続DKCには、それぞれ別々のライト処理完了を示す完了報告(STS)1,2が送信される。ホスト接続DKCは、各MSG1,2の完了報告1,2を受信すると、ホスト装置10に対して、ライト処理完了を示す一つの完了報告(STS)を送信する。
次に、物理パス本数に応じてCCWチェインを分割する処理の詳細について、図4を参照しながら説明する。
ホスト装置10からホスト接続DKCに送信されたコマンド(CCWチェイン)は、ポート51を経由して、受信用レジスタ62に格納され、更に、通信用バッファ53に転送されて、チャネル制御プロセッサ54によるCCW分割処理がなされる。チャネル制御プロセッサ54は、ホスト装置10からコマンドを受信すると、コマンド制御ジョブを起動する(S101)。このコマンド制御ジョブ起動処理では、コマンド処理に対して、コマンド制御ジョブテーブル(図11)に新規ジョブ番号が割り当てられる。
図11に示すように、コマンド制御ジョブテーブルは、ホスト接続DKCがホスト装置10からコマンドを受信したときに実行される各コマンド処理をジョブとして管理するテーブルである。同テーブルにおいて、JOB#はジョブ番号を示す。JOB状態の"Active"はジョブ起動中であることを示し、"Not Active"はジョブ終了であることを示す。DEV Addressはホスト装置10が認識する記憶デバイス42の論理アドレスを示す。異常終了Bitの"1"はジョブが異常終了したことを示し、"0"はジョブが正常終了したことを示す。MSG数はCCWチェインの分割数を示す。MSG完了制御情報は、各MSGの処理が完了済みであるか未完了であるかを管理するための情報である。MSG#はメッセージ番号を示す。MSG完了Bitの"1"はMSGの処理が完了したことを示し、"0"はMSGの処理が未完了であることを示す。データ格納領域#は、ホスト装置10からのリードコマンドに応答して、読み出したリードデータのキャッシュメモリ31上の格納アドレスを示す。
チャネル制御プロセッサ54は、JOB状態が"Not Active"であるJOB#に新規ジョブ番号を割り当て、更に、DEV Addressにアクセス先の論理アドレスを登録する(S101)。
次に、チャネル制御プロセッサ54は、デバイス管理テーブル(図13)を参照して、アクセス先のデバイスが外部デバイスであるか否かを判定する(S102)。図13に示すように、デバイス管理テーブルは、各論理アドレス(DEV Address)につき、当該論理アドレスを有するデバイスが外部デバイスであるか否かを外部接続ビットにより管理するとともに、当該論理アドレスを有するデバイスが外部デバイスである場合に、外部接続DKCの番号を管理するテーブルである。外部接続ビットの"1"は外部デバイスであることを示し、"0"は内部デバイスであることを示す。外部接続DKC#は外部接続DKCの番号を示す。
アクセス先のデバイスが内部デバイスである場合には(S102;YES)、ホスト接続DKCは、内部デバイスに対するデータ処理を行う(S110)。一方、アクセス先のデバイスが外部デバイスである場合には(S102;NO)、チャネル制御プロセッサ54は、通信用バッファ53を参照し、CCWチェイン数をチェックする(S103)。CCWチェイン数は、DX/LOCコマンドで始まるCCWチェインの場合は、LOCコマンドパラメータのドメインカウントにてチェック可能である。また、プリフィクスコマンドで始まるCCWチェインの場合は、プリフィクスコマンドパラーメタのドメインカウントにてチェック可能である。
次に、チャネル制御プロセッサ54は、外部接続DKC管理テーブル(図14)を参照して、物理パス本数をチェックする(S104)。図14に示すように、外部接続DKC管理テーブルは、外部接続DKCに接続する物理パスの番号を管理するためのテーブルである。DKC#は外部接続DKCの番号を示す。Validビットの"1"は外部接続DKCが接続していることを示し、"0"は外部接続DKCが接続していないことを示す。製番は外部接続DKCの製造番号を示す。物理パス番号は外部接続DKCに接続する外部接続パス300の番号を示す。例えば、DKC#1の外部接続DKCには、4本の物理パス(物理パス番号2,4,6,7)が接続されていることが分かる。
次に、チャネル制御プロセッサ54は、CCWチェインを物理パス本数の数に分割し、各MSGを作成する(S105)。各MSGのチェイン数は、CCWチェイン数(ドメインカウント)を物理パス本数で割った値となる。次に、チャネル制御プロセッサ54は、コマンド制御ジョブ管理テーブルにMSG数を登録する(S106)。
次に、チャネル制御プロセッサ54は、第一のパス管理テーブル(図12)から未使用のCHLIMG#を検索し、同テーブルにJOB#、MSG#、使用中Bitを登録する(S107)。図12に示すように、第一のパス管理テーブルは、外部接続DKCに接続されている物理パスの使用状況(より詳細には、チャネルイメージ番号の使用状況)を管理するためのテーブルである。物理パス番号は物理パスの番号を示す。Port#はホスト接続DKCのイニシエータポートの番号を示す。DIDは外部接続DKCのターゲットポートのIDを示す。DEV Addressはアクセス先の論理アドレスを示す。CHLIMG#はチャネルイメージ番号を示す。JOB#はジョブの番号を示す。MSG#はMSGの番号を示す。使用中BitはMSGの処理を実行中であることを示す。同一の物理パスを使用して同一の論理アドレスにアクセスするには、CHLIMG#を変える必要がある。
次に、チャネル制御プロセッサ54は、各物理パスを介して外部接続DKCに各MSGを転送する指示を各プロトコル制御プロセッサ63に与える(S108)。すると、各プロトコル制御プロセッサ63は、各MSGをイニシエータポート51の送信用レジスタ61に格納し、外部接続パス300を介して外部接続DKCのターゲットポート81へ各MSGを送信する(S109)。
このように、物理パス本数に応じてCCWチェインを分割し、外部接続DKCにおいて各MSGを複数のプロセッサによって同時に並行処理することで、ホスト装置10からの指示に対するレスポンス性能を向上させることができる。
次に、物理パスのビジー率に応じてCCWチェインを分割する処理の詳細について、図5を参照しながら説明する。S201〜S203、S207〜S211の処理ステップはそれぞれ上述したS101〜S103、S105〜S110の処理ステップと同様であるため、詳細な説明を省略する。
チャネル制御プロセッサ54は、外部接続DKC管理テーブルを参照して、物理パス番号をチェックする(S204)。次に、チャネル制御プロセッサ54は、性能モニタリングテーブル(図15)を参照して、各物理パスのビジー率をチェックし(S205)、各MSGのチェイン数を算出する(S206)。ビジー率とは、単位時間あたりの物理パスの仕事時間である。各MSGのチェイン数は、例えば、ビジー率が高い程、チェイン数を少なくし、ビジー率が低い程、チェイン数を多くすることにより、各物理パスのビジー率を均等化し、負荷を分散させることができる。例えば、ビジー率が5:3:2の3本の物理パスがあり、チェイン数20のCCWを3つのMSGに分割する場合、各MSGのチェイン数は、ビジー率に反比例するように設定することで、5,7,8となる。
このように、物理パスのビジー率に応じて、MSGのチェイン数を変えることで、物理パスの負荷を分散させることができ、ホスト装置10からの指示に対するレスポンス性能を向上させることができる。尚、ビジー率に替えて、各パスのI/Oレスポンスタイムや通信トラフィック量等を用いて、各MSGのチェイン数を変えてもよい。
次に、Buffer-to-Bufferクレジット制御(BBクレジット制御)の概要について、図17を参照しながら説明する。
ファイバチャネルプロトコルでは、リンク上のフレームサイズは最大2KBである。通常、リンク上のデータ/制御情報の送受信では、複数のフレームが送受信される。このとき、外部接続DKCのターゲットポートがNフレームを格納できるだけのバッファを保有していれば、ホスト接続DKCのイニシエータポートは、当該ターゲットポートに対してNフレームのデータ/制御情報を送信できるが、それ以上のフレームを送信するには、当該ターゲットポートのバッファに空きがなければならない。Buffer-to-Bufferクレジット制御では、隣接ポート間で相手ポートのBBクレジット数及びバッファ開放通知を行う。
同図において、ポートA,Bは隣接ポートであり、例えば、ファイバチャネルプロトコルで接続されている。ポートA,Bともに2KBの受信バッファを4面保有している。リンクイニシャライゼーション処理時に互いのBBクレジット数(=4)を通知する。具体的には、リンク確立時のFLOGIN Frame、又はPLOGIN Frameにて、バッファクレジット数を通知する。また、各ポートは、空きバッファが生じると、バッファ開放通知(R−RDY)を行う。
BBクレジット数に応じてCCWチェインを分割する処理について、図6を参照しながら説明する。S301〜S304、S307〜S311の各処理ステップは、それぞれ上述したS201〜S204、S207〜S211の各処理ステップと同様であるため、詳細な説明を省略する。
チャネル制御プロセッサ54は、第二のパス管理テーブル(図16)を参照して、外部接続DKCのターゲットポートのBBクレジット数を参照する(S305)。図16に示すように、第二のパス管理テーブルには、上述した第一のパス管理テーブル(図12)に加えて、ターゲットポートのBBクレジット数がリンクイニシャライゼーション時に物理パス毎に格納される。チャネル制御プロセッサ54は、BBクレジット数の比率を基に各MSGのチェイン数を算出する(S306)。例えば、BBクレジット数の比率が5:3:2の3本の物理パスが存在する場合において、CCWチェイン数が20であるとすると、各物理パスに送信されるMSGのチェイン数は、それぞれ10,6,4となる。
このように、BBクレジット数に応じて、MSGのチェイン数を変えることで、適切なフローコントロールを実現しつつ、ホスト装置10からの指示に対するレスポンス性能も向上させることができる。
次に、同一の外部接続パス(物理パス)300に複数の論理パスを設定し、CCWチェインを分割する処理の概要について、図7を参照しながら説明する。
複数のCCWチェインが同一の物理パスを流れる場合、各CCWチェインのチャネルイメージ番号がそれぞれ異なっていれば、外部接続DKCはそれぞれ異なるホスト装置から送信されたCCWチェインであると認識する(例えば、ホスト装置10が論理分割する機能を備えている場合には、外部接続DKCは、論理的に異なるホスト装置から送信されたCCWチェインであると認識する。)。つまり、同一の物理パスを流れるCCWチェインのチャネルイメージ番号が互いに重複しないように設定することで、同一の物理パスに複数の論理パスを設定することが可能となる。例えば、同図に示すように、CHLIMG#1のCCWチェインがホスト装置10からホスト接続DKCに送信された場合を考える。ホスト接続DKCは、例えば、このCCWチェインを二つのMSG1,2に分割する。一方のMSG1のチャネルイメージ番号は、CHLIMG#1であり、他方のMSG2のチャネルイメージ番号は、CHLIMG#2である。各MSG1,2のプリフィクスコマンドで指定される書き込み先頭アドレス、書き込み範囲、CCWチェイン数、CHLIMG#等は再設定される。
外部接続DKCは、各MSG1,2をそれぞれ異なるホスト装置からのCCWチェインであると認識し、これらのコマンドの並行処理を行う。つまり、外部接続DKCにおいては、あるプロセッサがMSG1を処理している最中に、他のプロセッサがMSG2を処理するので、MSG1,2の並行処理が可能になる。同一の物理パスにN本の論理パスを設定し、各論理パスを流れるMSGのチェイン数を略同一に設定すれば、外部接続DKCにおけるCCWチェインの処理時間は、従来方式と比較して、約1/Nとなる。外部接続DKCにおいては、各MSG1,2は別々のCCWチェインとして処理されているので、外部接続DKCからホスト接続DKCには、それぞれ別々のライト処理完了を示す完了報告(STS)1,2が送信される。ホスト接続DKCは、各MSG1,2の完了報告1,2を受信すると、ホスト装置10に対して、ライト処理完了を示す一つの完了報告(STS)を送信する。
尚、複数の物理パスのそれぞれに対して、複数の論理パスを設定し、CCWチェインを上述の如く分割処理することもできる。
次に、論理パス本数に応じてCCWチェインを分割する処理の詳細について、図8を参照しながら説明する。S401〜S404、S406〜S410の各処理ステップは、それぞれ上述したS101〜S104、S106〜S110の各処理ステップと同様であるため、詳細な説明を省略する。
チャネル制御プロセッサ54は、CCWチェインを論理パス本数の数だけ分割し、各MSGを作成する(S405)。各MSGのチェイン数は、CCWチェイン数(ドメインカウント)を論理パス本数で割った値となる。尚、第一のパス管理テーブル(図12)から未使用のCHLIMG#を検索し、同テーブルにJOB#、MSG#、使用中Bitを登録する際に、同一の物理パスを使用して同一の論理アドレスにアクセスするには、CHLIMG#が重複しないように設定する必要がある。
次に、ホスト接続DKCが外部接続DKCから応答を受信したときの処理について、図9を参照しながら説明する。
チャネル制御プロセッサ54は、外部接続DKCからMSGの処理終了を示す完了報告(STS)を受領すると(S501)、パス管理テーブルを参照して、Port#,DID,デバイスアドレス,CHLIMG#を基に、処理が終了したMSGのJOB#とMSG#を検索する(S502)。そして、チャネル制御プロセッサ54は、コマンド制御ジョブテーブルのMSG完了制御情報の中から処理が終了したMSGのMSG完了Bitを"1"にする(S503)。
次に、チャネル制御プロセッサ54は、コマンド制御ジョブテーブルを参照して、ジョブの異常終了Bitが"1"であるか否かをチェックする(S504)。ジョブの異常終了Bitが"1"である場合には(S504;YES)、後述する各処理ステップを実行する必要がないので、全てのMSGの処理が完了したか否かを判定する(S508)。一部のMSGの処理が終了してない場合には(S508;NO)、当該一部のMSGの応答を待つ(S509)。全てのMSGの処理が終了した場合には(S508;YES)、チャネル制御プロセッサ54は、コマンド制御ジョブテーブルのJOB状態を"Not Active"にし、更に、異常終了Bit、MSG数、及びMSG完了制御情報をクリアして、ジョブの終了処理を行う(S517)。
一方、ジョブの異常終了Bitが"0"である場合には(S504;NO)、チャネル制御プロセッサ54は、ジョブが正常に終了したか否かを判定する(S505)。ジョブが異常に終了した場合には(S505;NO)、チャネル制御プロセッサ54は、コマンド制御ジョブテーブルの異常終了Bitを"1"に設定し(S506)、異常終了STSを通信用バッファ53へ転送し、ホスト装置10への送信指示をプロトコル制御プロセッサ63に与える(S507)。その後、チャネル制御プロセッサ54は、上述したステップS508,S509の処理を行う。
一方、ジョブが正常に終了した場合には(S505;YES)、チャネル制御プロセッサ54は、正常に終了したジョブがリード系コマンドであるか、或いはライト系コマンドであるかを判定する(S510)。ライト系コマンドである場合には、チャネル制御プロセッサ54は、全てのMSGの処理が完了しているか否かを判定する(S511)。一部のMSGの処理が完了してない場合には(S511;NO)、チャネル制御プロセッサ54は、当該一部のMSGの応答を待つ(S509)。全てのMSGの処理が完了した場合には(S511;YES)、チャネル制御プロセッサ54は、正常終了を示す完了報告(STS)を通信用バッファ53に転送し、ホスト装置10への送信指示をプロトコル制御プロセッサ63に与える(S512)。その後、チャネル制御プロセッサ54は、上述したステップS517の処理を行う。
一方、リード系コマンドである場合には、チャネル制御プロセッサ54は、キャッシュメモリ31上のデータ格納領域に各MSGのリードデータを格納する(S513)。そして、チャネル制御プロセッサ54は、全てのMSGの処理が完了したか否かを判定し(S514)、一部のMSGの処理が完了してない場合には(S514;NO)、当該一部のMSGの応答を待つ(S515)。全てのMSGの処理が完了した場合には(S514;YES)、チャネル制御プロセッサ54は、データ格納領域からリードデータを読み出して、これを通信用バッファ53に転送し、ホスト装置10への送信指示をプロトコル制御プロセッサ63に与える(S516)。その後、チャネル制御プロセッサ54は、上述したステップS517の処理を行う。
次に、ホスト接続DKCが外部接続DKCから各MSGのリード完了報告を受信した場合において、全てのMSGのリードデータが揃う前に、ホスト装置10に対してリードデータを先出しする処理について、図10を参照しながら説明する。S601〜S610の各処理ステップは、それぞれ上述したS501〜S510の各処理ステップと同様であるため、詳細な説明を省略する。
正常に終了したジョブがリード系コマンドである場合に、チャネル制御プロセッサ54は、リード完了報告を受信した当該MSG以前の全てのMSGの処理が完了しているか否かを判定する(S613)。つまり、リード完了報告を受信した当該MSGのMSG#がNである場合に、MSG#0〜MSG#(N−1)のMSGの処理が完了しているか否かを判定する。MSG#0〜MSG#(N−1)のうち何れかのMSGの処理が完了してない場合には(S613;NO)、未完了MSGの処理完了を待つ(S617)。
一方、MSG#0〜MSG#(N−1)の全てのMSGの処理が完了した場合には(S613;YES)、チャネル制御プロセッサ54は、データ格納領域からMSG#NのMSGのリードデータを読み出し、これを通信用バッファ53に転送し、ホスト装置10への送信指示をプロトコル制御プロセッサ63に与える(S614)。
次に、チャネル制御プロセッサ54は、全てのMSGのリードデータの送信が完了したか否かを判定する(S615)。一部のMSGの処理が完了してない場合には(S615;NO)、Nの値を"1"だけインクリメントし、MSG#(N+1)のMSGの処理が完了したか否かを判定する(S616)。MSG#(N+1)以降の処理のMSGのうち何れかのMSGの処理が完了してない場合には(S616;NO)、当該MSGの処理の完了を待つ(S617)。
一方、MSG#(N+1)のMSGの処理が完了した場合には(S616;YES)、チャネル制御プロセッサ54は、データ格納領域からMSG#(N+1)のMSGのリードデータを読み出し、これを通信用バッファ53に転送し、ホスト装置10への送信指示をプロトコル制御プロセッサ63に与える(S614)。
このようにして、全てのMSGの処理が完了するまで、S614〜S616のループを繰り返し実行する。全てのMSGの処理が完了すると(S615;YES)、チャネル制御プロセッサ54は、正常終了を示す完了報告(STS)を通信用バッファ53に転送し、ホスト装置10への送信指示をプロトコル制御プロセッサ63に与える(S618)。次に、チャネル制御プロセッサ54は、コマンド制御ジョブテーブルのJOB状態を"Not Active"にし、更に、異常終了Bit、MSG数、及びMSG完了制御情報をクリアして、ジョブの終了処理を行う(S619)。
このように、全てのMSGのリードデータが揃う前に、ホスト装置10に対してリードデータを先出しすることにより、ホスト装置10からの指示に対するレスポンス性能を向上させることができる。
次に、CCWチェインの統合処理について、図18を参照しながら説明する。ホスト接続DKCが複数のホスト装置A,B,Cに接続している場合において、各ホスト装置A,B,Cからコマンド(CCWチェイン)を受信すると、チャネル制御プロセッサ54は、各ホスト装置A,B,Cからのコマンドを統合して一つのコマンドを新たに生成し、この新たなコマンドを外部接続DKCに送信することもできる。例えば、各ホスト装置A,B,Cからの各コマンドをトラック順に並べ直した場合に、それがシーケンシャルアクセスになるような場合においては、各コマンドを統合し、シーケンシャルアクセス用の新たな一つのコマンドに組み替えることが可能である。
同図に示す例では、ホスト装置AからはCYL#0のTRK#1のデータを読み出すコマンドが、ホスト装置BからはCYL#0のTRK#2のデータを読み出すコマンドが、ホスト装置CからはCYL#0のTRK#3のデータを読み出すコマンドが、それぞれ送信されている。これらのコマンドをトラック順に並べなおすと、CYL#0のTRK#1〜TRK#3のデータをシーケンシャルに読み出すコマンドに置き換えることができる。チャネル制御プロセッサ54は、これらのコマンドを統合した新たなコマンドを生成し、外部接続DKCに送信する。すると、外部接続DKCからは、CYL#0のTRK#1〜TRK#3からシーケンシャルに読み出したリードデータがホスト接続DKCへ送られてくる。チャネル制御プロセッサ54は、このリードデータを分割し、要求元のホスト装置A,B,Cのそれぞれに対して、CYL#0のTRK#1のリードデータ、CYL#0のTRK#2のリードデータ、CYL#0のTRK#3のリードデータを送信する。
このように、複数のホスト装置からの複数のコマンドを統合することによって、コマンド受信側のオーバーヘッドは低下するので、レスポンス性能が向上する。また、外部接続DKCへの送信フレーム数も少なくなるので、レスポンス性能が向上する。例えば、上記の例において、従来では、外部接続DKCは、少なくとも3以上のBBクレジット数を保有していなければならないが、本実施形態によれば、外部接続DKCは、少なくとも1以上のBBクレジット数を保有していればよい。また、コマンドを統合することによって、先読み機能が働くので、レスポンス性能が向上する。
CCWチェインを統合する他の例について、図19を参照しながら説明する。ホスト接続DKCは、ホスト装置から受信したCCWチェインをコマンド単位で統合し、外部接続DKCに送信することもできる。例えば、外部接続DKCのシリンダ番号0のトラック番号1のレコード0〜レコード3にデータを書き込む指示を与えるためのCCWチェインとして、ホスト装置からホスト接続DKCにDX/LOC/WRUPD/WRUPD/WRUPD/WRUPDが送信された場合を考える。1レコードのデータを書き込む指示を与えるWRUPDが複数発行されたということは、複数のレコードにデータを書き込む指示が与えられたことを意味するため、複数のWRUPDコマンドは、WRTRKDATAコマンドに置換することができる。また、DX/LOCは、どこからデータを書き込むかを示すレコードの位置を決定するコマンドであるから、このコマンドはPrefixコマンドに置換することができる。上記の例では、ホスト接続DKCは、ホスト装置から受信したDX/LOC/WRUPD/WRUPD/WRUPD/WRUPDを、Prefix/WRTRKDATAに置換して、外部接続DKCに送信することができる。このコマンド統合により、CCWチェイン数は、6から2になる。ホスト接続DKCは、外部接続DKCから書き込み完了を示す完了報告を受信すると、ホスト装置に対して、書き込み完了を示す完了報告を送信する。
CCWチェインをコマンド単位で統合する例として、上述した例の他に、例えば、複数のWRCKDをWRFULLTRKに置換する例や、複数のRDCKDをRDTRKに置換する例などを挙げることができる。
コマンド単位でのCCWチェインの統合処理の詳細について、図20を参照しながら説明する。S701,S702,S706〜S709の各処理ステップは、それぞれ上述したS101,S102,S107〜S110の各処理ステップと同様であるため、詳細な説明を省略する。
上述の如く、ホスト装置10からホスト接続DKCに送信されたコマンド(CCWチェイン)は、ポート51を経由して受信用レジスタ62に格納され、更に、通信用バッファ53に転送される。チャネル制御プロセッサ54は、通信用バッファ53を参照し、コマンド種別をチェックする(S703)。コマンド統合可能なコマンドであれば(S704;YES)、チャネル制御プロセッサ54は、コマンドを統合し、新たなMSGを生成する(S705)。一方、コマンド統合可能なコマンドでなければ(S704;NO)、チャネル制御プロセッサ54は、S706の処理に進む。
CCWチェインをコマンド単位で統合することにより、コマンド受信側(外部接続DKC)のオーバーヘッドは低減し、レスポンス性能が向上する。また、ホスト接続DKCと外部接続DKCとの間で送受信されるフレーム数が減少するので、性能が向上する。例えば、上記の例では、ホスト接続DKCから外部接続DKCに、DX/LOC/WRUPD/WRUPD/WRUPD/WRUPDを送信するには、外部接続DKCのターゲットポートのBBクレジット数は6以上でなければならいが、Prefix/WRTRKDATAであれば、外部接続DKCのターゲットポートのBBクレジット数は2以上であればよい。ホスト接続DKCと外部接続DKCとの間の距離が長距離になると、ターゲットポートのBBクレジット数に応じて性能が変わるので、コマンド統合をすることにより、性能を向上させることができる。
次に、ホスト装置からコマンド(CCWチェイン)を受信したホスト接続DKCがコマンドを統合するか、或いは分割するかを判断し、コマンド統合又はコマンド分割をする例について説明する。
チャネル制御プロセッサ54がコマンドを統合するか或いは分割するかを判断する情報として、例えば、外部接続DKCのターゲットポートのバッファ使用率を用いることができる。バッファ使用率とは、バッファ使用数をBBクレジット数で除した値である。ターゲットポートのバッファ使用率が高いというのは、ターゲットポートの空きバッファ数が少ないことを意味するので、このような場合に、コマンド分割を実行して複数のコマンドをターゲットポートに送信しようとしても、ターゲットポートの空きバッファが足りないという理由でコマンド送信できない場合がある。そこで、ターゲットポートのバッファ使用率が高い場合には、コマンド統合を実行することで、ターゲットポートへ送信するフレーム数を減らしつつ、見かけ上、多くのコマンドを外部接続DKCに発行することができる。
一方、ターゲットポートのバッファ使用率が低いというのは、ターゲットポートの空きバッファ数が多いことを意味するので、このような場合には、コマンド分割を実行して複数のコマンドをターゲットポートに送信し、外部接続DKCにてこれら複数のコマンドを並行処理することで、処理速度の向上を実現できる。
このように、ターゲットポートのバッファ使用率に応じて、コマンド統合或いはコマンド分割を使い分けることにより、システム全体の処理能力を向上させることができる。特に、ホスト接続DKCと外部接続DKCとを接続する外部接続パスが長距離に及ぶ場合には、イニシエータポートからターゲットポートにフレームが送信される迄に多くの時間を要するので、ターゲットポートのバッファが空きにくくなる。このような場合でも、バッファ使用率に応じて、コマンド統合或いはコマンド分割を使い分けることにより、システム全体の処理能力を最大限に引き出すことができる。
コマンド統合/分割処理の詳細について、図21を参照しながら説明する。S801,S802,S808の各処理ステップは、それぞれ上述したS101,S102,S110の各処理ステップと同様であるため、詳細な説明を省略する。
チャネル制御プロセッサ54は、デバイス管理テーブル(図13)と外部接続DKC管理テーブル(図14)とから、外部接続パスの物理パス番号を求める(S803)。次に、チャネル制御プロセッサ54は、バッファ使用率監視テーブル(図23)を参照して、S803で求めた物理パス番号を有する物理パスの分割Bitをチェックする(S804)。
図23に示すバッファ使用監視テーブルは、各物理パスのバッファ使用率を監視するためのテーブルである。バッファ使用率(%)には、モニタリング実行時間内における各物理パスのバッファ使用率の平均値が格納される。上述の如く、バッファ使用率とは、バッファ使用数をBBクレジット数で除した値である。ターゲットポートのバッファ使用数は図22のバッファ使用数カウントテーブルから求めることができる。このバッファ使用数カウントテーブルは、ターゲットポートのバッファ使用数をカウントするためのテーブルである。各物理パスの使用数カウンタには、ホスト接続DKCと外部接続DKCとの間のリンクイニシャライゼーション時に、初期値として"0"が格納される。その後、ターゲットポートに1フレーム送信される毎に+1がカウントされ、イニシエータポートがターゲットポートからバッファ開放通知(R−RDY)を受信する毎に−1がカウントされていく。一方、ターゲットポートのBBクレジット数は、第二のパス管理テーブル(図16)から求めることができる。
図23に示すように、バッファ使用率が所定の閾値よりも高い場合には、分割Bitには"0"が格納され、バッファ使用率が所定の閾値以下の場合には、分割Bitには"1"が格納される。物理パスの分割Bitが"0"に設定されるということは、その物理パスを流れるコマンドは統合されるべきであることを意味する。一方、物理パスの分割Bitが"1"に設定されるということは、その物理パスを流れるコマンドは分割されるべきであることを意味する。図23に示す例では、バッファ使用率の閾値として、80%が設定されているので、バッファ使用率75%の物理パス番号0x00の物理パスの分割Bitは、"0"に設定されている。一方、バッファ使用率95%の物理パス番号0x01の物理パスの分割Bitは、"1"に設定されている。他の物理パスについても、同様にして、分割Bitの値が設定される。
分割Bitが"0"に設定されている場合には(S805;NO)、チャネル制御プロセッサ54は、コマンド統合を行う(S806)。コマンド統合の具体的な処理方法として、例えば、上述の如く、各コマンドをトラック順に並べ直した場合に、それがシーケンシャルアクセスになるような場合においては、これらのコマンドをシーケンシャルアクセス用の新たな一つのコマンドに置換してもよく、或いはコマンド単位で統合してもよい。
一方、分割Bitが"1"に設定されている場合には(S805;YES)、チャネル制御プロセッサ54は、コマンド分割を行う(S807)。コマンド分割の具体的な処理方法として、例えば、上述の如く、パス本数の数だけコマンドを分割してもよく、或いは各パスのビジー率、各パスのI/Oレスポンスタイム、各パスに接続されるターゲットポートのBBクレジット数に応じて、各パスに送信されるCCWチェインのチェイン数を変えてもよい。また、コマンドを分割する単位として、例えば、トラック単位又はシリンダ単位で分割してもよい。
尚、チャネル制御プロセッサ54がコマンドを統合するか或いは分割するかを判断する情報としては、上述のバッファ使用率に限られるものではなく、各種の情報を用いることができる。例えば、図24に示す空きバッファ数監視テーブルを用いてもよい。この空きバッファ数監視テーブルは、外部接続DKCのターゲットポートの空きバッファ数を監視するためのテーブルである。各物理パスの空きバッファ数には、初期値としてBBクレジット数が格納される。その後、イニシエータポートからターゲットポートに1フレーム送信される毎に−1がカウントされ、イニシエータポートがターゲットポートからバッファ開放通知(R−RDY)を受信する毎に+1がカウントされていく。空きバッファ数が所定の閾値よりも多い場合には、分割Bitには"1"が格納され、空きバッファ数が所定の閾値以下の場合には、分割Bitには"0"が格納される。図24に示す例では、空きバッファ数の閾値として、3が設定されているので、空きバッファ数2の物理パス番号0x00の物理パスの分割Bitは、"0"に設定されている。一方、空きバッファ数10の物理パス番号0x01の物理パスの分割Bitは、"1"に設定されている。他の物理パスについても、同様にして、分割Bitの値が設定される。
上記の他に、例えば、チャネル制御プロセッサ54は、外部接続DKCのターゲットポートのBBクレジット数に応じて、コマンドを統合するか或いは分割するかを判断してもよい。BBクレジット数が所定の閾値以上であれば、コマンドを分割し、BBクレジット数が所定の閾値未満であれば、コマンドを統合する。
更に他の例として、チャネル制御プロセッサ54は、ストレージシステムの性能をモニタリングして、コマンドを統合するか、或いは分割するかを判断してもよい。チャネル制御プロセッサ54は、ある一定期間の間、コマンドを統合したり或いは分割したりして、それぞれの場合における外部接続DKCのコマンド処理時間を測定する。その処理時間に応じて、コマンドを統合するか或いは分割するかを判断してもよい。
尚、上述の説明では、外部接続DKCの実ボリュームがホスト接続DKCの仮想デバイスにマッピングされているストレージシステムを例に挙げて説明したが、必ずしも外部接続DKCの実ボリュームがホスト接続DKCの仮想デバイスにマッピングされている必要はない。本発明は、ホスト接続DKCが外部接続DKCに接続されているストレージシステムにおいて、ホスト装置からのコマンドをホスト接続DKCが外部接続DKCに転送するように構成されているストレージシステムについても適用可能である。このようなストレージシステムにおけるコマンド(CCWチェイン)の分割或いは統合の具体的な処理方法については、上述の処理方法と同様である。
本実施形態のストレージシステムの主要構成図である。 記憶制御装置内の論理的な記憶階層の説明図である。 物理パス本数に応じてCCWチェインを分割する処理の説明図である。 物理パス本数に応じてCCWチェインを分割する処理の流れ図である。 ビジー率に応じてCCWチェインを分割する処理の流れ図である。 BBクレジットに応じてCCWチェインを分割する処理の流れ図である。 論理パス本数に応じてCCWチェインを分割する処理の説明図である。 論理パス本数に応じてCCWチェインを分割する処理の流れ図である。 分割されたCCWチェインに対する応答処理の流れ図である。 分割されたCCWチェインに対する応答処理の流れ図である。 コマンド制御ジョブテーブルの説明図である。 第一のパス管理テーブルの説明図である。 デバイス管理テーブルの説明図である。 外部接続DKC管理テーブルの説明図である。 性能モニタリングテーブルの説明図である。 第二のパス管理テーブルの説明図である。 BBクレジット制御の説明図である。 CCWチェインを統合する処理の概要図である。 コマンド単位でCCWチェインを統合する処理の説明図である。 コマンド単位でCCWチェインを統合する処理の流れ図である。 コマンド統合/分割処理を示す流れ図である。 バッファ使用数カウントテーブルの説明図である。 バッファ使用率監視テーブルの説明図である。 バッファ数監視テーブルの説明図である。
符号の説明
10…ホスト装置 20…ホスト接続記憶制御装置 30…ディスクコントローラ 40…ディスク部 50…チャネル制御部 54…チャネル制御プロセッサ 60…プロトコル制御部 90…外部接続記憶制御装置 100…ストレージシステム

Claims (22)

  1. 上位装置及び外部接続記憶制御装置に接続され、前記上位装置からのリクエストに応じたデータ処理を行う記憶制御装置であって、
    前記外部接続記憶制御装置の実ボリュームがマッピングされた仮想デバイスと、
    前記上位装置からのリクエストに応じて、前記仮想デバイスにマッピングされた前記実ボリュームへのアクセスを制御するチャネル制御部と、を備え、
    前記チャネル制御部は、前記上位装置が前記実ボリュームにアクセスするために前記上位装置から送信されたCCWチェインを分割し、分割された複数のCCWチェインのそれぞれを前記外部接続記憶制御装置に送信する、記憶制御装置。
  2. 請求項1に記載の記憶制御装置であって、
    前記チャネル制御部は、分割された複数のCCWチェインのそれぞれを、複数のパスに分散させて前記外部接続記憶制御装置に送信する、記憶制御装置。
  3. 請求項2に記載の記憶制御装置であって、
    前記パスは、前記記憶制御装置と前記外部接続記憶制御装置とを接続する物理パスである、記憶制御装置。
  4. 請求項2に記載の記憶制御装置であって、
    前記パスは、前記記憶制御装置と前記外部接続記憶制御装置とを接続する同一の物理パスに設定された複数の論理パスである、記憶制御装置。
  5. 請求項2に記載の記憶制御装置であって、
    前記チャネル制御部は、前記CCWチェインをパス本数分に分割する、記憶制御装置。
  6. 請求項2に記載の記憶制御装置であって、
    前記チャネル制御部は、各パスのビジー率に応じて、各パスに送信されるCCWチェインのチェイン数を変える、記憶制御装置。
  7. 請求項2に記載の記憶制御装置であって、
    前記チャネル制御部は、各パスのI/Oレスポンスタイムに応じて、各パスに送信されるCCWチェインのチェイン数を変える、記憶制御装置。
  8. 請求項2に記載の記憶制御装置であって、
    前記チャネル制御部は、前記パスに接続される前記外部接続記憶制御装置のターゲットポートのBBクレジット数に応じて、各パスに送信されるCCWチェインのチェイン数を変える、記憶制御装置。
  9. 請求項2に記載の記憶制御装置であって、
    前記チャネル制御部は、前記CCWチェインをトラック単位又はシリンダ単位で複数のCCWチェインに分割する、記憶制御装置。
  10. 請求項2に記載の記憶制御装置であって、
    前記チャネル制御部は、前記分割された複数のCCWチェインの全ての応答が前記外部接続記憶制御装置から返ってきた段階で、前記上位装置への完了報告を行う、記憶制御装置。
  11. 請求項1に記載の記憶制御装置であって、
    前記チャネル制御部は、前記上位装置からのリクエストが前記実ボリュームからのデータの読み出しである場合に、前記分割された複数のCCWチェインのうち一部のCCWチェインの応答を前記外部接続記憶制御装置から受信すると、前記分割された複数のCCWチェインの全ての応答を待つことなく、リードデータの順序性を維持した上で前記上位装置にリードデータの先出しを行う、記憶制御装置。
  12. 複数の上位装置及び外部接続記憶制御装置に接続され、前記複数の上位装置からのリクエストに応じたデータ処理を行う記憶制御装置であって、
    前記外部接続記憶制御装置の実ボリュームがマッピングされた仮想デバイスと、
    前記上位装置からのリクエストに応じて、前記仮想デバイスにマッピングされた前記実ボリュームへのアクセスを制御するチャネル制御部と、を備え、
    前記チャネル制御部は、前記複数の上位装置のそれぞれが前記実ボリュームにアクセスするために前記複数の上位装置のそれぞれから送信された複数のコマンドを、一つのコマンドに置換し、前記一つのコマンドを前記外部接続記憶制御装置に送信する、記憶制御装置。
  13. 請求項12に記載の記憶制御装置であって、
    前記チャネル制御部は、前記複数の上位装置のそれぞれから送信された複数のコマンドを並べ替えた場合に、前記実ボリュームへのシーケンシャルアクセスになることを条件として、前記複数のコマンドを前記一つのコマンドに置換する、記憶制御装置。
  14. 上位装置に接続された第一の記憶制御装置と、前記第一の記憶制御装置に接続された第二の記憶制御装置とを備えるストレージシステムであって、
    前記第一の記憶制御装置は、
    前記第二の記憶制御装置の実ボリュームがマッピングされた仮想デバイスと、
    前記上位装置からのリクエストに応じて、前記仮想デバイスにマッピングされた前記実ボリュームへのアクセスを制御するチャネル制御部と、を備え、
    前記チャネル制御部は、前記上位装置が前記実ボリュームにアクセスするために前記上位装置から送信されたCCWチェインを分割し、分割された複数のCCWチェインのそれぞれを前記外部接続記憶制御装置に送信し、
    前記第二の記憶制御装置は、
    前記分割された複数のCCWチェインのそれぞれを同時に並行処理する、ストレージシステム。
  15. 請求項14に記載のストレージシステムであって、
    前記チャネル制御部は、分割された複数のCCWチェインのそれぞれを、複数のパスに分散させて前記第二の記憶制御装置に送信する、ストレージシステム。
  16. 請求項15に記載のストレージシステムであって、
    前記パスは、前記第一の記憶制御装置と前記第二の記憶制御装置とを接続する物理パスである、ストレージシステム。
  17. 請求項15に記載のストレージシステムであって、
    前記パスは、前記第一の記憶制御装置と前記第二の記憶制御装置とを接続する同一の物理パスに設定された複数の論理パスである、ストレージシステム。
  18. 請求項15に記載のストレージシステムであって、
    前記チャネル制御部は、前記CCWチェインをパス本数分に分割する、ストレージシステム。
  19. 請求項15に記載のストレージシステムであって、
    前記チャネル制御部は、前記上位装置からのリクエストが前記実ボリュームからのデータの読み出しである場合に、前記分割された複数のCCWチェインのうち一部のCCWチェインの応答を前記第二の記憶制御装置から受信すると、前記分割された複数のCCWチェインの全ての応答を待つことなく、リードデータの順序性を維持した上で前記上位装置にリードデータの先出しを行う、ストレージシステム。
  20. 請求項15に記載のストレージシステムであって、
    前記第一の記憶制御装置は、複数の上位装置に接続されており、
    前記チャネル制御部は、前記複数の上位装置のそれぞれが前記実ボリュームにアクセスするために前記複数の上位装置のそれぞれから送信された複数のコマンドを、一つのコマンドに置換し、前記一つのコマンドを前記第二の記憶制御装置に送信する、ストレージシステム。
  21. 上位装置に接続された第一の記憶制御装置と、物理パスを介して前記第一の記憶制御装置に接続された第二の記憶制御装置とを備えるストレージシステムであって、
    前記第一の記憶制御装置は、前記上位装置が前記第二の記憶制御装置の記憶デバイスにアクセスするために前記上位装置から送信されたCCWチェインを分割し、分割された複数のCCWチェインのそれぞれを、同一の物理パスに設定された複数の論理パスのそれぞれに送信し、
    前記第二の記憶制御装置は、前記分割された複数のCCWチェインのそれぞれを同時に並行処理する、ストレージシステム。
  22. 請求項21に記載のストレージシステムであって、
    前記第二の記憶制御装置は、前記第一の記憶制御装置に接続されるポートを備え、
    前記第一の記憶制御装置は、前記第二の記憶制御装置の備える前記ポートの処理状況についての情報を取得し、前記取得した処理状況に応じて、前記上位装置から送信されるCCWチェインを分割するか統合するかを決定する、ストレージシステム。

JP2005132681A 2005-04-28 2005-04-28 記憶制御装置及びストレージシステム Pending JP2006309579A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005132681A JP2006309579A (ja) 2005-04-28 2005-04-28 記憶制御装置及びストレージシステム
US11/173,972 US20060282573A1 (en) 2005-04-28 2005-06-30 Storage controller and storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005132681A JP2006309579A (ja) 2005-04-28 2005-04-28 記憶制御装置及びストレージシステム

Publications (1)

Publication Number Publication Date
JP2006309579A true JP2006309579A (ja) 2006-11-09

Family

ID=37476380

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005132681A Pending JP2006309579A (ja) 2005-04-28 2005-04-28 記憶制御装置及びストレージシステム

Country Status (2)

Country Link
US (1) US20060282573A1 (ja)
JP (1) JP2006309579A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008136133A1 (ja) * 2007-04-20 2008-11-13 Media Logic Corp. デバイスコントローラ
JP2009053963A (ja) * 2007-08-27 2009-03-12 Fuji Electric Systems Co Ltd プログラマブルコントローラ、そのcpuモジュール
JP2010009622A (ja) * 2009-10-07 2010-01-14 Media Logic Corp デバイスドライバ
JP2010524105A (ja) * 2007-04-11 2010-07-15 インターナショナル・ビジネス・マシーンズ・コーポレーション データ・ストレージ・システムによって処理されたデータを識別するための方法及びシステム
JP2013516667A (ja) * 2010-04-27 2013-05-13 株式会社日立製作所 ThinProvisioningが適用された、メインフレーム系のストレージ装置
JP2013210847A (ja) * 2012-03-30 2013-10-10 Fujitsu Ltd ストレージシステム、ストレージ制御方法およびストレージ制御プログラム
JP2015520899A (ja) * 2012-09-25 2015-07-23 株式会社日立製作所 ストレージ装置、及びストレージ装置の制御方法
WO2018116453A1 (ja) * 2016-12-22 2018-06-28 株式会社日立製作所 アクセスシステム及びアクセス方法
JP2019533244A (ja) * 2016-09-30 2019-11-14 華為技術有限公司Huawei Technologies Co.,Ltd. 不揮発性メモリの持続方法およびコンピューティングデバイス

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7660911B2 (en) * 2006-12-20 2010-02-09 Smart Modular Technologies, Inc. Block-based data striping to flash memory
JP2009026240A (ja) * 2007-07-23 2009-02-05 Hitachi Ltd 記憶制御システムおよび記憶制御方法
JP5609490B2 (ja) * 2010-09-27 2014-10-22 セイコーエプソン株式会社 記憶装置、ホスト装置、回路基板、液体容器及びシステム
TW201712472A (zh) * 2015-09-18 2017-04-01 2419265安大略公司 具有複數個記憶體裝置的固態記憶體裝置
KR102672193B1 (ko) * 2018-12-12 2024-06-07 에스케이하이닉스 주식회사 전자 장치

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5740465A (en) * 1992-04-08 1998-04-14 Hitachi, Ltd. Array disk controller for grouping host commands into a single virtual host command
US5459857A (en) * 1992-05-15 1995-10-17 Storage Technology Corporation Fault tolerant disk array data storage subsystem
JPH06103213A (ja) * 1992-09-18 1994-04-15 Hitachi Ltd 入出力装置
JP3287203B2 (ja) * 1996-01-10 2002-06-04 株式会社日立製作所 外部記憶制御装置及び外部記憶制御装置間データ転送方法
US5951691A (en) * 1997-05-16 1999-09-14 International Business Machines Corporation Method and system for detection and reconstruction of corrupted data in a data storage subsystem
US6112277A (en) * 1997-09-25 2000-08-29 International Business Machines Corporation Method and means for reducing device contention by random accessing and partial track staging of records according to a first DASD format but device mapped according to a second DASD format
US6253260B1 (en) * 1998-10-22 2001-06-26 International Business Machines Corporation Input/output data access request with assigned priority handling
US6678748B2 (en) * 2000-09-29 2004-01-13 Emc Corporation Method for optimizing multiple input/output requests to a single logical device
US7096269B2 (en) * 2001-03-30 2006-08-22 Hitachi, Ltd. Path selection methods for storage based remote copy
US7085846B2 (en) * 2001-12-31 2006-08-01 Maxxan Systems, Incorporated Buffer to buffer credit flow control for computer network

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010524105A (ja) * 2007-04-11 2010-07-15 インターナショナル・ビジネス・マシーンズ・コーポレーション データ・ストレージ・システムによって処理されたデータを識別するための方法及びシステム
WO2008136133A1 (ja) * 2007-04-20 2008-11-13 Media Logic Corp. デバイスコントローラ
US8370857B2 (en) 2007-04-20 2013-02-05 Media Logic Corp. Device controller
JP2009053963A (ja) * 2007-08-27 2009-03-12 Fuji Electric Systems Co Ltd プログラマブルコントローラ、そのcpuモジュール
JP2010009622A (ja) * 2009-10-07 2010-01-14 Media Logic Corp デバイスドライバ
JP2013516667A (ja) * 2010-04-27 2013-05-13 株式会社日立製作所 ThinProvisioningが適用された、メインフレーム系のストレージ装置
JP2013210847A (ja) * 2012-03-30 2013-10-10 Fujitsu Ltd ストレージシステム、ストレージ制御方法およびストレージ制御プログラム
JP2015520899A (ja) * 2012-09-25 2015-07-23 株式会社日立製作所 ストレージ装置、及びストレージ装置の制御方法
JP2019533244A (ja) * 2016-09-30 2019-11-14 華為技術有限公司Huawei Technologies Co.,Ltd. 不揮発性メモリの持続方法およびコンピューティングデバイス
US10976956B2 (en) 2016-09-30 2021-04-13 Huawei Technologies Co., Ltd. Non-volatile memory persistence method and computing device
WO2018116453A1 (ja) * 2016-12-22 2018-06-28 株式会社日立製作所 アクセスシステム及びアクセス方法

Also Published As

Publication number Publication date
US20060282573A1 (en) 2006-12-14

Similar Documents

Publication Publication Date Title
JP2006309579A (ja) 記憶制御装置及びストレージシステム
JP3997061B2 (ja) 記憶サブシステムおよび記憶サブシステムの制御方法
JP4402997B2 (ja) ストレージ装置
EP1837751B1 (en) Storage system, storage extent release method and storage apparatus
US7603485B2 (en) Storage subsystem and remote copy system using said subsystem
US8180989B2 (en) Storage controller and storage control method
US7685335B2 (en) Virtualized fibre channel adapter for a multi-processor data processing system
US7849260B2 (en) Storage controller and control method thereof
US8650381B2 (en) Storage system using real data storage area dynamic allocation method
US8250317B2 (en) Storage system managing information in accordance with changes in the storage system configuration
JP4818395B2 (ja) ストレージ装置及びデータコピー方法
JP4068798B2 (ja) 記憶サブシステム及びi/oインタフェースの制御方法ならびに情報処理システム
US20070061518A1 (en) Storage controller, data processing method and computer program product
US20060195663A1 (en) Virtualized I/O adapter for a multi-processor data processing system
JP4464378B2 (ja) 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法
US20060230240A1 (en) Inter-processor communication method using a shared cache memory in a storage system
JP2013515980A (ja) データ転送装置およびその制御方法
JP2007034877A (ja) ストレージシステム、フォーマット方法及びコンピュータプログラム
US10938730B2 (en) Data transmission techniques between systems having different communication speeds
JP4783086B2 (ja) ストレージシステム、ストレージアクセス制限方法、及びコンピュータプログラム
US7730239B2 (en) Data buffer management in a resource limited environment
US7003553B2 (en) Storage control system with channel control device having data storage memory and transfer destination circuit which transfers data for accessing target cache area without passing through data storage memory
WO2015068208A1 (ja) システムおよびその制御方法
JP2014167818A (ja) データ転送装置およびデータ転送方法
US11481147B1 (en) Buffer allocation techniques