JPH1011226A - ディスク記録再生システム及びその入出力制御方法 - Google Patents

ディスク記録再生システム及びその入出力制御方法

Info

Publication number
JPH1011226A
JPH1011226A JP16578996A JP16578996A JPH1011226A JP H1011226 A JPH1011226 A JP H1011226A JP 16578996 A JP16578996 A JP 16578996A JP 16578996 A JP16578996 A JP 16578996A JP H1011226 A JPH1011226 A JP H1011226A
Authority
JP
Japan
Prior art keywords
data
input
physical sector
disk
output
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
JP16578996A
Other languages
English (en)
Inventor
Kenji Otsuki
健児 大槻
Yasunori Yokoyama
康則 横山
Takehiko Otogawa
武彦 乙川
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
Toshiba Software Engineering Corp
Original Assignee
Toshiba Corp
Toshiba Software Engineering 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, Toshiba Software Engineering Corp filed Critical Toshiba Corp
Priority to JP16578996A priority Critical patent/JPH1011226A/ja
Publication of JPH1011226A publication Critical patent/JPH1011226A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

(57)【要約】 【課題】物理セクタ長が論理セクタ長の整数倍の仕様の
ディスク記録再生システムにおいて、大幅にインターフ
ェース仕様を変更することなく、特にデータ書込み動作
時における処理効率を向上させて、結果的に入出力性能
の低下の軽減化を図ることにある。 【解決手段】HDC13の入出力単位である物理セクタ
長がCPU1の入出力単位である論理セクタ長の整数倍
である仕様のHDD3おいて、データ書込み動作時に、
最初のデータ書込み動作の終了後に、アクセス対象であ
る物理セクタ範囲に含まれた物理セクタであって、次の
書込みデータを書込む論理セクタを含む物理セクタの前
半部または後半部に相当する論理セクタ長のデータを保
存するワークバッファ12を有する。CPU1は、ディ
スク15に保存すべきライトデータを入出力バッファ1
0にセットして、HDC13に対してデータ書込み要求
の入出力命令を出力する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ディスクを記録媒
体として使用し、ディスクに対してセクタ単位でデータ
をアクセスするハードディスク装置からなるディスク記
録再生システムの入出力制御に関する。
【0002】
【従来の技術】従来、パーソナルコンピュータ等のコン
ピュータシステムでは、周辺デバイスである外部記憶装
置としてハードディスク装置(HDD)が本体内に内蔵
または外付けの状態で使用されている。HDDは、1枚
または数枚のディスクを記録媒体として使用し、このデ
ィスクに対してデータを書込み、またはディスクに保存
されたデータを読出す動作を行なう。
【0003】ディスクは、同心円状の多数のトラックが
構成されており、各トラックが数十のセクタ(以下物理
セクタと称する)に分割されている。通常ではHDDに
内蔵されているディスクコントローラ(HDC)は、そ
の物理セクタを最小単位として入出力(アクセス)動作
を制御する。一方、コンピュータ本体のCPU(OSを
含むシステムのメイン要素)は、論理セクタを最小単位
として、通常では複数の論理セクタからなるブロック単
位のデータファイルをアクセスするための入出力命令を
HDCに出力する。即ち、HDCは物理セクタを最小単
位とするデータの入出力を制御し、CPUは論理セクタ
を最小単位とするデータの入出力を制御する。
【0004】ここで、物理セクタ長と論理セクタ長(例
えば256バイト)とが同一である場合を想定する。C
PUは、ディスクに対してデータをアクセス(リードア
クセスまたはライトアクセス)する場合に、HDCに入
出力命令を出力する。入出力命令には、リード要求また
はライト要求を示すコマンドコード、論理セクタアドレ
ス、要求セクタ数分のレングス(ブロック長)および入
出力バッファアドレスが含まれている。入出力バッファ
は、CPUにより制御されるコンピュータ本体に内蔵さ
れているメインメモリに設けられた入出力データ(アク
セス対象のリードまたはライトデータ)を一時的に保存
するためのバッファである。
【0005】図13(A)に示すように、例えば書込み
動作(ディスクからデータ出力)時に、CPUは、ディ
スクに保存すべき書込みデータ(ライトデータ)を入出
力バッファ10にセットする。ここで、物理セクタアド
レスを「B0…Bn」とし、論理セクタアドレスを「L
0…Ln」とする。また、CPUがアクセスするデータ
ファイルのブロック長を論理セクタの3つ分(765バ
イト)とする。
【0006】HDCは、入出力命令を受けると、入出力
バッファ10にセットされた書込みデータを一旦バッフ
ァメモリ11に格納した後に、ディスク上の指定された
物理セクタアドレス(論理セクタアドレスを変換する)
に書込む書込み動作を実行させる。HDDでは、HDC
から出力された書込みデータはヘッドによりディスク上
に磁気的に記録される。バッファメモリ11はHDCに
より制御されるハードウェアバッファまたはセクタバッ
ファと称するRAMである。
【0007】一方、CPUの要求がリード動作の場合に
は、HDCによりディスクから読出された読出しデータ
(リードデータ)がバッファメモリ11に格納された後
に、入出力バッファ10に転送される。CPUは入出力
バッファ10をアクセスして、ディスクに保存されてい
たデータを処理する。
【0008】ここで、従来では、図13(B)に示すよ
うに、ディスクの物理セクタ長が論理セクタ長の整数倍
(例えば2倍の512バイト)となる仕様のHDDがあ
る。このようなHDDをシステムの周辺デバイスとして
使用する場合に、CPUとHDCとのインターフェース
仕様が前記の同図(A)の場合と同一であると、以下の
ような制御が必要となる。
【0009】即ち、図13(B)に示すように、例えば
CPUが論理セクタアドレスL1〜L3からなるデータ
をディスクに保存する場合に、そのライトデータを入出
力バッファ10にセットする。HDCは、入出力バッフ
ァ10の書込みトデータをバッファメモリ11に転送し
てディスクに書込むライト動作の前に、アクセス対象の
物理セクタ範囲(物理セクタアドレスB0〜B1)の保
存データをリードする。このリード動作により、バッフ
ァメモリ11には更新対象ではない物理セクタアドレス
B0の前半部のデータ(論理セクタアドレスL0に相当
する)D0を含む保存データD1〜D3が格納される。
【0010】HDCは、バッファメモリ11の内容を入
出力バッファ10にセットされた書込みデータにより更
新した後に、ディスクの物理セクタアドレスB0〜B1
に書込む。このようなリード動作、バッファメモリ11
のデータ更新、ライト動作の一連の処理により、アクセ
ス対象の物理セクタ範囲において、更新対象ではない物
理セクタアドレスB0のデータD0を破壊することな
く、CPUにより要求された書込みデータに基づいたデ
ータ更新を行なうことができる。即ち、HDCによるリ
ード動作を実行しない場合には、CPUの要求に応じて
アクセス対象の物理セクタ範囲B0〜B1のデータを更
新すると、物理セクタアドレスB0の前半部には不定の
データが書込まれることになる。なお、この具体例で
は、物理セクタアドレスB0の前半部までライト動作を
行なう場合について説明したが、例えば物理セクタアド
レスB1の後半部までライト動作を行なう場合も同様の
リード動作が必要となる。
【0011】
【発明が解決しようとする課題】従来のHDDの入出力
制御動作において、HDCのアクセス単位である物理セ
クタ長が、CPUのアクセス単位である論理セクタ長の
整数倍の場合には、データの書込み動作時(データ更新
時)に、アクセスされる物理セクタ範囲の保存データを
保護するために、データ読出し動作(リード動作)が必
要となる。このリード動作により、CPUとHDC間の
インターフェース仕様を変更することなく、確実なライ
ト動作を実現できるが、そのリード動作に相当する処理
時間を要することになり、システムの入出力性能の低下
を招くことになる。
【0012】本発明の目的は、物理セクタ長が論理セク
タ長の整数倍の仕様のディスク記録再生システムにおい
て、大幅にインターフェース仕様を変更することなく、
特にデータ書込み動作時(データ更新時)における処理
効率を向上させて、結果的に入出力性能の低下の軽減化
を図ることにある。
【0013】
【課題を解決するための手段】本発明は、例えばHDD
の入出力制御に関するディスク記録再生システムであ
り、ディスクコントローラ(ディスク制御手段)の入出
力単位である物理セクタ長がCPUの入出力単位である
論理セクタ長の整数倍である仕様において、データ書込
み動作時に、最初のデータ書込み動作の終了後に、アク
セス対象(書込み対象)である物理セクタ範囲に含まれ
た物理セクタであって、次の書込みデータを書込む論理
セクタを含む物理セクタの前半部または後半部に相当す
る論理セクタ長のデータを保存するワークバッファ手段
を有する。
【0014】CPUは、ディスクに保存すべきライトデ
ータを入出力バッファにセットして、ディスクコントロ
ーラに対してデータ書込み要求の入出力命令を出力す
る。ディスクコントローラは、データ書込み要求に対す
る最初のアクセス動作では、アクセス対象の物理セクタ
範囲の保存データをリードして、バッファメモリに格納
する。さらに、入出力バッファの内容により、バッファ
メモリの内容を更新してディスクのアクセス対象の物理
セクタ範囲に書込む。この書込み終了後に、CPUは次
のデータ書込み対象である論理セクタを含む物理セク
タ、例えば最初のデータ書込み対象である物理セクタ範
囲の後半セクタの前半部に相当する論理セクタのデータ
をワークバッファ手段に保存する。そして、次のデータ
手書込動作時に、ディスクコントローラは、入出力バッ
ファ手段に保存されたライトデータと前記ワークバッフ
ァ手段に保存されたデータとをバッファメモリに格納し
た後に、次のアクセス対象である物理セクタ範囲に書込
む。
【0015】このような入出力制御により、次のデータ
書込み動作からは、データを保護するためのリード動作
を行なうことなく、アクセス対象の物理セクタ範囲に含
まれる更新対象外の論理セクタに相当する保存データと
書込み対象のライトデータとを同時に書込む。これによ
り、結果的に更新対象外の論理セクタに相当する保存デ
ータを破壊するような事態を防止し、かつリード動作を
省略することができるため、入出力処理の効率を向上さ
せることができる。
【0016】
【発明の実施の形態】以下図面を参照して本発明の実施
の形態を説明する。図1は第1の実施形態に関係するシ
ステム構成を示すブロック図であり、図2と図3は本実
施形態の動作を説明するための概念図であり、図4は本
実施形態の動作を説明するためのフローチャートであ
る。 (システム構成)本実施形態のシステムは、図1に示す
ように、CPU1とメインメモリ2とを有するホストコ
ンピュータ(システム本体)に対して、周辺デバイスで
あるハードディスク装置(HDD)3がシステム本体内
に内蔵または外付けにより接続された構成を想定する。
【0017】CPU1は、OS(オペレーティングシス
テム)を含むシステムの中央処理装置であり、前述した
ように、論理セクタを最小単位として、通常では複数の
論理セクタからなるブロック単位のデータファイルをア
クセスするための入出力命令を出力する。メインメモリ
2は、CPU1によりアクセス制御されるRAMからな
り、本実施形態に関係する入出力バッファ10とワーク
バッファ12の各記憶領域を含む。入出力バッファ10
は、CPU1が要求する書込みまたは読出しの各データ
を保存する。ワークバッファ12は、後述するように、
データ書込み動作時にアクセス対象の物理セクタ範囲に
含まれる物理セクタの前半部または後半部に相当する論
理セクタ長の書込みデータを保存する。
【0018】HDD3は、CPU1とのインターフェー
ス、及びデータの書込み動作と読出し動作を制御する機
能を有するディスクコントローラ(HDC)13と、H
DC13の制御により記録媒体である各ディスク15に
対してデータの書込み動作または読出し動作を実行する
ためのリード/ライト(R/W)系装置14と、HDC
13の制御によりディスク15に対してリード/ライト
する書込みデータまたは読出しデータを保存するための
バッファメモリ(ハードウェアバッファまたはセクタバ
ッファ)とを備えている。R/W系装置14は、ヘッド
とリード/ライト信号処理回路を含み、ヘッドによりデ
ィスク15から読出した読出しデータを再生し、または
HDC13から転送された書込みデータをヘッドにより
ディスク15に記録する。 (第1の実施形態の動作)以下図2、図3、及び図4の
フローチャートを参照して本実施形態の動作を説明す
る。
【0019】本実施形態は、図2に示すように、ディス
ク15上の物理セクタ長が、CPU1からの入出力命令
により定義される論理セクタ長(256バイト)の整数
倍(具体例として2倍の512バイト)であるHDD1
3を想定する。さらに、CPU1は、データファイルの
ブロック長を3論理セクタ分(768バイト)とし、例
えば論理セクタアドレスL0〜L2をブロック1として
アクセスする。論理セクタアドレスL0,L1は、物理
セクタアドレスB0に対応し、論理セクタアドレスL0
〜L2は物理セクタアドレスB0からB1の前半部まで
の物理セクタ範囲に相当する。
【0020】具体例として、CPU1がデータファイル
としてブロック3(論理セクタアドレスL6〜L8)を
ディスク15に書込み、さらにブロック4(論理セクタ
アドレスL9〜L11)をディスク15に書込む場合を
想定する。
【0021】CPU1は、データ書込みを要求するライ
トコマンドおよび論理セクタアドレスを含む入出力命令
をHDC13に出力する(ステップS1)。入出力命令
には、それら以外に要求セクタ数分のレングス(ブロッ
ク長)および入出力バッファアドレスが含まれている。
CPU1は、書込み対象である書込みデータを入出力バ
ッファ10にセットする(ステップS5)。
【0022】ここで、CPU1は、書込み対象の論理セ
クタがデータファイル中のデータ最終位置であるか否か
を判定する(ステップS3)。通常ではデータ最終位置
は、HDC13により格納されるバッファメモリ11に
記録されている。本実施形態では、ブロック3はデータ
最終位置でないとする。さらに、CPU1は、ワークバ
ッファ12をアクセスして、保存データがあるか否かを
判定する(ステップS4)。ここでは、ワークバッファ
12には保存データ(後述する1論理セクタ分の書込み
データ)はセットされていないとする。
【0023】HDC13は、CPU1からの要求に応じ
て書込み動作の前に、指定されたアクセス対象であるブ
ロック3に対応する物理セクタ範囲(物理セクタ3,
4)を読出し、バッファメモリ11にセットする(ステ
ップS6)。このとき、HDC13は物理セクタ3,4
をそれぞれ順次読出す。
【0024】CPU1は、入出力バッファ10にブロッ
ク3の書込みデータをセットし、HDC13に対して書
込み指示を行なう(ステップS7,S8)。HDC13
は、入出力バッファ10の書込みデータをバッファメモ
リ11に格納し、ブロック3に対応する物理セクタ3,
4にそれぞれ書込む。このとき、物理セクタ4には、C
PU1からの論理セクタアドレスL8のデータと前に読
出したデータ(論理セクタアドレスL9に対応する記録
データ)とが書込まれる。従って、物理セクタ4におい
て、更新されない記録データは確実に保護される。
【0025】このデータ書込み動作の終了後に、CPU
1はその書込み動作時の物理セクタ範囲において、次の
ブロック4を書込むときの物理セクタ(セクタ4)の前
半部までを書込みしたか否かを判定する(ステップS
9)。ここでは、前半部であるため、図2に示すよう
に、CPU1は入出力バッファ10から該当する論理セ
クタアドレスL8に対応する書込みデータをワークバッ
ファ12に保存する(ステップS10)。
【0026】次に、CPU1はブロック4の書込み要求
をHDC13に行なう(ステップS1〜S3)。CPU
1は、ワークバッファ12の保存データ(論理セクタア
ドレスL8に対応する書込みデータ)を認識すると、そ
の保存データが物理セクタ4の前半部または後半部のデ
ータに該当するかを判定する(ステップS4のYES,
S11)。
【0027】ここでは、ワークバッファ12の保存デー
タは物理セクタ4の前半部に相当するため、図3に示す
ように、CPU1は、ワークバッファ12の保存データ
と入出力バッファ10の書込みデータとをバッファメモ
リ11にセットする(ステップS12)。ここで、入出
力バッファ10には、ブロック4に対応する論理セクタ
アドレスL9〜L11がセットされている。従って、バ
ッファメモリ11には、ブロック4のアクセス対象であ
る物理セクタ範囲のセクタ4,5に対応するセクタ4の
前半部、およびそれ以降のセクタ4の後半部とセクタ5
に対応する書込みデータがセットされる。
【0028】HDC13は、バッファメモリ11にセッ
トされたデータを物理セクタ範囲4,5に書込む(ステ
ップS8)。このとき、物理セクタ4の前半部には、前
のブロック3の書込み動作時にワークバッファ12に保
存された論理セクタアドレスL8に対応するデータ(記
録データ)が書込まれる。従って、ブロック4に対応す
る物理セクタ範囲4,5の書込み動作時に、前の書込み
により記録された論理セクタアドレスL8に対応する記
録データを確実に保護することができる。即ち、ブロッ
ク4の書込み動作では、非更新対象である物理セクタ4
の前半部を破壊することなく確実に保護できる。
【0029】以上のように本実施形態によれば、最初の
データ書込み動作(ブロック3)では従来と同様に、ア
クセスされる物理セクタ範囲の記録データ(ここでは物
理セクタ4の後半部)を保護するためのリード動作が必
要となる。しかし、次のデータ書込み動作(ブロック
4)では保護すべき記録データ(ここでは物理セクタ4
の前半部)をワークバッファ12に保存するため、リー
ド動作を不要にすることができる。このリード動作の省
略するため、結果的にHDD3に対するアクセス処理の
効率を向上させることができる。
【0030】なお、物理セクタの前半部をワークバッフ
ァ12に保存する場合について説明したが、当然ながら
物理セクタの後半部をワークバッファ12に保存する場
合にも適用できる。この場合には、図4のステップS1
3に示すように、CPU1は入出力バッファ10の書込
みデータとワークバッファ12の保存データとをバッフ
ァメモリ11にセットする。即ち、ワークバッファ12
の保存データが物理セクタ範囲の後半部に書込まれるよ
うにセットする。 (第2の実施形態)第2の実施形態は、図1に示すシス
テムにおいて、データファイルのブロック長を3論理セ
クタ分(768バイト)とし、CPU1がデータファイ
ルとしてブロック3(論理セクタアドレスL6〜L8)
およびブロック4(論理セクタアドレスL9〜L11)
のデータをディスク15から読出し、更新した後に書込
むデータ更新動作の場合を想定する。
【0031】以下図5、図6、および図9のフローチャ
ートを参照して説明する。本実施形態では、CPU1は
HDC13に対して、アクセス対象(更新対象)のブロ
ック3のデータを読出すための入出力命令(リードコマ
ンド)を出力する(図4のステップS2のNOから図9
の処理に移行する)。この読出し動作において、CPU
1は、ブロック3に対応する物理セクタ範囲の先頭物理
セクタの前半部からの読出し動作であるか否かを判定す
る(ステップS20)。
【0032】ここでは、図5に示すように、目的ブロッ
クとしてブロック3に含まれる物理セクタ3の前半部か
ら物理セクタ4の前半部までを更新することを想定する
(ステップS20のYES,S21のYES)。HDC
13は、ブロック3に対応する物理セクタ範囲3,4の
データを読出し、バッファメモリ11に保存する。この
とき、CPU1は更新対象外である物理セクタ範囲の最
終物理セクタ4であって、その後半部に相当する論理セ
クタアドレスL9の記録データをワークバッファ12に
保存する(ステップS22)。
【0033】CPU1は、バッファメモリ11から更新
対象である読出しデータ(論理セクタアドレスL6〜L
8)を入出力バッファ10に保存した後に更新処理を実
行する(ステップS23)。なお、ステップS21の判
定処理で物理セクタ4の前半部までの更新ではない場合
には、通常の読出し動作を実行することになる(ステッ
プS21のNO,S26)。即ち、ワークバッファ12
にはデータを保存せずに、読出しデータをバッファメモ
リ11から入出力バッファ10に転送する。
【0034】CPU1は、更新したブロック3のデータ
を入出力バッファ10からバッファメモリ11に転送し
て、ディスク15に書込む(書換える)ためのライトコ
マンドをHDC13に出力する。この書込み動作は、前
述の第1の実施形態の場合と同様である。即ち、CPU
1はワークバッファ12に保存されているデータが物理
セクタ4の前半部または後半部のデータに該当するかを
判定する(図4のステップS4のYES,S11)。
【0035】ここでは、物理セクタ4の後半部のデータ
が保存されているため、CPU1は、図6に示すよう
に、入出力バッファ10の更新データとワークバッファ
12の保存データとをバッファメモリ11にセットする
(図4のステップS13)。HDC13は、バッファメ
モリ11にセットされたブロック3の更新データと物理
セクタ4の後半部のデータとをディスク15に書込む。
【0036】以上のように本実施形態によれば、アクセ
ス対象(更新対象)であるブロック3に対応する物理セ
クタ範囲において、先頭物理セクタ3の前半部から最終
物理セクタ4の前半部までの記録データを書換える場合
に、非更新対象である物理セクタ4の後半部をワークバ
ッファ12に保存する。そして、更新されたブロック3
のデータとワークバッファ12の保存データとを物理セ
クタ範囲3,4に書込むことにより、ブロック3のデー
タを更新できることになる。このような更新時でのデー
タ書込み動作において、非更新対象のデータ(物理セク
タ4の後半部に相当する論理セクタアドレスL9)を保
護するためのリード動作を要することなく、その非更新
対象のデータを破壊するような事態を防止することがで
きる。 (第3の実施形態)第3の実施形態は、前記第2の実施
形態のデータ更新動作における応用例に相当する内容で
あり、図7に示すように、ブロック4のデータを読出し
て書換える場合を想定する。以下図7、図8、および図
9のフローチャートを参照して説明する。
【0037】CPU1はHDC13に対して、アクセス
対象(更新対象)のブロック3のデータを読出すための
入出力命令(リードコマンド)を出力する(図4のステ
ップS2のNOから図9の処理に移行する)。この読出
し動作において、CPU1は、ブロック3に対応する物
理セクタ範囲の先頭物理セクタの前半部からの読出し動
作であるか否かを判定する(ステップS20)。
【0038】ここでは、図7に示すように、目的ブロッ
クとしてブロック4に含まれる物理セクタ4の後半部か
ら物理セクタ5までを更新することを想定する(ステッ
プS20のNO,S24のYES)。HDC13は、ブ
ロック4に対応する物理セクタ範囲4,5のデータを読
出し、バッファメモリ11に保存する。このとき、CP
U1は更新対象外である物理セクタ範囲の先頭物理セク
タ4であって、その前半部に相当する論理セクタアドレ
スL8の記録データをワークバッファ12に保存する
(ステップS25)。
【0039】CPU1は、バッファメモリ11から更新
対象である読出しデータ(論理セクタアドレスL9〜L
11)を入出力バッファ10に保存した後に更新処理を
実行する(ステップS23)。なお、ステップS24の
判定処理で物理セクタ4の後半部からの更新ではない場
合には、通常の読出し動作を実行することになる(ステ
ップS21のNO,S26)。即ち、ワークバッファ1
2にはデータを保存せずに、読出しデータをバッファメ
モリ11から入出力バッファ10に転送する。
【0040】CPU1は、更新したブロック4のデータ
を入出力バッファ10からバッファメモリ11に転送し
て、ディスク15に書込む(書換える)ためのライトコ
マンドをHDC13に出力する。この書込み動作は、前
述の第1の実施形態の場合と同様である。即ち、CPU
1はワークバッファ12に保存されているデータが物理
セクタ4の前半部または後半部のデータに該当するかを
判定する(図4のステップS4のYES,S11)。
【0041】ここでは、物理セクタ4の前半部のデータ
が保存されているため、CPU1は、図8に示すよう
に、ワークバッファ12の保存データと入出力バッファ
10の更新データとをバッファメモリ11にセットする
(図4のステップS12)。HDC13は、バッファメ
モリ11にセットされた物理セクタ4の前半部とブロッ
ク4の更新データとをディスク15に書込む。
【0042】以上のように本実施形態によれば、アクセ
ス対象(更新対象)であるブロック4に対応する物理セ
クタ範囲において、先頭物理セクタ4の後半部から最終
物理セクタ5の後半部までの記録データを書換える場合
に、非更新対象である物理セクタ4の前半部をワークバ
ッファ12に保存する。そして、更新されたブロック4
のデータとワークバッファ12の保存データとを物理セ
クタ範囲4,5に書込むことにより、ブロック4のデー
タを更新できることになる。このような更新時でのデー
タ書込み動作において、非更新対象のデータ(物理セク
タ4の前半部に相当する論理セクタアドレスL8)を保
護するためのリード動作を要することなく、その非更新
対象のデータを破壊するような事態を防止することがで
きる。 (第4の実施形態)第4の実施形態は、前述の各実施形
態におけるワークバッファ12を使用することなく、入
出力命令のライトコマンドに設けたリード不要フラグ情
報(読出し動作不要情報)によりデータ書込み動作を制
御する方式である。
【0043】本実施形態の入出力命令は、図11に示す
ように、コマンドの種類20、入出力情報21、リード
不要フラグ情報22からなるコマンド形式を想定する。
コマンドの種類20とは、データ読出し動作を指示する
リードコマンドやデータ書込み動作を指示するライトコ
マンド等である。入出力情報21は、入出力位置(アド
レス情報)や入出力サイズ(ブロック長や論理セクタ
長)等である。
【0044】以下図10のフローチャートおよび図12
を参照して本実施形態の動作を説明する。本実施形態の
具体例として、CPU1がデータファイルとしてブロッ
ク3(論理セクタアドレスL6〜L8)をディスク15
に書込む場合を想定する。CPU1は、データ書込みを
要求するライトコマンドおよび論理セクタアドレスを含
む入出力命令をHDC13に出力する(ステップS3
0,S31)。このとき、HDC13に出力されたライ
トコマンドにはリード不要フラグ情報22はセットされ
ていない。さらに、CPU1は、書込み対象である書込
みデータを入出力バッファ10にセットする。
【0045】ここで、CPU1は、データファイル中の
データ最終位置を検出し、この最終位置以降に書込み対
象である論理セクタ範囲の書込みデータを書込むか否か
を判定する(ステップS32)。ここでは、データ最終
位置は、図12に示すように、書込み対象の論理セクタ
であるか否かを判定する(ステップS32)。ここで
は、図12に示すように、現時点のデータ最終位置を論
理セクタアドレスL6とした場合に、それ以降に書込み
対象のブロック3のデータを追加する。従って、CPU
1は、HDC13に出力したライトコマンドにリード不
要フラグ情報22をセットする(ステップS33)。
【0046】HDC13は、ライトコマンドに含まれる
リード不要フラグ情報22により、データ書込み動作の
前に実行すべき読出し動作を省略し、入出力バッファ1
0の書込みデータをバッファメモリ11に格納して、ブ
ロック3に対応する物理セクタ3,4に対する書込み動
作を実行する(ステップS34)。従って、図12に示
すように、書込み対象である論理セクタアドレスL6〜
L8に対応するブロック3のデータがディスク15に書
込まれる。このとき、アクセスされた物理セクタ4の後
半部に対応する論理セクタアドレスL9の先頭位置が、
新しいデータ最終位置となる。また、論理セクタアドレ
スL9は不定データ領域である。
【0047】以上のように本実施形態によれば、物理セ
クタ長が、CPU1からの入出力命令により定義される
論理セクタ長(256バイト)の整数倍(具体例として
2倍の512バイト)である仕様において、データファ
イル中のデータ最終位置から新たなデータを追加して書
込むような場合に、ライトコマンドにリード不要フラグ
情報をセットすることにより、従来の書込み動作前の読
出し動作を省略することができる。即ち、データ最終位
置から新たなデータを追加して書込むような場合には、
記録データ間に不定データ領域が発生しないため、読出
し動作を省略することにより、結果的に入出力動作の効
率を高めることが可能となる。
【0048】
【発明の効果】以上詳述したように本発明によれば、例
えばHDD等のディスク記録再生装置の仕様がアクセス
単位である物理セクタ長が、CPUのアクセス単位であ
る論理セクタ長の整数倍の場合であって、データの書込
み動作時(データ更新時)に、大幅にインターフェース
仕様を変更することなく、従来ではデータの書込み動作
前に実行すべきだった読出し動作を不要にしても、アク
セスされる物理セクタ範囲の保存データを保護すること
ができる。従って、特にデータ書込み動作時における処
理効率を向上させて、結果的に入出力性能の低下の軽減
化を図ることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に関係するシステム構
成を示すブロック図。
【図2】第1の実施形態に関係する動作を説明するため
の概念図。
【図3】第1の実施形態に関係する動作を説明するため
の概念図。
【図4】第1の実施形態の動作を説明するためのフロー
チャート。
【図5】第2の実施形態に関係する動作を説明するため
の概念図。
【図6】第2の実施形態に関係する動作を説明するため
の概念図。
【図7】第3の実施形態に関係する動作を説明するため
の概念図。
【図8】第3の実施形態に関係する動作を説明するため
の概念図。
【図9】第2と第3の実施形態に関係する動作を説明す
るためのフローチャート。
【図10】第4の実施形態に関係する動作を説明するた
めのフローチャート。
【図11】第4の実施形態に関係する入出力命令のコマ
ンド形式を説明するための概念図。
【図12】第4の実施形態に関係する動作を説明するた
めの概念図。
【図13】従来のHDDの入出力動作を説明するための
概念図。
【符号の説明】
1…CPU 2…メインメモリ 3…ハードディスク装置(HDD) 10…入出力バッファ 11…バッファメモリ 12…ワークバッファ 13…ディスクコントローラ(HDC) 14…リード/ライト系装置(R/W系装置) 15…ディスク
フロントページの続き (72)発明者 横山 康則 東京都青梅市新町1385番地 東芝ソフトウ ェアエンジニアリング株式会社内 (72)発明者 乙川 武彦 東京都青梅市新町1385番地 東芝ソフトウ ェアエンジニアリング株式会社内

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 入出力命令に応じて記録媒体であるディ
    スクに対してデータを書込み又は読出しする入出力動作
    を実行し、この入出力動作の入出力単位である物理セク
    タ長が前記入出力命令により定義される論理セクタ長の
    整数倍であるディスク記録再生システムであって、 複数の論理セクタ数分の書込みデータまたは読出しデー
    タを保存する入出力バッファ手段と、 少なくとも1論理セクタ分の書込みデータまたは読出し
    データを保存するワークバッファ手段と、 前記入出力命令により所定の論理セクタ数からなるアク
    セス対象のデータを入出力するときに、前記ディスクか
    ら読出したアクセス対象の読出しデータまたは前記ディ
    スクに書込むアクセス対象の書込みデータを前記入出力
    バッファ手段に保存し、そのアクセス対象に相当する前
    記ディスクの物理セクタ範囲の中で所定の物理セクタの
    論理セクタ長に相当する前半部または後半部に対応する
    書込みデータまたは読出しデータを前記ワークバッファ
    手段に保存するように制御する制御手段とを具備したこ
    とを特徴とするディスク記録再生システム。
  2. 【請求項2】 入出力命令に応じて記録媒体であるディ
    スクに対してデータを書込み又は読出しする入出力動作
    を実行し、この入出力動作の入出力単位である物理セク
    タ長が前記入出力命令により定義される論理セクタ長の
    整数倍であるディスク記録再生システムであって、 前記入出力命令に応じて前記ディスクに対して物理セク
    タ単位のデータの書込み又は読出し動作を制御するディ
    スク制御手段と、 前記ディスク制御手段によるデータ書込み動作時に、所
    定の論理セクタ数分の書込みデータを保存する入出力バ
    ッファ手段と、 少なくとも1論理セクタ分の書込みデータまたは読出し
    データを保存するワークバッファ手段と、 前記ディスク制御手段により前記入出力バッファ手段に
    保存した書込みデータを指定の物理セクタ範囲に書込み
    終了した後に、その物理セクタ範囲に含まれた物理セク
    タであって次の書込みデータの論理セクタを含む物理セ
    クタの前半部または後半部に相当する論理セクタ長のデ
    ータを前記ワークバッファ手段に保存する第1の制御手
    段と、 前記ディスク制御手段により前記次の書込みデータを書
    込むときに、前記入出力バッファ手段に保存された書込
    みデータと前記ワークバッファ手段に保存されたデータ
    とを前記ディスクに書込み動作するように制御する第2
    の制御手段とを具備したことを特徴とするディスク記録
    再生システム。
  3. 【請求項3】 前記ディスク制御手段は入出力動作に伴
    って書込みデータまたは読出しデータをバッファメモリ
    に保存し、データ書込み動作時に前記入出力バッファ手
    段に保存した書込みデータを前記バッファメモリに転送
    した後に前記ディスクに書込み、 前記第2の制御手段は前記次の書込みデータを書込むと
    きに、前記バッファメモリに前記入出力バッファ手段に
    保存した書込みデータと前記ワークバッファ手段に保存
    されたデータとを格納して前記ディスクに書込みするこ
    とを特徴とする請求項2記載のディスク記録再生システ
    ム。
  4. 【請求項4】 前記第1の制御手段は、前記ディスク制
    御手段によるデータ書込み動作時に、次のデータ書込み
    時の物理セクタ範囲に含まれる物理セクタの前半部まで
    を書込む場合に、その前半部に相当する論理セクタ長の
    書込みデータを前記ワークバッファ手段に保存し、 前記第2の制御手段は、前記次のデータ書込み時に、前
    記ワークバッファ手段に保存されたデータを指定の物理
    セクタ範囲の先頭セクタの前半部に書込み、それ以降の
    物理セクタ範囲に前記入出力バッファ手段に保存された
    書込みデータを書込むように制御することを特徴とする
    請求項2記載のディスク記録再生システム。
  5. 【請求項5】 前記第1の制御手段は、前記ディスク制
    御手段によるデータ書込み動作時に、次のデータ書込み
    時の物理セクタ範囲に含まれる物理セクタの後半部まで
    を書込む場合に、その後半部に相当する論理セクタ長の
    書込みデータを前記ワークバッファ手段に保存し、 前記第2の制御手段は、前記次のデータ書込み時に、指
    定の物理セクタ範囲に前記入出力バッファ手段に保存さ
    れた書込みデータを書込むと共に、その物理セクタ範囲
    の前記後半部に前記ワークバッファ手段に保存されたデ
    ータを書込むように制御することを特徴とする請求項2
    記載のディスク記録再生システム。
  6. 【請求項6】 入出力命令に応じて記録媒体であるディ
    スクに対してデータを書込み又は読出しする入出力動作
    を実行し、この入出力動作の入出力単位である物理セク
    タ長が前記入出力命令により定義される論理セクタ長の
    整数倍であるディスク記録再生システムであって、 前記入出力命令に応じて前記ディスクに対して物理セク
    タ単位のデータの書込み又は読出し動作を制御するディ
    スク制御手段と、 前記ディスク制御手段によるデータの読出し動作時また
    は書込み動作時に、所定の論理セクタ数分の読出しデー
    タまたは書込みデータを保存する入出力バッファ手段
    と、 少なくとも1論理セクタ分の読出しデータまたは書込み
    データを保存するワークバッファ手段と、 前記ディスクから読出したデータを書換えるデータ更新
    時に、アクセス対象の物理セクタ範囲に含まれる最終物
    理セクタの後半部または先頭物理セクタの前半部に相当
    する論理セクタ長のデータを前記ワークバッファ手段に
    保存する第1の制御手段と、 前記データ更新時に、前記ディスク制御手段により読出
    したアクセス対象の論理セクタ範囲のデータを更新して
    前記入出力バッファ手段に保存し、前記ワークバッファ
    手段に保存されたデータと前記入出力バッファ手段に保
    存されたデータとをアクセス対象の物理セクタ範囲に書
    込むように制御する第2の制御手段とを具備したことを
    特徴とするディスク記録再生システム。
  7. 【請求項7】 前記データ更新時に、前記第1の制御手
    段は前記ディスク制御手段により読出されたアクセス対
    象の物理セクタ範囲に含まれる最終物理セクタの後半部
    に相当する論理セクタ長のデータを前記ワークバッファ
    手段に保存し、 前記第2の制御手段は、前記入出力バッファ手段に保存
    されたアクセス対象の論理セクタ範囲の更新データを指
    定の物理セクタ範囲の先頭セクタから書込み、前記ワー
    クバッファ手段に保存されたデータを前記物理セクタ範
    囲に含まれる最終物理セクタの後半部に書込むように制
    御することを特徴とする請求項6記載のディスク記録再
    生システム。
  8. 【請求項8】 前記データ更新時に、前記第1の制御手
    段は前記ディスク制御手段により読出されたアクセス対
    象の物理セクタ範囲に含まれる先頭物理セクタの前半部
    に相当する論理セクタ長のデータを前記ワークバッファ
    手段に保存し、 前記第2の制御手段は、前記ワークバッファ手段に保存
    されたデータを前記物理セクタ範囲に含まれる先頭物理
    セクタの前半部に書込み、前記入出力バッファ手段に保
    存されたアクセス対象の論理セクタ範囲の更新データを
    前記先頭物理セクタの前半部から以降に書込むように制
    御することを特徴とする請求項6記載のディスク記録再
    生システム。
  9. 【請求項9】 入出力命令に応じて記録媒体であるディ
    スクに対してデータを書込み又は読出しする入出力動作
    を実行し、この入出力動作の入出力単位である物理セク
    タ長が前記入出力命令により定義される論理セクタ長の
    整数倍であるディスク記録再生システムであって、 データ書込み動作時に、書込み対象である論理セクタ範
    囲が対応する物理セクタ範囲の先頭物理セクタの開始か
    らデータ書込み動作を実行するときに、読出し動作不要
    情報をセットする手段と、 前記読出し動作不要情報がセットされている状態で、前
    記入出力命令の書込み要求に応じて、書込み対象である
    書込みデータを指定の物理セクタ範囲の前記先頭物理セ
    クタの開始位置から書込むように制御する第1の制御手
    段と、 前記データ書込み動作時に、前記読出し動作不要情報が
    セットされていない場合に、書込み対象である指定の物
    理セクタ範囲のデータを読出し、この読出しデータを書
    込み対象である書込みデータに基づいて更新した後に前
    記指定の物理セクタ範囲に書込むように制御する第2の
    制御手段とを具備したことを特徴とするディスク記録再
    生システム。
  10. 【請求項10】 入出力命令に応じて記録媒体であるデ
    ィスクに対して物理セクタ単位のデータを書込み又は読
    出しする動作を制御するディスク制御手段と、入出力命
    令により定義される論理セクタ長の書込みデータを所定
    の論理セクタ数分保存する入出力バッファ手段とを有
    し、入出力単位である物理セクタ長が前記入出力命令に
    より定義される論理セクタ長の整数倍であるディスク記
    録再生システムに適用する入出力制御方法であって、 少なくとも1論理セクタ分の書込みデータを保存するワ
    ークバッファ手段を有し、 前記ディスク制御手段による最初のデータ書込み動作時
    に、前記入出力バッファ手段に保存した書込みデータを
    指定の物理セクタ範囲に書込み終了した後に、その物理
    セクタ範囲に含まれた物理セクタであって次の書込みデ
    ータの論理セクタを含む物理セクタの前半部または後半
    部に相当する論理セクタ長のデータを前記ワークバッフ
    ァ手段に保存するステップと、 前記ディスク制御手段により前記次の書込みデータを書
    込むときに、前記入出力バッファ手段に保存された書込
    みデータと前記ワークバッファ手段に保存されたデータ
    とを前記ディスクに書込み動作するように制御するステ
    ップとからなることを特徴とする入出力制御方法。
