JPH064225A - 予備セクタを先読みするディスク制御装置 - Google Patents

予備セクタを先読みするディスク制御装置

Info

Publication number
JPH064225A
JPH064225A JP16515992A JP16515992A JPH064225A JP H064225 A JPH064225 A JP H064225A JP 16515992 A JP16515992 A JP 16515992A JP 16515992 A JP16515992 A JP 16515992A JP H064225 A JPH064225 A JP H064225A
Authority
JP
Japan
Prior art keywords
sector
data
read
buffer memory
address
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
JP16515992A
Other languages
English (en)
Inventor
Tamotsu Kozuka
保 小塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP16515992A priority Critical patent/JPH064225A/ja
Publication of JPH064225A publication Critical patent/JPH064225A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 ディスク制御装置に関し、欠陥セクタをアク
セスする前に、予備セクタのデータを読出すことで、高
速なデータ転送を行うことを目的とする。 【構成】 トラック上に複数のセクタと、欠陥セクタの
代わりにデータを記録する予備セクタとを備えたディス
ク装置3を制御し、上位装置1から読出し範囲を指定さ
れてデータの読出しを指示された時、ディスク装置3か
ら読出したデータを一旦バッファメモリ4に格納してか
ら読出して、上位装置1に転送するディスク制御装置2
において、トラック上の欠陥セクタに対応してスキップ
されたバッファメモリ4上の各空き領域には、夫々交代
処理した予備セクタから読出されたデータを書込んで、
トラック上のセクタのアドレス順に連続するように整列
させたデータの中から、要求された範囲のデータを上位
装置1に転送するように構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は交代処理によってディス
ク装置の欠陥セクタに書込むデータを予備セクタに書込
ませるディスク制御装置に係り、特に該欠陥セクタをア
クセスする前に、予備セクタのデータを読出すことで、
高速なデータ転送を可能とする予備セクタを先読みする
ディスク制御装置に関する。
【0002】近年、磁気ディスク装置では、データのア
クセスの高速化について、強い要求があり、ディスク媒
体上に欠陥があっても、高速でデータのアクセスが出来
ることが要求されている。
【0003】このため、キャッシュメモリを備えて、例
えば、1トラック分のデータの先読みを行うか、要求さ
れたデータの書込まれたセクタにヘッドが到達するのを
待たずに、ヘッドが現在位置付けされたセクタ位置から
データを読出す方法等が提供されている。
【0004】ところで、要求されたデータ又は、先読み
されるデータの書込まれるセクタの中に、欠陥セクタが
存在し、該欠陥セクタに書込まれるべきデータが、同一
シリンダに設けられた予備セクタに交代処理されて書込
まれている場合、欠陥セクタから交代先の予備セクタの
位置を読出して、この予備セクタを検出するまでと、こ
の予備セクタから前記欠陥セクタの次の正常なセクタ位
置にヘッドが到達するまでの間は、データの読出しは行
われず、ディスク媒体の回転待ちが発生し、無駄な時間
が費やされている。
【0005】従って、この無駄な回転待ち時間を節減
し、高速にデータのアクセスが可能となるようにするこ
とが望まれている。
【0006】
【従来の技術】従来の磁気ディスク制御装置において
は、データの読出し要求があった場合、その要求された
データが書込まれたセクタを検出した時点から読出しを
開始するものと、読出しを要求されたデータの書込まれ
たセクタが検出されるのを待たずに、ヘッドが現在位置
付けされているセクタからデータの読出しを行うものが
ある。
【0007】そして、前者と後者とにおいて、読出し要
求のあったデータの一部又は、先読みとなるデータの一
部が書込まれるセクタに欠陥があり、同一シリンダ内に
割付けられた予備セクタに、これらのデータが交代処理
されて書込まれていて、ヘッドがその予備セクタを読出
すことが出来る位置に存在する場合であっても、先に交
代処理された予備セクタからデータの読出しを行うこと
はせずに、前記欠陥セクタをアクセスして、読出し要求
のあったデータ又は、先読みとなるデータが交代処理さ
れていることを認識した後、予備セクタをアクセスして
読出し要求に応答していた。
【0008】即ち、ヘッドが予備セクタの領域を通過し
てから、欠陥セクタの位置に到達すると、この欠陥セク
タから交代処理された予備セクタの位置を認識し、ヘッ
ドがこの予備セクタの位置に到達すると、この予備セク
タからデータを読出す。そして、再びヘッドが欠陥セク
タを通過した後の次の正常なセクタからデータの読出し
を行っている。
【0009】
【発明が解決しようとする課題】上記の如く、従来はヘ
ッドが予備セクタを通過するにもかかわらず、この予備
セクタに書込まれている交代処理されたデータを読出し
て、予備セクタのID部から得られる予め格納されるべ
きバッファメモリ上の位置、即ち、欠陥セクタ位置に対
応するアドレス領域に格納されないため、少なくとも、
欠陥セクタから交代先の予備セクタの位置までと、この
予備セクタから前記欠陥セクタの次の正常なセクタ位置
までの間は、データの読出しは行われず、ディスク媒体
の回転待ちが発生して、無駄な時間が費やされていると
いう問題がある。
【0010】本発明はこのような問題点に鑑み、ヘッド
が予備セクタを通過する時、その予備セクタのデータを
一般のデータと同様に読出して、その予備セクタから読
出したデータが、読出し要求のあったデータ又は、先読
みデータとなるデータの交代先であることを示している
場合、この予備セクタから読出したデータを、本来この
データが書込まれるべきセクタに対応したバッファメモ
リ上のアドレス領域に格納し、バッファメモリ上では1
トラック分のデータが、セクタアドレス順に整列したデ
ータとなるようにして、読出し要求に対して早急に応答
し得るようにすることを目的としている。
【0011】
【課題を解決するための手段】図1は本発明の原理を説
明するブロック図である。図1(A) において、ディスク
制御装置2は、トラック上に複数のセクタと、欠陥セク
タの代わりにデータを記録する予備セクタとを備えたデ
ィスク装置3を制御し、上位装置1から読出し範囲を指
定されてデータの読出しを指示された時、このディスク
装置3から読出したデータを一旦バッファメモリ4に格
納してから読出して、上位装置1に転送する。
【0012】そして、前記トラックに対する位置付けが
完了したヘッドがアクセスするセクタが、正常セクタで
あるか、欠陥セクタであるか、欠陥セクタのデータが書
込まれた交代処理済の予備セクタであるかを判定し、前
記バッファメモリ4上に確保させた1トラック分の記憶
領域に対し、正常セクタから読出されたデータは、セク
タアドレスに対応するアドレスが付与されたバッファメ
モリ4上の領域に書込み、前記ヘッドがアクセスしたセ
クタが欠陥セクタである場合は、この欠陥セクタのデー
タが書込まれるべきアドレスの付与されたバッファメモ
リ4上の領域をスキップして空き領域とし、交代処理済
の予備セクタから読出されたデータは、この交代処理し
た欠陥セクタのデータが書込まれるべきバッファメモリ
4上の前記空き領域に書込む制御手段5を設けている。
【0013】そして、前記トラック上の欠陥セクタに対
応してスキップされたバッファメモリ4上の各空き領域
には、夫々交代処理した予備セクタから読出されたデー
タを書込んで、このトラック上のセクタのアドレス順に
連続するように整列させたデータの中から、前記上位装
置1から要求された範囲内のセクタ数に対応するデータ
を抽出して上位装置1に転送する。
【0014】そして、前記制御手段5は、図1(B) に示
す如く、ヘッドが読取るセクタの索引情報を記憶する索
引情報記憶手段6と、予め定まる前記トラックの先頭セ
クタのデータを記録するための前記バッファメモリ4上
のアドレスを指定するトップアドレス記憶手段7と、ト
ラックフォーマットによって定まる1トラック分のデー
タ記憶領域の長さの算出基準を示すデータ長記憶手段8
と、この索引情報記憶手段6と、トップアドレス記憶手
段7及びデータ長記憶手段8とから得られる情報に基づ
き、各セクタから読出されるデータをセクタ毎に区分し
て、前記バッファメモリ4上に記憶させるためのアドレ
スを算出するアドレス演算手段9と、前記読出し範囲に
よって指定された先頭セクタのアドレスを示す先頭論理
ブロック番号記憶手段10と、前記読出し範囲によって
指定された読出し対象セクタ数を記憶するデータブロッ
ク数記憶手段11と、索引情報記憶手段6と、先頭論理
ブロック番号記憶手段10及びデータブロック数記憶手
段11とから得られる情報に基づき、ヘッドが読出すセ
クタのデータが、読出しを要求されたデータであるか否
かを判断する判断手段12と、索引情報記憶手段6から
得られるセクタ情報に基づき、ヘッドが読出すセクタの
状態を判定し、前記バッファメモリ4にデータを書込む
際のアドレス決定情報を送出するセクタ判断手段13
と、前記アドレス演算手段9と、判断手段12及びセク
タ判断手段13とから得られる情報に基づき、前記バッ
ファメモリ4上に1トラック分のデータを格納する領域
を確保させ、ヘッドが位置付けされた直後から読取る正
常なセクタのデータは、セクタのトラック上のアドレス
に対応して確保されたバッファメモリ4上の領域に書込
ませると共に、欠陥セクタのアドレスに対応するバッフ
ァメモリ4上の領域はスキップすることでデータの書込
みを行わせず、交代処理されて欠陥セクタのデータが書
込まれた予備セクタから読出されたデータは、当該欠陥
セクタに対応してスキップされたバッファメモリ4上の
領域に書込ませるポインタ制御手段14とから構成され
る。
【0015】
【作用】上記の如く構成することにより、制御手段5の
制御により、ヘッドが予備セクタを通過する時、その予
備セクタに交代処理されたデータが存在する時、このデ
ータを一般のデータと同様に読出して、このデータが本
来書込まれるべきセクタに対応するバッファメモリ4上
の領域に格納することが可能となる。
【0016】従って、トラック上のセクタのアドレス順
に連続するように、バッファメモリ4上で1トラック分
の整列させたデータの中から、要求された範囲内のデー
タを抽出して、上位装置1に転送することが出来るた
め、ディスク媒体の回転待ちを最小限に抑え、上位装置
1からのデータ読出し要求に対し、早急に応答すること
が出来る。
【0017】
【実施例】図2及び図3は本発明の一実施例を示す回路
のブロック図で、図4は図2の動作を説明する図であ
る。
【0018】図2において、プロセッサ15は上位装置
1が送出する読出し命令受信を監視しており、上位装置
1がインタフェース回路16を経てデータの読出し範囲
を指定して、読出し命令を送出すると、プロセッサ15
はディスク制御回路18に指示してディスク装置3を制
御させ、指定されたシリンダにヘッドを位置付けさせ
る。
【0019】この時、プロセッサ15はメモリ制御回路
17を制御して、上位装置1が指定したヘッドが読出す
トラック上の総てのセクタから読出されるデータを格納
し得る領域をバッファメモリ4上に確保させる。
【0020】即ち、図4(A) に示す如く、アクセス対象
トラックには、例えば、セクタが(0) から(15)まであ
り、予備セクタがS(1) からS(3) まであるものとする
と、バッファメモリ4上には、セクタ(0) からセクタ(1
5)までの各セクタから読出されたデータを格納し得る領
域を確保させる。
【0021】ディスク制御回路18は、指定されたシリ
ンダに対するヘッドの位置付けが完了し、指定されたヘ
ッドがトラック上のデータを読出すと、このデータをメ
モリ制御回路17に送出する。
【0022】例えば、図4(A) の読出し範囲に示す如
く、上位装置1がデータの読出し範囲として、セクタ
(3) からセクタ(10)までの範囲を指示しており、図4
(A) のに示す如く、ディスク装置3のヘッドがセク
タ(4) に位置付けされたとすると、ディスク制御回路1
8は、図4(B) に示す如く、読出し可能となったセクタ
(5)の索引部から読出された索引情報に基づき、セクタ
(5) が正常なセクタであるか調べ、正常なセクタである
と、メモリ制御回路17に指示して、セクタ(5) から読
出されたデータをバッファメモリ4上の所定の領域に格
納させる。
【0023】即ち、メモリ制御回路17は、ディスク制
御回路18が正常セクタであることを通知したため、セ
クタ(5) の索引情報に基づき、セクタ(5) から読出され
たデータを格納するバッファメモリ4上のアドレスを算
出して、ディスクポインタにセットし、ディスク制御回
路18の指示により、順次インクリメントさせるディス
クポインタの指示するアドレスにデータを書込む。
【0024】しかし、図4(A) のセクタ(7) が欠陥セク
タであり、矢印に示す如く、予備セクタS(2) に交代
処理されているとすると、ディスク制御回路18はセク
タ(7) から読出された索引情報に基づき、交代処理済の
欠陥セクタであることを認識して、メモリ制御回路17
に通知する。
【0025】従って、メモリ制御回路17は、ディスク
ポインタをインクリメントするが、データの書込みを行
わず、セクタ(7) のデータを書込む領域を空白のままと
して、次のセクタ(8) が正常なセクタであることを通知
されると、このセクタ(8) のデータをバッファメモリ4
に書込む。
【0026】従って、ヘッドが図4(B) のに示す如
く、予備セクタS(1) の位置に到達した時は、セクタ
(5) からセクタ(7) の領域を除いて、セクタ(15)までの
各セクタのデータが書込まれる。
【0027】ヘッドが図4(C) のに示す如く、予備セ
クタS(2) の領域のデータを読出すと、予備セクタS
(2) の索引情報から、ディスク制御回路18は、セクタ
(7) のデータを交代処理されて書込まれた交代処理済の
予備セクタであることを認識する。
【0028】従って、ディスク制御回路18の指示によ
り、メモリ制御回路17は、予備セクタS(2) から読出
された索引情報から計算したアドレスを、ディスクポイ
ンタにセットして、データを矢印に示す如く、予備セ
クタS(2) から読出されるデータをセクタ(7) の位置に
書込む。
【0029】ディスク制御回路18は、指定されたトラ
ックのセクタからの交代処理された予備セクタ以外の予
備セクタ、又は未使用の予備セクタから読出されるデー
タは、バッファメモリ4に書込む指示をしないため、図
4(D) のに示す如く、ヘッドが指定されたトラックを
一周して、セクタ(4) の領域を通過した時、バッファメ
モリ4上には、セクタ(0) 〜セクタ(15)の各セクタのデ
ータが、図4(D) に示す如く、セクタ番号順に整列して
いる。
【0030】従って、プロセッサ15は、メモリ制御回
路17を制御して、指定された読出し要求範囲のセクタ
(3) からセクタ(10)までのデータを、バッファメモリ4
から読出させ、インタフェース回路16を経て上位装置
1に転送する。
【0031】そして、続いて、上位装置1から例えば、
セクタ(11)〜セクタ(15)の読出しを指示されると、ディ
スク装置3から読出さずに、上記の如く、バッファメモ
リ4上に先読みして格納させたセクタ(11)〜セクタ(15)
のデータを読出させて転送する。
【0032】図3は図2のディスク制御回路18とメモ
リ制御回路17の本発明に関係する構成部分の詳細ブロ
ック図である。ディスク制御回路18の索引情報レジス
タ19は、各セクタの索引情報を格納するレジスタで、
各セクタの索引部を読出した時、読出し回路が格納する
ものであり、この索引情報を次のセクタの索引部が読出
されるまで保持している。
【0033】先頭論理ブロック番号レジスタ20は、上
位装置1から読出しを要求された先頭セクタの論理番
号、図4の例ではセクタ(3) のアドレスをプロセッサ1
5が格納する。
【0034】データブロック数レジスタ21は、読出し
を要求されたデータブロック数、即ち、セクタ数を格納
するもので、図4の例では、セクタ(3) 〜セクタ(10)の
8セクタ分のデータブロック数をプロセッサ15が格納
する。
【0035】セクタ判断部22は、読出された索引情報
に基づき、セクタの状態を判断するもので、正常なセク
タか、図4に示すセクタ(7) の如き欠陥セクタか、交代
処理済の予備セクタか、未使用の予備セクタか、他のト
ラックの欠陥セクタのデータが交代処理された予備セク
タか等を判断する。
【0036】要求データブロック判断部23は、索引情
報レジスタ19と、先頭論理ブロック番号レジスタ20
と、データブロック数レジスタ21の情報に基づき、読
出したデータが上位装置1から要求されたデータか、又
は先読みするデータかを判断する。即ち、図4のセクタ
(3) 〜セクタ(10)のデータか、セクタ(0) 〜セクタ(2)
及びセクタ(11)〜セクタ(15)のデータかを判断する。
【0037】ポインタ・カウンタ制御部24は、転送ブ
ロック数カウンタと、欠陥セクタ数Aカウンタと、欠陥
セクタ数Bカウンタと、メモリ制御回路17のバッファ
アドレス演算部27のディスクポインタとを制御するも
のである。
【0038】即ち、指定された読出し要求範囲のセクタ
数を転送ブロック数カウンタに設定した後、データを転
送する毎にこの転送ブロック数カウンタの値をデクリメ
ントし、要求されたセクタ数のデータが転送されたこと
を示す。
【0039】又、読出し要求範囲内に存在する欠陥セク
タを検出する度に、欠陥セクタ数Aカウンタの値をイン
クリメントし、交代処理済の予備セクタのデータをバッ
ファメモリ4に書込む度にデクリメントすることで、ス
キップした欠陥セクタのデータをバッファメモリ4に書
込んだことを示す。
【0040】又、読出し要求範囲外に存在する欠陥セク
タを検出する度に、欠陥セクタ数Bカウンタの値をイン
クリメントし、交代処理済の予備セクタのデータをバッ
ファメモリ4に書込む度にデクリメントすることで、読
出し要求範囲外のスキップした欠陥セクタのデータをバ
ッファメモリ4に書込んだことを示す。
【0041】又、バッファメモリ4に一つのセクタから
読出されたデータブロックを書込む毎に、メモリ制御回
路17のバッファアドレス演算部27に通知して、ディ
スクポインタの値をインクリメントさせ、読出されたセ
クタのデータブロックをバッファメモリ4に書込むアド
レスを指定させると共に、バッファアドレス演算部27
を経てバッファメモリ4上の領域Aに、読出し要求範囲
内の欠陥セクタから交代処理された予備セクタから読出
された索引情報を格納し、バッファアドレス演算部27
を経てバッファメモリ4上の領域Bに、読出し要求範囲
外の欠陥セクタから交代処理された予備セクタから読出
された索引情報を格納する。
【0042】メモリ制御回路17のトップアドレスレジ
スタ25は、上位装置1が指定したトラックの先頭セク
タから読出されたデータブロックをバッファメモリ4に
書込む時のアドレスをプロセッサ15が格納する。即
ち、図4の例ではセクタ(0) のアドレスが格納される。
【0043】データブロック長レジスタ26は、プロセ
ッサ15が上位装置1から与えられた論理データブロッ
ク長を格納し、各セクタ内におけるデータ長を示し、バ
ッファメモリ4上に確保する1トラック分のデータ格納
領域を決定する際に使用される。
【0044】バッファアドレス演算部27は、トップア
ドレスレジスタ25の示すアドレスと、データブロック
長レジスタ26が示すデータ長とから、バッファメモリ
4上に格納する各セクタから読出されたデータブロック
を格納するアドレスを算出して、ディスクポインタに格
納すると共に、交代処理済の予備セクタから読出された
データブロックをバッファメモリ4に書込む際のアドレ
スを、この予備セクタから読出した索引情報により算出
して格納する。
【0045】図5、図6、図7、図8及び図9は図2の
動作を説明するフローチャートである。プロセッサ15
は、ステップ(1) で読出し命令受信を監視しており、読
出し命令を受信すると、ステップ(2) で予備セクタを含
む読出しか調べる。
【0046】即ち、指定されたシリンダの指定されたヘ
ッドによって、このヘッドの追従するトラックに予備セ
クタが割付けられている場合、ステップ(3) の処理に移
行し、予備セクタが割付けられていないトラックの場
合、ステップ(11)で通常の読出し処理を実行してステッ
プ(1) の処理に移行する。
【0047】プロセッサ15はステップ(3) でディスク
制御回路18に指示して、ヘッドが位置付けされたセク
タの索引部から索引情報を読出させる。ディスク制御回
路18は読出した索引情報をメモリ制御回路17に送出
し、メモリ制御回路17はステップ(4) で索引情報から
バッファメモリ4のデータ格納アドレスを算出する。即
ち、トップアドレスレジスタ25の示すアドレスと、デ
ータブロック長レジスタ26が示すデータ長とから、デ
ィスクポインタの値を決定する。
【0048】ディスク制御回路18は、ステップ(5) で
読出したセクタが、交代処理済の欠陥セクタであるか調
べ、欠陥セクタであれば、ステップ(6) で要求されたデ
ータか調べる。
【0049】ステップ(6) で要求されたデータであれ
ば、ステップ(7) で領域Aに既に索引情報が格納されて
いるか調べ、格納されていれば、ステップ(8) で領域A
に格納されているデータを正常セクタのデータとして扱
い、ステップ(7) で格納されていなけれは、ステップ(1
0)で領域Aに索引情報とディスクポインタが示すアドレ
スを格納する。そして、ステップ(9) で欠陥セクタ数A
カウンタの値をインクリメントする。
【0050】メモリ制御回路17は、ステップ(12)でデ
ィスクポインタの示すアドレスから1セクタ分の空き領
域をバッファメモリ4上に設ける。そして、ディスク制
御回路18はステップ(13)で次のセクタの索引部から索
引情報を読出し、ステップ(4) の処理に移行する。
【0051】ステップ(6) で要求されたデータでは無い
場合、ディスク制御回路18はステップ(14)の処理に移
行し、先読みデータに該当するか調べる。先読みデータ
であれば、ステップ(15)で領域Bに既に索引情報が格納
されているか調べ、格納されていれば、ステップ(16)で
領域Bに格納されているデータを正常セクタのデータと
して扱い、ステップ(15)で格納されていなけれは、ステ
ップ(19)で領域Bに索引情報とディスクポインタが示す
アドレスを格納する。
【0052】そして、ステップ(17)で欠陥セクタ数Bカ
ウンタの値をインクリメントした後、ステップ(12)の処
理に移行する。ステップ(14)で先読みデータに該当しな
ければ、ステップ(18)でバッファメモリ4に格納せず、
ステップ(1) の処理に移行する。
【0053】ステップ(5) で交代処理済の欠陥セクタで
は無い場合、ディスク制御回路18はステップ(20)で交
代処理された予備セクタか調べ、交代処理されたセクタ
であれば、ステップ(21)で要求されたデータか調べ、要
求されたデータであれば、ステップ(22)でメモリ制御回
路17に指示して、ディスクポインタが示すアドレスか
らバッファメモリ4にデータを格納させる。
【0054】そして、ステップ(23)で転送ブロック数カ
ウンタの値をデクリメントとして、ステップ(24)で領域
Aにデータが格納されているか調べ、格納されていなけ
ればステップ(26)の処理に移行し、格納されていば、ス
テップ(25)で領域Aに格納されているデータを正常セク
タのデータとして扱う。
【0055】そして、ステップ(26)で欠陥セクタ数Aカ
ウンタの値をデクリメントし、ステップ(27)で転送デー
タブロック数は零か調べる。転送データブロック数が零
でなければ、ステップ(28)で次のセクタの索引部の索引
情報を読出し、ステップ(4) の処理に移行する。
【0056】ステップ(21)で要求されたデータでない場
合、ディスク制御回路18はステップ(29)で先読みに該
当するデータか調べ、先読みでなければステップ(27)の
処理に移行し、先読出みならば、ステップ(30)でディス
クポインタの示すアドレスからバッファメモリ4にデー
タを格納し、ステップ(31)で領域Bにデータが格納され
ているか調べ、格納されていなければステップ(33)の処
理に移行し、格納されていば、ステップ(32)で領域Bに
格納されているデータを正常セクタのデータとして扱
う。
【0057】そして、ステップ(33)で欠陥セクタ数Bカ
ウンタの値をデクリメントし、ステップ(27)の処理に移
行する。ステップ(20)で交代処理された予備セクタでな
ければ、ディスク制御回路18はステップ(34)で正常な
セクタか調べ、正常セクタでなければ、ステップ(27)の
処理に移行し、正常セクタであればステップ(35)で要求
されているセクタか調べ、要求されていれば、メモリ制
御回路17に指示してステップ(36)でディスクポインタ
の示すアドレスからバッファメモリ4にデータを格納
し、ステップ(37)で転送ブロック数カウンタの値をデク
リメントして、ステップ(27)の処理に移行する。
【0058】ステップ(35)で要求セクタでなければ、デ
ィスク制御回路18はステップ(38)で先読みに該当する
データか調べ、先読みに該当しなければステップ(27)の
処理に移行し、先読みに該当すれば、ステップ(39)でデ
ィスクポインタの示すアドレスからバッファメモリ4に
データを格納してから、ステップ(27)の処理に移行す
る。
【0059】ステップ(27)で転送データブロック数が零
となった場合は、ステップ(40)で欠陥セクタ数Aは零が
調べる。即ち、ディスク制御回路18は欠陥セクタ数A
レジスタの値を調べ、零であればステップ(44)で欠陥セ
クタ数Bは零が調べる。即ち、欠陥セクタ数Bレジスタ
の値を調べ、零であればステップ(1) の処理に移行す
る。
【0060】ステップ(40)で欠陥セクタ数Aが零でなけ
れば、ステップ(41)で交代シリンダにアクセスしてバッ
ファメモリ4にデータを取り込み、ステップ(42)で領域
Aに格納されているデータを正常セクタのデータとして
扱い、ステップ(43)で欠陥セクタ数Aカウンタの値をデ
クリメントし、ステップ(40)の処理に移行する。
【0061】ステップ(44)で欠陥セクタ数Bが零でなけ
れば、ステップ(45)で交代先をアクセスしてバッファメ
モリ4にデータを取り込み、ステップ(46)で領域Bに格
納されているデータを正常セクタのデータとして扱い、
ステップ(47)で欠陥セクタ数Bカウンタの値をデクリメ
ントし、ステップ(40)の処理に移行する。
【0062】
【発明の効果】以上説明した如く、本発明は予備セクタ
が割付けられたトラックの読出しを指示された場合、ヘ
ッドがこの予備セクタを通過する時、その予備セクタに
交代処理されたデータが存在する時、このデータを一般
のデータと同様に読出して、このデータが本来書込まれ
るべきセクタに対応するバッファメモリ上の領域に格納
することが可能となる。
【0063】従って、トラック上のセクタのアドレス順
に連続するように、バッファメモリ上で整列させたデー
タを、上位装置に転送することが出来るため、ディスク
媒体の回転待ちを最小限に抑え、上位装置からのデータ
読出し要求に対し、早急に応答することが出来る。
【0064】従って、ディスクサブシステムの性能向上
に寄与するところが大きい。
【図面の簡単な説明】
【図1】 本発明の原理を説明するブロック図
【図2】 本発明の一実施例を示す回路のブロック図
(その1)
【図3】 本発明の一実施例を示す回路のブロック図
(その2)
【図4】 図2の動作を説明する図
【図5】 図2の動作を説明するフローチャート(その
1)
【図6】 図2の動作を説明するフローチャート(その
2)
【図7】 図2の動作を説明するフローチャート(その
3)
【図8】 図2の動作を説明するフローチャート(その
4)
【図9】 図2の動作を説明するフローチャート(その
5)
【符号の説明】
1 上位装置 2 ディスク制御装置 3 ディスク装置 4 バッファメモリ 5 制御手段 6 索引情報記憶手段 7 トップアドレス記憶手段 8 データ長記憶手段 9 アドレス演算手段 10 先頭論理ブロック番号記憶手段 11 データブロック数記憶手段 12 判断手段 13 セクタ判断手段 14 ポインタ制御手段 15 プロセッサ 16 インタフェース回路 17 メモリ制御回路 18 ディスク制御回路 19 索引情報レジスタ 20 先頭論理ブロック番号レジスタ 21 データブロック数レジスタ 22 セクタ判断部 23 要求データブロック判断部 24 ポインタ・カウンタ制御部 25 トップアドレスレジスタ 26 データブロック長レジスタ 27 バッファアドレス演算部

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 トラック上に複数のセクタと、欠陥セク
    タの代わりにデータを記録する予備セクタとを備えたデ
    ィスク装置(3) を制御し、上位装置(1) から読出し範囲
    を指定されてデータの読出しを指示された時、該ディス
    ク装置(3) から読出したデータを一旦バッファメモリ
    (4) に格納してから読出して、該上位装置(1) に転送す
    るディスク制御装置(2) において、 前記トラックに対する位置付けが完了したヘッドがアク
    セスするセクタが、正常セクタであるか、欠陥セクタで
    あるか、欠陥セクタのデータが書込まれた交代処理済の
    予備セクタであるかを判定し、前記バッファメモリ(4)
    上に確保させた1トラック分の記憶領域に対し、正常セ
    クタから読出されたデータは該セクタアドレスに対応す
    るアドレスが付与された該バッファメモリ(4) 上の領域
    に書込み、該ヘッドがアクセスしたセクタが欠陥セクタ
    である場合は、該欠陥セクタのデータが書込まれるべき
    アドレスの付与された該バッファメモリ(4) 上の領域を
    スキップして空き領域とし、交代処理済の予備セクタか
    ら読出されたデータは、該交代処理した欠陥セクタのデ
    ータが書込まれるべき該バッファメモリ(4) 上の前記空
    き領域に書込む制御手段(5) を設け、 前記トラック上の欠陥セクタに対応してスキップされた
    バッファメモリ(4) 上の各空き領域には、夫々交代処理
    した予備セクタから読出されたデータを書込んで、該ト
    ラック上のセクタのアドレス順に連続するように整列さ
    せたデータの中から、前記上位装置(1) から要求された
    範囲内のセクタ数に対応するデータを抽出して該上位装
    置(1) に転送することを特徴とする予備セクタを先読み
    するディスク制御装置。
  2. 【請求項2】 上記ディスク制御装置(2) において、 上記制御手段(5) は、 ヘッドが読取るセクタの索引情報を記憶する索引情報記
    憶手段(6) と、 予め定まる上記トラックの先頭セクタのデータを記録す
    るための上記バッファメモリ(4) 上のアドレスを指定す
    るトップアドレス記憶手段(7) と、 トラックフォーマットによって定まる1トラック分のデ
    ータ記憶領域の長さの算出基準を示すデータ長記憶手段
    (8) と、 該索引情報記憶手段(6) と、トップアドレス記憶手段
    (7) 及びデータ長記憶手段(8) とから得られる情報に基
    づき、各セクタから読出されるデータをセクタ毎に区分
    して、前記バッファメモリ(4) 上に記憶させるためのア
    ドレスを算出するアドレス演算手段(9) と、 上記読出し範囲によって指定された先頭セクタのアドレ
    スを示す先頭論理ブロック番号記憶手段(10)と、 上記読出し範囲によって指定された読出し対象セクタ数
    を記憶するデータブロック数記憶手段(11)と、 該索引情報記憶手段(6) と、先頭論理ブロック番号記憶
    手段(10)及びデータブロック数記憶手段(11)とから得ら
    れる情報に基づき、ヘッドが読出すセクタのデータが、
    読出しを要求されたデータであるか否かを判断する判断
    手段(12)と、 該索引情報記憶手段(6) から得られるセクタ情報に基づ
    き、ヘッドが読出すセクタの状態を判定し、前記バッフ
    ァメモリ(4) にデータを書込む際のアドレス決定情報を
    送出するセクタ判断手段(13)と、 前記アドレス演算手段(9) と、判断手段(12)及びセクタ
    判断手段(13)とから得られる情報に基づき、前記バッフ
    ァメモリ(4) 上に1トラック分のデータを格納する領域
    を確保させ、ヘッドが位置付けされた直後から読取る正
    常なセクタのデータは、該セクタのトラック上のアドレ
    スに対応して確保されたバッファメモリ(4) 上の領域に
    書込ませると共に、欠陥セクタのアドレスに対応するバ
    ッファメモリ(4) 上の領域はスキップすることでデータ
    の書込みを行わせず、交代処理されて欠陥セクタのデー
    タが書込まれた予備セクタから読出されたデータは、当
    該欠陥セクタに対応してスキップされたバッファメモリ
    (4) 上の領域に書込ませるポインタ制御手段(14)と、 から構成されること特徴とする請求項1記載の予備セク
    タを先読みするディスク制御装置。
