JP4791265B2 - 信号処理方法、信号処理プログラムおよび信号処理装置 - Google Patents

信号処理方法、信号処理プログラムおよび信号処理装置 Download PDF

Info

Publication number
JP4791265B2
JP4791265B2 JP2006168240A JP2006168240A JP4791265B2 JP 4791265 B2 JP4791265 B2 JP 4791265B2 JP 2006168240 A JP2006168240 A JP 2006168240A JP 2006168240 A JP2006168240 A JP 2006168240A JP 4791265 B2 JP4791265 B2 JP 4791265B2
Authority
JP
Japan
Prior art keywords
command
host computer
transmission
processing
signal processing
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.)
Expired - Fee Related
Application number
JP2006168240A
Other languages
English (en)
Other versions
JP2007334778A (ja
Inventor
達也 柳澤
秀史 小林
康寛 小笠原
直浩 武田
裕助 太田
美帆子 東條
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006168240A priority Critical patent/JP4791265B2/ja
Publication of JP2007334778A publication Critical patent/JP2007334778A/ja
Application granted granted Critical
Publication of JP4791265B2 publication Critical patent/JP4791265B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は信号処理方法、信号処理プログラムおよび信号処理装置に関し、特に、ホストコンピュータとの間でコマンドを用いた信号処理を行う信号処理方法、信号処理プログラムおよび信号処理装置に関する。
一般的に、HOSTコンピュータとディスクアレイ間の通信において、データを相手に送信し、送信相手が送達確認を応答送信することで送達確認をする方法(コマンドレスポンス)が行われている(例えば、特許文献1参照)。
図14は、HOSTコンピュータとディスクアレイとの構成の一例を示す図である。
HOSTコンピュータ400は、ディスクアレイ500に所定のデータ処理を実行させるコマンドを送信する。
ディスクアレイ500は、CA510とディスク処理部520とディスク530とを有している。
CA510は、信号処理部511とCAFIRM512とを有している。
信号処理部511は、HOSTコンピュータ400とCAFIRM512との間のコマンドおよびデータのやりとりを制御する。
CAFIRM512は、CA510の全体的な動作を制御するものであり、ドライバ512aとスレッド512bとを有している。
ドライバ512aは、信号処理部511の駆動用ドライバである。
スレッド512bは、ディスク処理部520との間でHOSTコンピュータ400から受信したコマンド処理を実行する。
ディスク処理部520は、コマンド処理内容がデータ読み取り要求であれば、ディスクにアクセスしてそのデータを取り出す。また、コマンド処理内容がデータ書込要求であれば、ディスクにアクセスしてそのデータを書き込む。
次に、従来の信号処理について説明する。
図15は、従来の信号処理を示す図である。
まず、HOSTコンピュータ400が、CMD(コマンド)受信通知を送信する(ステップS81)。
信号処理部511は、CMD受信通知を受信するとドライバ512aに対して割り込みをかける(ステップS82)。
ドライバ512aは、割り込みを受けるとCMD受信通知をスレッド512bに送る(ステップS83)。
スレッド512bは、CMD受信通知を受け取ると、CMR(コマンドレスポンス)送信依頼をドライバ512aに返す(ステップS84)。
ドライバ512aは、受け取ったCMR送信依頼を信号処理部511に送る(ステップS85)。
信号処理部511は、受け取ったCMR送信依頼をHOSTコンピュータ400に送信する(ステップS86)。そして、信号処理部511は、ドライバ512aに対して割り込みをかける(ステップS87)。
ドライバ512aは、割り込みを受けると、送信STS(ステータス通知)をスレッド512bに送る(ステップS88)。
スレッド512bは、送信STSを受け取ると、ディスク処理部520に対してMSG(メッセージ)を送る(ステップS89)。
ディスク処理部520がMSGを受け取ると、スレッド512bにMSGを返す(ステップS90)。
これにより、スレッド512bとディスク処理部520との間でコマンド処理の実行を開始し、コマンド処理の実行が終了すると、スレッド512bは、STS送信依頼をドライバ512aに送る(ステップS91)。
ドライバ512aは、受け取ったSTS送信依頼を、信号処理部511に送る(ステップS92)。
信号処理部511は、受け取ったSTS送信依頼を、HOSTコンピュータ400に送る(ステップS93)。
以上で処理が終了する。
特開2005−174097号公報
図15の処理では、CMRの送信が完了しないと以降の送信に必要な情報が得られないため、スレッド512bが送信完了の待ち合わせを行っている(ステップS84〜ステップS88)。
しかしながら、一般的にHOSTコンピュータ400のI/O処理時間は、待ち合わせ時間に対して相対的に短く、この待ち合わせ時間によるI/O処理の遅延に対する影響が大きいという問題がある。
本発明はこのような点に鑑みてなされたものであり、I/O処理の高速化を図ることを目的とする。
本発明では上記問題を解決するために、図1に示す信号処理方法が提供される。本発明に係る信号処理方法は、ホストコンピュータ1との間でコマンドを用いた信号処理を行う方法である。
この信号処理方法は、以下のステップを有する。
コマンドを処理するコマンド処理手段2が、ホストコンピュータ1から送信されたコマンドに応答するコマンドレスポンスを生成する(ステップS101)。
送信確認通知に関わらずコマンドの処理を行い、送信確認通知の受け取りを待機する(ステップS102)。
ホストコンピュータ1とコマンド処理手段2とを中継するインタフェース3が、コマンドレスポンスをホストコンピュータ1に送信した際の送信完了を示す送信確認通知をコマンド処理手段2に送る(ステップS103)。
コマンド処理手段2が、送信確認通知を受け取った場合、コマンドレスポンスが正常に行われたか否かを判断する(ステップS104)。
このような信号処理方法によれば、コマンド処理手段2により、ホストコンピュータ1から送信されたコマンドに応答するコマンドレスポンスが生成される。そして、送信確認通知に関わらずコマンドの処理が行われ、送信確認通知の受け取りが待機される。インタフェース3により、コマンドレスポンスをホストコンピュータ1に送信した際の送信完了を示す送信確認通知がコマンド処理手段2に送られる。その後、コマンド処理手段2により送信確認通知が受信された場合、コマンドレスポンスが正常に行われたか否かが判断される。
本発明によれば、送信確認通知に関わらずコマンドの処理を実行するようにしたので、I/O処理の高速化を図ることができる。また、コマンドの処理の実行開始後に送信確認通知の受け取りを待機し、送信確認通知を受け取った場合、コマンドレスポンスが正常に行われたか否かを判断するようにしたので、その正否に応じた処理を行うことができる。
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
まず、実施の形態に適用される発明の概要について説明し、その後、実施の形態の具体的な内容を説明する。
図1は、実施の形態に適用される発明を示す概要図である。図1に示すような信号処理方法が提供される。この信号処理方法は、主としてコンピュータとホストコンピュータとの間で行う信号処理に適用されるものであり、以下の処理を、コンピュータを用いて実行する。
コンピュータは、ホストコンピュータ1から送信されるコマンドを処理するコマンド処理手段2と、ホストコンピュータ1とコマンド処理手段2とを中継するインタフェース3とを有している。以下、図1に示す処理を説明する。
コマンド処理手段2が、ホストコンピュータ1から送信されたコマンドに応答するコマンドレスポンスを生成する(ステップS101)。
送信確認通知に関わらずコマンドの処理を行い、送信確認通知の受け取りを待機する(ステップS102)。
インタフェース3が、コマンドレスポンスをホストコンピュータ1に送信した際の送信完了を示す送信確認通知をコマンド処理手段2に送る(ステップS103)。
コマンド処理手段2が、送信確認通知を受け取った場合、コマンドレスポンスが正常に行われたか否かを判断する(ステップS104)。
このような信号処理方法によれば、コマンド処理手段2により、ホストコンピュータ1から送信されたコマンドに応答するコマンドレスポンスが生成される。そして、送信確認通知に関わらずコマンドの処理が行われ、送信確認通知の受け取りが待機される。インタフェース3により、コマンドレスポンスをホストコンピュータ1に送信した際の送信完了を示す送信確認通知がコマンド処理手段2に送られる。その後、コマンド処理手段2により送信確認通知が受信された場合、コマンドレスポンスが正常に行われたか否かが判断される。
以下、本発明の実施の形態を具体的に説明する。
図2は、実施の形態の信号処理システムを示すブロック図である。
信号処理システム300は、複数のRAID制御装置100とHOST(ホスト)コンピュータ200とがネットワーク10を介して接続されている。
HOSTコンピュータ200は、種々のコマンドを使用して各RAID制御装置100との間で、IU(information unit)送信を行うことによりデータの入出力処理(I/O処理)を行う。具体的には、HOSTコンピュータ200は使用するRAID制御装置100を特定する。そして、特定したRAID制御装置100内に存在する複数のDISK(後述)のうち、使用するDISKおよび、そのDISKに対する処理内容(リード処理であるかライト処理であるか)に関する指示を送信する。その後、実際にデータの入出力処理を行うためのリードコマンドまたはライトコマンドを送信する。このI/O処理については後に詳述する。
図3は、信号処理システムのハードウェア構成例を示す図である。
HOSTコンピュータ200は、CH(Channel)210を有している。
CH210は、RAID制御装置100に対して所定の処理を実行させるコマンドの送受信部を構成しており、コマンドを送信した後に、そのコマンドに対する応答であるCMRの受信を待機する。そしてCMRを受信すると、HOSTコンピュータ200側から送信したコマンドが正しく受領された(伝わった)と判断する。
RAID制御装置100は、CA(Channel Adapter)110とCM(central module)120と、複数(本実施の形態では3つ)のDISK130、140、150とを有している。
CA110は、HOSTコンピュータ200との接続を制御する。
CM120は、Cache121を有しており、コマンド処理内容がデータ書込(ライト)要求であれば、DISKにアクセスしてそのデータを書き込む。また、コマンド処理内容がデータ読み取り(リード)要求であれば、選択したDISKにアクセスしてそのデータを取り出す。
DISK130、140、150は、ディスクアレイを構成しており、それぞれHOSTコンピュータ200から書き込まれるデータを記憶する記憶領域を備えている。
次に、CA110のハードウェア構成について説明する。
図4は、CAのハードウェア構成例を示す図である。
CA110は、SFP101とISPチップ(プロトコル制御チップ)102と、制御チップ(chip)103、106と、CPU(Central Processing Unit)104とメモリ105とバッファ107とを有している。
SFP101は、トランシーバモジュールを構成しており、CH210からのコマンドを受信すると、そのコマンドをISPチップ102に渡す。また、ISPチップ102からのコマンドを受け取ると、CH210に送信する。
ISPチップ102は、CPU102aを有している。ISPチップ102を動作させるプログラムはCPU102a上で動作する。このISPチップ102は、SFP101からコマンドを受けとると制御チップ103に割り込み信号を送る。また、制御チップ103からCMR送信依頼を受け取ると、そのCMR送信依頼をSFP101に送るとともに、制御チップ103にCMR送信完了割り込みを返す。
制御チップ103は、ISPチップ102とCPU104と制御チップ106とを電気的に接続するための制御用チップである。
CPU104は、主として後述するFIRMを動作させるために設けられている。
メモリ105には、CPU104に実行させるOS(Operating System)のプログラムやアプリケーションプログラムが格納される。また、メモリ105には、CPU104による処理に必要なFIRMが格納される。FIRMには、必要な実行文が記載されており、HOSTコンピュータ200およびCM120との通信手順やそれに伴う処理手順が記載されている。また、FIRMには、ISPチップ102を動作させる実行文、制御チップ103および制御チップ106を動作させる実行文等が記載されている。
制御チップ106は、ISPチップ102とバッファ107との間やCA110とCM120との間の通信およびデータ転送を制御する。
バッファ107には、ISPチップ102を介してHOSTコンピュータ200から受信したコマンドおよびデータ(SB2H、DIB等)が格納される。また、バッファ107にはHOSTコンピュータ200に送信されるデータも格納され、ISPチップ102を介してHOSTコンピュータ200に転送される。さらに、CM120に送るデータおよびCM120から受け取ったデータも格納される。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
図5は、HOSTコンピュータのハードウェア構成例を示す図である。
HOSTコンピュータ200は、CPU201によって装置全体が制御されている。CPU201には、バス207を介してRAM(Random Access Memory)202、ハードディスクドライブ(HDD:Hard Disk Drive)203、グラフィック処理装置204、入力インタフェース205、および通信インタフェース206が接続されている。
RAM202には、CPU201に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM202には、CPU201による処理に必要な各種データが格納される。HDD203には、OSやアプリケーションプログラムが格納される。また、HDD203内には、プログラムファイルが格納される。
グラフィック処理装置204には、モニタ11が接続されている。グラフィック処理装置204は、CPU201からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース205には、キーボード12とマウス13とが接続されている。入力インタフェース205は、キーボード12やマウス13から送られてくる信号を、バス207を介してCPU201に送信する。
通信インタフェース206は、ネットワーク10に接続されている。通信インタフェース206は、ネットワーク10を介して、各RAID制御装置100および他のコンピュータとの間でデータの送受信を行う。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
次に、HOSTコンピュータ200とRAID制御装置100とのI/O処理について詳しく説明する。
図6は、I/O処理を示すシーケンス図である。
まず、HOSTコンピュータ200が、CH210を介してアクセス先のDISKおよびDISKの処理範囲を示すDXコマンドと、実行させるオペレーション、すなわちリード操作かライト操作かを指示するLRコマンドとをRAID制御装置100に対して送信する(ステップS1)。
RAID制御装置100のCA110が、DXコマンドおよびLRコマンドを受信すると、I/O可能か否かを問い合わせるMSG−10信号をCM120に対して出力する(ステップS2)。
CM120は、MSG−10信号を受け取ると、I/O可能であることを示すMSG−60信号をCA110に返す(ステップS3)。
これにより、CA110は、DXコマンドに対するCMRを送信する(ステップS4)。
HOSTコンピュータ200は、DXコマンドおよびLRコマンドの送信後、DISK上にフォーマット(枠)を形作り、作ったフォーマット中のデータを更新させるWCKD信号をCA110に送信する(ステップS5)。
CA110は、WCKD信号を受信すると、書き込み処理に必要なCache割り当てを依頼するMSG−20信号をCM120に対して出力する(ステップS6)。
CM120は、MSG−20信号を受け取ると、Cacheを割り当て、割り当て完了応答を示すMSG−66をCA110に返す(ステップS7)。
その後、CA110が、HOSTコンピュータ200から送信されてきたデータを書き込む(ステップS8)。
書き込み処理の終了後に、CA110が、正常に終了したか異常に終了したかを示すSTS(送信ステータス)をHOSTコンピュータ200に対して送信する(ステップS9)。
以上でI/O処理を終了する。
このようなハードウェア構成の信号処理システム300において実施の形態の信号処理を行うために、各RAID制御装置100のCA110内には、以下のような機能が設けられる。
図7は、CAの機能を示すブロック図である。
CA110は、インタフェース部111とFIRM112と格納部113とを有している。
インタフェース部111はSFP101とISPチップ102で構成され、FIRM112の指示により、FIRM112とHOSTコンピュータ200とのコマンドおよびデータのやりとりを中継する。すなわち、FIRM112から受け取ったコマンドおよびデータをHOSTコンピュータ200に送信する。また、HOSTコンピュータ200から受けとったコマンドおよびデータをFIRM112に送る。
FIRM112は、インタフェース駆動部112aとスレッド(Thread)112bとを有している。
インタフェース駆動部112aは、スレッド112bの指示によりインタフェース部111を駆動する(動作させる)。
スレッド112bは、CA110全体を管理する管理部としての機能を備えている。このスレッド112bは、HOSTインタフェースレイヤ1121とHOSTコマンドレイヤ1122とを有している。
HOSTインタフェースレイヤ1121は、インタフェース駆動部112aを経由し、HOSTコンピュータ200とのインタフェースに関わる処理を行う。具体的には、HOSTコンピュータ200から受信したデータをHOSTコマンドレイヤ1122に送る。また、HOSTコマンドレイヤ1122から受け取ったデータをHOSTコンピュータ200へ送信する。
HOSTコマンドレイヤ1122は、受け取ったコマンドに対する処理を行う。また、HOSTコマンドレイヤ1122は、CH210が発行したコマンド列に対し、先頭コマンドの処理を開始したことを通知する場合にCMRをCH210に対して通知すべく、そのCMRをHOSTインタフェースレイヤ1121に送る。
格納部113は、HOSTコンピュータ200が発行したコマンドを格納する。また、格納部113には、後述するCA情報テーブルが格納されている。
次に、I/O処理の一形態を構成する第1の信号処理について説明する。
図8は、第1の信号処理を示すシーケンス図である。なお、図8では、HOSTインタフェースレイヤ1121を「HOST IL」、HOSTコマンドレイヤ1122を「HOST CL」と表記している。
まず、HOSTコンピュータ200が、CH210を介してCMD(図6のDXコマンドに相当)を送信する(ステップS11)。
インタフェース部111が、CMDを受信すると、インタフェース駆動部112aに対して割り込みをかける(ステップS12)。
インタフェース駆動部112aが割り込みを受けると、CMD受信通知をHOSTインタフェースレイヤ1121に渡す(ステップS13)。
HOSTインタフェースレイヤ1121は、受け取ったCMD受信通知をHOSTコマンドレイヤ1122に渡す(ステップS14)。
次に、HOSTコマンドレイヤ1122が、MSG信号(図6のMSG−10に相当)をCM120に送る(ステップS15)。そして、CM120が、MSG信号(図6のMSG−60に相当)をHOSTコマンドレイヤ1122に返す(ステップS16)。
次に、HOSTコマンドレイヤ1122が、CMR送信依頼をHOSTインタフェースレイヤ1121に送る(ステップS17)。
次に、HOSTインタフェースレイヤ1121が、CMR送信依頼をインタフェース駆動部112aに送る(ステップS18)。
その後、図8では図示していないが、HOSTコマンドレイヤ1122が、図6に示したWCKD信号を受けとると、コマンド処理を行う。すなわち、本実施の形態では、HOSTコンピュータ200(CH210)からの送信STSを待たずにコマンド処理を行う。具体的にはHOSTコマンドレイヤ1122が、MSG信号(図6のMSG−20に相当)をCM120に送る(ステップS19)。そして、CM120が、MSG信号(図6のMSG−66に相当)をHOSTコマンドレイヤ1122に返す(ステップS20)。これにより、予め格納部113に格納されているコマンドの処理が実行され、データの送受信が行われる(ステップS21)。
一方、インタフェース駆動部112aは、CMR送信依頼を受け取ると、インタフェース部111に対してCMR信号を送る(ステップS22)。
インタフェース部111は、CH210にCMRを送信する(ステップS23)。また、インタフェース部111は、CMRの送信完了を契機(トリガ)にしてCMR送信完了割り込みをインタフェース駆動部112aに送る(ステップS24)。
インタフェース駆動部112aは、CMR送信完了割り込みを受けると送信STSをHOSTインタフェースレイヤ1121に送る(ステップS25)。
その後、コマンド処理が終了すると、HOSTコマンドレイヤ1122が、STS送信依頼をHOSTインタフェースレイヤ1121に送る(ステップS26)。
次に、HOSTインタフェースレイヤ1121が、受け取った送信STSが正常な(CMR送信が正常に完了した)ものか否かを判断し(ステップS27)、正常なものである場合、インタフェース駆動部112aにSTS送信依頼を送る(ステップS28)。
次に、インタフェース駆動部112aがインタフェース部111にSTS送信依頼を送る(ステップS29)。
次に、インタフェース部111がCH210にSTSを送信する(ステップS30)。
以上で信号処理を終了する。
次に、第1の信号処理を行う際のHOSTインタフェースレイヤ1121の処理について詳しく説明する。
図9は、第1の信号処理を行う際のHOSTインタフェースレイヤの処理を示すフローチャートである。
まず、フラグの設定を行う(ステップS31)。具体的には、CMR送信処理中フラグをONにし、CMR送信完了フラグをOFFにする。
次に、CMR送信処理中か否かを判断する(ステップS32)。
CMR送信処理中ではない場合(ステップS32のNo)、呼び元であるHOSTコマンドレイヤ1122に正常復帰する(ステップS33)。その後、処理を終了する。
一方、CMR送信処理中の場合(ステップS32のYes)、送信STSを受け取ったか否かを判断する(ステップS34)。
送信STSを受け取っていない場合(ステップS34のNo)、送信STSの受け取りを待機する。
一方、送信STSを受け取った場合(ステップS34のYes)、CMR送信中フラグをOFFにする(ステップS35)。
次に、受け取った送信STSが正常なものか否かを判断する(ステップS36)。
STSが正常ではない場合(ステップS36のNo)、エラー情報をセットし(ステップS37)、呼び元であるHOSTコマンドレイヤ1122にエラー復帰する(ステップS38)。その後、処理を終了する。
一方、受け取ったSTSが正常の場合(ステップS36のYes)、CMR送信完了フラグをONにする(ステップS39)。
次に、HOSTコンピュータ200側からのコマンド処理中断指示であるリセットIUを受信済みか否かを判断する(ステップS40)。
リセットIUを受信済みではない場合(ステップS40のNo)、ステップS33に移行し、呼び元であるHOSTコマンドレイヤ1122に正常復帰する(ステップS33)。その後、処理を終了する。
リセットIUを受信済みの場合(ステップS40のYes)、HOSTコンピュータ200側から受信した未処理のコマンド(SB2H、DIB)を廃棄(解放)する(ステップS41)。
その後、呼び元であるHOSTコマンドレイヤ1122にリセットIUを受信したことを通知し、その後復帰する(ステップS42)。以上で処理が終了する。
このように、リセットIUを受信した場合においてもCMR送信完了を待ち合わせて処理を行うことで対応する。
ところで、図8および図9に示す処理によれば、エラー復帰を行う場合に、リカバリ処理が必要となる。
従来は、I/O処理中に異常状態を検出した場合、CA110からCH210に対しABTS信号を送信することにより、I/O処理の中断を行うことができる。しかし、本実施の形態ではコマンド処理開始時点(図8のステップS21開始時点)では、CA110とCH210との間でコネクションが確立していない状態であるため、ABTS信号を送信することができない。このため、本実施の形態では、図9のステップS36での送信STSが正常ではない場合(CMR送信が正常に完了していない場合)、インタフェース駆動部112aがCA内部テーブルの状態を変化させるための内部処理であるLINKエラーリカバリ(ABTS無し)を実行する。これにより、CA内部テーブルの更新を行い、従来のCMR送信失敗時と同様の状態にすることができる。
また、HOSTコンピュータ200がCMR送信依頼を受信した後には、CA110とCH210との間でのコネクションが確立するため、ABTS信号による中断を実行することができる。
図10は、CA内部テーブルを示す図である。
CA内部テーブル113aには、IXSTS(Inbound exchange status)とOXSTS(Outbound exchange status)の欄とが設けられている。なお、CH210からCA110への方向をInbound、CA110からCH210への方向をOutboundとしている。
IXSTSの欄およびOXSTSの欄には、CH210とCA110との接続(通信可能)状態を示すopenedまたはCH210とCA110との非接続(通信不能)状態を示すclosedがインタフェース駆動部112aにより、それぞれ設定される。
また、exchangeは、CH210とCA110とのIUのやりとりにおける送受信単位を意味する。例えば、図6のI/O処理のステップS1〜ステップS5が1つのexchangeを構成している。
図11は、CA内部テーブルの状態の遷移を示す図である。
IUは、送受信フラグであるFIRSTおよびLASTを有している。
IU送信の際、FIRST=1の場合、それが最初の送信であることを示し、LAST=1の場合、それが最後の通信であることを示している。また、FIRST=0およびLAST=0の場合、これら以外の送信であることを示している。
図11に示すように、CH210およびCA110はそれぞれ先頭のIUにおいてFIRST=1とすることで送受信を開始し、それぞれ最後のIUをLAST=1とすることでIUの送受信を完了する。
インタフェース駆動部112aは、CA内部テーブル113aのIXSTSおよびOXSTSを適宜opened状態からclosed状態に遷移させ、当該I/Oで使用中のバッファ等の資源を解放するまでの処理を行う。
図12は、CMR送信失敗時のリカバリ処理を示すシーケンス図である。
まず、図9のステップS36でCMR送信失敗であることが分かると、インタフェース駆動部112aがCA情報テーブルを更新し、OXSTSをclosedに遷移させる(ステップS71)。
次に、インタフェース駆動部112aがスレッド112bに送信異常を通知する(ステップS72)。
スレッド112bは、インタフェース駆動部112aへ上位との接続を遮断するためのABTS送信を依頼する(ステップS73)。
インタフェース駆動部112aは、OXSTSがclosedの為、実際にはABTSを発行できないため、ABTSを発行しない。CA情報テーブルのIXSTSをclosedに遷移させる(ステップS74)。
インタフェース駆動部112aは、スレッド112bへABTS処理完了を通知する(ステップS75)。
スレッド112bは、CA内部エラーリカバリが完了したのでインタフェース駆動部112aへI/O処理完了依頼を行う(ステップS76)。
インタフェース駆動部112aは、IXSTSとOXSTSとがそれぞれにclosedであることを確認後、格納部113内の、その処理に係る未処理のコマンドやデータを廃棄する(ステップS77)。以上でリカバリ処理を終了する。
なお、このリカバリ処理は、CMR送信失敗以外の処理、例えばCM120とのやりとりの際に生じた異常の際にも使用することができる。
また、CMR送信失敗とCMR送信失敗以外の異常とが併発した場合には、まず、リカバリ処理を実行し、その後、ABTS処理を行う。
次に、コマンド処理後に、インタフェース駆動部112aがCMR送信完了割り込みを受け取った場合の信号処理(第2の信号処理)について説明する。
図13は、第2の信号処理を示すシーケンス図である。
以下、第2の信号処理について、前述した第1の信号処理との相違点を中心に説明し、同様の事項については、その説明を省略する。
ステップS51〜ステップS63:第1の信号処理のステップS11〜ステップS23と同様の処理を行う。
コマンド処理が終了すると、HOSTコマンドレイヤ1122は、HOSTインタフェースレイヤ1121にSTS送信依頼を送る(ステップS64)。
その後、HOSTインタフェースレイヤ1121が送信STSを待機する(ステップS65)。
そして、インタフェース部111が、CMR送信依頼の送信完了を契機にしてCMR送信完了割り込みをインタフェース駆動部112aに送り(ステップS66)、インタフェース駆動部112aが、送信STSをHOSTインタフェースレイヤ1121に送る(ステップS67)。
ステップS68〜ステップS71:第1の信号処理のステップS27〜ステップS30と同様の処理を行う。
以上で、第2の信号処理を終了する。
以上述べたように、本実施の形態の信号処理システム300によれば、HOSTコマンドレイヤ1122が、DXコマンドに対するCMR送信依頼を送った後にWCKD信号を受け取った場合、送信STSを待たずに(送信STSに関わらず)CM120との間でコマンドの処理を実行するようにしたので、I/O処理に必要な時間を低減させることができ、I/O処理の高速化を図ることができる。
また、HOSTインタフェースレイヤ1121が、CMR送信が正常に完了したか否かを判断し、正常に完了した場合、インタフェース駆動部112aにSTS送信依頼を送るようにしたので、HOSTコンピュータ200側もRAID制御装置100の状態を確実に把握することができる。
また、HOSTインタフェースレイヤ1121が、CMR送信が正常に完了したか否かを判断し、失敗した場合には、HOSTコンピュータ200との接続を切断し、未処理のコマンドを廃棄するようにしたので、従来のCMR送信失敗時と同様のリカバリを行うことができる。
また、HOSTコンピュータ200からのリセット信号を受信した場合にも、CMR送信完了を待ち合わせて処理を行うことで従来のI/O送信と同様の処理を行うことができる。
以上、本発明の信号処理方法、信号処理プログラムおよび信号処理装置を、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、RAID制御装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記録装置としては、例えば、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ等が挙げられる。光ディスクとしては、例えば、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等が挙げられる。光磁気記録媒体としては、例えば、MO(Magneto-Optical disk)等が挙げられる。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
信号処理プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
(付記1) ホストコンピュータとの間でコマンドを用いた信号処理を行う信号処理方法において、
前記コマンドを処理するコマンド処理手段が、前記ホストコンピュータから送信された前記コマンドに応答するコマンドレスポンスを生成するステップと、
送信確認通知に関わらず前記コマンドの処理を行い、前記送信確認通知の受け取りを待機するステップと、
前記ホストコンピュータと前記コマンド処理手段とを中継するインタフェースが、前記コマンドレスポンスを前記ホストコンピュータに送信した際の送信完了を示す前記送信確認通知を前記コマンド処理手段に送るステップと、
前記コマンド処理手段が、前記送信確認通知を受け取った場合、前記コマンドレスポンスが正常に行われたか否かを判断するステップと、
を有することを特徴とする信号処理方法。
(付記2) 前記コマンド処理手段は、前記コマンドレスポンスが正常に受信されていないと判断した場合、前記ホストコンピュータとの接続を切断するステップと、前記ホストコンピュータから受信した未処理の前記コマンドを廃棄するステップとを有することを特徴とする付記1記載の信号処理方法。
(付記3) 前記コマンド処理手段は、前記送信確認通知を受信する前に、前記コマンドの処理が終了した場合、前記送信確認通知を待機することを特徴とする付記1記載の信号処理方法。
(付記4) 前記コマンド処理手段は、前記コマンドの処理の実行中に前記ホストコンピュータからのコマンド送信を停止させるリセット信号を受信した場合、前記送信確認通知を待機し、前記送信確認通知を受信したとき、前記ホストコンピュータから受信した未処理の前記コマンドを廃棄するステップを有することを特徴とする付記1記載の信号処理方法。
(付記5) ホストコンピュータとの間でコマンドを用いた信号処理を行う信号処理プログラムにおいて、
コンピュータを、
前記ホストコンピュータから送信された前記コマンドに応答するコマンドレスポンスを生成し、送信確認通知に関わらず前記コマンドの処理を行い、前記送信確認通知の受け取りを待機し、前記送信確認通知を受け取った場合、前記コマンドレスポンスが正常に行われたか否かを判断するコマンド処理手段、
前記ホストコンピュータと前記コマンド処理手段とを中継し、前記コマンドレスポンスを前記ホストコンピュータに送信した際の送信完了を示す前記送信確認通知を前記コマンド処理手段に送るインタフェース、
として機能させることを特徴とする信号処理プログラム。
(付記6) ホストコンピュータとの間でコマンドを用いた信号処理を行う信号処理装置において、
前記ホストコンピュータから送信された前記コマンドに応答するコマンドレスポンスを生成し、送信確認通知に関わらず前記コマンドの処理を行い、前記送信確認通知の受け取りを待機し、前記送信確認通知を受け取った場合、前記コマンドレスポンスが正常に行われたか否かを判断するコマンド処理手段と、
前記ホストコンピュータと前記コマンド処理手段とを中継し、前記コマンドレスポンスを前記ホストコンピュータに送信した際の送信完了を示す前記送信確認通知を前記コマンド処理手段に送るインタフェースと、
を有することを特徴とする信号処理装置。
実施の形態に適用される発明を示す概要図である。 実施の形態の信号処理システムを示すブロック図である。 信号処理システムのハードウェア構成例を示す図である。 CAのハードウェア構成例を示す図である。 HOSTコンピュータのハードウェア構成例を示す図である。 I/O処理を示すシーケンス図である。 CAの機能を示すブロック図である。 第1の信号処理を示すシーケンス図である。 第1の信号処理を行う際のHOSTインタフェースレイヤの処理を示すフローチャートである。 CA内部テーブルを示す図である。 CA内部テーブルの状態の遷移を示す図である。 CMR送信失敗時のリカバリ処理を示すシーケンス図である。 第2の信号処理を示すシーケンス図である。 HOSTコンピュータとディスクアレイとの構成の一例を示す図である。 従来の信号処理を示す図である。
符号の説明
1 ホストコンピュータ
2 コマンド処理手段
3 インタフェース
100 RAID制御装置
101 SFP
102 ISPチップ
103、106 制御チップ
104 CPU
105 メモリ
107 バッファ
110 CA
111 インタフェース部
112a インタフェース駆動部
112b スレッド
113 格納部
120 CM
130、140、150 DISK
200 HOSTコンピュータ
210 CH
300 信号処理システム
1121 HOSTインタフェースレイヤ
1122 HOSTコマンドレイヤ

Claims (5)

  1. ホストコンピュータとの間でコマンドを用いた信号処理を行う信号処理方法において、
    前記コマンドを処理するコマンド処理手段が、前記ホストコンピュータから送信された前記コマンドに応答するコマンドレスポンスを生成するステップと、前記ホストコンピュータから所定の第2のコマンドを受信すると、前記コマンドレスポンスを前記ホストコンピュータに送信した際の送信完了を示す送信確認通知の受信の有無に関わらず前記コマンドの処理を行ステップと、
    前記コマンドレスポンスの前記ホストコンピュータへの送信処理が完了すると、前記ホストコンピュータと前記コマンド処理手段とを中継するインタフェースが、前記送信確認通知を前記コマンド処理手段に送るステップと、
    前記コマンド処理手段が、前記送信確認通知を受け取った場合、前記送信確認通知に含まれるステータス情報に基づいて前記コマンドレスポンスが正常に行われたか否かを判断するステップと、
    を有することを特徴とする信号処理方法。
  2. 前記コマンド処理手段は、前記コマンドレスポンスが正常に行われていないと判断した場合、前記ホストコンピュータとの接続を切断するステップと、前記ホストコンピュータから受信した未処理の前記コマンドを廃棄するステップとを有することを特徴とする請求項1記載の信号処理方法。
  3. 前記コマンド処理手段は、前記送信確認通知を受信する前に、前記コマンドの処理が終了した場合、前記送信確認通知を待機することを特徴とする請求項1記載の信号処理方法。
  4. ホストコンピュータとの間でコマンドを用いた信号処理を行う信号処理プログラムにおいて、
    コンピュータを、
    前記ホストコンピュータから送信された前記コマンドに応答するコマンドレスポンスを生成し、前記ホストコンピュータから所定の第2のコマンドを受信すると、前記コマンドレスポンスを前記ホストコンピュータに送信した際の送信完了を示す送信確認通知の受信の有無に関わらず前記コマンドの処理を行い、前記送信確認通知を受け取った場合、前記送信確認通知に含まれるステータス情報に基づいて前記コマンドレスポンスが正常に行われたか否かを判断するコマンド処理手段、
    前記ホストコンピュータと前記コマンド処理手段とを中継し、前記コマンドレスポンスの前記ホストコンピュータへの送信処理が完了すると、前記送信確認通知を前記コマンド処理手段に送るインタフェース、
    として機能させることを特徴とする信号処理プログラム。
  5. ホストコンピュータとの間でコマンドを用いた信号処理を行う信号処理装置において、
    前記ホストコンピュータから送信された前記コマンドに応答するコマンドレスポンスを生成し、前記ホストコンピュータから所定の第2のコマンドを受信すると、前記コマンドレスポンスを前記ホストコンピュータに送信した際の送信完了を示す送信確認通知に関わらず前記コマンドの処理を行い、前記送信確認通知を受け取った場合、前記送信確認通知に含まれるステータス情報に基づいて前記コマンドレスポンスが正常に行われたか否かを判断するコマンド処理手段と、
    前記ホストコンピュータと前記コマンド処理手段とを中継し、前記コマンドレスポンスの前記ホストコンピュータへの送信処理が完了すると、前記送信確認通知を前記コマンド処理手段に送るインタフェースと、
    を有することを特徴とする信号処理装置。
JP2006168240A 2006-06-19 2006-06-19 信号処理方法、信号処理プログラムおよび信号処理装置 Expired - Fee Related JP4791265B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006168240A JP4791265B2 (ja) 2006-06-19 2006-06-19 信号処理方法、信号処理プログラムおよび信号処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006168240A JP4791265B2 (ja) 2006-06-19 2006-06-19 信号処理方法、信号処理プログラムおよび信号処理装置

Publications (2)

Publication Number Publication Date
JP2007334778A JP2007334778A (ja) 2007-12-27
JP4791265B2 true JP4791265B2 (ja) 2011-10-12

Family

ID=38934175

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006168240A Expired - Fee Related JP4791265B2 (ja) 2006-06-19 2006-06-19 信号処理方法、信号処理プログラムおよび信号処理装置

Country Status (1)

Country Link
JP (1) JP4791265B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010244611A (ja) * 2009-04-06 2010-10-28 Hitachi-Lg Data Storage Inc 光ディスク装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1168884A (ja) * 1997-08-20 1999-03-09 Matsushita Electric Ind Co Ltd 伝送媒体接続装置および制御装置ならびに被制御装置および記憶媒体
JP2005115600A (ja) * 2003-10-07 2005-04-28 Hitachi Ltd 情報処理装置及び方法
JP4337538B2 (ja) * 2003-12-12 2009-09-30 日本電気株式会社 ホストインタフェース制御装置及び制御方法並びに制御プログラム

Also Published As

Publication number Publication date
JP2007334778A (ja) 2007-12-27

Similar Documents

Publication Publication Date Title
US7089386B2 (en) Method for controlling storage device controller, storage device controller, and program
JP2005025683A (ja) 記憶システム及び記憶装置システム
US7676701B2 (en) Computer readable medium storing an error recovery program, error recovery method, error recovery apparatus, and computer system
JP2010537267A (ja) ストレージ・コントローラと複製エンジンとの間で書き込みを分割する方法、システムおよびプログラム
JP2006190257A (ja) データ転送装置およびデータ転送方法
JP4322240B2 (ja) 再起動方法、システム及びプログラム
JP2009217484A (ja) リモートコピーシステム及び確認方法
JP4791265B2 (ja) 信号処理方法、信号処理プログラムおよび信号処理装置
WO2023173718A1 (zh) 一种通信链路更新方法、装置及相关设备
JP5786739B2 (ja) 書込みシステム、書込み装置および書込み方法
JP2014032515A (ja) ストレージ装置及びストレージシステム
US20100241817A1 (en) Storage apparatus and method thereof
US20080043734A1 (en) Data processing system, data processing apparatus, and data processing method
JP2017130002A (ja) ストレージ制御装置および制御プログラム
JP4579998B2 (ja) リストア管理プログラム、リストア管理方法およびリストア管理装置
JP3696740B2 (ja) チャネルインタフェース再結合制御方法およびファイル制御装置
JPS63305445A (ja) 電源切断時のデ−タ書込み方式
JP4193754B2 (ja) データ二重化方法とプログラム
CN117112311B (zh) I/o驱动的数据恢复方法、系统及装置
JP2888222B2 (ja) データバックアップ方式
JP2019159437A (ja) 情報処理装置、転送制御方法および転送制御プログラム
US20180309663A1 (en) Information processing apparatus, information processing system, and information processing method
JP2732951B2 (ja) データ転送制御方法
JP6205812B2 (ja) プログラム及び通信抑制方法
CN116339917A (zh) 终端设备的数据热迁移方法、装置、电子设备和可读介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110426

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110624

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

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

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

Free format text: PAYMENT UNTIL: 20140729

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees