JP2001034427A - デバイス制御装置及び制御方法 - Google Patents

デバイス制御装置及び制御方法

Info

Publication number
JP2001034427A
JP2001034427A JP11208914A JP20891499A JP2001034427A JP 2001034427 A JP2001034427 A JP 2001034427A JP 11208914 A JP11208914 A JP 11208914A JP 20891499 A JP20891499 A JP 20891499A JP 2001034427 A JP2001034427 A JP 2001034427A
Authority
JP
Japan
Prior art keywords
data
transfer
block
protection
control unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP11208914A
Other languages
English (en)
Inventor
Nobuyuki Kikuchi
伸之 菊地
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 JP11208914A priority Critical patent/JP2001034427A/ja
Priority to US09/488,012 priority patent/US6606715B1/en
Publication of JP2001034427A publication Critical patent/JP2001034427A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】 【課題】データブロックの転送に中断が起きてもデータ
ブロックの転送と保護データの生成を同時に可能として
アクセス性能を高める。 【解決手段】キャッシュ制御部40に保護データ制御部
62を設け、上位装置10からのユーザデータをキャッ
シュメモリ42に書込むライト動作時に、ユーザデータ
のデータブロック単位に保護データを生成してキャッシ
ュメモリ42に書込み、データブロックの転送の中断を
検出した時は、中断時の保護データの生成状態をキャッ
シュメモリ42に保存し、データブロックの転送再開を
検出した時には、キャッシュメモリ42に保存した中断
時の保護データの生成状態に戻して保護データを生成を
再開する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数の磁気ディス
ク装置により構成されたアレイディスク装置等のデバイ
ス装置と上位装置との高速入出力アクセスを実現するデ
バイス制御装置及び制御方法に関し、特に上位装置から
のユーザデータをキャッシュメモリにバッファする際に
CRC等の保護データを生成して付加するデバイス制御
装置及び制御方法に関する。
【0002】
【従来の技術】近年、複数の磁気ディスク装置により構
成されたアレイディスク装置をアレイディスク制御装置
を介して複数の上位装置で共有する構成がとられ、効率
的にアレイディスク装置をアクセスするシステムが実現
されている。
【0003】このようなシステム構成の下では、上位装
置とアレイディスク制御装置の間に、ファイバチャネル
インタフェース(FC I/F)を使用したパス切替用
スイッチ、所謂ファブリックが挿入され、より効率的に
アクセスを実行するシステムが実現されている。
【0004】また、アレイディスク制御装置では、上位
装置から転送されるユーザデータのブロック単位毎にC
RC(巡回冗長符号 :Cyclic Redundancy Check)等の保
護データを生成し、ユーザデータの保護が実施されてい
る。保護データはアレイディスク制御装置内のバッファ
に転送される時に並行して生成され、ブロックデータ毎
の末尾に保護データが付加されバッファへ格納される。
【0005】
【発明が解決しようとする課題】しかしながら、上位装
置とアレイディスク制御装置の間に、ファイバチャネル
インタフェースを使用したパス切替用のファブリックが
挿入されたようなシステム構成の下では、データブロッ
クを上位装置からアレイディスク制御装置へ転送してい
る途中で、ファブリックのスイッチ切替えにより転送が
中断される場合がある。
【0006】このため、アレイディスク制御装置におい
てデータブロックの転送と保護データの生成は同時には
行わず、上位装置からのデータブロックの転送が終了し
てバッファに格納した後に、バッファからブロックデー
タを読出しながら保護データを生成し、データブロック
に生成した保護データを付加して再度、バッファに格納
している。
【0007】このためユーザデータをバッファに格納す
る際の保護データの生成に手間がかかり、その際に使用
するバッファ領域も増え、ユーザデータを書込む際のア
クセス性能を十分に引き上げることができない問題があ
った。
【0008】本発明は、データブロックの転送に中断が
起きても、データブロックの転送と保護データの生成を
同時に可能としてアクセス性能を高めるようにしたテバ
イス制御装置及び制御方法を提供することを目的とす
る。
【0009】
【課題を解決するための手段】図1は本発明の原理説明
図である。
【0010】図1(A)のように、本発明のデバイス制
御装置18は、上位装置との通信を制御するホストイン
タフェース制御部36、デバイス20との通信を制御す
るデバイスインタフェース制御部38、ユーザデータ及
び管理テーブルを格納したキャッシュメモリ42、キャ
ッシュメモリ42を制御するキャッシュ制御部40、及
びメインメモリ34に格納した制御プログラム35の実
行により各制御部を36,38,40制御する主制御部
32を備える。
【0011】このようなデバイス制御装置18につき本
発明にあっては、キャッシュ制御部40に保護データ制
御部62を設け、上位装置10からのユーザデータをキ
ャッシュメモリ42に書込むライト動作時に、図1
(B)のように、ユーザデータ100のデータブロック
単位に保護データ102を生成してキャッシュメモリ4
2に書込み、データブロックの転送の中断を検出した時
は、中断時の保護データの生成状態をキャッシュメモリ
42に保存し、データブロックの転送再開を検出した時
には、キャッシュメモリ42に保存した中断時の保護デ
ータの生成状態に戻して保護データを生成を再開する。
【0012】このように本発明のデバイス制御装置は、
データブロックの転送が中断されたことを検出し、その
時の保護データの生成状態を保存する。そして、データ
ブロックの転送の再開を検出すると、保護データを生成
している制御部の状態をデータ転送の中断時に戻すよう
にする。
【0013】これによりユーザデータのキャシュメモリ
への転送と保護データの生成を並行して実行でき、キャ
ッシュ制御部とキャッシュメモリ間のインタフェース速
度を抑えることが可能となる。更に、保護データを生成
するために再度バッファメモリからデータを読み出すこ
とが必要なくなるため、上位装置側へのステータス報告
の遅延を避けることができ、アクセス性能を向上でき
る。
【0014】保護データ制御部62は、主制御部32の
制御プログラム35で設定される転送開始時のOPコー
ドと転送中のOPコードとを比較して相違を確認した際
に転送中断を検出し、転送中断後は、中断時のOPコー
ドと中断中のOPコードとを比較して相違を確認した際
に転送再開を検出する。
【0015】保護データ制御部62は、データブロック
の境界部分での転送が中断した場合は、このデータブロ
ックと生成済みの保護データをキャッシュメモリ42に
書き込んで保存し、転送を再開した場合には、キャッシ
ュメモリ42から保護データ生成初期値を読み出して次
のデータブロックの保護データを生成する。
【0016】保護データ制御部62は、データブロック
の途中で転送が中断した場合、生成途中の保護データを
キャッシュメモリ42に書き込んで保存し、転送を再開
した場合には、キャッシュメモリ42から生成途中の保
護データを読み出して中断時の状態に戻した後に残りの
データブロックに対応した保護データの生成を再開す
る。
【0017】本発明のデバイス制御装置のキャッシュメ
モリ42は、保護データ領域52内の保護データとバッ
ファ領域50内のブロックデータを管理するために、転
送データの開始位置を示すスタートブロックアドレス;
転送が予定されるブロック数を示す転送ブロックカウン
ト;生成した保護データを格納する保護データ先頭格納
先アドレス;転送、中断、再開等のデータ転送状態に応
じて設定されるOPコード;保護データ生成初期値を与
えるシード;から構成された保護データ管理テーブル4
4を有する。
【0018】この場合、保護データ制御部62は、転送
開始時に、テーブルの保護データ先頭格納先アドレスを
キャッシュアクセス先のアドレスデータにセットし、テ
ーブルのシードをシードレジスタにセットし、更にテー
ブルの転送ブロックカウントを転送カウントにセットす
る。
【0019】またデータブロックの転送終了毎に、デー
タブロック及び保護データをキャッシュメモリに格納し
た後に、アドレスデータ及び転送カウントをインクリメ
ントすると共に、テーブルのシードをシードレジスタに
セットする処理を繰り返す。
【0020】またキャッシュメモリ42は、生成途中の
保護データを管理するため、転送データの開始位置を示
すブロックアドレス;生成途中にある中間保護データを
一時的に保存するキャッシュの中間保護データ格納先ア
ドレス;転送、中断、再開等のデータ転送状態に応じて
設定されるOPコード;使用中のシードをコピーするネ
クストシード;データブロックの残りバイト数を示す転
送済カウント;転送が予定される残りブロック数を示す
実行済ブロックカウント;から構成される中間保護デー
タ管理テーブル46を有する。
【0021】この場合、保護データ制御部62は、ブロ
ックデータのブロック境界での転送中断した場合は、キ
ャッシャ保護データ領域52をアクセスするアドレスデ
ータをテーブルの中間保護データ格納アドレスにコピー
し、主制御部32の制御プログラム35で設定したOP
コードをテーブルのOPコードにコピーし、シードレジ
スタをテーブルのネクストシードにコピーし、転送カウ
ントをテーブルの転送済カウントにコピーし、更にブロ
ックカウントレジスタを実行済ブロックカウントにコピ
ーする。
【0022】また中断した転送が再開した場合には、テ
ーブルの中間保護データ格納アドレスをキャッシュ保護
データ領域52をアクセスするアドレスデータにセット
し、テーブルのネクストシードをシードレジスタにセッ
トし、テーブルの転送済ブロックカウントを転送カウン
トにセットし、更にテーブルの実行済みブロックカウン
トをブロックカウントレジスタにセットする。
【0023】更に、保護データ制御部62は、データブ
ロックの途中で転送が中断した場合は、キャッシュ保護
データ領域52をアクセスするアドレスデータをインク
リメントすることなくテーブルの中間保護データ格納ア
ドレスにコピーすると共に、生成途中の中間保護データ
をキャッシュメモリの保護データ領域に書込む。
【0024】また中断した転送が再開した場合には、キ
ャッシュ保護データ領域52から中間保護データを読み
出して中間シードレジスタにセットした後に中間保護デ
ータの生成を再開する。
【0025】本発明のデバイス制御装置18は、キャッ
シュメモリ42の内部を、キャッシュに格納されている
データの管理情報を格納するキャッシュ管理テーブル領
域48、上位装置10から内部バスを経由して転送され
たユーザデータを一時的に格納するバッファ領域50、
バッファ領域50に格納されているユーザデータの保護
データを格納する保護データ領域52、デバイス20か
ら内部バス経由で転送されたデータを格納するキャッシ
ュ領域54に分けて構成する。
【0026】保護データ制御部62は、主制御部32の
制御プログラム35によって設定されるシードレジスタ
のシード値を初期値として、データブロックから保護デ
ータを生成する。
【0027】保護データ制御部62は、キャッシュメモ
リ42のバッファ領域50にユーザデータを格納する際
に、ユーザデータの格納先アドレスと生成された保護デ
ータの格納先アドレスを切り替えるセレクタを備える。
【0028】保護データ制御部62は、キャッシュメモ
リ42から上位装置10にデータブロックを読出転送す
るリード動作時に、キャッシュメモリ42から読出した
データブロックから保護データを生成しながら同時にキ
ュッシュメモリ42から読出した保護データとの比較し
て正当な場合に上位装置に転送する。
【0029】保護データ制御部62は、デバイスインタ
フェース制御部38によりデバイス20から読出したデ
ータをキャッシュメモリ42のキャッシュ領域54へ書
込む際に、読出ユーザデータのデータブロックから保護
データを生成しながら読出データブロックに付加されて
いる保護データと比較して正当な場合に正常終了させ
る。
【0030】また本発明のデバイス制御装置で使用する
テバイスは、複数の磁気ディスク装置により構成された
アレイディスク装置である。更に、本発明のデバイス制
御装置は、上位装置との間に、ファイバチャネルインタ
フェースを用いたパス切替用スイッチとして機能するフ
ァブリックを設けたシステムを対象とする。
【0031】本発明は、また、上位装置10とデバイス
装置20との間の入出力をキャッシュメモリ42を介し
て制御するデバイス制御方法に関する。このデバイス制
御方法は、上位装置10からのユーザデータをキャッシ
ュメモリ42に書込むライト動作時に、ユーザデータの
データブロック単位に保護データを生成してキャッシュ
メモリ書込み;データブロックの転送の中断を検出した
時は、中断時の保護データの生成状態をキャッシュメモ
リ42に保存し;データブロックの転送再開を検出した
時には、キャッシュメモリ42に保存した中断時の保護
データの生成状態に戻して保護データを生成を再開す
る。このデバイス制御方法の詳細は装置構成の場合と同
じになる。
【0032】
【発明の実施の形態】<目 次> 1.装置構成と機能 2.キャッシュメモリへのライト動作 3.転送中断が発生する場合のキャッシュメモリへのラ
イト動作 4.デバイスからキャッシュメモリへのライト動作 5.バッファ領域からホスト側へのリード動作 6.キャッシュバッファ領域からデバイス側へのリード
動作 7.キャッシュ領域からホスト側へのリード動作 1.装置構成と機能 図2は、本発明のデバイス制御装置及びその制御方法が
適用されるコンピュータシステムのブロック図である。
【0033】図2において、複数のホスト10−1〜1
0−4は、パス切替用スイッチとして機能するファブリ
ック12を介してサブシステム14−1〜14−3に接
続されている。サブシステム14−1〜14−3には、
チャネルコントローラ16−1〜16−3、本発明のデ
バイス制御装置に対応したRAIDコントローラ(アレ
イディスク制御装置)18−1〜18−3、及びデバイ
ス装置としてのアレイディスク装置20−1〜20−3
が設けられる。
【0034】ホスト10−1〜10−4とファブリック
12の間、及びファブリック12とサブシステム14−
1〜14−3の間は、ファイバチャネルインタフェース
(FC I/F)が使用される。
【0035】サブシステム14−1〜14−3のチャネ
ルコントローラ16−1〜16−3とRAIDコントロ
ーラ18−1〜18−3との間は、内部インタフェース
26が使用され、更にRAIDコントローラ18−1〜
18−3とアレイディスク装置20−1〜20−3との
間はディスクインタフェース28が使用される。
【0036】ここでホスト10−1〜10−4とサブシ
ステム14−1〜14−3との間に設けたファブリック
12に使用しているファイバチャネルインタフェース2
2,24を説明する。このようなファイバチャネルイン
タフェース22,24をもつ装置はノードと呼ばれ、ノ
ード間の接続形態として、図2のようなファブリック1
2を使用したファブリック接続形態(ファブリックトポ
ロジ)がある。
【0037】このファブリックトポロジはスイッチある
いはルータと呼ばれるファブリック12を経由して各ノ
ード、この場合にはホスト10−1〜10−4とサブシ
ステム14−1〜14−3が接続されており、ファブリ
ック12内での2つのノード間の接続がどのような経路
をとるかは特に意識されない。
【0038】ここでファイバチャネルインタフェース2
2,24は次の4つのサービスクラスを持っている。
【0039】クラス1 専用の接続を確立して動作するクラス クラス2 特定の接続経路を使用しないで動作するクラスで、異な
った相手先にデータを迅速に送ることが可能であり、受
信側から受領確認が要求される。
【0040】クラス3 特定の接続経路を使用しないで動作するクラスであり、
受信側からの受領確認が要求されない。
【0041】クラス4 仮想的な接続形態で動作するクラスであり、転送先のポ
ート間とのバウンドウイズを使用した配信を可能とす
る。
【0042】したがって、図2のファブリックトポロジ
を採用したファイバチャネルインタフェース22,24
にあっては、サービスクラスとしてはクラス2が必須の
条件となる。
【0043】このようなファブリックトポロジをとるフ
ァイバチャネルインタフェース22としては、次の規格
により定義される。
【0044】FC−PH Fibre Channel Physical I
nterface ファイバチャネル物理インタフェース 規格:ANSI#X3.230−1994(Rev.
4.3) FC−FG Fibre Channel Fabric Generic Pequire
ments ファイバチャネル・ファブリックに関する一般的要求事
項 規格:ANSI#X3.289−1996(Rev.
3.5) 図2のファブリック12としては、McDATA社(マ
クデータ社)の製造する製品番号ES−2500または
ED−5000が使用できる。またファブリック12対
応のFCプロトコルチップとしては、QLogic社の
製造する製品番号QLA−2200またはQLA−22
00Fが使用できる。
【0045】図3は、図2のファブリック12を経由し
たファイバチャネルインタフェース22,24のファイ
バチャネル転送データのフォーマット説明図である。ま
ずファイバチャネルインタフェースでは、FC転送デー
タ30に示すように、フレームと呼ばれる単位が転送デ
ータの最小単位となり、1つ以上のフレームによりパケ
ットが構成される。
【0046】各フレームは先頭フレームについて下側に
取り出して示すように、4バイトのスタートフレーム境
界SOF、24バイトのヘッダ、0〜2112バイトの
範囲の値をとるデータフィールド、4バイトのCRC
(サイクリック・ランダンシ・チェック)、4バイトの
フレーム終了境界で構成される。
【0047】このうち24バイトのヘッダは、下側に取
り出して示すようにフレームの種類表示、転送先アドレ
ス、サービスクラス管理情報、発行元アドレス、データ
タイプ、フレーム転送制御情報、フレームシーケンス番
号、データフィールド制御情報、フレームの順番、オリ
ジンネータの取引情報、レスポンダの取引情報及びフレ
ームパラメータ情報で構成される。
【0048】再び図2を参照するに、サブシステム14
−1〜14−3に設けているRAIDコントローラ18
−1〜18−3は、ホスト10−1〜10−4から転送
されるユーザデータに対し、そのブロック単位に巡回冗
長符号(CRC)等の保護データを生成し、ユーザデー
タの保護を実施している。
【0049】この保護データはRAIDコントローラ1
8−1〜18−3内のキャッシュメモリのバッファ領域
にユーザデータのデータブロックを転送するときに並行
して生成され、データブロックの末尾に保護データが付
加されてバッファ領域に格納される。
【0050】しかしながら、ファイバチャネルインタフ
ェース22,24を使用したファブリック12によるパ
ス切替えでユーザデータを転送する場合、ファブリック
12のパス切替えに伴って転送が中断される場合があ
り、そのままではデータブロックの転送と保護データの
生成を同時に行うことはできない。
【0051】これに対し本発明のRAIDコントローラ
18−1〜18−3にあっては、ホストからのユーザデ
ータの転送中にデータブロックの転送が中断されたこと
を検出し、そのときの保護データの生成回路の状態を保
存する。その後、データブロックの転送再開を検出する
と、保存している中断時の回路状態に戻して保護データ
の生成を再開する。
【0052】図4は、図2のRAIDコントローラ18
−1のブロック図であり、他のRAIDコントローラ1
8−2,18−3も同じになる。
【0053】図4において、RAIDコントローラ18
−1は、主制御部としてのMPU32、MPU32で実
行されるメインプログラム35を格納したメインメモリ
34、ホストインタフェース制御部36、デバイスイン
タフェース制御部38、キャッシュ制御部40及びキャ
ッシュメモリ42で構成される。
【0054】キャッシュメモリ42の内部は、格納デー
タの管理情報を格納するキャッシュ管理テーブル領域4
8、ホストから内部バス45を経由して転送されたユー
ザデータを一時的に格納するバッファ領域50、バッフ
ァ領域50に格納されているデータの保護データを格納
する保護データ領域52、及びアレイディスク装置20
−1から内部バス45を経由して転送された保護データ
付きのユーザデータを格納するキャッシュ領域54に分
けて構成されている。
【0055】このうちキャッシュ管理テーブル領域48
には、バッファ領域50及びキャッシュ領域54のユー
ザデータを管理するキャッシュ管理テーブル44、保護
データ領域52内にある保護データとバッファ領域50
内にあるユーザデータの管理を行う保護データ管理テー
ブル45、更にユーザデータの転送が中断されたときの
状態を記録するための中間保護管理テーブル46を設け
ている。
【0056】このキャッシュ管理テーブル44、保護デ
ータ管理テーブル45及び中間保護データ管理テーブル
46は、キャッシュ制御部40に展開され、ハードウェ
アとして設けている保護データ制御部62の制御処理に
使用される。
【0057】保護データ制御部62は、ホストインタフ
ェース制御部36より内部バス55を経由して送られて
くるユーザデータをキャッシュメモリ42に格納する際
に、データブロック単位に保護データを生成し、データ
ブロックの後ろに付加して、バッファ領域50にはデー
タブロック98−1,98−2のように、また保護デー
タ領域52にはそれぞれの保護データ102−1,10
2−2のように分けて格納する。
【0058】また保護データ制御部62は、データブロ
ックの転送が中断されたことを検出し、そのときの保護
データ生成のための回路状態を中間保護データ管理テー
ブル46にコピーして保存する。
【0059】ここでデータブロックの転送中断は データブロック境界部分での転送中断 データブロックの途中での転送中断 の2つがある。
【0060】前者のデータブロック境界部分での転送中
断は、1データブロックの転送完了時点での転送中断で
あることから、中断直前のデータブロックの保護データ
の生成は完了しており、中間保護データ管理テーブル4
6にそのときの保護データ生成の回路状態即ちデータブ
ロックについて保護データの生成が完了した状態を保存
するだけで良い。
【0061】これに対しデータブロックの途中で転送が
中断した場合には、中断したブロックの保護データの生
成は途中の状態にあることから、この生成途中にある保
護データを一時的に保護データ領域52に保存し、併せ
て保護データ生成の回路状態を中間保護データ管理テー
ブル46に保存する。
【0062】保護データ制御部62は、中断したデータ
ブロックの転送再開を検出すると、中間保護データ管理
テーブル46に保存している中断時の回路状態を保護デ
ータ制御部62のハードウェアにセットし、再開したデ
ータブロックと並行して保護データの生成を行う。
【0063】この場合、ブロック境界部分での中断に対
する再開にあっては、次のデータブロックの先頭から改
めて保護データの生成を行えば良く、保護データ生成の
ためのパラメータとしては基本的に初期値を使用すれば
良い。
【0064】これに対しデータブロックの途中で中断し
た後の再開にあっては、中断したデータブロックの保護
データが生成途中にあることから、一時的に保護データ
領域52に格納している生成途中の保護データを保護デ
ータ制御部62にセットし、再開したデータブロックの
途中から継続して保護データの生成をデータブロック終
了まで行い、そのデータブロックの転送終了で確定した
保護データをデータブロックの後ろに付加してキャッシ
ュメモリ42に送り、それぞれデータブロックはバッフ
ァ領域50に、保護データは保護データ領域52に分け
て格納することになる。
【0065】図5は、図4のキャッシュ制御部40に設
けた保護データ制御部62のハードウェアで実現される
機能ブロックである。
【0066】図5において、内部インタフェース55か
らのユーザデータはFIFOバッファ56に例えばバイ
ト単位に格納された後、ドライバ58を介してキャッシ
ュメモリ42側に送られる。同時に、このユーザデータ
はドライバ60を介して保護データ制御部62に与えら
れる。またキャッシュメモリ42からのデータはドライ
バ60を通って内部バス55に送り出され、この場合に
も保護データ制御部62に与えられる。
【0067】保護データ制御部62には、ユーザデータ
のデータブロックの転送に並行して保護データを生成す
るため、シードレジスタ72、中間シードレジスタ7
4、保護データ生成比較部76、転送カウント78、保
護データ格納レジスタ80及びブロックカウントレジス
タ82が設けられる。
【0068】シードレジスタ72は、保護データ生成比
較部76で生成する保護データの初期値をセットする。
中間シードレジスタ74は、シードレジスタ72の初期
値をデータブロックの転送終了ごとにインクリメントし
た値がセットされる。
【0069】保護データ生成比較部76は、最初はシー
ドレジスタ72の初期値を使用し、2ブロック目以降に
ついては中間シードレジスタ74の中間シード値を使用
して、FIFOバッファ56からの1つのデータブロッ
クのバイトデータの転送に並行して中間保護データの生
成を行い、データブロック終了でその後ろに生成した保
護データを付加してドライバ58よりキャッシュメモリ
42に転送する。
【0070】転送カウント78には、保護データの生成
単位となるユーザデータのデータブロックのサイズがセ
ットされ、データブロックのバイト転送で順次減算さ
れ、データブロックの転送終了で0となる。この転送カ
ウント78にセットするブロックサイズのセットはブロ
ックサイズ指定部72で行われ、ここにユーザデータの
ブロックサイズ例えば512バイトがセットされる。
【0071】この保護データ制御部62には、下側に取
り出して示すアドレス設定部64及びOPコード処理部
66も含まれる。アドレス設定部64には、アドレスポ
インタ84,86,88及びセレクタ90が設けられ
る。
【0072】アドレスポインタ84,86,88には、
図4のキャッシュ管理テーブル領域48から読み出した
各管理テーブルで指定される第1先頭アドレスデータ
a、第2先頭アドレスデータb及び第3先頭アドレスデ
ータcがセットされ、これらのアドレスデータa,b,
cはユーザデータのデータブロックを転送するごとにイ
ンクリメントされ、セレクタ90に対する第1アドレス
データA、第2アドレスデータB及び第3アドレスデー
タCとなる。
【0073】ここで第1先頭アドレスデータaは図4の
キャッシュ領域54のアドレスを指定し、第2先頭アド
レスデータbは保護データ領域52を指定し、更に第3
先頭アドレスデータcはバッファ領域50を指定する。
【0074】セレクタ90は、ホストからのユーザデー
タをキャッシュメモリ40に書き込む際には、まずアド
レスポインタ88からの第3アドレスデータCを選択し
てデータブロックをバッファ領域50の第3アドレスデ
ータCで指定されるアドレスに格納する。
【0075】データブロックの格納が終了すると、同時
に生成している保護データを格納するためアドレスポイ
ンタ86からの第2アドレスデータBにセレクタ90を
切り替え、保護データを保護データ領域52の第2アド
レスデータBで指定されるアドレス位置に格納する。
【0076】一方、アレイディスク装置20−1から読
み出した保護データ付きのデータブロックとなるユーザ
データを格納しているキャッシュ領域54のアクセスを
行う際には、セレクタ90をアドレスポインタ84から
の第1アドレスデータAに切り替え、キャッシュ領域5
4の第1アドレスデータAで指定されるアドレスからの
アクセスを行わせる。
【0077】OPコード処理部66は、OPコードデコ
ーダ92及びOPコード比較部94を備える。このOP
コード処理部66は、ユーザデータの転送開始、中断、
再開を、ホストインタフェース制御部36でデータ転送
状態に応じて得られたアドレス情報から生成したOPコ
ードと、MPU32で実行されるメインプログラム35
により設定されている保護データ管理部45または中間
保護データ管理テーブル46に格納しているテーブルO
Pコードと比較して一致したときに、転送開始、転送中
断、転送再開を検出して、保護データ制御部62による
保護データの生成、中断に伴う保存、再開に伴う復元と
保護データの生成を実行させる。
【0078】図6は、ホストから転送されるユーザデー
タと、ユーザデータのデータブロック単位に生成される
保護データの説明図である。図6において、図4のホス
トインタフェース制御部36からは、内部バス55を介
してホスト転送データ96がキャッシュ制御部40に送
られてくる。
【0079】このホスト転送データ96は、例えば51
2バイトのブロックサイズを持つデータブロック98−
1〜98−nに分けられ、先頭のデータブロック98−
1について示すように、ユーザデータ100としての1
データブロックの後ろに保護データ制御部62で生成し
た例えば8バイトのCRCを保護データ102として付
加してキャッシュメモリに格納する。
【0080】もちろん1データブロックのユーザデータ
100と保護データ102は、キャッシュメモリ42内
のバッファ領域50と保護データ領域52に分けて格納
される。
【0081】図7は、図4のキャッシュ管理テーブル領
域48に格納されている保護データ管理テーブル45の
説明図である。この保護データ管理テーブル45は、転
送データのスタートブロックアドレスを示すスタートブ
ロックアドレス104、転送が予定されるブロック数を
示す転送ブロックカウンタ106、保護データの保護デ
ータ領域52の書込先アドレスを示す保護データ格納先
アドレス(先頭)108、保護データの初期値を示すシ
ード112、更にこれらの設定値を1つのまとまりとす
る第1OPコード110から構成されている。
【0082】図8は、図4のキャッシュ管理テーブル領
域48に設けている中間保護データ管理テーブル46の
説明図である。この中間保護データ管理テーブル46
は、転送中断を起こしたブロックアドレスを示すブロッ
クアドレス114、転送中断時の保護データの保護デー
タ領域52内の格納位置を示す中間保護データ格納アド
レス116、データブロックの転送ごとにインクリメン
トされている転送中断時の中間シード値を示すネクスト
シード120、転送中断時の残りバイト数を示す転送済
みカウント112、転送中断時の残りブロック数を示す
実行済みブロックカウント114、更に転送中断時の各
設定値を1つのまとまりとする第2OPコード118か
ら構成されている。 2.キャッシュメモリへのライト動作 まず図5の保護データ制御部62について、ホストイン
タフェース制御部36よりユーザデータが転送中断を起
こすことなく正常に送られた場合のキャッシュメモリ4
0に対するライト動作を説明する。
【0083】ホストインタフェース制御部36でチャネ
ルコントローラ16−1よりライトコマンドを受信する
と、MPU32はそのメインプログラム35によって、
キャッシュ制御部40の保護データ制御部62に対しキ
ャッシュメモリ42のキャッシュ管理テーブル領域48
に格納しているキャッシュ管理テーブル44、保護デー
タ管理テーブル45、更に中間保護データ管理テーブル
46を展開し、格納先となる書込先アドレス等の必要な
情報の設定と管理が行われる。
【0084】このようにキャッシュ管理テーブル44及
び保護データ管理テーブル45が設定されると、図5の
保護データ制御部62のハードウェアは、次の処理を実
行する。
【0085】まずホストインタフェース制御部36から
のアドレス情報をOPコード処理部66に設けているO
Pコードデコーダ92で受け取る。このアドレス情報に
は保護データ管理テーブル45を検索するための第1O
Pコードが含まれており、OPコードデコーダ92でこ
の第1OPコードを生成してOPコード比較器94に与
える。
【0086】OPコード比較器94はアドレス情報から
生成した第1OPコードと、保護データ管理テーブル4
5から読み出した第1OPコード110とを比較し、該
当するテーブル情報を検索する。このときアドレス情報
から生成した第1OPコードを保護データ管理テーブル
45から検出できない場合には、MPU32に対しエラ
ーを通知する。
【0087】これに対し保護データ管理テーブル45か
ら該当する第1OPコード110を検出した場合には、
保護データ管理テーブル45から該当する第1OPコー
ド110によってまとめられている保護データ格納先ア
ドレス108,シード112を読み出し、それぞれアド
レスポインタ86に対する第2先頭アドレスb及びシー
ドレジスタ72に順次セットする。
【0088】またブロックサイズ指定部70で指定され
ているブロックサイズ、例えば512バイトを転送カウ
ント78にコピーする。更にホストインタフェース制御
部36から送られたアドレス情報をアドレスポインタ8
8の第3先頭アドレスデータcにセットする。
【0089】アドレスポインタ86,88は、データブ
ロックの転送ごとにインクリメントした第2アドレスデ
ータB,第3アドレスデータCをセレクタ90に出力す
る。最初のブロック転送においてセレクタ90は、アド
レスポインタ88からの第3アドレスデータCを選択し
て、先頭のブロックデータを格納するバッファ領域50
のアドレスを指定している。
【0090】次にホストインタフェース制御部36より
アドレス情報に続いてデータが転送されると、保護デー
タ制御部62はバイトデータを受信するごとに転送カウ
ンタ78を減算してデータ転送量をカウントする。また
保護データ生成比較部76は、シードレジスタ70にリ
セットしたシードを初期値として、ドライバ60により
入力されるキャッシュ制御部40を通過するデータブロ
ックのバイトデータ単位に中間保護データの生成を実行
する。
【0091】このようなデータブロックのバイト単位の
転送によるキャッシュ書込みで転送カウント78が0に
なると、512バイトの1データブロックの転送が終了
したこととなり、セレクタ90はキャッシュメモリ40
へのアドレスをアドレスポインタ86からのアドレスデ
ータBに切り替える。
【0092】このとき保護データ生成比較部76では、
1データブロック分の保護データの生成が完了してお
り、セレクタ90で選択された第2アドレスデータBに
よるキャッシュメモリ42の保護データ領域52の中の
アドレス位置に保護データが書き込まれる。
【0093】セレクタ90は、保護データの書込みが完
了すると再びアドレスポインタ88からの第3アドレス
データCへの切替えを行い、このときアドレスポインタ
88は1つインクリメントした第3アドレスデータCを
出力していることから、次のデータブロックのバッファ
領域50の書込アドレスが指定される。
【0094】またデータブロックの転送終了で転送カウ
ント78が0になると、ブロックカウントレジスタ82
とシードレジスタ72のそれぞれが1つインクリメント
され、更に転送カウント78は再びブロックサイズ指定
部70で指定される例えば512バイトの値にリセット
され、次のデータブロックのバイト転送による減算に備
える。
【0095】また転送カウント78が0となってブロッ
クカウントレジスタ82を1つインクリメントした際に
は、そのときの保護データ管理テーブル45の転送ブロ
ックカウント106の転送ブロック数と比較する。この
ときブロックカウントレジスタ82とテーブルの転送ブ
ロックカウント112が一致すれば、そのときの第1O
Pコード110で指定されるユーザデータのデータ転送
が完了したものと判断する。
【0096】このデータ転送の完了を判断した場合に
は、該当する第1OPコード110が転送完了を示し且
つ次の転送開始の際に第1OPコードの検索対象となら
ないように、コード内容を例えば全て0となるように変
更する。 3.転送中断が発生する場合のキャッシュメモリへのラ
イト動作 あるデータブロックの転送中に転送中断が起きると、O
Pコード処理部66のOPコードデコーダ92に与えら
れているホストインタフェース制御部36からのアドレ
ス情報から生成したOPコードに変化が発生し、OPコ
ード比較部94はテーブルの第1OPコードと比較して
いることで、データ転送に伴うOPコードの変化から転
送中断を検出する。
【0097】転送中断を検出すると保護データ制御部6
2は、そのときの転送カウント78とブロックカウント
レジスタ82をチェックする。このとき転送カウント7
8が0であり、ブロックカウントレジスタ82とテーブ
ルの転送ブロックカウント106が異なる場合には、デ
ータブロックの境界でデータ転送が中断されたと判断す
る。
【0098】この場合には、保護データ制御部62の転
送カウント78、ブロックカウントレジスタ82、アド
レスポインタ86からの第2アドレスデータB、シード
レジスタ78の各設定値を、図8の中間保護データ管理
テーブル46における転送済みカウント122、実行済
みブロックカウント124、中間保護データ格納先アド
レス116及びネクストシード120にそれぞれコピー
する。
【0099】一方、転送カウント78が0でない場合に
は、データブロックの途中でデータ転送が中断されたと
判断する。このときには保護データ生成比較部76で生
成されているその時点までの中間保護データを第2アド
レスデータBで指定されるキャッシュメモリ42の保護
データ領域52に一時的に書き込む。この場合、アドレ
スポインタ86による第2アドレスデータBのインクリ
メントは行わない。
【0100】そして保護データ制御部62における転送
カウント78、ブロックカウントレジスタ82、アドレ
スポインタ86からのインクリメントしていない第2ア
ドレスデータB、シードレジスタ72の各設定値を図8
の中間保護データ管理テーブル46における転送済みカ
ウント122、実行済みブロックカウント124、中間
保護データ格納先アドレス116及びネクストシード1
20にそれぞれコピーする。そして、これらのコピーさ
れた各設定値は第2OPコード118により1つのまと
まりとされている。
【0101】このような転送中断に伴う保護データ制御
部62内の設定値の中間保護データ管理テーブル46へ
のコピー処理を実行している間に、ホストインタフェー
ス制御部36から送られてくるデータは、FIFOバッ
ファ56に格納される。この場合、FIFOバッファ5
6はキャッシュ制御で発生する必要な処理時間に対し十
分大きなバッファの時間を持っており、データブロック
ごとに保護データを付加する時間を吸収することができ
る。
【0102】次に、中断されていたデータ転送が再開さ
れると、MPU32で実行されているマイクロプログラ
ム35により図8の中間保護データ管理テーブル46の
該当するテーブル位置の第2OPコード118に転送再
開を示すOPコードが設定される。
【0103】同時にホストインタフェース制御部36か
らのOPコードはOPコードデコーダ92でデコードさ
れて第2OPコードを生成しており、OPコード比較器
94で転送再開に伴うアドレス情報から生成した第2O
Pコードと中間保護データ管理テーブルの検索による該
当する第2OPコードの一致が検出される。
【0104】このため、一致した第2OPコード118
でまとめている中間保護データ管理テーブル46の各設
定値を保護データ制御部62に戻して中断時の状態にす
る処理が行われる。
【0105】即ち、図8の中間保護データ管理テーブル
46の第2OPコード118に該当する中間保護データ
格納先アドレス116、転送済みカウント122、実行
済みブロックカウント124、ネクストシード120を
読み出し、図5の保護データ制御部62におけるアドレ
スポインタ86に対する第2先頭アドレスb、転送カウ
ント78、ブロックカウントレジスタ82及びシードレ
ジスタ72のそれぞれにコピーする。
【0106】このときデータブロックの途中で転送中断
となったことで、テーブルから読み出した転送済みカウ
ント122が0でない場合には、キャッシュメモリ42
の保護データ領域52から中断時に保存していた中間保
護データを読み出し、中間シードレジスタ74にセット
する。そして転送カウント78が初めて0となる中断後
のブロック終了までは、中間シードレジスタ74の値を
使用して保護データ生成比較部76で、再開したデータ
ブロックのバイト転送に伴う保護データの生成を継続す
る。
【0107】これにより、データ転送が再開されたと
き、中断されたときの保護データ制御部62の状態を再
現し、生成途中にあった保護データを利用して保護デー
タの生成を継続して実行することができる。
【0108】図9は、キャッシュライト動作のフローチ
ャートであり、図10に転送中断が起きたときの中断処
理部をサブルーチンとして示している。
【0109】図9において、ステップS1でホストから
のアドレス情報を解読し、保護データ管理テーブル45
の検索OPコードを生成し、ステップS2でテーブルO
Pコードを比較して、ステップS3でOPコード検出が
できると、ステップS4で保護データ管理テーブル45
からデータを読み出して保護データ制御部62にセット
する。
【0110】ステップS3でテーブルOPコードが検出
できなければ、ステップS15でMPU32にエラー通
知を行う。このように保護データ制御部62に対する保
護データ管理テーブル45からの設定値のセットが済む
と、ステップS5でOPコードの変化の有無をチェック
した後、ステップS6でホストからのデータブロックを
バイト単位に受信し、ステップS7で転送カウント78
を減算し、並行してシードレジスタ72の保護データを
初期値として保護データ生成比較部76で中間保護デー
タを生成する。
【0111】ステップS8では転送カウント78が0と
なるか否かでデータブロックの転送終了をチェックして
いる。転送カウント78が0となってデータブロックの
転送が終了すると、ステップS9でブロックカウントレ
ジスタ82及びシードレジスタ72を1つインクリメン
トし、更に転送カウント78をブロックサイズ指定部7
8のブロックサイズ例えば512バイトにリセットす
る。
【0112】次にステップS10でセレクタ90をアド
レスポインタ86の第2アドレスデータBに切り替え、
キャッシュメモリ42の保護データ領域52に生成した
保護データを書き込む。尚、データブロックについて
は、ステップS5〜S8における保護データの生成と並
行して、セレクタ90によるアドレスポインタ88から
の第3アドレスデータCの選択でキャッシュメモリ82
のバッファ領域50が指定されて既に書込みが終了して
いる。
【0113】続いてステップS11でブロックカウント
レジスタ82と保護データ管理テーブル45の転送ブロ
ックカウント106を比較し、ステップS3で不一致で
あれば再びステップS5に戻り、次のデータブロックの
処理を行う。一致すれば、そのユーザデータの全データ
ブロックの終了が済んだことから、ステップS14に進
み、保護データ管理テーブル45のOPコードを転送完
了を示す例えば全て0の状態に内容変更して、ライトキ
ャッシュ動作を終了する。
【0114】ユーザデータのキャッシュライト中にステ
ップS5では、転送中断によるOPコードの変化をチェ
ックしており、OPコードの変化を検出すると、ステッ
プS16の中断処理を行う。この中断処理は、図10に
サブルーチンのフローチャートとして示される。
【0115】図10の中断処理にあっては、ステップS
1で中断がデータブロックの境界で中断したか否かチェ
ックする。具体的には、保護データ制御部62の転送カ
ウント78が0でブロックカウントレジスタ82とテー
ブルの転送ブロックカウント106が不一致であれば、
データブロック境界で転送が中断したと判断してステッ
プS3に進む。
【0116】この条件を満たしていない場合にはデータ
ブロックの途中で中断したと判断して、ステップS2で
生成途中の中間保護データをキャッシュメモリ42の保
護データ領域52に書き込む。この場合、保護データ領
域の書込値を指定している第2アドレスデータBのアド
レスポインタ86によるインクリメントは行わない。
【0117】次にステップS3で保護データ制御部62
の状態を中間保護データ管理テーブル46にコピーす
る。続いてステップS4〜S6において、図9のキャッ
シュライト動作におけるステップS1〜S3の場合と同
様、転送再開に伴うOPコードの変化を検出し、OPコ
ードの変化を検出するとステップS7に進み、中間保護
データ管理テーブル46の転送済みカウント122が0
か否かチェックする。
【0118】転送済みカウントが0であればデータブロ
ックの境界で転送が中断していることから、ステップS
9に進む。転送済みカウント122が0でなければデー
タブロックの途中で転送が中断していることから、この
場合にはステップS8でキャッシュメモリ42の保護デ
ータ領域52から中断時に一時的に保存した中間保護デ
ータを読み出して中間シードレジスタ74にセットす
る。
【0119】次にステップS9で中間保護データ管理テ
ーブル46から保護データ制御部62にテーブル格納値
をコピーして中断時と同じ状態に戻し、図9のステップ
S6に戻り、再開したデータブロックの転送に伴う保護
データの生成を継続する。 4.デバイスからキャッシュメモリへのライト動作 図4において、デバイスインタフェース制御部38によ
り読み出したアレイディスク装置20−1からの転送デ
ータを、キャッシュ制御部40からキャッシュメモリ4
2のキャッシュ領域54に書き込むライト動作は、デバ
イスインタフェース制御部38からキャッシュメモリ4
2への転送データをMPU32で実行しているメインプ
ログラム35が全て管理することができるため、データ
転送が中断されるような事態は発生しない。
【0120】またアレイディスク装置20−1から読み
出されるユーザデータも、ディスク書込みの際に、図6
に示したユーザデータ100の後ろに保護データ102
を付加したデータフォーマットを持っているため、キャ
ッシュメモリ42に書き込む際にキャッシュ制御部40
で保護データを生成する必要はない。
【0121】この場合、保護データ制御部62は、デバ
イスインタフェース制御部38から内部インタフェース
55を経由して送られてきた転送データについて、各デ
ータブロックの書込みと同時に保護データを生成し、こ
の転送に伴って生成した保護データとデータブロックの
末尾に付加されている保護データとを比較し、転送デー
タブロックから生成した保護データと転送データブロッ
クに付加された保護データとが一致したときに正常なデ
ータ書込みができたものと判断して正常終了し、不一致
の場合はMPU32にエラー通知を行う。 5.バッファ領域からホスト側へのリード動作 図4において、ホストインタフェース制御部36からキ
ャッシュ制御部40に対し、バッファ領域50に格納さ
れているユーザデータのリード要求が行われたとする。
このホストインタフェース制御部36からのリード要求
は、データブロックの転送が中断されているブロックア
ドレスは含まないものとする。
【0122】キャッシュ制御部40の保護データ制御部
62は、ホストインタフェース制御部36からリード要
求時に送られてくるアドレスデータに基づき、図5に示
したOPコードデコーダ92で第1OPコードを生成
し、OPコード比較部94により保護データ管理テーブ
ル45を検索し、OPコードの一致を検出すると、その
OPコードに該当する図7の保護データ管理テーブル4
5の該当する保護データ格納先アドレス108及びシー
ド112を読み出し、図5のアドレスポインタ86に対
する第2先頭アドレスデータbとしてセットし、またシ
ードレジスタ72にシードをコピーする。
【0123】またホストインタフェース制御部36から
与えられたリード要求のアドレス情報は、アドレスポイ
ンタ88に第3先頭アドレスデータcとしてセットされ
る。このような保護データ制御部62の設定が完了した
後、セレクタ90がアドレスポインタ88からの第3ア
ドレスデータCに切り替わって、キャッシュメモリ42
の第3アドレスデータCで指定されるバッファ領域50
からデータブロックを読み出す。
【0124】このデータブロックの読出中のバイト転送
に伴って転送カウンタ78が減算され、転送カウント7
8が0になると、データブロックの転送完了を認識して
セレクタ90はアドレスポインタ86からの第2アドレ
スデータBに切り替えて、キャッシュメモリ42の保護
データ領域52の中のアドレスを指定して保護データの
読出しを行う。
【0125】この保護データの読出しに先立つデータブ
ロックの読出しの際に、保護データ制御部62の保護デ
ータ生成比較部76は、転送されるデータブロックから
保護データの生成を完了している。
【0126】このため、キャッシュメモリ42の保護デ
ータ領域52から読み出された保護データは、保護デー
タ生成比較部76で、読出しと並行して既に生成されて
いる保護データと比較され、読み出されたデータの正当
性がチェックされる。このときデータ不一致により正当
性のエラーが検出されると、保護データ制御部62から
MPU32に対しエラー通知が行われる。
【0127】図11は、このようなキャッシュリード動
作のフローチャートである。図11において、ステップ
S1でホストインタフェース制御部36からのアドレス
情報を解読して保護データ管理テーブル45の検索第1
OPコードを生成し、ステップS2で保護データ管理テ
ーブル45を検索して、そのOPコードと比較する。
【0128】ステップS3でテーブル検索でアドレス情
報から生成したOPコードに一致するOPコードが検出
されると、ステップS4に進む。保護データ管理テーブ
ル45からOPコードが検出されないときには、ステッ
プS15でMPU32にエラー通知を行う。
【0129】保護データ管理テーブル45のOPコード
の一致検索が行われると、保護データ管理テーブル45
からデータを読み出して保護データ制御部62にセット
する。次にステップS5でアドレス情報から設定した第
3アドレスデータCによるキャッシュメモリのバッファ
領域50の指定でデータブロックをバイト単位に読み出
しながら保護データを生成する。
【0130】1バイト分の読出転送が行われると、ステ
ップS6で転送カウント78を減算する。そしてステッ
プS7で転送カウント78が0に達したか否かチェック
しており、0に達するとデータブロックの転送終了と判
断し、ステップS8で第2アドレスデータBに切り替
え、キャッシュメモリ42の保護データ領域52から保
護データを読み出す。
【0131】そしてステップS9で、既に生成済みの保
護データとキャッシュから読み出した保護データを比較
して正当性をチェックし、正当性があれば、ステップS
11でホストに読み出したデータを転送する。このホス
トに対するデータブロックの転送は、後ろに付加してい
る保護データは取り除き、データブロックのみを転送す
る。ステップS10で生成保護データとキャッシュ読出
しの保護データに不一致があれば正当性なしとしてステ
ップS16でMPU32にエラー通知を行う。
【0132】ステップS11でホストに対しデータブロ
ックのみのリード転送が済むと、ステップS11でブロ
ックカウントレジスタ82と保護データ管理テーブル4
5の転送ブロックカウント106を比較し、一致するま
でステップS5からの処理を繰り返す。
【0133】ステップS3でブロックカウントレジスタ
82と保護データ管理テーブル45の転送ブロックカウ
ント106が一致すると、データブロックの全ての転送
が終了したものと判断し、ステップS14で保護データ
管理テーブル45の第1OPコードを転送完了を示す例
えば全て0の内容に変更して一連の処理を終了する。 6.キャッシュバッファ領域からデバイス側へのリード
動作 図4において、キャッシュメモリ42のバッファ領域5
0に格納されているユーザデータのデバイスインタフェ
ース制御部38を経由したアレイディスク装置20−1
への書込みのためのリード動作は、基本的にはホストイ
ンタフェース制御部36に対するリード動作と同じであ
る。
【0134】この場合のデバイスインタフェース制御部
38に対するリード動作の相違点は、ホストの場合には
保護データを取り除いてデータブロックのみを転送して
いたが、デバイスインタフェース制御部38に対するリ
ード動作では、キャッシュメモリ42のバッファ領域5
0から読み出したデータブロックの後ろに保護データ領
域52から読み出した保護データを付加した図6のフォ
ーマットのデータを転送する。
【0135】具体的には、図5の保護データ制御部62
に設けている転送カウント78が0となったデータブロ
ックの転送終了時に、キャッシュメモリ42の保護デー
タ領域52から続いて読み出される保護データをデータ
ブロックの末尾に連続させてFIFO56に転送する。 7.キャッシュ領域からホスト側へのリード動作 図4において、アレイディスク装置20−1から読み出
したデータブロックの後ろに保護データを付けたフォー
マットで格納しているキャッシュ領域54のユーザデー
タを読み出してホストインタフェース制御部36からホ
ストに転送する場合には、キャッシュ制御部62を通過
する際にキャッシュ領域54から読み出したデータブロ
ックから保護データ制御部62で保護データを生成し、
生成した保護データとキャッシュ領域54から読み出し
た保護データとを比較して、正当性が検出されると、デ
ータブロックのみを内部バス55を経由してホストイン
タフェース制御部36に転送する。
【0136】尚、上記の実施形態はディスク制御装置と
してRAIDコントローラ11−1〜11−3及びデバ
イス装置としてアレイディスク装置20−1〜20−3
を例にとるものであったが、アレイ構成をとらず通常の
磁気ディスク装置を複数設けた場合についてもそのまま
適用できる。
【0137】またキャッシュ制御部40の保護データ制
御部62としてハードウェアで構成した場合を例にとっ
ているが、必要に応じてソフトウェアで実現しても良い
し、DSP等で実現しても良い。
【0138】また上記の実施形態は、ホストとの間にデ
ータ転送途中でパス切替え等によって転送中断が起きる
ファブリックトポロジとした場合を例にとるものであっ
たが、ホストからのデータ転送中にパス切替え等に起因
した中断が起きる適宜のパス切替用スイッチを持つ場合
にそのまま適用できる。
【0139】更に本発明は、その目的と利点を損なわな
い適宜の変形を含み、更に実施形態に示した数値による
限定は受けない。
【0140】
【発明の効果】以上説明してきたように本発明によれ
ば、上位装置側からのユーザデータのデータブロックの
転送が中断されたことを検出したとき、データブロック
の保護データを生成している回路状態を一時的に保存
し、データブロックの転送先を検出した場合には保護デ
ータを生成している回路状態をデータ転送の中断時に戻
すようにしたことで、データブロックのキャッシュメモ
リへの転送と保護データの生成を並行して実行すること
ができる。
【0141】また、データブロックのキャッシュメモリ
への転送と保護データの生成を並行してできることで、
キャッシュ制御部とキャッシュメモリ間のインタフェー
ス速度を抑えることができる。
【0142】更に、データブロックに基づいて保護デー
タを生成するために、再度バッファメモリからデータを
読み出す必要がなくなり、上位装置側へのステータス報
告の遅延を回避でき、上位装置からのライト要求に対す
るアクセス性能を向上することができる。
【0143】ここで本発明の特許請求の範囲に記載した
以外の本発明の特徴を列挙すると次のようになる。 (1)請求項1に付帯する特徴; A.請求項1記載のデバイス制御装置に於いて、前記保
護データ制御部は、前記主制御部の制御プログラムで設
定される転送開始時のOPコードと転送中のOPコード
とを比較して変化を確認した際に転送中断を検出し、転
送中断後は、中断時のOPコードと中断中のOPコード
とを比較して変化を確認した際に転送再開を検出するこ
とを特徴とするデバイス制御装置。
【0144】B.請求項1記載のデバイス制御装置に於
いて、前記保護データ制御部は、データブロックの境界
部分で転送が中断した場合は、該データブロックと生成
済みの保護データを前記キャッシュメモリに書き込んで
保存し、転送を再開した場合には、前記キャッシュメモ
リから保護データ生成初期値を読み出して次のデータブ
ロックの保護データを生成することを特徴とするデバイ
ス制御装置。
【0145】C.請求項1記載のデバイス制御装置に於
いて、前記保護データ制御部は、データブロックの途中
で転送が中断した場合、生成途中の保護データを前記キ
ャッシュメモリに書き込んで保存し、転送を再開した場
合には、前記キャッシュメモリから生成途中の保護デー
タを読み出して中断時の状態に戻した後に残りのデータ
ブロックに対応した保護データの生成を再開することを
特徴とするデバイス制御装置。
【0146】D.請求項1記載のデバイス制御装置に於
いて、前記キャッシュメモリは、保護データ領域内の保
護データとバッファ領域内のブロックデータを管理する
ために、転送データの開始位置を示すスタートブロック
アドレス、転送が予定されるブロック数を示す転送ブロ
ックカウント、生成した保護データを格納する保護デー
タ先頭格納先アドレス、転送、中断、再開等のデータ転
送状態に応じて設定されるOPコード、保護データ生成
初期値を与えるシードから構成された保護データ管理テ
ーブルを有し、前記保護データ制御部は、転送開始時
に、前記テーブルの保護データ先頭格納先アドレスをキ
ャッシュアクセス先のアドレスデータにセットし、前記
テーブルのシードをシードレジスタにセットし、更に前
記テーブルの転送ブロックカウントを転送カウントにセ
ットし、データブロックの転送終了毎に、該データブロ
ック及び保護データをキャッシュメモリに格納した後
に、前記アドレスデータ及び転送カウントをインクリメ
ントすると共に前記テーブルのシードをシードレジスタ
にセットする処理を繰り返すことを特徴とするデバイス
制御装置。
【0147】E.請求項1記載のデバイス制御装置に於
いて、前記キャッシュメモリは、生成途中の保護データ
を管理するため、転送データの開始位置を示すブロック
アドレス、生成途中にある中間保護データを一時的に保
存するキャッシュの中間保護データ格納先アドレス、転
送、中断、再開等のデータ転送状態に応じて設定される
OPコード、使用中のシードをコピーするネクストシー
ド、データブロックの残りバイト数を示す転送済カウン
ト、転送が予定される残りブロック数を示す実行済ブロ
ックカウントから構成される中間保護データ管理テーブ
ルを有し、前記保護データ制御部は、ブロックデータの
ブロック境界で転送を中断した場合は、キャッシャ保護
データ領域をアクセスするアドレスデータを前記テーブ
ルの中間保護データ格納アドレスにコピーし、前記主制
御部の制御プログラムで設定したOPコードを前記テー
ブルのOPコードにコピーし、シードレジスタを前記テ
ーブルのネクストシードにコピーし、転送カウントを前
記テーブルの転送済カウントにコピーし、更にブロック
カウントレジスタを前記実行済ブロックカウントにコピ
ーし、前記中断した転送が再開した場合には、前記テー
ブルの中間保護データ格納アドレスをキャッシュ保護デ
ータ領域をアクセスするアドレスデータにセットし、前
記テーブルのネクストシードをシードレジスタにセット
し、前記テーブルの転送済ブロックカウントを転送カウ
ントにセットし、前記テーブルの実行済みブロックカウ
ントをブロックカウントレジスタにセットすることを特
徴とするデバイス制御装置。
【0148】F.特徴E記載のデバイス制御装置に於い
て、前記保護データ制御部は、データブロックの途中で
転送が中断した場合は、キャッシュ保護データ領域をア
クセスするアドレスデータをインクリメントすることな
く前記テーブルの中間保護データ格納アドレスにコピー
すると共に、生成途中の中間保護データを前記キャッシ
ュメモリの保護データ領域に書込み、中断した転送が再
開した場合には、前記キャッシュ保護データ領域から中
間保護データを読み出して中間シードレジスタにセット
した後に中間保護データの生成を再開することを特徴と
するデバイス制御装置。
【0149】G.請求項1記載のデバイス制御装置に於
いて、前記キャッシュメモリの内部を、キャッシュ管理
情報を格納するキャッシュ管理テーブル領域、上位装置
から内部バスを経由して転送されたユーザデータを一時
的に格納するバッファ領域、前記バッファ領域に格納さ
れているユーザデータの保護データを格納する保護デー
タ領域、前記デバイスから内部バス経由で転送されたデ
ータを格納するキャッシュ領域に分けて構成することを
特徴とするデバイス制御装置。
【0150】H.請求項1記載のデバイス制御装置に於
いて、前記保護データ制御部は、キャッシュメモリのバ
ッファ領域にユーザデータを格納する際に、ユーザデー
タの格納先アドレスと生成された保護データの格納先ア
ドレスを切り替えるセレクタを備えたことを特徴とする
デバイス制御装置。
【0151】I.請求項1記載のデバイス制御装置に於
いて、前記テバイスは、複数の磁気ディスク装置により
構成されたアレイディスク装置であることを特徴とする
デバイス装置。
【0152】J.請求項1記載のデバイス制御装置に於
いて、前記上位装置との間に、ファイバチャネルインタ
フェースを用いたパス切替用スイッチとして機能するフ
ァブリックを設けたことをことを特徴とするデバイス装
置。 (2)請求項15に付帯する特徴; A.請求項15記載のデバイス制御方法に於いて、制御
プログラムで設定される転送開始時のOPコードと転送
中のOPコードとを比較して相違を確認した際に転送中
断を検出し、転送中断後は、中断時のOPコードと中断
中のOPコードとを比較して相違を確認した際に転送再
開を検出することを特徴とするデバイス制御方法。
【0153】B.特徴A記載のデバイス制御方法に於い
て、データブロックの境界部分で転送が中断した場合
は、該データブロックと生成済みの保護データを前記キ
ャッシュメモリに書き込んで保存し、転送を再開した場
合には、前記キャッシュメモリから保護データ生成初期
値を読み出して次のデータブロックの保護データを生成
することを特徴とするデバイス制御方法。
【0154】C.請求項15記載のデバイス制御方法に
於いて、データブロックの途中で転送が中断した場合、
生成途中の保護データを前記キャッシュメモリに書き込
んで保存し、転送を再開した場合には、前記キャッシュ
メモリから生成途中の保護データを読み出して中断時の
状態に戻した後に残りのデータブロックに対応した保護
データの生成を再開することを特徴とするデバイス制御
方法。
【0155】D.請求項15記載のデバイス制御方法に
於いて、前記キャッシュメモリは、保護データ領域内の
保護データとバッファ領域内のブロックデータを管理す
るために、転送データの開始位置を示すスタートブロッ
クアドレス、転送が予定されるブロック数を示す転送ブ
ロックカウント、生成した保護データを格納する保護デ
ータ先頭格納先アドレス、転送、中断、再開等のデータ
転送状態に応じて設定されるOPコード、保護データ生
成初期値を与えるシードから構成された保護データ管理
テーブルを準備し、転送開始時に、前記テーブルの保護
データ先頭格納先アドレスをキャッシュアクセス先のア
ドレスデータにセットし、前記テーブルのシードをシー
ドレジスタにセットし、更に前記テーブルの転送ブロッ
クカウントを転送カウントにセットし、データブロック
の転送終了毎に、該データブロック及び保護データをキ
ャッシュメモリに格納した後に、前記アドレスデータ及
び転送カウントをインクリメントすると共に前記テーブ
ルのシードをシードレジスタにセットする処理を繰り返
すことを特徴とするデバイス制御方法。
【0156】E.請求項15記載のデバイス制御方法に
於いて、前記キャッシュメモリは、生成途中の保護デー
タを管理するため、転送データの開始位置を示すブロッ
クアドレス、生成途中にある中間保護データを一時的に
保存するキャッシュの中間保護データ格納先アドレス、
転送、中断、再開等のデータ転送状態に応じて設定され
るOPコード、使用中のシードをコピーするネクストシ
ード、データブロックの残りバイト数を示す転送済カウ
ント、転送が予定される残りブロック数を示す実行済ブ
ロックカウントから構成される中間保護データ管理テー
ブルを準備し、ブロックデータのブロック境界で転送が
中断した場合は、キャッシャ保護データ領域をアクセス
するアドレスデータを前記テーブルの中間保護データ格
納アドレスにコピーし、前記主制御部の制御プログラム
で設定したOPコードを前記テーブルのOPコードにコ
ピーし、シードレジスタを前記テーブルのネクストシー
ドにコピーし、転送カウントを前記テーブルの転送済カ
ウントにコピーし、更にブロックカウントレジスタを前
記実行済ブロックカウントにコピーし、前記中断した転
送が再開した場合には、前記テーブルの中間保護データ
格納アドレスをキャッシュ保護データ領域をアクセスす
るアドレスデータにセットし、前記テーブルのネクスト
シードをシードレジスタにセットし、前記テーブルの転
送済ブロックカウントを転送カウントにセットし、前記
テーブルの実行済みブロックカウントをブロックカウン
トレジスタにセットすることを特徴とするデバイス制御
方法。
【0157】F.特徴E記載のデバイス制御方法に於い
て、データブロックの途中で転送が中断した場合は、キ
ャッシュ保護データ領域をアクセスするアドレスデータ
をインクリメントすることなく前記テーブルの中間保護
データ格納アドレスにコピーすると共に、生成途中の中
間保護データを前記キャッシュメモリの保護データ領域
に書込み、中断した転送が再開した場合には、前記キャ
ッシュ保護データ領域から中間保護データを読み出して
中間シードレジスタにセットした後に中間保護データの
生成を再開することを特徴とするデバイス制御方法。
【図面の簡単な説明】
【図1】本発明の原理説明図
【図2】本発明のデバイス制御装置が適用された入出力
システムのブロック図
【図3】図2のファブリックスにおける転送フレームの
フォーマット説明図
【図4】図2のアレイディスク制御装置のブロック図
【図5】図4のキャッシュ制御装置に設けた保護データ
制御機能のブロック図
【図6】図4でホストインタフェース制御部からのデー
タブロックから生成して付加する保護データのフォーマ
ット説明図
【図7】図4の保護データ管理テーブルの説明図
【図8】図4の中間保護データ管理テーブルの説明図
【図9】本発明によるキャッシュライト動作のフローチ
ャート
【図10】図9における中断処理の詳細のフローチャー
【図11】本発明におけるキャッシュリード動作のフロ
ーチャート
【符号の説明】
10,10−1〜10−4:ホスト(上位装置) 12:ファブリック 14−1〜14−3:サブシステム 16−1〜16−3:チャネルコントローラ 18−1〜18−3:RAIDコントローラ(デバイス
制御装置) 20:デバイス装置 20−1〜20−3:アレイディスク装置 22,24:ファイバチャネルインタフェース(FC
I/F) 26:内部インタフェース 28:ディスクインタフェース 30:FC転送フレーム 32:MPU(主制御部) 34:メインメモリ 35:メインプロクラム(制御プログラム) 36:ホストインタフェース制御部 38:デバイスインタフェース制御部 40:キャッシュ制御部 42:キャッシュメモリ 44:キャッシュ管理テーブル 45:保護データ管理テーブル 46:中間保護データ管理テーブル 48:キャッシュ管理テーブル領域 50:バッファ領域 52:保護データ領域 54:キャッシュ領域 55:内部バス 56:FIFOバッファ 58,60:ドライバ 62:保護データ制御部 64:アドレス設定部 66:OPコード処理部 70:ブロックサイズ指定部 72:シードレジスタ 74:中間シードレジスタ 76:保護データ生成比較部 78:転送カウント(バイトカウント) 80:保護データ格納レジスタ 82:ブロックカウントレジスタ 84,86,88:アドレスポインタ 90:セレクタ 92:OPコードデコーダ 94:OPコード比較器 96:ホスト転送データ 98−1〜98−n:データブロック 100:ユーザデータ 102:保護データ 104:スタートブロックアドレス 106:転送ブロックカウント 108:保護データ格納先アドレス(先頭) 110:第1オペコード(転送開始OPコード) 112:シード 114:ブロックアドレス 116:中間保護データ格納アドレス 118:第2オペコード(転送中断OPコード) 120:ネクストシード 122:転送済カウント(バイトカウント) 124:実行済みブロックカウント
【手続補正書】
【提出日】平成12年1月21日(2000.1.2
1)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0008
【補正方法】変更
【補正内容】
【0008】本発明は、データブロックの転送に中断が
起きても、データブロックの転送と保護データの生成を
同時に可能としてアクセス性能を高めるようにした
イス制御装置及び制御方法を提供することを目的とす
る。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0021
【補正方法】変更
【補正内容】
【0021】この場合、保護データ制御部62は、ブロ
ックデータのブロック境界で転送が中断した場合は、キ
ャッシ保護データ領域52をアクセスするアドレスデ
ータをテーブルの中間保護データ格納アドレスにコピー
し、主制御部32の制御プログラム35で設定したOP
コードをテーブルのOPコードにコピーし、シードレジ
スタをテーブルのネクストシードにコピーし、転送カウ
ントをテーブルの転送済カウントにコピーし、更にブロ
ックカウントレジスタを実行済ブロックカウントにコピ
ーする。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0030
【補正方法】変更
【補正内容】
【0030】また本発明のデバイス制御装置で使用する
バイスは、複数の磁気ディスク装置により構成された
アレイディスク装置である。更に、本発明のデバイス制
御装置は、上位装置との間に、ファイバチャネルインタ
フェースを用いたパス切替用スイッチとして機能するフ
ァブリックを設けたシステムを対象とする。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0044
【補正方法】変更
【補正内容】
【0044】(1)FC−PH Fiber Channel Physic
al Interface ファイバチャネル物理インタフェース 規格:ANSI#X3.230−1994(Rev.
4.3)(2) FC−FG Fiber Channel Fabric Generic Req
uirements ファイバチャネル・ファブリックに関する一般的要求事
項 規格:ANSI#X3.289−1996(Rev.
3.5) 図2のファブリック12としては、McDATA社(マ
クデータ社)の製造する製品番号ES−2500または
ED−5000が使用できる。またファブリック12対
応のFCプロトコルチップとしては、QLogic社の
製造する製品番号QLA−2200またはQLA−22
00Fが使用できる。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0046
【補正方法】変更
【補正内容】
【0046】各フレームは先頭フレームについて下側に
取り出して示すように、4バイトのスタートフレーム境
界SOF、24バイトのヘッダ、0〜2112バイトの
範囲の値をとるデータフィールド、4バイトのCRC
(サイクリック・リダンダンシ・チェック)、4バイト
のフレーム終了境界で構成される。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0054
【補正方法】変更
【補正内容】
【0054】キャッシュメモリ42の内部は、格納デー
タの管理情報を格納するキャッシュ管理テーブル領域4
8、ホストから内部バス55を経由して転送されたユー
ザデータを一時的に格納するバッファ領域50、バッフ
ァ領域50に格納されているデータの保護データを格納
する保護データ領域52、及びアレイディスク装置20
−1から内部バス55を経由して転送された保護データ
付きのユーザデータを格納するキャッシュ領域54に分
けて構成されている。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0055
【補正方法】変更
【補正内容】
【0055】このうちキャッシュ管理テーブル領域48
には、バッファ領域50及びキャッシュ領域54のユー
ザデータを管理するキャッシュ管理テーブル44、保護
データ領域52内にある保護データとバッファ領域50
内にあるユーザデータの管理を行う保護データ管理テー
ブル45、更にユーザデータの転送が中断されたときの
状態を記録するための中間保護データ管理テーブル46
を設けている。
【手続補正8】
【補正対象書類名】明細書
【補正対象項目名】0066
【補正方法】変更
【補正内容】
【0066】図5において、内部バス55からのユーザ
データはFIFOバッファ56に例えばバイト単位に格
納された後、ドライバ58を介してキャッシュメモリ4
2側に送られる。同時に、このユーザデータはドライバ
60を介して保護データ制御部62に与えられる。また
キャッシュメモリ42からのデータはドライバ60を通
って内部バス55に送り出され、この場合にも保護デー
タ制御部62に与えられる。
【手続補正9】
【補正対象書類名】明細書
【補正対象項目名】0070
【補正方法】変更
【補正内容】
【0070】転送カウント78には、保護データの生成
単位となるユーザデータのデータブロックのサイズがセ
ットされ、データブロックのバイト転送で順次減算さ
れ、データブロックの転送終了で0となる。この転送カ
ウント78にセットするブロックサイズのセットはブロ
ックサイズ指定部70で行われ、ここにユーザデータの
ブロックサイズ例えば512バイトがセットされる。
【手続補正10】
【補正対象書類名】明細書
【補正対象項目名】0073
【補正方法】変更
【補正内容】
【0073】ここで第1先頭アドレスデータaは図4の
キャッシュ領域54のアドレスを指定し、第2先頭アド
レスデータbは保護データ領域52のアドレスを指定
し、更に第3先頭アドレスデータcはバッファ領域5
のアドレスを指定する。
【手続補正11】
【補正対象書類名】明細書
【補正対象項目名】0077
【補正方法】変更
【補正内容】
【0077】OPコード処理部66は、OPコードデコ
ーダ92及びOPコード比較部94を備える。このOP
コード処理部66は、ユーザデータの転送開始、中断、
再開を、ホストインタフェース制御部36でデータ転送
状態に応じて得られたアドレス情報から生成したOPコ
ードと、MPU32で実行されるメインプログラム35
により設定されている保護データ管理テーブル45また
は中間保護データ管理テーブル46に格納しているテー
ブルOPコードと比較して一致したときに、転送開始、
転送中断、転送再開を検出して、保護データ制御部62
による保護データの生成、中断に伴う保存、再開に伴う
復元と保護データの生成を実行させる。
【手続補正12】
【補正対象書類名】明細書
【補正対象項目名】0081
【補正方法】変更
【補正内容】
【0081】図7は、図4のキャッシュ管理テーブル領
域48に格納されている保護データ管理テーブル45の
説明図である。この保護データ管理テーブル45は、転
送データのスタートブロックアドレスを示すスタートブ
ロックアドレス104、転送が予定されるブロック数を
示す転送ブロックカウン106、保護データの保護デ
ータ領域52の書込先アドレスを示す保護データ格納先
アドレス(先頭)108、保護データの初期値を示すシ
ード112、更にこれらの設定値を1つのまとまりとす
る第1OPコード110から構成されている。
【手続補正13】
【補正対象書類名】明細書
【補正対象項目名】0082
【補正方法】変更
【補正内容】
【0082】図8は、図4のキャッシュ管理テーブル領
域48に設けている中間保護データ管理テーブル46の
説明図である。この中間保護データ管理テーブル46
は、転送中断を起こしたブロックアドレスを示すブロッ
クアドレス114、転送中断時の保護データの保護デー
タ領域52内の格納位置を示す中間保護データ格納アド
レス116、データブロックの転送ごとにインクリメン
トされている転送中断時の中間シード値を示すネクスト
シード120、転送中断時の残りバイト数を示す転送済
みカウント122、転送中断時の残りブロック数を示す
実行済みブロックカウント124、更に転送中断時の各
設定値を1つのまとまりとする第2OPコード118か
ら構成されている。 2.キャッシュメモリへのライト動作 まず図5の保護データ制御部62について、ホストイン
タフェース制御部36よりユーザデータが転送中断を起
こすことなく正常に送られた場合のキャッシュメモリ4
0に対するライト動作を説明する。
【手続補正14】
【補正対象書類名】明細書
【補正対象項目名】0087
【補正方法】変更
【補正内容】
【0087】これに対し保護データ管理テーブル45か
ら該当する第1OPコード110を検出した場合には、
保護データ管理テーブル45から該当する第1OPコー
ド110によってまとめられている保護データ格納先ア
ドレス108,シード112を読み出し、それぞれアド
レスポインタ86に対する第2先頭アドレス及びシード
レジスタ72に順次セットする。
【手続補正15】
【補正対象書類名】明細書
【補正対象項目名】0088
【補正方法】変更
【補正内容】
【0088】またブロックサイズ指定部70で指定され
ているブロックサイズ、例えば512バイトを転送カウ
ント78にコピーする。更にホストインタフェース制御
部36から送られたアドレス情報をアドレスポインタ8
8の第3先頭アドレスデータにセットする。
【手続補正16】
【補正対象書類名】明細書
【補正対象項目名】0089
【補正方法】変更
【補正内容】
【0089】アドレスポインタ86,88は、データブ
ロックの転送ごとにインクリメントした第2アドレスデ
タ,第3アドレスデータをセレクタ90に出力する。
最初のブロック転送においてセレクタ90は、アドレス
ポインタ88からの第3アドレスデータを選択して、先
頭のブロックデータを格納するバッファ領域50のアド
レスを指定している。
【手続補正17】
【補正対象書類名】明細書
【補正対象項目名】0090
【補正方法】変更
【補正内容】
【0090】次にホストインタフェース制御部36より
アドレス情報に続いてデータが転送されると、保護デー
タ制御部62はバイトデータを受信するごとに転送カウ
78を減算してデータ転送量をカウントする。また
保護データ生成比較部76は、シードレジスタ72にリ
セットしたシードを初期値として、ドライバ60により
入力されるキャッシュ制御部40を通過するデータブロ
ックのバイトデータ単位に中間保護データの生成を実行
する。
【手続補正18】
【補正対象書類名】明細書
【補正対象項目名】0091
【補正方法】変更
【補正内容】
【0091】このようなデータブロックのバイト単位の
転送によるキャッシュ書込みで転送カウント78が0に
なると、512バイトの1データブロックの転送が終了
したこととなり、セレクタ90はキャッシュメモリ40
へのアドレスをアドレスポインタ86からのアドレスデ
タに切り替える。
【手続補正19】
【補正対象書類名】明細書
【補正対象項目名】0092
【補正方法】変更
【補正内容】
【0092】このとき保護データ生成比較部76では、
1データブロック分の保護データの生成が完了してお
り、セレクタ90で選択された第2アドレスデータに
るキャッシュメモリ42の保護データ領域52の中のア
ドレス位置に保護データが書き込まれる。
【手続補正20】
【補正対象書類名】明細書
【補正対象項目名】0093
【補正方法】変更
【補正内容】
【0093】セレクタ90は、保護データの書込みが完
了すると再びアドレスポインタ88からの第3アドレス
データへの切替えを行い、このときアドレスポインタ8
8は1つインクリメントした第3アドレスデータを出力
していることから、次のデータブロックのバッファ領域
50の書込アドレスが指定される。
【手続補正21】
【補正対象書類名】明細書
【補正対象項目名】0098
【補正方法】変更
【補正内容】
【0098】この場合には、保護データ制御部62の転
送カウント78、ブロックカウントレジスタ82、アド
レスポインタ86からの第2アドレスデータB、シード
レジスタ78の各設定値を、図8の中間保護データ管理
テーブル46における転送済みカウント122、実行済
みブロックカウント124、中間保護データ格納アドレ
ス116及びネクストシード120にそれぞれコピーす
る。
【手続補正22】
【補正対象書類名】明細書
【補正対象項目名】0099
【補正方法】変更
【補正内容】
【0099】一方、転送カウント78が0でない場合に
は、データブロックの途中でデータ転送が中断されたと
判断する。このときには保護データ生成比較部76で生
成されているその時点までの中間保護データを第2アド
レスデータで指定されるキャッシュメモリ42の保護デ
ータ領域52に一時的に書き込む。この場合、アドレス
ポインタ86による第2アドレスデータのインクリメン
トは行わない。
【手続補正23】
【補正対象書類名】明細書
【補正対象項目名】0100
【補正方法】変更
【補正内容】
【0100】そして保護データ制御部62における転送
カウント78、ブロックカウントレジスタ82、アドレ
スポインタ86からのインクリメントしていない第2ア
ドレスデータ、シードレジスタ72の各設定値を図8の
中間保護データ管理テーブル46における転送済みカウ
ント122、実行済みブロックカウント124、中間保
護データ格納先アドレス116及びネクストシード12
0にそれぞれコピーする。そして、これらのコピーされ
た各設定値は第2OPコード118により1つのまとま
りとされている。
【手続補正24】
【補正対象書類名】明細書
【補正対象項目名】0102
【補正方法】変更
【補正内容】
【0102】次に、中断されていたデータ転送が再開さ
れると、MPU32で実行されているメインプログラム
35により図8の中間保護データ管理テーブル46の該
当するテーブル位置の第2OPコード118に転送再開
を示すOPコードが設定される。
【手続補正25】
【補正対象書類名】明細書
【補正対象項目名】0105
【補正方法】変更
【補正内容】
【0105】即ち、図8の中間保護データ管理テーブル
46の第2OPコード118に該当する中間保護データ
納アドレス116、転送済みカウント122、実行済
みブロックカウント124、ネクストシード120を読
み出し、図5の保護データ制御部62におけるアドレス
ポインタ86に対する第2先頭アドレスb、転送カウン
ト78、ブロックカウントレジスタ82及びシードレジ
スタ72のそれぞれにコピーする。
【手続補正26】
【補正対象書類名】明細書
【補正対象項目名】0110
【補正方法】変更
【補正内容】
【0110】ステップS3でテーブルOPコードが検出
できなければ、ステップS14でMPU32にエラー通
知を行う。このように保護データ制御部62に対する保
護データ管理テーブル45からの設定値のセットが済む
と、ステップS5でOPコードの変化の有無をチェック
した後、ステップS6でホストからのデータブロックを
バイト単位に受信し、ステップS7で転送カウント78
を減算し、並行してシードレジスタ72の保護データを
初期値として保護データ生成比較部76で中間保護デー
タを生成する。
【手続補正27】
【補正対象書類名】明細書
【補正対象項目名】0111
【補正方法】変更
【補正内容】
【0111】ステップS8では転送カウント78が0と
なるか否かでデータブロックの転送終了をチェックして
いる。転送カウント78が0となってデータブロックの
転送が終了すると、ステップS9でブロックカウントレ
ジスタ82及びシードレジスタ72を1つインクリメン
トし、更に転送カウント70をブロックサイズ指定部7
8のブロックサイズ例えば512バイトにリセットす
る。
【手続補正28】
【補正対象書類名】明細書
【補正対象項目名】0112
【補正方法】変更
【補正内容】
【0112】次にステップS10でセレクタ90をアド
レスポインタ86の第2アドレスデータに切り替え、キ
ャッシュメモリ42の保護データ領域52に生成した保
護データを書き込む。尚、データブロックについては、
ステップS5〜S8における保護データの生成と並行し
て、セレクタ90によるアドレスポインタ88からの第
3アドレスデータの選択でキャッシュメモリ82のバッ
ファ領域50が指定されて既に書込みが終了している。
【手続補正29】
【補正対象書類名】明細書
【補正対象項目名】0113
【補正方法】変更
【補正内容】
【0113】続いてステップS11でブロックカウント
レジスタ82と保護データ管理テーブル45の転送ブロ
ックカウント106を比較し、ステップS13で不一致
であれば再びステップS5に戻り、次のデータブロック
の処理を行う。一致すれば、そのユーザデータの全デー
タブロックの処理が済んだことから、ステップS13
進み、保護データ管理テーブル45のOPコードを転送
完了を示す例えば全て0の状態に内容変更して、キャッ
シュライト動作を終了する。
【手続補正30】
【補正対象書類名】明細書
【補正対象項目名】0114
【補正方法】変更
【補正内容】
【0114】ユーザデータのキャッシュライト中にステ
ップS5では、転送中断によるOPコードの変化をチェ
ックしており、OPコードの変化を検出すると、ステッ
S15の中断処理を行う。この中断処理は、図10に
サブルーチンのフローチャートとして示される。
【手続補正31】
【補正対象書類名】明細書
【補正対象項目名】0115
【補正方法】変更
【補正内容】
【0115】図10の中断処理にあっては、ステップS
1で転送がデータブロックの境界で中断したか否かチェ
ックする。具体的には、保護データ制御部62の転送カ
ウント78が0でブロックカウントレジスタ82とテー
ブルの転送ブロックカウント106が不一致であれば、
データブロック境界で転送が中断したと判断してステッ
プS3に進む。
【手続補正32】
【補正対象書類名】明細書
【補正対象項目名】0116
【補正方法】変更
【補正内容】
【0116】この条件を満たしていない場合にはデータ
ブロックの途中で中断したと判断して、ステップS2で
生成途中の中間保護データをキャッシュメモリ42の保
護データ領域52に書き込む。この場合、保護データ領
域の書込値を指定している第2アドレスデータのアドレ
スポインタ86によるインクリメントは行わない。
【手続補正33】
【補正対象書類名】明細書
【補正対象項目名】0121
【補正方法】変更
【補正内容】
【0121】この場合、保護データ制御部62は、デバ
イスインタフェース制御部38から内部バス55を経由
して送られてきた転送データについて、各データブロッ
クの書込みと同時に保護データを生成し、この転送に伴
って生成した保護データとデータブロックの末尾に付加
されている保護データとを比較し、転送データブロック
から生成した保護データと転送データブロックに付加さ
れた保護データとが一致したときに正常なデータ書込み
ができたものと判断して正常終了し、不一致の場合はM
PU32にエラー通知を行う。 5.バッファ領域からホスト側へのリード動作 図4において、ホストインタフェース制御部36からキ
ャッシュ制御部40に対し、バッファ領域50に格納さ
れているユーザデータのリード要求が行われたとする。
このホストインタフェース制御部36からのリード要求
は、データブロックの転送が中断されているブロックア
ドレスは含まないものとする。
【手続補正34】
【補正対象書類名】明細書
【補正対象項目名】0124
【補正方法】変更
【補正内容】
【0124】このデータブロックの読出中のバイト転送
に伴って転送カウン78が減算され、転送カウント7
8が0になると、データブロックの転送完了を認識して
セレクタ90はアドレスポインタ86からの第2アドレ
スデータBに切り替えて、キャッシュメモリ42の保護
データ領域52の中のアドレスを指定して保護データの
読出しを行う。
【手続補正35】
【補正対象書類名】明細書
【補正対象項目名】0130
【補正方法】変更
【補正内容】
【0130】1バイト分の読出転送が行われると、ステ
ップS6で転送カウント78を減算する。そしてステッ
プS7で転送カウント78が0に達したか否かチェック
しており、0に達するとデータブロックの転送終了と判
断し、ステップS8で第2アドレスデータに切り替え、
キャッシュメモリ42の保護データ領域52から保護デ
ータを読み出す。
【手続補正36】
【補正対象書類名】明細書
【補正対象項目名】0132
【補正方法】変更
【補正内容】
【0132】ステップS11でホストに対しデータブロ
ックのみのリード転送が済むと、ステップS12でブロ
ックカウントレジスタ82と保護データ管理テーブル4
5の転送ブロックカウント106を比較し、一致するま
でステップS5からの処理を繰り返す。
【手続補正37】
【補正対象書類名】明細書
【補正対象項目名】0133
【補正方法】変更
【補正内容】
【0133】ステップS3でブロックカウントレジスタ
82と保護データ管理テーブル45の転送ブロックカウ
ント106が一致すると、データブロックの全ての転送
が終了したものと判断し、ステップS14で保護データ
管理テーブル45の第1OPコードを転送完了を示す例
えば全て0の内容に変更して一連の処理を終了する .キャッシュバッファ領域からデバイス側へのリード
動作 図4において、キャッシュメモリ42のバッファ領域5
0に格納されているユーザデータのデバイスインタフェ
ース制御部38を経由したアレイディスク装置20−1
への書込みのためのリード動作は、基本的にはホストイ
ンタフェース制御部36に対するリード動作と同じであ
る。
【手続補正38】
【補正対象書類名】明細書
【補正対象項目名】0136
【補正方法】変更
【補正内容】
【0136】尚、上記の実施形態はディスク制御装置と
してRAIDコントローラ18−1〜18−3及びデバ
イス装置としてアレイディスク装置20−1〜20−3
を例にとるものであったが、アレイ構成をとらず通常の
磁気ディスク装置を複数設けた場合についてもそのまま
適用できる。
【0137】またキャッシュ制御部40の保護データ制
御部62としてハードウェアで構成した場合を例にとっ
ているが、必要に応じてソフトウェアで実現しても良い
し、DSP等で実現しても良い。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 12/16 310 G06F 12/16 310M 340 340Q Fターム(参考) 5B005 JJ11 KK12 LL11 MM11 NN11 VV13 WW02 5B018 GA01 GA06 KA02 KA03 KA22 MA03 QA15 RA11 5B065 BA01 CA30 CE02 CE12 CH02 EA03

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】上位装置との通信を制御するホストインタ
    フェース制御部、デバイスとの通信を制御するデバイス
    インタフェース制御部、ユーザデータ及び管理テーブル
    を格納したキャッシュメモリ、前記キャッシュメモリを
    制御するキャッシュ制御部、及びメインメモリに格納し
    た制御プログラムの実行により前記各制御部を制御する
    主制御部を備えたデバイス制御装置に於いて、 前記キャッシュ制御部に、上位装置からのユーザデータ
    を前記キャッシュメモリに書込むライト動作時に、前記
    ユーザデータに保護データを生成して前記キャッシュメ
    モリ書込み、前記ユーザデータの転送の中断を検出した
    時は、中断時の保護データの生成状態を前記キャッシュ
    メモリに保存し、前記ユーザデータの転送再開を検出し
    た時には、前記キャッシュメモリに保存した中断時の保
    護データの生成状態に戻して保護データの生成を再開す
    る保護データ制御部を設けたことを特徴とするデバイス
    制御装置。
  2. 【請求項2】請求項1記載のデバイス制御装置に於い
    て、前記保護データ制御部は、前記主制御部の制御プロ
    グラムによって設定されるシードレジスタのシード値を
    初期値として、前記データブロックから保護データを生
    成することを特徴とするデバイス制御装置。
  3. 【請求項3】請求項1記載のデバイス制御装置に於い
    て、前記保護データ制御部は、前記キャッシュメモリか
    ら上位装置にユーザデータを読出転送するリード動作時
    に、前記キャッシュメモリから読出したユーザデータか
    ら保護データを生成しながら同時にキュッシュメモリか
    ら読出した保護データとの比較して正当な場合に上位装
    置に転送することを特徴とするデバイス制御装置。
  4. 【請求項4】上位装置とデバイス装置との間の入出力を
    キャッシュメモリを介して制御するデバイス制御方法に
    於いて、 上位装置からのユーザデータを前記キャッシュメモリに
    書込むライト動作時に、前記ユーザデータに保護データ
    を生成して前記キャッシュメモリ書込み、 前記ユーザデータの転送の中断を検出した時は、中断時
    の保護データの生成状態を前記キャッシュメモリに保存
    し、 前記ユーザデータの転送再開を検出した時には、前記キ
    ャッシュメモリに保存した中断時の保護データの生成状
    態に戻して保護データの生成を再開することを特徴とす
    るデバイス制御方法。