JP16515992A 1992-06-24 1992-06-24 予備セクタを先読みするディスク制御装置 Pending JPH064225A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16515992A JPH064225A (ja) 1992-06-24 1992-06-24 予備セクタを先読みするディスク制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16515992A JPH064225A (ja) 1992-06-24 1992-06-24 予備セクタを先読みするディスク制御装置

Publications (1)

Publication Number Publication Date
JPH064225A true JPH064225A (ja) 1994-01-14

Family

ID=15806993

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16515992A Pending JPH064225A (ja) 1992-06-24 1992-06-24 予備セクタを先読みするディスク制御装置

Country Status (1)

Country Link
JP (1) JPH064225A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970066894A (ko) * 1996-03-08 1997-10-13 김광호 고속 데이타 액세스방법
WO2004036572A1 (en) * 2002-10-15 2004-04-29 Koninklijke Philips Electronics N.V. Method and apparatus for retrieving data
CN103882288A (zh) * 2012-12-21 2014-06-25 鞍钢股份有限公司 一种高强度专用冷轧无取向电工钢及其生产方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970066894A (ko) * 1996-03-08 1997-10-13 김광호 고속 데이타 액세스방법
WO2004036572A1 (en) * 2002-10-15 2004-04-29 Koninklijke Philips Electronics N.V. Method and apparatus for retrieving data
CN100419892C (zh) * 2002-10-15 2008-09-17 皇家飞利浦电子股份有限公司 用于检索数据的方法和设备
CN103882288A (zh) * 2012-12-21 2014-06-25 鞍钢股份有限公司 一种高强度专用冷轧无取向电工钢及其生产方法

