HDD は、どのプラッター/セクターを使用するかをどのように決定するのでしょうか? ドライブ自体にコントローラーが組み込まれているのでしょうか? それともマザーボードでしょうか? OS でしょうか?
どのようなアルゴリズムがこれを選択するのでしょうか? ランダムでも連続的でもないはずです。
同様に、同じ質問が SSD にどのように当てはまるでしょうか?
答え1
HDD はどのプラッター/セクターを使用するかをどのように決定するのでしょうか?
どのようなアルゴリズムがこれを選択するのでしょうか? ランダムでも連続的でもないはずです。
それは、見つけられる可能性の低い独自の情報です。企業秘密" または "秘密のソース「もしよろしければ…」
「浅い「ランダムでもシーケンシャルでもない理由はあるが、ディスク製造業者はデータをすべてのプラッターに分散させることでデータスループットを最適化するだろうと私は考えている。おそらく、深い「データをその場所に置く理由(現代のハードディスクは魔法の領域に近づいており、何が起こっているかのほとんどを理解するには膨大な技術的知識が必要です)。
歴史的には、それはオープンでよく理解されていました(中国語、 下に)。
ドライブ自体にコントローラが組み込まれていますか?
はい、現代のハードディスクはSATAまたはスカンジナビア航空ホスト マシンへのインターフェイス...この通信リンクは、マザーボードとハード ディスクのオンボード コントローラー間で実行されます。
コントローラは、スピンドル速度、ヘッド位置、読み取り/書き込み命令間の処理、読み取り/書き込みヘッドとの間の正確なタイミングのアナログ信号などを管理する役割を担います。
それともマザーボードですか?OSですか?
歴史的に、ハードディスクは非常に未加工のデバイスとして存在していました。ステッピング モーターまたはボイス コイルがマザーボードから直接駆動されてヘッドの位置が管理され、アナログ信号はマザーボードに送信される前に大まかにクリーンアップされていました。
これを見て富士通 337 MB 8インチ ハードディスクのビデオ分解詳細は以下をご覧ください。インターフェースの概要については、2:04 までスキップしてください (ストレージモジュールデバイス)。それでも、ご覧のとおり、インターフェイス用のサポート回路がかなりあります。
ハードディスクは、CHS (シリンダー - ヘッド - セクター)、しかし最近では、LBA (論理ブロックアドレス)。
私考えるLBAの導入により、ディスク自体の不良セクタを管理するようになった。つまり、不良セクタをプロビジョニングされた領域に再配置するようになったのだ。予備の「不良と検出されたときにスペースが失われます。そのため、ヘッドがどこに配置されているか、どのヘッドが使用されているか、どのセクターがアクセスされているかを直接制御することはできなくなりました。
ディスクが独自の不良セクタを管理する前は、工場出荷時に不良セクタのリストが書かれたラベルがあり、ファイルシステムを作成するときにシステムに入力する必要がありました。または、次のようなツールを使用しました。badblocks
問題をスキャンします。例:
同様に、同じ質問が SSD にどのように当てはまるでしょうか?
SSDでは、フラッシュストレージ全体が物理アドレス空間から仮想アドレス空間にマッピングされます。これにより、ウェアレベリング透明性を保ちながら実施するどれでもホストマシンからの知識。
答え2
HDD がどのプラッター/セクターに書き込むかを決定するものは何ですか?
制御されるハード ドライブに含まれる個々のアルゴリズムと命令によって、HDD に送信されるほとんどのデータの場所が決まります。
回転式 HDD を使用すると、OS はドライブ上のすべての可能なアドレスにアクセスでき、読み取りまたは書き込みを行う特定の場所を指定できます。
SSD では、オーバープロビジョニングや、実際に縮小せずに不良ビットを見つけてマークしてブラックリストに登録する機能、キャッシュ機能など、SSD が提供する高度な機能の一部をサポートするために、コントローラが実際のアドレスを仮想化します。そのため、通常、OS は SSD 内の実際の可能なアドレスを認識しません。