JP2012038330A - ハードディスクドライブ - Google Patents

ハードディスクドライブ Download PDF

Info

Publication number
JP2012038330A
JP2012038330A JP2011220592A JP2011220592A JP2012038330A JP 2012038330 A JP2012038330 A JP 2012038330A JP 2011220592 A JP2011220592 A JP 2011220592A JP 2011220592 A JP2011220592 A JP 2011220592A JP 2012038330 A JP2012038330 A JP 2012038330A
Authority
JP
Japan
Prior art keywords
write
command
hard disk
disk drive
fua
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
JP2011220592A
Other languages
English (en)
Inventor
Hideji Yamada
秀二 山田
Yuji Yokoe
祐司 横江
Takahiro Saito
高裕 齋藤
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 JP2011220592A priority Critical patent/JP2012038330A/ja
Publication of JP2012038330A publication Critical patent/JP2012038330A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】メディアへの書き込み完了後にコマンド完了通知を送信するコマンドの実行順序を効果的に決定する。
【解決手段】本発明の一実施の形態に係るHDD1は、複数のライト・コマンドWR1−WR5をキャッシュしている状態において、FUAコマンドを受信した場合、FUAコマンドを、他のライト・コマンドに対して優先した実行順序を決定する。ライト・バッファはリング・バッファ方式である。予め定められた基準を満たす場合は、FUAコマンド、もしくは、FUAコマンドを含み互いに関連付けられた一連のライト・コマンドの実行順序を、最初の実行順序に設定する。上記基準を満たさない場合は、キャッシュされているライト・コマンドの中で、最古のライト・コマンドを最初の実行順序に設定し、FUAコマンド、もしくは、FUAコマンドを含み互いに関連付けられた一連のライト・コマンドの実行順序を最古のライト・コマンドの後の実行順序に設定する。
【選択図】図8

Description

本発明は、ハードディスクドライブに関し、特に、データ記憶装置のライト・キャッシュに登録されているライト・コマンドの実行順序制御に関する。
データ記憶装置として、光ディスクや磁気テープあるいは半導体メモリなどの様々な態様のメディアを使用する装置が知られている。その中で、ハードディスク・ドライブ(以下、HDD)は、コンピュータの記憶装置として広く普及し、現在のコンピュータ・システムにおいて欠かすことができない記憶装置の一つとなっている。さらに、コンピュータにとどまらず、動画像記録再生装置、カーナビゲーション・システム、あるいはデジタル・カメラなどで使用されるリムーバブルメモリなど、HDDの用途はその優れた特性により益々拡大している。
HDDで使用される磁気ディスクは、同心円状に形成された複数のトラックを有しており、各トラックは複数のセクタ(サーボ・セクタ)に区分されている。各サーボ・セクタにはサーボ・データと、ユーザ・データが記録される。サーボ・セクタ内には複数セクタ(データ・セクタ)のユーザ・データが記録されている。ヘッド素子部がサーボ・データに従って移動することによって、所望アドレスへのデータ書き込みあるいは所望アドレスからのデータ読み出しを行うことができる。データ読み出し処理において、ヘッド素子部が磁気ディスクから読み出した信号は信号処理回路によって波形整形や復号処理などの所定の信号処理が施され、ホストに転送される。ホストからの転送データは、信号処理回路によって同様に所定処理された後に、ヘッド素子部によって磁気ディスクに書き込まれる。
HDDのパフォーマンス向上手法の1つとして、ライト・キャッシュが知られている。この手法において、HDDは、ホストからのライト・コマンドをキャッシュし、また、そのライト・データをライト・バッファに記憶する。ライト・バッファへのライト・データの格納が完了した段階で、ホストにコマンドの完了通知を送信する。HDDは、ホストとの間の通信と並行して、ライト・バッファに格納してあるライト・データを磁気ディスクに書き出していく。ホストは、HDDからコマンドの完了通知を受信すると、次のコマンドをHDDに発行することができる。
一方、HDD内の処理を効率化し、最短時間で全てのライト・データを磁気ディスクに書き込めるよう、RPO(Rotational Positioning Optimization)等のアルゴリズムを使用して、ライト・データのディスク書き込み順序を最適化する技術が知られている(例えば、特許文献1を参照)。RPOは、例えば、実行待ちのコマンドを実行したときに、磁気ディスク上のターゲット・トラックへのシークを開始してから到達するまでのシーク時間と、到達後にターゲット・セクタにアクセスを開始するまでのディスク回転待ち時間とを予想する。シーク時間および回転待ち時間の合計が最短となる実行待ちコマンドを、次に実行するコマンドとして選択する。
特開2003−122631号公報
ホストとHDDとの間のインターフェース仕様として、SCSIやATA規格が知られているが、次期規格であるATA standard 7において、新たにFUA(Forced Unit Access)シリーズのコマンドがサポートされる。ホストからFUAコマンドを取得したHDDは、ライト・キャッシュがONの状態にあっても、そのライト・データを磁気ディスクに書き込んだ後に、ホストに対してコマンド完了通知を送らなければならない。
ライト・キャッシュがONの場合、キャッシュされたライト・データは、電源ダウンなどなんらかの理由によって磁気ディスクに書き込まれない場合が考えられる。ホストは、FUAコマンドを発行することによって、ライト・データが磁気ディスクに確実に書き込まれたことを確認することができるので、クリティカルなデータが磁気ディスクに書き込まれずに消失することを防止することができる。
一方、重要度の低いデータについては、ホストは通常のコマンド(非FUAコマンド)を発行してライトを指示する。これによってライト・キャッシュ機能を利用し、ホストとHDDのパフォーマンスの向上を図ることができる。このように、FUAコマンドは、データ書き込みの安全性とパフォーマンスの両立を図る技術であるといえる。
しかしながら、ライト・キャッシュがONである場合、FUAコマンドを取得したタイミングにおいて、HDDがすでに複数のライト・コマンドをキャッシュしているケースが頻繁に起こる。例えば、既に5つのライト・コマンドがキャッシュされているとすると、新たに取得されたFUAコマンドは、その5つのライト・コマンドの終了を待って実行されることも考えられる。HDDは、FUAコマンドの完了通知を、対応データが磁気ディスクに書き込まれるまでホストに送信しない。このため、ホストは、次のコマンド発行のために、FUAコマンド完了の他に、5つの他のライト・コマンドの実行完了を待たなければならない。
従って、FUAコマンドを含むライト・コマンドの実行順序を決定する新たな手法が必要とされる。また、FUAコマンドの実行順序決定において、ホストの待ち時間減少の観点の他に、HDDのスループット等を考慮することも重要な点の一つである。
本発明は上述のような事情を背景としてなされたものであって、ハードディスクにおけるライト・コマンド実行順序の決定手法を改善し、データの安全性とホストとデータ記憶装置のデータ処理効率の向上を図ることを目的とする。
本発明の第1の態様に係るデータ記憶装置は、メディアに書き込むべきライト・データを一時的に記憶するライト・バッファと、前記メディアに書き込むべきライト・データのそれぞれと対応するライト・コマンドに関する情報を登録するテーブルと、前記テーブルに登録されているライト・コマンドの実行順序を決定するキャッシュ・マネージャと、を備え、前記キャッシュ・マネージャは、前記メディアへの書き込み完了後にコマンド完了通知をホストへ送信するメディア書き込み強制コマンドを取得した場合、非メディア書き込み強制コマンドを取得した場合よりも高い優先度においてその実行順序を決定し、前記ライト・バッファはリング・バッファ方式のバッファであり、前記キャッシュ・マネージャは、予め定められた基準に基づいて、前記基準を満たす場合は、前記メディア書き込み強制コマンド、もしくは、前記メディア書き込み強制コマンドを含み互いに関連付けられた一連のライト・コマンドの実行順序を、最初の実行順序に設定し、前記基準を満たさない場合は、キャッシュされているライト・コマンドの中で、最古のライト・コマンドを最初の実行順序に設定し、前記メディア書き込み強制コマンド、もしくは、前記メディア書き込み強制コマンドを含み互いに関連付けられた一連のライト・コマンドの実行順序を前記最古のライト・コマンドの後の実行順序に設定するものである。
本発明の第2の態様は、上記第1の態様において、前記メディア書き込み強制コマンド、もしくは、前記メディア書き込み強制コマンドを含み互いに関連付けられた一連のライト・コマンドの後に実行されるライト・コマンドをリオーダリングするものである。
本発明の第3の態様は、上記第2の態様において、前記リオーダリングは、RPOアルゴリズムにより並べ替えるものである。
本発明の第4の態様は、上記第2の態様において、前記基準は予め定められた前記ライト・バッファに格納されたコマンドの数である。
本発明の第5の態様は、上記第4の態様において、前記格納されたコマンドの数は、ライト・コマンドの数である。
本発明の第6の態様は、上記第2の態様において、前記基準は予め定められた前記ライト・バッファに格納されているライト・コマンドに対応するデータ・セクタ数である。
本発明の第7の態様は、上記第2の態様において、前記基準は予め定められた前記ライト・バッファに格納されているライト・コマンドの実行時間である。
本発明の第8の態様は、上記第7の態様において、前記ライト・コマンドの実行時間はエラーによるリトライ処理と実行時のばらつきに関する係数を乗じた実行時間である。
本発明の第9の態様は、上記第2の態様において、前記基準は予め定められた前記ライト・バッファの空き容量である。
本発明によれは、ライト・コマンド実行順序の決定手法を改善し、データの安全性とホストとデータ記憶装置のデータ処理効率の向上を図ることができる。
本実施形態に係るHDDの全体構成を模式的に示すブロック図である。 本実施形態に係るHDDにおいて、FUAコマンドを受信した場合に、FUAコマンドを優先してリオーダリングする方法を示す図である。 本実施形態に係るHDDにおいて、シーケンシャルライトの手法を説明する図である。 本実施形態に係るHDDにおいて、FUAコマンドを受信した場合に、シーケンシャルライトを利用してリオーダリングする方法を示す図である。 本実施形態において、リング・バッファ方式を利用するHDDがFUAコマンドを受信した場合におけるリオーダリングの方法を示す図である。 本実施形態に係るHDDにおいて、FUAコマンドを受信した場合に、複数のリオーダリング方法から一つを選択する例を示す図である。 本実施形態に係るHDDにおいて、FUAコマンドを受信した場合に、複数のリオーダリング方法から一つを選択する例を示すフロー・チャートである。 本実施形態に係るHDDにおいて、FUAコマンドを受信した場合に、複数のリオーダリング方法から一つを選択する他の例を示すフロー・チャートである。 本実施形態に係るHDDにおいて、ライト・キャッシュ制御に関する論理構成を示すブロック図である。 本実施形態に係るHDDにおいて、ライト・キャッシュ制御のためのライト・キャッシュ・テーブルの一例を示す図である。
以下に、本発明を適用可能な実施の形態を説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。又、各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略されている。
本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。本実施形態は、データ記憶装置のライト・キャッシュONの状態において、ライト・コマンドの実行順序(メディアへの書き込み順序)の決定手法に特徴を備え、特に、ホストへのコマンド完了通知をメディアへの書き込み完了後に行うライト・コマンドの実行順序の決定手法に特徴を備える。本発明の理解の容易のため、最初に、データ記憶装置の一例であるハードディスク・ドライブ(HDD)の全体構成の概略を説明する。
図1は、本実施の形態に係るHDD1の構成を模式的に示すブロック図である。図1に示すように、HDD1は、密閉されたエンクロージャ10内に、メディア(記録媒体)の一例である磁気ディスク11、ヘッド素子部12、アーム電子回路(アームエレクトロニクス:AE)13、スピンドル・モータ(SPM)14、ボイス・コイル・モータ(VCM)15、そしてアクチュエータ16を備えている。
HDD1は、エンクロージャ10の外側に固定された回路基板20を備えている。回路基板20上には、リード・ライト・チャネル(R/Wチャネル)21、モータ・ドライバ・ユニット22、ハードディスク・コントローラ(HDC)とMPUの集積回路(以下、HDC/MPU)23、及びメモリの一例であるRAM24などの各ICを備えている。尚、各回路構成は一つのICに集積すること、あるいは、複数のICに分けて実装することができる。
外部ホスト51からのライト・データは、HDC/MPU23によって受信され、R/Wチャネル21、AE13を介して、ヘッド素子部12によって磁気ディスク11に書き込まれる。また、磁気ディスク11に記憶されているリード・データはヘッド素子部12によって読み出され、そのリード・データは、AE13、R/Wチャネル21を介して、HDC/MPU23から外部ホスト51に出力される。
次に、HDD1の各構成要素について説明する。磁気ディスク11は、SPM14に固定されている。SPM14は所定の速度で磁気ディスク11を回転する。HDC/MPU23からの制御データに従って、モータ・ドライバ・ユニット22がSPM14を駆動する。本例の磁気ディスク11は、データを記録する記録面を両面に備え、各記録面に対応するヘッド素子部12が設けられている。
各ヘッド素子部12はスライダ(不図示)に固定されている。また、スライダはアクチュエータ16に固定されている。アクチュエータ16はVCM15に連結され、回転軸を中心に揺動することによって、ヘッド素子部12(及びスライダ)を磁気ディスク11上において半径方向に移動する。モータ・ドライバ・ユニット22は、HDC/MPU23からの制御データに従ってVCM15を駆動する。
ヘッド素子部12には、典型的には、磁気ディスク11への記録データに応じて電気信号を磁界に変換する記録ヘッド、及び磁気ディスク11からの磁界を電気信号に変換する再生ヘッドを備えている。なお、磁気ディスク11は、1枚以上あればよく、記録面は磁気ディスク11の片面あるいは両面に形成することができる。
続いて各回路部の説明を行う。AE13は、複数のヘッド素子部12の中からデータ・アクセスが行われる1つのヘッド素子部12を選択し、選択されたヘッド素子部12により再生される再生信号を一定のゲインで増幅(プリアンプ)し、R/Wチャネル21に送る。また、R/Wチャネル21からの記録信号を選択されたヘッド素子部12に送る。
R/Wチャネル21は、ホスト51から転送されたデータについて、ライト処理を実行する。ライト処理において、R/Wチャネル21はHDC/MPU23から供給されたライト・データをコード変調し、更にコード変調されたライト・データをライト信号に変換してAE13に供給する。また、ホスト51にデータを供給する際にはリード処理を行う。リード処理において、R/Wチャネル21はAE13から供給されたリード信号を一定の振幅となるように増幅し、取得したリード信号からデータを抽出し、デコード処理を行う。読み出されるデータは、ユーザ・データとサーボ・データを含む。デコード処理されたリード・データは、HDC/MPU23に供給される。
HDC/MPU23において、MPUはRAM24にロードされたマイクロ・コードに従って動作する。HDD1の起動に伴い、RAM24には、MPU上で動作するマイクロ・コードの他、制御及びデータ処理に必要とされるデータが磁気ディスク11あるいはROM(不図示)からロードされる。HDC/MPU23は、コマンド実行順序の管理、ヘッド素子部12のポジショニング制御、インターフェース制御、ディフェクト管理などのデータ処理に関する必要な処理の他、HDD1の全体制御を実行する。
HDC/MPU23は、R/Wチャネル21から取得した磁気ディスク11からのリード・データを、ホスト51に伝送する。磁気ディスク11からのリード・データは、RAM24内のリード・バッファに一旦格納された後、HDC/MPU23を介してホスト51に転送される。また、ホスト51からのライト・データは、HDC/MPU23を介して、RAM24内のライト・バッファに一旦格納され、その後、所定のタイミングでHDC/MPU23を介して磁気ディスク11に転送される。
続いて、本実施形態に係るHDD1のライト・キャッシュ処理について説明する。本形態のHDD1はライト・キャッシュがオンの状態であり、ライト・データのライト・バッファへの格納が完了したタイミングで、対応するライト・コマンドの完了通知をホスト51に送信することができる。ホスト51は、HDD1からコマンド完了通知を受信した段階で、HDD1に対して新たなコマンドを発行することができる。
また、本形態のHDD1は及びホスト51は、HDD1からホスト51へのコマンド完了通知を、記録ディスク11への書き込み完了後に行うライト・コマンドをサポートする。このようなライト・コマンドの最も典型的な一例は、ATA Standard 7で標準化されているFUA(Forced Unit Access)シリーズのコマンドである。ホスト51からFUAコマンドを取得したHDD1は、ライト・キャッシュがONの状態にあっても、そのライト・データを磁気ディスク11に書き込んだ後に、ホスト51に対してコマンド完了通知を送信する。
ATA Standard 7において、FUAコマンドはWRITE DMA EXTEND FUAやWRITE DMA MULTIPLE EXTEND FUAなどを備えている。以下の説明においてはFUAコマンドを例として本形態の説明を行う。また、以下において、特に明示のないライト・コマンドはFUA以外のコマンド(非FUAコマンド)であり、ライト・データがライト・バッファに格納された後、磁気ディスク11に書き込む前に、コマンド完了通知がホスト51に送られる。
以下において、未実行(磁気ディスク11へのデータ書き込みが未完了)のライト・コマンドがキューされているタイミングで、HDD1がホスト51からFUAコマンドを取得した場合における、コマンド実行順序の決定について説明する。HDD1は、非FUAコマンドだけをキャッシュしている場合、効率的な内部処理を行うため、RPO(Rotational Positioning Optimization)等のアルゴリズムを使用して、ライト・データの磁気ディスク11への書き出し順序を最適化する。
FUAコマンドが発行された場合、HDD1はそのコマンドの実行が完了するまで、つまりライト・データの磁気ディスク11への書き込みが完了するまで、コマンド完了通知を返すことができず、HDD1とホスト51との間のインターフェースがビジー状態となる。このため、FUAコマンドをホスト51から取得した場合、取得したライト・コマンドが非FUAコマンドである場合よりも、高い優先度においてライト・コマンドの実行順序を再決定(リオーダリング)することが好ましい。
好ましい例の一つにおいて、HDD1は、ホスト51からFUAコマンドを受信すると、既にキャッシュされている他のライト・コマンドに対して最優先で、そのFUAコマンドを実行する。つまり、キャッシュされている全てのライト・コマンドよりも前に、最初に新たに発行されたFUAコマンドを実行する。
図2は、FUAコマンドを最初の順序で実行する例を示している。図2(a)に示すように、HDD1は、5つのライト・コマンドWRを、WR1−WR2−WR3−WR4−WR5の順序で、ホスト51から取得している。その後、図2(b)に示すように、ライト・コマンドのリオーダリングを実行する。各ライト・コマンドは、非FUAコマンドであるので、RPOなどの従来のアルゴリズムに従って、リオーダリングを実行する。図2(b)の例においては、実行順序は、WR2−WR3−WR1−WR5−WR4の順に設定されている。
図2(c)に示すように、これらのライト・コマンドRWを実行する前に、HDD1はホスト51からFUAコマンドを受信する。すると、HDD1は、図2(d)に示すように、FUAコマンドを最優先としてコマンドの実行順序を並べ替える。つまり、新たに取得したFUAコマンドの実行順序を最初とする。このように、FUAコマンドの実行順序を未実行ライト・コマンドの内の最初の順序に設定することにとって、コマンド完了通知の返信遅れによるホスト51の処理効率低下を抑制することができる。
ここで、好ましくは、FUAコマンドを実行順序の先頭に設定すると共に、その後に実行される他のライト・コマンドWRについて、その実行順序のリオーダリングを再実行する。図2(e)の例において、FUAコマンドの実行順序を最初(1番目)に設定したことに応じて、ライト・コマンドWR2の実行順序が、2番目から5番目に変更されている。
FUAコマンドを実行した後のヘッド素子部12と磁気ディスク11の位置関係を考慮すると、元の事項順序(WR2−WR3−WR1−WR5−WR4)が最も効率的な実行順序であるとは限らない。そこで、FUAコマンドの最後のLBA(Logical Block Address)を基準として、再度、リオーダリング処理を実行して、実行順序の並べ替えを行う。これによって、より効率的なライト・コマンド実行処理を実現することができる。
図3及び図4は、取得したFUAコマンドの実行順序を、非FUAコマンドを取得した場合よりも高い優先度において決定する他の好ましい例を示している。本例において、FUAコマンドが互いに関連づけられた一連のコマンドに含まれる場合、その一連のコマンドをセットとして、最優先で実行順序を設定する。具体的には、HDD1は、シーケンシャルライトと呼ぶライト・オペレーションをサポートしている。
シーケンシャルライトは、キャッシュされているライト・コマンドの中で、そのLBA(ライト・データ書き込むLBA)が予め定められた範囲内にある場合、それらライト・コマンドに対応するライト・データを、1回の書き込み処理で磁気ディスク11へ書き込む。近接するライト・データの磁気ディスク11への書き込みを、1回の書き込み処理として実行することによって、書き込み処理のオーバーヘッドを低減し、書き込み時間の短縮を図ることができる。
まず、図3を参照して、シーケンシャルライトが実行されるライト・コマンドの関係について説明する。2つのライト・コマンドの間において、第1のライト・コマンドの最終LBと第2のライト・コマンドの先頭LABとの差が、基準値以下の場合にシーケンシャルライトが実行される。例えば、図3(a)に示すように、2つのライト・コマンドのLBAが連続している場合、HDD1はこれら2つのライト・コマンドのシーケンシャルライトを実行する。図3(a)の例において、第1のライト・コマンドWR1の先頭LBAが200h、その最終LBAは27Fhである。一方、第2のライト・コマンドWR2の先頭LBAが280h、その最終LBAは2FFhである。この場合、HDD1は、LBA200hから2FFhまでのセクタに、ライト・データを1回の書き込み処理で磁気ディスク11に書き込む。
あるいは、図3(b)に示すように、2つのライト・コマンドのLBAが重なっている場合に、HDD1はシーケンシャルライトを実行する。つまり、第2のライト・コマンドWR2の先頭LBAが、第1のライト・コマンドWR1のLBA領域(先頭LBAから最終LBAまでの間の領域)に含まれている場合である。図3(b)の例においては、第1のライト・コマンドWR1の先頭LBAが200h、その最終LBAは2BFhである。一方、第2のライト・コマンドWR2の先頭LBAが280h、その最終LBAは2FFhである。この場合、HDD1は、LABが重なっているアドレス部分(280h〜2BFh)において、古いデータ(第1ライト・コマンドのライト・データ)を消去するDiscard処理を実行した後、LBA200hから2FFhまでのライト・データを1回の書き込み処理で磁気ディスク11に書き込む。
あるいは、図3(c)に示すように、2つのライト・コマンドのLBAが連続していない、あるいは重なっていない場合であっても、その間隔が予め定められた基準値以下の場合には、HDD1はシーケンシャルライトを実行する。図3(c)の例において、第1のライト・コマンドWR1の先頭LBAが200h、その最終LBAは27Fhである。一方、第2のライト・コマンドWR2の先頭LBAが290h、その最終LBAは2FFhである。例えば、基準値が40hである場合、これら2つのライト・コマンドをシーケンシャルライトで一括に書き込む。この場合、HDD1は、LBA280hから28Fhまでは、磁気ディスク11にデータを書き込むことなくスキップする。
図4は、シーケンシャルライトをサポートするHDD1において、FUAコマンドをホスト51から受信した場合の実行順序決定処理を示している。本例において、HDD1は、取得したFUAコマンドとシーケンシャルライトを実行するライト・コマンドがキューされている場合、その一連のシーケンシャルライトを最優先として実行順序を決定する。
具体的には、図4(a)に示すように、HDD1は、5つのライト・コマンドWRを、WR1−WR2−WR3−WR4−WR5の順序で、ホスト51から取得している。続いて、図4(b)に示すように、ライト・コマンドのリオーダリングを実行して、実行順序をWR2−WR3−WR1−WR5−WR4の順に設定する。図4(c)に示すように、これらのライト・コマンドWRを実行する前に、HDD1はホスト51からFUAコマンドを受信する。すると、HDD1は、図4(d)に示すように、FUAコマンドとシーケンシャルライトの関係にあるライト・コマンドを探す。本例においては、ライト・コマンドWR3がFUAコマンドとシーケンシャルライトの関係にあるため、これらが関連付けられる。
さらに、図4(e)に示すように、FUAコマンド及びそれとシーケンシャルライトの関係にあるコマンド群が最優先として、その実行順序が最初に設定される。コマンド群の間においては、シーケンシャルライトの書き込み順序に従って順序決定される。本例においては、ライト・コマンドWR3のライト・データがFUAコマンドの前に書き込まれる。このように、FUAコマンドを受信した場合、それとシーケンシャルライトの関係にあるコマンド群をまとめて優先することによって、ホスト51対するコマンド完了通知遅延の抑制と、HDD1内における処理効率化を同時に図ることができる。なお、図2を参照して説明したように、互いに関連づけられたコマンド群を最優先で実行順序決定した後、これらの最終LBAを基準として、その後のライト・コマンドの実行順序を再設定することが好ましい。
図5は、取得したFUAコマンドの実行順序を、非FUAコマンドを取得した場合よりも高い優先度において決定する他の好ましい例を示している。本例において、ライト・データを一時的に記憶するライト・バッファとして、リング・バッファ方式を使用する。リング・バッファ方式は、ホストからのライト・データを、前のアドレスから後ろのアドレスに時系列的に格納していく。ライト・バッファをその終端位置まで使い切った時には、ライト・バッファの先端位置に戻る。このとき、先端位置に記憶されているライト・データがまだ磁気ディスク11に書き出されていない場合、ライト・バッファは新たなライト・データを格納することができないため、次のライト・データをホストから受信することができない。
このため、リング・バッファ方式においては、磁気ディスク11への書き出し未完了のデータの内、最古のライト・データを早く磁気ディスク11に書き出すことが好ましい。つまり、最も古い未実行コマンドを優先的に実行することが好ましい。本例において、HDD1は、FUAコマンドを、未実行の最古のライト・コマンドよりも後の順序で実行する。
具体的に説明する。図5(a)に示すように、HDD1は、ホストからWR1−WR2−WR3−WR4−WR5の順序で、ライト・コマンドを受信したとする。図5(b)は、RPOに従ってリオーダリングした場合の各コマンドの実行順序を示している。本例では、WR2−WR3−WR1−WR5−WR4の順に設定される。ここで、図5(c)に示すように、HDD1がホスト51からFUAコマンドを受信する。図2の例に従えば、FUAコマンドは、図5(d)に示すように、最初の実行順序に設定される。
しかし、上述のように、リング・バッファ方式のライト・バッファにおいては、最古のコマンドを優先して実行することがバッファの空き領域を確保することにつながる。そこで、本例において、図5(e)に示すように、最初にホスト51から取得したライト・コマンドWR1の実行順序を最初に設定する。さらに、FUAコマンドをライト・コマンドWR1の次の実行順序に設定する。これによって、リング・バッファ方式において空き領域を確保しつつ、FUAコマンドの実行遅延によるホスト51の待ち時間の増加を抑制することができる。なお、FUAコマンドの早期実行の点からは、FUAコマンド実行順序を2番目に設定することが好ましいが、FUAコマンドを優先する限り、これに限定されるものではない。
上述のように、ホスト51の待ち時間を短縮する観点からはFUAコマンドを優先的に実行することが好ましい。しかし、HDD1の処理制御においては、HDD1のスループットなど、他の特性を優先することが好ましい場合がある。従って、HDD1は、複数の異なる実行順序決定方法を備え、FUAコマンドを受信した場合、予め定められた基準に従って、複数の決定方法の中から最適な決定方法を選択することが好ましい。実行順序決定方法は、図2−4を参照して説明したように、FUAコマンドを最優先として実行順序を決定する決定方法など、FUAコマンドを受信した場合に非FUAコマンドよりも高い優先度で実行順序を決定する方法の他、FUAコマンドを考慮しないRPOなど、FUAコマンドを非FUAコマンドと区別することなく実行順序を決定する方法を含む。
例えば、HDD1は、図6(a)に示すよう、5つのライト・コマンドWRを、WR1−WR2−WR3−WR4−WR5の順序で、ホスト51から取得する。続いて、図6(b)に示すように、RPOなどのリオーダリングを実行して、実行順序をWR2−WR3−WR1−WR5−WR4の順に設定する。さらに、図6(c)に示すように、これらのライト・コマンドWRを実行する前に、HDD1はホスト51からFUAコマンドを受信する。
ここで、HDD1は、予め定められている条件に従って実行順序決定方法を選択する。例えば、図6(d)に示すように、HDD1は、FUAコマンドに係わりなく、RPOに従ってライト・コマンドの実行順序が決定される。図6(d)の例においては、FUAコマンドは6つのライト・コマンドの最後に設定されている。あるいは、図6(e)に示すように、FUAコマンドを優先してリオーダリングを実行する。図6(e)の例においては、新たに取得したFUAコマンドを最初の実行順序に設定している。
以下においては、FUAを優先するFUA優先決定方法と、FUAコマンドに係わらずHDD1のスループット優先で(書き込み効率優先で)リオーダリングする方法(スループット優先決定方法)の2つを備える例を説明する。HDD1が実行順序の決定方法を選択するいくつかの基準について説明を行う。
一つの好ましい例において、HDD1は、ライト・バッファの空き容量に基づいて実行順序決定方法を選択する。具体的には、ライト・バッファの空き容量が多い場合、HDD1はFUA優先決定方法を選択する。一方、少ない場合は、スループット優先決定方法を選択する。
図7のフロー・チャートを参照して、具体的に説明する。HDD1は、FUAコマンドを含まない複数の未実行ライト・コマンドを、スループット優先決定方法に従って、リオーダリングする(S11)。その後、HDD1は、FUAコマンドを取得すると(S12)、ライト・バッファの空き容量を計算し、その空き容量が予め定められた基準値未満であるかを判定する(S13)。基準値未満である場合、HDD1はFUAコマンドを優先することなく、HDD1のスループットを優先して、スループット優先決定方法を選択する(S14)。
一方、ライト・バッファの空き容量が基準値以上である場合、HDD1はFUAコマンドを優先してコマンド実行順序を決定する(S15)。つまり、HDD1はFUA優先決定方法を選択してライト・コマンドの実行順序を決定する。このように、FUAコマンドを取得した場合、ライト・バッファの空き容量に従って実行順序決定方法を変化させることによって、ライト・バッファの空きが十分にあるときには、早くホスト51とのインターフェースをレディにし、後続コマンドを受信するようにする。一方、ライト・バッファの空きに余裕がないときは、磁気ディスク11への書き込みを優先してライト・バッファが早く空くように処理することができる。
他の好ましい例において、HDD1は、既にキャッシュされているライト・コマンドのコマンド数(図6の例では5つ)に基づいて実行順序決定方法を選択する。具体的には、キャッシュ・されているライト・コマンド数が多い場合、HDD1はスループット優先決定方法を選択する。一方、少ない場合は、FUA優先決定方法を選択する。
図8のフロー・チャートを参照して、具体的に説明する。HDD1は、FUAコマンドを含まない複数の未実行ライト・コマンドを、スループット優先決定方法に従って、リオーダリングする(S21)。その後、HDD1は、FUAコマンドを所得すると(S22)、キャッシュされているライト・コマンド数を計算し、その数が予め定められた基準値未満であるかを判定する(S23)。図6の例においては、ライト・コマンド数は5である。ライト・コマンド数が基準値以上である場合、HDD1はFUAコマンドを優先することなく、HDD1のスループットを優先して、スループット優先決定方法を選択する(S24)。
一方、キャッシュされているライト・コマンド数が基準値未満である場合、HDD1はFUAコマンドを優先してコマンド実行順序を決定する(S25)。つまり、HDD1はFUA優先決定方法を選択してライト・コマンドの実行順序を決定する。このように、FUAコマンドを取得した場合、ライト・コマンド数に従って実行順序決定方法を変化させることによってライト・バッファにキャッシュしているライト・コマンドが少ないときは、早くインターフェースをレディにし、後続コマンドを受信するようにし、キャッシュしているライト・コマンドが多いときには、磁気ディスク11への書き込みを優先してライト・バッファが早く空くように処理する。
キャッシュされているライト・コマンド数の他に、キャッシュされているライト・コマンドに対応するライト・データのセクタ数に基づいて実行順序決定方法を選択することは、他の好ましい例である。セクタ数が多い場合、HDD1はスループット優先決定方法を選択する。一方、少ない場合は、FUA優先決定方法を選択する。HDD1は、FUAコマンドを取得すると、キャッシュされているライト・コマンドのデータ・セクタ数(ライト・データ量)を合計し、それが基準値以上であるか判定する。基準値以上である場合、HDD1はスループット優先決定方法を選択し、基準値未満である場合、FUA優先決定方法を選択する。なお、セクタ数の算出に、新たに取得したFUAコマンドのライト・データを含むことができる。このように、書き込むデータ・セクタ数に従って実行順序決定方法を変化させることによって、ライト・バッファにキャッシュしているライトデータが少ないときは、早くインターフェースをレディにして後続コマンドを受信するようにし、キャッシュしているライト・データが多いときには、磁気ディスク11の書き込みを優先してライト・バッファが早く空くように処理する。
あるいは、キャッシュされているライト・コマンドの実行時間に基づいて実行順序決定方法を選択することは、他の好ましい例である。実行時間が基準値より短い場合、HDD1はスループット優先決定方法を選択する。一方、実行時間が基準値より長い場合は、FUA優先決定方法を選択する。HDD1は、FUAコマンドを取得すると、スループット優先でリオーダリングしたのち、FUAの実行までに実行される各ライト・コマンドの実行時間を計算する。実行時間は、シーク時間、回転待ち時間、そして書き込み時間を含む。これらの実行時間を合計し、その値が基準値以上であるか判定する。基準値以上である場合、HDD1はFUA優先決定方式を選択し、基準値未満である場合、スループット優先決定方式を選択する。
なお、実行時間の計算において、シーク時間と書き込み時間に対して、エラーによるリトライ処理と実行時のバラツキを考慮した係数をかけることが好ましい。このように、書き込みの実行時間に従って実行順序決定方法を変化させることによってFUAコマンドの完了通知があまりにも遅くなることを防ぐことができる。つまり、メディアへの書き込みにおいて効率的な順序が選ばれたことにより、FUAコマンドの処理が後回しになると、場合によっては、FUAコマンドがタイムアウトになる可能性がある。実行時間を予測して、規定時間内にFUAコマンドの完了通知をすることで、FUAコマンドのタイムアウトを防ぐことができる。なお、FUAコマンドを取得したとき、FUAコマンドを含まず、キャッシュされているライト・コマンドの実行時間のみを使用して、実行時間の基準値に対する判定をしてもよい。
本形態においては、HDC/MPU23が上述のライト・キャッシュ制御を行う。そこで、HDC/MPU23のライト・キャッシュ制御処理の詳細について説明する。図9は、HDD1において、ライト・キャッシュ制御に関する構成を示すブロック図である。HDC/MPU23は、ハード・ウェア構成として、ホスト・インターフェース231、ドライブ・インターフェース232及びメモリ・マネージャ233を備えている。マイクロ・コードがMPU上で動作することによって、MPUは、ホスト・インターフェース・マネージャ234、コマンド実行マネージャ235及びキャッシュ・マネージャ236として機能することができる。メモリRAM24はコマンド及びデータを一時的に記憶し、ライト・バッファ241及びライト・キャッシュ・テーブル247として機能する。
ホスト・インターフェース231は、ホスト51との間における実際のデータ伝送処理を実行し、データ伝送部として機能する。ドライブ・インターフェース232は、磁気ディスク11との間(あるいはリード・ライト・チャネル21との間)における実際のデータ入出力処理を行う。メモリ・マネージャ233はRAM(メモリ)24のデータ記憶を制御し、HDC/MPU23内の他の機能ブロックとRAM24との間におけるコマンド及びユーザ・データ(ライト/リード・データ)の仲介処理を行う。
ホスト・インターフェース・マネージャ234はホスト・インターフェース231を管理するデータ伝送制御部として機能し、ホスト・インターフェース231との間において所定の通知あるいは命令の授受を行う。キャッシュ・マネージャ236は、キューされているライト・コマンドの再スケジューリングを実行し、適切なコマンド実行順序を決定する。コマンド実行マネージャ235は、キャッシュ・マネージャ236によって決定された順序に従って、コマンドの実行を制御する。さらに、ドライブ・インターフェース232を制御することによって、磁気ディスク11との間のデータ書き込み及びデータ読み出しを制御する。
図10は、ライト・キャッシュ・テーブル247の一例を示している。図10において、コマンド番号は、ライト・キャッシュ・テーブル247における各コマンドの識別子である。コマンド・タイプは、各ライト・コマンドがFUAコマンドであるか否かを示す。データ長は、ライト・コマンドに対応するライト・データのデータ長、バッファ内開始位置はライト・バッファ内におけるライト・データの記憶開始位置である。磁気ディスクへの書き込み順序は、各ライト・データの磁気ディスク11への書き出し順序であり、図の例では、Wr1から順に磁気ディスク11に書き出される。
ライト・コマンドのリオーダリング処理の動作について説明する。ホスト51からライト・コマンド及びライト・データをホスト・インターフェース231が受信すると、メモリ・マネージャ233は、ライト・バッファ241にライト・データを格納する。キャッシュ・マネージャ236は、ライト・コマンドをライト・キャッシュ・テーブル247に記録する。つまり、ホスト・インターフェース231は、ホスト・インターフェース・マネージャ234、を介して、キャッシュ・マネージャ236にライト・コマンドの受信、そのコマンド・タイプ、LBA(Logical Block Address)、データ長を通知する。
キャッシュ・マネージャ236は、ライト・コマンドを受信すると、ライト・キャッシュ・テーブル247の空いているレコードの各エントリに、ライト・コマンドに関するデータを記録する。ライト・キャッシュ・テーブル247への登録タイミングにおいて、このライト・コマンドの実行順序は、例えば、最後の順序とすることができる。
受信したライト・コマンドが非FUAコマンドの場合、キャッシュ・マネージャ236は、ホスト・インターフェース・マネージャ234に、コマンド完了通知をホスト51に返すように要求する。ホスト・インターフェース・マネージャ234は、ホスト・インターフェース231を介して、ホスト51にコマンド完了通知を返す。さらに、キャッシュ・マネージャ236は、各ライト・コマンドの実行順序、つまり、ライト・データの磁気ディスク11への書き出し順序のリオーダリングを実行する。このとき、キャッシュ・マネージャ236は、上述の実行順序決定方法に従って実行順序を決定する。
一方、受信したライト・コマンドがFUAコマンドの場合、コマンド完了通知をホスト51に返すことなく、キャッシュ・マネージャ236は、各ライト・コマンドの実行順序を決定する。この際、キャッシュ・マネージャ236は、上述のように、所定の条件に依存する実行順序決定方法に従って、ライト・コマンドのリオーダリングを実行する。
その後、キャッシュ・マネージャ236は、コマンド実行マネージャ235に実行すべきライト・コマンドを通知する。コマンド実行マネージャ235は、ドライブ・インターフェース232に、実行ライト・コマンドのライト・データを磁気ディスク11に書き込むことを指示する。ドライブ・インターフェース232は、メモリ・マネージャ233を介して、ライト・バッファ241からライト・データを取得し、磁気ディスク11に書き込むためにそのライト・データを転送する。
磁気ディスク11への書き込みが完了すると、ドライブ・インターフェース232からコマンド実行マネージャ235に、書き込みが完了したことが通知される。FUAコマンドの実行が完了した場合、コマンド実行マネージャ235は、ホスト・インターフェース・マネージャ234に、FUAコマンドの完了通知をホスト51に送信することを要求する。ホスト・インターフェース・マネージャ234は、その要求に応答して、ホスト51にFUAコマンドの完了通知を返す。
尚、上記の説明は、本発明の実施形態を説明するものであり、本発明が上記の実施形態に限定されるものではない。当業者であれば、上記の実施形態の各要素を、本発明の範囲において容易に変更、追加、変換することが可能である。例えば、本形態のライト・バッファ制御を、磁気ディスク以外のメディアを利用するデータ記憶装置に適用することができる。
10 エンクロージャ、11 磁気ディスク、12 ヘッド素子部、
13 アーム・エレクトロニクス、14 スピンドル・モータ、
15 ボイス・コイル・モータ、16 アクチュエータ、20 回路基板
21 リード・ライト・チャネル、22 モータ・ドライバ・ユニット、51 ホスト
231 ホスト・インターフェース、232 ドライブ・インターフェース、
233 メモリ・マネージャ、234 ホスト・インターフェース・マネージャ
235 コマンド実行マネージャ、236 キャッシュ・マネージャ

