JP2748056B2 - ディスクコントローラ - Google Patents
ディスクコントローラInfo
- Publication number
- JP2748056B2 JP2748056B2 JP20601191A JP20601191A JP2748056B2 JP 2748056 B2 JP2748056 B2 JP 2748056B2 JP 20601191 A JP20601191 A JP 20601191A JP 20601191 A JP20601191 A JP 20601191A JP 2748056 B2 JP2748056 B2 JP 2748056B2
- Authority
- JP
- Japan
- Prior art keywords
- sector
- data
- read
- disk controller
- disk
- 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.)
- Expired - Lifetime
Links
Description
【0001】
【産業上の利用分野】この発明は記憶ユニットへのアク
セスを制御する制御装置に関し、特に、セクタ方式でデ
ータが記憶されたディスク状記憶媒体へのアクセスを制
御するディスクコントローラに関する。
セスを制御する制御装置に関し、特に、セクタ方式でデ
ータが記憶されたディスク状記憶媒体へのアクセスを制
御するディスクコントローラに関する。
【0002】
【従来の技術】データ処理システムにおいては、大量の
データを記憶するために、外部記憶装置が用いられる。
外部記憶装置は、磁気ディスクや光ディスクなどのディ
スク状記憶媒体(以下、単にディスクと称す)を備えて
おり、このディスクにデータを記憶する。
データを記憶するために、外部記憶装置が用いられる。
外部記憶装置は、磁気ディスクや光ディスクなどのディ
スク状記憶媒体(以下、単にディスクと称す)を備えて
おり、このディスクにデータを記憶する。
【0003】ディスクを記憶媒体とする外部記憶ユニッ
ト(以下、ディスクユニットと称す)を備えるデータ処
理システムにおいては、図3に示すように、CPU(中
央演算処理装置)などの演算処理装置100とディスク
ユニット200との間にディスクコントローラ1が設け
られる。演算処理装置100とディスクユニット200
との間のデータ転送はこのディスクコントローラ1を介
して行なわれる。すなわち、演算処理装置100からの
命令(コマンド)に従ってディスクコントローラ1がデ
ィスクユニット200へアクセスする。データ書込時に
は、演算処理装置100からの書込データがディスクコ
ントローラ1を介してディスクユニット200へ書込ま
れる。データ読出時においては、ディスクユニット20
0からデータがディスクコントローラ1へ読込まれ、こ
の読込まれたデータがディスクコントローラ1から演算
処理装置100へ転送される。
ト(以下、ディスクユニットと称す)を備えるデータ処
理システムにおいては、図3に示すように、CPU(中
央演算処理装置)などの演算処理装置100とディスク
ユニット200との間にディスクコントローラ1が設け
られる。演算処理装置100とディスクユニット200
との間のデータ転送はこのディスクコントローラ1を介
して行なわれる。すなわち、演算処理装置100からの
命令(コマンド)に従ってディスクコントローラ1がデ
ィスクユニット200へアクセスする。データ書込時に
は、演算処理装置100からの書込データがディスクコ
ントローラ1を介してディスクユニット200へ書込ま
れる。データ読出時においては、ディスクユニット20
0からデータがディスクコントローラ1へ読込まれ、こ
の読込まれたデータがディスクコントローラ1から演算
処理装置100へ転送される。
【0004】図4は図1に示すディスクコントローラ1
の具体的構成の一例を示す図である。図4を参照して、
ディスクコントローラ1は、演算処理装置(図4には示
さず)からの制御信号群3を受け、ディスクコントロー
ラ1の動作を制御する制御回路6と、演算処理装置とデ
ータバス20を介してデータの入出力を行なうバッファ
4とを含む。この制御信号群3は、演算処理装置から与
えられる制御信号のみならず、このディスクコントロー
ラ1から演算処理装置1へ出力される信号(レディ/ビ
ジー信号)等も含む。バッファ4は、データ入力バッフ
ァとデータ出力バッファとを含む。
の具体的構成の一例を示す図である。図4を参照して、
ディスクコントローラ1は、演算処理装置(図4には示
さず)からの制御信号群3を受け、ディスクコントロー
ラ1の動作を制御する制御回路6と、演算処理装置とデ
ータバス20を介してデータの入出力を行なうバッファ
4とを含む。この制御信号群3は、演算処理装置から与
えられる制御信号のみならず、このディスクコントロー
ラ1から演算処理装置1へ出力される信号(レディ/ビ
ジー信号)等も含む。バッファ4は、データ入力バッフ
ァとデータ出力バッファとを含む。
【0005】ディスクコントローラ1はさらに、ディス
クコントローラ1の動作状態等のステータス情報を格納
するステータスレジスタ14と、演算処理装置またはデ
ィスクユニットから与えられるデータを格納するデータ
レジスタ15と、制御回路6からの制御の下にバッファ
4とステータスレジスタ14およびデータレジスタ15
との接続を制御するマルチプレクサ5を含む。マルチプ
レクサ5は、演算処理装置へこのディスクコントローラ
1の状態を示すステータス情報を伝達する場合にはステ
ータスレジスタ14をバッファ4へ接続する。演算処理
装置からコマンドまたはデータが与えられるか、または
ディスクユニットからのデータを演算処理装置へ転送す
る場合には、マルチプレクサ5はデータレジスタ15を
バッファ4へ接続する。
クコントローラ1の動作状態等のステータス情報を格納
するステータスレジスタ14と、演算処理装置またはデ
ィスクユニットから与えられるデータを格納するデータ
レジスタ15と、制御回路6からの制御の下にバッファ
4とステータスレジスタ14およびデータレジスタ15
との接続を制御するマルチプレクサ5を含む。マルチプ
レクサ5は、演算処理装置へこのディスクコントローラ
1の状態を示すステータス情報を伝達する場合にはステ
ータスレジスタ14をバッファ4へ接続する。演算処理
装置からコマンドまたはデータが与えられるか、または
ディスクユニットからのデータを演算処理装置へ転送す
る場合には、マルチプレクサ5はデータレジスタ15を
バッファ4へ接続する。
【0006】ディスクコントローラ1はさらに、演算処
理装置から与えられるコマンドに付随するパラメータを
格納するコマンドレジスタ7と、この与えられたコマン
ドに従ってディスクユニットとのデータの入出力を制御
するドライブインターフェイス8と、ディスクユニット
とのデータ転送時においてシリアルに転送する場合のシ
リアルインターフェイスを制御するためのシリアルイン
ターフェイスコントロール(SIコントロール)13を
含む。ドライブインターフェイス8は、与えられたコマ
ンド(データレジスタ15を介して与えられる)に従っ
て入力ポート11および出力ポート12のいずれかを内
部データバス2へ接続する。
理装置から与えられるコマンドに付随するパラメータを
格納するコマンドレジスタ7と、この与えられたコマン
ドに従ってディスクユニットとのデータの入出力を制御
するドライブインターフェイス8と、ディスクユニット
とのデータ転送時においてシリアルに転送する場合のシ
リアルインターフェイスを制御するためのシリアルイン
ターフェイスコントロール(SIコントロール)13を
含む。ドライブインターフェイス8は、与えられたコマ
ンド(データレジスタ15を介して与えられる)に従っ
て入力ポート11および出力ポート12のいずれかを内
部データバス2へ接続する。
【0007】コマンドはコマンドレジスタ7に格納され
た後、図示しないデコーダによりデコードされる。この
デコード結果に従って、各インターフェイス8,13等
の動作が制御される。この制御の経路は示していない。
た後、図示しないデコーダによりデコードされる。この
デコード結果に従って、各インターフェイス8,13等
の動作が制御される。この制御の経路は示していない。
【0008】入力ポート11は、ディスクユニットに含
まれるディスクドライブ(ディスクへの実際のデータの
記録/再生を制御する装置)から与えられるデータを受
ける。出力ポート12はこのドライブインターフェイス
8を介して、内部データバス2上に送出されたデータを
ディスクユニットのドライブへ伝達する。
まれるディスクドライブ(ディスクへの実際のデータの
記録/再生を制御する装置)から与えられるデータを受
ける。出力ポート12はこのドライブインターフェイス
8を介して、内部データバス2上に送出されたデータを
ディスクユニットのドライブへ伝達する。
【0009】シリアルインターフェイスコントロール1
3は、このデータ転送時においてディスクユニットのド
ライブとの間のデータ転送に必要とされるデータ転送タ
イミングの確立などのシリアルインターフェイスを制御
する。
3は、このデータ転送時においてディスクユニットのド
ライブとの間のデータ転送に必要とされるデータ転送タ
イミングの確立などのシリアルインターフェイスを制御
する。
【0010】制御回路6は、制御信号群3に従って、こ
のディスクコントローラのリード/ライト動作およびD
MA(ダイレクトメモリアクセス)/INT(割込)動
作を制御する。
のディスクコントローラのリード/ライト動作およびD
MA(ダイレクトメモリアクセス)/INT(割込)動
作を制御する。
【0011】記憶媒体であるディスクは、通常図5に示
すような方法で情報を保持する。この図5においてディ
スク16は、円周に沿って配置される複数のセクタSE
を含む。このセクタSEそれぞれにはセクタ識別子が付
されており、そのセクタ識別子に従って対応のセクタに
アクセスし、アクセスされたセクタへ情報の書込または
セクタからの情報の読出が実行される。このように複数
のセクタが設けられ、各セクタ毎に識別子が付され、情
報が記憶される構成を以下「セクタ方式」と称する。
すような方法で情報を保持する。この図5においてディ
スク16は、円周に沿って配置される複数のセクタSE
を含む。このセクタSEそれぞれにはセクタ識別子が付
されており、そのセクタ識別子に従って対応のセクタに
アクセスし、アクセスされたセクタへ情報の書込または
セクタからの情報の読出が実行される。このように複数
のセクタが設けられ、各セクタ毎に識別子が付され、情
報が記憶される構成を以下「セクタ方式」と称する。
【0012】ディスクをファイル管理システムで利用す
る場合、ファイル管理情報は1つのセクタにその情報が
格納されるのではなく、ファイルの内容そのものを記憶
する情報を記憶するセクタと、この内容を参照する情報
を格納するセクタ2つに分割される。すなわち、ファイ
ル管理情報は、ファイルの内容そのものを示す情報と、
このファイル内容を参照する情報とを含む。
る場合、ファイル管理情報は1つのセクタにその情報が
格納されるのではなく、ファイルの内容そのものを記憶
する情報を記憶するセクタと、この内容を参照する情報
を格納するセクタ2つに分割される。すなわち、ファイ
ル管理情報は、ファイルの内容そのものを示す情報と、
このファイル内容を参照する情報とを含む。
【0013】図5に示す構成においては、第n1セクタ
17に参照情報19が含まれており、この参照情報19
が指定するセクタ(第n2セクタ)にファイルの実際の
内容が格納される状態が示される。このような参照方法
を「間接参照」と称する。
17に参照情報19が含まれており、この参照情報19
が指定するセクタ(第n2セクタ)にファイルの実際の
内容が格納される状態が示される。このような参照方法
を「間接参照」と称する。
【0014】この参照情報19は第n1セクタの先頭ア
ドレスからオフセット値offsetだけずれた領域に
格納される。以下、この第n2セクタに格納されたファ
イルの内容を読出す場合の動作について説明する。
ドレスからオフセット値offsetだけずれた領域に
格納される。以下、この第n2セクタに格納されたファ
イルの内容を読出す場合の動作について説明する。
【0015】第n1セクタ17に格納されている参照情
報19から実際のファイルの内容をプログラムに従って
読出す構成の場合、図6に示すフロー図に従った動作が
実行される。以下、この図4ないし図6を参照してファ
イルの情報読出動作について説明する。
報19から実際のファイルの内容をプログラムに従って
読出す構成の場合、図6に示すフロー図に従った動作が
実行される。以下、この図4ないし図6を参照してファ
イルの情報読出動作について説明する。
【0016】まず、参照情報19が格納されているセク
タn1を読込むため、演算処理装置は、セクタリードコ
マンドと、読込むべきセクタ番号n1をディスクコント
ローラ1に設定する。すなわち、まず演算処理装置10
0は、ディスクコントローラ1に対しセクタリードのコ
マンドを発行する(ステップS20)。このセクタリー
ドのコマンドはデータレジスタ15を介して与えられ、
次いでこのコマンドが図示しないデコード手段によりデ
コードされる。デコード結果に従って制御回路1を制御
してこのディスクコントローラ1をセクタリードモード
に設定する構成が用いられてもよい。
タn1を読込むため、演算処理装置は、セクタリードコ
マンドと、読込むべきセクタ番号n1をディスクコント
ローラ1に設定する。すなわち、まず演算処理装置10
0は、ディスクコントローラ1に対しセクタリードのコ
マンドを発行する(ステップS20)。このセクタリー
ドのコマンドはデータレジスタ15を介して与えられ、
次いでこのコマンドが図示しないデコード手段によりデ
コードされる。デコード結果に従って制御回路1を制御
してこのディスクコントローラ1をセクタリードモード
に設定する構成が用いられてもよい。
【0017】またこれに代えて、セクタリードコマンド
は制御信号群3に含まれる制御信号の状態の組合わせに
より表現され、このディスクコントローラ1の動作状態
が制御回路6の制御の下に設定されてもよい。
は制御信号群3に含まれる制御信号の状態の組合わせに
より表現され、このディスクコントローラ1の動作状態
が制御回路6の制御の下に設定されてもよい。
【0018】このディスクコントローラ1がセクタリー
ドモードに設定されるとこの状態はステータスレジスタ
14に設定される。
ドモードに設定されるとこの状態はステータスレジスタ
14に設定される。
【0019】演算処理装置100は、このディスクコン
トローラ1がセクタリード動作に設定されると、次いで
セクタ番号n1を送出する。ディスクコントローラ1は
この与えられたセクタ番号n1をコマンドレジスタ7に
格納する(ステップS21)。
トローラ1がセクタリード動作に設定されると、次いで
セクタ番号n1を送出する。ディスクコントローラ1は
この与えられたセクタ番号n1をコマンドレジスタ7に
格納する(ステップS21)。
【0020】このコマンドレジスタ7にセクタ番号n1
がドライブインターフェイス8および出力ポート12を
介してディスクユニットのドライブへ伝達される。
がドライブインターフェイス8および出力ポート12を
介してディスクユニットのドライブへ伝達される。
【0021】ディスクユニットのドライブにおいては、
この与えられたセクタ番号n1に従ってセクタn1のデ
ータがディスクから読出される。このディスクから読出
されたセクタn1のデータは、ディスクコントローラ1
の制御の下にDMA転送モードまたはプログラム転送モ
ードに従って演算処理装置に含まれるメモリへ読込まれ
る(ステップS22)。
この与えられたセクタ番号n1に従ってセクタn1のデ
ータがディスクから読出される。このディスクから読出
されたセクタn1のデータは、ディスクコントローラ1
の制御の下にDMA転送モードまたはプログラム転送モ
ードに従って演算処理装置に含まれるメモリへ読込まれ
る(ステップS22)。
【0022】DMA転送モードにおいては、このディス
クコントローラ1によりディスクユニットから読出され
たデータは直接演算処理装置内のメモリに読込まれる。
プログラム転送モードにおいては、演算処理装置の制御
の下にディスクコントローラ1から転送されたデータが
この演算処理装置内のメモリ上に読込まれる。
クコントローラ1によりディスクユニットから読出され
たデータは直接演算処理装置内のメモリに読込まれる。
プログラム転送モードにおいては、演算処理装置の制御
の下にディスクコントローラ1から転送されたデータが
この演算処理装置内のメモリ上に読込まれる。
【0023】演算処理装置は次いで、この転送され読込
まれたセクタn1のデータから参照情報19を読出し、
この参照すべきセクタがセクタn2であることを知る
(ステップS23)。
まれたセクタn1のデータから参照情報19を読出し、
この参照すべきセクタがセクタn2であることを知る
(ステップS23)。
【0024】演算処理装置はこの参照情報19をオフセ
ット値offsetに従って検出すると、再び、ファイ
ル(第n2セクタの内容)を読込むために、セクタリー
ドコマンドと、このコマンドのパラメータとしてセクタ
番号n2を上述と同様にしてディスクコントローラ1に
設定する(ステップS24、S25)。
ット値offsetに従って検出すると、再び、ファイ
ル(第n2セクタの内容)を読込むために、セクタリー
ドコマンドと、このコマンドのパラメータとしてセクタ
番号n2を上述と同様にしてディスクコントローラ1に
設定する(ステップS24、S25)。
【0025】次いで前述と同様にして、ディスクの第n
2セクタのデータがディスクコントローラ1を介して演
算処理装置内のメモリに読込まれる(ステップS2
6)。これにより、所望のファイルの内容がメモリ内に
格納される。
2セクタのデータがディスクコントローラ1を介して演
算処理装置内のメモリに読込まれる(ステップS2
6)。これにより、所望のファイルの内容がメモリ内に
格納される。
【0026】
【発明が解決しようとする課題】従来のディスクコント
ローラの構成においては、異なるセクタにアクセスする
ためには、各セクタへアクセスする毎に、演算処理装置
からコマンドを発行してディスクコントローラへ与える
必要がある。
ローラの構成においては、異なるセクタにアクセスする
ためには、各セクタへアクセスする毎に、演算処理装置
からコマンドを発行してディスクコントローラへ与える
必要がある。
【0027】セクタ参照情報の示すセクタが最終的にア
クセスを行ないたい対象であった場合であっても、ま
ず、リードコマンドを発行してセクタ参照情報が格納さ
れているセクタのリードを行ない、次いで再びリードコ
マンドを発行してセクタ参照情報が示すセクタのリード
を行なう必要がある。すなわち、「間接参照」に従って
ファイルの内容をリードする場合においては、リードコ
マンドを2回発行する必要があり、所望のファイルの内
容を読出すのに長時間を有するという問題があった。
クセスを行ないたい対象であった場合であっても、ま
ず、リードコマンドを発行してセクタ参照情報が格納さ
れているセクタのリードを行ない、次いで再びリードコ
マンドを発行してセクタ参照情報が示すセクタのリード
を行なう必要がある。すなわち、「間接参照」に従って
ファイルの内容をリードする場合においては、リードコ
マンドを2回発行する必要があり、所望のファイルの内
容を読出すのに長時間を有するという問題があった。
【0028】それゆえ、この発明の目的は上述の従来の
ディスクコントローラの有する欠点を除去し、高速で所
望のセクタの内容を読出すことのできるディスクコント
ローラを提供することである。
ディスクコントローラの有する欠点を除去し、高速で所
望のセクタの内容を読出すことのできるディスクコント
ローラを提供することである。
【0029】この発明の他の目的は、高速ファイルの内
容を読込むことのできるファイル管理システムを構築す
ることのできるディスクコントローラを提供することで
ある。
容を読込むことのできるファイル管理システムを構築す
ることのできるディスクコントローラを提供することで
ある。
【0030】
【課題を解決するための手段】この発明に係るディスク
コントローラは、コマンドのパラメータとしてセクタ番
号とオフセット値とを用い、このセクタ番号とオフセッ
ト値に従ってセクタ参照情報の格納場所を指定し、この
セクタ参照情報格納位置に記憶されたセクタ参照情報を
読込んでかつこの読込まれたセクタ参照情報に従って対
応のセクタへアクセスするようにしたものである。すな
わち、この発明に係るディスクコントローラは、セクタ
内の、参照セクタを特定するセクタ参照情報が格納され
た位置を示すオフセット値を格納し、このセクタの現在
のアクセス位置と格納されたオフセット値との一致/不
一致を検出するオフセット検出手段と、オフセット検出
手段からの一致検出信号に応答して、セクタから読込ま
れた所定サイズの情報を参照セクタ特定情報(セクタ参
照情報)としてセクタ参照情報格納手段と、この格納手
段に格納された参照情報に従って対応のセクタへアクセ
スする手段とを備える。
コントローラは、コマンドのパラメータとしてセクタ番
号とオフセット値とを用い、このセクタ番号とオフセッ
ト値に従ってセクタ参照情報の格納場所を指定し、この
セクタ参照情報格納位置に記憶されたセクタ参照情報を
読込んでかつこの読込まれたセクタ参照情報に従って対
応のセクタへアクセスするようにしたものである。すな
わち、この発明に係るディスクコントローラは、セクタ
内の、参照セクタを特定するセクタ参照情報が格納され
た位置を示すオフセット値を格納し、このセクタの現在
のアクセス位置と格納されたオフセット値との一致/不
一致を検出するオフセット検出手段と、オフセット検出
手段からの一致検出信号に応答して、セクタから読込ま
れた所定サイズの情報を参照セクタ特定情報(セクタ参
照情報)としてセクタ参照情報格納手段と、この格納手
段に格納された参照情報に従って対応のセクタへアクセ
スする手段とを備える。
【0031】
【作用】この発明におけるディスクコントローラでは、
オフセット検出手段が一致を検出したときに、この一致
が検出された位置から所定サイズのデータが参照セクタ
を特定するセクタ参照情報として記憶され、このセクタ
参照情報に従って対応のセクタへのアクセスが行なわれ
るため、演算処理装置は1回のコマンドを発行するだけ
で所望のセクタへアクセスすることができ、高速で所望
のセクタへアクセスすることができる。
オフセット検出手段が一致を検出したときに、この一致
が検出された位置から所定サイズのデータが参照セクタ
を特定するセクタ参照情報として記憶され、このセクタ
参照情報に従って対応のセクタへのアクセスが行なわれ
るため、演算処理装置は1回のコマンドを発行するだけ
で所望のセクタへアクセスすることができ、高速で所望
のセクタへアクセスすることができる。
【0032】
【実施例】図1はこの発明の一実施例であるディスクコ
ントローラの全体の構成を概略的に示すブロック図であ
る。図1において図4に示す従来のディスクコントロー
ラと対応する部分には同一の参照番号を付し、その説明
を省略する。
ントローラの全体の構成を概略的に示すブロック図であ
る。図1において図4に示す従来のディスクコントロー
ラと対応する部分には同一の参照番号を付し、その説明
を省略する。
【0033】図1を参照して、この発明のディスクコン
トローラ1は、セクタ内の現在位置が、コマンドのパラ
メータで指定されたセクタの先頭からのオフセット値と
一致したことを検出するオフセット検出部9と、オフセ
ット検出部9からの一致検出信号に従って、この一致が
検出された位置から所定のサイズに格納されているデー
タをセクタ参照情報として格納するアクセスセクタ番号
格納部10とを含む。
トローラ1は、セクタ内の現在位置が、コマンドのパラ
メータで指定されたセクタの先頭からのオフセット値と
一致したことを検出するオフセット検出部9と、オフセ
ット検出部9からの一致検出信号に従って、この一致が
検出された位置から所定のサイズに格納されているデー
タをセクタ参照情報として格納するアクセスセクタ番号
格納部10とを含む。
【0034】コマンドレジスタ7へは、セクタ間接リー
ドコマンドのパラメータとして、参照セクタ情報を格納
するセクタ番号と、このセクタ内において参照セクタ情
報が格納されている位置(オフセット値offset)
とがコマンドレジスタ7に設定される。
ドコマンドのパラメータとして、参照セクタ情報を格納
するセクタ番号と、このセクタ内において参照セクタ情
報が格納されている位置(オフセット値offset)
とがコマンドレジスタ7に設定される。
【0035】「間接リード」モードは、セクタ参照情報
の格納場所をセクタ番号と、このセクタ番号により識別
されるセクタの先頭からのオフセット値とで指定し、こ
のセクタ参照情報が示すセクタへのアクセスを1回のコ
マンド発行により実行するモードである。
の格納場所をセクタ番号と、このセクタ番号により識別
されるセクタの先頭からのオフセット値とで指定し、こ
のセクタ参照情報が示すセクタへのアクセスを1回のコ
マンド発行により実行するモードである。
【0036】「直接リード」モードは、セクタ番号で指
定されたセクタの内容をその先頭位置からすべて読込む
モードである。
定されたセクタの内容をその先頭位置からすべて読込む
モードである。
【0037】図2は、この発明の一実施例であるディス
クコントローラの間接リード動作を示すフロー図であ
る。以下、図1および図2を参照してこの発明の一実施
例であるディスクコントローラの動作について説明す
る。ディスクのデータ構造としては、図5に示すデータ
構造を想定する。
クコントローラの間接リード動作を示すフロー図であ
る。以下、図1および図2を参照してこの発明の一実施
例であるディスクコントローラの動作について説明す
る。ディスクのデータ構造としては、図5に示すデータ
構造を想定する。
【0038】まず、ディスクコントローラ1に対し、セ
クタ間接リードコマンドを発行する(ステップS3
1)。セクタ間接リードコマンドとセクタ直接リードコ
マンドとはそのコマンドが異なっており、間接リードモ
ードと直接リードモードとの判別を行なうことができ
る。このコマンドの設定は、制御信号群3を用いて制御
回路6に対して行なわれてもよく、またデータレジスタ
15を介してコマンドレジスタ7にに対しコマンドを設
定し、このコマンドレジスタ7に格納されたコマンドが
図示しないデコーダによりデコードされ、動作モードが
設定される構成であってもよい。このときコマンドレジ
スタ7に代えてデータレジスタ15にコマンドが格納さ
れてもよい。
クタ間接リードコマンドを発行する(ステップS3
1)。セクタ間接リードコマンドとセクタ直接リードコ
マンドとはそのコマンドが異なっており、間接リードモ
ードと直接リードモードとの判別を行なうことができ
る。このコマンドの設定は、制御信号群3を用いて制御
回路6に対して行なわれてもよく、またデータレジスタ
15を介してコマンドレジスタ7にに対しコマンドを設
定し、このコマンドレジスタ7に格納されたコマンドが
図示しないデコーダによりデコードされ、動作モードが
設定される構成であってもよい。このときコマンドレジ
スタ7に代えてデータレジスタ15にコマンドが格納さ
れてもよい。
【0039】マルチプレクサ5は、この間接リードコマ
ンドに従って、バッファ4をデータレジスタ15に接続
する。このマルチプレクサ5の動作の制御は制御回路6
の制御の下に実行される。
ンドに従って、バッファ4をデータレジスタ15に接続
する。このマルチプレクサ5の動作の制御は制御回路6
の制御の下に実行される。
【0040】次いで、この間接リードコマンドのパラメ
ータとして、セクタ番号n1とオフセット値offse
tが演算処理装置より発生され、ディスクコントローラ
1に設定される。より正確には、データレジスタ15を
介してコマンドレジスタ7に設定される。オフセット検
出部9は、コマンドレジスタ7に設定されたオフセット
値を基準値として用い、内部データバス2上のデータの
流れをモニタする。このオフセット検出部9は、コマン
ドレジスタ7においてオフセット値が設定されるレジス
タ位置が固定されていれば、そのオフセット値格納レジ
スタに対応して設けられる。
ータとして、セクタ番号n1とオフセット値offse
tが演算処理装置より発生され、ディスクコントローラ
1に設定される。より正確には、データレジスタ15を
介してコマンドレジスタ7に設定される。オフセット検
出部9は、コマンドレジスタ7に設定されたオフセット
値を基準値として用い、内部データバス2上のデータの
流れをモニタする。このオフセット検出部9は、コマン
ドレジスタ7においてオフセット値が設定されるレジス
タ位置が固定されていれば、そのオフセット値格納レジ
スタに対応して設けられる。
【0041】次いで、ディスクコントローラ1は、リー
ドコマンド(間接リードコマンド)に従って、コマンド
レジスタ7にパラメータとして設定されたセクタ番号n
1をドライブインターフェイス(ドライブIF)8およ
び出力ポート12を介してディスクユニットへ伝達す
る。このデータの伝達はシリアルインターフェイスコン
トロール13の制御の下に実行される。ディスクユニッ
トでは、セクタ番号n1のセクタの内容が読出され、入
力ポート11へこのセクタ番号n1の内容が伝達され
る。
ドコマンド(間接リードコマンド)に従って、コマンド
レジスタ7にパラメータとして設定されたセクタ番号n
1をドライブインターフェイス(ドライブIF)8およ
び出力ポート12を介してディスクユニットへ伝達す
る。このデータの伝達はシリアルインターフェイスコン
トロール13の制御の下に実行される。ディスクユニッ
トでは、セクタ番号n1のセクタの内容が読出され、入
力ポート11へこのセクタ番号n1の内容が伝達され
る。
【0042】ドライブインターフェイス8は、入力ポー
ト11へ与えられたデータを内部データバス2上へ伝達
する。オフセット検出部9は、このドライブインターフ
ェイス8から与えられたデータをモニタし、この内部デ
ータバス2上に与えられたデータがセクタ番号n1のセ
クタのどの位置にあるデータであるかをモニタする。
ト11へ与えられたデータを内部データバス2上へ伝達
する。オフセット検出部9は、このドライブインターフ
ェイス8から与えられたデータをモニタし、この内部デ
ータバス2上に与えられたデータがセクタ番号n1のセ
クタのどの位置にあるデータであるかをモニタする。
【0043】このオフセット検出部9がセクタ内の現在
位置を知る方法としては、入力ポート11からバイト単
位でデータが伝達される場合、クロック信号に同期して
伝達されるため、このクロックをカウントすることによ
りセクタ内の現在位置を知る構成が用いられてもよい。
このクロックは、ディスクコントローラ1内でデータ入
出力タイミングを決定するためのクロック信号が用いら
れてもよい。ボーレイト決定用クロックが、また、用い
られてもよい。また、シリアルインターフェイス13か
ら伝達されるデータ転送用の同期信号がクロック信号と
して用いられてもよい。セクタn1のデータの読込に応
答して起動されるタイマを用い、このタイマ出力により
セクタの現在位置を知る構成が用いられてもよい。
位置を知る方法としては、入力ポート11からバイト単
位でデータが伝達される場合、クロック信号に同期して
伝達されるため、このクロックをカウントすることによ
りセクタ内の現在位置を知る構成が用いられてもよい。
このクロックは、ディスクコントローラ1内でデータ入
出力タイミングを決定するためのクロック信号が用いら
れてもよい。ボーレイト決定用クロックが、また、用い
られてもよい。また、シリアルインターフェイス13か
ら伝達されるデータ転送用の同期信号がクロック信号と
して用いられてもよい。セクタn1のデータの読込に応
答して起動されるタイマを用い、このタイマ出力により
セクタの現在位置を知る構成が用いられてもよい。
【0044】また、オフセット検出部9は、この内部デ
ータバス2上のデータの変化時点を検出し、これにより
セクタ内の現在位置を知る構成が用いられてもよい。こ
の内部データバス2上のデータの変化を検出する構成
は、たとえばメモリにおいてアドレス変化を検出するた
めに用いられるアドレス変化検出回路と同様の構成が用
いられてもよい。オフセット検出部9は、その内部デー
タバス2上に伝達されたデータの位置がコマンドレジス
タ7に設定されたオフセット値offsetと一致した
とき一致検出信号をアクセスセクタ番号格納部10へ与
える。アクセスセクタ番号格納部10は、オフセット検
出部9からの一致検出信号に応答して、そのとき内部デ
ータバス2上に与えられているまたは次に与えられるデ
ータを取込み参照セクタ特定情報として格納する。
ータバス2上のデータの変化時点を検出し、これにより
セクタ内の現在位置を知る構成が用いられてもよい。こ
の内部データバス2上のデータの変化を検出する構成
は、たとえばメモリにおいてアドレス変化を検出するた
めに用いられるアドレス変化検出回路と同様の構成が用
いられてもよい。オフセット検出部9は、その内部デー
タバス2上に伝達されたデータの位置がコマンドレジス
タ7に設定されたオフセット値offsetと一致した
とき一致検出信号をアクセスセクタ番号格納部10へ与
える。アクセスセクタ番号格納部10は、オフセット検
出部9からの一致検出信号に応答して、そのとき内部デ
ータバス2上に与えられているまたは次に与えられるデ
ータを取込み参照セクタ特定情報として格納する。
【0045】オフセット検出部9が一致を検出するまで
のデータはデータレジスタ15へは格納されずすべて無
視される。このデータレジスタ15におけるデータの無
視は、図示しないコマンドデコーダの出力およびオフセ
ット検出部9の出力の制御のもとに制御回路6からの図
示しない制御経路に従って行なわれてもよく、また図示
しないゲート回路が設けられ、このゲート回路の開閉を
オフセット検出部9の出力により制御することにより実
行されてもよい。
のデータはデータレジスタ15へは格納されずすべて無
視される。このデータレジスタ15におけるデータの無
視は、図示しないコマンドデコーダの出力およびオフセ
ット検出部9の出力の制御のもとに制御回路6からの図
示しない制御経路に従って行なわれてもよく、また図示
しないゲート回路が設けられ、このゲート回路の開閉を
オフセット検出部9の出力により制御することにより実
行されてもよい。
【0046】アクセスセクタ番号格納部10に格納され
たデータは、次に読込むべきセクタの番号(n2)を示
している。オフセット検出部9が一致を検出すると、こ
のドライブインターフェイス8は、次いでこのデータ入
力を禁止し、内部データバス2を出力ポート12へ接続
する。次いで、ディスクコントローラ1は、アクセスセ
クタ番号格納部10に格納されたデータ(参照セクタ特
定情報)n2をドライブインターフェイス8へ送出す
る。ドライブインターフェイス8は、この参照セクタ情
報を出力ポート12を介してシリアルインターフェイス
コントロール13の制御のもとにディスクユニットへ送
出する。
たデータは、次に読込むべきセクタの番号(n2)を示
している。オフセット検出部9が一致を検出すると、こ
のドライブインターフェイス8は、次いでこのデータ入
力を禁止し、内部データバス2を出力ポート12へ接続
する。次いで、ディスクコントローラ1は、アクセスセ
クタ番号格納部10に格納されたデータ(参照セクタ特
定情報)n2をドライブインターフェイス8へ送出す
る。ドライブインターフェイス8は、この参照セクタ情
報を出力ポート12を介してシリアルインターフェイス
コントロール13の制御のもとにディスクユニットへ送
出する。
【0047】このアクセスセクタ番号格納部10から送
出される参照セクタ情報は、コマンドレジスタ7のセク
タ番号格納用レジスタへ取込まれ、内部データバス2を
介してドライブインターフェイス8へコマンドレジスタ
7から送出する構成が用いられてもよい。この場合に
は、間接リードモード時においては直接リード動作モー
ドがリードコマンドが与えられることなく続いて2回行
なわれることになる。
出される参照セクタ情報は、コマンドレジスタ7のセク
タ番号格納用レジスタへ取込まれ、内部データバス2を
介してドライブインターフェイス8へコマンドレジスタ
7から送出する構成が用いられてもよい。この場合に
は、間接リードモード時においては直接リード動作モー
ドがリードコマンドが与えられることなく続いて2回行
なわれることになる。
【0048】またこれに代えて、アクセスセクタ番号格
納部10に格納されたデータが直接内部データバス2上
へ送出され、ドライブインターフェイス8へ送出されて
もよい。シリアルインターフェイスコントロール13
は、このときディスクユニットのリード/ライトを制御
する構成が用いられてもよい。また単にデータの転送の
同期をとるための制御信号のみを発する構成が用いられ
てもよい。このときには、リード/ライト等の制御信号
はドライブインターフェイス8を介して出力ポート12
からディスクユニットのドライブ回路へ与えられる。
納部10に格納されたデータが直接内部データバス2上
へ送出され、ドライブインターフェイス8へ送出されて
もよい。シリアルインターフェイスコントロール13
は、このときディスクユニットのリード/ライトを制御
する構成が用いられてもよい。また単にデータの転送の
同期をとるための制御信号のみを発する構成が用いられ
てもよい。このときには、リード/ライト等の制御信号
はドライブインターフェイス8を介して出力ポート12
からディスクユニットのドライブ回路へ与えられる。
【0049】シリアルインターフェイスコントロール1
3が、ディスクユニットのリード/ライト動作をも制御
する場合、間接リードモードにおいてはオフセット検出
部9からの一致検出信号に応答して、このシリアルイン
ターフェイスコントロール13はリセット後再びリード
動作指定信号をディスクユニットへ伝達する。いずれの
構成が用いられてもよい。
3が、ディスクユニットのリード/ライト動作をも制御
する場合、間接リードモードにおいてはオフセット検出
部9からの一致検出信号に応答して、このシリアルイン
ターフェイスコントロール13はリセット後再びリード
動作指定信号をディスクユニットへ伝達する。いずれの
構成が用いられてもよい。
【0050】ディスクユニットでは、新たに与えられた
セクタ番号n2に従ってセクタn2の内容を読出し、デ
ィスクコントローラ1の入力ポート11へ伝達する。ド
ライブインターフェイス8は、入力ポート11へ与えら
れたデータを内部データバス2上へ送出する。データレ
ジスタ15はドライブインターフェイス8から内部デー
タバス2上へ伝達されたデータを格納する。マルチプレ
クサ5は、制御回路6の制御の下にデータレジスタ15
をバッファ4へ接続する。制御回路6からは、演算処理
装置へデータ転送を示す制御信号が送出される。
セクタ番号n2に従ってセクタn2の内容を読出し、デ
ィスクコントローラ1の入力ポート11へ伝達する。ド
ライブインターフェイス8は、入力ポート11へ与えら
れたデータを内部データバス2上へ送出する。データレ
ジスタ15はドライブインターフェイス8から内部デー
タバス2上へ伝達されたデータを格納する。マルチプレ
クサ5は、制御回路6の制御の下にデータレジスタ15
をバッファ4へ接続する。制御回路6からは、演算処理
装置へデータ転送を示す制御信号が送出される。
【0051】このとき、ステータスレジスタ14がデー
タ転送に先立って、データ転送を示す情報を演算処理装
置へ伝達する構成が用いられてもよい。すなわち、ステ
ータスレジスタ14にセクタ間接リードモード中である
ことを示すステータスが格納されており、オフセット検
出部9からの一致検出信号に応答して、このステータス
レジスタ14からのステータス情報がマルチプレクサ5
およびバッファ4を介して演算処理装置へ送られる構成
が用いられてもよい。
タ転送に先立って、データ転送を示す情報を演算処理装
置へ伝達する構成が用いられてもよい。すなわち、ステ
ータスレジスタ14にセクタ間接リードモード中である
ことを示すステータスが格納されており、オフセット検
出部9からの一致検出信号に応答して、このステータス
レジスタ14からのステータス情報がマルチプレクサ5
およびバッファ4を介して演算処理装置へ送られる構成
が用いられてもよい。
【0052】演算処理装置では、バッファ4を介して伝
達されたステータス情報に従って、所望のデータが伝達
されるか否かを判別する構成が用いられてもよい。すな
わちより具体的に言うと、ステータスレジスタ14から
間接リードモード中であることを示すステータス情報が
与えられている間演算処理装置はウエイト状態となり、
このステータスレジスタ14から送出されるデータ情報
が変化し、データ転送モードを示すステータス情報とな
ったときに、演算処理装置が転送データ入力モードに設
定する構成が用いられてもよい。
達されたステータス情報に従って、所望のデータが伝達
されるか否かを判別する構成が用いられてもよい。すな
わちより具体的に言うと、ステータスレジスタ14から
間接リードモード中であることを示すステータス情報が
与えられている間演算処理装置はウエイト状態となり、
このステータスレジスタ14から送出されるデータ情報
が変化し、データ転送モードを示すステータス情報とな
ったときに、演算処理装置が転送データ入力モードに設
定する構成が用いられてもよい。
【0053】このデータレジスタ15へ格納されたセク
タn2のデータが演算処理装置内のメモリへ読込まれる
(ステップS33)。
タn2のデータが演算処理装置内のメモリへ読込まれる
(ステップS33)。
【0054】上述のように、セクタ間接リードコマンド
においては、1つのコマンドにより、(1)参照情報が
格納されているセクタのリード、(2)実際に読取るべ
きデータの格納されているセクタのリードの2回のリー
ドが実行される。このため、1回のコマンドの発行で所
望のセクタの内容を演算処理装置内のメモリに読込むこ
とができ、高速で所望のセクタの内容を読むことができ
る。
においては、1つのコマンドにより、(1)参照情報が
格納されているセクタのリード、(2)実際に読取るべ
きデータの格納されているセクタのリードの2回のリー
ドが実行される。このため、1回のコマンドの発行で所
望のセクタの内容を演算処理装置内のメモリに読込むこ
とができ、高速で所望のセクタの内容を読むことができ
る。
【0055】なお、上記実施例においてはセクタ方式の
データ記憶構造として、ファイル管理システムが一例と
して示されたが、このようなファイル管理システムでな
く、「間接参照」のデータ構造を備えるものであれば上
記実施例と同様の効果を得ることができる。
データ記憶構造として、ファイル管理システムが一例と
して示されたが、このようなファイル管理システムでな
く、「間接参照」のデータ構造を備えるものであれば上
記実施例と同様の効果を得ることができる。
【0056】また、上記実施例においては、セクタ内の
データの演算処理装置内へのメモリへの読込動作につい
て説明している。しかしながら、ファイルの内容の書換
えを行ないたいような場合において、上述の間接リード
コマンドを「間接ライト」コマンドに変更すれば、所望
のセクタの書換えを1回のコマンドの発行で実行するこ
とができる。
データの演算処理装置内へのメモリへの読込動作につい
て説明している。しかしながら、ファイルの内容の書換
えを行ないたいような場合において、上述の間接リード
コマンドを「間接ライト」コマンドに変更すれば、所望
のセクタの書換えを1回のコマンドの発行で実行するこ
とができる。
【0057】また記憶媒体としては、光ディスク、磁気
ディスクなどのディスク状の記憶媒体を一例として説明
したが、データ記憶領域が複数のブロックに分割され、
異なるブロック間で参照関係を有するデータ構造を備え
る記憶媒体であれば上記実施例と同様の効果を得ること
ができる。
ディスクなどのディスク状の記憶媒体を一例として説明
したが、データ記憶領域が複数のブロックに分割され、
異なるブロック間で参照関係を有するデータ構造を備え
る記憶媒体であれば上記実施例と同様の効果を得ること
ができる。
【0058】
【発明の効果】以上のように、この発明によれば、セク
タ参照情報が格納される位置(セクタ番号およびオフセ
ット値)をパラメータとして指定すれば、セクタ参照情
報が示すセクタの内容を1回のコマンドの発行で読込む
ことができ、間接参照のデータ構造を有する記憶媒体に
対するデータ処理時間が大幅に短縮することが可能とな
る。
タ参照情報が格納される位置(セクタ番号およびオフセ
ット値)をパラメータとして指定すれば、セクタ参照情
報が示すセクタの内容を1回のコマンドの発行で読込む
ことができ、間接参照のデータ構造を有する記憶媒体に
対するデータ処理時間が大幅に短縮することが可能とな
る。
【0059】またこのディスクコントローラを備えるこ
とにより、高速でデータ処理を実行することのできるデ
ータ処理システムを構築することができる。
とにより、高速でデータ処理を実行することのできるデ
ータ処理システムを構築することができる。
【図1】この発明の一実施例であるディスクコントロー
ラの構成を示すブロック図である。
ラの構成を示すブロック図である。
【図2】図1に示すディスクコントローラの動作を示す
フロー図である。
フロー図である。
【図3】外部記憶装置としてディスクユニットを備える
データ処理システムの一般的構成を概略的に示す図であ
る。
データ処理システムの一般的構成を概略的に示す図であ
る。
【図4】従来のディスクコントローラの構成を示す図で
ある。
ある。
【図5】間接参照のデータ構造を備える記憶媒体の構成
を概略的に示す図である。
を概略的に示す図である。
【図6】図5に示すデータ構造を備える記憶媒体を図4
に示す従来のディスクコントローラで読込むときの処理
動作を示すフローチャート図である。
に示す従来のディスクコントローラで読込むときの処理
動作を示すフローチャート図である。
1 ディスクコントローラ 7 コマンドレジスタ 9 オフセット検出部 10 アクセスセクタ番号格納部 15 データレジスタ 6 制御回路
Claims (1)
- 【請求項1】 セクタ方式でデータを記憶する記憶媒体
を有する記憶ユニットのデータ入出力を制御するための
ディスクコントローラであって、 セクタ内の、参照セクタを特定する情報が格納された位
置を示すオフセット値を格納し、かつ前記セクタの現在
のアクセス位置と前記オフセット値との一致/不一致を
検出するためのオフセット検出手段と、 前記オフセット検出手段からの一致検出信号に応答し
て、前記セクタから読込まれた所定サイズの情報を前記
参照セクタ特定情報として格納するためのセクタ参照情
報格納手段と、 前記セクタ参照情報格納手段に格納された参照セクタ特
定情報に従って前記参照セクタへアクセスする手段とを
備える、ディスクコントローラ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20601191A JP2748056B2 (ja) | 1991-08-16 | 1991-08-16 | ディスクコントローラ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20601191A JP2748056B2 (ja) | 1991-08-16 | 1991-08-16 | ディスクコントローラ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0546322A JPH0546322A (ja) | 1993-02-26 |
JP2748056B2 true JP2748056B2 (ja) | 1998-05-06 |
Family
ID=16516433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP20601191A Expired - Lifetime JP2748056B2 (ja) | 1991-08-16 | 1991-08-16 | ディスクコントローラ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2748056B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2367375B (en) * | 2000-09-11 | 2004-09-01 | Mark Rogers | Laser range estimation aid |
-
1991
- 1991-08-16 JP JP20601191A patent/JP2748056B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH0546322A (ja) | 1993-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4723223A (en) | Direct memory access controller for reducing access time to transfer information from a disk | |
US4442485A (en) | Dynamically buffered data transfer system for large capacity data source | |
US5537552A (en) | Apparatus for selectively comparing pointers to detect full or empty status of a circular buffer area in an input/output (I/O) buffer | |
US6487631B2 (en) | Circuit and method for monitoring sector transfers to and from storage medium | |
JPH0793219A (ja) | 情報処理装置 | |
JPH06110617A (ja) | ディスク制御方法 | |
US4903195A (en) | Method for controlling data transfer | |
JP2759920B2 (ja) | Dasd周辺データ記憶サブシステムの作動方法及び装置 | |
JPS5832417B2 (ja) | デ−タ転送制御方式 | |
KR970005742B1 (ko) | 데이타 전송 제어용 인터페이스 회로 | |
JP2748056B2 (ja) | ディスクコントローラ | |
US6745300B1 (en) | Magnetic disk device and disk access method therefor | |
JP2852935B2 (ja) | 情報再生装置 | |
JPH031370A (ja) | 磁気デイスク装置の書込み・読出し制御回路 | |
JPH0793101A (ja) | データバックアップ装置 | |
JPH10333984A (ja) | 記録再生装置 | |
JP3905944B2 (ja) | 磁気ディスク装置用制御回路素子及び同制御回路素子を備えた磁気ディスク装置 | |
JP2003036145A (ja) | Fifoメモリのデータ転送制御装置 | |
JPH0684283A (ja) | 光磁気ディスクデータの転送方法 | |
JPH0562360A (ja) | 回転型記憶装置の欠陥セクタ処理方式 | |
JP2684717B2 (ja) | ディスクコントローラの不良トラック制御方法 | |
JPH0519181B2 (ja) | ||
JPH10177764A (ja) | 光ディスク記録装置 | |
JPH07281836A (ja) | データ転送方法 | |
JPH05241736A (ja) | 磁気テープ記憶装置のファイル制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19980113 |