JP2005196422A - ストレージ制御装置 - Google Patents

ストレージ制御装置 Download PDF

Info

Publication number
JP2005196422A
JP2005196422A JP2004001443A JP2004001443A JP2005196422A JP 2005196422 A JP2005196422 A JP 2005196422A JP 2004001443 A JP2004001443 A JP 2004001443A JP 2004001443 A JP2004001443 A JP 2004001443A JP 2005196422 A JP2005196422 A JP 2005196422A
Authority
JP
Japan
Prior art keywords
data
memory
control unit
write
read
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
JP2004001443A
Other languages
English (en)
Other versions
JP4401788B2 (ja
Inventor
Susumu Tsuruta
進 鶴田
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 JP2004001443A priority Critical patent/JP4401788B2/ja
Priority to US10/809,740 priority patent/US6988151B2/en
Publication of JP2005196422A publication Critical patent/JP2005196422A/ja
Application granted granted Critical
Publication of JP4401788B2 publication Critical patent/JP4401788B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Abstract

【課題】オープン系ディスク装置、メインフレーム系ディスク装置の両方からの要求に柔軟に対応できる制御装置を実現する。
【解決手段】情報処理装置との間でデータの送受信を行う複数のチャネル制御部を備え、複数のチャネル制御部の各々は、情報処理装置からデータ入出力要求を受信しデータ格納メモリと情報処理装置との間のデータの送受信を制御する入出力制御部と、プロセッサと、データ格納メモリと、データ格納メモリ内のデータをキャッシュメモリに対して転送するデータ転送装置とを有し、複数のチャネル制御部のうち第一のチャネル制御部において、プロセッサがデータ格納メモリ内のデータ格納空間を管理し、第二のチャネル制御部において、入出力制御部がデータ格納メモリ内のデータ格納空間を管理し、プロセッサに対してデータ格納空間に関する情報を通知するストレージ制御装置に関する。
【選択図】 図9

Description

本発明は、ストレージ制御装置に関する。
近年の情報技術の進歩に伴い、ストレージ装置の記憶容量は増加の一途を辿っている。このような大容量のストレージ装置を複数の情報処理装置と通信可能に接続し、ストレージ装置が提供する大容量の記憶資源をこれらの複数の情報処理装置で利用する技術が開発されている。この場合、オープン系の情報処理装置とメインフレーム系の情報処理装置とを混在させてストレージ装置の記憶資源を利用する技術も開発されている。
特開平9−325905号公報
しかしながら、オープン系の情報処理装置とメインフレーム系の情報処理装置とでは、前者が比較的コストを重視する傾向があり、後者が比較的性能を重視する傾向がある点で、ストレージ装置に求める特性に相違がある。
そのため、両者のいずれの要求にも柔軟に対応可能なストレージ装置が求められていた。
本発明は上記課題を鑑みてなされたものであり、ストレージ制御装置を提供することを主たる目的とする。
上記課題を解決するために、本発明は、第1の情報処理装置からデータ入出力要求を受信し、前記第1の情報処理装置との間でデータの送受信を行う第1のチャネル制御部と、第2の情報処理装置からデータ入出力要求を受信し、前記第2の情報処理装置との間でデータの送受信を行う第2のチャネル制御部と、前記データ入出力要求に応じて、データを記憶する記憶ボリュームに対してデータの読み書きを行うディスク制御部と、前記第1のチャネル制御部、前記第2のチャネル制御部、及び前記ディスク制御部の間で授受されるデータを記憶するキャッシュメモリとを備え、前記第1のチャネル制御部は、第1のメモリと、前記第1の情報処理装置からデータ入出力要求を受信し、前記第1のメモリと前記第1の情報処理装置との間のデータの送受信を制御する第1の入出力制御部と、前記第1のメモリ及び前記キャッシュメモリを制御する第1のプロセッサと、前記第1のメモリへのデータの読み書きを行う第1のメモリコントローラ及び前記第1のメモリと前記キャッシュメモリとの間のデータ転送を制御する第1のデータ転送制御部を有する第1のデータ転送装置とを備え、前記第2のチャネル制御部は、第2のメモリと、前記第2のメモリを制御し、前記第2の情報処理装置からデータ入出力要求を受信し、前記第2のメモリと前記第2の情報処理装置との間のデータの送受信を制御する第2の入出力制御部と、前記キャッシュメモリを制御する第2のプロセッサと、前記第2のメモリへのデータの読み書きを行う第2のメモリコントローラ及び前記第2のメモリと前記キャッシュメモリとの間のデータ転送を制御する第2のデータ転送制御部を有する第2のデータ転送装置とを備え、前記第1のチャネル制御部は、前記第1の入出力制御部が前記第1の情報処理装置から受信した前記データ入出力要求が第1のデータ書き込み要求である場合には、前記第1の入出力制御部が、前記第1のデータ書き込み要求を前記第1のプロセッサに送信し、前記第1のプロセッサが、前記第1の情報処理装置から送信される第1の書き込みデータの前記第1のメモリにおける記憶位置を示す情報を含む第1の記憶位置情報を前記第1の入出力制御部に送信し、前記第1の入出力制御部が、前記第1の書き込みデータの前記第1のメモリにおける記憶位置を示す情報と前記第1の書き込みデータとの前記第1のメモリコントローラへの送信を開始し、前記第1のメモリコントローラが、前記第1の書き込みデータの前記第1のメモリへの書き込みを開始し、前記第1のプロセッサが、前記第1の書き込みデータの前記第1のメモリにおける記憶位置を示す情報、及び前記第1の書き込みデータの前記キャッシュメモリにおける記憶位置を示す情報を含む第1のデータ転送情報を前記第1のデータ転送制御部に送信し、前記第1のデータ転送制御部が、前記第1のデータ転送情報に基づいて、前記第1のメモリに書き込まれた前記第1の書き込みデータのリード要求を前記第1のメモリコントローラに送信し、前記第1のメモリコントローラが、前記第1の書き込みデータの前記第1のメモリからの読み出しを開始し、前記第1のデータ転送制御部が、前記第1のメモリから読みだされる前記第1の書き込みデータの前記キャッシュメモリへの転送を開始し、前記第2のチャネル制御部は、前記第2の入出力制御部が前記第2の情報処理装置から受信した前記データ入出力要求が第2のデータ書き込み要求である場合には、前記第2の入出力制御部が、前記第2の情報処理装置から送信される第2の書き込みデータの前記第2のメモリにおける記憶位置を示す情報と前記第2の書き込みデータとの前記第2のメモリコントローラへの送信を開始し、前記第2のメモリコントローラが、前記第2の書き込みデータの前記第2のメモリへの書き込みを開始し、前記第2の入出力制御部が、前記第2の書き込みデータの前記第2のメモリにおける記憶位置を示す情報を含む第2の記憶位置情報を前記第2のプロセッサに送信し、前記第2のプロセッサが、前記第2の書き込みデータの前記第2のメモリにおける記憶位置を示す情報、及び前記第2の書き込みデータの前記キャッシュメモリにおける記憶位置を示す情報を含む第2のデータ転送情報を前記第2のデータ転送制御部に送信し、前記第2のデータ転送制御部が、前記第2のデータ転送情報に基づいて、前記第2のメモリに書き込まれた前記第2の書き込みデータのリード要求を前記第2のメモリコントローラに送信し、前記第2のメモリコントローラが、前記第2の書き込みデータの前記第2のメモリからの読み出しを開始し、前記第2のデータ転送制御部が、前記第2のメモリから読みだされる前記第2の書き込みデータの前記キャッシュメモリへの転送を開始することを特徴とするストレージ制御装置に関する。
その他、本願が開示する課題、及びその解決方法は、発明を実施するための最良の形態の欄、及び図面により明らかにされる。
ストレージ制御装置を提供することができる。
===全体構成例===
まず、本実施の形態に係るストレージ制御装置100を含むストレージシステム600の全体構成を示すブロック図を図1に示す。
ストレージシステム600は、ストレージ制御装置100とストレージ駆動装置300とを備える。ストレージ制御装置100は、例えば情報処理装置1乃至5(200)から受信したコマンドに従ってストレージ駆動装置300に対する制御を行う。例えば情報処理装置1乃至5(200)からデータ入出力要求を受信して、ストレージ駆動装置300が備える記憶ボリューム310に対してデータの読み書きを行う。
情報処理装置1乃至5(200)はCPU(Central Processing Unit)やメモリを備えたコンピュータ等の情報機器である。情報処理装置1乃至5(200)が備えるCPUにより各種プログラムが実行されることにより様々な機能が実現される。情報処理装置1乃至5(200)は、例えば銀行の自動預金預け払いシステムや航空機の座席予約システム等における中枢コンピュータとして利用される。
情報処理装置1乃至4(200)は、例えばパーソナルコンピュータやワークステーション等のオープン系コンピュータ(オープン系の情報処理装置)とすることができる。また情報処理装置5(200)はメインフレームコンピュータ(メインフレーム系の情報処理装置)とすることができる。メインフレームコンピュータでは、メインフレーム系オペレーティングシステムによる制御の下、メインフレーム系アプリケーションプログラムが実行される。メインフレームコンピュータは、主として高性能が求められるアプリケーションプログラムを実行するコンピュータシステムにおいて用いられることが多い。そのため、メインフレームコンピュータに接続されたストレージ制御装置100及びストレージ駆動装置300は、メインフレームコンピュータからのデータ入出力要求に対して、短時間にデータ入出力処理を行うことが求められる。一方、オープン系コンピュータは、公開された技術規格に従って製造されており、規格が合えば異なるメーカ同士の機器を接続して使用できるという特徴を持つ。オープン系コンピュータ上では、オープン系オペレーティングシステムによる制御の下、オープン系アプリケーションプログラムが実行される。オープン系コンピュータの場合はメインフレームコンピュータと比べて、部品共通化等による低コスト化が重視される傾向にあり、高性能化の比重は比較的小さい。
図1において、情報処理装置1乃至4(200)はSAN(Storage Area network)500を介してストレージ制御装置100と通信可能に接続されている。SAN500は、ストレージ制御装置100と情報処理装置1乃至4(200)との間でデータ入出力要求やデータの送受信を行うためのネットワークである。SAN500を介して行われる情報処理装置1乃至4(200)とストレージ制御装置100との間の通信は、例えばファイバチャネルプロトコルに従って行われるようにすることができる。この場合、情報処理装置1乃至4(200)とストレージ制御装置100との間では、例えば2kB(キロバイト)のデータブロックを単位としてデータの送受信が行われる。例えば情報処理装置1乃至4(200)からストレージ制御装置100に対して10kBの書き込みデータが送信される場合には、その書き込みデータは2kB毎のブロックデータに分割されて送信される。ストレージ制御装置100はSAN500を介して複数の情報処理装置1乃至4(200)に接続されているので、各情報処理装置1乃至4(200)からの様々なデータ入出力要求やデータブロックを混在して受信することになる。なお、もちろん、情報処理装置1乃至4(200)とストレージ制御装置100との間は、SAN500を介して接続されている必要はなく、例えば、LAN(Local Area Network)を介して接続されているようにすることもできる。
情報処理装置5(200)は、SAN500等のネットワークを介さずにストレージ制御装置100と接続されている。情報処理装置5(200)とストレージ制御装置100との間の通信は、例えばFICON(Fibre Connection)(登録商標)やESCON(Enterprise System Connection) (登録商標)、ACONARC(Advanced Connection Architecture)(登録商標)、FIBARC(Fibre Connection Architecture)(登録商標)などの通信プロトコルに従って行われるようにすることができる。情報処理装置5(200)とストレージ制御装置100との間では、これらの通信プロトコルに従ってデータ入出力要求やデータの送受信が行われる。この場合も、情報処理装置5(200)とストレージ制御装置100との間では、所定のデータブロックを単位としてデータの送受信が行われる。なお、もちろん、情報処理装置5(200)とストレージ制御装置100との間がSAN500で接続され、ファイバチャネルプロトコルに従って通信が行われるようにすることもできる。
===ストレージ駆動装置===
ストレージ駆動装置300はデータを記憶するための多数の物理ディスクドライブを備えている。これにより情報処理装置1乃至5(200)に対して大容量の記憶領域を提供することができる。物理ディスクドライブは、ハードディスクドライブなどのデータ記憶媒体、あるいは、RAID(Redundant Arrays of Inexpensive Disks)を構成する複数のハードディスクドライブにより構成されてなるようにすることができる。また物理ディスクドライブにより提供される物理的な記憶領域である物理ボリュームには、論理的な記憶領域である論理ボリュームを設定することができる。物理ボリュームと論理ボリュームとを含む、データを記憶するための記憶領域を記憶ボリューム310とも記す。
ストレージ制御装置100とストレージ駆動装置300との間は図1のように直接に接続される形態とすることもできるし、ネットワークを介して接続されるようにすることもできる。さらにストレージ駆動装置300はストレージ制御装置100と一体として構成されるようにすることもできる。
===ストレージ制御装置===
ストレージ制御装置100はチャネル制御部110、共有メモリ120、キャッシュメモリ130、ディスク制御部140、管理端末160、内部接続部150を備える。
ストレージ制御装置100は、チャネル制御部1乃至6(110)によりSAN500を介して情報処理装置1乃至4(200)との間の通信を行う。またチャネル制御部7乃至8(110)により情報処理装置5(200)との間の通信を行う。
チャネル制御部110は情報処理装置200との間で通信を行うための通信インタフェースを備え、情報処理装置200からデータ入出力要求を受信し、情報処理装置との間でデータの送受信を行う。
各チャネル制御部110は管理端末160と共に内部LAN151で接続されている。これによりチャネル制御部110に実行させるマイクロプログラム等を管理端末160から送信しインストールすることが可能となっている。チャネル制御部110の構成については後述する。
内部接続部150はチャネル制御部110、共有メモリ120、キャッシュメモリ130、ディスク制御部140を相互に接続する。チャネル制御部110、共有メモリ120、キャッシュメモリ130、ディスク制御部140の間でのデータやコマンドの授受は内部接続部150を介することにより行われる。内部接続部150は例えばクロスバスイッチで構成される。
共有メモリ120及びキャッシュメモリ130は、チャネル制御部110、ディスク制御部140の間で授受されるデータを記憶するメモリである。共有メモリ120は主に制御情報やコマンド等を記憶するために利用されるのに対し、キャッシュメモリ130は、主にデータを記憶するために利用される。
例えば、あるチャネル制御部110が情報処理装置200から受信したデータ入出力要求がデータ書き込み要求であった場合には、当該チャネル制御部110はデータ書き込み要求を共有メモリ120に書き込むと共に、情報処理装置200から受信した書き込みデータをキャッシュメモリ130に書き込む。一方、ディスク制御部140は共有メモリ120を監視しており、共有メモリ120にデータ書き込み要求が書き込まれたことを検出すると、当該データ書き込み要求に従ってキャッシュメモリ130から書き込みデータを読み出してストレージ駆動装置300に書き込む。
またあるチャネル制御部110が情報処理装置200から受信したデータ入出力要求がデータ読み出し要求であった場合には、読み出し対象となる読み出しデータがキャッシュメモリ130に存在するかどうかを調べる。ここでキャッシュメモリ130に存在すれば、チャネル制御部110はその読み出しデータを情報処理装置200に送信する。一方、読みだしデータがキャッシュメモリ130に存在しない場合には、当該チャネル制御部110はデータ読み出し要求を共有メモリ120に書き込むと共に、共有メモリ120を監視する。データ読み出し要求が共有メモリ120に書き込まれたことを検出したディスク制御部140は、ストレージ駆動装置300から読みだし対象となる読み出しデータを読み出してこれをキャッシュメモリ130に書き込むと共に、その旨を共有メモリ120に書き込む。そして、チャネル制御部110は読みだし対象となる読み出しデータがキャッシュメモリ130に書き込まれたことを検出すると、その読み出しデータを情報処理装置200に送信する。
このようにチャネル制御部110及びディスク制御部140の間では、キャッシュメモリ130を介してデータの授受が行われる。
なお、チャネル制御部110からディスク制御部140に対するデータの書き込みや読み出しの指示を共有メモリ120を介在させて間接的に行う構成の他、例えばチャネル制御部110からディスク制御部140に対してデータの書き込みや読み出しの指示を共有メモリ120を介さずに直接に行う構成とすることもできる。
また、チャネル制御部110とディスク制御部140とを一体的に構成し、両機能を合わせ持った制御部を設けるようにすることもできる。
ディスク制御部140は、データを記憶する記憶ボリューム310と通信可能に接続され、ストレージ駆動装置300の制御を行う。例えば上述のように、チャネル制御部110が情報処理装置200から受信したデータ入出力要求に応じて、記憶ボリューム310に対してデータの読み書きを行う。
各ディスク制御部140は管理端末160と共に内部LAN151で接続されており、相互に通信を行うことが可能である。これにより、ディスク制御部140に実行させるマイクロプログラム等を管理端末160から送信しインストールすることが可能となっている。ディスク制御部140の構成については後述する。
本実施例においては、共有メモリ120及びキャッシュメモリ130がチャネル制御部110及びディスク制御部140に対して独立に設けられている場合について記載したが、本実施例はこの場合に限られるものでない。例えば共有メモリ120又はキャッシュメモリ130がチャネル制御部110及びディスク制御部140の各々に分散されて設けられることも好ましい。この場合、内部接続部150は、分散された共有メモリ120又はキャッシュメモリ130を有するチャネル制御部110及びディスク制御部140を相互に接続させることになる。
また、チャネル制御部110、ディスク制御部140、内部接続部150、共有メモリ120、キャッシュメモリ130の少なくともいずれかが一体として構成されているようにすることもできる。
===管理端末===
管理端末160はストレージシステム600を保守・管理するための情報機器である。オペレータは、管理端末160を操作することにより、例えばストレージ駆動装置300内の物理ディスクドライブの構成の設定や、情報処理装置200とチャネル制御部110との間の通信路であるパスの設定、記憶ボリューム310の設定、チャネル制御部110やディスク制御部140において実行されるマイクロプログラムのインストール等を行うことができる。これらの設定や制御は、管理端末160が備えるユーザインタフェース、あるいは管理端末160で動作するWebサーバにより提供されるWebページを表示する情報処理装置1乃至5(200)のユーザインタフェースから行うようにすることができる。
管理端末160はストレージ制御装置100に内蔵されている形態とすることもできるし、外付けされている形態とすることもできる。また管理端末160は、ストレージ制御装置100及びストレージ駆動装置300の保守・管理を専用に行うコンピュータとすることもできるし、汎用のコンピュータに保守・管理機能を持たせたものとすることもできる。
管理端末160の構成を示すブロック図を図4に示す。
管理端末160は、CPU161、メモリ162、ポート163、記録媒体読取装置164、入力装置165、出力装置166、記憶装置168を備える。
CPU161は管理端末160の全体の制御を司るもので、メモリ162に記憶された各種の動作を行うためのコードから構成されるストレージ管理プログラム162Aを実行することにより、ストレージシステム600の保守・管理機能を提供することができる。また同様に例えばストレージ管理プログラム162Aを実行することにより上記Webサーバとしての機能等を実現するようにすることができる。
記録媒体読取装置164は、記録媒体167に記録されているプログラムやデータを読み取るための装置である。読み取られたプログラムやデータはメモリ162や記憶装置168に格納される。従って、例えば記録媒体167に記録されたストレージ管理プログラム162Aを、記録媒体読取装置164を用いて上記記録媒体167から読み取って、メモリ162や記憶装置168に格納するようにすることができる。記録媒体167としてはフレキシブルディスクやCD−ROM、半導体メモリ等を用いることができる。記録媒体読取装置164は管理端末160に内蔵されている形態とすることもできるし、外付されている形態とすることもできる。記憶装置168は、例えばハードディスク装置や半導体記憶装置等である。入力装置165はオペレータ等による管理端末160へのデータ入力等のために用いられるユーザインタフェースである。入力装置165としては例えばキーボードやマウス等が用いられる。出力装置166は情報を外部に出力するために用いられるユーザインタフェースである。出力装置166としては例えばディスプレイやプリンタ等が用いられる。ポート163は内部LAN151に接続されており、これにより管理端末160はチャネル制御部110やディスク制御部140等と通信を行うことができる。またポート163は例えばLAN等と通信可能に接続されるようにすることもできる。この場合管理端末160は、LANを通じて情報処理装置1乃至5(200)と通信を行うようにすることもできる。
===外観図===
次に、本実施の形態に係るストレージシステム600の外観構成を図2に示す。また、ストレージ制御装置100の外観構成を図3に示す。
図2に示すように、本実施の形態に係るストレージシステム600はストレージ制御装置100及びストレージ駆動装置300がそれぞれの筐体に納められた形態をしている。図2に示す例では、ストレージ制御装置100の筐体の両側にストレージ駆動装置300の筐体が配置されている。
ストレージ制御装置100は、正面中央部に管理端末160が備えられている。管理端末160はカバーで覆われており、図3に示すようにカバーを開けることにより管理端
末160を使用することができる。なお図3に示した管理端末160はいわゆるノート型パーソナルコンピュータの形態をしているが、どのような形態とすることも可能である。
管理端末160の下部には、チャネル制御部110やディスク制御部140、キャッシュメモリ130、共有メモリ120、内部接続部150を装着するためのスロットが設けられている。チャネル制御部110やディスク制御部140、キャッシュメモリ130、共有メモリ120、内部接続部150は回路基板を備えてボードとして構成されており、これらのボードが各スロットに装着される。各スロットにはこれらのボードを装着するためのガイドレールが設けられている。ガイドレールに沿って各ボードをスロットに挿入することにより、チャネル制御部110やディスク制御部140、キャッシュメモリ130、共有メモリ120、内部接続部150をストレージ制御装置100に装着することができる。各スロットの奥手方向正面部には、各ボードをストレージ制御装置100と電気的に接続するためのコネクタが設けられている。
またストレージ制御装置100には、チャネル制御部110等から発生する熱を放出するためのファン170が設けられている。ファン170はストレージ制御装置100の上面部に設けられる他、スロットの上部にも設けられている。
===チャネル制御部===
チャネル制御部110の構成を図5及び図27に示す。図5に示すチャネル制御部はオープン系チャネル制御部110Aであり、図27に示すチャネル制御部はメインフレーム系チャネル制御部110Bである。オープン系チャネル制御部110Aは、オープン系情報処理装置200からデータ入出力要求を受信し、オープン系情報処理装置200との間でデータの送受信を行う。例えば図1に示すチャネル制御部1乃至6(110A)である。メインフレーム系チャネル制御部110Bは、メインフレーム系情報処理装置200からデータ入出力要求を受信し、メインフレーム系情報処理装置200との間でデータの送受信を行う。例えば図1に示すチャネル制御部7乃至8(110B)である。オープン系チャネル制御部110Aとメインフレーム系チャネル制御部110Bとを区別する必要がない場合には、単にチャネル制御部110とも記す。
オープン系チャネル制御部110Aは回路基板118を備えた一つのユニット化されたボードとして構成される。オープン系チャネル制御部110Aは一枚もしくは複数枚の回路基板118を含んで構成される。回路基板118には、オープン系プロセッサ119A、オープン系ホストI/F制御LSI(ホストInterFace制御Large Scale Integration、入出力制御部)115A、データ転送装置114、データ格納メモリ(メモリ)117、ローカルメモリ111、及びコネクタ116が形成されている。
オープン系ホストI/F制御LSI115Aは、オープン系情報処理装置200との間で通信を行うための通信インタフェース機能を提供し、オープン系情報処理装置200からデータ入出力要求を受信し、データ格納メモリ117とオープン系情報処理装置200との間のデータの送受信を制御する。オープン系ホストI/F制御LSI115Aと接続されるコネクタ116Aは、オープン系情報処理装置200と通信可能に接続される通信ポートを構成する。
オープン系プロセッサ119Aは、データ格納メモリ117やキャッシュメモリ130を制御する。すなわち、オープン系プロセッサ119は、オープン系ホストI/F制御LSI115Aがオープン系情報処理装置200との間で送受信するデータの、キャッシュメモリ130やデータ格納メモリ117における記憶位置を制御する。
データ格納メモリ117は、オープン系チャネル制御部110Aがオープン系情報処理装置200との間で送受信するデータを記憶するためのメモリである。例えば、オープン系ホストI/F制御LSI115Aがオープン系情報処理装置200から書き込みデータを受信した場合には、その書き込みデータは、データ格納メモリ117の、オープン系プロセッサ119Aにより指示された記憶位置に一旦書き込まれる。そしてこの書き込みデータはデータ転送装置114によりキャッシュメモリ130に転送される。
この際、前述したようにオープン系情報処理装置200から送信される書き込みデータは所定のデータブロックに分割されて送信される。オープン系情報処理装置200から送信される書き込みデータをキャッシュメモリ130へ転送する際には、これらのデータブロックをある程度ひとまとめにして転送した方が、データ転送の回数を少なくできるので、データ転送の効率が良い。どの程度のデータブロックをひとまとめにするのが良いかはオープン系プロセッサ119Aが判断し、データ転送装置114に指示する。
データ転送装置114は、オープン系プロセッサ119Aからの指示に従い、データ格納メモリ117とキャッシュメモリ130との間のデータ転送を制御する。詳細は後述するが、データ転送装置114は、データ格納メモリ117へのデータの読み書きを行うメモリコントローラ840及びデータ格納メモリ117とキャッシュメモリ130との間のデータ転送を制御する一つあるいは複数のDMA(Direct Memory Access、データ転送制御部)800を有する。
ローカルメモリ111は、オープン系プロセッサ119Aにより実行されるプログラム等を記憶する。このプログラムは例えば管理端末160から内部LAN151を通じて書き込まれるようにすることができる。
データ転送装置114と接続されるコネクタ116Bがストレージ制御装置100側のコネクタと嵌合することにより、オープン系チャネル制御部110Aはストレージ制御装置100の内部接続部150や管理端末160等と電気的に接続される。
メインフレーム系チャネル制御部110Bも回路基板118を備えた一つのユニット化されたボードとして構成される。メインフレーム系チャネル制御部110Bは一枚もしくは複数枚の回路基板118を含んで構成される。回路基板118には、メインフレーム系プロセッサ119B、メインフレーム系ホストI/F制御LSI(入出力制御部)115B、データ転送装置114、データ格納メモリ117、ローカルメモリ111、及びコネクタ116が形成されている。
メインフレーム系ホストI/F制御LSI115Bは、メインフレーム系情報処理装置200との間で通信を行うための通信インタフェース機能を提供し、データ格納メモリ117を制御すると共に、メインフレーム系情報処理装置200からデータ入出力要求を受信し、データ格納メモリ117とメインフレーム系情報処理装置200との間のデータの送受信を制御する。メインフレーム系チャネル制御部110Bの場合は、データ格納メモリ117に記憶されるデータの記憶位置はメインフレーム系ホストI/F制御LSI115Bに制御される。メインフレーム系ホストI/F制御LSI115Bと接続されるコネクタ116Aは、メインフレーム系情報処理装置200と通信可能に接続される通信ポートを構成する。
メインフレーム系プロセッサ119Bは、キャッシュメモリ130を制御する。すなわち、メインフレーム系プロセッサ119Bは、メインフレーム系ホストI/F制御LSI115Bがメインフレーム系情報処理装置200との間で送受信するデータの、キャッシュメモリ130における記憶位置を制御する。
データ格納メモリ117は、メインフレーム系チャネル制御部110Bがメインフレーム系情報処理装置200との間で送受信するデータを記憶するためのメモリである。例えば、メインフレーム系ホストI/F制御LSI115Bがメインフレーム系情報処理装置200から書き込みデータを受信した場合には、その書き込みデータは、データ格納メモリ117の、メインフレーム系ホストI/F制御LSI115Bにより指示された記憶位置に一旦書き込まれる。そしてこの書き込みデータはデータ転送装置114によりキャッシュメモリ130に転送される。
この際、前述したようにメインフレーム系情報処理装置200から送信される書き込みデータは所定のデータブロックに分割されて送信される。メインフレーム系情報処理装置200から送信される書き込みデータをキャッシュメモリ130へ転送する際には、これらのデータブロックをある程度ひとまとめにして転送した方が、データ転送の回数を少なくできるので、データ転送の効率が良い。どの程度のデータブロックをひとまとめにするのが良いかはメインフレーム系プロセッサ119Bが判断し、データ転送装置114に指示する。
データ転送装置114は、メインフレーム系プロセッサ119Bからの指示に従い、データ格納メモリ117とキャッシュメモリ130との間のデータ転送を制御する。詳細は後述するが、データ転送装置114は、データ格納メモリ117へのデータの読み書きを行うメモリコントローラ840及びデータ格納メモリ117とキャッシュメモリ130との間のデータ転送を制御する一つあるいは複数のDMA(データ転送制御部)800を有する。
ローカルメモリ111は、メインフレーム系プロセッサ119Bにより実行されるプログラム等を記憶する。このプログラムは例えば管理端末160から内部LAN151を通じて書き込まれるようにすることができる。
データ転送装置114と接続されるコネクタ116Bがストレージ制御装置100側のコネクタと嵌合することにより、メインフレーム系チャネル制御部110Bはストレージ制御装置100の内部接続部150や管理端末160等と電気的に接続される。
===ディスク制御部===
次にディスク制御部140の構成を示す図を図6に示す。
ディスク制御部140は、インタフェース部141、メモリ143、CPU142、NVRAM(nonvolatile random-access memory)144、コネクタ145を備え、これらが一体的なユニットとして形成されている。
インタフェース部141は、内部接続部150を介してチャネル制御部110等との間で通信を行うための通信インタフェースや、ストレージ駆動装置300との間で通信を行うための通信インタフェースを備えている。
CPU142は、ディスク制御部140全体の制御を司ると共に、チャネル制御部110やストレージ駆動装置300、管理端末160との間の通信を行う。CPU142によりメモリ143やNVRAM144に格納された各種プログラムが実行されることにより本実施の形態に係るディスク制御部140の機能が実現される。
NVRAM144はCPU142の制御を司るプログラムを格納する不揮発性メモリである。NVRAM144に記憶されるプログラムの内容は、管理端末160からの指示により書き込みや書き換えを行うことができる。
またディスク制御部140はコネクタ145を備えている。コネクタ145がストレージ制御装置100側のコネクタと嵌合することにより、ディスク制御部140はストレージ制御装置100の内部接続部150や、ストレージ駆動装置300、管理端末160等と電気的に接続される。
===情報処理装置===
次に、本実施の形態に係る情報処理装置200の構成を示すブロック図を図7に示す。情報処理装置200には、上述したようにオープン系情報処理装置200とメインフレーム系情報処理装置200とがあるが、両者の構成は基本的に同一であるので、両者を区別する必要がない場合には単に情報処理装置200と記す。
情報処理装置200は、CPU210、メモリ220、ポート230、記録媒体読取装置240、入力装置250、出力装置260、記憶装置280を備える。
CPU210は情報処理装置200の全体の制御を司るもので、メモリ220に記憶された各種の動作を行うためのコードから構成されるプログラム220Aを実行することにより本実施の形態に係る各種機能を実現する。例えば、上述した銀行の自動預金預け払いサービス等の情報処理サービスの提供は、CPU210がプログラム220Aを実行することにより行われる。また、CPU210がプログラム220Aを実行することにより、上述した管理端末160で動作するWebサーバにより提供されるWebページの表示や、物理ディスクドライブ330の構成の変更や、情報処理装置200とチャネル制御部110との間の通信路であるパスの設定、論理ボリューム310の設定等を行うことができる。
記録媒体読取装置240は記録媒体270に記録されているプログラムやデータを読み取るための装置である。読み取られたプログラムやデータはメモリ220や記憶装置280に格納される。従って、例えば記録媒体270に記録されたプログラム220Aを、記録媒体読取装置240を用いて上記記録媒体270から読み取って、メモリ220や記憶装置280に記憶するようにすることができる。記録媒体270としてはフレキシブルディスクやCD−ROM、半導体メモリ等を用いることができる。
記録媒体読取装置240は情報処理装置200に内蔵されている形態とすることもできるし、外付されている形態とすることもできる。記憶装置280は、例えばハードディスク装置や半導体記憶装置等とすることができる。また記憶装置280は情報処理装置200に内蔵されるようにすることもできるし、外付けされるようにすることもできる。外付けされる場合には、通信ネットワークを介して接続される他の情報処理装置200の記憶装置280とすることもできる。またSAN500を介して接続されるストレージシステム600とすることもできる。
入力装置250は情報処理装置200を操作するオペレータ等による情報処理装置200へのデータ入力等のために用いられるユーザインタフェースである。入力装置250としては例えばキーボードやマウス等が用いられる。出力装置260は情報を外部に出力するためのユーザインタフェースである。出力装置260としては例えばディスプレイやプリンタ等が用いられる。ポート230は、SAN500を介してオープン系チャネル制御部110Aと通信を行うための装置とすることができる。この場合、ポート230は例えばHBA(Host Bus Adapter)により構成されるようにすることができる。またポート230はメインフレーム系チャネル制御部110Bと通信を行うための装置とすることもできる。またポート230は、LAN等の通信ネットワークを通じて他の情報処理装置200や管理端末160と通信を行うための装置とすることもできる。この場合、例えばプログラム220Aをポート230を介して他の情報処理装置200から受信して、メモリ220や記憶装置280に記憶するようにすることもできる。
===データ転送装置===
次に本実施の形態に係るデータ転送装置114について、図8を参照しながら説明する。
図8に示すように、本実施の形態に係るデータ転送装置114は、メモリコントローラ840と、DMA0乃至3(800)と、接続I/F(InterFace)回路830とを有する。
メモリコントローラ840は、データ格納メモリ117へのデータの読み書きを行う。メモリコントローラ840は、メモリ制御部841と、ライトアドレスレジスタ842と、リードアドレスレジスタ843とを備える。ライトアドレスレジスタ842は、データ格納メモリ117にデータを書き込む際の書き込みアドレスが記憶される。リードアドレスレジスタ843は、データ格納メモリ117からデータを読みだす際の読み出しアドレスが記憶される。図8に示すように、ライトアドレスレジスタ842とリードアドレスレジスタ843とは、DMA0乃至3(800)のそれぞれ毎に設けられる。そのため、各DMA0乃至3(800)は、それぞれが独立にメモリコントローラ840に対して、データ格納メモリ117へのデータの読み書きの指示を行うことができる。メモリ制御部841は、ライトアドレスレジスタ842あるいはリードアドレスレジスタ843に記憶される、データ格納メモリ117のアドレスに対してデータの読み書きを行う。
ライトアドレスレジスタ842やリードアドレスレジスタ843への、データ格納メモリ117のアドレスの書き込みは、ホストI/F制御LSI115やDMA0乃至3(800)により行われる。
DMA800は、データ格納メモリ117とキャッシュメモリ130との間のデータ転送を制御する。DMA800は、DMA制御部810、転送元アドレスレジスタ820、転送先アドレスレジスタ821、要求転送長レジスタ822、転送単位レジスタ823、FIFO(First In First Out)設定レジスタ824、転送方向レジスタ825、TOPアドレスレジスタ826、BOTTOMアドレスレジスタ827、最終データ格納アドレスレジスタ828、制御情報格納レジスタ829を有する。
DMA制御部810は、DMA800全体の制御を司る。DMA制御部810は、ハードウエアのみで構成されるようにすることもできるし、ハードウエアとソフトウエアとの組み合わせにより構成されるようにすることもできる。
転送元アドレスレジスタ820には、データ格納メモリ117の記憶アドレス又はキャッシュメモリ130の記憶アドレスが記憶される。データ格納メモリ117に記憶されるデータをキャッシュメモリ130に転送する場合には、転送元アドレスレジスタ820には、データ格納メモリ117の記憶アドレスが記憶される。キャッシュメモリ130に記憶されるデータをデータ格納メモリ117に転送する場合には、転送元アドレスレジスタ820には、キャッシュメモリ130の記憶アドレスが記憶される。転送元アドレスレジスタ820への転送元アドレスの書き込みは、プロセッサ119から送信されるデータ転送情報に基づいてDMA制御部810により行われる。データ転送情報については後述する。
転送先アドレスレジスタ821には、データ格納メモリ117の記憶アドレス又はキャッシュメモリ130の記憶アドレスが記憶される。データ格納メモリ117に記憶されるデータをキャッシュメモリ130に転送する場合には、転送先アドレスレジスタ821には、キャッシュメモリ130の記憶アドレスが記憶される。キャッシュメモリ130に記憶されるデータをデータ格納メモリ117に転送する場合には、転送先アドレスレジスタ821には、データ格納メモリ117の記憶アドレスが記憶される。転送先アドレスレジスタ821への転送先アドレスの書き込みは、プロセッサ119から送信されるデータ転送情報に基づいてDMA制御部810により行われる。
要求転送長レジスタ822には、チャネル制御部110が情報処理装置200から受信したデータ入出力要求に記述されたデータ長が記憶される。例えばチャネル制御部110が情報処理装置200から100kBのデータ書き込み要求を受信した場合には、要求転送長レジスタ822には100kBが記載される。なおこの場合、上述したように情報処理装置200からチャネル制御部110への書き込みデータの送信は、複数のデータブロックに分割されて行われる。要求転送長レジスタ822へのデータ長の書き込みは、プロセッサ119から送信されるデータ転送情報に基づいてDMA制御部810により行われる。
転送単位レジスタ823には、データ格納メモリ117とキャッシュメモリ130との間で転送されるデータのデータ長が記憶される。例えば上述のように、チャネル制御部110が情報処理装置200から100kBのデータ書き込み要求を受信した場合に、転送単位レジスタ823に10kBが記憶されていると、DMA800は、情報処理装置200から送信される書き込みデータが、データ格納メモリ117に10kB記憶される毎に、その10kBのデータのキャッシュメモリ130への転送を開始する。転送単位レジスタ823への転送単位の書き込みは、プロセッサ119から送信されるデータ転送情報に基づいてDMA制御部810により行われる。
FIFO設定レジスタ824には、データ格納メモリ117をFIFOとして使用して、情報処理装置200とキャッシュメモリ130との間でデータ転送を行うか否かを示す情報が記憶される。例えば、FIFO設定レジスタ824に、データ格納メモリ117をFIFOとして使用することを示す情報が書き込まれている場合には、上述したように、例えばチャネル制御部110が情報処理装置200から100kBのデータ書き込み要求を受信した場合に、転送単位レジスタ823に10kBが記憶されていると、DMA800は、情報処理装置200から100kBのデータが全てデータ格納メモリ117に書き込まれるのを待たずに、情報処理装置200からの書き込みデータがデータ格納メモリ117に10kB記憶される毎に、その10kBのデータのキャッシュメモリ130への転送を開始する。つまり、いわゆるウォームホール(wormhole)転送を行う。一方、FIFO設定レジスタ824に、データ格納メモリ117をFIFOとして使用しないことを示す情報が書き込まれている場合には、上述した例で言うと、チャネル制御部110が情報処理装置200から100kBのデータ書き込み要求を受信した場合に、DMA800は、情報処理装置200から100kBのデータが全てデータ格納メモリ117に書き込まれるのを待ってから、100kBの書き込みデータのキャッシュメモリ130への転送を開始する。つまり、いわゆるストアアンドフォワード(store and forward)転送を行う。FIFO設定レジスタ824への書き込みは、プロセッサ119から送信されるデータ転送情報に基づいてDMA制御部810により行われる。
転送方向レジスタ825には、データ格納メモリ117とキャッシュメモリ130との間で行われるデータ転送が、データ格納メモリ117に記憶されるデータをキャッシュメモリ130に転送する方向に行われるのか、キャッシュメモリ130に記憶されるデータをデータ格納メモリ117に転送する方向に行われるのかを示す情報が記憶される。転送方向レジスタ825への転送方向の書き込みは、プロセッサ119から送信されるデータ転送情報に基づいてDMA制御部810により行われる。
TOPアドレスレジスタ826には、上記転送単位毎にデータ格納メモリ117とキャッシュメモリ130との間でデータ転送が行われる場合に、ホストI/F制御LSI115又はDMA800によりデータ格納メモリ117に書き込まれる、上記転送単位の先頭のデータのデータ格納メモリ117における記憶アドレスが記憶される。そして転送単位のデータが転送される毎に値が更新される。TOPアドレスレジスタ826の値の更新は、転送単位のデータの転送が行われる毎に、DMA制御部810により行われる。
BOTTOMアドレスレジスタ827には、ホストI/F制御LSI115やDMA800によりデータ格納メモリ117に書き込まれるデータのデータ格納メモリ117における記憶アドレスが記憶される。BOTTOMアドレスレジスタ827の値は、メモリコントローラ840のライトアドレスレジスタ842の値に従って、DMA制御部810により更新される。つまりDMA制御部810は、メモリコントローラ840のライトアドレスレジスタ842を監視しており、ライトアドレスレジスタ842の値が更新される毎に、更新後のライトアドレスレジスタ842の値をBOTTOMアドレスレジスタ827に書き込む。そしてDMA制御部810は、BOTTOMアドレスレジスタ827に記憶されているアドレスとTOPアドレスレジスタ826に記憶されているアドレスとの差に基づいて、データ格納メモリ117に記憶されているデータのデータ長を知ることができる。そしてそのデータ長が転送単位に達した場合には、DMA制御部810はデータ転送を開始することができる。
最終データ格納アドレスレジスタ828には、情報処理装置200から送信される全ての書き込みデータが、ホストI/F制御LSI115によりデータ格納メモリ117に書き込まれた場合に、そのデータの最終書き込みアドレスを示す情報が書き込まれる。例えばチャネル制御部110が情報処理装置200から100kBのデータ書き込み要求を受信した場合に、ホストI/F制御LSI115によりデータ格納メモリ117に書き込まれた100kB目のデータの、データ格納メモリ117における記憶アドレスが、最終データ格納アドレスレジスタ828に書き込まれる。最終データ格納アドレスレジスタ828への最終書き込みアドレスを示す情報の書き込みは、プロセッサ119から送信されるデータ転送情報に基づいてDMA制御部810により行われる。
制御情報格納レジスタ829には、情報処理装置200から送信されたデータ書き込み要求に記述された書き込みデータ長よりも短いデータしか送信されない旨の情報を、ホストI/F制御LSI115が情報処理装置200から受信した場合などに、その旨の制御情報が書き込まれる。制御情報格納レジスタ829への制御情報の書き込みは、プロセッサ119から送信されるデータ転送情報に基づいてDMA制御部810により行われる。
接続I/F回路830は、PCI(Peripheral Component Interconnect)バスを介してメモリコントローラ840と、DMA800と、ホストI/F制御LSI115と、プロセッサ119等との間で通信を行うための通信インタフェース回路である。ただし、PCI以外の他の規格に準拠している構成とすることもできる。その場合には、接続I/F回路830は、それぞれの規格に準拠する通信インタフェース回路とすることができる。
===データ転送===
次に、本実施の形態に係るストレージ制御装置100が備えるチャネル制御部110におけるデータ転送の概要について図9を用いて説明する。
本実施の形態に係るチャネル制御部110においては、図9に示すように、ホストI/F制御LSI115が情報処理装置200からデータ書き込み要求を受信した場合には、書き込みデータは一旦データ格納メモリ117に記憶され、データ格納メモリ117から読み出されてキャッシュメモリ130に転送される。その際、前述したようにFIFO設定レジスタ824の設定により、全ての書き込みデータがデータ格納メモリ117に書き込まれる前に、データ格納メモリ117からキャッシュメモリ130へのデータ転送を開始するようにすることができる。つまり、本実施の形態に係るストレージ制御装置100が備えるチャネル制御部110においては、データ格納メモリ117をFIFOとして使用することができる。
ここで本実施の形態においては、データ格納メモリ117はデータ転送装置114とは別の回路として構成されるため、必要に応じた記憶容量のデータ格納メモリ117を用いることができる。これにより、必要に応じた記憶容量のFIFOを構成することができる。つまり、データ格納メモリ117がデータ転送装置114と一体に構成される場合や、データ格納メモリ117がデータ転送装置114に内蔵される場合には、データ格納メモリ117の記憶容量は、一つのLSIに集約可能なトランジスタ数の限界により、制約を受けるが、本実施の形態においてはそのような制約は受けないようにすることが可能となる。これにより、データ格納メモリ117を、複数の大容量のFIFOとして用いることができるようになる。図9にはデータ転送装置114にDMA800が一つしか記載されていないが、図8に示したように、データ転送装置114には複数のDMA800を設けるようにすることが可能となる。そして各DMA800がデータ格納メモリ117を大容量のFIFOとして用いることが可能となるのである。さらには、メモリコントローラ840に設けられるライトアドレスレジスタ842やリードアドレスレジスタ843を、各DMA800に対して複数備えるようにすることにより、各DMA800に対して複数のFIFOをデータ格納メモリ117上に構成するようにすることもできるのである。なお、図8には、データ転送装置114は4つのDMA800を備えるように記載されているが、もちろんそれ以上の数のDMA800を備えるようにすることも可能である。
これにより、本実施の形態においては、ストレージ制御装置100は、情報処理装置200から送信されるデータ入出力要求に対する処理をより高速に行うことが可能となる。つまりデータの読み書きをより高速化することが可能となる。またより多くの情報処理装置200からより大量のデータ入出力要求を受信して、データの読み書きを行うことが可能となる。
ホストI/F制御LSI115が情報処理装置200からデータ書き込み要求を受信した場合の処理の流れを示すフローチャートを図10に示す。また書き込みデータの流れを示すデータフローを図11及び図12に示す。なお、図10に示すフローチャートは、オープン系チャネル制御部110における処理の流れを示す。メインフレーム系チャネル制御部110における処理の流れについては後述する。また、図11と図12はいずれも、ホストI/F制御LSI115が2種類のデータ書き込み要求を受信し、それぞれの書き込みデータがDMA0(800)及びDMA1(800)により、データ格納メモリ117を経由してキャッシュメモリ130へ転送されるまでの様子を示すものである。図11、図12において、第1の書き込みデータはデータブロック毎に網掛け模様で示され、第2の書き込みデータはデータブロック毎に白抜き模様で示されている。なお、図12においては第1の書き込みデータはデータブロック毎に(A1)、(A2)、(A3)、(A4)で示され、第2の書き込みデータはデータブロック毎に(B1)、(B2)で示されている。また図11及び図12において”W”は「Write」を表し、”R”は「Read」を表す。情報処理装置200から送信される書き込みデータは、上述したように所定のデータブロックに分割されて送信されるが、図11及び図12には、各データブロックがデータ格納メモリ117で所定の転送単位毎にひとまとめにされてキャッシュメモリ130に転送される様子が示されている。
図10において、まずホストI/F制御LSI115が情報処理装置200からデータ書き込み要求を受信すると(S1000)、ホストI/F制御LSI115はデータ書き込み要求をプロセッサ(MP)119に送信する(S1001)。プロセッサ119がデータ書き込み要求を受信すると(S1002)、プロセッサ119は書き込みデータのデータ格納メモリ117における記憶位置を示す情報を含む記憶位置情報をホストI/F制御LSI115に送信する(S1003)。そうすると、ホストI/F制御LSI115は、データ格納メモリ117へのデータ転送を開始する(S1004)。具体的には、ホストI/F制御LSI115が、書き込みデータのデータ格納メモリ117における記憶位置を示す情報と書き込みデータとのメモリコントローラ840への送信を開始し、メモリコントローラ117が、ライトアドレスレジスタ842に書き込まれた書き込みデータのデータ格納メモリ117における記憶位置を示す情報に従って、書き込みデータのデータ格納メモリ117への書き込みを開始する(S1006)。
なお、記憶位置情報にはDMA800を指定する情報が含まれる様にし、ホストI/F制御LSI115が指定されたDMA800に対して、書き込みデータのデータ格納メモリ117における記憶位置を示す情報と書き込みデータとの送信を開始し、DMA800が書き込みデータのデータ格納メモリ117における記憶位置を示す情報と書き込みデータとのメモリコントローラ840への送信を開始するようにすることもできる。
一方プロセッサ119は、DMA800に対してデータ転送情報を送信する(S1005)。ここで送信されるデータ転送情報には、書き込みデータのデータ格納メモリ117における記憶位置を示す情報及び書き込みデータのキャッシュメモリ130における記憶位置を示す情報を含む。さらには、書き込みデータのデータ格納メモリ117における最終書き込みアドレスを示す情報を含むようにすることもできる。
具体的には、例えば、上述したように、転送元アドレスレジスタ820に書き込まれる情報、転送先アドレスレジスタ821に書き込まれる情報、要求転送長レジスタ822に書き込まれる情報、転送単位レジスタ823に書き込まれる情報、FIFO設定レジスタ824に書き込まれる情報、転送方向レジスタ825に書き込まれる情報、最終データ格納アドレスレジスタ828に書き込まれる情報、制御情報格納レジスタ829に書き込まれる情報を含むようにすることができる。
そしてDMA800が、データ転送情報に基づいて、データ格納メモリ117に書き込まれた書き込みデータのリード要求をメモリコントローラ840に送信する。具体的にはDMA800がメモリコントローラ840のリードアドレスレジスタ843に、書き込みデータの記憶アドレスを書き込んで書き込みデータの読み出しを指示する。
そして、メモリコントローラ840が、書き込みデータのデータ格納メモリ117からの読み出しを開始し(S1007)、DMA800が、データ格納メモリ117から読みだされる書き込みデータのキャッシュメモリ130への転送を開始する。
ホストI/F制御LSI115及びDMA800は、それぞれ、データ転送が終了すると、プロセッサ119に転送終了報告を送信する(S1008、S1009)。これによりキャッシュメモリ130へのデータ転送が終了する(S1010)。
次に、ホストI/F制御LSI115が情報処理装置200からデータ読み出し要求を受信した場合の処理の流れを示すフローチャートを図13に示す。また読み出しデータの流れを示すデータフローを図14及び図15に示す。なお、図13に示すフローチャートは、オープン系チャネル制御部110における処理の流れを示す。メインフレーム系チャネル制御部110における処理の流れについては後述する。
また、図14と図15はいずれも、ホストI/F制御LSI115が2種類のデータ読み出し要求を受信し、それぞれの読み出しデータがDMA0(800)及びDMA1(800)によりキャッシュメモリ130から読み出され、データ格納メモリ117を経由してホストI/F制御LSI115に転送されるまでの様子を示すものである。図14、図15において、第1の読み出しデータはデータブロック毎に網掛け模様で示され、第2の読み出しデータはデータブロック毎に白抜き模様で示されている。
なお、図15においては第1の読み出しデータはデータブロック毎に(A1)、(A2)、(A3)、(A4)で示され、第2の読み出しデータはデータブロック毎に(B1)、(B2)で示されている。また図14及び図15において”W”は「Write」を表し、”R”は「Read」を表す。情報処理装置200に送信される読み出しデータは、上述したように所定のデータブロックに分割されて送信されるが、図14及び図15には、各読み出しデータがデータ格納メモリ117で所定のデータブロックに分割されてホストI/F制御LSI115に転送される様子が示されている。
図13において、まずホストI/F制御LSI115が情報処理装置200からデータ読み出し要求を受信すると(S2000)、ホストI/F制御LSI115はデータ読み出し要求をプロセッサ(MP)119に送信する(S2001)。プロセッサ119がデータ読み出し要求を受信すると(S2002)、プロセッサ119が、データ転送情報をDMA800に送信する(S2003)。そうすると、DMA800が、データ転送情報に基づいて、キャッシュメモリ130からの読み出しデータの読み出しを開始し、DMA800が、読み出しデータのデータ格納メモリ117における記憶位置を示す情報と読み出しデータとのメモリコントローラ840への送信を開始し、メモリコントローラ840が、読み出しデータのデータ格納メモリ117への書き込みを開始する(S2004)。
一方、プロセッサ119は、読み出しデータのデータ格納メモリ117における記憶位置を示す情報を含む記憶位置情報をホストI/F制御LSI115に送信する(S2005)。そうすると、ホストI/F制御LSI115は、記憶位置情報に基づいて、データ格納メモリ117に書き込まれた読み出しデータのリード要求をメモリコントローラ840へ送信し、メモリコントローラ840が、読み出しデータのデータ格納メモリ117からの読み出しを開始する(S2007)。そしてホストI/F制御LSI115が、データ格納メモリ117から読みだされる読み出しデータを情報処理装置200に送信する。
ホストI/F制御LSI115及びDMA800は、それぞれ、データ転送が終了すると、プロセッサ119に転送終了報告を送信する(S2008、S2009)。これにより情報処理装置200へのデータ転送が終了する(S2010)。
ここで、前述したように、本実施の形態に係るストレージ制御装置100においては、各DMA800に対して複数のFIFOをデータ格納メモリ117上に構成するようにすることができる。その様子を図16及び図18に示す。図16には、メモリコントローラ840に設けられるライトアドレスレジスタ842やリードアドレスレジスタ843を、各DMA800に対して1つずつ備える場合に、各DMA800に対して複数のFIFOをデータ格納メモリ117上に構成する場合を示す。図18には、メモリコントローラ840に設けられるライトアドレスレジスタ842やリードアドレスレジスタ843を、各DMA800に対して複数備える場合に、各DMA800に対して複数のFIFOをデータ格納メモリ117上に構成する場合を示す。
図16に示す構成の場合は、ライトアドレスレジスタ842やリードアドレスレジスタ843を各DMA800に対して1つしか備えていないので、ホストI/F制御LSI115が複数のデータ入出力要求を情報処理装置200から受信した場合に、一つ目のデータ入出力要求に対応するデータのデータ格納メモリ117への読み書きを行っている間は、2つ目のデータ入出力要求に対応するデータのデータ格納メモリ117への読み書きを行うことができない。つまり2つめのデータ入出力要求に対応するデータのデータ格納メモリ117への読み書きは、1つめのデータ入出力要求に対応するデータのデータ格納メモリ117への読み書きが終了してからでなければ行うことができない。しかしながら、各DMA800に対して複数のFIFOをデータ格納メモリ117上に構成するようにすることで、データ格納メモリ117を制御しているプロセッサ119は、各データ入出力要求のそれぞれに対してFIFOをデータ格納メモリ117に設定しておくことができるので、ホストI/F制御LSI115に対して、データ格納メモリ117へのデータ書き込み指示、あるいはデータ格納メモリ117からのデータ読み出し指示を先に行っておくことが可能となる。これにより、情報処理装置200から先に送信されたデータ入出力要求に対するデータの読み書き処理が終了していない間に、次のデータ入出力要求が情報処理装置200から送信された場合であっても、プロセッサ119は、各データ入出力要求に対する処理を行っておくことが可能となる。これにより、データ入出力性能の向上を図ることが可能となる。
ホストI/F制御LSI115が情報処理装置200から2つのデータ書き込み要求を受信した場合の処理の流れを示すフローチャートを図17に示す。
まず、ホストI/F制御LSI115が情報処理装置200から一つ目のデータ書き込み要求を受信すると(S3000)、ホストI/F制御LSI115は一つ目のデータ書き込み要求をプロセッサ(MP)119に送信する(S3001)。そしてプロセッサ119が一つ目のデータ書き込み要求を受信する(S3002)。次に、ホストI/F制御LSI115が情報処理装置200から二つ目のデータ書き込み要求を受信すると(S3003)、ホストI/F制御LSI115は二つ目のデータ書き込み要求をプロセッサ(MP)119に送信する(S3004)。そしてプロセッサ119が二つ目のデータ書き込み要求を受信する(S3005)。そうすると、プロセッサ119は一つ目の書き込みデータのデータ格納メモリ117における記憶位置を示す情報を含む記憶位置情報と二つ目の書き込みデータのデータ格納メモリ117における記憶位置を示す情報を含む記憶位置情報とをホストI/F制御LSI115に送信する(S3006)。そうすると、ホストI/F制御LSI115は、まず一つ目の書き込みデータのデータ格納メモリ117へのデータ転送を開始する(S3007)。具体的には、ホストI/F制御LSI115が、一つ目の書き込みデータのデータ格納メモリ117における記憶位置を示す情報と一つ目の書き込みデータとのメモリコントローラ840への送信を開始し、メモリコントローラ117が、ライトアドレスレジスタ842に書き込まれた一つ目の書き込みデータのデータ格納メモリ117における記憶位置を示す情報に従って、一つ目の書き込みデータのデータ格納メモリ117への書き込みを開始する(S3009)。
一方プロセッサ119は、DMA800に対して一つ目のデータ書き込み要求に対するデータ転送情報を送信する(S3008)。
そしてDMA800が、一つ目のデータ転送情報に基づいて、データ格納メモリ117に書き込まれた一つ目の書き込みデータのリード要求をメモリコントローラ840に送信する。具体的にはDMA800がメモリコントローラ840のリードアドレスレジスタ843に、一つ目の書き込みデータの記憶アドレスを書き込んで一つ目の書き込みデータの読み出しを指示する。
そして、メモリコントローラ840が、一つ目の書き込みデータのデータ格納メモリ117からの読み出しを開始し(S3012)、DMA800が、データ格納メモリ117から読みだされる一つ目の書き込みデータのキャッシュメモリ130への転送を開始する。
ホストI/F制御LSI115及びDMA800は、それぞれ、データ転送が終了すると、プロセッサ119に転送終了報告を送信する(S3010、S3013)。これによりキャッシュメモリ130への一つ目の書き込みデータのデータ転送が終了する(S3014)。
一方、ホストI/F制御LSI115は、一つ目の書き込みデータのデータ格納メモリ117へのデータ転送が終了すると(S3010)、二つ目の書き込みデータのデータ格納メモリ117へのデータ転送を開始する(S3011)。具体的には、ホストI/F制御LSI115が、二つ目の書き込みデータのデータ格納メモリ117における記憶位置を示す情報と二つ目の書き込みデータとのメモリコントローラ840への送信を開始し、メモリコントローラ117が、ライトアドレスレジスタ842に書き込まれた二つ目の書き込みデータのデータ格納メモリ117における記憶位置を示す情報に従って、二つ目の書き込みデータのデータ格納メモリ117への書き込みを開始する(S3016)。
一方プロセッサ119は、DMA800に対して二つ目のデータ書き込み要求に対するデータ転送情報を送信する(S3015)。
そしてDMA800が、二つ目のデータ転送情報に基づいて、データ格納メモリ117に書き込まれた二つ目の書き込みデータのリード要求をメモリコントローラ840に送信する。具体的にはDMA800がメモリコントローラ840のリードアドレスレジスタ843に、二つ目の書き込みデータの記憶アドレスを書き込んで二つ目の書き込みデータの読み出しを指示する。
そして、メモリコントローラ840が、二つ目の書き込みデータのデータ格納メモリ117からの読み出しを開始し(S3017)、DMA800が、データ格納メモリ117から読みだされる二つ目の書き込みデータのキャッシュメモリ130への転送を開始する。
ホストI/F制御LSI115及びDMA800は、それぞれ、データ転送が終了すると、プロセッサ119に転送終了報告を送信する(S3018、S3019)。これによりキャッシュメモリ130への二つ目の書き込みデータのデータ転送が終了する(S3020)。
一方、図18に示す構成の場合は、ライトアドレスレジスタ842やリードアドレスレジスタ843を各DMA800に対して複数備えているので、ホストI/F制御LSI115が複数のデータ入出力要求を情報処理装置200から受信した場合であっても、一つ目のデータ入出力要求に対応するデータのデータ格納メモリ117への読み書きを行っている間に、2つ目のデータ入出力要求に対応するデータのデータ格納メモリ117への読み書きを行うことができる。これにより、情報処理装置200から先に送信されたデータ入出力要求に対するデータの読み書き処理が終了していない間に、次のデータ入出力要求が情報処理装置200から送信された場合であっても、各データ入出力処理を並行して実行することが可能となるので、データ入出力性能をさらに向上させることが可能となる。
なお、図8に示した本実施の形態に係るデータ転送装置114のように、各DMA800には一つのライトアドレスレジスタ842と一つのリードアドレスレジスタ843とが備えられるがDMA800が複数備えられる構成は、例えば、DMA800は一つしか備えられていないが複数のライトアドレスレジスタ842と複数のリードアドレスレジスタ843とが備えられる構成と比較して、いずれも、ホストI/F制御LSI115が複数のデータ入出力要求を情報処理装置200から受信した場合であっても、一つ目のデータ入出力要求に対応するデータのデータ格納メモリ117への読み書きを行っている間に、2つ目のデータ入出力要求に対応するデータのデータ格納メモリ117への読み書きを行うことができ、データ入出力性能をより向上させることが可能となる点においては、同等である。
つまりまず、ライトアドレスレジスタ842やリードアドレスレジスタ843を各DMA800に対して複数備えている構成において、ホストI/F制御LSI115が情報処理装置200から2つのデータ書き込み要求を受信した場合には、DMA800が、第1のライトアドレスレジスタ842に、一つ目のデータ入出力要求に対応する書き込みデータのデータ格納メモリ117における書き込みアドレスを指定することにより、データ格納メモリ117への読み書きを行っている間に、第2のライトアドレスレジスタ842に、二つ目のデータ入出力要求に対応する書き込みデータのデータ格納メモリ117における書き込みアドレスを指定することにより、データ格納メモリ117への読み書きを行うことができる。
一方、図8に示した本実施の形態に係るデータ転送装置114のように、各DMA800には一つのライトアドレスレジスタ842と一つのリードアドレスレジスタ843とが備えられるがDMA800が複数備えられる構成において、ホストI/F制御LSI115が情報処理装置200から2つのデータ書き込み要求を受信した場合には、第1のDMA800が、ライトアドレスレジスタ842に、一つ目のデータ入出力要求に対応する書き込みデータのデータ格納メモリ117における書き込みアドレスを指定することにより、データ格納メモリ117への読み書きを行っている間に、第2のDMA800が、ライトアドレスレジスタ842に、二つ目のデータ入出力要求に対応する書き込みデータのデータ格納メモリ117における書き込みアドレスを指定することにより、データ格納メモリ117への読み書きを行うことができる。
ところで本実施の形態においては、上述したように、データ格納メモリ117はデータ転送装置114とは別の回路として構成される。そのため、チャネル制御部110の回路基板118を構成する部品点数が増えることになる。一般的に部品点数が増えると故障発生率が上昇する。しかし、ストレージ制御装置100はデータを記憶する記憶ボリューム310を備えるストレージ駆動装置300を制御する装置であるため、ストレージ制御装置100には極めて高い信頼性が要求される。このことから、本実施の形態に係るストレージ制御装置100においては、ホストI/F制御LSI115とキャッシュメモリ130との間でデータ転送を行う際に、図19乃至図21に示すように、転送されるデータにチェックコード(保証コード)を付加することにより、信頼性の向上を図っている。
すなわち、図19に示すように、ホストI/F制御LSI115からキャッシュメモリ130へデータが転送される場合には、ホストI/F制御LSI115が、書き込みデータの送信の際に、所定量の書き込みデータ毎に、所定量の書き込みデータを所定のアルゴリズムに従って変換して算出した変換データと所定量の書き込みデータの誤り有無を示す誤り有無データとを含むチェックコードを付加する。そして DMA800が、書き込みデータをデータ格納メモリ117からキャッシュメモリ130へ転送する際に、所定量の書き込みデータ毎に、所定量の書き込みデータを所定のアルゴリズムに従って変換して算出したデータと所定量の書き込みデータに付加されたチェックコードの変換データとを比較し、比較の結果に応じて、書き込みデータのキャッシュメモリ130への転送を中止する。
ここで、所定量の書き込みデータとは例えば512B(バイト)とすることができる。もちろん、その他のデータ長とすることができる。また所定のアルゴリズムとは、例えばCRC(Cyclic Redundancy Check)とすることができる。その他、パリティチェックやハミングコードチェック等とすることもできる。また誤り有無データとは、所定量の書き込みデータに誤りがあるか否かを示すデータであり、例えば、誤りがある場合には「0」とし、誤りがない場合には「1」とすることができる。もちろん、その他のデータとすることもできる。また、比較の結果に応じて書き込みデータのキャッシュメモリ130への転送を中止するとは、例えば、所定量の書き込みデータを所定のアルゴリズムに従って変換して算出したデータと、所定量の書き込みデータに付加されたチェックコードの変換データとが一致しない場合には、書き込みデータのキャッシュメモリ130への転送を中止するようにすることができる、という意味である。もちろん、アルゴリズムによっては、例えば、所定量の書き込みデータを所定のアルゴリズムに従って変換して算出したデータと、所定量の書き込みデータに付加されたチェックコードの変換データとが一致する場合には、書き込みデータのキャッシュメモリ130への転送を中止するようにすることもできる。
所定量のデータにチェックコードが付加された状態のデータを示す一例を図20に示す。データ部710は、情報処理装置200との間で送受信される書き込みデータあるいは読み出しデータの所定量のデータである。チェックコード720は、タグ721と変換データ722とを備える。変換データ722は、所定量の書き込みデータ710を所定のアルゴリズムに従って変換して算出した変換データである。タグ721は、所定量の書き込みデータの誤り有無を示す誤り有無データである。
また、図21に示すように、キャッシュメモリ130からホストI/F制御LSI115へデータが転送される場合には、DMA800が、キャッシュメモリ130からデータ格納メモリ117へ読み出しデータを送信する際に、所定量の読み出しデータ毎に、所定量の読み出しデータを所定のアルゴリズムに従って変換して算出した変換データと所定量の読み出しデータの誤り有無を示す誤り有無データとを含むチェックコードを付加する。そして、DMA800が、データ格納メモリ117から所定量の読み出しデータを読みだす毎に、所定量の読み出しデータを所定のアルゴリズムに従って変換して算出したデータと所定量の読み出しデータに付加されたチェックコードの変換データとを比較し、比較の結果に応じて、チェックコードに、読み出しデータに誤りがあることを示す所定のデータを書き込む。そして、ホストI/F制御LSI115は、所定量の読み出しデータ毎に付加されるチェックコードに、読み出しデータに誤りがあることを示す所定のデータが書き込まれている場合には、読み出しデータの情報処理装置200への送信を中止する。
ここで、DMA800が、データ格納メモリ117から所定量の読み出しデータを読みだす毎に、所定量の読み出しデータを所定のアルゴリズムに従って変換して算出したデータと所定量の読み出しデータに付加されたチェックコードの変換データとを比較し、比較の結果に応じてチェックコードに書き込まれる、読み出しデータに誤りがあることを示す所定のデータは、上述の誤り有無データにおける、誤り有りを示すデータであり、例えば「0」とすることができる。
このようにすることにより、ホストI/F制御LSI115は、DMA800から送信された読み出しデータに誤りがあることを検知することができる。これにより、ホストI/F制御LSI115は、誤りのあるデータを情報処理装置200へ送信してしまうことを防止することが可能となる。
さらに、以下に記す効果も奏することが可能となる。すなわち、ホストI/F制御LSI115とDMA800との間は、上述したようにPCIバスで接続されている。PCIバスの規格においては、ホストI/F制御LSI115が一旦データのリード要求を出すと、そのリード要求を取り下げることができない。つまりPCIバス規格においては、一旦リード要求が出されると、そのリード要求に対応するデータを受信するか、PCIバスがリセットされるまで、ホストI/F制御LSI115は、そのリード要求に対応するデータが送信されてくるのをいつまでも待ち続ける。従って、DMA800は、データ格納メモリ117から読み出した読み出しデータに誤りがあることを検知した場合にも、何らかのデータをホストI/F制御LSI115に送信しなくてはならない。さも無くば、ホストI/F制御LSI115は、データが送られてくるのを永久に待ち続けるからである。しかしながら、データ格納メモリ117から読み出した読み出しデータをホストI/F制御LSI115に送信してしまうと、ホストI/F制御LSI115により、誤りのあるデータが情報処理装置200に送信されてしまうことになる。その場合、情報処理装置200はその読み出しデータに誤りがあることを検知できないまま、プログラム220Aの実行を行ってしまう。一方で、データ格納メモリ117から読み出した、誤りのある読み出しデータをホストI/F制御LSI115に送信しないようにするために、PCIバスをリセットするようにすると、そのPCIバスを使用して送信中の全ての読み出しデータや書き込みデータがリセットされてしまうことになる。
そこで、本実施の形態においては、上述のように、DMA800が、データ格納メモリ117から所定量の読み出しデータを読みだす毎に、所定量の読み出しデータを所定のアルゴリズムに従って変換して算出したデータと所定量の読み出しデータに付加されたチェックコードの変換データとを比較し、比較の結果に応じて、チェックコードに、読み出しデータに誤りがあることを示す所定のデータを書き込むようにする。そうすれば、リード要求を既に出したホストI/F制御LSI115が読み出しデータが送信されてくるのを永久に待ち続けることを回避可能となると共に、ホストI/F制御LSI115は、所定量の読み出しデータ毎に付加されるチェックコードに、読み出しデータに誤りがあることを示す所定のデータが書き込まれていることを検知することにより、誤りのある読み出しデータを情報処理装置200へ送信することを中止することができるのである。
次に、本実施の形態に係るストレージ制御装置100が備えるメインフレーム系チャネル制御部110におけるデータ転送の概要について図22乃至図26を用いて説明する。上述のように、メインフレームコンピュータに接続されたストレージ制御装置100及びストレージ駆動装置300は、メインフレームコンピュータからのデータ入出力要求に対して、短時間にデータ入出力処理を行うことが求められる。そのため、メインフレーム系チャネル制御部110におけるデータ転送の処理は、オープン系チャネル制御部におけるデータ転送の処理と異なっている。
まずホストI/F制御LSI115が情報処理装置200からデータ書き込み要求を受信した場合の処理の流れを示すフローチャートを図23及び図24に示す。図23は、情報処理装置200から送信される書き込みデータを全てデータ格納メモリ117に書き込んでから、キャッシュメモリ130に送信する場合のフローチャートである。図24は、情報処理装置200から送信される書き込みデータをデータ格納メモリ117に書き込みつつ、全ての書き込みデータがデータ格納メモリ117に書き込まれる前に、キャッシュメモリ130に送信を開始する場合のフローチャートである。
まず図23において、ホストI/F制御LSI115が情報処理装置200からデータ書き込み要求を受信すると(S4000)、ホストI/F制御LSI115が、書き込みデータのデータ格納メモリ117における記憶位置を示す情報と書き込みデータとのメモリコントローラ840への送信を開始する(S4001)。メインフレーム系チャネル制御部110においては、データ格納メモリ117におけるデータの記憶位置は、ホストI/F制御LSI115が制御しているからである。これにより、ホストI/F制御LSI115が情報処理装置200からデータ書き込み要求を受信した際に、プロセッサ119との間での通信が不要となるので、その分、書き込みデータのデータ格納メモリ117への書き込みを早く開始することができる。
一方で、ホストI/F制御LSI115は、書き込みデータのデータ格納メモリ117における記憶位置を示す情報を含む記憶位置情報をプロセッサ119に送信する(S4001)。このときプロセッサ119が他の情報処理を行っている等の理由で、ホストI/F制御LSI115とプロセッサ119との間でなかなか通信が成立しない場合があるが、そのような場合であっても、メモリコントローラ117が、ライトアドレスレジスタ842に書き込まれた書き込みデータのデータ格納メモリ117における記憶位置を示す情報に従って、書き込みデータのデータ格納メモリ117への書き込みを開始する(S4002、S4003)。ホストI/F制御LSI115とプロセッサ119との間で通信が成立しないまま、全ての書き込みデータのデータ格納メモリ117への書き込みが終了した場合には(S4004)、ホストI/F制御LSI115は、プロセッサ119に転送終了報告を送信する(S4005)。この転送終了報告には、書き込みデータのデータ格納メモリ117における記憶位置を示す情報と、書き込みデータのデータ格納メモリ117における最終書き込みアドレスを示す情報を含む記憶位置情報が含まれる。
プロセッサ119が記憶位置情報を受信すると(S4006)、プロセッサ119は、データ転送情報をDMA800に送信する(S4007)。
そしてDMA800が、データ転送情報に基づいて、データ格納メモリ117に書き込まれた書き込みデータのリード要求をメモリコントローラ840に送信する。具体的にはDMA800がメモリコントローラ840のリードアドレスレジスタ843に、書き込みデータの記憶アドレスを書き込んで書き込みデータの読み出しを指示する。
そして、メモリコントローラ840が、書き込みデータのデータ格納メモリ117からの読み出しを開始し(S4008)、DMA800が、データ格納メモリ117から読みだされる書き込みデータのキャッシュメモリ130への転送を開始する。DMA800は、データ転送が終了すると、プロセッサ119に転送終了報告を送信する(S4009)。これによりキャッシュメモリ130へのデータ転送が終了する(S4010)。
次に図24において、ホストI/F制御LSI115が情報処理装置200からデータ書き込み要求を受信すると(S5000)、ホストI/F制御LSI115が、書き込みデータのデータ格納メモリ117における記憶位置を示す情報と書き込みデータとのメモリコントローラ840への送信を開始する(S5001)。そしてホストI/F制御LSI115は、書き込みデータのデータ格納メモリ117における記憶位置を示す情報を含む記憶位置情報をプロセッサ119に送信する(S5001)。このときホストI/F制御LSI115とプロセッサ119との間で通信が成立した場合には、プロセッサ119は、書き込みデータのデータ格納メモリ117における記憶位置を示す情報を含む記憶位置情報を受信する(S5002)。
一方で、メモリコントローラ117は、ライトアドレスレジスタ842に書き込まれた書き込みデータのデータ格納メモリ117における記憶位置を示す情報に従って、書き込みデータのデータ格納メモリ117への書き込みを開始する(S5003、S5004)。
プロセッサ119は、ホストI/F制御LSI115に対して、FIFOでデータ転送を行うことを通知すると共に(S5005)、データ転送情報をDMA800に送信する(S5006、S5008)。S5006に記されているデータ格納アドレスをFIFO空間に設定するのは、FIFO設定レジスタ824にデータ格納メモリ117をFIFOとして使用する旨の情報が書き込まれるようにデータ転送情報を設定することにより行うことができる。DMA800は、TOPアドレスレジスタ826、及びBOTTOMアドレスレジスタ827により、データ格納量の監視を行い(S5007)、データ格納量が転送単位になったら、データ格納メモリ117からのリードを開始する(S5009)。データ格納メモリ117からのリードは、具体的には、DMA800が、データ転送情報に基づいて、データ格納メモリ117に書き込まれた書き込みデータのリード要求をメモリコントローラ840に送信し、メモリコントローラ840が、書き込みデータのデータ格納メモリ117からの読み出しを開始することにより行われる。
ホストI/F制御LSI115からデータ格納メモリ117への全ての書き込みデータの書き込みが終了した場合には(S5010)、ホストI/F制御LSI115は、書き込みデータのデータ格納メモリ117における最終書き込みアドレスを示す情報と、制御情報とを含む記憶位置情報をプロセッサ119に送信する(S5011)。そしてプロセッサ119は、書き込みデータのデータ格納メモリ117における最終書き込みアドレスを示す情報と、制御情報とを含むデータ転送情報をDMA800に送信する。そしてDMA800は、最終書き込みアドレスを示す情報を最終データ格納アドレスレジスタ828に書き込み、制御情報を制御情報格納レジスタ829に書き込む。なお、書き込みデータのデータ格納メモリ117における最終書き込みアドレスを示す情報と、制御情報とを含む記憶位置情報は、図24に示すようにホストI/F制御LSI115からDMA800に対して直接送信されるようにすることもできる。DMA800は、最終データ格納アドレスレジスタ828と、制御情報格納レジスタ829に基づいて、データ格納メモリ117からキャッシュメモリ130へのデータ転送が終了したことを認識すると(S5012)、プロセッサ119に転送終了報告を送信する(S5013)。これによりキャッシュメモリ130へのデータ転送が終了する(S5014)。
次にホストI/F制御LSI115が情報処理装置200からデータ読み出し要求を受信した場合の処理の流れを示すフローチャートを図25に示す。
まずホストI/F制御LSI115が情報処理装置200からデータ読み出し要求を受信すると(S6000)、ホストI/F制御LSI115は、読み出しデータのデータ格納メモリ117における記憶位置を示す情報を含む記憶位置情報をプロセッサ119に送信する(S6001)。プロセッサ119は、記憶位置情報を受信すると(S6002)、データ転送情報をDMA800に送信する(S6003、S6005)。S6003に記されているデータ格納アドレスをFIFO空間に設定するのは、FIFO設定レジスタ824にデータ格納メモリ117をFIFOとして使用する旨の情報が書き込まれるようにデータ転送情報を設定することにより行うことができる。DMA800は、TOPアドレスレジスタ826、BOTTOMアドレスレジスタ827により、データ格納量の監視を行い(S6004)、データ転送情報に基づいて、キャッシュメモリ130からの読み出しデータの読み出しを開始する。そしてDMA800は、読み出しデータのデータ格納メモリ117における記憶位置を示す情報と読み出しデータとのメモリコントローラ840への送信を開始する。そしてメモリコントローラ840が、読み出しデータのデータ格納メモリ117への書き込みを開始する(S6006)。
一方、プロセッサ119が、データ格納メモリ117へ読み出しデータの書き込みが開始されたことをホストI/F制御LSI115に通知すると(S6007)、ホストI/F制御LSI115は、データ格納メモリ117に書き込まれた読み出しデータのリード要求をメモリコントローラ840へ送信し、メモリコントローラ840が読み出しデータのデータ格納メモリ117からの読み出しを開始する(S6009)。そしてホストI/F制御LSI115が、データ格納メモリ117から読みだされる読み出しデータを情報処理装置200に送信する。
ホストI/F制御LSI115及びDMA800は、それぞれ、データ転送が終了すると、プロセッサ119に転送終了報告を送信する(S6010、S6012)。これにより情報処理装置200へのデータ転送が終了する(S6011)。
また本実施の形態に係るメインフレーム系チャネル制御部110においては、ホストI/F制御LSI115とキャッシュメモリ130との間でデータ転送を行う際に、転送されるデータにチェックコード(保証コード)を付加することにより、信頼性の向上を図っている。
ホストI/F制御LSI115からキャッシュメモリ130へデータが転送される場合には、ホストI/F制御LSI115が、書き込みデータの送信の際に、所定量の書き込みデータ毎に、所定量の書き込みデータを所定のアルゴリズムに従って変換して算出した変換データと所定量の書き込みデータの誤り有無を示す誤り有無データとを含むチェックコードを付加する。そして DMA800が、書き込みデータをデータ格納メモリ117からキャッシュメモリ130へ転送する際に、所定量の書き込みデータ毎に、所定量の書き込みデータを所定のアルゴリズムに従って変換して算出したデータと所定量の書き込みデータに付加されたチェックコードの変換データとを比較し、比較の結果に応じて、書き込みデータのキャッシュメモリ130への転送を中止する。
また、キャッシュメモリ130からホストI/F制御LSI115へデータが転送される場合には、DMA800が、キャッシュメモリ130からデータ格納メモリ117へ読み出しデータを送信する際に、所定量の読み出しデータ毎に、所定量の読み出しデータを所定のアルゴリズムに従って変換して算出した変換データと所定量の読み出しデータの誤り有無を示す誤り有無データとを含むチェックコードを付加する。そして、DMA800が、データ格納メモリ117から所定量の読み出しデータを読みだす毎に、所定量の読み出しデータを所定のアルゴリズムに従って変換して算出したデータと所定量の読み出しデータに付加されたチェックコードの変換データとを比較し、比較の結果に応じて、チェックコードに、読み出しデータに誤りがあることを示す所定のデータを書き込む。そして、ホストI/F制御LSI115は、所定量の読み出しデータ毎に付加されるチェックコードに、読み出しデータに誤りがあることを示す所定のデータが書き込まれている場合には、読み出しデータの情報処理装置200への送信を中止する。
このようにすることにより、ホストI/F制御LSI115は、DMA800から送信された読み出しデータに誤りがあることを検知することができる。これにより、ホストI/F制御LSI115は、誤りのあるデータを情報処理装置200へ送信してしまうことを防止することが可能となる。
上述したように、メインフレーム系チャネル制御部110の場合には、プロセッサ119が知らない間に、ホストI/F制御LSI115からデータ格納メモリ117への全書き込みデータの書き込みが終了してしまう場合や、情報処理装置200からの書き込みデータの送信が、情報処理装置200から送信されたデータ書き込み要求に記述された書き込みデータ長に至らないまま終了してしまう場合がある。このような場合にその旨の情報をDMA800に知らせないと、DMA800は、いつまでもホストI/F制御LSI115からの書き込みデータの続きが送信されるのを待ち続けることになる。これを回避するために、図26に示すように、本実施の形態に係るデータ転送装置114は、最終データ格納アドレスレジスタ828、及び制御情報格納レジスタ829を備えている。最終データ格納アドレスレジスタ828には、情報処理装置200から送信される全ての書き込みデータが、ホストI/F制御LSI115によりデータ格納メモリ117に書き込まれた場合に、そのデータの最終書き込みアドレスを示す情報が書き込まれる。また制御情報格納レジスタ829には、情報処理装置200から送信されたデータ書き込み要求に記述された書き込みデータ長よりも短いデータしか送信されない旨の情報を、ホストI/F制御LSI115が情報処理装置200から受信した場合などに、その旨の制御情報が書き込まれる。
以上説明したように、本実施の形態に係るストレージ制御装置100においては、オープン系チャネル制御部110と、メインフレーム系チャネル制御部110とを備えることにより、情報処理装置200に対して、データ入出力性能の異なる2つのストレージ制御装置100を提供することが可能となる。つまり、オープン系の情報処理装置200とメインフレーム系の情報処理装置200とでは、前者が比較的コストを重視する傾向があり、後者が比較的性能を重視する傾向がある点で、ストレージシステム600に求める特性に相違があるが、両者のいずれの要求にも柔軟に対応可能なストレージシステム600を提供することが可能となる。つまり、情報処理装置100が要求するストレージ制御装置100のデータ入出力性能に応じて、適切なデータ入出力性能を情報処理装置200に提供することが可能となる。
また本実施の形態に係るストレージ制御装置100が備えるチャネル制御部110においては、データ格納メモリ117をFIFOとして使用することができる。ここでデータ格納メモリ117はデータ転送装置114とは別の回路として構成される。これにより、必要に応じた大きさの記憶容量のFIFOを一つ又は複数必要に応じて構成することができるようになる。
これにより、本実施の形態におけるストレージ制御装置100においては、情報処理装置200から送信されるデータ入出力要求に対する処理をより高速に行うことが可能となる。つまりデータの読み書きをより高速化することが可能となる。またより多くの情報処理装置200からより大量のデータ入出力要求を受信して、データの読み書きを行うことが可能となる。
さらに本実施の形態に係るストレージ制御装置100においては、ホストI/F制御LSI115とキャッシュメモリ130との間でデータ転送を行う際に、転送されるデータにチェックコードを付加するようにすることにより、信頼性の向上を図ることも可能となる。
以上発明を実施するための最良の形態について説明したが、上記実施の形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得ると共に、本発明にはその等価物も含まれる。
本実施の形態に係るストレージシステムの全体構成を示すブロック図である。 本実施の形態に係るストレージシステムの外観構成を示す図である。 本実施の形態に係るストレージ制御装置の外観構成を示す図である。 本実施の形態に係る管理端末の構成を示すブロック図である。 本実施の形態に係るチャネル制御部を示すブロック図である。 本実施の形態に係るディスク制御部を示すブロック図である。 本実施の形態に係る情報処理装置を示すブロック図である。 本実施の形態に係るデータ転送装置を示す図である。 本実施の形態に係るデータ転送を説明するための図である。 本実施の形態に係るデータ書き込み処理の流れを示すフローチャートである。 本実施の形態に係る書き込みデータの流れを示すデータフローである。 本実施の形態に係る書き込みデータの流れを示すデータフローである。 本実施の形態に係るデータ読み出し処理の流れを示すフローチャートである。 本実施の形態に係る読み出しデータの流れを示すデータフローである。 本実施の形態に係る読み出しデータの流れを示すデータフローである。 他の実施形態に係るFIFOを説明するための図である。 本実施の形態に係る複数のデータ書き込み処理の流れを示すフローチャートである。 本実施の形態に係るFIFOを説明するための図である。 本実施の形態に係るチェックコードを説明するための図である。 本実施の形態に係るチェックコードを説明するための図である。 本実施の形態に係るチェックコードを説明するための図である。 本実施の形態に係るデータ転送を説明するための図である。 本実施の形態に係るデータ書き込み処理の流れを示すフローチャートである。 本実施の形態に係るデータ書き込み処理の流れを示すフローチャートである。 本実施の形態に係るデータ読み出し処理の流れを示すフローチャートである。 本実施の形態に係るデータ転送を説明するための図である。 本実施の形態に係るチャネル制御部を示すブロック図である。
符号の説明
100 ストレージ制御装置 110 チャネル制御部
114 データ転送装置 115 ホストI/F制御LSI
117 データ格納メモリ 119 プロセッサ
120 共有メモリ 130 キャッシュメモリ
140 ディスク制御部 150 内部接続部
160 管理端末 200 情報処理装置
300 ストレージ駆動装置 500 SAN
600 ストレージシステム 720 チェックコード
721 タグ 722 変換データ
800 DMA 810 DMA制御部
820 転送元アドレスレジスタ 821 転送先アドレスレジスタ
822 要求転送長レジスタ 823 転送単位レジスタ
824 FIFO設定レジスタ 825 転送方向レジスタ
826 TOPアドレスレジスタ 827 BOTTOMアドレスレジスタ
828 最終データ格納アドレスレジスタ 829 制御情報格納レジスタ
840 メモリコントローラ 841 メモリ制御部
842 ライトアドレスレジスタ 843 リードアドレスレジスタ

Claims (10)

  1. 第1の情報処理装置からデータ入出力要求を受信し、前記第1の情報処理装置との間でデータの送受信を行う第1のチャネル制御部と、
    第2の情報処理装置からデータ入出力要求を受信し、前記第2の情報処理装置との間でデータの送受信を行う第2のチャネル制御部と、
    前記データ入出力要求に応じて、データを記憶する記憶ボリュームに対してデータの読み書きを行うディスク制御部と、
    前記第1のチャネル制御部、前記第2のチャネル制御部、及び前記ディスク制御部の間で授受されるデータを記憶するキャッシュメモリと、
    を備え、
    前記第1のチャネル制御部は、
    第1のメモリと、
    前記第1の情報処理装置からデータ入出力要求を受信し、前記第1のメモリと前記第1の情報処理装置との間のデータの送受信を制御する第1の入出力制御部と、
    前記第1のメモリ及び前記キャッシュメモリを制御する第1のプロセッサと、
    前記第1のメモリへのデータの読み書きを行う第1のメモリコントローラ及び前記第1のメモリと前記キャッシュメモリとの間のデータ転送を制御する第1のデータ転送制御部を有する第1のデータ転送装置と、
    を備え、
    前記第2のチャネル制御部は、
    第2のメモリと、
    前記第2のメモリを制御し、前記第2の情報処理装置からデータ入出力要求を受信し、前記第2のメモリと前記第2の情報処理装置との間のデータの送受信を制御する第2の入出力制御部と、
    前記キャッシュメモリを制御する第2のプロセッサと、
    前記第2のメモリへのデータの読み書きを行う第2のメモリコントローラ及び前記第2のメモリと前記キャッシュメモリとの間のデータ転送を制御する第2のデータ転送制御部を有する第2のデータ転送装置と、
    を備え、
    前記第1のチャネル制御部は、
    前記第1の入出力制御部が前記第1の情報処理装置から受信した前記データ入出力要求が第1のデータ書き込み要求である場合には、
    前記第1の入出力制御部が、前記第1のデータ書き込み要求を前記第1のプロセッサに送信し、
    前記第1のプロセッサが、前記第1の情報処理装置から送信される第1の書き込みデータの前記第1のメモリにおける記憶位置を示す情報を含む第1の記憶位置情報を前記第1の入出力制御部に送信し、
    前記第1の入出力制御部が、前記第1の書き込みデータの前記第1のメモリにおける記憶位置を示す情報と前記第1の書き込みデータとの前記第1のメモリコントローラへの送信を開始し、
    前記第1のメモリコントローラが、前記第1の書き込みデータの前記第1のメモリへの書き込みを開始し、
    前記第1のプロセッサが、前記第1の書き込みデータの前記第1のメモリにおける記憶位置を示す情報、及び前記第1の書き込みデータの前記キャッシュメモリにおける記憶位置を示す情報を含む第1のデータ転送情報を前記第1のデータ転送制御部に送信し、
    前記第1のデータ転送制御部が、前記第1のデータ転送情報に基づいて、前記第1のメモリに書き込まれた前記第1の書き込みデータのリード要求を前記第1のメモリコントローラに送信し、
    前記第1のメモリコントローラが、前記第1の書き込みデータの前記第1のメモリからの読み出しを開始し、
    前記第1のデータ転送制御部が、前記第1のメモリから読みだされる前記第1の書き込みデータの前記キャッシュメモリへの転送を開始し、
    前記第2のチャネル制御部は、
    前記第2の入出力制御部が前記第2の情報処理装置から受信した前記データ入出力要求が第2のデータ書き込み要求である場合には、
    前記第2の入出力制御部が、前記第2の情報処理装置から送信される第2の書き込みデータの前記第2のメモリにおける記憶位置を示す情報と前記第2の書き込みデータとの前記第2のメモリコントローラへの送信を開始し、
    前記第2のメモリコントローラが、前記第2の書き込みデータの前記第2のメモリへの書き込みを開始し、
    前記第2の入出力制御部が、前記第2の書き込みデータの前記第2のメモリにおける記憶位置を示す情報を含む第2の記憶位置情報を前記第2のプロセッサに送信し、
    前記第2のプロセッサが、前記第2の書き込みデータの前記第2のメモリにおける記憶位置を示す情報、及び前記第2の書き込みデータの前記キャッシュメモリにおける記憶位置を示す情報を含む第2のデータ転送情報を前記第2のデータ転送制御部に送信し、
    前記第2のデータ転送制御部が、前記第2のデータ転送情報に基づいて、前記第2のメモリに書き込まれた前記第2の書き込みデータのリード要求を前記第2のメモリコントローラに送信し、
    前記第2のメモリコントローラが、前記第2の書き込みデータの前記第2のメモリからの読み出しを開始し、
    前記第2のデータ転送制御部が、前記第2のメモリから読みだされる前記第2の書き込みデータの前記キャッシュメモリへの転送を開始すること
    を特徴とするストレージ制御装置。
  2. 前記第1のチャネル制御部は、
    前記第1の入出力制御部が前記第1の情報処理装置から受信した前記データ入出力要求が第1のデータ読み出し要求である場合には、
    前記第1の入出力制御部が、前記第1のデータ読み出し要求を前記第1のプロセッサに送信し、
    前記第1のプロセッサが、前記第1の情報処理装置に送信される第1の読み出しデータの前記キャッシュメモリにおける記憶位置を示す情報、及び前記第1の読み出しデータの前記第1のメモリにおける記憶位置を示す情報を含む第3のデータ転送情報を前記第1のデータ転送制御部に送信し、
    前記第1のデータ転送制御部が、前記第3のデータ転送情報に基づいて、前記キャッシュメモリからの前記第1の読み出しデータの読み出しを開始し、
    前記第1のデータ転送制御部が、前記第1の読み出しデータの前記第1のメモリにおける記憶位置を示す情報と前記第1の読み出しデータとの前記第1のメモリコントローラへの送信を開始し、
    前記第1のメモリコントローラが、前記第1の読み出しデータの前記第1のメモリへの書き込みを開始し、
    前記第1のプロセッサが、前記第1の読み出しデータの前記第1のメモリにおける記憶位置を示す情報を含む第3の記憶位置情報を前記第1の入出力制御部に送信し、
    前記第1の入出力制御部が、前記第3の記憶位置情報に基づいて、前記第1のメモリに書き込まれた前記第1の読み出しデータのリード要求を前記第1のメモリコントローラへ送信し、
    前記第1のメモリコントローラが、前記第1の読み出しデータの前記第1のメモリからの読み出しを開始し、
    前記第1の入出力制御部が、前記第1のメモリから読みだされる前記第1の読み出しデータを前記第1の情報処理装置に送信し、
    前記第2のチャネル制御部は、
    前記第2の入出力制御部が前記第2の情報処理装置から受信した前記データ入出力要求が第2のデータ読み出し要求である場合には、
    前記第2の入出力制御部が、前記第2の情報処理装置に送信される第2の読み出しデータの前記第2のメモリにおける記憶位置を示す情報を含む第4の記憶位置情報を前記第2のプロセッサに送信し、
    前記第2のプロセッサが、前記第2の読み出しデータの前記キャッシュメモリにおける記憶位置を示す情報、及び前記第2の読み出しデータの前記第2のメモリにおける記憶位置を示す情報を含む第4のデータ転送情報を前記第2のデータ転送制御部に送信し、
    前記第2のデータ転送制御部が、前記第4のデータ転送情報に基づいて、前記キャッシュメモリからの前記第2の読み出しデータの読み出しを開始し、
    前記第2のデータ転送制御部が、前記第2の読み出しデータの前記第2のメモリにおける記憶位置を示す情報と前記第2の読み出しデータとの前記第2のメモリコントローラへの送信を開始し、
    前記第2のメモリコントローラが、前記第2の読み出しデータの前記第2のメモリへの書き込みを開始し、
    前記第2の入出力制御部が、前記第2のメモリに書き込まれた前記第2の読み出しデータのリード要求を前記第2のメモリコントローラへ送信し、
    前記第2のメモリコントローラが、前記第2の読み出しデータの前記第2のメモリからの読み出しを開始し、
    前記第2の入出力制御部が、前記第2のメモリから読みだされる前記第2の読み出しデータを前記第2の情報処理装置に送信すること
    を特徴とする請求項1に記載のストレージ制御装置。
  3. 前記第1のチャネル制御部は、
    前記第1の入出力制御部が前記第1の情報処理装置から受信した前記データ入出力要求が第1のデータ書き込み要求である場合には、
    前記第1の入出力制御部が、前記第1のデータ書き込み要求を前記第1のプロセッサに送信し、
    前記第1のプロセッサが、前記第1の記憶位置情報を前記第1の入出力制御部に送信し、
    前記第1の入出力制御部が、前記第1の書き込みデータの前記第1のメモリにおける記憶位置を示す情報と前記第1の書き込みデータとの前記第1のメモリコントローラへの送信を開始し、
    前記第1の入出力制御部が、前記第1の書き込みデータの送信の際に、所定量の前記第1の書き込みデータ毎に、前記所定量の第1の書き込みデータを所定のアルゴリズムに従って変換して算出した変換データと前記所定量の第1の書き込みデータの誤り有無を示す誤り有無データとを含むチェックコードを付加し、
    前記第1のメモリコントローラが、前記第1の書き込みデータ及び前記チェックコードの前記第1のメモリへの書き込みを開始し、
    前記第1のプロセッサが、前記第1のデータ転送情報を前記第1のデータ転送制御部に送信し、
    前記第1のデータ転送制御部が、前記第1のデータ転送情報に基づいて、前記第1のメモリに書き込まれた前記第1の書き込みデータ及び前記チェックコードのリード要求を前記第1のメモリコントローラに送信し、
    前記第1のメモリコントローラが、前記第1の書き込みデータ及び前記チェックコードの前記第1のメモリからの読み出しを開始し、
    前記第1のデータ転送制御部が、前記第1のメモリから読みだされる前記第1の書き込みデータの前記キャッシュメモリへの転送を開始し、
    前記第1のデータ転送制御部が、前記第1の書き込みデータの転送の際に、前記所定量の第1の書き込みデータ毎に、前記所定量の第1の書き込みデータを前記所定のアルゴリズムに従って変換して算出したデータと前記所定量の第1の書き込みデータに付加された前記チェックコードの前記変換データとを比較し、比較の結果に応じて、前記第1の書き込みデータの前記キャッシュメモリへの転送を中止し、
    前記第2のチャネル制御部は、
    前記第2の入出力制御部が前記第2の情報処理装置から受信した前記データ入出力要求が第2のデータ書き込み要求である場合には、
    前記第2の入出力制御部が、前記第2の書き込みデータの前記第2のメモリにおける記憶位置を示す情報と前記第2の書き込みデータとの前記第2のメモリコントローラへの送信を開始し、
    前記第2の入出力制御部が、前記第2の書き込みデータの送信の際に、所定量の前記第2の書き込みデータ毎に、前記所定量の第2の書き込みデータを所定のアルゴリズムに従って変換して算出した変換データと前記所定量の第2の書き込みデータの誤り有無を示す誤り有無データとを含むチェックコードを付加し、
    前記第2のメモリコントローラが、前記第2の書き込みデータ及び前記チェックコードの前記第2のメモリへの書き込みを開始し、
    前記第2の入出力制御部が、前記第2の記憶位置情報を前記第2のプロセッサに送信し、
    前記第2のプロセッサが、前記第2のデータ転送情報を前記第2のデータ転送制御部に送信し、
    前記第2のデータ転送制御部が、前記第2のデータ転送情報に基づいて、前記第2のメモリに書き込まれた前記第2の書き込みデータ及び前記チェックコードのリード要求を前記第2のメモリコントローラに送信し、
    前記第2のメモリコントローラが、前記第2の書き込みデータ及び前記チェックコードの前記第2のメモリからの読み出しを開始し、
    前記第2のデータ転送制御部が、前記第2のメモリから読みだされる前記第2の書き込みデータの前記キャッシュメモリへの転送を開始し、
    前記第2のデータ転送制御部が、前記第2の書き込みデータの転送の際に、前記所定量の第2の書き込みデータ毎に、前記所定量の第2の書き込みデータを前記所定のアルゴリズムに従って変換して算出したデータと前記所定量の第2の書き込みデータに付加された前記チェックコードの前記変換データとを比較し、比較の結果に応じて、前記第2の書き込みデータの前記キャッシュメモリへの転送を中止すること
    を特徴とする請求項1に記載のストレージ制御装置。
  4. 前記第1のチャネル制御部は、
    前記第1の入出力制御部が前記第1の情報処理装置から受信した前記データ入出力要求が第1のデータ読み出し要求である場合には、
    前記第1の入出力制御部が、前記第1のデータ読み出し要求を前記第1のプロセッサに送信し、
    前記第1のプロセッサが、前記第3のデータ転送情報を前記第1のデータ転送制御部に送信し、
    前記第1のデータ転送制御部が、前記第3のデータ転送情報に基づいて、前記キャッシュメモリからの前記第1の読み出しデータの読み出しを開始し、
    前記第1のデータ転送制御部が、前記第1の読み出しデータの前記第1のメモリにおける記憶位置を示す情報と前記第1の読み出しデータとの前記第1のメモリコントローラへの送信を開始し、
    前記第1のデータ転送制御部が、前記第1の読み出しデータの送信の際に、所定量の前記第1の読み出しデータ毎に、前記所定量の第1の読み出しデータを所定のアルゴリズムに従って変換して算出した変換データと前記所定量の第1の読み出しデータの誤り有無を示す誤り有無データとを含むチェックコードを付加し、
    前記第1のメモリコントローラが、前記第1の読み出しデータ及び前記チェックコードの前記第1のメモリへの書き込みを開始し、
    前記第1のプロセッサが、前記第3の記憶位置情報を前記第1の入出力制御部に送信し、
    前記第1の入出力制御部が、前記第3の記憶位置情報に基づいて、前記第1のメモリに書き込まれた前記第1の読み出しデータ及び前記チェックコードのリード要求を前記第1のメモリコントローラへ送信し、
    前記第1のメモリコントローラが、前記第1の読み出しデータ及び前記チェックコードの前記第1のメモリからの読み出しを開始し、
    前記第1のデータ転送制御部が、前記所定量の第1の読み出しデータが読みだされる毎に、前記所定量の第1の読み出しデータを前記所定のアルゴリズムに従って変換して算出したデータと前記所定量の第1の読み出しデータに付加された前記チェックコードの前記変換データとを比較し、比較の結果に応じて、前記チェックコードに、前記第1の読み出しデータに誤りがあることを示す所定のデータを書き込み、
    前記第1の入出力制御部が、前記第1のメモリから読みだされる前記第1の読み出しデータを前記第1の情報処理装置に送信し、
    前記第1の入出力制御部が、前記所定量の第1の読み出しデータ毎に付加される前記チェックコードに、前記第1の読み出しデータに誤りがあることを示す前記所定のデータが書き込まれている場合には、前記第1の読み出しデータの前記第1の情報処理装置への送信を中止し、
    前記第2のチャネル制御部は、
    前記第2の入出力制御部が前記第2の情報処理装置から受信した前記データ入出力要求が第2のデータ読み出し要求である場合には、
    前記第2の入出力制御部が、前記第4の記憶位置情報を前記第2のプロセッサに送信し、
    前記第2のプロセッサが、前記第4のデータ転送情報を前記第2のデータ転送制御部に送信し、
    前記第2のデータ転送制御部が、前記第4のデータ転送情報に基づいて、前記キャッシュメモリからの前記第2の読み出しデータの読み出しを開始し、
    前記第2のデータ転送制御部が、前記第2の読み出しデータの前記第2のメモリにおける記憶位置を示す情報と前記第2の読み出しデータとの前記第2のメモリコントローラへの送信を開始し、
    前記第2のデータ転送制御部が、前記第2の読み出しデータの送信の際に、所定量の前記第2の読み出しデータ毎に、前記所定量の第2の読み出しデータを所定のアルゴリズムに従って変換して算出した変換データと前記所定量の第2の読み出しデータの誤り有無を示す誤り有無データとを含むチェックコードを付加し、
    前記第2のメモリコントローラが、前記第2の読み出しデータ及び前記チェックコードの前記第2のメモリへの書き込みを開始し、
    前記第2の入出力制御部が、前記第2のメモリに書き込まれた前記第2の読み出しデータ及び前記チェックコードのリード要求を前記第2のメモリコントローラへ送信し、
    前記第2のメモリコントローラが、前記第2の読み出しデータ及び前記チェックコードの前記第2のメモリからの読み出しを開始し、
    前記第2のデータ転送制御部が、前記所定量の第2の読み出しデータが読みだされる毎に、前記所定量の第2の読み出しデータを前記所定のアルゴリズムに従って変換して算出したデータと前記所定量の第2の読み出しデータに付加された前記チェックコードの前記変換データとを比較し、比較の結果に応じて、前記チェックコードに、前記第2の読み出しデータに誤りがあることを示す所定のデータを書き込み、
    前記第2の入出力制御部が、前記第2のメモリから読みだされる前記第2の読み出しデータを前記第2の情報処理装置に送信し、
    前記第2の入出力制御部が、前記所定量の第2の読み出しデータ毎に付加される前記チェックコードに、前記第2の読み出しデータに誤りがあることを示す前記所定のデータが書き込まれている場合には、前記第2の読み出しデータの前記第2の情報処理装置への送信を中止すること
    を特徴とする請求項2に記載のストレージ制御装置。
  5. 前記第2の入出力制御部が前記第2の記憶位置情報を前記第2のプロセッサに送信する際に、前記第2の書き込みデータの前記第2のメモリへの書き込みが終了している場合には、
    前記第2の記憶位置情報には、前記第2の書き込みデータの前記第2のメモリにおける最終書き込みアドレスを示す情報が含まれ、
    前記第2のデータ転送情報には、前記第2の書き込みデータの前記第2のメモリにおける最終書き込みアドレスを示す情報が含まれること
    を特徴とする請求項1に記載のストレージ制御装置。
  6. 前記第1の情報処理装置はオープン系の情報処理装置であり、
    前記第2の情報処理装置はメインフレーム系の情報処理装置であること
    を特徴とする請求項1に記載のストレージ制御装置。
  7. 情報処理装置からデータ入出力要求を受信し、前記情報処理装置との間でデータの送受信を行うチャネル制御部と、
    前記データ入出力要求に応じて、データを記憶する記憶ボリュームに対してデータの読み書きを行うディスク制御部と、
    前記チャネル制御部及び前記ディスク制御部の間で授受されるデータを記憶するキャッシュメモリと、
    を備え、
    前記チャネル制御部は、
    メモリと、
    前記情報処理装置からデータ入出力要求を受信し、前記メモリと前記情報処理装置との間のデータの送受信を制御する入出力制御部と、
    前記メモリ及び前記キャッシュメモリを制御するプロセッサと、
    前記メモリへのデータの読み書きを行うメモリコントローラ及び前記メモリと前記キャッシュメモリとの間のデータ転送を制御する複数のデータ転送制御部を有するデータ転送装置と、
    を備え、
    前記入出力制御部が前記情報処理装置から第1のデータ書き込み要求及び第2のデータ書き込み要求を受信した場合には、
    前記入出力制御部が、前記第1のデータ書き込み要求を前記プロセッサに送信し、
    前記入出力制御部が、前記第2のデータ書き込み要求を前記プロセッサに送信し、
    前記プロセッサが、前記情報処理装置から送信される前記第1のデータ書き込み要求に対応する第1の書き込みデータの前記メモリにおける記憶位置を示す情報を含む第1の記憶位置情報と前記情報処理装置から送信される前記第2のデータ書き込み要求に対応する第2の書き込みデータの前記メモリにおける記憶位置を示す情報を含む第2の記憶位置情報とを前記入出力制御部に送信し、
    前記入出力制御部が、前記第1の書き込みデータの前記メモリにおける記憶位置を示す情報と前記第1の書き込みデータとの前記メモリコントローラへの送信を開始し、
    前記メモリコントローラが、前記第1の書き込みデータの前記メモリへの書き込みを開始し、
    前記プロセッサが、前記第1の書き込みデータの前記メモリにおける記憶位置を示す情報、及び前記第1の書き込みデータの前記キャッシュメモリにおける記憶位置を示す情報を含む第1のデータ転送情報を第1の前記データ転送制御部に送信し、
    前記第1のデータ転送制御部が、前記第1のデータ転送情報に基づいて、前記メモリに書き込まれた前記第1の書き込みデータのリード要求を前記メモリコントローラに送信し、
    前記メモリコントローラが、前記第1の書き込みデータの前記メモリからの読み出しを開始し、
    前記第1のデータ転送制御部が、前記メモリから読みだされる前記第1の書き込みデータの前記キャッシュメモリへの転送を開始し、
    前記入出力制御部が、前記第2の書き込みデータの前記メモリにおける記憶位置を示す情報と前記第2の書き込みデータとの前記メモリコントローラへの送信を開始し、
    前記メモリコントローラが、前記第2の書き込みデータの前記メモリへの書き込みを開始し、
    前記プロセッサが、前記第2の書き込みデータの前記メモリにおける記憶位置を示す情報、及び前記第2の書き込みデータの前記キャッシュメモリにおける記憶位置を示す情報を含む第2のデータ転送情報を第2の前記データ転送制御部に送信し、
    前記第2のデータ転送制御部が、前記第2のデータ転送情報に基づいて、前記メモリに書き込まれた前記第2の書き込みデータのリード要求を前記メモリコントローラに送信し、
    前記メモリコントローラが、前記第2の書き込みデータの前記メモリからの読み出しを開始し、
    前記第2のデータ転送制御部が、前記メモリから読みだされる前記第2の書き込みデータの前記キャッシュメモリへの転送を開始すること
    を特徴とするストレージ制御装置。
  8. 前記入出力制御部が前記情報処理装置から前記第1のデータ書き込み要求及び前記第2のデータ書き込み要求を受信した場合には、
    前記入出力制御部が、前記第1のデータ書き込み要求を前記プロセッサに送信し、
    前記入出力制御部が、前記第2のデータ書き込み要求を前記プロセッサに送信し、
    前記プロセッサが、前記第1の記憶位置情報と前記第2の記憶位置情報とを前記入出力制御部に送信し、
    前記入出力制御部が、前記第1の書き込みデータの前記メモリにおける記憶位置を示す情報と前記第1の書き込みデータとの前記メモリコントローラへの送信を開始し、
    前記入出力制御部が、前記第1の書き込みデータの送信の際に、所定量の前記第1の書き込みデータ毎に、前記所定量の第1の書き込みデータを所定のアルゴリズムに従って変換して算出した変換データと前記所定量の第1の書き込みデータの誤り有無を示す誤り有無データとを含むチェックコードを付加し、
    前記メモリコントローラが、前記第1の書き込みデータ及び前記チェックコードの前記メモリへの書き込みを開始し、
    前記プロセッサが、前記第1のデータ転送情報を前記第1のデータ転送制御部に送信し、
    前記第1のデータ転送制御部が、前記第1のデータ転送情報に基づいて、前記メモリに書き込まれた前記第1の書き込みデータ及び前記チェックコードのリード要求を前記メモリコントローラに送信し、
    前記メモリコントローラが、前記第1の書き込みデータ及び前記チェックコードの前記メモリからの読み出しを開始し、
    前記第1のデータ転送制御部が、前記メモリから読みだされる前記第1の書き込みデータの前記キャッシュメモリへの転送を開始し、
    前記第1のデータ転送制御部が、前記第1の書き込みデータの転送の際に、前記所定量の第1の書き込みデータ毎に、前記所定量の第1の書き込みデータを前記所定のアルゴリズムに従って変換して算出したデータと前記所定量の第1の書き込みデータに付加された前記チェックコードの前記変換データとを比較し、比較の結果に応じて、前記第1の書き込みデータの前記キャッシュメモリへの転送を中止し、
    前記入出力制御部が、前記第2の書き込みデータの前記メモリにおける記憶位置を示す情報と前記第2の書き込みデータとの前記メモリコントローラへの送信を開始し、
    前記入出力制御部が、前記第2の書き込みデータの送信の際に、所定量の前記第2の書き込みデータ毎に、前記所定量の第2の書き込みデータを所定のアルゴリズムに従って変換して算出した変換データと前記所定量の第2の書き込みデータの誤り有無を示す誤り有無データとを含むチェックコードを付加し、
    前記メモリコントローラが、前記第2の書き込みデータ及び前記チェックコードの前記メモリへの書き込みを開始し、
    前記プロセッサが、前記第2のデータ転送情報を前記第2のデータ転送制御部に送信し、
    前記第2のデータ転送制御部が、前記第2のデータ転送情報に基づいて、前記メモリに書き込まれた前記第2の書き込みデータ及び前記チェックコードのリード要求を前記メモリコントローラに送信し、
    前記メモリコントローラが、前記第2の書き込みデータ及び前記チェックコードの前記メモリからの読み出しを開始し、
    前記第2のデータ転送制御部が、前記メモリから読みだされる前記第2の書き込みデータの前記キャッシュメモリへの転送を開始し、
    前記第2のデータ転送制御部が、前記第2の書き込みデータの転送の際に、前記所定量の第2の書き込みデータ毎に、前記所定量の第2の書き込みデータを前記所定のアルゴリズムに従って変換して算出したデータと前記所定量の書き込みデータに付加された前記チェックコードの前記変換データとを比較し、比較の結果に応じて、前記第2の書き込みデータの前記キャッシュメモリへの転送を中止すること
    を特徴とする請求項7に記載のストレージ制御装置。
  9. 第1の情報処理装置からデータ入出力要求を受信し、前記第1の情報処理装置との間でデータの送受信を行う第1のチャネル制御部と、
    第2の情報処理装置からデータ入出力要求を受信し、前記第2の情報処理装置との間でデータの送受信を行う第2のチャネル制御部と、
    前記データ入出力要求に応じて、データを記憶する記憶ボリュームに対してデータの読み書きを行うディスク制御部と、
    前記第1のチャネル制御部、前記第2のチャネル制御部、及び前記ディスク制御部の間で授受されるデータを記憶するキャッシュメモリと、
    を備え、
    前記第1のチャネル制御部は、
    第1のメモリと、
    前記第1の情報処理装置からデータ入出力要求を受信し、前記第1のメモリと前記第1の情報処理装置との間のデータの送受信を制御する第1の入出力制御部と、
    前記第1のメモリ及び前記キャッシュメモリを制御する第1のプロセッサと、
    前記第1のメモリへのデータの読み書きを行う第1のメモリコントローラ及び前記第1のメモリと前記キャッシュメモリとの間のデータ転送を制御する複数の第1のデータ転送制御部を有する第1のデータ転送装置と、
    を備え、
    前記第2のチャネル制御部は、
    第2のメモリと、
    前記第2のメモリを制御し、前記第2の情報処理装置からデータ入出力要求を受信し、前記第2のメモリと前記第2の情報処理装置との間のデータの送受信を制御する第2の入出力制御部と、
    前記キャッシュメモリを制御する第2のプロセッサと、
    前記第2のメモリへのデータの読み書きを行う第2のメモリコントローラ及び前記第2のメモリと前記キャッシュメモリとの間のデータ転送を制御する第2のデータ転送制御部を有する第2のデータ転送装置と、
    を備え、
    前記第1のチャネル制御部は、
    前記第1の入出力制御部が前記第1の情報処理装置から第1のデータ書き込み要求及び第2のデータ書き込み要求を受信した場合には、
    前記第1の入出力制御部が、前記第1のデータ書き込み要求を前記第1のプロセッサに送信し、
    前記第1の入出力制御部が、前記第2のデータ書き込み要求を前記第1のプロセッサに送信し、
    前記第1のプロセッサが、前記第1の情報処理装置から送信される前記第1のデータ書き込み要求に対応する第1の書き込みデータの前記第1のメモリにおける記憶位置を示す情報を含む第1の記憶位置情報と前記第1の情報処理装置から送信される前記第2のデータ書き込み要求に対応する第2の書き込みデータの前記第1のメモリにおける記憶位置を示す情報を含む第2の記憶位置情報とを前記第1の入出力制御部に送信し、
    前記第1の入出力制御部が、前記第1の書き込みデータの前記第1のメモリにおける記憶位置を示す情報と前記第1の書き込みデータとの前記第1のメモリコントローラへの送信を開始し、
    前記第1のメモリコントローラが、前記第1の書き込みデータの前記第1のメモリへの書き込みを開始し、
    前記第1のプロセッサが、前記第1の書き込みデータの前記第1のメモリにおける記憶位置を示す情報、及び前記第1の書き込みデータの前記キャッシュメモリにおける記憶位置を示す情報を含む第1のデータ転送情報を前記第1のデータ転送制御部のいずれかに送信し、
    前記第1のデータ転送情報が送信された前記第1のデータ転送制御部が、前記第1のデータ転送情報に基づいて、前記第1のメモリに書き込まれた前記第1の書き込みデータのリード要求を前記第1のメモリコントローラに送信し、
    前記第1のメモリコントローラが、前記第1の書き込みデータの前記第1のメモリからの読み出しを開始し、
    前記第1のデータ転送情報が送信された前記第1のデータ転送制御部が、前記第1のメモリから読みだされる前記第1の書き込みデータの前記キャッシュメモリへの転送を開始し、
    前記第1の入出力制御部が、前記第2の書き込みデータの前記第1のメモリにおける記憶位置を示す情報と前記第2の書き込みデータとの前記第1のメモリコントローラへの送信を開始し、
    前記第1のメモリコントローラが、前記第2の書き込みデータの前記第1のメモリへの書き込みを開始し、
    前記第1のプロセッサが、前記第2の書き込みデータの前記第1のメモリにおける記憶位置を示す情報、及び前記第2の書き込みデータの前記キャッシュメモリにおける記憶位置を示す情報を含む第2のデータ転送情報を、前記第1のデータ転送情報が送信された前記第1のデータ転送制御部とは異なる他の前記第1のデータ転送制御部に送信し、
    前記第2のデータ転送情報が送信された前記第1のデータ転送制御部が、前記第2のデータ転送情報に基づいて、前記第1のメモリに書き込まれた前記第2の書き込みデータのリード要求を前記第1のメモリコントローラに送信し、
    前記第1のメモリコントローラが、前記第2の書き込みデータの前記第1のメモリからの読み出しを開始し、
    前記第1のデータ転送情報が送信された前記第2のデータ転送制御部が、前記第1のメモリから読みだされる前記第2の書き込みデータの前記キャッシュメモリへの転送を開始し、
    前記第2のチャネル制御部は、
    前記第2の入出力制御部が前記第2の情報処理装置から受信した前記データ入出力要求が第3のデータ書き込み要求である場合には、
    前記第2の入出力制御部が、前記第2の情報処理装置から送信される前記第3のデータ書き込み要求に対応する第3の書き込みデータの前記第2のメモリにおける記憶位置を示す情報と前記第3の書き込みデータとの前記第2のメモリコントローラへの送信を開始し、
    前記第2のメモリコントローラが、前記第3の書き込みデータの前記第2のメモリへの書き込みを開始し、
    前記第2の入出力制御部が、前記第3の書き込みデータの前記第2のメモリにおける記憶位置を示す情報を含む第3の記憶位置情報を前記第2のプロセッサに送信し、
    前記第2のプロセッサが、前記第3の書き込みデータの前記第2のメモリにおける記憶位置を示す情報、及び前記第3の書き込みデータの前記キャッシュメモリにおける記憶位置を示す情報を含む第3のデータ転送情報を前記第2のデータ転送制御部に送信し、
    前記第2のデータ転送制御部が、前記第3のデータ転送情報に基づいて、前記第2のメモリに書き込まれた前記第3の書き込みデータのリード要求を前記第2のメモリコントローラに送信し、
    前記第2のメモリコントローラが、前記第3の書き込みデータの前記第2のメモリからの読み出しを開始し、
    前記第2のデータ転送制御部が、前記第2のメモリから読みだされる前記第3の書き込みデータの前記キャッシュメモリへの転送を開始すること
    を特徴とするストレージ制御装置。
  10. 前記第1の情報処理装置はオープン系の情報処理装置であり、
    前記第2の情報処理装置はメインフレーム系の情報処理装置であること
    を特徴とする請求項9に記載のストレージ制御装置。
JP2004001443A 2004-01-06 2004-01-06 ストレージ制御装置 Expired - Fee Related JP4401788B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004001443A JP4401788B2 (ja) 2004-01-06 2004-01-06 ストレージ制御装置
US10/809,740 US6988151B2 (en) 2004-01-06 2004-03-24 Storage control device with a plurality of channel control sections

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004001443A JP4401788B2 (ja) 2004-01-06 2004-01-06 ストレージ制御装置

Publications (2)

Publication Number Publication Date
JP2005196422A true JP2005196422A (ja) 2005-07-21
JP4401788B2 JP4401788B2 (ja) 2010-01-20

Family

ID=34709001

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004001443A Expired - Fee Related JP4401788B2 (ja) 2004-01-06 2004-01-06 ストレージ制御装置

Country Status (2)

Country Link
US (1) US6988151B2 (ja)
JP (1) JP4401788B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007183844A (ja) * 2006-01-10 2007-07-19 Hitachi Global Storage Technologies Netherlands Bv 補助記憶装置および記録再生方法
US8873574B2 (en) 2005-07-25 2014-10-28 Hewlett-Packard Development Company, L.P. Network-attached storage device having a connection to a local user device

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4536361B2 (ja) * 2003-11-28 2010-09-01 株式会社日立製作所 データ転送装置、記憶デバイス制御装置、記憶デバイス制御装置の制御方法
US8065439B1 (en) * 2003-12-19 2011-11-22 Nvidia Corporation System and method for using metadata in the context of a transport offload engine
US7958292B2 (en) * 2004-06-23 2011-06-07 Marvell World Trade Ltd. Disk drive system on chip with integrated buffer memory and support for host memory access
JP2006072435A (ja) * 2004-08-31 2006-03-16 Hitachi Ltd ストレージシステムおよびデータ記録方法
JP4818843B2 (ja) * 2006-07-31 2011-11-16 株式会社日立製作所 リモートコピーを行うストレージシステム
US8019940B2 (en) 2006-12-06 2011-09-13 Fusion-Io, Inc. Apparatus, system, and method for a front-end, distributed raid
US8161353B2 (en) 2007-12-06 2012-04-17 Fusion-Io, Inc. Apparatus, system, and method for validating that a correct data segment is read from a data storage device
US8151082B2 (en) 2007-12-06 2012-04-03 Fusion-Io, Inc. Apparatus, system, and method for converting a storage request into an append data storage command
JP2008146541A (ja) * 2006-12-13 2008-06-26 Fujitsu Ltd Dma転送システム、dmaコントローラ及びdma転送方法
JP2015179328A (ja) * 2014-03-18 2015-10-08 株式会社東芝 データ転送装置、データ受信システムおよびデータ受信方法
CN104461962B (zh) * 2014-11-28 2017-05-17 成都龙腾中远信息技术有限公司 一种载荷地面测试接口适配器
CN105045532B (zh) * 2015-07-09 2017-10-13 首都师范大学 动态可重构总线监听系统的三级缓冲存储装置与方法
KR102277728B1 (ko) * 2017-07-31 2021-07-14 삼성전자주식회사 데이터 저장 시스템, 데이터 저장 시스템의 데이터 저장 방법, 및 솔리드 스테이트 드라이브의 제조 방법

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5257367A (en) 1987-06-02 1993-10-26 Cab-Tek, Inc. Data storage system with asynchronous host operating system communication link
JP2743606B2 (ja) 1991-04-11 1998-04-22 三菱電機株式会社 アレイ型記録装置
US5388237A (en) * 1991-12-30 1995-02-07 Sun Microsystems, Inc. Method of and apparatus for interleaving multiple-channel DMA operations
US5640596A (en) * 1992-03-10 1997-06-17 Hitachi, Ltd. Input output control system for transferring control programs collectively as one transfer unit designated by plurality of input output requests to be executed
US5434976A (en) * 1992-09-28 1995-07-18 Standard Microsystems Corporation Communications controller utilizing an external buffer memory with plural channels between a host and network interface operating independently for transferring packets between protocol layers
US5548791A (en) * 1994-07-25 1996-08-20 International Business Machines Corporation Input/output control system with plural channel paths to I/O devices
JP3781212B2 (ja) 1996-06-04 2006-05-31 株式会社日立製作所 サブシステム
JP2001034427A (ja) 1999-07-23 2001-02-09 Fujitsu Ltd デバイス制御装置及び制御方法
JP2002259065A (ja) 2001-03-02 2002-09-13 Hitachi Ltd トレース情報採取機構を備えた記憶システム
JP4188602B2 (ja) 2002-01-10 2008-11-26 株式会社日立製作所 クラスタ型ディスク制御装置及びその制御方法
JP2003242097A (ja) 2002-02-15 2003-08-29 Hitachi Ltd クロスコール機能を備えるディスク制御装置
JP2004110503A (ja) 2002-09-19 2004-04-08 Hitachi Ltd 記憶制御装置、記憶システム、記憶制御装置の制御方法、チャネル制御部、及びプログラム
JP4452438B2 (ja) 2002-11-11 2010-04-21 株式会社日立製作所 記憶システム
JP2004185544A (ja) 2002-12-06 2004-07-02 Hitachi Ltd 記憶デバイス制御装置システムの制御方法、及び記憶デバイス制御装置システム
JP4372427B2 (ja) 2003-01-20 2009-11-25 株式会社日立製作所 記憶デバイス制御装置
US7127568B2 (en) 2003-01-23 2006-10-24 Hitachi, Ltd. Throttling in storage systems
JP4274523B2 (ja) 2003-01-24 2009-06-10 株式会社日立製作所 記憶装置システム、及び記憶装置システムの起動方法
JP2004234558A (ja) 2003-01-31 2004-08-19 Hitachi Ltd 記憶デバイス制御装置、及びプログラム
JP2004234555A (ja) 2003-01-31 2004-08-19 Hitachi Ltd ストレージシステムの制御方法、ストレージシステム、及びプログラム
JP4387116B2 (ja) 2003-02-28 2009-12-16 株式会社日立製作所 ストレージシステムの制御方法、及びストレージシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8873574B2 (en) 2005-07-25 2014-10-28 Hewlett-Packard Development Company, L.P. Network-attached storage device having a connection to a local user device
JP2007183844A (ja) * 2006-01-10 2007-07-19 Hitachi Global Storage Technologies Netherlands Bv 補助記憶装置および記録再生方法

Also Published As

Publication number Publication date
US20050149645A1 (en) 2005-07-07
US6988151B2 (en) 2006-01-17
JP4401788B2 (ja) 2010-01-20

Similar Documents

Publication Publication Date Title
JP4401788B2 (ja) ストレージ制御装置
US7730257B2 (en) Method and computer program product to increase I/O write performance in a redundant array
US7676614B2 (en) Redundant storage virtualization computer system
US6578100B1 (en) Storage system having plural buses
US6792486B1 (en) System and method for managing information storage among plural disk drives
US6684295B2 (en) Disk array control device with two different internal connection systems
US8930611B2 (en) Storage system and control method thereof
JP4563794B2 (ja) ストレージシステム及びストレージ管理方法
JP2006065697A (ja) 記憶デバイス制御装置
JP4413518B2 (ja) 記憶デバイス制御装置、及び記憶デバイス制御装置の制御方法
US20070168611A1 (en) Storage system and method for a storage control apparatus using information on management of storage resources
CN102209103A (zh) 向多个存储控制器多播写请求
US20060200634A1 (en) Data storage system and data storage control apparatus
JP2005157636A (ja) 処理オフロード機能モジュールを備えた磁気ディスクアレイ装置
US6578128B1 (en) Address management for a shared memory region on a multi-processor controller board
JP2005149082A (ja) ストレージ制御装置、及びストレージ制御装置の制御方法
CN112306388B (zh) 存储装置
JP5294742B2 (ja) 機器の間のアクセスを管理する装置及び方法
US20060259650A1 (en) Method of transmitting data between storage virtualization controllers and storage virtualization controller designed to implement the method
JP2005135065A (ja) 記憶デバイス制御装置、及び記憶デバイス制御装置の制御方法
US7752340B1 (en) Atomic command retry in a data storage system
JP5038589B2 (ja) ディスクアレイ装置及びその負荷分散方法
JP2006134207A (ja) ストレージ仮想化装置およびそれを用いたコンピュータシステム
JP5920114B2 (ja) ストレージ装置、ストレージ装置の制御方法及び制御プログラム
US20020194405A1 (en) Disk array system with large storage capacity

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061116

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: 20091027

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: 20091028

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: 20121106

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121106

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131106

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees