SSDの玹介。 パヌト 2. むンタヌフェヌス

SSDの玹介。 パヌト 2. むンタヌフェヌス

В 最埌の郚分 サむクル「SSD入門」ではディスクの登堎の歎史に぀いおお話したした。 XNUMX 番目の郚分では、ドラむブず察話するためのむンタヌフェむスに぀いお説明したす。

プロセッサず呚蟺機噚間の通信は、むンタヌフェむスず呌ばれる事前定矩された芏則に埓っお行われたす。 これらの協定は、物理レベルず゜フトりェアレベルの盞互䜜甚を芏制したす。

むンタヌフェヌス - システムの芁玠間の盞互䜜甚の手段、方法、芏則のセット。

むンタヌフェむスの物理実装は、次のパラメヌタに圱響したす。

  • 通信チャネルのスルヌプット。
  • 同時に接続されるデバむスの最倧数。
  • 発生した゚ラヌの数。

ディスクむンタヌフェヌスは以䞋に構築されおいたす I/Oポヌトこれはメモリ I/O の逆であり、プロセッサのアドレス空間のスペヌスを占有したせん。

パラレルポヌトずシリアルポヌト

デヌタ亀換の方法に応じお、I/O ポヌトは XNUMX ぀のタむプに分けられたす。

  • 平行;
  • 䞀貫性のある。

名前が瀺すように、パラレル ポヌトは耇数のビットで構成されるマシン ワヌドを䞀床に送信したす。 パラレル ポヌトは耇雑な回路゜リュヌションを必芁ずしないため、デヌタを亀換する最も簡単な方法です。 最も単玔なケヌスでは、マシンワヌドの各ビットが独自の信号線で送信され、フィヌドバックに XNUMX ぀のサヌビス信号線が䜿甚されたす。 デヌタ準備完了 О デヌタが受け入れられたした.

SSDの玹介。 パヌト 2. むンタヌフェヌス
パラレル ポヌトは、䞀芋するず拡匵性が高く、より倚くの信号線があり、より倚くのビットが䞀床に送信されるため、スルヌプットが高くなりたす。 しかし、信号線の数が増えるず信号線間で干枉が発生し、送信メッセヌゞに歪みが生じたす。

シリアルポヌトはパラレルポヌトの逆です。 デヌタは䞀床に XNUMX ビットず぀送信されるため、信号線の総数は枛りたすが、I/O コントロヌラヌが耇雑になりたす。 送信機コントロヌラヌは䞀床にマシンワヌドを受信し、䞀床に XNUMX ビットを送信する必芁があり、受信機コントロヌラヌはそのビットを受信しお​​同じ順序で栌玍する必芁がありたす。

SSDの玹介。 パヌト 2. むンタヌフェヌス
信号線の数が少ないため、干枉するこずなくメッセヌゞ送信の頻床を高めるこずができたす。

SCSI

SSDの玹介。 パヌト 2. むンタヌフェヌス
Small Computer Systems Interface (SCSI) は 1978 幎に登堎し、圓初はさたざたなプロファむルのデバむスを 1 ぀のシステムに組み合わせるように蚭蚈されたした。 SCSI-8 仕様では、次のような最倧 XNUMX 台のデバむス (コントロヌラず合わせお) の接続が芏定されおいたす。

  • スキャナヌ。
  • テヌプドラむブストリヌマ。
  • 光孊ドラむブ。
  • ディスクドラむブやその他のデバむス。

SCSI はもずもず Shugart Associates System Interface (SASI) ず呌ばれおいたしたが、暙準委員䌚は䌚瀟の名前にちなんだ名前を承認せず、XNUMX 日のブレむンストヌミングの埌、Small Computer Systems Interface (SCSI) ずいう名前が生たれたした。 SCSI の父であるラリヌ・ブヌチャヌは、この頭字語を「セクシヌ」ず発音するこずを意図しおいたしたが、 ダル・アラン 「sсuzzy」「䌝える」ず読みたす。 その埌、「tell」の発音がこの暙準にしっかりず定着したした。

SCSI 甚語では、接続されたデバむスは XNUMX ぀のタむプに分類されたす。

  • むニシ゚ヌタヌ。
  • タヌゲットデバむス。

むニシ゚ヌタはタヌゲット デバむスにコマンドを送信し、タヌゲット デバむスはむニシ゚ヌタに応答を送信したす。 むニシ゚ヌタずタヌゲットは、SCSI-1 暙準で 5 MB/秒の垯域幅を持぀共通の SCSI バスに接続されたす。

䜿甚される「共通バス」トポロゞには、次のような倚くの制限がありたす。

  • バスの終端には特別なデバむス、぀たりタヌミネヌタが必芁です。
  • バス垯域幅はすべおのデバむス間で共有されたす。
  • 同時に接続できるデバむスの最倧数は制限されおいたす。

SSDの玹介。 パヌト 2. むンタヌフェヌス

バス䞊のデバむスは、ず呌ばれる固有の番号によっお識別されたす。 SCSIタヌゲットID。 システム内の各 SCSI ナニットは、少なくずも XNUMX ぀の論理デバむスによっお衚され、物理デバむス内の固有の番号によっおアドレス指定されたす。 論理ナニット番号 (LUN)。

SSDの玹介。 パヌト 2. むンタヌフェヌス
SCSI のコマンドは次の圢匏で送信されたす。 コマンド説明ブロック (コマンド蚘述子ブロック、CDB)。オペレヌション コヌドずコマンド パラメヌタヌで構成されたす。 この芏栌では 200 以䞊のコマンドが蚘述されおおり、次の XNUMX ぀のカテゎリに分類されおいたす。

  • 必須の — デバむスがサポヌトしおいる必芁がありたす。
  • オプション - 実装するこずができたす。
  • ベンダヌ固有 - 特定のメヌカヌによっお䜿甚されおいる。
  • 廃止された - 廃止されたコマンド。

倚くのコマンドのうち、デバむスに必須なのは次の XNUMX ぀だけです。

  • テストナニット準備完了 — デバむスの準備状況を確認したす。
  • リク゚ストセンス — 前のコマンドの゚ラヌ コヌドを芁求したす。
  • お問い合わせ — デバむスの䞻な特性をリク゚ストしたす。

コマンドを受信しお​​凊理した埌、タヌゲット デバむスは実行結果を瀺すステヌタス コヌドをむニシ゚ヌタに送信したす。

SCSI のさらなる改良 (SCSI-2 および Ultra SCSI 仕様) により、䜿甚されるコマンドのリストが拡匵され、接続されるデバむスの数が最倧 16 台に増加し、バス䞊のデヌタ亀換速床が最倧 640 MB/秒に増加したした。 SCSIはパラレルむンタヌフェヌスであるため、デヌタ亀換の頻床が高くなるず最倧ケヌブル長が短くなり、䜿甚䞊䞍䟿でした。

Ultra-3 SCSI 芏栌以降、電源がオンのずきにデバむスを接続する「ホットプラグ」のサポヌトが登堎したした。

最初に知られおいる SCSI SSD は、350 幎にリリヌスされた M-Systems FFD-1995 でした。 このディスクは高䟡であったため、あたり普及したせんでした。

珟圚、パラレル SCSI は䞀般的なディスク むンタヌフェむスではありたせんが、コマンド セットは䟝然ずしお USB および SAS むンタヌフェむスで積極的に䜿甚されおいたす。

アタ/パタ

SSDの玹介。 パヌト 2. むンタヌフェヌス
むンタヌフェヌス ATA (先進技術アタッチメント)、ずしおも知られおいたす。 PATA (パラレル ATA) は、1986 幎に Western Digital によっお開発されたした。 IDE 暙準のマヌケティング名 (英語、Integrated Drive Electronics、぀たり「ドラむブに組み蟌たれた電子機噚」) は、重芁な革新性を匷調しおいたす。ドラむブ コントロヌラヌが別個の拡匵ボヌドではなく、ドラむブに統合されおいるずいうこずです。

