JP2007012139A - データ書き込み方法及びディスク装置 - Google Patents

データ書き込み方法及びディスク装置 Download PDF

Info

Publication number
JP2007012139A
JP2007012139A JP2005190201A JP2005190201A JP2007012139A JP 2007012139 A JP2007012139 A JP 2007012139A JP 2005190201 A JP2005190201 A JP 2005190201A JP 2005190201 A JP2005190201 A JP 2005190201A JP 2007012139 A JP2007012139 A JP 2007012139A
Authority
JP
Japan
Prior art keywords
data
log
stored
read command
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.)
Granted
Application number
JP2005190201A
Other languages
English (en)
Other versions
JP4989861B2 (ja
Inventor
Tetsuya Kamimura
上村  哲也
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.)
HGST Netherlands BV
Original Assignee
Hitachi Global Storage Technologies Netherlands BV
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 Hitachi Global Storage Technologies Netherlands BV filed Critical Hitachi Global Storage Technologies Netherlands BV
Priority to JP2005190201A priority Critical patent/JP4989861B2/ja
Publication of JP2007012139A publication Critical patent/JP2007012139A/ja
Application granted granted Critical
Publication of JP4989861B2 publication Critical patent/JP4989861B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Digital Magnetic Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

【課題】隣接トラックを部分的に重ね書きするような場合であっても巨大なアドレス変換表を必要とせず、データ書き込みを行なった場合に書き込み対象以外のアドレスに記録されたデータを破壊しないディスク装置を提供する。
【解決手段】ディスク装置の内部に、ログ領域311とダーティセクタ表312を設ける。上位装置から書き込み要求があったセクタのデータをセクタのデータバッファ333に保存し、セクタのアドレスをログに記録済みのセクタのLBA341に登録し、セクタのデータバッファ333に登録したデータのオフセットをログに記録済みのデータへのオフセット342に登録する。ログ領域311に保存したデータをユーザデータ空間301に反映する際には、ディスク装置内部のデータ整合性を保つように、必要ならば作業領域313を使ってログ領域311からユーザデータ空間301にデータをコピーする。
【選択図】図3

Description

本発明はディスク装置のデータ書き込み方法に関し、特に記憶媒体に書き込むべきデータをディスク装置の内部のログに蓄積した後に、ログに蓄積したデータを記憶媒体に反映するデータ書き込み方法に関する。
ディスク装置へのデータの書き込み速度の向上させる技術として、特開2002-323959号公報に記載の「磁気ディスク制御装置のログ主体不揮発性書き込みキャッシュ・システム及び方法」がある。D. A. Patterson, G. A. Gibson, R. H. Katz, "A Case for Redundant Arrays of Inexpensive Disks (RAID)," Proceedings of the International Conference on Management of Data (SIGMOD), June 1988. に記載の RAID-5 の構成のディスクサブシステムにおいてディスク装置へのランダムな書き込みが増えるとディスクサブシステムの性能が低下する問題がある。この性能低下の問題を解決するため、特開2000-323959号公報に記載の方法では、ディスク装置に書き込むべき内容をログに蓄積し、ディスクサブシステムの活動状態が低下した後でログに含まれるデータをディスク装置に書き込む。その結果ランダムな書き込みが順次書き込みに変換される。順次書き込みの性能がランダム書き込みの性能を上回るため、ディスクサブシステムの性能を向上できる。
ディスク装置の通常の書き込みではトラック同士の間隔を書き込みヘッドの幅よりも狭くできないため、書き込みヘッド幅により最短のトラック間隔が決まる。WO99/45534に記載の「磁気ディスク装置」では隣接トラックを部分的に重ね書きすることで、トラック幅を短縮するとともにトラック間隔も短縮する。これによりトラック密度が向上しディスク装置の容量を向上する。
特開2002-323959号公報 WO99/45534 D. A. Patterson, G. A. Gibson, R. H. Katz, "A Case for Redundant Arraysof Inexpensive Disks (RAID)," Proceedings of the International Conference on Management of Data (SIGMOD), June 1988.
磁気ディスク装置ではディスク装置へのデータ書き込み完了を上位装置に伝えた段階で、書き込んだデータがディスク装置内に永続的に存在することが保証される。これに対して特にWO99/445534に記載の「磁気ディスク装置」では隣接トラックを部分的に重ね書きする構造上、あるトラックにデータを書き込むとそのトラックと部分的に重ね書きされたトラックのデータを破壊する。つまりWO99/445534に記載の「磁気ディスク装置」ではデータを書き込むと、データを書き込んだアドレス以外のアドレスのデータが破壊され、データが消失するという問題がある。どのアドレスのデータが壊れるかはどのトラックが部分的に重なっているかに依存するため、上位装置からはどのアドレスのデータが壊れるかを予測することができない問題がある。
特開2002-323959号公報に記載の方法は、ディスク装置にデータを書き込むと書き込んだデータは永続的に保存され、データ書き込みを行なっていないアドレスのデータを壊さない、という通常の磁気ディスク装置の動作を前提としているため、隣接トラックを部分的に重ね書きする構成のディスク装置に適用すると、ログに蓄積したデータを磁気ディスク装置に書き込む段階で磁気ディスク装置のデータを破壊する問題がある。
WO99/445534に記載の「磁気ディスク装置」ではこのようなデータ破壊を防止するため、トラックやセクタ単位で追記することにして論理ブロックアドレス(Logical Block Address, LBA)と物理ブロックアドレス(Physical Block Address, PBA)との対応をアドレス変換表により管理することを提案している。しかしこの方法ではアドレス変換表が巨大になるという問題がある。例えば容量が100GBのディスク装置でセクタ単位にアドレス変換を管理する場合には、セクタ数が200Mあるため、LBAは28bit幅が必要になりアドレス変換表の一つのエントリは56bitになり、アドレス変換表のサイズが1.4GBになる。このような巨大なアドレス変換表はディスク装置の記憶媒体上に保存することになるため、ディスク装置の容量が低下するばかりでなく、アドレス変換表の検索にも時間がかかるためディスク装置の性能も低下するという問題がある。
本発明の目的は、隣接トラックを部分的に重ね書きするような場合であっても巨大なアドレス変換表を必要とせず、データ書き込みを行なった場合に書き込み対象以外のアドレスに記録されたデータを破壊しないディスク装置を提供することである。
前記目的を達成するため、本発明によるデータ書き込み方法は、以下の工程を採用する。
すなわち、本発明は、記憶媒体と、上位装置との間でコマンドやデータの送受信を行ない前記記憶媒体に対して書き込み又は読み出しを行なう制御部とを備えるディスク装置のデータ書き込み方法において、制御部が、上位装置から書き込み命令とデータとを受信するステップ、受信したデータとデータを書き込むべきアドレスとをディスク装置内部のログに追加するステップ、を実行する。ログは、記憶媒体上に、あるいはディスク装置が備える不揮発メモリ上に存在する。
制御部は、所定のタイミングで、ログに保存されたデータをログに保存されたアドレスに書き込むステップを実行する。書き込むタイミングは、例えば、ログのサイズが予め定めた閾値を越えたときである。
制御部は、データを書き込むアドレスをディスク装置内部の揮発メモリ上のリストに登録するステップを実行してもよい。
制御部は、ログに保存されたデータをログに保存されたアドレスに書き込むに当たって、定められた連続アドレス分のデータを生成するステップ、そのデータを記憶媒体に書き込むステップ、を実行する。
一つの態様として、ディスク装置がデータ一時保存用のキャッシュメモリを備え、制御部が、上位装置から読み出し命令を受信するステップ、読み出し命令の要求するアドレスのデータがキャッシュメモリに保存されているか検査するステップ、キャッシュメモリに保存されている場合に、キャッシュメモリに保存されているデータを読み出し命令の応答として上位装置に送信するステップ、キャッシュメモリに保存されていない場合に、揮発メモリ上のリスト内に読み出し命令の要求するアドレスが保存されているか検査するステップ、揮発メモリ上のリストに読み出し命令の要求するアドレスが保存されている場合に、ログから読み出し命令の要求するデータを読み出すステップ、ログから読み出したデータを読み出し命令の応答として送信するステップ、揮発メモリ上のリストに保存されていない場合に、ログ内に読み出し命令の要求するアドレスが保存されているか検査するステップ、ログ内に読み出し命令の要求するアドレスが保存されている場合に、ログから読み出し命令の要求するデータを読み出すステップ、ログから読み出したデータを読み出し命令の応答として送信するステップ、ログ内に読み出し命令の要求するアドレスが保存されていない場合に、記憶媒体から読み出し命令の要求するデータを読み出すステップ、記憶媒体から読み出したデータを読み出し命令の応答として送信するステップ、を実行する。
また、制御部は、上位装置からのログ参照命令を受信するステップ、ログ参照命令の応答としてログ内のアドレス及び/又はデータを上位装置に送信するステップ、を実行する。
また、前記目的を達成するため、本発明によるディスク装置は、以下の手段を採用する。
すなわち、本発明によるディスク装置は、記憶媒体と、上位装置との間でコマンドやデータの送受信を行ない記憶媒体に対して書き込み又は読み出しを行なう制御部と、上位装置から受信した書き込み命令とデータとから、当該データと当該データを書き込むべきアドレスとを記憶媒体上に存在するログ又は不揮発メモリ上に存在するログに追加するログ書き込み手段と、を備える。
本発明によるディスク装置は、また、ログに保存されたデータをログに保存されたアドレスに書き込むログフラッシュ手段を備える。ログフラッシュ手段は、定められた連続アドレス分のデータを生成した後に、そのデータを記憶媒体に書き込む。
本発明によるディスク装置は、また、コピー状態管理手段を有し、コピー状態管理手段がログフラッシュ手段によるデータの記憶媒体への書き込み完了を示していない場合に、ログフラッシュ手段はデータの記憶媒体への書き込みをやり直す。
本発明によるディスク装置の一態様は、データ一時保存用のキャッシュメモリと、データ読み出し手段とを備え、データ読み出し手段は、上位装置からの読み出し命令を受信した場合に、読み出し命令の要求するアドレスのデータがキャッシュメモリに保存されているか検査し、キャッシュメモリに保存されている場合に、キャッシュメモリに保存されているデータを読み出し命令の応答として上位装置に送信し、キャッシュメモリに保存されていない場合に、ログ内に読み出し命令の要求するアドレスが保存されているか検査し、ログ内に読み出し命令の要求するアドレスが保存されている場合に、ログから読み出し命令の要求するデータを読み出し、ログから読み出したデータを読み出し命令の応答として送信し、ログ内に読み出し命令の要求するアドレスが保存されていない場合に、記憶媒体から読み出し命令の要求するデータを読み出し、記憶媒体から読み出したデータを読み出し命令の応答として送信する。
本発明によるディスク装置の別の態様は、揮発メモリと、データ一時保存用のキャッシュメモリと、データ読み出し手段とを備え、ログ書込手段は、データを書き込むべきアドレスを揮発メモリ上のリストに登録し、データ読み出し手段は、上位装置からの読み出し命令を受信した場合に、読み出し命令の要求するアドレスのデータがキャッシュメモリに保存されているか検査し、キャッシュメモリに保存されている場合に、キャッシュメモリに保存されているデータを読み出し命令の応答として上位装置に送信し、キャッシュメモリに保存されていない場合に、揮発メモリ上のリスト内に読み出し命令の要求するアドレスが保存されているか検査し、揮発メモリ上のリストに読み出し命令の要求するアドレスが保存されている場合に、ログから読み出し命令の要求するデータを読み出し、ログから読み出したデータを読み出し命令の応答として送信し、揮発メモリ上のリストに保存されていない場合に、ログ内に読み出し命令の要求するアドレスが保存されているか検査し、ログ内に読み出し命令の要求するアドレスが保存されている場合に、ログから読み出し命令の要求するデータを読み出し、ログから読み出したデータを読み出し命令の応答として送信し、ログ内に読み出し命令の要求するアドレスが保存されていない場合に、記憶媒体から読み出し命令の要求するデータを読み出し、記憶媒体から読み出したデータを読み出し命令の応答として送信する。
本発明によるディスク装置は、また、上位装置からのログ参照命令を受信した場合に、ログ参照命令の応答としてログ内のアドレス及び/又はデータを上位装置に送信するログ参照手段を備える。
本発明によると、上位装置からディスク装置へのデータ転送量を削減することでディスク装置の実効性能が向上することができる。また、ディスク装置がデータ書き込み完了を通知した段階で、ディスク装置に書き込んだデータが永続的に存在するとともに、書き込み対象以外のデータが破壊されないことを保証できる。また、巨大なアドレス変換表が不要になり、記憶媒体への書き込み中に障碍が発生してバンドへの書き込みが中断した場合でも、記憶媒体に記録済みのデータがロストすることがない。
発明の実施例について図面を参照して説明する。なお、同一の参照番号は同一の構成要素を示す。
本発明では、上位装置からのデータ書き込み命令を処理する際に、ディスク装置内部のログに書き込み、ログに記録されたセクタのデータと記憶媒体に記録されたセクタのデータとから新しいバンドのイメージを作業領域上に作成し、作成したイメージを記憶媒体に書き込む。
図1は、隣接トラックを部分的に重ね書きする場合のトラック配置の概念図である。トラック101から105では書き込みヘッド121で書き込んだトラックを部分的に重ね書きし、書き込みヘッド121よりも幅の狭い読み出しヘッド122で読み出すことで、書き込みヘッド121の幅よりもトラック幅111を狭くしている。図1ではトラック103の書き込み後にトラック104を書き込んでいる。トラック104の書き込みによりトラック105が消去される。このため隣接トラックを部分的に重ね書きする場合には、あるトラックに書き込みを開始すると、ある一定範囲のトラックを全て更新する必要がある。このようなトラック群をバンドと呼ぶ。
図2は、複数の連続するトラックからなるバンド構造の概念図である。図2において、201はバンド、202は二つのバンド間でデータ破壊を防止するためのバンドギャップ、である。図2のようにバンドの末尾のトラックのみ幅広にして、バンドギャップ202の領域を作ることで隣のバンドのデータ破壊を防止する。
図7は、ディスク装置のブロック図である。このディスク装置は、フラッシュメモリ701、主記憶702、キャッシュメモリ703、メモリコントローラ及びマイクロプロセッサ704、ハードディスクコントローラ及びSCSIプロトコルコントローラ705、ディスクインタフェース706、サーボコントローラ707、リードライトチャネル708、ヘッド711、記憶媒体712、アクチュエータアーム713、ボイスコイルモータ714を備える。
フラッシュロム701にはディスク装置の起動に必要なプログラムが格納される。主記憶702は、メモリコントローラ及びマイクロプロセッサ704の制御用プログラムと制御に必要な各種データの格納に使用する。キャッシュメモリ703は、ディスクインタフェース706経由で上位装置のディスクコントローラとの間で送受信するデータのキャッシュに使用する。上位装置との通信に用いる通信プロトコルは、ハードディスクコントローラ及びSCSIプロトコルコントローラ705のSCSIプロトコルコントローラ部分で処理される。SCSIプロトコルコントローラに送られたコマンドは、メモリコントローラ及びマイクロプロセッサ704のマイクロプロセッサ部分により書き込みヘッド及び読み出しヘッドの駆動命令に変換されて、ハードディスクコントローラ及びSCSIプロトコルコントローラ705のハードディスクコントローラ部分に送られる。ハードディスクコントローラは、受信した命令を元にサーボコントローラ707とリードライトチャネル708とを制御し、記憶媒体712へのデータの書き込み又は読み出しを実行する。アクチュエータアーム713の先端に取り付けたヘッド711を記憶媒体712の読み出し対象のセクタの位置に移動するように、サーボコントローラ707がボイスコイルモータ714を制御する。ヘッド711が読み出し対象のセクタに移動した後で、リードライトチャネル708がヘッド711に対してデータの送受信を実行する。この時、書き込みであればキャッシュメモリ703に保存されたデータを記憶媒体に書き込み、読み出しであれば記憶媒体に保存されたデータをキャッシュメモリ703に書き込む。
ディスク装置の電源が投入されると、メモリコントローラ及びマイクロプロセッサ704がフラッシュロム701から起動用のプログラムを読み出し、メモリコントローラ部分が主記憶702、キャッシュメモリ703を初期化し、ハードディスクコントローラ及びSCSIプロトコルコントローラ705経由でサーボコントローラ707とリードライトチャネル708を制御して、残りの制御プログラムと制御に必要な各種データをディスク装置の記憶媒体から読み出す。読み出した制御プログラムと各種データを主記憶702上に格納する。これらの制御プログラムには、データ書き込みプログラム721、ログフラッシュプログラム722、データ読み出しプログラム723、などがある。これらの制御プログラムについては図4、図5、図6でフロー図を用いて説明する。データ構造の一例については図3で説明する。
図8は、本発明によるデータ書き込み方法及びディスク装置の第一の実施例による、コマンド実行ループのフロー図である。このコマンド実行ループのプログラムは主記憶702上に置かれる無限ループである。
マイクロプロセッサ704が無限ループの実行を開始すると、ステップ810に進み、上位装置の発行するコマンドを受信したか検査する。受信している場合にはステップ811に進み、受信していない場合にはステップ820に進む。
ステップ811では、受信したコマンドが書き込みコマンドか検査する。書き込みコマンドである場合にはステップ812に進み、書き込みコマンドでない場合にはステップ813に進む。ステップ812では、データ書き込みプログラム721を実行する。ステップ812の終了後、ステップ822に進む。ステップ822では、ディスク装置がどの程度暇かを示すアイドルタイマの値を0にクリアする。ステップ822の終了後、ステップ810に戻る。
ステップ813では、受信したコマンドが読み出しコマンドか検査する。読み出しコマンドである場合にはステップ814に進み、読み出しコマンドでない場合にはステップ815に進む。ステップ814では、データ読み出しプログラム723を実行する。ステップ814の終了後、ステップ822に進む。
ステップ815では、本実施例で述べていないデータ書き込みプログラムもしくはデータ読み出しプログラム以外のプログラムを実行する。例えばログフラッシュプログラム722を実行する。ステップ815の終了後、ステップ822に進む。
ステップ820は、アイドルタイマの値が別途定める閾値以上か検査するステップである。閾値以上の場合にはステップ821に進み、閾値よりも小さい場合にはステップ823に進む。ステップ821ではログフラッシュプログラム722を実行する。ステップ821の終了後、ステップ822に進む。
ステップ823では、アイドルタイマの値に1を加える。アイドルタイマは、前回データ書き込みプログラム721などのプログラムを実行してから図8の無限ループを何回実行したかを表す。アイドルタイマの値が大きいほど、上位装置の発行するコマンドを受信しておらず、ディスク装置が暇であること、つまりディスク装置の負荷が小さいことを示す。アイドルタイマの値の閾値は別途S.M.A.R.T.などにより変更可能な変数であり、ディスク装置の使用目的に応じて最適化できる。ステップ823の終了後、ステップ810に戻る。
図3により、本発明で用いるデータ構造の例について説明する。ディスク装置の記憶媒体には、ユーザデータ領域301とシステム領域310とが存在する。ユーザデータ領域301は上位装置からLBAを指定してアクセス可能な領域であり、ユーザデータの保存に使われる。システム領域310には、ログ領域311、ダーティセクタ表312、作業領域313、が存在する。ユーザデータ領域301と異なり、上位装置はシステム領域310に対して通常のLBAを指定してアクセスできない。その代わりにシステム領域310にアクセスする場合には、ディスク装置のデータ領域にあり得ないLBAの指定、S.M.A.R.T.コマンド、ベンダーユニークコマンドなどを用いてアクセスする。ログ領域311のデータ構造330は、コマンドログ331とログに記録済みのセクタのデータへのオフセット332とからなるコマンド表334と、セクタのデータバッファ333とからなる。ダーティセクタ表312のデータ構造340は、ログに記録済みのセクタのLBA341とログに記録済みのデータへのオフセット342とからなる。作業領域313は、図5で説明するログをフラッシュするサブルーチンで使用する。
キャッシュメモリのデータ構造320は、キャッシュ済みのセクタのLBA321、キャッシュ済みセクタのデータ322、ダーティセクタリスト323とからなる。キャッシュ済みのセクタのLBA321とキャッシュ済みセクタのデータ322とは、通常のディスク装置で使われるデータ構造と同一である。ダーティセクタリスト323は、ログに記録済みのセクタのLBA341と同一もしくはそのサブセットである。主記憶702内のバンドのコピー状態管理変数351と作業領域313内のバンドのコピー状態管理変数352は、ログのフラッシュ作業の進捗状況を管理する。コピー状態管理変数351,352の初期状態の値は0、ユーザデータ領域301に書き込むべきデータを作業領域313に準備している状態の値は1、作業領域313からユーザデータ領域301にコピーしている状態の値は2、である。
次に、本発明によるディスク装置のデータ書き込みの動作の概略を説明する。通常のディスク装置では、上位装置の発行するデータ書き込みコマンドを受信すると、キャッシュメモリ703のキャッシュ済みのセクタのLBA341に書き込みコマンドの指定するLBAを保存し、キャッシュ済みのセクタのデータ322に書き込み対象のLBAのデータを保存するとともに、リードライトチャネル708を通して、記憶媒体のユーザデータ領域301のデータ書き込みコマンドの指定するLBAに対してセクタのデータを書き込む。これに対して本発明によるディスク装置では、キャッシュメモリ703にセクタのデータを保存する所は通常のディスク装置と同じであるが、ユーザデータ領域301にデータを書き込む代わりに、システム領域310のログ領域311、ダーティセクタ表312、ダーティセクタリスト323に書き込む。
ログ領域311への書き込みでは、コマンドログ331に上位装置の発行したデータ書き込みコマンドを記録し、書き込み対象のセクタのデータをセクタのデータバッファ333に書き込む。データバッファの先頭からのオフセットを、ログに記録済みのセクタのデータへのオフセット332に記録して、データ書き込みコマンドとセクタのデータバッファ333内のデータとの対応を管理する。
ダーティセクタ表312への書き込みでは、データ書き込みコマンドの書き込み対象のセクタのLBAを、ログに記録済みのセクタのLBA341に書き込み、セクタのデータバッファ333の先頭からのオフセットを、ログに記録済みのデータへのオフセット342に記録して、セクタのLBAとセクタのデータとの対応を管理する。
次に、本発明によるディスク装置のデータ読み出しの動作の概略を説明する。あるセクタのデータを読み出すには、ユーザデータ領域301とログ領域311のどちらに最新のデータが格納されているかを確認するためにダーティセクタ表312の参照が必要になる。ダーティセクタ表312をディスク装置の記憶媒体に保存する場合には、ダーティセクタ表312の参照が、データ読み出しの性能劣化の原因となり得る。このような場合には、ログに記録済みのセクタのLBA341を、キャッシュメモリ703内にダーティセクタリスト323として保存する。これにより、セクタのデータがログ領域311に記録されているかを高速に判定可能になり、ログ領域311やダーティセクタ表312への参照が必要最小限になり、データ読み出しの性能向上が可能になる。ディスク装置の記憶容量が100GBでセクタのデータバッファ333の容量が50MBの場合には、LBAが28bitでデータバッファのエントリ数が102400なので、ダーティセクタリスト323に必要な容量が350KBになる。
キャッシュメモリ703内のダーティセクタリスト323の容量を削減するには、ダーティセクタリスト323に登録するLBAをLRUアルゴリズムで管理する方法がある。キャッシュメモリ703は通常揮発メモリなので、ディスク装置の電源を切断すると記録した内容が失われる。このため、ディスク装置の電源投入時には、ダーティセクタ表312のログに記録済みのセクタのLBA341からダーティセクタリスト323を再構築して、キャッシュメモリ703に記録する必要がある。ログ領域311とダーティセクタ表312の全てを保存可能な大容量のフラッシュメモリ701をディスク装置に搭載する場合には、キャッシュメモリ703上のダーティセクタリスト323は不要になる。
次に、図4のフロー図を参照して、データ書き込み方法の手順を説明する。処理を開始するとステップ410に進む。ステップ410では、セクタのデータバッファ333に記録したセクタのデータの個数が閾値に到達したか検査する。閾値は、ディスク装置のパラメータとして工場出荷時に設定しておく他、別途ベンダーユニークコマンドやS.M.A.R.T.により工場出荷後にユーザの使用する環境で設定可能である。ステップ410の判定で閾値を越えている場合にはサブルーチン411に進んでログの内容をフラッシュし、越えていない場合にはステップ420に進む。サブルーチン411は、後で図5を参照して説明する。サブルーチン411の終了後、ステップ420に進む。
ステップ420では、ログに記録済みのLBAへの書き込みかどうかを検査する。ログに記録済みのLBAはダーティセクタ表312に登録されているので、ログに記録済みのセクタのLBA341に書き込み対象のLBAが存在するかを検索することで、LBAのデータがログに登録済みかを検査できる。ログに記録済みのLBAへの書き込みの場合にはステップ421に進み、そうでない場合にはステップ401に進む。ステップ421では、ログに記録済みの旧データを無効化する。データの無効化では、コマンドログ331の該当LBAに書き込んだコマンドを保存したエントリ、セクタのデータバッファ333から該当LBAのデータを保存したエントリ、ダーティセクタ表312の該当LBAのエントリ、に対してエントリの無効を表す値を書き込む。このようにエントリを無効化することで、使用済みの領域が再利用可能になる。ステップ421の終了後、ステップ401に進む。
ステップ401では、上位装置の発行したデータ書き込みコマンドと書き込み対象のセクタのデータをログに追加する。つまり、書き込み対象のセクタのデータをセクタのデータバッファ333に追加し、データ書き込みコマンドとセクタのデータバッファ333に追加した際のバッファの先頭からのオフセットをコマンド表に追加する。ここでは本発明によるディスク装置の動作状態モニタのためコマンド表334を保存しているが、動作状態のモニタが不要であれば、コマンド表334を保存しなくても良い。これによりログ領域311の容量を削減できる。ステップ401の終了後、ステップ402に進む。
ステップ402では、ダーティセクタ表を更新する。ユーザデータ空間301ではなくログ領域311に新規データを書き込む方式では、ユーザデータ空間に記録済みのデータが陳腐化している場合がある。このように陳腐化したデータを保存しているセクタを汚れたセクタ(ダーティセクタ)と呼ぶ。ユーザデータ空間にあるダーティセクタではなく、ログ内の最新データにアクセスするために、ダーティセクタとログ内の最新のデータへのポインタ(セクタのデータバッファ内のオフセット)を、ダーティセクタ表312に保存する。そこでステップ402では、書き込み対象のLBAの値とステップ401でセクタのデータバッファ333に追加したセクタのデータのオフセットとを、ダーティセクタ表312のログに記録済みのセクタのLBA341とログに記録済みのデータへのオフセット342にそれぞれ記録する。ステップ402の終了後、ステップ403に進む。
ステップ403では、ダーティセクタリスト323を更新する。つまり、書き込み対象のLBAをキャッシュメモリ内のダーティセクタリスト323に登録する。もしもキャッシュメモリ内のダーティセクタリスト323のサイズが小さく、セクタのデータバッファ333に登録可能な全てのセクタをダーティセクタリスト323に登録不可能な場合には、LRUアルゴリズムにより使用頻度の低いLBAの値をダーティセクタリスト323から取り除く。ステップ403の終了後、データ書き込み処理を終了する。
次に、図5のフロー図を参照して、ログをフラッシュする手順について説明する。隣接トラックどうしが部分的に重ね書きされたバンド構造をしていると、バンド内の特定のセクタのみを更新できない。そこで本実施例では、ログをフラッシュするためにログのデータを直接ユーザデータ空間301に書き出すのではなく、システム空間310内の作業領域313にバンド全体のディスクイメージを作成し、ディスクイメージ全体をバンドにコピーする。ログに記録済みのデータだけではバンド全体のデータに満たない場合には、ユーザデータ空間から不足分のデータを読み出してバンドのイメージを作成する。図5のログのフラッシュ手順では、一回の処理で一つのバンドの更新のみ行なう。複数のバンドの更新が必要な場合には、本サブルーチンを複数回実行する。
処理を開始するとステップ501に進む。ステップ501では、作業領域313を初期化してバンドのイメージを保存可能にする。この時、主記憶702内のバンドのコピー状態管理変数351と作業領域313内のバンドのコピー状態管理変数352との値を1に設定する。ステップ501の終了後、ステップ502に進む。ステップ502では、ユーザデータ空間301内の処理対象のバンドの先頭セクタへシークする。ステップ502の終了後、ステップ510に進む。
ステップ510では、ダーティセクタ表312を参照して処理対象のLBAが登録済みかによって、処理対象のセクタがダーティであるかどうかを判定し、ダーティである場合にはステップ511に進み、ダーティでない場合には512に進む。ステップ511では、処理対象のセクタはダーティであり、最新のデータはユーザデータ空間301のバンド上ではなくログ領域311のセクタのデータバッファ333上に存在するため、セクタのデータバッファ333から処理対象のセクタのデータを読み出す。ステップ511の終了後、ステップ503に進む。ステップ512では、処理対象のセクタはクリーン、すなわち最新のデータはユーザデータ空間301のバンド上に存在するため、ユーザデータ空間301から処理対象のセクタのデータを読み出す。ステップ512の終了後、ステップ503に進む。
ステップ503では、ステップ511もしくはステップ512で読み出したセクタのデータを作業領域313に追加する。ステップ503の終了後、ステップ504に進む。ステップ504では、処理対象のバンドの次のセクタへシークする。ステップ504の終了後、ステップ520に進む。ステップ520では、バンドの末尾に到達したかを検査する。バンドの末尾に到達した場合にはステップ521に進み、そうでない場合にはステップ510に進む。ステップ521では、バンド内の全てのセクタの最新データが作業領域313に存在しており、バンドを更新する準備が整っているので、作業領域313の内容をユーザデータ空間301のバンドにコピーする。コピー開始前に、主記憶702内のバンドのコピー状態管理変数351と作業領域313内のバンドのコピー状態管理変数352との値を2に設定する。バンドのコピーの完了後、ログ領域311やダーティセクタ表312で不要になった領域を無効化して再利用可能にする。さらに、主記憶702内のバンドのコピー状態管理変数351と作業領域313内のバンドのコピー状態管理変数352の値を0に設定する。
作業領域313の内容をユーザデータ空間301のバンドにコピーしている最中に停電や上位装置の暴走などの障碍が発生してコピーが中断すると、ユーザデータ空間301のバンドの状態が不定になりデータロストが発生する。本実施例では作業領域313内のバンドのコピー状態管理変数352にバンドのコピー状態を保持しているため、この変数を参照してコピーが異常終了した場合にコピーを適切に再実行できる。つまり、コピー状態管理変数352の値が0であれば、バンドへのコピーは正常終了しているので何もせず、値が1であればバンドに書き込むべきデータを用意している途中で処理が中断しているのでステップ501から実行をやり直し、値が2であればバンドへの書き込み途中に処理が中断しているのでステップ521から実行をやり直す。
次に、図6のフロー図を参照して、データ読み出しの手順について説明する。本実施例では、読み出し対象のセクタがキャッシュ済みもしくはダーティかどうかに応じて、セクタの最新のデータがキャッシュメモリ703、ログ領域311、ユーザデータ空間301のいずれかに存在する。そこでセクタのデータを読み出すには、どこに最新のデータが存在するかを調べる必要がある。
処理を開始すると、ステップ610に進む。ステップ610では、読み出し対象のセクタのデータがキャッシュメモリ703のキャッシュ済みセクタのデータ322に保存されているか検査する。キャッシュメモリにデータが保存されている場合には、ステップ611に進み、そうでない場合にはステップ620に進む。ステップ611では、キャッシュ済みセクタのデータ322から読み出し対象のセクタのデータを読み出す。ステップ611の終了後、セクタのデータ読み出し処理を終了する。
ステップ620では、読み出し対象のセクタがキャッシュメモリ703のダーティセクタリスト323に登録されているか検査する。登録されている場合にはステップ621に進み、そうでない場合にはステップ630に進む。ステップ621では、読み出し対象のセクタの最新のデータがログ領域311のセクタのデータバッファ333に存在するため、セクタのデータバッファ333から読み出し対象のセクタのデータを読み出す。ステップ621の終了後、セクタのデータ読み出し処理を終了する。
ステップ630では、ダーティセクタリスト323がセクタのデータバッファ333に記録した全てのセクタのLBAを保存しているか検査する。全て保存している場合にはダーティセクタ表312を参照する必要がないのでステップ631に進み、そうでない場合にはステップ640に進む。
ステップ640では、ダーティセクタ表312に読み出し対象のセクタが登録されているか検査する。登録されている場合にはステップ621に進み、そうでない場合にはステップ631に進む。ステップ631では、読み出し対象のセクタのデータがユーザデータ空間301のバンド上に存在するため、ユーザデータ空間301のバンドから読み出し対象のセクタのデータを読み出す。ステップ631の終了後、セクタのデータ読み出し処理を終了する。
本実施例では、記憶媒体に保存されたダーティセクタ表312を参照する以前に、記憶媒体よりも数桁高速に参照可能なキャッシュメモリ703に保存されたダーティセクタリスト323を参照してセクタがダーティかどうかを判定することで、データの読み出し速度を高速化する効果がある。
本実施例では、ログ領域311とダーティセクタ表312とがシステム空間310上に存在するが、これらの配置場所はシステム空間310上に限らない。フラッシュロム701の容量が十分に大きければフラッシュメモリ701上に置くことも可能である。またユーザデータ空間301上に置くことも可能である。また、作業領域313もシステム空間310上に存在するが、これも同様にフラッシュロム701上やユーザデータ空間301上に置くことも可能である。
また本実施例では、ディスク装置の動作状態モニタのため、上位装置の発行するデータ書き込みコマンドもログに記録しているが、必ずしもコマンドをログに記録する必要はない。コマンドをログに記録しない場合には、ログに必要な記憶容量を削減できる。
また本実施例では、ログのサイズが閾値を越えた場合にログをフラッシュするが、ログをフラッシュするタイミングはこれに限らない。例えば、ディスク装置の負荷が低下したタイミングや、上位装置がログのフラッシュコマンドを発行したタイミングでログをフラッシュすることもできる。
本実施例では、バンドの更新のためには上位装置は更新の必要なセクタについてのみデータ書き込みコマンドを発行すれば良い。これにより上位装置からディスク装置へのデータ転送量が削減可能になり、ディスク装置のインタフェースの占有時間を短縮できる。ログのフラッシュはディスク装置の負荷の低下したタイミングで行なえるので、インタフェース占有時間の短縮によりディスク装置の実効性能を向上する効果がある。
また本実施例では、ディスク装置が上位装置に書き込み完了を通知した段階で、データがログに書き込まれており、ユーザデータ空間のデータを破壊しないので、通常のディスク装置と同様にディスク装置に書き込んだデータが永続的に存在するとともに、書き込み対象以外のデータが破壊されないことを保証できる効果がある。
また本実施例では、アドレス変換表が必要なのはログに記録したセクタ分についてのみであるため、巨大なアドレス変換表が不要になる効果がある。
また本実施例では、バンドへの書き込み中に障碍が発生してバンドへの書き込みが中断した場合でも、バンドの最新のデータがログに残っているため障碍から復帰した後でバンドへの書き込みを再開可能であり、バンドのデータがロストしない効果がある。
本発明は、隣接トラックを部分的に重ね書きするトラックのレイアウトを持ち、特に複数の連続トラック群を一括して書き換えるバンド構造を持ったディスク装置に適用すると、バンドの更新時の上位装置とディスク装置との間のデータ転送量を削減するとともに、更新時の障碍発生によるデータロストを防止できるため、特に有用である。
隣接トラックを部分的に重ね書きする場合のトラック配置の概念図。 複数の連続するトラックからなるバンド構造の概念図。 本発明によるデータ書き込み方法及びディスク装置のデータ構造例を示す概略図。 本発明によるデータ書き込みのフロー図。 本発明によるログをフラッシュするサブルーチンのフロー図。 本発明によるデデータ読み出しのフロー図。 ディスク装置のブロック図。 本発明によるコマンド実行ループのフロー図。
符号の説明
101 トラック
102 トラック
103 トラック
104 トラック
105 トラック
111 トラック幅
121 書き込みヘッド
122 読み出しヘッド
201 バンド
202 二つのバンド間でデータ破壊を防止するためのバンドギャップ
301 ユーザデータ領域
310 システム領域
311 ログ領域
312 ダーティセクタ表
313 作業領域
320 キャッシュメモリのデータ構造
321 キャッシュ済みセクタのLBA
322 キャッシュ済みセクタのデータ
323 ダーティセクタリスト
330 ログ領域内のデータ構造
331 コマンドログ
332 ログに記録済みのセクタのデータへのオフセット
333 セクタのデータバッファ
334 コマンド表
340 ダーティセクタ表のデータ構造
341 ログに記録済みのセクタのLBA
342 ログに記録済みのデータへのオフセット
351 主記憶内のバンドのコピー状態管理変数
352 作業領域内のバンドのコピー状態管理変数
701 フラッシュメモリ
702 主記憶
703 キャッシュメモリ
704 メモリコントローラ及びマイクロプロセッサ
705 ハードディスクコントローラ及びSCSIプロトコルコントローラ
706 ディスクインタフェース
707 サーボコントローラ
708 リードライトチャネル
711 ヘッド
712 記憶媒体
713 アクチュエータアーム
714 ボイスコイルモータ
721 データ書き込みプログラム
722 ログフラッシュプログラム
723 データ読み出しプログラム

