JP2009087460A - ディスク記憶装置のコマンド処理方法 - Google Patents

ディスク記憶装置のコマンド処理方法 Download PDF

Info

Publication number
JP2009087460A
JP2009087460A JP2007256415A JP2007256415A JP2009087460A JP 2009087460 A JP2009087460 A JP 2009087460A JP 2007256415 A JP2007256415 A JP 2007256415A JP 2007256415 A JP2007256415 A JP 2007256415A JP 2009087460 A JP2009087460 A JP 2009087460A
Authority
JP
Japan
Prior art keywords
command
storage device
disk storage
processing method
read
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
JP2007256415A
Other languages
English (en)
Inventor
Hideyori Tanuma
英順 田沼
Tomonori Masuo
智則 増尾
Kazuo Chottogi
一夫 一寸木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2007256415A priority Critical patent/JP2009087460A/ja
Publication of JP2009087460A publication Critical patent/JP2009087460A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

【課題】 この発明は、無駄な回転待ち時間、無駄なアクセス待ち時間を削減し、ディス
ク記憶装置全体のパフォーマンスの低下を防止することが可能なディスク記憶装置のコマ
ンド処理方法を提供することを課題とする。
【解決手段】 本発明のディスク記憶装置のコマンド処理方法は、コマンドキュー登録時
に代替情報を参照し、コマンドのアクセス範囲内に存在する代替先アドレスをリオーダリ
ング前に分離することを特徴とする。また、コマンド内で分割した代替済みエリアのアド
レスは代替先アドレスで登録することを特徴とするものである。更に、コマンドを分割し
た状態でリオーダリングをかけて実アドレス順に並べることを特徴とするものである。
【選択図】 図3

Description