コントロヌラヌをドラむブ内に配眮するずいう決定により、いく぀かの問題が䞀床に解決されたした。 たず、ドラむブからコントロヌラヌたでの距離が短くなり、ドラむブのパフォヌマンスにプラスの圱響を䞎えたした。 第二に、内蔵コントロヌラヌは特定の皮類のドラむブ専甚に「匷化」されおおり、そのため安䟡でした。

SSDの玹介。 パヌト 2. むンタヌフェヌス
ATA は SCSI ず同様にパラレル I/O 方匏を䜿甚しおおり、それが䜿甚されるケヌブルに反映されおいたす。 IDE むンタヌフェむスを䜿甚しおドラむブを接続するには、フラット ケヌブルずも呌ばれる 40 芯ケヌブルが必芁です。 最近の仕様では 80 芯のスタブが䜿甚されおおり、その半分以䞊は高呚波での干枉を軜枛するためのグランド ルヌプです。

ATA ケヌブルには XNUMX  XNUMX 個のコネクタがあり、そのうちの XNUMX ぀はマザヌボヌドに接続され、残りはドラむブに接続されたす。 XNUMX ぀のルヌプ内で XNUMX ぀のデバむスを接続する堎合、そのうちの XNUMX ぀を次のように蚭定する必芁がありたす。 Master、XNUMX番目は次のようになりたす スレヌブ。 XNUMX 番目のデバむスは読み取り専甚モヌドでのみ接続できたす。

SSDの玹介。 パヌト 2. むンタヌフェヌス
ゞャンパの䜍眮によっお、特定のデバむスの圹割が決たりたす。 コントロヌラに関しおは、接続されおいるすべおのデバむスがスレヌブであるため、デバむスに関するマスタヌずスレヌブずいう甚語は完党に正しいわけではありたせん。

ATA-3 の特別な革新はその倖芳です。 自己監芖, 分析およびレポヌト技術 (SMART)。 XNUMX 瀟 (IBM、Seagate、Quantum、Conner、Western Digital) が提携し、ドラむブの健党性評䟡テクノロゞヌを暙準化したした。

゜リッド ステヌト ドラむブのサポヌトは、1998 幎にリリヌスされた芏栌のバヌゞョン 33.3 から行われおいたす。 このバヌゞョンの暙準では、最倧 XNUMX MB/秒のデヌタ転送速床が提䟛されたした。

この芏栌では、ATA ケヌブルに察しお次のような厳栌な芁件が定められおいたす。

  • プルヌムは平らでなければなりたせん。
  • 列車の最倧長は 18 むンチ (45.7 センチメヌトル) です。

短くお幅の広い列車は䞍䟿で、冷华の劚げになりたした。 その埌の芏栌のバヌゞョンが進むたびに、䌝送呚波数を䞊げるこずがたすたす困難になりたしたが、ATA-7 はその問題を根本的に解決したした。パラレル むンタヌフェむスがシリアル むンタヌフェむスに眮き換えられたした。 その埌、ATA は Parallel ずいう蚀葉を取埗しお PATA ずしお知られるようになり、この芏栌の XNUMX 番目のバヌゞョンにはシリアル ATA ずいう別の名前が付けられたした。 SATA のバヌゞョン番号は XNUMX から始たりたした。

SATA

SSDの玹介。 パヌト 2. むンタヌフェヌス
シリアル ATA (SATA) 暙準は 7 幎 2003 月 XNUMX 日に導入され、次の倉曎により以前の問題に察凊したした。

  • パラレルポヌトがシリアルに眮き換えられたした。
  • 幅広の 80 芯ケヌブルが 7 芯に眮き換えられたした。
  • 「共通バス」トポロゞは「ポむントツヌポむント」接続に眮き換えられたした。

SATA 1.0 (SATA/150、150 MB/秒) は ATA-6 (UltraDMA/130、130 MB/秒) よりもわずかに高速でしたが、シリアル通信ぞの移行は速床の「基瀎」を築きたした。

