Bevezetés az SSD-be. 2. rész. Interfész

Bevezetés az SSD-be. 2. rész. Interfész

A az előző részben A „Bevezetés az SSD-be” ciklusunkban beszéltünk a meghajtók megjelenésének történetéről. A második rész a tárolókkal való kapcsolattartás interfészeiről fog szólni.

A kommunikáció a processzor és a perifériás eszközök között előre meghatározott megállapodásoknak megfelelően zajlik, amelyeket interfészeknek nevezünk. Ezek a megállapodások szabályozzák a kapcsolattartás fizikai és programozási szintjét.

Az interfész egyesíti a rendszer elemei közötti kölcsönhatás eszközeit, módszereit és szabályait.

Az interfész fizikai megvalósítása a következő paraméterekre hat:

  • az adatátviteli csatorna sávszélessége;
  • a maximálisan egyszerre csatlakoztatott eszközök száma;
  • a felmerülő hibák száma.

A lemezes interfészek a bemeneti-kimeneti portokra, ami ellentéte a memória keresztül történő bemenetnek-kimenetnek, és nem foglal helyet a processzor címzési térségeiben.

Párhuzamos és soros portok

Az adatcserére vonatkozóan a bemeneti-kimeneti portokat két típusra osztjuk:

  • párhuzamos;
  • soros.

Ahogy a neve is sugallja, a párhuzamos port egyszerre küld egy gépi szót, amely több bitből áll. A párhuzamos port a legegyszerűbb adatcsere módja, mivel nem igényel bonyolult áramkonstrukciókat. A legegyszerűbb esetben minden bit gépi szó saját jelvonalán küldődik, és a visszajelzéshez két segédjelvonalat használnak: Az adatok készen állnak és Az adatok elfogadva.

Bevezetés az SSD-be. 2. rész. Interfész
A párhuzamos portok első pillantásra jól skálázhatók: több jelvonal több bit egyidejű átvitelét jelenti, így magasabb sávszélességet eredményez. Ennek ellenére a jelvonalak számának növekedése közötti interferenciás kölcsönhatás torzítja az átadott üzeneteket.

A soros portok a párhuzamos portok ellentétei. Az adatküldés egyszerre egy biten történik, ami csökkenti a szükséges jelvonalak számát, de bonyolultabbá teszi a bemeneti-kimeneti vezérlőt. A küldő vezérlő egyszerre kapja meg a gépi szót, és egyesével kell átküldenie a biteket, míg a vevő vezérlőnek a biteket kell átvinnie és ugyanabban a sorrendben kell tárolnia.

Bevezetés az SSD-be. 2. rész. Interfész
A kevés jelvonal lehetővé teszi a kommunikációs frekvencia hibátlan növelését.

SCSI

Bevezetés az SSD-be. 2. rész. Interfész
A Kis Számítógépes Rendszerek Interfész (SCSI) 1978-ban jelent meg, és eredetileg arra tervezték, hogy különböző profilú eszközöket egyetlen rendszerbe egyesítsen. A SCSI-1 specifikáció legfeljebb 8 eszköz csatlakoztatását tette lehetővé (a vezérlővel együtt), például:

  • szkennerek;
  • szalagos tárolók (streamerek);
  • optikai meghajtók;
  • merevlemezek és egyéb eszközök.

Kezdetben a SCSI neve Shugart Associates System Interface (SASI) volt, de a szabványügyi bizottság nem hagyta jóvá a cég nevéről való elnevezést, így agytámogató délután után megszületett a Small Computer Systems Interface (SCSI) elnevezés. A SCSI "atyja", Larry Boucher úgy képzelte, hogy a rövidítést "szexi"-nek ejtjük, de Dal Allan ezt "sсuzzy"-nak ("szazi") olvasta. Később a "szazi" kiejtés szorosan rögzült a szabványhoz.

A SCSI terminológiában a csatlakoztatható eszközök két típust alkotnak:

  • kezdeményezők;
  • célállomások.

A kezdeményező parancsot küld a célállomásnak, amely ezután visszaküldi a választ a kezdeményezőnek. A kezdeményezők és célállomások közös SCSI buszhoz csatlakoznak, melynek átvitelének sebessége a SCSI-1 szabvány szerint 5 MB/s.

A használt "közös busz" topológia számos korlátozást jelent:

  • a busz végén speciális eszközök – terminátorok – szükségesek;
  • a busz sávszélessége eloszlik az összes eszköz között;
  • a csatlakoztatott eszközök maximális száma korlátozott.

Bevezetés az SSD-be. 2. rész. Interfész

A buszon az eszközöket egy egyedi azonosító szám alapján azonosítják, amelyet SCSI Target ID. Minden SCSI-eszköz a rendszerben legalább egy logikai egységgel rendelkezik, amelynek címezése a fizikai eszközön belül egyedülálló szám alapján történik: Logical Unit Number (LUN).

Bevezetés az SSD-be. 2. rész. Interfész
A SCSI parancsokat parancsleíró blokkokban (Command Descriptor Block, CDB) küldik, amelyek műveleti kódot és parancsparamétereket tartalmaznak. A szabványban több mint 200 parancs szerepel, négy kategóriába sorolva:

  • Kötelező – eszköz által támogatnia kell;
  • Opcionális – megvalósíthatók;
  • Gyártó-specifikus – adott gyárt ó használja;
  • Elavult – elavult parancsok.

A számos parancs közül csak három kötelező az eszközök számára:

  • TEST UNIT READY – az eszköz készenléti állapotának ellenőrzése;
  • REQUEST SENSE – a korábbi parancs hibaüzenetének kérése;
  • INQUIRY – az eszköz alapvető jellemzőinek lekérdezése.

A parancs begyűjtése és feldolgozása után a célkészülék egy státuszkódot küld az indítónak, amely leírja a végrehajtás eredményét.

A SCSI (SCSI-2 és Ultra SCSI specifikációk) további továbbfejlesztése kibővítette a felhasználható parancsok listáját, és a csatlakoztatható eszközök számát 16-ra növelte, míg az adatátviteli sebesség a buszon 640 MB/s-ra emelkedett. Mivel a SCSI párhuzamos interfész, az adatátviteli sebesség növelése a kábel maximális hosszának csökkenésével járt, ami nehézkessé tette a használatát.

Az Ultra-3 SCSI szabvány bevezetésével megjelent a „forró csatlakoztatás” támogatása — eszközök csatlakoztatása áram alatt.

Az első ismert SCSI interfészes SSD-t az M-Systems FFD-350 képviseli, amelyet 1995-ben adtak ki. A meghajtó magas költsége és korlátozott elterjedése jellemezte.

Jelenleg a párhuzamos SCSI nem népszerű lemezcsatlakozási interfész, de a parancskészlet továbbra is aktívan használatban van az USB és SAS interfészekben.

ATA / PATA

Bevezetés az SSD-be. 2. rész. Interfész
Felület ATA (Advanced Technology Attachment), más néven PATA (Parallel ATA) a Western Digital által került kidolgozásra 1986-ban. A szabvány piaci neve IDE (angolul Integrated Drive Electronics — „beépített meghajtóelektronika”) hangsúlyozta a fontos újítást: a meghajtó vezérlője beépítve lett a meghajtóba, nem pedig külön bővítőkártyán.

A vezérlő belső elhelyezése a meghajtón számos problémát megoldott. Először is, csökkent a távolság a tároló és a vezérlő között, ami kedvezően hatott a tároló jellemzőire. Másodszor, a beépített vezérlő csak egy meghatározott típusú meghajtóra volt „optimalizálva”, így olcsóbb is volt.

Bevezetés az SSD-be. 2. rész. Interfész
Az ATA, akárcsak a SCSI, párhuzamos bemeneti-kimeneti módszert alkalmaz, ami tükröződik a használt kábelekben. Az IDE interfészt alkalmazó lemezek csatlakoztatásához 40 érintős káberek, más néven szalagkáberek szükségesek. Későbbi specifikációk esetében 80 érintős szalagkábelt használnak, melyek több mint felét árnyékolásra használják a magas frekvenciás zavar csökkentésére.

Az ATA szalagon kettőtől négy csatlakozóig terjed, az egyik a alaplapra csatlakozik, a többi pedig a tárolókhoz. Ha két eszközt csatlakoztatnak egy szalagra, az egyiknek "Master"-ként kell konfigurálni, míg a másiknak "Slave"-ként. Master, a másik pedig Slave. A harmadik eszköz kizárólag "csak olvasás" módban csatlakoztatható.

Bevezetés az SSD-be. 2. rész. Interfész
A jumper pozíciója határozza meg a konkrét eszköz szerepét. A Master és Slave kifejezések az eszközökkel kapcsolatban nem teljesen pontosak, mivel a vezérlőhöz viszonyítva minden csatlakoztatott eszköz – Slave.

Az ATA-3 egyik különleges újítása a Önellenőrzés, Elemzés és Jelentés Technológia (S.M.A.R.T.). Öt cég (IBM, Seagate, Quantum, Conner és Western Digital) egyesítette erejét és standardizálta a tárolóberendezések állapotának értékelésére szolgáló technológiát.

A szilárdtest-meghajtók támogatása az 1998-ban megjelent szabvány negyedik verziójával kezdődött. Ez a verzió biztosította az adatátvitel sebességét akár 33,3 MB/s-ig.

A szabvány szigorú követelményeket támaszt az ATA kábelekkel szemben:

  • a kábelnek mindenképpen laposnak kell lennie;
  • a kábel maximális hossza 18 hüvelyk (45,7 centiméter).

A rövid és széles kábel kényelmetlen volt és zavaró a hűtés szempontjából. A következő verziók során egyre nehezebbé vált a sebesség növelése, és az ATA-7 radikálisan megoldotta a problémát: a párhuzamos interfészt sorosra cserélték. Ezt követően az ATA megkapta a Parallel szót, és PATA néven vált ismertté, a hetedik verzió pedig új nevet kapott – Serial ATA. A SATA verziók számozása az egyes számmal kezdődött.

SATA

Bevezetés az SSD-be. 2. rész. Interfész
A Serial ATA (SATA) szabvány 2003. január 7-én került bemutatásra, és az elődjének problémáit a következő módosításokkal oldotta meg:

  • a párhuzamos portot sorosra cserélték;
  • a széles 80 érintkezős kábelt 7 érintkezős kábel váltotta fel;
  • a "közös busz" topológia helyett "pont-pont" kapcsolat került bevezetésre.

Bár a SATA 1.0 (SATA/150, 150 MB/s) csak kismértékben volt gyorsabb, mint az ATA-6 (UltraDMA/130, 130 MB/s), a soros adatátvitelre való áttérés "megalapozta a sebességek növelését".

A hat jelvonal, ami az adatok átadására szolgált az ATA-ban, két csavart párra lett cserélve: egy az átadásra, a másik a fogadásra. A SATA csatlakozók úgy lettek tervezve, hogy jobban ellenálljanak a többszöri újracsatlakoztatásnak, és a SATA 1.0 specifikáció lehetővé tette a "forró csatlakozást" (Hot Plug).

Néhány tű a meghajtókon rövidebb, mint a többi. Ezt a "forró csere" (Hot Swap) támogatása érdekében tették. A csere során az eszköz "elveszti" és "megtalálja" a vonalakat egy előre meghatározott sorrendben.

Kicsivel több mint egy évvel később, 2004 áprilisában megjelent a SATA specifikáció második verziója. A 3 Gbit/s sebesség mellett a SATA 2.0 bevezette a technológiát, Native Command Queuing (NCQ). Az NCQ-t támogató eszközök képesek önállóan megszervezni a beérkező parancsok végrehajtási sorrendjét a maximális teljesítmény elérése érdekében.

Bevezetés az SSD-be. 2. rész. Interfész
A következő három évben a SATA Working Group a meglévő specifikáció javításán dolgozott, és a 2.6-os verzióban megjelentek a kompakt Slimline és micro SATA (uSATA) csatlakozók. Ezek a csatlakozók az eredeti SATA csatlakozó csökkentett másolatai, amelyeket optikai meghajtókhoz és kis meghajtókhoz terveztek laptopokban.

Bár a második generációs SATA sávszélessége elegendő volt a merevlemezek számára, a szilárdtest-meghajtók nagyobb sebességet igényeltek. 2009 májusában megjelent a SATA specifikáció harmadik verziója, amelynek sávszélessége 6 Gbit/s-ra nőtt.

Bevezetés az SSD-be. 2. rész. Interfész
A szilárdtest-meghajtókra külön figyelmet fordítottak a SATA 3.1-es verzióban. Megjelent egy Mini-SATA (mSATA) csatlakozó, amely a szilárdtest-meghajtók laptopokhoz való csatlakoztatására szolgál. A Slimline és uSATA csatlakozókkal ellentétben az új csatlakozó hasonlított a PCIe Mini-re, bár elektromosan nem volt kompatibilis a PCIe-vel. A SATA 3.1 emellett a TRIM parancsok sorba állításának lehetőségével büszkélkedhetett olvasási és írási parancsokkal együtt.