Claims (16)

  1. 記憶媒体と、上位装置との間でコマンドやデータの送受信を行ない前記記憶媒体に対して書き込み又は読み出しを行なう制御部とを備えるディスク装置のデータ書き込み方法において、
    前記制御部が、
    前記上位装置から書き込み命令とデータとを受信するステップ、
    前記受信したデータと前記データを書き込むべきアドレスとを前記ディスク装置内部のログに追加するステップ、
    を実行することを特徴とするデータ書き込み方法。
  2. 請求項1に記載のデータ書き込み方法において、前記ログが前記記憶媒体上に存在することを特徴とするデータ書き込み方法。
  3. 請求項1に記載のデータ書き込み方法において、前記ディスク装置が不揮発メモリを備え、前記ログが前記不揮発メモリ上に存在することを特徴とするデータ書き込み方法。
  4. 請求項1に記載のデータ書き込み方法において、
    前記制御部が、前記ログに保存されたデータを前記ログに保存されたアドレスに書き込むステップを実行することを特徴とするデータ書き込み方法。
  5. 請求項4に記載のデータ書き込み方法において、
    前記制御部が、前記ログのサイズが予め定めた閾値を越えた場合に前記書き込むステップを実行することを特徴とするデータ書き込み方法。
  6. 請求項1に記載のデータ書き込み方法において、
    前記制御部が、前記アドレスを前記ディスク装置内部の揮発メモリ上のリストに登録するステップを実行することを特徴とするデータ書き込み方法。
  7. 請求項4に記載のデータ書き込み方法において、
    前記制御部が、
    定められた連続アドレス分のデータを生成するステップ、
    前記データを前記記憶媒体に書き込むステップ、
    を実行することを特徴とするデータ書き込み方法。
  8. 請求項6に記載のデータ書き込み方法において、
    前記ディスク装置がデータ一時保存用のキャッシュメモリを備え、
    前記制御部が、
    前記上位装置から読み出し命令を受信するステップ、
    前記読み出し命令の要求するアドレスのデータが前記キャッシュメモリに保存されているか検査するステップ、
    前記キャッシュメモリに保存されている場合に、前記キャッシュメモリに保存されているデータを前記読み出し命令の応答として前記上位装置に送信するステップ、
    前記キャッシュメモリに保存されていない場合に、前記揮発メモリ上のリスト内に前記読み出し命令の要求するアドレスが保存されているか検査するステップ、
    前記揮発メモリ上のリストに前記読み出し命令の要求するアドレスが保存されている場合に、前記ログから前記読み出し命令の要求するデータを読み出すステップ、
    前記ログから読み出したデータを前記読み出し命令の応答として送信するステップ、
    前記揮発メモリ上のリストに保存されていない場合に、前記ログ内に前記読み出し命令の要求するアドレスが保存されているか検査するステップ、
    前記ログ内に前記読み出し命令の要求するアドレスが保存されている場合に、前記ログから前記読み出し命令の要求するデータを読み出すステップ、
    前記ログから読み出したデータを前記読み出し命令の応答として送信するステップ、
    前記ログ内に前記読み出し命令の要求するアドレスが保存されていない場合に、前記記憶媒体から前記読み出し命令の要求するデータを読み出すステップ、
    前記記憶媒体から読み出したデータを前記読み出し命令の応答として送信するステップ、
    を実行することを特徴とするデータ書き込み方法。
  9. 請求項1に記載のデータ書き込み方法において、
    前記制御部が、
    前記上位装置からのログ参照命令を受信するステップ、
    前記ログ参照命令の応答として前記ログ内のアドレス及び/又はデータを前記上位装置に送信するステップ、
    を実行することを特徴とするデータ書き込み方法。
  10. 記憶媒体と、
    上位装置との間でコマンドやデータの送受信を行ない前記記憶媒体に対して書き込み又は読み出しを行なう制御部と、
    前記上位装置から受信した書き込み命令とデータとから、当該データと当該データを書き込むべきアドレスとを前記記憶媒体上に存在するログ又は不揮発メモリ上に存在するログに追加するログ書き込み手段と、
    を備えることを特徴とするディスク装置。
  11. 請求項10に記載のディスク装置において、前記ログに保存されたデータを前記ログに保存されたアドレスに書き込むログフラッシュ手段を備えることを特徴とするディスク装置。
  12. 請求項11に記載のディスク装置において、前記ログフラッシュ手段は、定められた連続アドレス分のデータを生成した後に前記データを前記記憶媒体に書き込むことを特徴とするディスク装置。
  13. 請求項12に記載のディスク装置において、コピー状態管理手段を有し、前記コピー状態管理手段が前記データの前記記憶媒体への書き込み完了を示していない場合に、前記ログフラッシュ手段は前記データの前記記憶媒体への書き込みをやり直すことを特徴とするディスク装置。
  14. 請求項10に記載のディスク装置において、データ一時保存用のキャッシュメモリと、データ読み出し手段とを備え、
    前記データ読み出し手段は、
    前記上位装置からの読み出し命令を受信した場合に、前記読み出し命令の要求するアドレスのデータが前記キャッシュメモリに保存されているか検査し、
    前記キャッシュメモリに保存されている場合に、前記キャッシュメモリに保存されているデータを前記読み出し命令の応答として前記上位装置に送信し、
    前記キャッシュメモリに保存されていない場合に、前記ログ内に前記読み出し命令の要求するアドレスが保存されているか検査し、
    前記ログ内に前記読み出し命令の要求するアドレスが保存されている場合に、前記ログから前記読み出し命令の要求するデータを読み出し、前記ログから読み出したデータを前記読み出し命令の応答として送信し、
    前記ログ内に前記読み出し命令の要求するアドレスが保存されていない場合に、前記記憶媒体から前記読み出し命令の要求するデータを読み出し、前記記憶媒体から読み出したデータを前記読み出し命令の応答として送信することを特徴とするディスク装置。
  15. 請求項10に記載のディスク装置において、揮発メモリと、データ一時保存用のキャッシュメモリと、データ読み出し手段とを備え、
    前記ログ書込手段は、前記アドレスを前記揮発メモリ上のリストに登録し、
    前記データ読み出し手段は、
    前記上位装置からの読み出し命令を受信した場合に、前記読み出し命令の要求するアドレスのデータが前記キャッシュメモリに保存されているか検査し、
    前記キャッシュメモリに保存されている場合に、前記キャッシュメモリに保存されているデータを前記読み出し命令の応答として前記上位装置に送信し、
    前記キャッシュメモリに保存されていない場合に、前記揮発メモリ上のリスト内に前記読み出し命令の要求するアドレスが保存されているか検査し、
    前記揮発メモリ上のリストに前記読み出し命令の要求するアドレスが保存されている場合に、前記ログから前記読み出し命令の要求するデータを読み出し、前記ログから読み出したデータを前記読み出し命令の応答として送信し、
    前記揮発メモリ上のリストに保存されていない場合に、前記ログ内に前記読み出し命令の要求するアドレスが保存されているか検査し、
    前記ログ内に前記読み出し命令の要求するアドレスが保存されている場合に、前記ログから前記読み出し命令の要求するデータを読み出し、前記ログから読み出したデータを前記読み出し命令の応答として送信し、
    前記ログ内に前記読み出し命令の要求するアドレスが保存されていない場合に、前記記憶媒体から前記読み出し命令の要求するデータを読み出し、前記記憶媒体から読み出したデータを前記読み出し命令の応答として送信することを特徴とするディスク装置。
  16. 請求項10に記載のディスク装置において、
    前記上位装置からのログ参照命令を受信した場合に、前記ログ参照命令の応答として前記ログ内のアドレス及び/又はデータを前記上位装置に送信するログ参照手段を備えることを特徴とするディスク装置。