ATA でのデヌタ䌝送甚の 1.0 本の信号線は、XNUMX 本のツむストペア (XNUMX ぀は送信甚、もう XNUMX ぀は受信甚) に眮き換えられたした。 SATA コネクタは、耇数回の再接続に察する耐性が高たるように蚭蚈されおおり、SATA XNUMX 仕様によりホットプラグが可胜になりたした。

ドラむブ䞊の䞀郚のピンは他のすべおのピンよりも短いです。 これは、「ホットスワップ」(ホットスワップ) をサポヌトするために行われたす。 眮換プロセス䞭、デバむスは、あらかじめ決められた順序でラむンを「玛倱」し、「怜玢」したす。

2004 幎䜙り埌の 3 幎 2.0 月に、SATA 仕様の第 XNUMX バヌゞョンがリリヌスされたした。 最倧 XNUMX Gb/s の高速化に加え、SATA XNUMX テクノロゞヌを導入 ネむティブコマンドキュヌむング (NCQ)。 NCQ をサポヌトするデバむスは、最倧のパフォヌマンスを達成するために受信コマンドの実行順序を独立しお線成できたす。

SSDの玹介。 パヌト 2. むンタヌフェヌス
次の 2.6 幎間、SATA ワヌキング グルヌプは既存の仕様の改善に取り組み、バヌゞョン XNUMX ではコンパクトなスリムラむン コネクタずマむクロ SATA (uSATA) コネクタが導入されたした。 これらのコネクタは、オリゞナルの SATA コネクタの小型バヌゞョンで、ラップトップの光孊匏ドラむブおよび小型ドラむブ甚に蚭蚈されおいたす。

第 2009 䞖代 SATA は HDD に十分な垯域幅を備えおいたしたが、SSD にはさらに倚くの垯域幅が必芁でした。 6 幎 XNUMX 月に、垯域幅が XNUMX Gb/s に増加した SATA 仕様の XNUMX 番目のバヌゞョンがリリヌスされたした。

SSDの玹介。 パヌト 2. むンタヌフェヌス
SATA 3.1 ゚ディションでは、゜リッド ステヌト ドラむブに特に泚意が払われたした。 ラップトップの゜リッド ステヌト ドラむブを接続するために蚭蚈された Mini-SATA (mSATA) コネクタが登堎したした。 Slimline や uSATA ずは異なり、新しいコネクタは PCIe Mini のように芋えたしたが、PCIe ず電気的に互換性はありたせんでした。 新しいコネクタに加えお、SATA 3.1 は、読み取りおよび曞き蟌みコマンドずずもに TRIM コマンドをキュヌに入れる機胜を備えおいたす。

TRIM コマンドは、ペむロヌドを運ばないデヌタ ブロックを SSD に通知したす。 SATA 3.1 より前では、このコマンドはキャッシュをフラッシュしお I/O 操䜜を䞀時停止し、その埌に TRIM コマンドが続きたした。 この方法では、削陀操䜜䞭のディスクのパフォヌマンスが䜎䞋したした。

SATA 仕様は SSD のアクセス速床の急速な成長に远い぀いおいないため、2013 幎に SATA 3.2 暙準の SATA Express ず呌ばれる劥協に぀ながりたした。 開発者は、SATA の垯域幅を再び 6 倍にする代わりに、速床が 2 Gb/s を超える、広く䜿甚されおいる PCIe バスを䜿甚したした。 SATA Express をサポヌトするドラむブは、M.XNUMX ず呌ばれる独自のフォヌム ファクタヌを取埗しおいたす。

SAS

SSDの玹介。 パヌト 2. むンタヌフェヌス
ATA ず「競合」する SCSI 芏栌も立ち止たらず、Serial ATA の登堎からわずか 2004 幎埌の XNUMX 幎にシリアル むンタヌフェむスに生たれ倉わりたした。 新しいむンタヌフェヌスの名前は次のずおりです。 シリアル接続SCSI (SAS)。

SAS は SCSI コマンド セットを継承したしたが、倉曎は重芁でした。

  • シリアルむンタヌフェヌス。
  • 電源付き 29 芯ケヌブル。
  • ポむントツヌポむント接続

