JP3686562B2 - Disk controller - Google Patents

Disk controller Download PDF

Info

Publication number
JP3686562B2
JP3686562B2 JP35648099A JP35648099A JP3686562B2 JP 3686562 B2 JP3686562 B2 JP 3686562B2 JP 35648099 A JP35648099 A JP 35648099A JP 35648099 A JP35648099 A JP 35648099A JP 3686562 B2 JP3686562 B2 JP 3686562B2
Authority
JP
Japan
Prior art keywords
unit
data
access
control unit
selector
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
JP35648099A
Other languages
Japanese (ja)
Other versions
JP2001175582A (en
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.)
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 JP35648099A priority Critical patent/JP3686562B2/en
Publication of JP2001175582A publication Critical patent/JP2001175582A/en
Application granted granted Critical
Publication of JP3686562B2 publication Critical patent/JP3686562B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明はディスク制御装置に関し、特に複数のディスクキャッシュ部を有する装置におけるキャッシュ間のデータ転送方式に関する。
【0002】
【従来の技術】
記憶装置の信頼性の向上のため、データを二重化し管理する手段が一般的である。ディスクインターフェースとホストインターフェースによりリード及びライトされるデータを一時的に格納するキャッシュメモリ部において、メモリ領域の全部または1部を2重化し、キャッシュメモリ部のデータの書き込み時に2重化した2つの領域に同じデータを書き込むことによりデータの信頼性を上げることが行われている。これが2重書き動作と呼ばれる。この様な複数のキャッシュメモリ部を持つディスク制御装置は障害時にキャッシュを復旧させる場合、ホストまたはディスクインタフェース部が介在して一方のキャッシュメモリからデータを読み出し他方のキャッシュメモリにデータを書き込みしなければならない。即ち、2重キャッシュの片側障害時の復旧時はデータのリード、ライトと転送のプロトコルを2段踏まなくてはならない。なお、このとき、データはインタフェース部を通るためデータそれ自体の正当性のチェックも同時に行なわれていた。
【0003】
最近記憶装置のデータ容量増加に伴いディスクキャッシュメモリの容量の増大化の傾向がある。容量が大きければ、キャッシュ障害時の復旧時間もそれに伴い増大し、システムの性能に対して与える影響も大きくなる。まして、無停止保守の装置では、復旧時の負荷はできるだけ少なく止めたい。
【0004】
2重書きについては以下のものがあるがいずれも本発明での観点は示していない。特開平8−320842号公報、これには、転送するデータにそのデータが任意のチャネル制御部で処理すべきデータであることを示す情報を付加し、主記憶装置から読み出したデータを任意のチャネル制御部に同時に転送することが記載されている。また、特開平9−185556号公報、これには、2つのメモリ部に対し書き込みは両方に対して行ない、読み込みはいずれか一方から行うことで常に同じデータを保留する2重化メモリシステムであって、プライマリメモリが単一データである場合、自分自身のデータ構造で修復をし、シャドウメモリに別のデータを保持することが可能なメモリ管理方式が記載されている。
【0005】
【発明が解決しようとする課題】
キャッシュメモリにおいての2重書きによるデータの保証では、万が一2重化したキャッシュメモリ部のどちらかのデータが壊れた場合、あるいはメモリ部が故障した場合、保守により故障したメモリ部の復旧を行なった後、データの再度の書き込みを行なうことになる。ここでは正常なメモリ部からデータを読み出し、復旧したメモリ部へ書き込むといった動作が要求される。
【0006】
もし、ディスクインタフェースやホストインタフェースを通さずキャッシュ間によりデータを転送する機能を持てば、前述したプロトコルは1つで済み転送時間の短縮が可能となる。しかしながら、この場合は新たな問題が生じる。
【0007】
この動作を行う場合、データ自体はデータ転送元であるキャッシュメモリ部からコピー先であるキャッシュメモリ部に転送され、この過程でエラーチェック回路の配置によりデータビットの反転などのエラーチェックは行なわれる。しかし、書き込まれたデータの信頼性を確認するには、キャッシュ間のエラーチェック情報(ECCなど)のみでは十分ではない。例えば、ドライブに関する論理ラベル情報のチェックなど本当に書き込まれるべきデータが書き込まれたかというデータそれ自体の正当性のチェックはなされ得ない。このように2段階のプロトコルを踏んでいたときのチェックがなされなくなるという問題が生じる。このため、もう一度コピー先のキャッシュからデータを読み出してホストインタフェースあるいはドライブインタフェースのエラーチェック部を介して(どちらでも良い)確認しなければならない。
【0008】
本発明は、複数のキャッシュメモリと、ホストコンピュータとのインタフェースを持つホストインタフェース部と、磁気ディスク装置とのインタフェースを持つディスクインタフェース部と、キャッシュメモリと、ホストインタフェース部又はディスクインタフェース部と複数のキャッシュメモリとの間を接続するためのパスを選択的に切り替えてパスを形成する接続部とを有するディスク制御装置において、
ホストインタフェース部又はディスクインタフェース部は、パス上に、データをモニタしてその正当性をチェックするチェック手段を有し、
接続部は、ホストインタフェース部またはディスクインタフェース部から転送されるコマンドを解析するコマンド解析部と、コマンド解析部におけるコマンドの解析結果に従って、ホストインタフェース部又はディスクインタフェース部と、複数のキャッシュメモリとの間を接続するためのパスを切り替えるセレクタと、を有し、
コマンド解析部におけるコマンドの解析の結果、コマンドがキャッシュ間コピーの場合、一方のキャッシュメモリからデータを読み出し、他方のキャッシュメモリへデータを書き込むように、かつホストインタフェース部またはディスクインタフェース部がデータを受信するようにセレクタによってパスを切り替えて接続し、一方のキャッシュメモリから読み出されたデータを、セレクタを介して他方のキャッシュメモリへ転送すると共に、コマンドを発行したホストインタフェース部又はディスクインタフェース部のチェック手段によってデータの正当性をチェックするようにしたものである。
また、本発明は好ましくは、接続部は、パス上に、セレクタと複数のキャッシュメモリとの間にデータをモニタしてチェックするエラーチェック回路を有し、キャッシュメモリから読み出されたデータのエラーチェックを行うようにしたものである。
【0009】
【発明の実施の形態】
以下、本発明の実施例を図面を用いて説明する。
図1に本発明の実施例の構成であり、発明が適用される基本的な装置構成を示す。ディスク制御装置1は、ホストコンピュータ50との2つのインターフェース部(ホストIF部)11と、磁気ディスク装置20との2つのインターフェース部(ディスクIF部)12と、2つのセレクタ部13と、2つのキャッシュメモリ部14とアクセスパス0:135とアクセスパス1:136とを有する。
【0010】
ここで、ホストIF部、ディスクIFは2つずつあるが、一般化するため2つずつとしたものであり、1つずつでも良い。また、ホストIF部、ディスクIFとキャッシュメモリ部とはセレクタで接続パスが作られているが、ここをバス方式の相互接続方式としても良い。セレクタまたはバスでのホストまたはディスクIFとキャッシュメモリ部との相互接続部を接続部と呼ぶ。
【0011】
ホストIF部11は、ホストコンピュータ50との2つのホストIF102とホストコンピュータ50に対する入出力を制御する2つのマイクロプロセッサ101と、キャッシュメモリ(CM)部14へのアクセスを制御するアクセス制御部(CMアクセス制御部)104とを有し、マイクロプロセッサ101の制御によりホストコンピュータ50とキャッシュメモリ部14のデータ転送を実行する。マイクロプロセッサ101及びホストIF102は内部バス106によって接続され、CMアクセス制御部104は2つのホストIFに接続されている。
【0012】
ディスクIF部12は、磁気ディスク装置20との2つのIF(ドライブIF)103と、磁気ディスク装置20に対する入出力を制御する2つのマイクロプロセッサ101と、キャッシュメモリ部14への1つのアクセス制御部(CMアクセス制御部)104とを有し、マイクロプロセッサ101の制御により磁気ディスク装置20とキャッシュメモリ部14間のデータ転送を実行する。 マイクロプロセッサ101及びドライブIF103は内部バス106によって接続され、CMアクセス制御部104は、2つのドライブIF103に接続されている。ディスクIF部はRAID制御等の演算機能の実行も行なう。
【0013】
キャッシュメモリ部14は、CMコントローラ107とメモリモジュール109を有し、磁気ディスク装置20へ記録するデータを一時的に格納する。CMアクセス制御部104には、2本のアクセスパス0:135を接続し、それらを2つの異なるセレクタ部13にそれぞれ接続する。セレクタ部13には、2本のアクセスパス1:136を接続し、それらを2つの異なるCMコントローラ107にそれぞれ接続する。したがって、CMコントローラ107には、2つのセレクタ部から1本ずつ、計2本のアクセスパス1:136が接続される。 1つのCMアクセス制御部104から1つのCMコントローラ107へのアクセス経路は2つとなり、1つのアクセスパスまたはセレクタ部13に障害が発生した場合でも、もう一つのアクセスルートによりキャッシュメモリ部14へのアクセスは可能となるため、耐障害性を向上させることができる。
【0014】
セレクタ部13には、2つのホストIF部11と、2つのディスクIF部12から、それぞれ1本ずつ、計4本のアクセスパス0:135を接続する。またセレクタ部13には、2つのキ ャッシュメモリ部14へのアクセスパス1:136が1本ずつ、計2本接続される。
【0015】
この時アクセスパス0:135とアクセスパス1:136の間に上記の様なパス数の関係がある為、セレクタ部13では、ホストIF部11及びディスクIF部12からの4本のアクセスパス0:135からの要求のうち、キャッシュメモリ部14へのアクセスパス1:136の数に相当する2つだけを選択して実行する機能を持つ。
【0016】
本実施例では耐故障性の向上という観点からセレクタ部13、キャッシュメモリ部14は、それぞれ二重化されている。
【0017】
図2は、CMアクセス制御部104内の構成を示している。これは発明に関係する周辺構成をより詳細に説明するものである。CMアクセス制御部104は、セレクタ302と、アドレス、コマンド、データを一時格納するパケットバッファ303と、セレクタ部13に接続するアクセスパス0:135とのパスIF301と、データのエラーチェック部300’(図3、図4のエラーチェック回路とは違い単なるエラーのチェックだけでなく、データそのものの正当性などをチェックする)と、データ転送制御部310を有する。セレクタ302の2つのポートはデータ線210でホストIF102あるいはドライブIF103に接続される。また、セレクタ302の他の2つのポートはパスIF301に接続され、パスIF301はアクセスパス0:135でセレクタ部13に接続される。データ転送部310は、制御線2:212でセレクタ部13内の図3で示すデータ転送制御部315に接続される。データ転送制御部310は、アービタ308によりホストIF102あるいはドライブIF103からのアクセス要求のアービトレーションを行なう。ここでは2つのゲートのうち例えば先着順のようなアルゴリズムで一方を選ぶ、またはどちらのキャッシュが選択されているかを検出するなどしてそれに通信権を与える。データは矢印で示すように双方向性である。セレクタ302はアービタ308により通信権が与えられたデータ線に通信パスが形成されるようにゲートの一方を選んで通信路を切り替える動作を行なう。
【0018】
図3は、後述する本発明の動作を実現するセレクタ部13内の構成を示している。特徴とするところはセレクタに入るデータ線が枝分かれしていることである。即ち、キャッシュメモリ側から転送されてきたデータが他方のキャッシュメモリへ転送されるパスとインタフェースへ転送されるパスとが同時に存在しうることである。セレクタ部13は、ホストIF部11ならびにディスクIF部12につながるアクセスパス0:135との計4つのパスIF301と、CMコントローラ107につながるアクセスパス1:136との2つのパスIF301と、両者間を互いに接続するセレクタ306と、パケットバッファ303と、データのエラーチェック部300とCMアクセス制御部104から送出されたアドレス及びコマンドを解析するアドレス/コマンド解析部305と、データ転送制御部315を有する。
【0019】
データ転送制御部315は、制御線2:212でCMアクセス制御部104内のデータ転送部310に接続され、制御線3:213でCMコントローラ107内のデータ転送制御部315に接続される。またデータ転送制御部315は、ア−ビタ308によりアドレス/コマンド解析部305で解析した4本のアクセスパス0:135からのアクセス要求のアービトレーションを行い、セレクタ306の切り替えを行う。データ転送制御部315はセレクタ306と相俟って本発明の動作を実現するものであり、詳細を後述する。
【0020】
パケットバッファ303は、アクセスパス0:135側のパスとアクセスパス1:136側のパスでデータ転送速度に差がある場合、速度差を吸収するために、転送するデータの一部または全部をバッファリングする。アドレス/コマンド解析部305は、アドレス及びコマンドを格納するバッファと、アドレス抽出部と、コマンド抽出部を有する。(図示はしていない)。アドレス/コマンド解析部305ではCMアクセス制御部104に接続される4本のアクセスパス0:135それぞれに1つずつ割り当てられたバッファに、アドレス、コマンドを格納する。アドレス抽出部及びコマンド抽出部では、アクセスするCMコントローラの種類を割り出し、データ転送制御部315内のアービタ308へ送出する。
【0021】
図のセレクタ306はデータ転送制御部315の制御によりリード、ライト、キャッシュ間転送などを行なう。セレクタ306はバス構造にも置き換えられる。このとき、一方のキャッシュからバス上に載せられたデータは他方のキャッシュに転送されると共にインタフェース部にも転送されることを許す構成となっていることが必要である。
【0022】
図4は、キャッシュメモリ部14内の構成を示している。これは本発明の周辺部を示すものとしてキャッシュメモリ側の構成の詳細を示したものである。キャッシュメモリ部14は、CMコントローラ107とメモリモジュール109を有する。CMコントローラ107は、セレクタ部13につながるアクセスパス1;136との図3に示す2つのパスIF301と、セレクタ304とデータを一時格納するパケットバッファ303と、データのエラーチェック部300と、メモリモジュール109へのアクセスを制御するメモリ制御部307とCMアクセス制御部104から送出されたアドレス及びコマンドを解析するアドレス/コマンド解析部305とデータ転送部310を有する。データ転送制御部310は、アービタ308により、アドレス/コマンド解析部305で解析した2本のアクセスパス1:136からのアクセス要求のアービトレーションを行い、セレクタ304の切り替えを行う。
【0023】
アドレス/コマンド解析部305は、バッファとアドレス抽出部とコマンド抽出部を有する。(図示はしていない。)アドレス/コマンド解析部305では、CMコントローラ107に接続される2本のアクセスパス1:126それぞれに1つずつ割り当てられたバッファに、アドレス、コマンドを格納する。アドレス抽出部及びコマンド抽出部ではアクセスするメモリのアドレスとアクセスの種類を割り出し、メモリ制御部307へ送出する。また、2本のアクセスパス1:136からのアクセス要求をデータ転送制御部310内のアービタ308へ送出する。
【0024】
次に、本発明に関係するキャッシュメモリ部14へのアクセス手順について記述する。
【0025】
(キャッシュライト動作)
キャッシュメモリ部14へのアクセスする場合、マイクロプロセッサ101はホストIF102あるいはドライブIF103へ、キャッシュメモリ部14へのアクセス開始を指示する。マイクロ処理装置101はプログラムの実行をするものであり、アクセスの要求を出し、以下の動作を起動する。アクセス開始の指示を受けた図1のホストIF102あるいはドライブIF103は、制御線1:211によりCMアクセス制御部104内の図2のデータ転送制御部310へアクセス開始を示す信号を送出し、それとともにデータ線210を通してアドレス、コマンド、データを送出する。CMアクセス制御部104は、データ線210を通して送られてきたアドレス、コマンド、データをパケットバッファ303に格納する。データ転送制御部310はアービトレーションを行って1つのデータについてパスIF301の使用権を決定し、図2のセレクタ302を切り替える。
【0026】
図5は、キャッシュメモリ部14へデータを書き込む場合の、CMアクセス制御部104からCMコントローラ107へのアクセスの流れを示す。CMアクセス制御部104内のデータ転送部310は、アービトレーションによってアクセスパス0:135の使用権が決定されると、制御線2:212によって図3のセレクタ部13内のデータ転送制御部315へアクセス開始を示す信号(REQ)を出す(ステップ501)。続いてアドレス及びコマンドを送出する(ステップ502)。
【0027】
セレクタ部13内のデータ転送制御部315は、CMアクセス制御部104からREQ信号を受け取り、次にアクセスパス0:135を通して送られてくるアドレス及びコマンドを受信し、アドレス/コマンド解析部305で解析(デコード)したアクセス要求に基づいてアービトレーションを行う(ステップ503)。アービトレーションの結果、アクセスパス1:136への接続権を得たら、データ転送制御部315はセレクタ306を切り替える(ステップ504)。そして制御線2:212によりCMアクセス制御部104内のデータ転送制御部310へ、アクセスパス1:136への接続が得られたことを示す信号(ACK)を返す(ステップ505)。
【0028】
次にデータ転送制御部315は、図3図4の制御線3:213によってCMコントローラ107内のデータ転送制御部310へのアクセス開始を示す信号(REQ)を出す(ステップ506)。続いてアドレスおよびコマンドを送出する(ステップ507)。CMアクセス制御部104はACK信号を受け取ると、パケットバッファ303からデータを読み出しセレクタ302、パスIF301を介してアクセスパス0:135へ送出する。セレクタ部13は、アクセスパス0:135を通して送られてきたデータを、パスIF301及びセレクタ306を介してアクセスパス1:136へ送出する(ステップ509)。
【0029】
CMコントローラ107内のデータ転送制御部310は、制御線3:213によってREQ信号を受け取ると、次にアクセスパス1:136を通して送られてきたアドレス及びコマンドを受信し、アドレス/コマンド解析部305で解析したアクセス要求に基づいてアービトレーションを行い(ステップ508)、セレクタ304を切り替える。アクセスパス1:136を通して送られてくるデータは図4のパケットバッファ303に格納する。アービトレーションの結果、メモリモジュール19へのアクセス権を得たら、メモリの制御情報をメモリ制御部307へ送出し、メモリアクセスのための前処理を行う(ステップ510)。次にパケットバッファ303からデータを読み出し、セレクタ304を介してメモリモジュール109へ書き込む(ステップ511)。
【0030】
メモリモジュール109へのアクセスが終了すると、メモリアクセスの後処理を行い、データ転送制御部310においてアクセス結果(アクセス状況)を示すステータス情報(STATUS)(正常終了か、エラーか等)を生成する(ステップ512)。次にステータス情報をセレクタ部13を介してCMアクセス部104へ送出する(ステップ513)。セレクタ部13内のデータ転送制御部315はステータス情報(STATUS)を受け取ると、CMコントローラ107へのREQ信号をオフする(ステップ514)。CMアクセス制御部104内のデータ転送制御部310はSTATUSをうけとるとセレクタ部13へのREQ信号をオフにする(ステップ515)。セレクタ部13内のデータ転送制御部315はCMアクセス制御部104からのREQ信号のオフを確認すると、CMアクセス制御部104へのACK信号をオフする(ステップ516)。CMアクセス制御部104内のデータ転送制御部310はステータスを受け取ると、制御線1:211により、ホストIF102あるいはドライブIF103へキャッシュメモリ部14へのアクセスの終了を報告する。
【0031】
(キャッシュリード動作)
キャッシュリード動作については特に図示していない。基本的にはキャッシュライト動作のデータの流れる方向が逆になるだけである。
【0032】
キャッシュメモリ部14からデータを読み出す場合(リード動作)のCMアクセス制御部104からCMコントローラ107へのアクセスの流れはステップ501から508までと同じであり、ステップ512以降はデータの書き込みの場合(ライト動作)と同じである。ここでCMアクセス制御部104は、ステップ505でACK信号を受けると、データの受信待ち状態に入る。
【0033】
ステップ508でメモリアクセス権を得ると、CMコントローラ107はメモリモジュール109からデータを読み出し、セレクタ304、パスIF301を介してアクセスパス1:136にデータを送出する。 セレクタ部13は、アクセスパス1:136を通してデータを受信すると、セレクタ302、データ線210を介してホストIF102あるいはドライブIF103へデータを送出する。
【0034】
(キャッシュ2重ライト動作)
これは、本実施例で2重書きが出来ることを示したものである。図1において、2つのキャッシュメモリ部14間で、メモリ領域の全部または1部を2重化し、キャッシュメモリ部14へのデータの書き込み時に2重化した2つの領域に同じデータを書き込むことにより、データの信頼性を上げることが可能となる。
【0035】
2重化した2つのキャッシュメモリ部14へデータを書き込む場合の手順の概略はは以下のようになる。アクセス開始の指示を受けたホストIF102あるいはドライブIF103は、制御線1:211によりCMアクセス制御部104内のデータ転送制御部310へアクセス開始を示す信号を送出する。それとともにデータ線210を通して2つのアドレス、コマンドと1つのデータを送出する。CMアクセス制御部104は、データ線210を通して送られてきた2つのアドレス、コマンドと1つのデータをパケットバッファ303に格納する。データ転送制御部310はアービトレーションを行ってパスIF301の使用権を決定し、図2のセレクタ302を切り替える。どちらのデータ線が選択されてもパスIF部には同一のデータが転送され、2重書きが可能となる。
【0036】
図6は2重化した2つのキャッシュメモリ部14へデータを書き込む場合(2重ライト動作)のCMアクセス制御部104から2つのCMコントローラa,b,:107へのアクセスの流れを示している。図6は本実施例で2重書きが出来ることを示している。CMアクセス制御部104内のデータ転送制御部310は、アービトレーションによってアクセスパス0:135の使用権が決定されると、制御線2:212によってセレクタ部13内のデータ転送制御部315へアクセス開始を示す信号REQを出す(ステップ701)。続いてアドレス及びコマンドを2つ連続して送出する(ステップ702)。
【0037】
セレクタ部13内のデータ転送制御部315はCMアクセス制御部104からREQ信号を受け取ると次にアクセスパス0:135を通して送られてくるアドレス及びコマンドを受信し、アドレス/コマンド解析部305で解析したアクセス要求に基づいてアービトレーションを行う(ステップ703)。アービトレーションの結果、CMコントローラa、b:107への接続権が得られたことを示す信号ACKを返す(ステップ704)。そして制御線2:212により、CMアクセス制御部104内のデータ転送制御部310へCMコントローラa、b:107への接続権が得られたことを示す信号ACKを返す(ステップ705)。次にデータ転送制御部315は制御線3:213によって2つのCMコントローラ107内のデータ転送制御部310へアクセス開始を示す信号REQを出す(ステップ706a,706b)。続いて、CMコントローラa、b:1−7へアドレス及びコマンドをそれぞれ送出する(ステップ707a,707b)。
【0038】
CMアクセス制御部104はACK信号を受け取るとパケットバッファ303からデータを読み出し、セレクタ302、パスIF301を介してアクセスパス0:135へ送出する(ステップ709)。セレクタ部13はアクセスパス0:135を通して送られてきた1つのデータをパスIF301及びセレクタ306を介して2つのアクセスパス1:136の両方へ送信する(ステップ709a、ステップ709b)。
【0039】
CMコントローラa、b:107内のデータ転送制御部315は制御線3:213によってREQ信号を受け取ると、次にアクセスパス1:136を通して送られてくるアドレス及びコマンドを受信し、アドレス/コマンド解析部305で解析したアクセス要求に基づいてアービトレーションを行い(ステップ708a、708b)、セレクタ304を切り替える。アクセスパス1:136を通して送られてくるデータはパケットバッファ303に格納する。アービトレーションの結果、メモリモジュール109へのアクセス権を得たらメモリ制御情報をメモリ制御部307へ送出し、メモリアクセスのための前処理を行う(ステップ710a、710b)。次に、パケットバッファ303からデータを読み出し、セレクタ304を介してメモリモジュール109へ書き込む(ステップ711a、711b)。
【0040】
メモリモジュール109へのアクセスが終了すると、メモリアクセスの後処理を行い、データ転送制御部310においてステータス情報(STATUS)を生成する(ステップ712a、712b)。
【0041】
次にステータスをセレクタ部13を介してCMアクセス制御部104へ送出する(ステップ713a、713b)。セレクタ部13内のデータ転送制御部315はSTATUSを受け取るとCMコントローラa、b:107へのREQ信号をそれぞれオフする(ステップ714a,714b)。
【0042】
またセレクタ部13は、CMコントローラa、b:107の両方からSTATUSを受け取ったら、それらを続けてCMアクセス制御部へ送出する(ステップ713)。CMアクセス制御部104内のデータ転送制御部310は2つのSTATUSを受け取ったらセレクタ13へのREQ信号をオフする(ステップ715)。セレクタ部13内のデータ転送部315はCMアクセス制御部104からのREQ信号のオフを確認すると、CMアクセス制御部104へのACK信号をオフする(ステップ716)。CMアクセス制御部104内のデータ転送制御部310はSTATUSを受け取ると制御線1:211によりホストIF102あるいはドライブIF103へキャッシュメモリ部14へのアクセスの終了を報告する。
【0043】
(キャッシュ間コピー動作〜データモニタ方式)
本発明の特徴は、この動作にある。この処理は図3に示したセレクタを用い、図7に示したデータ転送制御部315のコマンド別のセレクタ切り替えのアルゴリズムで図3のセレクタの切り替えを行なうことで実現される。ディスク制御装置1では、キャッシュメモリ部14を複数設けた場合、あるキャッシュメモリ14から別のキャッシュメモリ部14へデータをコピーする機能が必要となる場合がある。例えば、前述した2重ライトによるデータの保証であるが、万が一2重化したキャッシュメモリ部のどちらかのデータが壊れた場合、あるいはメモリ部が故障した場合、保守により復旧を行う場合にデータの再度の書き込みのため正常なメモリ部から、読み出し復旧したメモリ部へ書き込むといった動作が要求されることがある。
【0044】
またこの動作を行う場合、データ自体はデータ元であるキャッシュメモリ部14からコピー先であるキャッシュメモリ部14であるが、書き込まれたデータの信頼性を確認するには、前述したようにキャッシュ間のエラーチェック情報のみでは十分でない。もう一度コピー先を読みだし、ホストIFあるいはドライブIFエラーチェック部を介して確認する動作が必要である。
【0045】
そこで本発明はここで、キャッシュメモリにデータを転送するとともに、敢えて転送開始を指示するホストIF部102またはドライブIF部103へデータを転送することを考える。この動作はアクセスパス0:135に対しては前述したリードの動作と同様に見えることになりコピーと同時にリード動作を平行して行うことが可能である。
【0046】
エラーチェックは図3、図4におけるエラーチェック部300もチェックするが、エラーチェック部300’ではデータフォーマットのチェックやデータ自体の正当性のチェックも加わっている。この動作によって、リード動作と同様に図2のデータ転送制御部310は、データをエラーチェック部300’のチェックを同時に行うことも可能だし、またバッファにおいて特定のデータを抽出することも可能となる利点も加わる。
【0047】
この機能は、以下に述べる手順で実現できる。アクセスの開始の指示を受けたホストIF102またはドライブIF103は、制御線1:211によりCMアクセス制御部104内のデータ転送制御部310へアクセスする開始を示す信号を送出する。それとともに、データ線210を通して2つのアドレスとコマンドを送出する。この2つのうち1つのアドレス及びコマンドは、コピー元のアドレスとリードコマンドで、もう一つのアドレス及びコマンドはコピー先のアドレスとライトコマンドである。ここではCMコントローラa:107をコピー元、CMコントローラbをコピー先として説明する。
【0048】
CMアクセス制御部104は、データ210を通して送られてきた2つのアドレス、コマンドをパケットバッファ303に格納する。データ転送制御部310はアービトレーションを行いパスIF301の使用権を決定し、セレクタ302を切り替える。この後の詳細な説明は図8を使って後述する。
【0049】
図7は本発明のセレクタ13のデータ転送制御部315の詳細を示したものである。CMアクセス制御部からデータの転送の起動がかかるかどうかを調べる(ステップ720)。即ち、REQ ONかどうかを見る。REQが来ない場合は待ち状態となる。REQが来ると転送されてくるアドレスとコマンドの解析を行なう(ステップ721)。アドレスは例えばキャッシュのアドレスであり、コマンドはリードか、ライトか、2重書きか、キャッシュ間コピーか等である。エラーがあるかどうかを調べ(ステップ722)、あればエラー処理して(ステップ735)終わる。エラーがなければデータ線の送信権のアービトレーションを行い、(ステップ723)、送信権を得てデータパスが出来ると(ステップ724)、セレクタ切り替え動作に移る(ステップ725)。
【0050】
先のコマンド解析の結果コマンドが1重ライト命令であればセレクタ306をホストまたはディスクIFからのデータを送信するように、そしてキャッシュがそれを受信するよう切り替える(ステップ726)。1重リードの場合は逆にキャッシュ側を送信に、ホストまたはディスクIFを受信になるようセレクタを切り替える。2重ライト(2重書き)の場合はホストまたはディスクIFを送信となるよう、かつ2つのキャッシュが同時に受信となるようセレクタを切り替える(ステップ728)。
【0051】
本発明の最も特徴となるキャッシュ間コピーの場合はキャッシュの一方が送信となり、他方のキャッシュ及びホストまたはディスクIFがともに受信となるようセレクタ306を切り替える(ステップ729)。またキャッシュ内コピーの場合セレクタ306はキャッシュを送信とし、ホストまたはディスクIFを受信に切り替える。キャッシュ内へのライトはCMコントローラ107内のセレクタの働きにより行なわれる。上述のキャッシュ間コピー及びキャッシュ内コピーのホストまたはディスクIFの受信はモニタの働きをする。その後、CMアクセス制御部104にACKを送り、CMコントローラ107にREQを送る(ステップ731)。そして、データの送受信を行ない、(ステップ732)、STATUS信号の送受信を行なう(ステップ733)。REQ OFFを出して一連の動作を終了し、もとの待ち状態へ戻る(ステップ734)。
【0052】
図8は、2つのキャッシュメモリ部間でデータをコピーする場合のCMアクセス制御部104からCMコントローラa、b:107へのアクセスのフローを示している。CMアクセス制御部104内のデータ転送制御部310は、アービトレーションによってアクセスパス0:135の使用権が決定されると、制御線2:212によりセレクタ部13内のデータ転送制御部315へのアクセス開始を示す信号(REQ)を送信する(ステップ801)。続いて2つのアドレス及びコマンドを連続して送出する(ステップ802)。
【0053】
セレクタ部13内のデータ転送制御部315は、CMアクセス部104からREQ信号を受取ると次にアクセスパス0:135を通して送られてくるアドレス及びコマンドを受信し、アドレス/コマンド解析部305で解析したアクセス要求に基づいてアービトレーションを行う(ステップ803)。アービトレーションの結果、CMコントローラa、b:107への2つのアクセスパス1:136への接続権利の両方を得たら、データ転送制御部315はセレクタ306を切り替える(ステップ804)とともに制御線2:212によりCMアクセス制御部104内のデータ転送制御部310へCMコントローラa、b:107の接続権が得られたことを示す信号(ACK)を返信する(ステップ805)。
【0054】
次にデータ転送制御部315は、制御線3:213によってCMコントローラa、b:107内のデータ転送制御部315に対するアクセス開始を示す信号(REQ)を出す(ステップ806a,806b)。 続いてCMコントローラa、b:107にそれぞれアドレス及びコマンドを送出する(ステップ807a、807b)。CMアクセス制御部104はACK信号を受取ると、アクセスの終了を知らせるSTATUSの受信待ち状態になる。
【0055】
コピー元のCMコントローラa:107内のデータ転送制御部310は、制御線3:213によってREQ信号を受取ると、次はアクセスパス1:136を通して送られてくるアドレス及びコマンドを受信し、アドレス/コマンド解析部305で解析したアクセス要求に基づいてアービトレーションを行い(ステップ808)、図4のセレクタ304を切り替える。アービトレーションの結果、メモリモジュール109へのアクセス権を得たら、メモリの制御情報をメモリ制御部307へ送出し、メモリアクセスのための前処理を行う(スッテプ809)。次にメモリモジュール109からデータを読み出し(ステップ810)、セレクタ304を介しアクセスパス1:136へ送出する(ステップ811a)。
【0056】
セレクタ部13は、アクセスパス1:136を通してCMコントローラa:107から送られてきたデータをCMコントローラbに接続するアクセスパス1:136へ送出する(ステップ811b)。 またここでセレクタ部13は同じように、アドレス及びコマンドを発行したホストIF102あるいはドライブIF103に対しても、それらの接続するアクセスパス0:135を介しCMコントローラa:107から送られてきたデータを送出する(ステップ811)。ここがデータのモニタに当たる。これにより転送開始を指示したホストIF102あるいはドライブIF103は前述したリード動作と同様にデータをモニタすることが出来る。そして、この間ホストIF102あるいはドライブIF103は空き時間が生じるのでその中にあるエラーチェック回路300’を通し障害がないことを確認することが出来る(ステップ830)。CMコントローラb:107内のデータ転送制御部310は、制御線3:213によってREQ信号を受取ると、次にアクセスパス1:136を通して送られてくるアドレス及びコマンドを受信し、アドレス/コマンド解析部305で解析し、その後でデータを受信開始するのを待って、メモリアクセスのアービトレーションにエントリーする(ステップ812)。アクセスパス1:136を通して送られてくるデータはパケットバッファ303に格納する。アービトレーションの結果、メモリモジュール109へのアクセス権を得たら、メモリの制御情報をメモリ制御部307へ送出し、メモリアクセスのための前処理を行う(ステップ813)。次にパケットバッファ303からデータを読み出し、セレクタ304を介してメモリモジュール109へ書き込む(ステップ814)。
【0057】
CMコントローラa、b:107はそれぞれCMモジュール109へのアクセスが終了すると、メモリアクセスの後処理を行い、データ転送制御部315においてアクセス状況をしめすステータス情報(STATUS)を生成する(ステップ815,818)。次にSTATUSをセレクタ部13へ送出する(ステップ816,819)。
セレクタ部13内のデータ転送制御部315はSTATUSを受取ると、CMコントローラa、b:107へのREQ信号をそれぞれオフする(ステップ817,821)。またセレクタ部13は2つのCMコントローラa、b:107の両方よりSTATUSを受取ったらそれらを続けてCMアクセス制御部に対して送出する(ステップ820)。CMアクセス制御部104内のデータ転送部310は2つのSTATUSを受取ると、セレクタ部13へのREQ信号をオフにする(ステップ822)。セレクタ部13内のデータ転送制御部315はCMアクセス制御部104からのREQ信号がオフされるのを確認するとCMアクセス制御部104へのACK信号をオフする(ステップ823)。CMアクセス制御部104内のデータ転送制御部310はSTATUSを受取ると、制御線1:211によりホストIFあるいはドライブIF103へキャッシュメモリ部14へのアクセスの終了を報告する。
【0058】
以上のフローを実行するためにはエラーチェック回路300をメモリモジュール109からセレクタ306までの間に最低1つと、ホストコンピュータ50及び磁気ディスク装置20に接続されるCMアクセス制御部ないにエラーチェック回路300’を最低1つ設けておけば良い。
【0059】
(キャッシュ内メモリ間コピー動作〜データモニタ方式)
ディスクアレイ制御装置1ではまた1つのキャッシュメモリ部14内にあるアドレスから、別のアドレスへデータをコピーする機能も可能である。またこの機能においても前述のキャッシュ間コピー動作と同様にメモリからメモリへ読み出し、書き込むデータをアドレス及びコマンドを発行して転送の指示をしたホストIF102あるいはドライブIF103に対して送信し、それらはデータをモニタしている。すなわち図5で示したデータの書き込み(ライト動作)時の手順においてステップ511のメモリモジュール109へのライトアクセスの代わりにメモリモジュール109からデータを読み出してCMコントローラ107内のパケットバッファ303に格納し、続けてそのデータをメモリモジュール109へ書き込むと同時にアクセスパス1:136とセレクタ部13を介し、アドレス及びコマンドの発行をしたホストIF102あるいはドライブIF103に対して送信することで実現する。
【0060】
【発明の効果】
本発明によると、キャッシュ間のデータ転送のプロトコルを実行時、それとともに転送しているデータをモニタすることにより、データのチェックやデータ内情報の採取と転送処理を並行して行うという効率化と信頼性の向上の効果が得られる。
【図面の簡単な説明】
【図1】本発明の機能を持つディスク制御装置の構成を示す図。
【図2】本発明の機能を持つディスク制御装置内のCMアクセス制御部の構成を示す図。
【図3】本発明の機能を持つディスク制御装置内のセレクタ部の構成を示す図。
【図4】本発明の機能を持つディスク制御装置内のキャッシュメモリ部の構成を示す図。
【図5】キャッシュメモリ部への書き込み動作の手順を示す図。
【図6】2重化したキャッシュメモリ部への書き込み動作の手順を示す図。
【図7】データ転送制御部315の詳細図。
【図8】1つのキャッシュメモリ部から別のキャッシュメモリ部への書き込み動作の手順を示す図。
【符号の説明】
1:ディスク制御装置、11:ホストIF部、12:ディスクIF部、13:セレクタ部、14:キャッシュメモリ部、20:磁気ディスク装置、50:ホストコンピュータ、101:マイクロプロセッサ、102:ホストIF、103:ドライブIF、104:CMアクセス制御部、107:CMコントローラ、109:メモリモジュール、135:アクセスパス0、136:アクセスパス1
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a disk control apparatus, and more particularly to a data transfer method between caches in an apparatus having a plurality of disk cache units.
[0002]
[Prior art]
In order to improve the reliability of the storage device, a means for duplicating and managing data is generally used. In the cache memory unit that temporarily stores data read and written by the disk interface and the host interface, all or one part of the memory area is duplicated, and the two areas are duplicated when data is written to the cache memory part The reliability of data is improved by writing the same data into the. This is called a double writing operation. When such a disk controller having a plurality of cache memory units restores the cache in the event of a failure, the host or disk interface unit must intervene to read data from one cache memory and write data to the other cache memory. Don't be. That is, when the double cache is restored in the event of a failure on one side, the data read, write and transfer protocols must be stepped in two steps. At this time, since the data passes through the interface unit, the validity of the data itself is also checked.
[0003]
Recently, the capacity of the disk cache memory tends to increase as the data capacity of the storage device increases. If the capacity is large, the recovery time in the event of a cache failure will increase accordingly, and the impact on the system performance will also increase. Moreover, with non-stop maintenance equipment, we want to minimize the load at the time of recovery.
[0004]
Although there are the following regarding the double writing, none of them shows the viewpoint in the present invention. JP-A-8-320842 discloses that information indicating that the data is to be processed by an arbitrary channel control unit is added to the data to be transferred, and the data read from the main storage device is transmitted to an arbitrary channel. It is described that data is simultaneously transferred to the control unit. Japanese Laid-Open Patent Publication No. 9-185556 discloses a dual memory system in which the same data is always held by writing to both memory units and reading from either one. Thus, there is described a memory management method in which when the primary memory is a single data, it can be repaired with its own data structure and another data can be held in the shadow memory.
[0005]
[Problems to be solved by the invention]
In the guarantee of data by double writing in the cache memory, if any of the data in the duplicated cache memory unit is broken or the memory unit fails, the failed memory unit is restored by maintenance Thereafter, data is written again. Here, an operation of reading data from a normal memory unit and writing to a restored memory unit is required.
[0006]
If it has a function of transferring data between caches without passing through a disk interface or a host interface, only one protocol is required, and the transfer time can be shortened. However, a new problem arises in this case.
[0007]
When this operation is performed, the data itself is transferred from the cache memory unit that is the data transfer source to the cache memory unit that is the copy destination, and in this process, error checking such as inversion of data bits is performed by the arrangement of the error check circuit. However, error check information (such as ECC) between caches is not sufficient to confirm the reliability of written data. For example, it is not possible to check the validity of the data itself as to whether the data to be written is actually written, such as checking the logical label information about the drive. In this way, there is a problem that the check is not performed when the two-step protocol is followed. For this reason, it is necessary to read data from the cache at the copy destination once again and confirm it via the error check part of the host interface or drive interface (whichever is acceptable).
[0008]
The present invention relates to a plurality of cache memories, a host interface unit having an interface with a host computer, a disk interface unit having an interface with a magnetic disk device, a cache memory, a host interface unit or a disk interface unit, and a plurality of caches. In a disk controller having a connection unit that selectively switches a path for connecting to a memory to form a path,
The host interface unit or the disk interface unit has check means on the path for monitoring data and checking its validity.
The connection unit includes a command analysis unit that analyzes a command transferred from the host interface unit or the disk interface unit, and a connection between the host interface unit or the disk interface unit and the plurality of cache memories according to the command analysis result in the command analysis unit. A selector for switching a path for connecting
As a result of command analysis in the command analysis unit, if the command is an inter-cache copy, the data is read from one cache memory and written to the other cache memory, and the host interface unit or disk interface unit receives the data. The path is switched by the selector so that the data is read and the data read from one cache memory is transferred to the other cache memory via the selector, and the host interface unit or disk interface unit that issued the command is checked. The validity of the data is checked by means.
In the present invention, it is preferable that the connection unit has an error check circuit for monitoring and checking data between the selector and the plurality of cache memories on the path, and an error of the data read from the cache memory is detected. This is a check.
[0009]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 shows a configuration of an embodiment of the present invention, and shows a basic device configuration to which the invention is applied. The disk control device 1 includes two interface units (host IF units) 11 with the host computer 50, two interface units (disk IF units) 12 with the magnetic disk device 20, two selector units 13, and two The cache memory unit 14 has an access path 0: 135 and an access path 1: 136.
[0010]
Here, although there are two host IF units and two disk IFs, they are two for generalization and may be one each. Further, the host IF unit, the disk IF, and the cache memory unit are connected by a selector, but this may be a bus-type interconnection system. An interconnecting portion between the host or disk IF and the cache memory portion on the selector or bus is called a connecting portion.
[0011]
The host IF unit 11 includes two host IFs 102 with respect to the host computer 50, two microprocessors 101 that control input / output to the host computer 50, and an access control unit (CM) that controls access to the cache memory (CM) unit 14. Access control unit) 104, and executes data transfer between the host computer 50 and the cache memory unit 14 under the control of the microprocessor 101. The microprocessor 101 and the host IF 102 are connected by an internal bus 106, and the CM access control unit 104 is connected to two host IFs.
[0012]
The disk IF unit 12 includes two IFs (drive IFs) 103 with the magnetic disk device 20, two microprocessors 101 that control input and output to the magnetic disk device 20, and one access control unit to the cache memory unit 14. (CM access control unit) 104, and executes data transfer between the magnetic disk device 20 and the cache memory unit 14 under the control of the microprocessor 101. The microprocessor 101 and the drive IF 103 are connected by an internal bus 106, and the CM access control unit 104 is connected to the two drive IFs 103. The disk IF unit also executes arithmetic functions such as RAID control.
[0013]
The cache memory unit 14 includes a CM controller 107 and a memory module 109, and temporarily stores data to be recorded on the magnetic disk device 20. Two access paths 0: 135 are connected to the CM access control unit 104, and these are connected to two different selector units 13, respectively. Two access paths 1: 136 are connected to the selector unit 13 and are connected to two different CM controllers 107, respectively. Therefore, a total of two access paths 1: 136 are connected to the CM controller 107, one from each of the two selector units. There are two access paths from one CM access control unit 104 to one CM controller 107, and even if one access path or selector unit 13 fails, another access route leads to the cache memory unit 14. Since access is possible, fault tolerance can be improved.
[0014]
A total of four access paths 0: 135 are connected to the selector unit 13 from each of the two host IF units 11 and the two disk IF units 12. The selector unit 13 is connected with two access paths 1: 136 to the two cache memory units 14, one in total.
[0015]
At this time, since there is the relationship of the number of paths as described above between the access path 0: 135 and the access path 1: 136, the selector section 13 has four access paths 0 from the host IF section 11 and the disk IF section 12. : It has a function of selecting and executing only two requests corresponding to the number of access paths 1: 136 to the cache memory unit 14 among requests from 135.
[0016]
In this embodiment, the selector unit 13 and the cache memory unit 14 are duplexed from the viewpoint of improving fault tolerance.
[0017]
FIG. 2 shows a configuration within the CM access control unit 104. This is to explain the peripheral configuration related to the invention in more detail. The CM access control unit 104 includes a selector 302, a packet buffer 303 for temporarily storing addresses, commands, and data, a path IF 301 with an access path 0: 135 connected to the selector unit 13, and a data error check unit 300 ′ ( Unlike the error check circuits shown in FIGS. 3 and 4, the data transfer control unit 310 includes not only a simple error check but also checks the validity of the data itself. The two ports of the selector 302 are connected to the host IF 102 or the drive IF 103 by the data line 210. The other two ports of the selector 302 are connected to the path IF 301, and the path IF 301 is connected to the selector unit 13 via the access path 0: 135. The data transfer unit 310 is connected to the data transfer control unit 315 shown in FIG. The data transfer control unit 310 uses the arbiter 308 to arbitrate access requests from the host IF 102 or the drive IF 103. Here, one of the two gates is selected by an algorithm such as first-come-first-served basis, or a cache is selected, and a communication right is given to it. The data is bidirectional as indicated by the arrows. The selector 302 performs an operation of selecting one of the gates and switching the communication path so that a communication path is formed on the data line to which the communication right is given by the arbiter 308.
[0018]
FIG. 3 shows a configuration in the selector unit 13 for realizing the operation of the present invention to be described later. The feature is that the data line entering the selector is branched. That is, there can be a path for transferring the data transferred from the cache memory side to the other cache memory and a path for transferring the data to the interface at the same time. The selector unit 13 includes a total of four path IFs 301 including an access path 0: 135 connected to the host IF unit 11 and the disk IF unit 12, and two paths IF301 including an access path 1: 136 connected to the CM controller 107. , A packet buffer 303, a data error check unit 300, an address / command analysis unit 305 that analyzes addresses and commands sent from the CM access control unit 104, and a data transfer control unit 315. .
[0019]
The data transfer control unit 315 is connected to the data transfer unit 310 in the CM access control unit 104 through the control line 2: 212, and is connected to the data transfer control unit 315 in the CM controller 107 through the control line 3: 213. Further, the data transfer control unit 315 performs arbitration of access requests from the four access paths 0: 135 analyzed by the address / command analysis unit 305 by the arbiter 308 and switches the selector 306. The data transfer control unit 315 implements the operation of the present invention in combination with the selector 306, and details will be described later.
[0020]
When there is a difference in data transfer speed between the access path 0: 135 side path and the access path 1: 136 side path, the packet buffer 303 buffers part or all of the data to be transferred in order to absorb the speed difference. Ring. The address / command analysis unit 305 includes a buffer for storing addresses and commands, an address extraction unit, and a command extraction unit. (Not shown). The address / command analysis unit 305 stores addresses and commands in buffers assigned to each of the four access paths 0: 135 connected to the CM access control unit 104. The address extraction unit and command extraction unit determine the type of CM controller to be accessed and send it to the arbiter 308 in the data transfer control unit 315.
[0021]
The selector 306 in the figure performs read, write, inter-cache transfer, and the like under the control of the data transfer control unit 315. The selector 306 is also replaced with a bus structure. At this time, it is necessary that the data placed on the bus from one cache be transferred to the other cache and transferred to the interface unit.
[0022]
FIG. 4 shows a configuration in the cache memory unit 14. This shows the details of the configuration on the cache memory side as a peripheral part of the present invention. The cache memory unit 14 includes a CM controller 107 and a memory module 109. The CM controller 107 includes two path IFs 301 shown in FIG. 3 for the access path 1; 136 connected to the selector unit 13, a selector 304, a packet buffer 303 for temporarily storing data, a data error check unit 300, and a memory module A memory control unit 307 that controls access to 109, an address / command analysis unit 305 that analyzes addresses and commands sent from the CM access control unit 104, and a data transfer unit 310. The data transfer control unit 310 uses the arbiter 308 to arbitrate access requests from the two access paths 1: 136 analyzed by the address / command analysis unit 305 and switches the selector 304.
[0023]
The address / command analysis unit 305 includes a buffer, an address extraction unit, and a command extraction unit. (Not shown) The address / command analysis unit 305 stores an address and a command in a buffer assigned to each of the two access paths 1: 126 connected to the CM controller 107. The address extraction unit and command extraction unit determine the address of the memory to be accessed and the type of access, and send them to the memory control unit 307. Further, access requests from the two access paths 1: 136 are sent to the arbiter 308 in the data transfer control unit 310.
[0024]
Next, an access procedure to the cache memory unit 14 related to the present invention will be described.
[0025]
(Cache write operation)
When accessing the cache memory unit 14, the microprocessor 101 instructs the host IF 102 or the drive IF 103 to start access to the cache memory unit 14. The micro processing unit 101 executes a program, issues an access request, and starts the following operation. Upon receiving the access start instruction, the host IF 102 or drive IF 103 in FIG. 1 sends a signal indicating the start of access to the data transfer control unit 310 in FIG. Addresses, commands, and data are transmitted through the data line 210. The CM access control unit 104 stores the address, command, and data sent through the data line 210 in the packet buffer 303. The data transfer control unit 310 performs arbitration, determines the right to use the path IF 301 for one piece of data, and switches the selector 302 in FIG.
[0026]
FIG. 5 shows a flow of access from the CM access control unit 104 to the CM controller 107 when data is written to the cache memory unit 14. When the right to use the access path 0: 135 is determined by arbitration, the data transfer unit 310 in the CM access control unit 104 accesses the data transfer control unit 315 in the selector unit 13 of FIG. 3 through the control line 2: 212. A signal (REQ) indicating the start is issued (step 501). Subsequently, an address and a command are transmitted (step 502).
[0027]
The data transfer control unit 315 in the selector unit 13 receives the REQ signal from the CM access control unit 104, then receives the address and command sent through the access path 0: 135, and analyzes them by the address / command analysis unit 305. Arbitration is performed based on the (decoded) access request (step 503). If the right to connect to the access path 1: 136 is obtained as a result of the arbitration, the data transfer control unit 315 switches the selector 306 (step 504). Then, the control line 2: 212 returns a signal (ACK) indicating that the connection to the access path 1: 136 has been obtained to the data transfer control unit 310 in the CM access control unit 104 (step 505).
[0028]
Next, the data transfer control unit 315 outputs a signal (REQ) indicating the start of access to the data transfer control unit 310 in the CM controller 107 through the control line 3: 213 in FIG. 3 (step 506). Subsequently, an address and a command are transmitted (step 507). When receiving the ACK signal, the CM access control unit 104 reads data from the packet buffer 303 and sends it to the access path 0: 135 via the selector 302 and the path IF 301. The selector unit 13 sends the data sent through the access path 0: 135 to the access path 1: 136 via the path IF 301 and the selector 306 (step 509).
[0029]
When the data transfer control unit 310 in the CM controller 107 receives the REQ signal through the control line 3: 213, the data transfer control unit 310 receives the address and the command transmitted next through the access path 1: 136, and the address / command analysis unit 305 Arbitration is performed based on the analyzed access request (step 508), and the selector 304 is switched. Data sent through the access path 1: 136 is stored in the packet buffer 303 of FIG. When the access right to the memory module 19 is obtained as a result of the arbitration, the memory control information is sent to the memory control unit 307, and preprocessing for memory access is performed (step 510). Next, data is read from the packet buffer 303 and written to the memory module 109 via the selector 304 (step 511).
[0030]
When the access to the memory module 109 is completed, the memory access is post-processed, and the data transfer control unit 310 generates status information (STATUS) indicating whether the access result (access status) (normal end or error) ( Step 512). Next, the status information is sent to the CM access unit 104 via the selector unit 13 (step 513). When receiving the status information (STATUS), the data transfer control unit 315 in the selector unit 13 turns off the REQ signal to the CM controller 107 (step 514). The data transfer control unit 310 in the CM access control unit 104 turns off the REQ signal to the selector unit 13 upon receiving STATUS (step 515). When the data transfer control unit 315 in the selector unit 13 confirms that the REQ signal from the CM access control unit 104 is turned off, the data transfer control unit 315 turns off the ACK signal to the CM access control unit 104 (step 516). Upon receiving the status, the data transfer control unit 310 in the CM access control unit 104 reports the end of access to the cache memory unit 14 to the host IF 102 or the drive IF 103 through the control line 1: 211.
[0031]
(Cash read operation)
The cache read operation is not particularly shown. Basically, the data flow direction of the cache write operation is only reversed.
[0032]
In the case of reading data from the cache memory unit 14 (read operation), the flow of access from the CM access control unit 104 to the CM controller 107 is the same as that in steps 501 to 508, and in the case of data writing after step 512 (write) Operation). When the CM access control unit 104 receives an ACK signal in step 505, the CM access control unit 104 enters a data reception waiting state.
[0033]
When the memory access right is obtained at step 508, the CM controller 107 reads data from the memory module 109 and sends the data to the access path 1: 136 via the selector 304 and the path IF 301. When receiving data through the access path 1: 136, the selector unit 13 sends the data to the host IF 102 or the drive IF 103 via the selector 302 and the data line 210.
[0034]
(Cache double write operation)
This shows that double writing can be performed in this embodiment. In FIG. 1, all or one part of the memory area is duplicated between the two cache memory units 14, and the same data is written in the two areas duplicated when data is written to the cache memory unit 14. Data reliability can be increased.
[0035]
The outline of the procedure for writing data to the two cache memory units 14 which are duplicated is as follows. Upon receiving the access start instruction, the host IF 102 or the drive IF 103 sends a signal indicating access start to the data transfer control unit 310 in the CM access control unit 104 through the control line 1: 211. At the same time, two addresses, a command and one data are transmitted through the data line 210. The CM access control unit 104 stores two addresses, commands, and one data sent through the data line 210 in the packet buffer 303. The data transfer control unit 310 performs arbitration, determines the right to use the path IF 301, and switches the selector 302 in FIG. Regardless of which data line is selected, the same data is transferred to the path IF unit, and double writing becomes possible.
[0036]
FIG. 6 shows a flow of access from the CM access control unit 104 to the two CM controllers a, b,: 107 when data is written to the two duplicate cache memory units 14 (double write operation). . FIG. 6 shows that double writing can be performed in this embodiment. When the right to use the access path 0: 135 is determined by arbitration, the data transfer control unit 310 in the CM access control unit 104 starts access to the data transfer control unit 315 in the selector unit 13 through the control line 2: 212. A signal REQ is output (step 701). Subsequently, two addresses and commands are sent in succession (step 702).
[0037]
When the data transfer control unit 315 in the selector unit 13 receives the REQ signal from the CM access control unit 104, the data transfer control unit 315 receives the next address and command sent through the access path 0: 135 and analyzes them by the address / command analysis unit 305. Arbitration is performed based on the access request (step 703). As a result of the arbitration, a signal ACK indicating that the right to connect to the CM controllers a and b 107 is obtained is returned (step 704). Then, the control line 2: 212 returns a signal ACK indicating that the right to connect to the CM controller a, b: 107 is obtained to the data transfer control unit 310 in the CM access control unit 104 (step 705). Next, the data transfer control unit 315 outputs a signal REQ indicating the start of access to the data transfer control units 310 in the two CM controllers 107 via the control line 3: 213 (steps 706a and 706b). Subsequently, the address and command are sent to the CM controllers a and b: 1-7, respectively (steps 707a and 707b).
[0038]
Upon receiving the ACK signal, the CM access control unit 104 reads data from the packet buffer 303 and sends it to the access path 0: 135 via the selector 302 and the path IF 301 (step 709). The selector unit 13 transmits one data transmitted via the access path 0: 135 to both of the two access paths 1: 136 via the path IF 301 and the selector 306 (steps 709a and 709b).
[0039]
When the data transfer control unit 315 in the CM controller a, b: 107 receives the REQ signal through the control line 3: 213, the data transfer control unit 315 receives the next address and command sent through the access path 1: 136, and performs address / command analysis. Arbitration is performed based on the access request analyzed by the unit 305 (steps 708a and 708b), and the selector 304 is switched. Data sent through the access path 1: 136 is stored in the packet buffer 303. If the access right to the memory module 109 is obtained as a result of the arbitration, the memory control information is sent to the memory control unit 307, and preprocessing for memory access is performed (steps 710a and 710b). Next, data is read from the packet buffer 303 and written to the memory module 109 via the selector 304 (steps 711a and 711b).
[0040]
When access to the memory module 109 is completed, post-processing of memory access is performed, and status information (STATUS) is generated in the data transfer control unit 310 (steps 712a and 712b).
[0041]
Next, the status is sent to the CM access control unit 104 via the selector unit 13 (steps 713a and 713b). When receiving the STATUS, the data transfer control unit 315 in the selector unit 13 turns off the REQ signal to the CM controllers a and b: 107 (steps 714a and 714b).
[0042]
When the selector unit 13 receives STATUS from both the CM controllers a and b: 107, it continues to send them to the CM access control unit (step 713). When receiving two STATUSs, the data transfer control unit 310 in the CM access control unit 104 turns off the REQ signal to the selector 13 (step 715). When the data transfer unit 315 in the selector unit 13 confirms that the REQ signal from the CM access control unit 104 is turned off, the data transfer unit 315 turns off the ACK signal to the CM access control unit 104 (step 716). When the data transfer control unit 310 in the CM access control unit 104 receives STATUS, the control line 1: 211 reports the end of access to the cache memory unit 14 to the host IF 102 or the drive IF 103.
[0043]
(Inter-cache copy operation to data monitor method)
This operation is a feature of the present invention. This processing is realized by using the selector shown in FIG. 3 and switching the selector shown in FIG. 3 by the selector switching algorithm for each command of the data transfer control unit 315 shown in FIG. In the disk controller 1, when a plurality of cache memory units 14 are provided, a function for copying data from one cache memory 14 to another cache memory unit 14 may be required. For example, in the case of the data guarantee by the above-described double write, if any of the data in the cache memory unit that has been duplicated is damaged, or if the memory unit has failed, the data is restored when maintenance is performed. There is a case where an operation of writing from a normal memory unit to a memory unit that has been read and restored is required for rewriting.
[0044]
When this operation is performed, the data itself is from the cache memory unit 14 that is the data source to the cache memory unit 14 that is the copy destination. To check the reliability of the written data, as described above, The error check information alone is not enough. It is necessary to read the copy destination again and confirm it via the host IF or drive IF error check unit.
[0045]
Therefore, the present invention considers transferring data to the cache memory and transferring the data to the host IF unit 102 or the drive IF unit 103 that instruct to start the transfer. This operation looks the same as the read operation described above for the access path 0: 135, and the read operation can be performed in parallel with the copy.
[0046]
In the error check, the error check unit 300 in FIGS. 3 and 4 is also checked, but the error check unit 300 ′ also adds a data format check and a data validity check. By this operation, the data transfer control unit 310 in FIG. 2 can simultaneously check the data in the error check unit 300 ′ as well as the read operation, and can also extract specific data in the buffer. There are also benefits.
[0047]
This function can be realized by the following procedure. The host IF 102 or drive IF 103 that has received an instruction to start access sends a signal indicating the start of access to the data transfer control unit 310 in the CM access control unit 104 via the control line 1: 211. At the same time, two addresses and commands are transmitted through the data line 210. Of these two, one address and command are the copy source address and read command, and the other address and command are the copy destination address and write command. Here, CM controller a: 107 will be described as a copy source, and CM controller b will be described as a copy destination.
[0048]
The CM access control unit 104 stores the two addresses and commands sent through the data 210 in the packet buffer 303. The data transfer control unit 310 performs arbitration, determines the right to use the path IF 301, and switches the selector 302. Detailed description after this will be described later with reference to FIG.
[0049]
FIG. 7 shows details of the data transfer control unit 315 of the selector 13 of the present invention. It is checked whether or not data transfer is activated from the CM access control unit (step 720). That is, it is checked whether REQ is ON. When REQ does not come, it will be in a waiting state. When REQ arrives, the transferred address and command are analyzed (step 721). The address is, for example, a cache address, and the command is read, write, double write, inter-cache copy, or the like. It is checked whether there is an error (step 722). If there is no error, arbitration of the transmission right of the data line is performed (step 723). When the transmission path is obtained and the data path is established (step 724), the operation shifts to the selector switching operation (step 725).
[0050]
If the command analysis result command is a single write instruction, the selector 306 is switched to transmit data from the host or the disk IF, and the cache is switched to receive it (step 726). In the case of single read, the selector is switched so that the cache side is sent and the host or disk IF is received. In the case of double write (double write), the selector is switched so that the host or the disk IF is transmitted and the two caches are simultaneously received (step 728).
[0051]
In the case of the inter-cache copy which is the most characteristic feature of the present invention, one of the caches is transmitted, and the selector 306 is switched so that the other cache and the host or the disk IF are both received (step 729). In the case of in-cache copying, the selector 306 switches the cache to transmission and switches the host or disk IF to reception. Writing into the cache is performed by the action of the selector in the CM controller 107. The above-described inter-cache copy and in-cache copy host or disk IF reception serves as a monitor. Thereafter, an ACK is sent to the CM access control unit 104 and a REQ is sent to the CM controller 107 (step 731). Data is transmitted / received (step 732), and a STATUS signal is transmitted / received (step 733). REQ OFF is issued to end the series of operations and return to the original waiting state (step 734).
[0052]
FIG. 8 shows a flow of access from the CM access control unit 104 to the CM controllers a and b 107 when data is copied between two cache memory units. When the right to use the access path 0: 135 is determined by arbitration, the data transfer control unit 310 in the CM access control unit 104 starts access to the data transfer control unit 315 in the selector unit 13 through the control line 2: 212. A signal (REQ) indicating that is transmitted (step 801). Subsequently, two addresses and commands are sent in succession (step 802).
[0053]
When the data transfer control unit 315 in the selector unit 13 receives the REQ signal from the CM access unit 104, it receives the address and command sent through the access path 0: 135 and analyzes them by the address / command analysis unit 305. Arbitration is performed based on the access request (step 803). As a result of the arbitration, when both the right to connect to the two access paths 1: 136 to the CM controllers a and b: 107 are obtained, the data transfer control unit 315 switches the selector 306 (step 804) and the control line 2: 212. As a result, a signal (ACK) indicating that the right to connect the CM controllers a and b 107 is obtained is returned to the data transfer control unit 310 in the CM access control unit 104 (step 805).
[0054]
Next, the data transfer control unit 315 outputs a signal (REQ) indicating the start of access to the data transfer control unit 315 in the CM controller a, b: 107 through the control line 3: 213 (steps 806a and 806b). Subsequently, an address and a command are sent to the CM controllers a and b 107, respectively (steps 807a and 807b). When the CM access control unit 104 receives the ACK signal, the CM access control unit 104 enters a STATUS reception waiting state informing the end of access.
[0055]
When the data transfer control unit 310 in the copy source CM controller a: 107 receives the REQ signal through the control line 3: 213, the data transfer control unit 310 next receives the address and command sent through the access path 1: 136, and receives the address / Arbitration is performed based on the access request analyzed by the command analysis unit 305 (step 808), and the selector 304 in FIG. 4 is switched. If the access right to the memory module 109 is obtained as a result of the arbitration, memory control information is sent to the memory control unit 307, and preprocessing for memory access is performed (step 809). Next, data is read from the memory module 109 (step 810) and sent to the access path 1: 136 via the selector 304 (step 811a).
[0056]
The selector unit 13 sends the data sent from the CM controller a: 107 through the access path 1: 136 to the access path 1: 136 connected to the CM controller b (step 811b). Similarly, the selector unit 13 also receives the data sent from the CM controller a: 107 via the access path 0: 135 connected to the host IF 102 or drive IF 103 that issued the address and command. It is sent out (step 811). This is the data monitor. As a result, the host IF 102 or the drive IF 103 that has instructed the transfer start can monitor the data in the same manner as the above-described read operation. During this time, the host IF 102 or the drive IF 103 has a free time, so that it can be confirmed that there is no failure through the error check circuit 300 ′ therein (step 830). When the data transfer control unit 310 in the CM controller b: 107 receives the REQ signal through the control line 3: 213, the data transfer control unit 310 receives an address and a command sent through the access path 1: 136 and receives an address / command analysis unit Analysis is performed at 305, and after that, the reception of data is started, and the memory access arbitration is entered (step 812). Data sent through the access path 1: 136 is stored in the packet buffer 303. If the access right to the memory module 109 is obtained as a result of the arbitration, the memory control information is sent to the memory control unit 307, and preprocessing for memory access is performed (step 813). Next, data is read from the packet buffer 303 and written to the memory module 109 via the selector 304 (step 814).
[0057]
When the access to the CM module 109 is completed, the CM controllers a and b: 107 perform post-processing of memory access and generate status information (STATUS) indicating the access status in the data transfer control unit 315 (steps 815 and 818). ). Next, STATUS is sent to the selector unit 13 (steps 816 and 819).
When receiving the STATUS, the data transfer control unit 315 in the selector unit 13 turns off the REQ signal to the CM controllers a and b: 107 (steps 817 and 821). When the selector unit 13 receives STATUS from both of the two CM controllers a and b: 107, it continues to send them to the CM access control unit (step 820). When receiving two STATUSs, the data transfer unit 310 in the CM access control unit 104 turns off the REQ signal to the selector unit 13 (step 822). When confirming that the REQ signal from the CM access control unit 104 is turned off, the data transfer control unit 315 in the selector unit 13 turns off the ACK signal to the CM access control unit 104 (step 823). Upon receipt of STATUS, the data transfer control unit 310 in the CM access control unit 104 reports the end of access to the cache memory unit 14 to the host IF or drive IF 103 via the control line 1: 211.
[0058]
In order to execute the above flow, at least one error check circuit 300 is provided between the memory module 109 and the selector 306, and the error check circuit 300 is not provided in the CM access control unit connected to the host computer 50 and the magnetic disk device 20. It is enough to have at least one '.
[0059]
(Copy operation between cache memory to data monitor method)
The disk array control device 1 can also have a function of copying data from an address in one cache memory unit 14 to another address. Also in this function, similarly to the above-described cache-to-cache copy operation, the data to be read from the memory is sent to the host IF 102 or the drive IF 103 which issued the address and command and instructed the transfer, and the data is sent to the memory. Monitoring. That is, instead of write access to the memory module 109 in step 511 in the data write (write operation) procedure shown in FIG. 5, data is read from the memory module 109 and stored in the packet buffer 303 in the CM controller 107. Subsequently, the data is written into the memory module 109 and simultaneously transmitted to the host IF 102 or the drive IF 103 that issued the address and command via the access path 1: 136 and the selector unit 13.
[0060]
【The invention's effect】
According to the present invention, when executing a data transfer protocol between caches, by monitoring the data transferred together with it, the efficiency of performing data check and collecting information in the data and transferring processing in parallel is improved. The effect of improving reliability can be obtained.
[Brief description of the drawings]
FIG. 1 is a diagram showing the configuration of a disk control device having the functions of the present invention.
FIG. 2 is a diagram showing a configuration of a CM access control unit in a disk control device having the functions of the present invention.
FIG. 3 is a diagram showing a configuration of a selector unit in a disk control device having a function of the present invention.
FIG. 4 is a diagram showing a configuration of a cache memory unit in a disk control device having a function of the present invention.
FIG. 5 is a diagram showing a procedure of a write operation to a cache memory unit.
FIG. 6 is a diagram showing a procedure of a write operation to a duplicated cache memory unit.
7 is a detailed view of a data transfer control unit 315. FIG.
FIG. 8 is a diagram illustrating a procedure of a write operation from one cache memory unit to another cache memory unit.
[Explanation of symbols]
1: disk controller, 11: host IF unit, 12: disk IF unit, 13: selector unit, 14: cache memory unit, 20: magnetic disk unit, 50: host computer, 101: microprocessor, 102: host IF, 103: Drive IF, 104: CM access control unit, 107: CM controller, 109: Memory module, 135: Access path 0, 136: Access path 1