JP2005190201A 2005-06-29 2005-06-29 データ書き込み方法及びディスク装置 Expired - Fee Related JP4989861B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005190201A JP4989861B2 (ja) 2005-06-29 2005-06-29 データ書き込み方法及びディスク装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005190201A JP4989861B2 (ja) 2005-06-29 2005-06-29 データ書き込み方法及びディスク装置

Publications (2)

Publication Number Publication Date
JP2007012139A true JP2007012139A (ja) 2007-01-18
JP4989861B2 JP4989861B2 (ja) 2012-08-01

Family

ID=37750423

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005190201A Expired - Fee Related JP4989861B2 (ja) 2005-06-29 2005-06-29 データ書き込み方法及びディスク装置

Country Status (1)

Country Link
JP (1) JP4989861B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010157266A (ja) * 2010-04-09 2010-07-15 Toshiba Corp 情報処理装置、故障予兆判定方法及びプログラム
US8654472B2 (en) 2011-11-29 2014-02-18 HGST Netherlands B.V. Implementing enhanced fragmented stream handling in a shingled disk drive
US9514787B2 (en) 2012-02-01 2016-12-06 Kabushiki Kaisha Toshiba Magnetic disk apparatus, read/write control method, and controller

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0496122A (ja) * 1990-08-09 1992-03-27 Oki Electric Ind Co Ltd 情報処理装置
JPH06324817A (ja) * 1993-03-24 1994-11-25 Internatl Business Mach Corp <Ibm> ディスク・システム及びデータ記憶方法
JPH1186418A (ja) * 1997-09-16 1999-03-30 Sony Corp 記録装置、記録方法およびディスク状記録媒体
WO1999045534A1 (fr) * 1998-03-04 1999-09-10 Hitachi, Ltd. Disque magnetique
JP2002042412A (ja) * 2000-07-26 2002-02-08 Matsushita Electric Ind Co Ltd 記録再生装置
JP2004185349A (ja) * 2002-12-04 2004-07-02 Hitachi Ltd ジャーナルログを利用した更新データ書込方法
JP2004310948A (ja) * 2003-04-09 2004-11-04 Sony Corp 記録再生装置
JP2005108410A (ja) * 2003-09-29 2005-04-21 Hitachi Global Storage Technologies Netherlands Bv ハードディスクドライブのバンドにデータを書き込むためのシステムおよび方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0496122A (ja) * 1990-08-09 1992-03-27 Oki Electric Ind Co Ltd 情報処理装置
JPH06324817A (ja) * 1993-03-24 1994-11-25 Internatl Business Mach Corp <Ibm> ディスク・システム及びデータ記憶方法
JPH1186418A (ja) * 1997-09-16 1999-03-30 Sony Corp 記録装置、記録方法およびディスク状記録媒体
WO1999045534A1 (fr) * 1998-03-04 1999-09-10 Hitachi, Ltd. Disque magnetique
JP2002042412A (ja) * 2000-07-26 2002-02-08 Matsushita Electric Ind Co Ltd 記録再生装置
JP2004185349A (ja) * 2002-12-04 2004-07-02 Hitachi Ltd ジャーナルログを利用した更新データ書込方法
JP2004310948A (ja) * 2003-04-09 2004-11-04 Sony Corp 記録再生装置
JP2005108410A (ja) * 2003-09-29 2005-04-21 Hitachi Global Storage Technologies Netherlands Bv ハードディスクドライブのバンドにデータを書き込むためのシステムおよび方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010157266A (ja) * 2010-04-09 2010-07-15 Toshiba Corp 情報処理装置、故障予兆判定方法及びプログラム
US8654472B2 (en) 2011-11-29 2014-02-18 HGST Netherlands B.V. Implementing enhanced fragmented stream handling in a shingled disk drive
US9514787B2 (en) 2012-02-01 2016-12-06 Kabushiki Kaisha Toshiba Magnetic disk apparatus, read/write control method, and controller

