(57)【特許請求の範囲】
【請求項１】
ハード・ディスク・ドライブ（ＨＤＤ）のシングル（瓦）磁気記録（ＳＭＲ）面へのＳＭＲ用に最適化された少なくとも１つのデータ・ヘッドと、前記ＨＤＤのランダム・ブロック上書き（ＲＢＯ）面へのＲＢＯ用に最適化された少なくとも１つのデータ・ヘッドとを含む、複数のデータ・ヘッドおよび関連付けられたデータ面を有する前記ＨＤＤをフォーマットするステップを含む方法。
【請求項２】
前記ＨＤＤの前記ＲＢＯ面を、前記ＳＭＲ領域に書き込まれるデータを前記ＳＭＲ領域にコミットする前に前記データをステージングするストレージ階層として使用するステップをさらに含む、請求項１に記載の方法。
【請求項３】
書き込み要求を受取り、前記書き込みを前記ＲＢＯヘッドの１つにより前記ＲＢＯ最適化面に対して実施するステップをさらに含み、前記実施するステップは、空のＳＭＲ消去ユニットを見つけるステップと、前記空のＳＭＲ消去ユニットに前記ＲＢＯ最適化データをコピーするステップとを含む、請求項２に記載の方法。
【請求項４】
ＳＭＲメタデータを、前記ＨＤＤの前記ＲＢＯ最適化領域に記憶するステップをさらに含み、前記メタデータは、少なくとも１つのＳＭＲ消去ユニットの位置に対するインデックスと、部分的に空のＳＭＲ消去ユニット少なくとも１つについてのデータとを含む、請求項１に記載の方法。
【請求項５】
空きスペースを有する少なくとも１つの消去ユニットを含む前記ＳＭＲ最適化領域においてデータを圧縮するステップをさらに含み、部分的に空のＳＭＲ消去ユニットにデータを付加するステップをさらに含み、前記部分的に空のＳＭＲ消去ユニット内の空きスペースはさらなるデータ記憶に利用される、請求項４に記載の方法。
【請求項６】
前記メタデータは、２つ以上のＳＭＲ消去ユニットの配置および配列を含む、請求項４に記載の方法。
【請求項７】
前記ＲＢＯ最適化面のデータ・ブロックは前記ＳＭＲ最適化面のデータ・ブロックと異なる長さを有する、請求項１に記載の方法。
【請求項８】
ホスト・システムが前記ＨＤＤ内のデータ記憶位置を指定するステップをさらに含み、前記指定するステップは、前記ＲＢＯフォーマット面および前記ＳＭＲフォーマット面の１つにおける記憶を指示するステップを含む、請求項１に記載の方法。
【請求項９】
ハード・ディスク・ドライブ（ＨＤＤ）の複数の面を活用するコンピュータ・プログラムであって、
前記ハード・ディスク・ドライブ（ＨＤＤ）のシングル（瓦）磁気記録（ＳＭＲ）面へのＳＭＲ用にフォーマットされた少なくとも１つのデータ・ヘッドと、前記ＨＤＤのランダム・ブロック上書き（ＲＢＯ）面へのＲＢＯ用にフォーマットされた少なくとも１つのデータ・ヘッドとを含む、複数のデータ・ヘッドおよび関連付けられたデータ面を有する前記ＨＤＤをフォーマットすることと、
前記ＲＢＯフォーマット面によるランダム書き込み性能および前記ＳＭＲフォーマット面による記憶密度を活用することを含む、前記ＳＭＲフォーマット面およびＲＢＯフォーマット面に対するデータの読み出しおよび書き込みをすることと、
を実行するプログラム・コードを含む、コンピュータ・プログラム。
【請求項１０】
前記ＲＢＯフォーマット面に対する前記ＲＢＯヘッドの１つにより書き込み要求に応じることと、空のＳＭＲ消去ユニットを見つけることと、前記ＲＢＯフォーマットされたデータを前記空のＳＭＲ消去ユニットにコピーすることとを含む、前記ＳＭＲフォーマット面上に記憶するデータのステージングをするプログラム・コードを含む、請求項９に記載のコンピュータ・プログラム。
【請求項１１】
記憶されたデータおよび空きスペースを含む部分的に空の１つまたは複数の消去ユニットの特定と、前記部分的に空のＳＭＲ消去ユニット少なくとも１つにデータを付加することとを含む、前記ＳＭＲフォーマット面におけるデータの圧縮をするプログラム・コードをさらに含む、請求項９に記載のコンピュータ・プログラム。
【請求項１２】
前記ＨＤＤの前記ＲＢＯフォーマット面におけるＳＭＲメタデータの記憶を含む、少なくとも１つのＳＭＲ消去ユニットの位置のインデックス付けをするプログラム・コードをさらに含む、請求項１１に記載のコンピュータ・プログラム。
【請求項１３】
前記ＲＢＯ面は部分的に空のＳＭＲ消去ユニット少なくとも１つについてのデータを含む、請求項９に記載のコンピュータ・プログラム。
【請求項１４】
メモリおよびハード・ディスク・ドライブ（ＨＤＤ）に動作可能に結合された処理ユニットであって、前記ＨＤＤはデュアル・フォーマットを有する、前記処理ユニットと、
前記ＨＤＤのシングル（瓦）磁気記録（ＳＭＲ）面へのＳＭＲ用にフォーマットされた少なくとも１つのデータ・ヘッドと、前記ＨＤＤのランダム・ブロック上書き（ＲＢＯ）面へのＲＢＯ用にフォーマットされた少なくとも１つのデータ・ヘッドとを含む、複数のデータ・ヘッドおよび関連付けられたデータ面を有する前記ＨＤＤと、
前記処理ユニットと通信するツールであって、前記ＲＢＯフォーマット面によるランダム書き込み性能および前記ＳＭＲフォーマット面による記憶密度を活用することを含む、前記ＳＭＲフォーマット面およびＲＢＯフォーマット面に対するデータの読み出しおよび書き込みをする前記ツールと、
を含むコンピュータ・システム。
【請求項１５】
前記ＲＢＯフォーマット面に対する前記ＲＢＯヘッドの１つにより書き込み要求に応じることと、空のＳＭＲ消去ユニットを見つけることと、前記ＲＢＯフォーマットされたデータを前記空のＳＭＲ消去ユニットにコピーすることとを含む、前記ＳＭＲフォーマット面上に記憶するデータのステージングをする前記ツールをさらに含む、請求項１４に記載のシステム。
【請求項１６】
記憶されたデータおよび空きスペースを含む部分的に空の１つまたは複数の消去ユニットの特定を含む、前記ＨＤＤにおけるデータの圧縮をする前記ツールと、前記部分的に空のＳＭＲ消去ユニット少なくとも１つにデータを付加する前記ツールとをさらに含む、請求項１４に記載のシステム。
【請求項１７】
前記ＨＤＤの前記ＲＢＯフォーマット面に記憶されたインデックスと、前記ＨＤＤの前記ＲＢＯフォーマット面におけるＳＭＲメタデータの記憶を含む、少なくとも１つのＳＭＲ消去ユニットの位置の前記インデックスにおける記憶を活用する前記ツールとをさらに含む、請求項１４に記載のシステム。
【請求項１８】
前記ＲＢＯフォーマット面および前記ＳＭＲフォーマット面の１つにおけるデータ記憶の指示を含む、前記ＨＤＤ内のデータ記憶位置の指定をする前記ツールをさらに含む、請求項１４に記載のシステム。
【請求項１９】
請求項１乃至８のいずれか１項の方法の各ステップを実行するプログラム・コードを含む、コンピュータ・プログラム。
【請求項２０】
請求項１乃至８のいずれか１項の方法の各ステップを実行する手段を備える、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、磁気記録ハード・ディスク・ドライブ（ＨＤＤ）に関する。特に本発明はシングル（瓦）磁気記録（ＳＭＲ：ｓｈｉｎｇｌｅｄ  ｍａｇｎｅｔｉｃ  ｒｅｃｏｒｄｉｎｇ）面およびランダム・ブロック上書き（ＲＢＯ：ｒａｎｄｏｍ  ｂｌｏｃｋ  ｏｖｅｒｗｒｉｔｅ）面を含むハイブリッド面フォーマットのＨＤＤに関する。
【背景技術】
【０００２】
主としてＳＭＲ向けにフォーマットされたＨＤＤは、部分的に重複する複数の連続円軌道をつくることで磁気転移を書き込むＳＭＲフォーマット書き込みヘッドを採用している。隣接するトラックの領域は、前に書き込まれた１つまたは複数のトラックに重複するように書き込まれる。瓦状の各トラックは順々に書き込まれなければならない。隣接するパスの非重複部分が、瓦状のデータ・トラックを形成し、その幅は書き込みヘッドの幅より狭い。より狭い瓦状データ・トラックは、データ密度の増加を可能とする。いったん瓦状構造に書き込まれると、個々のトラックはその場所で更新できない。なぜなら重複するトラックのデータを上書きし、破壊することになるからである。対照的に、ＲＢＯ向けにフォーマットされたディスク・ドライブは、既存のデータに支障を来すことなくランダム・ブロック上書きを可能とする。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
シングル（瓦）書き込みデータ・トラックは高いトラック密度を提供する。しかし、瓦状の書き込みデータ・トラックはランダム・ブロック上書きができない。瓦状のデータ・トラックのデータ・ブロックに上書きするには、書き込みが行われている間、ディスクの大きな部分が消去されなければならない。
【課題を解決するための手段】
【０００４】
本発明はＲＢＯおよびＳＭＲ両フォーマット書き込みヘッドでフォーマットされたハイブリッドＨＤＤを利用するための方法、コンピュータ・プログラム、およびシステムを提供する。
【０００５】
ハイブリッドＨＤＤの複数のフォーマット面に対して、各々の書き込みヘッドがデータをフォーマットする、異なる書き込みヘッドでハイブリッドＨＤＤを構成する方法、コンピュータ・プログラム、およびシステムが提供される。ＨＤＤには、ＨＤＤのＲＢＯフォーマット面にデータを書き込む少なくとも１つのＲＢＯフォーマット書き込みヘッドおよびＨＤＤのＳＭＲフォーマット面にデータを書き込む少なくとも１つのＳＭＲフォーマット書き込みヘッドが提供される。ランダム書き込み性能はＲＢＯフォーマット面で活用され、記憶密度はＳＭＲフォーマット面で活用される。両方ともが単一のＨＤＤに存在する。
【０００６】
本発明の他の特徴および利点が、添付の図面と併せて、以下の本発明の現在の好適な実施形態の詳細な記述から明らかになるであろう。
【０００７】
図面は、明細書の一部としてここに参照される。図面に示す特徴は、明確な指定がない限り、本発明のすべての実施形態ではなく、本発明の実施形態のいくつかのみを説明するためのものである。
【図面の簡単な説明】
【０００８】
【図１】複数のデータ面を有するハード・ディスク・ドライブを説明するブロック図を示す。
【図２】ハイブリッド・ハード・ディスク・ドライブ（ＨＤＤ）を説明するブロック図を示す。
【図３】ハイブリッドＨＤＤの機能性、特にハイブリッドＨＤＤの一般的な書き込み動作を説明するフローチャートを示す。
【図４】書き込みデータが記憶されるＲＢＯ位置を判断する処理を説明するフローチャートを示す。
【図５】ＲＢＯ指示領域に空きスペースを作成する処理を説明するフローチャートを示す。
【図６】ＨＤＤと通信するホスト・システムを説明するブロック図を示す。
【図７】本発明の一実施形態を実装するシステムを示すブロック図を示す。
【発明を実施するための形態】
【０００９】
当然のことながら、本発明の構成要素は、ここに図面で一般的に記述され説明されているように、幅広い種類の異なる構成で配置および設計されてもよい。このため、図面に提示されている本発明の機器、システム、および方法の実施形態の以下の詳細な記述は、請求されている本発明の範囲を限定するものと意図されておらず、本発明の選択された実施形態を単に代表するものである。
【００１０】
本明細書を通し「選択された一実施形態」、「一実施形態」または「ある実施形態」への参照は、当該実施形態に関係して記述されている特定の機能、構造、または特質が本発明の少なくとも１つの実施形態に含まれていることを意味する。このため、本明細書を通し様々な箇所での「選択された一実施形態」、「一実施形態では」または「ある実施形態では」の語句の出現は、同一の実施形態への参照では必ずしもない。
【００１１】
説明される本発明の実施形態は、図面への参照によって最良に理解され、同様の部分は全体を通し同様の数字により指示されている。以下の記述は例示のみを意図するもので、ここで請求される本発明と一貫性のある装置、システムおよびプロセスの一定の選択された実施形態を単に説明するものである。
【００１２】
図１を参照すると、複数のデータ面を有するＨＤＤを説明するブロック図（１００）が提供されている。ここでは６つのデータ面（１１０）、（１２０）、（１３０）、（１４０）、（１５０）および（１６０）が示されている。複数の面の各々は関連付けられた書き込みヘッドを有する。すなわち、面（１１０）は書き込みヘッド（１１２）を有し、面（１２０）は書き込みヘッド（１２２）を有し、面（１３０）は書き込みヘッド（１３２）を有し、面（１４０）は書き込みヘッド（１４２）を有し、面（１５０）は書き込みヘッド（１５２）を有し、面（１６０）は書き込みヘッド（１６２）を有する。ここに示す例のうち、書き込みヘッドの２つはＲＢＯヘッドとしてフォーマットされ、書き込みヘッドの４つはＳＭＲヘッドとしてフォーマットされる。一実施形態では、ＲＢＯ面はヘッドの整数に限定される。本例に示すように、ＲＢＯヘッドは（１１２）および（１２２）として特定され、ＳＭＲヘッドは（１３２）、（１４２）、（１５２）および（１６２）として特定される。ＲＢＯヘッド（１１２）および（１２２）はそれぞれＲＢＯ面（１１０）および（１２０）に用いられ、ＳＭＲヘッド（１３２）、（１４２）、（１５２）および（１６２）はそれぞれＳＭＲ面（１３０）、（１４０）、（１５０）および（１６０）に用いられる。
【００１３】
図１に示すように、ハイブリッドＨＤＤには、以下ＲＢＯ面というＲＢＯフォーマット面にデータを書き込む少なくとも１つのＲＢＯヘッドと、さらに以下ＳＭＲ面というＳＭＲフォーマット面にデータを書き込む少なくとも１つのＳＭＲヘッドとが提供される。図２を参照すると、ＨＤＤを示すブロック図（２００）が提供されている。図に示すように、ＨＤＤ（２１０）は複数の読み取り／書き込みヘッド（２１２）、（２１４）、（２１６）および（２１８）で構成されている。少なくとも１つの読み取り／書き込みヘッドがＲＢＯフォーマット面（２３０）にデータを書き込み、少なくとも１つの読み取り／書き込みヘッドがＳＭＲフォーマット面（２４０）にデータを書き込む。具体的には、ＨＤＤは少なくとも１つのＲＢＯフォーマット面（２３０）および少なくとも１つのＳＭＲフォーマット面（２４０）を含む。ＲＢＯフォーマット面（２３０）は、非重複データ・トラック（２３２）、（２３４）、（２３６）および（２３８）を有する従来の面である。逆に、ＳＭＲフォーマット面（２４０）は複数の重複するトラックを含む。ＳＭＲフォーマットの各トラックは、面密度を増加させるために少なくとも部分的に重複する。
【００１４】
上述のように、ＳＭＲデータ・トラックに記憶されるデータは消去ユニットと呼ばれるユニットに編成される。各消去ユニットには複数のトラックが示されているが、ここに示す量に限定されるとみなされるべきではない。例えば、消去ユニット（２９０）にはトラック（２４２）、（２４４）、（２４６）および（２４８）が、また消去ユニット（２９２）にはトラック（２５２）、（２５４）、（２５６）および（２５８）が示されている。ＳＭＲ消去ユニットに関連するデータが、ＲＢＯ面（２３０）に記憶される。一実施形態では、ＳＭＲ消去ユニットの位置に関連するＳＭＲメタデータ（２６０）が、１つまたは複数のＲＢＯフォーマット面に提供される。例えば、一実施形態では、ＳＭＲメタデータ（２６０）は非重複トラック（２３２）〜（２３８）の１つに位置するインデックス（２６２）を含む。インデックスは、部分的に空の少なくとも１つの消去ユニットを含む、１つまたは複数のＳＭＲ消去ユニットの位置についての情報を含む。一実施形態では、ＳＭＲメタデータ（２６０）は２つ以上のＳＭＲ消去ユニットの配置および配列を含む。一実施形態では、消去ユニットはＳＭＲ面（２４０）の別の異なる部分に再構築されてもよい。したがって、インデックス（２６２）は、消去ユニットの情報が更新可能でありすべてのデータにアクセス可能となるようＲＢＯ面（２３０）に提供される。したがって、ＳＭＲ面（２４０）のデータは、消去ユニットに編成され、メタデータ、およびこれらのユニットへのインデックスがＲＢＯフォーマット面（２３０）に記憶される。
【００１５】
ここに示すように、ＳＭＲフォーマット面（２４０）およびＲＢＯフォーマット面（２３０）には複数のデータ・トラックが示されている。４つのＲＢＯデータ・トラックならびに２つの消去ユニット（２９０）および（２９２）にある８つのＳＭＲデータ・トラックのみが示されているが、この量に限定されるとみなされるべきではない。一実施形態では、より多くの量のトラックを提供しても、もしくはＳＭＲおよびＲＢＯデータ・トラックの数を同等にしても、またはその両方でもよい。したがって、ＨＤＤは単一の記憶装置に、ＲＢＯおよびＳＭＲフォーマットされた両方のデータのために別々のデータ・トラックを含み、少なくとも１つのＲＢＯフォーマットされたヘッドがＲＢＯフォーマットされたトラックへデータを書き込み、さらに少なくとも１つのＳＭＲフォーマットされたヘッドがＳＭＲフォーマットされたトラックへデータを書き込む。
【００１６】
一態様では、ハイブリッド・ハード・ディスク・ドライブのＳＭＲおよびＲＢＯ領域は、階層の関係で機能する。図３を参照すると、少なくとも１つのＲＢＯ書き込みヘッドおよび少なくとも１つのＳＭＲ書き込みヘッドを含むハイブリッドＨＤＤの機能性、特にハイブリッドＨＤＤの一般的な書き込み動作を説明するフロー・チャート（３００）が提供されている。キューにない書き込み用データおよび関連付けられた論理ブロック・アドレスが受取られる（３０２）。書き込みデータの宛先として最終的な面はＨＤＤのＳＭＲ面であるが、それはこの領域が最大の記憶密度を有するためである。ステップ（３０２）でデータを受取った後、受取られたデータがＳＭＲ面領域の消去ユニットに付加され得るかが判断される（３０４）。一実施形態では、論理ブロック・アドレスに関連付けられた１つの消去ユニットがあり、書き込みデータは関連付けられた消去ユニットに付加されるか、またはハード・ディスク・ドライブのＲＢＯ面領域に記憶され得る。一実施形態では、ＲＢＯおよびＳＭＲ面のデータ記憶はデータ・ブロック単位でされ、さらに一実施形態では、ＲＢＯフォーマット面のデータ・ブロックは、ＳＭＲフォーマット面のデータ・ブロックと異なる長さまたは大きさを有してもよい。したがって、ＳＭＲ面でのデータの記憶は、記憶データを消去ユニットに編成することを代償として増加したデータ記憶密度を提供する。
【００１７】
図３およびハイブリッドＨＤＤの機能性に戻り、ステップ（３０４）での判断への否定応答に続いて、ＨＤＤのＲＢＯ領域にデータを記憶する位置の判断を行う（３０６）。逆に、ステップ（３０４）での判断への肯定応答に続いて、ＨＤＤのＳＭＲ領域の消去ユニットへ付加するデータのキューイングを行う（３０８）。一実施形態では、ＨＤＤのＲＢＯ面は、ＳＭＲ領域にデータをコミットする前に、ＳＭＲ領域に書き込まれるデータをステージングするストレージ階層として使用される。ステップ（３０６）または（３０８）に続き、書き込み動作が処理される（３１０）。したがって、各書き込み動作において、目標はデータを論理ブロック・アドレスに関連付けられた消去ユニットに付加することであり、一実施形態ではこれを、ＳＭＲフォーマットされた領域へ最終的に伝送するためにＲＢＯ領域を使用してデータをキューイングして行う。
【００１８】
図３に紹介されたように、ハイブリッドＨＤＤにおける主眼はデータをＳＭＲ指示領域に記憶することである。しかし、様々な状況下で、データはＨＤＤのＲＢＯ指示領域に記憶されてもよい。図４は書き込みデータを記憶するためのＲＢＯ位置を判断する処理を説明するフロー・チャート（４００）である。ここに示すように、データおよび関連付けられた論理ブロック・アドレスが受取られる（４０２）。これらのデータが処理されている間、これらのデータのために排他的にＲＢＯインデックスおよびテーブルが使用され更新される（４０４）。次に、受取られた論理ブロック・アドレスの関連付けられたデータ・ブロックが既にＲＢＯ指示領域に記憶されているかどうかが判断される（４０６）。一実施形態では、ステップ（４０６）での判断は、関連付けられた論理ブロック・アドレスのデータがＲＢＯ指示領域に既に存在するかを確認するために行われる。ステップ（４０６）での判断への肯定応答に続いて、データおよび関連付けられた論理ブロック・アドレスを、ＨＤＤのＲＢＯ指示領域の既存のデータを上書きするためのキューに置き（４０８）、続いてＲＢＯ指示領域への排他アクセスを放棄する（４１０）。
【００１９】
ステップ（４０６）でＨＤＤのＲＢＯ指示領域にデータが既に存在しないと判断された場合、次にＲＢＯ領域に空きスペースがあるかどうかが判断される（４１２）。ステップ（４１２）での判断への肯定応答に続いて、データおよび論理ブロック・アドレスのためのスペースをＲＢＯ領域に確保し（４１４）、続いてステップ（４０８）に戻る。一方、ステップ（４１２）での判断への否定応答に続いて、ＲＢＯ指示領域に空きスペースを作成する処理をトリガし（４１６）、続いてステップ（４１０）に戻る。ＲＢＯ指示領域に空きスペースを作成する処理の詳細な記述は、図５に示され記述されている。したがって、図４に示す処理はＨＤＤのＲＢＯ指示領域でのデータの記憶を表している。
【００２０】
図５を参照すると、ＨＤＤのＲＢＯ指示領域に、本願明細書でガベージ・コレクションとも称される空きスペースを作成する処理を説明するフロー・チャート（５００）が提供されている。初めに、ＲＢＯ指示領域への排他アクセスが確保され（５０２）、さらにデータおよび統計が集められる（５０４）。一実施形態では、ステップ（５０４）で確認されたデータはＲＢＯ指示領域専用であり、さらに一実施形態では、ＳＭＲ指示領域のためのデータを含む。ステップ（５０４）に続いて、再構築処理が進行中であるかどうかが判断される（５０６）。一実施形態では、再構築処理はデータ・ブロックの１つまたは複数の消去ユニットへの書き換えを含む。ステップ（５０６）での判断への否定応答に続いて、再構築する消去ユニットを確認する（５０８）。ステップ（５０８）またはステップ（５０６）での判断への肯定応答に続いて、選択された消去ユニットのセクションの再構築が、ＨＤＤのＲＢＯおよびＳＭＲの両領域からのデータを使用して行われる（５１０）。ＲＢＯ領域からの再構築されたデータは、上書きされること、すなわち空きスペースが作成されることが可能なデータとしてマークされる（５１２）。具体的には、ステップ（５１２）で、再構築されたデータは１つまたは複数の消去ユニットにコピーされたデータであるので、そのような、ＲＢＯ領域にあるデータの第２のコピーは不必要である。複製されたデータを記憶しているＲＢＯ領域は、異なるデータで上書きされてもよい。したがって、ＲＢＯ領域からのデータを１つまたは複数の消去ユニットに移動することで、空きスペースがＲＢＯ領域の上書き可能データの形で作成される。
【００２１】
一実施形態では、消去ユニットが同じ場所で再構築される場合、少なくとも１つ先のトラックのデータを保存するシステムが採用されてもよい。ステップ（５１２）に続いて、図３に示し記述された、一般的な書き込み動作がトリガされてもよい（５１４）。ガベージ・コレクション動作の完了に続いて、ステップ（５０２）で取得されたＲＢＯ領域への排他アクセスが放棄される（５１６）。したがって、ここに示す処理では、１つまたは複数の消去ユニットをＲＢＯ領域からのデータで再構築することにより、ＲＢＯ領域に新たなスペースを作成し、次に、新たなデータ・ブロックを受容するためにＲＢＯ領域に記憶された複製データを上書き可能とする。
【００２２】
図３〜５に示す処理は、ＨＤＤのＲＢＯおよびＳＭＲフォーマット面にデータを記憶する態様を説明している。データの記憶位置は、特にＨＤＤ内の面は、データ内に固有の特質に依存してもよく、書き込み要求に関連付けられた特質に依存してもよく、さらに一実施形態では、書き込み要求で指定されてもよい。例えば、一実施形態では、書き込み要求に関連付けられたホスト・システムは、ＲＢＯまたはＳＭＲフォーマット面でのデータの記憶の指示を含め、ＨＤＤ内のデータの記憶位置を指定してもよい。
【００２３】
図６を参照すると、ＨＤＤ（６３０）と通信するホスト・システム（６１０）を示すブロック図（６００）が提供されている。具体的には、ホスト・システム（６１０）にはバス（６１６）を介してメモリ（６１４）と通信する処理ユニット（６１２）が提供されている。ＨＤＤ（６３０）はシステムにローカルでもよいし、またはここに示すように、ネットワーク接続（６０５）を介してホスト・システム（６１０）との通信を提供されてもよい。ＨＤＤ（６３０）は、ＲＢＯフォーマット面にデータを書き込むための少なくとも１つのＲＢＯフォーマット書き込みヘッドおよびＳＭＲフォーマット面にデータを書き込むための少なくとも１つのＳＭＲフォーマット書き込みヘッドを含む、複数の書き込みヘッドを含む。書き込みヘッドおよびデータ面の詳細は図１および２に記述されている。一実施形態では、ＨＤＤ（６３０）の書き込みヘッドおよび関連付けられた面に応答する１つまたは複数の書き込み要求の処理を容易に行うために、処理ユニット（６１２）と通信する書き込みマネージャ（６４０）が提供されてもよい。特に、書き込みマネージャ（６４０）は、ＳＭＲ面にデータをコミットする前に、ＳＭＲ領域にデータを書き込むためのステージング領域としてＲＢＯ面を採用してもよい。一実施形態では、書き込みマネージャ（６４０）はＲＢＯ面の１つにデータを書き込み、ＳＭＲ面に空の消去ユニットを見つけ、空の消去ユニットにＲＢＯフォーマットされたデータをコピーしてもよい。一実施形態では、書き込みマネージャ（６４０）は部分的に空のＳＭＲ消去ユニットにデータを付加して圧縮を容易にしてもよい。図２に示すように、消去ユニットに関連するメタデータおよびインデックスは、ＲＢＯ面（単数または複数）に維持される。一実施形態では、書き込みマネージャ（６４０）はメタデータおよびインデックスを活用してＳＭＲ消去ユニットを効率的に採用し見つけ出す。したがって、書き込みマネージャ（６４０）はＨＤＤの機能性の効率的使用を支援する。
【００２４】
ＨＤＤの機能性を支援する書き込みマネージャ（６４０）および他のいずれのツールも、フィールド・プログラマブル・ゲートアレイ、プログラマブル・アレイ・ロジック、プログラマブル・ロジック装置等、プログラム可能なハードウェア装置に実装されてよい。各ツールはさらに、ソフトウェアに実装されて様々な種類のプロセッサにより実行されてもよい。実行可能コードの特定される機能ユニットは、例えば、１つまたは複数の物理的または論理的ブロックのコンピュータ命令を備えてもよく、コンピュータ命令は、例えば、オブジェクト、プロシージャ、関数、または他の構造体として編成されてもよい。それでも、ツールの実行ファイルは物理的位置が一緒である必要はなく、異なる位置に記憶された異種の命令を備えていてもよく、それらが論理的に一緒に結合されたとき、ツールを構成しツールに定められた目的を達成してもよい。
【００２５】
実際に、実行可能コードは単一の命令または多数の命令である可能性があり、いくつかの異なるコード・セグメントに、異なるアプリケーションの間に、さらにいくつかのメモリ装置にわたり、分散されることさえもできる。同様に、動作データはここでツール内に特定および示されてもよく、さらにいずれかの適切な形式で具現化されていずれかの適切な種類のデータ構造内に編成されてもよい。動作データは単一のデータ・セットとして収集されてもよく、または異なる記憶装置を含む異なる位置に分散してもよく、さらに少なくとも部分的に、システムまたはネットワーク上の電子信号として存在してもよい。
【００２６】
さらに、記述された特徴、構造、または特質は、１つまたは複数の実施形態でいずれかの適切なやり方で組み合わされてもよい。以下の記述では、エージェントの例のように、多数の具体的な詳細が本発明の各実施形態の完全な理解のために提供されている。しかし、当業者は、１つまたは複数の具体的な詳細なしでも、または他の方法、構成要素、材料等によっても、本発明が実践され得ることを認めるであろう。他の例では、周知の構造、材料、または動作は、本発明の態様を不明瞭にするのを避けるために、詳しく示されまたは記述されていない。
【００２７】
次に図７のブロック図を参照する。以下、本発明の実施形態の実装に関してさらなる詳細が記述される。コンピュータ・システムは、プロセッサ（７０２）のような、１つまたは複数のプロセッサを含む。プロセッサ（７０２）は通信インフラストラクチャ（７０４）（例えば、通信バス、クロスオーバ・バー、またはネットワーク）に接続されている。
【００２８】
コンピュータ・システムは、画像、テキスト、および他のデータを通信インフラストラクチャ（７０４）から（または図示なしのフレーム・バッファから）、表示ユニット（７０８）に表示するために転送する表示インターフェース（７０６）を含むことができる。コンピュータ・システムは、メイン・メモリ（７１０）、好ましくはランダム・アクセス・メモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）をさらに含み、２次メモリ（７１２）をさらに含んでもよい。２次メモリ（７１２）は、例えば、ハード・ディスク・ドライブ（７１４）、もしくは例えばフレキシブルディスク・ドライブ、磁気テープ・ドライブ、もしくは光学ディスク・ドライブなどを表す取り外し可能記憶ドライブ（７１６）、またはその両方を含んでもよい。取り外し可能記憶ドライブ（７１６）は当業者には周知のやり方で取り外し可能記憶ユニット（７１８）に対し読み出しもしくは書き込みまたはその両方を行う。取り外し可能記憶ユニット（７１８）は、取り外し可能記憶ドライブ（７１６）により読み出され書き込まれる、例えば、フレキシブルディスク、コンパクト・ディスク、磁気テープ、または光学ディスクなどを表す。
【００２９】
代替の各実施形態では、２次メモリ（７１２）は、コンピュータ・プログラムまたは他の命令がコンピュータ・システムにロードされることを可能とする他の同様の手段を含んでもよい。そのような手段は、例えば、取り外し可能記憶ユニット（７２０）およびインターフェース（７２２）を含んでもよい。そのような手段の例は、ソフトウェアおよびデータが取り外し可能記憶ユニット（７２０）からコンピュータ・システムに伝送されることを可能とするプログラム・パッケージおよびパッケージ・インターフェース（ビデオ・ゲーム・デバイスにあるようなもの）、取り外し可能メモリ・チップ（ＥＰＲＯＭまたはＰＲＯＭのような）および関連付けられたソケット、ならびに他の取り外し可能記憶ユニット（７２０）および各インターフェース（７２２）を含んでもよい。
【００３０】
コンピュータ・システムは通信インターフェース（７２４）をさらに含んでもよい。通信インターフェース（７２４）は、ソフトウェアおよびデータがコンピュータ・システムと外部装置との間で伝送されることを可能とする。通信インターフェース（７２４）の例は、モデム、ネットワーク・インターフェース（イーサネット（Ｒ）・カードなどのような）、通信ポート、またはＰＣＭＣＩＡスロットおよびカード等を含んでもよい。通信インターフェース（７２４）を介して伝送されるソフトウェアおよびデータは、信号の形態であり、例えば、通信インターフェース（７２４）により受取られることができる電子的、電磁気的、光学的、または他の信号でもよい。これらの信号は通信パス（すなわち、チャネル）（７２６）を介して通信インターフェース（７２４）に提供される。この通信パス（７２６）は信号を運び、ワイヤもしくはケーブル、光ファイバ、電話線、携帯電話リンク、無線周波数（ＲＦ：Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ）リンクもしくは他の通信チャネルまたはそのいずれかの組み合わせを使用して実装されてもよい。
【００３１】
本明細書では、「コンピュータ・プログラム媒体」、「コンピュータ使用可能媒体」および「コンピュータ可読媒体」の用語は一般的に、メイン・メモリ（７１０）および２次メモリ（７１２）のような媒体、取り外し可能記憶ドライブ（７１６）ならびにハード・ディスク・ドライブ（７１４）に装着されたハード・ディスクを意味するために使用されている。
【００３２】
コンピュータ・プログラム（コンピュータ制御論理とも呼ばれる）はメイン・メモリ（７１０）もしくは２次メモリ（７１２）またはその両方に記憶される。コンピュータ・プログラムはさらに通信インターフェース（７２４）を介して受取られてもよい。そのようなコンピュータ・プログラムは、実行すると、コンピュータ・システムが本願明細書に論じられている本発明の特徴を実施することを可能とする。特に、コンピュータ・プログラムは、実行すると、プロセッサ（７０２）がコンピュータ・システムの特徴を実施することを可能とする。したがって、そのようなコンピュータ・プログラムはコンピュータ・システムのコントローラを表す。
【００３３】
本発明はシステム、方法もしくはコンピュータ・プログラムまたはそのいずれかの組み合わせであってもよい。コンピュータ・プログラムは、プロセッサに本発明の態様を遂行させる、コンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体（単数または複数）を含んでもよい。
【００３４】
コンピュータ可読記憶媒体は、命令実行装置が使用する命令を保持および記憶できる有形の装置であり得る。コンピュータ可読記憶媒体は、例えば、電子記憶装置、磁気記憶装置、光学記憶装置、電磁記憶装置、半導体記憶装置、または前述のいずれかの適切な組み合わせであってよいが、これに限定されない。コンピュータ可読記憶媒体のより具体的な例の網羅的でないリストは、以下を含む。ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ：ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭ：ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙまたはフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ：ｓｔａｔｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、携帯用コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ：ｃｏｍｐａｃｔ  ｄｉｓｃ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、デジタル・バーサタイル・ディスク（ＤＶＤ：ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）、メモリ・スティック、フレキシブルディスク、パンチ・カードまたは溝内隆起構造など、そこに記録された命令を有する機械的に符号化されたデバイスおよび前述のいずれかの適切な組み合わせである。本願明細書で使用されているコンピュータ可読記憶媒体は、電波または他の自由に伝播する電磁波、導波路または他の伝送媒体（例えば、光ファイバ・ケーブルを通過する光パルス）を通して伝播する電磁波あるいはワイヤを通して伝送される電気信号など、それ自体が一時的な信号として解釈されるべきではない。
【００３５】
本願明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれの演算／処理装置に、あるいはネットワーク、例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワークもしくはワイヤレス・ネットワークまたはそのいずれかの組み合わせを介して外部コンピュータもしくは外部記憶装置に、ダウンロードされ得る。ネットワークは銅線伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータもしくはエッジ・サーバまたはそのいずれかの組み合わせを備えてもよい。各演算／処理装置のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、コンピュータ可読プログラム命令をネットワークから受け取り、それぞれの演算／処理装置内のコンピュータ可読記憶媒体に記憶するためコンピュータ可読プログラム命令を転送する。
【００３６】
本発明の動作を遂行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ（ＩＳＡ：ｉｎｓｔｒｕｃｔｉｏｎ−ｓｅｔ−ａｒｃｈｉｔｅｃｔｕｒｅ）命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはＳｍａｌｌｔａｌｋ、Ｃ＋＋等のオブジェクト指向プログラミング言語および「Ｃ」プログラミング言語もしくは同様のプログラミング言語など従来の手続き型プログラミング言語を含む、１つまたは複数のプログラミング言語のいずれかを組み合わせて書かれたソース・コードもしくはオブジェクト・コードでもよい。コンピュータ可読プログラム命令はスタンドアロンのソフトウェア・パッケージとして全面的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上および部分的に遠隔コンピュータ上で、または全面的に遠隔コンピュータ上もしくはサーバ上で実行されてもよい。後者のシナリオでは、遠隔コンピュータはローカル・エリア・ネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）または広域ネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）を含むいずれかの種類のネットワークを通してユーザのコンピュータに接続されてもよく、または接続は外部コンピュータに（例えば、インターネット・サービス・プロバイダを使用したインターネットを通して）されてもよい。いくつかの実施形態では、例えば、プログラマブル論理回路、フィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ：ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、またはプログラマブル論理アレイ（ＰＬＡ：ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ａｒｒａｙ）を含む電子回路は、本発明の態様を実施するために、電子回路をパーソナライズするコンピュータ可読プログラム命令の状態情報を利用することで、コンピュータ可読プログラム命令を実行してもよい。
【００３７】
本発明の態様は、本発明の各実施形態に係る方法、機器（システム）およびコンピュータ・プログラムのフローチャート図もしくはブロック図またはその両方を参照して本願明細書に記載されている。フローチャート図もしくはブロック図またはその両方の各ブロック、およびフローチャート図もしくはブロック図またはその両方のブロックの組み合わせは、コンピュータ可読プログラム命令により実装され得ると理解される。
【００３８】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理機器のプロセッサを介して実行される命令が、フローチャートもしくはブロック図またはその両方のブロックまたはブロックに指定されている機能／動作を実装する手段を生成するように、機械を生じるよう汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理機器のプロセッサに提供されてもよい。これらのコンピュータ可読プログラム命令はさらに、そこに記憶される命令を有するコンピュータ可読記憶媒体が、フローチャートもしくはブロック図またはその両方のブロックまたはブロックに指定されている機能／動作の態様を実装する命令を含む製品を備えるように、コンピュータ、プログラマブル・データ処理機器もしくは他の装置またはそのいずれかの組み合わせが特定のやり方で機能するよう指令し得るコンピュータ可読記憶媒体に記憶されてもよい。
【００３９】
コンピュータ可読プログラム命令はさらに、コンピュータ、他のプログラマブル機器または他の装置上で実行される命令が、フローチャートもしくはブロック図またはその両方のブロックまたはブロックに指定されている機能／動作を実装するように、コンピュータ実装処理を生じるようコンピュータ、他のプログラマブル機器または他の装置で一連の動作ステップを実施させるべく、コンピュータ、他のプログラマブル・データ処理機器または他の装置にロードされてもよい。
【００４０】
各図面のフローチャートおよびブロック図は、本発明の様々な実施形態に係るシステム、方法およびコンピュータ・プログラムの可能な実装のアーキテクチャ、機能性および動作を説明している。この点で、フローチャートまたはブロック図の各ブロックは、指定された論理機能を実装する１つまたは複数の実行可能な命令を備えるモジュール、セグメントまたは命令の部分を表してもよい。いくつかの代替の実装においては、ブロックに記された機能は各図に記された順序外で発生してもよい。例えば、関与する機能性により、連続して示された２つのブロックは、実際には、実質的に同時に実行されてもよく、またはこれらのブロックは時には逆の順番で実行されてもよい。さらに、ブロック図もしくはフローチャート図またはその両方の各ブロック、およびブロック図もしくはフローチャート図またはその両方のブロックの組み合わせは、指定された機能もしくは動作を実施する、または専用ハードウェアおよびコンピュータ命令の組み合わせを遂行する、専用ハードウェアに基づくシステムにより実装され得る。
【００４１】
本願明細書で使用されている用語は、特定の実施形態を記述する目的のためのみであり、本発明を限定することを意図しない。本願明細書で使用されている、単数形の“ａ”、“ａｎ”および“ｔｈｅ”は、文脈上明確に他を意味しない限り、複数形をも含むと意図されている。さらに、用語“ｃｏｍｐｒｉｓｅ（含む）”もしくは“ｃｏｍｐｒｉｓｉｎｇ（含む）”またはその両方が本明細書で使用されるときは、述べられた特徴、完全体、ステップ、動作、要素もしくは構成要素またはそのいずれかの組み合わせの存在を指定するが、１つまたは複数の他の特徴、完全体、ステップ、動作、要素、構成要素もしくはそのグループまたはそのいずれかの組み合わせの存在または付加を排除しないと理解される。
【００４２】
添付の請求項のすべてのミーンズまたはステップ・プラス・アクション要素の対応する構造、材料、動作および等価物は、特に請求されている、他の請求されている要素と組み合わせた機能を実施するいずれかの構造、材料または動作を含むことが意図されている。本発明の記述は説明と記述の目的のために提示されてきたが、網羅することまたは開示された形態での発明に限定することは意図してない。多くの変更および変形が、本発明の範囲と趣旨から逸脱せず、当業者には明らかとなるであろう。実施形態は、本発明の原理と実際的応用を最も良く説明するために、さらに他の当業者が、企図される特定の用途に適するように様々な修正による様々な実施形態で本発明を理解するように、選ばれ記述された。したがって、ＨＤＤの実装は単一の記憶ユニットに少なくとも２つの異なるフォーマット技術を組み合わせている。
【００４３】
当然のことながら、本発明の特定の実施形態が説明の目的のために本願明細書に記述されてきたが、様々な変更が、本発明の範囲と趣旨から逸脱せずに行われてもよい。特に、ＲＢＯ領域に階層データを割当てるシステムが記述されたが、ＲＢＯにデータが書き込まれない、ログ構造化書き込みを使用する関連技術が使用され得る。ただし、ログ構造化書き込みはＲＢＯ領域でその場で効率的に更新されるインデキシングおよびメタデータを必要とする。したがって、本発明の保護範囲は添付の請求項および請求項の等価物のみにより限定される。
【図１】
0006437014.tif 000002
【図２】
0006437014.tif 000003
【図３】
0006437014.tif 000004
【図４】
0006437014.tif 000005
【図５】
0006437014.tif 000006
【図６】
0006437014.tif 000007
【図７】
0006437014.tif 000008