web-dev-qa-db-ja.com

ディスクセクターとは何ですか?

ハードディスクがどのように動作するか、特にプラッターへのデータの書き込みと読み取りで混乱し始めました。

この記事によると:

http://www.tech-faq.com/how-data-is-stored-in-your-hard-disk.html

ハードディスクは線形パスでデータを書き込みます(私が推測しているように)。もしそうなら、セクターは何のためにありますか?

6
WikiWitz

この記事によると: http://www.tech-faq.com/how-data-is-stored-in-your-hard-disk.html ハードディスクは線形パスでデータを書き込みます(私が推測するように)。

残念ながら、あなたが引用するその記事はあまり良くありません。著者は「線形パス」の概念を使用していますが、ディスクはシーケンシャルアクセスデバイスとは対照的にランダムアクセスデバイスとしても知られています。 )マグテープなど)。 「データは最初の使用可能なスペースに格納される」という「2番目の概念」は、割り当てがOSのファイルシステムによって決定され、奇妙な要因に基づいているため、誤りです(シリンダー境界?)WinXPのデフラグ表現の未使用クラスターの塊によって証明されます。 (そして、ウィキペディアの記事はそれほど良くはありません。不正確で、PC中心です。)

ディスクセクターを使用する理由は次のとおりです。

  • これは、磁気記録の(全体的な)単位です。
  • これは、データアクセスと転送の単位です。
  • これは(基本)割り当て単位です。

磁気記録

磁気媒体でデータを読み書きするには、媒体を移動し、消去および書き込みヘッドをオンまたはオフにして既存のデータから離す必要があります。したがって、各トラックのレイアウト(またはフォーマット)を維持するために、ディスクデータは常にセクター(より正確にはデータレコード)の単位で読み書きされます。

より完全な説明は私の答えです: 上書きされた後にハードドライブ上の前のバイト位置を検出することは可能ですか?

要点は、ディスクへのデータの書き込みは、ドライブにすでに存在する既存のデータのグリッチ(消去および書き込みヘッドをオンにする場合)を回避する必要があるということです。ディスク上のデータはレコードにグループ化されます。 レコードの間の領域は、レコード間ギャップ、または単にギャップと呼ばれます。そのギャップ内には、書き込みスプライスと呼ばれる特別な領域があります。消去および書き込みヘッドは、これらの書き込みスプライス領域内でのみオンまたはオフにする必要があります。これにより、既存の記録データ(各レコードの直前と直後のギャップデータを含む)が損傷することはありません。 )。注:ハードドライブを(物理的に)フォーマットするプロセスは、アドレスマークIDレコード、(空白)を書き込むプロセスです。 )データレコードおよびHDDのすべてのトラックの各セクターに必要なすべてのギャップ。セクターが「書き込まれる」と、セクターのデータレコード(およびその先頭と末尾のギャップ)のみが書き換えられます。 アドレスマークおよびIDレコードは、フォーマット後に書き換えられることはありません。

データアクセスと転送

ディスクドライブは「ランダムアクセス」デバイスです。つまり、各セクターはアドレス可能であり、セクターは任意の順序で読み取りおよび書き込みが可能です。セクターへのアクセスはランダムにすることができますが、セクター内のバイトは順番に並べられていることに注意してください。比較すると、シーケンシャルアクセスデバイス(磁気テープなど)は、要求されたレコードにアクセスする前に、メディアの先頭から先行するすべてのレコードを処理する必要がある場合があります。

完全な「セクター」は常にディスクとの間で読み取りまたは書き込みを行う必要があるため、ホストとドライブ間のインターフェイスも同じ数のデータバイトを転送するのは当然のことです。転送用のセクターに相当するデータに対応するには、ドライブインターフェイスの両側にバッファが存在する必要があります。ディスクバッファ用に確保する(ホスト)メインメモリの量と、それらのバッファでI/Oを実行する時間は、どちらも(負の)大きなセクターサイズの影響を受けます。

割り当て

ファイルシステムは、使用可能(または未使用)と割り当て済み(ファイルへ)の割り当て単位を定義します。セクターサイズはアクセスと物理I/Oの基本単位であるため、このアロケーションユニットは常にいくつかのセクターに基づいています。割り当てサイズが小さい(1セクターなど)と、ファイルシステム(およびディスク)のパフォーマンスに悪影響が及ぶ傾向があります(正ではなく、つまり、無駄なスラックスペースが少ない)より大きな割り当てテーブル、より多くの簿記。セクターサイズが小さいと、セクターのアドレス指定と合計ディスク容量が制約される可能性があるため、より大きな4KBセクターに移行します。

ディスクドライブとディスクコントローラーは、必ずしも固定サイズのセクターを課すわけではないことに注意してください。たとえば、ストレージモジュールドライブ、SMD(コントローラーファームウェアを作成した)には、各トラックに異なるサイズの「セクター」を含む、任意のサイズの「セクター」を含めることができます。もちろん、ファイルシステムは、サイズがどこにあるかを追跡するのが難しい場合があります。したがって、ドライブ全体に1つのサイズのセクターを使用するという極端な単純化。 IBM for the PCはそれをさらに一歩進め、512バイトのセクターのみをサポートしました(4KBセクターで光メディアが登場するまで)。 IBM PCより前は、セクターサイズ128、256、1024バイトおよび512バイトが使用されていました(特に、ソフトセクターを含む多くのハードディスクの概念を再利用したフロッピーの場合)。磁気メディアのデータ容量はトラックフォーマット(セクターサイズを含む)に依存し、それはOSとファイルシステムに依存するため、磁気メディア(つまりハードディスクとフロッピーディスク)は(ずっと前に)フォーマットされていないものを宣伝していました容量(10進数ベースの「MB」および「GB」とともに)。 PCが512バイトセクターを標準サイズにしたため、HDDはソフトセクター化をサポートしなくなり、「フォーマットされていない容量」は無意味な数になります。

9
sawdust

セクターは、特定のディスクの物理的特性からI/Oに依存しません。各トラックを固定サイズのセクターに分割することにより、ディスクI/Oは、各トラックに収まるセクターの数や、トラックごとにセクター数が異なるかどうかに関係なく実行できます。

0
David Schwartz

コンピュータハードウェアのコンテキストでは、セクターは磁気ハードディスクまたは光ディスクのトラックの下位区分です。セクターは一定量のデータを格納します。セクターの一般的なフォーマットでは、512バイト(例:ハードディスクとディスケット)または2048バイト(例:光ディスク)のデータを保持できます。

0
Elpin Permana