JP11208914A 1999-07-23 1999-07-23 デバイス制御装置及び制御方法 Pending JP2001034427A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP11208914A JP2001034427A (ja) 1999-07-23 1999-07-23 デバイス制御装置及び制御方法
US09/488,012 US6606715B1 (en) 1999-07-23 2000-01-20 Device control apparatus and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11208914A JP2001034427A (ja) 1999-07-23 1999-07-23 デバイス制御装置及び制御方法

Publications (1)

Publication Number Publication Date
JP2001034427A true JP2001034427A (ja) 2001-02-09

Family

ID=16564219

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11208914A Pending JP2001034427A (ja) 1999-07-23 1999-07-23 デバイス制御装置及び制御方法

Country Status (2)

Country Link
US (1) US6606715B1 (ja)
JP (1) JP2001034427A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006517699A (ja) * 2003-01-13 2006-07-27 シエラ・ロジック、インコーポレイテッド 高可用性大容量ストレージデバイスシェルフ
US7577894B2 (en) 2004-03-04 2009-08-18 Fujitsu Limited Apparatus and method for judging the legitimacy of transfer data
WO2014128967A1 (ja) * 2013-02-25 2014-08-28 株式会社日立製作所 記憶制御装置、及びデータの書き込み完了を検知する方法

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3812928B2 (ja) * 1999-07-14 2006-08-23 株式会社日立製作所 外部記憶装置及び情報処理システム
JP3443093B2 (ja) * 2000-12-27 2003-09-02 株式会社東芝 ディジタル記録再生装置
US7353513B2 (en) * 2002-02-20 2008-04-01 Agere Systems Inc. Method and apparatus for establishing a bound on the effect of task interference in a cache memory
US7117305B1 (en) * 2002-06-26 2006-10-03 Emc Corporation Data storage system having cache memory manager
JP4483168B2 (ja) * 2002-10-23 2010-06-16 株式会社日立製作所 ディスクアレイ制御装置
US7739451B1 (en) * 2002-12-27 2010-06-15 Unisys Corporation Method and apparatus for stacked address, bus to memory data transfer
JP4508608B2 (ja) * 2003-11-13 2010-07-21 株式会社日立製作所 統合キャッシュを備えた記憶装置アダプタ
JP4426261B2 (ja) * 2003-11-25 2010-03-03 株式会社日立製作所 チャネルアダプタ及びディスクアレイ装置
JP4401788B2 (ja) * 2004-01-06 2010-01-20 株式会社日立製作所 ストレージ制御装置
JP4394533B2 (ja) * 2004-07-28 2010-01-06 株式会社日立製作所 ディスクアレイシステム
JP4340616B2 (ja) * 2004-10-04 2009-10-07 富士通株式会社 ディスクアレイ装置
US8918674B2 (en) * 2010-01-28 2014-12-23 Cleversafe, Inc. Directory file system in a dispersed storage network
US8918559B2 (en) * 2011-06-06 2014-12-23 International Business Machines Corporation Partitioning of a variable length scatter gather list
US10649807B1 (en) * 2018-10-24 2020-05-12 EMC IP Holding Company LLC Method to check file data integrity and report inconsistencies with bulk data movement

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03126124A (ja) * 1989-10-11 1991-05-29 Nec Corp ディスクサブシステム
JPH05224833A (ja) * 1992-02-10 1993-09-03 Fujitsu Ltd 外部記憶装置のデータ保証方法
JPH06502267A (ja) * 1990-11-09 1994-03-10 シーゲイト テクノロジー エルエルシー 多重マイクロコントローラのハード・ディスク・ドライブを制御するアーキテクチャ
JPH06119126A (ja) * 1992-10-08 1994-04-28 Fujitsu Ltd ディスクアレイ装置
JPH06242887A (ja) * 1991-10-01 1994-09-02 Tandem Comput Inc アレイ記憶線形・直交拡張型マルチプロセシングコンピュータシステム
JPH09282105A (ja) * 1996-04-09 1997-10-31 Hitachi Ltd ディスク記憶システム及びその誤り訂正データ作成処理の回復方法
JPH1074129A (ja) * 1996-08-30 1998-03-17 Hitachi Ltd ディスクアレイ装置
JPH10254646A (ja) * 1997-03-14 1998-09-25 Hitachi Ltd 可搬記録メディアのバックアップの方法
JPH10333839A (ja) * 1997-05-29 1998-12-18 Hitachi Ltd ファイバチャネル接続記憶制御装置
WO1999026137A1 (en) * 1997-11-17 1999-05-27 Seagate Technology, Inc. Method and apparatus for using crc for data integrity in on-chip memory
JPH11143649A (ja) * 1997-11-04 1999-05-28 Fujitsu Ltd ディスクアレイ装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2913917B2 (ja) * 1991-08-20 1999-06-28 株式会社日立製作所 記憶装置および記憶装置システム
US5485047A (en) 1992-01-27 1996-01-16 Kabushikigaisha Sekogiken Reluctance-type motor and a rotor for a reluctance-type high-speed motor
JPH05324206A (ja) 1992-05-21 1993-12-07 Fujitsu Ltd ディスクアレイ装置
WO1993023803A1 (fr) * 1992-05-21 1993-11-25 Fujitsu Limited Appareil de commande pour pile de disques
JP3122252B2 (ja) 1992-10-08 2001-01-09 富士通株式会社 ディスクアレイ制御方式
JP3249868B2 (ja) * 1993-11-19 2002-01-21 株式会社日立製作所 アレイ形式の記憶装置システム
US6067635A (en) * 1995-10-27 2000-05-23 Lsi Logic Corporation Preservation of data integrity in a raid storage device
JPH11203056A (ja) * 1998-01-19 1999-07-30 Fujitsu Ltd 入出力制御装置及びアレイディスク装置
US6148414A (en) * 1998-09-24 2000-11-14 Seek Systems, Inc. Methods and systems for implementing shared disk array management functions
US6401170B1 (en) * 1999-08-18 2002-06-04 Digi-Data Corporation RAID systems during non-fault and faulty conditions on a fiber channel arbitrated loop, SCSI bus or switch fabric configuration

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03126124A (ja) * 1989-10-11 1991-05-29 Nec Corp ディスクサブシステム
JPH06502267A (ja) * 1990-11-09 1994-03-10 シーゲイト テクノロジー エルエルシー 多重マイクロコントローラのハード・ディスク・ドライブを制御するアーキテクチャ
JPH06242887A (ja) * 1991-10-01 1994-09-02 Tandem Comput Inc アレイ記憶線形・直交拡張型マルチプロセシングコンピュータシステム
JPH05224833A (ja) * 1992-02-10 1993-09-03 Fujitsu Ltd 外部記憶装置のデータ保証方法
JPH06119126A (ja) * 1992-10-08 1994-04-28 Fujitsu Ltd ディスクアレイ装置
JPH09282105A (ja) * 1996-04-09 1997-10-31 Hitachi Ltd ディスク記憶システム及びその誤り訂正データ作成処理の回復方法
JPH1074129A (ja) * 1996-08-30 1998-03-17 Hitachi Ltd ディスクアレイ装置
JPH10254646A (ja) * 1997-03-14 1998-09-25 Hitachi Ltd 可搬記録メディアのバックアップの方法
JPH10333839A (ja) * 1997-05-29 1998-12-18 Hitachi Ltd ファイバチャネル接続記憶制御装置
JPH11143649A (ja) * 1997-11-04 1999-05-28 Fujitsu Ltd ディスクアレイ装置
WO1999026137A1 (en) * 1997-11-17 1999-05-27 Seagate Technology, Inc. Method and apparatus for using crc for data integrity in on-chip memory
JP2001523856A (ja) * 1997-11-17 2001-11-27 シーゲイト テクノロジー エルエルシー オンチップメモリにおけるデータ健全性のためのcrcを用いる方法および装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
野沢 哲生: "ファイバ・チャネル:サーバー入出力で本領発揮、高速ネットワークの選択肢にも", 日経コミュニケーション, vol. 第279号, CSND199801850008, 5 October 1998 (1998-10-05), JP, pages 106 - 113, ISSN: 0000727123 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006517699A (ja) * 2003-01-13 2006-07-27 シエラ・ロジック、インコーポレイテッド 高可用性大容量ストレージデバイスシェルフ
JP4690202B2 (ja) * 2003-01-13 2011-06-01 エミュレックス デザイン アンド マニュファクチュアリング コーポレーション 高可用性大容量ストレージデバイスシェルフ
US7577894B2 (en) 2004-03-04 2009-08-18 Fujitsu Limited Apparatus and method for judging the legitimacy of transfer data
WO2014128967A1 (ja) * 2013-02-25 2014-08-28 株式会社日立製作所 記憶制御装置、及びデータの書き込み完了を検知する方法
US8949537B2 (en) 2013-02-25 2015-02-03 Hitachi, Ltd. Storage control apparatus and method for detecting write completion of data