この発明は、バッファに格納されたライトコマンドの群から最も早くディスクアクセス
を開始可能なコマンドを選択して実行するのに好適なリードモディファイライト機能を有
するディスク記憶装置のコマンド処理方法に関する。
一般に、磁気ディスク装置(ハードディスクドライブ:HDD)に代表されるディスク
記憶装置は、当該ディスク記憶装置を利用するホストシステムから与えられるコマンドを
当該コマンドが実行されるまで一時格納するためのキューバッファ(コマンドキュー)を
有している。
通常、キューバッファに格納されている各コマンド、例えばライトコマンドは、ホスト
システムから与えられた順に実行される。各ライトコマンドの指定するディスク(メディ
ア)上の目標位置(書き込み先となるアドレス)が不連続な場合、つまりランダムアクセ
スの場合、当該コマンドを実行してディスク(メディア)上の目標位置にヘッドによりデ
ータを書き込む際に待ち時間が発生する。
待ち時間は、シーク時間と回転待ち時間との和で表される。シーク時間とは、ディスク
上のヘッドを、現在当該ヘッドが位置しているトラックから当該コマンドで指定される目
標のトラックに移動するシーク動作に要する時間である。回転待ち時間とは、シーク動作
完了後に、ヘッドにより実際にデータが書き込まれるべきディスク上の目標位置、つまり
目標のトラック上の目標のセクタ(ブロック)位置がヘッドに対向する位置まで当該ディ
スクが回転するのに要する時間である。
上記の待ち時間を少なくすることは、ディスク記憶装置の処理性能の向上(高速化)の
ためには重要である。そこで特許文献1には、キューバッファに格納されているコマンド
(ランダムアクセスコマンド)の実行順序を上記の待ち時間(シーク時間と回転待ち時間
との和)が少なくなるように変更する技術が記載されている。また、特許文献1には、コ
マンドの実行順序を変更してもなお残る回転待ち時間を利用してデータの先読みを実行す
ることが記載されている(たとえば特許文献1を参照)。
特許文献1によれば、コマンド実行順序を変更することにより、ディスク記憶装置の処
理性能を向上することができる。しかし特許文献1では、より性能の良いコマンド実行順
序に変更する機会を増やすことについては考慮されていない。また特許文献1では、ディ
スクアクセス回数を減らすためのコマンド実行順序の変更については考慮されていない。
近年、物理セクタサイズ(ディスクセクタサイズ)より、ホストセクタサイズが小さい
磁気ディスク装置では、ホストから物理セクタサイズ以下のライト要求が行われることが
ある。この場合、磁気ディスク装置は、ホスト要求に従いライト動作を実行することにな
るが、物理セクタサイズ以下のライト要求であるためそのままライトすることができない
これを解決するためにメディアデータのリード(以下、プレリードと称する)を行い、
このデータにホストからライト要求されたデータをマージしてメディアライトを行う、所
謂、リードモディファイライト技術が提案されている。このリードモディファイライトを
行う場合、プレリードとマージしたデータをライトするセクタが同一であるため、この間
、最低1回転時間が必要となり、この回転待ち時間の発生により通常のライトに対してラ
イト性能が低下するという問題が発生してきた。
特開2001−14111号公報
この発明の目的は、無駄な回転待ち時間、無駄なアクセス待ち時間を削減し、ディスク
記憶装置全体のパフォーマンスの低下を防止することが可能なディスク記憶装置のコマン
ド処理方法を提供することにある。
上記目的を達成するため、本発明のディスク記憶装置のコマンド処理方法は、コマンド
キュー登録時に代替情報を参照し、コマンドのアクセス範囲内に存在する代替先アドレス
をリオーダリング前に分離することを特徴とする。
上記発明によれば、キュー登録前の代替済みエリアとそのエリアを挟んだ領域のコマン
ドを分割する処理により、無駄な回転待ち時間、無駄なアクセス待ち時間を削減し、ディ
スク記憶装置全体のパフォーマンスの低下を防止することが可能なディスク記憶装置のコ
マンド処理方法を提供することが可能となる。
この発明のディスク記憶装置のコマンド処理方法においては、無駄な回転待ち時間、無
駄なアクセス待ち時間を削減し、ディスク記憶装置全体のパフォーマンスの低下を防止す
ることが可能となる。
以下、本発明を磁気ディスク装置に適用した実施の形態につき図面を参照して説明する

