JPH08185271A - ディスク装置用データ処理方法及びディスク装置 - Google Patents

ディスク装置用データ処理方法及びディスク装置

Info

Publication number
JPH08185271A
JPH08185271A JP6324715A JP32471594A JPH08185271A JP H08185271 A JPH08185271 A JP H08185271A JP 6324715 A JP6324715 A JP 6324715A JP 32471594 A JP32471594 A JP 32471594A JP H08185271 A JPH08185271 A JP H08185271A
Authority
JP
Japan
Prior art keywords
data
segment
sector
segments
held
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
JP6324715A
Other languages
English (en)
Inventor
Yuji Kigami
雄二 木上
Mitsuharu Yamada
光治 山田
Toshio Kanai
俊夫 金井
Kazuyuki Ishibashi
和幸 石橋
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 JP6324715A priority Critical patent/JPH08185271A/ja
Priority to US08/576,027 priority patent/US6092145A/en
Publication of JPH08185271A publication Critical patent/JPH08185271A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06F3/0674Disk device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/312In storage controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 データの入出力を効率的かつ単純に高速処理
する。 【構成】 ホストコンピュータ32からの要求信号がH
DC30のI/O42を介してセグメントハンドラ36
に入力される。セグメントハンドラ36は、テーブルメ
モリ44に記憶されたセグメントテーブルを参照しセグ
メントを選択し、メモリマネジャ38を介して、複数の
セグメントに分割されたセグメントメモリ46を設定
し、ディスク部11に対するデータの転送を行う。セグ
メントハンドラ36には、相互排他の原則に基づく規則
が予め記憶定められ、各セグメントについいてセグメン
トメモリ46内に同一セクタのデータが重複しないよう
にデータが保持される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ディスク装置用データ
処理方法及びディスク装置にかかり、特に、複数のセグ
メントに分割されたセクタバッファを用いてデータの入
出力をするディスク装置用データ処理方法及びディスク
装置に関する。
【0002】
【従来の技術】コンピュータ等で用いられる膨大な情報
を記録するための情報記録媒体として、ハードディスク
ドライブユニット装置(以下、HDD装置という。)が
実用化されている。このHDD装置では、複数の磁気記
録円盤(以下、ディスクという。)を備え、このディス
クに定められた所望のトラック上に再生・記録ヘッド
(以下、磁気ヘッドという。)を位置させて、ディスク
への情報記録またはディスクからの情報再生を行ってい
る。
【0003】一般的に、HDD装置はディスクからデー
タを読み書きする速度とホストコンピュータにデータを
転送する速度とが一致しないので、HDD装置内にデー
タを一時的に保持するためのセクタバッファと呼ばれる
メモリが必要になる。例えば、ホストコンピュータがH
DD装置に対して読み取りの指令(Read命令)を出力す
ると、HDD装置はディスクから読み取ったデータを一
旦セクタバファに保持し、一定量のデータを保持すると
ホストコンピュータに転送する。一方、ホストコンピュ
ータがHDD装置に対して書き込みの指令(Write 命
令)を出力すると、HDD装置はホストコンピュータか
ら出力されるデータを一旦セクタバファに保持し、ディ
スクシーク等を行い、磁気ヘッドが目的のセクタに至る
と、ディスクにデータを書き込む。
【0004】近年のHDD装置の大容量化に伴うデータ
の入出力の高速化を図る技術として、データの読み書き
時にセクタバッファをリードアヘッド・バッファとして
用いることやライト・キャッシュのメモリとして用いる
ことが知られている。すなわち、Read命令に対するHD
D装置の挙動としては、あるセクタのデータを読み取り
そのデータ転送が終了した後に、先の命令のセクタに連
続するセクタにRead命令が出される可能性が非常に高
い。このため、先のRead命令のセクタの読み込みに続い
てそれに連続するセクタのデータを予め読み取る、リー
ドアヘッドまたはルックアヘッド等と呼ばれる処理をす
ることが、次のRead命令に対して、迅速にデータ転送を
開始するために極めて有効である。リードアヘッド・バ
ッファとは、このような予め読み取った次のセクタのデ
ータを保持するためのメモリとして用いることである。
Write 命令に対するHDD装置の挙動としては、ホスト
コンピュータからのデータをディスクの指定されたセク
タに書き込み、この書き込みが終了した時点でHDD装
置がホストコンピュータに書き込み終了を報知する。こ
の書き込み終了の報知は、ディスクへの書き込み終了を
またずとも転送が終了した時点ですることが可能であ
る。これにより、ホストコンピュータ側から見たWrite
命令の完了までの処理時間を見かけ上短縮することがで
きる。ライト・キャッシュとは、ホストコンピュータか
らのデータを一旦セクタバファに保持し、ディスクへの
書き込み終了をまたずHDD装置へのデータ転送が終了
した時点書き込み終了の報知をすることである。
【0005】このようなセクタバッファは、メモリの低
価格化によってより大容量化が進んでいる。このため、
セクタバッファを複数の領域(セグメント)に分割して
使用するセグメンテイションと呼ばれる技術が一般的に
なってきている。この複数のセグメントに分割された大
容量のセクタバッファをリードアヘッド・バッファやラ
イト・キャッシュのメモリとして用いることは、複数の
セグメントに複数のセクタのデータをリードアヘッドで
きると共に、複数のセグメントに複数のセクタのデータ
をライト・キャッシュできる。
【0006】複数のセグメントに分割された大容量のセ
クタバッファを用いてRead命令やWrite 命令に対する処
理をする場合には、以下のようにして処理する。
【0007】Read命令に対してHDD装置は、先ず、処
理に使用するセクタバッファのセグメントとして、ホス
トコンピュータが要求したセクタのデータの少なくとも
一部を保持しているセグメントを1つ設定する。このと
き複数のセグメントが該当する場合には、要求された
先頭のセクタのデータを保持しているセグメント、要
求されたセクタのデータを最も多く保持しているセグメ
ント、要求されたセクタ数を最も効率よく対処できる
セグメント、等の条件を考慮する。これらの条件で選択
できない(要求されたセクタのデータを保持しているセ
グメントがない等)場合には、最古使用のセグメン
ト、保持しているセクタ数が最小のセグメント、要
求されたセクタ数を最も効率よく対処できる、等を考慮
する。次に、設定されたセグメントに(ホストコンピュ
ータへ転送可能な)一定量以上のデータが保持されてい
るときに転送を開始すると共に、不足のセクタのデータ
をディスクから読み込んで、要求のセクタのデータ全て
転送完了した後、終了の報知をする。
【0008】Write 命令に対しても同様にHDD装置
は、先ず、処理に使用するセクタバッファのセグメント
を1つ設定する。この場合、ホストコンピュータの要求
により、該当するセクタのデータを更新するので、セグ
メントに保持されたデータを無効化しなければならな
い。この無効かを効率的に行うため、要求されたセク
タ以外のデータの保持が最小であるセグメント、最古
使用のセグメント、要求されたセクタ数を最も効率よ
く対処できるセグメント、等の条件を考慮する。次に、
設定されたセグメントに(ホストコンピュータからの)
一定量以上のデータを転送を開始すると共に、ディスク
上該当のセクタへデータを書き込んで、要求のセクタの
データ全て転送完了した後、終了の報知をする。この
後、要求のセクタのデータ全てをディスク上該当のセク
タへデータを書き込んで処理を終了する。
【0009】
【発明が解決しようとする課題】しかしながら、従来の
HDD装置では、処理に使用するセクタバッファのセグ
メントを1つ設定すると、処理完了までこのセグメント
を使用することになり、あるセクタのデータが複数のセ
グメントに保持される場合がある。すなわち、図13
(1)に示すように、ホストコンピュータからのセクタ
R1からセクタSR2までのRead命令に対してセグメント
SGX ,SGY にそのデータの一部が含まれていると、
HDD装置は上記の条件を考慮して、セグメントSGX
を処理に使用するセグメントに設定する。次にセグメン
トSGX にはセクタSRA、までのデータを保持している
ので、既に保持しているセクタ分のデータ(矢印R1
のデータ転送を開始すると共に、不足のセクタ(矢印R
2 )のデータをディスクから読み込んで、全てを転送す
る。この結果、図13(2)に示すように、セクタSRC
からセクタSRDまでのデータを、セグメントSGX ,S
Y の双方で保持することになる。
【0010】また、Write 命令に対しては、セグメント
に保持されたデータを無効化しなければならないので、
該当するセグメント調査すると共に調査後に得られたセ
グメントの各々に保持されたデータを無効化しなければ
ならない。すなわち、図13(3)に示すように、ホス
トコンピュータからのセクタSR3からセクタSR4までの
Write 命令に対してセグメントSGX ,SGY の双方に
データの一部が含まれているので、共に無効化しなけれ
ばならない。
【0011】このように、セクタバッファ内に同一のデ
ータが複数存在する可能性があるためにセクタバッファ
を効率的に使用することができない。また、更新するた
めのデータを含む、該当するセグメント調査すると共に
調査後に得られたセグメントの各々に保持されたデータ
を無効化しなければならないので、処理が煩雑になると
共に、セクタバッファを制御するローカルCPUの処理
負担が増加する。
【0012】本発明は、上記事実を考慮して、データの
入出力を効率的かつ単純に高速処理することができるデ
ィスク装置用データ処理方法及びディスク装置を得るこ
とが目的である。
【0013】
【課題を解決するための手段】上記目的を達成するため
に本発明のディスク装置用データ処理方法は、複数のセ
クタからなる情報保持ディスクと、前記情報保持ディス
クから読み取ったデータ又は前記情報保持ディスクに書
き込むべきデータを一時的に保持すると共に複数のセグ
メントに分割されたセクタバッファとを備えたディスク
装置に対する前記データの入出力処理をするディスク装
置用データ処理方法であって、前記セクタバッファ内に
前記データの少なくとも1部が重複して保持されないよ
うに、前記データを分類し前記セクタバッファの1また
は複数のセグメントに保持させる。
【0014】また、前記セグメントの各々に異なるセク
タのデータが保持されるように分類することができる。
【0015】また、同一セクタのデータを複数のセグメ
ントに保持させる場合には同一のセクタのデータを複数
に分割した分割データを1単位として分類して各分割デ
ータを前記セクタバッファ内の何れか1つのセグメント
に保持させることができる。
【0016】また、前記入出力処理を要求されたデータ
の少なくとも一部が複数のセグメントに跨がって保持さ
れると共に、当該要求されたデータの入出力処理をする
場合には、当該処理中に処理対象となるセグメントを前
記データを保持したセグメントに切り換えて、当該セグ
メントを用いて前記データを入出力することができる。
【0017】また、前記入出力処理について未処理のデ
ータを保持しているセグメントに処理中のデータが満た
されたときに処理対象となるセグメントを他のセグメン
トに切り換えて、当該セグメントを用いて前記データを
入出力することができる。
【0018】また、前記入出力処理を要求されたデータ
の一部が複数のセグメントに保持されると共に、保持し
ていないデータを一時的に保持するために処理対象とな
るセグメントにデータが満たされて新たにデータの保持
が必要なときに、予め定めた1つのセグメントを一時的
に保持するために処理対象となるセグメントに設定し設
定されたセグメントを用いて前記データを入出力するこ
とができる。
【0019】また、ディスク装置は、複数のセクタから
なる情報保持ディスクと、前記情報保持ディスクから読
み取ったデータ又は前記情報保持ディスクに書き込むべ
きデータを一時的に保持すると共に複数のセグメントに
分割されたセクタバッファと、前記セクタバッファ内の
各セグメントに保持された前記データの大きさを表すサ
イズ情報、前記データが含まれるセクタを表す位置情
報、及び前記セクタバッファ内のセグメントの順序を表
す序列情報の対応関係を記憶可能なセグメントテーブル
メモリと、前記情報保持ディスクから読み取ったデータ
を、前記セクタバッファ内に前記データの少なくとも1
部が重複して保持されないように前記セクタバッファの
1または複数のセグメントに保持させて当該保持された
1または複数のセグメントのデータを要求されるデータ
として出力すると共に、前記情報保持ディスクに書き込
むべきデータを、前記セクタバッファ内に前記データの
少なくとも1部が重複して保持されないように前記セク
タバッファの1または複数のセグメントに保持させて当
該保持された1または複数のセグメントを要求されるデ
ータとして前記情報保持ディスクに書き込むデータ制御
手段と、を備えている。
【0020】前記データ制御手段は、前記セグメントの
各々に異なるセクタのデータが保持されるように制御す
ることができる。
【0021】また、前記データ制御手段は、同一セクタ
のデータを複数のセグメントに保持させる場合に同一の
セクタのデータを複数に分割した分割データを1単位と
して分類して各分割データを前記セクタバッファ内の何
れか1つのセグメントに保持させるように制御すること
ができる。
【0022】
【作用】本発明によれば、セクタバッファ内にデータの
少なくとも1部が重複して保持されないように、保持さ
れるので、情報保持ディスクに対して読み取ったデータ
又は書き込むべきデータはセクタバッファの各セグメン
トに一義的に保持される。
【0023】このセグメントの各々に異なるセクタのデ
ータが保持されるように分類すれば、セグメント毎に異
なるセクタのデータが保持され、セクタバッファにデー
タが重複して保持されることがない。
【0024】また、同一セクタのデータを複数のセグメ
ントに保持させる場合には同一のセクタのデータを複数
に分割した分割データを1単位として分類して各分割デ
ータを前記セクタバッファ内の何れか1つのセグメント
に保持させれば、同一セクタのデータであっても、重複
保持されることがない。
【0025】このとき、入出力処理を要求されたデータ
の少なくとも一部が複数のセグメントに跨がって保持さ
れると共に、当該要求されたデータの入出力処理をする
場合には、当該処理中に処理対象となるセグメントをデ
ータを保持したセグメントに切り換えて、当該セグメン
トを用いてデータを入出力すれば、重複して保持されな
いセグメントのデータを容易に入出力できる。
【0026】また、入出力処理に未処理のデータを保持
しているセグメントに処理中のデータが満たされたとき
に処理対象となるセグメントを他のセグメントに切り換
えて、当該セグメントを用いて前記データを入出力すれ
ば、未処理のデータを保護できる。
【0027】また、入出力処理を要求されたデータの一
部が複数のセグメントに保持されると共に、保持してい
ないデータを一時的に保持するために処理対象となるセ
グメントにデータが満たされて新たにデータの保持が必
要なときに、予め定めた1つのセグメントを一時的に保
持するために処理対象となるセグメントに設定し設定さ
れたセグメントを用いてデータを入出力すれば、更新さ
れるセグメントを予め定めた1つのセグメントのみにで
き、他のセグメントのデータを保護できる。
【0028】上記の方法は、複数のセクタからなる情報
保持ディスクと、情報保持ディスクから読み取ったデー
タ又は前記情報保持ディスクに書き込むべきデータを一
時的に保持すると共に複数のセグメントに分割されたセ
クタバッファと、前記セクタバッファ内の各セグメント
に保持された前記データの大きさを表すサイズ情報、前
記データが含まれるセクタを表す位置情報、及び前記セ
クタバッファ内のセグメントの順序を表す序列情報の対
応関係を記憶可能なセグメントテーブルメモリと、前記
情報保持ディスクから読み取ったデータを、前記セクタ
バッファ内に前記データの少なくとも1部が重複して保
持されないように前記セクタバッファの1または複数の
セグメントに保持させて当該保持された1または複数の
セグメントのデータを要求されるデータとして出力する
と共に、前記情報保持ディスクに書き込むべきデータ
を、前記セクタバッファ内に前記データの少なくとも1
部が重複して保持されないように前記セクタバッファの
1または複数のセグメントに保持させて当該保持された
1または複数のセグメントを要求されるデータとして前
記情報保持ディスクに書き込むデータ制御手段と、を備
えたディスク装置により実現できる。このデータ制御手
段が、セグメントの各々に異なるセクタのデータが保持
されるように制御すれば、セグメント毎に異なるセクタ
のデータが保持され、セクタバッファにデータが重複し
て保持されることがない。また、データ制御手段が、同
一セクタのデータを複数のセグメントに保持させる場合
に同一のセクタのデータを複数に分割した分割データを
1単位として分類して各分割データを前記セクタバッフ
ァ内の何れか1つのセグメントに保持させるように制御
すれば、同一セクタのデータであっても、重複保持され
ることがない。
【0029】
【実施例】以下、図面を参照して、本発明の実施例を詳
細に説明する。本実施例は、磁気記録円盤(ディスク)
に対して、セクタサーボ法によって磁気ヘッドを位置決
めするHDD装置10に本発明を適用したものである。
なお、本発明は、ディスクを半径方向に所定数の領域
(ゾーン)に区分して、セクタサーボ法を応用した、デ
ィスクの内周から外周までを所定の線密度で記録または
読取するマルチゾーン法により形成されたHDD装置へ
の適用も可能である。
【0030】図1に示すように、本実施例に係るHDD
装置10は、ディスク部11と、ローカルCPUを備え
たハードディスクコントローラ(以下、HDCとい
う。)30とから構成されている。
【0031】ディスク部11は、シャフト12を高速で
回転させる駆動装置14を備えている。シャフト12に
は、互いの軸線が一致するように円筒状の支持体16が
取付けられており、支持体16の外周面には複数枚(図
1では2枚)の情報記録用ディスクとしてのディスク1
8A、18Bが各々所定間隔隔てて取付けられている。
ディスク18A,18Bは所定の厚み寸法の円盤状とさ
れており、各々硬質の材料で製作されかつ両面に磁性材
料が塗布されており、両面が記録面とされている。ディ
スク18A,18Bの中心部には支持体16の外径寸法
とほぼ同径の孔が穿設されている。孔には支持体16が
挿入されており、ディスク18A,18Bは支持体16
の外周面に固定されている。従って、駆動装置14によ
ってシャフト12が回転されると、ディスク18A,1
8Bは支持体16と一体的に回転される。
【0032】ディスク18A,18Bの各々の記録面に
は、図2に示すようにディスク18の半径方向に沿って
複数のサーボ領域50が放射状に形成され、残りの領域
がデータトラック領域52とされている。サーボ領域5
0には、データトラックの配列方向等を示すためのバー
ストパターン等のサーボ信号が記録され、また、パター
ンの開始を示す特殊コード(1μsec 程度の無信号領域
等)及び各データトラックのアドレス等を表すグレイコ
ード(巡回2進符号)が、データトラックに対応されて
記録されている。なお、サーボ領域50の回転方向の終
端には、サーボ領域50の終了を表す(セクタの開始を
表す)セクタパルス信号SPを発生させるための情報が
記録されている。データトラック領域52には複数のト
ラックが半径方向に沿って同心円状にピッチPで形成さ
れている。また、各トラックには、後述する磁気ヘッド
によってディスク18A,18Bの回転方向に沿って情
報が書き込まれる。
【0033】上記HDD装置10は、ディスク18A,
18Bの各々の記録面に対応して設けられた所定ヘッド
ギャップ幅及びギャップ長のMRヘッドとしての磁気ヘ
ッド20A〜20Dを備えている。本実施例では、各磁
気ヘッド20A〜20Dは、情報を読取るための再生素
子21A〜21Dと、情報を書込むための記録素子19
A〜19Dとから構成されている。磁気ヘッド20A〜
20Dの各々は、対応するアクセスアーム22A〜22
Dの先端部に取付けられており、ディスク18A,18
Bの対応する記録面から若干(例えば 0.1〜 0.2ミクロ
ン程度)離れた位置に保持されている。アクセスアーム
22A〜22Dのの後端部は支持部24に取り付けられ
ている。支持部24は、シャフト26を介して駆動装置
28に取り付けられており、駆動装置28が所定角度だ
け回動することによってアクセスアーム22A〜22D
が旋回するようになっている。このアクセスアーム22
A〜22Hの旋回によって、各磁気ヘッド20A〜20
Dがディスク18A,18Bの各記録面上を半径方向
(図2参照)に移動し、ディスク18A〜18Dの記録
面上の所定部位に位置される。
【0034】駆動装置28は、HDC30に接続されて
いる。このHDC30は、磁気ヘッド20A〜20Dの
各々にも接続されている。また、HDC30は、ディス
クに書き込むべきデータまたはディスクから読み取った
データを入出力するためのホストコンピュータ32に接
続されている。駆動装置28は、デジタルアナログ変換
器(D/A)、増幅回路(AMP)、及びボイスコイル
モータ(VCM)から構成されている。これにより、H
DC30のローカルCPU(図示省略)で演算されたデ
ジタル信号が、D/Aでアナログ信号に変換されてAM
Pで所定倍率で増幅された後に、VCMにおいて供給さ
れた信号に応じた所定角度だけアクセスアーム22A〜
22Dが所定角度旋回する。
【0035】図3に示すように、HDC30はホストコ
ンピュータ32に接続された入出力インタフェース(I
/O)42を備えている。I/O42は、ホストコンピ
ュータ32からの要求信号が出力可能なようにセグメン
トハンドラ36に接続される。この要求信号には、セグ
メント選択要求信号SEGSEL-REQ及びデータ転送要求信号
XFER-REQがある。また、I/O42は、ホストコンピュ
ータ32からのデータ等の信号が入出力可能なようにメ
モリマネジャ38に接続されている。このデータ等の信
号には、セクタのデータDATA、データ転送応答信号XFER
-ACK、ストローブ信号STROBEがある。セグメントハンド
ラ36は、後述するセグメントテーブルを記憶するため
のテーブルメモリ44に接続されると共に、メモリマネ
ジャ38に接続されている。セグメントハンドラ36と
メモリマネジャ38とは、セグメントハンドラ36から
出力される使用セグメントを表すセグメント信号SEGMEN
T、使用するアドレスADDRESS 、及びデータ転送許可信
号XFER-ENA、メモリマネジャ38から出力される要求信
号NXT-HSEG-REQ、要求信号NXT-DSEG-REQ等が入出力可能
なように接続されている。要求信号NXT-HSEG-REQは、ホ
ストコンピュータの次のセクタに使用するセグメントを
決定するための要求信号を表し、要求信号NXT-DSEG-REQ
は、ディスク側の次のセクタに使用するセグメントを決
定するための要求信号を表す。メモリマネジャ38は、
複数のセグメントに分割されたセグメントメモリ46
(本実施例では、セグメントSGA 〜SGZ からなるセ
グメントメモリ、図4参照)を介してディスク部11に
接続されている。なお、HDC30は、図示しないロー
カルCPUを備えたマイクロコンピュータで構成されて
いる。
【0036】テーブルメモリ44には、以下の表1に示
すセグメントテーブルが記憶される。このセグメントテ
ーブルは、セグメントメモリ46内の各セグメントに関
する情報の一覧を記録するためのものであり、HDC3
0が随時、参照または更新可能に記憶されている。
【0037】
【表1】
【0038】このセグメントテーブルには、各セグメン
トと、セグメントの定義(SEGMENTDEFINITION)、保持
セクタ範囲(LBA RANGE )、LBA序列識別符号(LBA
STRING)、LRU序列識別符号(LRU STRING)、及び書
込み保護フラグ(PROTECT FLAG)、との対応が記憶され
ている。
【0039】セグメントの定義(SEGMENT DEFINITION)
は、そのセグメントのセグメントメモリ46上の領域を
特定するための項目であり、このセグメントの定義から
そのセグメントのメモリ容量的な大きさを定めることが
できる。
【0040】保持セクタ範囲(LBA RANGE )は、そのセ
グメントが保持するセクタのアドレス(論理ブロックア
ドレス、以下,LBAという。)の範囲を表すものであ
り、ホストコンピュータからのデータ転送やディスクか
らのデータ読み込み時点で更新される。
【0041】LBA識別符号(LBA STRING)は、セグメ
ントを、保持しているLBA順に序列化するための識別
符号であり、前LBA識別符号(PREV.LBA.SEG)、次L
BA識別符号(NEXT.LBA.SEG)の2項目から構成され
る。前LBA識別符号(PREV.LBA.SEG)は、そのセグメ
ントより1つ前のLBA順の序列であるセグメントを表
している。但し、そのセグメントが最初であるときに
は、ダミーのセグメントを表す符号(表1では、α)が
記憶される。次LBA識別符号(NEXT.LBA.SEG)は、そ
のセグメントより1つ次のLBA順の序列であるセグメ
ントを表している。但し、そのセグメントが最後である
ときには、ダミーのセグメントを表す符号(表1では、
α)が記憶される。従って、LBA識別符号の序列でセ
グメントを辿るとダミー・セグメントαから始まりダミ
ー・セグメントαに戻る輪を形成することになる。この
LBA識別符号は、LBA順の序列が変更された(入れ
替わった)ときに更新される。
【0042】LRU識別符号(LRU STRING)は、セグメ
ントを使用した古さの順(LRU:LEAST RECENT USAGE)に
序列化するための識別符号であり、前LRU識別符号
(PREV.LRU.SEG)、次LRU識別符号(NEXT.LRU.SEG)
の2項目から構成される。前LRU識別符号(PREV.LR
U.SEG)は、そのセグメントより1つ古いLRU順の序
列であるセグメントを表している。但し、そのセグメン
トが最初であるときには、ダミーのセグメントを表す符
号(表1では、β)が記憶される。次LRU識別符号
(NEXT.LRU.SEG)は、そのセグメントより1つ新しいL
RU順の序列であるセグメントを表している。但し、そ
のセグメントが最後であるときには、ダミーのセグメン
トを表す符号(表1では、β)が記憶される。従って、
LRU識別符号の序列でセグメントを辿るとダミー・セ
グメントβから始まりダミー・セグメントβに戻る輪を
形成することになる。このLRU識別符号は、セグメン
トの選択や遷移等でLRU順の序列が変更された(入れ
替わった)ときに更新される。
【0043】書込み保護フラグ(PROTECT FLAG)は、そ
のセグメントに未書き込みデータを保持しているか否か
を表すフラグであり、書き込み用のデータがホストコン
ピュータから転送されたときにセット(表1では、
「○」と表記)され、そのデータのディスクへの書き込
みが終了した時点でリセット(表1では、「×」と表
記)される。
【0044】図5に示すように、セグメントハンドラ3
6は、ホストコンピュータ32やセグメントハンドラ3
6内部で生じた要求信号を一時的に保持するための要求
信号ホルダ62、複数の要求内の優先順位を決定するた
めの優先順位設定部64、及びセグメントテーブルを参
照しセグメントメモリのデータ授受をするための各種規
則(詳細は後述)を記憶したシーケンサ66から構成さ
れている。
【0045】このセグメントハンドラ36の要求信号ホ
ルダ62に入力される要求信号には、セグメント選択要
求信号(SEGSEL-REQ)、データ転送要求信号(XFER-REQ)、
LBA序列化要求信号(LBASTR-REQ)、LRU序列化要求
信号(LRUSTR-REQ)、ディスク側の次のセクタに使用する
セグメントを決定するための要求信号(NXT-DSEG-REQ)、
ホストコンピュータの次のセクタに使用するセグメント
を決定するための要求信号(NXT-HSEG-REQ)等がある。
【0046】図6に示すように、セグメントハンドラ3
6には、基本原則(詳細は後述)を考慮して、セグメン
トの各々のデータ授受を行うための実質的な処理部とし
て各種規則部68A〜68Fが、セグメントハンドラ3
6のシーケンサ66に予め備えられている。
【0047】セグメント選択規則部(SELECTION RULE)6
8Aは、同一のセクタのデータを複数のセグメントに置
かないため、ホストコンピュータ32から要求されるセ
クタのデータを保持しているセグメントをセグメントテ
ーブルを参照して調査するための規則が組み込まれてい
る。
【0048】遷移規則部(TRANSFER RULE) 68Bは、ホ
ストコンピュータ32から要求されたセクタのデータが
複数のセグメントに跨がっている場合に、1処理中に使
用するセグメントを変更させる規則が組み込まれてい
る。
【0049】LBA序列化規則部(LBA STRING RULE) 6
8Cは、各セグメントをLBAで序列化するための規則
が組み込まれている。
【0050】LRU序列化規則部(LRU STRING RULE) 6
8Dは、各セグメントをLRUで序列化するための規則
が組み込まれている。
【0051】次HDD側セグメント規則部(NXT DSEG RU
LE) 68Eは、ディスク側の次のセクタに使用するセグ
メントを決定するための規則が組み込まれている。
【0052】次ホストコンピュータ側セグメント規則部
(NXT HSEG RULE) 68Fは、ホストコンピュータの次の
セクタに使用するセグメントを決定するための規則が組
み込まれている。
【0053】従って、セグメントハンドラ36は、I/
O42から出力されるホストコンピュータ32からの要
求信号やメモリマネジャ38から出力される要求信号に
たいして上記の規則部に組み込まれた規則に従って処理
をする。なお、これらの要求信号が重複した場合には、
優先順位設定部64において調停を行う。
【0054】次に、セグメントメモリ46を効率よく使
用するためのセグメントメモリのデータ授受をするため
の各種規則を定める、セグメントメモリ内のセグメント
の各々のデータ授受を行う基本原則を説明する。
【0055】[セグメント間相互排他の原則]同一のセ
クタのデータは、複数のセグメントに置かない。
【0056】[実行中のセグメント間遷移の原則]ホス
トコンピュータ32から読み取りまたは書き込みが要求
されたセクタのデータが、複数のセグメントに跨がって
いる場合には、1処理中に使用するセグメントを変更で
きるようにする。
【0057】例えば、図7に示すように、ホストコンピ
ュータからのセクタS21からセクタS22までのRead命令
に対してセグメントSGX ,SGY にそのデータの一部
が含まれていると、先ずセグメント間相互排他の原則か
ら、セグメントSGX を処理に使用するセグメントに設
定する。次にセグメントSGX にはセクタS2A、までの
データを保持しているので、既に保持しているセクタ分
のデータ(矢印R21)のデータ転送を開始すると共に、
不足のセクタのデータをディスクから読み込んで、転送
する。このセグメントSGX のデータがセクタS2Bまで
で満たされたとき、セグメントSGX の処理を停止し
て、処理対象となるセグメントをセグメントSGY に遷
移する。これにより、セクタS2B以降のセグメントSG
Y に保持しているセクタ分のデータ(矢印R22)のデー
タ転送を開始する。この原則は、ダイナミックに対象と
なるセグメントをスイチングすることに対応する。
【0058】[セグメントの序列化の原則]上記セグメ
ント間相互排他の原則により、共有するデータがセグメ
ントメモリ内には存在しない。このため、セグメントメ
モリ内のセグメントの各々は、各セグメントが保持して
いるセクタのアドレス(LBA)により、序列化するこ
とができる。この序列化により、実行中のセグメント間
遷移の際には、遷移先を一義的に決定することができ
る。すなわち、セグメント間相互排他の原則から重複す
るデータを保持するセグメントはないので、図8に示す
ように、LBA順にセグメントを序列化できる。
【0059】[未書き込みデータ保護の原則]上記で説
明したライトキャッシュにより各セグメントのデータ
は、未書き込みのデータを保持している可能性があり、
このデータは保護しなければならない。このため、セグ
メントが未書き込みデータを保持している場合には、ホ
ストコンピュータからのWrite 命令に対し、保持してい
る部分を更新することなく、他のセグメントに遷移す
る。
【0060】例えば、図9に示すように、ホストコンピ
ュータからのセクタS41からセクタS42までのRead命令
に対してセグメントSGX ,SGY にそのデータの一部
が含まれていると共に、セグメントSGX が容量Caで
かつセクタSA からセクタS B までのデータを保持して
いるとする。また、このセグメントSGX が保持するセ
クタSA からセクタS41までのデータが未書き込みであ
るとすると、このデータは保護しなければならない。従
って、先ずセグメント間相互排他の原則から、セグメン
トSGX を処理に使用するセグメントと設定し、セグメ
ントSGX に保持されたセクタS41からセクタSB、ま
でのデータを転送すると共に、セグメントSGX が満た
されるセクタSC までの不足のセクタのデータをディス
クから読み込んで、転送する。これでセグメントSGX
が満たされ、未書き込みのデータを保持しているので、
セグメントSGX の処理を停止して、処理対象となるセ
グメントをセグメントSGY に遷移する。これにより、
セクタSC までのセクタ分のデータ(矢印R41)をセグ
メントSGX で処理し、セクタS2B以降のセクタ分のデ
ータ(矢印R42)をセグメントSGY で処理することに
なり、未書き込みのデータが保護される。
【0061】[命令・セグメント使用の原則]セグメン
トメモリのセグメンテイションの意義は、ある1つのホ
ストコンピュータからの命令によって必要以上にセグメ
ントメモリが所持しているデータが破壊(更新)されな
いように、使用するセグメントを制限することにある、
とも考えられる。このため、ホストコンピュータからの
命令に対して、使用するセグメントが選択されると、そ
れ以降は、上記セグメント間相互排他の原則、及び未書
き込みデータ保護の原則に違反しないことを基準として
選択されたセグメントの1つのみを優先的に使用する。
例えば、図10に示すように、ホストコンピュータから
のセクタS51からセクタS52までのRead命令に対してセ
グメントSGA ,SGB ,SGC にそのデータの一部が
含まれているとする。先ずセグメント間相互排他の原則
から、セグメントSGA を処理に使用するセグメントと
設定し、セグメントSGA に保持されたセクタSA まで
のデータを転送すると共に、セグメントSGA の空き容
量でセクタSA からセグメントSGB が保持したセクタ
5Aまでの不足のセクタのデータをディスクから読み込
んで、転送する。次に、セグメントSGA の処理を停止
して、処理対象となるセグメントをセグメントSGB
遷移する。セグメントSG B は、セクタSB までのデー
タを転送すると共に、セクタSB からセクタS5Bまでの
セグメントSGB の空き容量だけデータをディスクから
読み込んで、転送する。このセグメントSGB にデータ
が満たされた時点では、セグメントSGB のデータを書
き換えることなく、セグメントSGB の処理を停止し
て、本原則により処理対象となるセグメントを最初に用
いたセグメントSGA に設定する。セグメントSG
A は、セクタS5BからセグメントSGC が保持したセク
タSC までの不足のセクタのデータをディスクから読み
込んで、転送する。次に、セグメントSGC が保持した
セクタSC からセクタS52までのデータを転送する。こ
れにより、セクタS5Aまでのセクタ分のデータ(矢印R
51)をセグメントSGX で処理し、セクタS5Aからセク
タS5Bまでのセクタ分のデータ(矢印R52)をセグメン
トSGB で処理し、セクタS5BからセクタSC までのセ
クタ分のデータ(矢印R 53)をセグメントSGA で処理
し、セクタSC からセクタS52までのセクタ分のデータ
(矢印R54)をセグメントSGC で処理する。従って、
更新されるセクタのデータは、セグメントSGA が保持
しているデータのみとなり、セグメントSGB 以降のセ
グメントが保持するデータは破壊されることなく保護さ
れる。
【0062】次に、本実施例のHDD装置10の作用を
説明する。なお、以下の説明を簡単にするため、ホスト
コンピュータ32からのRead命令と、Write 命令との各
々について説明する。
【0063】[Read命令]先ず、ホストコンピュータ3
2からRead命令によるデータ出力要求がなされると、Re
ad命令により主として使用されるセグメントを選択す
る。この選択には、ホストコンピュータ32からのRead
命令による最初のLBAのデータを保持しているセグメ
ントの有無を判定することにより行われる。肯定判定の
場合には、上記セグメント間相互排他の原則により当該
肯定判定されたセグメントを主使用セグメントと選択す
る。但し、このセグメントが書き込み保護(P FLAGが
「○」)の場合には、LRU序列で最古のセグメントを
選択する。一方、否定判定の場合には、LRU序列で最
古のセグメントを選択する。この場合、LRU序列で最
古のセグメントは、書き込み保護であってはならない。
このため、処理を一時停止して、書き込み保護とされる
LRU序列で最古のセグメントの処理(ディスクへの書
き込み)が成されることが好ましい。
【0064】次に、MLBA(Missing LBA)を演算
する。MLBAとは、選択された主使用セグメント、及
び主使用セグメントに続く複数のセグメントに連続して
保持されている最大のLBAの次のLBAをいう。この
MLBAの演算では、MLBAを保持するべきセグメン
ト(MSEG)も求めるものとする。
【0065】図11(1)に示すように、ホストコンピ
ュータからのセクタSI 以降のデータに対するRead命令
に対してセグメントSGi ,SGj にそのデータの一部
が含まれているとする。セグメントSGi ,SGj の間
に不足のセクタのデータが存在するので、セグメントS
i が保持するセクタデータの最後のLBALASTの次の
LBAをMLBA1 とする。このMLBA1 が求まるこ
とにより、セグメントSGi が保持したセクタSI 以降
のデータを出力できると共に、MLBA1 以降の不足の
セクタのデータをディスクから読み込んで、転送するこ
とができ、処理時間を短縮できる。
【0066】また、複数のセグメントが連続する場合に
は、図11(2)に示すように、ホストコンピュータか
らのセクタSH 以降のデータに対するRead命令に対して
セグメントSGh ,SGi ,SGj ,SGk にそのデー
タの一部が含まれているとする。セグメントSGh から
セグメントSGj は連続するが、セグメントSGj ,S
k の間に不足のセクタのデータが存在するので、セグ
メントSGj が保持するセクタデータの最後のLBA
LASTの次のLBAをMLBA2 とする。
【0067】次に、データ転送をする。MLBAより小
さいLBAのデータは、主使用セグメント及び続くセグ
メントに連続して保持されているので、セグメント内の
データをホストコンピュータ32へ転送することができ
る。このホストコンピュータ32への転送中のLBAを
HLBAという。
【0068】次に、ディスクからデータを読み込む。す
なわち、不足のデータをディスクから読み取る。この場
合、ディスクからの読み取りは、図示しないローカルC
PUによってなされるが、キャッチ・アップ(CATCH UP)
が生じた場合にはHDC30で中断されるように自動的
に信号を出力する。このキャッチ・アップには、ホスト
・キャッチ・アップ(HOST CATCH UP)と、ディスク・キ
ャッチ・アップ(DISK CATCH UP) とがある。
【0069】ホスト・キャッチ・アップとは、ディスク
から読み取ったデータをホストコンピュータへ転送して
いるとき、ディスク側の読み取り速度よりもホストコン
ピュータ側の転送速度が速く、読み取り済みのデータ全
て転送終了した場合(ホストコンピュータがディスクに
追いついた場合)をいう。
【0070】ディスク・キャッチ・アップとは、ディス
クから読み取ったデータをホストコンピュータへ転送し
ているとき、ディスク側の読み取り速度がホストコンピ
ュータ側の転送速度の方が速く、全てのセグメントを未
転送のデータで埋めてしまった場合(ディスクがホスト
コンピュータに追いついた場合)をいう。
【0071】ディスクの使用セグメントは上記原則に従
って遷移する。このディスクからの1セクタ分のデータ
読み取り毎に、MLBAはインクリメント(1増加)
し、これと共にセグメントテーブルが更新される。ML
BAが次のLBA順のセグメントの保持セクタ範囲(LBA
RANGE) の下限に至ったときにMLBAは、それに続く
1または複数のセグメントに連続して保持されている最
大のLBAの次のLBAを示すことになる。
【0072】以上の処理が終了し、保持されたデータが
全て転送されたときに、ホストコンピュータに対してRe
ad命令の終了を報知する。この報知は図示しないローカ
ルCPUによりなされる。
【0073】[Write 命令]ホストコンピュータ32か
らWrite 命令によるデータ入力要求がなされると、上記
Read命令と同様にして、主使用セグメントの選択及びM
LBAの演算を行う。
【0074】次に、データ転送を行う。Write 命令で
は、直ちにデータ転送を開始する。この場合、ホストコ
ンピュータ32からのデータにより使用される使用セグ
メントは上記原則に従って遷移する。また、HLBAが
MLBAに至るまではMLBA及びセグメントテーブル
の更新は行わないものとする。HLBAがMLBAを越
えると、ホストコンピュータ32からの1セクタ分のデ
ータ転送される毎に、MLBAがインクリメント(1増
加)され、これと共にセグメントテーブルが更新され
る。MLBAが次のLBA順のセグメントの保持セクタ
範囲(LBA RANGE) の下限に至ったときにMLBAは、そ
れに続く1または複数のセグメントに連続して保持され
ている最大のLBAの次のLBAを示すことになる。
【0075】次に、ディスクへのデータの書き込みがな
される。HLBAより小さなLBAのデータは、既に転
送が終了しているので、シーク動作終了後にディスク上
に書き込まれる。この場合に使用される使用セグメント
は上記原則に従って遷移する。
【0076】以上の処理が終了し、要求されたデータが
全て転送されたとき(ライトキャッシュ時)、または要
求されたデータが全てディスクに書き込まれたとき、ホ
ストコンピュータに対してWrite 命令の終了を報知す
る。この報知は図示しないローカルCPUによりなされ
る。
【0077】次に、HDC30の作動を更に説明する。
先ず、セグメントの選択では、ホストコンピュータ32
が命令を出力すると、I/O32がこれを受けてセグメ
ント選択要求信号SEGSEL-REQをセグメントハンドラ36
へ出力する。セグメントハンドラ36では、シーケンサ
66のセグメント選択規則部(SELECTION RULE)68Aで
セグメントテーブルを参照しセグメントメモリのデータ
授受をするためのセグメントを選択する。この選択の結
果、セグメントのLBA序列及びLRU序列に変更があ
った場合には、LBA識別符号(LBA STRING)及びLR
U識別符号(LRU STRING)を更新する。すなわち、LB
A序列化規則部(LBA STRING RULE) 68Cに対してLB
A序列化要求信号(LBASTR-REQ)を出力すると共に、LR
U序列化規則部(LRU STRING RULE) 68Dに対してLR
U序列化要求信号(LRUSTR-REQ)を出力する。これらの要
求信号は、図3乃至図5に示すように、要求信号ホルダ
62に一旦保持され、優先順位設定部64において優先
順位が決定された後、シーケンサ66のLBA序列化規
則部(LBA STRING RULE) 68C及びLRU序列化規則部
(LRU STRING RULE) 68Dに入力される。従って、セグ
メントの選択では、主としてシーケンサ66のセグメン
ト選択規則部(SELECTION RULE)68A、LBA序列化規
則部(LBA STRING RULE) 68C及びLRU序列化規則部
(LRU STRING RULE) 68Dが用いられる。
【0078】次に、データ転送要求では、上記のように
して使用セグメントの選択が終了した後にI/O42か
らのデータ転送要求信号XFER-REQ(図3)が出力されて
いるときに、セグメントハンドラ36がデータ転送の可
否を判断する。この判断は、遷移規則部(TRANSFER RUL
E) 68Bによってなされる。セグメントハンドラ36
は、転送が可能であれば、メモリマネジャ38に対して
データ転送許可信号XFER-ENAを出力する。メモリマネジ
ャ38では、このデータ転送許可信号XFER-ENAを受けて
セグメントハンドラ36から出力される使用セグメント
を表すセグメント信号SEGMENT 、使用するアドレスADDR
ESS を用いて転送を準備する。準備が完了するとメモリ
マネジャ38は、I/O42にデータ転送応答信号XFER
-ACKを出力する。I/O42では、データ転送応答信号
XFER-ACKが入力され次第、データの転送を開始する。
【0079】次に、データ転送中に生じるセグメントの
遷移について説明する。先ず、あるセクタのデータ転送
が開始されると、メモリマネジャ38はホストコンピュ
ータの次のセクタに使用するセグメントを決定するため
の要求信号(NXT-HSEG-REQ)を出力する。セグメントハン
ドラ36は、この要求信号(NXT-HSEG-REQ)をを受けて、
そのセクタのデータを転送するまでに、次ホストコンピ
ュータ側セグメント規則部(NXT HSEG RULE) 68Fで次
に使用すべきセグメントを決定する。各セグメントは予
め序列化されているので、遷移する先のセグメントは、
次のLBA序列のセグメントまたは上記のように主使用
のセグメントである。遷移の結果、LBAの序列やLR
Uの序列に変更があった場合には更新される。このよう
に、データの転送中に、セグメント内のデータが変更さ
れると、この変更に従って、メモリマネジャ38が、セ
グメントハンドラ36にディスク側の次のセクタに使用
するセグメントを決定するための要求信号(NXT-DSEG-RE
Q)やホストコンピュータの次のセクタに使用するセグメ
ントを決定するための要求信号(NXT-HSEG-REQ)を出力し
てLBAの序列やLRUの序列が更新される。
【0080】このセグメントの遷移を時間的に見ると、
図12(1)に示すように、ホストコンピュータ32か
ら要求されるLBAが、X,X+1,X+2であると
き、LBAのXが終了し、X+1に移行すると、その次
のLBAであるX+2ための要求信号、すなわち、ホス
トコンピュータに対する次のセクタに使用するセグメン
トを決定するための要求信号(NXT-HSEG-REQ)が出力され
る(図12(2)参照)。このLBAのX、X+1をセ
グメントAが保持しており、LBAのX+2をセグメン
トBが保持しているとすると、1つのセグメントで処理
しようとすると、図12(3)に示すように、LBAの
切り替わりのタイミングtA 、tB でデータを転送する
ことになるが、本実施例では、図12(4)に示すよう
に、要求信号(NXT-HSEG-REQ)が出力されることによって
次のLBAを保持するセグメントにデータが既に存在す
るかまたは用意できる。このように、セグメントの2重
化が行われることになる。
【0081】以上説明したように、本実施例では、複数
のセグメントのデータを、セグメント間相互排他の原
則、命令実行中のセグメント間の遷移の原則、セグ
メントの序列化の原則、未書き込みデータ保護の原
則、命令・セグメント使用の原則、に基づいて、セグ
メントテーブルを用いて自動的に管理するHDC内にお
いてマルチ−セグメント・キャッシュ・ハンドラーとし
て機能する機能ブロックを提供した。また、各セグメン
ト内のデータ、及びセグメントの使用状況は全てセグメ
ントテーブルに管理されている。このため、HDCはこ
れを参照して、HOSTの要求に応じてデータの転送を
自動的に開始または中断するオート・データ・トランス
ファとして機能する機能ブロックも提供した。
【0082】このように、HDC内にマルチ−セグメン
ト・キャッシュ・ハンドラー及びオート・データ・トラ
ンスファの機能を有させることによって、HDD装置の
転送効率の向上を図ることができ、併せてHDDのロー
カルCPUのソフトウェアの負担を軽減することであ
る。これにより。安価で高性能なHDD装置を構成する
HDCを得ることができる。
【0083】
【発明の効果】以上説明したように本発明のディスク装
置用データ処理方法によれば、セクタバッファ内にデー
タの少なくとも1部は重複して保持されないので、セク
タバッファを効率的に扱うことができ、併せて重複して
保持されたデータを調査するような演算負荷を軽減する
ことができる、という効果がある。
【0084】本発明のディスク装置によれば、セクタバ
ッファ内にデータが重複して保持されず重複したデータ
を調査することがないので、データの入出力を効率的に
でき、ディスク装置の転送効率を向上できる。また、デ
ィスク装置をローカルCPUによって制御しようとする
場合にソフトウェア処理によるローカルCPUの演算負
担を軽減することができ、安価で高性能なディスク装置
を構成できる、という効果がある。
【図面の簡単な説明】
【図1】HDD装置の概略構成を示すブロック図であ
る。
【図2】HDD装置のディスクを示すイメージ図であ
る。
【図3】本発明が適用可能なHDCの概略構成を示すブ
ロック図である。
【図4】HDCのセグメントメモリの内部構成を示す概
念図である。
【図5】HDCのセグメントハンドラの構成を示す概念
図である。
【図6】セグメントハンドラの内部構成を示す概念図で
ある。
【図7】実行中のセグメント間遷移の原則を、ホストコ
ンピュータの命令に対するセグメントのデータ保持によ
り説明するための概念図である。
【図8】セグメントの序列化の原則を説明するための概
念図である。
【図9】未書き込みデータ保護の原則を説明するための
概念図である。
【図10】命令・セグメント使用の原則を説明するため
の概念図である。
【図11】Read命令に対するセグメントのデータ保持を
示すイメージ図である。
【図12】セグメントの遷移を時間的に説明するための
説明図である。
【図13】従来のHDD装置において、ホストコンピュ
ータの命令に対するセグメントのデータ保持を説明する
ための概念図である。
【符号の説明】
10 HDD装置 18A〜18B ディスク 20A〜20D 磁気ヘッド 30 ハードディスクコントローラ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 山田 光治 神奈川県藤沢市桐原町1番地 日本アイ・ ビー・エム株式会社 藤沢事業所内 (72)発明者 金井 俊夫 神奈川県藤沢市桐原町1番地 日本アイ・ ビー・エム株式会社 藤沢事業所内 (72)発明者 石橋 和幸 神奈川県藤沢市桐原町1番地 日本アイ・ ビー・エム株式会社 藤沢事業所内

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 複数のセクタからなる情報保持ディスク
    と、前記情報保持ディスクから読み取ったデータ又は前
    記情報保持ディスクに書き込むべきデータを一時的に保
    持すると共に複数のセグメントに分割されたセクタバッ
    ファとを備えたディスク装置に対する前記データの入出
    力処理をするディスク装置用データ処理方法であって、 前記セクタバッファ内に前記データの少なくとも1部が
    重複して保持されないように、前記データを分類し前記
    セクタバッファの1または複数のセグメントに保持させ
    る、 ことを特徴とするディスク装置用データ処理方法。
  2. 【請求項2】 前記セグメントの各々に異なるセクタの
    データが保持されるように分類する、ことを特徴とする
    請求項1に記載のディスク装置用データ処理方法。
  3. 【請求項3】 同一セクタのデータを複数のセグメント
    に保持させる場合には同一のセクタのデータを複数に分
    割した分割データを1単位として分類して各分割データ
    を前記セクタバッファ内の何れか1つのセグメントに保
    持させる、ことを特徴とする請求項1に記載のディスク
    装置用データ処理方法。
  4. 【請求項4】 前記入出力処理を要求されたデータの少
    なくとも一部が複数のセグメントに跨がって保持される
    と共に、当該要求されたデータの入出力処理をする場合
    には、当該処理中に処理対象となるセグメントを前記デ
    ータを保持したセグメントに切り換えて、当該セグメン
    トを用いて前記データを入出力することを特徴とする請
    求項1に記載のディスク装置用データ処理方法。
  5. 【請求項5】 前記入出力処理について未処理のデータ
    を保持しているセグメントに処理中のデータが満たされ
    たときに処理対象となるセグメントを他のセグメントに
    切り換えて、当該セグメントを用いて前記データを入出
    力することを特徴とする請求項1に記載のディスク装置
    用データ処理方法。
  6. 【請求項6】 前記入出力処理を要求されたデータの一
    部が複数のセグメントに保持されると共に、保持してい
    ないデータを一時的に保持するために処理対象となるセ
    グメントにデータが満たされて新たにデータの保持が必
    要なときに、予め定めた1つのセグメントを一時的に保
    持するために処理対象となるセグメントに設定し設定さ
    れたセグメントを用いて前記データを入出力する、こと
    を特徴とする請求項1に記載のディスク装置用データ処
    理方法。
  7. 【請求項7】 複数のセクタからなる情報保持ディスク
    と、 前記情報保持ディスクから読み取ったデータ又は前記情
    報保持ディスクに書き込むべきデータを一時的に保持す
    ると共に複数のセグメントに分割されたセクタバッファ
    と、 前記セクタバッファ内の各セグメントに保持された前記
    データの大きさを表すサイズ情報、前記データが含まれ
    るセクタを表す位置情報、及び前記セクタバッファ内の
    セグメントの順序を表す序列情報の対応関係を記憶可能
    なセグメントテーブルメモリと、 前記情報保持ディスクから読み取ったデータを、前記セ
    クタバッファ内に前記データの少なくとも1部が重複し
    て保持されないように前記セクタバッファの1または複
    数のセグメントに保持させて当該保持された1または複
    数のセグメントのデータを要求されるデータとして出力
    すると共に、前記情報保持ディスクに書き込むべきデー
    タを、前記セクタバッファ内に前記データの少なくとも
    1部が重複して保持されないように前記セクタバッファ
    の1または複数のセグメントに保持させて当該保持され
    た1または複数のセグメントを要求されるデータとして
    前記情報保持ディスクに書き込むデータ制御手段と、 を備えたディスク装置。
  8. 【請求項8】 前記データ制御手段は、前記セグメント
    の各々に異なるセクタのデータが保持されるように制御
    することを特徴とする請求項7に記載のディスク装置。
  9. 【請求項9】 前記データ制御手段は、同一セクタのデ
    ータを複数のセグメントに保持させる場合に同一のセク
    タのデータを複数に分割した分割データを1単位として
    分類して各分割データを前記セクタバッファ内の何れか
    1つのセグメントに保持させるように制御することを特
    徴とする請求項7に記載のディスク装置。
JP6324715A 1994-12-27 1994-12-27 ディスク装置用データ処理方法及びディスク装置 Pending JPH08185271A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP6324715A JPH08185271A (ja) 1994-12-27 1994-12-27 ディスク装置用データ処理方法及びディスク装置
US08/576,027 US6092145A (en) 1994-12-27 1995-12-21 Disk drive system using sector buffer for storing non-duplicate data in said sector buffer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6324715A JPH08185271A (ja) 1994-12-27 1994-12-27 ディスク装置用データ処理方法及びディスク装置

Publications (1)

Publication Number Publication Date
JPH08185271A true JPH08185271A (ja) 1996-07-16

Family

ID=18168905

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6324715A Pending JPH08185271A (ja) 1994-12-27 1994-12-27 ディスク装置用データ処理方法及びディスク装置

Country Status (2)

Country Link
US (1) US6092145A (ja)
JP (1) JPH08185271A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151660A (en) * 1996-08-23 2000-11-21 Olympus Optical Co., Ltd. Information recording/reproducing apparatus having segmented cache memory

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3149856B2 (ja) * 1998-08-31 2001-03-26 日本電気株式会社 磁気ディスク制御装置
US6389488B1 (en) * 1999-01-28 2002-05-14 Advanced Micro Devices, Inc. Read ahead buffer for read accesses to system memory by input/output devices with buffer valid indication
US6601104B1 (en) 1999-03-11 2003-07-29 Realtime Data Llc System and methods for accelerated data storage and retrieval
JP2000305716A (ja) * 1999-04-23 2000-11-02 Sony Corp ディスク制御装置及びディスク制御方法
US8692695B2 (en) 2000-10-03 2014-04-08 Realtime Data, Llc Methods for encoding and decoding data
US9143546B2 (en) 2000-10-03 2015-09-22 Realtime Data Llc System and method for data feed acceleration and encryption
US7386046B2 (en) 2001-02-13 2008-06-10 Realtime Data Llc Bandwidth sensitive data compression and decompression
US6795264B2 (en) * 2001-10-25 2004-09-21 Texas Instruments Incorporated LBA tracking for system data management
JP3579395B2 (ja) * 2001-12-27 2004-10-20 株式会社東芝 ディスク記憶装置及びアクセス方法
US20050152192A1 (en) * 2003-12-22 2005-07-14 Manfred Boldy Reducing occupancy of digital storage devices
US7739577B2 (en) * 2004-06-03 2010-06-15 Inphase Technologies Data protection system
KR100612215B1 (ko) * 2004-07-24 2006-08-16 삼성전자주식회사 비밀번호를 이용하는 데이터 기록/재생 장치 및 그 방법
KR20080113299A (ko) * 2006-04-27 2008-12-29 엔엑스피 비 브이 메시지를 안전하게 저장하는 방법, 안전하게 저장된 메시지를 검색하는 방법, 개인 메시지를 위한 안전한 저장 시스템 및 컴퓨터 판독가능 매체
US9223511B2 (en) 2011-04-08 2015-12-29 Micron Technology, Inc. Data deduplication

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4268907A (en) * 1979-01-22 1981-05-19 Honeywell Information Systems Inc. Cache unit bypass apparatus
US4442488A (en) * 1980-05-05 1984-04-10 Floating Point Systems, Inc. Instruction cache memory system
US4598357A (en) * 1980-11-14 1986-07-01 Sperry Corporation Cache/disk subsystem with file number for recovery of cached data
US4394732A (en) * 1980-11-14 1983-07-19 Sperry Corporation Cache/disk subsystem trickle
JPS59153251A (ja) * 1983-02-18 1984-09-01 Toshiba Corp デイスクキヤツシユシステム
US4953122A (en) * 1986-10-31 1990-08-28 Laserdrive Ltd. Pseudo-erasable and rewritable write-once optical disk memory system
JP2514208B2 (ja) * 1987-07-15 1996-07-10 富士通株式会社 ホットスタンドバイメモリ−コピ−方式
EP0389151A3 (en) * 1989-03-22 1992-06-03 International Business Machines Corporation System and method for partitioned cache memory management
US5109496A (en) * 1989-09-27 1992-04-28 International Business Machines Corporation Most recently used address translation system with least recently used (LRU) replacement
CA2029179A1 (en) * 1989-11-03 1991-05-04 Stephen M. Schultz Method for data distribution in a disk array
US5088026A (en) * 1990-02-09 1992-02-11 International Business Machines Corporation Method for managing a data cache using virtual external storage addresses as arguments
US5379391A (en) * 1991-03-01 1995-01-03 Storage Technology Corporation Method and apparatus to access data records in a cache memory by multiple virtual addresses
US5285527A (en) * 1991-12-11 1994-02-08 Northern Telecom Limited Predictive historical cache memory
US5526507A (en) * 1992-01-06 1996-06-11 Hill; Andrew J. W. Computer memory array control for accessing different memory banks simullaneously
US5553307A (en) * 1992-04-17 1996-09-03 Hitachi, Ltd. Method and device for transferring noncontiguous blocks in one transfer start by creating bit-map indicating which block is to be transferred
JPH0659952A (ja) * 1992-08-07 1994-03-04 Toshiba Corp 磁気ディスク装置
US5623608A (en) * 1994-11-14 1997-04-22 International Business Machines Corporation Method and apparatus for adaptive circular predictive buffer management

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151660A (en) * 1996-08-23 2000-11-21 Olympus Optical Co., Ltd. Information recording/reproducing apparatus having segmented cache memory

Also Published As

Publication number Publication date
US6092145A (en) 2000-07-18

Similar Documents

Publication Publication Date Title
JP2012533112A (ja) 階層不揮発性ストレージのためのシステムおよび方法
JPH08185271A (ja) ディスク装置用データ処理方法及びディスク装置
JPS5873085A (ja) 記憶階層制御方法
JP3568110B2 (ja) キャッシュメモリの制御方法、コンピュータシステム、ハードディスクドライブ装置およびハードディスク制御装置
US20200251142A1 (en) Shingled magnetic recording hard disk drive media cache copy transfer
US6891740B2 (en) Method for speculative streaming data from a disk drive
US6523142B1 (en) Apparatus and method of performing in a disk drive commands issued from a host system
US7406547B2 (en) Sequential vectored buffer management
JP2968181B2 (ja) ディスク装置及びデータ書込読出方法
US20040003172A1 (en) Fast disc write mechanism in hard disc drives
US11275684B1 (en) Media read cache
US7986480B2 (en) Micro-journaling of data on a storage device
JP2000163290A (ja) データ記憶方法
JPH05257613A (ja) マルチヘッド搭載ハードディスク装置
JP3444056B2 (ja) 記録再生装置及び記録再生方法
US7725666B2 (en) Micro-journaling of data on a storage device
US7231495B2 (en) Speculative data streaming disk drive and system
JPH03290873A (ja) ディスク型記憶装置、ディスク型記憶装置の制御装置、及びディスク型記憶装置の制御方法
JP3435176B2 (ja) 磁気ディスク装置
JP3376316B2 (ja) ディスクアレイ装置及びそれに用いる高速通信方法並びにその制御プログラムを記録した記録媒体
JP2010044820A (ja) 記録装置及び記録方法
TW200529194A (en) Storage performance improvement using data replication on a disk
JPH01128144A (ja) フレキシブルディスク装置
JP2000222287A (ja) 情報記録再生装置
JPH05334016A (ja) 情報記録再生装置