Claims (2)

複数のキャッシュメモリと、ホストコンピュータとのインタフェースを持つホストインタフェース部と、磁気ディスク装置とのインタフェースを持つディスクインタフェース部と、前記キャッシュメモリと、前記ホストインタフェース部又はディスクインタフェース部と前記複数のキャッシュメモリとの間を接続するためのパスを選択的に切り替えてパスを形成する接続部とを有するディスク制御装置において、
前記ホストインタフェース部又はディスクインタフェース部は、該パス上に、データをモニタしてその正当性をチェックするチェック手段を有し、
前記接続部は、前記ホストインタフェース部またはディスクインタフェース部から転送されるコマンドを解析するコマンド解析部と該コマンド解析部におけるコマンドの解析結果に従って、前記ホストインタフェース部又はディスクインタフェース部と、前記複数のキャッシュメモリとの間を接続するためのパスを切り替えるセレクタと、を有し、
該コマンド解析部におけるコマンドの解析の結果、該コマンドがキャッシュ間コピーの場合、一方のキャッシュメモリからデータを読み出し、他方のキャッシュメモリへ該データを書き込むようにかつ前記ホストインタフェース部またはディスクインタフェース部が該データ受信するように該セレクタによってパスを切り替えて接続し
一方の該キャッシュメモリから読み出されたデータを、該セレクタを介して他方の該キャッシュメモリへ転送すると共に、該コマンドを発行した前記ホストインタフェース部又はディスクインタフェース部の該チェック手段によって該データの正当性をチェックすることを特徴とするディスク制御装置。
A plurality of cache memories; a host interface unit having an interface with a host computer; a disk interface unit having an interface with a magnetic disk device; the cache memory; the host interface unit or the disk interface unit; and the plurality of cache memories. In a disk control device having a connection unit that selectively switches a path for connecting between and a path to form a path ,
The host interface unit or the disk interface unit has check means for monitoring data and checking its validity on the path,
The connection unit includes a command analysis unit that analyzes a command transferred from the host interface unit or the disk interface unit, the host interface unit or the disk interface unit according to a command analysis result in the command analysis unit, and the plurality of A selector that switches a path for connecting to the cache memory, and
The command analysis section the results of analysis of the command in the case the command is a copy between the cache, read data from one of the cache memory, to write the data to the other cache memories, and the host interface unit or disk interface unit So that the selector switches the path so that the data is received,
The data read from one of the cache memories is transferred to the other cache memory via the selector, and the data is validated by the checking means of the host interface unit or the disk interface unit that issued the command. A disk control device characterized by checking the performance.
前記接続部は、該パス上に、該セレクタと前記複数のキャッシュメモリとの間にデータをモニタしてチェックするエラーチェック回路を有し、該キャッシュメモリから読み出されたデータのエラーチェックを行うことを特徴とする請求項1に記載のディスク制御装置The connection unit has an error check circuit that monitors and checks data between the selector and the plurality of cache memories on the path, and performs error check of data read from the cache memory 2. The disk control device according to claim 1, wherein
JP35648099A 1999-12-15 1999-12-15 Disk controller Expired - Fee Related JP3686562B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP35648099A JP3686562B2 (en) 1999-12-15 1999-12-15 Disk controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35648099A JP3686562B2 (en) 1999-12-15 1999-12-15 Disk controller

