SATAはどのような意味でSCSIと「会話」しますか? SCSIとATAの間でどのくらいのリソースが共有されますか?

SATAはどのような意味でSCSIと「会話」しますか? SCSIとATAの間でどのくらいのリソースが共有されますか?

これは新しいものではありません。少なくとも私にとっては、SATAは実際にSCSIと「対話」しているので、これらのSATAデバイスはLinux上でSCSIデバイスとして表示されます。

関連する質問は以前に要求されました。私のSATAデバイスが/ proc / scsi / scsiの下に表示されるのはなぜですか?

しかし、私が見た以前の議論では、SATAとSCSIの具体的な関係と違いについての言及はありませんでした。

私は彼らが互換性のあるケーブルを共有していないので、物理層で異なることを当然考えています。

しかし、スタックを上げたらどうでしょうか?私はLinuxがSATAとIDEディスクを最新のカーネルのSCSIサブシステムとしてどのように表現するかを知っています。しかし、バスで使用される実際のプロトコルはどうですか?

ATAPIがSCSI用パッケージであることも知っていますが、一般的なATAはどうですか? NCQ、FUA、DPOなどのSCSI機能(記憶が正しい場合)がSCSIで採用されていることがわかりました。しかし、SCSI 命令セットのうち「どのくらい」が実際に共有されているか類似しているかは不明です。

最新のSATAデバイスとそのATA仕様はSCSIコマンドセットのサブセットを実装していますが、カプセル化(ATAPIなど)として実装していますか?同じセットですか?スーパーグループ?それとも、選択した機能だけが同じではないバリエーションで実装されていますか?

これに関する明確な情報、特にLinuxカーネルとの関係はどこにありますか?一種のドライバ開発チュートリアルであれば良いですが、すべての詳細を完全にスキップしない概要だけで十分です。私は実際の仕様を読むことができることを知っていますが、これはあまりにも詳細であり、実際に欲しいものを見つけるのが難しく、時間的には私とおそらく他のほとんどのユーザーにとっては実用的ではありません。

ベストアンサー1

SCSIとATAはまったく異なる標準です。彼らは現在情報技術研究所標準組織ですが、他のグループによって組織されました。 SCSI所属技術委員会T10、ATAがある間T131

ATAはハードドライブだけを念頭に置いて設計されています。 SCSIはより広く、より古い、大容量記憶装置、テープドライブ、リムーバブル光学メディアドライブ(CD、DVD、Blu-ray ...)、スキャナ、およびコンピュータを制御する標準的な方法です。他のさまざまなデバイスタイプ

1980年代半ば、IDEがPCの世界に導入されたとき、SCSIがコンピューティングの世界の端に押し寄せていることは明らかではありませんでした。 SCSIはさらに成熟し、より強力になりました。Unixワークステーションそしてマッキントッシュ何十年もの間、コンピュータにはSCSIハードドライブが装備されていました。高度なPCには通常、周辺機器用に1つ以上のSCSIカードがあり、システムHDDにも使用されることがよくあります。パーソナルコンピュータ用の初期CD-ROMとテープドライブは、SCSIの形で初めて登場しました。

しかし、現在のPC業界では、SCSIをより安価なATA規格に置き換える動きが進んでいます。もともと妥協案は以下の通りです。ATAPIは、内部的にSCSIを理解するデバイスがATAインターフェイスを介してこれらのSCSIコマンドを受信できるようにするATAの拡張です。これについての詳細は下記をご覧ください。

数年後、SCSIはATAコマンドの転送デフォルトでは、ATAPI とは逆の機能により、SCSI バスを介して ATA コマンドを実行できます。この機能の目的の1つは、ATAをトンネリングすることです。賢いSCSI経由でコマンドを実行します。smartmontoolsこれを行う、例えば。

後で、INCITS T10委員会は、SCSIコマンドをATAコマンドにまたはその逆に変換するSAT(SCSI / ATA Translation)という標準を開発しました。2 Linuxカーネルlibata図書館Linux用のSAT実装を提供します。その他

SCSIとATAプロトコルはどちらもハードドライブを制御するため、論理的に重複する部分があります。明らかに、どちらも特定のハードドライブセクタを探し、そのセクタの内容を検索するなどの方法が必要です。ただし、コマンド形式はまったく異なります。さもなければ、これらの変換及び送達メカニズムは必要ない。