Also Published As

Publication number Publication date
US6606715B1 (en) 2003-08-12

Similar Documents

Publication Publication Date Title
JP2001034427A (ja) デバイス制御装置及び制御方法
CN100555257C (zh) 处理页面复制期间的dma操作的存储控制器和方法
JP4505608B2 (ja) 工業用制御装置を冗長制御装置と同期化するための方法および装置
US7603533B1 (en) System and method for data protection on a storage medium
US5659798A (en) Method and system for initiating and loading DMA controller registers by using user-level programs
JP5181141B2 (ja) 入出力処理システムにおいて間接データ・アドレッシングを提供するための装置、並びにその方法およびコンピュータ・プログラム
US9063561B2 (en) Direct memory access for loopback transfers in a media controller architecture
Blumrich et al. Protected, user-level DMA for the SHRIMP network interface
KR100341180B1 (ko) 가상어드레싱버퍼회로,및어드레스번역방법,시스템bios의셰도잉방법,실제메모리최적화방법,실제메모리이용방법,cpu제어시스템에서의에뮬레이팅방법및cpu요청리디렉트방법
US6735636B1 (en) Device, system, and method of intelligently splitting information in an I/O system
JP3992479B2 (ja) 大容量記憶装置により提供される、制御装置lunを介したlunへのアクセスを安全にするシステム
JP2846837B2 (ja) 障害を早期検出するためのソフトウェア制御方式のデータ処理方法
US6230259B1 (en) Transparent extended state save
US20030212854A1 (en) Computer system
US20100005531A1 (en) Isolated multiplexed multi-dimensional processing in a virtual processing space having virus, spyware, and hacker protection features
US20020062402A1 (en) Direct message transfer between distributed processes
US6785760B2 (en) Performance of a PCI-X to infiniband bridge
JP2011512591A5 (ja)
EP1200896A2 (en) Intelligent splitter, system, and methods of use
JPS5935232A (ja) プロセサとデジタル伝送手段との間の多重通信インタフエ−ス
JP2004227558A (ja) 仮想化制御装置およびデータ移行制御方法
EP1709536A2 (en) Isolated multiplexed multi-dimensional processing in a virtual processing space having virus, spyware, and hacker protection features
WO2009158084A2 (en) Maintenance of exo-file system metadata on removable storage device
WO1992018931A1 (en) Fault tolerant network file system
JP2001331360A (ja) ファイルアクセス処理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050920

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051118

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060404