知識ベース

ディスクコントローラー

ディスクコントローラは、CPUがハードディスク、フロッピーディスク、またはその他の種類のディスクドライブと通信できるようにするコントローラ回路です。また、ディスクドライブとシステムの残りの部分に接続するバスとの間のインターフェイスを提供します。

初期のディスクコントローラーは、ストレージ方法とデータエンコーディングによって特定されました。通常、これらは別のコントローラーカードに実装されていました。修正周波数変調(MFM)コントローラーは、フロッピーディスクドライブとハードディスクドライブの両方に使用される小型コンピューターで最も一般的なタイプでした。ランレングス制限(RLL)コントローラーは、データ圧縮を使用してストレージ容量を約50%増やしました。 Priamは、ディスクストレージを2倍にできる独自のストレージアルゴリズムを作成しました。 Shugart Associates Systems Interface(SASI)は、SCSIの前身でした。

最新のディスクコントローラーは、周辺機器コントローラーとしてディスクドライブに統合されています。たとえば、「SCSIディスク」と呼ばれるディスクにはSCSIコントローラーが組み込まれています。過去には、ほとんどのSCSIコントローラ機能が単一のチップに実装される前に、個別のSCSIコントローラがディスクをSCSIバスに接続していました。

これらの統合された周辺機器コントローラは、標準化された高レベルのストレージバスインターフェイスを介してホストシステム内のホストコントローラと通信します。現在ディスクコントローラによって提供されている最も一般的なタイプのインターフェイスは、家庭用のPATA(IDE)とシリアルATAです。ハイエンドディスクは、パラレルSCSI、ファイバーチャネル、またはシリアル接続SCSIを使用します。

ディスクコントローラは、フラッシュメモリへのアクセスのタイミングを制御することもできます。フラッシュメモリは、機械的ではありません(つまり、物理ディスクはありません)。

ディスクコントローラーとホストアダプター

コンピューターが周辺バスと通信できるようにするコンポーネントの正しい用語は、ホストアダプターまたはホストバスアダプター(HBA)です。一方、ディスクコントローラを使用すると、 ディスクが同じバスと通信できます。特にPCの世界では、これら2つはしばしば混同されます。実際、ディスクの読み取り/書き込みヘッドによって読み取られた信号は、ディスクコントローラーによって変換された後、周辺バスを介して送信され、ホストアダプターによってマザーボードのバスに適した形式に再び変換され、CPUによって読み取られます。

ホストアダプターとディスクコントローラーの間にさらに別のコントローラーが存在する場合があります。これは、ハードウェアRAIDの形成を可能にするディスクアレイコントローラーです。 HBAと物理的に統合されている場合もありますが、異なる機能を実行します。