This question comes up often when we’re working with SAS customers to configure their underlying storage arrays: “When is solid-state storage appropriate for SAS applications?” Solid-state drives, or SSDs, are the latest and greatest thing in storage today because they boast extremely fast performance. In this post, I’ll outline how SAS installations can use solid-state storage devices to their best advantage.
Solid-state drives (either flash-based I/O cards or HDD form factors) utilize persistent flash memory, yielding much faster read and write rates than traditional spinning drives. However, they do have limitations:
- The write life of this type of storage is limited. Their cells can wear out over time, slowly yielding the drive inoperable.
- In addition, the storage must perform “garbage collection”, or freeing space needed on a cell-block level to write large sequential blocks of storage. This garbage collection often takes places at the time of the write-commit, causing sequential writes to be slower than sequential reads and considerably slower than random reads and writes.
- In many SSD drives, garbage collection activities may grow even slower over time as the drive fills up and writable cell space becomes harder to find.
Many of the newer models of I/O cards and SSD form-factor drives have improved recently on these issues, but SSDs continue to show more wear-and-tear when writing rather than reading data. However, this type of storage is ideal for applications that write once and read often, such as accessing data bases or data marts used by SAS customers (written once, and consumed many times by end-users).
As a result, solid-state storage may not be optimal for SAS data that are manipulated frequently or stored temporarily for subsequent processing. The nature of many SAS jobs is to make heavy use of SAS WORK (temporary space) while manipulating the raw data into the format needed for analysis or reporting. This SAS I/O is very write/read/delete intensive.
When using SSDs for SAS applications, you should closely monitor your storage media if it is used by SAS WORK to ensure that it:
- supports an acceptable level of performance with writing large blocks of data
- maintains performance levels as the drives are used more often and populated more fully.
In summary, solid-state storage can be very beneficial for SAS software performance. The primary considerations have been the write-life of the cell media and the effect of garbage collection on large sequential write performance. Both seem to be improving. Our current experience is to use solid-state storage primarily for storing permanent SAS datasets that are read frequently but written infrequently.
Other resources:
5 Comments
Hi Margaret,
Is this blog post still accurate? There are some posts on the SAS Communities forums recommending SSD for WORK. I always trust your knowledge over anyone else, but knowing this post is a couple years old and things can change, I wanted to get an update.
Thanks!
Michelle
Michelle,
A lot has changed since this post from two years ago. SAS loves SSD drives that have been designed for lots of writes and deletes; not just write once and read many, many times. There is a paper from SAS Global Forum 2015 http://support.sas.com/resources/papers/proceedings15/SAS1500-2015.pdf that has a section on FLASH storage.
In addition, this SAS Usage note 53874 http://support.sas.com/kb/53/874.html lists several papers on FLASH and SSD storage that SAS has tested. These papers include any tuning guidelines required to get optimal IO throughput for SAS.
Thanks for the inquiry
Grazie!
Good article. Do FUSION-IO Drives fit into this same disadvantages of SSDs if running them on SASWORK and UTIL instead of permanent Libraries?
Yes, Fusion I/O cards still fit into the slow-write and garbage collection paradigm as the form factor drives. Internals are slightly different, but basically the same recommendations apply. We are looking to do some extensive testing with them later this year and will be able to make more detailed comments then.
Other "gotchas" for the internal-to-the-chassis based cards are backup (have to use server resources to accomplish), and localization (anyone besides this server has to access this server via TCP to get to them, and use the resources on this box (cpu/memory) to access).