Claims (9)

  1. メディアに書き込むべきライト・データを一時的に記憶するライト・バッファと、
    前記メディアに書き込むべきライト・データのそれぞれと対応するライト・コマンドに関する情報を登録するテーブルと、
    前記テーブルに登録されているライト・コマンドの実行順序を決定するキャッシュ・マネージャと、
    を備え、
    前記キャッシュ・マネージャは、前記メディアへの書き込み完了後にコマンド完了通知をホストへ送信するメディア書き込み強制コマンドを取得した場合、非メディア書き込み強制コマンドを取得した場合よりも高い優先度においてその実行順序を決定し、
    前記ライト・バッファはリング・バッファ方式のバッファであり、
    前記キャッシュ・マネージャは、予め定められた基準に基づいて、
    前記基準を満たす場合は、前記メディア書き込み強制コマンド、もしくは、前記メディア書き込み強制コマンドを含み互いに関連付けられた一連のライト・コマンドの実行順序を、最初の実行順序に設定し、
    前記基準を満たさない場合は、キャッシュされているライト・コマンドの中で、最古のライト・コマンドを最初の実行順序に設定し、前記メディア書き込み強制コマンド、もしくは、前記メディア書き込み強制コマンドを含み互いに関連付けられた一連のライト・コマンドの実行順序を前記最古のライト・コマンドの後の実行順序に設定する、
    ハードディスクドライブ。
  2. 請求項1に記載のハードディスクドライブであって、
    前記メディア書き込み強制コマンド、もしくは、前記メディア書き込み強制コマンドを含み互いに関連付けられた一連のライト・コマンドの後に実行されるライト・コマンドをリオーダリングすることを特徴とするハードディスクドライブ。
  3. 請求項2に記載のハードディスクドライブであって、
    前記リオーダリングは、RPO(Rotational Positioning Optimization)アルゴリズムにより並べ替えることを特徴とするハードディスクドライブ。
  4. 請求項2に記載のハードディスクドライブであって、
    前記基準は予め定められた前記ライト・バッファに格納されたコマンドの数であることを特徴とするハードディスクドライブ。
  5. 請求項4に記載のハードディスクドライブであって、
    前記格納されたコマンドの数は、ライト・コマンドの数であることを特徴とするハードディスクドライブ。
  6. 請求項2に記載のハードディスクドライブであって、
    前記基準は予め定められた前記ライト・バッファに格納されているライト・コマンドに対応するデータ・セクタ数であることを特徴とするハードディスクドライブ。
  7. 請求項2に記載のハードディスクドライブであって、
    前記基準は予め定められた前記ライト・バッファに格納されているライト・コマンドの実行時間であることを特徴とするハードディスクドライブ。
  8. 請求項7に記載のハードディスクドライブであって、
    前記ライト・コマンドの実行時間はエラーによるリトライ処理と実行時のばらつきに関する係数を乗じた実行時間であることを特徴とするハードディスクドライブ。
  9. 請求項2に記載のハードディスクドライブであって、
    前記基準は予め定められた前記ライト・バッファの空き容量であることを特徴とするハードディスクドライブ。
JP2011220592A 2011-10-05 2011-10-05 ハードディスクドライブ Pending JP2012038330A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011220592A JP2012038330A (ja) 2011-10-05 2011-10-05 ハードディスクドライブ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011220592A JP2012038330A (ja) 2011-10-05 2011-10-05 ハードディスクドライブ

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2005063282A Division JP5030387B2 (ja) 2005-03-08 2005-03-08 データ記憶装置

Publications (1)

Publication Number Publication Date
JP2012038330A true JP2012038330A (ja) 2012-02-23

Family

ID=45850187

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011220592A Pending JP2012038330A (ja) 2011-10-05 2011-10-05 ハードディスクドライブ

Country Status (1)

Country Link
JP (1) JP2012038330A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017056208A1 (ja) * 2015-09-30 2017-04-06 株式会社日立製作所 リクエスト実行順序制御方式

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05257810A (ja) * 1992-03-16 1993-10-08 Matsushita Electric Ind Co Ltd 情報記録再生装置および情報記録方法
JP2000056932A (ja) * 1998-08-10 2000-02-25 Matsushita Electric Ind Co Ltd ディスク制御装置
JP2001067297A (ja) * 1999-07-26 2001-03-16 Internatl Business Mach Corp <Ibm> ディスク・ドライブへコマンドを出すかどうかを決定する方法及びディスク・コントローラ
JP2003122631A (ja) * 2001-10-12 2003-04-25 Internatl Business Mach Corp <Ibm> データ記憶装置、コンピュータ装置、データ処理装置およびデータ処理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05257810A (ja) * 1992-03-16 1993-10-08 Matsushita Electric Ind Co Ltd 情報記録再生装置および情報記録方法
JP2000056932A (ja) * 1998-08-10 2000-02-25 Matsushita Electric Ind Co Ltd ディスク制御装置
JP2001067297A (ja) * 1999-07-26 2001-03-16 Internatl Business Mach Corp <Ibm> ディスク・ドライブへコマンドを出すかどうかを決定する方法及びディスク・コントローラ
JP2003122631A (ja) * 2001-10-12 2003-04-25 Internatl Business Mach Corp <Ibm> データ記憶装置、コンピュータ装置、データ処理装置およびデータ処理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017056208A1 (ja) * 2015-09-30 2017-04-06 株式会社日立製作所 リクエスト実行順序制御方式