Also Published As

Publication number Publication date
JP4989861B2 (ja) 2012-08-01

Similar Documents

Publication Publication Date Title
US7412585B2 (en) Method for controlling disk drive using an address translation table
US8862808B2 (en) Control apparatus and control method
EP2329361B1 (en) Aggregation of write traffic to a data store
KR100510808B1 (ko) 데이터 저장 장치 및 시스템을 위한 로그 구조 기록 캐시
US8332581B2 (en) Stale track initialization in a storage controller
US9798623B2 (en) Using cache to manage errors in primary storage
KR20120099272A (ko) 하이브리드 스토리지를 이용한 ssd 수명의 연장
JP5891027B2 (ja) 記憶装置をサニタイズする方法及び装置
US9177607B2 (en) Logging disk recovery operations in a non-volatile solid-state memory cache
JPH0775011B2 (ja) 予測性トラックテーブルを用いたレコード更新方法
JP4561168B2 (ja) データ処理システムおよび方法並びにその処理プログラム
EP1582971A2 (en) Diskarray system
US9514052B2 (en) Write-through-and-back-cache
JP2010152747A (ja) ストレージシステム、ストレージのキャッシュ制御方法、及びキャッシュ制御プログラム
KR20140142154A (ko) 솔리드 스테이트 드라이브 캐싱 환경에서 디스크 조각 모음 관리 방법
JP4989861B2 (ja) データ書き込み方法及びディスク装置
JP2006099802A (ja) 記憶制御装置およびキャッシュメモリの制御方法
JP3797864B2 (ja) オペレーティングシステムとの関連でデータを回復および再生する方法、ソフトウェア、および装置
WO2015173889A1 (ja) ストレージ装置
CN104050073B (zh) 暂态奇偶性/冗余
JP2006338731A (ja) データ書き込み方法
US20090049226A1 (en) Stale track initialization in a storage controller
JP3861061B2 (ja) ディスクキャッシュ制御装置
JP2004355040A (ja) ディスク制御装置およびデータ先読み方法
JP4131953B2 (ja) ファイル制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100706

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101006

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110614

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110829

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120424

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120501

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees