JP2008084507A - 記憶装置、記憶装置制御方法、制御装置 - Google Patents
記憶装置、記憶装置制御方法、制御装置 Download PDFInfo
- Publication number
- JP2008084507A JP2008084507A JP2006266515A JP2006266515A JP2008084507A JP 2008084507 A JP2008084507 A JP 2008084507A JP 2006266515 A JP2006266515 A JP 2006266515A JP 2006266515 A JP2006266515 A JP 2006266515A JP 2008084507 A JP2008084507 A JP 2008084507A
- Authority
- JP
- Japan
- Prior art keywords
- data
- measurement value
- write request
- measurement
- written
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/1062—Data buffering arrangements, e.g. recording or playback buffers
- G11B2020/10629—Data buffering arrangements, e.g. recording or playback buffers the buffer having a specific structure
- G11B2020/10666—Ring buffers, e.g. buffers wherein an iteratively progressing read or write pointer moves back to the beginning of the buffer when reaching the last storage cell
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/1062—Data buffering arrangements, e.g. recording or playback buffers
- G11B2020/10675—Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control
- G11B2020/10694—Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control output interface, i.e. the way data leave the buffer, e.g. by adjusting the clock rate
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/1062—Data buffering arrangements, e.g. recording or playback buffers
- G11B2020/1075—Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data
- G11B2020/10759—Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data content data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2508—Magnetic discs
- G11B2220/2516—Hard disks
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2537—Optical discs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
【課題】コマンド処理時間を短縮することができる記憶装置、記憶装置制御方法、制御装置を提供する。
【解決手段】外部装置からの書き込み要求を受けることができる記憶装置であって、記憶媒体のトラック上のヘッド位置に関する第1計測値を計測するFMT位置カウンタ51と、外部装置からの書き込み要求に含まれたデータである書き込み要求データのうち受領済みのデータ量に関する第2計測値を計測するデータ受領カウンタ41と、FMT位置カウンタ51により計測された第1計測値とデータ受領カウンタ41により計測された第2計測値とに基づいて、トラックへのデータの書き込みの制御を行うシーケンシャル制御部52とを備えた。
【選択図】図2
【解決手段】外部装置からの書き込み要求を受けることができる記憶装置であって、記憶媒体のトラック上のヘッド位置に関する第1計測値を計測するFMT位置カウンタ51と、外部装置からの書き込み要求に含まれたデータである書き込み要求データのうち受領済みのデータ量に関する第2計測値を計測するデータ受領カウンタ41と、FMT位置カウンタ51により計測された第1計測値とデータ受領カウンタ41により計測された第2計測値とに基づいて、トラックへのデータの書き込みの制御を行うシーケンシャル制御部52とを備えた。
【選択図】図2
Description
本発明は、外部からの書き込みの指示に基づいて媒体への書き込みを行う記憶装置、記憶装置制御方法、制御装置に関するものである。
従来、HDD(Hard Disk Drive)や光ディスク装置などの記憶装置において、ホストから発行されたライトコマンドは、そのライトコマンドに指定された先頭ブロックから順に媒体にライトされる。
なお、本発明の関連ある従来技術として、リードコマンドの実行処理の遅延を防ぐと共に、重複データを有するライトコマンド間の処理を効率化するディスク装置がある(例えば、特許文献1参照)。
特開2001−209500号公報
しかしながら、媒体が回転体である記憶装置の場合、ライトコマンドにより指定された先頭セクタにヘッド位置が到達するまでライト処理を開始することができないことから、コマンド処理時間を短縮することが難しく、記憶装置の性能向上の妨げとなっていた。
本発明は上述した問題点を解決するためになされたものであり、コマンド処理時間を短縮することができる記憶装置、記憶装置制御方法、制御装置を提供することを目的とする。
上述した課題を解決するため、本発明は、外部装置からの書き込み要求を受けることができる記憶装置であって、記憶媒体のトラック上のヘッド位置に関する第1計測値を計測する第1計測部と、外部装置からの書き込み要求に含まれたデータである書き込み要求データのうち受領済みのデータ量に関する第2計測値を計測する第2計測部と、前記第1計測部により計測された第1計測値と前記第2計測部により計測された第2計測値とに基づいて、前記トラックへ書き込むデータの制御を行う制御部とを備えたものである。
また、本発明に係る記憶装置において、前記第1計測値は、前記トラック上において前記書き込み要求データの先頭を書き込むべき位置から現在のヘッド位置までに書き込むことができるデータ量で表され、前記第2計測値は、前記書き込み要求データのうち受領済みのデータ量で表されることを特徴とする。
また、本発明に係る記憶装置において、前記制御部は、前記第1計測値が前記第2計測値より小さい場合、前記書き込み要求データのうち前記ヘッド位置に対応するデータの書き込みを行うことを特徴とする。
また、本発明に係る記憶装置において、前記データ量は、ブロックを単位として表されることを特徴とする。
また、本発明に係る記憶装置において、前記制御部は、前記書き込み要求データの書き込みが完了したと判断した場合、前記外部装置へ書き込み要求に対する処理の完了を報告することを特徴とする。
また、本発明に係る記憶装置において、更に、前記書き込み要求データのうち書き込みが行われたブロック数である第3計測値を計測する第3計測部を備え、前記制御部は、書き込みを開始した第1計測値を開始第1計測値として記憶し、前記第1計測値と前記第2計測値とに基づいて連続するブロックの書き込みを中断した場合、前記開始第1計測値と前記第3計測部により計測された第3計測値とに基づいて、次に書き込むべき前記記憶媒体上の位置を決定することを特徴とする。
また、本発明に係る記憶装置において、更に、前記書き込み要求データの先頭から連続して書き込みを完了したブロック数である第4計測値を計測する第4計測部を備え、前記制御部は、前記第4計測部により計測された第4計測値が、前記書き込み要求データ中のブロック数である要求ブロック数以上となった場合、前記書き込み要求データの書き込みが完了したと判断することを特徴とする。
また、本発明に係る記憶装置において、前記制御部は、前記第4計測部により計測された連続書き込みブロック数に対応するデータバッファを解放することを特徴とする。
また、本発明に係る記憶装置において、更に、前記書き込み要求データ中の各ブロックについて書き込みが完了したか否かの情報を記憶する書き込み情報記憶部を備え、前記制御部は、前記書き込み情報記憶部に記憶された情報に基づいて、書き込みが完了したブロックの書き込みを行わないことを特徴とする。
また、本発明に係る記憶装置において、前記記憶装置が複数の書き込み要求を受け、該複数の書き込み要求中のブロックの論理アドレスが連続している場合、前記制御部は、複数の書き込み要求に含まれたデータを1つの書き込み要求データとすることを特徴とする。
また、本発明に係る記憶装置において、前記複数の書き込み要求における書き込み要求の順番に従って、該書き込み要求に対する処理の完了を前記外部装置へ報告することを特徴とする。
また、本発明に係る記憶装置において、前記書き込み要求データを書き込むべき前記記憶媒体上の位置が複数のトラックに跨る場合、前記第1計測部は、前記複数のトラックを通した値として第1計測値を計測することを特徴とする。
また、本発明に係る記憶装置において、前記書き込み要求データを書き込むべき前記記憶媒体上の位置が複数のトラックに跨る場合、前記第2計測部は、トラック毎に第2計測値を計測することを特徴とする。
また、本発明は、外部装置からの書き込み要求を受けることができる記憶装置の制御を行う記憶装置制御方法であって、記憶媒体のトラック上のヘッド位置に関する第1計測値を計測すると共に、外部装置からの書き込み要求に含まれたデータである書き込み要求データのうち受領済みのデータ量に関する第2計測値を計測する計測ステップと、前記計測ステップにより計測された第1計測値と前記計測ステップにより計測された第2計測値とに基づいて、前記トラックへ書き込むデータの制御を行う制御ステップとを実行するものである。
上述した課題を解決するため、本発明は、外部装置からの書き込み要求を受けることができる記憶装置の制御を行う制御装置であって、記憶媒体のトラック上のヘッド位置に関する第1計測値を計測する第1計測部と、外部装置からの書き込み要求に含まれたデータである書き込み要求データのうち受領済みのデータ量に関する第2計測値を計測する第2計測部と、前記第1計測部により計測された第1計測値と前記第2計測部により計測された第2計測値とに基づいて、前記トラックへ書き込むデータの制御を行う制御部とを備えたものである。
本発明によれば、コマンド処理時間を短縮することができる。
以下、本発明の実施の形態について図面を参照しつつ説明する。
実施の形態1.
まず、本実施の形態に係る磁気ディスク装置(記憶装置)の構成について説明する。
まず、本実施の形態に係る磁気ディスク装置(記憶装置)の構成について説明する。
図1は、本実施の形態に係る磁気ディスク装置の構成の一例を示すブロック図である。この磁気ディスク装置は、マイクロプロセッサ11、ディスク制御部12、データバッファ13、モータ駆動制御部14、ヘッド位置決め制御部15、リードライト制御部16、スピンドルモータ21、アクチュエータ22、ヘッド23、ディスク媒体24を備える。
マイクロプロセッサ11は、ディスク制御部12、モータ駆動制御部14、ヘッド位置決め制御部15の制御を行う。モータ駆動制御部14は、マイクロプロセッサ11とディスク制御部12からの指示に従ってスピンドルモータ21を制御し、スピンドルモータ21は、ディスク媒体24を回転させる。ヘッド位置決め制御部15は、マイクロプロセッサ11とディスク制御部12からの指示に従ってアクチュエータ22を制御し、アクチュエータ22は、ヘッド23を移動させる。
ディスク制御部12は、PC(Personal Computer)などの上位装置(ホスト)に接続される。ホストからディスク制御部12へライトコマンドが送られた場合、書き込むデータは、リードライト制御部16でデータに応じた信号に変換され、ヘッド23によりディスク媒体24に書き込まれる。また、ホストからディスク制御部12へリードコマンドが送られた場合、ディスク媒体24からヘッド23へ読み出された信号は、リードライト制御部16でデータに変換され、ディスク制御部12からホストへ送られる。
図2は、本実施の形態に係るディスク制御部12の構成の一例を示すブロック図である。ディスク制御部12は、I/F(Interface)制御部31、データバッファ管理部32、FMT33(Disk Formatter)を備える。データバッファ管理部32は、データ受領カウンタ41、データフロー制御部42を備える。FMT33は、FMT位置カウンタ51、シーケンシャル制御部52、書き込み開始FMT位置カウンタ55、書き込み済みブロックカウンタ56を備える。
FMT33は、上位装置からのコマンドで指示されたLBA(Logical Block Address)を、コマンドで指示された範囲内の論理アドレスであるFMT位置、及びディスク媒体24上の物理アドレスに変換し、コマンド処理を行う。
I/F制御部31は、上位装置とのI/Fの制御を行う。データ受領カウンタ41は、ライトコマンド受領時に、ホストから受領したデータ量をブロック単位で示すカウンタである。FMT位置カウンタ51は、ライトコマンドで指定されたライト要求範囲の先頭セクタからの論理アドレスであるFMT位置として、現在のヘッド位置を示すカウンタである。ここで、ブロックはセクタに対応する。データフロー制御部42は、データバッファ13(リングバッファ)の制御などのフロー制御を行う。シーケンシャル制御部52は、コマンド処理の制御を行う。
書き込み開始FMT位置カウンタ55は、最初に書き込みを行ったFMT位置カウンタ51値を記憶する。書き込み済みブロックカウンタ56は、書き込みが完了したセクタ数を示すカウンタである。
次に、ホストからライトコマンドを受領した場合の処理であるライトコマンド処理の動作について説明する。
ここで、ライトコマンドで要求されたブロック数を要求ブロックとする。図3は、本実施の形態に係るライトコマンド処理の動作の一例を示すフローチャートである。まず、シーケンシャル制御部52は、書き込み開始FMT位置カウンタ55値を−1に初期化すると共に書き込み済みブロックカウンタ56値を0に初期化する(S41)。次に、シーケンシャル制御部52は、現在のヘッド位置がセクタの先頭であるか否かの判断を行い、先頭でない場合(S42,いいえ)、処理S42へ戻り、先頭である場合(S42,はい)、次の処理へ移行する。次に、シーケンシャル制御部52は、データ受領カウンタ41値がFMT位置カウンタ51値より大きいか否かの判断を行う(S43)。
データ受領カウンタ41値がFMT位置カウンタ51値より大きくない場合(S43,いいえ)、シーケンシャル制御部52は、書き込み開始FMT位置カウンタ55値が−1であるか否かの判断を行い、−1である場合(S44,はい)、処理S42へ戻り、−1でない場合(S44,いいえ)、連続処理終了としてこのフローは終了する。
連続処理とは、書き込み開始FMT位置に対応するブロックである書き込み開始ブロックから連続してブロックを書き込む処理である。連続処理終了の場合、ライト要求範囲のうち連続処理で書き込むことができなかったブロックである未書き込みブロックの書き込みが必要となる。書き込み開始FMT位置カウンタ55値と書き込み済みブロックカウンタ56値により書き込み済みの範囲を特定することができるため、連続処理終了の後、次にヘッド位置が先頭セクタに到達した時点で、シーケンシャル制御部52は、未書き込みブロックのうち次の書き込みの開始ブロックを特定し、未書き込みブロックの書き込みを行う。また、シーケンシャル制御部52は、書き込み済みブロックカウンタ56値が要求ブロック数以上となった時点で、ホストへライトコマンド完了ステータス報告を行う。
データ受領カウンタ41値がFMT位置カウンタ51値より大きい場合(S43,はい)、シーケンシャル制御部52は、書き込み開始FMT位置カウンタ55値が−1であるか否かの判断を行い、−1でない場合(S45,いいえ)、処理S47へ移行し、−1である場合(S45,はい)、次の処理へ移行する。次に、シーケンシャル制御部52は、書き込み開始FMT位置カウンタ55値をFMT位置カウンタ51値とする(S46)。
次に、1セクタ分の書き込み処理である1セクタ処理を行い(S47)、正常に処理できたか否かの判断を行い、正常に処理できなかった場合(S48,いいえ)、異常終了としてこのフローは終了し、正常に処理できた場合(S48,はい)、次の処理へ移行する。次に、シーケンシャル制御部52は、書き込み済みブロックカウンタ56値をインクリメントし、要求ブロック数分の処理を終了したか否か(書き込み済みブロックカウンタ56値が要求ブロック数に達したか否か)の判断を行い、終了していない場合(S49,いいえ)、処理S42へ戻り、終了した場合(S49,はい)、正常終了としてこのフローは終了する。
本実施の形態によれば、ライトコマンドによりデータを受領した場合、受領済みのブロックのうち直ちに書き込むことができるブロックから書き込むことにより、コマンド処理時間を短縮することができる。また、書き込み開始位置と書き込み済みブロック数を記憶することにより、次に書き込み範囲の先頭セクタへ到達した際に書き込み済みでないブロックだけの書き込みを行い、ライト要求範囲の最終セクタをヘッド位置が通過するまで待つことなく、コマンド処理を終了することにより、コマンド処理時間を短縮することができる。
実施の形態2.
本実施の形態においては、ライト要求範囲におけるブロックが書き込み済みであるか否かを記録する磁気ディスク装置について説明する。
本実施の形態においては、ライト要求範囲におけるブロックが書き込み済みであるか否かを記録する磁気ディスク装置について説明する。
本実施の形態に係る磁気ディスク装置の構成は、実施の形態1と同様である。
次に、ディスク制御部12の構成について説明する。
図4は、本実施の形態に係るディスク制御部12の構成の一例を示すブロック図である。この図において、図2と同一符号は図2に示された対象と同一又は相当物を示しており、ここでの説明を省略する。この図は、図2と比較すると、書き込み開始FMT位置カウンタ55、書き込み済みブロックカウンタ56の代わりに、ステータスカウンタ53、書き込み箇所記録部54を備える。
書き込み箇所記録部54は、ライトコマンドで指定されたライト要求範囲の要求ブロックについて書き込みが完了したブロック、または書き込みが完了していないブロックを記録する。ステータスカウンタ53は、先頭セクタから連続して書き込み済みとなったセクタ数を示すカウンタである。従って、ステータスカウンタ53値がライトコマンドで要求されたブロック数である要求ブロック数以上になった場合、そのライトコマンド処理が完了したことになる。また、ステータスカウンタ53値は、ライトコマンドにより確保されたデータバッファ13の領域のうち解放可能な量(ブロック数)を示すことになる。データフロー制御部42は、ステータスカウンタ53値に従ってデータバッファ13の解放などのフロー制御を行う。
次に、ライトコマンド処理の動作について説明する。
図5は、本実施の形態に係るライトコマンド処理の動作の一例を示すフローチャートである。まず、ディスク制御部12は、書き込み箇所記録部54を初期化する(S51)。次に、ディスク制御部12は、現在のヘッド位置がセクタの先頭であるか否かの判断を行い、先頭でない場合(S52,いいえ)、処理S52へ戻り、先頭である場合(S52,はい)、次の処理へ移行する。次に、ディスク制御部12は、データ受領カウンタ41値がFMT位置カウンタ51値より大きいか否かの判断を行い、データ受領カウンタ41値がFMT位置カウンタ51値より大きくない場合(S53,いいえ)、処理S52へ戻り、データ受領カウンタ41値がFMT位置カウンタ51値より大きい場合(S53,はい)、次の処理へ移行する。
次に、ディスク制御部12は、書き込み箇所記録部54を参照し、現在のセクタが未書き込みセクタであるか否かの判断を行い、未書き込みセクタでない場合(S54,いいえ)、処理S52へ戻り、未書き込みセクタである場合(S54,はい)、次の処理へ移行する。次に、ディスク制御部12は、現在のセクタを書き込み済みとして書き込み箇所記録部54の更新を行い(S55)、1セクタ分の書き込み処理である1セクタ処理を行い(S56)、正常に処理できたか否かの判断を行い、正常に処理できなかった場合(S57,いいえ)、異常終了としてこのフローは終了し、正常に処理できた場合(S57,はい)、次の処理へ移行する。
次に、ディスク制御部12は、ステータスカウンタ更新処理を行い(S58)、書き込み箇所記録部54を参照し、要求ブロック数分の処理を終了したか否か(ステータスカウンタ53値が要求ブロック数に達したか否か)の判断を行い、終了していない場合(S59,いいえ)、処理S52へ戻り、終了した場合(S59,はい)、正常終了としてこのフローは終了する。
次に、ステータスカウンタ更新処理について説明する。
ライトコマンド処理の開始時、ステータスカウンタ53値は、0に初期化される。また、要求ブロック数を暫定要求ブロック数とする。図6は、本実施の形態に係るステータスカウンタ更新処理の動作の一例を示すフローチャートである。まず、ディスク制御部12は、現在のセクタより前にライトするセクタがないか否かの判断を行う(S61)。
ライトするセクタがある場合(S61,いいえ)、ディスク制御部12は、直前のセクタのライトが終了しているか否かの判断を行い、終了していない場合(S62,いいえ)、このフローは終了し、終了している場合(S62,はい)、処理S63へ移行する。
ライトするセクタがない場合(S61,はい)、ディスク制御部12は、ステータスカウンタ53値のインクリメントを行う(S63)。次に、ディスク制御部12は、直後のセクタのライトが終了しているか否かの判断を行い、終了していない場合(S64,いいえ)、このフローは終了し、終了している場合(S64,はい)、次の処理へ移行する。次に、ディスク制御部12は、ディスク制御部12は、ステータスカウンタ53値のインクリメントを行う(S65)。
次に、ディスク制御部12は、ステータスカウンタ53値<暫定要求ブロック数の条件を満たすか否かの判断を行い、条件を満たさない場合(S66,いいえ)、処理S64へ戻り、条件を満たす場合(S66,はい)、ホストへライトコマンド完了ステータス報告を行い(S67)、このフローは終了する。
次に、書き込み箇所記録部54について説明する。ここでは、書き込み箇所記録部54がテーブルである場合とビットマップである場合について説明する。
まず、書き込み箇所記録部54が、ライト要求範囲のうち未書き込みのブロックの範囲である未書き込みブロック範囲を4個まで記録することができるテーブルである場合について説明する。処理S51により、テーブルには、ライト要求範囲が未書き込みブロック範囲として記録され、その他は全て無効として初期化される。図7は、本実施の形態に係る書き込み箇所記録部のテーブルの例を示す図である。この例は、FMT位置(FmtCnt)=3,4が連続して書き込まれた場合を示す。従って、FMT位置≦2の範囲(FMT位置=0から2ブロック分)と、FMT位置≧5の範囲(FMT位置=5から4ブロック分)が未書き込みブロックとして記録されている。
まず、書き込み箇所記録部54が、ブロック毎の書き込み済み(1)か未書き込み(0)かを示すビットを記録することができるビットマップである場合について説明する。処理S51により、ビットは全て0として初期化される。図8は、本実施の形態に係る書き込み箇所記録部のビットマップの例を示す図である。この例は、FMT位置(FMT位置)=3,4が連続して書き込まれた場合を示す。従って、FMT位置=3,4のビットだけが1として記録されている。
次に、ライトコマンド処理の動作の具体例について説明する。
ここで、データの受領の直前にヘッド位置がFMT位置=0を通過した時点からのディスク媒体24の周回を1周目とし、次の周回を2週目とする。図9は、本実施の形態に係るライトコマンド処理の具体例の1周目における各ブロックの受領と各セクタへの書き込みの時間関係を示す図である。図10は、本実施の形態に係るライトコマンド処理の具体例の2周目における各ブロックの受領と各セクタへの書き込みの時間関係を示す図である。
これら2つの図において、横軸は、時刻を示す。上段の“Data x”と記した長方形は、ホストから受領したデータのブロックを示す。ブロックの位置は、受領した時刻に対応し、左から右へ向かって増加する。各ブロックの受領完了時点に記された数値は、データ受領カウンタ41値を示す。また、下段の“Sct x”と記した長方形は、セクタを示す。セクタの位置は、物理アドレスに対応し、左から右へ向かって増加する。各セクタの先頭に記された数値は、FMT位置カウンタ51値を示す。セクタの下に記した矢印は、その範囲のセクタへの書き込みを示す。セクタのうち、“Sct Slip”は、書き込みを行わないセクタを示す。ここで、xは、物理アドレスを示す。この例において、ライト要求範囲の物理アドレスは、n〜n+6,n+9〜n+10である。
まず、1周目において、ディスク制御部12は、ホストからのデータの受領を開始すると、データ受領カウンタ41を0に初期化して起動すると共に、先頭セクタを0としてFMT位置カウンタ51を起動する(S30)。ブロック単位でデータが受領されると、データ受領カウンタ41は、データ受領カウンタ41値をインクリメントする。その後、物理アドレスn〜n+10を含むトラックtへのオントラック制御(シーク)が完了した時点で(Data n+3を受領中、ヘッド位置はSct n+2の途中)、ディスク制御部12は、データ受領カウンタ41値とFMT位置カウンタ51値を比較し(S31)、データ受領カウンタ41値がFMT位置カウンタ51値より大きいことから(データ受領カウンタ41値=3、FMT位置カウンタ51値=2)、次のSct n+3から書き込みを開始する(S32)。
その後、ディスク制御部12は、Sct n+4の書き込みを完了した時点で、データ受領カウンタ41値がFMT位置カウンタ51値より大きくないことから(データ受領カウンタ41値=5、FMT位置カウンタ51値=5)、書き込むべきデータがまだ受領されていないと判断し、書き込みを行わずに待機する。その後、Data n+10までの全てのデータの受領が完了し、ヘッド位置がSct n+9の先頭に到達した時点で、データ受領カウンタ41値がFMT位置カウンタ51値より大きいことから(データ受領カウンタ41値=9、FMT位置カウンタ51値=7)、ディスク制御部12は、次のSct n+9から書き込みを開始し(S33)、ライト要求範囲の最後であるSct n+10まで書き込みを行う。
その後、2周目において、ヘッド位置がSct nの先頭に到達した時点で、データ受領カウンタ41値がFMT位置カウンタ51値より大きいことから(データ受領カウンタ41値=9、FMT位置カウンタ51値=0)、ディスク制御部12は、次のSct nから書き込みを開始し(S34)、まだ書き込みを完了していないSct n+2まで書き込みを行う。ここで、ステータスカウンタ53は、書き込み済みのセクタが先頭セクタから連続するため、ステータスカウンタ53値を更新し、データフロー制御部42は、ステータスカウンタ53値だけデータバッファ13の領域の解放を行う。
その後、ヘッド位置がSct nの先頭に到達した時点で、データ受領カウンタ41値がFMT位置カウンタ51値より大きいことから(データ受領カウンタ41値=9、FMT位置カウンタ51値=5)、ディスク制御部12は、次のSct n+5から書き込みを開始し(S35)、まだ書き込みを完了していないSct n+6まで書き込みを行い、ホストへライトコマンド完了ステータス報告を行う(S36)。
図11は、本実施の形態に係るライトコマンド処理の動作の具体例におけるトラックtとヘッド位置の位置関係を示す図である。この図は、図9及び図10の具体例におけるトラックtとヘッド位置の位置関係を示す。大きい円は、トラックtを示す。ディスク媒体24を基準とするとヘッド位置は左回転している。処理S31,S32,S33,S34,S35は、図9及び図10と同様の処理を示す。
図12は、本実施の形態に係るライトコマンド処理の具体例における書き込み箇所記録部のテーブルの内容を示す図である。この図は、図9及び図10と同様の処理S31,S32,S33,S34,S35の各時点におけるテーブルの内容を示す。また、各テーブルの右側の数字は、ステータスカウンタ53値を示す。まず、処理S31の時点において、ライト要求範囲の全てであるFMT位置=0からmブロック分が未書き込みブロック範囲として初期化され、ステータスカウンタ53値=0に初期化される。ここで、mは要求ブロック数である。
次に、処理S32完了の時点において、FMT位置=3,4が書き込み済みとなり、未書き込みブロック範囲がFMT位置=0から3ブロック分とFMT位置=5からmブロック分として更新される。次に、処理S33完了の時点において、FMT位置=7,8が書き込み済みとなり、未書き込みブロック範囲がFMT位置=0から3ブロック分、FMT位置=5から2ブロック分、FMT位置=7から0ブロック分として更新される。
次に、処理S34完了の時点において、FMT位置=0,1,2が書き込み済みとなり、未書き込みブロック範囲がFMT位置=0から0ブロック分、FMT位置=5から2ブロック分、FMT位置=7から0ブロック分として更新される。また、FMT位置=5より前が全て書き込み済みとなったことから、ステータスカウンタ53値=5となる。次に、処理S35完了の時点において、FMT位置=5,6が書き込み済みとなり、未書き込みブロック範囲がFMT位置=0から0ブロック分、FMT位置=5から0ブロック分、FMT位置=7から0ブロック分として更新される。また、FMT位置=9より前が全て書き込み済みとなったことから、ステータスカウンタ53値=9となる。ここで、ライトコマンド完了ステータス報告が行われる。
図13は、本実施の形態に係るライトコマンド処理の具体例における書き込み箇所記録部のビットマップの内容を示す図である。この図は、図9及び図10と同様の処理S31,S32,S33,S34,S35の各時点におけるビットマップの内容を示す。まず、処理S31の時点において、ライト要求範囲の全てであるFMT位置=0から9までが未書き込み(0)として初期化され、ステータスカウンタ53値=0に初期化される。
次に、処理S32完了の時点において、FMT位置=3,4が書き込み済み(1)として更新される。次に、処理S33完了の時点において、FMT位置=7,8が書き込み済み(1)として更新される。次に、処理S34完了の時点において、FMT位置=0,1,2が書き込み済み書き込み済み(1)として更新される。また、FMT位置=5より前が全て書き込み済み(1)となったことから、ステータスカウンタ53値=5となる。次に、処理S35完了の時点において、FMT位置=5,6が書き込み済みとして更新される。また、FMT位置=9より前が全て書き込み済みとなったことから、ステータスカウンタ53値=9となる。ここで、ライトコマンド完了ステータス報告が行われる。
本実施の形態によれば、ライト要求範囲において未書き込みブロック範囲が複数となり、ヘッド位置がライト要求範囲の先頭セクタに到達した場合でも、書き込むべきセクタを特定することができ、ライトコマンド処理を効率良く行うことができる。また、書き込み済みのブロック数を管理することにより、要求ブロック数を書き込んだ場合、ライト要求範囲の最終セクタをヘッド位置が通過するまで待つことなく、ホストへライトコマンド完了を通知することができるため、コマンド処理時間を短縮することができる。また、ライトコマンド受領時の1回目の連続処理で未書き込みブロックの範囲が複数となった場合でも、その後、未書き込みブロックを特定し、書き込みを行うことができる。
実施の形態3.
本実施の形態においては、複数のコマンドのシーケンシャル処理を効率よく行う磁気ディスク装置について説明する。
本実施の形態においては、複数のコマンドのシーケンシャル処理を効率よく行う磁気ディスク装置について説明する。
本実施の形態に係る磁気ディスク装置及びディスク制御部12の構成は、実施の形態2と同様である。また、1つのライトコマンドに対するライトコマンド処理の動作は、実施の形態2と同様である。
磁気ディスク装置がホストから連続して受け取った複数のコマンドにおける開始LBAとブロック数により、あるコマンドの(開始LBA+ブロック数)が次のライトコマンドの開始LBAと等しい場合、つまり、これらのコマンドのLBAが連続している場合、これらのコマンドはシーケンシャル処理可能と判断される。以後、シーケンシャル処理可能な複数のコマンドをシーケンシャルコマンド群とする。シーケンシャル処理は、シーケンシャルコマンド群中のブロックを1つのコマンド中のブロックと見なして、連続的に処理する。
ここで、従来の磁気ディスク装置がホストからシーケンシャルコマンド群を受け取った場合、磁気ディスク装置は、シーケンシャルコマンド群における最初のLBAにヘッド位置が到達してから処理を開始する。
本実施の形態に係るシーケンシャル処理は、シーケンシャルコマンド群中のブロックのうち、直ちに処理することができるブロックから処理を開始する。また、ライトコマンド処理において、要求ブロック数は、シーケンシャルコマンド群中の全ての要求ブロック数の合計となる。また、実施の形態2と比較すると、ステータスカウンタ更新処理の動作が異なる。
次に、本実施の形態にかかるステータスカウンタ更新処理について説明する。
シーケンシャル処理の開始時、ステータスカウンタ53値は、0に初期化される。また、最初に処理するライトコマンド中のブロック数を暫定要求ブロック数とする。図14は、本実施の形態に係るステータスカウンタ更新処理の動作の一例を示すフローチャートである。この図において、図6と同一符号は図6に示された対象と同一又は相当処理を示しており、ここでの説明を省略する。図6と同様、処理S61〜S67が実行され、処理S67の後、ディスク制御部12は、シーケンシャル処理可能な次のコマンドが存在するか否かの判断を行い、存在しない場合(S91,いいえ)、このフローは終了し、存在する場合(S91,はい)、次に処理するライトコマンド中のブロック数を暫定要求ブロック数に加算し(S92)、処理S64へ戻る。つまり、ディスク制御部12は、1つのコマンドに対するライトコマンド完了ステータス報告を行った後、シーケンシャル処理可能な次のコマンドが存在する場合に、暫定要求ブロック数を増加させることにより、ステータスカウンタ53は、シーケンシャルコマンド群中の全てのブロック数までカウントを続けることができる。
このステータスカウンタ更新処理によれば、シーケンシャルコマンド群中のブロックのうち、直ちに処理可能なブロックから処理を行うことにより、コマンド処理時間を短縮することができる。また、シーケンシャルコマンド群中の最終ブロックに対応するFMT位置にヘッド位置が到達するまで待つことなく、コマンド処理を終了することができる。更に、シーケンシャルコマンド群に対して、LBAの順のコマンド毎に、ホストへのライトコマンドステータス報告を行うことにより、ホスト側の手順を従来と変えることなく、コマンド処理時間だけを短縮することができる。
実施の形態4.
本実施の形態においては、コマンドの要求範囲が複数のトラックに跨る場合に効率よく処理する磁気ディスク装置について説明する。
本実施の形態においては、コマンドの要求範囲が複数のトラックに跨る場合に効率よく処理する磁気ディスク装置について説明する。
本実施の形態に係る磁気ディスク装置及びディスク制御部12の構成は、実施の形態2と同様である。また、ライトコマンド処理、ステータスカウンタ更新処理の動作は、実施の形態2と同様である。
次に、ライト要求範囲が複数のトラックに跨るライトコマンドに対する処理である複数トラックライトコマンド処理の動作について説明する。本実施の形態に係るディスク制御部12は、複数トラックライトコマンド処理として、トラック毎にFMT位置カウンタの補正を行う第1複数トラックライトコマンド処理、トラック毎にデータ受領カウンタの補正を行う第2複数トラックライトコマンド処理のいずれかを実行する。
まず、第1複数トラックライトコマンド処理について説明する。
図15は、本実施の形態に係る第1複数トラックライトコマンド処理の動作の一例を示すフローチャートである。まず、ディスク制御部12は、FMT位置カウンタ51値=0に初期化し(S71)、ライトコマンドで指定された先頭LBAを物理アドレスに変換する(S73)。次に、ディスク制御部12は、変換した物理アドレスに対応するトラックである対象トラックへのシークを行う(S74)。次に、ディスク制御部12は、対象トラックにおけるライトコマンド処理である対象トラック処理を行い(S75)、正常に処理できたか否かの判断を行い、正常に処理できなかった場合(S76,いいえ)。異常終了としてこのフローは終了し、正常に処理できた場合(S76,はい)、次の処理へ移行する。
次に、ディスク制御部12は、要求ブロック数分の処理を終了したか否かの判断を行い、終了した場合(S77,はい)、正常終了としてこのフローは終了し、終了していない場合(S77,いいえ)、次の処理へ移行する。次に、ディスク制御部12は、対象トラックにおいて書き込みを行ったブロック数である対象トラック完了ブロック数をFMT位置カウンタ51値に加算し(S78)、次の対象トラックの物理アドレスを指定し(S79)、処理S74へ戻る。
この第1複数トラックライトコマンド処理によれば、データ受領カウンタ41値及びFMT位置カウンタ51値は、複数のトラックに亘って一続きの値となり、1つのトラックへのライトコマンド処理と同様にして、容易に比較を行うことができる。
次に、第2複数トラックライトコマンド処理について説明する。
図16は、本実施の形態に係る第2複数トラックライトコマンド処理の動作の一例を示すフローチャートである。まず、ディスク制御部12は、データ受領カウンタ41値=0に初期化し(S81)、データの受領を開始し(S82)、ライトコマンドで指定された先頭LBAを物理アドレスに変換する(S83)。次に、ディスク制御部12は、変換した物理アドレスに対応するトラックである対象トラックへのシークを行う(S84)。次に、ディスク制御部12は、対象トラックにおけるライトコマンド処理である対象トラック処理を行い(S85)、正常に処理できたか否かの判断を行い、正常に処理できなかった場合(S86,いいえ)、異常終了としてこのフローは終了し、正常に処理できた場合(S86,はい)、次の処理へ移行する。
次に、ディスク制御部12は、要求ブロック数分の処理を終了したか否かの判断を行い、終了した場合(S87,はい)、正常終了としてこのフローは終了し、終了していない場合(S87,いいえ)、次の処理へ移行する。次に、ディスク制御部12は、対象トラックにおいて書き込みを行ったブロック数である対象トラック完了ブロック数をデータ受領カウンタ41値から減算し(S88)、次の対象トラックの物理アドレスを指定し(S89)、処理S84へ戻る。
この第2複数トラックライトコマンド処理によれば、データ受領カウンタ41値及びFMT位置カウンタ51値は、トラック毎に0から始まる値となり、1つのトラックへのライトコマンド処理と同様にして、容易に比較を行うことができる。
本実施の形態によれば、ライト要求範囲が複数トラックに跨るライトコマンドであっても、トラック毎にライトコマンド処理を適用することにより、全体のコマンド処理時間を削減することができる。
なお、上述した実施の形態においては、ホストからのコマンドがライトコマンドである場合のコマンド処理について説明したが、リードコマンドのコマンド処理にも適用することができる。
なお、制御部は、実施の形態におけるシーケンシャル制御部に対応する。また、第1計測部は、実施の形態におけるFMT位置カウンタに対応する。また、第1計測値は、実施の形態におけるFMT位置カウンタ値に対応する。また、第2計測部は、実施の形態におけるデータ受領カウンタに対応する。また、第2計測値は、実施の形態におけるデータ受領カウンタ値に対応する。また、第3計測部は、実施の形態における書き込み済みブロックカウンタに対応する。また、第3計測値は、実施の形態における書き込み済みブロックカウンタ値に対応する。また、第4計測部は、実施の形態におけるステータスカウンタに対応する。また、第4計測値は、実施の形態におけるステータスカウンタ値に対応する。
また、計測ステップは、実施の形態におけるFMT位置カウンタ、データ受領カウンタ処理、書き込み済みブロックカウンタ、ステータスカウンタの処理に対応する。また、制御ステップは、実施の形態におけるライトコマンド処理に対応する。
また、本実施の形態に係るディスク制御部は、記憶装置に容易に適用することができ、記憶装置の性能をより高めることができる。ここで、記憶装置には、例えば磁気ディスク装置、光ディスク装置、光磁気ディスク装置等が含まれ得る。
(付記1) 外部装置からの書き込み要求を受けることができる記憶装置であって、
記憶媒体のトラック上のヘッド位置に関する第1計測値を計測する第1計測部と、
外部装置からの書き込み要求に含まれたデータである書き込み要求データのうち受領済みのデータ量に関する第2計測値を計測する第2計測部と、
前記第1計測部により計測された第1計測値と前記第2計測部により計測された第2計測値とに基づいて、前記トラックへのデータの書き込みの制御を行う制御部と
を備える記憶装置。
(付記2) 付記1に記載の記憶装置において、
前記第1計測値は、前記トラック上において前記書き込み要求データの先頭を書き込むべき位置から現在のヘッド位置までに書き込むことができるデータ量で表され、前記第2計測値は、前記書き込み要求データのうち受領済みのデータ量で表されることを特徴とする記憶装置。
(付記3) 付記2に記載の記憶装置において、
前記制御部は、前記第1計測値が前記第2計測値より小さい場合、前記書き込み要求データのうち前記ヘッド位置に対応するデータの書き込みを行うことを特徴とする記憶装置。
(付記4) 付記1乃至付記3のいずれかに記載の記憶装置において、
前記データ量は、ブロックを単位として表されることを特徴とする記憶装置。
(付記5) 付記1乃至付記4のいずれかに記載の記憶装置において、
前記制御部は、前記書き込み要求データの書き込みが完了したと判断した場合、前記外部装置へ書き込み要求に対する処理の完了を報告することを特徴とする記憶装置。
(付記6) 付記4または付記5に記載の記憶装置において、
更に、前記書き込み要求データのうち書き込みが行われたブロック数である第3計測値を計測する第3計測部を備え、
前記制御部は、書き込みを開始した第1計測値を開始第1計測値として記憶し、前記第1計測値と前記第2計測値とに基づいて連続するブロックの書き込みを中断した場合、前記開始第1計測値と前記第3計測部により計測された第3計測値とに基づいて、次に書き込むべき前記記憶媒体上の位置を決定することを特徴とする記憶装置。
(付記7) 外部装置からの書き込み要求を受けることができる記憶装置の制御を行う記憶装置制御方法であって、
記憶媒体のトラック上のヘッド位置に関する第1計測値を計測すると共に、外部装置からの書き込み要求に含まれたデータである書き込み要求データのうち受領済みのデータ量に関する第2計測値を計測する計測ステップと、
前記計測ステップにより計測された第1計測値と前記計測ステップにより計測された第2計測値とに基づいて、前記トラックへのデータの書き込みの制御を行う制御ステップと
を実行する記憶装置制御方法。
(付記8) 外部装置からの書き込み要求を受けることができる記憶装置の制御を行う制御装置であって、
記憶媒体のトラック上のヘッド位置に関する第1計測値を計測する第1計測部と、
外部装置からの書き込み要求に含まれたデータである書き込み要求データのうち受領済みのデータ量に関する第2計測値を計測する第2計測部と、
前記第1計測部により計測された第1計測値と前記第2計測部により計測された第2計測値とに基づいて、前記トラックへのデータの書き込みの制御を行う制御部と
を備える制御装置。
(付記9) 付記8に記載の制御装置において、
前記第1計測値は、前記トラック上において前記書き込み要求データの先頭を書き込むべき位置から現在のヘッド位置までに書き込むことができるデータ量で表され、前記第2計測値は、前記書き込み要求データのうち受領済みのデータ量で表されることを特徴とする制御装置。
(付記10) 付記9に記載の制御装置において、
前記制御部は、前記第1計測値が前記第2計測値より小さい場合、前記書き込み要求データのうち前記ヘッド位置に対応するデータの書き込みを行うことを特徴とする制御装置。
(付記11) 付記8乃至付記10のいずれかに記載の制御装置において、
前記データ量は、ブロックを単位として表されることを特徴とする制御装置。
(付記12) 付記8乃至付記11のいずれかに記載の制御装置において、
前記制御部は、前記書き込み要求データの書き込みが完了したと判断した場合、前記外部装置へ書き込み要求に対する処理の完了を報告することを特徴とする制御装置。
(付記13) 付記11または付記12に記載の制御装置において、
更に、前記書き込み要求データのうち書き込みが行われたブロック数である第3計測値を計測する第3計測部を備え、
前記制御部は、書き込みを開始した第1計測値を開始第1計測値として記憶し、前記第1計測値と前記第2計測値とに基づいて連続するブロックの書き込みを中断した場合、前記開始第1計測値と前記第3計測部により計測された第3計測値とに基づいて、次に書き込むべき前記記憶媒体上の位置を決定することを特徴とする制御装置。
(付記14) 付記11乃至付記13のいずれかに記載の制御装置において、
更に、前記書き込み要求データの先頭から連続して書き込みを完了したブロック数である第4計測値を計測する第4計測部を備え、
前記制御部は、前記第4計測部により計測された第4計測値が、前記書き込み要求データ中のブロック数である要求ブロック数以上となった場合、前記書き込み要求データの書き込みが完了したと判断することを特徴とする制御装置。
(付記15) 付記14に記載の制御装置において、
前記制御部は、前記第4計測部により計測された連続書き込みブロック数に対応するデータバッファを解放することを特徴とする制御装置。
(付記16) 付記11乃至付記15のいずれかに記載の制御装置において、
更に、前記書き込み要求データ中の各ブロックについて書き込みが完了したか否かの情報を記憶する書き込み情報記憶部を備え、
前記制御部は、前記書き込み情報記憶部に記憶された情報に基づいて、書き込みが完了したブロックの書き込みを行わないことを特徴とする制御装置。
(付記17) 付記11乃至付記16のいずれかに記載の制御装置において、
前記制御装置が複数の書き込み要求を受け、該複数の書き込み要求中のブロックの論理アドレスが連続している場合、前記制御部は、複数の書き込み要求に含まれたデータを1つの書き込み要求データとすることを特徴とする制御装置。
(付記18) 付記17に記載の制御装置において、
前記複数の書き込み要求における書き込み要求の順番に従って、該書き込み要求に対する処理の完了を前記外部装置へ報告することを特徴とする制御装置。
(付記19) 付記8乃至付記18に記載の制御装置において、
前記書き込み要求データを書き込むべき前記記憶媒体上の位置が複数のトラックに跨る場合、前記第1計測部は、前記複数のトラックを通した値として第1計測値を計測することを特徴とする制御装置。
(付記20) 付記8乃至付記18に記載の制御装置において、
前記書き込み要求データを書き込むべき前記記憶媒体上の位置が複数のトラックに跨る場合、前記第2計測部は、トラック毎に第2計測値を計測することを特徴とする制御装置。
記憶媒体のトラック上のヘッド位置に関する第1計測値を計測する第1計測部と、
外部装置からの書き込み要求に含まれたデータである書き込み要求データのうち受領済みのデータ量に関する第2計測値を計測する第2計測部と、
前記第1計測部により計測された第1計測値と前記第2計測部により計測された第2計測値とに基づいて、前記トラックへのデータの書き込みの制御を行う制御部と
を備える記憶装置。
(付記2) 付記1に記載の記憶装置において、
前記第1計測値は、前記トラック上において前記書き込み要求データの先頭を書き込むべき位置から現在のヘッド位置までに書き込むことができるデータ量で表され、前記第2計測値は、前記書き込み要求データのうち受領済みのデータ量で表されることを特徴とする記憶装置。
(付記3) 付記2に記載の記憶装置において、
前記制御部は、前記第1計測値が前記第2計測値より小さい場合、前記書き込み要求データのうち前記ヘッド位置に対応するデータの書き込みを行うことを特徴とする記憶装置。
(付記4) 付記1乃至付記3のいずれかに記載の記憶装置において、
前記データ量は、ブロックを単位として表されることを特徴とする記憶装置。
(付記5) 付記1乃至付記4のいずれかに記載の記憶装置において、
前記制御部は、前記書き込み要求データの書き込みが完了したと判断した場合、前記外部装置へ書き込み要求に対する処理の完了を報告することを特徴とする記憶装置。
(付記6) 付記4または付記5に記載の記憶装置において、
更に、前記書き込み要求データのうち書き込みが行われたブロック数である第3計測値を計測する第3計測部を備え、
前記制御部は、書き込みを開始した第1計測値を開始第1計測値として記憶し、前記第1計測値と前記第2計測値とに基づいて連続するブロックの書き込みを中断した場合、前記開始第1計測値と前記第3計測部により計測された第3計測値とに基づいて、次に書き込むべき前記記憶媒体上の位置を決定することを特徴とする記憶装置。
(付記7) 外部装置からの書き込み要求を受けることができる記憶装置の制御を行う記憶装置制御方法であって、
記憶媒体のトラック上のヘッド位置に関する第1計測値を計測すると共に、外部装置からの書き込み要求に含まれたデータである書き込み要求データのうち受領済みのデータ量に関する第2計測値を計測する計測ステップと、
前記計測ステップにより計測された第1計測値と前記計測ステップにより計測された第2計測値とに基づいて、前記トラックへのデータの書き込みの制御を行う制御ステップと
を実行する記憶装置制御方法。
(付記8) 外部装置からの書き込み要求を受けることができる記憶装置の制御を行う制御装置であって、
記憶媒体のトラック上のヘッド位置に関する第1計測値を計測する第1計測部と、
外部装置からの書き込み要求に含まれたデータである書き込み要求データのうち受領済みのデータ量に関する第2計測値を計測する第2計測部と、
前記第1計測部により計測された第1計測値と前記第2計測部により計測された第2計測値とに基づいて、前記トラックへのデータの書き込みの制御を行う制御部と
を備える制御装置。
(付記9) 付記8に記載の制御装置において、
前記第1計測値は、前記トラック上において前記書き込み要求データの先頭を書き込むべき位置から現在のヘッド位置までに書き込むことができるデータ量で表され、前記第2計測値は、前記書き込み要求データのうち受領済みのデータ量で表されることを特徴とする制御装置。
(付記10) 付記9に記載の制御装置において、
前記制御部は、前記第1計測値が前記第2計測値より小さい場合、前記書き込み要求データのうち前記ヘッド位置に対応するデータの書き込みを行うことを特徴とする制御装置。
(付記11) 付記8乃至付記10のいずれかに記載の制御装置において、
前記データ量は、ブロックを単位として表されることを特徴とする制御装置。
(付記12) 付記8乃至付記11のいずれかに記載の制御装置において、
前記制御部は、前記書き込み要求データの書き込みが完了したと判断した場合、前記外部装置へ書き込み要求に対する処理の完了を報告することを特徴とする制御装置。
(付記13) 付記11または付記12に記載の制御装置において、
更に、前記書き込み要求データのうち書き込みが行われたブロック数である第3計測値を計測する第3計測部を備え、
前記制御部は、書き込みを開始した第1計測値を開始第1計測値として記憶し、前記第1計測値と前記第2計測値とに基づいて連続するブロックの書き込みを中断した場合、前記開始第1計測値と前記第3計測部により計測された第3計測値とに基づいて、次に書き込むべき前記記憶媒体上の位置を決定することを特徴とする制御装置。
(付記14) 付記11乃至付記13のいずれかに記載の制御装置において、
更に、前記書き込み要求データの先頭から連続して書き込みを完了したブロック数である第4計測値を計測する第4計測部を備え、
前記制御部は、前記第4計測部により計測された第4計測値が、前記書き込み要求データ中のブロック数である要求ブロック数以上となった場合、前記書き込み要求データの書き込みが完了したと判断することを特徴とする制御装置。
(付記15) 付記14に記載の制御装置において、
前記制御部は、前記第4計測部により計測された連続書き込みブロック数に対応するデータバッファを解放することを特徴とする制御装置。
(付記16) 付記11乃至付記15のいずれかに記載の制御装置において、
更に、前記書き込み要求データ中の各ブロックについて書き込みが完了したか否かの情報を記憶する書き込み情報記憶部を備え、
前記制御部は、前記書き込み情報記憶部に記憶された情報に基づいて、書き込みが完了したブロックの書き込みを行わないことを特徴とする制御装置。
(付記17) 付記11乃至付記16のいずれかに記載の制御装置において、
前記制御装置が複数の書き込み要求を受け、該複数の書き込み要求中のブロックの論理アドレスが連続している場合、前記制御部は、複数の書き込み要求に含まれたデータを1つの書き込み要求データとすることを特徴とする制御装置。
(付記18) 付記17に記載の制御装置において、
前記複数の書き込み要求における書き込み要求の順番に従って、該書き込み要求に対する処理の完了を前記外部装置へ報告することを特徴とする制御装置。
(付記19) 付記8乃至付記18に記載の制御装置において、
前記書き込み要求データを書き込むべき前記記憶媒体上の位置が複数のトラックに跨る場合、前記第1計測部は、前記複数のトラックを通した値として第1計測値を計測することを特徴とする制御装置。
(付記20) 付記8乃至付記18に記載の制御装置において、
前記書き込み要求データを書き込むべき前記記憶媒体上の位置が複数のトラックに跨る場合、前記第2計測部は、トラック毎に第2計測値を計測することを特徴とする制御装置。
11 マイクロプロセッサ、12 ディスク制御部、13 データバッファ、14 モータ駆動制御部、15 ヘッド位置決め制御部、16 リードライト制御部、21 スピンドルモータ、22 アクチュエータ、23 ヘッド、24 ディスク媒体、31 I/F制御部、32 データバッファ管理部、33 FMT、41 データ受領カウンタ、42 データフロー制御部、51 FMT位置カウンタ、52 シーケンシャル制御部、55 書き込み開始FMT位置カウンタ、56 書き込み済みブロックカウンタ。
Claims (10)
- 外部装置からの書き込み要求を受けることができる記憶装置であって、
記憶媒体のトラック上のヘッド位置に関する第1計測値を計測する第1計測部と、
外部装置からの書き込み要求に含まれたデータである書き込み要求データのうち受領済みのデータ量に関する第2計測値を計測する第2計測部と、
前記第1計測部により計測された第1計測値と前記第2計測部により計測された第2計測値とに基づいて、前記トラックへのデータの書き込みの制御を行う制御部と
を備える記憶装置。 - 請求項1に記載の記憶装置において、
前記第1計測値は、前記トラック上において前記書き込み要求データの先頭を書き込むべき位置から現在のヘッド位置までに書き込むことができるデータ量で表され、前記第2計測値は、前記書き込み要求データのうち受領済みのデータ量で表されることを特徴とする記憶装置。 - 請求項2に記載の記憶装置において、
前記制御部は、前記第1計測値が前記第2計測値より小さい場合、前記書き込み要求データのうち前記ヘッド位置に対応するデータの書き込みを行うことを特徴とする記憶装置。 - 外部装置からの書き込み要求を受けることができる記憶装置の制御を行う記憶装置制御方法であって、
記憶媒体のトラック上のヘッド位置に関する第1計測値を計測すると共に、外部装置からの書き込み要求に含まれたデータである書き込み要求データのうち受領済みのデータ量に関する第2計測値を計測する計測ステップと、
前記計測ステップにより計測された第1計測値と前記計測ステップにより計測された第2計測値とに基づいて、前記トラックへのデータの書き込みの制御を行う制御ステップと
を実行する記憶装置制御方法。 - 外部装置からの書き込み要求を受けることができる記憶装置の制御を行う制御装置であって、
記憶媒体のトラック上のヘッド位置に関する第1計測値を計測する第1計測部と、
外部装置からの書き込み要求に含まれたデータである書き込み要求データのうち受領済みのデータ量に関する第2計測値を計測する第2計測部と、
前記第1計測部により計測された第1計測値と前記第2計測部により計測された第2計測値とに基づいて、前記トラックへのデータの書き込みの制御を行う制御部と
を備える制御装置。 - 請求項5に記載の制御装置において、
前記第1計測値は、前記トラック上において前記書き込み要求データの先頭を書き込むべき位置から現在のヘッド位置までに書き込むことができるデータ量で表され、前記第2計測値は、前記書き込み要求データのうち受領済みのデータ量で表されることを特徴とする制御装置。 - 請求項6に記載の制御装置において、
前記制御部は、前記第1計測値が前記第2計測値より小さい場合、前記書き込み要求データのうち前記ヘッド位置に対応するデータの書き込みを行うことを特徴とする制御装置。 - 請求項5乃至請求項7のいずれかに記載の制御装置において、
前記データ量は、ブロックを単位として表されることを特徴とする制御装置。 - 請求項5乃至請求項8のいずれかに記載の制御装置において、
前記制御部は、前記書き込み要求データの書き込みが完了したと判断した場合、前記外部装置へ書き込み要求に対する処理の完了を報告することを特徴とする制御装置。 - 請求項8または請求項9に記載の制御装置において、
更に、前記書き込み要求データのうち書き込みが行われたブロック数である第3計測値を計測する第3計測部を備え、
前記制御部は、書き込みを開始した第1計測値を開始第1計測値として記憶し、前記第1計測値と前記第2計測値とに基づいて連続するブロックの書き込みを中断した場合、前記開始第1計測値と前記第3計測部により計測された第3計測値とに基づいて、次に書き込むべき前記記憶媒体上の位置を決定することを特徴とする制御装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006266515A JP2008084507A (ja) | 2006-09-29 | 2006-09-29 | 記憶装置、記憶装置制御方法、制御装置 |
US11/788,303 US20080082742A1 (en) | 2006-09-29 | 2007-04-18 | Storage apparatus, storage apparatus control method, and control apparatus |
KR1020070040314A KR100899826B1 (ko) | 2006-09-29 | 2007-04-25 | 기억 장치, 기억 장치 제어 방법 및 제어 장치 |
CNA2007101038241A CN101154417A (zh) | 2006-09-29 | 2007-05-16 | 存储装置、存储装置控制方法和控制装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006266515A JP2008084507A (ja) | 2006-09-29 | 2006-09-29 | 記憶装置、記憶装置制御方法、制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008084507A true JP2008084507A (ja) | 2008-04-10 |
Family
ID=39256018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006266515A Withdrawn JP2008084507A (ja) | 2006-09-29 | 2006-09-29 | 記憶装置、記憶装置制御方法、制御装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20080082742A1 (ja) |
JP (1) | JP2008084507A (ja) |
KR (1) | KR100899826B1 (ja) |
CN (1) | CN101154417A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10643707B2 (en) * | 2017-07-25 | 2020-05-05 | Western Digital Technologies, Inc. | Group write operations for a data storage device |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5963962A (en) * | 1995-05-31 | 1999-10-05 | Network Appliance, Inc. | Write anywhere file-system layout |
JP2001209500A (ja) * | 2000-01-28 | 2001-08-03 | Fujitsu Ltd | ディスク装置およびディスク装置のリード・ライト処理方法 |
JP2007501482A (ja) * | 2003-08-04 | 2007-01-25 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データブロックを記録するための装置及び方法 |
US7424497B1 (en) * | 2005-01-27 | 2008-09-09 | Network Appliance, Inc. | Technique for accelerating the creation of a point in time prepresentation of a virtual file system |
US7769723B2 (en) * | 2006-04-28 | 2010-08-03 | Netapp, Inc. | System and method for providing continuous data protection |
-
2006
- 2006-09-29 JP JP2006266515A patent/JP2008084507A/ja not_active Withdrawn
-
2007
- 2007-04-18 US US11/788,303 patent/US20080082742A1/en not_active Abandoned
- 2007-04-25 KR KR1020070040314A patent/KR100899826B1/ko not_active IP Right Cessation
- 2007-05-16 CN CNA2007101038241A patent/CN101154417A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
KR100899826B1 (ko) | 2009-05-27 |
US20080082742A1 (en) | 2008-04-03 |
KR20080029738A (ko) | 2008-04-03 |
CN101154417A (zh) | 2008-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5681511B2 (ja) | 情報記録装置及び情報記録方法 | |
JP2009110287A (ja) | アクセス制御装置およびアクセス制御方法 | |
US10424328B1 (en) | Reduced latency I/O in multi-actuator device | |
JP5058060B2 (ja) | データ記憶装置及び隣接トラック書き直し処理方法。 | |
CN101308683A (zh) | 磁盘驱动装置及其数据重写方法 | |
JP4240496B2 (ja) | アクセス制御のための装置および方法 | |
JP2006294163A (ja) | ディスク装置 | |
US7487388B2 (en) | Method of recovering reallocation sectors in data storage system and disc drive using the same | |
JP4922433B2 (ja) | 磁気ディスク装置及びデータブロックの書き換え方法 | |
JP4672454B2 (ja) | 記憶装置 | |
EP1018681A2 (en) | System and method for processing host system commands in a disk drive | |
US8300350B2 (en) | Magnetic disk drive using offset in positioning head to read data and head positioning method | |
US20120162809A1 (en) | Magnetic disk drive and method of accessing a disk in the drive | |
JP2007052855A (ja) | 媒体記憶装置のデータ消失防止方法及び媒体記憶装置 | |
JP2007250054A (ja) | 情報記録方法、書込制御回路及び情報記憶装置 | |
JP4249165B2 (ja) | 媒体記憶装置のデータ消失防止方法及び媒体記憶装置 | |
KR100524989B1 (ko) | 데이터 저장 시스템에서의 리트라이 개선 방법 및 이를이용한 디스크 드라이브 | |
JP2008084507A (ja) | 記憶装置、記憶装置制御方法、制御装置 | |
US11243887B2 (en) | Cache transfer time mitigation | |
US7649705B2 (en) | Data read retry with read timing adjustment for eccentrity of disc in data storage device | |
US11899968B2 (en) | Magnetic disk apparatus and method | |
JP7056867B2 (ja) | 制御装置、制御プログラム、及び制御方法 | |
JP2008146753A (ja) | 磁気記録装置、磁気記録方法、および磁気記録用プログラム | |
JP4598417B2 (ja) | データ記録再生装置、データ記録再生方法、プログラム、記録媒体 | |
JP2004070979A (ja) | ディスク装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090605 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20091022 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20100830 |