ディスク関連知識の紹介

ディスク関連知識の紹介

この表は自分で整理したもので、私自身の理解に基づいています。必ずしも正確とは限りません。

| ハードディスクの種類 | インターフェース | 動作モード | 備考 |
| --- | --- | --- | --- |
| IDE ハードディスク | ATA | ATA | 理論上、コントローラーを基板上に置き、ディスク本体と一体化したものは、いずれも IDE ハードディスクと呼べる。これが IDE の本来の意味である。 |
| SATA ハードディスク | SATA | IDE、AHCI、RAID | ThinkPad T400 では Config -> SATA -> Compatibility で IDE 互換モードを設定できる。 |
| SCSI ハードディスク | SCSI | SCSI | VMware で見たことがある。Red Hat Linux をインストールするとき、SCSI ハードディスクを削除し、新しく IDE ハードディスクを作成してからインストールする必要があったことがある。 |
| SSD ハードディスク | SATA-2 | コントローラーによる | SSD はソリッドステートドライブである。初期の一般的なコンシューマー向け SSD は SATA インターフェースを使うものが多かったが、具体的なインターフェースとモードは、デバイス仕様とシステムでの認識結果を基準にすべきである。 |

IDE(ATA/PATA)、SATA、SCSI、SAS

初期のハードディスクでは、ディスク本体とコントローラーは分離されていた。

IDE(Integrated Drive Electronics)とは、「ハードディスクコントローラー」と「ディスク本体」を一体化したハードディスクドライブを指す。つまり理論上、コントローラーを基板上に置き、ディスク本体と一体化したものは、いずれも IDE ハードディスクと呼べる。これが IDE の本来の意味である。

ATA(Advanced Technology Attachment)は、おそらく最初の IDE インターフェース規格であったため、現在では基本的に IDE という語で ATA を指すことが多い。普段は IDE と ATA を近い概念として理解してよい。PATA(Parallel ATA)は通常、従来のパラレル ATA と後に登場した SATA を区別するために使われる。

SATA(Serial ATA)はシリアル ATA である。

SCSI(Small Computer System Interface)は SCSI インターフェースである。

SAS(Serial Attached SCSI)はシリアル接続 SCSI インターフェースである。

上記のインターフェースのうち、ATA/PATA と従来の SCSI はパラレル方式でデータを転送するため、データケーブルのピン数が多い。SATA と SAS はシリアル方式でデータを転送するため、データケーブルのピン数は少ない。

一般に、SATA は ATA/PATA より優れ、SAS は従来の SCSI より優れている。SCSI は SATA と比べて耐久性と安定性が高く、エンタープライズやサーバー向け用途に適している。一方、SATA は SCSI と比べて安価で実用的であることが利点である。

ソリッドステートドライブ SSD

SSD(Solid State Disk / Solid State Drive、ソリッドステートドライブ)は、固体電子記憶チップの配列で作られたストレージであり、通常は制御ユニットと記憶ユニットで構成される。記憶ユニットはデータの保存を担当し、制御ユニットはデータの読み書きを担当する。

初期のコンシューマー向け SSD は、SATA-2 などの SATA インターフェースを広く採用していた。その後の SSD では、SATA-3、mSATA、M.2 SATA、M.2 NVMe など、さまざまなインターフェースやプロトコルが使われることもある。ある SSD の実際のインターフェースと動作モードを判断するには、デバイス仕様、BIOS/UEFI 設定、OS の認識結果を基準にすべきである。

ATA 転送モード:PIO、DMA、Ultra DMA(UDMA)

初期の ATA には PIO と DMA の 2 種類のモードがあり、その後 Ultra DMA モードも登場した。

PIO(Programmed I/O)は、CPU が I/O ポート命令を実行してデータの読み書きを行うデータ交換モードで、最も初期の転送方式の一つである。CPU の介入が必要なため、CPU リソースを非常に多く消費し、速度も遅い。代表的なモードには PIO mode 0(3.3 MB/s)から PIO mode 4(16.6 MB/s)までがある。

DMA(Direct Memory Access)は、CPU を経由せず、メモリから直接データを読み書きするデータ交換モードである。代表的なモードには Single-Word DMA と Multi-Word DMA がある。

UDMA(Ultra DMA)の代表的なモードには、UDMA mode 2(ATA33)、UDMA mode 4(ATA66)、UDMA mode 5(ATA100)、UDMA mode 6(ATA133)があり、理論速度はそれぞれ 33 MB/s、66 MB/s、100 MB/s、133 MB/s である。

Windows で特定のハードディスクの転送モードを確認する方法は次のとおりである。

デバイス マネージャー -> IDE ATA/ATAPI コントローラー -> プライマリ/セカンダリ IDE チャネル -> プロパティ -> 詳細設定 -> 現在の転送モード

初期のハードディスクは一般に UDMA mode 5 モードで動作し、速度は 100 MB/s であった。UDMA mode 6(ATA133)はかつて Maxtor が提唱したが、すべてのコントローラーが対応していたわけではない。たとえば当時の Intel の一部コントローラーは主に UDMA mode 5 までをサポートしていた。具体的な対応状況は、マザーボードのチップセット、コントローラードライバー、システムの認識結果を基準にすべきである。

