1

1 つの SATA コントローラを備えたシステムを想像してください。コントローラが IDE モードで動作している場合、デバイス マネージャに次のように表示されます。

Windows XP:

IDE controller's name
Primary IDE Channel
Secondary IDE Channel

Windows >= Vista:

IDE controller's name
ATA Channel 0
ATA Channel 1

また、コントローラーが AHCI モードで動作する場合、XP と >= Vista の両方で「SATA AHCI コントローラー」のように表示されます。

AHCI モードの SATA コントローラーは、最大 32 個のデバイスをサポートします (32 ビット マスクはデバイス接続を示します)。各デバイスが個別のチャネルを必要とすることを考えると、これは単なるソフトウェアの制限だと思います。SATA コントローラが 32 チャネルすべてに「配線」されているようなシステムが存在する可能性は低いです。しかし、32 は、コントローラーが 2 つ以上のデバイスを処理できるため、2 つ以上のチャネルを持つことを意味する数字だと思います。そこで、実際に SATA コントローラーによくあるチャンネル数をお聞きしたいと思います。ATA コントローラには 2 つのチャネルがありますが、IDE モードでのソフトウェア互換性のために SATA コントローラに同じ数のチャネルがあるということですか? それとも、2 つ以上のチャンネルを持っているのに、IDE モードでは最初の 2 つのチャンネルしか利用できないのでしょうか? (少なくともXPでは「プライマリ」チャネルと「セカンダリ」チャネルのため

4

1 に答える 1

2

少し後ですが、他の人にとっては役立つかもしれません。

いくつかの説明を追加しましょう。AHCI インターフェイス (Advanced Host Controller Interface) を備えた SATA ホスト コントローラーがあります。また、SATA ドライブ (または AHCI インターフェイスを備えたその他のデバイス) もあります。

SATA ホスト コントローラー (HC) には多数のポートがあります。理論的には、最大 32 個の SATA ポートが存在する可能性がありますが、少なくとも 1 個は存在する可能性があります (ポートがない場合、HC 自体は意味がありません)。実際のポートの数は実装によって異なります。PC で使用される一般的な HC チップには、1 つまたは 2 つのポートがある可能性が高くなります。SATA ドライブはポートに接続されています。したがって、SATA HC に 2 つのポートがある場合、最大 2 つの SATA ドライブ/デバイスを接続できます。

実生活では、すべてがさらに興味深いものです。コメントで@Ross Ridgeが言及したように、ポート乗数を使用できます。Port Multiplier は、接続できるデバイスの数を増やすことです。ここでも、ポート マルチプライヤーは、SATA HCポート(ホスト コントローラー自体ではなく) に接続されたデバイスです。1 つのポートに 1 つの乗算器。2 番目の乗算器は、他のポートなどに接続できます。乗算器のサポートは実装で定義されます。一部の HC はそれらと連携できますが、一部の HC はそうでない場合があります。乗算器には 16 個のポートがあります。ポート '0xF' は乗算器の特別な制御ポートです。そのため、最大 15 台のデバイスを接続できます。

したがって、上記はすべてSATA仕様に関するものです。リストされた質問自体を考慮すると:

  • OS ドライバーは独自の方法でドライブを列挙して名前を付けることができます。あなたが言及したようにSecondary IDE Channel、またはATA Channel 1。最初の名前は、パラレル インターフェイスを備えたドライブのレガシーである可能性が高いです。実際、「チャネル」という言葉は SATA AHCI 仕様にもありません。ポートがあります:)

  • 一部の fu... ドライバーは、乗算器をサポートしていない、または 1 つのポートでしか動作しないなど、「ソフトウェアの制限」を暗示している可能性があります。ドライバーを定期的に更新します。

  • thus providing Windows with a way to change such options like enable/disable DMA mode. Windows DMA モードは、SATA ドライブとは関係ありません。SATA ホスト コントローラーは、特別なバッファーを使用して、ドライブから受信したデータを割り当てます。DMA modeこの場合、OS がこれらのバッファにアクセスする方法に似ていますが、HC が接続されたドライブと通信する方法には似ていません。

  • Also can you tell me what is the maximum number of ATA Channels that SATA controller can have?. ポートがあります。ポートの数は実装定義です。マザーボードの読み取りCAPレジスタで SATA ホスト コントローラのアドレスがわかっている場合、下位 4 ビットはNumber of Ports - 1. PS: 物理メモリに直接アクセスするにはドライバが必要なので...

于 2017-04-24T00:12:20.673 に答える