JPH04287261A - データ転送制御装置および磁気ディスク制御装置 - Google Patents

データ転送制御装置および磁気ディスク制御装置

Info

Publication number
JPH04287261A
JPH04287261A JP3052487A JP5248791A JPH04287261A JP H04287261 A JPH04287261 A JP H04287261A JP 3052487 A JP3052487 A JP 3052487A JP 5248791 A JP5248791 A JP 5248791A JP H04287261 A JPH04287261 A JP H04287261A
Authority
JP
Japan
Prior art keywords
buffer memory
access
data
memory
data transfer
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
JP3052487A
Other languages
English (en)
Other versions
JP2703668B2 (ja
Inventor
Akira Kojima
昭 小島
Tsuneo Hirose
廣瀬 恒夫
Kunikazu Takayama
高山 訓一
Mitsuru Kubo
充 久保
Atsushi Takayasu
厚志 高安
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 JP3052487A priority Critical patent/JP2703668B2/ja
Priority to US07/852,563 priority patent/US5507005A/en
Publication of JPH04287261A publication Critical patent/JPH04287261A/ja
Application granted granted Critical
Publication of JP2703668B2 publication Critical patent/JP2703668B2/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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • G06F13/4059Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータ転送制御技術およ
び磁気ディスク制御装置に関し、特に、安価で大容量の
DRAMなどからなるバッファメモリを介しての高速デ
ータ転送を可能とする技術に関する。
【0002】
【従来の技術】たとえば、コンピュータシステムなどに
おける外部記憶装置の一つである磁気ディスク装置など
においては、大きなデータ転送能力を有する上位装置と
、回転待ちなどによってデータ転送速度が比較的遅い磁
気ディスク駆動装置との間におけるデータ転送のマッチ
ングを図り、両者間におけるデータ転送効率を高めるな
どの目的で、磁気ディスク駆動装置と上位装置との間に
介在する磁気ディスク制御装置の一部などに、DRAM
などの半導体メモリからなるバッファメモリを設け、こ
のバッファメモリを介してデータ転送を行うことが知ら
れている。
【0003】ところで、バッファメモリを構成するDR
AMに対するアクセスの優先度調停については、従来で
は、たとえば、特開平2−5286号公報などに開示さ
れる技術のように、ページモードを用いてDRAMのリ
ード/ライトサイクルの時間を短縮するとともに、リー
ド/ライトの競合時の優先順位を、リフレッシュサイク
ルで切り替えることにより、リードとライトとを平滑化
し、データ転送効率の向上を向上させようとすることが
知られている。
【0004】また、DRAMに対するリフレッシュ要求
については、同公知例で述べられるように、データの信
頼性確保のために最優先に位置づけられるのが一般的で
あつた。
【0005】
【発明が解決しようとする課題】前記の従来方式では、
DRAMにアクセスする上位装置あるいは下位装置の一
方のデータ転送速度が他方よりも数倍程度速い場合にお
いても、同等の優先度をつけるために処理効率が十分で
なく、かつリフレッシュサイクル毎にバッファのアクセ
ス権を明け渡す必要があり、リフレッシュの分だけ、デ
ータ転送効率が確実に低下するという問題がある。
【0006】したがって、本発明の目的は、上位装置と
下位装置の間におけるデータ転送速度の隔たりに影響さ
れることなく、両者間に介在するバッファメモリを介し
てのデータ転送効率を向上させることが可能なデータ転
送制御技術を提供することにある。
【0007】本発明の他の目的は、バッファメモリの低
価格化と、容量およびデータ転送効率の増大とを両立さ
せることが可能なデータ転送制御技術を提供することに
ある。
【0008】本発明のさらに他の目的は、上位装置と磁
気ディスク駆動装置の間におけるデータ転送速度の隔た
りに影響されることなく、両者間に介在するバッファメ
モリを介してのデータ転送効率を向上させることが可能
な磁気ディスク制御装置を提供することにある。
【0009】本発明の前記ならびにその他の目的と新規
な特徴は、本明細書の記述および添付図面から明らかに
なるであろう。
【0010】
【課題を解決するための手段】本願において開示される
発明のうち、代表的なものの概要を簡単に説明すれば、
下記のとおりである。
【0011】前記課題を解決するために、本発明のデー
タ転送制御方式では、主バッファメモリと上位装置およ
び下位記憶装置とのインタフェースの少なくとも一方に
FIFOメモリなどからなる小容量の前段バッファを設
置し、上位装置および下位記憶装置と、主バッファメモ
リとの間におけるデータ転送要求の各々の優先度を、そ
れぞれのインタフェースの前段バッファの状態(満杯あ
るいは空あるいは余裕あり)によって分類し、上位ある
いは下位記憶装置の転送状態を考慮して、より優先度の
高い処理に対し、ダイナミックに主バッファメモリに対
するアクセス権を優先割り付けするものである。
【0012】また、たとえば、磁気ディスク駆動装置な
どの下位記憶装置のリード、ライト処理が、少なくとも
1セクタ(一般には512バイト)分を、磁気ディスク
の定常回転に伴う一定速度で実行することに着目し、主
バッファメモリへのアクセスアドレスを考慮することに
より、上位装置と下位記憶装置との間におけるリード、
ライトの際、両者間における実際の転送データを用いて
DRAMのリフレッシュを行えるよう設定し、リフレッ
シュカウンタをリセットし、かつ同処理中優先度が高い
ものについては、リフレッシュ要求よりも優先度を上位
とするものである。
【0013】また、本発明の磁気ディスク制御装置は、
上位装置と磁気ディスク駆動装置との間に介在し、両者
間で授受されるデータが一時的に格納される主バッファ
メモリを備えた磁気ディスク制御装置であって、主バッ
ファメモリと上位装置および磁気ディスク駆動装置との
間の少なくとも一方に介設され、主バッファメモリより
も小容量の前段バッファと、上位装置および磁気ディス
ク駆動装置の主バッファメモリに対するアクセス要求を
調停するアクセス要求調停手段と、前段バッファ内のデ
ータ量を検出する検出手段とを備え、アクセス要求調停
手段は、検出手段から得られる前段バッファに格納され
ているデータ量に応じて、上位装置および磁気ディスク
駆動装置の主バッファメモリに対するアクセス要求の実
行優先順序を動的に変更する動作を行うようにしたもの
である。
【0014】
【作用】上記した本発明のデータ転送制御方式および磁
気ディスク制御装置によれば、たとえば、ホストコンピ
ュータなどからなる上位装置側の転送速度が磁気ディス
ク駆動装置などからなる下位記憶装置側より数倍程度早
い場合、リード処理時には上位側の前段バッファ(上位
FIFOメモリ)および下位側の前段バッファ(下位F
IFOメモリ)がともに空の状態で動作する。
【0015】ライト処理時には上位、下位側の前段バッ
ファがともに満杯の状態で動作する。
【0016】逆に、下位記憶装置側のデータ転送速度が
上位装置より数倍程度早い場合、リード時には満杯、ラ
イト時には空で動作する。
【0017】この際、主バッファメモリのリード時の優
先順位を、(1) 下位FIFOメモリ余裕あり、(2
) 上位FIFOメモリ余裕あり、(3) 下位FIF
Oメモリ空、(4)上位FIFOメモリ満杯。
【0018】主バッファメモリのライト時の優先順位を
、(1) 下位FIFOメモリ余裕あり、(2) 上位
FIFOメモリ余裕あり、(3) 下位FIFOメモリ
満杯、(4) 上位FIFOメモリ空。
【0019】とすることにより、全体のデータの流れか
ら上記優先度の高い処理から順に主バッファメモリに対
するアクセス権をとらせることがダイナミックに切り替
え可能となる。この結果、上位装置と磁気ディスク駆動
装置などの下位記憶装置との間におけるデータ転送速度
の隔たりなどに影響されることなく、両者間における主
バッファメモリを介したデータ転送の効率を向上させる
ことができる。
【0020】一般に、磁気ディスク駆動装置においては
、媒体である磁気ディスクにアクセスする時、最小1セ
クタを連続して処理するため、その間、データ転送速度
は磁気ディスクの回転速度に応じた一定のバースト速度
となる。
【0021】本件出願人の製造になる磁気ディスク駆動
装置を例にとると、1セクタ=512バイトを3Mバイ
ト/秒で転送するため、170μsで9ビット分のアド
レスをアクセスする。
【0022】ただし、実際には先読みキャッシュ機能が
動作するため、上記アクセスが1命令で1セクタのみで
次の命令まで時間間隔があいても同機能が働き、1セグ
メント分のバッファエリア(前記磁気ディスク駆動装置
の場合は48Kバイト≧15ビット)をアクセスする。
【0023】実際は、磁気ディスク制御装置あるいは上
位のホストコンピュータのオーバヘッド数ミリ秒がコマ
ンドごとに発生するため、上記先読みキャッシュ機能を
サポートしていない磁気ディスク駆動装置において最小
データ長のアクセスを最小間隔で繰り返した場合でも、
上記オーバヘッドの間に、実際の転送データを用いての
、主バッファメモリを構成するDRAMのリフレッシュ
が可能となる。
【0024】
【実施例】本発明の一実施例であるデータ転送制御方式
および磁気ディスク制御装置について、図1〜図8を用
いて説明する。
【0025】図1は本実施例のデータ転送制御方式およ
び磁気ディスク制御装置の構成の一例を示すブロック図
である。
【0026】本実施例の磁気ディスク制御装置は、全体
の制御を行うマイクロプロセッサ(MPU)1と、上位
の図示しないホストコンピュータ(HOST)との情報
の授受を行うホストインタフェース制御回路2と、下位
の図示しない磁気ディスク駆動装置(以下単にドライブ
と記す)との間における情報の授受を行うディスクイン
タフェース制御回路3と、ディスクインタフェース制御
回路3およびホストインタフェース制御回路2との間で
授受されるデータが一時的に格納されるバッファメモリ
11(DRAM)とを備えている。
【0027】バッファメモリ11に対するホストインタ
フェース制御回路2やディスクインタフェース制御回路
3のアクセスは、バッファアクセス仲裁回路8(アクセ
ス要求調停手段)によって制御され、アクセスは、アド
レス選択回路10を介して指定されるバッファメモリ1
1のアドレスに対して実行される。
【0028】また、ホストインタフェース制御回路2と
バッファメモリ11との間、およびディスクインタフェ
ース制御回路3とバッファメモリ11との間で授受され
るデータ量は、それぞれ、転送カウンタ6および転送カ
ウンタ7によって計数される。
【0029】この実施例の場合、バッファメモリ11は
、DRAMで構成されており、リフレッシュカウンタ9
の値に基づいて、リフレッシュが実行されるが、実行の
有無やタイミングは、バッファアクセス仲裁回路8によ
って管理されている。
【0030】この場合、ホストインタフェース制御回路
2とバッファメモリ11、およびディスクインタフェー
ス制御回路3と、バッファメモリ11との間には、それ
ぞれ、バッファメモリ11よりも小容量のFIFOメモ
リ4(前段バッファ)およびFIFOメモリ5(前段バ
ッファ)が設けられている。
【0031】FIFOメモリ4およびFIFOメモリ5
の各々におけるデータ量は、FIFOカウンタ33およ
びFIFOカウンタ34などにより、後述の図2に示さ
れるように、バッファアクセス仲裁回路8によって把握
されている。
【0032】図示しないホストコンピュータとのデータ
のやり取りは、ホストインタフェース制御回路2にて行
い、データ転送が可能な場合、図示しないホストコント
ローラに対し転送要求信号HSREQ35を出力する。 ホストコントローラが転送許可した場合、転送許可信号
HSACK37が返され、HSACK37あるいはHS
REQ35に同期してデータの授受がFIFOメモリ4
を介して行われる。
【0033】この時の転送のバイトアドレスHOSTA
DR31は転送カウンタ6にて計数される。
【0034】その際のFIFOメモリ4のバイト数はF
IFOカウンタ33にて報告される。
【0035】他方、下位の図示しないドライブ側の図示
しないインタフェースコントローラとのデータのやり取
りは、ディスクインタフェース制御回路3にて行い、デ
ータ転送が可能な場合、ディスクコントローラに対し転
送要求信号DKREQ36を出力する。図示しないディ
スクコントローラが転送を許可した場合、転送許可信号
DKACK38が返され、DKACK38あるいはDK
REQ36に同期してデータの授受がFIFOメモリ5
を介して行われる。
【0036】その際のFIFOメモリ5ののバイト数は
FIFOカウンタ34にて報告される。
【0037】本転送のバイトアドレス32は転送カウン
タ7にて計数される。
【0038】ホストコンピュータに対する転送のための
バッファアクセス要求HREQ22、図示しないドライ
ブに対する転送のためのバッファアクセス要求DREQ
26、本ディスクコントローラを制御するマイクロプロ
セッサ1のバッファアクセス要求MREQ24、および
バッファメモリを構成するバッファメモリ(DRAM)
11をリフレッシュするリフレッシュカウンタ9による
バッファアクセス要求REFREQ29のアクセス仲裁
は、バッファアクセス仲裁回路8にて行い、選択された
要求に対しそれぞれ許可信号HACK23、DACK2
7、MACK25、およびREFACK28が返される
【0039】アクセス要求時のバイトアドレスHOST
ADR31、HDCADR32、MPUADR21、お
よびREFADR30はアドレス選択回路10において
バッファアクセス仲裁回路8からの選択信号SELEC
T8aで選ばれる。
【0040】アドレス選択回路10の選択アドレスはロ
ウアドレスRAWADR39、カラムアドレスCOLU
MNADR39aに分けられる。
【0041】リフレッシュカウンタ9はドライブからの
転送要求に対する許可信号DACK27によってリセッ
トされる。
【0042】図2にバッファアクセス仲裁回路8の構成
の一実施例を示す。
【0043】本実施例のバッファアクセス仲裁回路8は
、仲裁論理45と、この仲裁論理45とFIFOメモリ
4および5との間に介在するOR回路40,41および
OR回路42,43と、OR回路64およびOR回路6
5と、AND回路62およびAND回路63と、仲裁論
理45の出力側に設けられたOR回路47およびOR回
路48とで構成されている。
【0044】ホストインタフェース制御回路2側のFI
FOメモリ4から仲裁論理45に対しては、論理信号4
a、論理信号4bおよび論理信号4c、論理信号4dが
出力されている。論理信号4a、論理信号4bは、OR
回路40を経て後述のHHREQ22aとなり、OR回
路64を介して仲裁論理45に入力されている。
【0045】論理信号4cおよび論理信号4dは、OR
回路41を経て後述のHLREQ22bとなり、このH
LREQ22bの一部は、AND回路62を介して、後
述のHLAST60との論理積がとられ、その結果が、
前記HHREQ22aとともに前記OR回路64の入力
となっている。
【0046】同様に、ディスクインタフェース制御回路
3の側のFIFOメモリ5から仲裁論理45に対しては
、論理信号5a、論理信号5bおよび論理信号5c、論
理信号5dが出力されている。論理信号5a、論理信号
5bは、OR回路42を経て後述のDHREQ26aと
なり、OR回路65を介して仲裁論理45に入力されて
いる。
【0047】論理信号5cおよび論理信号5dは、OR
回路43を経て後述のHLREQ26bとなり、このD
LREQ26bの一部は、AND回路63を介して、後
述のDLAST61との論理積がとられ、その結果が、
前記DHREQ26aとともに前記OR回路65の入力
となっている。
【0048】ホストインタフェース制御回路2側のFI
FOメモリ4はディスクリード時、上位のホストコンピ
ュータからの転送許可信号HSACK37によりカウン
トダウンし、仲裁論理45からの許可信号HACK23
によりカウントアップする。
【0049】ディスクライト時は、上記のカウントアッ
プとカウントダウンが逆になる。
【0050】ドライブ側のFIFOメモリ5はディスク
リード時、下位ドライブからの転送許可信号DKACK
38によりカウントアップし、仲裁論理45からの許可
信号DACK27によりカウントダウンする。
【0051】ディスクライト時は、上記のカウントアッ
プとカウントダウンが逆になる。
【0052】上記FIFOメモリ4および5のデータの
貯まっている状況によって、HOST側およびドライブ
側それぞれ優先度の異なるバッファアクセス要求信号H
HREQ22a(HOST側高優先度)、HLREQ2
2b(HOST側低優先度)、DHREQ26a(ドラ
イブ側高優先度)、DLREQ26a(ドライブ側低優
先度)が仲裁論理45により選択される。
【0053】本仲裁論理45によってこの他にマイクロ
プロセッサ1によるバッファアクセス要求MREQ24
およびリフレッシュカウンタによるリフレッシュのため
のバッファアクセス要求REFREQ29も仲裁される
【0054】仲裁は、仲裁許可タイミング信号ARBI
TEN46により設定されるタイミングで行われる。
【0055】図2では、MREQ24,DHREQ26
a,REFREQ29,HHREQ22a,DLREQ
26b,HLREQ22bの順に優先順位をつけた場合
の例を示す。
【0056】図3によりディスクリード時、図4により
ディスクライト時のFIFOメモリ4,5の状態とバッ
ファアクセス優先度との関係を示す。
【0057】HOSTインタフェース回路より、mペー
ジのページモードでアクセスする場合を例にあげると、
リード時にFIFOメモリ4が空〜(満杯−m)である
時(論理信号4aがオンの時)、FIFOメモリ4にm
バイト以上の空きエリアがあり、1ページ以上のデータ
をバッファから転送が可能であると判断できる。
【0058】ライト時にFIFOメモリ4がm〜満杯で
ある時(論理信号4bがオンの時)、FIFOメモリ4
にmバイト以上のデータがHOSTより転送されており
、バッファメモリ11に書き込み可であると判断できる
【0059】上記2つの場合をホスト側の転送要求の優
先度が高い方とし、OR回路40によりHHREQ22
aとしてバッファアクセス要求する。
【0060】リード時にFIFOメモリ4が満杯〜(満
杯−m)である時(論理信号4cがオンの時)、FIF
Oメモリ4にmバイト分の空きエリアがなく、1ページ
分のデータをバッファメモリ11から転送ができないと
判断できる。
【0061】ライト時にFIFOメモリ4が空〜mであ
る時(論理信号4dがオンの時)、FIFOメモリ4に
mバイト分のデータがHOSTより転送されておらず、
バッファメモリ11に書き込み不可であると判断できる
【0062】上記2つの場合をHOST転送要求の優先
度が低いとし、OR回路41によりHOST転送要求H
LREQ22bとする。
【0063】ドライブにディスクインタフェース制御回
路3より、nページのページモードでアクセスする場合
を例にあげると、リード時にFIFOメモリ5がn〜満
杯である時(論理信号5aがオンの時)、FIFOメモ
リ5にnバイト以上のデータがドライブより転送されて
おり、バッファメモリ11に書き込み可能であると判断
できる。
【0064】ライト時にFIFOメモリ5が空〜(満杯
−n)である時(論理信号5bがオンの時)、FIFO
メモリ5にnバイト以上の空きエリアがあり、バッファ
メモリ11から転送可能であると判断できる。
【0065】上記2つの場合をドライブの側の転送要求
の優先度が高い方とし、OR回路42を介してDHRE
Q26aとしてバッファアクセス要求する。
【0066】リード時にFIFOメモリ5が空〜nであ
る時(論理信号5cがオンの時)、FIFOメモリ5に
nバイト分のデータがドライブより転送されておらず、
バッファメモリ11に書き込み不能であると判断できる
【0067】ライト時にFIFOメモリ5が(満杯−n
)〜満杯である時(論理信号5dがオンの時)、FIF
Oメモリ5にnバイト分の空きエリアがなく、バッファ
から転送不能であると判断できる。
【0068】上記2つの場合を、OR回路43により、
ドライブ転送要求の優先度が低いドライブ転送要求DL
REQ26bとする。
【0069】図5にバッファメモリ11に対するアクセ
スの仲裁タイミングの一実施例を示す。
【0070】各信号のタイミングは基本クロックCLK
50を基準とする。
【0071】本例においては、4ページのページモード
でバッファメモリ11をアクセスする場合を示す。
【0072】ドライブの転送速度がホストコンピュータ
側の転送速度より早い場合、リード時はバッファメモリ
11が満杯、ライト時はバッファメモリ11が空に近い
状態で転送する。
【0073】その際、DHREQ26a(FIFOメモ
リ5が4バイト以上貯まっている=少なくとも1ページ
分転送可)、HLREQ22b(FIFOメモリ4が(
満杯−4)以上貯まっている=1ページ分の空きすらな
い)がONとなる。
【0074】DHREQ26aの方が優先度が高いので
DHACK27aが返りバッファメモリ11のアクセス
権はドライブに与えられる。
【0075】ドライブとの転送のためのバッファアクセ
スはDHACK27aがONの間行われる。
【0076】本例では、4ページのページモードによる
アクセスであるから、1ロウアドレス39(ROW  
ADR)に対する連続する4つのカラムアドレス39a
(COLUMN  ADR)(COL#0〜#3)によ
り選択される。
【0077】BUFWR53のタイミングでデータを書
き込み、BUFRD54のタイミングでデータを読みだ
す、FIFOメモリ5はFIFOCNT55のタイミン
グでカウントをアップダウンする。
【0078】最後のカラムアドレス(COL#3)を選
択した後、ARBITEN46のタイミングで次のバッ
ファアクセス権を選択する。本例ではCLK=1のタイ
ミングでDHREQ26aに優先度で負けるため、アク
セス権を譲って選択待ちしていたHLREQ22bがC
LK=13のアクセス権仲裁では選択され、HLACK
23bが返る。
【0079】この間にHOST側のFIFOメモリ4に
対するHOSTからの転送が進み、HLREQ22bよ
り優先度の高いHHREQ22aにHOST側の要求が
変わっている場合も考えられる。
【0080】この場合、HHREQ22aに対するHH
ACK23bが返されるので、転送上問題はない(図6
参照)。
【0081】データの転送量の基準単位がページモード
の1ページ分のバイト数の倍数ではなく、転送の最後に
端数がでる場合、DHREQ26a,HHREQ22a
を伴わないDLREQ26b,HLREQ22bが出さ
れる。
【0082】この場合、優先度をあげるため、転送の最
後を示す信号HLAST60,信号DLAST61と、
AND回路62およびAND回路63で論理積をとった
HLREQ22b,DLREQ26bを、それぞれHH
REQ22a,DHREQ26aとOR回路64,65
で論理和をとる。
【0083】最後の1バイトを転送するためのDLRE
Q26bに対するバッファアクセス権仲裁のタイミング
の例を図7に示す。
【0084】DLRE26b自体はHHREQ22aよ
り優先度が低いがDLAST61がONしているため、
DHREQ26aと同等の優先度とみなされ、DLAC
K27aが返され、バッファアクセス権を得る。
【0085】1つ目のカラムアドレスの転送終了時点で
バッファアクセスを終了し、DLACK27bがオフし
、次のバッファアクセス権のためのARBITEN46
がオンする。
【0086】上記実施例においては、バッファアクセス
を上位および下位側とも4ページのページモードとした
が、図8に示すようにテーブルを作成し、4ページ/1
6ページの切り替え、バッファメモリ11(DRAM)
も256Kバイト/Mバイトの切り替えを選択する方式
も考えられる。
【0087】また、バッファアクセスの優先度を決める
FIFOメモリ4(5)のデータ量の基準とした上位側
m、下位側nはバッファメモリ11のページアクセス量
ではなく、FIFOメモリ4または5の容量の整数分の
1、あるいは絶対バイト数において設定する方式も考え
られる。
【0088】本実施例の構成中FIFOメモリ4および
FIFOメモリ5の部分は複数面バッファ構成でも可能
であり、バッファメモリ11もDRAMの代わりにSR
AMで構成することも考えられる。
【0089】以上説明したように、本実施例のデータ転
送制御方式および磁気ディスク制御装置によれば、たと
えば標準的なドライブに対するアクセス時において、(
1).ページモードでDRAMなどからなるバッファメ
モリ11をアクセスする際、FIFOメモリ4,5に1
ページ分のデータが貯まった、あるいは1ページ分の空
きがある場合の優先度をあげることにより、常に上位下
位とも効率よく時分割されたページモードで動作できる
ため、低価格大容量のDRAMで高速アクセスを要求さ
れる磁気ディスク制御装置のバッファメモリ11を構成
することができる。
【0090】(2).現状において、一般的に、バッフ
ァメモリ11の構築に用いられるDRAMに必要なリフ
レッシュをドライブ側からのバッファアクセスにて代用
することが可能となり、リフレッシュのためのデータ転
送の中断頻度が減少し、バッファメモリ11を介したデ
ータ転送効率が向上する。
【0091】
【発明の効果】本願において開示される発明のうち、代
表的なものによって得られる効果を簡単に説明すれば、
以下のとおりである。
【0092】すなわち、本発明のデータ転送制御方式に
よれば、上位装置と下位装置の間におけるデータ転送速
度の隔たりに影響されることなく、両者間に介在するバ
ッファメモリを介してのデータ転送効率を向上させるこ
とができるという効果が得られる。
【0093】本発明のデータ転送制御方式によれば、、
バッファメモリの低価格化と、容量およびデータ転送効
率の増大とを両立させることができるという効果が得ら
れる。
【0094】本発明の磁気ディスク制御装置によれば、
上位装置とドライブの間におけるデータ転送速度の隔た
りに影響されることなく、両者間に介在するバッファメ
モリを介してのデータ転送効率を向上させることができ
るという効果が得られる。
【図面の簡単な説明】
【図1】本発明の一実施例であるデータ転送制御方式お
よび磁気ディスク制御装置の構成の一例を示すブロック
図である。
【図2】本発明の一実施例であるデータ転送制御方式に
おけるアクセス仲裁回路の構成の一実施例を示すブロッ
ク図である。
【図3】本発明の一実施例であるデータ転送制御方式に
おける、ディスクリード時のFIFOメモリの状態とバ
ッファアクセス優先度との関係の一例を示す説明図であ
る。
【図4】本発明の一実施例であるデータ転送制御方式に
おけるディスクライト時のFIFOメモリの状態とバッ
ファアクセス優先度との関係の一例を示す説明図である
【図5】本発明の一実施例であるデータ転送制御方式の
作用の一例を示すタイミングチャートである。
【図6】本発明の一実施例であるデータ転送制御方式の
作用の一例を示すタイミングチャートである。
【図7】本発明の一実施例であるデータ転送制御方式の
作用の一例を示すタイミングチャートである。
【図8】本発明の一実施例であるデータ転送制御方式に
おけるバッファメモリの構成例を示す説明図である。
【符号の説明】
1  マイクロプロセッサ(MPU) 2  ホストインタフェース制御回路 3  ディスクインタフェース制御回路4  FIFO
メモリ(前段バッファ)4a  論理信号 4b  論理信号 4c  論理信号 4d  論理信号 5  FIFOメモリ(前段バッファ)5a  論理信
号 5b  論理信号 5c  論理信号 5d  論理信号 6  転送カウンタ 7  転送カウンタ 8  バッファアクセス仲裁回路 9  リフレッシュカウンタ 10  アドレス選択回路 11  バッファメモリ(DRAM) 33  FIFOカウンタ 34  FIFOカウンタ 40  OR回路 41  OR回路 42  OR回路 43  OR回路 45  仲裁論理 47  OR回路 48  OR回路 62  AND回路 63  AND回路 64  OR回路 65  OR回路

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】  上位装置と下位記憶装置との間におけ
    るデータの授受を、前記データを一時的に保持する主バ
    ッファメモリを介して行うデータ転送制御方式であって
    、前記主バッファメモリと前記上位装置および下位記憶
    装置との間の少なくとも一方に介設され、前記主バッフ
    ァメモリよりも小容量の前段バッファと、前記上位装置
    および下位記憶装置の前記主バッファメモリに対するア
    クセス要求を調停するアクセス要求調停手段と、前記前
    段バッファ内の前記データ量を検出する検出手段とを備
    え、前記アクセス要求調停手段は、前記検出手段から得
    られる前記前段バッファに格納されている前記データ量
    に応じて、前記上位装置および下位記憶装置の前記主バ
    ッファメモリに対する前記アクセス要求の実行優先順序
    を動的に変更することを特徴とするデータ転送制御方式
  2. 【請求項2】  前記主バッファメモリが、リフレッシ
    ュカウンタの値に基づいてリフレッシュが行われるDR
    AMからなり、前記アクセス要求調停手段は、前記DR
    AMの前記リフレッシュカウンタによるリフレッシュ要
    求が発生した時、あらかじめ、前記上位装置または下位
    記憶からのアクセス要求により、前記DRAMの前記リ
    フレッシュに代用するのに十分な一定速度一定量のデー
    タ転送に伴うアクセスが認識されている場合には、リフ
    レッシュカウンタをリセットし、前記上位装置または下
    位記憶からのアクセスによって、前記リフレッシュを代
    行させ、前記リフレッシュによる前記DRAMのアクセ
    ス頻度を最小にすることを特徴とする請求項1記載のデ
    ータ転送制御方式。
  3. 【請求項3】  前記前段バッファが先入れ先出し(F
    IFO)メモリからなることを特徴とする請求項1また
    は2記載のデータ転送制御方式。
  4. 【請求項4】  上位装置と磁気ディスク駆動装置との
    間に介在し、両者間で授受されるデータが一時的に格納
    される主バッファメモリを備えた磁気ディスク制御装置
    であって、前記主バッファメモリと前記上位装置および
    磁気ディスク駆動装置との間の少なくとも一方に介設さ
    れ、前記主バッファメモリよりも小容量の前段バッファ
    と、前記上位装置および磁気ディスク駆動装置の前記主
    バッファメモリに対するアクセス要求を調停するアクセ
    ス要求調停手段と、前記前段バッファ内の前記データ量
    を検出する検出手段とを備え、前記アクセス要求調停手
    段は、前記検出手段から得られる前記前段バッファに格
    納されている前記データ量に応じて、前記上位装置およ
    び磁気ディスク駆動装置の前記主バッファメモリに対す
    るアクセス要求の実行優先順序を動的に変更することを
    特徴とする磁気ディスク制御装置。
JP3052487A 1991-03-18 1991-03-18 データ転送制御装置および磁気ディスク制御装置 Expired - Fee Related JP2703668B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP3052487A JP2703668B2 (ja) 1991-03-18 1991-03-18 データ転送制御装置および磁気ディスク制御装置
US07/852,563 US5507005A (en) 1991-03-18 1992-03-17 Data transferring system between host and I/O using a main buffer with sub-buffers where quantity of data in sub-buffers determine access requests

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3052487A JP2703668B2 (ja) 1991-03-18 1991-03-18 データ転送制御装置および磁気ディスク制御装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP06280897A Division JP3151416B2 (ja) 1997-03-17 1997-03-17 データ転送制御装置および磁気ディスク装置

Publications (2)

Publication Number Publication Date
JPH04287261A true JPH04287261A (ja) 1992-10-12
JP2703668B2 JP2703668B2 (ja) 1998-01-26

Family

ID=12916072

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3052487A Expired - Fee Related JP2703668B2 (ja) 1991-03-18 1991-03-18 データ転送制御装置および磁気ディスク制御装置

Country Status (2)

Country Link
US (1) US5507005A (ja)
JP (1) JP2703668B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7450457B2 (en) 2002-02-07 2008-11-11 Solid State Storage Solutions Llc Memory system comprising a controller managing independent data transfer between input-output terminal, synchronous dynamic random access memory, and flash memory
JP2009123236A (ja) * 2009-02-26 2009-06-04 Solid State Storage Solutions Llc メモリシステム
JP2011227919A (ja) * 2000-06-09 2011-11-10 Trustees Of Columbia Univ In The City Of New York 混合された非同期および同期システム用少待ち時間fifo回路
JP2012208961A (ja) * 2012-07-30 2012-10-25 Solid State Storage Solutions Llc メモリシステム

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5644787A (en) * 1993-08-03 1997-07-01 Seiko Epson Corporation Apparatus for controlling data transfer between external interfaces through buffer memory using table data having transfer start address transfer count and unit selection parameter
US5717918A (en) * 1994-06-17 1998-02-10 Hitachi, Ltd. Method for concurrently performing a physical sequential scan of a database into a database buffer which is queued until a preceding scan is completed
US5805930A (en) * 1995-05-15 1998-09-08 Nvidia Corporation System for FIFO informing the availability of stages to store commands which include data and virtual address sent directly from application programs
US5754771A (en) * 1996-02-12 1998-05-19 Sybase, Inc. Maximum receive capacity specifying query processing client/server system replying up to the capacity and sending the remainder upon subsequent request
US5829042A (en) * 1996-02-15 1998-10-27 Hewlett-Packard Company Prefetch operation for network peripheral device having shared memory
US6115767A (en) * 1996-03-04 2000-09-05 Matsushita Electric Industrial Co., Ltd. Apparatus and method of partially transferring data through bus and bus master control device
US6035362A (en) * 1996-06-05 2000-03-07 Goodrum; Alan L. Storing data associated with one request while continuing to store data associated with a previous request from the same device
US5903906A (en) * 1996-06-05 1999-05-11 Compaq Computer Corporation Receiving a write request that allows less than one cache line of data to be written and issuing a subsequent write request that requires at least one cache line of data to be written
US5911055A (en) * 1996-06-05 1999-06-08 Compaq Computer Corporation Using subordinate bus devices that are connected to a common bus
US6108741A (en) * 1996-06-05 2000-08-22 Maclaren; John M. Ordering transactions
US5920898A (en) * 1996-08-16 1999-07-06 Unisys Corporation Memory control unit providing optimal timing of memory control sequences between different memory segments by optimally selecting among a plurality of memory requests
US5890198A (en) * 1996-10-22 1999-03-30 Micron Technology, Inc. Intelligent refresh controller for dynamic memory devices
US5822759A (en) * 1996-11-22 1998-10-13 Versant Object Technology Cache system
US6530000B1 (en) 1999-03-24 2003-03-04 Qlogic Corporation Methods and systems for arbitrating access to a disk controller buffer memory by allocating various amounts of times to different accessing units
DE60029447D1 (de) * 2000-10-06 2006-08-31 St Microelectronics Srl Ein Prozess zur Schnittstellenbildung zwischen einem Mikroprozessor und einem paketorientierten Gerät und System dazu
US6647443B1 (en) * 2000-12-28 2003-11-11 Intel Corporation Multi-queue quality of service communication device
US6785752B2 (en) * 2001-03-23 2004-08-31 International Business Machines Corporation Method for dynamically adjusting buffer utilization ratios in a hard disk drive system
JP2003303469A (ja) * 2002-04-03 2003-10-24 Internatl Business Mach Corp <Ibm> データ記憶装置、ディスク・ドライブ装置、電子機器、ディスク・ドライブ装置の制御方法、電子機器の制御方法およびデータの読み書き方法
US7111228B1 (en) 2002-05-07 2006-09-19 Marvell International Ltd. System and method for performing parity checks in disk storage system
US7007114B1 (en) * 2003-01-31 2006-02-28 Qlogic Corporation System and method for padding data blocks and/or removing padding from data blocks in storage controllers
US7287102B1 (en) 2003-01-31 2007-10-23 Marvell International Ltd. System and method for concatenating data
US7219182B2 (en) * 2003-03-10 2007-05-15 Marvell International Ltd. Method and system for using an external bus controller in embedded disk controllers
US7099963B2 (en) * 2003-03-10 2006-08-29 Qlogic Corporation Method and system for monitoring embedded disk controller components
US7064915B1 (en) 2003-03-10 2006-06-20 Marvell International Ltd. Method and system for collecting servo field data from programmable devices in embedded disk controllers
US7039771B1 (en) 2003-03-10 2006-05-02 Marvell International Ltd. Method and system for supporting multiple external serial port devices using a serial port controller in embedded disk controllers
US7870346B2 (en) * 2003-03-10 2011-01-11 Marvell International Ltd. Servo controller interface module for embedded disk controllers
US7492545B1 (en) 2003-03-10 2009-02-17 Marvell International Ltd. Method and system for automatic time base adjustment for disk drive servo controllers
US7526691B1 (en) 2003-10-15 2009-04-28 Marvell International Ltd. System and method for using TAP controllers
US7139150B2 (en) * 2004-02-10 2006-11-21 Marvell International Ltd. Method and system for head position control in embedded disk drive controllers
US7120084B2 (en) 2004-06-14 2006-10-10 Marvell International Ltd. Integrated memory controller
US8166217B2 (en) * 2004-06-28 2012-04-24 Marvell International Ltd. System and method for reading and writing data using storage controllers
US7757009B2 (en) * 2004-07-19 2010-07-13 Marvell International Ltd. Storage controllers with dynamic WWN storage modules and methods for managing data and connections between a host and a storage device
US9201599B2 (en) * 2004-07-19 2015-12-01 Marvell International Ltd. System and method for transmitting data in storage controllers
US8032674B2 (en) * 2004-07-19 2011-10-04 Marvell International Ltd. System and method for controlling buffer memory overflow and underflow conditions in storage controllers
US7386661B2 (en) 2004-10-13 2008-06-10 Marvell International Ltd. Power save module for storage controllers
US7240267B2 (en) 2004-11-08 2007-07-03 Marvell International Ltd. System and method for conducting BIST operations
US7802026B2 (en) * 2004-11-15 2010-09-21 Marvell International Ltd. Method and system for processing frames in storage controllers
US7609468B2 (en) * 2005-04-06 2009-10-27 Marvell International Ltd. Method and system for read gate timing control for storage controllers
KR100700156B1 (ko) * 2006-02-22 2007-03-28 삼성전자주식회사 다이나믹 메모리의 리프레쉬 컨트롤러, 이를 포함하는반도체 시스템 및 다이나믹 메모리의 리프레쉬 제어 방법.
KR100964374B1 (ko) * 2007-12-17 2010-06-17 한국전자통신연구원 전파식별 태그의 메모리 관리 장치 및 방법
KR101525872B1 (ko) * 2008-11-06 2015-06-04 삼성전자주식회사 반도체 메모리 시스템의 동작 방법
US9208002B2 (en) 2012-01-06 2015-12-08 International Business Machines Corporation Equalizing bandwidth for multiple requesters using a shared memory system
WO2015116075A1 (en) * 2014-01-30 2015-08-06 Hewlett-Packard Development Company, L.P. Copy message from application buffer to send buffer within kernel
US9886207B2 (en) * 2014-09-16 2018-02-06 Mediatek Inc. Memory-access method using batch command queue and associated controller

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6293728A (ja) * 1985-10-18 1987-04-30 Fujitsu Ltd Fifoメモリ制御装置
JPS63192150A (ja) * 1987-02-04 1988-08-09 Nec Corp デ−タ転送緩衝装置
JPS63192151A (ja) * 1987-02-04 1988-08-09 Nec Corp デ−タ転送緩衝装置
JPH0325790A (ja) * 1989-06-23 1991-02-04 Nec Off Syst Ltd 記憶装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4754399A (en) * 1983-12-28 1988-06-28 Hitachi, Ltd. Data transfer control system for controlling data transfer between a buffer memory and input/output devices
US5075805A (en) * 1988-02-25 1991-12-24 Tandon Corporation Disk drive controller system
JPH025286A (ja) * 1988-06-22 1990-01-10 Seiko Instr Inc メモリ制御装置
US5008808A (en) * 1988-06-23 1991-04-16 Storage Technology Corporation Consolidation of commands in a buffered input/output device
US5072420A (en) * 1989-03-16 1991-12-10 Western Digital Corporation FIFO control architecture and method for buffer memory access arbitration
US5317713A (en) * 1991-09-19 1994-05-31 Quantum Corporation Micro-winchester disk drive having on-board segmented cache memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6293728A (ja) * 1985-10-18 1987-04-30 Fujitsu Ltd Fifoメモリ制御装置
JPS63192150A (ja) * 1987-02-04 1988-08-09 Nec Corp デ−タ転送緩衝装置
JPS63192151A (ja) * 1987-02-04 1988-08-09 Nec Corp デ−タ転送緩衝装置
JPH0325790A (ja) * 1989-06-23 1991-02-04 Nec Off Syst Ltd 記憶装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011227919A (ja) * 2000-06-09 2011-11-10 Trustees Of Columbia Univ In The City Of New York 混合された非同期および同期システム用少待ち時間fifo回路
US7450457B2 (en) 2002-02-07 2008-11-11 Solid State Storage Solutions Llc Memory system comprising a controller managing independent data transfer between input-output terminal, synchronous dynamic random access memory, and flash memory
US8036040B2 (en) 2002-02-07 2011-10-11 Solid State Storage Solutions Llc Memory system with improved efficiency of data transfer between host, buffer, and nonvolatile memory
JP2009123236A (ja) * 2009-02-26 2009-06-04 Solid State Storage Solutions Llc メモリシステム
JP2012208961A (ja) * 2012-07-30 2012-10-25 Solid State Storage Solutions Llc メモリシステム

Also Published As

Publication number Publication date
US5507005A (en) 1996-04-09
JP2703668B2 (ja) 1998-01-26

Similar Documents

Publication Publication Date Title
JPH04287261A (ja) データ転送制御装置および磁気ディスク制御装置
US6012106A (en) Prefetch management for DMA read transactions depending upon past history of actual transfer lengths
US5889714A (en) Adaptive precharge management for synchronous DRAM
US5465343A (en) Shared memory array for data block and control program storage in disk drive
US6088772A (en) Method and apparatus for improving system performance when reordering commands
US5594923A (en) Direct memory access controller comprising a multi-word data register for high speed continuous data transfer
US9904489B2 (en) Processing systems, memory controllers and methods for controlling memory access operations
US6591323B2 (en) Memory controller with arbitration among several strobe requests
JP3290650B2 (ja) メモリ制御装置
US8099567B2 (en) Reactive placement controller for interfacing with banked memory storage
US5506968A (en) Terminating access of an agent to a shared resource when a timer, started after a low latency agent requests access, reaches a predetermined value
US20110219196A1 (en) Memory hub with internal cache and/or memory access prediction
US20080270634A1 (en) Management of Transfer of Commands
US20040193779A1 (en) Memory controller
US7707384B1 (en) System and method for re-ordering memory references for access to memory
US6836831B2 (en) Independent sequencers in a DRAM control structure
CN1170226C (zh) 改进内存系统性能的页面收集器
US5802597A (en) SDRAM memory controller while in burst four mode supporting single data accesses
JP3151416B2 (ja) データ転送制御装置および磁気ディスク装置
US20030088751A1 (en) Memory read/write arbitrating apparatus and method
JP3618249B2 (ja) データ転送装置
JP2966038B2 (ja) ディジタルデータ処理ユニット調停装置及び方法
JP3063501B2 (ja) メモリアクセス制御方式
JPS59231665A (ja) デイスク制御装置
JPH11143768A (ja) マイクロプロセッサ及びメモリシステム

Legal Events

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