NVMe срещу AHCI: Друга победа за PCIe

Дънна платка

Подобряването на производителността не се отнася само за хардуера. По-бързия хардуер може само да помогне за достигане границите на софтуера и в крайна сметка е необходим по-ефективен софтуер, за да се възползвате от по-бързия хардуер. Това се отнася до SSD. С PCIe потенциалната пропускателна способност нараства драматично и физическия интерфейс е по-бърз, който е оптимизиран за SSD и PCIe.

AHCI (Advanced Host Controller Interface) датира от 2004г. и е проектиран за твърди дискове (HDD). AHCI е по-оптимизиран за въртящи се средства с висока латентност, отколкото за енергонезависима памет с ниска латентност. В резултат AHCI не могат да се възползват напълно от SSD и тъй като бъдещето е в енергозависимото съхранение (като NAND и MRAM), индустрията трябваше да разработи софтуерен интерфейс, който да премахне ограниченията на AHCI.

Резултатът е NVMe (Non-Volative Memory Express), съкратено от енергонезависима памет. Тя е разработена от консорциум с над 80 члена и развитието е проведено под ръководството на Intel, Samsung и LSI. NVMe е създаден специално за SSD и PCIe и като софтуерни интерфейси обикновено експлоатационния им период е най-малко 10 години, преди да бъдат заменени. NVMe е проектиран да отговори на нуждите на индустрията, тъй като се движим към прогрес в технологиите за памет (най-вероятно ще видим RRAM и MRAM въведени на пазара преди 2020г.).

NVMe AHCI
Latency 2.8 µs 6.0 µs
Maximum Queue Depth Up to 64K queues with
64K commands each
Up to 1 queue with
32 commands each
Multicore Support Yes Limited
4KB Efficiency One 64B fetch Two serialized host
DRAM fetches required

Най-голямото предимство на NVMe е по-ниската латентност. Това най-вече се дължи на модернизацията на масивите за съхранение и факта, че NVMe изискванията не регистрират прочита за издаване на команди. AHCI изискват четири нескрити регистъра на прочит за команда, което води до  ̴2.5μs на допълнителна латентност.

Linux Storage Stack

Друго важно подобрение е поддръжката на множество изчаквания и по-висока дълбочина на изчакванията. Множеството изчаквания гарантират, че процесора може да използва пълния си потенциал, и че IOPS не е заработило с едно ограничено ядро.

Windows Stack Performance

Очевидно предприемчивостта е най-големия бенефициент на NVMe, защото натоварванията са много по-тежки и SATA/AHCI не може да осигури необходимата производителност. Въпреки това, пазара е облагодетелстван от NVMe, но не толкова много. Благодарение на ниската латентност, времето на използване на диска ще намалее (по този начин се увеличава живота на батерията). Може да има и случаи, когато по-добрата поддръжка на изчакванията помага с производителността.

App към SSD IO латентност

С бъдещите технологии за енергонезависими памети и NVMe общата латентност може да бъде намалена до една пета от текущата  ̴100μs латентността и е подобрение, което ще се забележи в ежедневната употреба от потребителите.

Реклами