AHCI and NVMe as Interfaces for SATA Express Devices - Overview



Similar documents
SATA Express. PCIe Client Storage. Paul Wassenberg, SATA-IO

The Transition to PCI Express* for Client SSDs

White Paper: M.2 SSDs: Aligned for Speed. Comparing SSD form factors, interfaces, and software support

Enterprise SSD Interface Comparisons

Solid State Drive Architecture

QuickSpecs. PCIe Solid State Drives for HP Workstations

PCI Express SATA III RAID Controller Card with Mini-SAS Connector (SFF-8087) - HyperDuo SSD Tiering

4 Port PCI Express 2.0 SATA III 6Gbps RAID Controller Card with HyperDuo SSD Tiering

Emerging storage and HPC technologies to accelerate big data analytics Jerome Gaysse JG Consulting

NVM Express TM Infrastructure - Exploring Data Center PCIe Topologies

A Comparison of NVMe and AHCI

OCZ s NVMe SSDs provide Lower Latency and Faster, more Consistent Performance

The Evolution of Solid State Storage in Enterprise Servers

3 Port PCI Express 2.0 SATA III 6 Gbps RAID Controller Card w/ msata Slot and HyperDuo SSD Tiering

PCI Express 2.0 SATA III RAID Controller Card with Internal Mini-SAS SFF-8087 Connector

Scaling from Datacenter to Client

2 Port PCI Express 2.0 SATA III 6Gbps RAID Controller Card w/ 2 msata Slots and HyperDuo SSD Tiering

SATA Evolves SATA Specification v3.2 FMS 2013

PCI Express Impact on Storage Architectures. Ron Emerick, Sun Microsystems

Performance Beyond PCI Express: Moving Storage to The Memory Bus A Technical Whitepaper

PCIe SSD 101. An Overview of Standards, Markets and Performance. Members of the SNIA Solid State Storage Initiative PCIe SSD Committee

How To Test Nvm Express On A Microsoft I7-3770S (I7) And I7 (I5) Ios 2 (I3) (I2) (Sas) (X86) (Amd)

Transitioning to 6Gb/s SAS (Serial-Attached SCSI) A Dell White Paper

Taking Linux File and Storage Systems into the Future. Ric Wheeler Director Kernel File and Storage Team Red Hat, Incorporated

Host Memory Buffer (HMB) based SSD System. Forum J-31: PCIe/NVMe Storage Jeroen Dorgelo Mike Chaowei Chen

BCDVideo TM offers HP's full portfolio of SAS drives meeting all these demands.

Accelerating Real Time Big Data Applications. PRESENTATION TITLE GOES HERE Bob Hansen

Intel DPDK Boosts Server Appliance Performance White Paper

enabling Ultra-High Bandwidth Scalable SSDs with HLnand

Storage Architectures. Ron Emerick, Oracle Corporation

Solid State Storage in Massive Data Environments Erik Eyberg

4 Channel 6-Port SATA 6Gb/s PCIe RAID Host Card

PCI Express Impact on Storage Architectures and Future Data Centers. Ron Emerick, Oracle Corporation

Chapter Introduction. Storage and Other I/O Topics. p. 570( 頁 585) Fig I/O devices can be characterized by. I/O bus connections

A Close Look at PCI Express SSDs. Shirish Jamthe Director of System Engineering Virident Systems, Inc. August 2011

PCI Express and Storage. Ron Emerick, Sun Microsystems

A+ Guide to Managing and Maintaining Your PC, 7e. Chapter 1 Introducing Hardware

EDUCATION. PCI Express, InfiniBand and Storage Ron Emerick, Sun Microsystems Paul Millard, Xyratex Corporation

Memory Channel Storage ( M C S ) Demystified. Jerome McFarland

Direct Scale-out Flash Storage: Data Path Evolution for the Flash Storage Era

Architecture Enterprise Storage Performance: It s All About The Interface.

PCIe SATA 6G Raid Card

SCSI Standards and Technology Update: SAS and SCSI Express

HP Z Turbo Drive PCIe SSD

SATA 6G PCIe Card User Manual Model: UGT-ST622

Serial ATA technology

I/O Virtualization Using Mellanox InfiniBand And Channel I/O Virtualization (CIOV) Technology

Choosing and Architecting Storage for Your Environment. Lucas Nguyen Technical Alliance Manager Mike DiPetrillo Specialist Systems Engineer

Accelerating I/O- Intensive Applications in IT Infrastructure with Innodisk FlexiArray Flash Appliance. Alex Ho, Product Manager Innodisk Corporation

VTrak SATA RAID Storage System

Benefits of Solid-State Storage

The Bus (PCI and PCI-Express)

Couchbase Server: Accelerating Database Workloads with NVM Express*

Windows 8 SMB 2.2 File Sharing Performance

SNIA SSSI PCIe SSD Committee

PCI Express IO Virtualization Overview

Flash for Databases. September 22, 2015 Peter Zaitsev Percona