図1は本発明の一実施形態に係る磁気ディスク装置(以下、HDDと称する)の構成を
示すブロック図である。図1において、HDD100はCPU101を有する。CPU1
01は、装置全体の制御及びモータドライバ(VCM・SPMドライバ))102の制御
を時分割で行う主コントローラとして機能するプロセッサである。モータドライバ102
はCPU101からの制御により、磁気ディスク103を定常回転させるスピンドルモー
タ(SPM)104と、磁気ヘッド106を目標位置に移動させるボイスコイルモータ(
VCM)105とを駆動するための電流を、SPM104及びVCM105に供給する。
CPUバス107には、CPU101が実行すべきプログラムが予め格納されているR
OM(Read Only Memory)108と、CPU101のワーク領域及び変数を格納する変数
領域等を提供するRAM(Random Access Memory)109と、ディスクコントローラ(以
下、HDCと称する)110と、HDD100内での制御に必要な諸信号の生成を行う制
御信号生成回路としてのゲートアレイ111とが接続されている。なお、RAM109を
CPU101に内蔵させ、CPU101がCPUバス107から独立にRAM109を直
接アクセスする構成とすることも可能である。
RAM109の記憶領域の一部は、キューバッファ(コマンドキューバッファ、コマン
ドキューテーブル)109aのための領域として用いられる。キューバッファ109aは
、HDD100を利用するホストシステム200から転送される例えばライトコマンド(
CMD)を当該コマンドが実行されるまでの期間格納するのに用いられる。本実施形態に
おいて、キューバッファ109a内でのコマンドの並び順は、通常のキューバッファと異
なり、必ずしも入力順(受付順)とならない点に注意されたい。
HDC110は制御用レジスタの群から構成されるレジスタ部110aを有する。ゲー
トアレイ111もHDC110と同様に制御用レジスタの群から構成されるレジスタ部(
図示せず)を有している。各制御用レジスタは、CPU101のアドレス空間の一部領域
に割り当てられている。CPU101は、制御用レジスタが割り当てられている領域に対
して読み出し/書き込みを行うことで、対応するHDC110またはゲートアレイ111
を制御する。
HDC110は、CPUバス107以外に、ゲートアレイ111、バッファRAM11
2、及びリード/ライトIC113に接続されている。HDC110はまた、ホストシス
テム200とインタフェースバス300によって接続されている。
バッファRAM112は、RAMによって構成されるバッファメモリである。バッファ
RAM112の記憶領域の一部は、ホストシステム200から転送される磁気ディスク1
03に書き込まれるべきデータ(ライトデータ)を一時格納するためのライトバッファ1
12aのための領域として用いられる。バッファRAM112の記憶領域の他の一部は、
磁気ディスク103から読み出されてホストシステム200に転送されるべきデータ(リ
ードデータ)を一時格納するためのリードバッファ(図示せず)のための領域として用い
られる。ライトバッファ112a及びリードバッファは例えばリングバッファとして用い
られる。
HDD100におけるデータの読み出し時には、磁気ディスク103に記録されている
データが磁気ヘッド106によって読み出される。磁気ヘッド106により読み出された
信号(アナログのリード信号)は、ヘッドIC114によって増幅され、しかる後にリー
ド/ライトIC113によってA/D(アナログ/ディジタル)変換されて符号化(復号
化)されてHDC110に出力される。また、ヘッドIC114によって増幅されたリー
ド信号はリード/ライトIC113によってパルス化され、ゲートアレイ111に出力さ
れる。ゲートアレイ111は、リード/ライトIC113から出力されるパルス(リード
パルス)から各種タイミング信号を生成する。HDC110は、リード/ライトIC11
3によって符号化されたリードデータをゲートアレイ111からの制御用の各信号に従っ
て処理することにより、ホストシステム200に転送すべきデータを生成する。このデー
タは一旦バッファRAM112に格納されてから、インタフェースバス300を介してホ
ストシステム200に転送される。
一方、HDD100におけるデータの書き込み時には、ホストシステム200からインタ
フェースバス300を介してHDD100に転送されたデータが、当該HDD100のH
DC110で受け取られて、一旦バッファRAM112に格納される。このバッファRA
M112に格納されたデータは、ゲートアレイ111からの制御用の各信号に従ってHD
C110によって符号化され、リード/ライトIC113によって書き込み用の信号に変
換され、ヘッドIC114を経由して磁気ヘッド106によって磁気ディスク103に書
き込まれる。
次に、図2、図3及び、図4を用いて本実施形態におけるコマンド処理方法を説明する

