(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023129930
(43)【公開日】2023-09-20
(54)【発明の名称】磁気ディスク装置
(51)【国際特許分類】
G11B 20/10 20060101AFI20230912BHJP
G11B 5/09 20060101ALI20230912BHJP
G11B 20/18 20060101ALI20230912BHJP
G06F 3/06 20060101ALI20230912BHJP
【FI】
G11B20/10 C
G11B20/10 301Z
G11B5/09 311C
G11B5/09 361
G11B20/18 520A
G11B20/18 512A
G11B20/18 572F
G11B20/18 572B
G11B20/18 576C
G06F3/06 301K
G06F3/06 306K
G06F3/06 306B
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2022034296
(22)【出願日】2022-03-07
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(71)【出願人】
【識別番号】317011920
【氏名又は名称】東芝デバイス&ストレージ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】増山 秀和
(72)【発明者】
【氏名】吉田 紀
【テーマコード(参考)】
5D044
【Fターム(参考)】
5D044BC01
5D044CC04
5D044DE03
5D044DE37
5D044DE38
5D044DE48
5D044DE49
5D044DE62
5D044DE68
5D044DE96
5D044GK19
(57)【要約】
【課題】適切にシステム領域を設定できる磁気ディスク装置を提供すること。
【解決手段】磁気ディスク装置が有するメモリには、第1設定情報と、第2設定情報と、が格納される。第1設定情報は、磁気ディスクが有する複数の第1トラックのうちの欠陥検査に基づき不使用とされた第1トラックである第2トラックを示す。第2設定情報は、第2トラックと異なる1以上の第1トラックのうちから選択された第3トラックを示す。アクセス先がユーザ領域である場合、コントローラは、第2トラックおよび第3トラックをスリップさせながら、論理アドレス情報を物理アドレス情報に変換する。アクセス先がシステム領域である場合、コントローラは、複数の第1トラックのうちの第3トラック以外の全ての第1トラックをスリップさせながら、論理アドレス情報を物理アドレス情報に変換する。
【選択図】
図12
【特許請求の範囲】
【請求項1】
複数の第1トラックを有する磁気ディスクと、
磁気ヘッドと、
前記複数の第1トラックのうちの欠陥検査に基づき不使用とされた第1トラックである第2トラックを示す第1設定情報と、前記複数の第1トラックのうちの前記第2トラックと異なる1以上の第1トラックのうちから選択された第3トラックを示す第2設定情報と、が格納されるメモリと、
アクセス先がユーザ領域である場合、前記第1設定情報および前記第2設定情報に基づいて前記第2トラックおよび前記第3トラックをスリップさせながら、論理アドレス空間内の前記アクセス先を示す第1アドレス情報を前記磁気ディスク上の位置を示す第2アドレス情報に変換して、前記第2アドレス情報が示す位置に前記磁気ヘッドを移動させて前記磁気ディスクにアクセスし、
アクセス先がシステム領域である場合、前記第2設定情報に基づいて前記複数の第1トラックのうちの前記第3トラック以外の全ての第1トラックをスリップさせながら、論理アドレス空間内の前記アクセス先を示す第3アドレス情報を前記磁気ディスク上の位置を示す第4アドレス情報に変換して、前記第4アドレス情報が示す位置に前記磁気ヘッドを移動させて前記磁気ディスクにアクセスする、
コントローラと、
を備える磁気ディスク装置。
【請求項2】
前記コントローラは、エラーが発生した場合、前記システム領域に前記エラーに関するログをライトするアクセスを実行する、
請求項1に記載の磁気ディスク装置。
【請求項3】
前記複数の第1トラックは前記第3トラックと異なる第4トラックを有し、
前記メモリは、第3設定情報がさらに格納され、
前記コントローラは、
前記第3トラックに使用が困難な第1領域が生じた場合、前記第3トラック内の前記第1領域を示す第5アドレス情報を、前記第4トラック内の第2領域を示す第6アドレス情報と対応付けて前記第3設定情報に記録し、
前記第4アドレス情報が前記第5アドレス情報に該当する場合、前記第6アドレス情報が示す前記第2領域に前記磁気ヘッドを移動させて前記磁気ディスクにアクセスする、
請求項1または請求項2に記載の磁気ディスク装置。
【請求項4】
磁気ディスクと、
磁気ヘッドと、
前記磁気ヘッドを用いて前記磁気ディスクへのアクセスを制御するコントローラと、
を備え、
前記磁気ディスクは、ユーザ領域と、径方向に離間した複数のシステム領域と、を有する、
磁気ディスク装置。
【請求項5】
前記複数のシステム領域は、前記磁気ディスクの記録面のうちの欠陥検査に合格した領域内に設定されている、
請求項4に記載の磁気ディスク装置。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態は、磁気ディスク装置に関する。
【背景技術】
【0002】
従来の磁気ディスク装置においては、磁気ディスクの外周側の所定数のトラックがシステム領域として設定されることがある。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の磁気ディスク装置には、システム領域の設定に関して改良の余地がある。
【0005】
一つの実施形態は、適切にシステム領域を設定できる磁気ディスク装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
一つの実施形態によれば、磁気ディスク装置は、磁気ディスクと、磁気ヘッドと、メモリと、コントローラと、を備える。磁気ディスクは複数の第1トラックを有する。メモリは、第1設定情報と、第2設定情報と、が格納される。第1設定情報は、複数の第1トラックのうちの欠陥検査に基づき不使用とされた第1トラックである第2トラックを示す。第2設定情報は、複数の第1トラックのうちの第2トラックと異なる1以上の第1トラックのうちから選択された第3トラックを示す。アクセス先がユーザ領域である場合、コントローラは、第1設定情報および第2設定情報に基づいて第2トラックおよび第3トラックをスリップさせながら、論理アドレス空間内のアクセス先を示す第1アドレス情報を磁気ディスク上の位置を示す第2アドレス情報に変換して、第2アドレス情報が示す位置に磁気ヘッドを移動させて磁気ディスクにアクセスする。アクセス先がシステム領域である場合、コントローラは、第2設定情報に基づいて複数の第1トラックのうちの第3トラック以外の全ての第1トラックをスリップさせながら、論理アドレス空間内のアクセス先を示す第3アドレス情報を磁気ディスク上の位置を示す第4アドレス情報に変換して、第4アドレス情報が示す位置に磁気ヘッドを移動させて磁気ディスクにアクセスする。
【図面の簡単な説明】
【0007】
【
図1】
図1は、実施形態の磁気ディスク装置の構成の一例を示す図である。
【
図2】
図2は、実施形態の磁気ディスク装置が有する論理アドレス空間を説明するための模式的な図である。
【
図3】
図3は、実施形態の各磁気ディスクの構成の一例を示す図である。
【
図4】
図4は、実施形態の磁気ディスクの各記録面に設定された各種領域を説明するための図である。
【
図5】
図5は、実施形態のトラックスリップ領域情報のデータ構造の一例を示す図である。
【
図6】
図6は、実施形態の磁気ディスク装置のトラックフォーマットの一例を示す図である。
【
図7】
図7は、アクセス先はユーザ領域である場合の実施形態のトラックスリップ領域情報の使用方法を説明するための図である。
【
図8】
図8は、アクセス先はシステム領域である場合の実施形態のトラックスリップ領域情報の使用方法を説明するための図である。
【
図9】
図9は、トラックスリップ領域情報を設定する実施形態の磁気ディスク装置の動作の一例を示す図である。
【
図10】
図10は、実施形態の磁気ディスク装置の、ホストからのアクセスコマンドに応じた動作の一例を示すフローチャートである。
【
図11】
図11は、実施形態の磁気ディスク装置の、システム領域にアクセスする動作の一例を示すフローチャートである。
【
図12】
図12は、実施形態の磁気ディスク装置の、LBAをCHSに変換する動作の一例を示すフローチャートである。
【
図13】
図13は、実施形態の磁気ディスク装置が実行する交代処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0008】
以下に添付図面を参照して、実施形態の磁気ディスク装置を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
【0009】
(実施形態)
図1は、実施形態の磁気ディスク装置1の構成の一例を示す図である。磁気ディスク装置1は、ホスト2に接続可能である。磁気ディスク装置1とホスト2との間の通信路の規格は、特定の規格に限定されない。一例では、SAS(Serial Attached SCSI)が磁気ディスク装置1とホスト2との間の通信路の規格として採用される。
【0010】
ホスト2は、例えばプロセッサ、パーソナルコンピュータ、またはサーバなどが該当する。磁気ディスク装置1は、ホスト2からアクセスコマンドを受信可能である。アクセスコマンドは、リードコマンドおよびライトコマンドを含む。
【0011】
磁気ディスク装置1は、1以上の磁気ディスク101を備える。ここでは一例として、磁気ディスク装置1は、2枚の磁気ディスク101を備える。2枚の磁気ディスク101は、不図示のスピンドルモータによって回転軸103を中心に一体的に回転せしめられる。
【0012】
それぞれの磁気ディスク101のおもて面および裏面には、データの記録が可能な記録面が形成されている。つまり、2枚の磁気ディスク101は、4つの記録面を有する。4つの記録面のそれぞれにアクセスするために、磁気ディスク装置1は、4つの記録面に対応する4つの磁気ヘッド102を備える。
【0013】
磁気ディスク装置1は、2つのアクチュエータアーム104を備える。2つのアクチュエータアーム104のうちの1つは、2枚の磁気ディスク101のうちの1枚のおもて面および裏面のそれぞれに対向するよう、2個の磁気ヘッド102を支持する。2つのアクチュエータアーム104のうちの他の1つは、2枚の磁気ディスク101のうちの他の1枚のおもて面および裏面のそれぞれに対向するよう、残りの2個の磁気ヘッド102を支持する。
【0014】
各磁気ヘッド102は、自身に対向する記録面に対し、アクセス、つまりデータのライトおよびデータのリード、を実行する。各磁気ヘッド102は、それに備わるライト素子を用いてデータのライトを行う。各磁気ヘッド102は、それに備わるリード素子を用いてデータのリードを行う。
【0015】
回転軸106は、回転軸103から離間した位置に設けられている。2つのアクチュエータアーム104は、ボイスコイルモータ105によって回転軸106を中心に所定範囲内で回転せしめられる。これによって、4個の磁気ヘッド102は、各記録面に対し径方向に相対移動される。
【0016】
なお、磁気ディスク装置1は、複数のボイスコイルモータ105と複数のアクチュエータアーム104とを備え、複数のアクチュエータアーム104のそれぞれは、複数のボイスコイルモータ105によってそれぞれ個別に制御可能に構成されてもよい。
【0017】
磁気ディスク装置1は、さらに、コントローラ20を備える。コントローラ20は、磁気ディスク装置1の筐体(不図示)に外部接続のために設けられている接続ピン等のインタフェースを介してホスト2と通信する。コントローラ20は、ホスト2からのコマンドなどに応じて磁気ディスク装置1の各部を制御する。前述されたように、ホスト2からのコマンドは、ライトを要求するライトコマンド、およびリードを要求するリードコマンドを含む。
【0018】
コントローラ20は、プリアンプ(Pre Amp)21、RDC(Read Write Channel)22、HDC(Hard Disk Controller)23、DSP(Digital Signal Processor)24、MPU(Micro Processing Unit)25、FROM(Flash Read Only Memory)26、およびRAM27を有する。FROM26およびRAM27は、実施形態のメモリの一例である。
【0019】
プリアンプ21は、各磁気ヘッド102のリード素子によって対応する記録面からリードされた信号を増幅してRDC22に供給する。また、プリアンプ21は、RDC22から供給された信号を増幅して、ライト先の記録面に対向する磁気ヘッド102に供給する。
【0020】
RDC22は、ライト対象のデータを符号化して、符号化後のライト対象のデータをプリアンプ21に供給する。また、RDC22は、記録面からリードされプリアンプ21から供給された信号を復号化する。RDC22は、復号化後の信号をデジタルデータとしてHDC23へ出力する。
【0021】
DSP24は、スピンドルモータおよびボイスコイルモータ105を制御することによって、シークおよびフォローイングなどの、各磁気ヘッド102の位置決め制御を行う。
【0022】
RAM27は、MPU25がワークメモリとして使用する領域を有する。例えば、RAM27には、ファームウェアプログラムおよび管理情報などがロードされ、MPU25は、RAM27にロードされたこれらの情報に基づいて磁気ディスク装置1の制御を実行する。
【0023】
RAM27は、さらに、ホスト2と各磁気ディスク101との間で転送されるデータなどが一時的に格納されるバッファメモリとしても機能し得る。例えば、ホスト2から受信されたデータは、RAM27を経由して何れかの磁気ディスク101にライトされる。また、2枚の磁気ディスク101からリードされたデータは、RAM27を経由してホスト2に出力される。
【0024】
RAM27は、例えば、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)、またはこれらの組み合わせによって構成され得る。
【0025】
HDC23は、ホスト2との通信を実行する。HDC23は、RDC22から受信したデータをRAM27に格納する。そして、HDC23は、RAM27に格納された、RDC22からのデータを、ホスト2へ転送する。
【0026】
また、HDC23は、ホスト2からライトコマンドとともに受信したデータをRAM27に格納する。そして、HDC23は、RAM27に格納された、ホスト2からのデータを、RDC22へ出力する。
【0027】
FROM26には、ファームウェアプログラムおよび管理情報が格納される不揮発性メモリである。
【0028】
実施形態では、管理情報として、トラックスリップ領域情報261および交代情報262とがFROM26に格納される。これらの情報の詳細については後述される。
【0029】
MPU25は、ファームウェアプログラムを実行するプロセッサである。MPU25は、磁気ディスク装置1に起動時に、ファームウェアプログラムおよび管理情報をFROM26からRAM27にロードする。そして、MPU25は、RAM27にロードされたこれらの情報に基づいて磁気ディスク装置1の制御を実行する。磁気ディスク装置1のシャットダウン時には、RAM27内の管理情報をFROM26にセーブすることによって、RAM27上で使用した管理情報を不揮発化する。
【0030】
なお、ファームウェアプログラムの一部または全部は、磁気ディスク101に格納されてもよい。
【0031】
ホスト2は、アクセスコマンドを用いて磁気ディスク装置1に対してデータのライトおよびデータのリードを指示する。これらのアクセスコマンドは、論理アドレス情報を含む。磁気ディスク装置1は、ホスト2に対して論理アドレス空間を提供し、ホスト2は、当該論理アドレス空間内の位置を論理アドレス情報を用いて指定する。
【0032】
図2は、実施形態の磁気ディスク装置1が有する論理アドレス空間を説明するための模式的な図である。
【0033】
図2に示されるように、磁気ディスク装置1は、論理アドレス空間200によって自身が有する記憶領域を管理する。論理アドレス空間200は、ユーザ領域にマッピングされた第1論理アドレス空間210と、システム領域にマッピングされた第2論理アドレス空間220と、を有する。
【0034】
ユーザ領域は、ホスト2からのデータ、つまりユーザデータ、が格納される領域である。システム領域は、磁気ディスク装置1が自身の制御のために使用されるデータ、つまりシステムデータ、が格納される領域である。システムデータは、例えば、ログを含む。
【0035】
磁気ディスク装置1は、第1論理アドレス空間210をホスト2に提供する。コントローラ20は、ホスト2からアクセスコマンドを受信した場合、当該アクセスコマンドに含まれる論理アドレス情報は第1論理アドレス空間210内の位置を示すものと解釈して当該アクセスコマンドを処理する。
【0036】
また、コントローラ20は、システム領域にアクセスする必要が生じた場合、第2論理アドレス空間220内の位置を示す論理アドレス情報を特定する。そして、コントローラ20は、特定された論理アドレス情報は第2論理アドレス空間220内の位置を示すものと解釈して、特定された論理アドレス情報に対応付けられた位置にアクセスを行う。
【0037】
なお、第1論理アドレス空間210の論理アドレス情報の数値範囲と、第2論理アドレス空間220の論理アドレス情報の数値範囲とは、重複していてもよいし、重複していなくてもよい。ただし、コントローラ20は、論理アドレス情報を解釈する際には、当該論理アドレス情報が、第1論理アドレス空間210内の位置を示すか、または第2論理アドレス空間220内の位置を示すか、を特定できることとする。
【0038】
例えば、コントローラ20は、アクセスコマンドに含まれる論理アドレス情報は、第1論理アドレス空間210内の位置を示すと解釈する。また、コントローラ20は、システムデータのライト/リードのために特定された論理アドレス情報は、第2論理アドレス空間220内の位置を示すと解釈する。
【0039】
論理アドレス情報は、例えばLBA(Logical Block Address)である。以降では、論理アドレス情報はLBAであることとして説明する。
【0040】
図3は、実施形態の各磁気ディスク101の構成の一例を示す図である。
【0041】
各磁気ディスク101の両面には磁性層が設けられ、当該磁性層によって記録面が構成される。各記録面には、出荷前にサーボライタまたはセルフサーボライトなどによりサーボ情報がライトされる。サーボ情報は、例えばバーストパターンである。
図3には、サーボ情報がライトされたサーボゾーンの配置の一例として放射状に配置されたサーボゾーン101aが示されている。磁気ディスク101の径方向には同心円の複数のトラック101bが所定のピッチで設けられる。各トラック101bの周回上には、データが記録される多数のセクタが連続的に形成されている。
【0042】
各セクタの物理的な位置は、例えば、CHS(Cylinder/Head/Sector)方式のアドレス情報で特定される。各セクタの物理的な位置を示すアドレス情報、つまり物理アドレス情報は、以降では、CHSと表記される。
【0043】
コントローラ20は、各記録面に複数種類の領域を設定して、各種領域を使い分ける。
図4は、実施形態の磁気ディスク101の各記録面に設定された各種領域を説明するための図である。
【0044】
複数のトラック101bが設けられた領域120のうちの、最内周側の1以上のトラック101bは、スペア領域121に設定される。動作中に、つまりエンドユーザが磁気ディスク装置1を使用中に、新たな欠陥の発生などによって使用が困難になったセクタが生じた場合、使用が困難になったセクタの替わりにスペア領域121内のセクタが使用される。セクタの使用が困難になるとは、当該セクタにライトされたデータのリードが困難であることをいう。このような、使用が困難になったセクタの替わりにスペア領域121内のセクタを使用する処理は、交代処理と表記される。また、スペア領域121内の各セクタは、スペアセクタと表記される。
【0045】
図1に示された交代情報262は、例えば、使用が困難になったセクタを示すCHSと、当該使用が困難になったセクタの替わりに使用されるスペアセクタを示すCHSと、の対のリストである。コントローラ20は、アクセス先のセクタを示すCHSを取得し、そして当該CHSにかかる対が交代情報262に記録されている場合には、交代情報262によって対応付けられているCHSが示すスペアセクタにアクセス先を変更する。なお、交代情報262は、実施形態の第3設定情報の一例である。
【0046】
交代処理の最小単位はセクタでなくてもよい。例えば、複数セクタの単位で交代処理が行われてもよい。以降では、交代処理はセクタ単位で実行されることとして説明する。
【0047】
スペア領域121の位置は、必ずしも記録面の最内周側に限定されない。任意の位置の1以上のトラック101bがスペア領域121として固定的に設定される。
【0048】
図4に説明を戻す。
領域120には、径方向に離間した複数のシステム領域122が設けられる。各システム領域122は、1以上のトラック101bによって構成される。
図4に示される例では、2つのシステム領域122-1,122-2が領域120に設けられている。
【0049】
磁気ディスク装置1の製造時には、欠陥検査が実行される。製造時の欠陥検査で特定された欠陥は、プライマリ欠陥と称される。製造時の欠陥検査の結果に基づき、いくつかのトラック101bは使用不可に設定され得る。使用不可の判定基準は任意である。一例では、リードが困難なセクタが1つでも含まれるトラック101bが使用不可に設定され、リードが困難なセクタを1つも含まないトラック101bは使用不可に設定されない。各システム領域122は、使用不可に設定されたトラック101bを除くトラック101bから選択された1以上のトラック101bによって構成される。つまり、各システム領域122は、製造時の欠陥検査を合格した1以上のトラック101bによって構成される。
【0050】
各システム領域122が設定される径方向の位置は、全ての記録面で共通していてもよいし、記録面毎に異なっていてもよい。各システム領域122は、製造時の欠陥検査の結果をうけて設定されるので、各システム領域122が設定される径方向の位置は、記録面毎に異なり得る。
【0051】
なお、前述されたように、運用中にシステム領域122に新規の欠陥の発生などによって使用が困難になったセクタが発生した場合、その使用が困難になったセクタの替わりにスペアセクタが使用される。このような、運用中に生じる欠陥は、セカンダリ欠陥、または後発欠陥などと称される。
【0052】
領域120のうちのスペア領域121およびシステム領域122を除いた符号123が付された領域は、ユーザ領域123である。ユーザ領域123に、セカンダリ欠陥の発生などによって使用が困難になったセクタが生じた場合、システム領域122の場合と同様、当該使用が困難になったセクタの替わりにスペアセクタが使用される。
【0053】
なお、
図4に示される例では、径方向に離間した2つのシステム領域122が設けられた。1つの記録面に1つのシステム領域122が設けられてもよい。
【0054】
ユーザ領域123には、第1論理アドレス空間210がマッピングされ、システム領域122には第2論理アドレス空間220がマッピングされる。マッピングは、トラックスリップ領域情報261を使用して管理される。
【0055】
各記録面に設定された各トラック101bには、トラック番号が与えられる。そして、LBAの群は、トラック番号順に配列したセクタ群にリニアに対応付けられる。ただし、トラックスリップ領域情報261に基づき、いくつかのトラック101bは、対応付けの際にスリップされ得る。スリップとは、LBAの対応付けの対象外とされることである。つまり、LBAの群がトラック番号順に配列したセクタ群に対応付けられる際には、いくつかのトラック101bに含まれるセクタ群をスキップして対応付けられる。トラックスリップ領域情報261は、LBAの対応付けの対象外とされたトラック101bを特定するための情報である。
【0056】
図5は、実施形態のトラックスリップ領域情報261のデータ構造の一例を示す図である。
【0057】
図5に示されるように、実施形態によれば、トラックスリップ領域情報261は、第1設定情報261-1と、第2設定情報261-2と、を含む。
【0058】
第1設定情報261-1は、製造時の欠陥検査によって不使用に設定されたトラック101bを示す情報である。
図5によれば、第1設定情報261-1は、一例として、スリップトラック番号とスリップ数とが記録されたデータ構造を有する。トラック番号が連続する1以上のトラック101bが使用不可である場合、当該1以上のトラック101bのトラック番号のうちの最も小さいトラック番号がスリップトラック番号として記録され、当該1以上のトラック101bに含まれるトラック101bの数がスリップ数として記録される。
【0059】
第2設定情報261-2は、システム領域122を構成する全トラック101bを示す情報である。第2設定情報261-2は、例えば、第1設定情報261-1と同様のデータ構造を有する。即ち、トラック番号が連続する1以上のトラック101bがシステム領域122に設定された場合、当該1以上のトラック101bのトラック番号のうちの最も小さいトラック番号がスリップトラック番号として記録され、当該1以上のトラック101bに含まれるトラック101bの数がスリップ数として記録される。
【0060】
よって、
図4に示された例に従えば、システム領域122-1を構成する1以上のトラック101bのトラック番号のうちの最も小さいトラック番号がスリップトラック番号として記録され、システム領域122-1を構成するトラック101bの数がスリップ数として記録される。さらに、システム領域122-2を構成する1以上のトラック101bのトラック番号のうちの最も小さいトラック番号がスリップトラック番号として記録され、システム領域122-2を構成するトラック101bの数がスリップ数として記録される。
【0061】
このように、実施形態のトラックスリップ領域情報261は、製造時の欠陥検査の結果によって使用不可にされたトラック101bと、システム領域122に設定されたトラック101bと、を含む。つまり、実施形態のトラックスリップ領域情報261は、2種類の属性のトラック101bを示すと考えることができる。2種類の属性のうちの一は、製造時の欠陥検査の結果に基づいて使用不可にされたトラック101bであり、2種類の属性のうちの他は、システム領域122に設定されたトラック101bである。
【0062】
図6~
図8を用いて、トラックスリップ領域情報261の使用方法を説明する。なお、
図6~
図8を用いた説明は、
図5に示されたトラックスリップ領域情報261の例に従う。
【0063】
図6は、実施形態の磁気ディスク装置1のトラックフォーマットの一例を示す図である。本図には、磁気ディスク装置1が有する多数のトラック101bのトラック番号がトラック番号「0」から順番に描画されている。なお、本図に示されるトラック番号の群には、スペア領域121に設定されたトラック101bのトラック番号は含まれないものとする。以降では、トラック番号が「X」であるトラック101bがトラック#Xと表記される場合がある。
【0064】
アクセス先がユーザ領域123である場合、コントローラ20は、第1設定情報261-1が示すトラック101bおよび第2設定情報261-2が示すトラック101bをスリップしながら、アクセス先を示すLBAをCHSに変換する。
【0065】
図5に示された例によれば、第1設定情報261-1は、トラック#0、トラック#1、トラック#10~トラック#13、トラック#21、トラック#35、トラック#36、およびトラック#50~トラック#52を示す。第2設定情報261-2は、トラック#40~トラック#49、およびトラック#60~トラック#69を示す。
【0066】
よって、アクセス先がユーザ領域123である場合、
図7に示されるように、ドットハッチングが施されている、トラック#0、トラック#1、トラック#10~トラック#13、トラック#21、トラック#35、トラック#36、およびトラック#50~トラック#52が、第1設定情報261-1に基づいてスリップされる。また、斜線ハッチングが施されている、トラック#40~トラック#49、およびトラック#60~トラック#69が、第2設定情報261-2に基づいてスリップされる。
【0067】
コントローラ20は、ハッチングが施されていないトラック101bによって構成されたセクタ群に第1論理アドレス空間210のLBA群をリニアに対応付けたうえで、アクセス先を示すLBAに対応するCHSを特定する。
【0068】
即ち、コントローラ20は、トラック#2~トラック#9、トラック#14~トラック#20、トラック#22~トラック#34、トラック#37~トラック#39、トラック#53~トラック#59、トラック#70~トラック#80によって構成されたトラック番号順に配列されたセクタ群に、第1論理アドレス空間210のLBA群をLBAの数値順に対応付ける。そして、コントローラ20は、この対応関係に基づき、アクセス先を示すLBAに対応するCHSを特定する。
【0069】
よって、コントローラ20は、使用不可に設定されたトラック101bおよびシステム領域122に設定されたトラック101bを避けた領域、つまりユーザ領域123、へのアクセスが実現する。
【0070】
アクセス先がシステム領域122である場合、コントローラ20は、第2設定情報261-2が示すトラック101b以外の全てのトラック101bをスリップしながら、アクセス先を示すLBAをCHSに変換する。
【0071】
即ち、
図8に示されるように、第2設定情報261-2に基づいて、斜線ハッチングが施されているトラック#0~トラック#39、トラック#50~トラック#59、トラック#70~トラック#80がスリップされる。
【0072】
コントローラ20は、トラック#40~トラック#49、およびトラック#60~トラック#69によって構成されたトラック番号順に配列されたセクタ群に、第2論理アドレス空間220のLBA群をLBAの数値順に対応付ける。そして、コントローラ20は、この対応関係に基づき、アクセス先を示すLBAに対応するCHSを特定する。
【0073】
よって、システム領域122へのアクセスが実現する。
【0074】
続いて、実施形態の磁気ディスク装置1の動作を説明する。磁気ディスク装置1は、製造時に、ファームウェアプログラムに従ってトラックスリップ領域情報261の設定を行う。
【0075】
図9は、トラックスリップ領域情報261を設定する実施形態の磁気ディスク装置1の動作の一例を示す図である。
【0076】
まず、コントローラ20は、欠陥検査を実行する(S101)。そして、コントローラ20は、欠陥検査に合格しなかったトラック101bを第1設定情報261-1に登録する(S102)。
【0077】
続いて、コントローラ20は、欠陥検査に合格したトラック101bのうちから、システム領域122用のトラック101bを選択する(S103)。そして、コントローラ20は、システム領域122用のトラック101bを第2設定情報261-2に登録する(S104)。そして、トラックスリップ領域情報261を設定する動作が終了する。
【0078】
なお、
図9に示された動作によって、システム領域122が設定される。他の領域のうちのスペア領域121は任意に設定され得る。例えば、
図9に示された一連の動作の前に、特定位置の所定数のトラック101bが固定的にスペア領域121として設定される。例えば
図4に示された例では、最内周側の所定数のトラック101bがスペア領域121として設定され、システム領域122用のトラック101bは、欠陥検査に合格しなかったトラック101bだけでなくスペア領域121をも避けて設定され得る。
【0079】
なお、システム領域122用のトラックの第2設定情報261-2への登録は、製造者による指示に基づいて実行されてもよい。例えば、製造者は、所望の径方向位置をコンピュータ端末からコントローラ20に指示する。コントローラ20は、製造者から径方向位置の指示を受信した場合、指示された位置の近傍の1以上のトラック101b(ただし欠陥検査に合格しなかったトラック101bを除く)を第2設定情報261-2に登録するよう、構成されてもよい。
【0080】
磁気ディスク装置1は、出荷後、エンドユーザによってホスト2に接続されて、ホスト2からのアクセスコマンドに応じて動作する。また、磁気ディスク装置1は、自身の制御のために、システムデータのライトおよびリードを実行する。
【0081】
図10は、実施形態の磁気ディスク装置1の、ホスト2からのアクセスコマンドに応じた動作の一例を示すフローチャートである。
【0082】
コントローラ20がホスト2からアクセスコマンドを受信すると(S201)、コントローラ20は、当該アクセスコマンドに含まれるアクセス先を示すLBAをCHSに変換する(S202)。そして、コントローラ20は、変換によって得られたCHSが示すセクタはスペアセクタに交代するよう設定されているか否かを判定する(S203)。
【0083】
スペアセクタに交代されるよう設定されたセクタのCHSは、スペアセクタのCHSと対にされて交代情報262に記録されている。S203では、コントローラ20は、交代情報262を参照することによって、変換によって得られたCHSが示すセクタはスペアセクタに交代するよう設定されているか否かを判定する。
【0084】
変換によって得られたCHSが示すセクタはスペアセクタに交代するよう設定されていない場合(S203:No)、コントローラ20は、変換によって得られたCHSが示すセクタに磁気ヘッド102を移動させて、アクセスコマンドによって指示されたアクセスを実行する(S204)。
【0085】
ホスト2から受信したアクセスコマンドがライトコマンドである場合、コントローラ20は、S204では、磁気ディスク101に対してデータのライトを行う。ホスト2から受信したアクセスコマンドがリードコマンドである場合、コントローラ20は、S204では、磁気ディスク101に対してデータのリードを行う。
【0086】
変換によって得られたCHSが示すセクタはスペアセクタに交代するよう設定されている場合(S203:Yes)、コントローラ20は、交代情報262から当該スペアセクタを示すCHSを取得する(S205)。そして、コントローラ20は、取得されたCHSが示すスペアセクタに磁気ヘッド102を移動させて、アクセスコマンドによって指示されたアクセスを実行する(S206)。
【0087】
S204またはS206の後、アクセスコマンドにアクセスコマンドに応じた動作が終了する。
【0088】
なお、
図10では、アクセスコマンドによって指定されたアクセス範囲が1セクタである場合について説明した。アクセスコマンドによって指定されたアクセス範囲が複数セクタである場合、コントローラ20は、複数セクタのそれぞれに対してS202~S206の処理を実行する。
【0089】
図11は、実施形態の磁気ディスク装置1の、システム領域122にアクセスする動作の一例を示すフローチャートである。ここでは一例としてエラーに関するログをシステム領域122にライトする動作を説明する。
【0090】
コントローラ20は、エラーが発生したか否かを監視している(S301:No)。例えば、コントローラ20は、ライトエラー、リードエラー、振動または衝撃の強度が所定のレベルを超えた、などをエラーとして検出する。
【0091】
エラーが発生した場合(S301:Yes)、コントローラ20は、システム領域122におけるログのライト先のLBAを特定する(S302)。ログのライト先のLBAの特定方法は任意である。例えば、S302では、コントローラ20は、前回にログをライトした位置に後続する位置のLBAを、今回のログのライト先のLBAとして特定する。
【0092】
そして、コントローラ20は、特定されたLBAをCHSに変換する(S303)。そして、コントローラ20は、変換によって得られたCHSが示すセクタはスペアセクタに交代するよう設定されているか否かを判定する(S304)。S304の処理は、例えばS203の処理と同様の方法で実行される。
【0093】
変換によって得られたCHSが示すセクタはスペアセクタに交代するよう設定されていない場合(S304:No)、コントローラ20は、変換によって得られたCHSが示すセクタに磁気ヘッド102を移動させて、発生したエラーに関するログのライトを実行する(S305)。
【0094】
変換によって得られたCHSが示すセクタはスペアセクタに交代するよう設定されている場合(S304:Yes)、コントローラ20は、交代情報262から当該スペアセクタを示すCHSを取得する(S306)。そして、コントローラ20は、取得されたCHSが示すスペアセクタに磁気ヘッド102を移動させて、発生したエラーに関するログのライトを実行する(S307)。
【0095】
S305またはS307の後、ログをシステム領域122にライトする動作が終了する。
【0096】
なお、
図11では、1セクタにログがライトされる場合について説明した。複数セクタのログがライトされる場合、コントローラ20は、複数セクタのそれぞれに対してS302~S307の処理を実行する。
【0097】
図12は、実施形態の磁気ディスク装置1の、LBAをCHSに変換する動作の一例を示すフローチャートである。
図12に示される一連の動作は、
図10に示されたS202および
図11に示されたS303において実行される。
【0098】
コントローラ20は、アクセス先はユーザ領域123であるか否かを判定する(S401)。
【0099】
アクセス先はユーザ領域123である場合(S401:Yes)、コントローラ20は、第1設定情報261-1が示すトラック101bおよび第2設定情報261-2が示すトラック101bをスリップさせながらLBAをCHSに変換する(S402)。S402では、コントローラ20は、
図7を用いて説明された方法でアクセス先を示すCHSを特定する。
【0100】
アクセス先はユーザ領域123ではない場合(S401:No)、即ちアクセス先はシステム領域122である場合、コントローラ20は、第2設定情報261-2が示すトラック101b以外の全てのトラック101bをスリップさせながらLBAをCHSに変換する(S403)。S403では、コントローラ20は、
図8を用いて説明された方法でアクセス先を示すCHSを特定する。
【0101】
S402またはS403の後、LBAをCHSに変換する動作が終了する。
【0102】
図13は、実施形態の磁気ディスク装置1が実行する交代処理の一例を示すフローチャートである。なお、
図13に示される一連の動作は、アクセス先のセクタがユーザ領域123に含まれるかシステム領域122に含まれるかに関係なく実行される。
【0103】
コントローラ20は、何れかのセクタにアクセスした際に、アクセス先のセクタは使用が困難になったか否かを判定する(S501)。
【0104】
アクセス先のセクタは使用が困難になったか否かの判定方法は任意である。一例では、RDC22は、誤り訂正機能を備える。セクタからのデータのリードの際に、誤り訂正機能による誤り訂正に所定回以上連続して失敗した場合、コントローラ20は、そのセクタは使用が困難になったと判定する。セカンダリ欠陥が生じたセクタは、S501の処理において、使用が困難になったセクタとして特定される。
【0105】
アクセス先のセクタは使用が困難になった場合(S501:Yes)、コントローラ20は、スペア領域121内のまだ交代処理に使用されていないスペアセクタを特定する(S502)。そして、コントローラ20は、アクセス先のセクタを示すCHSを、特定されたスペアセクタを示すCHSと対にして交代情報262に記録する(S503)。そして、交代処理が終了する。
【0106】
なお、コントローラ20は、S503の実行の際には、必要に応じ、アクセス先のセクタ内のデータを特定されたスペアセクタにコピーしてもよい。
【0107】
以上述べたように、実施形態によれば、欠陥検査に基づき不使用とされたトラック101bを示す第1設定情報261-1と、欠陥検査に基づき不使用とされたトラック101bと異なる1以上のトラック101bのうちから選択されたシステム領域122用のトラック101bを示す第2設定情報261-2と、がFROM26に格納される。アクセス先がユーザ領域123である場合、コントローラ20は、第1設定情報261-1が示すトラック101bおよび第2設定情報261-2が示すトラック101bをスリップさせながら、アクセス先を示すLBAを、磁気ディスク101上の位置を示すCHSに変換する。アクセス先がシステム領域122である場合、第2設定情報261-2に基づいて、第2設定情報261-2が示すトラック101b以外の全てのトラック101bをスリップさせながら、アクセス先を示すLBAを磁気ディスク101上の位置を示すCHSに変換する。コントローラ20は、変換によって得られたCHSが示す位置に磁気ヘッド102を移動させて磁気ディスク101へのアクセスを実行する。
【0108】
つまり、第2設定情報261-2によって任意のトラック101b(ただし欠陥検査に基づき不使用とされたトラック101bを除く)をシステム領域122として設定することが可能となる。
【0109】
一例では、
図4に示されるように、径方向に離間した複数のシステム領域122を設定することが可能である。
【0110】
ここで、実施形態と比較される技術について説明する。実施形態と比較される技術は、比較例と表記される。比較例によれば、磁気ディスクの外周側の所定数のトラックがシステム領域として設定される。したがって、例えば磁気ヘッドが内周側に位置しているときにシステム領域へのアクセスの必要が生じた場合、磁気ヘッドを内周側から外周側まで移動させる必要がある。つまり、システム領域にアクセスするための磁気ヘッドの移動距離が長く、システム領域へのアクセスのために多くの時間が必要となる。
【0111】
これに対し、実施形態によれば、例えば径方向に離間した複数のシステム領域122を設定することが可能である。径方向に離間した複数のシステム領域122が設定されることで、比較例に比べ、システム領域122にアクセスするための磁気ヘッドの移動距離を短くでき、システム領域122へのアクセスのために要する時間を短縮できる。
【0112】
また、例えば、実施形態によれば、製造者が、エンドユーザによる使用の頻度が高い径方向位置を知っていれば、当該径方向位置の近くのトラック101bをシステム領域122に設定することができる。
【0113】
よって、アクセスコマンドの実行中に例えばエラーなどに関するログのライトなどシステム領域122へのアクセスの必要が生じたとしても、システム領域122にアクセスするための磁気ヘッドの移動距離を短くでき、システム領域122へのアクセスのために要する時間を短縮できる。
【0114】
このように、実施形態によれば、システム領域122へのアクセスに要する時間の抑制の点で、適切にシステム領域122の設定を行うことが可能である。
【0115】
また、比較例によれば、プライマリ欠陥を有する可能性があるトラックによってシステム領域が構成される。つまり、システム領域を構成する各トラックは、プライマリ欠陥を含み得る。よって、システム領域として必要な正味の容量に加えて余分な容量を加味した容量を有する1以上のトラックが、システム領域として設定される。
【0116】
これに対し、実施形態によれば、製造時の欠陥検査に合格したトラック101bのうちからシステム領域122が設定される。よって、システム領域122として必要な正味の容量を有する1以上のトラック101bのみによってシステム領域122が構成され得る。
【0117】
よって、実施形態によれば、比較例に比べ、より多くのトラック101bをユーザ領域123として使用することが可能である。
【0118】
このように、実施形態によれば、システム領域122として確保されるトラック101bの数の抑制の点でも、適切にシステム領域122の設定を行うことが可能である。
【0119】
また、実施形態によれば、コントローラ20は、エラーが発生した場合、システム領域122にエラーに関するログをライトするアクセスを実行する。
【0120】
よって、エラーに関するログをライトするアクセスに要する時間が抑制される。
【0121】
なお、エラーに関するログをライトするアクセスは、システム領域122へのアクセスの一例である。システム領域122にライトされたりリードされたりするシステムデータは、製造者が任意に決め得る。
【0122】
なお、実施形態によれば、磁気ディスク101は、スペア領域121に設定された1以上のトラック101bを有する。コントローラ20は、システム領域122にセカンダリ欠陥などによって使用が困難なセクタが生じた場合、当該使用が困難なセクタのCHSをスペア領域121内のスペアセクタを示すCHSと対応付けて交代情報262に記録する。そして、アクセス先のLBAの変換によって得られたCHSが交代情報262に記録されている場合、コントローラ20は、交代情報262によって対応づけられたCHSが示すスペアセクタに磁気ヘッド102を移動させて、磁気ディスク101にアクセスする。
【0123】
よって、システム領域122にセカンダリ欠陥などによって使用が困難なセクタが生じた場合であっても、システムデータのライトが可能な領域の容量を維持することが可能である。
【0124】
比較例によれば、セカンダリ欠陥の発生に備えて、システム領域にはシステムデータが多重化してライトされる場合がある。
【0125】
実施形態によれば、システム領域122にセカンダリ欠陥が発生したとしても、セカンダリ欠陥によって使用が困難になったセクタの替わりにスペアセクタが使用される。よって、システム領域122にシステムデータを多重化してライトする必要がなく、システム領域122に割く容量を抑制することが可能である。また、システムデータは多重化されないので、システムデータのライトに要する時間を抑制できる。
【0126】
本発明の実施形態を説明したが、この実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0127】
1 磁気ディスク装置、2 ホスト、20 コントローラ、21 プリアンプ、22 RDC、23 HDC、24 DSP、25 MPU、26 FROM、27 RAM、101 磁気ディスク、101a サーボゾーン、101b トラック、102 磁気ヘッド、103 回転軸、104 アクチュエータアーム、105 ボイスコイルモータ、106 回転軸、120 領域、121 スペア領域、122,122-1,122-2 システム領域、123 ユーザ領域、200 論理アドレス空間、210 第1論理アドレス空間、220 第2論理アドレス空間、261 トラックスリップ領域情報、262 交代情報。