ハードディスクに不良セクターがある、または読み取りに問題が発生している場合、システムの IDE/ATAPI コントローラードライバー(Atapi.sys)は、タイムアウトまたは巡回冗長検査(CRC)エラーを累計 6 回受け取った後、OS が転送モードを自動的に 1 段階下げることがある。その後もタイムアウトや CRC エラーが続くと、最終的に転送モードが最低の PIO モードまで下がる可能性がある。この場合、ハードディスクの転送速度は非常に遅くなる。

プライマリ/セカンダリ IDE チャネル、マスター/スレーブディスク

マザーボード上の 1 つの IDE スロットは、システムのデバイス マネージャー上の 1 つの IDE チャネルに対応する。マザーボードに IDE スロットが 2 つある場合、通常はマザーボード上に IDE1 と IDE2 と表示され、そのうち IDE1 がプライマリ IDE チャネル、IDE2 がセカンダリ IDE チャネルである。IDE は次第に SATA に置き換えられたため、後のマザーボードでは IDE スロットが 1 つだけになったり、完全に提供されなくなったりした。

各 IDE スロットには 2 台の IDE デバイスを接続できる。1 台はマスターデバイス、もう 1 台はスレーブデバイスであり、2 台を同時にマスター、または同時にスレーブにすることはできない。マスター/スレーブはデバイスのジャンパー設定で指定できる。一般に、データケーブルの中央の端子にはスレーブディスクを、端の端子にはマスターディスクを接続する。

起動時の検出順序は通常、まずプライマリ IDE チャネル、次にセカンダリ IDE チャネル、そして各チャネル内では先にマスターディスク、後にスレーブディスクである。

Windows では、次の場所から IDE チャネルのデバイスを確認または設定できる。

デバイス マネージャー -> IDE ATA/ATAPI コントローラー -> プライマリ/セカンダリ IDE チャネル -> プロパティ -> 詳細設定 -> デバイス 0/1

ここで、「デバイスの種類」が「自動検出」になっている場合は有効状態であることを示す。無効にしたい場合は「なし」に設定できる。そうするとシステム起動時に検出されないため起動速度を上げられる。ただし、その位置にハードディスクが接続されていても、システムが検出しないため認識されない。

SATA ハードディスクの動作モード:IDE、AHCI、RAID

SATA ハードディスクには、一般に IDE、AHCI、RAID の 3 種類の動作モードがある。

IDE モード:SATA ハードディスクを IDE 互換モードとしてマッピングする方式である。この方式では通常、追加のドライバーをインストールする必要がなく、多くの初期のマザーボードでは SATA がデフォルトでこのモードに設定されていた。SATA コントローラーがシステム上でプライマリ/セカンダリ IDE チャネルとして認識されることもある。

AHCI モード:このモードでは SATA ハードディスクがネイティブ方式で動作し、NCQ(Native Command Queuing、ネイティブコマンドキューイング)にも対応する。AHCI にはマザーボードとシステムドライバーの対応が必要である。すでにインストール済みの古いシステムで、BIOS 上で IDE から AHCI に直接変更すると、起動時にブルースクリーンになったり、システムに入れなくなったりする可能性があるため、事前に対応ドライバーを用意するか、システム要件に従って設定を調整する必要がある。このモードを使用すると起動時の自己診断時間が長くなることがあるが、NCQ を利用でき、ホットプラグにも対応する。

RAID モード:複数のハードディスクでアレイを構成するために使用する。この場合、デバイス マネージャーに「SCSI RAID コントローラー」という項目が追加されることがある。SCSI ディスクを使用する場合、RAID を作成する場合、または一部の仮想光学ドライブソフトウェアをインストールする場合にも、類似したコントローラー項目が表示されることがある。

AHCI モードを有効にしても、ハードディスク性能がデフォルトの IDE モードに比べて必ずしも大きく向上するとは限らない。一般的な利用場面では、デフォルトの IDE モードでも基本的な使用には対応できる。NCQ、ホットプラグ、または現代的なシステムにより適した SATA ネイティブ対応が必要な場合は、AHCI を優先的に検討し、変更前にシステムドライバーが準備済みであることを確認すべきである。

S.M.A.R.T.

S.M.A.R.T. の正式名称は Self-Monitoring, Analysis and Reporting Technology であり、「自己監視・分析・報告技術」を意味する。S.M.A.R.T. に対応したハードディスクは、ハードディスク上の監視命令とホスト上の監視ソフトウェアを通じて、ヘッド、プラッター、モーター、回路の動作状況、履歴、事前設定された安全値を分析・比較できる。安全値の範囲外の状況が発生すると、自動的にユーザーへ警告を出す。

HDTune ソフトウェアの「健康状態」欄には、ハードディスクの S.M.A.R.T. 情報が表示される。

初期の一部の検査ソフトウェアやコントローラードライバーでは、SATA ハードディスクが AHCI モードになっていると、S.M.A.R.T. 情報を読み取れないことがある。このような場合は、AHCI に対応した検査ツールに切り替えるか、マザーボードのチップセットドライバー、ストレージコントローラードライバー、ハードディスク検査ソフトウェアが適合しているかを確認すべきである。

Leave a Reply