A TRIM parancs értesíti a szilárdtest-meghajtót azokról az adatblokkakról, amelyek nem hordoznak hasznos terhet. A SATA 3.1 előtt ennek a parancsnak a végrehajtása a gyorsítótárak nullázásához és az I/O műveletek felfüggesztéséhez vezetett, majd a TRIM parancs végrehajtásához. Ez a megközelítés rontotta a lemez teljesítményét az eltávolítási műveletek során.

A SATA specifikáció nem tartott lépést a szilárdtest-meghajtók hozzáférési sebességének heves növekedésével, ami 2013-ban a SATA 3.2 szabványban megjelenő SATA Express kompromisszomához vezetett. Ahelyett, hogy ismét megduplázták volna a SATA sávszélességét, a fejlesztők kihasználták a széles körben elterjedt PCIe buszt, amelynek sebessége meghaladja a 6 Gbit/s-t. A SATA Express-t támogató meghajtók külön formátumot kaptak, amelyet M.2-nek neveztek el.

SAS

Bevezetés az SSD-be. 2. rész. Interfész
A SATA-hoz versenyképes ATA szabvány, a SCSI sem állt meg, és csak egy évvel a Serial ATA megjelenése után, 2004-ben, soros interfészként újjászületett. Az új interfész neve — Serial Attached SCSI (SAS).

Bár a SAS örökölte a SCSI utasításkészletet, a változások jelentősek voltak:

  • sorozatos interfész;
  • 29 érintkezővel rendelkező tápkábel;
  • pont-pont csatlakozás

A SCSI terminológia szintén öröklődött. A vezérlőt továbbra is kezdeményezőnek nevezik, a csatlakoztatott eszközöket pedig céleszközöknek. Minden céleszköz és kezdeményező SAS domént alkot. A SAS-ban a kapcsolódás sávszélessége nem függ a domainekben lévő eszközök számától, mivel minden eszköz saját dedikált csatornáját használja.

A specifikáció szerint a SAS-domeenben egyszerre csatlakoztatható eszközök maximális száma meghaladja a 16 ezret, míg az SCSI ID helyett az azonosítót használják World-Wide Name (WWN).

A WWN egy 16 bájt hosszú egyedi azonosító, amely a MAC-címekhez hasonló a SAS-eszközök számára.

Bevezetés az SSD-be. 2. rész. Interfész
Bár a SAS és SATA csatlakozók hasonlóak, ezek a szabványok nem teljesen kompatibilisek. Ennek ellenére a SATA meghajtó csatlakoztatható SAS csatlakozóba, de fordítva nem. A SATA és a SAS domainek közötti kompatibilitást a SATA Tunneling Protocol (STP) biztosítja.

Az első SAS-1 szabvány verzió sávszélessége 3 Gbit/s, a legújabb, a SAS-4 pedig ezt a számot hétszeresére növelte: 22,5 Gbit/s.

PCIe

Bevezetés az SSD-be. 2. rész. Interfész
Peripheral Component Interconnect Express (PCI Express, PCIe) — 2002-ben megjelent sorozatos interfész az adatok átvitelére. A fejlesztést az Intel indította, később pedig egy erre specializálódott szervezet, a PCI Special Interest Group vette át.

A PCIe sorozatos interfész nem volt kivétel, és a párhuzamos PCI logikus folytatásává vált, amely a bővítőkártyák csatlakoztatására szolgált.

A PCI Express jelentősen eltér a SATA-tól és SAS-tól. A PCIe interfész változó számú vonallal rendelkezik. A vonalak száma a kettes hatványainak megfelelően, 1-től 16-ig terjed.

A PCIe-ben a 'vonala' kifejezés nem konkrét jelzővonalat jelöl, hanem egy különálló, teljes duplex csatornát, amely a következő jelzővonalakból áll:

  • vétel+ és vétel-;
  • küldés+ és küldés-;
  • négy földelési vezeték.

A PCIe vonalak száma közvetlen hatással van a kapcsolat maximális sávszélességére. A modern PCI Express 4.0 szabvány lehetővé teszi, hogy egy vonalon 1,9 GByte/s, 16 vonal használatával pedig 31,5 GByte/s sebességet érjünk el.

Bevezetés az SSD-be. 2. rész. Interfész
A szilárdtest-alapú tárolók "étvágya" rendkívül gyorsan növekszik. A SATA és a SAS nem képesek megfelelően növelni sávszélességüket, hogy lépést tudjanak tartani az SSD-kkel, ami PCIe csatlakozású SSD-k megjelenéséhez vezetett.

Bár a PCIe bővítőkártyák csavarozásos rendszerben rögzülnek, a PCIe támogatja a "hot swap" funkciót. A rövid PRSNT tűk (angolul present – jelen) lehetővé teszik, hogy megbizonyosodjunk arról, hogy a kártya teljesen a helyén van.

A PCIe csatlakozású szilárdtest-alapú tárolókat külön standard szabályozza. A Non-Volatile Memory Host Controller Interface Specification és sokféle formátumban megvalósulnak, de erről a következő részben beszélünk.

Távoli tárolók

A nagy tárolórendszerek létrehozásánál felmerült az igény arra, hogy olyan protokollokat valósítsanak meg, amelyek lehetővé teszik, hogy a tárolók a szerveren kívül helyezkedjenek el. Az első megoldás ezen a területen a Internet SCSI (iSCSI) volt, amelyet az IBM és a Cisco fejlesztett ki 1998-ban.

Az iSCSI protokoll ötlete egyszerű: a SCSI parancsokat TCP/IP csomagokba "becsomagolják" és továbbítják a hálózaton. A távoli csatlakozás ellenére az ügyfelek számára az illúziót kelti, hogy a tároló helyben csatlakozik. Az iSCSI alapú tárolóhálózat (Storage Area Network, SAN) meglévő hálózati infrastruktúrára építhető. Az iSCSI használata jelentősen csökkenti a SAN kiépítésének költségeit.

Az iSCSI-nak létezik egy "premium" változata — Fibre Channel Protocol (FCP). Az FCP-t használó SAN dedikált optikai szálas kapcsolaton épül fel. Ez a megközelítés további optikai hálózati berendezéseket igényel, de stabilitásában és magas sávszélességében különbözik.

Számos protokoll létezik a SCSI parancsok számítógépes hálózatokon való továbbítására. Ennek ellenére csak egy szabvány létezik, amely a fordított problémát oldja meg, és lehetővé teszi IP-csomagok küldését SCSI buszon — IP-over-SCSI.

A SAN kialakításához használt protokollok többsége SCSI parancskészletet alkalmaz a tárolók kezelésére, de vannak kivételek, például a egyszerű ATA over Ethernet (AoE). Az AoE protokoll ATA parancsokat küld Ethernet-csomagokban, de a rendszerben a tárolók SCSI-ként jelennek meg.

A NVM Express tárolók megjelenésével az iSCSI és az FCP protokollok már nem feleltek meg a szilárdtest-alapú tárolók gyorsan növekvő igényeinek. Két megoldás született:

  • a PCI Express busz kivezetése a szerveren kívülre;
  • az NVMe over Fabrics protokoll létrehozása.

A PCIe bus exit involves creating complex switching equipment but does not alter the protocol.

The NVMe over Fabrics protocol has become a good alternative to iSCSI and FCP. NVMe-oF uses fiber-optic lines and the NVM Express command set.

DDR-T

Bevezetés az SSD-be. 2. rész. Interfész
The iSCSI and NVMe-oF standards address the task of connecting remote drives as local ones, while Intel has taken a different path by bringing the local drive closer to the processor. The choice fell on DIMM slots used for connecting RAM. The maximum bandwidth of the DDR4 channel is 25 GB/s, which significantly exceeds the speed of the PCIe bus. This led to the creation of the Intel® Optane™ DC Persistent Memory.

To connect the drive in DIMM slots, a protocol was invented DDR-T, physically and electrically compatible with DDR4, but requiring a special controller that recognizes the difference between a memory stick and a storage device. The access speed to the storage device is lower than that of RAM but higher than that of NVMe.

The DDR-T protocol is only available with Intel® processors of the Cascade Lake generation or newer.

Zárás

Almost all interfaces have undergone a long development path from serial to parallel data transmission methods. The speeds of solid-state drives are rapidly increasing; just yesterday, SSDs were a novelty, and today NVMe is no longer particularly surprising.

In our laboratory Selectel Lab you can test SSD and NVMe drives yourself.

Csak a regisztrált felhasználók vehetnek részt a szavazáson. Kérem, jelentkezzen be., kérem.

Will NVMe drives replace classic SSDs in the near future?

  • 55.5%Yes100

  • 44.4%No80

180 users voted. 28 users abstained.

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster