NVMe SSD

NVMe SSD и NVM Express – Всичко, което трябва да знаем

Този „буквар“ за NVMe SSD обхваща разнообразие от форм-фактори, които NVM Express устройствата предлагат, както и информация как бизнесът би могъл да се възползва от технологията за съхранение

SSD продължава да се налага на корпоративните, професионалните и потребителските пазари. Все повече излиза от мода използването на комбинация от SSD + HDD. За да използва напълно потенциала на SSD технологията за съхранение, индустрията е разработила NVM Express като стандартен комуникационен интерфейс за SSD дискове.

Какво е NVM Express?

NVM Express (NVMe) или Non-Volatile Memory Host Controller Interface Specification е спецификация на интерфейса на устройството, създадена, за да се възползваме от характерните предимства на технологиите за съхранение, базирани на флаш, като NAND и 3D XPoint, предлагани като Optane от Intel .

Преди появата на NVM Express връзката между SSD дисковете и компютрите се осъществяваше чрез Serial ATA или SAS и комуникираха помежду си с помощта на Advanced Host Controller Interface (AHCI). Тези технологии са предназначени за традиционни механични твърди дискове, които имат физически ограничения при произволен достъп до данни и скоростта, с която данните могат да се прехвърлят наведнъж. До края на 2010 г. масовите потребителски SSD дискове бяха затруднени от сравнително ограничената производителност, предоставена от SATA. На професионалния и потребителския пазар това ограничение беше преодоляно чрез създаване на SSD дискове, които се свързват чрез PCI Express.

Скорост > 6Gbit/s

Тази стратегия позволява на производителите да преодолеят ограничението на скоростта от 6Gb / s (750MB / s), присъщо на SATA, като SSD дисковете достигат около 550MB / sec. Тези устройства обаче използваха AHCI или спецификация на потребителски интерфейс. Поради персонализирания дизайн на тези устройства са необходими специфични за софтуерни драйвери за използване. В резултат на това ранните PCI Express SSD дискове бяха по-сложни за зареждане на операционната система, ако доставчикът не поддържа съответните драйвери.

NVM Express елиминира тези проблеми, като предоставя общ интерфейс за използване на устройствата. Общата спецификация на драйвера елиминира необходимостта от специфични за устройството драйвери.

Трябва да се отбележи, че традиционните твърди дискове обикновено се предлагат в 3,5-инчови и 2,5-инчови варианти (форм-фактори), а SSD дисковете обикновено се предлагат като 2,5-инчови или mSATA карти. Свързаните с NVMe дискове имат различни форм-фактори. Най-често срещаният е M.2 формат, който е широк 22 мм с дължини 30, 42, 80 или по-рядко 110 милиметра. (M.2 включва SATA възможности за обратна съвместимост.) Форматът NF1 е вариант на M.2, ориентиран към Data центровете. Той позволява за високоскоростна обмяна на данни. 2,5 -инчовите U.2 устройства, известни преди като SFF-8639, имат специален конектор за осигуряване на PCI Express комуникация. Някои устройства от висок клас се предлагат само като PCI Express карти. Обикновено размерите им са наполовина на стандартните.

Защо NVM Express има значение?

NVM Express позволява на производителите на устройства да създават по-ефективни продукти, без да се ограничават от слабата производителността на SATA / SAS и AHCI, които са били предназначени за традиционните твърди дискове. Когато работите с множество файлове на HDD, главата на устройството трябва да се движи с висока скорост през различни части на устройството, за да чете и записва данни на диска. Докато кеширането и други трикове на фърмуера маскират това, традиционните твърди дискове ефективно могат да работят само с един файл наведнъж.

В резултат AHCI – който е проектиран за HDD – има само една опашка от команди, с максимум 32 команди на опашка. Тъй като това механично ограничение не съществува в SSD (които нямат задвижваща глава), този атрибут на AHCI е изключително неблагоприятен. NVMe се справя с проблема – тя поддържа до 65535 командни опашки, като всяка от тях може да има до 65536 команди на опашка. (Посочената възможност зависи от спецификацията на продукта. За да се възползвате практически от нея, контролерът на задвижването трябва да я поддържа.)

По същия начин NVMe предлага 2048 прекъсвания на MSI-X, докато AHCI предлага едно прекъсване без възможност за управление. Параметрите на 4K командите на NVMe се изпълняват в едно извличане, докато AHCI изисква две извличания на RAM хост. Освен това NVMe не изисква заключване за паралелни инструкции.

Множество фактори, като типа на използваната flash памет, както и контролерът на устройството и фърмуера, могат да повлияят на относителната производителност на SSD устройствата.

Какво ще промени технологията NVM Express?

В предприятията налагането на NVM Express може значително да увеличи производителността на базите данни. През 2015 г. изследователи от Университета на Южна Калифорния и държавния университет в Сан Хосе, работещи съвместно със Samsung, установиха, че архитектурните различия в NVMe водят до „четворно намаляване на системните разходи за софтуер“, считано от версия 3.14 на ядрото на Linux. Изследователите посочват, че в сравнение със SATA устройство, едно NVMe устройство „може да засили производителността до 8 пъти“ при натоварване на базата данни. По подобен начин едно NVMe устройство превъзхожда RAID0 масив от четири SATA SSD с „до 5 пъти“.

За професионална и потребителска употреба – като редактиране на графики и производство на видео – предимствата са малко по-скромни. Причината е, че тези дейности разчитат повече на сурови скорости на четене / запис, отколкото на произволни I / O възможности на устройствата. За тези случаи на употреба NVMe предлага около 6 пъти увеличение на скоростта на четене и 5,25 пъти увеличение на скоростта на запис спрямо подобен SATA SSD.

Кога се появи NVM Express?

Първото издание на спецификацията NVMe беше през март 2011 г., докато текущата версия (1.3c) беше пусната през май 2018 г.

Всяка основна операционна система включва поддръжка за NVM Express. Microsoft включи вградена поддръжка за NVMe в Windows 8.1 и Server 2012 R2 през октомври 2013 г., с поддръжка на Windows 7 и Server 2008 R2 чрез Windows Update. Apple добави поддръжка за NVMe в OS X Yosemite 10.10.3 през април 2015 г. Поддръжката за NVMe в Linux беше пусната във версия на ядрото 3.3 през март 2012 г. Тази поддръжка беше добавена към Chrome OS през февруари 2015 г.

Поддръжка за NVM Express съществува и в OpenBSD 6.0, NetBSD-current, FreeBSD 10.2, DragonFly BSD 4.6, както и Oracle Solaris 11.2 и OpenSolaris fork illumos. VMware поддържа NVMe от vSphere 6.0. Естествено, последователните версии на тези продукти (Windows 10, OS X 10.4 Mojave и др.) запазват поддръжката на NVM Express.

Как да се сдобием с NVMe SSD?

Потребителите на сравнително модерни компютри могат да използват NVMe SSD. Вече много доставчици предлагат компютри с интегрирани NVMe устройства. Apple прие NVMe SSD дискове още с Retina MacBook през 2015 г.. NVMe има и в MacBook Pro с Touch Bar през 2016 г., както и в повечето конфигурации на Retina iMac от средата на 2017 г. и всички конфигурации на iMac Pro 2017 г.

Що се отнася до персоналните компютри, по-новите дънни платки често имат специални M.2 слотове за свързване на SSD. За по-новите дънни платки, които не разполагат с тези съединители, се предлагат адаптерни карти, които позволяват M.2 устройствата да се свързват чрез съществуващите слотове PCI Express. Някои производители на устройства предлагат тези конектори в комплект със SSD дискове, въпреки че обикновено се предлагат евтини общи решения, които работят с устройства от всички производители.

Познатият ефект на фунията

От умерено значение за производителността на устройствата NVM Express са ревизията и броя на наличните ленти чрез PCI Express. PCI Express 2.0 поддържа 500 MB / s на лента, докато PCI Express 3.0 поддържа ~ 985 MB / s на лента. По-старите компютри с PCI Express 2.0 могат да използват NVMe SSD. Повечето NVMe SSD използват интерфейс с четири ленти (x4), ограничавайки задвижванията до теоретичен пик от 2000 MB / sec, въпреки че на практика стойностите са с 10-15% по-ниски. В този случай постигането на изброените в спецификацията скорости на четене от 3400 MB / s на по-старо устройство WDS100T2X0C не би било възможно.

Сроден проблем е забележим в серията бизнес ориентирани ноутбуци ThinkPad на Lenovo. За някои от най-новите ThinkPad-и, които използват процесори от 8-мо поколение Intel (Kaby Lake Refresh), системните платки отделят две PCIe 3.0 ленти за SSD, въпреки че самите SSD (в случая Samsung PM981) са проектирани за x4 интерфейс. Samsung оценява дисковете за скорост на четене / запис 3200 MB / s и 2400 MB / s, но еталон, направен в ревю на ThinkPad P52s от NotebookCheck, записа скоростите съответно като 1777 MB / s и 1722 MB / s. Този недостатък в дизайна може да се намери в E480, L480, T580 и T480, докато X280, T480s, X380 Yoga и X1 Carbon G6 правилно разпределят x4 интерфейс към SSD.

Коментирайте чрез Facebook

Мнения, критики, неточности - пишете ни, не ни жалете!

За Атанас Георгиев

Казано накратко, юрист с интереси в областта на биологията и технологиите.