JP16578996A 1996-06-26 1996-06-26 ディスク記録再生システム及びその入出力制御方法 Pending JPH1011226A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16578996A JPH1011226A (ja) 1996-06-26 1996-06-26 ディスク記録再生システム及びその入出力制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16578996A JPH1011226A (ja) 1996-06-26 1996-06-26 ディスク記録再生システム及びその入出力制御方法

Publications (1)

Publication Number Publication Date
JPH1011226A true JPH1011226A (ja) 1998-01-16

Family

ID=15819033

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16578996A Pending JPH1011226A (ja) 1996-06-26 1996-06-26 ディスク記録再生システム及びその入出力制御方法

Country Status (1)

Country Link
JP (1) JPH1011226A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000013180A1 (en) * 1998-08-31 2000-03-09 Unisys Corporation Improved method for providing variable sector-format operation to a computer system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000013180A1 (en) * 1998-08-31 2000-03-09 Unisys Corporation Improved method for providing variable sector-format operation to a computer system

Similar Documents

Publication Publication Date Title
US20050182897A1 (en) Method for partitioning hard disc drive and hard disc drive adapted thereto
JPH06236241A (ja) フラッシュメモリを用いたハードディスク装置
JP2005078378A (ja) データ記憶装置及び不揮発性メモリに対するデータ書き込み方法
JPH1011226A (ja) ディスク記録再生システム及びその入出力制御方法
JPH04111113A (ja) ハードディスクエミュレータ
US7389378B2 (en) Write processing method for stream type commands and medium storage apparatus
JP2000148404A (ja) コンピュータシステム
JPH06282380A (ja) ディスク記憶装置
US7725666B2 (en) Micro-journaling of data on a storage device
KR20050033088A (ko) 데이터 저장 시스템에서의 리트라이 개선 방법 및 이를이용한 디스크 드라이브
JPH03290873A (ja) ディスク型記憶装置、ディスク型記憶装置の制御装置、及びディスク型記憶装置の制御方法
JPH0528651A (ja) 情報記録再生装置
JP2834081B2 (ja) 磁気ディスク制御装置
JP3022011B2 (ja) データバックアップシステム
JP2701372B2 (ja) 光磁気ディスク装置
JPH0934782A (ja) 情報記憶装置
JP2005242708A (ja) ファイル修復方法、およびファイル記録装置
JP3080416B2 (ja) コントロ−ラにおける内部的動作の実行方法及びコントロ−ラ
JP2638451B2 (ja) 情報処理装置
JPH0628779A (ja) ディスク装置におけるデータ記録制御方法
KR20030061949A (ko) 저장 시스템에서 파일 저장 방법
JP2006179147A (ja) 磁気ディスク装置及び記録制御方法
JPH04223520A (ja) 磁気ディスク装置バックアップ方式
JPH06290547A (ja) ディスク装置の高速データ転送方法
JPH0514353Y2 (ja)