図2は、本実施形態に係るホストからハードディスクドライブ(以下、HDDと称する
)に対して発行したリード、または、ライトのコマンドの要求範囲をブロック図として示
した図である。また、図3は、本実施形態に係る基本的なコマンド処理のフローチャート
である。更に、図4は、本実実施形態に係るメディア上のヘッドの動きを従来と対比した
図である。
まず、本実施形態において一つのコマンド処理を例に挙げてその処理動作を説明する。
HDDを扱うホストがリードまたはライトのコマンドを発行すると、HDD内のファー
ムウェアは、図2の範囲10に示すように、その範囲内に既に代替され実データのある場
所が別に移されていたとしても、一つのコマンドとして処理を行う。
本実施形態は、このキュー登録時にファームウェア内部に保持してある代替元、代替先
の管理テーブルを参照し、範囲内に代替済みのセクタがあるかどうかをサーチする(ステ
ップ:S20)。もし範囲内に代替済みがあった場合は、一つのコマンド範囲を、該当セ
クタの前後(範囲10a、10c)と代替先アドレスに変換した10bへと分割する。
範囲内に更にもう一つあった場合は、またその前後で分割を行う。分割したコマンドが
リードでホストへのデータ転送が後に発生する場合などは、この3つが元は1つのコマン
ドであることを示すリンク情報を更新する。
これにより範囲内に複数に分布した代替済みエリアが存在した場合、分割後の数が増え
ていくことになる。
この時点で従来と同様のキュー登録の方式に沿って処理を行う。まず、リードまたはラ
イトする開始論理ブロックアドレス(以下、LBAと称する)、要求セクタ数をコマンド
キューに登録する(ステップ:S21) 代替済みのセクタがなければ1つ。図2の例の場
合は、3つ登録される。
その際には、10aの先頭LBA、10b’のLBA、10cの先頭LBAと各々の範
囲のブロック数がキューに登録される。
キューに登録されているものは、新規にキューに入ってくるものがあるとその先頭LB
Aを元にLBA順にリオーダリングされ、LBA順に並ぶようになる(ステップ:S22
)。
その結果、複数のコマンドが領域的に重なったり、完全に連続になったりでメディアへ
のアクセスをする上で連結できるものがあるかを判別する。連結できる条件にあったコマ
ンドは連結する(但し連結可能なのは、同じコマンドのみである。リードならリード同士
)(ステップ:S23〜ステップ:S24)。
このキューに登録されたコマンドの中から、実際のメディア上のヘッドの位置を把握し
、最寄のLBAを選択し(ステップ:S26)、メディアへのリード/ライトを実行する
(ステップ:S27)従来は、メディアアクセスのときに初めて代替先アドレスがあるか
どうかを判断して代替先へのアクセスを行っていたため、範囲10aアクセス後、再シー
クして範囲10b’へ行き、範囲10cへと再び戻るためのシークを行っていた(図4a
)。
本実施形態では、最寄の位置に範囲10a、範囲10cしか存在しないため、従来通り
の選択方式であったとしても、範囲10a後にそのまま範囲10cを読み続け、いずれ範
囲10b’へとアクセスする(図4b)。
分割した全てのリードまたはライトが終了した時点で、ホストへのデータ転送またはコ
マンド処理終了(ステップ:S27〜ステップ:S28)となる。
本実施形態は、10a、10b’、10cのメディアアクセスが終わった時点で1つの
コマンド分のデータ転送を行うようにする必要がある。
その後、キューが全部処理完了となるまで上記ステップ:S23〜ステップS29まで
の処理を繰り返す。
以上述べたように、本実施形態のコマンド処理方法によれば、キュー登録前の代替済み
エリアとそのエリアを挟んだ領域のコマンドを分割する処理により、無駄な回転待ち時間
、無駄なアクセス待ち時間を削減し、ディスク記憶装置全体のパフォーマンスの低下を防
止することが可能なとなる。
本発明の実施形態に係る磁気ディスク装置のブロック図。 本発明の実施形態に係るホストからHDDへ発行したコマンドの要求範囲を示すブロック図 本発明の実施形態に係る基本的なコマンド処理のフローチャート。 本発明の実施形態に係るメディア上のヘッドの動きを示す図。
符号の説明
100…HDD(磁気ディスク装置、ディスク記憶装置)、101…CPU、103…
磁気ディスク、106…磁気ヘッド、109a…キューバッファ、110…HDC(ディ
スクコントローラ)、110a…レジスタ部、112…バッファRAM、112a…ライ
トバッファ、200…ホストシステム。

