(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024149375
(43)【公開日】2024-10-18
(54)【発明の名称】マルチアクチュエータハードディスクドライブにおけるピーク電力消費の低減
(51)【国際特許分類】
G11B 20/10 20060101AFI20241010BHJP
G06F 3/06 20060101ALI20241010BHJP
G11B 5/596 20060101ALI20241010BHJP
G11B 33/12 20060101ALI20241010BHJP
G11B 21/02 20060101ALI20241010BHJP
G11B 21/08 20060101ALI20241010BHJP
【FI】
G11B20/10 301Z
G06F3/06
G06F3/06 301F
G11B5/596
G11B33/12 313C
G11B21/02 601L
G11B21/08 V
【審査請求】有
【請求項の数】18
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024002314
(22)【出願日】2024-01-11
(31)【優先権主張番号】63/457,361
(32)【優先日】2023-04-05
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】18/225,092
(32)【優先日】2023-07-21
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】504056130
【氏名又は名称】ウェスタン デジタル テクノロジーズ インコーポレーテッド
(74)【代理人】
【識別番号】110000110
【氏名又は名称】弁理士法人 快友国際特許事務所
(72)【発明者】
【氏名】ウノキ トシロウ
(72)【発明者】
【氏名】福久 良司
(72)【発明者】
【氏名】岩田 尚敏
(72)【発明者】
【氏名】吉田 純
【テーマコード(参考)】
5D044
【Fターム(参考)】
5D044AB03
5D044BC01
5D044CC04
5D044DE03
5D044DE12
5D044DE13
5D044EF02
5D044FG09
5D044GK03
(57)【要約】 (修正有)
【課題】マルチアクチュエータハードディスクドライブにおけるピーク電力消費を低減するためのアプローチを提供する。
【解決手段】マルチアクチュエータハードディスクドライブに対応する複数のLUN間のバックグラウンドアクティビティプロセスのコンテキストにおける排他的動作アプローチは、バックグラウンド動作が異なるLUNにわたって同時に実行されることが許可されないようにバックグラウンド動作を制御することにより、関連する電力ピークを回避し、複数のLUN間でバックグラウンドアクティビティの進行を整列させ、各LUNに対する1つ以上のバックグラウンドアクティビティ、例えばバックグラウンドメディアスキャン(BMS)の進行を管理することで、マルチアクチュエータドライブの電力消費を低減する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
ホストアドレス可能なメモリの第1の論理ユニットに関連付けられ、対応する第1のセットのディスクメディア表面上で動作するように構成される第1のアクチュエータアセンブリと、
ホストアドレス可能なメモリの第2の論理ユニットに関連付けられ、対応する第2のセットのディスクメディア表面上で動作するように構成される第2のアクチュエータアセンブリと、
前記第1のアクチュエータアセンブリ及び前記第2のアクチュエータアセンブリと通信可能に結合された電子コントローラであって、
前記メモリの第1の論理ユニットに関連付けて、前記メモリの第1の論理ユニットに対応する繰り返しバックグラウンドプロセスを開始するための第1の要求を受信し、
前記第1の要求に応答して、前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスの開始を許可し、
前記メモリの第2の論理ユニットに関連付けて、前記メモリの第2の論理ユニットに対応する前記繰り返しバックグラウンドプロセスを開始するための第2の要求を受信し、
前記第2の要求に応答して、前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスが完了していると判定することに応えて、前記メモリの第2の論理ユニットに対応する前記バックグラウンドプロセスの開始を許可するか、または前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスが完了していないと判定することに応えて、前記メモリの第2の論理ユニットに対応する前記バックグラウンドプロセスの開始を許可しないように構成される電子コントローラと、を備える、データ記憶装置。
【請求項2】
前記コントローラは、
前記メモリの第1の論理ユニットに関連付けて、前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスが完了しているという通知を受信するようにさらに構成される、請求項1に記載のデータ記憶装置。
【請求項3】
前記コントローラは、
前記第2の要求に応答する前に、前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスのステータスを判定するようにさらに構成される、請求項1に記載のデータ記憶装置。
【請求項4】
前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスの開始を許可することは、前記メモリの第1の論理ユニットの第1の部分のみでの前記バックグラウンドプロセスの開始を許可することを含み、
前記コントローラは、
前記メモリの第2の論理ユニットに対応する前記バックグラウンドプロセスの開始を許可することに続いて、前記メモリの第1の論理ユニットに関連付けて、前記メモリの第1の論理ユニットの第2の部分に対応する前記バックグラウンドプロセスを再開するための後続の要求を受信し、
前記後続の要求に応答して、前記メモリの第2の論理ユニットに対応する前記バックグラウンドプロセスが完了していると判定することに応えて、前記メモリの第1の論理ユニットの前記第2の部分に対応する前記バックグラウンドプロセスの再開を許可するか、または前記メモリの第2の論理ユニットに対応する前記バックグラウンドプロセスが完了していないと判定することに応えて、前記メモリの第1の論理ユニットの前記第2の部分に対応する前記バックグラウンドプロセスの再開を許可しないようにさらに構成される、請求項1に記載のデータ記憶装置。
【請求項5】
前記メモリの第1の論理ユニットの前記第1の部分及び前記第2の部分の各々は、前記メモリの第1の論理ユニットに対応する物理メモリのそれぞれの固定ブロックである、請求項4に記載のデータ記憶装置。
【請求項6】
前記メモリの第1の論理ユニットに対応する前記繰り返しバックグラウンドプロセスは、前記第1のセットのディスクメディア表面のバックグラウンドメディアスキャンであり、
前記メモリの第2の論理ユニットに対応する前記繰り返しバックグラウンドプロセスは、前記第2のセットのディスクメディア表面のバックグラウンドメディアスキャンである、請求項1に記載のデータ記憶装置。
【請求項7】
マルチアクチュエータハードディスクドライブ用のコントローラ回路であって、1つ以上のプロセッサによって実行されると、
前記マルチアクチュエータハードディスクドライブのメモリの第1の論理ユニットに関連付けて、前記メモリの第1の論理ユニットに対応する繰り返しバックグラウンドプロセスを開始するための第1の要求を受信し、
前記第1の要求に応答して、前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスの開始を許可し、
前記マルチアクチュエータハードディスクドライブのメモリの第2の論理ユニットに関連付けて、前記メモリの第2の論理ユニットに対応する前記繰り返しバックグラウンドプロセスを開始するための第2の要求を受信し、
前記第2の要求に応答して、前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスが完了していると判定することに応えて、前記メモリの第2の論理ユニットに対応する前記バックグラウンドプロセスの開始を許可するか、または前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスが完了していないと判定することに応えて、前記メモリの第2の論理ユニットに対応する前記バックグラウンドプロセスの開始を許可しないパフォーマンスを引き起こす1つ以上の命令シーケンスを記憶またはアクセスする、コントローラ回路。
【請求項8】
前記1つ以上の命令シーケンスは、1つ以上のプロセッサによって実行されると、
前記メモリの第1の論理ユニットに関連付けて、前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスが完了しているという通知を受信する、さらなるパフォーマンスを引き起こす、請求項7に記載のコントローラ回路。
【請求項9】
前記1つ以上の命令シーケンスは、1つ以上のプロセッサによって実行されると、
前記第2の要求に応答する前に、前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスのステータスを判定する、さらなるパフォーマンスを引き起こす、請求項7に記載のコントローラ回路。
【請求項10】
前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスの開始を許可することは、前記メモリの第1の論理ユニットの第1の部分のみでの前記バックグラウンドプロセスの開始を許可することを含み、前記1つ以上の命令シーケンスは、1つ以上のプロセッサによって実行されると、
前記メモリの第2の論理ユニットに対応する前記バックグラウンドプロセスの開始を許可することに続いて、前記メモリの第1の論理ユニットに関連付けて、前記メモリの第1の論理ユニットの第2の部分に対応する前記バックグラウンドプロセスを再開するための後続の要求を受信し、
前記後続の要求に応答して、前記メモリの第2の論理ユニットに対応する前記バックグラウンドプロセスが完了していると判定することに応えて、前記メモリの第1の論理ユニットの前記第2の部分に対応する前記バックグラウンドプロセスの再開を許可するか、または前記メモリの第2の論理ユニットに対応する前記バックグラウンドプロセスが完了していないと判定することに応えて、前記メモリの第1の論理ユニットの前記第2の部分に対応する前記バックグラウンドプロセスの再開を許可しない、さらなるパフォーマンスを引き起こす、請求項7に記載のコントローラ回路。
【請求項11】
前記メモリの第1の論理ユニットの前記第1の部分及び前記第2の部分の各々は、前記メモリの第1の論理ユニットに対応する物理メモリのそれぞれの固定ブロックである、請求項10に記載のコントローラ回路。
【請求項12】
請求項7に記載のコントローラ回路を備えるマルチアクチュエータハードディスクドライブであって、
前記メモリの第1の論理ユニットに対応する前記繰り返しバックグラウンドプロセスは、第1のアクチュエータアセンブリによってサービスされる第1のセットのディスクメディア表面のバックグラウンドメディアスキャンであり、
前記メモリの第2の論理ユニットに対応する前記繰り返しバックグラウンドプロセスは、第2のアクチュエータアセンブリによってサービスされる第2のセットのディスクメディア表面のバックグラウンドメディアスキャンである、マルチアクチュエータハードディスクドライブ。
【請求項13】
ハードディスクドライブのマルチアクチュエータシステムを制御する方法であって、
前記ハードディスクドライブのメモリの第1の論理ユニットに関連付けて、前記メモリの第1の論理ユニットに対応する繰り返しバックグラウンドプロセスを開始するための第1の要求を受信するステップと、
前記第1の要求に応答して、前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスの開始を許可するステップと、
前記ハードディスクドライブのメモリの第2の論理ユニットに関連付けて、前記メモリの第2の論理ユニットに対応する前記繰り返しバックグラウンドプロセスを開始するための第2の要求を受信するステップと、
前記第2の要求に応答して、前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスが完了していると判定することに応えて、前記メモリの第2の論理ユニットに対応する前記バックグラウンドプロセスの開始を許可するか、または前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスが完了していないと判定することに応えて、前記メモリの第2の論理ユニットに対応する前記バックグラウンドプロセスの開始を許可しないステップと、を含む、方法。
【請求項14】
前記メモリの第1の論理ユニットに関連付けて、前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスが完了しているという通知を受信するステップをさらに含む、請求項13に記載の方法。
【請求項15】
前記第2の要求に応答する前に、前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスのステータスを判定するステップをさらに含む、請求項13に記載の方法。
【請求項16】
前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスの開始を許可することは、前記メモリの第1の論理ユニットの第1の部分のみでの前記バックグラウンドプロセスの開始を許可することを含み、前記方法は、
前記メモリの第2の論理ユニットに対応する前記バックグラウンドプロセスの開始を許可することに続いて、前記メモリの第1の論理ユニットに関連付けて、前記メモリの第1の論理ユニットの第2の部分に対応する前記バックグラウンドプロセスを再開するための後続の要求を受信するステップと、
前記後続の要求に応答して、前記メモリの第2の論理ユニットに対応する前記バックグラウンドプロセスが完了していると判定することに応えて、前記メモリの第1の論理ユニットの前記第2の部分に対応する前記バックグラウンドプロセスの再開を許可するか、または前記メモリの第2の論理ユニットに対応する前記バックグラウンドプロセスが完了していないと判定することに応えて、前記メモリの第1の論理ユニットの前記第2の部分に対応する前記バックグラウンドプロセスの再開を許可しないステップと、をさらに含む、請求項13に記載の方法。
【請求項17】
前記メモリの第1の論理ユニットの前記第1の部分及び前記第2の部分の各々は、前記メモリの第1の論理ユニットに対応する物理メモリのそれぞれの固定ブロックである、請求項16に記載の方法。
【請求項18】
前記メモリの第1の論理ユニットに対応する前記繰り返しバックグラウンドプロセスは、前記マルチアクチュエータシステムの第1のアクチュエータアセンブリによってサービスされる第1のセットのディスクメディア表面のバックグラウンドメディアスキャンであり、
前記メモリの第2の論理ユニットに対応する前記繰り返しバックグラウンドプロセスは、前記マルチアクチュエータシステムの第2のアクチュエータアセンブリによってサービスされる第2のセットのディスクメディア表面のバックグラウンドメディアスキャンである、請求項13に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、概して、ハードディスクドライブなどのデータ記憶装置に関し、特に、マルチアクチュエータハードディスクドライブにおけるピーク電力消費を低減するためのアプローチに関することができる。
【背景技術】
【0002】
ハードディスクドライブ(HDD)は、保護筐体に収容され、磁気面を有する1つ以上の円形ディスクにデジタル符号化されたデータを記憶する不揮発性記憶装置である。HDDが動作している間、各磁気記録ディスクはスピンドルシステムによって急速に回転される。データは、アクチュエータによってディスクの特定の位置に配置された読み取り/書き込み変換器(または読み取り/書き込み「ヘッド」)を使用することで、磁気記録ディスクから読み取られ、磁気記録ディスクに書き込まれる。読み取り/書き込みヘッドは、磁場を利用して、磁気記録ディスクの表面にデータを書き込み、磁気記録ディスクの表面からデータを読み取る。書き込みヘッドは、そのコイルを流れる電流によって磁場を生成することで作動する。電気パルスは、正の電流と負の電流の異なるパターンで、書き込みヘッドに送信される。書き込みヘッドのコイルにおける電流は、ヘッドと磁気ディスクとの間のギャップにわたって局所的な磁場を生成し、当該磁場が次に記録メディア上の小さな領域を磁化する。
【0003】
面密度(ディスク表面の所与の領域に記憶され得る情報ビット数の尺度)を高めることは、ハードディスクドライブ技術の進化の継続的な目標の1つである。近年、HDDの面密度の増加は、過去数年間の傾向に追いついていない。これにより、メカニックの負担は、規定のフォームファクタ内でディスク数を増やすことによって容量の増加を促進することにシフトしてきた。一つの形態では、この目標は、エンタープライズ、クラウドコンピューティング/ストレージ、及びデータセンター環境のコンテキストにおいて特に魅力的な大容量HDDのタイプで顕現される。しかしながら、大容量HDDの性能は、必ずしも容量の増加に対応してスケールアップされているわけではない。複数のクラスタ化されたノードを有するデータセンターなどのクラスタ環境では、大容量HDDは、レイテンシが高いため、記憶されたデータへのアクセスが遅くなり、それにより、大容量HDDの魅力が制限される。これらのHDDが、主にハイパースケール環境におけるデータセンター内のニアラインストレージに使用されるため、これらの大容量ドライブの性能は、レイテンシを最小限に抑えるために、IOPs(1秒当たりの入出力動作)密度要件(いくつかの例では、同様にIOPs/TBと呼ばれる)も満たす必要がある。
【0004】
大容量HDDの性能を向上させるための1つのアプローチは、独立して動作する複数のアクチュエータが、独立して同時にディスクスタックの複数の記録ディスクから読み取る、及び/または、ディスクスタックの複数の記録ディスクに書き込むために、単一の共有ピボットシャフトに組み立てられる、マルチアクチュエータシステムの実装である。ホストシステムがこのフィーチャを容易に使用できるために、典型的には、マルチLUN技術を採用して、複数のLUN(論理ユニット、または論理ユニット番号)を1つのHDD内で定義し、各LUNについてコマンドを発行し、そのうち、各LUNは、典型的には、それぞれのアクチュエータによってサービスされる物理メモリに論理的にマッピングされる。しかし、マルチアクチュエータHDDが直面する課題の1つは、電力消費の増加である。例えば、ディスクスピンドルモータなどの共通部品として機能し得るものを除いて、マルチアクチュエータHDDの電力消費は、メディアアクセス動作中のLUNの数でほぼ乗算される。また、このスペースの顧客は通常、電力消費に非常に敏感である。
【0005】
本セクションで記載され得る任意のアプローチは、追求できるアプローチであるが、必ずしも以前に考案または追求されたアプローチであるとは限らない。したがって、別段の指示がない限り、このセクションに記載されたアプローチのいずれかが、単に本セクションに含まれるという理由だけで先行技術として認められると想定されるべきではない。
【図面の簡単な説明】
【0006】
実施形態は、限定的ではなく、例として添付図面の図に示されており、図中、同様の参照番号は、同様の要素を指す。
【0007】
【
図1】一実施形態に係るハードディスクドライブ(HDD)を示す平面図である。
【0008】
【
図2】一実施形態に係る例示的なマルチアクチュエータアセンブリを示す分解斜視図である。
【0009】
【
図3】一実施形態に係るデュアルアクチュエータハードディスクドライブを示すブロック図である。
【0010】
【
図4A】一実施形態に係るデュアルLUN HDDにおけるバックグラウンド電力消費を示す図である。
【0011】
【
図4B】一実施形態に係る排他的動作デュアルLUN HDDにおけるバックグラウンド電力消費を示す図である。
【0012】
【
図5】一実施形態に係る排他的動作デュアルLUN HDDの例示的なユースケースを示すテーブルである。
【0013】
【
図6】一実施形態に係る排他的動作デュアルLUN HDDにおけるLUN状態遷移を示す図である。
【0014】
【
図7】一実施形態に係るHDDマルチアクチュエータシステムを制御する方法を示すフローチャートである。
【発明を実施するための形態】
【0015】
概して、マルチアクチュエータハードディスクドライブにおけるピーク電力消費を低減するアプローチが記載される。以下の記載では、説明の目的のために、本明細書に記載される本発明の実施形態の完全な理解を提供するために、多数の具体的な詳細が記載される。しかしながら、本明細書に記載される本発明の実施形態は、これらの具体的な詳細なしに実施され得ることは明らかである。他の例では、本明細書に記載される本発明の実施形態を不必要に不明瞭にすることを回避するために、周知の構造及び装置をブロック図の形式で示すことがある。
序論
用語
【0016】
本明細書における「1つの実施形態(an embodiment)」、「一実施形態(one embodiment)」などへの言及は、記載されている特定の特徴、構造、または特性が、本発明の少なくとも1つの実施形態に含まれることを意味することを意図している。しかしながら、そのようなフレーズの例は、必ずしもすべてが同じ実施形態を指すわけではない。
【0017】
「実質的に」という用語は、大部分またはほぼ構造された、構成された、寸法決めされたなどの特徴を説明するように理解されるが、製造公差などにより、実際には構造、構成、寸法などが常にまたは必ずしも述べられているように精確ではない状況をもたらす可能性がある。例えば、1つの構造を「実質的に垂直な」と記述すると、側壁がすべての実用的な目的で垂直であるが、全体にわたって精確に90度ではない可能性があるように、その用語にその明白な意味を与えている。
【0018】
「最適」、「最適化」、「最小」、「最小化」、「最大」、「最大化」などの用語は、それらに関連付けられた特定の値を有し得ないが、そのような用語が本明細書で使用される場合、当業者が、そのような用語を、本開示の全体と一致する有益な方向に値、パラメータ、メトリックなどに影響を与えることを含むように理解することが意図されている。例えば、何かの値を「最小」として記述することは、その値が実際に何かの理論的最小値(例えば、ゼロ)に等しいことを必要としないが、対応する目標が有益な方向に理論的最小値に向かってその値を移動させることであるという点で、実用的な意味で理解されるべきである。
コンテキスト
【0019】
前述の所見のとおり、大容量ハードディスクドライブ(HDD)の性能は、必ずしも記憶容量の増加に対応してスケールアップされるわけではなく、HDDの容量が増加し続けるにつれて、大容量HDDのデータ動作のレイテンシを短縮することで性能(例えば、IOPS)を向上させるという圧力は、さらに強くなっている。上述したように、HDD性能を向上させるための1つの可能なアプローチは、独立して動作する複数のアクチュエータを使用して、同時にディスクスタックの複数の記録ディスクから読み取る、及び/または、ディスクスタックの複数の記録ディスクに書き込む、マルチアクチュエータシステムの実装である。しかしながら、電力消費は、マルチアクチュエータHDDの広範な実装に関して、不利な要因または制限要因となる可能性がある。
【0020】
図2は、一実施形態に係る例示的なマルチアクチュエータアセンブリを示す分解斜視図である。ここで、ハードディスクドライブは、2つ(非限定的な例の目的のため)の独立したアクチュエータシステム202a、202bを含むマルチアクチュエータアセンブリ200を備え、アクチュエータシステム202a、202bが、独立に最適化することができ、同じ回転軸203を共有し、それぞれのディスクスタック(例えば、
図1の複数の記録メディア120のスタックを参照)に同時にサービスを提供することができる。2つのアクチュエータシステム202a、202bの各々は、それ自身のそれぞれのピボットベアリングアセンブリ204a、204b(例えば、
図1のピボットベアリングアセンブリ152を参照)を備え、アクチュエータシステム202a、202bは、互いに物理的に分離している。したがって、アクチュエータシステム202a、202bの各々は、それ自身のボイスコイルモータアセンブリ(VCMA)206a、206bも備える。2つのアクチュエータシステム202a、202bは、モジュール方式で互いに積み重ねられ、2つのピボットシャフト205a、205b(例えば、
図1のピボットシャフト148を参照)の各々は、筐体ベース(例えば、
図1のHDDハウジング168)と一体化された共通のポスト(ここでは図示しない)に係合する。アクチュエータシステム202a、202bの各々は、それぞれのボイスコイル(ここでは見えず、例えば、
図1のボイスコイル140を参照)、キャリッジ234a、234b(例えば、
図1のキャリッジ134を参照)、キャリッジ234a、234bに結合されたアーム232a、232b(例えば、
図1のアーム132を参照)のセットまたはコーム、及びアーム232a、232bのセットまたはコームに結合されたHGA210a、210b(例えば、
図1のHGA110を参照)のセットをさらに備える。なお、HDDに組み込まれ得るアクチュエータの数は、実装形態によって異なり得るが、本明細書全体には、例示的であるが非限定的なデュアルアクチュエータ配置が説明される。さらに、アクチュエータシステム202a、202bの間に構造的に剛性のあるインターフェースを提供して、アクチュエータシステム202a、202bの間の構造力学結合の悪影響を緩和するために、中央支持構造208は、ピボットシャフト205a、205bの間、及び上部VCMA206aと下部VCMA206bのポールピースの間に挟まれ得る。
【0021】
前述のとおり、ホストシステムがマルチアクチュエータのフィーチャを容易に利用できるために、典型的には、マルチLUN技術を採用して、複数のLUNを単一のマルチアクチュエータHDD内で定義し、各LUNについてコマンドを発行し、そのうち、各LUNは、典型的には、それぞれのアクチュエータシステム202a、202bによってサービスされる物理メモリにマッピングされる。なお、「論理ユニット番号」としての「LUN」は、技術的には、メモリの論理ユニットの識別子であるが、ここでは、メモリの論理ユニット自体を指すために(一般的かつ口語的に)使用される。さらに、前述のとおり、マルチアクチュエータHDDの電力消費は、メディアアクセス動作中にLUNの数でほぼ乗算される。しかし、HDDの電力消費は、(i)ホストコマンドを実行している状態と、(ii)アイドル状態(すなわち、ホストコマンドを実行していない状態)とに大別され、関連付けられ得る。従来のHDDと同様に、マルチアクチュエータHDDも、データの読み取り/書き込み動作に直接に関連付けられず、典型的には、データの整合性及び長期的なHDDの健全性の維持と確保に関連する、典型的には自動的かつ反復的な多数のバックグラウンドアクティビティを行う。例えば、HDDの1つの典型的なバックグラウンドアクティビティは、バックグラウンドプロセス(最終的には、読み取り/書き込みチャネルパラメータに影響を与える)であるバックグラウンドメディアスキャン(「BMS」)であり、当該バックグラウンドメディアスキャンにより、ユーザーセクタの全体がスキャンされ、エラーによって通常の読み取り/書き込み動作が中断される可能性がある前に、HDDメディアにそのようなエラーの検出を提供する。1回のメディアアクセスの持続時間はあまり長くないが、すべてのヘッドに対して複数回のアクセスが行われるため、メディアアクセスの総数は非常に長くなり、その結果、ピーク電力はそれに応じて増加する可能性が高い。本明細書に記載される技術は、HDDの典型的または非典型的な様々なバックグラウンドプロセスのいずれかのコンテキストで実装され得るが、BMSバックグラウンドアクティビティは、非限定的な例の目的のために、本明細書全体には参照される。
デュアルアクチュエータハードディスクドライブの例示的な構成
【0022】
図3は、一実施形態に係るデュアルアクチュエータハードディスクドライブを示すブロック図である。
図3は、ホスト301と通信する例示的なデータ記憶装置(DSD)302を示し、ホスト301は、実行可能コードが実行されるハードウェアマシン(非限定的な例として、コンピュータまたはハードウェアサーバなど)内に、または、1つ以上のプロセッサ(非限定的な例として、データベースサーバ、アプリケーションサーバ、メディアサーバなどのソフトウェアサーバ)によって実行可能なソフトウェア命令として具現化され得る。ホスト301は、一般に、DSD302のクライアントを表し、DSD302にデータ読み取り/書き込み要求(入力/出力または「IO」動作要求)を行う能力を有する。ホスト301及びDSD302は、コンピュータシステム(例えば、サーバ、デスクトップ、モバイル/ラップトップ、デジタルビデオレコーダなど)または他の電子デバイスなどのシステムを形成し得る。
図3の構成要素は、物理的に同一場所に位置してもよいし、そうでなくてもよいので、ホスト301はDSD302から離れて位置してもよい。当業者は、実施形態が
図3に示された要素よりも多いまたは少ない要素を含むことができ、開示されたプロセスが非限定的な例として異なる数のアクチュエータなど、異なる構成を有する他の環境で実装できることを理解するであろう。
【0023】
DSD302は、回転磁気メディアの形態の不揮発性メモリ(NVM)を含み、ここでは1つ以上のディスクスタック、すなわちディスク312a及びディスク312bの形態で示される。ここで、ディスク312a(
図3のディスク「セット1」)は、第1のアクチュエータ310a(
図3の「アクチュエータ1」)に関連付けられ、これに対応し、ディスク312b(
図3のディスク「セット2」)は、第2のアクチュエータ310b(
図3の「アクチュエータ2」)に関連付けられ、これに対応する。各アクチュエータ(310a、310b)アセンブリは、磁気ディスク及びディスクセット(すなわち、ディスク312a、312b)のそれぞれへの同時アクセスを提供するように構成される1つ以上の読み取り/書き込み変換器またはヘッド(ここでは見えず、例えば、
図1の読み取り/書き込みヘッド110aを参照)を含む。このように、第1のアクチュエータ310aに結合された読み取り/書き込みヘッドは、第2のアクチュエータ310bに結合された読み取り/書き込みヘッドとは異なる記録メディアの表面にアクセスし、ディスク312a、312bの各ディスク表面がデータを記憶するための、半径方向に間隔を置いて配置された多数の同心円状のトラックを含む。アクチュエータ310a、310bの各々によって動作される磁気記録ディスクの数(ここでは合計10個のディスクとして示される)は、実装形態によって異なり得る。一実施形態によれば、アクチュエータ310a、310bは、1つ以上のアクチュエータピボット(ここでは見えず、例えば、
図1のピボットシャフト148を参照)を中心に互いに独立して回転するように構成される。この点に関して、アクチュエータ310a、30bは、各アクチュエータ310a、30b上のヘッドが互いに半径方向に整列していないディスク312a、312bの領域にアクセスすることを可能にする分割同軸構成であり、そのような回転独立性が単一のアクチュエータのみを有するDSDよりもDSD302のIOPSの点で性能が向上する。言い換えれば、アクチュエータ310a、310bの独立した移動は、所与の時間内により多くのコマンドを行うために、異なる半径方向の位置での同時読み取り及び/または書き込みを容易にすることができる。
【0024】
説明したように、ホスト301は、典型的には、対応するLUNに従って、
図3に示されるようなマルチアクチュエータDSD内の各アクチュエータ310a、310bをアドレス指定する。例えば、ホスト301は、第1のLUN(例えば、LUN0として示される)に従って、または第1のLUNのコンテキストにおいて、第1のアクチュエータ310aを識別し、第1のアクチュエータ310aとインタラクションを行うように示され、第2のLUN(例えば、LUN1として示される)に従って、または第2のLUNのコンテキストにおいて、第2のアクチュエータ310bを識別し、第2のアクチュエータ310bとインタラクションを行うように示される。このように、ホスト301は、そのような動作を識別してLUN0にアドレス指定することによって、動作コマンドを第1のアクチュエータ310aに指示し、そのような動作を識別してLUN1にアドレス指定することによって、動作コマンドを第2のアクチュエータ310bに指示する。同様に、ホスト301は、LUN0からの、すなわちLUN0のコンテキストにおける、またはLUN0に対応する、第1のアクチュエータ310aからの応答を期待し、LUN1からの、すなわちLUN1のコンテキストにおける、またはLUN1に対応する、第2のアクチュエータ310bからの応答を期待する。
【0025】
ホスト301は、DSD302との間でデータを転送するためにインターフェース303(例えば、IOインターフェース)を介して、例えば、非限定的な例として、バス、イーサネットまたはWiFiなどのネットワーク、またはシリアルアドバンストテクノロジーアタッチメント(SATA)、PCIエクスプレス(PCIe)、スモールコンピュータシステムインターフェース(SCSI)、またはシリアルアタッチドSCSI(SAS)などのバス規格を介して、DSD302とインタラクションを行う。動作中、インターフェース303は、ディスク312a、312bのディスク表面からデータを読み取り、ディスク312a、312bのディスク表面にデータを書き込むために、ホスト301からホスト読み取り/書き込みコマンドを受信する。当業者であれば、DSD302のインターフェース303などのマルチアクチュエータDSD用のインターフェースが、それぞれのインターフェースポート、電子回路などを有する複数のマルチアクチュエータ310a、310bの各々に対する別々のインターフェースとして実装され得ることを理解するであろう。
【0026】
DSD302は、命令を実行するための1つ以上のプロセッサなどの回路を含む電子コントローラ304を含み、非限定的な例として、メモリ305、マイクロコントローラ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ハードワイヤードロジック、アナログ回路、及び/またはそれらの組み合わせを含み得るシステムオンチップ(SoC)電子回路として実装され得る。当業者は、インターフェース303がコントローラ304の一部として含まれ得ることを理解するであろう。メモリ305に記憶され得るファームウェア307は、DSD302を動作させる際にコントローラ304によって実行されるコンピュータ実行可能命令を含む。1つ以上の命令シーケンスとして記憶される実行可能ロジック(例えば、ファームウェア307の形態で)は、バックグラウンドアクティビティ及び他の動作が複数のアクチュエータ310a、310bの間で如何に実行され得るかを指示するように構成される。コントローラ304は、書き込みコマンドに対応するデータを符号化し、読み取りコマンドに対応するデータを復号化するように構成される読み取り/書き込みチャネル(図示せず)を含み得る。ここで、当業者は、マルチアクチュエータDSD用のコントローラ、特に、例えば、DSD302のコントローラ304及び/または読み取り/書き込みチャネルが、複数のアクチュエータ310a、310bの各々に対する別々の電子回路及び/または論理命令(すなわち、異なる「チャネル」自体)として実装され得ることも理解するであろう。
【0027】
コントローラ304などのコントローラは、典型的には、ディスク312a、312bの一部にアクセスするために各アクチュエータ310a、310bにコマンドを送信する1つ以上のサーボコントローラ309a、309bを含むか、またはそれらと連動して動作する。サーボコントローラ309a、309bは、VCM(ボイスコイルモータ)コマンドをそれぞれのVCM(ここでは見えず、例えば、
図1のVCMコイル140を参照)に送信して、ディスク312a、312bの表面に対して読み取り/書き込みヘッドを位置決めする際のアクチュエータ310a、310bの移動を制御する。より具体的には、ディスク312a、312bの各表面は、ヘッドの位置を決定するために、読み取り/書き込みヘッドによってディスク表面から読み取ることができる位置情報(例えば、サーボバースト)を提供することができるサーボウェッジを含むことができる。ディスク表面に書き込まれるデータについて、コントローラ304の読み取り/書き込みチャネルは、バッファリングされたデータを書き込み信号に符号化し得、この書き込み信号は、書き込みコマンド内のデータ用の論理アドレスが割り当てられているディスク表面に磁気的にデータを書き込むために、ヘッドに提供される。また、コントローラ304は、サーボコントローラ309a、309bを介して、アクチュエータ310a、310bのVCMにVCMコマンドを提供して、データを書き込むためにヘッドを特定のトラック上に位置決めすることができる。さらに、ディスク312a、312bのディスク表面に記憶されたデータに対する読み取りコマンドに応答して、コントローラ304は、サーボコントローラ309a、309bを介して、読み取りコマンド内のデータ用の論理アドレスが割り当てられているディスク表面上の特定のトラック上にヘッドを位置決めする。コントローラ304は、トラックに記憶されたデータを磁気的に読み取り、読み取り信号として読み取りデータをコントローラ304の読み取り/書き込みチャネルに送信するように、ヘッドを制御する。次いで、読み取り/書き込みチャネルは、インターフェース303を介してホスト301に送信するために、データを復号し、メモリ305または別のメモリにバッファリングすることができる。
【0028】
DSD302のメモリ305は、ファームウェア307、論理対物理マッピング306、及びアクチュエータマッピング306aを記憶するようにさらに構成される。いくつかの実装形態では、メモリ305は、ディスク312a、312bまたはDSD302の別のNVMなどの不揮発性メモリ(NVM)により永続的に記憶され得るファームウェア307、論理対物理マッピング306、及びアクチュエータマッピング306aのうちの1つ以上の一時的なコピーを有する、ダイナミックランダムアクセスメモリ(DRAM)などの揮発性メモリであってもよい。他の実装形態では、メモリ305は、NANDフラッシュメモリ、磁気抵抗ランダムアクセスメモリ(MRAM)、または他のタイプの不揮発性固体メモリなどのNVMであってもよい。論理対物理マッピング306(一般に、データ構造またはデータ値の集合とそれらの間の関係)は、データの論理アドレスを、ディスク312a、312bのディスク表面上にデータを記憶するための物理的位置に関連付ける。いくつかの実装形態では、論理対物理マッピング306は、データの論理ブロックアドレス(LBA)を、ディスク表面上の特定のトラック内の特定のセクタまたはセクタの範囲、または(例えば、1つ以上のセクタの)特定のブロックなどの、ディスク表面上の位置を示す物理ブロックアドレス(PBA)にマッピングする変換テーブルを含み得る。論理対物理マッピング306における論理アドレスは、例えば、アドレス範囲として表すことができ、そのグループが特定の論理ユニットまたはLUN(例えば、
図3のLUN0及びLUN1を参照)に関連付けられる。さらに、論理対物理マッピング306は、ディスク312a、312b上の物理アドレスを、その物理アドレスにアクセスするアクチュエータ310a、310bにマッピングするアクチュエータマッピング306a(例えば、データ構造)を含んでもよく、またはそれに関連付けられてもよく、当該物理アドレスが、アクチュエータマッピング306aにおいて、各アクチュエータ310a、310bがアクセスする物理アドレスの範囲として表され得る。いくつかの実装形態では、アクチュエータマッピング306aは、どのヘッドが異なる物理アドレスにアクセスするかを示すヘッドマッピング情報に基づいて配置され得る。
マルチアクチュエータハードディスクドライブにおけるLUNにわたる排他的動作
【0029】
説明したように、マルチアクチュエータHDDの電力消費は、メディアアクセス動作中にLUNの数でほぼ乗算され、同様に、マルチアクチュエータHDDの電力消費は、バックグラウンドアクティビティがすべてのLUNに対して同時に行われるときに、そのようなバックグラウンドアクティビティまたは動作中にLUNの数でほぼ乗算され得る。
図4Aは、一実施形態に係るデュアルLUN HDDにおけるバックグラウンド電力消費を示す図である。
図400は、アイドル時間402b、403bが散在する、周期的な(例えば、一度に物理メモリの1つのチャンクまたは一部に、好ましくはアイドル時間を挟んで適用される)バックグラウンドBMS動作402a、403aのコンテキストで表示されており、バックグラウンドBMS動作402a、403aが、「LUN0」(例えば、BMS動作402a、アイドル時間402b)及び「LUN1」(例えば、BMS動作403a、アイドル時間403b)とラベル付けされた複数のLUNのそれぞれに対して、ランダムに実行され、少なくともいくつかの時点で同時に実行されることが含まれ得る。したがって、
図400は、両方のLUNに対応する図示の総電力消費タイムラインにおける電力ピーク404の存在を示し、かつBMS動作402a、403aがLUN0及びLUN1の両方に対して同時に実行されている時間を示す。
【0030】
しかしながら、電力ピーク404などの電力ピークは、バックグラウンド動作の排他的実施(本明細書で「排他的動作」と呼ばれるアプローチまたは技術)の利用に基づいて回避され得、当該排他的実施によって、バックグラウンド動作は、異なるLUNにわたって同時に実行されることが許可されないように制御及び管理される。
図4Bは、一実施形態に係る排他的動作デュアルLUN HDDにおけるバックグラウンド電力消費を示す図である。
図410は、アイドル時間412b、413bが散在する、周期的なバックグラウンドBMS動作412a、413aのコンテキストで表示されており、バックグラウンドBMS動作412a、413aが、「LUN0」(例えば、BMS動作412a)及び「LUN1」(例えば、BMS動作413a)とラベル付けされた複数のLUN間で同時に実行されることがないように制御された方法で実行される。したがって、
図410は、
図400の電力ピーク404と比較して、両方のLUNに対応する図示の電力消費タイムラインにおける顕著かつ大幅に低い電力ピーク414を示し、かつそのようなバックグラウンド動作がLUN0及びLUN1の両方に対して同時に実行されることを禁止する(すなわち、むしろ、排他的動作)という方法でBMS動作412a、413aを制御することを示す。この排他的動作アプローチは、上記したように、単一のバックグラウンド手順(すなわち、BMS)の実行を管理するコンテキストで例示され、説明されるが、本明細書に記載の技術は、HDDの典型的または非典型的な様々なバックグラウンド手順のいずれかのコンテキストで実装され得る。さらに、排他的動作アプローチは、異なるバックグラウンド手順にわたって適用され得、当該排他的動作アプローチによって、複数の異なるバックグラウンド手順は、それらの対応する動作が異なるLUNにわたって同時に実行されることが許可されないように制御及び管理されることが考えられる。
【0031】
マルチアクチュエータHDDにおけるバックグラウンドアクティビティに対するこの排他的動作アプローチは、
図4BのLUN0及びLUN1などの複数のLUN間でバックグラウンドアクティビティの進行を整列させまたはインターリーブすることを含む、各LUNに対する1つ以上のバックグラウンドアクティビティ、動作、プロセス(例えば、BMS動作)の進行を管理するように構成される、HDD電子コントローラ回路内の(効果的に)「内部ホスト」によって実装され得る(例えば、非限定的な用語例として、機械実行可能なロジックまたはコード、コンピュータプログラミング、実行可能な命令シーケンスなどを有するファームウェア307において実装される)。各LUNは、好ましくは、既知の技術に従って典型的に、それぞれのバックグラウンドアクティビティを行うまたは実行する。
【0032】
一実施形態によれば、複数のLUN間でバックグラウンドアクティビティの進行を管理し整列させることを達成するために、内部ホストは、所与のLUNが、対応するバックグラウンドアクティビティまたは対応するバックグラウンドアクティビティの少なくとも所定の部分の実行を開始することがいつ允許または許可されるかを制御するように構成される。BMS動作のシナリオでは、BMSアクティビティの所定の部分は、物理メモリの1つ以上の特定の「チャンク」または一部に対応し得る。一実施形態によれば、各LUN(例えば、所与のLUNに関連付けられているか、対応しているか、またはそれを管理及び制御するように構成される実行可能なプログラミングコード)は、メモリの各特定のチャンク上でBMSアクティビティを開始する許可を内部ホストに問い合わせるか、または内部ホストから要求する(例えば、一度に1つのチャンクずつなど、独立して順次に要求する)ことが必要とされる。そのため、所与のLUNは、内部ホストによって明示的に許可されている場合にのみ、要求されたアクティビティを行うように構成される。一実施形態によれば、複数のLUN間でバックグラウンドアクティビティの進行を管理し整列させることをさらに達成するために、内部ホストは、各LUNのバックグラウンドアクティビティのステータスを監視するように構成される。一実施形態によれば、各LUNのバックグラウンドアクティビティのステータスを監視することは、所与のLUNに対応するバックグラウンドアクティビティ(例えば、メモリの特定のチャンクに対するスキャン)が完了したという通知を、各LUN(例えば、所与のLUNに関連付けられているか、対応しているか、またはそれを管理及び制御するように構成される実行可能なプログラミングコード)から、または各LUNに関連付けて受信することを含む。同様に、各LUNのバックグラウンドアクティビティのステータスを監視することは、各LUNが、バックグラウンドアクティビティが完了したという通知を内部ホストに提供することを含む。
【0033】
図5は、一実施形態に係る排他的動作デュアルLUN HDDの例示的なユースケースを示すテーブルである。テーブル500の列502は、LUN0に対応するイベント(例えば、BMSイベント)を一覧表示し、同様に、列504は、LUN1に対応するイベント(例えば、BMSイベント)を一覧表示する。ここで、各LUNは、スキャン要求(例えば、所定の固定サイズのメモリの1つのチャンク/一部のスキャンを要求する)、及び完了(例えば、1つのチャンク/一部のスキャンの完了を報告する)の2つのイベントのうちの1つを行うことができる。列503は、列502の対応するイベントに基づいてLUN0のステータスを一覧表示し、列505は、列504の対応するイベントに基づいてLUN1のステータスを一覧表示する。一実施形態によれば、各LUNは、アイドル(すなわち、スキャン待ち)、実行中(すなわち、スキャン進行中)、及び完了(すなわち、所定の固定サイズのメモリの1つのチャンク/一部のスキャンが完了)の3つの可能な状態のうちの1つになり得る。
【0034】
行1では、最初はLUN0とLUN1の両方がアイドル状態である。
【0035】
行2では、LUN0は、メモリの第1のチャンクに対するスキャン要求イベントを行いまたは提出し、当該スキャン要求イベントは、コントローラ304(
図3)の前述の「内部ホスト」によって許容または允許され、これにより、LUN0が実行中の状態に移行するが、LUN1がアイドル状態のままである。
【0036】
行3では、LUN1は、メモリの第1のチャンクに対するスキャン要求イベントを提出するが、当該スキャン要求イベントは、LUN0がまだ実行中の状態であるため、内部ホストによって許容または允許されない。したがって、LUN0が実行中のままであり、LUN1がアイドルのままである。
【0037】
行4では、LUN0は、第1のチャンクに対する完了イベントを報告し、これにより、LUN0が完了状態に移行するが、LUN1が現時点ではアイドルのままである。
【0038】
行5では、LUN0は、メモリの第2のチャンクに対するスキャン要求イベントを提出するが、当該スキャン要求イベントは、LUN1がまだスキャンされていないため、内部ホストによって許容または允許されず、その結果、LUN0が完了状態のままであり、LUN1が現時点ではIdleのままである。
【0039】
行6では、LUN1は、メモリの第1のチャンクに対するスキャン要求イベントを再度提出し、当該スキャン要求イベントは、内部ホストによって許容または允許され、これにより、LUN1が実行中の状態に移行するが、LUN0が完了のままである。
【0040】
行7では、LUN1は第1のチャンクに対する完了イベントを報告し、これにより、LUN1が完了状態に移行するが、LUN0が完了のままである。
【0041】
行8では、LUN0は、メモリの第2のチャンクに対するスキャン要求イベントを再度提出し、当該スキャン要求イベントはLUN1が行7で完了を報告したため、内部ホストによって許容または允許される。これにより、LUN0が実行中の状態に移行するが、LUN1がアイドルに移行する。ここで、プロセスは、LUN0ステータス列503及びLUN1ステータス列505に関して行2に効果的に戻り、BMSバックグラウンドプロセスは、この排他的動作アプローチに従って継続することができる。
【0042】
図6は、一実施形態に係る排他的動作デュアルLUN HDDにおけるLUN状態遷移を示す図である。状態
図600は、
図5のテーブル500に示されるユースケース例と一致した、LUN0及びLUN1の状態遷移を表す。このように、LUN0及びLUN1の両方は、最初に、テーブル500の行1と一致するように、状態602でアイドルとして示される。
【0043】
ライン603-0におけるチャンクに対するLUN0のスキャン要求に応答して、状態604において、テーブル500の行2と一致するように、LUN0は実行中の状態として示され、LUN1はアイドル状態のままである。LUN1がスキャン要求を提出する場合、LUN1の状態はアイドルのままであり、LUN0は実行中である。
【0044】
LUN0がチャンクに対する完了イベントを報告することに応答して、状態606において、テーブル500の行4と一致するように、LUN0は完了状態として示され、LUN1はアイドル状態のままである。LUN0が別のスキャン要求を提出する場合、LUN0の状態は、LUN0にスキャン要求が許容されるまで完了のままである。
【0045】
LUN1がチャンクに対するスキャン要求を提出することに応答して、LUN0が完了状態にあるため、LUN1の要求は許容され、状態608において、テーブル500の行6と一致するように、LUN1は実行中の状態に移行するが、LUN0は完了のままである。LUN0がスキャン要求を提出する場合、LUN0の状態はアイドルのままであり、LUN1は実行中である。
【0046】
LUN1がチャンクに対する完了イベントを報告することに応答して、状態610において、テーブル500の行7と一致するように、LUN0は完了状態として示され、LUN1も完了状態として示される。LUN0が別のスキャン要求を提出することに応答して、状態図においては、LUN0が実行中の状態として示され、LUN1がアイドル状態として示されている状態604に戻り得る。
【0047】
LUN1が別のスキャン要求を提出することに応答して、状態図においては、LUN1が実行中の状態として示され、LUN0がアイドル状態として示されている状態605に移行し得る。状態605は、例えばLUN1がLUN0の前に最初のスキャン要求を提出する場合に、ライン603-1における最初のチャンクに対するLUN1スキャン要求に応答して達成することもできる。ここで、LUN0が別のスキャン要求を提出する場合、LUN0の状態は、LUN1が完了を報告するまでアイドルのままである。
【0048】
状態
図600の右側は、状態
図600の左側のミラーとして想定され得、これにより、LUNが切り替えられる間、それぞれの状態ボックスがミラーリングされる。このように、LUN1がチャンクに対する完了イベントを報告することに応答して、状態607において、LUN1は完了状態として示され、LUN0はアイドル状態のままである。ここで、LUN1が別のスキャン要求を提出する場合、LUN1の状態は、LUN1のスキャンのターンが再び来るまで、完了のままである。
【0049】
LUN0がチャンクに対するスキャン要求を提出することに応答して、LUN1が完了状態にあるため、LUN0要求は許容され、状態609において、LUN0は実行中の状態に移行するが、LUN1は完了のままである。ここで、LUN1がスキャン要求を提出する場合、LUN1の状態は完了のままであり、LUN0は実行中であり、すなわち、この要求が許容されていない。
【0050】
LUN0がチャンクに対する完了イベントを報告することに応答して、状態611において、LUN0及びLUN1の両方が完了状態として示される。LUN1が別のスキャン要求を提出することに応答して、状態図においては、LUN1が実行中の状態として示され、LUN0がアイドル状態として示されている状態605に戻り得る。LUN0が別のスキャン要求を提出することに応答して、状態図においては、LUN0が実行中の状態として示され、LUN1がアイドル状態として示されている状態604に移行し得る。
ハードディスクドライブにおけるマルチアクチュエータアセンブリの制御
【0051】
本明細書に記載の処理、機能、手順、動作、方法ステップなどは、1つ以上のプロセッサによって実行されると、そのようなパフォーマンスを引き起こす、1つ以上のメモリユニットに記憶された1つ以上の命令の1つ以上のシーケンスの実行による施行を含み得る。例えば、そのような命令を記憶するための少なくとも1つのメモリユニットと、そのような命令を実行するための少なくとも1つのプロセッサとを含む特定用途向け集積回路(ASIC)などの、ソフトウェア、ハードウェア、及びファームウェアの任意の形態及び/または組み合わせで具現化された、本明細書で参照されるコントローラ(例えば、
図3のコントローラ304)は、そのような命令の実行のために構成及び実装され得る。
【0052】
図7は、一実施形態に係るHDDマルチアクチュエータシステムを制御する方法を示すフローチャートである。ここで、ハードディスクドライブは、対応する第1のセットのディスクメディア表面(例えば、
図3のディスク312a、ディスク「セット1」とも呼ばれる)上で動作するように構成される第1のアクチュエータアセンブリ(例えば、
図2のアクチュエータシステム202a;
図3のアクチュエータ310a、「アクチュエータ1」とも呼ばれる)と、対応する第2のセットのディスクメディア表面(例えば、
図3のディスク312b、ディスク「セット2」とも呼ばれる)上で動作するように構成される第2のアクチュエータアセンブリ(例えば、
図2のアクチュエータシステム202b;
図3のアクチュエータ310b、「アクチュエータ2」とも呼ばれる)とを含むマルチアクチュエータシステム(例えば、
図2~3を参照)を備える。
【0053】
ブロック702において、HDDのメモリの第1の論理ユニットに関連付けて、メモリの第1の論理ユニットに対応する繰り返しバックグラウンドプロセスを開始するための第1の要求を受信する。例えば、コントローラ304(
図3)の「内部ホスト」は、マルチアクチュエータHDD(例えば、
図3のDSD302を参照)のLUN0から(すなわち、LUN0に関連付けて)、LUN0及びアクチュエータ1に対応する第1のセットのディスクメディア表面の一部をスキャンするなど、LUN0に対応する第1の物理メモリチャンクに対応するBMS(バックグラウンドメディアスキャン)プロセスを開始するための第1の要求を受信する。例えば、テーブル500の行2(
図5)、状態
図600のライン603-0(
図6)を参照する。そのような要求は、非限定的な例として、ホスト301(
図3)などの外部ホストから受信されてもよいし、コントローラ304内、またはDSD302内から内部的に受信されてもよい。
【0054】
ブロック704において、第1の要求に応答して、メモリの第1の論理ユニットに対応するバックグラウンドプロセスの開始を許可する。例えば、ブロック702での要求に応答して、コントローラ304の内部ホストは、LUN0に対応する第1のメモリチャンクに対応するBMSプロセスの開始を許可し、許容し、允許する。
【0055】
ブロック706において、HDDのメモリの第2の論理ユニットに関連付けて、メモリの第2の論理ユニットに対応する繰り返しバックグラウンドプロセスを開始するための第2の要求を受信する。例えば、コントローラ304(
図3)の「内部ホスト」は、マルチアクチュエータHDD(例えば、
図3のDSD302を参照)のLUN1から(すなわち、LUN1に関連付けて)、LUN1及びアクチュエータ2に対応する第2のセットのディスクメディア表面の一部をスキャンするなど、LUN1に対応する物理メモリチャンクに対応するBMSプロセスを開始するための第2の要求を受信する。例えば、テーブル500の行3、行6、状態
図600のライン603-1を参照する。また、そのような要求は、非限定的な例として、ホスト301などの外部ホストから受信されてもよいし、コントローラ304内、またはDSD302内から内部的に受信されてもよい。
【0056】
ブロック708において、第2の要求に応答して、メモリの第1の論理ユニットに対応するバックグラウンドプロセスが完了していると判定することに応えてのみ、メモリの第2の論理ユニットに対応するバックグラウンドプロセスの開始を許可するか、またはメモリの第1の論理ユニットに対応するバックグラウンドプロセスが完了していないと判定することに応えて、メモリの第2の論理ユニットに対応するバックグラウンドプロセスの開始を許可しない。例えば、LUN0がその第1のチャンクに対するスキャンの完了を報告し(例えば、テーブル500の行4を参照)、したがって完了状態(例えば、状態
図600の状態606を参照)にあると判定することに応答して、第2の要求が応答的に許可、許容、允許される。しかしながら、対照的に、LUN0がその第1のチャンクに対するスキャンの完了を報告しておらず(例えば、テーブル500の行3を参照)、したがって依然として実行中の状態(例えば、状態
図600の状態604を参照)にあると判定することに応答して、第2の要求が応答的に許可、許容、または允許されない。
【0057】
一実施形態によれば、コントローラ304は、メモリの第1の論理ユニットに関連付けて、メモリの第1の論理ユニットに対応するバックグラウンドプロセスが完了しているという通知を受信するようにさらに構成される。例えば、コントローラ304の内部ホストは、LUN0からまたはLUN0に関連付けて(同様に、LUN1からまたはLUN1に関連付けて)第1のチャンクに対する完了イベント(例えば、テーブル500の行4を参照)を受信し、したがって、LUN0を識別するか、またはLUN0を完了状態に移行させるように構成され、有効化される。同様に、コントローラ304内、またはDSD302内からのバックグラウンドプロセスマネージャなどは、LUN0からまたはLUN0に関連付けて(同様に、LUN1からまたはLUN1に関連付けて)そのような完了イベントを報告するように構成され、有効化される。したがって、コントローラ304は、ブロック708において第2の要求に応答する前に、メモリの第1の論理ユニットに対応するバックグラウンドプロセスのステータスを判定し、第1の論理ユニットに対応するバックグラウンドプロセスの状態に基づいて第2の要求を許可または禁止するようにさらに構成される。
【0058】
マルチアクチュエータハードディスクドライブに対応する複数のLUN間のバックグラウンドアクティビティプロセスのコンテキストにおける排他的動作パラダイムの使用は、バックグラウンド動作の排他性に基づいて、関連する電力ピーク(例えば、
図4Aの電力ピーク404を参照)を回避することができ、これにより、バックグラウンド動作は、異なるLUNにわたって同時に実行されることが許可されないように制御及び管理される。すなわち、複数のLUN間でバックグラウンドアクティビティの進行を整列させまたはインターリーブすることを含む、各LUNに対する1つ以上のバックグラウンドアクティビティ、動作、プロセス(例えば、BMS動作)の進行を管理することで、マルチアクチュエータHDDの電力消費を低減することができる。
例示的な動作コンテキストの物理的説明
【0059】
実施形態は、ハードディスクドライブ(HDD)などのデジタルデータ記憶装置(DSD)のコンテキストで使用され得る。したがって、一実施形態によれば、従来のHDD及び同様にマルチアクチュエータHDDが典型的には如何に動作するかを説明するのを助けるために、従来のHDD100を例示する平面図が
図1に示される。
【0060】
図1は、磁気読み取り/書き込みヘッド110aを含むスライダ110bを備えるHDD100の構成要素の機能的配置を示す。スライダ110b及びヘッド110aは、まとめてヘッドスライダと呼ばれ得る。HDD100は、ヘッドスライダと、典型的にはフレキシャを介してヘッドスライダに取り付けられたリードサスペンション110cと、リードサスペンション110cに取り付けられたロードビーム110dとを含む少なくとも1つのヘッドジンバルアセンブリ(HGA)110を備える。HDD100は、スピンドル124に回転可能に搭載された少なくとも1つの記録メディア120(一般的には、複数の記録メディア120)、及びメディア120を回転させるためにスピンドル124に取り付けられた駆動モータ(見えない)も備える。変換器とも呼ばれ得る読み取り/書き込みヘッド110aは、HDD100のメディア120に記憶された情報を書き込むための書き込み素子、及びHDD100のメディア120に記憶された情報を読み取るための読み取り素子を含む。メディア120または複数のディスクメディアは、ディスククランプ128によってスピンドル124に固定され得る。
【0061】
HDD100は、HGA110に取り付けられたアーム132と、キャリッジ134と、キャリッジ134に取り付けられたボイスコイル140を含むアーマチュア136、及びボイスコイル磁石(見えない)を含むステータ144を含むボイスコイルモータ(VCM)と、をさらに備える。VCMのアーマチュア136は、キャリッジ134に取り付けられ、アーム132及びHGA110を移動させてメディア120の一部にアクセスするように構成され、これらはすべて、介在したピボットベアリングアセンブリ152でピボットシャフト148に集合的に搭載される。複数のディスクを有するHDDの場合、キャリッジ134は「Eブロック」またはコームと呼ばれ得るが、これは、キャリッジが、コームの外観を与えるギャングされたアームアレイを持つように配置されるからである。
【0062】
ヘッドスライダが結合されたフレキシャを含むヘッドジンバルアセンブリ(例えば、HGA110)と、フレキシャが結合されたアクチュエータアーム(例えば、アーム132)及び/又はロードビームと、アクチュエータアームが結合されたアクチュエータ(例えば、VCM)とを含むアセンブリは、ヘッドスタックアセンブリ(HSA)と総称され得る。しかしながら、HSAは、記載されているものよりも多くまたは少ない構成要素を含み得る。例えば、HSAは、電気的相互接続構成要素をさらに含むアセンブリを指し得る。一般に、HSAは、読み取り及び書き込み動作のために、ヘッドスライダを移動させてメディア120の一部にアクセスするように構成されるアセンブリである。HSAは、ロード/アンロード(LUL)ランプ190と機械的にインタラクションを行い、読み取り/書き込みヘッドスライダを含むヘッドスタックアセンブリ(HSA)をディスクから離して離脱させ、それらをLULランプの支持構造上に安全に位置決めするように構成される。
【0063】
図1をさらに参照すると、ヘッド110aへの書き込み信号及びヘッド110aからの読み取り信号を含む電気信号(例えば、VCMのボイスコイル140への電流)は、フレキシブルケーブルアセンブリ(FCA)156(または「フレックスケーブル」、または「フレキシブルプリント回路」(FPC))によって送信される。フレックスケーブル156とヘッド110aとの間の相互接続は、読み取り信号のためのオンボードプリアンプと、他の読み取りチャネル及び書き込みチャネル電子部品とを有し得るアームエレクトロニクス(AE)モジュール160を含み得る。AEモジュール160は、示されるように、キャリッジ134に取り付けられ得る。フレックスケーブル156は、電気コネクタブロック164に結合され得、当該電気コネクタブロック164は、いくつかの構成では、HDDハウジング168によって提供される電気フィードスルーを介して電気通信を提供する。HDDハウジング168(または「筐体ベース」または「ベースプレート」、または単に「ベース」)は、HDDカバーと併せて、HDD100の情報記憶構成要素用の半封止された(または、いくつかの構成では、気密封止された)保護筐体を提供する。
【0064】
ディスクコントローラと、デジタル信号プロセッサ(DSP)を含むサーボエレクトロニクスとを含む他の電子部品は、駆動モータ、VCMのボイスコイル140及びHGA110のヘッド110aに電気信号を提供する。駆動モータに提供される電気信号は、駆動モータがスピンすることを可能にして、スピンドル124にトルクを提供し、このトルクが次にスピンドル124に固定されたメディア120に伝達される。その結果、メディア120は方向172にスピンする。スピンするメディア120は、スライダ110bが、情報が記録された薄い磁気記録層と接触することなくメディア120の表面上に浮動するように、スライダ110bの空気ベアリング面(ABS)が乗る空気ベアリングとして機能する空気のクッションを作成する。同様に、空気より軽い気体(例えば、非限定的な例として、ヘリウム)が利用されるHDDにおいて、スピンするメディア120は、スライダ110bが乗る気体または流体ベアリングとして機能する気体のクッションを作成する。
【0065】
VCMのボイスコイル140に提供される電気信号により、HGA110のヘッド110aは、情報が記録されるトラック176にアクセスできるようになる。したがって、VCMのアーマチュア136がアーク180を介して揺れ、これにより、HGA110のヘッド110aがメディア120上の様々なトラックにアクセスできるようになる。情報は、セクタ184などのメディア120上のセクタに配置された、径方向にネストされた複数のトラックにメディア120に記憶される。それに応じて、各トラックは、複数のセクタ化されたトラック部分(または「トラックセクタ」)、例えばセクタ化された部分188で構成される。各セクタ化されたトラック部分188は、記録された情報と、エラー補正コード情報及びトラック176を識別する情報であるサーボバースト信号パターン(例えばABCDサーボバースト信号パターン)を含むヘッダとを含み得る。トラック176にアクセスする際、HGA110のヘッド110aの読み取り素子は、VCMのボイスコイル140に提供される電気信号を制御するサーボエレクトロニクスに位置エラー信号(PES)を提供するサーボバースト信号パターンを読み取り、これにより、ヘッド110aがトラック176に追従することを可能にする。トラック176を見つけ、特定のセクタ化されたトラック部分188を識別すると、ヘッド110aは、外部エージェント、例えば、コンピュータシステムのマイクロプロセッサからディスクコントローラによって受信された命令に応じて、トラック176から情報を読み取るか、またはトラック176に情報を書き込む。
【0066】
HDDの電子アーキテクチャは、ハードディスクコントローラ(「HDC」)、インターフェースコントローラ、アームエレクトロニクスモジュール、データチャネル、モータドライバ、サーボプロセッサ、バッファメモリなど、HDDを動作させるためにそれぞれの機能を実行するための多数の電子部品を含む。このような部品のうちの2つ以上は、「システムオンチップ」(「SOC」)と呼ばれる単一の集積回路基板上で組み合わされ得る。これらの電子部品のうちのいくつか(全てでない場合)は、典型的には、HDDの底部側(例えば、HDDハウジング168)に結合されたプリント回路基板上に配置される。
【0067】
図1を参照して図示及び説明されるHDD100などの本明細書におけるハードディスクドライブへの言及は、時に「ハイブリッドドライブ」と呼ばれる情報記憶装置を包含し得る。ハイブリッドドライブとは、一般に、従来のHDD(例えば、HDD100を参照)と、フラッシュまたはその他の固体(例えば、集積回路)メモリなどの電気的に消去可能でプログラム可能な不揮発性メモリを使用する固体記憶装置(SSD)との両方の機能を併せ持つ記憶装置を指す。異なるタイプの記憶メディアの動作、管理、及び制御が典型的には異なるので、ハイブリッドドライブの固体部分は、それ自身の対応するコントローラ機能を含み得、当該コントローラ機能は、HDD機能と共に単一のコントローラに統合され得る。ハイブリッドドライブは、例えば、非限定的な例として、固体メモリをキャッシュメモリとして使用することによって、頻繁にアクセスされたデータを記憶したり、I/O集約型データを記憶したりするなどために、いくつかの方法で動作し、固体部分を利用するように設計され、構成され得る。さらに、ハイブリッドドライブは、ホスト接続用の1つまたは複数のインターフェースを備えた、単一の筐体内の2つの記憶装置、すなわち、従来のHDD及びSSDとして本質的に設計され、構成され得る。
拡張物及び代替物
【0068】
実施形態、技術、及びアプローチは、本明細書全体にはデュアルアクチュエータシステムのコンテキストで説明されているが、これらの実施形態、技術、及びアプローチは、一般に、マルチアクチュエータシステムに同様に適用され、実装され得ることが考えられており、理解され得る。すなわち、説明された実施形態、技術、及びアプローチが実装され得るマルチアクチュエータシステム内のアクチュエータまたはアクチュエータアセンブリの数は、2つに限定されない。
【0069】
前述の説明では、本発明の実施形態は、実装形態によって異なり得る多数の具体的な詳細を参照して説明されている。したがって、実施形態のより広い精神及び範囲から逸脱することなく、様々な修正及び変更を行うことができる。したがって、本発明が何であるか、出願人が何を本発明として意図しているかについての唯一かつ排他的な指標は、後続のいずれかの修正を含む、請求項が発行される特定の形態で、本出願から発行される請求項のセットである。そのような請求項に含まれる用語について本明細書に明示的に記載される定義は、いずれも請求項で使用されるそのような用語の意味を支配するものとする。したがって、請求項に明示的に記載されていない限定、要素、特性、特徴、利点又は属性は、いかなる方法でも、そのような請求項の範囲を限定してはならない。それに応じて、本明細書及び図面は、限定的な意味ではなく例示的な意味で見なされるべきである。
【0070】
さらに、本明細書では、特定のプロセスステップを特別の順序で記載することができ、特定のステップを識別するためにアルファベット及び英数字ラベルを使用することができる。本明細書に具体的に記載されない限り、実施形態は必ずしもそのようなステップを実行する任意の特別の順序に限定されない。特に、ラベルは、単にステップを便利に識別するために使用されるものであり、そのようなステップを実行する特別の順序を指定または要求することを意図するものではない。
【手続補正書】
【提出日】2024-10-03
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ホストアドレス可能なメモリの第1の論理ユニットに関連付けられ、対応する第1のセットのディスクメディア表面上で動作するように構成される第1のアクチュエータアセンブリと、
ホストアドレス可能なメモリの第2の論理ユニットに関連付けられ、対応する第2のセットのディスクメディア表面上で動作するように構成される第2のアクチュエータアセンブリと、
前記第1のアクチュエータアセンブリ及び前記第2のアクチュエータアセンブリと通信可能に結合された電子コントローラであって、
前記メモリの第1の論理ユニットに関連付けて、前記メモリの第1の論理ユニットに対応する繰り返しバックグラウンドプロセスを開始するための第1の要求を受信し、
前記第1の要求に応答して、前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスの開始を許可し、
前記メモリの第2の論理ユニットに関連付けて、前記メモリの第2の論理ユニットに対応する前記繰り返しバックグラウンドプロセスを開始するための第2の要求を受信し、
前記第2の要求に応答して、前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスが完了していると判定することに応えて、前記メモリの第2の論理ユニットに対応する前記バックグラウンドプロセスの開始を許可するか、または前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスが完了していないと判定することに応えて、前記メモリの第2の論理ユニットに対応する前記バックグラウンドプロセスの開始を許可しないように構成される電子コントローラと、を備える、データ記憶装置。
【請求項2】
前記電子コントローラは、
前記メモリの第1の論理ユニットに関連付けて、前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスが完了しているという通知を受信するようにさらに構成される、請求項1に記載のデータ記憶装置。
【請求項3】
前記電子コントローラは、
前記第2の要求に応答する前に、前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスのステータスを判定するようにさらに構成される、請求項1に記載のデータ記憶装置。
【請求項4】
前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスの開始を許可することは、前記メモリの第1の論理ユニットの第1の部分のみでの前記バックグラウンドプロセスの開始を許可することを含み、
前記電子コントローラは、
前記メモリの第2の論理ユニットに対応する前記バックグラウンドプロセスの開始を許可することに続いて、前記メモリの第1の論理ユニットに関連付けて、前記メモリの第1の論理ユニットの第2の部分に対応する前記バックグラウンドプロセスを再開するための後続の要求を受信し、
前記後続の要求に応答して、前記メモリの第2の論理ユニットに対応する前記バックグラウンドプロセスが完了していると判定することに応えて、前記メモリの第1の論理ユニットの前記第2の部分に対応する前記バックグラウンドプロセスの再開を許可するか、または前記メモリの第2の論理ユニットに対応する前記バックグラウンドプロセスが完了していないと判定することに応えて、前記メモリの第1の論理ユニットの前記第2の部分に対応する前記バックグラウンドプロセスの再開を許可しないようにさらに構成される、請求項1に記載のデータ記憶装置。
【請求項5】
前記メモリの第1の論理ユニットの前記第1の部分及び前記第2の部分の各々は、前記メモリの第1の論理ユニットに対応する物理メモリのそれぞれの固定ブロックである、請求項4に記載のデータ記憶装置。
【請求項6】
前記メモリの第1の論理ユニットに対応する前記繰り返しバックグラウンドプロセスは、前記第1のセットのディスクメディア表面のバックグラウンドメディアスキャンであり、
前記メモリの第2の論理ユニットに対応する前記繰り返しバックグラウンドプロセスは、前記第2のセットのディスクメディア表面のバックグラウンドメディアスキャンである、請求項1に記載のデータ記憶装置。
【請求項7】
マルチアクチュエータハードディスクドライブ用のコントローラ回路であって、1つ以上のプロセッサによって実行されると、
前記マルチアクチュエータハードディスクドライブのメモリの第1の論理ユニットに関連付けて、前記メモリの第1の論理ユニットに対応する繰り返しバックグラウンドプロセスを開始するための第1の要求を受信し、
前記第1の要求に応答して、前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスの開始を許可し、
前記マルチアクチュエータハードディスクドライブのメモリの第2の論理ユニットに関連付けて、前記メモリの第2の論理ユニットに対応する前記繰り返しバックグラウンドプロセスを開始するための第2の要求を受信し、
前記第2の要求に応答して、前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスが完了していると判定することに応えて、前記メモリの第2の論理ユニットに対応する前記バックグラウンドプロセスの開始を許可するか、または前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスが完了していないと判定することに応えて、前記メモリの第2の論理ユニットに対応する前記バックグラウンドプロセスの開始を許可しないパフォーマンスを引き起こす1つ以上の命令シーケンスを記憶またはアクセスする、コントローラ回路。
【請求項8】
前記1つ以上の命令シーケンスは、1つ以上のプロセッサによって実行されると、
前記メモリの第1の論理ユニットに関連付けて、前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスが完了しているという通知を受信する、さらなるパフォーマンスを引き起こす、請求項7に記載のコントローラ回路。
【請求項9】
前記1つ以上の命令シーケンスは、1つ以上のプロセッサによって実行されると、
前記第2の要求に応答する前に、前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスのステータスを判定する、さらなるパフォーマンスを引き起こす、請求項7に記載のコントローラ回路。
【請求項10】
前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスの開始を許可することは、前記メモリの第1の論理ユニットの第1の部分のみでの前記バックグラウンドプロセスの開始を許可することを含み、前記1つ以上の命令シーケンスは、1つ以上のプロセッサによって実行されると、
前記メモリの第2の論理ユニットに対応する前記バックグラウンドプロセスの開始を許可することに続いて、前記メモリの第1の論理ユニットに関連付けて、前記メモリの第1の論理ユニットの第2の部分に対応する前記バックグラウンドプロセスを再開するための後続の要求を受信し、
前記後続の要求に応答して、前記メモリの第2の論理ユニットに対応する前記バックグラウンドプロセスが完了していると判定することに応えて、前記メモリの第1の論理ユニットの前記第2の部分に対応する前記バックグラウンドプロセスの再開を許可するか、または前記メモリの第2の論理ユニットに対応する前記バックグラウンドプロセスが完了していないと判定することに応えて、前記メモリの第1の論理ユニットの前記第2の部分に対応する前記バックグラウンドプロセスの再開を許可しない、さらなるパフォーマンスを引き起こす、請求項7に記載のコントローラ回路。
【請求項11】
前記メモリの第1の論理ユニットの前記第1の部分及び前記第2の部分の各々は、前記メモリの第1の論理ユニットに対応する物理メモリのそれぞれの固定ブロックである、請求項10に記載のコントローラ回路。
【請求項12】
請求項7に記載のコントローラ回路を備えるマルチアクチュエータハードディスクドライブであって、
前記メモリの第1の論理ユニットに対応する前記繰り返しバックグラウンドプロセスは、第1のアクチュエータアセンブリによってサービスされる第1のセットのディスクメディア表面のバックグラウンドメディアスキャンであり、
前記メモリの第2の論理ユニットに対応する前記繰り返しバックグラウンドプロセスは、第2のアクチュエータアセンブリによってサービスされる第2のセットのディスクメディア表面のバックグラウンドメディアスキャンである、マルチアクチュエータハードディスクドライブ。
【請求項13】
ハードディスクドライブのマルチアクチュエータシステムを制御する方法であって、
前記ハードディスクドライブのメモリの第1の論理ユニットに関連付けて、前記メモリの第1の論理ユニットに対応する繰り返しバックグラウンドプロセスを開始するための第1の要求を受信するステップと、
前記第1の要求に応答して、前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスの開始を許可するステップと、
前記ハードディスクドライブのメモリの第2の論理ユニットに関連付けて、前記メモリの第2の論理ユニットに対応する前記繰り返しバックグラウンドプロセスを開始するための第2の要求を受信するステップと、
前記第2の要求に応答して、前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスが完了していると判定することに応えて、前記メモリの第2の論理ユニットに対応する前記バックグラウンドプロセスの開始を許可するか、または前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスが完了していないと判定することに応えて、前記メモリの第2の論理ユニットに対応する前記バックグラウンドプロセスの開始を許可しないステップと、を含む、方法。
【請求項14】
前記メモリの第1の論理ユニットに関連付けて、前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスが完了しているという通知を受信するステップをさらに含む、請求項13に記載の方法。
【請求項15】
前記第2の要求に応答する前に、前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスのステータスを判定するステップをさらに含む、請求項13に記載の方法。
【請求項16】
前記メモリの第1の論理ユニットに対応する前記バックグラウンドプロセスの開始を許可することは、前記メモリの第1の論理ユニットの第1の部分のみでの前記バックグラウンドプロセスの開始を許可することを含み、前記方法は、
前記メモリの第2の論理ユニットに対応する前記バックグラウンドプロセスの開始を許可することに続いて、前記メモリの第1の論理ユニットに関連付けて、前記メモリの第1の論理ユニットの第2の部分に対応する前記バックグラウンドプロセスを再開するための後続の要求を受信するステップと、
前記後続の要求に応答して、前記メモリの第2の論理ユニットに対応する前記バックグラウンドプロセスが完了していると判定することに応えて、前記メモリの第1の論理ユニットの前記第2の部分に対応する前記バックグラウンドプロセスの再開を許可するか、または前記メモリの第2の論理ユニットに対応する前記バックグラウンドプロセスが完了していないと判定することに応えて、前記メモリの第1の論理ユニットの前記第2の部分に対応する前記バックグラウンドプロセスの再開を許可しないステップと、をさらに含む、請求項13に記載の方法。
【請求項17】
前記メモリの第1の論理ユニットの前記第1の部分及び前記第2の部分の各々は、前記メモリの第1の論理ユニットに対応する物理メモリのそれぞれの固定ブロックである、請求項16に記載の方法。
【請求項18】
前記メモリの第1の論理ユニットに対応する前記繰り返しバックグラウンドプロセスは、前記マルチアクチュエータシステムの第1のアクチュエータアセンブリによってサービスされる第1のセットのディスクメディア表面のバックグラウンドメディアスキャンであり、
前記メモリの第2の論理ユニットに対応する前記繰り返しバックグラウンドプロセスは、前記マルチアクチュエータシステムの第2のアクチュエータアセンブリによってサービスされる第2のセットのディスクメディア表面のバックグラウンドメディアスキャンである、請求項13に記載の方法。
【外国語明細書】