Publications (2)

Publication Number Publication Date
JP2001175582A JP2001175582A (en) 2001-06-29
JP3686562B2 true JP3686562B2 (en) 2005-08-24

Family

ID=18449234

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35648099A Expired - Fee Related JP3686562B2 (en) 1999-12-15 1999-12-15 Disk controller

Country Status (1)

Country Link
JP (1) JP3686562B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003075166A1 (en) * 2002-03-06 2003-09-12 Fujitsu Limited Storage system and data transfer method in the system
JP4383321B2 (en) 2004-11-09 2009-12-16 富士通株式会社 Storage control device and external storage device

Also Published As

Publication number Publication date
JP2001175582A (en) 2001-06-29

Similar Documents

Publication Publication Date Title
JP4392877B2 (en) Disk array controller
JP4651797B2 (en) Backup system and duplication device
US6321346B1 (en) External storage
US7426588B2 (en) Storage apparatus
US5758057A (en) Multi-media storage system
US7124244B2 (en) Storage system and a method of speeding up writing data into the storage system
JP2010049502A (en) Storage subsystem and storage system having the same
JPH09146842A (en) Storage subsystem
WO2014094250A1 (en) Data processing method and device
JP2005196490A (en) System and method for data duplication
US7143306B2 (en) Data storage system
JP3686562B2 (en) Disk controller
KR0175742B1 (en) Operation separable high-speed data transmission apparatus in duplication system
JP3776438B2 (en) Storage device
US7426658B2 (en) Data storage system and log data equalization control method for storage control apparatus
JP4936088B2 (en) Disk array device, disk array system, and cache control method
JP4526509B2 (en) Disk array controller
JP2001027972A (en) Disk controller
KR20070016393A (en) Arbiter processor apparatus for duplex control
JP4030951B2 (en) Data duplication apparatus and method
JP4662565B2 (en) Disk array control device and disk array system
JP2002007220A (en) Multiple memory system
JP2008210183A (en) Redundant control system
JP4698145B2 (en) Disk array device
JP3783560B2 (en) Information processing system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050310

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050603

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

Free format text: PAYMENT UNTIL: 20080610

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090610

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090610

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100610

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100610

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110610

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110610

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120610

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120610

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130610

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees