JPWO2004075175A1 - 磁気ディスク装置、そのアクセス制御方法、記録媒体 - Google Patents
磁気ディスク装置、そのアクセス制御方法、記録媒体 Download PDFInfo
- Publication number
- JPWO2004075175A1 JPWO2004075175A1 JP2004568472A JP2004568472A JPWO2004075175A1 JP WO2004075175 A1 JPWO2004075175 A1 JP WO2004075175A1 JP 2004568472 A JP2004568472 A JP 2004568472A JP 2004568472 A JP2004568472 A JP 2004568472A JP WO2004075175 A1 JPWO2004075175 A1 JP WO2004075175A1
- Authority
- JP
- Japan
- Prior art keywords
- data
- magnetic disk
- disk
- magnetic
- parity
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- 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
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B5/00—Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
- G11B5/012—Recording on, or reproducing or erasing from, magnetic disks
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B5/00—Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
- G11B5/48—Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed
- G11B5/488—Disposition of heads
- G11B5/4886—Disposition of heads relative to rotating disc
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B5/00—Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
- G11B5/48—Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed
- G11B5/49—Fixed mounting or arrangements, e.g. one head per track
- G11B5/4969—Details for track selection or addressing
- G11B5/4976—Disposition of heads, e.g. matrix arrangement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2069—Management of state, configuration or failover
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2082—Data synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1092—Single disk raid, i.e. RAID with parity on a single disk
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B5/00—Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
- G11B2005/0002—Special dispositions or recording techniques
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Digital Magnetic Recording (AREA)
- Magnetic Heads (AREA)
- Moving Of Head For Track Selection And Changing (AREA)
Abstract
Description
現在、主に、RAID1、RAID3、RAID4、RAID5の方式が、よく知られている。
RAID1は、“ミラーリング”とも呼ばれており、2台のディスクに同一データを書き込み、冗長性を図る構成である。
RAID3は、分割データとパリティを生成・格納することで、1つの分割データが損失したときに、残った分割データとパリティとから損失データを再構成する手法である。また、分割データとパリティに同時にアクセス制御する。
RAID4、RAID5は、RAID3に似た手法であるが、ここでは特に説明しない。
ここで、一般的に、RAIDは、複数台の独立したハードディスクを並列に、一台のディスク装置のごとく使用することで実現する。つまり、複数の磁気ディスク装置を必要とする。また、データの分割や再構成或いは複数の磁気ディスク装置を同期させる為の制御装置を必要とする為、構成が複雑且つ高価となる。
これに対して、単体の磁気ディスク装置内でRAIDを構成する手法も、提案されている。
以上の従来技術については、例えば、以下、以下に説明する特許文献1〜特許文献6等の公知文献が存在する(尚、直接RAIDに関係しないが、その構成を考慮しておく必要があるものも含まれる)。
例えば、特開平4−349273号公報(特許文献1と呼ぶ)記載の発明では、従来のハードディスク装置を用いてミラーリング機能を実現するためには、2台のハードディスク装置を用いることが考えられるが、一台のハードディスク装置内の2箇所に同一データを書き込むようにする。その為に、データ記録時に、データは、ステップS1で第1の記録場所に記録され、ステップS2で同じデータ(ミラーデータ)が第2の記録場所に記録されるように制御する。この2箇所の記録場所の違いにより、以下の4種類のハードディスク装置を提供する。
(1)同一円板上の、同一面の、同一トラック上の、別なセクタに同じデータを記録する。
(2)同一円板上の、同一面の、別なトラック上の、別なセクタに同じデータを記録する。
(3)同一円板上の、別な面の、別なトラック上の、別なセクタに同じデータを記録する。
(4)別な円板上の、別な面の、別なトラック上の、別なセクタに同じデータを記録する。
また、例えば、特開平3−76003号公報(特許文献2と呼ぶ)記載の発明は、各々が複数の磁気ディスクの何れかの面に対応した複数の記録/再生用ヘッドを有する構成において、各記録/再生用ヘッド毎に直列/並列変換回路を設けると共に、この複数の記録/再生用ヘッドが、独自に移動して、データの記録/再生を同時に行なえるようにする。これによって、ヘッドの使用効率を高め、データ処理時間の短縮、処理性能の向上を図るものである。
また、例えば、特開2002−100128号公報(特許文献3と呼ぶ)記載の発明は、多段化された磁気ディスクにアクセスする複数の磁気ヘッドを支持する為の、独立して回転可能な複数のアクチュエータブロックを備えるヘッドスタックアッセンブリーを有し、複数の磁気ディスクに分散して書き込み、読み取りを行なう作業を並行して行なうことで、記録容量を増大させつつ、処理の高速化を図る発明である。また、各アクチュエータブロックの磁気ヘッドと該磁気ヘッドがアクセスする磁気ディスクとを1単位として、必要に応じた機能を持たせることで、一台の磁気ディスク装置を、簡易的に、いわゆるレイド(RAID Redundant Arrays of Inexpensive Disks)と同等に使用することができる。
また、例えば、特開平7−49750号公報(特許文献4と呼ぶ)記載の発明では、ディスク媒体の同一サーフェスにアクセスできる2系統の記録再生機構を備えたディスク装置を複数台組み合わせて、ディスクアレイ装置を構成する。そして、復旧動作と、ホストからのアクセスへの応答とを、別の記録再生機構を用いて行なうことで、復旧動作と、ホストからのアクセスへの応答とを、並列に処理することができるようにしている。
また、例えば、特開2001−307410号公報(特許文献5と呼ぶ)記載の発明は、AVデータ等の大容量連続データを書き込むときに、自動的に複製を作成することが可能となり、単一の磁気ディスク装置によってミラーリングRAIDシステムを実現できるものである。特許文献5の発明では、磁気ヘッドの切り替え時間、シリンダーシーク時間、磁気ディスク装置が搭載する磁気ヘッドの数を設定し、磁気ヘッドの切り替え回数等を求める。そして、転送されたデータを磁気ディスクに書き込み、磁気ヘッドを切り替えて、同じ磁気ディスクの別の記録面または他の磁気ディスクの記録面に、転送されたデータの複製を書き込む。あるいは、転送されたデータを、1セクターのみ磁気ディスクに書き込み、続いて、連続したセクターにデータの複製を書き込む処理を繰り返し実行する。これによって、単一の磁気ディスク上に複数の複製データを記録できる。
また、例えば、特開平8−83152号公報(特許文献6と呼ぶ)記載の発明は、RAID5と呼ばれるディスクアレイ装置において、特に(1)旧データ及び旧パリティリード、(2)新パリティの作成、(3)新データ及び新パリティライト、という処理を行なう際に、(1)、(2)の処理中にディスクが回転する為に、(3)のライト(書き込み)処理を行なうには、略1回転分近くの回転待ち時間が掛かってしまうという問題を解決する発明である。この為に、特許文献6では、1本のアクチュエータ(1本のアーム)に対して2個のヘッドが、ディスクの回転方向において異なる位置であって同一円周上の位置に設けられる。そして、先にある第1ヘッドをリード専用ヘッド、後にある第2ヘッドをライト専用ヘッドとして用いる。これによって、上記(1)、(2)の処理と同一のディスク回転周期内において、上記(3)のライト(書き込み)処理を実行できる。
上述した単体のディスク装置内でRAIDを構成する従来技術は、大別すると、以下の2つに分類される。
(a) 複数のディスク面に、データを重複したり、分割データ/パリティを書き込む方式(以下、面間RAID方式と呼ぶ)。
(b) 同一ディスク面に、データを重複したり、分割データ/パリティを書き込む方式(以下、面内RAID方式と呼ぶ)。つまり、ディスク1枚且つ片面のみでRAIDを構成できる方式。
面間RAID方式は、複数のディスク面が必要であり、また、磁気ディスク装置を構成するディスクの数が、RAIDの構成に依存することになる。つまり、例えば、4つの分割データとパリティを記録するRAID3,4,5的な構成とする場合、5つのディスク面が必要となる。また、特許文献3等のように複数のアクチュエータを用いる手法では、装置構成やその制御方法が複雑となる。また、コスト高となる。
一方、面内RAID方式のように、ディスク1枚且つ片面のみでRAIDを構成できる方式では、ディスクの数がRAIDの構成に依存することことなく、任意のディスク数を持つ磁気ディスク装置を構成できる。
よって、面内RAID方式のほうが望ましいが、上記従来の面内RAID方式の実現手法には、以下の課題があった。
まず、特許文献1記載の手法では、ミラーリングを実現する為に、ステップS1、S2の2回のデータ書き込み動作が必要であり、高速化を図れない。この問題は、特許文献5において、「1セクターのみ磁気ディスクに書き込み、続いて、連続したセクターにデータの複製を書き込む処理を繰り返し実行する」場合も、同様である。
これに対して、特許文献4記載の発明は、復旧動作に係わる発明であるが、その中に開示されている「ディスク媒体の同一サーフェスにアクセスできる2系統の記録再生機構を備えた1つのディスク装置」の構成を利用して、同一面の2箇所に同時にアクセスできる面内RAID方式を実現することが考えられる。しかしながら、この場合にも、複数のアクチュエータを用いるので、上記特許文献3と同様、装置構成やその制御方法が複雑となり、またコスト高となる。更に、特許文献3の構成において、RAID3,4,5を構成する為には最低3つの箇所を同時にアクセスできる構成、すなわち最低3つのアクチュエータが必要となるが、1つのディスク装置内に3つ以上のアクチュエータを設けることは、現実的には困難であるので、実質的にはRAID3,4,5は構成できない。
尚、特許文献6には、1本のアームに対して2個のヘッドが設けられた構成が開示されているが、これはディスクの回転方向において異なる位置であって同一円周上の位置に設けられるものであり、また、その目的は、リード処理と同一のディスク回転周期内において、ライト処理を実行できるようにすることである。
また、更に、磁気ディスク装置内部で自律的にRAIDを構成した場合においては、外部のOS側(外部コントローラ)からは、当該磁気ディスク装置は、単なる1つのディスク(但し、故障率が非常に低い)であるように見える。例えば、RAID1的な構成の磁気ディスク装置であっても、外部のOS側から見ると、二重化(ミラーリング)されていることは分からない。この為、このような磁気ディスク装置において、冗長度が失われた場合、外部コントローラは、通常のI/Oコマンドでは、RAIDが縮退状態にあることを認識できない。この為、信頼性維持の為の冗長性の回復を行なうことができなかった。
また、更に、ヘッドクラッシュ等によりディスクとヘッドが衝突すると、磁気ディスク装置内にパーティクルが拡散し、衝突箇所以外の場所も損傷を受けることがある。特に、単体の磁気ディスク装置内でRAIDを構成する場合には、どのような方式であれ、同時に複数の場所が損傷すると、損失データを復元できなくなる可能性があり、信頼性を維持できなくなる。
本発明の課題は、単体の磁気ディスク装置内でRAIDを構成する場合において、アクチュエータを複数とすることなく、ディスク1枚且つ片面のみでもRAIDを構成できると共に、この同一面上の複数トラックに同時にアクセス可能とすることでアクセス処理の高速化も図れる磁気ディスク装置、そのアクセス制御方法、プログラム、記録媒体を提供することである。
また、磁気ディスク装置内部で自律的にRAIDを構成した場合において、冗長度が失われた場合でも、冗長性の回復を行なうことができる磁気ディスク装置等を提供することである。
また、単体の磁気ディスク装置内でRAIDを構成する場合において、パーティクルの拡散を防止し、衝突箇所以外の場所も損傷を受けることを防ぐことができる磁気ディスク装置等を提供することである。
このように構成することで、単体ディスク装置内でRAIDを構成する磁気ディスク装置であって、特にディスク1枚且つ片面のみでもRAIDを構成できる方式、すなわち上記面内RAID方式を、アクチュエータを複数とすることなく且つ書き込み等の処理を複数回行なうことなく実現できる。すなわち、単体のアクチュエータで複数のデータを同時に書き込み等できる面内RAID方式を実現できる。
例えば、前記複数のデータアクセスヘッドによって、前記ディスクの同一面上の異なるトラックに同時に同一データを書き込ませる制御手段を更に有することによって、RAID1的な制御を行なえる磁気ディスク装置を実現できる。
あるいは、例えば、データ書き込みの際に、該データを分割して、該複数の分割データに応じたパリティを生成して、該複数の分割データとパリティとを、前記複数のデータアクセスヘッドによって、前記ディスクの同一面上の異なるトラックに同時に書き込ませる制御手段を更に有することによって、RAID3的な制御を行なえる磁気ディスク装置を実現できる。
また、例えば、前記制御手段は、複数のデータアクセスヘッドの中の1つを基準にして位置決めを行なうようにする。
本発明の磁気ディスク装置では、1つのアーム当りに複数のヘッドを設けるが、ディスク上の任意の位置へのアクセスの際には、そのうちの1つのヘッドを基準にして位置決めを行なえばよい。
また、例えば、連続アクセスの際に、一度に2トラック以上移動する長距離シークに対応して、1トラックシークに対応するトラックスキューとは別に、該長距離シークに対応して回転待ち時間が最小となるようなトラックスキューを設定する。
一般に、例えば大容量データを書き込み等する際には、複数のトラックに連続アクセスする為、アームを1トラックずつシークしながらデータを書き込むが、その際、1トラックシークに応じたスキュー(トラック上の先頭セクタの位置)の調整を行なっている。読み出しの際にも同様である。
一方、本発明の磁気ディスク装置では、1つのアーム当りに複数のヘッドを設けて、同一ディスク面上の異なるトラックを同時にアクセスする構成なので、状況によって、例えば2つのヘッドを用いる構成の場合には、このヘッド間の距離にほぼ等しい距離分を一度にシークする(長距離シーク)必要が生じる。これに応じて、長距離シークに応じたスキューの調整も行なうようにする。
これによって、1トラックシークだけでなく、長距離シークも含めて、連続アクセス時の回転待ち時間を抑制できる。
また、例えば、上記RAID1的な制御を行なう構成において、冗長度が規定値より少なくなった場合に、損失発生箇所に対応する他のトラックのデータに基づいて、該損失発生箇所のデータを予備領域に書き込むようにしてもよい。
または、例えば、上記RAID3的な制御を行なう構成において、前記分割データの何れかが損失した場合、他の分割データと前記パリティとに基づいて損失データを再構成して予備領域に書き込むようにしてもよい。
このように、磁気ディスク装置内部で自律的に、損傷箇所のデータを交替セクタ領域に書き込むことによって、縮退状態から復帰することができる。
あるいは、上記のように、磁気ディスク装置内部で自律的に、縮退状態から復帰させる方法に代えて、縮退状態にあることを外部コントローラに知らせて、外部コントローラによって、縮退状態から復帰させるようにしてもよい。
この場合には、損失発生箇所を、外部コントローラが参照するアドレスを用いて、該外部コントローラで通知する。
また、本発明による他の磁気ディスク装置は、単体ディスク装置内でRAIDを構成する磁気ディスク装置であって、同一の回転軸上に多段化された複数の磁気ディスクを有する磁気ディスク装置において、前記各磁気ディスク間に吸着性素材の仕切りを挿入するように構成する。
このようにすることで、ある箇所でヘッドクラッシュ等によりパーティクルが発生しても、速やかに、発生箇所近くの吸着性素材に吸着されるので、パーティクルが磁気ディスク装置内に拡散することを防止でき、以って、衝突箇所以外の場所も損傷を受けることを防止できる。特に、単体の磁気ディスク装置内でRAIDを構成する場合においては、同時に複数の場所が損傷することで損失データを復元できなくなることを防止できるので、信頼性が損なわれずに済む。
図1は、複数の磁気ヘッドの一例を示す図であり、(a)は2つの磁気ヘッド、(b)は3つの磁気ヘッドの構成例である。
図2は、複数の磁気ヘッドによるアクセス時の位置関係を示す図であり、(a)は2つの磁気ヘッド、(b)は5つの磁気ヘッドを用いる例である。
図3は、(a)は本例の磁気ディスク装置の全体構成図、(b)はその制御装置の機能構成図である。
図4は、制御装置による基本的なアクセス制御処理を説明する為のフローチャート図である。
図5は、RAID1的な制御処理を示す図であり、(a)はデータ書き込み時、(b)はデータ読み出し時の処理を示すフローチャート図である。
図6は、RAID3的な制御処理を示す図であり、(a)はデータ書き込み時、(b)はデータ読み出し時の処理を示すフローチャート図である。
図7は、位置決め処理の具体例について説明する為のフローチャート図である。
図8は、本例の磁気ディスク装置における長距離スキュー制御について説明する為の図である。
図9は、縮退状態からの復帰処理を説明する為のフローチャート図である。
図10は、図9の処理に係わり、具体的な一例を示す図(その1)である。
図11(a),(b)は、図9の処理に係わり、具体的な一例を示す図(その2)(その3)である。
図12は、パーティクル拡散防止の為の構成図である。
図13は、本例の磁気ディスク装置を搭載した情報処理装置(サーバ等)全体の概略的なハードウェア構成を示す。
図1(a)、(b)は、本例による磁気ディスク装置が備えるデータアクセスヘッドの構成の一例を示す図である。
また、図2(a)、(b)には、本例によるデータアクセスヘッドのディスク面上における位置関係を示す図である。
本例による磁気ディスク装置は、1つのアーム当りに複数のデータアクセスヘッド(ここでは磁気ヘッド)を設ける。ここでは、図1(a)には2つの磁気ヘッド、図1(b)には3つの磁気ヘッドを設けた例を示すが、これに限らず、4つ以上の磁気ヘッドを設けた構成であってもよい。
図1(a)の例では、任意の1つのアーム(不図示)の先端付近に備えられるスライダーの両側にある各レール上に、それぞれ磁気ヘッド(磁極)1,2が備えられる。
図1(b)の例では、上記2つのレールの中間に、更にもう1つレールを設け、このレール上にも磁気ヘッドを備えることで、図示のようにスライダーの3つのレール上に3つの磁気ヘッド1,2,3が備えられる。4つ以上の磁気ヘッドを設けた構成も、同様である。
1つのアーム当りに複数の磁気ヘッドを設ける構成自体は、上記特許文献6でも行なわれている。しかしながら、本例では、これら複数の磁気ヘッドの磁気ディスクに対する位置関係が異なる(そもそも、目的が異なる)。
図2(a)、(b)には、この位置関係を示す。
図2(a)には、1つのアーム当りに2つの磁気ヘッドを設けた構成において、これら2つの磁気ヘッドの磁気ディスク10に対する位置関係を示す。図示の通り、2つの磁気ヘッド1,2は、アクセスの際に、磁気ディスク10の同一面上の異なるトラックに対向する位置となるように配置されている。
このように構成することで、1つのアームで、磁気ディスク10の同一面上の異なるトラックに、同時に、データを書き込み又は読み出しすることが可能となる。そして、例えば、2つの磁気ヘッドによって書き込むデータが、任意のデータとこのデータの複製、すなわち同一データAとした場合、1つのアームで、磁気ディスク10の片面のみで、同時に同一データの書き込みを行なえる構成、つまり1枚の磁気ディスク且つ片面のみでRAID1的な磁気ディスク装置を構成することができる。
尚、例えば、スライダーの幅が1(mm)で、トラック幅が0.4(μm)であったとすると、ヘッド間には2500本のトラックが存在することになるが、ここでは、簡略化して示している。尚、当然、ヘッド間の距離は、任意に決めることができる。
図2(b)には、1つのアーム当りに5つの磁気ヘッドを設けた構成において、これら5つの磁気ヘッドの磁気ディスクに対する位置関係を示す。図示の通り、5つの磁気ヘッド1,2,3,4,5は、各々、アクセスの際に磁気ディスクの同一面上の異なるトラックに対向する位置となるように配置されている。
そして、例えば、ディスクに書き込むべき任意のデータを4つに分割して、これら4つの分割データA,B,C,Dに応じたパリティを生成して、これら4つの分割データA,B,C,Dとパリティとを、上記5つの磁気ヘッドによって、各々、磁気ディスク10の同一面上の異なるトラックに同時に書き込ませる構成及び同時に読み出せる構成、すなわちRAID3的な磁気ディスク装置を構成することができる。
よく知られているように、例えば分割データAが損失した場合、分割データAは、他の分割データB、C、Dとパリティの排他的論理和演算によって復元することができる。
尚、何を以ってRAID3的と呼ぶのかは、考え方によるが、ここでは、RAID3では分割データとパリティの両方に同時にアクセス制御する、という点から、本例でもこの点と同様の制御を行なうことから、RAID3的と呼ぶものとする。
以上述べた構成により、本例の磁気ディスク装置では、アクチュエータを複数とすることなく、書き込み/読み出し処理を複数回に分けて行なうことなく、ディスク1枚且つ片面のみでRAIDを構成できる。換言すれば、面内RAID方式において、単体のアクチュエータを用いて、ディスクの同一面上の複数トラックに同時にアクセスできるようになる。これによって、構成を複雑にすることなく、処理の高速化も図ることができ、更に、ディスクの数がRAIDの構成に依存することことなく、任意のディスク数を持つ磁気ディスク装置を構成できる。また、図1(a)〜図2(b)等に示す例のような複数の磁気ヘッドを形成することは、容易に低コストに実現できる。少なくとも、複数のアクチュエータを備える構成に比べれば、はるかに低コストとなる。
図3(a)に、本例の磁気ディスク装置の全体構成の一例を示す。
また、図3(b)は、本例の磁気ディスク装置の制御装置の機能構成図である。
図3(a)、(b)を参照して、本例の磁気ディスク装置全体について説明する。尚、図3(a)、(b)に示す全体構成自体は、一般的な構成である。本例の磁気ディスク装置の特徴は、各スライダー21に複数の磁気ヘッドを形成することでアーム1つ当りに複数の磁気ヘッドを備える構成とし、且つこれら複数の磁気ヘッドが、磁気ディスク10の同一面上の異なるトラックに同時にアクセス可能な位置関係となるように構成する点、及びそのアクセス制御方法にある。
図3(a)に示す例では、複数の磁気ディスク10が、1つの回転軸11上に一定間隔をおいて並べられており、不図示のスピンドル・モータによって一体的に回転駆動される。
また、複数のアーム20が、1つの回転軸22を中心として、不図示のボイス・コイル・モータによって回転駆動されて、各スライダー21に設けられる磁気ヘッドを、磁気ディスク10の面上の所定の位置に移動させる。これは、ここでは、1つのアクチュエータで複数のアームを連動して動かす、とも表現するものとする。
各アーム21の先端付近には、スライダー21が設けられている。よく知られているように、スライダーは、ヘッド・スライダとも呼ばれており、支持ばね等を介してアーム20に接続され、アクセスの際には、ディスク面上から十数(nm)程度のすき間を保って浮上している。一般的に知られているスライダーの形状としては、例えば、テーパ・フラット・タイプと呼ばれているものがある。これは、スライダ両端にレール部を有し、その流入部にテーパ加工を施した形状である。図1(a)に示した磁気ヘッドは、このようなスライダ両端にレール部を有する形状において、2つのレール部の両方にそれぞれ磁気ヘッド(磁極)を設けた構成と考えてもよい。そして、上述してある通り、これら磁気ヘッドは、磁気ディスク10の同一面上の異なるトラックに同時にアクセス可能な位置関係となるように構成されている。
図3(b)には、磁気ディスク装置の制御部30の構成を示す。
図示の制御部30は、コントローラ31、インタフェース32、信号処理回路33、アーム制御回路34、ディスク制御回路35より成る。
ディスク制御回路35は、磁気ディスク10の回転を制御する。つまり、上記“スピンドル・モータ”を制御する回路である。
アーム制御回路34は、上記“ボイス・コイル・モータ”を制御する回路であり、アーム20を動かして、そのスライダー21(つまり、複数の磁気ヘッド)を任意の位置へと移動させる。
信号処理回路33は、同一アーム20上の複数の磁気ヘッドの入力または出力を、同時に処理する回路である。回路構成は特に示さないが、例えば、複数の磁気ヘッドそれぞれに対応する複数のバッファを備える。例えば、図2(b)に示す構成でRAID3的な制御を行なう場合には、5つのバッファを備えるものとし、生成した4つの分割データとパリティを各バッファに一時格納して、これらを同時に出力する。
インタフェース32は、不図示の外部コントローラ(例えば、サーバの制御部)とのインタフェースである。
コントローラ31は、当該制御部30全体を制御するMPU等のプロセッサであり、上記インタフェース32を介して、外部コントローラからデータ書き込み/読み出しのコマンドを受けると、このコマンドに応じた処理を実行する。
例えば、使用する磁気ヘッドを決定し、アーム制御回路34によりアーム20を制御させて、そのアーム20の磁気ヘッドを目的の位置に移動させる(図4のステップS11)。そして、信号処理回路33により、そのアーム20上の複数の磁気ヘッドの入力または出力を、同時に処理させる。つまり、同一アーム20上の複数の磁気ヘッドによって、磁気ディスク10の同一面上の異なるトラックに同時にアクセスさせる(図4のステップS12)。
以下、このコントローラ31による制御処理について、更に、図5〜図7、図11のフローチャート図等を参照して説明する。
尚、図4、及び図5〜図7、図11のフローチャート図に示す制御処理は、コントローラ31がその内部に記憶されている所定のプログラムを実行することにより、あるいはコントローラ31が制御装置30内の不図示のメモリに格納されている所定のプログラムを読み出し、実行することにより、実現される。これは、コンピュータが、上記プログラムを実行することにより、図4、及び図5〜図7、図11のフローチャート図に示す制御処理の機能を実現する、と表現してもよい。
図5は、上記図1(a)、図2(a)に示す構成の複数の磁気ヘッドを用いて、RAID1的な磁気ディスク装置を構成する場合の制御処理を示す図である。図5(a)はデータ書き込み時、図5(b)はデータ読み出し時の処理を示す。
図5(a)において、コントローラ31は、上記インタフェース32を介して、外部コントローラからデータ・ライト・コマンドを受けると、まず、このコマンドに応じて使用する磁気ヘッドを決定し、アーム制御回路34によりアーム20を制御させて、そのアーム20の磁気ヘッドを目的の位置に移動させる(ステップS21)。そして、信号処理回路33により、そのアーム20上の2つの磁気ヘッドによって、上記書き込むべきデータとその複製、つまり同一のデータを、同時に書き込ませる。つまり、同一アーム20上の2つの磁気ヘッドによって、磁気ディスク10の同一面上の異なるトラックに同時に、同一データを書き込ませる(ステップS22)。
一方、このように書き込まれたデータの読み出しの際には、図5(b)に示すように、コントローラ31は、上記インタフェース32を介して、外部コントローラからデータ・リード・コマンドを受けると、まず、このコマンドに応じて使用する磁気ヘッドを決定し、アーム制御回路34によりアーム20を制御させて、そのアーム20の磁気ヘッドを目的の位置に移動させる(ステップS31)。そして、信号処理回路33により、そのアーム20上の2つの磁気ヘッドのうちの何れか一方の磁気ヘッドによって、データを読みとらせる(ステップS32)。尚、もしデータを読み出せない場合には、他方の磁気ヘッドによってデータを読み取らせる。
図6は、上記図2(b)に示す構成の複数の磁気ヘッドを用いて、RAID3的な磁気ディスク装置を構成する場合の制御処理を示す図である。図6(a)はデータ書き込み時、図6(b)はデータ読み出し時の処理を示す。
また、尚、以下の説明では、上記図2(b)に示す構成例に対応して、1つのアーム当りに5つの磁気ヘッドを設けた構成を前提にして説明するが、これに限るわけではない。
図6(a)において、コントローラ31は、上記インタフェース32を介して、外部コントローラからデータ・ライト・コマンドを受けると、まず、このコマンドに応じて使用する磁気ヘッドを決定し、アーム制御回路34によりアーム20を制御させて、そのアーム20の磁気ヘッドを目的の位置に移動させる(ステップS41)。
また、上記書き込みべきデータを、例えば4つに分割すると共に、この4つの分割データのパリティを生成して、それぞれ、信号処理回路33内にある5つのバッファに一時格納する。そして、信号処理回路33により、上記アーム20上の5つの磁気ヘッドによって、上記4つの分割データとそのパリティを、磁気ディスク10の同一面上の異なるトラックに同時に、書き込ませる(ステップS42)。
一方、このように書き込まれた分割データ及びパリティの読み出しの際には、図6(b)に示すように、コントローラ31は、上記インタフェース32を介して、外部コントローラからデータ・リード・コマンドを受けると、まず、このコマンドに応じて使用する磁気ヘッドを決定し、アーム制御回路34によりアーム20を制御させて、そのアーム20の磁気ヘッドを目的の位置に移動させる(ステップS51)。
次に、信号処理回路33により、上記アーム20上の5つの磁気ヘッドによって、各々、異なるトラックに記録されているデータ、すなわち上記4つの分割データとパリティを読みとらせる(ステップS52)。
そして、もし、何らかの理由によって、読み出せない分割データがあった場合には(ステップS53,YES)、読み出せた3つの分割データとパリティとに基づいて、欠損データを復元する(ステップS54)。
その後は、特に図示していないが、4つの分割データを結合して、元のデータを復元して、外部コントローラに送る。
次に、上記ステップS11、S21、S31、S41、S51の位置決め処理について、より詳細な具体例を、図7を参照して説明する。
図7は、位置決め処理の具体例について説明する為のフローチャート図である。
本例の磁気ディスク装置では、1つのアーム当りに複数の磁気ヘッドが存在することから、この複数の磁気ヘッドの中で予め決定されている1つの磁気ヘッドを基準にして、位置決めを行なう。
まず、本例の磁気ディスク装置では、既存の磁気ディスク装置と同様に、予め、複数のディスク中の任意のディスクの片面を、サーボ情報専用の又は共用の面(以下、サーボ面と呼ぶ)としておき、このサーボ面に、サーボ情報(トラックID、セクタID等)を記録しておく。所謂“サーボ面サーボ方式”を用いているものとする。尚、サーボ情報の書き込み方式には、これ以外にも、各ディスクの各面において、各々、データ・トラックの一部にサーボ情報を埋め込む方式、所謂“データ面サーボ方式”等も存在し、本発明は、“サーボ面サーボ方式”に限るわけではないが、ここではこの方式を例にして説明する。
また、本例では、所謂“LBA(Logical Block Addressing)方式”を用いるものとする。よく知られているように、LBA方式は、全てのセクタに続き番号を付けた、論理セクタという考え方に基づく方式である。
これより、コントローラ31は、上記インタフェース32を介して、外部コントローラから、アクセス先を論理アドレス(LBA)によって指定したコマンドを受けると、まず、不図示の変換テーブル等を参照して、対応するトラックID、セクタIDを求める(ステップS61)。ここで、本例では、複数の磁気ヘッドを用いるが、位置決めの為には、その中の1つの磁気ヘッドを用いれば済むので、上記変換テーブルにおいて、各論理アドレス(LBA)毎に、予め決められた1つの磁気ヘッドのトラックID、セクタIDを対応付けて登録しておく。また、その際、当該コマンドに応じて使用する磁気ヘッド(複数)も求めておく。
次に、上記“サーボ面”をアクセスするアーム20に備えられる磁気ヘッドは、通常の単一の磁気ヘッドである(以下、サーボヘッドと呼ぶ)。そして、このサーボヘッドを用いて、サーボ面上に記録されているトラックIDとセクタIDを参照して、上記ステップS61で求めたトラックID、セクタIDと一致するトラックID、セクタIDが記録されている位置を探し出すことで位置決めを完了する(ステップS62)。本例の構成では、1つの磁気ヘッドの位置決めが完了すれば、他の磁気ヘッドも所定の位置になっている。
このようにして位置決めが完了したら、後は、上記磁気ヘッド(複数)を用いて、データ・ライトまたはリードを行なえばよい(ステップS63)。
次に、以下、本例の磁気ディスク装置における長距離スキューの制御について、図8を参照して説明する。
まず、一般に、例えば大容量データを書き込み等する際には、複数のトラックに連続アクセスする為、アーム20を1トラックずつシークしながら(磁気ヘッドを隣のトラックに移動させる)データを書き込む。読み出しの際にも同様である。
その際、1トラックシークに掛かる時間を考慮して先頭セクタの位置をずらす、ということが行なわれている。つまり、1トラックシークに応じたスキューの調整(トラック上の先頭セクタの位置の調整)を行なっている。これによって、連続アクセス時の回転待ち時間を抑制できる。尚、1トラックシークに応じたトラックスキューは、トラック当りのセクタ数が同じであれば、全てにおいて同じ分だけずれる。
ところで、本例による磁気ディスク装置では、例えば図2(a)に示す構成を例にすると、2個の磁気ヘッド1、磁気ヘッド2が同一面上のnトラック(n;任意の整数)離れた位置にアクセスする構成である為、上記連続アクセスの際、通常は、1トラックずつシークしていくが、n−1本のトラックにアクセスした段階で、例えば磁気ヘッド1の次のトラックから先は、既に磁気ヘッド2がデータを書き込んだ領域である為、一度にnトラック分の距離をシークする必要が生じる。これを、ここでは、長距離シークと呼ぶ。そして、この長距離シークによるシーク時間を考慮したセクタ配置が、長距離スキューの制御方法である。
図8は、以上の長距離スキューの説明を、視覚的に分かり易く示す図である。尚、図8には、1つのアームに4つの磁気ヘッドを備えた構成を例にする。
図8に示す通り、1トラック・シークに対しては、そのシーク時間に応じて、次のトラックにおいては、物理的には前のトラックからずれた位置のセクタを、先頭セクタとするように、サーボ面上のセクタIDを記録すればよい。これは、長距離シークについても、基本的には同様であるが、比較的シーク時間が長くなるので、それに応じてスキューを調整する必要がある。
1トラック・シークに対する最適なスキューs1は、1トラックシーク時間t1、ディスク1回転に必要な時間T、及びトラック上のセクタ数nは、その装置の設計者等は予め求めることができるので、これらを用いて、以下の(1)式によって求めることができる。
s1=n×t1/T ・・・(1)式
これと同様に、長距離シーク時間t2も、予め求めることができるので、長距離シークに対する最適なスキューs2は、以下の(2)式によって求めることができる。
s2=n×t1/T ・・・(2)式
よって、以上求めたスキューs1、s2に基づいて、サーボ面上のセクタIDを設定・記録しておくことで、1トラックスキュー、長距離スキューの制御を行なうことができる。つまり、従来の制御方法の延長で、最適な位置決めを行なうことができる。
尚、当然、上記のように設定・記録したサーボ面上のセクタIDに対応する形で、コントローラ31は、予め設定される特定のトラックにアクセス後に更にシークする場合には、長距離シークを行うようにし、この長距離シークによってアクセスするトラックのサーボ面上のセクタIDは、上記上距離スキューに応じた設定となるようにしておく。
次に、以下、縮退状態からの回復処理について説明する。
通常、RAIDを構成する磁気ディスク装置において、冗長性が失われた場合、信頼性の維持の為、冗長性を回復する必要がある。換言すれば、縮退状態となった場合に、縮退状態から回復させる必要がある。冗長性が失われた場合とは、図2(a)のRAID1的な構成の場合には、磁気ディスク装置内部で冗長性が規定値より少なくなった場合であり、図2(b)のRAID3的な構成の場合には、分割データの何れか又はパリティが、損失した場合である。
しかしながら、上述してある通り、磁気ディスク装置内部で自律的にRAIDを構成した場合、外部コントローラは、通常のI/Oコマンドでは、RAIDが縮退状態にあることを認識できない。
このような問題に対して、本例では、2通りの解決方法を提案する。
1つ目の方法は、上記冗長性が失われたとき、損失発生場所を、外部コントローラが参照するアドレス(論理アドレス)を用いて、外部コントローラに通知する方法である。このような損失データ発生の通知を受けた外部コントローラは、損失発生場所のデータ(例えば、ミラーリングの場合は、損失データに対応する複製データ)を読み出して、これを未使用領域か他のディスクにコピーする処理を実行する。これによって、縮退状態から回復させることができる。
2つ目の方法は、上記冗長性が失われたとき、磁気ディスク装置内部で自律的に、損傷箇所のデータを交替セクタ領域に書き込むことによって、縮退状態から復帰する方法であり、所謂交代処理を行なう方法である。尚、交替セクタ領域とは、磁気ディスク上に、欠陥処理の為に予め用意されている予備領域のことである。
以下、この2つ目の方法について、図9〜図11を参照して説明する。
尚、図9〜図11は、図2(b)のRAID3的な構成において、分割データの何れか又はパリティが損失した場合の交代処理を説明する為の図である。
図9は、本例による交代処理を説明する為のフローチャート図である。
また、図10、図11(a)、(b)は、図9の処理の説明の為に、具体的な一例を示す図である。尚、図10、図11(a)、(b)には、1つのアームに4つの磁気ヘッドを備える構成を例にし、そのうちの3つの磁気ヘッドによって分割データをリード/ライトし、1つの磁気ヘッドによってパリティをリード/ライトするものとする。
また、上述したように、磁気ディスク上には、欠陥処理の為に予め用意されている予備領域である交替セクタ領域が存在する。ここでは、例えば図10に示すように、各トラック毎に、そのトラックの最終セクタから先頭セクタまでの領域を、交替セクタ領域とする。
図9に示す処理は、任意の位置において上記4つの磁気ヘッドによって3つの分割データとパリティを読み出し、これら分割データの何れか又はパリティが損失したことを検出し、損失したデータ(分割データ又はパリティ)を他のデータを用いて復元した後に、開始されるものとする。
図9において、まず、損失が発生したトラックの交替セクタ領域に空きがあるか否かをチェックする(ステップS71)。空きがあった場合には(ステップS71,YES)、まず、上記サーボヘッドを制御して、この交替セクタ領域において空きがある領域の最初のセクタの位置に、サーボヘッドを移動することで、位置決めを行なう(ステップS72)。そして、この位置において、上記4つの磁気ヘッドによって3つの分割データとパリティを同時に書き込ませる(ステップS73)。これによって、例えば、図10に示すように、交替セクタ領域に、損失データと他の分割データとパリティが書き込まれ、縮退状態から回復させることができる。
以上の処理を、損失データが発生する毎に実行していくと、いずれは、図11(a)に示すように、あるトラックの交替セクタ領域に空きが無い状態になることになる(ステップS71,NO)。
この場合、更に、同一シリンダ内の他のディスク面の交替セクタ領域に、空きがあるか否かをチェックし、空きが無い場合には(ステップS74)、使用できる交替領域が無いことを報告する(ステップS77)。一方、空きがある場合には(ステップS74,YES)、上記サーボヘッドを制御して、この交替セクタ領域において空きがある領域の最初のセクタの位置に、サーボヘッドを移動することで、位置決めを行なう(ステップS75)。そして、この位置において、当該シリンダ内交替セクタが存在するディスク面に対応する4つの磁気ヘッドによって、3つの分割データとパリティを同時に書き込ませる(ステップS76)。これによって、例えば、図11(b)に示すように、シリンダ内交替セクタ領域に、損失データと他の分割データとパリティが書き込まれ、縮退状態から回復させることができる。
次に、以下に、単体の磁気ディスク装置内でRAIDを構成する場合におけるパーティクル拡散防止の為の実施例について、図12を参照して説明する。
本例では、図12に示すように、同一の回転軸上に多段に構成される複数の磁気ディスク10−1〜10−nの各々の間に、吸着性素材の円板である吸着ディスク50−1〜50−n+1を挿入した構成とする。尚、吸着ディスク50−1と吸着ディスク50−n+1は、厳密に言えば磁気ディスク間に挿入されたものではないが、ここでは、一緒に扱うものとする。
吸着性素材の円板は、特に材質は特定しないが、少なくとも表面に何らかの吸着性を有するものであれば、何でもよい。よって、円板の素材自体に吸着性がなくても、その表面に吸着性の塗料を塗ったものであってもよい。
このようにすることで、ある箇所でヘッドクラッシュ等によりパーティクルが発生しても、速やかに、発生箇所近くの吸着ディスク50に吸着されるので、パーティクルが磁気ディスク装置内に拡散することを防止できる。これによって、衝突箇所以外の場所も損傷を受けることを防止でき、特に、単体の磁気ディスク装置内でRAIDを構成する場合において、同時に複数の場所が損傷することで損失データを復元できなくなることを防止できる。
上述してある通り、上記図4、図5〜図7、図11等のフローチャートに示す各種処理・機能は、コントローラ31等を有する磁気ディスク装置内の制御装置が、所定のプログラムを実行することによって実現される。このプログラムは、磁気ディスク装置内のROMに格納されるが、外部からインタフェース32を介してダウンロードして、ROMを書き換えることもできる。
最後に、図13に、上記構成の磁気ディスク装置を搭載した情報処理装置(サーバ等)全体の概略的なハードウェア構成を示す。
同図に示す情報処理装置70は、CPU71、メモリ72、入力装置73、出力装置74、外部記憶装置75、媒体駆動装置76、ネットワーク接続装置77等を有し、これらがバス78に接続された構成となっている。同図に示す構成は一例であり、これに限るものではない。
CPU71は、当該情報処理装置70全体を制御する中央処理装置である。
メモリ72は、プログラム実行、データ更新等の際に、外部記憶装置75(あるいは可搬型記録媒体79)に記憶されているプログラムあるいはデータを一時的に格納するRAM等のメモリである。
入力装置73は、例えばキーボード、マウス、タッチパネル等である。
出力装置74は、例えばディスプレイ、プリンタ等である。
外部記憶装置75は、例えば本例による上記磁気ディスク装置等(ハード・ディスク・ドライブ)である。この磁気ディスク装置は、外部コントローラ、すなわち情報処理装置70本体側からのコマンドに応じて、上述したデータ書き込み/読み出し処理等を実行する。
媒体駆動装置76は、可搬型記録媒体79に記憶されているプログラム/データ等を読み出し、あるいは書き込む。可搬型記録媒体79は、例えば、FD(フレキシブルディスク)、CD−ROM、その他、DVD、光磁気ディスク等である。
ネットワーク接続装置77は、ネットワークに接続して、外部の他の情報処理装置とプログラム/データ等の送受信(ダウンロード等)を可能にする構成である。
また、磁気ディスク装置内部で自律的にRAIDを構成した場合において、冗長度が失われた場合でも、冗長性の回復を行なうことができる。
また、単体の磁気ディスク装置内でRAIDを構成する場合において、パーティクルの拡散を防止し、衝突箇所以外の場所も損傷を受けることを防ぐことができ、以って損失データを復元できなくなる事態を防止できる。
【特許請求の範囲】
【請求項1】 単体ディスク装置内でRAIDを構成する磁気ディスク装置であって、
1つのアーム当りに複数のデータアクセスヘッドを設けると共に、該複数のデータアクセスヘッドはディスクの同一面上において異なるトラックに同時にアクセスできる位置関係となるように構成し、
データ書き込みの際に、該データを分割して、該複数の分割データに応じたパリティを生成して、該複数の分割データとパリティとを、前記複数のデータアクセスヘッドによって、前記ディスクの同一面上の異なるトラックに同時に書き込ませる制御手段を有することを特徴とする磁気ディスク装置。
【請求項2】 前記制御手段は、データ読み出しの際に、前記複数のデータアクセスヘッドによって、前記ディスクの同一面上の異なるトラックから同時に、前記複数の分割データとパリティとを読み出して、損失データがある場合には他の分割データとパリティを用いて該損失データを再構成することを特徴とする請求項3記載の磁気ディスク装置。
【請求項3】 連続アクセスの際に、一度に2トラック以上移動する長距離シークに対応して、1トラックシークに対応するトラックスキューとは別に、該長距離シークに対応して回転待ち時間が最小となるようなトラックスキューを設定することを特徴とする請求項1又は2記載の磁気ディスク装置。
【請求項4】 前記分割データの何れかまたはパリティが損失した場合、損失発生箇所を、外部コントローラが参照するアドレスで通知することを特徴とする請求項1記載の磁気ディスク装置。
【請求項5】 書き込むべきデータを分割して、該複数の分割データに応じたパリティを生成して、該複数の分割データとパリティとを、1つのアーム当りに複数設けられ、ディスクの同一面上の異なるトラックに同時にアクセスできるように配置された各データアクセスヘッドを用いて、前記ディスクの同一面上の異なるトラックに同時に書き込ませることを特徴とする磁気ディスクへのアクセス制御方法。
【請求項6】 1つのアーム当りに複数設けられ、ディスクの同一面上の異なるトラックに同時にアクセスできるように配置された各データアクセスヘッドを用いて、
前記ディスクの同一面上の異なるトラックから同時に、複数の分割データとパリティとを読み出して、損失データがある場合には他の分割データとパリティとを用いて該損失データを再構成することを特徴とする磁気ディスクへのアクセス制御方法。
【請求項7】 コンピュータに、
書き込むべきデータを分割して、該複数の分割データに応じたパリティを生成して、該複数の分割データとパリティとを、1つのアーム当りに複数設けられ、ディスクの同一面上の異なるトラックに同時にアクセスできるように配置された各データアクセスヘッドを用いて、前記ディスクの同一面上の異なるトラックに同時に書き込ませる機能、
を実現させる為のプログラム。
【請求項8】 コンピュータに、
書き込むべきデータを分割して、該複数の分割データに応じたパリティを生成して、該複数の分割データとパリティとを、1つのアーム当りに複数設けられ、ディスクの同一面上の異なるトラックに同時にアクセスできるように配置された各データアクセスヘッドを用いて、前記ディスクの同一面上の異なるトラックに同時に書き込ませる機能、
を実現させるプログラムを記録した前記コンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
本発明は、単体ディスク装置内でRAIDを構成する磁気ディスク装置に関する。
【背景技術】
現在、磁気ディスクの信頼性を向上させる手法として、RAID(Redundant Arrays of Inexpensive Disks)が知られている。RAIDは、基本的には 、複数の磁気ディスク装置に、冗長にデータを格納する手法であり、複数のディスクを並列に接続し、その全体をまとめて制御することにより、高速性・障害耐久性の向上を図ったストレージ技術のことである。RAIDを採用することにより、ディスク障害におけるデータ損失の軽減 ・ ディスク障害における無停止システム稼動 ・ ディスクアクセス効率の向上による高速化 ・ ディスク障害における復旧時間の削減等の効果が期待できる。
現在、主に、RAID1、RAID3、RAID4、RAID5の方式が、よく知られている。
RAID1は、“ミラーリング”とも呼ばれており、2台のディスクに同一データを書き込み、冗長性を図る構成である。
RAID3は、分割データとパリティを生成・格納することで、1つの分割データが損失したときに、残った分割データとパリティとから損失データを再構成する手法である。また、分割データとパリティに同時にアクセス制御する。
RAID4、RAID5は、RAID3に似た手法であるが、ここでは特に説明しない。
ここで、一般的に、RAIDは、複数台の独立したハードディスクを並列に、一台のディスク装置のごとく使用することで実現する。つまり、複数の磁気ディスク装置を必要とする。また、データの分割や再構成或いは複数の磁気ディスク装置を同期させる為の制御装置を必要とする為、構成が複雑且つ高価となる。
これに対して、単体の磁気ディスク装置内でRAIDを構成する手法も、提案されている。
以上の従来技術については、例えば、以下、以下に説明する特許文献1〜特許文献6等の公知文献が存在する(尚、直接RAIDに関係しないが、その構成を考慮しておく必要があるものも含まれる)。
例えば、特開平4−349273号公報(特許文献1と呼ぶ)記載の発明では、従来のハードディスク装置を用いてミラーリング機能を実現するためには、2台のハードディスク装置を用いることが考えられるが、一台のハードディスク装置内の2箇所に同一データを書き込むようにする。その為に、データ記録時に、データは、ステップS1で第1の記録場所に記録され、ステップS2で同じデータ(ミラーデータ)が第2の記録場所に記録されるように制御する。この2箇所の記録場所の違いにより、以下の4種類のハードディスク装置を提供する。
(1)同一円板上の、同一面の、同一トラック上の、別なセクタに同じデータを記録する。
(2)同一円板上の、同一面の、別なトラック上の、別なセクタに同じデータを記録する。
(3)同一円板上の、別な面の、別なトラック上の、別なセクタに同じデータを記録する。
(4)別な円板上の、別な面の、別なトラック上の、別なセクタに同じデータを記録する。
また、例えば、特開平3−76003号公報(特許文献2と呼ぶ)記載の発明は、各々が複数の磁気ディスクの何れかの面に対応した複数の記録/再生用 ヘッドを有する構成において、各記録/再生用ヘッド毎に直列/並列変換回路を設けると共に、この複数の記録/再生用ヘッドが、独自に移動して、データの 記録/再生を同時に行なえるようにする。これによって、ヘッドの使用効率を 高め、データ処理時間の短縮、処理性能の向上を図るものである。
また、例えば、特開2002−100128号公報(特許文献3と呼ぶ)記載の発明は、多段化された磁気ディスクにアクセスする複数の磁気ヘッドを支持する為の、独立して回転可能な複数のアクチュエータブロックを備えるヘッドスタックアッセンブリーを有し、複数の磁気ディスクに分散して書き込み、読み取りを行なう作業を並行して行なうことで、記録容量を増大させつつ、処理の高速化を図る発明である。また、各アクチュエータブロックの磁気ヘッドと該磁気ヘッドがアクセスする磁気ディスクとを1単位として、必要に応じた機能を持たせることで、一台の磁気ディスク装置を、簡易的に、いわゆるレイド(RAID Redundant Arrays of Inexpensive Disks)と同等に使用すること ができる。
また、例えば、特開平7−49750号公報(特許文献4と呼ぶ)記載の発明では、ディスク媒体の同一サーフェスにアクセスできる2系統の記録再生機構を備えたディスク装置を複数台組み合わせて、ディスクアレイ装置を構成する。そして、復旧動作と、ホストからのアクセスへの応答とを、別の記録再生機構を用いて行なうことで、復旧動作と、ホストからのアクセスへの応答とを、並列に処理することができるようにしている。
また、例えば、特開2001−307410号公報(特許文献5と呼ぶ)記載の発明は、AVデータ等の大容量連続データを書き込むときに、自動的に複製を作成することが可能となり、単一の磁気ディスク装置によってミラーリングRAIDシステムを実現できるものである。特許文献5の発明では、磁気ヘッドの切り替え時間、シリンダーシーク時間、磁気ディスク装置が搭載する磁気ヘッドの数を設定し、磁気ヘッドの切り替え回数等を求める。そして、転送されたデータを磁気ディスクに書き込み、磁気ヘッドを切り替えて、同じ磁気ディスクの別の記録面または他の磁気ディスクの記録面に、転送されたデータの複製を書き込む。あるいは、転送されたデータを、1セクターのみ磁気ディスクに書き込み、続いて、連続したセクターにデータの複製を書き込む処理を繰り返し実行する。これによって、単一の磁気ディスク上に複数の複製データを記録できる。
また、例えば、特開平8−83152号公報(特許文献6と呼ぶ)記載の発明は、RAID5と呼ばれるディスクアレイ装置において、特に(1)旧データ及び旧パリティリード、(2)新パリティの作成、(3)新データ及び新パリティライト、という処理を行なう際に、(1)、(2)の処理中にディスクが回転する為に、(3)のライト(書き込み)処理を行なうには、略1回転分近くの回転待ち時間が掛かってしまうという問題を解決する発明である。この為に、特許文献6では、1本のアクチュエータ(1本のアーム)に対して2個のヘッドが、ディスクの回転方向において異なる位置であって同一円周上の位置に設けられる。そして、先にある第1ヘッドをリード専用ヘッド、後にある第2ヘッドをライト専用ヘッドとして用いる。これによって、上記(1)、 (2)の処理と同一のディスク回転周期内において、上記(3)のライト(書き込み)処理を実行できる。
上述した単体のディスク装置内でRAIDを構成する従来技術は、大別すると、以下の2つに分類される。
(a) 複数のディスク面に、データを重複したり、分割データ/パリティを 書き込む方式(以下、面間RAID方式と呼ぶ)。
(b) 同一ディスク面に、データを重複したり、分割データ/パリティを書 き込む方式(以下、面内RAID方式と呼ぶ)。つまり、ディスク1枚且つ片面のみでRAIDを構成できる方式。
面間RAID方式は、複数のディスク面が必要であり、また、磁気ディスク装置を構成するディスクの数が、RAIDの構成に依存することになる。つまり、例えば、4つの分割データとパリティを記録するRAID3,4,5的な構成とする場合、5つのディスク面が必要となる。また、特許文献3等のように複数のアクチュエータを用いる手法では、装置構成やその制御方法が複雑となる。また、コスト高となる。
一方、面内RAID方式のように、ディスク1枚且つ片面のみでRAIDを構成できる方式では、ディスクの数がRAIDの構成に依存することことなく、任意のディスク数を持つ磁気ディスク装置を構成できる。
よって、面内RAID方式のほうが望ましいが、上記従来の面内RAID方式の実現手法には、以下の課題があった。
まず、特許文献1記載の手法では、ミラーリングを実現する為に、ステップS1、S2の2回のデータ書き込み動作が必要であり、高速化を図れない。この問題は、特許文献5において、「1セクターのみ磁気ディスクに書き込み、続いて、連続したセクターにデータの複製を書き込む処理を繰り返し実行する」場合も、同様である。
これに対して、特許文献4記載の発明は、復旧動作に係わる発明であるが、その中に開示されている「ディスク媒体の同一サーフェスにアクセスできる2系統の記録再生機構を備えた1つのディスク装置」の構成を利用して、同一面の2箇所に同時にアクセスできる面内RAID方式を実現することが考えられる。しかしながら、この場合にも、複数のアクチュエータを用いるので、上記特許文献3と同様、装置構成やその制御方法が複雑となり、またコスト高となる。更に、特許文献3の構成において、RAID3,4,5を構成する為には最低3つの箇所を同時にアクセスできる構成、すなわち最低3つのアクチュエータが必要となるが、1つのディスク装置内に3つ以上のアクチュエータを設けることは、現実的には困難であるので、実質的にはRAID3,4,5は構成できない。
尚、特許文献6には、1本のアームに対して2個のヘッドが設けられた構成が開示されているが、これはディスクの回転方向において異なる位置であって同一円周上の位置に設けられるものであり、また、その目的は、リード処理と同一のディスク回転周期内において、ライト処理を実行できるようにすることである。
また、更に、磁気ディスク装置内部で自律的にRAIDを構成した場合においては、外部のOS側(外部コントローラ)からは、当該磁気ディスク装置は、単なる1つのディスク(但し、故障率が非常に低い)であるように見える。例えば、RAID1的な構成の磁気ディスク装置であっても、外部のOS側から見ると、二重化(ミラーリング)されていることは分からない。この為、このような磁気ディスク装置において、冗長度が失われた場合、外部コントローラは、通常のI/Oコマンドでは、RAIDが縮退状態にあることを認識できない。この為、信頼性維持の為の冗長性の回復を行なうことができなかった。
また、更に、ヘッドクラッシュ等によりディスクとヘッドが衝突すると、磁気ディスク装置内にパーティクルが拡散し、衝突箇所以外の場所も損傷を受けることがある。特に、単体の磁気ディスク装置内でRAIDを構成する場合には、どのような方式であれ、同時に複数の場所が損傷すると、損失データを復元できなくなる可能性があり、信頼性を維持できなくなる。
本発明の課題は、単体の磁気ディスク装置内でRAIDを構成する場合において、アクチュエータを複数とすることなく、ディスク1枚且つ片面のみでもRAIDを構成できると共に、この同一面上の複数トラックに同時にアクセス可能とすることでアクセス処理の高速化も図れる磁気ディスク装置、そのアクセス制御方法、プログラム、記録媒体を提供することである。
また、磁気ディスク装置内部で自律的にRAIDを構成した場合において、冗長度が失われた場合でも、冗長性の回復を行なうことができる磁気ディスク装置等を提供することである。
また、単体の磁気ディスク装置内でRAIDを構成する場合において、パーティクルの拡散を防止し、衝突箇所以外の場所も損傷を受けることを防ぐことができる磁気ディスク装置等を提供することである。
【発明の開示】
本発明による磁気ディスク装置は、単体ディスク装置内でRAIDを構成する磁気ディスク装置であって、1つのアーム当りに複数のデータアクセスヘッドを設けると共に、該複数のデータアクセスヘッドはディスクの同一面上において異なるトラックに同時にアクセスできる位置関係となるように構成し、データ書き込みの際に、該データを分割して、該複数の分割データに応じたパリティを生成して、該複数の分割データとパリティとを、前記複数のデータアクセスヘッドによって、前記ディスクの同一面上の異なるトラックに同時に書き込ませる制御手段を有するように構成する。
このように構成することで、単体ディスク装置内でRAIDを構成する磁気ディスク装置であって、特にディスク1枚且つ片面のみでもRAIDを構成できる方式、すなわち上記面内RAID方式を、アクチュエータを複数とすることなく且つ書き込み等の処理を複数回行なうことなく実現できる。すなわち、単体のアクチュエータで複数のデータを同時に書き込み等できる面内RAID方式を実現できる。更に、RAID3的な制御を行なえる磁気ディスク装置を実現できる。
また、例えば、連続アクセスの際に、一度に2トラック以上移動する長距離シークに対応して、1トラックシークに対応するトラックスキューとは別に、該長距離シークに対応して回転待ち時間が最小となるようなトラックスキューを設定する。
一般に、例えば大容量データを書き込み等する際には、複数のトラックに連続アクセスする為、アームを1トラックずつシークしながらデータを書き込むが、その際、1トラックシークに応じたスキュー(トラック上の先頭セクタの位置)の調整を行なっている。読み出しの際にも同様である。
一方、本発明の磁気ディスク装置では、1つのアーム当りに複数のヘッドを設けて、同一ディスク面上の異なるトラックを同時にアクセスする構成なので、状況によって、例えば2つのヘッドを用いる構成の場合には、このヘッド間の距離にほぼ等しい距離分を一度にシークする(長距離シーク)必要が生じる。これに応じて、長距離シークに応じたスキューの調整も行なうようにする。
これによって、1トラックシークだけでなく、長距離シークも含めて、連続アクセス時の回転待ち時間を抑制できる。
あるいは、例えば、前記分割データの何れかまたはパリティが損失した場合、損失発生箇所を、外部コントローラが参照するアドレスで通知するようにしてもよい。
【発明を実施するための最良の形態】
以下、図面を参照して、本発明の実施の形態について説明する。
図1(a)、(b)は、本例による磁気ディスク装置が備えるデータアクセスヘッドの構成の一例を示す図である。
また、図2(a)、(b)には、本例によるデータアクセスヘッドのディスク面上における位置関係を示す図である。
本例による磁気ディスク装置は、1つのアーム当りに複数のデータアクセスヘッド(ここでは磁気ヘッド)を設ける。ここでは、図1(a)には2つの磁気ヘッド、図1(b)には3つの磁気ヘッドを設けた例を示すが、これに限らず、4つ以上の磁気ヘッドを設けた構成であってもよい。
図1(a)の例では、任意の1つのアーム(不図示)の先端付近に備えられるスライダーの両側にある各レール上に、それぞれ磁気ヘッド(磁極)1,2が備えられる。
図1(b)の例では、上記2つのレールの中間に、更にもう1つレールを設け、このレール上にも磁気ヘッドを備えることで、図示のようにスライダーの3つのレール上に3つの磁気ヘッド1,2,3が備えられる。4つ以上の磁気ヘッドを設けた構成も、同様である。
1つのアーム当りに複数の磁気ヘッドを設ける構成自体は、上記特許文献6でも行なわれている。しかしながら、本例では、これら複数の磁気ヘッドの磁気ディスクに対する位置関係が異なる(そもそも、目的が異なる)。
図2(a)、(b)には、この位置関係を示す。
図2(a)には、1つのアーム当りに2つの磁気ヘッドを設けた構成において、これら2つの磁気ヘッドの磁気ディスク10に対する位置関係を示す。図示の通り、2つの磁気ヘッド1,2は、アクセスの際に、磁気ディスク10の同一面上の異なるトラックに対向する位置となるように配置されている。
このように構成することで、1つのアームで、磁気ディスク10の同一面上の異なるトラックに、同時に、データを書き込み又は読み出しすることが可能となる。そして、例えば、2つの磁気ヘッドによって書き込むデータが、任意のデータとこのデータの複製、すなわち同一データAとした場合、1つのアームで、磁気ディスク10の片面のみで、同時に同一データの書き込みを行なえる構成、つまり1枚の磁気ディスク且つ片面のみでRAID1的な磁気ディスク装置を構成することができる。
尚、例えば、スライダーの幅が1(mm)で、トラック幅が0.4(μm)であったとすると、ヘッド間には2500本のトラックが存在することになるが、ここでは、簡略化して示している。尚、当然、ヘッド間の距離は、任意に決めることができる。
図2(b)には、1つのアーム当りに5つの磁気ヘッドを設けた構成において、これら5つの磁気ヘッドの磁気ディスクに対する位置関係を示す。図示の通り、5つの磁気ヘッド1,2,3,4,5は、各々、アクセスの際に磁気ディスクの同一面上の異なるトラックに対向する位置となるように配置されている。
そして、例えば、ディスクに書き込むべき任意のデータを4つに分割して、これら4つの分割データA,B,C,Dに応じたパリティを生成して、これら4つの分割データA,B,C,Dとパリティとを、上記5つの磁気ヘッドによって、各々、磁気ディスク10の同一面上の異なるトラックに同時に書き込ませる構成及び同時に読み出せる構成、すなわちRAID3的な磁気ディスク装置を構成することができる。
よく知られているように、例えば分割データAが損失した場合、分割データAは、他の分割データB、C、Dとパリティの排他的論理和演算によって復元することができる。
尚、何を以ってRAID3的と呼ぶのかは、考え方によるが、ここでは、RAID3では分割データとパリティの両方に同時にアクセス制御する、という点から、本例でもこの点と同様の制御を行なうことから、RAID3的と呼ぶものとする。
以上述べた構成により、本例の磁気ディスク装置では、アクチュエータを複数とすることなく、書き込み/読み出し処理を複数回に分けて行なうことなく、ディスク1枚且つ片面のみでRAIDを構成できる。換言すれば、面内RAID方式において、単体のアクチュエータを用いて、ディスクの同一面上の複数トラックに同時にアクセスできるようになる。これによって、構成を複雑にすることなく、処理の高速化も図ることができ、更に、ディスクの数がRAIDの構成に依存することことなく、任意のディスク数を持つ磁気ディスク装置を構成できる。また、図1(a)〜図2(b)等に示す例のような複数の磁気ヘッドを形成することは、容易に低コストに実現できる。少なくとも、複数のアクチュエータを備える構成に比べれば、はるかに低コストとなる。
図3(a)に、本例の磁気ディスク装置の全体構成の一例を示す。
また、図3(b)は、本例の磁気ディスク装置の制御装置の機能構成図である。
図3(a)、(b)を参照して、本例の磁気ディスク装置全体について説明する。尚、図3(a)、(b)に示す全体構成自体は、一般的な構成である。本例の磁気ディスク装置の特徴は、各スライダー21に複数の磁気ヘッドを形成することでアーム1つ当りに複数の磁気ヘッドを備える構成とし、且つこれら複数の磁気ヘッドが、磁気ディスク10の同一面上の異なるトラックに同時にアクセス可能な位置関係となるように構成する点、及びそのアクセス制御方法にある。
図3(a)に示す例では、複数の磁気ディスク10が、1つの回転軸11上に一定間隔をおいて並べられており、不図示のスピンドル・モータによって一体的に回転駆動される。
また、複数のアーム20が、1つの回転軸22を中心として、不図示のボイス・コイル・モータによって回転駆動されて、各スライダー21に設けられる磁気ヘッドを、磁気ディスク10の面上の所定の位置に移動させる。これは、ここでは、1つのアクチュエータで複数のアームを連動して動かす、とも表現するものとする。
各アーム21の先端付近には、スライダー21が設けられている。よく知られているように、スライダーは、ヘッド・スライダとも呼ばれており、支持ばね等を介してアーム20に接続され、アクセスの際には、ディスク面上から十数(nm)程度のすき間を保って浮上している。一般的に知られているスライダーの形状としては、例えば、テーパ・フラット・タイプと呼ばれているものがある。これは、スライダ両端にレール部を有し、その流入部にテーパ加工を施した形状である。図1(a)に示した磁気ヘッドは、このようなスライダ両端にレール部を有する形状において、2つのレール部の両方にそれぞれ磁気ヘッド(磁極)を設けた構成と考えてもよい。そして、上述してある通り、これら磁気ヘッドは、磁気ディスク10の同一面上の異なるトラックに同時にアクセス可能な位置関係となるように構成されている。
図3(b)には、磁気ディスク装置の制御部30の構成を示す。
図示の制御部30は、コントローラ31、インタフェース32、信号処理回路33、アーム制御回路34、ディスク制御回路35より成る。
ディスク制御回路35は、磁気ディスク10の回転を制御する。つまり、上記“スピンドル・モータ”を制御する回路である。
アーム制御回路34は、上記“ボイス・コイル・モータ”を制御する回路であり、アーム20を動かして、そのスライダー21(つまり、複数の磁気ヘッド)を任意の位置へと移動させる。
信号処理回路33は、同一アーム20上の複数の磁気ヘッドの入力または出力を、同時に処理する回路である。回路構成は特に示さないが、例えば、複数の磁気ヘッドそれぞれに対応する複数のバッファを備える。例えば、図2(b)に示す構成でRAID3的な制御を行なう場合には、5つのバッファを備えるものとし、生成した4つの分割データとパリティを各バッファに一時格納して、これらを同時に出力する。
インタフェース32は、不図示の外部コントローラ(例えば、サーバの制御部)とのインタフェースである。
コントローラ31は、当該制御部30全体を制御するMPU等のプロセッサであり、上記インタフェース32を介して、外部コントローラからデータ書き込み/読み出しのコマンドを受けると、このコマンドに応じた処理を実行する 。
例えば、使用する磁気ヘッドを決定し、アーム制御回路34によりアーム20を制御させて、そのアーム20の磁気ヘッドを目的の位置に移動させる(図4のステップS11)。そして、信号処理回路33により、そのアーム20上の複数の磁気ヘッドの入力または出力を、同時に処理させる。つまり、同一アーム20上の複数の磁気ヘッドによって、磁気ディスク10の同一面上の異なるトラックに同時にアクセスさせる(図4のステップS12)。
以下、このコントローラ31による制御処理について、更に、図5〜図7、図11のフローチャート図等を参照して説明する。
尚、図4、及び図5〜図7、図11のフローチャート図に示す制御処理は、コントローラ31がその内部に記憶されている所定のプログラムを実行することにより、あるいはコントローラ31が制御装置30内の不図示のメモリに格納されている所定のプログラムを読み出し、実行することにより、実現される。これは、コンピュータが、上記プログラムを実行することにより、図4、及び図5〜図7、図11のフローチャート図に示す制御処理の機能を実現する、と表現してもよい。
図5は、上記図1(a)、図2(a)に示す構成の複数の磁気ヘッドを用いて、RAID1的な磁気ディスク装置を構成する場合の制御処理を示す図である。図5(a)はデータ書き込み時、図5(b)はデータ読み出し時の処理を示す。
図5(a)において、コントローラ31は、上記インタフェース32を介して、外部コントローラからデータ・ライト・コマンドを受けると、まず、このコマンドに応じて使用する磁気ヘッドを決定し、アーム制御回路34によりアーム20を制御させて、そのアーム20の磁気ヘッドを目的の位置に移動させる(ステップS21)。そして、信号処理回路33により、そのアーム20上の2つの磁気ヘッドによって、上記書き込むべきデータとその複製、つまり同一のデータを、同時に書き込ませる。つまり、同一アーム20上の2つの磁気ヘッドによって、磁気ディスク10の同一面上の異なるトラックに同時に、同一データを書き込ませる(ステップS22)。
一方、このように書き込まれたデータの読み出しの際には、図5(b)に示すように、コントローラ31は、上記インタフェース32を介して、外部コントローラからデータ・リード・コマンドを受けると、まず、このコマンドに応じて使用する磁気ヘッドを決定し、アーム制御回路34によりアーム20を制御させて、そのアーム20の磁気ヘッドを目的の位置に移動させる(ステップS31)。そして、信号処理回路33により、そのアーム20上の2つの磁気ヘッドのうちの何れか一方の磁気ヘッドによって、データを読みとらせる(ステップS32)。尚、もしデータを読み出せない場合には、他方の磁気ヘッドによってデータを読み取らせる。
図6は、上記図2(b)に示す構成の複数の磁気ヘッドを用いて、RAID3的な磁気ディスク装置を構成する場合の制御処理を示す図である。図6(a)はデータ書き込み時、図6(b)はデータ読み出し時の処理を示す。
また、尚、以下の説明では、上記図2(b)に示す構成例に対応して、1つのアーム当りに5つの磁気ヘッドを設けた構成を前提にして説明するが、これに限るわけではない。
図6(a)において、コントローラ31は、上記インタフェース32を介して、外部コントローラからデータ・ライト・コマンドを受けると、まず、このコマンドに応じて使用する磁気ヘッドを決定し、アーム制御回路34によりアーム20を制御させて、そのアーム20の磁気ヘッドを目的の位置に移動させる(ステップS41)。
また、上記書き込みべきデータを、例えば4つに分割すると共に、この4つの分割データのパリティを生成して、それぞれ、信号処理回路33内にある5つのバッファに一時格納する。そして、信号処理回路33により、上記アーム20上の5つの磁気ヘッドによって、上記4つの分割データとそのパリティを、磁気ディスク10の同一面上の異なるトラックに同時に、書き込ませる(ステップS42)。
一方、このように書き込まれた分割データ及びパリティの読み出しの際には、図6(b)に示すように、コントローラ31は、上記インタフェース32を介して、外部コントローラからデータ・リード・コマンドを受けると、まず、このコマンドに応じて使用する磁気ヘッドを決定し、アーム制御回路34によりアーム20を制御させて、そのアーム20の磁気ヘッドを目的の位置に移動させる(ステップS51)。
次に、信号処理回路33により、上記アーム20上の5つの磁気ヘッドによって、各々、異なるトラックに記録されているデータ、すなわち上記4つの分割データとパリティを読みとらせる(ステップS52)。
そして、もし、何らかの理由によって、読み出せない分割データがあった場合には(ステップS53,YES)、読み出せた3つの分割データとパリティとに基づいて、欠損データを復元する(ステップS54)。
その後は、特に図示していないが、4つの分割データを結合して、元のデータを復元して、外部コントローラに送る。
次に、上記ステップS11、S21、S31、S41、S51の位置決め処理について、より詳細な具体例を、図7を参照して説明する。
図7は、位置決め処理の具体例について説明する為のフローチャート図である。
本例の磁気ディスク装置では、1つのアーム当りに複数の磁気ヘッドが存在することから、この複数の磁気ヘッドの中で予め決定されている1つの磁気ヘッドを基準にして、位置決めを行なう。
まず、本例の磁気ディスク装置では、既存の磁気ディスク装置と同様に、予め、複数のディスク中の任意のディスクの片面を、サーボ情報専用の又は共用の面(以下、サーボ面と呼ぶ)としておき、このサーボ面に、サーボ情報(トラックID、セクタID等)を記録しておく。所謂“サーボ面サーボ方式”を用いているものとする。尚、サーボ情報の書き込み方式には、これ以外にも、各ディスクの各面において、各々、データ・トラックの一部にサーボ情報を埋め込む方式、所謂“データ面サーボ方式”等も存在し、本発明は、“サーボ面サーボ方式”に限るわけではないが、ここではこの方式を例にして説明する。
また、本例では、所謂“LBA(Logical Block Addressing)方式”を用いるものとする。よく知られているように、LBA方式は、全てのセクタに続き番号を付けた、論理セクタという考え方に基づく方式である。
これより、コントローラ31は、上記インタフェース32を介して、外部コントローラから、アクセス先を論理アドレス(LBA)によって指定したコマンドを受けると、まず、不図示の変換テーブル等を参照して、対応するトラックID、セクタIDを求める(ステップS61)。ここで、本例では、複数の磁気ヘッドを用いるが、位置決めの為には、その中の1つの磁気ヘッドを用いれば済むので、上記変換テーブルにおいて、各論理アドレス(LBA)毎に、予め決められた1つの磁気ヘッドのトラックID、セクタIDを対応付けて登録しておく。また、その際、当該コマンドに応じて使用する磁気ヘッド(複数)も求めておく。
次に、上記“サーボ面”をアクセスするアーム20に備えられる磁気ヘッドは、通常の単一の磁気ヘッドである(以下、サーボヘッドと呼ぶ)。そして、このサーボヘッドを用いて、サーボ面上に記録されているトラックIDとセクタIDを参照して、上記ステップS61で求めたトラックID、セクタIDと一致するトラックID、セクタIDが記録されている位置を探し出すことで位置決めを完了する(ステップS62)。本例の構成では、1つの磁気ヘッドの位置決めが完了すれば、他の磁気ヘッドも所定の位置になっている。
このようにして位置決めが完了したら、後は、上記磁気ヘッド(複数)を用いて、データ・ライトまたはリードを行なえばよい(ステップS63)。
次に、以下、本例の磁気ディスク装置における長距離スキューの制御について、図8を参照して説明する。
まず、一般に、例えば大容量データを書き込み等する際には、複数のトラックに連続アクセスする為、アーム20を1トラックずつシークしながら(磁気ヘッドを隣のトラックに移動させる)データを書き込む。読み出しの際にも同様である。
その際、1トラックシークに掛かる時間を考慮して先頭セクタの位置をずらす、ということが行なわれている。つまり、1トラックシークに応じたスキューの調整(トラック上の先頭セクタの位置の調整)を行なっている。これによって、連続アクセス時の回転待ち時間を抑制できる。尚、1トラックシークに応じたトラックスキューは、トラック当りのセクタ数が同じであれば、全てにおいて同じ分だけずれる。
ところで、本例による磁気ディスク装置では、例えば図2(a)に示す構成を例にすると、2個の磁気ヘッド1、磁気ヘッド2が同一面上のnトラック(n;任意の整数)離れた位置にアクセスする構成である為、上記連続アクセスの際、通常は、1トラックずつシークしていくが、n−1本のトラックにアクセスした段階で、例えば磁気ヘッド1の次のトラックから先は、既に磁気ヘッド2がデータを書き込んだ領域である為、一度にnトラック分の距離をシークする必要が生じる。これを、ここでは、長距離シークと呼ぶ。そして、この長距離シークによるシーク時間を考慮したセクタ配置が、長距離スキューの制御方法である。
図8は、以上の長距離スキューの説明を、視覚的に分かり易く示す図である。尚、図8には、1つのアームに4つの磁気ヘッドを備えた構成を例にする。
図8に示す通り、1トラック・シークに対しては、そのシーク時間に応じて、次のトラックにおいては、物理的には前のトラックからずれた位置のセクタを、先頭セクタとするように、サーボ面上のセクタIDを記録すればよい。これは、長距離シークについても、基本的には同様であるが、比較的シーク時間が長くなるので、それに応じてスキューを調整する必要がある。
1トラック・シークに対する最適なスキューs1は、1トラックシーク時間t1、ディスク1回転に必要な時間T、及びトラック上のセクタ数nは、その装置の設計者等は予め求めることができるので、これらを用いて、以下の(1)式によって求めることができる。
s1=n×t1/T ・・・(1)式
これと同様に、長距離シーク時間t2も、予め求めることができるので、長距離シークに対する最適なスキューs2は、以下の(2)式によって求めることができる。
s2=n×t1/T ・・・(2)式
よって、以上求めたスキューs1、s2に基づいて、サーボ面上のセクタIDを設定・記録しておくことで、1トラックスキュー、長距離スキューの制御を行なうことができる。つまり、従来の制御方法の延長で、最適な位置決めを行なうことができる。
尚、当然、上記のように設定・記録したサーボ面上のセクタIDに対応する形で、コントローラ31は、予め設定される特定のトラックにアクセス後に更にシークする場合には、長距離シークを行うようにし、この長距離シークによってアクセスするトラックのサーボ面上のセクタIDは、上記上距離スキューに応じた設定となるようにしておく。
次に、以下、縮退状態からの回復処理について説明する。
通常、RAIDを構成する磁気ディスク装置において、冗長性が失われた場合、信頼性の維持の為、冗長性を回復する必要がある。換言すれば、縮退状態となった場合に、縮退状態から回復させる必要がある。冗長性が失われた場合とは、図2(a)のRAID1的な構成の場合には、磁気ディスク装置内部で冗長性が規定値より少なくなった場合であり、図2(b)のRAID3的な構成の場合には、分割データの何れか又はパリティが、損失した場合である。
しかしながら、上述してある通り、磁気ディスク装置内部で自律的にRAIDを構成した場合、外部コントローラは、通常のI/Oコマンドでは、RAIDが縮退状態にあることを認識できない。
このような問題に対して、本例では、2通りの解決方法を提案する。
1つ目の方法は、上記冗長性が失われたとき、損失発生場所を、外部コントローラが参照するアドレス(論理アドレス)を用いて、外部コントローラに通知する方法である。このような損失データ発生の通知を受けた外部コントローラは、損失発生場所のデータ(例えば、ミラーリングの場合は、損失データに対応する複製データ)を読み出して、これを未使用領域か他のディスクにコピーする処理を実行する。これによって、縮退状態から回復させることができる。
2つ目の方法は、上記冗長性が失われたとき、磁気ディスク装置内部で自律的に、損傷箇所のデータを交替セクタ領域に書き込むことによって、縮退状態から復帰する方法であり、所謂交代処理を行なう方法である。尚、交替セクタ領域とは、磁気ディスク上に、欠陥処理の為に予め用意されている予備領域のことである。
以下、この2つ目の方法について、図9〜図11を参照して説明する。
尚、図9〜図11は、図2(b)のRAID3的な構成において、分割データの何れか又はパリティが損失した場合の交代処理を説明する為の図である。
図9は、本例による交代処理を説明する為のフローチャート図である。
また、図10、図11(a)、(b)は、図9の処理の説明の為に、具体的な一例を示す図である。尚、図10、図11(a)、(b)には、1つのアームに4つの磁気ヘッドを備える構成を例にし、そのうちの3つの磁気ヘッドによって分割データをリード/ライトし、1つの磁気ヘッドによってパリティを リード/ライトするものとする。
また、上述したように、磁気ディスク上には、欠陥処理の為に予め用意されている予備領域である交替セクタ領域が存在する。ここでは、例えば図10に示すように、各トラック毎に、そのトラックの最終セクタから先頭セクタまでの領域を、交替セクタ領域とする。
図9に示す処理は、任意の位置において上記4つの磁気ヘッドによって3つの分割データとパリティを読み出し、これら分割データの何れか又はパリティが損失したことを検出し、損失したデータ(分割データ又はパリティ)を他のデータを用いて復元した後に、開始されるものとする。
図9において、まず、損失が発生したトラックの交替セクタ領域に空きがあるか否かをチェックする(ステップS71)。空きがあった場合には(ステップS71,YES)、まず、上記サーボヘッドを制御して、この交替セクタ領域において空きがある領域の最初のセクタの位置に、サーボヘッドを移動することで、位置決めを行なう(ステップS72)。そして、この位置において、上記4つの磁気ヘッドによって3つの分割データとパリティを同時に書き込ませる(ステップS73)。これによって、例えば、図10に示すように、交替セクタ領域に、損失データと他の分割データとパリティが書き込まれ、縮退状態から回復させることができる。
以上の処理を、損失データが発生する毎に実行していくと、いずれは、図11(a)に示すように、あるトラックの交替セクタ領域に空きが無い状態になることになる(ステップS71,NO)。
この場合、更に、同一シリンダ内の他のディスク面の交替セクタ領域に、空きがあるか否かをチェックし、空きが無い場合には(ステップS74)、使用できる交替領域が無いことを報告する(ステップS77)。一方、空きがある場合には(ステップS74,YES)、上記サーボヘッドを制御して、この交替セクタ領域において空きがある領域の最初のセクタの位置に、サーボヘッドを移動することで、位置決めを行なう(ステップS75)。そして、この位置において、当該シリンダ内交替セクタが存在するディスク面に対応する4つの磁気ヘッドによって、3つの分割データとパリティを同時に書き込ませる(ステップS76)。これによって、例えば、図11(b)に示すように、シリンダ内交替セクタ領域に、損失データと他の分割データとパリティが書き込まれ、縮退状態から回復させることができる。
次に、以下に、単体の磁気ディスク装置内でRAIDを構成する場合におけるパーティクル拡散防止の為の実施例について、図12を参照して説明する。
本例では、図12に示すように、同一の回転軸上に多段に構成される複数の磁気ディスク10−1〜10−nの各々の間に、吸着性素材の円板である吸着ディスク50−1〜50−n+1を挿入した構成とする。尚、吸着ディスク50−1と吸着ディスク50−n+1は、厳密に言えば磁気ディスク間に挿入されたものではないが、ここでは、一緒に扱うものとする。
吸着性素材の円板は、特に材質は特定しないが、少なくとも表面に何らかの吸着性を有するものであれば、何でもよい。よって、円板の素材自体に吸着性がなくても、その表面に吸着性の塗料を塗ったものであってもよい。
このようにすることで、ある箇所でヘッドクラッシュ等によりパーティクルが発生しても、速やかに、発生箇所近くの吸着ディスク50に吸着されるので、パーティクルが磁気ディスク装置内に拡散することを防止できる。これによって、衝突箇所以外の場所も損傷を受けることを防止でき、特に、単体の磁気ディスク装置内でRAIDを構成する場合において、同時に複数の場所が損傷することで損失データを復元できなくなることを防止できる。
上述してある通り、上記図4、図5〜図7、図11等のフローチャートに示 最後に、図13に、上記構成の磁気ディスク装置を搭載した情報処理装置 同図に示す情報処理装置70は、CPU71、メモリ72、入力装置73、出力装置74、外部記憶装置75、媒体駆動装置76、ネットワーク接続装置77等を有し、これらがバス78に接続された構成となっている。同図に示す構成は一例であり、これに限るものではない。
CPU71は、当該情報処理装置70全体を制御する中央処理装置である。
メモリ72は、プログラム実行、データ更新等の際に、外部記憶装置75 入力装置73は、例えばキーボード、マウス、タッチパネル等である。
出力装置74は、例えばディスプレイ、プリンタ等である。
外部記憶装置75は、例えば本例による上記磁気ディスク装置等(ハード・ 媒体駆動装置76は、可搬型記録媒体79に記憶されているプログラム/デ ネットワーク接続装置77は、ネットワークに接続して、外部の他の情報処 【産業上の利用の可能性】
以上、詳細に説明したように、本発明の磁気ディスク装置、そのアクセス制御方法、プログラム、記録媒体によれば、単体の磁気ディスク装置内でRAIDを構成する場合において、アクチュエータを複数とすることなく、ディスク1枚且つ片面のみでもRAIDを構成できると共に、同一面上の複数トラックに同時にアクセス可能とすることでアクセス処理の高速化も図れる。
また、磁気ディスク装置内部で自律的にRAIDを構成した場合において、冗長度が失われた場合でも、冗長性の回復を行なうことができる。
また、単体の磁気ディスク装置内でRAIDを構成する場合において、パーティクルの拡散を防止し、衝突箇所以外の場所も損傷を受けることを防ぐことができ、以って損失データを復元できなくなる事態を防止できる。
本発明は、後述する詳細な説明を、下記の添付図面と共に参照すればより明らかになるであろう。
【図面の簡単な説明】
【図1】複数の磁気ヘッドの一例を示す図であり、(a)は2つの磁気ヘッド、(b)は3つの磁気ヘッドの構成例である。
【図2】複数の磁気ヘッドによるアクセス時の位置関係を示す図であり、(a)は2つの磁気ヘッド、(b)は5つの磁気ヘッドを用いる例である。
【図3】(a)は本例の磁気ディスク装置の全体構成図、(b)はその制御装置の機能構成図である。
【図4】制御装置による基本的なアクセス制御処理を説明する為のフローチャート図である。
【図5】RAID1的な制御処理を示す図であり、(a)はデータ書き込み時、(b)はデータ読み出し時の処理を示すフローチャート図である。
【図6】RAID3的な制御処理を示す図であり、(a)はデータ書き込み時、(b)はデータ読み出し時の処理を示すフローチャート図である。
【図7】位置決め処理の具体例について説明する為のフローチャート図である。
【図8】本例の磁気ディスク装置における長距離スキュー制御について説明する為の図である。
【図9】縮退状態からの復帰処理を説明する為のフローチャート図である。
【図10】図9の処理に係わり、具体的な一例を示す図(その1)である。
【図11】(a),(b)は、図9の処理に係わり、具体的な一例を示す図(その2)(その3)である。
【図12】パーティクル拡散防止の為の構成図である。
【図13】本例の磁気ディスク装置を搭載した情報処理装置(サーバ等)全体の概略的なハードウェア構成を示す。
【特許請求の範囲】
【請求項1】 単体ディスク装置内でRAIDを構成する磁気ディスク装置であって、
1つのアーム当りに複数のデータアクセスヘッドを設けると共に、該複数のデータアクセスヘッドはディスクの同一面上において異なるトラックに同時にアクセスできる位置関係となるように構成し、
データ書き込みの際に、該データを分割して、該複数の分割データに応じたパリティを生成して、該複数の分割データとパリティとを、前記複数のデータアクセスヘッドによって、前記ディスクの同一面上の異なるトラックに同時に書き込ませる制御手段を有することを特徴とする磁気ディスク装置。
【請求項2】 前記制御手段は、データ読み出しの際に、前記複数のデータアクセスヘッドによって、前記ディスクの同一面上の異なるトラックから同時に、前記複数の分割データとパリティとを読み出して、損失データがある場合には他の分割データとパリティを用いて該損失データを再構成することを特徴とする請求項3記載の磁気ディスク装置。
【請求項3】 連続アクセスの際に、一度に2トラック以上移動する長距離シークに対応して、1トラックシークに対応するトラックスキューとは別に、該長距離シークに対応して回転待ち時間が最小となるようなトラックスキューを設定することを特徴とする請求項1又は2記載の磁気ディスク装置。
【請求項4】 前記分割データの何れかまたはパリティが損失した場合、損失発生箇所を、外部コントローラが参照するアドレスで通知することを特徴とする請求項1記載の磁気ディスク装置。
【請求項5】 書き込むべきデータを分割して、該複数の分割データに応じたパリティを生成して、該複数の分割データとパリティとを、1つのアーム当りに複数設けられ、ディスクの同一面上の異なるトラックに同時にアクセスできるように配置された各データアクセスヘッドを用いて、前記ディスクの同一面上の異なるトラックに同時に書き込ませることを特徴とする磁気ディスクへのアクセス制御方法。
【請求項6】 1つのアーム当りに複数設けられ、ディスクの同一面上の異なるトラックに同時にアクセスできるように配置された各データアクセスヘッドを用いて、
前記ディスクの同一面上の異なるトラックから同時に、複数の分割データとパリティとを読み出して、損失データがある場合には他の分割データとパリティとを用いて該損失データを再構成することを特徴とする磁気ディスクへのアクセス制御方法。
【請求項7】 コンピュータに、
書き込むべきデータを分割して、該複数の分割データに応じたパリティを生成して、該複数の分割データとパリティとを、1つのアーム当りに複数設けられ、ディスクの同一面上の異なるトラックに同時にアクセスできるように配置された各データアクセスヘッドを用いて、前記ディスクの同一面上の異なるトラックに同時に書き込ませる機能、
を実現させる為のプログラム。
【請求項8】 コンピュータに、
書き込むべきデータを分割して、該複数の分割データに応じたパリティを生成して、該複数の分割データとパリティとを、1つのアーム当りに複数設けられ、ディスクの同一面上の異なるトラックに同時にアクセスできるように配置された各データアクセスヘッドを用いて、前記ディスクの同一面上の異なるトラックに同時に書き込ませる機能、
を実現させるプログラムを記録した前記コンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【0001】
【技術分野】
本発明は、単体ディスク装置内でRAIDを構成する磁気ディスク装置に関する。
【0002】
【背景技術】
現在、磁気ディスクの信頼性を向上させる手法として、RAID(Redundant Arrays of Inexpensive Disks)が知られている。RAIDは、基本的には 、複数の磁気ディスク装置に、冗長にデータを格納する手法であり、複数のディスクを並列に接続し、その全体をまとめて制御することにより、高速性・障害耐久性の向上を図ったストレージ技術のことである。RAIDを採用することにより、ディスク障害におけるデータ損失の軽減 ・ ディスク障害における無停止システム稼動 ・ ディスクアクセス効率の向上による高速化 ・ ディスク障害における復旧時間の削減等の効果が期待できる。
【0003】
現在、主に、RAID1、RAID3、RAID4、RAID5の方式が、よく知られている。
RAID1は、“ミラーリング”とも呼ばれており、2台のディスクに同一データを書き込み、冗長性を図る構成である。
【0004】
RAID3は、分割データとパリティを生成・格納することで、1つの分割データが損失したときに、残った分割データとパリティとから損失データを再構成する手法である。また、分割データとパリティに同時にアクセス制御する。
【0005】
RAID4、RAID5は、RAID3に似た手法であるが、ここでは特に説明しない。
ここで、一般的に、RAIDは、複数台の独立したハードディスクを並列に、一台のディスク装置のごとく使用することで実現する。つまり、複数の磁気ディスク装置を必要とする。また、データの分割や再構成或いは複数の磁気ディスク装置を同期させる為の制御装置を必要とする為、構成が複雑且つ高価となる。
【0006】
これに対して、単体の磁気ディスク装置内でRAIDを構成する手法も、提案されている。
以上の従来技術については、例えば、以下、以下に説明する特許文献1〜特許文献6等の公知文献が存在する(尚、直接RAIDに関係しないが、その構成を考慮しておく必要があるものも含まれる)。
【0007】
例えば、特開平4−349273号公報(特許文献1と呼ぶ)記載の発明では、従来のハードディスク装置を用いてミラーリング機能を実現するためには、2台のハードディスク装置を用いることが考えられるが、一台のハードディスク装置内の2箇所に同一データを書き込むようにする。その為に、データ記録時に、データは、ステップS1で第1の記録場所に記録され、ステップS2で同じデータ(ミラーデータ)が第2の記録場所に記録されるように制御する。この2箇所の記録場所の違いにより、以下の4種類のハードディスク装置を提供する。
(1)同一円板上の、同一面の、同一トラック上の、別なセクタに同じデータを記録する。
(2)同一円板上の、同一面の、別なトラック上の、別なセクタに同じデータを記録する。
(3)同一円板上の、別な面の、別なトラック上の、別なセクタに同じデータを記録する。
(4)別な円板上の、別な面の、別なトラック上の、別なセクタに同じデータを記録する。
【0008】
また、例えば、特開平3−76003号公報(特許文献2と呼ぶ)記載の発明は、各々が複数の磁気ディスクの何れかの面に対応した複数の記録/再生用 ヘッドを有する構成において、各記録/再生用ヘッド毎に直列/並列変換回路を設けると共に、この複数の記録/再生用ヘッドが、独自に移動して、データの 記録/再生を同時に行なえるようにする。これによって、ヘッドの使用効率を 高め、データ処理時間の短縮、処理性能の向上を図るものである。
【0009】
また、例えば、特開2002−100128号公報(特許文献3と呼ぶ)記載の発明は、多段化された磁気ディスクにアクセスする複数の磁気ヘッドを支持する為の、独立して回転可能な複数のアクチュエータブロックを備えるヘッドスタックアッセンブリーを有し、複数の磁気ディスクに分散して書き込み、読み取りを行なう作業を並行して行なうことで、記録容量を増大させつつ、処理の高速化を図る発明である。また、各アクチュエータブロックの磁気ヘッドと該磁気ヘッドがアクセスする磁気ディスクとを1単位として、必要に応じた機能を持たせることで、一台の磁気ディスク装置を、簡易的に、いわゆるレイド(RAID Redundant Arrays of Inexpensive Disks)と同等に使用すること ができる。
【0010】
また、例えば、特開平7−49750号公報(特許文献4と呼ぶ)記載の発明では、ディスク媒体の同一サーフェスにアクセスできる2系統の記録再生機構を備えたディスク装置を複数台組み合わせて、ディスクアレイ装置を構成する。そして、復旧動作と、ホストからのアクセスへの応答とを、別の記録再生機構を用いて行なうことで、復旧動作と、ホストからのアクセスへの応答とを、並列に処理することができるようにしている。
【0011】
また、例えば、特開2001−307410号公報(特許文献5と呼ぶ)記載の発明は、AVデータ等の大容量連続データを書き込むときに、自動的に複製を作成することが可能となり、単一の磁気ディスク装置によってミラーリングRAIDシステムを実現できるものである。特許文献5の発明では、磁気ヘッドの切り替え時間、シリンダーシーク時間、磁気ディスク装置が搭載する磁気ヘッドの数を設定し、磁気ヘッドの切り替え回数等を求める。そして、転送されたデータを磁気ディスクに書き込み、磁気ヘッドを切り替えて、同じ磁気ディスクの別の記録面または他の磁気ディスクの記録面に、転送されたデータの複製を書き込む。あるいは、転送されたデータを、1セクターのみ磁気ディスクに書き込み、続いて、連続したセクターにデータの複製を書き込む処理を繰り返し実行する。これによって、単一の磁気ディスク上に複数の複製データを記録できる。
【0012】
また、例えば、特開平8−83152号公報(特許文献6と呼ぶ)記載の発明は、RAID5と呼ばれるディスクアレイ装置において、特に(1)旧データ及び旧パリティリード、(2)新パリティの作成、(3)新データ及び新パリティライト、という処理を行なう際に、(1)、(2)の処理中にディスクが回転する為に、(3)のライト(書き込み)処理を行なうには、略1回転分近くの回転待ち時間が掛かってしまうという問題を解決する発明である。この為に、特許文献6では、1本のアクチュエータ(1本のアーム)に対して2個のヘッドが、ディスクの回転方向において異なる位置であって同一円周上の位置に設けられる。そして、先にある第1ヘッドをリード専用ヘッド、後にある第2ヘッドをライト専用ヘッドとして用いる。これによって、上記(1)、 (2)の処理と同一のディスク回転周期内において、上記(3)のライト(書き込み)処理を実行できる。
【0013】
上述した単体のディスク装置内でRAIDを構成する従来技術は、大別すると、以下の2つに分類される。
(a) 複数のディスク面に、データを重複したり、分割データ/パリティを 書き込む方式(以下、面間RAID方式と呼ぶ)。
(b) 同一ディスク面に、データを重複したり、分割データ/パリティを書 き込む方式(以下、面内RAID方式と呼ぶ)。つまり、ディスク1枚且つ片面のみでRAIDを構成できる方式。
【0014】
面間RAID方式は、複数のディスク面が必要であり、また、磁気ディスク装置を構成するディスクの数が、RAIDの構成に依存することになる。つまり、例えば、4つの分割データとパリティを記録するRAID3,4,5的な構成とする場合、5つのディスク面が必要となる。また、特許文献3等のように複数のアクチュエータを用いる手法では、装置構成やその制御方法が複雑となる。また、コスト高となる。
【0015】
一方、面内RAID方式のように、ディスク1枚且つ片面のみでRAIDを構成できる方式では、ディスクの数がRAIDの構成に依存することことなく、任意のディスク数を持つ磁気ディスク装置を構成できる。
よって、面内RAID方式のほうが望ましいが、上記従来の面内RAID方式の実現手法には、以下の課題があった。
【0016】
まず、特許文献1記載の手法では、ミラーリングを実現する為に、ステップS1、S2の2回のデータ書き込み動作が必要であり、高速化を図れない。この問題は、特許文献5において、「1セクターのみ磁気ディスクに書き込み、続いて、連続したセクターにデータの複製を書き込む処理を繰り返し実行する」場合も、同様である。
【0017】
これに対して、特許文献4記載の発明は、復旧動作に係わる発明であるが、その中に開示されている「ディスク媒体の同一サーフェスにアクセスできる2系統の記録再生機構を備えた1つのディスク装置」の構成を利用して、同一面の2箇所に同時にアクセスできる面内RAID方式を実現することが考えられる。しかしながら、この場合にも、複数のアクチュエータを用いるので、上記特許文献3と同様、装置構成やその制御方法が複雑となり、またコスト高となる。更に、特許文献3の構成において、RAID3,4,5を構成する為には最低3つの箇所を同時にアクセスできる構成、すなわち最低3つのアクチュエータが必要となるが、1つのディスク装置内に3つ以上のアクチュエータを設けることは、現実的には困難であるので、実質的にはRAID3,4,5は構成できない。
【0018】
尚、特許文献6には、1本のアームに対して2個のヘッドが設けられた構成が開示されているが、これはディスクの回転方向において異なる位置であって同一円周上の位置に設けられるものであり、また、その目的は、リード処理と同一のディスク回転周期内において、ライト処理を実行できるようにすることである。
【0019】
また、更に、磁気ディスク装置内部で自律的にRAIDを構成した場合においては、外部のOS側(外部コントローラ)からは、当該磁気ディスク装置は、単なる1つのディスク(但し、故障率が非常に低い)であるように見える。例えば、RAID1的な構成の磁気ディスク装置であっても、外部のOS側から見ると、二重化(ミラーリング)されていることは分からない。この為、このような磁気ディスク装置において、冗長度が失われた場合、外部コントローラは、通常のI/Oコマンドでは、RAIDが縮退状態にあることを認識できない。この為、信頼性維持の為の冗長性の回復を行なうことができなかった。
【0020】
また、更に、ヘッドクラッシュ等によりディスクとヘッドが衝突すると、磁気ディスク装置内にパーティクルが拡散し、衝突箇所以外の場所も損傷を受けることがある。特に、単体の磁気ディスク装置内でRAIDを構成する場合には、どのような方式であれ、同時に複数の場所が損傷すると、損失データを復元できなくなる可能性があり、信頼性を維持できなくなる。
【0021】
本発明の課題は、単体の磁気ディスク装置内でRAIDを構成する場合において、アクチュエータを複数とすることなく、ディスク1枚且つ片面のみでもRAIDを構成できると共に、この同一面上の複数トラックに同時にアクセス可能とすることでアクセス処理の高速化も図れる磁気ディスク装置、そのアクセス制御方法、プログラム、記録媒体を提供することである。
【0022】
また、磁気ディスク装置内部で自律的にRAIDを構成した場合において、冗長度が失われた場合でも、冗長性の回復を行なうことができる磁気ディスク装置等を提供することである。
【0023】
また、単体の磁気ディスク装置内でRAIDを構成する場合において、パーティクルの拡散を防止し、衝突箇所以外の場所も損傷を受けることを防ぐことができる磁気ディスク装置等を提供することである。
【0024】
【発明の開示】
本発明による磁気ディスク装置は、単体ディスク装置内でRAIDを構成する磁気ディスク装置であって、1つのアーム当りに複数のデータアクセスヘッドを設けると共に、該複数のデータアクセスヘッドはディスクの同一面上において異なるトラックに同時にアクセスできる位置関係となるように構成し、データ書き込みの際に、該データを分割して、該複数の分割データに応じたパリティを生成して、該複数の分割データとパリティとを、前記複数のデータアクセスヘッドによって、前記ディスクの同一面上の異なるトラックに同時に書き込ませる制御手段を有するように構成する。
【0025】
このように構成することで、単体ディスク装置内でRAIDを構成する磁気ディスク装置であって、特にディスク1枚且つ片面のみでもRAIDを構成できる方式、すなわち上記面内RAID方式を、アクチュエータを複数とすることなく且つ書き込み等の処理を複数回行なうことなく実現できる。すなわち、単体のアクチュエータで複数のデータを同時に書き込み等できる面内RAID方式を実現できる。更に、RAID3的な制御を行なえる磁気ディスク装置を実現できる。
【0026】
また、例えば、連続アクセスの際に、一度に2トラック以上移動する長距離シークに対応して、1トラックシークに対応するトラックスキューとは別に、該長距離シークに対応して回転待ち時間が最小となるようなトラックスキューを設定する。
【0027】
一般に、例えば大容量データを書き込み等する際には、複数のトラックに連続アクセスする為、アームを1トラックずつシークしながらデータを書き込むが、その際、1トラックシークに応じたスキュー(トラック上の先頭セクタの位置)の調整を行なっている。読み出しの際にも同様である。
【0028】
一方、本発明の磁気ディスク装置では、1つのアーム当りに複数のヘッドを設けて、同一ディスク面上の異なるトラックを同時にアクセスする構成なので、状況によって、例えば2つのヘッドを用いる構成の場合には、このヘッド間の距離にほぼ等しい距離分を一度にシークする(長距離シーク)必要が生じる。これに応じて、長距離シークに応じたスキューの調整も行なうようにする。
【0029】
これによって、1トラックシークだけでなく、長距離シークも含めて、連続アクセス時の回転待ち時間を抑制できる。
あるいは、例えば、前記分割データの何れかまたはパリティが損失した場合、損失発生箇所を、外部コントローラが参照するアドレスで通知するようにしてもよい。
【0030】
【発明を実施するための最良の形態】
以下、図面を参照して、本発明の実施の形態について説明する。
図1(a)、(b)は、本例による磁気ディスク装置が備えるデータアクセスヘッドの構成の一例を示す図である。
【0031】
また、図2(a)、(b)には、本例によるデータアクセスヘッドのディスク面上における位置関係を示す図である。
本例による磁気ディスク装置は、1つのアーム当りに複数のデータアクセスヘッド(ここでは磁気ヘッド)を設ける。ここでは、図1(a)には2つの磁気ヘッド、図1(b)には3つの磁気ヘッドを設けた例を示すが、これに限らず、4つ以上の磁気ヘッドを設けた構成であってもよい。
【0032】
図1(a)の例では、任意の1つのアーム(不図示)の先端付近に備えられるスライダーの両側にある各レール上に、それぞれ磁気ヘッド(磁極)1,2が備えられる。
【0033】
図1(b)の例では、上記2つのレールの中間に、更にもう1つレールを設け、このレール上にも磁気ヘッドを備えることで、図示のようにスライダーの3つのレール上に3つの磁気ヘッド1,2,3が備えられる。4つ以上の磁気ヘッドを設けた構成も、同様である。
【0034】
1つのアーム当りに複数の磁気ヘッドを設ける構成自体は、上記特許文献6でも行なわれている。しかしながら、本例では、これら複数の磁気ヘッドの磁気ディスクに対する位置関係が異なる(そもそも、目的が異なる)。
【0035】
図2(a)、(b)には、この位置関係を示す。
図2(a)には、1つのアーム当りに2つの磁気ヘッドを設けた構成において、これら2つの磁気ヘッドの磁気ディスク10に対する位置関係を示す。図示の通り、2つの磁気ヘッド1,2は、アクセスの際に、磁気ディスク10の同一面上の異なるトラックに対向する位置となるように配置されている。
【0036】
このように構成することで、1つのアームで、磁気ディスク10の同一面上の異なるトラックに、同時に、データを書き込み又は読み出しすることが可能となる。そして、例えば、2つの磁気ヘッドによって書き込むデータが、任意のデータとこのデータの複製、すなわち同一データAとした場合、1つのアームで、磁気ディスク10の片面のみで、同時に同一データの書き込みを行なえる構成、つまり1枚の磁気ディスク且つ片面のみでRAID1的な磁気ディスク装置を構成することができる。
【0037】
尚、例えば、スライダーの幅が1(mm)で、トラック幅が0.4(μm)であったとすると、ヘッド間には2500本のトラックが存在することになるが、ここでは、簡略化して示している。尚、当然、ヘッド間の距離は、任意に決めることができる。
【0038】
図2(b)には、1つのアーム当りに5つの磁気ヘッドを設けた構成において、これら5つの磁気ヘッドの磁気ディスクに対する位置関係を示す。図示の通り、5つの磁気ヘッド1,2,3,4,5は、各々、アクセスの際に磁気ディスクの同一面上の異なるトラックに対向する位置となるように配置されている。
【0039】
そして、例えば、ディスクに書き込むべき任意のデータを4つに分割して、これら4つの分割データA,B,C,Dに応じたパリティを生成して、これら4つの分割データA,B,C,Dとパリティとを、上記5つの磁気ヘッドによって、各々、磁気ディスク10の同一面上の異なるトラックに同時に書き込ませる構成及び同時に読み出せる構成、すなわちRAID3的な磁気ディスク装置を構成することができる。
【0040】
よく知られているように、例えば分割データAが損失した場合、分割データAは、他の分割データB、C、Dとパリティの排他的論理和演算によって復元することができる。
【0041】
尚、何を以ってRAID3的と呼ぶのかは、考え方によるが、ここでは、RAID3では分割データとパリティの両方に同時にアクセス制御する、という点から、本例でもこの点と同様の制御を行なうことから、RAID3的と呼ぶものとする。
【0042】
以上述べた構成により、本例の磁気ディスク装置では、アクチュエータを複数とすることなく、書き込み/読み出し処理を複数回に分けて行なうことなく、ディスク1枚且つ片面のみでRAIDを構成できる。換言すれば、面内RAID方式において、単体のアクチュエータを用いて、ディスクの同一面上の複数トラックに同時にアクセスできるようになる。これによって、構成を複雑にすることなく、処理の高速化も図ることができ、更に、ディスクの数がRAIDの構成に依存することことなく、任意のディスク数を持つ磁気ディスク装置を構成できる。また、図1(a)〜図2(b)等に示す例のような複数の磁気ヘッドを形成することは、容易に低コストに実現できる。少なくとも、複数のアクチュエータを備える構成に比べれば、はるかに低コストとなる。
【0043】
図3(a)に、本例の磁気ディスク装置の全体構成の一例を示す。
また、図3(b)は、本例の磁気ディスク装置の制御装置の機能構成図である。
【0044】
図3(a)、(b)を参照して、本例の磁気ディスク装置全体について説明する。尚、図3(a)、(b)に示す全体構成自体は、一般的な構成である。本例の磁気ディスク装置の特徴は、各スライダー21に複数の磁気ヘッドを形成することでアーム1つ当りに複数の磁気ヘッドを備える構成とし、且つこれら複数の磁気ヘッドが、磁気ディスク10の同一面上の異なるトラックに同時にアクセス可能な位置関係となるように構成する点、及びそのアクセス制御方法にある。
【0045】
図3(a)に示す例では、複数の磁気ディスク10が、1つの回転軸11上に一定間隔をおいて並べられており、不図示のスピンドル・モータによって一体的に回転駆動される。
【0046】
また、複数のアーム20が、1つの回転軸22を中心として、不図示のボイス・コイル・モータによって回転駆動されて、各スライダー21に設けられる磁気ヘッドを、磁気ディスク10の面上の所定の位置に移動させる。これは、ここでは、1つのアクチュエータで複数のアームを連動して動かす、とも表現するものとする。
【0047】
各アーム21の先端付近には、スライダー21が設けられている。よく知られているように、スライダーは、ヘッド・スライダとも呼ばれており、支持ばね等を介してアーム20に接続され、アクセスの際には、ディスク面上から十数(nm)程度のすき間を保って浮上している。一般的に知られているスライダーの形状としては、例えば、テーパ・フラット・タイプと呼ばれているものがある。これは、スライダ両端にレール部を有し、その流入部にテーパ加工を施した形状である。図1(a)に示した磁気ヘッドは、このようなスライダ両端にレール部を有する形状において、2つのレール部の両方にそれぞれ磁気ヘッド(磁極)を設けた構成と考えてもよい。そして、上述してある通り、これら磁気ヘッドは、磁気ディスク10の同一面上の異なるトラックに同時にアクセス可能な位置関係となるように構成されている。
【0048】
図3(b)には、磁気ディスク装置の制御部30の構成を示す。
図示の制御部30は、コントローラ31、インタフェース32、信号処理回路33、アーム制御回路34、ディスク制御回路35より成る。
【0049】
ディスク制御回路35は、磁気ディスク10の回転を制御する。つまり、上記“スピンドル・モータ”を制御する回路である。
アーム制御回路34は、上記“ボイス・コイル・モータ”を制御する回路であり、アーム20を動かして、そのスライダー21(つまり、複数の磁気ヘッド)を任意の位置へと移動させる。
【0050】
信号処理回路33は、同一アーム20上の複数の磁気ヘッドの入力または出力を、同時に処理する回路である。回路構成は特に示さないが、例えば、複数の磁気ヘッドそれぞれに対応する複数のバッファを備える。例えば、図2(b)に示す構成でRAID3的な制御を行なう場合には、5つのバッファを備えるものとし、生成した4つの分割データとパリティを各バッファに一時格納して、これらを同時に出力する。
【0051】
インタフェース32は、不図示の外部コントローラ(例えば、サーバの制御部)とのインタフェースである。
コントローラ31は、当該制御部30全体を制御するMPU等のプロセッサであり、上記インタフェース32を介して、外部コントローラからデータ書き込み/読み出しのコマンドを受けると、このコマンドに応じた処理を実行する 。
例えば、使用する磁気ヘッドを決定し、アーム制御回路34によりアーム20を制御させて、そのアーム20の磁気ヘッドを目的の位置に移動させる(図4のステップS11)。そして、信号処理回路33により、そのアーム20上の複数の磁気ヘッドの入力または出力を、同時に処理させる。つまり、同一アーム20上の複数の磁気ヘッドによって、磁気ディスク10の同一面上の異なるトラックに同時にアクセスさせる(図4のステップS12)。
【0052】
以下、このコントローラ31による制御処理について、更に、図5〜図7、図11のフローチャート図等を参照して説明する。
尚、図4、及び図5〜図7、図11のフローチャート図に示す制御処理は、コントローラ31がその内部に記憶されている所定のプログラムを実行することにより、あるいはコントローラ31が制御装置30内の不図示のメモリに格納されている所定のプログラムを読み出し、実行することにより、実現される。これは、コンピュータが、上記プログラムを実行することにより、図4、及び図5〜図7、図11のフローチャート図に示す制御処理の機能を実現する、と表現してもよい。
【0053】
図5は、上記図1(a)、図2(a)に示す構成の複数の磁気ヘッドを用いて、RAID1的な磁気ディスク装置を構成する場合の制御処理を示す図である。図5(a)はデータ書き込み時、図5(b)はデータ読み出し時の処理を示す。
【0054】
図5(a)において、コントローラ31は、上記インタフェース32を介して、外部コントローラからデータ・ライト・コマンドを受けると、まず、このコマンドに応じて使用する磁気ヘッドを決定し、アーム制御回路34によりアーム20を制御させて、そのアーム20の磁気ヘッドを目的の位置に移動させる(ステップS21)。そして、信号処理回路33により、そのアーム20上の2つの磁気ヘッドによって、上記書き込むべきデータとその複製、つまり同一のデータを、同時に書き込ませる。つまり、同一アーム20上の2つの磁気ヘッドによって、磁気ディスク10の同一面上の異なるトラックに同時に、同一データを書き込ませる(ステップS22)。
【0055】
一方、このように書き込まれたデータの読み出しの際には、図5(b)に示すように、コントローラ31は、上記インタフェース32を介して、外部コントローラからデータ・リード・コマンドを受けると、まず、このコマンドに応じて使用する磁気ヘッドを決定し、アーム制御回路34によりアーム20を制御させて、そのアーム20の磁気ヘッドを目的の位置に移動させる(ステップS31)。そして、信号処理回路33により、そのアーム20上の2つの磁気ヘッドのうちの何れか一方の磁気ヘッドによって、データを読みとらせる(ステップS32)。尚、もしデータを読み出せない場合には、他方の磁気ヘッドによってデータを読み取らせる。
【0056】
図6は、上記図2(b)に示す構成の複数の磁気ヘッドを用いて、RAID3的な磁気ディスク装置を構成する場合の制御処理を示す図である。図6(a)はデータ書き込み時、図6(b)はデータ読み出し時の処理を示す。
【0057】
また、尚、以下の説明では、上記図2(b)に示す構成例に対応して、1つのアーム当りに5つの磁気ヘッドを設けた構成を前提にして説明するが、これに限るわけではない。
【0058】
図6(a)において、コントローラ31は、上記インタフェース32を介して、外部コントローラからデータ・ライト・コマンドを受けると、まず、このコマンドに応じて使用する磁気ヘッドを決定し、アーム制御回路34によりアーム20を制御させて、そのアーム20の磁気ヘッドを目的の位置に移動させる(ステップS41)。
【0059】
また、上記書き込みべきデータを、例えば4つに分割すると共に、この4つの分割データのパリティを生成して、それぞれ、信号処理回路33内にある5つのバッファに一時格納する。そして、信号処理回路33により、上記アーム20上の5つの磁気ヘッドによって、上記4つの分割データとそのパリティを、磁気ディスク10の同一面上の異なるトラックに同時に、書き込ませる(ステップS42)。
【0060】
一方、このように書き込まれた分割データ及びパリティの読み出しの際には、図6(b)に示すように、コントローラ31は、上記インタフェース32を介して、外部コントローラからデータ・リード・コマンドを受けると、まず、このコマンドに応じて使用する磁気ヘッドを決定し、アーム制御回路34によりアーム20を制御させて、そのアーム20の磁気ヘッドを目的の位置に移動させる(ステップS51)。
【0061】
次に、信号処理回路33により、上記アーム20上の5つの磁気ヘッドによって、各々、異なるトラックに記録されているデータ、すなわち上記4つの分割データとパリティを読みとらせる(ステップS52)。
【0062】
そして、もし、何らかの理由によって、読み出せない分割データがあった場合には(ステップS53,YES)、読み出せた3つの分割データとパリティとに基づいて、欠損データを復元する(ステップS54)。
【0063】
その後は、特に図示していないが、4つの分割データを結合して、元のデータを復元して、外部コントローラに送る。
次に、上記ステップS11、S21、S31、S41、S51の位置決め処理について、より詳細な具体例を、図7を参照して説明する。
【0064】
図7は、位置決め処理の具体例について説明する為のフローチャート図である。
本例の磁気ディスク装置では、1つのアーム当りに複数の磁気ヘッドが存在することから、この複数の磁気ヘッドの中で予め決定されている1つの磁気ヘッドを基準にして、位置決めを行なう。
【0065】
まず、本例の磁気ディスク装置では、既存の磁気ディスク装置と同様に、予め、複数のディスク中の任意のディスクの片面を、サーボ情報専用の又は共用の面(以下、サーボ面と呼ぶ)としておき、このサーボ面に、サーボ情報(トラックID、セクタID等)を記録しておく。所謂“サーボ面サーボ方式”を用いているものとする。尚、サーボ情報の書き込み方式には、これ以外にも、各ディスクの各面において、各々、データ・トラックの一部にサーボ情報を埋め込む方式、所謂“データ面サーボ方式”等も存在し、本発明は、“サーボ面サーボ方式”に限るわけではないが、ここではこの方式を例にして説明する。
【0066】
また、本例では、所謂“LBA(Logical Block Addressing)方式”を用いるものとする。よく知られているように、LBA方式は、全てのセクタに続き番号を付けた、論理セクタという考え方に基づく方式である。
【0067】
これより、コントローラ31は、上記インタフェース32を介して、外部コントローラから、アクセス先を論理アドレス(LBA)によって指定したコマンドを受けると、まず、不図示の変換テーブル等を参照して、対応するトラックID、セクタIDを求める(ステップS61)。ここで、本例では、複数の磁気ヘッドを用いるが、位置決めの為には、その中の1つの磁気ヘッドを用いれば済むので、上記変換テーブルにおいて、各論理アドレス(LBA)毎に、予め決められた1つの磁気ヘッドのトラックID、セクタIDを対応付けて登録しておく。また、その際、当該コマンドに応じて使用する磁気ヘッド(複数)も求めておく。
【0068】
次に、上記“サーボ面”をアクセスするアーム20に備えられる磁気ヘッドは、通常の単一の磁気ヘッドである(以下、サーボヘッドと呼ぶ)。そして、このサーボヘッドを用いて、サーボ面上に記録されているトラックIDとセクタIDを参照して、上記ステップS61で求めたトラックID、セクタIDと一致するトラックID、セクタIDが記録されている位置を探し出すことで位置決めを完了する(ステップS62)。本例の構成では、1つの磁気ヘッドの位置決めが完了すれば、他の磁気ヘッドも所定の位置になっている。
【0069】
このようにして位置決めが完了したら、後は、上記磁気ヘッド(複数)を用いて、データ・ライトまたはリードを行なえばよい(ステップS63)。
次に、以下、本例の磁気ディスク装置における長距離スキューの制御について、図8を参照して説明する。
【0070】
まず、一般に、例えば大容量データを書き込み等する際には、複数のトラックに連続アクセスする為、アーム20を1トラックずつシークしながら(磁気ヘッドを隣のトラックに移動させる)データを書き込む。読み出しの際にも同様である。
【0071】
その際、1トラックシークに掛かる時間を考慮して先頭セクタの位置をずらす、ということが行なわれている。つまり、1トラックシークに応じたスキューの調整(トラック上の先頭セクタの位置の調整)を行なっている。これによって、連続アクセス時の回転待ち時間を抑制できる。尚、1トラックシークに応じたトラックスキューは、トラック当りのセクタ数が同じであれば、全てにおいて同じ分だけずれる。
【0072】
ところで、本例による磁気ディスク装置では、例えば図2(a)に示す構成を例にすると、2個の磁気ヘッド1、磁気ヘッド2が同一面上のnトラック(n;任意の整数)離れた位置にアクセスする構成である為、上記連続アクセスの際、通常は、1トラックずつシークしていくが、n−1本のトラックにアクセスした段階で、例えば磁気ヘッド1の次のトラックから先は、既に磁気ヘッド2がデータを書き込んだ領域である為、一度にnトラック分の距離をシークする必要が生じる。これを、ここでは、長距離シークと呼ぶ。そして、この長距離シークによるシーク時間を考慮したセクタ配置が、長距離スキューの制御方法である。
【0073】
図8は、以上の長距離スキューの説明を、視覚的に分かり易く示す図である。尚、図8には、1つのアームに4つの磁気ヘッドを備えた構成を例にする。
図8に示す通り、1トラック・シークに対しては、そのシーク時間に応じて、次のトラックにおいては、物理的には前のトラックからずれた位置のセクタを、先頭セクタとするように、サーボ面上のセクタIDを記録すればよい。これは、長距離シークについても、基本的には同様であるが、比較的シーク時間が長くなるので、それに応じてスキューを調整する必要がある。
【0074】
1トラック・シークに対する最適なスキューs1は、1トラックシーク時間t1、ディスク1回転に必要な時間T、及びトラック上のセクタ数nは、その装置の設計者等は予め求めることができるので、これらを用いて、以下の(1)式によって求めることができる。
【0075】
s1=n×t1/T ・・・(1)式
これと同様に、長距離シーク時間t2も、予め求めることができるので、長距離シークに対する最適なスキューs2は、以下の(2)式によって求めることができる。
【0076】
s2=n×t1/T ・・・(2)式
よって、以上求めたスキューs1、s2に基づいて、サーボ面上のセクタIDを設定・記録しておくことで、1トラックスキュー、長距離スキューの制御を行なうことができる。つまり、従来の制御方法の延長で、最適な位置決めを行なうことができる。
【0077】
尚、当然、上記のように設定・記録したサーボ面上のセクタIDに対応する形で、コントローラ31は、予め設定される特定のトラックにアクセス後に更にシークする場合には、長距離シークを行うようにし、この長距離シークによってアクセスするトラックのサーボ面上のセクタIDは、上記上距離スキューに応じた設定となるようにしておく。
【0078】
次に、以下、縮退状態からの回復処理について説明する。
通常、RAIDを構成する磁気ディスク装置において、冗長性が失われた場合、信頼性の維持の為、冗長性を回復する必要がある。換言すれば、縮退状態となった場合に、縮退状態から回復させる必要がある。冗長性が失われた場合とは、図2(a)のRAID1的な構成の場合には、磁気ディスク装置内部で冗長性が規定値より少なくなった場合であり、図2(b)のRAID3的な構成の場合には、分割データの何れか又はパリティが、損失した場合である。
【0079】
しかしながら、上述してある通り、磁気ディスク装置内部で自律的にRAIDを構成した場合、外部コントローラは、通常のI/Oコマンドでは、RAIDが縮退状態にあることを認識できない。
【0080】
このような問題に対して、本例では、2通りの解決方法を提案する。
1つ目の方法は、上記冗長性が失われたとき、損失発生場所を、外部コントローラが参照するアドレス(論理アドレス)を用いて、外部コントローラに通知する方法である。このような損失データ発生の通知を受けた外部コントローラは、損失発生場所のデータ(例えば、ミラーリングの場合は、損失データに対応する複製データ)を読み出して、これを未使用領域か他のディスクにコピーする処理を実行する。これによって、縮退状態から回復させることができる。
【0081】
2つ目の方法は、上記冗長性が失われたとき、磁気ディスク装置内部で自律的に、損傷箇所のデータを交替セクタ領域に書き込むことによって、縮退状態から復帰する方法であり、所謂交代処理を行なう方法である。尚、交替セクタ領域とは、磁気ディスク上に、欠陥処理の為に予め用意されている予備領域のことである。
【0082】
以下、この2つ目の方法について、図9〜図11を参照して説明する。
尚、図9〜図11は、図2(b)のRAID3的な構成において、分割データの何れか又はパリティが損失した場合の交代処理を説明する為の図である。
【0083】
図9は、本例による交代処理を説明する為のフローチャート図である。
また、図10、図11(a)、(b)は、図9の処理の説明の為に、具体的な一例を示す図である。尚、図10、図11(a)、(b)には、1つのアームに4つの磁気ヘッドを備える構成を例にし、そのうちの3つの磁気ヘッドによって分割データをリード/ライトし、1つの磁気ヘッドによってパリティを リード/ライトするものとする。
【0084】
また、上述したように、磁気ディスク上には、欠陥処理の為に予め用意されている予備領域である交替セクタ領域が存在する。ここでは、例えば図10に示すように、各トラック毎に、そのトラックの最終セクタから先頭セクタまでの領域を、交替セクタ領域とする。
【0085】
図9に示す処理は、任意の位置において上記4つの磁気ヘッドによって3つの分割データとパリティを読み出し、これら分割データの何れか又はパリティが損失したことを検出し、損失したデータ(分割データ又はパリティ)を他のデータを用いて復元した後に、開始されるものとする。
【0086】
図9において、まず、損失が発生したトラックの交替セクタ領域に空きがあるか否かをチェックする(ステップS71)。空きがあった場合には(ステップS71,YES)、まず、上記サーボヘッドを制御して、この交替セクタ領域において空きがある領域の最初のセクタの位置に、サーボヘッドを移動することで、位置決めを行なう(ステップS72)。そして、この位置において、上記4つの磁気ヘッドによって3つの分割データとパリティを同時に書き込ませる(ステップS73)。これによって、例えば、図10に示すように、交替セクタ領域に、損失データと他の分割データとパリティが書き込まれ、縮退状態から回復させることができる。
【0087】
以上の処理を、損失データが発生する毎に実行していくと、いずれは、図11(a)に示すように、あるトラックの交替セクタ領域に空きが無い状態になることになる(ステップS71,NO)。
【0088】
この場合、更に、同一シリンダ内の他のディスク面の交替セクタ領域に、空きがあるか否かをチェックし、空きが無い場合には(ステップS74)、使用できる交替領域が無いことを報告する(ステップS77)。一方、空きがある場合には(ステップS74,YES)、上記サーボヘッドを制御して、この交替セクタ領域において空きがある領域の最初のセクタの位置に、サーボヘッドを移動することで、位置決めを行なう(ステップS75)。そして、この位置において、当該シリンダ内交替セクタが存在するディスク面に対応する4つの磁気ヘッドによって、3つの分割データとパリティを同時に書き込ませる(ステップS76)。これによって、例えば、図11(b)に示すように、シリンダ内交替セクタ領域に、損失データと他の分割データとパリティが書き込まれ、縮退状態から回復させることができる。
【0089】
次に、以下に、単体の磁気ディスク装置内でRAIDを構成する場合におけるパーティクル拡散防止の為の実施例について、図12を参照して説明する。
本例では、図12に示すように、同一の回転軸上に多段に構成される複数の磁気ディスク10−1〜10−nの各々の間に、吸着性素材の円板である吸着ディスク50−1〜50−n+1を挿入した構成とする。尚、吸着ディスク50−1と吸着ディスク50−n+1は、厳密に言えば磁気ディスク間に挿入されたものではないが、ここでは、一緒に扱うものとする。
【0090】
吸着性素材の円板は、特に材質は特定しないが、少なくとも表面に何らかの吸着性を有するものであれば、何でもよい。よって、円板の素材自体に吸着性がなくても、その表面に吸着性の塗料を塗ったものであってもよい。
【0091】
このようにすることで、ある箇所でヘッドクラッシュ等によりパーティクルが発生しても、速やかに、発生箇所近くの吸着ディスク50に吸着されるので、パーティクルが磁気ディスク装置内に拡散することを防止できる。これによって、衝突箇所以外の場所も損傷を受けることを防止でき、特に、単体の磁気ディスク装置内でRAIDを構成する場合において、同時に複数の場所が損傷することで損失データを復元できなくなることを防止できる。
【0092】
上述してある通り、上記図4、図5〜図7、図11等のフローチャートに示 最後に、図13に、上記構成の磁気ディスク装置を搭載した情報処理装置 同図に示す情報処理装置70は、CPU71、メモリ72、入力装置73、出力装置74、外部記憶装置75、媒体駆動装置76、ネットワーク接続装置77等を有し、これらがバス78に接続された構成となっている。同図に示す構成は一例であり、これに限るものではない。
【0093】
CPU71は、当該情報処理装置70全体を制御する中央処理装置である。
メモリ72は、プログラム実行、データ更新等の際に、外部記憶装置75 入力装置73は、例えばキーボード、マウス、タッチパネル等である。
【0094】
出力装置74は、例えばディスプレイ、プリンタ等である。
外部記憶装置75は、例えば本例による上記磁気ディスク装置等(ハード・ 媒体駆動装置76は、可搬型記録媒体79に記憶されているプログラム/デ ネットワーク接続装置77は、ネットワークに接続して、外部の他の情報処 【産業上の利用の可能性】
以上、詳細に説明したように、本発明の磁気ディスク装置、そのアクセス制御方法、プログラム、記録媒体によれば、単体の磁気ディスク装置内でRAIDを構成する場合において、アクチュエータを複数とすることなく、ディスク1枚且つ片面のみでもRAIDを構成できると共に、同一面上の複数トラックに同時にアクセス可能とすることでアクセス処理の高速化も図れる。
【0095】
また、磁気ディスク装置内部で自律的にRAIDを構成した場合において、冗長度が失われた場合でも、冗長性の回復を行なうことができる。
また、単体の磁気ディスク装置内でRAIDを構成する場合において、パーティクルの拡散を防止し、衝突箇所以外の場所も損傷を受けることを防ぐことができ、以って損失データを復元できなくなる事態を防止できる。
【0096】
本発明は、後述する詳細な説明を、下記の添付図面と共に参照すればより明らかになるであろう。
【図面の簡単な説明】
【図1】複数の磁気ヘッドの一例を示す図であり、(a)は2つの磁気ヘッド、(b)は3つの磁気ヘッドの構成例である。
【図2】複数の磁気ヘッドによるアクセス時の位置関係を示す図であり、(a)は2つの磁気ヘッド、(b)は5つの磁気ヘッドを用いる例である。
【図3】(a)は本例の磁気ディスク装置の全体構成図、(b)はその制御装置の機能構成図である。
【図4】制御装置による基本的なアクセス制御処理を説明する為のフローチャート図である。
【図5】RAID1的な制御処理を示す図であり、(a)はデータ書き込み時、(b)はデータ読み出し時の処理を示すフローチャート図である。
【図6】RAID3的な制御処理を示す図であり、(a)はデータ書き込み時、(b)はデータ読み出し時の処理を示すフローチャート図である。
【図7】位置決め処理の具体例について説明する為のフローチャート図である。
【図8】本例の磁気ディスク装置における長距離スキュー制御について説明する為の図である。
【図9】縮退状態からの復帰処理を説明する為のフローチャート図である。
【図10】図9の処理に係わり、具体的な一例を示す図(その1)である。
【図11】(a),(b)は、図9の処理に係わり、具体的な一例を示す図(その2)(その3)である。
【図12】パーティクル拡散防止の為の構成図である。
【図13】本例の磁気ディスク装置を搭載した情報処理装置(サーバ等)全体の概略的なハードウェア構成を示す。
Claims (18)
- 単体ディスク装置内でRAIDを構成する磁気ディスク装置であって、
1つのアーム当りに複数のデータアクセスヘッドを設けると共に、該複数のデータアクセスヘッドはディスクの同一面上において異なるトラックに同時にアクセスできる位置関係となるように構成されることを特徴とする磁気ディスク装置。 - 前記複数のデータアクセスヘッドによって、前記ディスクの同一面上の異なるトラックに同時に同一データを書き込ませる制御手段を更に有することを特徴とする請求項1記載の磁気ディスク装置。
- データ書き込みの際に、該データを分割して、該複数の分割データに応じたパリティを生成して、該複数の分割データとパリティとを、前記複数のデータアクセスヘッドによって、前記ディスクの同一面上の異なるトラックに同時に書き込ませる制御手段を更に有することを特徴とする請求項1記載の磁気ディスク装置。
- 前記制御手段は、データ読み出しの際に、前記複数のデータアクセスヘッドによって、前記ディスクの同一面上の異なるトラックから同時に、前記複数の分割データとパリティとを読み出して、損失データがある場合には他の分割データとパリティを用いて該損失データを再構成することを特徴とする請求項3記載の磁気ディスク装置。
- 前記制御手段は、複数のデータアクセスヘッドの中の1つを基準にして位置決めを行なうことを特徴とする請求項1〜4の何れかの記載の磁気ディスク装置。
- 連続アクセスの際に、一度に2トラック以上移動する長距離シークに対応して、1トラックシークに対応するトラックスキューとは別に、該長距離シークに対応して回転待ち時間が最小となるようなトラックスキューを設定することを特徴とする請求項1〜5の何れかの記載の磁気ディスク装置。
- 冗長度が規定値より少なくなった場合に、損失発生箇所に対応する他のトラックのデータに基づいて、該損失発生箇所のデータを予備領域に書き込むことを特徴とする請求項2記載の磁気ディスク装置。
- 前記分割データの何れかが損失した場合、他の分割データと前記パリティとに基づいて損失データを再構成して予備領域に書き込むことを特徴とする請求項3記載の磁気ディスク装置。
- 冗長度が規定値より少なくなった場合に、損失発生箇所を、外部コントローラが参照するアドレスで通知することを特徴とする請求項2記載の磁気ディスク装置。
- 前記分割データの何れかまたはパリティが損失した場合、損失発生箇所を、外部コントローラが参照するアドレスで通知することを特徴とする請求項3記載の磁気ディスク装置。
- 単体ディスク装置内でRAIDを構成する磁気ディスク装置であって、同一の回転軸上に多段化された複数の磁気ディスクを有する磁気ディスク装置において、
前記各磁気ディスク間に吸着性素材の仕切りを挿入することを特徴とする磁気ディスク装置。 - 1つのアーム当りに複数設けられ、ディスクの同一面上の異なるトラックに同時にアクセスできるように配置された各データアクセスヘッドを用いて、同一データを同時に異なるトラックに書き込ませることを特徴とする磁気ディスクへのアクセス制御方法。
- 書き込むべきデータを分割して、該複数の分割データに応じたパリティを生成して、該複数の分割データとパリティとを、1つのアーム当りに複数設けられ、ディスクの同一面上の異なるトラックに同時にアクセスできるように配置された各データアクセスヘッドを用いて、前記ディスクの同一面上の異なるトラックに同時に書き込ませることを特徴とする磁気ディスクへのアクセス制御方法。
- 1つのアーム当りに複数設けられ、ディスクの同一面上の異なるトラックに同時にアクセスできるように配置された各データアクセスヘッドを用いて、
前記ディスクの同一面上の異なるトラックから同時に、複数の分割データとパリティとを読み出して、損失データがある場合には他の分割データとパリティとを用いて該損失データを再構成することを特徴とする磁気ディスクへのアクセス制御方法。 - コンピュータに、
1つのアーム当りに複数設けられ、ディスクの同一面上の異なるトラックに同時にアクセスできるように配置された各データアクセスヘッドを用いて、前記ディスクの同一面上の異なるトラックに同時に同一データを書き込ませる機能、
を実現させる為のプログラム。 - コンピュータに、
書き込むべきデータを分割して、該複数の分割データに応じたパリティを生成して、該複数の分割データとパリティとを、1つのアーム当りに複数設けられ、ディスクの同一面上の異なるトラックに同時にアクセスできるように配置された各データアクセスヘッドを用いて、前記ディスクの同一面上の異なるトラックに同時に書き込ませる機能、
を実現させる為のプログラム。 - コンピュータに、
1つのアーム当りに複数設けられ、ディスクの同一面上の異なるトラックに同時にアクセスできるように配置された各データアクセスヘッドを用いて、前記ディスクの同一面上の異なるトラックに同時に同一データを書き込ませる機能、
を実現させるプログラムを記録した前記コンピュータ読取り可能な記録媒体。 - コンピュータに、
書き込むべきデータを分割して、該複数の分割データに応じたパリティを生成して、該複数の分割データとパリティとを、1つのアーム当りに複数設けられ、ディスクの同一面上の異なるトラックに同時にアクセスできるように配置された各データアクセスヘッドを用いて、前記ディスクの同一面上の異なるトラックに同時に書き込ませる機能、
を実現させるプログラムを記録した前記コンピュータ読取り可能な記録媒体。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2003/001798 WO2004075175A1 (ja) | 2003-02-19 | 2003-02-19 | 磁気ディスク装置、そのアクセス制御方法、記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2004075175A1 true JPWO2004075175A1 (ja) | 2006-06-01 |
Family
ID=32894228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004568472A Pending JPWO2004075175A1 (ja) | 2003-02-19 | 2003-02-19 | 磁気ディスク装置、そのアクセス制御方法、記録媒体 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20050283653A1 (ja) |
JP (1) | JPWO2004075175A1 (ja) |
WO (1) | WO2004075175A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1825372A2 (en) | 2004-11-05 | 2007-08-29 | Data Robotics Incorporated | Dynamically expandable and contractible fault-tolerant storage system permitting variously sized storage devices and method |
US7873782B2 (en) | 2004-11-05 | 2011-01-18 | Data Robotics, Inc. | Filesystem-aware block storage system, apparatus, and method |
US20070223875A1 (en) * | 2006-03-21 | 2007-09-27 | Tsung-Ning Chung | Storage device and method of accessing storage device |
US20090034107A1 (en) * | 2007-08-05 | 2009-02-05 | Joshua Posamentier | Redundant data on hard drive |
KR20110088677A (ko) * | 2010-01-29 | 2011-08-04 | 삼성전자주식회사 | 데이터 백업 방법과 상기 방법을 수행할 수 있는 장치들 |
US8711517B2 (en) * | 2012-04-27 | 2014-04-29 | Seagate Technology Llc | Two dimensional magnetic sensor immune to skew angle misalignment |
US20170371782A1 (en) * | 2015-01-21 | 2017-12-28 | Hewlett Packard Enterprise Development Lp | Virtual storage |
US9875037B2 (en) | 2015-06-18 | 2018-01-23 | International Business Machines Corporation | Implementing multiple raid level configurations in a data storage device |
US9972349B1 (en) * | 2017-08-30 | 2018-05-15 | Western Digital Technologies, Inc. | Data storage device with two read elements offset radially by at least one servo track at all radial locations |
US11861173B2 (en) * | 2021-03-30 | 2024-01-02 | Felicity Taiwan Corporation | Storage device having a drive arm with multiple read-write head |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07130139A (ja) * | 1993-11-01 | 1995-05-19 | Fuji Electric Co Ltd | ディスク記憶装置とそのデータ記録,再生方法 |
JP2953960B2 (ja) * | 1994-09-14 | 1999-09-27 | 株式会社ピーエフユー | ディスクアレイ装置 |
US5729408A (en) * | 1995-01-11 | 1998-03-17 | Kabushiki Kaisha Toshiba | Magnetic recording/reproducing apparatus having a magnetic head with a linearly movable arm provided with a plurality of recording/reproducing elements |
JP3547877B2 (ja) * | 1995-01-11 | 2004-07-28 | 株式会社東芝 | 磁気記録再生装置 |
JPH09219003A (ja) * | 1996-02-13 | 1997-08-19 | Toshiba Corp | ディスク記録再生装置及びそれに適用するマルチヘッド方式の磁気ヘッド装置 |
JPH1011906A (ja) * | 1996-06-24 | 1998-01-16 | Hitachi Ltd | 磁気ディスク装置 |
JPH1139102A (ja) * | 1997-07-24 | 1999-02-12 | Nec Eng Ltd | 磁気ディスク装置 |
JPH1186452A (ja) * | 1997-09-09 | 1999-03-30 | Toshiba Corp | ディスク記憶装置 |
US6425052B1 (en) * | 1999-10-28 | 2002-07-23 | Sun Microsystems, Inc. | Load balancing configuration for storage arrays employing mirroring and striping |
US6788488B2 (en) * | 2001-01-22 | 2004-09-07 | Qualcomm, Incorporated | Variable mode multi-media data object storage device |
AU2002343970A1 (en) * | 2002-02-20 | 2003-09-09 | Sony Corporation | Data access control apparatus, data access control method, controller, and computer program |
-
2003
- 2003-02-19 JP JP2004568472A patent/JPWO2004075175A1/ja active Pending
- 2003-02-19 WO PCT/JP2003/001798 patent/WO2004075175A1/ja active Application Filing
-
2005
- 2005-08-17 US US11/205,041 patent/US20050283653A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
WO2004075175A1 (ja) | 2004-09-02 |
US20050283653A1 (en) | 2005-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10037779B1 (en) | Read-after-write methodology using multiple actuators moveable over the same magnetic recording disk surface | |
CN110827861B (zh) | 使用多个卷提供复制的多致动器驱动器 | |
US7506187B2 (en) | Methods, apparatus and controllers for a raid storage system | |
US6115788A (en) | Multi-drive array with improved data transfer rate performance | |
US20050283653A1 (en) | Magnetic disk device, access control method thereof and storage medium | |
US20130151771A1 (en) | Disk array device, control device and data write method | |
US6950900B1 (en) | Method and apparatus for migrating data having a format of a first type to a format of a second type | |
US20080126840A1 (en) | Method for reconstructing data in case of two disk drives of raid failure and system therefor | |
JP5349769B2 (ja) | 方向性および浮動ライトバンドを有するコマンドキュー順序付け | |
JP2006236001A (ja) | ディスクアレイ装置 | |
JPH08194586A (ja) | データ処理方法、システムおよび装置 | |
US20020138694A1 (en) | Magnetic disc drive, method for recording data, and method for reproducing data | |
US6493160B1 (en) | Pseudo raid implementation within a single disk drive | |
US8078921B2 (en) | System including a plurality of data storage devices connected via network and data storage device used therefor | |
US20020112118A1 (en) | Method and apparatus for changing raid-level in disk array subsystem | |
KR100364895B1 (ko) | 데이터 액세스 제어 방법 및 시스템 | |
JP3793544B2 (ja) | ディスクアレイ装置及びその制御方法 | |
JP2009217890A (ja) | ディスクアレイ装置およびディスクアレイ装置の記録制御方法 | |
JP2000099279A (ja) | データ二重化方法 | |
JP2000357060A (ja) | ディスクアレイ装置 | |
JPH11119915A (ja) | ディスクアレイ装置 | |
JPH0744331A (ja) | ディスクアレイ装置およびその制御方法 | |
JP3304368B2 (ja) | アレイディスク装置及びその制御方法 | |
JPH0816327A (ja) | ディスクアレイ装置 | |
JPH09265435A (ja) | 記憶装置システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060801 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061002 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061226 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070529 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070730 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070828 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20071218 |