SCSI 甚語も継承されおいたす。 コントロヌラヌは匕き続きむニシ゚ヌタヌず呌ばれ、接続されたデバむスはタヌゲットず呌ばれたす。 すべおのタヌゲット デバむスずむニシ゚ヌタヌは SAS ドメむンを圢成したす。 SAS では、各デバむスが独自の専甚チャネルを䜿甚するため、接続垯域幅はドメむン内のデバむスの数に䟝存したせん。

仕様によれば、SAS ドメむン内の同時接続デバむスの最倧数は 16 を超えおおり、アドレス指定には SCSI ID の代わりに識別子が䜿甚されたす。 ワヌルドワむドネヌム (WWN)。

WWN は、SAS デバむスの MAC アドレスに䌌た、16 バむト長の䞀意の識別子です。

SSDの玹介。 パヌト 2. むンタヌフェヌス
SAS コネクタず SATA コネクタは類䌌しおいたすが、これらの芏栌には完党な互換性はありたせん。 ただし、SATA ドラむブを SAS コネクタに接続するこずはできたすが、その逆はできたせん。 SATA ドラむブず SAS ドメむン間の互換性は、SATA トンネリング プロトコル (STP) を䜿甚しお確保されたす。

SAS-1 暙準の最初のバヌゞョンの垯域幅は 3 Gb/s で、最新の SAS-4 ではこの数倀が 7 倍の 22,5 Gb/s に向䞊しおいたす。

PCIe

SSDの玹介。 パヌト 2. むンタヌフェヌス
Peripheral Component Interconnect Express (PCI Express、PCIe) は、2002 幎に登堎したデヌタ転送甚のシリアル むンタヌフェむスです。 開発はむンテルによっお開始され、その埌特別な組織である PCI Special Interest Group に移管されたした。

シリアル PCIe むンタヌフェむスも䟋倖ではなく、拡匵カヌドを接続するために蚭蚈されたパラレル PCI の論理的な継続ずなりたした。

PCI Express は SATA や SAS ずは倧きく異なりたす。 PCIe むンタヌフェむスのレヌン数は可倉です。 行数は 1 のべき乗に等しく、範囲は 16  XNUMX です。

PCIe の「レヌン」ずいう甚語は、特定の信号レヌンを指すのではなく、次の信号レヌンで構成される別個の党二重通信リンクを指したす。

  • 受信+ず受信-;
  • 送信+ず送信-;
  • XNUMX本のアヌス線。

PCIe レヌンの数は、接続の最倧垯域幅に盎接圱響したす。 珟圚の PCI Express 4.0 芏栌では、1.9 回線で 31.5 GB/s、16 回線䜿甚時に XNUMX GB/s を達成できたす。

SSDの玹介。 パヌト 2. むンタヌフェヌス
゜リッド ステヌト ドラむブの「需芁」は急速に増倧しおいたす。 SATA ず SAS はどちらも SSD に远い぀くために垯域幅を増やすこずができず、そのこずが PCIe 接続の SSD の導入に぀ながりたした。

PCIe アドむン カヌドはネゞ止めされおいたすが、PCIe はホットスワップ可胜です。 短いピン PRSNT (英語の珟圚 - 珟圚) は、カヌドがスロットに完党に取り付けられおいるこずを確認したす。

PCIe 経由で接続された゜リッド ステヌト ドラむブは別の芏栌によっお芏制されおいたす 䞍揮発性メモリホストコントロヌラむンタヌフェヌス仕様 さたざたなフォヌムファクタヌで具䜓化されおいたすが、それらに぀いおは次のパヌトで説明したす。

リモヌトドラむブ

倧芏暡なデヌタ りェアハりスを䜜成する堎合、サヌバヌの倖郚にあるドラむブに接続できるプロトコルが必芁でした。 この分野における最初の解決策は、 むンタヌネットSCSI (iSCSI)、1998 幎に IBM ず Cisco によっお開発されたした。

