JPH07295916A - ディスク制御方式 - Google Patents

ディスク制御方式

Info

Publication number
JPH07295916A
JPH07295916A JP8626994A JP8626994A JPH07295916A JP H07295916 A JPH07295916 A JP H07295916A JP 8626994 A JP8626994 A JP 8626994A JP 8626994 A JP8626994 A JP 8626994A JP H07295916 A JPH07295916 A JP H07295916A
Authority
JP
Japan
Prior art keywords
data
disk
read
storage area
write
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
JP8626994A
Other languages
English (en)
Inventor
Koji Kato
浩二 加藤
Kazuhiko Isoda
一彦 礒田
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP8626994A priority Critical patent/JPH07295916A/ja
Publication of JPH07295916A publication Critical patent/JPH07295916A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】所定バイト数の格納領域に複数のデータを書き
込む処理を簡単な制御で効率的に行うことのできるディ
スク制御方式を提供する。 【構成】ディスク装置5から読み込んだデータを一時的
に格納するデータバッファ2〜3と、上記ディスク装置
5のデータを読み捨てるダミー転送装置4とを設け、上
記ディスク装置5へデータを書き込む際、書き込むデー
タの先頭又は最後尾の少なくともいずれかを他のデータ
と同一の格納領域へ共存させる場合に、予め書き込みエ
リアのデータを読み込んで、先頭であればデータバッフ
ァ2へ、最後尾であればデータバッファ3へそれぞれ格
納し、その他の格納領域上のデータについては上記ダミ
ー転送装置5により読み捨てて、このデータバッファ2
〜3に格納されたデータとホストメモリ1上の書き込み
データとをマージし連続してディスク装置5へ書き込む
ことを特徴とする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、計算機システムに接続
されるディスク装置に適用して好適なディスク制御方式
に係り、特に所定バイト数でデータ転送及び格納領域の
管理を行うディスク装置において、この格納領域に複数
のデータを書き込む処理を簡単な制御で効率的に行うこ
とのできるディスク制御方式に関する。
【0002】
【従来の技術】固定長セクタのディスク装置等では、こ
の固定長のセクタ単位でしかアクセスを行うことができ
ない。ところが、ソフトウエアによっては、この固定長
のセクタ単位に満たないレングスを持つデータをアクセ
スしなければならないことがある。
【0003】例えば、図8に示すように、ディスク装置
の持つ固定長セクタの値が512バイトで、ソフトウエ
アからの書込要求が256バイトのレングスを持つデー
タであった場合、従来では、図9に示すように、 (1)セクタの後半を使用しない(図9の(a))。 (2)一セクタ内に二つのデータを格納する(図9の
(b))。 の二通りの方法が主に採用されていた。
【0004】この(2)の方法を採用して書込処理を実
行する場合、該当セクタ上のデータをまず読み込み、次
いでこの読み込んだ該当セクタ上のデータに書込対象の
データを埋め込んでから書き込むという手順を取らざる
をえない。この例を図10に示す。
【0005】図10は従来の書込処理の手順を示す概念
図である。ここでは、該当のセクタ内にデータA及びデ
ータBが格納されており、データBの内容を保証しなが
らデータAの格納位置にデータCを再格納、即ち上書き
する例を示している。
【0006】まず、ディスク装置から該当セクタ上のデ
ータを読み込み(図10の(a))、データAの格納位
置にデータCを埋め込む(図10の(b))。そして、
このデータCを埋め込んだデータをディスク装置の該当
セクタ上に書き込む(図10の(c))。
【0007】このときの動作を図11及び図12を参照
して説明する。図11は従来のディスク制御装置の概略
構成図、図12は従来のディスク制御装置の動作を説明
するための概念図である。
【0008】まず、ディスク装置23からデータバッフ
ァ22に該当セクタ(512バイト)のデータを読み出
す(図12の(1))。次に、データバッファ22に格
納したデータ(512バイト)の前半(256バイト)
にホストメモリ21のデータを上書きする(図12の
(2))。
【0009】そして、ホストメモリ21のデータを上書
きされたデータバッファ22のデータをディスク装置2
2に書き込む(図12の(3))。なお、上述の処理を
実施する場合、書込対象データのレングスが512バイ
ト以上で、かつ256バイトの整数倍であるとすると、
スタートアドレスとデータレングスとの関係から、該当
データの先頭がセクタ上の後半部に、最後尾がセクタ上
の前半部に格納しなければならないときが最もアクセス
回数が多くなり、また、複雑なデータ転送を必要とする
こととなる。
【0010】このときの動作を図13を参照して説明す
る。図13は従来のディスク制御装置の動作を説明する
ための概念図である。まず、ディスク装置23からデー
タバッファ22に先頭データを含むセクタ(512バイ
ト)を読み出す(図13の(1))。
【0011】次に、データバッファ22に格納したデー
タ(512バイト)の後半(256バイト)にホストメ
モリ21の先頭データ(256バイト)を上書きする
(図13の(2))。
【0012】そして、ホストメモリ21のデータを上書
きされたデータバッファ22のデータをディスク装置2
2に書き込む(図13の(3))。また、先頭データの
書き込み後、最後尾データの書き込み直前までの中間デ
ータについて、引き続きホストメモリ21からディスク
装置23への書き込みを行う(図13の(4))。
【0013】ここで、最後尾データを書き込む際に、ま
ず、ディスク装置23からデータバッファ22に最後尾
データを含むセクタ(512バイト)を読み出す(図1
3の(5))。
【0014】次に、データバッファ22に格納したデー
タ(512バイト)の前半(256バイト)にホストメ
モリ21の最後尾データ(256バイト)を上書きする
(図13の(6))。
【0015】そして、ホストメモリ21のデータを上書
きされたデータバッファ22のデータをディスク装置2
2に書き込む(図13の(7))。以上の処理を行うこ
とにより、従来のディスク制御装置は同一セクタ内に複
数のデータを格納していた。
【0016】
【発明が解決しようとする課題】上述したように、従来
のディスク制御方式では、所定バイト数単位でデータ転
送及び格納領域の管理を行うディスク装置において、格
納領域に複数のデータを書き込む処理を行う場合に、最
大二回の読出処理を必要とする等の複雑な処理手順を要
求され、レスポンス等の性能低下を招いていた。
【0017】また、セクタの後半部を使用しない方法に
至っては、記録容量の著しい低下を招くことになってい
た。本発明は、上記実情に鑑みなされたものであり、所
定バイト数単位でデータ転送及び格納領域の管理を行う
ディスク装置において、この格納領域に複数のデータを
書き込む処理を簡単な制御で効率的に行うことのできる
ディスク制御方式を提供することを目的とする。
【0018】
【課題を解決するための手段】本発明は、所定バイト数
単位でデータ転送を行うオペレーティングシステムを備
えた計算機の管理下に置かれ、上記所定バイト数の整数
倍のバイト数単位でデータ転送及び格納領域の管理を行
うディスク装置のディスク制御方式において、上記ディ
スク装置から読み込んだデータが選択的に格納される第
1及び第2のデータバッファと、上記ディスク装置のデ
ータを読み捨てるダミー転送装置と、上記計算機のメモ
リ上の書き込みデータを上記ディスク装置へ書き込む
際、書き込みデータの先頭又は最後尾の少なくともいず
れかを他のデータと同一の格納領域へ共存させる場合
に、予め書き込みエリアとなる格納領域上のデータを読
み込み、共存させるべき格納領域上のデータについて先
頭データの書き込まれる格納領域上のデータであれば上
記第1のデータバッファへ、最後尾データの書き込まれ
る格納領域上のデータであれば上記第2のデータバッフ
ァへそれぞれ格納し、その他の格納領域上のデータにつ
いては上記ダミー転送装置により読み捨てる格納手段
と、この第1及び第2のデータバッファに格納されたデ
ータと上記計算機のメモリ上の書き込みデータとをマー
ジし連続してディスク装置へ書き込む書込手段とを具備
してなることを特徴とする。
【0019】また、本発明は、ダミー転送装置が、読み
込んだデータを所定のバッファメモリに重ね書きするこ
とにより読み捨てることを特徴とする。また、本発明
は、ダミー転送装置が、読み込んだデータをデータ転送
カウンタを更新していくことにより読み捨てることを特
徴とする。
【0020】また、本発明は、共存させるべき格納領域
上のデータを読み込む際に、ディスクアドレスとデータ
レングスとから書き込みエリアとなる格納領域上のデー
タを一度に読み込んで中間部を読み捨てるか、書き込み
データの先頭及び最後尾が書き込まれる格納領域上のデ
ータのみを二度に分けて読み込むかを判断する機能を有
してなることを特徴とする。
【0021】また、本発明は、ディスク装置の立ち上げ
時に、読み込みデータの長さを順次変更させていきなが
ら実際に読込処理を行っていき、その処理時間を測定す
ることにより上記判断時に使用するデータレングスのし
きい値を算出することを特徴とする。
【0022】また、本発明は、回転位置制御装置を備
え、共存させるべき格納領域上のデータを読み込む際
に、書き込みデータの先頭及び最後尾が書き込まれる格
納領域上のデータについて現在の読取位置に近い方から
読み込む機能を有してなることを特徴とする。
【0023】また、本発明は、先読みバッファを備え、
共存させるべき格納領域上のデータを読み込む際に、書
き込みデータの先頭及び最後尾が書き込まれる格納領域
上のデータについて前回のアクセス時に先読みバッファ
に取り込まれている場合はそのデータの方から読み込む
ことを特徴とする。
【0024】また、本発明は、第1及び第2のデータバ
ッファと計算機のメモリ上の書き込みデータとをデータ
チェーンを用いて連続してディスクに転送するダイレク
トメモリアクセスを備えてなることを特徴とする。
【0025】また、本発明は、所定バイト数単位でデー
タ転送及び格納領域の管理を行うディスク装置のディス
ク制御方式において、上記所定バイト数よりも短いデー
タのアクセス要求をアプリケーションプログラムから受
け取った際に、上記アクセス要求が格納領域上の既存デ
ータの保証を不要とする書き込みである場合にはデータ
保証不要書込要求コマンドを発行し、格納領域上の既存
データの更新を前提とした読み込みである場合にはデー
タ保持読込要求コマンドを発行する手段を具備し、デー
タ書き込み時に格納領域上の既存データの読み込みを行
わずに処理することを特徴とする。
【0026】また、本発明は、ディスク装置が、光磁気
ディスク、光ディスク又はフロッピィディスクであるこ
とを特徴とする。また、本発明は、ディスク装置が、所
定バイト数でデータ転送及び格納領域の管理を行う半導
体メモリ素子であることを特徴とする。また、本発明
は、ディスク装置が、パリティディスクの更新をまとめ
て行うアレイ構造のディスク装置であることを特徴とす
る。
【0027】
【作用】本発明の構成によれば、例えば512バイトの
固定長セクタを持つディスク装置に256バイトのデー
タを書き込んでいく場合に、ディスク装置上の書き込み
エリアのスタートアドレスと書き込みデータのレングス
とから、このデータの先頭又は最後尾を他のデータと共
存させて同一の格納領域へ書き込まなければならないか
どうかを判断する。
【0028】この判断結果により書き込むデータの先頭
又は最後尾の少なくともいずれかを他のデータと共存さ
せて同一の格納領域へ書き込まなければならないことが
認識された場合には、この書き込みエリアに格納された
既存データを読み込んで、共存させるべき格納領域上の
データについて先頭データの書き込まれる格納領域上の
データであれば上記第1のデータバッファへ、最後尾デ
ータの書き込まれる格納領域上のデータであれば上記第
2のデータバッファへそれぞれ格納し、かつ、その他の
格納領域上のデータについてはダミー転送装置により読
み捨てる。
【0029】そして、この第1及び第2のデータバッフ
ァに格納されたデータとホストコンピュータメモリ上の
データとをマージし連続して書き込み処理を行う。これ
により、書き込み処理時のディスクの回転回数を減少さ
せる等のオーバーヘッドの削減が可能となる。
【0030】また、本発明の構成によれば、先頭データ
及び最後尾データ以外のデータ、即ち中間データについ
て所定のバッファメモリに重ね書きする。これにより、
これらの中間データのみが格納されたセクタのデータを
読み捨てる。
【0031】また、本発明の構成によれば、先頭データ
及び最後尾データ以外のデータ、即ち中間データについ
てデータ転送カウンタのみを更新していく。これによ
り、これらの中間データのみが格納されたセクタのデー
タを読み捨てる。
【0032】また、本発明の構成によれば、共存させる
べき格納領域上のデータを読み込む際に、判断手段がデ
ィスクアドレスとデータレングスとから書き込みエリア
となる格納領域上のデータを一度に読み込んで中間部を
読み捨てるか、書き込みデータの先頭及び最後尾が書き
込まれる格納領域上のみを二度に分けて読み込むかを判
断する。
【0033】これにより、レスポンスの向上を図ること
が可能となる。また、本発明の構成によれば、ディスク
装置の立ち上げ時に、読込データの長さを順次変更させ
ていきながら実際に読込処理を行っていき、その処理時
間を測定することにより共存させるべき格納領域上のデ
ータの読み込み方法の判断時に使用するデータレングス
のしきい値を算出する。
【0034】これにより、接続されるディスク装置それ
ぞれに最適値を算出することになるため、様々な種類の
ディスク装置に対応できることになり、システムの柔軟
性を確保することが可能となる。
【0035】また、本発明の構成によれば、回転位置制
御装置を備え、共存させるべき格納領域上のデータを読
み込む際に、書き込みデータの先頭及び最後尾が書き込
まれる格納領域上のデータについて現在の読取位置に近
い方から読み込む。
【0036】これにより、レスポンスの向上を図ること
が可能となる。また、本発明の構成によれば、先読みバ
ッファを備え、共存させるべき格納領域上のデータを読
み込む際に、書き込みデータの先頭及び最後尾が書き込
まれる格納領域上のデータについて前回のアクセス時に
先読みバッファに取り込まれている場合はそのデータか
ら読み込む。
【0037】これにより、更にレスポンスの向上を図る
ことが可能となる。また、本発明の構成によれば、DM
A(ダイレクトメモリアクセス)が、第1及び第2のデ
ータバッファと計算機のメモリ上のデータとをデータチ
ェーンを用いて連続してディスクに転送する。
【0038】これにより、データ転送の高速化を図るこ
とが可能である。また、本発明の構成によれば、例えば
512バイトの固定長セクタを持つディスク装置に対し
てアプリケーションプログラムから256バイトのアク
セス要求が行われた場合に、このアクセス要求が格納領
域上の既存データの保証を不要とする書き込みである場
合にはデータ保証不要書込要求コマンドを発行し、ま
た、格納領域上の既存データの更新を前提とした読み込
みである場合にはデータ保持読込要求コマンドを発行す
る。これにより、書き込み処理時の読み込み処理が不要
となるため、オーバーヘッドの削減が可能となる。
【0039】
【実施例】以下図面を参照して本発明の実施例を説明す
る。まず、図1乃至図3を参照して第1実施例を説明す
る。図1は同実施例に係るディスク制御装置の概略構成
を示す図である。
【0040】同実施例に係るディスク制御装置6は、2
56バイト単位にデータの取扱いを行うホストメモリ
1、データバッファ2、データバッファ3及びダミー転
送装置4を備え、512バイト単位にデータ転送及び格
納領域の管理、即ちセクタ管理等を行うディスク装置5
と接続されている。
【0041】ここでは、データレングスが256×4バ
イトで、その先頭データをセクタの後半部に、また最後
尾データをセクタの前半部に格納しなければならない場
合を例にその動作及び手順を図2を参照して説明する。
【0042】図2は同実施例に係るディスク制御装置の
動作及び手順を説明するための概念図である。この場
合、図2に示すディスク装置5のセクタXの途中からデ
ータを書き始めること、及びセクタX+2の途中までデ
ータを送信することを必要とし、この際は当然にセクタ
Xの前半のデータ、及びセクタX+2の後半のデータは
破壊してはならない。
【0043】まず、ディスク装置5からセクタX〜セク
タX+2までのデータを読み出す処理を行うが、このと
き、先頭データの書き込みエリアであるセクタXのデー
タをデータバッファ2に格納し(図2の(1))、ま
た、セクタX+1のデータをダミー転送装置4により読
み捨て(図2の(2))、さらに、最後尾データの書き
込みエリアであるセクタX+2のデータをデータバッフ
ァ3に格納しておく(図2の(3))。
【0044】次に、ホストメモリ1に持つ書き込みデー
タの先頭データ256バイトをデータバッファ2の後半
へ上書きし(図2の(4))、最後尾データ256バイ
トをデータバッファ3の前半へ上書きする(図2の
(5))。
【0045】そして、データバッファ2上のデータ、ホ
ストメモリ1上の中間データ、及びデータバッファ3上
のデータを順次連続してディスク装置5へ書き込む。こ
れにより、書き込み処理を行う際の読込処理を一回で済
ませることが可能となる。
【0046】なお、上述したデータバッファ2及びデー
タバッファ3に格納するデータは、ディスク装置5上の
書き込みエリアに格納された既存のデータの内、先頭デ
ータ及び最後尾データを格納すべきセクタの既存データ
のみであり、中間のデータはまったく不要のデータとい
える。そこで、この書き込みエリアに格納された既存の
データを読み込む際に、以下の二通りの場合を使い分け
る。 (1)ディスク装置5に対し一つのコマンドを発行して
書き込みエリア内のデータ読み込みを行い、途中の不要
なデータは読み捨てて、データバッファ2及びデータバ
ッファ3へ必要なデータを取り込む。 (2)ディスク装置5に対し先頭データの格納されるセ
クタのデータ読み込み用及び最後尾データの格納される
セクタのデータ読み込み用の二つのコマンドを別々に発
行し、データバッファ2及びデータバッファ3へそれぞ
れ取り込む。
【0047】これらの二通りの場合を使い分けることに
より、読み出し処理を効率的に行うことができる。一般
的には全体のデータレングスが短い場合には(1)の方
法で、比較的長い場合には(2)の方法を採用するのが
好ましいが、処理プログラムのオーバーヘッド、データ
転送時間、回転待ち時間等の関係からシステムに最適な
値を算出しなければならない。図3にその例を示す。
【0048】図3は先頭データと最後尾データが格納さ
れるセクタの位置関係を示す概念図である。ここで、
(a)はデータレングスが短い場合、(b)はデータレ
ングスが比較的長い場合、(c)はデータレングスが長
く、かつ複数のトラックに跨がる場合をそれぞれ示して
いる。この例では、特に(c)の場合に上述の(2)の
方法を採用するのが有効である。
【0049】また、ディスク装置5に現在のヘッドの位
置を認識する機能を有する場合には、さらに効率的な読
み出しが実現可能となる。図3の(c)に示す場合、現
在の読取位置が認識できれば、先頭部データの格納され
るセクタのデータと最後部データの格納されるセクタの
データとどちらを先に読み出すほうが効率的かが判別で
きる。即ち、場合によっては最後部データの格納される
セクタのデータから先に読み出して、次に先頭部データ
の格納されるセクタのデータを読み出した方が回転待ち
の影響を受けずに済み、結果的に処理時間を短縮でき
る。
【0050】また、ディスク装置に先読みバッファ(リ
ードアヘッドキャッシュ)を備えている場合、キャッシ
ュヒットしている方から先に読み出す。特に順次読み込
みで処理されている場合には先頭データの格納されるセ
クタのデータがキャッシュヒットする確率が高くなり、
より効率的に処理できる。
【0051】なお、ディスクからの読み出し方法につい
てデータレングスによって処理を振り分ける場合には、
予めシステムに最適な値を設定しなければならない。し
かしながら、様々な種類のディスク装置を接続すること
を考慮すると、画一的に最適値を設けるのではなく、デ
ィスク装置それぞれにその最適値を算出する方法を採用
するのが好ましい。
【0052】例えば、SCSI(Small Computer Syste
m Interface )装置においては、モードセンスコマンド
等によりディスクの物理パラメータを読み出すことがで
きる。これにより、1トラックあたりのセクタ数nを得
る。このとき、ある値m(0<m<n)に対して以下の
処理を行い、その処理時間を計測することにより最適値
を算出する。 (1)セクタ0を読む。 (2)セクタmを読む。 (3)処理時間を計測する。
【0053】以上の処理をm=1,2,3,…,nと変
化させて順次実施していき、その際の処理時間が最も小
さいmを採用する。そして、このmよりもアクセスする
データのレングスが短いときには一コマンドで読み出
し、mよりも長いときには二コマンドで読み出す。
【0054】また、同実施例のディスク装置5への書き
込み時には、異なるDMA(ダイレクトメモリアクセ
ス)転送を連続して行う必要があるが、このとき、DM
Aの繋ぎ目で装置の回転待ちを発生させないようにしな
ければならない。それには、なるべく高速のDMAを使
用するのが望ましい。特に、SCSI装置等では、ディ
スクに対する書き込みコマンドが複数になるとレスポン
スを著しく低下させることとなる。このような場合に、
データバッファ2及びデータバッファ3のデータとホス
トメモリ1のデータとをデータチェーンを用いて連続的
にディスクに転送可能なDMAを備えれば、さらに処理
を高速化することができる。
【0055】なお、同実施例では、データバッファを独
立したメモリとして説明したが、これに限るものではな
く、データバッファと同じ機能をホストメモリ上に実現
させてもよい。
【0056】次に、図4乃至図8を参照して第2実施例
を説明する。図4は同実施例に係るディスク制御装置の
概略構成を示す図である。同実施例に係るディスク制御
装置6は、アクセス制御処理部8、入出力処理部9、及
びディスクコントローラ10を備え、アプリケーション
プログラム7からのアクセス要求を受け取り、ディスク
装置5に対して入出力コマンドを発行することによりデ
ィスク制御を行う。
【0057】同実施例においても、第1実施例で示した
場合と同様に、ディスク装置が512バイト単位でデー
タ転送及び格納領域の管理、即ちセクタ管理等を行い、
このディスク装置の任意のセクタに256バイトのデー
タを二つずつ格納する場合を考える。
【0058】ここで、アプリケーションプログラム7か
らの書き込み要求について考えてみると、場合によって
はセクタ上に格納されたデータの保証(主に後半部)を
必要としないものがある。例えば、 (1)順編成ファイルへの追加書き込み。 (2)ファイル初期化時の書き込み。 等である。
【0059】このような場合は、アクセス制御処理部8
が、その旨の指令を入出力制御処理部9に通知する。ア
クセス制御処理部8からの通知を受けた入出力制御処理
部9は、その通知に従ってディスクコントローラ10に
対して入出力コマンドを発行する。そして、ディスクコ
ントローラ10は、この入出力コマンドに基づいてディ
スク装置5を駆動する。
【0060】また、アプリケーションプログラム7から
の読み込み要求について考えてみると、場合によっては
セクタ上に格納されたデータをバッファに格納しておく
と有効なものがある。例えば、 (1)読み込み直後に更新書き込みが発生することが明
らかな場合。 (2)更新頻度が高いためにバッファメモリに置いてお
くと有効である場合。 等である。
【0061】このような場合も、アクセス制御処理部8
が、その旨の指令を入出力制御処理部9に通知する。ア
クセス制御処理部8からの通知を受けた入出力制御処理
部9は、その通知に従ってディスクコントローラ10に
対して入出力コマンドを発行する。そして、ディスクコ
ントローラ10はこの入出力コマンドに基づいてディス
ク装置5を駆動する。
【0062】次に図5乃至図7を参照して同実施例の動
作を説明する。図5はアクセス制御処理部の動作を説明
するためのフローチャートである。まず、アクセス制御
処理部8は、アプリケーション7からのアクセス要求
(I/O種別)が、読み出し要求であるのか書き込み要
求であるのかを判断する(図5のステップA1)。
【0063】この判断結果が読み出し要求であった場合
には(図5のステップA1のRead)、今後この読み
出しデータに対する更新書き込み処理が行われるか否か
について判断する(図5のステップA2)。この判断
は、アプリケーション7からのアクセス要求時に、パラ
メータ等の付加情報を受け取ることにより行う(以下の
判断においても同様)。
【0064】ここで、更新書き込みがある場合には(図
5のステップA2のY)、データ保持読込要求処理を行
い(図5のステップA3)、更新書き込みがない場合に
は(図5のステップA2のN)、通常の読込要求処理を
行う(図5のステップA4)。
【0065】一方、判断結果が書き込み要求であった場
合には(図5のステップA1のWrite)、上述した
セクタ内の既存データの保証が必要か否かを判断する
(図5のステップA5)。
【0066】ここで、セクタ保証が不要な場合には(図
5のステップA5のN)、セクタ保証不要書込要求処理
を行い(図5のステップA6)、セクタ保証が必要な場
合には(図5のステップA5のY)、通常の書込要求処
理を行う(図5のステップA7)。
【0067】次に、図6を参照して読み込み処理時にお
ける入出力制御処理部及びディスクコントローラの動作
を説明する。図6は読み込み処理時における入出力制御
処理部及びディスクコントローラの動作を説明するため
のフローチャートである。
【0068】まず、アプリケーションプログラム7から
読み込み要求のあったデータをディスク装置5から読み
出す(図6のステップB1)。このとき、この読み込み
要求がデータ保持読込要求であるのかを判断し(図6の
ステップB2)、データ保持読込要求であった場合には
(図6のステップB2のY)、このデータをバッファに
格納しておく(図6のステップB3)。
【0069】次に、図7を参照して書き込み処理時にお
ける入出力制御処理部及びディスクコントローラの動作
を説明する。図7は書き込み処理時における入出力制御
処理部及びディスクコントローラの動作を説明するため
のフローチャートである。
【0070】まず、書き込み要求により指定されたセク
タのデータがバッファに存在するか否かを判断する(図
7のステップC1)。このセクタのデータがバッファに
存在した場合には(図7のステップC1のY)、このバ
ッファのデータを更新し(図7のステップC2)、ディ
スク装置5へ書き込む(図7のステップC8)。
【0071】一方、このセクタのデータがバッファに存
在しない場合には(図7のステップC1のN)、セクタ
保証を必要とする書き込み処理であるか否かを判断する
(図7のステップC3)。
【0072】セクタ保証が不要な場合には(図7のステ
ップC3のY)、さらにこのデータの格納位置がセクタ
の前半部になるのか後半部になるのかを判断する(図7
のステップC4)。ここで、格納位置がセクタの前半部
であった場合には、バッファメモリに当該データを埋め
込み(図7のステップC5)、ディスク装置5へ書き込
む(図7のステップC8)。この際、該当セクタの後半
部分は保証されないことになるが何等問題はない。
【0073】また、セクタ保証が必要な場合(図7のス
テップC3のN)、及びセクタ保証が不要な場合で(図
7のステップC3のY)データの格納位置がセクタの後
半部になる場合には、ディスク装置5から当該セクタの
データを読み出し(図7のステップC6)、データの更
新を行って(図7のステップC7)、ディスク装置5へ
書き込む(図7のステップC8)。
【0074】上述の処理により、データ書き込み時にお
ける該当セクタのデータ読み込み処理を極力不要とする
ことができ、ディスクの回転待ち等による性能低下を防
止することが可能となる。
【0075】なお、本発明は、光磁気ディスク、光ディ
スク、フロッピィディスク、半導体メモリ素子等に適用
可能であるが、アレイ構造のディスク装置についても適
用可能であり、かつ極めて有効である。
【0076】即ち、例えばデータディスク数がn個、パ
リティディスク数が一個の構成を持つRAID(Redund
ant Arrays of Inexpensive Disks )においてm個のデ
ータを連続して書き込む場合、通常の方式では以下のア
クセス処理がm回必要となってしまう。 (1)データディスク読み込み処理。 (2)パリティディスク読み込み処理。 (3)データディスク書き込み処理。 (4)パリティディスク書き込み処理。
【0077】ここで、ソフトウエアがm個のデータを連
続的に書き込むことが予め分かっている場合には、ソフ
トウエアからパリティディスクの更新をまとめて行うよ
うに指示することによりm+1回のアクセス処理で済む
ことになる。 (1)データディスク書き込み処理(m回)。 (2)パリティディスク書き込み処理。 これにより大幅なレスポンスの向上を図ることができ
る。
【0078】
【発明の効果】詳述したように本発明によれば、所定バ
イト数単位でデータ転送及び格納領域の管理を行うディ
スク装置において、この格納領域に複数のデータを書き
込む処理を行う際に、読み込み処理等の各種オーバーヘ
ッドの削減を図ることができ、レスポンスの大幅な向上
を実現することができる。
【図面の簡単な説明】
【図1】同実施例に係るディスク制御装置の概略構成を
示す図。
【図2】同実施例に係るディスク制御装置の動作及び手
順を説明するための概念図。
【図3】先頭データと最後尾データが格納されるセクタ
の位置関係を示す概念図。
【図4】同実施例に係るディスク制御装置の概略構成を
示す図。
【図5】アクセス制御処理部の動作を説明するためのフ
ローチャート。
【図6】読み込み処理時における入出力制御処理部及び
ディスクコントローラの動作を説明するためのフローチ
ャート。
【図7】書き込み処理時における入出力制御処理部及び
ディスクコントローラの動作を説明するためのフローチ
ャート。
【図8】ディスク装置及びソフトウエアのデータの取扱
い単位の相違を示す図。
【図9】データの格納方法を示す図。
【図10】従来の書込処理の手順を示す概念図。
【図11】従来のディスク制御装置の概略構成図。
【図12】従来のディスク制御装置の動作を説明するた
めの概念図。
【図13】従来のディスク制御装置の動作を説明するた
めの概念図。
【符号の説明】
1…ホストメモリ、2,3…データバッファ、4…ダミ
ー転送装置、5…ディスク装置、6…ディスク制御装
置、7…アプリケーションプログラム、8…アクセス制
御処理部、9…入出力制御処理部、10…ディスクコン
トローラ。

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 所定バイト数単位でデータ転送を行うオ
    ペレーティングシステムを備えた計算機の管理下に置か
    れ、上記所定バイト数の整数倍のバイト数単位でデータ
    転送及び格納領域の管理を行うディスク装置のディスク
    制御方式において、上記ディスク装置から読み込んだデ
    ータが選択的に格納される第1及び第2のデータバッフ
    ァと、上記ディスク装置のデータを読み捨てるダミー転
    送装置と、上記計算機のメモリ上の書き込みデータを上
    記ディスク装置へ書き込む際、書き込みデータの先頭又
    は最後尾の少なくともいずれかを他のデータと同一の格
    納領域へ共存させる場合に、予め書き込みエリアとなる
    格納領域上のデータを読み込み、共存させるべき格納領
    域上のデータについて先頭データの書き込まれる格納領
    域上のデータであれば上記第1のデータバッファへ、最
    後尾データの書き込まれる格納領域上のデータであれば
    上記第2のデータバッファへそれぞれ格納し、その他の
    格納領域上のデータについては上記ダミー転送装置によ
    り読み捨てる格納手段と、この第1及び第2のデータバ
    ッファに格納されたデータと上記計算機のメモリ上の書
    き込みデータとをマージし連続してディスク装置へ書き
    込む書込手段とを具備してなることを特徴とするディス
    ク制御方式。
  2. 【請求項2】 ダミー転送装置は、読み込んだデータを
    所定のバッファメモリに重ね書きすることにより読み捨
    てる請求項1記載のディスク制御方式。
  3. 【請求項3】 ダミー転送装置は、読み込んだデータを
    データ転送カウンタを更新していくことにより読み捨て
    る請求項1記載のディスク制御方式。
  4. 【請求項4】 共存させるべき格納領域上のデータを読
    み込む際に、ディスクアドレスとデータレングスとから
    書き込みエリアとなる格納領域上のデータを一度に読み
    込んで中間部を読み捨てるか、書き込みデータの先頭及
    び最後尾が書き込まれる格納領域上のデータのみを二度
    に分けて読み込むかを判断する機能を有してなる請求項
    1記載のディスク制御方式。
  5. 【請求項5】 ディスク装置の立ち上げ時に、読み込み
    データの長さを順次変更させていきながら実際に読込処
    理を行っていき、その処理時間を測定することにより上
    記判断時に使用するデータレングスのしきい値を算出す
    る請求項4記載のディスク制御方式。
  6. 【請求項6】 回転位置制御装置を備え、共存させるべ
    き格納領域上のデータを読み込む際に、書き込みデータ
    の先頭及び最後尾が書き込まれる格納領域上のデータに
    ついて現在の読取位置に近い方から読み込む機能を有し
    てなる請求項1記載のディスク制御方式。
  7. 【請求項7】 先読みバッファを備え、共存させるべき
    格納領域上のデータを読み込む際に、書き込みデータの
    先頭及び最後尾が書き込まれる格納領域上のデータにつ
    いて前回のアクセス時に先読みバッファに取り込まれて
    いる場合はそのデータの方から読み込む請求項1記載の
    ディスク制御方式。
  8. 【請求項8】 第1及び第2のデータバッファと計算機
    のメモリ上の書き込みデータとをデータチェーンを用い
    て連続してディスクに転送するダイレクトメモリアクセ
    スを備えてなる請求項1記載のディスク制御方式。
  9. 【請求項9】 所定バイト数単位でデータ転送及び格納
    領域の管理を行うディスク装置のディスク制御方式にお
    いて、上記所定バイト数よりも短いデータのアクセス要
    求をアプリケーションプログラムから受け取った際に、
    上記アクセス要求が格納領域上の既存データの保証を不
    要とする書き込みである場合にはデータ保証不要書込要
    求コマンドを発行し、格納領域上の既存データの更新を
    前提とする読み込みである場合にはデータ保持読込要求
    コマンドを発行する手段を具備し、データ書き込み時に
    格納領域上の既存データの読み込みを行わずに処理する
    ことを特徴とするディスク制御方式。
  10. 【請求項10】 ディスク装置は、光磁気ディスク、光
    ディスク又はフロッピィディスクである請求項9記載の
    ディスク制御方式。
  11. 【請求項11】 ディスク装置は、所定バイト数でデー
    タ転送及び格納領域の管理を行う半導体メモリ素子であ
    る請求項9記載のディスク制御方式。
  12. 【請求項12】 ディスク装置は、パリティディスクの
    更新をまとめて行うアレイ構造のディスク装置である請
    求項9記載のディスク制御方式。
JP8626994A 1994-04-25 1994-04-25 ディスク制御方式 Pending JPH07295916A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8626994A JPH07295916A (ja) 1994-04-25 1994-04-25 ディスク制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8626994A JPH07295916A (ja) 1994-04-25 1994-04-25 ディスク制御方式

Publications (1)

Publication Number Publication Date
JPH07295916A true JPH07295916A (ja) 1995-11-10

Family

ID=13882107

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8626994A Pending JPH07295916A (ja) 1994-04-25 1994-04-25 ディスク制御方式

Country Status (1)

Country Link
JP (1) JPH07295916A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10304336A (ja) * 1997-04-30 1998-11-13 Matsushita Electric Ind Co Ltd マルチメディア情報提供装置
US8812798B2 (en) 2011-08-18 2014-08-19 International Business Machines Corporation Indication of a destructive write via a notification from a disk drive that emulates blocks of a first block size within blocks of a second block size

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10304336A (ja) * 1997-04-30 1998-11-13 Matsushita Electric Ind Co Ltd マルチメディア情報提供装置
US8812798B2 (en) 2011-08-18 2014-08-19 International Business Machines Corporation Indication of a destructive write via a notification from a disk drive that emulates blocks of a first block size within blocks of a second block size
JP2014523043A (ja) * 2011-08-18 2014-09-08 インターナショナル・ビジネス・マシーンズ・コーポレーション 第2のブロック・サイズのブロック内の第1のブロック・サイズのブロックをエミュレートするディスク・ドライブからの通知を介した破壊的書き込みのインジケーションのための方法、システム、およびコンピュータ・プログラム(第2のブロック・サイズのブロック内の第1のブロック・サイズのブロックをエミュレートするディスク・ドライブからの通知を介した破壊的書き込みのインジケーション)
US9207883B2 (en) 2011-08-18 2015-12-08 International Business Machines Corporation Indication of a destructive write via a notification from a disk drive that emulates blocks of a first block size within blocks of a second block size
US9372633B2 (en) 2011-08-18 2016-06-21 International Business Machines Corporation Indication of a destructive write via a notification from a disk drive that emulates blocks of a first block size within blocks of a second block size

Similar Documents

Publication Publication Date Title
US7814271B2 (en) Disk controller configured to perform out of order execution of write operations
JP3898782B2 (ja) 情報記録再生装置
JP3586887B2 (ja) 情報記録再生装置およびデータキャッシュ方法
JP3254429B2 (ja) データ転送/管理システム及び方法
JP2004295893A (ja) データ格納及びキャッシングアーキテクチャ
JP3745552B2 (ja) 情報記憶装置
US6523086B1 (en) Method for improving performance of read cache of magnetic disk drive
JPH1011337A (ja) 記憶装置におけるデータ制御方法
JP3122702B2 (ja) ディスク装置のライトバック制御方法
JPH11212733A (ja) 外部記憶システム
JPH0519981A (ja) 光デイスク装置のデータ書込み正常終了判定方法
JPH04111113A (ja) ハードディスクエミュレータ
US6041392A (en) Disk drive device and method for controlling the same
JP3080758B2 (ja) 磁気ディスク装置
JP2834081B2 (ja) 磁気ディスク制御装置
JPH05257810A (ja) 情報記録再生装置および情報記録方法
JPH02132515A (ja) 先読み制御方式
JPH11345093A (ja) 記憶装置サブシステム
JP2002014869A (ja) キャッシュ装置およびキャッシュ方法
JPH11110138A (ja) 記憶制御装置
JPH09128291A (ja) キャッシュメモリ管理方法
JPH0675710A (ja) バッファ付きディスク装置
JPH09128290A (ja) キャッシュメモリ管理方法
JPH09171487A (ja) 磁気ディスク装置
JP2001282461A (ja) ディスクキャッシュ管理方法、ディスクキャッシュ管理装置、及びディスクキャッシュ管理プログラム記録媒体