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