JPH06214934A - プログラム可能な外部記憶制御装置 - Google Patents

プログラム可能な外部記憶制御装置

Info

Publication number
JPH06214934A
JPH06214934A JP4308353A JP30835392A JPH06214934A JP H06214934 A JPH06214934 A JP H06214934A JP 4308353 A JP4308353 A JP 4308353A JP 30835392 A JP30835392 A JP 30835392A JP H06214934 A JPH06214934 A JP H06214934A
Authority
JP
Japan
Prior art keywords
external storage
host
buffer
program
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP4308353A
Other languages
English (en)
Other versions
JPH0799512B2 (ja
Inventor
Yuji Kigami
雄二 木上
Tsutomu Numata
勉 沼田
Tatsuya Sakai
達也 酒井
Kenji Shimizu
賢治 清水
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP4308353A priority Critical patent/JPH0799512B2/ja
Priority to SG1996000329A priority patent/SG44424A1/en
Priority to DE69325774T priority patent/DE69325774T2/de
Priority to EP93308943A priority patent/EP0598541B1/en
Publication of JPH06214934A publication Critical patent/JPH06214934A/ja
Priority to US08/421,713 priority patent/US5625840A/en
Publication of JPH0799512B2 publication Critical patent/JPH0799512B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Information Transfer Systems (AREA)

Abstract

(57)【要約】 【目的】 マイクロプロセッサの介入が最少ですみ且つ
拡張性及び融通性に富んだプログラム可能な外部記憶制
御装置を提供すること。 【構成】 ホスト10と外部記憶装置14との間を転送
されるデータの他に、データ転送を制御するプログラム
を記憶するバッファ16と、このバッファ16からデー
タ転送制御プログラムを読み出して実行するコントロー
ラ18と、ホスト10からのコマンドに応答してバッフ
ァ16からコントローラ18へのプログラム読出しを開
始させるマイクロプロセッサ20とを備えている。コン
トローラ18は、ホスト−外部記憶装置間のデータ転送
をマイクロプロセッサ20から独立して制御し、その間
マイクロプロセッサ20は他のジョブを実行することが
できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はプログラム可能な外部記
憶制御装置に関し、特にディスク等の外部記憶装置の読
取り及び書込みの動作シーケンスを制御するプログラム
を内部に有する外部記憶制御装置に関する。
【0002】
【従来の技術】計算機システムは一般に大量のデータを
記憶するための外部記憶装置を備えており、その代表的
なものに直接アクセス記憶装置(DASD)がある。こ
のような計算機システムにおいてホストと外部記憶装置
の間でデータを転送する場合、ホスト及び外部記憶装置
のデータ転送速度が異なっているために、速度整合用の
バッファッを介在させるのが普通である。パーソナル・
コンピュータ・システムを例にとると、DASDとして
使用されるハード・ディスク・ドライブ(HDD)とホ
ストの間のデータ転送は32K〜256Kバイト程度の
容量を持ったバッファ(一般にセクタ・バッファと呼ば
れる)を介して行われる。セクタ・バッファは物理的に
はHDD側に設けられ、ハード・ディスク・コントロー
ラ(HDC)がマイクロプロセッサの制御の下にセクタ
・バッファの読取り及び書込みを行うようになってい
る。
【0003】従来は、セクタ・バッファはホストとディ
スクの間を転送されるデータだけを記憶していたが、H
DD全体の制御を司るマイクロプロセッサがホスト−デ
ィスク間のデータ転送とは別にセクタ・バッファをアク
セスできるようにした技術もある。例えば、特開平2−
51724号は、ディスク制御装置のファイル・データ
・プロセッサ内に、マイクロプロセッサからのデータバ
ス及びアドレスバスをデータ・バッファRAMに接続す
る経路を設けることを提案している。それによれば、デ
ータ・バッファRAMはディスク・アクセス時のデータ
・バッファとして使用されるほかに、SCSI規格のイ
ンテリジェントなコマンド処理、それに伴う異常処理の
ためのプログラムを記憶したり、マイクロプロセッサの
ワークエリアとして使われたりする。マイクロプロセッ
サはディスクの読取り又は書込みが行われていないとき
にデータ・バッファRAMをアクセスすることができ
る。ファイル・データ・プロセッサに読取り及び書込み
を行わせるためのプログラムはマイクロプロセッサの読
取り専用メモリ(ROM)に記憶されている。
【0004】データ転送のために、ホスト、ディスク装
置を含む1以上の周辺装置及びマイクロプロセッサが所
定の優先順位に従って1つの共用メモリをアクセスする
ことも知られている。例えば、米国特許第498753
0号は、マイクロプロセッサ及びバッファ・メモリを含
む1台の入出力制御装置が複数の入出力デバイス制御装
置を介してそれぞれの入出力装置を制御することによっ
て、それらとホストCPUのメイン・メモリとの間でロ
ーカル・メモリ・バスを介してデータ転送を行うように
したデータ処理システムを開示している。バッファ・メ
モリは、ローカル・メモリ・バスを介して転送されるデ
ータの他に、マイクロプロセッサのプログラムも記憶し
ている。どの装置がバッファ・メモリをアクセスできる
かは、バッファ制御用のゲート・アレイに含まれるアー
ビタが決定する。特開平2−158824号も共用メモ
リを使用した同様な記憶制御装置を開示している。共用
メモリは、マイクロプロセッサ・データ記憶領域、ディ
スク・データ記憶領域及びホスト・データ記憶領域に分
けられ、所定の優先順位に従って各記憶領域が選択的に
アクセスされる。
【0005】
【発明が解決しようとする課題】上述のようなバッファ
を介するデータ転送の動作シーケンスは、HDC等の制
御装置の論理又はマイクロプロセッサのプログラムによ
り制御されていた。ハードウェア論理による前者の方法
では、制御すべき外部記憶装置に合わせてハードウェア
を設計するため、外部記憶装置が変わると設計をやり直
さなければならず、拡張性や融通性に欠ける。またプロ
グラム制御の場合は、外部記憶装置が変わってもプログ
ラムを書換えるだけで対処できるが、データ転送中はず
っとマイクロプロセッサの介入を必要とするので、その
間マイクロプロセッサは他のジョブを実行できない。従
って、両者の長所を兼ね備えたデータ転送制御手法が望
まれる。
【0006】本発明の目的は、マイクロプロセッサの介
入が最少ですみ且つ拡張性及び融通性に富んだプログラ
ム可能な外部記憶制御装置を提供することにある。
【0007】本発明の他の目的は、データ転送用のバッ
ファにデータ転送制御プログラムを記憶しておき、それ
をマイクロプロセッサとは別のハードウェア・シーケン
サが読み出して実行する、プログラム可能な外部記憶制
御装置を提供することにある。
【0008】本発明の他の目的は、そのような外部記憶
制御装置を含む外部記憶システムを提供することにあ
る。
【0009】
【課題を解決するための手段】上述の目的を達成するた
め、本発明に従うプログラム可能な外部記憶制御装置
は、ホストと外部記憶装置との間のデータ転送を制御す
るためのプログラムを記憶すると共に、ホストと外部記
憶装置との間で転送されるデータを一時記憶するバッフ
ァと、該バッファからデータ転送制御プログラムを読み
出して実行することによりホスト−外部記憶装置間のデ
ータ転送を制御する制御手段と、ホストからのコマンド
に応答してこの制御手段にデータ転送制御プログラムの
読出しを開始させるマイクロプロセッサとを具備してい
る。
【0010】マイクロプロセッサは自身で実行するプロ
グラムの他に上述のデータ転送制御プログラムを記憶す
るメモリを備えており、初期設定時にこのメモリから上
述のバッファへデータ転送制御プログラムをロードす
る。こうしておけば、制御手段がデータ転送制御プログ
ラムを実行している間に、マイクロプロセッサはサーボ
制御等の別のジョブを並行して実行することができる。
【0011】
【実施例】本発明に従う外部記憶制御装置を含む計算機
システムの概略構成を図1に示す。本実施例では、外部
記憶装置としてハード・ディスク装置を想定している
が、本発明はバッファを介してホストとの間でデータ転
送を行う外部記憶装置であればどのようなものにも適用
できる。
【0012】図1の計算機システムは例えばパーソナル
・コンピュータ・システムでもよく、ホスト10と、ホ
スト・バス12を介してホスト10に接続された外部記
憶システムを含む。図には示していないが、ホスト10
には表示装置やキーボードなどの他の周辺装置も接続さ
れている。外部記憶システムは、ホスト10からのコマ
ンドに応答して読取り又は書込みが行われるハード・デ
ィスク装置14と、ホスト10からハード・ディスク装
置14に書込むデータ又はハード・ディスク装置14か
らホスト10へ読み取るデータを一時記憶するセクタ・
バッファ16と、セクタ・バッファ16を介するデータ
転送を実行するハード・ディスク・コントローラ(HD
C)18と、外部記憶システム全体の制御を司るマイク
ロプロセッサ20とを備えており、そのうちセクタ・バ
ッファ16、HDC18及びマイクロプロセッサ20が
本発明に従う外部記憶制御装置を構成している。以下、
ホスト・バス12がいわゆるATバスであり、1セクタ
が512バイトのデータを含み、1ワードが2バイトか
ら成るパーソナル・コンピュータ・システムを例に取っ
て本発明の外部記憶制御装置について説明するが、本発
明は他の計算機システムでも実施可能なことは勿論であ
る。
【0013】図2は上述の外部記憶制御装置をもう少し
詳しく示したものである。図2において、セクタ・バッ
ファ16はデータ記憶域16A及び本発明に従って設け
られたプログラム記憶域16Bに分けられている。ワー
ド単位でアクセスされるセクタ・バッファ16は64K
ワード(128Kバイト)の記憶容量を有し、記憶域1
6Aおよび16Bはそれぞれ32Kワード(64Kバイ
ト)である。従って、プログラム記憶域16Bの開始ワ
ード・アドレスはX‘8000’になる。Xは16進表
記を意味する。勿論これらの数値は例示に過ぎず、本発
明はそれらに限定されるものではない。マイクロプロセ
ッサ20は、ランダム・アクセス・メモリ(RAM)3
0及び読取専用メモリ(ROM)32を備えており、外
部記憶システム全体を制御するプログラムの他に、セク
タ・バッファ16を介するデータ転送を制御するための
プログラムをROM32に記憶している。プログラムの
変更を考慮すると、ROM32は取り替え可能なパーツ
であるのが望ましい。
【0014】データ転送制御プログラムは、電源投入等
の初期設定時にROM32からセクタ・バッファ16の
プログラム記憶域16Bにロードされる(いわゆる初期
プログラム・ロード)。プログラム記憶域16Bの開始
アドレスは予め分かっており(上述の例ではX‘800
0’)、マイクロプロセッサ20はこの開始アドレスか
ら順に1ずつ増分したアドレスをセクタ・バッファ16
へ送ることによってデータ転送制御プログラムの書込み
を行う。データ転送制御プログラムは、ハード・ディス
ク装置14からホスト10への読取りを制御する読取り
制御プログラム、及びホスト10からハード・ディスク
装置14への書込みを制御する書込み制御プログラムを
含む。セクタ・バッファ16のプログラム記憶域16B
への書込みの順番はどちらが先でもよいが、本実施例で
は、読取り制御プログラムが最初にプログラム記憶域1
6Bの開始アドレスから順に書込まれ、続いて書込み制
御プログラムが例えばアドレスX‘9000’から順に
書込まれるものとする。
【0015】図2において点線で囲んだHDC18は、
ホスト・バス12に接続されたホスト・インターフェー
ス回路22、セクタ・バッファ16のアクセスを制御す
るメモリ制御回路24、ハード・ディスク装置14に接
続されたディスク・インターフェース回路26、及びH
DC18の動作シーケンスを制御するシーケンサ28で
構成される。このうち、ホスト・インターフェース回路
22及びディスク・インターフェース回路26は従来の
HDCで使用されていたものと同じでよい。ホスト・イ
ンターフェース回路22は、ホスト・バス12を介して
ホスト10との間でコマンドやデータをやり取りするた
めの回路であり、複数のレジスタ及び割込み制御回路を
含む。メモリ制御回路24は、ホスト・インターフェー
ス回路22、ディスク・インターフェース回路26及び
シーケンサ28に接続されており、セクタ・バッファ1
6とそれらの回路との間のデータ転送を制御する。ディ
スク・インターフェース回路26は、ハード・ディスク
装置14とHDC18との間で必要な変換及びチェック
を行うための周知の回路を含む。シーケンサ28は、ハ
ード・ディスク装置14の読取り又は書込みを行うとき
に、セクタ・バッファ16のプログラム記憶域16Bに
記憶されているプログラム及び必要なパラメータを読み
出して、マイクロプロセッサ20から独立してセクタ・
バッファ16を介するデータ転送を制御する。
【0016】HDC18は実際には上述の各回路22〜
28の他に、ハード・ディスク装置14のヘッドを移動
するためのボイス・コイル・モータ(VCM)及びディ
スクを回転するためのスピンドル・モータをそれぞれ制
御する公知の回路も含んでいるが、それらは本発明には
関係しないので、図2では省略してある。また図が複雑
になるので示さなかったが、マイクロプロセッサ20は
シーケンサ28だけでなく他の全ての回路にも接続され
ている。次に、図3〜図6を参照しながら、ホスト・イ
ンターフェース回路22、メモリ制御回路24、ディス
ク・インターフェース回路26及びシーケンサ28につ
いてそれぞれ説明する。
【0017】図3に示すホスト・インターフェース回路
22は上述のように従来と同じものでよく、レジスタ選
択及び割込み制御回路40によって選択される複数のレ
ジスタ、すなわちセクタ・カウント・レジスタ42、ア
ドレス・レジスタ44、コマンド・レジスタ46及びデ
ータ・レジスタ48を含む。セクタ・カウント・レジス
タ42は読取り又は書込みが行われるセクタの数を保持
し、アドレス・レジスタ44はその開始アドレス(シリ
ンダ番号、ヘッド番号及びセクタ番号からなるいわゆる
相対ブロック・アドレスRBA)を保持し、コマンド・
レジスタ46はコマンド・コードを保持し、データ・レ
ジスタ48はホスト10からハード・ディスク装置14
に書き込むデータ又はハード・ディスク装置14からホ
スト10に読み出すデータを保持する。これらのレジス
タは、ホスト10からバス12を介してレジスタ選択及
び割込み制御回路40に供給される情報により選択され
る。その時回路40は特定のレジスタを選択する信号S
i(i=1、2、3、・・・)を発生する。また回路4
0は、ホスト10が1ワード幅のデータ・レジスタ48
の読取り又は書込みを行うときに、ホスト10からの入
出力読取り信号IOR又は入出力書込み信号IOWをシ
ーケンサ28の方へ通し、更にデータ・レジスタ48の
読取り又は書込みの回数をカウントして、それが256
ワード(512バイトすなわち1セクタ)に達すると割
込み信号INTを発生し、ホスト10へ送る。ホスト1
0はこの割込み信号INTに応答して次のセクタ・デー
タの転送及びHDC18の状況読取りを行う。特願平3
−337995号はこのようなホスト・インターフェー
ス回路の一例を開示している。
【0018】図3には、本発明の理解に必要な4つのレ
ジスタしか示していないが、実際には、ATインターフ
ェースの規格案であるATアタッチメントに記載されて
いるように、状況レジスタを含むもっと多くのレジスタ
が設けられている。
【0019】図4に示すメモリ制御回路24は、セクタ
・バッファ16の1ワード幅のデータ・バス52に接続
された3つの先入れ先出し式バッファ(FIFO)5
4、56及び58、1バイト幅のアドレス・バス60に
接続された3つのアドレス・カウンタ62、64及び6
6、並びにマイクロプロセッサ20によって起動される
メモリ・タイミング制御回路68を含む。ホストFIF
O54は、ホスト・インターフェース回路22とセクタ
・バッファ16との間に接続され、ディスクFIFO5
6はディスク・インターフェース回路26とセクタ・バ
ッファ16との間に接続され、シーケンサFIFO58
はシーケンサ28とセクタ・バッファ16との間に接続
される。これら3つのFIFO54、56及び58は速
度整合用のバッファであり、従ってホスト10、ハード
・ディスク装置14及びシーケンサ28のそれぞれのデ
ータ転送速度に応じた容量を持っているのが望ましい。
一般に、データ転送速度はホスト10が最も速く、シー
ケンサ28がそれに続き、ハード・ディスク装置14が
最も遅い。本実施例では、ホストFIFO54は8ワー
ド、シーケンサFIFO28は6ワード、そしてディス
クFIFO56は8バイトの容量を持っている。勿論こ
れらの容量値は一例に過ぎず、本発明はそれらに限定さ
れない。
【0020】3つのFIFOのうち、ホストFIFO5
4及びシーケンサFIFO58はワード単位でアクセス
されるが、ディスクFIFO56はディスク・インター
フェース回路26との間のバス59が1バイト幅のため
基本的にバイト単位でアクセスされる。しかし、セクタ
・バッファ16とディスクFIFO56との間の転送は
ワード単位で行われるので、ディスクFIFO56はデ
ータ・バス52との接続部にバイト/ワード変換回路5
7を備えている。この変換回路57は、セクタ・バッフ
ァ16からディスクFIFO56に書込むときは、セク
タ・バッファ16からの各ワードを2バイトに分割し、
ディスクFIFO56からセクタ・バッファ16に書込
むときは、連続する2バイトを1ワードに組み立て、デ
ータ・バス52へ出力する。データ・バス52及びアド
レス・バス60はマイクロプロセッサ20にも接続され
ており、マイクロプロセッサ20がセクタ・バッファ1
6を直接アクセスできるようになっている。これは、初
期設定時にマイクロプロセッサ20のROM32からセ
クタ・バッファ16のプログラム記憶域16Bにデータ
転送制御プログラムをロードするのに必要である。
【0021】FIFO54、56及び58は、よく知ら
れているように、それぞれの読取りポインタRP及び書
込みポインタWPによりアクセスされる。各ポインタは
循環式になっており、関連するFIFOの最大アドレス
に達した後は0に戻る。各FIFOは、RP=WP及び
RP=WP+1でない限り、RPを用いた読取り及びW
Pを用いた書込みを同時に行うことができる。RP=W
Pは読み取るべきデータがFIFOにないことを示し、
従ってその場合は書込みだけが許される。RP=WP+
1はFIFOがまだ読み取っていないデータで一杯にな
っていることを示し、従って読取りだけが許される。こ
れらの条件はメモリ・タイミング制御回路68によりチ
ェックされる。
【0022】RP及びWPへの増分信号(+1)はメモ
リ・タイミング制御回路68の他に関連する回路からも
供給される。メモリ・タイミング制御回路68からの増
分信号は図4では簡単のため1つしか示していないが、
実際には、それぞれのRP及びWPに対して個別に増分
信号が印加されるようになっている。RP及びWPは、
関連するFIFOとセクタ・バッファ16との間の転送
の場合はメモリ・タイミング制御回路68からの個別の
増分信号により増分され、各FIFOと関連する回路と
の間の転送の場合は、それぞれの関連回路からの増分信
号により増分される。例えば、RP70はホストFIF
O54の内容をホスト・インターフェース回路22へ読
出すときに図3のレジスタ選択及び割込み制御回路40
からの入出力読取り信号IORにより増分され、WP7
2はホスト・インターフェース回路22からのデータを
FIFO54に書込むときに入出力書込み信号IOWに
より増分される。同様に、RP74及びWP76は、デ
ィスクFIFO56とディスク・インターフェース回路
26との間の転送の場合にディスク・インターフェース
回路26からのバイト信号により増分され、RP78及
びWP80は、シーケンサFIFO58とシーケンサ2
8との間の転送の場合にシーケンサ28からの増分信号
により増分される。
【0023】アドレス・カウンタ62、64及び66
は、セクタ・バッファ16をアドレス指定するのに用い
る。本実施例では、セクタ・バッファ16の容量は64
Kワードであるから、それを完全にアドレス指定するた
めには16ビットのアドレスが必要であり、従って各ア
ドレス・カウンタも16ビット幅になっている。16ビ
ットのアドレスは、上位8ビットからなる行アドレス及
び下位8ビットからなる列アドレスに分けて8ビット幅
のアドレス・バス60に出力される。メモリ・タイミン
グ制御回路68からの行アドレス選択信号RAS及び列
アドレス選択信号CASは、アドレス・バス60に乗っ
ているのがいずれのアドレスであるかを示す。各アドレ
ス・カウンタは、関連するFIFOとセクタ・バッファ
16との間でデータを転送するときに、メモリ・タイミ
ング制御回路68からの制御信号により付勢及び増分さ
れる。このときメモリ・タイミング制御回路68は、セ
クタ・バッファ16の読取りを行う場合はR/W信号を
ハイにし、書込みを行う場合はローにする。また、メモ
リ・タイミング制御回路68はそれぞれのRP及びWP
の内容を常時チェックしており、それらに基づいてセク
タ・バッファ16のアクセス・タイミングを決定する。
次に、図7を参照しながらセクタ・バッファ16のアク
セス・タイミングについて説明する。
【0024】図7の(A)は標準的な時分割モードのア
クセスを示したもので、セクタ・バッファ16の1つの
アクセス・サイクルがホスト相、ディスク相及びシーケ
ンサ相に分けられている。それによれば、最初はホスト
・アドレス・カウンタ62を用いてホストFIFO54
とセクタ・バッファ16との間で最大8ワードの転送が
行われ、次にディスク・アドレス・カウンタ64を用い
てディスクFIFO56とセクタ・バッファ16との間
で最大5ワードの転送が行われ、最後にシーケンサ・ア
ドレス・カウンタ66を用いてシーケンサFIFO58
とセクタ・バッファ16との間で最大6ワードの転送が
行われる。メモリ・タイミング制御回路68は転送すべ
きデータがなくなるまでこのサイクルを繰り返す。いず
れの相も最初のワード1のアクセス時間が長くなってい
るが、これはページ・モードでアクセスしているからで
ある。すなわち、最初のワードをアクセスするときは関
連するアドレス・カウンタから行アドレス及び列アドレ
スを順次にセクタ・バッファ16へ供給する必要がある
が、残りのワードは列アドレスだけでアクセスできる。
(B)はホスト10のデータ転送速度が速い場合の例
で、8ワードをアクセスするホスト相が1つおきに挿入
されている。
【0025】時分割モードA又はBにおいて、ホストの
データがなくなるとメモリ・タイミング制御回路68は
(C)に示すモードに入り、ディスク相及びシーケンサ
相を交互に繰り返す。また、例えばセクタIDを読み出
しているときのように、ディスク・データがない場合
は、メモリ・タイミング制御回路68はいずれのモード
においてもディスク相のところでセクタ・バッファ16
のリフレッシュを行う。1991年2月刊のIBM Techni
cal Disclosure Bulletin 第33巻、第9号の193〜
194頁には、そのようなリフレッシュに適したリフレ
ッシュ制御方式が記載されている。リフレッシュが不要
なスタティックRAM(SRAM)をセクタ・バッファ
16に用いてもよいが、DRAMに比べてコスト高にな
る。なお、ある相でのアクセス中に前述のRP及びWP
に関する条件からアクセスできなくなった場合は、その
時点でその相でのアクセスを止め、次の相のアクセスに
入る。
【0026】ハード・ディスク装置14からホスト10
への読取りを例にとって、セクタ・バッファ16の時分
割モードのアクセスをもう少し詳しく説明すると、最初
はセクタ・バッファ16からホストFIFOに書込むデ
ータがないので、メモリ・タイミング制御回路68は時
分割モードCを設定する。ハード・ディスク装置14か
ら読み取られたデータは、ディスク・インターフェース
回路26の制御の下にWP76を順次増分することによ
りディスクFIFO56に1バイトずつ書込まれる。メ
モリ・タイミング制御回路68は、RP74とWP76
の差が所定値(例えば4)を超えると、ディスク・アド
レス・カウンタ64を付勢し、セクタ・バッファ16へ
のR/W信号をローにし、そしてセクタ・バッファ16
へRAS及びCASを順次に送ることによって、ディス
クFIFO56からセクタ・バッファ16への転送を開
始する。ディスクFIFO56の読取りはメモリ・タイ
ミング制御回路68からの増分信号でRP74を1ずつ
増分し、更にバイト/ワード変換回路57で連続する2
バイトを1ワードに変換することにより行う。ディスク
・インターフェース回路26からディスクFIFO56
への書込みと、ディスクFIFO56からセクタ・バッ
ファ16への読取りは、RP74及びWP76の値が前
述の条件を満たしている限り同時に実行することができ
る。
【0027】ディスクFIFO56からセクタ・バッフ
ァ16に5ワード転送すると、メモリ・タイミング制御
回路68はセクタ・バッファ16のアクセスをシーケン
サ相に切り替え、シーケンサ・アドレス・カウンタ66
を付勢することによって、セクタ・バッファ16からシ
ーケンサFIFO58への転送を開始する。シーケンサ
・アドレス・カウンタ66にはプログラム記憶域16B
の開始アドレス、すなわち前述の読取り制御プログラム
の最初の命令ワードのアドレスがセットされており、シ
ーケンサ相ではこの最初の命令ワードから6番目の命令
ワードまでが連続的にシーケンサFIFO58に転送さ
れる。メモリ・タイミング制御回路68は、シーケンサ
・アドレス・カウンタ66及びWP80を1ずつ増分し
ていくことによりこの転送を実行する。RP78とWP
80の差が所定の値(例えば3)を超えると、メモリ・
タイミング制御回路68はシーケンサFIFO58から
シーケンサ28への転送を開始する。シーケンサ28は
RP78を1ずつ増分することによりシーケンサFIF
O58の読取りを行う。セクタ・バッファ16からシー
ケンサFIFOへの6ワードの転送が終ると、メモリ・
タイミング制御回路68は再びディスク相に切り替え
る。
【0028】時分割モードCでのアクセスの結果、セク
タ・バッファ16に1セクタ分のデータすなわち512
バイトのデータがエラーなしに書込まれると、メモリ・
タイミング制御回路68はこのデータをホストFIFO
54へ転送するために、シーケンサ相が終了した時点で
時分割モードA(又はB)に切り替え、ホスト・アドレ
ス・カウンタ62を付勢することによりセクタ・バッフ
ァ16からホストFIFO54への転送を開始する。メ
モリ・タイミング制御回路68は、ホスト・アドレス・
カウンタ62及びWP72を1ずつ増分することによっ
てセクタ・バッファ16からホストFIFO62に8ワ
ードを転送すると、ホスト相からディスク相に切り替え
る。その間にRP70とWP72の差が所定の値(例え
ば4)に達すると、メモリ・タイミング制御回路68は
ホスト・インターフェース回路22にホストFIFO5
4の読取りを指示する。ホスト・インターフェース回路
22はこれに応答して最初のワードをデータ・レジスタ
48に転送した後ホスト10に割込みをかける。ホスト
10はこの割込みに応答してデータ・レジスタ48を読
み取るためのコマンドをホスト・インターフェース回路
22に送る。ホスト・インターフェース回路22はこの
時ホスト10から送られてくる入出力読取り信号IOR
をRP70に対する増分信号として用いることによりホ
ストFIFO54からデータ・レジスタ48に次のワー
ドを読み出し、ホスト10に割込みをかける。以下、同
様の動作を繰り返す。
【0029】以上のように、時分割モードA(又はB)
及びCのアクセス・サイクルを繰り返すことにより、ハ
ード・ディスク装置14からホスト10への読取りが行
われる。ホスト10からハード・ディスク装置14への
書込みも同様である。シーケンサ28はシーケンサ相に
おいてセクタ・バッファ16から読み出されたプログラ
ムを実行することにより、このような読取り及び書込み
を制御する(詳細は後述)。
【0030】図5に示すディスク・インターフェース回
路26は、ディスクFIFO56からの1バイトの並列
データを直列データに変換する並直列変換器82及びハ
ード・ディスク装置14からの直列データを1バイトの
並列データに変換する直並列変換器84を含む。並直列
変換器82からの直列データはアナログ信号に変換され
た後ハード・ディスク装置14へ送られ、指定されたセ
クタ位置に順次に書込まれる。直並列変換器84からの
並列データは、それがセクタIDであればIDレジスタ
86へ送られ、通常のセクタ・データであればディスク
FIFO56及びECC回路88へ送られる。セクタI
Dは、周知のようにハード・ディスク装置14において
各セクタの先頭部分に記録されるもので、アドレス・マ
ーク(AM)及び相対ブロック・アドレス(RBA)を
含んでいる。IDレジスタ86には、アクセスすべきセ
クタのIDがマイクロプロセッサ20によって予めセッ
トされており、エラー検出及び比較器90は直並列変換
器84からのセクタIDと予めセットされているセクタ
IDとが一致しないか、又は直並列変換器84からのセ
クタIDにエラーがあると、シーケンサ28にIDエラ
ーを知らせる。
【0031】ECC回路88は周知のエラー訂正論理回
路であって、ハード・ディスク装置14から読み取った
セクタ・データにエラーがあると、それが訂正可能か否
かに応じて訂正可能エラー信号又は訂正不能エラー信号
を出力し、訂正可能な場合は更にそのエラー位置及びエ
ラー・パターンをそれぞれ示す信号を出力する。これら
の信号に応答してエラーを訂正するのはシーケンサ28
である。ホスト10からの書込みの場合は、ECC回路
88はディスクFIFO56から順次に送られてくる5
12バイトのセクタ・データに対して11バイトのEC
Cコードを生成し、並直列変換器82に送る。書込みデ
ータのエラー・チェックは行わない。
【0032】直並列変換器84は1バイトの変換が終る
度に線92へバイト信号を出力する。カウンタ94はこ
のバイト信号をカウントし、直並列変換器84からセク
タIDが出力されている間(例えば第1バイトから第7
バイトまで)はこのセクタIDをIDレジスタ86へロ
ードするための信号を線96に発生し、それに続く52
3バイト、すなわち512のデータ・バイト及び11の
ECCバイトの間は、直並列変換器84の出力をECC
回路88へロードするための信号を線98に発生する。
またカウンタ94は、512のデータ・バイトが出力さ
れている間は線100をハイにし、ANDゲート102
を条件付ける。ANDゲート102の第2の入力は線9
2に接続されており、従ってANDゲート102はハー
ド・ディスク装置14から512バイトのセクタ・デー
タが読み取られている間、線92上のバイト信号を線1
04へ通過させる。線104上のバイト信号は増分信号
として図4のWP76に印加される。512データ・バ
イトの読取りが終ると、カウンタ94は線106にセク
タ信号を発生し、シーケンサ28に送る。シーケンサ2
8はこれに応答してセクタ・カウントを更新する。
【0033】図6に示すシーケンサ28は通常の算術論
理演算装置(ALU)110の他にアドレス生成器11
2を含む。ALU110の入力はそれぞれ累算器として
働くAレジスタ114及びBレジスタ116から与えら
れ、その出力は作業レジスタ118に供給される。アド
レス生成器112の入力はコード・レジスタ120及び
図4のシーケンサ・アドレス・カウンタ66から与えら
れ、その出力はシーケンサ・アドレス・カウンタ66及
び作業レジスタ選択器122に供給される。作業レジス
タ選択器122はアドレス生成器112からのアドレス
に応答して作業レジスタの1つを選択する。ここで云う
「作業レジスタ」は総称的な名称であって、HDC18
に含まれる全てのレジスタを指している。これは、シー
ケンサ28がHDC18にある任意のレジスタをアクセ
スできること、従ってHDC18内の各回路を制御でき
ることを意味する。
【0034】Aレジスタ114及びBレジスタ116は
作業レジスタ118又は図4のシーケンサFIFO58
からのデータを受け取り、コード・レジスタ120はシ
ーケンサFIFO58からのプログラム命令を受け取
る。このプログラム命令はデコーダ124でデコードさ
れ、それによりALU110及びアドレス生成器112
に指定された演算を行わせるための制御信号がそれぞれ
線126及び128に発生される。ALU110は線1
26上の制御信号に応答して加算、減算等の算術演算や
AND、OR等の論理演算を実行する。アドレス生成器
112は線128上の制御信号に応答して、シーケンサ
・アドレス・カウンタ66の内容を1だけ増分して書き
戻したり、コード・レジスタ120からのプログラム命
令に含まれるアドレスを用いて作業レジスタ118のレ
ジスタ・アドレス又はセクタ・バッファ16からデータ
を取り出すためのアドレスを生成したり、コード・レジ
スタ120及びアドレス・カウンタ66からのアドレス
を加算して新しい命令アドレスを生成したりする。
【0035】通常は、セクタ・バッファ16からシーケ
ンサFIFO58を介してシーケンサ28へ送られてく
るのはプログラム命令であるが、コード・レジスタ12
0にロードされた命令がデータの読取りを指定している
と、デコーダ124から線132に発生されるデータ読
取り信号によりセレクタ130が切り替わり、シーケン
サFIFO58からのデータをAレジスタ114及びB
レジスタ116の方へ通過させる。線132上のデータ
読取り信号はメモリ制御回路24にも送られ、シーケン
サFIFO58の両方のポインタRP78及びWP80
をリセットする。
【0036】シーケンサ28が実行すべきプログラムの
一例として、前述の読取り制御プログラムの流れ図を図
8及び図9に示す。この読取り制御プログラムは、ホス
ト10から読取りコマンドを受け取ったときにセクタ・
バッファ16からシーケンサ28に読み出される。
【0037】ホスト10からの読取りコマンド及び関連
するパラメータ、すなわち読み取るべきセクタの数を示
すセクタ・カウント及び読取りを開始するセクタのアド
レスは、前述の特願平3−337995号に記載されて
いるようにして、コマンド・レジスタ46、セクタ・カ
ウント・レジスタ42及びアドレス・レジスタ44に受
け取られる。レジスタ選択及び割り込み制御回路40は
これらの受取りを完了すると、マイクロプロセッサ20
に割込みをかける。マイクロプロセッサ20は、レジス
タ選択及び割込み制御回路40からの割込みに応答して
コマンド・レジスタ46の内容を取り込み、デコードす
る。デコードの結果、読取りコマンドであることが分か
ると、マイクロプロセッサ20は、読取り制御プログラ
ムの開始アドレスをシーケンサ・アドレス・カウンタ6
6にロードし、図4のメモリ・タイミング制御回路68
に起動信号を送ると共に、ホスト・インターフェース回
路22(図3)のアドレス・レジスタ44にロードされ
ている開始アドレスに従ったセクタIDをディスク・イ
ンターフェース回路26(図5)のIDレジスタ86に
ロードし、そしてハード・ディスク装置14の読取りを
開始させる。メモリ・タイミング制御回路68はマイク
ロプロセッサ20からの起動信号に応答して、ホスト・
アドレス・カウンタ62、ディスク・アドレス・カウン
タ64、並びに全ての読取りポインタRP70、74、
78及び書込みポインタWP72、76、80を0をリ
セットし、前述の時分割モードCでセクタ・バッファ1
6のアクセスを開始する。
【0038】ハード・ディスク装置14から最初に読み
取られるのはセクタIDであるから、時分割モードCに
おいてセクタ・バッファ16を最初にアクセスするのは
シーケンサ28である。そのため、メモリ・タイミング
制御回路68は最初のディスク相の替りにセクタ・バッ
ファ16のリフレッシュを行った後シーケンサ・アドレ
ス・カウンタ66に付勢信号を印加し、セクタ・バッフ
ァ16へのR/W信号をハイにして、読取りが行われる
ことを指示する。シーケンサ・アドレス・カウンタ66
は、付勢信号により活動化されると、その内容すなわち
読取り制御プログラムの開始アドレスをアドレス・バス
60へ出力する。セクタ・バッファ16はプログラム記
憶域16Bから最初の命令ワードを読取り、データ・バ
ス52へ出力する。シーケンサFIFO58はこの命令
ワードをWP80(最初は0)によって指定された位置
に書込む。シーケンサFIFO58は、最初の命令ワー
ドだけはFIFO58への書込みと同時にシーケンサ2
8への読取りを行う。次にメモリ・タイミング制御回路
68はシーケンサ・アドレス・カウンタ66及びWP8
0をそれぞれ1ずつ増分して、次の命令ワードをセクタ
・バッファ16からシーケンサFIFO58へ転送させ
る。
【0039】図6に示したシーケンサ28においては、
線132上のデータ信号がローになっているので、セレ
クタ130はシーケンサFIFO58からの最初の命令
ワードをコード・レジスタ120の方へ通す。デコーダ
124はこれをデコードして必要な制御信号を発生する
と共にRP78を1だけ増分する。これ以降シーケンサ
28は図8及び図9に示した読取り制御プログラムを順
次に実行していくことになる。次に、この読取り制御プ
ログラムをステップ順に説明する。
【0040】最初のステップ201は、ホスト・インタ
ーフェース回路22(図3)のセクタ・カウント・レジ
スタ42及びアドレス・レジスタ44にロードされてい
るパラメータをプログラム記憶域16Bの特定の記憶位
置に書込む。レジスタ42及び44のアドレス並びにパ
ラメータ書込み位置は、プログラム記憶域16Bからシ
ーケンサFIFO58を介してコード・レジスタ120
へ送られてくる命令により指定される。デコーダ124
はこれらの命令をデコードして、まずシーケンサ・アド
レス・カウンタ66の内容をセクタ・バッファ16の所
定の記憶位置に保管する。次に、レジスタ・アドレスを
作業レジスタ選択器122へ入力させ、パラメータ書込
み位置のアドレスをシーケンサ・アドレス・カウンタ6
6へロードさせると共に、メモリ・タイミング制御回路
68に必要な指示を与える。これにより、レジスタ42
及び44の内容がシーケンサFIFO58を介してセク
タ・バッファ16に書込まれる。パラメータの書込みが
終ると、セクタ・バッファ16に保管しておいた内容を
シーケンサ・アドレス・カウンタ66に戻す。
【0041】次のステップ202は、セクタIDのチェ
ックが完了したかどうかを調べる。前述のように、ハー
ド・ディスク装置14から読み取られたセクタIDはデ
ィスク・インターフェース回路26(図5)のエラー検
出及び比較器90でチェックされ、その結果が特定の作
業レジスタ(エラー・レジスタ)に書込まれるようにな
っている。従って、シーケンサ28はエラー・レジスタ
の内容を読み出して、セクタIDの読取りがエラーなし
に完了したかどうかを調べる。このチェックはALU1
10で簡単に実行できる。セクタIDのチェックが完了
するとステップ203に進む。
【0042】ステップ203は、トラックの終り(EO
T)に達したかどうか、すなわちステップ202でチェ
ックを完了したセクタがトラックの最終セクタかどうか
を調べる。セクタIDはEOTフラグを含んでおり、最
終セクタの場合はこのフラグがオンになっている。シー
ケンサ28はIDレジスタ86の内容をALU110で
チェックすることによりステップ204を実行する。E
OTに達しているとステップ204に進んでマイクロプ
ロセッサ20に割込みをかけ、当該セクタの終り(EO
S)で動作を停止する(ステップ205)。実際に停止
するのはセクタ・データの読取りが終ってからである。
そのときマイクロプロセッサはハード・ディスク装置1
4のヘッドを次のトラックへ移動させる。EOTに達し
ていなければステップ206に進む。
【0043】ステップ206は、次のセクタの読取りに
備えて、そのセクタのIDをIDレジスタ86にロード
する。これは、ステップ201でセクタ・バッファ16
に書込んでおいたパラメータのうち開始アドレスをシー
ケンサ28へ読み出して、ALU110で更新すること
により可能になる。シーケンサ28は、更新したアドレ
ス(RBA)をIDレジスタ86にロードすると共にセ
クタ・バッファ16に書き戻す。
【0044】ステップ207は、次のセクタのデータを
セクタ・バッファ16に書込むときの開始ベース・アド
レスであるディスク開始アドレスDSRを特定の作業レ
ジスタに設定する。次のステップ208は、このDSR
とホスト・アドレス・カウンタ62の内容HACとを比
較する。(シーケンサ28が読取り制御プログラムを実
行している間、メモリ・タイミング制御回路68はホス
ト・アドレス・カウンタ62を用いてセクタ・バッファ
16からホストFIFO54へのデータ転送を実行して
いる。)DSR=HACであれば、セクタ・バッファ1
6からホストFIFO54へ読み出すデータがないこと
を意味するから、その場合はステップ209へ進んでマ
イクロプロセッサ20に割込みをかけ、1セクタ分のデ
ータがセクタ・バッファ16に書込まれて、DSRが更
新されるまで待機する。
【0045】DSRがHACより大きければステップ2
10に進み、現セクタのデータ読取りが完了したかどう
かを調べる。これは、カウンタ94(図5)から線10
6へ出力されるセクタ信号の状態を調べれば分かる。完
了するとセクタ・カウントを更新した後、ステップ21
1で作業レジスタ118の1つであるエラー・レジスタ
の内容から訂正不能エラーが生じたかどうかをチェック
する。もし生じているとステップ212に進んでマイク
ロプロセッサ20に割込みをかける。
【0046】訂正不能エラーが生じていなければ、ステ
ップ213に進んで訂正可能エラーが生じたかどうかを
調べる。これもエラー・レジスタの内容から判断でき
る。もし生じているとステップ214に進んで、図5の
ECC回路88から作業レジスタ118にロードされて
いるエラー位置データ及びエラー・パターンを用いてエ
ラーを訂正する。エラー位置データはエラーの生じたバ
イトを識別する。従って、シーケンサ28はエラー訂正
命令に応答してエラー・バイトを含むワードのアドレス
をシーケンサ・アドレス・カウンタ66にロードする共
に、線132を介してメモリ・タイミング制御回路68
にデータ読取りを知らせる。メモリ・タイミング制御回
路68はこれに応答してシーケンサFIFO58の両ポ
インタ78及び80を0にリセットし、セクタ・バッフ
ァ16からシーケンサFIFO58への読取りを実行す
る。読み取られたエラー・バイトはセレクタ130から
Bレジスタ116へロードされる。このときAレジスタ
114には対応するエラー・パターンがロードされてお
り、ALU110はそれらに対して排他的OR演算を実
行することによりエラーを訂正する。訂正されたバイト
を含むワードはシーケンサFIFO58を介してセクタ
・バッファ16の元の記憶位置に書き戻される。
【0047】エラー訂正が終るとステップ215に進ん
で、トラックの終り(EOT)かどうかを調べる。EO
Tであればステップ216に進んで、次のトラックが読
み取れるようになるまで待つ。動作を再開できるように
なるか又はEOTでなければ、ステップ217に進ん
で、読み取ったセクタが当該読取りコマンドに係る最終
セクタかどうかを調べる。これは、ステップ201でセ
クタ・バッファ16に書込んでおいたセクタ・カウント
とステップ210の終りに更新したセクタ・カウントと
を比較すれば分かる。最終セクタであれば読取り制御プ
ログラムの実行を終了し、さもなければステップ202
に戻る。
【0048】書込み制御プログラムの場合は、データ転
送の方向が逆になっていること及びエラー訂正を行わな
いことを除くと、基本的な動作は読取りのときと同じで
ある。
【0049】
【発明の効果】本発明によれば、マイクロプロセッサ制
御型の外部記憶制御装置において,ハード・ディスク等
の外部記憶装置とホストとの間のデータ転送をマイクロ
プロセッサから独立して実行することができ、またセク
タ・バッファにロードするプログラムを書き換えるだけ
で様々な外部記憶装置に対処することができる。
【図面の簡単な説明】
【図1】本発明を実施し得る計算機システムの一例を示
すブロック図。
【図2】本発明に従う外部記憶制御装置の構成を示すブ
ロック図。
【図3】図2の外部記憶制御装置におけるホスト・イン
ターフェース回路の構成例を示すブロック図。
【図4】図2の外部記憶制御装置におけるメモリ制御回
路の構成例を示すブロック図。
【図5】図2の外部記憶制御装置におけるディスク・イ
ンターフェース回路の構成例を示すブロック図。
【図6】図2の外部記憶制御装置におけるシーケンサの
構成例を示すブロック図。
【図7】セクタ・バッファの時分割アクセス・モードの
例を示す図。
【図8】読取り制御プログラムの前半部分を示す流れ
図。
【図9】読取り制御プログラムの後半部分を示す流れ
図。
【符号の説明】
10 ホスト 14 ハード・ディスク装置 16 セクタ・バッファ 16A データ記憶域 16B プログラム記憶域 18 ハード・ディスク・コントローラ(HDC) 20 マイクロプロセッサ 22 ホスト・インターフェース回路 24 メモリ制御回路 26 ディスク・インターフェース回路 28 シーケンサ 30 ランダム・アクセス・メモリ(RAM) 32 読取り専用メモリ(ROM)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 沼田 勉 神奈川県藤沢市桐原町1番地 日本アイ・ ビー・エム株式会社 藤沢事業所内 (72)発明者 酒井 達也 神奈川県藤沢市桐原町1番地 日本アイ・ ビー・エム株式会社 藤沢事業所内 (72)発明者 清水 賢治 神奈川県藤沢市桐原町1番地 日本アイ・ ビー・エム株式会社 藤沢事業所内

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】ホストからのコマンドに応答して外部記憶
    装置を制御するプログラム可能な外部記憶制御装置であ
    って、 前記ホストと前記外部記憶装置との間のデータ転送を制
    御するためのプログラムを記憶すると共に、前記ホスト
    と前記外部記憶装置との間で転送されるデータを一時記
    憶するバッファと、 前記バッファから前記プログラムを読み出して実行する
    ことにより前記データ転送を制御する制御手段と、 前記ホストからのコマンドに応答して前記制御手段に前
    記プログラムの読出しを開始させるマイクロプロセッサ
    と、 を具備する、プログラム可能な外部記憶制御装置。
  2. 【請求項2】前記マイクロプロセッサは前記プログラム
    を記憶するメモリを有し、初期設定時に前記プログラム
    を該メモリから前記バッファにロードする請求項1に記
    載の外部記憶制御装置。
  3. 【請求項3】前記バッファはデータ記憶域及びプログラ
    ム記憶域に分けられ、前記マイクロプロセッサは前記初
    期設定時に前記プログラム記憶域の開始アドレスを指定
    して前記プログラムを前記メモリから前記プログラム記
    憶域にロードする、請求項2に記載の外部記憶制御装
    置。
  4. 【請求項4】前記制御手段は、前記ホストとの間でデー
    タ及びコマンドをやりとりするためのホスト・インター
    フェース手段と、前記外部記憶装置との間でデータをや
    りとりするための外部記憶インターフェース手段と、前
    記プログラムを実行するシーケンサ手段と、前記ホスト
    ・インターフェース手段、前記外部記憶インターフェー
    ス手段及び前記シーケンサ手段を前記バッファに接続
    し、それらと前記バッファとの間の転送を制御するメモ
    リ制御手段とを含む、請求項1、2又は3に記載の外部
    記憶制御装置。
  5. 【請求項5】前記マイクロプロセッサは前記ホストから
    のコマンドに応答して前記メモリ制御手段を起動し、前
    記バッファと前記ホスト・インターフェース手段、前記
    外部記憶インターフェース手段及び前記シーケンサ手段
    との間の転送を時分割モードで開始させる、請求項4に
    記載の外部記憶制御装置。
  6. 【請求項6】前記メモリ制御手段は、前記バッファと前
    記ホスト・インターフェース手段、前記外部記憶インタ
    ーフェース手段及び前記シーケンサ手段との間の転送を
    それぞれの先入れ先だし式バッファを介して行う、請求
    項5に記載の外部記憶制御装置。
  7. 【請求項7】前記シーケンサ手段は、前記バッファから
    読み出されたプログラムの命令をデコードするデコーダ
    と、該デコーダからの信号により制御される演算手段及
    びアドレス生成手段と、該アドレス生成手段からのアド
    レスにより前記制御手段内の任意のレジスタを選択する
    レジスタ選択手段とを含む、請求項4、5又は6に記載
    の外部記憶制御装置。
  8. 【請求項8】ホストからのコマンドによりデータの読取
    り又は書込みが行われる外部記憶システムであって、 前記データを記憶する外部記憶装置と、 前記ホストと前記外部記憶装置との間のデータ転送を制
    御するためのプログラムを記憶すると共に、前記ホスト
    と前記外部記憶装置との間で転送されるデータを一時記
    憶するバッファと、 前記バッファから前記プログラムを読み出して実行する
    ことにより前記データ転送を制御する制御手段と、 前記ホストからのコマンドに応答して前記制御手段に前
    記プログラムの読出しを開始させるマイクロプロセッサ
    と、 を備えた外部記憶システム。
  9. 【請求項9】前記マイクロプロセッサは前記プログラム
    を記憶するメモリを有し、初期設定時に前記プログラム
    を該メモリから前記バッファにロードする請求項8に記
    載の外部記憶システム。
  10. 【請求項10】前記バッファはデータ記憶域及びプログ
    ラム記憶域に分けられ、前記マイクロプロセッサは前記
    初期設定時に前記プログラム記憶域の開始アドレスを指
    定して前記プログラムを前記メモリから前記プログラム
    記憶域にロードする、請求項9に記載の外部記憶システ
    ム。
  11. 【請求項11】前記制御手段は、前記ホストとの間でデ
    ータ及びコマンドをやりとりするためのホスト・インタ
    ーフェース手段と、前記外部記憶装置との間でデータを
    やりとりするための外部記憶インターフェース手段と、
    前記プログラムを実行するシーケンサ手段と、前記ホス
    ト・インターフェース手段、前記外部記憶インターフェ
    ース手段及び前記シーケンサ手段を前記バッファに接続
    し、それらと前記バッファとの間の転送を制御するメモ
    リ制御手段とを含む、請求項8、9又は10に記載の外
    部記憶システム。
  12. 【請求項12】前記マイクロプロセッサは前記ホストか
    らのコマンドに応答して前記メモリ制御手段を起動し、
    前記バッファと前記ホスト・インターフェース手段、前
    記外部記憶インターフェース手段及び前記シーケンサ手
    段との間の転送を時分割モードで開始させる、請求項1
    1に記載の外部記憶システム。
  13. 【請求項13】前記メモリ制御手段は、前記バッファと
    前記ホスト・インターフェース手段、前記外部記憶イン
    ターフェース手段及び前記シーケンサ手段との間の転送
    をそれぞれの先入れ先だし式バッファを介して行う、請
    求項12に記載の外部記憶システム。
  14. 【請求項14】前記シーケンサ手段は、前記バッファか
    ら読み出されたプログラムの命令をデコードするデコー
    ダと、該デコーダからの信号により制御される演算手段
    及びアドレス生成手段と、該アドレス生成手段からのア
    ドレスにより前記制御手段内の任意のレジスタを選択す
    るレジスタ選択手段とを含む、請求項11、12又は1
    3に記載の外部記憶システム。
JP4308353A 1992-11-18 1992-11-18 プログラム可能な外部記憶制御装置 Expired - Fee Related JPH0799512B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP4308353A JPH0799512B2 (ja) 1992-11-18 1992-11-18 プログラム可能な外部記憶制御装置
SG1996000329A SG44424A1 (en) 1992-11-18 1993-11-09 Programmable external storage control apparatus
DE69325774T DE69325774T2 (de) 1992-11-18 1993-11-09 Programmierbare Externspeichersteuerungseinrichtung
EP93308943A EP0598541B1 (en) 1992-11-18 1993-11-09 Programmable external storage control apparatus
US08/421,713 US5625840A (en) 1992-11-18 1995-04-13 Programmable external storage control apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4308353A JPH0799512B2 (ja) 1992-11-18 1992-11-18 プログラム可能な外部記憶制御装置

Publications (2)

Publication Number Publication Date
JPH06214934A true JPH06214934A (ja) 1994-08-05
JPH0799512B2 JPH0799512B2 (ja) 1995-10-25

Family

ID=17980042

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4308353A Expired - Fee Related JPH0799512B2 (ja) 1992-11-18 1992-11-18 プログラム可能な外部記憶制御装置

Country Status (5)

Country Link
US (1) US5625840A (ja)
EP (1) EP0598541B1 (ja)
JP (1) JPH0799512B2 (ja)
DE (1) DE69325774T2 (ja)
SG (1) SG44424A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6678109B2 (en) 1997-08-13 2004-01-13 Hitachi Global Technologies Disk drive, servo control unit, and control unit
JP2005339426A (ja) * 2004-05-31 2005-12-08 Fujitsu Ltd データ処理システム及び設定方法
US6990661B2 (en) 1996-04-09 2006-01-24 International Business Machines Corporation Apparatus and method for downloading data to electronic device

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996032674A2 (en) * 1995-04-13 1996-10-17 Cirrus Logic, Inc. Semiconductor memory device for mass storage block access applications
US5917723A (en) * 1995-05-22 1999-06-29 Lsi Logic Corporation Method and apparatus for transferring data between two devices with reduced microprocessor overhead
FR2738367B1 (fr) * 1995-09-05 1997-10-17 Scm Microsystems Procede et appareil de telechargement rapide de fonctions dans une memoire volatile
JP3451594B2 (ja) * 1995-12-21 2003-09-29 株式会社森精機ハイテック 数値制御装置における記憶手段アクセス制御方法および数値制御装置
JP3287203B2 (ja) 1996-01-10 2002-06-04 株式会社日立製作所 外部記憶制御装置及び外部記憶制御装置間データ転送方法
US5822553A (en) * 1996-03-13 1998-10-13 Diamond Multimedia Systems, Inc. Multiple parallel digital data stream channel controller architecture
US5797043A (en) * 1996-03-13 1998-08-18 Diamond Multimedia Systems, Inc. System for managing the transfer of data between FIFOs within pool memory and peripherals being programmable with identifications of the FIFOs
JP3707890B2 (ja) * 1996-12-26 2005-10-19 三星電子株式会社 外部記憶装置のデータ出力方法
JP3410010B2 (ja) 1997-12-24 2003-05-26 株式会社日立製作所 サブシステムの移行方法および情報処理システム
US7114049B2 (en) * 1997-01-08 2006-09-26 Hitachi, Ltd. Adaptive remote copy in a heterogeneous environment
DE19708755A1 (de) * 1997-03-04 1998-09-17 Michael Tasler Flexible Schnittstelle
US5941972A (en) * 1997-12-31 1999-08-24 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US6219729B1 (en) * 1998-03-31 2001-04-17 Texas Instruments Incorporated Apparatus and method for providing for efficient communication between high and low-level processing engine of a disk drive formatter
JP4689137B2 (ja) 2001-08-08 2011-05-25 株式会社日立製作所 リモートコピー制御方法、及びストレージシステム
US7167962B2 (en) 1999-08-19 2007-01-23 Hitachi, Ltd. Remote copy for a storage controller with reduced data size
US6728853B1 (en) * 1999-12-14 2004-04-27 Genesis Microchip Inc. Method of processing data utilizing queue entry
US7194590B2 (en) * 2001-02-28 2007-03-20 Hitachi, Ltd. Three data center adaptive remote copy
US7143252B2 (en) * 2001-05-10 2006-11-28 Hitachi, Ltd. Storage apparatus system and method of data backup
US7213114B2 (en) 2001-05-10 2007-05-01 Hitachi, Ltd. Remote copy for a storage controller in a heterogeneous environment
US7308512B1 (en) * 2001-05-16 2007-12-11 Network Appliance, Inc. Fiber channel adaptor for serial or parallel ATA disks
JP4049297B2 (ja) * 2001-06-11 2008-02-20 株式会社ルネサステクノロジ 半導体記憶装置
CN1288658C (zh) * 2002-04-25 2006-12-06 三洋电机株式会社 数据处理装置
EP1484667A1 (en) * 2003-06-05 2004-12-08 Deutsche Thomson-Brandt Gmbh Method for fast verification of sector addresses
EP1484669A1 (en) * 2003-06-05 2004-12-08 Thomson Licensing S.A. Method for fast verification of sector addresses
US20170154403A1 (en) * 2015-11-30 2017-06-01 Intel Corporation Triple buffered constant buffers for efficient processing of graphics data at computing devices
CN110989918B (zh) 2018-10-03 2023-03-28 慧荣科技股份有限公司 写入控制方法以及数据存储装置及其控制器
CN110990175B (zh) 2018-10-03 2023-03-14 慧荣科技股份有限公司 错误处置方法以及数据存储装置及其控制器
TWI684988B (zh) * 2018-10-03 2020-02-11 慧榮科技股份有限公司 錯誤處置方法以及資料儲存裝置及其控制器

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0384649A (ja) * 1989-08-28 1991-04-10 Fujitsu Ltd バッファ制御方式

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4327408A (en) * 1979-04-17 1982-04-27 Data General Corporation Controller device with diagnostic capability for use in interfacing a central processing unit with a peripheral storage device
US4420819A (en) * 1981-03-13 1983-12-13 Data Card Corporation System for processing and storing transaction data and for transmitting the transaction data to a remote host computer
US4987530A (en) * 1985-11-15 1991-01-22 Data General Corp. Input/output controller for a data processing system
US5241660A (en) * 1986-10-30 1993-08-31 National Semiconductor Corporation Buffered asynchronous communications element with receive/transmit control and status reporting
JPH0251724A (ja) * 1988-08-15 1990-02-21 Hitachi Ltd ディスク制御装置
JPH02158824A (ja) * 1988-12-12 1990-06-19 Nippon I B M Kk ディスク装置の記憶制御装置
US5249271A (en) * 1990-06-04 1993-09-28 Emulex Corporation Buffer memory data flow controller
JPH04102201A (ja) * 1990-08-21 1992-04-03 Tokico Ltd 磁気ディスク装置
US5157770A (en) * 1990-08-31 1992-10-20 International Business Machines Corporation Nonsynchronous dasd control
JP2882495B2 (ja) * 1991-02-08 1999-04-12 三菱電機株式会社 通信機

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0384649A (ja) * 1989-08-28 1991-04-10 Fujitsu Ltd バッファ制御方式

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6990661B2 (en) 1996-04-09 2006-01-24 International Business Machines Corporation Apparatus and method for downloading data to electronic device
US6678109B2 (en) 1997-08-13 2004-01-13 Hitachi Global Technologies Disk drive, servo control unit, and control unit
JP2005339426A (ja) * 2004-05-31 2005-12-08 Fujitsu Ltd データ処理システム及び設定方法

Also Published As

Publication number Publication date
EP0598541B1 (en) 1999-07-28
US5625840A (en) 1997-04-29
EP0598541A1 (en) 1994-05-25
SG44424A1 (en) 1997-12-19
DE69325774D1 (de) 1999-09-02
DE69325774T2 (de) 2000-03-02
JPH0799512B2 (ja) 1995-10-25

Similar Documents

Publication Publication Date Title
JPH06214934A (ja) プログラム可能な外部記憶制御装置
US5465338A (en) Disk drive system interface architecture employing state machines
US4514808A (en) Data transfer system for a data processing system provided with direct memory access units
US5437043A (en) Information processing apparatus having a register file used interchangeably both as scalar registers of register windows and as vector registers
JP2558064B2 (ja) I/o装置と拡張記憶装置又は主記憶装置の間でデータを転送する方法
JP3181515B2 (ja) データ転送方法及びその方法を用いたデータ転送装置
JPH06502267A (ja) 多重マイクロコントローラのハード・ディスク・ドライブを制御するアーキテクチャ
US5594926A (en) Hard disk accelerating system for computer
US5307471A (en) Memory controller for sub-memory unit such as disk drives
JPS607301B2 (ja) コンピュ−タ・システム
JP2643928B2 (ja) メモリユニット装置
JPS593642A (ja) 制御レジスタ処理方式
JPH04357519A (ja) メモリ装置
JP3507193B2 (ja) ロード・ストア命令処理装置
JPH02278417A (ja) セクタアドレス変換回路
JPH04309137A (ja) メモリシステム
JPH03257572A (ja) マルチプロセッサシステム
JPS62217483A (ja) メモリ装置
JPH04125747A (ja) キャッシュメモリ制御装置
JPS58123146A (ja) メモリアドレス拡張方式
JPH04311217A (ja) 外部記憶制御装置
JP2000311061A (ja) ディスクドライブインターフェース装置
JPH0516062B2 (ja)
WO1994019807A1 (en) Flash solid state drive
JPH05197625A (ja) キャッシュメモリ

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees