ハードドライブの秘密

私たちは皆、ハードドライブに精通しています。ハードドライブには多くの学習資料が保存されており、アクセス速度が遅いため、多くの記事に「ホイップ」されることがよくあります。

画像

ウェブサイトを見つけました(記事の最後にあるリンク)。このウェブサイトは、1990年から2020年までのさまざまなメディアデータアクセスの遅延時間を示しています。

メディア自体の速度は変わらず、メモリアクセスの待ち時間は207nsから100ns、ハードディスクは19msから2msでしたが、メディア間のアクセス速度はさらに数桁劣っていました。

ただし、上で丸で囲んだのはランダムアクセスであり、シーケンシャルアクセスはそれほど悪くはありません。理由を知りたい場合は、ハードディスクの構造を理解する必要があります。

もちろん、私が今日言及したハードドライブは機械式ハードドライブを指し、ソリッドステートドライブはこの記事ではカバーされていません。

この記事を書く理由は、私が常に線路、シリンダー、セクター、および次のような他のものについて疑問を持っていたからです。

  • なぜシリンダーのコンセプトを思いついたのですか?

  • トラックはどこを意味しますか?

  • セクターは均等に分割されていますか?

  • .....等々

それでは、今日を詳しく見てみましょう。私の習慣によれば、最初に歴史を簡単に見てみましょう。

ハードドライブの簡単な歴史

1956年9月14日、世界初のディスクストレージデバイスであるIBM 305 RAMACが誕生しました。このデバイスは、ディスクを使用してデータを保存し、磁気ヘッドを使用してデータを読み書きします。ただし、当時の技術により、このボリュームは確かに少し大きいです。2台の冷蔵庫はとても大きいので、下の写真を見てください。

画像

途中で歴史を見てみましたが、役に立ちませんでした。IBMがコードネーム「ウィンチェスター」のハードドライブを発表した1973年に早送りしましょう。

この種のハードディスクの特徴は、磁気ヘッドと磁気ディスクが限られたスペースに設置されていることです。磁気ディスクが高速で自動送信されると、空力によって磁気ヘッドが停止し、次に磁気ヘッドが停止します。アームは磁気ヘッドを操作して、ディスクに沿って弧を描いて移動します。

これが現在のメカニカルハードドライブの動作方法です。何年も経った今でも、ウォームディスクとしても知られる典型的な「ウィンチェスター」構造を備えています。

このコードネームが選ばれた理由は、当時研究されていたハードディスクに30MBのストレージユニットが2つあり、「ウィンチェスターライフル」の口径とチャージも正確に30だったため、コードネームは「ウォーム」でした。カット "。スター"。

このステップはほとんど同じであることがわかっている歴史です。ハードドライブの内部構造を見てみましょう。

ハードディスクの構造

まず、ハードディスクの実際の外観を見てみましょう。いくつかの重要な部分にマークを付けます。

画像

ハードドライブがどのように機能するかを簡単に説明します。

電源を入れると、スピンドルがディスクを駆動して回転を開始します。一定の速度に達すると、ヘッドがディスクの上に浮き、ヘッドアームがヘッドを制御して円弧状に移動することができます。ディスクの回転とヘッドの動きを介してディスクにアクセスします。チップ上の任意の場所のデータ。

ここの何人かの人々は質問があるかもしれません、なぜ頭が浮くべきですか?

まず、ヘッドとディスクが接触すると摩擦が発生しますが、長時間の摩擦で摩耗が発生しますが、摩耗後はデータが消えますか?

第二に、摩擦があると、速度は確実に遅くなり、ディスクのアクセス速度も遅くなります。

そのため、浮揚は非常に重要であり、頭の浮揚の高さは髪の毛よりも薄く、約0.1ミクロンです。ほこりが入ると、頭とディスクが摩耗する可能性があるため、ハードディスクを使用する必要があります。封印されます。

ディスクが最初に起動したとき、ヘッドはディスクと接触していませんでしたか?

はい、あなたは正しいので、人々は、上の写真に描かれている場所である頭の停止点である方法を考えました。

電源を入れると、一定の速度に達するまでヘッドがプラッターに移動しません。電源を切ると、コンデンサの残りの電力でヘッドがドックに移動し、摩耗しなくなります。あなたがそれを始めるたびに出てください!

ドッキングのもう1つの方法は、ディスクの内側の円にデータが保存されない場所を作成することです。材料が異なり、ヘッドが特別にドッキングされます。

画像

公式アカウントにビデオを挿入するために、Tencent Videoにもビデオをアップロードしました。ビデオはウィキペディアのハードドライブから実行されます。このビデオハードドライブのドッキングは、2番目の方法である必要があります。

このビデオを見て

 

ハードドライブがどのように機能するかを大まかに理解した後、さらに詳しく見ていきましょう。

もともと自分で絵を描きたかったのですが、個人的な絵のレベルが限られていて、とてもいいです…だから引っ越してきました、ははは。

最初に次のボードを見てみましょう。

画像

Aは磁気トラックです。ディスク表面は磁気トラックなどの同心円のグループで構成されています。赤でマークされた部分は断面のリングであることに注意してください。一部の参考書は線上にマークされています...

Bはセクター、Cはセクターです。各トラックはセクターのセットに分割されます。各セクターには、データのハードディスクストレージの最も基本的な単位である同数のデータビット(通常は512バイト)が含まれます。

Dは、複数のセクターで構成されるクラスターです。たとえば、DOSはクラスター内のファイルにディスク領域を割り当てます。

図から、セクターは連続しているように見えますが、実際にはセクター間にギャップがあります。これらのギャップは、セクターのフォーマットビットを識別するために使用され、データを格納しません。

画像

これを見て少し混乱しているかどうかはわかりません。各セクターには等しいデータビットが含まれています。明らかに円の中心に近い同心円セクターは、最も外側のセクターよりもはるかに小さいデータを持っているようです。それは外側のセクターですか?データビットは最も内側のセクターに対応する必要がありますか?

画像

はい、そうです。各トラックのセクター数を同じにするために、外側のトラックのセクター間の間隔は非常に大きくなりますが、前のハードディスクのデータストレージ密度は非常に低いため、許容範囲内です。

ハードディスクのストレージ密度が高くなると、無駄が大きくなるため、zoned-bit recording 内側のトラックよりも外側のトラックに多くのセクターを配置する 技術が開発されました。この写真を見て理解してください。

画像

実装方法については詳しく説明しませんが、問題ではありません。

重要なことは明確にすることです。すべてのトラックのセクター数が最も内側の円のセクター数に応じて厳密に決定されるのは、一部の本のようではありません。

ハードディスクは通常、1つ以上のディスクで構成されます。

たとえば、下の図には3つのディスクがあり、各ディスクには6つの磁気ヘッドに対応する2つの上下のディスク表面があります。

画像

頭の数は上から下に0から数え始め、頭の腕が頭を導いて円弧を動かします。各ディスクのトラックも0からカウントを開始します。同じ番号のトラックで構成される領域はシリンダーと呼ばれ、想像力を駆使して取得できるはずです。役立つ写真を投稿します。

画像

なぜシリンダーという用語があるのですか?

複数の磁気ヘッドは実際には同じ磁気ヘッドアームに依存して移動するため、それらはすべてある角度で一緒に回転します。

したがって、データをすばやく読み取る必要がある場合は、データを均一なシリンダーに順番に保存する必要があります。

たとえば、一番上のディスクの最初のトラックに書き込めない場合は、背面の2番目のディスクに書き込みを続けると、ヘッドアームは1回だけシークする必要があり、データを読み取るときに1回だけシークする必要があります。

ここから、ハードディスクにプラッターが多いほど高速になることもわかります。

ハードディスクアクセス時間

上記のことから、ハードディスクはセクターに基づいていることがすでにわかっているので、ハードディスクへのアクセスは対応するセクターを見つけることです。

ディスクの表面は磁性を帯びています。ディスクはメインシャフトの回転に伴って回転します。セクターにアクセスする場合は、最初にヘッドアームを回転させて、対応するトラックを見つける必要があります。これをシーク時間と呼びます。

このとき、ディスクはまだ回転しており、ヘッドは下のデータビットの値を認識でき、ターゲットセクターに回転すると、データの読み取り/書き込みの時間であることがわかります。この時間は、回転時間。

したがって、ハードドライブを購入すると、7200RPM、15000RPMなどが表示されます。回転が速いほど、ディスクがセクターを見つけるのにかかる時間が短くなります。

最後は、読み取ったデータの転送時間です。

したがって、ハードディスクのデータアクセス遅延はこれらの3回の合計であり、最も遅いのはシーク時間です。CSAPPによって提供されるデータを示します。

合計遅延=シーク時間+回転時間+送信時間= 9ms + 4ms + 0.02ms = 13.02ms

もちろん、異なるハードディスクの合計遅延は明らかに異なります。とにかく、シーク時間が最も遅いことを知っておいてください。

論理ディスクブロック

上記の物理的構造から、ディスク表面を見つけ、次にトラックを見つけ、最後にデータを読み取るセクターを見つける必要があることがすでにわかっていますが、これは少し複雑です。

このような不適切なアクセスジェスチャをオペレーティングシステムに公開する必要はないため、論理ディスクブロックを作成して、基になるアクセスの詳細を保護し、特定の物理に対応する0、1、2、... nなどの論理ブロックシーケンスを提供します。ブロック。

このように、オペレーティングシステムはディスクに非常に快適にアクセスできますが、最終的には対応するセクターを見つける必要があり、ディスクコントローラーは論理ブロックと実際の物理セクターの間のマッピング関係を維持します。

ディスクコントローラーは、ハードディスク内のハードウェアの一部であり、論理ブロックをディスクサーフェス、トラック、およびセクターのトリプルに変換します。

これまでのところ、通常、ハードディスクの論理ブロックと物理アクセスについて説明します。

やっと

普通のプログラマーとして、ハードディスクの理解はほぼ同じだと感じており、知っておくべきことはすべて知っています。

指摘された誤りがあれば、訂正してください!

 

巨人の肩の上

https://colin-scott.github.io/personal_website/research/interactive_latency.html(中程度の遅延のあるWebサイト)

https://en.wikipedia.org/wiki/Zone_bit_recording

https://en.wikipedia.org/wiki/Hard_disk_drive

https://zh.wikipedia.org/wiki/%E7%A1%AC%E7%9B%98

「コンピュータシステムの深い理解」

おすすめ

転載: blog.csdn.net/MyySophia/article/details/113734896