Similar Documents

Publication Publication Date Title
JP3898782B2 (ja) 情報記録再生装置
US4811280A (en) Dual mode disk controller
US4797755A (en) System and method for transferring data between a plurality of disks and a memory
JPH07334310A (ja) ディスク装置及び同装置における読み出しデータのバッファ記憶制御方法
US5293618A (en) Method for controlling access to a shared file and apparatus therefor
JPH07225715A (ja) キャッシュ内のデータにアクセスする方法およびシステム
US4903198A (en) Method for substituting replacement tracks for defective tracks in disc memory systems
JPH0316712B2 (ja)
JPH064225A (ja) 予備セクタを先読みするディスク制御装置
EP0108651A2 (en) Dynamic addressing for variable track length cache memory
JPH10171713A (ja) ディスク記憶装置及び同装置に適用するキャッシュ制御方法
EP0080878A2 (en) Cache memory and method of control for use with magnetic disks
JPH05128735A (ja) 不良ブロツク交代制御方式
JP2973474B2 (ja) 光磁気ディスク装置
JPH11232037A (ja) ディスクキャッシュライト機能を持った磁気ディスク装置
JPH10275425A (ja) ディスク装置及び同装置における欠陥による再配置データの高速ホスト転送方法
JPH1153124A (ja) 回転媒体記憶装置
JP4136637B2 (ja) キャッシュ制御装置
JP2562605B2 (ja) 磁気ディスク制御装置
JPH1049312A (ja) 磁気ディスク装置
JPH11232046A (ja) 磁気ディスク装置
JPH05342152A (ja) バッファ制御方式
JPS62140275A (ja) 交代割付処理方式
JPH04111015A (ja) 情報記録装置
JPH04341977A (ja) データ再生制御方式

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20000718