HP Smart Array Controllers and basic RAID performance factors

Input/output (I/O) I/O devices. Performance aspects. CS/COE1541: Intro. to Computer Architecture. Input/output subsystem.

Server Forum Copyright 2014 Micron Technology, Inc

QuickSpecs. What's New Dual Port SFF 10K and 15K SAS drives Dual Port 3.5" 15K SAS drives. HP SAS Drives (Servers) Overview

PCI Express Impact on Storage Architectures and Future Data Centers

NVM Express : Unlock the Potential

Embedded Operating Systems in a Point of Sale Environment. White Paper

Intel PCI and PCI Express*

SQL Server 2014 Optimization with Intel SSDs

StorageBox High Performance NVMe JBOF

Using Multipathing Technology to Achieve a High Availability Solution

Configuration Maximums VMware Infrastructure 3

EC2-2 Port esata Card Quickstart

How System Settings Impact PCIe SSD Performance

DELL SOLID STATE DISK (SSD) DRIVES

How to build a high speed PCI Express bus expansion system using the Max Express product family 1

PCI Express Impact on Storage Architectures and Future Data Centers. Ron Emerick, Oracle Corporation

White Paper June Gb/s SAS: Key Considerations For Your Next Storage Generation

Serial ATA and Serial Attached SCSI technologies

IDE/ATA Interface. Objectives. IDE Interface. IDE Interface

Flash 101. Violin Memory Switzerland. Violin Memory Inc. Proprietary 1

Performance Analysis of Remote Desktop Virtualization based on Hyper-V versus Remote Desktop Services

PCI Express Supersedes SAS and SATA in Storage

Solid State Storage in a Hard Disk Package. Brian McKean, LSI Corporation

Intel Solid- State Drive Data Center P3700 Series NVMe Hybrid Storage Performance

NVMe SSD User Installation Guide

This user guide describes features that are common to most models. Some features may not be available on your computer.

File System & Device Drive. Overview of Mass Storage Structure. Moving head Disk Mechanism. HDD Pictures 11/13/2014. CS341: Operating System

Methods to achieve low latency and consistent performance

DIABLO TECHNOLOGIES MEMORY CHANNEL STORAGE AND VMWARE VIRTUAL SAN : VDI ACCELERATION

CHAPTER 2. Existing Server Environment Analysis with Capacity Planner

PCI Express Basics Ravi Budruk Senior Staff Engineer and Partner MindShare, Inc.

How To Build A Cloud Computing Datacenter

PCI Express SATA / esata 6Gb/s RAID Card User Manual

Transcription:

AHCI and NVMe as Interfaces for SATA Express Devices - Overview By Dave Landsman, SanDisk Page 1

Table of Contents 1 Introduction... 3 2 SATA Express Interface Architecture... 4 3 NVMe And AHCI Comparison... 5 4 Driver Availability... 6 5 Summary... 6 6 References... 7 Page 2

1 Introduction The Serial ATA (SATA ) storage interface has evolved almost unrecognizably from its beginnings as IDE/ATA (Parallel ATA - PATA) in the late 1980 s. SATA is now the most widely used hard disk drive (HDD) interface in the global storage market. SATA has held up incredibly well to the performance demands of HDDs; however, in 2009-2010, solid state drives (SSDs) began to outstrip the capabilities of even 3 rd generation SATA, with its 6Gb/s bandwidth. It was considered impractical to take the SATA interface above 6Gb/s, and so the client storage market needed a way forward to accommodate the huge base of legacy SATA devices, the still vibrant market for new SATA devices, including SATA-based SSDs, as well as to incorporate new classes of very high performance devices, such as PCI Express (PCIe)-based SSDs. SATA Express was created by SATA-IO in 2011 to enable a path beyond SATA 6Gb (see Why SATA Express ) for PCIe-based client SSD s. The hardware model of SATA Express is that a host can accept a legacy SATA device, or a SATA Express (PCIe) device, per figure 1. Figure 1 SATA Express HW System Overview While the SATA Express hardware model enables SATA and PCIe devices to be used in the same platform electro-mechanical environment, there is also the issue of the logical device interface. There are two standards-based choices for SATA Express Page 3

device interface, the Advanced Host Controller Interface (AHCI) or NVM Express (NVMe). This paper describes this aspect of the SATA Express vision. 2 SATA Express Interface Architecture Figure 2 describes the SATA Express software architecture and how SATA legacy, SATA Express/AHCI, and SATA Express/NVMe relate to one another. Figure 2 SATA Express High Level Architecture In a legacy SATA implementation (left side of figure) the AHCI interface is implemented as a Host Bus Adapter (HBA), and often built into the host chip set. In this case, applications talk to the host side of the AHCI HBA via PCIe or an internal system bus. The device side of the HBA connects to the SATA device over the legacy SATA Link and PHY channel. In a SATA Express case (right side of figure) two standard device interface options are possible, AHCI and NVMe. In both cases, the SATA Express device appears to the system as an attached PCIe device through the host s PCIe Root Complex Port. The Page 4

difference is mainly in the device driver and, of course, the device controller in the device itself. In path (2) the PCIe endpoint, the SSD, appears to the system as an AHCI device and is accessed through the AHCI/SATA storage device stack, supported in nearly all client platforms by a standard in-box device driver. In path (3), the endpoint is accessed through the NVMe driver. Note that in the case of NVMe, an NVMe driver must be installed on the system with the device (see Driver Availability). 3 NVMe and AHCI Comparison While SATA Express/AHCI has the benefit of legacy software compatibility, the AHCI interface does not deliver optimal performance when talking to a PCIe SSD. This is because AHCI was developed at a time when the purpose of the HBA in a system was to connect the CPU/Memory subsystem with the much slower rotating media-based storage subsystem. Such an interface has some inherent inefficiency when applied to SSD devices, which behave much more like DRAM than spinning media. NVMe has been designed from the ground up to exploit the low latency of today s PCIebased SSD s, and the parallelism of today s CPU s, platforms, and applications. It is expected that individual applications and the overall system will see an immediate performance boost on NVMe-based systems vs. AHCI-based systems, though, as of this writing, it is still early in the NVMe life cycle and performance data will become available over time. Moreover, there are advanced features in the NVMe specification which may not be fully exposed to applications in early implementations. These should add further application and system performance improvement over AHCI as they become main-stream. At a high level, the basic advantages of NVMe over AHCI relate to the ability to exploit parallelism in host hardware and software, manifested by differences in depth of command queues, interrupt processing, the number of un-cacheable register accesses, etc. The table below summarizes the high level differences between the basic NVMe and AHCI device interfaces, which are expected to bring immediate performance increases. For more in-depth information about NVMe and AHCI, see the References at the end of this paper. Page 5

Maximum Queue Depth Un-cacheable register accesses (2K cycles each) MXI-X and Interrupt Steering Parallelism & Multiple Threads Efficiency for 4KB Commands AHCI 1 command queue 32 commands per Q 6 per non-queued command 9 per queued command Single interrupt; no steering Requires synchronization lock to issue command Command parameters require two serialized host DRAM fetches NVMe 64K queues 64K Commands per Q 2 per command 2K MSI-X interrupts No locking Command parameters in one 64B fetch 4 Driver Availability In today s client SATA platforms, the vast majority of which are Windows based systems, the SATA software stack ships with Windows; thus, the SATA Express/AHCI solution, which utilizes legacy drivers and software, just works out of the box. NVMe was first defined in 2007, as the Non-volatile Host Controller Interface (NVMHCI), and while the specification is mature, the ecosystem is still evolving and in-box Windows drivers are not yet available. However, standard Windows NVMe drivers are available at https://www.openfabrics.org/resources/developer-tools/nvme-windowsdevelopment.html, and vendors will ship drivers with their devices until/if NVMe is supported natively in Windows. Linux and VMware NVMe drivers are also available. Moreover, the University of New Hampshire Interoperability Laboratory recently added an NVMe compatibility program to begin testing devices and software for NVMe plug and play (see https://www.iol.unh.edu/services/testing/nvme/). 5 Summary The SATA/AHCI interface evolved to address the needs of high performance HDD devices and has served this use case ably, enabling SATA devices to be used ubiquitously from laptops to servers. The parallelism built into AHCI, while not fully enabling the parallelism available in today s host platforms, is more than sufficient for Page 6

the relatively slower SATA devices it is intended to serve. SATA/AHCI is even sufficient for 1 st generation SSD devices, especially in relatively lower end mobile platforms such as tablets and ultra-lite laptops. However, in recognition of the evolution of storage requirements, and due to the technical challenges involved in taking the SATA PHY from its current maximum of 6Gb/s to 12Gb/s, SATA-IO chose to adopt PCIe, with its 8GT/s link, and capability of multi-lane implementations, as the physical interface for client storage. SATA Express hosts may accommodate both legacy SATA and SATA Express devices based on standard connectors now being defined, but even with electromechanical interoperation, there remains a choice of logical device interface. Device vendors may implement AHCI or NVMe device interfaces for SATA Express. Both AHCI and NVMe bring advantages and costs. AHCI brings compatibility, with attendant performance inefficiencies due to legacy architecture. NVMe brings higher performance at the near term cost of in-box driver compatibility. Together, the two device interfaces enable options for SATA Express devices that provide a path from the legacy SATA environment to a PCIe based solution. 6 References 1) Why SATA Express (/technology/sataexpress.asp) 2) NVMe and AHCI A Technical Overview (www.sataio.org/technology/sataexpress.asp) 3) Serial ATA Revision 3.1 () 4) Serial ATA Advanced Host Controller Interface (AHCI) 1.3 (www.intel.com/content/www/us/en/io/serial-ata/ahci.html) 5) PCI Express Base Specification Revision 3.0 (www.pcisig.com) 6) NVM Express Revision 1.0c (www.nvmexpress.org) Page 7