説明

ハードドライブ上の重複データ

データの複製コピーは、ディスク・ドライブの同一トラック上の異なるセクタに格納される。データを読み取るとき、データは、読取りヘッドの下を最先に通過するセクタから読み取られ、それによって、データ・アクセス遅延を短縮することができる。いくつかの実施例では、複製セクタは、トラック上に等間隔で配置される。いくつかの実施例では、ディスク・ドライブの回転速度は、電力を節約するために低減されるが、通常、低減された回転速度によって生成されるデータ遅延の増加は、異なるセクタ内でデータの複数のコピーを使用することによって生成されるデータ遅延の低減によって、少なくとも部分的に相殺される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ハードディスク上に重複したデータを格納する技術に関する。
【背景技術】
【0002】
現在、ハードディスク・ドライブは、回転中のベアリング摩擦を克服するだけでも、多くの電力を消費する。ドライブの回転が高速になればなるほど、より多くの電力が消費されるが、ターゲット・セクタが読取りヘッドにより速く到達するので、平均データ・アクセス遅延(レイテンシ)は減少する。反対に、ドライブをより遅く回転させると、電力消費はより少なくなるが、データ・アクセス遅延は増加する。システム設計者は比較考量を行って、より少ない電力消費量か、またはより速いデータ・アクセスか、いずれの望ましい品質を犠牲にすべきかを決定しなければならない。
【図面の簡単な説明】
【0003】
本発明のいくつかの実施例は、以下の記述および本発明の実施例を示すために用いられる添付図面を参照することにより、よりよく理解されるであろう。
【図1】本発明の実施例に従った、ディスクベースのデータ保存システムを示す。
【図2】本発明の実施例に従った、複数のセクタ内の複製データを読み取りかつ書き込む方法のフローチャートである。
【発明を実施するための形態】
【0004】
以下の記述では、多くの特定の詳細事項について述べられる。しかしながら、これらの特定の詳細事項がなくても本発明の実施例が実行可能であることは理解される。例えば、周知の回路、構造、および技術は、この記述についての理解を不明瞭にしないために詳細には示されない。
【0005】
「一実施例」、「ある実施例」、「実施例」、「様々な実施例」などに関し、そのように記述された本発明の実施例は、特定な特徴、構造、または特性を含む場合があるが、必ずしも全ての実施例がその特定の特徴、構造、または特性を含むとは限らない。さらに、いくつかの実施例は、他の実施例について記述された特徴のうちのいくつかまたは全てを有する場合もあり、有しない場合もある。
【0006】
以下の記述および請求項において、「結合された」および「接続された」という用語が、それらの派生語と共に使用される場合がある。これらの用語は、互いに同義語であると解釈すべきではない。むしろ、特定の実施例では、「接続された」は、2またはそれ以上の要素が相互に直接に物理的または電気的に接触していることを示すために使用される。「結合された」は、2またはそれ以上の要素が相互に協働または相互作用を及ぼすことを示すために使用されるが、それらは直接に物理的または電気的に接触している場合もあり、そうでない場合もある。
【0007】
本請求項において使用されるように、順序を表す形容詞「第1」、「第2」、「第3」などは共通の要素を記述するために使用する場合があるが、別段の定めがない限り、これは単に類似の要素について異なる例を引用していることを示すものであり、そのように記述された要素が、時間的、空間的、ランキング、または他の手法のいずれかにおいて、所定の順序でなければならないことを意味するものではない。
【0008】
本発明の様々な実施例は、ハードウェア、ファームウェア、およびソフトウェアの1つ、またはそれらの任意の組合せにおいて実行することができる。さらに、本発明は、機械読取り可能な媒体内、またはその機械読取り可能な媒体上に格納された命令として実行することができ、ここに記述された動作の性能を可能にするために、1またはそれ以上のプロセッサによって読み取られ、実行される。機械読取り可能な媒体は、機械(例えばコンピュータ)によって読取り可能な形式で情報を格納し、送信し、または受信するためのあらゆるメカニズムを含む。例えば、機械読取り可能な媒体は、リード・オンリ・メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、磁気ディスク記憶媒体、光記憶媒体、フラッシュ・メモリ装置などの有形の記憶媒体を含むが、これらに制限されない。機械読取り可能な媒体は、さらに、命令を符号化するために変調された電磁的、光学的、音響的な搬送波信号を含むが、これらに制限されない。
【0009】
本発明の様々な実施例では、同一データは、ディスク・ドライブの同一トラック上の複数のセクタに格納される。データが読み取られるとき、ディスク・ヘッドが最初に通過したセクタが、読み取られるセクタになる。この方法によると、2またはそれ以上の要因によって平均アクセス遅延を低減することができる。また、ディスク・ドライブの回転速度は、電力を節約するために低減されるが、複製(duplicate)セクタによって、高速回転する複製セクタを有しないディスクのアクセス待ち時間以上にアクセス待ち時間が増加することを防止できる。いくつかの実施例では、複製セクタは、トラック上に等間隔で配置される(例えば、2つの重複(redundant)セクタが対称の位置に配置される、また、3つの重複セクタが約120度の間隔で配置される等)。
【0010】
図1は本発明の実施例に従ったシステムを示す。図1の実施例において、システム100はプロセッサ130を含み、プロセッサ130はディスク・コントローラ120に結合され、さらに、ディスク・コントローラ120はディスク・ドライブ110に結合される。ここに示された特定の例では、ソフトウェア135によって制御されるプロセッサの動作、およびファームウェア125によって制御されるディスク・コントローラの動作が示されるが、他の実施例では異なる技術を用いてもよい。例えば、ディスク・コントローラは、(1)その機能を実行するためのハードワイヤードでもよく、(2)ステート・マシンによって制御されてもよく、(3)システム・プロセッサによってその動作の大部分が制御されてもよく、(4)ドライバまたはアプリケーション層でオペレーティング・システムによって制御されてもよく、(5)これらの技術の組合せを用いてもよく、(6)その他の技術を用いてもよい。
【0011】
ディスク・ドライブ110の概念図は、プラッタ112、プラッタ112の磁気表面にデータを読み書きするための読取り/書込みヘッド・アセンブリ115、および、ヘッド位置決め機構114を示す。ヘッド位置決め機構114は、ヘッド115をプラッタ112の中心からの正確な距離へ移動させることによって、ヘッド115を特定のトラックへ移動させることができる。図1は、さらに、放射状に8個のセクタに分割され、かつ、同心円状に5本のトラックに分割されたプラッタ112を示す。トラックおよびセクタは、物理的な形状ではなく、データ・ストレージとして指定されるプラッタの表面の領域である。プラッタが一回転すると、一本のトラックの8個のセクタの全てが読取り/書込みヘッド115の下を通過し、それによって、ヘッドは、トラックの経路に沿ってデータを読み書きすることができる。ヘッド位置決め機構は、異なるトラック上でヘッドの位置決めをするために移動する。特定のトラックおよび特定のセクタを識別することによって、ヘッドの位置決めとプラッタの回転との組合せによって、データを、指定されたトラックおよびセクタで読み取りまたは書き込むことが可能になる。例えば、図1は、ヘッド115が、現在、セクタ7上のトラック2に位置することを示す。
【0012】
実施例を単純かつ明瞭にするために、図1では単に5本のトラックおよび8個のセクタを示すが、他の実施例では、実現可能なあらゆる数のトラックおよびセクタ(例えば、何百本のトラック、何十個のセクタなど)を有してもよい。いくつかの実施例では、トラックおよび/またはセクタの数は、コントローラ120によって指定され、次に、表面上にフォーマット・データを書き込み、かつ、コントローラ内にフォーマット情報を格納することによって、然るべくプラッタの表面をフォーマットすることができる。
【0013】
従来のシステムでは、定義された量のデータは、単一のトラック上の単一のセクタに書き込まれ、それが、様々な要因、例えば、どのトラック/セクタがまだ有効なデータを収容していないかどうか、すなわちストレージが利用可能かどうかというような要因(ただし、それに制限されない)に基づいて選択される。格納されたデータは、後に同一のセクタ/トラックから読み取られる。どのデータがどのセクタ/トラックに格納されているかについてのリストは、ディスク・ドライブからデータを見つけて検索するという目的のために保持される。データは様々な目的(例えば、バックアップ用、スクラッチ・パッド・データとして、異なるプログラムによる使用/修正用など)のために、時には重複して格納されるが、この重複データのためのセクタ/トラックのロケーションは、一般に、どのストレージ・スペースが使用可能であるかに基づいて選択される。従来のシステムでは、オリジナル・データが格納される物理的なロケーションと、重複データが格納される物理的なロケーションとの間に相関性はなく、データの異なるコピーは、アプリケーション・プログラムによって個別のデータセットであると認識される。
【0014】
しかしながら、本発明の様々な実施例では、複製データは、読取りアクセス時間を改善する目的のために、同一トラックの複数のセクタに格納される。例えば、図1のセクタ/トラックにおいて、データがセクタ4のトラック1に格納されたとすると、同一データは、プラッタの対称位置であるセクタ8のトラック1に格納される。このデータを使用するアプリケーション・プログラムは、そのデータの別個のコピーが存在することを認識しておらず、単一の既知のロケーションからのデータを単に要求するだけである。一旦データが要求されると、ディスク・コントローラは、読取りヘッドを適切なトラックへ移動させ、そのトラックのどのセクタが読取りヘッドの下を最初に通過するかを決定し、そのセクタからデータを読み取るので、その結果、従来のシステムよりも速い平均データ・アクセス時間を提供することができる。2つのコピーは別個のデータセットであるとみさなれないので、一方のコピーのデータが修正された場合は、他方のコピーのデータも必ず同じ方法で修正され、その結果、それらは依然として同一データの同一コピーであるということができる。
【0015】
前述の例は、データの2つのコピーについての記述であるが、他の実施例は、異なるセクタ内の3つ、4つ、またはそれ以上コピーを提供する。いくつかの実施例では、複製セクタは、トラック上に等間隔で配置される。各トラックのセクタの数を等間隔にできない場合は、等間隔に最も近い近似が用いられる(例えば、1トラックに16個のセクタがあり、3つの複製セクタが使用される場合は、5セクタ、5セクタ、6セクタという間隔が選択される)。他の例では、2個の選択されたセクタのうちの1個は、その中に既に有効なデータを有しているために書込みができないが、隣接するセクタは書込み可能であることがある。そのような状況では、いくつかの実施例は、書込みのために隣接するセクタを選択する。複製セクタはもはや等間隔にはならないが、それでも等間隔に十分に近いので、なおも平均アクセス時間に関する利点を提供することができる。
【0016】
図2は、本発明の実施例に従って、複数のセクタ内に複製データを読み書きする方法のフローチャートを示す。フローチャート200において、同一のデータは、動作210−230で複数のセクタに書き込まれ、その後そのデータは、動作240−280で、これらのセクタの1つから読み取られる。
【0017】
210で、ディスク・コントローラが要求を受け取り、ディスク・プラッタ上にそのデータのセクタを書き込むことによって、ディスク・ドライブ上にデータが格納される。220で、新しいデータを書き込むために使用可能であり、かつ許容できる間隔(例えば、トラックの対称位置の2個のセクタ)でトラック上に一定間隔で配置された複数のセクタが見出される。230で、同一データが、これらの複数のセクタの各々に書き込まれる。
【0018】
その後、アプリケーション・プログラムが格納されたデータを読み取りたいとき、240で、データ読取り要求が受け取られる。250で、そのデータの複製コピーを収容する2個(またはそれ以上)のセクタが識別され、次に260で、読取りヘッドが、それらのセクタを収容するトラックへ移動する。270で、それらの複数のセクタのいずれが最先に読み取られるべきか(例えば、どのセクタが最初に読取りヘッドの下を通過すべきか)が決定される。多くのディスク・ドライブは、少なくとも合理的な正確さで、どのセクタが現在読取りヘッドの下にあるかを識別することができるので、この情報について決定するのは簡単である。280で、データは、270で最初に使用可能であると識別されたセクタから読み取られる。
【0019】
別の読取りプロセスでは、複製データを収容するセクタが識別された後、ディスク・コントローラは、いずれが最先に使用可能であるかの決定を試みることなく、両方のセクタから読取り動作を開始する。読み取られた最初のセクタが、直ちにデータを提供する。他のセクタも続いて読み取られるが、そのデータはもはや必要ないので無視される。いくつかの実施例では、システムは、複製セクタの各々から読み取ってもよく、1個のセクタのデータが破損された場合には、エラーを検出し、修正することができる。
【0020】
本記述は、一般に、1個のセクタ分のデータを読み取りおよび/または書き込むことに関して記述するが、データが、データ・ストレージの複数のセクタが必要なほど大きい場合がある。そのような場合は、トラック上の複数のロケーションの各々にデータを格納するために、連続したセクタが見出される(例えば、2個のセクタ分のデータは、トラック上のセクタ2およびセクタ3に格納され、また、そのデータの重複セットは、トラックの対称位置のセクタ6およびセクタ7に格納される)。
【0021】
他の実施例では、情報がデージーチェーンで相互に接続されていることにより、複数の関連するセクタが分散している(例えば、第1セクタの情報は、トラック2のセクタ4および8に書き込まれ、第2セクタの情報は、トラック3のセクタ1および5に書き込まれている)場合、次に、第1セクタのコピーの各々は、それを第2セクタのコピーのどちらかにリンクさせるための情報を有する(同じ例を用いて、トラック2のセクタ4は、トラック3のセクタ1および5の両方にリンクされ、また、トラック2のセクタ8は、トラック3のセクタ1および5の両方にリンクされる)。
【0022】
さらに他の実施例では、各セクタの情報の1つのコピーだけが指定され、従来の手法で次のセクタにリンクされるが、すべての指定されたセクタは同一トラックの対称位置のセクタ(または、一定のセクタ間隔が使用されているものはすべて)内に複製コピーを有すると仮定される。
【0023】
以上では、単一のディスク・プラッタの片面についてのみ記述したが、いくつかの実施例では、プラッタの両面にデータを格納する場合もあり、および/または、複数のプラッタのそれぞれが、それ自体の読取り/書込みヘッドを有する場合もある。上述の原理は、これらのプラッタ、面、および読取り/書込みヘッドのそれぞれに適用することができる。いくつかの実施例では、データの複製コピーを収容するセクタは、異なるプラッタまたは面に配置してもよい。例えば、データのコピーの1つは、プラッタ2の第1面のトラック1のセクタ3に位置し、一方、データの重複コピーは、プラッタ3の第2面のトラック2のセクタ7に位置する。異なるプラッタ/面のための読取りヘッドは、それらのすべてが同一セクタ上に同時に位置するように搭載されている場合は、単一のプラッタの単一の面について記述されたのと同じ一般的なプロセスを使用することができる。
【0024】
ここに記述された技術からは、データを読み取るためのより速い平均アクセス時間を達成できるという利点に加えて、様々な他の利点を得ることができる。例えば、ディスク・プラッタの回転速度が遅くなっても、従来のディスク・システムよりも平均アクセス時間が早くなるので、ディスク回転モータによる電力消費量が低減する。あるいは、より遅い回転速度とより速いアクセス時間との組合せが、それらの2つを比較考量することによって得られる。
【0025】
以上の記述は例示であり、制限を目的するものではない。当業者であれば、多くのバリエーションを想起するであろう。それらのバリエーションは、本発明の様々な実施例に含まれると解釈すべきである。それらは、以下の請求項の精神および範囲によってのみ制限される。

【特許請求の範囲】
【請求項1】
ディスク・ドライブの同一トラック上の複数のセクタの各々に同一データを書き込むことによって書込み動作を実行し、
前記複数のセクタのうちの最先に読取り可能なセクタから前記データを読み取ることによって読取り動作を実行する、
ために形成されたディスク・ドライブ・コントローラを含むことを特徴とする機器。
【請求項2】
前記複数のセクタは、前記トラック上にほぼ等間隔に配置されることを特徴とする請求項1記載の機器。
【請求項3】
前記複数のセクタは、3個のセクタから成ることを特徴とする請求項1記載の機器。
【請求項4】
前記複数のセクタは、互いが前記ディスク・ドライブ上の対称位置にある2個のセクタから成ることを特徴とする請求項1記載の機器。
【請求項5】
前記読取り動作を実行する段階は、
前記複数セクタのうち、いずれのセクタが最先に読取り可能かを決定する段階と、
最先に読取り可能であると決定された前記複数のセクタの1つから、前記データを読み取る段階と、
から成ることを特徴とする請求項1記載の機器。
【請求項6】
前記ディスク・ドライブ・コントローラに結合された前記ディスク・ドライブをさらに含むことを特徴とする請求項1記載の機器。
【請求項7】
前記ディスク・ドライブの回転速度が低減され、
前記低減された回転速度に起因するデータ遅延の増加は、少なくとも、前記データを前記複数のセクタから使用可能にすることに起因するデータ遅延の減少によって相殺されることを特徴とする請求項1記載の機器。
【請求項8】
ディスク・ドライブにデータを書き込むための要求を受け取る段階と、
書込みのために使用可能であり、かつ、同一トラック上にほぼ等間隔で配置された、前記同一トラック上の複数のセクタを決定する段階と、
前記複数のセクタの各々に前記データを書き込む段階と、
から成ることを特徴とする方法。
【請求項9】
前記ディスク・ドライブに書き込まれた前記データを読み取るための要求を受け取る段階と、
前記複数のセクタのうちの1セクタから、最先に読取り可能な前記データを読み取る段階と、
をさらに含むことを特徴とする請求項8記載。
【請求項10】
前記データを読み取る段階は、
前記複数のセクタのいずれのセクタが最先に読取り可能かを決定する段階と、
最先に読取り可能であると決定された前記セクタから読取り動作を実行する段階と、
を含むことを特徴とする請求項9記載の方法。
【請求項11】
前記ディスク・ドライブに書き込まれた前記データを読み取るための要求を受け取る段階と、
前記データがいずれのセクタに書き込まれたかを決定する段階と、
書き込まれた前記セクタのすべてに読取り動作を指定する段階と、
最先に読み取られた前記セクタから前記データを使用する段階と、
をさらに含むことを特徴とする請求項8記載の方法。
【請求項12】
命令を含む有形の機械読取り可能な媒体を含み、それが1またはそれ以上のプロセッサによって実行されたとき、
ディスク・ドライブにデータを書き込むための要求を受け取り、
書込みに使用することができ、かつ、同一トラックの上にほぼ等間隔で配置された、前記ディスク・ドライブの前記同一トラック上の複数のセクタを決定する、
ことを含む動作を実行することを特徴とする物品。
【請求項13】
命令を含む有形の機械読取り可能な媒体を含み、それが1またはそれ以上のプロセッサによって実行されたとき、
ディスク・ドライブからデータを読み取るための要求を受け取り、前記ディスク・ドライブの同一トラックの複数のセクタ上に前記データの複数のコピーが格納され、
前記ディスク・ドライブから前記データを読み取る、
ことを含む動作を実行することを特徴とする物品。
【請求項14】
前記ディスク・ドライブからの前記データの読取りに先立って、いずれのセクタに前記データが格納されているのかを決定し、
前記ディスク・ドライブからの前記データの読取りに先立って、前記データが格納されている前記セクタのいずれの特定のセクタが最先に読取り可能であるかを決定し、
前記特定のセクタに読取り動作を開始する、
動作をさらに含むことを特徴とする請求項13記載の物品。
【請求項15】
前記ディスク・ドライブからの前記読取りに先立って、前記データが格納された前記複数のセクタの少なくとも1つを決定し、
前記複数のセクタの少なくとも1つに読取り動作を開始し、
最先に読み取ることができた前記複数のセクタの1つから前記データを受け取り、
前記特定のセクタからの前記データを使用する、
ことを含む動作をさらに含むことを特徴とする請求項13記載の物品。

【図1】
image rotate

【図2】
image rotate


【公表番号】特表2010−536116(P2010−536116A)
【公表日】平成22年11月25日(2010.11.25)
【国際特許分類】
【出願番号】特願2010−520237(P2010−520237)
【出願日】平成20年8月4日(2008.8.4)
【国際出願番号】PCT/US2008/072065
【国際公開番号】WO2009/020896
【国際公開日】平成21年2月12日(2009.2.12)
【出願人】(591003943)インテル・コーポレーション (1,101)
【Fターム(参考)】