System information
Chapter 21. Solid-State Disk Deployment Guidelines
Solid-state disks (SSD ) are storage devices that use NAND flash chips to persistently store data. This
sets them apart from previous generations of disks, which store data in rotating, magnetic platters. In
an SSD, the access time for data across the full Logical Block Address (LBA) range is constant;
whereas with older disks that use rotating media, access patterns that span large address ranges
incur seek costs. As such, SSD devices have better latency and throughput.
Performance degrades as the number of used blocks approaches the disk capacity. The degree of
performance impact varies greatly by vendor. However, all devices experience some degradation.
To address the degradation issue, the host system (for example, the Linux kernel) may use discard
requests to inform the storage that a given range of blocks is no longer in use. An SSD can use this
information to free up space internally, using the free blocks for wear-leveling. Discards will only be
issued if the storage advertises support in terms of its storage protocol (be it ATA or SCSI). Discard
requests are issued to the storage using the negotiated discard command specific to the storage
protocol (T R IM command for ATA, and WR IT E SAME with UNMAP set, or UNMAP command for SCSI).
Enabling d i scard support is most useful when there is available free space on the file system, but
the file system has already written to most logical blocks on the underlying storage device. For more
information about T R IM, refer to its Data Set Management T13 Specifications from the following link:
http://t13.org/Documents/UploadedD ocuments/docs2008/e07154r6-
Data_Set_Management_Proposal_for_ATA-ACS2.doc
For more information about UNMAP , refer to section 4.7.3.4 of the SCSI Block Commands 3 T10
Specification from the following link:
http://www.t10.org/cgi-bin/ac.pl?t=f&f=sbc3r26.pdf
Note
Not all solid-state devices in the market have d i scard support. To determine if your solid-
state device has d i scard support check for
/sys/bl o ck/sd a/q ueue/d i scard _g ranul ari ty.
21.1. Deployment Considerat ions
Because of the internal layout and operation of SSDs, it is best to partition devices on an internal
erase block boundary. Partitioning utilities in Red Hat Enterprise Linux 6 chooses sane defaults if the
SSD exports topology information.
However, if the device does not export topology information, Red Hat recommends that the first
partition be created at a 1MB boundary.
In addition, keep in mind that MD (software raid) does not support discards. In contrast, the logical
volume manager (LVM) and the device-mapper (D M) targets that LVM uses do support discards. The
only DM targets that do not support discards are dm-snapshot, dm-crypt, and dm-raid45. Discard
support for the dm-mirror was added in Red Hat Enterprise Linux 6.1.
Red Hat also warns that software RAID levels 1, 4, 5, and 6 are not recommended for use on SSD s.
During the initialization stage of these RAID levels, some RAID management utilities (such as md ad m)
write to all of the blocks on the storage device to ensure that checksums operate properly. This will
cause the performance of the SSD to degrade quickly.
Chapt er 2 1 . Solid- St at e Disk Deployment G uidelines
153