JP2017537423A - デュアルアクチュエータ・ハードディスクドライブ - Google Patents
デュアルアクチュエータ・ハードディスクドライブ Download PDFInfo
- Publication number
- JP2017537423A JP2017537423A JP2017514483A JP2017514483A JP2017537423A JP 2017537423 A JP2017537423 A JP 2017537423A JP 2017514483 A JP2017514483 A JP 2017514483A JP 2017514483 A JP2017514483 A JP 2017514483A JP 2017537423 A JP2017537423 A JP 2017537423A
- Authority
- JP
- Japan
- Prior art keywords
- actuator
- data
- disk
- read
- interface
- 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
Classifications
-
- 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/54—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 with provision for moving the head into or out of its operative position or across tracks
- G11B5/55—Track change, selection or acquisition by displacement of the head
- G11B5/5521—Track change, selection or acquisition by displacement of the head across disk tracks
- G11B5/5569—Track change, selection or acquisition by displacement of the head across disk tracks details of specially adapted mobile parts, e.g. electromechanical control devices
- G11B5/5578—Multiple actuators addressing the same disk, e.g. to improve data rate or access rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
-
- 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/4806—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 specially adapted for disk drive assemblies, e.g. assembly prior to operation, hard or flexible disk drives
- G11B5/4813—Mounting or aligning of arm assemblies, e.g. actuator arm supported by bearings, multiple arm assemblies, arm stacks or multiple heads on single arm
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Moving Of Head For Track Selection And Changing (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Digital Magnetic Recording (AREA)
- Moving Of Heads (AREA)
Abstract
ハードディスクドライブに関する実装のためのシステムおよび方法が記載される。本開示は、少なくとも部分的に、複数アクチュエータ複数ディスクシステムにおいてデータを書き込むための方法、およびその方法を行うための複数アクチュエータ複数ディスクシステムに関する。方法は、データを受信するステップと、データを少なくとも第1の予め決定された部分と第2の予め決定された部分とに分割するステップとを備える。方法は、複数のアクチュエータのうちの第1のアクチュエータを用いてデータの第1の予め決定された部分を複数アクチュエータ複数ディスクシステムの第1のディスク表面上へ書き込み、一方では複数のアクチュエータのうちの第2のアクチュエータを用いてデータの第2の予め決定された部分を複数アクチュエータ複数ディスクシステムの第2のディスク表面上へ書き込むステップも含む。【選択図】図1
Description
本発明は、ハードディスクドライブ(HDD:Hard Disk Drive)の分野に関する。特に、本発明は、デュアルアクチュエータをもつHDDに関する。
従来型ハードディスクドライブ(HDD)における読み出し/書き込みメカニズムは、一般に、単一のアクチュエータを制御するボイスコイルモータを備える。
従来型HDDにおける単一のアクチュエータ・アームは、1つのアクチュエータ・アームを支持する。各アクチュエータは、1つ以上のアクチュエータ・アームと、それぞれがボビンありまたはなしの1つまたは複数のボイスコイルと、1つのピボット・カートリッジ軸受アセンブリとからなる。各アクチュエータ・アームは、サスペンションのためのマウントを形成し、サスペンションは、1つまたは複数の読み出し・書き込み磁気記録ヘッドを有する。読み出し/書き込み動作の間に、ボイスコイルモータは、読み出し/書き込み磁気ヘッドを磁気ディスク・プラッタ上の目標箇所に配置するためにアクチュエータ・アームを移動させる。次に読み出し/書き込み動作が目標箇所で行われる。
現在の研究は、HDDのデータ転送速度を増加させることに向けられている。磁気ディスク・プラッタの毎分回転数(RPM:Rotations Per Minute)を増すことを含めて、従来型HDDのデータ転送速度を増加させる様々な方法が提案されてきた。これらの方法は、データ転送速度を増加させるための実行可能な選択肢を提供するが、いくつかの不利な点を有する。例として、RPM能力の増加に伴うスピンドルモータのコストが複雑な軸受のデザインに起因して高い。このことがこれらのHDDの製造コストを増加させて、消費者にまで及ぶ。そのうえ、高RPMで機能するHDDは、ハードディスクドライブ・プラタに有害な、より多くの熱をさせる。効率的な冷却メカニズムが整っていなければ、高RPMで機能するHDDは、ハードディスクドライブ故障にさらに影響されやすいであろう。そのうえ、磁気ディスク・プラッタのRPMを増加させると、HDD内の乱気流に起因してヘッドスタックアセンブリ(HSA:Head Stack Assembly)の振動が増加する。HSAにおける振動は、HDDの記録信頼性も脅かす。
従って、必要とされるのは、磁気ディスク・プラッタの低RPMを維持する一方でHDDのデータ転送速度を増加させることが可能なHDDにおけるロバストな読み出し/書き込みメカニズムである。他の望ましい特徴および特性は、添付図面および本開示のこの背景技術を考えあわせたときに、次の詳細な記載および添付される特許請求の範囲から明らかになるであろう。
本開示によれば、複数アクチュエータ複数ディスクシステムにおいてデータを書き込むための方法が提供され、方法は、
データを受信するステップと、
データを少なくとも第1の予め決定された部分と第2の予め決定された部分とに分割するステップと、
複数のアクチュエータのうちの第1のアクチュエータを用いてデータの第1の予め決定された部分を複数アクチュエータ複数ディスクシステムの第1のディスク表面上へ書き込み、一方では複数のアクチュエータのうちの第2のアクチュエータを用いてデータの第2の予め決定された部分を複数アクチュエータ複数ディスクシステムの第2の表面上へ書き込むステップと
を備える。
データを受信するステップと、
データを少なくとも第1の予め決定された部分と第2の予め決定された部分とに分割するステップと、
複数のアクチュエータのうちの第1のアクチュエータを用いてデータの第1の予め決定された部分を複数アクチュエータ複数ディスクシステムの第1のディスク表面上へ書き込み、一方では複数のアクチュエータのうちの第2のアクチュエータを用いてデータの第2の予め決定された部分を複数アクチュエータ複数ディスクシステムの第2の表面上へ書き込むステップと
を備える。
本開示によれば、複数アクチュエータ複数ディスクシステムにおいてデータを読み出すための方法も提供され、方法は、
データがどこに記憶されているかに関する情報を受信するステップと、
複数のアクチュエータのうちの第1のアクチュエータを用いて複数アクチュエータ複数ディスクシステムのディスクのディスク表面からデータの第1の予め決定された部分を読み出し、一方では複数のアクチュエータのうちの第2のアクチュエータを用いて複数アクチュエータ複数ディスクシステムのディスクのディスク表面からデータの第2の予め決定された部分を読み出すステップと、
少なくともデータの第1の予め決定された部分をデータの第2の予め決定された部分と組み合わせるステップと
を備える。
データがどこに記憶されているかに関する情報を受信するステップと、
複数のアクチュエータのうちの第1のアクチュエータを用いて複数アクチュエータ複数ディスクシステムのディスクのディスク表面からデータの第1の予め決定された部分を読み出し、一方では複数のアクチュエータのうちの第2のアクチュエータを用いて複数アクチュエータ複数ディスクシステムのディスクのディスク表面からデータの第2の予め決定された部分を読み出すステップと、
少なくともデータの第1の予め決定された部分をデータの第2の予め決定された部分と組み合わせるステップと
を備える。
本開示によれば、複数アクチュエータ複数ディスクシステムにおいて読み出しデータを読み出し、書き込みデータを書き込むための方法がさらに提供され、各アクチュエータは、複数のアクチュエータ・アームを備え、方法は、
読み出しデータがどこに記憶されているかに関する情報を受信するステップであって、読み出しデータは、第1の予め決定された部分を備える、受信するステップと、
複数のアクチュエータのうちの第1のアクチュエータを用いて読み出しデータの第1の予め決定された部分を複数アクチュエータ複数ディスクシステムのディスクの第1のディスク表面から読み出すステップと、
第1の予め決定された部分を備える書き込みデータを受信するステップと、
複数のアクチュエータのうちの第2のアクチュエータを用いて書き込みデータの第1の予め決定された部分を複数アクチュエータ複数ディスクシステムのディスクの第2のディスク表面上に書き込むステップと
を備える。
読み出しデータがどこに記憶されているかに関する情報を受信するステップであって、読み出しデータは、第1の予め決定された部分を備える、受信するステップと、
複数のアクチュエータのうちの第1のアクチュエータを用いて読み出しデータの第1の予め決定された部分を複数アクチュエータ複数ディスクシステムのディスクの第1のディスク表面から読み出すステップと、
第1の予め決定された部分を備える書き込みデータを受信するステップと、
複数のアクチュエータのうちの第2のアクチュエータを用いて書き込みデータの第1の予め決定された部分を複数アクチュエータ複数ディスクシステムのディスクの第2のディスク表面上に書き込むステップと
を備える。
本開示によれば、複数アクチュエータ複数ディスクシステムにおいてデータを書き込むための方法が提供され、方法は、
第1のインターフェースから第1のデータを受信するステップと、
第2のインターフェースからデータの第2の予め決定された部分を受信するステップと、
第1のインターフェースに結合された複数のアクチュエータのうちの第1のアクチュエータを用いて第1のデータを複数アクチュエータ複数ディスクシステムのディスクの第1のディスク表面上へ書き込むステップと、一方では
第2のインターフェースに結合された複数のアクチュエータのうちの第2のアクチュエータを用いて第2のデータを複数アクチュエータ複数ディスクシステムのディスクの第2のディスク表面上へ書き込むステップと
を備える。
第1のインターフェースから第1のデータを受信するステップと、
第2のインターフェースからデータの第2の予め決定された部分を受信するステップと、
第1のインターフェースに結合された複数のアクチュエータのうちの第1のアクチュエータを用いて第1のデータを複数アクチュエータ複数ディスクシステムのディスクの第1のディスク表面上へ書き込むステップと、一方では
第2のインターフェースに結合された複数のアクチュエータのうちの第2のアクチュエータを用いて第2のデータを複数アクチュエータ複数ディスクシステムのディスクの第2のディスク表面上へ書き込むステップと
を備える。
本開示は、複数アクチュエータ複数ディスクシステムにおいてデータを読み出すための方法も提供し、各アクチュエータは、複数のアクチュエータ・アームを備え、方法は、
データがどこに記憶されているかに関する情報を受信するステップと、
第1のインターフェースに結合された複数のアクチュエータのうちの第1のアクチュエータを用いて第1のデータを複数アクチュエータ複数ディスクシステムのディスクの第1のディスク表面から読み出し、一方では第2のインターフェースに結合された複数のアクチュエータのうちの第2のアクチュエータを用いて第2のデータを複数アクチュエータ複数ディスクシステムのディスクの第2のディスク表面から読み出すステップと、
少なくとも第1のデータと第2のデータとを組み合わせるステップと
を備える。
データがどこに記憶されているかに関する情報を受信するステップと、
第1のインターフェースに結合された複数のアクチュエータのうちの第1のアクチュエータを用いて第1のデータを複数アクチュエータ複数ディスクシステムのディスクの第1のディスク表面から読み出し、一方では第2のインターフェースに結合された複数のアクチュエータのうちの第2のアクチュエータを用いて第2のデータを複数アクチュエータ複数ディスクシステムのディスクの第2のディスク表面から読み出すステップと、
少なくとも第1のデータと第2のデータとを組み合わせるステップと
を備える。
本開示は、複数アクチュエータ複数ディスクシステムにおいてデータを書き込むための方法をなおさらに提供し、方法は、
第1のインターフェースから第1のデータを受信するステップと、
第2のインターフェースから第2のデータを受信するステップと、
第1のインターフェースに結合された複数のアクチュエータのうちの第1のアクチュエータを用いて第1のデータを複数アクチュエータ複数ディスクシステムのディスクの第1のディスク表面上へ書き込むステップと、一方では
第2のインターフェースに結合された複数のアクチュエータのうちの第2のアクチュエータを用いてデータの第2の予め決定された部分を複数アクチュエータ複数ディスクシステムのディスクの第2のディスク表面へ書き込むステップと
を備える。
第1のインターフェースから第1のデータを受信するステップと、
第2のインターフェースから第2のデータを受信するステップと、
第1のインターフェースに結合された複数のアクチュエータのうちの第1のアクチュエータを用いて第1のデータを複数アクチュエータ複数ディスクシステムのディスクの第1のディスク表面上へ書き込むステップと、一方では
第2のインターフェースに結合された複数のアクチュエータのうちの第2のアクチュエータを用いてデータの第2の予め決定された部分を複数アクチュエータ複数ディスクシステムのディスクの第2のディスク表面へ書き込むステップと
を備える。
本開示は、複数アクチュエータ複数ディスクシステムにおいてデータを読み出すための方法をさらに提供し、方法は、
データがどこに記憶されているかに関する情報を受信するステップと、
第1のインターフェースに結合された複数のアクチュエータのうちの第1のアクチュエータを用いて第1のデータを複数アクチュエータ複数ディスクシステムのディスクの第1のディスク表面から読み出すステップと、一方では
第2のインターフェースに結合された複数のアクチュエータのうちの第2のアクチュエータを用いて第2のデータを複数アクチュエータ複数ディスクシステムのディスクの第2のディスク表面から読み出すステップと、
少なくとも第1のデータと第2のデータとを組み合わせるステップと
を備える。
データがどこに記憶されているかに関する情報を受信するステップと、
第1のインターフェースに結合された複数のアクチュエータのうちの第1のアクチュエータを用いて第1のデータを複数アクチュエータ複数ディスクシステムのディスクの第1のディスク表面から読み出すステップと、一方では
第2のインターフェースに結合された複数のアクチュエータのうちの第2のアクチュエータを用いて第2のデータを複数アクチュエータ複数ディスクシステムのディスクの第2のディスク表面から読み出すステップと、
少なくとも第1のデータと第2のデータとを組み合わせるステップと
を備える。
本開示は、単一エンクロージャ・マルチディスク・ハードディスクドライブ(HDD)も提供し、このHDDは、
第1のディスク表面、
第2のディスク表面、
第1のディスク表面へ書き込むための第1のアクチュエータ、および
第2のディスク表面へ書き込むための第2のアクチュエータであって、第1のアクチュエータから離れて位置して独立に動作する、第2のアクチュエータ
を備え、
第1のディスク表面のための論理ブロックアドレス(LBA:logical block address)は、第2のディスク表面のためのLBAを第1のディスク表面のためのLBAから決定できるように、第2のディスク表面のためのLBAとは異なって指定される。
第1のディスク表面、
第2のディスク表面、
第1のディスク表面へ書き込むための第1のアクチュエータ、および
第2のディスク表面へ書き込むための第2のアクチュエータであって、第1のアクチュエータから離れて位置して独立に動作する、第2のアクチュエータ
を備え、
第1のディスク表面のための論理ブロックアドレス(LBA:logical block address)は、第2のディスク表面のためのLBAを第1のディスク表面のためのLBAから決定できるように、第2のディスク表面のためのLBAとは異なって指定される。
添付図は、本明細書に記載されるように、様々な実施形態を示してHDDおよびHDDに適用できる方法における様々な原理および利点を説明するのに役立つ。
図中の要素は、簡潔さおよび明解さのために示され、必ずしも縮尺通りに描かれなかったことを当業者は理解するであろう。例えば、本実施形態の理解を高めるのを助けるためにブロック図またはフローチャート中のいくつかの要素の寸法が他の要素に対して誇張されることもある。
本明細書では、単数形で列挙され、単語「ひとつの(a)」または「ひとつの(an)」が先行する要素またはステップは、かかる除外が明示的に列挙されない限り、複数の要素またはステップを除外しないと理解されるべきである。そのうえ、本発明の「一実施形態」への言及は、列挙される特徴を同様に組み込んだ追加の実施形態の存在を除外すると解釈されることを意図するものではない。
本明細書に記載されるシステムおよび方法を様々な異なるタイプのデータファイルに用いることができるが、本明細書に記載される例示的なデータファイルは、テキストファイル、ビデオファイル、オーディオファイル、圧縮ファイル、画像ファイル、様々なフォーマット(例えば、XML、HTML)のファイル、およびそれらの組み合わせとなるであろう。各データファイルは、単一ファイルとして送られて、以下にハードディスクドライブ(HDD)と呼ばれるシステムにおいてスマート・インターフェースによってセグメント化(例えば、データの第1の予め決定された部分とデータの第2の予め決定された部分とに分割)できるか、または1つ以上のセグメントとして送られてもよい。1つ以上のセグメントは、HDDインターフェースにおいて1つの完全なファイルと同じ方法で受信されてもよい。
別に指定されない限り、方法ステップへの言及は、コンピュータにその方法ステップを実行させることが可能なプログラムコード、延いてはその方法ステップを実行させる(to executed)ことが可能なコンピュータシステムも推定することが意図される。
本発明の実施形態による複数アクチュエータHDD10が図1Aおよび1Bに示される。HDD10は、スピンドルモータ・ハブ13に取り付けられたスタック12を形成する複数のハードディスク11を含む。各ディスク11は、磁気コーティングを有する。HDD10は、2つのアクチュエータ14a、14bを備え、各々のアクチュエータは、図2Aに示されるように複数のアクチュエータ・アーム14ai、14aii、14bi、14biiを有する。各アクチュエータ・アーム14ai、14aii、14bi、14biiは、1つ以上の読み出し/書き込みヘッド18がその端部にあるそれぞれのサスペンション16を支持する。
HDDのために選択されるフォームファクタは、任意の所望のフォームファクタであってもよい。例えば、フォームファクタは、HDDの長さがおよそ147mm、幅がおよそ101.6mmおよび高さがおよそ26mmの3.5インチ・フォームファクタであってもよい。スタック12におけるディスク20a、20bは、それらの間に1つ以上のアクチュエータ・アーム用スペースがある、21/2インチ・ディスクであってもよい。
図1Bに示されるように、HDD10は、単一入力/出力(I/O:input/output)インターフェース13を有し、それを通じてデータが受信され、アクチュエータ14へ送られ、それからデータがアクチュエータ14から受信されて、他のところへ送られる。
図2A〜2Dを参照すると、アクチュエータは、様々なアーム構成を設けてもよい。図2Aでは、アクチュエータ14a、14bは、2つのアーム14ai、14aii、14bi、14biiを各々が含む。第1のディスク20aは、2つの対向表面22、24を提供し、第2のディスク20bも、2つの対向表面26、28を提供する。各々の場合に、アクチュエータのうちの1つの単一読み出し/書き込みヘッドは、他のアクチュエータがそれぞれの表面の近傍に読み出し/書き込みヘッドを何も有さないような、その各表面に対して配置される。例えば、ディスク20aに対して、アーム14bi、14biiおよびアクチュエータ14bは、それらの表面22、24からの読み出し/それらの表面22、24への書き込みを容易にするように、それぞれの表面22、24に対して配置される。同様に、ディスク20bに対して、アーム14ai、14aiiおよびアクチュエータ14aは、それらの表面26、28からの読み出し/それらの表面26、28への書き込みを容易にするように、それぞれの表面26、28に対して配置される。一方のアクチュエータの読み出し/書き込みヘッド18がそれぞれの表面からの読み出し/それぞれの表面への書き込みのために配置されたところでは、他方のアクチュエータは、その表面から読み出し、またはその表面へ書き込むために配置された読み出し/書き込みヘッドを何も有さない。
図2Aのアクチュエータ14a、14bが同一であるのに対して、図2Bは、アクチュエータ30a、30bがユニークな代わりの配置を示す。アクチュエータ30aは、ディスク32、34の間に延びて、それらのディスク32、34のそれぞれの下面および上面から読み出し/それらへ書き込むための読み出し/書き込みヘッドを支持する2つのアクチュエータ・アーム30ai、30aiiを設ける。対照的に、アーム30bi、30biiによって支持された読み出し/書き込みヘッドは、それらのディスク32、34の対向するそれぞれ上面および下面から読み出し/それらへ書き込む。
加えて、図2Aのアクチュエータ14a、14bがそれぞれのディスク20a、20bに各々サービスしたところで、図2Bの各ディスク32、34は、各々のアクチュエータ30a、30bからの1つの読み出し/書き込みヘッドによってサービスされる。
図2Cは、アクチュエータ36a、36bがユニークなことを除いて、図2Aのものと同様の配置を示す。アクチュエータ36aは、アクチュエータ14aと同様である。しかしながら、アクチュエータ36bは、拡張されたモータ軸38を含む。
図2Dは、各ディスク40、42が各アクチュエータ44a、44bからの1つの読み出し/書き込みヘッドによってサービスされるという点で図2Bと同様の配置を示す。しかしながら、図2Bの配置がユニークなアクチュエータ30a、30bを必要とするところで、図2Dの配置は、一方のアクチュエータ44a、44bが他方のアクチュエータ44a、44bに対して反転しているが、同一のアクチュエータ44a、44bを利用する。
図2E〜2Iは、各アクチュエータが4つのアクチュエータ・アームを設けるさらなるアクチュエータ配置を示す。実際に、任意の適切な数のディスクを収容して、別々の読み出し/書き込みヘッドが各ディスクの各表面にサービスするように、図2A〜2Dに示された概念をスケーリングできる。とりわけ、図2E、2Fおよび2Hは、同一のアクチュエータを採用できる配置を示し、一方で図2Gおよび2Iは、アクチュエータがユニークな配置を提供する。
図3A〜3Cを参照すると、本教示によるHDDは、単一インターフェース、2つのインターフェースまたは3つ以上のインターフェースを採用してもよく、スタック12へ書き込むためにそれらを通じてデータを受信し、スタック12から読み出されたデータをそれらを通じて送信することができる。
図3Aに示された配置は、単一インターフェース48を備えるHDD46を提供する。単一インターフェース48は、両方のアクチュエータ(図示されない)によって書き込まれることになるデータファイル(例えば、テキストファイル、サウンドファイル、ビデオファイル)を受信して、そのデータファイルを構成するデータを複数のアクチュエータへ配布する。単一インターフェース48は、さらに、データをスタック12から読み出すようにアクチュエータに命令して、HDDからの送信のためのデータファイルをそれらのデータから再構成することができ、かつディスクが取り付けられたスピンドルモータ・ハブ52の回転を制御する。
単一インターフェース48は、スマート・インターフェースである。スマート・インターフェース48は、記憶されたコンピュータプログラムコードをその上に有するコンピュータ可読媒体50を備える。コンピュータプログラムコードは、スマート・インターフェース48を制御して、データファイルが正確に配布され、再構成されることを確実にし、将来、データの位置を特定できるようにスタック12におけるデータへのリファレンス(例えば、ポインタ)を確保する。リファレンスは、インターフェース48に記憶されてもよく、またはHDDから離れて記憶されてもよい。代わりに、HDD内の不揮発性記憶スペースにスマート・インターフェース48を制御するためのコンピュータプログラムコード、およびHDDを動作させるための他のファームウェアコードを記憶することができる。かかるファームウェアコードがディスク11のような磁気媒体上に記憶されてもよい。
データファイルが到着するときに、スマート・インターフェース48は、そのデータファイルをどこに記憶すべきかを決定して、特定の方向へのスピニングを開始するために信号をスピンドルモータ・ハブ52へ送る。スタック12においてディスクの表面が1より多いアクチュエータ・アームにより提供され、それにより、1より多い読み出し/書き込みヘッド、スマート・インターフェース48が、ファイルが書き込まれることを開始するべきと決定する、最も近い読み出し/書き込みヘッドへの位置は、1/2Nであり、ここで、Nは、特定のディスク面を提供するアクチュエータの数である。よって、各アクチュエータが特定のディスク面を提供するアームを有するデュアルアクチュエータ配置(つまり、2つのアクチュエータ)に対して、各アーム上の最も近い読み出し/書き込みヘッドは、当該読み出し/書き込みヘッドから離れてほぼディスクの1/4回転にある。
図4を参照すると、ファイルを配布するための処理が示される。当然のことながら、いずれか特定のファイル配布処理が用いられてもよい。例えば、リダンダント・アレイ・オブ・インエクスペンシブ/インデペンデント・ディスクス(RAID:Redundant Array of Inexpensive/Independent Disks)レベル0(すなわち、パリティ情報を何ももたないデータ・ストライピング)に適合する構成に対して、以下の書き込み処理400が適用されてもよい、すなわち、
ステップ402:データファイルが受信される(書き込みデータ−1つ以上のセグメントまたは予め決定された部分を備えてもよい)。
ステップ404:データファイルがプログレッシブにセグメント化される。
ステップ406:複数のセグメントが複数のアクチュエータへ送られる。
ステップ408:データがディスクへ書き込まれる。
ステップ402:データファイルが受信される(書き込みデータ−1つ以上のセグメントまたは予め決定された部分を備えてもよい)。
ステップ404:データファイルがプログレッシブにセグメント化される。
ステップ406:複数のセグメントが複数のアクチュエータへ送られる。
ステップ408:データがディスクへ書き込まれる。
読み出し処理500も図5に示されるようにスマート・インターフェース48によって適用されてもよい。RAID0記憶構成に対して、読み出し処理500は、以下を伴ってもよい、すなわち、
ステップ502:所望のデータファイルまたはセグメントのための開始点を特定するステップ(読み出しデータ−1つ以上のセグメントまたは予め決定された部分を備えてもよい)。
ステップ504:複数のデータ・セグメントをプログレッシブに読み出すステップ。
ステップ506:データファイルを再構成するステップ。
ステップ502:所望のデータファイルまたはセグメントのための開始点を特定するステップ(読み出しデータ−1つ以上のセグメントまたは予め決定された部分を備えてもよい)。
ステップ504:複数のデータ・セグメントをプログレッシブに読み出すステップ。
ステップ506:データファイルを再構成するステップ。
図4をさらに参照すると、ステップ402は、ポート56を通じてデータファイル409を受信することを伴う(図3A参照)。データファイルは、テキストファイル、ビデオファイル、オーディオファイルまたは任意の他のファイルを備えてもよい。
インターフェース48は、次に、ステップ404においてファイルを分解またはセグメント化する。セグメント化は、ファイルを等しいサイズの複数のセグメント410へ分割することを伴ってもよい。RAID0記憶構成では、セグメントが必然的に等しいサイズである。データファイル409を複数のセグメントに正確に分割できないところでは、セグメント410より短くなるであろう、最終セグメント412を影付きバイトによって示されるようにパディングできる。サイズは、様々なアプローチを用いて決定されてもよい。スマート・インターフェース48が複数のセグメントからデータファイルを再構成するので、1つのアプローチは、後続の読み出し処理中にある1つのセグメントがアクチュエータのうちの1つによって読み出されるのに要する時間内にスマート・インターフェースによって組み合わせることができるセグメント・サイズを選択することであろう。言い換えれば、各アクチュエータがそれぞれのセグメントをスマート・インターフェースへ送った後に、スマート・インターフェースは、アクチュエータがさらなるセグメントを読み出してスマート・インターフェースへ送るのに要するのと同じ時間内にそれらのセグメントを組み合わせ終えるであろう。このように、アクチュエータおよびスマート・インターフェースは、読み出し/再構成処理中におよそ100%の稼働率を有する。
他の記憶方法論では、データファイルが他の方法でセグメント化されもよい。例えば、データファイルが任意の他の方法論に従ってセグメント化されるかまたは別様に配布されてもよい。
一旦セグメント化されると、ステップ406ごとにファイル・セグメントがアクチュエータ414、416へ送られる。図4に示されるように、セグメントが分割されて各アクチュエータへ次々に送られる−セグメントの分配は、RAID構成、他の記憶レジーム、ファイルのタイプなどに依存して変化してもよい。図4は、N個のアクチュエータが設けられた環境を示し、0とN−1との間のxに対して、(x+1)番目のセグメントは、第1のアクチュエータに与えられる。同様に、すべてのN番目のセグメントがN番目のアクチュエータへ送られる。RAID0記憶構成に即して図4におけるデュアルアクチュエータ配置の2つのアクチュエータを参照すると、アクチュエータ414、416の各々へ順にセグメントが送られる。例えば、2つのアクチュエータ414、416があるところで、一方のアクチュエータ414に第1のセグメント(すなわち、データファイルの第1の予め決定された部分)が送られ、他方のアクチュエータ416に第2のセグメント(すなわち、データファイルの第1の予め決定された部分)が送られ、アクチュエータ414に第3のセグメントが送られ、アクチュエータ416に第4のセグメントが送られるなどである。
各アクチュエータ414、416には、それぞれのセグメントを書き込むための箇所を特定するポインタも提供される。これは、それぞれのアクチュエータ414、416に、
i)セグメントを送る対象となる然るべきアクチュエータ・アーム420、422、424、426、
ii)そのアーム420、422、424、426が1つより多い読み出し/書き込みヘッド428を支持するところでは、そのセグメントを送る対象となる特定の読み出し/書き込みヘッド、および
iii)読み出し/書き込みヘッド428がディスク418の表面上で正しいトラックの上方に位置するためにはアクチュエータ・アーム420、422、424、426をどこに配置すべきか
を通知する。
i)セグメントを送る対象となる然るべきアクチュエータ・アーム420、422、424、426、
ii)そのアーム420、422、424、426が1つより多い読み出し/書き込みヘッド428を支持するところでは、そのセグメントを送る対象となる特定の読み出し/書き込みヘッド、および
iii)読み出し/書き込みヘッド428がディスク418の表面上で正しいトラックの上方に位置するためにはアクチュエータ・アーム420、422、424、426をどこに配置すべきか
を通知する。
例えば、RAID0記憶構成を採用した従来の記憶方法論では、複数のセグメントが複数のディスクにわたって分配されたであろう。この記憶構成は、従って、それぞれのセグメントを複数のHDDへ送る外部ソース(例えば、CPU)によって実装される。各HDDは、そのそれぞれのセグメントをこのように受信して、そのセグメントを記憶のための1つの完全なデータファイルとして取り扱う。言い換えれば、HDDではセグメントのさらなるセグメント化は行われない。
本実施形態では、HDDがスマート・インターフェース48を用いてセグメント化を行う。従って、スマート・インターフェース48は、複数のディスクの単一スタック12をそれぞれのアクチュエータによって各々がサービスされる複数の別々の記憶装置として取り扱う。読み出しおよび書き込みをこのように制御すると、RAID記憶方法論を複数のディスク上で実施することが可能になる。
この方法論は、複数HDDの使用と同じ方法で1つのデュアルアクチュエータHDDのスタック12を用い、各ディスク表面にサービスするために単一のアクチュエータ・アームのみを設けることによって強化される。従って、アクチュエータ414のアクチュエータ・アーム(単数または複数)によってサービスされるディスク表面のセットはユニークであり、アクチュエータ416のアクチュエータ・アーム(単数または複数)によってサービスされるディスク表面のセットとは重複しない。
スタック12におけるディスクの表面上にデータを記憶するための位置のインデックス付けは、任意の所望のインデックス付けレジームに従ってもよい。例えば、ディスク表面上のデータの個別のバイトのインデックス付け(すなわち、アドレス指定または位置決定)のために標準的なバイトアドレス指定レジームが用いられてもよい。しかしながら、スマート・インターフェース48は、大きなデータ・ブロックの効率的な記憶に適するであろうと考えられる。従って、バイトアドレス指定レジームの代わりに論理ブロックアドレス(LBA:logical block address)レジームが用いられてもよい。LBA技術によれば、データ・ブロック(例えば、ステップ404の下で作成されたセグメント)をアドレス指定するために単一番号が用いられる。
LBAレジームの例示的な使用が、図2Aのアクチュエータおよびディスク配置の概略図を示す、図6A〜6Dを参照して示される。各ディスク表面600、602、604、606がいくつかのセクタ608に分割される。現在は8つのかかるセクタがあるが、任意の所望の数が採用されてもよい。そのうえ、ステップ404に従って作成されるセグメントのサイズは、それぞれのディスク・セクタに記憶されることが可能な最大セグメントに等しいように選択されてもよい。
図6A〜6Dにおいて、
ディスク20bの上側600は、アクチュエータ14aのアクチュエータ・アーム14aiによってサービスされ、
ディスク20bの下側604は、アクチュエータ14aのアクチュエータ・アーム14aiiによってサービスされ、
ディスク20aの上側602は、アクチュエータ14bのアクチュエータ・アーム14biによってサービスされて、
ディスク20aの下側606は、アクチュエータ14bのアクチュエータ・アーム14biiによってサービスされる。
ディスク20bの上側600は、アクチュエータ14aのアクチュエータ・アーム14aiによってサービスされ、
ディスク20bの下側604は、アクチュエータ14aのアクチュエータ・アーム14aiiによってサービスされ、
ディスク20aの上側602は、アクチュエータ14bのアクチュエータ・アーム14biによってサービスされて、
ディスク20aの下側606は、アクチュエータ14bのアクチュエータ・アーム14biiによってサービスされる。
LBAレジームを用いて、データがディスクのセクタへシーケンシャルに書き込まれる(またはそれから読み出される)。例えば、表面600上へ書き込むために第1のセグメント410がアーム14aiへ送られてもよく、表面602上へ書き込むために第2のセグメント410がアーム14biへ送られてもよく、表面604上へ書き込むために第3のセグメント410がアーム14aiiへ送られてもよく、表面606上へ書き込むために第4のセグメント410がアーム14biiへ送られてもよい。とりわけ、RAID0記憶構成によれば、このセグメント化書き込みスキームは、スタック12を4つの別々のHDDと同じ方法で用いる。
できるだけ短い読み出し/書き込み時間のために望ましいのは、データが読み出されるかまたは書き込まれるべきときに、読み出されるべきデータまたはデータが書き込まれるべき箇所がそれぞれのアーム14ai、14aii、14bi、14biiの読み出し/書き込みヘッド下にあることであろう。本実施形態では、各アクチュエータ・アーム14ai、14aii、14bi、14biiのためのそれぞれの書き込み位置がそれぞれのアーム14ai、14aii、14bi、14biiの読み出し/書き込みヘッド下に同時にあるように、データを書き込むための位置にスマート・インターフェース48がインデックスを付ける。
本デュアルアクチュエータの実施形態では、アクチュエータ・アーム14ai、14aii、14bi、14biiのいずれかを配置することが、1つ以上の他のアクチュエータ・アーム14ai、14aii、14bi、14biiの位置と関連付けられるように、セグメントの位置をスマート・インターフェース48が特定する。言い換えれば、1つのアクチュエータ・アーム14ai、14aii、14bi、14biiの箇所を1つ以上の他のアクチュエータ・アーム14ai、14aii、14bi、14biiの箇所から決定できる。そのうえ、各アクチュエータ・アーム14ai、14aii、14bi、14biiの位置は、相対的に2π/Mに等しい量オフセットしており、ここで2πは、全円におけるラジアン数であり、Mは、アクチュエータ数である。従って、示されるようなデュアルアクチュエータでは、アクチュエータ・アーム14ai、14aii、14bi、14bii間のオフセットがπラジアン、すなわち180°となるであろう。
図6A〜6Dに示されるように、ディスク表面600の0番目のセクタは、ディスク表面602の0番目のセクタに対して180°オフセットしている。さらに、ディスク表面604の8番目のセクタは、ディスク表面606の8番目のセクタに対して180°オフセットしている。そのうえ、ディスク表面604、606の8番目のセクタは、表面600、602のそれぞれの0番目のセクタの直下にある。これは、スマート・インターフェース48が単一の箇所をメモリ中に記憶して、複数のデータ・セグメントを特定することを可能にする。
ステップ406に則して、複数のデータ・セグメントが各アクチュエータ414、416へ送られる。特に、各アクチュエータは、各アクチュエータ・アーム14ai、14aii、14bi、14biiの各読み出し/書き込みヘッドによって書き込まれるべきデータを、実質的に同時に、受信する。複数のセグメントのうちの少なくとも1つを用いて、位置インデックスが提供され、それによってアクチュエータ414、416がデータをディスク20a、20bへ書き込むようにそのアーム14ai、14aii、14bi、14biiを配置できる。各アクチュエータのためのアーム14ai、14aii、14bi、14biiの各々が同じ位置へ回転されるので、単一の位置インデックスのみが必要とされる。そのうえ、アクチュエータ14aのアクチュエータ・アーム14ai、14aiiの位置間のオフセットが一定なので、アクチュエータ・アーム14bi、14biiの位置を同じ位置インデックスを用いて決定できる。
アクチュエータ14a、14bへ複数のセグメントが一旦送られると、アクチュエータは、ファイルの書き込みに関与するすべての読み出し/書き込みヘッドを通じてそれらのそれぞれのディスク表面600、602、604、606へ同時に書き込む。RAID0記憶構成は、各HDD上に記憶された、各ファイルからのデータ・セグメントの数を等しく保とうと試みるので、この処理は、RAID0記憶構成に対して特に良好に機能する。
本教示を用いると、書き込み(および以下に考察されるように、読み出し)の速度に関して利点があるが、さらに、すべてのアクチュエータ・アーム14ai、14aii、14bi、14biiのそれらのそれぞれのディスク表面600、602、604、606に対する首尾一貫した位置特定が各アーム14ai、14aii、14bi、14biiに加えられる力を、可能な範囲で、均等化する。これによって、位置誤差検出および他の訂正手段を確実にすべてのアクチュエータ・アーム14ai、14aii、14bi、14biiに対して均等に適用できる。
スマート・インターフェース48は、再構成されるべきデータファイルの能力に依存してデータファイルの複数のセグメントを複数のディスク表面にわたって分配してもよい。言い換えれば、データファイルの複数のセグメントがデータファイルのタイプに基づいて分配されてもよい。例えば、テキストファイルは、容易に再構成することができ、従って、それをセグメント化して複数のディスク表面へ書き込むことができる。対照的に、ビデオファイルの複数のセグメントは、誤りのない再構成を容易にするために、互いに近接して−例えば、同じディスク表面上に−記憶される方が望ましいことがありうる。
図5を参照すると、読み出し処理500は、ステップ502ごとに、所望のデータファイルのための開始点を特定するステップを伴う。これを行うために、スマート・インターフェース48がインターフェース48中のメモリまたは遠隔的に保持されたメモリから各データ・セグメントの開始の箇所を探索してもよい。図6A〜6Dを参照して記載された実施形態では、スマート・インターフェース48がメモリから単一の箇所のみを探索する必要がある。その単一の箇所が複数のアクチュエータ・アームのうちの1つのためのデータ・セグメントの開始位置を示す。しかしながら、複数のアクチュエータ・アームが複数の共通セクタまたはディスク上の共通の垂直位置(すなわち、ディスクの反対側ではあるが同じ箇所)にある複数のセクタへデータを書き込むので、単一のデータ・セグメントの開始の箇所をメモリから抽出すると、すべてのアクチュエータ・アームの位置を然るべく特定できて、それにより各アクチュエータ・アームの読み出し/書き込みヘッドから同時に読み出すことが可能になるであろう。それゆえに、メモリ中の所望のデータファイルのための開始点を特定するステップは、単一のリファレンスを抽出して、その単一のリファレンスを各アクチュエータへ転送することを備えてもよい。これによって、各アクチュエータの1つ以上のアームがそれぞれのデータ・セグメントの開始に配置されることが可能になり、そこからデータファイルを再構成できる。好ましくは、各アクチュエータの2つ以上のアームがそれぞれのデータ・セグメントの開始に配置されることを単一のリファレンスが可能して、そこからデータファイルを再構成できることであろう。
ステップ502の結果として複数のアクチュエータ・アームが一旦そのように配置されると、複数のデータ・セグメントがステップ504ごとにプログレッシブに読み出される。プログレッシブな読み出しは、各アクチュエータからの(その読み出し/書き込みヘッドを通じての)、延いてはアクチュエータ・アームからの複数のデータ・セグメントのシーケンシャルな読み出しを伴ってもよい。しかしながら、単一のリファレンスを用いて1つより多いアクチュエータ・アームをデータファイルのそれぞれのセグメントの開始に配置するところでは、複数のデータ・セグメントをプログレッシブに読み出すステップは、そのように配置された各アクチュエータ・アームを通じてデータ・セグメントを同時に読み出すことを伴う。1つのアクチュエータ・アームを通じて読み出されたデータ・セグメントは、他のアクチュエータ・アーム(単数または複数)を通じて読み出されたデータ・セグメント(単数または複数)とは異なるであろう。そのうえ、複数のアームによって同時に読み出された複数のデータ・セグメントは、データファイルの連続的なセクションを集合的に備えるはずである。言い換えれば、複数のデータ・セグメントが連結されるならば、それらのセグメントは、読み出し処理500によって再構成されたデータファイルからのデータの連続的なセクションを構成するであろう。
各アクチュエータ・アームの各読み出し/書き込みヘッドが1つのセグメントを一旦読み出し終えると、スマート・インターフェース48が新しいリファレンスを提供し、それによってアクチュエータは、次のセグメントまたはセグメントのグループを読み出すようにそれらのそれぞれのアームを配置できる。用語「セグメントのグループ」は、一群のアクチュエータ・アームによって同時に読み出される複数のセグメントを指し、それらのアクチュエータ・アームの読み出し/書き込みヘッドがその適切な時点に読み出し動作を行う。新しいリフェレンスを提供するための代替手段として、アクチュエータ・アームがそれぞれのセグメントの終わりに到達した際に再配置することを可能にするための位置情報(例えば、セグメントの終わりか、またはそれぞれのディスクの位置データレイヤ上の1つ以上のバイト)がディスクへ書き込まれてもよい。さらなる代替手段は、読み出し/書き込みヘッドがディスクの回転軸から同じ距離にある次のディスク・セクタを通ってすべての適切なセクタを読み出すまで読み出し続けて(すなわち、読み出し/書き込みヘッドは移動しないで)、その後、必要に応じてそれぞれの読み出し/書き込みヘッドを支持するアクチュエータ・アームを移動させることであろう。
スタック12におけるディスク上のファイルおよびファイルのセグメントの位置を特定するためのインデックス、ポインタまたは他のリファレンス・データをスマート・インターフェース48が送るところでは、そのリファレンス・データがスマート・インターフェース48によって局所的(すなわち、HDD内)にあるいは遠隔的に記憶されてもよい。速度性能のためには、リファレンス・データが局所的に位置することが望ましい。
複数のセグメントが複数の読み出し/書き込みヘッドによって一旦読み出されると、それらのセグメントがスマート・インターフェース48へ送信される。スマート・インターフェースは、次に、データファイルを再構成する。データファイルが大きくて1つ以上のアクチュエータからの複数の読み出しを必要とするところでは、各読み出し処理が各読み出し/書き込みヘッドによって行われるにつれてデータファイルがプログレッシブに再構成される。スマート・インターフェース48は、次に、データファイルを再構成するために複数のセグメントをシーケンシャルに連結する。
一旦再構成されると、データファイルは、データ・セグメント化を行わなかったHDDとインターフェースする単一インターフェースに対してリクエストが行われた場合と同じ方法で単一インターフェースから送られる。このような方法で、コンピュータシステムは、図2A〜2Dに示されるHDDを用いて、大きなデータファイルを別々の記憶媒体に記憶するためにそれらのファイルをセグメント化する必要なしに記憶できる。
スマート・インターフェース48は、読み出し動作を行うために一方のアクチュエータ14a、14bを制御するのと同時に書き込み動作を行うために他方のアクチュエータ14a、14bも制御してもよい。アクチュエータ14a、14bのアーム14ai、14aii、14bi、14biiが各々ユニークな表面に書き込み、それから読み出す(すなわち、各ディスク表面が単一アクチュエータ・アームのみによってサービスされる)ところでは、書き込まれ、読み出される対象となるトラック、セグメントまたはセクタ間には競合がない。加えて、HDD内にバックアップを作成できて、バックアップでは、例えば、読み出し動作中に1つのディスク表面から読み出されたデータが書き込み動作中に異なるディスク表面へ(例えば、同時に)書き込まれる。読み出しおよび書き込みは、同じアクチュエータ14a、14bによって行われてもよく、または異なるアクチュエータ14a、14bによって行われてもよい。
図3Bおよび3Cは、デュアルインターフェースHDDの2つの実施形態を示す。デュアルインターフェースHDDは、データを2つのソースから受信するために2つのデータ・インターフェースを設ける。代わりに、データが同じソースから受信されて、2つの別々のHDDと同じ方法で取り扱われてもよい。
一方のアクチュエータのアームの読み出し/書き込みヘッドが、他方のアクチュエータのアームの読み出し/書き込みヘッドとは異なるディスク表面に対して読み出しおよび書き込みを行う(すなわち、サービスする)ので、一方のアクチュエータによってサービスされるディスク表面は、実質的に、第1の記憶デバイス(例えば、第1のHDD)を形成し、第2のアクチュエータによってサービスされる表面は、実質的に、第2の記憶デバイス(例えば、第2のHDD)を形成する。この配置を利用すると、M個のアクチュエータを備える単一のHDDを用いてM個の別々の記憶デバイスを再現できる。
データは、複数のHDDに対して読み出し/書き込みを行うための場合と同じ方法で各インターフェースを通じて書き込まれてもよく、または各インターフェースを通じて読み出されてもよい。代わりに、その複数のセグメントが両方のインターフェースへ送られる特定のデータファイルに関しては、後続の読み出し動作または処理が両方のインターフェースを通じて実質的に同時に送達されるデータ・セグメントをもたらすように−図6A〜6Dに関して提示されたのと同じ方法で−書き込むために各インターフェースを通じてアクセス可能な複数のアクチュエータ・アームが相対的に配置されるように、2つのインターフェースが通信してもよい。
同様の方法論は、しばしば同時に読み出されることにつながるように関連付けられた複数のファイルから複数のデータ・セグメントを読み出すためにアクチュエータ・アームを相対的に配置するステップに用いられてもよい。例えば、データを提示するためのスクリーン・レイアウトを定義するファイルが1つのインターフェースを通じて読み出され、一方では所望の提示スキームを定義するデータ(例えば、色、メニュー・オプションなど)が第2のインターフェースから同時に読み出されてもよい。
各データ・インターフェースは、さらに、2つのインターフェースが4つ以上のアクチュエータを制御するように複数のアクチュエータを制御することが可能であってもよい。代わりに、各インターフェースは、1つのインターフェースが第1の計算システムと相互作用し、第2のインターフェースが第2の計算システムと相互作用するスマート・インターフェースであってもよい。これは、図3Bおよび3CのHDDが異種の計算システムから受信された命令を同じ記憶アーキテクチャへマッピングすることを可能にする。このように、各インターフェースは、図4〜6に関して先に記載されたのと同じ方法で、読み出しおよび書き込み命令をHDDにおけるすべてのアクチュエータ(例えば、本デュアルアクチュエータHDDにおける2つのアクチュエータ)へ送ることが可能である。
加えて、これらのインターフェースは、一方のインターフェースが読み出すかまたは書き込んでいるときに、他方のインターフェースが読み出しまたは書き込み処理を行うのを待機するように通信してもよい。これは、競合する読み出しまたは書き込み命令が確実にないようにする。これらのインターフェースは、さらに、他のインターフェースによって読み出されるかまたは書き込まれようとしているディスクの部分よりも読み出し/書き込みヘッドの現在の位置に近い方のディスクの複数の部分(例えば、セクタまたはトラック)から読み出すかまたはそこへ書き込むためのデータをどちらのインターフェースがリクエストしているかを決定するために通信してもよい。従って、読み出し/書き込みヘッドの現在の位置への近接性に依存してデータの読み出しまたは書き込みが行われる。この方法論は、それゆえに、HDDのための全体的な読み出し/書き込み時間を複数のインターフェースにわたって最適化する。
従って、同じファイルを両方のスマート・インターフェースを通じて読み出すことができ、スマート・インターフェースは、位置データを記憶するために共通のライブラリまたは共通の記憶媒体を用い、アクチュエータのそれぞれのアクチュエータ・アームを読み出しおよび書き込みのためにそれらの位置データによって配置してもよい。ファイルが書き込まれるときに、ライブラリまたは記憶媒体は、両方のインターフェースを通じて参照できる新しいファイル位置またはインデックス付けデータによって更新される。
先に考察された制御方法論を用いて、HDDにおけるすべてのアクチュエータを制御するために2つのインターフェースを別々に用いることができる。HDDは、それゆえに、記憶レジームに異なるフォーマットが提供されるが競合する記憶または読み出しをレジームがもたらさない、異種のフォーマットを用いた類似的でないデータを記憶するための記憶媒体としての役割を果たことができる。例えば、一方のインターフェースは、他方のインターフェースを通じてアクセス可能なことが意図されたデータを上書きするためにアクチュエータを制御すべきではない。
デュアルインターフェース、デュアルアクチュエータHDDを用いて行われる読み出しおよび書き込み動作は、他方のインターフェースを通じて書き込まれるデータとの競合を回避するために、一方のインターフェースに特異的なセクタまたはトラックが指定されてもよいことを例外として、2つの個別の単一アクチュエータHDDのための動作と同じであってもよい。その指定は、固定されてもよく−例えば、特定のセクタまたはトラックが各インターフェースに予め割り当てられる。代わりに、その指定は、動的であってもよく−例えば、すべてのセクタまたはトラックが割り当てられるまで「必要に応じて」セクタまたはトラックが割り当てられてもよい。セクタまたはトラックが割り当てられると、そのセクタまたはトラックは、その上に記憶されたデータが消去されるまで他のアクチュエータによるアクセス可能性から除外される。
2つのインターフェースが別個のインターフェースとして動作するところでは、スタック12におけるディスクの複数の表面が2つのアクチュエータのうちの1つに割り当てられてもよい。このように、HDDを1つの計算システムまたは2つの計算システムによってアクセスされる2つの従来型HDDと同じ方法で用いることができる。2つのインターフェースが両方のアクチュエータと各々通信するか、またはアクチュエータによって行われる読み出しおよび書き込み動作を制御するために相互作用するところでは、これらのアクチュエータが任意の標準プロトコルを用いてもよく、それによって2つの計算システムが単一サーバもしくはメモリデバイスにデータをリクエストするか、またはそれらへデータを送るであろう。2つのインターフェースが両方のアクチュエータと各々通信するところでは、共通のメモリデバイスまたはライブラリにリファレンス(例えば、位置インデックス)が記憶されてもよい。2つのインターフェースが両方のアクチュエータと各々通信するところでは、これらのインターフェースは、図6ならびに処理400および500に関して記載されたのと同じ方法でアクチュエータを通じて読み出しおよび書き込みを行ってもよい。セクタおよび/またはトラック指定は、一方のインターフェースを通じてアクセス可能であり、他方のインターフェースを通じてアクセス可能であるべきではないデータの分離を達成するために必要なことが注目されるであろう。
上記の書き込み処理のいずれかにおいても、当然のことながら、パリティ情報がHDDに書き込まれてもよい。パリティ情報は、特定のディスク表面に書き込まれてもよい。言い換えれば、パリティ情報を記憶するために特定のディスク表面(または、さらに言うならばディスク)が予約されてもよい。パリティ情報は、読み出されるかまたは書き込まれたデータに誤りがあるかどうかの判定を行うことを可能にする。パリティ情報は、ディスク、セクタまたはトラック不良があったところでデータを再構成することも可能にする。パリティ情報のために特定の表面が予約されるところでは、データをスタック12に記憶するために実装される記憶レジームは、RAIDレベル3(RAID3)構成に採用されるレジームと同様であってもよく、このレジームではパリティ情報のために記憶媒体のアレイのうちの単一の記憶媒体が予約される。
スタック12における複数のディスクは、すべてが同じスピンドルモータ・ハブに取り付けられて、それゆえに同じ速度で回転し、複数のアームの読み出し/書き込みヘッドが書き込みおよび読み出しを行う対象となるそれぞれのディスク表面に対して、それらのアームを同じ位置に配置するように複数のアクチュエータを制御できるので、本配置は、RAIDレベル2(RAID2)の使用を可能にするであろう。とりわけ、RAID2は、極めて高いデータ転送速度を提供するが、誤り訂正にハミング・コードを用いる。複数のHDDに対してRAID2は、ほとんど利点を提供せず、商業的に利用できないと見なされている。しかしながら、本明細書に記載される方法論に従って単一のHDDに首尾よく実装することは可能かもしれない。代わりに、簡易なXOR(排他的OR)パリティの実装を提供するためにRAIDレベル5(RAID5)が用いられてもよく、この実装ではHDDがデータ・セクタをバッファリングして、パリティ・セクタを計算し、データおよびパリティ・セクタをスタックへ書き込む。
パリティ情報のためにディスク表面を予約するのではなく、むしろそのパリティ情報をデータ・セグメントとともに様々なディスク表面上へストライピングしてもよい。データ・ストライピングおよびパリティ書き込みのための処理を、例えば、様々なRAIDレベル3〜6構成から、当業者は理解するであろう。
パリティ情報が一旦1つのディスク表面へ書き込まれるか、またはデータとともに複数のディスク表面上へストライピングされると、データ誤りを特定して潜在的に訂正するためにそのパリティ情報を用いることができる。パリティ情報は、排他的OR(すなわち、XOR)パリティ・スキームを用いて計算されてもよい。XORパリティ・スキームでは、データ・セグメント−上記のようなセグメント、ワード、ストリングなどであってもよい−は、「1」の値をもつ既知のビット数を備える。XORパリティ・ビットは、それゆえにデータ・セグメント中の「1」の数が偶数か奇数かに依存して「1」または「0」にセットされる。典型的に、XORビットは、データ・セグメント中の「1」の数が偶数のところでは「1」にセットされ、データ・セグメント中の「1」の数が奇数のところでは「0」にセットされるであろう。従って、XOR計算は、データ・セグメント中の「1」の和をチェックするために、パリティ・ビットを提供するチェックサム・ルーチンを用いるであろう。それぞれの場合に、チェックサム処理は、XOR計算に成功し、従って、データが(これはありそうもないが、セグメント中に2ビットの誤りがある場合を除いて)正確であることを実証するために「1」を生じるべきである。XOR計算の所望の結果が「0」であるところで同様の処理が用いられてもよい。
RAID0に対して用いられるパリティは何もないが、パリティ・ビットを用いた他の記憶レジームでは、たとえ誤りが検出された場合でもデータを再構成できる。XOR計算を用いたデータ再構成を当業者は理解するであろう。
図7は、記憶インターフェース700の例示的な構成を示す。記憶インターフェース700は、HDD、例えば、上記のようなデュアルアクチュエータHDDを含んでもよい。
計算システム700は、命令を実行するためのプロセッサ702も含む。命令は、例えば、メモリエリア704または他のコンピュータ可読媒体に記憶されてもよい。プロセッサ702は、(例えば、マルチコア構成の)1つ以上の処理ユニットを含んでもよい。メモリエリア704は、HDD内のディスク上におけるデータファイルおよびファイル・セグメントの開始箇所へのインデックスまたはリファレンスのライブラリも記憶してもよい。
プロセッサ702は、記憶インターフェース700がユーザの計算デバイスまたは別の記憶インターフェース700のような遠隔デバイスと通信することが可能なように、通信インターフェース706に作動的に結合されてもよい。例えば、通信インターフェース706がインターネットを介してクライアント・システムからのリクエストを受信してもよい。
プロセッサ702は、さらに、記憶デバイス708に作動的に結合されてもよい。記憶デバイス708は、データを記憶するかおよび/または取り出すのに適したコンピュータによって作動する任意のハードウェアであり、本実施形態では磁気ハードディスクのスタックを備える。他の実施形態では、記憶デバイス708は、記憶インターフェース700の外部にあるか、および/または図3Bおよび3Cのデュアルインターフェースの実施形態の場合のように複数の記憶インターフェース700によってアクセスされてもよい。例えば、記憶デバイス708は、複数の記憶ユニット、例えば、リダンダント・アレイ・オブ・インエクスペンシブ・ディスクス(RAID:redundant array of inexpensive disks)構成の他のハードディスクまたは固体ディスクを含んでもよい。記憶デバイス708は、ストレージエリアネットワーク(SAN:storage area network)またはネットワークアタッチトストレージ(NAS:network attached storage)システムを含んでもよい。
いくつかの実施形態において、プロセッサ702は、HDDアダプタ710を介して記憶デバイス708に作動的に結合される。HDDアダプタ710は、記憶デバイス708へのアクセスをプロセッサ702に提供することが可能な任意のコンポーネントであってもよい。HDDアダプタ710は、例えば、アドバンスドテクノロジーアタッチメント(ATA:Advanced Technology Attachment)アダプタ、シリアルATA(SATA:Serial ATA)アダプタ、スモールコンピュータシステムインターフェース(SCSI:Small Computer System Interface)、RAIDコントローラ、SANアダプタ、ネットワークアダプタ、および/またはプロセッサ702に記憶デバイス708へのアクセスを提供する任意のコンポーネントを含んでもよい。
動作中に、プロセッサ702は、メモリデバイス(メモリデバイス704および記憶デバイス708を含む)に結合されて、HDD708におけるディスクのディスク表面からデータを読み出し、HDD708におけるディスクの表面へデータを書き込み、図4および5に関して先に記載されたようにデータを再構成し、かつデータをセグメント化して、HDD708のディスク表面へ書き込まれるデータの位置を特定するためのインデックスをさらに発生させて記憶する。
記憶インターフェース700は、メモリデバイス704または記憶デバイス708のような、非一時的なコンピュータ可読媒体上に具現されたコンピュータプログラムによって、読み出し、書き込み、再構成、セグメント化およびインデックス付け処理を行うように命令されてもよい。デバイス704、708上に記憶されたプログラムは、リクエストされた動作を行うようにコンピュータに命令するためにそのコンピュータによって実行可能な、少なくとも1つのコード・セグメント、おそらくは何千ものコード・セグメントを含むであろう。当然のことながら、HDD708が関与する読み出しおよび書き込み処理によって記憶インターフェース700の複雑な動作を可能にするルーチンおよびプログラムがHDD708上に、例えば、HDD中の専用スペース、ディスクもしくはディスク表面に記憶されてもよい。
同様に、プログラムが遠隔的に記憶されてもよい。このような目的で、記憶インターフェース700は、HDD上で読み出し、書き込み、セグメント化、再構成およびインデックス付けの動作を実行するためにネットワークベース・システムのクライアント・コンピュータHDDを構成してもよい。
本明細書に記載されるデュアルアクチュエータHDDは、単一アクチュエータHDDより高いデータ転送速度をより低い毎分回転数(RPM)で提供できる。RPMが低いほど、HDD内で発生する熱が少なくなり、結果として、冷却要求を低減し、HDD熱故障の尤度を低減してHDDを長寿命化する。そのうえ、(例えば、一方のアクチュエータが1つの表面から読み出す間に他方のアクチュエータがその読み出しデータを同じHDD内の異なる表面へ書き込む)バックアップを実装することによって、第2のHDDを必要とすることなく冗長性およびバックアップを達成できる。
本教示によるデュアルアクチュエータHDDは、実際には、以下を備えてもよい、すなわち、拡張された基本筐体上にある唯一のスピンドルモータであって、複数の磁気媒体が用いられるならば−デジタル情報を記憶することが可能な1つ、2つもしくはより多くの磁気媒体またはディスクを唯一のスピニングモータが搭載し、媒体がスペーサリングによって分離されて、クランプ部品、例えば、スプリング式ディスククランプ、リングナットまたは代わりの固定機構を用いて所定の位置に保持される、スピンドルモータと;2つ以上のアクチュエータであって、各々がヘッドセンサを有するロータリ・ヘッドスタック・アクチュエータアセンブリであり、媒体表面に対するヘッドセンサの指定が専用される場合のように、各々のヘッドセンサが読み出し/書き込み動作のために異なるディスク媒体表面にアクセスする、アクチュエータと;2つのボイスコイル磁石ヨークアセンブリまたはボイスコイルモータ(VCM:voice coil motor)であって、各々が上側および/または下側鋼製ヨーク中に1つまたは2つの磁石を保持し、(ヘッドスタック・アクチュエータアセンブリの一部である)コイル巻線が通電されたときに電磁駆動を提供する、ボイスコイル磁石ヨークアセンブリまたはVCMと;非動作状態下で所定の衝撃を与えられた場合にヘッドスタックアセンブリをとらえるためのフックをもつ2つのイナーシャラッチと;ハードディスクがローアイドルまたは非動作モードのいずれかにあるときのディスク媒体外周外でのヘッドスタック・アクチュエータアセンブリのパーキングおよび保護のための2つのランプ・パーキング・デバイスと;ハードディスクドライブのより迅速な微粒子クリーンアップを促進するための2つの静電フィルタであって、ハードディスクゾーンの上流での乱流を最小限に抑えるためにフィルタが別々に間隔をあけて配置され、シュラウドの形体をなす基本筐体拡張部分によって保持された、静電フィルタと;基本筐体内の上述の部品および部分アセンブリを取り囲むための拡張されたトップカバーであって、カバーは、ネジまたは代わりの締結具を用いて基本筐体外周に固定され、振動低減のためにヘッドスタックアセンブリのセンタベアリングを通る形体の締結孔を有し−随意的に、孔は、スピンドルモータ軸を固定して共振および機械的振動を軽減するためにカバーの中心に設けられてもよい、トップカバーと;外部汚染物質または微粒子からハードディスクドライブをシールするためのトップカバー上のガスケットまたは一体化された流し込みガスケット(FIPG:form−in−place gasket)と;駆動中に部品からドライブに与えられるガスまたは蒸気汚染物質を吸収するための1つ以上のアブソーベントブリーザまたは乾燥剤フィルタ(単数または複数)とを備えてもよい。
2つのヘッドスタック・アクチュエータアセンブリは、基本筐体上に組み立てられたときに互いに異なる高さに据え付けられもよい。それらのアセンブリは、さらに、互いに180°反対に離隔してそれらの中心がモータの中心に沿って線上に並んでもよく、または、例えば、3つ以上のアクチュエータを用いられるか、もしくは異なるスペーシングによってストロークおよびアクセス要件が最適化されるであろう、異なるスペーシングを用いてもよい。ヘッドスタック・アクチュエータアセンブリは、様々なアーム長、アーム間角距離を収容できるように、モジュール構成であってもよい。
本教示の多くの修正および変形が本開示の観点から当業者に明らかであろう。すべてのかかる修正および変形は、本開示の範囲内にあることが意図される。そのうえ、可能な範囲で、1つ以上の他の実施形態の特徴を強化するかまたは置き換えるために本明細書に記載される実施形態のうちの1つからの特徴が1つ以上の他の実施形態に用いられてもよい。すべてのかかる使用法、置換および置き換えは、本開示の範囲内にあることが意図される。
本発明は、ハードディスクドライブ(HDD:Hard Disk Drive)の分野に関する。特に、本発明は、デュアルアクチュエータをもつHDDに関する。
従来型ハードディスクドライブ(HDD)における読み出し/書き込みメカニズムは、一般に、単一のアクチュエータを制御するボイスコイルモータを備える。
従来型HDDにおける単一のアクチュエータ・アームは、1つのアクチュエータ・アームを支持する。各アクチュエータは、1つ以上のアクチュエータ・アームと、それぞれがボビンありまたはなしの1つまたは複数のボイスコイルと、1つのピボット・カートリッジ軸受アセンブリとからなる。各アクチュエータ・アームは、サスペンションのためのマウントを形成し、サスペンションは、1つまたは複数の読み出し・書き込み磁気記録ヘッドを有する。読み出し/書き込み動作の間に、ボイスコイルモータは、読み出し/書き込み磁気ヘッドを磁気ディスク・プラッタ上の目標箇所に配置するためにアクチュエータ・アームを移動させる。次に読み出し/書き込み動作が目標箇所で行われる。
現在の研究は、HDDのデータ転送速度を増加させることに向けられている。磁気ディスク・プラッタの毎分回転数(RPM:Rotations Per Minute)を増すことを含めて、従来型HDDのデータ転送速度を増加させる様々な方法が提案されてきた。これらの方法は、データ転送速度を増加させるための実行可能な選択肢を提供するが、いくつかの不利な点を有する。例として、RPM能力の増加に伴うスピンドルモータのコストが複雑な軸受のデザインに起因して高い。このことがこれらのHDDの製造コストを増加させて、消費者にまで及ぶ。そのうえ、高RPMで機能するHDDは、ハードディスクドライブ・プラタに有害な、より多くの熱をさせる。効率的な冷却メカニズムが整っていなければ、高RPMで機能するHDDは、ハードディスクドライブ故障にさらに影響されやすいであろう。そのうえ、磁気ディスク・プラッタのRPMを増加させると、HDD内の乱気流に起因してヘッドスタックアセンブリ(HSA:Head Stack Assembly)の振動が増加する。HSAにおける振動は、HDDの記録信頼性も脅かす。
従って、必要とされるのは、磁気ディスク・プラッタの低RPMを維持する一方でHDDのデータ転送速度を増加させることが可能なHDDにおけるロバストな読み出し/書き込みメカニズムである。他の望ましい特徴および特性は、添付図面および本開示のこの背景技術を考えあわせたときに、次の詳細な記載および添付される特許請求の範囲から明らかになるであろう。
本開示によれば、複数アクチュエータ複数ディスクシステムにおいてデータを書き込むための方法が提供され、各アクチュエータは、複数のアクチュエータ・アームを備え、各アームは、1つ以上のヘッドがその端部にあるそれぞれのサスペンションを支持し、複数のアクチュエータのうちの1つの各ヘッドは、他のアクチュエータがそれぞれのディスク表面の近傍にヘッドを何も有さないような、複数アクチュエータ複数ディスクシステムのそのそれぞれの表面に対して配置され、方法は、
データを受信するステップと、
データを少なくとも第1の予め決定された部分と第2の予め決定された部分とに分割するステップと、
複数のアクチュエータのうちの第1のアクチュエータを用いてデータの第1の予め決定された部分を複数アクチュエータ複数ディスクシステムの第1のディスク表面上へ書き込み、一方では複数のアクチュエータのうちの第2のアクチュエータを用いてデータの第2の予め決定された部分を複数アクチュエータ複数ディスクシステムの第2の表面上へ書き込むステップであって、第2のアクチュエータは、第1のアクチュエータから離れて位置する、ステップと
を備える。
データを受信するステップと、
データを少なくとも第1の予め決定された部分と第2の予め決定された部分とに分割するステップと、
複数のアクチュエータのうちの第1のアクチュエータを用いてデータの第1の予め決定された部分を複数アクチュエータ複数ディスクシステムの第1のディスク表面上へ書き込み、一方では複数のアクチュエータのうちの第2のアクチュエータを用いてデータの第2の予め決定された部分を複数アクチュエータ複数ディスクシステムの第2の表面上へ書き込むステップであって、第2のアクチュエータは、第1のアクチュエータから離れて位置する、ステップと
を備える。
本開示によれば、複数アクチュエータ複数ディスクシステムにおいてデータを読み出すための方法も提供され、各アクチュエータは、複数のアクチュエータ・アームを備え、各アームは、1つ以上のヘッドがその端部にあるそれぞれのサスペンションを支持し、複数のアクチュエータのうちの1つの各ヘッドは、他のアクチュエータがそれぞれのディスク表面の近傍にヘッドを何も有さないような、複数アクチュエータ複数ディスクシステムのそのそれぞれの表面に対して配置され、方法は、
データがどこに記憶されているかに関する情報を受信するステップと、
複数のアクチュエータのうちの第1のアクチュエータを用いて複数アクチュエータ複数ディスクシステムのディスクのディスク表面からデータの第1の予め決定された部分を読み出し、一方では複数のアクチュエータのうちの第2のアクチュエータを用いて複数アクチュエータ複数ディスクシステムのディスクのディスク表面からデータの第2の予め決定された部分を読み出すステップであって、第2のアクチュエータは、第1のアクチュエータから離れて位置する、ステップと、
少なくともデータの第1の予め決定された部分をデータの第2の予め決定された部分と組み合わせるステップと
を備える。
データがどこに記憶されているかに関する情報を受信するステップと、
複数のアクチュエータのうちの第1のアクチュエータを用いて複数アクチュエータ複数ディスクシステムのディスクのディスク表面からデータの第1の予め決定された部分を読み出し、一方では複数のアクチュエータのうちの第2のアクチュエータを用いて複数アクチュエータ複数ディスクシステムのディスクのディスク表面からデータの第2の予め決定された部分を読み出すステップであって、第2のアクチュエータは、第1のアクチュエータから離れて位置する、ステップと、
少なくともデータの第1の予め決定された部分をデータの第2の予め決定された部分と組み合わせるステップと
を備える。
本開示によれば、複数アクチュエータ複数ディスクシステムにおいて読み出しデータを読み出し、書き込みデータを書き込むための方法がさらに提供され、各アクチュエータは、複数のアクチュエータ・アームを備え、各アームは、1つ以上のヘッドがその端部にあるそれぞれのサスペンションを支持し、複数のアクチュエータのうちの1つの各ヘッドは、他のアクチュエータがそれぞれのディスク表面の近傍にヘッドを何も有さないような、複数アクチュエータ複数ディスクシステムのそのそれぞれのディスク表面に対して配置され、方法は、
読み出しデータがどこに記憶されているかに関する情報を受信するステップであって、読み出しデータは、第1の予め決定された部分を備える、受信するステップと、
複数のアクチュエータのうちの第1のアクチュエータを用いて読み出しデータの第1の予め決定された部分を複数アクチュエータ複数ディスクシステムのディスクの第1のディスク表面から読み出すステップと、
第1の予め決定された部分を備える書き込みデータを受信するステップと、
複数のアクチュエータのうちの第2のアクチュエータを用いて書き込みデータの第1の予め決定された部分を複数アクチュエータ複数ディスクシステムのディスクの第2のディスク表面上に書き込むステップであって、第2のアクチュエータは、第1のアクチュエータから離れて位置する、書き込むステップと
を備える。
読み出しデータがどこに記憶されているかに関する情報を受信するステップであって、読み出しデータは、第1の予め決定された部分を備える、受信するステップと、
複数のアクチュエータのうちの第1のアクチュエータを用いて読み出しデータの第1の予め決定された部分を複数アクチュエータ複数ディスクシステムのディスクの第1のディスク表面から読み出すステップと、
第1の予め決定された部分を備える書き込みデータを受信するステップと、
複数のアクチュエータのうちの第2のアクチュエータを用いて書き込みデータの第1の予め決定された部分を複数アクチュエータ複数ディスクシステムのディスクの第2のディスク表面上に書き込むステップであって、第2のアクチュエータは、第1のアクチュエータから離れて位置する、書き込むステップと
を備える。
本開示によれば、複数アクチュエータ複数ディスクシステムにおいてデータを書き込むための方法が提供され、各アクチュエータは、複数のアクチュエータ・アームを備え、各アームは、1つ以上のヘッドがその端部にあるそれぞれのサスペンションを支持し、複数のアクチュエータのうちの1つの各ヘッドは、他のアクチュエータがそれぞれのディスク表面の近傍にヘッドを何も有さないような、複数アクチュエータ複数ディスクシステムのそのそれぞれのディスク表面に対して配置され、方法は、
第1のインターフェースから第1のデータを受信するステップと、
第2のインターフェースから第2のデータを受信するステップと、
第1のインターフェースに結合された複数のアクチュエータのうちの第1のアクチュエータを用いて第1のデータを複数アクチュエータ複数ディスクシステムのディスクの第1のディスク表面上へ書き込むステップと、一方では
第2のインターフェースに結合された複数のアクチュエータのうちの第2のアクチュエータを用いて第2のデータを複数アクチュエータ複数ディスクシステムのディスクの第2のディスク表面上へ書き込むステップと
を備える。
第1のインターフェースから第1のデータを受信するステップと、
第2のインターフェースから第2のデータを受信するステップと、
第1のインターフェースに結合された複数のアクチュエータのうちの第1のアクチュエータを用いて第1のデータを複数アクチュエータ複数ディスクシステムのディスクの第1のディスク表面上へ書き込むステップと、一方では
第2のインターフェースに結合された複数のアクチュエータのうちの第2のアクチュエータを用いて第2のデータを複数アクチュエータ複数ディスクシステムのディスクの第2のディスク表面上へ書き込むステップと
を備える。
本開示は、複数アクチュエータ複数ディスクシステムにおいてデータを読み出すための方法も提供し、各アクチュエータは、複数のアクチュエータ・アームを備え、各アームは、1つ以上のヘッドがその端部にあるそれぞれのサスペンションを支持し、複数のアクチュエータのうちの1つの各ヘッドは、他のアクチュエータがそれぞれのディスク表面の近傍にヘッドを何も有さないような、複数アクチュエータ複数ディスクシステムのそのそれぞれのディスク表面に対して配置され、方法は、
データがどこに記憶されているかに関する情報を受信するステップと、
第1のインターフェースに結合された複数のアクチュエータのうちの第1のアクチュエータを用いてデータの第1の予め決定された部分を複数アクチュエータ複数ディスクシステムのディスクの第1のディスク表面から読み出し、一方では第2のインターフェースに結合された複数のアクチュエータのうちの第2のアクチュエータを用いてデータの第2の予め決定された部分を複数アクチュエータ複数ディスクシステムのディスクの第2のディスク表面から読み出すステップと、
少なくとも第1のデータと第2のデータとを組み合わせるステップと
を備える。
データがどこに記憶されているかに関する情報を受信するステップと、
第1のインターフェースに結合された複数のアクチュエータのうちの第1のアクチュエータを用いてデータの第1の予め決定された部分を複数アクチュエータ複数ディスクシステムのディスクの第1のディスク表面から読み出し、一方では第2のインターフェースに結合された複数のアクチュエータのうちの第2のアクチュエータを用いてデータの第2の予め決定された部分を複数アクチュエータ複数ディスクシステムのディスクの第2のディスク表面から読み出すステップと、
少なくとも第1のデータと第2のデータとを組み合わせるステップと
を備える。
本開示は、複数アクチュエータ複数ディスクシステムにおいてデータを書き込むための方法をなおさらに提供し、各アクチュエータは、複数のアクチュエータ・アームを備え、各アームは、1つ以上のヘッドがその端部にあるそれぞれのサスペンションを支持し、前記複数のアクチュエータのうちの1つの各ヘッドは、他のアクチュエータがそれぞれのディスク表面の近傍にヘッドを何も有さないような、複数アクチュエータ複数ディスクシステムのそのそれぞれのディスク表面に対して配置され、方法は、
第1のインターフェースから書き込みデータを受信するステップと、
読み出しデータがどこに記憶されているかに関する情報を受信すると、
第1のインターフェースに結合された複数のアクチュエータのうちの第1のアクチュエータを用いて書き込みデータを複数アクチュエータ複数ディスクシステムの第1のディスクのディスク表面上へ書き込むステップと、一方では
第2のインターフェースに結合された複数のアクチュエータのうちの第2のアクチュエータを用いて読み出しデータを複数アクチュエータ複数ディスクシステムのディスクの第2のディスク表面から読み出すステップと
を備える。
第1のインターフェースから書き込みデータを受信するステップと、
読み出しデータがどこに記憶されているかに関する情報を受信すると、
第1のインターフェースに結合された複数のアクチュエータのうちの第1のアクチュエータを用いて書き込みデータを複数アクチュエータ複数ディスクシステムの第1のディスクのディスク表面上へ書き込むステップと、一方では
第2のインターフェースに結合された複数のアクチュエータのうちの第2のアクチュエータを用いて読み出しデータを複数アクチュエータ複数ディスクシステムのディスクの第2のディスク表面から読み出すステップと
を備える。
本開示は、複数アクチュエータ複数ディスクシステムにおいてデータを読み出すための方法をさらに提供し、方法は、
データがどこに記憶されているかに関する情報を受信するステップと、
第1のインターフェースに結合された複数のアクチュエータのうちの第1のアクチュエータを用いて第1のデータを複数アクチュエータ複数ディスクシステムのディスクの第1のディスク表面から読み出すステップと、一方では
第2のインターフェースに結合された複数のアクチュエータのうちの第2のアクチュエータを用いて第2のデータを複数アクチュエータ複数ディスクシステムのディスクの第2のディスク表面から読み出すステップと、
少なくとも第1のデータと第2のデータとを組み合わせるステップと
を備える。
データがどこに記憶されているかに関する情報を受信するステップと、
第1のインターフェースに結合された複数のアクチュエータのうちの第1のアクチュエータを用いて第1のデータを複数アクチュエータ複数ディスクシステムのディスクの第1のディスク表面から読み出すステップと、一方では
第2のインターフェースに結合された複数のアクチュエータのうちの第2のアクチュエータを用いて第2のデータを複数アクチュエータ複数ディスクシステムのディスクの第2のディスク表面から読み出すステップと、
少なくとも第1のデータと第2のデータとを組み合わせるステップと
を備える。
本開示は、単一エンクロージャ・マルチディスク・ハードディスクドライブ(HDD)も提供し、このHDDは、
第1のディスク表面、
第2のディスク表面、
第1のディスク表面へ書き込むための第1のアクチュエータ、および
第2のディスク表面へ書き込むための第2のアクチュエータであって、第1のアクチュエータから離れて位置して独立に動作する、第2のアクチュエータ
を備え、
第1のアクチュエータおよび第2のアクチュエータの各々は、複数のアクチュエータ・アームを備え、各アームは、1つ以上のヘッドがその端部にあるそれぞれのサスペンションを支持し、複数のアクチュエータのうちの1つの各ヘッドは、他のアクチュエータがそれぞれのディスク表面の近傍にヘッドを何も有さないような、マルチディスクHDDのそのそれぞれのディスク表面に対して配置され、
第1のディスク表面のための論理ブロックアドレス(LBA:logical block address)は、第2のディスク表面のためのLBAを第1のディスク表面のためのLBAから決定できるように、第2のディスク表面のためのLBAとは異なって指定される。
第1のディスク表面、
第2のディスク表面、
第1のディスク表面へ書き込むための第1のアクチュエータ、および
第2のディスク表面へ書き込むための第2のアクチュエータであって、第1のアクチュエータから離れて位置して独立に動作する、第2のアクチュエータ
を備え、
第1のアクチュエータおよび第2のアクチュエータの各々は、複数のアクチュエータ・アームを備え、各アームは、1つ以上のヘッドがその端部にあるそれぞれのサスペンションを支持し、複数のアクチュエータのうちの1つの各ヘッドは、他のアクチュエータがそれぞれのディスク表面の近傍にヘッドを何も有さないような、マルチディスクHDDのそのそれぞれのディスク表面に対して配置され、
第1のディスク表面のための論理ブロックアドレス(LBA:logical block address)は、第2のディスク表面のためのLBAを第1のディスク表面のためのLBAから決定できるように、第2のディスク表面のためのLBAとは異なって指定される。
添付図は、本明細書に記載されるように、様々な実施形態を示してHDDおよびHDDに適用できる方法における様々な原理および利点を説明するのに役立つ。
図中の要素は、簡潔さおよび明解さのために示され、必ずしも縮尺通りに描かれなかったことを当業者は理解するであろう。例えば、本実施形態の理解を高めるのを助けるためにブロック図またはフローチャート中のいくつかの要素の寸法が他の要素に対して誇張されることもある。
本明細書では、単数形で列挙され、単語「ひとつの(a)」または「ひとつの(an)」が先行する要素またはステップは、かかる除外が明示的に列挙されない限り、複数の要素またはステップを除外しないと理解されるべきである。そのうえ、本発明の「一実施形態」への言及は、列挙される特徴を同様に組み込んだ追加の実施形態の存在を除外すると解釈されることを意図するものではない。
本明細書に記載されるシステムおよび方法を様々な異なるタイプのデータファイルに用いることができるが、本明細書に記載される例示的なデータファイルは、テキストファイル、ビデオファイル、オーディオファイル、圧縮ファイル、画像ファイル、様々なフォーマット(例えば、XML、HTML)のファイル、およびそれらの組み合わせとなるであろう。各データファイルは、単一ファイルとして送られて、以下にハードディスクドライブ(HDD)と呼ばれるシステムにおいてスマート・インターフェースによってセグメント化(例えば、データの第1の予め決定された部分とデータの第2の予め決定された部分とに分割)できるか、または1つ以上のセグメントとして送られてもよい。1つ以上のセグメントは、HDDインターフェースにおいて1つの完全なファイルと同じ方法で受信されてもよい。
別に指定されない限り、方法ステップへの言及は、コンピュータにその方法ステップを実行させることが可能なプログラムコード、延いてはその方法ステップを実行させる(to executed)ことが可能なコンピュータシステムも推定することが意図される。
本発明の実施形態による複数アクチュエータHDD10が図1Aおよび1Bに示される。HDD10は、スピンドルモータ・ハブ13に取り付けられたスタック12を形成する複数のハードディスク11を含む。各ディスク11は、磁気コーティングを有する。HDD10は、2つのアクチュエータ14a、14bを備え、各々のアクチュエータは、図2Aに示されるように複数のアクチュエータ・アーム14ai、14aii、14bi、14biiを有する。各アクチュエータ・アーム14ai、14aii、14bi、14biiは、1つ以上の読み出し/書き込みヘッド18がその端部にあるそれぞれのサスペンション16を支持する。
HDDのために選択されるフォームファクタは、任意の所望のフォームファクタであってもよい。例えば、フォームファクタは、HDDの長さがおよそ147mm、幅がおよそ101.6mmおよび高さがおよそ26mmの3.5インチ・フォームファクタであってもよい。スタック12におけるディスク20a、20bは、それらの間に1つ以上のアクチュエータ・アーム用スペースがある、21/2インチ・ディスクであってもよい。
図1Bに示されるように、HDD10は、単一入力/出力(I/O:input/output)インターフェース13を有し、それを通じてデータが受信され、アクチュエータ14へ送られ、それからデータがアクチュエータ14から受信されて、他のところへ送られる。
図2A〜2Dを参照すると、アクチュエータは、様々なアーム構成を設けてもよい。図2Aでは、アクチュエータ14a、14bは、2つのアーム14ai、14aii、14bi、14biiを各々が含む。第1のディスク20aは、2つの対向表面22、24を提供し、第2のディスク20bも、2つの対向表面26、28を提供する。各々の場合に、アクチュエータのうちの1つの単一読み出し/書き込みヘッドは、他のアクチュエータがそれぞれの表面の近傍に読み出し/書き込みヘッドを何も有さないような、その各表面に対して配置される。例えば、ディスク20aに対して、アーム14bi、14biiおよびアクチュエータ14bは、それらの表面22、24からの読み出し/それらの表面22、24への書き込みを容易にするように、それぞれの表面22、24に対して配置される。同様に、ディスク20bに対して、アーム14ai、14aiiおよびアクチュエータ14aは、それらの表面26、28からの読み出し/それらの表面26、28への書き込みを容易にするように、それぞれの表面26、28に対して配置される。一方のアクチュエータの読み出し/書き込みヘッド18がそれぞれの表面からの読み出し/それぞれの表面への書き込みのために配置されたところでは、他方のアクチュエータは、その表面から読み出し、またはその表面へ書き込むために配置された読み出し/書き込みヘッドを何も有さない。
図2Aのアクチュエータ14a、14bが同一であるのに対して、図2Bは、アクチュエータ30a、30bがユニークな代わりの配置を示す。アクチュエータ30aは、ディスク32、34の間に延びて、それらのディスク32、34のそれぞれの下面および上面から読み出し/それらへ書き込むための読み出し/書き込みヘッドを支持する2つのアクチュエータ・アーム30ai、30aiiを設ける。対照的に、アーム30bi、30biiによって支持された読み出し/書き込みヘッドは、それらのディスク32、34の対向するそれぞれ上面および下面から読み出し/それらへ書き込む。
加えて、図2Aのアクチュエータ14a、14bがそれぞれのディスク20a、20bに各々サービスしたところで、図2Bの各ディスク32、34は、各々のアクチュエータ30a、30bからの1つの読み出し/書き込みヘッドによってサービスされる。
図2Cは、アクチュエータ36a、36bがユニークなことを除いて、図2Aのものと同様の配置を示す。アクチュエータ36aは、アクチュエータ14aと同様である。しかしながら、アクチュエータ36bは、拡張されたモータ軸38を含む。
図2Dは、各ディスク40、42が各アクチュエータ44a、44bからの1つの読み出し/書き込みヘッドによってサービスされるという点で図2Bと同様の配置を示す。しかしながら、図2Bの配置がユニークなアクチュエータ30a、30bを必要とするところで、図2Dの配置は、一方のアクチュエータ44a、44bが他方のアクチュエータ44a、44bに対して反転しているが、同一のアクチュエータ44a、44bを利用する。
図2E〜2Iは、各アクチュエータが4つのアクチュエータ・アームを設けるさらなるアクチュエータ配置を示す。実際に、任意の適切な数のディスクを収容して、別々の読み出し/書き込みヘッドが各ディスクの各表面にサービスするように、図2A〜2Dに示された概念をスケーリングできる。とりわけ、図2E、2Fおよび2Hは、同一のアクチュエータを採用できる配置を示し、一方で図2Gおよび2Iは、アクチュエータがユニークな配置を提供する。
図3A〜3Cを参照すると、本教示によるHDDは、単一インターフェース、2つのインターフェースまたは3つ以上のインターフェースを採用してもよく、スタック12へ書き込むためにそれらを通じてデータを受信し、スタック12から読み出されたデータをそれらを通じて送信することができる。
図3Aに示された配置は、単一インターフェース48を備えるHDD46を提供する。単一インターフェース48は、両方のアクチュエータ(図示されない)によって書き込まれることになるデータファイル(例えば、テキストファイル、サウンドファイル、ビデオファイル)を受信して、そのデータファイルを構成するデータを複数のアクチュエータへ配布する。単一インターフェース48は、さらに、データをスタック12から読み出すようにアクチュエータに命令して、HDDからの送信のためのデータファイルをそれらのデータから再構成することができ、かつディスクが取り付けられたスピンドルモータ・ハブ52の回転を制御する。
単一インターフェース48は、スマート・インターフェースである。スマート・インターフェース48は、記憶されたコンピュータプログラムコードをその上に有するコンピュータ可読媒体50を備える。コンピュータプログラムコードは、スマート・インターフェース48を制御して、データファイルが正確に配布され、再構成されることを確実にし、将来、データの位置を特定できるようにスタック12におけるデータへのリファレンス(例えば、ポインタ)を確保する。リファレンスは、インターフェース48に記憶されてもよく、またはHDDから離れて記憶されてもよい。代わりに、HDD内の不揮発性記憶スペースにスマート・インターフェース48を制御するためのコンピュータプログラムコード、およびHDDを動作させるための他のファームウェアコードを記憶することができる。かかるファームウェアコードがディスク11のような磁気媒体上に記憶されてもよい。
データファイルが到着するときに、スマート・インターフェース48は、そのデータファイルをどこに記憶すべきかを決定して、特定の方向へのスピニングを開始するために信号をスピンドルモータ・ハブ52へ送る。アクチュエータ・アームが1つより多い読み出し/書き込みヘッドを支持するところでは、ファイルが書き込まれるべき位置にどちらのアクチュエータ・ヘッドが最も近いかを次にスマート・インターフェースが判断して、ファイル、またはその一部分をその読み出し/書き込みヘッドへ送る。
図4を参照すると、ファイルを配布するための処理が示される。当然のことながら、いずれか特定のファイル配布処理が用いられてもよい。例えば、リダンダント・アレイ・オブ・インエクスペンシブ/インデペンデント・ディスクス(RAID:Redundant Array of Inexpensive/Independent Disks)レベル0(すなわち、パリティ情報を何ももたないデータ・ストライピング)に適合する構成に対して、以下の書き込み処理400が適用されてもよい、すなわち、
ステップ402:データファイルが受信される(書き込みデータ−1つ以上のセグメントまたは予め決定された部分を備えてもよい)。
ステップ404:データファイルがプログレッシブにセグメント化される。
ステップ406:複数のセグメントが複数のアクチュエータへ送られる。
ステップ408:データがディスクへ書き込まれる。
ステップ402:データファイルが受信される(書き込みデータ−1つ以上のセグメントまたは予め決定された部分を備えてもよい)。
ステップ404:データファイルがプログレッシブにセグメント化される。
ステップ406:複数のセグメントが複数のアクチュエータへ送られる。
ステップ408:データがディスクへ書き込まれる。
読み出し処理500も図5に示されるようにスマート・インターフェース48によって適用されてもよい。RAID0記憶構成に対して、読み出し処理500は、以下を伴ってもよい、すなわち、
ステップ502:所望のデータファイルまたはセグメントのための開始点を特定するステップ(読み出しデータ−1つ以上のセグメントまたは予め決定された部分を備えてもよい)。
ステップ504:複数のデータ・セグメントをプログレッシブに読み出すステップ。
ステップ506:データファイルを再構成するステップ。
ステップ502:所望のデータファイルまたはセグメントのための開始点を特定するステップ(読み出しデータ−1つ以上のセグメントまたは予め決定された部分を備えてもよい)。
ステップ504:複数のデータ・セグメントをプログレッシブに読み出すステップ。
ステップ506:データファイルを再構成するステップ。
図4をさらに参照すると、ステップ402は、ポート56を通じてデータファイル409を受信することを伴う(図3A参照)。データファイルは、テキストファイル、ビデオファイル、オーディオファイルまたは任意の他のファイルを備えてもよい。
インターフェース48は、次に、ステップ404においてファイルを分解またはセグメント化する。セグメント化は、ファイルを等しいサイズの複数のセグメント410へ分割することを伴ってもよい。RAID0記憶構成では、セグメントが必然的に等しいサイズである。データファイル409を複数のセグメントに正確に分割できないところでは、セグメント410より短くなるであろう、最終セグメント412を影付きバイトによって示されるようにパディングできる。サイズは、様々なアプローチを用いて決定されてもよい。スマート・インターフェース48が複数のセグメントからデータファイルを再構成するので、1つのアプローチは、後続の読み出し処理中にある1つのセグメントがアクチュエータのうちの1つによって読み出されるのに要する時間内にスマート・インターフェースによって組み合わせることができるセグメント・サイズを選択することであろう。言い換えれば、各アクチュエータがそれぞれのセグメントをスマート・インターフェースへ送った後に、スマート・インターフェースは、アクチュエータがさらなるセグメントを読み出してスマート・インターフェースへ送るのに要するのと同じ時間内にそれらのセグメントを組み合わせ終えるであろう。このように、アクチュエータおよびスマート・インターフェースは、読み出し/再構成処理中におよそ100%の稼働率を有する。
他の記憶方法論では、データファイルが他の方法でセグメント化されもよい。例えば、データファイルが任意の他の方法論に従ってセグメント化されるかまたは別様に配布されてもよい。
一旦セグメント化されると、ステップ406ごとにファイル・セグメントがアクチュエータ414、416へ送られる。図4に示されるように、セグメントが分割されて各アクチュエータへ次々に送られる−セグメントの分配は、RAID構成、他の記憶レジーム、ファイルのタイプなどに依存して変化してもよい。図4は、N個のアクチュエータが設けられた環境を示し、0とN−1との間のxに対して、(x+1)番目のセグメントは、第1のアクチュエータに与えられる。同様に、すべてのN番目のセグメントがN番目のアクチュエータへ送られる。RAID0記憶構成に即して図4におけるデュアルアクチュエータ配置の2つのアクチュエータを参照すると、アクチュエータ414、416の各々へ順にセグメントが送られる。例えば、2つのアクチュエータ414、416があるところで、一方のアクチュエータ414に第1のセグメント(すなわち、データファイルの第1の予め決定された部分)が送られ、他方のアクチュエータ416に第2のセグメント(すなわち、データファイルの第1の予め決定された部分)が送られ、アクチュエータ414に第3のセグメントが送られ、アクチュエータ416に第4のセグメントが送られるなどである。
各アクチュエータ414、416には、それぞれのセグメントを書き込むための箇所を特定するポインタも提供される。これは、それぞれのアクチュエータ414、416に、
i)セグメントを送る対象となる然るべきアクチュエータ・アーム420、422、424、426、
ii)そのアーム420、422、424、426が1つより多い読み出し/書き込みヘッド428を支持するところでは、そのセグメントを送る対象となる特定の読み出し/書き込みヘッド、および
iii)読み出し/書き込みヘッド428がディスク418の表面上で正しいトラックの上方に位置するためにはアクチュエータ・アーム420、422、424、426をどこに配置すべきか
を通知する。
i)セグメントを送る対象となる然るべきアクチュエータ・アーム420、422、424、426、
ii)そのアーム420、422、424、426が1つより多い読み出し/書き込みヘッド428を支持するところでは、そのセグメントを送る対象となる特定の読み出し/書き込みヘッド、および
iii)読み出し/書き込みヘッド428がディスク418の表面上で正しいトラックの上方に位置するためにはアクチュエータ・アーム420、422、424、426をどこに配置すべきか
を通知する。
例えば、RAID0記憶構成を採用した従来の記憶方法論では、複数のセグメントが複数のディスクにわたって分配されたであろう。この記憶構成は、従って、それぞれのセグメントを複数のHDDへ送る外部ソース(例えば、CPU)によって実装される。各HDDは、そのそれぞれのセグメントをこのように受信して、そのセグメントを記憶のための1つの完全なデータファイルとして取り扱う。言い換えれば、HDDではセグメントのさらなるセグメント化は行われない。
本実施形態では、HDDがスマート・インターフェース48を用いてセグメント化を行う。従って、スマート・インターフェース48は、複数のディスクの単一スタック12をそれぞれのアクチュエータによって各々がサービスされる複数の別々の記憶装置として取り扱う。読み出しおよび書き込みをこのように制御すると、RAID記憶方法論を複数のディスク上で実施することが可能になる。
この方法論は、複数HDDの使用と同じ方法で1つのデュアルアクチュエータHDDのスタック12を用い、各ディスク表面にサービスするために単一のアクチュエータ・アームのみを設けることによって強化される。従って、アクチュエータ414のアクチュエータ・アーム(単数または複数)によってサービスされるディスク表面のセットはユニークであり、アクチュエータ416のアクチュエータ・アーム(単数または複数)によってサービスされるディスク表面のセットとは重複しない。
スタック12におけるディスクの表面上にデータを記憶するための位置のインデックス付けは、任意の所望のインデックス付けレジームに従ってもよい。例えば、ディスク表面上のデータの個別のバイトのインデックス付け(すなわち、アドレス指定または位置決定)のために標準的なバイトアドレス指定レジームが用いられてもよい。しかしながら、スマート・インターフェース48は、大きなデータ・ブロックの効率的な記憶に適するであろうと考えられる。従って、バイトアドレス指定レジームの代わりに論理ブロックアドレス(LBA:logical block address)レジームが用いられてもよい。LBA技術によれば、データ・ブロック(例えば、ステップ404の下で作成されたセグメント)をアドレス指定するために単一番号が用いられる。
LBAレジームの例示的な使用が、図2Aのアクチュエータおよびディスク配置の概略図を示す、図6A〜6Dを参照して示される。各ディスク表面600、602、604、606がいくつかのセクタ608に分割される。現在は8つのかかるセクタがあるが、任意の所望の数が採用されてもよい。そのうえ、ステップ404に従って作成されるセグメントのサイズは、それぞれのディスク・セクタに記憶されることが可能な最大セグメントに等しいように選択されてもよい。
図6A〜6Dにおいて、
ディスク20bの上側600は、アクチュエータ14aのアクチュエータ・アーム14aiによってサービスされ、
ディスク20bの下側604は、アクチュエータ14aのアクチュエータ・アーム14aiiによってサービスされ、
ディスク20aの上側602は、アクチュエータ14bのアクチュエータ・アーム14biによってサービスされて、
ディスク20aの下側606は、アクチュエータ14bのアクチュエータ・アーム14biiによってサービスされる。
ディスク20bの上側600は、アクチュエータ14aのアクチュエータ・アーム14aiによってサービスされ、
ディスク20bの下側604は、アクチュエータ14aのアクチュエータ・アーム14aiiによってサービスされ、
ディスク20aの上側602は、アクチュエータ14bのアクチュエータ・アーム14biによってサービスされて、
ディスク20aの下側606は、アクチュエータ14bのアクチュエータ・アーム14biiによってサービスされる。
LBAレジームを用いて、データがディスクのセクタへシーケンシャルに書き込まれる(またはそれから読み出される)。例えば、表面600上へ書き込むために第1のセグメント410がアーム14aiへ送られてもよく、表面602上へ書き込むために第2のセグメント410がアーム14biへ送られてもよく、表面604上へ書き込むために第3のセグメント410がアーム14aiiへ送られてもよく、表面606上へ書き込むために第4のセグメント410がアーム14biiへ送られてもよい。とりわけ、RAID0記憶構成によれば、このセグメント化書き込みスキームは、スタック12を4つの別々のHDDと同じ方法で用いる。
できるだけ短い読み出し/書き込み時間のために望ましいのは、データが読み出されるかまたは書き込まれるべきときに、読み出されるべきデータまたはデータが書き込まれるべき箇所がそれぞれのアーム14ai、14aii、14bi、14biiの読み出し/書き込みヘッド下にあることであろう。本実施形態では、各アクチュエータ・アーム14ai、14aii、14bi、14biiのためのそれぞれの書き込み位置がそれぞれのアーム14ai、14aii、14bi、14biiの読み出し/書き込みヘッド下に同時にあるように、データを書き込むための位置にスマート・インターフェース48がインデックスを付ける。
本デュアルアクチュエータの実施形態では、アクチュエータ・アーム14ai、14aii、14bi、14biiのいずれかを配置することが、1つ以上の他のアクチュエータ・アーム14ai、14aii、14bi、14biiの位置と関連付けられるように、セグメントの位置をスマート・インターフェース48が特定する。言い換えれば、1つのアクチュエータ・アーム14ai、14aii、14bi、14biiの箇所を1つ以上の他のアクチュエータ・アーム14ai、14aii、14bi、14biiの箇所から決定できる。そのうえ、各アクチュエータ・アーム14ai、14aii、14bi、14biiの位置は、相対的に2π/Mに等しい量オフセットしており、ここで2πは、全円におけるラジアン数であり、Mは、アクチュエータ数である。従って、示されるようなデュアルアクチュエータでは、アクチュエータ・アーム14ai、14aii、14bi、14bii間のオフセットがπラジアン、すなわち180°となるであろう。
図6A〜6Dに示されるように、ディスク表面600の0番目のセクタは、ディスク表面602の0番目のセクタに対して180°オフセットしている。さらに、ディスク表面604の8番目のセクタは、ディスク表面606の8番目のセクタに対して180°オフセットしている。そのうえ、ディスク表面604、606の8番目のセクタは、表面600、602のそれぞれの0番目のセクタの直下にある。これは、スマート・インターフェース48が単一の箇所をメモリ中に記憶して、複数のデータ・セグメントを特定することを可能にする。
ステップ406に則して、複数のデータ・セグメントが各アクチュエータ414、416へ送られる。特に、各アクチュエータは、各アクチュエータ・アーム14ai、14aii、14bi、14biiの各読み出し/書き込みヘッドによって書き込まれるべきデータを、実質的に同時に、受信する。複数のセグメントのうちの少なくとも1つを用いて、位置インデックスが提供され、それによってアクチュエータ414、416がデータをディスク20a、20bへ書き込むようにそのアーム14ai、14aii、14bi、14biiを配置できる。各アクチュエータのためのアーム14ai、14aii、14bi、14biiの各々が同じ位置へ回転されるので、単一の位置インデックスのみが必要とされる。そのうえ、アクチュエータ14aのアクチュエータ・アーム14ai、14aiiの位置間のオフセットが一定なので、アクチュエータ・アーム14bi、14biiの位置を同じ位置インデックスを用いて決定できる。
アクチュエータ14a、14bへ複数のセグメントが一旦送られると、アクチュエータは、ファイルの書き込みに関与するすべての読み出し/書き込みヘッドを通じてそれらのそれぞれのディスク表面600、602、604、606へ同時に書き込む。RAID0記憶構成は、各HDD上に記憶された、各ファイルからのデータ・セグメントの数を等しく保とうと試みるので、この処理は、RAID0記憶構成に対して特に良好に機能する。
本教示を用いると、書き込み(および以下に考察されるように、読み出し)の速度に関して利点があるが、さらに、すべてのアクチュエータ・アーム14ai、14aii、14bi、14biiのそれらのそれぞれのディスク表面600、602、604、606に対する首尾一貫した位置特定が各アーム14ai、14aii、14bi、14biiに加えられる力を、可能な範囲で、均等化する。これによって、位置誤差検出および他の訂正手段を確実にすべてのアクチュエータ・アーム14ai、14aii、14bi、14biiに対して均等に適用できる。
スマート・インターフェース48は、再構成されるべきデータファイルの能力に依存してデータファイルの複数のセグメントを複数のディスク表面にわたって分配してもよい。言い換えれば、データファイルの複数のセグメントがデータファイルのタイプに基づいて分配されてもよい。例えば、テキストファイルは、容易に再構成することができ、従って、それをセグメント化して複数のディスク表面へ書き込むことができる。対照的に、ビデオファイルの複数のセグメントは、誤りのない再構成を容易にするために、互いに近接して−例えば、同じディスク表面上に−記憶される方が望ましいことがありうる。
図5を参照すると、読み出し処理500は、ステップ502ごとに、所望のデータファイルのための開始点を特定するステップを伴う。これを行うために、スマート・インターフェース48がインターフェース48中のメモリまたは遠隔的に保持されたメモリから各データ・セグメントの開始の箇所を探索してもよい。図6A〜6Dを参照して記載された実施形態では、スマート・インターフェース48がメモリから単一の箇所のみを探索する必要がある。その単一の箇所が複数のアクチュエータ・アームのうちの1つのためのデータ・セグメントの開始位置を示す。しかしながら、複数のアクチュエータ・アームが複数の共通セクタまたはディスク上の共通の垂直位置(すなわち、ディスクの反対側ではあるが同じ箇所)にある複数のセクタへデータを書き込むので、単一のデータ・セグメントの開始の箇所をメモリから抽出すると、すべてのアクチュエータ・アームの位置を然るべく特定できて、それにより各アクチュエータ・アームの読み出し/書き込みヘッドから同時に読み出すことが可能になるであろう。それゆえに、メモリ中の所望のデータファイルのための開始点を特定するステップは、単一のリファレンスを抽出して、その単一のリファレンスを各アクチュエータへ転送することを備えてもよい。これによって、各アクチュエータの1つ以上のアームがそれぞれのデータ・セグメントの開始に配置されることが可能になり、そこからデータファイルを再構成できる。好ましくは、各アクチュエータの2つ以上のアームがそれぞれのデータ・セグメントの開始に配置されることを単一のリファレンスが可能して、そこからデータファイルを再構成できることであろう。
ステップ502の結果として複数のアクチュエータ・アームが一旦そのように配置されると、複数のデータ・セグメントがステップ504ごとにプログレッシブに読み出される。プログレッシブな読み出しは、各アクチュエータからの(その読み出し/書き込みヘッドを通じての)、延いてはアクチュエータ・アームからの複数のデータ・セグメントのシーケンシャルな読み出しを伴ってもよい。しかしながら、単一のリファレンスを用いて1つより多いアクチュエータ・アームをデータファイルのそれぞれのセグメントの開始に配置するところでは、複数のデータ・セグメントをプログレッシブに読み出すステップは、そのように配置された各アクチュエータ・アームを通じてデータ・セグメントを同時に読み出すことを伴う。1つのアクチュエータ・アームを通じて読み出されたデータ・セグメントは、他のアクチュエータ・アーム(単数または複数)を通じて読み出されたデータ・セグメント(単数または複数)とは異なるであろう。そのうえ、複数のアームによって同時に読み出された複数のデータ・セグメントは、データファイルの連続的なセクションを集合的に備えるはずである。言い換えれば、複数のデータ・セグメントが連結されるならば、それらのセグメントは、読み出し処理500によって再構成されたデータファイルからのデータの連続的なセクションを構成するであろう。
各アクチュエータ・アームの各読み出し/書き込みヘッドが1つのセグメントを一旦読み出し終えると、スマート・インターフェース48が新しいリファレンスを提供し、それによってアクチュエータは、次のセグメントまたはセグメントのグループを読み出すようにそれらのそれぞれのアームを配置できる。用語「セグメントのグループ」は、一群のアクチュエータ・アームによって同時に読み出される複数のセグメントを指し、それらのアクチュエータ・アームの読み出し/書き込みヘッドがその適切な時点に読み出し動作を行う。新しいリフェレンスを提供するための代替手段として、アクチュエータ・アームがそれぞれのセグメントの終わりに到達した際に再配置することを可能にするための位置情報(例えば、セグメントの終わりか、またはそれぞれのディスクの位置データレイヤ上の1つ以上のバイト)がディスクへ書き込まれてもよい。さらなる代替手段は、読み出し/書き込みヘッドがディスクの回転軸から同じ距離にある次のディスク・セクタを通ってすべての適切なセクタを読み出すまで読み出し続けて(すなわち、読み出し/書き込みヘッドは移動しないで)、その後、必要に応じてそれぞれの読み出し/書き込みヘッドを支持するアクチュエータ・アームを移動させることであろう。
スタック12におけるディスク上のファイルおよびファイルのセグメントの位置を特定するためのインデックス、ポインタまたは他のリファレンス・データをスマート・インターフェース48が送るところでは、そのリファレンス・データがスマート・インターフェース48によって局所的(すなわち、HDD内)にあるいは遠隔的に記憶されてもよい。速度性能のためには、リファレンス・データが局所的に位置することが望ましい。
複数のセグメントが複数の読み出し/書き込みヘッドによって一旦読み出されると、それらのセグメントがスマート・インターフェース48へ送信される。スマート・インターフェースは、次に、データファイルを再構成する。データファイルが大きくて1つ以上のアクチュエータからの複数の読み出しを必要とするところでは、各読み出し処理が各読み出し/書き込みヘッドによって行われるにつれてデータファイルがプログレッシブに再構成される。スマート・インターフェース48は、次に、データファイルを再構成するために複数のセグメントをシーケンシャルに連結する。
一旦再構成されると、データファイルは、データ・セグメント化を行わなかったHDDとインターフェースする単一インターフェースに対してリクエストが行われた場合と同じ方法で単一インターフェースから送られる。このような方法で、コンピュータシステムは、図2A〜2Dに示されるHDDを用いて、大きなデータファイルを別々の記憶媒体に記憶するためにそれらのファイルをセグメント化する必要なしに記憶できる。
スマート・インターフェース48は、読み出し動作を行うために一方のアクチュエータ14a、14bを制御するのと同時に書き込み動作を行うために他方のアクチュエータ14a、14bも制御してもよい。アクチュエータ14a、14bのアーム14ai、14aii、14bi、14biiが各々ユニークな表面に書き込み、それから読み出す(すなわち、各ディスク表面が単一アクチュエータ・アームのみによってサービスされる)ところでは、書き込まれ、読み出される対象となるトラック、セグメントまたはセクタ間には競合がない。加えて、HDD内にバックアップを作成できて、バックアップでは、例えば、読み出し動作中に1つのディスク表面から読み出されたデータが書き込み動作中に異なるディスク表面へ(例えば、同時に)書き込まれる。読み出しおよび書き込みは、同じアクチュエータ14a、14bによって行われてもよく、または異なるアクチュエータ14a、14bによって行われてもよい。
図3Bおよび3Cは、デュアルインターフェースHDDの2つの実施形態を示す。デュアルインターフェースHDDは、データを2つのソースから受信するために2つのデータ・インターフェースを設ける。代わりに、データが同じソースから受信されて、2つの別々のHDDと同じ方法で取り扱われてもよい。
一方のアクチュエータのアームの読み出し/書き込みヘッドが、他方のアクチュエータのアームの読み出し/書き込みヘッドとは異なるディスク表面に対して読み出しおよび書き込みを行う(すなわち、サービスする)ので、一方のアクチュエータによってサービスされるディスク表面は、実質的に、第1の記憶デバイス(例えば、第1のHDD)を形成し、第2のアクチュエータによってサービスされる表面は、実質的に、第2の記憶デバイス(例えば、第2のHDD)を形成する。この配置を利用すると、M個のアクチュエータを備える単一のHDDを用いてM個の別々の記憶デバイスを再現できる。
データは、複数のHDDに対して読み出し/書き込みを行うための場合と同じ方法で各インターフェースを通じて書き込まれてもよく、または各インターフェースを通じて読み出されてもよい。代わりに、その複数のセグメントが両方のインターフェースへ送られる特定のデータファイルに関しては、後続の読み出し動作または処理が両方のインターフェースを通じて実質的に同時に送達されるデータ・セグメントをもたらすように−図6A〜6Dに関して提示されたのと同じ方法で−書き込むために各インターフェースを通じてアクセス可能な複数のアクチュエータ・アームが相対的に配置されるように、2つのインターフェースが通信してもよい。
同様の方法論は、しばしば同時に読み出されることにつながるように関連付けられた複数のファイルから複数のデータ・セグメントを読み出すためにアクチュエータ・アームを相対的に配置するステップに用いられてもよい。例えば、データを提示するためのスクリーン・レイアウトを定義するファイルが1つのインターフェースを通じて読み出され、一方では所望の提示スキームを定義するデータ(例えば、色、メニュー・オプションなど)が第2のインターフェースから同時に読み出されてもよい。
各データ・インターフェースは、さらに、2つのインターフェースが4つ以上のアクチュエータを制御するように複数のアクチュエータを制御することが可能であってもよい。代わりに、各インターフェースは、1つのインターフェースが第1の計算システムと相互作用し、第2のインターフェースが第2の計算システムと相互作用するスマート・インターフェースであってもよい。これは、図3Bおよび3CのHDDが異種の計算システムから受信された命令を同じ記憶アーキテクチャへマッピングすることを可能にする。このように、各インターフェースは、図4〜6に関して先に記載されたのと同じ方法で、読み出しおよび書き込み命令をHDDにおけるすべてのアクチュエータ(例えば、本デュアルアクチュエータHDDにおける2つのアクチュエータ)へ送ることが可能である。
加えて、これらのインターフェースは、一方のインターフェースが読み出すかまたは書き込んでいるときに、他方のインターフェースが読み出しまたは書き込み処理を行うのを待機するように通信してもよい。これは、競合する読み出しまたは書き込み命令が確実にないようにする。これらのインターフェースは、さらに、他のインターフェースによって読み出されるかまたは書き込まれようとしているディスクの部分よりも読み出し/書き込みヘッドの現在の位置に近い方のディスクの複数の部分(例えば、セクタまたはトラック)から読み出すかまたはそこへ書き込むためのデータをどちらのインターフェースがリクエストしているかを決定するために通信してもよい。従って、読み出し/書き込みヘッドの現在の位置への近接性に依存してデータの読み出しまたは書き込みが行われる。この方法論は、それゆえに、HDDのための全体的な読み出し/書き込み時間を複数のインターフェースにわたって最適化する。
従って、同じファイルを両方のスマート・インターフェースを通じて読み出すことができ、スマート・インターフェースは、位置データを記憶するために共通のライブラリまたは共通の記憶媒体を用い、アクチュエータのそれぞれのアクチュエータ・アームを読み出しおよび書き込みのためにそれらの位置データによって配置してもよい。ファイルが書き込まれるときに、ライブラリまたは記憶媒体は、両方のインターフェースを通じて参照できる新しいファイル位置またはインデックス付けデータによって更新される。
先に考察された制御方法論を用いて、HDDにおけるすべてのアクチュエータを制御するために2つのインターフェースを別々に用いることができる。HDDは、それゆえに、記憶レジームに異なるフォーマットが提供されるが競合する記憶または読み出しをレジームがもたらさない、異種のフォーマットを用いた類似的でないデータを記憶するための記憶媒体としての役割を果たことができる。例えば、一方のインターフェースは、他方のインターフェースを通じてアクセス可能なことが意図されたデータを上書きするためにアクチュエータを制御すべきではない。
デュアルインターフェース、デュアルアクチュエータHDDを用いて行われる読み出しおよび書き込み動作は、他方のインターフェースを通じて書き込まれるデータとの競合を回避するために、一方のインターフェースに特異的なセクタまたはトラックが指定されてもよいことを例外として、2つの個別の単一アクチュエータHDDのための動作と同じであってもよい。その指定は、固定されてもよく−例えば、特定のセクタまたはトラックが各インターフェースに予め割り当てられる。代わりに、その指定は、動的であってもよく−例えば、すべてのセクタまたはトラックが割り当てられるまで「必要に応じて」セクタまたはトラックが割り当てられてもよい。セクタまたはトラックが割り当てられると、そのセクタまたはトラックは、その上に記憶されたデータが消去されるまで他のアクチュエータによるアクセス可能性から除外される。
2つのインターフェースが別個のインターフェースとして動作するところでは、スタック12におけるディスクの複数の表面が2つのアクチュエータのうちの1つに割り当てられてもよい。このように、HDDを1つの計算システムまたは2つの計算システムによってアクセスされる2つの従来型HDDと同じ方法で用いることができる。2つのインターフェースが両方のアクチュエータと各々通信するか、またはアクチュエータによって行われる読み出しおよび書き込み動作を制御するために相互作用するところでは、これらのアクチュエータが任意の標準プロトコルを用いてもよく、それによって2つの計算システムが単一サーバもしくはメモリデバイスにデータをリクエストするか、またはそれらへデータを送るであろう。2つのインターフェースが両方のアクチュエータと各々通信するところでは、共通のメモリデバイスまたはライブラリにリファレンス(例えば、位置インデックス)が記憶されてもよい。2つのインターフェースが両方のアクチュエータと各々通信するところでは、これらのインターフェースは、図6ならびに処理400および500に関して記載されたのと同じ方法でアクチュエータを通じて読み出しおよび書き込みを行ってもよい。セクタおよび/またはトラック指定は、一方のインターフェースを通じてアクセス可能であり、他方のインターフェースを通じてアクセス可能であるべきではないデータの分離を達成するために必要なことが注目されるであろう。
上記の書き込み処理のいずれかにおいても、当然のことながら、パリティ情報がHDDに書き込まれてもよい。パリティ情報は、特定のディスク表面に書き込まれてもよい。言い換えれば、パリティ情報を記憶するために特定のディスク表面(または、さらに言うならばディスク)が予約されてもよい。パリティ情報は、読み出されるかまたは書き込まれたデータに誤りがあるかどうかの判定を行うことを可能にする。パリティ情報は、ディスク、セクタまたはトラック不良があったところでデータを再構成することも可能にする。パリティ情報のために特定の表面が予約されるところでは、データをスタック12に記憶するために実装される記憶レジームは、RAIDレベル3(RAID3)構成に採用されるレジームと同様であってもよく、このレジームではパリティ情報のために記憶媒体のアレイのうちの単一の記憶媒体が予約される。
スタック12における複数のディスクは、すべてが同じスピンドルモータ・ハブに取り付けられて、それゆえに同じ速度で回転し、複数のアームの読み出し/書き込みヘッドが書き込みおよび読み出しを行う対象となるそれぞれのディスク表面に対して、それらのアームを同じ位置に配置するように複数のアクチュエータを制御できるので、本配置は、RAIDレベル2(RAID2)の使用を可能にするであろう。とりわけ、RAID2は、極めて高いデータ転送速度を提供するが、誤り訂正にハミング・コードを用いる。複数のHDDに対してRAID2は、ほとんど利点を提供せず、商業的に利用できないと見なされている。しかしながら、本明細書に記載される方法論に従って単一のHDDに首尾よく実装することは可能かもしれない。代わりに、簡易なXOR(排他的OR)パリティの実装を提供するためにRAIDレベル5(RAID5)が用いられてもよく、この実装ではHDDがデータ・セクタをバッファリングして、パリティ・セクタを計算し、データおよびパリティ・セクタをスタックへ書き込む。
パリティ情報のためにディスク表面を予約するのではなく、むしろそのパリティ情報をデータ・セグメントとともに様々なディスク表面上へストライピングしてもよい。データ・ストライピングおよびパリティ書き込みのための処理を、例えば、様々なRAIDレベル3〜6構成から、当業者は理解するであろう。
パリティ情報が一旦1つのディスク表面へ書き込まれるか、またはデータとともに複数のディスク表面上へストライピングされると、データ誤りを特定して潜在的に訂正するためにそのパリティ情報を用いることができる。パリティ情報は、排他的OR(すなわち、XOR)パリティ・スキームを用いて計算されてもよい。XORパリティ・スキームでは、データ・セグメント−上記のようなセグメント、ワード、ストリングなどであってもよい−は、「1」の値をもつ既知のビット数を備える。XORパリティ・ビットは、それゆえにデータ・セグメント中の「1」の数が偶数か奇数かに依存して「1」または「0」にセットされる。典型的に、XORビットは、データ・セグメント中の「1」の数が偶数のところでは「1」にセットされ、データ・セグメント中の「1」の数が奇数のところでは「0」にセットされるであろう。従って、XOR計算は、データ・セグメント中の「1」の和をチェックするために、パリティ・ビットを提供するチェックサム・ルーチンを用いるであろう。それぞれの場合に、チェックサム処理は、XOR計算に成功し、従って、データが(これはありそうもないが、セグメント中に2ビットの誤りがある場合を除いて)正確であることを実証するために「1」を生じるべきである。XOR計算の所望の結果が「0」であるところで同様の処理が用いられてもよい。
RAID0に対して用いられるパリティは何もないが、パリティ・ビットを用いた他の記憶レジームでは、たとえ誤りが検出された場合でもデータを再構成できる。XOR計算を用いたデータ再構成を当業者は理解するであろう。
図7は、記憶インターフェース700の例示的な構成を示す。記憶インターフェース700は、HDD、例えば、上記のようなデュアルアクチュエータHDDを含んでもよい。
計算システム700は、命令を実行するためのプロセッサ702も含む。命令は、例えば、メモリエリア704または他のコンピュータ可読媒体に記憶されてもよい。プロセッサ702は、(例えば、マルチコア構成の)1つ以上の処理ユニットを含んでもよい。メモリエリア704は、HDD内のディスク上におけるデータファイルおよびファイル・セグメントの開始箇所へのインデックスまたはリファレンスのライブラリも記憶してもよい。
プロセッサ702は、記憶インターフェース700がユーザの計算デバイスまたは別の記憶インターフェース700のような遠隔デバイスと通信することが可能なように、通信インターフェース706に作動的に結合されてもよい。例えば、通信インターフェース706がインターネットを介してクライアント・システムからのリクエストを受信してもよい。
プロセッサ702は、さらに、記憶デバイス708に作動的に結合されてもよい。記憶デバイス708は、データを記憶するかおよび/または取り出すのに適したコンピュータによって作動する任意のハードウェアであり、本実施形態では磁気ハードディスクのスタックを備える。他の実施形態では、記憶デバイス708は、記憶インターフェース700の外部にあるか、および/または図3Bおよび3Cのデュアルインターフェースの実施形態の場合のように複数の記憶インターフェース700によってアクセスされてもよい。例えば、記憶デバイス708は、複数の記憶ユニット、例えば、リダンダント・アレイ・オブ・インエクスペンシブ・ディスクス(RAID:redundant array of inexpensive disks)構成の他のハードディスクまたは固体ディスクを含んでもよい。記憶デバイス708は、ストレージエリアネットワーク(SAN:storage area network)またはネットワークアタッチトストレージ(NAS:network attached storage)システムを含んでもよい。
いくつかの実施形態において、プロセッサ702は、HDDアダプタ710を介して記憶デバイス708に作動的に結合される。HDDアダプタ710は、記憶デバイス708へのアクセスをプロセッサ702に提供することが可能な任意のコンポーネントであってもよい。HDDアダプタ710は、例えば、アドバンスドテクノロジーアタッチメント(ATA:Advanced Technology Attachment)アダプタ、シリアルATA(SATA:Serial ATA)アダプタ、スモールコンピュータシステムインターフェース(SCSI:Small Computer System Interface)、RAIDコントローラ、SANアダプタ、ネットワークアダプタ、および/またはプロセッサ702に記憶デバイス708へのアクセスを提供する任意のコンポーネントを含んでもよい。
動作中に、プロセッサ702は、メモリデバイス(メモリデバイス704および記憶デバイス708を含む)に結合されて、HDD708におけるディスクのディスク表面からデータを読み出し、HDD708におけるディスクの表面へデータを書き込み、図4および5に関して先に記載されたようにデータを再構成し、かつデータをセグメント化して、HDD708のディスク表面へ書き込まれるデータの位置を特定するためのインデックスをさらに発生させて記憶する。
記憶インターフェース700は、メモリデバイス704または記憶デバイス708のような、非一時的なコンピュータ可読媒体上に具現されたコンピュータプログラムによって、読み出し、書き込み、再構成、セグメント化およびインデックス付け処理を行うように命令されてもよい。デバイス704、708上に記憶されたプログラムは、リクエストされた動作を行うようにコンピュータに命令するためにそのコンピュータによって実行可能な、少なくとも1つのコード・セグメント、おそらくは何千ものコード・セグメントを含むであろう。当然のことながら、HDD708が関与する読み出しおよび書き込み処理によって記憶インターフェース700の複雑な動作を可能にするルーチンおよびプログラムがHDD708上に、例えば、HDD中の専用スペース、ディスクもしくはディスク表面に記憶されてもよい。
同様に、プログラムが遠隔的に記憶されてもよい。このような目的で、記憶インターフェース700は、HDD上で読み出し、書き込み、セグメント化、再構成およびインデックス付けの動作を実行するためにネットワークベース・システムのクライアント・コンピュータHDDを構成してもよい。
本明細書に記載されるデュアルアクチュエータHDDは、単一アクチュエータHDDより高いデータ転送速度をより低い毎分回転数(RPM)で提供できる。RPMが低いほど、HDD内で発生する熱が少なくなり、結果として、冷却要求を低減し、HDD熱故障の尤度を低減してHDDを長寿命化する。そのうえ、(例えば、一方のアクチュエータが1つの表面から読み出す間に他方のアクチュエータがその読み出しデータを同じHDD内の異なる表面へ書き込む)バックアップを実装することによって、第2のHDDを必要とすることなく冗長性およびバックアップを達成できる。
本教示によるデュアルアクチュエータHDDは、実際には、以下を備えてもよい、すなわち、拡張された基本筐体上にある唯一のスピンドルモータであって、複数の磁気媒体が用いられるならば−デジタル情報を記憶することが可能な1つ、2つもしくはより多くの磁気媒体またはディスクを唯一のスピニングモータが搭載し、媒体がスペーサリングによって分離されて、クランプ部品、例えば、スプリング式ディスククランプ、リングナットまたは代わりの固定機構を用いて所定の位置に保持される、スピンドルモータと;2つ以上のアクチュエータであって、各々がヘッドセンサを有するロータリ・ヘッドスタック・アクチュエータアセンブリであり、媒体表面に対するヘッドセンサの指定が専用される場合のように、各々のヘッドセンサが読み出し/書き込み動作のために異なるディスク媒体表面にアクセスする、アクチュエータと;2つのボイスコイル磁石ヨークアセンブリまたはボイスコイルモータ(VCM:voice coil motor)であって、各々が上側および/または下側鋼製ヨーク中に1つまたは2つの磁石を保持し、(ヘッドスタック・アクチュエータアセンブリの一部である)コイル巻線が通電されたときに電磁駆動を提供する、ボイスコイル磁石ヨークアセンブリまたはVCMと;非動作状態下で所定の衝撃を与えられた場合にヘッドスタックアセンブリをとらえるためのフックをもつ2つのイナーシャラッチと;ハードディスクがローアイドルまたは非動作モードのいずれかにあるときのディスク媒体外周外でのヘッドスタック・アクチュエータアセンブリのパーキングおよび保護のための2つのランプ・パーキング・デバイスと;ハードディスクドライブのより迅速な微粒子クリーンアップを促進するための2つの静電フィルタであって、ハードディスクゾーンの上流での乱流を最小限に抑えるためにフィルタが別々に間隔をあけて配置され、シュラウドの形体をなす基本筐体拡張部分によって保持された、静電フィルタと;基本筐体内の上述の部品および部分アセンブリを取り囲むための拡張されたトップカバーであって、カバーは、ネジまたは代わりの締結具を用いて基本筐体外周に固定され、振動低減のためにヘッドスタックアセンブリのセンタベアリングを通る形体の締結孔を有し−随意的に、孔は、スピンドルモータ軸を固定して共振および機械的振動を軽減するためにカバーの中心に設けられてもよい、トップカバーと;外部汚染物質または微粒子からハードディスクドライブをシールするためのトップカバー上のガスケットまたは一体化された流し込みガスケット(FIPG:form−in−place gasket)と;駆動中に部品からドライブに与えられるガスまたは蒸気汚染物質を吸収するための1つ以上のアブソーベントブリーザまたは乾燥剤フィルタ(単数または複数)とを備えてもよい。
2つのヘッドスタック・アクチュエータアセンブリは、基本筐体上に組み立てられたときに互いに異なる高さに据え付けられもよい。それらのアセンブリは、さらに、互いに180°反対に離隔してそれらの中心がモータの中心に沿って線上に並んでもよく、または、例えば、3つ以上のアクチュエータを用いられるか、もしくは異なるスペーシングによってストロークおよびアクセス要件が最適化されるであろう、異なるスペーシングを用いてもよい。ヘッドスタック・アクチュエータアセンブリは、様々なアーム長、アーム間角距離を収容できるように、モジュール構成であってもよい。
本教示の多くの修正および変形が本開示の観点から当業者に明らかであろう。すべてのかかる修正および変形は、本開示の範囲内にあることが意図される。そのうえ、可能な範囲で、1つ以上の他の実施形態の特徴を強化するかまたは置き換えるために本明細書に記載される実施形態のうちの1つからの特徴が1つ以上の他の実施形態に用いられてもよい。すべてのかかる使用法、置換および置き換えは、本開示の範囲内にあることが意図される。
Claims (24)
- 複数アクチュエータ複数ディスクシステムにおいてデータを書き込むための方法であって、前記方法は、
前記データを受信するステップと、
前記データを少なくとも第1の予め決定された部分と第2の予め決定された部分とに分割するステップと、
前記複数のアクチュエータのうちの第1のアクチュエータを用いて前記データの前記第1の予め決定された部分を前記複数アクチュエータ複数ディスクシステムの第1のディスク表面上へ書き込み、一方では前記複数のアクチュエータのうちの第2のアクチュエータを用いて前記データの前記第2の予め決定された部分を前記複数アクチュエータ複数ディスクシステムの第2のディスク表面上へ書き込むステップと
を備える、方法。 - 前記分割するステップは、前記複数アクチュエータ複数ディスクシステム内の並列データ記憶を最適化するために前記データを分割することを備える、請求項1に記載の方法。
- 前記複数アクチュエータ複数ディスクシステム内の並列データ記憶を最適化するために前記データを分割するステップは、前記データを同じサイズの複数のセグメントに分割するステップを備える、請求項2に記載の方法。
- 前記データを同じサイズの複数のセグメントに分割するステップは、前記複数のセグメント中の前記セグメントのうちの少なくとも1つを前記複数のセグメント中の他のセグメントと等しいサイズになるようにパディングするステップを備える、請求項3に記載の方法。
- 複数アクチュエータ複数ディスクシステムにおいてデータを読み出すための方法であって、前記方法は、
前記データがどこに記憶されているかに関する情報を受信するステップと、
前記複数のアクチュエータのうちの第1のアクチュエータを用いて前記複数アクチュエータ複数ディスクシステムのディスクのディスク表面から前記データの第1の予め決定された部分を読み出し、一方では前記複数のアクチュエータのうちの第2のアクチュエータを用いて前記複数アクチュエータ複数ディスクシステムのディスクのディスク表面から前記データの前記第2の予め決定された部分を読み出すステップと、
少なくとも前記データの前記第1の予め決定された部分を前記データの前記第2の予め決定された部分と組み合わせるステップと
を備える、方法。 - 複数アクチュエータ複数ディスクシステムにおいて読み出しデータを読み出し、書き込みデータを書き込むための方法であって、前記方法は、
前記読み出しデータがどこに記憶されているかに関する情報を受信するステップであって、前記読み出しデータは、第1の予め決定された部分を備える、ステップと、
前記複数のアクチュエータのうちの第1のアクチュエータを用いて前記複数アクチュエータ複数ディスクシステムのディスクの第1のディスク表面から前記読み出しデータの前記第1の予め決定された部分を読み出すステップと、
前記第1の予め決定された部分を備える書き込みデータを受信するステップと、
前記複数のアクチュエータのうちの第2のアクチュエータを用いて前記複数アクチュエータ複数ディスクシステムのディスクの第2のディスク表面上に前記書き込みデータの前記第1の予め決定された部分を書き込むステップと
を備える、方法。 - 前記読み出すステップおよび前記書き込むステップは、少なくとも部分的に同時に発生する、請求項6に記載の方法。
- 前記読み出しデータは、第2の予め決定された部分を備え、前記方法は、前記第1の予め決定された部分を書き込むステップと同時に前記第2の予め決定された部分を読み出すステップを備える、請求項6に記載の方法。
- 複数アクチュエータ複数ディスクシステムにおいてデータを書き込むための方法であって、前記方法は、
第1のインターフェースから第1のデータを受信するステップと、
第2のインターフェースから第2のデータを受信するステップと、
前記第1のインターフェースに結合された前記複数のアクチュエータのうちの第1のアクチュエータを用いて前記複数アクチュエータ複数ディスクシステムのディスクの第1のディスク表面上へ前記第1のデータを書き込むステップと、一方では
前記第2のインターフェースに結合された前記複数のアクチュエータのうちの第2のアクチュエータを用いて前記複数アクチュエータ複数ディスクシステムのディスクの第2のディスク表面上へデータの第2の予め決定された部分を書き込むステップと
を備える、方法。 - 複数アクチュエータ複数ディスクシステムにおいてデータを読み出すための方法であって、前記方法は、
前記データがどこに記憶されているかに関する情報を受信するステップと、
第1のインターフェースに結合された前記複数のアクチュエータのうちの第1のアクチュエータを用いて前記複数アクチュエータ複数ディスクシステムのディスクの第1のディスク表面から第1のデータを読み出し、一方では第2のインターフェースに結合された前記複数のアクチュエータのうちの第2のアクチュエータを用いて前記複数アクチュエータ複数ディスクシステムのディスクの第2のディスク表面から第2のデータを読み出すステップと、
少なくとも前記第1のデータと前記第2のデータとを組み合わせるステップと
を備える、方法。 - 前記組み合せるステップは、前記複数アクチュエータ複数ディスクシステム内の前記データを読み出すステップを最適化するために前記データを組み合わせることを備える、請求項5または10に記載の方法。
- 前記データを読み出すステップを最適化するために前記データを組み合わせるステップは、前記第1のアクチュエータを用いて前記複数アクチュエータ複数ディスクシステムのディスクのディスク表面から前記データの第3の予め決定された部分を読み出し、かつ前記第2のアクチュエータを用いて前記複数アクチュエータ複数ディスクシステムのディスクのディスク表面から前記データの第4の予め決定された部分を読み出す間に、前記データの前記第1の予め決定された部分と前記データの前記第2の予め決定された部分とを組み合わせることを備える、請求項11に記載の方法。
- 複数アクチュエータ複数ディスクシステムにおいて読み出しデータを読み出し、書き込みデータを書き込むための方法であって、前記方法は、
第1のインターフェースから前記書き込みデータを受信するステップと、
前記読み出しデータがどこに記憶されているかに関する情報を受信するステップと、
前記第1のインターフェースに結合された前記複数のアクチュエータのうちの第1のアクチュエータを用いて前記複数アクチュエータ複数ディスクシステムの第1のディスクのディスク表面上へ前記書き込みデータを書き込むステップと、一方では
前記第2のインターフェースに結合された前記複数のアクチュエータのうちの第2のアクチュエータを用いて前記複数アクチュエータ複数ディスクシステムのディスクの第2のディスク表面から前記読み出しデータを読み出すステップと
を備える、方法。 - 前記第1のディスク表面は、前記第2のディスク表面とは異なる、請求項1、6、9、10および13のうちのいずれか一項に記載の方法。
- 前記第1のディスク表面および第2のディスク表面は、複数アクチュエータ複数ディスクシステムにおける単一のディスクの対向表面である、請求項14に記載の方法。
- 前記書き込むステップは、前記表面のうちのいずれか1つまたはそれ以上に記憶されたデータの再構成を容易にするために、前記複数アクチュエータ複数ディスクシステムの前記ディスク表面のうちのいずれか1つまたはそれ以上へパリティ情報を書き込むことをさらに備える、請求項1、6、9および13のうちのいずれか一項に記載の方法。
- 前記パリティ情報は、チェックサム・ルーチンを用いてデータ精度を計算できるように決定される、請求項16に記載の方法。
- 前記チェックサム・ルーチンは、XOR計算を採用する、請求項17に記載の方法。
- 前記データは、バイト単位でアドレス指定可能か、および/またはブロック単位でアドレス指定可能なフォーマットで書き込まれる、請求項1、6、9および13のうちのいずれか一項に記載の方法。
- 前記データは、バイト単位でアドレス指定可能か、および/またはブロック単位でアドレス指定可能なフォーマットで読み出しおよび書き込みが行われる、請求項6に記載の方法。
- 読み出す前記ステップは、前記表面のうちのいずれか1つまたはそれ以上に記憶されたデータの再構成を容易にするために、前記複数アクチュエータ複数ディスクシステムの前記表面のうちのいずれか1つまたはそれ以上からパリティ情報を読み出すことをさらに備える、請求項5、6、10および13のうちのいずれか一項に記載の方法。
- 前記表面のうちのいずれか1つまたはそれ以上に記憶された前記データは、前記パリティ情報のXOR計算および前記予め決定された部分のうちの1つ以上を用いて再構成される、請求項21に記載の方法。
- 単一エンクロージャ・マルチディスク・ハードディスクドライブ(HDD)であって、
第1のディスク表面、
第2のディスク表面、
前記第1のディスク表面へ書き込むための第1のアクチュエータ、および
前記第2のディスク表面に書き込むための第2のアクチュエータであって、前記第1のアクチュエータから離れて位置して独立に動作する、前記第2のアクチュエータ
を備え、
前記第1のディスク表面のための論理ブロックアドレス(LBA)は、前記第2のディスク表面のためのLBAを前記第1のディスク表面のための前記LBAから決定できるように、前記第2のディスク表面のための前記LBAとは異なって指定された、
単一エンクロージャ・マルチディスクHDD。 - 前記第2のアクチュエータは、前記第1のアクチュエータから180度に位置し、前記第1のディスクのための予め決定されたLBAは、前記第2のディスクのための対応する予め決定されたLBAから180度に位置する、請求項20に記載の単一エンクロージャ・マルチディスクHDD。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SG10201406285R | 2014-10-02 | ||
SG10201406285R | 2014-10-02 | ||
PCT/SG2015/050362 WO2016053193A1 (en) | 2014-10-02 | 2015-10-02 | Dual actuator hard disk drive |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017537423A true JP2017537423A (ja) | 2017-12-14 |
Family
ID=55631070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017514483A Pending JP2017537423A (ja) | 2014-10-02 | 2015-10-02 | デュアルアクチュエータ・ハードディスクドライブ |
Country Status (6)
Country | Link |
---|---|
US (1) | US20180226091A1 (ja) |
EP (1) | EP3201919A4 (ja) |
JP (1) | JP2017537423A (ja) |
CN (1) | CN106796806A (ja) |
SG (1) | SG11201702708SA (ja) |
WO (1) | WO2016053193A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10657995B2 (en) | 2018-09-19 | 2020-05-19 | Kabushiki Kaisha Toshiba | Magnetic disk device and method |
JP2021009749A (ja) * | 2019-06-29 | 2021-01-28 | ウェスタン デジタル テクノロジーズ インコーポレーテッド | 二重対称アクチュエータハードディスクドライブ |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10186286B2 (en) * | 2017-06-07 | 2019-01-22 | Western Digital Technologies, Inc. | Techniques for reducing dynamic coupling of system modes in a dual actuator hard disk drive |
US10186287B2 (en) * | 2017-06-07 | 2019-01-22 | Western Digital Technologies, Inc. | Split-shaft pivot for a dual-actuator hard disk drive |
JP2019164851A (ja) * | 2018-03-19 | 2019-09-26 | 株式会社東芝 | ディスク装置 |
JP7039426B2 (ja) * | 2018-09-05 | 2022-03-22 | 株式会社東芝 | 磁気ディスク装置、及び磁気ディスク装置のデータ処理方法 |
US10783036B2 (en) | 2018-10-19 | 2020-09-22 | Seagate Technology Llc | Storage system stripe grouping using multiple logical units |
JP2020149751A (ja) * | 2019-03-15 | 2020-09-17 | 株式会社東芝 | 磁気ディスク装置 |
JP7080843B2 (ja) * | 2019-03-19 | 2022-06-06 | 株式会社東芝 | 磁気ディスク装置 |
US11437071B2 (en) | 2019-08-26 | 2022-09-06 | Seagate Technology Llc | Multi-session concurrent testing for multi-actuator drive |
JP2022047912A (ja) * | 2020-09-14 | 2022-03-25 | 株式会社東芝 | 磁気ディスク装置 |
US11295778B1 (en) | 2020-11-10 | 2022-04-05 | Seagate Technology Llc | Resource allocation for multi-actuator storage device |
US11348607B1 (en) | 2021-06-21 | 2022-05-31 | Western Digital Technologies, Inc. | Management of actuator dynamics in a multiple actuator hard disk drive with an unequal number of heads on the two outer arms of each actuator |
US11456009B1 (en) | 2021-09-14 | 2022-09-27 | Western Digital Technologies, Inc. | Shared disk configuration in a multiple actuator hard disk drive |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6005747A (en) * | 1996-07-26 | 1999-12-21 | Gilovich; Paul A. | High capacity disk drive with two stator windings |
US5805386A (en) * | 1996-12-24 | 1998-09-08 | Texas Instruments Incorporated | Dual mode independent suspension read/write head assemblies in a hard disk drive |
US6437937B1 (en) * | 2000-04-24 | 2002-08-20 | Maxtor Corporation | Disk drive with high speed read/write capability |
US6563657B1 (en) * | 2000-09-29 | 2003-05-13 | International Business Machines Corporation | Multiple and reconfigurable data access and storage device using multiple actuators |
US7315429B2 (en) * | 2005-07-28 | 2008-01-01 | International Business Machines Corporation | Apparatus, method and program product for a multi-controller and multi-actuator storage device |
US7385781B1 (en) * | 2006-03-31 | 2008-06-10 | International Business Machines Corporation | Multi-arm disk drive system having interleaved read/write operations and method of controlling same |
US7760463B2 (en) * | 2006-12-19 | 2010-07-20 | Teradata Us, Inc. | Multiple disks in a single disk package |
CN103853664B (zh) * | 2012-11-28 | 2017-06-27 | 联想(北京)有限公司 | 一种实现多操作系统的方法及电子设备 |
US20140258591A1 (en) * | 2013-03-07 | 2014-09-11 | Kabushiki Kaisha Toshiba | Data storage and retrieval in a hybrid drive |
-
2015
- 2015-10-02 SG SG11201702708SA patent/SG11201702708SA/en unknown
- 2015-10-02 CN CN201580054166.4A patent/CN106796806A/zh active Pending
- 2015-10-02 WO PCT/SG2015/050362 patent/WO2016053193A1/en active Application Filing
- 2015-10-02 JP JP2017514483A patent/JP2017537423A/ja active Pending
- 2015-10-02 US US15/506,689 patent/US20180226091A1/en not_active Abandoned
- 2015-10-02 EP EP15846911.4A patent/EP3201919A4/en not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10657995B2 (en) | 2018-09-19 | 2020-05-19 | Kabushiki Kaisha Toshiba | Magnetic disk device and method |
JP2021009749A (ja) * | 2019-06-29 | 2021-01-28 | ウェスタン デジタル テクノロジーズ インコーポレーテッド | 二重対称アクチュエータハードディスクドライブ |
JP7024002B2 (ja) | 2019-06-29 | 2022-02-22 | ウェスタン デジタル テクノロジーズ インコーポレーテッド | 二重対称アクチュエータハードディスクドライブ |
Also Published As
Publication number | Publication date |
---|---|
EP3201919A4 (en) | 2018-05-23 |
EP3201919A1 (en) | 2017-08-09 |
US20180226091A1 (en) | 2018-08-09 |
SG11201702708SA (en) | 2017-04-27 |
WO2016053193A1 (en) | 2016-04-07 |
CN106796806A (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2017537423A (ja) | デュアルアクチュエータ・ハードディスクドライブ | |
US11438093B2 (en) | Quality of service and streaming attributes for a data storage device | |
US6839802B2 (en) | Method, system, and program for writing files to zone formatted storage media to improve data transfer rates | |
CN110827861B (zh) | 使用多个卷提供复制的多致动器驱动器 | |
US6412042B1 (en) | System and method for improved disk drive performance and reliability | |
US6950900B1 (en) | Method and apparatus for migrating data having a format of a first type to a format of a second type | |
JPH0756688A (ja) | データ記憶装置 | |
US10614852B2 (en) | Data-center drive with split-actuator that increases read/write performance via data striping | |
US9070378B2 (en) | Partial write system | |
US8014095B2 (en) | Mixed format disk drive | |
JP5021956B2 (ja) | ローカルリソースおよび共用リソースを備えたデータ記憶サブグループ | |
WO2003071534A1 (fr) | Appareil de commande d'acces de donnees, procede de commande d'acces de donnees, et programme informatique | |
US6883062B2 (en) | High-speed disk drive system | |
US10275309B2 (en) | Multi-layer integrated zone partition system error correction | |
US7197617B2 (en) | Process, apparatus, and system for storing data check information using standard sector data field sizes | |
US8736993B2 (en) | Failure-resistant multi-LUN hard disk drive | |
US20180275870A1 (en) | Efficient intra-disk data placement | |
US10897273B2 (en) | System-level error correction coding allocation based on device population data integrity sharing | |
US11954027B2 (en) | Parasitic commands for equalizing logical unit capacity in asymmetric multiple actuator hard disk drive | |
JP2012247817A (ja) | ストレージ制御装置、ストレージ装置及びパトロール診断方法 | |
US9047311B2 (en) | Deadline-based scheduling in a distributed file system | |
CN110275669B (zh) | 数据存储方法、装置及电子设备 | |
KR100674949B1 (ko) | 디스크 드라이브의 데이터 백업 방법 및 그 방법을사용하는 디스크 드라이브 | |
US20180113619A1 (en) | Performance balancing of heterogeneous tape drives and cartridges | |
CN118266025A (en) | Data storage device with flexible logical track and radius independent data rate |