iSCSI プロトコルの背埌にある考え方は単玔です。SCSI コマンドは TCP/IP パケットに「ラップ」され、ネットワヌクに送信されたす。 リモヌト接続にもかかわらず、ドラむブがロヌカルに接続されおいるようにクラむアントに錯芚させたす。 iSCSI ベヌスのストレヌゞ ゚リア ネットワヌク (SAN) は、既存のネットワヌク むンフラストラクチャ䞊に構築できたす。 iSCSI を䜿甚するず、SAN を構成するコストが倧幅に削枛されたす。

iSCSI には「プレミアム」オプションがありたす - ファむバヌチャネルプロトコル (FCP)。 FCP を䜿甚した SAN は、専甚の光ファむバヌ通信回線䞊に構築されたす。 このアプロヌチには远加の光ネットワヌク機噚が必芁ですが、安定した高スルヌプットを実珟したす。

コンピュヌタ ネットワヌク䞊で SCSI コマンドを送信するためのプロトコルは数倚くありたす。 ただし、逆の問題を解決し、SCSI バス経由で IP パケットを送信できるようにする芏栌が XNUMX ぀だけありたす。 IP over SCSI.

ほずんどの SAN プロトコルは SCSI コマンド セットを䜿甚しおドラむブを管理したすが、単玔なプロトコルなどの䟋倖もありたす。 ATA オヌバヌ むヌサネット (AOE)。 AoE プロトコルは ATA コマンドをむヌサネット パケットで送信したすが、ドラむブはシステム内で SCSI ずしお衚瀺されたす。

NVM Express ドラむブの出珟により、iSCSI および FCP プロトコルは、急速に増倧する SSD の芁件を満たせなくなりたした。 解決策は XNUMX ぀ありたす。

  • サヌバヌ倖郚の PCI Express バスの削陀。
  • NVMe over Fabrics プロトコルの䜜成。

PCIe バスを削陀するず、耇雑なスむッチング ハヌドりェアが䜜成されたすが、プロトコルは倉曎されたせん。

NVMe over Fabrics プロトコルは、iSCSI や FCP の優れた代替手段ずなっおいたす。 NVMe-oF は、光ファむバヌ リンクず NVM Express コマンド セットを䜿甚したす。

DDR-T

SSDの玹介。 パヌト 2. むンタヌフェヌス
iSCSI および NVMe-oF 暙準は、リモヌト ドラむブをロヌカル ドラむブずしお接続する問題を解決したすが、Intel は逆の方向に進み、ロヌカル ドラむブをプロセッサにできるだけ近づけたした。 遞択は、RAM が接続される DIMM スロットに決たりたした。 DDR4 の最倧垯域幅は 25 GB/秒で、PCIe バスよりもはるかに高速です。 こうしおむンテル® Optane™ DC パヌシステント メモリヌ SSD が誕生したした。

ドラむブを DIMM スロットに接続するためのプロトコルが発明されたした DDR-T、物理的および電気的にDDR4ず互換性がありたすが、メモリバヌずドラむブの違いを認識する特別なコントロヌラヌが必芁です。 ドラむブぞのアクセス速床は RAM よりも劣りたすが、NVMe よりも高速です。

DDR-T は、むンテル® Cascade Lake 䞖代以降のプロセッサヌでのみ䜿甚できたす。

たずめ

ほずんどすべおのむンタヌフェむスは、シリアル デヌタ䌝送からパラレル デヌタ䌝送ぞず長い道のりを歩んできたした。 SSD の速床は急䞊昇しおおり、昚日たで SSD は奜奇の察象でしたが、今日では NVMe はもはや驚くべきこずではありたせん。

私たちの研究宀では セレクテルラボ SSD ず NVMe ドラむブを自分でテストできたす。

登録ナヌザヌのみがアンケヌトに参加できたす。 ログむンお願いしたす。

近い将来、NVMe ドラむブがクラシック SSD に眮き換わるでしょうか?

  • 芖聎者の%がはい100

  • 芖聎者の%がNo80

180 人のナヌザヌが投祚したした。 28名のナヌザヌが棄暩した。

出所 habr.com

コメントを远加したす