SSD Instance Store Volumes
The following instances support instance store volumes that use solid state drives (SSD) to deliver very high random I/O performance: C3, G2, HI1, I2, I3, M3, R3, and X1. For more information about the instance store volumes support by each instance type, see Instance Store Volumes.
Like other instance store volumes, you must map the SSD instance store volumes for your instance when you launch it, and the data on an SSD instance volume persists only for the life of its associated instance. For more information, see Add Instance Store Volumes to Your EC2 Instance.
NVMe SSD Volumes
I3 instances offer non-volatile memory express (NVMe) SSD instance store volumes. To access the NVMe volumes, you must use an operating system that supports NVMe. The following are the minimum operating system requirements:
The current Amazon Linux AMI
Ubuntu version 16.10, or version 16.04 LTS. Note that version 14.04 has an older version of NVMe that we do not recommend.
Red Hat Enterprise Linux versions 6.5
CentOS version 7
SUSE Linux Enterprise Server version 12, or version 11 with SP3
Windows Server 2016, Windows Server 2012 R2, or Windows Server 2008 R2. Note that Windows Server 2012 and Windows Server 2008 are not supported.
After you connect to your instance, you can verify that you see the NVMe volumes in Disk Manager. On Windows Server 2016 or Windows Server 2012 R2, on the taskbar, open the context (right-click) menu for the Windows logo and choose Disk Management. On Windows Server 2008 R2, choose Start, Administrative Tools, Computer Management, Disk Management.
If you are using a supported version of Windows Server but you do not see the NVMe devices, verify that the NVMe storage controllers are operational using Device Manager. Expand Storage controllers and look for Standard NVM Express Controller.
Instance Store Volume TRIM Support
The following instances support SSD volumes with TRIM: I2, I3, and R3.
Instances running Windows Server 2012 R2 support TRIM as of AWS PV Driver version 7.3.0. Instances running earlier versions of Windows Server do not support TRIM.
With instance store volumes that support TRIM, you can use the TRIM command to notify the SSD controller when you no longer need data that you've written. This provides the controller with more free space, which can reduce write amplification and increase performance. For more information about using TRIM commands, see the documentation for the operating system for your instance.
Instance store volumes that support TRIM are fully trimmed before they are
allocated to your instance. These volumes are not formatted with a file system when an
instance launches, so you must format them before they can be mounted and used. For faster
access to these volumes, you should specify the file system-specific option that skips the
TRIM operation when you format them. On Linux, you should also add the
discard option to your mount command or
entries for the devices that support TRIM so that they use this feature effectively.
On Windows, use the following command:
fsutil behavior set DisableDeleteNotify 1.
HI1 SSD Storage
With SSD storage on HI1 instances:
The primary data source is an instance store with SSD storage.
Read performance is consistent and write performance can vary.
Write amplification can occur.
The TRIM command is not currently supported.
Instance Store with SSD Storage
hi1.4xlarge instances use an Amazon EBS-backed root device. However,
their primary data storage is provided by the SSD volumes in the instance store. Like
other instance store volumes, these instance store volumes persist only for the life of
the instance. Because the root device of the
hi1.4xlarge instance is
Amazon EBS-backed, you can still start and stop your instance. When you stop an instance,
your application persists, but your production data in the instance store does not
persist. For more information about instance store volumes, see Amazon EC2 Instance Store.
Variable Write Performance
Write performance depends on how your applications utilize logical block addressing (LBA) space. If your applications use the total LBA space, write performance can degrade by about 90 percent. Benchmark your applications and monitor the queue length (the number of pending I/O requests for a volume) and I/O size.
Write amplification refers to an undesirable condition associated with flash memory
and SSDs, where the actual amount of physical information written is a multiple of the logical
amount intended to be written. Because flash memory must be erased before it can be rewritten,
the process to perform these operations results in moving (or rewriting) user data and
metadata more than once. This multiplying effect increases the number of writes required over
the life of the SSD, which shortens the time that it can reliably operate. The
are designed with a provisioning model intended to minimize write amplification.
Random writes have a much more severe impact on write amplification than serial writes. If you are concerned about write amplification, allocate less than the full tebibyte of storage for your application (also known as over provisioning).
The TRIM Command
The TRIM command enables the operating system to notify an SSD that blocks of previously saved data are considered no longer in use. TRIM limits the impact of write amplification.
TRIM support is not available for HI1 instances. For information about instances that support TRIM, see Instance Store Volume TRIM Support.