Similar Documents

Publication Publication Date Title
US7320050B2 (en) Data transmission control method and storage device
US7373460B2 (en) Media drive and command execution method thereof
US7664884B2 (en) Media drive that creates a transfer unnecessary period, and power saving method thereof
US7631117B2 (en) Method for communicating between host and storage device, storage device, host, and system comprising storage device and host
EP1610214A2 (en) Storage device circuit with SATA interface and remote buffering
US10614852B2 (en) Data-center drive with split-actuator that increases read/write performance via data striping
US20100079904A1 (en) Storage control method, storage control unit and storage apparatus
US7225293B2 (en) Method, system, and program for executing input/output requests
JP4991605B2 (ja) データ記憶装置およびその制御方法
JP3823040B2 (ja) データ記憶装置、データ処理装置、書き込み要求の実行順序を最適化する方法、データ処理方法およびハード・ディスク・ドライブ
US7451261B2 (en) Data storage device and control method with buffer control thereof
JP4630933B2 (ja) ディスクコントローラ、ディスクドライブ装置、及びディスク制御方法
JPWO2003071534A1 (ja) データ・アクセス制御装置及びデータ・アクセス制御方法、コントローラ、並びにコンピュータ・プログラム
JP5030387B2 (ja) データ記憶装置
US8117491B2 (en) Disk-drive device and method for error recovery thereof
US6567886B1 (en) Disk drive apparatus and control method thereof
US20060129716A1 (en) Data storage device and buffer control method thereof
US20040015878A1 (en) Reordering controller, reordering method and storage apparatus
US10418053B1 (en) Disk-drive with efficient command-reordering
US8320066B2 (en) Storage device and read/write processing method therefor
JP2010282422A (ja) データ記憶装置及びデータ転送制御方法
JP2012038330A (ja) ハードディスクドライブ
JPWO2008129616A1 (ja) 記憶装置、記憶装置の制御装置、記憶装置の制御方法
JP2007094995A (ja) ディスク記憶装置及びディスク記憶装置のキャッシュ制御方法
JP2008021351A (ja) メディア上のセクタをリアサインする方法及びデータ記憶装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120710

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130205