Claims (3)

  1. コマンドキュー登録時に代替情報を参照し、コマンドのアクセス範囲内に存在する代替
    先アドレスをリオーダリング前に分離する
    ことを特徴とするディスク記憶装置のコマンド処理方法。
  2. コマンド内で分割した代替済みエリアのアドレスは代替先アドレスで登録する
    ことを特徴とする請求項1に記載のディスク記憶装置のコマンド処理方法。
  3. コマンドを分割した状態でリオーダリングをかけて実アドレス順に並べる
    ことを特徴とする請求項1に記載のディスク記憶装置のコマンド処理方法。
JP2007256415A 2007-09-28 2007-09-28 ディスク記憶装置のコマンド処理方法 Pending JP2009087460A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007256415A JP2009087460A (ja) 2007-09-28 2007-09-28 ディスク記憶装置のコマンド処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007256415A JP2009087460A (ja) 2007-09-28 2007-09-28 ディスク記憶装置のコマンド処理方法

Publications (1)

Publication Number Publication Date
JP2009087460A true JP2009087460A (ja) 2009-04-23

Family

ID=40660692

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007256415A Pending JP2009087460A (ja) 2007-09-28 2007-09-28 ディスク記憶装置のコマンド処理方法

Country Status (1)

Country Link
JP (1) JP2009087460A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010267345A (ja) * 2009-05-15 2010-11-25 Toshiba Corp ディスクコントローラ、ディスクドライブ装置、及びディスク制御方法
CN114461139A (zh) * 2021-12-29 2022-05-10 天津中科曙光存储科技有限公司 业务处理方法、装置、计算机设备和存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010267345A (ja) * 2009-05-15 2010-11-25 Toshiba Corp ディスクコントローラ、ディスクドライブ装置、及びディスク制御方法
JP4630933B2 (ja) * 2009-05-15 2011-02-09 株式会社東芝 ディスクコントローラ、ディスクドライブ装置、及びディスク制御方法
US7986489B2 (en) 2009-05-15 2011-07-26 Kabushiki Kaisha Toshiba Disk controller, disk drive device, and disk control method
CN114461139A (zh) * 2021-12-29 2022-05-10 天津中科曙光存储科技有限公司 业务处理方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
JP4675881B2 (ja) 磁気ディスク装置およびその制御方法
JP4391548B2 (ja) デバイスドライバ
US20080046660A1 (en) Information recording apparatus and control method thereof
JP2007241927A (ja) データ記憶装置及び方法
CN1648843A (zh) 数据传输控制方法和存储装置
US20100079904A1 (en) Storage control method, storage control unit and storage apparatus
US6490651B1 (en) Host-based virtual disk drive for improving the performance of a hard disk drive's input/output
US20100088466A1 (en) Storage device, storage control device, and control method
US7986489B2 (en) Disk controller, disk drive device, and disk control method
JP2005267497A (ja) データ記憶装置、その制御方法及び磁気ディスク記憶装置
US20120162809A1 (en) Magnetic disk drive and method of accessing a disk in the drive
US8320066B2 (en) Storage device and read/write processing method therefor
US20040015878A1 (en) Reordering controller, reordering method and storage apparatus
JP2001022529A (ja) ディスクドライブ装置及びその制御方法
JP5030387B2 (ja) データ記憶装置
JP2009087460A (ja) ディスク記憶装置のコマンド処理方法
JP2014086116A (ja) 磁気ディスク装置およびデータライト方法
JP4706029B2 (ja) ストレージ装置、データ書き込み方法、及びデータ書き込みプログラム
US6957300B2 (en) Reducing delay of command completion due to overlap condition
JP2009032323A (ja) ディスク記憶装置
JPH10171713A (ja) ディスク記憶装置及び同装置に適用するキャッシュ制御方法
JP2007011661A (ja) ディスク装置及びディスク装置のキャッシュメモリ制御方法
JPH03290873A (ja) ディスク型記憶装置、ディスク型記憶装置の制御装置、及びディスク型記憶装置の制御方法
JP6178287B2 (ja) 記憶装置、及び制御方法
JP2002342038A (ja) コマンドの実行順序を制御するディスク装置