SATAは実際にSCSIと「会話」します。

これは「お茶はピンク色だ」という言葉ほど本当だ。一部お茶がピンク色ですね。

ATAPI、ATA Direct、SATはストーリーの一部にすぎません。読んでください。

私は彼らが互換性のあるケーブルを共有していないので、物理層で異なることを当然考えています。

昔はそうだったパラレルSCSIしかし、SATAがPATAを置き換えたように、SASパラレルSCSIを交換しました。

SASとSATAは同じドライブコネクタを共有し、電気的に互換性があります。 SASコントローラはSASデバイスとSATAデバイスの両方と通信できますが、SASドライブはSATA専用コントローラでは使用できません。違いはネゴシエーションで、ケーブルの両端にあるデバイスが通信しているものを特定した後に使用できるコマンドです。

実際、多くの「SATA RAID」コントローラは実際にはSAS RAIDコントローラです。これらのコントローラには通常、1つ以上SFF-8087カードにはSAS結合コネクタがありますが、SFF-8087 - 4×SATAブレークアウトケーブルを使用してSATAドライブをカードに接続できます。したがって、2つのSFF-8087結合コネクタを備えたSAS / SATA RAIDカードは、最大8つのドライブを制御できます。サム

別の一般的な状況は、ホットスワップ可能なドライブエンクロージャまたはSASを搭載したコンピュータエンクロージャです。バックプレーン。通常、バックプレーンにはSFF-8087コネクタがあり、単純な8087〜8087ケーブルをバックプレーンからディスクコントローラに接続できます。ホットスワップ可能トレイのドライブがSATAの場合は問題ありません。 SASコントローラは、ドライブをSASバックプレーンに接続するドライブスレッドにあるため、SASケーブルを介して通信できます。ただし、これらのドライブはまだSATAドライブであり、SCSIではなくATAプロトコルを使用します。

ATAPIがSCSI用のパッケージであることもわかっています。

そうですね。しかし、ATAPIはデバイス専用です。その他ハードドライブよりも標準が存在する主な理由は、ATAインターフェイスがテープドライブのストリーミングデータコマンド、オプティカルドライブの「メディア取り出し」コマンド、またはCDオーディオディスクの「トラック再生」コマンドなどのSCSIコマンドを送信できるようにするためです。 。

ATAPIを介してSCSIを送信するために使用されたHDD以外のデバイスが消えたり、別のインターフェイスに移動したりすると、これはそれほど重要ではありませんでした。低コストのテープドライブはもう存在しないため、今やテープドライブはすべてSASです。4最近、ほとんどすべてのスキャナーにはUSBインターフェースがあります。光学メディアドライブUSB接続を好み、コンピュータケースから外れたり、完全に消えたり、ますますまれになったATAPI対応の内蔵光学ドライブのみが残ります。

それにもかかわらず、ATAPIを介してSCSIを理解するSATAデバイスは、限られた方法でのみ「SCSIデバイス」にすぎません。これらの装置はほとんどの利点を得ることができない。SATAに対するSASの利点。 ATAPIにもかかわらず、これらの機能はSASをSATAに比べて確実な価値にします。

車に例えれば、楕円形のトラックで私の車を走ることができるという事実は、それがレースカーであるという意味ではありません。

NCQ、FUA、DPOなどのSCSI機能(記憶が正しい場合)がSCSIで採用されていることがわかりました。しかし、SCSI 命令セットのうち「どのくらい」が実際に共有されているか類似しているかは不明です。

ほとんどの場合、これは安価な模倣に対応します。NCQとTCQは異なります、例えば。ドライブがSASデバイスの場合は、TCQがあるドライブのみを取得できます。 NCQ対応SATAドライブをSASコントローラに接続すると、突然TCQ機能が得られなくなります。

つまり、最新のSATAデバイスは、10年前のSCSIデバイスよりもはるかに強力である可能性が高くなります。間違いなくより高いレベルのI / Oをサポートできます。

これらすべてが混乱して重複しています。なぜなら、これはPCハードウェアの世界の特徴だからです。オプティカルドライブメーカー(1つのサブ業界のみ)は、実際には2つのまったく異なるドライブ(1つは最高性能のSASを使用し、もう1つはSATAを使用)を作成したくないため、明確な線はありません。だから彼らは妥協した。彼らは、SASバスにSATAドライブを取り付けることができる単一の規格を作成するために、これらの規格を定義する委員会にロビーを置き、誰もがとても喜んでいました。

これに関する明確な情報、特にLinuxカーネルとの関係はどこにありますか?

最終的にあなたが望むLinuxのソースコードを読む。これlibATA開発者ガイドまた役に立ちます。

私はこれがどのように機能するのか簡単な要約を知りません。そのデザインは簡単ではありません。これは、30年間のハードウェア開発、競争基準、およびさまざまな目標に対応するように設計されています。さらに、そのデザインには魔法の先見の明が欠けていました。一言で台無しだ。混乱がどのように機能するのか本当に知っておくべき唯一の人は、オペレーティングシステムカーネルを構築する人、ハードウェアを設計する人、そしてそれほど少ないですが、オペレーティングシステムカーネル用のドライバを書く人です。このように小さいが、エリート幹部チームの場合、標準と作業仕様で十分です。

今日、Linuxでは、ほとんどの書き換え可能な大容量記憶装置を「大容量記憶装置」と呼びます/dev/sd?。 「SD」はかつて「SCSIディスク」を意味し、これは/dev/hd?「ハードディスク」の一般的な意味と区別するために存在していましたが、ほとんどの場合PATAを暗示します。これらの区別は、今日ではもう一つの無関係な問題です。今SSD、USBサムドライブ、仮想ハードディスクiSCSI/dev/sd?「SD」を「ストレージデバイス」の略語として考え、デバイスがSATAの代わりにATAをサポートしているかどうかを心配してください。イーサネット経由のATAUSB経由のSCSI、ATAPI経由のSCSI、SAS経由のSCSI、IP経由のSCSI(iSCSI)などがあります。

重要な問題は、命名スキームがシステムの背後に隠れた理由よりも長く続く傾向があることです。でこれを見ることができます/dev/scd0。今日、ノードに接続されているデバイスは、/devオプティカルドライブよりもDVDまたはBlu-rayドライブである可能性が高いです。

/dev各ノードに接続されているデバイスの正確なタイプに基づいて各ノードに名前を付ける代替アプローチには、固有の問題があります。/devノードが使用する低レベルのプロトコルに基づいてノード名を指定するのは本当に良いでしょうか?/dev/atapi0、、/dev/sas0など?それとも/dev/atapibluray0待つのが好きですか?マルチメディアドライブはどうですか?/dev/atapicd0Blu-rayドライブにディスクを挿入しても、同じドライバを公開する必要がありますか?混乱した計画を別の計画に変えるだけです。

Linux/dev/sd?の抽象化は完璧ではありませんが、便利です。たとえば、/dev/sda名前の背後にあるケーブル接続、インターフェイスプロトコル、およびメディアについて心配することなく、名前が起動ドライブである可能性が高いことがわかります。特定のLinuxボックスにシステムドライブ、オプティカルドライブ、時にはUSBサムドライブが接続されていると言うと、そのドライブが、と呼ばれると確信/dev/sdaでき/dev/sdbます/dev/sdc


脚注:

  1. SCSI と ATA はもともと同じ親標準組織を共有していませんでした。もともとは排他的なハードドライブコントローラでした。 SCSI出身シュガート協会'斜視、そしてATA/IDEの誕生以来、デザインコラボレーションWestern Digital、CompaqおよびCDC間。

    米国国立標準協会どちらも後で標準化され、約8年後にATA-1がSCSI-1の後に続きました。

    INCITSの例ANSI姉妹団体。 INCITSは米国ANSIを通じて最終基準を発表し、ISO/IEC JTC 1世界的な。

  2. 現在の基準は土-3、2015年5月出版、SAT-4およびSAT-5を含む進行中この記事は2018年7月中旬に書かれた記事です。後者のリンクをクリックすると、進行中のバージョンのドラフトに移動します。

  3. 私は無視するSATAポート乗数SASエキスパンダー、等。

  4. 以前のパラレルSCSIシステムとの互換性のために設計されたモデルは例外です。

おすすめ記事